From: Avinash Jayakar Date: Tue, 21 Oct 2025 09:33:41 +0000 (+0530) Subject: vect: Fix regression for PR104116 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=01c854c2a3b7d7a3207c3e63caf4e8422174fe96;p=thirdparty%2Fgcc.git vect: Fix regression for PR104116 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 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. --- 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