https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123361
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- Because the standard doesn't specify the precision of double, it might have only 7 bits for the mantissa, and so it would not be portable to *require* that conversion to be considered non-narrowing. I encourage you to submit a proposal that makes it non-narrowing to convert an integer to an extended floating-point type, floatN_t, when the integer's width is less than the number of precision bits of floatN_t (i.e. the mantissa width). That proposal should also discuss whether a similar change is desirable for float, double and long double, which do not have portable precisions.
