Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
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()

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

Definition at line 134 of file RISCVTargetParser.h.

References assert().

◆ decodeVLMUL()

◆ decodeVSEW()

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

◆ encodeLMUL()

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()

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()

◆ getSEWLMULRatio()

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

◆ getVLMUL()

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

◆ getXSfmmWiden()

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()

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

Definition at line 140 of file RISCVTargetParser.h.

Referenced by isValidXSfmmVType().

◆ isAltFmt()

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

◆ isMaskAgnostic()

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

Definition at line 158 of file RISCVTargetParser.h.

Referenced by printVType().

◆ isTailAgnostic()

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

Definition at line 156 of file RISCVTargetParser.h.

Referenced by isConvertibleToVMV_V_V(), and printVType().

◆ isValidLMUL()

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()

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

◆ isValidXSfmmVType()

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()