- Mar 21, 2006
-
-
Chris Lattner authored
llvm-svn: 26913
-
- Mar 20, 2006
-
-
Chris Lattner authored
figuring these out! :) llvm-svn: 26904
-
Chris Lattner authored
llvm-svn: 26901
-
Evan Cheng authored
llvm-svn: 26900
-
Chris Lattner authored
constant pool load. This generates significantly nicer code for splats. When tblgen gets bugfixed, we can remove the custom selection code. llvm-svn: 26898
-
Chris Lattner authored
instructions llvm-svn: 26894
-
Chris Lattner authored
llvm-svn: 26889
-
Chris Lattner authored
llvm-svn: 26888
-
Chris Lattner authored
TODO: leave specific ones as VECTOR_SHUFFLE's and turn them into specialized operations like vsplt* llvm-svn: 26887
-
Chris Lattner authored
llvm-svn: 26883
-
- Mar 19, 2006
-
-
Chris Lattner authored
llvm-svn: 26868
-
Chris Lattner authored
llvm-svn: 26863
-
Chris Lattner authored
llvm-svn: 26857
-
Chris Lattner authored
llvm-svn: 26853
-
- Mar 17, 2006
-
-
Nate Begeman authored
cost-modeled as producing a flag. This fixes the test I just added for neg llvm-svn: 26835
-
Nate Begeman authored
Make the PPC backend not dependent on BRTWOWAY_CC and make the branch selector smarter about the code it generates, fixing a case in the readme. llvm-svn: 26814
-
- Mar 16, 2006
-
-
Chris Lattner authored
llvm-svn: 26808
-
Chris Lattner authored
llvm-svn: 26800
-
- Mar 15, 2006
-
-
Nate Begeman authored
llvm-svn: 26776
-
- Mar 13, 2006
-
-
Chris Lattner authored
registers, and update it on entry to each function, then restore it on exit. This compiles: void func(vfloat *a, vfloat *b, vfloat *c) { *a = *b * *c + *c; } to this: _func: mfspr r2, 256 oris r6, r2, 49152 mtspr 256, r6 lvx v0, 0, r5 lvx v1, 0, r4 vmaddfp v0, v1, v0, v0 stvx v0, 0, r3 mtspr 256, r2 blr GCC produces this (which has additional stack accesses): _func: mfspr r0,256 stw r0,-4(r1) oris r0,r0,0xc000 mtspr 256,r0 lvx v0,0,r5 lvx v1,0,r4 lwz r12,-4(r1) vmaddfp v0,v0,v1,v0 stvx v0,0,r3 mtspr 256,r12 blr llvm-svn: 26733
-
Chris Lattner authored
llvm-svn: 26720
-
- Mar 12, 2006
-
-
Chris Lattner authored
1. Use flags on the instructions in the .td file to indicate the PPC970 unit type instead of a table in the .cpp file. Much cleaner. 2. Change the hazard recognizer to build d-groups according to the actual algorithm used, not my flawed understanding of it. 3. Model "must be in the first slot" and "must be the only instr in a group" accurately. llvm-svn: 26719
-
- Mar 06, 2006
-
-
Chris Lattner authored
llvm-svn: 26562
-
- Mar 01, 2006
-
-
Chris Lattner authored
void foo(float a, int *b) { *b = a; } to this: _foo: fctiwz f0, f1 stfiwx f0, 0, r4 blr instead of this: _foo: fctiwz f0, f1 stfd f0, -8(r1) lwz r2, -4(r1) stw r2, 0(r4) blr This implements CodeGen/PowerPC/stfiwx.ll, and also incidentally does the right thing for GCC bugzilla 26505. llvm-svn: 26447
-
- Feb 17, 2006
-
-
Nate Begeman authored
and SUBE nodes that actually expose what's going on and allow for significant simplifications in the targets. llvm-svn: 26255
-
- Feb 12, 2006
-
-
Nate Begeman authored
PowerPC/and-imm.ll llvm-svn: 26136
-
- Jan 27, 2006
-
-
Chris Lattner authored
llvm-svn: 25674
-
- Jan 12, 2006
-
-
Chris Lattner authored
llvm-svn: 25239
-
- Jan 11, 2006
-
-
Nate Begeman authored
Add dag combiner code to recognize rotl, rotr Add ppc code to match rotl Targets should add rotl/rotr patterns if they have them llvm-svn: 25222
-
- Jan 10, 2006
-
-
Nate Begeman authored
llvm-svn: 25167
-
Chris Lattner authored
llvm-svn: 25164
-
- Jan 09, 2006
-
-
Evan Cheng authored
hasInFlag, hasOutFlag. llvm-svn: 25155
-
- Jan 05, 2006
-
-
Jim Laskey authored
inserted in the code. llvm-svn: 25104
-
- Jan 04, 2006
-
-
Jim Laskey authored
llvm-svn: 25096
-
- Dec 30, 2005
-
-
Nate Begeman authored
llvm-svn: 25046
-
- Dec 26, 2005
-
-
Evan Cheng authored
Currently tblgen cannot tell which operands in the operand list are results so it assumes the first one is a result. This is bad. Ideally we would fix this by separating results from inputs, e.g. (res R32:$dst), (ops R32:$src1, R32:$src2). But that's a more distruptive change. Adding 'let noResults = 1' is the workaround to tell tblgen that the instruction does not produces a result. It works for now since tblgen does not support instructions which produce multiple results. llvm-svn: 25017
-
- Dec 23, 2005
-
-
Evan Cheng authored
* Added a pseudo instruction (for each target) that represent "return void". This is a workaround for lack of optional flag operand (return void is not lowered so it does not have a flag operand.) llvm-svn: 24997
-
- Dec 20, 2005
-
-
Evan Cheng authored
llvm-svn: 24884
-
Nate Begeman authored
llvm-svn: 24874
-
Nate Begeman authored
llvm-svn: 24871
-