diff --git a/zsl-golang/zsl/sha256/sha256block_amd64.go b/zsl-golang/zsl/sha256/sha256block_amd64.go new file mode 100644 index 0000000..1c631af --- /dev/null +++ b/zsl-golang/zsl/sha256/sha256block_amd64.go @@ -0,0 +1,7 @@ +package sha256 + +import ( + "golang.org/x/sys/cpu" +) + +var useAVX2 = cpu.X86.HasAVX2 && cpu.X86.HasBMI2 diff --git a/zsl-golang/zsl/sha256/sha256block_amd64.s b/zsl-golang/zsl/sha256/sha256block_amd64.s index 6ab3b52..12de75f 100644 --- a/zsl-golang/zsl/sha256/sha256block_amd64.s +++ b/zsl-golang/zsl/sha256/sha256block_amd64.s @@ -559,7 +559,9 @@ ADDL y3, h // h = t1 + S0 + MAJ // -- TEXT ·block(SB), 0, $536-32 - CMPB runtime·support_avx2(SB), $1 +// CMPB runtime·support_avx2(SB), $1 + CMPB ·useAVX2(SB), $1 + JE avx2 MOVQ p_base+8(FP), SI