From 1852ff413556fc30ab780c3a6f3681694e89f899 Mon Sep 17 00:00:00 2001
From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
Date: Thu, 20 Mar 2025 21:07:10 +0100
Subject: [PATCH 1/6] fix clangcl build on Windows for zlib-ng
---
PCbuild/zlib-ng.vcxproj | 49 +++++++++++++++++++++++++++++++----------
1 file changed, 37 insertions(+), 12 deletions(-)
diff --git a/PCbuild/zlib-ng.vcxproj b/PCbuild/zlib-ng.vcxproj
index 12a87d890d92ae..3c2541d3cb52a6 100644
--- a/PCbuild/zlib-ng.vcxproj
+++ b/PCbuild/zlib-ng.vcxproj
@@ -97,6 +97,7 @@
%(PreprocessorDefinitions);ZLIB_COMPAT;WITH_GZFILEOP;NO_FSEEKO;HAVE_BUILTIN_ASSUME_ALIGNED;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;
%(PreprocessorDefinitions);X86_FEATURES;X86_HAVE_XSAVE_INTRIN;X86_SSE2;X86_SSSE3;X86_SSE42;X86_PCLMULQDQ_CRC;X86_AVX2;X86_AVX512;X86_AVX512VNNI;X86_VPCLMULQDQ_CRC
%(PreprocessorDefinitions);ZLIB_DEBUG
+ %(PreprocessorDefinitions);HAVE_BUILTIN_CTZ
AdvancedVectorExtensions2
@@ -141,18 +142,42 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+ %(AdditionalOptions) -mssse3
+
+
+ %(AdditionalOptions) -mssse3
+
+
+ %(AdditionalOptions) -mssse3
+
+
+ %(AdditionalOptions) -mssse3 -mpclmul
+
+
+ %(AdditionalOptions) -mavx2
+
+
+ %(AdditionalOptions) -mavx2
+
+
+ %(AdditionalOptions) -mavx2
+
+
+ %(AdditionalOptions) -mavx2
+
+
+ %(AdditionalOptions) -mavx512bw
+
+
+ %(AdditionalOptions) -mavx512bw -mavx512vl -mbmi2
+
+
+ %(AdditionalOptions) -mavx512bw -mavx512vl -mavx512vnni
+
+
+ %(AdditionalOptions) -mavx512f -mvpclmulqdq
+
From 335009bd13b0972bd5a27758140ec10ed15cf2d1 Mon Sep 17 00:00:00 2001
From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
Date: Sat, 22 Mar 2025 07:24:03 +0100
Subject: [PATCH 2/6] use -msse4.2 for adler32_sse42.c
---
PCbuild/zlib-ng.vcxproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/PCbuild/zlib-ng.vcxproj b/PCbuild/zlib-ng.vcxproj
index 3c2541d3cb52a6..0be98499ce4865 100644
--- a/PCbuild/zlib-ng.vcxproj
+++ b/PCbuild/zlib-ng.vcxproj
@@ -149,7 +149,7 @@
%(AdditionalOptions) -mssse3
- %(AdditionalOptions) -mssse3
+ %(AdditionalOptions) -msse4.2
%(AdditionalOptions) -mssse3 -mpclmul
From 4bdf82f7bae41d3c5037829ec612a85c56e3d072 Mon Sep 17 00:00:00 2001
From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
Date: Sat, 22 Mar 2025 08:37:44 +0100
Subject: [PATCH 3/6] Do not use AdvancedVectorExtensions2 for all *.c files,
so that the resulting binary can be executed on older CPUs, too.
Also use AdvancedVectorExtensions512 where necessary.
---
PCbuild/zlib-ng.vcxproj | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/PCbuild/zlib-ng.vcxproj b/PCbuild/zlib-ng.vcxproj
index 0be98499ce4865..106db19295cc47 100644
--- a/PCbuild/zlib-ng.vcxproj
+++ b/PCbuild/zlib-ng.vcxproj
@@ -98,7 +98,6 @@
%(PreprocessorDefinitions);X86_FEATURES;X86_HAVE_XSAVE_INTRIN;X86_SSE2;X86_SSSE3;X86_SSE42;X86_PCLMULQDQ_CRC;X86_AVX2;X86_AVX512;X86_AVX512VNNI;X86_VPCLMULQDQ_CRC
%(PreprocessorDefinitions);ZLIB_DEBUG
%(PreprocessorDefinitions);HAVE_BUILTIN_CTZ
- AdvancedVectorExtensions2
@@ -155,28 +154,30 @@
%(AdditionalOptions) -mssse3 -mpclmul
- %(AdditionalOptions) -mavx2
+ AdvancedVectorExtensions2
- %(AdditionalOptions) -mavx2
+ AdvancedVectorExtensions2
- %(AdditionalOptions) -mavx2
+ AdvancedVectorExtensions2
- %(AdditionalOptions) -mavx2
+ AdvancedVectorExtensions2
- %(AdditionalOptions) -mavx512bw
+ AdvancedVectorExtensions512
- %(AdditionalOptions) -mavx512bw -mavx512vl -mbmi2
+ AdvancedVectorExtensions512
- %(AdditionalOptions) -mavx512bw -mavx512vl -mavx512vnni
+ AdvancedVectorExtensions512
+ %(AdditionalOptions) -mavx512vnni
- %(AdditionalOptions) -mavx512f -mvpclmulqdq
+ AdvancedVectorExtensions512
+ %(AdditionalOptions) -mvpclmulqdq
From b651937a295721960681a60a6cc6ee1ff16fea6c Mon Sep 17 00:00:00 2001
From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
Date: Sat, 22 Mar 2025 08:51:59 +0100
Subject: [PATCH 4/6] // DO NOT MERGE - just triggering Windows tail-call CI)
---
Python/ceval_macros.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/Python/ceval_macros.h b/Python/ceval_macros.h
index f19ffd23161ace..9c774cb744d0d6 100644
--- a/Python/ceval_macros.h
+++ b/Python/ceval_macros.h
@@ -1,3 +1,4 @@
+// DO NOT MERGE - just triggering Windows tail-call CI)
// Macros and other things needed by ceval.c, and bytecodes.c
/* Computed GOTOs, or
From 5d423d5ef33d12383222e2ea887e8167fab6ddb3 Mon Sep 17 00:00:00 2001
From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
Date: Sat, 22 Mar 2025 11:49:13 +0100
Subject: [PATCH 5/6] fix clang-cl PGO build
---
PCbuild/zlib-ng.vcxproj | 1 +
1 file changed, 1 insertion(+)
diff --git a/PCbuild/zlib-ng.vcxproj b/PCbuild/zlib-ng.vcxproj
index 106db19295cc47..de1698ae718473 100644
--- a/PCbuild/zlib-ng.vcxproj
+++ b/PCbuild/zlib-ng.vcxproj
@@ -90,6 +90,7 @@
%(AdditionalOptions) /utf-8 /w34242
+ %(AdditionalOptions) -fno-profile-instr-use
4206;4054;4324
stdc11
NotUsing
From 123e04725a6fbd0ae3b7e5b63c54fe70fd59ee16 Mon Sep 17 00:00:00 2001
From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
Date: Mon, 24 Mar 2025 16:52:21 +0100
Subject: [PATCH 6/6] remove trigger comment from ceval_macros.h
---
Python/ceval_macros.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/Python/ceval_macros.h b/Python/ceval_macros.h
index 9c774cb744d0d6..f19ffd23161ace 100644
--- a/Python/ceval_macros.h
+++ b/Python/ceval_macros.h
@@ -1,4 +1,3 @@
-// DO NOT MERGE - just triggering Windows tail-call CI)
// Macros and other things needed by ceval.c, and bytecodes.c
/* Computed GOTOs, or