Commit 03e959375b1 for php

commit 03e959375b1244adbbd5de7e2dae02e06b6a627c
Author: Shivam Mathur <shivam_jpr@hotmail.com>
Date:   Wed Oct 14 18:07:59 2026 +0530

    Fix v142 ARM64 hash and floating point results (#24317)

diff --git a/ext/hash/murmur/PMurHash.c b/ext/hash/murmur/PMurHash.c
index 0716ca13c88..83c7d721fbe 100644
--- a/ext/hash/murmur/PMurHash.c
+++ b/ext/hash/murmur/PMurHash.c
@@ -67,6 +67,11 @@ on big endian machines, or a byte-by-byte read if the endianess is unknown.
   #define UNALIGNED_SAFE
 #endif

+/* Avoid miscompiled aligned reads with the v142 ARM64 optimizer. */
+#if defined(_MSC_VER) && _MSC_VER < 1930 && defined(_M_ARM64) && !defined(__clang__)
+  #define UNALIGNED_SAFE
+#endif
+
 /* Find best way to ROTL */
 #if defined(_MSC_VER)
   #define FORCE_INLINE  static __forceinline
diff --git a/win32/build/config.w32.h.in b/win32/build/config.w32.h.in
index 7686fb83a4a..f7c940390ac 100644
--- a/win32/build/config.w32.h.in
+++ b/win32/build/config.w32.h.in
@@ -27,6 +27,11 @@
 #define DEFAULT_SHORT_OPEN_TAG "1"

 /* Platform-Specific Configuration. Should not be changed. */
+/* Match -ffp-contract=off on toolsets that enable ARM64 contractions by default. */
+#if defined(_MSC_VER) && _MSC_VER < 1930 && defined(_M_ARM64) && !defined(__clang__)
+# pragma fp_contract(off)
+#endif
+
 /* Alignment for Zend memory allocator */
 #define ZEND_MM_ALIGNMENT (size_t)8
 #define ZEND_MM_ALIGNMENT_LOG2 (size_t)3