Coverage Report

Created: 2025-08-11 08:01

/src/zstd/lib/common/mem.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright (c) Meta Platforms, Inc. and affiliates.
3
 * All rights reserved.
4
 *
5
 * This source code is licensed under both the BSD-style license (found in the
6
 * LICENSE file in the root directory of this source tree) and the GPLv2 (found
7
 * in the COPYING file in the root directory of this source tree).
8
 * You may select, at your option, one of the above-listed licenses.
9
 */
10
11
#ifndef MEM_H_MODULE
12
#define MEM_H_MODULE
13
14
/*-****************************************
15
*  Dependencies
16
******************************************/
17
#include <stddef.h>  /* size_t, ptrdiff_t */
18
#include "compiler.h"  /* __has_builtin */
19
#include "debug.h"  /* DEBUG_STATIC_ASSERT */
20
#include "zstd_deps.h"  /* ZSTD_memcpy */
21
22
23
/*-****************************************
24
*  Compiler specifics
25
******************************************/
26
#if defined(_MSC_VER)   /* Visual Studio */
27
#   include <stdlib.h>  /* _byteswap_ulong */
28
#   include <intrin.h>  /* _byteswap_* */
29
#elif defined(__ICCARM__)
30
#   include <intrinsics.h>
31
#endif
32
33
/*-**************************************************************
34
*  Basic Types
35
*****************************************************************/
36
#if  !defined (__VMS) && (defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */) )
37
#  if defined(_AIX)
38
#    include <inttypes.h>
39
#  else
40
#    include <stdint.h> /* intptr_t */
41
#  endif
42
  typedef   uint8_t BYTE;
43
  typedef   uint8_t U8;
44
  typedef    int8_t S8;
45
  typedef  uint16_t U16;
46
  typedef   int16_t S16;
47
  typedef  uint32_t U32;
48
  typedef   int32_t S32;
49
  typedef  uint64_t U64;
50
  typedef   int64_t S64;
51
#else
52
# include <limits.h>
53
#if CHAR_BIT != 8
54
#  error "this implementation requires char to be exactly 8-bit type"
55
#endif
56
  typedef unsigned char      BYTE;
57
  typedef unsigned char      U8;
58
  typedef   signed char      S8;
59
#if USHRT_MAX != 65535
60
#  error "this implementation requires short to be exactly 16-bit type"
61
#endif
62
  typedef unsigned short      U16;
63
  typedef   signed short      S16;
64
#if UINT_MAX != 4294967295
65
#  error "this implementation requires int to be exactly 32-bit type"
66
#endif
67
  typedef unsigned int        U32;
68
  typedef   signed int        S32;
69
/* note : there are no limits defined for long long type in C90.
70
 * limits exist in C99, however, in such case, <stdint.h> is preferred */
71
  typedef unsigned long long  U64;
72
  typedef   signed long long  S64;
73
#endif
74
75
/*-**************************************************************
76
*  Memory I/O API
77
*****************************************************************/
78
/*=== Static platform detection ===*/
79
MEM_STATIC unsigned MEM_32bits(void);
80
MEM_STATIC unsigned MEM_64bits(void);
81
MEM_STATIC unsigned MEM_isLittleEndian(void);
82
83
/*=== Native unaligned read/write ===*/
84
MEM_STATIC U16 MEM_read16(const void* memPtr);
85
MEM_STATIC U32 MEM_read32(const void* memPtr);
86
MEM_STATIC U64 MEM_read64(const void* memPtr);
87
MEM_STATIC size_t MEM_readST(const void* memPtr);
88
89
MEM_STATIC void MEM_write16(void* memPtr, U16 value);
90
MEM_STATIC void MEM_write32(void* memPtr, U32 value);
91
MEM_STATIC void MEM_write64(void* memPtr, U64 value);
92
93
/*=== Little endian unaligned read/write ===*/
94
MEM_STATIC U16 MEM_readLE16(const void* memPtr);
95
MEM_STATIC U32 MEM_readLE24(const void* memPtr);
96
MEM_STATIC U32 MEM_readLE32(const void* memPtr);
97
MEM_STATIC U64 MEM_readLE64(const void* memPtr);
98
MEM_STATIC size_t MEM_readLEST(const void* memPtr);
99
100
MEM_STATIC void MEM_writeLE16(void* memPtr, U16 val);
101
MEM_STATIC void MEM_writeLE24(void* memPtr, U32 val);
102
MEM_STATIC void MEM_writeLE32(void* memPtr, U32 val32);
103
MEM_STATIC void MEM_writeLE64(void* memPtr, U64 val64);
104
MEM_STATIC void MEM_writeLEST(void* memPtr, size_t val);
105
106
/*=== Big endian unaligned read/write ===*/
107
MEM_STATIC U32 MEM_readBE32(const void* memPtr);
108
MEM_STATIC U64 MEM_readBE64(const void* memPtr);
109
MEM_STATIC size_t MEM_readBEST(const void* memPtr);
110
111
MEM_STATIC void MEM_writeBE32(void* memPtr, U32 val32);
112
MEM_STATIC void MEM_writeBE64(void* memPtr, U64 val64);
113
MEM_STATIC void MEM_writeBEST(void* memPtr, size_t val);
114
115
/*=== Byteswap ===*/
116
MEM_STATIC U32 MEM_swap32(U32 in);
117
MEM_STATIC U64 MEM_swap64(U64 in);
118
MEM_STATIC size_t MEM_swapST(size_t in);
119
120
121
/*-**************************************************************
122
*  Memory I/O Implementation
123
*****************************************************************/
124
/* MEM_FORCE_MEMORY_ACCESS : For accessing unaligned memory:
125
 * Method 0 : always use `memcpy()`. Safe and portable.
126
 * Method 1 : Use compiler extension to set unaligned access.
127
 * Method 2 : direct access. This method is portable but violate C standard.
128
 *            It can generate buggy code on targets depending on alignment.
129
 * Default  : method 1 if supported, else method 0
130
 */
