aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.cc
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2024-10-31 09:56:05 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2024-12-13 14:23:32 +0000
commit28e4682944e32d236640c0b310db82870008ae33 (patch)
tree69fc4f9d7d65f6fe1d0a4a07eaf1bd36d7ed6d7e /gcc/fortran/trans-expr.cc
parent6505151088fcc28e6b210c04c95f1d1981849a78 (diff)
downloadgcc-28e4682944e32d236640c0b310db82870008ae33.zip
gcc-28e4682944e32d236640c0b310db82870008ae33.tar.gz
gcc-28e4682944e32d236640c0b310db82870008ae33.tar.bz2
arm: [MVE intrinsics] rework vldr gather_base_wb
Implement vldr?q_gather_base_wb using the new MVE builtins framework. gcc/ChangeLog: * config/arm/arm-builtins.cc (arm_ldrgbwbxu_qualifiers) (arm_ldrgbwbxu_z_qualifiers, arm_ldrgbwbs_qualifiers) (arm_ldrgbwbu_qualifiers, arm_ldrgbwbs_z_qualifiers) (arm_ldrgbwbu_z_qualifiers): Delete. * config/arm/arm-mve-builtins-base.cc (vldrq_gather_base_impl): Add support for MODE_wb. * config/arm/arm-mve-builtins-shapes.cc (struct load_gather_base_def): Likewise. * config/arm/arm_mve.h (vldrdq_gather_base_wb_s64): Delete. (vldrdq_gather_base_wb_u64): Delete. (vldrdq_gather_base_wb_z_s64): Delete. (vldrdq_gather_base_wb_z_u64): Delete. (vldrwq_gather_base_wb_f32): Delete. (vldrwq_gather_base_wb_s32): Delete. (vldrwq_gather_base_wb_u32): Delete. (vldrwq_gather_base_wb_z_f32): Delete. (vldrwq_gather_base_wb_z_s32): Delete. (vldrwq_gather_base_wb_z_u32): Delete. (__arm_vldrdq_gather_base_wb_s64): Delete. (__arm_vldrdq_gather_base_wb_u64): Delete. (__arm_vldrdq_gather_base_wb_z_s64): Delete. (__arm_vldrdq_gather_base_wb_z_u64): Delete. (__arm_vldrwq_gather_base_wb_s32): Delete. (__arm_vldrwq_gather_base_wb_u32): Delete. (__arm_vldrwq_gather_base_wb_z_s32): Delete. (__arm_vldrwq_gather_base_wb_z_u32): Delete. (__arm_vldrwq_gather_base_wb_f32): Delete. (__arm_vldrwq_gather_base_wb_z_f32): Delete. * config/arm/arm_mve_builtins.def (vldrwq_gather_base_nowb_z_u) (vldrdq_gather_base_nowb_z_u, vldrwq_gather_base_nowb_u) (vldrdq_gather_base_nowb_u, vldrwq_gather_base_nowb_z_s) (vldrwq_gather_base_nowb_z_f, vldrdq_gather_base_nowb_z_s) (vldrwq_gather_base_nowb_s, vldrwq_gather_base_nowb_f) (vldrdq_gather_base_nowb_s, vldrdq_gather_base_wb_z_s) (vldrdq_gather_base_wb_z_u, vldrdq_gather_base_wb_s) (vldrdq_gather_base_wb_u, vldrwq_gather_base_wb_z_s) (vldrwq_gather_base_wb_z_f, vldrwq_gather_base_wb_z_u) (vldrwq_gather_base_wb_s, vldrwq_gather_base_wb_f) (vldrwq_gather_base_wb_u): Delete * config/arm/iterators.md (supf): Remove VLDRWQGBWB_S, VLDRWQGBWB_U, VLDRDQGBWB_S, VLDRDQGBWB_U. (VLDRWGBWBQ, VLDRDGBWBQ): Delete. * config/arm/mve.md (mve_vldrwq_gather_base_wb_<supf>v4si): Delete. (mve_vldrwq_gather_base_nowb_<supf>v4si): Delete. (mve_vldrwq_gather_base_wb_<supf>v4si_insn): Delete. (mve_vldrwq_gather_base_wb_z_<supf>v4si): Delete. (mve_vldrwq_gather_base_nowb_z_<supf>v4si): Delete. (mve_vldrwq_gather_base_wb_z_<supf>v4si_insn): Delete. (mve_vldrwq_gather_base_wb_fv4sf): Delete. (mve_vldrwq_gather_base_nowb_fv4sf): Delete. (mve_vldrwq_gather_base_wb_fv4sf_insn): Delete. (mve_vldrwq_gather_base_wb_z_fv4sf): Delete. (mve_vldrwq_gather_base_nowb_z_fv4sf): Delete. (mve_vldrwq_gather_base_wb_z_fv4sf_insn): Delete. (mve_vldrdq_gather_base_wb_<supf>v2di): Delete. (mve_vldrdq_gather_base_nowb_<supf>v2di): Delete. (mve_vldrdq_gather_base_wb_<supf>v2di_insn): Delete. (mve_vldrdq_gather_base_wb_z_<supf>v2di): Delete. (mve_vldrdq_gather_base_nowb_z_<supf>v2di): Delete. (mve_vldrdq_gather_base_wb_z_<supf>v2di_insn): Delete. (@mve_vldrq_gather_base_wb_<mode>): New. (@mve_vldrq_gather_base_wb_z_<mode>): New. * config/arm/unspecs.md (VLDRWQGBWB_S, VLDRWQGBWB_U, VLDRWQGBWB_F) (VLDRDQGBWB_S, VLDRDQGBWB_U): Delete (VLDRGBWBQ, VLDRGBWBQ_Z): New. gcc/testsuite/ChangeLog: * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_s64.c: Update expected output. * gcc.target/arm/mve/intrinsics/vldrdq_gather_base_wb_u64.c: Likewise.
Diffstat (limited to 'gcc/fortran/trans-expr.cc')
0 files changed, 0 insertions, 0 deletions