https://github.com/python/cpython/commit/d16f455cd8cabbc1e7bd2369cdb8718c30ab8957
commit: d16f455cd8cabbc1e7bd2369cdb8718c30ab8957
branch: main
author: Chris Eibl <[email protected]>
committer: zooba <[email protected]>
date: 2025-03-24T16:21:57Z
summary:
GH-131521: Uses correct build flags for zlib-ng on Windows (GH-131526)
Do not enable AdvancedVectorExtensions2 for all *.c files, so that the
resulting binary can be executed on older CPUs, too. Also enable
AdvancedVectorExtensions512 where necessary, and add the ClangCL flags required
to enable vector extensions.
files:
M PCbuild/zlib-ng.vcxproj
diff --git a/PCbuild/zlib-ng.vcxproj b/PCbuild/zlib-ng.vcxproj
index 12a87d890d92ae..de1698ae718473 100644
--- a/PCbuild/zlib-ng.vcxproj
+++ b/PCbuild/zlib-ng.vcxproj
@@ -90,6 +90,7 @@
<ItemDefinitionGroup>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions) /utf-8
/w34242</AdditionalOptions>
+ <AdditionalOptions Condition="$(SupportPGO) and $(Configuration) ==
'PGUpdate' and $(PlatformToolset) == 'ClangCL'">%(AdditionalOptions)
-fno-profile-instr-use</AdditionalOptions>
<DisableSpecificWarnings>4206;4054;4324</DisableSpecificWarnings>
<LanguageStandard_C>stdc11</LanguageStandard_C>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
@@ -97,7 +98,7 @@
<PreprocessorDefinitions>%(PreprocessorDefinitions);ZLIB_COMPAT;WITH_GZFILEOP;NO_FSEEKO;HAVE_BUILTIN_ASSUME_ALIGNED;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="$(Platform) == 'Win32' or
$(Platform) ==
'x64'">%(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>
<PreprocessorDefinitions Condition="$(Configuration) ==
'Debug'">%(PreprocessorDefinitions);ZLIB_DEBUG</PreprocessorDefinitions>
- <EnableEnhancedInstructionSet Condition="$(Platform) == 'Win32' or
$(Platform) == 'x64'">AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
+ <PreprocessorDefinitions Condition="$(PlatformToolset) ==
'ClangCL'">%(PreprocessorDefinitions);HAVE_BUILTIN_CTZ</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
@@ -141,18 +142,44 @@
<ClCompile Include="$(zlibNgDir)\arch\x86\chunkset_sse2.c" />
<ClCompile Include="$(zlibNgDir)\arch\x86\compare256_sse2.c" />
<ClCompile Include="$(zlibNgDir)\arch\x86\slide_hash_sse2.c" />
- <ClCompile Include="$(zlibNgDir)\arch\x86\adler32_ssse3.c" />
- <ClCompile Include="$(zlibNgDir)\arch\x86\chunkset_ssse3.c" />
- <ClCompile Include="$(zlibNgDir)\arch\x86\adler32_sse42.c" />
- <ClCompile Include="$(zlibNgDir)\arch\x86\crc32_pclmulqdq.c" />
- <ClCompile Include="$(zlibNgDir)\arch\x86\slide_hash_avx2.c" />
- <ClCompile Include="$(zlibNgDir)\arch\x86\chunkset_avx2.c" />
- <ClCompile Include="$(zlibNgDir)\arch\x86\compare256_avx2.c" />
- <ClCompile Include="$(zlibNgDir)\arch\x86\adler32_avx2.c" />
- <ClCompile Include="$(zlibNgDir)\arch\x86\adler32_avx512.c" />
- <ClCompile Include="$(zlibNgDir)\arch\x86\chunkset_avx512.c" />
- <ClCompile Include="$(zlibNgDir)\arch\x86\adler32_avx512_vnni.c" />
- <ClCompile Include="$(zlibNgDir)\arch\x86\crc32_vpclmulqdq.c" />
+ <ClCompile Include="$(zlibNgDir)\arch\x86\adler32_ssse3.c">
+ <AdditionalOptions Condition="$(PlatformToolset) ==
'ClangCL'">%(AdditionalOptions) -mssse3</AdditionalOptions>
+ </ClCompile>
+ <ClCompile Include="$(zlibNgDir)\arch\x86\chunkset_ssse3.c">
+ <AdditionalOptions Condition="$(PlatformToolset) ==
'ClangCL'">%(AdditionalOptions) -mssse3</AdditionalOptions>
+ </ClCompile>
+ <ClCompile Include="$(zlibNgDir)\arch\x86\adler32_sse42.c">
+ <AdditionalOptions Condition="$(PlatformToolset) ==
'ClangCL'">%(AdditionalOptions) -msse4.2</AdditionalOptions>
+ </ClCompile>
+ <ClCompile Include="$(zlibNgDir)\arch\x86\crc32_pclmulqdq.c">
+ <AdditionalOptions Condition="$(PlatformToolset) ==
'ClangCL'">%(AdditionalOptions) -mssse3 -mpclmul</AdditionalOptions>
+ </ClCompile>
+ <ClCompile Include="$(zlibNgDir)\arch\x86\slide_hash_avx2.c">
+
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
+ </ClCompile>
+ <ClCompile Include="$(zlibNgDir)\arch\x86\chunkset_avx2.c">
+
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
+ </ClCompile>
+ <ClCompile Include="$(zlibNgDir)\arch\x86\compare256_avx2.c">
+
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
+ </ClCompile>
+ <ClCompile Include="$(zlibNgDir)\arch\x86\adler32_avx2.c">
+
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
+ </ClCompile>
+ <ClCompile Include="$(zlibNgDir)\arch\x86\adler32_avx512.c">
+
<EnableEnhancedInstructionSet>AdvancedVectorExtensions512</EnableEnhancedInstructionSet>
+ </ClCompile>
+ <ClCompile Include="$(zlibNgDir)\arch\x86\chunkset_avx512.c">
+
<EnableEnhancedInstructionSet>AdvancedVectorExtensions512</EnableEnhancedInstructionSet>
+ </ClCompile>
+ <ClCompile Include="$(zlibNgDir)\arch\x86\adler32_avx512_vnni.c">
+
<EnableEnhancedInstructionSet>AdvancedVectorExtensions512</EnableEnhancedInstructionSet>
+ <AdditionalOptions Condition="$(PlatformToolset) ==
'ClangCL'">%(AdditionalOptions) -mavx512vnni</AdditionalOptions>
+ </ClCompile>
+ <ClCompile Include="$(zlibNgDir)\arch\x86\crc32_vpclmulqdq.c">
+
<EnableEnhancedInstructionSet>AdvancedVectorExtensions512</EnableEnhancedInstructionSet>
+ <AdditionalOptions Condition="$(PlatformToolset) ==
'ClangCL'">%(AdditionalOptions) -mvpclmulqdq</AdditionalOptions>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\PC\zconf.h" />
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]