Merge "Add AVX/AVX2 supported archs in build system"
This commit is contained in:
166
android/arch.go
166
android/arch.go
@@ -155,18 +155,32 @@ var archVariants = map[ArchType][]string{
|
||||
"mips64r6",
|
||||
},
|
||||
X86: {
|
||||
"amberlake",
|
||||
"atom",
|
||||
"broadwell",
|
||||
"haswell",
|
||||
"icelake",
|
||||
"ivybridge",
|
||||
"kabylake",
|
||||
"sandybridge",
|
||||
"silvermont",
|
||||
"skylake",
|
||||
"tigerlake",
|
||||
"whiskeylake",
|
||||
"x86_64",
|
||||
},
|
||||
X86_64: {
|
||||
"amberlake",
|
||||
"broadwell",
|
||||
"haswell",
|
||||
"icelake",
|
||||
"ivybridge",
|
||||
"kabylake",
|
||||
"sandybridge",
|
||||
"silvermont",
|
||||
"skylake",
|
||||
"tigerlake",
|
||||
"whiskeylake",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -190,6 +204,8 @@ var archFeatures = map[ArchType][]string{
|
||||
"sse4_2",
|
||||
"aes_ni",
|
||||
"avx",
|
||||
"avx2",
|
||||
"avx512",
|
||||
"popcnt",
|
||||
"movbe",
|
||||
},
|
||||
@@ -200,6 +216,8 @@ var archFeatures = map[ArchType][]string{
|
||||
"sse4_2",
|
||||
"aes_ni",
|
||||
"avx",
|
||||
"avx2",
|
||||
"avx512",
|
||||
"popcnt",
|
||||
},
|
||||
}
|
||||
@@ -230,10 +248,30 @@ var archFeatureMap = map[ArchType]map[string][]string{
|
||||
},
|
||||
},
|
||||
X86: {
|
||||
"amberlake": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"atom": {
|
||||
"ssse3",
|
||||
"movbe",
|
||||
},
|
||||
"broadwell": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"haswell": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
@@ -244,6 +282,17 @@ var archFeatureMap = map[ArchType]map[string][]string{
|
||||
"popcnt",
|
||||
"movbe",
|
||||
},
|
||||
"icelake": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"avx512",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"ivybridge": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
@@ -253,6 +302,16 @@ var archFeatureMap = map[ArchType]map[string][]string{
|
||||
"avx",
|
||||
"popcnt",
|
||||
},
|
||||
"kabylake": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"sandybridge": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
@@ -269,6 +328,39 @@ var archFeatureMap = map[ArchType]map[string][]string{
|
||||
"popcnt",
|
||||
"movbe",
|
||||
},
|
||||
"skylake": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"avx512",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"tigerlake": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"avx512",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"whiskeylake": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"avx512",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"x86_64": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
@@ -278,6 +370,26 @@ var archFeatureMap = map[ArchType]map[string][]string{
|
||||
},
|
||||
},
|
||||
X86_64: {
|
||||
"amberlake": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"broadwell": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"haswell": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
@@ -287,6 +399,17 @@ var archFeatureMap = map[ArchType]map[string][]string{
|
||||
"avx",
|
||||
"popcnt",
|
||||
},
|
||||
"icelake": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"avx512",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"ivybridge": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
@@ -296,6 +419,16 @@ var archFeatureMap = map[ArchType]map[string][]string{
|
||||
"avx",
|
||||
"popcnt",
|
||||
},
|
||||
"kabylake": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"sandybridge": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
@@ -311,6 +444,39 @@ var archFeatureMap = map[ArchType]map[string][]string{
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"skylake": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"avx512",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"tigerlake": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"avx512",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
"whiskeylake": {
|
||||
"ssse3",
|
||||
"sse4",
|
||||
"sse4_1",
|
||||
"sse4_2",
|
||||
"avx",
|
||||
"avx2",
|
||||
"avx512",
|
||||
"aes_ni",
|
||||
"popcnt",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
@@ -38,6 +38,10 @@ var (
|
||||
"": []string{
|
||||
"-march=x86-64",
|
||||
},
|
||||
"broadwell": []string{
|
||||
"-march=broadwell",
|
||||
},
|
||||
|
||||
"haswell": []string{
|
||||
"-march=core-avx2",
|
||||
},
|
||||
@@ -50,6 +54,9 @@ var (
|
||||
"silvermont": []string{
|
||||
"-march=slm",
|
||||
},
|
||||
"skylake": []string{
|
||||
"-march=skylake",
|
||||
},
|
||||
}
|
||||
|
||||
x86_64ArchFeatureCflags = map[string][]string{
|
||||
@@ -59,6 +66,8 @@ var (
|
||||
"sse4_2": []string{"-msse4.2"},
|
||||
"popcnt": []string{"-mpopcnt"},
|
||||
"avx": []string{"-mavx"},
|
||||
"avx2": []string{"-mavx2"},
|
||||
"avx512": []string{"-mavx512"},
|
||||
"aes_ni": []string{"-maes"},
|
||||
}
|
||||
)
|
||||
|
@@ -51,6 +51,10 @@ var (
|
||||
"-march=atom",
|
||||
"-mfpmath=sse",
|
||||
},
|
||||
"broadwell": []string{
|
||||
"-march=broadwell",
|
||||
"-mfpmath=sse",
|
||||
},
|
||||
"haswell": []string{
|
||||
"-march=core-avx2",
|
||||
"-mfpmath=sse",
|
||||
@@ -67,6 +71,10 @@ var (
|
||||
"-march=slm",
|
||||
"-mfpmath=sse",
|
||||
},
|
||||
"skylake": []string{
|
||||
"-march=skylake",
|
||||
"-mfpmath=sse",
|
||||
},
|
||||
}
|
||||
|
||||
x86ArchFeatureCflags = map[string][]string{
|
||||
|
Reference in New Issue
Block a user