• Fangming.Fang's avatar
    crypto/aes: optimize arm64 AES implementation · 917e7269
    Fangming.Fang authored
    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: 's avatarCherry Zhang <cherryyz@google.com>
    917e7269
Name
Last commit
Last update
..
aes_gcm.go Loading commit data...
aes_test.go Loading commit data...
asm_amd64.s Loading commit data...
asm_arm64.s Loading commit data...
asm_ppc64le.s Loading commit data...
asm_s390x.s Loading commit data...
block.go Loading commit data...
cbc_s390x.go Loading commit data...
cipher.go Loading commit data...
cipher_amd64.go Loading commit data...
cipher_arm64.go Loading commit data...
cipher_generic.go Loading commit data...
cipher_ppc64le.go Loading commit data...
cipher_s390x.go Loading commit data...
const.go Loading commit data...
ctr_s390x.go Loading commit data...
gcm_amd64.s Loading commit data...
gcm_s390x.go Loading commit data...
modes.go Loading commit data...
modes_test.go Loading commit data...