]> git.ipfire.org Git - thirdparty/zlib-ng.git/log
thirdparty/zlib-ng.git
10 years agoMake clean/distclean descend into $(ARCHDIR) 13/head
Daniel Axtens [Wed, 29 Apr 2015 03:45:34 +0000 (13:45 +1000)] 
Make clean/distclean descend into $(ARCHDIR)

Signed-off-by: Daniel Axtens <dja@axtens.net>
10 years agoarch: git ignore Makefiles
Daniel Axtens [Wed, 29 Apr 2015 03:49:25 +0000 (13:49 +1000)] 
arch: git ignore Makefiles

Signed-off-by: Daniel Axtens <dja@axtens.net>
10 years agoMerge pull request #10 from mtl1979/develop
Hans Kristian Rosbach [Thu, 30 Apr 2015 06:56:25 +0000 (08:56 +0200)] 
Merge pull request #10 from mtl1979/develop

Fix compiling under Visual Studio

10 years agoFix forced inlining to work with Visual Studio. 10/head
Mika Lindqvist [Wed, 29 Apr 2015 16:09:26 +0000 (19:09 +0300)] 
Fix forced inlining to work with Visual Studio.

10 years ago* Remove assembler targets and OBJA from Visual Studio makefile
Mika Lindqvist [Wed, 29 Apr 2015 13:49:43 +0000 (16:49 +0300)] 
* Remove assembler targets and OBJA from Visual Studio makefile
* Fix creating manifest files in Visual Studio makefile
* Add missing dependency information for match.obj in Visual Studio
  makefile

10 years agoFix compiling under Visual Studio.
Mika Lindqvist [Wed, 29 Apr 2015 00:30:54 +0000 (03:30 +0300)] 
Fix compiling under Visual Studio.

10 years agoCleanup: Replace 'z_streamp' with 'z_stream *'
Hans Kristian Rosbach [Sun, 26 Apr 2015 19:31:49 +0000 (21:31 +0200)] 
Cleanup: Replace 'z_streamp' with 'z_stream *'

10 years agoCleanup: Replace 'voidpf' with 'void *'
Hans Kristian Rosbach [Sun, 26 Apr 2015 19:10:12 +0000 (21:10 +0200)] 
Cleanup: Replace 'voidpf' with 'void *'

10 years agoCleanup: Replace 'voidp' with 'void *'
Hans Kristian Rosbach [Sun, 26 Apr 2015 19:06:49 +0000 (21:06 +0200)] 
Cleanup: Replace 'voidp' with 'void *'

10 years agoCleanup: Replace 'voidpc' with 'void const *'
Hans Kristian Rosbach [Sun, 26 Apr 2015 18:37:30 +0000 (20:37 +0200)] 
Cleanup: Replace 'voidpc' with 'void const *'

10 years agoFix previous patches mistakes
Hans Kristian Rosbach [Sun, 26 Apr 2015 17:45:05 +0000 (19:45 +0200)] 
Fix previous patches mistakes

10 years agoFix syntax error in zutil.h
Hans Kristian Rosbach [Sun, 26 Apr 2015 17:34:27 +0000 (19:34 +0200)] 
Fix syntax error in zutil.h

10 years agoMerge pull request #6 from daxtens/travis
Hans Kristian Rosbach [Sun, 26 Apr 2015 16:36:46 +0000 (18:36 +0200)] 
Merge pull request #6 from daxtens/travis

Run tests on Travis CI with .travis.yml

10 years agoRun tests on Travis CI with .travis.yml 6/head
Daniel Axtens [Sun, 26 Apr 2015 15:18:21 +0000 (01:18 +1000)] 
Run tests on Travis CI with .travis.yml

Signed-off-by: Daniel Axtens <dja@axtens.net>
10 years agoUse memcpy, memcmp and memzero directly
Hans Kristian Rosbach [Sun, 26 Apr 2015 11:57:22 +0000 (13:57 +0200)] 
Use memcpy, memcmp and memzero directly

10 years agoDrop workarounds for WinCE and Interix
Hans Kristian Rosbach [Sun, 26 Apr 2015 11:27:44 +0000 (13:27 +0200)] 
Drop workarounds for WinCE and Interix

