aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/loop.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c7251d8..a9763a1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Mon Oct 25 23:54:45 1999 Geoff Keating <geoffk@cygnus.com>
+
+ * 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 <Haj.Ten.Brugge@net.HCC.nl>
* prefix.c (translate_name) Check for empty prefix string.
diff --git a/gcc/loop.c b/gcc/loop.c
index 5ef10bd..2b2a837 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