Support MSVC 2019 and similarly recent ClangCL with x86 SIMD.
diff --git a/SUBMODULE_VERSIONS b/SUBMODULE_VERSIONS
index f24cb4e..c927e05 100644
--- a/SUBMODULE_VERSIONS
+++ b/SUBMODULE_VERSIONS
@@ -9,7 +9,7 @@
 17b12a4481daa150e2d1ea3ada086b551b856707 third_party/marl
 d2cdb70e038370b5e28f353fe98ccd70af1cbc25 third_party/mlir-emitc
 d8c7ee00a687ac369e62e2032514a93a9b413502 third_party/pybind11
-14569d28154b3f999cd8f4c29b8d6627874682bb third_party/ruy
+503dd7899d6fdf784b7d37032a74575d89f60d04 third_party/ruy
 a1390ed39ec77ecfb574bc6fcd5bfc5e3adbdea9 third_party/sdl2
 685f86471e9d26b3eb7676695a2e2cefb4551ae9 third_party/spirv_cross
 f8bf11a0253a32375c32cad92c841237b96696c0 third_party/spirv_headers
diff --git a/build_tools/third_party/ruy/CMakeLists.txt b/build_tools/third_party/ruy/CMakeLists.txt
index 8a867c3..5b0bef9 100644
--- a/build_tools/third_party/ruy/CMakeLists.txt
+++ b/build_tools/third_party/ruy/CMakeLists.txt
@@ -21,9 +21,6 @@
 iree_select_compiler_opts(RUY_COPTS_BASE
   ALL
     "-I${IREE_ROOT_DIR}/third_party/ruy"
-  CLANG_OR_GCC
-    # TODO(benoitjacob) fix missing #include <cstring> in kernel_x86.h
-    -include cstring
 )
 
 # Some clang-based Windows toolchains have more aggressive interpretations
@@ -51,16 +48,29 @@
 )
 
 if(CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
-  set(RUY_COPTS_AVX -mavx)
-  set(RUY_COPTS_AVX2_FMA
-    -mavx2
-    -mfma)
-  set(RUY_COPTS_AVX512
-    -mavx512f
-    -mavx512vl
-    -mavx512cd
-    -mavx512bw
-    -mavx512dq)
+  iree_select_compiler_opts(RUY_COPTS_AVX
+    CLANG_OR_GCC
+      -mavx
+    MSVC_OR_CLANG_CL
+      /arch:AVX
+  )
+  iree_select_compiler_opts(RUY_COPTS_AVX2_FMA
+    CLANG_OR_GCC
+      -mavx2
+      -mfma
+    MSVC_OR_CLANG_CL
+      /arch:AVX2
+  )
+  iree_select_compiler_opts(RUY_COPTS_AVX512
+    CLANG_OR_GCC
+      -mavx512f
+      -mavx512vl
+      -mavx512cd
+      -mavx512bw
+      -mavx512dq
+    MSVC_OR_CLANG_CL
+      /arch:AVX512
+  )
 endif()
 
 iree_select_compiler_opts(RUY_LINKOPTS_PTHREAD
diff --git a/third_party/ruy b/third_party/ruy
index 14569d2..503dd78 160000
--- a/third_party/ruy
+++ b/third_party/ruy
@@ -1 +1 @@
-Subproject commit 14569d28154b3f999cd8f4c29b8d6627874682bb
+Subproject commit 503dd7899d6fdf784b7d37032a74575d89f60d04