This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Add support for selecting vrgather.vx/vi for fixed vector splat shuffles.
ClosedPublic

Authored by craig.topper on Feb 5 2021, 3:14 PM.

Details

Summary

The test cases extract a fixed element from a vector and splat it
into a vector. This gets DAG combined into a splat shuffle.

I've used some very wide vectors in the test to make sure we have
at least a couple tests where the element doesn't fit into the
uimm5 immediate of vrgather.vi so we fall back to vrgather.vx.

Diff Detail

Event Timeline

craig.topper created this revision.Feb 5 2021, 3:14 PM
craig.topper requested review of this revision.Feb 5 2021, 3:14 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 5 2021, 3:14 PM
Herald added a subscriber: MaskRay. · View Herald Transcript

clang-format

This revision is now accepted and ready to land.Feb 10 2021, 8:05 AM
This revision was landed with ongoing or failed builds.Feb 10 2021, 10:04 AM
This revision was automatically updated to reflect the committed changes.