builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations isn't set...
authorRoger Sayle <roger@eyesopen.com>
Sun, 1 Feb 2004 15:03:15 +0000 (15:03 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sun, 1 Feb 2004 15:03:15 +0000 (15:03 +0000)
* builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations
isn't set, don't call expand_builtin_mathfn_2 to use the pow optab.
(expand_builtin): Always call expand_builtin_pow.

From-SVN: r77071

gcc/ChangeLog
gcc/builtins.c

index 64e15f3f56aea61287eb6b9c8b75006e5d853dff..432a83668afff6cfb745eb678e06d381a9baccfb 100644 (file)
@@ -1,3 +1,9 @@
+2004-02-01  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations
+       isn't set, don't call expand_builtin_mathfn_2 to use the pow optab.
+       (expand_builtin): Always call expand_builtin_pow.
+
 2004-02-01  Roger Sayle  <roger@eyesopen.com>
 
        * builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF,
index 8b15e7c18d899a9c93fc71b40b0f006d186f1672..d28a1bfc4027c5148b289a2ceaa0c9d538f8f573 100644 (file)
@@ -2141,7 +2141,10 @@ expand_builtin_pow (tree exp, rtx target, rtx subtarget)
            }
        }
     }
-  return expand_builtin_mathfn_2 (exp, target, NULL_RTX);
+
+  if (! flag_unsafe_math_optimizations)
+    return NULL_RTX;
+  return expand_builtin_mathfn_2 (exp, target, subtarget);
 }
 
 /* Expand expression EXP which is a call to the strlen builtin.  Return 0
@@ -5162,8 +5165,6 @@ expand_builtin (tree exp, rtx target, rtx subtarget, enum machine_mode mode,
     case BUILT_IN_POW:
     case BUILT_IN_POWF:
     case BUILT_IN_POWL:
-      if (! flag_unsafe_math_optimizations)
-       break;
       target = expand_builtin_pow (exp, target, subtarget);
       if (target)
        return target;