On Fri, Aug 27, 2021 at 11:41:06AM -0500, Bill Schmidt wrote: > This amuses me, and I want to keep it this way. :-) > > void store (TYPE a, TYPE *p) { *p = a; } > > -/* { dg-final { scan-assembler {\mlxvd2x 34\M} {target be} } } */ > > -/* { dg-final { scan-assembler {\mstxvd2x 34\M} {target be} } } */ > > -/* { dg-final { scan-assembler {\mlvx 2\M} {target le} } } */ > > -/* { dg-final { scan-assembler {\mstvx 2\M} {target le} } } */ > > +/* This regexp captures the different vector load/stores that can be > > generated: > > + > > + lxvd2x -- big endian power7/power8, little endian power8 > > + lvx -- Altivec > > + lxv -- power9 > > + plxv -- power10 > > + lxvx -- X-form variant. > > + stxvd2x -- big endian power7/power8, little endian power8 > > + stvx -- Altivec > > For symmetry, also mention stxvx as an X-form variant?
Yep, thanks. Because of the way the test is written (load a constant and store through a pointer), it wouldn't generate stxv and pstxv. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.ibm.com, phone: +1 (978) 899-4797