mirror of
https://github.com/rwinkhart/sys.git
synced 2026-08-28 12:56:32 -04:00
The ARM64 flags were not being correctly set for Mac M series laptops. Fixes golang/go#43046 Change-Id: I1d884dccd3f3a0a010ad7babbab26b73731ab583 Reviewed-on: https://go-review.googlesource.com/c/sys/+/737260 Auto-Submit: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Keith Randall <khr@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com>
30 lines
758 B
Go
30 lines
758 B
Go
// Copyright 2026 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
//go:build darwin && arm64 && !gc
|
|
|
|
package cpu
|
|
|
|
func doinit() {
|
|
setMinimalFeatures()
|
|
|
|
ARM64.HasASIMD = true
|
|
ARM64.HasFP = true
|
|
|
|
// Go already assumes these to be available because they were on the M1
|
|
// and these are supported on all Apple arm64 chips.
|
|
ARM64.HasAES = true
|
|
ARM64.HasPMULL = true
|
|
ARM64.HasSHA1 = true
|
|
ARM64.HasSHA2 = true
|
|
|
|
if runtime.GOOS != "ios" {
|
|
// Apple A7 processors do not support these, however
|
|
// M-series SoCs are at least armv8.4-a
|
|
ARM64.HasCRC32 = true // armv8.1
|
|
ARM64.HasATOMICS = true // armv8.2
|
|
ARM64.HasJSCVT = true // armv8.3, if HasFP
|
|
}
|
|
}
|