Jussi Kivilinna 64b94ceae8 crypto: blowfish - add x86_64 assembly implementation
Patch adds x86_64 assembly implementation of blowfish. Two set of assembler
functions are provided. First set is regular 'one-block at time'
encrypt/decrypt functions. Second is 'four-block at time' functions that
gain performance increase on out-of-order CPUs. Performance of 4-way
functions should be equal to 1-way functions with in-order CPUs.

Summary of the tcrypt benchmarks:

Blowfish assembler vs blowfish C (256bit 8kb block ECB)
encrypt: 2.2x speed
decrypt: 2.3x speed

Blowfish assembler vs blowfish C (256bit 8kb block CBC)
encrypt: 1.12x speed
decrypt: 2.5x speed

Blowfish assembler vs blowfish C (256bit 8kb block CTR)
encrypt: 2.5x speed

Full output:
http://koti.mbnet.fi/axh/kernel/crypto/tcrypt-speed-blowfish-asm-x86_64.txt
http://koti.mbnet.fi/axh/kernel/crypto/tcrypt-speed-blowfish-c-x86_64.txt

Tests were run on:
 vendor_id	: AuthenticAMD
 cpu family	: 16
 model		: 10
 model name	: AMD Phenom(tm) II X6 1055T Processor
 stepping	: 0

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2011-09-22 21:25:26 +10:00
..
2010-02-16 20:24:07 +08:00
2011-07-26 16:49:47 -07:00
2011-03-31 11:26:23 -03:00
2010-02-16 20:26:46 +08:00
2010-12-02 14:47:16 +08:00
2010-10-26 16:52:08 -07:00
2010-11-13 21:47:55 +09:00
2010-02-16 20:29:45 +08:00
2010-05-26 10:36:51 +10:00
2008-06-02 15:46:51 +10:00
2010-02-16 20:33:49 +08:00
2010-12-02 14:47:16 +08:00
2008-08-29 15:50:02 +10:00
2010-12-02 14:47:16 +08:00
2008-04-21 10:19:34 +08:00
2009-02-17 20:00:11 +08:00
2008-04-21 10:19:34 +08:00
2008-12-25 11:02:16 +11:00
2010-03-02 21:58:16 +08:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2007-10-10 16:55:38 -07:00
2008-04-21 10:19:34 +08:00
2008-04-21 10:19:34 +08:00
2008-12-25 11:02:21 +11:00
2011-03-31 11:26:23 -03:00
2008-12-25 11:02:22 +11:00
2011-03-31 11:26:23 -03:00