From: Vladislav Shchapov Date: Sun, 2 Oct 2022 13:16:24 +0000 (+0500) Subject: Fix crc32_fold_pclmulqdq.c(241): error C2719: 'fold3': formal parameter with requeste... X-Git-Tag: 2.1.0-beta1~145 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=08fc981ce21df6cd404e1771dbeb29d7be69d793;p=thirdparty%2Fzlib-ng.git Fix crc32_fold_pclmulqdq.c(241): error C2719: 'fold3': formal parameter with requested alignment of 16 won't be aligned (MSVC 2015 Win32). Signed-off-by: Vladislav Shchapov --- diff --git a/arch/x86/crc32_fold_pclmulqdq.c b/arch/x86/crc32_fold_pclmulqdq.c index 104455e36..5754b8d71 100644 --- a/arch/x86/crc32_fold_pclmulqdq.c +++ b/arch/x86/crc32_fold_pclmulqdq.c @@ -238,17 +238,18 @@ static inline void crc32_fold_load(__m128i *fold, __m128i *fold0, __m128i *fold1 *fold3 = _mm_load_si128(fold + 3); } -static inline void crc32_fold_save(__m128i *fold, __m128i fold0, __m128i fold1, __m128i fold2, __m128i fold3) { - _mm_storeu_si128(fold + 0, fold0); - _mm_storeu_si128(fold + 1, fold1); - _mm_storeu_si128(fold + 2, fold2); - _mm_storeu_si128(fold + 3, fold3); +static inline void crc32_fold_save(__m128i *fold, const __m128i *fold0, const __m128i *fold1, + const __m128i *fold2, const __m128i *fold3) { + _mm_storeu_si128(fold + 0, *fold0); + _mm_storeu_si128(fold + 1, *fold1); + _mm_storeu_si128(fold + 2, *fold2); + _mm_storeu_si128(fold + 3, *fold3); } Z_INTERNAL uint32_t crc32_fold_pclmulqdq_reset(crc32_fold *crc) { __m128i xmm_crc0 = _mm_cvtsi32_si128(0x9db42487); __m128i xmm_zero = _mm_setzero_si128(); - crc32_fold_save((__m128i *)crc->fold, xmm_crc0, xmm_zero, xmm_zero, xmm_zero); + crc32_fold_save((__m128i *)crc->fold, &xmm_crc0, &xmm_zero, &xmm_zero, &xmm_zero); return 0; } diff --git a/arch/x86/crc32_fold_pclmulqdq_tpl.h b/arch/x86/crc32_fold_pclmulqdq_tpl.h index 36207953b..0799638e0 100644 --- a/arch/x86/crc32_fold_pclmulqdq_tpl.h +++ b/arch/x86/crc32_fold_pclmulqdq_tpl.h @@ -184,6 +184,6 @@ partial: partial_fold((size_t)len, &xmm_crc0, &xmm_crc1, &xmm_crc2, &xmm_crc3, &xmm_crc_part); } - crc32_fold_save((__m128i *)crc->fold, xmm_crc0, xmm_crc1, xmm_crc2, xmm_crc3); + crc32_fold_save((__m128i *)crc->fold, &xmm_crc0, &xmm_crc1, &xmm_crc2, &xmm_crc3); } #endif