------- Additional Comments From pinskia at gcc dot gnu dot org 2005-01-12
06:07 -------
This has been fixed now, I think by a patch which also fixed PR 13366.
We get the same code for both functions in 32bit mode.
But note in 64bit mode, we get better code for not_eliminated:
not_eliminated:
.LFB473:
shufps $0, %xmm1, %xmm1
shufps $0, %xmm0, %xmm0
mulps %xmm1, %xmm0
ret
Vs:
eliminated:
.LFB474:
movss %xmm0, -4(%rsp)
movl -4(%rsp), %eax
movss %xmm1, -4(%rsp)
movd %eax, %xmm0
movl -4(%rsp), %eax
shufps $0, %xmm0, %xmm0
movd %eax, %xmm1
shufps $0, %xmm1, %xmm1
mulps %xmm1, %xmm0
ret
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19274