[PATCH] D136730: [RISCV][CodeGen] Account for LMUL for Vector Integer Arithmetic Instructions
Michael Maitland via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 25 18:55:51 PDT 2022
michaelmaitland created this revision.
michaelmaitland added reviewers: reames, craig.topper, kito-cheng, rogfer01, frasercrmck, arcbbb.
Herald added subscribers: sunshaoce, VincentWu, StephenFan, vkmr, evandro, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, edward-jones, zzheng, jrtc27, shiva0217, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya, arichardson.
Herald added a project: All.
michaelmaitland requested review of this revision.
Herald added subscribers: llvm-commits, pcwang-thead, eopXD, MaskRay.
Herald added a project: LLVM.
It is likley that subtargets act differently for a vector integer arithmetic instruction based on the LMUL.
This patch creates seperate SchedRead, SchedWrite, WriteRes, ReadAdvance for each relevant LMUL. It also
introduces the concept of an "UpperBound LMUL" which allows us to describe how an instruction should behave
when the LMUL is unknown. All base instructions use the UpperBound resources because they are not tied to
a specific LMUL. This gives subtargetes the flexibility to describe their own upper bounds on each vector
instruction.
I have a series of patches for the rest of the vector instruction set ready to go, but I would like to first
get feedback on the first one of the series (this one).
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D136730
Files:
llvm/lib/Target/RISCV/RISCVInstrInfoV.td
llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
llvm/lib/Target/RISCV/RISCVScheduleV.td
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D136730.470678.patch
Type: text/x-patch
Size: 76219 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221026/559cda76/attachment.bin>
More information about the llvm-commits
mailing list