Page MenuHomePhabricator

[SLP]Improve isGatherShuffledEntry to handles shuffles between different length vectors.
Needs ReviewPublic

Authored by ABataev on Dec 27 2021, 7:43 AM.



Originally isGatherShuffledEntry supports shuffles between 2 input
vectors of the same size. Actually, we can support the shuffles between
vectors of 2 different sizes. One of them (or both, for variable length
vector) just must be resized to match the sizes. Improves cost and the
vectorization itself.

Diff Detail

Event Timeline

ABataev created this revision.Dec 27 2021, 7:43 AM
ABataev requested review of this revision.Dec 27 2021, 7:43 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 27 2021, 7:43 AM
RKSimon added inline comments.May 1 2022, 7:54 AM

min index? Aren't you finding the max_element here?


Duplicate code - worth pulling this out as a helper?


We do this often enough - I'm wondering if we just add a helper to IRBuilder that creates an identity shuffle that pads/extracts a source Value to requested #elements size?


Worth putting all of this inside ShuffleInstructionBuilder ?

Herald added a project: Restricted Project. · View Herald TranscriptMay 1 2022, 7:54 AM
Herald added a subscriber: vporpo. · View Herald Transcript
ABataev added inline comments.May 17 2022, 11:04 AM

Currently it does not support shuffles between 2 input vectors. There are some other patches, where the lambda is added