diff options
author | Tamar Christina <tamar.christina@arm.com> | 2025-02-26 07:31:28 +0000 |
---|---|---|
committer | Tamar Christina <tamar.christina@arm.com> | 2025-02-26 07:31:28 +0000 |
commit | ebe7cd9f2833a79877fbc56829c4f37a518a9b1d (patch) | |
tree | 6c6ab319b37023f50cc9d7f3c51c045849382c49 /gcc | |
parent | 7de2f64d72f02c0a7e69b9d48a834e0c78517a50 (diff) | |
download | gcc-ebe7cd9f2833a79877fbc56829c4f37a518a9b1d.zip gcc-ebe7cd9f2833a79877fbc56829c4f37a518a9b1d.tar.gz gcc-ebe7cd9f2833a79877fbc56829c4f37a518a9b1d.tar.bz2 |
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.
Diffstat (limited to 'gcc')
23 files changed, 24 insertions, 1 deletions
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 0db57c8..5980bf3 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 a35999a..00fc8f0 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 9f14a54..99d5e62 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 62d2b50..1202ec3 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 dd06e59..b79bd10 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 a6af497..7b9615f 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 8383154..0830429 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 44f5603..03160f2 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 b2556ea..a7fd3c9 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 d26d994..fb9656b 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 a0a04a0..b660f9d 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 f770a8a..8e5a3a4 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 ed2b96a..fd56fd9 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 2487c1c..5eac905 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 020ca70..801acad 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 667cc33..8b82bdb 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 8118461..0d64bc7 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 03fa646..7db3bca 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 ab2fd40..1267bae 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 c746ebd..cfe44a0 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 6c4e9af..646e43d 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 9c5e8ca..30daf82 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 1df36af..e9fea04 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]; |