platform/upstream/gcc.git
17 months agobuiltin-declaration-mismatch-7: fix LLP64 targets
Jonathan Yong [Sat, 11 Feb 2023 08:30:55 +0000 (08:30 +0000)]
builtin-declaration-mismatch-7: fix LLP64 targets

gcc/testsuite/ChangeLog:

* gcc.dg/Wbuiltin-declaration-mismatch-7.c: Use (long )*
regex pattern to allow long long instead of just long.

Signed-off-by: Jonathan Yong <10walls@gmail.com>
17 months agoifcvt: Fix regression in aarch64/fcsel_1.c
Richard Sandiford [Mon, 13 Feb 2023 11:38:45 +0000 (11:38 +0000)]
ifcvt: Fix regression in aarch64/fcsel_1.c

aarch64/fcsel_1.c contains:

double
f_2 (double a, double b, double c, double d)
{
  if (a > b)
    return c;
  else
    return d;
}

which started failing in the GCC 12 timeframe.  When it passed,
the RTL had the form:

[A]
  (set (reg ret) (reg c))
  (set (pc) (if_then_else (gt ...) (label_ref ret) (pc)))
    edge to ret, fallthru to else
else:
  (set (reg ret) (reg d))
    fallthru to ret
ret:
  ...exit...

i.e. a branch around.  Now the RTL has form:

[B]
  (set (reg ret) (reg d))
  (set (pc) (if_then_else (gt ...) (label_ref then) (pc)))
    edge to then, fallthru to ret
ret:
  ...exit...

then:
  (set (reg ret) (reg c))
    edge to ret

i.e. a branch out.

Both are valid, of course, and there's no easy way to predict
which we'll get.  But ifcvt canonicalises its representation on:

  if (cond) goto fallthru else goto non-fallthru

That is, it canoncalises on the branch-around case for half-diamonds.
It therefore wants to invert the comparison in [B] to get:

  if (...) goto ret else goto then

But that isn't possible for strict FP gt, so the optimisation fails.

Canonicalising on the branch-around case seems like the wrong choice for
half diamonds.  The natural way of expressing a conditional branch is
for the label_ref to be the "then" destination and pc to be the "else"
destination.  And the natural choice of condition seems to be the one
under which extra stuff *is* done, rather than the one under which extra
stuff *isn't* done.  But that decision goes back at least 20 years and
it doesn't seem like a good idea to change it in stage 4.

This patch instead allows the internal structure to store the
condition in inverted form.  For simplicity it handles only
conditional moves, which is the one case that is needed
to fix the known regression.  (There are probably unknown
regressions too, but still.)

gcc/
* ifcvt.h (noce_if_info::cond_inverted): New field.
* ifcvt.cc (cond_move_convert_if_block): Swap the then and else
values when cond_inverted is true.
(noce_find_if_block): Allow the condition to be inverted when
handling conditional moves.

17 months agoIBM zSystems: Fix predicate execute_operation
Stefan Schulze Frielinghaus [Mon, 13 Feb 2023 11:06:44 +0000 (12:06 +0100)]
IBM zSystems: Fix predicate execute_operation

Use constrain_operands in order to check whether there exists a valid
alternative instead of extract_constrain_insn which ICEs in case no
alternative is found.

gcc/ChangeLog:

* config/s390/predicates.md (execute_operation): Use
constrain_operands instead of extract_constrain_insn in order to
determine wheter there exists a valid alternative.

17 months agoarc: Don't use millicode thunks unless asked for.
Claudiu Zissulescu [Wed, 1 Feb 2023 11:02:17 +0000 (13:02 +0200)]
arc: Don't use millicode thunks unless asked for.

ARC has enter_s/leave_s instructions which can save/restore the entire
function context. It is not needed the millicode thunks anylonger when
compiling for size, thus, make their usage optional.

gcc/

* common/config/arc/arc-common.cc (arc_option_optimization_table):
Remove millicode from list.

gcc/testsuite/

* gcc.target/arc/milli-1.c: Update test.

