https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107404
Uroš Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |ubizjak at gmail dot com Status|NEW |ASSIGNED --- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> --- Patch in testing: --cut here-- diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 85567980aa3..436eabb691a 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -21800,7 +21800,8 @@ (define_peephole2 && REGNO (operands[2]) != REGNO (operands[1]) && peep2_reg_dead_p (2, operands[1]) && peep2_reg_dead_p (4, operands[2]) - && !reg_overlap_mentioned_p (operands[0], operands[3])" + && !reg_overlap_mentioned_p (operands[0], operands[3]) + && !reg_mentioned_p (operands[2], operands[6])" [(parallel [(set (match_dup 7) (match_dup 8)) (set (match_dup 1) (match_dup 9))]) (set (match_dup 0) (match_dup 3)) --cut here--