[Bug target/89252] Vector load/store aren't used to initialize large memory
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Aug 1 16:59:04 GMT 2021
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.
More information about the Gcc-bugs
mailing list