]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arm: [MVE intrinsics] Add support for predicated contiguous loads and stores
authorAlfie Richards <Alfie.Richards@arm.com>
Wed, 11 Sep 2024 12:56:28 +0000 (14:56 +0200)
committerChristophe Lyon <christophe.lyon@arm.com>
Tue, 29 Oct 2024 09:03:06 +0000 (10:03 +0100)
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.Richards@arm.com>
    Christophe Lyon  <christophe.lyon@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.

gcc/config/arm/arm-mve-builtins.cc

index 804eb88b6a5edca0d284f8102c86bbb402d01389..2bde82215642ce8bc7fbd7c90ae49b0171ce9057 100644 (file)
@@ -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);
 }