- Mar 09, 2008
-
-
Chris Lattner authored
llvm-svn: 48094
-
Chris Lattner authored
isel'ing value preserving FP roundings from one fp stack reg to another into a noop, instead of stack traffic. llvm-svn: 48093
-
Chris Lattner authored
into a vector of zeros or undef, and when the top part is obviously zero, we can just use movd + shuffle. This allows us to compile vec_set-B.ll into: _test3: movl $1234567, %eax andl 4(%esp), %eax movd %eax, %xmm0 ret instead of: _test3: subl $28, %esp movl $1234567, %eax andl 32(%esp), %eax movl %eax, (%esp) movl $0, 4(%esp) movq (%esp), %xmm0 addl $28, %esp ret llvm-svn: 48090
-
Chris Lattner authored
llvm-svn: 48064
-
Chris Lattner authored
#include <xmmintrin.h> __m128i doload64(short x) {return _mm_set_epi16(0,0,0,0,0,0,0,1);} into: movl $1, %eax movd %eax, %xmm0 ret instead of a constant pool load. llvm-svn: 48063
-
- Mar 08, 2008
-
-
Chris Lattner authored
2) Don't try to insert an i64 value into the low part of a vector with movq on an x86-32 target. This allows us to compile: __m128i doload64(short x) {return _mm_set_epi16(0,0,0,0,0,0,0,1);} into: _doload64: movaps LCPI1_0, %xmm0 ret instead of: _doload64: subl $28, %esp movl $0, 4(%esp) movl $1, (%esp) movq (%esp), %xmm0 addl $28, %esp ret llvm-svn: 48057
-
Chris Lattner authored
SCALAR_TO_VECTOR on paths that end up not using it. llvm-svn: 48056
-
Chris Lattner authored
llvm-svn: 48055
-
Chris Lattner authored
llvm-svn: 48054
-
Dale Johannesen authored
are looking pretty good now. llvm-svn: 48043
-
Evan Cheng authored
Implement x86 support for @llvm.prefetch. It corresponds to prefetcht{0|1|2} and prefetchnta instructions. llvm-svn: 48042
-
Dan Gohman authored
llvm-svn: 48041
-
- Mar 07, 2008
-
-
Bill Wendling authored
by promoting smaller integral values (i32 at this point) to i64, then truncating to get the wanted size. llvm-svn: 48030
-
Dan Gohman authored
llvm-svn: 48029
-
Dale Johannesen authored
but there are bugs. llvm-svn: 48028
-
Chris Lattner authored
llvm-svn: 48027
-
Chris Lattner authored
with 32 or 64-bit operands/results. llvm-svn: 48026
-
Chris Lattner authored
we're using SSE or not. This fixes PR2122. llvm-svn: 48006
-
- Mar 06, 2008
-
-
Gabor Greif authored
llvm-svn: 47996
-
Scott Michel authored
upper and lower 32-bits are the same (in addition to 0 and -1 previously.) llvm-svn: 47985
-
Andrew Lenharth authored
llvm-svn: 47981
-
Dale Johannesen authored
correct now. llvm-svn: 47978
-
Scott Michel authored
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
-
- Mar 05, 2008
-
-
Chris Lattner authored
llvm-svn: 47948
-
Evan Cheng authored
llvm-svn: 47941
-
Evan Cheng authored
llvm-svn: 47940
-
Chris Lattner authored
llvm-svn: 47939
-
Evan Cheng authored
llvm-svn: 47934
-
Evan Cheng authored
llvm-svn: 47933
-
Evan Cheng authored
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
-
Andrew Lenharth authored
llvm-svn: 47929
-
Evan Cheng authored
findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies. llvm-svn: 47927
-
Bill Wendling authored
llvm-svn: 47918
-
Dale Johannesen authored
class (cosmetic). First piece of byval implementation; this doesn't work yet. No functional change. llvm-svn: 47917
-
Bill Wendling authored
llvm-svn: 47915
-
- Mar 04, 2008
-
-
Andrew Lenharth authored
llvm-svn: 47903
-
Evan Cheng authored
llvm-svn: 47878
-
Evan Cheng authored
llvm-svn: 47871
-
- Mar 03, 2008
-
-
Dan Gohman authored
llvm-svn: 47865
-
Bill Wendling authored
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
-