https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106707

--- Comment #4 from Xionghu Luo (luoxhu at gcc dot gnu.org) <yinyuefengyi at 
gmail dot com> ---
Maybe guard the pattern with...

diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 58fcc382fa2..2a9d70da6d0 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -3045,6 +3045,7 @@ (define_peephole2
  "optimize_size > 1
   && (REGNO (operands[0]) == AX_REG
       || REGNO (operands[1]) == AX_REG)
+  && REGNO(operands[0]) != REGNO(operands[1])
   && optimize_insn_for_size_p ()
   && peep2_reg_dead_p (1, operands[1])"
   [(parallel [(set (match_dup 0) (match_dup 1))

Reply via email to