(basic_induction_var): Inside PLUS, when looking for promoted
authorRichard Stallman <rms@gnu.org>
Wed, 23 Sep 1992 03:46:26 +0000 (03:46 +0000)
committerRichard Stallman <rms@gnu.org>
Wed, 23 Sep 1992 03:46:26 +0000 (03:46 +0000)
var, make sure it's a REG.

From-SVN: r2210

gcc/loop.c

index e4b47db3cdf6a12edec5776b78ca8a6b234c4539..87509be4b146eef9896dfb5621d148666673efa4 100644 (file)
@@ -4693,7 +4693,8 @@ basic_induction_var (x, dest_reg, p, inc_val, mult_val)
        arg = XEXP (x, 1);
       else if (XEXP (x, 1) == dest_reg
               || (GET_CODE (XEXP (x, 1)) == SUBREG
-                  && SUBREG_PROMOTED_VAR_P (XEXP (x, 1))))
+                  && SUBREG_PROMOTED_VAR_P (XEXP (x, 1))
+                  && SUBREG_REG (XEXP (x, 1)) == dest_reg))
        arg = XEXP (x, 0);
       else
        return 0;