aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfie Richards <Alfie.Richards@arm.com>2024-09-11 14:56:28 +0200
committerChristophe Lyon <christophe.lyon@arm.com>2024-10-29 10:03:06 +0100
commit16ee5c64e60b388df40a2b91d4a145159629cbcd (patch)
treee41f2ce0fe7a33042c43c6f28da12e0d83d3c87a
parent52e36cde0f6680ef56043cb220eb9cd0be927749 (diff)
downloadgcc-16ee5c64e60b388df40a2b91d4a145159629cbcd.zip
gcc-16ee5c64e60b388df40a2b91d4a145159629cbcd.tar.gz
gcc-16ee5c64e60b388df40a2b91d4a145159629cbcd.tar.bz2
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.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.
-rw-r--r--gcc/config/arm/arm-mve-builtins.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/arm/arm-mve-builtins.cc b/gcc/config/arm/arm-mve-builtins.cc
index 804eb88..2bde822 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);
}