platform/upstream/gcc.git
20 months agoRISC-V: Add vwsubu.v C++ API test
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:41:45 +0000 (14:41 +0800)]
RISC-V: Add vwsubu.v C++ API test

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vwsubu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vv_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_vx_tumu-3.C: New test.

20 months agoRISC-V: Add vwsubu.w C++ api TETS
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:40:38 +0000 (14:40 +0800)]
RISC-V: Add vwsubu.w C++ api TETS

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vwsubu_wv-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wv_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwsubu_wx_tumu-3.C: New test.

20 months agoRISC-V: Add constraint tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:39:27 +0000 (14:39 +0800)]
RISC-V: Add constraint tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/binop_vx_constraint-120.c: New test.

20 months agoRISC-V: Add vwadd.v C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:38:07 +0000 (14:38 +0800)]
RISC-V: Add vwadd.v C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwadd_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_vx_tumu-3.c: New test.

20 months agoRISC-V: Add vwadd.w C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:36:55 +0000 (14:36 +0800)]
RISC-V: Add vwadd.w C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwadd_wv-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwadd_wx_tumu-3.c: New test.

20 months agoRISC-V: Add vwaddu.v C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:35:49 +0000 (14:35 +0800)]
RISC-V: Add vwaddu.v C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwaddu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_vx_tumu-3.c: New test.

20 months agoRISC-V: Add vwaddu.w C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:34:47 +0000 (14:34 +0800)]
RISC-V: Add vwaddu.w C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwaddu_wv-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwaddu_wx_tumu-3.c: New test.

20 months agoRISC-V: Add vwcvt C API test
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:33:28 +0000 (14:33 +0800)]
RISC-V: Add vwcvt C API test

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwcvt_x-1.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x-2.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x-3.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwcvt_x_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x-1.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x-2.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x-3.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwcvtu_x_tumu-3.c: New test.

20 months agoRISC-V: Add vwmul C api tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:32:24 +0000 (14:32 +0800)]
RISC-V: Add vwmul C api tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwmul_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmul_vx_tumu-3.c: New test.

20 months agoRISC-V: Add vwmulsu C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:30:51 +0000 (14:30 +0800)]
RISC-V: Add vwmulsu C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwmulsu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulsu_vx_tumu-3.c: New test.

20 months agoRISC-V: Add vwmulu C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:29:16 +0000 (14:29 +0800)]
RISC-V: Add vwmulu C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwmulu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmulu_vx_tumu-3.c: New test.

20 months agoRISC-V: Add vwsub.vv C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:28:00 +0000 (14:28 +0800)]
RISC-V: Add vwsub.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwsub_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vv_tumu-3.c: New test.

20 months agoRISC-V: Add vwsub.vx C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:27:02 +0000 (14:27 +0800)]
RISC-V: Add vwsub.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwsub_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_vx_tumu-3.c: New test.

20 months agoRISC-V: Add vwsub.wv C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:25:54 +0000 (14:25 +0800)]
RISC-V: Add vwsub.wv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwsub_wv-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wv_tumu-3.c: New test.

20 months agoRISC-V: Add vwsub.wx C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:24:44 +0000 (14:24 +0800)]
RISC-V: Add vwsub.wx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwsub_wx-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsub_wx_tumu-3.c: New test.

20 months agoRISC-V: Add vwsubu.vv C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:19:32 +0000 (14:19 +0800)]
RISC-V: Add vwsubu.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwsubu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vv_tumu-3.c: New test.

20 months agoRISC-V: Add vwsubu.vx C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:18:23 +0000 (14:18 +0800)]
RISC-V: Add vwsubu.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwsubu_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_vx_tumu-3.c: New test.

20 months agoRISC-V: Add vwsubu.wx C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:17:12 +0000 (14:17 +0800)]
RISC-V: Add vwsubu.wx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwsubu_wv-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wv_tumu-3.c: New test.

20 months agoRISC-V: Add vwsubu.wx C API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:16:01 +0000 (14:16 +0800)]
RISC-V: Add vwsubu.wx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vwsubu_wx-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwsubu_wx_tumu-3.c: New test.

20 months agoRISC-V: Add integer widening instructions
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:14:24 +0000 (14:14 +0800)]
RISC-V: Add integer widening instructions

gcc/ChangeLog:

* config/riscv/riscv-vector-builtins-bases.cc (class widen_binop): New
class.
(class vwmulsu): Ditto.
(class vwcvt): Ditto.
(BASE): Add integer widening support.
* config/riscv/riscv-vector-builtins-bases.h: Ditto
* config/riscv/riscv-vector-builtins-functions.def (vwadd): New class.
(vwsub): New class.
(vwmul): New class.
(vwmulu): New class.
(vwmulsu): New class.
(vwaddu): New class.
(vwsubu): New class.
(vwcvt_x): New class.
(vwcvtu_x): New class.
* config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): New
class.
(struct widen_alu_def): New class.
(SHAPE): New class.
* config/riscv/riscv-vector-builtins-shapes.h: New class.
* config/riscv/riscv-vector-builtins.cc
(rvv_arg_type_info::get_base_vector_type): Add integer widening support.
(rvv_arg_type_info::get_tree_type): Ditto.
* config/riscv/riscv-vector-builtins.def (x_x_v): Change into "x_v"
(x_v): Ditto.
* config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Add integer
widening support.
* config/riscv/riscv-vsetvl.cc (change_insn): Fix reg_equal use bug.
* config/riscv/riscv.h (X0_REGNUM): New constant.
* config/riscv/vector-iterators.md: New iterators.
* config/riscv/vector.md
(@pred_dual_widen_<any_widen_binop:optab><any_extend:su><mode>): New
pattern.
(@pred_dual_widen_<any_widen_binop:optab><any_extend:su><mode>_scalar):
Ditto.
(@pred_single_widen_<plus_minus:optab><any_extend:su><mode>): Ditto.
(@pred_single_widen_<plus_minus:optab><any_extend:su><mode>_scalar):
Ditto.
(@pred_widen_mulsu<mode>): Ditto.
(@pred_widen_mulsu<mode>_scalar): Ditto.
(@pred_<optab><mode>): Ditto.

