diff options
author | Johnny Chen <johnny.chen@apple.com> | 2011-03-28 18:41:58 +0000 |
---|---|---|
committer | Johnny Chen <johnny.chen@apple.com> | 2011-03-28 18:41:58 +0000 |
commit | f9cd13936918972b86cd07265762bd7af5ea919c (patch) | |
tree | 0db524b44aac6541efd7b730229c0f5998dcdcb8 /llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h | |
parent | f3070dc40da7aef20e33b7d52bbdb9e1772c28dd (diff) | |
download | bcm5719-llvm-f9cd13936918972b86cd07265762bd7af5ea919c.tar.gz bcm5719-llvm-f9cd13936918972b86cd07265762bd7af5ea919c.zip |
Fix ARM disassembly for PLD/PLDW/PLI which suffers from code rot and add some test cases.
Add comments to ThumbDisassemblerCore.h for recent change made for t2PLD disassembly.
llvm-svn: 128417
Diffstat (limited to 'llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h')
-rw-r--r-- | llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h b/llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h index ac6eb67579d..066a8e3178e 100644 --- a/llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h +++ b/llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h @@ -1799,8 +1799,12 @@ static bool DisassembleThumb2PreLoad(MCInst &MI, unsigned Opcode, uint32_t insn, // A8.6.117 Encoding T2: add = FALSE unsigned Imm8 = getImm8(insn); Offset = -1 * Imm8; - } else // The i12 forms. See, for example, A8.6.117 Encoding T1. + } else { + // The i12 forms. See, for example, A8.6.117 Encoding T1. + // Note that currently t2PLDi12 also handles the previously named t2PLDpci + // opcode, that's why we use decodeImm12(insn) which returns +/- imm12. Offset = decodeImm12(insn); + } MI.addOperand(MCOperand::CreateImm(Offset)); } ++OpIdx; |