]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Add support for MSVC crc32 intrinsic
authorMat Berchtold <mberchtold@gmail.com>
Thu, 29 Oct 2015 14:39:32 +0000 (15:39 +0100)
committerHans Kristian Rosbach <hk-git@circlestorm.org>
Mon, 2 Nov 2015 12:24:58 +0000 (13:24 +0100)
deflate_p.h

index 2127792e05f67a21a7a2dfcca99b62ec9001d4c9..25923a7228b24f61f80832c3f6a1dc544a0c4dc2 100644 (file)
@@ -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;