s390.md ("reload_outti"): Remove predicate for output operand.
authorUlrich Weigand <uweigand@de.ibm.com>
Sat, 15 Jan 2005 15:34:51 +0000 (15:34 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Sat, 15 Jan 2005 15:34:51 +0000 (15:34 +0000)
* config/s390/s390.md ("reload_outti"): Remove predicate for
output operand.  Abort if operand is not a MEM.
("reload_outdi", "reload_outdf"): Likewise.

From-SVN: r93695

gcc/ChangeLog
gcc/config/s390/s390.md

index 5db11a5..d07cea1 100644 (file)
@@ -1,3 +1,9 @@
+2005-01-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.md ("reload_outti"): Remove predicate for
+       output operand.  Abort if operand is not a MEM.
+       ("reload_outdi", "reload_outdf"): Likewise.
+
 2005-01-15  Marc Espie  <espie@openbsd.org>
 
        * config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2.
index 7672e2b..c61bde8 100644 (file)
@@ -1,5 +1,5 @@
 ;;- Machine description for GNU compiler -- S/390 / zSeries version.
-;;  Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
+;;  Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
 ;;  Free Software Foundation, Inc.
 ;;  Contributed by Hartmut Penner (hpenner@de.ibm.com) and
 ;;                 Ulrich Weigand (uweigand@de.ibm.com).
 })
 
 (define_expand "reload_outti"
-  [(parallel [(match_operand:TI 0 "memory_operand" "")
+  [(parallel [(match_operand:TI 0 "" "")
               (match_operand:TI 1 "register_operand" "d")
               (match_operand:DI 2 "register_operand" "=&a")])]
   "TARGET_64BIT"
 {
+  gcc_assert (MEM_P (operands[0]));
   s390_load_address (operands[2], XEXP (operands[0], 0));
   operands[0] = replace_equiv_address (operands[0], operands[2]);
   emit_move_insn (operands[0], operands[1]);
 })
 
 (define_expand "reload_outdi"
-  [(parallel [(match_operand:DI 0 "memory_operand" "")
+  [(parallel [(match_operand:DI 0 "" "")
               (match_operand:DI 1 "register_operand" "d")
               (match_operand:SI 2 "register_operand" "=&a")])]
   "!TARGET_64BIT"
 {
+  gcc_assert (MEM_P (operands[0]));
   s390_load_address (operands[2], XEXP (operands[0], 0));
   operands[0] = replace_equiv_address (operands[0], operands[2]);
   emit_move_insn (operands[0], operands[1]);
 })
 
 (define_expand "reload_outdf"
-  [(parallel [(match_operand:DF 0 "memory_operand" "")
+  [(parallel [(match_operand:DF 0 "" "")
               (match_operand:DF 1 "register_operand" "d")
               (match_operand:SI 2 "register_operand" "=&a")])]
   "!TARGET_64BIT"
 {
+  gcc_assert (MEM_P (operands[0]));
   s390_load_address (operands[2], XEXP (operands[0], 0));
   operands[0] = replace_equiv_address (operands[0], operands[2]);
   emit_move_insn (operands[0], operands[1]);