17 months agodocs: document new param
Martin Liska [Mon, 13 Feb 2023 09:15:55 +0000 (10:15 +0100)]
docs: document new param

gcc/ChangeLog:

* doc/invoke.texi: Document ira-simple-lra-insn-threshold.

17 months agotree-optimization/106722 - fix CD-DCE edge marking
Richard Biener [Fri, 10 Feb 2023 09:28:29 +0000 (10:28 +0100)]
tree-optimization/106722 - fix CD-DCE edge marking

The following fixes a latent issue when we mark control edges but
end up with marking a block with no stmts necessary.  In this case
we fail to mark dependent control edges of that block.

PR tree-optimization/106722
* tree-ssa-dce.cc (mark_last_stmt_necessary): Return
whether we marked a stmt.
(mark_control_dependent_edges_necessary): When
mark_last_stmt_necessary didn't mark any stmt make sure
to mark its control dependent edges.
(propagate_necessity): Likewise.

* gcc.dg/torture/pr108737.c: New testcase.

17 months agoRISC-V: Handle vlenb correctly in unwinding
Kito Cheng [Fri, 21 Oct 2022 09:37:01 +0000 (17:37 +0800)]
RISC-V: Handle vlenb correctly in unwinding

gcc/ChangeLog:

* config/riscv/riscv.h (RISCV_DWARF_VLENB): New.
(DWARF_FRAME_REGISTERS): New.
(DWARF_REG_TO_UNWIND_COLUMN): New.

libgcc/ChangeLog:

* config.host (riscv*-*-*): Add config/riscv/value-unwind.h.
* config/riscv/value-unwind.h: New.

17 months agoDaily bump.
GCC Administrator [Mon, 13 Feb 2023 00:18:02 +0000 (00:18 +0000)]
Daily bump.

17 months agolibstdc++: Tweak link to N1780 (C++ standard)
Gerald Pfeifer [Sun, 12 Feb 2023 22:35:40 +0000 (23:35 +0100)]
libstdc++: Tweak link to N1780 (C++ standard)

libstdc++-v3/ChangeLog:

* doc/xml/manual/containers.xml: Tweak a link to N1780
(C++ standard).
* doc/html/manual/associative.html: Regenerate.

17 months agodoc: Remove direct reference to configure/build docs
Gerald Pfeifer [Sun, 12 Feb 2023 11:02:25 +0000 (12:02 +0100)]
doc: Remove direct reference to configure/build docs

This has been broken for years (if not forever), both when it comes
to onlinedocs and local installations.

gcc/ChangeLog:

* doc/sourcebuild.texi: Remove (broken) direct reference to
"The GNU configure and build system".

17 months agoRISC-V: Change the generation mode of ADJUST_SP_RTX from gen_insn to gen_SET.
Jin Ma [Fri, 3 Feb 2023 09:42:59 +0000 (17:42 +0800)]
RISC-V: Change the generation mode of ADJUST_SP_RTX from gen_insn to gen_SET.

The gen_insn method is used to generate ADJUST_SP_RTX here, which has certain
potential risks:

When the architecture adds pre-processing to `define_insn "adddi3"`, such as
`define_expend "adddi3"`, the gen_expand will be automatically called here,
causing the patern to emit directly, which will cause insn to enter REG_NOTE
for `DWARF` instead of patern.

The following error REG_NOTE occurred:
error: invalid rtl sharing found in the insn:
(insn 19 3 20 2 (parallel [
        ...
        ])
    (expr_list:REG_CFA_ADJUST_CFA
        (insn 18 0 0 (set (reg/f:DI 2 sp)
            (plus:DI (reg/f:DI 2 sp)
                (const_int -16 [0xfffffffffffffff0]))) -1
        (nil))))

In fact, the correct one should be the following:
(insn 19 3 20 2 (parallel [
        ...
        ])
    (expr_list:REG_CFA_ADJUST_CFA
        (set (reg/f:DI 2 sp)
            (plus:DI (reg/f:DI 2 sp)
                (const_int -16 [0xfffffffffffffff0])))))