10 years agoMerge pull request #5 from daxtens/develop
Hans Kristian Rosbach [Sun, 26 Apr 2015 10:29:29 +0000 (12:29 +0200)] 
Merge pull request #5 from daxtens/develop

Build fixes

10 years agoMakefile.in: use match.lo for linking PIC 5/head
Daniel Axtens [Sun, 26 Apr 2015 09:13:11 +0000 (19:13 +1000)] 
Makefile.in: use match.lo for linking PIC

The rest of the items in the list are .lo files; this should be too.
Needed for ./configure --cover to work.

Signed-off-by: Daniel Axtens <dja@axtens.net>
10 years agoarch/x86: Use SFLAGS for linking x86.lo file, not CFLAGS.
Daniel Axtens [Sun, 26 Apr 2015 08:34:03 +0000 (18:34 +1000)] 
arch/x86: Use SFLAGS for linking x86.lo file, not CFLAGS.

Signed-off-by: Daniel Axtens <dja@axtens.net>
10 years agoActually commit the updated README file.
hansr [Fri, 10 Apr 2015 11:21:23 +0000 (13:21 +0200)] 
Actually commit the updated README file.
Update version identifier strings to reflect fork status.
Add zlib-ng identifier string.
Remove zlib2ansi script.

10 years agoUpdate readme and create LICENSE.md file
hansr [Fri, 10 Apr 2015 10:26:51 +0000 (12:26 +0200)] 
Update readme and create LICENSE.md file

10 years agoFix compilation of match.c on big-endian machines, and avoid
root [Thu, 11 Dec 2014 13:30:51 +0000 (14:30 +0100)] 
Fix compilation of match.c on big-endian machines, and avoid
usage of unoptimized builtins.

10 years agoFix version number extraction from zlib.h in configure.
root [Thu, 11 Dec 2014 13:29:30 +0000 (14:29 +0100)] 
Fix version number extraction from zlib.h in configure.
Configure will need more work to produce the proper zlib-ng named library files.

10 years agoAdd ZLIBNG_* version definitions and change comment at the top of
root [Thu, 11 Dec 2014 11:22:38 +0000 (12:22 +0100)] 
Add ZLIBNG_* version definitions and change comment at the top of
zlib.h for better clarity.

10 years agoImprove compatability with MSVC compiler by allowing usage of inline
root [Thu, 11 Dec 2014 10:47:56 +0000 (11:47 +0100)] 
Improve compatability with MSVC compiler by allowing usage of inline

10 years agoFix another typing mishap in configure
Hans Kristian Rosbach [Thu, 6 Nov 2014 20:11:15 +0000 (21:11 +0100)] 
Fix another typing mishap in configure

10 years agoFix typo in configure output
Hans Kristian Rosbach [Thu, 6 Nov 2014 20:07:12 +0000 (21:07 +0100)] 
Fix typo in configure output

10 years agoMerge longest_match implementation from CloudFlare, authored by
Hans Kristian Rosbach [Thu, 6 Nov 2014 19:59:54 +0000 (20:59 +0100)] 
Merge longest_match implementation from CloudFlare, authored by
Shuxin Yang in commit 31043308c3d3edfb487d2c4cbe7290bd5b63c65c at
https://github.com/cloudflare/zlib/commit/31043308c3d3edfb487d2c4cbe7290bd5b63c65c

This has been modified by me to fit into zlib-ng.

10 years agoMerge branch 'develop' of github.com:Dead2/zlib-ng into develop
Hans Kristian Rosbach [Thu, 6 Nov 2014 19:55:33 +0000 (20:55 +0100)] 
Merge branch 'develop' of github.com:Dead2/zlib-ng into develop

10 years agoAdd configure test for __builtin_ctzl() support in compiler
Hans Kristian Rosbach [Thu, 6 Nov 2014 19:54:38 +0000 (20:54 +0100)] 
Add configure test for __builtin_ctzl() support in compiler

10 years agoDrop support for old systems in configure. The remaining ones should
hansr [Thu, 6 Nov 2014 19:40:56 +0000 (20:40 +0100)] 
Drop support for old systems in configure. The remaining ones should
ideally be tested by someone familiar with them and a decision made
whether to keep/remove/update the detection and settings for them.

