Roy Oursler
4b45beff4f
igzip: Avoid some nested multibinary calls in deflate_body
...
Change-Id: I2b433f63664ffa27fc125a6a859a1b8053212d7f
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-03-01 13:27:48 -07:00
Roy Oursler
47e914f98f
igzip: Fix Windows prologue for avx 512 gen_map and set_long
...
Change-Id: I8e326dc7fb67f30101d03dc364ffba25242e1f67
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-03-01 13:27:48 -07:00
Roy Oursler
aedf4f8cff
igzip: create optimized set_long_icf_fg for avx2
...
Change-Id: I027e73eaa908ca69a5c1af5a52b464f1963fd2da
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-03-01 13:27:48 -07:00
Roy Oursler
9acc3ed2ac
igzip: Create AVX2 optimized version of level 3
...
Change-Id: Icfdb67445ee5afff85441cfee23beb66bfe15d5e
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-03-01 13:27:38 -07:00
Jean-Yves VET
52bb322912
build: fix compilation with CPU not supporting SSE
...
This patch makes the project compile and run (tests and
performance tests as well) with CPUs which are not
supporting SSE instructions.
Signed-off-by: Jean-Yves Vet <jyvet@ddn.com>
2018-02-23 06:13:10 -05:00
Greg Tucker
553f01f0c4
Include doxygen label in toplevel header
...
Change-Id: I8dfc08afa8255ff781104542c0a50da1519673e0
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-02-09 11:13:27 -07:00
Roy Oursler
3371542dce
crc: Create a combined crc32 check test
...
Change-Id: Idae7634007363cfb59cca15270bd82c37fae26ea
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-02-02 13:51:17 -07:00
Roy Oursler
148898c6ba
igizp: Print error when test_compress_file fails in igzip_rand_test
...
Change-Id: I5b03b006708778cb61edb3d456d22d08f1169309
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-01-04 09:13:59 -07:00
Greg Tucker
f3c218ae62
test: Remove travis job that pulls nasm from debian
...
Travis-ci is having an issue with installing nasm from debian repo.
Removing until they have it fixed.
Change-Id: I3b67e2fde0b2a9c7bc44d5a9077bf9a23f1fde24
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-12-21 17:36:04 -07:00
Greg Tucker
cf9cf4b430
Update release notes for v2.21 additions
...
Change-Id: I940bd2289d679fb40c2416db3258ef83fbc81c29
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-12-21 11:41:00 -07:00
Greg Tucker
35dc4f0b0c
build: Change configure nasm min test for AVX512
...
Due to bug in nasm on vinserti32x8 instruction, need nasm v2.13 or
better to build new AVX512 igzip files. Changed the configure test
and doc to reflect.
Change-Id: Iceaf65187cbb2d63c29f9c0f19346f03bb484a94
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-12-20 11:54:41 -07:00
Greg Tucker
249deb378d
build: Bump revision to 2.21
...
Change-Id: I5a5bfe5e15ff56e791aaabd68915793ee1886ba3
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-12-19 17:41:33 -07:00
Greg Tucker
22ec5c7469
igzip: Fix igzip fuzz test for lev2-3 buf size
...
Also remove unnecessary deps in igzip makefile.
Change-Id: I1ff79461df6d60bfc52c99b574c39098f1fe238a
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-12-19 11:01:46 -07:00
Greg Tucker
6b1c9a95c8
igzip: Fix syntax for win yasm for when avx512 is supported
...
Currently can't test because yasm doesn't support avx512 but should
get the syntax correct for when it does.
Change-Id: I672b47b83b96861d8b9bfb0af02e726a1949aca0
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-12-19 10:33:53 -07:00
Roy Oursler
48119c5c87
igzip: Increase long_code_lookup struct size to fix buffer overflow
...
Change-Id: I6546dcb7ffcd5895292d06fdc748c3cf279a4542
2017-12-19 10:24:23 -07:00
Greg Tucker
491035d956
crc: Add t10dif+copy function
...
Change-Id: Ic6c424a0aa746aa06643575f7fcc8d6944cbfc0e
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-12-18 15:59:17 -07:00
Chunyang Hui
e7df3fdedc
crc: crc32 iscsi performance improvement
...
Change-Id: Ic8c946546345cf92a19dea1bbc5ebaf66c0f98da
Signed-off-by: Chunyang Hui <Chunyang.hui@intel.com>
2017-12-18 15:51:10 -07:00
Roy Oursler
e3fad7c45a
igzip: Fix out buffer overflow in write_type0_header
...
Fix a possible 1 byte overflow by creating a combined write_bits and flush.
Change-Id: I2d2455e9e32a820522ff1d89d016db72a82baed9
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
5d413c8b12
igzip: Use full 32 bits histogram elements in igizp_icf_body/finish
...
This fix prevents possible histogram overflow in compression.
Change-Id: Ie5f25d1bace7f443f432678fcfbd9050ac65113f
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
8965584ae3
igzip: Implement large hash table method as level 2
...
Move current level 2 compression to be level 3 and create a level 2
compression which is the same algorithm as level 1 but with a larger
hashtable.
Change-Id: I398a6017c2ff218dded24e229fb51c23ea69f314
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
7a12bcb2a8
igzip: Separate concept of level and compression method
...
Change-Id: I82a5fbeb93adc77057893c643e044e311e4f393c
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
fe68f02dac
igzip: Move hash_table and symbol histogram for icf compression
...
Change-Id: I50df9c8915ff3e1af450aeb8e4c0cc3baf9624ae
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
2573f3cd87
igzip: Create defines for lvl1 hash table and histogram
...
Change-Id: I4cdf7af4e482b8105aef024085323d0b1cd622ef
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
06cd70481c
igzip: Separate defines for LVL1 and LVL0 hash tables
...
Change-Id: I19bdec8d2d0c74083bc1695763c9630516995885
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
9203f96c2a
igzip: Change inputs to deflate_hash functions
...
Change-Id: I9ffff9aee82d5d1ece51853b4709f13ccd80c8ad
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
fe90c14bc3
igzip: Fix issues for large file inputs to igzip_rand_test
...
Change-Id: Ic77834d771b2eebdfb7eeed782ee0d69e7905fa5
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
b4ebd1c6e7
igzip: Fix bug in igzip_rand_test where invalid flag is set
...
Change-Id: I0d9418bcb48bd40e2fb8bb9105f38cffe77ba33d
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
4ae2d1be29
igzip: Implement optimized level 2 compression
...
Change-Id: I8cf5bcd56f290d17205ac36dc2828c8acfc66947
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
3c62216aa1
igzip: Remove some uneccessary random data generation from igzip_rand_test
...
Change-Id: I7c10c95549b9d825360d8f033f8dc3d8546d4d4c
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
4de751f35a
igzip: Improve VERBOSE printing in igzip_rand_test
...
Change-Id: Ib04361d0980920e81f901da3df234f9299669a98
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
864634a62b
igzip: Modify rand_test to not call rand() within VERBOSE blocks
...
Change-Id: Ice907a9eae72662a741d3d02a3926683e65c173d
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
a7d474a55c
igzip: Fix rand_test_bug where invalid flush case can have a valid flush
...
Change-Id: I6459432cb14b0c91f07b87a54c224f71ee03a05a
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
49156c3568
igzip: Implement block buffer
...
Change-Id: I9d7942740557e4ffaf8e223e190f4bd4e4f47b1e
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
6049ce3ca7
igzip: Modify state to record total_in on deflate call
...
Change-Id: I13e5878a227732545aee5a762bf5a9a75ce73f02
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Roy Oursler
59b9990a39
igzip: Remove file_start from zstate
...
Change-Id: Ia4cb6dc86da54cc771f25a6d958bea730caa4801
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-12-15 14:27:14 -07:00
Greg Tucker
0fe95360bb
test: Run with new test_seed in each extended test
...
Change-Id: I63903ecff9624a793b041671042c1fcaff2dd3a4
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-12-11 16:15:55 -07:00
Greg Tucker
cb4cea60da
test: Remove redundant arch-specific tests
...
Change-Id: Ifdbac9d8a99888bfd7a12da5d47dd07b8f85481d
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-11-30 11:13:21 -07:00
Greg Tucker
6dcf6edba3
test: Fix ext script for darwin arch=noarch
...
Change-Id: If50f15fd1fef862e73eac50cebc88fbf18caf989
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-11-29 15:54:32 -07:00
Greg Tucker
54e1f157f7
test: Ensure fuzz tool returns 0 if libfuzzer not avail
...
Change-Id: Iafbeea0444529df5c14c65c0722653aba442df76
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-11-17 18:50:26 -07:00
Greg Tucker
4f59eeda90
test: Add llvm fuzz testing
...
Moved the afl fuzz test and added llvm fuzz tests including inflate
and round trip compress and inflate. Currently only works with clang,
std makefile and libFuzzer installed. Need to add checking and
support later when libfuzzer is more tightly integrated into the
compiler.
Change-Id: I2db9ad2335d6c5ed846886703b58225f67bcc935
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-11-17 17:28:27 -07:00
Roy Oursler
f7b6e73146
igzip: Improve igzip_rand_test compress_multi_pass by modifying in buffer
...
Modify igzip_rand_test to test that data after next_in can be modified without
producing incorrect compressed data.
Change-Id: Ic6b62f269c6783407fbec7222ae73f24d3735717
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-10-20 15:29:39 -07:00
Roy Oursler
cad5e7d479
ec: Fix doxygen comment format for gen_rs_matrix
...
Change-Id: I505155b0d57576814d876cd2d3595e522e03c469
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-10-17 10:18:45 -07:00
Greg Tucker
48d74d6e51
igzip: Fix perf test to only open dictionary if specified
...
Change-Id: Idf5048589af5b61da5ccccf25c575dfc05ea15ec
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-10-11 15:57:41 -07:00
Greg Tucker
daa6fd05b4
doc: Add issue on create_hufftables_subset to release notes
...
Change-Id: I1c8c4b7ffbd7a1485abfe40bcf1a3e56d6aea85d
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-09-26 17:27:45 -07:00
Roy Oursler
e79c57c7e3
igzip: Fix issue with isal_create_hufftables_subset
...
isal_create_hufftables_subset failed to generate length symbols, but should
generate those symbols as a histogram does not guarantee finding all lengths
found in compression
Change-Id: I880210fe1b1078de8617cab0ecb93c9810b9c9de
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2017-09-21 17:24:56 -07:00
Greg Tucker
23159441e0
doc: Update readme with info on build doc and packages
...
Change-Id: I1dd04179fb2f7f9de8ce85c65dc422d43a2853c9
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-09-20 11:25:37 -07:00
Greg Tucker
f78601adb9
igzip: Pick faster crc32 gzip function for sse4.2 machines
...
For machines with sse4.2 but not avx we can choose a faster version of
crc32_gzip. For highly compressible files using gzip format (rfc 1952) this can
be a significant advantage.
Change-Id: Ib699a68999290eed4b83f9bbf54dc6c304a5c445
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-09-20 10:50:16 -07:00
Greg Tucker
63c9aef4b7
update release notes for v2.20 additions
...
Change-Id: Ic8d7a37f715983852036f0b63273ea8f10fd83aa
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-09-15 18:59:31 -07:00
Greg Tucker
ebf720af04
build: Bump revision to 2.20
...
Change-Id: I0f994fa9d31d873706b41b0b5c50b5f277ad0988
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-09-15 18:48:44 -07:00
Greg Tucker
62ba0b6acd
build: Update travis to run more tests
...
Change-Id: I0cb4967914c2240c555a9cd447a7fc404d64cc4c
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2017-09-15 18:34:00 -07:00