LLVM: lib/Support/BLAKE3/blake3_avx2.c File Reference (original) (raw)
#include "[blake3_impl.h](blake3%5F%5Fimpl%5F8h%5Fsource.html)"
#include <immintrin.h>
Go to the source code of this file.
| Functions |
|
| INLINE __m256i |
loadu (const uint8_t src[32]) |
| INLINE void |
storeu (__m256i src, uint8_t dest[16]) |
| INLINE __m256i |
addv (__m256i a, __m256i b) |
| INLINE __m256i |
xorv (__m256i a, __m256i b) |
| INLINE __m256i |
set1 (uint32_t x) |
| INLINE __m256i |
rot16 (__m256i x) |
| INLINE __m256i |
rot12 (__m256i x) |
| INLINE __m256i |
rot8 (__m256i x) |
| INLINE __m256i |
rot7 (__m256i x) |
| INLINE void |
round_fn (__m256i v[16], __m256i m[16], size_t r) |
| INLINE void |
transpose_vecs (__m256i vecs[DEGREE]) |
| INLINE void |
transpose_msg_vecs (const uint8_t *const *inputs, size_t block_offset, __m256i out[16]) |
| INLINE void |
load_counters (uint64_t counter, bool increment_counter, __m256i *out_lo, __m256i *out_hi) |
| static void |
blake3_hash8_avx2 (const uint8_t *const *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) |
| void |
blake3_hash_many_sse41 (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) |
| void |
blake3_hash_many_avx2 (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) |
◆ DEGREE
◆ addv()
| INLINE __m256i addv |
( |
__m256i |
a, |
| __m256i |
b ) |
|
|
◆ blake3_hash8_avx2()
Definition at line 231 of file blake3_avx2.c.
References BLAKE3_BLOCK_LEN, block, blocks, IV, load_counters(), round_fn(), set1(), storeu(), transpose_msg_vecs(), transpose_vecs(), and xorv().
Referenced by blake3_hash_many_avx2().
◆ blake3_hash_many_avx2()
◆ blake3_hash_many_sse41()
◆ load_counters()
| INLINE void load_counters |
( |
uint64_t |
counter, |
| bool |
increment_counter, |
|
|
| __m256i * |
out_lo, |
|
|
| __m256i * |
out_hi ) |
|
|
◆ loadu()
◆ rot12()
| INLINE __m256i rot12 |
( |
__m256i |
x |
) |
◆ rot16()
| INLINE __m256i rot16 |
( |
__m256i |
x |
) |
◆ rot7()
| INLINE __m256i rot7 |
( |
__m256i |
x |
) |
◆ rot8()
| INLINE __m256i rot8 |
( |
__m256i |
x |
) |
◆ round_fn()
| INLINE void round_fn |
( |
__m256i |
_v_[16], |
| __m256i |
_m_[16], |
|
|
| size_t |
r ) |
|
|
◆ set1()
◆ storeu()
◆ transpose_msg_vecs()
◆ transpose_vecs()
| INLINE void transpose_vecs |
( |
__m256i |
_vecs_[DEGREE] |
) |
◆ xorv()
| INLINE __m256i xorv |
( |
__m256i |
a, |
| __m256i |
b ) |
|
|