]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
crc: fix three conversion warnings
authorAaron Boxer <boxerab@gmail.com>
Tue, 20 Apr 2021 22:03:32 +0000 (18:03 -0400)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Thu, 29 Apr 2021 13:30:15 +0000 (15:30 +0200)
arch/x86/crc_folding.c

index 918bd9468197123fe86c478ff89f48ad5f857c04..49cdc993008ec9a507e34a70c3b0d68d2110ca15 100644 (file)
@@ -186,7 +186,7 @@ static void partial_fold(const size_t len, __m128i *xmm_crc0, __m128i *xmm_crc1,
 
     const __m128i xmm_fold4 = _mm_set_epi32( 0x00000001, 0x54442bd4,
                                              0x00000001, 0xc6e41596);
-    const __m128i xmm_mask3 = _mm_set1_epi32(0x80808080);
+    const __m128i xmm_mask3 = _mm_set1_epi32((int32_t)0x80808080);
 
     __m128i xmm_shl, xmm_shr, xmm_tmp1, xmm_tmp2, xmm_tmp3;
     __m128i xmm_a0_0, xmm_a0_1;
@@ -358,7 +358,7 @@ Z_INTERNAL void crc_fold_copy(deflate_state *const s, unsigned char *dst, const
     memcpy(dst, partial_buf, len);
 
 partial:
-    partial_fold(len, &xmm_crc0, &xmm_crc1, &xmm_crc2, &xmm_crc3, &xmm_crc_part);
+    partial_fold((size_t)len, &xmm_crc0, &xmm_crc1, &xmm_crc2, &xmm_crc3, &xmm_crc_part);
 done:
     /* CRC_SAVE */
     _mm_storeu_si128((__m128i *)s->crc0 + 0, xmm_crc0);
@@ -450,7 +450,7 @@ uint32_t Z_INTERNAL crc_fold_512to32(deflate_state *const s) {
     xmm_crc3 = _mm_xor_si128(xmm_crc3, xmm_crc2);
     xmm_crc3 = _mm_xor_si128(xmm_crc3, xmm_crc1);
 
-    crc = _mm_extract_epi32(xmm_crc3, 2);
+    crc = (uint32_t)_mm_extract_epi32(xmm_crc3, 2);
     return ~crc;
 }