On Wed, Jul 15, 2026 at 08:11:47AM -0500, Manjunath S Matti wrote:
> The changes have been bootstrapped and regression tested on
> powerpc64le-linux.
>
> Register __dmr1024 as a new 1024-bit opaque built-in type, following
> the same pattern as the existing __vector_pair (OOmode) and
> __vector_quad (XOmode) opaque types. __dmr1024 uses TDOmode, which
> was already added in a previous commit ("rs6000: Add TDOmode
> support"), and is intended to hold the contents of a Dense Math
> Register (DMR) when the Dense Math Facility (-mdense-math) is
> enabled.
>
> Note there is no __dmr1024 move pattern (movtdo) yet, so none of
> these tests perform an actual load/store/copy of a __dmr1024 value;
> that is left for a follow-on patch that adds the Dense Math move
> support.
>
> 2026-07-13 Manjunath Matti <[email protected]>
>
> gcc/ChangeLog:
> * config/rs6000/rs6000.h (RS6000_BTI_dmr1024): New enumerator.
> (RS6000_BTI_ptr_dmr1024): New enumerator.
> (dmr1024_type_node): New macro.
> (ptr_dmr1024_type_node): New macro.
> * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Handle
> dmr1024_type_node.
> (rs6000_init_builtins): Register the __dmr1024 opaque type and
> its pointer-to-const variant, with 512-bit alignment.
> * config/rs6000/rs6000.cc (rs6000_mangle_type): Handle
> dmr1024_type_node.
> (rs6000_invalid_conversion): Reject conversions to/from TDOmode.
> (rs6000_opaque_type_invalid_use_p): Gate __vector_quad and
> __vector_pair on TARGET_MMA and __dmr1024 on TARGET_DMF
> independently, and require -mdense-math for __dmr1024.
>
> gcc/testsuite/ChangeLog:
> * gcc.target/powerpc/dmr1024-alignment.c: New test case.
> * gcc.target/powerpc/dmr1024-compile.c: Likewise.
> * gcc/testsuite/gcc.target/powerpc/dmr1024-invalid-use-1.c: Likewise.
> * gcc/testsuite/gcc.target/powerpc/dmr1024-invalid-use-2.c: Likewise.
> * gcc/testsuite/gcc.target/powerpc/dmf-no-mma.c: Likewise.
This is fine. Note, the commit messages are typically formated as:
gcc/
* config/rs6000/rs6000.h (RS6000_BTI_dmr1024): New enumerator.
(RS6000_BTI_ptr_dmr1024): New enumerator.
(dmr1024_type_node): New macro.
(ptr_dmr1024_type_node): New macro.
* config/rs6000/rs6000-builtin.cc (rs6000_type_string): Handle
dmr1024_type_node.
(rs6000_init_builtins): Register the __dmr1024 opaque type and
its pointer-to-const variant, with 512-bit alignment.
* config/rs6000/rs6000.cc (rs6000_mangle_type): Handle
dmr1024_type_node.
(rs6000_invalid_conversion): Reject conversions to/from TDOmode.
(rs6000_opaque_type_invalid_use_p): Gate __vector_quad and
__vector_pair on TARGET_MMA and __dmr1024 on TARGET_DMF
independently, and require -mdense-math for __dmr1024.
gcc/testsuite/
* gcc.target/powerpc/dmr1024-alignment.c: New test case.
* gcc.target/powerpc/dmr1024-compile.c: Likewise.
* gcc/testsuite/gcc.target/powerpc/dmr1024-invalid-use-1.c: Likewise.
* gcc/testsuite/gcc.target/powerpc/dmr1024-invalid-use-2.c: Likewise.
* gcc/testsuite/gcc.target/powerpc/dmf-no-mma.c: Likewise.
Unfortunately, I can't find the place where this is documented. But
please change the commit message to follow the usual format. There is
a tool that takes the git commit message and creates the gcc/ChangeLog
and gcc/testsuite/ChangeLog entries. I don't know how flexible that
tool is.
--
Michael Meissner, IBM
PO Box 98, Ayer, Massachusetts, USA, 01432
email: [email protected]