Add support for new __dmr1024 type in PowerPC ABI.
PowerPC backend adds support for `TDOmode` representing `__dmr1024` for future processor features.
The GCC rs6000 (PowerPC) backend has introduced support for a new opaque mode, TDOmode, which corresponds to the __dmr1024 type. This mode is intended for a potential future Power processor feature, likely related to Dense Math. The changes ensure that this new type is handled similarly to existing MMA opaque types, particularly in diagnosing invalid function parameter and return values for Dense Math operations. Diagnostics are updated to distinguish between Dense Math and MMA types.
In Details
The rs6000 backend has introduced TDOmode to represent the __dmr1024 type, anticipating future Power processor support for Dense Math Registers (DMR). This commit updates functions like rs6000_return_in_memory and rs6000_function_arg to handle TDOmode consistently with MMA opaque types. New diagnostic messages are included to differentiate between Dense Math and MMA types, ensuring clarity when issues arise with function call conventions for these specialized data types.
- rs6000
- The GCC target identifier for the PowerPC architecture, historically associated with IBM's RS/6000 workstations.
- opaque mode
- In compiler internals, a mode that represents a data type whose internal structure is not exposed to general compiler passes but is handled by specific target-dependent functions. This allows for specialized hardware features or types.
- __dmr1024
- A data type, likely specific to IBM's PowerPC architecture, representing a 1024-bit value possibly for specialized mathematical operations (Dense Math Registers).
- MMA
- Matrix Multiply-Accumulate. On PowerPC, this often refers to specific SIMD instructions or instruction sets designed for accelerating matrix operations.