]> Cypherpunks repositories - gostls13.git/commit
crypto/aes: optimize arm64 AES implementation
authorFangming.Fang <fangming.fang@arm.com>
Tue, 22 Aug 2017 09:35:46 +0000 (09:35 +0000)
committerCherry Zhang <cherryyz@google.com>
Tue, 6 Mar 2018 00:44:29 +0000 (00:44 +0000)
commit917e72697e653a9a3be3325e6640e50d2098aa5b
tree6d61f1e40fa6c7d413fea65652b89adeb956a5f0
parentc4f3fe95c6f264279f20af069877386eea938464
crypto/aes: optimize arm64 AES implementation

This patch makes use of arm64 AES instructions to accelerate AES computation
and only supports optimization on Linux for arm64

name        old time/op    new time/op     delta
Encrypt-32     255ns ± 0%       26ns ± 0%   -89.73%
Decrypt-32     256ns ± 0%       26ns ± 0%   -89.77%
Expand-32      990ns ± 5%      901ns ± 0%    -9.05%

name        old speed      new speed       delta
Encrypt-32  62.5MB/s ± 0%  610.4MB/s ± 0%  +876.39%
Decrypt-32  62.3MB/s ± 0%  610.2MB/s ± 0%  +879.6%

Fixes #18498

Change-Id: If416e5a151785325527b32ff72f6da3812493ed0
Reviewed-on: https://go-review.googlesource.com/64490
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/crypto/aes/asm_arm64.s [new file with mode: 0644]
src/crypto/aes/cipher_arm64.go [new file with mode: 0644]
src/crypto/aes/cipher_generic.go