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 64e15f3..432a836 100644 (file)
@@ -1,5 +1,11 @@
 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,
        BUILT_IN_SIGNBITL): New GCC builtins.
        * builtins.c (expand_builtin_signbit): New function to RTL expand
index 8b15e7c..d28a1bf 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;