mirror of
https://github.com/emmansun/gmsm.git
synced 2025-04-26 12:16:20 +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"
|
"os"
|
||||||
|
|
||||||
"github.com/emmansun/gmsm/internal/alias"
|
"github.com/emmansun/gmsm/internal/alias"
|
||||||
|
"github.com/emmansun/gmsm/internal/cpuid"
|
||||||
"golang.org/x/sys/cpu"
|
"golang.org/x/sys/cpu"
|
||||||
)
|
)
|
||||||
|
|
||||||
var supportSM4 = cpu.ARM64.HasSM4 && os.Getenv("DISABLE_SM4NI") != "1"
|
var supportSM4 = cpu.ARM64.HasSM4 && os.Getenv("DISABLE_SM4NI") != "1"
|
||||||
var supportsAES = cpu.X86.HasAES || cpu.ARM64.HasAES
|
var supportsAES = cpuid.HasAES
|
||||||
var supportsGFMUL = cpu.X86.HasPCLMULQDQ || cpu.ARM64.HasPMULL
|
var supportsGFMUL = cpuid.HasGFMUL
|
||||||
var useAVX2 = cpu.X86.HasAVX2
|
var useAVX2 = cpu.X86.HasAVX2
|
||||||
var useAVX = cpu.X86.HasAVX
|
var useAVX = cpu.X86.HasAVX
|
||||||
|
|
||||||
|
@ -2,11 +2,14 @@
|
|||||||
|
|
||||||
package zuc
|
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 useAVX = cpu.X86.HasAVX
|
||||||
var supportsGFMUL = cpu.X86.HasPCLMULQDQ || cpu.ARM64.HasPMULL
|
|
||||||
|
|
||||||
//go:noescape
|
//go:noescape
|
||||||
func eia3Round16B(t *uint32, keyStream *uint32, p *byte, tagSize int)
|
func eia3Round16B(t *uint32, keyStream *uint32, p *byte, tagSize int)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user