https://github.com/python/cpython/commit/d16f455cd8cabbc1e7bd2369cdb8718c30ab8957 commit: d16f455cd8cabbc1e7bd2369cdb8718c30ab8957 branch: main author: Chris Eibl <138194463+chris-e...@users.noreply.github.com> committer: zooba <steve.do...@microsoft.com> 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 -- python-checkins@python.org To unsubscribe send an email to python-checkins-le...@python.org https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: arch...@mail-archive.com