program_read_dataset.inc 598 B

1234567891011121314151617
  1. xor rbp, rax ;# modify "mx"
  2. mov edx, ebp ;# edx = mx
  3. and edx, RANDOMX_DATASET_BASE_MASK
  4. prefetchnta byte ptr [rdi+rdx]
  5. ror rbp, 32 ;# swap "ma" and "mx"
  6. mov edx, ebp ;# edx = ma
  7. and edx, RANDOMX_DATASET_BASE_MASK
  8. lea rcx, [rdi+rdx] ;# dataset cache line
  9. xor r8, qword ptr [rcx+0]
  10. xor r9, qword ptr [rcx+8]
  11. xor r10, qword ptr [rcx+16]
  12. xor r11, qword ptr [rcx+24]
  13. xor r12, qword ptr [rcx+32]
  14. xor r13, qword ptr [rcx+40]
  15. xor r14, qword ptr [rcx+48]
  16. xor r15, qword ptr [rcx+56]