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.
This commit is contained in:
parent
1d6a2e6481
commit
d16f455cd8
@ -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" />
|
||||
|
Loading…
x
Reference in New Issue
Block a user