crypto/poly1305
Filippo Valsorda 61a87790db poly1305: drop broken arm assembly
The ARM assembly uses the reserved G register. This started causing
frequent crashes due to async preemption, but it was already broken in
the presence of signals, including SIGPROF.

name                          old speed      new speed      delta
Chacha20Poly1305/Open-64      2.88MB/s ± 0%  1.85MB/s ± 0%   -35.76%  (p=0.008 n=6+7)
Chacha20Poly1305/Seal-64      3.17MB/s ± 1%  1.97MB/s ± 0%   -37.78%  (p=0.000 n=10+8)
Chacha20Poly1305/Open-64-X    2.41MB/s ± 0%  1.61MB/s ± 0%   -33.29%  (p=0.000 n=9+9)
Chacha20Poly1305/Seal-64-X    2.55MB/s ± 0%  1.64MB/s ± 0%   -35.61%  (p=0.000 n=10+9)
Chacha20Poly1305/Open-1350    8.43MB/s ± 0%  4.15MB/s ± 0%   -50.78%  (p=0.000 n=10+10)
Chacha20Poly1305/Seal-1350    8.55MB/s ± 0%  4.18MB/s ± 0%   -51.12%  (p=0.000 n=9+9)
Chacha20Poly1305/Open-1350-X  8.16MB/s ± 0%  4.06MB/s ± 0%   -50.18%  (p=0.000 n=10+10)
Chacha20Poly1305/Seal-1350-X  8.24MB/s ± 1%  4.08MB/s ± 1%   -50.53%  (p=0.000 n=10+10)
Chacha20Poly1305/Open-8192    9.73MB/s ± 1%  4.56MB/s ± 0%   -53.15%  (p=0.000 n=9+10)
Chacha20Poly1305/Seal-8192    9.57MB/s ± 0%  4.52MB/s ± 0%   -52.77%  (p=0.000 n=9+9)
Chacha20Poly1305/Open-8192-X  9.65MB/s ± 0%  4.54MB/s ± 0%   -52.95%  (p=0.000 n=10+7)
Chacha20Poly1305/Seal-8192-X  9.47MB/s ± 1%  4.50MB/s ± 0%   -52.50%  (p=0.000 n=10+9)

Fixes golang/go#35511

Change-Id: I5e5ca3a0499f04c5fece5bc669a417e32d2656c6
Reviewed-on: https://go-review.googlesource.com/c/crypto/+/213880
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
2020-01-09 15:21:10 +00:00
..
bits_compat.go poly1305: rewrite the Go implementation with 64-bit limbs 2019-11-11 21:33:42 +00:00
bits_go1.13.go poly1305: rewrite the Go implementation with 64-bit limbs 2019-11-11 21:33:42 +00:00
mac_noasm.go poly1305: improve performance with asm for ppc64le 2019-06-05 12:30:33 +00:00
poly1305.go poly1305: rewrite the Go implementation with 64-bit limbs 2019-11-11 21:33:42 +00:00
poly1305_test.go poly1305: rewrite the Go implementation with 64-bit limbs 2019-11-11 21:33:42 +00:00
sum_amd64.go poly1305: rewrite the Go implementation with 64-bit limbs 2019-11-11 21:33:42 +00:00
sum_amd64.s poly1305: rewrite the Go implementation with 64-bit limbs 2019-11-11 21:33:42 +00:00
sum_generic.go poly1305: rewrite the Go implementation with 64-bit limbs 2019-11-11 21:33:42 +00:00
sum_noasm.go poly1305: drop broken arm assembly 2020-01-09 15:21:10 +00:00
sum_ppc64le.go poly1305: rewrite the Go implementation with 64-bit limbs 2019-11-11 21:33:42 +00:00
sum_ppc64le.s poly1305: rewrite the Go implementation with 64-bit limbs 2019-11-11 21:33:42 +00:00
sum_s390x.go poly1305: rewrite the Go implementation with 64-bit limbs 2019-11-11 21:33:42 +00:00
sum_s390x.s poly1305: use x/sys/cpu for s390x feature detection 2019-02-28 16:14:51 +00:00
sum_vmsl_s390x.s poly1305: use x/sys/cpu for s390x feature detection 2019-02-28 16:14:51 +00:00
vectors_test.go poly1305: add additional test cases 2018-05-14 23:09:06 +00:00