[PATCH] D128902: [AArch64][SVE] Create AArch64ISD node for DUPQLANE
Paul Walker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 30 04:27:59 PDT 2022
paulwalker-arm accepted this revision.
paulwalker-arm added a comment.
This revision is now accepted and ready to land.
A potential code placement improvement but otherwise looks good.
================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:675-690
+ def : Pat<(nxv16i8 (AArch64duplane128 nxv16i8:$Op1, i64:$imm)),
+ (nxv16i8 (DUP_ZZI_Q $Op1, $imm))>;
+ def : Pat<(nxv8i16 (AArch64duplane128 nxv8i16:$Op1, i64:$imm)),
+ (nxv8i16 (DUP_ZZI_Q $Op1, $imm))>;
+ def : Pat<(nxv4i32 (AArch64duplane128 nxv4i32:$Op1, i64:$imm)),
+ (nxv4i32 (DUP_ZZI_Q $Op1, $imm))>;
+ def : Pat<(nxv2i64 (AArch64duplane128 nxv2i64:$Op1, i64:$imm)),
----------------
Sorry I didn't have access to code or would have suggested this before but I think these can be moved into the multiclass that defines sve_int_perm_dup_i. I can see it already has patterns for the B,H,S and D forms.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D128902/new/
https://reviews.llvm.org/D128902
More information about the llvm-commits
mailing list