Hi! On Wed, Jun 12, 2024 at 02:49:40PM -0500, Peter Bergner wrote: > testsuite: Fix pr66144-3.c test to accept multiple equivalent insns. > [PR115262]
("rs6000:", not "testsuite") > Jeff's commit r15-831-g05daf617ea22e1 changed the instruction we expected > for this test case into an equivalent instruction. Modify the test case > so it will accept any of three equivalent instructions we could get depending > on the options used. They aren't equivalent insns, but they are all simple insns, and all just as cheap :-) > I've verified this test case PASSes on all scenarios where the three possible > instructions are generated. Ok for trunk? > --- a/gcc/testsuite/gcc.target/powerpc/pr66144-3.c > +++ b/gcc/testsuite/gcc.target/powerpc/pr66144-3.c > @@ -1,5 +1,5 @@ > /* { dg-do compile { target { powerpc64*-*-* } } } */ Probably should be an "lp64" instead? > -/* { dg-options "-mdejagnu-cpu=power8 -mvsx -O2 -ftree-vectorize" } */ > +/* { dg-options "-mdejagnu-cpu=power8 -mvsx -O2 -ftree-vectorize > -fno-unroll-loops" } */ The "-mvsx" is superfluous btw (implied by -mcpu=power8). > /* { dg-require-effective-target powerpc_vsx } */ This isn't needed either. > -/* { dg-final { scan-assembler {\mvcmpequw\M} } } */ > -/* { dg-final { scan-assembler {\mxxsel\M} } } */ > +/* { dg-final { scan-assembler-times {\mvcmpequw\M} 1 } } */ > +/* { dg-final { scan-assembler-times {\m(?:xxsel|xxlor|vor)\M} 1 } } */ > /* { dg-final { scan-assembler-not {\mvspltisw\M} } } */ > /* { dg-final { scan-assembler-not {\mxxlorc\M} } } */ Okido, thanks! The three trivial tweaks I suggest here are okay as well if you want, after testing of course ;-) Segher