On Wed, 2026-08-26 at 13:25 +0530, Surya Kumari Jangala wrote: > Hi, > > The comments in the new .h files have to be changed. > For example, in mma-builtin-1.h, the comment says: > > /* Header file for mma-builtin-1.c test - contains test functions > only */ > > The file name has to be changed from mma-builtin-1.c to > mma-builtin-1.dmf.c and mma-builtin-1.nodmf.c, or > mma-builtin-1.*.c. > > Please send across a patch with these changes.
Thank you. I have updated these comments and submitted the patch: https://gcc.gnu.org/pipermail/gcc-patches/2026-September/729980.html Regards, Avinash Jayakar > > -Surya > > > > On 23/07/26 3:09 PM, Avinash Jayakar wrote: > > From: Avinash Jayakar <[email protected]> > > > > Changes from v1: > > * Use dmf, nodmf instead of p10 and future in updated test file > > names. > > * Use powerpc_future_compile_ok for dmf tests. > > * Use -mno-dense-math for nodmf tests. > > > > This patch splits the mma related test cases for powerpc into > > power10 > > and future. > > > > gcc/testsuite/ChangeLog: > > * gcc.target/powerpc/mma-builtin-1.c: Move to... > > * gcc.target/powerpc/mma-builtin-1.h: ...here. > > * gcc.target/powerpc/mma-builtin-10-pair.c: Move to... > > * gcc.target/powerpc/mma-builtin-10-pair.h: ...here. > > * gcc.target/powerpc/mma-builtin-2.c: Move to... > > * gcc.target/powerpc/mma-builtin-2.h: ...here. > > * gcc.target/powerpc/mma-builtin-3.c: Move to... > > * gcc.target/powerpc/mma-builtin-3.nodmf.c: ...here. > > * gcc.target/powerpc/mma-builtin-4.c: Move to... > > * gcc.target/powerpc/mma-builtin-4.h: ...here. > > * gcc.target/powerpc/mma-builtin-5.c: Move to... > > * gcc.target/powerpc/mma-builtin-5.h: ...here. > > * gcc.target/powerpc/mma-builtin-6.c: Move to... > > * gcc.target/powerpc/mma-builtin-6.nodmf.c: ...here. > > * gcc.target/powerpc/mma-builtin-7.c: Move to... > > * gcc.target/powerpc/mma-builtin-7.h: ...here. > > * gcc.target/powerpc/mma-builtin-8.c: Move to... > > * gcc.target/powerpc/mma-builtin-8.h: ...here. > > * gcc.target/powerpc/mma-builtin-9.c: Move to... > > * gcc.target/powerpc/mma-builtin-9.h: ...here. > > * gcc.target/powerpc/mma-builtin-10-quad.c: Removed. > > * gcc.target/powerpc/mma-builtin-1.dmf.c: New test. > > * gcc.target/powerpc/mma-builtin-1.nodmf.c: New test. > > * gcc.target/powerpc/mma-builtin-10-pair.dmf.c: New test. > > * gcc.target/powerpc/mma-builtin-10-pair.nodmf.c: New test. > > * gcc.target/powerpc/mma-builtin-10-quad.dmf.c: New test. > > * gcc.target/powerpc/mma-builtin-10-quad.h: New test. > > * gcc.target/powerpc/mma-builtin-10-quad.nodmf.c: New test. > > * gcc.target/powerpc/mma-builtin-2.dmf.c: New test. > > * gcc.target/powerpc/mma-builtin-2.nodmf.c: New test. > > * gcc.target/powerpc/mma-builtin-3.dmf.c: New test. > > * gcc.target/powerpc/mma-builtin-3.h: New test. > > * gcc.target/powerpc/mma-builtin-4.dmf.c: New test. > > * gcc.target/powerpc/mma-builtin-4.nodmf.c: New test. > > * gcc.target/powerpc/mma-builtin-5.dmf.c: New test. > > * gcc.target/powerpc/mma-builtin-5.nodmf.c: New test. > > * gcc.target/powerpc/mma-builtin-6.dmf.c: New test. > > * gcc.target/powerpc/mma-builtin-6.h: New test. > > * gcc.target/powerpc/mma-builtin-7.dmf.c: New test. > > * gcc.target/powerpc/mma-builtin-7.nodmf.c: New test. > > * gcc.target/powerpc/mma-builtin-8.dmf.c: New test. > > * gcc.target/powerpc/mma-builtin-8.nodmf.c: New test. > > * gcc.target/powerpc/mma-builtin-9.dmf.c: New test. > > * gcc.target/powerpc/mma-builtin-9.nodmf.c: New test. > > --- > > .../gcc.target/powerpc/mma-builtin-1.dmf.c | 58 > > ++++++++++++++++++ > > .../{mma-builtin-1.c => mma-builtin-1.h} | 58 +-------------- > > --- > > .../gcc.target/powerpc/mma-builtin-1.nodmf.c | 59 > > +++++++++++++++++++ > > .../powerpc/mma-builtin-10-pair.dmf.c | 9 +++ > > ...uiltin-10-pair.c => mma-builtin-10-pair.h} | 8 +-- > > .../powerpc/mma-builtin-10-pair.nodmf.c | 9 +++ > > .../gcc.target/powerpc/mma-builtin-10-quad.c | 23 -------- > > .../powerpc/mma-builtin-10-quad.dmf.c | 10 ++++ > > .../gcc.target/powerpc/mma-builtin-10-quad.h | 15 +++++ > > .../powerpc/mma-builtin-10-quad.nodmf.c | 11 ++++ > > .../gcc.target/powerpc/mma-builtin-2.dmf.c | 20 +++++++ > > .../{mma-builtin-2.c => mma-builtin-2.h} | 20 +------ > > .../gcc.target/powerpc/mma-builtin-2.nodmf.c | 21 +++++++ > > .../gcc.target/powerpc/mma-builtin-3.dmf.c | 12 ++++ > > .../gcc.target/powerpc/mma-builtin-3.h | 20 +++++++ > > ...{mma-builtin-3.c => mma-builtin-3.nodmf.c} | 21 +------ > > .../gcc.target/powerpc/mma-builtin-4.dmf.c | 10 ++++ > > .../{mma-builtin-4.c => mma-builtin-4.h} | 10 +--- > > .../gcc.target/powerpc/mma-builtin-4.nodmf.c | 10 ++++ > > .../gcc.target/powerpc/mma-builtin-5.dmf.c | 10 ++++ > > .../{mma-builtin-5.c => mma-builtin-5.h} | 11 +--- > > .../gcc.target/powerpc/mma-builtin-5.nodmf.c | 12 ++++ > > .../gcc.target/powerpc/mma-builtin-6.dmf.c | 11 ++++ > > .../gcc.target/powerpc/mma-builtin-6.h | 11 ++++ > > ...{mma-builtin-6.c => mma-builtin-6.nodmf.c} | 12 +--- > > .../gcc.target/powerpc/mma-builtin-7.dmf.c | 12 ++++ > > .../{mma-builtin-7.c => mma-builtin-7.h} | 11 +--- > > .../gcc.target/powerpc/mma-builtin-7.nodmf.c | 12 ++++ > > .../gcc.target/powerpc/mma-builtin-8.dmf.c | 12 ++++ > > .../{mma-builtin-8.c => mma-builtin-8.h} | 11 +--- > > .../gcc.target/powerpc/mma-builtin-8.nodmf.c | 12 ++++ > > .../gcc.target/powerpc/mma-builtin-9.dmf.c | 10 ++++ > > .../{mma-builtin-9.c => mma-builtin-9.h} | 9 +-- > > .../gcc.target/powerpc/mma-builtin-9.nodmf.c | 10 ++++ > > 34 files changed, 388 insertions(+), 182 deletions(-) > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 1.dmf.c > > rename gcc/testsuite/gcc.target/powerpc/{mma-builtin-1.c => mma- > > builtin-1.h} (61%) > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 1.nodmf.c > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 10-pair.dmf.c > > rename gcc/testsuite/gcc.target/powerpc/{mma-builtin-10-pair.c => > > mma-builtin-10-pair.h} (55%) > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 10-pair.nodmf.c > > delete mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 10-quad.c > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 10-quad.dmf.c > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 10-quad.h > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 10-quad.nodmf.c > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 2.dmf.c > > rename gcc/testsuite/gcc.target/powerpc/{mma-builtin-2.c => mma- > > builtin-2.h} (55%) > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 2.nodmf.c > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 3.dmf.c > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 3.h > > rename gcc/testsuite/gcc.target/powerpc/{mma-builtin-3.c => mma- > > builtin-3.nodmf.c} (56%) > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 4.dmf.c > > rename gcc/testsuite/gcc.target/powerpc/{mma-builtin-4.c => mma- > > builtin-4.h} (79%) > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 4.nodmf.c > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 5.dmf.c > > rename gcc/testsuite/gcc.target/powerpc/{mma-builtin-5.c => mma- > > builtin-5.h} (61%) > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 5.nodmf.c > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 6.dmf.c > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 6.h > > rename gcc/testsuite/gcc.target/powerpc/{mma-builtin-6.c => mma- > > builtin-6.nodmf.c} (64%) > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 7.dmf.c > > rename gcc/testsuite/gcc.target/powerpc/{mma-builtin-7.c => mma- > > builtin-7.h} (51%) > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 7.nodmf.c > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 8.dmf.c > > rename gcc/testsuite/gcc.target/powerpc/{mma-builtin-8.c => mma- > > builtin-8.h} (52%) > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 8.nodmf.c > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 9.dmf.c > > rename gcc/testsuite/gcc.target/powerpc/{mma-builtin-9.c => mma- > > builtin-9.h} (58%) > > create mode 100644 gcc/testsuite/gcc.target/powerpc/mma-builtin- > > 9.nodmf.c > > > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-1.dmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-1.dmf.c > > new file mode 100644 > > index 00000000000..b4d4c41cbce > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-1.dmf.c > > @@ -0,0 +1,58 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target powerpc_future_compile_ok } */ > > +/* { dg-options "-Wno-psabi -mdejagnu-cpu=future -O2" } */ > > + > > +#include "mma-builtin-1.h" > > + > > +/* { dg-final { scan-assembler-times {\mlxv\M} 40 } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 12 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 40 } } */ > > + > > +/* { dg-final { scan-assembler-times {\mxvbf16ger2\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvbf16ger2nn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvbf16ger2np\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvbf16ger2pn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvbf16ger2pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf16ger2\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf16ger2nn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf16ger2np\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf16ger2pn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf16ger2pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf32ger\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf32gernn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf32gernp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf32gerpn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf32gerpp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi16ger2\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi16ger2pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi16ger2s\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi16ger2spp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi4ger8\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi4ger8pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi8ger4\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi8ger4pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi8ger4spp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvbf16ger2\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvbf16ger2nn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvbf16ger2np\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvbf16ger2pn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvbf16ger2pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf16ger2\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf16ger2nn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf16ger2np\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf16ger2pn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf16ger2pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf32ger\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf32gernn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf32gernp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf32gerpn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf32gerpp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi16ger2\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi16ger2pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi16ger2s\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi16ger2spp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi4ger8\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi4ger8pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi8ger4\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi8ger4pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi8ger4spp\M} 1 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-1.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-1.h > > similarity index 61% > > rename from gcc/testsuite/gcc.target/powerpc/mma-builtin-1.c > > rename to gcc/testsuite/gcc.target/powerpc/mma-builtin-1.h > > index 69ee826e1be..c2f3c2a3b4b 100644 > > --- a/gcc/testsuite/gcc.target/powerpc/mma-builtin-1.c > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-1.h > > @@ -1,6 +1,4 @@ > > -/* { dg-do compile } */ > > -/* { dg-require-effective-target power10_ok } */ > > -/* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */ > > +/* Header file for mma-builtin-1.c test - contains test functions > > only */ > > > > typedef unsigned char vec_t __attribute__((vector_size(16))); > > > > @@ -257,57 +255,3 @@ foo13b (__vector_quad *dst, __vector_quad > > *src, vec_t *vec) > > __builtin_mma_pmxvf32gernn (&acc, vec0, vec1, 15, 15); > > dst[13] = acc; > > } > > - > > -/* { dg-final { scan-assembler-times {\mlxv\M} 40 } } */ > > -/* { dg-final { scan-assembler-times {\mlxvp\M} 12 } } */ > > -/* { dg-final { scan-assembler-times {\mstxvp\M} 40 } } */ > > -/* { dg-final { scan-assembler-times {\mxxmfacc\M} 20 } } */ > > -/* { dg-final { scan-assembler-times {\mxxmtacc\M} 6 } } */ > > -/* { dg-final { scan-assembler-times {\mxvbf16ger2\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvbf16ger2nn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvbf16ger2np\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvbf16ger2pn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvbf16ger2pp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf16ger2\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf16ger2nn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf16ger2np\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf16ger2pn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf16ger2pp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf32ger\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf32gernn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf32gernp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf32gerpn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf32gerpp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvi16ger2\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvi16ger2pp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvi16ger2s\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvi16ger2spp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvi4ger8\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvi4ger8pp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvi8ger4\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvi8ger4pp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvi8ger4spp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvbf16ger2\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvbf16ger2nn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvbf16ger2np\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvbf16ger2pn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvbf16ger2pp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf16ger2\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf16ger2nn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf16ger2np\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf16ger2pn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf16ger2pp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf32ger\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf32gernn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf32gernp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf32gerpn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf32gerpp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvi16ger2\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvi16ger2pp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvi16ger2s\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvi16ger2spp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvi4ger8\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvi4ger8pp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvi8ger4\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvi8ger4pp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvi8ger4spp\M} 1 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-1.nodmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-1.nodmf.c > > new file mode 100644 > > index 00000000000..f2ae5bbc5e7 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-1.nodmf.c > > @@ -0,0 +1,59 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target power10_ok } */ > > +/* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2 -mno-dense- > > math" } */ > > + > > +#include "mma-builtin-1.h" > > + > > +/* { dg-final { scan-assembler-times {\mlxv\M} 40 } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 12 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 40 } } */ > > +/* { dg-final { scan-assembler-times {\mxxmfacc\M} 20 } } */ > > +/* { dg-final { scan-assembler-times {\mxxmtacc\M} 6 } } */ > > +/* { dg-final { scan-assembler-times {\mxvbf16ger2\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvbf16ger2nn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvbf16ger2np\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvbf16ger2pn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvbf16ger2pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf16ger2\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf16ger2nn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf16ger2np\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf16ger2pn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf16ger2pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf32ger\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf32gernn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf32gernp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf32gerpn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf32gerpp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi16ger2\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi16ger2pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi16ger2s\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi16ger2spp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi4ger8\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi4ger8pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi8ger4\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi8ger4pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvi8ger4spp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvbf16ger2\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvbf16ger2nn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvbf16ger2np\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvbf16ger2pn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvbf16ger2pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf16ger2\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf16ger2nn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf16ger2np\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf16ger2pn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf16ger2pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf32ger\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf32gernn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf32gernp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf32gerpn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf32gerpp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi16ger2\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi16ger2pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi16ger2s\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi16ger2spp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi4ger8\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi4ger8pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi8ger4\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi8ger4pp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvi8ger4spp\M} 1 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-10- > > pair.dmf.c b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10- > > pair.dmf.c > > new file mode 100644 > > index 00000000000..284ab82f275 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-pair.dmf.c > > @@ -0,0 +1,9 @@ > > +/* { dg-require-effective-target powerpc_future_compile_ok } */ > > +/* { dg-options "-mdejagnu-cpu=future -O2" } */ > > + > > +#include "mma-builtin-10-pair.h" > > + > > +/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > +/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 2 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-pair.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-pair.h > > similarity index 55% > > rename from gcc/testsuite/gcc.target/powerpc/mma-builtin-10-pair.c > > rename to gcc/testsuite/gcc.target/powerpc/mma-builtin-10-pair.h > > index d8748d8e7d0..17ff4e95e58 100644 > > --- a/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-pair.c > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-pair.h > > @@ -1,5 +1,4 @@ > > -/* { dg-require-effective-target power10_ok } */ > > -/* { dg-options "-mdejagnu-cpu=power10 -O2" } */ > > +/* Header file for mma-builtin-10-pair.c test - contains test > > functions only */ > > > > typedef unsigned char vec_t __attribute__((vector_size(16))); > > > > @@ -14,8 +13,3 @@ foo (__vector_pair *dst, vec_t *src) > > dst[0] = pair0; > > dst[2] = pair1; > > } > > - > > -/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > -/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > -/* { dg-final { scan-assembler-times {\mlxvp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mstxvp\M} 2 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-10- > > pair.nodmf.c b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10- > > pair.nodmf.c > > new file mode 100644 > > index 00000000000..93caf7fb065 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-pair.nodmf.c > > @@ -0,0 +1,9 @@ > > +/* { dg-require-effective-target power10_ok } */ > > +/* { dg-options "-mdejagnu-cpu=power10 -O2 -mno-dense-math" } */ > > + > > +#include "mma-builtin-10-pair.h" > > + > > +/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > +/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 2 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-quad.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-quad.c > > deleted file mode 100644 > > index 02342c76f5f..00000000000 > > --- a/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-quad.c > > +++ /dev/null > > @@ -1,23 +0,0 @@ > > -/* { dg-require-effective-target power10_ok } */ > > -/* { dg-options "-mdejagnu-cpu=power10 -O2" } */ > > - > > -typedef unsigned char vec_t __attribute__((vector_size(16))); > > - > > -void > > -foo (__vector_quad *dst, vec_t *src) > > -{ > > - __vector_quad quad0, quad1; > > - /* Adjacent loads should be combined into two lxvp instructions. > > - and identical build accs should not be combined. */ > > - __builtin_mma_build_acc (&quad0, src[0], src[1], src[2], > > src[3]); > > - __builtin_mma_build_acc (&quad1, src[0], src[1], src[2], > > src[3]); > > - dst[0] = quad0; > > - dst[2] = quad1; > > -} > > - > > -/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > -/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > -/* { dg-final { scan-assembler-times {\mlxvp\M} 4 } } */ > > -/* { dg-final { scan-assembler-times {\mxxmtacc\M} 2 } } */ > > -/* { dg-final { scan-assembler-times {\mxxmfacc\M} 2 } } */ > > -/* { dg-final { scan-assembler-times {\mstxvp\M} 4 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-10- > > quad.dmf.c b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10- > > quad.dmf.c > > new file mode 100644 > > index 00000000000..5ab7d40223a > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-quad.dmf.c > > @@ -0,0 +1,10 @@ > > +/* { dg-require-effective-target powerpc_future_compile_ok } */ > > +/* { dg-options "-mdejagnu-cpu=future -O2" } */ > > + > > +#include "mma-builtin-10-quad.h" > > + > > +/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > +/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > +// 2 loads compared to 4 in power, since vsx and dmr regs are > > independent. > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 2 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 4 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-quad.h > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-quad.h > > new file mode 100644 > > index 00000000000..2047cefa428 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-quad.h > > @@ -0,0 +1,15 @@ > > +/* Header file for mma-builtin-10-quad.c test - contains test > > functions only */ > > + > > +typedef unsigned char vec_t __attribute__((vector_size(16))); > > + > > +void > > +foo (__vector_quad *dst, vec_t *src) > > +{ > > + __vector_quad quad0, quad1; > > + /* Adjacent loads should be combined into two lxvp instructions. > > + and identical build accs should not be combined. */ > > + __builtin_mma_build_acc (&quad0, src[0], src[1], src[2], > > src[3]); > > + __builtin_mma_build_acc (&quad1, src[0], src[1], src[2], > > src[3]); > > + dst[0] = quad0; > > + dst[2] = quad1; > > +} > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-10- > > quad.nodmf.c b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10- > > quad.nodmf.c > > new file mode 100644 > > index 00000000000..bd8ac6876b0 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-10-quad.nodmf.c > > @@ -0,0 +1,11 @@ > > +/* { dg-require-effective-target power10_ok } */ > > +/* { dg-options "-mdejagnu-cpu=power10 -O2 -mno-dense-math" } */ > > + > > +#include "mma-builtin-10-quad.h" > > + > > +/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > +/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 4 } } */ > > +/* { dg-final { scan-assembler-times {\mxxmtacc\M} 2 } } */ > > +/* { dg-final { scan-assembler-times {\mxxmfacc\M} 2 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 4 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-2.dmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-2.dmf.c > > new file mode 100644 > > index 00000000000..86ba8c797b0 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-2.dmf.c > > @@ -0,0 +1,20 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target powerpc_future_compile_ok } */ > > +/* { dg-options "-Wno-psabi -mdejagnu-cpu=future -O2" } */ > > + > > +#include "mma-builtin-2.h" > > + > > + > > +/* { dg-final { scan-assembler-times {\mlxv\M} 4 } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 8 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 8 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf64ger\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf64gerpp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf64gerpn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf64gernp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf64gernn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf64ger\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf64gerpp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf64gerpn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf64gernp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf64gernn\M} 1 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-2.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-2.h > > similarity index 55% > > rename from gcc/testsuite/gcc.target/powerpc/mma-builtin-2.c > > rename to gcc/testsuite/gcc.target/powerpc/mma-builtin-2.h > > index 0230d727657..353f5994628 100644 > > --- a/gcc/testsuite/gcc.target/powerpc/mma-builtin-2.c > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-2.h > > @@ -1,6 +1,4 @@ > > -/* { dg-do compile } */ > > -/* { dg-require-effective-target power10_ok } */ > > -/* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */ > > +/* Header file for mma-builtin-2.c test - contains test functions > > only */ > > > > typedef unsigned char vec_t __attribute__((vector_size(16))); > > > > @@ -54,19 +52,3 @@ foo3 (__vector_quad *dst, __vector_quad *src, > > vec_t *vec, __vector_pair *pvecp) > > __builtin_mma_pmxvf64gernn (&acc, vecp0, vec1, 15, 3); > > dst[1] = acc; > > } > > - > > -/* { dg-final { scan-assembler-times {\mxxmfacc\M} 4 } } */ > > -/* { dg-final { scan-assembler-times {\mxxmtacc\M} 2 } } */ > > -/* { dg-final { scan-assembler-times {\mlxv\M} 4 } } */ > > -/* { dg-final { scan-assembler-times {\mlxvp\M} 8 } } */ > > -/* { dg-final { scan-assembler-times {\mstxvp\M} 8 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf64ger\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf64gerpp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf64gerpn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf64gernp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mxvf64gernn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf64ger\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf64gerpp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf64gerpn\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf64gernp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpmxvf64gernn\M} 1 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-2.nodmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-2.nodmf.c > > new file mode 100644 > > index 00000000000..cd56f8a7b33 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-2.nodmf.c > > @@ -0,0 +1,21 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target power10_ok } */ > > +/* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2 -mno-dense- > > math" } */ > > + > > +#include "mma-builtin-2.h" > > + > > +/* { dg-final { scan-assembler-times {\mxxmfacc\M} 4 } } */ > > +/* { dg-final { scan-assembler-times {\mxxmtacc\M} 2 } } */ > > +/* { dg-final { scan-assembler-times {\mlxv\M} 4 } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 8 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 8 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf64ger\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf64gerpp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf64gerpn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf64gernp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvf64gernn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf64ger\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf64gerpp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf64gerpn\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf64gernp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpmxvf64gernn\M} 1 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-3.dmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-3.dmf.c > > new file mode 100644 > > index 00000000000..4000839e69b > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-3.dmf.c > > @@ -0,0 +1,12 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target powerpc_future_compile_ok } */ > > +/* { dg-options "-Wno-psabi -mdejagnu-cpu=future -O2" } */ > > + > > +#include "mma-builtin-3.h" > > + > > +/* { dg-final { scan-assembler-times {\mlxv\M} 2 } } */ > > +/* { dg-final { scan-assembler-times {\mstxv\M} 2 } } */ > > +/* { dg-final { scan-assembler-not {\mlxvp\M} } } */ > > +/* { dg-final { scan-assembler-not {\mstxvp\M} } } */ > > +/* { dg-final { scan-assembler-times {\mxvcvspbf16\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mxvcvbf16spn\M} 1 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-3.h > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-3.h > > new file mode 100644 > > index 00000000000..1d685d16acc > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-3.h > > @@ -0,0 +1,20 @@ > > +/* Header file for mma-builtin-3.c test - contains test functions > > only */ > > + > > +void > > +foo0 (void) > > +{ > > + __vector_quad acc; > > + asm ("#..." : "=d" (acc)); > > + __builtin_mma_xxmtacc (&acc); > > + __builtin_mma_xxmfacc (&acc); > > + asm ("#..." :: "d" (acc)); > > +} > > + > > +typedef unsigned char vec_t __attribute__((vector_size(16))); > > + > > +void > > +foo1 (vec_t *vec) > > +{ > > + vec[1] = __builtin_vsx_xvcvspbf16 (vec[0]); > > + vec[3] = __builtin_vsx_xvcvbf16spn (vec[2]); > > +} > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-3.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-3.nodmf.c > > similarity index 56% > > rename from gcc/testsuite/gcc.target/powerpc/mma-builtin-3.c > > rename to gcc/testsuite/gcc.target/powerpc/mma-builtin-3.nodmf.c > > index 9bec78d333f..25d61b5efb7 100644 > > --- a/gcc/testsuite/gcc.target/powerpc/mma-builtin-3.c > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-3.nodmf.c > > @@ -1,25 +1,8 @@ > > /* { dg-do compile } */ > > /* { dg-require-effective-target power10_ok } */ > > -/* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */ > > +/* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2 -mno-dense- > > math" } */ > > > > -void > > -foo0 (void) > > -{ > > - __vector_quad acc; > > - asm ("#..." : "=d" (acc)); > > - __builtin_mma_xxmtacc (&acc); > > - __builtin_mma_xxmfacc (&acc); > > - asm ("#..." :: "d" (acc)); > > -} > > - > > -typedef unsigned char vec_t __attribute__((vector_size(16))); > > - > > -void > > -foo1 (vec_t *vec) > > -{ > > - vec[1] = __builtin_vsx_xvcvspbf16 (vec[0]); > > - vec[3] = __builtin_vsx_xvcvbf16spn (vec[2]); > > -} > > +#include "mma-builtin-3.h" > > > > /* { dg-final { scan-assembler-times {\mxxmtacc\M} 1 } } */ > > /* { dg-final { scan-assembler-times {\mxxmfacc\M} 1 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-4.dmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-4.dmf.c > > new file mode 100644 > > index 00000000000..c858017036b > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-4.dmf.c > > @@ -0,0 +1,10 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target powerpc_future_compile_ok } */ > > +/* { dg-options "-Wno-psabi -mdejagnu-cpu=future -O2" } */ > > + > > +#include "mma-builtin-4.h" > > + > > +/* { dg-final { scan-assembler-times {\mlxv\M} 6 } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 2 } } */ > > +/* { dg-final { scan-assembler-times {\mstxv\M} 4 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 3 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-4.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-4.h > > similarity index 79% > > rename from gcc/testsuite/gcc.target/powerpc/mma-builtin-4.c > > rename to gcc/testsuite/gcc.target/powerpc/mma-builtin-4.h > > index a9fb0107d12..b4b7be378df 100644 > > --- a/gcc/testsuite/gcc.target/powerpc/mma-builtin-4.c > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-4.h > > @@ -1,6 +1,4 @@ > > -/* { dg-do compile } */ > > -/* { dg-require-effective-target power10_ok } */ > > -/* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */ > > +/* Header file for mma-builtin-4.c test - contains test functions > > only */ > > > > typedef unsigned char vec_t __attribute__((vector_size(16))); > > > > @@ -65,9 +63,3 @@ bar2 (vec_t *dst, __vector_pair *src) > > #if !__has_builtin (__builtin_vsx_build_pair) > > # error "__has_builtin (__builtin_vsx_build_pair) failed" > > #endif > > - > > -/* { dg-final { scan-assembler-times {\mlxv\M} 6 } } */ > > -/* { dg-final { scan-assembler-times {\mlxvp\M} 2 } } */ > > -/* { dg-final { scan-assembler-times {\mstxv\M} 4 } } */ > > -/* { dg-final { scan-assembler-times {\mstxvp\M} 3 } } */ > > - > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-4.nodmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-4.nodmf.c > > new file mode 100644 > > index 00000000000..71affa7bdf0 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-4.nodmf.c > > @@ -0,0 +1,10 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target power10_ok } */ > > +/* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2 -mno-dense- > > math" } */ > > + > > +#include "mma-builtin-4.h" > > + > > +/* { dg-final { scan-assembler-times {\mlxv\M} 6 } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 2 } } */ > > +/* { dg-final { scan-assembler-times {\mstxv\M} 4 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 3 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-5.dmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-5.dmf.c > > new file mode 100644 > > index 00000000000..302e57f6414 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-5.dmf.c > > @@ -0,0 +1,10 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target powerpc_future_compile_ok } */ > > +/* { dg-options "-Wno-psabi -mdejagnu-cpu=future -O2" } */ > > + > > +#include "mma-builtin-5.h" > > + > > +/* { dg-final { scan-assembler-times {\mlxv\M} 8 } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 2 } } */ > > +/* { dg-final { scan-assembler-times {\mstxv\M} 4 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 4 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-5.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-5.h > > similarity index 61% > > rename from gcc/testsuite/gcc.target/powerpc/mma-builtin-5.c > > rename to gcc/testsuite/gcc.target/powerpc/mma-builtin-5.h > > index 00503b7343d..945b35bc92e 100644 > > --- a/gcc/testsuite/gcc.target/powerpc/mma-builtin-5.c > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-5.h > > @@ -1,6 +1,4 @@ > > -/* { dg-do compile } */ > > -/* { dg-require-effective-target power10_ok } */ > > -/* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */ > > +/* Header file for mma-builtin-5.c test - contains test functions > > only */ > > > > typedef unsigned char vec_t __attribute__((vector_size(16))); > > > > @@ -38,10 +36,3 @@ bar (vec_t *dst, __vector_quad *src) > > #if !__has_builtin (__builtin_mma_build_acc) > > # error "__has_builtin (__builtin_mma_build_acc) failed" > > #endif > > - > > -/* { dg-final { scan-assembler-times {\mlxv\M} 8 } } */ > > -/* { dg-final { scan-assembler-times {\mlxvp\M} 2 } } */ > > -/* { dg-final { scan-assembler-times {\mstxv\M} 4 } } */ > > -/* { dg-final { scan-assembler-times {\mstxvp\M} 4 } } */ > > -/* { dg-final { scan-assembler-times {\mxxmfacc\M} 3 } } */ > > -/* { dg-final { scan-assembler-times {\mxxmtacc\M} 3 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-5.nodmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-5.nodmf.c > > new file mode 100644 > > index 00000000000..bd4ee7c8719 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-5.nodmf.c > > @@ -0,0 +1,12 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target power10_ok } */ > > +/* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2 -mno-dense- > > math" } */ > > + > > +#include "mma-builtin-5.h" > > + > > +/* { dg-final { scan-assembler-times {\mlxv\M} 8 } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 2 } } */ > > +/* { dg-final { scan-assembler-times {\mstxv\M} 4 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 4 } } */ > > +/* { dg-final { scan-assembler-times {\mxxmfacc\M} 3 } } */ > > +/* { dg-final { scan-assembler-times {\mxxmtacc\M} 3 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-6.dmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-6.dmf.c > > new file mode 100644 > > index 00000000000..b09cfdd125e > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-6.dmf.c > > @@ -0,0 +1,11 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target powerpc_future_compile_ok } */ > > +/* { dg-options "-Wno-psabi -mdejagnu-cpu=future -O2" } */ > > + > > +#include "mma-builtin-6.h" > > + > > +/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > +/* { dg-final { scan-assembler-not {\mlxvp\M} } } */ > > +/* { dg-final { scan-assembler-not {\mxxmtacc\M} } } */ > > +/* { dg-final { scan-assembler-times {\mxxsetaccz\M} 2 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 4 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-6.h > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-6.h > > new file mode 100644 > > index 00000000000..fefe182ea43 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-6.h > > @@ -0,0 +1,11 @@ > > +/* Header file for mma-builtin-6.c test - contains test functions > > only */ > > + > > +void > > +foo (__vector_quad *dst) > > +{ > > + __vector_quad acc0, acc1; > > + __builtin_mma_xxsetaccz (&acc0); > > + __builtin_mma_xxsetaccz (&acc1); > > + dst[0] = acc0; > > + dst[1] = acc1; > > +} > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-6.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-6.nodmf.c > > similarity index 64% > > rename from gcc/testsuite/gcc.target/powerpc/mma-builtin-6.c > > rename to gcc/testsuite/gcc.target/powerpc/mma-builtin-6.nodmf.c > > index 715b28138e9..87771cb33d2 100644 > > --- a/gcc/testsuite/gcc.target/powerpc/mma-builtin-6.c > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-6.nodmf.c > > @@ -1,16 +1,8 @@ > > /* { dg-do compile } */ > > /* { dg-require-effective-target power10_ok } */ > > -/* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */ > > +/* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2 -mno-dense- > > math" } */ > > > > -void > > -foo (__vector_quad *dst) > > -{ > > - __vector_quad acc0, acc1; > > - __builtin_mma_xxsetaccz (&acc0); > > - __builtin_mma_xxsetaccz (&acc1); > > - dst[0] = acc0; > > - dst[1] = acc1; > > -} > > +#include "mma-builtin-6.h" > > > > /* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > /* { dg-final { scan-assembler-not {\mlxvp\M} } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-7.dmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-7.dmf.c > > new file mode 100644 > > index 00000000000..407009a49c4 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-7.dmf.c > > @@ -0,0 +1,12 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target powerpc_future_compile_ok } */ > > +/* { dg-options "-mdejagnu-cpu=future -O2" } */ > > + > > +#include "mma-builtin-7.h" > > + > > +/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > +/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 3 } } */ > > +/* { dg-final { scan-assembler-times {\mlxvpx\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mplxvp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 5 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-7.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-7.h > > similarity index 51% > > rename from gcc/testsuite/gcc.target/powerpc/mma-builtin-7.c > > rename to gcc/testsuite/gcc.target/powerpc/mma-builtin-7.h > > index c661a4b84bc..176b56b61e1 100644 > > --- a/gcc/testsuite/gcc.target/powerpc/mma-builtin-7.c > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-7.h > > @@ -1,6 +1,4 @@ > > -/* { dg-do compile } */ > > -/* { dg-require-effective-target power10_ok } */ > > -/* { dg-options "-mdejagnu-cpu=power10 -O2" } */ > > +/* Header file for mma-builtin-7.c test - contains test functions > > only */ > > > > void > > foo (__vector_pair *dst, __vector_pair *src, long idx) > > @@ -17,10 +15,3 @@ foo (__vector_pair *dst, __vector_pair *src, > > long idx) > > #if !__has_builtin (__builtin_vsx_lxvp) > > # error "__has_builtin (__builtin_vsx_lxvp) failed" > > #endif > > - > > -/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > -/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > -/* { dg-final { scan-assembler-times {\mlxvp\M} 3 } } */ > > -/* { dg-final { scan-assembler-times {\mlxvpx\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mplxvp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mstxvp\M} 5 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-7.nodmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-7.nodmf.c > > new file mode 100644 > > index 00000000000..5614d2e7113 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-7.nodmf.c > > @@ -0,0 +1,12 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target power10_ok } */ > > +/* { dg-options "-mdejagnu-cpu=power10 -O2 -mno-dense-math" } */ > > + > > +#include "mma-builtin-7.h" > > + > > +/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > +/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 3 } } */ > > +/* { dg-final { scan-assembler-times {\mlxvpx\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mplxvp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 5 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-8.dmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-8.dmf.c > > new file mode 100644 > > index 00000000000..ee9d60a36f5 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-8.dmf.c > > @@ -0,0 +1,12 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target powerpc_future_compile_ok } */ > > +/* { dg-options "-mdejagnu-cpu=future -O2" } */ > > + > > +#include "mma-builtin-8.h" > > + > > +/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > +/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 3 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvpx\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpstxvp\M} 1 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-8.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-8.h > > similarity index 52% > > rename from gcc/testsuite/gcc.target/powerpc/mma-builtin-8.c > > rename to gcc/testsuite/gcc.target/powerpc/mma-builtin-8.h > > index af29e479f83..a0ee6286369 100644 > > --- a/gcc/testsuite/gcc.target/powerpc/mma-builtin-8.c > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-8.h > > @@ -1,6 +1,4 @@ > > -/* { dg-do compile } */ > > -/* { dg-require-effective-target power10_ok } */ > > -/* { dg-options "-mdejagnu-cpu=power10 -O2" } */ > > +/* Header file for mma-builtin-8.c test - contains test functions > > only */ > > > > void > > foo (__vector_pair *dst, __vector_pair *src, long idx) > > @@ -18,10 +16,3 @@ foo (__vector_pair *dst, __vector_pair *src, > > long idx) > > #if !__has_builtin (__builtin_vsx_stxvp) > > # error "__has_builtin (__builtin_vsx_stxvp) failed" > > #endif > > - > > -/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > -/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > -/* { dg-final { scan-assembler-times {\mlxvp\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mstxvp\M} 3 } } */ > > -/* { dg-final { scan-assembler-times {\mstxvpx\M} 1 } } */ > > -/* { dg-final { scan-assembler-times {\mpstxvp\M} 1 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-8.nodmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-8.nodmf.c > > new file mode 100644 > > index 00000000000..2f2738c0133 > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-8.nodmf.c > > @@ -0,0 +1,12 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target power10_ok } */ > > +/* { dg-options "-mdejagnu-cpu=power10 -O2 -mno-dense-math" } */ > > + > > +#include "mma-builtin-8.h" > > + > > +/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > +/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 3 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvpx\M} 1 } } */ > > +/* { dg-final { scan-assembler-times {\mpstxvp\M} 1 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-9.dmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-9.dmf.c > > new file mode 100644 > > index 00000000000..a5e0c36e19b > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-9.dmf.c > > @@ -0,0 +1,10 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target powerpc_future_compile_ok } */ > > +/* { dg-options "-mdejagnu-cpu=future -O2" } */ > > + > > +#include "mma-builtin-9.h" > > + > > +/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > +/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 3 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 3 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-9.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-9.h > > similarity index 58% > > rename from gcc/testsuite/gcc.target/powerpc/mma-builtin-9.c > > rename to gcc/testsuite/gcc.target/powerpc/mma-builtin-9.h > > index 397d0f1db35..c45c3e80311 100644 > > --- a/gcc/testsuite/gcc.target/powerpc/mma-builtin-9.c > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-9.h > > @@ -1,6 +1,4 @@ > > -/* { dg-do compile } */ > > -/* { dg-require-effective-target power10_ok } */ > > -/* { dg-options "-mdejagnu-cpu=power10 -O2" } */ > > +/* Header file for mma-builtin-9.c test - contains test functions > > only */ > > > > typedef unsigned char vec_t __attribute__((vector_size(16))); > > > > @@ -21,8 +19,3 @@ bar (__vector_quad *dst, vec_t *src) > > __builtin_mma_build_acc (&quad, src[0], src[1], src[2], src[3]); > > *dst = quad; > > } > > - > > -/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > -/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > -/* { dg-final { scan-assembler-times {\mlxvp\M} 3 } } */ > > -/* { dg-final { scan-assembler-times {\mstxvp\M} 3 } } */ > > diff --git a/gcc/testsuite/gcc.target/powerpc/mma-builtin-9.nodmf.c > > b/gcc/testsuite/gcc.target/powerpc/mma-builtin-9.nodmf.c > > new file mode 100644 > > index 00000000000..8b81597e2ba > > --- /dev/null > > +++ b/gcc/testsuite/gcc.target/powerpc/mma-builtin-9.nodmf.c > > @@ -0,0 +1,10 @@ > > +/* { dg-do compile } */ > > +/* { dg-require-effective-target power10_ok } */ > > +/* { dg-options "-mdejagnu-cpu=power10 -O2 -mno-dense-math" } */ > > + > > +#include "mma-builtin-9.h" > > + > > +/* { dg-final { scan-assembler-not {\mlxv\M} } } */ > > +/* { dg-final { scan-assembler-not {\mstxv\M} } } */ > > +/* { dg-final { scan-assembler-times {\mlxvp\M} 3 } } */ > > +/* { dg-final { scan-assembler-times {\mstxvp\M} 3 } } */
