xmrig-minimized/src/crypto/randomx
SChernykh 2322e3bcf7 RandomX: optimized loading from scratchpad
Prefetches scratchpad data as soon as possible to calculate data address for the next load.

Up to ~1.4% speedup on Ryzen 7 3700X @ 4.1 GHz, RAM 3200 MHz 14-14-14-28 with optimized sub-timings:
Variant|Before H/S|After H/S
-------|----------|---------
rx/0|8663|8777
rx/wow|9867|10009
rx/loki|8652|8731
2019-09-11 19:10:01 +02:00
..
asm RandomX: optimized loading from scratchpad 2019-09-11 19:10:01 +02:00
blake2 RandomX optimizations 2019-09-04 19:24:12 +02:00
aes_hash.cpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
aes_hash.hpp Integrated RandomX, added RandomXL (Loki) 2019-07-01 20:11:51 +02:00
allocator.cpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
allocator.hpp Integrated RandomX, added RandomXL (Loki) 2019-07-01 20:11:51 +02:00
argon2_core.c Updated RandomX 2019-08-27 16:12:13 +02:00
argon2_core.h Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
argon2_ref.c Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
argon2.h Integrated RandomX, added RandomXL (Loki) 2019-07-01 20:11:51 +02:00
blake2_generator.cpp Updated RandomX 2019-08-27 16:12:13 +02:00
blake2_generator.hpp Updated RandomX 2019-08-27 16:12:13 +02:00
bytecode_machine.cpp Updated RandomX 2019-08-27 16:12:13 +02:00
bytecode_machine.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
common.hpp Updated RandomX 2019-08-27 16:12:13 +02:00
configuration.h Integrated RandomX, added RandomXL (Loki) 2019-07-01 20:11:51 +02:00
dataset.cpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
dataset.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
instruction.hpp Optimized RandomX JIT compiler 2019-08-27 20:18:56 +02:00
instructions_portable.cpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
intrin_portable.h Reverted intrin_portable.h 2019-08-28 07:20:01 +02:00
jit_compiler_a64.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
jit_compiler_fallback.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
jit_compiler_x86_static.asm RandomX: optimized loading from scratchpad 2019-09-11 19:10:01 +02:00
jit_compiler_x86_static.hpp RandomX: optimized loading from scratchpad 2019-09-11 19:10:01 +02:00
jit_compiler_x86_static.S RandomX: optimized loading from scratchpad 2019-09-11 19:10:01 +02:00
jit_compiler_x86.cpp RandomX: optimized loading from scratchpad 2019-09-11 19:10:01 +02:00
jit_compiler_x86.hpp RandomX: optimized loading from scratchpad 2019-09-11 19:10:01 +02:00
jit_compiler.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
program.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
randomx.cpp RandomX: optimized loading from scratchpad 2019-09-11 19:10:01 +02:00
randomx.h RandomX: optimized loading from scratchpad 2019-09-11 19:10:01 +02:00
reciprocal.c Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
reciprocal.h Integrated RandomX, added RandomXL (Loki) 2019-07-01 20:11:51 +02:00
soft_aes.cpp RandomX optimizations 2019-09-04 19:24:12 +02:00
soft_aes.h RandomX optimizations 2019-09-04 19:24:12 +02:00
superscalar_program.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
superscalar.cpp Updated RandomX 2019-08-27 16:12:13 +02:00
superscalar.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
virtual_machine.cpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
virtual_machine.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
virtual_memory.cpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
virtual_memory.hpp Integrated RandomX, added RandomXL (Loki) 2019-07-01 20:11:51 +02:00
vm_compiled_light.cpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
vm_compiled_light.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
vm_compiled.cpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
vm_compiled.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
vm_interpreted_light.cpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
vm_interpreted_light.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
vm_interpreted.cpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
vm_interpreted.hpp Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00