From aca0473d962693c42885aeb09f382fe5f37138de Mon Sep 17 00:00:00 2001 From: Tom Tan Date: Wed, 2 Jan 2019 17:55:33 -0800 Subject: _umul128 is not available on Windows ARM64 --- absl/numeric/int128.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'absl/numeric/int128.h') diff --git a/absl/numeric/int128.h b/absl/numeric/int128.h index 9c36c57..3e7d2d9 100644 --- a/absl/numeric/int128.h +++ b/absl/numeric/int128.h @@ -43,10 +43,10 @@ // builtin type. We need to make sure not to define operator wchar_t() // alongside operator unsigned short() in these instances. #define ABSL_INTERNAL_WCHAR_T __wchar_t -#if defined(_WIN64) +#if defined(_M_X64) #include #pragma intrinsic(_umul128) -#endif // defined(_WIN64) +#endif // defined(_M_X64) #else // defined(_MSC_VER) #define ABSL_INTERNAL_WCHAR_T wchar_t #endif // defined(_MSC_VER) @@ -675,7 +675,7 @@ inline uint128 operator*(uint128 lhs, uint128 rhs) { // can be used for uint128 storage. return static_cast(lhs) * static_cast(rhs); -#elif defined(_MSC_VER) && defined(_WIN64) +#elif defined(_MSC_VER) && defined(_M_X64) uint64_t carry; uint64_t low = _umul128(Uint128Low64(lhs), Uint128Low64(rhs), &carry); return MakeUint128(Uint128Low64(lhs) * Uint128High64(rhs) + -- cgit v1.2.3