On Thu, Oct 8, 2026 at 9:13 PM Trevor Gross <[email protected]> wrote:
>
> On Thu Oct 8, 2026 at 10:41 PM CDT, Andrea Pinski wrote:
> > On Thu, Oct 8, 2026 at 8:36 PM Trevor Gross <[email protected]> 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 am not sure why this is a problem at all.  When do you need to use
> > _Float16 without sse?
> > Or better this is an optional part of C23/C++23 in the first place so
> > it should not make a difference either way.
> > If this is for some other language besides C/C++, then why is this not
> > an optional part of the language like it is for C/C++?
>
> I expected this to be the first reply :) Indeed many C implementations
> will probably not care to implement _Float16 everywhere, if at all.
>
> As I think you mentioned in the followup, I'm mostly working on this for
> rust support (thought depending on the solution, other LLVM-based
> languages might get some benefit).  We're not planning for it to be
> optional because we are able to support f16 on every target with the
> sole exception of i586-*, and special casing would be a user annoyance
> (though minor).  So tradeoff between my headache now figuring out
> something reasonable, vs. kicking the can to all future users to config
> it out.  Regrettably I think the first is worth it.
>
> Why is anybody building for pentium still?  I have no idea, but a number
> of distros use it as their baseline.  GCC is probably comfortable saying
> they don't want to support _Float16 in this case, but that's why I'm
> approaching this from a coordination perspective rather than as a
> feature request.


If you want to make this a rust only feature then you don't need any
coordination at all. Name the routines from the rust front-end
themselves and implement it in the rust support library.
Problem solved.

>
> - Trevor
>
> > Thanks,
> > Andrea

Reply via email to