All conditional branches are disallowed in IT blocks, not just CBZ/CBNZ.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139329 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson 2011-09-08 22:48:37 +00:00
parent d2fc31b3f7
commit 441462f932

View File

@ -429,12 +429,13 @@ ThumbDisassembler::AddThumbPredicate(MCInst &MI) const {
switch (MI.getOpcode()) { switch (MI.getOpcode()) {
case ARM::tBcc: case ARM::tBcc:
case ARM::t2Bcc: case ARM::t2Bcc:
return Success;
case ARM::tCBZ: case ARM::tCBZ:
case ARM::tCBNZ: case ARM::tCBNZ:
// Some instructions are not allowed in IT blocks. // Some instructions (mostly conditional branches) are not
// allowed in IT blocks.
if (!ITBlock.empty()) if (!ITBlock.empty())
return SoftFail; return SoftFail;
return Success;
break; break;
default: default:
break; break;