gnu/gcc/0bb7002b87e7454af0cb79d59ff76e6e31085efc rs6000: Add Dense Math builtin infrastructure
Add the initial infrastructure required to support Dense Math Facility
(DMF) builtins.
Extend the builtin generator with a new "dm" stanza, ENB_DM enable flag,
DMR base type, and DM-specific builtin attributes used for Dense Math
builtins. Also add TARGET_DMF builtin enablement checks.
These changes provide the foundation for subsequent Dense Math builtin
support. The infrastructure is enabled only when TARGET_DMF is active
(for example, via -mdense-math) and targets a future Power ISA that may
or may not be be implemented in future Power processors and the builtin
interfaces may change accordingly.
2026-07-15 Peter Bergner <bergner@linux.ibm.com>
Kishan Parmar <kishan@linux.ibm.com>
gcc/ChangeLog
* config/rs6000/rs6000-builtin.cc (rs6000_invalid_builtin): Add
ENB_DM diagnostic.
(rs6000_builtin_is_supported): Handle ENB_DM.
* config/rs6000/rs6000-gen-builtins.cc: Update comments for new
Dense Math builtin attributes.
(bif_stanza): Add BSTZ_DM.
(stanza_map): Add "dm" stanza.
(enable_string): Add ENB_DM.
(basetype): Add BT_DMR.
(attrinfo): Add isdm, isdmint and isdmr fields.
(type_map): Add dmr1024 and ptr_dmr1024 type mappings.
(match_type): Recognize dmr1024 type.
(parse_bif_attrs): Parse dm, dmint and dmr attributes.
(complete_vector_type): Handle BT_DMR.
(write_decls): Emit ENB_DM and Dense Math builtin attribute bits
and predicates.
(write_bif_static_init): Initialize Dense Math builtin attributes
and associate dmint builtins with their internal variants.
2 files changed