Merge "Add a new x86(_64) arch variant "goldmont-without-xsaves"" into main
This commit is contained in:
commit
80abaa85e8
5 changed files with 52 additions and 19 deletions
|
@ -34,6 +34,11 @@ var archVariants = map[ArchType][]string{
|
|||
"broadwell",
|
||||
"goldmont",
|
||||
"goldmont-plus",
|
||||
// Target arch is goldmont, but without xsaves support.
|
||||
// This ensures efficient execution on a broad range of Intel/AMD CPUs used
|
||||
// in Chromebooks, including those lacking xsaves support.
|
||||
// (e.g. Kaby Lake, Gemini Lake, Alder Lake and AMD Zen series)
|
||||
"goldmont-without-xsaves",
|
||||
"haswell",
|
||||
"icelake",
|
||||
"ivybridge",
|
||||
|
@ -52,6 +57,7 @@ var archVariants = map[ArchType][]string{
|
|||
"broadwell",
|
||||
"goldmont",
|
||||
"goldmont-plus",
|
||||
"goldmont-without-xsaves",
|
||||
"haswell",
|
||||
"icelake",
|
||||
"ivybridge",
|
||||
|
@ -197,6 +203,15 @@ var androidArchFeatureMap = map[ArchType]map[string][]string{
|
|||
"popcnt",
|
||||
"movbe",
|
||||
},
|
||||
"goldmont-without-xsaves": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
"movbe",
|
||||
},
|
||||
"haswell": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
|
@ -358,6 +373,14 @@ var androidArchFeatureMap = map[ArchType]map[string][]string{
|
|||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"goldmont-without-xsaves": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"haswell": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
|
|
|
@ -49,6 +49,10 @@ var (
|
|||
"goldmont-plus": []string{
|
||||
"-march=goldmont-plus",
|
||||
},
|
||||
"goldmont-without-xsaves": []string{
|
||||
"-march=goldmont",
|
||||
"-mno-xsaves",
|
||||
},
|
||||
"haswell": []string{
|
||||
"-march=core-avx2",
|
||||
},
|
||||
|
|
|
@ -56,6 +56,10 @@ var (
|
|||
"goldmont-plus": []string{
|
||||
"-march=goldmont-plus",
|
||||
},
|
||||
"goldmont-without-xsaves": []string{
|
||||
"-march=goldmont",
|
||||
"-mno-xsaves",
|
||||
},
|
||||
"haswell": []string{
|
||||
"-march=core-avx2",
|
||||
},
|
||||
|
|
|
@ -28,15 +28,16 @@ var (
|
|||
x86_64LinkFlags = []string{}
|
||||
|
||||
x86_64ArchVariantRustFlags = map[string][]string{
|
||||
"": []string{},
|
||||
"broadwell": []string{"-C target-cpu=broadwell"},
|
||||
"goldmont": []string{"-C target-cpu=goldmont"},
|
||||
"goldmont-plus": []string{"-C target-cpu=goldmont-plus"},
|
||||
"haswell": []string{"-C target-cpu=haswell"},
|
||||
"ivybridge": []string{"-C target-cpu=ivybridge"},
|
||||
"sandybridge": []string{"-C target-cpu=sandybridge"},
|
||||
"silvermont": []string{"-C target-cpu=silvermont"},
|
||||
"skylake": []string{"-C target-cpu=skylake"},
|
||||
"": []string{},
|
||||
"broadwell": []string{"-C target-cpu=broadwell"},
|
||||
"goldmont": []string{"-C target-cpu=goldmont"},
|
||||
"goldmont-plus": []string{"-C target-cpu=goldmont-plus"},
|
||||
"goldmont-without-xsaves": []string{"-C target-cpu=goldmont", "-C target-feature=-xsaves"},
|
||||
"haswell": []string{"-C target-cpu=haswell"},
|
||||
"ivybridge": []string{"-C target-cpu=ivybridge"},
|
||||
"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.
|
||||
"stoneyridge": []string{""},
|
||||
"tremont": []string{"-C target-cpu=tremont"},
|
||||
|
|
|
@ -26,16 +26,17 @@ var (
|
|||
x86LinkFlags = []string{}
|
||||
|
||||
x86ArchVariantRustFlags = map[string][]string{
|
||||
"": []string{},
|
||||
"atom": []string{"-C target-cpu=atom"},
|
||||
"broadwell": []string{"-C target-cpu=broadwell"},
|
||||
"goldmont": []string{"-C target-cpu=goldmont"},
|
||||
"goldmont-plus": []string{"-C target-cpu=goldmont-plus"},
|
||||
"haswell": []string{"-C target-cpu=haswell"},
|
||||
"ivybridge": []string{"-C target-cpu=ivybridge"},
|
||||
"sandybridge": []string{"-C target-cpu=sandybridge"},
|
||||
"silvermont": []string{"-C target-cpu=silvermont"},
|
||||
"skylake": []string{"-C target-cpu=skylake"},
|
||||
"": []string{},
|
||||
"atom": []string{"-C target-cpu=atom"},
|
||||
"broadwell": []string{"-C target-cpu=broadwell"},
|
||||
"goldmont": []string{"-C target-cpu=goldmont"},
|
||||
"goldmont-plus": []string{"-C target-cpu=goldmont-plus"},
|
||||
"goldmont-without-xsaves": []string{"-C target-cpu=goldmont", "-C target-feature=-xsaves"},
|
||||
"haswell": []string{"-C target-cpu=haswell"},
|
||||
"ivybridge": []string{"-C target-cpu=ivybridge"},
|
||||
"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.
|
||||
"stoneyridge": []string{""},
|
||||
"tremont": []string{"-C target-cpu=tremont"},
|
||||
|
|
Loading…
Reference in a new issue