Merge "Add a new x86(_64) arch variant "goldmont-without-xsaves"" into main
This commit is contained in:
@@ -34,6 +34,11 @@ var archVariants = map[ArchType][]string{
|
|||||||
"broadwell",
|
"broadwell",
|
||||||
"goldmont",
|
"goldmont",
|
||||||
"goldmont-plus",
|
"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",
|
"haswell",
|
||||||
"icelake",
|
"icelake",
|
||||||
"ivybridge",
|
"ivybridge",
|
||||||
@@ -52,6 +57,7 @@ var archVariants = map[ArchType][]string{
|
|||||||
"broadwell",
|
"broadwell",
|
||||||
"goldmont",
|
"goldmont",
|
||||||
"goldmont-plus",
|
"goldmont-plus",
|
||||||
|
"goldmont-without-xsaves",
|
||||||
"haswell",
|
"haswell",
|
||||||
"icelake",
|
"icelake",
|
||||||
"ivybridge",
|
"ivybridge",
|
||||||
@@ -197,6 +203,15 @@ var androidArchFeatureMap = map[ArchType]map[string][]string{
|
|||||||
"popcnt",
|
"popcnt",
|
||||||
"movbe",
|
"movbe",
|
||||||
},
|
},
|
||||||
|
"goldmont-without-xsaves": {
|
||||||
|
"ssse3",
|
||||||
|
"sse4",
|
||||||
|
"sse4_1",
|
||||||
|
"sse4_2",
|
||||||
|
"aes_ni",
|
||||||
|
"popcnt",
|
||||||
|
"movbe",
|
||||||
|
},
|
||||||
"haswell": {
|
"haswell": {
|
||||||
"ssse3",
|
"ssse3",
|
||||||
"sse4",
|
"sse4",
|
||||||
@@ -358,6 +373,14 @@ var androidArchFeatureMap = map[ArchType]map[string][]string{
|
|||||||
"aes_ni",
|
"aes_ni",
|
||||||
"popcnt",
|
"popcnt",
|
||||||
},
|
},
|
||||||
|
"goldmont-without-xsaves": {
|
||||||
|
"ssse3",
|
||||||
|
"sse4",
|
||||||
|
"sse4_1",
|
||||||
|
"sse4_2",
|
||||||
|
"aes_ni",
|
||||||
|
"popcnt",
|
||||||
|
},
|
||||||
"haswell": {
|
"haswell": {
|
||||||
"ssse3",
|
"ssse3",
|
||||||
"sse4",
|
"sse4",
|
||||||
|
@@ -49,6 +49,10 @@ var (
|
|||||||
"goldmont-plus": []string{
|
"goldmont-plus": []string{
|
||||||
"-march=goldmont-plus",
|
"-march=goldmont-plus",
|
||||||
},
|
},
|
||||||
|
"goldmont-without-xsaves": []string{
|
||||||
|
"-march=goldmont",
|
||||||
|
"-mno-xsaves",
|
||||||
|
},
|
||||||
"haswell": []string{
|
"haswell": []string{
|
||||||
"-march=core-avx2",
|
"-march=core-avx2",
|
||||||
},
|
},
|
||||||
|
@@ -56,6 +56,10 @@ var (
|
|||||||
"goldmont-plus": []string{
|
"goldmont-plus": []string{
|
||||||
"-march=goldmont-plus",
|
"-march=goldmont-plus",
|
||||||
},
|
},
|
||||||
|
"goldmont-without-xsaves": []string{
|
||||||
|
"-march=goldmont",
|
||||||
|
"-mno-xsaves",
|
||||||
|
},
|
||||||
"haswell": []string{
|
"haswell": []string{
|
||||||
"-march=core-avx2",
|
"-march=core-avx2",
|
||||||
},
|
},
|
||||||
|
@@ -28,15 +28,16 @@ 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"},
|
||||||
"goldmont": []string{"-C target-cpu=goldmont"},
|
"goldmont": []string{"-C target-cpu=goldmont"},
|
||||||
"goldmont-plus": []string{"-C target-cpu=goldmont-plus"},
|
"goldmont-plus": []string{"-C target-cpu=goldmont-plus"},
|
||||||
"haswell": []string{"-C target-cpu=haswell"},
|
"goldmont-without-xsaves": []string{"-C target-cpu=goldmont", "-C target-feature=-xsaves"},
|
||||||
"ivybridge": []string{"-C target-cpu=ivybridge"},
|
"haswell": []string{"-C target-cpu=haswell"},
|
||||||
"sandybridge": []string{"-C target-cpu=sandybridge"},
|
"ivybridge": []string{"-C target-cpu=ivybridge"},
|
||||||
"silvermont": []string{"-C target-cpu=silvermont"},
|
"sandybridge": []string{"-C target-cpu=sandybridge"},
|
||||||
"skylake": []string{"-C target-cpu=skylake"},
|
"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"},
|
"tremont": []string{"-C target-cpu=tremont"},
|
||||||
|
@@ -26,16 +26,17 @@ 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"},
|
||||||
"goldmont": []string{"-C target-cpu=goldmont"},
|
"goldmont": []string{"-C target-cpu=goldmont"},
|
||||||
"goldmont-plus": []string{"-C target-cpu=goldmont-plus"},
|
"goldmont-plus": []string{"-C target-cpu=goldmont-plus"},
|
||||||
"haswell": []string{"-C target-cpu=haswell"},
|
"goldmont-without-xsaves": []string{"-C target-cpu=goldmont", "-C target-feature=-xsaves"},
|
||||||
"ivybridge": []string{"-C target-cpu=ivybridge"},
|
"haswell": []string{"-C target-cpu=haswell"},
|
||||||
"sandybridge": []string{"-C target-cpu=sandybridge"},
|
"ivybridge": []string{"-C target-cpu=ivybridge"},
|
||||||
"silvermont": []string{"-C target-cpu=silvermont"},
|
"sandybridge": []string{"-C target-cpu=sandybridge"},
|
||||||
"skylake": []string{"-C target-cpu=skylake"},
|
"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"},
|
"tremont": []string{"-C target-cpu=tremont"},
|
||||||
|
Reference in New Issue
Block a user