diff options
author | Tamar Christina <tamar.christina@arm.com> | 2023-12-24 19:16:40 +0000 |
---|---|---|
committer | Tamar Christina <tamar.christina@arm.com> | 2023-12-24 19:16:40 +0000 |
commit | 0994ddd86f9c3d829b06009d9e706ff72b07001a (patch) | |
tree | a538be5ac8170a38622edf26aee69204ec5c4fd6 /gcc | |
parent | 7dbde0c56a032ec08d8a8b3f39f8f4e419ce5c8f (diff) | |
download | gcc-0994ddd86f9c3d829b06009d9e706ff72b07001a.zip gcc-0994ddd86f9c3d829b06009d9e706ff72b07001a.tar.gz gcc-0994ddd86f9c3d829b06009d9e706ff72b07001a.tar.bz2 |
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.
Diffstat (limited to 'gcc')
27 files changed, 37 insertions, 3 deletions
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 00d0eca..534bee4 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 48b6a9b..22817a5 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 a0e53d5..0861d48 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 cfa2211..84f33d3 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 c0b1f7b..1e68926 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 a8ab49e..b922fa2 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 9a8a88a..3c0066f 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 ab05833..291907c 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 3ab6455..c372631 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 27a4bb9..be19e75 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 54222da..ad1e8e1 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 9eff15f..1c8a107 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 be97099..b8bcb79 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 7a84fcb..4ae6e36 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 fcc0b27..7c43f41 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 d22385c..b7e6759 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 6a627ab..e36c9a5 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 4c83e7b..0a6f9b2 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 1341a5b..d40f7d9 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 b8b5d07..3802078 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 7dfd575..d9b6a4d 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 4aa536b..cec959f 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 834bf0f..0317c77 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 1b468e4..915b604 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 3503dea..c42f317 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 3de4dfa..bed8621 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 84521e3..fd85650 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 (); |