diff options
author | Roger Sayle <roger@eyesopen.com> | 2004-02-01 15:03:15 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2004-02-01 15:03:15 +0000 |
commit | 13b598498325a06ab991fbbb2d3a739a99c52082 (patch) | |
tree | 248e3ed558be0df5a081ac82081dd2f83f0a3211 /gcc | |
parent | ef79730c93540ee721d5403b276ec3d11a7c0123 (diff) | |
download | gcc-13b598498325a06ab991fbbb2d3a739a99c52082.zip gcc-13b598498325a06ab991fbbb2d3a739a99c52082.tar.gz gcc-13b598498325a06ab991fbbb2d3a739a99c52082.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/builtins.c | 7 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 64e15f3..432a836 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/builtins.c b/gcc/builtins.c index 8b15e7c..d28a1bf 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; |