20 months agoRISC-V: Add vmulh.vv C++ API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 13:04:05 +0000 (21:04 +0800)]
RISC-V: Add vmulh.vv C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vmulh_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vv_tumu-3.C: New test.

20 months agoRISC-V: Add vmulh.vx C++ API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 13:02:48 +0000 (21:02 +0800)]
RISC-V: Add vmulh.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulh_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vmulhsu.vv C++ API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 13:00:45 +0000 (21:00 +0800)]
RISC-V: Add vmulhsu.vv C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vmulhsu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vv_tumu-3.C: New test.

20 months agoRISC-V: Add vmulhsu.vx C++ API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 12:55:51 +0000 (20:55 +0800)]
RISC-V: Add vmulhsu.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vmulhu.vx C++ tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 12:52:07 +0000 (20:52 +0800)]
RISC-V: Add vmulhu.vx C++ tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vmulh.vv C API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 12:50:34 +0000 (20:50 +0800)]
RISC-V: Add vmulh.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vmulh_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vv_tumu-3.c: New test.

20 months agoRISC-V: Add vmulh.vx C API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 12:45:33 +0000 (20:45 +0800)]
RISC-V: Add vmulh.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulh_vx_tumu_rv64-3.c: New test.

20 months agoRISC-V: Add vmulhsu.vv C API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 12:09:45 +0000 (20:09 +0800)]
RISC-V: Add vmulhsu.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vmulhsu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vv_tumu-3.c: New test.

20 months agoRISC-V: Add vmulhsu.vx C API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 12:08:42 +0000 (20:08 +0800)]
RISC-V: Add vmulhsu.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhsu_vx_tumu_rv64-3.c: New test.

20 months agoRISC-V: Add vmulhu.vv C API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 12:06:52 +0000 (20:06 +0800)]
RISC-V: Add vmulhu.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vmulhu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vv_tumu-3.c: New test.

20 months agoRISC-V: Add vmulhu.vx C API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 12:05:19 +0000 (20:05 +0800)]
RISC-V: Add vmulhu.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmulhu_vx_tumu_rv64-3.c: New test.

20 months agoRISC-V: Add vmulh C/C++ support
Ju-Zhe Zhong [Mon, 6 Feb 2023 11:51:13 +0000 (19:51 +0800)]
RISC-V: Add vmulh C/C++ support

Co-authored-by: kito-cheng <kito.cheng@sifive.com>
gcc/ChangeLog:

* common/config/riscv/riscv-common.cc: Add flag for 'V' extension.
* config/riscv/riscv-vector-builtins-bases.cc (class vmulh): New class.
(BASE): Ditto.
* config/riscv/riscv-vector-builtins-bases.h: Ditto.
* config/riscv/riscv-vector-builtins-functions.def (vmulh): Add vmulh
API support.
(vmulhu): Ditto.
(vmulhsu): Ditto.
* config/riscv/riscv-vector-builtins-types.def (DEF_RVV_FULL_V_I_OPS):
New macro.
(DEF_RVV_FULL_V_U_OPS): Ditto.
(vint8mf8_t): Ditto.
(vint8mf4_t): Ditto.
(vint8mf2_t): Ditto.
(vint8m1_t): Ditto.
(vint8m2_t): Ditto.
(vint8m4_t): Ditto.
(vint8m8_t): Ditto.
(vint16mf4_t): Ditto.
(vint16mf2_t): Ditto.
(vint16m1_t): Ditto.
(vint16m2_t): Ditto.
(vint16m4_t): Ditto.
(vint16m8_t): Ditto.
(vint32mf2_t): Ditto.
(vint32m1_t): Ditto.
(vint32m2_t): Ditto.
(vint32m4_t): Ditto.
(vint32m8_t): Ditto.
(vint64m1_t): Ditto.
(vint64m2_t): Ditto.
(vint64m4_t): Ditto.
(vint64m8_t): Ditto.
(vuint8mf8_t): Ditto.
(vuint8mf4_t): Ditto.
(vuint8mf2_t): Ditto.
(vuint8m1_t): Ditto.
(vuint8m2_t): Ditto.
(vuint8m4_t): Ditto.
(vuint8m8_t): Ditto.
(vuint16mf4_t): Ditto.
(vuint16mf2_t): Ditto.
(vuint16m1_t): Ditto.
(vuint16m2_t): Ditto.
(vuint16m4_t): Ditto.
(vuint16m8_t): Ditto.
(vuint32mf2_t): Ditto.
(vuint32m1_t): Ditto.
(vuint32m2_t): Ditto.
(vuint32m4_t): Ditto.
(vuint32m8_t): Ditto.
(vuint64m1_t): Ditto.
(vuint64m2_t): Ditto.
(vuint64m4_t): Ditto.
(vuint64m8_t): Ditto.
* config/riscv/riscv-vector-builtins.cc (DEF_RVV_FULL_V_I_OPS): Ditto.
(DEF_RVV_FULL_V_U_OPS): Ditto.
(check_required_extensions): Add vmulh support.
(rvv_arg_type_info::get_tree_type): Ditto.
* config/riscv/riscv-vector-builtins.h (RVV_REQUIRE_FULL_V): Ditto.
(enum rvv_base_type): Ditto.
* config/riscv/riscv.opt: Add 'V' extension flag.
* config/riscv/vector-iterators.md (su): New iterator.
* config/riscv/vector.md (@pred_mulh<v_su><mode>): New pattern.
(@pred_mulh<v_su><mode>_scalar): Ditto.
(*pred_mulh<v_su><mode>_scalar): Ditto.
(*pred_mulh<v_su><mode>_extended_scalar): Ditto.

