Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-12-24 | Standardize crc32_stub | Matheus Castanho | |
Reorganize statements inside crc32_stub() to match more closely the format used for other function stubs in functable.c. | |||
2021-06-22 | [functable] Add missing call to cpu_check_features(). | Mika Lindqvist | |
2020-11-02 | Fixed conditional expression is constant maintainer warnings. | Nathan Moinvaziri | |
chunkset_tpl.h(42,47): warning C4127: conditional expression is constant functable.c(381,44): warning C4127: conditional expression is constant | |||
2020-09-11 | Added AVX support to chunkset functions. | Nathan Moinvaziri | |
2020-08-31 | Fix numerous sign-conversion warnings in compare256/compare258 and | Hans Kristian Rosbach | |
longest_match related code. | |||
2020-08-31 | Rename ZLIB_INTERNAL to Z_INTERNAL for consistency. | Nathan Moinvaziri | |
2020-08-23 | Add optional support for thread local storage. (#733) | Nathan Moinvaziri | |
2020-08-21 | Remove return value from insert_string, since it is always ignored and | Hans Kristian Rosbach | |
quick_insert_string is being used instead. | |||
2020-08-20 | Harmonize the CPU architecture preprocessor definitions. | Nathan Moinvaziri | |
2020-08-14 | Fixed many possible loss of data warnings where insert_string and ↵ | Nathan Moinvaziri | |
quick_insert_string function used on Windows. | |||
2020-08-02 | Remove forward declarations for stub functions and have one forward ↵ | Nathan Moinvaziri | |
declaration for functable instead. | |||
2020-06-28 | Rename from memchunk to chunkset. | Nathan Moinvaziri | |
2020-06-28 | Split memcopy by architecture. | Nathan Moinvaziri | |
Use uint8_t[8] struct on big-endian machines for speed. | |||
2020-06-28 | Apply compiler flags only to source files that require them in CMake. | Nathan Moinvaziri | |
2020-06-27 | Add POWER8_VSX_SLIDEHASH macro | Matheus Castanho | |
The slide_hash optimization for POWER currently depends on POWER8 macro to be enabled. Switch this to use POWER8_VSX_SLIDEHASH instead to better match the naming scheme used by other archs. | |||
2020-06-25 | Adler32 vector optimization for Power. | Rogerio Alves | |
This commit implements a Power (POWER8+) vector optimization for Adler32 checksum using VSX (vector) instructions. The VSX adler32 checksum is up to 10x fast than the adler32 baseline code. Author: Rogerio Alves <rcardoso@linux.ibm.com> | |||
2020-06-09 | Disable unaligned access of > 4 bytes on 32-bit arm | NiLuJe | |
2020-06-08 | Added Adler32 SSSE3 and AVX2 implementations to functable. | Nathan Moinvaziri | |
Co-authored-by: Brian Bockelman <bockelman@gmail.com> Co-authored-by: Mika T. Lindqvist <postmaster@raasu.org> | |||
2020-06-08 | Add optimized slide_hash for POWER processors | Matheus Castanho | |
This commit introduces a new slide_hash function that uses VSX vector instructions to slide 8 hash elements at a time, instead of just one as the standard code does. | |||
2020-06-08 | Preparation for POWER optimizations | Matheus Castanho | |
Add the scaffolding for future optimizations for POWER processors. Now the build is capable of correctly detecting multiple processor sub-architectures (ppc, ppc64 and ppc64le) and also if features needed for the optimizations are available during build and runtime. With these changes, adding a new optimized function for POWER should be as simple as adding a new file under arch/power/, appending build instructions to the build files and editing functable.c accordingly. The UNALIGNED_OK flag is now also added by default for powerpc64le targets. | |||
2020-05-30 | Remove IPos typedef which also helps to reduce casting warnings. | Nathan Moinvaziri | |
2020-05-25 | Remove support for DYNAMIC_CRC_TABLE which was broken. | Nathan Moinvaziri | |
2020-05-24 | Converted compare258 to static and convert longest_match to template. | Nathan Moinvaziri | |
2020-05-24 | Added support for AVX2 intrinsics to compare258. | Nathan Moinvaziri | |
2020-05-24 | Abstracted out architecture specific implementations of 258 byte comparison ↵ | Nathan Moinvaziri | |
to compare258. | |||
2020-05-02 | Fix ARM64 build with Visual C++. | Mika Lindqvist | |
2020-05-01 | Standardize fill_window implementations and abstract out slide_hash_neon for ↵ | Nathan Moinvaziri | |
ARM. | |||
2020-04-30 | Standardize insert_string functionality across architectures. Added ↵ | Nathan Moinvaziri | |
unaligned conditionally compiled code for insert_string and quick_insert_string. Unify sse42 crc32 assembly between insert_string and quick_insert_string. Modified quick_insert_string to work across architectures. | |||
2020-02-07 | Fixed formatting, 4 spaces for code intent, 2 spaces for preprocessor ↵ | Nathan Moinvaziri | |
indent, initial function brace on the same line as definition, removed extraneous spaces and new lines. | |||
2019-09-21 | Unify detection of ARM getauxval code availability. | Hans Kristian Rosbach | |
We don't want to compile arch-specific code when WITH_OPTIM is not set, and the current checks don't take that into account. | |||
2019-09-04 | Add slide_hash to functable, and enable the sse2-optimized version. | Hans Kristian Rosbach | |
Add necessary code to cmake and configure. Fix slide_hash_sse2 to compile with zlib-ng. | |||
2019-09-04 | Changes to support compilation with MSVC ARM & ARM64 (#386) | Nathan Moinvaziri | |
* Merge aarch64 and arm cmake sections. * Updated MSVC compiler support for ARM and ARM64. * Moved detection for -mfpu=neon to where the flag is set to simplify add_intrinsics_option. * Only add ${ACLEFLAG} on aarch64 if not WITH_NEON. * Rename arch/x86/ctzl.h to fallback_builtins.h. | |||
2019-08-23 | Rename #defines for consistency (#378) | Nathan Moinvaziri | |
2019-08-06 | Rename gzendian to zendian since it is included in more than just the gzip ↵ | Nathan Moinvaziri | |
library code. | |||
2019-05-29 | Fix build when DYNAMIC_CRC_TABLE is defined. | Mika T. Lindqvist | |
2019-03-08 | Default sse2 to be available on x86_64 arch. | Hans Kristian Rosbach | |
Allow x86 arch to force sse2 availability. It still depends on sse2 intrinsics being detected and optimizations enabled. | |||
2019-03-08 | unify uses of __ARM_FEATURE_CRC32 | Sebastian Pop | |
2019-03-06 | unify uses of __ARM_NEON__ and __ARM_NEON | Sebastian Pop | |
2019-03-06 | rename X86_SSE2_FILL_WINDOW to X86_SSE2 | Sebastian Pop | |
2019-03-01 | ARM: check cpu feature once at init time | Sebastian Pop | |
This makes the checks for arm cpu features as inexpensive as on the x86 side by calling the runtime feature detection once in deflate/inflate init and then storing the result in a global variable. | |||
2018-12-12 | [ARM/AArch64] Add run-time detection of ACLE and NEON instructions under Linux. | Mika Lindqvist | |
* Use getauxval() to check support for ACLE CRC32 instructions * Allow disabling CRC32 instruction check | |||
2018-11-01 | Revert "[ARM/AArch64] Add run-time detection of ACLE and NEON instructions ↵ | Hans Kristian Rosbach | |
under Linux. * Use getauxval() to check support for ACLE CRC32 instructions * Allow disabling CRC32 instruction check" This reverts commit e7e80f4cd22346a2ea3cadad57ed574078aa5576. | |||
2018-10-30 | [ARM/AArch64] Add run-time detection of ACLE and NEON instructions under Linux. | Mika Lindqvist | |
* Use getauxval() to check support for ACLE CRC32 instructions * Allow disabling CRC32 instruction check | |||
2018-09-17 | Make functable thread-local. | Mika Lindqvist | |
2018-03-22 | Move private defines from zconf.h and zconf-ng.h to zbuild.h | Mika Lindqvist | |
* move definition of z_size_t to zbuild.h | |||
2018-02-16 | wrap crc32 in functable (#145) | Daniel Black | |
* wrap crc32 in functable * change internal crc32 api to use uint64_t rather than size_t for length | |||
2018-02-09 | [ARM/AArch64] Allow disabling NEON support in adler32_stub. | Mika Lindqvist | |
2017-08-17 | Make sure we don't export internal functions | Hans Kristian Rosbach | |
2017-05-03 | Lazily initialize functable members. (#108) | Mika Lindqvist | |
- Split functableInit() function as separate functions for each functable member, so we don't need to initialize full functable in multiple places in the zlib-ng code, or to check for NULL on every invocation. - Optimized function for each functable member is detected on first invocation and the functable item is updated for subsequent invocations. - Remove NULL check in adler32() and adler32_z() as it is no longer needed. | |||
2017-04-24 | - Add adler32 to functable | Hans Kristian Rosbach | |
- Add missing call to functableinit from inflateinit - Fix external direct calls to adler32 functions without calling functableinit |