mirror of
https://github.com/xmrig/xmrig.git
synced 2026-02-01 01:42:59 -05:00
Optimized cn-heavy
- Remove unnecessary type conversion when doing `idx0 = d ^ q;` - Saves 1 CPU cycle in the main loop - 0.2% speedup on Ryzen 5 5600X, results on other CPUs may vary
This commit is contained in:
@@ -739,7 +739,7 @@ inline void cryptonight_single_hash(const uint8_t *__restrict__ input, size_t si
|
|||||||
# ifdef XMRIG_ALGO_CN_HEAVY
|
# ifdef XMRIG_ALGO_CN_HEAVY
|
||||||
if (props.isHeavy()) {
|
if (props.isHeavy()) {
|
||||||
int64_t n = ((int64_t*)&l0[interleaved_index<interleave>(idx0 & MASK)])[0];
|
int64_t n = ((int64_t*)&l0[interleaved_index<interleave>(idx0 & MASK)])[0];
|
||||||
int32_t d = ((int32_t*)&l0[interleaved_index<interleave>(idx0 & MASK)])[2];
|
int64_t d = ((int32_t*)&l0[interleaved_index<interleave>(idx0 & MASK)])[2];
|
||||||
int64_t q = n / (d | 0x5);
|
int64_t q = n / (d | 0x5);
|
||||||
|
|
||||||
((int64_t*)&l0[interleaved_index<interleave>(idx0 & MASK)])[0] = n ^ q;
|
((int64_t*)&l0[interleaved_index<interleave>(idx0 & MASK)])[0] = n ^ q;
|
||||||
|
|||||||
Reference in New Issue
Block a user