Hello!

2011-05-15  Uros Bizjak  <ubiz...@gmail.com>

        * config/i386/i386.md (floating point move splitters): Fix
        usage of standard_80387_constant_p.
        * config/i386/i386.c (ix86_preferred_reload_class): Ditto.

Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN.

Uros.
Index: i386.md
===================================================================
--- i386.md     (revision 173773)
+++ i386.md     (working copy)
@@ -3315,7 +3315,7 @@
     }
   else if (FP_REG_P (r))
     {
-      if (!standard_80387_constant_p (c))
+      if (standard_80387_constant_p (c) < 1)
        FAIL;
     }
   else if (MMX_REG_P (r))
@@ -3347,7 +3347,7 @@
     }
   else if (FP_REG_P (r))
     {
-      if (!standard_80387_constant_p (c))
+      if (standard_80387_constant_p (c) < 1)
        FAIL;
     }
   else if (MMX_REG_P (r))
Index: i386.c
===================================================================
--- i386.c      (revision 173771)
+++ i386.c      (working copy)
@@ -28489,7 +28489,7 @@ ix86_preferred_reload_class (rtx x, reg_
         zero above.  We only want to wind up preferring 80387 registers if
         we plan on doing computation with them.  */
       if (TARGET_80387
-         && standard_80387_constant_p (x))
+         && standard_80387_constant_p (x) > 0)
        {
          /* Limit class to non-sse.  */
          if (regclass == FLOAT_SSE_REGS)

Reply via email to