aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-10-22 15:59:21 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-10-22 15:59:21 +0000
commit7ebb782bd0e9d21944f2aaf15d780f7377b3748a (patch)
treea8b6b237248eb116635ae04a3366096b8eed4a2f
parent8f9ca9127473a43ba75f03fbfc30c32e9984c982 (diff)
downloadgcc-7ebb782bd0e9d21944f2aaf15d780f7377b3748a.zip
gcc-7ebb782bd0e9d21944f2aaf15d780f7377b3748a.tar.gz
gcc-7ebb782bd0e9d21944f2aaf15d780f7377b3748a.tar.bz2
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
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.md102
2 files changed, 56 insertions, 51 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6646c8c..b21a883 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 22a081c..e6c3ddc 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -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")])