https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106819
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Aldy Hernandez from comment #7) > ?? And if we keep NAN signs up to date, maybe just maybe, we can return a > NAN from singleton_p() if we're sure about the sign. ISTM we should be able > to propagate a known NAN with SIGN. Or is there some funky floating point > property where we can't propagate those? No, NaNs have still many different representations even disregarding the sign bit differences. There are e.g. 2^23-1 different sNaNs and 2^23 different qNaNs in binary32 format.