------- Comment #12 from steven at gcc dot gnu dot org  2009-01-04 21:07 -------
This fixes it for me.  However, I'm no RTL expert, and especially combine I
know nothing about :-)

I'll test/post this and see how the RTL guru's judge it.

        * combine.c (try_combine): Adjust INSN_CODE after making a valid
        replacement of an insn's PATTERN.

Index: combine.c
===================================================================
--- combine.c   (revision 143052)
+++ combine.c   (working copy)
@@ -2900,6 +2900,7 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_dire
                 change to the destination of I3.  This requires us to
                 do a few adjustments.  */

+             INSN_CODE (i3) = insn_code_number;
              PATTERN (i3) = newpat;
              adjust_for_new_dest (i3);
            }


-- 


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

Reply via email to