diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2003-03-04 05:54:39 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2003-03-04 05:54:39 +0000 |
commit | f12448c818cb5c02f6630675998e49f7812b4f02 (patch) | |
tree | 9c4b3b8fc4da20af305ea602c1a3ce677c8ef72c /gcc/reload1.c | |
parent | fd4290d6c7057c42a129e1b5001226d255419db7 (diff) | |
download | gcc-f12448c818cb5c02f6630675998e49f7812b4f02.zip gcc-f12448c818cb5c02f6630675998e49f7812b4f02.tar.gz gcc-f12448c818cb5c02f6630675998e49f7812b4f02.tar.bz2 |
reload.c (reload_adjust_reg_for_mode): New function.
* reload.c (reload_adjust_reg_for_mode): New function.
(subst_reloads): Call it.
(operands_match_p): Adjust registers using HARD_REGNO_NREGS.
* reload.h (reload_adjust_reg_for_mode): Declare.
* reload1.c (emit_input_reload_insns, emit_output_reload_insns):
Call it.
From-SVN: r63766
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 5a0886b..e454947 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -6319,7 +6319,7 @@ emit_input_reload_insns (chain, rl, old, j) must always be a REG here. */ if (GET_MODE (reloadreg) != mode) - reloadreg = gen_rtx_REG (mode, REGNO (reloadreg)); + reloadreg = reload_adjust_reg_for_mode (reloadreg, mode); while (GET_CODE (oldequiv) == SUBREG && GET_MODE (oldequiv) != mode) oldequiv = SUBREG_REG (oldequiv); if (GET_MODE (oldequiv) != VOIDmode @@ -6568,8 +6568,8 @@ emit_input_reload_insns (chain, rl, old, j) oldequiv = old, real_oldequiv = real_old; else second_reload_reg - = gen_rtx_REG (new_mode, - REGNO (second_reload_reg)); + = reload_adjust_reg_for_mode (second_reload_reg, + new_mode); } } } @@ -6691,7 +6691,7 @@ emit_output_reload_insns (chain, rl, j) } if (GET_MODE (reloadreg) != mode) - reloadreg = gen_rtx_REG (mode, REGNO (reloadreg)); + reloadreg = reload_adjust_reg_for_mode (reloadreg, mode); #ifdef SECONDARY_OUTPUT_RELOAD_CLASS @@ -6732,7 +6732,7 @@ emit_output_reload_insns (chain, rl, j) = rld[secondary_reload].secondary_out_icode; if (GET_MODE (reloadreg) != mode) - reloadreg = gen_rtx_REG (mode, REGNO (reloadreg)); + reloadreg = reload_adjust_reg_for_mode (reloadreg, mode); if (tertiary_icode != CODE_FOR_nothing) { |