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



--- Comment #2 from Steven Bosscher <steven at gcc dot gnu.org> 2013-02-15 
10:00:13 UTC ---

The "unbreakable" insns 12 "xmm2:DF=xmm2:DF+xmm0:DF" is created by regmove.



.ce3 dump:

    2: r64:DF=xmm0:DF

    8: r66:DF=xmm2:DF

   12: r67:DF=r66:DF+r64:DF

   17: xmm0:DF=r67:DF

   20: use xmm0:DF



.regmove dump:

Could fix operand 1 of insn 12 matching operand 0.

    2: r64:DF=xmm0:DF

    8: r67:DF=xmm2:DF

   12: r67:DF=r67:DF+r64:DF

   17: xmm0:DF=r67:DF

   20: use xmm0:DF



With -fno-regmove:

        addsd   %xmm2, %xmm0

        ret

Reply via email to