- Dec 12, 2006
-
-
Chris Lattner authored
llvm-svn: 32472
-
Chris Lattner authored
llvm-svn: 32471
-
Chris Lattner authored
llvm-svn: 32470
-
Reid Spencer authored
llvm-svn: 32469
-
Chris Lattner authored
llvm-svn: 32468
-
Chris Lattner authored
and legalizer separated like they currently are, I don't see a way to handle this xform. llvm-svn: 32466
-
Chris Lattner authored
This is not sufficient to fix X86/store-fp-constant.ll llvm-svn: 32465
-
Chris Lattner authored
LBB1_1: #bb movdqa (%esi), %xmm2 movaps %xmm2, %xmm3 punpcklbw %xmm0, %xmm3 movaps %xmm3, %xmm4 punpcklwd %xmm0, %xmm4 cvtdq2ps %xmm4, %xmm4 mulps %xmm1, %xmm4 movaps %xmm4, (%edi) leal 1(,%eax,4), %ebx shll $4, %ebx punpckhwd %xmm0, %xmm3 cvtdq2ps %xmm3, %xmm3 mulps %xmm1, %xmm3 movaps %xmm3, (%edx,%ebx) leal 2(,%eax,4), %ebx shll $4, %ebx punpckhbw %xmm0, %xmm2 movaps %xmm2, %xmm3 punpcklwd %xmm0, %xmm3 cvtdq2ps %xmm3, %xmm3 mulps %xmm1, %xmm3 movaps %xmm3, (%edx,%ebx) leal 3(,%eax,4), %ebx shll $4, %ebx punpckhwd %xmm0, %xmm2 cvtdq2ps %xmm2, %xmm2 mulps %xmm1, %xmm2 movaps %xmm2, (%edx,%ebx) addl $64, %edi incl %eax addl $16, %esi cmpl %ecx, %eax jne LBB1_1 #bb instead of: LBB1_1: #bb movdqa (%esi), %xmm2 movaps %xmm2, %xmm3 punpcklbw %xmm0, %xmm3 movaps %xmm3, %xmm4 punpcklwd %xmm0, %xmm4 cvtdq2ps %xmm4, %xmm4 mulps %xmm1, %xmm4 movaps %xmm4, (%edi) leal 1(,%eax,4), %ebx shll $4, %ebx punpckhwd %xmm0, %xmm3 cvtdq2ps %xmm3, %xmm3 mulps %xmm1, %xmm3 movaps %xmm3, (%edx,%ebx) leal 2(,%eax,4), %ebx shll $4, %ebx punpckhbw %xmm0, %xmm2 movaps %xmm2, %xmm3 punpcklwd %xmm0, %xmm3 cvtdq2ps %xmm3, %xmm3 mulps %xmm1, %xmm3 movaps %xmm3, (%edx,%ebx) leal 3(,%eax,4), %ebx shll $4, %ebx punpckhwd %xmm0, %xmm2 cvtdq2ps %xmm2, %xmm2 mulps %xmm1, %xmm2 movaps %xmm2, (%edx,%ebx) addl $64, %edi incl %eax addl $16, %esi cmpl %ecx, %eax jne LBB1_1 #bb for a testcase. llvm-svn: 32463
-
Reid Spencer authored
llvm-svn: 32462
-
Reid Spencer authored
llvm-svn: 32460
-
Rafael Espindola authored
llvm-svn: 32459
-
Reid Spencer authored
to the createIntegerCast and createFPCast for CastInst instructions. llvm-svn: 32457
-
Reid Spencer authored
integer and floating point cast creation. createIntegerCast generates ZExt/SExt, BitCast or Trunc. createFPCast generates FPExt, Bitcast, or FPTrunc. llvm-svn: 32456
-
Rafael Espindola authored
llvm-svn: 32454
-
Reid Spencer authored
llvm-svn: 32453
-
Rafael Espindola authored
llvm-svn: 32452
-
Chris Lattner authored
emitted for external globals in PPC64-JIT-PIC mode (which is good because we didn't handle them before!). This also fixes a bug handling the picbase delta, which we would get wrong in some cases. llvm-svn: 32451
-
Reid Spencer authored
to infer the cast from its operand and type. This fixes: test/Regression/Bytecode/2006-12-11-Cast-ConstExpr.ll llvm-svn: 32450
-
- Dec 11, 2006
-
-
Chris Lattner authored
llvm-svn: 32448
-
Reid Spencer authored
llvm-svn: 32447
-
Reid Spencer authored
union to perform the bitcast. llvm-svn: 32444
-
Evan Cheng authored
llvm-svn: 32442
-
John Criswell authored
For now, just grab the stream and perform the output on it directly. llvm-svn: 32441
-
Chris Lattner authored
llvm-svn: 32440
-
Jim Laskey authored
llvm-svn: 32439
-
Chris Lattner authored
Transforms/ConstProp/bitcast.ll and fixes SingleSource/Regression/C/2003-10-12-GlobalVarInitializers llvm-svn: 32438
-
Jim Laskey authored
llvm-svn: 32436
-
Evan Cheng authored
llvm-svn: 32434
-
Evan Cheng authored
llvm-svn: 32433
-
Evan Cheng authored
llvm-svn: 32432
-
Nate Begeman authored
dag combiner. llvm-svn: 32431
-
Nate Begeman authored
Supports constant pools Supports relocations to jump tables Supports relocations within the data segment (global = address of global) Allocates memory in a non-hacky for all non-code objects. llvm-svn: 32430
-
Chris Lattner authored
llvm-svn: 32428
-
Chris Lattner authored
_pairtest: movl 8(%esp), %eax movl 4(%esp), %ecx movd %eax, %xmm0 movd %ecx, %xmm1 addss %xmm0, %xmm1 movl 12(%esp), %eax movss %xmm1, (%eax) ret instead of: _pairtest: subl $12, %esp movl 20(%esp), %eax movl %eax, 4(%esp) movl 16(%esp), %eax movl %eax, (%esp) movss (%esp), %xmm0 addss 4(%esp), %xmm0 movl 24(%esp), %eax movss %xmm0, (%eax) addl $12, %esp ret llvm-svn: 32427
-
Chris Lattner authored
llvm-svn: 32426
-
Chris Lattner authored
llvm-svn: 32424
-
Chris Lattner authored
The rot example works if the type is cast to ubyte. Move sroa examples together and upgrade them to HEAD syntax. llvm-svn: 32423
-
Chris Lattner authored
This implements Transforms/ScalarRepl/union-packed.ll llvm-svn: 32422
-
Chris Lattner authored
Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll llvm-svn: 32420
-
Chris Lattner authored
* Add support for promoting unions with fp values in them. This produces our new int<->fp bitcast instructions, implementing Transforms/ScalarRepl/union-fp-int.ll As an example, this allows us to compile this: union intfloat { int i; float f; }; float invsqrt(const float arg_x) { union intfloat x = { .f = arg_x }; const float xhalf = arg_x * 0.5f; x.i = 0x5f3759df - (x.i >> 1); return x.f * (1.5f - xhalf * x.f * x.f); } into: _invsqrt: movss 4(%esp), %xmm0 movd %xmm0, %eax sarl %eax movl $1597463007, %ecx subl %eax, %ecx movd %ecx, %xmm1 mulss LCPI1_0, %xmm0 mulss %xmm1, %xmm0 movss LCPI1_1, %xmm2 mulss %xmm1, %xmm0 subss %xmm0, %xmm2 movl 8(%esp), %eax mulss %xmm2, %xmm1 movss %xmm1, (%eax) ret instead of: _invsqrt: subl $4, %esp movss 8(%esp), %xmm0 movss %xmm0, (%esp) movl (%esp), %eax movl $1597463007, %ecx sarl %eax subl %eax, %ecx movl %ecx, (%esp) mulss LCPI1_0, %xmm0 movss (%esp), %xmm1 mulss %xmm1, %xmm0 mulss %xmm1, %xmm0 movss LCPI1_1, %xmm2 subss %xmm0, %xmm2 mulss %xmm2, %xmm1 movl 12(%esp), %eax movss %xmm1, (%eax) addl $4, %esp ret llvm-svn: 32418
-