Monero
Loading...
Searching...
No Matches
randomx::SuperscalarInstruction Class Reference
Collaboration diagram for randomx::SuperscalarInstruction:

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: