Claudio Bantaloukas <claudio.bantalou...@arm.com> writes: > diff --git a/gcc/config/aarch64/aarch64-sve-builtins-sve2.def > b/gcc/config/aarch64/aarch64-sve-builtins-sve2.def > index e4021559f36..8d25bb33dad 100644 > --- a/gcc/config/aarch64/aarch64-sve-builtins-sve2.def > +++ b/gcc/config/aarch64/aarch64-sve-builtins-sve2.def > @@ -227,61 +227,73 @@ DEF_SVE_FUNCTION (svrevd, unary, all_data, mxz) > #undef REQUIRED_EXTENSIONS > > #define REQUIRED_EXTENSIONS streaming_only (AARCH64_FL_SME2) > -DEF_SVE_FUNCTION_GS (svadd, binary_single, all_integer, x24, none) > +DEF_SVE_FUNCTION_GS (svadd, binary_single, all_integer, x24, none, unused)
I know this isn't going to be to everyone's test, but could we instead keep the DEF_SVE_FUNCTION_GS interface the same and add a new macro: DEF_SVE_FUNCTION_GS_FPM The default definition of DEF_SVE_FUNCTION_GS would then forward to DEF_SVE_FUNCTION_GS_FPM, and the .cc file would define DEF_SVE_FUNCTION_GS_FPM instead of DEF_SVE_FUNCTION_GS. This is similar to what happened when DEF_SVE_FUNCTION_GS itself was introduced. Same idea for SME. > [...] > @@ -878,10 +893,11 @@ function_instance (const char *base_name_in, > mode_suffix_index mode_suffix_id_in, > const type_suffix_pair &type_suffix_ids_in, > group_suffix_index group_suffix_id_in, > - predication_index pred_in) > + predication_index pred_in, > + fpm_mode_index fpm_mode_in) > : base_name (base_name_in), base (base_in), shape (shape_in), > mode_suffix_id (mode_suffix_id_in), group_suffix_id (group_suffix_id_in), > - pred (pred_in) > + pred (pred_in), fpm_mode(fpm_mode_in) Formatting nit (sorry that it's not automated), but: space before "(". Looks good otherwise, thanks. Richard > { > memcpy (type_suffix_ids, type_suffix_ids_in, sizeof (type_suffix_ids)); > } > @@ -895,7 +911,8 @@ function_instance::operator== (const function_instance > &other) const > && type_suffix_ids[0] == other.type_suffix_ids[0] > && type_suffix_ids[1] == other.type_suffix_ids[1] > && group_suffix_id == other.group_suffix_id > - && pred == other.pred); > + && pred == other.pred > + && fpm_mode == other.fpm_mode); > } > > inline bool