This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, rs6000] Fix PR92127


On Wed, Oct 30, 2019 at 10:30 AM Kewen.Lin <linkw@linux.ibm.com> wrote:
>
> Hi,
>
> As PR92127 shows, recent commit r276645 enables more unrollings,
> two ppc vectorization cost model test cases are fragile and failed
> after the change.  This patch is to disable unrolling for the
> loops of interest to make test cases more robust.
>
> Verified on ppc64-redhat-linux.  Should be fine on powerpc64le which
> supports hw_misalign and would be XFAIL.
>
> Is it ok for trunk?  Thanks in advance!

OK.

(since it's also on my TODO to eventually revert this change...)

Richard.

>
>
> Kewen
>
> ----
>
> gcc/testsuite/ChangeLog
>
> 2019-10-30  Kewen Lin  <linkw@gcc.gnu.org>
>
>         PR testsuite/92127
>         * gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c: Disable unroll.
>         * gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c: Likewise.
>
>
> diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c
> index a3662e2..34445dc 100644
> --- a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c
> +++ b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c
> @@ -13,6 +13,8 @@ interp_pitch(float *exc, float *interp, int pitch, int len)
>     for (i=0;i<len;i++)
>     {
>        float tmp = 0;
> +      /* PR92127, disable unroll to avoid unexpected profit calculation.  */
> +      #pragma GCC unroll 0
>        for (k=0;k<7;k++)
>        {
>           tmp += exc[i-pitch+k+maxj-6];
> diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c
> index f2395fc..c37e73e 100644
> --- a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c
> +++ b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c
> @@ -9,6 +9,8 @@ ggSpectrum_Set8(float * data, float d)
>  {
>     int i;
>
> +   /* PR92127, disable unroll to avoid unexpected profit calculation.  */
> +   #pragma GCC unroll 0
>     for (i = 0; i < 8; i++)
>        data[i] = d;
>  }
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]