https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126016
--- Comment #6 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
We do get this wrong when BF16 is involved, optimizing out FP16-BF16
round-trips, but this is not what was asked, as their TYPE_PRECISION is the
same:
__bf16 f(__bf16 x)
{
_Float16 t = x;
return t;
}
_Float16 g(_Float16 x)
{
__bf16 t = x;
return t;
}
> So, can we generally assume FP widening operations are exact?
Not in the face of future extensions I guess. But as things are today, I can't
find any counter-example.