]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Thu, 16 Feb 2023 00:18:19 +0000 (00:18 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Thu, 16 Feb 2023 00:18:19 +0000 (00:18 +0000)
gcc/ChangeLog
gcc/DATESTAMP
gcc/analyzer/ChangeLog
gcc/fortran/ChangeLog
gcc/testsuite/ChangeLog
libgomp/ChangeLog

index a7a9106c9c42ff58a8687c17c7806ace1bda6424..e55dccebc4ab5100b45b81c4dd84981d8d5960ff 100644 (file)
@@ -1,3 +1,219 @@
+2023-02-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/90458
+       * config/i386/i386.cc (ix86_compute_frame_layout): Disable the
+       effects of -fstack-clash-protection for TARGET_STACK_PROBE.
+       (ix86_expand_prologue): Likewise.
+
+2023-02-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+       * config/bpf/bpf.cc (bpf_option_override): Fix doubled space.
+
+2023-02-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*cmpqi_ext<mode>_1): Use
+       int248_register_operand predicate in zero_extract sub-RTX.
+       (*cmpqi_ext<mode>_2): Ditto.
+       (*cmpqi_ext<mode>_3): Ditto.
+       (*cmpqi_ext<mode>_4): Ditto.
+       (*extzvqi_mem_rex64): Ditto.
+       (*extzvqi): Ditto.
+       (*insvqi_1_mem_rex64): Ditto.
+       (@insv<mode>_1): Ditto.
+       (*insvqi_1): Ditto.
+       (*insvqi_2): Ditto.
+       (*insvqi_3): Ditto.
+       (*extendqi<SWI24:mode>_ext_1): Ditto.
+       (*addqi_ext<mode>_1): Ditto.
+       (*addqi_ext<mode>_2): Ditto.
+       (*subqi_ext<mode>_2): Ditto.
+       (*testqi_ext<mode>_1): Ditto.
+       (*testqi_ext<mode>_2): Ditto.
+       (*andqi_ext<mode>_1): Ditto.
+       (*andqi_ext<mode>_1_cc): Ditto.
+       (*andqi_ext<mode>_2): Ditto.
+       (*<any_or:code>qi_ext<mode>_1): Ditto.
+       (*<any_or:code>qi_ext<mode>_2): Ditto.
+       (*xorqi_ext<mode>_1_cc): Ditto.
+       (*negqi_ext<mode>_2): Ditto.
+       (*ashlqi_ext<mode>_2): Ditto.
+       (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
+
+2023-02-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/predicates.md (int248_register_operand):
+       Rename from extr_register_operand.
+       * config/i386/i386.md (*extv<mode>): Update for renamed predicate.
+       (*extzx<mode>): Ditto.
+       (*ashl<dwi>3_doubleword_mask): Use int248_register_operand predicate.
+       (*ashl<mode>3_mask): Ditto.
+       (*<any_shiftrt:insn><mode>3_mask): Ditto.
+       (*<any_shiftrt:insn><dwi>3_doubleword_mask): Ditto.
+       (*<any_rotate:insn><mode>3_mask): Ditto.
+       (*<btsc><mode>_mask): Ditto.
+       (*btr<mode>_mask): Ditto.
+       (*jcc_bt<mode>_mask_1): Ditto.
+
+2023-02-15  Richard Biener  <rguenther@suse.de>
+
+       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.
+
+2023-02-15  Marek Polacek  <polacek@redhat.com>
+
+       PR middle-end/106080
+       * gimple-ssa-warn-access.cc (is_auto_decl): Remove.  Use auto_var_p
+       instead.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * config/riscv/predicates.md: Refine codes.
+       * config/riscv/riscv-protos.h (RVV_VUNDEF): New macro.
+       * config/riscv/riscv-v.cc: Refine codes.
+       * config/riscv/riscv-vector-builtins-bases.cc (enum ternop_type): New
+       enum.
+       (class imac): New class.
+       (enum widen_ternop_type): New enum.
+       (class iwmac): New class.
+       (BASE): New class.
+       * config/riscv/riscv-vector-builtins-bases.h: Ditto.
+       * config/riscv/riscv-vector-builtins-functions.def (vmacc): Ditto.
+       (vnmsac): Ditto.
+       (vmadd): Ditto.
+       (vnmsub): Ditto.
+       (vwmacc): Ditto.
+       (vwmaccu): Ditto.
+       (vwmaccsu): Ditto.
+       (vwmaccus): Ditto.
+       * config/riscv/riscv-vector-builtins.cc
+       (function_builder::apply_predication): Adjust for multiply-add support.
+       (function_expander::add_vundef_operand): Refine codes.
+       (function_expander::use_ternop_insn): New function.
+       (function_expander::use_widen_ternop_insn): Ditto.
+       * config/riscv/riscv-vector-builtins.h: New function.
+       * config/riscv/vector.md (@pred_mul_<optab><mode>): New pattern.
+       (pred_mul_<optab><mode>_undef_merge): Ditto.
+       (*pred_<madd_nmsub><mode>): Ditto.
+       (*pred_<macc_nmsac><mode>): Ditto.
+       (*pred_mul_<optab><mode>): Ditto.
+       (@pred_mul_<optab><mode>_scalar): Ditto.
+       (*pred_mul_<optab><mode>_undef_merge_scalar): Ditto.
+       (*pred_<madd_nmsub><mode>_scalar): Ditto.
+       (*pred_<macc_nmsac><mode>_scalar): Ditto.
+       (*pred_mul_<optab><mode>_scalar): Ditto.
+       (*pred_mul_<optab><mode>_undef_merge_extended_scalar): Ditto.
+       (*pred_<madd_nmsub><mode>_extended_scalar): Ditto.
+       (*pred_<macc_nmsac><mode>_extended_scalar): Ditto.
+       (*pred_mul_<optab><mode>_extended_scalar): Ditto.
+       (@pred_widen_mul_plus<su><mode>): Ditto.
+       (@pred_widen_mul_plus<su><mode>_scalar): Ditto.
+       (@pred_widen_mul_plussu<mode>): Ditto.
+       (@pred_widen_mul_plussu<mode>_scalar): Ditto.
+       (@pred_widen_mul_plusus<mode>_scalar): Ditto.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * config/riscv/predicates.md (vector_mask_operand): Refine the codes.
+       (vector_all_trues_mask_operand): New predicate.
+       (vector_undef_operand): New predicate.
+       (ltge_operator): New predicate.
+       (comparison_except_ltge_operator): New predicate.
+       (comparison_except_eqge_operator): New predicate.
+       (ge_operator): New predicate.
+       * config/riscv/riscv-v.cc (has_vi_variant_p): Add compare support.
+       * config/riscv/riscv-vector-builtins-bases.cc (class icmp): New class.
+       (BASE): Ditto.
+       * config/riscv/riscv-vector-builtins-bases.h: Ditto.
+       * config/riscv/riscv-vector-builtins-functions.def (vmseq): Ditto.
+       (vmsne): Ditto.
+       (vmslt): Ditto.
+       (vmsgt): Ditto.
+       (vmsle): Ditto.
+       (vmsge): Ditto.
+       (vmsltu): Ditto.
+       (vmsgtu): Ditto.
+       (vmsleu): Ditto.
+       (vmsgeu): Ditto.
+       * config/riscv/riscv-vector-builtins-shapes.cc
+       (struct return_mask_def): Adjust for compare support.
+       * config/riscv/riscv-vector-builtins.cc
+       (function_expander::use_compare_insn): New function.
+       * config/riscv/riscv-vector-builtins.h
+       (function_expander::add_integer_operand): Ditto.
+       * config/riscv/riscv.cc (riscv_print_operand): Add compare support.
+       * config/riscv/riscv.md: Add vector min/max attributes.
+       * config/riscv/vector-iterators.md (xnor): New iterator.
+       * config/riscv/vector.md (@pred_cmp<mode>): New pattern.
+       (*pred_cmp<mode>): Ditto.
+       (*pred_cmp<mode>_narrow): Ditto.
+       (@pred_ltge<mode>): Ditto.
+       (*pred_ltge<mode>): Ditto.
+       (*pred_ltge<mode>_narrow): Ditto.
+       (@pred_cmp<mode>_scalar): Ditto.
+       (*pred_cmp<mode>_scalar): Ditto.
+       (*pred_cmp<mode>_scalar_narrow): Ditto.
+       (@pred_eqne<mode>_scalar): Ditto.
+       (*pred_eqne<mode>_scalar): Ditto.
+       (*pred_eqne<mode>_scalar_narrow): Ditto.
+       (*pred_cmp<mode>_extended_scalar): Ditto.
+       (*pred_cmp<mode>_extended_scalar_narrow): Ditto.
+       (*pred_eqne<mode>_extended_scalar): Ditto.
+       (*pred_eqne<mode>_extended_scalar_narrow): Ditto.
+       (@pred_ge<mode>_scalar): Ditto.
+       (@pred_<optab><mode>): Ditto.
+       (@pred_n<optab><mode>): Ditto.
+       (@pred_<optab>n<mode>): Ditto.
+       (@pred_not<mode>): Ditto.
+
+2023-02-15  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/108679
+       * ipa-sra.cc (push_param_adjustments_for_index): Do not omit
+       creation of non-scalar replacements even if IPA-CP knows their
+       contents.
+
+2023-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/108787
+       PR target/103109
+       * config/rs6000/rs6000.md (<u>maddditi4): Change into umaddditi4 only
+       expander, change operand 3 to be TImode, emit maddlddi4 and
+       umadddi4_highpart{,_le} with its low half and finally add the high
+       half to the result.
+
+2023-02-15  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Document --param=asan-kernel-mem-intrinsic-prefix.
+
+2023-02-15  Richard Biener  <rguenther@suse.de>
+
+       * sanopt.cc (sanitize_asan_mark_unpoison): Use bitmap
+       for with_poison and alias worklist to it.
+       (sanitize_asan_mark_poison): Likewise.
+
+2023-02-15  Richard Biener  <rguenther@suse.de>
+
+       PR target/108738
+       * config/i386/i386-features.cc (scalar_chain::add_to_queue):
+       Combine bitmap test and set.
+       (scalar_chain::add_insn): Likewise.
+       (scalar_chain::analyze_register_chain): Remove redundant
+       attempt to add to queue and instead strengthen assert.
+       Sink common attempts to mark the def dual-mode.
+       (scalar_chain::add_to_queue): Remove redundant insn bitmap
+       check.
+
+2023-02-15  Richard Biener  <rguenther@suse.de>
+
+       PR target/108738
+       * config/i386/i386-features.cc (convert_scalars_to_vector):
+       Switch candidates bitmaps to tree view before building the chains.
+
 2023-02-15  Hans-Peter Nilsson  <hp@axis.com>
 
        * reload1.cc (gen_reload): Correct rtx parameter for fatal_insn
index 7926761744998f8cd40b59a871f893a7c3c61306..22d2daa87bab5852baa49ac900dfa5c87901fa8b 100644 (file)
@@ -1 +1 @@
-20230215
+20230216
index 5dee58ddbec24b90e7c3e35e8d1dde1c81e1cc77..7c135d44037ce8eb1877b59848b8f1d3184cb91a 100644 (file)
@@ -1,3 +1,38 @@
+2023-02-15  David Malcolm  <dmalcolm@redhat.com>
+
+       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.
+
 2023-02-10  David Malcolm  <dmalcolm@redhat.com>
 
        PR analyzer/108745
index ca193a597c80a436be1d0c89d14d790b6eeb9665..3547035c98be399c42d54cc7e54e40f51b882ac1 100644 (file)
@@ -1,3 +1,26 @@
+2023-02-15  Steve Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/103608
+       * frontend-passes.cc (do_intent): Catch NULL pointer dereference on
+       reference to invalid formal argument.
+
+2023-02-15  Steve Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/104554
+       * resolve.cc (check_assumed_size_reference): Avoid NULL pointer
+       dereference.
+
+2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/108512
+       * openmp.cc (gfc_resolve_omp_parallel_blocks): Handle combined 'loop'
+       directives.
+       (gfc_resolve_do_iterator): Set a source location for added
+       'private'-clause arguments.
+       * resolve.cc (gfc_resolve_code): Call gfc_resolve_omp_do_blocks
+       also for EXEC_OMP_LOOP and gfc_resolve_omp_parallel_blocks for
+       combined directives with loop + '{masked,master} taskloop (simd)'.
+
 2023-02-13  Harald Anlauf  <anlauf@gmx.de>
 
        PR fortran/103475
index 31763804500d3417ef515b2ba7d6459d83542615..1b285d236b0ed5a65e984659d7d13caf57dcc749 100644 (file)
+2023-02-15  Steve Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/103608
+       * gfortran.dg/pr103608.f90: New test.
+
+2023-02-15  Steve Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/104554
+       * gfortran.dg/pr104554.f90: New test.
+
+2023-02-15  David Malcolm  <dmalcolm@redhat.com>
+
+       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.
+
+2023-02-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * g++.target/i386/empty-class2.C (dg-additional-options): Remove.
+       * gcc.target/i386/avx512fp16-reduce-op-2.c: Ditto.
+       * gcc.target/i386/pr99464.c: Ditto.
+       * gcc.target/i386/pr103541.c (dg-do): Compile for !ia32 target.
+       * gcc.target/i386/pr108774.c (dg-do): Compile for lp64 target.
+       * gcc.target/i386/pr85593.c (dg-do): Run for *-*-linux* target.
+       * gcc.target/i386/pr98063.c: Ditto.
+       * gcc.target/i386/pr90007.c (dg-do): Remove target selector.
+       * gcc.target/i386/pr92841-2.c (dg-do): Remove unneeded curly braces.
+       * gcc.target/i386/pr95464.c: Ditto.
+       * gcc.target/i386/pr99530-1.c (dg-do): Compile for *-*-linux* target.
+       * gcc.target/i386/pr99530-2.c: Ditto.
+       * gcc.target/i386/pr99530-3.c: Ditto.
+       * gcc.target/i386/pr99530-4.c: Ditto.
+       * gcc.target/i386/pr99530-5.c: Ditto.
+       * gcc.target/i386/pr99530-6.c: Ditto.
+       * gcc.target/i386/pr99531.c (dg-do): Compile for !ia32 target.
+
+2023-02-15  Marek Polacek  <polacek@redhat.com>
+
+       PR middle-end/106080
+       * c-c++-common/Wdangling-pointer-10.c: New test.
+       * c-c++-common/Wdangling-pointer-9.c: New test.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * 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.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * gcc.target/riscv/rvv/base/vmseq_vv-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vv-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vv-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vv_m-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vv_m-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vv_m-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vv_mu-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vv_mu-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vv_mu-3.c: New test.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_m_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_m_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_mu_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmseq_vx_rv64-3.c: New test.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * gcc.target/riscv/rvv/base/vmsge_vv-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vv-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vv-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vv_m-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vv_m-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vv_m-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vv_mu-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vv_mu-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vv_mu-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vv-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vv-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vv-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vv_m-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vv_m-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vv_m-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vv_mu-3.c: New test.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_m_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_m_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_mu_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsge_vx_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_m_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgeu_vx_rv64-3.c: New test.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * gcc.target/riscv/rvv/base/vmsgt_vv-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vv-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vv-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vv_m-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vv_m-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vv_m-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vv_mu-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vv_mu-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vv_mu-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vv-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vv-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vv-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vv_m-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vv_m-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vv_m-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vv_mu-3.c: New test.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_m_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_mu_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgt_vx_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_m_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsgtu_vx_rv64-3.c: New test.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * gcc.target/riscv/rvv/base/vmsle_vv-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vv-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vv-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vv_m-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vv_m-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vv_m-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vv_mu-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vv_mu-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vv_mu-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vv-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vv-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vv-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vv_m-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vv_m-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vv_m-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vv_mu-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vv_mu-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vv_mu-3.c: New test.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_m_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_m_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_mu_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsle_vx_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_m_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_mu_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsleu_vx_rv64-3.c: New test.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * gcc.target/riscv/rvv/base/vmslt_vv-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vv-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vv-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vv_m-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vv_m-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vv_m-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vv_mu-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vv_mu-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vv_mu-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vv-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vv-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vv-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vv_m-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vv_m-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vv_m-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vv_mu-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vv_mu-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vv_mu-3.c: New test.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_m_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_m_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_mu_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmslt_vx_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_m_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_mu_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsltu_vx_rv64-3.c: New test.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * gcc.target/riscv/rvv/base/vmsne_vv-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vv-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vv-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vv_m-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vv_m-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vv_m-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vv_mu-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vv_mu-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vv_mu-3.c: New test.
+
+2023-02-15  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
+
+       * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_m_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_m_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_mu_rv64-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_rv32-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_rv32-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_rv32-3.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_rv64-1.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_rv64-2.c: New test.
+       * gcc.target/riscv/rvv/base/vmsne_vx_rv64-3.c: New test.
+
+2023-02-15  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * obj-c++.dg/proto-lossage-4.mm: Use uintptr_t for integral pointer
+       representations.
+
+2023-02-15  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/108679
+       * gcc.dg/ipa/pr108679.c: New test.
+
+2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/108512
+       * gfortran.dg/gomp/loop-5.f90: New test.
+       * gfortran.dg/gomp/loop-2.f90: Update dg-error.
+       * gfortran.dg/gomp/taskloop-2.f90: Update dg-error.
+
+2023-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/108787
+       PR target/103109
+       * gcc.dg/pr108787.c: New test.
+       * gcc.target/powerpc/pr108787.c: New test.
+       * gcc.target/powerpc/pr103109-1.c: Adjust expected instruction counts.
+
+2023-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * g++.dg/DRs/dr2475.C: New test.
+       * g++.dg/DRs/dr2478.C: New test.
+       * g++.dg/DRs/dr2530.C: New test.
+       * g++.dg/DRs/dr2673.C: New test.
+       * c-c++-common/cpp/delimited-escape-seq-8.c: New test.
+
 2023-02-15  Marek Polacek  <polacek@redhat.com>
 
        PR c++/106675
index d66c8c8fa818358670e0f54e0bf0976b18e3dd21..2831ee899ae2fa37d02d96b6ea68337cc9fe2a02 100644 (file)
@@ -1,3 +1,18 @@
+2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       * target.c (gomp_target_rev): Dereference ptr
+       to get device address.
+       * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
+       for unallocated allocatable.
+
+2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
+       kind check.
+       (GOMP_target_enter_exit_data): If the next map item is
+       GOMP_MAP_ALWAYS_POINTER map it together with the current item.
+       * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
+
 2023-02-09  Tobias Burnus  <tobias@codesourcery.com>
 
        PR fortran/107424