From bfe3c3615affe97ab94036b5274ff51afc485e1c Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Tue, 12 Oct 1993 11:56:41 +0000 Subject: [PATCH] (final_scan_insn): Call walk_alter_subreg for operands that are PLUS or MULT, before constrain_operands. From-SVN: r5743 --- gcc/final.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gcc/final.c b/gcc/final.c index 5958ead..82077cc 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -105,6 +105,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ rtx peephole (); void output_asm_insn (); rtx alter_subreg (); +static rtx walk_alter_subreg (); static int alter_cond (); void output_asm_label (); static void output_operand (); @@ -1895,12 +1896,18 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) { if (GET_CODE (recog_operand[i]) == SUBREG) recog_operand[i] = alter_subreg (recog_operand[i]); + else if (GET_CODE (recog_operand[i]) == PLUS + || GET_CODE (recog_operand[i]) == MULT) + recog_operand[i] = walk_alter_subreg (recog_operand[i]); } for (i = 0; i < insn_n_dups[insn_code_number]; i++) { if (GET_CODE (*recog_dup_loc[i]) == SUBREG) *recog_dup_loc[i] = alter_subreg (*recog_dup_loc[i]); + else if (GET_CODE (*recog_dup_loc[i]) == PLUS + || GET_CODE (*recog_dup_loc[i]) == MULT) + *recog_dup_loc[i] = walk_alter_subreg (*recog_dup_loc[i]); } #ifdef REGISTER_CONSTRAINTS -- 2.7.4