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



--- Comment #11 from Uros Bizjak <ubizjak at gmail dot com> 2012-11-10 11:55:55 
UTC ---

~/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)

Reply via email to