- Sep 08, 2006
-
-
Evan Cheng authored
shuffle V1, <undef>, <undef, undef, 4, 5> - Fix some suspicious logic into LowerVectorShuffle that cause less than optimal code by failing to identify MOVL (move to lowest element of a vector). llvm-svn: 30171
-
- Sep 07, 2006
-
-
Chris Lattner authored
using test, which provides nice simplifications like: - movl %edi, %ecx - andl $2, %ecx - cmpl $0, %ecx + testl $2, %edi je LBB1_11 #cond_next90 There are a couple of dagiselemitter deficiencies that this exposes, they will be handled later. llvm-svn: 30156
-
- Aug 17, 2006
-
-
Chris Lattner authored
llvm-svn: 29752
-
Chris Lattner authored
llvm-svn: 29751
-
Andrew Lenharth authored
llvm-svn: 29750
-
Andrew Lenharth authored
llvm-svn: 29747
-
Andrew Lenharth authored
llvm-svn: 29746
-
- Aug 11, 2006
-
-
Chris Lattner authored
llvm-svn: 29614
-
Evan Cheng authored
llvm-svn: 29604
-
Evan Cheng authored
llvm-svn: 29601
-
- Aug 08, 2006
-
-
Chris Lattner authored
in the start of an array and a count of operands where applicable. In many cases, the number of operands is known, so this static array can be allocated on the stack, avoiding the heap. In many other cases, a SmallVector can be used, which has the same benefit in the common cases. I updated a lot of code calling getNode that takes a vector, but ran out of time. The rest of the code should be updated, and these methods should be removed. We should also do the same thing to eliminate the methods that take a vector of MVT::ValueTypes. It would be extra nice to convert the dagiselemitter to avoid creating vectors for operands when calling getTargetNode. llvm-svn: 29566
-
- Aug 01, 2006
-
-
Chris Lattner authored
The CFE refers to all single-register constraints (like "A") by their 16-bit name, even though the 8 or 32-bit version of the register may be needed. The X86 backend should realize what is going on and redecode the name back to its proper form. llvm-svn: 29420
-
- 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
-