Calculate the number of VLDM/VSTM registers by subtracting the number of
authorBob Wilson <bob.wilson@apple.com>
Fri, 10 Sep 2010 18:25:35 +0000 (18:25 +0000)
committerBob Wilson <bob.wilson@apple.com>
Fri, 10 Sep 2010 18:25:35 +0000 (18:25 +0000)
fixed operands from the total number of operands (including the variadic ones).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113597 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMLoadStoreOptimizer.cpp

index 2b7645a42119e5ca62f9220069744913e19be7f5..50bc33ebe6e2b498826655b77ffeb4c4a9fbbe06 100644 (file)
@@ -458,10 +458,10 @@ static inline unsigned getLSMultipleTransferSize(MachineInstr *MI) {
   case ARM::t2STM:
   case ARM::VLDMS:
   case ARM::VSTMS:
-    return (MI->getNumOperands() - 4) * 4;
+    return (MI->getNumOperands() - MI->getDesc().getNumOperands() + 1) * 4;
   case ARM::VLDMD:
   case ARM::VSTMD:
-    return (MI->getNumOperands() - 4) * 8;
+    return (MI->getNumOperands() - MI->getDesc().getNumOperands() + 1) * 8;
   }
 }