Following the treatment of arm or other architectures, it is more reasonable to
use gen_SET here.

gcc/ChangeLog:

* config/riscv/riscv.cc (riscv_adjust_libcall_cfi_prologue): Change
gen_add3_insn to gen_rtx_SET.
(riscv_adjust_libcall_cfi_epilogue): Likewise.

17 months agoRISC-V: Add vaadd.vv C++ API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 07:03:14 +0000 (15:03 +0800)]
RISC-V: Add vaadd.vv C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vaadd_vv-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vv_tumu-3.C: New test.

17 months agoRISC-V: Add vaadd.vx C++ API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 07:02:13 +0000 (15:02 +0800)]
RISC-V: Add vaadd.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vaadd_vx_tumu_rv64-3.C: New test.

17 months agoRISC-V: Add vaaddu.vv C++ api tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 07:00:55 +0000 (15:00 +0800)]
RISC-V: Add vaaddu.vv C++ api tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vaaddu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vv_tumu-3.C: New test.

17 months agoRISC-V: Add vaaddu.vx C++ Api tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:59:45 +0000 (14:59 +0800)]
RISC-V: Add vaaddu.vx C++ Api tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-3.C: New test.

17 months agoRISC-V: Add vasub.vv C++ api tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:58:40 +0000 (14:58 +0800)]
RISC-V: Add vasub.vv C++ api tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vasub_vv-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vv-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vv-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vv_tumu-3.C: New test.

17 months agoRISC-V: Add vasub.vx C++ API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:57:30 +0000 (14:57 +0800)]
RISC-V: Add vasub.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vasub_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vasub_vx_tumu_rv64-3.C: New test.

17 months agoRISC-V: Add vasubu.vv C++ API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:56:15 +0000 (14:56 +0800)]
RISC-V: Add vasubu.vv C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vasubu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vv_tumu-3.C: New test.

17 months agoRISC-V: Add vasubu.vx C++ API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:55:02 +0000 (14:55 +0800)]
RISC-V: Add vasubu.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vasubu_vx_tumu_rv64-3.C: New test.

17 months agoRISC-V: Add vnclip C++ API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:53:44 +0000 (14:53 +0800)]
RISC-V: Add vnclip C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vnclip_vv-1.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv-2.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv-3.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnclip_vv_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx-1.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx-2.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx-3.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnclip_vx_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vv_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx-1.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx-2.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx-3.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnclipu_vx_tumu-3.C: New test.

17 months agoRISC-V: Add vsmul.vv C++ API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:52:32 +0000 (14:52 +0800)]
RISC-V: Add vsmul.vv C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vsmul_vv-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vv_tumu-3.C: New test.

17 months agoRISC-V: Add vsmul.vx C++ API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:51:18 +0000 (14:51 +0800)]
RISC-V: Add vsmul.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tumu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vsmul_vx_tumu_rv64-3.C: New test.

17 months agoRISC-V: Add vssra.vv C++ API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:50:17 +0000 (14:50 +0800)]
RISC-V: Add vssra.vv C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vssra_vv-1.C: New test.
* g++.target/riscv/rvv/base/vssra_vv-2.C: New test.
* g++.target/riscv/rvv/base/vssra_vv-3.C: New test.
* g++.target/riscv/rvv/base/vssra_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vssra_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vssra_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vssra_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vssra_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vssra_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vssra_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vssra_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vssra_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vssra_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vssra_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vssra_vv_tumu-3.C: New test.

17 months agoRISC-V: Add vssra.vx C++ API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:49:07 +0000 (14:49 +0800)]
RISC-V: Add vssra.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vssra_vx-1.C: New test.
* g++.target/riscv/rvv/base/vssra_vx-2.C: New test.
* g++.target/riscv/rvv/base/vssra_vx-3.C: New test.
* g++.target/riscv/rvv/base/vssra_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vssra_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vssra_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vssra_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vssra_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vssra_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vssra_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vssra_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vssra_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vssra_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vssra_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vssra_vx_tumu-3.C: New test.

