Skip to content
Snippets Groups Projects
Commit adf21a9b authored by fanzha02's avatar fanzha02 Committed by Keith Randall
Browse files

internal/cpu: add a detection for Neoverse(N3, V3, V3ae) cores

The memmove implementation relies on the variable
runtime.arm64UseAlignedLoads to select fastest code
path. Considering Neoverse N3, V3 and V3ae cores
prefer aligned loads, this patch adds code to detect
them for memmove performance.

Change-Id: I7266fc35d8b2c15ff516c592b987bafacb82b620
Reviewed-on: https://go-review.googlesource.com/c/go/+/664038


Reviewed-by: default avatarCherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: default avatarKeith Randall <khr@google.com>
parent e278a789
Branches
Tags
No related merge requests found
......@@ -67,9 +67,14 @@ func hwcapInit(os string) {
// d40 - NeoverseV1
// d49 - NeoverseN2
// d4f - NeoverseV2
if implementer == 'A' && (part_num == 0xd0c || part_num == 0xd40 ||
part_num == 0xd49 || part_num == 0xd4f) {
ARM64.IsNeoverse = true
// d8e - NeoverseN3
// d84 - NeoverseV3
// d83 - NeoverseV3ae
if implementer == 'A' {
switch part_num {
case 0xd0c, 0xd40, 0xd49, 0xd4f, 0xd8e, 0xd84, 0xd83:
ARM64.IsNeoverse = true
}
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment