diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-09-17 06:03:38 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-09-17 06:03:38 +0200 |
commit | 514841a83b3ffe17aecd62345659254891333218 (patch) | |
tree | d38c2ff8fc38f9fd2257b8ea38622f67024f385e /src/crypto/zinc/chacha20/chacha20-x86_64-glue.h | |
parent | b5d6181c6f56aaaee4da1a747e84a54b769df0a6 (diff) |
chacha20-x86_64: don't activate simd for small blocks
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'src/crypto/zinc/chacha20/chacha20-x86_64-glue.h')
-rw-r--r-- | src/crypto/zinc/chacha20/chacha20-x86_64-glue.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/crypto/zinc/chacha20/chacha20-x86_64-glue.h b/src/crypto/zinc/chacha20/chacha20-x86_64-glue.h index 34919c7..aef9697 100644 --- a/src/crypto/zinc/chacha20/chacha20-x86_64-glue.h +++ b/src/crypto/zinc/chacha20/chacha20-x86_64-glue.h @@ -61,7 +61,8 @@ static inline bool chacha20_arch(u8 *dst, const u8 *src, const size_t len, const u32 key[8], const u32 counter[4], simd_context_t *simd_context) { - if (!simd_use(simd_context)) + if ((len < CHACHA20_BLOCK_SIZE && !(*simd_context && HAVE_SIMD_IN_USE)) || + !simd_use(simd_context)) return false; #ifdef CONFIG_AS_AVX512 |