17 months agoRISC-V: Add vssrl.vv C++ API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:47:58 +0000 (14:47 +0800)]
RISC-V: Add vssrl.vv C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vssrl_vv-1.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv-2.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv-3.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vssrl_vv_tumu-3.C: New test.

17 months agoRISC-V: Add vssrl.vx C++ API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:46:34 +0000 (14:46 +0800)]
RISC-V: Add vssrl.vx C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vssrl_vx-1.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx-2.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx-3.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vssrl_vx_tumu-3.C: New test.

17 months agoRISC-V: Add vaadd.vv C api tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:45:16 +0000 (14:45 +0800)]
RISC-V: Add vaadd.vv C api tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/binop_vx_constraint-122.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vv_tumu-3.c: New test.

17 months agoRISC-V: Add vaadd.vx C api tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:43:56 +0000 (14:43 +0800)]
RISC-V: Add vaadd.vx C api tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vaadd_vx_tumu_rv64-3.c: New test.

17 months agoRISC-V: Add vaaddu.vv C api tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:42:48 +0000 (14:42 +0800)]
RISC-V: Add vaaddu.vv C api tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vaaddu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vv_tumu-3.c: New test.

17 months agoRISC-V: Add vaaddu.vx C API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:41:41 +0000 (14:41 +0800)]
RISC-V: Add vaaddu.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vaaddu_vx_tumu_rv64-3.c: New test.

17 months agoRISC-V: Add vasub.vv C API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:38:22 +0000 (14:38 +0800)]
RISC-V: Add vasub.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vasub_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vv_tumu-3.c: New test.

17 months agoRISC-V: Add vasub.vx C API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:37:01 +0000 (14:37 +0800)]
RISC-V: Add vasub.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vasub_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vasub_vx_tumu_rv64-3.c: New test.

17 months agoRISC-V: Add vasubu.vv C API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:35:47 +0000 (14:35 +0800)]
RISC-V: Add vasubu.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vasubu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vv_tumu-3.c: New test.

17 months agoRISC-V: Add vasubu.vx C API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:34:26 +0000 (14:34 +0800)]
RISC-V: Add vasubu.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vasubu_vx_tumu_rv64-3.c: New test.

17 months agoRISC-V: Add vnclip C API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:32:58 +0000 (14:32 +0800)]
RISC-V: Add vnclip C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vnclip_wv-1.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv-2.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv-3.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx-1.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx-2.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx-3.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vnclip_wx_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv-1.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv-2.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv-3.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx-1.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx-2.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx-3.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vnclipu_wx_tumu-3.c: New test.

17 months agoRISC-V: Add vsmul.vv C API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:31:47 +0000 (14:31 +0800)]
RISC-V: Add vsmul.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vsmul_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vv_tumu-3.c: New test.

17 months agoRISC-V: Add vsmul.vx C API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:30:32 +0000 (14:30 +0800)]
RISC-V: Add vsmul.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vsmul_vx_tumu_rv64-3.c: New test.

17 months agoRISC-V: Add vssra.vv C API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:29:21 +0000 (14:29 +0800)]
RISC-V: Add vssra.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vssra_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vssra_vv_tumu-3.c: New test.

17 months agoRISC-V: Add vssra.vx C API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:27:38 +0000 (14:27 +0800)]
RISC-V: Add vssra.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vssra_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vssra_vx_tumu-3.c: New test.

17 months agoRISC-V: Add vssrl.vv C API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:26:07 +0000 (14:26 +0800)]
RISC-V: Add vssrl.vv C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vssrl_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vv_tumu-3.c: New test.

17 months agoRISC-V: Add vssrl.vx C API tests
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:24:46 +0000 (14:24 +0800)]
RISC-V: Add vssrl.vx C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vssrl_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vssrl_vx_tumu-3.c: New test.

