SIGN IN SIGN UP

Add arm64 go feature id (#175)

* Add arm64 go feature id

Adds the following:

```go
// ARM64Level returns the ARMv8/ARMv9 architecture version supported by the CPU
// as (major, minor), e.g. 8, 4 for ARMv8.4-A or 9, 0 for ARMv9.0-A.
// Only mandatory user-space instruction features are considered, so the result
// is the highest level whose required instructions are all present.
// Returns 0, 0 on non-arm64 CPUs or when feature detection was unavailable.
func (c CPUInfo) ARM64Level() (major, minor int)

// GOARM64 returns a value usable as the GOARM64 build setting for the detected
// CPU, e.g. "v8.4" or "v9.0,crypto". The ",crypto" suffix is appended when AES,
// PMULL, SHA1 and SHA256 are all present; the ",lse" suffix is appended in the
// rare case LSE is present without the rest of the ARMv8.1 feature set.
// Returns "" on non-arm64 CPUs or when feature detection was unavailable.
// See https://go.dev/wiki/MinimumRequirements#arm64
func (c CPUInfo) GOARM64() string
```

Fixes #159

* Use alternative hwcap2, remove ssbs from level check.

* Also remove FEAT_BTI from level detection.
K
Klaus Post committed
f26cd2ece6eb5ff79738ededbe2bf343876a883a
Parent: caccf64
Committed by GitHub <noreply@github.com> on 6/16/2026, 2:28:15 PM