https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95967
Tamar Christina <tnfchris at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tnfchris at gcc dot gnu.org --- Comment #6 from Tamar Christina <tnfchris at gcc dot gnu.org> --- f3 and g3 no longer use the stack: f3: ins v0.s[1], v1.s[0] sub sp, sp, #16 add sp, sp, 16 ins v0.s[2], v2.s[0] ins v0.s[3], v3.s[0] ret g3: ldr s0, [x0] sub sp, sp, #16 ld1 {v0.s}[1], [x1] ld1 {v0.s}[2], [x2] ld1 {v0.s}[3], [x3] add sp, sp, 16 ret Though we still allocate the space for it (but that's a general AArch64 issue). for the other cases the only thing left is the initializations.