[llvm] [AArch64][SVE] Select immediate offsets for multi-vector instructions (PR #201637)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 8 04:46:12 PDT 2026
================
@@ -4564,6 +4573,16 @@ defm : store_pn_x2<nxv2f64, int_aarch64_sve_stnt1_pn_x2, STNT1D_2Z_IMM>;
multiclass store_pn_x4<ValueType Ty, SDPatternOperator Store,
Instruction RegImmInst> {
+ let AddedComplexity = 1 in {
+ // scalar + immediate (mul vl)
+ def : Pat<(Store Ty:$vec0, Ty:$vec1, Ty:$vec2, Ty:$vec3, aarch64svcount:$PNg,
+ (am_sve_indexed_s4 GPR64sp:$base, simm4s1:$offset)),
+ (RegImmInst (REG_SEQUENCE ZPR4Mul4, Ty:$vec0, zsub0, Ty:$vec1, zsub1,
+ Ty:$vec2, zsub2, Ty:$vec3, zsub3),
+ PNR:$PNg, GPR64:$base, simm4s1:$offset)>;
----------------
paulwalker-arm wrote:
The imm operand should be `simm4s4` to match the underlying instruction.
https://github.com/llvm/llvm-project/pull/201637
More information about the llvm-commits
mailing list