[llvm] [AArch64] Select same-input SVE EXT with EXT_ZZI_CONSTRUCTIVE (PR #227749)
Sander de Smalen via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 2 07:19:47 PDT 2026
================
@@ -1187,6 +1187,10 @@ let Predicates = [HasSVE_or_SME] in {
def EXT_ZZI_CONSTRUCTIVE : UnpredRegImmPseudo<ZPR8, imm0_255>;
+ let AddedComplexity = 3 in
+ def : Pat<(nxv16i8 (AArch64ext nxv16i8:$Zs, nxv16i8:$Zs, (i32 imm0_255:$imm))),
----------------
sdesmalen-arm wrote:
@gbossu added support for mapping `vector_splice[_left]` to `EXT_ZZI_CONSTRUCTIVE` in #152554.
We could make AArch64ext a PatFrag that also matches `llvm.vector.splice.left`.
Alternatively, if this code comes from ACLE code, Clang could probably also emit the `llvm.vector.splice.left` directly (as that now seems a duplicate of the SVE intrinsic)
https://github.com/llvm/llvm-project/pull/227749
More information about the llvm-commits
mailing list