Bill Wendling
|
2fbcbc16b4
|
Add MMX calling conventions.
llvm-svn: 35489
|
2007-03-30 00:35:22 +00:00 |
Evan Cheng
|
045414aa8e
|
New entry.
llvm-svn: 35480
|
2007-03-29 21:40:13 +00:00 |
Evan Cheng
|
cc44b1e743
|
Can't re-materialize mov r, imm in thumb since mov would clobber the condition code.
llvm-svn: 35479
|
2007-03-29 21:38:31 +00:00 |
Jeff Cohen
|
68e93b7c44
|
MS C does have inlining after all, just uses _inline instead of inline.
llvm-svn: 35467
|
2007-03-29 17:42:21 +00:00 |
Evan Cheng
|
8f592160c0
|
Add support for hidden visibility to darwin/arm.
llvm-svn: 35448
|
2007-03-29 07:49:34 +00:00 |
Jeff Cohen
|
cc560c93eb
|
Fix C Backend to generate code that works with Microsoft C for the benefit of
front ends that do not depend on the GCC runtime (someday...).
llvm-svn: 35441
|
2007-03-28 23:08:37 +00:00 |
Bill Wendling
|
4ad38abd40
|
Made this into a bug report: PR1286
llvm-svn: 35439
|
2007-03-28 19:07:34 +00:00 |
Anton Korobeynikov
|
0ad22563b8
|
Oops :)
llvm-svn: 35438
|
2007-03-28 18:38:33 +00:00 |
Anton Korobeynikov
|
7522c9d8e1
|
Don't allow MatchAddress recurse too much. This trims exponential
behaviour in some cases.
llvm-svn: 35437
|
2007-03-28 18:36:33 +00:00 |
Chris Lattner
|
2ba38c8711
|
add a note
llvm-svn: 35435
|
2007-03-28 18:17:19 +00:00 |
Chris Lattner
|
bcd38852f2
|
Compile CodeGen/X86/lea-3.ll:test2 to:
_test3:
leaq (,%rdi,4), %rax
orq %rdi, %rax
ret
instead of:
_test2:
movq %rdi, %rax
shlq $2, %rax
orq %rdi, %rax
ret
llvm-svn: 35434
|
2007-03-28 18:12:31 +00:00 |
Chris Lattner
|
a6527d6a61
|
Dan pointed out that this is done, remove it!
llvm-svn: 35430
|
2007-03-28 17:26:52 +00:00 |
Scott Michel
|
734077b1f0
|
First test check-in.
llvm-svn: 35429
|
2007-03-28 17:04:43 +00:00 |
Evan Cheng
|
c2cba18f2b
|
Remove isLegalAddressImmediate.
llvm-svn: 35406
|
2007-03-28 01:53:55 +00:00 |
Bill Wendling
|
2338e21b2b
|
Remove cruft I put in there...
llvm-svn: 35394
|
2007-03-28 01:02:54 +00:00 |
Chris Lattner
|
c56e4920d2
|
Fix a problem building llvm-gcc on amd64-unknown-freebsd6.2, due to the
system assembler not groking legal instructions like "leal (,%esi,8), %ecx".
llvm-svn: 35393
|
2007-03-28 00:58:40 +00:00 |
Bill Wendling
|
ad2db4a4cf
|
Unbreak mmx arithmetic. It was barfing trying to do v8i8 arithmetic.
llvm-svn: 35392
|
2007-03-28 00:57:11 +00:00 |
Bill Wendling
|
999c77f89c
|
Add the "unpack low packed data" instructions. This should be the last of
the MMX instructions that are needed...
llvm-svn: 35389
|
2007-03-27 21:20:36 +00:00 |
Bill Wendling
|
6dff51ae65
|
Fix so that pandn is emitted instead of an xor/and combo. Add integer
comparison operators.
llvm-svn: 35385
|
2007-03-27 20:22:40 +00:00 |
Lauro Ramos Venancio
|
682baf2dda
|
"The C standards do say that "char" may either be a "signed char" or "unsigned
char" and it is up to the compilers implementation or the platform which is
followed."
http://www.arm.linux.org.uk/docs/faqs/signedchar.php
llvm-svn: 35382
|
2007-03-27 16:33:08 +00:00 |
Lauro Ramos Venancio
|
143b0dff31
|
bugfix: sometimes the spiller puts a load between the "mov lr, pc" and "bx" of a CALL_NOLINK.
llvm-svn: 35381
|
2007-03-27 16:19:21 +00:00 |
Evan Cheng
|
7dbbd00b06
|
findRegisterUseOperand() changed.
llvm-svn: 35366
|
2007-03-26 22:41:48 +00:00 |
Bill Wendling
|
158f6092a2
|
Promote to v1i64 type...
llvm-svn: 35353
|
2007-03-26 08:03:33 +00:00 |
Bill Wendling
|
48a24419bf
|
Updated.
llvm-svn: 35352
|
2007-03-26 07:55:58 +00:00 |
Bill Wendling
|
98d2104c6f
|
Add support for the v1i64 type. This makes better code for this:
#include <mmintrin.h>
extern __m64 C;
void baz(__v2si *A, __v2si *B)
{
*A = C;
_mm_empty();
}
We get this:
_baz:
call "L1$pb"
"L1$pb":
popl %eax
movl L_C$non_lazy_ptr-"L1$pb"(%eax), %eax
movq (%eax), %mm0
movl 4(%esp), %eax
movq %mm0, (%eax)
emms
ret
GCC gives us this:
_baz:
pushl %ebx
call L3
"L00000000001$pb":
L3:
popl %ebx
subl $8, %esp
movl L_C$non_lazy_ptr-"L00000000001$pb"(%ebx), %eax
movl (%eax), %edx
movl 4(%eax), %ecx
movl 16(%esp), %eax
movl %edx, (%eax)
movl %ecx, 4(%eax)
emms
addl $8, %esp
popl %ebx
ret
llvm-svn: 35351
|
2007-03-26 07:53:08 +00:00 |
Anton Korobeynikov
|
e8ac2fce97
|
Fix authorship
llvm-svn: 35337
|
2007-03-25 13:44:26 +00:00 |
Chris Lattner
|
26ad3e7191
|
add a note
llvm-svn: 35334
|
2007-03-25 05:10:46 +00:00 |
Chris Lattner
|
9c9e2f1af2
|
add a note
llvm-svn: 35330
|
2007-03-25 04:46:28 +00:00 |
Chris Lattner
|
8810241ebc
|
Fix CodeGen/PowerPC/2007-03-24-cntlzd.ll
llvm-svn: 35329
|
2007-03-25 04:44:03 +00:00 |
Chris Lattner
|
d685514e2e
|
switch TargetLowering::getConstraintType to take the entire constraint,
not just the first letter. No functionality change.
llvm-svn: 35322
|
2007-03-25 02:14:49 +00:00 |
Chris Lattner
|
927f30da08
|
Allow the b/h/w/k constraints to be applied to values that have multiple alternatives, and end up not being registers.
llvm-svn: 35320
|
2007-03-25 02:01:03 +00:00 |
Chris Lattner
|
03a643aa69
|
enforce the proper range for the i386 N constraint.
llvm-svn: 35319
|
2007-03-25 01:57:35 +00:00 |
Chris Lattner
|
c8ddca703d
|
Fix test/CodeGen/X86/2007-03-24-InlineAsmPModifier.ll
llvm-svn: 35318
|
2007-03-25 01:44:57 +00:00 |
Chris Lattner
|
43cab75914
|
add a bad case evan though of.
llvm-svn: 35296
|
2007-03-24 06:01:32 +00:00 |
Anton Korobeynikov
|
8aae2d7e1c
|
Autodetect MMX & SSE stuff for AMD processors
llvm-svn: 35292
|
2007-03-23 23:46:48 +00:00 |
Bill Wendling
|
871c77cda1
|
PR1260:
Add final support to get the QT example to compile.
llvm-svn: 35290
|
2007-03-23 22:35:46 +00:00 |
Bill Wendling
|
7c17fbc5b7
|
We generate a shufflevector instruction, so we don't need the builtin
intrinsic.
llvm-svn: 35269
|
2007-03-22 20:29:26 +00:00 |
Bill Wendling
|
d551a18783
|
Support added for shifts and unpacking MMX instructions.
llvm-svn: 35266
|
2007-03-22 18:42:45 +00:00 |
Dale Johannesen
|
0c6bb5eab7
|
repair x86 performance, dejagnu problems from previous change
llvm-svn: 35245
|
2007-03-21 21:51:52 +00:00 |
Anton Korobeynikov
|
4ad4bcdc2d
|
Add TODO list for MSIL backend
llvm-svn: 35244
|
2007-03-21 21:48:59 +00:00 |
Anton Korobeynikov
|
aa3090d815
|
Let the new backend begin!
llvm-svn: 35242
|
2007-03-21 21:38:25 +00:00 |
Dale Johannesen
|
a827d03154
|
add generation of unnecessary push/pop around calls
llvm-svn: 35241
|
2007-03-21 21:16:39 +00:00 |
Nicolas Geoffray
|
4ea5217880
|
Protect R31's frame offset from being used by callee-saved registers, when R31
is the frame pointer.
llvm-svn: 35233
|
2007-03-21 16:44:14 +00:00 |
Evan Cheng
|
61eee86487
|
Mark re-materializable instructions.
llvm-svn: 35230
|
2007-03-21 00:16:56 +00:00 |
Evan Cheng
|
cba9538499
|
Updated.
llvm-svn: 35229
|
2007-03-20 22:32:39 +00:00 |
Dale Johannesen
|
bacf4acf65
|
do not share old induction variables when this would result in invalid
instructions (that would have to be split later)
llvm-svn: 35227
|
2007-03-20 21:54:54 +00:00 |
Lauro Ramos Venancio
|
a88c4a74f3
|
bugfix: When the source register of CALL_NOLINK was LR, the following code was emitted:
mov lr, pc
bx lr
So, the function was not called.
llvm-svn: 35218
|
2007-03-20 17:57:23 +00:00 |
Evan Cheng
|
9e7b838469
|
Make two piece constant generation as a single instruction. It's re-materialized as a load from constantpool.
llvm-svn: 35207
|
2007-03-20 08:11:30 +00:00 |
Evan Cheng
|
39eb62ea3b
|
New entry.
llvm-svn: 35206
|
2007-03-20 08:10:17 +00:00 |
Evan Cheng
|
61f39d186c
|
Added MRegisterInfo hook to re-materialize an instruction.
llvm-svn: 35205
|
2007-03-20 08:09:38 +00:00 |