aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2024-10-15 14:46:37 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2024-12-13 14:23:31 +0000
commitb0512ae20b670270629c6c6d497f2509a92cc41c (patch)
tree2009e78612ddc5a957e1fabc5da132b52913f83c /libgo
parent39cc2ed30e9e678619651cde2967522b544d6a9c (diff)
downloadgcc-b0512ae20b670270629c6c6d497f2509a92cc41c.zip
gcc-b0512ae20b670270629c6c6d497f2509a92cc41c.tar.gz
gcc-b0512ae20b670270629c6c6d497f2509a92cc41c.tar.bz2
arm: [MVE intrinsics] rework vstr scatter_base_wb
Implement vstr?q_scatter_base_wb using the new MVE builtins framework. The patch introduces a new 'b' type for signatures, which represents the type of the 'base' argument of vstr?q_scatter_base_wb. gcc/ChangeLog: * config/arm/arm-builtins.cc (arm_strsbwbs_qualifiers) (arm_strsbwbu_qualifiers, arm_strsbwbs_p_qualifiers) (arm_strsbwbu_p_qualifiers): Delete. * config/arm/arm-mve-builtins-base.cc (vstrq_scatter_base_impl): Add support for MODE_wb. * config/arm/arm-mve-builtins-shapes.cc (parse_type): Add support for 'b' type. (store_scatter_base): Add support for MODE_wb. * config/arm/arm-mve-builtins.cc (function_resolver::require_pointer_to_type): New. * config/arm/arm-mve-builtins.h (function_resolver::require_pointer_to_type): New. * config/arm/arm_mve.h (vstrdq_scatter_base_wb): Delete. (vstrdq_scatter_base_wb_p): Delete. (vstrwq_scatter_base_wb_p): Delete. (vstrwq_scatter_base_wb): Delete. (vstrdq_scatter_base_wb_p_s64): Delete. (vstrdq_scatter_base_wb_p_u64): Delete. (vstrdq_scatter_base_wb_s64): Delete. (vstrdq_scatter_base_wb_u64): Delete. (vstrwq_scatter_base_wb_p_s32): Delete. (vstrwq_scatter_base_wb_p_f32): Delete. (vstrwq_scatter_base_wb_p_u32): Delete. (vstrwq_scatter_base_wb_s32): Delete. (vstrwq_scatter_base_wb_u32): Delete. (vstrwq_scatter_base_wb_f32): Delete. (__arm_vstrdq_scatter_base_wb_s64): Delete. (__arm_vstrdq_scatter_base_wb_u64): Delete. (__arm_vstrdq_scatter_base_wb_p_s64): Delete. (__arm_vstrdq_scatter_base_wb_p_u64): Delete. (__arm_vstrwq_scatter_base_wb_p_s32): Delete. (__arm_vstrwq_scatter_base_wb_p_u32): Delete. (__arm_vstrwq_scatter_base_wb_s32): Delete. (__arm_vstrwq_scatter_base_wb_u32): Delete. (__arm_vstrwq_scatter_base_wb_f32): Delete. (__arm_vstrwq_scatter_base_wb_p_f32): Delete. (__arm_vstrdq_scatter_base_wb): Delete. (__arm_vstrdq_scatter_base_wb_p): Delete. (__arm_vstrwq_scatter_base_wb_p): Delete. (__arm_vstrwq_scatter_base_wb): Delete. * config/arm/arm_mve_builtins.def (vstrwq_scatter_base_wb_u) (vstrdq_scatter_base_wb_u, vstrwq_scatter_base_wb_p_u) (vstrdq_scatter_base_wb_p_u, vstrwq_scatter_base_wb_s) (vstrwq_scatter_base_wb_f, vstrdq_scatter_base_wb_s) (vstrwq_scatter_base_wb_p_s, vstrwq_scatter_base_wb_p_f) (vstrdq_scatter_base_wb_p_s): Delete. * config/arm/iterators.md (supf): Remove VSTRWQSBWB_S, VSTRWQSBWB_U, VSTRDQSBWB_S, VSTRDQSBWB_U. (VSTRDSBQ, VSTRWSBWBQ, VSTRDSBWBQ): Delete. * config/arm/mve.md (mve_vstrwq_scatter_base_wb_<supf>v4si): Delete. (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Delete. (mve_vstrwq_scatter_base_wb_fv4sf): Delete. (mve_vstrwq_scatter_base_wb_p_fv4sf): Delete. (mve_vstrdq_scatter_base_wb_<supf>v2di): Delete. (mve_vstrdq_scatter_base_wb_p_<supf>v2di): Delete. (@mve_vstrq_scatter_base_wb_<mode>): New. (@mve_vstrq_scatter_base_wb_p_<mode>): New. * config/arm/unspecs.md (VSTRWQSBWB_S, VSTRWQSBWB_U, VSTRWQSBWB_F) (VSTRDQSBWB_S, VSTRDQSBWB_U): Delete. (VSTRSBWBQ, VSTRSBWBQ_P): New.
Diffstat (limited to 'libgo')
0 files changed, 0 insertions, 0 deletions