crypto/blake2b
Udalov Max af44ce270e blake2b: use math.bits rotate functions instead of ad-hoc implementations
This makes code more readable and idiomatic and slightly improves performance.

Updates golang/go#31456

Benchstat:
name        old time/op    new time/op    delta
Write128-4     271ns ± 4%     250ns ± 2%  -7.78%  (p=0.000 n=10+9)
Write1K-4     2.01µs ± 6%    1.97µs ± 5%    ~     (p=0.393 n=10+10)
Sum128-4       271ns ± 6%     276ns ± 5%    ~     (p=0.342 n=10+10)
Sum1K-4       1.98µs ±11%    2.03µs ± 4%    ~     (p=0.093 n=10+10)

name        old speed      new speed      delta
Write128-4   471MB/s ± 4%   511MB/s ± 2%  +8.34%  (p=0.000 n=10+9)
Write1K-4    511MB/s ± 6%   521MB/s ± 5%    ~     (p=0.393 n=10+10)
Sum128-4     472MB/s ± 6%   463MB/s ± 6%    ~     (p=0.315 n=10+10)
Sum1K-4      520MB/s ±10%   504MB/s ± 4%    ~     (p=0.105 n=10+10)

Change-Id: I7e18379c02a78c77afcf8195d42307f71bc49fe0
Reviewed-on: https://go-review.googlesource.com/c/crypto/+/173277
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2019-04-22 16:24:23 +00:00
..
blake2b.go blake2b: fix comments in grammar 2019-01-22 01:37:13 +00:00
blake2bAVX2_amd64.go crypto/{blake2b,blake2s,argon2,chacha20poly1305}: replace CPU feature detection 2018-04-30 18:12:35 +00:00
blake2bAVX2_amd64.s crypto/{blake2b,blake2s,argon2,chacha20poly1305}: replace CPU feature detection 2018-04-30 18:12:35 +00:00
blake2b_amd64.go crypto/{blake2b,blake2s,argon2,chacha20poly1305}: replace CPU feature detection 2018-04-30 18:12:35 +00:00
blake2b_amd64.s crypto/{blake2b,blake2s,argon2,chacha20poly1305}: replace CPU feature detection 2018-04-30 18:12:35 +00:00
blake2b_generic.go blake2b: use math.bits rotate functions instead of ad-hoc implementations 2019-04-22 16:24:23 +00:00
blake2b_ref.go blake2b: fix build on non-amd64 platforms 2016-12-21 23:57:47 +00:00
blake2b_test.go blake2b,blake2s: implement BinaryMarshaler, BinaryUnmarshaler 2018-03-30 21:03:55 +00:00
blake2x.go all: fix typos 2018-10-29 02:12:03 +00:00
register.go blake2b: register BLAKE2b 2017-03-02 19:32:28 +00:00