From 7f6dae2a45e53587650670c2ad12fd3725c7102c Mon Sep 17 00:00:00 2001 From: Geoff Keating Date: Tue, 26 Oct 1999 05:56:15 +0000 Subject: [PATCH] loop.c (basic_induction_var): A non-integer variable which is being set by a paradoxical subreg is probably... * loop.c (basic_induction_var): A non-integer variable which is being set by a paradoxical subreg is probably not a biv. From-SVN: r30181 --- gcc/ChangeLog | 5 +++++ gcc/loop.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c7251d8cdb6..a9763a16b9e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Oct 25 23:54:45 1999 Geoff Keating + + * loop.c (basic_induction_var): A non-integer variable which is + being set by a paradoxical subreg is probably not a biv. + 1999-10-25 Herman A.J. ten Brugge * prefix.c (translate_name) Check for empty prefix string. diff --git a/gcc/loop.c b/gcc/loop.c index 5ef10bd5b67..2b2a8378b8f 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -6118,6 +6118,8 @@ basic_induction_var (x, mode, dest_reg, p, inc_val, mult_val, location) || (GET_CODE (SET_DEST (set)) == SUBREG && (GET_MODE_SIZE (GET_MODE (SET_DEST (set))) <= UNITS_PER_WORD) + && (GET_MODE_CLASS (GET_MODE (SET_DEST (set))) + == MODE_INT) && SUBREG_REG (SET_DEST (set)) == x)) && basic_induction_var (SET_SRC (set), (GET_MODE (SET_SRC (set)) == VOIDmode -- 2.30.2