pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an operand.
* pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an operand. From-SVN: r28939
This commit is contained in:
parent
203cb4ef87
commit
7144300698
|
@ -1,3 +1,8 @@
|
|||
Fri Aug 27 15:35:24 1999 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
|
||||
operand.
|
||||
|
||||
Fri Aug 27 14:01:19 1999 Marc Espie <espie@cvs.openbsd.org>
|
||||
|
||||
* config/openbsd.h: Define SET_ASM_OP.
|
||||
|
|
|
@ -1136,8 +1136,12 @@ emit_move_sequence (operands, mode, scratch_reg)
|
|||
&& GET_CODE (SUBREG_REG (operand0)) == REG
|
||||
&& REGNO (SUBREG_REG (operand0)) >= FIRST_PSEUDO_REGISTER)
|
||||
{
|
||||
SUBREG_REG (operand0) = reg_equiv_mem[REGNO (SUBREG_REG (operand0))];
|
||||
operand0 = alter_subreg (operand0);
|
||||
/* We must not alter SUBREG_WORD (operand0) since that would confuse
|
||||
the code which tracks sets/uses for delete_output_reload. */
|
||||
rtx temp = gen_rtx_SUBREG (GET_MODE (operand0),
|
||||
reg_equiv_mem [REGNO (SUBREG_REG (operand0))],
|
||||
SUBREG_WORD (operand0));
|
||||
operand0 = alter_subreg (temp);
|
||||
}
|
||||
|
||||
if (scratch_reg
|
||||
|
@ -1149,8 +1153,12 @@ emit_move_sequence (operands, mode, scratch_reg)
|
|||
&& GET_CODE (SUBREG_REG (operand1)) == REG
|
||||
&& REGNO (SUBREG_REG (operand1)) >= FIRST_PSEUDO_REGISTER)
|
||||
{
|
||||
SUBREG_REG (operand1) = reg_equiv_mem[REGNO (SUBREG_REG (operand1))];
|
||||
operand1 = alter_subreg (operand1);
|
||||
/* We must not alter SUBREG_WORD (operand0) since that would confuse
|
||||
the code which tracks sets/uses for delete_output_reload. */
|
||||
rtx temp = gen_rtx_SUBREG (GET_MODE (operand1),
|
||||
reg_equiv_mem [REGNO (SUBREG_REG (operand1))],
|
||||
SUBREG_WORD (operand1));
|
||||
operand1 = alter_subreg (temp);
|
||||
}
|
||||
|
||||
if (scratch_reg && reload_in_progress && GET_CODE (operand0) == MEM
|
||||
|
|
Loading…
Reference in New Issue