https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106805
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- Note phiopt turns some control-flow into straight-line code which is then also susceptible to code motion across the foo() calls, even if that's not what currently happens. So even preserving those stmts will still have them un-ordered with respect to the inspection of the FP exception state, that is, -frounding-math is known to be buggy.