20 months agoRISC-V: Add vsext C++ API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 05:25:47 +0000 (13:25 +0800)]
RISC-V: Add vsext C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vsext_vf2-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2_mu-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2_mu-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2_mu-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2_tu-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2_tu-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2_tu-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2_tum-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2_tum-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2_tum-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf2_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4_mu-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4_mu-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4_mu-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4_tu-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4_tu-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4_tu-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4_tum-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4_tum-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4_tum-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf4_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8_mu-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8_mu-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8_mu-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8_tu-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8_tu-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8_tu-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8_tum-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8_tum-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8_tum-3.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vsext_vf8_tumu-3.C: New test.

20 months agoRISC-V: Add vzext.vf2 C++ API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 05:24:29 +0000 (13:24 +0800)]
RISC-V: Add vzext.vf2 C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vzext_vf2-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2-3.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2_mu-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2_mu-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2_mu-3.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2_tu-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2_tu-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2_tu-3.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2_tum-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2_tum-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2_tum-3.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf2_tumu-3.C: New test.

20 months agoRISC-V: Add vzext.vf4 C++ API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 05:23:27 +0000 (13:23 +0800)]
RISC-V: Add vzext.vf4 C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vzext_vf4-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4-3.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4_mu-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4_mu-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4_mu-3.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4_tu-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4_tu-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4_tu-3.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4_tum-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4_tum-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4_tum-3.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf4_tumu-3.C: New test.

20 months agoRISC-V: Add vzext.vf8 C++ API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 05:20:30 +0000 (13:20 +0800)]
RISC-V: Add vzext.vf8 C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vzext_vf8-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8-3.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8_mu-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8_mu-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8_mu-3.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8_tu-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8_tu-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8_tu-3.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8_tum-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8_tum-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8_tum-3.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vzext_vf8_tumu-3.C: New test.

20 months agoRISC-V: Add vsext constraint tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 05:18:36 +0000 (13:18 +0800)]
RISC-V: Add vsext constraint tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/unop_v_constraint-2.c: New test.

20 months agoRISC-V: Add vsext.vf2 C API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 05:17:04 +0000 (13:17 +0800)]
RISC-V: Add vsext.vf2 C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vsext_vf2-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_m-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_m-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_m-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf2_tumu-3.c: New test.

20 months agoRISC-V: Add vsext.vf4 C API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 05:15:04 +0000 (13:15 +0800)]
RISC-V: Add vsext.vf4 C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vsext_vf4-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_m-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_m-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_m-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf4_tumu-3.c: New test.

20 months agoRISC-V: Add vsext.vf8 C API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 05:12:38 +0000 (13:12 +0800)]
RISC-V: Add vsext.vf8 C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vsext_vf8-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_m-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_m-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_m-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vsext_vf8_tumu-3.c: New test.

20 months agoRISC-V: Add vzext.vf2 C API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 05:11:06 +0000 (13:11 +0800)]
RISC-V: Add vzext.vf2 C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vzext_vf2-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_m-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_m-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_m-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf2_tumu-3.c: New test.

20 months agoRISC-V: Add vzext.vf4 C API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 05:09:49 +0000 (13:09 +0800)]
RISC-V: Add vzext.vf4 C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vzext_vf4-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_m-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_m-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_m-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf4_tumu-3.c: New test.

20 months agoRISC-V: Add vzext.vf8 C API tests
Ju-Zhe Zhong [Mon, 6 Feb 2023 05:08:39 +0000 (13:08 +0800)]
RISC-V: Add vzext.vf8 C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vzext_vf8-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_m-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_m-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_m-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vzext_vf8_tumu-3.c: New test.

20 months agoRISC-V: Add vsext/vzext C/C++ intrinsic support
Ju-Zhe Zhong [Mon, 6 Feb 2023 05:06:56 +0000 (13:06 +0800)]
RISC-V: Add vsext/vzext C/C++ intrinsic support

gcc/ChangeLog:

