+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>
* reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
/* If CODE is an associative operation not otherwise handled, see if we
can associate some operands. This can win if they are constants or
if they are logically related (i.e. (a & b) & a). */
- if ((code == PLUS || code == MINUS
- || code == MULT || code == AND || code == IOR || code == XOR
+ if ((code == PLUS || code == MINUS || code == MULT || code == DIV
+ || code == AND || code == IOR || code == XOR
|| 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))))
{
if (GET_CODE (XEXP (x, 0)) == code)
}
inner = simplify_binary_operation (code == MINUS ? PLUS
: code == DIV ? MULT
- : code == UDIV ? MULT
: code,
mode, inner_op0, inner_op1);