This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: compile of libc-2.0.7pre3 fails with egcs-2.91.22 980404
- To: wilson at cygnus dot com
- Subject: Re: compile of libc-2.0.7pre3 fails with egcs-2.91.22 980404
- From: john at feith dot com (John Wehle)
- Date: Sat, 18 Apr 1998 11:59:54 -0400
- Cc: egcs-bugs at cygnus dot com, mharnois at sbt dot net
Second attempt ... does this solve the problem?
ChangeLog:
Sat Apr 18 11:24:10 EDT 1998 John Wehle (john@feith.com)
* i386.md (movsf_push, movdf_push, movxf_push): Allow memory
operands during and after reload.
-- John Wehle
------------------8<------------------------8<------------------------
*** gcc/config/i386/i386.md.ORIGINAL1 Thu Apr 16 22:35:33 1998
--- gcc/config/i386/i386.md Sat Apr 18 00:21:29 1998
***************
*** 1181,1188 ****
(define_insn "movsf_push"
[(set (match_operand:SF 0 "push_operand" "=<,<")
! (match_operand:SF 1 "nonmemory_operand" "rF,f"))]
! ""
"*
{
if (STACK_REG_P (operands[1]))
--- 1181,1188 ----
(define_insn "movsf_push"
[(set (match_operand:SF 0 "push_operand" "=<,<")
! (match_operand:SF 1 "general_operand" "*rfF,m"))]
! "GET_CODE (operands[1]) != MEM || reload_in_progress || reload_completed"
"*
{
if (STACK_REG_P (operands[1]))
***************
*** 1205,1210 ****
--- 1205,1211 ----
RET;
}
+
return AS1 (push%L0,%1);
}")
***************
*** 1328,1335 ****
(define_insn "movdf_push"
[(set (match_operand:DF 0 "push_operand" "=<,<")
! (match_operand:DF 1 "nonmemory_operand" "rF,f"))]
! ""
"*
{
if (STACK_REG_P (operands[1]))
--- 1329,1336 ----
(define_insn "movdf_push"
[(set (match_operand:DF 0 "push_operand" "=<,<")
! (match_operand:DF 1 "general_operand" "*rfF,o"))]
! "GET_CODE (operands[1]) != MEM || reload_in_progress || reload_completed"
"*
{
if (STACK_REG_P (operands[1]))
***************
*** 1349,1354 ****
--- 1350,1359 ----
RET;
}
+
+ if (which_alternative == 1)
+ return output_move_pushmem (operands, insn, GET_MODE_SIZE (DFmode), 0, 0);
+
return output_move_double (operands);
}")
***************
*** 1474,1481 ****
(define_insn "movxf_push"
[(set (match_operand:XF 0 "push_operand" "=<,<")
! (match_operand:XF 1 "nonmemory_operand" "rF,f"))]
! ""
"*
{
if (STACK_REG_P (operands[1]))
--- 1479,1486 ----
(define_insn "movxf_push"
[(set (match_operand:XF 0 "push_operand" "=<,<")
! (match_operand:XF 1 "general_operand" "*rfF,o"))]
! "GET_CODE (operands[1]) != MEM || reload_in_progress || reload_completed"
"*
{
if (STACK_REG_P (operands[1]))
***************
*** 1494,1499 ****
--- 1499,1508 ----
RET;
}
+
+ if (which_alternative == 1)
+ return output_move_pushmem (operands, insn, GET_MODE_SIZE (XFmode), 0, 0);
+
return output_move_double (operands);
}")
-------------------------------------------------------------------------
| Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com |
| John Wehle | Fax: 1-215-540-5495 | |
-------------------------------------------------------------------------