summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* PPC64 passes arguments of integral type in i64 registers, not i32. Reflect thisBill Wendling2008-03-071-26/+43
| | | | | | | by promoting smaller integral values (i32 at this point) to i64, then truncating to get the wanted size. llvm-svn: 48030
* Add support for lowering 128-bit shifts on ppc64.Dan Gohman2008-03-071-44/+60
| | | | llvm-svn: 48029
* Next bits of PPC byval handling. Basically functionalDale Johannesen2008-03-071-7/+73
| | | | | | but there are bugs. llvm-svn: 48028
* Add support for ppc64 shifts with 7-bit (oversized) shift amount (e.g. PPCshl).Chris Lattner2008-03-072-6/+16
| | | | llvm-svn: 48027
* Replace SDT_PPCShiftOp in favor of SDTIntBinOps. This allows it to workChris Lattner2008-03-071-6/+3
| | | | | | with 32 or 64-bit operands/results. llvm-svn: 48026
* mark frem as expand for all legal fp types on x86, regardless of whetherChris Lattner2008-03-071-3/+2
| | | | | | we're using SSE or not. This fixes PR2122. llvm-svn: 48006
* some more spelling changesGabor Greif2008-03-061-1/+1
| | | | llvm-svn: 47996
* Refine Cell's i64 constant generation code to cover more constants where theScott Michel2008-03-061-7/+28
| | | | | | upper and lower 32-bits are the same (in addition to 0 and -1 previously.) llvm-svn: 47985
* gcc likes things spelled correctlyAndrew Lenharth2008-03-051-1/+1
| | | | llvm-svn: 47981
* Next bit of PPC ByVal handling; call-site code seemsDale Johannesen2008-03-051-3/+11
| | | | | | correct now. llvm-svn: 47978
* - Fix support for "special" i64 immediates that can be loadedScott Michel2008-03-054-647/+361
| | | | | | | | | | | using IL, ILA, et. al. v2i64 and i64 are now supported by the select bits (SELB) instruction. - Add missing comparison operations (testcase forthcoming) - More multiclass refactoring. llvm-svn: 47973
* evan implemented this.Chris Lattner2008-03-051-26/+0
| | | | llvm-svn: 47948
* isTwoAddress = 1 -> Constraints.Evan Cheng2008-03-051-47/+47
| | | | llvm-svn: 47941
* PSLLWri etc. are two-address instructions.Evan Cheng2008-03-051-1/+3
| | | | llvm-svn: 47940
* add a noteChris Lattner2008-03-051-0/+30
| | | | llvm-svn: 47939
* Ignore debugging related instructions if they get this far.Evan Cheng2008-03-051-0/+4
| | | | llvm-svn: 47934
* Rather than asserting. Dump out the MI that we are not able to encode and abort.Evan Cheng2008-03-051-1/+6
| | | | llvm-svn: 47933
* Add a target lowering hook to control whether it's worthwhile to compress fp ↵Evan Cheng2008-03-051-0/+10
| | | | | | | | constant. For x86, if sse2 is available, it's not a good idea since cvtss2sd is slower than a movsd load and it prevents load folding. On x87, it's important to shrink fp constant since fldt is very expensive. llvm-svn: 47931
* 64bit CAS on 32bit x86.Andrew Lenharth2008-03-053-8/+64
| | | | llvm-svn: 47929
* Refactor code. Remove duplicated functions that basically do the same thing asEvan Cheng2008-03-052-22/+9
| | | | | | findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies. llvm-svn: 47927
* Removed spurious EnablePPCRS check.Bill Wendling2008-03-041-4/+3
| | | | llvm-svn: 47918
* Move PPC lowering functions into PPCTargetLoweringDale Johannesen2008-03-042-28/+120
| | | | | | | class (cosmetic). First piece of byval implementation; this doesn't work yet. No functional change. llvm-svn: 47917
* Use a command-line option to turn register scavenging on/off for PPC.Bill Wendling2008-03-042-39/+51
| | | | llvm-svn: 47915
* x86-64 atomicsAndrew Lenharth2008-03-042-2/+35
| | | | llvm-svn: 47903
* 80 column violations.Evan Cheng2008-03-041-3/+6
| | | | llvm-svn: 47878
* Remove -always-fold-and-in-test.Evan Cheng2008-03-042-10/+3
| | | | llvm-svn: 47871
* Add support for lowering i64 SRA_PARTS and friends on x86-64.Dan Gohman2008-03-031-16/+22
| | | | llvm-svn: 47865
* This is the initial check-in for adding register scavenging to PPC. (Currently,Bill Wendling2008-03-035-104/+365
| | | | | | | | | PPC-64 doesn't work.) This also lowers the spilling of the CR registers so that it uses a register other than the default R0 register (the scavenger scrounges for one). A significant part of this patch fixes how kill information is handled. llvm-svn: 47863
* s/isReturnStruct()/hasStructRetAttr()/gDevang Patel2008-03-032-6/+6
| | | | llvm-svn: 47857
* another random noteChris Lattner2008-03-021-0/+23
| | | | llvm-svn: 47831
* add a noteChris Lattner2008-03-021-0/+39
| | | | llvm-svn: 47830
* Evan implemented these.Chris Lattner2008-03-022-53/+0
| | | | llvm-svn: 47828
* Evan implemented this.Chris Lattner2008-03-021-23/+0
| | | | llvm-svn: 47827
* add support for lvsl, fixing PR1481Chris Lattner2008-03-021-0/+9
| | | | llvm-svn: 47825
* add support for the sse.cmp.* intrinsics, which fixes sse.isamax with the CBE.Chris Lattner2008-03-021-1/+39
| | | | llvm-svn: 47824
* refactor intrinsic handling code out into its own method.Chris Lattner2008-03-021-108/+115
| | | | llvm-svn: 47823
* fix printing of undef vectors, this fixes "simple" and "build" in ↵Chris Lattner2008-03-021-1/+6
| | | | | | | | UnitTests/Vector. Now they all pass. llvm-svn: 47820
* insertelement got the wrong operands.Chris Lattner2008-03-021-2/+2
| | | | llvm-svn: 47819
* Several changes:Chris Lattner2008-03-021-82/+109
| | | | | | | | | | * Simplify handling of byval, making it easier to understand and more consistent. This fixes PR2065. * Clean up and simplify handling of GEPs. I can actually understand it now! * Implement support for GEP'ing into vectors, this fixes SingleSource/UnitTests/Vector/build2 among others. llvm-svn: 47818
* Fix a bug I introduced in constant array and constant vector handling.Chris Lattner2008-03-021-2/+2
| | | | llvm-svn: 47816
* implement shufflevector.Chris Lattner2008-03-021-4/+38
| | | | llvm-svn: 47815
* implement extractelement.Chris Lattner2008-03-021-2/+17
| | | | llvm-svn: 47812
* implement insertelement.Chris Lattner2008-03-021-1/+17
| | | | llvm-svn: 47811
* respect isSigned for vector types, fixing sdiv of vectors etc.Chris Lattner2008-03-021-2/+2
| | | | llvm-svn: 47810
* print the attribute in the right place, this fixes function returning vectors.Chris Lattner2008-03-021-2/+2
| | | | llvm-svn: 47809
* vector types are simple types. This fixes div/rem of vectors.Chris Lattner2008-03-021-10/+11
| | | | llvm-svn: 47807
* Print vector types appropriately. This gets basic vector code workingChris Lattner2008-03-021-2/+6
| | | | | | (PR1126) llvm-svn: 47806
* rename PT -> VT for VectorTypes.Chris Lattner2008-03-021-8/+7
| | | | llvm-svn: 47805
* Print i32/i64 integer constants as 1u instead of ((unsigned int)1). Chris Lattner2008-03-021-21/+22
| | | | | | Use dyn_cast better. llvm-svn: 47804
* Move pr717 to here.Chris Lattner2008-03-021-0/+14
| | | | llvm-svn: 47803
OpenPOWER on IntegriCloud