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

Reply via email to