Like we already do when Neon enablement does not need a compiler
option, return 0 when MVE is enabled by default.

For instance when checking for -march=armv8.1-m.main+mve.fp+fp.dp (or
-mcpu=cortex-m55), this makes the following tests UNSUPPORTED:

gcc.dg/tree-ssa/gen-vect-11.c
gcc.dg/tree-ssa/gen-vect-11a.c
gcc.dg/tree-ssa/gen-vect-11b.c
gcc.dg/tree-ssa/gen-vect-11c.c
gcc.dg/tree-ssa/gen-vect-2.c

and thus avoids
FAIL: gcc.dg/tree-ssa/gen-vect-11b.c scan-tree-dump-times vect "vectorized 0 
loops" 1
FAIL: gcc.dg/tree-ssa/gen-vect-11c.c scan-tree-dump-times vect "vectorized 0 
loops" 1

This may be overkill Given that all the other tests mentioned above
PASS, but this is consistent with what we already do for Neon.

gcc/testsuite/ChangeLog:

        PR target/124704
        * lib/target-supports.exp
        (check_effective_target_vect_cmdline_neeed): Handle arm_mve
        similarly to arm_neon.
---
 gcc/testsuite/lib/target-supports.exp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/lib/target-supports.exp 
b/gcc/testsuite/lib/target-supports.exp
index 77b719138df..11b6156cc8b 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -4596,7 +4596,9 @@ proc check_effective_target_vect_cmdline_needed { } {
             || ([istarget powerpc*-*-*]
                 && [check_effective_target_powerpc_altivec])
             || ([istarget sparc*-*-*] && [check_effective_target_sparc_vis])
-            || ([istarget arm*-*-*] && [check_effective_target_arm_neon])
+            || ([istarget arm*-*-*] && ([check_effective_target_arm_neon]
+                                        || [check_effective_target_arm_mve])
+                )
             || [istarget aarch64*-*-*]
             || [istarget amdgcn*-*-*]
             || [istarget riscv*-*-*]
-- 
2.43.0

Reply via email to