summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
...
* Delete a line that I forgot to revert previously.Bob Wilson2010-12-131-1/+0
| | | | llvm-svn: 121719
* Use COPY_TO_REGCLASS instead of pseudo instructions for Neon FP patterns.Bob Wilson2010-12-132-44/+13
| | | | | | | | Jakob Olesen suggested that we can avoid the need for separate pseudo instructions here by using COPY_TO_REGCLASS in the patterns. The pattern gets pretty ugly but it seems to work well. Partial fix for Radar 8711675. llvm-svn: 121718
* Use pseudo instructions for 2-register Neon instructions for scalar FP.Bob Wilson2010-12-132-35/+39
| | | | | | Partial fix for Radar 8711675. llvm-svn: 121716
* Remove unused instruction class arguments.Bob Wilson2010-12-131-25/+14
| | | | llvm-svn: 121715
* Generalize BFI isel lowering a bit.Evan Cheng2010-12-131-29/+35
| | | | llvm-svn: 121714
* In Thumb2, direct branches can be encoded as either a "short" conditional ↵Owen Anderson2010-12-136-8/+70
| | | | | | | | | | branch with a null predicate, or as a "long" direct branch. While the mnemonics are the same, they encode the branch offset differently, and the Darwin assembler appears to prefer the "long" form for direct branches. Thus, in the name of bitwise equivalence, provide encoding and fixup support for it. llvm-svn: 121710
* Use 32-bit types for 32-bit values.Jim Grosbach2010-12-131-3/+3
| | | | llvm-svn: 121709
* Trailing whitespace.Jim Grosbach2010-12-131-8/+8
| | | | llvm-svn: 121708
* Disable auto-detection of AVX support since AVX codegen support is not ready.Evan Cheng2010-12-132-2/+5
| | | | llvm-svn: 121677
* add a noteChris Lattner2010-12-131-0/+36
| | | | llvm-svn: 121656
* Missed some ADDI <-> ADDIK conversions in 121649.Wesley Peck2010-12-121-8/+8
| | | | llvm-svn: 121652
* MBlaze delay slot filler was not capable of using ADDK and variants to fill ↵Wesley Peck2010-12-121-1/+18
| | | | | | delay slots. This broke several test cases when 121649 was committed. This fixes the regression. llvm-svn: 121650
* The ADD and ADDK (and all variants) instructions where flip-flopped in the ↵Wesley Peck2010-12-128-49/+49
| | | | | | MBlaze backend. This bug fix makes 64-bit math work on the MBlaze backend. llvm-svn: 121649
* 1. Change MBlaze indirect branches to use absolute branch BRALD instead of ↵Wesley Peck2010-12-125-12/+158
| | | | | | | | | pc relative branch BRLD. 2. Make sure that the MBlaze stack is aligned to 4-byte boundaries. 3. Determine frame indexes that should be placed in the callers stack frame, as per the MBlaze ABI, and place them in the correct locations. llvm-svn: 121639
* Generalize the and-icmp-select instcombine further by allowing selects of ↵Benjamin Kramer2010-12-111-12/+0
| | | | | | | | | | | the form (x & 2^n) ? 2^m+C : C we can offset both arms by C to get the "(x & 2^n) ? 2^m : 0" form, optimize the select to a shift and apply the offset afterwards. llvm-svn: 121609
* Factor the (x & 2^n) ? 2^m : 0 instcombine into its own method and generalize itBenjamin Kramer2010-12-111-40/+0
| | | | | | to catch cases where n != m with a shift. llvm-svn: 121608
* (or (and (shl A, #shamt), mask), B) => ARMbfi B, A, ~mask where lsb(mask) == ↵Evan Cheng2010-12-112-17/+38
| | | | | | #shamt. rdar://8752056 llvm-svn: 121606
* Add FIXMEJim Grosbach2010-12-101-0/+2
| | | | llvm-svn: 121598
* Attempt to get Thumb2 branch fixups working properly.Owen Anderson2010-12-102-3/+2
| | | | llvm-svn: 121593
* Fix merge error in my last fix to Thumb2 vldr fixups.Owen Anderson2010-12-101-1/+1
| | | | llvm-svn: 121588
* Fixups for Thumb2 vldr's need to have the effective PC aligned as well.Owen Anderson2010-12-102-3/+4
| | | | llvm-svn: 121587
* The MCFixupKindInfo table needs to be in the order that the enums wereBill Wendling2010-12-101-16/+19
| | | | | | declared. Add a note specifying this and spruce up the list a bit. llvm-svn: 121586
* Provide the necessary post-encoder hook for Thumb2 encodings of VMOV and ↵Owen Anderson2010-12-101-0/+1
| | | | | | friends. llvm-svn: 121585
* Add float patterns for Neon vld1-lane/dup and vst1-lane operations.Bob Wilson2010-12-101-0/+17
| | | | llvm-svn: 121583
* Remove unused arguments.Bob Wilson2010-12-101-4/+4
| | | | llvm-svn: 121582
* Fix encoding of Thumb1 LDRB and STRB.Owen Anderson2010-12-103-0/+18
| | | | llvm-svn: 121581
* Trailing whitespace.Jim Grosbach2010-12-101-16/+16
| | | | llvm-svn: 121580
* Fix Thumb2 encodings of STREX and LDREX.Owen Anderson2010-12-101-0/+12
| | | | llvm-svn: 121579
* Correct encoding of rotation immediate for Thumb2 instructions. rdar://8755999Jim Grosbach2010-12-101-4/+5
| | | | llvm-svn: 121525
* Fix encoding of 'U' bit for Thumb2 STRD/LDRD instructions. rdar://8755726Jim Grosbach2010-12-101-4/+4
| | | | llvm-svn: 121524
* More trivial cleanup. No need to define the EncoderMethod property type. CanJim Grosbach2010-12-102-7/+7
| | | | | | just assign to it. llvm-svn: 121523
* Tidy up.Jim Grosbach2010-12-101-11/+8
| | | | llvm-svn: 121522
* Trailing whitespace.Jim Grosbach2010-12-101-5/+5
| | | | llvm-svn: 121521
* Fix some invalid alignments for Neon vld-dup and vld/st-lane instructions.Bob Wilson2010-12-101-0/+4
| | | | | | | Alignments smaller than the total size of the memory being loaded or stored, unless the alignment is 8 bytes, are not allowed. Add tests for this, too. llvm-svn: 121506
* Teach isCSRestore() that ARM/Thumb2 functions will use post-modify LDRJim Grosbach2010-12-101-0/+5
| | | | | | | instructions to restore a single register rather than an LDM instruction. rdar://8754999 llvm-svn: 121498
* Thumb unconditional branch binary encoding. rdar://8754994Jim Grosbach2010-12-105-3/+32
| | | | llvm-svn: 121496
* Thumb conditional branch binary encodings. rdar://8745367Jim Grosbach2010-12-105-1/+28
| | | | llvm-svn: 121493
* Fixed version of 121434 with no new memory leaks.Rafael Espindola2010-12-106-38/+42
| | | | llvm-svn: 121471
* Fix cmake build.Rafael Espindola2010-12-101-1/+0
| | | | llvm-svn: 121462
* Revert my previous patch to make the valgrind bots happy.Rafael Espindola2010-12-105-41/+38
| | | | llvm-svn: 121461
* lib/Target/CMakeLists.txt: Add missing lib/Target/TargetAsmInfo.cpp, ↵NAKAMURA Takumi2010-12-101-0/+1
| | | | | | following up to r121434. llvm-svn: 121454
* Fix the leak from r121401 of the Operands erased in the list but not deleted.Kevin Enderby2010-12-101-6/+15
| | | | llvm-svn: 121450
* Add some missing predicates.Nate Begeman2010-12-101-2/+4
| | | | llvm-svn: 121445
* Formalize the notion that AVX and SSE are non-overlapping extensions from ↵Nate Begeman2010-12-107-49/+60
| | | | | | the compiler's point of view. Per email discussion, we either want to always use VEX-prefixed instructions or never use them, and are taking "HasAVX" to mean "Always use VEX". Passing -mattr=-avx,+sse42 should serve to restore legacy SSE support when desirable. llvm-svn: 121439
* Initial support for the cfi directives. This is just enough to getRafael Espindola2010-12-095-38/+41
| | | | | | | | | | | f: .cfi_startproc nop .cfi_endproc assembled (on ELF). llvm-svn: 121434
* Thumb ldr reg+imm offsets were encoded incorrectly. The scaling factor of theBill Wendling2010-12-093-44/+12
| | | | | | | t_addrmode_s# address modes is used for ASM printing, not for encoding. <rdar://problem/8745375> llvm-svn: 121417
* Add support for AVX to materialize +0.0 when doing scalar FP.Nate Begeman2010-12-093-2/+12
| | | | llvm-svn: 121415
* Use the new IsAligned fixup flag to improve fixup encodings for Thumb2 ↵Owen Anderson2010-12-092-2/+4
| | | | | | | | branches. This is still not perfect, but it gets many more of them correct than it did previously. llvm-svn: 121414
* Fix an issue in some Thumb fixups, where the effective PC address needs to ↵Owen Anderson2010-12-092-3/+4
| | | | | | | | | | be 4-byte aligned when calculating the offset. Add a new fixup flag to represent this, and use it for the one fixups that I have a testcase for needing this. It's quite likely that the other Thumb fixups will need this too, and to have their fixup encoding logic adjusted accordingly. llvm-svn: 121408
* Rename CB/CBZ specific fixup accordingly.Jim Grosbach2010-12-093-6/+6
| | | | llvm-svn: 121404
OpenPOWER on IntegriCloud