cmake: fix POPCNT & SSE4.2 detection code

pull/8656/head
Alexander Alekhin 8 years ago
parent c5c3ec46ad
commit 4c2858fd61
  1. 24
      cmake/checks/cpu_popcnt.cpp
  2. 6
      cmake/checks/cpu_sse42.cpp

@ -1,8 +1,22 @@
#include <nmmintrin.h>
#ifndef _MSC_VER
#include <popcntintrin.h>
#ifdef _MSC_VER
# include <nmmintrin.h>
# if defined(_M_X64)
# define CV_POPCNT_U64 _mm_popcnt_u64
# endif
# define CV_POPCNT_U32 _mm_popcnt_u32
#else
# include <popcntintrin.h>
# if defined(__x86_64__)
# define CV_POPCNT_U64 __builtin_popcountll
# endif
# define CV_POPCNT_U32 __builtin_popcount
#endif
int main() {
int i = _mm_popcnt_u64(1);
int main()
{
#ifdef CV_POPCNT_U64
int i = CV_POPCNT_U64(1);
#endif
int j = CV_POPCNT_U32(1);
return 0;
}

@ -1,5 +1,7 @@
#include <nmmintrin.h>
int main() {
int i = _mm_popcnt_u64(1);
int main()
{
unsigned int res = _mm_crc32_u8(1, 2);
return 0;
}

Loading…
Cancel
Save