https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116500
--- Comment #4 from Andi Kleen <andi-gcc at firstfloor dot org> --- It seems sparc doesn't support comparisons in vectorization? /vol/gcc/src/hg/master/local/gcc/testsuite/gcc.dg/vect/vect-switch-ifcvt-1.c:13:7: missed: not vectorized: relevant stmt not supported: _13 = _1 == 124; the target check for vect_int is already just hard coded targets, so I don't hink we can do much better than a architecture skip. otherwise have to put probes for everything into the target tests. proc check_effective_target_vect_int { } { return [check_cached_effective_target_indexed vect_int { expr { [istarget i?86-*-*] || [istarget x86_64-*-*] || [istarget powerpc*-*-*] || [istarget amdgcn-*-*] || [istarget sparc*-*-*] || [istarget alpha*-*-*] || [istarget ia64-*-*] || [istarget aarch64*-*-*] || [is-effective-target arm_neon] || ([istarget mips*-*-*] && ([et-is-effective-target mips_loongson_mmi] || [et-is-effective-target mips_msa])) || ([istarget s390*-*-*] && [check_effective_target_s390_vx]) || ([istarget riscv*-*-*] && [check_effective_target_riscv_v]) || ([istarget loongarch*-*-*] && [check_effective_target_loongarch_sx]) }}] } Proposed patch: diff --git a/gcc/testsuite/gcc.dg/vect/vect-switch-ifcvt-1.c b/gcc/testsuite/gcc.dg/vect/vect-switch-ifcvt-1.c index f5352ef8ed7a..6d2a5ce52f20 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-switch-ifcvt-1.c +++ b/gcc/testsuite/gcc.dg/vect/vect-switch-ifcvt-1.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-skip-if "no support for vector comparison in optab" { sparc*-*-* } } */ #include "tree-vect.h" extern void abort (void);