diff mbox series

[v2,06/36] arm: [MVE intrinsics] rework vcvtq

Message ID 20240904132650.2720446-7-christophe.lyon@linaro.org
State New
Headers show
Series arm: [MVE intrinsics] Re-implement more intrinsics | expand

Commit Message

Christophe Lyon Sept. 4, 2024, 1:26 p.m. UTC
Implement vcvtq using the new MVE builtins framework.

In config/arm/arm-mve-builtins-base.def, the patch also restores the
alphabetical order.

2024-07-11  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/
	* config/arm/arm-mve-builtins-base.cc (class vcvtq_impl): New.
	(vcvtq): New.
	* config/arm/arm-mve-builtins-base.def (vcvtq): New.
	* config/arm/arm-mve-builtins-base.h (vcvtq): New.
	* config/arm/arm-mve-builtins.cc (cvt): New type.
	* config/arm/arm_mve.h (vcvtq): Delete.
	(vcvtq_n): Delete.
	(vcvtq_m): Delete.
	(vcvtq_m_n): Delete.
	(vcvtq_x): Delete.
	(vcvtq_x_n): Delete.
	(vcvtq_f16_s16): Delete.
	(vcvtq_f32_s32): Delete.
	(vcvtq_f16_u16): Delete.
	(vcvtq_f32_u32): Delete.
	(vcvtq_s16_f16): Delete.
	(vcvtq_s32_f32): Delete.
	(vcvtq_u16_f16): Delete.
	(vcvtq_u32_f32): Delete.
	(vcvtq_n_f16_s16): Delete.
	(vcvtq_n_f32_s32): Delete.
	(vcvtq_n_f16_u16): Delete.
	(vcvtq_n_f32_u32): Delete.
	(vcvtq_n_s16_f16): Delete.
	(vcvtq_n_s32_f32): Delete.
	(vcvtq_n_u16_f16): Delete.
	(vcvtq_n_u32_f32): Delete.
	(vcvtq_m_f16_s16): Delete.
	(vcvtq_m_f16_u16): Delete.
	(vcvtq_m_f32_s32): Delete.
	(vcvtq_m_f32_u32): Delete.
	(vcvtq_m_s16_f16): Delete.
	(vcvtq_m_u16_f16): Delete.
	(vcvtq_m_s32_f32): Delete.
	(vcvtq_m_u32_f32): Delete.
	(vcvtq_m_n_f16_u16): Delete.
	(vcvtq_m_n_f16_s16): Delete.
	(vcvtq_m_n_f32_u32): Delete.
	(vcvtq_m_n_f32_s32): Delete.
	(vcvtq_m_n_s32_f32): Delete.
	(vcvtq_m_n_s16_f16): Delete.
	(vcvtq_m_n_u32_f32): Delete.
	(vcvtq_m_n_u16_f16): Delete.
	(vcvtq_x_f16_u16): Delete.
	(vcvtq_x_f16_s16): Delete.
	(vcvtq_x_f32_s32): Delete.
	(vcvtq_x_f32_u32): Delete.
	(vcvtq_x_n_f16_s16): Delete.
	(vcvtq_x_n_f16_u16): Delete.
	(vcvtq_x_n_f32_s32): Delete.
	(vcvtq_x_n_f32_u32): Delete.
	(vcvtq_x_s16_f16): Delete.
	(vcvtq_x_s32_f32): Delete.
	(vcvtq_x_u16_f16): Delete.
	(vcvtq_x_u32_f32): Delete.
	(vcvtq_x_n_s16_f16): Delete.
	(vcvtq_x_n_s32_f32): Delete.
	(vcvtq_x_n_u16_f16): Delete.
	(vcvtq_x_n_u32_f32): Delete.
	(__arm_vcvtq_f16_s16): Delete.
	(__arm_vcvtq_f32_s32): Delete.
	(__arm_vcvtq_f16_u16): Delete.
	(__arm_vcvtq_f32_u32): Delete.
	(__arm_vcvtq_s16_f16): Delete.
	(__arm_vcvtq_s32_f32): Delete.
	(__arm_vcvtq_u16_f16): Delete.
	(__arm_vcvtq_u32_f32): Delete.
	(__arm_vcvtq_n_f16_s16): Delete.
	(__arm_vcvtq_n_f32_s32): Delete.
	(__arm_vcvtq_n_f16_u16): Delete.
	(__arm_vcvtq_n_f32_u32): Delete.
	(__arm_vcvtq_n_s16_f16): Delete.
	(__arm_vcvtq_n_s32_f32): Delete.
	(__arm_vcvtq_n_u16_f16): Delete.
	(__arm_vcvtq_n_u32_f32): Delete.
	(__arm_vcvtq_m_f16_s16): Delete.
	(__arm_vcvtq_m_f16_u16): Delete.
	(__arm_vcvtq_m_f32_s32): Delete.
	(__arm_vcvtq_m_f32_u32): Delete.
	(__arm_vcvtq_m_s16_f16): Delete.
	(__arm_vcvtq_m_u16_f16): Delete.
	(__arm_vcvtq_m_s32_f32): Delete.
	(__arm_vcvtq_m_u32_f32): Delete.
	(__arm_vcvtq_m_n_f16_u16): Delete.
	(__arm_vcvtq_m_n_f16_s16): Delete.
	(__arm_vcvtq_m_n_f32_u32): Delete.
	(__arm_vcvtq_m_n_f32_s32): Delete.
	(__arm_vcvtq_m_n_s32_f32): Delete.
	(__arm_vcvtq_m_n_s16_f16): Delete.
	(__arm_vcvtq_m_n_u32_f32): Delete.
	(__arm_vcvtq_m_n_u16_f16): Delete.
	(__arm_vcvtq_x_f16_u16): Delete.
	(__arm_vcvtq_x_f16_s16): Delete.
	(__arm_vcvtq_x_f32_s32): Delete.
	(__arm_vcvtq_x_f32_u32): Delete.
	(__arm_vcvtq_x_n_f16_s16): Delete.
	(__arm_vcvtq_x_n_f16_u16): Delete.
	(__arm_vcvtq_x_n_f32_s32): Delete.
	(__arm_vcvtq_x_n_f32_u32): Delete.
	(__arm_vcvtq_x_s16_f16): Delete.
	(__arm_vcvtq_x_s32_f32): Delete.
	(__arm_vcvtq_x_u16_f16): Delete.
	(__arm_vcvtq_x_u32_f32): Delete.
	(__arm_vcvtq_x_n_s16_f16): Delete.
	(__arm_vcvtq_x_n_s32_f32): Delete.
	(__arm_vcvtq_x_n_u16_f16): Delete.
	(__arm_vcvtq_x_n_u32_f32): Delete.
	(__arm_vcvtq): Delete.
	(__arm_vcvtq_n): Delete.
	(__arm_vcvtq_m): Delete.
	(__arm_vcvtq_m_n): Delete.
	(__arm_vcvtq_x): Delete.
	(__arm_vcvtq_x_n): Delete.
---
 gcc/config/arm/arm-mve-builtins-base.cc  | 113 ++++
 gcc/config/arm/arm-mve-builtins-base.def |  19 +-
 gcc/config/arm/arm-mve-builtins-base.h   |   1 +
 gcc/config/arm/arm-mve-builtins.cc       |  15 +
 gcc/config/arm/arm_mve.h                 | 666 -----------------------
 5 files changed, 139 insertions(+), 675 deletions(-)

Comments

