On Thu, Jul 16, 2026 at 10:39:19PM +0530, Surya Kumari Jangala wrote:
> Add two new builtins for extracting data from 1024-bit Dense Math
> Registers (DMRs):
> 
>   - __builtin_dmr_extract512 (void *, dmr1024 *, const int<2>):
>     extracts one 512-bit half of a DMR into four 128-bit vectors.
>   - __builtin_disassemble_dmr (void *, dmr1024 *):
>     extracts both 512-bit halves of a DMR into eight 128-bit vectors.
> 
> 2026-07-16  Surya Kumari Jangala  <[email protected]>
> 
> gcc:
>       * config/rs6000/rs6000-builtins.def (__builtin_dmr_extract512): New
>       built-in.
>       (__builtin_disassemble_dmr): Likewise.
>       (__builtin_dmr_extract512_internal): New internal built-in.
>       * config/rs6000/mma.md (UNSPEC_DMF_EXTRACT1024): New UNSPEC entry.
>       * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
>       Exempt RS6000_BIF_DISASSEMBLE_DMR from the early-return guard.
>       Generate appropriate gimple code for the extract builtins.
> 
> gcc/testsuite:
>       * gcc.target/powerpc/dmf-extract512.c: New test.
>       * gcc.target/powerpc/dmf-disassemble-dmr.c: New test.

I applied the patches in order.  One part did not apply.

> ---
>  gcc/config/rs6000/mma.md                      |  1 +
>  gcc/config/rs6000/rs6000-builtin.cc           | 71 ++++++++++++++++++-
>  gcc/config/rs6000/rs6000-builtins.def         |  9 +++
>  .../gcc.target/powerpc/dmf-disassemble-dmr.c  | 24 +++++++
>  .../gcc.target/powerpc/dmf-extract512.c       | 20 ++++++
>  5 files changed, 124 insertions(+), 1 deletion(-)
>  create mode 100644 gcc/testsuite/gcc.target/powerpc/dmf-disassemble-dmr.c
>  create mode 100644 gcc/testsuite/gcc.target/powerpc/dmf-extract512.c
> 
> diff --git a/gcc/config/rs6000/mma.md b/gcc/config/rs6000/mma.md
> index 07dfb09fba0..01bd708fbdc 100644
> --- a/gcc/config/rs6000/mma.md
> +++ b/gcc/config/rs6000/mma.md
> @@ -94,6 +94,7 @@ (define_c_enum "unspec"
>     UNSPEC_DMF_INSERT512
>     UNSPEC_DMF_EXTRACT512
>     UNSPEC_DMF_INSERT1024
> +   UNSPEC_DMF_EXTRACT1024
>     UNSPEC_DMR_RELOAD_FROM_MEMORY
>     UNSPEC_DMR_RELOAD_TO_MEMORY
>     UNSPEC_DMF_DMXOR

This patch does not apply.  Since nothing else uses
UNSPEC_DMF_EXTRACT1024, this part of the patch should be deleted.

-- 
Michael Meissner, IBM
PO Box 98, Ayer, Massachusetts, USA, 01432
email: [email protected]

Reply via email to