summaryrefslogtreecommitdiffstats
path: root/tools/libdeflate/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* tools: libdeflate: backport fix for AVX-VNNIRobert Marko2024-04-151-1/+1
| | | | | | | | | Trying to compile with new new enough GCC but older binutils that dont support AVX-VNNI will error out on the assembler, so backport an upstream fix for it. Fixes: 338b463e1e97 ("tools: libdeflate: update to 1.20") Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools: libdeflate: update to 1.20Robert Marko2024-04-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Changes: * Improved CRC-32 performance on recent x86 CPUs by adding VPCLMULQDQ-accelerated implementations using 256-bit and 512-bit vectors. * Improved Adler-32 performance on recent x86 CPUs by adding VNNI-accelerated implementations using 256-bit and 512-bit vectors. * Improved CRC-32 and Adler-32 performance on short inputs. * Optimized the portable implementation of Adler-32. * Added some basic optimizations for RISC-V. * Dropped support for gcc versions older than v4.9 (released in 2014) and clang versions older than v3.9 (released in 2016). * Dropped support for CRC-32 acceleration on 32-bit ARM using the ARMv8 pmull or crc32 instructions. This code only worked on CPUs that also have a 64-bit mode, and it was already disabled on many compiler versions due to compiler limitations. CRC-32 acceleration remains fully supported on 64-bit ARM. Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools: libdeflate: fetch source as tarballRobert Marko2024-04-061-4/+5
| | | | | | | | | | | | | libdeflate is currently intentionally being fetched via GIT. However, with the move to using ZSTD to compress the cloned GIT repo tarballs it means that we would first need to compile ZSTD. But that means that we need to be able to unpack gzipped tarballs first which we currently do by using libdeflate-gzip. So, in order to do so lets fetch libdeflate as a tarball, use gzip to extract it and then use libdeflate as regular for all other tools. Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools/libdeflate: update to 1.19Nick Hainke2023-10-121-2/+2
| | | | | | | Release Notes: https://github.com/ebiggers/libdeflate/blob/master/NEWS.md#version-119 Signed-off-by: Nick Hainke <vincent@systemli.org>
* tools/libdeflate: update to 1.18Nick Hainke2023-04-171-3/+3
| | | | | | | Release Notes: https://github.com/ebiggers/libdeflate/blob/master/NEWS.md#version-118 Signed-off-by: Nick Hainke <vincent@systemli.org>
* libdeflate: Avoid circular dependenciesOlliver Schinagl2023-01-171-5/+12
| | | | | | | | | | | CMake depends on (libdeflate-)gunzip, libdeflate depends on Cmake, so we can't win. Luckily libdeflate is _very_ easy to build, without any build system, so lets just manually compile it and be done with it. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> Signed-off-by: Rosen Penev <rosenp@gmail.com>
* libdeflate: Update to v1.17Olliver Schinagl2023-01-171-3/+3
| | | | | | | The new version of libdeflate makes it a little easier to build it without any build system. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
* tools: Add gzip-libdeflate advanced compressorMarkus Stockhausen2023-01-021-0/+31
Several devices provide U-Boot versions with only gzip compressed kernel support (e.g. Realtek switches). This compression method produces larger images than lzma. To save space on flash and avoid going the hard way with lzma-loader we can make use of enhanced gzip tool based on libdeflate compression library from https://github.com/ebiggers/libdeflate. It keeps 100% deflate/gzip compatibility while improving compression ratio. The image can be unpacked by the default inflate routines inside U-Boot. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> [Switched to v1.15 and made it work with cmake] Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> Reviewed-by: Robert Marko <robimarko@gmail.com> Reviewed-by: Rosen Penev <rosenp@gmail.com> Reviewed-by: Sander Vanheule <sander@svanheule.net>