main
1//go:build amd64 && !purego
2// +build amd64,!purego
3
4package x448
5
6import (
7 fp "github.com/cloudflare/circl/math/fp448"
8 "golang.org/x/sys/cpu"
9)
10
11var hasBmi2Adx = cpu.X86.HasBMI2 && cpu.X86.HasADX
12
13var _ = hasBmi2Adx
14
15func double(x, z *fp.Elt) { doubleAmd64(x, z) }
16func diffAdd(w *[5]fp.Elt, b uint) { diffAddAmd64(w, b) }
17func ladderStep(w *[5]fp.Elt, b uint) { ladderStepAmd64(w, b) }
18func mulA24(z, x *fp.Elt) { mulA24Amd64(z, x) }
19
20//go:noescape
21func doubleAmd64(x, z *fp.Elt)
22
23//go:noescape
24func diffAddAmd64(w *[5]fp.Elt, b uint)
25
26//go:noescape
27func ladderStepAmd64(w *[5]fp.Elt, b uint)
28
29//go:noescape
30func mulA24Amd64(z, x *fp.Elt)