@@ -1732,8 +1732,10 @@ define i32 @test_sibling_call_empty_frame(i32 %x) #0 {
17321732; X86-Linux-LABEL: test_sibling_call_empty_frame:
17331733; X86-Linux: # %bb.0:
17341734; X86-Linux-NEXT: cmpl %gs:48, %esp
1735- ; X86-Linux-NEXT: ja callee@PLT # TAILCALL
1736- ; X86-Linux-NEXT: # %bb.1:
1735+ ; X86-Linux-NEXT: jbe .LBB8_1
1736+ ; X86-Linux-NEXT: # %bb.2:
1737+ ; X86-Linux-NEXT: jmp callee@PLT # TAILCALL
1738+ ; X86-Linux-NEXT: .LBB8_1:
17371739; X86-Linux-NEXT: pushl $4
17381740; X86-Linux-NEXT: pushl $0
17391741; X86-Linux-NEXT: calll __morestack
@@ -1743,8 +1745,10 @@ define i32 @test_sibling_call_empty_frame(i32 %x) #0 {
17431745; X64-Linux-LABEL: test_sibling_call_empty_frame:
17441746; X64-Linux: # %bb.0:
17451747; X64-Linux-NEXT: cmpq %fs:112, %rsp
1746- ; X64-Linux-NEXT: ja callee@PLT # TAILCALL
1747- ; X64-Linux-NEXT: # %bb.1:
1748+ ; X64-Linux-NEXT: jbe .LBB8_1
1749+ ; X64-Linux-NEXT: # %bb.2:
1750+ ; X64-Linux-NEXT: jmp callee@PLT # TAILCALL
1751+ ; X64-Linux-NEXT: .LBB8_1:
17481752; X64-Linux-NEXT: movl $0, %r10d
17491753; X64-Linux-NEXT: movl $0, %r11d
17501754; X64-Linux-NEXT: callq __morestack
@@ -1769,8 +1773,10 @@ define i32 @test_sibling_call_empty_frame(i32 %x) #0 {
17691773; X32ABI-LABEL: test_sibling_call_empty_frame:
17701774; X32ABI: # %bb.0:
17711775; X32ABI-NEXT: cmpl %fs:64, %esp
1772- ; X32ABI-NEXT: ja callee@PLT # TAILCALL
1773- ; X32ABI-NEXT: # %bb.1:
1776+ ; X32ABI-NEXT: jbe .LBB8_1
1777+ ; X32ABI-NEXT: # %bb.2:
1778+ ; X32ABI-NEXT: jmp callee@PLT # TAILCALL
1779+ ; X32ABI-NEXT: .LBB8_1:
17741780; X32ABI-NEXT: movl $0, %r10d
17751781; X32ABI-NEXT: movl $0, %r11d
17761782; X32ABI-NEXT: callq __morestack
@@ -1781,8 +1787,10 @@ define i32 @test_sibling_call_empty_frame(i32 %x) #0 {
17811787; X86-Darwin: ## %bb.0:
17821788; X86-Darwin-NEXT: movl $432, %ecx ## imm = 0x1B0
17831789; X86-Darwin-NEXT: cmpl %gs:(%ecx), %esp
1784- ; X86-Darwin-NEXT: ja _callee ## TAILCALL
1785- ; X86-Darwin-NEXT: ## %bb.1:
1790+ ; X86-Darwin-NEXT: jbe LBB8_1
1791+ ; X86-Darwin-NEXT: ## %bb.2:
1792+ ; X86-Darwin-NEXT: jmp _callee ## TAILCALL
1793+ ; X86-Darwin-NEXT: LBB8_1:
17861794; X86-Darwin-NEXT: pushl $4
17871795; X86-Darwin-NEXT: pushl $0
17881796; X86-Darwin-NEXT: calll ___morestack
@@ -1792,8 +1800,10 @@ define i32 @test_sibling_call_empty_frame(i32 %x) #0 {
17921800; X64-Darwin-LABEL: test_sibling_call_empty_frame:
17931801; X64-Darwin: ## %bb.0:
17941802; X64-Darwin-NEXT: cmpq %gs:816, %rsp
1795- ; X64-Darwin-NEXT: ja _callee ## TAILCALL
1796- ; X64-Darwin-NEXT: ## %bb.1:
1803+ ; X64-Darwin-NEXT: jbe LBB8_1
1804+ ; X64-Darwin-NEXT: ## %bb.2:
1805+ ; X64-Darwin-NEXT: jmp _callee ## TAILCALL
1806+ ; X64-Darwin-NEXT: LBB8_1:
17971807; X64-Darwin-NEXT: movl $0, %r10d
17981808; X64-Darwin-NEXT: movl $0, %r11d
17991809; X64-Darwin-NEXT: callq ___morestack
@@ -1803,8 +1813,10 @@ define i32 @test_sibling_call_empty_frame(i32 %x) #0 {
18031813; X86-MinGW-LABEL: test_sibling_call_empty_frame:
18041814; X86-MinGW: # %bb.0:
18051815; X86-MinGW-NEXT: cmpl %fs:20, %esp
1806- ; X86-MinGW-NEXT: ja _callee # TAILCALL
1807- ; X86-MinGW-NEXT: # %bb.1:
1816+ ; X86-MinGW-NEXT: jbe LBB8_1
1817+ ; X86-MinGW-NEXT: # %bb.2:
1818+ ; X86-MinGW-NEXT: jmp _callee # TAILCALL
1819+ ; X86-MinGW-NEXT: LBB8_1:
18081820; X86-MinGW-NEXT: pushl $4
18091821; X86-MinGW-NEXT: pushl $0
18101822; X86-MinGW-NEXT: calll ___morestack
@@ -1814,8 +1826,10 @@ define i32 @test_sibling_call_empty_frame(i32 %x) #0 {
18141826; X64-FreeBSD-LABEL: test_sibling_call_empty_frame:
18151827; X64-FreeBSD: # %bb.0:
18161828; X64-FreeBSD-NEXT: cmpq %fs:24, %rsp
1817- ; X64-FreeBSD-NEXT: ja callee@PLT # TAILCALL
1818- ; X64-FreeBSD-NEXT: # %bb.1:
1829+ ; X64-FreeBSD-NEXT: jbe .LBB8_1
1830+ ; X64-FreeBSD-NEXT: # %bb.2:
1831+ ; X64-FreeBSD-NEXT: jmp callee@PLT # TAILCALL
1832+ ; X64-FreeBSD-NEXT: .LBB8_1:
18191833; X64-FreeBSD-NEXT: movl $0, %r10d
18201834; X64-FreeBSD-NEXT: movl $0, %r11d
18211835; X64-FreeBSD-NEXT: callq __morestack
@@ -1825,8 +1839,10 @@ define i32 @test_sibling_call_empty_frame(i32 %x) #0 {
18251839; X86-DFlyBSD-LABEL: test_sibling_call_empty_frame:
18261840; X86-DFlyBSD: # %bb.0:
18271841; X86-DFlyBSD-NEXT: cmpl %fs:16, %esp
1828- ; X86-DFlyBSD-NEXT: ja callee@PLT # TAILCALL
1829- ; X86-DFlyBSD-NEXT: # %bb.1:
1842+ ; X86-DFlyBSD-NEXT: jbe .LBB8_1
1843+ ; X86-DFlyBSD-NEXT: # %bb.2:
1844+ ; X86-DFlyBSD-NEXT: jmp callee@PLT # TAILCALL
1845+ ; X86-DFlyBSD-NEXT: .LBB8_1:
18301846; X86-DFlyBSD-NEXT: pushl $4
18311847; X86-DFlyBSD-NEXT: pushl $0
18321848; X86-DFlyBSD-NEXT: calll __morestack
@@ -1836,8 +1852,10 @@ define i32 @test_sibling_call_empty_frame(i32 %x) #0 {
18361852; X64-DFlyBSD-LABEL: test_sibling_call_empty_frame:
18371853; X64-DFlyBSD: # %bb.0:
18381854; X64-DFlyBSD-NEXT: cmpq %fs:32, %rsp
1839- ; X64-DFlyBSD-NEXT: ja callee@PLT # TAILCALL
1840- ; X64-DFlyBSD-NEXT: # %bb.1:
1855+ ; X64-DFlyBSD-NEXT: jbe .LBB8_1
1856+ ; X64-DFlyBSD-NEXT: # %bb.2:
1857+ ; X64-DFlyBSD-NEXT: jmp callee@PLT # TAILCALL
1858+ ; X64-DFlyBSD-NEXT: .LBB8_1:
18411859; X64-DFlyBSD-NEXT: movl $0, %r10d
18421860; X64-DFlyBSD-NEXT: movl $0, %r11d
18431861; X64-DFlyBSD-NEXT: callq __morestack
@@ -1847,8 +1865,10 @@ define i32 @test_sibling_call_empty_frame(i32 %x) #0 {
18471865; X64-MinGW-LABEL: test_sibling_call_empty_frame:
18481866; X64-MinGW: # %bb.0:
18491867; X64-MinGW-NEXT: cmpq %gs:40, %rsp
1850- ; X64-MinGW-NEXT: ja callee # TAILCALL
1851- ; X64-MinGW-NEXT: # %bb.1:
1868+ ; X64-MinGW-NEXT: jbe .LBB8_1
1869+ ; X64-MinGW-NEXT: # %bb.2:
1870+ ; X64-MinGW-NEXT: jmp callee # TAILCALL
1871+ ; X64-MinGW-NEXT: .LBB8_1:
18521872; X64-MinGW-NEXT: movl $0, %r10d
18531873; X64-MinGW-NEXT: movl $32, %r11d
18541874; X64-MinGW-NEXT: callq __morestack
0 commit comments