On Thu, 8 Oct 2026, Trevor Gross wrote: > Hello everyone, > > (Coordination, not GCC-specific) > > We've been working for a while to make binary16 floats (_Float16) at > least somewhat usable on most architectures. The last snag is baseline > 32-bit x86: the ABI specifies that _Float16 is returned in xmm0, but > that is not available if building without SSE.
I think it's reasonable not to support this optional feature on x86 without SSE. (For example, if glibc were to support _Float16 functions in future, that would mean those functions, on 32-bit x86, would assume SSE, but that wouldn't introduce any SSE dependencies in any existing functions, so wouldn't break anything that currently works.) Note that most GNU/Linux distributions have dropped support for 32-bit x86 other than for running 32-bit userspace code under a 64-bit kernel (and so, when running 32-bit x86 code on a 64-bit OS, implicitly require a 64-bit processor, which certainly has SSE support). For making a new feature such as _Float16 that requires an ABI available on a given architecture you need a defined ABI agreed among implementations. I suggest a procedure something like this for coordination: * Set up a git repository and website with links to or copies of the latest available psABI documents for all the architectures you care about (plus links to where they are maintained / maintainer contact details, in the case of those that are currently maintained), and space for adding extra information with additions to those ABIs for new language features or information about how implementations deviate from those ABIs (and for local ABI descriptions for architectures with no formal psABI document at all). (If such a thing doesn't already exist.) * For ABIs that have an active maintainer, work with them to get _Float16 (or any other feature in question) added to the ABI. * For ABIs that aren't maintained, work with other implementations supporting that architecture (and that care about ABI compatibility for it) to define and document the ABI for the new feature. If only one active implementation cares about the architecture, they can just write their own definition and put it on the site. -- Joseph S. Myers [email protected]
