From 58121ac8cc34d7acc28b219d7be0134ee5edebde Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Thu, 7 Sep 2023 08:50:10 +0800 Subject: [PATCH] build: support plugin flag for amd64 #154 --- internal/sm2ec/p256_asm_amd64.s | 4 ++-- internal/sm2ec/p256_asm_ord.go | 4 ++-- internal/sm2ec/p256_asm_table_test.go | 4 ++-- internal/sm2ec/sm2p256.go | 4 ++-- internal/sm2ec/sm2p256_asm.go | 4 ++-- internal/sm2ec/sm2p256_asm_test.go | 4 ++-- internal/sm2ec/sm2p256_ord.go | 4 ++-- sm3/sm3block_amd64.go | 4 ++-- sm3/sm3block_amd64.s | 4 ++-- sm3/sm3block_generic.go | 4 ++-- sm9/bn256/gfp2_g1_amd64.s | 4 ++-- sm9/bn256/gfp2_g1_decl.go | 4 ++-- sm9/bn256/gfp2_g1_generic.go | 4 ++-- sm9/bn256/gfp_amd64.s | 4 ++-- sm9/bn256/gfp_decl.go | 4 ++-- sm9/bn256/gfp_generic.go | 4 ++-- zuc/asm_amd64.s | 4 ++-- zuc/core_asm.go | 7 ++----- zuc/core_generic.go | 4 ++-- zuc/eea_asm.go | 4 ++-- zuc/eea_generic.go | 4 ++-- zuc/eia_asm.go | 2 ++ 22 files changed, 44 insertions(+), 45 deletions(-) diff --git a/internal/sm2ec/p256_asm_amd64.s b/internal/sm2ec/p256_asm_amd64.s index 14d4156..e078cf7 100644 --- a/internal/sm2ec/p256_asm_amd64.s +++ b/internal/sm2ec/p256_asm_amd64.s @@ -4,8 +4,8 @@ // 256-bit primes" // https://link.springer.com/article/10.1007%2Fs13389-014-0090-x // https://eprint.iacr.org/2013/816.pdf -//go:build amd64 && !purego -// +build amd64,!purego +//go:build amd64 && !purego && !plugin +// +build amd64,!purego,!plugin #include "textflag.h" diff --git a/internal/sm2ec/p256_asm_ord.go b/internal/sm2ec/p256_asm_ord.go index 2dd7fee..de2548f 100644 --- a/internal/sm2ec/p256_asm_ord.go +++ b/internal/sm2ec/p256_asm_ord.go @@ -1,5 +1,5 @@ -//go:build (amd64 && !purego) || (arm64 && !purego) -// +build amd64,!purego arm64,!purego +//go:build (amd64 && !purego && !plugin) || (arm64 && !purego) +// +build amd64,!purego,!plugin arm64,!purego package sm2ec diff --git a/internal/sm2ec/p256_asm_table_test.go b/internal/sm2ec/p256_asm_table_test.go index 7a97406..991601b 100644 --- a/internal/sm2ec/p256_asm_table_test.go +++ b/internal/sm2ec/p256_asm_table_test.go @@ -1,5 +1,5 @@ -//go:build (amd64 && !purego) || (arm64 && !purego) -// +build amd64,!purego arm64,!purego +//go:build (amd64 && !purego && !plugin) || (arm64 && !purego) +// +build amd64,!purego,!plugin arm64,!purego package sm2ec diff --git a/internal/sm2ec/sm2p256.go b/internal/sm2ec/sm2p256.go index cbd5638..dd83cfd 100644 --- a/internal/sm2ec/sm2p256.go +++ b/internal/sm2ec/sm2p256.go @@ -4,8 +4,8 @@ // Code generated by generate.go. DO NOT EDIT. -//go:build !amd64 && !arm64 || purego -// +build !amd64,!arm64 purego +//go:build !amd64 && !arm64 || purego || plugin +// +build !amd64,!arm64 purego plugin package sm2ec diff --git a/internal/sm2ec/sm2p256_asm.go b/internal/sm2ec/sm2p256_asm.go index 96b5c30..7a98e97 100644 --- a/internal/sm2ec/sm2p256_asm.go +++ b/internal/sm2ec/sm2p256_asm.go @@ -7,8 +7,8 @@ // 256-bit primes" // https://link.springer.com/article/10.1007%2Fs13389-014-0090-x // https://eprint.iacr.org/2013/816.pdf -//go:build (amd64 && !purego) || (arm64 && !purego) -// +build amd64,!purego arm64,!purego +//go:build (amd64 && !purego && !plugin) || (arm64 && !purego) +// +build amd64,!purego,!plugin arm64,!purego package sm2ec diff --git a/internal/sm2ec/sm2p256_asm_test.go b/internal/sm2ec/sm2p256_asm_test.go index f467825..f4ef0b8 100644 --- a/internal/sm2ec/sm2p256_asm_test.go +++ b/internal/sm2ec/sm2p256_asm_test.go @@ -1,5 +1,5 @@ -//go:build (amd64 && !purego) || (arm64 && !purego) -// +build amd64,!purego arm64,!purego +//go:build (amd64 && !purego && !plugin) || (arm64 && !purego) +// +build amd64,!purego,!plugin arm64,!purego package sm2ec diff --git a/internal/sm2ec/sm2p256_ord.go b/internal/sm2ec/sm2p256_ord.go index 1f3a5e7..1267def 100644 --- a/internal/sm2ec/sm2p256_ord.go +++ b/internal/sm2ec/sm2p256_ord.go @@ -1,5 +1,5 @@ -//go:build (!amd64 && !arm64) || purego -// +build !amd64,!arm64 purego +//go:build (!amd64 && !arm64) || purego || plugin +// +build !amd64,!arm64 purego plugin package sm2ec diff --git a/sm3/sm3block_amd64.go b/sm3/sm3block_amd64.go index 5513acd..1ac7142 100644 --- a/sm3/sm3block_amd64.go +++ b/sm3/sm3block_amd64.go @@ -1,5 +1,5 @@ -//go:build amd64 && !purego -// +build amd64,!purego +//go:build amd64 && !purego && !plugin +// +build amd64,!purego,!plugin package sm3 diff --git a/sm3/sm3block_amd64.s b/sm3/sm3block_amd64.s index 0e5a5e8..4679f11 100644 --- a/sm3/sm3block_amd64.s +++ b/sm3/sm3block_amd64.s @@ -1,5 +1,5 @@ -//go:build amd64 && !purego -// +build amd64,!purego +//go:build amd64 && !purego && !plugin +// +build amd64,!purego,!plugin #include "textflag.h" diff --git a/sm3/sm3block_generic.go b/sm3/sm3block_generic.go index e6ee6ca..1eb6db6 100644 --- a/sm3/sm3block_generic.go +++ b/sm3/sm3block_generic.go @@ -1,5 +1,5 @@ -//go:build !amd64 && !arm64 || purego -// +build !amd64,!arm64 purego +//go:build !amd64 && !arm64 || purego || plugin +// +build !amd64,!arm64 purego plugin package sm3 diff --git a/sm9/bn256/gfp2_g1_amd64.s b/sm9/bn256/gfp2_g1_amd64.s index 82f4996..4770464 100644 --- a/sm9/bn256/gfp2_g1_amd64.s +++ b/sm9/bn256/gfp2_g1_amd64.s @@ -1,5 +1,5 @@ -//go:build amd64 && !purego -// +build amd64,!purego +//go:build amd64 && !purego && !plugin +// +build amd64,!purego,!plugin #include "textflag.h" diff --git a/sm9/bn256/gfp2_g1_decl.go b/sm9/bn256/gfp2_g1_decl.go index 2fee40b..a572bbb 100644 --- a/sm9/bn256/gfp2_g1_decl.go +++ b/sm9/bn256/gfp2_g1_decl.go @@ -1,5 +1,5 @@ -//go:build (amd64 && !purego) || (arm64 && !purego) -// +build amd64,!purego arm64,!purego +//go:build (amd64 && !purego && !plugin) || (arm64 && !purego) +// +build amd64,!purego,!plugin arm64,!purego package bn256 diff --git a/sm9/bn256/gfp2_g1_generic.go b/sm9/bn256/gfp2_g1_generic.go index 0335c01..bff3831 100644 --- a/sm9/bn256/gfp2_g1_generic.go +++ b/sm9/bn256/gfp2_g1_generic.go @@ -1,5 +1,5 @@ -//go:build (!amd64 && !arm64) || purego -// +build !amd64,!arm64 purego +//go:build (!amd64 && !arm64) || purego || plugin +// +build !amd64,!arm64 purego plugin package bn256 diff --git a/sm9/bn256/gfp_amd64.s b/sm9/bn256/gfp_amd64.s index 8027c12..4949616 100644 --- a/sm9/bn256/gfp_amd64.s +++ b/sm9/bn256/gfp_amd64.s @@ -1,5 +1,5 @@ -//go:build amd64 && !purego -// +build amd64,!purego +//go:build amd64 && !purego && !plugin +// +build amd64,!purego,!plugin #include "textflag.h" diff --git a/sm9/bn256/gfp_decl.go b/sm9/bn256/gfp_decl.go index 589bd3f..9f826ce 100644 --- a/sm9/bn256/gfp_decl.go +++ b/sm9/bn256/gfp_decl.go @@ -1,5 +1,5 @@ -//go:build (amd64 && !purego) || (arm64 && !purego) -// +build amd64,!purego arm64,!purego +//go:build (amd64 && !purego && !plugin) || (arm64 && !purego) +// +build amd64,!purego,!plugin arm64,!purego package bn256 diff --git a/sm9/bn256/gfp_generic.go b/sm9/bn256/gfp_generic.go index 29264f0..c6d1a24 100644 --- a/sm9/bn256/gfp_generic.go +++ b/sm9/bn256/gfp_generic.go @@ -1,5 +1,5 @@ -//go:build (!amd64 && !arm64) || purego -// +build !amd64,!arm64 purego +//go:build (!amd64 && !arm64) || purego || plugin +// +build !amd64,!arm64 purego plugin package bn256 diff --git a/zuc/asm_amd64.s b/zuc/asm_amd64.s index 83dfa2c..aa15ba9 100644 --- a/zuc/asm_amd64.s +++ b/zuc/asm_amd64.s @@ -1,8 +1,8 @@ // Referenced Intel(R) Multi-Buffer Crypto for IPsec // https://github.com/intel/intel-ipsec-mb/ // https://gist.github.com/emmansun/15d2fce6659ab97ffaf7ab66e278caee -//go:build amd64 && !purego -// +build amd64,!purego +//go:build amd64 && !purego && !plugin +// +build amd64,!purego,!plugin #include "textflag.h" diff --git a/zuc/core_asm.go b/zuc/core_asm.go index 9734f0d..e1eacda 100644 --- a/zuc/core_asm.go +++ b/zuc/core_asm.go @@ -1,5 +1,5 @@ -//go:build (amd64 && !purego) || (arm64 && !purego) -// +build amd64,!purego arm64,!purego +//go:build (amd64 && !purego && !plugin) || (arm64 && !purego) +// +build amd64,!purego,!plugin arm64,!purego package zuc @@ -7,9 +7,6 @@ import ( "golang.org/x/sys/cpu" ) -var supportsAES = cpu.X86.HasAES || cpu.ARM64.HasAES -var useAVX = cpu.X86.HasAVX - // Generate single keyword, 4 bytes. // //go:noescape diff --git a/zuc/core_generic.go b/zuc/core_generic.go index 4c75066..9944098 100644 --- a/zuc/core_generic.go +++ b/zuc/core_generic.go @@ -1,5 +1,5 @@ -//go:build (!amd64 && !arm64) || purego -// +build !amd64,!arm64 purego +//go:build (!amd64 && !arm64) || purego || plugin +// +build !amd64,!arm64 purego plugin package zuc diff --git a/zuc/eea_asm.go b/zuc/eea_asm.go index 1f06425..d2d6af8 100644 --- a/zuc/eea_asm.go +++ b/zuc/eea_asm.go @@ -1,5 +1,5 @@ -//go:build (amd64 && !purego) || (arm64 && !purego) -// +build amd64,!purego arm64,!purego +//go:build (amd64 && !purego && !plugin) || (arm64 && !purego) +// +build amd64,!purego,!plugin arm64,!purego package zuc diff --git a/zuc/eea_generic.go b/zuc/eea_generic.go index 641ee1b..7ae727e 100644 --- a/zuc/eea_generic.go +++ b/zuc/eea_generic.go @@ -1,5 +1,5 @@ -//go:build !amd64 && !arm64 || purego -// +build !amd64,!arm64 purego +//go:build !amd64 && !arm64 || purego || plugin +// +build !amd64,!arm64 purego plugin package zuc diff --git a/zuc/eia_asm.go b/zuc/eia_asm.go index 1a55c51..e4ba3c4 100644 --- a/zuc/eia_asm.go +++ b/zuc/eia_asm.go @@ -5,6 +5,8 @@ package zuc import "golang.org/x/sys/cpu" +var supportsAES = cpu.X86.HasAES || cpu.ARM64.HasAES +var useAVX = cpu.X86.HasAVX var supportsGFMUL = cpu.X86.HasPCLMULQDQ || cpu.ARM64.HasPMULL //go:noescape