diff options
author | Johnny Chen <johnny.chen@apple.com> | 2010-04-14 22:04:45 +0000 |
---|---|---|
committer | Johnny Chen <johnny.chen@apple.com> | 2010-04-14 22:04:45 +0000 |
commit | 2fd100a4cb6c7c013f9bf78fc06b655515b0851c (patch) | |
tree | bbd1a606e3c41a3c9fe302246a1ad499fc3680cf /lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h | |
parent | 7ad3b2a3f0188f5bceb4937e90085c52665672b4 (diff) |
For t2BFI disassembly, apply the same error checking as in r101205.
Change the error msg to read "Encoding error: msb < lsb".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101293 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h')
-rw-r--r-- | lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h b/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h index aac2d2b0fe..4bc407095a 100644 --- a/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h +++ b/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h @@ -1552,7 +1552,10 @@ static bool DisassembleThumb2DPBinImm(MCInst &MI, unsigned Opcode, Opcode == ARM::t2BFI) && "Invalid opcode"); MI.addOperand(MCOperand::CreateImm(getLsb(insn))); if (Opcode == ARM::t2BFI) { - assert(getMsb(insn) >= getLsb(insn) && "Encoding error"); + if (getMsb(insn) < getLsb(insn)) { + errs() << "Encoding error: msb < lsb\n"; + return false; + } MI.addOperand(MCOperand::CreateImm(getMsb(insn) - getLsb(insn) + 1)); } else MI.addOperand(MCOperand::CreateImm(getWidthMinus1(insn) + 1)); |