diff options
| -rw-r--r-- | llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 3 | ||||
| -rw-r--r-- | llvm/test/MC/ARM/basic-thumb2-instructions.s | 6 | 
2 files changed, 8 insertions, 1 deletions
| diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index bba09d4674b..f71d0f8642c 100644 --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -3377,7 +3377,8 @@ validateInstruction(MCInst &Inst,    // Check for non-'al' condition codes outside of the IT block.    } else if (isThumbTwo() && MCID.isPredicable() &&               Inst.getOperand(MCID.findFirstPredOperandIdx()).getImm() != -             ARMCC::AL && Inst.getOpcode() != ARM::tBcc) +             ARMCC::AL && Inst.getOpcode() != ARM::tBcc && +             Inst.getOpcode() != ARM::t2Bcc)      return Error(Loc, "predicated instructions must be in IT block");    switch (Inst.getOpcode()) { diff --git a/llvm/test/MC/ARM/basic-thumb2-instructions.s b/llvm/test/MC/ARM/basic-thumb2-instructions.s index 492687ea40c..4641fe3d37f 100644 --- a/llvm/test/MC/ARM/basic-thumb2-instructions.s +++ b/llvm/test/MC/ARM/basic-thumb2-instructions.s @@ -86,6 +86,12 @@ _func:  @ CHECK: addw	r12, r6, #256           @ encoding: [0x06,0xf2,0x00,0x1c]  @ CHECK: adds.w	r1, r2, #496            @ encoding: [0x12,0xf5,0xf8,0x71] +@------------------------------------------------------------------------------ +@ B +@------------------------------------------------------------------------------ +        bmi.w   #-183396 + +@ CHECK: bmi.w   #-183396                @ encoding: [0x13,0xf5,0xce,0xa9]  @------------------------------------------------------------------------------  @ CBZ/CBNZ | 