131
#ifndef MEM_FORCE_MEMORY_ACCESS   /* can be defined externally, on command line for example */
132
#  ifdef __GNUC__
133
#    define MEM_FORCE_MEMORY_ACCESS 1
134
#  endif
135
#endif
136
137
210M
MEM_STATIC unsigned MEM_32bits(void) { return sizeof(size_t)==4; }
Unexecuted instantiation: zstd_common.c:MEM_32bits
zstd_compress.c:MEM_32bits
Line
Count
Source
137
31.3M
MEM_STATIC unsigned MEM_32bits(void) { return sizeof(size_t)==4; }
Unexecuted instantiation: zstd_compress_literals.c:MEM_32bits
zstd_compress_sequences.c:MEM_32bits
Line
Count
Source
137
156M
MEM_STATIC unsigned MEM_32bits(void) { return sizeof(size_t)==4; }
Unexecuted instantiation: zstd_compress_superblock.c:MEM_32bits
Unexecuted instantiation: zstd_double_fast.c:MEM_32bits
Unexecuted instantiation: zstd_fast.c:MEM_32bits
Unexecuted instantiation: zstd_lazy.c:MEM_32bits
Unexecuted instantiation: zstd_ldm.c:MEM_32bits
Unexecuted instantiation: zstd_opt.c:MEM_32bits
Unexecuted instantiation: zstd_preSplit.c:MEM_32bits
Unexecuted instantiation: zstdmt_compress.c:MEM_32bits
Unexecuted instantiation: zstd_decompress.c:MEM_32bits
zstd_decompress_block.c:MEM_32bits
Line
Count
Source
137
8.53M
MEM_STATIC unsigned MEM_32bits(void) { return sizeof(size_t)==4; }
zstd_v05.c:MEM_32bits
Line
Count
Source
137
172k
MEM_STATIC unsigned MEM_32bits(void) { return sizeof(size_t)==4; }
Unexecuted instantiation: entropy_common.c:MEM_32bits
fse_decompress.c:MEM_32bits
Line
Count
Source
137
18.5k
MEM_STATIC unsigned MEM_32bits(void) { return sizeof(size_t)==4; }
fse_compress.c:MEM_32bits
Line
Count
Source
137
1.29M
MEM_STATIC unsigned MEM_32bits(void) { return sizeof(size_t)==4; }
Unexecuted instantiation: hist.c:MEM_32bits
huf_compress.c:MEM_32bits
Line
Count
Source
137
12.3M
MEM_STATIC unsigned MEM_32bits(void) { return sizeof(size_t)==4; }
huf_decompress.c:MEM_32bits
Line
Count
Source
137
41.8k
MEM_STATIC unsigned MEM_32bits(void) { return sizeof(size_t)==4; }
Unexecuted instantiation: zstd_ddict.c:MEM_32bits
138
247M
MEM_STATIC unsigned MEM_64bits(void) { return sizeof(size_t)==8; }
Unexecuted instantiation: zstd_common.c:MEM_64bits
zstd_compress.c:MEM_64bits
Line
Count
Source
138
85.3k
MEM_STATIC unsigned MEM_64bits(void) { return sizeof(size_t)==8; }
Unexecuted instantiation: zstd_compress_literals.c:MEM_64bits
Unexecuted instantiation: zstd_compress_sequences.c:MEM_64bits
Unexecuted instantiation: zstd_compress_superblock.c:MEM_64bits
Unexecuted instantiation: zstd_double_fast.c:MEM_64bits
Unexecuted instantiation: zstd_fast.c:MEM_64bits
zstd_lazy.c:MEM_64bits
Line
Count
Source
138
245M
MEM_STATIC unsigned MEM_64bits(void) { return sizeof(size_t)==8; }
Unexecuted instantiation: zstd_ldm.c:MEM_64bits
Unexecuted instantiation: zstd_opt.c:MEM_64bits
Unexecuted instantiation: zstd_preSplit.c:MEM_64bits
Unexecuted instantiation: zstdmt_compress.c:MEM_64bits
Unexecuted instantiation: zstd_decompress.c:MEM_64bits
zstd_decompress_block.c:MEM_64bits
Line
Count
Source
138
1.85M
MEM_STATIC unsigned MEM_64bits(void) { return sizeof(size_t)==8; }
zstd_v05.c:MEM_64bits
Line
Count
Source
138
331k
MEM_STATIC unsigned MEM_64bits(void) { return sizeof(size_t)==8; }
Unexecuted instantiation: entropy_common.c:MEM_64bits
Unexecuted instantiation: fse_decompress.c:MEM_64bits
Unexecuted instantiation: fse_compress.c:MEM_64bits
Unexecuted instantiation: hist.c:MEM_64bits
Unexecuted instantiation: huf_compress.c:MEM_64bits
huf_decompress.c:MEM_64bits
Line
Count
Source
138
53.0k
MEM_STATIC unsigned MEM_64bits(void) { return sizeof(size_t)==8; }
Unexecuted instantiation: zstd_ddict.c:MEM_64bits
139
140
MEM_STATIC unsigned MEM_isLittleEndian(void)
141
892M
{
142
892M
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
892M
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
892M
}
Unexecuted instantiation: zstd_common.c:MEM_isLittleEndian
zstd_compress.c:MEM_isLittleEndian
Line
Count
Source
141
69.5k
{
142
69.5k
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
69.5k
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
69.5k
}
zstd_compress_literals.c:MEM_isLittleEndian
Line
Count
Source
141
22.6k
{
142
22.6k
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
22.6k
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
22.6k
}
zstd_compress_sequences.c:MEM_isLittleEndian
Line
Count
Source
141
31.5M
{
142
31.5M
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
31.5M
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
31.5M
}
Unexecuted instantiation: zstd_compress_superblock.c:MEM_isLittleEndian
Unexecuted instantiation: zstd_double_fast.c:MEM_isLittleEndian
Unexecuted instantiation: zstd_fast.c:MEM_isLittleEndian
zstd_lazy.c:MEM_isLittleEndian
Line
Count
Source
141
847M
{
142
847M
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
847M
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
847M
}
Unexecuted instantiation: zstd_ldm.c:MEM_isLittleEndian
Unexecuted instantiation: zstd_opt.c:MEM_isLittleEndian
Unexecuted instantiation: zstd_preSplit.c:MEM_isLittleEndian
Unexecuted instantiation: zstdmt_compress.c:MEM_isLittleEndian
zstd_decompress.c:MEM_isLittleEndian
Line
Count
Source
141
46.0k
{
142
46.0k
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
46.0k
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
46.0k
}
zstd_decompress_block.c:MEM_isLittleEndian
Line
Count
Source
141
94.5k
{
142
94.5k
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
94.5k
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
94.5k
}
zstd_v05.c:MEM_isLittleEndian
Line
Count
Source
141
227k
{
142
227k
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
227k
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
227k
}
entropy_common.c:MEM_isLittleEndian
Line
Count
Source
141
30.0k
{
142
30.0k
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
30.0k
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
30.0k
}
fse_decompress.c:MEM_isLittleEndian
Line
Count
Source
141
18.5k
{
142
18.5k
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
18.5k
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
18.5k
}
fse_compress.c:MEM_isLittleEndian
Line
Count
Source
141
1.29M
{
142
1.29M
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
1.29M
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
1.29M
}
Unexecuted instantiation: hist.c:MEM_isLittleEndian
huf_compress.c:MEM_isLittleEndian
Line
Count
Source
141
12.3M
{
142
12.3M
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
12.3M
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
12.3M
}
huf_decompress.c:MEM_isLittleEndian
Line
Count
Source
141
244k
{
142
244k
#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
143
244k
    return 1;
144
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
145
    return 0;
146
#elif defined(__clang__) && __LITTLE_ENDIAN__
147
    return 1;
148
#elif defined(__clang__) && __BIG_ENDIAN__
149
    return 0;
150
#elif defined(_MSC_VER) && (_M_X64 || _M_IX86)
151
    return 1;
152
#elif defined(__DMC__) && defined(_M_IX86)
153
    return 1;
154
#elif defined(__IAR_SYSTEMS_ICC__) && __LITTLE_ENDIAN__
155
    return 1;
156
#else
157
    const union { U32 u; BYTE c[4]; } one = { 1 };   /* don't use static : performance detrimental  */
158
    return one.c[0];
159
#endif
160
244k
}
Unexecuted instantiation: zstd_ddict.c:MEM_isLittleEndian
161
162
#if defined(MEM_FORCE_MEMORY_ACCESS) && (MEM_FORCE_MEMORY_ACCESS==2)
163
164
/* violates C standard, by lying on structure alignment.
165
Only use if no other choice to achieve best performance on target platform */
166
MEM_STATIC U16 MEM_read16(const void* memPtr) { return *(const U16*) memPtr; }
167
MEM_STATIC U32 MEM_read32(const void* memPtr) { return *(const U32*) memPtr; }
168
MEM_STATIC U64 MEM_read64(const void* memPtr) { return *(const U64*) memPtr; }
169
MEM_STATIC size_t MEM_readST(const void* memPtr) { return *(const size_t*) memPtr; }
170
171
MEM_STATIC void MEM_write16(void* memPtr, U16 value) { *(U16*)memPtr = value; }
172
MEM_STATIC void MEM_write32(void* memPtr, U32 value) { *(U32*)memPtr = value; }
173
MEM_STATIC void MEM_write64(void* memPtr, U64 value) { *(U64*)memPtr = value; }
174
175
#elif defined(MEM_FORCE_MEMORY_ACCESS) && (MEM_FORCE_MEMORY_ACCESS==1)
176
177
typedef __attribute__((aligned(1))) U16 unalign16;
178
typedef __attribute__((aligned(1))) U32 unalign32;
179
typedef __attribute__((aligned(1))) U64 unalign64;
180
typedef __attribute__((aligned(1))) size_t unalignArch;
181
182
592M
MEM_STATIC U16 MEM_read16(const void* ptr) { return *(const unalign16*)ptr; }
Unexecuted instantiation: zstd_common.c:MEM_read16
zstd_compress.c:MEM_read16
Line
Count
Source
182
1.59k
MEM_STATIC U16 MEM_read16(const void* ptr) { return *(const unalign16*)ptr; }
Unexecuted instantiation: zstd_compress_literals.c:MEM_read16
zstd_compress_sequences.c:MEM_read16
Line
Count
Source
182
257k
MEM_STATIC U16 MEM_read16(const void* ptr) { return *(const unalign16*)ptr; }
Unexecuted instantiation: zstd_compress_superblock.c:MEM_read16
Unexecuted instantiation: zstd_double_fast.c:MEM_read16
Unexecuted instantiation: zstd_fast.c:MEM_read16
zstd_lazy.c:MEM_read16
Line
Count
Source
182
142k
MEM_STATIC U16 MEM_read16(const void* ptr) { return *(const unalign16*)ptr; }
Unexecuted instantiation: zstd_ldm.c:MEM_read16
Unexecuted instantiation: zstd_opt.c:MEM_read16
zstd_preSplit.c:MEM_read16
Line
Count
Source
182
591M
MEM_STATIC U16 MEM_read16(const void* ptr) { return *(const unalign16*)ptr; }
Unexecuted instantiation: zstdmt_compress.c:MEM_read16
zstd_decompress.c:MEM_read16
Line
Count
Source
182
492
MEM_STATIC U16 MEM_read16(const void* ptr) { return *(const unalign16*)ptr; }
zstd_decompress_block.c:MEM_read16
Line
Count
Source
182
41.3k
MEM_STATIC U16 MEM_read16(const void* ptr) { return *(const unalign16*)ptr; }
zstd_v05.c:MEM_read16
Line
Count
Source
182
1.27k
MEM_STATIC U16 MEM_read16(const void* ptr) { return *(const unalign16*)ptr; }
Unexecuted instantiation: entropy_common.c:MEM_read16
Unexecuted instantiation: fse_decompress.c:MEM_read16
fse_compress.c:MEM_read16
Line
Count
Source
182
38.8k
MEM_STATIC U16 MEM_read16(const void* ptr) { return *(const unalign16*)ptr; }
Unexecuted instantiation: hist.c:MEM_read16
Unexecuted instantiation: huf_compress.c:MEM_read16
huf_decompress.c:MEM_read16
Line
Count
Source
182
3.96k
MEM_STATIC U16 MEM_read16(const void* ptr) { return *(const unalign16*)ptr; }
Unexecuted instantiation: zstd_ddict.c:MEM_read16
183
2.48G
MEM_STATIC U32 MEM_read32(const void* ptr) { return *(const unalign32*)ptr; }
Unexecuted instantiation: zstd_common.c:MEM_read32
zstd_compress.c:MEM_read32
Line
Count
Source
183
970
MEM_STATIC U32 MEM_read32(const void* ptr) { return *(const unalign32*)ptr; }
Unexecuted instantiation: zstd_compress_literals.c:MEM_read32
Unexecuted instantiation: zstd_compress_sequences.c:MEM_read32
Unexecuted instantiation: zstd_compress_superblock.c:MEM_read32
Unexecuted instantiation: zstd_double_fast.c:MEM_read32
Unexecuted instantiation: zstd_fast.c:MEM_read32
zstd_lazy.c:MEM_read32
Line
Count
Source
183
2.45G
MEM_STATIC U32 MEM_read32(const void* ptr) { return *(const unalign32*)ptr; }
Unexecuted instantiation: zstd_ldm.c:MEM_read32
Unexecuted instantiation: zstd_opt.c:MEM_read32
Unexecuted instantiation: zstd_preSplit.c:MEM_read32
Unexecuted instantiation: zstdmt_compress.c:MEM_read32
zstd_decompress.c:MEM_read32
Line
Count
Source
183
41.6k
MEM_STATIC U32 MEM_read32(const void* ptr) { return *(const unalign32*)ptr; }
zstd_decompress_block.c:MEM_read32
Line
Count
Source
183
1.25k
MEM_STATIC U32 MEM_read32(const void* ptr) { return *(const unalign32*)ptr; }
zstd_v05.c:MEM_read32
Line
Count
Source
183
32.9k
MEM_STATIC U32 MEM_read32(const void* ptr) { return *(const unalign32*)ptr; }
entropy_common.c:MEM_read32
Line
Count
Source
183
30.0k
MEM_STATIC U32 MEM_read32(const void* ptr) { return *(const unalign32*)ptr; }
Unexecuted instantiation: fse_decompress.c:MEM_read32
Unexecuted instantiation: fse_compress.c:MEM_read32
hist.c:MEM_read32
Line
Count
Source
183
33.4M
MEM_STATIC U32 MEM_read32(const void* ptr) { return *(const unalign32*)ptr; }
Unexecuted instantiation: huf_compress.c:MEM_read32
huf_decompress.c:MEM_read32
Line
Count
Source
183
51.9k
MEM_STATIC U32 MEM_read32(const void* ptr) { return *(const unalign32*)ptr; }
Unexecuted instantiation: zstd_ddict.c:MEM_read32
184
602M
MEM_STATIC U64 MEM_read64(const void* ptr) { return *(const unalign64*)ptr; }
Unexecuted instantiation: zstd_common.c:MEM_read64
Unexecuted instantiation: zstd_compress.c:MEM_read64
Unexecuted instantiation: zstd_compress_literals.c:MEM_read64
Unexecuted instantiation: zstd_compress_sequences.c:MEM_read64
Unexecuted instantiation: zstd_compress_superblock.c:MEM_read64
Unexecuted instantiation: zstd_double_fast.c:MEM_read64
Unexecuted instantiation: zstd_fast.c:MEM_read64
zstd_lazy.c:MEM_read64
Line
Count
Source
184
602M
MEM_STATIC U64 MEM_read64(const void* ptr) { return *(const unalign64*)ptr; }
Unexecuted instantiation: zstd_ldm.c:MEM_read64
Unexecuted instantiation: zstd_opt.c:MEM_read64
Unexecuted instantiation: zstd_preSplit.c:MEM_read64
Unexecuted instantiation: zstdmt_compress.c:MEM_read64
zstd_decompress.c:MEM_read64
Line
Count
Source
184
3.71k
MEM_STATIC U64 MEM_read64(const void* ptr) { return *(const unalign64*)ptr; }
zstd_decompress_block.c:MEM_read64
Line
Count
Source
184
51.8k
MEM_STATIC U64 MEM_read64(const void* ptr) { return *(const unalign64*)ptr; }
zstd_v05.c:MEM_read64
Line
Count
Source
184
136k
MEM_STATIC U64 MEM_read64(const void* ptr) { return *(const unalign64*)ptr; }
Unexecuted instantiation: entropy_common.c:MEM_read64
fse_decompress.c:MEM_read64
Line
Count
Source
184
18.5k
MEM_STATIC U64 MEM_read64(const void* ptr) { return *(const unalign64*)ptr; }
Unexecuted instantiation: fse_compress.c:MEM_read64
Unexecuted instantiation: hist.c:MEM_read64
Unexecuted instantiation: huf_compress.c:MEM_read64
huf_decompress.c:MEM_read64
Line
Count
Source
184
57.2k
MEM_STATIC U64 MEM_read64(const void* ptr) { return *(const unalign64*)ptr; }
Unexecuted instantiation: zstd_ddict.c:MEM_read64
185
4.54G
MEM_STATIC size_t MEM_readST(const void* ptr) { return *(const unalignArch*)ptr; }
Unexecuted instantiation: zstd_common.c:MEM_readST
zstd_compress.c:MEM_readST
Line
Count
Source
185
10.4M
MEM_STATIC size_t MEM_readST(const void* ptr) { return *(const unalignArch*)ptr; }
Unexecuted instantiation: zstd_compress_literals.c:MEM_readST
Unexecuted instantiation: zstd_compress_sequences.c:MEM_readST
Unexecuted instantiation: zstd_compress_superblock.c:MEM_readST
Unexecuted instantiation: zstd_double_fast.c:MEM_readST
Unexecuted instantiation: zstd_fast.c:MEM_readST
zstd_lazy.c:MEM_readST
Line
Count
Source
185
4.53G
MEM_STATIC size_t MEM_readST(const void* ptr) { return *(const unalignArch*)ptr; }
Unexecuted instantiation: zstd_ldm.c:MEM_readST
Unexecuted instantiation: zstd_opt.c:MEM_readST
Unexecuted instantiation: zstd_preSplit.c:MEM_readST
Unexecuted instantiation: zstdmt_compress.c:MEM_readST
Unexecuted instantiation: zstd_decompress.c:MEM_readST
Unexecuted instantiation: zstd_decompress_block.c:MEM_readST
Unexecuted instantiation: zstd_v05.c:MEM_readST
Unexecuted instantiation: entropy_common.c:MEM_readST
Unexecuted instantiation: fse_decompress.c:MEM_readST
Unexecuted instantiation: fse_compress.c:MEM_readST
Unexecuted instantiation: hist.c:MEM_readST
Unexecuted instantiation: huf_compress.c:MEM_readST
Unexecuted instantiation: huf_decompress.c:MEM_readST
Unexecuted instantiation: zstd_ddict.c:MEM_readST
186
187
218k
MEM_STATIC void MEM_write16(void* memPtr, U16 value) { *(unalign16*)memPtr = value; }
Unexecuted instantiation: zstd_common.c:MEM_write16
zstd_compress.c:MEM_write16
Line
Count
Source
187
53.1k
MEM_STATIC void MEM_write16(void* memPtr, U16 value) { *(unalign16*)memPtr = value; }
zstd_compress_literals.c:MEM_write16
Line
Count
Source
187
15.5k
MEM_STATIC void MEM_write16(void* memPtr, U16 value) { *(unalign16*)memPtr = value; }
Unexecuted instantiation: zstd_compress_sequences.c:MEM_write16
Unexecuted instantiation: zstd_compress_superblock.c:MEM_write16
Unexecuted instantiation: zstd_double_fast.c:MEM_write16
Unexecuted instantiation: zstd_fast.c:MEM_write16
Unexecuted instantiation: zstd_lazy.c:MEM_write16
Unexecuted instantiation: zstd_ldm.c:MEM_write16
Unexecuted instantiation: zstd_opt.c:MEM_write16
Unexecuted instantiation: zstd_preSplit.c:MEM_write16
Unexecuted instantiation: zstdmt_compress.c:MEM_write16
Unexecuted instantiation: zstd_decompress.c:MEM_write16
Unexecuted instantiation: zstd_decompress_block.c:MEM_write16
zstd_v05.c:MEM_write16
Line
Count
Source
187
56.8k
MEM_STATIC void MEM_write16(void* memPtr, U16 value) { *(unalign16*)memPtr = value; }
Unexecuted instantiation: entropy_common.c:MEM_write16
Unexecuted instantiation: fse_decompress.c:MEM_write16
Unexecuted instantiation: fse_compress.c:MEM_write16
Unexecuted instantiation: hist.c:MEM_write16
huf_compress.c:MEM_write16
Line
Count
Source
187
41.1k
MEM_STATIC void MEM_write16(void* memPtr, U16 value) { *(unalign16*)memPtr = value; }
huf_decompress.c:MEM_write16
Line
Count
Source
187
51.9k
MEM_STATIC void MEM_write16(void* memPtr, U16 value) { *(unalign16*)memPtr = value; }
Unexecuted instantiation: zstd_ddict.c:MEM_write16
188
22.4k
MEM_STATIC void MEM_write32(void* memPtr, U32 value) { *(unalign32*)memPtr = value; }
Unexecuted instantiation: zstd_common.c:MEM_write32
zstd_compress.c:MEM_write32
Line
Count
Source
188
15.1k
MEM_STATIC void MEM_write32(void* memPtr, U32 value) { *(unalign32*)memPtr = value; }
zstd_compress_literals.c:MEM_write32
Line
Count
Source
188
7.09k
MEM_STATIC void MEM_write32(void* memPtr, U32 value) { *(unalign32*)memPtr = value; }
Unexecuted instantiation: zstd_compress_sequences.c:MEM_write32
Unexecuted instantiation: zstd_compress_superblock.c:MEM_write32
Unexecuted instantiation: zstd_double_fast.c:MEM_write32
Unexecuted instantiation: zstd_fast.c:MEM_write32
Unexecuted instantiation: zstd_lazy.c:MEM_write32
Unexecuted instantiation: zstd_ldm.c:MEM_write32
Unexecuted instantiation: zstd_opt.c:MEM_write32
Unexecuted instantiation: zstd_preSplit.c:MEM_write32
Unexecuted instantiation: zstdmt_compress.c:MEM_write32
zstd_decompress.c:MEM_write32
Line
Count
Source
188
206
MEM_STATIC void MEM_write32(void* memPtr, U32 value) { *(unalign32*)memPtr = value; }
Unexecuted instantiation: zstd_decompress_block.c:MEM_write32
Unexecuted instantiation: zstd_v05.c:MEM_write32
Unexecuted instantiation: entropy_common.c:MEM_write32
Unexecuted instantiation: fse_decompress.c:MEM_write32
Unexecuted instantiation: fse_compress.c:MEM_write32
Unexecuted instantiation: hist.c:MEM_write32
Unexecuted instantiation: huf_compress.c:MEM_write32
Unexecuted instantiation: huf_decompress.c:MEM_write32
Unexecuted instantiation: zstd_ddict.c:MEM_write32
189
47.3M
MEM_STATIC void MEM_write64(void* memPtr, U64 value) { *(unalign64*)memPtr = value; }
Unexecuted instantiation: zstd_common.c:MEM_write64
Unexecuted instantiation: zstd_compress.c:MEM_write64
Unexecuted instantiation: zstd_compress_literals.c:MEM_write64
zstd_compress_sequences.c:MEM_write64
Line
Count
Source
189
31.5M
MEM_STATIC void MEM_write64(void* memPtr, U64 value) { *(unalign64*)memPtr = value; }
Unexecuted instantiation: zstd_compress_superblock.c:MEM_write64
Unexecuted instantiation: zstd_double_fast.c:MEM_write64
Unexecuted instantiation: zstd_fast.c:MEM_write64
Unexecuted instantiation: zstd_lazy.c:MEM_write64
Unexecuted instantiation: zstd_ldm.c:MEM_write64
Unexecuted instantiation: zstd_opt.c:MEM_write64
Unexecuted instantiation: zstd_preSplit.c:MEM_write64
Unexecuted instantiation: zstdmt_compress.c:MEM_write64
Unexecuted instantiation: zstd_decompress.c:MEM_write64
zstd_decompress_block.c:MEM_write64
Line
Count
Source
189
1.57k
MEM_STATIC void MEM_write64(void* memPtr, U64 value) { *(unalign64*)memPtr = value; }
Unexecuted instantiation: zstd_v05.c:MEM_write64
Unexecuted instantiation: entropy_common.c:MEM_write64
fse_decompress.c:MEM_write64
Line
Count
Source
189
992
MEM_STATIC void MEM_write64(void* memPtr, U64 value) { *(unalign64*)memPtr = value; }
fse_compress.c:MEM_write64
Line
Count
Source
189
3.20M
MEM_STATIC void MEM_write64(void* memPtr, U64 value) { *(unalign64*)memPtr = value; }
Unexecuted instantiation: hist.c:MEM_write64
huf_compress.c:MEM_write64
Line
Count
Source
189
12.3M
MEM_STATIC void MEM_write64(void* memPtr, U64 value) { *(unalign64*)memPtr = value; }
huf_decompress.c:MEM_write64
Line
Count
Source
189
229k
MEM_STATIC void MEM_write64(void* memPtr, U64 value) { *(unalign64*)memPtr = value; }
Unexecuted instantiation: zstd_ddict.c:MEM_write64
190
191
#else
192
193
/* default method, safe and standard.
194
   can sometimes prove slower */
