[PATCH] D105847: [AArch64] Prepare for changes to STEP_VECTOR.
David Sherwood via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 15 03:39:40 PDT 2021
david-arm added a comment.
The changes to the existing patterns look sensible to me, but maybe someone else can take a look at the new patterns?
================
Comment at: llvm/lib/Target/AArch64/SVEInstrFormats.td:4924
+ (!cast<Instruction>(NAME # "_D") simm5_64b:$imm5, (!cast<Instruction>("MOVi64imm") imm:$imm))>;
+ def : Pat<(add (nxv2i64 (step_vector_oneuse (i64 !cast<ImmLeaf>("i64imm_32bit"):$imm))), (nxv2i64 (AArch64dup(simm5_64b:$imm5)))),
+ (!cast<Instruction>(NAME # "_D") simm5_64b:$imm5, (SUBREG_TO_REG (i64 0), (!cast<Instruction>("MOVi32imm") (!cast<SDNodeXForm>("trunc_imm") imm:$imm)), sub_32))>;
----------------
To be honest I find it a bit difficult to work out what's going on here and what pattern it's matching. Is it possible to point to a specific test that's defending this?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D105847/new/
https://reviews.llvm.org/D105847
More information about the llvm-commits
mailing list