Commit Graph

195 Commits

Author SHA1 Message Date
Greg Tucker
b1c4517557 igzip: Add a few missing asm copyright headers
Change-Id: Iddcfbd357efa17dbbd32acacac952579fc052756
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-06-21 14:50:40 -07:00
Greg Tucker
e8d15527fb igzip: Remove igzip_sync_flush_file_perf
Performance test had limited functionality.

Change-Id: I5abc839fafc1351de7543531e7770b6add0bcb1d
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-06-21 14:39:08 -07:00
Greg Tucker
da1aee8714 igzip: Remove references to types.h
Previously included just for struct alignment but all restrictions
have been removed.

Change-Id: I3fa7cbab86fce419b3b3bfccb48d9129bd77cf64
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-06-21 14:39:08 -07:00
Greg Tucker
d30b45ffbe igzip: Remove unused initialization in inflate expand huffcode
Change-Id: Ia9732fc4a2acc9990e3b2b77bc604f740ce6be30
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-06-21 14:39:08 -07:00
Roy Oursler
e8ca21baf4 igzip: Fix update_histogram_base buffer finish
Change-Id: Ib74988a79baca7f5095447458d7374f834d1c138
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:35:14 -07:00
Roy Oursler
31204ae96e igzip: Reduce igzip_gen_icf_map_lh1_04 data usage
Change-Id: Ida538675ef0ffe0e3d65e1aed382b2e04ed83baf
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
ff00a0f927 igzip: Reduce data usage in igzip_gen_icf_map_lh1_06
Change-Id: I453f6c6e71f236145c1e79493710c85847ed8c70
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
d389b8d6f8 igzip: Move COMPARE_TYPES usage
Change-Id: I87d88618b6f86c1f9618ba9cea132153a8ef2fa5
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
21e78d5aa3 igzip: improve igzip_body_compilations
Change-Id: I7ad859a986c643336be8824f6400b266ff140dcd
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
14ba3747b5 igzip: Optimize multibyte for small files
Change-Id: I8400e0be07da75fd549724147ab06aa71f7cc9df
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
5d6d9a21eb igzip: Optimize bit reverse
Change-Id: I45244b8c2f07fab0f237b11b92fa5f557aff878b
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
7faedc71bd igzip: Rename tzcnt to more accurate tzbytecnt
Change-Id: Ifc0b828f50e4c1feaf141e0164749eca3b227996
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
3732485914 igzip: Accept multiple inflate codes for matches of 258
Allow inflate to accept code 284 with extra bits 0x1f to be accepted
as a match of length 258. This matches zlib's behaviour.

Change-Id: Id85052ceea2b23d3db9c147672dd7996a4c66786
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
a778455448 igzip: Fix bug in create_rand_repeat_data
Change-Id: Ib3ab731ea9a96cdbd0380d6a88b3837ae0de0815
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
054758ea63 igzip: Add back inflate std vectors test with updated errors
Change-Id: I5e46fa028baec8b8b0a3435b5d1cc11303e39abd
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
a61e035445 igzip: Improve inflate invalid block identification
Change-Id: I31ab9fa641e448c643ff4c6e606837c07ec2b14f
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
b3ddaff6c5 igzip: Create flag to determine maximum symbols decoded
Change-Id: I94c185bf10662931248ccae07aa5659626f1deb2
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
2de5a0fd88 igzip: Swap length code lookup with length lookup
Change-Id: I9f1c3ea5353f2c2fa98bab1d0cb1eb3c7b7397f6
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
ec6169ac3b igzip: Combine distance code and extra bit count lookup
Change-Id: I12dca7126313406afd6ccbbaa91e7a1cc4a91bc0
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
16f32e179c igzip: Reoptimize decode_stateless due to multibyte decode
Change-Id: I1479772062be584f5087bf2999ba4500a340ca51
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
abd1963a22 igzip: Allow decoding symbol triples
Change-Id: I82e088b65a37adb1853ce2525dafafec06586a0f
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
bf4c2dab27 igzip: Allow decoding symbol pairs
Change-Id: I306404d7821cf4e43c28ae6477038b17a29b0c47
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
021afc5911 igzip: Remove inflate standard vectors
Change-Id: Ib7a5e8e8d63bc895eddc85c1eb1f5ab2edd56515
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
3d1b5b40d3 igzip: Rearrangement of make_inflate_huff_code
Change-Id: Ieff4a7c03827ff6a41b2e8e7316b239b94343c1a
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
222a68f760 igzip: Implement multibyte decode
Change-Id: I923a57a01f696f2082945fafcc2773655b9a5beb
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
0b8fe87648 igzip: Verbose printing for multi_pass inflate
Change-Id: Iea1ebf1f185bf90da441d27df479e164d21fb74c
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
7a1dc55c27 igzip: Increase size of large short code lookup
Change-Id: I05a564d1759ae417a966f3a12621799db0edf80a
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Roy Oursler
fbeb7c83c4 igzip: Some general cleanup of the decode_block assembly
Change-Id: Ie30955fcb47ffc9b23f0c50f520cbd9973b2b315
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-06-14 15:30:14 -07:00
Konstantine Kharlamov
19f2c46d1b igzip: fix build failure for CPUs with BMI capability
…also makes use of an optimized algorithm for x86_64 CPUs without the BMI.

