On Fri, Jul 28, 2017 at 12:16 AM, Steve Ellcey <sell...@cavium.com> wrote:
> I was looking at the latest aarch64 failures and noticed PR 80925.  There
> seems to be a consensus to change the tests to reflect the current loop
> peeling behaviour so I have created a patch to do that.  There are three
> issues with this patch that might need fixing before it can be checked in.
>
> One, I fixed this for aarch64 but not power8.  I don't have a power system
> and I am not sure how to specify it in check_effective_target_vect_peel_align.
> Maybe someone on the power side can update and test the patch to address
> that.
>
> Two, I tried to include a change to gcc.dg/vect/vect-93.c which is one of
> the tests that started failing and I could never get it to pass cleanly,
> no matter how many times I tweaked the dg-final statements, so I gave up
> and left that test out.
>
> Three, I was a little concerned about the test g++.dg/vect/slp-pr56812.cc,
> it looks different than the others and does not mention peeling, but it
> was affected by the same checkins as the others.
>
> Any comments from the power and/or vectorizer folks?

On one side I'm inclined to simplify the testsuite by adding
--param vect-max-peeling-for-alignment=0 in addition to
-fno-vect-cost-model we already pass and override that in the
tests that specifically exercise peeling for alignment (do we have any?).
OTOH that would remove quite some testing coverage of prologue
peeling.

So ideally testresults would be clean with both no such --param
and that --param added...

I think most of the testcases you needed to adjust have nothing
to do with peeling for alignment thus adding this --param just for
those (and simplifying their dump scanning accordingly) is another
pragmatic option.

Adding yet another target (vect_peel_align) is IMHO not good,
especially as this one depends on cost tuning and not HW
features, so it's impossible(?) to dynamically compute it
with a test compile for example (we _do_ want a clean
vect.exp with any vector HW / tuning switch you add).

Richard.

> Steve Ellcey
> sell...@cavium.com
>
>
> 2017-07-27  Steve Ellcey  <sell...@cavium.com>
>
>         PR tree-optimization/80925
>         * gcc.dg/vect/no-section-anchors-vect-69.c: Add vect_peel_align target
>         and xfail.
>         * g++.dg/vect/slp-pr56812.cc: Add vect_peel_align target.
>         * gcc.dg/vect/section-anchors-vect-69.c: Ditto.
>         * gcc.dg/vect/vect-28.c: Ditto.
>         * gcc.dg/vect/vect-33-big-array.c: Ditto.
>         * gcc.dg/vect/vect-70.c: Ditto.
>         * gcc.dg/vect/vect-87.c: Ditto.
>         * gcc.dg/vect/vect-91.c: Ditto.
>         * lib/target-supports.exp (check_effective_target_vect_peel_align):
>         New.

Reply via email to