On 27/02/2025 11:28, Alex Coplan wrote:
> On 17/02/2025 14:28, Alex Coplan wrote:
> > Hi,
> > 
> > After the recent alignment peeling enhancements in the vectorizer we
> > started vectorizing the "checking" loops (that check for the right
> > result) in gcc.target/powerpc/vsx-vectorize-*.c,  thus skewing the
> > expected counts of various scan-dump-times tests (causing them to FAIL).
> > This adds #pragma GCC novector above the relevant loops to prevent them
> > from being vectorized, thereby fixing the test failures.
> > 
> > Tested with RUNTESTFLAGS="powerpc.exp=vsx-vectorize-*.c" on
> > powerpc64le-linux-gnu (cfarm29): no FAILs observed wtih the patch
> > applied.  OK for trunk?
> 
> Ping.

Ping^2.  I suppose this might want a backport to the 15 branch as well, now?

> 
> > 
> > Thanks,
> > Alex
> > 
> > gcc/testsuite/ChangeLog:
> > 
> >     PR testsuite/118567
> >     * gcc.target/powerpc/vsx-vectorize-1.c: Add #pragma to block
> >     vectorization of result-checking loop.
> >     * gcc.target/powerpc/vsx-vectorize-2.c: Likewise.
> >     * gcc.target/powerpc/vsx-vectorize-3.c: Likewise.
> >     * gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
> >     * gcc.target/powerpc/vsx-vectorize-5.c: Likewise.
> >     * gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
> >     * gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
> >     * gcc.target/powerpc/vsx-vectorize-8.c: Likewise.
> 
> > diff --git a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-1.c 
> > b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-1.c
> > index a0e0496d345..927a523568b 100644
> > --- a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-1.c
> > +++ b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-1.c
> > @@ -30,6 +30,7 @@ main1 (struct foo * __restrict__ p)
> >      }
> >  
> >    /* check results:  */
> > +#pragma GCC novector
> >    for (i = 0; i < N; i++)
> >      {
> >        if (p->y[i] != x[i])
> > diff --git a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c 
> > b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c
> > index 52c49b27cb7..84a63b3c42f 100644
> > --- a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c
> > +++ b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c
> > @@ -15,6 +15,7 @@ void bar (float *pd, float *pa, float *pb, float *pc)
> >    int i;
> >  
> >    /* check results:  */
> > +#pragma GCC novector
> >    for (i = 0; i < N; i++)
> >      {
> >        if (pa[i] != (pb[i] * pc[i]))
> > diff --git a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c 
> > b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c
> > index f2f838a77fc..33054feef57 100644
> > --- a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c
> > +++ b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c
> > @@ -15,6 +15,7 @@ void bar (short *pa, short *pb, short *pc)
> >    int i;
> >  
> >    /* check results:  */
> > +#pragma GCC novector
> >    for (i = 0; i < N; i++)
> >      {
> >        if (pa[i] != (pb[i] * pc[i]))
> > diff --git a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c 
> > b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c
> > index 8bf9dff1712..05262cf76d9 100644
> > --- a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c
> > +++ b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c
> > @@ -15,6 +15,7 @@ void bar (double *pa, double *pb, double *pc)
> >    int i;
> >  
> >    /* check results:  */
> > +#pragma GCC novector
> >    for (i = 0; i < N; i++)
> >      {
> >        if (pa[i] != (pb[i] * pc[i]))
> > diff --git a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c 
> > b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c
> > index 1446e40b1d3..5478390f2ec 100644
> > --- a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c
> > +++ b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c
> > @@ -15,6 +15,7 @@ void bar (char *pa, char *pb, char *pc)
> >    int i;
> >  
> >    /* check results:  */
> > +#pragma GCC novector
> >    for (i = 0; i < N; i++)
> >      {
> >        if (pa[i] != (pb[i] + pc[i]))
> > diff --git a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c 
> > b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c
> > index 6f49ccbbb6a..e1dc35bfd4d 100644
> > --- a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c
> > +++ b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c
> > @@ -15,6 +15,7 @@ void bar (double *pd, double *pa, double *pb, double *pc)
> >    int i;
> >  
> >    /* check results:  */
> > +#pragma GCC novector
> >    for (i = 0; i < N; i++)
> >      {
> >        if (pa[i] != (pb[i] * pc[i]))
> > diff --git a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c 
> > b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c
> > index fde65a521d9..9a1ffd33881 100644
> > --- a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c
> > +++ b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c
> > @@ -15,6 +15,7 @@ void bar (int *pd, int *pa, int *pb, int *pc)
> >    int i;
> >  
> >    /* check results:  */
> > +#pragma GCC novector
> >    for (i = 0; i < N; i++)
> >      {
> >        if (pa[i] != (pb[i] * pc[i]))
> > diff --git a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c 
> > b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c
> > index fb50cd54fd9..2f6fbfb443d 100644
> > --- a/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c
> > +++ b/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-8.c
> > @@ -15,6 +15,7 @@ void bar (short *pd, short *pa, short *pb, short *pc)
> >    int i;
> >  
> >    /* check results:  */
> > +#pragma GCC novector
> >    for (i = 0; i < N; i++)
> >      {
> >        if (pa[i] != (pb[i] * pc[i]))
> 

Reply via email to