Added fix for av mode 3 and 4 (CPU without AES) #11

This commit is contained in:
Ben Gräf 2017-12-26 15:14:42 +01:00 committed by GitHub
parent 4bb86be776
commit 81a06ee21d

View file

@ -64,9 +64,8 @@ static void cryptonight_av4_softaes_double(const void *input, size_t size, void
} }
#ifndef XMRIG_NO_AEON
static void cryptonight_lite_av1_aesni(const void *input, size_t size, void *output, cryptonight_ctx *ctx) { static void cryptonight_lite_av1_aesni(const void *input, size_t size, void *output, cryptonight_ctx *ctx) {
# if !defined(XMRIG_ARMv7) # if !defined(XMRIG_ARMv7)
cryptonight_hash<0x40000, MEMORY_LITE, 0xFFFF0, false>(input, size, output, ctx); cryptonight_hash<0x40000, MEMORY_LITE, 0xFFFF0, false>(input, size, output, ctx);
#endif #endif
} }
@ -97,15 +96,7 @@ void (*cryptonight_variations[8])(const void *input, size_t size, void *output,
cryptonight_lite_av2_aesni_double, cryptonight_lite_av2_aesni_double,
cryptonight_lite_av3_softaes, cryptonight_lite_av3_softaes,
cryptonight_lite_av4_softaes_double cryptonight_lite_av4_softaes_double
}; };
#else
void (*cryptonight_variations[4])(const void *input, size_t size, void *output, cryptonight_ctx *ctx) = {
cryptonight_av1_aesni,
cryptonight_av2_aesni_double,
cryptonight_av3_softaes,
cryptonight_av4_softaes_double
};
#endif
void CryptoNight::hash(const uint8_t* input, size_t size, uint8_t* output, cryptonight_ctx* ctx) void CryptoNight::hash(const uint8_t* input, size_t size, uint8_t* output, cryptonight_ctx* ctx)
@ -127,15 +118,15 @@ bool CryptoNight::init(int algo, int variant)
int index = 0; int index = 0;
if (variant == 3 || variant == 4)
{
index = 4;
}
if (algo == Options::ALGO_CRYPTONIGHT_LITE) { if (algo == Options::ALGO_CRYPTONIGHT_LITE) {
index += 4; index += 4;
} }
if (variant == 3 || variant == 4)
{
index += 2;
}
cryptonight_hash_ctx_s = cryptonight_variations[index]; cryptonight_hash_ctx_s = cryptonight_variations[index];
cryptonight_hash_ctx_d = cryptonight_variations[index+1]; cryptonight_hash_ctx_d = cryptonight_variations[index+1];