From: Ulrich Weigand Date: Thu, 27 Jan 2005 23:35:54 +0000 (+0000) Subject: re PR target/17771 (-O2 -mmvcle: internal compiler error: in spill_failure, at reload... X-Git-Tag: releases/gcc-3.4.4~264 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b422f5804ade539bdab7ae311d2c0d8172316e6;p=thirdparty%2Fgcc.git re PR target/17771 (-O2 -mmvcle: internal compiler error: in spill_failure, at reload1.c:1915) PR target/17771 * 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: r94350 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 74168608bea2..aa2c259e4d65 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2005-01-27 Ulrich Weigand + + PR target/17771 + Backport from mainline: + * 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-27 Marek Michalkiewicz PR target/19293 diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index acdd158164fb..345a36a18590 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -1039,11 +1039,13 @@ }) (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" { + if (GET_CODE (operands[0]) != MEM) + abort (); 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]); @@ -1167,11 +1169,13 @@ }) (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" { + if (GET_CODE (operands[0]) != MEM) + abort (); 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]); @@ -1647,11 +1651,13 @@ }) (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" { + if (GET_CODE (operands[0]) != MEM) + abort (); 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]);