Merge pull request #4264 from pps83/dev-static-bmi2
Move STATIC_BMI2 define to portability_macros.h
diff --git a/lib/common/compiler.h b/lib/common/compiler.h
index c942b98..5ad2123 100644
--- a/lib/common/compiler.h
+++ b/lib/common/compiler.h
@@ -207,21 +207,6 @@
# pragma warning(disable : 4324) /* disable: C4324: padded structure */
#endif
-/* Like DYNAMIC_BMI2 but for compile time determination of BMI2 support */
-#ifndef STATIC_BMI2
-# if defined(_MSC_VER)
-# ifdef __AVX2__ /* MSVC does not have a BMI2 specific flag, but every CPU that supports AVX2 also supports BMI2 */
-# define STATIC_BMI2 1
-# endif
-# elif defined(__BMI2__)
-# define STATIC_BMI2 1
-# endif
-#endif
-
-#ifndef STATIC_BMI2
-# define STATIC_BMI2 0
-#endif
-
/* compile time determination of SIMD support */
#if !defined(ZSTD_NO_INTRINSICS)
# if defined(__AVX2__)
diff --git a/lib/common/portability_macros.h b/lib/common/portability_macros.h
index b523943..8607341 100644
--- a/lib/common/portability_macros.h
+++ b/lib/common/portability_macros.h
@@ -74,6 +74,19 @@
# define ZSTD_HIDE_ASM_FUNCTION(func)
#endif
+/* Compile time determination of BMI2 support */
+#ifndef STATIC_BMI2
+# if defined(__BMI2__)
+# define STATIC_BMI2 1
+# elif defined(_MSC_VER) && defined(__AVX2__)
+# define STATIC_BMI2 1 /* MSVC does not have a BMI2 specific flag, but every CPU that supports AVX2 also supports BMI2 */
+# endif
+#endif
+
+#ifndef STATIC_BMI2
+# define STATIC_BMI2 0
+#endif
+
/* Enable runtime BMI2 dispatch based on the CPU.
* Enabled for clang & gcc >=4.8 on x86 when BMI2 isn't enabled by default.
*/