Merge "Add arch variants for Intel Atom CPUs"

This commit is contained in:
Treehugger Robot
2022-12-14 03:32:13 +00:00
committed by Gerrit Code Review
5 changed files with 96 additions and 15 deletions

View File

@@ -31,6 +31,8 @@ var archVariants = map[ArchType][]string{
"amberlake", "amberlake",
"atom", "atom",
"broadwell", "broadwell",
"goldmont",
"goldmont-plus",
"haswell", "haswell",
"icelake", "icelake",
"ivybridge", "ivybridge",
@@ -40,12 +42,15 @@ var archVariants = map[ArchType][]string{
"skylake", "skylake",
"stoneyridge", "stoneyridge",
"tigerlake", "tigerlake",
"tremont",
"whiskeylake", "whiskeylake",
"x86_64", "x86_64",
}, },
X86_64: { X86_64: {
"amberlake", "amberlake",
"broadwell", "broadwell",
"goldmont",
"goldmont-plus",
"haswell", "haswell",
"icelake", "icelake",
"ivybridge", "ivybridge",
@@ -55,6 +60,7 @@ var archVariants = map[ArchType][]string{
"skylake", "skylake",
"stoneyridge", "stoneyridge",
"tigerlake", "tigerlake",
"tremont",
"whiskeylake", "whiskeylake",
}, },
} }
@@ -168,6 +174,24 @@ var androidArchFeatureMap = map[ArchType]map[string][]string{
"aes_ni", "aes_ni",
"popcnt", "popcnt",
}, },
"goldmont": {
"ssse3",
"sse4",
"sse4_1",
"sse4_2",
"aes_ni",
"popcnt",
"movbe",
},
"goldmont-plus": {
"ssse3",
"sse4",
"sse4_1",
"sse4_2",
"aes_ni",
"popcnt",
"movbe",
},
"haswell": { "haswell": {
"ssse3", "ssse3",
"sse4", "sse4",
@@ -257,6 +281,15 @@ var androidArchFeatureMap = map[ArchType]map[string][]string{
"aes_ni", "aes_ni",
"popcnt", "popcnt",
}, },
"tremont": {
"ssse3",
"sse4",
"sse4_1",
"sse4_2",
"aes_ni",
"popcnt",
"movbe",
},
"whiskeylake": { "whiskeylake": {
"ssse3", "ssse3",
"sse4", "sse4",
@@ -304,6 +337,22 @@ var androidArchFeatureMap = map[ArchType]map[string][]string{
"aes_ni", "aes_ni",
"popcnt", "popcnt",
}, },
"goldmont": {
"ssse3",
"sse4",
"sse4_1",
"sse4_2",
"aes_ni",
"popcnt",
},
"goldmont-plus": {
"ssse3",
"sse4",
"sse4_1",
"sse4_2",
"aes_ni",
"popcnt",
},
"haswell": { "haswell": {
"ssse3", "ssse3",
"sse4", "sse4",
@@ -390,6 +439,14 @@ var androidArchFeatureMap = map[ArchType]map[string][]string{
"aes_ni", "aes_ni",
"popcnt", "popcnt",
}, },
"tremont": {
"ssse3",
"sse4",
"sse4_1",
"sse4_2",
"aes_ni",
"popcnt",
},
"whiskeylake": { "whiskeylake": {
"ssse3", "ssse3",
"sse4", "sse4",

View File

@@ -41,6 +41,12 @@ var (
"broadwell": []string{ "broadwell": []string{
"-march=broadwell", "-march=broadwell",
}, },
"goldmont": []string{
"-march=goldmont",
},
"goldmont-plus": []string{
"-march=goldmont-plus",
},
"haswell": []string{ "haswell": []string{
"-march=core-avx2", "-march=core-avx2",
}, },
@@ -59,6 +65,9 @@ var (
"stoneyridge": []string{ "stoneyridge": []string{
"-march=bdver4", "-march=bdver4",
}, },
"tremont": []string{
"-march=tremont",
},
} }
x86_64ArchFeatureCflags = map[string][]string{ x86_64ArchFeatureCflags = map[string][]string{

View File

@@ -50,6 +50,12 @@ var (
"broadwell": []string{ "broadwell": []string{
"-march=broadwell", "-march=broadwell",
}, },
"goldmont": []string{
"-march=goldmont",
},
"goldmont-plus": []string{
"-march=goldmont-plus",
},
"haswell": []string{ "haswell": []string{
"-march=core-avx2", "-march=core-avx2",
}, },
@@ -68,6 +74,9 @@ var (
"stoneyridge": []string{ "stoneyridge": []string{
"-march=bdver4", "-march=bdver4",
}, },
"tremont": []string{
"-march=tremont",
},
} }
x86ArchFeatureCflags = map[string][]string{ x86ArchFeatureCflags = map[string][]string{

View File

@@ -26,15 +26,18 @@ var (
x86_64LinkFlags = []string{} x86_64LinkFlags = []string{}
x86_64ArchVariantRustFlags = map[string][]string{ x86_64ArchVariantRustFlags = map[string][]string{
"": []string{}, "": []string{},
"broadwell": []string{"-C target-cpu=broadwell"}, "broadwell": []string{"-C target-cpu=broadwell"},
"haswell": []string{"-C target-cpu=haswell"}, "goldmont": []string{"-C target-cpu=goldmont"},
"ivybridge": []string{"-C target-cpu=ivybridge"}, "goldmont-plus": []string{"-C target-cpu=goldmont-plus"},
"sandybridge": []string{"-C target-cpu=sandybridge"}, "haswell": []string{"-C target-cpu=haswell"},
"silvermont": []string{"-C target-cpu=silvermont"}, "ivybridge": []string{"-C target-cpu=ivybridge"},
"skylake": []string{"-C target-cpu=skylake"}, "sandybridge": []string{"-C target-cpu=sandybridge"},
"silvermont": []string{"-C target-cpu=silvermont"},
"skylake": []string{"-C target-cpu=skylake"},
//TODO: Add target-cpu=stoneyridge when rustc supports it. //TODO: Add target-cpu=stoneyridge when rustc supports it.
"stoneyridge": []string{""}, "stoneyridge": []string{""},
"tremont": []string{"-C target-cpu=tremont"},
} }
) )

View File

@@ -26,16 +26,19 @@ var (
x86LinkFlags = []string{} x86LinkFlags = []string{}
x86ArchVariantRustFlags = map[string][]string{ x86ArchVariantRustFlags = map[string][]string{
"": []string{}, "": []string{},
"atom": []string{"-C target-cpu=atom"}, "atom": []string{"-C target-cpu=atom"},
"broadwell": []string{"-C target-cpu=broadwell"}, "broadwell": []string{"-C target-cpu=broadwell"},
"haswell": []string{"-C target-cpu=haswell"}, "goldmont": []string{"-C target-cpu=goldmont"},
"ivybridge": []string{"-C target-cpu=ivybridge"}, "goldmont-plus": []string{"-C target-cpu=goldmont-plus"},
"sandybridge": []string{"-C target-cpu=sandybridge"}, "haswell": []string{"-C target-cpu=haswell"},
"silvermont": []string{"-C target-cpu=silvermont"}, "ivybridge": []string{"-C target-cpu=ivybridge"},
"skylake": []string{"-C target-cpu=skylake"}, "sandybridge": []string{"-C target-cpu=sandybridge"},
"silvermont": []string{"-C target-cpu=silvermont"},
"skylake": []string{"-C target-cpu=skylake"},
//TODO: Add target-cpu=stoneyridge when rustc supports it. //TODO: Add target-cpu=stoneyridge when rustc supports it.
"stoneyridge": []string{""}, "stoneyridge": []string{""},
"tremont": []string{"-C target-cpu=tremont"},
// use prescott for x86_64, like cc/config/x86_device.go // use prescott for x86_64, like cc/config/x86_device.go
"x86_64": []string{"-C target-cpu=prescott"}, "x86_64": []string{"-C target-cpu=prescott"},
} }