Commit 493efd37 by Toon Moene Committed by Toon Moene

combine.c (combine_simplify_rtx): DIV can be treated associatively for floats if...

2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>

	* combine.c (combine_simplify_rtx): DIV can be treated
	associatively for floats if unsafe math optimisations are enabled.

From-SVN: r44097
parent a7c07f1e
2001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
* combine.c (combine_simplify_rtx): DIV can be treated
associatively for floats if unsafe math optimisations are enabled.
2001-07-17 Richard Henderson <rth@redhat.com> 2001-07-17 Richard Henderson <rth@redhat.com>
* reload.c (push_secondary_reload): Accept empty-string for ALL_REGS. * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
......
...@@ -3722,10 +3722,10 @@ combine_simplify_rtx (x, op0_mode, last, in_dest) ...@@ -3722,10 +3722,10 @@ combine_simplify_rtx (x, op0_mode, last, in_dest)
/* If CODE is an associative operation not otherwise handled, see if we /* If CODE is an associative operation not otherwise handled, see if we
can associate some operands. This can win if they are constants or can associate some operands. This can win if they are constants or
if they are logically related (i.e. (a & b) & a). */ if they are logically related (i.e. (a & b) & a). */
if ((code == PLUS || code == MINUS if ((code == PLUS || code == MINUS || code == MULT || code == DIV
|| code == MULT || code == AND || code == IOR || code == XOR || code == AND || code == IOR || code == XOR
|| code == SMAX || code == SMIN || code == UMAX || code == UMIN) || code == SMAX || code == SMIN || code == UMAX || code == UMIN)
&& (INTEGRAL_MODE_P (mode) && ((INTEGRAL_MODE_P (mode) && code != DIV)
|| (flag_unsafe_math_optimizations && FLOAT_MODE_P (mode)))) || (flag_unsafe_math_optimizations && FLOAT_MODE_P (mode))))
{ {
if (GET_CODE (XEXP (x, 0)) == code) if (GET_CODE (XEXP (x, 0)) == code)
...@@ -3745,7 +3745,6 @@ combine_simplify_rtx (x, op0_mode, last, in_dest) ...@@ -3745,7 +3745,6 @@ combine_simplify_rtx (x, op0_mode, last, in_dest)
} }
inner = simplify_binary_operation (code == MINUS ? PLUS inner = simplify_binary_operation (code == MINUS ? PLUS
: code == DIV ? MULT : code == DIV ? MULT
: code == UDIV ? MULT
: code, : code,
mode, inner_op0, inner_op1); mode, inner_op0, inner_op1);
......
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