On Wed, Nov 20, 2019 at 03:46:29PM +0000, Richard Sandiford wrote: > Segher Boessenkool <seg...@kernel.crashing.org> writes: > > UNLT & ORDERED is always LT. When would it not be true? > > LT traps on quiet NaNs for -ftrapping-math, UNLT and ORDERED don't.
No? -ftrapping-math makes nothing trap. The only thing it does is to not do optimisations that are not valid if traps are considered to be a user-visible thing. Almost nothing ever traps on quiet NaNs. And indeed the existing code is wrong for this already, as I mentioned before (in the context of IEEE SNaNs). But yeah, we can do almost no optimisation if trapping math is true, so we should skip everything in that case. I wonder how much of existing GCC code breaks this as well though, hrm. Segher