------- Comment #6 from ubizjak at gmail dot com  2008-05-16 19:09 -------
There is still underlying RA problem left. Compiling the testcase from Comment
0 on 32bit i686 (-O2 -msse2), we get:

_mm_set_epi32:
        pushl   %ebp
        movl    %esp, %ebp
        movd    8(%ebp), %xmm0
        movd    12(%ebp), %xmm2
        punpckldq       %xmm0, %xmm2
        movd    16(%ebp), %xmm0
>>>     movq    %xmm2, %xmm1
        movd    20(%ebp), %xmm2
        popl    %ebp
        punpckldq       %xmm0, %xmm2
>>>     movq    %xmm2, %xmm0
        punpcklqdq      %xmm1, %xmm0
        ret

Two movq insns can be avoided by rearranging of registers.


-- 

ubizjak at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ra
   Last reconfirmed|0000-00-00 00:00:00         |2008-05-16 19:09:08
               date|                            |


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

Reply via email to