gnarl_hash_amd64.go raw
1 //go:build amd64 && !purego
2
3 package crypto
4
5 import "golang.org/x/sys/cpu"
6
7 var hasAVX2 = cpu.X86.HasAVX2
8
9 //go:noescape
10 func gnarlAccumulateAVX2(acc *[gnarlBasisPad]uint32, basis *[GnarlM][GnarlN][gnarlBasisPad]uint16, block *[gnarlInputBytes]byte)
11
12 func gnarlAccumulate(acc *[gnarlBasisPad]uint32, basis *[GnarlM][GnarlN][gnarlBasisPad]uint16, block *[gnarlInputBytes]byte) {
13 if hasAVX2 {
14 gnarlAccumulateAVX2(acc, basis, block)
15 return
16 }
17 gnarlAccumulateGeneric(acc, basis, block)
18 }
19