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

Reply via email to