[PATCH] D133421: [AArch64] break non-temporal loads over 256 into 256-loads and a smaller load

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 8 08:17:30 PDT 2022


fhahn added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:17829
+
+  unsigned PtrOffset = 256;
+  MVT NewVT =
----------------
zjaffal wrote:
> fhahn wrote:
> > Could you add a comment here illustrating what kind of DAG nodes we create to replace the original load?
> > 
> > 
> > It would also be good to document the motivation for special handling for non-temporal loads here.
> Would the motivation for the special handling for non-temporal loads be something like: 
> We have 256-bit non-temporal load so it might be good to utilise them when having large load instructions? 
> We have 256-bit non-temporal load so it might be good to utilise them when having large load instructions?

Yes something like that, maybe: Try to beak up non-temporal stores into blocks of 256 bits early, so the LDNPQ can be selected.

Might be good to add this as comment for the whole function.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D133421/new/

https://reviews.llvm.org/D133421



More information about the llvm-commits mailing list