* config/riscv/iterators.md: Add sign_extend/zero_extend.
* config/riscv/riscv-vector-builtins-bases.cc (class ext): New class.
(BASE): Ditto.
* config/riscv/riscv-vector-builtins-bases.h: Add vsext/vzext support.
* config/riscv/riscv-vector-builtins-functions.def (vsext): New macro
define.
(vzext): Ditto.
* config/riscv/riscv-vector-builtins-shapes.cc (struct alu_def): Adjust
for vsext/vzext support.
* config/riscv/riscv-vector-builtins-types.def (DEF_RVV_WEXTI_OPS): New
macro define.
(DEF_RVV_QEXTI_OPS): Ditto.
(DEF_RVV_OEXTI_OPS): Ditto.
(DEF_RVV_WEXTU_OPS): Ditto.
(DEF_RVV_QEXTU_OPS): Ditto.
(DEF_RVV_OEXTU_OPS): Ditto.
(vint16mf4_t): Ditto.
(vint16mf2_t): Ditto.
(vint16m1_t): Ditto.
(vint16m2_t): Ditto.
(vint16m4_t): Ditto.
(vint16m8_t): Ditto.
(vint32mf2_t): Ditto.
(vint32m1_t): Ditto.
(vint32m2_t): Ditto.
(vint32m4_t): Ditto.
(vint32m8_t): Ditto.
(vint64m1_t): Ditto.
(vint64m2_t): Ditto.
(vint64m4_t): Ditto.
(vint64m8_t): Ditto.
(vuint16mf4_t): Ditto.
(vuint16mf2_t): Ditto.
(vuint16m1_t): Ditto.
(vuint16m2_t): Ditto.
(vuint16m4_t): Ditto.
(vuint16m8_t): Ditto.
(vuint32mf2_t): Ditto.
(vuint32m1_t): Ditto.
(vuint32m2_t): Ditto.
(vuint32m4_t): Ditto.
(vuint32m8_t): Ditto.
(vuint64m1_t): Ditto.
(vuint64m2_t): Ditto.
(vuint64m4_t): Ditto.
(vuint64m8_t): Ditto.
* config/riscv/riscv-vector-builtins.cc (DEF_RVV_WEXTI_OPS): Ditto.
(DEF_RVV_QEXTI_OPS): Ditto.
(DEF_RVV_OEXTI_OPS): Ditto.
(DEF_RVV_WEXTU_OPS): Ditto.
(DEF_RVV_QEXTU_OPS): Ditto.
(DEF_RVV_OEXTU_OPS): Ditto.
(rvv_arg_type_info::get_base_vector_type): Add sign_exted/zero_extend
support.
(rvv_arg_type_info::get_tree_type): Ditto.
* config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Ditto.
* config/riscv/vector-iterators.md (z): New attribute.
* config/riscv/vector.md (@pred_<optab><mode>_vf2): New pattern.
(@pred_<optab><mode>_vf4): Ditto.
(@pred_<optab><mode>_vf8): Ditto.

20 months agoRISC-V: Add vsadd.vx C++ overloaded API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 08:29:27 +0000 (16:29 +0800)]
RISC-V: Add vsadd.vx C++ overloaded API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vsaddu.vx overloaded API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 08:27:57 +0000 (16:27 +0800)]
RISC-V: Add vsaddu.vx overloaded API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vssub.vx C++ API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 08:26:06 +0000 (16:26 +0800)]
RISC-V: Add vssub.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vssub_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vssubu.vx C++ API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 08:24:55 +0000 (16:24 +0800)]
RISC-V: Add vssubu.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vsadd.vx C++ API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 08:23:43 +0000 (16:23 +0800)]
RISC-V: Add vsadd.vx C++ API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vx_tumu_rv64-3.c: New test.

20 months agoRISC-V: Add vsaddu.vx C++ API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 08:22:39 +0000 (16:22 +0800)]
RISC-V: Add vsaddu.vx C++ API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vx_tumu_rv64-3.c: New test.

20 months agoRISC-V: Add vssub.vx C API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 08:21:19 +0000 (16:21 +0800)]
RISC-V: Add vssub.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vssub_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vx_tumu_rv64-3.c: New test.

20 months agoRISC-V: Add vssubu.vx C API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 08:18:27 +0000 (16:18 +0800)]
RISC-V: Add vssubu.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vx_tumu_rv64-3.c: New test.

20 months agoRISC-V: Add vsadd.vv C API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 02:01:06 +0000 (10:01 +0800)]
RISC-V: Add vsadd.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vsadd_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vsadd_vv_tumu-3.c: New test.

20 months agoRISC-V: Add vsaddu.vv C API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 01:59:55 +0000 (09:59 +0800)]
RISC-V: Add vsaddu.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vsaddu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vsaddu_vv_tumu-3.c: New test.

20 months agoRISC-V: Add vssub.vv C API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 01:58:51 +0000 (09:58 +0800)]
RISC-V: Add vssub.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vssub_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vssub_vv_tumu-3.c: New test.

20 months agoRISC-V: Add vssubu.vv C API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 01:57:42 +0000 (09:57 +0800)]
RISC-V: Add vssubu.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vssubu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vssubu_vv_tumu-3.c: New test.

20 months agoRISC-V: Add vssubu.vv C++ API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 01:56:22 +0000 (09:56 +0800)]
RISC-V: Add vssubu.vv C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vssubu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vssubu_vv_tumu-3.C: New test.

20 months agoRISC-V: Add vsub.vv C++ API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 01:55:10 +0000 (09:55 +0800)]
RISC-V: Add vsub.vv C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vssub_vv-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vv-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vv-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vssub_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vssub_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vssub_vv_tumu-3.C: New test.

20 months agoRISC-V: Add vsaddu.vv C++ API tests.
Ju-Zhe Zhong [Sun, 5 Feb 2023 01:53:50 +0000 (09:53 +0800)]
RISC-V: Add vsaddu.vv C++ API tests.

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vsaddu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vsaddu_vv_tumu-3.C: New test.

20 months agoRISC-V: Add vsadd.vv C++ API tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 01:51:55 +0000 (09:51 +0800)]
RISC-V: Add vsadd.vv C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vsadd_vv-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vsadd_vv_tumu-3.C: New test.

