summaryrefslogtreecommitdiff
path: root/gcc/simplify-rtx.c
diff options
context:
space:
mode:
authorchrbr <chrbr@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-22 14:38:16 +0000
committerchrbr <chrbr@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-22 14:38:16 +0000
commit19da70e088b9cf8012cacc0c5aa7a2e1e7eb9e03 (patch)
treee4a372adecd095b7b82017b726220ef5440be287 /gcc/simplify-rtx.c
parente9b7f2f6c93c4970ed58fce767725afa1193ad13 (diff)
downloadgcc-19da70e088b9cf8012cacc0c5aa7a2e1e7eb9e03.tar.gz
fixed -ffinite-math-only A-A missing optimisation
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127705 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/simplify-rtx.c')
-rw-r--r--gcc/simplify-rtx.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index 1acb34c110d..d9cf023c7c2 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -1769,14 +1769,10 @@ simplify_binary_operation_1 (enum rtx_code code, enum machine_mode mode,
case MINUS:
/* We can't assume x-x is 0 even with non-IEEE floating point,
but since it is zero except in very strange circumstances, we
- will treat it as zero with -funsafe-math-optimizations and
- -ffinite-math-only. */
+ will treat it as zero with -ffinite-math-only. */
if (rtx_equal_p (trueop0, trueop1)
&& ! side_effects_p (op0)
- && (! FLOAT_MODE_P (mode)
- || (flag_unsafe_math_optimizations
- && !HONOR_NANS (mode)
- && !HONOR_INFINITIES (mode))))
+ && (!FLOAT_MODE_P (mode) || !HONOR_NANS (mode)))
return CONST0_RTX (mode);
/* Change subtraction from zero into negation. (0 - x) is the