10 years agoAdd missing match.h file from last commit
hansr [Wed, 5 Nov 2014 19:46:55 +0000 (20:46 +0100)] 
Add missing match.h file from last commit

10 years agoRemove support for ASMV and ASMINF defines and clean up match.c handling.
hansr [Wed, 5 Nov 2014 12:54:07 +0000 (13:54 +0100)] 
Remove support for ASMV and ASMINF defines and clean up match.c handling.

This makes it easier to implement support for ASM replacements using
configure parameters if needed later. Also since zlib-ng uses
compiler intrinsics, this needed a cleanup in any case.

10 years agoTesting on a Raspberry Pi shows that -DUNALIGNED_OK and -DCRC32_UNROLL_LESS
Hans Kristian Rosbach [Sun, 2 Nov 2014 14:01:09 +0000 (15:01 +0100)] 
Testing on a Raspberry Pi shows that -DUNALIGNED_OK and -DCRC32_UNROLL_LESS
both give a consistent performance gain, so enable these on the armv6 arch.
Also enabled -DADLER32_UNROLL_LESS on the untested assumption that it will
also be faster.

10 years agoAdd "generic" arch dir that is used by default unless the arch has
hansr [Fri, 31 Oct 2014 12:10:48 +0000 (13:10 +0100)] 
Add "generic" arch dir that is used by default unless the arch has
specific support in the configure script.

10 years agoLets try that again
hansr [Fri, 31 Oct 2014 12:04:56 +0000 (13:04 +0100)] 
Lets try that again

10 years agoFine, lets try to make it portable too
hansr [Fri, 31 Oct 2014 12:00:55 +0000 (13:00 +0100)] 
Fine, lets try to make it portable too

10 years agoFix building for arches that dont set archdir in Configure
hansr [Fri, 31 Oct 2014 11:54:31 +0000 (12:54 +0100)] 
Fix building for arches that dont set archdir in Configure

10 years agoLet the CRC32_UNROLL_LESS define work on big endian systems as well.
hansr [Tue, 21 Oct 2014 12:53:37 +0000 (14:53 +0200)] 
Let the CRC32_UNROLL_LESS define work on big endian systems as well.

10 years agoRewrite K&R-style function prototypes to ANSI-C-style.
hansr [Sat, 18 Oct 2014 20:49:16 +0000 (22:49 +0200)] 
Rewrite K&R-style function prototypes to ANSI-C-style.
Only internal functions, no exported functions in this commit.

10 years agoRemove FAR variants of voidpf
hansr [Sat, 18 Oct 2014 10:11:48 +0000 (12:11 +0200)] 
Remove FAR variants of voidpf
And a few Bytef leftovers from test/example.c

10 years agoRemove workaround for systems where sizeof(int)<=2 (16-bit systems)
hansr [Fri, 17 Oct 2014 21:38:26 +0000 (23:38 +0200)] 
Remove workaround for systems where sizeof(int)<=2 (16-bit systems)

10 years agoRemove FAR variants of variables ushf, schf, Posf, Bytef, charf,
hansr [Thu, 16 Oct 2014 13:32:17 +0000 (15:32 +0200)] 
Remove FAR variants of variables ushf, schf, Posf, Bytef, charf,
intf, uIntf and uLongf

10 years agoRemove use of typedef()
hansr [Thu, 16 Oct 2014 11:33:16 +0000 (13:33 +0200)] 
Remove use of typedef()

10 years agoRemove more workarounds for really old compilers
hansr [Wed, 15 Oct 2014 13:30:00 +0000 (15:30 +0200)] 
Remove more workarounds for really old compilers

10 years agoRemove more workarounds for really old compilers
hansr [Wed, 15 Oct 2014 13:10:51 +0000 (15:10 +0200)] 
Remove more workarounds for really old compilers

10 years agoClean up x86 files to hide functions and variables that are not meant
hansr [Wed, 15 Oct 2014 11:50:52 +0000 (13:50 +0200)] 
Clean up x86 files to hide functions and variables that are not meant
to be used externally.

10 years agoReorganize optimization defines
hansr [Wed, 15 Oct 2014 11:11:17 +0000 (13:11 +0200)] 
Reorganize optimization defines
Enable x86_64 to skip checking for SSE2
Enable deflate_medium on all archs

