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]
