summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/Disassembler
diff options
context:
space:
mode:
authorAmaury de la Vieuville <amaury.dlv@gmail.com>2013-06-24 09:11:45 +0000
committerAmaury de la Vieuville <amaury.dlv@gmail.com>2013-06-24 09:11:45 +0000
commitff08da15cf3d0412ee9cc325fc5a720bcad178f2 (patch)
tree40d379834721cf390cad701d4e83d643ee1ffd72 /lib/Target/ARM/Disassembler
parent0c9f0c047dfba91bc7c0fb66f7e868e917d37c4c (diff)
downloadllvm-ff08da15cf3d0412ee9cc325fc5a720bcad178f2.tar.gz
llvm-ff08da15cf3d0412ee9cc325fc5a720bcad178f2.tar.bz2
llvm-ff08da15cf3d0412ee9cc325fc5a720bcad178f2.tar.xz
ARM: fix IT decoding
mask == 0 -> UNPRED git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184702 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/Disassembler')
-rw-r--r--lib/Target/ARM/Disassembler/ARMDisassembler.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/Target/ARM/Disassembler/ARMDisassembler.cpp b/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
index 186bc9c0ea..bc874f4b46 100644
--- a/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
+++ b/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
@@ -4667,10 +4667,8 @@ static DecodeStatus DecodeIT(MCInst &Inst, unsigned Insn,
S = MCDisassembler::SoftFail;
}
- if (mask == 0x0) {
- mask |= 0x8;
- S = MCDisassembler::SoftFail;
- }
+ if (mask == 0x0)
+ return MCDisassembler::Fail;
Inst.addOperand(MCOperand::CreateImm(pred));
Inst.addOperand(MCOperand::CreateImm(mask));