- Dec 01, 2005
-
-
Evan Cheng authored
llvm-svn: 24559
-
- Nov 30, 2005
-
-
Nate Begeman authored
an argument to every operand printing function. Requires some slight tweaks to x86, the only user. llvm-svn: 24541
-
Chris Lattner authored
llvm-svn: 24526
-
- Nov 29, 2005
-
-
Evan Cheng authored
llvm-svn: 24520
-
- Nov 20, 2005
-
-
Chris Lattner authored
llvm-svn: 24435
-
Andrew Lenharth authored
llvm-svn: 24430
-
- Nov 19, 2005
-
-
Chris Lattner authored
Patch by Evan Cheng llvm-svn: 24423
-
- Nov 18, 2005
-
-
Chris Lattner authored
llvm-svn: 24406
-
- Nov 17, 2005
-
-
Chris Lattner authored
Evan Cheng. llvm-svn: 24384
-
- Nov 16, 2005
-
-
Chris Lattner authored
Patch contributed by Evan Cheng! llvm-svn: 24382
-
- Oct 15, 2005
-
-
Nate Begeman authored
fixing a bunch of nasty hackery llvm-svn: 23735
-
- Sep 14, 2005
-
-
Chris Lattner authored
llvm-svn: 23356
-
- Aug 19, 2005
-
-
Chris Lattner authored
llvm-svn: 22891
-
Chris Lattner authored
Give a whole bunch of other stuff variable operands, particularly FP. The FP stackifier is playing fast and loose with operands here, so we have to mark them all as variable. This will have to be fixed before we can dag->dag the X86 backend. The solution is for the pre-stackifier and post-stackifier instructions to all be disjoint. llvm-svn: 22890
-
- Aug 04, 2005
-
-
Nate Begeman authored
Scalar SSE: a < b ? c : 0.0 -> cmpss, andps Scalar SSE: float -> i16 needs to be promoted llvm-svn: 22637
-
- Jul 15, 2005
-
-
Nate Begeman authored
working, and Olden/power. llvm-svn: 22441
-
- Jul 06, 2005
-
-
Nate Begeman authored
XMM registers. There are many known deficiencies and fixmes, which will be addressed ASAP. The major benefit of this work is that it will allow the LLVM register allocator to allocate FP registers across basic blocks. The x86 backend will still default to x87 style FP. To enable this work, you must pass -enable-sse-scalar-fp and either -sse2 or -sse3 to llc. An example before and after would be for: double foo(double *P) { double Sum = 0; int i; for (i = 0; i < 1000; ++i) Sum += P[i]; return Sum; } The inner loop looks like the following: x87: .LBB_foo_1: # no_exit fldl (%esp) faddl (%eax,%ecx,8) fstpl (%esp) incl %ecx cmpl $1000, %ecx #FP_REG_KILL jne .LBB_foo_1 # no_exit SSE2: addsd (%eax,%ecx,8), %xmm0 incl %ecx cmpl $1000, %ecx #FP_REG_KILL jne .LBB_foo_1 # no_exit llvm-svn: 22340
-
- Jun 27, 2005
-
-
Nate Begeman authored
working. The instruction selector changes will hopefully be coming later this week once they are debugged. This is necessary to support the darwin x86 FP model, and is recommended by intel as the replacement for x87. As a bonus, the register allocator knows how to deal with these registers across basic blocks, unliky the FP stackifier. This leads to significantly better codegen in several cases. llvm-svn: 22300
-
- May 15, 2005
-
-
Chris Lattner authored
sorta-pseudo-instruction llvm-svn: 22042
-
Chris Lattner authored
llvm-svn: 22040
-
Chris Lattner authored
llvm-svn: 22036
-
- May 13, 2005
-
-
Chris Lattner authored
llvm-svn: 21945
-
- May 09, 2005
-
-
Chris Lattner authored
llvm-svn: 21829
-
- Apr 28, 2005
-
-
Chris Lattner authored
llvm-svn: 21608
-
- Apr 06, 2005
-
-
Chris Lattner authored
llvm-svn: 21106
-
- Apr 02, 2005
-
-
Chris Lattner authored
llvm-svn: 21006
-
- Feb 27, 2005
-
-
Chris Lattner authored
llvm-svn: 20343
-
- Jan 19, 2005
-
-
Chris Lattner authored
llvm-svn: 19690
-
Chris Lattner authored
llvm-svn: 19687
-
Chris Lattner authored
This allows us to generate this: foo: mov %EAX, DWORD PTR [%ESP + 4] mov %EDX, DWORD PTR [%ESP + 8] shld %EDX, %EDX, 2 shl %EAX, 2 ret instead of this: foo: mov %EAX, DWORD PTR [%ESP + 4] mov %ECX, DWORD PTR [%ESP + 8] mov %EDX, %EAX shrd %EDX, %ECX, 30 shl %EAX, 2 ret Note the magically transmogrifying immediate. llvm-svn: 19686
-
- Jan 10, 2005
-
-
Chris Lattner authored
llvm-svn: 19437
-
- Jan 03, 2005
-
-
Chris Lattner authored
llvm-svn: 19264
-
- Jan 02, 2005
-
-
Chris Lattner authored
1. Add new instructions for checking parity flags: JP, JNP, SETP, SETNP. 2. Set the isCommutable and isPromotableTo3Address bits on several instructions. llvm-svn: 19246
-
- Nov 10, 2004
-
-
John Criswell authored
It's stosl (l for long == 32 bit). llvm-svn: 17658
-
- Oct 06, 2004
-
-
Chris Lattner authored
the JIT had last night. llvm-svn: 16766
-
Chris Lattner authored
llvm-svn: 16759
-
- Oct 04, 2004
-
-
Chris Lattner authored
llvm-svn: 16645
-
Chris Lattner authored
old and broken AT&T syntax assemblers. The problem with this hack is that *SOME* forms of the fdiv and fsub instructions have the 'r' bit inverted. This was a real pain to figure out, but is trivially easy to support: thus we are now bug compatible with gas and gcc. llvm-svn: 16644
-
Chris Lattner authored
llvm-svn: 16642
-
Chris Lattner authored
llvm-svn: 16641
-