clang 19.0.0git
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
clang::RISCV::PrototypeDescriptor Struct Reference

#include "clang/Support/RISCVVIntrinsicUtils.h"

Public Member Functions

constexpr PrototypeDescriptor ()=default
 
constexpr PrototypeDescriptor (BaseTypeModifier PT, VectorTypeModifier VTM=VectorTypeModifier::NoModifier, TypeModifier TM=TypeModifier::NoModifier)
 
constexpr PrototypeDescriptor (uint8_t PT, uint8_t VTM, uint8_t TM)
 
bool operator!= (const PrototypeDescriptor &PD) const
 
bool operator== (const PrototypeDescriptor &PD) const
 
bool operator< (const PrototypeDescriptor &PD) const
 

Static Public Member Functions

static std::optional< PrototypeDescriptorparsePrototypeDescriptor (llvm::StringRef PrototypeStr)
 

Public Attributes

uint8_t PT = static_cast<uint8_t>(BaseTypeModifier::Invalid)
 
uint8_t VTM = static_cast<uint8_t>(VectorTypeModifier::NoModifier)
 
uint8_t TM = static_cast<uint8_t>(TypeModifier::NoModifier)
 

Static Public Attributes

static const PrototypeDescriptor Mask
 
static const PrototypeDescriptor Vector
 
static const PrototypeDescriptor VL
 

Detailed Description

Definition at line 170 of file RISCVVIntrinsicUtils.h.

Constructor & Destructor Documentation

◆ PrototypeDescriptor() [1/3]

constexpr clang::RISCV::PrototypeDescriptor::PrototypeDescriptor ( )
constexprdefault

◆ PrototypeDescriptor() [2/3]

constexpr clang::RISCV::PrototypeDescriptor::PrototypeDescriptor ( BaseTypeModifier  PT,
VectorTypeModifier  VTM = VectorTypeModifier::NoModifier,
TypeModifier  TM = TypeModifier::NoModifier 
)
inlineconstexpr

Definition at line 172 of file RISCVVIntrinsicUtils.h.

◆ PrototypeDescriptor() [3/3]

constexpr clang::RISCV::PrototypeDescriptor::PrototypeDescriptor ( uint8_t  PT,
uint8_t  VTM,
uint8_t  TM 
)
inlineconstexpr

Definition at line 178 of file RISCVVIntrinsicUtils.h.

Member Function Documentation

◆ operator!=()

bool clang::RISCV::PrototypeDescriptor::operator!= ( const PrototypeDescriptor PD) const
inline

Definition at line 185 of file RISCVVIntrinsicUtils.h.

◆ operator<()

bool clang::RISCV::PrototypeDescriptor::operator< ( const PrototypeDescriptor PD) const
inline

Definition at line 191 of file RISCVVIntrinsicUtils.h.

References PT, TM, and VTM.

◆ operator==()

bool clang::RISCV::PrototypeDescriptor::operator== ( const PrototypeDescriptor PD) const
inline

Definition at line 188 of file RISCVVIntrinsicUtils.h.

References PT, TM, and VTM.

◆ parsePrototypeDescriptor()

std::optional< PrototypeDescriptor > clang::RISCV::PrototypeDescriptor::parsePrototypeDescriptor ( llvm::StringRef  PrototypeStr)
static

Definition at line 408 of file RISCVVIntrinsicUtils.cpp.

References clang::RISCV::Const, clang::RISCV::FixedSEW16, clang::RISCV::FixedSEW32, clang::RISCV::FixedSEW64, clang::RISCV::FixedSEW8, clang::RISCV::Float, clang::RISCV::Float32, clang::RISCV::getTupleVTM(), clang::RISCV::Immediate, clang::RISCV::Invalid, clang::RISCV::LFixedLog2LMUL0, clang::RISCV::LFixedLog2LMUL1, clang::RISCV::LFixedLog2LMUL2, clang::RISCV::LFixedLog2LMUL3, clang::RISCV::LFixedLog2LMULN1, clang::RISCV::LFixedLog2LMULN2, clang::RISCV::LFixedLog2LMULN3, clang::RISCV::LMUL1, clang::RISCV::Log2EEW3, clang::RISCV::Log2EEW4, clang::RISCV::Log2EEW5, clang::RISCV::Log2EEW6, clang::RISCV::MaskVector, clang::RISCV::NoModifier, clang::RISCV::Pointer, PT, clang::RISCV::Ptrdiff, clang::RISCV::Scalar, clang::RISCV::SEFixedLog2LMUL0, clang::RISCV::SEFixedLog2LMUL1, clang::RISCV::SEFixedLog2LMUL2, clang::RISCV::SEFixedLog2LMUL3, clang::RISCV::SEFixedLog2LMULN1, clang::RISCV::SEFixedLog2LMULN2, clang::RISCV::SEFixedLog2LMULN3, clang::RISCV::SFixedLog2LMUL0, clang::RISCV::SFixedLog2LMUL1, clang::RISCV::SFixedLog2LMUL2, clang::RISCV::SFixedLog2LMUL3, clang::RISCV::SFixedLog2LMULN1, clang::RISCV::SFixedLog2LMULN2, clang::RISCV::SFixedLog2LMULN3, clang::RISCV::SignedInteger, clang::RISCV::SignedLong, clang::RISCV::SizeT, TM, clang::RISCV::UnsignedInteger, clang::RISCV::UnsignedLong, clang::RISCV::Vector, clang::RISCV::Void, VTM, clang::RISCV::Widening2XVector, clang::RISCV::Widening4XVector, and clang::RISCV::Widening8XVector.

Referenced by clang::RISCV::parsePrototypes().

Member Data Documentation

◆ Mask

const PrototypeDescriptor clang::RISCV::PrototypeDescriptor::Mask
static

◆ PT

uint8_t clang::RISCV::PrototypeDescriptor::PT = static_cast<uint8_t>(BaseTypeModifier::Invalid)

◆ TM

uint8_t clang::RISCV::PrototypeDescriptor::TM = static_cast<uint8_t>(TypeModifier::NoModifier)

◆ Vector

const PrototypeDescriptor clang::RISCV::PrototypeDescriptor::Vector
static
Initial value:

Definition at line 195 of file RISCVVIntrinsicUtils.h.

◆ VL

const PrototypeDescriptor clang::RISCV::PrototypeDescriptor::VL
static

◆ VTM

uint8_t clang::RISCV::PrototypeDescriptor::VTM = static_cast<uint8_t>(VectorTypeModifier::NoModifier)

The documentation for this struct was generated from the following files: