From 21648b45ae5e0996b1054e8066cfb44afdf6b7d5 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Thu, 23 Apr 1992 07:17:07 -0400 Subject: [PATCH] *** empty log message *** From-SVN: r823 --- gcc/cse.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/gcc/cse.c b/gcc/cse.c index 7c3057be69d..e456a93bbc2 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -3270,11 +3270,15 @@ simplify_binary_operation (code, mode, op0, op1) break; case MINUS: - /* In IEEE floating point, x-0 is not the same as x. */ + /* None of these optimizations can be done for IEEE + floating point. */ + if (TARGET_FLOAT_FORMAT == IEEE_FLOAT_FORMAT + && GET_MODE_CLASS (mode) != MODE_INT) + break; + + /* We can't assume x-x is 0 even with non-IEEE floating point. */ if (rtx_equal_p (op0, op1) && ! side_effects_p (op0) - /* We can't assume x-x is 0 - even with non-IEEE floating point. */ && GET_MODE_CLASS (mode) != MODE_FLOAT) return const0_rtx; @@ -3282,12 +3286,6 @@ simplify_binary_operation (code, mode, op0, op1) if (op0 == CONST0_RTX (mode)) return gen_rtx (NEG, mode, op1); - /* The remainer of these cases cannot be done for IEEE - floating-point. */ - if (TARGET_FLOAT_FORMAT == IEEE_FLOAT_FORMAT - && GET_MODE_CLASS (mode) != MODE_INT) - break; - /* Subtracting 0 has no effect. */ if (op1 == CONST0_RTX (mode)) return op0; -- 2.30.2