aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2003-03-04 05:54:39 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2003-03-04 05:54:39 +0000
commitf12448c818cb5c02f6630675998e49f7812b4f02 (patch)
tree9c4b3b8fc4da20af305ea602c1a3ce677c8ef72c /gcc/reload1.c
parentfd4290d6c7057c42a129e1b5001226d255419db7 (diff)
downloadgcc-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.c10
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)
{