RandomX: added BMI2 version for scratchpad prefetch

Saves 1 instruction and 1 byte in the main loop.
This commit is contained in:
SChernykh 2021-05-19 17:52:16 +02:00
parent 3ac8f6b23a
commit d443dd86f1
6 changed files with 38 additions and 13 deletions

View file

@ -38,6 +38,7 @@
#endif
.global DECL(randomx_prefetch_scratchpad)
.global DECL(randomx_prefetch_scratchpad_bmi2)
.global DECL(randomx_prefetch_scratchpad_end)
.global DECL(randomx_program_prologue)
.global DECL(randomx_program_prologue_first_load)
@ -80,6 +81,13 @@ DECL(randomx_prefetch_scratchpad):
and edx, RANDOMX_SCRATCHPAD_MASK
prefetcht0 [rsi+rdx]
DECL(randomx_prefetch_scratchpad_bmi2):
rorx rdx, rax, 32
and eax, RANDOMX_SCRATCHPAD_MASK
prefetcht0 [rsi+rax]
and edx, RANDOMX_SCRATCHPAD_MASK
prefetcht0 [rsi+rdx]
DECL(randomx_prefetch_scratchpad_end):
.balign 64