https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89252
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement Component|middle-end |target Target| |x86_64-linux-gnu --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- On the trunk we get: movdqa xmm0, XMMWORD PTR _ZL5array[rip] movdqa xmm1, XMMWORD PTR _ZL5array[rip+16] movdqa xmm2, XMMWORD PTR _ZL5array[rip+32] movdqa xmm3, XMMWORD PTR _ZL5array[rip+48] movdqa xmm4, XMMWORD PTR _ZL5array[rip+64] movdqa xmm5, XMMWORD PTR _ZL5array[rip+80] movups XMMWORD PTR [rdi], xmm0 movdqa xmm6, XMMWORD PTR _ZL5array[rip+96] movdqa xmm7, XMMWORD PTR _ZL5array[rip+112] movups XMMWORD PTR [rdi+16], xmm1 movups XMMWORD PTR [rdi+32], xmm2 movups XMMWORD PTR [rdi+48], xmm3 movups XMMWORD PTR [rdi+320], xmm4 movups XMMWORD PTR [rdi+336], xmm5 movups XMMWORD PTR [rdi+352], xmm6 movups XMMWORD PTR [rdi+368], xmm7 Even with -mavx which I had assumed would use the ymm registers.