20 months agoRISC-V: Add saturating Add && Sub vx constraint tests
Ju-Zhe Zhong [Sun, 5 Feb 2023 01:50:31 +0000 (09:50 +0800)]
RISC-V: Add saturating Add && Sub vx constraint tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/binop_vx_constraint-100.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-101.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-103.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-104.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-105.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-106.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-107.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-109.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-110.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-111.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-112.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-113.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-115.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-116.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-117.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-118.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-97.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-98.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-99.c: New test.

20 months agoRISC-V: Add saturating Addition && Subtraction C/C++ Support
Ju-Zhe Zhong [Sun, 5 Feb 2023 01:47:38 +0000 (09:47 +0800)]
RISC-V: Add saturating Addition && Subtraction C/C++ Support

gcc/ChangeLog:

* config/riscv/iterators.md: Add saturating Addition && Subtraction.
* config/riscv/riscv-v.cc (has_vi_variant_p): Ditto.
* config/riscv/riscv-vector-builtins-bases.cc (BASE): Ditto.
* config/riscv/riscv-vector-builtins-bases.h: Ditto.
* config/riscv/riscv-vector-builtins-functions.def (vsadd): New def.
(vssub): Ditto.
(vsaddu): Ditto.
(vssubu): Ditto.
* config/riscv/vector-iterators.md (sll.vi): Adjust for Saturating
support.
(sll.vv): Ditto.
(%3,%v4): Ditto.
(%3,%4): Ditto.
* config/riscv/vector.md (@pred_<optab><mode>): New pattern.
(@pred_<optab><mode>_scalar): New pattern.
(*pred_<optab><mode>_scalar): New pattern.
(*pred_<optab><mode>_extended_scalar): New pattern.

20 months agoRISC-V: Add vneg.v C++ API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 23:27:59 +0000 (07:27 +0800)]
RISC-V: Add vneg.v C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vneg_v-1.C: New test.
* g++.target/riscv/rvv/base/vneg_v-2.C: New test.
* g++.target/riscv/rvv/base/vneg_v-3.C: New test.
* g++.target/riscv/rvv/base/vneg_v_mu-1.C: New test.
* g++.target/riscv/rvv/base/vneg_v_mu-2.C: New test.
* g++.target/riscv/rvv/base/vneg_v_mu-3.C: New test.
* g++.target/riscv/rvv/base/vneg_v_tu-1.C: New test.
* g++.target/riscv/rvv/base/vneg_v_tu-2.C: New test.
* g++.target/riscv/rvv/base/vneg_v_tu-3.C: New test.
* g++.target/riscv/rvv/base/vneg_v_tum-1.C: New test.
* g++.target/riscv/rvv/base/vneg_v_tum-2.C: New test.
* g++.target/riscv/rvv/base/vneg_v_tum-3.C: New test.
* g++.target/riscv/rvv/base/vneg_v_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vneg_v_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vneg_v_tumu-3.C: New test.

20 months agoRISC-V: Add vnot.v C++ API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 23:26:41 +0000 (07:26 +0800)]
RISC-V: Add vnot.v C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vnot_v-1.C: New test.
* g++.target/riscv/rvv/base/vnot_v-2.C: New test.
* g++.target/riscv/rvv/base/vnot_v-3.C: New test.
* g++.target/riscv/rvv/base/vnot_v_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnot_v_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnot_v_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnot_v_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnot_v_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnot_v_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnot_v_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnot_v_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnot_v_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnot_v_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnot_v_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnot_v_tumu-3.C: New test.

20 months agoRISC-V: Add unary constraint tests.
Ju-Zhe Zhong [Fri, 3 Feb 2023 23:25:22 +0000 (07:25 +0800)]
RISC-V: Add unary constraint tests.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/unop_v_constraint-1.c: New test.

20 months agoRISC-V: Add vneg.v C/C++ API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 23:24:08 +0000 (07:24 +0800)]
RISC-V: Add vneg.v C/C++ API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vneg_v-1.c: New test.
* gcc.target/riscv/rvv/base/vneg_v-2.c: New test.
* gcc.target/riscv/rvv/base/vneg_v-3.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_m-1.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_m-2.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_m-3.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vneg_v_tumu-3.c: New test.

20 months agoRISC-V: Add vnot.v C API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 23:22:40 +0000 (07:22 +0800)]
RISC-V: Add vnot.v C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vnot_v-1.c: New test.
* gcc.target/riscv/rvv/base/vnot_v-2.c: New test.
* gcc.target/riscv/rvv/base/vnot_v-3.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_m-1.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_m-2.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_m-3.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vnot_v_tumu-3.c: New test.

20 months agoRISC-V: Add unary C/C++ API support
Ju-Zhe Zhong [Fri, 3 Feb 2023 23:21:15 +0000 (07:21 +0800)]
RISC-V: Add unary C/C++ API support

gcc/ChangeLog:

* config/riscv/iterators.md: Add neg and not.
* config/riscv/riscv-vector-builtins-bases.cc (class unop): New class.
(BASE): Ditto.
* config/riscv/riscv-vector-builtins-bases.h: Ditto.
* config/riscv/riscv-vector-builtins-functions.def (vadd): Rename binop
into alu.
(vsub): Ditto.
(vand): Ditto.
(vor): Ditto.
(vxor): Ditto.
(vsll): Ditto.
(vsra): Ditto.
(vsrl): Ditto.
(vmin): Ditto.
(vmax): Ditto.
(vminu): Ditto.
(vmaxu): Ditto.
(vmul): Ditto.
(vdiv): Ditto.
(vrem): Ditto.
(vdivu): Ditto.
(vremu): Ditto.
(vrsub): Ditto.
(vneg): Ditto.
(vnot): Ditto.
* config/riscv/riscv-vector-builtins-shapes.cc (struct binop_def): Ditto.
(struct alu_def): Ditto.
(SHAPE): Ditto.
* config/riscv/riscv-vector-builtins-shapes.h: Ditto.
* config/riscv/riscv-vector-builtins.cc: Support unary C/C/++.
* config/riscv/vector-iterators.md: New iterator.
* config/riscv/vector.md (@pred_<optab><mode>): New pattern

