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]

Reply via email to