> -----Original Message----- > From: Christophe Lyon <christophe.l...@arm.com> > Sent: Friday, May 5, 2023 9:40 AM > To: gcc-patches@gcc.gnu.org; Kyrylo Tkachov <kyrylo.tkac...@arm.com>; > Richard Earnshaw <richard.earns...@arm.com>; Richard Sandiford > <richard.sandif...@arm.com> > Cc: Christophe Lyon <christophe.l...@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.l...@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
RE: [PATCH 23/23] arm: [MVE intrinsics] rework vshrq vrshrq
Kyrylo Tkachov via Gcc-patches Fri, 05 May 2023 04:07:31 -0700
- RE: [PATCH 15/23] arm: [MVE intrinsic... Kyrylo Tkachov via Gcc-patches
- [PATCH 20/23] arm: [MVE intrinsics] rework... Christophe Lyon via Gcc-patches
- RE: [PATCH 20/23] arm: [MVE intrinsic... Kyrylo Tkachov via Gcc-patches
- [PATCH 16/23] arm: [MVE intrinsics] factor... Christophe Lyon via Gcc-patches
- RE: [PATCH 16/23] arm: [MVE intrinsic... Kyrylo Tkachov via Gcc-patches
- [PATCH 17/23] arm: [MVE intrinsics] rework... Christophe Lyon via Gcc-patches
- RE: [PATCH 17/23] arm: [MVE intrinsic... Kyrylo Tkachov via Gcc-patches
- [PATCH 12/23] arm: [MVE intrinsics] rework... Christophe Lyon via Gcc-patches
- RE: [PATCH 12/23] arm: [MVE intrinsic... Kyrylo Tkachov via Gcc-patches
- [PATCH 23/23] arm: [MVE intrinsics] rework... Christophe Lyon via Gcc-patches
- RE: [PATCH 23/23] arm: [MVE intrinsic... Kyrylo Tkachov via Gcc-patches
- RE: [PATCH 01/23] arm: [MVE intrinsics] ad... Kyrylo Tkachov via Gcc-patches