Implement Fletcher-32 using AVX2 instructions.

This commit is contained in:
2023-09-23 03:12:46 +01:00
parent ccf605367d
commit 3358d66f0a
5 changed files with 288 additions and 1 deletions

View File

@@ -57,6 +57,13 @@ AARU_EXPORT int AARU_CALL fletcher32_update(fletcher32_ctx* ctx, const uint8_t*
#if defined(__x86_64__) || defined(__amd64) || defined(_M_AMD64) || defined(_M_X64) || defined(__I386__) || \
defined(__i386__) || defined(__THW_INTEL) || defined(_M_IX86)
if(have_avx2())
{
fletcher32_avx2(&ctx->sum1, &ctx->sum2, data, len);
return 0;
}
if(have_ssse3())
{
fletcher32_ssse3(&ctx->sum1, &ctx->sum2, data, len);