@@ -7,24 +7,26 @@ declare i64 @g(ptr, ptr)
77define swiftcorocc i64 @test_intrin_basic () #0 {
88; CHECK-LABEL: test_intrin_basic:
99; CHECK: ; %bb.0:
10+ ; CHECK-NEXT: .cfi_b_key_frame
1011; CHECK-NEXT: pacibsp
12+ ; CHECK-NEXT: .cfi_negate_ra_state
1113; CHECK-NEXT: stp x29, x30, [sp, #-16]! ; 16-byte Folded Spill
1214; CHECK-NEXT: mov x29, sp
1315; CHECK-NEXT: .cfi_def_cfa w29, 16
1416; CHECK-NEXT: .cfi_offset w30, -8
1517; CHECK-NEXT: .cfi_offset w29, -16
16- ; CHECK-NEXT: add x16, x29, #16
1718; CHECK-NEXT: ldp x29, x30, [x29] ; 16-byte Folded Reload
18- ; CHECK-NEXT: autib x30, x16
19- ; CHECK-NEXT: ret
19+ ; CHECK-NEXT: retab
2020 musttail call void @llvm.ret.popless ()
2121 ret i64 0
2222}
2323
2424define swiftcorocc i64 @test_intrin () #0 {
2525; CHECK-LABEL: test_intrin:
2626; CHECK: ; %bb.0:
27+ ; CHECK-NEXT: .cfi_b_key_frame
2728; CHECK-NEXT: pacibsp
29+ ; CHECK-NEXT: .cfi_negate_ra_state
2830; CHECK-NEXT: sub sp, sp, #48
2931; CHECK-NEXT: stp x26, x25, [sp, #16] ; 16-byte Folded Spill
3032; CHECK-NEXT: stp x29, x30, [sp, #32] ; 16-byte Folded Spill
@@ -41,11 +43,9 @@ define swiftcorocc i64 @test_intrin() #0 {
4143; CHECK-NEXT: bl _g
4244; CHECK-NEXT: cbz x0, LBB1_2
4345; CHECK-NEXT: ; %bb.1: ; %else
44- ; CHECK-NEXT: add x16, x29, #16
4546; CHECK-NEXT: ldp x26, x25, [x29, #-16] ; 16-byte Folded Reload
4647; CHECK-NEXT: ldp x29, x30, [x29] ; 16-byte Folded Reload
47- ; CHECK-NEXT: autib x30, x16
48- ; CHECK-NEXT: ret
48+ ; CHECK-NEXT: retab
4949; CHECK-NEXT: LBB1_2: ; %then
5050; CHECK-NEXT: add sp, sp, #16
5151; CHECK-NEXT: ldp x29, x30, [sp, #16] ; 16-byte Folded Reload
6767define swiftcorocc i64 @test_vla (i32 %n ) #0 {
6868; SDISEL-LABEL: test_vla:
6969; SDISEL: ; %bb.0:
70+ ; SDISEL-NEXT: .cfi_b_key_frame
7071; SDISEL-NEXT: pacibsp
72+ ; SDISEL-NEXT: .cfi_negate_ra_state
7173; SDISEL-NEXT: stp x26, x25, [sp, #-32]! ; 16-byte Folded Spill
7274; SDISEL-NEXT: stp x29, x30, [sp, #16] ; 16-byte Folded Spill
7375; SDISEL-NEXT: add x29, sp, #16
@@ -91,11 +93,9 @@ define swiftcorocc i64 @test_vla(i32 %n) #0 {
9193; SDISEL-NEXT: bl _g
9294; SDISEL-NEXT: cbz x0, LBB2_2
9395; SDISEL-NEXT: ; %bb.1: ; %else
94- ; SDISEL-NEXT: add x16, x29, #16
9596; SDISEL-NEXT: ldp x26, x25, [x29, #-16] ; 16-byte Folded Reload
9697; SDISEL-NEXT: ldp x29, x30, [x29] ; 16-byte Folded Reload
97- ; SDISEL-NEXT: autib x30, x16
98- ; SDISEL-NEXT: ret
98+ ; SDISEL-NEXT: retab
9999; SDISEL-NEXT: LBB2_2: ; %then
100100; SDISEL-NEXT: sub sp, x29, #16
101101; SDISEL-NEXT: ldp x29, x30, [sp, #16] ; 16-byte Folded Reload
@@ -104,7 +104,9 @@ define swiftcorocc i64 @test_vla(i32 %n) #0 {
104104;
105105; GISEL-LABEL: test_vla:
106106; GISEL: ; %bb.0:
107+ ; GISEL-NEXT: .cfi_b_key_frame
107108; GISEL-NEXT: pacibsp
109+ ; GISEL-NEXT: .cfi_negate_ra_state
108110; GISEL-NEXT: stp x26, x25, [sp, #-32]! ; 16-byte Folded Spill
109111; GISEL-NEXT: stp x29, x30, [sp, #16] ; 16-byte Folded Spill
110112; GISEL-NEXT: add x29, sp, #16
@@ -128,11 +130,9 @@ define swiftcorocc i64 @test_vla(i32 %n) #0 {
128130; GISEL-NEXT: bl _g
129131; GISEL-NEXT: cbz x0, LBB2_2
130132; GISEL-NEXT: ; %bb.1: ; %else
131- ; GISEL-NEXT: add x16, x29, #16
132133; GISEL-NEXT: ldp x26, x25, [x29, #-16] ; 16-byte Folded Reload
133134; GISEL-NEXT: ldp x29, x30, [x29] ; 16-byte Folded Reload
134- ; GISEL-NEXT: autib x30, x16
135- ; GISEL-NEXT: ret
135+ ; GISEL-NEXT: retab
136136; GISEL-NEXT: LBB2_2: ; %then
137137; GISEL-NEXT: sub sp, x29, #16
138138; GISEL-NEXT: ldp x29, x30, [sp, #16] ; 16-byte Folded Reload
0 commit comments