17 months agoRISC-V: Add fixed-point support
Ju-Zhe Zhong [Fri, 10 Feb 2023 06:21:31 +0000 (14:21 +0800)]
RISC-V: Add fixed-point support

gcc/ChangeLog:

* config/riscv/riscv-vector-builtins-bases.cc (class sat_op): New class.
(class vnclip): Ditto.
(BASE): Ditto.
* config/riscv/riscv-vector-builtins-bases.h: Ditto.
* config/riscv/riscv-vector-builtins-functions.def (vaadd): Ditto.
(vasub): Ditto.
(vaaddu): Ditto.
(vasubu): Ditto.
(vsmul): Ditto.
(vssra): Ditto.
(vssrl): Ditto.
(vnclipu): Ditto.
(vnclip): Ditto.
* config/riscv/vector-iterators.md (su): Add instruction.
(aadd): Ditto.
(vaalu): Ditto.
* config/riscv/vector.md (@pred_<sat_op><mode>): New pattern.
(@pred_<sat_op><mode>_scalar): Ditto.
(*pred_<sat_op><mode>_scalar): Ditto.
(*pred_<sat_op><mode>_extended_scalar): Ditto.
(@pred_narrow_clip<v_su><mode>): Ditto.
(@pred_narrow_clip<v_su><mode>_scalar): Ditto.

17 months agolibstdc++: Change www.unix.org to unix.org
Gerald Pfeifer [Sat, 11 Feb 2023 14:58:15 +0000 (15:58 +0100)]
libstdc++: Change www.unix.org to unix.org

www.unix.org now redirects to unix.org.

libstdc++-v3/ChangeLog:

* doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
* doc/html/manual/facets.html: Regenerate.

17 months agoRISC-V: Add vmerge C++ API test
Ju-Zhe Zhong [Thu, 9 Feb 2023 22:02:14 +0000 (06:02 +0800)]
RISC-V: Add vmerge C++ API test

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vmerge_vvm-1.C: New test.
* g++.target/riscv/rvv/base/vmerge_vvm-2.C: New test.
* g++.target/riscv/rvv/base/vmerge_vvm-3.C: New test.
* g++.target/riscv/rvv/base/vmerge_vvm-4.C: New test.
* g++.target/riscv/rvv/base/vmerge_vvm-5.C: New test.
* g++.target/riscv/rvv/base/vmerge_vvm-6.C: New test.
* g++.target/riscv/rvv/base/vmerge_vvm_tu-1.C: New test.
* g++.target/riscv/rvv/base/vmerge_vvm_tu-2.C: New test.
* g++.target/riscv/rvv/base/vmerge_vvm_tu-3.C: New test.
* g++.target/riscv/rvv/base/vmerge_vvm_tu-4.C: New test.
* g++.target/riscv/rvv/base/vmerge_vvm_tu-5.C: New test.
* g++.target/riscv/rvv/base/vmerge_vvm_tu-6.C: New test.
* g++.target/riscv/rvv/base/vmerge_vxm_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmerge_vxm_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmerge_vxm_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmerge_vxm_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmerge_vxm_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmerge_vxm_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmerge_vxm_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmerge_vxm_tu_rv64-3.C: New test.

17 months agoRISC-V: Add vncvt/vmv C++ API tests
Ju-Zhe Zhong [Thu, 9 Feb 2023 22:01:03 +0000 (06:01 +0800)]
RISC-V: Add vncvt/vmv C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vmv_v-1.C: New test.
* g++.target/riscv/rvv/base/vmv_v_tu-1.C: New test.
* g++.target/riscv/rvv/base/vmv_v_x_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmv_v_x_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmv_v_x_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmv_v_x_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmv_v_x_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmv_v_x_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vncvt_x-1.C: New test.
* g++.target/riscv/rvv/base/vncvt_x-2.C: New test.
* g++.target/riscv/rvv/base/vncvt_x-3.C: New test.
* g++.target/riscv/rvv/base/vncvt_x_mu-1.C: New test.
* g++.target/riscv/rvv/base/vncvt_x_mu-2.C: New test.
* g++.target/riscv/rvv/base/vncvt_x_mu-3.C: New test.
* g++.target/riscv/rvv/base/vncvt_x_tu-1.C: New test.
* g++.target/riscv/rvv/base/vncvt_x_tu-2.C: New test.
* g++.target/riscv/rvv/base/vncvt_x_tu-3.C: New test.
* g++.target/riscv/rvv/base/vncvt_x_tum-1.C: New test.
* g++.target/riscv/rvv/base/vncvt_x_tum-2.C: New test.
* g++.target/riscv/rvv/base/vncvt_x_tum-3.C: New test.
* g++.target/riscv/rvv/base/vncvt_x_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vncvt_x_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vncvt_x_tumu-3.C: New test.

