[PATCH 1/2] RISC-V: Support _Float16 type.

Kito Cheng kito.cheng@sifive.com
Wed Jul 27 09:34:35 GMT 2022


Hi Joseph:

On Wed, Jul 27, 2022 at 5:42 AM Joseph Myers <joseph@codesourcery.com> wrote:
>
> On Thu, 7 Jul 2022, Kito Cheng wrote:
>
> > +/* Implement TARGET_MANGLE_TYPE.  */
> > +
> > +static const char *
> > +riscv_mangle_type (const_tree type)
> > +{
> > +  /* Half-precision float.  */
> > +  if (TREE_CODE (type) == REAL_TYPE && TYPE_PRECISION (type) == 16)
> > +    return "Dh";
>
> Are you sure you wish to use "Dh" instead of "DF16_" used on x86?  The C++
> ABI lists both
>
>                  ::= Dh # IEEE 754r half-precision floating point (16 bits)
>                  ::= DF <number> _ # ISO/IEC TS 18661 binary floating point type _FloatN (N bits)
>
> without distinguishing which should be used when - maybe the choice made
> for _Float16 on RISC-V needs documenting in the RISC-V psABI?

Oh, thanks for catching this, we intend to use DF16_, the patch comes
from downstream which used __fp16 before, but we decided to use
_Float16 as RISC-V official half-precision floating point later.


> --
> Joseph S. Myers
> joseph@codesourcery.com


More information about the Gcc-patches mailing list