From d16f455cd8cabbc1e7bd2369cdb8718c30ab8957 Mon Sep 17 00:00:00 2001
From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
Date: Mon, 24 Mar 2025 17:21:57 +0100
Subject: [PATCH] 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.
---
PCbuild/zlib-ng.vcxproj | 53 +++++++++++++++++++++++++++++++----------
1 file changed, 40 insertions(+), 13 deletions(-)
diff --git a/PCbuild/zlib-ng.vcxproj b/PCbuild/zlib-ng.vcxproj
index 12a87d890d9..de1698ae718 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
@@ -97,7 +98,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
- AdvancedVectorExtensions2
+ %(PreprocessorDefinitions);HAVE_BUILTIN_CTZ
@@ -141,18 +142,44 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+ %(AdditionalOptions) -mssse3
+
+
+ %(AdditionalOptions) -mssse3
+
+
+ %(AdditionalOptions) -msse4.2
+
+
+ %(AdditionalOptions) -mssse3 -mpclmul
+
+
+ AdvancedVectorExtensions2
+
+
+ AdvancedVectorExtensions2
+
+
+ AdvancedVectorExtensions2
+
+
+ AdvancedVectorExtensions2
+
+
+ AdvancedVectorExtensions512
+
+
+ AdvancedVectorExtensions512
+
+
+ AdvancedVectorExtensions512
+ %(AdditionalOptions) -mavx512vnni
+
+
+ AdvancedVectorExtensions512
+ %(AdditionalOptions) -mvpclmulqdq
+