17 months agoRISC-V: Add vnsra C++ API tests
Ju-Zhe Zhong [Thu, 9 Feb 2023 21:59:43 +0000 (05:59 +0800)]
RISC-V: Add vnsra C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vnsra_vv-1.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv-2.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv-3.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnsra_vv_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx-1.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx-2.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx-3.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnsra_vx_tumu-3.C: New test.

17 months agoRISC-V: Add vnsrl C++ API tests
Ju-Zhe Zhong [Thu, 9 Feb 2023 21:58:35 +0000 (05:58 +0800)]
RISC-V: Add vnsrl C++ API tests

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/vnsrl_vv-1.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv-2.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv-3.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vv_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx-1.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx-2.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx-3.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnsrl_vx_tumu-3.C: New test.

17 months agoRISC-V: Add vmerge C API tests
Ju-Zhe Zhong [Thu, 9 Feb 2023 21:57:13 +0000 (05:57 +0800)]
RISC-V: Add vmerge C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vmerge-1.c: New test.
* gcc.target/riscv/rvv/base/vmerge-2.c: New test.
* gcc.target/riscv/rvv/base/vmerge-3.c: New test.
* gcc.target/riscv/rvv/base/vmerge-4.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vvm-1.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vvm-2.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vvm-3.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vvm-4.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vvm-5.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vvm-6.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vvm_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vvm_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vvm_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vvm_tu-4.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vvm_tu-5.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vvm_tu-6.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vxm_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vxm_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vxm_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vxm_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vxm_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vxm_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmerge_vxm_tu_rv64-3.c: New test.

17 months agoRISC-V: Add vmv.v.x C API tests
Ju-Zhe Zhong [Thu, 9 Feb 2023 21:56:12 +0000 (05:56 +0800)]
RISC-V: Add vmv.v.x C API tests

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/vmv_v_x_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmv_v_x_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmv_v_x_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmv_v_x_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmv_v_x_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmv_v_x_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmv_v_x_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmv_v_x_tu_rv64-3.c: New test.

17 months agoRISC-V: Add vmv C API tests
Ju-Zhe Zhong [Thu, 9 Feb 2023 21:55:02 +0000 (05:55 +0800)]
RISC-V: Add vmv C API tests

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.

17 months agoRISC-V: Add vncvt C API tests
Ju-Zhe Zhong [Thu, 9 Feb 2023 21:53:54 +0000 (05:53 +0800)]
RISC-V: Add vncvt C API tests

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.

17 months agoRISC-V: Add vnsra C API tests
Ju-Zhe Zhong [Thu, 9 Feb 2023 21:52:41 +0000 (05:52 +0800)]
RISC-V: Add vnsra C API tests

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.

17 months agoRISC-V: Add vnsrl C API tests
Ju-Zhe Zhong [Thu, 9 Feb 2023 21:50:19 +0000 (05:50 +0800)]
RISC-V: Add vnsrl C API tests

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.

17 months agoRISC-V: Add vnsrl/vnsra/vncvt/vmerge/vmv C/C++ support
Ju-Zhe Zhong [Thu, 9 Feb 2023 21:45:44 +0000 (05:45 +0800)]
RISC-V: Add vnsrl/vnsra/vncvt/vmerge/vmv C/C++ support

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.

