Commit Graph

286 Commits

Author SHA1 Message Date
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
804cf21206 test: Check for sign-off and format in more files
Change-Id: Id780756a6fb201b22fc3ac1a67955ed61b436e8d
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-06-21 14:39:08 -07:00
Greg Tucker
0ad8ea9a15 test: Fix compile warning in dump inflate corpus for fuzz
Change-Id: I2734ec46687c5188a207963c6631bb4280c1fb8f
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
ac5a741420 tests: Improve usability of test_fuzz.sh
Change-Id: I595e15d155dc6aa759671da510198c39b2e9c23a
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
Greg Tucker
9edac4799d ex: Allow erasure list in any order in ec example
Previous gf_gen_decode_matrix_simple() assumed that all source errors
were listed first before any erasures in parity.  Generalized to work
in any order.

Change-Id: I31b9c0c0db5d0155473424ccd0ecdcdd787ef71f
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-05-25 14:44:50 -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
Greg Tucker
c20260e361 test: Fix check script for old bash versions
Change-Id: I09975d3540993279c378f3dbbe93437dbcc4c142
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-05-07 14:14:32 -07:00
Roy Oursler
55481069ac tests: Run all make targets in test_checks
Change-Id: I484500fc5a943aebf5779846972595cb74f0e145
Signed-off-by: Roy Oursler <roy.j.oursler@intel.com>
2018-05-04 10:56:04 -07:00
Greg Tucker
bc48c1e2dc test: Change fuzz object to link .o instead of .lo
Automake is not cleaning .lo from extra directories.

Change-Id: Ib68f32954c58cb7a76d07b2562e020fbd854f46e
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-05-01 16:30:45 -07:00
Greg Tucker
4c4185ba56 ex: Fix ec example for random params, min parity 1
Keep from trying to alloc 0 bytes for parity = 0.

Change-Id: Iafb9eeb9ac9da85f521ac5eeb4e85ea80c5b6e4c
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-05-01 10:56:23 -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
Greg Tucker
2a8b061218 Update release notes for v2.22 additions
Change-Id: Ifffe687c16516f50422aa1543f64a3c9cd5c7861
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-03-30 11:54:04 -07:00
Greg Tucker
16a5d25988 test: Add llvm libFuzz arguments for builtin clang 6.0
Clang 6.0 has libFuzzer included and different args

Change-Id: Iad7470d13a93c6b5e41de63f634ba8d501eaaa37
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-03-30 00:36:52 -07:00
Greg Tucker
0ba5f0f7db build: Bump revision to 2.21
Change-Id: I72ab302f7fb4e23e2637f810cee131264b4e96d4
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-03-29 23:12:31 -07:00
Greg Tucker
aaeedf60c4 ec: New example of piggyback codes
Change-Id: I872c48b150be1799b97b2115aed0804a36eb5a0c
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-03-29 23:06:21 -07:00
Greg Tucker
041379a6c6 ec: New simple erasure coding example prog
Change-Id: Ic3090a9315c8c0fa7bf910c2855e95fbabea7f7a
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
2018-03-29 10:35:24 -07:00
Daniel Verkamp
99b45db17e types.h: remove [U]INT{8,16,32,64} typedefs
These can be replaced with the <stdint.h> types.

Additionally, the existing definitions weren't correct on some platforms
(e.g. IA-32, where 'long', used for INT64/UINT64, is only 32 bits).

Change-Id: I1d9235c693ca2dc0c51d085128cecc4effc165fd
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-03-29 09:35:25 -07:00
Daniel Verkamp
d9ec2c4c8a ec: use standard types in struct slver
This matches the definition of struct slver elsewhere in the code.

Removes the last use of [U]INT{8,16,32,64} types.

Change-Id: I70761ac27add1e19808f1cebd6a7ee69ebd08dee
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-03-29 09:34:21 -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