195
196
MEM_STATIC U16 MEM_read16(const void* memPtr)
197
{
198
    U16 val; ZSTD_memcpy(&val, memPtr, sizeof(val)); return val;
199
}
200
201
MEM_STATIC U32 MEM_read32(const void* memPtr)
202
{
203
    U32 val; ZSTD_memcpy(&val, memPtr, sizeof(val)); return val;
204
}
205
206
MEM_STATIC U64 MEM_read64(const void* memPtr)
207
{
208
    U64 val; ZSTD_memcpy(&val, memPtr, sizeof(val)); return val;
209
}
210
211
MEM_STATIC size_t MEM_readST(const void* memPtr)
212
{
213
    size_t val; ZSTD_memcpy(&val, memPtr, sizeof(val)); return val;
214
}
215
216
MEM_STATIC void MEM_write16(void* memPtr, U16 value)
217
{
218
    ZSTD_memcpy(memPtr, &value, sizeof(value));
219
}
220
221
MEM_STATIC void MEM_write32(void* memPtr, U32 value)
222
{
223
    ZSTD_memcpy(memPtr, &value, sizeof(value));
224
}
225
226
MEM_STATIC void MEM_write64(void* memPtr, U64 value)
227
{
228
    ZSTD_memcpy(memPtr, &value, sizeof(value));
229
}
230
231
#endif /* MEM_FORCE_MEMORY_ACCESS */
232
233
MEM_STATIC U32 MEM_swap32_fallback(U32 in)
234
0
{
235
0
    return  ((in << 24) & 0xff000000 ) |
236
0
            ((in <<  8) & 0x00ff0000 ) |
237
0
            ((in >>  8) & 0x0000ff00 ) |
238
0
            ((in >> 24) & 0x000000ff );
239
0
}
Unexecuted instantiation: zstd_common.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_compress.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_compress_literals.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_compress_sequences.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_compress_superblock.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_double_fast.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_fast.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_lazy.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_ldm.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_opt.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_preSplit.c:MEM_swap32_fallback
Unexecuted instantiation: zstdmt_compress.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_decompress.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_decompress_block.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_v05.c:MEM_swap32_fallback
Unexecuted instantiation: entropy_common.c:MEM_swap32_fallback
Unexecuted instantiation: fse_decompress.c:MEM_swap32_fallback
Unexecuted instantiation: fse_compress.c:MEM_swap32_fallback
Unexecuted instantiation: hist.c:MEM_swap32_fallback
Unexecuted instantiation: huf_compress.c:MEM_swap32_fallback
Unexecuted instantiation: huf_decompress.c:MEM_swap32_fallback
Unexecuted instantiation: zstd_ddict.c:MEM_swap32_fallback
240
241
MEM_STATIC U32 MEM_swap32(U32 in)
242
0
{
243
#if defined(_MSC_VER)     /* Visual Studio */
244
    return _byteswap_ulong(in);
245
#elif (defined (__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 403)) \
246
  || (defined(__clang__) && __has_builtin(__builtin_bswap32))
247
    return __builtin_bswap32(in);
248
#elif defined(__ICCARM__)
249
    return __REV(in);
250
#else
251
    return MEM_swap32_fallback(in);
252
#endif
253
0
}
Unexecuted instantiation: zstd_common.c:MEM_swap32
Unexecuted instantiation: zstd_compress.c:MEM_swap32
Unexecuted instantiation: zstd_compress_literals.c:MEM_swap32
Unexecuted instantiation: zstd_compress_sequences.c:MEM_swap32
Unexecuted instantiation: zstd_compress_superblock.c:MEM_swap32
Unexecuted instantiation: zstd_double_fast.c:MEM_swap32
Unexecuted instantiation: zstd_fast.c:MEM_swap32
Unexecuted instantiation: zstd_lazy.c:MEM_swap32
Unexecuted instantiation: zstd_ldm.c:MEM_swap32
Unexecuted instantiation: zstd_opt.c:MEM_swap32
Unexecuted instantiation: zstd_preSplit.c:MEM_swap32
Unexecuted instantiation: zstdmt_compress.c:MEM_swap32
Unexecuted instantiation: zstd_decompress.c:MEM_swap32
Unexecuted instantiation: zstd_decompress_block.c:MEM_swap32
Unexecuted instantiation: zstd_v05.c:MEM_swap32
Unexecuted instantiation: entropy_common.c:MEM_swap32
Unexecuted instantiation: fse_decompress.c:MEM_swap32
Unexecuted instantiation: fse_compress.c:MEM_swap32
Unexecuted instantiation: hist.c:MEM_swap32
Unexecuted instantiation: huf_compress.c:MEM_swap32
Unexecuted instantiation: huf_decompress.c:MEM_swap32
Unexecuted instantiation: zstd_ddict.c:MEM_swap32
254
255
MEM_STATIC U64 MEM_swap64_fallback(U64 in)
256
0
{
257
0
     return  ((in << 56) & 0xff00000000000000ULL) |
258
0
            ((in << 40) & 0x00ff000000000000ULL) |
259
0
            ((in << 24) & 0x0000ff0000000000ULL) |
260
0
            ((in << 8)  & 0x000000ff00000000ULL) |
261
0
            ((in >> 8)  & 0x00000000ff000000ULL) |
262
0
            ((in >> 24) & 0x0000000000ff0000ULL) |
263
0
            ((in >> 40) & 0x000000000000ff00ULL) |
264
0
            ((in >> 56) & 0x00000000000000ffULL);
265
0
}
Unexecuted instantiation: zstd_common.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_compress.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_compress_literals.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_compress_sequences.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_compress_superblock.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_double_fast.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_fast.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_lazy.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_ldm.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_opt.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_preSplit.c:MEM_swap64_fallback
Unexecuted instantiation: zstdmt_compress.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_decompress.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_decompress_block.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_v05.c:MEM_swap64_fallback
Unexecuted instantiation: entropy_common.c:MEM_swap64_fallback
Unexecuted instantiation: fse_decompress.c:MEM_swap64_fallback
Unexecuted instantiation: fse_compress.c:MEM_swap64_fallback
Unexecuted instantiation: hist.c:MEM_swap64_fallback
Unexecuted instantiation: huf_compress.c:MEM_swap64_fallback
Unexecuted instantiation: huf_decompress.c:MEM_swap64_fallback
Unexecuted instantiation: zstd_ddict.c:MEM_swap64_fallback
266
267
MEM_STATIC U64 MEM_swap64(U64 in)
268
0
{
269
#if defined(_MSC_VER)     /* Visual Studio */
270
    return _byteswap_uint64(in);
271
#elif (defined (__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 403)) \
272
  || (defined(__clang__) && __has_builtin(__builtin_bswap64))
273
    return __builtin_bswap64(in);
274
#else
275
    return MEM_swap64_fallback(in);
276
#endif
277
0
}
Unexecuted instantiation: zstd_common.c:MEM_swap64
Unexecuted instantiation: zstd_compress.c:MEM_swap64
Unexecuted instantiation: zstd_compress_literals.c:MEM_swap64
Unexecuted instantiation: zstd_compress_sequences.c:MEM_swap64
Unexecuted instantiation: zstd_compress_superblock.c:MEM_swap64
Unexecuted instantiation: zstd_double_fast.c:MEM_swap64
Unexecuted instantiation: zstd_fast.c:MEM_swap64
Unexecuted instantiation: zstd_lazy.c:MEM_swap64
Unexecuted instantiation: zstd_ldm.c:MEM_swap64
Unexecuted instantiation: zstd_opt.c:MEM_swap64
Unexecuted instantiation: zstd_preSplit.c:MEM_swap64
Unexecuted instantiation: zstdmt_compress.c:MEM_swap64
Unexecuted instantiation: zstd_decompress.c:MEM_swap64
Unexecuted instantiation: zstd_decompress_block.c:MEM_swap64
Unexecuted instantiation: zstd_v05.c:MEM_swap64
Unexecuted instantiation: entropy_common.c:MEM_swap64
Unexecuted instantiation: fse_decompress.c:MEM_swap64
Unexecuted instantiation: fse_compress.c:MEM_swap64
Unexecuted instantiation: hist.c:MEM_swap64
Unexecuted instantiation: huf_compress.c:MEM_swap64
Unexecuted instantiation: huf_decompress.c:MEM_swap64
Unexecuted instantiation: zstd_ddict.c:MEM_swap64
278
279
MEM_STATIC size_t MEM_swapST(size_t in)
280
0
{
281
0
    if (MEM_32bits())
282
0
        return (size_t)MEM_swap32((U32)in);
283
0
    else
284
0
        return (size_t)MEM_swap64((U64)in);
285
0
}
Unexecuted instantiation: zstd_common.c:MEM_swapST
Unexecuted instantiation: zstd_compress.c:MEM_swapST
Unexecuted instantiation: zstd_compress_literals.c:MEM_swapST
Unexecuted instantiation: zstd_compress_sequences.c:MEM_swapST
Unexecuted instantiation: zstd_compress_superblock.c:MEM_swapST
Unexecuted instantiation: zstd_double_fast.c:MEM_swapST
Unexecuted instantiation: zstd_fast.c:MEM_swapST
Unexecuted instantiation: zstd_lazy.c:MEM_swapST
Unexecuted instantiation: zstd_ldm.c:MEM_swapST
Unexecuted instantiation: zstd_opt.c:MEM_swapST
Unexecuted instantiation: zstd_preSplit.c:MEM_swapST
Unexecuted instantiation: zstdmt_compress.c:MEM_swapST
Unexecuted instantiation: zstd_decompress.c:MEM_swapST
Unexecuted instantiation: zstd_decompress_block.c:MEM_swapST
Unexecuted instantiation: zstd_v05.c:MEM_swapST
Unexecuted instantiation: entropy_common.c:MEM_swapST
Unexecuted instantiation: fse_decompress.c:MEM_swapST
Unexecuted instantiation: fse_compress.c:MEM_swapST
Unexecuted instantiation: hist.c:MEM_swapST
Unexecuted instantiation: huf_compress.c:MEM_swapST
Unexecuted instantiation: huf_decompress.c:MEM_swapST
Unexecuted instantiation: zstd_ddict.c:MEM_swapST
286
287
/*=== Little endian r/w ===*/
288
289
MEM_STATIC U16 MEM_readLE16(const void* memPtr)
290
47.1k
{
291
47.1k
    if (MEM_isLittleEndian())
292
47.1k
        return MEM_read16(memPtr);
293
0
    else {
294
0
        const BYTE* p = (const BYTE*)memPtr;
295
0
        return (U16)(p[0] + (p[1]<<8));
296
0
    }
297
47.1k
}
Unexecuted instantiation: zstd_common.c:MEM_readLE16
Unexecuted instantiation: zstd_compress.c:MEM_readLE16
Unexecuted instantiation: zstd_compress_literals.c:MEM_readLE16
Unexecuted instantiation: zstd_compress_sequences.c:MEM_readLE16
Unexecuted instantiation: zstd_compress_superblock.c:MEM_readLE16
Unexecuted instantiation: zstd_double_fast.c:MEM_readLE16
Unexecuted instantiation: zstd_fast.c:MEM_readLE16
Unexecuted instantiation: zstd_lazy.c:MEM_readLE16
Unexecuted instantiation: zstd_ldm.c:MEM_readLE16
Unexecuted instantiation: zstd_opt.c:MEM_readLE16
Unexecuted instantiation: zstd_preSplit.c:MEM_readLE16
Unexecuted instantiation: zstdmt_compress.c:MEM_readLE16
zstd_decompress.c:MEM_readLE16
Line
Count
Source
290
492
{
291
492
    if (MEM_isLittleEndian())
292
492
        return MEM_read16(memPtr);
293
0
    else {
294
0
        const BYTE* p = (const BYTE*)memPtr;
295
0
        return (U16)(p[0] + (p[1]<<8));
296
0
    }
297
492
}
zstd_decompress_block.c:MEM_readLE16
Line
Count
Source
290
41.3k
{
291
41.3k
    if (MEM_isLittleEndian())
292
41.3k
        return MEM_read16(memPtr);
293
0
    else {
294
0
        const BYTE* p = (const BYTE*)memPtr;
295
0
        return (U16)(p[0] + (p[1]<<8));
296
0
    }
297
41.3k
}
zstd_v05.c:MEM_readLE16
Line
Count
Source
290
1.27k
{
291
1.27k
    if (MEM_isLittleEndian())
292
1.27k
        return MEM_read16(memPtr);
293
0
    else {
294
0
        const BYTE* p = (const BYTE*)memPtr;
295
0
        return (U16)(p[0] + (p[1]<<8));
296
0
    }
297
1.27k
}
Unexecuted instantiation: entropy_common.c:MEM_readLE16
Unexecuted instantiation: fse_decompress.c:MEM_readLE16
Unexecuted instantiation: fse_compress.c:MEM_readLE16
Unexecuted instantiation: hist.c:MEM_readLE16
Unexecuted instantiation: huf_compress.c:MEM_readLE16
huf_decompress.c:MEM_readLE16
Line
Count
Source
290
3.96k
{
291
3.96k
    if (MEM_isLittleEndian())
292
3.96k
        return MEM_read16(memPtr);
293
0
    else {
294
0
        const BYTE* p = (const BYTE*)memPtr;
295
0
        return (U16)(p[0] + (p[1]<<8));
296
0
    }
297
3.96k
}
Unexecuted instantiation: zstd_ddict.c:MEM_readLE16
298
299
MEM_STATIC void MEM_writeLE16(void* memPtr, U16 val)
300
166k
{
301
166k
    if (MEM_isLittleEndian()) {
302
166k
        MEM_write16(memPtr, val);
303
166k
    } else {
304
0
        BYTE* p = (BYTE*)memPtr;
305
0
        p[0] = (BYTE)val;
306
0
        p[1] = (BYTE)(val>>8);
307
0
    }
308
166k
}
Unexecuted instantiation: zstd_common.c:MEM_writeLE16
zstd_compress.c:MEM_writeLE16
Line
Count
Source
300
53.1k
{
301
53.1k
    if (MEM_isLittleEndian()) {
302
53.1k
        MEM_write16(memPtr, val);
303
53.1k
    } else {
304
0
        BYTE* p = (BYTE*)memPtr;
305
0
        p[0] = (BYTE)val;
306
0
        p[1] = (BYTE)(val>>8);
307
0
    }
308
53.1k
}
zstd_compress_literals.c:MEM_writeLE16
Line
Count
Source
300
15.5k
{
301
15.5k
    if (MEM_isLittleEndian()) {
302
15.5k
        MEM_write16(memPtr, val);
303
15.5k
    } else {
304
0
        BYTE* p = (BYTE*)memPtr;
305
0
        p[0] = (BYTE)val;
306
0
        p[1] = (BYTE)(val>>8);
307
0
    }
308
15.5k
}
Unexecuted instantiation: zstd_compress_sequences.c:MEM_writeLE16
Unexecuted instantiation: zstd_compress_superblock.c:MEM_writeLE16
Unexecuted instantiation: zstd_double_fast.c:MEM_writeLE16
Unexecuted instantiation: zstd_fast.c:MEM_writeLE16
Unexecuted instantiation: zstd_lazy.c:MEM_writeLE16
Unexecuted instantiation: zstd_ldm.c:MEM_writeLE16
Unexecuted instantiation: zstd_opt.c:MEM_writeLE16
Unexecuted instantiation: zstd_preSplit.c:MEM_writeLE16
Unexecuted instantiation: zstdmt_compress.c:MEM_writeLE16
Unexecuted instantiation: zstd_decompress.c:MEM_writeLE16
Unexecuted instantiation: zstd_decompress_block.c:MEM_writeLE16
zstd_v05.c:MEM_writeLE16
Line
Count
Source
300
56.8k
{
301
56.8k
    if (MEM_isLittleEndian()) {
302
56.8k
        MEM_write16(memPtr, val);
303
56.8k
    } else {
304
0
        BYTE* p = (BYTE*)memPtr;
305
0
        p[0] = (BYTE)val;
306
0
        p[1] = (BYTE)(val>>8);
307
0
    }
308
56.8k
}
Unexecuted instantiation: entropy_common.c:MEM_writeLE16
Unexecuted instantiation: fse_decompress.c:MEM_writeLE16
Unexecuted instantiation: fse_compress.c:MEM_writeLE16
Unexecuted instantiation: hist.c:MEM_writeLE16
huf_compress.c:MEM_writeLE16
Line
Count
Source
300
41.1k
{
301
41.1k
    if (MEM_isLittleEndian()) {
302
41.1k
        MEM_write16(memPtr, val);
303
41.1k
    } else {
304
0
        BYTE* p = (BYTE*)memPtr;
305
0
        p[0] = (BYTE)val;
306
0
        p[1] = (BYTE)(val>>8);
307
0
    }
308
41.1k
}
Unexecuted instantiation: huf_decompress.c:MEM_writeLE16
Unexecuted instantiation: zstd_ddict.c:MEM_writeLE16
309
310
MEM_STATIC U32 MEM_readLE24(const void* memPtr)
311
41.3k
{
312
41.3k
    return (U32)MEM_readLE16(memPtr) + ((U32)(((const BYTE*)memPtr)[2]) << 16);
313
41.3k
}
Unexecuted instantiation: zstd_common.c:MEM_readLE24
Unexecuted instantiation: zstd_compress.c:MEM_readLE24
Unexecuted instantiation: zstd_compress_literals.c:MEM_readLE24
Unexecuted instantiation: zstd_compress_sequences.c:MEM_readLE24
Unexecuted instantiation: zstd_compress_superblock.c:MEM_readLE24
Unexecuted instantiation: zstd_double_fast.c:MEM_readLE24
Unexecuted instantiation: zstd_fast.c:MEM_readLE24
Unexecuted instantiation: zstd_lazy.c:MEM_readLE24
Unexecuted instantiation: zstd_ldm.c:MEM_readLE24
Unexecuted instantiation: zstd_opt.c:MEM_readLE24
Unexecuted instantiation: zstd_preSplit.c:MEM_readLE24
Unexecuted instantiation: zstdmt_compress.c:MEM_readLE24
Unexecuted instantiation: zstd_decompress.c:MEM_readLE24
zstd_decompress_block.c:MEM_readLE24
Line
Count
Source
311
41.3k
{
312
41.3k
    return (U32)MEM_readLE16(memPtr) + ((U32)(((const BYTE*)memPtr)[2]) << 16);
313
41.3k
}
Unexecuted instantiation: zstd_v05.c:MEM_readLE24
Unexecuted instantiation: entropy_common.c:MEM_readLE24
Unexecuted instantiation: fse_decompress.c:MEM_readLE24
Unexecuted instantiation: fse_compress.c:MEM_readLE24
Unexecuted instantiation: hist.c:MEM_readLE24
Unexecuted instantiation: huf_compress.c:MEM_readLE24
Unexecuted instantiation: huf_decompress.c:MEM_readLE24
Unexecuted instantiation: zstd_ddict.c:MEM_readLE24
314
315
MEM_STATIC void MEM_writeLE24(void* memPtr, U32 val)
316
64.1k
{
317
64.1k
    MEM_writeLE16(memPtr, (U16)val);
318
64.1k
    ((BYTE*)memPtr)[2] = (BYTE)(val>>16);
319
64.1k
}
Unexecuted instantiation: zstd_common.c:MEM_writeLE24
zstd_compress.c:MEM_writeLE24
Line
Count
Source
316
53.1k
{
317
53.1k
    MEM_writeLE16(memPtr, (U16)val);
318
53.1k
    ((BYTE*)memPtr)[2] = (BYTE)(val>>16);
319
53.1k
}
zstd_compress_literals.c:MEM_writeLE24
Line
Count
Source
316
10.9k
{
317
10.9k
    MEM_writeLE16(memPtr, (U16)val);
318
10.9k
    ((BYTE*)memPtr)[2] = (BYTE)(val>>16);
319
10.9k
}
Unexecuted instantiation: zstd_compress_sequences.c:MEM_writeLE24
Unexecuted instantiation: zstd_compress_superblock.c:MEM_writeLE24
Unexecuted instantiation: zstd_double_fast.c:MEM_writeLE24
Unexecuted instantiation: zstd_fast.c:MEM_writeLE24
Unexecuted instantiation: zstd_lazy.c:MEM_writeLE24
Unexecuted instantiation: zstd_ldm.c:MEM_writeLE24
Unexecuted instantiation: zstd_opt.c:MEM_writeLE24
Unexecuted instantiation: zstd_preSplit.c:MEM_writeLE24
Unexecuted instantiation: zstdmt_compress.c:MEM_writeLE24
Unexecuted instantiation: zstd_decompress.c:MEM_writeLE24
Unexecuted instantiation: zstd_decompress_block.c:MEM_writeLE24
Unexecuted instantiation: zstd_v05.c:MEM_writeLE24
Unexecuted instantiation: entropy_common.c:MEM_writeLE24
Unexecuted instantiation: fse_decompress.c:MEM_writeLE24
Unexecuted instantiation: fse_compress.c:MEM_writeLE24
Unexecuted instantiation: hist.c:MEM_writeLE24
Unexecuted instantiation: huf_compress.c:MEM_writeLE24
Unexecuted instantiation: huf_decompress.c:MEM_writeLE24
Unexecuted instantiation: zstd_ddict.c:MEM_writeLE24
320
321
MEM_STATIC U32 MEM_readLE32(const void* memPtr)
322
157k
{
323
157k
    if (MEM_isLittleEndian())
324
157k
        return MEM_read32(memPtr);
325
0
    else
326
0
        return MEM_swap32(MEM_read32(memPtr));
327
157k
}
Unexecuted instantiation: zstd_common.c:MEM_readLE32
Unexecuted instantiation: zstd_compress.c:MEM_readLE32
Unexecuted instantiation: zstd_compress_literals.c:MEM_readLE32
Unexecuted instantiation: zstd_compress_sequences.c:MEM_readLE32
Unexecuted instantiation: zstd_compress_superblock.c:MEM_readLE32
Unexecuted instantiation: zstd_double_fast.c:MEM_readLE32
Unexecuted instantiation: zstd_fast.c:MEM_readLE32
Unexecuted instantiation: zstd_lazy.c:MEM_readLE32
Unexecuted instantiation: zstd_ldm.c:MEM_readLE32
Unexecuted instantiation: zstd_opt.c:MEM_readLE32
Unexecuted instantiation: zstd_preSplit.c:MEM_readLE32
Unexecuted instantiation: zstdmt_compress.c:MEM_readLE32
zstd_decompress.c:MEM_readLE32
Line
Count
Source
322
41.6k
{
323
41.6k
    if (MEM_isLittleEndian())
324
41.6k
        return MEM_read32(memPtr);
325
0
    else
326
0
        return MEM_swap32(MEM_read32(memPtr));
327
41.6k
}
zstd_decompress_block.c:MEM_readLE32
Line
Count
Source
322
1.25k
{
323
1.25k
    if (MEM_isLittleEndian())
324
1.25k
        return MEM_read32(memPtr);
325
0
    else
326
0
        return MEM_swap32(MEM_read32(memPtr));
327
1.25k
}
zstd_v05.c:MEM_readLE32
Line
Count
Source
322
32.9k
{
323
32.9k
    if (MEM_isLittleEndian())
324
32.9k
        return MEM_read32(memPtr);
325
0
    else
326
0
        return MEM_swap32(MEM_read32(memPtr));
327
32.9k
}
entropy_common.c:MEM_readLE32
Line
Count
Source
322
30.0k
{
323
30.0k
    if (MEM_isLittleEndian())
324
30.0k
        return MEM_read32(memPtr);
325
0
    else
326
0
        return MEM_swap32(MEM_read32(memPtr));
327
30.0k
}
Unexecuted instantiation: fse_decompress.c:MEM_readLE32
Unexecuted instantiation: fse_compress.c:MEM_readLE32
Unexecuted instantiation: hist.c:MEM_readLE32
Unexecuted instantiation: huf_compress.c:MEM_readLE32
huf_decompress.c:MEM_readLE32
Line
Count
Source
322
51.9k
{
323
51.9k
    if (MEM_isLittleEndian())
324
51.9k
        return MEM_read32(memPtr);
325
0
    else
326
0
        return MEM_swap32(MEM_read32(memPtr));
327
51.9k
}
Unexecuted instantiation: zstd_ddict.c:MEM_readLE32
328
329
MEM_STATIC void MEM_writeLE32(void* memPtr, U32 val32)
330
22.4k
{
331
22.4k
    if (MEM_isLittleEndian())
332
22.4k
        MEM_write32(memPtr, val32);
333
0
    else
334
0
        MEM_write32(memPtr, MEM_swap32(val32));
335
22.4k
}
Unexecuted instantiation: zstd_common.c:MEM_writeLE32
zstd_compress.c:MEM_writeLE32
Line
Count
Source
330
15.1k
{
331
15.1k
    if (MEM_isLittleEndian())
332
15.1k
        MEM_write32(memPtr, val32);
333
0
    else
334
0
        MEM_write32(memPtr, MEM_swap32(val32));
335
15.1k
}
zstd_compress_literals.c:MEM_writeLE32
Line
Count
Source
330
7.09k
{
331
7.09k
    if (MEM_isLittleEndian())
332
7.09k
        MEM_write32(memPtr, val32);
333
0
    else
334
0
        MEM_write32(memPtr, MEM_swap32(val32));
335
7.09k
}
Unexecuted instantiation: zstd_compress_sequences.c:MEM_writeLE32
Unexecuted instantiation: zstd_compress_superblock.c:MEM_writeLE32
Unexecuted instantiation: zstd_double_fast.c:MEM_writeLE32
Unexecuted instantiation: zstd_fast.c:MEM_writeLE32
Unexecuted instantiation: zstd_lazy.c:MEM_writeLE32
Unexecuted instantiation: zstd_ldm.c:MEM_writeLE32
Unexecuted instantiation: zstd_opt.c:MEM_writeLE32
Unexecuted instantiation: zstd_preSplit.c:MEM_writeLE32
Unexecuted instantiation: zstdmt_compress.c:MEM_writeLE32
zstd_decompress.c:MEM_writeLE32
Line
Count
Source
330
206
{
331
206
    if (MEM_isLittleEndian())
332
206
        MEM_write32(memPtr, val32);
333
0
    else
334
0
        MEM_write32(memPtr, MEM_swap32(val32));
335
206
}
Unexecuted instantiation: zstd_decompress_block.c:MEM_writeLE32
Unexecuted instantiation: zstd_v05.c:MEM_writeLE32
Unexecuted instantiation: entropy_common.c:MEM_writeLE32
Unexecuted instantiation: fse_decompress.c:MEM_writeLE32
Unexecuted instantiation: fse_compress.c:MEM_writeLE32
Unexecuted instantiation: hist.c:MEM_writeLE32
Unexecuted instantiation: huf_compress.c:MEM_writeLE32
Unexecuted instantiation: huf_decompress.c:MEM_writeLE32
Unexecuted instantiation: zstd_ddict.c:MEM_writeLE32
336
337
MEM_STATIC U64 MEM_readLE64(const void* memPtr)
338
602M
{
339
602M
    if (MEM_isLittleEndian())
340
602M
        return MEM_read64(memPtr);
341
0
    else
342
0
        return MEM_swap64(MEM_read64(memPtr));
343
602M
}
Unexecuted instantiation: zstd_common.c:MEM_readLE64
Unexecuted instantiation: zstd_compress.c:MEM_readLE64
Unexecuted instantiation: zstd_compress_literals.c:MEM_readLE64
Unexecuted instantiation: zstd_compress_sequences.c:MEM_readLE64
Unexecuted instantiation: zstd_compress_superblock.c:MEM_readLE64
Unexecuted instantiation: zstd_double_fast.c:MEM_readLE64
Unexecuted instantiation: zstd_fast.c:MEM_readLE64
zstd_lazy.c:MEM_readLE64
Line
Count
Source
338
602M
{
339
602M
    if (MEM_isLittleEndian())
340
602M
        return MEM_read64(memPtr);
341
0
    else
342
0
        return MEM_swap64(MEM_read64(memPtr));
343
602M
}
Unexecuted instantiation: zstd_ldm.c:MEM_readLE64
Unexecuted instantiation: zstd_opt.c:MEM_readLE64
Unexecuted instantiation: zstd_preSplit.c:MEM_readLE64
Unexecuted instantiation: zstdmt_compress.c:MEM_readLE64
zstd_decompress.c:MEM_readLE64
Line
Count
Source
338
3.71k
{
339
3.71k
    if (MEM_isLittleEndian())
340
3.71k
        return MEM_read64(memPtr);
341
0
    else
342
0
        return MEM_swap64(MEM_read64(memPtr));
343
3.71k
}
zstd_decompress_block.c:MEM_readLE64
Line
Count
Source
338
51.8k
{
339
51.8k
    if (MEM_isLittleEndian())
340
51.8k
        return MEM_read64(memPtr);
341
0
    else
342
0
        return MEM_swap64(MEM_read64(memPtr));
343
51.8k
}
zstd_v05.c:MEM_readLE64
Line
Count
Source
338
136k
{
339
136k
    if (MEM_isLittleEndian())
340
136k
        return MEM_read64(memPtr);
341
0
    else
342
0
        return MEM_swap64(MEM_read64(memPtr));
343
136k
}
Unexecuted instantiation: entropy_common.c:MEM_readLE64
fse_decompress.c:MEM_readLE64
Line
Count
Source
338
18.5k
{
339
18.5k
    if (MEM_isLittleEndian())
340
18.5k
        return MEM_read64(memPtr);
341
0
    else
342
0
        return MEM_swap64(MEM_read64(memPtr));
343
18.5k
}
Unexecuted instantiation: fse_compress.c:MEM_readLE64
Unexecuted instantiation: hist.c:MEM_readLE64
Unexecuted instantiation: huf_compress.c:MEM_readLE64
huf_decompress.c:MEM_readLE64
Line
Count
Source
338
40.0k
{
339
40.0k
    if (MEM_isLittleEndian())
340
40.0k
        return MEM_read64(memPtr);
341
0
    else
342
0
        return MEM_swap64(MEM_read64(memPtr));
343
40.0k
}
Unexecuted instantiation: zstd_ddict.c:MEM_readLE64
344
345
MEM_STATIC void MEM_writeLE64(void* memPtr, U64 val64)
346
45.1M
{
347
45.1M
    if (MEM_isLittleEndian())
348
45.1M
        MEM_write64(memPtr, val64);
349
0
    else
350
0
        MEM_write64(memPtr, MEM_swap64(val64));
351
45.1M
}
Unexecuted instantiation: zstd_common.c:MEM_writeLE64
Unexecuted instantiation: zstd_compress.c:MEM_writeLE64
Unexecuted instantiation: zstd_compress_literals.c:MEM_writeLE64
zstd_compress_sequences.c:MEM_writeLE64
Line
Count
Source
346
31.5M
{
347
31.5M
    if (MEM_isLittleEndian())
348
31.5M
        MEM_write64(memPtr, val64);
349
0
    else
350
0
        MEM_write64(memPtr, MEM_swap64(val64));
351
31.5M
}
Unexecuted instantiation: zstd_compress_superblock.c:MEM_writeLE64
Unexecuted instantiation: zstd_double_fast.c:MEM_writeLE64
Unexecuted instantiation: zstd_fast.c:MEM_writeLE64
Unexecuted instantiation: zstd_lazy.c:MEM_writeLE64
Unexecuted instantiation: zstd_ldm.c:MEM_writeLE64
Unexecuted instantiation: zstd_opt.c:MEM_writeLE64
Unexecuted instantiation: zstd_preSplit.c:MEM_writeLE64
Unexecuted instantiation: zstdmt_compress.c:MEM_writeLE64
Unexecuted instantiation: zstd_decompress.c:MEM_writeLE64
Unexecuted instantiation: zstd_decompress_block.c:MEM_writeLE64
Unexecuted instantiation: zstd_v05.c:MEM_writeLE64
Unexecuted instantiation: entropy_common.c:MEM_writeLE64
Unexecuted instantiation: fse_decompress.c:MEM_writeLE64
fse_compress.c:MEM_writeLE64
Line
Count
Source
346
1.29M
{
347
1.29M
    if (MEM_isLittleEndian())
348
1.29M
        MEM_write64(memPtr, val64);
349
0
    else
350
0
        MEM_write64(memPtr, MEM_swap64(val64));
351
1.29M
}
Unexecuted instantiation: hist.c:MEM_writeLE64
huf_compress.c:MEM_writeLE64
Line
Count
Source
346
12.3M
{
347
12.3M
    if (MEM_isLittleEndian())
348
12.3M
        MEM_write64(memPtr, val64);
349
0
    else
350
0
        MEM_write64(memPtr, MEM_swap64(val64));
351
12.3M
}
Unexecuted instantiation: huf_decompress.c:MEM_writeLE64
Unexecuted instantiation: zstd_ddict.c:MEM_writeLE64
352
353
MEM_STATIC size_t MEM_readLEST(const void* memPtr)
354
246k
{
355
246k
    if (MEM_32bits())
356
0
        return (size_t)MEM_readLE32(memPtr);
357
246k
    else
358
246k
        return (size_t)MEM_readLE64(memPtr);
359
246k
}
Unexecuted instantiation: zstd_common.c:MEM_readLEST
Unexecuted instantiation: zstd_compress.c:MEM_readLEST
Unexecuted instantiation: zstd_compress_literals.c:MEM_readLEST
Unexecuted instantiation: zstd_compress_sequences.c:MEM_readLEST
Unexecuted instantiation: zstd_compress_superblock.c:MEM_readLEST
Unexecuted instantiation: zstd_double_fast.c:MEM_readLEST
Unexecuted instantiation: zstd_fast.c:MEM_readLEST
Unexecuted instantiation: zstd_lazy.c:MEM_readLEST
Unexecuted instantiation: zstd_ldm.c:MEM_readLEST
Unexecuted instantiation: zstd_opt.c:MEM_readLEST
Unexecuted instantiation: zstd_preSplit.c:MEM_readLEST
Unexecuted instantiation: zstdmt_compress.c:MEM_readLEST
Unexecuted instantiation: zstd_decompress.c:MEM_readLEST
zstd_decompress_block.c:MEM_readLEST
Line
Count
Source
354
51.8k
{
355
51.8k
    if (MEM_32bits())
356
0
        return (size_t)MEM_readLE32(memPtr);
357
51.8k
    else
358
51.8k
        return (size_t)MEM_readLE64(memPtr);
359
51.8k
}
zstd_v05.c:MEM_readLEST
Line
Count
Source
354
136k
{
355
136k
    if (MEM_32bits())
356
0
        return (size_t)MEM_readLE32(memPtr);
357
136k
    else
358
136k
        return (size_t)MEM_readLE64(memPtr);
359
136k
}
Unexecuted instantiation: entropy_common.c:MEM_readLEST
fse_decompress.c:MEM_readLEST
Line
Count
Source
354
18.5k
{
355
18.5k
    if (MEM_32bits())
356
0
        return (size_t)MEM_readLE32(memPtr);
357
18.5k
    else
358
18.5k
        return (size_t)MEM_readLE64(memPtr);
359
18.5k
}
Unexecuted instantiation: fse_compress.c:MEM_readLEST
Unexecuted instantiation: hist.c:MEM_readLEST
Unexecuted instantiation: huf_compress.c:MEM_readLEST
huf_decompress.c:MEM_readLEST
Line
Count
Source
354
40.0k
{
355
40.0k
    if (MEM_32bits())
356
0
        return (size_t)MEM_readLE32(memPtr);
357
40.0k
    else
358
40.0k
        return (size_t)MEM_readLE64(memPtr);
359
40.0k
}
Unexecuted instantiation: zstd_ddict.c:MEM_readLEST
360
361
MEM_STATIC void MEM_writeLEST(void* memPtr, size_t val)
362
45.1M
{
363
45.1M
    if (MEM_32bits())
364
0
        MEM_writeLE32(memPtr, (U32)val);
365
45.1M
    else
366
45.1M
        MEM_writeLE64(memPtr, (U64)val);
367
45.1M
}
Unexecuted instantiation: zstd_common.c:MEM_writeLEST
Unexecuted instantiation: zstd_compress.c:MEM_writeLEST
Unexecuted instantiation: zstd_compress_literals.c:MEM_writeLEST
zstd_compress_sequences.c:MEM_writeLEST
Line
Count
Source
362
31.5M
{
363
31.5M
    if (MEM_32bits())
364
0
        MEM_writeLE32(memPtr, (U32)val);
365
31.5M
    else
366
31.5M
        MEM_writeLE64(memPtr, (U64)val);
367
31.5M
}
Unexecuted instantiation: zstd_compress_superblock.c:MEM_writeLEST
Unexecuted instantiation: zstd_double_fast.c:MEM_writeLEST
Unexecuted instantiation: zstd_fast.c:MEM_writeLEST
Unexecuted instantiation: zstd_lazy.c:MEM_writeLEST
Unexecuted instantiation: zstd_ldm.c:MEM_writeLEST
Unexecuted instantiation: zstd_opt.c:MEM_writeLEST
Unexecuted instantiation: zstd_preSplit.c:MEM_writeLEST
Unexecuted instantiation: zstdmt_compress.c:MEM_writeLEST
Unexecuted instantiation: zstd_decompress.c:MEM_writeLEST
Unexecuted instantiation: zstd_decompress_block.c:MEM_writeLEST
Unexecuted instantiation: zstd_v05.c:MEM_writeLEST
Unexecuted instantiation: entropy_common.c:MEM_writeLEST
Unexecuted instantiation: fse_decompress.c:MEM_writeLEST
fse_compress.c:MEM_writeLEST
Line
Count
Source
362
1.29M
{
363
1.29M
    if (MEM_32bits())
364
0
        MEM_writeLE32(memPtr, (U32)val);
365
1.29M
    else
366
1.29M
        MEM_writeLE64(memPtr, (U64)val);
367
1.29M
}
Unexecuted instantiation: hist.c:MEM_writeLEST
huf_compress.c:MEM_writeLEST
Line
Count
Source
362
12.3M
{
363
12.3M
    if (MEM_32bits())
364
0
        MEM_writeLE32(memPtr, (U32)val);
365
12.3M
    else
366
12.3M
        MEM_writeLE64(memPtr, (U64)val);
367
12.3M
}
Unexecuted instantiation: huf_decompress.c:MEM_writeLEST
Unexecuted instantiation: zstd_ddict.c:MEM_writeLEST
368
369
/*=== Big endian r/w ===*/
370
371
MEM_STATIC U32 MEM_readBE32(const void* memPtr)
372
0
{
373
0
    if (MEM_isLittleEndian())
374
0
        return MEM_swap32(MEM_read32(memPtr));
375
0
    else
376
0
        return MEM_read32(memPtr);
377
0
}
Unexecuted instantiation: zstd_common.c:MEM_readBE32
Unexecuted instantiation: zstd_compress.c:MEM_readBE32
Unexecuted instantiation: zstd_compress_literals.c:MEM_readBE32
Unexecuted instantiation: zstd_compress_sequences.c:MEM_readBE32
Unexecuted instantiation: zstd_compress_superblock.c:MEM_readBE32
Unexecuted instantiation: zstd_double_fast.c:MEM_readBE32
Unexecuted instantiation: zstd_fast.c:MEM_readBE32
Unexecuted instantiation: zstd_lazy.c:MEM_readBE32
Unexecuted instantiation: zstd_ldm.c:MEM_readBE32
Unexecuted instantiation: zstd_opt.c:MEM_readBE32
Unexecuted instantiation: zstd_preSplit.c:MEM_readBE32
Unexecuted instantiation: zstdmt_compress.c:MEM_readBE32
Unexecuted instantiation: zstd_decompress.c:MEM_readBE32
Unexecuted instantiation: zstd_decompress_block.c:MEM_readBE32
Unexecuted instantiation: zstd_v05.c:MEM_readBE32
Unexecuted instantiation: entropy_common.c:MEM_readBE32
Unexecuted instantiation: fse_decompress.c:MEM_readBE32
Unexecuted instantiation: fse_compress.c:MEM_readBE32
Unexecuted instantiation: hist.c:MEM_readBE32
Unexecuted instantiation: huf_compress.c:MEM_readBE32
Unexecuted instantiation: huf_decompress.c:MEM_readBE32
Unexecuted instantiation: zstd_ddict.c:MEM_readBE32
378
379
MEM_STATIC void MEM_writeBE32(void* memPtr, U32 val32)
380
0
{
381
0
    if (MEM_isLittleEndian())
382
0
        MEM_write32(memPtr, MEM_swap32(val32));
383
0
    else
384
0
        MEM_write32(memPtr, val32);
385
0
}
Unexecuted instantiation: zstd_common.c:MEM_writeBE32
Unexecuted instantiation: zstd_compress.c:MEM_writeBE32
Unexecuted instantiation: zstd_compress_literals.c:MEM_writeBE32
Unexecuted instantiation: zstd_compress_sequences.c:MEM_writeBE32
Unexecuted instantiation: zstd_compress_superblock.c:MEM_writeBE32
Unexecuted instantiation: zstd_double_fast.c:MEM_writeBE32
Unexecuted instantiation: zstd_fast.c:MEM_writeBE32
Unexecuted instantiation: zstd_lazy.c:MEM_writeBE32
Unexecuted instantiation: zstd_ldm.c:MEM_writeBE32
Unexecuted instantiation: zstd_opt.c:MEM_writeBE32
Unexecuted instantiation: zstd_preSplit.c:MEM_writeBE32
Unexecuted instantiation: zstdmt_compress.c:MEM_writeBE32
Unexecuted instantiation: zstd_decompress.c:MEM_writeBE32
Unexecuted instantiation: zstd_decompress_block.c:MEM_writeBE32
Unexecuted instantiation: zstd_v05.c:MEM_writeBE32
Unexecuted instantiation: entropy_common.c:MEM_writeBE32
Unexecuted instantiation: fse_decompress.c:MEM_writeBE32
Unexecuted instantiation: fse_compress.c:MEM_writeBE32
Unexecuted instantiation: hist.c:MEM_writeBE32
Unexecuted instantiation: huf_compress.c:MEM_writeBE32
Unexecuted instantiation: huf_decompress.c:MEM_writeBE32
Unexecuted instantiation: zstd_ddict.c:MEM_writeBE32
386
387
MEM_STATIC U64 MEM_readBE64(const void* memPtr)
388
0
{
389
0
    if (MEM_isLittleEndian())
390
0
        return MEM_swap64(MEM_read64(memPtr));
391
0
    else
392
0
        return MEM_read64(memPtr);
393
0
}
Unexecuted instantiation: zstd_common.c:MEM_readBE64
Unexecuted instantiation: zstd_compress.c:MEM_readBE64
Unexecuted instantiation: zstd_compress_literals.c:MEM_readBE64
Unexecuted instantiation: zstd_compress_sequences.c:MEM_readBE64
Unexecuted instantiation: zstd_compress_superblock.c:MEM_readBE64
Unexecuted instantiation: zstd_double_fast.c:MEM_readBE64
Unexecuted instantiation: zstd_fast.c:MEM_readBE64
Unexecuted instantiation: zstd_lazy.c:MEM_readBE64
Unexecuted instantiation: zstd_ldm.c:MEM_readBE64
Unexecuted instantiation: zstd_opt.c:MEM_readBE64
Unexecuted instantiation: zstd_preSplit.c:MEM_readBE64
Unexecuted instantiation: zstdmt_compress.c:MEM_readBE64
Unexecuted instantiation: zstd_decompress.c:MEM_readBE64
Unexecuted instantiation: zstd_decompress_block.c:MEM_readBE64
Unexecuted instantiation: zstd_v05.c:MEM_readBE64
Unexecuted instantiation: entropy_common.c:MEM_readBE64
Unexecuted instantiation: fse_decompress.c:MEM_readBE64
Unexecuted instantiation: fse_compress.c:MEM_readBE64
Unexecuted instantiation: hist.c:MEM_readBE64
Unexecuted instantiation: huf_compress.c:MEM_readBE64
Unexecuted instantiation: huf_decompress.c:MEM_readBE64
Unexecuted instantiation: zstd_ddict.c:MEM_readBE64
394
395
MEM_STATIC void MEM_writeBE64(void* memPtr, U64 val64)
396
0
{
397
0
    if (MEM_isLittleEndian())
398
0
        MEM_write64(memPtr, MEM_swap64(val64));
399
0
    else
400
0
        MEM_write64(memPtr, val64);
401
0
}
Unexecuted instantiation: zstd_common.c:MEM_writeBE64
Unexecuted instantiation: zstd_compress.c:MEM_writeBE64
Unexecuted instantiation: zstd_compress_literals.c:MEM_writeBE64
Unexecuted instantiation: zstd_compress_sequences.c:MEM_writeBE64
Unexecuted instantiation: zstd_compress_superblock.c:MEM_writeBE64
Unexecuted instantiation: zstd_double_fast.c:MEM_writeBE64
Unexecuted instantiation: zstd_fast.c:MEM_writeBE64
Unexecuted instantiation: zstd_lazy.c:MEM_writeBE64
Unexecuted instantiation: zstd_ldm.c:MEM_writeBE64
Unexecuted instantiation: zstd_opt.c:MEM_writeBE64
Unexecuted instantiation: zstd_preSplit.c:MEM_writeBE64
Unexecuted instantiation: zstdmt_compress.c:MEM_writeBE64
Unexecuted instantiation: zstd_decompress.c:MEM_writeBE64
Unexecuted instantiation: zstd_decompress_block.c:MEM_writeBE64
Unexecuted instantiation: zstd_v05.c:MEM_writeBE64
Unexecuted instantiation: entropy_common.c:MEM_writeBE64
Unexecuted instantiation: fse_decompress.c:MEM_writeBE64
Unexecuted instantiation: fse_compress.c:MEM_writeBE64
Unexecuted instantiation: hist.c:MEM_writeBE64
Unexecuted instantiation: huf_compress.c:MEM_writeBE64
Unexecuted instantiation: huf_decompress.c:MEM_writeBE64
Unexecuted instantiation: zstd_ddict.c:MEM_writeBE64
402
403
MEM_STATIC size_t MEM_readBEST(const void* memPtr)
404
0
{
405
0
    if (MEM_32bits())
406
0
        return (size_t)MEM_readBE32(memPtr);
407
0
    else
408
0
        return (size_t)MEM_readBE64(memPtr);
409
0
}
Unexecuted instantiation: zstd_common.c:MEM_readBEST
Unexecuted instantiation: zstd_compress.c:MEM_readBEST
Unexecuted instantiation: zstd_compress_literals.c:MEM_readBEST
Unexecuted instantiation: zstd_compress_sequences.c:MEM_readBEST
Unexecuted instantiation: zstd_compress_superblock.c:MEM_readBEST
Unexecuted instantiation: zstd_double_fast.c:MEM_readBEST
Unexecuted instantiation: zstd_fast.c:MEM_readBEST
Unexecuted instantiation: zstd_lazy.c:MEM_readBEST
Unexecuted instantiation: zstd_ldm.c:MEM_readBEST
Unexecuted instantiation: zstd_opt.c:MEM_readBEST
Unexecuted instantiation: zstd_preSplit.c:MEM_readBEST
Unexecuted instantiation: zstdmt_compress.c:MEM_readBEST
Unexecuted instantiation: zstd_decompress.c:MEM_readBEST
Unexecuted instantiation: zstd_decompress_block.c:MEM_readBEST
Unexecuted instantiation: zstd_v05.c:MEM_readBEST
Unexecuted instantiation: entropy_common.c:MEM_readBEST
Unexecuted instantiation: fse_decompress.c:MEM_readBEST
Unexecuted instantiation: fse_compress.c:MEM_readBEST
Unexecuted instantiation: hist.c:MEM_readBEST
Unexecuted instantiation: huf_compress.c:MEM_readBEST
Unexecuted instantiation: huf_decompress.c:MEM_readBEST
Unexecuted instantiation: zstd_ddict.c:MEM_readBEST
410
411
MEM_STATIC void MEM_writeBEST(void* memPtr, size_t val)
412
0
{
413
0
    if (MEM_32bits())
414
0
        MEM_writeBE32(memPtr, (U32)val);
415
0
    else
416
0
        MEM_writeBE64(memPtr, (U64)val);
417
0
}
Unexecuted instantiation: zstd_common.c:MEM_writeBEST
Unexecuted instantiation: zstd_compress.c:MEM_writeBEST
Unexecuted instantiation: zstd_compress_literals.c:MEM_writeBEST
Unexecuted instantiation: zstd_compress_sequences.c:MEM_writeBEST
Unexecuted instantiation: zstd_compress_superblock.c:MEM_writeBEST
Unexecuted instantiation: zstd_double_fast.c:MEM_writeBEST
Unexecuted instantiation: zstd_fast.c:MEM_writeBEST
Unexecuted instantiation: zstd_lazy.c:MEM_writeBEST
Unexecuted instantiation: zstd_ldm.c:MEM_writeBEST
Unexecuted instantiation: zstd_opt.c:MEM_writeBEST
Unexecuted instantiation: zstd_preSplit.c:MEM_writeBEST
Unexecuted instantiation: zstdmt_compress.c:MEM_writeBEST
Unexecuted instantiation: zstd_decompress.c:MEM_writeBEST
Unexecuted instantiation: zstd_decompress_block.c:MEM_writeBEST
Unexecuted instantiation: zstd_v05.c:MEM_writeBEST
Unexecuted instantiation: entropy_common.c:MEM_writeBEST
Unexecuted instantiation: fse_decompress.c:MEM_writeBEST
Unexecuted instantiation: fse_compress.c:MEM_writeBEST
Unexecuted instantiation: hist.c:MEM_writeBEST
Unexecuted instantiation: huf_compress.c:MEM_writeBEST
Unexecuted instantiation: huf_decompress.c:MEM_writeBEST
Unexecuted instantiation: zstd_ddict.c:MEM_writeBEST
418
419
/* code only tested on 32 and 64 bits systems */
420
0
MEM_STATIC void MEM_check(void) { DEBUG_STATIC_ASSERT((sizeof(size_t)==4) || (sizeof(size_t)==8)); }
Unexecuted instantiation: zstd_common.c:MEM_check
Unexecuted instantiation: zstd_compress.c:MEM_check
Unexecuted instantiation: zstd_compress_literals.c:MEM_check
Unexecuted instantiation: zstd_compress_sequences.c:MEM_check
Unexecuted instantiation: zstd_compress_superblock.c:MEM_check
Unexecuted instantiation: zstd_double_fast.c:MEM_check
Unexecuted instantiation: zstd_fast.c:MEM_check
Unexecuted instantiation: zstd_lazy.c:MEM_check
Unexecuted instantiation: zstd_ldm.c:MEM_check
Unexecuted instantiation: zstd_opt.c:MEM_check
Unexecuted instantiation: zstd_preSplit.c:MEM_check
Unexecuted instantiation: zstdmt_compress.c:MEM_check
Unexecuted instantiation: zstd_decompress.c:MEM_check
Unexecuted instantiation: zstd_decompress_block.c:MEM_check
Unexecuted instantiation: zstd_v05.c:MEM_check
Unexecuted instantiation: entropy_common.c:MEM_check
Unexecuted instantiation: fse_decompress.c:MEM_check
Unexecuted instantiation: fse_compress.c:MEM_check
Unexecuted instantiation: hist.c:MEM_check
Unexecuted instantiation: huf_compress.c:MEM_check
Unexecuted instantiation: huf_decompress.c:MEM_check
Unexecuted instantiation: zstd_ddict.c:MEM_check
421
422
#endif /* MEM_H_MODULE */