c882e8e8ab
Mapping almost 1:1 from generic Go lines to Avo lines. Again a little faster, as a treat. (Probably due to better pipelining of the reduction chains.) name old time/op new time/op delta Add-4 7.87ns ± 2% 7.93ns ± 1% ~ (p=0.065 n=10+9) Mul-4 18.9ns ± 2% 18.4ns ± 1% -2.20% (p=0.000 n=10+9) Mul32-4 7.22ns ± 1% 7.19ns ± 1% ~ (p=0.128 n=10+9) BasepointMul-4 21.4µs ± 1% 21.1µs ± 1% -1.54% (p=0.000 n=10+10) ScalarMul-4 67.3µs ± 2% 67.2µs ± 1% ~ (p=0.579 n=10+10) VartimeDoubleBaseMul-4 62.5µs ± 2% 62.9µs ± 1% ~ (p=0.436 n=10+10) MultiscalarMulSize8-4 246µs ± 0% 246µs ± 1% ~ (p=0.631 n=10+10)
16 lines
353 B
Go
16 lines
353 B
Go
// Copyright (c) 2020 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// +build arm64,gc,!purego
|
|
|
|
package edwards25519
|
|
|
|
//go:noescape
|
|
func carryPropagate(v *fieldElement)
|
|
|
|
func (v *fieldElement) carryPropagate() *fieldElement {
|
|
carryPropagate(v)
|
|
return v
|
|
}
|