https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60879

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |12.0
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED
           Keywords|                            |missed-optimization

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed on the trunk:

        movdqu  (%rdi), %xmm0
        movups  %xmm0, (%rsi)
        movq    15(%rdi), %rax
        movq    %rax, 15(%rsi)
        ret


While GCC 11 produced:

        movdqu  (%rdi), %xmm0
        movups  %xmm0, (%rsi)
        movl    16(%rdi), %eax
        movl    %eax, 16(%rsi)
        movzwl  20(%rdi), %eax
        movw    %ax, 20(%rsi)
        movzbl  22(%rdi), %eax
        movb    %al, 22(%rsi)
        ret

Reply via email to