From: Ulrich Weigand Date: Thu, 27 Jan 2005 23:38:39 +0000 (+0000) Subject: re PR target/17771 (-O2 -mmvcle: internal compiler error: in spill_failure, at reload... X-Git-Tag: releases/gcc-3.3.6~114 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff42038f95251c3cb86e6fd2d1549dd3dddadac5;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: r94351 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4f481e683adc..c110e861009a 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-22 Roger Sayle PR target/18402 diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index 1fb80c9aa457..3bc1356f0d5c 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -910,11 +910,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]); @@ -1060,11 +1062,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]); @@ -1374,11 +1378,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]);