Skip to content

Commit fc8a7d8

Browse files
committed
Approved by Evan.
$ svn merge -c 113576 https://llvm.org/svn/llvm-project/llvm/trunk --- Merging r113576 into '.': U test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll U lib/Target/ARM/ARMLoadStoreOptimizer.cpp llvm-svn: 113583
1 parent b30b6bd commit fc8a7d8

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -458,9 +458,10 @@ static inline unsigned getLSMultipleTransferSize(MachineInstr *MI) {
458458
case ARM::t2STM:
459459
case ARM::VLDMS:
460460
case ARM::VSTMS:
461+
return (MI->getNumOperands() - 4) * 4;
461462
case ARM::VLDMD:
462463
case ARM::VSTMD:
463-
return (MI->getNumOperands() - 4) * 4;
464+
return (MI->getNumOperands() - 4) * 8;
464465
}
465466
}
466467

llvm/test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
1-
; RUN: llc < %s -march=arm -mattr=+v6,+vfp2
1+
; RUN: llc < %s -march=arm -mattr=+v6,+vfp2 | FileCheck %s
22

33
@quant_coef = external global [6 x [4 x [4 x i32]]] ; <[6 x [4 x [4 x i32]]]*> [#uses=1]
44
@dequant_coef = external global [6 x [4 x [4 x i32]]] ; <[6 x [4 x [4 x i32]]]*> [#uses=1]
55
@A = external global [4 x [4 x i32]] ; <[4 x [4 x i32]]*> [#uses=1]
66

7+
; CHECK: dct_luma_sp:
78
define fastcc i32 @dct_luma_sp(i32 %block_x, i32 %block_y, i32* %coeff_cost) {
89
entry:
10+
; Make sure to use base-updating stores for saving callee-saved registers.
11+
; CHECK-NOT: sub sp
12+
; CHECK: vstmdb sp!
913
%predicted_block = alloca [4 x [4 x i32]], align 4 ; <[4 x [4 x i32]]*> [#uses=1]
1014
br label %cond_next489
1115

0 commit comments

Comments
 (0)