github.com/bcskill/bcschain/v3@v3.4.9-beta2/crypto/blake2b/blake2b_amd64.go (about) 1 // Copyright 2016 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 !go1.7,amd64,!gccgo,!appengine 6 7 package blake2b 8 9 import "golang.org/x/sys/cpu" 10 11 func init() { 12 useSSE4 = cpu.X86.HasSSE41 13 } 14 15 //go:noescape 16 func fSSE4(h *[8]uint64, m *[16]uint64, c0, c1 uint64, flag uint64, rounds uint64) 17 18 func f(h *[8]uint64, m *[16]uint64, c0, c1 uint64, flag uint64, rounds uint64) { 19 if useSSE4 { 20 fSSE4(h, m, c0, c1, flag, rounds) 21 } else { 22 fGeneric(h, m, c0, c1, flag, rounds) 23 } 24 }