Monero
Loading...
Searching...
No Matches
Namespaces | Macros | Functions | Variables
jit_compiler_a64.cpp File Reference
#include "jit_compiler_a64.hpp"
#include "superscalar.hpp"
#include "program.hpp"
#include "reciprocal.h"
#include "virtual_memory.h"
#include "instruction_weights.hpp"
Include dependency graph for jit_compiler_a64.cpp:

Namespaces

namespace  ARMV8A
 
namespace  randomx
 

Macros

#define INST_HANDLE(x)   REPN(&JitCompilerA64::h_##x, WT(x))
 

Functions

template<typename T >
static constexpr size_t randomx::Log2 (T value)
 

Variables

constexpr uint32_t ARMV8A::B = 0x14000000
 
constexpr uint32_t ARMV8A::EOR = 0xCA000000
 
constexpr uint32_t ARMV8A::EOR32 = 0x4A000000
 
constexpr uint32_t ARMV8A::ADD = 0x8B000000
 
constexpr uint32_t ARMV8A::SUB = 0xCB000000
 
constexpr uint32_t ARMV8A::MUL = 0x9B007C00
 
constexpr uint32_t ARMV8A::UMULH = 0x9BC07C00
 
constexpr uint32_t ARMV8A::SMULH = 0x9B407C00
 
constexpr uint32_t ARMV8A::MOVZ = 0xD2800000
 
constexpr uint32_t ARMV8A::MOVN = 0x92800000
 
constexpr uint32_t ARMV8A::MOVK = 0xF2800000
 
constexpr uint32_t ARMV8A::ADD_IMM_LO = 0x91000000
 
constexpr uint32_t ARMV8A::ADD_IMM_HI = 0x91400000
 
constexpr uint32_t ARMV8A::LDR_LITERAL = 0x58000000
 
constexpr uint32_t ARMV8A::ROR = 0x9AC02C00
 
constexpr uint32_t ARMV8A::ROR_IMM = 0x93C00000
 
constexpr uint32_t ARMV8A::MOV_REG = 0xAA0003E0
 
constexpr uint32_t ARMV8A::MOV_VREG_EL = 0x6E080400
 
constexpr uint32_t ARMV8A::FADD = 0x4E60D400
 
constexpr uint32_t ARMV8A::FSUB = 0x4EE0D400
 
constexpr uint32_t ARMV8A::FEOR = 0x6E201C00
 
constexpr uint32_t ARMV8A::FMUL = 0x6E60DC00
 
constexpr uint32_t ARMV8A::FDIV = 0x6E60FC00
 
constexpr uint32_t ARMV8A::FSQRT = 0x6EE1F800
 
static const size_t randomx::CodeSize = ((uint8_t*)randomx_init_dataset_aarch64_end) - ((uint8_t*)randomx_program_aarch64)
 
static const size_t randomx::MainLoopBegin = ((uint8_t*)randomx_program_aarch64_main_loop) - ((uint8_t*)randomx_program_aarch64)
 
static const size_t randomx::PrologueSize = ((uint8_t*)randomx_program_aarch64_vm_instructions) - ((uint8_t*)randomx_program_aarch64)
 
static const size_t randomx::ImulRcpLiteralsEnd = ((uint8_t*)randomx_program_aarch64_imul_rcp_literals_end) - ((uint8_t*)randomx_program_aarch64)
 
static const size_t randomx::CalcDatasetItemSize
 
constexpr uint32_t randomx::IntRegMap [8] = { 4, 5, 6, 7, 12, 13, 14, 15 }
 

Macro Definition Documentation

◆ INST_HANDLE

#define INST_HANDLE ( x)    REPN(&JitCompilerA64::h_##x, WT(x))