Fix a bug in preprocess_constraints
authorBernd Schmidt <bernds@cygnus.co.uk>
Thu, 9 Mar 2000 16:07:33 +0000 (16:07 +0000)
committerBernd Schmidt <crux@gcc.gnu.org>
Thu, 9 Mar 2000 16:07:33 +0000 (16:07 +0000)
From-SVN: r32447

gcc/ChangeLog
gcc/recog.c

index c721bf5..824e4d4 100644 (file)
@@ -1,5 +1,9 @@
 2000-03-09  Bernd Schmidt  <bernds@cygnus.co.uk>
 
+       * recog.c (preprocess_constraints): Matching constraints affect
+       same alternative/different operand, not same operand/different
+       alternative.
+       
        * reload1.c (eliminate_regs_in_insn): Handle additions of eliminable
        register and a constant specially.
 
index 56f8634..c732dc2 100644 (file)
@@ -2131,7 +2131,7 @@ preprocess_constraints ()
                case '0': case '1': case '2': case '3': case '4':
                case '5': case '6': case '7': case '8': case '9':
                  op_alt[j].matches = c - '0';
-                 op_alt[op_alt[j].matches].matched = i;
+                 recog_op_alt[op_alt[j].matches][j].matched = i;
                  break;
 
                case 'm':