summaryrefslogtreecommitdiff
path: root/functable.c
diff options
context:
space:
mode:
Diffstat (limited to 'functable.c')
-rw-r--r--functable.c6
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);
}