diff options
author | Johnny Chen <johnny.chen@apple.com> | 2010-04-15 23:12:47 +0000 |
---|---|---|
committer | Johnny Chen <johnny.chen@apple.com> | 2010-04-15 23:12:47 +0000 |
commit | 1cfa094562457aa0c36818b93b481e4ff454ec92 (patch) | |
tree | bfa068c0197143aa4d335483acc3dc06219586d2 | |
parent | 7c52f2ee06c8b22287d658fc30d00525f8d4db42 (diff) |
Fixed a bug in ARM disassembly where LDRSBT should have am3offset operand, not
am2offset. Modified the instruction table entry and added a new test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101415 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMInstrInfo.td | 2 | ||||
-rw-r--r-- | test/MC/Disassembler/arm-tests.txt | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index 4c03af8bf0..f74d196439 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/lib/Target/ARM/ARMInstrInfo.td @@ -1232,7 +1232,7 @@ def LDRBT : AI2ldbpo<(outs GPR:$dst, GPR:$base_wb), } def LDRSBT : AI3ldsbpo<(outs GPR:$dst, GPR:$base_wb), - (ins GPR:$base,am2offset:$offset), LdMiscFrm, IIC_iLoadru, + (ins GPR:$base,am3offset:$offset), LdMiscFrm, IIC_iLoadru, "ldrsbt", "\t$dst, [$base], $offset", "$base = $base_wb", []> { let Inst{21} = 1; // overwrite } diff --git a/test/MC/Disassembler/arm-tests.txt b/test/MC/Disassembler/arm-tests.txt index 7d10107bad..47374da194 100644 --- a/test/MC/Disassembler/arm-tests.txt +++ b/test/MC/Disassembler/arm-tests.txt @@ -18,6 +18,9 @@ # CHECK: ldr r0, [r2], #15 0x0f 0x00 0x92 0xe4 +# CHECK: ldrsbtvs lr, [r2], -r9 +0xd9 0xe9 0x32 0x60 + # CHECK: lsls r0, r2, #31 0x82 0x0f 0xb0 0xe1 |