https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95115
--- Comment #4 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Jim Wilson from comment #3) > The assumption here seems to be that if the user is > dividing constants, then we don't need to worry about setting exception > bits. If I write (4.0 / 3.0) for instance, the compiler just folds it and > doesn't worry about setting the inexact bit. We don't fold 0./0. though (unless -fno-trapping-math), it would make sense for Inf/Inf to behave the same. And -frounding-math protects 4./3. > divide gets moved after the fetestexcept call. That looks like a gcc bug Yes, that one is known.