aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2024-10-13 21:03:26 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2024-12-13 14:23:30 +0000
commit39cc2ed30e9e678619651cde2967522b544d6a9c (patch)
tree6de06f1f4f1e8123823b975c75ef0453bc63d38a /libgo
parent1f2ab5b3900f1d6ff357352a211c8f1fecc03cf8 (diff)
downloadgcc-39cc2ed30e9e678619651cde2967522b544d6a9c.zip
gcc-39cc2ed30e9e678619651cde2967522b544d6a9c.tar.gz
gcc-39cc2ed30e9e678619651cde2967522b544d6a9c.tar.bz2
arm: [MVE intrinsics] rework vstr scatter_base
Implement vstr?q_scatter_base using the new MVE builtins framework. We need to introduce a new iterator (MVE_4) to support the set needed by vstr?q_scatter_base (V4SI V4SF V2DI). gcc/ChangeLog: * config/arm/arm-builtins.cc (arm_strsbs_qualifiers) (arm_strsbu_qualifiers, arm_strsbs_p_qualifiers) (arm_strsbu_p_qualifiers): Delete. * config/arm/arm-mve-builtins-base.cc (class vstrq_scatter_base_impl): New. (vstrwq_scatter_base, vstrdq_scatter_base): New. * config/arm/arm-mve-builtins-base.def (vstrwq_scatter_base) (vstrdq_scatter_base): New. * config/arm/arm-mve-builtins-base.h (vstrwq_scatter_base) (vstrdq_scatter_base): New. * config/arm/arm_mve.h (vstrwq_scatter_base): Delete. (vstrwq_scatter_base_p): Delete. (vstrdq_scatter_base_p): Delete. (vstrdq_scatter_base): Delete. (vstrwq_scatter_base_s32): Delete. (vstrwq_scatter_base_u32): Delete. (vstrwq_scatter_base_p_s32): Delete. (vstrwq_scatter_base_p_u32): Delete. (vstrdq_scatter_base_p_s64): Delete. (vstrdq_scatter_base_p_u64): Delete. (vstrdq_scatter_base_s64): Delete. (vstrdq_scatter_base_u64): Delete. (vstrwq_scatter_base_f32): Delete. (vstrwq_scatter_base_p_f32): Delete. (__arm_vstrwq_scatter_base_s32): Delete. (__arm_vstrwq_scatter_base_u32): Delete. (__arm_vstrwq_scatter_base_p_s32): Delete. (__arm_vstrwq_scatter_base_p_u32): Delete. (__arm_vstrdq_scatter_base_p_s64): Delete. (__arm_vstrdq_scatter_base_p_u64): Delete. (__arm_vstrdq_scatter_base_s64): Delete. (__arm_vstrdq_scatter_base_u64): Delete. (__arm_vstrwq_scatter_base_f32): Delete. (__arm_vstrwq_scatter_base_p_f32): Delete. (__arm_vstrwq_scatter_base): Delete. (__arm_vstrwq_scatter_base_p): Delete. (__arm_vstrdq_scatter_base_p): Delete. (__arm_vstrdq_scatter_base): Delete. * config/arm/arm_mve_builtins.def (vstrwq_scatter_base_s) (vstrwq_scatter_base_u, vstrwq_scatter_base_p_s) (vstrwq_scatter_base_p_u, vstrdq_scatter_base_s) (vstrwq_scatter_base_f, vstrdq_scatter_base_p_s) (vstrwq_scatter_base_p_f, vstrdq_scatter_base_u) (vstrdq_scatter_base_p_u): Delete. * config/arm/iterators.md (MVE_4): New. (supf): Remove VSTRWQSB_S, VSTRWQSB_U. (VSTRWSBQ): Delete. * config/arm/mve.md (mve_vstrwq_scatter_base_<supf>v4si): Delete. (mve_vstrwq_scatter_base_p_<supf>v4si): Delete. (mve_vstrdq_scatter_base_p_<supf>v2di): Delete. (mve_vstrdq_scatter_base_<supf>v2di): Delete. (mve_vstrwq_scatter_base_fv4sf): Delete. (mve_vstrwq_scatter_base_p_fv4sf): Delete. (@mve_vstrq_scatter_base_<mode>): New. (@mve_vstrq_scatter_base_p_<mode>): New. * config/arm/unspecs.md (VSTRWQSB_S, VSTRWQSB_U, VSTRWQSB_F): Delete. (VSTRSBQ, VSTRSBQ_P): New.
Diffstat (limited to 'libgo')
0 files changed, 0 insertions, 0 deletions