From: Mat Berchtold Date: Thu, 29 Oct 2015 14:39:32 +0000 (+0100) Subject: Add support for MSVC crc32 intrinsic X-Git-Tag: 1.9.9-b1~793^2~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e48233b59b94921035dffba44e881777a6e63b9;p=thirdparty%2Fzlib-ng.git Add support for MSVC crc32 intrinsic --- diff --git a/deflate_p.h b/deflate_p.h index 2127792e0..25923a722 100644 --- a/deflate_p.h +++ b/deflate_p.h @@ -45,11 +45,15 @@ local inline Pos insert_string_sse(deflate_state *const s, const Pos str, uInt c if (s->level >= 6) val &= 0xFFFFFF; +#ifdef _MSC_VER + h = _mm_crc32_u32(h, val); +#else __asm__ __volatile__ ( "crc32 %1,%0\n\t" : "+r" (h) : "r" (val) ); +#endif ret = s->prev[(str+idx) & s->w_mask] = s->head[h & s->hash_mask]; s->head[h & s->hash_mask] = str+idx;