- Aug 13, 2007
-
-
Evan Cheng authored
llvm-svn: 41043
-
- Aug 12, 2007
-
-
Devang Patel authored
llvm-svn: 41029
-
Reid Spencer authored
llvm-svn: 41028
-
Evan Cheng authored
llvm-svn: 41024
-
Chris Lattner authored
us to fold the entry block of PR1602 to false instead of: br i1 icmp eq (i32 and (i32 ptrtoint (void (%struct.S*)* inttoptr (i64 1 to void (%struct.S*)*) to i32), i32 1), i32 0), label %cond_next, label %cond_true llvm-svn: 41023
-
- Aug 11, 2007
-
-
Chris Lattner authored
have complex pointer manipulation going on. This allows us to compile stuff like this: __m128i foo(__m128i x){ static const unsigned int c_0[4] = { 0, 0, 0, 0 }; __m128i v_Zero = _mm_loadu_si128((__m128i*)c_0); x = _mm_unpacklo_epi8(x, v_Zero); return x; } into: _foo: xorps %xmm1, %xmm1 punpcklbw %xmm1, %xmm0 ret llvm-svn: 41022
-
Chris Lattner authored
llvm-svn: 41021
-
Chris Lattner authored
able to 3-addressify away stuff like this: movl %ecx, %eax decl %eax llvm-svn: 41020
-
Reid Spencer authored
llvm-svn: 41018
-
Bill Wendling authored
Make a 'memop' pattern just for them. llvm-svn: 41017
-
Evan Cheng authored
llvm-svn: 41016
-
Christopher Lamb authored
llvm-svn: 41013
-
- Aug 10, 2007
-
-
Christopher Lamb authored
Increase efficiency of sign_extend_inreg by using subregisters for truncation. As the README suggests sign_extend_subreg is selected to (sext(trunc)). llvm-svn: 41010
-
Christopher Lamb authored
llvm-svn: 41009
-
Christopher Lamb authored
Add 2-addr to 3-addr promotion code that allows 32-bit LEA to be used via subregisters when 16-bit LEA is disabled. llvm-svn: 41007
-
Christopher Lamb authored
Move isSubRegOf into MRegisterInfo. Fix a missed move elimination in LowerSubregs and add more debugging output there. llvm-svn: 41005
-
Devang Patel authored
llvm-svn: 41001
-
Devang Patel authored
llvm-svn: 40998
-
Devang Patel authored
llvm-svn: 40997
-
Chris Lattner authored
llvm-svn: 40989
-
Dan Gohman authored
use an intptr ValueType instead of i32 for the index operand in getCopyToParts. llvm-svn: 40987
-
Rafael Espindola authored
llvm-svn: 40986
-
Bill Wendling authored
llvm-svn: 40985
-
Bill Wendling authored
llvm-svn: 40982
-
Chris Lattner authored
llvm-svn: 40981
-
Chris Lattner authored
llvm-svn: 40980
-
Devang Patel authored
llvm-svn: 40979
-
Devang Patel authored
llvm-svn: 40978
-
Devang Patel authored
not split condition constraints. llvm-svn: 40977
-
Chris Lattner authored
llvm-svn: 40976
-
Evan Cheng authored
llvm-svn: 40975
-
Dale Johannesen authored
to handle values bigger than double. If we assume host==target and host long double works correctly, this is not too bad, but we don't want to have that limitation longterm. I could implement accepting double constants as long double or something like that, which would lead to incorrect codegen with no errors; the more I think about that the worse it seems. Rather than do such a hack that would be backed out later, I'm settling for giving reasonable error messages, for now. llvm-svn: 40974
-
Evan Cheng authored
llvm-svn: 40973
-
- Aug 09, 2007
-
-
Evan Cheng authored
divb / mulb outputs to ah. Under x86-64 it's not legal to read ah if the instruction requires a rex prefix (i.e. outputs to r8b, etc.). So issue shift right by 8 on AX and then truncate it to 8 bits instead. llvm-svn: 40972
-
Chris Lattner authored
alloca, increase the alignment of the load, turning it into an aligned load. This allows us to compile: #include <xmmintrin.h> __m128i foo(__m128i x){ static const unsigned int c_0[4] = { 0, 0, 0, 0 }; __m128i v_Zero = _mm_loadu_si128((__m128i*)c_0); x = _mm_unpacklo_epi8(x, v_Zero); return x; } into: _foo: punpcklbw _c_0.5944, %xmm0 ret .data .lcomm _c_0.5944,16,4 # c_0.5944 instead of: _foo: movdqu _c_0.5944, %xmm1 punpcklbw %xmm1, %xmm0 ret .data .lcomm _c_0.5944,16,2 # c_0.5944 llvm-svn: 40971
-
Evan Cheng authored
GR16_ sub-register class should be GR8_, not GR8. That is, it should only be 8-bit registers in 32-bit mode. Ditto for GR32_. llvm-svn: 40970
-
Dale Johannesen authored
llvm-svn: 40965
-
Owen Anderson authored
llvm-svn: 40961
-
Devang Patel authored
llvm-svn: 40960
-
Dale Johannesen authored
(constants are still not handled). Adds ConvertActions to control fp-to-fp conversions (these are currently defaulted for all other targets, so no changes there). llvm-svn: 40958
-