[PATCH] D138791: [AArch64][SME]: Generate streaming-compatible code for ld2-alloca.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 30 01:18:41 PST 2022


sdesmalen added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:13969
 
-  if (Subtarget->useSVEForFixedLengthVectors() &&
+  if (Subtarget->forceStreamingCompatibleSVE() ||
+      (Subtarget->useSVEForFixedLengthVectors() &&
----------------
hassnaa-arm wrote:
> sdesmalen wrote:
> > This also allows the case where the total VecSize == 32 (for e.g. `<4 x i8>` which is currently not supported by Neon), or whether the number of elements is not a power of 2 (e.g. `<6 x i8>`. Can you add a test for this case?
> In the IR, I don't understand why it allocates 16 elements while it only loads 8.
> Is there a reason behind that ?
Based on the code you've added, I expected the tests you've added to use an ld2, do you know why it doesn't?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D138791



More information about the llvm-commits mailing list