Many Thumb2 instructions can reference the full ARM register set (i.e.,
[oota-llvm.git] / test / CodeGen / Thumb2 / 2010-04-15-DynAllocBug.ll
index fb6978bb195766dcae7f930dcf3b67fc949b41b9..e0946c7ea3663b8db42dbb24eb2eddf973c08054 100644 (file)
@@ -7,13 +7,17 @@
 define void @t() nounwind ssp {
 entry:
 ; CHECK: t:
-; CHECK: bic r0, sp, #7
-; CHECK: subs r0, #16
-; CHECK: mov sp, r0
-; Yes, this is stupid codegen, but it's correct.
-; CHECK: bic r0, sp, #7
-; CHECK: subs r0, #16
-; CHECK: mov sp, r0
+; CHECK:  push  {r4, r7}
+; CHECK:  mov r0, sp
+; CHECK:  add r7, sp, #4
+; CHECK:  bic r0, r0, #7
+; CHECK:  subs  r0, #16
+; CHECK:  mov sp, r0
+; CHECK:  mov r0, sp
+; CHECK:  bic r0, r0, #7
+; CHECK:  subs  r0, #16
+; CHECK:  mov sp, r0
+
   %size = mul i32 8, 2
   %vla_a = alloca i8, i32 %size, align 8
   %vla_b = alloca i8, i32 %size, align 8