LLVM
15.0.0git
|
Go to the source code of this file.
Macros | |
#define | MAYBE_UNUSED(x) (void)((x)) |
Enumerations | |
enum | cpu_feature { SSE2 = 1 << 0, SSSE3 = 1 << 1, SSE41 = 1 << 2, AVX = 1 << 3, AVX2 = 1 << 4, AVX512F = 1 << 5, AVX512VL = 1 << 6, UNDEFINED = 1 << 30 } |
Functions | |
static LLVM_ATTRIBUTE_USED enum cpu_feature | get_cpu_features (void) |
void | blake3_compress_in_place (uint32_t cv[8], const uint8_t block[BLAKE3_BLOCK_LEN], uint8_t block_len, uint64_t counter, uint8_t flags) |
void | blake3_compress_xof (const uint32_t cv[8], const uint8_t block[BLAKE3_BLOCK_LEN], uint8_t block_len, uint64_t counter, uint8_t flags, uint8_t out[64]) |
void | blake3_hash_many (const uint8_t *const *inputs, size_t num_inputs, size_t blocks, const uint32_t key[8], uint64_t counter, bool increment_counter, uint8_t flags, uint8_t flags_start, uint8_t flags_end, uint8_t *out) |
size_t | blake3_simd_degree (void) |
Variables | |
static enum cpu_feature | g_cpu_features = UNDEFINED |
Definition at line 17 of file blake3_dispatch.c.
enum cpu_feature |
Enumerator | |
---|---|
SSE2 | |
SSSE3 | |
SSE41 | |
AVX | |
AVX2 | |
AVX512F | |
AVX512VL | |
UNDEFINED |
Definition at line 64 of file blake3_dispatch.c.
void blake3_compress_in_place | ( | uint32_t | cv[8], |
const uint8_t | block[BLAKE3_BLOCK_LEN], | ||
uint8_t | block_len, | ||
uint64_t | counter, | ||
uint8_t | flags | ||
) |
Definition at line 137 of file blake3_dispatch.c.
References AVX512VL, blake3_compress_in_place_avx512(), blake3_compress_in_place_portable(), blake3_compress_in_place_sse2(), blake3_compress_in_place_sse41(), block, get_cpu_features(), MAYBE_UNUSED, SSE2, and SSE41.
Referenced by chunk_state_update(), and output_chaining_value().
void blake3_compress_xof | ( | const uint32_t | cv[8], |
const uint8_t | block[BLAKE3_BLOCK_LEN], | ||
uint8_t | block_len, | ||
uint64_t | counter, | ||
uint8_t | flags, | ||
uint8_t | out[64] | ||
) |
Definition at line 166 of file blake3_dispatch.c.
References AVX512VL, blake3_compress_xof_avx512(), blake3_compress_xof_portable(), blake3_compress_xof_sse2(), blake3_compress_xof_sse41(), block, get_cpu_features(), MAYBE_UNUSED, SSE2, and SSE41.
Referenced by output_root_bytes().
void blake3_hash_many | ( | const uint8_t *const * | inputs, |
size_t | num_inputs, | ||
size_t | blocks, | ||
const uint32_t | key[8], | ||
uint64_t | counter, | ||
bool | increment_counter, | ||
uint8_t | flags, | ||
uint8_t | flags_start, | ||
uint8_t | flags_end, | ||
uint8_t * | out | ||
) |
Definition at line 195 of file blake3_dispatch.c.
References AVX2, AVX512F, AVX512VL, blake3_hash_many_avx2(), blake3_hash_many_avx512(), blake3_hash_many_portable(), blake3_hash_many_sse2(), blake3_hash_many_sse41(), get_cpu_features(), MAYBE_UNUSED, SSE2, and SSE41.
Referenced by compress_chunks_parallel(), and compress_parents_parallel().
size_t blake3_simd_degree | ( | void | ) |
Definition at line 248 of file blake3_dispatch.c.
References AVX2, AVX512F, AVX512VL, get_cpu_features(), MAYBE_UNUSED, SSE2, and SSE41.
Referenced by blake3_compress_subtree_wide().
|
static |
Definition at line 86 of file blake3_dispatch.c.
References AVX, AVX2, AVX512F, AVX512VL, eax, ebx, ecx, g_cpu_features, SSE2, SSE41, SSSE3, and UNDEFINED.
Referenced by blake3_compress_in_place(), blake3_compress_xof(), blake3_hash_many(), and blake3_simd_degree().
|
static |
Definition at line 79 of file blake3_dispatch.c.
Referenced by get_cpu_features().