LLVM 19.0.0git
Functions
llvm::RISCVVType Namespace Reference

Functions

static bool isValidSEW (unsigned SEW)
 
static bool isValidLMUL (unsigned LMUL, bool Fractional)
 
unsigned encodeVTYPE (RISCVII::VLMUL VLMUL, unsigned SEW, bool TailAgnostic, bool MaskAgnostic)
 
static RISCVII::VLMUL getVLMUL (unsigned VType)
 
std::pair< unsigned, booldecodeVLMUL (RISCVII::VLMUL VLMUL)
 
static RISCVII::VLMUL encodeLMUL (unsigned LMUL, bool Fractional)
 
static unsigned decodeVSEW (unsigned VSEW)
 
static unsigned encodeSEW (unsigned SEW)
 
static unsigned getSEW (unsigned VType)
 
static bool isTailAgnostic (unsigned VType)
 
static bool isMaskAgnostic (unsigned VType)
 
void printVType (unsigned VType, raw_ostream &OS)
 
unsigned getSEWLMULRatio (unsigned SEW, RISCVII::VLMUL VLMul)
 
std::optional< RISCVII::VLMULgetSameRatioLMUL (unsigned SEW, RISCVII::VLMUL VLMUL, unsigned EEW)
 

Function Documentation

◆ decodeVLMUL()

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

◆ decodeVSEW()

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

◆ encodeLMUL()

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

Definition at line 509 of file RISCVBaseInfo.h.

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

Referenced by getSameRatioLMUL(), and lowerGetVectorLength().

◆ encodeSEW()

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

Definition at line 520 of file RISCVBaseInfo.h.

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

Referenced by lowerGetVectorLength(), and lowerVectorIntrinsicScalars().

◆ encodeVTYPE()

unsigned llvm::RISCVVType::encodeVTYPE ( RISCVII::VLMUL  VLMUL,
unsigned  SEW,
bool  TailAgnostic,
bool  MaskAgnostic 
)

Definition at line 146 of file RISCVBaseInfo.cpp.

References assert().

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

◆ getSameRatioLMUL()

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

Definition at line 214 of file RISCVBaseInfo.cpp.

References encodeLMUL(), and getSEWLMULRatio().

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

◆ getSEW()

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

◆ getSEWLMULRatio()

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

Definition at line 201 of file RISCVBaseInfo.cpp.

References assert(), and decodeVLMUL().

Referenced by getSameRatioLMUL(), and llvm::RISCVDAGToDAGISel::selectVSETVLI().

◆ getVLMUL()

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

◆ isMaskAgnostic()

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

Definition at line 532 of file RISCVBaseInfo.h.

◆ isTailAgnostic()

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

Definition at line 530 of file RISCVBaseInfo.h.

Referenced by isConvertibleToVMV_V_V().

◆ isValidLMUL()

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

Definition at line 494 of file RISCVBaseInfo.h.

References llvm::isPowerOf2_32().

Referenced by encodeLMUL().

◆ isValidSEW()

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

◆ printVType()

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