namespace base {
namespace bits {
-#if V8_CC_MSVC
-
-#pragma intrinsic(_rotr)
-#pragma intrinsic(_rotr64)
-
-inline uint32_t RotateRight32(uint32_t value, uint32_t shift) {
- return _rotr(value, shift);
-}
-
-
-inline uint64_t RotateRight64(uint64_t value, uint32_t shift) {
- return _rotr64(value, shift);
-}
-
-#else // V8_CC_MSVC
-
inline uint32_t RotateRight32(uint32_t value, uint32_t shift) {
if (shift == 0) return value;
return (value >> shift) | (value << (32 - shift));
}
-inline uint64_t RotateRight64(uint64_t value, uint32_t shift) {
+inline uint64_t RotateRight64(uint64_t value, uint64_t shift) {
if (shift == 0) return value;
return (value >> shift) | (value << (64 - shift));
}
-#endif // V8_CC_MSVC
-
} // namespace bits
} // namespace base
} // namespace v8