]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
alpha.md (reload_inqi): Check for MEM before strict_memory_address_p...
authorRichard Henderson <rth@cygnus.com>
Tue, 28 Oct 1997 22:40:01 +0000 (14:40 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 28 Oct 1997 22:40:01 +0000 (14:40 -0800)
* 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

gcc/ChangeLog
gcc/config/alpha/alpha.md

index 05820601564cc5c592ad695c2855462d05e89cec..f6a96bdac105c73b68ec0b651d29b29093a2b55a 100644 (file)
@@ -1,3 +1,9 @@
+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>
 
        * m68k.md (btst patterns): Add 5200 support.
index 221d5d9094fcf1261c88454c1cfaa0885b720938..570ab915ae26ed68304ad6a4a5b3f46f587ebe58 100644 (file)
                     ? REGNO (operands[2]) + 1 : REGNO (operands[2]));
 
   /* 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]));
       emit_insn (gen_move_insn (tmp, XEXP (operands[1], 0)));
                     ? REGNO (operands[2]) + 1 : REGNO (operands[2]));
 
   /* 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]));
       emit_insn (gen_move_insn (tmp, XEXP (operands[1], 0)));
   "
 { 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]));
       emit_insn (gen_move_insn (scratch1, XEXP (operands[0], 0)));
   "
 { 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]));
       emit_insn (gen_move_insn (scratch1, XEXP (operands[0], 0)));