diff options
Diffstat (limited to 'functable.c')
| -rw-r--r-- | functable.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/functable.c b/functable.c index 8328359702..3945323125 100644 --- a/functable.c +++ b/functable.c @@ -204,7 +204,7 @@ Z_INTERNAL uint32_t adler32_stub(uint32_t adler, const unsigned char *buf, size_ Z_INTERNAL uint32_t adler32_fold_copy_stub(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len) { functable.adler32_fold_copy = &adler32_fold_copy_c; -#if (defined X86_SSE42_ADLER32) && !defined(X86_AVX512VNNI_ADLER32) +#if (defined X86_SSE42_ADLER32) if (x86_cpu_has_sse42) functable.adler32_fold_copy = &adler32_fold_copy_sse42; #endif @@ -216,6 +216,10 @@ Z_INTERNAL uint32_t adler32_fold_copy_stub(uint32_t adler, uint8_t *dst, const u if (x86_cpu_has_avx512) functable.adler32_fold_copy = &adler32_fold_copy_avx512; #endif +#ifdef X86_AVX512VNNI_ADLER32 + if (x86_cpu_has_avx512vnni) + functable.adler32_fold_copy = &adler32_fold_copy_avx512_vnni; +#endif return functable.adler32_fold_copy(adler, dst, src, len); } |
