<commit_before>diff --git a/absl/container/internal/inlined_vector.h b/absl/container/internal/inlined_vector.h
index 1d7d6cd..f6a7a78 100644
--- a/absl/container/internal/inlined_vector.h
+++ b/absl/container/internal/inlined_vector.h
@@ -904,7 +904,7 @@ auto Storage<T, N, A>::Swap(Storage* other_storage_ptr) -> void {
                            inlined_ptr->GetSize());
     }
     ABSL_INTERNAL_CATCH_ANY {
-      allocated_ptr->SetAllocation(
+      allocated_ptr->SetAllocation(Allocation<A>
           {allocated_storage_view.data, allocated_storage_view.capacity});
       ABSL_INTERNAL_RETHROW;
     }
@@ -912,7 +912,7 @@ auto Storage<T, N, A>::Swap(Storage* other_storage_ptr) -> void {
     DestroyElements<A>(inlined_ptr->GetAllocator(),
                        inlined_ptr->GetInlinedData(), inlined_ptr->GetSize());
 
-    inlined_ptr->SetAllocation(
+    inlined_ptr->SetAllocation(Allocation<A>
         {allocated_storage_view.data, allocated_storage_view.capacity});
   }
 
diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
index a4ab1aa..dfd13fd 100644
--- a/absl/copts/GENERATED_AbseilCopts.cmake
+++ b/absl/copts/GENERATED_AbseilCopts.cmake
@@ -129,8 +129,6 @@ list(APPEND ABSL_MSVC_FLAGS
     "/wd4005"
     "/wd4068"
     "/wd4180"
-    "/wd4244"
-    "/wd4267"
     "/wd4503"
     "/wd4800"
 )
diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
index a6efc98..8c4de8e 100644
--- a/absl/copts/GENERATED_copts.bzl
+++ b/absl/copts/GENERATED_copts.bzl
@@ -130,8 +130,6 @@ ABSL_MSVC_FLAGS = [
     "/wd4005",
     "/wd4068",
     "/wd4180",
-    "/wd4244",
-    "/wd4267",
     "/wd4503",
     "/wd4800",
 ]
diff --git a/absl/copts/copts.py b/absl/copts/copts.py
index 0d6c1ec..75fd935 100644
--- a/absl/copts/copts.py
+++ b/absl/copts/copts.py
@@ -132,10 +132,6 @@ COPT_VARS = {
             "/wd4068",  # unknown pragma
             # qualifier applied to function type has no meaning; ignored
             "/wd4180",
-            # conversion from 'type1' to 'type2', possible loss of data
-            "/wd4244",
-            # conversion from 'size_t' to 'type', possible loss of data
-            "/wd4267",
             # The decorated name was longer than the compiler limit
             "/wd4503",
             # forcing value to bool 'true' or 'false' (performance warning)<commit_msg>Fix ARM64EC build breaks (#11111)<commit_after>diff --git a/absl/container/internal/inlined_vector.h b/absl/container/internal/inlined_vector.h
index 1d7d6cd..f6a7a78 100644
--- a/absl/container/internal/inlined_vector.h
+++ b/absl/container/internal/inlined_vector.h
@@ -904,7 +904,7 @@ auto Storage<T, N, A>::Swap(Storage* other_storage_ptr) -> void {
                            inlined_ptr->GetSize());
     }
     ABSL_INTERNAL_CATCH_ANY {
-      allocated_ptr->SetAllocation(
+      allocated_ptr->SetAllocation(Allocation<A>
           {allocated_storage_view.data, allocated_storage_view.capacity});
       ABSL_INTERNAL_RETHROW;
     }
@@ -912,7 +912,7 @@ auto Storage<T, N, A>::Swap(Storage* other_storage_ptr) -> void {
     DestroyElements<A>(inlined_ptr->GetAllocator(),
                        inlined_ptr->GetInlinedData(), inlined_ptr->GetSize());
 
-    inlined_ptr->SetAllocation(
+    inlined_ptr->SetAllocation(Allocation<A>
         {allocated_storage_view.data, allocated_storage_view.capacity});
   }
 
diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
index a4ab1aa..dfd13fd 100644
--- a/absl/copts/GENERATED_AbseilCopts.cmake
+++ b/absl/copts/GENERATED_AbseilCopts.cmake
@@ -129,8 +129,6 @@ list(APPEND ABSL_MSVC_FLAGS
     "/wd4005"
     "/wd4068"
     "/wd4180"
-    "/wd4244"
-    "/wd4267"
     "/wd4503"
     "/wd4800"
 )
diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
index a6efc98..8c4de8e 100644
--- a/absl/copts/GENERATED_copts.bzl
+++ b/absl/copts/GENERATED_copts.bzl
@@ -130,8 +130,6 @@ ABSL_MSVC_FLAGS = [
     "/wd4005",
     "/wd4068",
     "/wd4180",
-    "/wd4244",
-    "/wd4267",
     "/wd4503",
     "/wd4800",
 ]
diff --git a/absl/copts/copts.py b/absl/copts/copts.py
index 0d6c1ec..75fd935 100644
--- a/absl/copts/copts.py
+++ b/absl/copts/copts.py
@@ -132,10 +132,6 @@ COPT_VARS = {
             "/wd4068",  # unknown pragma
             # qualifier applied to function type has no meaning; ignored
             "/wd4180",
-            # conversion from 'type1' to 'type2', possible loss of data
-            "/wd4244",
-            # conversion from 'size_t' to 'type', possible loss of data
-            "/wd4267",
             # The decorated name was longer than the compiler limit
             "/wd4503",
             # forcing value to bool 'true' or 'false' (performance warning)

diff --git a/absl/base/internal/unscaledcycleclock.h b/absl/base/internal/unscaledcycleclock.h
index 07f867a6..a4351406 100644
--- a/absl/base/internal/unscaledcycleclock.h
+++ b/absl/base/internal/unscaledcycleclock.h
@@ -47,7 +47,7 @@
 // The following platforms have an implementation of a hardware counter.
 #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
     defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
-    defined(_M_IX86) || defined(_M_X64)
+    defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
 #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
 #else
 #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
diff --git a/absl/numeric/int128.h b/absl/numeric/int128.h
index c7ad96be..7a899eec 100644
--- a/absl/numeric/int128.h
+++ b/absl/numeric/int128.h
@@ -44,7 +44,7 @@
 // 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(_M_X64)
+#if defined(_M_X64) && !defined(_M_ARM64EC)
 #include <intrin.h>
 #pragma intrinsic(_umul128)
 #endif  // defined(_M_X64)
@@ -980,7 +980,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(_M_X64)
+#elif defined(_MSC_VER) && defined(_M_X64) && !defined(_M_ARM64EC)
   uint64_t carry;
   uint64_t low = _umul128(Uint128Low64(lhs), Uint128Low64(rhs), &carry);
   return MakeUint128(Uint128Low64(lhs) * Uint128High64(rhs) +
{'fraction_non_alphanumeric': 0.1433452399440907, 'fraction_numerical': 0.0765646839571362, 'mean_word_length': 3.0837032339885857, 'pattern_counts': {'":': 0, '<': 16, '<?xml version=': 0, '>': 36, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3427828', 'n_tokens_mistral': 2713, 'n_tokens_neox': 2423, 'n_words': 407}