Go to the documentation of this file.
13 #ifndef LLVM_LIB_TARGET_RISCV_MCTARGETDESC_RISCVBASEINFO_H
14 #define LLVM_LIB_TARGET_RISCV_MCTARGETDESC_RISCVBASEINFO_H
125 namespace RISCVFenceField {
135 namespace RISCVFPRndMode {
191 namespace RISCVSysReg {
210 if (
isRV32Only && ActiveFeatures[RISCV::Feature64Bit])
219 #define GET_SysRegsList_DECL
220 #include "RISCVGenSearchableTables.inc"
251 namespace RISCVFeatures {
255 void validate(
const Triple &TT,
const FeatureBitset &FeatureBits);
281 namespace RISCVVType {
302 bool TailAgnostic,
bool MaskAgnostic) {
303 unsigned VLMULBits =
static_cast<unsigned>(VLMUL);
304 unsigned VSEWBits =
static_cast<unsigned>(VSEW);
305 unsigned VTypeI = (VSEWBits << 3) | (VLMULBits & 0x7);
315 unsigned VLMUL = VType & 0x7;
320 unsigned VSEW = (VType >> 3) & 0x7;
StringSwitch & Case(StringLiteral S, T Value)
static bool isValidLMUL(unsigned LMUL, bool Fractional)
This class represents lattice values for constants.
static RISCVVSEW getVSEW(unsigned VType)
ABI getTargetABI(StringRef ABIName)
LLVM_NODISCARD R Default(T Value)
Triple - Helper class for working with autoconf configuration names.
static bool isValidSEW(unsigned SEW)
static bool isTailAgnostic(unsigned VType)
Container class for subtarget features.
constexpr bool isPowerOf2_32(uint32_t Value)
Return true if the argument is a power of two > 0.
void validate(const Triple &TT, const FeatureBitset &FeatureBits)
static RoundingMode stringToRoundingMode(StringRef Str)
static RISCVVLMUL getVLMUL(unsigned VType)
This class implements an extremely fast bulk output stream that can only output to a stream.
static unsigned encodeVTYPE(RISCVVLMUL VLMUL, RISCVVSEW VSEW, bool TailAgnostic, bool MaskAgnostic)
StringRef - Represent a constant reference to a string, i.e.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
static StringRef roundingModeToString(RoundingMode RndMode)
void printVType(unsigned VType, raw_ostream &OS)
static bool isValidRoundingMode(unsigned Mode)
static bool isMaskAgnostic(unsigned VType)
ABI computeTargetABI(const Triple &TT, FeatureBitset FeatureBits, StringRef ABIName)
FeatureBitset FeaturesRequired
bool haveRequiredFeatures(FeatureBitset ActiveFeatures) const
A switch()-like statement whose cases are string literals.
@ OPERAND_FIRST_RISCV_IMM
Wrapper class representing physical registers. Should be passed by value.