Richard Biener wrote:
> > We also change the association of
> >
> >      x / (y * C) -> (x / C) / y
> >
> > If C is a constant.
>
> Why's that profitable?

It enables (x * C1) / (y * C2) -> (x * C1/C2) / y for example.
Also 1/y is now available to the reciprocal optimization, see 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71026 for details.

> >   x / (- y) -> (-x) / y
> 
> Why?  (it's only one of the possible canonicalizations)

Same here, y is now available for reciprocal optimization. The
negate may now be optimized, for example (a * b) / -y -> (-a*b) / y
will use a negated multiple on various targets.

Wilco

Reply via email to