mirror of
https://github.com/golang/go.git
synced 2025-05-05 15:43:04 +00:00
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: Cherry Mui <cherryyz@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Keith Randall <khr@google.com>
This commit is contained in:
parent
e278a789b6
commit
adf21a9b56
@ -67,9 +67,14 @@ func hwcapInit(os string) {
|
|||||||
// d40 - NeoverseV1
|
// d40 - NeoverseV1
|
||||||
// d49 - NeoverseN2
|
// d49 - NeoverseN2
|
||||||
// d4f - NeoverseV2
|
// d4f - NeoverseV2
|
||||||
if implementer == 'A' && (part_num == 0xd0c || part_num == 0xd40 ||
|
// d8e - NeoverseN3
|
||||||
part_num == 0xd49 || part_num == 0xd4f) {
|
// d84 - NeoverseV3
|
||||||
ARM64.IsNeoverse = true
|
// d83 - NeoverseV3ae
|
||||||
|
if implementer == 'A' {
|
||||||
|
switch part_num {
|
||||||
|
case 0xd0c, 0xd40, 0xd49, 0xd4f, 0xd8e, 0xd84, 0xd83:
|
||||||
|
ARM64.IsNeoverse = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user