summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2015-09-23 22:21:09 +0000
committerTim Northover <tnorthover@apple.com>2015-09-23 22:21:09 +0000
commitbeb5bccf88876eb3087674429ca71c4a6bee6b7d (patch)
tree4620219582699d73971c808cd4ef09acc297bea7 /llvm/test/CodeGen/ARM
parent6997525eaa8fa6ea09e6a8c7a33908e81544ef1f (diff)
downloadbcm5719-llvm-beb5bccf88876eb3087674429ca71c4a6bee6b7d.tar.gz
bcm5719-llvm-beb5bccf88876eb3087674429ca71c4a6bee6b7d.zip
ARM: fix folding stack adjustment (again again again...)
This time, the issue is that we weren't accounting for the possibility that aligned DPRs could have been stored after the final "push" in a prologue. When that happened we effectively moved a "sub sp, #N" from below the aligned stores to above them, and everything went to pot. To make it worse, I'd actually committed something testing that we produced wrong code, so the test update is tiny. llvm-svn: 248437
Diffstat (limited to 'llvm/test/CodeGen/ARM')
-rw-r--r--llvm/test/CodeGen/ARM/fold-stack-adjust.ll3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/ARM/fold-stack-adjust.ll b/llvm/test/CodeGen/ARM/fold-stack-adjust.ll
index 614966d4024..5bec6445560 100644
--- a/llvm/test/CodeGen/ARM/fold-stack-adjust.ll
+++ b/llvm/test/CodeGen/ARM/fold-stack-adjust.ll
@@ -67,11 +67,12 @@ define void @check_vfp_fold() minsize {
; iOS uses aligned NEON stores here, which is convenient since we
; want to make sure that works too.
; CHECK-IOS-LABEL: check_vfp_fold:
-; CHECK-IOS: push {r0, r1, r2, r3, r4, r7, lr}
+; CHECK-IOS: push {r4, r7, lr}
; CHECK-IOS: sub.w r4, sp, #16
; CHECK-IOS: bfc r4, #0, #4
; CHECK-IOS: mov sp, r4
; CHECK-IOS: vst1.64 {d8, d9}, [r4:128]
+; CHECK-IOS: sub sp, #16
; ...
; CHECK-IOS: add r4, sp, #16
; CHECK-IOS: vld1.64 {d8, d9}, [r4:128]
OpenPOWER on IntegriCloud