- Sep 29, 2010
-
-
Evan Cheng authored
llvm-svn: 115010
-
Evan Cheng authored
Assign bitwise binary instructions different itinerary classes from ALU instructions such as add / sub. llvm-svn: 115008
-
- Sep 25, 2010
-
-
Evan Cheng authored
llvm-svn: 114780
-
Evan Cheng authored
Fix scheduling itinerary for pseudo mov immediate instructions which expand into two real instructions. llvm-svn: 114766
-
- Sep 24, 2010
-
-
Owen Anderson authored
reflection, this isn't going to achieve the purpose I intended it for. Back to the drawing board! llvm-svn: 114710
-
Jim Grosbach authored
llvm-svn: 114706
-
Jim Grosbach authored
llvm-svn: 114705
-
Owen Anderson authored
llvm-svn: 114703
-
- Sep 23, 2010
-
-
Jim Grosbach authored
(yet) recognize the 'trap' mnemonic, so we use .short/.long to emit the opcode directly. On Darwin, however, we do want the mnemonic for more readable assembly code and better disassembly. Adjust the .td file to use the 'trap' mnemonic and handle using the binutils workaround in the assembly printer. Also tweak the formatting of the opcode values to make them consistent between the MC printer and the old printer. llvm-svn: 114679
-
- Sep 21, 2010
-
-
Chris Lattner authored
passed the root of the match, even though only a few patterns actually needed this (one in X86, several in ARM [which should be refactored anyway], and some in CellSPU that I don't feel like detangling). Instead of requiring all ComplexPatterns to take the dead root, have targets opt into getting the root by putting SDNPWantRoot on the ComplexPattern. llvm-svn: 114471
-
- Sep 10, 2010
-
-
Bill Wendling authored
llvm-svn: 113584
-
- Sep 09, 2010
-
-
Evan Cheng authored
llvm-svn: 113435
-
- Sep 01, 2010
-
-
Chris Lattner authored
the testcases should be merged. llvm-svn: 112711
-
Bill Wendling authored
int x(int t) { if (t & 256) return -26; return 0; } We generate this: tst.w r0, #256 mvn r0, #25 it eq moveq r0, #0 while gcc generates this: ands r0, r0, #256 it ne mvnne r0, #25 bx lr Scandalous really! During ISel time, we can look for this particular pattern. One where we have a "MOVCC" that uses the flag off of a CMPZ that itself is comparing an AND instruction to 0. Something like this (greatly simplified): %r0 = ISD::AND ... ARMISD::CMPZ %r0, 0 @ sets [CPSR] %r0 = ARMISD::MOVCC 0, -26 @ reads [CPSR] All we have to do is convert the "ISD::AND" into an "ARM::ANDS" that sets [CPSR] when it's zero. The zero value will all ready be in the %r0 register and we only need to change it if the AND wasn't zero. Easy! llvm-svn: 112664
-
Bill Wendling authored
llvm-svn: 112654
-
- Aug 30, 2010
-
-
Jim Grosbach authored
Make ARM add rN, sp, #imm instructions rematerializable. That's how the address of locals is calculated, so this should help relieve register pressure a bit. Recalculating the local address is almost always going to be better than spilling. llvm-svn: 112503
-
- Aug 29, 2010
-
-
Bill Wendling authored
llvm-svn: 112421
-
Bill Wendling authored
llvm-svn: 112394
-
- Aug 26, 2010
-
-
Bill Wendling authored
llvm-svn: 112206
-
- Aug 17, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 111277
-
Jim Grosbach authored
llvm-svn: 111266
-
Bob Wilson authored
printing "lsl #0". This fixes the remaining parts of pr7792. Make corresponding changes for encoding/decoding these instructions. llvm-svn: 111251
-
Bob Wilson authored
that the high halfword is zero. The shift need not be exactly 16 bits. llvm-svn: 111196
-
- Aug 16, 2010
-
-
Bob Wilson authored
instructions besides saturate instructions. No functional changes. llvm-svn: 111168
-
Bob Wilson authored
llvm-svn: 111154
-
- Aug 12, 2010
-
-
Johnny Chen authored
the memory barrier variants (other than 'SY' full system domain read and write) are treated as one instruction with option operand. llvm-svn: 110951
-
Johnny Chen authored
Added two test cases to arm-tests.txt. llvm-svn: 110880
-
Bob Wilson authored
instruction opcode. This also fixes part of PR7792. llvm-svn: 110875
-
- Aug 11, 2010
-
-
Evan Cheng authored
llvm-svn: 110787
-
Evan Cheng authored
memory and synchronization barrier dmb and dsb instructions. - Change instruction names to something more sensible (matching name of actual instructions). - Added tests for memory barrier codegen. llvm-svn: 110785
-
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
-
- Aug 05, 2010
-
-
Bob Wilson authored
llvm-svn: 110363
-
Bob Wilson authored
Partial fix for PR7792. llvm-svn: 110361
-
Bob Wilson authored
Partial fix for PR7792. llvm-svn: 110358
-
- Jul 31, 2010
-
-
Bob Wilson authored
the jtblock_operand print methods. This avoids extra newlines in the disassembler's output. PR7757. llvm-svn: 109948
-
- Jul 30, 2010
-
-
Nate Begeman authored
llvm-svn: 109813
-
- Jul 29, 2010
-
-
Nate Begeman authored
Add intrinsics __builtin_arm_qadd & __builtin_arm_qsub to allow access to the QADD & QSUB instructions. Behave identically to __qadd & __qsub RealView instruction intrinsics. llvm-svn: 109770
-
Jim Grosbach authored
ARM mode version of r109693. Remove incorrect substitution pattern for UXTB16. It wrongly assumed the input shift was actually a rotate. rdar://8240138 llvm-svn: 109696
-
- Jul 17, 2010
-
-
Jim Grosbach authored
and a combine pattern to use it for setting a bit-field to a constant value. More to come for non-constant stores. llvm-svn: 108570
-