[PATCH] D146747: [RISCV] Model select and insertsubvector shuffle kinds
Luke Lau via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 23 10:58:56 PDT 2023
luke created this revision.
luke added reviewers: craig.topper, reames, fakepaper56, benshi001.
Herald added subscribers: jobnoorman, asb, pmatos, VincentWu, vkmr, frasercrmck, evandro, 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, pcwang-thead, eopXD, MaskRay.
Herald added a project: LLVM.
These types of shuffles get lowered as a vmerge with a potential
vslide{up,down}.
There is still room for improvement in modeling these types, including
concatenating shuffles which are designated SK_InsertSubvector. These
can be lowered to one vslideup provided the types are legal. (And
sometimes, if the concatenated shuffle is used in something like an
interleave shuffle, then it has no cost at all. But there isn't any way
to detect that from the target hooks.)
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D146747
Files:
llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
llvm/test/Analysis/CostModel/RISCV/shuffle-insert.ll
llvm/test/Analysis/CostModel/RISCV/shuffle-interleave.ll
llvm/test/Analysis/CostModel/RISCV/shuffle-select.ll
llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D146747.507822.patch
Type: text/x-patch
Size: 25357 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230323/d811dc81/attachment-0001.bin>
More information about the llvm-commits
mailing list