https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114347
--- Comment #4 from Joseph S. Myers <jsm28 at gcc dot gnu.org> --- I think it's correct that conversions (explicit or implicit) from a value with excess precision convert only once; they don't first remove excess range and precision and then convert to the target type. This is not an assertion about whether we should implement __bf16 with excess precision, though it probably makes sense to do so in general for formats for which processors don't provide direct arithmetic support.