aboutsummaryrefslogtreecommitdiff
path: root/contrib/crc32vx/README
diff options
context:
space:
mode:
authorIlya Leoshkevich <iii@linux.ibm.com>2025-09-10 11:28:03 +0200
committerMark Adler <git@madler.net>2026-01-27 20:22:17 -0800
commit07f2d4237eade624182b1cf11f1f516985aed620 (patch)
treefad27d61fc7e05c8bc08662fd1caa4fb2bea928e /contrib/crc32vx/README
parent3382ba45561ea82a1d8976578b2a41facff3b8bc (diff)
downloadzlib-07f2d4237eade624182b1cf11f1f516985aed620.tar.gz
zlib-07f2d4237eade624182b1cf11f1f516985aed620.tar.bz2
zlib-07f2d4237eade624182b1cf11f1f516985aed620.zip
Vectorize the CRC-32 calculation on the s390x.
Use vector extensions when compiling for s390x and binutils knows about them. At runtime, check whether kernel supports vector extensions (it has to be not just the CPU, but also the kernel) and choose between the regular and the vectorized implementations. Co-authored-by: Eduard Stefes <eddy@linux.ibm.com>
Diffstat (limited to 'contrib/crc32vx/README')
-rw-r--r--contrib/crc32vx/README9
1 files changed, 9 insertions, 0 deletions
diff --git a/contrib/crc32vx/README b/contrib/crc32vx/README
new file mode 100644
index 00000000..329610d5
--- /dev/null
+++ b/contrib/crc32vx/README
@@ -0,0 +1,9 @@
1IBM Z mainframes starting from version z13 provide vector instructions, which
2allows vectorization of crc32. This extension is build by default when targeting
3ibm s390x. However this extension can disabled if desired:
4
5 # for configure build
6 $ ./configure --disable-crcvx
7
8 # for cmake build
9 $ cmake .. -DZLIB_CRC32VX=off