aboutsummaryrefslogtreecommitdiff
path: root/Makefile.in
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 /Makefile.in
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 'Makefile.in')
-rw-r--r--Makefile.in11
1 files changed, 11 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in
index 52d5c2c4..d9de5630 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -27,6 +27,7 @@ LDFLAGS=
27TEST_LIBS=-L. libz.a 27TEST_LIBS=-L. libz.a
28LDSHARED=$(CC) 28LDSHARED=$(CC)
29CPP=$(CC) -E 29CPP=$(CC) -E
30VGFMAFLAG=
30 31
31STATICLIB=libz.a 32STATICLIB=libz.a
32SHAREDLIB=libz.so 33SHAREDLIB=libz.so
@@ -164,6 +165,9 @@ adler32.o: $(SRCDIR)adler32.c
164crc32.o: $(SRCDIR)crc32.c 165crc32.o: $(SRCDIR)crc32.c
165 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)crc32.c 166 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)crc32.c
166 167
168crc32_vx.o: $(SRCDIR)contrib/crc32vx/crc32_vx.c
169 $(CC) $(CFLAGS) $(VGFMAFLAG) $(ZINC) -c -o $@ $(SRCDIR)contrib/crc32vx/crc32_vx.c
170
167deflate.o: $(SRCDIR)deflate.c 171deflate.o: $(SRCDIR)deflate.c
168 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)deflate.c 172 $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)deflate.c
169 173
@@ -214,6 +218,11 @@ crc32.lo: $(SRCDIR)crc32.c
214 $(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/crc32.o $(SRCDIR)crc32.c 218 $(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/crc32.o $(SRCDIR)crc32.c
215 -@mv objs/crc32.o $@ 219 -@mv objs/crc32.o $@
216 220
221crc32_vx.lo: $(SRCDIR)contrib/crc32vx/crc32_vx.c
222 -@mkdir objs 2>/dev/null || test -d objs
223 $(CC) $(SFLAGS) $(VGFMAFLAG) $(ZINC) -DPIC -c -o objs/crc32_vx.o $(SRCDIR)contrib/crc32vx/crc32_vx.c
224 -@mv objs/crc32_vx.o $@
225
217deflate.lo: $(SRCDIR)deflate.c 226deflate.lo: $(SRCDIR)deflate.c
218 -@mkdir objs 2>/dev/null || test -d objs 227 -@mkdir objs 2>/dev/null || test -d objs
219 $(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/deflate.o $(SRCDIR)deflate.c 228 $(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/deflate.o $(SRCDIR)deflate.c
@@ -406,6 +415,7 @@ infback.o inflate.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.
406inffast.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h 415inffast.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h
407inftrees.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h 416inftrees.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h
408trees.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h 417trees.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h
418crc32_vx.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)contrib/crc32vx/crc32_vx_hooks.h
409 419
410adler32.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h 420adler32.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h
411zutil.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h 421zutil.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h
@@ -417,3 +427,4 @@ infback.lo inflate.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftree
417inffast.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h 427inffast.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h
418inftrees.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h 428inftrees.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h
419trees.lo: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h 429trees.lo: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h
430crc32_vx.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)contrib/crc32vx/crc32_vx_hooks.h \ No newline at end of file