OSDN Git Service

* i386.md: Add missing `y' modifiers to uses of fst, fstp, fld,
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Oct 1999 15:59:21 +0000 (15:59 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Oct 1999 15:59:21 +0000 (15:59 +0000)
and fld.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30131 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.md

index 6646c8c..b21a883 100644 (file)
@@ -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
index 22a081c..e6c3ddc 100644 (file)
       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\";
     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]))
       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 \"#\";
     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]))
   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")])
 
     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]))
     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 ();
     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 ();
     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 ();
     {
     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 ();
 }"
   "*
 {
   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")])
 
     {
     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 ();
 }"
   "*
 {
   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")])
 
     {
     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 ();
 }"
   "*
 {
   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")])