CPS instructions are UNPREDICTABLE inside IT blocks.
authorOwen Anderson <resistor@mac.com>
Mon, 19 Sep 2011 23:47:10 +0000 (23:47 +0000)
committerOwen Anderson <resistor@mac.com>
Mon, 19 Sep 2011 23:47:10 +0000 (23:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140102 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/Disassembler/ARMDisassembler.cpp

index 5fd641db2de1690077b5d52d83dbe113c8333602..6e4bb8c64cbf476f5a6cbec1bfd5712ba94bb26d 100644 (file)
@@ -445,6 +445,10 @@ ThumbDisassembler::AddThumbPredicate(MCInst &MI) const {
     case ARM::t2Bcc:
     case ARM::tCBZ:
     case ARM::tCBNZ:
+    case ARM::tCPS:
+    case ARM::t2CPS3p:
+    case ARM::t2CPS2p:
+    case ARM::t2CPS1p:
       // Some instructions (mostly conditional branches) are not
       // allowed in IT blocks.
       if (!ITBlock.empty())