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