Commit graph

198685 commits

Author SHA1 Message Date
Jonathan Yong
6995ac6f98 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>
2023-02-13 11:48:26 +00:00
Richard Sandiford
7d5a935070 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.
2023-02-13 11:38:45 +00:00
Stefan Schulze Frielinghaus
1e191d19b5 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.
2023-02-13 12:06:44 +01:00
Claudiu Zissulescu
bc5581fe32 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.
2023-02-13 11:35:15 +02:00
Martin Liska
9847c7531e docs: document new param
gcc/ChangeLog:

	* doc/invoke.texi: Document ira-simple-lra-insn-threshold.
2023-02-13 10:15:55 +01:00
Richard Biener
338739645b 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.
2023-02-13 08:26:36 +01:00
Kito Cheng
89367e7946 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.
2023-02-13 10:40:46 +08:00
GCC Administrator
22ba8570e6 Daily bump. 2023-02-13 00:18:02 +00:00
Gerald Pfeifer
74e72964b4 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.
2023-02-12 23:35:40 +01:00
Gerald Pfeifer
06ca0c9abb 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".
2023-02-12 12:37:04 +01:00
Jin Ma
52009fa79c 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.
2023-02-12 19:31:25 +08:00
Ju-Zhe Zhong
2cd7cbaf51 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.
2023-02-12 18:31:45 +08:00
Ju-Zhe Zhong
e8a0c9e9d4 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.
2023-02-12 18:31:45 +08:00
Ju-Zhe Zhong
0b1f45786f 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.
2023-02-12 18:31:45 +08:00
Ju-Zhe Zhong
2ec7533023 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.
2023-02-12 18:31:45 +08:00
Ju-Zhe Zhong
ff4d996600 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.
2023-02-12 18:31:44 +08:00
Ju-Zhe Zhong
3d65ea07b4 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.
2023-02-12 18:31:44 +08:00
Ju-Zhe Zhong
1a8c69e7ea 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.
2023-02-12 18:31:44 +08:00
Ju-Zhe Zhong
90ea2d28d4 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.
2023-02-12 18:31:44 +08:00
Ju-Zhe Zhong
0906435e2b 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.
2023-02-12 18:31:44 +08:00
Ju-Zhe Zhong
7302972bcd 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.
2023-02-12 18:31:44 +08:00
Ju-Zhe Zhong
73dea8e642 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.
2023-02-12 18:31:44 +08:00
Ju-Zhe Zhong
49e5388208 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.
2023-02-12 18:31:43 +08:00
Ju-Zhe Zhong
7326a694da 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.
2023-02-12 18:31:43 +08:00
Ju-Zhe Zhong
02b0325269 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.
2023-02-12 18:31:43 +08:00
Ju-Zhe Zhong
b7795fb143 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.
2023-02-12 18:31:43 +08:00
Ju-Zhe Zhong
e85cb86e33 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.
2023-02-12 18:31:43 +08:00
Ju-Zhe Zhong
5898e1f333 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.
2023-02-12 18:31:43 +08:00
Ju-Zhe Zhong
119e5d9aff 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.
2023-02-12 18:31:43 +08:00
Ju-Zhe Zhong
6ad0002f1e 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.
2023-02-12 18:31:43 +08:00
Ju-Zhe Zhong
4432ef4eca 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.
2023-02-12 18:31:42 +08:00
Ju-Zhe Zhong
48e24473fe 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.
2023-02-12 18:31:42 +08:00
Ju-Zhe Zhong
193a125c3f 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.
2023-02-12 18:31:42 +08:00
Ju-Zhe Zhong
1580eda6c3 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.
2023-02-12 18:31:42 +08:00
Ju-Zhe Zhong
367a01e6a0 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.
2023-02-12 18:31:42 +08:00
Ju-Zhe Zhong
c156e8d7bc 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.
2023-02-12 18:31:42 +08:00
Ju-Zhe Zhong
bbb168daec 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.
2023-02-12 18:31:41 +08:00
Ju-Zhe Zhong
5ca5ca30b6 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.
2023-02-12 18:31:41 +08:00
Ju-Zhe Zhong
4e00937ec3 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.
2023-02-12 18:31:41 +08:00
Ju-Zhe Zhong
13907f4bd2 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.
2023-02-12 18:31:41 +08:00
Ju-Zhe Zhong
71a1c2c67a 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.
2023-02-12 18:31:41 +08:00
Ju-Zhe Zhong
e09418f21d 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.
2023-02-12 18:31:41 +08:00
Gerald Pfeifer
4fd0cfd87b 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.
2023-02-12 09:58:08 +01:00
Ju-Zhe Zhong
79ef372fa4 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.
2023-02-12 15:26:33 +08:00
Ju-Zhe Zhong
9a1c81afd5 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.
2023-02-12 15:26:33 +08:00
Ju-Zhe Zhong
484ea18ffa 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.
2023-02-12 15:26:33 +08:00
Ju-Zhe Zhong
0b7dd2f479 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.
2023-02-12 15:26:33 +08:00
Ju-Zhe Zhong
c0ea34be11 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.
2023-02-12 15:26:33 +08:00
Ju-Zhe Zhong
4852c719a1 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.
2023-02-12 15:26:32 +08:00
Ju-Zhe Zhong
c129425331 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.
2023-02-12 15:26:32 +08:00