https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121525
--- Comment #6 from Michael Meissner <meissner at gcc dot gnu.org> --- My current proposed patches for __bf16 and _Float16 pass/return both 16-bit floating point values in memory format and do not convert them by default to the 32/64 scalar format. This is similar to how the x86_64 passes 16-bit floating point. The current ISO C also specifies that _Float16 is not required to be converted to double. For reference, Power10 (aka ISA 3.1) also has support for converting a partial vector of 32-bit floats to __bf16 (i.e. the alternative 16-bit Google brain floating point format) and vice versa. My patches include support for both The patches currently posted do issue a warning that the calling sequence may be changing, but we have decided not to do the conversion on call and return. My next set of patches eliminates this warning since we will only pass and return 16-bit floating point in native memory format. Future patches will eliminate this warning.
