Owen Anderson
|
13b8d1e396
|
Make use of Eli's FileCheck sorcery to improve this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139645 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-13 21:37:50 +00:00 |
|
Owen Anderson
|
7782a58b87
|
Correct disassembly printing of Thumb2 post-incremented LDRD and STRD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139639 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-13 20:46:26 +00:00 |
|
Craig Topper
|
58bbb81764
|
Remove filter that was preventing MOVDQU/MOVDQA and their VEX forms from being disassembled. Also added encodings for the other register/register form of these instructions. Fixes PR10848.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139588 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-13 06:54:58 +00:00 |
|
Owen Anderson
|
cd00dc6852
|
Thumb2 POP's don't allow the PC as an operand, and PUSH's don't allow the SP either.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139542 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-12 21:28:46 +00:00 |
|
Owen Anderson
|
a3157b4026
|
Port more encoding tests to decoding tests, and correct an improper Thumb2 pre-indexed load decoding this uncovered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139522 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-12 18:56:30 +00:00 |
|
Craig Topper
|
136046c9a2
|
Fix disassembling of one of the register/register forms of MOVUPS/MOVUPD/MOVAPS/MOVAPD/MOVSS/MOVSD and their VEX equivalents. Fixes PR10877.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139486 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-11 23:19:54 +00:00 |
|
Craig Topper
|
038197988b
|
Fix disassembling of reverse register/register forms of ADD/SUB/XOR/OR/AND/SBB/ADC/CMP/MOV.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139485 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-11 21:41:45 +00:00 |
|
Craig Topper
|
842f58f9be
|
Fix disassembling of PAUSE instruction. Fixes PR10900. Also fixed NOP disassembling to ignore OpSize and REX.W.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139484 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-11 20:23:20 +00:00 |
|
Owen Anderson
|
921d01ae1f
|
LDM writeback is not allowed if Rn is in the target register list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139432 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-09 23:13:33 +00:00 |
|
Owen Anderson
|
08fef885eb
|
Fix assembly/disassembly of Thumb2 ADR instructions with immediate operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139422 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-09 22:24:36 +00:00 |
|
Craig Topper
|
d3be6ecafe
|
Add disassembler test for Intel syntax. Tests r139353.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139356 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-09 06:35:44 +00:00 |
|
Owen Anderson
|
d2fc31b3f7
|
Soft fail CBZ/CBNZ in the disassembler if they appear inside an IT block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139328 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-08 22:42:49 +00:00 |
|
Jim Grosbach
|
a77295db19
|
Thumb2 assembly parsing and encoding for LDRD(immediate).
Refactor operand handling for STRD as well. Tests for that forthcoming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139322 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-08 22:07:06 +00:00 |
|
Owen Anderson
|
8a83f71301
|
Create Thumb2 versions of STC/LDC, and reenable the relevant tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139256 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-07 21:10:42 +00:00 |
|
James Molloy
|
a5d5856854
|
Second of a three-patch series aiming to fix MSR/MRS on Cortex-M. This adds predicate checking to the Disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139250 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-07 19:42:28 +00:00 |
|
Jim Grosbach
|
90502888f2
|
Update test for 139243
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139244 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-07 18:40:06 +00:00 |
|
Owen Anderson
|
6de3c6f1a9
|
Port more assembler tests over to disassembler tests, and fix a minor logic error that exposed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139240 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-07 17:55:19 +00:00 |
|
Owen Anderson
|
39950595f7
|
Port more encoding tests over to Thumb2 decoding tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139171 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-06 20:26:34 +00:00 |
|
Kevin Enderby
|
d5705fe50d
|
Change X86 disassembly to print immediates values as signed by default. Special
case those instructions that the immediate is not sign-extend. radr://8795217
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139028 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-02 20:01:23 +00:00 |
|
Kevin Enderby
|
98f213cd60
|
Fix the disassembly of the X86 "crc32w %ax, %eax" instruction. Bug 10702.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139014 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-02 18:03:03 +00:00 |
|
Craig Topper
|
5ffedb9352
|
Make IC_VEX* not inherit from IC_*. Prevents instructions with no VEX form from disassembling to their non-VEX form. Also prevents weak filter collisons that were keeping valid VEX instructions from decoding properly. Make VEX_L* not inherit from VEX_* because the VEX.L bit always important. This stops packed int VEX encodings from being disassembled when specified with VEX.L=1. Fixes PR10831 and PR10806.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138997 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-02 04:17:54 +00:00 |
|
Owen Anderson
|
eaca928a37
|
Fix issues with disassembly of IT instructions involving condition codes other the EQ/NE. Discovered by roundtrip testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138840 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-30 22:58:27 +00:00 |
|
Owen Anderson
|
3318d9c27d
|
Port Thumb2 assembler tests over to disassembler tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138822 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-30 20:03:11 +00:00 |
|
Craig Topper
|
3daa5c29d4
|
Add vvvv support to disassembling of instructions with MRMDestMem and MRMDestReg form. Needed to support mem dest form of vmaskmovps/d. Fixes PR10807.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138795 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-30 07:09:35 +00:00 |
|
Kevin Enderby
|
fff64ca9cf
|
Fix the disassembly of the X86 crc32 instruction. Bug 10702 and rdar://8795217
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138771 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-29 22:06:28 +00:00 |
|
Owen Anderson
|
f1eab597b2
|
Improve encoding support for BLX with immediat eoperands, and fix a BLX decoding bug this uncovered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138675 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-26 23:32:08 +00:00 |
|
Owen Anderson
|
9ab0f25fc1
|
invalid-LDR_PRE-arm.txt was already passing, but for the wrong reasons. We were failing to specify enough fixed bits of LDR_PRE/LDRB_PRE, resulting in decoding conflicts. Separate them into immediate vs. register versions, allowing us to specify the necessary fixed bits. This in turn results in the test being decoded properly, and being rejected as UNPREDICTABLE rather than a hard failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138653 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-26 20:43:14 +00:00 |
|
Owen Anderson
|
96425c8464
|
Support an extension of ARM asm syntax to allow immediate operands to ADR instructions. This is helpful for disassembler testing, and indeed exposed a disassembler bug that is also fixed here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138635 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-26 18:09:22 +00:00 |
|
Owen Anderson
|
5a18f20dab
|
Add a testcase for r138625.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138626 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-26 06:45:08 +00:00 |
|
Craig Topper
|
8fd13b6de5
|
Fix disassembling of VCVTSD2SI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138623 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-26 04:49:29 +00:00 |
|
Owen Anderson
|
99906830e8
|
Port over additional encoding tests to decoding tests, and fix an operand ordering bug this exposed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138575 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-25 18:30:18 +00:00 |
|
Craig Topper
|
113061d39b
|
Give ATTR_VEX higher priority when generating the disassembler context table. Fixes disassembling of VEX instructions with 'pp'=00. Fixes subset of PR10678.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138552 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-25 07:42:00 +00:00 |
|
Craig Topper
|
ea03659d23
|
Add TB encoding to VEROALL, VZEROUPPER, and VCVTPS2PD to allow them to be disassembled. Fixes PR10723.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138551 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-25 06:57:46 +00:00 |
|
Owen Anderson
|
ddaa513fce
|
Port over more encoding tests to decoding tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138441 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-24 17:08:34 +00:00 |
|
Owen Anderson
|
82265a2c72
|
Fix decoding of Thumb2 prefetch instructions, which account for all the remaining Thumb2 decoding failures found by randomized testing so far.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138341 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-23 17:51:38 +00:00 |
|
Owen Anderson
|
e732cb0043
|
Fix two more instances of mis-matched operand names breaking disassembly. Found by randomized testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138337 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-23 17:37:32 +00:00 |
|
Owen Anderson
|
b4ff9698bd
|
Port more assemble tests over to disassembly tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138336 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-23 17:26:35 +00:00 |
|
Owen Anderson
|
c6788c83b4
|
t2SMLAD is a four-register instruction, not a three-register one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138301 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-22 23:31:45 +00:00 |
|
Owen Anderson
|
22d35086fe
|
Correct operand naming of t2USAT16 to allow proper decoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138300 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-22 23:27:47 +00:00 |
|
Owen Anderson
|
2379fc235f
|
Match operand naming to allow correct decoding of t2LDRSH_POST.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138298 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-22 23:22:05 +00:00 |
|
Owen Anderson
|
2c9f83533b
|
Provide a correct decoder hook for Thumb2 shifted registers. Found by randomized testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138292 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-22 23:10:16 +00:00 |
|
Owen Anderson
|
838130e3b9
|
Provide operand encoding information for half-precision VCVT instructions. Found by randomized testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138273 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-22 21:34:00 +00:00 |
|
Owen Anderson
|
357ec6850b
|
Fix decoding of VMOVSRR and VMOVRRS, which account for the overwhelming majority of decoder crashes detected by randomized testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138269 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-22 20:27:12 +00:00 |
|
Owen Anderson
|
2cbf210450
|
Fix another batch of VLD/VST decoding crashes discovered by randomized testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138255 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-22 18:42:13 +00:00 |
|
Owen Anderson
|
f1c8e3e70e
|
Correct writeback handling of duplicating VLD instructions. Discovered by randomized testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138251 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-22 18:22:06 +00:00 |
|
Owen Anderson
|
88b7ccc7f0
|
Port another swathe of Thumb1 encoding tests over to decoding tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138250 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-22 18:05:49 +00:00 |
|
Owen Anderson
|
b113ec55e8
|
Fix an incorrect shift when decoding SP-relative stores in Thumb1-mode. Add more tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138246 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-22 17:56:58 +00:00 |
|
Craig Topper
|
e004d941ec
|
Add TB encoding to VEX versions of SSE fp logical operations to fix disassembler
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138034 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-19 05:28:50 +00:00 |
|
Owen Anderson
|
78affc9ea1
|
STC2L_POST and STC2L_POST should be handled the same as STCL_POST/LDC_POST for the purposes of decoding all operands except the predicate.
Found by randomized testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138003 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-18 22:47:44 +00:00 |
|
Owen Anderson
|
846dd95f87
|
Fix the decoding of RFE instruction. RFEs have the load bit set, while SRSs have it unset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138000 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-18 22:31:17 +00:00 |
|