crypto: serpent/avx - avoid using temporary stack buffers
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>
Sat, 20 Oct 2012 12:06:51 +0000 (15:06 +0300)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 24 Oct 2012 13:10:55 +0000 (21:10 +0800)
commitfacd416fbc1cdee357730909a414898934f16ae1
treee590e4bdd151c06c820bdcc1635b0660e525f84d
parent8435a3c3003c00c43f1b267368bbe1d8dada35d1
crypto: serpent/avx - avoid using temporary stack buffers

Introduce new assembler functions to avoid use temporary stack buffers in glue
code. This also allows use of vector instructions for xoring output in CTR and
CBC modes and construction of IVs for CTR mode.

ECB mode sees ~0.5% decrease in speed because added one extra function
call. CBC mode decryption and CTR mode benefit from vector operations
and gain ~3%.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/x86/crypto/serpent-avx-x86_64-asm_64.S
arch/x86/crypto/serpent_avx_glue.c
arch/x86/include/asm/crypto/serpent-avx.h