Browse Source

RandomX: optimized soft AES code

Unrolled loop was 5-10% slower depending on CPU.
pull/1859/head
SChernykh 4 years ago
parent
commit
7b4f768114
  1. 15
      src/crypto/randomx/aes_hash.cpp

15
src/crypto/randomx/aes_hash.cpp

@ -270,19 +270,22 @@ void hashAndFillAes1Rx4(void *scratchpad, size_t scratchpadSize, void *hash, voi
rx_prefetch_t0(prefetchPtr);
rx_prefetch_t0(prefetchPtr + 64);
scratchpadPtr += 128;
prefetchPtr += 128;
break;
default:
HASH_STATE(0);
FILL_STATE(0);
rx_prefetch_t0(prefetchPtr);
HASH_STATE(1);
FILL_STATE(1);
rx_prefetch_t0(prefetchPtr + 64);
}
scratchpadPtr += 64;
prefetchPtr += 64;
scratchpadPtr += 128;
prefetchPtr += 128;
break;
}
}
prefetchPtr = (const char*) scratchpad;
scratchpadEnd += PREFETCH_DISTANCE;

Loading…
Cancel
Save