Introduce new Arm64 arch variant with dot product features

In order to rely on `-march`/`-mcpu` compiler flags for feature
detection, we introduce a new arch variant based on armv8.2 with the
addition of dot product features.

Test: test-art-target on Pixel 4.

Change-Id: I4d97db6129e2cd718a2b21008d36ec767739f925
This commit is contained in:
Raphael Gault
2020-06-18 09:56:53 +00:00
parent 81a0b66d93
commit 70b96b0d64
3 changed files with 19 additions and 2 deletions

View File

@@ -124,6 +124,7 @@ var archVariants = map[ArchType][]string{
Arm64: {
"armv8_a",
"armv8_2a",
"armv8-2a-dotprod",
"cortex-a53",
"cortex-a55",
"cortex-a72",
@@ -171,6 +172,9 @@ var archFeatures = map[ArchType][]string{
Arm: {
"neon",
},
Arm64: {
"dotprod",
},
X86: {
"ssse3",
"sse4",
@@ -208,6 +212,11 @@ var archFeatureMap = map[ArchType]map[string][]string{
"neon",
},
},
Arm64: {
"armv8-2a-dotprod": {
"dotprod",
},
},
X86: {
"amberlake": {
"ssse3",
@@ -1615,9 +1624,10 @@ func getMegaDeviceConfig() []archConfig {
{"arm64", "armv8-a", "kryo", []string{"arm64-v8a"}},
{"arm64", "armv8-a", "exynos-m1", []string{"arm64-v8a"}},
{"arm64", "armv8-a", "exynos-m2", []string{"arm64-v8a"}},
{"arm64", "armv8-2a", "cortex-a75", []string{"arm64-v8a"}},
{"arm64", "armv8-2a", "cortex-a76", []string{"arm64-v8a"}},
{"arm64", "armv8-2a", "kryo385", []string{"arm64-v8a"}},
{"arm64", "armv8-2a-dotprod", "cortex-a55", []string{"arm64-v8a"}},
{"arm64", "armv8-2a-dotprod", "cortex-a75", []string{"arm64-v8a"}},
{"arm64", "armv8-2a-dotprod", "cortex-a76", []string{"arm64-v8a"}},
{"x86", "", "", []string{"x86"}},
{"x86", "atom", "", []string{"x86"}},
{"x86", "haswell", "", []string{"x86"}},