https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100077
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2021-04-14 Target| |x86_64-*-* CC| |matz at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Keywords| |missed-optimization Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- The issue is the way the ABI packs things (you are comparing different ABIs as well), on x86 linux you get things packed in 8-byte quantities which means v[0] and v[1] go in one xmm reg and v[2] goes in another. This detail becomes visible too late to elide the stack slot assignment. There are duplicate related bugreports but there's also no easy fix forthcoming.