Richard Biener [Fri, 17 Feb 2023 08:30:49 +0000 (09:30 +0100)]
Fix wrong-code issue in VN
The following fixes the wrong removed dead store discovered on the
PR108657 testcase when the reported DSE issue is not fixed.
The issue is we were using ssa_undefined_value_p on virtual operands
which returns a result based on the real definition of the definition
statement. That doesn't make sense so this patch guards the calls
properly and makes sure nobody else does the same mistake.
* tree-ssa.cc (ssa_undefined_value_p): Assert we are not
called on virtual operands.
* tree-ssa-sccvn.cc (vn_phi_lookup): Guard
ssa_undefined_value_p calls.
(vn_phi_insert): Likewise.
(set_ssa_val_to): Likewise.
(visit_phi): Avoid extra work with equivalences for
virtual operand PHIs.
Jerry DeLisle [Fri, 17 Feb 2023 03:29:44 +0000 (19:29 -0800)]
Fortran test: Modify test cases to pass on mingw.
gcc/testsuite/ChangeLog:
* gfortran.dg/ISO_Fortran_binding_14.f90: Change example function to
CLOCK which is available on mingw as well as other platforms.
* gfortran.dg/pr96486.f90: Change variable to PATH likewise.
Ju-Zhe Zhong [Wed, 15 Feb 2023 11:22:31 +0000 (19:22 +0800)]
RISC-V: Rename tu_preds to none_tu_preds [NFC]
To be consistent with other naming of preds array variable.
Change tu_preds into none_tu_preds which indicate such preds
include vop and vop_tu combinations.
Ju-Zhe Zhong [Tue, 14 Feb 2023 22:27:33 +0000 (06:27 +0800)]
RISC-V: Rearrange the organization of declarations of RVV intrinsics [NFC]
This patch doesn't change any functionality, only rearrange the oraganzation.
Make it to be consistent with RVV ISA. Add annotation for it to make codes
more readable.
Ju-Zhe Zhong [Tue, 14 Feb 2023 15:04:49 +0000 (23:04 +0800)]
RISC-V: Replace simm32_p with immediate_operand (Pmode)
simm32_p is used to check constant int value within 32-bit.
It's used in handling SEW = 64 in rv32 system since such constant int
value with 32-bit allow us use vx instruction.
The current implementation of simm32_p is quite ugly and now I figure
out immedate_operand (op, pmode) can help us to check whether the op
is a constant value within 32-bit.
I already have a bunch testcases to test SEW = 64 in rv32 system and
all regression tests are passed with this patch.
gcc/ChangeLog:
* config/riscv/riscv-protos.h (simm32_p): Remove.
* config/riscv/riscv-v.cc (simm32_p): Ditto.
* config/riscv/vector.md: Use immediate_operand
instead of riscv_vector::simm32_p.
David Malcolm [Thu, 16 Feb 2023 23:12:55 +0000 (18:12 -0500)]
analyzer: respect some conditions from bit masks [PR108806]
PR analyzer/108806 reports false +ves seen from -fanalyzer on code like this
in qemu-7.2.0's hw/intc/omap_intc.c:
[...snip...]
struct omap_intr_handler_bank_s* bank = NULL;
if ((offset & 0xf80) == 0x80) {
[...set "bank" to non-NULL...]
}
switch (offset) {
[...snip various cases that don't deref "bank"...]
case 0x80:
return bank->inputs;
case 0x84:
return bank->mask;
[...etc...]
}
where the analyzer falsely complains about execution paths in which
"(offset & 0xf80) == 0x80" was false (leaving "bank" as NULL), but then
in which "switch (offset)" goes to a case for which
"(offset & 0xf80) == 0x80" is true and dereferences NULL "bank", i.e.
paths in which "(offset & 0xf80) == 0x80" is both true *and* false.
This patch adds enough logic to constraint_manager for -fanalyzer to
reject such execution paths as impossible, fixing the false +ves.
Integration testing shows this eliminates 20 probable false positives:
gcc/analyzer/ChangeLog:
PR analyzer/108806
* constraint-manager.cc (bounded_range::dump_to_pp): Use
bounded_range::singleton_p.
(constraint_manager::add_bounded_ranges): Handle singleton ranges
by adding an EQ_EXPR constraint.
(constraint_manager::impossible_derived_conditions_p): New.
(constraint_manager::eval_condition): Reject EQ_EXPR when it would
imply impossible derived conditions.
(selftest::test_bits): New.
(selftest::run_constraint_manager_tests): Run it.
* constraint-manager.h (bounded_range::singleton_p): New.
(constraint_manager::impossible_derived_conditions_p): New decl.
* region-model.cc (region_model::get_rvalue_1): Handle
BIT_AND_EXPR, BIT_IOR_EXPR, and BIT_XOR_EXPR.
Currently when resolving a TYPENAME_TYPE for 'typename T::m' via
make_typename_type, we consider only type bindings of 'm' and ignore
non-type ones. But [temp.res.general]/3 says, in a note, "the usual
qualified name lookup ([basic.lookup.qual]) applies even in the presence
of 'typename'", and qualified name lookup doesn't discriminate between
type and non-type bindings. So when resolving such a TYPENAME_TYPE
we want the lookup to consider all bindings.
An exception is when we have a TYPENAME_TYPE corresponding to the
qualifying scope of the :: scope resolution operator, such as 'T::type'
in 'T::type::m'. In that case, [basic.lookup.qual]/1 applies, and
lookup for such a TYPENAME_TYPE must ignore non-type bindings. So in
order to correctly handle all cases, make_typename_type needs an
additional flag controlling whether to restrict the lookup.
To that end this patch adds a new tsubst flag tf_qualifying_scope
denoting whether we're substituting the LHS of the :: operator,
which make_typename_type will look for to conditionally restrict the
lookup to type bindings (by default we want to consider all bindings).
So in contexts such as substituting into the scope of TYPENAME_TYPE,
SCOPE_REF or USING_DECL we simply pass tf_qualifying_scope to the
relevant tsubst / tsubst_copy call, and if that scope is a TYPENAME_TYPE
then make_typename_type will restrict the lookup accordingly. This flag
is intended to apply only to overall scope (TYPENAME_TYPE or not) so we
must be careful to clear the flag to avoid propagating it when recursing
into sub-trees of the scope.
PR c++/107773
gcc/cp/ChangeLog:
* cp-tree.h (enum tsubst_flags): New flag tf_qualifying_scope.
* decl.cc (make_typename_type): Use lookup_member instead of
lookup_field. If tf_qualifying_scope is set, pass want_type=true
instead of =false to lookup_member. Generalize format specifier
in diagnostic to handle both type and non-type bindings.
* pt.cc (tsubst_aggr_type_1): Clear tf_qualifying_scope. Tidy
the function.
(tsubst_decl) <case USING_DECL>: Set tf_qualifying_scope when
substituting USING_DECL_SCOPE.
(tsubst): Clear tf_qualifying_scope right away and remember if
it was set. Do the same for tf_tst_ok sooner.
<case TYPENAME_TYPE>: Set tf_qualifying_scope when substituting
TYPE_CONTEXT. Pass tf_qualifying_scope to make_typename_type
if it was set.
(tsubst_qualified_id): Set tf_qualifying_scope when substituting
the scope.
(tsubst_copy): Clear tf_qualifying_scope and remember if it was
set.
<case SCOPE_REF>: Set tf_qualifying_scope when substituting the
scope.
<case *_TYPE>: Pass tf_qualifying_scope to tsubst if it was set.
* search.cc (lookup_member): Document default argument.
gcc/testsuite/ChangeLog:
* g++.dg/template/typename24.C: New test.
* g++.dg/template/typename25.C: New test.
* g++.dg/template/typename25a.C: New test.
* g++.dg/template/typename26.C: New test.
Patrick Palka [Thu, 16 Feb 2023 15:30:20 +0000 (10:30 -0500)]
don't declare header-defined functions both static and inline
Many functions defined in our headers are declared 'static inline' which
is a C idiom whose use predates our move to C++ as the implementation
language. But in C++ the inline keyword is more than just a compiler
hint, and is sufficient to give the function the intended semantics.
In fact declaring a function both static and inline is a pessimization
since static effectively disables the desired definition merging
behavior enabled by inline, and is also a source of (harmless) ODR
violations when a static inline function gets called from a non-static
inline one (such as tree_operand_check calling tree_operand_length).
This patch mechanically fixes the vast majority of occurrences of this
anti-pattern throughout the compiler's headers via the command line
sed -i 's/^static inline/inline/g' gcc/*.h gcc/*/*.h
There's also a manual change to remove the redundant declarations
of is_ivar and lookup_category in gcc/objc/objc-act.cc which would
otherwise conflict with their modified definitions in objc-act.h
(due to the difference in staticness).
Besides fixing some ODR violations, this speeds up stage1 cc1plus by
about 2% and reduces the size of its text segment by 1.5MB.
* c-common.h: Mechanically drop static from static inline
functions via s/^static inline/inline/g.
gcc/c/ChangeLog:
* c-parser.h: Mechanically drop static from static inline
functions via s/^static inline/inline/g.
gcc/cp/ChangeLog:
* cp-tree.h: Mechanically drop static from static inline
functions via s/^static inline/inline/g.
gcc/fortran/ChangeLog:
* gfortran.h: Mechanically drop static from static inline
functions via s/^static inline/inline/g.
gcc/jit/ChangeLog:
* jit-dejagnu.h: Mechanically drop static from static inline
functions via s/^static inline/inline/g.
* jit-recording.h: Likewise.
gcc/objc/ChangeLog:
* objc-act.h: Mechanically drop static from static inline
functions via s/^static inline/inline/g.
* objc-map.h: Likewise.
* objc-act.cc: Remove the redundant redeclarations of is_ivar
and lookup_category.
* include/experimental/bits/simd_x86.h
(_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
(_SimdImplX86::_S_less_equal): Do not call
__builtin_is_constant_evaluated in constexpr-if.
Matthias Kretz [Sat, 14 Jan 2023 16:07:59 +0000 (17:07 +0100)]
libstdc++: Annotate most lambdas with always_inline
All of the annotated lambdas are simply a necessary means for
implementing these functions and should never result in an actual
function call. Many of these lambdas would go away if C++ had better
language support for packs.
* include/experimental/bits/simd.h
(_SimdWrapper::_M_is_constprop_none_of)
(_SimdWrapper::_M_is_constprop_all_of): Return false unless the
computed result still satisfies __builtin_constant_p.
This was approved for the Concurrency TS v2 in Issaquah.
Although the TS is based on C++20, this enables the new header for C++17
as well. This will make it available to more users, and I hope that will
get more feedback on the feature.
libstdc++-v3/ChangeLog:
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/synchronized_value: New file.
* testsuite/experimental/synchronized_value.cc: New test.
Jonathan Wakely [Mon, 13 Feb 2023 12:22:00 +0000 (12:22 +0000)]
libstdc++: Enable CTAD for std::basic_format_args (LWG 3810)
This was just approved in Issaquah.
libstdc++-v3/ChangeLog:
* include/std/format (__format::_Arg_store): New class template.
(basic_format_args): Remove nested type _Store and add deduction
guide from _Arg_store.
(basic_format_arg, make_format_args): Adjust.
* testsuite/std/format/arguments/lwg3810.cc: New test.
Jonathan Wakely [Wed, 8 Feb 2023 12:58:45 +0000 (12:58 +0000)]
libstdc++: Implement P2255R2 dangling checks for std::pair
This uses the new __reference_constructs_from_temporary built-in to
identify when a std::pair constructor will bind a reference to a
temporary that goes out of scope at the end of the constructor. For
example, std::pair<const long&, int> p(1, 2); will call the pair<const
long&, int>::pair(U1&&, U2&&) constructor with U1=int and U2=int. In the
constructor body a temporary long will be created and the p.first member
will bind to that temporary. When the constructor returns, the reference
is immediately dangling. P2255 requires the constructor to be deleted to
prevent this bug.
Although P2255 was approved for C++23, it fixes a longstanding LWG issue
in older standards, and it turns silent runtime undefined behaviour into
a compilation error. Because of that, the dangling checks are applied
all the way back to C++98. However, if these changes cause too much
code to be rejected (e.g. in cases where the dangling reference is never
used after the constructor returns) then we can consider removing them
for C++20 and older standards.
The affected constructors are deleted for C++20 and later, when concepts
are available to simplify the constructor constraints. For C++17 and
earlier the overload sets are complicated and awkward to maintain, so
the dangling checks are done in static assertions in the constructor
bodies, instead of being SFINAE-friendly constraints. The pre-C++17
assertions are only enabled for Debug Mode, to avoid introducing a
breaking change in Stage 4. We should consider enabling them by default
in Stage 1 for GCC 14.
libstdc++-v3/ChangeLog:
* include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
constraints to constructors and add deleted overloads for the
dangling cases, as per P2255R2.
(pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
make dangling cases ill-formed.
* testsuite/20_util/pair/dangling_ref.cc: New test.
Jakub Jelinek [Thu, 16 Feb 2023 14:35:05 +0000 (15:35 +0100)]
tree-ssa-dse: Fix up handling of lhs of internal calls [PR108657]
The r13-1778 PR106378 tree-ssa-dse change didn't just add special support
for IFN_LEN_STORE and IFN_MASK_STORE internal function calls as I believe
was intended, but given that the function was
if (is builtin) { ... }
else if (lhs present and non-SSA_NAME) { ... }
return false;
and it added a new
else if (is internal builtin) { ... }
in between the two, the last if used to be done before on all stmts
with non-SSA_NAME lhs except for calls to builtin functions, but newly
isn't done also for calls to internal functions. In the testcase
the important internal function is .DEFERRED_INIT, which often has
non-SSA_NAME lhs, and the change resulted in them no longer being DSEd,
so a block with nothing in it left but var = .DEFERRED_INIT () and
var = {CLOBBER} was unrolled several times.
The following patch does the lhs handling for all stmts with non-SSA_NAME lhs
unless initialize_ao_ref_for_dse handled those specially already and
returned (which is the case for various mem* builtins which don't have
such lhs, for some cases of calloc which again is fine,and since r13-1778
also for IFN_LEN_STORE call and some IFN_MASK_STORE calls.
As IFN_MASK_STORE doesn't have a lhs, the break for the !may_def_ok case
doesn't seem to change anything, and because we've handled internal fns
that way in the past, I think it is the right thing to do that again.
That said, if it is inappropriate for some new ifn, I guess it could
be added to the switch and just return false; for it instead of break;.
2023-02-16 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/108657
* tree-ssa-dse.cc (initialize_ao_ref_for_dse): If lhs of stmt
exists and is not a SSA_NAME, call ao_ref_init even if the stmt
is a call to internal or builtin function.
Jonathan Wakely [Thu, 16 Feb 2023 12:18:25 +0000 (12:18 +0000)]
libstdc++: Make names_pstl.cc require et tbb_backend
The https://github.com/oneapi-src/oneTBB/pull/833 fix is needed for TBB
headers to avoid an error with GCC 13. The new names_pstl.cc test needs
to check effective target tbb_backend so that it's UNSUPPORTED on
systems without fixed headers.
libstdc++-v3/ChangeLog:
* testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
Jakub Jelinek [Thu, 16 Feb 2023 11:10:19 +0000 (12:10 +0100)]
libgomp: Fix comment typo
I saw
FAIL: libgomp.fortran/target-nowait-array-section.f90 -O execution test
in my last x86_64-linux bootstrap. From quick skimming, it might be just
unreliable test, which assumes that asynchronous execution wouldn't produce
ordered sequence, but can't it happen even with asynchronous execution?
That said, while skimming the test, I've noticed a comment typo and
this patch fixes that up.
2023-02-16 Jakub Jelinek <jakub@redhat.com>
* testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
comment typo and improve its wording.
Jonathan Wakely [Fri, 10 Feb 2023 23:16:15 +0000 (23:16 +0000)]
libstdc++: Fix uses of non-reserved names in headers
The non-reserved names 'val' and 'dest' were being used in our headers
but haven't been added to the 17_intro/names.cc test. That's because
they are used by <asm-generic/posix_types.h> and <netinet/tcp.h>
respecitvely on glibc-based systems.
Jakub Jelinek [Thu, 16 Feb 2023 09:41:18 +0000 (10:41 +0100)]
reassoc: Fix up (ab) handling in eliminate_redundant_comparison [PR108783]
The following testcase ICEs because eliminate_redundant_comparison sees
redundant comparisons in &&/|| where the comparison has (ab) SSA_NAME,
maybe_fold_{and,or}_comparisons optimizes them into a single comparison
and build_and_add_sum emits a new comparison close to the definition
operands, which in this case is before a returns_twice call (which is
invalid). Generally reassoc just punts on (ab) SSA_NAMEs, declares them
non-reassociable etc., so the second half of this patch does that.
Though we can do better in this case; the function has special code
when maybe_fold_{and,or}_comparisons returns INTEGER_CST (false/true)
or when what it returns is the same as curr->op (the first of the
comparisons we are considering) - in that case we just remove the
second one and keep the first one. The reason it doesn't match is that
curr->op is a SSA_NAME whose SSA_NAME_DEF_STMT is checked to be a
comparison, in this case _42 = a_1(ab) != 0 and the other comparison
is also like that. maybe_fold_{and,or}_comparisons looks through the
definitions though and so returns a_1(ab) != 0 as tree.
So the first part of the patch checks whether that returned comparison
isn't the same as the curr->op comparison and if yes, it just overrides
t back to curr->op so that its SSA_NAME is reused. In that case we can
handle even (ab) in {,new}op{1,2} because we don't create a new comparison
of that, just keep using the existing one. And t can't be (ab) because
otherwise it wouldn't be considered a reassociable operand.
The (ab) checks are needed say when we have a_1(ab) == 42 || a_1(ab) > 42
kind of comparisons where maybe_fold_{and,or}_comparisons returns a new
comparison not existing in the IL yet.
2023-02-16 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/108783
* tree-ssa-reassoc.cc (eliminate_redundant_comparison): If lcode
is equal to TREE_CODE (t), op1 to newop1 and op2 to newop2, set
t to curr->op. Otherwise, punt if either newop1 or newop2 are
SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs.
objs-gcc.sh: Only bootstrap if source-directory contains gcc
I use objs-gcc.sh as a preparatory step before calling
btest-gcc.sh in my scripts, for example my cris-elf
autotester. I thought, why not use it for native builds
too. Except that use, with binutils release-style tarballs
and a x86_64-pc-linux-gnu host, was broken. Now that I look
at it, the script seems to have aged poorly... Still,
there's a need for such a script to install stuff needed for
btest-gcc.sh (and to fix up stuff if needed), and this can
still be that script. So, I prefer to fix show-stoppers for
common uses, while taking care to retain compatibility for
use that could possibly still work, with current sources.
A long time ago (before 2011, but after this script was
created in 2002, and used for a few years), the binutils
(and gdb and gcc) toplevel Makefile may have had a bootstrap
target that worked with binutils but didn't require gcc
sources to be present. Now, you'll get an error (see
configure.ac line 1366 and on). Let's just build the
default make-target when "bootstrap" is known to fail.
An alternative would be to fold this native
non-i686-pc-linux-gnu clause into the native
i686-pc-linux-gnu clause, as that seems to have been
originally intended as *the* single native clause, but
that'd require further edits (e.g. to remove install-dejagnu
and make gdb build conditional on gdb sources presence, to
work with binutils tarballs, and I'd also then prefer to
build not just ld, but also gas and binutils).
As it's a minimal obvious change required for current native
use with release-tarballs and git-checkout use(*), I'm
installing this as obvious.
*) Native i686-pc-linux-gnu remains broken for other use
than specially constructed combined trees where dejagnu is
included at the toplevel (i.e. historic Cygnus devo-type).
contrib/regression:
* objs-gcc.sh: Only bootstrap if source-directory contains gcc.
Eric Botcazou [Wed, 15 Feb 2023 22:32:12 +0000 (23:32 +0100)]
Fix PR target/90458
This is the incompatibility of -fstack-clash-protection with Windows SEH.
Now the Windows ports always enable TARGET_STACK_PROBE, which means that
the stack is always probed (out of line) so -fstack-clash-protection does
nothing more.
gcc/
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.
There is no requirement on the mode of the location operand, so any
supported integer mode is valid. We can relax extract location
operand mode requirement of other patterns involving zero_extract RTX.
This patch updates poisoned_value_diagnostic so that, where possible,
it checks to see if the value is still poisoned along the execution
path seen during feasibility analysis, rather than just that seen
in the exploded graph.
Integration testing shows this reduction in the number of
false positives:
-Wanalyzer-use-of-uninitialized-value: 191 -> 153 (-38)
where the changes happen in:
coreutils-9.1: 34 -> 20 (-14)
qemu-7.2.0: 78 -> 54 (-24)
gcc/analyzer/ChangeLog:
PR analyzer/108664
PR analyzer/108666
PR analyzer/108725
* diagnostic-manager.cc (epath_finder::get_best_epath): Add
"target_stmt" param.
(epath_finder::explore_feasible_paths): Likewise.
(epath_finder::process_worklist_item): Likewise.
(saved_diagnostic::calc_best_epath): Pass m_stmt to
epath_finder::get_best_epath.
* engine.cc (feasibility_state::maybe_update_for_edge): Move
per-stmt logic to...
(feasibility_state::update_for_stmt): ...this new function.
* exploded-graph.h (feasibility_state::update_for_stmt): New decl.
* feasible-graph.cc (feasible_node::get_state_at_stmt): New.
* feasible-graph.h: Include "analyzer/exploded-graph.h".
(feasible_node::get_state_at_stmt): New decl.
* infinite-recursion.cc
(infinite_recursion_diagnostic::check_valid_fpath_p): Update for
vfunc signature change.
* pending-diagnostic.h (pending_diagnostic::check_valid_fpath_p):
Convert first param to a reference. Add stmt param.
* region-model.cc: Include "analyzer/feasible-graph.h".
(poisoned_value_diagnostic::poisoned_value_diagnostic): Add
"check_expr" param.
(poisoned_value_diagnostic::check_valid_fpath_p): New.
(poisoned_value_diagnostic::m_check_expr): New field.
(region_model::check_for_poison): Attempt to supply a check_expr
to the diagnostic
(region_model::deref_rvalue): Add NULL for new check_expr param
of poisoned_value_diagnostic.
(region_model::get_or_create_region_for_heap_alloc): Don't reuse
regions that are marked as TOUCHED.
gcc/testsuite/ChangeLog:
PR analyzer/108664
PR analyzer/108666
PR analyzer/108725
* gcc.dg/analyzer/coreutils-cksum-pr108664.c: New test.
* gcc.dg/analyzer/coreutils-sum-pr108666.c: New test.
* gcc.dg/analyzer/torture/uninit-pr108725.c: New test.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Richard Biener [Tue, 14 Feb 2023 13:46:47 +0000 (14:46 +0100)]
Speedup DF dataflow solver
The following makes sure to process blocks that follow the current
block in the iteration order in the same iteration and only postpone
blocks that would be visited earlier to the next iteration.
For the all.i testcase in PR26854 at -O2 this shaves off 50% of
the time to solve the DF RD problem, other problems also improve
but not as drastically.
PR middle-end/26854
* df-core.cc (df_worklist_propagate_forward): Put later
blocks on worklist and only earlier blocks on pending.
(df_worklist_propagate_backward): Likewise.
(df_worklist_dataflow_doublequeue): Change the iteration
to process new blocks in the same iteration if that
maintains the iteration order.
Marek Polacek [Tue, 14 Feb 2023 22:05:44 +0000 (17:05 -0500)]
warn-access: wrong -Wdangling-pointer with labels [PR106080]
-Wdangling-pointer warns when the address of a label escapes. This
causes grief in OCaml (<https://github.com/ocaml/ocaml/issues/11358>) as
well as in the kernel:
<https://bugzilla.kernel.org/show_bug.cgi?id=215851> because it uses
to get the PC. -Wdangling-pointer is documented to warn about pointers
to objects. However, it uses is_auto_decl which checks DECL_P, but DECL_P
is also true for a label/enumerator/function declaration, none of which is
an object. Rather, it should use auto_var_p which correctly checks VAR_P
and PARM_DECL.
PR middle-end/106080
gcc/ChangeLog:
* gimple-ssa-warn-access.cc (is_auto_decl): Remove. Use auto_var_p
instead.
gcc/testsuite/ChangeLog:
* c-c++-common/Wdangling-pointer-10.c: New test.
* c-c++-common/Wdangling-pointer-9.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:32:59 +0000 (22:32 +0800)]
RISC-V: Add vmacc vv c++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmacc_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vv_tumu-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:30:39 +0000 (22:30 +0800)]
RISC-V: Add vmacc vx rv64 c++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tumu_rv64-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:29:36 +0000 (22:29 +0800)]
RISC-V: Add vmacc vx rv32 c++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmacc_vx_tumu_rv32-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:28:24 +0000 (22:28 +0800)]
RISC-V: Add vmadd vv c++ api test
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmadd_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vv_tumu-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:25:35 +0000 (22:25 +0800)]
RISC-V: Add vmadd vx C++ api test
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmadd_vx_tumu_rv64-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:23:55 +0000 (22:23 +0800)]
RISC-V: Add vnmsac vv c++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vnmsac_vv-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vv_tumu-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:22:39 +0000 (22:22 +0800)]
RISC-V: Add vnmsac vx C++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:21:37 +0000 (22:21 +0800)]
RISC-V: Add vnmsac vx rv64 C++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:18:23 +0000 (22:18 +0800)]
RISC-V: Add vnmsub vv c++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vnmsub_vv-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vv_tumu-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:17:18 +0000 (22:17 +0800)]
RISC-V: Add vnmsub vx rv32 c++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tum_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:15:59 +0000 (22:15 +0800)]
RISC-V: Add vnmsub vx rv64 c++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tum_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:14:23 +0000 (22:14 +0800)]
RISC-V: Add vwmacc vv C++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vwmacc_vv-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vv_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vv_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vv_tumu-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:12:36 +0000 (22:12 +0800)]
RISC-V: Add vwmacc vx C++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vwmacc_vx-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmacc_vx_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccsu_vx_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccu_vx_tumu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_mu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_mu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_mu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tu-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tum-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tum-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tum-3.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tumu-1.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tumu-2.C: New test.
* g++.target/riscv/rvv/base/vwmaccus_vx_tumu-3.C: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:08:13 +0000 (22:08 +0800)]
RISC-V: Add ternary constraint tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/ternop_vv_constraint-1.c: New test.
* gcc.target/riscv/rvv/base/ternop_vv_constraint-2.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-1.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-2.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-3.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-4.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-5.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-6.c: New test.
* gcc.target/riscv/rvv/base/ternop_vx_constraint-7.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:06:04 +0000 (22:06 +0800)]
RISC-V: Add vmacc vv c api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vmacc_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vv_tumu-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:04:56 +0000 (22:04 +0800)]
RISC-V: Add vmacc vx rv32 c api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv32-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:03:42 +0000 (22:03 +0800)]
RISC-V: Add vmacc vx c api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmacc_vx_tumu_rv64-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:02:34 +0000 (22:02 +0800)]
RISC-V: Add vmadd vv C api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vmadd_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vv_tumu-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 14:01:14 +0000 (22:01 +0800)]
RISC-V: Add vmadd vx c api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv32-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 13:59:57 +0000 (21:59 +0800)]
RISC-V: Add vmadd vx rv64 c api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vmadd_vx_tumu_rv64-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 13:58:29 +0000 (21:58 +0800)]
RISC-V: Add vnmsac vv C api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vnmsac_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vv_tumu-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 13:57:12 +0000 (21:57 +0800)]
RISC-V: Add vnmsac vx C api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv32-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 13:56:12 +0000 (21:56 +0800)]
RISC-V: Add vnmsac rv64 C api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsac_vx_tumu_rv64-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 13:54:17 +0000 (21:54 +0800)]
RISC-V: Add vnmsub vx rv32 C api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_m_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv32-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv32-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 13:53:00 +0000 (21:53 +0800)]
RISC-V: Add vnmsub vx rv64 C api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_m_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_mu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tu_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tum_rv64-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vx_tumu_rv64-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 13:48:26 +0000 (21:48 +0800)]
RISC-V: Add vnmsub vv C api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vnmsub_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vnmsub_vv_tumu-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 13:46:12 +0000 (21:46 +0800)]
RISC-V: Add vwmacc vv C api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vwmacc_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vv_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vv_tumu-3.c: New test.
Ju-Zhe Zhong [Tue, 14 Feb 2023 13:44:05 +0000 (21:44 +0800)]
RISC-V: Add vwmacc vx C api tests
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vwmacc_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmacc_vx_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccsu_vx_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccu_vx_tumu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_m-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_m-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_m-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_mu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_mu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_mu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tu-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tum-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tum-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tum-3.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-1.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-2.c: New test.
* gcc.target/riscv/rvv/base/vwmaccus_vx_tumu-3.c: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:39:03 +0000 (16:39 +0800)]
RISC-V: Add vmseq vv C++ tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmseq_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vv_mu-3.C: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:37:55 +0000 (16:37 +0800)]
RISC-V: Add vmseq vx C++ tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmseq_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmseq_vx_rv64-3.C: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:36:57 +0000 (16:36 +0800)]
RISC-V: Add vmsge vv C++ tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsge_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vv_mu-3.C: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:35:39 +0000 (16:35 +0800)]
RISC-V: Add vmsge vx C++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsge_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsge_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgeu_vx_rv64-3.C: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:34:31 +0000 (16:34 +0800)]
RISC-V: Add vmsgt vv C++ tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsgt_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vv_mu-3.C: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:33:33 +0000 (16:33 +0800)]
RISC-V: Add vmsgt vx C++ tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgt_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsgtu_vx_rv64-3.C: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:32:23 +0000 (16:32 +0800)]
RISC-V: Add vmsle vv C++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsle_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vv_mu-3.C: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:31:09 +0000 (16:31 +0800)]
RISC-V: Add vmsle vx C++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsle_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsle_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsleu_vx_rv64-3.C: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:29:54 +0000 (16:29 +0800)]
RISC-V: Add vmslt vv C++ api tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmslt_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vv_mu-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vv_mu-3.C: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:28:38 +0000 (16:28 +0800)]
RISC-V: Add vmslt vx C++ tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmslt_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmslt_vx_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsltu_vx_rv64-3.C: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:27:34 +0000 (16:27 +0800)]
RISC-V: Add vmsne vv C++ tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsne_vv-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv_m-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv_m-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv_m-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv_mu-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv_mu-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vv_mu-3.C: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:26:29 +0000 (16:26 +0800)]
RISC-V: Add vmsne vx C++ tests
gcc/testsuite/ChangeLog:
* g++.target/riscv/rvv/base/vmsne_vx_m_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_m_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_m_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_m_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_m_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_m_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_mu_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_mu_rv64-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_rv32-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_rv32-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_rv32-3.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_rv64-1.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_rv64-2.C: New test.
* g++.target/riscv/rvv/base/vmsne_vx_rv64-3.C: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:25:22 +0000 (16:25 +0800)]
RISC-V: Add binop constraints tests for integer compare
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/binop_vv_constraint-2.c: New test.
* gcc.target/riscv/rvv/base/binop_vv_constraint-3.c: New test.
* gcc.target/riscv/rvv/base/binop_vv_constraint-4.c: New test.
* gcc.target/riscv/rvv/base/binop_vv_constraint-5.c: New test.
* gcc.target/riscv/rvv/base/binop_vv_constraint-6.c: New test.
* gcc.target/riscv/rvv/base/binop_vv_constraint-7.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-123.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-124.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-125.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-126.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-127.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-128.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-129.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-130.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-131.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-132.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-133.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-134.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-135.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-136.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-137.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-138.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-139.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-140.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-141.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-142.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-143.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-144.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-145.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-146.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-147.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-148.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-149.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-150.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-151.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-152.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-153.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-154.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-155.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-156.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-157.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-158.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-159.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-160.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-161.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-162.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-163.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-164.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-165.c: New test.
* gcc.target/riscv/rvv/base/binop_vx_constraint-166.c: New test.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:22:29 +0000 (16:22 +0800)]
RISC-V: Add vmseq vv C api tests
gcc/testsuite/ChangeLog:
* 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.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:21:12 +0000 (16:21 +0800)]
RISC-V: Add vmseq vx C api tests
gcc/testsuite/ChangeLog:
* 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.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:04:41 +0000 (16:04 +0800)]
RISC-V: Add vmsge vv C api tests
gcc/testsuite/ChangeLog:
* 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.
Ju-Zhe Zhong [Mon, 13 Feb 2023 08:03:03 +0000 (16:03 +0800)]
RISC-V: Add vmsge vx C api tests
gcc/testsuite/ChangeLog:
* 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.