disable sm3 sm4 ni via env. variable

This commit is contained in:
Sun Yimin 2023-03-08 15:39:48 +08:00 committed by GitHub
parent 6bbcc97bd4
commit 818159283c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 3 deletions

View File

@ -45,4 +45,6 @@ jobs:
- name: Test - name: Test
run: go test -v -short ./... run: go test -v -short ./...
env: env:
DISABLE_SM3NI: 1
DISABLE_SM4NI: 1
GOARCH: ${{ matrix.arch }} GOARCH: ${{ matrix.arch }}

View File

@ -3,9 +3,12 @@
package sm3 package sm3
import "golang.org/x/sys/cpu" import (
"os"
"golang.org/x/sys/cpu"
)
var useSM3NI = cpu.ARM64.HasSM3 var useSM3NI = cpu.ARM64.HasSM3 && os.Getenv("DISABLE_SM3NI")) != "1"
var t = []uint32{ var t = []uint32{
0x79cc4519, 0x79cc4519,

View File

@ -5,12 +5,13 @@ package sm4
import ( import (
"crypto/cipher" "crypto/cipher"
"os"
"github.com/emmansun/gmsm/internal/alias" "github.com/emmansun/gmsm/internal/alias"
"golang.org/x/sys/cpu" "golang.org/x/sys/cpu"
) )
var supportSM4 = cpu.ARM64.HasSM4 var supportSM4 = cpu.ARM64.HasSM4 && os.Getenv("DISABLE_SM4NI") != "1"
var supportsAES = cpu.X86.HasAES || cpu.ARM64.HasAES var supportsAES = cpu.X86.HasAES || cpu.ARM64.HasAES
var supportsGFMUL = cpu.X86.HasPCLMULQDQ || cpu.ARM64.HasPMULL var supportsGFMUL = cpu.X86.HasPCLMULQDQ || cpu.ARM64.HasPMULL
var useAVX2 = cpu.X86.HasAVX2 && cpu.X86.HasBMI2 var useAVX2 = cpu.X86.HasAVX2 && cpu.X86.HasBMI2