-
- Downloads
arm: [MVE intrinsics] rework vhaddq vhsubq vmulhq vqaddq vqsubq vqdmulhq vrhaddq vrmulhq
Implement vhaddq, vhsubq, vmulhq, vqaddq, vqsubq, vqdmulhq, vrhaddq, vrmulhq using the new MVE builtins framework. 2022-09-08 Christophe Lyon <christophe.lyon@arm.com> gcc/ * config/arm/arm-mve-builtins-base.cc (FUNCTION_WITH_M_N_NO_F) (FUNCTION_WITHOUT_N_NO_F, FUNCTION_WITH_M_N_NO_U_F): New. (vhaddq, vhsubq, vmulhq, vqaddq, vqsubq, vqdmulhq, vrhaddq) (vrmulhq): New. * config/arm/arm-mve-builtins-base.def (vhaddq, vhsubq, vmulhq) (vqaddq, vqsubq, vqdmulhq, vrhaddq, vrmulhq): New. * config/arm/arm-mve-builtins-base.h (vhaddq, vhsubq, vmulhq) (vqaddq, vqsubq, vqdmulhq, vrhaddq, vrmulhq): New. * config/arm/arm_mve.h (vhsubq): Remove. (vhaddq): Remove. (vhaddq_m): Remove. (vhsubq_m): Remove. (vhaddq_x): Remove. (vhsubq_x): Remove. (vhsubq_u8): Remove. (vhsubq_n_u8): Remove. (vhaddq_u8): Remove. (vhaddq_n_u8): Remove. (vhsubq_s8): Remove. (vhsubq_n_s8): Remove. (vhaddq_s8): Remove. (vhaddq_n_s8): Remove. (vhsubq_u16): Remove. (vhsubq_n_u16): Remove. (vhaddq_u16): Remove. (vhaddq_n_u16): Remove. (vhsubq_s16): Remove. (vhsubq_n_s16): Remove. (vhaddq_s16): Remove. (vhaddq_n_s16): Remove. (vhsubq_u32): Remove. (vhsubq_n_u32): Remove. (vhaddq_u32): Remove. (vhaddq_n_u32): Remove. (vhsubq_s32): Remove. (vhsubq_n_s32): Remove. (vhaddq_s32): Remove. (vhaddq_n_s32): Remove. (vhaddq_m_n_s8): Remove. (vhaddq_m_n_s32): Remove. (vhaddq_m_n_s16): Remove. (vhaddq_m_n_u8): Remove. (vhaddq_m_n_u32): Remove. (vhaddq_m_n_u16): Remove. (vhaddq_m_s8): Remove. (vhaddq_m_s32): Remove. (vhaddq_m_s16): Remove. (vhaddq_m_u8): Remove. (vhaddq_m_u32): Remove. (vhaddq_m_u16): Remove. (vhsubq_m_n_s8): Remove. (vhsubq_m_n_s32): Remove. (vhsubq_m_n_s16): Remove. (vhsubq_m_n_u8): Remove. (vhsubq_m_n_u32): Remove. (vhsubq_m_n_u16): Remove. (vhsubq_m_s8): Remove. (vhsubq_m_s32): Remove. (vhsubq_m_s16): Remove. (vhsubq_m_u8): Remove. (vhsubq_m_u32): Remove. (vhsubq_m_u16): Remove. (vhaddq_x_n_s8): Remove. (vhaddq_x_n_s16): Remove. (vhaddq_x_n_s32): Remove. (vhaddq_x_n_u8): Remove. (vhaddq_x_n_u16): Remove. (vhaddq_x_n_u32): Remove. (vhaddq_x_s8): Remove. (vhaddq_x_s16): Remove. (vhaddq_x_s32): Remove. (vhaddq_x_u8): Remove. (vhaddq_x_u16): Remove. (vhaddq_x_u32): Remove. (vhsubq_x_n_s8): Remove. (vhsubq_x_n_s16): Remove. (vhsubq_x_n_s32): Remove. (vhsubq_x_n_u8): Remove. (vhsubq_x_n_u16): Remove. (vhsubq_x_n_u32): Remove. (vhsubq_x_s8): Remove. (vhsubq_x_s16): Remove. (vhsubq_x_s32): Remove. (vhsubq_x_u8): Remove. (vhsubq_x_u16): Remove. (vhsubq_x_u32): Remove. (__arm_vhsubq_u8): Remove. (__arm_vhsubq_n_u8): Remove. (__arm_vhaddq_u8): Remove. (__arm_vhaddq_n_u8): Remove. (__arm_vhsubq_s8): Remove. (__arm_vhsubq_n_s8): Remove. (__arm_vhaddq_s8): Remove. (__arm_vhaddq_n_s8): Remove. (__arm_vhsubq_u16): Remove. (__arm_vhsubq_n_u16): Remove. (__arm_vhaddq_u16): Remove. (__arm_vhaddq_n_u16): Remove. (__arm_vhsubq_s16): Remove. (__arm_vhsubq_n_s16): Remove. (__arm_vhaddq_s16): Remove. (__arm_vhaddq_n_s16): Remove. (__arm_vhsubq_u32): Remove. (__arm_vhsubq_n_u32): Remove. (__arm_vhaddq_u32): Remove. (__arm_vhaddq_n_u32): Remove. (__arm_vhsubq_s32): Remove. (__arm_vhsubq_n_s32): Remove. (__arm_vhaddq_s32): Remove. (__arm_vhaddq_n_s32): Remove. (__arm_vhaddq_m_n_s8): Remove. (__arm_vhaddq_m_n_s32): Remove. (__arm_vhaddq_m_n_s16): Remove. (__arm_vhaddq_m_n_u8): Remove. (__arm_vhaddq_m_n_u32): Remove. (__arm_vhaddq_m_n_u16): Remove. (__arm_vhaddq_m_s8): Remove. (__arm_vhaddq_m_s32): Remove. (__arm_vhaddq_m_s16): Remove. (__arm_vhaddq_m_u8): Remove. (__arm_vhaddq_m_u32): Remove. (__arm_vhaddq_m_u16): Remove. (__arm_vhsubq_m_n_s8): Remove. (__arm_vhsubq_m_n_s32): Remove. (__arm_vhsubq_m_n_s16): Remove. (__arm_vhsubq_m_n_u8): Remove. (__arm_vhsubq_m_n_u32): Remove. (__arm_vhsubq_m_n_u16): Remove. (__arm_vhsubq_m_s8): Remove. (__arm_vhsubq_m_s32): Remove. (__arm_vhsubq_m_s16): Remove. (__arm_vhsubq_m_u8): Remove. (__arm_vhsubq_m_u32): Remove. (__arm_vhsubq_m_u16): Remove. (__arm_vhaddq_x_n_s8): Remove. (__arm_vhaddq_x_n_s16): Remove. (__arm_vhaddq_x_n_s32): Remove. (__arm_vhaddq_x_n_u8): Remove. (__arm_vhaddq_x_n_u16): Remove. (__arm_vhaddq_x_n_u32): Remove. (__arm_vhaddq_x_s8): Remove. (__arm_vhaddq_x_s16): Remove. (__arm_vhaddq_x_s32): Remove. (__arm_vhaddq_x_u8): Remove. (__arm_vhaddq_x_u16): Remove. (__arm_vhaddq_x_u32): Remove. (__arm_vhsubq_x_n_s8): Remove. (__arm_vhsubq_x_n_s16): Remove. (__arm_vhsubq_x_n_s32): Remove. (__arm_vhsubq_x_n_u8): Remove. (__arm_vhsubq_x_n_u16): Remove. (__arm_vhsubq_x_n_u32): Remove. (__arm_vhsubq_x_s8): Remove. (__arm_vhsubq_x_s16): Remove. (__arm_vhsubq_x_s32): Remove. (__arm_vhsubq_x_u8): Remove. (__arm_vhsubq_x_u16): Remove. (__arm_vhsubq_x_u32): Remove. (__arm_vhsubq): Remove. (__arm_vhaddq): Remove. (__arm_vhaddq_m): Remove. (__arm_vhsubq_m): Remove. (__arm_vhaddq_x): Remove. (__arm_vhsubq_x): Remove. (vmulhq): Remove. (vmulhq_m): Remove. (vmulhq_x): Remove. (vmulhq_u8): Remove. (vmulhq_s8): Remove. (vmulhq_u16): Remove. (vmulhq_s16): Remove. (vmulhq_u32): Remove. (vmulhq_s32): Remove. (vmulhq_m_s8): Remove. (vmulhq_m_s32): Remove. (vmulhq_m_s16): Remove. (vmulhq_m_u8): Remove. (vmulhq_m_u32): Remove. (vmulhq_m_u16): Remove. (vmulhq_x_s8): Remove. (vmulhq_x_s16): Remove. (vmulhq_x_s32): Remove. (vmulhq_x_u8): Remove. (vmulhq_x_u16): Remove. (vmulhq_x_u32): Remove. (__arm_vmulhq_u8): Remove. (__arm_vmulhq_s8): Remove. (__arm_vmulhq_u16): Remove. (__arm_vmulhq_s16): Remove. (__arm_vmulhq_u32): Remove. (__arm_vmulhq_s32): Remove. (__arm_vmulhq_m_s8): Remove. (__arm_vmulhq_m_s32): Remove. (__arm_vmulhq_m_s16): Remove. (__arm_vmulhq_m_u8): Remove. (__arm_vmulhq_m_u32): Remove. (__arm_vmulhq_m_u16): Remove. (__arm_vmulhq_x_s8): Remove. (__arm_vmulhq_x_s16): Remove. (__arm_vmulhq_x_s32): Remove. (__arm_vmulhq_x_u8): Remove. (__arm_vmulhq_x_u16): Remove. (__arm_vmulhq_x_u32): Remove. (__arm_vmulhq): Remove. (__arm_vmulhq_m): Remove. (__arm_vmulhq_x): Remove. (vqsubq): Remove. (vqaddq): Remove. (vqaddq_m): Remove. (vqsubq_m): Remove. (vqsubq_u8): Remove. (vqsubq_n_u8): Remove. (vqaddq_u8): Remove. (vqaddq_n_u8): Remove. (vqsubq_s8): Remove. (vqsubq_n_s8): Remove. (vqaddq_s8): Remove. (vqaddq_n_s8): Remove. (vqsubq_u16): Remove. (vqsubq_n_u16): Remove. (vqaddq_u16): Remove. (vqaddq_n_u16): Remove. (vqsubq_s16): Remove. (vqsubq_n_s16): Remove. (vqaddq_s16): Remove. (vqaddq_n_s16): Remove. (vqsubq_u32): Remove. (vqsubq_n_u32): Remove. (vqaddq_u32): Remove. (vqaddq_n_u32): Remove. (vqsubq_s32): Remove. (vqsubq_n_s32): Remove. (vqaddq_s32): Remove. (vqaddq_n_s32): Remove. (vqaddq_m_n_s8): Remove. (vqaddq_m_n_s32): Remove. (vqaddq_m_n_s16): Remove. (vqaddq_m_n_u8): Remove. (vqaddq_m_n_u32): Remove. (vqaddq_m_n_u16): Remove. (vqaddq_m_s8): Remove. (vqaddq_m_s32): Remove. (vqaddq_m_s16): Remove. (vqaddq_m_u8): Remove. (vqaddq_m_u32): Remove. (vqaddq_m_u16): Remove. (vqsubq_m_n_s8): Remove. (vqsubq_m_n_s32): Remove. (vqsubq_m_n_s16): Remove. (vqsubq_m_n_u8): Remove. (vqsubq_m_n_u32): Remove. (vqsubq_m_n_u16): Remove. (vqsubq_m_s8): Remove. (vqsubq_m_s32): Remove. (vqsubq_m_s16): Remove. (vqsubq_m_u8): Remove. (vqsubq_m_u32): Remove. (vqsubq_m_u16): Remove. (__arm_vqsubq_u8): Remove. (__arm_vqsubq_n_u8): Remove. (__arm_vqaddq_u8): Remove. (__arm_vqaddq_n_u8): Remove. (__arm_vqsubq_s8): Remove. (__arm_vqsubq_n_s8): Remove. (__arm_vqaddq_s8): Remove. (__arm_vqaddq_n_s8): Remove. (__arm_vqsubq_u16): Remove. (__arm_vqsubq_n_u16): Remove. (__arm_vqaddq_u16): Remove. (__arm_vqaddq_n_u16): Remove. (__arm_vqsubq_s16): Remove. (__arm_vqsubq_n_s16): Remove. (__arm_vqaddq_s16): Remove. (__arm_vqaddq_n_s16): Remove. (__arm_vqsubq_u32): Remove. (__arm_vqsubq_n_u32): Remove. (__arm_vqaddq_u32): Remove. (__arm_vqaddq_n_u32): Remove. (__arm_vqsubq_s32): Remove. (__arm_vqsubq_n_s32): Remove. (__arm_vqaddq_s32): Remove. (__arm_vqaddq_n_s32): Remove. (__arm_vqaddq_m_n_s8): Remove. (__arm_vqaddq_m_n_s32): Remove. (__arm_vqaddq_m_n_s16): Remove. (__arm_vqaddq_m_n_u8): Remove. (__arm_vqaddq_m_n_u32): Remove. (__arm_vqaddq_m_n_u16): Remove. (__arm_vqaddq_m_s8): Remove. (__arm_vqaddq_m_s32): Remove. (__arm_vqaddq_m_s16): Remove. (__arm_vqaddq_m_u8): Remove. (__arm_vqaddq_m_u32): Remove. (__arm_vqaddq_m_u16): Remove. (__arm_vqsubq_m_n_s8): Remove. (__arm_vqsubq_m_n_s32): Remove. (__arm_vqsubq_m_n_s16): Remove. (__arm_vqsubq_m_n_u8): Remove. (__arm_vqsubq_m_n_u32): Remove. (__arm_vqsubq_m_n_u16): Remove. (__arm_vqsubq_m_s8): Remove. (__arm_vqsubq_m_s32): Remove. (__arm_vqsubq_m_s16): Remove. (__arm_vqsubq_m_u8): Remove. (__arm_vqsubq_m_u32): Remove. (__arm_vqsubq_m_u16): Remove. (__arm_vqsubq): Remove. (__arm_vqaddq): Remove. (__arm_vqaddq_m): Remove. (__arm_vqsubq_m): Remove. (vqdmulhq): Remove. (vqdmulhq_m): Remove. (vqdmulhq_s8): Remove. (vqdmulhq_n_s8): Remove. (vqdmulhq_s16): Remove. (vqdmulhq_n_s16): Remove. (vqdmulhq_s32): Remove. (vqdmulhq_n_s32): Remove. (vqdmulhq_m_n_s8): Remove. (vqdmulhq_m_n_s32): Remove. (vqdmulhq_m_n_s16): Remove. (vqdmulhq_m_s8): Remove. (vqdmulhq_m_s32): Remove. (vqdmulhq_m_s16): Remove. (__arm_vqdmulhq_s8): Remove. (__arm_vqdmulhq_n_s8): Remove. (__arm_vqdmulhq_s16): Remove. (__arm_vqdmulhq_n_s16): Remove. (__arm_vqdmulhq_s32): Remove. (__arm_vqdmulhq_n_s32): Remove. (__arm_vqdmulhq_m_n_s8): Remove. (__arm_vqdmulhq_m_n_s32): Remove. (__arm_vqdmulhq_m_n_s16): Remove. (__arm_vqdmulhq_m_s8): Remove. (__arm_vqdmulhq_m_s32): Remove. (__arm_vqdmulhq_m_s16): Remove. (__arm_vqdmulhq): Remove. (__arm_vqdmulhq_m): Remove. (vrhaddq): Remove. (vrhaddq_m): Remove. (vrhaddq_x): Remove. (vrhaddq_u8): Remove. (vrhaddq_s8): Remove. (vrhaddq_u16): Remove. (vrhaddq_s16): Remove. (vrhaddq_u32): Remove. (vrhaddq_s32): Remove. (vrhaddq_m_s8): Remove. (vrhaddq_m_s32): Remove. (vrhaddq_m_s16): Remove. (vrhaddq_m_u8): Remove. (vrhaddq_m_u32): Remove. (vrhaddq_m_u16): Remove. (vrhaddq_x_s8): Remove. (vrhaddq_x_s16): Remove. (vrhaddq_x_s32): Remove. (vrhaddq_x_u8): Remove. (vrhaddq_x_u16): Remove. (vrhaddq_x_u32): Remove. (__arm_vrhaddq_u8): Remove. (__arm_vrhaddq_s8): Remove. (__arm_vrhaddq_u16): Remove. (__arm_vrhaddq_s16): Remove. (__arm_vrhaddq_u32): Remove. (__arm_vrhaddq_s32): Remove. (__arm_vrhaddq_m_s8): Remove. (__arm_vrhaddq_m_s32): Remove. (__arm_vrhaddq_m_s16): Remove. (__arm_vrhaddq_m_u8): Remove. (__arm_vrhaddq_m_u32): Remove. (__arm_vrhaddq_m_u16): Remove. (__arm_vrhaddq_x_s8): Remove. (__arm_vrhaddq_x_s16): Remove. (__arm_vrhaddq_x_s32): Remove. (__arm_vrhaddq_x_u8): Remove. (__arm_vrhaddq_x_u16): Remove. (__arm_vrhaddq_x_u32): Remove. (__arm_vrhaddq): Remove. (__arm_vrhaddq_m): Remove. (__arm_vrhaddq_x): Remove. (vrmulhq): Remove. (vrmulhq_m): Remove. (vrmulhq_x): Remove. (vrmulhq_u8): Remove. (vrmulhq_s8): Remove. (vrmulhq_u16): Remove. (vrmulhq_s16): Remove. (vrmulhq_u32): Remove. (vrmulhq_s32): Remove. (vrmulhq_m_s8): Remove. (vrmulhq_m_s32): Remove. (vrmulhq_m_s16): Remove. (vrmulhq_m_u8): Remove. (vrmulhq_m_u32): Remove. (vrmulhq_m_u16): Remove. (vrmulhq_x_s8): Remove. (vrmulhq_x_s16): Remove. (vrmulhq_x_s32): Remove. (vrmulhq_x_u8): Remove. (vrmulhq_x_u16): Remove. (vrmulhq_x_u32): Remove. (__arm_vrmulhq_u8): Remove. (__arm_vrmulhq_s8): Remove. (__arm_vrmulhq_u16): Remove. (__arm_vrmulhq_s16): Remove. (__arm_vrmulhq_u32): Remove. (__arm_vrmulhq_s32): Remove. (__arm_vrmulhq_m_s8): Remove. (__arm_vrmulhq_m_s32): Remove. (__arm_vrmulhq_m_s16): Remove. (__arm_vrmulhq_m_u8): Remove. (__arm_vrmulhq_m_u32): Remove. (__arm_vrmulhq_m_u16): Remove. (__arm_vrmulhq_x_s8): Remove. (__arm_vrmulhq_x_s16): Remove. (__arm_vrmulhq_x_s32): Remove. (__arm_vrmulhq_x_u8): Remove. (__arm_vrmulhq_x_u16): Remove. (__arm_vrmulhq_x_u32): Remove. (__arm_vrmulhq): Remove. (__arm_vrmulhq_m): Remove. (__arm_vrmulhq_x): Remove.
Showing
- gcc/config/arm/arm-mve-builtins-base.cc 35 additions, 0 deletionsgcc/config/arm/arm-mve-builtins-base.cc
- gcc/config/arm/arm-mve-builtins-base.def 8 additions, 0 deletionsgcc/config/arm/arm-mve-builtins-base.def
- gcc/config/arm/arm-mve-builtins-base.h 8 additions, 0 deletionsgcc/config/arm/arm-mve-builtins-base.h
- gcc/config/arm/arm_mve.h 0 additions, 3203 deletionsgcc/config/arm/arm_mve.h
Loading
Please register or sign in to comment