Skip to content

Commit c094a68

Browse files
committed
Delete unused Huffman functions
Remove all Huffman functions that aren't used by zstd.
1 parent 860548c commit c094a68

15 files changed

+43
-560
lines changed

contrib/linux-kernel/Makefile

-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ libzstd:
3232
-DZSTD_LEGACY_SUPPORT=0 \
3333
-DZSTD_STATIC_LINKING_ONLY \
3434
-DFSE_STATIC_LINKING_ONLY \
35-
-DHUF_STATIC_LINKING_ONLY \
3635
-DXXH_STATIC_LINKING_ONLY \
3736
-D__GNUC__ \
3837
-D__linux__=1 \

lib/common/entropy_common.c

-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
#include "error_private.h" /* ERR_*, ERROR */
2020
#define FSE_STATIC_LINKING_ONLY /* FSE_MIN_TABLELOG */
2121
#include "fse.h"
22-
#define HUF_STATIC_LINKING_ONLY /* HUF_TABLELOG_ABSOLUTEMAX */
2322
#include "huf.h"
2423
#include "bits.h" /* ZSDT_highbit32, ZSTD_countTrailingZeros32 */
2524

lib/common/huf.h

+10-144
Original file line numberDiff line numberDiff line change
@@ -21,101 +21,22 @@ extern "C" {
2121

2222
/* *** Dependencies *** */
2323
#include "zstd_deps.h" /* size_t */
24-
25-
26-
/* *** library symbols visibility *** */
27-
/* Note : when linking with -fvisibility=hidden on gcc, or by default on Visual,
28-
* HUF symbols remain "private" (internal symbols for library only).
29-
* Set macro FSE_DLL_EXPORT to 1 if you want HUF symbols visible on DLL interface */
30-
#if defined(FSE_DLL_EXPORT) && (FSE_DLL_EXPORT==1) && defined(__GNUC__) && (__GNUC__ >= 4)
31-
# define HUF_PUBLIC_API __attribute__ ((visibility ("default")))
32-
#elif defined(FSE_DLL_EXPORT) && (FSE_DLL_EXPORT==1) /* Visual expected */
33-
# define HUF_PUBLIC_API __declspec(dllexport)
34-
#elif defined(FSE_DLL_IMPORT) && (FSE_DLL_IMPORT==1)
35-
# define HUF_PUBLIC_API __declspec(dllimport) /* not required, just to generate faster code (saves a function pointer load from IAT and an indirect jump) */
36-
#else
37-
# define HUF_PUBLIC_API
38-
#endif
39-
40-
41-
/* ========================== */
42-
/* *** simple functions *** */
43-
/* ========================== */
44-
45-
/** HUF_compress() :
46-
* Compress content from buffer 'src', of size 'srcSize', into buffer 'dst'.
47-
* 'dst' buffer must be already allocated.
48-
* Compression runs faster if `dstCapacity` >= HUF_compressBound(srcSize).
49-
* `srcSize` must be <= `HUF_BLOCKSIZE_MAX` == 128 KB.
50-
* @return : size of compressed data (<= `dstCapacity`).
51-
* Special values : if return == 0, srcData is not compressible => Nothing is stored within dst !!!
52-
* if HUF_isError(return), compression failed (more details using HUF_getErrorName())
53-
*/
54-
HUF_PUBLIC_API size_t HUF_compress(void* dst, size_t dstCapacity,
55-
const void* src, size_t srcSize);
56-
57-
/** HUF_decompress() :
58-
* Decompress HUF data from buffer 'cSrc', of size 'cSrcSize',
59-
* into already allocated buffer 'dst', of minimum size 'dstSize'.
60-
* `originalSize` : **must** be the ***exact*** size of original (uncompressed) data.
61-
* Note : in contrast with FSE, HUF_decompress can regenerate
62-
* RLE (cSrcSize==1) and uncompressed (cSrcSize==dstSize) data,
63-
* because it knows size to regenerate (originalSize).
64-
* @return : size of regenerated data (== originalSize),
65-
* or an error code, which can be tested using HUF_isError()
66-
*/
67-
HUF_PUBLIC_API size_t HUF_decompress(void* dst, size_t originalSize,
68-
const void* cSrc, size_t cSrcSize);
24+
#include "mem.h" /* U32 */
25+
#define FSE_STATIC_LINKING_ONLY
26+
#include "fse.h"
6927

7028

7129
/* *** Tool functions *** */
72-
#define HUF_BLOCKSIZE_MAX (128 * 1024) /**< maximum input size for a single block compressed with HUF_compress */
73-
HUF_PUBLIC_API size_t HUF_compressBound(size_t size); /**< maximum compressed size (worst case) */
30+
#define HUF_BLOCKSIZE_MAX (128 * 1024) /**< maximum input size for a single block compressed with HUF_compress */
31+
size_t HUF_compressBound(size_t size); /**< maximum compressed size (worst case) */
7432

7533
/* Error Management */
76-
HUF_PUBLIC_API unsigned HUF_isError(size_t code); /**< tells if a return value is an error code */
77-
HUF_PUBLIC_API const char* HUF_getErrorName(size_t code); /**< provides error code string (useful for debugging) */
78-
79-
80-
/* *** Advanced function *** */
34+
unsigned HUF_isError(size_t code); /**< tells if a return value is an error code */
35+
const char* HUF_getErrorName(size_t code); /**< provides error code string (useful for debugging) */
8136

82-
/** HUF_compress2() :
83-
* Same as HUF_compress(), but offers control over `maxSymbolValue` and `tableLog`.
84-
* `maxSymbolValue` must be <= HUF_SYMBOLVALUE_MAX .
85-
* `tableLog` must be `<= HUF_TABLELOG_MAX` . */
86-
HUF_PUBLIC_API size_t HUF_compress2 (void* dst, size_t dstCapacity,
87-
const void* src, size_t srcSize,
88-
unsigned maxSymbolValue, unsigned tableLog);
8937

90-
/** HUF_compress4X_wksp() :
91-
* Same as HUF_compress2(), but uses externally allocated @workSpace.
92-
* @workSpace's size, aka @wkspSize, must be >= HUF_WORKSPACE_SIZE
93-
* @srcSize must be >= 6
94-
*/
9538
#define HUF_WORKSPACE_SIZE ((8 << 10) + 512 /* sorting scratch space */)
9639
#define HUF_WORKSPACE_SIZE_U64 (HUF_WORKSPACE_SIZE / sizeof(U64))
97-
HUF_PUBLIC_API size_t HUF_compress4X_wksp (void* dst, size_t dstCapacity,
98-
const void* src, size_t srcSize,
99-
unsigned maxSymbolValue, unsigned tableLog,
100-
void* workSpace, size_t wkspSize);
101-
102-
#endif /* HUF_H_298734234 */
103-
104-
/* ******************************************************************
105-
* WARNING !!
106-
* The following section contains advanced and experimental definitions
107-
* which shall never be used in the context of a dynamic library,
108-
* because they are not guaranteed to remain stable in the future.
109-
* Only consider them in association with static linking.
110-
* *****************************************************************/
111-
#if defined(HUF_STATIC_LINKING_ONLY) && !defined(HUF_H_HUF_STATIC_LINKING_ONLY)
112-
#define HUF_H_HUF_STATIC_LINKING_ONLY
113-
114-
/* *** Dependencies *** */
115-
#include "mem.h" /* U32 */
116-
#define FSE_STATIC_LINKING_ONLY
117-
#include "fse.h"
118-
11940

12041
/* *** Constants *** */
12142
#define HUF_TABLELOG_MAX 12 /* max runtime value of tableLog (due to static allocation); can be modified up to HUF_TABLELOG_ABSOLUTEMAX */
@@ -156,20 +77,6 @@ typedef U32 HUF_DTable;
15677
/* ****************************************
15778
* Advanced decompression functions
15879
******************************************/
159-
size_t HUF_decompress4X1 (void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize); /**< single-symbol decoder */
160-
#ifndef HUF_FORCE_DECOMPRESS_X1
161-
size_t HUF_decompress4X2 (void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize); /**< double-symbols decoder */
162-
#endif
163-
164-
size_t HUF_decompress4X_DCtx (HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize); /**< decodes RLE and uncompressed */
165-
size_t HUF_decompress4X_hufOnly(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize); /**< considers RLE and uncompressed as errors */
166-
size_t HUF_decompress4X_hufOnly_wksp(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize, void* workSpace, size_t wkspSize); /**< considers RLE and uncompressed as errors */
167-
size_t HUF_decompress4X1_DCtx(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize); /**< single-symbol decoder */
168-
size_t HUF_decompress4X1_DCtx_wksp(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize, void* workSpace, size_t wkspSize); /**< single-symbol decoder */
169-
#ifndef HUF_FORCE_DECOMPRESS_X1
170-
size_t HUF_decompress4X2_DCtx(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize); /**< double-symbols decoder */
171-
size_t HUF_decompress4X2_DCtx_wksp(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize, void* workSpace, size_t wkspSize); /**< double-symbols decoder */
172-
#endif
17380

17481

17582
/* ****************************************
@@ -196,10 +103,8 @@ unsigned HUF_minTableLog(unsigned symbolCardinality);
196103
unsigned HUF_cardinality(const unsigned* count, unsigned maxSymbolValue);
197104
unsigned HUF_optimalTableLog(unsigned maxTableLog, size_t srcSize, unsigned maxSymbolValue, void* workSpace,
198105
size_t wkspSize, HUF_CElt* table, const unsigned* count, HUF_depth_mode depthMode); /* table is used as scratch space for building and testing tables, not a return value */
199-
size_t HUF_buildCTable (HUF_CElt* CTable, const unsigned* count, unsigned maxSymbolValue, unsigned maxNbBits); /* @return : maxNbBits; CTable and count can overlap. In which case, CTable will overwrite count content */
200106
size_t HUF_writeCTable (void* dst, size_t maxDstSize, const HUF_CElt* CTable, unsigned maxSymbolValue, unsigned huffLog);
201107
size_t HUF_writeCTable_wksp(void* dst, size_t maxDstSize, const HUF_CElt* CTable, unsigned maxSymbolValue, unsigned huffLog, void* workspace, size_t workspaceSize);
202-
size_t HUF_compress4X_usingCTable(void* dst, size_t dstSize, const void* src, size_t srcSize, const HUF_CElt* CTable);
203108
size_t HUF_compress4X_usingCTable_bmi2(void* dst, size_t dstSize, const void* src, size_t srcSize, const HUF_CElt* CTable, int bmi2);
204109
size_t HUF_estimateCompressedSize(const HUF_CElt* CTable, const unsigned* count, unsigned maxSymbolValue);
205110
int HUF_validateCTable(const HUF_CElt* CTable, const unsigned* count, unsigned maxSymbolValue);
@@ -291,31 +196,11 @@ U32 HUF_selectDecoder (size_t dstSize, size_t cSrcSize);
291196
#define HUF_DECOMPRESS_WORKSPACE_SIZE ((2 << 10) + (1 << 9))
292197
#define HUF_DECOMPRESS_WORKSPACE_SIZE_U32 (HUF_DECOMPRESS_WORKSPACE_SIZE / sizeof(U32))
293198

294-
#ifndef HUF_FORCE_DECOMPRESS_X2
295-
size_t HUF_readDTableX1 (HUF_DTable* DTable, const void* src, size_t srcSize);
296-
size_t HUF_readDTableX1_wksp (HUF_DTable* DTable, const void* src, size_t srcSize, void* workSpace, size_t wkspSize);
297-
#endif
298-
#ifndef HUF_FORCE_DECOMPRESS_X1
299-
size_t HUF_readDTableX2 (HUF_DTable* DTable, const void* src, size_t srcSize);
300-
size_t HUF_readDTableX2_wksp (HUF_DTable* DTable, const void* src, size_t srcSize, void* workSpace, size_t wkspSize);
301-
#endif
302-
303-
size_t HUF_decompress4X_usingDTable(void* dst, size_t maxDstSize, const void* cSrc, size_t cSrcSize, const HUF_DTable* DTable);
304-
#ifndef HUF_FORCE_DECOMPRESS_X2
305-
size_t HUF_decompress4X1_usingDTable(void* dst, size_t maxDstSize, const void* cSrc, size_t cSrcSize, const HUF_DTable* DTable);
306-
#endif
307-
#ifndef HUF_FORCE_DECOMPRESS_X1
308-
size_t HUF_decompress4X2_usingDTable(void* dst, size_t maxDstSize, const void* cSrc, size_t cSrcSize, const HUF_DTable* DTable);
309-
#endif
310-
311199

312200
/* ====================== */
313201
/* single stream variants */
314202
/* ====================== */
315203

316-
size_t HUF_compress1X (void* dst, size_t dstSize, const void* src, size_t srcSize, unsigned maxSymbolValue, unsigned tableLog);
317-
size_t HUF_compress1X_wksp (void* dst, size_t dstSize, const void* src, size_t srcSize, unsigned maxSymbolValue, unsigned tableLog, void* workSpace, size_t wkspSize); /**< `workSpace` must be a table of at least HUF_WORKSPACE_SIZE_U64 U64 */
318-
size_t HUF_compress1X_usingCTable(void* dst, size_t dstSize, const void* src, size_t srcSize, const HUF_CElt* CTable);
319204
size_t HUF_compress1X_usingCTable_bmi2(void* dst, size_t dstSize, const void* src, size_t srcSize, const HUF_CElt* CTable, int bmi2);
320205
/** HUF_compress1X_repeat() :
321206
* Same as HUF_compress1X_wksp(), but considers using hufTable if *repeat != HUF_repeat_none.
@@ -330,28 +215,9 @@ size_t HUF_compress1X_repeat(void* dst, size_t dstSize,
330215
HUF_CElt* hufTable, HUF_repeat* repeat, int preferRepeat, int bmi2,
331216
int suspectUncompressible, HUF_depth_mode depthMode);
332217

333-
size_t HUF_decompress1X1 (void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize); /* single-symbol decoder */
334-
#ifndef HUF_FORCE_DECOMPRESS_X1
335-
size_t HUF_decompress1X2 (void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize); /* double-symbol decoder */
336-
#endif
337-
338-
size_t HUF_decompress1X_DCtx (HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize);
339-
size_t HUF_decompress1X_DCtx_wksp (HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize, void* workSpace, size_t wkspSize);
340-
#ifndef HUF_FORCE_DECOMPRESS_X2
341-
size_t HUF_decompress1X1_DCtx(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize); /**< single-symbol decoder */
342-
size_t HUF_decompress1X1_DCtx_wksp(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize, void* workSpace, size_t wkspSize); /**< single-symbol decoder */
343-
#endif
344-
#ifndef HUF_FORCE_DECOMPRESS_X1
345-
size_t HUF_decompress1X2_DCtx(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize); /**< double-symbols decoder */
346-
size_t HUF_decompress1X2_DCtx_wksp(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize, void* workSpace, size_t wkspSize); /**< double-symbols decoder */
347-
#endif
348-
349-
size_t HUF_decompress1X_usingDTable(void* dst, size_t maxDstSize, const void* cSrc, size_t cSrcSize, const HUF_DTable* DTable); /**< automatic selection of sing or double symbol decoder, based on DTable */
350-
#ifndef HUF_FORCE_DECOMPRESS_X2
351-
size_t HUF_decompress1X1_usingDTable(void* dst, size_t maxDstSize, const void* cSrc, size_t cSrcSize, const HUF_DTable* DTable);
352-
#endif
218+
size_t HUF_decompress1X_DCtx_wksp_bmi2(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize, void* workSpace, size_t wkspSize, int bmi2);
353219
#ifndef HUF_FORCE_DECOMPRESS_X1
354-
size_t HUF_decompress1X2_usingDTable(void* dst, size_t maxDstSize, const void* cSrc, size_t cSrcSize, const HUF_DTable* DTable);
220+
size_t HUF_decompress1X2_DCtx_wksp_bmi2(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize, void* workSpace, size_t wkspSize, int bmi2); /**< double-symbols decoder */
355221
#endif
356222

357223
/* BMI2 variants.
@@ -370,7 +236,7 @@ size_t HUF_readDTableX1_wksp_bmi2(HUF_DTable* DTable, const void* src, size_t sr
370236
size_t HUF_readDTableX2_wksp_bmi2(HUF_DTable* DTable, const void* src, size_t srcSize, void* workSpace, size_t wkspSize, int bmi2);
371237
#endif
372238

373-
#endif /* HUF_STATIC_LINKING_ONLY */
239+
#endif /* HUF_H_298734234 */
374240

375241
#if defined (__cplusplus)
376242
}

