aboutsummaryrefslogtreecommitdiff
path: root/src/hash
diff options
context:
space:
mode:
authorFangming.Fang <fangming.fang@arm.com>2017-11-08 02:17:51 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2017-11-14 19:07:15 +0000
commit66bfbd9ad7a93ea85175bf1db663ca5f440666e3 (patch)
tree7ada947a495b21f1520f1534a287ef9dcc398b0e /src/hash
parentb3ee6f0c2e8be8701ec15f3fb91397e086f106ae (diff)
downloadgo-66bfbd9ad7a93ea85175bf1db663ca5f440666e3.tar.gz
go-66bfbd9ad7a93ea85175bf1db663ca5f440666e3.zip
internal/cpu: detect cpu features in internal/cpu package
change hash/crc32 package to use cpu package instead of using runtime internal variables to check crc32 instruction Change-Id: I8f88d2351bde8ed4e256f9adf822a08b9a00f532 Reviewed-on: https://go-review.googlesource.com/76490 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/hash')
-rw-r--r--src/hash/crc32/crc32_arm64.go5
-rw-r--r--src/hash/crc32/crc32_arm64.s6
2 files changed, 3 insertions, 8 deletions
diff --git a/src/hash/crc32/crc32_arm64.go b/src/hash/crc32/crc32_arm64.go
index 17044861c7..1f8779d506 100644
--- a/src/hash/crc32/crc32_arm64.go
+++ b/src/hash/crc32/crc32_arm64.go
@@ -8,11 +8,12 @@
package crc32
-func supportsCRC32() bool
+import "internal/cpu"
+
func castagnoliUpdate(crc uint32, p []byte) uint32
func ieeeUpdate(crc uint32, p []byte) uint32
-var hasCRC32 = supportsCRC32()
+var hasCRC32 = cpu.ARM64.HasCRC32
func archAvailableCastagnoli() bool {
return hasCRC32
diff --git a/src/hash/crc32/crc32_arm64.s b/src/hash/crc32/crc32_arm64.s
index 26a86e4efa..53274c5623 100644
--- a/src/hash/crc32/crc32_arm64.s
+++ b/src/hash/crc32/crc32_arm64.s
@@ -89,9 +89,3 @@ less_than_2:
done:
MOVWU R9, ret+32(FP)
RET
-
-// func supportsCRC32() bool
-TEXT ·supportsCRC32(SB),NOSPLIT,$0-1
- MOVB runtime·supportCRC32(SB), R0
- MOVB R0, ret+0(FP)
- RET