From: Tamar Christina Date: Wed, 26 Feb 2025 07:31:28 +0000 (+0000) Subject: testsuite: Add pragma novector to more tests [PR118464] X-Git-Tag: basepoints/gcc-16~1842 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ebe7cd9f2833a79877fbc56829c4f37a518a9b1d;p=thirdparty%2Fgcc.git testsuite: Add pragma novector to more tests [PR118464] These loops will now vectorize the entry finding loops. As such we get more failures because they were not expecting to be vectorized. Fixed by adding #pragma GCC novector. gcc/testsuite/ChangeLog: PR tree-optimization/118464 PR tree-optimization/116855 * g++.dg/ext/pragma-unroll-lambda-lto.C: Add pragma novector. * gcc.dg/tree-ssa/gen-vect-2.c: Likewise. * gcc.dg/tree-ssa/gen-vect-25.c: Likewise. * gcc.dg/tree-ssa/gen-vect-32.c: Likewise. * gcc.dg/tree-ssa/ivopt_mult_2g.c: Likewise. * gcc.dg/tree-ssa/ivopts-5.c: Likewise. * gcc.dg/tree-ssa/ivopts-6.c: Likewise. * gcc.dg/tree-ssa/ivopts-7.c: Likewise. * gcc.dg/tree-ssa/ivopts-8.c: Likewise. * gcc.dg/tree-ssa/ivopts-9.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-1.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-10.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-11.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-12.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-2.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-3.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-4.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-5.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-6.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-7.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-8.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-9.c: Likewise. * gcc.target/i386/pr90178.c: Likewise. --- diff --git a/gcc/testsuite/g++.dg/ext/pragma-unroll-lambda-lto.C b/gcc/testsuite/g++.dg/ext/pragma-unroll-lambda-lto.C index 0db57c8d3a0..5980bf31689 100644 --- a/gcc/testsuite/g++.dg/ext/pragma-unroll-lambda-lto.C +++ b/gcc/testsuite/g++.dg/ext/pragma-unroll-lambda-lto.C @@ -10,6 +10,7 @@ inline Iter my_find(Iter first, Iter last, Pred pred) { #pragma GCC unroll 4 +#pragma GCC novector while (first != last && !pred(*first)) ++first; return first; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c index a35999a172a..00fc8f01991 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c @@ -29,6 +29,7 @@ int main () } /* check results: */ +#pragma GCC novector for (i = 0; i < N; i++) { if (ca[i] != cb[i]) diff --git a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c index 9f14a54c413..99d5e6231ff 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c @@ -27,6 +27,7 @@ int main_1 (int n, int *p) } /* check results: */ +#pragma GCC novector for (i = 0; i < N; i++) { if (ia[i] != n) @@ -40,6 +41,7 @@ int main_1 (int n, int *p) } /* check results: */ +#pragma GCC novector for (i = 0; i < N; i++) { if (ib[i] != k) diff --git a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c index 62d2b5049fd..1202ec326c7 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c @@ -23,6 +23,7 @@ int main () } /* check results: */ +#pragma GCC novector for (i = 0; i < N; i++) { if (s.ca[i] != 5) diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_2g.c b/gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_2g.c index dd06e598f7f..b79bd10585f 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_2g.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_2g.c @@ -1,5 +1,5 @@ /* { dg-do compile { target {{ i?86-*-* x86_64-*-* } && lp64 } } } */ -/* { dg-options "-O2 -fgimple -m64 -fdump-tree-ivopts-details" } */ +/* { dg-options "-O2 -fgimple -m64 -fdump-tree-ivopts-details -fno-tree-vectorize" } */ /* Exit tests 'i < N1' and 'p2 > p_limit2' can be replaced, so * two ivs i and p2 can be eliminate. */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-5.c b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-5.c index a6af497f4bf..7b9615f07f3 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-5.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-5.c @@ -5,6 +5,7 @@ int* foo (int* mem, int sz, int val) { int i; +#pragma GCC novector for (i = 0; i < sz; i++) if (mem[i] == val) return &mem[i]; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-6.c b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-6.c index 8383154f99f..08304293140 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-6.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-6.c @@ -5,6 +5,7 @@ int* foo (int* mem, int sz, int val) { int i; +#pragma GCC novector for (i = 0; i != sz; i++) if (mem[i] == val) return &mem[i]; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-7.c b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-7.c index 44f5603d4f5..03160f234f7 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-7.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-7.c @@ -5,6 +5,7 @@ int* foo (int* mem, int beg, int end, int val) { int i; +#pragma GCC novector for (i = beg; i < end; i++) if (mem[i] == val) return &mem[i]; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-8.c b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-8.c index b2556eaac0d..a7fd3c9de37 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-8.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-8.c @@ -5,6 +5,7 @@ int* foo (int* mem, char sz, int val) { char i; +#pragma GCC novector for (i = 0; i < sz; i++) if (mem[i] == val) return &mem[i]; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-9.c b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-9.c index d26d994f9bd..fb9656b88d7 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-9.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-9.c @@ -5,6 +5,7 @@ int* foo (int* mem, unsigned char sz, int val) { unsigned char i; +#pragma GCC novector for (i = 0; i < sz; i++) if (mem[i] == val) return &mem[i]; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-1.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-1.c index a0a04a08c61..b660f9d2584 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-1.c @@ -32,6 +32,7 @@ void check (int *a, int *res, int len) { int i; +#pragma GCC novector for (i = 0; i < len; i++) if (a[i] != res[i]) abort (); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-10.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-10.c index f770a8ad812..8e5a3a43498 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-10.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-10.c @@ -23,6 +23,7 @@ void check (int *a, int *res, int len) { int i; +#pragma GCC novector for (i = 0; i < len; i++) if (a[i] != res[i]) abort (); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-11.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-11.c index ed2b96a0d1a..fd56fd9747e 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-11.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-11.c @@ -29,6 +29,7 @@ void check (int *a, int *res, int len, int sum, int val) if (sum != val) abort (); +#pragma GCC novector for (i = 0; i < len; i++) if (a[i] != res[i]) abort (); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-12.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-12.c index 2487c1c8205..5eac905aff8 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-12.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-12.c @@ -37,6 +37,7 @@ void check (int *a, int *res, int len, int sval) if (sum != sval) abort (); +#pragma GCC novector for (i = 0; i < len; i++) if (a[i] != res[i]) abort (); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-2.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-2.c index 020ca705790..801acad33e9 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-2.c @@ -32,6 +32,7 @@ void check (int *a, int *res, int len) { int i; +#pragma GCC novector for (i = 0; i < len; i++) if (a[i] != res[i]) abort (); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-3.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-3.c index 667cc333d9f..8b82bdbc0c9 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-3.c @@ -40,6 +40,7 @@ void check (int *a, int *res, int len) { int i; +#pragma GCC novector for (i = 0; i < len; i++) if (a[i] != res[i]) abort (); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-4.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-4.c index 8118461af0b..0d64bc72f82 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-4.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-4.c @@ -31,6 +31,7 @@ void check (int *a, int *res, int len) { int i; +#pragma GCC novector for (i = 0; i < len; i++) if (a[i] != res[i]) abort (); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-5.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-5.c index 03fa646661e..7db3bca3b2d 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-5.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-5.c @@ -33,6 +33,7 @@ void check (int *a, int *res, int len) { int i; +#pragma GCC novector for (i = 0; i < len; i++) if (a[i] != res[i]) abort (); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-6.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-6.c index ab2fd403d30..1267bae5f1c 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-6.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-6.c @@ -35,6 +35,7 @@ void check (int *a, int *res, int len) { int i; +#pragma GCC novector for (i = 0; i < len; i++) if (a[i] != res[i]) abort (); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-7.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-7.c index c746ebd7155..cfe44a06ce4 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-7.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-7.c @@ -33,6 +33,7 @@ void check (int *a, int *res, int len) { int i; +#pragma GCC novector for (i = 0; i < len; i++) if (a[i] != res[i]) abort (); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-8.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-8.c index 6c4e9afa487..646e43d9aad 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-8.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-8.c @@ -31,6 +31,7 @@ void check (int *a, int *res, int len) { int i; +#pragma GCC novector for (i = 0; i < len; i++) if (a[i] != res[i]) abort (); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-9.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-9.c index 9c5e8ca9a79..30daf82fac5 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-9.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-9.c @@ -69,6 +69,7 @@ void check (int *a, int *res, int len) { int i; +#pragma GCC novector for (i = 0; i < len; i++) if (a[i] != res[i]) abort (); diff --git a/gcc/testsuite/gcc.target/i386/pr90178.c b/gcc/testsuite/gcc.target/i386/pr90178.c index 1df36af0541..e9fea04fb14 100644 --- a/gcc/testsuite/gcc.target/i386/pr90178.c +++ b/gcc/testsuite/gcc.target/i386/pr90178.c @@ -4,6 +4,7 @@ int* find_ptr (int* mem, int sz, int val) { +#pragma GCC novector for (int i = 0; i < sz; i++) if (mem[i] == val) return &mem[i];