Commit 5d221d9cd63 for nodejs

commit 5d221d9cd633f9968853509f07d7a9fc0b248f46
Author: Joyee Cheung <joyeec9h3@gmail.com>
Date:   Fri Sep 18 15:02:28 2026 +0200

    deps: V8: cherry-pick 820f3d72a638

    Original commit message:

        [simd] Disable SVE implementation of array search for older ClangCL

        The Microsoft C++ ABI mangler in older ClangCL cannot mangle
        these built-ins. Disable SVE in this case.

        Refs: https://github.com/llvm/llvm-project/issues/196170
        Refs: https://github.com/nodejs/node/pull/65161
        Change-Id: I35e49dd4bfc0617bfa31cb7e3af1a475b4fb1bef
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8420284
        Reviewed-by: Leszek Swirski <leszeks@chromium.org>
        Commit-Queue: Joyee Cheung <joyee@igalia.com>
        Cr-Commit-Position: refs/heads/main@{#109945}

    Refs: https://github.com/v8/v8/commit/820f3d72a638359ebc81afff385d3de6f0180778
    Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
    PR-URL: https://github.com/nodejs/node/pull/65161
    Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
    Reviewed-By: Richard Lau <richard.lau@ibm.com>

diff --git a/common.gypi b/common.gypi
index 58d2d288f7f..162e549e980 100644
--- a/common.gypi
+++ b/common.gypi
@@ -44,7 +44,7 @@

     # Reset this number to 0 on major V8 upgrades.
     # Increment by one for each non-official patch applied to deps/v8.
-    'v8_embedder_string': '-node.16',
+    'v8_embedder_string': '-node.17',

     ##### V8 defaults for Node.js #####

diff --git a/deps/v8/src/objects/simd.cc b/deps/v8/src/objects/simd.cc
index be351a7b80c..64f76803f17 100644
--- a/deps/v8/src/objects/simd.cc
+++ b/deps/v8/src/objects/simd.cc
@@ -349,8 +349,11 @@ uintptr_t fast_search_avx(T* array, uintptr_t array_len, uintptr_t index,
 #endif  // ifdef __SSE3__

 // When built with other toolchains, do not count on it to expose
-// __builtin_sve_* on a per-function basis. Fallback to Neon.
-#if defined(NEON64) && defined(__clang__)
+// __builtin_sve_* on a per-function basis. Clang only supports
+// mangling SVE types with the Microsoft C++ ABI since version 21.
+// Fallback to Neon in cases where SVE is not supported.
+#if defined(NEON64) && defined(__clang__) && \
+    (!defined(V8_TARGET_OS_WIN) || __clang_major__ >= 21)
 #define V8_ENABLE_SIMD_SVE 1

 template <typename ScalarType>
@@ -631,7 +634,8 @@ TARGET_SVE inline uintptr_t fast_search_sve(T* array, uintptr_t array_len,
   return no_match;
 }

-#endif  // defined(NEON64) && defined(__clang__)
+#endif  // defined(NEON64) && defined(__clang__) &&
+        // (!defined(V8_TARGET_OS_WIN) || __clang_major__ >= 21)

 #undef IS_CLANG_WIN
 #undef VECTORIZED_LOOP_Neon