| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Specify a necessary fixed bit for VLD3DUP, and otherwise rearrange the ↵ | Owen Anderson | 2011-08-15 | 1 | -16/+21 |
| | | | | | | | Thumb2 NEON decoding hooks to bring us closer to correctness. llvm-svn: 137686 | ||||
| * | Enforce the constraint that Rt must be even on LDRD/STRD instructions in ARM ↵ | Owen Anderson | 2011-08-15 | 1 | -0/+15 |
| | | | | | | | | | mode. Update tests to reflect this fact. Patch by James Molloy. llvm-svn: 137647 | ||||
| * | Fix problems decoding the to/from-lane NEON memory instructions, and add a ↵ | Owen Anderson | 2011-08-15 | 1 | -0/+460 |
| | | | | | | | comprehensive NEON decoding testcase. llvm-svn: 137635 | ||||
| * | Fix some remaining issues with decoding ARM-mode memory instructions, and ↵ | Owen Anderson | 2011-08-12 | 1 | -19/+10 |
| | | | | | | | add another batch of tests. llvm-svn: 137502 | ||||
| * | Fix decoding of ARM-mode STRH. | Owen Anderson | 2011-08-12 | 1 | -0/+3 |
| | | | | | llvm-svn: 137499 | ||||
| * | Fix decoding of pre-indexed stores. | Owen Anderson | 2011-08-12 | 1 | -0/+41 |
| | | | | | llvm-svn: 137487 | ||||
| * | Separate decoding for STREXD and LDREXD to make each work better. | Owen Anderson | 2011-08-12 | 1 | -5/+22 |
| | | | | | llvm-svn: 137476 | ||||
| * | ARM STRT assembly parsing and encoding. | Jim Grosbach | 2011-08-11 | 1 | -2/+2 |
| | | | | | llvm-svn: 137372 | ||||
| * | Add another accidentally omitted predicate operand. | Owen Anderson | 2011-08-11 | 1 | -0/+2 |
| | | | | | llvm-svn: 137370 | ||||
| * | Add missing predicate operand on SMLA and friends. | Owen Anderson | 2011-08-11 | 1 | -0/+2 |
| | | | | | llvm-svn: 137368 | ||||
| * | Fix decoding support for STREXD and LDREXD. | Owen Anderson | 2011-08-11 | 1 | -0/+23 |
| | | | | | llvm-svn: 137356 | ||||
| * | Fix decoding for indexed STRB and LDRB. Fixes <rdar://problem/9926161>. | Owen Anderson | 2011-08-11 | 1 | -0/+4 |
| | | | | | llvm-svn: 137347 | ||||
| * | Continue to tighten decoding by performing more operand validation. | Owen Anderson | 2011-08-11 | 1 | -0/+10 |
| | | | | | llvm-svn: 137340 | ||||
| * | ARM STRBT assembly parsing and encoding. | Jim Grosbach | 2011-08-11 | 1 | -2/+2 |
| | | | | | llvm-svn: 137337 | ||||
| * | Tighten decoding of addrmode2 instructions to reject more UNPREDICTABLE cases. | Owen Anderson | 2011-08-11 | 1 | -0/+2 |
| | | | | | llvm-svn: 137325 | ||||
| * | Tighten operand decoding of addrmode2 instruction. The offset register ↵ | Owen Anderson | 2011-08-11 | 1 | -1/+1 |
| | | | | | | | cannot be PC. llvm-svn: 137323 | ||||
| * | Improve error checking in the new ARM disassembler. Patch by James Molloy. | Owen Anderson | 2011-08-11 | 1 | -116/+159 |
| | | | | | llvm-svn: 137320 | ||||
| * | ARM LDRT assembly parsing and encoding. | Jim Grosbach | 2011-08-10 | 1 | -2/+2 |
| | | | | | llvm-svn: 137282 | ||||
| * | Add initial support for decoding NEON instructions in Thumb2 mode. | Owen Anderson | 2011-08-10 | 1 | -2/+52 |
| | | | | | llvm-svn: 137236 | ||||
| * | Cleanups based on Nick Lewycky's feedback. | Owen Anderson | 2011-08-10 | 1 | -19/+22 |
| | | | | | llvm-svn: 137224 | ||||
| * | Push GPRnopc through a large number of instruction definitions to tighten ↵ | Owen Anderson | 2011-08-10 | 1 | -4/+4 |
| | | | | | | | operand decoding. llvm-svn: 137189 | ||||
| * | Tighten operand checking of register-shifted-register operands. | Owen Anderson | 2011-08-09 | 1 | -2/+2 |
| | | | | | llvm-svn: 137180 | ||||
| * | Tighten operand checking on memory barrier instructions. | Owen Anderson | 2011-08-09 | 1 | -2/+24 |
| | | | | | llvm-svn: 137176 | ||||
| * | Tighten operand checking on CPS instructions. | Owen Anderson | 2011-08-09 | 1 | -0/+5 |
| | | | | | llvm-svn: 137172 | ||||
| * | Create a new register class for the set of all GPRs except the PC. Use it ↵ | Owen Anderson | 2011-08-09 | 1 | -0/+8 |
| | | | | | | | to tighten our decoding of BFI. llvm-svn: 137168 | ||||
| * | ARM Disassembler: sign extend branch immediates. | Benjamin Kramer | 2011-08-09 | 1 | -2/+2 |
| | | | | | | | Not sure about BLXi, but this is what the old disassembler did. llvm-svn: 137156 | ||||
| * | Silence an false-positive warning. | Owen Anderson | 2011-08-09 | 1 | -1/+1 |
| | | | | | llvm-svn: 137154 | ||||
| * | Tighten Thumb1 branch predicate decoding. | Owen Anderson | 2011-08-09 | 1 | -0/+3 |
| | | | | | llvm-svn: 137146 | ||||
| * | Replace the existing ARM disassembler with a new one based on the ↵ | Owen Anderson | 2011-08-09 | 1 | -491/+2235 |
| | | | | | | | | | | | FixedLenDecoderEmitter. This new disassembler can correctly decode all the testcases that the old one did, though some "expected failure" testcases are XFAIL'd for now because it is not (yet) as strict in operand checking as the old one was. llvm-svn: 137144 | ||||
| * | ARM refactoring assembly parsing of memory address operands. | Jim Grosbach | 2011-08-03 | 1 | -4/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | Memory operand parsing is a bit haphazzard at the moment, in no small part due to the even more haphazzard representations of memory operands in the .td files. Start cleaning that all up, at least a bit. The addressing modes in the .td files will be being simplified to not be so monolithic, especially with regards to immediate vs. register offsets and post-indexed addressing. addrmode3 is on its way with this patch, for example. This patch is foundational to enable going back to smaller incremental patches for the individual memory referencing instructions themselves. It does just enough to get the basics in place and handle the "make check" regression tests we already have. Follow-up work will be fleshing out the details and adding more robust test cases for the individual instructions, starting with ARM mode and moving from there into Thumb and Thumb2. llvm-svn: 136845 | ||||
| * | Fix typo in the comment. | Johnny Chen | 2011-04-19 | 1 | -1/+1 |
| | | | | | llvm-svn: 129837 | ||||
| * | Adding support for printing operands symbolically to llvm's public 'C' | Kevin Enderby | 2011-04-11 | 1 | -0/+8 |
| | | | | | | | | | | | | | | disassembler API. Hooked this up to the ARM target so such tools as Darwin's otool(1) can now print things like branch targets for example this: blx _puts instead of this: blx #-36 And even print the expression encoded in the Mach-O relocation entried for things like this: movt r0, :upper16:((_foo-_bar)+1234) llvm-svn: 129284 | ||||
| * | Fixed the t2PLD and friends disassembly and add two test cases. | Johnny Chen | 2011-03-26 | 1 | -2/+35 |
| | | | | | llvm-svn: 128322 | ||||
| * | Plug a leak by ThumbDisassembler::getInstruction(), thanks to Benjamin Kramer! | Johnny Chen | 2011-03-24 | 1 | -3/+1 |
| | | | | | llvm-svn: 128241 | ||||
| * | Plug a leak in the arm disassembler and put the tests back. | Benjamin Kramer | 2011-03-24 | 1 | -3/+2 |
| | | | | | llvm-svn: 128238 | ||||
| * | For ARM Disassembler, start a newline to dump the opcode and friends for an ↵ | Johnny Chen | 2011-03-22 | 1 | -1/+1 |
| | | | | | | | | | instruction. Change inspired by llvm-bug 9530 submitted by Jyun-Yan You. llvm-svn: 128122 | ||||
| * | LLVM combines the offset mode of A8.6.199 A1 & A2 into STRBT. | Johnny Chen | 2011-03-09 | 1 | -0/+3 |
| | | | | | | | | | | The insufficient encoding information of the combined instruction confuses the decoder wrt UQADD16. Add extra logic to recover from that. Fixed an assert reported by Sean Callanan llvm-svn: 127354 | ||||
| * | Revert both r121082 (which broke a bunch of constant pool stuff) and r125074 ↵ | Owen Anderson | 2011-02-08 | 1 | -7/+7 |
| | | | | | | | (which worked around it). This should get us back to the old, correct behavior, though it will make the integrated assembler unhappy for the time being. llvm-svn: 125127 | ||||
| * | Second attempt at converting Thumb2's LDRpci, including updating the ↵ | Owen Anderson | 2010-12-07 | 1 | -5/+5 |
| | | | | | | | gazillion places that need to know about it. llvm-svn: 121082 | ||||
| * | Add correct encodings for STRD and LDRD, including fixup support. ↵ | Owen Anderson | 2010-12-01 | 1 | -3/+0 |
| | | | | | | | Additionally, update these to unified syntax. llvm-svn: 120589 | ||||
| * | Simplify the encoding of reg+/-imm12 values that allow PC-relative encoding. ↵ | Owen Anderson | 2010-11-30 | 1 | -35/+0 |
| | | | | | | | | | | This allows the Thumb2 encoding to share code with the ARM encoding, which gets use fixup support for free. It also allows us to fold away at least one codegen-only pattern. llvm-svn: 120481 | ||||
| * | Add support to match @llvm.prefetch to pld / pldw / pli. rdar://8601536. | Evan Cheng | 2010-11-03 | 1 | -6/+6 |
| | | | | | llvm-svn: 118152 | ||||
| * | Detabify and clean up 80 column violations. | Jim Grosbach | 2010-10-13 | 1 | -1/+2 |
| | | | | | llvm-svn: 116454 | ||||
| * | Add ARM Disassembler to the CMake build. | Oscar Fuentes | 2010-09-28 | 1 | -2/+2 |
| | | | | | llvm-svn: 114949 | ||||
| * | ARM/Disassembler: Fix definitions incompatible(unsigned and uint32_t) to ↵ | NAKAMURA Takumi | 2010-09-08 | 1 | -2/+2 |
| | | | | | | | Cygwin-1.5, following up to r113255. llvm-svn: 113345 | ||||
| * | The autogened decoder was confusing the ARM STRBT for ARM USAT, because the .td | Johnny Chen | 2010-08-12 | 1 | -0/+7 |
| | | | | | | | | | | | entry for ARM STRBT is actually a super-instruction for A8.6.199 STRBT A1 & A2. Recover by looking for ARM:USAT encoding pattern before delegating to the auto- gened decoder. Added a "usat" test case to arm-tests.txt. llvm-svn: 110894 | ||||
| * | Move the ARM SSAT and USAT optional shift amount operand out of the | Bob Wilson | 2010-08-11 | 1 | -1/+1 |
| | | | | | | | instruction opcode. This also fixes part of PR7792. llvm-svn: 110875 | ||||
| * | For t2LDRT, t2LDRBT, t2LDRHT, t2LDRSBT, and t2LDRSHT, if ↵ | Johnny Chen | 2010-04-20 | 1 | -5/+5 |
| | | | | | | | | | | Rn(Inst{19-16})=='1111', transform the Opcode to the corresponding t2LDR*pci counterpart. Ref: A8.6.86 LDRT, A8.6.65 LDRBT, A8.6.77 LDRHT, A8.6.81 LDRSBT, A8.6.85 LDRSHT llvm-svn: 101915 | ||||
| * | More IT instruction error-handling improvements from fuzzing. | Johnny Chen | 2010-04-20 | 1 | -3/+17 |
| | | | | | llvm-svn: 101839 | ||||
| * | Better error handling of invalid IT mask '0000', instead of just asserting. | Johnny Chen | 2010-04-19 | 1 | -3/+9 |
| | | | | | llvm-svn: 101827 | ||||

