From 27a2c2b5a1255f4df4b5316bdb2d642f5f2e256b Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Thu, 31 Oct 1996 18:43:05 -0500 Subject: [PATCH] (emit_move_sequence): Refine previous change. From-SVN: r13087 --- gcc/config/pa/pa.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 74d7b8802a5..d8bc1e1b911 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -1066,7 +1066,10 @@ emit_move_sequence (operands, mode, scratch_reg) else if (reload_in_progress && GET_CODE (operand0) == SUBREG && GET_CODE (SUBREG_REG (operand0)) == REG && REGNO (SUBREG_REG (operand0)) >= FIRST_PSEUDO_REGISTER) - SUBREG_REG (operand0) = reg_equiv_mem[REGNO (SUBREG_REG (operand0))]; + { + SUBREG_REG (operand0) = reg_equiv_mem[REGNO (SUBREG_REG (operand0))]; + operand0 = alter_subreg (operand0); + } if (reload_in_progress && GET_CODE (operand1) == REG && REGNO (operand1) >= FIRST_PSEUDO_REGISTER) @@ -1074,7 +1077,10 @@ emit_move_sequence (operands, mode, scratch_reg) else if (reload_in_progress && GET_CODE (operand1) == SUBREG && GET_CODE (SUBREG_REG (operand1)) == REG && REGNO (SUBREG_REG (operand1)) >= FIRST_PSEUDO_REGISTER) - SUBREG_REG (operand1) = reg_equiv_mem[REGNO (SUBREG_REG (operand1))]; + { + SUBREG_REG (operand1) = reg_equiv_mem[REGNO (SUBREG_REG (operand1))]; + operand1 = alter_subreg (operand1); + } /* Handle secondary reloads for loads/stores of FP registers from REG+D addresses where D does not fit in 5 bits, including -- 2.30.2