[PATCH] D106273: [WIP] Improve code generation for vector_splice for Imm > 0
Sander de Smalen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 21 07:30:00 PDT 2021
sdesmalen added a comment.
Is this patch still work-in-progress, or is it ready to review? (it looks like the latter)
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:7431
+ if ((!Op.getConstantOperandAPInt(2).isNegative() &&
+ Ty.getVectorMinNumElements() > Op.getConstantOperandVal(2)) ||
+ Op.getConstantOperandAPInt(2) == -1)
----------------
Why is this condition relevant?
================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:2402
+
+ // Splice with lane bigger or equalt to 0
+ def : Pat<(nxv16i8 (vector_splice (nxv16i8 ZPR:$Z1), (nxv16i8 ZPR:$Z2), (i64 (sve_ext_imm_0_15 i32:$index)))),
----------------
nit: s/equalt/equal/
================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:2410
+ def : Pat<(nxv2i64 (vector_splice (nxv2i64 ZPR:$Z1), (nxv2i64 ZPR:$Z2), (i64 (sve_ext_imm_0_1 i32:$index)))),
+ (EXT_ZZI ZPR:$Z1, ZPR:$Z2, sve_ext_imm_0_1:$index)>;
}
----------------
nit: indentation
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D106273/new/
https://reviews.llvm.org/D106273
More information about the llvm-commits
mailing list