diff --git a/include/rpc/msgpack/predef/architecture/arm.h b/include/rpc/msgpack/predef/architecture/arm.h
index 20a1e6b..82f8a9b 100644
--- a/include/rpc/msgpack/predef/architecture/arm.h
+++ b/include/rpc/msgpack/predef/architecture/arm.h
@@ -27,11 +27,13 @@ http://www.boost.org/LICENSE_1_0.txt)
     [[`__TARGET_ARCH_ARM`] [__predef_detection__]]
     [[`__TARGET_ARCH_THUMB`] [__predef_detection__]]
     [[`_M_ARM`] [__predef_detection__]]
+    [[`_M_ARM64`] [__predef_detection__]]
 
     [[`__arm64`] [8.0.0]]
     [[`__TARGET_ARCH_ARM`] [V.0.0]]
     [[`__TARGET_ARCH_THUMB`] [V.0.0]]
     [[`_M_ARM`] [V.0.0]]
+    [[`_M_ARM64`] [V.0.0]]
     ]
  */
 
@@ -39,7 +41,7 @@ http://www.boost.org/LICENSE_1_0.txt)
 
 #if defined(__arm__) || defined(__arm64) || defined(__thumb__) || \
     defined(__TARGET_ARCH_ARM) || defined(__TARGET_ARCH_THUMB) || \
-    defined(_M_ARM)
+    defined(_M_ARM) || defined(_M_ARM64)
 #   undef MSGPACK_ARCH_ARM
 #   if !defined(MSGPACK_ARCH_ARM) && defined(__arm64)
 #       define MSGPACK_ARCH_ARM MSGPACK_VERSION_NUMBER(8,0,0)
@@ -53,6 +55,9 @@ http://www.boost.org/LICENSE_1_0.txt)
 #   if !defined(MSGPACK_ARCH_ARM) && defined(_M_ARM)
 #       define MSGPACK_ARCH_ARM MSGPACK_VERSION_NUMBER(_M_ARM,0,0)
 #   endif
+#   if !defined(MSGPACK_ARCH_ARM) && defined(_M_ARM64)
+#       define MSGPACK_ARCH_ARM MSGPACK_VERSION_NUMBER(_M_ARM64,0,0)
+#   endif
 #   if !defined(MSGPACK_ARCH_ARM)
 #       define MSGPACK_ARCH_ARM MSGPACK_VERSION_NUMBER_AVAILABLE
 #   endif
