From 26f1a00ea1cbe0d9785292e5bb900ca2837647f5 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 5 Jul 1993 17:59:09 -0400 Subject: (subst_reloads): Don't use gen_lowpart_common to get reload register into proper mode. From-SVN: r4854 --- gcc/reload.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/reload.c b/gcc/reload.c index 35fe843..eacea86 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -4659,9 +4659,11 @@ subst_reloads () if (reloadreg) { /* Encapsulate RELOADREG so its machine mode matches what - used to be there. */ + used to be there. Note that gen_lowpart_common will + do the wrong thing if RELOADREG is multi-word. RELOADREG + will always be a REG here. */ if (GET_MODE (reloadreg) != r->mode && r->mode != VOIDmode) - reloadreg = gen_lowpart_common (r->mode, reloadreg); + reloadreg = gen_rtx (REG, r->mode, REGNO (reloadreg)); /* If we are putting this into a SUBREG and RELOADREG is a SUBREG, we would be making nested SUBREGs, so we have to fix -- cgit v1.1