Monero
Loading...
Searching...
No Matches
perf-simulation.cpp File Reference
#include "utility.hpp"
#include "../common.hpp"
#include "../aes_hash.hpp"
#include "../program.hpp"
#include "../blake2/blake2.h"
#include <algorithm>
#include <iomanip>
#include "../bytecode_machine.hpp"
Include dependency graph for perf-simulation.cpp:

Classes

struct  RegisterUsage

Functions

int analyze (randomx::Program &p)
int executeInOrder (randomx::Program &p, randomx::Program &original, bool print, int executionPorts, int memoryPorts, bool speculate, int pipeline)
int executeOutOfOrder (randomx::Program &p, randomx::Program &original, bool print, int executionPorts, int memoryPorts, bool speculate, int pipeline)
void generate (randomx::Program &p, uint32_t nonce)
bool has (randomx::Instruction &instr, uint32_t mask, uint32_t prop)
bool has (randomx::Instruction &instr, uint32_t prop)
int main (int argc, char **argv)
int getConditionRegister (RegisterUsage(&registerUsage)[randomx::RegistersCount])

Variables

constexpr uint32_t DST_NOP = 0
constexpr uint32_t DST_INT = 1
constexpr uint32_t DST_FLT = 2
constexpr uint32_t DST_MEM = 3
constexpr uint32_t MASK_DST = 3
constexpr uint32_t SRC_NOP = 0
constexpr uint32_t SRC_INT = 4
constexpr uint32_t SRC_FLT = 8
constexpr uint32_t SRC_MEM = 12
constexpr uint32_t MASK_SRC = 12
constexpr uint32_t OP_CFROUND = 16
constexpr uint32_t OP_SWAP = 32
constexpr uint32_t OP_BRANCH = 48
constexpr uint32_t MASK_EXT = 48
constexpr uint32_t OP_FLOAT = 64
constexpr uint32_t BRANCH_TARGET = 128

Function Documentation

◆ analyze()

int analyze ( randomx::Program & p)

◆ executeInOrder()

int executeInOrder ( randomx::Program & p,
randomx::Program & original,
bool print,
int executionPorts,
int memoryPorts,
bool speculate,
int pipeline )

◆ executeOutOfOrder()

int executeOutOfOrder ( randomx::Program & p,
randomx::Program & original,
bool print,
int executionPorts,
int memoryPorts,
bool speculate,
int pipeline )

◆ generate()

void generate ( randomx::Program & p,
uint32_t nonce )

◆ getConditionRegister()

int getConditionRegister ( RegisterUsage(&) registerUsage[randomx::RegistersCount])
inline

◆ has() [1/2]

bool has ( randomx::Instruction & instr,
uint32_t mask,
uint32_t prop )

◆ has() [2/2]

bool has ( randomx::Instruction & instr,
uint32_t prop )

◆ main()

int main ( int argc,
char ** argv )

Variable Documentation

◆ BRANCH_TARGET

uint32_t BRANCH_TARGET = 128
constexpr

◆ DST_FLT

uint32_t DST_FLT = 2
constexpr

◆ DST_INT

uint32_t DST_INT = 1
constexpr

◆ DST_MEM

uint32_t DST_MEM = 3
constexpr

◆ DST_NOP

uint32_t DST_NOP = 0
constexpr

◆ MASK_DST

uint32_t MASK_DST = 3
constexpr

◆ MASK_EXT

uint32_t MASK_EXT = 48
constexpr

◆ MASK_SRC

uint32_t MASK_SRC = 12
constexpr

◆ OP_BRANCH

uint32_t OP_BRANCH = 48
constexpr

◆ OP_CFROUND

uint32_t OP_CFROUND = 16
constexpr

◆ OP_FLOAT

uint32_t OP_FLOAT = 64
constexpr

◆ OP_SWAP

uint32_t OP_SWAP = 32
constexpr

◆ SRC_FLT

uint32_t SRC_FLT = 8
constexpr

◆ SRC_INT

uint32_t SRC_INT = 4
constexpr

◆ SRC_MEM

uint32_t SRC_MEM = 12
constexpr

◆ SRC_NOP

uint32_t SRC_NOP = 0
constexpr