From: Tamar Christina Date: Sun, 24 Dec 2023 19:16:40 +0000 (+0000) Subject: testsuite: Add more pragma novector to new tests X-Git-Tag: basepoints/gcc-15~3319 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0994ddd86f9c3d829b06009d9e706ff72b07001a;p=thirdparty%2Fgcc.git testsuite: Add more pragma novector to new tests This updates the testsuite and adds more #pragma GCC novector to various tests that would otherwise vectorize the vector result checking code. This cleans out the testsuite since the last rebase and prepares for the landing of the early break patch. gcc/testsuite/ChangeLog: * gcc.dg/vect/no-scevccp-slp-30.c: Add pragma GCC novector to abort loop. * gcc.dg/vect/no-scevccp-slp-31.c: Likewise. * gcc.dg/vect/no-section-anchors-vect-69.c: Likewise. * gcc.target/aarch64/vect-xorsign_exec.c: Likewise. * gcc.target/i386/avx512er-vrcp28ps-3.c: Likewise. * gcc.target/i386/avx512er-vrsqrt28ps-3.c: Likewise. * gcc.target/i386/avx512er-vrsqrt28ps-5.c: Likewise. * gcc.target/i386/avx512f-ceil-sfix-vec-1.c: Likewise. * gcc.target/i386/avx512f-ceil-vec-1.c: Likewise. * gcc.target/i386/avx512f-ceilf-sfix-vec-1.c: Likewise. * gcc.target/i386/avx512f-ceilf-vec-1.c: Likewise. * gcc.target/i386/avx512f-floor-sfix-vec-1.c: Likewise. * gcc.target/i386/avx512f-floor-vec-1.c: Likewise. * gcc.target/i386/avx512f-floorf-sfix-vec-1.c: Likewise. * gcc.target/i386/avx512f-floorf-vec-1.c: Likewise. * gcc.target/i386/avx512f-rint-sfix-vec-1.c: Likewise. * gcc.target/i386/avx512f-rintf-sfix-vec-1.c: Likewise. * gcc.target/i386/avx512f-round-sfix-vec-1.c: Likewise. * gcc.target/i386/avx512f-roundf-sfix-vec-1.c: Likewise. * gcc.target/i386/avx512f-trunc-vec-1.c: Likewise. * gcc.target/i386/avx512f-truncf-vec-1.c: Likewise. * gcc.target/i386/vect-alignment-peeling-1.c: Likewise. * gcc.target/i386/vect-alignment-peeling-2.c: Likewise. * gcc.target/i386/vect-pack-trunc-1.c: Likewise. * gcc.target/i386/vect-pack-trunc-2.c: Likewise. * gcc.target/i386/vect-perm-even-1.c: Likewise. * gcc.target/i386/vect-unpack-1.c: Likewise. --- diff --git a/gcc/testsuite/gcc.dg/vect/no-scevccp-slp-30.c b/gcc/testsuite/gcc.dg/vect/no-scevccp-slp-30.c index 00d0eca56eec..534bee4a1669 100644 --- a/gcc/testsuite/gcc.dg/vect/no-scevccp-slp-30.c +++ b/gcc/testsuite/gcc.dg/vect/no-scevccp-slp-30.c @@ -24,9 +24,9 @@ main1 () } /* check results: */ -#pragma GCC novector for (j = 0; j < N; j++) { +#pragma GCC novector for (i = 0; i < N; i++) { if (out[i*4] != 8 diff --git a/gcc/testsuite/gcc.dg/vect/no-scevccp-slp-31.c b/gcc/testsuite/gcc.dg/vect/no-scevccp-slp-31.c index 48b6a9b0681c..22817a57ef81 100644 --- a/gcc/testsuite/gcc.dg/vect/no-scevccp-slp-31.c +++ b/gcc/testsuite/gcc.dg/vect/no-scevccp-slp-31.c @@ -27,6 +27,7 @@ main1 () #pragma GCC novector for (i = 0; i < N; i++) { +#pragma GCC novector for (j = 0; j < N; j++) { if (a[i][j] != 8) diff --git a/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c b/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c index a0e53d5fef91..0861d488e134 100644 --- a/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c +++ b/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c @@ -83,9 +83,9 @@ int main1 () } /* check results: */ -#pragma GCC novector for (i = 0; i < N; i++) { +#pragma GCC novector for (j = 0; j < N; j++) { if (tmp1[2].e.n[1][i][j] != 8) @@ -103,9 +103,9 @@ int main1 () } /* check results: */ -#pragma GCC novector for (i = 0; i < N - NINTS; i++) { +#pragma GCC novector for (j = 0; j < N - NINTS; j++) { if (tmp2[2].e.n[1][i][j] != 8) diff --git a/gcc/testsuite/gcc.target/aarch64/vect-xorsign_exec.c b/gcc/testsuite/gcc.target/aarch64/vect-xorsign_exec.c index cfa221158312..84f33d3f6cce 100644 --- a/gcc/testsuite/gcc.target/aarch64/vect-xorsign_exec.c +++ b/gcc/testsuite/gcc.target/aarch64/vect-xorsign_exec.c @@ -33,6 +33,7 @@ main (void) r[i] = a[i] * __builtin_copysignf (1.0f, b[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < N; i++) if (r[i] != a[i] * __builtin_copysignf (1.0f, b[i])) abort (); @@ -41,6 +42,7 @@ main (void) rd[i] = ad[i] * __builtin_copysign (1.0d, bd[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < N; i++) if (rd[i] != ad[i] * __builtin_copysign (1.0d, bd[i])) abort (); diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-3.c b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-3.c index c0b1f7b31027..1e68926a3180 100644 --- a/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-3.c +++ b/gcc/testsuite/gcc.target/i386/avx512er-vrcp28ps-3.c @@ -41,6 +41,7 @@ avx512er_test (void) compute_rcp_ref (a, b, ref); compute_rcp_exp (a, b, exp); +#pragma GCC novector for (int i = 0; i < MAX; i++) { float rel_err = (ref[i] - exp[i]) / ref[i]; diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-3.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-3.c index a8ab49ed6c38..b922fa285b5f 100644 --- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-3.c +++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-3.c @@ -38,6 +38,7 @@ avx512er_test (void) compute_rsqrt_ref (in, ref); compute_rsqrt_exp (in, exp); +#pragma GCC novector for (int i = 0; i < MAX; i++) { float rel_err = (ref[i] - exp[i]) / ref[i]; diff --git a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-5.c b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-5.c index 9a8a88ae2b57..3c0066f7ea44 100644 --- a/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-5.c +++ b/gcc/testsuite/gcc.target/i386/avx512er-vrsqrt28ps-5.c @@ -38,6 +38,7 @@ avx512er_test (void) compute_sqrt_ref (in, ref); compute_sqrt_exp (in, exp); +#pragma GCC novector for (int i = 0; i < MAX; i++) { float rel_err = (ref[i] - exp[i]) / ref[i]; diff --git a/gcc/testsuite/gcc.target/i386/avx512f-ceil-sfix-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-ceil-sfix-vec-1.c index ab058334a8c9..291907c8f9d0 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-ceil-sfix-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-ceil-sfix-vec-1.c @@ -47,6 +47,7 @@ avx512f_test (void) r[i] = (int) ceil (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != (int) ceil (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-ceil-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-ceil-vec-1.c index 3ab64559cd28..c372631a211f 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-ceil-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-ceil-vec-1.c @@ -45,6 +45,7 @@ avx512f_test (void) r[i] = ceil (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != ceil (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-ceilf-sfix-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-ceilf-sfix-vec-1.c index 27a4bb95342c..be19e753026e 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-ceilf-sfix-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-ceilf-sfix-vec-1.c @@ -45,6 +45,7 @@ avx512f_test (void) r[i] = (int) ceilf (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != (int) ceilf (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-ceilf-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-ceilf-vec-1.c index 54222da76f42..ad1e8e12d5c7 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-ceilf-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-ceilf-vec-1.c @@ -45,6 +45,7 @@ avx512f_test (void) r[i] = ceilf (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != ceilf (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-floor-sfix-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-floor-sfix-vec-1.c index 9eff15f5006c..1c8a107d15ae 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-floor-sfix-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-floor-sfix-vec-1.c @@ -47,6 +47,7 @@ avx512f_test (void) r[i] = (int) floor (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != (int) floor (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-floor-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-floor-vec-1.c index be9709951f7a..b8bcb79a7a53 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-floor-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-floor-vec-1.c @@ -45,6 +45,7 @@ avx512f_test (void) r[i] = floor (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != floor (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-floorf-sfix-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-floorf-sfix-vec-1.c index 7a84fcbc7314..4ae6e36acef5 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-floorf-sfix-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-floorf-sfix-vec-1.c @@ -45,6 +45,7 @@ avx512f_test (void) r[i] = (int) floorf (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != (int) floorf (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-floorf-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-floorf-vec-1.c index fcc0b275860f..7c43f414763c 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-floorf-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-floorf-vec-1.c @@ -45,6 +45,7 @@ avx512f_test (void) r[i] = floorf (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != floorf (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-1.c index d22385c95e52..b7e6759cb8e8 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-1.c @@ -45,6 +45,7 @@ avx512f_test (void) r[i] = (int) rint (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != (int) rint (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-1.c index 6a627ab4ac82..e36c9a5d4f9f 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-1.c @@ -45,6 +45,7 @@ avx512f_test (void) r[i] = (int) rintf (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != (int) rintf (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-round-sfix-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-round-sfix-vec-1.c index 4c83e7b05126..0a6f9b2d235a 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-round-sfix-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-round-sfix-vec-1.c @@ -45,6 +45,7 @@ avx512f_test (void) r[i] = (int) round (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != (int) round (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-roundf-sfix-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-roundf-sfix-vec-1.c index 1341a5bbe537..d40f7d9f7bdd 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-roundf-sfix-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-roundf-sfix-vec-1.c @@ -45,6 +45,7 @@ avx512f_test (void) r[i] = (int) roundf (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != (int) roundf (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-trunc-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-trunc-vec-1.c index b8b5d0730a8c..3802078d2cda 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-trunc-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-trunc-vec-1.c @@ -45,6 +45,7 @@ avx512f_test (void) r[i] = trunc (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != trunc (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-truncf-vec-1.c b/gcc/testsuite/gcc.target/i386/avx512f-truncf-vec-1.c index 7dfd575f019c..d9b6a4d0fdd2 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-truncf-vec-1.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-truncf-vec-1.c @@ -45,6 +45,7 @@ avx512f_test (void) r[i] = truncf (a[i]); /* check results: */ +#pragma GCC novector for (i = 0; i < NUM; i++) if (r[i] != truncf (a[i])) abort(); diff --git a/gcc/testsuite/gcc.target/i386/vect-alignment-peeling-1.c b/gcc/testsuite/gcc.target/i386/vect-alignment-peeling-1.c index 4aa536ba86c9..cec959f3e078 100644 --- a/gcc/testsuite/gcc.target/i386/vect-alignment-peeling-1.c +++ b/gcc/testsuite/gcc.target/i386/vect-alignment-peeling-1.c @@ -40,6 +40,7 @@ int main() b[i] = i; } foo1 (); +#pragma GCC novector for (int i = 2; i < 508; ++i) if (a[i] != 2*i) __builtin_abort (); @@ -50,6 +51,7 @@ int main() b[i] = i; } foo2 (); +#pragma GCC novector for (int i = 2; i < 507; ++i) if (a[i] != 2*i) __builtin_abort (); @@ -60,6 +62,7 @@ int main() b[i] = i; } foo3 (); +#pragma GCC novector for (int i = 2; i < 506; ++i) if (a[i] != 2*i) __builtin_abort (); @@ -70,6 +73,7 @@ int main() b[i] = i; } foo4 (); +#pragma GCC novector for (int i = 2; i < 505; ++i) if (a[i] != 2*i) __builtin_abort (); @@ -80,6 +84,7 @@ int main() b[i] = i; } foo5 (505); +#pragma GCC novector for (int i = 2; i < 506; ++i) if (a[i] != 2*i) __builtin_abort (); diff --git a/gcc/testsuite/gcc.target/i386/vect-alignment-peeling-2.c b/gcc/testsuite/gcc.target/i386/vect-alignment-peeling-2.c index 834bf0f770d6..0317c77a3890 100644 --- a/gcc/testsuite/gcc.target/i386/vect-alignment-peeling-2.c +++ b/gcc/testsuite/gcc.target/i386/vect-alignment-peeling-2.c @@ -40,6 +40,7 @@ int main() b[i] = i; } foo1 (); +#pragma GCC novector for (int i = 2; i < 508; ++i) if (a[i] != 2*i) __builtin_abort (); @@ -50,6 +51,7 @@ int main() b[i] = i; } foo2 (); +#pragma GCC novector for (int i = 3; i < 508; ++i) if (a[i] != 2*i) __builtin_abort (); @@ -60,6 +62,7 @@ int main() b[i] = i; } foo3 (); +#pragma GCC novector for (int i = 4; i < 508; ++i) if (a[i] != 2*i) __builtin_abort (); @@ -70,6 +73,7 @@ int main() b[i] = i; } foo4 (); +#pragma GCC novector for (int i = 5; i < 508; ++i) if (a[i] != 2*i) __builtin_abort (); @@ -80,6 +84,7 @@ int main() b[i] = i; } foo5 (3); +#pragma GCC novector for (int i = 3; i < 508; ++i) if (a[i] != 2*i) __builtin_abort (); diff --git a/gcc/testsuite/gcc.target/i386/vect-pack-trunc-1.c b/gcc/testsuite/gcc.target/i386/vect-pack-trunc-1.c index 1b468e47754c..915b604ebff9 100644 --- a/gcc/testsuite/gcc.target/i386/vect-pack-trunc-1.c +++ b/gcc/testsuite/gcc.target/i386/vect-pack-trunc-1.c @@ -21,6 +21,7 @@ avx512bw_test () unsigned short i; foo (N); +#pragma GCC novector for (i = 0; i < N; i++) if ( (unsigned char)i != yy [i] ) abort (); diff --git a/gcc/testsuite/gcc.target/i386/vect-pack-trunc-2.c b/gcc/testsuite/gcc.target/i386/vect-pack-trunc-2.c index 3503deaa9d9b..c42f317ddf4f 100644 --- a/gcc/testsuite/gcc.target/i386/vect-pack-trunc-2.c +++ b/gcc/testsuite/gcc.target/i386/vect-pack-trunc-2.c @@ -20,6 +20,7 @@ avx512bw_test () { unsigned int i; foo (N); +#pragma GCC novector for (i = 0; i < N; i++) if ( (unsigned short)i != yy [i] ) abort (); diff --git a/gcc/testsuite/gcc.target/i386/vect-perm-even-1.c b/gcc/testsuite/gcc.target/i386/vect-perm-even-1.c index 3de4dfabeea0..bed8621e5d49 100644 --- a/gcc/testsuite/gcc.target/i386/vect-perm-even-1.c +++ b/gcc/testsuite/gcc.target/i386/vect-perm-even-1.c @@ -26,6 +26,7 @@ avx512bw_test () foo (N); +#pragma GCC novector for (i = 0; i < N; i++) if ( (unsigned char)(2*i+1) != yy [i] ) abort (); diff --git a/gcc/testsuite/gcc.target/i386/vect-unpack-1.c b/gcc/testsuite/gcc.target/i386/vect-unpack-1.c index 84521e313e52..fd85650bf8c6 100644 --- a/gcc/testsuite/gcc.target/i386/vect-unpack-1.c +++ b/gcc/testsuite/gcc.target/i386/vect-unpack-1.c @@ -20,6 +20,7 @@ avx512bw_test () { unsigned char i; foo (N); +#pragma GCC novector for (i = 0; i < N; i++) if ( (unsigned int)i != yy [i] ) abort ();