https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67624
--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- All NaNs should have the top mantissa bit set in the result of the conversion (i.e. the result of the conversion should always be a quiet NaN, not a signaling NaN) - setting that bit also ensures the result is not an infinity. Then I think the remaining bits in the mantissa of the result should match the corresponding high bits in the mantissa of the source (which appears to be what the hardware conversion instructions are documented to do).