On Wed, Oct 30, 2019 at 10:30 AM Kewen.Lin 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
>
> 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 {
>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;
> }
>