@@ -784,8 +784,6 @@ define void @f6(<vscale x 2 x i64> %x, [8 x i64] %pad, i64 %n9) personality ptr
784784; CHECK-NEXT: .seh_proc f6
785785; CHECK-NEXT: .seh_handler __CxxFrameHandler3, @unwind, @except
786786; CHECK-NEXT: // %bb.0:
787- ; CHECK-NEXT: sub sp, sp, #16
788- ; CHECK-NEXT: .seh_stackalloc 16
789787; CHECK-NEXT: addvl sp, sp, #-18
790788; CHECK-NEXT: .seh_allocz 18
791789; CHECK-NEXT: str p4, [sp] // 2-byte Folded Spill
@@ -853,21 +851,21 @@ define void @f6(<vscale x 2 x i64> %x, [8 x i64] %pad, i64 %n9) personality ptr
853851; CHECK-NEXT: add x29, sp, #16
854852; CHECK-NEXT: .seh_add_fp 16
855853; CHECK-NEXT: .seh_endprologue
856- ; CHECK-NEXT: sub sp, sp, #64
854+ ; CHECK-NEXT: sub sp, sp, #80
857855; CHECK-NEXT: mov x0, #-2 // =0xfffffffffffffffe
858856; CHECK-NEXT: addvl x8, x29, #18
859857; CHECK-NEXT: mov x19, sp
860- ; CHECK-NEXT: stur x0, [x8, #16 ]
858+ ; CHECK-NEXT: stur x0, [x8]
861859; CHECK-NEXT: addvl x8, x29, #18
862- ; CHECK-NEXT: ldr x1, [x8, #32 ]
863- ; CHECK-NEXT: .Ltmp0:
860+ ; CHECK-NEXT: ldr x1, [x8, #16 ]
861+ ; CHECK-NEXT: .Ltmp0: // EH_LABEL
864862; CHECK-NEXT: add x0, x19, #0
865863; CHECK-NEXT: bl g6
866- ; CHECK-NEXT: .Ltmp1:
864+ ; CHECK-NEXT: .Ltmp1: // EH_LABEL
867865; CHECK-NEXT: // %bb.1: // %invoke.cont
868866; CHECK-NEXT: .seh_startepilogue
869- ; CHECK-NEXT: add sp, sp, #64
870- ; CHECK-NEXT: .seh_stackalloc 64
867+ ; CHECK-NEXT: add sp, sp, #80
868+ ; CHECK-NEXT: .seh_stackalloc 80
871869; CHECK-NEXT: ldp x29, x30, [sp, #16] // 16-byte Folded Reload
872870; CHECK-NEXT: .seh_save_fplr 16
873871; CHECK-NEXT: ldr x28, [sp, #8] // 8-byte Folded Reload
@@ -932,12 +930,8 @@ define void @f6(<vscale x 2 x i64> %x, [8 x i64] %pad, i64 %n9) personality ptr
932930; CHECK-NEXT: .seh_save_preg p14, 10
933931; CHECK-NEXT: ldr p15, [sp, #11, mul vl] // 2-byte Folded Reload
934932; CHECK-NEXT: .seh_save_preg p15, 11
935- ; CHECK-NEXT: add sp, sp, #16
936- ; CHECK-NEXT: .seh_stackalloc 16
937933; CHECK-NEXT: addvl sp, sp, #18
938934; CHECK-NEXT: .seh_allocz 18
939- ; CHECK-NEXT: add sp, sp, #16
940- ; CHECK-NEXT: .seh_stackalloc 16
941935; CHECK-NEXT: .seh_endepilogue
942936; CHECK-NEXT: ret
943937; CHECK-NEXT: .seh_endfunclet
@@ -1160,64 +1154,6 @@ define void @f8(<vscale x 2 x i64> %v) {
11601154 ret void
11611155}
11621156
1163- define void @f9 (<vscale x 2 x i64 > %v , ...) {
1164- ; CHECK-LABEL: f9:
1165- ; CHECK: .seh_proc f9
1166- ; CHECK-NEXT: // %bb.0:
1167- ; CHECK-NEXT: sub sp, sp, #64
1168- ; CHECK-NEXT: .seh_stackalloc 64
1169- ; CHECK-NEXT: addvl sp, sp, #-1
1170- ; CHECK-NEXT: .seh_allocz 1
1171- ; CHECK-NEXT: str z8, [sp] // 16-byte Folded Spill
1172- ; CHECK-NEXT: .seh_save_zreg z8, 0
1173- ; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
1174- ; CHECK-NEXT: .seh_save_reg_x x30, 16
1175- ; CHECK-NEXT: .seh_endprologue
1176- ; CHECK-NEXT: addvl x8, sp, #1
1177- ; CHECK-NEXT: add x9, sp, #8
1178- ; CHECK-NEXT: str x2, [x8, #32]
1179- ; CHECK-NEXT: addvl x8, sp, #1
1180- ; CHECK-NEXT: str x0, [x8, #16]
1181- ; CHECK-NEXT: addvl x8, sp, #1
1182- ; CHECK-NEXT: str x1, [x8, #24]
1183- ; CHECK-NEXT: addvl x8, sp, #1
1184- ; CHECK-NEXT: str x3, [x8, #40]
1185- ; CHECK-NEXT: addvl x8, sp, #1
1186- ; CHECK-NEXT: str x4, [x8, #48]
1187- ; CHECK-NEXT: addvl x8, sp, #1
1188- ; CHECK-NEXT: str x5, [x8, #56]
1189- ; CHECK-NEXT: addvl x8, sp, #1
1190- ; CHECK-NEXT: str x6, [x8, #64]
1191- ; CHECK-NEXT: addvl x8, sp, #1
1192- ; CHECK-NEXT: str x7, [x8, #72]
1193- ; CHECK-NEXT: add x8, sp, #16
1194- ; CHECK-NEXT: addvl x8, x8, #1
1195- ; CHECK-NEXT: str x8, [sp, #8]
1196- ; CHECK-NEXT: //APP
1197- ; CHECK-NEXT: //NO_APP
1198- ; CHECK-NEXT: .seh_startepilogue
1199- ; CHECK-NEXT: ldr x30, [sp] // 8-byte Folded Reload
1200- ; CHECK-NEXT: .seh_save_reg x30, 0
1201- ; CHECK-NEXT: add sp, sp, #16
1202- ; CHECK-NEXT: .seh_stackalloc 16
1203- ; CHECK-NEXT: ldr z8, [sp] // 16-byte Folded Reload
1204- ; CHECK-NEXT: .seh_save_zreg z8, 0
1205- ; CHECK-NEXT: add sp, sp, #64
1206- ; CHECK-NEXT: .seh_stackalloc 64
1207- ; CHECK-NEXT: addvl sp, sp, #1
1208- ; CHECK-NEXT: .seh_allocz 1
1209- ; CHECK-NEXT: add sp, sp, #64
1210- ; CHECK-NEXT: .seh_stackalloc 64
1211- ; CHECK-NEXT: .seh_endepilogue
1212- ; CHECK-NEXT: ret
1213- ; CHECK-NEXT: .seh_endfunclet
1214- ; CHECK-NEXT: .seh_endproc
1215- %va_list = alloca ptr
1216- call void @llvm.va_start.p0 (ptr %va_list )
1217- call void asm "" , "r,~{d8},~{memory}" (ptr %va_list )
1218- ret void
1219- }
1220-
12211157declare void @g10 (ptr ,ptr )
12221158define void @f10 (i64 %n , <vscale x 2 x i64 > %x ) "frame-pointer" ="all" {
12231159; CHECK-LABEL: f10:
@@ -1546,40 +1482,33 @@ define tailcc void @f15(double %d, <vscale x 4 x i32> %vs, [9 x i64], i32 %i) {
15461482; CHECK-LABEL: f15:
15471483; CHECK: .seh_proc f15
15481484; CHECK-NEXT: // %bb.0:
1549- ; CHECK-NEXT: addvl sp, sp, #-1
1550- ; CHECK-NEXT: .seh_allocz 1
1551- ; CHECK-NEXT: str z8, [sp] // 16-byte Folded Spill
1552- ; CHECK-NEXT: .seh_save_zreg z8, 0
1553- ; CHECK-NEXT: str x28, [sp, #-16]! // 8-byte Folded Spill
1554- ; CHECK-NEXT: .seh_save_reg_x x28, 16
1485+ ; CHECK-NEXT: str x28, [sp, #-32]! // 8-byte Folded Spill
1486+ ; CHECK-NEXT: .seh_save_reg_x x28, 32
15551487; CHECK-NEXT: str x30, [sp, #8] // 8-byte Folded Spill
15561488; CHECK-NEXT: .seh_save_reg x30, 8
1557- ; CHECK-NEXT: sub sp, sp, #16
1558- ; CHECK-NEXT: .seh_stackalloc 16
1489+ ; CHECK-NEXT: str d8, [ sp, #16] // 8-byte Folded Spill
1490+ ; CHECK-NEXT: .seh_save_freg d8, 16
15591491; CHECK-NEXT: addvl sp, sp, #-1
15601492; CHECK-NEXT: .seh_allocz 1
15611493; CHECK-NEXT: .seh_endprologue
1562- ; CHECK-NEXT: addvl x8, sp, #2
1494+ ; CHECK-NEXT: addvl x8, sp, #1
1495+ ; CHECK-NEXT: addvl x9, sp, #1
15631496; CHECK-NEXT: //APP
15641497; CHECK-NEXT: //NO_APP
1565- ; CHECK-NEXT: stp d0, d0, [sp, #8]
15661498; CHECK-NEXT: ldr w8, [x8, #104]
1567- ; CHECK-NEXT: str w8, [sp, #8]
1499+ ; CHECK-NEXT: str d0, [x9, #24]
1500+ ; CHECK-NEXT: addvl x9, sp, #1
1501+ ; CHECK-NEXT: str d0, [sp]
1502+ ; CHECK-NEXT: str w8, [x9, #24]
15681503; CHECK-NEXT: .seh_startepilogue
15691504; CHECK-NEXT: addvl sp, sp, #1
15701505; CHECK-NEXT: .seh_allocz 1
1571- ; CHECK-NEXT: add sp, sp, #16
1572- ; CHECK-NEXT: .seh_stackalloc 16
1506+ ; CHECK-NEXT: ldr d8, [ sp, #16] // 8-byte Folded Reload
1507+ ; CHECK-NEXT: .seh_save_freg d8, 16
15731508; CHECK-NEXT: ldr x30, [sp, #8] // 8-byte Folded Reload
15741509; CHECK-NEXT: .seh_save_reg x30, 8
1575- ; CHECK-NEXT: ldr x28, [sp] // 8-byte Folded Reload
1576- ; CHECK-NEXT: .seh_save_reg x28, 0
1577- ; CHECK-NEXT: add sp, sp, #16
1578- ; CHECK-NEXT: .seh_stackalloc 16
1579- ; CHECK-NEXT: ldr z8, [sp] // 16-byte Folded Reload
1580- ; CHECK-NEXT: .seh_save_zreg z8, 0
1581- ; CHECK-NEXT: addvl sp, sp, #1
1582- ; CHECK-NEXT: .seh_allocz 1
1510+ ; CHECK-NEXT: ldr x28, [sp], #32 // 8-byte Folded Reload
1511+ ; CHECK-NEXT: .seh_save_reg_x x28, 32
15831512; CHECK-NEXT: add sp, sp, #80
15841513; CHECK-NEXT: .seh_stackalloc 80
15851514; CHECK-NEXT: .seh_endepilogue
0 commit comments