25 lines
		
	
	
		
			578 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
		
			578 B
		
	
	
	
		
			Go
		
	
	
	
	
	
|   | // Copyright 2016 The Go Authors. All rights reserved. | ||
|  | // Use of this source code is governed by a BSD-style | ||
|  | // license that can be found in the LICENSE file. | ||
|  | 
 | ||
|  | // +build !go1.7,amd64,!gccgo,!appengine | ||
|  | 
 | ||
|  | package blake2b | ||
|  | 
 | ||
|  | import "golang.org/x/sys/cpu" | ||
|  | 
 | ||
|  | func init() { | ||
|  | 	useSSE4 = cpu.X86.HasSSE41 | ||
|  | } | ||
|  | 
 | ||
|  | //go:noescape | ||
|  | func fSSE4(h *[8]uint64, m *[16]uint64, c0, c1 uint64, flag uint64, rounds uint64) | ||
|  | 
 | ||
|  | func f(h *[8]uint64, m *[16]uint64, c0, c1 uint64, flag uint64, rounds uint64) { | ||
|  | 	if useSSE4 { | ||
|  | 		fSSE4(h, m, c0, c1, flag, rounds) | ||
|  | 	} else { | ||
|  | 		fGeneric(h, m, c0, c1, flag, rounds) | ||
|  | 	} | ||
|  | } |