checking test case for r164811. was an omission to not check this in. this was alrea...
[oota-llvm.git] / test / CodeGen / Thumb / large-stack.ll
index 02de36af1cc7f394dc9b3e5965340da43fa27a11..f8c438c6e0a4aa6cc6ba1cd94ecba3abdeb1b28c 100644 (file)
@@ -1,20 +1,35 @@
-; RUN: llc < %s -march=thumb | grep {ldr.*LCP} | count 5
+; RUN: llc < %s -mtriple=thumb-apple-ios | FileCheck %s
 
 define void @test1() {
+; CHECK: test1:
+; CHECK: sub sp, #256
+; CHECK: add sp, #256
     %tmp = alloca [ 64 x i32 ] , align 4
     ret void
 }
 
 define void @test2() {
+; CHECK: test2:
+; CHECK: ldr.n r0, LCPI
+; CHECK: add sp, r0
+; CHECK: subs r4, r7, #4
+; CHECK: mov sp, r4
     %tmp = alloca [ 4168 x i8 ] , align 4
     ret void
 }
 
 define i32 @test3() {
-       %retval = alloca i32, align 4
-       %tmp = alloca i32, align 4
-       %a = alloca [805306369 x i8], align 16
-       store i32 0, i32* %tmp
-       %tmp1 = load i32* %tmp
-        ret i32 %tmp1
+; CHECK: test3:
+; CHECK: ldr.n r2, LCPI
+; CHECK: add sp, r2
+; CHECK: ldr.n r1, LCPI
+; CHECK: add r1, sp
+; CHECK: subs r4, r7, #4
+; CHECK: mov sp, r4
+    %retval = alloca i32, align 4
+    %tmp = alloca i32, align 4
+    %a = alloca [805306369 x i8], align 16
+    store i32 0, i32* %tmp
+    %tmp1 = load i32* %tmp
+    ret i32 %tmp1
 }