mirror of
https://github.com/opencv/opencv.git
synced 2024-12-15 18:09:11 +08:00
a2d6fc7ac0
via GCC/Clang __POPCNT__ define
25 lines
511 B
C++
25 lines
511 B
C++
#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
|
|
#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()
|
|
{
|
|
#ifdef CV_POPCNT_U64
|
|
int i = CV_POPCNT_U64(1);
|
|
#endif
|
|
int j = CV_POPCNT_U32(1);
|
|
return 0;
|
|
}
|