cmake: fix popcnt detection
authorAlexander Alekhin <alexander.alekhin@intel.com>
Tue, 24 Apr 2018 09:40:25 +0000 (12:40 +0300)
committerAlexander Alekhin <alexander.alekhin@intel.com>
Tue, 24 Apr 2018 09:40:25 +0000 (12:40 +0300)
via GCC/Clang __POPCNT__ define

cmake/checks/cpu_popcnt.cpp

index 16e5575..44c7ded 100644 (file)
@@ -4,12 +4,14 @@
 #    define CV_POPCNT_U64 _mm_popcnt_u64
 #  endif
 #  define CV_POPCNT_U32 _mm_popcnt_u32
-#else
+#elif defined(__POPCNT__)
 #  include <popcntintrin.h>
 #  if defined(__x86_64__)
 #    define CV_POPCNT_U64 __builtin_popcountll
 #  endif
 #  define CV_POPCNT_U32 __builtin_popcount
+#else
+#  error "__POPCNT__ is not defined by compiler"
 #endif
 
 int main()