crypto: camellia - add AVX2/AES-NI/x86_64 assembler implementation of camellia cipher
Patch adds AVX2/AES-NI/x86-64 implementation of Camellia cipher, requiring 32 parallel blocks for input (512 bytes). Compared to AVX implementation, this version is extended to use the 256-bit wide YMM registers. For AES-NI instructions data is split to two 128-bit registers and merged afterwards. Even with this additional handling, performance should be higher compared to the AES-NI/AVX implementation. Signed-off-by:Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
Showing
- arch/x86/crypto/Makefile 2 additions, 0 deletionsarch/x86/crypto/Makefile
- arch/x86/crypto/camellia-aesni-avx2-asm_64.S 1368 additions, 0 deletionsarch/x86/crypto/camellia-aesni-avx2-asm_64.S
- arch/x86/crypto/camellia_aesni_avx2_glue.c 586 additions, 0 deletionsarch/x86/crypto/camellia_aesni_avx2_glue.c
- arch/x86/crypto/camellia_aesni_avx_glue.c 14 additions, 3 deletionsarch/x86/crypto/camellia_aesni_avx_glue.c
- arch/x86/include/asm/crypto/camellia.h 19 additions, 0 deletionsarch/x86/include/asm/crypto/camellia.h
- crypto/Kconfig 23 additions, 0 deletionscrypto/Kconfig
- crypto/testmgr.c 12 additions, 0 deletionscrypto/testmgr.c
Please register or sign in to comment