LLVM  6.0.0svn
Classes | Namespaces | Enumerations | Functions
X86ShuffleDecode.h File Reference
#include "llvm/ADT/SmallVector.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.

Classes

class  llvm::ArrayRef< T >
 ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory), i.e. More...
 

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)
 Decode a 128-bit INSERTPS instruction as a v4f32 shuffle mask. More...
 
void llvm::DecodeInsertElementMask (MVT VT, unsigned Idx, unsigned Len, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodeMOVHLPSMask (unsigned NElts, SmallVectorImpl< int > &ShuffleMask)
 Decode a MOVHLPS instruction as a v2f64/v4f32 shuffle mask. More...
 
void llvm::DecodeMOVLHPSMask (unsigned NElts, SmallVectorImpl< int > &ShuffleMask)
 Decode a MOVLHPS instruction as a v2f64/v4f32 shuffle mask. More...
 
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::DecodeVALIGNMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 
void llvm::DecodePSHUFMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 DecodePSHUFMask - This decodes the shuffle masks for pshufw, pshufd, and vpermilp*. More...
 
void llvm::DecodePSHUFHWMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 Decodes the shuffle masks for pshufhw. More...
 
void llvm::DecodePSHUFLWMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 Decodes the shuffle masks for pshuflw. More...
 
void llvm::DecodePSWAPMask (MVT VT, SmallVectorImpl< int > &ShuffleMask)
 Decodes a PSWAPD 3DNow! instruction. More...
 
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::DecodeVectorBroadcast (MVT DstVT, SmallVectorImpl< int > &ShuffleMask)
 Decodes a broadcast of the first element of a vector. More...
 
void llvm::DecodeSubVectorBroadcast (MVT DstVT, MVT SrcVT, SmallVectorImpl< int > &ShuffleMask)
 Decodes a broadcast of a subvector to a larger vector type. 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::decodeVSHUF64x2FamilyMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 Decode a shuffle packed values at 128-bit granularity (SHUFF32x4/SHUFF64x2/SHUFI32x4/SHUFI64x2) immediate mask into a shuffle mask. More...
 
void llvm::DecodeVPERMMask (MVT VT, unsigned Imm, SmallVectorImpl< int > &ShuffleMask)
 DecodeVPERMMask - this decodes the shuffle masks for VPERMQ/VPERMPD. More...
 
void llvm::DecodeVPPERMMask (ArrayRef< uint64_t > RawMask, SmallVectorImpl< int > &ShuffleMask)
 Decode a VPPERM mask from a raw array of constants such as from BUILD_VECTOR. More...
 
void llvm::DecodeZeroExtendMask (MVT SrcScalarVT, 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 (MVT VT, int Len, int Idx, SmallVectorImpl< int > &ShuffleMask)
 Decode a SSE4A EXTRQ instruction as a shuffle mask. More...
 
void llvm::DecodeINSERTQIMask (MVT VT, int Len, int Idx, SmallVectorImpl< int > &ShuffleMask)
 Decode a SSE4A INSERTQ instruction as a shuffle mask. More...
 
void llvm::DecodeVPERMILPMask (MVT VT, ArrayRef< uint64_t > RawMask, SmallVectorImpl< int > &ShuffleMask)
 Decode a VPERMILPD/VPERMILPS variable mask from a raw array of constants. More...
 
void llvm::DecodeVPERMIL2PMask (MVT VT, unsigned M2Z, ArrayRef< uint64_t > RawMask, SmallVectorImpl< int > &ShuffleMask)
 Decode a VPERMIL2PD/VPERMIL2PS variable mask from a raw array of constants. More...
 
void llvm::DecodeVPERMVMask (ArrayRef< uint64_t > RawMask, SmallVectorImpl< int > &ShuffleMask)
 Decode a VPERM W/D/Q/PS/PD mask from a raw array of constants. More...
 
void llvm::DecodeVPERMV3Mask (ArrayRef< uint64_t > RawMask, SmallVectorImpl< int > &ShuffleMask)
 Decode a VPERMT2 W/D/Q/PS/PD mask from a raw array of constants. More...