Files
xgcl/sm/sm3/block_amd64.go
2026-05-27 23:03:00 +08:00

27 lines
439 B
Go

package sm3
import (
"golang.org/x/sys/cpu"
)
var useAVX2 = cpu.X86.HasAVX2 && cpu.X86.HasBMI2
//go:noescape
func blockAsmAVX2(dig *digest, p []byte)
var block func(dig *digest, p []byte)
func init() {
if useAVX2 {
block = blockAsmAVX2
} else {
block = blockGeneric
}
}
// BlockAsmAVX2 export blockAsmAVX2 for test
var BlockAsmAVX2 = blockAsmAVX2
// BlockGeneric export blockGeneric for test
var BlockGeneric = blockGeneric