20 months agoRISC-V: Fix VSETVL PASS bug in exception handling
Ju-Zhe Zhong [Sat, 4 Feb 2023 01:09:30 +0000 (09:09 +0800)]
RISC-V: Fix VSETVL PASS bug in exception handling

gcc/ChangeLog:

* config/riscv/riscv-vsetvl.cc (pass_vsetvl::compute_probabilities): Skip exit block.

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/exception-1.C: New test.

20 months agoDaily bump.
GCC Administrator [Sun, 12 Feb 2023 00:17:22 +0000 (00:17 +0000)]
Daily bump.

20 months agoipa-cp: Punt for too large offsets [PR108605]
Jakub Jelinek [Sat, 11 Feb 2023 14:57:54 +0000 (15:57 +0100)]
ipa-cp: Punt for too large offsets [PR108605]

Seems most of IPA uses unsigned type for byte offsets
ipa-param-manipulation.h:  unsigned unit_offset;
ipa-param-manipulation.h:  unsigned unit_offset;
ipa-param-manipulation.h:  void register_replacement (tree base, unsigned unit_offset, tree replacement);
ipa-param-manipulation.h:  tree lookup_replacement (tree base, unsigned unit_offset);
ipa-param-manipulation.h:                                                   unsigned unit_offset);
ipa-prop.h:  unsigned unit_offset;
ipa-prop.h:  tree get_value (int index, unsigned unit_offset, bool by_ref) const;
ipa-prop.h:  tree get_value (int index, unsigned unit_offset) const;
ipa-prop.h:  const ipa_argagg_value *get_elt (int index, unsigned unit_offset) const;
ipa-cp.cc:ipa_argagg_value_list::get_elt (int index, unsigned unit_offset) const
ipa-cp.cc:  unsigned prev_unit_offset = 0;
ipa-cp.cc:ipa_argagg_value_list::get_value (int index, unsigned unit_offset) const
ipa-cp.cc:ipa_argagg_value_list::get_value (int index, unsigned unit_offset,
ipa-cp.cc:      unsigned other_offset = other.m_elts[i].unit_offset;
ipa-cp.cc:  unsigned prev_unit_offset = 0;
ipa-cp.cc:  unsigned prev_unit_offset = 0;
ipa-cp.cc:      unsigned this_offset = elts[i].unit_offset;
ipa-cp.cc:  unsigned prev_unit_offset = 0;
ipa-cp.cc:        unsigned unit_offset = aglat->offset / BITS_PER_UNIT;
ipa-cp.cc:  unsigned prev_unit_offset = 0;
ipa-param-manipulation.cc:  unsigned unit_offset;
ipa-param-manipulation.cc:isra_get_ref_base_and_offset (tree expr, tree *base_p, unsigned *unit_offset_p)
ipa-param-manipulation.cc:                                                unsigned unit_offset,
ipa-param-manipulation.cc:                                                unsigned unit_offset)
ipa-param-manipulation.cc:ipa_param_body_adjustments::lookup_replacement (tree base, unsigned unit_offset)
ipa-param-manipulation.cc:  unsigned unit_offset;
ipa-prop.cc:      unsigned unit_offset = bit_offset / BITS_PER_UNIT;
ipa-sra.cc:  unsigned unit_offset;
ipa-sra.cc:  unsigned unit_offset;
ipa-sra.cc:                          unsigned unit_offset, unsigned unit_size)
ipa-sra.cc:      unsigned offset = argacc->unit_offset + delta_offset;
so before converting a HOST_WIDE_INT bit offset to unsigned byte offset
we need to punt for too large offsets.  Some places do that, e.g.
isra_get_ref_base_and_offset has
  if (offset < 0 || (offset / BITS_PER_UNIT) > UINT_MAX)
    return false;
but ipa_agg_value_from_jfunc doesn't.

The following patch fixes that.

2023-02-11  Jakub Jelinek  <jakub@redhat.com>

PR ipa/108605
* ipa-cp.cc (ipa_agg_value_from_jfunc): Return NULL_TREE also if
item->offset bit position is too large to be representable as
unsigned int byte position.

* c-c++-common/pr108605.c: New test.

20 months agodoc: Adjust link to WG14 N965
Gerald Pfeifer [Sat, 11 Feb 2023 11:59:10 +0000 (12:59 +0100)]
doc: Adjust link to WG14 N965

gcc/ChangeLog:

* doc/extend.texi (Other Builtins): Adjust link to WG14 N965.

20 months agopr65658.c: fix excess warnings on LLP64 targets
Jonathan Yong [Sat, 28 Jan 2023 18:12:50 +0000 (18:12 +0000)]
pr65658.c: fix excess warnings on LLP64 targets

gcc/testsuite/ChangeLog:

* gcc.dg/pr65658.c: fix LLP64 test.

