]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Do not vary row matchfinder selection based on availability of SSE2/Neon 4230/head
authorVictor Zhang <csv@meta.com>
Fri, 3 Jan 2025 17:35:18 +0000 (09:35 -0800)
committerVictor Zhang <csv@meta.com>
Fri, 3 Jan 2025 17:35:18 +0000 (09:35 -0800)
Move towards a stronger guarantee of reproducibility by removing this small difference for machines without SSE2/Neon.
The SIMD behavior is now the default for all platforms.

lib/compress/zstd_compress.c

index 52c54b4da1796fc3085052d31eaaf4653d89a9cb..04b6bb9f1113abb3561342d72587578ae546dccf 100644 (file)
@@ -237,19 +237,10 @@ static int ZSTD_rowMatchFinderUsed(const ZSTD_strategy strategy, const ZSTD_Para
 /* Returns row matchfinder usage given an initial mode and cParams */
 static ZSTD_ParamSwitch_e ZSTD_resolveRowMatchFinderMode(ZSTD_ParamSwitch_e mode,
                                                          const ZSTD_compressionParameters* const cParams) {
-#if defined(ZSTD_ARCH_X86_SSE2) || defined(ZSTD_ARCH_ARM_NEON)
-    int const kHasSIMD128 = 1;
-#else
-    int const kHasSIMD128 = 0;
-#endif
     if (mode != ZSTD_ps_auto) return mode; /* if requested enabled, but no SIMD, we still will use row matchfinder */
     mode = ZSTD_ps_disable;
     if (!ZSTD_rowMatchFinderSupported(cParams->strategy)) return mode;
-    if (kHasSIMD128) {
-        if (cParams->windowLog > 14) mode = ZSTD_ps_enable;
-    } else {
-        if (cParams->windowLog > 17) mode = ZSTD_ps_enable;
-    }
+    if (cParams->windowLog > 14) mode = ZSTD_ps_enable;
     return mode;
 }