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]

Reply via email to