summaryrefslogtreecommitdiff
path: root/media-libs/opencv/files/opencv-3.4.1-popcnt.patch
blob: 51a6d554a252a48e1485257955ad32ca46860b39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
From a2d6fc7ac040c6ef94a36515f9ea24428f8f1ecc Mon Sep 17 00:00:00 2001
From: Alexander Alekhin <alexander.alekhin@intel.com>
Date: Tue, 24 Apr 2018 12:40:25 +0300
Subject: [PATCH] cmake: fix popcnt detection

via GCC/Clang __POPCNT__ define
---
 cmake/checks/cpu_popcnt.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/cmake/checks/cpu_popcnt.cpp b/cmake/checks/cpu_popcnt.cpp
index 16e5575108b..44c7deda053 100644
--- a/cmake/checks/cpu_popcnt.cpp
+++ b/cmake/checks/cpu_popcnt.cpp
@@ -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()