diff options
| author | Johnny Chen <johnny.chen@apple.com> | 2010-04-20 17:28:50 +0000 |
|---|---|---|
| committer | Johnny Chen <johnny.chen@apple.com> | 2010-04-20 17:28:50 +0000 |
| commit | 7be315c414969ce4a63e538bee2f5c92d5adb20f (patch) | |
| tree | db4247e1e90886b3cebe38121afda7312b7e8f2f | |
| parent | 4019d571d93848e7e7ba00bc8dd11ba8145c00ac (diff) | |
| download | bcm5719-llvm-7be315c414969ce4a63e538bee2f5c92d5adb20f.tar.gz bcm5719-llvm-7be315c414969ce4a63e538bee2f5c92d5adb20f.zip | |
For t2LDRT, t2LDRBT, t2LDRHT, t2LDRSBT, and t2LDRSHT, if 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
| -rw-r--r-- | llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp | 10 | ||||
| -rw-r--r-- | llvm/test/MC/Disassembler/thumb-tests.txt | 3 |
2 files changed, 8 insertions, 5 deletions
diff --git a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp index debd2280322..4de697e8bf6 100644 --- a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp +++ b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp @@ -250,27 +250,27 @@ static unsigned T2Morph2LoadLiteral(unsigned Opcode) { case ARM::t2LDR_POST: case ARM::t2LDR_PRE: case ARM::t2LDRi12: case ARM::t2LDRi8: - case ARM::t2LDRs: + case ARM::t2LDRs: case ARM::t2LDRT: return ARM::t2LDRpci; case ARM::t2LDRB_POST: case ARM::t2LDRB_PRE: case ARM::t2LDRBi12: case ARM::t2LDRBi8: - case ARM::t2LDRBs: + case ARM::t2LDRBs: case ARM::t2LDRBT: return ARM::t2LDRBpci; case ARM::t2LDRH_POST: case ARM::t2LDRH_PRE: case ARM::t2LDRHi12: case ARM::t2LDRHi8: - case ARM::t2LDRHs: + case ARM::t2LDRHs: case ARM::t2LDRHT: return ARM::t2LDRHpci; case ARM::t2LDRSB_POST: case ARM::t2LDRSB_PRE: case ARM::t2LDRSBi12: case ARM::t2LDRSBi8: - case ARM::t2LDRSBs: + case ARM::t2LDRSBs: case ARM::t2LDRSBT: return ARM::t2LDRSBpci; case ARM::t2LDRSH_POST: case ARM::t2LDRSH_PRE: case ARM::t2LDRSHi12: case ARM::t2LDRSHi8: - case ARM::t2LDRSHs: + case ARM::t2LDRSHs: case ARM::t2LDRSHT: return ARM::t2LDRSHpci; } } diff --git a/llvm/test/MC/Disassembler/thumb-tests.txt b/llvm/test/MC/Disassembler/thumb-tests.txt index 6470b15a3fe..da166d350e8 100644 --- a/llvm/test/MC/Disassembler/thumb-tests.txt +++ b/llvm/test/MC/Disassembler/thumb-tests.txt @@ -27,6 +27,9 @@ # CHECK: ldmia r0!, {r1} 0x02 0xc8 +# CHECK: ldrb.w r8, #-24 +0x1f 0xf8 0x18 0x80 + # CHECK: ldrd r0, r1, [r7, #64]! 0xf7 0xe9 0x10 0x01 |

