@@ -1560,3 +1560,53 @@ define tailcc void @f15(double %d, <vscale x 4 x i32> %vs, [9 x i64], i32 %i) {
15601560 store i32 %i , ptr %a
15611561 ret void
15621562}
1563+
1564+ declare ptr @llvm.swift.async.context.addr ()
1565+
1566+ define void @f16 (ptr swiftasync %ctx , <vscale x 2 x i64 > %foo ) {
1567+ ; CHECK-LABEL: f16:
1568+ ; CHECK: .seh_proc f16
1569+ ; CHECK-NEXT: // %bb.0:
1570+ ; CHECK-NEXT: orr x29, x29, #0x1000000000000000
1571+ ; CHECK-NEXT: .seh_nop
1572+ ; CHECK-NEXT: addvl sp, sp, #-1
1573+ ; CHECK-NEXT: .seh_allocz 1
1574+ ; CHECK-NEXT: str z8, [sp] // 16-byte Folded Spill
1575+ ; CHECK-NEXT: .seh_save_zreg z8, 0
1576+ ; CHECK-NEXT: sub sp, sp, #32
1577+ ; CHECK-NEXT: .seh_stackalloc 32
1578+ ; CHECK-NEXT: stp x29, x30, [sp, #8] // 16-byte Folded Spill
1579+ ; CHECK-NEXT: .seh_save_fplr 8
1580+ ; CHECK-NEXT: str x22, [sp]
1581+ ; CHECK-NEXT: .seh_nop
1582+ ; CHECK-NEXT: add x29, sp, #8
1583+ ; CHECK-NEXT: .seh_add_fp 8
1584+ ; CHECK-NEXT: .seh_endprologue
1585+ ; CHECK-NEXT: sub sp, sp, #16
1586+ ; CHECK-NEXT: //APP
1587+ ; CHECK-NEXT: //NO_APP
1588+ ; CHECK-NEXT: ldr x8, [x22]
1589+ ; CHECK-NEXT: stur x8, [x29, #-8]
1590+ ; CHECK-NEXT: .seh_startepilogue
1591+ ; CHECK-NEXT: add sp, sp, #16
1592+ ; CHECK-NEXT: .seh_stackalloc 16
1593+ ; CHECK-NEXT: ldp x29, x30, [sp, #8] // 16-byte Folded Reload
1594+ ; CHECK-NEXT: add sp, sp, #32
1595+ ; CHECK-NEXT: .seh_stackalloc 32
1596+ ; CHECK-NEXT: .seh_save_fplr 8
1597+ ; CHECK-NEXT: ldr z8, [sp] // 16-byte Folded Reload
1598+ ; CHECK-NEXT: .seh_save_zreg z8, 0
1599+ ; CHECK-NEXT: and x29, x29, #0xefffffffffffffff
1600+ ; CHECK-NEXT: .seh_nop
1601+ ; CHECK-NEXT: addvl sp, sp, #1
1602+ ; CHECK-NEXT: .seh_allocz 1
1603+ ; CHECK-NEXT: .seh_endepilogue
1604+ ; CHECK-NEXT: ret
1605+ ; CHECK-NEXT: .seh_endfunclet
1606+ ; CHECK-NEXT: .seh_endproc
1607+ tail call void asm sideeffect "" , "~{z8}" ()
1608+ %1 = load ptr , ptr %ctx , align 8
1609+ %2 = tail call ptr @llvm.swift.async.context.addr ()
1610+ store ptr %1 , ptr %2 , align 8
1611+ ret void
1612+ }
0 commit comments