github.com/devops-filetransfer/sshego@v7.0.4+incompatible/_vendor/golang.org/x/crypto/blake2s/blake2s_386.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 386,!gccgo,!appengine 6 7 package blake2s 8 9 var ( 10 useSSE4 = false 11 useSSSE3 = supportSSSE3() 12 useSSE2 = supportSSE2() 13 useGeneric = true 14 ) 15 16 //go:noescape 17 func supportSSE2() bool 18 19 //go:noescape 20 func supportSSSE3() bool 21 22 //go:noescape 23 func hashBlocksSSE2(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) 24 25 //go:noescape 26 func hashBlocksSSSE3(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) 27 28 func hashBlocks(h *[8]uint32, c *[2]uint32, flag uint32, blocks []byte) { 29 if useSSSE3 { 30 hashBlocksSSSE3(h, c, flag, blocks) 31 } else if useSSE2 { 32 hashBlocksSSE2(h, c, flag, blocks) 33 } else { 34 hashBlocksGeneric(h, c, flag, blocks) 35 } 36 }