]> git.ipfire.org Git - thirdparty/gcc.git/commit
arm: [MVE intrinsics] Add support for contiguous loads and stores
authorChristophe Lyon <christophe.lyon@linaro.org>
Wed, 15 Nov 2023 08:12:35 +0000 (08:12 +0000)
committerChristophe Lyon <christophe.lyon@linaro.org>
Mon, 20 Nov 2023 11:23:56 +0000 (11:23 +0000)
commit0c2037d9d93a8f768cb11698ff794278246bb31f
treebc4df8f2989afbedf41a2aa0b4cb4a274ebb250b
parent524c892e642e87da853d2a9d0314dd6c220f59de
arm: [MVE intrinsics] Add support for contiguous loads and stores

This patch adds base support for load/store intrinsics to the
framework, starting with loads and stores for contiguous memory
elements, without extension nor truncation.

Compared to the aarch64/SVE implementation, there's no support for
gather/scatter loads/stores yet.  This will be added later as needed.

2023-11-16  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/
* config/arm/arm-mve-builtins-functions.h (multi_vector_function)
(full_width_access): New classes.
* config/arm/arm-mve-builtins.cc
(find_type_suffix_for_scalar_type, infer_pointer_type)
(require_pointer_type, get_contiguous_base, add_mem_operand)
(add_fixed_operand, use_contiguous_load_insn)
(use_contiguous_store_insn): New.
* config/arm/arm-mve-builtins.h (memory_vector_mode)
(infer_pointer_type, require_pointer_type, get_contiguous_base)
(add_mem_operand)
(add_fixed_operand, use_contiguous_load_insn)
(use_contiguous_store_insn): New.
gcc/config/arm/arm-mve-builtins-functions.h
gcc/config/arm/arm-mve-builtins.cc
gcc/config/arm/arm-mve-builtins.h