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

Reply via email to