Commit 9c3c3dcc by Ulrich Weigand Committed by Ulrich Weigand

s390.md ("reload_outti"): Remove predicate for output operand.

	* 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
parent 378b66d4
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> 2005-01-15 Marc Espie <espie@openbsd.org>
* config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2. * config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2.
......
;;- Machine description for GNU compiler -- S/390 / zSeries version. ;;- 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. ;; Free Software Foundation, Inc.
;; Contributed by Hartmut Penner (hpenner@de.ibm.com) and ;; Contributed by Hartmut Penner (hpenner@de.ibm.com) and
;; Ulrich Weigand (uweigand@de.ibm.com). ;; Ulrich Weigand (uweigand@de.ibm.com).
...@@ -827,11 +827,12 @@ ...@@ -827,11 +827,12 @@
}) })
(define_expand "reload_outti" (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:TI 1 "register_operand" "d")
(match_operand:DI 2 "register_operand" "=&a")])] (match_operand:DI 2 "register_operand" "=&a")])]
"TARGET_64BIT" "TARGET_64BIT"
{ {
gcc_assert (MEM_P (operands[0]));
s390_load_address (operands[2], XEXP (operands[0], 0)); s390_load_address (operands[2], XEXP (operands[0], 0));
operands[0] = replace_equiv_address (operands[0], operands[2]); operands[0] = replace_equiv_address (operands[0], operands[2]);
emit_move_insn (operands[0], operands[1]); emit_move_insn (operands[0], operands[1]);
...@@ -985,11 +986,12 @@ ...@@ -985,11 +986,12 @@
}) })
(define_expand "reload_outdi" (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:DI 1 "register_operand" "d")
(match_operand:SI 2 "register_operand" "=&a")])] (match_operand:SI 2 "register_operand" "=&a")])]
"!TARGET_64BIT" "!TARGET_64BIT"
{ {
gcc_assert (MEM_P (operands[0]));
s390_load_address (operands[2], XEXP (operands[0], 0)); s390_load_address (operands[2], XEXP (operands[0], 0));
operands[0] = replace_equiv_address (operands[0], operands[2]); operands[0] = replace_equiv_address (operands[0], operands[2]);
emit_move_insn (operands[0], operands[1]); emit_move_insn (operands[0], operands[1]);
...@@ -1443,11 +1445,12 @@ ...@@ -1443,11 +1445,12 @@
}) })
(define_expand "reload_outdf" (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:DF 1 "register_operand" "d")
(match_operand:SI 2 "register_operand" "=&a")])] (match_operand:SI 2 "register_operand" "=&a")])]
"!TARGET_64BIT" "!TARGET_64BIT"
{ {
gcc_assert (MEM_P (operands[0]));
s390_load_address (operands[2], XEXP (operands[0], 0)); s390_load_address (operands[2], XEXP (operands[0], 0));
operands[0] = replace_equiv_address (operands[0], operands[2]); operands[0] = replace_equiv_address (operands[0], operands[2]);
emit_move_insn (operands[0], operands[1]); emit_move_insn (operands[0], operands[1]);
......
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