diff options
Diffstat (limited to 'test/CodeGen/ARM/fold-stack-adjust.ll')
| -rw-r--r-- | test/CodeGen/ARM/fold-stack-adjust.ll | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/test/CodeGen/ARM/fold-stack-adjust.ll b/test/CodeGen/ARM/fold-stack-adjust.ll index 1fd9bd9e47a3e..8944a40f311fb 100644 --- a/test/CodeGen/ARM/fold-stack-adjust.ll +++ b/test/CodeGen/ARM/fold-stack-adjust.ll @@ -1,4 +1,6 @@ -; RUN: llc -mtriple=thumbv7-apple-none-macho < %s | FileCheck %s +; Disable shrink-wrapping on the first test otherwise we wouldn't +; exerce the path for PR18136. +; RUN: llc -mtriple=thumbv7-apple-none-macho < %s -enable-shrink-wrap=false | FileCheck %s ; RUN: llc -mtriple=thumbv6m-apple-none-macho -disable-fp-elim < %s | FileCheck %s --check-prefix=CHECK-T1 ; RUN: llc -mtriple=thumbv7-apple-darwin-ios -disable-fp-elim < %s | FileCheck %s --check-prefix=CHECK-IOS ; RUN: llc -mtriple=thumbv7--linux-gnueabi -disable-fp-elim < %s | FileCheck %s --check-prefix=CHECK-LINUX @@ -60,20 +62,19 @@ define void @check_vfp_fold() minsize { ; CHECK: vpush {d6, d7, d8, d9} ; CHECK-NOT: sub sp, ; ... -; CHECK: vldmia r[[GLOBREG]], {d8, d9} -; ... ; CHECK-NOT: add sp, ; CHECK: vpop {d6, d7, d8, d9} -; CHECKL pop {r[[GLOBREG]], pc} +; CHECK: pop {r[[GLOBREG]], pc} ; 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] @@ -82,9 +83,8 @@ define void @check_vfp_fold() minsize { %var = alloca i8, i32 16 - %tmp = load %bigVec, %bigVec* @var + call void asm "", "r,~{d8},~{d9}"(i8* %var) call void @bar(i8* %var) - store %bigVec %tmp, %bigVec* @var ret void } @@ -170,9 +170,9 @@ define void @test_varsize(...) minsize { ; CHECK-T1: push {r5, r6, r7, lr} ; ... ; CHECK-T1: pop {r2, r3, r7} -; CHECK-T1: pop {r3} +; CHECK-T1: pop {[[POP_REG:r[0-3]]]} ; CHECK-T1: add sp, #16 -; CHECK-T1: bx r3 +; CHECK-T1: bx [[POP_REG]] ; CHECK-LABEL: test_varsize: ; CHECK: sub sp, #16 |
