diff options
author | Fangming.Fang <fangming.fang@arm.com> | 2017-11-08 02:17:51 +0000 |
---|---|---|
committer | Brad Fitzpatrick <bradfitz@golang.org> | 2017-11-14 19:07:15 +0000 |
commit | 66bfbd9ad7a93ea85175bf1db663ca5f440666e3 (patch) | |
tree | 7ada947a495b21f1520f1534a287ef9dcc398b0e /src/hash | |
parent | b3ee6f0c2e8be8701ec15f3fb91397e086f106ae (diff) | |
download | go-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.go | 5 | ||||
-rw-r--r-- | src/hash/crc32/crc32_arm64.s | 6 |
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 |