[gcc r17-2681] testsuite: Split rs6000 mma tests into power10 and future

Avinash Jayakar via Gcc-cvs <[email protected]>
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
https://gcc.gnu.org/g:d96ac42a4456b5b83142a6bf2893c2171723e0d2

commit r17-2681-gd96ac42a4456b5b83142a6bf2893c2171723e0d2
Author: Avinash Jayakar <[email protected]>
Date:   Fri Jul 17 05:20:51 2026 -0500

    testsuite: Split rs6000 mma tests into power10 and future
    
    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.

Diff:
---
 .../gcc.target/powerpc/mma-builtin-1.dmf.c         | 58 +++++++++++++++++++++
 .../powerpc/{mma-builtin-1.c => mma-builtin-1.h}   | 58 +--------------------
 .../gcc.target/powerpc/mma-builtin-1.nodmf.c       | 59 ++++++++++++++++++++++
 .../gcc.target/powerpc/mma-builtin-10-pair.dmf.c   |  9 ++++
 ...mma-builtin-10-pair.c => mma-builtin-10-pair.h} |  8 +--
 .../gcc.target/powerpc/mma-builtin-10-pair.nodmf.c |  9 ++++
 .../gcc.target/powerpc/mma-builtin-10-quad.c       | 23 ---------
 .../gcc.target/powerpc/mma-builtin-10-quad.dmf.c   | 10 ++++
 .../gcc.target/powerpc/mma-builtin-10-quad.h       | 15 ++++++
 .../gcc.target/powerpc/mma-builtin-10-quad.nodmf.c | 11 ++++
 .../gcc.target/powerpc/mma-builtin-2.dmf.c         | 20 ++++++++
 .../powerpc/{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/testsuite/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 ++++
 .../powerpc/{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 ++++
 .../powerpc/{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/testsuite/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 +++++
 .../powerpc/{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 +++++
 .../powerpc/{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 ++++
 .../powerpc/{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(-)

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 000000000000..b4d4c41cbcea
--- /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 69ee826e1be9..c2f3c2a3b4bf 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 000000000000..f2ae5bbc5e7c
--- /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 000000000000..284ab82f2753
--- /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 d8748d8e7d0a..17ff4e95e58f 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 000000000000..93caf7fb0656
--- /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 02342c76f5f5..000000000000
--- 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 000000000000..5ab7d40223a3
--- /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 000000000000..2047cefa4280
--- /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 000000000000..bd8ac6876b03
--- /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 000000000000..86ba8c797b07
--- /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 0230d727657f..353f59946284 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 000000000000..cd56f8a7b330
--- /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 000000000000..4000839e69bf
--- /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 000000000000..1d685d16acc4
--- /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 9bec78d333fb..25d61b5efb75 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 000000000000..c858017036be
--- /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 a9fb0107d12d..b4b7be378dff 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 000000000000..71affa7bdf08
--- /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 000000000000..302e57f6414c
--- /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 00503b7343d2..945b35bc92e6 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 000000000000..bd4ee7c8719d
--- /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 000000000000..b09cfdd125e0
--- /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 000000000000..fefe182ea437
--- /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 715b28138e9e..87771cb33d27 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 000000000000..407009a49c41
--- /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 c661a4b84bc7..176b56b61e15 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 000000000000..5614d2e7113c
--- /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 000000000000..ee9d60a36f5e
--- /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 af29e479f835..a0ee62863699 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 000000000000..2f2738c01336
--- /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 000000000000..a5e0c36e19b7
--- /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 397d0f1db359..c45c3e80311b 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 000000000000..8b81597e2bad
--- /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 } } */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.