- Aug 18, 2005
-
-
Chris Lattner authored
llvm-svn: 22866
-
Nate Begeman authored
as the argument to LIS rather than the result of HA16(constant). The DAG->DAG ISel was already doing the right thing. llvm-svn: 22865
-
Nate Begeman authored
Now for int foo() { return -1; } we generate: _foo: li r3, -1 blr instead of _foo: lis r2, -1 ori r3, r2, 65535 blr llvm-svn: 22864
-
Chris Lattner authored
to make the code follow people's expectations better. llvm-svn: 22861
-
Jim Laskey authored
llvm-svn: 22858
-
Nate Begeman authored
llvm-svn: 22857
-
Nate Begeman authored
llvm-svn: 22855
-
Nate Begeman authored
llvm-svn: 22854
-
Nate Begeman authored
llvm-svn: 22851
-
Nate Begeman authored
llvm-svn: 22850
-
Nate Begeman authored
llvm-svn: 22849
-
Jim Laskey authored
llvm-svn: 22848
-
Nate Begeman authored
several of the PowerPC opcodes that come in both negated and non-negated forms. llvm-svn: 22845
-
- Aug 17, 2005
-
-
Jim Laskey authored
llvm-svn: 22839
-
Jim Laskey authored
llvm-svn: 22838
-
Chris Lattner authored
llvm-svn: 22837
-
Chris Lattner authored
incomplete, but it is a start. It handles basic argument/retval stuff, immediates, add and sub. llvm-svn: 22836
-
Chris Lattner authored
llvm-svn: 22835
-
Chris Lattner authored
and some that were preexisting. All alpha regtests pass now. llvm-svn: 22829
-
Chris Lattner authored
selector. Also, there is no difference between addSImm and addImm, so just use addImm, folding some branches. llvm-svn: 22819
-
Jim Laskey authored
llvm-svn: 22818
-
Andrew Lenharth authored
llvm-svn: 22817
-
Jim Laskey authored
marked as legal. llvm-svn: 22816
-
Jim Laskey authored
llvm-svn: 22815
-
Nate Begeman authored
Remove dead code in ISD::Constant handling Add support for add long, imm16 We now codegen 'long long foo(long long a) { return ++a; }' as: addic r4, r4, 1 addze r3, r3 blr instead of: li r2, 1 li r5, 0 addc r2, r4, r2 adde r3, r3, r5 blr llvm-svn: 22811
-
- Aug 16, 2005
-
-
Chris Lattner authored
llvm-svn: 22808
-
Chris Lattner authored
llvm-svn: 22807
-
Nate Begeman authored
fixme from the PowerPC backend. Emit slightly better code for legalizing select_cc. llvm-svn: 22805
-
Chris Lattner authored
can be shared with the DAG->DAG selector. llvm-svn: 22799
-
Chris Lattner authored
Only run createLowerConstantExpressionsPass for the simple isel. The DAG isel has no need for it. llvm-svn: 22794
-
- Aug 15, 2005
-
-
Jim Laskey authored
llvm-svn: 22792
-
Jim Laskey authored
Changed code gen for int to f32 to use rounding. This makes FP results consistent with gcc. llvm-svn: 22791
-
Andrew Lenharth authored
llvm-svn: 22790
-
- Aug 14, 2005
-
-
Nate Begeman authored
1. Not selecting the false value of a select_cc in the false arm, which isn't legal for nested selects. 2. Actually returning the node we created and Legalized in the FP_TO_UINT Expander. llvm-svn: 22789
-
Nate Begeman authored
block. nur. llvm-svn: 22788
-
Nate Begeman authored
now generate the relatively good code sequences: unsigned short foo(float a) { return a; } _foo: movss 4(%esp), %xmm0 cvttss2si %xmm0, %eax movzwl %ax, %eax ret and unsigned bar(float a) { return a; } _bar: movss .CPI_bar_0, %xmm0 movss 4(%esp), %xmm1 movapd %xmm1, %xmm2 subss %xmm0, %xmm2 cvttss2si %xmm2, %eax xorl $-2147483648, %eax cvttss2si %xmm1, %ecx ucomiss %xmm0, %xmm1 cmovb %ecx, %eax ret llvm-svn: 22786
-
Nate Begeman authored
codegen for FP_TO_UINT by using the legalizer's SELECT variant. Implement a codegen improvement for SELECT_CC, selecting the false node in the MBB that feeds the phi node. This allows us to codegen: void foo(int *a, int b, int c) { int d = (a < b) ? 5 : 9; *a = d; } as: _foo: li r2, 5 cmpw cr0, r4, r3 bgt .LBB_foo_2 ; entry .LBB_foo_1: ; entry li r2, 9 .LBB_foo_2: ; entry stw r2, 0(r3) blr insted of: _foo: li r2, 5 li r5, 9 cmpw cr0, r4, r3 bgt .LBB_foo_2 ; entry .LBB_foo_1: ; entry or r2, r5, r5 .LBB_foo_2: ; entry stw r2, 0(r3) blr llvm-svn: 22784
-
- Aug 13, 2005
-
-
Nate Begeman authored
back once a DAG->DAG ISel exists. llvm-svn: 22778
-
Jim Laskey authored
Fix for 2005-08-12-rlwimi-crash.ll. Make allowance for masks being shifted to zero. llvm-svn: 22773
-
Jim Laskey authored
1. This changes handles the cases of (~x)&y and x&(~y) yielding ANDC, and (~x)|y and x|(~y) yielding ORC. llvm-svn: 22771
-