]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/riscv/riscv-vector-builtins-bases.h
RISC-V: Support RVV VFDIV and VFRDIV rounding mode intrinsic API
authorPan Li <pan2.li@intel.com>
Thu, 3 Aug 2023 03:11:17 +0000 (11:11 +0800)
committerPan Li <pan2.li@intel.com>
Fri, 4 Aug 2023 01:38:19 +0000 (09:38 +0800)
commitb7ab3938c638bf5aacfe926ed19aba1627702a71
tree1ce5253514cecf87d131fd9168f7633083628711
parent86fa4433302a382de1cc0e03eea7f8990ff245b3
RISC-V: Support RVV VFDIV and VFRDIV rounding mode intrinsic API

This patch would like to support the rounding mode API for the
VFDIV and VFRDIV for the below samples.

* __riscv_vfdiv_vv_f32m1_rm
* __riscv_vfdiv_vv_f32m1_rm_m
* __riscv_vfdiv_vf_f32m1_rm
* __riscv_vfdiv_vf_f32m1_rm_m
* __riscv_vfrdiv_vf_f32m1_rm
* __riscv_vfrdiv_vf_f32m1_rm_m

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

* config/riscv/riscv-vector-builtins-bases.cc
(binop_frm): New declaration.
(reverse_binop_frm): Likewise.
(BASE): Likewise.
* config/riscv/riscv-vector-builtins-bases.h:
(vfdiv_frm): New extern declaration.
(vfrdiv_frm): Likewise.
* config/riscv/riscv-vector-builtins-functions.def
(vfdiv_frm): New function definition.
(vfrdiv_frm): Likewise.
* config/riscv/vector.md: Add vfdiv to frm_mode.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/float-point-single-div.c: New test.
* gcc.target/riscv/rvv/base/float-point-single-rdiv.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/config/riscv/vector.md
gcc/testsuite/gcc.target/riscv/rvv/base/float-point-single-div.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/float-point-single-rdiv.c [new file with mode: 0644]