mirror of
https://github.com/emmansun/gmsm.git
synced 2025-04-26 20:26:19 +08:00
fix darwin cpu feature detect issue
This commit is contained in:
parent
5cf5e347bc
commit
8198f2aa8e
6
internal/cpuid/cpuid_amd64.go
Normal file
6
internal/cpuid/cpuid_amd64.go
Normal file
@ -0,0 +1,6 @@
|
||||
package cpuid
|
||||
|
||||
import "golang.org/x/sys/cpu"
|
||||
|
||||
var HasAES = cpu.X86.HasAES
|
||||
var HasGFMUL = cpu.X86.HasPCLMULQDQ
|
6
internal/cpuid/cpuid_arm64.go
Normal file
6
internal/cpuid/cpuid_arm64.go
Normal file
@ -0,0 +1,6 @@
|
||||
package cpuid
|
||||
|
||||
import "golang.org/x/sys/cpu"
|
||||
|
||||
var HasAES = cpu.ARM64.HasAES
|
||||
var HasGFMUL = cpu.ARM64.HasPMULL
|
10
internal/cpuid/cpuid_arm64_darwin.go
Normal file
10
internal/cpuid/cpuid_arm64_darwin.go
Normal file
@ -0,0 +1,10 @@
|
||||
//go:build arm64 && darwin && !ios
|
||||
|
||||
package cpuid
|
||||
|
||||
// There are no hw.optional sysctl values for the below features on Mac OS 11.0
|
||||
// to detect their supported state dynamically. Assume the CPU features that
|
||||
// Apple Silicon M1 supports to be available as a minimal set of features
|
||||
// to all Go programs running on darwin/arm64.
|
||||
var HasAES = true
|
||||
var HasGFMUL = true
|
@ -7,12 +7,13 @@ import (
|
||||
"os"
|
||||
|
||||
"github.com/emmansun/gmsm/internal/alias"
|
||||
"github.com/emmansun/gmsm/internal/cpuid"
|
||||
"golang.org/x/sys/cpu"
|
||||
)
|
||||
|
||||
var supportSM4 = cpu.ARM64.HasSM4 && os.Getenv("DISABLE_SM4NI") != "1"
|
||||
var supportsAES = cpu.X86.HasAES || cpu.ARM64.HasAES
|
||||
var supportsGFMUL = cpu.X86.HasPCLMULQDQ || cpu.ARM64.HasPMULL
|
||||
var supportsAES = cpuid.HasAES
|
||||
var supportsGFMUL = cpuid.HasGFMUL
|
||||
var useAVX2 = cpu.X86.HasAVX2
|
||||
var useAVX = cpu.X86.HasAVX
|
||||
|
||||
|
@ -2,11 +2,14 @@
|
||||
|
||||
package zuc
|
||||
|
||||
import "golang.org/x/sys/cpu"
|
||||
import (
|
||||
"github.com/emmansun/gmsm/internal/cpuid"
|
||||
"golang.org/x/sys/cpu"
|
||||
)
|
||||
|
||||
var supportsAES = cpu.X86.HasAES || cpu.ARM64.HasAES
|
||||
var supportsAES = cpuid.HasAES
|
||||
var supportsGFMUL = cpuid.HasGFMUL
|
||||
var useAVX = cpu.X86.HasAVX
|
||||
var supportsGFMUL = cpu.X86.HasPCLMULQDQ || cpu.ARM64.HasPMULL
|
||||
|
||||
//go:noescape
|
||||
func eia3Round16B(t *uint32, keyStream *uint32, p *byte, tagSize int)
|
||||
|
Loading…
x
Reference in New Issue
Block a user