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