]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
enable DYNAMIC_BMI2 by default on x86 (32-bit mode) 4252/head
authorYann Collet <yann.collet.73@gmail.com>
Sun, 19 Jan 2025 15:39:17 +0000 (07:39 -0800)
committerYann Collet <yann.collet.73@gmail.com>
Sun, 19 Jan 2025 16:11:59 +0000 (08:11 -0800)
so far was only enabled for x64 (64-bit mode)

lib/common/portability_macros.h

index 6016aefa5ee57214cf13ff9138f0326a84ceffd0..b52394382ed443c229b35a46f41912f647ab1963 100644 (file)
  * Enabled for clang & gcc >=4.8 on x86 when BMI2 isn't enabled by default.
  */
 #ifndef DYNAMIC_BMI2
-  #if ((defined(__clang__) && __has_attribute(__target__)) \
+#  if ((defined(__clang__) && __has_attribute(__target__)) \
       || (defined(__GNUC__) \
           && (__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)))) \
-      && (defined(__x86_64__) || defined(_M_X64)) \
+      && (defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || defined(_M_X64)) \
       && !defined(__BMI2__)
-  #  define DYNAMIC_BMI2 1
-  #else
-  #  define DYNAMIC_BMI2 0
-  #endif
+#    define DYNAMIC_BMI2 1
+#  else
+#    define DYNAMIC_BMI2 0
+#  endif
 #endif
 
 /**