Signed-off-by: Jonathan Yong <10walls@gmail.com>
20 months agogcc/testsuite: fix excess warnings for mingw-w64
Jonathan Yong [Sat, 28 Jan 2023 16:49:27 +0000 (16:49 +0000)]
gcc/testsuite: fix excess warnings for mingw-w64

gcc/testsuite/ChangeLog:

* c-c++-common/Wsizeof-array-div1.c: fix excess warnings.
* gcc.dg/Warray-bounds-52.c: ditto
* gcc.dg/Wstringop-overflow-62.c: ditto
* gcc.dg/attr-vector_size.c: ditto
* gcc.dg/overflow-warn-9.c: ditto

Signed-off-by: Jonathan Yong <10walls@gmail.com>
20 months agolibstdc++: Update link to "Worst-case efficient priority queues"
Gerald Pfeifer [Sat, 11 Feb 2023 08:00:01 +0000 (09:00 +0100)]
libstdc++: Update link to "Worst-case efficient priority queues"

libstdc++-v3/ChangeLog:

* doc/xml/manual/policy_data_structures_biblio.xml: Update
link to "Worst-case efficient priority queues".
* doc/html/manual/policy_data_structures.html: Regenerate.

20 months agolibiberty: fix lrealpath on Windows NTFS symlinks
niXman [Sat, 11 Feb 2023 06:18:10 +0000 (06:18 +0000)]
libiberty: fix lrealpath on Windows NTFS symlinks

gcc computes the wrong prefix if invoked through an NTFS
symlink. Try to resolve it if possible.

PR/108350

libiberty/ChangeLog:

* lrealpath.c (lrealpath): try to resolve symlink and
use UNC paths where applicable.

Signed-off-by: Jonathan Yong <10walls@gmail.com>
20 months agoDaily bump.
GCC Administrator [Sat, 11 Feb 2023 00:17:31 +0000 (00:17 +0000)]
Daily bump.

20 months agoanalyzer: don't warn for deref-before-check for checks in macros [PR108745]
David Malcolm [Fri, 10 Feb 2023 23:10:21 +0000 (18:10 -0500)]
analyzer: don't warn for deref-before-check for checks in macros [PR108745]

Integration testing shows this patch fixes all 9 known false positives
from -Wanalyzer-deref-before-check within ImageMagick-7.1.0-57, and
eliminates 34 further as-yet unassessed such diagnostics, without
eliminating the 1 known true positive.

This improves the rate of true positives for the warning from
1.56% to 4.76% of the total:

-Wanalyzer-deref-before-check: 1.56% -> 4.76% (GOOD: 1 BAD: 63->20)
    TRUE:  1
   FALSE: 15 ->  6 (-9)
             ImageMagick-7.1.0-57:  9 ->  0 (-9)
    TODO: 48 -> 14 (-34)
             ImageMagick-7.1.0-57: 21 ->  1 (-20)
                       qemu-7.2.0: 25 -> 11 (-14)

gcc/analyzer/ChangeLog:
PR analyzer/108745
* sm-malloc.cc (deref_before_check::emit): Reject the warning if
the check occurs within a macro defintion.

gcc/testsuite/ChangeLog:
PR analyzer/108745
* gcc.dg/analyzer/deref-before-check-macro-pr108745.c: New test.
* gcc.dg/analyzer/deref-before-check-macro.c: New test.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
20 months agoRegenerate .pot files
Joseph Myers [Fri, 10 Feb 2023 22:42:43 +0000 (22:42 +0000)]
Regenerate .pot files

gcc/po/
* gcc.pot: Regenerate.

libcpp/po/
* cpplib.pot: Regenerate.

20 months agoRA: Use caller save equivalent memory only for LRA
Vladimir N. Makarov [Fri, 10 Feb 2023 17:17:07 +0000 (12:17 -0500)]
RA: Use caller save equivalent memory only for LRA

Recently I submitted a patch to reuse memory with constant address for
caller saves optimization for constant or pure function call.  It
seems to work only for targets using LRA instead of the old reload
pass.  So the patch switches off this optimization when the old reload
pass is used.

        PR middle-end/108754

gcc/ChangeLog:

* ira.cc (update_equiv_regs): Set up ira_reg_equiv for
valid_combine only when ira_use_lra_p is true.

20 months agoRA: Use simple LRA for huge functions
Vladimir N. Makarov [Fri, 10 Feb 2023 16:12:37 +0000 (11:12 -0500)]
RA: Use simple LRA for huge functions

The PR108500 test contains a huge function and RA spends a lot of time
to compile the test with -O0.  The patch decreases compilation time
considerably for huge functions.  Compilation time for the PR test
decreases from 1235s to 709s on Intel i7-13600K.

        PR tree-optimization/108500

gcc/ChangeLog:

* params.opt (ira-simple-lra-insn-threshold): Add new param.
* ira.cc (ira): Use the param to switch on simple LRA.

20 months agoQuery rangers cache in readonly mode only from within
Andrew MacLeod [Thu, 9 Feb 2023 22:50:07 +0000 (17:50 -0500)]
Query rangers cache in readonly mode only from within

The change for 108356 allowed the cache to scan the dominator trees when
it was attempting a lookup rather than using the local value.  I
inadvertantly changed the externbal interface to also do this, so all
the GORI queries via range_on_edge of the cache could also do lookups.

This triggered a quadratic, possible expoential time increase when
the right conditions were presented. That being a cascading series of
recomputaions on outgoing edge calucaltions that at then searched the dom tree
instead of being a simple calcualtion using whats easily available.

