aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2004-11-10 17:17:48 +0000
committerFariborz Jahanian <fjahanian@gcc.gnu.org>2004-11-10 17:17:48 +0000
commitd05f9c39a3a6e7d9a95de9c134d13c1a34f1c70d (patch)
treedeab44c9f7d8b1542981732eb0d8ef16f602e9a1 /gcc
parentd746e87d41548db18c07a1e400f3e446c71f27b4 (diff)
downloadgcc-d05f9c39a3a6e7d9a95de9c134d13c1a34f1c70d.zip
gcc-d05f9c39a3a6e7d9a95de9c134d13c1a34f1c70d.tar.gz
gcc-d05f9c39a3a6e7d9a95de9c134d13c1a34f1c70d.tar.bz2
re PR tree-optimization/17892 (gcc-4.0 should not reassociate floating point add or multiplication)
Fix for PR tree-optimization/17892. OKed by Roger Sayle. From-SVN: r90395
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/tree-ssa-dom.c3
3 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0bacc35..7d84272 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ PR tree-optimization/17892
+ * tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
+ MINUS_EXPR operator.
+
2004-11-10 James A. Morrison <phython@gcc.gnu.org>
PR target/18230
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 427d8f4..b87577d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ * gcc.c-torture/execute/ieee/unsafe-fp-assoc-1.c:
+ New test for PR tree-optimization/17892.
+
2004-11-09 Mark Mitchell <mark@codesourcery.com>
PR c++/18369
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index a7f0aaf..41138d8 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -1644,7 +1644,8 @@ unsafe_associative_fp_binop (tree exp)
{
enum tree_code code = TREE_CODE (exp);
return !(!flag_unsafe_math_optimizations
- && (code == MULT_EXPR || code == PLUS_EXPR)
+ && (code == MULT_EXPR || code == PLUS_EXPR
+ || code == MINUS_EXPR)
&& FLOAT_TYPE_P (TREE_TYPE (exp)));
}