On Fri, Jun 26, 2026 at 03:04:33PM +0530, Surya Kumari Jangala wrote: > This patch depends on: > 1. Support for Dense Math Registers: > https://gcc.gnu.org/pipermail/gcc-patches/2026-April/713352.html > 2. Support for new DMF/MMA+ instructions: > https://gcc.gnu.org/pipermail/gcc-patches/2026-June/721366.html > > > This patch adds builtins for the Matrix Multiply Assist Plus (MMA+) > float16 GER instructions. These instructions may or may not be > supported in a future Power processor. Specifically, builtins have been > added for the following instructions: > > Float16 GER operations: > - dmxvf16gerx2 and its variants (pp, pn, np, nn) > - pmdmxvf16gerx2 and its variants (pp, pn, np, nn) > > Note, the names of the builtins may change in the future. > > 2026-06-25 Surya Kumari Jangala <[email protected]> > > gcc: > * config/rs6000/mma.md (UNSPEC_DMF_DMXVF16GERX2): New UNSPEC entry. > (UNSPEC_DMF_DMXVF16GERX2PP): Likewise. > (UNSPEC_DMF_DMXVF16GERX2PN): Likewise. > (UNSPEC_DMF_DMXVF16GERX2NP): Likewise. > (UNSPEC_DMF_DMXVF16GERX2NN): Likewise. > (UNSPEC_DMF_PMDMXVF16GERX2): Likewise. > (UNSPEC_DMF_PMDMXVF16GERX2PP): Likewise. > (UNSPEC_DMF_PMDMXVF16GERX2PN): Likewise. > (UNSPEC_DMF_PMDMXVF16GERX2NP): Likewise. > (UNSPEC_DMF_PMDMXVF16GERX2NN): Likewise. > (DMF_PV): Add UNSPEC_DMF_DMXVF16GERX2. > (DMF_DPV): Add f16 variants. > (DMF_PVI8I4I2): Add UNSPEC_DMF_PMDMXVF16GERX2. > (DMF_DPVI8I4I2): Add f16 prefixed variants. > (pv): Add dmxvf16gerx2 attribute. > (dpv): Add f16 attributes. > (pvi8i4i2): Add pmdmxvf16gerx2 attribute. > (dpvi8i4i2): Add f16 prefixed attributes. > * config/rs6000/rs6000-builtins.def (__builtin_mma_dmxvf16gerx2): New > builtin. > (__builtin_mma_dmxvf16gerx2pp): Likewise. > (__builtin_mma_dmxvf16gerx2pn): Likewise. > (__builtin_mma_dmxvf16gerx2np): Likewise. > (__builtin_mma_dmxvf16gerx2nn): Likewise. > (__builtin_mma_pmdmxvf16gerx2): Likewise. > (__builtin_mma_pmdmxvf16gerx2pp): Likewise. > (__builtin_mma_pmdmxvf16gerx2pn): Likewise. > (__builtin_mma_pmdmxvf16gerx2np): Likewise. > (__builtin_mma_pmdmxvf16gerx2nn): Likewise. > (__builtin_mma_dmxvf16gerx2_internal): New internal builtin. > (__builtin_mma_dmxvf16gerx2pp_internal): Likewise. > (__builtin_mma_dmxvf16gerx2pn_internal): Likewise. > (__builtin_mma_dmxvf16gerx2np_internal): Likewise. > (__builtin_mma_dmxvf16gerx2nn_internal): Likewise. > (__builtin_mma_pmdmxvf16gerx2_internal): Likewise. > (__builtin_mma_pmdmxvf16gerx2pp_internal): Likewise. > (__builtin_mma_pmdmxvf16gerx2pn_internal): Likewise. > (__builtin_mma_pmdmxvf16gerx2np_internal): Likewise. > (__builtin_mma_pmdmxvf16gerx2nn_internal): Likewise. > * doc/extend.texi (PowerPC Matrix-Multiply Assist Built-in Functions): > Document new MMA+ builtins for f16 operations. > > gcc/testsuite: > * gcc.target/powerpc/dmf-builtin-2.c: New test.
This patch is approved for backporting to GCC 16. -- Michael Meissner, IBM PO Box 98, Ayer, Massachusetts, USA, 01432 email: [email protected]
