On Wed, 16 Apr 2025, Tamar Christina wrote: > Hi All, > > The given test is intended to test vectorization of a strided access done by > having a step of > 1. > > GCN target doesn't support load lanes, so the testcase is expected to fail, > other targets create a permuted load here which we then then reject. > > However some GCN arch don't seem to support the permuted loads either, so the > vectorizer tries a gather/scatter. But the indices aren't supported by some > target, so instead the vectorizer scalarizes the loads. > > I can't really test for which architecture is being used by the compiler, so > instead this updates the testcase to use one single architecture so we get a > consistent result. > > Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. > > Cross checked the failing case on amdgcn-amdhsa > and all pass now. > > Ok for master?
OK. > Thanks, > Tamar > > gcc/testsuite/ChangeLog: > > PR target/119286 > * gcc.dg/vect/vect-early-break_18.c: Force -march=gfx908 for amdgcn. > > --- > diff --git a/gcc/testsuite/gcc.dg/vect/vect-early-break_18.c > b/gcc/testsuite/gcc.dg/vect/vect-early-break_18.c > index > edddb44bad66aa419d097f69ca850e5eaa66e014..cd397049c84c47cbd3e9facb87419de58ba5b148 > 100644 > --- a/gcc/testsuite/gcc.dg/vect/vect-early-break_18.c > +++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_18.c > @@ -2,7 +2,7 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_early_break } */ > /* { dg-require-effective-target vect_int } */ > - > +/* { dg-additional-options "-march=gfx908" { target amdgcn*-*-* } } */ > /* { dg-additional-options "-Ofast" } */ > > /* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target > vect_load_lanes } } } */ > > > -- Richard Biener <rguent...@suse.de> SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)