The following disables SSE4 instead of just AVX to avoid pextrq being used, confusing the assembler scanning. This avoids the reported failure with -march=cascadelake but adds a FAIL for -march=cascadelake -m32 (I've opened PR115487 for that).
Tested on x86_64-unknown-linux-gnu, pushed. * gcc.target/i386/vect-strided-3.c: Disable SSE4 instead of AVX. --- gcc/testsuite/gcc.target/i386/vect-strided-3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.target/i386/vect-strided-3.c b/gcc/testsuite/gcc.target/i386/vect-strided-3.c index b462701a0b2..f9c54a6f715 100644 --- a/gcc/testsuite/gcc.target/i386/vect-strided-3.c +++ b/gcc/testsuite/gcc.target/i386/vect-strided-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -msse2 -mno-avx -fno-tree-slp-vectorize" } */ +/* { dg-options "-O2 -msse2 -mno-sse4 -fno-tree-slp-vectorize" } */ void foo (int * __restrict a, int *b, int s) { -- 2.35.3