Patch from John Wehle to fix movxf_push spill reg allocation failure.
* i386.md (movsf_push, movdf_push, movxf_push): Allow memory operands during and after reload. From-SVN: r19346
This commit is contained in:
parent
ba70e85a77
commit
dc0f0eb82e
2 changed files with 20 additions and 6 deletions
|
@ -1,3 +1,8 @@
|
|||
Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
|
||||
|
||||
* i386.md (movsf_push, movdf_push, movxf_push): Allow memory
|
||||
operands during and after reload.
|
||||
|
||||
Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||
|
||||
* final.c (shorten_branches, init_insn_lengths): Move code
|
||||
|
|
|
@ -1189,8 +1189,8 @@
|
|||
|
||||
(define_insn "movsf_push"
|
||||
[(set (match_operand:SF 0 "push_operand" "=<,<")
|
||||
(match_operand:SF 1 "nonmemory_operand" "rF,f"))]
|
||||
""
|
||||
(match_operand:SF 1 "general_operand" "*rfF,m"))]
|
||||
"GET_CODE (operands[1]) != MEM || reload_in_progress || reload_completed"
|
||||
"*
|
||||
{
|
||||
if (STACK_REG_P (operands[1]))
|
||||
|
@ -1213,6 +1213,7 @@
|
|||
|
||||
RET;
|
||||
}
|
||||
|
||||
return AS1 (push%L0,%1);
|
||||
}")
|
||||
|
||||
|
@ -1336,8 +1337,8 @@
|
|||
|
||||
(define_insn "movdf_push"
|
||||
[(set (match_operand:DF 0 "push_operand" "=<,<")
|
||||
(match_operand:DF 1 "nonmemory_operand" "rF,f"))]
|
||||
""
|
||||
(match_operand:DF 1 "general_operand" "*rfF,o"))]
|
||||
"GET_CODE (operands[1]) != MEM || reload_in_progress || reload_completed"
|
||||
"*
|
||||
{
|
||||
if (STACK_REG_P (operands[1]))
|
||||
|
@ -1357,6 +1358,10 @@
|
|||
|
||||
RET;
|
||||
}
|
||||
|
||||
if (which_alternative == 1)
|
||||
return output_move_pushmem (operands, insn, GET_MODE_SIZE (DFmode), 0, 0);
|
||||
|
||||
return output_move_double (operands);
|
||||
}")
|
||||
|
||||
|
@ -1482,8 +1487,8 @@
|
|||
|
||||
(define_insn "movxf_push"
|
||||
[(set (match_operand:XF 0 "push_operand" "=<,<")
|
||||
(match_operand:XF 1 "nonmemory_operand" "rF,f"))]
|
||||
""
|
||||
(match_operand:XF 1 "general_operand" "*rfF,o"))]
|
||||
"GET_CODE (operands[1]) != MEM || reload_in_progress || reload_completed"
|
||||
"*
|
||||
{
|
||||
if (STACK_REG_P (operands[1]))
|
||||
|
@ -1502,6 +1507,10 @@
|
|||
|
||||
RET;
|
||||
}
|
||||
|
||||
if (which_alternative == 1)
|
||||
return output_move_pushmem (operands, insn, GET_MODE_SIZE (XFmode), 0, 0);
|
||||
|
||||
return output_move_double (operands);
|
||||
}")
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue