https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121525

--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #2)
> If at all possible, please support _Float16 regardless of the ISA,

Of course.  Normally there will be emulation routines in libgcc, but very
worst case we can do sorry() in places.

> anything
> else is a nightmare.  libgcc can have support for emulation if there is no
> HW support for conversions, what is more important is how the psABI decides
> to pass _Float16 arguments and return values and if all the supported ISAs
> can support such passing.

We probably will pass half precision similarly to single precision: in a
normal double precision register!  (But rounded to half precision).

> If _Float16 support is added, you'd need to arrange for libstdc++ to export
> _ZTI{,P,PK}DF16_ symbols not in CXXABI_1.3.14 because GCC 13 didn't support
> those on powerpc*, but in CXXABI_1.3.17, if some options are needed tweak
> add_options_for_float16 etc.

Yeah, C++ makes even the simplest things somewhat complicated.

Reply via email to