[PATCH] D155229: [RISCV] Add VL nodes and VP patterns for unary zvbb instructions

Luke Lau via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 13 12:36:30 PDT 2023


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

This follows the pattern of lowering VP nodes to equivalent
RISCVISD::*_VL nodes. The nodes are modelled after the VP ISD nodes rather 
than the actual zvbb instructions, and I've included a merge operand to be 
consistent with the underlying pseudos that were recently refactored. They 
also aren't restricted to integers as presumably we can use these for 
floats too later.

I've defined the nodes in RISCVInstrInfoVVLpatterns.td as the nodes aren't Zvk
specific, but the patterns are in RISCVInstrInfoZvk.td.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D155229

Files:
  llvm/lib/Target/RISCV/RISCVISelLowering.cpp
  llvm/lib/Target/RISCV/RISCVISelLowering.h
  llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
  llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
  llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
  llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
  llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
  llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
  llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D155229.540161.patch
Type: text/x-patch
Size: 194357 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230713/3fdc3f07/attachment-0001.bin>


More information about the llvm-commits mailing list