LLVM 23.0.0git
llvm::RISCVVType::IME Namespace Reference

Functions

static bool isValidLambda (unsigned Lambda)
LLVM_ABI unsigned encodeLambda (unsigned Lambda)
LLVM_ABI std::optional< unsigneddecodeLambda (unsigned Encoding)
LLVM_ABI uint64_t getVTypeFieldsMask (unsigned XLen)
LLVM_ABI uint64_t encodeVTypeFields (unsigned XLen, unsigned Lambda, bool AltFmtA, bool AltFmtB, bool BlockSize16)
LLVM_ABI uint64_t addVTypeFields (uint64_t VType, unsigned XLen, unsigned Lambda, bool AltFmtA, bool AltFmtB, bool BlockSize16)
LLVM_ABI unsigned getLambdaEncoding (uint64_t VType, unsigned XLen)
LLVM_ABI std::optional< unsignedgetLambda (uint64_t VType, unsigned XLen)
LLVM_ABI bool isAltFmtA (uint64_t VType, unsigned XLen)
LLVM_ABI bool isAltFmtB (uint64_t VType, unsigned XLen)
LLVM_ABI bool isBlockSize16 (uint64_t VType, unsigned XLen)
static void assertValidXLenForVType (unsigned XLen)
static unsigned getLambdaShift (unsigned XLen)
static unsigned getAltFmtAShift (unsigned XLen)
static unsigned getAltFmtBShift (unsigned XLen)
static unsigned getBSShift (unsigned XLen)

Function Documentation

◆ addVTypeFields()

uint64_t llvm::RISCVVType::IME::addVTypeFields ( uint64_t VType,
unsigned XLen,
unsigned Lambda,
bool AltFmtA,
bool AltFmtB,
bool BlockSize16 )

Definition at line 449 of file RISCVTargetParser.cpp.

References encodeVTypeFields(), and getVTypeFieldsMask().

◆ assertValidXLenForVType()

void llvm::RISCVVType::IME::assertValidXLenForVType ( unsigned XLen)
static

◆ decodeLambda()

std::optional< unsigned > llvm::RISCVVType::IME::decodeLambda ( unsigned Encoding)

Definition at line 423 of file RISCVTargetParser.cpp.

References assert().

Referenced by getLambda().

◆ encodeLambda()

unsigned llvm::RISCVVType::IME::encodeLambda ( unsigned Lambda)

Definition at line 416 of file RISCVTargetParser.cpp.

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

Referenced by encodeVTypeFields().

◆ encodeVTypeFields()

uint64_t llvm::RISCVVType::IME::encodeVTypeFields ( unsigned XLen,
unsigned Lambda,
bool AltFmtA,
bool AltFmtB,
bool BlockSize16 )

◆ getAltFmtAShift()

unsigned llvm::RISCVVType::IME::getAltFmtAShift ( unsigned XLen)
static

Definition at line 401 of file RISCVTargetParser.cpp.

References assertValidXLenForVType().

Referenced by encodeVTypeFields(), getVTypeFieldsMask(), and isAltFmtA().

◆ getAltFmtBShift()

unsigned llvm::RISCVVType::IME::getAltFmtBShift ( unsigned XLen)
static

Definition at line 406 of file RISCVTargetParser.cpp.

References assertValidXLenForVType().

Referenced by encodeVTypeFields(), getVTypeFieldsMask(), and isAltFmtB().

◆ getBSShift()

unsigned llvm::RISCVVType::IME::getBSShift ( unsigned XLen)
static

◆ getLambda()

std::optional< unsigned > llvm::RISCVVType::IME::getLambda ( uint64_t VType,
unsigned XLen )

Definition at line 460 of file RISCVTargetParser.cpp.

References decodeLambda(), and getLambdaEncoding().

◆ getLambdaEncoding()

unsigned llvm::RISCVVType::IME::getLambdaEncoding ( uint64_t VType,
unsigned XLen )

Definition at line 455 of file RISCVTargetParser.cpp.

References assertValidXLenForVType(), and getLambdaShift().

Referenced by getLambda().

◆ getLambdaShift()

unsigned llvm::RISCVVType::IME::getLambdaShift ( unsigned XLen)
static

◆ getVTypeFieldsMask()

uint64_t llvm::RISCVVType::IME::getVTypeFieldsMask ( unsigned XLen)

◆ isAltFmtA()

bool llvm::RISCVVType::IME::isAltFmtA ( uint64_t VType,
unsigned XLen )

Definition at line 464 of file RISCVTargetParser.cpp.

References assertValidXLenForVType(), and getAltFmtAShift().

◆ isAltFmtB()

bool llvm::RISCVVType::IME::isAltFmtB ( uint64_t VType,
unsigned XLen )

Definition at line 469 of file RISCVTargetParser.cpp.

References assertValidXLenForVType(), and getAltFmtBShift().

◆ isBlockSize16()

bool llvm::RISCVVType::IME::isBlockSize16 ( uint64_t VType,
unsigned XLen )

Definition at line 474 of file RISCVTargetParser.cpp.

References assertValidXLenForVType(), and getBSShift().

◆ isValidLambda()

bool llvm::RISCVVType::IME::isValidLambda ( unsigned Lambda)
inlinestatic

Definition at line 132 of file RISCVTargetParser.h.

References llvm::isPowerOf2_32().

Referenced by encodeLambda().