10 years agoAdd notice about README.zlib FAQ.zlib Changelog.zlib being unmaintained
hansr [Wed, 15 Oct 2014 09:54:21 +0000 (11:54 +0200)] 
Add notice about README.zlib FAQ.zlib Changelog.zlib being unmaintained
copies from zlib 1.2.8

10 years agoRemove false statement in README
hansr [Wed, 15 Oct 2014 09:49:27 +0000 (11:49 +0200)] 
Remove false statement in README
Add copies of original README/FAQ/Changelog, postfixed with .zlib

10 years agoSmaller readme changes and additions
hansr [Wed, 15 Oct 2014 08:49:38 +0000 (10:49 +0200)] 
Smaller readme changes and additions

10 years agoUpdate documentation and version strings
hansr [Tue, 14 Oct 2014 11:03:48 +0000 (13:03 +0200)] 
Update documentation and version strings

10 years agoSeparate arch-specific code into separate folders
hansr [Tue, 14 Oct 2014 10:08:05 +0000 (12:08 +0200)] 
Separate arch-specific code into separate folders

10 years agoMerge x86 and x86_64 handling in configure.
hansr [Tue, 14 Oct 2014 08:01:18 +0000 (10:01 +0200)] 
Merge x86 and x86_64 handling in configure.
Add parameter to disable new strategies.
Add parameter to disable arch-specific optimizations.
(This is just the first few steps, more changes needed)

10 years agoDelete all contrib/ and examples/ code.
hansr [Mon, 13 Oct 2014 11:45:04 +0000 (13:45 +0200)] 
Delete all contrib/ and examples/ code.
Much of this seems to be outdated.

10 years agoinffast.c: add BITS and DROPBITS macros like inflate.c
Zhaoxiu Zeng [Sun, 27 Jul 2014 08:29:58 +0000 (16:29 +0800)] 
inffast.c: add BITS and DROPBITS macros like inflate.c

10 years agoFix compilation of test/infcover.c on linux
hansr [Mon, 13 Oct 2014 11:14:33 +0000 (13:14 +0200)] 
Fix compilation of test/infcover.c on linux

10 years agoRemove support for compiling with -DFASTEST
hansr [Mon, 13 Oct 2014 10:48:42 +0000 (12:48 +0200)] 
Remove support for compiling with -DFASTEST

10 years agoRemove unused variables
hansr [Mon, 13 Oct 2014 10:13:50 +0000 (12:13 +0200)] 
Remove unused variables

10 years agoRemove workarounds for non-ANSI-C compatible compilers (Part 2)
hansr [Sun, 12 Oct 2014 20:57:27 +0000 (22:57 +0200)] 
Remove workarounds for non-ANSI-C compatible compilers (Part 2)
-Removing usage of OF() definition

10 years agoRemove workarounds for non-ANSI-C compatible compilers (Part 1)
hansr [Sun, 12 Oct 2014 10:38:06 +0000 (12:38 +0200)] 
Remove workarounds for non-ANSI-C compatible compilers (Part 1)

10 years agoRemove support for SASC and TURBOC compilers
hansr [Fri, 10 Oct 2014 11:26:04 +0000 (13:26 +0200)] 
Remove support for SASC and TURBOC compilers

10 years agoClean up likely/unlikely definitions
hansr [Thu, 9 Oct 2014 13:10:33 +0000 (15:10 +0200)] 
Clean up likely/unlikely definitions

10 years agoRemove legacy 16-bit workarounds
hansr [Thu, 9 Oct 2014 12:35:50 +0000 (14:35 +0200)] 
Remove legacy 16-bit workarounds

10 years agoMissed one, (Remove code related to legacy OS)
hansr [Thu, 9 Oct 2014 12:05:53 +0000 (14:05 +0200)] 
Missed one, (Remove code related to legacy OS)

10 years agoRemove FAR definition
hansr [Thu, 9 Oct 2014 11:55:20 +0000 (13:55 +0200)] 
Remove FAR definition
Remove a few leftovers from the legacy OS support removal

10 years agoRemove code related to older operating systems
hansr [Thu, 9 Oct 2014 11:28:39 +0000 (13:28 +0200)] 
Remove code related to older operating systems