Richard Earnshaw (lists) Oct. 14, 2024, 5:05 p.m. UTC | #1
On 04/09/2024 14:26, Christophe Lyon wrote:
> Implement vcvtq using the new MVE builtins framework.
> 
> In config/arm/arm-mve-builtins-base.def, the patch also restores the
> alphabetical order.
> 
> 2024-07-11  Christophe Lyon  <christophe.lyon@linaro.org>
> 
> 	gcc/
> 	* config/arm/arm-mve-builtins-base.cc (class vcvtq_impl): New.
> 	(vcvtq): New.
> 	* config/arm/arm-mve-builtins-base.def (vcvtq): New.
> 	* config/arm/arm-mve-builtins-base.h (vcvtq): New.
> 	* config/arm/arm-mve-builtins.cc (cvt): New type.
> 	* config/arm/arm_mve.h (vcvtq): Delete.
> 	(vcvtq_n): Delete.
> 	(vcvtq_m): Delete.
> 	(vcvtq_m_n): Delete.
> 	(vcvtq_x): Delete.
> 	(vcvtq_x_n): Delete.
> 	(vcvtq_f16_s16): Delete.
> 	(vcvtq_f32_s32): Delete.
> 	(vcvtq_f16_u16): Delete.
> 	(vcvtq_f32_u32): Delete.
> 	(vcvtq_s16_f16): Delete.
> 	(vcvtq_s32_f32): Delete.
> 	(vcvtq_u16_f16): Delete.
> 	(vcvtq_u32_f32): Delete.
> 	(vcvtq_n_f16_s16): Delete.
> 	(vcvtq_n_f32_s32): Delete.
> 	(vcvtq_n_f16_u16): Delete.
> 	(vcvtq_n_f32_u32): Delete.
> 	(vcvtq_n_s16_f16): Delete.
> 	(vcvtq_n_s32_f32): Delete.
> 	(vcvtq_n_u16_f16): Delete.
> 	(vcvtq_n_u32_f32): Delete.
> 	(vcvtq_m_f16_s16): Delete.
> 	(vcvtq_m_f16_u16): Delete.
> 	(vcvtq_m_f32_s32): Delete.
> 	(vcvtq_m_f32_u32): Delete.
> 	(vcvtq_m_s16_f16): Delete.
> 	(vcvtq_m_u16_f16): Delete.
> 	(vcvtq_m_s32_f32): Delete.
> 	(vcvtq_m_u32_f32): Delete.
> 	(vcvtq_m_n_f16_u16): Delete.
> 	(vcvtq_m_n_f16_s16): Delete.
> 	(vcvtq_m_n_f32_u32): Delete.
> 	(vcvtq_m_n_f32_s32): Delete.
> 	(vcvtq_m_n_s32_f32): Delete.
> 	(vcvtq_m_n_s16_f16): Delete.
> 	(vcvtq_m_n_u32_f32): Delete.
> 	(vcvtq_m_n_u16_f16): Delete.
> 	(vcvtq_x_f16_u16): Delete.
> 	(vcvtq_x_f16_s16): Delete.
> 	(vcvtq_x_f32_s32): Delete.
> 	(vcvtq_x_f32_u32): Delete.
> 	(vcvtq_x_n_f16_s16): Delete.
> 	(vcvtq_x_n_f16_u16): Delete.
> 	(vcvtq_x_n_f32_s32): Delete.
> 	(vcvtq_x_n_f32_u32): Delete.
> 	(vcvtq_x_s16_f16): Delete.
> 	(vcvtq_x_s32_f32): Delete.
> 	(vcvtq_x_u16_f16): Delete.
> 	(vcvtq_x_u32_f32): Delete.
> 	(vcvtq_x_n_s16_f16): Delete.
> 	(vcvtq_x_n_s32_f32): Delete.
> 	(vcvtq_x_n_u16_f16): Delete.
> 	(vcvtq_x_n_u32_f32): Delete.
> 	(__arm_vcvtq_f16_s16): Delete.
> 	(__arm_vcvtq_f32_s32): Delete.
> 	(__arm_vcvtq_f16_u16): Delete.
> 	(__arm_vcvtq_f32_u32): Delete.
> 	(__arm_vcvtq_s16_f16): Delete.
> 	(__arm_vcvtq_s32_f32): Delete.
> 	(__arm_vcvtq_u16_f16): Delete.
> 	(__arm_vcvtq_u32_f32): Delete.
> 	(__arm_vcvtq_n_f16_s16): Delete.
> 	(__arm_vcvtq_n_f32_s32): Delete.
> 	(__arm_vcvtq_n_f16_u16): Delete.
> 	(__arm_vcvtq_n_f32_u32): Delete.
> 	(__arm_vcvtq_n_s16_f16): Delete.
> 	(__arm_vcvtq_n_s32_f32): Delete.
> 	(__arm_vcvtq_n_u16_f16): Delete.
> 	(__arm_vcvtq_n_u32_f32): Delete.
> 	(__arm_vcvtq_m_f16_s16): Delete.
> 	(__arm_vcvtq_m_f16_u16): Delete.
> 	(__arm_vcvtq_m_f32_s32): Delete.
> 	(__arm_vcvtq_m_f32_u32): Delete.
> 	(__arm_vcvtq_m_s16_f16): Delete.
> 	(__arm_vcvtq_m_u16_f16): Delete.
> 	(__arm_vcvtq_m_s32_f32): Delete.
> 	(__arm_vcvtq_m_u32_f32): Delete.
> 	(__arm_vcvtq_m_n_f16_u16): Delete.
> 	(__arm_vcvtq_m_n_f16_s16): Delete.
> 	(__arm_vcvtq_m_n_f32_u32): Delete.
> 	(__arm_vcvtq_m_n_f32_s32): Delete.
> 	(__arm_vcvtq_m_n_s32_f32): Delete.
> 	(__arm_vcvtq_m_n_s16_f16): Delete.
> 	(__arm_vcvtq_m_n_u32_f32): Delete.
> 	(__arm_vcvtq_m_n_u16_f16): Delete.
> 	(__arm_vcvtq_x_f16_u16): Delete.
> 	(__arm_vcvtq_x_f16_s16): Delete.
> 	(__arm_vcvtq_x_f32_s32): Delete.
> 	(__arm_vcvtq_x_f32_u32): Delete.
> 	(__arm_vcvtq_x_n_f16_s16): Delete.
> 	(__arm_vcvtq_x_n_f16_u16): Delete.
> 	(__arm_vcvtq_x_n_f32_s32): Delete.
> 	(__arm_vcvtq_x_n_f32_u32): Delete.
> 	(__arm_vcvtq_x_s16_f16): Delete.
> 	(__arm_vcvtq_x_s32_f32): Delete.
> 	(__arm_vcvtq_x_u16_f16): Delete.
> 	(__arm_vcvtq_x_u32_f32): Delete.
> 	(__arm_vcvtq_x_n_s16_f16): Delete.
> 	(__arm_vcvtq_x_n_s32_f32): Delete.
> 	(__arm_vcvtq_x_n_u16_f16): Delete.
> 	(__arm_vcvtq_x_n_u32_f32): Delete.
> 	(__arm_vcvtq): Delete.
> 	(__arm_vcvtq_n): Delete.
> 	(__arm_vcvtq_m): Delete.
> 	(__arm_vcvtq_m_n): Delete.
> 	(__arm_vcvtq_x): Delete.
> 	(__arm_vcvtq_x_n): Delete.
> ---
>  gcc/config/arm/arm-mve-builtins-base.cc  | 113 ++++
>  gcc/config/arm/arm-mve-builtins-base.def |  19 +-
>  gcc/config/arm/arm-mve-builtins-base.h   |   1 +
>  gcc/config/arm/arm-mve-builtins.cc       |  15 +
>  gcc/config/arm/arm_mve.h                 | 666 -----------------------
>  5 files changed, 139 insertions(+), 675 deletions(-)
> 
> diff --git a/gcc/config/arm/arm-mve-builtins-base.cc b/gcc/config/arm/arm-mve-builtins-base.cc
> index e0ae593a6c0..a780d686eb1 100644
> --- a/gcc/config/arm/arm-mve-builtins-base.cc
> +++ b/gcc/config/arm/arm-mve-builtins-base.cc
> @@ -139,6 +139,118 @@ public:
>    }
>  };
>  
> +  /* Implements vcvtq intrinsics.  */
> +class vcvtq_impl : public function_base
> +{
> +public:
> +  rtx
> +  expand (function_expander &e) const override
> +  {
> +    insn_code code;
> +    machine_mode target_mode = e.vector_mode (0);
> +    int unspec;
> +    switch (e.pred)
> +      {
> +      case PRED_none:
> +	switch (e.mode_suffix_id)
> +	  {
> +	  case MODE_none:
> +	    /* No predicate, no suffix.  */
> +	    if (e.type_suffix (0).integer_p)
> +	      {
> +		unspec = e.type_suffix (0).unsigned_p
> +		  ? VCVTQ_FROM_F_U
> +		  : VCVTQ_FROM_F_S;

Stylistic nit: when breaking an assignment over multiple lines, I tend to prefer that parenthesis are added to ensure that the operators on subsequent lines indent correclty.  In this case, something like:

		unspec = (e.type_suffix (0).unsigned_p
		          ? VCVTQ_FROM_F_U
		          : VCVTQ_FROM_F_S);

I'm not sure if this is a hard and fast rule, though; it's probably more important when there's more complex indentation.


OK.

R.

> +		code = code_for_mve_q_from_f (unspec, unspec, target_mode);
> +	      }
> +	    else
> +	      {
> +		unspec = e.type_suffix (1).unsigned_p
> +		  ? VCVTQ_TO_F_U
> +		  : VCVTQ_TO_F_S;
> +		code = code_for_mve_q_to_f (unspec, unspec, target_mode);
> +	      }
> +	    break;
> +
> +	  case MODE_n:
> +	    /* No predicate, _n suffix.  */
> +	    if (e.type_suffix (0).integer_p)
> +	      {
> +		unspec = e.type_suffix (0).unsigned_p
> +		  ? VCVTQ_N_FROM_F_U
> +		  : VCVTQ_N_FROM_F_S;
> +		code = code_for_mve_q_n_from_f (unspec, unspec, target_mode);
> +	      }
> +	    else
> +	      {
> +		unspec = e.type_suffix (1).unsigned_p
> +		  ? VCVTQ_N_TO_F_U
> +		  : VCVTQ_N_TO_F_S;
> +		code = code_for_mve_q_n_to_f (unspec, unspec, target_mode);
> +	      }
> +	    break;
> +
> +	  default:
> +	    gcc_unreachable ();
> +	  }
> +	return e.use_exact_insn (code);
> +
> +      case PRED_m:
> +      case PRED_x:
> +	switch (e.mode_suffix_id)
> +	  {
> +	  case MODE_none:
> +	    /* No suffix, "m" or "x" predicate.  */
> +	    if (e.type_suffix (0).integer_p)
> +	      {
> +		unspec = e.type_suffix (0).unsigned_p
> +		  ? VCVTQ_M_FROM_F_U
> +		  : VCVTQ_M_FROM_F_S;
> +		code = code_for_mve_q_m_from_f (unspec, unspec, target_mode);
> +	      }
> +	    else
> +	      {
> +		unspec = e.type_suffix (1).unsigned_p
> +		  ? VCVTQ_M_TO_F_U
> +		  : VCVTQ_M_TO_F_S;
> +		code = code_for_mve_q_m_to_f (unspec, unspec, target_mode);
> +	      }
> +	    break;
> +
> +	  case MODE_n:
> +	    /* _n suffix, "m" or "x" predicate.  */
> +	    if (e.type_suffix (0).integer_p)
> +	      {
> +		unspec = e.type_suffix (0).unsigned_p
> +		  ? VCVTQ_M_N_FROM_F_U
> +		  : VCVTQ_M_N_FROM_F_S;
> +		code = code_for_mve_q_m_n_from_f (unspec, unspec, target_mode);
> +	      }
> +	    else
> +	      {
> +		unspec = e.type_suffix (1).unsigned_p
> +		  ? VCVTQ_M_N_TO_F_U
> +		  : VCVTQ_M_N_TO_F_S;
> +		code = code_for_mve_q_m_n_to_f (unspec, unspec, target_mode);
> +	      }
> +	    break;
> +
> +	  default:
> +	    gcc_unreachable ();
> +	  }
> +	if (e.pred == PRED_m)
> +	  return e.use_cond_insn (code, 0);
> +	else
> +	  return e.use_pred_x_insn (code);
> +
> +      default:
> +	gcc_unreachable ();
> +      }
> +
> +    gcc_unreachable ();
> +  }
> +};
> +
>  } /* end anonymous namespace */
>  
>  namespace arm_mve {
> @@ -339,6 +451,7 @@ FUNCTION (vcmpltq, unspec_based_mve_function_exact_insn_vcmp, (LT, UNKNOWN, LT,
>  FUNCTION (vcmpcsq, unspec_based_mve_function_exact_insn_vcmp, (UNKNOWN, GEU, UNKNOWN, UNKNOWN, VCMPCSQ_M_U, UNKNOWN, UNKNOWN, VCMPCSQ_M_N_U, UNKNOWN))
>  FUNCTION (vcmphiq, unspec_based_mve_function_exact_insn_vcmp, (UNKNOWN, GTU, UNKNOWN, UNKNOWN, VCMPHIQ_M_U, UNKNOWN, UNKNOWN, VCMPHIQ_M_N_U, UNKNOWN))
>  FUNCTION_WITHOUT_M_N (vcreateq, VCREATEQ)
> +FUNCTION (vcvtq, vcvtq_impl,)
>  FUNCTION_ONLY_N (vdupq, VDUPQ)
>  FUNCTION_WITH_RTX_M (veorq, XOR, VEORQ)
>  FUNCTION (vfmaq, unspec_mve_function_exact_insn, (-1, -1, VFMAQ_F, -1, -1, VFMAQ_N_F, -1, -1, VFMAQ_M_F, -1, -1, VFMAQ_M_N_F))
> diff --git a/gcc/config/arm/arm-mve-builtins-base.def b/gcc/config/arm/arm-mve-builtins-base.def
> index 90d031eebec..671f86b5096 100644
> --- a/gcc/config/arm/arm-mve-builtins-base.def
> +++ b/gcc/config/arm/arm-mve-builtins-base.def
> @@ -28,8 +28,8 @@ DEF_MVE_FUNCTION (vaddvaq, unary_int32_acc, all_integer, p_or_none)
>  DEF_MVE_FUNCTION (vaddvq, unary_int32, all_integer, p_or_none)
>  DEF_MVE_FUNCTION (vandq, binary, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vbrsrq, binary_imm32, all_integer, mx_or_none)
> -DEF_MVE_FUNCTION (vcaddq_rot90, binary, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vcaddq_rot270, binary, all_integer, mx_or_none)
> +DEF_MVE_FUNCTION (vcaddq_rot90, binary, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vclsq, unary, all_signed, mx_or_none)
>  DEF_MVE_FUNCTION (vclzq, unary, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vcmpcsq, cmp, all_unsigned, m_or_none)
> @@ -44,8 +44,8 @@ DEF_MVE_FUNCTION (vcreateq, create, all_integer_with_64, none)
>  DEF_MVE_FUNCTION (vdupq, unary_n, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (veorq, binary, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vhaddq, binary_opt_n, all_integer, mx_or_none)
> -DEF_MVE_FUNCTION (vhcaddq_rot90, binary, all_signed, mx_or_none)
>  DEF_MVE_FUNCTION (vhcaddq_rot270, binary, all_signed, mx_or_none)
> +DEF_MVE_FUNCTION (vhcaddq_rot90, binary, all_signed, mx_or_none)
>  DEF_MVE_FUNCTION (vhsubq, binary_opt_n, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vld1q, load, all_integer, none)
>  DEF_MVE_FUNCTION (vmaxaq, binary_maxamina, all_signed, m_or_none)
> @@ -80,8 +80,8 @@ DEF_MVE_FUNCTION (vmovnbq, binary_move_narrow, integer_16_32, m_or_none)
>  DEF_MVE_FUNCTION (vmovntq, binary_move_narrow, integer_16_32, m_or_none)
>  DEF_MVE_FUNCTION (vmulhq, binary, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vmullbq_int, binary_widen, all_integer, mx_or_none)
> -DEF_MVE_FUNCTION (vmulltq_int, binary_widen, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vmullbq_poly, binary_widen_poly, poly_8_16, mx_or_none)
> +DEF_MVE_FUNCTION (vmulltq_int, binary_widen, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vmulltq_poly, binary_widen_poly, poly_8_16, mx_or_none)
>  DEF_MVE_FUNCTION (vmulq, binary_opt_n, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vmvnq, mvn, all_integer, mx_or_none)
> @@ -162,23 +162,24 @@ DEF_MVE_FUNCTION (vabsq, unary, all_float, mx_or_none)
>  DEF_MVE_FUNCTION (vaddq, binary_opt_n, all_float, mx_or_none)
>  DEF_MVE_FUNCTION (vandq, binary, all_float, mx_or_none)
>  DEF_MVE_FUNCTION (vbrsrq, binary_imm32, all_float, mx_or_none)
> -DEF_MVE_FUNCTION (vcaddq_rot90, binary, all_float, mx_or_none)
>  DEF_MVE_FUNCTION (vcaddq_rot270, binary, all_float, mx_or_none)
> +DEF_MVE_FUNCTION (vcaddq_rot90, binary, all_float, mx_or_none)
>  DEF_MVE_FUNCTION (vcmlaq, ternary, all_float, m_or_none)
> -DEF_MVE_FUNCTION (vcmlaq_rot90, ternary, all_float, m_or_none)
>  DEF_MVE_FUNCTION (vcmlaq_rot180, ternary, all_float, m_or_none)
>  DEF_MVE_FUNCTION (vcmlaq_rot270, ternary, all_float, m_or_none)
> -DEF_MVE_FUNCTION (vcmulq, binary, all_float, mx_or_none)
> -DEF_MVE_FUNCTION (vcmulq_rot90, binary, all_float, mx_or_none)
> -DEF_MVE_FUNCTION (vcmulq_rot180, binary, all_float, mx_or_none)
> -DEF_MVE_FUNCTION (vcmulq_rot270, binary, all_float, mx_or_none)
> +DEF_MVE_FUNCTION (vcmlaq_rot90, ternary, all_float, m_or_none)
>  DEF_MVE_FUNCTION (vcmpeqq, cmp, all_float, m_or_none)
>  DEF_MVE_FUNCTION (vcmpgeq, cmp, all_float, m_or_none)
>  DEF_MVE_FUNCTION (vcmpgtq, cmp, all_float, m_or_none)
>  DEF_MVE_FUNCTION (vcmpleq, cmp, all_float, m_or_none)
>  DEF_MVE_FUNCTION (vcmpltq, cmp, all_float, m_or_none)
>  DEF_MVE_FUNCTION (vcmpneq, cmp, all_float, m_or_none)
> +DEF_MVE_FUNCTION (vcmulq, binary, all_float, mx_or_none)
> +DEF_MVE_FUNCTION (vcmulq_rot180, binary, all_float, mx_or_none)
> +DEF_MVE_FUNCTION (vcmulq_rot270, binary, all_float, mx_or_none)
> +DEF_MVE_FUNCTION (vcmulq_rot90, binary, all_float, mx_or_none)
>  DEF_MVE_FUNCTION (vcreateq, create, all_float, none)
> +DEF_MVE_FUNCTION (vcvtq, vcvt, cvt, mx_or_none)
>  DEF_MVE_FUNCTION (vdupq, unary_n, all_float, mx_or_none)
>  DEF_MVE_FUNCTION (veorq, binary, all_float, mx_or_none)
>  DEF_MVE_FUNCTION (vfmaq, ternary_opt_n, all_float, m_or_none)
> diff --git a/gcc/config/arm/arm-mve-builtins-base.h b/gcc/config/arm/arm-mve-builtins-base.h
> index c9b52a81c5e..dee73d9c457 100644
> --- a/gcc/config/arm/arm-mve-builtins-base.h
> +++ b/gcc/config/arm/arm-mve-builtins-base.h
> @@ -54,6 +54,7 @@ extern const function_base *const vcmulq_rot180;
>  extern const function_base *const vcmulq_rot270;
>  extern const function_base *const vcmulq_rot90;
>  extern const function_base *const vcreateq;
> +extern const function_base *const vcvtq;
>  extern const function_base *const vdupq;
>  extern const function_base *const veorq;
>  extern const function_base *const vfmaq;
> diff --git a/gcc/config/arm/arm-mve-builtins.cc b/gcc/config/arm/arm-mve-builtins.cc
> index ea44f463dd8..3c5b54dade1 100644
> --- a/gcc/config/arm/arm-mve-builtins.cc
> +++ b/gcc/config/arm/arm-mve-builtins.cc
> @@ -205,6 +205,20 @@ CONSTEXPR const type_suffix_info type_suffixes[NUM_TYPE_SUFFIXES + 1] = {
>  #define TYPES_signed_32(S, D) \
>    S (s32)
>  
> +/* All the type combinations allowed by vcvtq.  */
> +#define TYPES_cvt(S, D) \
> +  D (f16, s16), \
> +  D (f16, u16), \
> +  \
> +  D (f32, s32), \
> +  D (f32, u32), \
> +  \
> +  D (s16, f16), \
> +  D (s32, f32), \
> +  \
> +  D (u16, f16), \
> +  D (u32, f32)
> +
>  #define TYPES_reinterpret_signed1(D, A) \
>    D (A, s8), D (A, s16), D (A, s32), D (A, s64)
>  
> @@ -284,6 +298,7 @@ DEF_MVE_TYPES_ARRAY (integer_32);
>  DEF_MVE_TYPES_ARRAY (poly_8_16);
>  DEF_MVE_TYPES_ARRAY (signed_16_32);
>  DEF_MVE_TYPES_ARRAY (signed_32);
> +DEF_MVE_TYPES_ARRAY (cvt);
>  DEF_MVE_TYPES_ARRAY (reinterpret_integer);
>  DEF_MVE_TYPES_ARRAY (reinterpret_float);
>  
> diff --git a/gcc/config/arm/arm_mve.h b/gcc/config/arm/arm_mve.h
> index ae1b5438797..07897f510f5 100644
> --- a/gcc/config/arm/arm_mve.h
> +++ b/gcc/config/arm/arm_mve.h
> @@ -139,18 +139,12 @@
>  #define vshlcq_m(__a, __b, __imm, __p) __arm_vshlcq_m(__a, __b, __imm, __p)
>  #define vcvttq_f32(__a) __arm_vcvttq_f32(__a)
>  #define vcvtbq_f32(__a) __arm_vcvtbq_f32(__a)
> -#define vcvtq(__a) __arm_vcvtq(__a)
> -#define vcvtq_n(__a, __imm6) __arm_vcvtq_n(__a, __imm6)
>  #define vcvtaq_m(__inactive, __a, __p) __arm_vcvtaq_m(__inactive, __a, __p)
> -#define vcvtq_m(__inactive, __a, __p) __arm_vcvtq_m(__inactive, __a, __p)
>  #define vcvtbq_m(__a, __b, __p) __arm_vcvtbq_m(__a, __b, __p)
>  #define vcvttq_m(__a, __b, __p) __arm_vcvttq_m(__a, __b, __p)
>  #define vcvtmq_m(__inactive, __a, __p) __arm_vcvtmq_m(__inactive, __a, __p)
>  #define vcvtnq_m(__inactive, __a, __p) __arm_vcvtnq_m(__inactive, __a, __p)
>  #define vcvtpq_m(__inactive, __a, __p) __arm_vcvtpq_m(__inactive, __a, __p)
> -#define vcvtq_m_n(__inactive, __a, __imm6, __p) __arm_vcvtq_m_n(__inactive, __a, __imm6, __p)
> -#define vcvtq_x(__a, __p) __arm_vcvtq_x(__a, __p)
> -#define vcvtq_x_n(__a, __imm6, __p) __arm_vcvtq_x_n(__a, __imm6, __p)
>  
>  
>  #define vst4q_s8( __addr, __value) __arm_vst4q_s8( __addr, __value)
> @@ -163,10 +157,6 @@
>  #define vst4q_f32( __addr, __value) __arm_vst4q_f32( __addr, __value)
>  #define vcvttq_f32_f16(__a) __arm_vcvttq_f32_f16(__a)
>  #define vcvtbq_f32_f16(__a) __arm_vcvtbq_f32_f16(__a)
> -#define vcvtq_f16_s16(__a) __arm_vcvtq_f16_s16(__a)
> -#define vcvtq_f32_s32(__a) __arm_vcvtq_f32_s32(__a)
> -#define vcvtq_f16_u16(__a) __arm_vcvtq_f16_u16(__a)
> -#define vcvtq_f32_u32(__a) __arm_vcvtq_f32_u32(__a)
>  #define vcvtaq_s16_f16(__a) __arm_vcvtaq_s16_f16(__a)
>  #define vcvtaq_s32_f32(__a) __arm_vcvtaq_s32_f32(__a)
>  #define vcvtnq_s16_f16(__a) __arm_vcvtnq_s16_f16(__a)
> @@ -175,10 +165,6 @@
>  #define vcvtpq_s32_f32(__a) __arm_vcvtpq_s32_f32(__a)
>  #define vcvtmq_s16_f16(__a) __arm_vcvtmq_s16_f16(__a)
>  #define vcvtmq_s32_f32(__a) __arm_vcvtmq_s32_f32(__a)
> -#define vcvtq_s16_f16(__a) __arm_vcvtq_s16_f16(__a)
> -#define vcvtq_s32_f32(__a) __arm_vcvtq_s32_f32(__a)
> -#define vcvtq_u16_f16(__a) __arm_vcvtq_u16_f16(__a)
> -#define vcvtq_u32_f32(__a) __arm_vcvtq_u32_f32(__a)
>  #define vcvtpq_u16_f16(__a) __arm_vcvtpq_u16_f16(__a)
>  #define vcvtpq_u32_f32(__a) __arm_vcvtpq_u32_f32(__a)
>  #define vcvtnq_u16_f16(__a) __arm_vcvtnq_u16_f16(__a)
> @@ -192,14 +178,6 @@
>  #define vctp64q(__a) __arm_vctp64q(__a)
>  #define vctp8q(__a) __arm_vctp8q(__a)
>  #define vpnot(__a) __arm_vpnot(__a)
> -#define vcvtq_n_f16_s16(__a,  __imm6) __arm_vcvtq_n_f16_s16(__a,  __imm6)
> -#define vcvtq_n_f32_s32(__a,  __imm6) __arm_vcvtq_n_f32_s32(__a,  __imm6)
> -#define vcvtq_n_f16_u16(__a,  __imm6) __arm_vcvtq_n_f16_u16(__a,  __imm6)
> -#define vcvtq_n_f32_u32(__a,  __imm6) __arm_vcvtq_n_f32_u32(__a,  __imm6)
> -#define vcvtq_n_s16_f16(__a,  __imm6) __arm_vcvtq_n_s16_f16(__a,  __imm6)
> -#define vcvtq_n_s32_f32(__a,  __imm6) __arm_vcvtq_n_s32_f32(__a,  __imm6)
> -#define vcvtq_n_u16_f16(__a,  __imm6) __arm_vcvtq_n_u16_f16(__a,  __imm6)
> -#define vcvtq_n_u32_f32(__a,  __imm6) __arm_vcvtq_n_u32_f32(__a,  __imm6)
>  #define vornq_u8(__a, __b) __arm_vornq_u8(__a, __b)
>  #define vbicq_u8(__a, __b) __arm_vbicq_u8(__a, __b)
>  #define vornq_s8(__a, __b) __arm_vornq_s8(__a, __b)
> @@ -234,10 +212,6 @@
>  #define vcvtaq_m_u16_f16(__inactive, __a, __p) __arm_vcvtaq_m_u16_f16(__inactive, __a, __p)
>  #define vcvtaq_m_s32_f32(__inactive, __a, __p) __arm_vcvtaq_m_s32_f32(__inactive, __a, __p)
>  #define vcvtaq_m_u32_f32(__inactive, __a, __p) __arm_vcvtaq_m_u32_f32(__inactive, __a, __p)
> -#define vcvtq_m_f16_s16(__inactive, __a, __p) __arm_vcvtq_m_f16_s16(__inactive, __a, __p)
> -#define vcvtq_m_f16_u16(__inactive, __a, __p) __arm_vcvtq_m_f16_u16(__inactive, __a, __p)
> -#define vcvtq_m_f32_s32(__inactive, __a, __p) __arm_vcvtq_m_f32_s32(__inactive, __a, __p)
> -#define vcvtq_m_f32_u32(__inactive, __a, __p) __arm_vcvtq_m_f32_u32(__inactive, __a, __p)
>  #define vshlcq_s8(__a,  __b,  __imm) __arm_vshlcq_s8(__a,  __b,  __imm)
>  #define vshlcq_u8(__a,  __b,  __imm) __arm_vshlcq_u8(__a,  __b,  __imm)
>  #define vshlcq_s16(__a,  __b,  __imm) __arm_vshlcq_s16(__a,  __b,  __imm)
> @@ -251,23 +225,15 @@
>  #define vcvtmq_m_s16_f16(__inactive, __a, __p) __arm_vcvtmq_m_s16_f16(__inactive, __a, __p)
>  #define vcvtnq_m_s16_f16(__inactive, __a, __p) __arm_vcvtnq_m_s16_f16(__inactive, __a, __p)
>  #define vcvtpq_m_s16_f16(__inactive, __a, __p) __arm_vcvtpq_m_s16_f16(__inactive, __a, __p)
> -#define vcvtq_m_s16_f16(__inactive, __a, __p) __arm_vcvtq_m_s16_f16(__inactive, __a, __p)
>  #define vcvtmq_m_u16_f16(__inactive, __a, __p) __arm_vcvtmq_m_u16_f16(__inactive, __a, __p)
>  #define vcvtnq_m_u16_f16(__inactive, __a, __p) __arm_vcvtnq_m_u16_f16(__inactive, __a, __p)
>  #define vcvtpq_m_u16_f16(__inactive, __a, __p) __arm_vcvtpq_m_u16_f16(__inactive, __a, __p)
> -#define vcvtq_m_u16_f16(__inactive, __a, __p) __arm_vcvtq_m_u16_f16(__inactive, __a, __p)
>  #define vcvtmq_m_s32_f32(__inactive, __a, __p) __arm_vcvtmq_m_s32_f32(__inactive, __a, __p)
>  #define vcvtnq_m_s32_f32(__inactive, __a, __p) __arm_vcvtnq_m_s32_f32(__inactive, __a, __p)
>  #define vcvtpq_m_s32_f32(__inactive, __a, __p) __arm_vcvtpq_m_s32_f32(__inactive, __a, __p)
> -#define vcvtq_m_s32_f32(__inactive, __a, __p) __arm_vcvtq_m_s32_f32(__inactive, __a, __p)
>  #define vcvtmq_m_u32_f32(__inactive, __a, __p) __arm_vcvtmq_m_u32_f32(__inactive, __a, __p)
>  #define vcvtnq_m_u32_f32(__inactive, __a, __p) __arm_vcvtnq_m_u32_f32(__inactive, __a, __p)
>  #define vcvtpq_m_u32_f32(__inactive, __a, __p) __arm_vcvtpq_m_u32_f32(__inactive, __a, __p)
> -#define vcvtq_m_u32_f32(__inactive, __a, __p) __arm_vcvtq_m_u32_f32(__inactive, __a, __p)
> -#define vcvtq_m_n_f16_u16(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_f16_u16(__inactive, __a,  __imm6, __p)
> -#define vcvtq_m_n_f16_s16(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_f16_s16(__inactive, __a,  __imm6, __p)
> -#define vcvtq_m_n_f32_u32(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_f32_u32(__inactive, __a,  __imm6, __p)
> -#define vcvtq_m_n_f32_s32(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_f32_s32(__inactive, __a,  __imm6, __p)
>  #define vbicq_m_s8(__inactive, __a, __b, __p) __arm_vbicq_m_s8(__inactive, __a, __b, __p)
>  #define vbicq_m_s32(__inactive, __a, __b, __p) __arm_vbicq_m_s32(__inactive, __a, __b, __p)
>  #define vbicq_m_s16(__inactive, __a, __b, __p) __arm_vbicq_m_s16(__inactive, __a, __b, __p)
> @@ -282,10 +248,6 @@
>  #define vornq_m_u16(__inactive, __a, __b, __p) __arm_vornq_m_u16(__inactive, __a, __b, __p)
>  #define vbicq_m_f32(__inactive, __a, __b, __p) __arm_vbicq_m_f32(__inactive, __a, __b, __p)
>  #define vbicq_m_f16(__inactive, __a, __b, __p) __arm_vbicq_m_f16(__inactive, __a, __b, __p)
> -#define vcvtq_m_n_s32_f32(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_s32_f32(__inactive, __a,  __imm6, __p)
> -#define vcvtq_m_n_s16_f16(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_s16_f16(__inactive, __a,  __imm6, __p)
> -#define vcvtq_m_n_u32_f32(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_u32_f32(__inactive, __a,  __imm6, __p)
> -#define vcvtq_m_n_u16_f16(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_u16_f16(__inactive, __a,  __imm6, __p)
>  #define vornq_m_f32(__inactive, __a, __b, __p) __arm_vornq_m_f32(__inactive, __a, __b, __p)
>  #define vornq_m_f16(__inactive, __a, __b, __p) __arm_vornq_m_f16(__inactive, __a, __b, __p)
>  #define vstrbq_s8( __addr, __value) __arm_vstrbq_s8( __addr, __value)
> @@ -600,22 +562,6 @@
>  #define vcvtmq_x_u32_f32(__a, __p) __arm_vcvtmq_x_u32_f32(__a, __p)
>  #define vcvtbq_x_f32_f16(__a, __p) __arm_vcvtbq_x_f32_f16(__a, __p)
>  #define vcvttq_x_f32_f16(__a, __p) __arm_vcvttq_x_f32_f16(__a, __p)
> -#define vcvtq_x_f16_u16(__a, __p) __arm_vcvtq_x_f16_u16(__a, __p)
> -#define vcvtq_x_f16_s16(__a, __p) __arm_vcvtq_x_f16_s16(__a, __p)
> -#define vcvtq_x_f32_s32(__a, __p) __arm_vcvtq_x_f32_s32(__a, __p)
> -#define vcvtq_x_f32_u32(__a, __p) __arm_vcvtq_x_f32_u32(__a, __p)
> -#define vcvtq_x_n_f16_s16(__a,  __imm6, __p) __arm_vcvtq_x_n_f16_s16(__a,  __imm6, __p)
> -#define vcvtq_x_n_f16_u16(__a,  __imm6, __p) __arm_vcvtq_x_n_f16_u16(__a,  __imm6, __p)
> -#define vcvtq_x_n_f32_s32(__a,  __imm6, __p) __arm_vcvtq_x_n_f32_s32(__a,  __imm6, __p)
> -#define vcvtq_x_n_f32_u32(__a,  __imm6, __p) __arm_vcvtq_x_n_f32_u32(__a,  __imm6, __p)
> -#define vcvtq_x_s16_f16(__a, __p) __arm_vcvtq_x_s16_f16(__a, __p)
> -#define vcvtq_x_s32_f32(__a, __p) __arm_vcvtq_x_s32_f32(__a, __p)
> -#define vcvtq_x_u16_f16(__a, __p) __arm_vcvtq_x_u16_f16(__a, __p)
> -#define vcvtq_x_u32_f32(__a, __p) __arm_vcvtq_x_u32_f32(__a, __p)
> -#define vcvtq_x_n_s16_f16(__a,  __imm6, __p) __arm_vcvtq_x_n_s16_f16(__a,  __imm6, __p)
> -#define vcvtq_x_n_s32_f32(__a,  __imm6, __p) __arm_vcvtq_x_n_s32_f32(__a,  __imm6, __p)
> -#define vcvtq_x_n_u16_f16(__a,  __imm6, __p) __arm_vcvtq_x_n_u16_f16(__a,  __imm6, __p)
> -#define vcvtq_x_n_u32_f32(__a,  __imm6, __p) __arm_vcvtq_x_n_u32_f32(__a,  __imm6, __p)
>  #define vbicq_x_f16(__a, __b, __p) __arm_vbicq_x_f16(__a, __b, __p)
>  #define vbicq_x_f32(__a, __b, __p) __arm_vbicq_x_f32(__a, __b, __p)
>  #define vornq_x_f16(__a, __b, __p) __arm_vornq_x_f16(__a, __b, __p)
> @@ -3772,62 +3718,6 @@ __arm_vcvtbq_f32_f16 (float16x8_t __a)
>    return __builtin_mve_vcvtbq_f32_f16v4sf (__a);
>  }
>  
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_f16_s16 (int16x8_t __a)
> -{
> -  return __builtin_mve_vcvtq_to_f_sv8hf (__a);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_f32_s32 (int32x4_t __a)
> -{
> -  return __builtin_mve_vcvtq_to_f_sv4sf (__a);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_f16_u16 (uint16x8_t __a)
> -{
> -  return __builtin_mve_vcvtq_to_f_uv8hf (__a);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_f32_u32 (uint32x4_t __a)
> -{
> -  return __builtin_mve_vcvtq_to_f_uv4sf (__a);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_s16_f16 (float16x8_t __a)
> -{
> -  return __builtin_mve_vcvtq_from_f_sv8hi (__a);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_s32_f32 (float32x4_t __a)
> -{
> -  return __builtin_mve_vcvtq_from_f_sv4si (__a);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_u16_f16 (float16x8_t __a)
> -{
> -  return __builtin_mve_vcvtq_from_f_uv8hi (__a);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_u32_f32 (float32x4_t __a)
> -{
> -  return __builtin_mve_vcvtq_from_f_uv4si (__a);
> -}
> -
>  __extension__ extern __inline uint16x8_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcvtpq_u16_f16 (float16x8_t __a)
> @@ -3940,62 +3830,6 @@ __arm_vcvtmq_s32_f32 (float32x4_t __a)
>    return __builtin_mve_vcvtmq_sv4si (__a);
>  }
>  
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_n_f16_s16 (int16x8_t __a, const int __imm6)
> -{
> -  return __builtin_mve_vcvtq_n_to_f_sv8hf (__a, __imm6);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_n_f32_s32 (int32x4_t __a, const int __imm6)
> -{
> -  return __builtin_mve_vcvtq_n_to_f_sv4sf (__a, __imm6);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_n_f16_u16 (uint16x8_t __a, const int __imm6)
> -{
> -  return __builtin_mve_vcvtq_n_to_f_uv8hf (__a, __imm6);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_n_f32_u32 (uint32x4_t __a, const int __imm6)
> -{
> -  return __builtin_mve_vcvtq_n_to_f_uv4sf (__a, __imm6);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_n_s16_f16 (float16x8_t __a, const int __imm6)
> -{
> -  return __builtin_mve_vcvtq_n_from_f_sv8hi (__a, __imm6);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_n_s32_f32 (float32x4_t __a, const int __imm6)
> -{
> -  return __builtin_mve_vcvtq_n_from_f_sv4si (__a, __imm6);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_n_u16_f16 (float16x8_t __a, const int __imm6)
> -{
> -  return __builtin_mve_vcvtq_n_from_f_uv8hi (__a, __imm6);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_n_u32_f32 (float32x4_t __a, const int __imm6)
> -{
> -  return __builtin_mve_vcvtq_n_from_f_uv4si (__a, __imm6);
> -}
> -
>  __extension__ extern __inline float16x8_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vornq_f16 (float16x8_t __a, float16x8_t __b)
> @@ -4066,34 +3900,6 @@ __arm_vcvtaq_m_u32_f32 (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p
>    return __builtin_mve_vcvtaq_m_uv4si (__inactive, __a, __p);
>  }
>  
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_f16_s16 (float16x8_t __inactive, int16x8_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_to_f_sv8hf (__inactive, __a, __p);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_f16_u16 (float16x8_t __inactive, uint16x8_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_to_f_uv8hf (__inactive, __a, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_f32_s32 (float32x4_t __inactive, int32x4_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_to_f_sv4sf (__inactive, __a, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_f32_u32 (float32x4_t __inactive, uint32x4_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_to_f_uv4sf (__inactive, __a, __p);
> -}
> -
>  
>  __extension__ extern __inline float16x8_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> @@ -4144,13 +3950,6 @@ __arm_vcvtpq_m_s16_f16 (int16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
>    return __builtin_mve_vcvtpq_m_sv8hi (__inactive, __a, __p);
>  }
>  
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_s16_f16 (int16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_from_f_sv8hi (__inactive, __a, __p);
> -}
> -
>  __extension__ extern __inline uint16x8_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcvtmq_m_u16_f16 (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
> @@ -4172,13 +3971,6 @@ __arm_vcvtpq_m_u16_f16 (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p
>    return __builtin_mve_vcvtpq_m_uv8hi (__inactive, __a, __p);
>  }
>  
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_u16_f16 (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_from_f_uv8hi (__inactive, __a, __p);
> -}
> -
>  __extension__ extern __inline int32x4_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcvtmq_m_s32_f32 (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
> @@ -4200,13 +3992,6 @@ __arm_vcvtpq_m_s32_f32 (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>    return __builtin_mve_vcvtpq_m_sv4si (__inactive, __a, __p);
>  }
>  
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_s32_f32 (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_from_f_sv4si (__inactive, __a, __p);
> -}
> -
>  __extension__ extern __inline uint32x4_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcvtmq_m_u32_f32 (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
> @@ -4228,41 +4013,6 @@ __arm_vcvtpq_m_u32_f32 (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p
>    return __builtin_mve_vcvtpq_m_uv4si (__inactive, __a, __p);
>  }
>  
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_u32_f32 (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_from_f_uv4si (__inactive, __a, __p);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n_f16_u16 (float16x8_t __inactive, uint16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_to_f_uv8hf (__inactive, __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n_f16_s16 (float16x8_t __inactive, int16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_to_f_sv8hf (__inactive, __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n_f32_u32 (float32x4_t __inactive, uint32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_to_f_uv4sf (__inactive, __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n_f32_s32 (float32x4_t __inactive, int32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_to_f_sv4sf (__inactive, __a, __imm6, __p);
> -}
> -
>  __extension__ extern __inline float32x4_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vbicq_m_f32 (float32x4_t __inactive, float32x4_t __a, float32x4_t __b, mve_pred16_t __p)
> @@ -4277,34 +4027,6 @@ __arm_vbicq_m_f16 (float16x8_t __inactive, float16x8_t __a, float16x8_t __b, mve
>    return __builtin_mve_vbicq_m_fv8hf (__inactive, __a, __b, __p);
>  }
>  
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n_s32_f32 (int32x4_t __inactive, float32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_from_f_sv4si (__inactive, __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n_s16_f16 (int16x8_t __inactive, float16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_from_f_sv8hi (__inactive, __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n_u32_f32 (uint32x4_t __inactive, float32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_from_f_uv4si (__inactive, __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n_u16_f16 (uint16x8_t __inactive, float16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_from_f_uv8hi (__inactive, __a, __imm6, __p);
> -}
> -
>  __extension__ extern __inline float32x4_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vornq_m_f32 (float32x4_t __inactive, float32x4_t __a, float32x4_t __b, mve_pred16_t __p)
> @@ -4675,118 +4397,6 @@ __arm_vcvttq_x_f32_f16 (float16x8_t __a, mve_pred16_t __p)
>    return __builtin_mve_vcvttq_m_f32_f16v4sf (__arm_vuninitializedq_f32 (), __a, __p);
>  }
>  
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_f16_u16 (uint16x8_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_to_f_uv8hf (__arm_vuninitializedq_f16 (), __a, __p);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_f16_s16 (int16x8_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_to_f_sv8hf (__arm_vuninitializedq_f16 (), __a, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_f32_s32 (int32x4_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_to_f_sv4sf (__arm_vuninitializedq_f32 (), __a, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_f32_u32 (uint32x4_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_to_f_uv4sf (__arm_vuninitializedq_f32 (), __a, __p);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_n_f16_s16 (int16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_to_f_sv8hf (__arm_vuninitializedq_f16 (), __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_n_f16_u16 (uint16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_to_f_uv8hf (__arm_vuninitializedq_f16 (), __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_n_f32_s32 (int32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_to_f_sv4sf (__arm_vuninitializedq_f32 (), __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_n_f32_u32 (uint32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_to_f_uv4sf (__arm_vuninitializedq_f32 (), __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_s16_f16 (float16x8_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_from_f_sv8hi (__arm_vuninitializedq_s16 (), __a, __p);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_s32_f32 (float32x4_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_from_f_sv4si (__arm_vuninitializedq_s32 (), __a, __p);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_u16_f16 (float16x8_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_from_f_uv8hi (__arm_vuninitializedq_u16 (), __a, __p);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_u32_f32 (float32x4_t __a, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_from_f_uv4si (__arm_vuninitializedq_u32 (), __a, __p);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_n_s16_f16 (float16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_from_f_sv8hi (__arm_vuninitializedq_s16 (), __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_n_s32_f32 (float32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_from_f_sv4si (__arm_vuninitializedq_s32 (), __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_n_u16_f16 (float16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_from_f_uv8hi (__arm_vuninitializedq_u16 (), __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_n_u32_f32 (float32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vcvtq_m_n_from_f_uv4si (__arm_vuninitializedq_u32 (), __a, __imm6, __p);
> -}
> -
>  __extension__ extern __inline float16x8_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vbicq_x_f16 (float16x8_t __a, float16x8_t __b, mve_pred16_t __p)
> @@ -7231,62 +6841,6 @@ __arm_vcvtbq_f32 (float16x8_t __a)
>   return __arm_vcvtbq_f32_f16 (__a);
>  }
>  
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq (int16x8_t __a)
> -{
> - return __arm_vcvtq_f16_s16 (__a);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq (int32x4_t __a)
> -{
> - return __arm_vcvtq_f32_s32 (__a);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq (uint16x8_t __a)
> -{
> - return __arm_vcvtq_f16_u16 (__a);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq (uint32x4_t __a)
> -{
> - return __arm_vcvtq_f32_u32 (__a);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_n (int16x8_t __a, const int __imm6)
> -{
> - return __arm_vcvtq_n_f16_s16 (__a, __imm6);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_n (int32x4_t __a, const int __imm6)
> -{
> - return __arm_vcvtq_n_f32_s32 (__a, __imm6);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_n (uint16x8_t __a, const int __imm6)
> -{
> - return __arm_vcvtq_n_f16_u16 (__a, __imm6);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_n (uint32x4_t __a, const int __imm6)
> -{
> - return __arm_vcvtq_n_f32_u32 (__a, __imm6);
> -}
> -
>  __extension__ extern __inline float16x8_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vornq (float16x8_t __a, float16x8_t __b)
> @@ -7343,34 +6897,6 @@ __arm_vcvtaq_m (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>   return __arm_vcvtaq_m_u32_f32 (__inactive, __a, __p);
>  }
>  
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m (float16x8_t __inactive, int16x8_t __a, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_f16_s16 (__inactive, __a, __p);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m (float16x8_t __inactive, uint16x8_t __a, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_f16_u16 (__inactive, __a, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m (float32x4_t __inactive, int32x4_t __a, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_f32_s32 (__inactive, __a, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m (float32x4_t __inactive, uint32x4_t __a, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_f32_u32 (__inactive, __a, __p);
> -}
> -
>  __extension__ extern __inline float16x8_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcvtbq_m (float16x8_t __a, float32x4_t __b, mve_pred16_t __p)
> @@ -7420,13 +6946,6 @@ __arm_vcvtpq_m (int16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
>   return __arm_vcvtpq_m_s16_f16 (__inactive, __a, __p);
>  }
>  
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m (int16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_s16_f16 (__inactive, __a, __p);
> -}
> -
>  __extension__ extern __inline uint16x8_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcvtmq_m (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
> @@ -7448,13 +6967,6 @@ __arm_vcvtpq_m (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
>   return __arm_vcvtpq_m_u16_f16 (__inactive, __a, __p);
>  }
>  
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_u16_f16 (__inactive, __a, __p);
> -}
> -
>  __extension__ extern __inline int32x4_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcvtmq_m (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
> @@ -7476,13 +6988,6 @@ __arm_vcvtpq_m (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>   return __arm_vcvtpq_m_s32_f32 (__inactive, __a, __p);
>  }
>  
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_s32_f32 (__inactive, __a, __p);
> -}
> -
>  __extension__ extern __inline uint32x4_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcvtmq_m (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
> @@ -7504,41 +7009,6 @@ __arm_vcvtpq_m (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>   return __arm_vcvtpq_m_u32_f32 (__inactive, __a, __p);
>  }
>  
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_u32_f32 (__inactive, __a, __p);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n (float16x8_t __inactive, uint16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_n_f16_u16 (__inactive, __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n (float16x8_t __inactive, int16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_n_f16_s16 (__inactive, __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n (float32x4_t __inactive, uint32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_n_f32_u32 (__inactive, __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n (float32x4_t __inactive, int32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_n_f32_s32 (__inactive, __a, __imm6, __p);
> -}
> -
>  __extension__ extern __inline float32x4_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vbicq_m (float32x4_t __inactive, float32x4_t __a, float32x4_t __b, mve_pred16_t __p)
> @@ -7553,34 +7023,6 @@ __arm_vbicq_m (float16x8_t __inactive, float16x8_t __a, float16x8_t __b, mve_pre
>   return __arm_vbicq_m_f16 (__inactive, __a, __b, __p);
>  }
>  
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n (int32x4_t __inactive, float32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_n_s32_f32 (__inactive, __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n (int16x8_t __inactive, float16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_n_s16_f16 (__inactive, __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n (uint32x4_t __inactive, float32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_n_u32_f32 (__inactive, __a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_m_n (uint16x8_t __inactive, float16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_m_n_u16_f16 (__inactive, __a, __imm6, __p);
> -}
> -
>  __extension__ extern __inline float32x4_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vornq_m (float32x4_t __inactive, float32x4_t __a, float32x4_t __b, mve_pred16_t __p)
> @@ -7763,62 +7205,6 @@ __arm_vstrwq_scatter_base_wb_p (uint32x4_t * __addr, const int __offset, float32
>   __arm_vstrwq_scatter_base_wb_p_f32 (__addr, __offset, __value, __p);
>  }
>  
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x (uint16x8_t __a, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_x_f16_u16 (__a, __p);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x (int16x8_t __a, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_x_f16_s16 (__a, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x (int32x4_t __a, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_x_f32_s32 (__a, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x (uint32x4_t __a, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_x_f32_u32 (__a, __p);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_n (int16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_x_n_f16_s16 (__a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline float16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_n (uint16x8_t __a, const int __imm6, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_x_n_f16_u16 (__a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_n (int32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_x_n_f32_s32 (__a, __imm6, __p);
> -}
> -
> -__extension__ extern __inline float32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vcvtq_x_n (uint32x4_t __a, const int __imm6, mve_pred16_t __p)
> -{
> - return __arm_vcvtq_x_n_f32_u32 (__a, __imm6, __p);
> -}
> -
>  __extension__ extern __inline float16x8_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vbicq_x (float16x8_t __a, float16x8_t __b, mve_pred16_t __p)
> @@ -8276,20 +7662,6 @@ extern void *__ARM_undef;
>    _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
>    int (*)[__ARM_mve_type_float16x8_t]: __arm_vcvttq_f32_f16 (__ARM_mve_coerce(__p0, float16x8_t)));})
>  
> -#define __arm_vcvtq(p0) ({ __typeof(p0) __p0 = (p0); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vcvtq_f16_s16 (__ARM_mve_coerce(__p0, int16x8_t)), \
> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vcvtq_f32_s32 (__ARM_mve_coerce(__p0, int32x4_t)), \
> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vcvtq_f16_u16 (__ARM_mve_coerce(__p0, uint16x8_t)), \
> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vcvtq_f32_u32 (__ARM_mve_coerce(__p0, uint32x4_t)));})
> -
> -#define __arm_vcvtq_n(p0,p1) ({ __typeof(p0) __p0 = (p0); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vcvtq_n_f16_s16 (__ARM_mve_coerce(__p0, int16x8_t), p1), \
> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vcvtq_n_f32_s32 (__ARM_mve_coerce(__p0, int32x4_t), p1), \
> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vcvtq_n_f16_u16 (__ARM_mve_coerce(__p0, uint16x8_t), p1), \
> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vcvtq_n_f32_u32 (__ARM_mve_coerce(__p0, uint32x4_t), p1));})
> -
>  #define __arm_vbicq(p0,p1) ({ __typeof(p0) __p0 = (p0); \
>    __typeof(p1) __p1 = (p1); \
>    _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \
> @@ -8342,30 +7714,6 @@ extern void *__ARM_undef;
>    int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtaq_m_u16_f16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \
>    int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtaq_m_u32_f32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2));})
>  
> -#define __arm_vcvtq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \
> -  __typeof(p1) __p1 = (p1); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \
> -  int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcvtq_m_f16_s16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2), \
> -  int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcvtq_m_f32_s32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2), \
> -  int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcvtq_m_f16_u16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), p2), \
> -  int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcvtq_m_f32_u32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2), \
> -  int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtq_m_s16_f16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \
> -  int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtq_m_s32_f32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2), \
> -  int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtq_m_u16_f16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \
> -  int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtq_m_u32_f32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2));})
> -
> -#define __arm_vcvtq_m_n(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \
> -  __typeof(p1) __p1 = (p1); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \
> -  int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtq_m_n_s16_f16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2, p3), \
> -  int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtq_m_n_s32_f32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2, p3), \
> -  int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtq_m_n_u16_f16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2, p3), \
> -  int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtq_m_n_u32_f32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2, p3), \
> -  int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcvtq_m_n_f16_s16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2, p3), \
> -  int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcvtq_m_n_f32_s32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2, p3), \
> -  int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcvtq_m_n_f16_u16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), p2, p3), \
> -  int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcvtq_m_n_f32_u32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2, p3));})
> -
>  #define __arm_vcvtbq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \
>    __typeof(p1) __p1 = (p1); \
>    _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \
> @@ -8730,20 +8078,6 @@ extern void *__ARM_undef;
>    int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vbicq_x_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3), \
>    int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vbicq_x_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t), p3));})
>  
> -#define __arm_vcvtq_x(p1,p2) ({ __typeof(p1) __p1 = (p1); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \
> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vcvtq_x_f16_s16 (__ARM_mve_coerce(__p1, int16x8_t), p2), \
> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vcvtq_x_f32_s32 (__ARM_mve_coerce(__p1, int32x4_t), p2), \
> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vcvtq_x_f16_u16 (__ARM_mve_coerce(__p1, uint16x8_t), p2), \
> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vcvtq_x_f32_u32 (__ARM_mve_coerce(__p1, uint32x4_t), p2));})
> -
> -#define __arm_vcvtq_x_n(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \
> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vcvtq_x_n_f16_s16 (__ARM_mve_coerce(__p1, int16x8_t), p2, p3), \
> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vcvtq_x_n_f32_s32 (__ARM_mve_coerce(__p1, int32x4_t), p2, p3), \
> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vcvtq_x_n_f16_u16 (__ARM_mve_coerce(__p1, uint16x8_t), p2, p3), \
> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vcvtq_x_n_f32_u32 (__ARM_mve_coerce(__p1, uint32x4_t), p2, p3));})
> -
>  #define __arm_vornq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \
>    __typeof(p2) __p2 = (p2); \
>    _Generic( (int (*)[__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \
Christophe Lyon Oct. 16, 2024, 8:44 a.m. UTC | #2
On 10/14/24 19:05, Richard Earnshaw (lists) wrote:
> On 04/09/2024 14:26, Christophe Lyon wrote:
>> Implement vcvtq using the new MVE builtins framework.
>>
>> In config/arm/arm-mve-builtins-base.def, the patch also restores the
>> alphabetical order.
>>
>> 2024-07-11  Christophe Lyon  <christophe.lyon@linaro.org>
>>
>> 	gcc/
>> 	* config/arm/arm-mve-builtins-base.cc (class vcvtq_impl): New.
>> 	(vcvtq): New.
>> 	* config/arm/arm-mve-builtins-base.def (vcvtq): New.
>> 	* config/arm/arm-mve-builtins-base.h (vcvtq): New.
>> 	* config/arm/arm-mve-builtins.cc (cvt): New type.
>> 	* config/arm/arm_mve.h (vcvtq): Delete.
>> 	(vcvtq_n): Delete.
>> 	(vcvtq_m): Delete.
>> 	(vcvtq_m_n): Delete.
>> 	(vcvtq_x): Delete.
>> 	(vcvtq_x_n): Delete.
>> 	(vcvtq_f16_s16): Delete.
>> 	(vcvtq_f32_s32): Delete.
>> 	(vcvtq_f16_u16): Delete.
>> 	(vcvtq_f32_u32): Delete.
>> 	(vcvtq_s16_f16): Delete.
>> 	(vcvtq_s32_f32): Delete.
>> 	(vcvtq_u16_f16): Delete.
>> 	(vcvtq_u32_f32): Delete.
>> 	(vcvtq_n_f16_s16): Delete.
>> 	(vcvtq_n_f32_s32): Delete.
>> 	(vcvtq_n_f16_u16): Delete.
>> 	(vcvtq_n_f32_u32): Delete.
>> 	(vcvtq_n_s16_f16): Delete.
>> 	(vcvtq_n_s32_f32): Delete.
>> 	(vcvtq_n_u16_f16): Delete.
>> 	(vcvtq_n_u32_f32): Delete.
>> 	(vcvtq_m_f16_s16): Delete.
>> 	(vcvtq_m_f16_u16): Delete.
>> 	(vcvtq_m_f32_s32): Delete.
>> 	(vcvtq_m_f32_u32): Delete.
>> 	(vcvtq_m_s16_f16): Delete.
>> 	(vcvtq_m_u16_f16): Delete.
>> 	(vcvtq_m_s32_f32): Delete.
>> 	(vcvtq_m_u32_f32): Delete.
>> 	(vcvtq_m_n_f16_u16): Delete.
>> 	(vcvtq_m_n_f16_s16): Delete.
>> 	(vcvtq_m_n_f32_u32): Delete.
>> 	(vcvtq_m_n_f32_s32): Delete.
>> 	(vcvtq_m_n_s32_f32): Delete.
>> 	(vcvtq_m_n_s16_f16): Delete.
>> 	(vcvtq_m_n_u32_f32): Delete.
>> 	(vcvtq_m_n_u16_f16): Delete.
>> 	(vcvtq_x_f16_u16): Delete.
>> 	(vcvtq_x_f16_s16): Delete.
>> 	(vcvtq_x_f32_s32): Delete.
>> 	(vcvtq_x_f32_u32): Delete.
>> 	(vcvtq_x_n_f16_s16): Delete.
>> 	(vcvtq_x_n_f16_u16): Delete.
>> 	(vcvtq_x_n_f32_s32): Delete.
>> 	(vcvtq_x_n_f32_u32): Delete.
>> 	(vcvtq_x_s16_f16): Delete.
>> 	(vcvtq_x_s32_f32): Delete.
>> 	(vcvtq_x_u16_f16): Delete.
>> 	(vcvtq_x_u32_f32): Delete.
>> 	(vcvtq_x_n_s16_f16): Delete.
>> 	(vcvtq_x_n_s32_f32): Delete.
>> 	(vcvtq_x_n_u16_f16): Delete.
>> 	(vcvtq_x_n_u32_f32): Delete.
>> 	(__arm_vcvtq_f16_s16): Delete.
>> 	(__arm_vcvtq_f32_s32): Delete.
>> 	(__arm_vcvtq_f16_u16): Delete.
>> 	(__arm_vcvtq_f32_u32): Delete.
>> 	(__arm_vcvtq_s16_f16): Delete.
>> 	(__arm_vcvtq_s32_f32): Delete.
>> 	(__arm_vcvtq_u16_f16): Delete.
>> 	(__arm_vcvtq_u32_f32): Delete.
>> 	(__arm_vcvtq_n_f16_s16): Delete.
>> 	(__arm_vcvtq_n_f32_s32): Delete.
>> 	(__arm_vcvtq_n_f16_u16): Delete.
>> 	(__arm_vcvtq_n_f32_u32): Delete.
>> 	(__arm_vcvtq_n_s16_f16): Delete.
>> 	(__arm_vcvtq_n_s32_f32): Delete.
>> 	(__arm_vcvtq_n_u16_f16): Delete.
>> 	(__arm_vcvtq_n_u32_f32): Delete.
>> 	(__arm_vcvtq_m_f16_s16): Delete.
>> 	(__arm_vcvtq_m_f16_u16): Delete.
>> 	(__arm_vcvtq_m_f32_s32): Delete.
>> 	(__arm_vcvtq_m_f32_u32): Delete.
>> 	(__arm_vcvtq_m_s16_f16): Delete.
>> 	(__arm_vcvtq_m_u16_f16): Delete.
>> 	(__arm_vcvtq_m_s32_f32): Delete.
>> 	(__arm_vcvtq_m_u32_f32): Delete.
>> 	(__arm_vcvtq_m_n_f16_u16): Delete.
>> 	(__arm_vcvtq_m_n_f16_s16): Delete.
>> 	(__arm_vcvtq_m_n_f32_u32): Delete.
>> 	(__arm_vcvtq_m_n_f32_s32): Delete.
>> 	(__arm_vcvtq_m_n_s32_f32): Delete.
>> 	(__arm_vcvtq_m_n_s16_f16): Delete.
>> 	(__arm_vcvtq_m_n_u32_f32): Delete.
>> 	(__arm_vcvtq_m_n_u16_f16): Delete.
>> 	(__arm_vcvtq_x_f16_u16): Delete.
>> 	(__arm_vcvtq_x_f16_s16): Delete.
>> 	(__arm_vcvtq_x_f32_s32): Delete.
>> 	(__arm_vcvtq_x_f32_u32): Delete.
>> 	(__arm_vcvtq_x_n_f16_s16): Delete.
>> 	(__arm_vcvtq_x_n_f16_u16): Delete.
>> 	(__arm_vcvtq_x_n_f32_s32): Delete.
>> 	(__arm_vcvtq_x_n_f32_u32): Delete.
>> 	(__arm_vcvtq_x_s16_f16): Delete.
>> 	(__arm_vcvtq_x_s32_f32): Delete.
>> 	(__arm_vcvtq_x_u16_f16): Delete.
>> 	(__arm_vcvtq_x_u32_f32): Delete.
>> 	(__arm_vcvtq_x_n_s16_f16): Delete.
>> 	(__arm_vcvtq_x_n_s32_f32): Delete.
>> 	(__arm_vcvtq_x_n_u16_f16): Delete.
>> 	(__arm_vcvtq_x_n_u32_f32): Delete.
>> 	(__arm_vcvtq): Delete.
>> 	(__arm_vcvtq_n): Delete.
>> 	(__arm_vcvtq_m): Delete.
>> 	(__arm_vcvtq_m_n): Delete.
>> 	(__arm_vcvtq_x): Delete.
>> 	(__arm_vcvtq_x_n): Delete.
>> ---
>>   gcc/config/arm/arm-mve-builtins-base.cc  | 113 ++++
>>   gcc/config/arm/arm-mve-builtins-base.def |  19 +-
>>   gcc/config/arm/arm-mve-builtins-base.h   |   1 +
>>   gcc/config/arm/arm-mve-builtins.cc       |  15 +
>>   gcc/config/arm/arm_mve.h                 | 666 -----------------------
>>   5 files changed, 139 insertions(+), 675 deletions(-)
>>
>> diff --git a/gcc/config/arm/arm-mve-builtins-base.cc b/gcc/config/arm/arm-mve-builtins-base.cc
>> index e0ae593a6c0..a780d686eb1 100644
>> --- a/gcc/config/arm/arm-mve-builtins-base.cc
>> +++ b/gcc/config/arm/arm-mve-builtins-base.cc
>> @@ -139,6 +139,118 @@ public:
>>     }
>>   };
>>   
>> +  /* Implements vcvtq intrinsics.  */
>> +class vcvtq_impl : public function_base
>> +{
>> +public:
>> +  rtx
>> +  expand (function_expander &e) const override
>> +  {
>> +    insn_code code;
>> +    machine_mode target_mode = e.vector_mode (0);
>> +    int unspec;
>> +    switch (e.pred)
>> +      {
>> +      case PRED_none:
>> +	switch (e.mode_suffix_id)
>> +	  {
>> +	  case MODE_none:
>> +	    /* No predicate, no suffix.  */
>> +	    if (e.type_suffix (0).integer_p)
>> +	      {
>> +		unspec = e.type_suffix (0).unsigned_p
>> +		  ? VCVTQ_FROM_F_U
>> +		  : VCVTQ_FROM_F_S;
> 
> Stylistic nit: when breaking an assignment over multiple lines, I tend to prefer that parenthesis are added to ensure that the operators on subsequent lines indent correclty.  In this case, something like:
> 
> 		unspec = (e.type_suffix (0).unsigned_p
> 		          ? VCVTQ_FROM_F_U
> 		          : VCVTQ_FROM_F_S);
> 
> I'm not sure if this is a hard and fast rule, though; it's probably more important when there's more complex indentation.
> 
Indeed, I often wonder what's the best indentation. I'll change that.
Thanks,

Christophe

> 
> OK.
> 
> R.
> 
>> +		code = code_for_mve_q_from_f (unspec, unspec, target_mode);
>> +	      }
>> +	    else
>> +	      {
>> +		unspec = e.type_suffix (1).unsigned_p
>> +		  ? VCVTQ_TO_F_U
>> +		  : VCVTQ_TO_F_S;
>> +		code = code_for_mve_q_to_f (unspec, unspec, target_mode);
>> +	      }
>> +	    break;
>> +
>> +	  case MODE_n:
>> +	    /* No predicate, _n suffix.  */
>> +	    if (e.type_suffix (0).integer_p)
>> +	      {
>> +		unspec = e.type_suffix (0).unsigned_p
>> +		  ? VCVTQ_N_FROM_F_U
>> +		  : VCVTQ_N_FROM_F_S;
>> +		code = code_for_mve_q_n_from_f (unspec, unspec, target_mode);
>> +	      }
>> +	    else
>> +	      {
>> +		unspec = e.type_suffix (1).unsigned_p
>> +		  ? VCVTQ_N_TO_F_U
>> +		  : VCVTQ_N_TO_F_S;
>> +		code = code_for_mve_q_n_to_f (unspec, unspec, target_mode);
>> +	      }
>> +	    break;
>> +
>> +	  default:
>> +	    gcc_unreachable ();
>> +	  }
>> +	return e.use_exact_insn (code);
>> +
>> +      case PRED_m:
>> +      case PRED_x:
>> +	switch (e.mode_suffix_id)
>> +	  {
>> +	  case MODE_none:
>> +	    /* No suffix, "m" or "x" predicate.  */
>> +	    if (e.type_suffix (0).integer_p)
>> +	      {
>> +		unspec = e.type_suffix (0).unsigned_p
>> +		  ? VCVTQ_M_FROM_F_U
>> +		  : VCVTQ_M_FROM_F_S;
>> +		code = code_for_mve_q_m_from_f (unspec, unspec, target_mode);
>> +	      }
>> +	    else
>> +	      {
>> +		unspec = e.type_suffix (1).unsigned_p
>> +		  ? VCVTQ_M_TO_F_U
>> +		  : VCVTQ_M_TO_F_S;
>> +		code = code_for_mve_q_m_to_f (unspec, unspec, target_mode);
>> +	      }
>> +	    break;
>> +
>> +	  case MODE_n:
>> +	    /* _n suffix, "m" or "x" predicate.  */
>> +	    if (e.type_suffix (0).integer_p)
>> +	      {
>> +		unspec = e.type_suffix (0).unsigned_p
>> +		  ? VCVTQ_M_N_FROM_F_U
>> +		  : VCVTQ_M_N_FROM_F_S;
>> +		code = code_for_mve_q_m_n_from_f (unspec, unspec, target_mode);
>> +	      }
>> +	    else
>> +	      {
>> +		unspec = e.type_suffix (1).unsigned_p
>> +		  ? VCVTQ_M_N_TO_F_U
>> +		  : VCVTQ_M_N_TO_F_S;
>> +		code = code_for_mve_q_m_n_to_f (unspec, unspec, target_mode);
>> +	      }
>> +	    break;
>> +
>> +	  default:
>> +	    gcc_unreachable ();
>> +	  }
>> +	if (e.pred == PRED_m)
>> +	  return e.use_cond_insn (code, 0);
>> +	else
>> +	  return e.use_pred_x_insn (code);
>> +
>> +      default:
>> +	gcc_unreachable ();
>> +      }
>> +
>> +    gcc_unreachable ();
>> +  }
>> +};
>> +
>>   } /* end anonymous namespace */
>>   
>>   namespace arm_mve {
>> @@ -339,6 +451,7 @@ FUNCTION (vcmpltq, unspec_based_mve_function_exact_insn_vcmp, (LT, UNKNOWN, LT,
>>   FUNCTION (vcmpcsq, unspec_based_mve_function_exact_insn_vcmp, (UNKNOWN, GEU, UNKNOWN, UNKNOWN, VCMPCSQ_M_U, UNKNOWN, UNKNOWN, VCMPCSQ_M_N_U, UNKNOWN))
>>   FUNCTION (vcmphiq, unspec_based_mve_function_exact_insn_vcmp, (UNKNOWN, GTU, UNKNOWN, UNKNOWN, VCMPHIQ_M_U, UNKNOWN, UNKNOWN, VCMPHIQ_M_N_U, UNKNOWN))
>>   FUNCTION_WITHOUT_M_N (vcreateq, VCREATEQ)
>> +FUNCTION (vcvtq, vcvtq_impl,)
>>   FUNCTION_ONLY_N (vdupq, VDUPQ)
>>   FUNCTION_WITH_RTX_M (veorq, XOR, VEORQ)
>>   FUNCTION (vfmaq, unspec_mve_function_exact_insn, (-1, -1, VFMAQ_F, -1, -1, VFMAQ_N_F, -1, -1, VFMAQ_M_F, -1, -1, VFMAQ_M_N_F))
>> diff --git a/gcc/config/arm/arm-mve-builtins-base.def b/gcc/config/arm/arm-mve-builtins-base.def
>> index 90d031eebec..671f86b5096 100644
>> --- a/gcc/config/arm/arm-mve-builtins-base.def
>> +++ b/gcc/config/arm/arm-mve-builtins-base.def
>> @@ -28,8 +28,8 @@ DEF_MVE_FUNCTION (vaddvaq, unary_int32_acc, all_integer, p_or_none)
>>   DEF_MVE_FUNCTION (vaddvq, unary_int32, all_integer, p_or_none)
>>   DEF_MVE_FUNCTION (vandq, binary, all_integer, mx_or_none)
>>   DEF_MVE_FUNCTION (vbrsrq, binary_imm32, all_integer, mx_or_none)
>> -DEF_MVE_FUNCTION (vcaddq_rot90, binary, all_integer, mx_or_none)
>>   DEF_MVE_FUNCTION (vcaddq_rot270, binary, all_integer, mx_or_none)
>> +DEF_MVE_FUNCTION (vcaddq_rot90, binary, all_integer, mx_or_none)
>>   DEF_MVE_FUNCTION (vclsq, unary, all_signed, mx_or_none)
>>   DEF_MVE_FUNCTION (vclzq, unary, all_integer, mx_or_none)
>>   DEF_MVE_FUNCTION (vcmpcsq, cmp, all_unsigned, m_or_none)
>> @@ -44,8 +44,8 @@ DEF_MVE_FUNCTION (vcreateq, create, all_integer_with_64, none)
>>   DEF_MVE_FUNCTION (vdupq, unary_n, all_integer, mx_or_none)
>>   DEF_MVE_FUNCTION (veorq, binary, all_integer, mx_or_none)
>>   DEF_MVE_FUNCTION (vhaddq, binary_opt_n, all_integer, mx_or_none)
>> -DEF_MVE_FUNCTION (vhcaddq_rot90, binary, all_signed, mx_or_none)
>>   DEF_MVE_FUNCTION (vhcaddq_rot270, binary, all_signed, mx_or_none)
>> +DEF_MVE_FUNCTION (vhcaddq_rot90, binary, all_signed, mx_or_none)
>>   DEF_MVE_FUNCTION (vhsubq, binary_opt_n, all_integer, mx_or_none)
>>   DEF_MVE_FUNCTION (vld1q, load, all_integer, none)
>>   DEF_MVE_FUNCTION (vmaxaq, binary_maxamina, all_signed, m_or_none)
>> @@ -80,8 +80,8 @@ DEF_MVE_FUNCTION (vmovnbq, binary_move_narrow, integer_16_32, m_or_none)
>>   DEF_MVE_FUNCTION (vmovntq, binary_move_narrow, integer_16_32, m_or_none)
>>   DEF_MVE_FUNCTION (vmulhq, binary, all_integer, mx_or_none)
>>   DEF_MVE_FUNCTION (vmullbq_int, binary_widen, all_integer, mx_or_none)
>> -DEF_MVE_FUNCTION (vmulltq_int, binary_widen, all_integer, mx_or_none)
>>   DEF_MVE_FUNCTION (vmullbq_poly, binary_widen_poly, poly_8_16, mx_or_none)
>> +DEF_MVE_FUNCTION (vmulltq_int, binary_widen, all_integer, mx_or_none)
>>   DEF_MVE_FUNCTION (vmulltq_poly, binary_widen_poly, poly_8_16, mx_or_none)
>>   DEF_MVE_FUNCTION (vmulq, binary_opt_n, all_integer, mx_or_none)
>>   DEF_MVE_FUNCTION (vmvnq, mvn, all_integer, mx_or_none)
>> @@ -162,23 +162,24 @@ DEF_MVE_FUNCTION (vabsq, unary, all_float, mx_or_none)
>>   DEF_MVE_FUNCTION (vaddq, binary_opt_n, all_float, mx_or_none)
>>   DEF_MVE_FUNCTION (vandq, binary, all_float, mx_or_none)
>>   DEF_MVE_FUNCTION (vbrsrq, binary_imm32, all_float, mx_or_none)
>> -DEF_MVE_FUNCTION (vcaddq_rot90, binary, all_float, mx_or_none)
>>   DEF_MVE_FUNCTION (vcaddq_rot270, binary, all_float, mx_or_none)
>> +DEF_MVE_FUNCTION (vcaddq_rot90, binary, all_float, mx_or_none)
>>   DEF_MVE_FUNCTION (vcmlaq, ternary, all_float, m_or_none)
>> -DEF_MVE_FUNCTION (vcmlaq_rot90, ternary, all_float, m_or_none)
>>   DEF_MVE_FUNCTION (vcmlaq_rot180, ternary, all_float, m_or_none)
>>   DEF_MVE_FUNCTION (vcmlaq_rot270, ternary, all_float, m_or_none)
>> -DEF_MVE_FUNCTION (vcmulq, binary, all_float, mx_or_none)
>> -DEF_MVE_FUNCTION (vcmulq_rot90, binary, all_float, mx_or_none)
>> -DEF_MVE_FUNCTION (vcmulq_rot180, binary, all_float, mx_or_none)
>> -DEF_MVE_FUNCTION (vcmulq_rot270, binary, all_float, mx_or_none)
>> +DEF_MVE_FUNCTION (vcmlaq_rot90, ternary, all_float, m_or_none)
>>   DEF_MVE_FUNCTION (vcmpeqq, cmp, all_float, m_or_none)
>>   DEF_MVE_FUNCTION (vcmpgeq, cmp, all_float, m_or_none)
>>   DEF_MVE_FUNCTION (vcmpgtq, cmp, all_float, m_or_none)
>>   DEF_MVE_FUNCTION (vcmpleq, cmp, all_float, m_or_none)
>>   DEF_MVE_FUNCTION (vcmpltq, cmp, all_float, m_or_none)
>>   DEF_MVE_FUNCTION (vcmpneq, cmp, all_float, m_or_none)
>> +DEF_MVE_FUNCTION (vcmulq, binary, all_float, mx_or_none)
>> +DEF_MVE_FUNCTION (vcmulq_rot180, binary, all_float, mx_or_none)
>> +DEF_MVE_FUNCTION (vcmulq_rot270, binary, all_float, mx_or_none)
>> +DEF_MVE_FUNCTION (vcmulq_rot90, binary, all_float, mx_or_none)
>>   DEF_MVE_FUNCTION (vcreateq, create, all_float, none)
>> +DEF_MVE_FUNCTION (vcvtq, vcvt, cvt, mx_or_none)
>>   DEF_MVE_FUNCTION (vdupq, unary_n, all_float, mx_or_none)
>>   DEF_MVE_FUNCTION (veorq, binary, all_float, mx_or_none)
>>   DEF_MVE_FUNCTION (vfmaq, ternary_opt_n, all_float, m_or_none)
>> diff --git a/gcc/config/arm/arm-mve-builtins-base.h b/gcc/config/arm/arm-mve-builtins-base.h
>> index c9b52a81c5e..dee73d9c457 100644
>> --- a/gcc/config/arm/arm-mve-builtins-base.h
>> +++ b/gcc/config/arm/arm-mve-builtins-base.h
>> @@ -54,6 +54,7 @@ extern const function_base *const vcmulq_rot180;
>>   extern const function_base *const vcmulq_rot270;
>>   extern const function_base *const vcmulq_rot90;
>>   extern const function_base *const vcreateq;
>> +extern const function_base *const vcvtq;
>>   extern const function_base *const vdupq;
>>   extern const function_base *const veorq;
>>   extern const function_base *const vfmaq;
>> diff --git a/gcc/config/arm/arm-mve-builtins.cc b/gcc/config/arm/arm-mve-builtins.cc
>> index ea44f463dd8..3c5b54dade1 100644
>> --- a/gcc/config/arm/arm-mve-builtins.cc
>> +++ b/gcc/config/arm/arm-mve-builtins.cc
>> @@ -205,6 +205,20 @@ CONSTEXPR const type_suffix_info type_suffixes[NUM_TYPE_SUFFIXES + 1] = {
>>   #define TYPES_signed_32(S, D) \
>>     S (s32)
>>   
>> +/* All the type combinations allowed by vcvtq.  */
>> +#define TYPES_cvt(S, D) \
>> +  D (f16, s16), \
>> +  D (f16, u16), \
>> +  \
>> +  D (f32, s32), \
>> +  D (f32, u32), \
>> +  \
>> +  D (s16, f16), \
>> +  D (s32, f32), \
>> +  \
>> +  D (u16, f16), \
>> +  D (u32, f32)
>> +
>>   #define TYPES_reinterpret_signed1(D, A) \
>>     D (A, s8), D (A, s16), D (A, s32), D (A, s64)
>>   
>> @@ -284,6 +298,7 @@ DEF_MVE_TYPES_ARRAY (integer_32);
>>   DEF_MVE_TYPES_ARRAY (poly_8_16);
>>   DEF_MVE_TYPES_ARRAY (signed_16_32);
>>   DEF_MVE_TYPES_ARRAY (signed_32);
>> +DEF_MVE_TYPES_ARRAY (cvt);
>>   DEF_MVE_TYPES_ARRAY (reinterpret_integer);
>>   DEF_MVE_TYPES_ARRAY (reinterpret_float);
>>   
>> diff --git a/gcc/config/arm/arm_mve.h b/gcc/config/arm/arm_mve.h
>> index ae1b5438797..07897f510f5 100644
>> --- a/gcc/config/arm/arm_mve.h
>> +++ b/gcc/config/arm/arm_mve.h
>> @@ -139,18 +139,12 @@
>>   #define vshlcq_m(__a, __b, __imm, __p) __arm_vshlcq_m(__a, __b, __imm, __p)
>>   #define vcvttq_f32(__a) __arm_vcvttq_f32(__a)
>>   #define vcvtbq_f32(__a) __arm_vcvtbq_f32(__a)
>> -#define vcvtq(__a) __arm_vcvtq(__a)
>> -#define vcvtq_n(__a, __imm6) __arm_vcvtq_n(__a, __imm6)
>>   #define vcvtaq_m(__inactive, __a, __p) __arm_vcvtaq_m(__inactive, __a, __p)
>> -#define vcvtq_m(__inactive, __a, __p) __arm_vcvtq_m(__inactive, __a, __p)
>>   #define vcvtbq_m(__a, __b, __p) __arm_vcvtbq_m(__a, __b, __p)
>>   #define vcvttq_m(__a, __b, __p) __arm_vcvttq_m(__a, __b, __p)
>>   #define vcvtmq_m(__inactive, __a, __p) __arm_vcvtmq_m(__inactive, __a, __p)
>>   #define vcvtnq_m(__inactive, __a, __p) __arm_vcvtnq_m(__inactive, __a, __p)
>>   #define vcvtpq_m(__inactive, __a, __p) __arm_vcvtpq_m(__inactive, __a, __p)
>> -#define vcvtq_m_n(__inactive, __a, __imm6, __p) __arm_vcvtq_m_n(__inactive, __a, __imm6, __p)
>> -#define vcvtq_x(__a, __p) __arm_vcvtq_x(__a, __p)
>> -#define vcvtq_x_n(__a, __imm6, __p) __arm_vcvtq_x_n(__a, __imm6, __p)
>>   
>>   
>>   #define vst4q_s8( __addr, __value) __arm_vst4q_s8( __addr, __value)
>> @@ -163,10 +157,6 @@
>>   #define vst4q_f32( __addr, __value) __arm_vst4q_f32( __addr, __value)
>>   #define vcvttq_f32_f16(__a) __arm_vcvttq_f32_f16(__a)
>>   #define vcvtbq_f32_f16(__a) __arm_vcvtbq_f32_f16(__a)
>> -#define vcvtq_f16_s16(__a) __arm_vcvtq_f16_s16(__a)
>> -#define vcvtq_f32_s32(__a) __arm_vcvtq_f32_s32(__a)
>> -#define vcvtq_f16_u16(__a) __arm_vcvtq_f16_u16(__a)
>> -#define vcvtq_f32_u32(__a) __arm_vcvtq_f32_u32(__a)
>>   #define vcvtaq_s16_f16(__a) __arm_vcvtaq_s16_f16(__a)
>>   #define vcvtaq_s32_f32(__a) __arm_vcvtaq_s32_f32(__a)
>>   #define vcvtnq_s16_f16(__a) __arm_vcvtnq_s16_f16(__a)
>> @@ -175,10 +165,6 @@
>>   #define vcvtpq_s32_f32(__a) __arm_vcvtpq_s32_f32(__a)
>>   #define vcvtmq_s16_f16(__a) __arm_vcvtmq_s16_f16(__a)
>>   #define vcvtmq_s32_f32(__a) __arm_vcvtmq_s32_f32(__a)
>> -#define vcvtq_s16_f16(__a) __arm_vcvtq_s16_f16(__a)
>> -#define vcvtq_s32_f32(__a) __arm_vcvtq_s32_f32(__a)
>> -#define vcvtq_u16_f16(__a) __arm_vcvtq_u16_f16(__a)
>> -#define vcvtq_u32_f32(__a) __arm_vcvtq_u32_f32(__a)
>>   #define vcvtpq_u16_f16(__a) __arm_vcvtpq_u16_f16(__a)
>>   #define vcvtpq_u32_f32(__a) __arm_vcvtpq_u32_f32(__a)
>>   #define vcvtnq_u16_f16(__a) __arm_vcvtnq_u16_f16(__a)
>> @@ -192,14 +178,6 @@
>>   #define vctp64q(__a) __arm_vctp64q(__a)
>>   #define vctp8q(__a) __arm_vctp8q(__a)
>>   #define vpnot(__a) __arm_vpnot(__a)
>> -#define vcvtq_n_f16_s16(__a,  __imm6) __arm_vcvtq_n_f16_s16(__a,  __imm6)
>> -#define vcvtq_n_f32_s32(__a,  __imm6) __arm_vcvtq_n_f32_s32(__a,  __imm6)
>> -#define vcvtq_n_f16_u16(__a,  __imm6) __arm_vcvtq_n_f16_u16(__a,  __imm6)
>> -#define vcvtq_n_f32_u32(__a,  __imm6) __arm_vcvtq_n_f32_u32(__a,  __imm6)
>> -#define vcvtq_n_s16_f16(__a,  __imm6) __arm_vcvtq_n_s16_f16(__a,  __imm6)
>> -#define vcvtq_n_s32_f32(__a,  __imm6) __arm_vcvtq_n_s32_f32(__a,  __imm6)
>> -#define vcvtq_n_u16_f16(__a,  __imm6) __arm_vcvtq_n_u16_f16(__a,  __imm6)
>> -#define vcvtq_n_u32_f32(__a,  __imm6) __arm_vcvtq_n_u32_f32(__a,  __imm6)
>>   #define vornq_u8(__a, __b) __arm_vornq_u8(__a, __b)
>>   #define vbicq_u8(__a, __b) __arm_vbicq_u8(__a, __b)
>>   #define vornq_s8(__a, __b) __arm_vornq_s8(__a, __b)
>> @@ -234,10 +212,6 @@
>>   #define vcvtaq_m_u16_f16(__inactive, __a, __p) __arm_vcvtaq_m_u16_f16(__inactive, __a, __p)
>>   #define vcvtaq_m_s32_f32(__inactive, __a, __p) __arm_vcvtaq_m_s32_f32(__inactive, __a, __p)
>>   #define vcvtaq_m_u32_f32(__inactive, __a, __p) __arm_vcvtaq_m_u32_f32(__inactive, __a, __p)
>> -#define vcvtq_m_f16_s16(__inactive, __a, __p) __arm_vcvtq_m_f16_s16(__inactive, __a, __p)
>> -#define vcvtq_m_f16_u16(__inactive, __a, __p) __arm_vcvtq_m_f16_u16(__inactive, __a, __p)
>> -#define vcvtq_m_f32_s32(__inactive, __a, __p) __arm_vcvtq_m_f32_s32(__inactive, __a, __p)
>> -#define vcvtq_m_f32_u32(__inactive, __a, __p) __arm_vcvtq_m_f32_u32(__inactive, __a, __p)
>>   #define vshlcq_s8(__a,  __b,  __imm) __arm_vshlcq_s8(__a,  __b,  __imm)
>>   #define vshlcq_u8(__a,  __b,  __imm) __arm_vshlcq_u8(__a,  __b,  __imm)
>>   #define vshlcq_s16(__a,  __b,  __imm) __arm_vshlcq_s16(__a,  __b,  __imm)
>> @@ -251,23 +225,15 @@
>>   #define vcvtmq_m_s16_f16(__inactive, __a, __p) __arm_vcvtmq_m_s16_f16(__inactive, __a, __p)
>>   #define vcvtnq_m_s16_f16(__inactive, __a, __p) __arm_vcvtnq_m_s16_f16(__inactive, __a, __p)
>>   #define vcvtpq_m_s16_f16(__inactive, __a, __p) __arm_vcvtpq_m_s16_f16(__inactive, __a, __p)
>> -#define vcvtq_m_s16_f16(__inactive, __a, __p) __arm_vcvtq_m_s16_f16(__inactive, __a, __p)
>>   #define vcvtmq_m_u16_f16(__inactive, __a, __p) __arm_vcvtmq_m_u16_f16(__inactive, __a, __p)
>>   #define vcvtnq_m_u16_f16(__inactive, __a, __p) __arm_vcvtnq_m_u16_f16(__inactive, __a, __p)
>>   #define vcvtpq_m_u16_f16(__inactive, __a, __p) __arm_vcvtpq_m_u16_f16(__inactive, __a, __p)
>> -#define vcvtq_m_u16_f16(__inactive, __a, __p) __arm_vcvtq_m_u16_f16(__inactive, __a, __p)
>>   #define vcvtmq_m_s32_f32(__inactive, __a, __p) __arm_vcvtmq_m_s32_f32(__inactive, __a, __p)
>>   #define vcvtnq_m_s32_f32(__inactive, __a, __p) __arm_vcvtnq_m_s32_f32(__inactive, __a, __p)
>>   #define vcvtpq_m_s32_f32(__inactive, __a, __p) __arm_vcvtpq_m_s32_f32(__inactive, __a, __p)
>> -#define vcvtq_m_s32_f32(__inactive, __a, __p) __arm_vcvtq_m_s32_f32(__inactive, __a, __p)
>>   #define vcvtmq_m_u32_f32(__inactive, __a, __p) __arm_vcvtmq_m_u32_f32(__inactive, __a, __p)
>>   #define vcvtnq_m_u32_f32(__inactive, __a, __p) __arm_vcvtnq_m_u32_f32(__inactive, __a, __p)
>>   #define vcvtpq_m_u32_f32(__inactive, __a, __p) __arm_vcvtpq_m_u32_f32(__inactive, __a, __p)
>> -#define vcvtq_m_u32_f32(__inactive, __a, __p) __arm_vcvtq_m_u32_f32(__inactive, __a, __p)
>> -#define vcvtq_m_n_f16_u16(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_f16_u16(__inactive, __a,  __imm6, __p)
>> -#define vcvtq_m_n_f16_s16(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_f16_s16(__inactive, __a,  __imm6, __p)
>> -#define vcvtq_m_n_f32_u32(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_f32_u32(__inactive, __a,  __imm6, __p)
>> -#define vcvtq_m_n_f32_s32(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_f32_s32(__inactive, __a,  __imm6, __p)
>>   #define vbicq_m_s8(__inactive, __a, __b, __p) __arm_vbicq_m_s8(__inactive, __a, __b, __p)
>>   #define vbicq_m_s32(__inactive, __a, __b, __p) __arm_vbicq_m_s32(__inactive, __a, __b, __p)
>>   #define vbicq_m_s16(__inactive, __a, __b, __p) __arm_vbicq_m_s16(__inactive, __a, __b, __p)
>> @@ -282,10 +248,6 @@
>>   #define vornq_m_u16(__inactive, __a, __b, __p) __arm_vornq_m_u16(__inactive, __a, __b, __p)
>>   #define vbicq_m_f32(__inactive, __a, __b, __p) __arm_vbicq_m_f32(__inactive, __a, __b, __p)
>>   #define vbicq_m_f16(__inactive, __a, __b, __p) __arm_vbicq_m_f16(__inactive, __a, __b, __p)
>> -#define vcvtq_m_n_s32_f32(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_s32_f32(__inactive, __a,  __imm6, __p)
>> -#define vcvtq_m_n_s16_f16(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_s16_f16(__inactive, __a,  __imm6, __p)
>> -#define vcvtq_m_n_u32_f32(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_u32_f32(__inactive, __a,  __imm6, __p)
>> -#define vcvtq_m_n_u16_f16(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_u16_f16(__inactive, __a,  __imm6, __p)
>>   #define vornq_m_f32(__inactive, __a, __b, __p) __arm_vornq_m_f32(__inactive, __a, __b, __p)
>>   #define vornq_m_f16(__inactive, __a, __b, __p) __arm_vornq_m_f16(__inactive, __a, __b, __p)
>>   #define vstrbq_s8( __addr, __value) __arm_vstrbq_s8( __addr, __value)
>> @@ -600,22 +562,6 @@
>>   #define vcvtmq_x_u32_f32(__a, __p) __arm_vcvtmq_x_u32_f32(__a, __p)
>>   #define vcvtbq_x_f32_f16(__a, __p) __arm_vcvtbq_x_f32_f16(__a, __p)
>>   #define vcvttq_x_f32_f16(__a, __p) __arm_vcvttq_x_f32_f16(__a, __p)
>> -#define vcvtq_x_f16_u16(__a, __p) __arm_vcvtq_x_f16_u16(__a, __p)
>> -#define vcvtq_x_f16_s16(__a, __p) __arm_vcvtq_x_f16_s16(__a, __p)
>> -#define vcvtq_x_f32_s32(__a, __p) __arm_vcvtq_x_f32_s32(__a, __p)
>> -#define vcvtq_x_f32_u32(__a, __p) __arm_vcvtq_x_f32_u32(__a, __p)
>> -#define vcvtq_x_n_f16_s16(__a,  __imm6, __p) __arm_vcvtq_x_n_f16_s16(__a,  __imm6, __p)
>> -#define vcvtq_x_n_f16_u16(__a,  __imm6, __p) __arm_vcvtq_x_n_f16_u16(__a,  __imm6, __p)
>> -#define vcvtq_x_n_f32_s32(__a,  __imm6, __p) __arm_vcvtq_x_n_f32_s32(__a,  __imm6, __p)
>> -#define vcvtq_x_n_f32_u32(__a,  __imm6, __p) __arm_vcvtq_x_n_f32_u32(__a,  __imm6, __p)
>> -#define vcvtq_x_s16_f16(__a, __p) __arm_vcvtq_x_s16_f16(__a, __p)
>> -#define vcvtq_x_s32_f32(__a, __p) __arm_vcvtq_x_s32_f32(__a, __p)
>> -#define vcvtq_x_u16_f16(__a, __p) __arm_vcvtq_x_u16_f16(__a, __p)
>> -#define vcvtq_x_u32_f32(__a, __p) __arm_vcvtq_x_u32_f32(__a, __p)
>> -#define vcvtq_x_n_s16_f16(__a,  __imm6, __p) __arm_vcvtq_x_n_s16_f16(__a,  __imm6, __p)
>> -#define vcvtq_x_n_s32_f32(__a,  __imm6, __p) __arm_vcvtq_x_n_s32_f32(__a,  __imm6, __p)
>> -#define vcvtq_x_n_u16_f16(__a,  __imm6, __p) __arm_vcvtq_x_n_u16_f16(__a,  __imm6, __p)
>> -#define vcvtq_x_n_u32_f32(__a,  __imm6, __p) __arm_vcvtq_x_n_u32_f32(__a,  __imm6, __p)
>>   #define vbicq_x_f16(__a, __b, __p) __arm_vbicq_x_f16(__a, __b, __p)
>>   #define vbicq_x_f32(__a, __b, __p) __arm_vbicq_x_f32(__a, __b, __p)
>>   #define vornq_x_f16(__a, __b, __p) __arm_vornq_x_f16(__a, __b, __p)
>> @@ -3772,62 +3718,6 @@ __arm_vcvtbq_f32_f16 (float16x8_t __a)
>>     return __builtin_mve_vcvtbq_f32_f16v4sf (__a);
>>   }
>>   
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_f16_s16 (int16x8_t __a)
>> -{
>> -  return __builtin_mve_vcvtq_to_f_sv8hf (__a);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_f32_s32 (int32x4_t __a)
>> -{
>> -  return __builtin_mve_vcvtq_to_f_sv4sf (__a);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_f16_u16 (uint16x8_t __a)
>> -{
>> -  return __builtin_mve_vcvtq_to_f_uv8hf (__a);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_f32_u32 (uint32x4_t __a)
>> -{
>> -  return __builtin_mve_vcvtq_to_f_uv4sf (__a);
>> -}
>> -
>> -__extension__ extern __inline int16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_s16_f16 (float16x8_t __a)
>> -{
>> -  return __builtin_mve_vcvtq_from_f_sv8hi (__a);
>> -}
>> -
>> -__extension__ extern __inline int32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_s32_f32 (float32x4_t __a)
>> -{
>> -  return __builtin_mve_vcvtq_from_f_sv4si (__a);
>> -}
>> -
>> -__extension__ extern __inline uint16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_u16_f16 (float16x8_t __a)
>> -{
>> -  return __builtin_mve_vcvtq_from_f_uv8hi (__a);
>> -}
>> -
>> -__extension__ extern __inline uint32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_u32_f32 (float32x4_t __a)
>> -{
>> -  return __builtin_mve_vcvtq_from_f_uv4si (__a);
>> -}
>> -
>>   __extension__ extern __inline uint16x8_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vcvtpq_u16_f16 (float16x8_t __a)
>> @@ -3940,62 +3830,6 @@ __arm_vcvtmq_s32_f32 (float32x4_t __a)
>>     return __builtin_mve_vcvtmq_sv4si (__a);
>>   }
>>   
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_n_f16_s16 (int16x8_t __a, const int __imm6)
>> -{
>> -  return __builtin_mve_vcvtq_n_to_f_sv8hf (__a, __imm6);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_n_f32_s32 (int32x4_t __a, const int __imm6)
>> -{
>> -  return __builtin_mve_vcvtq_n_to_f_sv4sf (__a, __imm6);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_n_f16_u16 (uint16x8_t __a, const int __imm6)
>> -{
>> -  return __builtin_mve_vcvtq_n_to_f_uv8hf (__a, __imm6);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_n_f32_u32 (uint32x4_t __a, const int __imm6)
>> -{
>> -  return __builtin_mve_vcvtq_n_to_f_uv4sf (__a, __imm6);
>> -}
>> -
>> -__extension__ extern __inline int16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_n_s16_f16 (float16x8_t __a, const int __imm6)
>> -{
>> -  return __builtin_mve_vcvtq_n_from_f_sv8hi (__a, __imm6);
>> -}
>> -
>> -__extension__ extern __inline int32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_n_s32_f32 (float32x4_t __a, const int __imm6)
>> -{
>> -  return __builtin_mve_vcvtq_n_from_f_sv4si (__a, __imm6);
>> -}
>> -
>> -__extension__ extern __inline uint16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_n_u16_f16 (float16x8_t __a, const int __imm6)
>> -{
>> -  return __builtin_mve_vcvtq_n_from_f_uv8hi (__a, __imm6);
>> -}
>> -
>> -__extension__ extern __inline uint32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_n_u32_f32 (float32x4_t __a, const int __imm6)
>> -{
>> -  return __builtin_mve_vcvtq_n_from_f_uv4si (__a, __imm6);
>> -}
>> -
>>   __extension__ extern __inline float16x8_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vornq_f16 (float16x8_t __a, float16x8_t __b)
>> @@ -4066,34 +3900,6 @@ __arm_vcvtaq_m_u32_f32 (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p
>>     return __builtin_mve_vcvtaq_m_uv4si (__inactive, __a, __p);
>>   }
>>   
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_f16_s16 (float16x8_t __inactive, int16x8_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_to_f_sv8hf (__inactive, __a, __p);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_f16_u16 (float16x8_t __inactive, uint16x8_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_to_f_uv8hf (__inactive, __a, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_f32_s32 (float32x4_t __inactive, int32x4_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_to_f_sv4sf (__inactive, __a, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_f32_u32 (float32x4_t __inactive, uint32x4_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_to_f_uv4sf (__inactive, __a, __p);
>> -}
>> -
>>   
>>   __extension__ extern __inline float16x8_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> @@ -4144,13 +3950,6 @@ __arm_vcvtpq_m_s16_f16 (int16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
>>     return __builtin_mve_vcvtpq_m_sv8hi (__inactive, __a, __p);
>>   }
>>   
>> -__extension__ extern __inline int16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_s16_f16 (int16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_from_f_sv8hi (__inactive, __a, __p);
>> -}
>> -
>>   __extension__ extern __inline uint16x8_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vcvtmq_m_u16_f16 (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
>> @@ -4172,13 +3971,6 @@ __arm_vcvtpq_m_u16_f16 (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p
>>     return __builtin_mve_vcvtpq_m_uv8hi (__inactive, __a, __p);
>>   }
>>   
>> -__extension__ extern __inline uint16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_u16_f16 (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_from_f_uv8hi (__inactive, __a, __p);
>> -}
>> -
>>   __extension__ extern __inline int32x4_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vcvtmq_m_s32_f32 (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>> @@ -4200,13 +3992,6 @@ __arm_vcvtpq_m_s32_f32 (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>>     return __builtin_mve_vcvtpq_m_sv4si (__inactive, __a, __p);
>>   }
>>   
>> -__extension__ extern __inline int32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_s32_f32 (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_from_f_sv4si (__inactive, __a, __p);
>> -}
>> -
>>   __extension__ extern __inline uint32x4_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vcvtmq_m_u32_f32 (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>> @@ -4228,41 +4013,6 @@ __arm_vcvtpq_m_u32_f32 (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p
>>     return __builtin_mve_vcvtpq_m_uv4si (__inactive, __a, __p);
>>   }
>>   
>> -__extension__ extern __inline uint32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_u32_f32 (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_from_f_uv4si (__inactive, __a, __p);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n_f16_u16 (float16x8_t __inactive, uint16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_to_f_uv8hf (__inactive, __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n_f16_s16 (float16x8_t __inactive, int16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_to_f_sv8hf (__inactive, __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n_f32_u32 (float32x4_t __inactive, uint32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_to_f_uv4sf (__inactive, __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n_f32_s32 (float32x4_t __inactive, int32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_to_f_sv4sf (__inactive, __a, __imm6, __p);
>> -}
>> -
>>   __extension__ extern __inline float32x4_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vbicq_m_f32 (float32x4_t __inactive, float32x4_t __a, float32x4_t __b, mve_pred16_t __p)
>> @@ -4277,34 +4027,6 @@ __arm_vbicq_m_f16 (float16x8_t __inactive, float16x8_t __a, float16x8_t __b, mve
>>     return __builtin_mve_vbicq_m_fv8hf (__inactive, __a, __b, __p);
>>   }
>>   
>> -__extension__ extern __inline int32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n_s32_f32 (int32x4_t __inactive, float32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_from_f_sv4si (__inactive, __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline int16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n_s16_f16 (int16x8_t __inactive, float16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_from_f_sv8hi (__inactive, __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline uint32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n_u32_f32 (uint32x4_t __inactive, float32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_from_f_uv4si (__inactive, __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline uint16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n_u16_f16 (uint16x8_t __inactive, float16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_from_f_uv8hi (__inactive, __a, __imm6, __p);
>> -}
>> -
>>   __extension__ extern __inline float32x4_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vornq_m_f32 (float32x4_t __inactive, float32x4_t __a, float32x4_t __b, mve_pred16_t __p)
>> @@ -4675,118 +4397,6 @@ __arm_vcvttq_x_f32_f16 (float16x8_t __a, mve_pred16_t __p)
>>     return __builtin_mve_vcvttq_m_f32_f16v4sf (__arm_vuninitializedq_f32 (), __a, __p);
>>   }
>>   
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_f16_u16 (uint16x8_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_to_f_uv8hf (__arm_vuninitializedq_f16 (), __a, __p);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_f16_s16 (int16x8_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_to_f_sv8hf (__arm_vuninitializedq_f16 (), __a, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_f32_s32 (int32x4_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_to_f_sv4sf (__arm_vuninitializedq_f32 (), __a, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_f32_u32 (uint32x4_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_to_f_uv4sf (__arm_vuninitializedq_f32 (), __a, __p);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_n_f16_s16 (int16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_to_f_sv8hf (__arm_vuninitializedq_f16 (), __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_n_f16_u16 (uint16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_to_f_uv8hf (__arm_vuninitializedq_f16 (), __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_n_f32_s32 (int32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_to_f_sv4sf (__arm_vuninitializedq_f32 (), __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_n_f32_u32 (uint32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_to_f_uv4sf (__arm_vuninitializedq_f32 (), __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline int16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_s16_f16 (float16x8_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_from_f_sv8hi (__arm_vuninitializedq_s16 (), __a, __p);
>> -}
>> -
>> -__extension__ extern __inline int32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_s32_f32 (float32x4_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_from_f_sv4si (__arm_vuninitializedq_s32 (), __a, __p);
>> -}
>> -
>> -__extension__ extern __inline uint16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_u16_f16 (float16x8_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_from_f_uv8hi (__arm_vuninitializedq_u16 (), __a, __p);
>> -}
>> -
>> -__extension__ extern __inline uint32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_u32_f32 (float32x4_t __a, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_from_f_uv4si (__arm_vuninitializedq_u32 (), __a, __p);
>> -}
>> -
>> -__extension__ extern __inline int16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_n_s16_f16 (float16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_from_f_sv8hi (__arm_vuninitializedq_s16 (), __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline int32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_n_s32_f32 (float32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_from_f_sv4si (__arm_vuninitializedq_s32 (), __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline uint16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_n_u16_f16 (float16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_from_f_uv8hi (__arm_vuninitializedq_u16 (), __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline uint32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_n_u32_f32 (float32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> -  return __builtin_mve_vcvtq_m_n_from_f_uv4si (__arm_vuninitializedq_u32 (), __a, __imm6, __p);
>> -}
>> -
>>   __extension__ extern __inline float16x8_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vbicq_x_f16 (float16x8_t __a, float16x8_t __b, mve_pred16_t __p)
>> @@ -7231,62 +6841,6 @@ __arm_vcvtbq_f32 (float16x8_t __a)
>>    return __arm_vcvtbq_f32_f16 (__a);
>>   }
>>   
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq (int16x8_t __a)
>> -{
>> - return __arm_vcvtq_f16_s16 (__a);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq (int32x4_t __a)
>> -{
>> - return __arm_vcvtq_f32_s32 (__a);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq (uint16x8_t __a)
>> -{
>> - return __arm_vcvtq_f16_u16 (__a);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq (uint32x4_t __a)
>> -{
>> - return __arm_vcvtq_f32_u32 (__a);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_n (int16x8_t __a, const int __imm6)
>> -{
>> - return __arm_vcvtq_n_f16_s16 (__a, __imm6);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_n (int32x4_t __a, const int __imm6)
>> -{
>> - return __arm_vcvtq_n_f32_s32 (__a, __imm6);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_n (uint16x8_t __a, const int __imm6)
>> -{
>> - return __arm_vcvtq_n_f16_u16 (__a, __imm6);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_n (uint32x4_t __a, const int __imm6)
>> -{
>> - return __arm_vcvtq_n_f32_u32 (__a, __imm6);
>> -}
>> -
>>   __extension__ extern __inline float16x8_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vornq (float16x8_t __a, float16x8_t __b)
>> @@ -7343,34 +6897,6 @@ __arm_vcvtaq_m (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>>    return __arm_vcvtaq_m_u32_f32 (__inactive, __a, __p);
>>   }
>>   
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m (float16x8_t __inactive, int16x8_t __a, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_f16_s16 (__inactive, __a, __p);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m (float16x8_t __inactive, uint16x8_t __a, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_f16_u16 (__inactive, __a, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m (float32x4_t __inactive, int32x4_t __a, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_f32_s32 (__inactive, __a, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m (float32x4_t __inactive, uint32x4_t __a, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_f32_u32 (__inactive, __a, __p);
>> -}
>> -
>>   __extension__ extern __inline float16x8_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vcvtbq_m (float16x8_t __a, float32x4_t __b, mve_pred16_t __p)
>> @@ -7420,13 +6946,6 @@ __arm_vcvtpq_m (int16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
>>    return __arm_vcvtpq_m_s16_f16 (__inactive, __a, __p);
>>   }
>>   
>> -__extension__ extern __inline int16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m (int16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_s16_f16 (__inactive, __a, __p);
>> -}
>> -
>>   __extension__ extern __inline uint16x8_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vcvtmq_m (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
>> @@ -7448,13 +6967,6 @@ __arm_vcvtpq_m (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
>>    return __arm_vcvtpq_m_u16_f16 (__inactive, __a, __p);
>>   }
>>   
>> -__extension__ extern __inline uint16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_u16_f16 (__inactive, __a, __p);
>> -}
>> -
>>   __extension__ extern __inline int32x4_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vcvtmq_m (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>> @@ -7476,13 +6988,6 @@ __arm_vcvtpq_m (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>>    return __arm_vcvtpq_m_s32_f32 (__inactive, __a, __p);
>>   }
>>   
>> -__extension__ extern __inline int32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_s32_f32 (__inactive, __a, __p);
>> -}
>> -
>>   __extension__ extern __inline uint32x4_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vcvtmq_m (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>> @@ -7504,41 +7009,6 @@ __arm_vcvtpq_m (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>>    return __arm_vcvtpq_m_u32_f32 (__inactive, __a, __p);
>>   }
>>   
>> -__extension__ extern __inline uint32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_u32_f32 (__inactive, __a, __p);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n (float16x8_t __inactive, uint16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_n_f16_u16 (__inactive, __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n (float16x8_t __inactive, int16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_n_f16_s16 (__inactive, __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n (float32x4_t __inactive, uint32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_n_f32_u32 (__inactive, __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n (float32x4_t __inactive, int32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_n_f32_s32 (__inactive, __a, __imm6, __p);
>> -}
>> -
>>   __extension__ extern __inline float32x4_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vbicq_m (float32x4_t __inactive, float32x4_t __a, float32x4_t __b, mve_pred16_t __p)
>> @@ -7553,34 +7023,6 @@ __arm_vbicq_m (float16x8_t __inactive, float16x8_t __a, float16x8_t __b, mve_pre
>>    return __arm_vbicq_m_f16 (__inactive, __a, __b, __p);
>>   }
>>   
>> -__extension__ extern __inline int32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n (int32x4_t __inactive, float32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_n_s32_f32 (__inactive, __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline int16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n (int16x8_t __inactive, float16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_n_s16_f16 (__inactive, __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline uint32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n (uint32x4_t __inactive, float32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_n_u32_f32 (__inactive, __a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline uint16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_m_n (uint16x8_t __inactive, float16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_m_n_u16_f16 (__inactive, __a, __imm6, __p);
>> -}
>> -
>>   __extension__ extern __inline float32x4_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vornq_m (float32x4_t __inactive, float32x4_t __a, float32x4_t __b, mve_pred16_t __p)
>> @@ -7763,62 +7205,6 @@ __arm_vstrwq_scatter_base_wb_p (uint32x4_t * __addr, const int __offset, float32
>>    __arm_vstrwq_scatter_base_wb_p_f32 (__addr, __offset, __value, __p);
>>   }
>>   
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x (uint16x8_t __a, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_x_f16_u16 (__a, __p);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x (int16x8_t __a, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_x_f16_s16 (__a, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x (int32x4_t __a, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_x_f32_s32 (__a, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x (uint32x4_t __a, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_x_f32_u32 (__a, __p);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_n (int16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_x_n_f16_s16 (__a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline float16x8_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_n (uint16x8_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_x_n_f16_u16 (__a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_n (int32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_x_n_f32_s32 (__a, __imm6, __p);
>> -}
>> -
>> -__extension__ extern __inline float32x4_t
>> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>> -__arm_vcvtq_x_n (uint32x4_t __a, const int __imm6, mve_pred16_t __p)
>> -{
>> - return __arm_vcvtq_x_n_f32_u32 (__a, __imm6, __p);
>> -}
>> -
>>   __extension__ extern __inline float16x8_t
>>   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>>   __arm_vbicq_x (float16x8_t __a, float16x8_t __b, mve_pred16_t __p)
>> @@ -8276,20 +7662,6 @@ extern void *__ARM_undef;
>>     _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
>>     int (*)[__ARM_mve_type_float16x8_t]: __arm_vcvttq_f32_f16 (__ARM_mve_coerce(__p0, float16x8_t)));})
>>   
>> -#define __arm_vcvtq(p0) ({ __typeof(p0) __p0 = (p0); \
>> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
>> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vcvtq_f16_s16 (__ARM_mve_coerce(__p0, int16x8_t)), \
>> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vcvtq_f32_s32 (__ARM_mve_coerce(__p0, int32x4_t)), \
>> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vcvtq_f16_u16 (__ARM_mve_coerce(__p0, uint16x8_t)), \
>> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vcvtq_f32_u32 (__ARM_mve_coerce(__p0, uint32x4_t)));})
>> -
>> -#define __arm_vcvtq_n(p0,p1) ({ __typeof(p0) __p0 = (p0); \
>> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
>> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vcvtq_n_f16_s16 (__ARM_mve_coerce(__p0, int16x8_t), p1), \
>> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vcvtq_n_f32_s32 (__ARM_mve_coerce(__p0, int32x4_t), p1), \
>> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vcvtq_n_f16_u16 (__ARM_mve_coerce(__p0, uint16x8_t), p1), \
>> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vcvtq_n_f32_u32 (__ARM_mve_coerce(__p0, uint32x4_t), p1));})
>> -
>>   #define __arm_vbicq(p0,p1) ({ __typeof(p0) __p0 = (p0); \
>>     __typeof(p1) __p1 = (p1); \
>>     _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \
>> @@ -8342,30 +7714,6 @@ extern void *__ARM_undef;
>>     int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtaq_m_u16_f16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \
>>     int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtaq_m_u32_f32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2));})
>>   
>> -#define __arm_vcvtq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \
>> -  __typeof(p1) __p1 = (p1); \
>> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \
>> -  int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcvtq_m_f16_s16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2), \
>> -  int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcvtq_m_f32_s32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2), \
>> -  int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcvtq_m_f16_u16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), p2), \
>> -  int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcvtq_m_f32_u32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2), \
>> -  int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtq_m_s16_f16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \
>> -  int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtq_m_s32_f32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2), \
>> -  int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtq_m_u16_f16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \
>> -  int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtq_m_u32_f32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2));})
>> -
>> -#define __arm_vcvtq_m_n(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \
>> -  __typeof(p1) __p1 = (p1); \
>> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \
>> -  int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtq_m_n_s16_f16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2, p3), \
>> -  int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtq_m_n_s32_f32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2, p3), \
>> -  int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtq_m_n_u16_f16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2, p3), \
>> -  int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtq_m_n_u32_f32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2, p3), \
>> -  int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcvtq_m_n_f16_s16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2, p3), \
>> -  int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcvtq_m_n_f32_s32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2, p3), \
>> -  int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcvtq_m_n_f16_u16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), p2, p3), \
>> -  int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcvtq_m_n_f32_u32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2, p3));})
>> -
>>   #define __arm_vcvtbq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \
>>     __typeof(p1) __p1 = (p1); \
>>     _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \
>> @@ -8730,20 +8078,6 @@ extern void *__ARM_undef;
>>     int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vbicq_x_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3), \
>>     int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vbicq_x_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t), p3));})
>>   
>> -#define __arm_vcvtq_x(p1,p2) ({ __typeof(p1) __p1 = (p1); \
>> -  _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \
>> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vcvtq_x_f16_s16 (__ARM_mve_coerce(__p1, int16x8_t), p2), \
>> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vcvtq_x_f32_s32 (__ARM_mve_coerce(__p1, int32x4_t), p2), \
>> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vcvtq_x_f16_u16 (__ARM_mve_coerce(__p1, uint16x8_t), p2), \
>> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vcvtq_x_f32_u32 (__ARM_mve_coerce(__p1, uint32x4_t), p2));})
>> -
>> -#define __arm_vcvtq_x_n(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \
>> -  _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \
>> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vcvtq_x_n_f16_s16 (__ARM_mve_coerce(__p1, int16x8_t), p2, p3), \
>> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vcvtq_x_n_f32_s32 (__ARM_mve_coerce(__p1, int32x4_t), p2, p3), \
>> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vcvtq_x_n_f16_u16 (__ARM_mve_coerce(__p1, uint16x8_t), p2, p3), \
>> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vcvtq_x_n_f32_u32 (__ARM_mve_coerce(__p1, uint32x4_t), p2, p3));})
>> -
>>   #define __arm_vornq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \
>>     __typeof(p2) __p2 = (p2); \
>>     _Generic( (int (*)[__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \
>
diff mbox series

Patch

diff --git a/gcc/config/arm/arm-mve-builtins-base.cc b/gcc/config/arm/arm-mve-builtins-base.cc
index e0ae593a6c0..a780d686eb1 100644
--- a/gcc/config/arm/arm-mve-builtins-base.cc
+++ b/gcc/config/arm/arm-mve-builtins-base.cc
@@ -139,6 +139,118 @@  public:
   }
 };
 
+  /* Implements vcvtq intrinsics.  */
+class vcvtq_impl : public function_base
+{
+public:
+  rtx
+  expand (function_expander &e) const override
+  {
+    insn_code code;
+    machine_mode target_mode = e.vector_mode (0);
+    int unspec;
+    switch (e.pred)
+      {
+      case PRED_none:
+	switch (e.mode_suffix_id)
+	  {
+	  case MODE_none:
+	    /* No predicate, no suffix.  */
+	    if (e.type_suffix (0).integer_p)
+	      {
+		unspec = e.type_suffix (0).unsigned_p
+		  ? VCVTQ_FROM_F_U
+		  : VCVTQ_FROM_F_S;
+		code = code_for_mve_q_from_f (unspec, unspec, target_mode);
+	      }
+	    else
+	      {
+		unspec = e.type_suffix (1).unsigned_p
+		  ? VCVTQ_TO_F_U
+		  : VCVTQ_TO_F_S;
+		code = code_for_mve_q_to_f (unspec, unspec, target_mode);
+	      }
+	    break;
+
+	  case MODE_n:
+	    /* No predicate, _n suffix.  */
+	    if (e.type_suffix (0).integer_p)
+	      {
+		unspec = e.type_suffix (0).unsigned_p
+		  ? VCVTQ_N_FROM_F_U
+		  : VCVTQ_N_FROM_F_S;
+		code = code_for_mve_q_n_from_f (unspec, unspec, target_mode);
+	      }
+	    else
+	      {
+		unspec = e.type_suffix (1).unsigned_p
+		  ? VCVTQ_N_TO_F_U
+		  : VCVTQ_N_TO_F_S;
+		code = code_for_mve_q_n_to_f (unspec, unspec, target_mode);
+	      }
+	    break;
+
+	  default:
+	    gcc_unreachable ();
+	  }
+	return e.use_exact_insn (code);
+
+      case PRED_m:
+      case PRED_x:
+	switch (e.mode_suffix_id)
+	  {
+	  case MODE_none:
+	    /* No suffix, "m" or "x" predicate.  */
+	    if (e.type_suffix (0).integer_p)
+	      {
+		unspec = e.type_suffix (0).unsigned_p
+		  ? VCVTQ_M_FROM_F_U
+		  : VCVTQ_M_FROM_F_S;
+		code = code_for_mve_q_m_from_f (unspec, unspec, target_mode);
+	      }
+	    else
+	      {
+		unspec = e.type_suffix (1).unsigned_p
+		  ? VCVTQ_M_TO_F_U
+		  : VCVTQ_M_TO_F_S;
+		code = code_for_mve_q_m_to_f (unspec, unspec, target_mode);
+	      }
+	    break;
+
+	  case MODE_n:
+	    /* _n suffix, "m" or "x" predicate.  */
+	    if (e.type_suffix (0).integer_p)
+	      {
+		unspec = e.type_suffix (0).unsigned_p
+		  ? VCVTQ_M_N_FROM_F_U
+		  : VCVTQ_M_N_FROM_F_S;
+		code = code_for_mve_q_m_n_from_f (unspec, unspec, target_mode);
+	      }
+	    else
+	      {
+		unspec = e.type_suffix (1).unsigned_p
+		  ? VCVTQ_M_N_TO_F_U
+		  : VCVTQ_M_N_TO_F_S;
+		code = code_for_mve_q_m_n_to_f (unspec, unspec, target_mode);
+	      }
+	    break;
+
+	  default:
+	    gcc_unreachable ();
+	  }
+	if (e.pred == PRED_m)
+	  return e.use_cond_insn (code, 0);
+	else
+	  return e.use_pred_x_insn (code);
+
+      default:
+	gcc_unreachable ();
+      }
+
+    gcc_unreachable ();
+  }
+};
+
 } /* end anonymous namespace */
 
 namespace arm_mve {
@@ -339,6 +451,7 @@  FUNCTION (vcmpltq, unspec_based_mve_function_exact_insn_vcmp, (LT, UNKNOWN, LT,
 FUNCTION (vcmpcsq, unspec_based_mve_function_exact_insn_vcmp, (UNKNOWN, GEU, UNKNOWN, UNKNOWN, VCMPCSQ_M_U, UNKNOWN, UNKNOWN, VCMPCSQ_M_N_U, UNKNOWN))
 FUNCTION (vcmphiq, unspec_based_mve_function_exact_insn_vcmp, (UNKNOWN, GTU, UNKNOWN, UNKNOWN, VCMPHIQ_M_U, UNKNOWN, UNKNOWN, VCMPHIQ_M_N_U, UNKNOWN))
 FUNCTION_WITHOUT_M_N (vcreateq, VCREATEQ)
+FUNCTION (vcvtq, vcvtq_impl,)
 FUNCTION_ONLY_N (vdupq, VDUPQ)
 FUNCTION_WITH_RTX_M (veorq, XOR, VEORQ)
 FUNCTION (vfmaq, unspec_mve_function_exact_insn, (-1, -1, VFMAQ_F, -1, -1, VFMAQ_N_F, -1, -1, VFMAQ_M_F, -1, -1, VFMAQ_M_N_F))
diff --git a/gcc/config/arm/arm-mve-builtins-base.def b/gcc/config/arm/arm-mve-builtins-base.def
index 90d031eebec..671f86b5096 100644
--- a/gcc/config/arm/arm-mve-builtins-base.def
+++ b/gcc/config/arm/arm-mve-builtins-base.def
@@ -28,8 +28,8 @@  DEF_MVE_FUNCTION (vaddvaq, unary_int32_acc, all_integer, p_or_none)
 DEF_MVE_FUNCTION (vaddvq, unary_int32, all_integer, p_or_none)
 DEF_MVE_FUNCTION (vandq, binary, all_integer, mx_or_none)
 DEF_MVE_FUNCTION (vbrsrq, binary_imm32, all_integer, mx_or_none)
-DEF_MVE_FUNCTION (vcaddq_rot90, binary, all_integer, mx_or_none)
 DEF_MVE_FUNCTION (vcaddq_rot270, binary, all_integer, mx_or_none)
+DEF_MVE_FUNCTION (vcaddq_rot90, binary, all_integer, mx_or_none)
 DEF_MVE_FUNCTION (vclsq, unary, all_signed, mx_or_none)
 DEF_MVE_FUNCTION (vclzq, unary, all_integer, mx_or_none)
 DEF_MVE_FUNCTION (vcmpcsq, cmp, all_unsigned, m_or_none)
@@ -44,8 +44,8 @@  DEF_MVE_FUNCTION (vcreateq, create, all_integer_with_64, none)
 DEF_MVE_FUNCTION (vdupq, unary_n, all_integer, mx_or_none)
 DEF_MVE_FUNCTION (veorq, binary, all_integer, mx_or_none)
 DEF_MVE_FUNCTION (vhaddq, binary_opt_n, all_integer, mx_or_none)
-DEF_MVE_FUNCTION (vhcaddq_rot90, binary, all_signed, mx_or_none)
 DEF_MVE_FUNCTION (vhcaddq_rot270, binary, all_signed, mx_or_none)
+DEF_MVE_FUNCTION (vhcaddq_rot90, binary, all_signed, mx_or_none)
 DEF_MVE_FUNCTION (vhsubq, binary_opt_n, all_integer, mx_or_none)
 DEF_MVE_FUNCTION (vld1q, load, all_integer, none)
 DEF_MVE_FUNCTION (vmaxaq, binary_maxamina, all_signed, m_or_none)
@@ -80,8 +80,8 @@  DEF_MVE_FUNCTION (vmovnbq, binary_move_narrow, integer_16_32, m_or_none)
 DEF_MVE_FUNCTION (vmovntq, binary_move_narrow, integer_16_32, m_or_none)
 DEF_MVE_FUNCTION (vmulhq, binary, all_integer, mx_or_none)
 DEF_MVE_FUNCTION (vmullbq_int, binary_widen, all_integer, mx_or_none)
-DEF_MVE_FUNCTION (vmulltq_int, binary_widen, all_integer, mx_or_none)
 DEF_MVE_FUNCTION (vmullbq_poly, binary_widen_poly, poly_8_16, mx_or_none)
+DEF_MVE_FUNCTION (vmulltq_int, binary_widen, all_integer, mx_or_none)
 DEF_MVE_FUNCTION (vmulltq_poly, binary_widen_poly, poly_8_16, mx_or_none)
 DEF_MVE_FUNCTION (vmulq, binary_opt_n, all_integer, mx_or_none)
 DEF_MVE_FUNCTION (vmvnq, mvn, all_integer, mx_or_none)
@@ -162,23 +162,24 @@  DEF_MVE_FUNCTION (vabsq, unary, all_float, mx_or_none)
 DEF_MVE_FUNCTION (vaddq, binary_opt_n, all_float, mx_or_none)
 DEF_MVE_FUNCTION (vandq, binary, all_float, mx_or_none)
 DEF_MVE_FUNCTION (vbrsrq, binary_imm32, all_float, mx_or_none)
-DEF_MVE_FUNCTION (vcaddq_rot90, binary, all_float, mx_or_none)
 DEF_MVE_FUNCTION (vcaddq_rot270, binary, all_float, mx_or_none)
+DEF_MVE_FUNCTION (vcaddq_rot90, binary, all_float, mx_or_none)
 DEF_MVE_FUNCTION (vcmlaq, ternary, all_float, m_or_none)
-DEF_MVE_FUNCTION (vcmlaq_rot90, ternary, all_float, m_or_none)
 DEF_MVE_FUNCTION (vcmlaq_rot180, ternary, all_float, m_or_none)
 DEF_MVE_FUNCTION (vcmlaq_rot270, ternary, all_float, m_or_none)
-DEF_MVE_FUNCTION (vcmulq, binary, all_float, mx_or_none)
-DEF_MVE_FUNCTION (vcmulq_rot90, binary, all_float, mx_or_none)
-DEF_MVE_FUNCTION (vcmulq_rot180, binary, all_float, mx_or_none)
-DEF_MVE_FUNCTION (vcmulq_rot270, binary, all_float, mx_or_none)
+DEF_MVE_FUNCTION (vcmlaq_rot90, ternary, all_float, m_or_none)
 DEF_MVE_FUNCTION (vcmpeqq, cmp, all_float, m_or_none)
 DEF_MVE_FUNCTION (vcmpgeq, cmp, all_float, m_or_none)
 DEF_MVE_FUNCTION (vcmpgtq, cmp, all_float, m_or_none)
 DEF_MVE_FUNCTION (vcmpleq, cmp, all_float, m_or_none)
 DEF_MVE_FUNCTION (vcmpltq, cmp, all_float, m_or_none)
 DEF_MVE_FUNCTION (vcmpneq, cmp, all_float, m_or_none)
+DEF_MVE_FUNCTION (vcmulq, binary, all_float, mx_or_none)
+DEF_MVE_FUNCTION (vcmulq_rot180, binary, all_float, mx_or_none)
+DEF_MVE_FUNCTION (vcmulq_rot270, binary, all_float, mx_or_none)
+DEF_MVE_FUNCTION (vcmulq_rot90, binary, all_float, mx_or_none)
 DEF_MVE_FUNCTION (vcreateq, create, all_float, none)
+DEF_MVE_FUNCTION (vcvtq, vcvt, cvt, mx_or_none)
 DEF_MVE_FUNCTION (vdupq, unary_n, all_float, mx_or_none)
 DEF_MVE_FUNCTION (veorq, binary, all_float, mx_or_none)
 DEF_MVE_FUNCTION (vfmaq, ternary_opt_n, all_float, m_or_none)
diff --git a/gcc/config/arm/arm-mve-builtins-base.h b/gcc/config/arm/arm-mve-builtins-base.h
index c9b52a81c5e..dee73d9c457 100644
--- a/gcc/config/arm/arm-mve-builtins-base.h
+++ b/gcc/config/arm/arm-mve-builtins-base.h
@@ -54,6 +54,7 @@  extern const function_base *const vcmulq_rot180;
 extern const function_base *const vcmulq_rot270;
 extern const function_base *const vcmulq_rot90;
 extern const function_base *const vcreateq;
+extern const function_base *const vcvtq;
 extern const function_base *const vdupq;
 extern const function_base *const veorq;
 extern const function_base *const vfmaq;
diff --git a/gcc/config/arm/arm-mve-builtins.cc b/gcc/config/arm/arm-mve-builtins.cc
index ea44f463dd8..3c5b54dade1 100644
--- a/gcc/config/arm/arm-mve-builtins.cc
+++ b/gcc/config/arm/arm-mve-builtins.cc
@@ -205,6 +205,20 @@  CONSTEXPR const type_suffix_info type_suffixes[NUM_TYPE_SUFFIXES + 1] = {
 #define TYPES_signed_32(S, D) \
   S (s32)
 
+/* All the type combinations allowed by vcvtq.  */
+#define TYPES_cvt(S, D) \
+  D (f16, s16), \
+  D (f16, u16), \
+  \
+  D (f32, s32), \
+  D (f32, u32), \
+  \
+  D (s16, f16), \
+  D (s32, f32), \
+  \
+  D (u16, f16), \
+  D (u32, f32)
+
 #define TYPES_reinterpret_signed1(D, A) \
   D (A, s8), D (A, s16), D (A, s32), D (A, s64)
 
@@ -284,6 +298,7 @@  DEF_MVE_TYPES_ARRAY (integer_32);
 DEF_MVE_TYPES_ARRAY (poly_8_16);
 DEF_MVE_TYPES_ARRAY (signed_16_32);
 DEF_MVE_TYPES_ARRAY (signed_32);
+DEF_MVE_TYPES_ARRAY (cvt);
 DEF_MVE_TYPES_ARRAY (reinterpret_integer);
 DEF_MVE_TYPES_ARRAY (reinterpret_float);
 
diff --git a/gcc/config/arm/arm_mve.h b/gcc/config/arm/arm_mve.h
index ae1b5438797..07897f510f5 100644
--- a/gcc/config/arm/arm_mve.h
+++ b/gcc/config/arm/arm_mve.h
@@ -139,18 +139,12 @@ 
 #define vshlcq_m(__a, __b, __imm, __p) __arm_vshlcq_m(__a, __b, __imm, __p)
 #define vcvttq_f32(__a) __arm_vcvttq_f32(__a)
 #define vcvtbq_f32(__a) __arm_vcvtbq_f32(__a)
-#define vcvtq(__a) __arm_vcvtq(__a)
-#define vcvtq_n(__a, __imm6) __arm_vcvtq_n(__a, __imm6)
 #define vcvtaq_m(__inactive, __a, __p) __arm_vcvtaq_m(__inactive, __a, __p)
-#define vcvtq_m(__inactive, __a, __p) __arm_vcvtq_m(__inactive, __a, __p)
 #define vcvtbq_m(__a, __b, __p) __arm_vcvtbq_m(__a, __b, __p)
 #define vcvttq_m(__a, __b, __p) __arm_vcvttq_m(__a, __b, __p)
 #define vcvtmq_m(__inactive, __a, __p) __arm_vcvtmq_m(__inactive, __a, __p)
 #define vcvtnq_m(__inactive, __a, __p) __arm_vcvtnq_m(__inactive, __a, __p)
 #define vcvtpq_m(__inactive, __a, __p) __arm_vcvtpq_m(__inactive, __a, __p)
-#define vcvtq_m_n(__inactive, __a, __imm6, __p) __arm_vcvtq_m_n(__inactive, __a, __imm6, __p)
-#define vcvtq_x(__a, __p) __arm_vcvtq_x(__a, __p)
-#define vcvtq_x_n(__a, __imm6, __p) __arm_vcvtq_x_n(__a, __imm6, __p)
 
 
 #define vst4q_s8( __addr, __value) __arm_vst4q_s8( __addr, __value)
@@ -163,10 +157,6 @@ 
 #define vst4q_f32( __addr, __value) __arm_vst4q_f32( __addr, __value)
 #define vcvttq_f32_f16(__a) __arm_vcvttq_f32_f16(__a)
 #define vcvtbq_f32_f16(__a) __arm_vcvtbq_f32_f16(__a)
-#define vcvtq_f16_s16(__a) __arm_vcvtq_f16_s16(__a)
-#define vcvtq_f32_s32(__a) __arm_vcvtq_f32_s32(__a)
-#define vcvtq_f16_u16(__a) __arm_vcvtq_f16_u16(__a)
-#define vcvtq_f32_u32(__a) __arm_vcvtq_f32_u32(__a)
 #define vcvtaq_s16_f16(__a) __arm_vcvtaq_s16_f16(__a)
 #define vcvtaq_s32_f32(__a) __arm_vcvtaq_s32_f32(__a)
 #define vcvtnq_s16_f16(__a) __arm_vcvtnq_s16_f16(__a)
@@ -175,10 +165,6 @@ 
 #define vcvtpq_s32_f32(__a) __arm_vcvtpq_s32_f32(__a)
 #define vcvtmq_s16_f16(__a) __arm_vcvtmq_s16_f16(__a)
 #define vcvtmq_s32_f32(__a) __arm_vcvtmq_s32_f32(__a)
-#define vcvtq_s16_f16(__a) __arm_vcvtq_s16_f16(__a)
-#define vcvtq_s32_f32(__a) __arm_vcvtq_s32_f32(__a)
-#define vcvtq_u16_f16(__a) __arm_vcvtq_u16_f16(__a)
-#define vcvtq_u32_f32(__a) __arm_vcvtq_u32_f32(__a)
 #define vcvtpq_u16_f16(__a) __arm_vcvtpq_u16_f16(__a)
 #define vcvtpq_u32_f32(__a) __arm_vcvtpq_u32_f32(__a)
 #define vcvtnq_u16_f16(__a) __arm_vcvtnq_u16_f16(__a)
@@ -192,14 +178,6 @@ 
 #define vctp64q(__a) __arm_vctp64q(__a)
 #define vctp8q(__a) __arm_vctp8q(__a)
 #define vpnot(__a) __arm_vpnot(__a)
-#define vcvtq_n_f16_s16(__a,  __imm6) __arm_vcvtq_n_f16_s16(__a,  __imm6)
-#define vcvtq_n_f32_s32(__a,  __imm6) __arm_vcvtq_n_f32_s32(__a,  __imm6)
-#define vcvtq_n_f16_u16(__a,  __imm6) __arm_vcvtq_n_f16_u16(__a,  __imm6)
-#define vcvtq_n_f32_u32(__a,  __imm6) __arm_vcvtq_n_f32_u32(__a,  __imm6)
-#define vcvtq_n_s16_f16(__a,  __imm6) __arm_vcvtq_n_s16_f16(__a,  __imm6)
-#define vcvtq_n_s32_f32(__a,  __imm6) __arm_vcvtq_n_s32_f32(__a,  __imm6)
-#define vcvtq_n_u16_f16(__a,  __imm6) __arm_vcvtq_n_u16_f16(__a,  __imm6)
-#define vcvtq_n_u32_f32(__a,  __imm6) __arm_vcvtq_n_u32_f32(__a,  __imm6)
 #define vornq_u8(__a, __b) __arm_vornq_u8(__a, __b)
 #define vbicq_u8(__a, __b) __arm_vbicq_u8(__a, __b)
 #define vornq_s8(__a, __b) __arm_vornq_s8(__a, __b)
@@ -234,10 +212,6 @@ 
 #define vcvtaq_m_u16_f16(__inactive, __a, __p) __arm_vcvtaq_m_u16_f16(__inactive, __a, __p)
 #define vcvtaq_m_s32_f32(__inactive, __a, __p) __arm_vcvtaq_m_s32_f32(__inactive, __a, __p)
 #define vcvtaq_m_u32_f32(__inactive, __a, __p) __arm_vcvtaq_m_u32_f32(__inactive, __a, __p)
-#define vcvtq_m_f16_s16(__inactive, __a, __p) __arm_vcvtq_m_f16_s16(__inactive, __a, __p)
-#define vcvtq_m_f16_u16(__inactive, __a, __p) __arm_vcvtq_m_f16_u16(__inactive, __a, __p)
-#define vcvtq_m_f32_s32(__inactive, __a, __p) __arm_vcvtq_m_f32_s32(__inactive, __a, __p)
-#define vcvtq_m_f32_u32(__inactive, __a, __p) __arm_vcvtq_m_f32_u32(__inactive, __a, __p)
 #define vshlcq_s8(__a,  __b,  __imm) __arm_vshlcq_s8(__a,  __b,  __imm)
 #define vshlcq_u8(__a,  __b,  __imm) __arm_vshlcq_u8(__a,  __b,  __imm)
 #define vshlcq_s16(__a,  __b,  __imm) __arm_vshlcq_s16(__a,  __b,  __imm)
@@ -251,23 +225,15 @@ 
 #define vcvtmq_m_s16_f16(__inactive, __a, __p) __arm_vcvtmq_m_s16_f16(__inactive, __a, __p)
 #define vcvtnq_m_s16_f16(__inactive, __a, __p) __arm_vcvtnq_m_s16_f16(__inactive, __a, __p)
 #define vcvtpq_m_s16_f16(__inactive, __a, __p) __arm_vcvtpq_m_s16_f16(__inactive, __a, __p)
-#define vcvtq_m_s16_f16(__inactive, __a, __p) __arm_vcvtq_m_s16_f16(__inactive, __a, __p)
 #define vcvtmq_m_u16_f16(__inactive, __a, __p) __arm_vcvtmq_m_u16_f16(__inactive, __a, __p)
 #define vcvtnq_m_u16_f16(__inactive, __a, __p) __arm_vcvtnq_m_u16_f16(__inactive, __a, __p)
 #define vcvtpq_m_u16_f16(__inactive, __a, __p) __arm_vcvtpq_m_u16_f16(__inactive, __a, __p)
-#define vcvtq_m_u16_f16(__inactive, __a, __p) __arm_vcvtq_m_u16_f16(__inactive, __a, __p)
 #define vcvtmq_m_s32_f32(__inactive, __a, __p) __arm_vcvtmq_m_s32_f32(__inactive, __a, __p)
 #define vcvtnq_m_s32_f32(__inactive, __a, __p) __arm_vcvtnq_m_s32_f32(__inactive, __a, __p)
 #define vcvtpq_m_s32_f32(__inactive, __a, __p) __arm_vcvtpq_m_s32_f32(__inactive, __a, __p)
-#define vcvtq_m_s32_f32(__inactive, __a, __p) __arm_vcvtq_m_s32_f32(__inactive, __a, __p)
 #define vcvtmq_m_u32_f32(__inactive, __a, __p) __arm_vcvtmq_m_u32_f32(__inactive, __a, __p)
 #define vcvtnq_m_u32_f32(__inactive, __a, __p) __arm_vcvtnq_m_u32_f32(__inactive, __a, __p)
 #define vcvtpq_m_u32_f32(__inactive, __a, __p) __arm_vcvtpq_m_u32_f32(__inactive, __a, __p)
-#define vcvtq_m_u32_f32(__inactive, __a, __p) __arm_vcvtq_m_u32_f32(__inactive, __a, __p)
-#define vcvtq_m_n_f16_u16(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_f16_u16(__inactive, __a,  __imm6, __p)
-#define vcvtq_m_n_f16_s16(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_f16_s16(__inactive, __a,  __imm6, __p)
-#define vcvtq_m_n_f32_u32(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_f32_u32(__inactive, __a,  __imm6, __p)
-#define vcvtq_m_n_f32_s32(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_f32_s32(__inactive, __a,  __imm6, __p)
 #define vbicq_m_s8(__inactive, __a, __b, __p) __arm_vbicq_m_s8(__inactive, __a, __b, __p)
 #define vbicq_m_s32(__inactive, __a, __b, __p) __arm_vbicq_m_s32(__inactive, __a, __b, __p)
 #define vbicq_m_s16(__inactive, __a, __b, __p) __arm_vbicq_m_s16(__inactive, __a, __b, __p)
@@ -282,10 +248,6 @@ 
 #define vornq_m_u16(__inactive, __a, __b, __p) __arm_vornq_m_u16(__inactive, __a, __b, __p)
 #define vbicq_m_f32(__inactive, __a, __b, __p) __arm_vbicq_m_f32(__inactive, __a, __b, __p)
 #define vbicq_m_f16(__inactive, __a, __b, __p) __arm_vbicq_m_f16(__inactive, __a, __b, __p)
-#define vcvtq_m_n_s32_f32(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_s32_f32(__inactive, __a,  __imm6, __p)
-#define vcvtq_m_n_s16_f16(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_s16_f16(__inactive, __a,  __imm6, __p)
-#define vcvtq_m_n_u32_f32(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_u32_f32(__inactive, __a,  __imm6, __p)
-#define vcvtq_m_n_u16_f16(__inactive, __a,  __imm6, __p) __arm_vcvtq_m_n_u16_f16(__inactive, __a,  __imm6, __p)
 #define vornq_m_f32(__inactive, __a, __b, __p) __arm_vornq_m_f32(__inactive, __a, __b, __p)
 #define vornq_m_f16(__inactive, __a, __b, __p) __arm_vornq_m_f16(__inactive, __a, __b, __p)
 #define vstrbq_s8( __addr, __value) __arm_vstrbq_s8( __addr, __value)
@@ -600,22 +562,6 @@ 
 #define vcvtmq_x_u32_f32(__a, __p) __arm_vcvtmq_x_u32_f32(__a, __p)
 #define vcvtbq_x_f32_f16(__a, __p) __arm_vcvtbq_x_f32_f16(__a, __p)
 #define vcvttq_x_f32_f16(__a, __p) __arm_vcvttq_x_f32_f16(__a, __p)
-#define vcvtq_x_f16_u16(__a, __p) __arm_vcvtq_x_f16_u16(__a, __p)
-#define vcvtq_x_f16_s16(__a, __p) __arm_vcvtq_x_f16_s16(__a, __p)
-#define vcvtq_x_f32_s32(__a, __p) __arm_vcvtq_x_f32_s32(__a, __p)
-#define vcvtq_x_f32_u32(__a, __p) __arm_vcvtq_x_f32_u32(__a, __p)
-#define vcvtq_x_n_f16_s16(__a,  __imm6, __p) __arm_vcvtq_x_n_f16_s16(__a,  __imm6, __p)
-#define vcvtq_x_n_f16_u16(__a,  __imm6, __p) __arm_vcvtq_x_n_f16_u16(__a,  __imm6, __p)
-#define vcvtq_x_n_f32_s32(__a,  __imm6, __p) __arm_vcvtq_x_n_f32_s32(__a,  __imm6, __p)
-#define vcvtq_x_n_f32_u32(__a,  __imm6, __p) __arm_vcvtq_x_n_f32_u32(__a,  __imm6, __p)
-#define vcvtq_x_s16_f16(__a, __p) __arm_vcvtq_x_s16_f16(__a, __p)
-#define vcvtq_x_s32_f32(__a, __p) __arm_vcvtq_x_s32_f32(__a, __p)
-#define vcvtq_x_u16_f16(__a, __p) __arm_vcvtq_x_u16_f16(__a, __p)
-#define vcvtq_x_u32_f32(__a, __p) __arm_vcvtq_x_u32_f32(__a, __p)
-#define vcvtq_x_n_s16_f16(__a,  __imm6, __p) __arm_vcvtq_x_n_s16_f16(__a,  __imm6, __p)
-#define vcvtq_x_n_s32_f32(__a,  __imm6, __p) __arm_vcvtq_x_n_s32_f32(__a,  __imm6, __p)
-#define vcvtq_x_n_u16_f16(__a,  __imm6, __p) __arm_vcvtq_x_n_u16_f16(__a,  __imm6, __p)
-#define vcvtq_x_n_u32_f32(__a,  __imm6, __p) __arm_vcvtq_x_n_u32_f32(__a,  __imm6, __p)
 #define vbicq_x_f16(__a, __b, __p) __arm_vbicq_x_f16(__a, __b, __p)
 #define vbicq_x_f32(__a, __b, __p) __arm_vbicq_x_f32(__a, __b, __p)
 #define vornq_x_f16(__a, __b, __p) __arm_vornq_x_f16(__a, __b, __p)
@@ -3772,62 +3718,6 @@  __arm_vcvtbq_f32_f16 (float16x8_t __a)
   return __builtin_mve_vcvtbq_f32_f16v4sf (__a);
 }
 
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_f16_s16 (int16x8_t __a)
-{
-  return __builtin_mve_vcvtq_to_f_sv8hf (__a);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_f32_s32 (int32x4_t __a)
-{
-  return __builtin_mve_vcvtq_to_f_sv4sf (__a);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_f16_u16 (uint16x8_t __a)
-{
-  return __builtin_mve_vcvtq_to_f_uv8hf (__a);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_f32_u32 (uint32x4_t __a)
-{
-  return __builtin_mve_vcvtq_to_f_uv4sf (__a);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_s16_f16 (float16x8_t __a)
-{
-  return __builtin_mve_vcvtq_from_f_sv8hi (__a);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_s32_f32 (float32x4_t __a)
-{
-  return __builtin_mve_vcvtq_from_f_sv4si (__a);
-}
-
-__extension__ extern __inline uint16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_u16_f16 (float16x8_t __a)
-{
-  return __builtin_mve_vcvtq_from_f_uv8hi (__a);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_u32_f32 (float32x4_t __a)
-{
-  return __builtin_mve_vcvtq_from_f_uv4si (__a);
-}
-
 __extension__ extern __inline uint16x8_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vcvtpq_u16_f16 (float16x8_t __a)
@@ -3940,62 +3830,6 @@  __arm_vcvtmq_s32_f32 (float32x4_t __a)
   return __builtin_mve_vcvtmq_sv4si (__a);
 }
 
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_n_f16_s16 (int16x8_t __a, const int __imm6)
-{
-  return __builtin_mve_vcvtq_n_to_f_sv8hf (__a, __imm6);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_n_f32_s32 (int32x4_t __a, const int __imm6)
-{
-  return __builtin_mve_vcvtq_n_to_f_sv4sf (__a, __imm6);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_n_f16_u16 (uint16x8_t __a, const int __imm6)
-{
-  return __builtin_mve_vcvtq_n_to_f_uv8hf (__a, __imm6);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_n_f32_u32 (uint32x4_t __a, const int __imm6)
-{
-  return __builtin_mve_vcvtq_n_to_f_uv4sf (__a, __imm6);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_n_s16_f16 (float16x8_t __a, const int __imm6)
-{
-  return __builtin_mve_vcvtq_n_from_f_sv8hi (__a, __imm6);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_n_s32_f32 (float32x4_t __a, const int __imm6)
-{
-  return __builtin_mve_vcvtq_n_from_f_sv4si (__a, __imm6);
-}
-
-__extension__ extern __inline uint16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_n_u16_f16 (float16x8_t __a, const int __imm6)
-{
-  return __builtin_mve_vcvtq_n_from_f_uv8hi (__a, __imm6);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_n_u32_f32 (float32x4_t __a, const int __imm6)
-{
-  return __builtin_mve_vcvtq_n_from_f_uv4si (__a, __imm6);
-}
-
 __extension__ extern __inline float16x8_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vornq_f16 (float16x8_t __a, float16x8_t __b)
@@ -4066,34 +3900,6 @@  __arm_vcvtaq_m_u32_f32 (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p
   return __builtin_mve_vcvtaq_m_uv4si (__inactive, __a, __p);
 }
 
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_f16_s16 (float16x8_t __inactive, int16x8_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_to_f_sv8hf (__inactive, __a, __p);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_f16_u16 (float16x8_t __inactive, uint16x8_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_to_f_uv8hf (__inactive, __a, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_f32_s32 (float32x4_t __inactive, int32x4_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_to_f_sv4sf (__inactive, __a, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_f32_u32 (float32x4_t __inactive, uint32x4_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_to_f_uv4sf (__inactive, __a, __p);
-}
-
 
 __extension__ extern __inline float16x8_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
@@ -4144,13 +3950,6 @@  __arm_vcvtpq_m_s16_f16 (int16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
   return __builtin_mve_vcvtpq_m_sv8hi (__inactive, __a, __p);
 }
 
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_s16_f16 (int16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_from_f_sv8hi (__inactive, __a, __p);
-}
-
 __extension__ extern __inline uint16x8_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vcvtmq_m_u16_f16 (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
@@ -4172,13 +3971,6 @@  __arm_vcvtpq_m_u16_f16 (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p
   return __builtin_mve_vcvtpq_m_uv8hi (__inactive, __a, __p);
 }
 
-__extension__ extern __inline uint16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_u16_f16 (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_from_f_uv8hi (__inactive, __a, __p);
-}
-
 __extension__ extern __inline int32x4_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vcvtmq_m_s32_f32 (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
@@ -4200,13 +3992,6 @@  __arm_vcvtpq_m_s32_f32 (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
   return __builtin_mve_vcvtpq_m_sv4si (__inactive, __a, __p);
 }
 
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_s32_f32 (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_from_f_sv4si (__inactive, __a, __p);
-}
-
 __extension__ extern __inline uint32x4_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vcvtmq_m_u32_f32 (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
@@ -4228,41 +4013,6 @@  __arm_vcvtpq_m_u32_f32 (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p
   return __builtin_mve_vcvtpq_m_uv4si (__inactive, __a, __p);
 }
 
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_u32_f32 (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_from_f_uv4si (__inactive, __a, __p);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n_f16_u16 (float16x8_t __inactive, uint16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_to_f_uv8hf (__inactive, __a, __imm6, __p);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n_f16_s16 (float16x8_t __inactive, int16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_to_f_sv8hf (__inactive, __a, __imm6, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n_f32_u32 (float32x4_t __inactive, uint32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_to_f_uv4sf (__inactive, __a, __imm6, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n_f32_s32 (float32x4_t __inactive, int32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_to_f_sv4sf (__inactive, __a, __imm6, __p);
-}
-
 __extension__ extern __inline float32x4_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vbicq_m_f32 (float32x4_t __inactive, float32x4_t __a, float32x4_t __b, mve_pred16_t __p)
@@ -4277,34 +4027,6 @@  __arm_vbicq_m_f16 (float16x8_t __inactive, float16x8_t __a, float16x8_t __b, mve
   return __builtin_mve_vbicq_m_fv8hf (__inactive, __a, __b, __p);
 }
 
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n_s32_f32 (int32x4_t __inactive, float32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_from_f_sv4si (__inactive, __a, __imm6, __p);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n_s16_f16 (int16x8_t __inactive, float16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_from_f_sv8hi (__inactive, __a, __imm6, __p);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n_u32_f32 (uint32x4_t __inactive, float32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_from_f_uv4si (__inactive, __a, __imm6, __p);
-}
-
-__extension__ extern __inline uint16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n_u16_f16 (uint16x8_t __inactive, float16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_from_f_uv8hi (__inactive, __a, __imm6, __p);
-}
-
 __extension__ extern __inline float32x4_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vornq_m_f32 (float32x4_t __inactive, float32x4_t __a, float32x4_t __b, mve_pred16_t __p)
@@ -4675,118 +4397,6 @@  __arm_vcvttq_x_f32_f16 (float16x8_t __a, mve_pred16_t __p)
   return __builtin_mve_vcvttq_m_f32_f16v4sf (__arm_vuninitializedq_f32 (), __a, __p);
 }
 
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_f16_u16 (uint16x8_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_to_f_uv8hf (__arm_vuninitializedq_f16 (), __a, __p);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_f16_s16 (int16x8_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_to_f_sv8hf (__arm_vuninitializedq_f16 (), __a, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_f32_s32 (int32x4_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_to_f_sv4sf (__arm_vuninitializedq_f32 (), __a, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_f32_u32 (uint32x4_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_to_f_uv4sf (__arm_vuninitializedq_f32 (), __a, __p);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_n_f16_s16 (int16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_to_f_sv8hf (__arm_vuninitializedq_f16 (), __a, __imm6, __p);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_n_f16_u16 (uint16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_to_f_uv8hf (__arm_vuninitializedq_f16 (), __a, __imm6, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_n_f32_s32 (int32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_to_f_sv4sf (__arm_vuninitializedq_f32 (), __a, __imm6, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_n_f32_u32 (uint32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_to_f_uv4sf (__arm_vuninitializedq_f32 (), __a, __imm6, __p);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_s16_f16 (float16x8_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_from_f_sv8hi (__arm_vuninitializedq_s16 (), __a, __p);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_s32_f32 (float32x4_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_from_f_sv4si (__arm_vuninitializedq_s32 (), __a, __p);
-}
-
-__extension__ extern __inline uint16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_u16_f16 (float16x8_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_from_f_uv8hi (__arm_vuninitializedq_u16 (), __a, __p);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_u32_f32 (float32x4_t __a, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_from_f_uv4si (__arm_vuninitializedq_u32 (), __a, __p);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_n_s16_f16 (float16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_from_f_sv8hi (__arm_vuninitializedq_s16 (), __a, __imm6, __p);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_n_s32_f32 (float32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_from_f_sv4si (__arm_vuninitializedq_s32 (), __a, __imm6, __p);
-}
-
-__extension__ extern __inline uint16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_n_u16_f16 (float16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_from_f_uv8hi (__arm_vuninitializedq_u16 (), __a, __imm6, __p);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_n_u32_f32 (float32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
-  return __builtin_mve_vcvtq_m_n_from_f_uv4si (__arm_vuninitializedq_u32 (), __a, __imm6, __p);
-}
-
 __extension__ extern __inline float16x8_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vbicq_x_f16 (float16x8_t __a, float16x8_t __b, mve_pred16_t __p)
@@ -7231,62 +6841,6 @@  __arm_vcvtbq_f32 (float16x8_t __a)
  return __arm_vcvtbq_f32_f16 (__a);
 }
 
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq (int16x8_t __a)
-{
- return __arm_vcvtq_f16_s16 (__a);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq (int32x4_t __a)
-{
- return __arm_vcvtq_f32_s32 (__a);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq (uint16x8_t __a)
-{
- return __arm_vcvtq_f16_u16 (__a);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq (uint32x4_t __a)
-{
- return __arm_vcvtq_f32_u32 (__a);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_n (int16x8_t __a, const int __imm6)
-{
- return __arm_vcvtq_n_f16_s16 (__a, __imm6);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_n (int32x4_t __a, const int __imm6)
-{
- return __arm_vcvtq_n_f32_s32 (__a, __imm6);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_n (uint16x8_t __a, const int __imm6)
-{
- return __arm_vcvtq_n_f16_u16 (__a, __imm6);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_n (uint32x4_t __a, const int __imm6)
-{
- return __arm_vcvtq_n_f32_u32 (__a, __imm6);
-}
-
 __extension__ extern __inline float16x8_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vornq (float16x8_t __a, float16x8_t __b)
@@ -7343,34 +6897,6 @@  __arm_vcvtaq_m (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
  return __arm_vcvtaq_m_u32_f32 (__inactive, __a, __p);
 }
 
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m (float16x8_t __inactive, int16x8_t __a, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_f16_s16 (__inactive, __a, __p);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m (float16x8_t __inactive, uint16x8_t __a, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_f16_u16 (__inactive, __a, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m (float32x4_t __inactive, int32x4_t __a, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_f32_s32 (__inactive, __a, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m (float32x4_t __inactive, uint32x4_t __a, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_f32_u32 (__inactive, __a, __p);
-}
-
 __extension__ extern __inline float16x8_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vcvtbq_m (float16x8_t __a, float32x4_t __b, mve_pred16_t __p)
@@ -7420,13 +6946,6 @@  __arm_vcvtpq_m (int16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
  return __arm_vcvtpq_m_s16_f16 (__inactive, __a, __p);
 }
 
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m (int16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_s16_f16 (__inactive, __a, __p);
-}
-
 __extension__ extern __inline uint16x8_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vcvtmq_m (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
@@ -7448,13 +6967,6 @@  __arm_vcvtpq_m (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
  return __arm_vcvtpq_m_u16_f16 (__inactive, __a, __p);
 }
 
-__extension__ extern __inline uint16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m (uint16x8_t __inactive, float16x8_t __a, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_u16_f16 (__inactive, __a, __p);
-}
-
 __extension__ extern __inline int32x4_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vcvtmq_m (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
@@ -7476,13 +6988,6 @@  __arm_vcvtpq_m (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
  return __arm_vcvtpq_m_s32_f32 (__inactive, __a, __p);
 }
 
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m (int32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_s32_f32 (__inactive, __a, __p);
-}
-
 __extension__ extern __inline uint32x4_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vcvtmq_m (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
@@ -7504,41 +7009,6 @@  __arm_vcvtpq_m (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
  return __arm_vcvtpq_m_u32_f32 (__inactive, __a, __p);
 }
 
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m (uint32x4_t __inactive, float32x4_t __a, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_u32_f32 (__inactive, __a, __p);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n (float16x8_t __inactive, uint16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_n_f16_u16 (__inactive, __a, __imm6, __p);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n (float16x8_t __inactive, int16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_n_f16_s16 (__inactive, __a, __imm6, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n (float32x4_t __inactive, uint32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_n_f32_u32 (__inactive, __a, __imm6, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n (float32x4_t __inactive, int32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_n_f32_s32 (__inactive, __a, __imm6, __p);
-}
-
 __extension__ extern __inline float32x4_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vbicq_m (float32x4_t __inactive, float32x4_t __a, float32x4_t __b, mve_pred16_t __p)
@@ -7553,34 +7023,6 @@  __arm_vbicq_m (float16x8_t __inactive, float16x8_t __a, float16x8_t __b, mve_pre
  return __arm_vbicq_m_f16 (__inactive, __a, __b, __p);
 }
 
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n (int32x4_t __inactive, float32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_n_s32_f32 (__inactive, __a, __imm6, __p);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n (int16x8_t __inactive, float16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_n_s16_f16 (__inactive, __a, __imm6, __p);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n (uint32x4_t __inactive, float32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_n_u32_f32 (__inactive, __a, __imm6, __p);
-}
-
-__extension__ extern __inline uint16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_m_n (uint16x8_t __inactive, float16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
- return __arm_vcvtq_m_n_u16_f16 (__inactive, __a, __imm6, __p);
-}
-
 __extension__ extern __inline float32x4_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vornq_m (float32x4_t __inactive, float32x4_t __a, float32x4_t __b, mve_pred16_t __p)
@@ -7763,62 +7205,6 @@  __arm_vstrwq_scatter_base_wb_p (uint32x4_t * __addr, const int __offset, float32
  __arm_vstrwq_scatter_base_wb_p_f32 (__addr, __offset, __value, __p);
 }
 
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x (uint16x8_t __a, mve_pred16_t __p)
-{
- return __arm_vcvtq_x_f16_u16 (__a, __p);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x (int16x8_t __a, mve_pred16_t __p)
-{
- return __arm_vcvtq_x_f16_s16 (__a, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x (int32x4_t __a, mve_pred16_t __p)
-{
- return __arm_vcvtq_x_f32_s32 (__a, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x (uint32x4_t __a, mve_pred16_t __p)
-{
- return __arm_vcvtq_x_f32_u32 (__a, __p);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_n (int16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
- return __arm_vcvtq_x_n_f16_s16 (__a, __imm6, __p);
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_n (uint16x8_t __a, const int __imm6, mve_pred16_t __p)
-{
- return __arm_vcvtq_x_n_f16_u16 (__a, __imm6, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_n (int32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
- return __arm_vcvtq_x_n_f32_s32 (__a, __imm6, __p);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-__arm_vcvtq_x_n (uint32x4_t __a, const int __imm6, mve_pred16_t __p)
-{
- return __arm_vcvtq_x_n_f32_u32 (__a, __imm6, __p);
-}
-
 __extension__ extern __inline float16x8_t
 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
 __arm_vbicq_x (float16x8_t __a, float16x8_t __b, mve_pred16_t __p)
@@ -8276,20 +7662,6 @@  extern void *__ARM_undef;
   _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
   int (*)[__ARM_mve_type_float16x8_t]: __arm_vcvttq_f32_f16 (__ARM_mve_coerce(__p0, float16x8_t)));})
 
-#define __arm_vcvtq(p0) ({ __typeof(p0) __p0 = (p0); \
-  _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
-  int (*)[__ARM_mve_type_int16x8_t]: __arm_vcvtq_f16_s16 (__ARM_mve_coerce(__p0, int16x8_t)), \
-  int (*)[__ARM_mve_type_int32x4_t]: __arm_vcvtq_f32_s32 (__ARM_mve_coerce(__p0, int32x4_t)), \
-  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vcvtq_f16_u16 (__ARM_mve_coerce(__p0, uint16x8_t)), \
-  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vcvtq_f32_u32 (__ARM_mve_coerce(__p0, uint32x4_t)));})
-
-#define __arm_vcvtq_n(p0,p1) ({ __typeof(p0) __p0 = (p0); \
-  _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
-  int (*)[__ARM_mve_type_int16x8_t]: __arm_vcvtq_n_f16_s16 (__ARM_mve_coerce(__p0, int16x8_t), p1), \
-  int (*)[__ARM_mve_type_int32x4_t]: __arm_vcvtq_n_f32_s32 (__ARM_mve_coerce(__p0, int32x4_t), p1), \
-  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vcvtq_n_f16_u16 (__ARM_mve_coerce(__p0, uint16x8_t), p1), \
-  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vcvtq_n_f32_u32 (__ARM_mve_coerce(__p0, uint32x4_t), p1));})
-
 #define __arm_vbicq(p0,p1) ({ __typeof(p0) __p0 = (p0); \
   __typeof(p1) __p1 = (p1); \
   _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \
@@ -8342,30 +7714,6 @@  extern void *__ARM_undef;
   int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtaq_m_u16_f16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \
   int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtaq_m_u32_f32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2));})
 
-#define __arm_vcvtq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \
-  __typeof(p1) __p1 = (p1); \
-  _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \
-  int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcvtq_m_f16_s16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2), \
-  int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcvtq_m_f32_s32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2), \
-  int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcvtq_m_f16_u16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), p2), \
-  int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcvtq_m_f32_u32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2), \
-  int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtq_m_s16_f16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \
-  int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtq_m_s32_f32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2), \
-  int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtq_m_u16_f16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2), \
-  int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtq_m_u32_f32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2));})
-
-#define __arm_vcvtq_m_n(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \
-  __typeof(p1) __p1 = (p1); \
-  _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \
-  int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtq_m_n_s16_f16 (__ARM_mve_coerce(__p0, int16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2, p3), \
-  int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtq_m_n_s32_f32 (__ARM_mve_coerce(__p0, int32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2, p3), \
-  int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_float16x8_t]: __arm_vcvtq_m_n_u16_f16 (__ARM_mve_coerce(__p0, uint16x8_t), __ARM_mve_coerce(__p1, float16x8_t), p2, p3), \
-  int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_float32x4_t]: __arm_vcvtq_m_n_u32_f32 (__ARM_mve_coerce(__p0, uint32x4_t), __ARM_mve_coerce(__p1, float32x4_t), p2, p3), \
-  int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_int16x8_t]: __arm_vcvtq_m_n_f16_s16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, int16x8_t), p2, p3), \
-  int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_int32x4_t]: __arm_vcvtq_m_n_f32_s32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, int32x4_t), p2, p3), \
-  int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vcvtq_m_n_f16_u16 (__ARM_mve_coerce(__p0, float16x8_t), __ARM_mve_coerce(__p1, uint16x8_t), p2, p3), \
-  int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vcvtq_m_n_f32_u32 (__ARM_mve_coerce(__p0, float32x4_t), __ARM_mve_coerce(__p1, uint32x4_t), p2, p3));})
-
 #define __arm_vcvtbq_m(p0,p1,p2) ({ __typeof(p0) __p0 = (p0); \
   __typeof(p1) __p1 = (p1); \
   _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0, \
@@ -8730,20 +8078,6 @@  extern void *__ARM_undef;
   int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vbicq_x_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3), \
   int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vbicq_x_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t), p3));})
 
-#define __arm_vcvtq_x(p1,p2) ({ __typeof(p1) __p1 = (p1); \
-  _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \
-  int (*)[__ARM_mve_type_int16x8_t]: __arm_vcvtq_x_f16_s16 (__ARM_mve_coerce(__p1, int16x8_t), p2), \
-  int (*)[__ARM_mve_type_int32x4_t]: __arm_vcvtq_x_f32_s32 (__ARM_mve_coerce(__p1, int32x4_t), p2), \
-  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vcvtq_x_f16_u16 (__ARM_mve_coerce(__p1, uint16x8_t), p2), \
-  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vcvtq_x_f32_u32 (__ARM_mve_coerce(__p1, uint32x4_t), p2));})
-
-#define __arm_vcvtq_x_n(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \
-  _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \
-  int (*)[__ARM_mve_type_int16x8_t]: __arm_vcvtq_x_n_f16_s16 (__ARM_mve_coerce(__p1, int16x8_t), p2, p3), \
-  int (*)[__ARM_mve_type_int32x4_t]: __arm_vcvtq_x_n_f32_s32 (__ARM_mve_coerce(__p1, int32x4_t), p2, p3), \
-  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vcvtq_x_n_f16_u16 (__ARM_mve_coerce(__p1, uint16x8_t), p2, p3), \
-  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vcvtq_x_n_f32_u32 (__ARM_mve_coerce(__p1, uint32x4_t), p2, p3));})
-
 #define __arm_vornq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \
   __typeof(p2) __p2 = (p2); \
   _Generic( (int (*)[__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \