diff options
author | Bill Schmidt <wschmidt@linux.vnet.ibm.com> | 2014-12-09 23:02:06 +0000 |
---|---|---|
committer | William Schmidt <wschmidt@gcc.gnu.org> | 2014-12-09 23:02:06 +0000 |
commit | c293be1a19d6213249aa9707f75003d83a03962d (patch) | |
tree | 9fc1514ed9c24e25b2e1851ab4acd64a9b68ea14 /gcc | |
parent | 443743fd95a5f87c21354bb44e31daaae6ef05bf (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-ssa-reassoc.c | 3 |
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); |