GCC Newspaper
JULY 29, 2026
Date
/
Architectures
Components
Topics
News & Policy
rs6000

rs6000: Add Dense Math Register extraction builtins.

New builtins for PowerPC architecture allow extracting data from 1024-bit Dense Math Registers.

Two new builtins, __builtin_dmr_extract512 and __builtin_disassemble_dmr, have been added for the rs6000 (PowerPC) architecture. These builtins facilitate the extraction of data from 1024-bit Dense Math Registers (DMRs) into 128-bit vectors, enhancing support for Dense Math operations. New test cases are included to verify their functionality.

In Details

The rs6000 backend now supports two new builtins for interacting with Dense Math Registers (DMRs). __builtin_dmr_extract512 extracts one 512-bit half of a DMR, while __builtin_disassemble_dmr extracts both halves. These are implemented via internal GIMPLE generation within rs6000_gimple_fold_mma_builtin, with specific handling for RS6000_BIF_DISASSEMBLE_DMR.

For Context
Dense Math Registers (DMRs)
Specialized registers on PowerPC architectures designed for high-throughput floating-point operations, capable of holding 1024 bits of data.
Builtin
Functions provided directly by the compiler that are not part of the standard language but offer specialized functionality, often for hardware access or optimization.
GIMPLE
GCC's Internal Representation (IR) during optimization passes. It's a three-address code form that simplifies analysis and transformation.
Filed Under: rs6000powerpchardwarebuiltin