llvm::isMaskedSlidePair

Return true if Mask is one slide or a masked pair of slides.

Synopsis

Declared in <llvm/Analysis/VectorUtils.h>

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

Description

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.

Return Value

True if Mask represents one slide or a masked pair of slides.

Parameters

NameDescription
MaskShuffle mask to classify.
NumEltsNumber of elements represented by Mask.
SrcInfoOutput slide sources and directions for up to two slides.