This patch updates poisoned_value_diagnostic so that, where possible,
it checks to see if the value is still poisoned along the execution
path seen during feasibility analysis, rather than just that seen
in the exploded graph.
Integration testing shows this reduction in the number of
false positives:
-Wanalyzer-use-of-uninitialized-value: 191 -> 153 (-38)
where the changes happen in:
coreutils-9.1: 34 -> 20 (-14)
qemu-7.2.0: 78 -> 54 (-24)
gcc/analyzer/ChangeLog:
PR analyzer/108664
PR analyzer/108666
PR analyzer/108725
* diagnostic-manager.cc (epath_finder::get_best_epath): Add
"target_stmt" param.
(epath_finder::explore_feasible_paths): Likewise.
(epath_finder::process_worklist_item): Likewise.
(saved_diagnostic::calc_best_epath): Pass m_stmt to
epath_finder::get_best_epath.
* engine.cc (feasibility_state::maybe_update_for_edge): Move
per-stmt logic to...
(feasibility_state::update_for_stmt): ...this new function.
* exploded-graph.h (feasibility_state::update_for_stmt): New decl.
* feasible-graph.cc (feasible_node::get_state_at_stmt): New.
* feasible-graph.h: Include "analyzer/exploded-graph.h".
(feasible_node::get_state_at_stmt): New decl.
* infinite-recursion.cc
(infinite_recursion_diagnostic::check_valid_fpath_p): Update for
vfunc signature change.
* pending-diagnostic.h (pending_diagnostic::check_valid_fpath_p):
Convert first param to a reference. Add stmt param.
* region-model.cc: Include "analyzer/feasible-graph.h".
(poisoned_value_diagnostic::poisoned_value_diagnostic): Add
"check_expr" param.
(poisoned_value_diagnostic::check_valid_fpath_p): New.
(poisoned_value_diagnostic::m_check_expr): New field.
(region_model::check_for_poison): Attempt to supply a check_expr
to the diagnostic
(region_model::deref_rvalue): Add NULL for new check_expr param
of poisoned_value_diagnostic.
(region_model::get_or_create_region_for_heap_alloc): Don't reuse
regions that are marked as TOUCHED.
gcc/testsuite/ChangeLog:
PR analyzer/108664
PR analyzer/108666
PR analyzer/108725
* gcc.dg/analyzer/coreutils-cksum-pr108664.c: New test.
* gcc.dg/analyzer/coreutils-sum-pr108666.c: New test.
* gcc.dg/analyzer/torture/uninit-pr108725.c: New test.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
The following makes sure to process blocks that follow the current
block in the iteration order in the same iteration and only postpone
blocks that would be visited earlier to the next iteration.
For the all.i testcase in PR26854 at -O2 this shaves off 50% of
the time to solve the DF RD problem, other problems also improve
but not as drastically.
PR middle-end/26854
* df-core.cc (df_worklist_propagate_forward): Put later
blocks on worklist and only earlier blocks on pending.
(df_worklist_propagate_backward): Likewise.
(df_worklist_dataflow_doublequeue): Change the iteration
to process new blocks in the same iteration if that
maintains the iteration order.
-Wdangling-pointer warns when the address of a label escapes. This
causes grief in OCaml (<https://github.com/ocaml/ocaml/issues/11358>) as
well as in the kernel:
<https://bugzilla.kernel.org/show_bug.cgi?id=215851> because it uses
#define _THIS_IP_ ({ __label__ __here; __here: (unsigned long)&&__here; })
to get the PC. -Wdangling-pointer is documented to warn about pointers
to objects. However, it uses is_auto_decl which checks DECL_P, but DECL_P
is also true for a label/enumerator/function declaration, none of which is
an object. Rather, it should use auto_var_p which correctly checks VAR_P
and PARM_DECL.
PR middle-end/106080
gcc/ChangeLog:
* gimple-ssa-warn-access.cc (is_auto_decl): Remove. Use auto_var_p
instead.
gcc/testsuite/ChangeLog:
* c-c++-common/Wdangling-pointer-10.c: New test.
* c-c++-common/Wdangling-pointer-9.c: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmacc_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tumu-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmadd_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tumu-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vnmsac_vv-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tumu-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vnmsub_vv-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tumu-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vwmacc_vv-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tumu-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vwmacc_vx-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tumu-3.C: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/ternop_vv_constraint-1.c: New test.
* gcc.target/riscv/rvv/base/ternop_vv_constraint-2.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-1.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-2.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-3.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-4.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-5.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-6.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-7.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vmacc_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tumu-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vmadd_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tumu-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vnmsac_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tumu-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vnmsub_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tumu-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vwmacc_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-3.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vwmacc_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-3.c: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmseq_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv_mu-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmseq_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_rv64-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsge_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv_mu-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsge_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_rv64-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsgt_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv_mu-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_rv64-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsle_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv_mu-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsle_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_rv64-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmslt_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv_mu-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmslt_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_rv64-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsne_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv_mu-3.C: New test.
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsne_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_rv64-3.C: New test.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/binop_vv_constraint-2.c: New test.
* gcc.target/riscv/rvv/base/binop_vv_constraint-3.c: New test.
* gcc.target/riscv/rvv/base/binop_vv_constraint-4.c: New test.
* gcc.target/riscv/rvv/base/binop_vv_constraint-5.c: New test.
* gcc.target/riscv/rvv/base/binop_vv_constraint-6.c: New test.
* gcc.target/riscv/rvv/base/binop_vv_constraint-7.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-123.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-124.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-125.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-126.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-127.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-128.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-129.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-130.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-131.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-132.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-133.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-134.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-135.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-136.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-137.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-138.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-139.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-140.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-141.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-142.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-143.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-144.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-145.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-146.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-147.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-148.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-149.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-150.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-151.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-152.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-153.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-154.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-155.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-156.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-157.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-158.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-159.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-160.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-161.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-162.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-163.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-164.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-165.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-166.c: New test.