Commit 21648b45 by Richard Kenner

*** empty log message ***

From-SVN: r823
parent 6e3f0724
...@@ -3270,11 +3270,15 @@ simplify_binary_operation (code, mode, op0, op1) ...@@ -3270,11 +3270,15 @@ simplify_binary_operation (code, mode, op0, op1)
break; break;
case MINUS: 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) if (rtx_equal_p (op0, op1)
&& ! side_effects_p (op0) && ! side_effects_p (op0)
/* We can't assume x-x is 0
even with non-IEEE floating point. */
&& GET_MODE_CLASS (mode) != MODE_FLOAT) && GET_MODE_CLASS (mode) != MODE_FLOAT)
return const0_rtx; return const0_rtx;
...@@ -3282,12 +3286,6 @@ simplify_binary_operation (code, mode, op0, op1) ...@@ -3282,12 +3286,6 @@ simplify_binary_operation (code, mode, op0, op1)
if (op0 == CONST0_RTX (mode)) if (op0 == CONST0_RTX (mode))
return gen_rtx (NEG, mode, op1); 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. */ /* Subtracting 0 has no effect. */
if (op1 == CONST0_RTX (mode)) if (op1 == CONST0_RTX (mode))
return op0; return op0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment