mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-05 13:28:40 +00:00
clang and gcc bit ops
This commit is contained in:
+11
-23
@@ -143,12 +143,6 @@ bswap_u64(U64 x)
|
|||||||
|
|
||||||
#if COMPILER_MSVC || (COMPILER_CLANG && OS_WINDOWS)
|
#if COMPILER_MSVC || (COMPILER_CLANG && OS_WINDOWS)
|
||||||
|
|
||||||
internal U64
|
|
||||||
count_bits_set16(U16 val)
|
|
||||||
{
|
|
||||||
return __popcnt16(val);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal U64
|
internal U64
|
||||||
count_bits_set32(U32 val)
|
count_bits_set32(U32 val)
|
||||||
{
|
{
|
||||||
@@ -195,46 +189,40 @@ clz64(U64 mask)
|
|||||||
|
|
||||||
#elif COMPILER_CLANG || COMPILER_GCC
|
#elif COMPILER_CLANG || COMPILER_GCC
|
||||||
|
|
||||||
internal U64
|
|
||||||
count_bits_set16(U16 val)
|
|
||||||
{
|
|
||||||
NotImplemented;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal U64
|
internal U64
|
||||||
count_bits_set32(U32 val)
|
count_bits_set32(U32 val)
|
||||||
{
|
{
|
||||||
NotImplemented;
|
return __builtin_popcount(val);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal U64
|
internal U64
|
||||||
count_bits_set64(U64 val)
|
count_bits_set64(U64 val)
|
||||||
{
|
{
|
||||||
NotImplemented;
|
return __builtin_popcountll(val);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal U64
|
internal U64
|
||||||
ctz32(U32 val)
|
ctz32(U32 val)
|
||||||
{
|
{
|
||||||
NotImplemented;
|
return __builtin_ctz(val);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal U64
|
internal U64
|
||||||
clz32(U32 val)
|
clz32(U32 val)
|
||||||
{
|
{
|
||||||
NotImplemented;
|
return __builtin_clz(val);
|
||||||
return 0;
|
}
|
||||||
|
|
||||||
|
internal U64
|
||||||
|
ctz64(U64 val)
|
||||||
|
{
|
||||||
|
return __builtin_ctzll(val);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal U64
|
internal U64
|
||||||
clz64(U64 val)
|
clz64(U64 val)
|
||||||
{
|
{
|
||||||
NotImplemented;
|
return __builtin_clzll(val);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -769,7 +769,6 @@ internal U16 bswap_u16(U16 x);
|
|||||||
internal U32 bswap_u32(U32 x);
|
internal U32 bswap_u32(U32 x);
|
||||||
internal U64 bswap_u64(U64 x);
|
internal U64 bswap_u64(U64 x);
|
||||||
|
|
||||||
internal U64 count_bits_set16(U16 val);
|
|
||||||
internal U64 count_bits_set32(U32 val);
|
internal U64 count_bits_set32(U32 val);
|
||||||
internal U64 count_bits_set64(U64 val);
|
internal U64 count_bits_set64(U64 val);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user