[PATCH] soft-fp: Add __extendhfxf2 and __truncxfhf2

Joseph Myers joseph@codesourcery.com
Thu Jul 1 18:17:28 GMT 2021


On Thu, 1 Jul 2021, H.J. Lu via Libc-alpha wrote:

> We can do _Float16 emulation like __float128 if AVX512FP16 isn't available.
> We need to add AVX512FP16 variants for _Float16 builtin functions in libgcc.

Sure.  The handling on powerpc64le of the cases where hardware binary128 
support might or might not be available could serve as an example of how 
to handle such cases in libgcc.

The x86_64 ABI describes argument passing / return for _Float16 / _Complex 
_Float16.  The i386 ABI doesn't; ABI support will need to be added if 
those types are to be supported at all on i386 (in the 32-bit case, it 
seems appropriate for the ABI to be something valid given the base 
architecture only, so argument passing on the stack like for other types, 
return in general-purpose registers or memory) - or else make sure GCC 
disallows _Float16 in the 32-bit case in the absence of defined ABI 
support.

-- 
Joseph S. Myers
joseph@codesourcery.com


More information about the Libc-alpha mailing list