Hi,

This should fix the regression failures in aarch64, x86_64 targets reported.

Thanks and regards,
Avinash Jayakar

The commit gcc-16-4464-g6883d51304f added 30 new tests for testing
vectorization of {FLOOR,MOD,ROUND}_{DIV,MOD}_EXPR. Few of them failed
for certain targets due to the vectorization of runtime-check loop which
was not intended.
This patch disables optimization for all of the run-time check loops so
that the count of vectorized loop is always 1.

2025-10-21  Avinash Jayakar  <[email protected]>

gcc/testsuite/ChangeLog:
        PR target/104116
        * gcc.dg/vect/pr104116-ceil-div-2.c: disable vectorization.
        * gcc.dg/vect/pr104116-ceil-div-pow2.c: disable vectorization.
        * gcc.dg/vect/pr104116-ceil-div.c: disable vectorization.
        * gcc.dg/vect/pr104116-ceil-mod-2.c: disable vectorization.
        * gcc.dg/vect/pr104116-ceil-mod-pow2.c: disable vectorization.
        * gcc.dg/vect/pr104116-ceil-mod.c: disable vectorization.
        * gcc.dg/vect/pr104116-ceil-udiv-2.c: disable vectorization.
        * gcc.dg/vect/pr104116-ceil-udiv-pow2.c: disable vectorization.
        * gcc.dg/vect/pr104116-ceil-udiv.c: disable vectorization.
        * gcc.dg/vect/pr104116-ceil-umod-2.c: disable vectorization.
        * gcc.dg/vect/pr104116-ceil-umod-pow2.c: disable vectorization.
        * gcc.dg/vect/pr104116-ceil-umod.c: disable vectorization.
        * gcc.dg/vect/pr104116-floor-div-2.c: disable vectorization.
        * gcc.dg/vect/pr104116-floor-div-pow2.c: disable vectorization.
        * gcc.dg/vect/pr104116-floor-div.c: disable vectorization.
        * gcc.dg/vect/pr104116-floor-mod-2.c: disable vectorization.
        * gcc.dg/vect/pr104116-floor-mod-pow2.c: disable vectorization.
        * gcc.dg/vect/pr104116-floor-mod.c: disable vectorization.
        * gcc.dg/vect/pr104116-round-div-2.c: disable vectorization.
        * gcc.dg/vect/pr104116-round-div-pow2.c: disable vectorization.
        * gcc.dg/vect/pr104116-round-div.c: disable vectorization.
        * gcc.dg/vect/pr104116-round-mod-2.c: disable vectorization.
        * gcc.dg/vect/pr104116-round-mod-pow2.c: disable vectorization.
        * gcc.dg/vect/pr104116-round-mod.c: disable vectorization.
        * gcc.dg/vect/pr104116-round-udiv-2.c: disable vectorization.
        * gcc.dg/vect/pr104116-round-udiv-pow2.c: disable vectorization.
        * gcc.dg/vect/pr104116-round-udiv.c: disable vectorization.
        * gcc.dg/vect/pr104116-round-umod-2.c: disable vectorization.
        * gcc.dg/vect/pr104116-round-umod-pow2.c: disable vectorization.
        * gcc.dg/vect/pr104116-round-umod.c: disable vectorization.
        * gcc.dg/vect/pr104116.h (init_arr): use std idiom, correct
        indentation.
        (init_uarr): use std idiom.
---
 gcc/testsuite/gcc.dg/vect/pr104116-ceil-div-2.c      | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-ceil-div-pow2.c   | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-ceil-div.c        | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod-2.c      | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod-pow2.c   | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod.c        | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv-2.c     | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv-pow2.c  | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv.c       | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod-2.c     | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod-pow2.c  | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod.c       | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-floor-div-2.c     | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-floor-div-pow2.c  | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-floor-div.c       | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-floor-mod-2.c     | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-floor-mod-pow2.c  | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-floor-mod.c       | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-round-div-2.c     | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-round-div-pow2.c  | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-round-div.c       | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-round-mod-2.c     | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-round-mod-pow2.c  | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-round-mod.c       | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-round-udiv-2.c    | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-round-udiv-pow2.c | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-round-udiv.c      | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-round-umod-2.c    | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-round-umod-pow2.c | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116-round-umod.c      | 1 +
 gcc/testsuite/gcc.dg/vect/pr104116.h                 | 9 ++++-----
 31 files changed, 34 insertions(+), 5 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-div-2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-div-2.c
