Hi All, These two tests now vectorize the result finding loop with PFA and so the number of loops checked fails.
This fixes them by adding #pragma GCC novector to the testcases. Regtested on x86_64-pc-linux-gnu on an AVX512 machine with -m32, -m64 and test pass again. Ok for master? Thanks, Tamar gcc/testsuite/ChangeLog: PR testsuite/118754 * gcc.dg/vect/vect-tail-nomask-1.c: Add novector. * gcc.target/i386/pr106010-8c.c: Likewise. --- diff --git a/gcc/testsuite/gcc.dg/vect/vect-tail-nomask-1.c b/gcc/testsuite/gcc.dg/vect/vect-tail-nomask-1.c index ee9ab2e9d910b7301641201e15e0443a1eca294b..116a7aefca6c362460710eeb76937570aeb9ed01 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-tail-nomask-1.c +++ b/gcc/testsuite/gcc.dg/vect/vect-tail-nomask-1.c @@ -72,6 +72,7 @@ run_test () init_data (a, b, c, SIZE); test_citer (a, b, c); +#pragma GCC novector for (i = 0; i < SIZE; i++) if (c[i] != a[i] + b[i]) __builtin_abort (); @@ -80,6 +81,7 @@ run_test () init_data (a, b, c, SIZE); test_viter (a, b, c, SIZE); +#pragma GCC novector for (i = 0; i < SIZE; i++) if (c[i] != a[i] + b[i]) __builtin_abort (); diff --git a/gcc/testsuite/gcc.target/i386/pr106010-8c.c b/gcc/testsuite/gcc.target/i386/pr106010-8c.c index 61ae131829dc7595044c2c6ac6fecbedb17ef8bc..76a3b3cbb6288a4de467051becca3393cc88dba8 100644 --- a/gcc/testsuite/gcc.target/i386/pr106010-8c.c +++ b/gcc/testsuite/gcc.target/i386/pr106010-8c.c @@ -30,6 +30,7 @@ do_test (void) __builtin_memset (ph_dst, 0, 2 * N * sizeof (_Float16)); foo_ph (ph_dst); +#pragma GCC novector for (int i = 0; i != N; i++) { if (ph_dst[i] != ph_src) --
diff --git a/gcc/testsuite/gcc.dg/vect/vect-tail-nomask-1.c b/gcc/testsuite/gcc.dg/vect/vect-tail-nomask-1.c index ee9ab2e9d910b7301641201e15e0443a1eca294b..116a7aefca6c362460710eeb76937570aeb9ed01 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-tail-nomask-1.c +++ b/gcc/testsuite/gcc.dg/vect/vect-tail-nomask-1.c @@ -72,6 +72,7 @@ run_test () init_data (a, b, c, SIZE); test_citer (a, b, c); +#pragma GCC novector for (i = 0; i < SIZE; i++) if (c[i] != a[i] + b[i]) __builtin_abort (); @@ -80,6 +81,7 @@ run_test () init_data (a, b, c, SIZE); test_viter (a, b, c, SIZE); +#pragma GCC novector for (i = 0; i < SIZE; i++) if (c[i] != a[i] + b[i]) __builtin_abort (); diff --git a/gcc/testsuite/gcc.target/i386/pr106010-8c.c b/gcc/testsuite/gcc.target/i386/pr106010-8c.c index 61ae131829dc7595044c2c6ac6fecbedb17ef8bc..76a3b3cbb6288a4de467051becca3393cc88dba8 100644 --- a/gcc/testsuite/gcc.target/i386/pr106010-8c.c +++ b/gcc/testsuite/gcc.target/i386/pr106010-8c.c @@ -30,6 +30,7 @@ do_test (void) __builtin_memset (ph_dst, 0, 2 * N * sizeof (_Float16)); foo_ph (ph_dst); +#pragma GCC novector for (int i = 0; i != N; i++) { if (ph_dst[i] != ph_src)