diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-01-24 07:18:26 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-01-24 07:18:26 -0500 |
commit | f65b79390a3249bf670ddd04eb2e320b88f2b1e0 (patch) | |
tree | 4b7c153f78d49ee1af104580d2428cfbf9357672 /gcc | |
parent | d8a8a4da44fcc083e644545cff4486ccbaaa8707 (diff) | |
download | gcc-f65b79390a3249bf670ddd04eb2e320b88f2b1e0.zip gcc-f65b79390a3249bf670ddd04eb2e320b88f2b1e0.tar.gz gcc-f65b79390a3249bf670ddd04eb2e320b88f2b1e0.tar.bz2 |
(final_scan_insn): Call alter_subreg on duplicate operands (in case we
need to split the insn).
From-SVN: r3318
Diffstat (limited to 'gcc')
-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 7c3a61b..344805f 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); |