19 lines
613 B
Diff
19 lines
613 B
Diff
--- a/src/amd/addrlib/src/core/addrcommon.h
|
|
+++ b/src/amd/addrlib/src/core/addrcommon.h
|
|
@@ -356,12 +356,12 @@
|
|
{
|
|
ADDR_ASSERT(mask > 0);
|
|
unsigned long out = 0;
|
|
-#if (defined(_WIN64) && defined(_M_X64)) || (defined(_WIN32) && defined(_M_IX64))
|
|
+#if defined(HAVE___BUILTIN_CTZ)
|
|
+ out = __builtin_ctz(mask);
|
|
+#elif (defined(_WIN64) && defined(_M_X64)) || (defined(_WIN32) && defined(_M_IX64))
|
|
out = ::_tzcnt_u32(mask);
|
|
#elif (defined(_WIN32) || defined(_WIN64))
|
|
::_BitScanForward(&out, mask);
|
|
-#elif defined(__GNUC__)
|
|
- out = __builtin_ctz(mask);
|
|
#else
|
|
while ((mask & 1) == 0)
|
|
{
|