]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Update x86 and x86_64 arch checks to use the recommended
authorHans Kristian Rosbach <hk-git@circlestorm.org>
Wed, 6 Mar 2019 09:59:06 +0000 (10:59 +0100)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Fri, 8 Mar 2019 10:35:27 +0000 (11:35 +0100)
define names, resulting in improved compiler support.
Based on the overviews from several sites, such as:
http://nadeausoftware.com/articles/2012/02/c_c_tip_how_detect_processor_type_using_compiler_predefined_macros

arch/x86/deflate_quick.c
deflate.c
deflate.h

index bb57f78c3cd10c0b7ef181d195c1cab37a21729b..0c5196926b609c3feb4504294063859c8fbd7814 100644 (file)
@@ -93,7 +93,7 @@ static inline long compare258(const unsigned char *const src0, const unsigned ch
         "cmp        $256 + 16, %[ax]\n\t"
         "jb         1b\n\t"
 
-# if !defined(__x86_64)
+# if !defined(__x86_64__)
         "movzwl     -16(%[src0], %[ax]), %[dx]\n\t"
 # else
         "movzwq     -16(%[src0], %[ax]), %[dx]\n\t"
index 63d67478077ebe4094d0326395a78ef8f0d6c6c0..3280a11f600bffe5013653f0792c0f61342aaf44 100644 (file)
--- a/deflate.c
+++ b/deflate.c
@@ -301,7 +301,7 @@ int ZEXPORT PREFIX(deflateInit2_)(PREFIX3(stream) *strm, int level, int method,
 
     s->hash_size = 1 << s->hash_bits;
     s->hash_mask = s->hash_size - 1;
-#if !defined(__x86_64) && !defined(__i386_)
+#if !defined(__x86_64__) && !defined(_M_X64) && !defined(__i386) && !defined(_M_IX86)
     s->hash_shift =  ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
 #endif
 
index 46847d55b5bc7ac6a432f33edbc92c70427b4864..1360a3d17698f76341281757609908018ba1e235 100644 (file)
--- a/deflate.h
+++ b/deflate.h
@@ -154,7 +154,7 @@ typedef struct internal_state {
     unsigned int  hash_bits;         /* log2(hash_size) */
     unsigned int  hash_mask;         /* hash_size-1 */
 
-    #if !defined(__x86_64) && !defined(__i386_)
+    #if !defined(__x86_64__) && !defined(_M_X64) && !defined(__i386) && !defined(_M_IX86)
     unsigned int  hash_shift;
     #endif
     /* Number of bits by which ins_h must be shifted at each input
@@ -392,7 +392,7 @@ void ZLIB_INTERNAL bi_windup(deflate_state *s);
 #define TRIGGER_LEVEL 5
 #endif
 
-#if defined(__x86_64) || defined(__i386_)
+#if defined(__x86_64__) || defined(_M_X64) || defined(__i386) || defined(_M_IX86)
 #define UPDATE_HASH(s, h, i) \
     do {\
         if (s->level < TRIGGER_LEVEL) \