aboutsummaryrefslogtreecommitdiff
path: root/gcc
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
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')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-ssa-reassoc.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cbef2f2..ce51835 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+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.
+
2014-12-09 Ilya Verbin <ilya.verbin@intel.com>
* lto-wrapper.c (compile_offload_image): Start processing in_argv
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);