- Aug 11, 2010
-
-
Daniel Dunbar authored
for some reason they have a very odd MCInst form where the operands overlap, but I haven't dug in to find out why yet. llvm-svn: 110781
-
Daniel Dunbar authored
llvm-svn: 110780
-
Bill Wendling authored
llvm-svn: 110762
-
Bill Wendling authored
llvm-svn: 110761
-
Bob Wilson authored
(I discovered 2 more copies of the ARM instruction format list, bringing the total to 4!! Two of them were already out of sync. I haven't yet gotten into the disassembler enough to know the best way to fix this, but something needs to be done.) Add support for encoding these instructions. llvm-svn: 110754
-
Evan Cheng authored
llvm-svn: 110745
-
Bruno Cardoso Lopes authored
Apply the same approach of SSE4.1 ptest intrinsics but create a new x86 node "testp" since AVX introduces vtest{ps}{pd} instructions which set ZF and CF depending on sign bit AND and ANDN of packed floating-point sources. This is slightly different from what the "ptest" does. Tests comming with the other 256 intrinsics tests. llvm-svn: 110744
-
- Aug 10, 2010
-
-
Bill Wendling authored
a register before checking if it was defined. llvm-svn: 110733
-
Evan Cheng authored
llvm-svn: 110710
-
Evan Cheng authored
Re-apply r110655 with fixes. Epilogue must restore sp from fp if the function stack frame has a var-sized object. Also added a test case to check for the added benefit of this patch: it's optimizing away the unnecessary restore of sp from fp for some non-leaf functions. llvm-svn: 110707
-
Daniel Dunbar authored
register is", it breaks a couple test-suite tests. llvm-svn: 110701
-
Evan Cheng authored
reserved, not available for general allocation. This eliminates all the extra checks for Darwin. This change also fixes the use of FP to access frame indices in leaf functions and cleaned up some confusing code in epilogue emission. llvm-svn: 110655
-
Bruno Cardoso Lopes authored
llvm-svn: 110650
-
Bruno Cardoso Lopes authored
llvm-svn: 110648
-
Bruno Cardoso Lopes authored
llvm-svn: 110645
-
Bruno Cardoso Lopes authored
llvm-svn: 110633
-
Bruno Cardoso Lopes authored
llvm-svn: 110630
-
Eric Christopher authored
llvm-svn: 110618
-
Evan Cheng authored
This will always be false before PEI: (DisableFramePointerElim(MF) && MFI->adjustsStack()) Which means it's going to make r11 available as a general purpose register even if -disable-fp-elim is specified. It's working on Darwin only because r7 is always reserved. But it's obviously broken for other targets. llvm-svn: 110614
-
- Aug 09, 2010
-
-
Bruno Cardoso Lopes authored
Add VCVTPD2PS, VCVTPS2DQ, VCVTPS2PDY, VCVTTPD2DQY, VCVTTPS2DQ and VCVTPD2DQ 256-bit conversion intrinsics llvm-svn: 110608
-
Bruno Cardoso Lopes authored
Add patterns to AVX conversions instructions. Do that instead of declaring more intructions whenever is possible, more coming llvm-svn: 110605
-
Oscar Fuentes authored
Next time the build is broken due to wrong library dependencies, just try building again (if you are on some Unix and are building all LLVM targets) or ask someone to commit the regenerated LLVMLibDeps.cmake. llvm-svn: 110593
-
Evan Cheng authored
llvm-svn: 110587
-
Evan Cheng authored
Change -prefer-32bit-thumb to attribute -mattr=+32bit instead to disable more 32-bit to 16-bit optimizations. llvm-svn: 110584
-
Bruno Cardoso Lopes authored
llvm-svn: 110582
-
Bruno Cardoso Lopes authored
llvm-svn: 110580
-
Evan Cheng authored
llvm-svn: 110579
-
Kalle Raiskila authored
llvm-svn: 110576
-
- Aug 08, 2010
-
-
Nick Lewycky authored
llvm-svn: 110543
-
Bill Wendling authored
relatively expensive comparison analyzer on each instruction. Also rename the comparison analyzer method to something more in line with what it actually does. This pass is will eventually be folded into the Machine CSE pass. llvm-svn: 110539
-
- Aug 07, 2010
-
-
Dale Johannesen authored
form of CMPSD (etc.) Matching a 128-bit memory operand is wrong, the instruction uses only 64 bits (same as ADDSD etc.) 8193553. llvm-svn: 110491
-
Bruno Cardoso Lopes authored
llvm-svn: 110480
-
- Aug 06, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 110468
-
Jim Grosbach authored
implementation of the function is equivalent, so no need to provide the target-specific version until/unless it needs to do something. llvm-svn: 110465
-
Owen Anderson authored
llvm-svn: 110460
-
Rafael Espindola authored
Without this what was happening was: * R3 is not marked as "used" * ARM backend thinks it has to save it to the stack because of vaarg * Offset computation correctly ignores it * Offsets are wrong llvm-svn: 110446
-
Bruno Cardoso Lopes authored
llvm-svn: 110427
-
Bruno Cardoso Lopes authored
llvm-svn: 110425
-
Bill Wendling authored
This pass tries to remove comparison instructions when possible. For instance, if you have this code: sub r1, 1 cmp r1, 0 bz L1 and "sub" either sets the same flag as the "cmp" instruction or could be converted to set the same flag, then we can eliminate the "cmp" instruction all together. This is a important for ARM where the ALU instructions could set the CPSR flag, but need a special suffix ('s') to do so. llvm-svn: 110423
-
Owen Anderson authored
llvm-svn: 110410
-