ARM: correct an off-by-one in an assert
[oota-llvm.git] / lib / Target / ARM / MCTargetDesc / ARMMCTargetDesc.cpp
index 76107924095255ea32012d9445af8ef133c2605d..ecc7f0b1650e149b9b3c7203ac3ac45f58dea406 100644 (file)
@@ -77,7 +77,10 @@ static bool getITDeprecationInfo(MCInst &MI, MCSubtargetInfo &STI,
 
 static bool getARMStoreDeprecationInfo(MCInst &MI, MCSubtargetInfo &STI,
                                        std::string &Info) {
-  assert(MI.getNumOperands() > 4 && "expected >4 arguments");
+  if (STI.getFeatureBits() & llvm::ARM::ModeThumb)
+    return false;
+
+  assert(MI.getNumOperands() >= 4 && "expected >= 4 arguments");
   for (unsigned OI = 4, OE = MI.getNumOperands(); OI < OE; ++OI) {
     assert(MI.getOperand(OI).isReg() && "expected register");
     if (MI.getOperand(OI).getReg() == ARM::SP ||