------- 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