]> Cypherpunks repositories - gostls13.git/commit
crypto/aes: improve performance for aes on ppc64le
authorPaulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
Thu, 8 Dec 2016 14:06:34 +0000 (12:06 -0200)
committerLynn Boger <laboger@linux.vnet.ibm.com>
Thu, 9 Feb 2017 19:30:31 +0000 (19:30 +0000)
commit06e5a558207f1d2bc6f61365b87925120c8549b3
tree455ed0285e57f35f0a2fdf657b9c0234446ed0ea
parentf02dda50e8b4e268987d269e22b6d7410a52587b
crypto/aes: improve performance for aes on ppc64le

Add asm implementation for AES in order to make use of VMX cryptographic
acceleration instructions for POWER8. There is a speed boost of over 10
times using those instructions:

Fixes #18076

                        old ns/op  new ns/op  delta
BenchmarkEncrypt-20     337        30.3       -91.00%
BenchmarkDecrypt-20     347        30.5a      -91.21%
BenchmarkExpand-20      1180       130        -88.98%

                        old MB/s   new MB/s   speedup
BenchmarkEncrypt-20     47.38      527.68     11.13x
BenchmarkDecrypt-20     46.05      524.45     11.38x

Change-Id: Ifa4d1b508f4803cc72dcaad97acc8495d651b019
Reviewed-on: https://go-review.googlesource.com/33587
Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
src/crypto/aes/asm_ppc64le.s [new file with mode: 0644]
src/crypto/aes/cipher_generic.go
src/crypto/aes/cipher_ppc64le.go [new file with mode: 0644]