From 918385ee41a5c3a7e44a1fc97881e0801381b1f4 Mon Sep 17 00:00:00 2001 From: Kobi Gurkan Date: Sun, 28 Oct 2018 12:19:14 +0200 Subject: [PATCH] Fix sha256 implementation to fit changes in Go assembly for avx2 detection --- zsl-golang/zsl/sha256/sha256block_amd64.go | 7 +++++++ zsl-golang/zsl/sha256/sha256block_amd64.s | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 zsl-golang/zsl/sha256/sha256block_amd64.go 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