Commit 42f4929d by Richard Henderson Committed by Richard Henderson

alpha.md (reload_inqi): Check for MEM before strict_memory_address_p...

* alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
since any_memory_operand() allows pseudos during reload.
(reload_inhi, reload_outqi, reload_outhi): Likewise.

From-SVN: r16219
parent 08417478
Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com>
* alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
since any_memory_operand() allows pseudos during reload.
(reload_inhi, reload_outqi, reload_outhi): Likewise.
Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com> Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com>
* m68k.md (btst patterns): Add 5200 support. * m68k.md (btst patterns): Add 5200 support.
......
...@@ -4291,7 +4291,8 @@ ...@@ -4291,7 +4291,8 @@
? REGNO (operands[2]) + 1 : REGNO (operands[2])); ? REGNO (operands[2]) + 1 : REGNO (operands[2]));
/* We must be careful to make sure that the new rtx won't need reloading. */ /* We must be careful to make sure that the new rtx won't need reloading. */
if (! strict_memory_address_p (DImode, XEXP (operands[1], 0))) if (GET_CODE (operands[1]) == MEM &&
! strict_memory_address_p (DImode, XEXP (operands[1], 0)))
{ {
tmp = gen_rtx (REG, Pmode, REGNO (operands[0])); tmp = gen_rtx (REG, Pmode, REGNO (operands[0]));
emit_insn (gen_move_insn (tmp, XEXP (operands[1], 0))); emit_insn (gen_move_insn (tmp, XEXP (operands[1], 0)));
...@@ -4324,7 +4325,8 @@ ...@@ -4324,7 +4325,8 @@
? REGNO (operands[2]) + 1 : REGNO (operands[2])); ? REGNO (operands[2]) + 1 : REGNO (operands[2]));
/* We must be careful to make sure that the new rtx won't need reloading. */ /* We must be careful to make sure that the new rtx won't need reloading. */
if (!strict_memory_address_p (DImode, XEXP (operands[1], 0))) if (GET_CODE (operands[1]) == MEM &&
! strict_memory_address_p (DImode, XEXP (operands[1], 0)))
{ {
tmp = gen_rtx (REG, Pmode, REGNO (operands[0])); tmp = gen_rtx (REG, Pmode, REGNO (operands[0]));
emit_insn (gen_move_insn (tmp, XEXP (operands[1], 0))); emit_insn (gen_move_insn (tmp, XEXP (operands[1], 0)));
...@@ -4348,7 +4350,9 @@ ...@@ -4348,7 +4350,9 @@
" "
{ extern rtx get_unaligned_address (); { extern rtx get_unaligned_address ();
if (!strict_memory_address_p (DImode, XEXP (operands[0], 0))) /* Note that any_memory_operand allows pseudos during reload. */
if (GET_CODE (operands[0]) == MEM &&
! strict_memory_address_p (DImode, XEXP (operands[0], 0)))
{ {
rtx scratch1 = gen_rtx (REG, DImode, REGNO (operands[2])); rtx scratch1 = gen_rtx (REG, DImode, REGNO (operands[2]));
emit_insn (gen_move_insn (scratch1, XEXP (operands[0], 0))); emit_insn (gen_move_insn (scratch1, XEXP (operands[0], 0)));
...@@ -4394,7 +4398,9 @@ ...@@ -4394,7 +4398,9 @@
" "
{ extern rtx get_unaligned_address (); { extern rtx get_unaligned_address ();
if (!strict_memory_address_p (DImode, XEXP (operands[0], 0))) /* Note that any_memory_operand allows pseudos during reload. */
if (GET_CODE (operands[0]) == MEM &&
! strict_memory_address_p (DImode, XEXP (operands[0], 0)))
{ {
rtx scratch1 = gen_rtx (REG, DImode, REGNO (operands[2])); rtx scratch1 = gen_rtx (REG, DImode, REGNO (operands[2]));
emit_insn (gen_move_insn (scratch1, XEXP (operands[0], 0))); emit_insn (gen_move_insn (scratch1, XEXP (operands[0], 0)));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment