Index: src/compiler-intrinsics.h |
diff --git a/src/compiler-intrinsics.h b/src/compiler-intrinsics.h |
deleted file mode 100644 |
index 669dd28b6a92dd0d89c5d85c1aa43c92be7daad7..0000000000000000000000000000000000000000 |
--- a/src/compiler-intrinsics.h |
+++ /dev/null |
@@ -1,73 +0,0 @@ |
-// Copyright 2006-2008 the V8 project authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef V8_COMPILER_INTRINSICS_H_ |
-#define V8_COMPILER_INTRINSICS_H_ |
- |
-#include "src/base/macros.h" |
- |
-namespace v8 { |
-namespace internal { |
- |
-class CompilerIntrinsics { |
- public: |
- // Returns number of zero bits preceding least significant 1 bit. |
- // Undefined for zero value. |
- INLINE(static int CountTrailingZeros(uint32_t value)); |
- |
- // Returns number of zero bits following most significant 1 bit. |
- // Undefined for zero value. |
- INLINE(static int CountLeadingZeros(uint32_t value)); |
- |
- // Returns the number of bits set. |
- INLINE(static int CountSetBits(uint32_t value)); |
-}; |
- |
-#ifdef __GNUC__ |
-int CompilerIntrinsics::CountTrailingZeros(uint32_t value) { |
- return __builtin_ctz(value); |
-} |
- |
-int CompilerIntrinsics::CountLeadingZeros(uint32_t value) { |
- return __builtin_clz(value); |
-} |
- |
-int CompilerIntrinsics::CountSetBits(uint32_t value) { |
- return __builtin_popcount(value); |
-} |
- |
-#elif defined(_MSC_VER) |
- |
-#pragma intrinsic(_BitScanForward) |
-#pragma intrinsic(_BitScanReverse) |
- |
-int CompilerIntrinsics::CountTrailingZeros(uint32_t value) { |
- unsigned long result; //NOLINT |
- _BitScanForward(&result, static_cast<long>(value)); //NOLINT |
- return static_cast<int>(result); |
-} |
- |
-int CompilerIntrinsics::CountLeadingZeros(uint32_t value) { |
- unsigned long result; //NOLINT |
- _BitScanReverse(&result, static_cast<long>(value)); //NOLINT |
- return 31 - static_cast<int>(result); |
-} |
- |
-int CompilerIntrinsics::CountSetBits(uint32_t value) { |
- // Manually count set bits. |
- value = ((value >> 1) & 0x55555555) + (value & 0x55555555); |
- value = ((value >> 2) & 0x33333333) + (value & 0x33333333); |
- value = ((value >> 4) & 0x0f0f0f0f) + (value & 0x0f0f0f0f); |
- value = ((value >> 8) & 0x00ff00ff) + (value & 0x00ff00ff); |
- value = ((value >> 16) & 0x0000ffff) + (value & 0x0000ffff); |
- return value; |
-} |
- |
-#else |
-#error Unsupported compiler |
-#endif |
- |
-} } // namespace v8::internal |
- |
-#endif // V8_COMPILER_INTRINSICS_H_ |