https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119014
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The reason for extended precision by default for _Float16 (and __bf16) on x86 (and most of other targets, I think RISC-V is an exception) is lack of hw support, same reason as for i387 extended precision. Either there are no instructions at all, or some conversion instructions, so without extended precision it means it is really slow, has to convert from float to _Float16 and back after every single arithmetic operation.