]>
git.ipfire.org Git - thirdparty/zstd.git/log
Yann Collet [Sun, 9 Feb 2025 06:47:05 +0000 (22:47 -0800)]
--ultra automatically triggered with --long and --patch-from
the purpose of --ultra is to make the user explicitly opt-in
to generate very large window size (> 8 MB).
The agreement to generate very large window size is already implicit
when selecting --long or --patch-from.
Consequently, `--ultra ` is automatically enabled when `--long` or `--patch-from` is set.
Yann Collet [Thu, 6 Feb 2025 18:55:44 +0000 (10:55 -0800)]
Merge pull request #4284 from facebook/mesonNoexec
Add noexecstack flag for gcc/clang C and CPP in Meson
Yann Collet [Thu, 6 Feb 2025 04:12:56 +0000 (20:12 -0800)]
Merge pull request #4276 from facebook/fix_patchfrom_hc_speed
fix speed of --patch-from mode at high compression levels
Yann Collet [Thu, 6 Feb 2025 02:47:26 +0000 (18:47 -0800)]
Revert "pass dictionary loading method as parameter"
This reverts commit
821fc567f93a415e9fbe856271ccd452ee7acf07 .
Yann Collet [Sat, 1 Feb 2025 08:41:36 +0000 (00:41 -0800)]
better MT fluidity
--patch-from no longer blocked on first job dictionary loading
Yann Collet [Sat, 1 Feb 2025 08:55:52 +0000 (00:55 -0800)]
ensure cdict is properly reset to NULL
Yann Collet [Sat, 1 Feb 2025 04:57:21 +0000 (20:57 -0800)]
skips the need to create a temporary cdict for --patch-from
thus saving a bit of memory and a little bit of cpu time
Yann Collet [Sat, 1 Feb 2025 02:19:45 +0000 (18:19 -0800)]
reduced memory usage
by avoiding to duplicate in memory
a dictionary that was passed by reference.
Yann Collet [Fri, 31 Jan 2025 23:53:25 +0000 (15:53 -0800)]
always free .cdictLocal
Yann Collet [Fri, 31 Jan 2025 23:00:36 +0000 (15:00 -0800)]
update type naming convention
Yann Collet [Fri, 31 Jan 2025 02:05:58 +0000 (18:05 -0800)]
minor boundary change
improves compression ratio at low levels
Yann Collet [Thu, 30 Jan 2025 23:58:20 +0000 (15:58 -0800)]
fix speed of --patch-from at high compression mode
Yann Collet [Thu, 6 Feb 2025 01:42:54 +0000 (17:42 -0800)]
Merge pull request #4287 from facebook/warn_error
visual studio compilation tests: error out on warnings
Yann Collet [Thu, 6 Feb 2025 01:01:19 +0000 (17:01 -0800)]
fix minor conversion warnings
Yann Collet [Thu, 6 Feb 2025 00:48:19 +0000 (16:48 -0800)]
more %zu warnings fixes
Yann Collet [Thu, 6 Feb 2025 00:36:54 +0000 (16:36 -0800)]
fix more %zu warnings
Yann Collet [Thu, 6 Feb 2025 00:28:52 +0000 (16:28 -0800)]
fix minor printf argument limitation on older mingw
which do not support `%zu` fields
Yann Collet [Thu, 6 Feb 2025 00:13:58 +0000 (16:13 -0800)]
fix minor alignment warning
Yann Collet [Thu, 6 Feb 2025 00:11:54 +0000 (16:11 -0800)]
fix minor alignment warning
this is a prototype definition error:
`_mm_storeu_si128()` should accept a `void*` pointer,
since it explicitly states that it accepts unaligned addresses
yet requiring a `__m128i*` tells otherwise, and requires the compiler the enforce this alignment.
Yann Collet [Wed, 5 Feb 2025 23:46:44 +0000 (15:46 -0800)]
fix one minor alignment warning
seems like a prototype interface error:
input parameter should have been `const void*`,
since the documentation is explicit that input doesn't have to be aligned,
but `const __m256i*` makes the compiler enforce it.
Yann Collet [Wed, 5 Feb 2025 23:38:39 +0000 (15:38 -0800)]
make visual studio tests error out on warnings
Yann Collet [Wed, 5 Feb 2025 23:30:51 +0000 (15:30 -0800)]
Merge pull request #4286 from facebook/visual_clang_avx2
Fix Visual + ClangCL + AVX2 compilation
Yann Collet [Wed, 5 Feb 2025 21:48:24 +0000 (13:48 -0800)]
added __clang__ to compiler-specific alignment attribute
when clang is used within msvc, `__GNUC__` isn't defined,
so testing `__clang__` explicitly is required.
Yann Collet [Wed, 5 Feb 2025 21:25:14 +0000 (13:25 -0800)]
changed C11 keyword to _Alignas
so that it doesn't depend on #include
Yann Collet [Wed, 5 Feb 2025 20:06:14 +0000 (12:06 -0800)]
adding a Visual + ClangCL + AVX2 compilation test
Victor Zhang [Tue, 4 Feb 2025 23:20:39 +0000 (15:20 -0800)]
Add noexecstack flag for gcc/clang C and CPP in Meson
The `-Wl,-z,noexecstack` and `-Wa,--noexecstack` flags are already set for CMake, but not for Meson.
This brings the flags to the Meson build as well. Note that this maintains the discrepancy in behavior
between CMake and Meson when it comes to enabling ASM: on CMake, the ZSTD_HAS_NOEXECSTACK variable
is set and these flags added for GCC/Clang and MinGW. Then later, the ZSTD_HAS_NOEXECSTACK variable
is checked (along with some other conditions) to enable or disable ASM. However on Meson, this logic
is restricted to simply checking for GCC/Clang. This patch maintains this behavior; noexecstack is
dependent on GCC/Clang only.
Yann Collet [Fri, 31 Jan 2025 22:39:20 +0000 (14:39 -0800)]
Merge pull request #4265 from pps83/static-bmi2-check
Check `STATIC_BMI2` instead of `STATIC_BMI2 == 1`
Yann Collet [Fri, 31 Jan 2025 22:38:19 +0000 (14:38 -0800)]
Merge pull request #4271 from tsdgeos/removedupe
cmake: Remove duplicated line
Yann Collet [Fri, 31 Jan 2025 22:38:01 +0000 (14:38 -0800)]
Merge pull request #4278 from facebook/bench_x100
bench: better result alignment
Yann Collet [Fri, 31 Jan 2025 05:30:48 +0000 (21:30 -0800)]
bench: better result alignment
when displaying ratios > x100
Yann Collet [Thu, 30 Jan 2025 19:11:51 +0000 (11:11 -0800)]
Merge pull request #4264 from pps83/dev-static-bmi2
Move STATIC_BMI2 define to portability_macros.h
Albert Astals Cid [Mon, 27 Jan 2025 23:22:35 +0000 (00:22 +0100)]
cmake: Remove duplicated line
Yann Collet [Mon, 27 Jan 2025 19:58:22 +0000 (11:58 -0800)]
Merge pull request #4269 from luau-project/fix-rc-include
fix: quote include directory for resource compiler
luau-project [Mon, 27 Jan 2025 18:18:55 +0000 (15:18 -0300)]
fix: quote include directory for resource compiler
Yann Collet [Mon, 27 Jan 2025 17:44:53 +0000 (09:44 -0800)]
Merge pull request #4260 from gcabiddu/compress_sequences_kernel
[linux] Expose ZSTD_compressSequences*() in the kernel
Giovanni Cabiddu [Tue, 21 Jan 2025 18:52:46 +0000 (18:52 +0000)]
[linux] Expose ZSTD_compressSequencesAndLiterals() in the kernel
Make the function ZSTD_compressSequencesAndLiterals() available in kernel
space. This will be used by Intel QAT driver.
Additionally, (1) expose the function ZSTD_CCtx_setParameter(), which is
required to set parameters before calling ZSTD_compressSequencesAndLiterals(),
(2) update the build process to include `compress/zstd_preSplit.o` and
(3) replace `asm/unaligned.h` with `linux/unaligned.h`.
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
luau-project [Sun, 26 Jan 2025 19:50:39 +0000 (16:50 -0300)]
CI: build with CMake on source directory with spaces to reproduce #4268
Yann Collet [Mon, 27 Jan 2025 06:55:46 +0000 (22:55 -0800)]
Merge pull request #4266 from pps83/rm-ZSTD_decompressSequences_t
Remove unused ZSTD_decompressSequences_t typedef
Pavel P [Thu, 23 Jan 2025 23:26:13 +0000 (01:26 +0200)]
fix formatting
Pavel P [Thu, 23 Jan 2025 23:25:07 +0000 (01:25 +0200)]
Check `STATIC_BMI2` instead of `STATIC_BMI2 == 1`
Pavel P [Thu, 23 Jan 2025 22:09:44 +0000 (00:09 +0200)]
Reorder __BMI2__ check
+ if `__BMI2__` defined, then set STATIC_BMI2 for all compilers
+ use `defined(_MSC_VER) && defined(__AVX2__)` as fallback for ms compiler
Pavel P [Thu, 23 Jan 2025 22:06:13 +0000 (00:06 +0200)]
Update comment for STATIC_BMI2 macro
Pavel P [Thu, 23 Jan 2025 22:05:03 +0000 (00:05 +0200)]
Move STATIC_BMI2 block as-is to portability_macros.h
Pavel P [Fri, 24 Jan 2025 00:13:20 +0000 (02:13 +0200)]
Remove unused ZSTD_decompressSequences_t typedef
Yann Collet [Thu, 23 Jan 2025 23:53:17 +0000 (15:53 -0800)]
Merge pull request #4263 from pps83/dev-dyn-bmi2
Check `DYNAMIC_BMI2` instead of `DYNAMIC_BMI2 != 0`
Pavel P [Thu, 23 Jan 2025 21:58:50 +0000 (23:58 +0200)]
Check `DYNAMIC_BMI2` instead of `DYNAMIC_BMI2 != 0`
`#if DYNAMIC_BMI2` is consistent with the rest of the code.
+ use spaces instead of tabs
Yann Collet [Thu, 23 Jan 2025 20:50:27 +0000 (12:50 -0800)]
Merge pull request #4257 from pps83/dev-x64test
Use _M_X64 only without mixing with _M_AMD64
Yann Collet [Wed, 22 Jan 2025 23:09:35 +0000 (15:09 -0800)]
Merge pull request #4258 from pps83/dev-ZSTD_ALIGNED
Implement ZSTD_ALIGNED for ms compiler
Yann Collet [Wed, 22 Jan 2025 23:09:11 +0000 (15:09 -0800)]
Merge pull request #4259 from Treata11/dev
Add support for Apple framework builds
Treata11 [Wed, 22 Jan 2025 19:24:03 +0000 (22:54 +0330)]
Instructions for Apple Framework builds
Treata11 [Wed, 22 Jan 2025 19:23:41 +0000 (22:53 +0330)]
Build: Revert min version to 3.10
Treata11 [Tue, 21 Jan 2025 17:36:54 +0000 (21:06 +0330)]
Ignore generated framework artifacts
Signed-off-by: Treata11 <treata11@yahoo.com>
Treata11 [Tue, 21 Jan 2025 17:28:27 +0000 (20:58 +0330)]
Build: Add support for Apple frameworks
Signed-off-by: Treata11 <treata11@yahoo.com>
Pavel P [Tue, 21 Jan 2025 00:33:25 +0000 (02:33 +0200)]
Implement ZSTD_ALIGNED for ms compiler
Pavel P [Tue, 21 Jan 2025 00:27:09 +0000 (02:27 +0200)]
Use _M_X64 only without mixing with _M_AMD64
Yann Collet [Mon, 20 Jan 2025 07:18:33 +0000 (23:18 -0800)]
Merge pull request #4255 from facebook/dependabot/github_actions/github/codeql-action-3.28.1
Bump github/codeql-action from 3.27.1 to 3.28.1
Yann Collet [Mon, 20 Jan 2025 07:16:18 +0000 (23:16 -0800)]
Merge pull request #4254 from facebook/dependabot/github_actions/cygwin/cygwin-install-action-5
Bump cygwin/cygwin-install-action from 4 to 5
Yann Collet [Mon, 20 Jan 2025 07:14:59 +0000 (23:14 -0800)]
Update dev-short-tests.yml
specify cygwin action version
dependabot[bot] [Mon, 20 Jan 2025 05:47:03 +0000 (05:47 +0000)]
Bump github/codeql-action from 3.27.1 to 3.28.1
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.1 to 3.28.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/
4f3212b61783c3c68e8309a0f18a699764811cda ...
b6a472f63d85b9c78a3ac5e89422239fc15e9b3c )
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Mon, 20 Jan 2025 05:46:57 +0000 (05:46 +0000)]
Bump cygwin/cygwin-install-action from 4 to 5
Bumps [cygwin/cygwin-install-action](https://github.com/cygwin/cygwin-install-action) from 4 to 5.
- [Release notes](https://github.com/cygwin/cygwin-install-action/releases)
- [Commits](https://github.com/cygwin/cygwin-install-action/compare/
006ad0b0946ca6d0a3ea2d4437677fa767392401 ...
f61179d72284ceddc397ed07ddb444d82bf9e559 )
---
updated-dependencies:
- dependency-name: cygwin/cygwin-install-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Yann Collet [Mon, 20 Jan 2025 02:35:36 +0000 (18:35 -0800)]
Merge pull request #4253 from facebook/BitContainerType
minor: use BitContainerType when appropriate
Yann Collet [Mon, 20 Jan 2025 02:30:29 +0000 (18:30 -0800)]
Merge pull request #4252 from facebook/x32_dynamicBmi2
enable DYNAMIC_BMI2 by default on x86 (32-bit mode)
Yann Collet [Sun, 19 Jan 2025 17:32:01 +0000 (09:32 -0800)]
minor: generalize BitContainerType
technically equivalent to `size_t`,
but it's the proper type for underlying register representation.
This makes it possible to control register type, and therefore size, independently from `size_t`,
which can be useful on systems where `size_t` is 32-bit, while the architecture supports 64-bit registers.
Yann Collet [Sun, 19 Jan 2025 15:39:17 +0000 (07:39 -0800)]
enable DYNAMIC_BMI2 by default on x86 (32-bit mode)
so far was only enabled for x64 (64-bit mode)
Yann Collet [Sun, 19 Jan 2025 15:37:57 +0000 (07:37 -0800)]
Merge pull request #4251 from facebook/x32_bmi2
BMI2 detection in 32-bit mode
Yann Collet [Sun, 19 Jan 2025 08:08:57 +0000 (00:08 -0800)]
no longer limit automated BMI2 detection to x64
this was previously no triggered in x86 32-bit mode,
due to a limitation in `bitstream.h`, that was fixed in #4248.
Now, `bmi2` will be automatically detected and triggered
at compilation time, if the corresponding instruction set is enabled,
even in 32-bit mode.
Also: updated library documentation, to feature STATIC_BMI2 build variable
Yann Collet [Sun, 19 Jan 2025 07:54:51 +0000 (23:54 -0800)]
Merge pull request #4250 from facebook/x86_32_avx2
added a CI test for x86 32-bit + avx2 combination
Yann Collet [Sun, 19 Jan 2025 06:58:03 +0000 (22:58 -0800)]
also add `-mbmi2` to the compilation test
Yann Collet [Sun, 19 Jan 2025 06:48:49 +0000 (22:48 -0800)]
minor: cosmetic, indentation
Yann Collet [Sun, 19 Jan 2025 06:40:18 +0000 (22:40 -0800)]
added -DSTATIC_BMI2=1 for the -mavx2 test
Yann Collet [Sun, 19 Jan 2025 04:43:30 +0000 (20:43 -0800)]
fixed minor static function declaration issue
in AVX2 mode only
Yann Collet [Sun, 19 Jan 2025 04:38:48 +0000 (20:38 -0800)]
added avx2 (x64) compilation test
Yann Collet [Sun, 19 Jan 2025 04:19:55 +0000 (20:19 -0800)]
added a CI test for x86 32-bit + avx2 combination
which is expected to be quite rare, but nonetheless possible.
This test is initially expected to fail, before integration of #4248 fix
Yann Collet [Sun, 19 Jan 2025 06:48:24 +0000 (22:48 -0800)]
Merge pull request #4248 from pps83/dev-bzhi32
Use _bzhi_u32 for 32-bit builds when building with STATIC_BMI2
Yann Collet [Sun, 19 Jan 2025 04:03:16 +0000 (20:03 -0800)]
Merge pull request #4246 from pps83/dev-asmx64-win
[asm] Enable x86_64 asm for windows builds
Yann Collet [Sun, 19 Jan 2025 02:56:46 +0000 (18:56 -0800)]
Merge pull request #4249 from facebook/zds_nonnull
minor: assert that state is not null
Pavel P [Sun, 19 Jan 2025 00:37:35 +0000 (02:37 +0200)]
update sizeof check
Pavel P [Sun, 19 Jan 2025 00:36:00 +0000 (02:36 +0200)]
remove unrelated changes
Pavel P [Sun, 19 Jan 2025 00:34:23 +0000 (02:34 +0200)]
change to BitContainerType
Pavel P [Sat, 18 Jan 2025 21:37:50 +0000 (23:37 +0200)]
handle 32bit size_t when building for x64
Pavel P [Sat, 18 Jan 2025 21:27:19 +0000 (23:27 +0200)]
handle 32bit size_t when building for x64
Yann Collet [Sat, 18 Jan 2025 21:08:04 +0000 (13:08 -0800)]
minor: assert that state is not null
replaces #4016
Yann Collet [Sat, 18 Jan 2025 21:06:07 +0000 (13:06 -0800)]
Merge pull request #4247 from facebook/test_endMsg
Added a human-readable final success message at end of tests
Yann Collet [Sat, 18 Jan 2025 20:22:52 +0000 (12:22 -0800)]
CI: replaced shortest target by check
Pavel P [Sat, 18 Jan 2025 19:32:30 +0000 (21:32 +0200)]
Use _bzhi_u32 for 32-bit builds when building with STATIC_BMI2
`_bzhi_u64` is available only for 64-bit builds, while `BIT_getLowerBits` expects `nbBits` to be less than `BIT_MASK_SIZE` (`BIT_MASK_SIZE` is 32)
Pavel P [Sat, 18 Jan 2025 03:01:43 +0000 (05:01 +0200)]
[asm] Enable x86_64 asm for windows builds
Yann Collet [Sat, 18 Jan 2025 03:30:55 +0000 (19:30 -0800)]
Added a final success message at end of tests
so that a human reading the test log can determine everything was fine without consulting the shell error code.
Also: made `make check` slightly shorter by moving one longer test to `make test`
Yann Collet [Thu, 16 Jan 2025 18:33:18 +0000 (10:33 -0800)]
Merge pull request #4242 from lalakii/dev
add prerelease option
Yann Collet [Thu, 16 Jan 2025 18:33:04 +0000 (10:33 -0800)]
Merge pull request #4235 from facebook/bench_nbThreads
benchmark mode specifies nb of threads with -v
Yann Collet [Thu, 16 Jan 2025 01:56:41 +0000 (17:56 -0800)]
Merge pull request #4238 from szsam/patch-1
fix out-of-bounds array index access
Yann Collet [Thu, 16 Jan 2025 01:56:05 +0000 (17:56 -0800)]
Merge pull request #4232 from facebook/convertSequences_SSE
Improve speed of ZSTD_compressSequencesAndLiterals() using AVX2
Yann Collet [Tue, 14 Jan 2025 23:57:05 +0000 (15:57 -0800)]
restore full equation
do not solve the equation, even though some members cancel each other,
this is done for clarity,
we'll let the compiler do the resolution at compile time.
Yann Collet [Tue, 14 Jan 2025 23:54:10 +0000 (15:54 -0800)]
Alignment instruction ZSTD_ALIGNED() in common/compiler.h
Yann Collet [Tue, 14 Jan 2025 22:56:10 +0000 (14:56 -0800)]
changed code compilation test to employ ZSTD_ARCH_X86_AVX2
Yann Collet [Tue, 14 Jan 2025 22:54:02 +0000 (14:54 -0800)]
removed unused branch
Yann Collet [Tue, 14 Jan 2025 22:44:02 +0000 (14:44 -0800)]
create new compilation macro ZSTD_ARCH_X86_AVX2
Yann Collet [Wed, 8 Jan 2025 22:25:03 +0000 (14:25 -0800)]
minor code doc update
Yann Collet [Wed, 8 Jan 2025 18:51:57 +0000 (10:51 -0800)]
added compilation-time checks to ensure AVX2 code is valid
since it depends on a specific definition of ZSTD_Sequence structure.
Yann Collet [Wed, 8 Jan 2025 07:59:01 +0000 (23:59 -0800)]
removed unused variable
Yann Collet [Wed, 8 Jan 2025 07:45:15 +0000 (23:45 -0800)]
fix minor conversion warning