index 7078776a577..cc0cb45bc40 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-div-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-div-2.c
@@ -16,6 +16,7 @@ int main (void)
   int *a = (int*)&arr;
   init_arr(a, N);
   div(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = cl_div (i - N/2, 2);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-div-pow2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-div-pow2.c
index 7aa9ae84627..8abd3535056 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-div-pow2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-div-pow2.c
@@ -17,6 +17,7 @@ int main (void)
   int *a = (int*)&arr;
   init_arr(a, N);
   div(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = cl_div (i - N/2, 8);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-div.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-div.c
index 6f903ffda92..e4a8d306229 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-div.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-div.c
@@ -17,6 +17,7 @@ int main (void)
   int *a = (int*)&arr;
   init_arr(a, N);
   div(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = cl_div (i - N/2, 19);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod-2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod-2.c
index ee6dfb92de9..6e559ab4b06 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod-2.c
@@ -17,6 +17,7 @@ int main (void)
   int *a = (int*)&arr;
   init_arr(a, N);
   div(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = cl_mod (i - N/2, 2);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod-pow2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod-pow2.c
index de409ea349a..9fdbf2713c4 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod-pow2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod-pow2.c
@@ -17,6 +17,7 @@ int main (void)
   unsigned int *a = (unsigned int*)&arr;
   init_arr(a, N);
   div(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     unsigned int expected = cl_mod (i - N/2, 8);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod.c
index f2ba9367461..3f852184d20 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-mod.c
@@ -17,6 +17,7 @@ int main (void)
   int *a = (int*)&arr;
   init_arr(a, N);
   div(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = cl_mod (i - N/2, 19);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv-2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv-2.c
index db1f797c1da..d8365c0d2c2 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv-2.c
@@ -16,6 +16,7 @@ int main (void)
   unsigned int *ua = (unsigned int*)&uarr;
   init_uarr(ua, N);
   udiv(ua);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     unsigned int expected = cl_udiv (0xf0000000 + i, 2);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv-pow2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv-pow2.c
index 06b4257d58f..389b6c31a0a 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv-pow2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv-pow2.c
@@ -16,6 +16,7 @@ int main (void)
   unsigned int *ua = (unsigned int*)&uarr;
   init_uarr(ua, N);
   udiv(ua);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     unsigned int expected = cl_udiv (0xf0000000 + i, 8);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv.c
index ef6e8563ce0..54aa4fbf08a 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-udiv.c
@@ -16,6 +16,7 @@ int main (void)
   unsigned int *ua = (unsigned int*)&uarr;
   init_uarr(ua, N);
   udiv(ua);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     unsigned int expected = cl_udiv (0xf0000000 + i, 19);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod-2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod-2.c
index 2d0a5dbaf77..190b805da3d 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod-2.c
@@ -17,6 +17,7 @@ int main (void)
   unsigned int *a = (unsigned int*)&uarr;
   init_uarr(a, N);
   mod(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     unsigned int expected = cl_umod (0xf0000000 + i, 2);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod-pow2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod-pow2.c
index 2d0a5dbaf77..190b805da3d 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod-pow2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod-pow2.c
@@ -17,6 +17,7 @@ int main (void)
   unsigned int *a = (unsigned int*)&uarr;
   init_uarr(a, N);
   mod(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     unsigned int expected = cl_umod (0xf0000000 + i, 2);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod.c
index 949a5091e36..632fd46cdee 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-ceil-umod.c
@@ -17,6 +17,7 @@ int main (void)
   unsigned int *a = (unsigned int*)&uarr;
   init_uarr(a, N);
   mod(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     unsigned int expected = cl_umod (0xf0000000 + i, 19);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-floor-div-2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-floor-div-2.c
index d93e0513984..b9db0d2d9eb 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-floor-div-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-floor-div-2.c
@@ -16,6 +16,7 @@ int main (void)
   int * a = (int*)&arr;
   init_arr(a, N);
   div_2(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = fl_div (i - N/2, 2);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-floor-div-pow2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-floor-div-pow2.c
index 9e986a75dd1..5000c29b437 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-floor-div-pow2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-floor-div-pow2.c
@@ -16,6 +16,7 @@ int main (void)
   int * a = (int*)&arr;
   init_arr(a, N);
   div_2(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = fl_div (i - N/2, 8);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-floor-div.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-floor-div.c
index 89dd270364c..ed34249070a 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-floor-div.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-floor-div.c
@@ -16,6 +16,7 @@ int main (void)
   int * a = (int*)&arr;
   init_arr(a, N);
   div_2(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = fl_div (i - N/2, 19);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-floor-mod-2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-floor-mod-2.c
index 0c5c1621e0d..62995bb55cc 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-floor-mod-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-floor-mod-2.c
@@ -16,6 +16,7 @@ int main (void)
   int * a = (int*)&arr;
   init_arr(a, N);
   mod(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = fl_mod (i - N/2, 2);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-floor-mod-pow2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-floor-mod-pow2.c
index f3de1450000..b92243dbc86 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-floor-mod-pow2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-floor-mod-pow2.c
@@ -16,6 +16,7 @@ int main (void)
   int * a = (int*)&arr;
   init_arr(a, N);
   mod(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = fl_mod (i - N/2, 8);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-floor-mod.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-floor-mod.c
index 3e6bbe978b5..63843b9795d 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-floor-mod.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-floor-mod.c
@@ -16,6 +16,7 @@ int main (void)
   int * a = (int*)&arr;
   init_arr(a, N);
   mod(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = fl_mod (i - N/2, 19);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-round-div-2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-round-div-2.c
index c242ccb9b61..c72866a9144 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-round-div-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-round-div-2.c
@@ -16,6 +16,7 @@ int main (void)
   int * a = (int*)&arr;
   init_arr(a, N);
   div(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = rd_div (i - N/2, 2);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-round-div-pow2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-round-div-pow2.c
index 365c2c59866..9e3e1ed2e09 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-round-div-pow2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-round-div-pow2.c
@@ -16,6 +16,7 @@ int main (void)
   int * a = (int*)&arr;
   init_arr(a, N);
   div(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = rd_div (i - N/2, 8);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-round-div.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-round-div.c
index 5c377d118ab..5dd0f374640 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-round-div.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-round-div.c
@@ -16,6 +16,7 @@ int main (void)
   int * a = (int*)&arr;
   init_arr(a, N);
   div(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = rd_div (i - N/2, 19);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-round-mod-2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-round-mod-2.c
index 6430b3ea9ad..fe8f8bb0196 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-round-mod-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-round-mod-2.c
@@ -16,6 +16,7 @@ int main (void)
   int * a = (int*)&arr;
   init_arr(a, N);
   mod(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = rd_mod (i - N/2, 2);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-round-mod-pow2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-round-mod-pow2.c
index 46c1789e939..cd3bbda29a4 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-round-mod-pow2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-round-mod-pow2.c
@@ -16,6 +16,7 @@ int main (void)
   int * a = (int*)&arr;
   init_arr(a, N);
   mod(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = rd_mod (i - N/2, 8);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-round-mod.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-round-mod.c
index e7ca44e2f84..e617623e1ee 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-round-mod.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-round-mod.c
@@ -16,6 +16,7 @@ int main (void)
   int * a = (int*)&arr;
   init_arr(a, N);
   mod(a);
+  #pragma GCC novector
   for (int i=0; i<N; i++)
   {
     int expected = rd_mod (i - N/2, 19);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-round-udiv-2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-round-udiv-2.c
index 4d42f4e3c02..de5e0a42da1 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-round-udiv-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-round-udiv-2.c
@@ -16,6 +16,7 @@ int main (void)
   unsigned int * a = (unsigned int*)&uarr;
   init_uarr(a, N);
   div(a);
+  #pragma GCC novector
   for (unsigned int i=0; i<N; i++)
   {
     unsigned int expected = rd_udiv (0xf0000000 + i, 2);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-round-udiv-pow2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-round-udiv-pow2.c
index 137b249dc44..a802b97c28c 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-round-udiv-pow2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-round-udiv-pow2.c
@@ -16,6 +16,7 @@ int main (void)
   unsigned int * a = (unsigned int*)&uarr;
   init_uarr(a, N);
   div(a);
+  #pragma GCC novector
   for (unsigned int i=0; i<N; i++)
   {
     unsigned int expected = rd_udiv (0xf0000000 + i, 8);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-round-udiv.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-round-udiv.c
index 183a930aef9..7d5db9223b7 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-round-udiv.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-round-udiv.c
@@ -16,6 +16,7 @@ int main (void)
   unsigned int * a = (unsigned int*)&uarr;
   init_uarr(a, N);
   div(a);
+  #pragma GCC novector
   for (unsigned int i=0; i<N; i++)
   {
     unsigned int expected = rd_udiv (0xf0000000 + i, 19);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-round-umod-2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-round-umod-2.c
index f321e0e5c2d..155b26aea18 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-round-umod-2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-round-umod-2.c
@@ -16,6 +16,7 @@ int main (void)
   unsigned int * a = (unsigned int*)&uarr;
   init_uarr(a, N);
   mod(a);
+  #pragma GCC novector
   for (unsigned int i=0; i<N; i++)
   {
     unsigned int expected = rd_umod (0xf0000000 + i, 2);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-round-umod-pow2.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-round-umod-pow2.c
index 041ecd17f56..1b4911a0592 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-round-umod-pow2.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-round-umod-pow2.c
@@ -16,6 +16,7 @@ int main (void)
   unsigned int * a = (unsigned int*)&uarr;
   init_uarr(a, N);
   mod(a);
+  #pragma GCC novector
   for (unsigned int i=0; i<N; i++)
   {
     unsigned int expected = rd_umod (0xf0000000 + i, 8);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116-round-umod.c 
b/gcc/testsuite/gcc.dg/vect/pr104116-round-umod.c
index b5ddad1d472..3db289e7b57 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116-round-umod.c
+++ b/gcc/testsuite/gcc.dg/vect/pr104116-round-umod.c
@@ -16,6 +16,7 @@ int main (void)
   unsigned int * a = (unsigned int*)&uarr;
   init_uarr(a, N);
   mod(a);
+  #pragma GCC novector
   for (unsigned int i=0; i<N; i++)
   {
     unsigned int expected = rd_umod (0xf0000000 + i, 19);
diff --git a/gcc/testsuite/gcc.dg/vect/pr104116.h 
b/gcc/testsuite/gcc.dg/vect/pr104116.h
index 6f14e4b3103..c0973535a8c 100644
--- a/gcc/testsuite/gcc.dg/vect/pr104116.h
+++ b/gcc/testsuite/gcc.dg/vect/pr104116.h
@@ -82,17 +82,17 @@ NAME (unsigned int * a) \
 
 #define N 1024
 int arr[N];
-__attribute__((optimize("O0")))
 void init_arr (int *a, int n)
 {
-       for (int i=0; i<n; i++)
-               a[i] = i - n/2;
+  #pragma GCC novector
+  for (int i=0; i<n; i++)
+    a[i] = i - n/2;
 }
 
 unsigned int uarr[N];
-__attribute__((optimize("O0")))
 void init_uarr (unsigned int *a, int n)
 {
+  #pragma GCC novector
   for (unsigned int i=0; i<n; i++)
     a[i] = 0xf0000000 + i;
 }
@@ -141,7 +141,6 @@ int fl_div (int x, int y)
   return q;
 }
 
-
 int fl_mod (int x, int y)
 {
   int r = x % y;
-- 
2.51.0

Reply via email to