[PATCH 23/23] arm: [MVE intrinsics] rework vshrq vrshrq

Kyrylo Tkachov Kyrylo.Tkachov@arm.com
Fri May 5 11:07:03 GMT 2023



> -----Original Message-----
> From: Christophe Lyon <christophe.lyon@arm.com>
> Sent: Friday, May 5, 2023 9:40 AM
> To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>;
> Richard Earnshaw <Richard.Earnshaw@arm.com>; Richard Sandiford
> <Richard.Sandiford@arm.com>
> Cc: Christophe Lyon <Christophe.Lyon@arm.com>
> Subject: [PATCH 23/23] arm: [MVE intrinsics] rework vshrq vrshrq
> 
> Implement vshrq and vrshrq using the new MVE builtins framework.

Ok.
Looking forward to more of the transition!
Kyrill

> 
> 2022-09-08  Christophe Lyon  <christophe.lyon@arm.com>
> 
> 	gcc/
> 	* config/arm/arm-mve-builtins-base.cc (vrshrq, vshrq): New.
> 	* config/arm/arm-mve-builtins-base.def (vrshrq, vshrq): New.
> 	* config/arm/arm-mve-builtins-base.h (vrshrq, vshrq): New.
> 	* config/arm/arm_mve.h (vshrq): Remove.
> 	(vrshrq): Remove.
> 	(vrshrq_m): Remove.
> 	(vshrq_m): Remove.
> 	(vrshrq_x): Remove.
> 	(vshrq_x): Remove.
> 	(vshrq_n_s8): Remove.
> 	(vshrq_n_s16): Remove.
> 	(vshrq_n_s32): Remove.
> 	(vshrq_n_u8): Remove.
> 	(vshrq_n_u16): Remove.
> 	(vshrq_n_u32): Remove.
> 	(vrshrq_n_u8): Remove.
> 	(vrshrq_n_s8): Remove.
> 	(vrshrq_n_u16): Remove.
> 	(vrshrq_n_s16): Remove.
> 	(vrshrq_n_u32): Remove.
> 	(vrshrq_n_s32): Remove.
> 	(vrshrq_m_n_s8): Remove.
> 	(vrshrq_m_n_s32): Remove.
> 	(vrshrq_m_n_s16): Remove.
> 	(vrshrq_m_n_u8): Remove.
> 	(vrshrq_m_n_u32): Remove.
> 	(vrshrq_m_n_u16): Remove.
> 	(vshrq_m_n_s8): Remove.
> 	(vshrq_m_n_s32): Remove.
> 	(vshrq_m_n_s16): Remove.
> 	(vshrq_m_n_u8): Remove.
> 	(vshrq_m_n_u32): Remove.
> 	(vshrq_m_n_u16): Remove.
> 	(vrshrq_x_n_s8): Remove.
> 	(vrshrq_x_n_s16): Remove.
> 	(vrshrq_x_n_s32): Remove.
> 	(vrshrq_x_n_u8): Remove.
> 	(vrshrq_x_n_u16): Remove.
> 	(vrshrq_x_n_u32): Remove.
> 	(vshrq_x_n_s8): Remove.
> 	(vshrq_x_n_s16): Remove.
> 	(vshrq_x_n_s32): Remove.
> 	(vshrq_x_n_u8): Remove.
> 	(vshrq_x_n_u16): Remove.
> 	(vshrq_x_n_u32): Remove.
> 	(__arm_vshrq_n_s8): Remove.
> 	(__arm_vshrq_n_s16): Remove.
> 	(__arm_vshrq_n_s32): Remove.
> 	(__arm_vshrq_n_u8): Remove.
> 	(__arm_vshrq_n_u16): Remove.
> 	(__arm_vshrq_n_u32): Remove.
> 	(__arm_vrshrq_n_u8): Remove.
> 	(__arm_vrshrq_n_s8): Remove.
> 	(__arm_vrshrq_n_u16): Remove.
> 	(__arm_vrshrq_n_s16): Remove.
> 	(__arm_vrshrq_n_u32): Remove.
> 	(__arm_vrshrq_n_s32): Remove.
> 	(__arm_vrshrq_m_n_s8): Remove.
> 	(__arm_vrshrq_m_n_s32): Remove.
> 	(__arm_vrshrq_m_n_s16): Remove.
> 	(__arm_vrshrq_m_n_u8): Remove.
> 	(__arm_vrshrq_m_n_u32): Remove.
> 	(__arm_vrshrq_m_n_u16): Remove.
> 	(__arm_vshrq_m_n_s8): Remove.
> 	(__arm_vshrq_m_n_s32): Remove.
> 	(__arm_vshrq_m_n_s16): Remove.
> 	(__arm_vshrq_m_n_u8): Remove.
> 	(__arm_vshrq_m_n_u32): Remove.
> 	(__arm_vshrq_m_n_u16): Remove.
> 	(__arm_vrshrq_x_n_s8): Remove.
> 	(__arm_vrshrq_x_n_s16): Remove.
> 	(__arm_vrshrq_x_n_s32): Remove.
> 	(__arm_vrshrq_x_n_u8): Remove.
> 	(__arm_vrshrq_x_n_u16): Remove.
> 	(__arm_vrshrq_x_n_u32): Remove.
> 	(__arm_vshrq_x_n_s8): Remove.
> 	(__arm_vshrq_x_n_s16): Remove.
> 	(__arm_vshrq_x_n_s32): Remove.
> 	(__arm_vshrq_x_n_u8): Remove.
> 	(__arm_vshrq_x_n_u16): Remove.
> 	(__arm_vshrq_x_n_u32): Remove.
> 	(__arm_vshrq): Remove.
> 	(__arm_vrshrq): Remove.
> 	(__arm_vrshrq_m): Remove.
> 	(__arm_vshrq_m): Remove.
> 	(__arm_vrshrq_x): Remove.
> 	(__arm_vshrq_x): Remove.
> ---
>  gcc/config/arm/arm-mve-builtins-base.cc  |   2 +
>  gcc/config/arm/arm-mve-builtins-base.def |   2 +
>  gcc/config/arm/arm-mve-builtins-base.h   |   2 +
>  gcc/config/arm/arm_mve.h                 | 628 -----------------------
>  4 files changed, 6 insertions(+), 628 deletions(-)
> 
> diff --git a/gcc/config/arm/arm-mve-builtins-base.cc b/gcc/config/arm/arm-
> mve-builtins-base.cc
> index e7d2e0abffc..bb585a3921f 100644
> --- a/gcc/config/arm/arm-mve-builtins-base.cc
> +++ b/gcc/config/arm/arm-mve-builtins-base.cc
> @@ -225,9 +225,11 @@ FUNCTION_WITHOUT_N_NO_F (vrmulhq,
> VRMULHQ)
>  FUNCTION_WITH_M_N_NO_F (vrshlq, VRSHLQ)
>  FUNCTION_ONLY_N_NO_F (vrshrnbq, VRSHRNBQ)
>  FUNCTION_ONLY_N_NO_F (vrshrntq, VRSHRNTQ)
> +FUNCTION_ONLY_N_NO_F (vrshrq, VRSHRQ)
>  FUNCTION_WITH_M_N_R (vshlq, VSHLQ)
>  FUNCTION_ONLY_N_NO_F (vshrnbq, VSHRNBQ)
>  FUNCTION_ONLY_N_NO_F (vshrntq, VSHRNTQ)
> +FUNCTION_ONLY_N_NO_F (vshrq, VSHRQ)
>  FUNCTION_WITH_RTX_M_N (vsubq, MINUS, VSUBQ)
>  FUNCTION (vuninitializedq, vuninitializedq_impl,)
> 
> diff --git a/gcc/config/arm/arm-mve-builtins-base.def b/gcc/config/arm/arm-
> mve-builtins-base.def
> index 50cb2d055e9..33c95c02396 100644
> --- a/gcc/config/arm/arm-mve-builtins-base.def
> +++ b/gcc/config/arm/arm-mve-builtins-base.def
> @@ -51,10 +51,12 @@ DEF_MVE_FUNCTION (vrmulhq, binary, all_integer,
> mx_or_none)
>  DEF_MVE_FUNCTION (vrshlq, binary_round_lshift, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vrshrnbq, binary_rshift_narrow, integer_16_32,
> m_or_none)
>  DEF_MVE_FUNCTION (vrshrntq, binary_rshift_narrow, integer_16_32,
> m_or_none)
> +DEF_MVE_FUNCTION (vrshrq, binary_rshift, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vshlq, binary_lshift, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vshlq, binary_lshift_r, all_integer, m_or_none) // "_r"
> forms do not support the "x" predicate
>  DEF_MVE_FUNCTION (vshrnbq, binary_rshift_narrow, integer_16_32,
> m_or_none)
>  DEF_MVE_FUNCTION (vshrntq, binary_rshift_narrow, integer_16_32,
> m_or_none)
> +DEF_MVE_FUNCTION (vshrq, binary_rshift, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vsubq, binary_opt_n, all_integer, mx_or_none)
>  DEF_MVE_FUNCTION (vuninitializedq, inherent, all_integer_with_64, none)
>  #undef REQUIRES_FLOAT
> diff --git a/gcc/config/arm/arm-mve-builtins-base.h b/gcc/config/arm/arm-
> mve-builtins-base.h
> index fcac772bc5b..2a230f5f34d 100644
> --- a/gcc/config/arm/arm-mve-builtins-base.h
> +++ b/gcc/config/arm/arm-mve-builtins-base.h
> @@ -55,9 +55,11 @@ extern const function_base *const vrmulhq;
>  extern const function_base *const vrshlq;
>  extern const function_base *const vrshrnbq;
>  extern const function_base *const vrshrntq;
> +extern const function_base *const vrshrq;
>  extern const function_base *const vshlq;
>  extern const function_base *const vshrnbq;
>  extern const function_base *const vshrntq;
> +extern const function_base *const vshrq;
>  extern const function_base *const vsubq;
>  extern const function_base *const vuninitializedq;
> 
> diff --git a/gcc/config/arm/arm_mve.h b/gcc/config/arm/arm_mve.h
> index b2701f1135d..89de7e0e46b 100644
> --- a/gcc/config/arm/arm_mve.h
> +++ b/gcc/config/arm/arm_mve.h
> @@ -57,7 +57,6 @@
>  #define vrev64q(__a) __arm_vrev64q(__a)
>  #define vqabsq(__a) __arm_vqabsq(__a)
>  #define vqnegq(__a) __arm_vqnegq(__a)
> -#define vshrq(__a, __imm) __arm_vshrq(__a, __imm)
>  #define vaddlvq_p(__a, __p) __arm_vaddlvq_p(__a, __p)
>  #define vcmpneq(__a, __b) __arm_vcmpneq(__a, __b)
>  #define vornq(__a, __b) __arm_vornq(__a, __b)
> @@ -79,7 +78,6 @@
>  #define vmaxavq(__a, __b) __arm_vmaxavq(__a, __b)
>  #define vmaxaq(__a, __b) __arm_vmaxaq(__a, __b)
>  #define vbrsrq(__a, __b) __arm_vbrsrq(__a, __b)
> -#define vrshrq(__a, __imm) __arm_vrshrq(__a, __imm)
>  #define vcmpltq(__a, __b) __arm_vcmpltq(__a, __b)
>  #define vcmpleq(__a, __b) __arm_vcmpleq(__a, __b)
>  #define vcmpgtq(__a, __b) __arm_vcmpgtq(__a, __b)
> @@ -221,8 +219,6 @@
>  #define vqrdmlashq_m(__a, __b, __c, __p) __arm_vqrdmlashq_m(__a, __b,
> __c, __p)
>  #define vqrdmlsdhq_m(__inactive, __a, __b, __p)
> __arm_vqrdmlsdhq_m(__inactive, __a, __b, __p)
>  #define vqrdmlsdhxq_m(__inactive, __a, __b, __p)
> __arm_vqrdmlsdhxq_m(__inactive, __a, __b, __p)
> -#define vrshrq_m(__inactive, __a, __imm, __p) __arm_vrshrq_m(__inactive,
> __a, __imm, __p)
> -#define vshrq_m(__inactive, __a, __imm, __p) __arm_vshrq_m(__inactive,
> __a, __imm, __p)
>  #define vsliq_m(__a, __b, __imm, __p) __arm_vsliq_m(__a, __b, __imm,
> __p)
>  #define vmlaldavaq_p(__a, __b, __c, __p) __arm_vmlaldavaq_p(__a, __b,
> __c, __p)
>  #define vmlaldavaxq_p(__a, __b, __c, __p) __arm_vmlaldavaxq_p(__a, __b,
> __c, __p)
> @@ -334,8 +330,6 @@
>  #define vrev64q_x(__a, __p) __arm_vrev64q_x(__a, __p)
>  #define vshllbq_x(__a, __imm, __p) __arm_vshllbq_x(__a, __imm, __p)
>  #define vshlltq_x(__a, __imm, __p) __arm_vshlltq_x(__a, __imm, __p)
> -#define vrshrq_x(__a, __imm, __p) __arm_vrshrq_x(__a, __imm, __p)
> -#define vshrq_x(__a, __imm, __p) __arm_vshrq_x(__a, __imm, __p)
>  #define vadciq(__a, __b, __carry_out) __arm_vadciq(__a, __b, __carry_out)
>  #define vadciq_m(__inactive, __a, __b, __carry_out, __p)
> __arm_vadciq_m(__inactive, __a, __b, __carry_out, __p)
>  #define vadcq(__a, __b, __carry) __arm_vadcq(__a, __b, __carry)
> @@ -565,12 +559,6 @@
>  #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 vshrq_n_s8(__a,  __imm) __arm_vshrq_n_s8(__a,  __imm)
> -#define vshrq_n_s16(__a,  __imm) __arm_vshrq_n_s16(__a,  __imm)
> -#define vshrq_n_s32(__a,  __imm) __arm_vshrq_n_s32(__a,  __imm)
> -#define vshrq_n_u8(__a,  __imm) __arm_vshrq_n_u8(__a,  __imm)
> -#define vshrq_n_u16(__a,  __imm) __arm_vshrq_n_u16(__a,  __imm)
> -#define vshrq_n_u32(__a,  __imm) __arm_vshrq_n_u32(__a,  __imm)
>  #define vaddlvq_p_s32(__a, __p) __arm_vaddlvq_p_s32(__a, __p)
>  #define vaddlvq_p_u32(__a, __p) __arm_vaddlvq_p_u32(__a, __p)
>  #define vcmpneq_s8(__a, __b) __arm_vcmpneq_s8(__a, __b)
> @@ -602,7 +590,6 @@
>  #define vmaxavq_s8(__a, __b) __arm_vmaxavq_s8(__a, __b)
>  #define vmaxaq_s8(__a, __b) __arm_vmaxaq_s8(__a, __b)
>  #define vbrsrq_n_u8(__a, __b) __arm_vbrsrq_n_u8(__a, __b)
> -#define vrshrq_n_u8(__a,  __imm) __arm_vrshrq_n_u8(__a,  __imm)
>  #define vcmpneq_n_s8(__a, __b) __arm_vcmpneq_n_s8(__a, __b)
>  #define vcmpltq_s8(__a, __b) __arm_vcmpltq_s8(__a, __b)
>  #define vcmpltq_n_s8(__a, __b) __arm_vcmpltq_n_s8(__a, __b)
> @@ -632,7 +619,6 @@
>  #define vbrsrq_n_s8(__a, __b) __arm_vbrsrq_n_s8(__a, __b)
>  #define vbicq_s8(__a, __b) __arm_vbicq_s8(__a, __b)
>  #define vaddvaq_s8(__a, __b) __arm_vaddvaq_s8(__a, __b)
> -#define vrshrq_n_s8(__a,  __imm) __arm_vrshrq_n_s8(__a,  __imm)
>  #define vornq_u16(__a, __b) __arm_vornq_u16(__a, __b)
>  #define vmulltq_int_u16(__a, __b) __arm_vmulltq_int_u16(__a, __b)
>  #define vmullbq_int_u16(__a, __b) __arm_vmullbq_int_u16(__a, __b)
> @@ -656,7 +642,6 @@
>  #define vmaxavq_s16(__a, __b) __arm_vmaxavq_s16(__a, __b)
>  #define vmaxaq_s16(__a, __b) __arm_vmaxaq_s16(__a, __b)
>  #define vbrsrq_n_u16(__a, __b) __arm_vbrsrq_n_u16(__a, __b)
> -#define vrshrq_n_u16(__a,  __imm) __arm_vrshrq_n_u16(__a,  __imm)
>  #define vcmpneq_n_s16(__a, __b) __arm_vcmpneq_n_s16(__a, __b)
>  #define vcmpltq_s16(__a, __b) __arm_vcmpltq_s16(__a, __b)
>  #define vcmpltq_n_s16(__a, __b) __arm_vcmpltq_n_s16(__a, __b)
> @@ -686,7 +671,6 @@
>  #define vbrsrq_n_s16(__a, __b) __arm_vbrsrq_n_s16(__a, __b)
>  #define vbicq_s16(__a, __b) __arm_vbicq_s16(__a, __b)
>  #define vaddvaq_s16(__a, __b) __arm_vaddvaq_s16(__a, __b)
> -#define vrshrq_n_s16(__a,  __imm) __arm_vrshrq_n_s16(__a,  __imm)
>  #define vornq_u32(__a, __b) __arm_vornq_u32(__a, __b)
>  #define vmulltq_int_u32(__a, __b) __arm_vmulltq_int_u32(__a, __b)
>  #define vmullbq_int_u32(__a, __b) __arm_vmullbq_int_u32(__a, __b)
> @@ -710,7 +694,6 @@
>  #define vmaxavq_s32(__a, __b) __arm_vmaxavq_s32(__a, __b)
>  #define vmaxaq_s32(__a, __b) __arm_vmaxaq_s32(__a, __b)
>  #define vbrsrq_n_u32(__a, __b) __arm_vbrsrq_n_u32(__a, __b)
> -#define vrshrq_n_u32(__a,  __imm) __arm_vrshrq_n_u32(__a,  __imm)
>  #define vcmpneq_n_s32(__a, __b) __arm_vcmpneq_n_s32(__a, __b)
>  #define vcmpltq_s32(__a, __b) __arm_vcmpltq_s32(__a, __b)
>  #define vcmpltq_n_s32(__a, __b) __arm_vcmpltq_n_s32(__a, __b)
> @@ -740,7 +723,6 @@
>  #define vbrsrq_n_s32(__a, __b) __arm_vbrsrq_n_s32(__a, __b)
>  #define vbicq_s32(__a, __b) __arm_vbicq_s32(__a, __b)
>  #define vaddvaq_s32(__a, __b) __arm_vaddvaq_s32(__a, __b)
> -#define vrshrq_n_s32(__a,  __imm) __arm_vrshrq_n_s32(__a,  __imm)
>  #define vqmovntq_u16(__a, __b) __arm_vqmovntq_u16(__a, __b)
>  #define vqmovnbq_u16(__a, __b) __arm_vqmovnbq_u16(__a, __b)
>  #define vmulltq_poly_p8(__a, __b) __arm_vmulltq_poly_p8(__a, __b)
> @@ -1410,18 +1392,6 @@
>  #define vqrdmlsdhxq_m_s8(__inactive, __a, __b, __p)
> __arm_vqrdmlsdhxq_m_s8(__inactive, __a, __b, __p)
>  #define vqrdmlsdhxq_m_s32(__inactive, __a, __b, __p)
> __arm_vqrdmlsdhxq_m_s32(__inactive, __a, __b, __p)
>  #define vqrdmlsdhxq_m_s16(__inactive, __a, __b, __p)
> __arm_vqrdmlsdhxq_m_s16(__inactive, __a, __b, __p)
> -#define vrshrq_m_n_s8(__inactive, __a,  __imm, __p)
> __arm_vrshrq_m_n_s8(__inactive, __a,  __imm, __p)
> -#define vrshrq_m_n_s32(__inactive, __a,  __imm, __p)
> __arm_vrshrq_m_n_s32(__inactive, __a,  __imm, __p)
> -#define vrshrq_m_n_s16(__inactive, __a,  __imm, __p)
> __arm_vrshrq_m_n_s16(__inactive, __a,  __imm, __p)
> -#define vrshrq_m_n_u8(__inactive, __a,  __imm, __p)
> __arm_vrshrq_m_n_u8(__inactive, __a,  __imm, __p)
> -#define vrshrq_m_n_u32(__inactive, __a,  __imm, __p)
> __arm_vrshrq_m_n_u32(__inactive, __a,  __imm, __p)
> -#define vrshrq_m_n_u16(__inactive, __a,  __imm, __p)
> __arm_vrshrq_m_n_u16(__inactive, __a,  __imm, __p)
> -#define vshrq_m_n_s8(__inactive, __a,  __imm, __p)
> __arm_vshrq_m_n_s8(__inactive, __a,  __imm, __p)
> -#define vshrq_m_n_s32(__inactive, __a,  __imm, __p)
> __arm_vshrq_m_n_s32(__inactive, __a,  __imm, __p)
> -#define vshrq_m_n_s16(__inactive, __a,  __imm, __p)
> __arm_vshrq_m_n_s16(__inactive, __a,  __imm, __p)
> -#define vshrq_m_n_u8(__inactive, __a,  __imm, __p)
> __arm_vshrq_m_n_u8(__inactive, __a,  __imm, __p)
> -#define vshrq_m_n_u32(__inactive, __a,  __imm, __p)
> __arm_vshrq_m_n_u32(__inactive, __a,  __imm, __p)
> -#define vshrq_m_n_u16(__inactive, __a,  __imm, __p)
> __arm_vshrq_m_n_u16(__inactive, __a,  __imm, __p)
>  #define vsliq_m_n_s8(__a, __b,  __imm, __p) __arm_vsliq_m_n_s8(__a, __b,
> __imm, __p)
>  #define vsliq_m_n_s32(__a, __b,  __imm, __p) __arm_vsliq_m_n_s32(__a,
> __b,  __imm, __p)
>  #define vsliq_m_n_s16(__a, __b,  __imm, __p) __arm_vsliq_m_n_s16(__a,
> __b,  __imm, __p)
> @@ -1914,18 +1884,6 @@
>  #define vshlltq_x_n_s16(__a,  __imm, __p) __arm_vshlltq_x_n_s16(__a,
> __imm, __p)
>  #define vshlltq_x_n_u8(__a,  __imm, __p) __arm_vshlltq_x_n_u8(__a,
> __imm, __p)
>  #define vshlltq_x_n_u16(__a,  __imm, __p) __arm_vshlltq_x_n_u16(__a,
> __imm, __p)
> -#define vrshrq_x_n_s8(__a,  __imm, __p) __arm_vrshrq_x_n_s8(__a,
> __imm, __p)
> -#define vrshrq_x_n_s16(__a,  __imm, __p) __arm_vrshrq_x_n_s16(__a,
> __imm, __p)
> -#define vrshrq_x_n_s32(__a,  __imm, __p) __arm_vrshrq_x_n_s32(__a,
> __imm, __p)
> -#define vrshrq_x_n_u8(__a,  __imm, __p) __arm_vrshrq_x_n_u8(__a,
> __imm, __p)
> -#define vrshrq_x_n_u16(__a,  __imm, __p) __arm_vrshrq_x_n_u16(__a,
> __imm, __p)
> -#define vrshrq_x_n_u32(__a,  __imm, __p) __arm_vrshrq_x_n_u32(__a,
> __imm, __p)
> -#define vshrq_x_n_s8(__a,  __imm, __p) __arm_vshrq_x_n_s8(__a,  __imm,
> __p)
> -#define vshrq_x_n_s16(__a,  __imm, __p) __arm_vshrq_x_n_s16(__a,
> __imm, __p)
> -#define vshrq_x_n_s32(__a,  __imm, __p) __arm_vshrq_x_n_s32(__a,
> __imm, __p)
> -#define vshrq_x_n_u8(__a,  __imm, __p) __arm_vshrq_x_n_u8(__a,  __imm,
> __p)
> -#define vshrq_x_n_u16(__a,  __imm, __p) __arm_vshrq_x_n_u16(__a,
> __imm, __p)
> -#define vshrq_x_n_u32(__a,  __imm, __p) __arm_vshrq_x_n_u32(__a,
> __imm, __p)
>  #define vdupq_x_n_f16(__a, __p) __arm_vdupq_x_n_f16(__a, __p)
>  #define vdupq_x_n_f32(__a, __p) __arm_vdupq_x_n_f32(__a, __p)
>  #define vminnmq_x_f16(__a, __b, __p) __arm_vminnmq_x_f16(__a, __b,
> __p)
> @@ -2659,47 +2617,6 @@ __arm_vpnot (mve_pred16_t __a)
>    return __builtin_mve_vpnotv16bi (__a);
>  }
> 
> -__extension__ extern __inline int8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_n_s8 (int8x16_t __a, const int __imm)
> -{
> -  return __builtin_mve_vshrq_n_sv16qi (__a, __imm);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_n_s16 (int16x8_t __a, const int __imm)
> -{
> -  return __builtin_mve_vshrq_n_sv8hi (__a, __imm);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_n_s32 (int32x4_t __a, const int __imm)
> -{
> -  return __builtin_mve_vshrq_n_sv4si (__a, __imm);
> -}
> -
> -__extension__ extern __inline uint8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_n_u8 (uint8x16_t __a, const int __imm)
> -{
> -  return __builtin_mve_vshrq_n_uv16qi (__a, __imm);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_n_u16 (uint16x8_t __a, const int __imm)
> -{
> -  return __builtin_mve_vshrq_n_uv8hi (__a, __imm);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_n_u32 (uint32x4_t __a, const int __imm)
> -{
> -  return __builtin_mve_vshrq_n_uv4si (__a, __imm);
> -}
>  __extension__ extern __inline int64_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vaddlvq_p_s32 (int32x4_t __a, mve_pred16_t __p)
> @@ -2919,13 +2836,6 @@ __arm_vbrsrq_n_u8 (uint8x16_t __a, int32_t __b)
>    return __builtin_mve_vbrsrq_n_uv16qi (__a, __b);
>  }
> 
> -__extension__ extern __inline uint8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_n_u8 (uint8x16_t __a, const int __imm)
> -{
> -  return __builtin_mve_vrshrq_n_uv16qi (__a, __imm);
> -}
> -
>  __extension__ extern __inline mve_pred16_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcmpneq_n_s8 (int8x16_t __a, int8_t __b)
> @@ -3129,13 +3039,6 @@ __arm_vaddvaq_s8 (int32_t __a, int8x16_t __b)
>    return __builtin_mve_vaddvaq_sv16qi (__a, __b);
>  }
> 
> -__extension__ extern __inline int8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_n_s8 (int8x16_t __a, const int __imm)
> -{
> -  return __builtin_mve_vrshrq_n_sv16qi (__a, __imm);
> -}
> -
>  __extension__ extern __inline uint16x8_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vornq_u16 (uint16x8_t __a, uint16x8_t __b)
> @@ -3299,13 +3202,6 @@ __arm_vbrsrq_n_u16 (uint16x8_t __a, int32_t
> __b)
>    return __builtin_mve_vbrsrq_n_uv8hi (__a, __b);
>  }
> 
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_n_u16 (uint16x8_t __a, const int __imm)
> -{
> -  return __builtin_mve_vrshrq_n_uv8hi (__a, __imm);
> -}
> -
>  __extension__ extern __inline mve_pred16_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcmpneq_n_s16 (int16x8_t __a, int16_t __b)
> @@ -3509,13 +3405,6 @@ __arm_vaddvaq_s16 (int32_t __a, int16x8_t __b)
>    return __builtin_mve_vaddvaq_sv8hi (__a, __b);
>  }
> 
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_n_s16 (int16x8_t __a, const int __imm)
> -{
> -  return __builtin_mve_vrshrq_n_sv8hi (__a, __imm);
> -}
> -
>  __extension__ extern __inline uint32x4_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vornq_u32 (uint32x4_t __a, uint32x4_t __b)
> @@ -3679,13 +3568,6 @@ __arm_vbrsrq_n_u32 (uint32x4_t __a, int32_t
> __b)
>    return __builtin_mve_vbrsrq_n_uv4si (__a, __b);
>  }
> 
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_n_u32 (uint32x4_t __a, const int __imm)
> -{
> -  return __builtin_mve_vrshrq_n_uv4si (__a, __imm);
> -}
> -
>  __extension__ extern __inline mve_pred16_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcmpneq_n_s32 (int32x4_t __a, int32_t __b)
> @@ -3889,13 +3771,6 @@ __arm_vaddvaq_s32 (int32_t __a, int32x4_t __b)
>    return __builtin_mve_vaddvaq_sv4si (__a, __b);
>  }
> 
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_n_s32 (int32x4_t __a, const int __imm)
> -{
> -  return __builtin_mve_vrshrq_n_sv4si (__a, __imm);
> -}
> -
>  __extension__ extern __inline uint8x16_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vqmovntq_u16 (uint8x16_t __a, uint16x8_t __b)
> @@ -7437,90 +7312,6 @@ __arm_vqrdmlsdhxq_m_s16 (int16x8_t __inactive,
> int16x8_t __a, int16x8_t __b, mve
>    return __builtin_mve_vqrdmlsdhxq_m_sv8hi (__inactive, __a, __b, __p);
>  }
> 
> -__extension__ extern __inline int8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_m_n_s8 (int8x16_t __inactive, int8x16_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> -  return __builtin_mve_vrshrq_m_n_sv16qi (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_m_n_s32 (int32x4_t __inactive, int32x4_t __a, const int
> __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vrshrq_m_n_sv4si (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_m_n_s16 (int16x8_t __inactive, int16x8_t __a, const int
> __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vrshrq_m_n_sv8hi (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_m_n_u8 (uint8x16_t __inactive, uint8x16_t __a, const int
> __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vrshrq_m_n_uv16qi (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_m_n_u32 (uint32x4_t __inactive, uint32x4_t __a, const int
> __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vrshrq_m_n_uv4si (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_m_n_u16 (uint16x8_t __inactive, uint16x8_t __a, const int
> __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vrshrq_m_n_uv8hi (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_m_n_s8 (int8x16_t __inactive, int8x16_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> -  return __builtin_mve_vshrq_m_n_sv16qi (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_m_n_s32 (int32x4_t __inactive, int32x4_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> -  return __builtin_mve_vshrq_m_n_sv4si (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_m_n_s16 (int16x8_t __inactive, int16x8_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> -  return __builtin_mve_vshrq_m_n_sv8hi (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_m_n_u8 (uint8x16_t __inactive, uint8x16_t __a, const int
> __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vshrq_m_n_uv16qi (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_m_n_u32 (uint32x4_t __inactive, uint32x4_t __a, const int
> __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vshrq_m_n_uv4si (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_m_n_u16 (uint16x8_t __inactive, uint16x8_t __a, const int
> __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vshrq_m_n_uv8hi (__inactive, __a, __imm, __p);
> -}
> -
>  __extension__ extern __inline int8x16_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vsliq_m_n_s8 (int8x16_t __a, int8x16_t __b, const int __imm,
> mve_pred16_t __p)
> @@ -10496,90 +10287,6 @@ __arm_vshlltq_x_n_u16 (uint16x8_t __a, const
> int __imm, mve_pred16_t __p)
>    return __builtin_mve_vshlltq_m_n_uv8hi (__arm_vuninitializedq_u32 (),
> __a, __imm, __p);
>  }
> 
> -__extension__ extern __inline int8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_x_n_s8 (int8x16_t __a, const int __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vrshrq_m_n_sv16qi (__arm_vuninitializedq_s8 (),
> __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_x_n_s16 (int16x8_t __a, const int __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vrshrq_m_n_sv8hi (__arm_vuninitializedq_s16 (),
> __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_x_n_s32 (int32x4_t __a, const int __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vrshrq_m_n_sv4si (__arm_vuninitializedq_s32 (), __a,
> __imm, __p);
> -}
> -
> -__extension__ extern __inline uint8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_x_n_u8 (uint8x16_t __a, const int __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vrshrq_m_n_uv16qi (__arm_vuninitializedq_u8 (),
> __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_x_n_u16 (uint16x8_t __a, const int __imm, mve_pred16_t
> __p)
> -{
> -  return __builtin_mve_vrshrq_m_n_uv8hi (__arm_vuninitializedq_u16 (),
> __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_x_n_u32 (uint32x4_t __a, const int __imm, mve_pred16_t
> __p)
> -{
> -  return __builtin_mve_vrshrq_m_n_uv4si (__arm_vuninitializedq_u32 (),
> __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_x_n_s8 (int8x16_t __a, const int __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vshrq_m_n_sv16qi (__arm_vuninitializedq_s8 (), __a,
> __imm, __p);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_x_n_s16 (int16x8_t __a, const int __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vshrq_m_n_sv8hi (__arm_vuninitializedq_s16 (), __a,
> __imm, __p);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_x_n_s32 (int32x4_t __a, const int __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vshrq_m_n_sv4si (__arm_vuninitializedq_s32 (), __a,
> __imm, __p);
> -}
> -
> -__extension__ extern __inline uint8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_x_n_u8 (uint8x16_t __a, const int __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vshrq_m_n_uv16qi (__arm_vuninitializedq_u8 (),
> __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_x_n_u16 (uint16x8_t __a, const int __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vshrq_m_n_uv8hi (__arm_vuninitializedq_u16 (),
> __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_x_n_u32 (uint32x4_t __a, const int __imm, mve_pred16_t __p)
> -{
> -  return __builtin_mve_vshrq_m_n_uv4si (__arm_vuninitializedq_u32 (), __a,
> __imm, __p);
> -}
> -
>  __extension__ extern __inline int32x4_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vadciq_s32 (int32x4_t __a, int32x4_t __b, unsigned * __carry_out)
> @@ -14533,48 +14240,6 @@ __arm_vaddlvq (uint32x4_t __a)
>   return __arm_vaddlvq_u32 (__a);
>  }
> 
> -__extension__ extern __inline int8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq (int8x16_t __a, const int __imm)
> -{
> - return __arm_vshrq_n_s8 (__a, __imm);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq (int16x8_t __a, const int __imm)
> -{
> - return __arm_vshrq_n_s16 (__a, __imm);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq (int32x4_t __a, const int __imm)
> -{
> - return __arm_vshrq_n_s32 (__a, __imm);
> -}
> -
> -__extension__ extern __inline uint8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq (uint8x16_t __a, const int __imm)
> -{
> - return __arm_vshrq_n_u8 (__a, __imm);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq (uint16x8_t __a, const int __imm)
> -{
> - return __arm_vshrq_n_u16 (__a, __imm);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq (uint32x4_t __a, const int __imm)
> -{
> - return __arm_vshrq_n_u32 (__a, __imm);
> -}
> -
>  __extension__ extern __inline int64_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vaddlvq_p (int32x4_t __a, mve_pred16_t __p)
> @@ -14792,13 +14457,6 @@ __arm_vbrsrq (uint8x16_t __a, int32_t __b)
>   return __arm_vbrsrq_n_u8 (__a, __b);
>  }
> 
> -__extension__ extern __inline uint8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq (uint8x16_t __a, const int __imm)
> -{
> - return __arm_vrshrq_n_u8 (__a, __imm);
> -}
> -
>  __extension__ extern __inline mve_pred16_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcmpneq (int8x16_t __a, int8_t __b)
> @@ -15002,13 +14660,6 @@ __arm_vaddvaq (int32_t __a, int8x16_t __b)
>   return __arm_vaddvaq_s8 (__a, __b);
>  }
> 
> -__extension__ extern __inline int8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq (int8x16_t __a, const int __imm)
> -{
> - return __arm_vrshrq_n_s8 (__a, __imm);
> -}
> -
>  __extension__ extern __inline uint16x8_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vornq (uint16x8_t __a, uint16x8_t __b)
> @@ -15170,13 +14821,6 @@ __arm_vbrsrq (uint16x8_t __a, int32_t __b)
>   return __arm_vbrsrq_n_u16 (__a, __b);
>  }
> 
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq (uint16x8_t __a, const int __imm)
> -{
> - return __arm_vrshrq_n_u16 (__a, __imm);
> -}
> -
>  __extension__ extern __inline mve_pred16_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcmpneq (int16x8_t __a, int16_t __b)
> @@ -15380,13 +15024,6 @@ __arm_vaddvaq (int32_t __a, int16x8_t __b)
>   return __arm_vaddvaq_s16 (__a, __b);
>  }
> 
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq (int16x8_t __a, const int __imm)
> -{
> - return __arm_vrshrq_n_s16 (__a, __imm);
> -}
> -
>  __extension__ extern __inline uint32x4_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vornq (uint32x4_t __a, uint32x4_t __b)
> @@ -15548,13 +15185,6 @@ __arm_vbrsrq (uint32x4_t __a, int32_t __b)
>   return __arm_vbrsrq_n_u32 (__a, __b);
>  }
> 
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq (uint32x4_t __a, const int __imm)
> -{
> - return __arm_vrshrq_n_u32 (__a, __imm);
> -}
> -
>  __extension__ extern __inline mve_pred16_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vcmpneq (int32x4_t __a, int32_t __b)
> @@ -15758,13 +15388,6 @@ __arm_vaddvaq (int32_t __a, int32x4_t __b)
>   return __arm_vaddvaq_s32 (__a, __b);
>  }
> 
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq (int32x4_t __a, const int __imm)
> -{
> - return __arm_vrshrq_n_s32 (__a, __imm);
> -}
> -
>  __extension__ extern __inline uint8x16_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vqmovntq (uint8x16_t __a, uint16x8_t __b)
> @@ -19265,90 +18888,6 @@ __arm_vqrdmlsdhxq_m (int16x8_t __inactive,
> int16x8_t __a, int16x8_t __b, mve_pre
>   return __arm_vqrdmlsdhxq_m_s16 (__inactive, __a, __b, __p);
>  }
> 
> -__extension__ extern __inline int8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_m (int8x16_t __inactive, int8x16_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> - return __arm_vrshrq_m_n_s8 (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_m (int32x4_t __inactive, int32x4_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> - return __arm_vrshrq_m_n_s32 (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_m (int16x8_t __inactive, int16x8_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> - return __arm_vrshrq_m_n_s16 (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_m (uint8x16_t __inactive, uint8x16_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> - return __arm_vrshrq_m_n_u8 (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_m (uint32x4_t __inactive, uint32x4_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> - return __arm_vrshrq_m_n_u32 (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_m (uint16x8_t __inactive, uint16x8_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> - return __arm_vrshrq_m_n_u16 (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_m (int8x16_t __inactive, int8x16_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> - return __arm_vshrq_m_n_s8 (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_m (int32x4_t __inactive, int32x4_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> - return __arm_vshrq_m_n_s32 (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_m (int16x8_t __inactive, int16x8_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> - return __arm_vshrq_m_n_s16 (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_m (uint8x16_t __inactive, uint8x16_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> - return __arm_vshrq_m_n_u8 (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_m (uint32x4_t __inactive, uint32x4_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> - return __arm_vshrq_m_n_u32 (__inactive, __a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_m (uint16x8_t __inactive, uint16x8_t __a, const int __imm,
> mve_pred16_t __p)
> -{
> - return __arm_vshrq_m_n_u16 (__inactive, __a, __imm, __p);
> -}
> -
>  __extension__ extern __inline int8x16_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vsliq_m (int8x16_t __a, int8x16_t __b, const int __imm,
> mve_pred16_t __p)
> @@ -21827,90 +21366,6 @@ __arm_vshlltq_x (uint16x8_t __a, const int
> __imm, mve_pred16_t __p)
>   return __arm_vshlltq_x_n_u16 (__a, __imm, __p);
>  }
> 
> -__extension__ extern __inline int8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_x (int8x16_t __a, const int __imm, mve_pred16_t __p)
> -{
> - return __arm_vrshrq_x_n_s8 (__a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_x (int16x8_t __a, const int __imm, mve_pred16_t __p)
> -{
> - return __arm_vrshrq_x_n_s16 (__a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_x (int32x4_t __a, const int __imm, mve_pred16_t __p)
> -{
> - return __arm_vrshrq_x_n_s32 (__a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_x (uint8x16_t __a, const int __imm, mve_pred16_t __p)
> -{
> - return __arm_vrshrq_x_n_u8 (__a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_x (uint16x8_t __a, const int __imm, mve_pred16_t __p)
> -{
> - return __arm_vrshrq_x_n_u16 (__a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vrshrq_x (uint32x4_t __a, const int __imm, mve_pred16_t __p)
> -{
> - return __arm_vrshrq_x_n_u32 (__a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_x (int8x16_t __a, const int __imm, mve_pred16_t __p)
> -{
> - return __arm_vshrq_x_n_s8 (__a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_x (int16x8_t __a, const int __imm, mve_pred16_t __p)
> -{
> - return __arm_vshrq_x_n_s16 (__a, __imm, __p);
> -}
> -
> -__extension__ extern __inline int32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_x (int32x4_t __a, const int __imm, mve_pred16_t __p)
> -{
> - return __arm_vshrq_x_n_s32 (__a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint8x16_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_x (uint8x16_t __a, const int __imm, mve_pred16_t __p)
> -{
> - return __arm_vshrq_x_n_u8 (__a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint16x8_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_x (uint16x8_t __a, const int __imm, mve_pred16_t __p)
> -{
> - return __arm_vshrq_x_n_u16 (__a, __imm, __p);
> -}
> -
> -__extension__ extern __inline uint32x4_t
> -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
> -__arm_vshrq_x (uint32x4_t __a, const int __imm, mve_pred16_t __p)
> -{
> - return __arm_vshrq_x_n_u32 (__a, __imm, __p);
> -}
> -
>  __extension__ extern __inline int32x4_t
>  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
>  __arm_vadciq (int32x4_t __a, int32x4_t __b, unsigned * __carry_out)
> @@ -25121,15 +24576,6 @@ extern void *__ARM_undef;
>    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_vshrq(p0,p1) ({ __typeof(p0) __p0 = (p0); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
> -  int (*)[__ARM_mve_type_int8x16_t]: __arm_vshrq_n_s8
> (__ARM_mve_coerce(__p0, int8x16_t), p1), \
> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vshrq_n_s16
> (__ARM_mve_coerce(__p0, int16x8_t), p1), \
> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vshrq_n_s32
> (__ARM_mve_coerce(__p0, int32x4_t), p1), \
> -  int (*)[__ARM_mve_type_uint8x16_t]: __arm_vshrq_n_u8
> (__ARM_mve_coerce(__p0, uint8x16_t), p1), \
> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vshrq_n_u16
> (__ARM_mve_coerce(__p0, uint16x8_t), p1), \
> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vshrq_n_u32
> (__ARM_mve_coerce(__p0, uint32x4_t), p1));})
> -
>  #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), \
> @@ -25394,24 +24840,6 @@ extern void *__ARM_undef;
>    int (*)[__ARM_mve_type_uint8x16_t]: __arm_vshllbq_n_u8
> (__ARM_mve_coerce(__p0, uint8x16_t), p1), \
>    int (*)[__ARM_mve_type_uint16x8_t]: __arm_vshllbq_n_u16
> (__ARM_mve_coerce(__p0, uint16x8_t), p1));})
> 
> -#define __arm_vrshrq(p0,p1) ({ __typeof(p0) __p0 = (p0); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
> -  int (*)[__ARM_mve_type_int8x16_t]: __arm_vrshrq_n_s8
> (__ARM_mve_coerce(__p0, int8x16_t), p1), \
> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vrshrq_n_s16
> (__ARM_mve_coerce(__p0, int16x8_t), p1), \
> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vrshrq_n_s32
> (__ARM_mve_coerce(__p0, int32x4_t), p1), \
> -  int (*)[__ARM_mve_type_uint8x16_t]: __arm_vrshrq_n_u8
> (__ARM_mve_coerce(__p0, uint8x16_t), p1), \
> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vrshrq_n_u16
> (__ARM_mve_coerce(__p0, uint16x8_t), p1), \
> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vrshrq_n_u32
> (__ARM_mve_coerce(__p0, uint32x4_t), p1));})
> -
> -#define __arm_vrshrq(p0,p1) ({ __typeof(p0) __p0 = (p0); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
> -  int (*)[__ARM_mve_type_int8x16_t]: __arm_vrshrq_n_s8
> (__ARM_mve_coerce(__p0, int8x16_t), p1), \
> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vrshrq_n_s16
> (__ARM_mve_coerce(__p0, int16x8_t), p1), \
> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vrshrq_n_s32
> (__ARM_mve_coerce(__p0, int32x4_t), p1), \
> -  int (*)[__ARM_mve_type_uint8x16_t]: __arm_vrshrq_n_u8
> (__ARM_mve_coerce(__p0, uint8x16_t), p1), \
> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vrshrq_n_u16
> (__ARM_mve_coerce(__p0, uint16x8_t), p1), \
> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vrshrq_n_u32
> (__ARM_mve_coerce(__p0, uint32x4_t), p1));})
> -
>  #define __arm_vqshluq(p0,p1) ({ __typeof(p0) __p0 = (p0); \
>    _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
>    int (*)[__ARM_mve_type_int8x16_t]: __arm_vqshluq_n_s8
> (__ARM_mve_coerce(__p0, int8x16_t), p1), \
> @@ -26935,15 +26363,6 @@ extern void *__ARM_undef;
>    int (*)[__ARM_mve_type_int16x8_t]: __arm_vqnegq_s16
> (__ARM_mve_coerce(__p0, int16x8_t)), \
>    int (*)[__ARM_mve_type_int32x4_t]: __arm_vqnegq_s32
> (__ARM_mve_coerce(__p0, int32x4_t)));})
> 
> -#define __arm_vshrq(p0,p1) ({ __typeof(p0) __p0 = (p0); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
> -  int (*)[__ARM_mve_type_int8x16_t]: __arm_vshrq_n_s8
> (__ARM_mve_coerce(__p0, int8x16_t), p1), \
> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vshrq_n_s16
> (__ARM_mve_coerce(__p0, int16x8_t), p1), \
> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vshrq_n_s32
> (__ARM_mve_coerce(__p0, int32x4_t), p1), \
> -  int (*)[__ARM_mve_type_uint8x16_t]: __arm_vshrq_n_u8
> (__ARM_mve_coerce(__p0, uint8x16_t), p1), \
> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vshrq_n_u16
> (__ARM_mve_coerce(__p0, uint16x8_t), p1), \
> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vshrq_n_u32
> (__ARM_mve_coerce(__p0, uint32x4_t), p1));})
> -
>  #define __arm_vcmpneq(p0,p1) ({ __typeof(p0) __p0 = (p0); \
>    __typeof(p1) __p1 = (p1); \
>    _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0,
> \
> @@ -26966,15 +26385,6 @@ extern void *__ARM_undef;
>    int (*)[__ARM_mve_type_int16x8_t]: __arm_vqshluq_n_s16
> (__ARM_mve_coerce(__p0, int16x8_t), p1), \
>    int (*)[__ARM_mve_type_int32x4_t]: __arm_vqshluq_n_s32
> (__ARM_mve_coerce(__p0, int32x4_t), p1));})
> 
> -#define __arm_vrshrq(p0,p1) ({ __typeof(p0) __p0 = (p0); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \
> -  int (*)[__ARM_mve_type_int8x16_t]: __arm_vrshrq_n_s8
> (__ARM_mve_coerce(__p0, int8x16_t), p1), \
> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vrshrq_n_s16
> (__ARM_mve_coerce(__p0, int16x8_t), p1), \
> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vrshrq_n_s32
> (__ARM_mve_coerce(__p0, int32x4_t), p1), \
> -  int (*)[__ARM_mve_type_uint8x16_t]: __arm_vrshrq_n_u8
> (__ARM_mve_coerce(__p0, uint8x16_t), p1), \
> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vrshrq_n_u16
> (__ARM_mve_coerce(__p0, uint16x8_t), p1), \
> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vrshrq_n_u32
> (__ARM_mve_coerce(__p0, uint32x4_t), p1));})
> -
>  #define __arm_vornq(p0,p1) ({ __typeof(p0) __p0 = (p0); \
>    __typeof(p1) __p1 = (p1); \
>    _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0,
> \
> @@ -28128,15 +27538,6 @@ extern void *__ARM_undef;
>    int (*)[__ARM_mve_type_int8x16_t]: __arm_vrev16q_x_s8
> (__ARM_mve_coerce(__p1, int8x16_t), p2), \
>    int (*)[__ARM_mve_type_uint8x16_t]: __arm_vrev16q_x_u8
> (__ARM_mve_coerce(__p1, uint8x16_t), p2));})
> 
> -#define __arm_vrshrq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \
> -  int (*)[__ARM_mve_type_int8x16_t]: __arm_vrshrq_x_n_s8
> (__ARM_mve_coerce(__p1, int8x16_t), p2, p3), \
> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vrshrq_x_n_s16
> (__ARM_mve_coerce(__p1, int16x8_t), p2, p3), \
> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vrshrq_x_n_s32
> (__ARM_mve_coerce(__p1, int32x4_t), p2, p3), \
> -  int (*)[__ARM_mve_type_uint8x16_t]: __arm_vrshrq_x_n_u8
> (__ARM_mve_coerce(__p1, uint8x16_t), p2, p3), \
> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vrshrq_x_n_u16
> (__ARM_mve_coerce(__p1, uint16x8_t), p2, p3), \
> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vrshrq_x_n_u32
> (__ARM_mve_coerce(__p1, uint32x4_t), p2, p3));})
> -
>  #define __arm_vshllbq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \
>    _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \
>    int (*)[__ARM_mve_type_int8x16_t]: __arm_vshllbq_x_n_s8
> (__ARM_mve_coerce(__p1, int8x16_t), p2, p3), \
> @@ -28211,15 +27612,6 @@ extern void *__ARM_undef;
>    int (*)[__ARM_mve_type_int_n]: __arm_vddupq_x_n_u32 ((uint32_t) __p1,
> p2, p3), \
>    int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vddupq_x_wb_u32
> (__ARM_mve_coerce(__p1, uint32_t *), p2, p3));})
> 
> -#define __arm_vshrq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \
> -  _Generic( (int (*)[__ARM_mve_typeid(__p1)])0, \
> -  int (*)[__ARM_mve_type_int8x16_t]: __arm_vshrq_x_n_s8
> (__ARM_mve_coerce(__p1, int8x16_t), p2, p3), \
> -  int (*)[__ARM_mve_type_int16x8_t]: __arm_vshrq_x_n_s16
> (__ARM_mve_coerce(__p1, int16x8_t), p2, p3), \
> -  int (*)[__ARM_mve_type_int32x4_t]: __arm_vshrq_x_n_s32
> (__ARM_mve_coerce(__p1, int32x4_t), p2, p3), \
> -  int (*)[__ARM_mve_type_uint8x16_t]: __arm_vshrq_x_n_u8
> (__ARM_mve_coerce(__p1, uint8x16_t), p2, p3), \
> -  int (*)[__ARM_mve_type_uint16x8_t]: __arm_vshrq_x_n_u16
> (__ARM_mve_coerce(__p1, uint16x8_t), p2, p3), \
> -  int (*)[__ARM_mve_type_uint32x4_t]: __arm_vshrq_x_n_u32
> (__ARM_mve_coerce(__p1, uint32x4_t), p2, p3));})
> -
>  #define __arm_vhcaddq_rot270_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \
>    __typeof(p2) __p2 = (p2); \
>    _Generic( (int (*)[__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0,
> \
> @@ -28366,26 +27758,6 @@ extern void *__ARM_undef;
>    int
> (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t][__ARM_mve
> _type_int_n]: __arm_vqdmlashq_m_n_s16 (__ARM_mve_coerce(__p0,
> int16x8_t), __ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2,
> int), p3), \
>    int
> (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t][__ARM_mve
> _type_int_n]: __arm_vqdmlashq_m_n_s32 (__ARM_mve_coerce(__p0,
> int32x4_t), __ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2,
> int), p3));})
> 
> -#define __arm_vrshrq_m(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_int8x16_t][__ARM_mve_type_int8x16_t]:
> __arm_vrshrq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t),
> __ARM_mve_coerce(__p1, int8x16_t),  p2, p3), \
> -  int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]:
> __arm_vrshrq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t),
> __ARM_mve_coerce(__p1, int16x8_t),  p2, p3), \
> -  int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]:
> __arm_vrshrq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t),
> __ARM_mve_coerce(__p1, int32x4_t),  p2, p3), \
> -  int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]:
> __arm_vrshrq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t),
> __ARM_mve_coerce(__p1, uint8x16_t),  p2, p3), \
> -  int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]:
> __arm_vrshrq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t),
> __ARM_mve_coerce(__p1, uint16x8_t),  p2, p3), \
> -  int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]:
> __arm_vrshrq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t),
> __ARM_mve_coerce(__p1, uint32x4_t),  p2, p3));})
> -
> -#define __arm_vshrq_m(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_int8x16_t][__ARM_mve_type_int8x16_t]:
> __arm_vshrq_m_n_s8 (__ARM_mve_coerce(__p0, int8x16_t),
> __ARM_mve_coerce(__p1, int8x16_t),  p2, p3), \
> -  int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]:
> __arm_vshrq_m_n_s16 (__ARM_mve_coerce(__p0, int16x8_t),
> __ARM_mve_coerce(__p1, int16x8_t),  p2, p3), \
> -  int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]:
> __arm_vshrq_m_n_s32 (__ARM_mve_coerce(__p0, int32x4_t),
> __ARM_mve_coerce(__p1, int32x4_t),  p2, p3), \
> -  int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]:
> __arm_vshrq_m_n_u8 (__ARM_mve_coerce(__p0, uint8x16_t),
> __ARM_mve_coerce(__p1, uint8x16_t),  p2, p3), \
> -  int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]:
> __arm_vshrq_m_n_u16 (__ARM_mve_coerce(__p0, uint16x8_t),
> __ARM_mve_coerce(__p1, uint16x8_t),  p2, p3), \
> -  int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]:
> __arm_vshrq_m_n_u32 (__ARM_mve_coerce(__p0, uint32x4_t),
> __ARM_mve_coerce(__p1, uint32x4_t),  p2, p3));})
> -
>  #define __arm_vsliq_m(p0,p1,p2,p3) ({ __typeof(p0) __p0 = (p0); \
>    __typeof(p1) __p1 = (p1); \
>    _Generic( (int (*)[__ARM_mve_typeid(__p0)][__ARM_mve_typeid(__p1)])0,
> \
> --
> 2.34.1



More information about the Gcc-patches mailing list