diff --git a/sha256.go b/sha256.go index 71b65d2..3d514b4 100644 --- a/sha256.go +++ b/sha256.go @@ -76,22 +76,6 @@ ) var blockfunc blockfuncType - -func block(dig *digest, p []byte) { - if blockfunc == blockfuncSha { - blockShaGo(dig, p) - } else if blockfunc == blockfuncAvx2 { - blockAvx2Go(dig, p) - } else if blockfunc == blockfuncAvx { - blockAvxGo(dig, p) - } else if blockfunc == blockfuncSsse { - blockSsseGo(dig, p) - } else if blockfunc == blockfuncArm { - blockArmGo(dig, p) - } else if blockfunc == blockfuncGeneric { - blockGeneric(dig, p) - } -} func init() { is386bit := runtime.GOARCH == "386" diff --git a/sha256blockAvx2_amd64.s b/sha256blockAvx2_amd64.s index 079d6b9..80b0b73 100644 --- a/sha256blockAvx2_amd64.s +++ b/sha256blockAvx2_amd64.s @@ -1,4 +1,4 @@ -//+build !noasm !appengine +//+build !noasm,!appengine // SHA256 implementation for AVX2 diff --git a/sha256blockAvx512_amd64.s b/sha256blockAvx512_amd64.s index 14ae8a2..275bcac 100644 --- a/sha256blockAvx512_amd64.s +++ b/sha256blockAvx512_amd64.s @@ -1,3 +1,5 @@ +//+build !noasm,!appengine + TEXT ·sha256X16Avx512(SB), 7, $0 MOVQ digests+0(FP), DI MOVQ scratch+8(FP), R12 diff --git a/sha256blockAvx_amd64.s b/sha256blockAvx_amd64.s index 4a6b28d..9f444d4 100644 --- a/sha256blockAvx_amd64.s +++ b/sha256blockAvx_amd64.s @@ -1,4 +1,4 @@ -//+build !noasm !appengine +//+build !noasm,!appengine // SHA256 implementation for AVX diff --git a/sha256blockSha_amd64.s b/sha256blockSha_amd64.s index a107586..909fc0e 100644 --- a/sha256blockSha_amd64.s +++ b/sha256blockSha_amd64.s @@ -1,4 +1,4 @@ -//+build !noasm !appengine +//+build !noasm,!appengine // SHA intrinsic version of SHA256 diff --git a/sha256blockSsse_amd64.s b/sha256blockSsse_amd64.s index 71666fc..7afb45c 100644 --- a/sha256blockSsse_amd64.s +++ b/sha256blockSsse_amd64.s @@ -1,4 +1,4 @@ -//+build !noasm !appengine +//+build !noasm,!appengine // SHA256 implementation for SSSE3 diff --git a/sha256block_noasm.go b/sha256block_noasm.go index 356ca53..1d40fbc 100644 --- a/sha256block_noasm.go +++ b/sha256block_noasm.go @@ -17,6 +17,10 @@ */ package sha256 + +func block(dig *digest, p []byte) { + blockGeneric(dig, p) +} func blockGeneric(dig *digest, p []byte) { var w [64]uint32 diff --git a/sha256block_other.go b/sha256block_other.go index d1893dd..f586295 100644 --- a/sha256block_other.go +++ b/sha256block_other.go @@ -22,3 +22,19 @@ func blockSsseGo(dig *digest, p []byte) {} func blockShaGo(dig *digest, p []byte) {} func blockArmGo(dig *digest, p []byte) {} + +func block(dig *digest, p []byte) { + if blockfunc == blockfuncSha { + blockShaGo(dig, p) + } else if blockfunc == blockfuncAvx2 { + blockAvx2Go(dig, p) + } else if blockfunc == blockfuncAvx { + blockAvxGo(dig, p) + } else if blockfunc == blockfuncSsse { + blockSsseGo(dig, p) + } else if blockfunc == blockfuncArm { + blockArmGo(dig, p) + } else if blockfunc == blockfuncGeneric { + blockGeneric(dig, p) + } +}