From: Richard Kenner Date: Thu, 23 Apr 1992 11:17:07 +0000 (-0400) Subject: *** empty log message *** X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=21648b45ae5e0996b1054e8066cfb44afdf6b7d5;p=gcc.git *** empty log message *** From-SVN: r823 --- 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;