mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-13 08:35:46 +00:00
Nested IT blocks are UNPREDICTABLE. Mark them as such when disassembling them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139736 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
64944f48a1
commit
34626acf7f
@ -567,6 +567,10 @@ DecodeStatus ThumbDisassembler::getInstruction(MCInst &MI, uint64_t &Size,
|
||||
// code and mask operands so that we can apply them correctly
|
||||
// to the subsequent instructions.
|
||||
if (MI.getOpcode() == ARM::t2IT) {
|
||||
// Nested IT blocks are UNPREDICTABLE.
|
||||
if (!ITBlock.empty())
|
||||
return MCDisassembler::SoftFail;
|
||||
|
||||
// (3 - the number of trailing zeros) is the number of then / else.
|
||||
unsigned firstcond = MI.getOperand(0).getImm();
|
||||
unsigned Mask = MI.getOperand(1).getImm();
|
||||
|
Loading…
x
Reference in New Issue
Block a user