Clang added pragma attribute in 5.0
Don't build the extra HSW slice with Clang < 5.0.
Change-Id: I8c5b053c299a2904304843c2abd44f5ebf6aff6b
Reviewed-on: https://skia-review.googlesource.com/150966
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/skcms.cc b/skcms.cc
index 551c932..b7aaee4 100644
--- a/skcms.cc
+++ b/skcms.cc
@@ -1878,8 +1878,10 @@
}
// Now, instantiate any other versions of run_program() we may want for runtime detection.
-#if !defined(SKCMS_PORTABLE) && (defined(__clang__) || defined(__GNUC__)) \
- && defined(__x86_64__) && !defined(__AVX2__)
+#if !defined(SKCMS_PORTABLE) && \
+ (( defined(__clang__) && __clang_major__ >= 5) || \
+ (!defined(__clang__) && defined(__GNUC__))) \
+ && defined(__x86_64__) && !defined(__AVX2__)
#if defined(__clang__)
#pragma clang attribute push(__attribute__((target("avx2,f16c"))), apply_to=function)