mbox series

[v2,0/2] crypto: aegis128 SIMD improvements

Message ID 20191014161645.1961-1-ard.biesheuvel@linaro.org
Headers show
Series crypto: aegis128 SIMD improvements | expand

Message

Ard Biesheuvel Oct. 14, 2019, 4:16 p.m. UTC
Refactor the aegis128 code to get rid of indirect calls, and implement
SIMD versions of the init() and final() hooks. This results in a ~2x
speedup on ARM Cortex-A57 for ~1500 byte inputs.

Changes since v1:
- fix missing Sbox loads for plain SIMD on GCC
- fix endianness issue in final_simd() routine

Cc: Ondrej Mosnacek <omosnace@redhat.com>

Ard Biesheuvel (2):
  crypto: aegis128 - avoid function pointers for parameterization
  crypto: aegis128 - duplicate init() and final() hooks in SIMD code

 crypto/aegis128-core.c       | 125 ++++++++++----------
 crypto/aegis128-neon-inner.c |  50 ++++++++
 crypto/aegis128-neon.c       |  21 ++++
 3 files changed, 134 insertions(+), 62 deletions(-)

-- 
2.20.1

Comments

Herbert Xu Oct. 25, 2019, 3:18 p.m. UTC | #1
On Mon, Oct 14, 2019 at 06:16:43PM +0200, Ard Biesheuvel wrote:
> Refactor the aegis128 code to get rid of indirect calls, and implement

> SIMD versions of the init() and final() hooks. This results in a ~2x

> speedup on ARM Cortex-A57 for ~1500 byte inputs.

> 

> Changes since v1:

> - fix missing Sbox loads for plain SIMD on GCC

> - fix endianness issue in final_simd() routine

> 

> Cc: Ondrej Mosnacek <omosnace@redhat.com>

> 

> Ard Biesheuvel (2):

>   crypto: aegis128 - avoid function pointers for parameterization

>   crypto: aegis128 - duplicate init() and final() hooks in SIMD code

> 

>  crypto/aegis128-core.c       | 125 ++++++++++----------

>  crypto/aegis128-neon-inner.c |  50 ++++++++

>  crypto/aegis128-neon.c       |  21 ++++

>  3 files changed, 134 insertions(+), 62 deletions(-)


All applied.  Thanks.
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt