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! Kewen ---- gcc/testsuite/ChangeLog 2019-10-30 Kewen Lin <li...@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; }