10 years agoRemove makefiles for legacy operating systems
hansr [Thu, 9 Oct 2014 10:45:35 +0000 (12:45 +0200)] 
Remove makefiles for legacy operating systems

10 years agoMerge branch 'opt-byteswap' of github.com:jack-pappas/zlib into develop
hansr [Thu, 9 Oct 2014 09:30:57 +0000 (11:30 +0200)] 
Merge branch 'opt-byteswap' of github.com:jack-pappas/zlib into develop

10 years agoFix merge conflict between commits d948170 and 32de507
hansr [Wed, 8 Oct 2014 12:19:05 +0000 (14:19 +0200)] 
Fix merge conflict between commits d948170 and 32de507

10 years agoMinor enhancement to put_short() macro. This change saw marginal speedup
Shuxin Yang [Sun, 20 Apr 2014 22:50:33 +0000 (15:50 -0700)] 
Minor enhancement to put_short() macro. This change saw marginal speedup
(about 0% to 3% depending on the compression level and input). I guess
the speedup likely arises from following facts:

 1) "s->pending" now is loaded once, and stored once. In the original
    implementation, it needs to be loaded and stored twice as the
    compiler isn't able to disambiguate "s->pending" and
    "s->pending_buf[]"

 2) better code generations:
   2.1) no instruction are needed for extracting two bytes from a short.
   2.2) need less registers
   2.3) stores to adjacent bytes are merged into a single store, albeit
        at the cost of penalty of potentially unaligned access.

Conflicts:
trees.c

10 years agoFix merge conflict between commits d306c75 and 2c888ab
hansr [Wed, 8 Oct 2014 12:16:38 +0000 (14:16 +0200)] 
Fix merge conflict between commits d306c75 and 2c888ab

10 years agoRestructure the loop, and see about 3% speedup in run time. I believe the
Shuxin Yang [Tue, 18 Mar 2014 01:17:23 +0000 (18:17 -0700)] 
Restructure the loop, and see about 3% speedup in run time. I believe the
speedup arises from:
    o. Remove the conditional branch in the loop
    o. Remove some indirection memory accesses:
       The memory accesses to "s->prev_length" s->strstart" cannot be promoted
       to register because the compiler is not able to disambiguate them with
       store-operation in INSERT_STRING()
    o. Convert non-countable loop to countable loop.
       I'm not sure if this change really contribute, in general, countable
       loop is lots easier to optimized than non-countable loop.

Conflicts:
deflate.h

10 years agoFix merge conflict between commits 5640481 and 5545321
hansr [Wed, 8 Oct 2014 12:14:37 +0000 (14:14 +0200)] 
Fix merge conflict between commits 5640481 and 5545321
(and clean out some code that is not strictly needed)

10 years ago Rewrite the loops such that gcc can vectorize them using saturated-sub
shuxinyang [Mon, 10 Mar 2014 00:20:02 +0000 (17:20 -0700)] 
  Rewrite the loops such that gcc can vectorize them using saturated-sub
on x86-64 architecture. Speedup the performance by some 7% on my linux box
with corei7 archiecture.

  The original loop is legal to be vectorized; gcc 4.7.* and 4.8.*
somehow fail to catch this case. There are still have room to squeeze
from the vectorized code. However, since these loops now account for about
1.5% of execution time, it is not worthwhile to sequeeze the performance
via hand-writing assembly.

  The original loops are guarded with "#ifdef NOT_TWEAK_COMPILER". By
default, the modified version is picked up unless the code is compiled
explictly with -DNOT_TWEAK_COMPILER.

10 years agoFixed broken macro.
Jack Pappas [Sun, 14 Sep 2014 22:36:38 +0000 (18:36 -0400)] 
Fixed broken macro.

10 years agoUse compiler intrinsics for the ZSWAP32 macro to take advantage of hardware support...
Jack Pappas [Sun, 14 Sep 2014 21:57:16 +0000 (17:57 -0400)] 
Use compiler intrinsics for the ZSWAP32 macro to take advantage of hardware support when available.

