mirror of
https://github.com/opencv/opencv.git
synced 2025-08-06 06:26:29 +08:00
_tzcnt_u32() is undefined in clang-cl so use alternate impl
_tzcnt_u32() is not exported by clang-cl intrin.h so check for clang-cl and enable an alterate for _tzcnt_u32() Some discussions: http://lists.llvm.org/pipermail/cfe-dev/2016-October/051329.html https://bugs.llvm.org/show_bug.cgi?id=30506 TEST=Build with clang-cl
This commit is contained in:
parent
0ffc186680
commit
630a94b8b7
@ -368,6 +368,9 @@ inline unsigned int trailingZeros32(unsigned int value) {
|
|||||||
unsigned long index = 0;
|
unsigned long index = 0;
|
||||||
_BitScanForward(&index, value);
|
_BitScanForward(&index, value);
|
||||||
return (unsigned int)index;
|
return (unsigned int)index;
|
||||||
|
#elif defined(__clang__)
|
||||||
|
// clang-cl doesn't export _tzcnt_u32 for non BMI systems
|
||||||
|
return value ? __builtin_ctz(value) : 32;
|
||||||
#else
|
#else
|
||||||
return _tzcnt_u32(value);
|
return _tzcnt_u32(value);
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user