RISC-V: Support RVV VFNMACC rounding mode intrinsic API
commit6176527a7528ec626fa1e7afb381124867881388
authorPan Li <pan2.li@intel.com>
Thu, 10 Aug 2023 08:00:17 +0000 (10 16:00 +0800)
committerPan Li <pan2.li@intel.com>
Thu, 10 Aug 2023 12:38:47 +0000 (10 20:38 +0800)
tree084c95a38b086e536cc72eb5990e8e0c11d477a7
parent07e93224f5dceb3423f38a58c2a1923c200cd5c8
RISC-V: Support RVV VFNMACC rounding mode intrinsic API

This patch would like to support the rounding mode API for the
VFNMACC for the below samples.

* __riscv_vfnmacc_vv_f32m1_rm
* __riscv_vfnmacc_vv_f32m1_rm_m
* __riscv_vfnmacc_vf_f32m1_rm
* __riscv_vfnmacc_vf_f32m1_rm_m

Signed-off-by: Pan Li <pan2.li@intel.com>
gcc/ChangeLog:

* config/riscv/riscv-vector-builtins-bases.cc
(class vfnmacc_frm): New class for vfnmacc.
(vfnmacc_frm_obj): New declaration.
(BASE): Ditto.
* config/riscv/riscv-vector-builtins-bases.h: Ditto.
* config/riscv/riscv-vector-builtins-functions.def
(vfnmacc_frm): New function definition.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/float-point-nmacc.c: New test.
gcc/config/riscv/riscv-vector-builtins-bases.cc
gcc/config/riscv/riscv-vector-builtins-bases.h
gcc/config/riscv/riscv-vector-builtins-functions.def
gcc/testsuite/gcc.target/riscv/rvv/base/float-point-nmacc.c [new file with mode: 0644]