i386.c (output_fp_compare): Use ffreep to pop top value off of the stack if TARGET_US...
authorRoger Sayle <roger@eyesopen.com>
Mon, 26 Jul 2004 03:23:14 +0000 (03:23 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Mon, 26 Jul 2004 03:23:14 +0000 (03:23 +0000)
* config/i386/i386.c (output_fp_compare): Use ffreep to pop top
value off of the stack if TARGET_USE_FFREEP.

From-SVN: r85178

gcc/ChangeLog
gcc/config/i386/i386.c

index a44180fe3c82f72abc76288a7e27acc7f739d06b..d822608087a0909de9ddebb3ed8d9265b2816945 100644 (file)
@@ -1,3 +1,8 @@
+2004-07-25  Roger Sayle  <roger@eyesopen.com>
+
+       * config/i386/i386.c (output_fp_compare): Use ffreep to pop top
+       value off of the stack if TARGET_USE_FFREEP.
+
 2004-07-26  Bernardo Innocenti  <bernie@develer.com>
 
        * gengtype.c (oprintf): Replace xrealloc () with XRESIZEVEC ().
index 8e5b75289ba4710c8d28a64a59f8cdcc79b135f2..4b17cfb43967b8d4217715ffa6ee64bf315550a2 100644 (file)
@@ -8281,7 +8281,7 @@ output_fp_compare (rtx insn, rtx *operands, int eflags_p, int unordered_p)
            output_asm_insn ("fucomip\t{%y1, %0|%0, %y1}", operands);
          else
            output_asm_insn ("fcomip\t{%y1, %0|%0, %y1}", operands);
-         return "fstp\t%y0";
+         return TARGET_USE_FFREEP ? "ffreep\t%y0" : "fstp\t%y0";
        }
       else
        {