llvm::isMaskedSlidePair

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.

Synopsis

Declared in <llvm/Analysis/VectorUtils.h>

bool
isMaskedSlidePair(
    ArrayRef<int> Mask,
    int NumElts,
    std::array<std::pair<int, int>, 2>& SrcInfo);

Parameters

NameDescription
MaskRepresent 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.
SrcInfoA standard container for storing a fixed size sequence of elements.