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. -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 } } */
