[PATCH] D74858: [AArch64][SVE] Add intrinsics for non-temporal gather-loads/scatter-stores
Sander de Smalen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 25 09:15:54 PST 2020
sdesmalen added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:12622
+ // order, we may need to swap them to match the spec.
+ if (Opcode == AArch64ISD::SSTNT1 && Offset.getValueType().isVector())
+ std::swap(Base, Offset);
----------------
Have you experimented moving this code out of this function (same for the `SST1_IMM` case below), and pass in the Base and Offset (and possibly Chain/PG) as operands to `performScatterStoreCombine`. In the case-statement for `aarch64_sve_st1_scatter_scalar_offset` and `aarch64_sve_stnt1_scatter_scalar_offset ` you can than do the swap. That seems a bit better than special handling these cases in this combine itself.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D74858/new/
https://reviews.llvm.org/D74858
More information about the llvm-commits
mailing list