aboutsummaryrefslogtreecommitdiff
path: root/src/internal
diff options
context:
space:
mode:
authorMartin Möhrmann <moehrmann@google.com>2020-11-05 05:59:34 +0100
committerMartin Möhrmann <moehrmann@google.com>2020-11-05 10:46:08 +0000
commit3510a1e32cbc86b73db143aefcc00aadc44c27bd (patch)
treed2f7d74eb7d903b8c2a494e1ea3ca4f406a90582 /src/internal
parent3ef8562c9c2c7f6897572b05b70ac936a99fd043 (diff)
downloadgo-3510a1e32cbc86b73db143aefcc00aadc44c27bd.tar.gz
go-3510a1e32cbc86b73db143aefcc00aadc44c27bd.zip
internal/cpu: fix and cleanup ARM64 cpu feature fields and options
Remove all cpu features from the ARM64 struct that are not initialized to reduce cache lines used and to avoid those features being accidentially used without actual detection if they are present. Add missing option to mask the CPUID feature. Change-Id: I94bf90c0655de1af2218ac72117ac6c52adfc289 Reviewed-on: https://go-review.googlesource.com/c/go/+/267658 Run-TryBot: Martin Möhrmann <moehrmann@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com> Trust: Martin Möhrmann <moehrmann@google.com>
Diffstat (limited to 'src/internal')
-rw-r--r--src/internal/cpu/cpu.go17
-rw-r--r--src/internal/cpu/cpu_arm64.go1
2 files changed, 1 insertions, 17 deletions
diff --git a/src/internal/cpu/cpu.go b/src/internal/cpu/cpu.go
index 0ceedcd7d2..dab5d068ef 100644
--- a/src/internal/cpu/cpu.go
+++ b/src/internal/cpu/cpu.go
@@ -57,30 +57,13 @@ var ARM struct {
// The struct is padded to avoid false sharing.
var ARM64 struct {
_ CacheLinePad
- HasFP bool
- HasASIMD bool
- HasEVTSTRM bool
HasAES bool
HasPMULL bool
HasSHA1 bool
HasSHA2 bool
HasCRC32 bool
HasATOMICS bool
- HasFPHP bool
- HasASIMDHP bool
HasCPUID bool
- HasASIMDRDM bool
- HasJSCVT bool
- HasFCMA bool
- HasLRCPC bool
- HasDCPOP bool
- HasSHA3 bool
- HasSM3 bool
- HasSM4 bool
- HasASIMDDP bool
- HasSHA512 bool
- HasSVE bool
- HasASIMDFHM bool
IsNeoverseN1 bool
IsZeus bool
_ CacheLinePad
diff --git a/src/internal/cpu/cpu_arm64.go b/src/internal/cpu/cpu_arm64.go
index 8fde39f03e..4e9ea8ca96 100644
--- a/src/internal/cpu/cpu_arm64.go
+++ b/src/internal/cpu/cpu_arm64.go
@@ -29,6 +29,7 @@ func doinit() {
{Name: "sha2", Feature: &ARM64.HasSHA2},
{Name: "crc32", Feature: &ARM64.HasCRC32},
{Name: "atomics", Feature: &ARM64.HasATOMICS},
+ {Name: "cpuid", Feature: &ARM64.HasCPUID},
{Name: "isNeoverseN1", Feature: &ARM64.IsNeoverseN1},
{Name: "isZeus", Feature: &ARM64.IsZeus},
}