aboutsummaryrefslogtreecommitdiff
path: root/blake2s/blake2s_ref.go
AgeCommit message (Collapse)Author
2025-04-14Revert "blake2s: add loong64 SIMD implementation"Michael Pratt
This reverts CL 661215. Reason for revert: Does not build on 1.23 or 1.24 Fixes #73354. Change-Id: I90abd8a3dabf5c0d9fd1062de3ba3e78ecb2f2e8 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/664796 Reviewed-by: Carlos Amedee <carlos@golang.org> Auto-Submit: Michael Pratt <mpratt@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2025-04-11blake2s: add loong64 SIMD implementationXiaolin Zhao
The performance gains on Loongson 3A6000 and 3A5000 are as follows: goos: linux goarch: loong64 pkg: golang.org/x/crypto/blake2s cpu: Loongson-3A6000-HV @ 2500.00MHz | bench.old | bench.new | | sec/op | sec/op vs base | Write64 277.8n ± 0% 113.5n ± 0% -59.14% (p=0.000 n=10) Write1K 4.246µ ± 0% 1.736µ ± 0% -59.11% (p=0.000 n=10) Sum64 289.9n ± 0% 137.7n ± 0% -52.51% (p=0.000 n=10) Sum1K 4.265µ ± 0% 1.758µ ± 0% -58.78% (p=0.000 n=10) geomean 1.099µ 467.3n -57.48% | bench.old | bench.new | | B/s | B/s vs base | Write64 219.7Mi ± 0% 537.9Mi ± 0% +144.86% (p=0.000 n=10) Write1K 230.0Mi ± 0% 562.6Mi ± 0% +144.62% (p=0.000 n=10) Sum64 210.5Mi ± 0% 443.3Mi ± 0% +110.59% (p=0.000 n=10) Sum1K 229.0Mi ± 0% 555.5Mi ± 0% +142.64% (p=0.000 n=10) geomean 222.1Mi 522.5Mi +135.21% goos: linux goarch: loong64 pkg: golang.org/x/crypto/blake2s cpu: Loongson-3A5000 @ 2500.00MHz | bench.old | bench.new | | sec/op | sec/op vs base | Write64 373.8n ± 0% 175.0n ± 0% -53.18% (p=0.000 n=10) Write1K 5.763µ ± 0% 2.595µ ± 0% -54.97% (p=0.000 n=10) Sum64 397.8n ± 0% 205.7n ± 0% -48.29% (p=0.000 n=10) Sum1K 5.787µ ± 0% 2.627µ ± 0% -54.61% (p=0.000 n=10) geomean 1.492µ 703.8n -52.83% | bench.old | bench.new | | B/s | B/s vs base | Write64 163.3Mi ± 0% 348.9Mi ± 0% +113.62% (p=0.000 n=10) Write1K 169.5Mi ± 0% 376.3Mi ± 0% +122.09% (p=0.000 n=10) Sum64 153.4Mi ± 0% 296.7Mi ± 0% +93.37% (p=0.000 n=10) Sum1K 168.7Mi ± 0% 371.8Mi ± 0% +120.33% (p=0.000 n=10) geomean 163.6Mi 346.9Mi +112.03% Change-Id: Id91ffbefc538bce294875d72e6cde72fea43afbf Reviewed-on: https://go-review.googlesource.com/c/crypto/+/661215 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Carlos Amedee <carlos@golang.org> Auto-Submit: Carlos Amedee <carlos@golang.org> Reviewed-by: abner chenc <chenguoqi@loongson.cn> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2023-10-11all: update go directive to 1.18Dmitri Shuralyov
Done with: go get go@1.18 go mod tidy go fix ./... Using go1.21.3. Also update avo to v0.5.0 in the curve25519/internal/field/_asm module. It's newer and produces no diff in the generated code. For golang/go#60268. Change-Id: I9bd771ee8561595d7f68aaca76df6e3e33d35013 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/534141 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Damien Neil <dneil@google.com> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2021-02-20all: go fmt ./...Russ Cox
Make all our package sources use Go 1.17 gofmt format (adding //go:build lines). Not strictly necessary but will avoid spurious changes as files are edited. Part of //go:build change (#41184). See https://golang.org/design/draft-gobuild Change-Id: I70526bf588bf4078887e567795867ece785d666b Reviewed-on: https://go-review.googlesource.com/c/crypto/+/294415 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2020-12-03all: build tags: appengine,!gccgo => purego,gcTamir Duberstein
appengine is obsolete and superseded by purego, and gc is a more precise tag for files that use gc-syntax assembly. Change-Id: I716f59de772ebeee4adf4d2a432edf300122cef0 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/269920 Trust: Ian Lance Taylor <iant@golang.org> Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Filippo Valsorda <filippo@golang.org>
2017-07-05blake2s: implement BLAKE2XAndreas Auernhammer
This CL implements BLAKE2X, a extensible-output functions (XOF) on top of BLAKE2s. BLAKE2x is described in https://blake2.net/blake2x.pdf Change-Id: I20838811e270f4767b8bd5e239a1fe1fb994fe1c Reviewed-on: https://go-review.googlesource.com/38054 Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
2016-10-28blake2s: fix build constraintsAdam Langley
Having a trailing comma before a space doesn't mean that the next option will be ANDed rather than ORed. This worked with the standard toolchain because the filenames prevented the incorrect build constraints for other platforms from being acted on. Change-Id: Iaee5b60a7496166f23fc36319abe07c7a7ec04e5 Reviewed-on: https://go-review.googlesource.com/32311 Run-TryBot: Adam Langley <agl@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-10-24blake2s: test all four hashing implementationsAustin Clements
This adds use* flags for all arches so a common test can observe what implementations are supported and test all supported implementations. Change-Id: Icc9c3c1d15626e95f0446493b7fa3159bbe9567d Reviewed-on: https://go-review.googlesource.com/31712 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Andreas Auernhammer <aead@mail.de>
2016-10-17blake2s: new packageAndreas Auernhammer
Add hash function BLAKE2s defined in RFC 7693. On amd64/SSE4: name time/op Write64-4 125ns ± 0% Write1K-4 1.64µs ± 1% Sum64-4 152ns ± 0% Sum1K-4 1.67µs ± 1% name speed Write64-4 508MB/s ± 0% Write1K-4 624MB/s ± 1% Sum64-4 420MB/s ± 0% Sum1K-4 612MB/s ± 1% On amd64/SSSE3: name time/op Write64-4 172ns ± 0% Write1K-4 2.42µs ± 0% Sum64-4 172ns ± 0% Sum1K-4 2.42µs ± 0% name speed Write64-4 370MB/s ± 0% Write1K-4 423MB/s ± 0% Sum64-4 370MB/s ± 0% Sum1K-4 422MB/s ± 0% Change-Id: I5a17cc32d8f17d43db8b1d879af6ab68b44d630c Reviewed-on: https://go-review.googlesource.com/30913 Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>