On 5/5/24 6:38 PM, Xiao Zeng wrote:
1 At point <https://github.com/riscv/riscv-bfloat16>,
   BF16 has already been completed "post public review".

2 LLVM has also added support for RISCV BF16 in
   <https://reviews.llvm.org/D151313> and
   <https://reviews.llvm.org/D150929>.

3 According to the discussion 
<https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/367>,
   this use __bf16 and use DF16b in riscv_mangle_type like x86.

Below test are passed for this patch
     * The riscv fully regression test.

gcc/ChangeLog:

        * config/riscv/iterators.md: New mode iterator HFBF.
        * config/riscv/riscv-builtins.cc (riscv_init_builtin_types):
        Initialize data type _Bfloat16.
        * config/riscv/riscv-modes.def (FLOAT_MODE): New.
        (ADJUST_FLOAT_FORMAT): New.
        * config/riscv/riscv.cc (riscv_mangle_type): Support for BFmode.
        (riscv_scalar_mode_supported_p): Ditto.
        (riscv_libgcc_floating_mode_supported_p): Ditto.
        (riscv_init_libfuncs): Set the conversion method for BFmode and
        HFmode.
        (riscv_block_arith_comp_libfuncs_for_mode): Set the arithmetic
        and comparison libfuncs for the mode.
        * config/riscv/riscv.md (mode" ): Add BF.
        (movhf): Support for BFmode.
        (mov<mode>): Ditto.
        (*movhf_softfloat): Ditto.
        (*mov<mode>_softfloat): Ditto.

libgcc/ChangeLog:

        * config/riscv/sfp-machine.h (_FP_NANFRAC_B): New.
        (_FP_NANSIGN_B): Ditto.
        * config/riscv/t-softfp32: Add support for BF16 libfuncs.
        * config/riscv/t-softfp64: Ditto.
        * soft-fp/floatsibf.c: For si -> bf16.
        * soft-fp/floatunsibf.c: For unsi -> bf16.

gcc/testsuite/ChangeLog:

        * gcc.target/riscv/bf16_arithmetic.c: New test.
        * gcc.target/riscv/bf16_call.c: New test.
        * gcc.target/riscv/bf16_comparison.c: New test.
        * gcc.target/riscv/bf16_float_libcall_convert.c: New test.
        * gcc.target/riscv/bf16_integer_libcall_convert.c: New test.
Given we were only looking to have the CI system check the formatting nit and that has passed. I've pushed this to the trunk.

jeff

Reply via email to