- Mar 10, 2008
-
-
Dale Johannesen authored
field to 32 bits, thus enabling correct handling of ByVal structs bigger than 0x1ffff. Abstract interface a bit. Fixes gcc.c-torture/execute/pr23135.c and gcc.c-torture/execute/pr28982b.c in gcc testsuite (were ICE'ing on ppc32, quietly producing wrong code on x86-32.) llvm-svn: 48122
-
- Mar 09, 2008
-
-
Chris Lattner authored
an RFP register class. Teach ScheduleDAG how to handle CopyToReg with different src/dst reg classes. This allows us to compile trivial inline asms that expect stuff on the top of x87-fp stack. llvm-svn: 48107
-
Chris Lattner authored
RST -> RFP{32/64/80}. We only handle ST(0) for now. llvm-svn: 48104
-
Chris Lattner authored
llvm-svn: 48101
-
Chris Lattner authored
codegen yet because these can't be spilled (they don't exist until after RA). llvm-svn: 48098
-
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
-
Evan Cheng authored
Implement x86 support for @llvm.prefetch. It corresponds to prefetcht{0|1|2} and prefetchnta instructions. llvm-svn: 48042
-
- Mar 07, 2008
-
-
Chris Lattner authored
we're using SSE or not. This fixes PR2122. llvm-svn: 48006
-
- Mar 06, 2008
-
-
Gabor Greif authored
llvm-svn: 47996
-
- 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
-
- 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
-
Devang Patel authored
llvm-svn: 47857
-
- Mar 02, 2008
-
-
Chris Lattner authored
llvm-svn: 47828
-
Andrew Lenharth authored
llvm-svn: 47800
-
- Mar 01, 2008
-
-
Andrew Lenharth authored
llvm-svn: 47799
-
Andrew Lenharth authored
llvm-svn: 47798
-
Andrew Lenharth authored
Add lock prefix support to x86. Also add the instructions necessary for the atomic ops. They are still marked pseudo, since I cannot figure out what format to use, but they are the correct opcode. llvm-svn: 47795
-
- Feb 29, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 47770
-
Anders Carlsson authored
llvm-svn: 47740
-
Evan Cheng authored
llvm-svn: 47736
-
- Feb 28, 2008
-
-
Evan Cheng authored
llvm-svn: 47711
-