aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-reassoc.c
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>2014-12-09 23:02:06 +0000
committerWilliam Schmidt <wschmidt@gcc.gnu.org>2014-12-09 23:02:06 +0000
commitc293be1a19d6213249aa9707f75003d83a03962d (patch)
tree9fc1514ed9c24e25b2e1851ab4acd64a9b68ea14 /gcc/tree-ssa-reassoc.c
parent443743fd95a5f87c21354bb44e31daaae6ef05bf (diff)
downloadgcc-c293be1a19d6213249aa9707f75003d83a03962d.zip
gcc-c293be1a19d6213249aa9707f75003d83a03962d.tar.gz
gcc-c293be1a19d6213249aa9707f75003d83a03962d.tar.bz2
re PR middle-end/64225 (-funsafe-math-optimizations generates call to pow where multiply instruction would do)
2014-12-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR middle-end/64225 * tree-ssa-reassoc.c (acceptable_pow_call): Disable transformation for BUILT_IN_POW when flag_errno_math is present. From-SVN: r218546
Diffstat (limited to 'gcc/tree-ssa-reassoc.c')
-rw-r--r--gcc/tree-ssa-reassoc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index 68a67b6..4fae8fc 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -3988,6 +3988,9 @@ acceptable_pow_call (gimple stmt, tree *base, HOST_WIDE_INT *exponent)
switch (DECL_FUNCTION_CODE (fndecl))
{
CASE_FLT_FN (BUILT_IN_POW):
+ if (flag_errno_math)
+ return false;
+
*base = gimple_call_arg (stmt, 0);
arg1 = gimple_call_arg (stmt, 1);