Greg Tucker
3f6e646793
igzip: Fix for doc on return values and flush types
...
Change-Id: Ie1e0a516eb90b42d8e293952fe58387d9f348277
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-06 10:04:32 -07:00
Greg Tucker
f82f589c3e
Fix alt Makefile for Darwin obj format and libtool
...
Change-Id: I867588637e41292eb621952b95c9b40c74b2bd48
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-06 10:03:36 -07:00
Greg Tucker
55d70385b5
Allow unx makefile to build isa-l.h like automake
...
The traditional makefile was failing on install. Changes to build isa-l.h in
the same way that automake does it.
Change-Id: I9342d153e637f5d841691f95e08d85f0b65460bf
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-06 09:59:58 -07:00
Greg Tucker
bd4873c8ea
igzip: Fix missing paren in generate hufftable tool
...
Change-Id: I1b6d771bfaffd8353e260b7ae286d9abef5e4590
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-06 09:56:28 -07:00
Greg Tucker
352719d62d
igzip: Fix missing nx stack section on new file
...
Change-Id: I9442c6748a1e1c4919ea4e55b6d7df7596d96f49
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-06 09:53:35 -07:00
Greg Tucker
136f82c9d0
Add missing make targets: checks and check
...
Makefile.am was missing make checks and Makefile.unx was missing make check.
Added both to be consistent with nmake file.
Change-Id: I08116ac820bccdb5500c794fa1e12c2a9bfdf802
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-06 09:53:11 -07:00
Roy Oursler
8fe5cbeeed
igzip: Decrease stack size of update_histogram_base.
...
Change-Id: I7329fc0b560d706ff05e1766f4f3e8f9cb1cc306
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 09:13:41 -07:00
Roy Oursler
7391f27cca
igzip: Fix small bugs in igzip_rand_test on test failure.
...
Change-Id: I7677c3f28ddd9feee22632cb0f117ba2a4dfbc65
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 09:12:45 -07:00
Roy Oursler
c17f2959d4
igzip: Fix bug read_header causing false error return values
...
Change-Id: I7b2fc0d7fa1ea78fab6c8788618d3e48ece56cfd
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 09:12:11 -07:00
Roy Oursler
0bac63c2e6
igzip: Add test for fuzz testing
...
Change-Id: I9b1bbdbb986f81094004caedde609c72042015c2
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 09:11:49 -07:00
Roy Oursler
b95c60cd1b
igzip: Add check for non-valid decoded symbols
...
Change-Id: Ie95c28ca87b76ba8751fa5b07be345d3b00d5134
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 09:11:12 -07:00
Roy Oursler
fb62881057
igzip: Fix bugs in setup dynamic header when invalid input is supplied
...
Change-Id: I8df868e259397b289387ae7eb25d0805a22e33ea
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 09:10:34 -07:00
Roy Oursler
8c5fa7010a
igzip: Fix incorrect block_state for inflate_stateless
...
Change-Id: Id26b528dca540ac8e177af59f9ace797fbb0a752
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-06 09:08:40 -07:00
Greg Tucker
a578be3e70
igzip: New default hufftables
...
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
Reviewed-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-05 17:18:53 -07:00
Roy Oursler
e2b0640fd9
igzip: Make inline functions in igzip_inflate.c static
...
Make inline functions in igzip_inflate.c static to fix compiling issue on Mac.
Change-Id: Id4fdc0b8fe9ea9655bc3368bade579aebc8c2a72
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2016-12-05 16:44:31 -07:00
Roy Oursler
88f95d8594
igzip: Merge inflate.h and igzip_lib.h and fix external naming
...
Merge inflate.h and igzip_lib.h and rename many defines to avoid conflicts,
along with general cleanup of the new header.
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:40:43 -07:00
Roy Oursler
be8e83b633
igzip: Fix bug in inflate perf test and modify inflate lookup table sizes
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:37:57 -07:00
Roy Oursler
9d53af0c7c
igzip: Improve LARGE_WINDOW and change that option to be default.
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:36:31 -07:00
Roy Oursler
ee2e2bce4f
igzip: Improving igzip_update_histogram
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:31:23 -07:00
Roy Oursler
22bd9eef65
igzip: Optimize igzip
...
Remove conditional move and reorder operations to increase speed.
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:30:56 -07:00
Roy Oursler
d06e14b937
igzip: Port update_histogram and decode_huffman_code_block to windows
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:17:54 -07:00
Roy Oursler
340e0f99df
igzip: Implement stateful inflate.
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:17:07 -07:00
Roy Oursler
6b2bedfe28
igzip: Fix to run on SSE
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:16:44 -07:00
Roy Oursler
a1981da94e
igzip: Create stateless FULL_FLUSH mode
...
Add flush modes to isal_deflate_stateless. IGZIP_USE_GZIP_FORMAT is not
supported because of limitations imposed by the statelessness.
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:16:11 -07:00
Roy Oursler
b25ef61a57
igzip: Fix warning for igzip_update_histogram when compiled with LARGE_WINDOW.
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:15:51 -07:00
Roy Oursler
511a5dea5b
igzip: Add missing include to igzip_check.c
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:14:03 -07:00
Roy Oursler
869712d389
igzip: Rename inflate.asm and fix Makefile.am so that Makefile.unx works
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:12:53 -07:00
Roy Oursler
60d9a30f4e
igzip: Rename small_code_lookup
...
Rename small_code_lookup to short_code_lookup to match naming of
long_code_lookup.
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:01:46 -07:00
Roy Oursler
464476003a
igzip: Separate inflate_huffman_code into a large and small datastructure.
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:01:21 -07:00
Roy Oursler
e64bc2ed37
igzip: Improve make_inflate_huffcode algorithm.
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 16:00:57 -07:00
Roy Oursler
456be4cfc1
igzip: Rearrange inflate_state
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 12:53:34 -07:00
Roy Oursler
5a7c97a930
igzip: Document inflate_huff_code data structure.
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 12:52:56 -07:00
Roy Oursler
40b5104397
igzip: More optimizations by speeding up rarely taken branch
...
For some reason optimizing the rarely taken branch speeds up the program.
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 12:51:22 -07:00
Roy Oursler
84ffaead82
igzip: Optimize inflate more
...
Some general optimizations, including speculatively loading the distance huffman
code and interleaving inflate_in_load with other instructions.
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 12:48:47 -07:00
Roy Oursler
6fc9029f83
inflate: Optimize inflate_stateless
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 12:47:38 -07:00
Roy Oursler
c233946b0a
igzip: Add some compile time options to igzip_inflate_perf
...
Allow for running igzip_inflate_perf with zlib -1, zlib -9, and igzip
compression. Also add a parameter to allow comparing igzip inflate's performance
to zlib inflate's performance.
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 12:47:01 -07:00
Roy Oursler
09a5a243bf
igzip: Implement statelesss inflate in assembly
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 12:45:53 -07:00
Roy Oursler
17dac9f641
igzip: Implement xmm loads to preload data in update_histogram
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 11:07:28 -07:00
Roy Oursler
4d40cd360d
igzip: Speed up hash table initialization in igzip_update_histogram.
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 11:02:23 -07:00
Roy Oursler
39ce31de30
igzip: Fix minor bug in igzip_rand_test
...
Stop igzip_rand_test from trying to free a null pointer.
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 11:01:40 -07:00
Roy Oursler
af9c0c0f46
igzip: update update_hash to match stateless and stateful compression.
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-05 11:01:01 -07:00
Roy Oursler
f97de75fc6
igzip: Port improvements to stateless compress to stateful compress
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-02 18:40:27 -07:00
Roy Oursler
eb1b7788d0
igzip: Move code in igzip_stateless to hide latencies more in ivybridge.
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-02 17:23:29 -07:00
Roy Oursler
cf30138c7b
igzip: Load memory into xmm in stateless registers
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-02 17:22:52 -07:00
Roy Oursler
4d1fe78bfa
igzip: Modify stateless hash updating to match the length 4 short match
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-02 17:19:15 -07:00
Roy Oursler
31814483c0
igzip: Create assembly version of isal_update_histogram
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-02 17:16:55 -07:00
Roy Oursler
7c91df5e50
igzip: add macros for shrx, shlx, and bzhi instructions on old architectures
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-02 17:11:06 -07:00
Roy Oursler
bbc886cf01
igzip: Modify igzip to ignore matches which are shorter than 4
...
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-02 17:07:45 -07:00
Greg Tucker
45311ea249
Change common and igzip multibinary check from sse4.1 to sse4.2
...
SSE optimized compression function is using crc32 instruction that is in SSE 4.2
not SSE4.1 as stated. Fixes incorect choice on core 2 duo that is SSE 4.1 only.
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-02 17:05:23 -07:00
Xiaodong Liu
b34cb054fd
build: Fix an include path to be srcdir relative
...
Allows configure to again build in an external directory. When building ISAL in
an external path, assembler or compiler needs relative include paths.
Signed-off-by: Xiaodong Liu <xiaodong.liu@intel.com>
Reviewed-by: Greg Tucker <greg.b.tucker@intel.com>
2016-12-02 16:54:40 -07:00