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>
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>
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>
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>
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>
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>
One asm file in the source list for compression missed an include that adds
.note.gnu-stack. Without it an executable could be marked has having an
executable stack and miss some hardware protections.
Reported-by: Ondřej Nový <novy@ondrej.org>
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
The avx512 functions are not directly exported and this could cause warnings
when unit tests try to link to them directly.
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
- Includes gf_nvect_dot_prod, gf_nvect_mad functions
- Change ec multibinary to use common macros
- Autoconf checks for nasm or yasm support and picks if available
- Leave out compile of any avx512 code if assembler not available
Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>