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