i386.md: Add missing `y' modifiers to uses of fst, fstp, fld, and fld.
* i386.md: Add missing `y' modifiers to uses of fst, fstp, fld, and fld. From-SVN: r30131
This commit is contained in:
parent
8f9ca91274
commit
7ebb782bd0
2 changed files with 56 additions and 51 deletions
|
@ -1,3 +1,8 @@
|
|||
Fri Oct 22 09:03:44 1999 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* i386.md: Add missing `y' modifiers to uses of fst, fstp, fld,
|
||||
and fld.
|
||||
|
||||
1999-10-22 Bruce Korb <autogen@linuxbox.com>
|
||||
|
||||
* fixinc/README: document the "mach" machine matching test
|
||||
|
|
|
@ -1717,9 +1717,9 @@
|
|||
operands[2] = stack_pointer_rtx;
|
||||
operands[3] = GEN_INT (4);
|
||||
if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"sub{l}\\t{%3, %2|%2, %3}\;fstp%z0\\t%0\";
|
||||
return \"sub{l}\\t{%3, %2|%2, %3}\;fstp%z0\\t%y0\";
|
||||
else
|
||||
return \"sub{l}\\t{%3, %2|%2, %3}\;fst%z0\\t%0\";
|
||||
return \"sub{l}\\t{%3, %2|%2, %3}\;fst%z0\\t%y0\";
|
||||
|
||||
case 1:
|
||||
return \"push{l}\\t%1\";
|
||||
|
@ -1749,17 +1749,17 @@
|
|||
case 0:
|
||||
if (REG_P (operands[1])
|
||||
&& find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp\\t%0\";
|
||||
return \"fstp\\t%y0\";
|
||||
else if (STACK_TOP_P (operands[0]))
|
||||
return \"fld%z1\\t%1\";
|
||||
return \"fld%z1\\t%y1\";
|
||||
else
|
||||
return \"fst\\t%0\";
|
||||
return \"fst\\t%y0\";
|
||||
|
||||
case 1:
|
||||
if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\";
|
||||
else
|
||||
return \"fst%z0\\t%0\";
|
||||
return \"fst%z0\\t%y0\";
|
||||
|
||||
case 2:
|
||||
switch (standard_80387_constant_p (operands[1]))
|
||||
|
@ -1817,9 +1817,9 @@
|
|||
operands[2] = stack_pointer_rtx;
|
||||
operands[3] = GEN_INT (8);
|
||||
if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"sub{l}\\t{%3, %2|%2, %3}\;fstp%z0\\t%0\";
|
||||
return \"sub{l}\\t{%3, %2|%2, %3}\;fstp%z0\\t%y0\";
|
||||
else
|
||||
return \"sub{l}\\t{%3, %2|%2, %3}\;fst%z0\\t%0\";
|
||||
return \"sub{l}\\t{%3, %2|%2, %3}\;fst%z0\\t%y0\";
|
||||
|
||||
case 1:
|
||||
return \"#\";
|
||||
|
@ -1865,17 +1865,17 @@
|
|||
case 0:
|
||||
if (REG_P (operands[1])
|
||||
&& find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp\\t%0\";
|
||||
return \"fstp\\t%y0\";
|
||||
else if (STACK_TOP_P (operands[0]))
|
||||
return \"fld%z1\\t%1\";
|
||||
return \"fld%z1\\t%y1\";
|
||||
else
|
||||
return \"fst\\t%0\";
|
||||
return \"fst\\t%y0\";
|
||||
|
||||
case 1:
|
||||
if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\";
|
||||
else
|
||||
return \"fst%z0\\t%0\";
|
||||
return \"fst%z0\\t%y0\";
|
||||
|
||||
case 2:
|
||||
switch (standard_80387_constant_p (operands[1]))
|
||||
|
@ -1946,9 +1946,9 @@
|
|||
operands[2] = stack_pointer_rtx;
|
||||
operands[3] = GEN_INT (12);
|
||||
if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"sub{l}\\t{%3, %2|%2, %3}\;fstp%z0\\t%0\";
|
||||
return \"sub{l}\\t{%3, %2|%2, %3}\;fstp%z0\\t%y0\";
|
||||
else
|
||||
return \"sub{l}\\t{%3, %2|%2, %3}\;fst%z0\\t%0\";
|
||||
return \"sub{l}\\t{%3, %2|%2, %3}\;fst%z0\\t%y0\";
|
||||
}"
|
||||
[(set_attr "type" "multi")])
|
||||
|
||||
|
@ -1990,19 +1990,19 @@
|
|||
case 0:
|
||||
if (REG_P (operands[1])
|
||||
&& find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp\\t%0\";
|
||||
return \"fstp\\t%y0\";
|
||||
else if (STACK_TOP_P (operands[0]))
|
||||
return \"fld%z1\\t%1\";
|
||||
return \"fld%z1\\t%y1\";
|
||||
else
|
||||
return \"fst\\t%0\";
|
||||
return \"fst\\t%y0\";
|
||||
|
||||
case 1:
|
||||
/* There is no non-popping store to memory for XFmode. So if
|
||||
we need one, follow the store with a load. */
|
||||
if (! find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp%z0\\t%0\;fld%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\;fld%z0\\t%y0\";
|
||||
else
|
||||
return \"fstp%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\";
|
||||
|
||||
case 2:
|
||||
switch (standard_80387_constant_p (operands[1]))
|
||||
|
@ -2426,18 +2426,18 @@
|
|||
case 0:
|
||||
if (REG_P (operands[1])
|
||||
&& find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp\\t%0\";
|
||||
return \"fstp\\t%y0\";
|
||||
else if (STACK_TOP_P (operands[0]))
|
||||
return \"fld%z1\\t%1\";
|
||||
return \"fld%z1\\t%y1\";
|
||||
else
|
||||
return \"fst\\t%0\";
|
||||
return \"fst\\t%y0\";
|
||||
|
||||
case 1:
|
||||
if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\";
|
||||
|
||||
else
|
||||
return \"fst%z0\\t%0\";
|
||||
return \"fst%z0\\t%y0\";
|
||||
|
||||
default:
|
||||
abort ();
|
||||
|
@ -2456,19 +2456,19 @@
|
|||
case 0:
|
||||
if (REG_P (operands[1])
|
||||
&& find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp\\t%0\";
|
||||
return \"fstp\\t%y0\";
|
||||
else if (STACK_TOP_P (operands[0]))
|
||||
return \"fld%z1\\t%1\";
|
||||
return \"fld%z1\\t%y1\";
|
||||
else
|
||||
return \"fst\\t%0\";
|
||||
return \"fst\\t%y0\";
|
||||
|
||||
case 1:
|
||||
/* There is no non-popping store to memory for XFmode. So if
|
||||
we need one, follow the store with a load. */
|
||||
if (! find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp%z0\\t%0\\n\\tfld%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\\n\\tfld%z0\\t%y0\";
|
||||
else
|
||||
return \"fstp%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\";
|
||||
|
||||
default:
|
||||
abort ();
|
||||
|
@ -2487,19 +2487,19 @@
|
|||
case 0:
|
||||
if (REG_P (operands[1])
|
||||
&& find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp\\t%0\";
|
||||
return \"fstp\\t%y0\";
|
||||
else if (STACK_TOP_P (operands[0]))
|
||||
return \"fld%z1\\t%1\";
|
||||
return \"fld%z1\\t%y1\";
|
||||
else
|
||||
return \"fst\\t%0\";
|
||||
return \"fst\\t%y0\";
|
||||
|
||||
case 1:
|
||||
/* There is no non-popping store to memory for XFmode. So if
|
||||
we need one, follow the store with a load. */
|
||||
if (! find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp%z0\\t%0\\n\\tfld%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\\n\\tfld%z0\\t%y0\";
|
||||
else
|
||||
return \"fstp%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\";
|
||||
|
||||
default:
|
||||
abort ();
|
||||
|
@ -2533,11 +2533,11 @@
|
|||
{
|
||||
case 0:
|
||||
if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\";
|
||||
else
|
||||
return \"fst%z0\\t%0\";
|
||||
return \"fst%z0\\t%y0\";
|
||||
case 1:
|
||||
return \"fstp%z2\\t%2\;fld%z2\\t%2\";
|
||||
return \"fstp%z2\\t%y2\;fld%z2\\t%y2\";
|
||||
}
|
||||
abort ();
|
||||
}"
|
||||
|
@ -2551,9 +2551,9 @@
|
|||
"*
|
||||
{
|
||||
if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\";
|
||||
else
|
||||
return \"fst%z0\\t%0\";
|
||||
return \"fst%z0\\t%y0\";
|
||||
}"
|
||||
[(set_attr "type" "fmov")])
|
||||
|
||||
|
@ -2596,11 +2596,11 @@
|
|||
{
|
||||
case 0:
|
||||
if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\";
|
||||
else
|
||||
return \"fst%z0\\t%0\";
|
||||
return \"fst%z0\\t%y0\";
|
||||
case 1:
|
||||
return \"fstp%z2\\t%2\;fld%z2\\t%2\";
|
||||
return \"fstp%z2\\t%y2\;fld%z2\\t%y2\";
|
||||
}
|
||||
abort ();
|
||||
}"
|
||||
|
@ -2614,9 +2614,9 @@
|
|||
"*
|
||||
{
|
||||
if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\";
|
||||
else
|
||||
return \"fst%z0\\t%0\";
|
||||
return \"fst%z0\\t%y0\";
|
||||
}"
|
||||
[(set_attr "type" "fmov")])
|
||||
|
||||
|
@ -2659,11 +2659,11 @@
|
|||
{
|
||||
case 0:
|
||||
if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\";
|
||||
else
|
||||
return \"fst%z0\\t%0\";
|
||||
return \"fst%z0\\t%y0\";
|
||||
case 1:
|
||||
return \"fstp%z2\\t%2\;fld%z2\\t%2\";
|
||||
return \"fstp%z2\\t%y2\;fld%z2\\t%y2\";
|
||||
}
|
||||
abort ();
|
||||
}"
|
||||
|
@ -2677,9 +2677,9 @@
|
|||
"*
|
||||
{
|
||||
if (find_regno_note (insn, REG_DEAD, REGNO (operands[1])))
|
||||
return \"fstp%z0\\t%0\";
|
||||
return \"fstp%z0\\t%y0\";
|
||||
else
|
||||
return \"fst%z0\\t%0\";
|
||||
return \"fst%z0\\t%y0\";
|
||||
}"
|
||||
[(set_attr "type" "fmov")])
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue