Does this shuffle mask represent either one slide shuffle or a pair of two slide shuffles, combined with a select on some constant vector mask? A slide is a shuffle mask which shifts some set of elements up or down the vector, with all other elements being undefined. An identity shuffle will be matched a slide by 0. The output parameter provides the source (-1 means no source), and slide direction for each slide.
Declared in <llvm/Analysis/VectorUtils.h>
bool
isMaskedSlidePair(
ArrayRef<int> Mask,
int NumElts,
std::array<std::pair<int, int>, 2>& SrcInfo);
| Name | Description |
|---|---|
| Mask | Represent a constant reference to an array (0 or more elements consecutively in memory), i.e. a start pointer and a length. It allows various APIs to take consecutive elements easily and conveniently. |
| SrcInfo | A standard container for storing a fixed size sequence of elements. |