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

Reply via email to