about summary refs log tree commit diff
path: root/absl/numeric
diff options
context:
space:
mode:
authorTom Tan <Tom.Tan@microsoft.com>2019-01-03T01·55-0800
committerTom Tan <Tom.Tan@microsoft.com>2019-01-03T01·55-0800
commitaca0473d962693c42885aeb09f382fe5f37138de (patch)
tree947220571e939237c61e128c61f380e97844e667 /absl/numeric
parent7ffbe09f3d85504bd018783bbe1e2c12992fe47c (diff)
_umul128 is not available on Windows ARM64
Diffstat (limited to 'absl/numeric')
-rw-r--r--absl/numeric/int128.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/absl/numeric/int128.h b/absl/numeric/int128.h
index 9c36c57116c6..3e7d2d9f78da 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 <intrin.h>
 #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<unsigned __int128>(lhs) *
          static_cast<unsigned __int128>(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) +