https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84334

--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> ---
With -frounding-math, CCP produces things like:

  _465 = 9.999999974752427078783512115478515625e-7 +
4.999999873689375817775726318359375e-6;

Guessing:
When we have cst1+cst2+cst3, the transformation gives cst1+(cst2+cst3), where
cst2+cst3 does not simplify because of -frounding-math, so it is transformed
again to cst2+(cst1+cst3) or similar, and we cycle. We should not transform
when cst2+cst3 will not simplify (I think there have been similar issues
recently).

I can't test or debug anything for a couple weeks, so I may be completely
wrong.

-Ofast -frounding-math makes little sense to me.

Reply via email to