This is an archive of the discontinued LLVM Phabricator instance.

[ValueTypes][RISCV] Cap RVV fixed-length vectors by size
ClosedPublic

Authored by frasercrmck on Jun 8 2021, 3:55 AM.

Details

Summary

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.

Diff Detail

Event Timeline

frasercrmck created this revision.Jun 8 2021, 3:55 AM
frasercrmck requested review of this revision.Jun 8 2021, 3:55 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 8 2021, 3:55 AM
  • update code comments
craig.topper accepted this revision.Jun 8 2021, 10:13 AM

LGTM

llvm/include/llvm/Support/MachineValueType.h
125

Hopefully D103893 goes in today and restores the custom formatting we had on this file.

This revision is now accepted and ready to land.Jun 8 2021, 10:13 AM
  • rebase on top of new MVT formatting
  • adjust tests for new VType formatting
This revision was landed with ongoing or failed builds.Jun 9 2021, 4:23 AM
This revision was automatically updated to reflect the committed changes.