41 struct ProgramConfiguration;
42 class SuperscalarProgram;
79 codePos +=
sizeof(val);
85 codePos +=
sizeof(val);
91 template<u
int32_t tmp_reg>
94 template<u
int32_t tmp_reg_fp>
void generateDatasetInitCode()
Definition: jit_compiler_a64.hpp:58
uint32_t num32bitLiterals
Definition: jit_compiler_a64.hpp:74
Definition: allocator.cpp:35
void() ProgramFunc(RegisterFile &, MemoryRegisters &, uint8_t *, uint64_t)
Definition: common.hpp:188
void() DatasetInitFunc(randomx_cache *cache, uint8_t *dataset, uint32_t startBlock, uint32_t endBlock)
Definition: common.hpp:189
void h_IXOR_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:735
void generateSuperscalarHash(SuperscalarProgram(&programs)[N], std::vector< uint64_t > &)
Definition: jit_compiler_a64.cpp:235
static void emit32(uint32_t val, uint8_t *code, uint32_t &codePos)
Definition: jit_compiler_a64.hpp:76
void generateProgram(Program &, ProgramConfiguration &)
Definition: jit_compiler_a64.cpp:126
void h_INEG_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:725
void h_ISTORE(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:995
void h_IADD_RS(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:515
void h_FSUB_M(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:886
Definition: instruction.hpp:75
Definition: superscalar_program.hpp:37
void h_ISMULH_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:656
void h_IMULH_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:625
void emitMovImmediate(uint32_t dst, uint32_t imm, uint8_t *code, uint32_t &codePos)
Definition: jit_compiler_a64.cpp:364
JitCompilerA64()
Definition: jit_compiler_a64.cpp:91
void h_IMUL_RCP(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:687
void emitMemLoad(uint32_t dst, uint32_t src, Instruction &instr, uint8_t *code, uint32_t &codePos)
Definition: jit_compiler_a64.cpp:448
uint32_t reg_changed_offset[8]
Definition: jit_compiler_a64.hpp:71
unsigned char uint8_t
Definition: stdint.h:124
uint8_t * code
Definition: jit_compiler_a64.hpp:72
static InstructionGeneratorA64 engine[256]
Definition: jit_compiler_a64.hpp:70
Definition: program.hpp:39
void h_FDIV_M(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:916
unsigned int uint32_t
Definition: stdint.h:126
void h_FMUL_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:908
void h_FADD_M(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:863
void h_IMUL_M(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:608
Definition: program.hpp:44
void h_ISUB_M(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:571
unsigned __int64 uint64_t
Definition: stdint.h:136
void enableAll()
Definition: jit_compiler_a64.cpp:121
void h_FSWAP_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:838
void h_CFROUND(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:971
~JitCompilerA64()
Definition: jit_compiler_a64.cpp:106
void h_IXOR_M(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:755
uint32_t literalPos
Definition: jit_compiler_a64.hpp:73
void h_IADD_M(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:533
void h_FSQRT_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:937
void h_IMULH_M(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:639
void h_IROR_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:772
Definition: jit_compiler_a64.hpp:47
void enableWriting()
Definition: jit_compiler_a64.cpp:111
void h_ISMULH_M(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:670
DatasetInitFunc * getDatasetInitFunc()
Definition: jit_compiler_a64.cpp:354
uint8_t * getCode()
Definition: jit_compiler_a64.hpp:62
size_t getCodeSize()
Definition: jit_compiler_a64.cpp:359
void(JitCompilerA64::* InstructionGeneratorA64)(Instruction &, uint32_t &)
Definition: jit_compiler_a64.hpp:45
void h_CBRANCH(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:944
void * memcpy(void *a, const void *b, size_t c)
Definition: glibc_compat.cpp:16
void generateProgramLight(Program &, ProgramConfiguration &, uint32_t)
Definition: jit_compiler_a64.cpp:177
void enableExecution()
Definition: jit_compiler_a64.cpp:116
void h_FSCAL_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:901
void h_FADD_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:855
void emitMemLoadFP(uint32_t src, Instruction &instr, uint8_t *code, uint32_t &codePos)
Definition: jit_compiler_a64.cpp:481
static void emit64(uint64_t val, uint8_t *code, uint32_t &codePos)
Definition: jit_compiler_a64.hpp:82
void h_ISUB_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:550
ProgramFunc * getProgramFunc()
Definition: jit_compiler_a64.hpp:60
void h_NOP(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:1025
void h_IROL_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:791
void emitAddImmediate(uint32_t dst, uint32_t src, uint32_t imm, uint8_t *code, uint32_t &codePos)
Definition: jit_compiler_a64.cpp:412
void h_FSUB_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:878
void h_IMUL_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:588
void h_ISWAP_R(Instruction &, uint32_t &)
Definition: jit_compiler_a64.cpp:818