On Thu, Mar 06, 2025 at 04:09:35PM +0100, Jakub Jelinek wrote: > Starting with r15-4225 the loop in foo1 is vectorized even at -O2 and that > implies later some small unrolling, regardless of -funroll-loops flag being > added in > #pragma GCC optimize("O3,unroll-loops") > only for foo2. > My understanding of the intent of the test was that before r12-5920 test the > backend caused -funroll-loops to be set even for foo1 despite the pragma > only appeared after it and the test just wanted to make sure unrolling is > done just in the function with -funroll-loops. > Now, seems the unrolling was happening with -O2 -fno-tree-vectorize as well, > the test would have FAILed with the following patch before r12-5920 and > PASSes since r12-5920 the same as with -O2, except that it still PASSes even > starting with r15-4225. > > Tested with x86_64-linux -> powerpc64le-linux cross, ok for trunk? > > 2025-03-06 Jakub Jelinek <ja...@redhat.com> > > PR target/117207 > PR target/103515 > * gcc.target/powerpc/pr103515.c: Add -fno-tree-vectorize to > dg-options.
I'd like to ping this patch. Thanks. > --- gcc/testsuite/gcc.target/powerpc/pr103515.c.jj 2022-01-11 > 23:11:23.207278673 +0100 > +++ gcc/testsuite/gcc.target/powerpc/pr103515.c 2025-03-06 > 15:57:48.507247453 +0100 > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O2 -fdump-rtl-loop2_unroll-optimized" } */ > +/* { dg-options "-O2 -fno-tree-vectorize -fdump-rtl-loop2_unroll-optimized" > } */ > > /* The pragma specified for foo2 should not affect foo1. > Verify compiler won't perform unrolling for foo1. */ Jakub