The fix is to use the internal API within the cache rather than the
extrenal one that GORI uses.   This leaves GORI computations to be
resovled in linear time.

PR tree-optimization/108687
gcc/
* gimple-range-cache.cc (ranger_cache::range_on_edge): Revert
back to RFD_NONE mode for calculations.
(ranger_cache::propagate_cache): Call the internal edge range API
with RFD_READ_ONLY instead of changing the external routine.

20 months agoAdd function context for querying global ranges.
Andrew MacLeod [Mon, 6 Feb 2023 18:07:01 +0000 (13:07 -0500)]
Add function context for querying global ranges.

When processing arguments for assume functions, call get_global_range
directly and utilize a function context pointer to avoid any assumptions
about using cfun.

PR tree-optimization/108520
gcc/
* gimple-range-infer.cc (check_assume_func): Invoke
gimple_range_global directly instead using global_range_query.
* value-query.cc (get_range_global): Add function context and
avoid calling nonnull_arg_p if not cfun.
(gimple_range_global): Add function context pointer.
* value-query.h (imple_range_global): Add function context.

gcc/testsuite/
* g++.dg/pr108520.C: New.

20 months agoRISC-V: Add vand.vx C++ API test.
Ju-Zhe Zhong [Fri, 3 Feb 2023 08:14:05 +0000 (16:14 +0800)]
RISC-V: Add vand.vx C++ API test.

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vand_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vand_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vand_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vand_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vand_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vand_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vand_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vand_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vand_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vand_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vand_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vand_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vand_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vdiv.vx C++ API test.
Ju-Zhe Zhong [Fri, 3 Feb 2023 08:12:57 +0000 (16:12 +0800)]
RISC-V: Add vdiv.vx C++ API test.

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vdiv_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vdivu.vx C++ API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 08:11:38 +0000 (16:11 +0800)]
RISC-V: Add vdivu.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vdivu_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vmax.vx C++ API tests.
Ju-Zhe Zhong [Fri, 3 Feb 2023 08:09:32 +0000 (16:09 +0800)]
RISC-V: Add vmax.vx C++ API tests.

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vmax_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmax_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vmaxu.vx C++ API tests.
Ju-Zhe Zhong [Fri, 3 Feb 2023 08:00:35 +0000 (16:00 +0800)]
RISC-V: Add vmaxu.vx C++ API tests.

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmaxu_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vmin.vx C++ API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 07:58:30 +0000 (15:58 +0800)]
RISC-V: Add vmin.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vmin_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmin_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vminu.vx C++ API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 07:57:12 +0000 (15:57 +0800)]
RISC-V: Add vminu.vx C++ API tests

  gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vminu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vminu_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vmul.vx C++ API testcase
Ju-Zhe Zhong [Fri, 3 Feb 2023 07:53:15 +0000 (15:53 +0800)]
RISC-V: Add vmul.vx C++ API testcase

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vmul_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmul_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vor.vx C++ API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 07:51:54 +0000 (15:51 +0800)]
RISC-V: Add vor.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vor_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vor_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vor_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vor_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vor_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vor_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vor_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vor_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vor_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vor_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vor_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vor_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vor_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vrem.vx C++ API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 07:50:42 +0000 (15:50 +0800)]
RISC-V: Add vrem.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vrem_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vrem_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vremu.vx C++ API tests.
Ju-Zhe Zhong [Fri, 3 Feb 2023 07:49:11 +0000 (15:49 +0800)]
RISC-V: Add vremu.vx C++ API tests.

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vremu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vremu_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vadd.vx C++ API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 07:45:23 +0000 (15:45 +0800)]
RISC-V: Add vadd.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vadd_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vadd_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vrsub.vx C++ API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 07:43:18 +0000 (15:43 +0800)]
RISC-V: Add vrsub.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vrsub_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vsub.vx C++ API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 07:42:07 +0000 (15:42 +0800)]
RISC-V: Add vsub.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vsub_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsub_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add vxor.vx C++ API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 07:40:24 +0000 (15:40 +0800)]
RISC-V: Add vxor.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vxor_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vxor_vx_tumu_rv64-3.C: New test.

20 months agoRISC-V: Add binary op vx constraint tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 07:37:16 +0000 (15:37 +0800)]
RISC-V: Add binary op vx constraint tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/binop_vx_constraint-1.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-10.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-11.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-12.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-13.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-14.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-15.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-16.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-17.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-18.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-19.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-2.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-20.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-21.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-22.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-23.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-24.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-25.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-26.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-27.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-28.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-29.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-3.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-30.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-31.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-32.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-33.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-34.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-35.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-36.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-37.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-38.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-39.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-4.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-40.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-41.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-42.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-43.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-44.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-45.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-46.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-47.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-48.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-49.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-5.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-50.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-51.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-52.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-53.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-54.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-55.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-56.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-57.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-58.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-59.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-6.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-60.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-61.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-62.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-63.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-64.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-65.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-66.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-67.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-68.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-69.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-7.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-70.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-71.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-72.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-73.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-74.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-75.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-76.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-77.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-78.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-79.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-8.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-80.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-81.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-82.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-83.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-84.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-85.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-86.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-87.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-88.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-89.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-9.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-90.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-91.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-92.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-93.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-94.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-95.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-96.c: New test.

20 months agoRISC-V: Add vadd.vx C API tests
Ju-Zhe Zhong [Fri, 3 Feb 2023 07:35:52 +0000 (15:35 +0800)]
RISC-V: Add vadd.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vadd_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vadd_vx_tumu_rv64-3.c: New test.