Commit 6f0e6f1 for zlib

commit 6f0e6f10b18c9a3f6f7f540c1250cb4a340c2a49
Author: Vollstrecker <werner@vollstreckernet.de>
Date:   Tue Dec 30 18:49:01 2025 +0100

    CMake: Added contrib/gcc_gvmat64.

diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt
index 63a838d..f5916f3 100644
--- a/contrib/CMakeLists.txt
+++ b/contrib/CMakeLists.txt
@@ -1,6 +1,9 @@
 option(ZLIB_BUILD_ADA "Enable building of Ada bindings" OFF)
 option(ZLIB_BUILD_BLAST "Enable building of blast binary" OFF)
 option(ZLIB_BUILD_MINIZIP "Enable building libminizip contrib library" OFF)
+option(ZLIB_WITH_GVMAT64
+       "Enable an optiomized longest_match for 32 bits x86_64"
+       OFF)

 if(ZLIB_BUILD_ADA)
     set(ZLIBADA_BUILD_SHARED ${ZLIB_BUILD_SHARED})
@@ -22,3 +25,7 @@ if(ZLIB_BUILD_MINIZIP)
     set(MINIZIP_BUILD_TESTING ${ZLIB_BUILD_TESTING})
     add_subdirectory(minizip/)
 endif(ZLIB_BUILD_MINIZIP)
+
+if(ZLIB_WITH_GVMAT64)
+   add_subdirectory(gcc_gvmat64/)
+endif(ZLIB_WITH_GVMAT64)
diff --git a/contrib/gcc_gvmat64/CMakeLists.txt b/contrib/gcc_gvmat64/CMakeLists.txt
new file mode 100644
index 0000000..2f90d75
--- /dev/null
+++ b/contrib/gcc_gvmat64/CMakeLists.txt
@@ -0,0 +1,14 @@
+enable_language(ASM)
+
+# Need to push CMAKE_ASM_COMPILE_OBJECT to cache as otherwise it's not
+# available in top-level
+
+set(CMAKE_ASM_COMPILE_OBJECT ${CMAKE_ASM_COMPILE_OBJECT} CACHE INTERNAL "" FORCE)
+
+if(ZLIB_BUILD_SHARED)
+    target_sources(zlib PRIVATE gvmat64.S)
+endif(ZLIB_BUILD_SHARED)
+
+if(ZLIB_BUILD_STATIC)
+    target_sources(zlibstatic PRIVATE gvmat64.S)
+endif(ZLIB_BUILD_STATIC)