LLVM 22.0.0git
Enumerations | Functions
llvm::RISCVVType Namespace Reference

Enumerations

enum  VLMUL : uint8_t {
  LMUL_1 = 0 , LMUL_2 , LMUL_4 , LMUL_8 ,
  LMUL_RESERVED , LMUL_F8 , LMUL_F4 , LMUL_F2
}
 
enum  { TAIL_UNDISTURBED_MASK_UNDISTURBED = 0 , TAIL_AGNOSTIC = 1 , MASK_AGNOSTIC = 2 }
 

Functions

static bool isValidSEW (unsigned SEW)
 
static bool isValidLMUL (unsigned LMUL, bool Fractional)
 
LLVM_ABI unsigned encodeVTYPE (VLMUL VLMUL, unsigned SEW, bool TailAgnostic, bool MaskAgnostic, bool AltFmt=false)
 
LLVM_ABI unsigned encodeXSfmmVType (unsigned SEW, unsigned Widen, bool AltFmt)
 
static VLMUL getVLMUL (unsigned VType)
 
LLVM_ABI std::pair< unsigned, booldecodeVLMUL (VLMUL VLMul)
 
static VLMUL encodeLMUL (unsigned LMUL, bool Fractional)
 
static unsigned decodeVSEW (unsigned VSEW)
 
static unsigned encodeSEW (unsigned SEW)
 
static unsigned getSEW (unsigned VType)
 
static unsigned decodeTWiden (unsigned TWiden)
 
static bool hasXSfmmWiden (unsigned VType)
 
static unsigned getXSfmmWiden (unsigned VType)
 
static bool isValidXSfmmVType (unsigned VTypeI)
 
static bool isTailAgnostic (unsigned VType)
 
static bool isMaskAgnostic (unsigned VType)
 
static bool isAltFmt (unsigned VType)
 
LLVM_ABI void printVType (unsigned VType, raw_ostream &OS)
 
LLVM_ABI unsigned getSEWLMULRatio (unsigned SEW, VLMUL VLMul)
 
LLVM_ABI std::optional< VLMULgetSameRatioLMUL (unsigned SEW, VLMUL VLMUL, unsigned EEW)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
TAIL_UNDISTURBED_MASK_UNDISTURBED 
TAIL_AGNOSTIC 
MASK_AGNOSTIC 

Definition at line 84 of file RISCVTargetParser.h.

◆ VLMUL

Enumerator
LMUL_1 
LMUL_2 
LMUL_4 
LMUL_8 
LMUL_RESERVED 
LMUL_F8 
LMUL_F4 
LMUL_F2 

Definition at line 73 of file RISCVTargetParser.h.

Function Documentation

◆ decodeTWiden()

static unsigned llvm::RISCVVType::decodeTWiden ( unsigned  TWiden)
inlinestatic

Definition at line 134 of file RISCVTargetParser.h.

References assert().

◆ decodeVLMUL()

std::pair< unsigned, bool > llvm::RISCVVType::decodeVLMUL ( VLMUL  VLMul)

◆ decodeVSEW()

static unsigned llvm::RISCVVType::decodeVSEW ( unsigned  VSEW)
inlinestatic

◆ encodeLMUL()

static VLMUL llvm::RISCVVType::encodeLMUL ( unsigned  LMUL,
bool  Fractional 
)
inlinestatic

Definition at line 113 of file RISCVTargetParser.h.

References assert(), isValidLMUL(), and llvm::Log2_32().

Referenced by getSameRatioLMUL(), and lowerGetVectorLength().

◆ encodeSEW()

static unsigned llvm::RISCVVType::encodeSEW ( unsigned  SEW)
inlinestatic

◆ encodeVTYPE()

unsigned llvm::RISCVVType::encodeVTYPE ( VLMUL  VLMUL,
unsigned  SEW,
bool  TailAgnostic,
bool  MaskAgnostic,
bool  AltFmt = false 
)

Definition at line 161 of file RISCVTargetParser.cpp.

References assert(), encodeSEW(), and isValidSEW().

Referenced by llvm::RISCVDAGToDAGISel::selectVSETVLI().

◆ encodeXSfmmVType()

unsigned llvm::RISCVVType::encodeXSfmmVType ( unsigned  SEW,
unsigned  Widen,
bool  AltFmt 
)

Definition at line 177 of file RISCVTargetParser.cpp.

References assert(), encodeSEW(), isValidSEW(), llvm::Log2_32(), and Widen().

◆ getSameRatioLMUL()

std::optional< VLMUL > llvm::RISCVVType::getSameRatioLMUL ( unsigned  SEW,
VLMUL  VLMUL,
unsigned  EEW 
)

Definition at line 243 of file RISCVTargetParser.cpp.

References encodeLMUL(), getSEWLMULRatio(), and isValidLMUL().

Referenced by adjustIncoming(), and llvm::mca::getEEWAndEMUL().

◆ getSEW()

static unsigned llvm::RISCVVType::getSEW ( unsigned  VType)
inlinestatic

◆ getSEWLMULRatio()

unsigned llvm::RISCVVType::getSEWLMULRatio ( unsigned  SEW,
VLMUL  VLMul 
)

◆ getVLMUL()

static VLMUL llvm::RISCVVType::getVLMUL ( unsigned  VType)
inlinestatic

◆ getXSfmmWiden()

static unsigned llvm::RISCVVType::getXSfmmWiden ( unsigned  VType)
inlinestatic

Definition at line 145 of file RISCVTargetParser.h.

References assert().

Referenced by isValidXSfmmVType(), and llvm::RISCVInstPrinter::printXSfmmVType().

◆ hasXSfmmWiden()

static bool llvm::RISCVVType::hasXSfmmWiden ( unsigned  VType)
inlinestatic

Definition at line 140 of file RISCVTargetParser.h.

Referenced by isValidXSfmmVType().

◆ isAltFmt()

static bool llvm::RISCVVType::isAltFmt ( unsigned  VType)
inlinestatic

◆ isMaskAgnostic()

static bool llvm::RISCVVType::isMaskAgnostic ( unsigned  VType)
inlinestatic

Definition at line 158 of file RISCVTargetParser.h.

Referenced by printVType().

◆ isTailAgnostic()

static bool llvm::RISCVVType::isTailAgnostic ( unsigned  VType)
inlinestatic

Definition at line 156 of file RISCVTargetParser.h.

Referenced by isConvertibleToVMV_V_V(), and printVType().

◆ isValidLMUL()

static bool llvm::RISCVVType::isValidLMUL ( unsigned  LMUL,
bool  Fractional 
)
inlinestatic

Definition at line 96 of file RISCVTargetParser.h.

References llvm::isPowerOf2_32().

Referenced by encodeLMUL(), and getSameRatioLMUL().

◆ isValidSEW()

static bool llvm::RISCVVType::isValidSEW ( unsigned  SEW)
inlinestatic

◆ isValidXSfmmVType()

static bool llvm::RISCVVType::isValidXSfmmVType ( unsigned  VTypeI)
inlinestatic

Definition at line 151 of file RISCVTargetParser.h.

References getSEW(), getXSfmmWiden(), and hasXSfmmWiden().

Referenced by llvm::RISCVInstPrinter::printXSfmmVType().

◆ printVType()

void llvm::RISCVVType::printVType ( unsigned  VType,
raw_ostream OS 
)