mirror of https://github.com/golang/go.git
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>
This commit is contained in:
parent
3ef8562c9c
commit
3510a1e32c
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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},
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue