@@ -3612,8 +3612,7 @@ define i32 @svecc_call_dynamic_alloca(<4 x i16> %P0, i32 %P1, i32 %P2, <vscale x
36123612; CHECK64-NEXT: ldr z10, [sp, #13, mul vl] // 16-byte Folded Reload
36133613; CHECK64-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
36143614; CHECK64-NEXT: ldr z8, [sp, #15, mul vl] // 16-byte Folded Reload
3615- ; CHECK64-NEXT: add sp, sp, #64
3616- ; CHECK64-NEXT: addvl sp, sp, #16
3615+ ; CHECK64-NEXT: addvl sp, x29, #-2
36173616; CHECK64-NEXT: .cfi_restore z8
36183617; CHECK64-NEXT: .cfi_restore z9
36193618; CHECK64-NEXT: .cfi_restore z10
@@ -3899,8 +3898,7 @@ define i32 @svecc_call_dynamic_alloca(<4 x i16> %P0, i32 %P1, i32 %P2, <vscale x
38993898; CHECK1024-SPLITSVE-NEXT: ldr z10, [sp, #13, mul vl] // 16-byte Folded Reload
39003899; CHECK1024-SPLITSVE-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
39013900; CHECK1024-SPLITSVE-NEXT: ldr z8, [sp, #15, mul vl] // 16-byte Folded Reload
3902- ; CHECK1024-SPLITSVE-NEXT: add sp, sp, #1024
3903- ; CHECK1024-SPLITSVE-NEXT: addvl sp, sp, #16
3901+ ; CHECK1024-SPLITSVE-NEXT: addvl sp, x29, #-2
39043902; CHECK1024-SPLITSVE-NEXT: .cfi_restore z8
39053903; CHECK1024-SPLITSVE-NEXT: .cfi_restore z9
39063904; CHECK1024-SPLITSVE-NEXT: .cfi_restore z10
@@ -4166,8 +4164,7 @@ define i32 @svecc_call_realign(<4 x i16> %P0, i32 %P1, i32 %P2, <vscale x 16 x i
41664164; CHECK64-NEXT: ldr z10, [sp, #13, mul vl] // 16-byte Folded Reload
41674165; CHECK64-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
41684166; CHECK64-NEXT: ldr z8, [sp, #15, mul vl] // 16-byte Folded Reload
4169- ; CHECK64-NEXT: add sp, sp, #64
4170- ; CHECK64-NEXT: addvl sp, sp, #16
4167+ ; CHECK64-NEXT: addvl sp, x29, #-2
41714168; CHECK64-NEXT: .cfi_restore z8
41724169; CHECK64-NEXT: .cfi_restore z9
41734170; CHECK64-NEXT: .cfi_restore z10
@@ -4432,8 +4429,7 @@ define i32 @svecc_call_realign(<4 x i16> %P0, i32 %P1, i32 %P2, <vscale x 16 x i
44324429; CHECK1024-SPLITSVE-NEXT: ldr z10, [sp, #13, mul vl] // 16-byte Folded Reload
44334430; CHECK1024-SPLITSVE-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
44344431; CHECK1024-SPLITSVE-NEXT: ldr z8, [sp, #15, mul vl] // 16-byte Folded Reload
4435- ; CHECK1024-SPLITSVE-NEXT: add sp, sp, #1024
4436- ; CHECK1024-SPLITSVE-NEXT: addvl sp, sp, #16
4432+ ; CHECK1024-SPLITSVE-NEXT: addvl sp, x29, #-2
44374433; CHECK1024-SPLITSVE-NEXT: .cfi_restore z8
44384434; CHECK1024-SPLITSVE-NEXT: .cfi_restore z9
44394435; CHECK1024-SPLITSVE-NEXT: .cfi_restore z10
@@ -4678,8 +4674,7 @@ define i32 @svecc_call_dynamic_and_scalable_alloca(<4 x i16> %P0, i32 %P1, i32 %
46784674; CHECK64-NEXT: ldr z10, [sp, #13, mul vl] // 16-byte Folded Reload
46794675; CHECK64-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
46804676; CHECK64-NEXT: ldr z8, [sp, #15, mul vl] // 16-byte Folded Reload
4681- ; CHECK64-NEXT: add sp, sp, #64
4682- ; CHECK64-NEXT: addvl sp, sp, #16
4677+ ; CHECK64-NEXT: addvl sp, x29, #-2
46834678; CHECK64-NEXT: ldr p15, [sp, #4, mul vl] // 2-byte Folded Reload
46844679; CHECK64-NEXT: ldr p14, [sp, #5, mul vl] // 2-byte Folded Reload
46854680; CHECK64-NEXT: ldr p13, [sp, #6, mul vl] // 2-byte Folded Reload
@@ -4910,8 +4905,7 @@ define i32 @svecc_call_dynamic_and_scalable_alloca(<4 x i16> %P0, i32 %P1, i32 %
49104905; CHECK1024-SPLITSVE-NEXT: ldr z10, [sp, #13, mul vl] // 16-byte Folded Reload
49114906; CHECK1024-SPLITSVE-NEXT: ldr z9, [sp, #14, mul vl] // 16-byte Folded Reload
49124907; CHECK1024-SPLITSVE-NEXT: ldr z8, [sp, #15, mul vl] // 16-byte Folded Reload
4913- ; CHECK1024-SPLITSVE-NEXT: add sp, sp, #1024
4914- ; CHECK1024-SPLITSVE-NEXT: addvl sp, sp, #16
4908+ ; CHECK1024-SPLITSVE-NEXT: addvl sp, x29, #-2
49154909; CHECK1024-SPLITSVE-NEXT: ldr p15, [sp, #4, mul vl] // 2-byte Folded Reload
49164910; CHECK1024-SPLITSVE-NEXT: ldr p14, [sp, #5, mul vl] // 2-byte Folded Reload
49174911; CHECK1024-SPLITSVE-NEXT: ldr p13, [sp, #6, mul vl] // 2-byte Folded Reload
0 commit comments