https://gcc.gnu.org/g:ebe7cd9f2833a79877fbc56829c4f37a518a9b1d

commit r15-7711-gebe7cd9f2833a79877fbc56829c4f37a518a9b1d
Author: Tamar Christina <tamar.christ...@arm.com>
Date:   Wed Feb 26 07:31:28 2025 +0000

    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:
---
 gcc/testsuite/g++.dg/ext/pragma-unroll-lambda-lto.C | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c          | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c         | 2 ++
 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c         | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_2g.c       | 2 +-
 gcc/testsuite/gcc.dg/tree-ssa/ivopts-5.c            | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/ivopts-6.c            | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/ivopts-7.c            | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/ivopts-8.c            | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/ivopts-9.c            | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-1.c       | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-10.c      | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-11.c      | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-12.c      | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-2.c       | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-3.c       | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-4.c       | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-5.c       | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-6.c       | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-7.c       | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-8.c       | 1 +
 gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-9.c       | 1 +
 gcc/testsuite/gcc.target/i386/pr90178.c             | 1 +
 23 files changed, 24 insertions(+), 1 deletion(-)

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 0db57c8d3a01..5980bf316899 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 a35999a172ac..00fc8f01991c 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 9f14a54c4137..99d5e6231ff0 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 62d2b5049fd9..1202ec326c7e 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 dd06e598f7f4..b79bd10585f5 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 a6af497f4bf7..7b9615f07f3c 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 8383154f99f2..08304293140a 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 44f5603d4f5b..03160f234f74 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 b2556eaac0d0..a7fd3c9de374 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 d26d994f9bd2..fb9656b88d7b 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 a0a04a08c61d..b660f9d25842 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 f770a8ad812a..8e5a3a434986 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 ed2b96a0d1a4..fd56fd9747e3 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 2487c1c8205a..5eac905aff87 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 020ca705790d..801acad33e9d 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 667cc333d9f2..8b82bdbc0c92 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 8118461af0b6..0d64bc72f823 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 03fa646661e2..7db3bca3b2df 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 ab2fd403d300..1267bae5f1c4 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 c746ebd71556..cfe44a06ce4a 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 6c4e9afa487e..646e43d9aad2 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 9c5e8ca9a793..30daf82fac5c 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 1df36af0541c..e9fea04fb148 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];

Reply via email to