- Jan 31, 2006
-
-
Chris Lattner authored
llvm-svn: 25830
-
Chris Lattner authored
llvm-svn: 25829
-
Chris Lattner authored
llvm-svn: 25828
-
Chris Lattner authored
llvm-svn: 25826
-
Chris Lattner authored
llvm-svn: 25825
-
Evan Cheng authored
the order of the compare operands and generate SETOGT, SETOGE, SETUGE, and SETULE instead. llvm-svn: 25824
-
- Jan 30, 2006
-
-
Chris Lattner authored
llvm-svn: 25819
-
Evan Cheng authored
llvm-svn: 25818
-
Evan Cheng authored
conversions. SSE does not have instructions to handle these tasks. llvm-svn: 25817
-
Chris Lattner authored
SPARC condition codes, not in terms of the DAG condcodes. This allows us to write nice clean patterns for cmovs/branches. llvm-svn: 25815
-
Chris Lattner authored
uint %test(uint %X) { %Y = call uint %llvm.ctpop.i32(uint %X) ret uint %Y } to: test: save -96, %o6, %o6 sll %i0, 0, %l0 popc %l0, %i0 restore %g0, %g0, %g0 retl nop instead of to 40 logical ops. Note the shift-by-zero that clears the top part of the 64-bit V9 register. Testcase here: CodeGen/SparcV8/ctpop.ll llvm-svn: 25814
-
Chris Lattner authored
running it. llvm-svn: 25811
-
Chris Lattner authored
llvm-svn: 25810
-
Chris Lattner authored
patterns. This allows emission of this code: t1: save -96, %o6, %o6 subcc %i0, %i1, %l0 move %icc, %i0, %i2 or %g0, %i2, %i0 restore %g0, %g0, %g0 retl nop instead of this: t1: save -96, %o6, %o6 subcc %i0, %i1, %l0 be .LBBt1_2 ! nop .LBBt1_1: ! or %g0, %i2, %i0 .LBBt1_2: ! restore %g0, %g0, %g0 retl nop for this: int %t1(int %a, int %b, int %c) { %tmp.2 = seteq int %a, %b %tmp3 = select bool %tmp.2, int %a, int %c ret int %tmp3 } llvm-svn: 25809
-
Chris Lattner authored
1. Default to having V9 instructions, instead of just V8. 2. unless -enable-sparc-v9-insts is passed, disable V9 (for use with llcbeta) llvm-svn: 25807
-
Chris Lattner authored
the two operations together. This allows us to compile this: void %two(int %a, int* %b) { %tmp.2 = seteq int %a, 0 %tmp.0.0 = select bool %tmp.2, int 10, int 20 store int %tmp.0.0, int* %b ret void } into: two: save -96, %o6, %o6 or %g0, 20, %l0 or %g0, 10, %l1 subcc %i0, 0, %l2 be .LBBtwo_2 ! entry nop .LBBtwo_1: ! entry or %g0, %l0, %l1 .LBBtwo_2: ! entry st %l1, [%i1] restore %g0, %g0, %g0 retl nop instead of: two: save -96, %o6, %o6 sethi 0, %l0 or %g0, 1, %l1 or %g0, 20, %l2 or %g0, 10, %l3 subcc %i0, 0, %l4 be .LBBtwo_2 ! entry nop .LBBtwo_1: ! entry or %g0, %l0, %l1 .LBBtwo_2: ! entry subcc %l1, 0, %l0 bne .LBBtwo_4 ! entry nop .LBBtwo_3: ! entry or %g0, %l2, %l3 .LBBtwo_4: ! entry st %l3, [%i1] restore %g0, %g0, %g0 retl nop llvm-svn: 25806
-
Chris Lattner authored
Move MaskedValueIsZero from the DAGCombiner to the TargetLowering interface,making isMaskedValueZeroForTargetNode simpler, and useable from other partsof the compiler. llvm-svn: 25803
-
Chris Lattner authored
allowing redundant and's to be eliminated by the dag combiner. llvm-svn: 25800
-
Chris Lattner authored
llvm-svn: 25798
-
- Jan 29, 2006
-
-
Chris Lattner authored
This fixes llvm-test/SingleSource/UnitTests/2006-01-29-SimpleIndirectCall.c and PR704 llvm-svn: 25793
-
Chris Lattner authored
llvm-svn: 25789
-
Chris Lattner authored
llvm-svn: 25788
-
Chris Lattner authored
llvm-svn: 25787
-
Chris Lattner authored
llvm-svn: 25786
-
Chris Lattner authored
llvm-svn: 25784
-
Chris Lattner authored
llvm-svn: 25783
-
Chris Lattner authored
llvm-svn: 25778
-
Reid Spencer authored
few stores under certain conditions. llvm-svn: 25777
-
Chris Lattner authored
llvm-svn: 25776
-
Chris Lattner authored
instead of lying and saying we have it. llvm-svn: 25775
-
Chris Lattner authored
llvm-svn: 25773
-
Chris Lattner authored
'fpimm' in .td files is now TargetConstantFP. llvm-svn: 25771
-
Chris Lattner authored
why all this code isn't autogenerated. :( llvm-svn: 25770
-
Chris Lattner authored
llvm-svn: 25761
-
Jeff Cohen authored
llvm-svn: 25760
-
- Jan 28, 2006
-
-
Jeff Cohen authored
llvm-svn: 25755
-
Jeff Cohen authored
llvm-svn: 25754
-
Jeff Cohen authored
llvm-svn: 25751
-
Jeff Cohen authored
llvm-svn: 25750
-
Chris Lattner authored
llvm-svn: 25749
-