summaryrefslogtreecommitdiff
path: root/crc32.c
AgeCommit message (Collapse)Author
2015-05-11Cleanup endianness test.Mika Lindqvist
2015-05-11Kill BYFOUR --- there's no reason to disabled it (NOBYFOUR)Daniel Axtens
Signed-off-by: Daniel Axtens <dja@axtens.net>
2015-04-26Cleanup: Replace 'z_streamp' with 'z_stream *'Hans Kristian Rosbach
2015-04-26Use memcpy, memcmp and memzero directlyHans Kristian Rosbach
2014-10-21Let the CRC32_UNROLL_LESS define work on big endian systems as well.hansr
2014-10-18Rewrite K&R-style function prototypes to ANSI-C-style.hansr
Only internal functions, no exported functions in this commit.
2014-10-16Remove FAR variants of variables ushf, schf, Posf, Bytef, charf,hansr
intf, uIntf and uLongf
2014-10-15Reorganize optimization defineshansr
Enable x86_64 to skip checking for SSE2 Enable deflate_medium on all archs
2014-10-14Separate arch-specific code into separate foldershansr
2014-10-12Remove workarounds for non-ANSI-C compatible compilers (Part 2)hansr
-Removing usage of OF() definition
2014-10-12Remove workarounds for non-ANSI-C compatible compilers (Part 1)hansr
2014-10-09Remove FAR definitionhansr
Remove a few leftovers from the legacy OS support removal
2014-06-03add PCLMULQDQ optimized CRC foldingJim Kukunas
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.
2014-06-03Add preprocessor define to tune crc32 unrolling.Jim Kukunas
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
2012-04-29Fix type mismatch between get_crc_table() and crc_table.Mark Adler
crc_table is made using a four-byte integer (when that can be determined). However get_crc_table() returned a pointer to an unsigned long, which could be eight bytes. This fixes that by creating a new z_crc_t type for the crc_table. This type is also used for the BYFOUR crc calculations that depend on a four-byte type. The four-byte type can now be determined by ./configure, which also solves a problem where ./configure --solo would never use BYFOUR. No the Z_U4 #define indicates that four- byte integer was found either by ./configure or by zconf.h.
2012-02-12zlib 1.2.6.1Mark Adler
2012-02-11Use optimized byte swap operations for Microsoft and GNU [Snyder].Mark Adler
2012-02-01Avoid library header include in crc32.c for Z_SOLO.Mark Adler
crc32.c was #including limits.h in order to find a four-byte integer type. It was doing this even if Z_SOLO were defined, violating the intent of Z_SOLO, which is to include no library headers and require no library functions. Now crc32.c obeys the intent of Z_SOLO, but with the downside that crc32() will be slower than when not compiled with Z_SOLO. This can be remedied manually by typedefing u4 to a known four-byte unsigned integer type, and #defining BYFOUR in crc32.c.
2011-09-11zlib 1.2.5.1Mark Adler
2011-09-09zlib 1.2.5Mark Adler
2011-09-09zlib 1.2.4.1Mark Adler
2011-09-09zlib 1.2.3.4Mark Adler
2011-09-09zlib 1.2.3.3Mark Adler
2011-09-09zlib 1.2.2.4Mark Adler
2011-09-09zlib 1.2.2.3Mark Adler
2011-09-09zlib 1.2.2.2Mark Adler
2011-09-09zlib 1.2.2.1Mark Adler
2011-09-09zlib 1.2.2Mark Adler
2011-09-09zlib 1.2.1.2Mark Adler
2011-09-09zlib 1.2.0.5Mark Adler
2011-09-09zlib 1.2.0.4Mark Adler
2011-09-09zlib 1.2.0.2Mark Adler
2011-09-09zlib 1.2.0Mark Adler
2011-09-09zlib 1.1.4Mark Adler
2011-09-09zlib 1.0.9Mark Adler
2011-09-09zlib 1.0.8Mark Adler
2011-09-09zlib 1.0.7Mark Adler
2011-09-09zlib 1.0.1Mark Adler
2011-09-09zlib 1.0-preMark Adler
2011-09-09zlib 0.99Mark Adler
2011-09-09zlib 0.94Mark Adler
2011-09-09zlib 0.93Mark Adler
2011-09-09zlib 0.9Mark Adler
2011-09-09zlib 0.71Mark Adler