[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