Hi All, 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. Bootstrapped Regtested on aarch64-none-linux-gnu, arm-none-linux-gnueabihf, x86_64-pc-linux-gnu -m32, -m64 and no issues. Committed as patch was pre-approved. Thanks, Tamar 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 0db57c8d3a01985e1e76bb9f8a52613179060f19..5980bf316899553e16d078deee32911f31fafd94 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 a35999a172ac762bb4873d10b331301750f4015b..00fc8f01991cc994737bc2088e72d85f249bf341 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 9f14a54c413757df7230b7b6053c83a8a5a1e6c9..99d5e6231ff053089782b52dc6ce9b9ccb8c64a0 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 62d2b5049fd902047540b90a2ef79b789f903969..1202ec326c7e0020daf58af9544cdbe2b1da4914 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 dd06e598f7f48e1a75eba41d626860404325259d..b79bd10585f501992c93648ea1a1f2d2699c07c1 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 a6af497f4bf7f1ef6c64e09b87931225287d78e0..7b9615f07f3c4af3657eb7d0183c1a51de9fbc42 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 8383154f99f2559873ef5b3a8fa8119cf679782f..08304293140a82e5484c8399b4374a474c66b34b 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 44f5603d4f5b8da6c759e8732503638131b0fca8..03160f234f74319cda6d7450788da871ea0cea74 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 b2556eaac0d02f65a50bbd532a47fef9c0b1dfa8..a7fd3c9de3746c116dfb73419805fd7ce6e69ffa 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 d26d994f9bd28bc2346a6878d48b159729851ef6..fb9656b88d7bea8a9a84e2ca6ff877a2aac7e05b 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 a0a04a08c61d48128ad5fd1a11daaf0abc783053..b660f9d258423356a4d73d5996a5f1a8ede9ead9 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 f770a8ad812aedee8f65b011134cda91cbe2bf91..8e5a3a434986a31bb635bf3bc1ecc36d463f2ee7 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 ed2b96a0d1a4e0c90bf52a83b5f21e2fd1c5a5c5..fd56fd9747e3c572c93107188ede7482ad01bb99 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 2487c1c8205a4f09fd16974f3599ddc8c48b92cf..5eac905aff87e6c4aa4449c689d2594b240fec4e 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 020ca705790d6ace707184c9d2804f3d690de916..801acad33e9d6b7eb17f0cde408903c4f2674acc 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 667cc333d9f2c030474e0b3115c0b86cda733c2e..8b82bdbc0c92cc579824393dc15f2f5a3e5f55e5 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 8118461af0b63d1f9b42879783ae2650a9d9b34a..0d64bc72f82341fd0518a6f59ad2a10aec7b0088 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 03fa646661e2839946e80e0b27ea1d0ea0ef9aeb..7db3bca3b2df98f3c0b3db00be18fc8054644655 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 ab2fd403d3005ba06d9992580945ce28f8fb1c09..1267bae5f1c44d60d484cca7d88a5714770f147f 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 c746ebd715561eb9f7192a433c321f86e0751eaa..cfe44a06ce4ada6fddc3659ddf748a16904b5d9e 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 6c4e9afa487ed33e4ab5d887640e0efa44a72c6d..646e43d9aad2b235bdae0d9d52df89a3da2dd3e4 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 9c5e8ca9a793b0405e7f448798aa1fac483d2f05..30daf82fac5cef2e26e4597aa4eb10aa33cd0af2 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 1df36af0541c01f3624fe51efbc8cfa0ec67fe60..e9fea04fb148ed53c1ac9b2c6ed73e85ba982b42 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]; --
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 0db57c8d3a01985e1e76bb9f8a52613179060f19..5980bf316899553e16d078deee32911f31fafd94 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 a35999a172ac762bb4873d10b331301750f4015b..00fc8f01991cc994737bc2088e72d85f249bf341 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 9f14a54c413757df7230b7b6053c83a8a5a1e6c9..99d5e6231ff053089782b52dc6ce9b9ccb8c64a0 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 62d2b5049fd902047540b90a2ef79b789f903969..1202ec326c7e0020daf58af9544cdbe2b1da4914 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 dd06e598f7f48e1a75eba41d626860404325259d..b79bd10585f501992c93648ea1a1f2d2699c07c1 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 a6af497f4bf7f1ef6c64e09b87931225287d78e0..7b9615f07f3c4af3657eb7d0183c1a51de9fbc42 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 8383154f99f2559873ef5b3a8fa8119cf679782f..08304293140a82e5484c8399b4374a474c66b34b 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 44f5603d4f5b8da6c759e8732503638131b0fca8..03160f234f74319cda6d7450788da871ea0cea74 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 b2556eaac0d02f65a50bbd532a47fef9c0b1dfa8..a7fd3c9de3746c116dfb73419805fd7ce6e69ffa 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 d26d994f9bd28bc2346a6878d48b159729851ef6..fb9656b88d7bea8a9a84e2ca6ff877a2aac7e05b 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 a0a04a08c61d48128ad5fd1a11daaf0abc783053..b660f9d258423356a4d73d5996a5f1a8ede9ead9 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 f770a8ad812aedee8f65b011134cda91cbe2bf91..8e5a3a434986a31bb635bf3bc1ecc36d463f2ee7 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 ed2b96a0d1a4e0c90bf52a83b5f21e2fd1c5a5c5..fd56fd9747e3c572c93107188ede7482ad01bb99 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 2487c1c8205a4f09fd16974f3599ddc8c48b92cf..5eac905aff87e6c4aa4449c689d2594b240fec4e 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 020ca705790d6ace707184c9d2804f3d690de916..801acad33e9d6b7eb17f0cde408903c4f2674acc 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 667cc333d9f2c030474e0b3115c0b86cda733c2e..8b82bdbc0c92cc579824393dc15f2f5a3e5f55e5 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 8118461af0b63d1f9b42879783ae2650a9d9b34a..0d64bc72f82341fd0518a6f59ad2a10aec7b0088 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 03fa646661e2839946e80e0b27ea1d0ea0ef9aeb..7db3bca3b2df98f3c0b3db00be18fc8054644655 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 ab2fd403d3005ba06d9992580945ce28f8fb1c09..1267bae5f1c44d60d484cca7d88a5714770f147f 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 c746ebd715561eb9f7192a433c321f86e0751eaa..cfe44a06ce4ada6fddc3659ddf748a16904b5d9e 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 6c4e9afa487ed33e4ab5d887640e0efa44a72c6d..646e43d9aad2b235bdae0d9d52df89a3da2dd3e4 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 9c5e8ca9a793b0405e7f448798aa1fac483d2f05..30daf82fac5cef2e26e4597aa4eb10aa33cd0af2 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 1df36af0541c01f3624fe51efbc8cfa0ec67fe60..e9fea04fb148ed53c1ac9b2c6ed73e85ba982b42 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];