LLVM  3.7.0
Namespaces | Enumerations | Functions
X86ShuffleDecode.h File Reference
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/ArrayRef.h"
Include dependency graph for X86ShuffleDecode.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Enumerations

enum  { llvm::SM_SentinelUndef = -1, llvm::SM_SentinelZero = -2 }
 

Functions

void llvm::DecodeINSERTPSMask (unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodeMOVHLPSMask (unsigned NElts, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodeMOVLHPSMask (unsigned NElts, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodeMOVSLDUPMask (MVT VT, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodeMOVSHDUPMask (MVT VT, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodeMOVDDUPMask (MVT VT, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodePSLLDQMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodePSRLDQMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodePALIGNRMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodePSHUFMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 DecodePSHUFMask - This decodes the shuffle masks for pshufd, and vpermilp*. More...
 
void llvm::DecodePSHUFHWMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodePSHUFLWMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodeSHUFPMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 DecodeSHUFPMask - This decodes the shuffle masks for shufp*. More...
 
void llvm::DecodeUNPCKHMask (MVT VT, SmallVectorImpl< int > &ShuffleMask)
 DecodeUNPCKHMask - This decodes the shuffle masks for unpckhps/unpckhpd and punpckh*. More...
 
void llvm::DecodeUNPCKLMask (MVT VT, SmallVectorImpl< int > &ShuffleMask)
 DecodeUNPCKLMask - This decodes the shuffle masks for unpcklps/unpcklpd and punpckl*. More...
 
void llvm::DecodePSHUFBMask (const Constant *C, SmallVectorImpl< int > &ShuffleMask)
 Decode a PSHUFB mask from an IR-level vector constant. More...
 
void llvm::DecodePSHUFBMask (ArrayRef< uint64_t > RawMask, SmallVectorImpl< int > &ShuffleMask)
 Decode a PSHUFB mask from a raw array of constants such as from BUILD_VECTOR. More...
 
void llvm::DecodeBLENDMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 Decode a BLEND immediate mask into a shuffle mask. More...
 
void llvm::DecodeVPERM2X128Mask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodeVPERMMask (unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 DecodeVPERMMask - this decodes the shuffle masks for VPERMQ/VPERMPD. More...
 
void llvm::DecodeVPERMILPMask (const Constant *C, SmallVectorImpl< int > &ShuffleMask)
 Decode a VPERMILP variable mask from an IR-level vector constant. More...
 
void llvm::DecodeZeroExtendMask (MVT SrcVT, MVT DstVT, SmallVectorImpl< int > &ShuffleMask)
 Decode a zero extension instruction as a shuffle mask. More...
 
void llvm::DecodeZeroMoveLowMask (MVT VT, SmallVectorImpl< int > &ShuffleMask)
 Decode a move lower and zero upper instruction as a shuffle mask. More...
 
void llvm::DecodeScalarMoveMask (MVT VT, bool IsLoad, SmallVectorImpl< int > &ShuffleMask)
 Decode a scalar float move instruction as a shuffle mask. More...
 
void llvm::DecodeEXTRQIMask (int Len, int Idx, SmallVectorImpl< int > &ShuffleMask)
 Decode a SSE4A EXTRQ instruction as a v16i8 shuffle mask. More...
 
void llvm::DecodeINSERTQIMask (int Len, int Idx, SmallVectorImpl< int > &ShuffleMask)
 Decode a SSE4A INSERTQ instruction as a v16i8 shuffle mask. More...