mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-19 19:31:50 +00:00
Use gnu style builtins in MathExtras.h with clang on Windows
Clang does not provide BitScan* intrinsic implementations yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187813 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f40d578d7e
commit
ae8e3cfbca
@ -80,7 +80,7 @@ inline std::size_t countTrailingZeros<uint32_t>(uint32_t Val, ZeroBehavior ZB) {
|
||||
if (ZB != ZB_Undefined && Val == 0)
|
||||
return 32;
|
||||
|
||||
#if __GNUC__ >= 4
|
||||
#if __has_builtin(__builtin_ctz) || __GNUC_PREREQ(4, 0)
|
||||
return __builtin_ctz(Val);
|
||||
#elif _MSC_VER
|
||||
unsigned long Index;
|
||||
@ -95,7 +95,7 @@ inline std::size_t countTrailingZeros<uint64_t>(uint64_t Val, ZeroBehavior ZB) {
|
||||
if (ZB != ZB_Undefined && Val == 0)
|
||||
return 64;
|
||||
|
||||
#if __GNUC__ >= 4
|
||||
#if __has_builtin(__builtin_ctzll) || __GNUC_PREREQ(4, 0)
|
||||
return __builtin_ctzll(Val);
|
||||
#elif _MSC_VER
|
||||
unsigned long Index;
|
||||
@ -146,7 +146,7 @@ inline std::size_t countLeadingZeros<uint32_t>(uint32_t Val, ZeroBehavior ZB) {
|
||||
if (ZB != ZB_Undefined && Val == 0)
|
||||
return 32;
|
||||
|
||||
#if __GNUC__ >= 4
|
||||
#if __has_builtin(__builtin_clz) || __GNUC_PREREQ(4, 0)
|
||||
return __builtin_clz(Val);
|
||||
#elif _MSC_VER
|
||||
unsigned long Index;
|
||||
@ -161,7 +161,7 @@ inline std::size_t countLeadingZeros<uint64_t>(uint64_t Val, ZeroBehavior ZB) {
|
||||
if (ZB != ZB_Undefined && Val == 0)
|
||||
return 64;
|
||||
|
||||
#if __GNUC__ >= 4
|
||||
#if __has_builtin(__builtin_clzll) || __GNUC_PREREQ(4, 0)
|
||||
return __builtin_clzll(Val);
|
||||
#elif _MSC_VER
|
||||
unsigned long Index;
|
||||
|
Loading…
x
Reference in New Issue
Block a user