http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55247



H.J. Lu <hjl.tools at gmail dot com> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

             Status|NEW                         |UNCONFIRMED

          Component|middle-end                  |rtl-optimization

         Depends on|                            |55259

     Ever Confirmed|1                           |0



--- Comment #12 from H.J. Lu <hjl.tools at gmail dot com> 2012-11-10 19:02:04 
UTC ---

(In reply to comment #11)

> ~/gcc-build/gcc/cc1 -O2 -mx32 -maddress-mode=long pr55247.c

> 

> results in following sequence:

> 

>         movdqu  (%eax), %xmm0

>         movdqa  %xmm0, (%rsp)

>         movq    (%rsp), %rax

>         movq    8(%rsp), %rdx

>         movq    %rax, 16(%rsp)

>         movq    %rdx, 24(%rsp)

> 

> while -maddress=mode=short produces expected code:

> 

>         movq    8(%eax), %rdx

>         movq    (%eax), %rax

>         movq    %rdx, 8(%esp)

>         movq    %rax, (%esp)



This is related to PR 55259.  This patch:



http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00799.html



fixes it.

Reply via email to