Monero
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
randomx::SuperscalarInstruction Class Reference
Collaboration diagram for randomx::SuperscalarInstruction:
Collaboration graph
[legend]

Public Member Functions

void toInstr (Instruction &instr)
 
void createForSlot (Blake2Generator &gen, int slotSize, int fetchType, bool isLast, bool isFirst)
 
void create (const SuperscalarInstructionInfo *info, Blake2Generator &gen)
 
bool selectDestination (int cycle, bool allowChainedMul, RegisterInfo(&registers)[8], Blake2Generator &gen)
 
bool selectSource (int cycle, RegisterInfo(&registers)[8], Blake2Generator &gen)
 
SuperscalarInstructionType getType ()
 
int getSource ()
 
int getDestination ()
 
SuperscalarInstructionType getGroup ()
 
int getGroupPar ()
 
const SuperscalarInstructionInfogetInfo () const
 

Static Public Attributes

static const SuperscalarInstruction Null = SuperscalarInstruction(&SuperscalarInstructionInfo::NOP)
 

Private Member Functions

void reset ()
 
 SuperscalarInstruction (const SuperscalarInstructionInfo *info)
 

Private Attributes

const SuperscalarInstructionInfoinfo_
 
int src_ = -1
 
int dst_ = -1
 
int mod_
 
uint32_t imm32_
 
SuperscalarInstructionType opGroup_
 
int opGroupPar_
 
bool canReuse_ = false
 
bool groupParIsSource_ = false
 

Constructor & Destructor Documentation

◆ SuperscalarInstruction()

randomx::SuperscalarInstruction::SuperscalarInstruction ( const SuperscalarInstructionInfo info)
inlineprivate

Member Function Documentation

◆ create()

void randomx::SuperscalarInstruction::create ( const SuperscalarInstructionInfo info,
Blake2Generator gen 
)
inline

◆ createForSlot()

void randomx::SuperscalarInstruction::createForSlot ( Blake2Generator gen,
int  slotSize,
int  fetchType,
bool  isLast,
bool  isFirst 
)
inline

◆ getDestination()

int randomx::SuperscalarInstruction::getDestination ( )
inline

◆ getGroup()

SuperscalarInstructionType randomx::SuperscalarInstruction::getGroup ( )
inline

◆ getGroupPar()

int randomx::SuperscalarInstruction::getGroupPar ( )
inline

◆ getInfo()

const SuperscalarInstructionInfo& randomx::SuperscalarInstruction::getInfo ( ) const
inline

◆ getSource()

int randomx::SuperscalarInstruction::getSource ( )
inline

◆ getType()

SuperscalarInstructionType randomx::SuperscalarInstruction::getType ( )
inline

◆ reset()

void randomx::SuperscalarInstruction::reset ( )
inlineprivate

◆ selectDestination()

bool randomx::SuperscalarInstruction::selectDestination ( int  cycle,
bool  allowChainedMul,
RegisterInfo(&)  registers[8],
Blake2Generator gen 
)
inline

◆ selectSource()

bool randomx::SuperscalarInstruction::selectSource ( int  cycle,
RegisterInfo(&)  registers[8],
Blake2Generator gen 
)
inline

◆ toInstr()

void randomx::SuperscalarInstruction::toInstr ( Instruction instr)
inline

Member Data Documentation

◆ canReuse_

bool randomx::SuperscalarInstruction::canReuse_ = false
private

◆ dst_

int randomx::SuperscalarInstruction::dst_ = -1
private

◆ groupParIsSource_

bool randomx::SuperscalarInstruction::groupParIsSource_ = false
private

◆ imm32_

uint32_t randomx::SuperscalarInstruction::imm32_
private

◆ info_

const SuperscalarInstructionInfo* randomx::SuperscalarInstruction::info_
private

◆ mod_

int randomx::SuperscalarInstruction::mod_
private

◆ Null

const SuperscalarInstruction randomx::SuperscalarInstruction::Null = SuperscalarInstruction(&SuperscalarInstructionInfo::NOP)
static

◆ opGroup_

SuperscalarInstructionType randomx::SuperscalarInstruction::opGroup_
private

◆ opGroupPar_

int randomx::SuperscalarInstruction::opGroupPar_
private

◆ src_

int randomx::SuperscalarInstruction::src_ = -1
private

The documentation for this class was generated from the following file: