[PATCH] D103884: [ValueTypes][RISCV] Cap RVV fixed-length vectors by size

Fraser Cormack via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 8 03:55:34 PDT 2021


frasercrmck created this revision.
frasercrmck added reviewers: craig.topper, RKSimon, evandro, rogfer01, HsiangKai, arcbbb, khchen.
Herald added subscribers: vkmr, dexonsmith, luismarques, apazos, sameer.abuasal, 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, dschuff.
frasercrmck requested review of this revision.
Herald added subscribers: llvm-commits, MaskRay, aheejin.
Herald added a project: LLVM.

This patch changes RVV's policy for its supported list of fixed-length
vector types by capping by vector size rather than element count. Now
all 1024-byte vectors (of supported element types) are supported, rather
than all 256-element vectors.

This is a more natural fit for the architecture, and allows us to, for
example, improve the support for vector bitcasts.

This change necessitated the adding of some new simple types to avoid
"regressing" on the number of currently-supported vectors. We round out
the 1024-byte types by adding `v512i8`, `v1024i8`, `v512i16` and
`v512f16`.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D103884

Files:
  llvm/include/llvm/CodeGen/ValueTypes.td
  llvm/include/llvm/Support/MachineValueType.h
  llvm/lib/CodeGen/ValueTypes.cpp
  llvm/lib/Target/RISCV/RISCVISelLowering.cpp
  llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast-large-vector.ll
  llvm/test/CodeGen/RISCV/rvv/interleave-crash.ll
  llvm/utils/TableGen/CodeGenTarget.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D103884.350566.patch
Type: text/x-patch
Size: 162812 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210608/c6a35391/attachment-0001.bin>


More information about the llvm-commits mailing list