github.com/slayercat/go@v0.0.0-20170428012452-c51559813f61/src/crypto/sha512/sha512block_amd64.go (about) 1 // Copyright 2013 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // +build amd64 6 7 package sha512 8 9 //go:noescape 10 func blockAVX2(dig *digest, p []byte) 11 12 //go:noescape 13 func blockAMD64(dig *digest, p []byte) 14 15 //go:noescape 16 func checkAVX2() bool 17 18 var hasAVX2 = checkAVX2() 19 20 func block(dig *digest, p []byte) { 21 if hasAVX2 { 22 blockAVX2(dig, p) 23 } else { 24 blockAMD64(dig, p) 25 } 26 }