LLVM 20.0.0git
Namespaces | Functions | Variables
AArch64PerfectShuffle.h File Reference
#include "llvm/ADT/ArrayRef.h"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

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.
 

Variables

static const unsigned llvm::PerfectShuffleTable [6561+1]