From 725fc5a08d59d147b38a004367b79e724b9f4655 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 29 Jun 1994 19:21:43 -0400 Subject: [PATCH] (basic_induction_var, case REG): Allow previous insn to set a SUBREG of X. From-SVN: r7611 --- gcc/loop.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/loop.c b/gcc/loop.c index 31e7a6e79ce..c6caefe93d7 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -4834,7 +4834,12 @@ basic_induction_var (x, mode, dest_reg, p, inc_val, mult_val) if (insn) set = single_set (insn); - if (set != 0 && SET_DEST (set) == x) + if (set != 0 + && (SET_DEST (set) == x + || (GET_CODE (SET_DEST (set)) == SUBREG + && (GET_MODE_SIZE (GET_MODE (SET_DEST (set))) + <= UNITS_PER_WORD) + && SUBREG_REG (SET_DEST (set)) == x))) return basic_induction_var (SET_SRC (set), (GET_MODE (SET_SRC (set)) == VOIDmode ? GET_MODE (x) -- 2.30.2