From d02b44cf55105c23048c5cc6290b73c79bb519a2 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Sun, 4 Mar 2018 16:05:59 -0800 Subject: [PATCH] DYNAMIC_BMI2 enabled for clang clang only claims compatibility with gcc 4.2. Consequently, recent patch which reserved DYNAMIC_BMI2 for gcc >= 4.8 also disabled it for clang. fix : __clang__ is now enough to enable DYNAMIC_BMI2 (associated with other existing conditions : x64/x64, !bmi2) --- lib/common/compiler.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/common/compiler.h b/lib/common/compiler.h index 63d32258a..bb8730126 100644 --- a/lib/common/compiler.h +++ b/lib/common/compiler.h @@ -74,8 +74,11 @@ * Enabled for clang & gcc >=4.8 on x86 when BMI2 isn't enabled by default. */ #ifndef DYNAMIC_BMI2 - #if defined(__GNUC__) && (__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) \ - && (defined(__x86_64__) || defined(_M_X86)) && !defined(__BMI2__) + #if defined(__clang__) \ + || (defined(__GNUC__) \ + && (__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8))) \ + && (defined(__x86_64__) || defined(_M_X86)) \ + && !defined(__BMI2__) # define DYNAMIC_BMI2 1 #else # define DYNAMIC_BMI2 0 -- 2.47.2