(regclass): Consider commutativity even when
authorRichard Stallman <rms@gnu.org>
Wed, 3 Nov 1993 20:36:59 +0000 (20:36 +0000)
committerRichard Stallman <rms@gnu.org>
Wed, 3 Nov 1993 20:36:59 +0000 (20:36 +0000)
one arg is a constant.

From-SVN: r5985

gcc/regclass.c

index 3a488fc1a00eec6b42f476bfb7dd5643116ab0d1..1453d0e9175313669e189877f690db8502f40b30 100644 (file)
@@ -757,13 +757,11 @@ regclass (f, nregs)
                }
 
              /* Check for commutative in a separate loop so everything will
-                have been initialized.  Don't bother doing anything if the
-                second operand is a constant since that is the case
-                for which the constraints should have been written.  */
+                have been initialized.  We must do this even if one operand
+                is a constant--see addsi3 in m68k.md.  */
              
              for (i = 0; i < noperands - 1; i++)
-               if (constraints[i][0] == '%'
-                   && ! CONSTANT_P (recog_operand[i+1]))
+               if (constraints[i][0] == '%')
                  {
                    char *xconstraints[MAX_RECOG_OPERANDS];
                    int j;