[PATCH] D147040: [AArch64][CodeGen] Use interleave store for streaming compatible functions

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 28 04:31:58 PDT 2023


sdesmalen added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:14500
 ///        call void llvm.aarch64.neon.st3(%sub.v0, %sub.v1, %sub.v2, %ptr)
 bool AArch64TargetLowering::lowerInterleavedStore(StoreInst *SI,
                                                   ShuffleVectorInst *SVI,
----------------
I assume we'll need a similar capability for interleaved loads?


================
Comment at: llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll:13
+; CHECK-NEXT:    mov z1.d, z0.d
+; CHECK-NEXT:    st2w { z0.s, z1.s }, p0, [x0]
 ; CHECK-NEXT:    ret
----------------
It would be nice to have some more test coverage. Maybe something where the test doesn't depending on a splat, and some different vector lengths (e.g. where vector legalisation is required)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D147040



More information about the llvm-commits mailing list