|
unsigned | llvm::getPerfectShuffleCost (llvm::ArrayRef< int > M) |
bool | llvm::isZIPMask (ArrayRef< int > M, unsigned NumElts, unsigned &WhichResultOut) |
| Return true for zip1 or zip2 masks of the form: <0, 8, 1, 9, 2, 10, 3, 11> or <4, 12, 5, 13, 6, 14, 7, 15>
|
bool | llvm::isUZPMask (ArrayRef< int > M, unsigned NumElts, unsigned &WhichResultOut) |
| Return true for uzp1 or uzp2 masks of the form: <0, 2, 4, 6, 8, 10, 12, 14> or <1, 3, 5, 7, 9, 11, 13, 15>
|
bool | llvm::isTRNMask (ArrayRef< int > M, unsigned NumElts, unsigned &WhichResult) |
| Return true for trn1 or trn2 masks of the form: <0, 8, 2, 10, 4, 12, 6, 14> or <1, 9, 3, 11, 5, 13, 7, 15>
|
bool | llvm::isREVMask (ArrayRef< int > M, unsigned EltSize, unsigned NumElts, unsigned BlockSize) |
| isREVMask - Check if a vector shuffle corresponds to a REV instruction with the specified blocksize.
|
std::optional< unsigned > | llvm::isDUPQMask (ArrayRef< int > Mask, unsigned Segments, unsigned SegmentSize) |
| isDUPQMask - matches a splat of equivalent lanes within segments of a given number of elements.
|
bool | llvm::isDUPFirstSegmentMask (ArrayRef< int > Mask, unsigned Segments, unsigned SegmentSize) |
| isDUPFirstSegmentMask - matches a splat of the first 128b segment.
|