From 4bbf4a285d92e4cb5b37e0fd1d4af96c12c2c249 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Sun, 19 Jan 2025 07:39:17 -0800 Subject: [PATCH] enable DYNAMIC_BMI2 by default on x86 (32-bit mode) so far was only enabled for x64 (64-bit mode) --- lib/common/portability_macros.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/common/portability_macros.h b/lib/common/portability_macros.h index 6016aefa5ee..b52394382ed 100644 --- a/lib/common/portability_macros.h +++ b/lib/common/portability_macros.h @@ -78,15 +78,15 @@ * 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 /**