From 979927ab26a1832ee2ecd1edb17d50184756f474 Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Fri, 10 Sep 2010 18:25:35 +0000 Subject: [PATCH] Calculate the number of VLDM/VSTM registers by subtracting the number of 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 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Target/ARM/ARMLoadStoreOptimizer.cpp b/lib/Target/ARM/ARMLoadStoreOptimizer.cpp index 2b7645a4211..50bc33ebe6e 100644 --- a/lib/Target/ARM/ARMLoadStoreOptimizer.cpp +++ b/lib/Target/ARM/ARMLoadStoreOptimizer.cpp @@ -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; } }