From: Alfie Richards <alfie.richa...@arm.com>

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.
---
 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 7e8217666fe..f519fded000 100644
--- a/gcc/config/arm/arm-mve-builtins.cc
+++ b/gcc/config/arm/arm-mve-builtins.cc
@@ -2237,6 +2237,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);
 }
 
@@ -2249,6 +2251,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);
 }
 
-- 
2.34.1

Reply via email to