diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1993-01-24 12:18:26 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1993-01-24 12:18:26 +0000 |
commit | bfa317eff9fbd85a246166930b143c263f2e8a7c (patch) | |
tree | 4b7c153f78d49ee1af104580d2428cfbf9357672 /gcc/final.c | |
parent | b77a8efdb6580226f6660e1c9b7fd13b114b5e3e (diff) | |
download | gcc-bfa317eff9fbd85a246166930b143c263f2e8a7c.tar.gz |
(final_scan_insn): Call alter_subreg on duplicate operands (in case we
need to split the insn).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3318 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/final.c')
-rw-r--r-- | gcc/final.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/final.c b/gcc/final.c index 7c3a61b36ac..344805f19d4 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -1658,6 +1658,12 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) recog_operand[i] = 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]); + } + #ifdef REGISTER_CONSTRAINTS if (! constrain_operands (insn_code_number, 1)) fatal_insn_not_found (insn); |