diff options
| author | Ilya Leoshkevich <iii@linux.ibm.com> | 2025-09-10 11:28:03 +0200 |
|---|---|---|
| committer | Mark Adler <git@madler.net> | 2026-01-27 20:22:17 -0800 |
| commit | 07f2d4237eade624182b1cf11f1f516985aed620 (patch) | |
| tree | fad27d61fc7e05c8bc08662fd1caa4fb2bea928e /Makefile.in | |
| parent | 3382ba45561ea82a1d8976578b2a41facff3b8bc (diff) | |
| download | zlib-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.in | 11 |
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= | |||
| 27 | TEST_LIBS=-L. libz.a | 27 | TEST_LIBS=-L. libz.a |
| 28 | LDSHARED=$(CC) | 28 | LDSHARED=$(CC) |
| 29 | CPP=$(CC) -E | 29 | CPP=$(CC) -E |
| 30 | VGFMAFLAG= | ||
| 30 | 31 | ||
| 31 | STATICLIB=libz.a | 32 | STATICLIB=libz.a |
| 32 | SHAREDLIB=libz.so | 33 | SHAREDLIB=libz.so |
| @@ -164,6 +165,9 @@ adler32.o: $(SRCDIR)adler32.c | |||
| 164 | crc32.o: $(SRCDIR)crc32.c | 165 | crc32.o: $(SRCDIR)crc32.c |
| 165 | $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)crc32.c | 166 | $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)crc32.c |
| 166 | 167 | ||
| 168 | crc32_vx.o: $(SRCDIR)contrib/crc32vx/crc32_vx.c | ||
| 169 | $(CC) $(CFLAGS) $(VGFMAFLAG) $(ZINC) -c -o $@ $(SRCDIR)contrib/crc32vx/crc32_vx.c | ||
| 170 | |||
| 167 | deflate.o: $(SRCDIR)deflate.c | 171 | deflate.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 | ||
| 221 | crc32_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 | |||
| 217 | deflate.lo: $(SRCDIR)deflate.c | 226 | deflate.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. | |||
| 406 | inffast.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h | 415 | inffast.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h |
| 407 | inftrees.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h | 416 | inftrees.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h |
| 408 | trees.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h | 417 | trees.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h |
| 418 | crc32_vx.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)contrib/crc32vx/crc32_vx_hooks.h | ||
| 409 | 419 | ||
| 410 | adler32.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h | 420 | adler32.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h |
| 411 | zutil.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h | 421 | zutil.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 | |||
| 417 | inffast.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h | 427 | inffast.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h |
| 418 | inftrees.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h | 428 | inftrees.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h |
| 419 | trees.lo: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h | 429 | trees.lo: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h |
| 430 | crc32_vx.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)contrib/crc32vx/crc32_vx_hooks.h \ No newline at end of file | ||
