diff options
| author | Egon Elbre <egonelbre@gmail.com> | 2021-07-01 18:56:44 +0300 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2023-11-27 17:24:02 +0000 |
| commit | bda2f3f5cfce3f27039acccd823693f6d67c2a74 (patch) | |
| tree | 884e7e0cd674a3af4a7bb051a972de8b9306b245 | |
| parent | 325b735346247f48971d2b37d24dd180a35f391f (diff) | |
| download | go-x-crypto-bda2f3f5cfce3f27039acccd823693f6d67c2a74.tar.xz | |
argon2: avoid clobbering BP
go vet was reporting
blamka_amd64.s:203:1: [amd64] mixBlocksSSE2: invalid offset a+24(FP); expected a+8(FP)
blamka_amd64.s:226:1: [amd64] xorBlocksSSE2: invalid offset a+24(FP); expected a+8(FP)
blamka_amd64.s:204:1: frame pointer is clobbered before saving
blamka_amd64.s:227:1: frame pointer is clobbered before saving
Also fix a similar naming issue in sha3:
sha3\keccakf_amd64.s:325:1: [amd64] keccakF1600: unknown variable state; offset 0 is a+0(FP)
Updates golang/go#47027
Change-Id: Ia74852cdb0721ae0216787054197b0cac9e1c0f8
Reviewed-on: https://go-review.googlesource.com/c/crypto/+/332289
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Nicola Murino <nicola.murino@gmail.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
| -rw-r--r-- | argon2/blamka_amd64.s | 12 | ||||
| -rw-r--r-- | sha3/keccakf_amd64.s | 4 |
2 files changed, 8 insertions, 8 deletions
diff --git a/argon2/blamka_amd64.s b/argon2/blamka_amd64.s index f3b653a..6713acc 100644 --- a/argon2/blamka_amd64.s +++ b/argon2/blamka_amd64.s @@ -199,8 +199,8 @@ TEXT ·mixBlocksSSE2(SB), 4, $0-32 MOVQ out+0(FP), DX MOVQ a+8(FP), AX MOVQ b+16(FP), BX - MOVQ a+24(FP), CX - MOVQ $128, BP + MOVQ c+24(FP), CX + MOVQ $128, DI loop: MOVOU 0(AX), X0 @@ -213,7 +213,7 @@ loop: ADDQ $16, BX ADDQ $16, CX ADDQ $16, DX - SUBQ $2, BP + SUBQ $2, DI JA loop RET @@ -222,8 +222,8 @@ TEXT ·xorBlocksSSE2(SB), 4, $0-32 MOVQ out+0(FP), DX MOVQ a+8(FP), AX MOVQ b+16(FP), BX - MOVQ a+24(FP), CX - MOVQ $128, BP + MOVQ c+24(FP), CX + MOVQ $128, DI loop: MOVOU 0(AX), X0 @@ -238,6 +238,6 @@ loop: ADDQ $16, BX ADDQ $16, CX ADDQ $16, DX - SUBQ $2, BP + SUBQ $2, DI JA loop RET diff --git a/sha3/keccakf_amd64.s b/sha3/keccakf_amd64.s index 8fb26ae..1f53938 100644 --- a/sha3/keccakf_amd64.s +++ b/sha3/keccakf_amd64.s @@ -319,9 +319,9 @@ MOVQ rDi, _si(oState); \ MOVQ rDo, _so(oState) \ -// func keccakF1600(state *[25]uint64) +// func keccakF1600(a *[25]uint64) TEXT ·keccakF1600(SB), 0, $200-8 - MOVQ state+0(FP), rpState + MOVQ a+0(FP), rpState // Convert the user state into an internal state NOTQ _be(rpState) |
