https://gcc.gnu.org/g:16ee5c64e60b388df40a2b91d4a145159629cbcd
commit r15-4733-g16ee5c64e60b388df40a2b91d4a145159629cbcd Author: Alfie Richards <alfie.richa...@arm.com> Date: Wed Sep 11 14:56:28 2024 +0200 arm: [MVE intrinsics] Add support for predicated contiguous loads and stores This patch extends function_expander::use_contiguous_load_insn and function_expander::use_contiguous_store_insn functions to support predicated versions. 2024-09-11 Alfie Richards <alfie.richa...@arm.com> Christophe Lyon <christophe.l...@arm.com> gcc/ * config/arm/arm-mve-builtins.cc (function_expander::use_contiguous_load_insn): Add support for PRED_z. (function_expander::use_contiguous_store_insn): Add support for PRED_p. Diff: --- gcc/config/arm/arm-mve-builtins.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/config/arm/arm-mve-builtins.cc b/gcc/config/arm/arm-mve-builtins.cc index 804eb88b6a5e..2bde82215642 100644 --- a/gcc/config/arm/arm-mve-builtins.cc +++ b/gcc/config/arm/arm-mve-builtins.cc @@ -2327,6 +2327,8 @@ function_expander::use_contiguous_load_insn (insn_code icode) add_output_operand (icode); add_mem_operand (mem_mode, get_contiguous_base ()); + if (pred == PRED_z) + add_input_operand (icode, args[1]); return generate_insn (icode); } @@ -2339,6 +2341,8 @@ function_expander::use_contiguous_store_insn (insn_code icode) add_mem_operand (mem_mode, get_contiguous_base ()); add_input_operand (icode, args[1]); + if (pred == PRED_p) + add_input_operand (icode, args[2]); return generate_insn (icode); }