lib/common/zstd_internal.h

-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
#include "../zstd.h"
2929
#define FSE_STATIC_LINKING_ONLY
3030
#include "fse.h"
31-
#define HUF_STATIC_LINKING_ONLY
3231
#include "huf.h"
3332
#ifndef XXH_STATIC_LINKING_ONLY
3433
# define XXH_STATIC_LINKING_ONLY /* XXH64_state_t */

lib/compress/huf_compress.c

-71
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
#include "hist.h"
3030
#define FSE_STATIC_LINKING_ONLY /* FSE_optimalTableLog_internal */
3131
#include "../common/fse.h" /* header compression */
32-
#define HUF_STATIC_LINKING_ONLY
3332
#include "../common/huf.h"
3433
#include "../common/error_private.h"
3534
#include "../common/bits.h" /* ZSTD_highbit32 */
@@ -1133,11 +1132,6 @@ HUF_compress1X_usingCTable_internal(void* dst, size_t dstSize,
11331132

11341133
#endif
11351134

1136-
size_t HUF_compress1X_usingCTable(void* dst, size_t dstSize, const void* src, size_t srcSize, const HUF_CElt* CTable)
1137-
{
1138-
return HUF_compress1X_usingCTable_bmi2(dst, dstSize, src, srcSize, CTable, /* bmi2 */ 0);
1139-
}
1140-
11411135
size_t HUF_compress1X_usingCTable_bmi2(void* dst, size_t dstSize, const void* src, size_t srcSize, const HUF_CElt* CTable, int bmi2)
11421136
{
11431137
return HUF_compress1X_usingCTable_internal(dst, dstSize, src, srcSize, CTable, bmi2);
@@ -1193,11 +1187,6 @@ HUF_compress4X_usingCTable_internal(void* dst, size_t dstSize,
11931187
return (size_t)(op-ostart);
11941188
}
11951189

1196-
size_t HUF_compress4X_usingCTable(void* dst, size_t dstSize, const void* src, size_t srcSize, const HUF_CElt* CTable)
1197-
{
1198-
return HUF_compress4X_usingCTable_bmi2(dst, dstSize, src, srcSize, CTable, /* bmi2 */ 0);
1199-
}
1200-
12011190
size_t HUF_compress4X_usingCTable_bmi2(void* dst, size_t dstSize, const void* src, size_t srcSize, const HUF_CElt* CTable, int bmi2)
12021191
{
12031192
return HUF_compress4X_usingCTable_internal(dst, dstSize, src, srcSize, CTable, bmi2);
@@ -1422,18 +1411,6 @@ HUF_compress_internal (void* dst, size_t dstSize,
14221411
nbStreams, table->CTable, bmi2);
14231412
}
14241413

1425-
1426-
size_t HUF_compress1X_wksp (void* dst, size_t dstSize,
1427-
const void* src, size_t srcSize,
1428-
unsigned maxSymbolValue, unsigned huffLog,
1429-
void* workSpace, size_t wkspSize)
1430-
{
1431-
return HUF_compress_internal(dst, dstSize, src, srcSize,
1432-
maxSymbolValue, huffLog, HUF_singleStream,
1433-
workSpace, wkspSize,
1434-
NULL, NULL, 0, 0 /*bmi2*/, 0, HUF_depth_fast);
1435-
}
1436-
14371414
size_t HUF_compress1X_repeat (void* dst, size_t dstSize,
14381415
const void* src, size_t srcSize,
14391416
unsigned maxSymbolValue, unsigned huffLog,
@@ -1448,21 +1425,6 @@ size_t HUF_compress1X_repeat (void* dst, size_t dstSize,
14481425
repeat, preferRepeat, bmi2, suspectUncompressible, depthMode);
14491426
}
14501427

1451-
/* HUF_compress4X_repeat():
1452-
* compress input using 4 streams.
1453-
* provide workspace to generate compression tables */
1454-
size_t HUF_compress4X_wksp (void* dst, size_t dstSize,
1455-
const void* src, size_t srcSize,
1456-
unsigned maxSymbolValue, unsigned huffLog,
1457-
void* workSpace, size_t wkspSize)
1458-
{
1459-
DEBUGLOG(5, "HUF_compress4X_wksp (srcSize = %zu)", srcSize);
1460-
return HUF_compress_internal(dst, dstSize, src, srcSize,
1461-
maxSymbolValue, huffLog, HUF_fourStreams,
1462-
workSpace, wkspSize,
1463-
NULL, NULL, 0, 0 /*bmi2*/, 0, HUF_depth_fast);
1464-
}
1465-
14661428
/* HUF_compress4X_repeat():
14671429
* compress input using 4 streams.
14681430
* consider skipping quickly
@@ -1480,36 +1442,3 @@ size_t HUF_compress4X_repeat (void* dst, size_t dstSize,
14801442
workSpace, wkspSize,
14811443
hufTable, repeat, preferRepeat, bmi2, suspectUncompressible, depthMode);
14821444
}
1483-
1484-
#ifndef ZSTD_NO_UNUSED_FUNCTIONS
1485-
/** HUF_buildCTable() :
1486-
* @return : maxNbBits
1487-
* Note : count is used before tree is written, so they can safely overlap
1488-
*/
1489-
size_t HUF_buildCTable (HUF_CElt* tree, const unsigned* count, unsigned maxSymbolValue, unsigned maxNbBits)
1490-
{
1491-
HUF_buildCTable_wksp_tables workspace;
1492-
return HUF_buildCTable_wksp(tree, count, maxSymbolValue, maxNbBits, &workspace, sizeof(workspace));
1493-
}
1494-
1495-
size_t HUF_compress1X (void* dst, size_t dstSize,
1496-
const void* src, size_t srcSize,
1497-
unsigned maxSymbolValue, unsigned huffLog)
1498-
{
1499-
U64 workSpace[HUF_WORKSPACE_SIZE_U64];
1500-
return HUF_compress1X_wksp(dst, dstSize, src, srcSize, maxSymbolValue, huffLog, workSpace, sizeof(workSpace));
1501-
}
1502-
1503-
size_t HUF_compress2 (void* dst, size_t dstSize,
1504-
const void* src, size_t srcSize,
1505-
unsigned maxSymbolValue, unsigned huffLog)
1506-
{
1507-
U64 workSpace[HUF_WORKSPACE_SIZE_U64];
1508-
return HUF_compress4X_wksp(dst, dstSize, src, srcSize, maxSymbolValue, huffLog, workSpace, sizeof(workSpace));
1509-
}
1510-
1511-
size_t HUF_compress (void* dst, size_t maxDstSize, const void* src, size_t srcSize)
1512-
{
1513-
return HUF_compress2(dst, maxDstSize, src, srcSize, 255, HUF_TABLELOG_DEFAULT);
1514-
}
1515-
#endif

lib/compress/zstd_compress.c

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include "hist.h" /* HIST_countFast_wksp */
1717
#define FSE_STATIC_LINKING_ONLY /* FSE_encodeSymbol */
1818
#include "../common/fse.h"
19-
#define HUF_STATIC_LINKING_ONLY
2019
#include "../common/huf.h"
2120
#include "zstd_compress_internal.h"
2221
#include "zstd_compress_sequences.h"

lib/compress/zstd_compress_superblock.c

+2-5
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,6 @@ ZSTD_compressSubBlock_literal(const HUF_CElt* hufTable,
5454
symbolEncodingType_e hType = writeEntropy ? hufMetadata->hType : set_repeat;
5555
size_t cLitSize = 0;
5656

57-
(void)bmi2; /* TODO bmi2... */
58-
5957
DEBUGLOG(5, "ZSTD_compressSubBlock_literal (litSize=%zu, lhSize=%zu, writeEntropy=%d)", litSize, lhSize, writeEntropy);
6058

6159
*entropyWritten = 0;
@@ -77,9 +75,8 @@ ZSTD_compressSubBlock_literal(const HUF_CElt* hufTable,
7775
DEBUGLOG(5, "ZSTD_compressSubBlock_literal (hSize=%zu)", hufMetadata->hufDesSize);
7876
}
7977

80-
/* TODO bmi2 */
81-
{ const size_t cSize = singleStream ? HUF_compress1X_usingCTable(op, oend-op, literals, litSize, hufTable)
82-
: HUF_compress4X_usingCTable(op, oend-op, literals, litSize, hufTable);
78+
{ const size_t cSize = singleStream ? HUF_compress1X_usingCTable_bmi2(op, oend-op, literals, litSize, hufTable, bmi2)
79+
: HUF_compress4X_usingCTable_bmi2(op, oend-op, literals, litSize, hufTable, bmi2);
8380
op += cSize;
8481
cLitSize += cSize;
8582
if (cSize == 0 || ERR_isError(cSize)) {

0 commit comments

Comments
 (0)