- Oct 10, 2007
-
-
Dale Johannesen authored
Surprisingly complicated. Adds getTargetNode for 2 outputs, no inputs (missing). llvm-svn: 42822
-
- Aug 25, 2007
-
-
Chris Lattner authored
changing the interface to allow for future changes. llvm-svn: 41384
-
- Aug 02, 2007
-
-
Dan Gohman authored
llvm-svn: 40757
-
- Jul 30, 2007
-
-
Evan Cheng authored
llvm-svn: 40586
-
- Jun 22, 2007
-
-
Dan Gohman authored
TargetLowering to SelectionDAG so that they have more convenient access to the current DAG, in preparation for the ValueType routines being changed from standalone functions to members of SelectionDAG for the pre-legalize vector type changes. llvm-svn: 37704
-
- Apr 03, 2007
-
-
Nicolas Geoffray authored
LowerVASTART emits the right code if the subtarget is ELF32, the other intrinsics (VAARG, VACOPY and VAEND) are not yet implemented. llvm-svn: 35625
-
- Mar 31, 2007
-
-
Chris Lattner authored
llvm-svn: 35521
-
- Mar 25, 2007
-
-
Chris Lattner authored
not just the first letter. No functionality change. llvm-svn: 35322
-
- Mar 13, 2007
-
-
Evan Cheng authored
More flexible TargetLowering LSR hooks for testing whether an immediate is a legal target address immediate or scale. llvm-svn: 35074
-
- Mar 01, 2007
-
-
Nicolas Geoffray authored
llvm-svn: 34787
-
- Feb 27, 2007
-
-
Nicolas Geoffray authored
llvm-svn: 34667
-
- Feb 25, 2007
-
-
Chris Lattner authored
Nicolas Geoffray! llvm-svn: 34574
-
- Jan 26, 2007
-
-
Nate Begeman authored
llvm-svn: 33556
-
- Nov 16, 2006
-
-
Jim Laskey authored
This is a general clean up of the PowerPC ABI. Address several problems and bugs including making sure that the TOS links back to the previous frame, that the maximum call frame size is not included twice when using frame pointers, no longer growing the frame on calls, double storing of SP and a cleaner/faster dynamic alloca. llvm-svn: 31792
-
- Nov 09, 2006
-
-
Evan Cheng authored
llvm-svn: 31595
-
- Nov 08, 2006
-
-
Chris Lattner authored
class, where it can be used for preinc formation. llvm-svn: 31536
-
- Nov 02, 2006
-
-
Chris Lattner authored
sdisel changes, this eliminates a ton of copies around common inline asms. For example: int test2(int Y, int X) { asm("foo %0, %1" : "=r"(X): "r"(X)); return X; } now compiles to: _test2: foo r3, r4 blr instead of: _test2: mr r2, r4 foo r2, r2 mr r3, r2 blr GCC produces: _test2: foo r4, r4 mr r3,r4 blr llvm-svn: 31367
-
- Oct 31, 2006
-
-
Chris Lattner authored
llvm-svn: 31318
-
- Aug 28, 2006
-
-
Reid Spencer authored
Close out this long standing bug by removing the remaining overloaded virtual functions in LLVM. The -Woverloaded-virtual option is now turned on. llvm-svn: 29934
-
- Jul 10, 2006
-
-
Chris Lattner authored
into i16/i32 load/stores. llvm-svn: 29089
-
- May 17, 2006
-
-
Chris Lattner authored
enough to be autogenerated. llvm-svn: 28354
-
Chris Lattner authored
ISD::CALL node, then custom lower that. This means that we only have to handle LEGAL call operands/results, not every possible type. This allows us to simplify the call code, shrinking it by about 1/3. llvm-svn: 28339
-
- May 16, 2006
-
-
Chris Lattner authored
handling. This makes the lower argument code significantly simpler (we only need to handle legal argument types). Incidentally, this also implements support for vector argument registers, so long as they are not on the stack. llvm-svn: 28331
-
- Apr 18, 2006
-
-
Chris Lattner authored
If an altivec predicate compare is used immediately by a branch, don't use a (serializing) MFCR instruction to read the CR6 register, which requires a compare to get it back to CR's. Instead, just branch on CR6 directly. :) For example, for: void foo2(vector float *A, vector float *B) { if (!vec_any_eq(*A, *B)) *B = (vector float){0,0,0,0}; } We now generate: _foo2: mfspr r2, 256 oris r5, r2, 12288 mtspr 256, r5 lvx v2, 0, r4 lvx v3, 0, r3 vcmpeqfp. v2, v3, v2 bne cr6, LBB1_2 ; UnifiedReturnBlock LBB1_1: ; cond_true vxor v2, v2, v2 stvx v2, 0, r4 mtspr 256, r2 blr LBB1_2: ; UnifiedReturnBlock mtspr 256, r2 blr instead of: _foo2: mfspr r2, 256 oris r5, r2, 12288 mtspr 256, r5 lvx v2, 0, r4 lvx v3, 0, r3 vcmpeqfp. v2, v3, v2 mfcr r3, 2 rlwinm r3, r3, 27, 31, 31 cmpwi cr0, r3, 0 beq cr0, LBB1_2 ; UnifiedReturnBlock LBB1_1: ; cond_true vxor v2, v2, v2 stvx v2, 0, r4 mtspr 256, r2 blr LBB1_2: ; UnifiedReturnBlock mtspr 256, r2 blr This implements CodeGen/PowerPC/vec_br_cmp.ll. llvm-svn: 27804
-
- Apr 12, 2006
-
-
Chris Lattner authored
Canonicalize BUILD_VECTOR's that match VSPLTI's into a single type for each form, eliminating a bunch of Pat patterns in the .td file and allowing us to CSE stuff more aggressively. This implements PowerPC/buildvec_canonicalize.ll:VSPLTI llvm-svn: 27614
-
- Apr 08, 2006
-
-
Chris Lattner authored
No functionality changes. llvm-svn: 27536
-
- Apr 07, 2006
-
-
Chris Lattner authored
Convert vsldoi(x,x) to work the same way other (x,x) cases work. llvm-svn: 27467
-
Chris Lattner authored
llvm-svn: 27463
-
- Apr 06, 2006
-
-
Chris Lattner authored
llvm-svn: 27457
-
Chris Lattner authored
lower it and LLVM to have one fewer intrinsic. This implements CodeGen/PowerPC/vec_shuffle.ll llvm-svn: 27450
-
Chris Lattner authored
vperm with a perm mask lvx'd from the constant pool. llvm-svn: 27448
-
- Apr 04, 2006
-
-
Chris Lattner authored
handle all 4 PPC vector types. This simplifies the matching code and allows us to eliminate a bunch of patterns. This also adds cases we were missing, such as CodeGen/PowerPC/vec_splat.ll:splat_h. llvm-svn: 27400
-
- Apr 02, 2006
-
-
Chris Lattner authored
llvm-svn: 27359
-
- Mar 31, 2006
-
-
Chris Lattner authored
predicates to VCMPo nodes. llvm-svn: 27285
-
- Mar 28, 2006
-
-
Chris Lattner authored
same thing and we have a dag node for the former. llvm-svn: 27205
-
- Mar 26, 2006
-
-
Chris Lattner authored
llvm-svn: 27151
-
Evan Cheng authored
llvm-svn: 27149
-
- Mar 25, 2006
-
-
Chris Lattner authored
<int -1, int -1, int -1, int -1> and <int 65537, int 65537, int 65537, int 65537> Using things like: vspltisb v0, -1 and: vspltish v0, 1 instead of using constant pool loads. This implements CodeGen/PowerPC/vec_splat.ll:splat_imm_i{32|16}. llvm-svn: 27106
-
- Mar 24, 2006
-
-
Chris Lattner authored
Regression/CodeGen/PowerPC/vec_zero.ll llvm-svn: 27059
-
- Mar 22, 2006
-
-
Chris Lattner authored
_foo2: extsw r2, r3 std r2, -8(r1) lfd f0, -8(r1) fcfid f0, f0 frsp f1, f0 blr instead of this: _foo2: lis r2, ha16(LCPI2_0) lis r4, 17200 xoris r3, r3, 32768 stw r3, -4(r1) stw r4, -8(r1) lfs f0, lo16(LCPI2_0)(r2) lfd f1, -8(r1) fsub f0, f1, f0 frsp f1, f0 blr This speeds up Misc/pi from 2.44s->2.09s with LLC and from 3.01->2.18s with llcbeta (16.7% and 38.1% respectively). llvm-svn: 26943
-