Monero
Loading...
Searching...
No Matches
randomx::Instruction Class Reference

#include <instruction.hpp>

Public Member Functions

uint32_t getImm32 () const
void setImm32 (uint32_t val)
const char * getName () const
int getModMem () const
int getModShift () const
int getModCond () const
void setMod (uint8_t val)

Public Attributes

uint8_t opcode
uint8_t dst
uint8_t src
uint8_t mod
uint32_t imm32

Private Member Functions

void print (std::ostream &) const
void genAddressReg (std::ostream &os, int) const
void genAddressImm (std::ostream &os) const
void genAddressRegDst (std::ostream &, int) const
void h_IADD_RS (std::ostream &) const
void h_IADD_M (std::ostream &) const
void h_ISUB_R (std::ostream &) const
void h_ISUB_M (std::ostream &) const
void h_IMUL_R (std::ostream &) const
void h_IMUL_M (std::ostream &) const
void h_IMULH_R (std::ostream &) const
void h_IMULH_M (std::ostream &) const
void h_ISMULH_R (std::ostream &) const
void h_ISMULH_M (std::ostream &) const
void h_IMUL_RCP (std::ostream &) const
void h_INEG_R (std::ostream &) const
void h_IXOR_R (std::ostream &) const
void h_IXOR_M (std::ostream &) const
void h_IROR_R (std::ostream &) const
void h_IROL_R (std::ostream &) const
void h_ISWAP_R (std::ostream &) const
void h_FSWAP_R (std::ostream &) const
void h_FADD_R (std::ostream &) const
void h_FADD_M (std::ostream &) const
void h_FSUB_R (std::ostream &) const
void h_FSUB_M (std::ostream &) const
void h_FSCAL_R (std::ostream &) const
void h_FMUL_R (std::ostream &) const
void h_FDIV_M (std::ostream &) const
void h_FSQRT_R (std::ostream &) const
void h_CBRANCH (std::ostream &) const
void h_CFROUND (std::ostream &) const
void h_ISTORE (std::ostream &) const
void h_NOP (std::ostream &) const

Static Private Attributes

static const char * names [256]
static InstructionFormatter engine [256]

Friends

std::ostream & operator<< (std::ostream &os, const Instruction &i)

Member Function Documentation

◆ genAddressImm()

void randomx::Instruction::genAddressImm ( std::ostream & os) const
private

◆ genAddressReg()

void randomx::Instruction::genAddressReg ( std::ostream & os,
int srcIndex ) const
private

◆ genAddressRegDst()

void randomx::Instruction::genAddressRegDst ( std::ostream & os,
int dstIndex ) const
private

◆ getImm32()

uint32_t randomx::Instruction::getImm32 ( ) const
inline

◆ getModCond()

int randomx::Instruction::getModCond ( ) const
inline

◆ getModMem()

int randomx::Instruction::getModMem ( ) const
inline

◆ getModShift()

int randomx::Instruction::getModShift ( ) const
inline

◆ getName()

const char * randomx::Instruction::getName ( ) const
inline

◆ h_CBRANCH()

void randomx::Instruction::h_CBRANCH ( std::ostream & os) const
private

◆ h_CFROUND()

void randomx::Instruction::h_CFROUND ( std::ostream & os) const
private

◆ h_FADD_M()

void randomx::Instruction::h_FADD_M ( std::ostream & os) const
private

◆ h_FADD_R()

void randomx::Instruction::h_FADD_R ( std::ostream & os) const
private

◆ h_FDIV_M()

void randomx::Instruction::h_FDIV_M ( std::ostream & os) const
private

◆ h_FMUL_R()

void randomx::Instruction::h_FMUL_R ( std::ostream & os) const
private

◆ h_FSCAL_R()

void randomx::Instruction::h_FSCAL_R ( std::ostream & os) const
private

◆ h_FSQRT_R()

void randomx::Instruction::h_FSQRT_R ( std::ostream & os) const
private

◆ h_FSUB_M()

void randomx::Instruction::h_FSUB_M ( std::ostream & os) const
private

◆ h_FSUB_R()

void randomx::Instruction::h_FSUB_R ( std::ostream & os) const
private

◆ h_FSWAP_R()

void randomx::Instruction::h_FSWAP_R ( std::ostream & os) const
private

◆ h_IADD_M()

void randomx::Instruction::h_IADD_M ( std::ostream & os) const
private

◆ h_IADD_RS()

void randomx::Instruction::h_IADD_RS ( std::ostream & os) const
private

◆ h_IMUL_M()

void randomx::Instruction::h_IMUL_M ( std::ostream & os) const
private

◆ h_IMUL_R()

void randomx::Instruction::h_IMUL_R ( std::ostream & os) const
private

◆ h_IMUL_RCP()

void randomx::Instruction::h_IMUL_RCP ( std::ostream & os) const
private

◆ h_IMULH_M()

void randomx::Instruction::h_IMULH_M ( std::ostream & os) const
private

◆ h_IMULH_R()

void randomx::Instruction::h_IMULH_R ( std::ostream & os) const
private

◆ h_INEG_R()

void randomx::Instruction::h_INEG_R ( std::ostream & os) const
private

◆ h_IROL_R()

void randomx::Instruction::h_IROL_R ( std::ostream & os) const
private

◆ h_IROR_R()

void randomx::Instruction::h_IROR_R ( std::ostream & os) const
private

◆ h_ISMULH_M()

void randomx::Instruction::h_ISMULH_M ( std::ostream & os) const
private

◆ h_ISMULH_R()

void randomx::Instruction::h_ISMULH_R ( std::ostream & os) const
private

◆ h_ISTORE()

void randomx::Instruction::h_ISTORE ( std::ostream & os) const
private

◆ h_ISUB_M()

void randomx::Instruction::h_ISUB_M ( std::ostream & os) const
private

◆ h_ISUB_R()

void randomx::Instruction::h_ISUB_R ( std::ostream & os) const
private

◆ h_ISWAP_R()

void randomx::Instruction::h_ISWAP_R ( std::ostream & os) const
private

◆ h_IXOR_M()

void randomx::Instruction::h_IXOR_M ( std::ostream & os) const
private

◆ h_IXOR_R()

void randomx::Instruction::h_IXOR_R ( std::ostream & os) const
private

◆ h_NOP()

void randomx::Instruction::h_NOP ( std::ostream & os) const
private

◆ print()

void randomx::Instruction::print ( std::ostream & os) const
private

◆ setImm32()

void randomx::Instruction::setImm32 ( uint32_t val)
inline

◆ setMod()

void randomx::Instruction::setMod ( uint8_t val)
inline

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const Instruction & i )
friend

Member Data Documentation

◆ dst

uint8_t randomx::Instruction::dst

◆ engine

InstructionFormatter randomx::Instruction::engine
staticprivate

◆ imm32

uint32_t randomx::Instruction::imm32

◆ mod

uint8_t randomx::Instruction::mod

◆ names

const char * randomx::Instruction::names
staticprivate

◆ opcode

uint8_t randomx::Instruction::opcode

◆ src

uint8_t randomx::Instruction::src

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