aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-02-12RISC-V: Add vmv C API testsJu-Zhe Zhong6-0/+1656
gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/vmv_v_v-1.c: New test. * gcc.target/riscv/rvv/base/vmv_v_v-2.c: New test. * gcc.target/riscv/rvv/base/vmv_v_v-3.c: New test. * gcc.target/riscv/rvv/base/vmv_v_v_tu-1.c: New test. * gcc.target/riscv/rvv/base/vmv_v_v_tu-2.c: New test. * gcc.target/riscv/rvv/base/vmv_v_v_tu-3.c: New test.
2023-02-12RISC-V: Add vncvt C API testsJu-Zhe Zhong18-0/+3618
gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/vncvt_x-1.c: New test. * gcc.target/riscv/rvv/base/vncvt_x-2.c: New test. * gcc.target/riscv/rvv/base/vncvt_x-3.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_m-1.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_m-2.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_m-3.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_mu-1.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_mu-2.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_mu-3.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_tu-1.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_tu-2.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_tu-3.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_tum-1.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_tum-2.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_tum-3.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_tumu-1.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_tumu-2.c: New test. * gcc.target/riscv/rvv/base/vncvt_x_tumu-3.c: New test.
2023-02-12RISC-V: Add vnsra C API testsJu-Zhe Zhong36-0/+3996
gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/vnsra_wv-1.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv-2.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv-3.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_m-1.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_m-2.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_m-3.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_mu-1.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_mu-2.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_mu-3.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_tu-1.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_tu-2.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_tu-3.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_tum-1.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_tum-2.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_tum-3.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_tumu-1.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_tumu-2.c: New test. * gcc.target/riscv/rvv/base/vnsra_wv_tumu-3.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx-1.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx-2.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx-3.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_m-1.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_m-2.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_m-3.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_mu-1.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_mu-2.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_mu-3.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_tu-1.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_tu-2.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_tu-3.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_tum-1.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_tum-2.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_tum-3.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_tumu-1.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_tumu-2.c: New test. * gcc.target/riscv/rvv/base/vnsra_wx_tumu-3.c: New test.
2023-02-12RISC-V: Add vnsrl C API testsJu-Zhe Zhong36-0/+3996
gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/vnsrl_wv-1.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv-2.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv-3.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_m-1.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_m-2.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_m-3.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_mu-1.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_mu-2.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_mu-3.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_tu-1.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_tu-2.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_tu-3.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_tum-1.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_tum-2.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_tum-3.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-1.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-2.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wv_tumu-3.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx-1.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx-2.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx-3.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_m-1.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_m-2.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_m-3.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_mu-1.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_mu-2.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_mu-3.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_tu-1.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_tu-2.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_tu-3.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_tum-1.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_tum-2.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_tum-3.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-1.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-2.c: New test. * gcc.target/riscv/rvv/base/vnsrl_wx_tumu-3.c: New test.
2023-02-12RISC-V: Add vnsrl/vnsra/vncvt/vmerge/vmv C/C++ supportJu-Zhe Zhong12-56/+536
gcc/ChangeLog: * config/riscv/constraints.md (Wbr): Remove unused constraint. * config/riscv/predicates.md: Fix move operand predicate. * config/riscv/riscv-vector-builtins-bases.cc (class vnshift): New class. (class vncvt_x): Ditto. (class vmerge): Ditto. (class vmv_v): Ditto. (BASE): Ditto. * config/riscv/riscv-vector-builtins-bases.h: Ditto. * config/riscv/riscv-vector-builtins-functions.def (vsra): Ditto. (vsrl): Ditto. (vnsrl): Ditto. (vnsra): Ditto. (vncvt_x): Ditto. (vmerge): Ditto. (vmv_v): Ditto. * config/riscv/riscv-vector-builtins-shapes.cc (struct narrow_alu_def): Ditto. (struct move_def): Ditto. (SHAPE): Ditto. * config/riscv/riscv-vector-builtins-shapes.h: Ditto. * config/riscv/riscv-vector-builtins.cc (DEF_RVV_WEXTI_OPS): New variable. (DEF_RVV_WEXTU_OPS): Ditto * config/riscv/riscv-vector-builtins.def (x_x_w): Fix type for suffix. (v_v): Ditto. (v_x): Ditto. (x_w): Ditto. (x): Ditto. * config/riscv/riscv.cc (riscv_print_operand): Refine ASM printting rule. * config/riscv/vector-iterators.md (nmsac):New iterator. (nmsub): New iterator. * config/riscv/vector.md (@pred_merge<mode>): New pattern. (@pred_merge<mode>_scalar): New pattern. (*pred_merge<mode>_scalar): New pattern. (*pred_merge<mode>_extended_scalar): New pattern. (@pred_narrow_<optab><mode>): New pattern. (@pred_narrow_<optab><mode>_scalar): New pattern. (@pred_trunc<mode>): New pattern.
2023-02-12RISC-V: Add vmsbc C++ API testsJu-Zhe Zhong18-0/+5238
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vmsbc_vv-1.C: New test. * g++.target/riscv/rvv/base/vmsbc_vv-2.C: New test. * g++.target/riscv/rvv/base/vmsbc_vv-3.C: New test. * g++.target/riscv/rvv/base/vmsbc_vvm-1.C: New test. * g++.target/riscv/rvv/base/vmsbc_vvm-2.C: New test. * g++.target/riscv/rvv/base/vmsbc_vvm-3.C: New test. * g++.target/riscv/rvv/base/vmsbc_vx_rv32-1.C: New test. * g++.target/riscv/rvv/base/vmsbc_vx_rv32-2.C: New test. * g++.target/riscv/rvv/base/vmsbc_vx_rv32-3.C: New test. * g++.target/riscv/rvv/base/vmsbc_vx_rv64-1.C: New test. * g++.target/riscv/rvv/base/vmsbc_vx_rv64-2.C: New test. * g++.target/riscv/rvv/base/vmsbc_vx_rv64-3.C: New test. * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-1.C: New test. * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-2.C: New test. * g++.target/riscv/rvv/base/vmsbc_vxm_rv32-3.C: New test. * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-1.C: New test. * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-2.C: New test. * g++.target/riscv/rvv/base/vmsbc_vxm_rv64-3.C: New test.
2023-02-12RISC-V: Add vmadc C++ API testsJu-Zhe Zhong18-0/+5238
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vmadc_vv-1.C: New test. * g++.target/riscv/rvv/base/vmadc_vv-2.C: New test. * g++.target/riscv/rvv/base/vmadc_vv-3.C: New test. * g++.target/riscv/rvv/base/vmadc_vvm-1.C: New test. * g++.target/riscv/rvv/base/vmadc_vvm-2.C: New test. * g++.target/riscv/rvv/base/vmadc_vvm-3.C: New test. * g++.target/riscv/rvv/base/vmadc_vx_rv32-1.C: New test. * g++.target/riscv/rvv/base/vmadc_vx_rv32-2.C: New test. * g++.target/riscv/rvv/base/vmadc_vx_rv32-3.C: New test. * g++.target/riscv/rvv/base/vmadc_vx_rv64-1.C: New test. * g++.target/riscv/rvv/base/vmadc_vx_rv64-2.C: New test. * g++.target/riscv/rvv/base/vmadc_vx_rv64-3.C: New test. * g++.target/riscv/rvv/base/vmadc_vxm_rv32-1.C: New test. * g++.target/riscv/rvv/base/vmadc_vxm_rv32-2.C: New test. * g++.target/riscv/rvv/base/vmadc_vxm_rv32-3.C: New test. * g++.target/riscv/rvv/base/vmadc_vxm_rv64-1.C: New test. * g++.target/riscv/rvv/base/vmadc_vxm_rv64-2.C: New test. * g++.target/riscv/rvv/base/vmadc_vxm_rv64-3.C: New test.
2023-02-12RISC-V: Add vmsbc C API testsJu-Zhe Zhong26-0/+5694
gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/vmsbc-1.c: New test. * gcc.target/riscv/rvv/base/vmsbc-2.c: New test. * gcc.target/riscv/rvv/base/vmsbc-3.c: New test. * gcc.target/riscv/rvv/base/vmsbc-4.c: New test. * gcc.target/riscv/rvv/base/vmsbc-5.c: New test. * gcc.target/riscv/rvv/base/vmsbc-6.c: New test. * gcc.target/riscv/rvv/base/vmsbc-7.c: New test. * gcc.target/riscv/rvv/base/vmsbc-8.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vv-1.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vv-2.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vv-3.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vvm-1.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vvm-2.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vvm-3.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-1.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-2.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vx_rv32-3.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-1.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-2.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vx_rv64-3.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-1.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-2.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vxm_rv32-3.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-1.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-2.c: New test. * gcc.target/riscv/rvv/base/vmsbc_vxm_rv64-3.c: New test.
2023-02-12RISC-V: Add vmadc C API testsJu-Zhe Zhong26-0/+5701
gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/vmadc-1.c: New test. * gcc.target/riscv/rvv/base/vmadc-2.c: New test. * gcc.target/riscv/rvv/base/vmadc-3.c: New test. * gcc.target/riscv/rvv/base/vmadc-4.c: New test. * gcc.target/riscv/rvv/base/vmadc-5.c: New test. * gcc.target/riscv/rvv/base/vmadc-6.c: New test. * gcc.target/riscv/rvv/base/vmadc-7.c: New test. * gcc.target/riscv/rvv/base/vmadc-8.c: New test. * gcc.target/riscv/rvv/base/vmadc_vv-1.c: New test. * gcc.target/riscv/rvv/base/vmadc_vv-2.c: New test. * gcc.target/riscv/rvv/base/vmadc_vv-3.c: New test. * gcc.target/riscv/rvv/base/vmadc_vvm-1.c: New test. * gcc.target/riscv/rvv/base/vmadc_vvm-2.c: New test. * gcc.target/riscv/rvv/base/vmadc_vvm-3.c: New test. * gcc.target/riscv/rvv/base/vmadc_vx_rv32-1.c: New test. * gcc.target/riscv/rvv/base/vmadc_vx_rv32-2.c: New test. * gcc.target/riscv/rvv/base/vmadc_vx_rv32-3.c: New test. * gcc.target/riscv/rvv/base/vmadc_vx_rv64-1.c: New test. * gcc.target/riscv/rvv/base/vmadc_vx_rv64-2.c: New test. * gcc.target/riscv/rvv/base/vmadc_vx_rv64-3.c: New test. * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-1.c: New test. * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-2.c: New test. * gcc.target/riscv/rvv/base/vmadc_vxm_rv32-3.c: New test. * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-1.c: New test. * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-2.c: New test. * gcc.target/riscv/rvv/base/vmadc_vxm_rv64-3.c: New test.
2023-02-12RISC-V: Add vmadc/vmsbc C/C++ API supportJu-Zhe Zhong9-1/+642
gcc/ChangeLog: * config/riscv/riscv-vector-builtins-bases.cc (class vmadc): New class. (class vmsbc): Ditto. (BASE): Define new class. * config/riscv/riscv-vector-builtins-bases.h: Ditto. * config/riscv/riscv-vector-builtins-functions.def (vmadc): New define. (vmsbc): Ditto. * config/riscv/riscv-vector-builtins-shapes.cc (struct return_mask_def): New class. (SHAPE): Ditto. * config/riscv/riscv-vector-builtins-shapes.h: Ditto. * config/riscv/riscv-vector-builtins.cc (function_expander::use_exact_insn): Adjust for new support * config/riscv/riscv-vector-builtins.h (function_base::has_merge_operand_p): New function. * config/riscv/vector-iterators.md: New iterator. * config/riscv/vector.md (@pred_madc<mode>): New pattern. (@pred_msbc<mode>): Ditto. (@pred_madc<mode>_scalar): Ditto. (@pred_msbc<mode>_scalar): Ditto. (*pred_madc<mode>_scalar): Ditto. (*pred_madc<mode>_extended_scalar): Ditto. (*pred_msbc<mode>_scalar): Ditto. (*pred_msbc<mode>_extended_scalar): Ditto. (@pred_madc<mode>_overflow): Ditto. (@pred_msbc<mode>_overflow): Ditto. (@pred_madc<mode>_overflow_scalar): Ditto. (@pred_msbc<mode>_overflow_scalar): Ditto. (*pred_madc<mode>_overflow_scalar): Ditto. (*pred_madc<mode>_overflow_extended_scalar): Ditto. (*pred_msbc<mode>_overflow_scalar): Ditto. (*pred_msbc<mode>_overflow_extended_scalar): Ditto.
2023-02-12RISC-V: Add vadc C++ API testsJu-Zhe Zhong18-0/+5238
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vadc_vvm-1.C: New test. * g++.target/riscv/rvv/base/vadc_vvm-2.C: New test. * g++.target/riscv/rvv/base/vadc_vvm-3.C: New test. * g++.target/riscv/rvv/base/vadc_vvm_tu-1.C: New test. * g++.target/riscv/rvv/base/vadc_vvm_tu-2.C: New test. * g++.target/riscv/rvv/base/vadc_vvm_tu-3.C: New test. * g++.target/riscv/rvv/base/vadc_vxm_rv32-1.C: New test. * g++.target/riscv/rvv/base/vadc_vxm_rv32-2.C: New test. * g++.target/riscv/rvv/base/vadc_vxm_rv32-3.C: New test. * g++.target/riscv/rvv/base/vadc_vxm_rv64-1.C: New test. * g++.target/riscv/rvv/base/vadc_vxm_rv64-2.C: New test. * g++.target/riscv/rvv/base/vadc_vxm_rv64-3.C: New test. * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-1.C: New test. * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-2.C: New test. * g++.target/riscv/rvv/base/vadc_vxm_tu_rv32-3.C: New test. * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-1.C: New test. * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-2.C: New test. * g++.target/riscv/rvv/base/vadc_vxm_tu_rv64-3.C: New test.
2023-02-12RISC-V: Add vsbc C++ API testsJu-Zhe Zhong18-0/+5238
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vsbc_vvm-1.C: New test. * g++.target/riscv/rvv/base/vsbc_vvm-2.C: New test. * g++.target/riscv/rvv/base/vsbc_vvm-3.C: New test. * g++.target/riscv/rvv/base/vsbc_vvm_tu-1.C: New test. * g++.target/riscv/rvv/base/vsbc_vvm_tu-2.C: New test. * g++.target/riscv/rvv/base/vsbc_vvm_tu-3.C: New test. * g++.target/riscv/rvv/base/vsbc_vxm_rv32-1.C: New test. * g++.target/riscv/rvv/base/vsbc_vxm_rv32-2.C: New test. * g++.target/riscv/rvv/base/vsbc_vxm_rv32-3.C: New test. * g++.target/riscv/rvv/base/vsbc_vxm_rv64-1.C: New test. * g++.target/riscv/rvv/base/vsbc_vxm_rv64-2.C: New test. * g++.target/riscv/rvv/base/vsbc_vxm_rv64-3.C: New test. * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-1.C: New test. * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-2.C: New test. * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv32-3.C: New test. * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-1.C: New test. * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-2.C: New test. * g++.target/riscv/rvv/base/vsbc_vxm_tu_rv64-3.C: New test.
2023-02-12RISC-V: Add vsbc.vvm/vsbc.vxm C API testsJu-Zhe Zhong22-0/+5476
gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/vsbc-1.c: New test. * gcc.target/riscv/rvv/base/vsbc-2.c: New test. * gcc.target/riscv/rvv/base/vsbc-3.c: New test. * gcc.target/riscv/rvv/base/vsbc-4.c: New test. * gcc.target/riscv/rvv/base/vsbc_vvm-1.c: New test. * gcc.target/riscv/rvv/base/vsbc_vvm-2.c: New test. * gcc.target/riscv/rvv/base/vsbc_vvm-3.c: New test. * gcc.target/riscv/rvv/base/vsbc_vvm_tu-1.c: New test. * gcc.target/riscv/rvv/base/vsbc_vvm_tu-2.c: New test. * gcc.target/riscv/rvv/base/vsbc_vvm_tu-3.c: New test. * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-1.c: New test. * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-2.c: New test. * gcc.target/riscv/rvv/base/vsbc_vxm_rv32-3.c: New test. * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-1.c: New test. * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-2.c: New test. * gcc.target/riscv/rvv/base/vsbc_vxm_rv64-3.c: New test. * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-1.c: New test. * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-2.c: New test. * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv32-3.c: New test. * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-1.c: New test. * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-2.c: New test. * gcc.target/riscv/rvv/base/vsbc_vxm_tu_rv64-3.c: New test.
2023-02-12RISC-V: Add vadc.vvm/vadc.vxm C API testsJu-Zhe Zhong22-0/+5470
gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/vadc-1.c: New test. * gcc.target/riscv/rvv/base/vadc-2.c: New test. * gcc.target/riscv/rvv/base/vadc-3.c: New test. * gcc.target/riscv/rvv/base/vadc-4.c: New test. * gcc.target/riscv/rvv/base/vadc_vvm-1.c: New test. * gcc.target/riscv/rvv/base/vadc_vvm-2.c: New test. * gcc.target/riscv/rvv/base/vadc_vvm-3.c: New test. * gcc.target/riscv/rvv/base/vadc_vvm_tu-1.c: New test. * gcc.target/riscv/rvv/base/vadc_vvm_tu-2.c: New test. * gcc.target/riscv/rvv/base/vadc_vvm_tu-3.c: New test. * gcc.target/riscv/rvv/base/vadc_vxm_rv32-1.c: New test. * gcc.target/riscv/rvv/base/vadc_vxm_rv32-2.c: New test. * gcc.target/riscv/rvv/base/vadc_vxm_rv32-3.c: New test. * gcc.target/riscv/rvv/base/vadc_vxm_rv64-1.c: New test. * gcc.target/riscv/rvv/base/vadc_vxm_rv64-2.c: New test. * gcc.target/riscv/rvv/base/vadc_vxm_rv64-3.c: New test. * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-1.c: New test. * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-2.c: New test. * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv32-3.c: New test. * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-1.c: New test. * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-2.c: New test. * gcc.target/riscv/rvv/base/vadc_vxm_tu_rv64-3.c: New test.
2023-02-12RISC-V: Add vadc/vsbc C/C++ API supportJu-Zhe Zhong11-7/+429
gcc/ChangeLog: * config/riscv/riscv-protos.h (simm5_p): Add vadc/vsbc support. * config/riscv/riscv-v.cc (simm32_p): Ditto. * config/riscv/riscv-vector-builtins-bases.cc (class vadc): New class. (class vsbc): Ditto. (BASE): Ditto. * config/riscv/riscv-vector-builtins-bases.h: Ditto. * config/riscv/riscv-vector-builtins-functions.def (vadc): Ditto. (vsbc): Ditto. * config/riscv/riscv-vector-builtins-shapes.cc (struct no_mask_policy_def): Ditto. (SHAPE): Ditto. * config/riscv/riscv-vector-builtins-shapes.h: Ditto. * config/riscv/riscv-vector-builtins.cc (rvv_arg_type_info::get_base_vector_type): Add vadc/vsbc support. (rvv_arg_type_info::get_tree_type): Ditto. (function_expander::use_exact_insn): Ditto. * config/riscv/riscv-vector-builtins.h (enum rvv_base_type): Ditto. (function_base::use_mask_predication_p): New function. * config/riscv/vector-iterators.md: New iterator. * config/riscv/vector.md (@pred_adc<mode>): New pattern. (@pred_sbc<mode>): Ditto. (@pred_adc<mode>_scalar): Ditto. (@pred_sbc<mode>_scalar): Ditto. (*pred_adc<mode>_scalar): Ditto. (*pred_adc<mode>_extended_scalar): Ditto. (*pred_sbc<mode>_scalar): Ditto. (*pred_sbc<mode>_extended_scalar): Ditto.
2023-02-12RISC-V: allow vx instruction use "zero" as scalar register.Ju-Zhe Zhong2-24/+88
li a5,0 vdiv.vx v0,v1,a5 =======> vdiv.vx v0,v1,zero gcc/ChangeLog: * config/riscv/vector.md: use "zero" reg. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/binop_vx_constraint-121.c: New test.
2023-02-12RISC-V: Add vwadd v C++ api testJu-Zhe Zhong30-0/+3960
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vwadd_vv-1.C: New test. * g++.target/riscv/rvv/base/vwadd_vv-2.C: New test. * g++.target/riscv/rvv/base/vwadd_vv-3.C: New test. * g++.target/riscv/rvv/base/vwadd_vv_mu-1.C: New test. * g++.target/riscv/rvv/base/vwadd_vv_mu-2.C: New test. * g++.target/riscv/rvv/base/vwadd_vv_mu-3.C: New test. * g++.target/riscv/rvv/base/vwadd_vv_tu-1.C: New test. * g++.target/riscv/rvv/base/vwadd_vv_tu-2.C: New test. * g++.target/riscv/rvv/base/vwadd_vv_tu-3.C: New test. * g++.target/riscv/rvv/base/vwadd_vv_tum-1.C: New test. * g++.target/riscv/rvv/base/vwadd_vv_tum-2.C: New test. * g++.target/riscv/rvv/base/vwadd_vv_tum-3.C: New test. * g++.target/riscv/rvv/base/vwadd_vv_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwadd_vv_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwadd_vv_tumu-3.C: New test. * g++.target/riscv/rvv/base/vwadd_vx-1.C: New test. * g++.target/riscv/rvv/base/vwadd_vx-2.C: New test. * g++.target/riscv/rvv/base/vwadd_vx-3.C: New test. * g++.target/riscv/rvv/base/vwadd_vx_mu-1.C: New test. * g++.target/riscv/rvv/base/vwadd_vx_mu-2.C: New test. * g++.target/riscv/rvv/base/vwadd_vx_mu-3.C: New test. * g++.target/riscv/rvv/base/vwadd_vx_tu-1.C: New test. * g++.target/riscv/rvv/base/vwadd_vx_tu-2.C: New test. * g++.target/riscv/rvv/base/vwadd_vx_tu-3.C: New test. * g++.target/riscv/rvv/base/vwadd_vx_tum-1.C: New test. * g++.target/riscv/rvv/base/vwadd_vx_tum-2.C: New test. * g++.target/riscv/rvv/base/vwadd_vx_tum-3.C: New test. * g++.target/riscv/rvv/base/vwadd_vx_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwadd_vx_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwadd_vx_tumu-3.C: New test.
2023-02-12RISC-V: Add vwadd.w C++ API testsJu-Zhe Zhong30-0/+3960
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vwadd_wv-1.C: New test. * g++.target/riscv/rvv/base/vwadd_wv-2.C: New test. * g++.target/riscv/rvv/base/vwadd_wv-3.C: New test. * g++.target/riscv/rvv/base/vwadd_wv_mu-1.C: New test. * g++.target/riscv/rvv/base/vwadd_wv_mu-2.C: New test. * g++.target/riscv/rvv/base/vwadd_wv_mu-3.C: New test. * g++.target/riscv/rvv/base/vwadd_wv_tu-1.C: New test. * g++.target/riscv/rvv/base/vwadd_wv_tu-2.C: New test. * g++.target/riscv/rvv/base/vwadd_wv_tu-3.C: New test. * g++.target/riscv/rvv/base/vwadd_wv_tum-1.C: New test. * g++.target/riscv/rvv/base/vwadd_wv_tum-2.C: New test. * g++.target/riscv/rvv/base/vwadd_wv_tum-3.C: New test. * g++.target/riscv/rvv/base/vwadd_wv_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwadd_wv_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwadd_wv_tumu-3.C: New test. * g++.target/riscv/rvv/base/vwadd_wx-1.C: New test. * g++.target/riscv/rvv/base/vwadd_wx-2.C: New test. * g++.target/riscv/rvv/base/vwadd_wx-3.C: New test. * g++.target/riscv/rvv/base/vwadd_wx_mu-1.C: New test. * g++.target/riscv/rvv/base/vwadd_wx_mu-2.C: New test. * g++.target/riscv/rvv/base/vwadd_wx_mu-3.C: New test. * g++.target/riscv/rvv/base/vwadd_wx_tu-1.C: New test. * g++.target/riscv/rvv/base/vwadd_wx_tu-2.C: New test. * g++.target/riscv/rvv/base/vwadd_wx_tu-3.C: New test. * g++.target/riscv/rvv/base/vwadd_wx_tum-1.C: New test. * g++.target/riscv/rvv/base/vwadd_wx_tum-2.C: New test. * g++.target/riscv/rvv/base/vwadd_wx_tum-3.C: New test. * g++.target/riscv/rvv/base/vwadd_wx_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwadd_wx_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwadd_wx_tumu-3.C: New test.
2023-02-12RISC-V: Add vwaddu.v C++ API testsJu-Zhe Zhong30-0/+3960
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vwaddu_vv-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv_mu-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv_mu-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv_mu-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv_tu-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv_tu-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv_tu-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv_tum-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv_tum-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv_tum-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_vv_tumu-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx_mu-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx_mu-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx_mu-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx_tu-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx_tu-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx_tu-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx_tum-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx_tum-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx_tum-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_vx_tumu-3.C: New test.
2023-02-12RISC-V: Add vwaddu.w c++ API TESTSJu-Zhe Zhong30-0/+3960
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vwaddu_wv-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv_mu-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv_mu-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv_mu-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv_tu-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv_tu-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv_tu-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv_tum-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv_tum-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv_tum-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_wv_tumu-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx_mu-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx_mu-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx_mu-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx_tu-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx_tu-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx_tu-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx_tum-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx_tum-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx_tum-3.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwaddu_wx_tumu-3.C: New test.
2023-02-12RISC-V: Add vwcvt C++ api testJu-Zhe Zhong30-0/+3960
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vwcvt_x-1.C: New test. * g++.target/riscv/rvv/base/vwcvt_x-2.C: New test. * g++.target/riscv/rvv/base/vwcvt_x-3.C: New test. * g++.target/riscv/rvv/base/vwcvt_x_mu-1.C: New test. * g++.target/riscv/rvv/base/vwcvt_x_mu-2.C: New test. * g++.target/riscv/rvv/base/vwcvt_x_mu-3.C: New test. * g++.target/riscv/rvv/base/vwcvt_x_tu-1.C: New test. * g++.target/riscv/rvv/base/vwcvt_x_tu-2.C: New test. * g++.target/riscv/rvv/base/vwcvt_x_tu-3.C: New test. * g++.target/riscv/rvv/base/vwcvt_x_tum-1.C: New test. * g++.target/riscv/rvv/base/vwcvt_x_tum-2.C: New test. * g++.target/riscv/rvv/base/vwcvt_x_tum-3.C: New test. * g++.target/riscv/rvv/base/vwcvt_x_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwcvt_x_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwcvt_x_tumu-3.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x-1.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x-2.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x-3.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x_mu-1.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x_mu-2.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x_mu-3.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x_tu-1.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x_tu-2.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x_tu-3.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x_tum-1.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x_tum-2.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x_tum-3.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwcvtu_x_tumu-3.C: New test.
2023-02-12RISC-V: Add vwmul.v C++ api TETSJu-Zhe Zhong30-0/+3960
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vwmul_vv-1.C: New test. * g++.target/riscv/rvv/base/vwmul_vv-2.C: New test. * g++.target/riscv/rvv/base/vwmul_vv-3.C: New test. * g++.target/riscv/rvv/base/vwmul_vv_mu-1.C: New test. * g++.target/riscv/rvv/base/vwmul_vv_mu-2.C: New test. * g++.target/riscv/rvv/base/vwmul_vv_mu-3.C: New test. * g++.target/riscv/rvv/base/vwmul_vv_tu-1.C: New test. * g++.target/riscv/rvv/base/vwmul_vv_tu-2.C: New test. * g++.target/riscv/rvv/base/vwmul_vv_tu-3.C: New test. * g++.target/riscv/rvv/base/vwmul_vv_tum-1.C: New test. * g++.target/riscv/rvv/base/vwmul_vv_tum-2.C: New test. * g++.target/riscv/rvv/base/vwmul_vv_tum-3.C: New test. * g++.target/riscv/rvv/base/vwmul_vv_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwmul_vv_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwmul_vv_tumu-3.C: New test. * g++.target/riscv/rvv/base/vwmul_vx-1.C: New test. * g++.target/riscv/rvv/base/vwmul_vx-2.C: New test. * g++.target/riscv/rvv/base/vwmul_vx-3.C: New test. * g++.target/riscv/rvv/base/vwmul_vx_mu-1.C: New test. * g++.target/riscv/rvv/base/vwmul_vx_mu-2.C: New test. * g++.target/riscv/rvv/base/vwmul_vx_mu-3.C: New test. * g++.target/riscv/rvv/base/vwmul_vx_tu-1.C: New test. * g++.target/riscv/rvv/base/vwmul_vx_tu-2.C: New test. * g++.target/riscv/rvv/base/vwmul_vx_tu-3.C: New test. * g++.target/riscv/rvv/base/vwmul_vx_tum-1.C: New test. * g++.target/riscv/rvv/base/vwmul_vx_tum-2.C: New test. * g++.target/riscv/rvv/base/vwmul_vx_tum-3.C: New test. * g++.target/riscv/rvv/base/vwmul_vx_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwmul_vx_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwmul_vx_tumu-3.C: New test.
2023-02-12RISC-V: Add vwmulsu.v C++ API testsJu-Zhe Zhong30-0/+3960
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vwmulsu_vv-1.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv-2.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv-3.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv_mu-1.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv_mu-2.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv_mu-3.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv_tu-1.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv_tu-2.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv_tu-3.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv_tum-1.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv_tum-2.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv_tum-3.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vv_tumu-3.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx-1.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx-2.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx-3.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx_mu-1.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx_mu-2.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx_mu-3.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx_tu-1.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx_tu-2.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx_tu-3.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx_tum-1.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx_tum-2.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx_tum-3.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwmulsu_vx_tumu-3.C: New test.
2023-02-12RISC-V: Add vwmulu C++ API testsJu-Zhe Zhong30-0/+3960
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vwmulu_vv-1.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv-2.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv-3.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv_mu-1.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv_mu-2.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv_mu-3.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv_tu-1.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv_tu-2.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv_tu-3.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv_tum-1.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv_tum-2.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv_tum-3.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwmulu_vv_tumu-3.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx-1.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx-2.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx-3.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx_mu-1.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx_mu-2.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx_mu-3.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx_tu-1.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx_tu-2.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx_tu-3.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx_tum-1.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx_tum-2.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx_tum-3.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwmulu_vx_tumu-3.C: New test.
2023-02-12RISC-V: Add vwsub.v C++ API testsJu-Zhe Zhong30-0/+3960
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vwsub_vv-1.C: New test. * g++.target/riscv/rvv/base/vwsub_vv-2.C: New test. * g++.target/riscv/rvv/base/vwsub_vv-3.C: New test. * g++.target/riscv/rvv/base/vwsub_vv_mu-1.C: New test. * g++.target/riscv/rvv/base/vwsub_vv_mu-2.C: New test. * g++.target/riscv/rvv/base/vwsub_vv_mu-3.C: New test. * g++.target/riscv/rvv/base/vwsub_vv_tu-1.C: New test. * g++.target/riscv/rvv/base/vwsub_vv_tu-2.C: New test. * g++.target/riscv/rvv/base/vwsub_vv_tu-3.C: New test. * g++.target/riscv/rvv/base/vwsub_vv_tum-1.C: New test. * g++.target/riscv/rvv/base/vwsub_vv_tum-2.C: New test. * g++.target/riscv/rvv/base/vwsub_vv_tum-3.C: New test. * g++.target/riscv/rvv/base/vwsub_vv_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwsub_vv_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwsub_vv_tumu-3.C: New test. * g++.target/riscv/rvv/base/vwsub_vx-1.C: New test. * g++.target/riscv/rvv/base/vwsub_vx-2.C: New test. * g++.target/riscv/rvv/base/vwsub_vx-3.C: New test. * g++.target/riscv/rvv/base/vwsub_vx_mu-1.C: New test. * g++.target/riscv/rvv/base/vwsub_vx_mu-2.C: New test. * g++.target/riscv/rvv/base/vwsub_vx_mu-3.C: New test. * g++.target/riscv/rvv/base/vwsub_vx_tu-1.C: New test. * g++.target/riscv/rvv/base/vwsub_vx_tu-2.C: New test. * g++.target/riscv/rvv/base/vwsub_vx_tu-3.C: New test. * g++.target/riscv/rvv/base/vwsub_vx_tum-1.C: New test. * g++.target/riscv/rvv/base/vwsub_vx_tum-2.C: New test. * g++.target/riscv/rvv/base/vwsub_vx_tum-3.C: New test. * g++.target/riscv/rvv/base/vwsub_vx_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwsub_vx_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwsub_vx_tumu-3.C: New test.
2023-02-12RISC-V: Add vwsub.w C++ api TESTSJu-Zhe Zhong30-0/+3960
gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/vwsub_wv-1.C: New test. * g++.target/riscv/rvv/base/vwsub_wv-2.C: New test. * g++.target/riscv/rvv/base/vwsub_wv-3.C: New test. * g++.target/riscv/rvv/base/vwsub_wv_mu-1.C: New test. * g++.target/riscv/rvv/base/vwsub_wv_mu-2.C: New test. * g++.target/riscv/rvv/base/vwsub_wv_mu-3.C: New test. * g++.target/riscv/rvv/base/vwsub_wv_tu-1.C: New test. * g++.target/riscv/rvv/base/vwsub_wv_tu-2.C: New test. * g++.target/riscv/rvv/base/vwsub_wv_tu-3.C: New test. * g++.target/riscv/rvv/base/vwsub_wv_tum-1.C: New test. * g++.target/riscv/rvv/base/vwsub_wv_tum-2.C: New test. * g++.target/riscv/rvv/base/vwsub_wv_tum-3.C: New test. * g++.target/riscv/rvv/base/vwsub_wv_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwsub_wv_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwsub_wv_tumu-3.C: New test. * g++.target/riscv/rvv/base/vwsub_wx-1.C: New test. * g++.target/riscv/rvv/base/vwsub_wx-2.C: New test. * g++.target/riscv/rvv/base/vwsub_wx-3.C: New test. * g++.target/riscv/rvv/base/vwsub_wx_mu-1.C: New test. * g++.target/riscv/rvv/base/vwsub_wx_mu-2.C: New test. * g++.target/riscv/rvv/base/vwsub_wx_mu-3.C: New test. * g++.target/riscv/rvv/base/vwsub_wx_tu-1.C: New test. * g++.target/riscv/rvv/base/vwsub_wx_tu-2.C: New test. * g++.target/riscv/rvv/base/vwsub_wx_tu-3.C: New test. * g++.target/riscv/rvv/base/vwsub_wx_tum-1.C: New test. * g++.target/riscv/rvv/base/vwsub_wx_tum-2.C: New test. * g++.target/riscv/rvv/base/vwsub_wx_tum-3.C: New test. * g++.target/riscv/rvv/base/vwsub_wx_tumu-1.C: New test. * g++.target/riscv/rvv/base/vwsub_wx_tumu-2.C: New test. * g++.target/riscv/rvv/base/vwsub_wx_tumu-3.C: New test.
2023-02-12RISC-V: Add vwsubu.v C++ API testJu-Zhe Zhong30-0/+3960
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.
2023-02-12RISC-V: Add vwsubu.w C++ api TETSJu-Zhe Zhong30-0/+3960
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.
2023-02-12RISC-V: Add constraint testsJu-Zhe Zhong1-0/+16
gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/binop_vx_constraint-120.c: New test.
2023-02-12RISC-V: Add vwadd.v C API testsJu-Zhe Zhong36-0/+3996
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.
2023-02-12RISC-V: Add vwadd.w C API testsJu-Zhe Zhong36-0/+3996
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.
2023-02-12RISC-V: Add vwaddu.v C API testsJu-Zhe Zhong36-0/+3996
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.
2023-02-12RISC-V: Add vwaddu.w C API testsJu-Zhe Zhong36-0/+3996
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.
2023-02-12RISC-V: Add vwcvt C API testJu-Zhe Zhong36-0/+3996
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.
2023-02-12RISC-V: Add vwmul C api testsJu-Zhe Zhong36-0/+3996
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.
2023-02-12RISC-V: Add vwmulsu C API testsJu-Zhe Zhong36-0/+3996
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.
2023-02-12RISC-V: Add vwmulu C API testsJu-Zhe Zhong36-0/+3996
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.
2023-02-12RISC-V: Add vwsub.vv C API testsJu-Zhe Zhong18-0/+1998
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.
2023-02-12RISC-V: Add vwsub.vx C API testsJu-Zhe Zhong18-0/+1998
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.
2023-02-12RISC-V: Add vwsub.wv C API testsJu-Zhe Zhong18-0/+1998
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.
2023-02-12RISC-V: Add vwsub.wx C API testsJu-Zhe Zhong18-0/+1998
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.
2023-02-12RISC-V: Add vwsubu.vv C API testsJu-Zhe Zhong18-0/+1998
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.
2023-02-12RISC-V: Add vwsubu.vx C API testsJu-Zhe Zhong18-0/+1998
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.
2023-02-12RISC-V: Add vwsubu.wx C API testsJu-Zhe Zhong18-0/+1998
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.
2023-02-12RISC-V: Add vwsubu.wx C API testsJu-Zhe Zhong18-0/+1998
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.
2023-02-12RISC-V: Add integer widening instructionsJu-Zhe Zhong12-13/+539
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.
2023-02-12RISC-V: Add vmulh.vv C++ API testsJu-Zhe Zhong15-0/+2862
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.
2023-02-12RISC-V: Add vmulh.vx C++ API testsJu-Zhe Zhong30-0/+5670
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.
2023-02-12RISC-V: Add vmulhsu.vv C++ API testsJu-Zhe Zhong15-0/+2862
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.
2023-02-12RISC-V: Add vmulhsu.vx C++ API testsJu-Zhe Zhong30-0/+5670
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.