[PATCH] D153864: [RISCV] Lower interleave2 intrinsics to vsseg2

Luke Lau via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 27 05:52:11 PDT 2023


luke created this revision.
luke added reviewers: craig.topper, reames, kito-cheng, CarolineConcatto.
Herald added subscribers: jobnoorman, asb, pmatos, VincentWu, vkmr, frasercrmck, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, shiva0217, niosHD, sabuasal, simoncook, johnrusso, rbar, hiraditya, arichardson.
Herald added a project: All.
luke requested review of this revision.
Herald added subscribers: llvm-commits, wangpc, alextsao1999, eopXD, MaskRay.
Herald added a project: LLVM.

This patch teaches the RISCV TargetLowering class to lower interleave
intrinsics to vsseg2, so it can lower interleaved stores for scalable vectors.
Previously, we could only lower stores of interleaves for fixed length vectors
with vector shuffles.

This uses the lowerInterleaveIntrinsic interface for the interleaved 
access pass that was added in D146218 <https://reviews.llvm.org/D146218>, and subsumes the DAG combine 
approach taken in D144175 <https://reviews.llvm.org/D144175>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D153864

Files:
  llvm/lib/Target/RISCV/RISCVISelLowering.cpp
  llvm/lib/Target/RISCV/RISCVISelLowering.h
  llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed-store.ll
  llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D153864.534936.patch
Type: text/x-patch
Size: 16912 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230627/0f16e925/attachment.bin>


More information about the llvm-commits mailing list