diff options
Diffstat (limited to 'llvm/test/CodeGen/Thumb/segmented-stacks.ll')
-rw-r--r-- | llvm/test/CodeGen/Thumb/segmented-stacks.ll | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/llvm/test/CodeGen/Thumb/segmented-stacks.ll b/llvm/test/CodeGen/Thumb/segmented-stacks.ll index 7340842a42f4..6ad8cf9f20d2 100644 --- a/llvm/test/CodeGen/Thumb/segmented-stacks.ll +++ b/llvm/test/CodeGen/Thumb/segmented-stacks.ll @@ -116,13 +116,14 @@ define void @test_large() #0 { ; Thumb-android: push {r4, r5} ; Thumb-android-NEXT: mov r5, sp -; Thumb-android-NEXT: sub r5, #40192 ; Thumb-android-NEXT: ldr r4, .LCPI2_2 +; Thumb-android-NEXT: sub r5, r5, r4 +; Thumb-android-NEXT: ldr r4, .LCPI2_3 ; Thumb-android-NEXT: ldr r4, [r4] ; Thumb-android-NEXT: cmp r4, r5 ; Thumb-android-NEXT: blo .LBB2_2 -; Thumb-android: mov r4, #40192 +; Thumb-android: ldr r4, .LCPI2_2 ; Thumb-android-NEXT: mov r5, #0 ; Thumb-android-NEXT: push {lr} ; Thumb-android-NEXT: bl __morestack @@ -133,17 +134,21 @@ define void @test_large() #0 { ; Thumb-android: pop {r4, r5} +; Thumb-android: .LCPI2_2: +; Thumb-android-NEXT: .long 40192 + ; Thumb-linux-LABEL: test_large: ; Thumb-linux: push {r4, r5} ; Thumb-linux-NEXT: mov r5, sp -; Thumb-linux-NEXT: sub r5, #40192 ; Thumb-linux-NEXT: ldr r4, .LCPI2_2 +; Thumb-linux-NEXT: sub r5, r5, r4 +; Thumb-linux-NEXT: ldr r4, .LCPI2_3 ; Thumb-linux-NEXT: ldr r4, [r4] ; Thumb-linux-NEXT: cmp r4, r5 ; Thumb-linux-NEXT: blo .LBB2_2 -; Thumb-linux: mov r4, #40192 +; Thumb-linux: ldr r4, .LCPI2_2 ; Thumb-linux-NEXT: mov r5, #0 ; Thumb-linux-NEXT: push {lr} ; Thumb-linux-NEXT: bl __morestack @@ -212,13 +217,14 @@ define fastcc void @test_fastcc_large() #0 { ; Thumb-android: push {r4, r5} ; Thumb-android-NEXT: mov r5, sp -; Thumb-android-NEXT: sub r5, #40192 ; Thumb-android-NEXT: ldr r4, .LCPI4_2 +; Thumb-android-NEXT: sub r5, r5, r4 +; Thumb-android-NEXT: ldr r4, .LCPI4_3 ; Thumb-android-NEXT: ldr r4, [r4] ; Thumb-android-NEXT: cmp r4, r5 ; Thumb-android-NEXT: blo .LBB4_2 -; Thumb-android: mov r4, #40192 +; Thumb-android: ldr r4, .LCPI4_2 ; Thumb-android-NEXT: mov r5, #0 ; Thumb-android-NEXT: push {lr} ; Thumb-android-NEXT: bl __morestack @@ -229,17 +235,21 @@ define fastcc void @test_fastcc_large() #0 { ; Thumb-android: pop {r4, r5} +; Thumb-android: .LCPI4_2: +; Thumb-android-NEXT: .long 40192 + ; Thumb-linux-LABEL: test_fastcc_large: ; Thumb-linux: push {r4, r5} ; Thumb-linux-NEXT: mov r5, sp -; Thumb-linux-NEXT: sub r5, #40192 ; Thumb-linux-NEXT: ldr r4, .LCPI4_2 +; Thumb-linux-NEXT: sub r5, r5, r4 +; Thumb-linux-NEXT: ldr r4, .LCPI4_3 ; Thumb-linux-NEXT: ldr r4, [r4] ; Thumb-linux-NEXT: cmp r4, r5 ; Thumb-linux-NEXT: blo .LBB4_2 -; Thumb-linux: mov r4, #40192 +; Thumb-linux: ldr r4, .LCPI4_2 ; Thumb-linux-NEXT: mov r5, #0 ; Thumb-linux-NEXT: push {lr} ; Thumb-linux-NEXT: bl __morestack @@ -250,6 +260,9 @@ define fastcc void @test_fastcc_large() #0 { ; Thumb-linux: pop {r4, r5} +; Thumb-linux: .LCPI4_2: +; Thumb-linux-NEXT: .long 40192 + } define void @test_nostack() #0 { |