Owen Anderson
|
071eb7580a
|
Reapply r140412 (Thumb2 reg-reg loads cannot target SP or PC), with invalid testcases updated.
llvm-svn: 140415
|
2011-09-23 21:07:25 +00:00 |
|
Craig Topper
|
655f8a01e6
|
Don't allow 32-bit only instructions to be disassembled in 64-bit mode. Fixes part of PR10700.
llvm-svn: 140370
|
2011-09-23 06:57:25 +00:00 |
|
Craig Topper
|
95f048d1ff
|
Fix register printing in disassembling of push/pop of segment registers and in/out in Intel syntax mode. Fixes PR10960
llvm-svn: 140299
|
2011-09-22 07:01:50 +00:00 |
|
Owen Anderson
|
7b134fe54c
|
Print out immediate offset versions of PC-relative load/store instructions as [pc, #123] rather than simply #123.
llvm-svn: 140283
|
2011-09-21 23:44:46 +00:00 |
|
Owen Anderson
|
4177cfc809
|
Port over more Thumb2 encoding tests to decoding tests.
llvm-svn: 140152
|
2011-09-20 17:44:48 +00:00 |
|
Owen Anderson
|
b843f3625d
|
Handle STRT (and friends) like LDRT (and friends) for decoding purposes. Port over additional encoding tests to decoding tests.
llvm-svn: 140032
|
2011-09-19 18:07:10 +00:00 |
|
Owen Anderson
|
df512e9961
|
Add a testcase for another corner-case decoding.
llvm-svn: 139970
|
2011-09-16 23:15:29 +00:00 |
|
Owen Anderson
|
eae0eee720
|
Fix disassembly of Thumb2 BFI instructions with bit range of [0, 32).
llvm-svn: 139964
|
2011-09-16 22:29:48 +00:00 |
|
Owen Anderson
|
3a487c8c9b
|
Add fixed bits to correctly distinguish Thumb2 SSAT/SSAT16's.
llvm-svn: 139958
|
2011-09-16 22:17:02 +00:00 |
|
Owen Anderson
|
5804085f26
|
Fix disassembly of Thumb2 LDRSH with a #-0 offset.
llvm-svn: 139943
|
2011-09-16 21:08:33 +00:00 |
|
Owen Anderson
|
ceb2fb9548
|
Port over more Thumb2 assembly tests to disassembly tests.
llvm-svn: 139915
|
2011-09-16 17:56:04 +00:00 |
|
Owen Anderson
|
8bc7120609
|
Port over more Thumb2 assembly tests to disassembly tests.
llvm-svn: 139912
|
2011-09-16 17:22:48 +00:00 |
|
Craig Topper
|
60719c7bfb
|
Fix mem type for VEX.128 form of VROUNDP*. Remove filter preventing VROUND from being recognized by disassembler.
llvm-svn: 139691
|
2011-09-14 06:41:26 +00:00 |
|
Craig Topper
|
25e81ae604
|
Make disassembling of VBLEND* print immediate as a XMM/YMM register name. Fixes PR10917.
llvm-svn: 139690
|
2011-09-14 05:55:28 +00:00 |
|
Craig Topper
|
d707457c41
|
Add test case for PR10851.
llvm-svn: 139689
|
2011-09-14 04:36:54 +00:00 |
|
Owen Anderson
|
1037a3e60b
|
Make use of Eli's FileCheck sorcery to improve this test.
llvm-svn: 139645
|
2011-09-13 21:37:50 +00:00 |
|
Owen Anderson
|
d0121fe635
|
Correct disassembly printing of Thumb2 post-incremented LDRD and STRD.
llvm-svn: 139639
|
2011-09-13 20:46:26 +00:00 |
|
Craig Topper
|
03c833ff84
|
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.
llvm-svn: 139588
|
2011-09-13 06:54:58 +00:00 |
|
Owen Anderson
|
a1a10ed5c6
|
Thumb2 POP's don't allow the PC as an operand, and PUSH's don't allow the SP either.
llvm-svn: 139542
|
2011-09-12 21:28:46 +00:00 |
|
Owen Anderson
|
05ef2c122d
|
Port more encoding tests to decoding tests, and correct an improper Thumb2 pre-indexed load decoding this uncovered.
llvm-svn: 139522
|
2011-09-12 18:56:30 +00:00 |
|
Craig Topper
|
5ffd0cb080
|
Fix disassembling of one of the register/register forms of MOVUPS/MOVUPD/MOVAPS/MOVAPD/MOVSS/MOVSD and their VEX equivalents. Fixes PR10877.
llvm-svn: 139486
|
2011-09-11 23:19:54 +00:00 |
|
Craig Topper
|
a9b27eecc9
|
Fix disassembling of reverse register/register forms of ADD/SUB/XOR/OR/AND/SBB/ADC/CMP/MOV.
llvm-svn: 139485
|
2011-09-11 21:41:45 +00:00 |
|
Craig Topper
|
8361de67b5
|
Fix disassembling of PAUSE instruction. Fixes PR10900. Also fixed NOP disassembling to ignore OpSize and REX.W.
llvm-svn: 139484
|
2011-09-11 20:23:20 +00:00 |
|
Owen Anderson
|
9cd21ce8c9
|
LDM writeback is not allowed if Rn is in the target register list.
llvm-svn: 139432
|
2011-09-09 23:13:33 +00:00 |
|
Owen Anderson
|
dbe77fc5a1
|
Fix assembly/disassembly of Thumb2 ADR instructions with immediate operands.
llvm-svn: 139422
|
2011-09-09 22:24:36 +00:00 |
|
Craig Topper
|
23adfa4738
|
Add disassembler test for Intel syntax. Tests r139353.
llvm-svn: 139356
|
2011-09-09 06:35:44 +00:00 |
|
Owen Anderson
|
d7127e0c27
|
Soft fail CBZ/CBNZ in the disassembler if they appear inside an IT block.
llvm-svn: 139328
|
2011-09-08 22:42:49 +00:00 |
|
Jim Grosbach
|
9f150bfedf
|
Thumb2 assembly parsing and encoding for LDRD(immediate).
Refactor operand handling for STRD as well. Tests for that forthcoming.
llvm-svn: 139322
|
2011-09-08 22:07:06 +00:00 |
|
Owen Anderson
|
26467730c1
|
Create Thumb2 versions of STC/LDC, and reenable the relevant tests.
llvm-svn: 139256
|
2011-09-07 21:10:42 +00:00 |
|
James Molloy
|
ac057f13a5
|
Second of a three-patch series aiming to fix MSR/MRS on Cortex-M. This adds predicate checking to the Disassembler.
llvm-svn: 139250
|
2011-09-07 19:42:28 +00:00 |
|
Jim Grosbach
|
f5f321c4ce
|
Update test for 139243
llvm-svn: 139244
|
2011-09-07 18:40:06 +00:00 |
|
Owen Anderson
|
4106b9fb31
|
Port more assembler tests over to disassembler tests, and fix a minor logic error that exposed.
llvm-svn: 139240
|
2011-09-07 17:55:19 +00:00 |
|
Owen Anderson
|
23820ebb17
|
Port more encoding tests over to Thumb2 decoding tests.
llvm-svn: 139171
|
2011-09-06 20:26:34 +00:00 |
|
Kevin Enderby
|
90a1526592
|
Change X86 disassembly to print immediates values as signed by default. Special
case those instructions that the immediate is not sign-extend. radr://8795217
llvm-svn: 139028
|
2011-09-02 20:01:23 +00:00 |
|
Kevin Enderby
|
edfcba2f3c
|
Fix the disassembly of the X86 "crc32w %ax, %eax" instruction. Bug 10702.
llvm-svn: 139014
|
2011-09-02 18:03:03 +00:00 |
|
Craig Topper
|
316c7bfe37
|
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.
llvm-svn: 138997
|
2011-09-02 04:17:54 +00:00 |
|
Owen Anderson
|
adac5b2109
|
Fix issues with disassembly of IT instructions involving condition codes other the EQ/NE. Discovered by roundtrip testing.
llvm-svn: 138840
|
2011-08-30 22:58:27 +00:00 |
|
Owen Anderson
|
9d3407e7c2
|
Port Thumb2 assembler tests over to disassembler tests.
llvm-svn: 138822
|
2011-08-30 20:03:11 +00:00 |
|
Craig Topper
|
5556444bf7
|
Add vvvv support to disassembling of instructions with MRMDestMem and MRMDestReg form. Needed to support mem dest form of vmaskmovps/d. Fixes PR10807.
llvm-svn: 138795
|
2011-08-30 07:09:35 +00:00 |
|
Kevin Enderby
|
f1aef98ad2
|
Fix the disassembly of the X86 crc32 instruction. Bug 10702 and rdar://8795217
llvm-svn: 138771
|
2011-08-29 22:06:28 +00:00 |
|
Owen Anderson
|
fd21da3506
|
Improve encoding support for BLX with immediat eoperands, and fix a BLX decoding bug this uncovered.
llvm-svn: 138675
|
2011-08-26 23:32:08 +00:00 |
|
Owen Anderson
|
af51fd9868
|
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.
llvm-svn: 138653
|
2011-08-26 20:43:14 +00:00 |
|
Owen Anderson
|
86b11d01eb
|
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.
llvm-svn: 138635
|
2011-08-26 18:09:22 +00:00 |
|
Owen Anderson
|
485eda7687
|
Add a testcase for r138625.
llvm-svn: 138626
|
2011-08-26 06:45:08 +00:00 |
|
Craig Topper
|
b20cee1e19
|
Fix disassembling of VCVTSD2SI
llvm-svn: 138623
|
2011-08-26 04:49:29 +00:00 |
|
Owen Anderson
|
d387b48b0b
|
Port over additional encoding tests to decoding tests, and fix an operand ordering bug this exposed.
llvm-svn: 138575
|
2011-08-25 18:30:18 +00:00 |
|
Craig Topper
|
5af7ba783d
|
Give ATTR_VEX higher priority when generating the disassembler context table. Fixes disassembling of VEX instructions with 'pp'=00. Fixes subset of PR10678.
llvm-svn: 138552
|
2011-08-25 07:42:00 +00:00 |
|
Craig Topper
|
06ed6cb856
|
Add TB encoding to VEROALL, VZEROUPPER, and VCVTPS2PD to allow them to be disassembled. Fixes PR10723.
llvm-svn: 138551
|
2011-08-25 06:57:46 +00:00 |
|
Owen Anderson
|
6325690c08
|
Port over more encoding tests to decoding tests.
llvm-svn: 138441
|
2011-08-24 17:08:34 +00:00 |
|
Owen Anderson
|
3de2d7656d
|
Fix decoding of Thumb2 prefetch instructions, which account for all the remaining Thumb2 decoding failures found by randomized testing so far.
llvm-svn: 138341
|
2011-08-23 17:51:38 +00:00 |
|