#include <stdint.h>
#include <cne_branch_prediction.h>
#include <cne_common.h>
Go to the source code of this file.
CNE CRC Hash
Definition in file cne_hash_crc.h.
◆ cne_hash_crc_set_alg()
static void cne_hash_crc_set_alg |
( |
uint8_t |
alg | ) |
|
|
inlinestatic |
Allow or disallow use of SSE4.2 intrinsics for CRC32 hash calculation.
- Parameters
-
alg | An OR of following flags:
- (CRC32_SW) Don't use SSE4.2 intrinsics
- (CRC32_SSE42) Use SSE4.2 intrinsics if available
- (CRC32_SSE42_x64) Use 64-bit SSE4.2 intrinsic if available (default)
|
Definition at line 429 of file cne_hash_crc.h.
◆ cne_hash_crc_1byte()
static uint32_t cne_hash_crc_1byte |
( |
uint8_t |
data, |
|
|
uint32_t |
init_val |
|
) |
| |
|
inlinestatic |
Use single crc32 instruction to perform a hash on a byte value. Fall back to software crc32 implementation in case SSE4.2 is not supported
- Parameters
-
data | Data to perform hash on. |
init_val | Value to initialise hash generator. |
- Returns
- 32bit calculated hash value.
Definition at line 457 of file cne_hash_crc.h.
◆ cne_hash_crc_2byte()
static uint32_t cne_hash_crc_2byte |
( |
uint16_t |
data, |
|
|
uint32_t |
init_val |
|
) |
| |
|
inlinestatic |
Use single crc32 instruction to perform a hash on a 2 bytes value. Fall back to software crc32 implementation in case SSE4.2 is not supported
- Parameters
-
data | Data to perform hash on. |
init_val | Value to initialise hash generator. |
- Returns
- 32bit calculated hash value.
Definition at line 478 of file cne_hash_crc.h.
◆ cne_hash_crc_4byte()
static uint32_t cne_hash_crc_4byte |
( |
uint32_t |
data, |
|
|
uint32_t |
init_val |
|
) |
| |
|
inlinestatic |
Use single crc32 instruction to perform a hash on a 4 byte value. Fall back to software crc32 implementation in case SSE4.2 is not supported
- Parameters
-
data | Data to perform hash on. |
init_val | Value to initialise hash generator. |
- Returns
- 32bit calculated hash value.
Definition at line 499 of file cne_hash_crc.h.
◆ cne_hash_crc_8byte()
static uint32_t cne_hash_crc_8byte |
( |
uint64_t |
data, |
|
|
uint32_t |
init_val |
|
) |
| |
|
inlinestatic |
Use single crc32 instruction to perform a hash on a 8 byte value. Fall back to software crc32 implementation in case SSE4.2 is not supported
- Parameters
-
data | Data to perform hash on. |
init_val | Value to initialise hash generator. |
- Returns
- 32bit calculated hash value.
Definition at line 520 of file cne_hash_crc.h.
◆ cne_hash_crc()
static uint32_t cne_hash_crc |
( |
const void * |
data, |
|
|
uint32_t |
data_len, |
|
|
uint32_t |
init_val |
|
) |
| |
|
inlinestatic |
Calculate CRC32 hash on user-supplied byte array.
- Parameters
-
data | Data to perform hash on. |
data_len | How many bytes to use to calculate hash value. |
init_val | Value to initialise hash generator. |
- Returns
- 32bit calculated hash value.
Definition at line 544 of file cne_hash_crc.h.