https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111506
--- Comment #4 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- Conversion from 64-bit integers for _Float16 is fully defined, it produces the correctly rounded result according to the current rounding direction (round-to-nearest may be assumed in the absence of -frounding-math), which may be an infinity (depending on the rounding mode) in case of overflow (and in particular, anything not representable in a 32-bit integer certainly overflows on conversion to _Float16). That's just the same as for any integer-to-floating conversions.