Browse Source

Fixed 64-bit clz/ctz.

Branimir Karadžić 10 years ago
parent
commit
7b7bd3ce0d
1 changed files with 2 additions and 2 deletions
  1. 2 2
      include/bx/uint32_t.h

+ 2 - 2
include/bx/uint32_t.h

@@ -648,7 +648,7 @@ namespace bx
 	inline uint64_t uint64_cntlz(uint64_t _val)
 	inline uint64_t uint64_cntlz(uint64_t _val)
 	{
 	{
 #if BX_COMPILER_GCC || BX_COMPILER_CLANG
 #if BX_COMPILER_GCC || BX_COMPILER_CLANG
-		return __builtin_clz(_val);
+		return __builtin_clzll(_val);
 #elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS && BX_ARCH_64BIT
 #elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS && BX_ARCH_64BIT
 		unsigned long index;
 		unsigned long index;
 		_BitScanReverse64(&index, _val);
 		_BitScanReverse64(&index, _val);
@@ -669,7 +669,7 @@ namespace bx
 	inline uint64_t uint64_cnttz(uint64_t _val)
 	inline uint64_t uint64_cnttz(uint64_t _val)
 	{
 	{
 #if BX_COMPILER_GCC || BX_COMPILER_CLANG
 #if BX_COMPILER_GCC || BX_COMPILER_CLANG
-		return __builtin_ctzl(_val);
+		return __builtin_ctzll(_val);
 #elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS && BX_ARCH_64BIT
 #elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS && BX_ARCH_64BIT
 		unsigned long index;
 		unsigned long index;
 		_BitScanForward64(&index, _val);
 		_BitScanForward64(&index, _val);