https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114175
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #7) > The arguments are passed in by the caller in a0 (the hidden struct pointer > or explicit in the other one), a1 (1), a2+a3 (2.0), a4 (3), a5+a6 (4.0). Actually a6+a7 for 4.0 instead. Anyway the caller is identical with/without the https://gcc.gnu.org/pipermail/gcc-patches/2024-February/646882.html patch, so I think it is something on the callee side where it doesn't take into account the hidden return pointer.