v2: use "defined()" macro

igzip: s/__bsfq/__builtin_ctzll

Per discussion at https://github.com/01org/isa-l/pull/38 __bsfq isn't
defined on clang, but __builtin_ctzll should work same way.

Also, refactor the code a bit.

Change-Id: I1a251abe1fab1be1cbdc2c042298d0b500068c68
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
2018-05-25 10:27:50 -07:00
Greg Tucker
951ec3198f test: Fix clang warning in inflate perf test
Change-Id: I4bd30057a9a6f508af871b0828193004e405daa7
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-05-08 11:31:21 -07:00
Roy Oursler
7274d27ff6 igzip: Implement stateful blocks perf testing
Change-Id: I2a1baa2d3c09d894dee54d5be8c1e9aa2ed434af
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-04-24 10:09:45 -07:00
Roy Oursler
83c2ec02cc igzip: Add runtime options to inflate perf
Change-Id: If520c1d499d49779f35dffc550b5612dab6839c7
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-04-13 13:20:57 -07:00
Daniel Verkamp
6e9f576bff igzip: remove detect_repeated_char()
This was replaced with detect_repeated_char_length(), but the
implementation of the old function was never removed.

Change-Id: I55485cec324dce01033b73f24474f1aca2a31bd3
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-03-29 09:33:04 -07:00
Daniel Verkamp
f9a61187c5 igzip: remove stray duplicate semicolon
Change-Id: I0df14600e2f49dd04d3e94bdfe2c155faa9ac2ee
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-03-29 09:31:40 -07:00
Roy Oursler
bb05f0fcdb igzip: Fix sizeof(void *) in isal_create_hufftables
Fixes #33

Change-Id: I43640b4ccdf165c84757ea7b3ace80f3dc4aafde
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-03-22 13:19:30 -07:00
Roy Oursler
4734834501 igzip: Fix uninitialized used of bl_count[0]
Fixes #34

Change-Id: I489b1ae24212d81875b96f687f3543ac548e2278
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-03-22 13:05:56 -07:00
Daniel Verkamp
bcde6e410b igzip: mark huff_codes.c internal functions static
Remove declarations from huff_codes.h (preserving doc comments where
applicable) and mark functions that are only called within huff_codes.c
as static.

Change-Id: Idc0113d4eca9e97347def86a502073ef7126114b
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-03-15 12:34:46 -07:00
Daniel Verkamp
a301835e06 igzip: mark proc_heap_base.c internal function static
heapify() is only used within proc_heap_base.c.

Change-Id: I68cc11c2a82fa7f6a989a1838c0e744c0c23feb3
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-03-15 12:34:33 -07:00
Daniel Verkamp
69176f5428 igzip: mark igzip_icf_body.c internal function static
compress_icf_map_g() is only used within igzip_icf_body.c.

Change-Id: Id488d6721c60c1909c922a5e0bd162b1542e71ca
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-03-15 12:34:12 -07:00
Daniel Verkamp
575664e78b igzip: mark internal igzip.c function static
detect_repeated_char_length() is only used within igzip.c.

Change-Id: I77ee5422e2cb58d81b9705ebcfad68f3a7017d6b
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-03-15 12:33:49 -07:00
Daniel Verkamp
bc78944634 igzip: drop declarations of non-existent functions
valid_lit_huff_table() and valid_dist_huff_table() were declared in an
internal header, but they were never defined or called anywhere.

Change-Id: I59ddf35f161276fca6d6b58081cf640bbea41252
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-03-12 09:08:06 -07:00
Daniel Verkamp
e815371be7 igzip: remove unused hash_section() function
This isn't referenced anywhere and isn't part of the public API.

Change-Id: I1e4809c8cc4ac64310fa151425e710abb7351079
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-03-12 08:47:49 -07:00
Daniel Verkamp
07eac8fc12 igzip: mark private data as static
These globals are only used within huff_codes.c, so they don't need to
be globally visible.

Change-Id: I1e118b3a95cfb7d21bf33c66559362483e460d58
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-03-12 08:28:10 -07:00
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
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
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