This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Add basic support for matching shuffles to vslidedown.vi.
ClosedPublic

Authored by craig.topper on Jan 13 2022, 10:42 AM.

Details

Summary

Specifically the unary shuffle case where the elements being
shifted in are undef. This handles the shuffles produce by expanding
llvm.reduce.mul.

I did not reduce the VL which would increase the number of vsetvlis,
but may improve the execution speed. We'd also want to narrow the
multiplies so we could share vsetvlis between the vslidedown.vi and
the next multiply.

Diff Detail

Event Timeline

craig.topper created this revision.Jan 13 2022, 10:42 AM
craig.topper requested review of this revision.Jan 13 2022, 10:42 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 13 2022, 10:42 AM
Herald added a subscriber: MaskRay. · View Herald Transcript
This revision is now accepted and ready to land.Jan 14 2022, 6:15 AM
This revision was landed with ongoing or failed builds.Jan 14 2022, 9:09 AM
This revision was automatically updated to reflect the committed changes.