summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/segmented-stacks.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/ARM/segmented-stacks.ll')
-rw-r--r--llvm/test/CodeGen/ARM/segmented-stacks.ll56
1 files changed, 36 insertions, 20 deletions
diff --git a/llvm/test/CodeGen/ARM/segmented-stacks.ll b/llvm/test/CodeGen/ARM/segmented-stacks.ll
index 971fdd966065..10ce0657e573 100644
--- a/llvm/test/CodeGen/ARM/segmented-stacks.ll
+++ b/llvm/test/CodeGen/ARM/segmented-stacks.ll
@@ -14,7 +14,7 @@ define void @test_basic() #0 {
call void @dummy_use (i32* %mem, i32 10)
ret void
-; ARM-linux: test_basic:
+; ARM-linux-LABEL: test_basic:
; ARM-linux: push {r4, r5}
; ARM-linux-NEXT: mrc p15, #0, r4, c13, c0, #3
@@ -33,7 +33,7 @@ define void @test_basic() #0 {
; ARM-linux: pop {r4, r5}
-; ARM-android: test_basic:
+; ARM-android-LABEL: test_basic:
; ARM-android: push {r4, r5}
; ARM-android-NEXT: mrc p15, #0, r4, c13, c0, #3
@@ -61,7 +61,7 @@ define i32 @test_nested(i32 * nest %closure, i32 %other) #0 {
call void @dummy_use (i32* %mem, i32 10)
ret i32 %result
-; ARM-linux: test_nested:
+; ARM-linux-LABEL: test_nested:
; ARM-linux: push {r4, r5}
; ARM-linux-NEXT: mrc p15, #0, r4, c13, c0, #3
@@ -80,7 +80,7 @@ define i32 @test_nested(i32 * nest %closure, i32 %other) #0 {
; ARM-linux: pop {r4, r5}
-; ARM-android: test_nested:
+; ARM-android-LABEL: test_nested:
; ARM-android: push {r4, r5}
; ARM-android-NEXT: mrc p15, #0, r4, c13, c0, #3
@@ -106,16 +106,17 @@ define void @test_large() #0 {
call void @dummy_use (i32* %mem, i32 0)
ret void
-; ARM-linux: test_large:
+; ARM-linux-LABEL: test_large:
; ARM-linux: push {r4, r5}
+; ARM-linux-NEXT: ldr r4, .LCPI2_0
+; ARM-linux-NEXT: sub r5, sp, r4
; ARM-linux-NEXT: mrc p15, #0, r4, c13, c0, #3
-; ARM-linux-NEXT: sub r5, sp, #40192
; ARM-linux-NEXT: ldr r4, [r4, #4]
; ARM-linux-NEXT: cmp r4, r5
; ARM-linux-NEXT: blo .LBB2_2
-; ARM-linux: mov r4, #40192
+; ARM-linux: ldr r4, .LCPI2_0
; ARM-linux-NEXT: mov r5, #0
; ARM-linux-NEXT: stmdb sp!, {lr}
; ARM-linux-NEXT: bl __morestack
@@ -125,16 +126,20 @@ define void @test_large() #0 {
; ARM-linux: pop {r4, r5}
-; ARM-android: test_large:
+; ARM-linux: .LCPI2_0:
+; ARM-linux-NEXT: .long 40192
+
+; ARM-android-LABEL: test_large:
; ARM-android: push {r4, r5}
+; ARM-android-NEXT: ldr r4, .LCPI2_0
+; ARM-android-NEXT: sub r5, sp, r4
; ARM-android-NEXT: mrc p15, #0, r4, c13, c0, #3
-; ARM-android-NEXT: sub r5, sp, #40192
; ARM-android-NEXT: ldr r4, [r4, #252]
; ARM-android-NEXT: cmp r4, r5
; ARM-android-NEXT: blo .LBB2_2
-; ARM-android: mov r4, #40192
+; ARM-android: ldr r4, .LCPI2_0
; ARM-android-NEXT: mov r5, #0
; ARM-android-NEXT: stmdb sp!, {lr}
; ARM-android-NEXT: bl __morestack
@@ -144,6 +149,9 @@ define void @test_large() #0 {
; ARM-android: pop {r4, r5}
+; ARM-android: .LCPI2_0:
+; ARM-android-NEXT: .long 40192
+
}
define fastcc void @test_fastcc() #0 {
@@ -151,7 +159,7 @@ define fastcc void @test_fastcc() #0 {
call void @dummy_use (i32* %mem, i32 10)
ret void
-; ARM-linux: test_fastcc:
+; ARM-linux-LABEL: test_fastcc:
; ARM-linux: push {r4, r5}
; ARM-linux-NEXT: mrc p15, #0, r4, c13, c0, #3
@@ -170,7 +178,7 @@ define fastcc void @test_fastcc() #0 {
; ARM-linux: pop {r4, r5}
-; ARM-android: test_fastcc:
+; ARM-android-LABEL: test_fastcc:
; ARM-android: push {r4, r5}
; ARM-android-NEXT: mrc p15, #0, r4, c13, c0, #3
@@ -196,16 +204,17 @@ define fastcc void @test_fastcc_large() #0 {
call void @dummy_use (i32* %mem, i32 0)
ret void
-; ARM-linux: test_fastcc_large:
+; ARM-linux-LABEL: test_fastcc_large:
; ARM-linux: push {r4, r5}
+; ARM-linux-NEXT: ldr r4, .LCPI4_0
+; ARM-linux-NEXT: sub r5, sp, r4
; ARM-linux-NEXT: mrc p15, #0, r4, c13, c0, #3
-; ARM-linux-NEXT: sub r5, sp, #40192
; ARM-linux-NEXT: ldr r4, [r4, #4]
; ARM-linux-NEXT: cmp r4, r5
; ARM-linux-NEXT: blo .LBB4_2
-; ARM-linux: mov r4, #40192
+; ARM-linux: ldr r4, .LCPI4_0
; ARM-linux-NEXT: mov r5, #0
; ARM-linux-NEXT: stmdb sp!, {lr}
; ARM-linux-NEXT: bl __morestack
@@ -215,16 +224,20 @@ define fastcc void @test_fastcc_large() #0 {
; ARM-linux: pop {r4, r5}
-; ARM-android: test_fastcc_large:
+; ARM-linux: .LCPI4_0:
+; ARM-linux-NEXT: .long 40192
+
+; ARM-android-LABEL: test_fastcc_large:
; ARM-android: push {r4, r5}
+; ARM-android-NEXT: ldr r4, .LCPI4_0
+; ARM-android-NEXT: sub r5, sp, r4
; ARM-android-NEXT: mrc p15, #0, r4, c13, c0, #3
-; ARM-android-NEXT: sub r5, sp, #40192
; ARM-android-NEXT: ldr r4, [r4, #252]
; ARM-android-NEXT: cmp r4, r5
; ARM-android-NEXT: blo .LBB4_2
-; ARM-android: mov r4, #40192
+; ARM-android: ldr r4, .LCPI4_0
; ARM-android-NEXT: mov r5, #0
; ARM-android-NEXT: stmdb sp!, {lr}
; ARM-android-NEXT: bl __morestack
@@ -234,6 +247,9 @@ define fastcc void @test_fastcc_large() #0 {
; ARM-android: pop {r4, r5}
+; ARM-android: .LCPI4_0:
+; ARM-android-NEXT: .long 40192
+
}
define void @test_nostack() #0 {
@@ -256,10 +272,10 @@ define i32 @test_sibling_call_empty_frame(i32 %x) #0 {
%call = tail call i32 @callee(i32 %x) #0
ret i32 %call
-; ARM-linux: test_sibling_call_empty_frame:
+; ARM-linux-LABEL: test_sibling_call_empty_frame:
; ARM-linux: bl __morestack
-; ARM-android: test_sibling_call_empty_frame:
+; ARM-android-LABEL: test_sibling_call_empty_frame:
; ARM-android: bl __morestack
}