diff --git a/lib/x86/adler32_impl.h b/lib/x86/adler32_impl.h index 7b3f02ac..c8b5153b 100644 --- a/lib/x86/adler32_impl.h +++ b/lib/x86/adler32_impl.h @@ -124,7 +124,7 @@ static forceinline ATTRIBUTES void adler32_sse2_chunk(const __m128i *p, const __m128i *const end, u32 *s1, u32 *s2) { - static const u16 _aligned_attribute(16) mults[4][16] = { + static const u16 _aligned_attribute(16) mults[4][8] = { { 32, 31, 30, 29, 28, 27, 26, 25 }, { 24, 23, 22, 21, 20, 19, 18, 17 }, { 16, 15, 14, 13, 12, 11, 10, 9 }, @@ -299,10 +299,10 @@ adler32_avx2_vnni_chunk(const __m256i *p, const __m256i *const end, __m256i /* __v8su */ v_s2_d = zeroes; do { - __m256i bytes_a = *p++; - __m256i bytes_b = *p++; - __m256i bytes_c = *p++; - __m256i bytes_d = *p++; + const __m256i bytes_a = *p++; + const __m256i bytes_b = *p++; + const __m256i bytes_c = *p++; + const __m256i bytes_d = *p++; v_s2_a = _mm256_dpbusd_avx_epi32(v_s2_a, bytes_a, mults_a); v_s2_b = _mm256_dpbusd_avx_epi32(v_s2_b, bytes_b, mults_b);