]> git.ipfire.org Git - thirdparty/zlib-ng.git/commit
Adds SSE2 optimized hash shifting to fill_window.
authorJim Kukunas <james.t.kukunas@linux.intel.com>
Tue, 2 Jul 2013 19:09:37 +0000 (12:09 -0700)
committerJim Kukunas <james.t.kukunas@linux.intel.com>
Tue, 3 Jun 2014 22:37:51 +0000 (15:37 -0700)
commit5640481288aaf91efcc27622ae973d373bfc2cf3
tree54fae19f4d106fcfb94f3c6bc2761d443fd199c8
parentfd80ca4fb96b8bdeb4e7f9ec863ebc34a9303968
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.
Makefile.in
configure
deflate.c
deflate.h
fill_window_sse.c [new file with mode: 0644]