[PATCH] D96108: [RISCV] Add support for splat fixed length build_vectors using RVV.

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 4 22:58:40 PST 2021


craig.topper created this revision.
craig.topper added reviewers: frasercrmck, rogfer01, evandro, HsiangKai, khchen.
Herald added subscribers: StephenFan, vkmr, luismarques, apazos, sameer.abuasal, pzheng, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, edward-jones, zzheng, jrtc27, shiva0217, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya.
craig.topper requested review of this revision.
Herald added a subscriber: MaskRay.
Herald added a project: LLVM.

Building on the fixed vector support from D95705 <https://reviews.llvm.org/D95705>

I've added ISD nodes for vmv.v.x and vfmv.v.f and switched to
lowering the intrinsics to it. This allows us to share the same
isel patterns for both.

This doesn't handle splats of i64 on RV32 yet. The build_vector
gets converted to a vXi32 build_vector+bitcast during type
legalization. Not sure the best way to handle this at the moment.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D96108

Files:
  llvm/lib/Target/RISCV/RISCVISelLowering.cpp
  llvm/lib/Target/RISCV/RISCVISelLowering.h
  llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
  llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat-rv32.ll
  llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat-rv64.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D96108.321662.patch
Type: text/x-patch
Size: 42910 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210205/622c4a0e/attachment.bin>


More information about the llvm-commits mailing list