11 years agoAdd crc_ forward declarations to deflate and add read_buf fwd dcl to fill_window_sse. v1.2.8-jtkv4 v1.2.8_jtkv4
Martin O. Pollard [Wed, 11 Jun 2014 16:53:22 +0000 (17:53 +0100)] 
Add crc_ forward declarations to deflate and add read_buf fwd dcl to fill_window_sse.

11 years agoAdd forward declarations for fill_window_sse and flush_pending to deflate_quick.c.
Martin O. Pollard [Tue, 10 Jun 2014 12:53:05 +0000 (13:53 +0100)] 
Add forward declarations for fill_window_sse and flush_pending to deflate_quick.c.

11 years agoInclude wmmintrin.h in configure test and crc_folding.c aid clang compilation.
Martin O. Pollard [Tue, 10 Jun 2014 12:31:55 +0000 (13:31 +0100)] 
Include wmmintrin.h in configure test and crc_folding.c aid clang compilation.

11 years agodeflate: avoid use of uninitialized variable
Nathan Kidd [Thu, 22 May 2014 18:20:44 +0000 (14:20 -0400)] 
deflate: avoid use of uninitialized variable

(Note emit_match() doesn't currently use the value at all.)

Fixes #4

11 years agodeflate: add new deflate_medium strategy
Jim Kukunas [Thu, 18 Jul 2013 22:45:18 +0000 (15:45 -0700)] 
deflate: add new deflate_medium strategy

From: Arjan van de Ven <arjan@linux.intel.com>

As the name suggests, the deflate_medium deflate strategy is designed
to provide an intermediate strategy between deflate_fast and deflate_slow.
After finding two adjacent matches, deflate_medium scans left from
the second match in order to determine whether a better match can be
formed.

Fixes #2

11 years agodeflate: add new deflate_quick strategy for level 1
Jim Kukunas [Thu, 18 Jul 2013 20:19:05 +0000 (13:19 -0700)] 
deflate: add new deflate_quick strategy for level 1

The deflate_quick strategy is designed to provide maximum
deflate performance.

deflate_quick achieves this through:
    - only checking the first hash match
    - using a small inline SSE4.2-optimized longest_match
    - forcing a window size of 8K, and using a precomputed dist/len
      table
    - forcing the static Huffman tree and emitting codes immediately
      instead of tallying

This patch changes the scope of flush_pending, bi_windup, and
static_ltree to ZLIB_INTERNAL and moves END_BLOCK, send_code,
put_short, and send_bits to deflate.h.

Updates the configure script to enable by default for x86. On systems
without SSE4.2, fallback is to deflate_fast strategy.

Fixes #6
Fixes #8

11 years agoadd PCLMULQDQ optimized CRC folding
Jim Kukunas [Thu, 11 Jul 2013 20:49:05 +0000 (13:49 -0700)] 
add PCLMULQDQ optimized CRC folding

Rather than copy the input data from strm->next_in into the window and
then compute the CRC, this patch combines these two steps into one. It
performs a SSE memory copy, while folding the data down in the SSE
registers. A final step is added, when we write the gzip trailer,
to reduce the 4 SSE registers to 32b.

Adds some extra padding bytes to the window to allow for SSE partial
writes.

11 years agoadd SSE4.2 optimized hash function
Jim Kukunas [Thu, 18 Jul 2013 18:40:09 +0000 (11:40 -0700)] 
add SSE4.2 optimized hash function

For systems supporting SSE4.2, use the crc32 instruction as a fast
hash function. Also, provide a better fallback hash.

For both new hash functions, we hash 4 bytes, instead of 3, for certain
levels. This shortens the hash chains, and also improves the quality
of each hash entry.

11 years agoAdds SSE2 optimized hash shifting to fill_window.
Jim Kukunas [Tue, 2 Jul 2013 19:09:37 +0000 (12:09 -0700)] 
Adds SSE2 optimized hash shifting to fill_window.

Uses SSE2 subtraction with saturation to shift the hash in
16B chunks. Renames the old fill_window implementation to
fill_window_c(), and adds a new fill_window_sse() implementation
in fill_window_sse.c.

Moves UPDATE_HASH into deflate.h and changes the scope of
read_buf from local to ZLIB_INTERNAL for sharing between
the two implementations.

Updates the configure script to check for SSE2 intrinsics and enables
this optimization by default on x86. The runtime check for SSE2 support
only occurs on 32-bit, as x86_64 requires SSE2. Adds an explicit
rule in Makefile.in to build fill_window_sse.c with the -msse2 compiler
flag, which is required for SSE2 intrinsics.

11 years agoAdd preprocessor define to tune crc32 unrolling.
Jim Kukunas [Wed, 17 Jul 2013 17:38:54 +0000 (10:38 -0700)] 
Add preprocessor define to tune crc32 unrolling.

Adds a preprocessor define, CRC32_UNROLL_LESS, to reduce unrolling
factor from 8 to 4 for the crc32 calculation.

Updates configure script to set as default on x86

11 years agoTune longest_match implementation
Jim Kukunas [Mon, 1 Jul 2013 18:18:26 +0000 (11:18 -0700)] 
Tune longest_match implementation

Separates the byte-by-byte and short-by-short longest_match
implementations into two separately tweakable versions and
splits all of the longest match functions into a separate file.

Split the end-chain and early-chain scans and provide likely/unlikely
hints to improve branh prediction.

Add an early termination condition for levels 5 and under to stop
iterating the hash chain when the match length for the current
entry is less than the current best match.

Also adjust variable types and scopes to provide better optimization
hints to the compiler.

11 years agoAdd preprocessor define to tune Adler32 loop unrolling.
Jim Kukunas [Wed, 17 Jul 2013 17:34:56 +0000 (10:34 -0700)] 
Add preprocessor define to tune Adler32 loop unrolling.

Excessive loop unrolling is detrimental to performance. This patch
adds a preprocessor define, ADLER32_UNROLL_LESS, to reduce unrolling
factor from 16 to 8.

Updates configure script to set as default on x86

11 years agoenable 16-bit longest_match for x86
Jim Kukunas [Thu, 18 Jul 2013 15:50:18 +0000 (08:50 -0700)] 
enable 16-bit longest_match for x86

11 years agoFor x86, add CPUID check.
Jim Kukunas [Mon, 16 Sep 2013 18:40:18 +0000 (11:40 -0700)] 
For x86, add CPUID check.

Adds check for SSE2, SSE4.2, and the PCLMULQDQ instructions.

11 years agoAdd architecture detection in configure script.
Jim Kukunas [Mon, 16 Sep 2013 18:38:07 +0000 (11:38 -0700)] 
Add architecture detection in configure script.

This allows for per-architecture build tuning.

12 years agozlib 1.2.8 v1.2.8
Mark Adler [Sun, 28 Apr 2013 23:03:34 +0000 (16:03 -0700)] 
zlib 1.2.8

12 years agoFix mixed line endings in contrib/vstudio.
Mark Adler [Mon, 29 Apr 2013 00:21:50 +0000 (17:21 -0700)] 
Fix mixed line endings in contrib/vstudio.

12 years agoCorrect spelling error in zlib.h.
Mark Adler [Sun, 28 Apr 2013 22:36:25 +0000 (15:36 -0700)] 
Correct spelling error in zlib.h.

12 years agoClean up contrib/vstudio [Roß].
Mark Adler [Fri, 19 Apr 2013 07:47:59 +0000 (21:47 -1000)] 
Clean up contrib/vstudio [Roß].

12 years agoUpdate some copyright years.
Mark Adler [Fri, 19 Apr 2013 07:38:15 +0000 (21:38 -1000)] 
Update some copyright years.

12 years agoDo not force Z_CONST for C++.
Mark Adler [Sun, 14 Apr 2013 17:31:31 +0000 (10:31 -0700)] 
Do not force Z_CONST for C++.

Forcing Z_CONST resulted in an issue when compiling Firefox.  Now
if someone wants to compile zlib as C++ code (which it isn't), now
they will need to #define Z_CONST themselves.

12 years agoUpdate contrib/minizip/iowin32.c for Windows RT [Vollant].
Mark Adler [Sun, 14 Apr 2013 17:05:43 +0000 (10:05 -0700)] 
Update contrib/minizip/iowin32.c for Windows RT [Vollant].

12 years agoChange version number to 1.2.8.
Mark Adler [Sun, 14 Apr 2013 04:38:26 +0000 (21:38 -0700)] 
Change version number to 1.2.8.