[PATCH] D130010: [AArch64][SVE] Add ISel pattern to lower DUPLANE128 to LD1RQD
Matt Devereau via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 18 09:26:33 PDT 2022
MattDevereau added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:860-862
+ def : Pat<(nxv16i8 (AArch64duplane128 (nxv16i8 (vector_insert_subvec (nxv16i8 undef), (v16i8 (load GPR64sp:$Xn)), (i64 0))), (i64 0))),
+ (LD1RQ_B_IMM (PTRUE_B 31), GPR64sp:$Xn, 0)>;
+ def : Pat<(nxv8i16 (AArch64duplane128 (nxv8i16 (vector_insert_subvec (nxv8i16 undef), (v8i16 (load GPR64sp:$Xn)), (i64 0))), (i64 0))),
----------------
paulwalker-arm wrote:
> Is there a reason not to add the floating point patterns, especially since you've got the tests to show they'll just work? Also see `LD1RPat` as you likely want to do something similar and I think it's worth having the related logic bunched together.
Discussed offline, this would need a bitcast added to the pattern for the load result and these patterns would be removed by child revision https://reviews.llvm.org/D130013
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D130010/new/
https://reviews.llvm.org/D130010
More information about the llvm-commits
mailing list