17 months agoRISC-V: Add vmsbc C++ API tests
Ju-Zhe Zhong [Wed, 8 Feb 2023 20:58:37 +0000 (04:58 +0800)]
RISC-V: Add vmsbc C++ API tests

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.

17 months agoRISC-V: Add vmadc C++ API tests
Ju-Zhe Zhong [Wed, 8 Feb 2023 20:57:26 +0000 (04:57 +0800)]
RISC-V: Add vmadc C++ API tests

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.

17 months agoRISC-V: Add vmsbc C API tests
Ju-Zhe Zhong [Wed, 8 Feb 2023 20:56:15 +0000 (04:56 +0800)]
RISC-V: Add vmsbc C API tests

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.

17 months agoRISC-V: Add vmadc C API tests
Ju-Zhe Zhong [Wed, 8 Feb 2023 20:54:48 +0000 (04:54 +0800)]
RISC-V: Add vmadc C API tests

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.

17 months agoRISC-V: Add vmadc/vmsbc C/C++ API support
Ju-Zhe Zhong [Wed, 8 Feb 2023 20:52:36 +0000 (04:52 +0800)]
RISC-V: Add vmadc/vmsbc C/C++ API support

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.

17 months agoRISC-V: Add vadc C++ API tests
Ju-Zhe Zhong [Wed, 8 Feb 2023 02:47:25 +0000 (10:47 +0800)]
RISC-V: Add vadc C++ API tests

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.

17 months agoRISC-V: Add vsbc C++ API tests
Ju-Zhe Zhong [Wed, 8 Feb 2023 02:49:10 +0000 (10:49 +0800)]
RISC-V: Add vsbc C++ API tests

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.

17 months agoRISC-V: Add vsbc.vvm/vsbc.vxm C API tests
Ju-Zhe Zhong [Wed, 8 Feb 2023 02:34:30 +0000 (10:34 +0800)]
RISC-V: Add vsbc.vvm/vsbc.vxm C API tests

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.

17 months agoRISC-V: Add vadc.vvm/vadc.vxm C API tests
Ju-Zhe Zhong [Wed, 8 Feb 2023 02:32:29 +0000 (10:32 +0800)]
RISC-V: Add vadc.vvm/vadc.vxm C API tests

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.

17 months agoRISC-V: Add vadc/vsbc C/C++ API support
Ju-Zhe Zhong [Wed, 8 Feb 2023 02:30:24 +0000 (10:30 +0800)]
RISC-V: Add vadc/vsbc C/C++ API support

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.

17 months agoRISC-V: allow vx instruction use "zero" as scalar register.
Ju-Zhe Zhong [Tue, 7 Feb 2023 07:49:16 +0000 (15:49 +0800)]
RISC-V: allow vx instruction use "zero" as scalar register.

  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.

17 months agoRISC-V: Add vwadd v C++ api test
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:54:25 +0000 (14:54 +0800)]
RISC-V: Add vwadd v C++ api test

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.

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

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.

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

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.

17 months agoRISC-V: Add vwaddu.w c++ API TESTS
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:50:45 +0000 (14:50 +0800)]
RISC-V: Add vwaddu.w c++ API TESTS

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.

17 months agoRISC-V: Add vwcvt C++ api test
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:49:13 +0000 (14:49 +0800)]
RISC-V: Add vwcvt C++ api test

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.

17 months agoRISC-V: Add vwmul.v C++ api TETS
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:48:05 +0000 (14:48 +0800)]
RISC-V: Add vwmul.v C++ api TETS

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.

17 months agoRISC-V: Add vwmulsu.v C++ API tests
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:46:48 +0000 (14:46 +0800)]
RISC-V: Add vwmulsu.v C++ API tests

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.

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

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.

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

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.

17 months agoRISC-V: Add vwsub.w C++ api TESTS
Ju-Zhe Zhong [Tue, 7 Feb 2023 06:43:05 +0000 (14:43 +0800)]
RISC-V: Add vwsub.w C++ api TESTS

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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.

17 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.