From 13b598498325a06ab991fbbb2d3a739a99c52082 Mon Sep 17 00:00:00 2001 From: Roger Sayle Date: Sun, 1 Feb 2004 15:03:15 +0000 Subject: [PATCH] builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations isn't set... * 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 | 6 ++++++ gcc/builtins.c | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 64e15f3f56a..432a83668af 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-02-01 Roger Sayle + + * 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 * builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF, diff --git a/gcc/builtins.c b/gcc/builtins.c index 8b15e7c18d8..d28a1bfc402 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -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; -- 2.30.2