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.
All of these patches are cleared to be back ported to the GCC 16 branch after a short delay to make sure the master branch was not broken, given they only modify PowerPC specific files or documentation files. -- Michael Meissner, IBM PO Box 98, Ayer, Massachusetts, USA, 01432 email: [email protected]
