llvm.org GIT mirror llvm / ff08da1
ARM: fix IT decoding mask == 0 -> UNPRED git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184702 91177308-0d34-0410-b5e6-96231b3b80d8 Amaury de la Vieuville 7 years ago
2 changed file(s) with 8 addition(s) and 6 deletion(s). Raw diff Collapse all Expand all
46664666 S = MCDisassembler::SoftFail;
46674667 }
46684668
4669 if (mask == 0x0) {
4670 mask |= 0x8;
4671 S = MCDisassembler::SoftFail;
4672 }
4669 if (mask == 0x0)
4670 return MCDisassembler::Fail;
46734671
46744672 Inst.addOperand(MCOperand::CreateImm(pred));
46754673 Inst.addOperand(MCOperand::CreateImm(mask));
None # RUN: llvm-mc --disassemble %s -triple=thumbv7-unknown-unknown 2>&1 | grep "potentially undefined instruction encoding"
0 # CHECK-UNPRED: potentially undefined instruction encoding
1 # CHECK-UNDEF: invalid instruction encoding
12
2 0xff 0xbf 0x6b 0x80 0x00 0x75
3 # RUN: echo "0xff 0xbf 0x6b 0x80 0x00 0x75" | llvm-mc -disassemble -triple thumbv7 2>&1 | FileCheck %s --check-prefix=CHECK-UNPRED
4
5 # mask = 0
6 # RUN: echo "0x50 0xbf 0x00 0x00" | llvm-mc -disassemble -triple thumbv7 2>&1 | FileCheck %s --check-prefix=CHECK-UNDEF