diff --git a/src/crypto/CryptoNight_arm.h b/src/crypto/CryptoNight_arm.h index 456b5d74..add7f746 100644 --- a/src/crypto/CryptoNight_arm.h +++ b/src/crypto/CryptoNight_arm.h @@ -586,6 +586,8 @@ inline void cryptonight_single_hash_gpu(const uint8_t *__restrict__ input, size_ xmrig::keccak(input, size, ctx[0]->state); cn_explode_scratchpad_gpu(ctx[0]->state, ctx[0]->memory); + fesetround(FE_TONEAREST); + cn_gpu_inner_arm(ctx[0]->state, ctx[0]->memory); cn_implode_scratchpad((__m128i*) ctx[0]->memory, (__m128i*) ctx[0]->state); diff --git a/src/crypto/CryptoNight_x86.h b/src/crypto/CryptoNight_x86.h index 2d1aef0d..1ae7b795 100644 --- a/src/crypto/CryptoNight_x86.h +++ b/src/crypto/CryptoNight_x86.h @@ -616,6 +616,12 @@ inline void cryptonight_single_hash_gpu(const uint8_t *__restrict__ input, size_ xmrig::keccak(input, size, ctx[0]->state); cn_explode_scratchpad_gpu(ctx[0]->state, ctx[0]->memory); +# ifdef _MSC_VER + _control87(RC_NEAR, MCW_RC); +# else + fesetround(FE_TONEAREST); +# endif + if (xmrig::Cpu::info()->hasAVX2()) { cn_gpu_inner_avx(ctx[0]->state, ctx[0]->memory); } else {