- Jul 26, 2006
-
-
Chris Lattner authored
llvm-svn: 29307
-
- Jul 21, 2006
-
-
Evan Cheng authored
llvm-svn: 29243
-
Evan Cheng authored
llvm-svn: 29234
-
- Jul 12, 2006
-
-
Chris Lattner authored
This implements PR828 and CodeGen/X86/2006-07-12-InlineAsmQConstraint.ll llvm-svn: 29118
-
- Jul 11, 2006
-
-
Chris Lattner authored
CodeGen/X86/2006-07-10-InlineAsmAConstraint.ll llvm-svn: 29101
-
- Jul 10, 2006
-
-
Evan Cheng authored
Use that information when doing the transformation to merge multiple loads into a 128-bit load. llvm-svn: 29090
-
Chris Lattner authored
llvm-svn: 29085
-
- Jul 07, 2006
-
-
Evan Cheng authored
(load x+8), (load x+12), <0, 1, 2, 3> to a single 128-bit load (aligned and unaligned). e.g. __m128 test(float a, float b, float c, float d) { return _mm_set_ps(d, c, b, a); } _test: movups 4(%esp), %xmm0 ret llvm-svn: 29042
-
- Jul 06, 2006
-
-
Evan Cheng authored
llvm-svn: 28999
-
- Jun 24, 2006
-
-
Evan Cheng authored
Simplify X86CompilationCallback: always align to 16-byte boundary; don't save EAX/EDX if unnecessary. llvm-svn: 28910
-
- Jun 15, 2006
-
-
Evan Cheng authored
llvm-svn: 28796
-
- Jun 14, 2006
-
-
Evan Cheng authored
llvm-svn: 28783
-
- Jun 09, 2006
-
-
Evan Cheng authored
llvm-svn: 28736
-
- Jun 07, 2006
-
-
Evan Cheng authored
function that is being lowered is forced to use FP. Currently this is only true for main() / Cygwin. llvm-svn: 28703
-
- Jun 01, 2006
-
-
Evan Cheng authored
llvm-svn: 28617
-
Evan Cheng authored
llvm-svn: 28607
-
- May 31, 2006
-
-
Evan Cheng authored
llvm-svn: 28581
-
- May 27, 2006
-
-
Evan Cheng authored
RET chain, value1, sign1, value2, sign2, ... llvm-svn: 28510
-
- May 26, 2006
-
-
Evan Cheng authored
llvm-svn: 28505
-
Evan Cheng authored
vector arguments, not three. llvm-svn: 28504
-
Evan Cheng authored
llvm-svn: 28499
-
Evan Cheng authored
llvm-svn: 28498
-
Evan Cheng authored
llvm-svn: 28497
-
Evan Cheng authored
llvm-svn: 28496
-
Evan Cheng authored
llvm-svn: 28488
-
Evan Cheng authored
llvm-svn: 28483
-
Evan Cheng authored
llvm-svn: 28481
-
- May 25, 2006
-
-
Evan Cheng authored
llvm-svn: 28475
-
Evan Cheng authored
the copyto/fromregs instead of making the X86ISD::CALL selection code create them. llvm-svn: 28463
-
- May 24, 2006
-
-
Chris Lattner authored
llvm-svn: 28441
-
- May 23, 2006
-
-
Evan Cheng authored
llvm-svn: 28440
-
Evan Cheng authored
FORMAL_ARGUMENTS nodes include a token operand. llvm-svn: 28439
-
Chris Lattner authored
return argument pops the hidden struct pointer if present, not the caller. For example, in this testcase: struct X { int D, E, F, G; }; struct X bar() { struct X a; a.D = 0; a.E = 1; a.F = 2; a.G = 3; return a; } void foo(struct X *P) { *P = bar(); } We used to emit: _foo: subl $28, %esp movl 32(%esp), %eax movl %eax, (%esp) call _bar addl $28, %esp ret _bar: movl 4(%esp), %eax movl $0, (%eax) movl $1, 4(%eax) movl $2, 8(%eax) movl $3, 12(%eax) ret This is correct on Linux/X86 but not Darwin/X86. With this patch, we now emit: _foo: subl $28, %esp movl 32(%esp), %eax movl %eax, (%esp) call _bar *** addl $24, %esp ret _bar: movl 4(%esp), %eax movl $0, (%eax) movl $1, 4(%eax) movl $2, 8(%eax) movl $3, 12(%eax) *** ret $4 For the record, GCC emits (which is functionally equivalent to our new code): _bar: movl 4(%esp), %eax movl $3, 12(%eax) movl $2, 8(%eax) movl $1, 4(%eax) movl $0, (%eax) ret $4 _foo: pushl %esi subl $40, %esp movl 48(%esp), %esi leal 16(%esp), %eax movl %eax, (%esp) call _bar subl $4, %esp movl 16(%esp), %eax movl %eax, (%esi) movl 20(%esp), %eax movl %eax, 4(%esi) movl 24(%esp), %eax movl %eax, 8(%esi) movl 28(%esp), %eax movl %eax, 12(%esi) addl $40, %esp popl %esi ret This fixes SingleSource/Benchmarks/CoyoteBench/fftbench with LLC and the JIT, and fixes the X86-backend portion of PR729. The CBE still needs to be updated. llvm-svn: 28438
-
- May 19, 2006
-
-
Chris Lattner authored
llvm-svn: 28409
-
- May 17, 2006
-
-
Evan Cheng authored
llvm-svn: 28357
-
- May 16, 2006
-
-
Chris Lattner authored
arguments at once. llvm-svn: 28327
-
Chris Lattner authored
llvm-svn: 28326
-
Evan Cheng authored
llvm-svn: 28324
-
Chris Lattner authored
it doesn't currently use/maintain the chain properly. Also, make the X86ISelLowering.cpp file 80-col clean. llvm-svn: 28320
-
- May 12, 2006
-
-
Chris Lattner authored
llvm-svn: 28265
-