https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57890
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |7.0 Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED Known to fail| |4.9.0, 6.1.0 Known to work| |4.7.0, 7.1.0 --- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Fixed in GCC 7.0: f: movdqa xmm0, XMMWORD PTR .LC0[rip] mov DWORD PTR c[rip+96], 808464432 movaps XMMWORD PTR c[rip], xmm0 movaps XMMWORD PTR c[rip+16], xmm0 movaps XMMWORD PTR c[rip+32], xmm0 movaps XMMWORD PTR c[rip+48], xmm0 movaps XMMWORD PTR c[rip+64], xmm0 movaps XMMWORD PTR c[rip+80], xmm0 ret .LC0: .quad 3472328296227680304 .quad 3472328296227680304 Where GCC 4.7.0 had produced (which is just as ok): f: movdqa xmm0, XMMWORD PTR .LC0[rip] mov BYTE PTR c[rip+96], 48 mov BYTE PTR c[rip+97], 48 movdqa XMMWORD PTR c[rip], xmm0 mov BYTE PTR c[rip+98], 48 mov BYTE PTR c[rip+99], 48 movdqa XMMWORD PTR c[rip+16], xmm0 movdqa XMMWORD PTR c[rip+32], xmm0 movdqa XMMWORD PTR c[rip+48], xmm0 movdqa XMMWORD PTR c[rip+64], xmm0 movdqa XMMWORD PTR c[rip+80], xmm0 ret .LC0: .byte 48 .byte 48 .byte 48 .byte 48 .byte 48 .byte 48 .byte 48 .byte 48 .byte 48 .byte 48 .byte 48 .byte 48 .byte 48 .byte 48 .byte 48 .byte 48