aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2004-02-01 15:03:15 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2004-02-01 15:03:15 +0000
commit13b598498325a06ab991fbbb2d3a739a99c52082 (patch)
tree248e3ed558be0df5a081ac82081dd2f83f0a3211 /gcc
parentef79730c93540ee721d5403b276ec3d11a7c0123 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/builtins.c7
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;