1*333d2b36SAndroid Build Coastguard Worker// Copyright 2020 Google Inc. All rights reserved. 2*333d2b36SAndroid Build Coastguard Worker// 3*333d2b36SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*333d2b36SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*333d2b36SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*333d2b36SAndroid Build Coastguard Worker// 7*333d2b36SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*333d2b36SAndroid Build Coastguard Worker// 9*333d2b36SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*333d2b36SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*333d2b36SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*333d2b36SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*333d2b36SAndroid Build Coastguard Worker// limitations under the License. 14*333d2b36SAndroid Build Coastguard Worker 15*333d2b36SAndroid Build Coastguard Workerpackage android 16*333d2b36SAndroid Build Coastguard Worker 17*333d2b36SAndroid Build Coastguard Workervar archVariants = map[ArchType][]string{ 18*333d2b36SAndroid Build Coastguard Worker Arm: { 19*333d2b36SAndroid Build Coastguard Worker "armv7-a-neon", 20*333d2b36SAndroid Build Coastguard Worker "armv8-a", 21*333d2b36SAndroid Build Coastguard Worker "armv8-2a", 22*333d2b36SAndroid Build Coastguard Worker }, 23*333d2b36SAndroid Build Coastguard Worker Arm64: { 24*333d2b36SAndroid Build Coastguard Worker "armv8-a", 25*333d2b36SAndroid Build Coastguard Worker "armv8-a-branchprot", 26*333d2b36SAndroid Build Coastguard Worker "armv8-2a", 27*333d2b36SAndroid Build Coastguard Worker "armv8-2a-dotprod", 28*333d2b36SAndroid Build Coastguard Worker "armv9-a", 29*333d2b36SAndroid Build Coastguard Worker "armv9-2a", 30*333d2b36SAndroid Build Coastguard Worker }, 31*333d2b36SAndroid Build Coastguard Worker X86: { 32*333d2b36SAndroid Build Coastguard Worker "alderlake", 33*333d2b36SAndroid Build Coastguard Worker "amberlake", 34*333d2b36SAndroid Build Coastguard Worker "atom", 35*333d2b36SAndroid Build Coastguard Worker "broadwell", 36*333d2b36SAndroid Build Coastguard Worker "goldmont", 37*333d2b36SAndroid Build Coastguard Worker "goldmont-plus", 38*333d2b36SAndroid Build Coastguard Worker // Target arch is goldmont, but without supporting SHA and XSAVES. 39*333d2b36SAndroid Build Coastguard Worker // This ensures efficient execution on a broad range of Intel/AMD CPUs used 40*333d2b36SAndroid Build Coastguard Worker // in Chromebooks, including those lacking SHA or XSAVES support. 41*333d2b36SAndroid Build Coastguard Worker // (e.g. Kaby Lake, Gemini Lake, Alder Lake and AMD Zen series) 42*333d2b36SAndroid Build Coastguard Worker "goldmont-without-sha-xsaves", 43*333d2b36SAndroid Build Coastguard Worker "haswell", 44*333d2b36SAndroid Build Coastguard Worker "icelake", 45*333d2b36SAndroid Build Coastguard Worker "ivybridge", 46*333d2b36SAndroid Build Coastguard Worker "kabylake", 47*333d2b36SAndroid Build Coastguard Worker "sandybridge", 48*333d2b36SAndroid Build Coastguard Worker "silvermont", 49*333d2b36SAndroid Build Coastguard Worker "skylake", 50*333d2b36SAndroid Build Coastguard Worker "stoneyridge", 51*333d2b36SAndroid Build Coastguard Worker "tigerlake", 52*333d2b36SAndroid Build Coastguard Worker "tremont", 53*333d2b36SAndroid Build Coastguard Worker "whiskeylake", 54*333d2b36SAndroid Build Coastguard Worker "x86_64", 55*333d2b36SAndroid Build Coastguard Worker }, 56*333d2b36SAndroid Build Coastguard Worker X86_64: { 57*333d2b36SAndroid Build Coastguard Worker "alderlake", 58*333d2b36SAndroid Build Coastguard Worker "amberlake", 59*333d2b36SAndroid Build Coastguard Worker "broadwell", 60*333d2b36SAndroid Build Coastguard Worker "goldmont", 61*333d2b36SAndroid Build Coastguard Worker "goldmont-plus", 62*333d2b36SAndroid Build Coastguard Worker "goldmont-without-sha-xsaves", 63*333d2b36SAndroid Build Coastguard Worker "haswell", 64*333d2b36SAndroid Build Coastguard Worker "icelake", 65*333d2b36SAndroid Build Coastguard Worker "ivybridge", 66*333d2b36SAndroid Build Coastguard Worker "kabylake", 67*333d2b36SAndroid Build Coastguard Worker "sandybridge", 68*333d2b36SAndroid Build Coastguard Worker "silvermont", 69*333d2b36SAndroid Build Coastguard Worker "skylake", 70*333d2b36SAndroid Build Coastguard Worker "stoneyridge", 71*333d2b36SAndroid Build Coastguard Worker "tigerlake", 72*333d2b36SAndroid Build Coastguard Worker "tremont", 73*333d2b36SAndroid Build Coastguard Worker "whiskeylake", 74*333d2b36SAndroid Build Coastguard Worker }, 75*333d2b36SAndroid Build Coastguard Worker} 76*333d2b36SAndroid Build Coastguard Worker 77*333d2b36SAndroid Build Coastguard Workervar cpuVariants = map[ArchType][]string{ 78*333d2b36SAndroid Build Coastguard Worker Arm: { 79*333d2b36SAndroid Build Coastguard Worker "cortex-a7", 80*333d2b36SAndroid Build Coastguard Worker "cortex-a8", 81*333d2b36SAndroid Build Coastguard Worker "cortex-a9", 82*333d2b36SAndroid Build Coastguard Worker "cortex-a15", 83*333d2b36SAndroid Build Coastguard Worker "cortex-a32", 84*333d2b36SAndroid Build Coastguard Worker "cortex-a53", 85*333d2b36SAndroid Build Coastguard Worker "cortex-a53.a57", 86*333d2b36SAndroid Build Coastguard Worker "cortex-a55", 87*333d2b36SAndroid Build Coastguard Worker "cortex-a72", 88*333d2b36SAndroid Build Coastguard Worker "cortex-a73", 89*333d2b36SAndroid Build Coastguard Worker "cortex-a75", 90*333d2b36SAndroid Build Coastguard Worker "cortex-a76", 91*333d2b36SAndroid Build Coastguard Worker "krait", 92*333d2b36SAndroid Build Coastguard Worker "kryo", 93*333d2b36SAndroid Build Coastguard Worker "kryo385", 94*333d2b36SAndroid Build Coastguard Worker "exynos-m1", 95*333d2b36SAndroid Build Coastguard Worker "exynos-m2", 96*333d2b36SAndroid Build Coastguard Worker }, 97*333d2b36SAndroid Build Coastguard Worker Arm64: { 98*333d2b36SAndroid Build Coastguard Worker "cortex-a53", 99*333d2b36SAndroid Build Coastguard Worker "cortex-a55", 100*333d2b36SAndroid Build Coastguard Worker "cortex-a72", 101*333d2b36SAndroid Build Coastguard Worker "cortex-a73", 102*333d2b36SAndroid Build Coastguard Worker "cortex-a75", 103*333d2b36SAndroid Build Coastguard Worker "cortex-a76", 104*333d2b36SAndroid Build Coastguard Worker "kryo", 105*333d2b36SAndroid Build Coastguard Worker "kryo385", 106*333d2b36SAndroid Build Coastguard Worker "exynos-m1", 107*333d2b36SAndroid Build Coastguard Worker "exynos-m2", 108*333d2b36SAndroid Build Coastguard Worker "oryon", 109*333d2b36SAndroid Build Coastguard Worker }, 110*333d2b36SAndroid Build Coastguard Worker X86: {}, 111*333d2b36SAndroid Build Coastguard Worker X86_64: {}, 112*333d2b36SAndroid Build Coastguard Worker} 113*333d2b36SAndroid Build Coastguard Worker 114*333d2b36SAndroid Build Coastguard Workervar archFeatures = map[ArchType][]string{ 115*333d2b36SAndroid Build Coastguard Worker Arm64: { 116*333d2b36SAndroid Build Coastguard Worker "dotprod", 117*333d2b36SAndroid Build Coastguard Worker }, 118*333d2b36SAndroid Build Coastguard Worker X86: { 119*333d2b36SAndroid Build Coastguard Worker "ssse3", 120*333d2b36SAndroid Build Coastguard Worker "sse4", 121*333d2b36SAndroid Build Coastguard Worker "sse4_1", 122*333d2b36SAndroid Build Coastguard Worker "sse4_2", 123*333d2b36SAndroid Build Coastguard Worker "aes_ni", 124*333d2b36SAndroid Build Coastguard Worker "avx", 125*333d2b36SAndroid Build Coastguard Worker "avx2", 126*333d2b36SAndroid Build Coastguard Worker "avx512", 127*333d2b36SAndroid Build Coastguard Worker "popcnt", 128*333d2b36SAndroid Build Coastguard Worker "movbe", 129*333d2b36SAndroid Build Coastguard Worker }, 130*333d2b36SAndroid Build Coastguard Worker X86_64: { 131*333d2b36SAndroid Build Coastguard Worker "ssse3", 132*333d2b36SAndroid Build Coastguard Worker "sse4", 133*333d2b36SAndroid Build Coastguard Worker "sse4_1", 134*333d2b36SAndroid Build Coastguard Worker "sse4_2", 135*333d2b36SAndroid Build Coastguard Worker "aes_ni", 136*333d2b36SAndroid Build Coastguard Worker "avx", 137*333d2b36SAndroid Build Coastguard Worker "avx2", 138*333d2b36SAndroid Build Coastguard Worker "avx512", 139*333d2b36SAndroid Build Coastguard Worker "popcnt", 140*333d2b36SAndroid Build Coastguard Worker }, 141*333d2b36SAndroid Build Coastguard Worker} 142*333d2b36SAndroid Build Coastguard Worker 143*333d2b36SAndroid Build Coastguard Workervar androidArchFeatureMap = map[ArchType]map[string][]string{ 144*333d2b36SAndroid Build Coastguard Worker Arm64: { 145*333d2b36SAndroid Build Coastguard Worker "armv8-2a-dotprod": { 146*333d2b36SAndroid Build Coastguard Worker "dotprod", 147*333d2b36SAndroid Build Coastguard Worker }, 148*333d2b36SAndroid Build Coastguard Worker "armv9-a": { 149*333d2b36SAndroid Build Coastguard Worker "dotprod", 150*333d2b36SAndroid Build Coastguard Worker }, 151*333d2b36SAndroid Build Coastguard Worker "armv9-2a": { 152*333d2b36SAndroid Build Coastguard Worker "dotprod", 153*333d2b36SAndroid Build Coastguard Worker }, 154*333d2b36SAndroid Build Coastguard Worker }, 155*333d2b36SAndroid Build Coastguard Worker X86: { 156*333d2b36SAndroid Build Coastguard Worker "alderlake": { 157*333d2b36SAndroid Build Coastguard Worker "ssse3", 158*333d2b36SAndroid Build Coastguard Worker "sse4", 159*333d2b36SAndroid Build Coastguard Worker "sse4_1", 160*333d2b36SAndroid Build Coastguard Worker "sse4_2", 161*333d2b36SAndroid Build Coastguard Worker "avx", 162*333d2b36SAndroid Build Coastguard Worker "avx2", 163*333d2b36SAndroid Build Coastguard Worker "aes_ni", 164*333d2b36SAndroid Build Coastguard Worker "popcnt", 165*333d2b36SAndroid Build Coastguard Worker }, 166*333d2b36SAndroid Build Coastguard Worker "amberlake": { 167*333d2b36SAndroid Build Coastguard Worker "ssse3", 168*333d2b36SAndroid Build Coastguard Worker "sse4", 169*333d2b36SAndroid Build Coastguard Worker "sse4_1", 170*333d2b36SAndroid Build Coastguard Worker "sse4_2", 171*333d2b36SAndroid Build Coastguard Worker "avx", 172*333d2b36SAndroid Build Coastguard Worker "avx2", 173*333d2b36SAndroid Build Coastguard Worker "aes_ni", 174*333d2b36SAndroid Build Coastguard Worker "popcnt", 175*333d2b36SAndroid Build Coastguard Worker }, 176*333d2b36SAndroid Build Coastguard Worker "atom": { 177*333d2b36SAndroid Build Coastguard Worker "ssse3", 178*333d2b36SAndroid Build Coastguard Worker "movbe", 179*333d2b36SAndroid Build Coastguard Worker }, 180*333d2b36SAndroid Build Coastguard Worker "broadwell": { 181*333d2b36SAndroid Build Coastguard Worker "ssse3", 182*333d2b36SAndroid Build Coastguard Worker "sse4", 183*333d2b36SAndroid Build Coastguard Worker "sse4_1", 184*333d2b36SAndroid Build Coastguard Worker "sse4_2", 185*333d2b36SAndroid Build Coastguard Worker "avx", 186*333d2b36SAndroid Build Coastguard Worker "avx2", 187*333d2b36SAndroid Build Coastguard Worker "aes_ni", 188*333d2b36SAndroid Build Coastguard Worker "popcnt", 189*333d2b36SAndroid Build Coastguard Worker }, 190*333d2b36SAndroid Build Coastguard Worker "goldmont": { 191*333d2b36SAndroid Build Coastguard Worker "ssse3", 192*333d2b36SAndroid Build Coastguard Worker "sse4", 193*333d2b36SAndroid Build Coastguard Worker "sse4_1", 194*333d2b36SAndroid Build Coastguard Worker "sse4_2", 195*333d2b36SAndroid Build Coastguard Worker "aes_ni", 196*333d2b36SAndroid Build Coastguard Worker "popcnt", 197*333d2b36SAndroid Build Coastguard Worker "movbe", 198*333d2b36SAndroid Build Coastguard Worker }, 199*333d2b36SAndroid Build Coastguard Worker "goldmont-plus": { 200*333d2b36SAndroid Build Coastguard Worker "ssse3", 201*333d2b36SAndroid Build Coastguard Worker "sse4", 202*333d2b36SAndroid Build Coastguard Worker "sse4_1", 203*333d2b36SAndroid Build Coastguard Worker "sse4_2", 204*333d2b36SAndroid Build Coastguard Worker "aes_ni", 205*333d2b36SAndroid Build Coastguard Worker "popcnt", 206*333d2b36SAndroid Build Coastguard Worker "movbe", 207*333d2b36SAndroid Build Coastguard Worker }, 208*333d2b36SAndroid Build Coastguard Worker "goldmont-without-sha-xsaves": { 209*333d2b36SAndroid Build Coastguard Worker "ssse3", 210*333d2b36SAndroid Build Coastguard Worker "sse4", 211*333d2b36SAndroid Build Coastguard Worker "sse4_1", 212*333d2b36SAndroid Build Coastguard Worker "sse4_2", 213*333d2b36SAndroid Build Coastguard Worker "aes_ni", 214*333d2b36SAndroid Build Coastguard Worker "popcnt", 215*333d2b36SAndroid Build Coastguard Worker "movbe", 216*333d2b36SAndroid Build Coastguard Worker }, 217*333d2b36SAndroid Build Coastguard Worker "haswell": { 218*333d2b36SAndroid Build Coastguard Worker "ssse3", 219*333d2b36SAndroid Build Coastguard Worker "sse4", 220*333d2b36SAndroid Build Coastguard Worker "sse4_1", 221*333d2b36SAndroid Build Coastguard Worker "sse4_2", 222*333d2b36SAndroid Build Coastguard Worker "aes_ni", 223*333d2b36SAndroid Build Coastguard Worker "avx", 224*333d2b36SAndroid Build Coastguard Worker "popcnt", 225*333d2b36SAndroid Build Coastguard Worker "movbe", 226*333d2b36SAndroid Build Coastguard Worker }, 227*333d2b36SAndroid Build Coastguard Worker "icelake": { 228*333d2b36SAndroid Build Coastguard Worker "ssse3", 229*333d2b36SAndroid Build Coastguard Worker "sse4", 230*333d2b36SAndroid Build Coastguard Worker "sse4_1", 231*333d2b36SAndroid Build Coastguard Worker "sse4_2", 232*333d2b36SAndroid Build Coastguard Worker "avx", 233*333d2b36SAndroid Build Coastguard Worker "avx2", 234*333d2b36SAndroid Build Coastguard Worker "avx512", 235*333d2b36SAndroid Build Coastguard Worker "aes_ni", 236*333d2b36SAndroid Build Coastguard Worker "popcnt", 237*333d2b36SAndroid Build Coastguard Worker }, 238*333d2b36SAndroid Build Coastguard Worker "ivybridge": { 239*333d2b36SAndroid Build Coastguard Worker "ssse3", 240*333d2b36SAndroid Build Coastguard Worker "sse4", 241*333d2b36SAndroid Build Coastguard Worker "sse4_1", 242*333d2b36SAndroid Build Coastguard Worker "sse4_2", 243*333d2b36SAndroid Build Coastguard Worker "aes_ni", 244*333d2b36SAndroid Build Coastguard Worker "avx", 245*333d2b36SAndroid Build Coastguard Worker "popcnt", 246*333d2b36SAndroid Build Coastguard Worker }, 247*333d2b36SAndroid Build Coastguard Worker "kabylake": { 248*333d2b36SAndroid Build Coastguard Worker "ssse3", 249*333d2b36SAndroid Build Coastguard Worker "sse4", 250*333d2b36SAndroid Build Coastguard Worker "sse4_1", 251*333d2b36SAndroid Build Coastguard Worker "sse4_2", 252*333d2b36SAndroid Build Coastguard Worker "avx", 253*333d2b36SAndroid Build Coastguard Worker "avx2", 254*333d2b36SAndroid Build Coastguard Worker "aes_ni", 255*333d2b36SAndroid Build Coastguard Worker "popcnt", 256*333d2b36SAndroid Build Coastguard Worker }, 257*333d2b36SAndroid Build Coastguard Worker "sandybridge": { 258*333d2b36SAndroid Build Coastguard Worker "ssse3", 259*333d2b36SAndroid Build Coastguard Worker "sse4", 260*333d2b36SAndroid Build Coastguard Worker "sse4_1", 261*333d2b36SAndroid Build Coastguard Worker "sse4_2", 262*333d2b36SAndroid Build Coastguard Worker "popcnt", 263*333d2b36SAndroid Build Coastguard Worker }, 264*333d2b36SAndroid Build Coastguard Worker "silvermont": { 265*333d2b36SAndroid Build Coastguard Worker "ssse3", 266*333d2b36SAndroid Build Coastguard Worker "sse4", 267*333d2b36SAndroid Build Coastguard Worker "sse4_1", 268*333d2b36SAndroid Build Coastguard Worker "sse4_2", 269*333d2b36SAndroid Build Coastguard Worker "aes_ni", 270*333d2b36SAndroid Build Coastguard Worker "popcnt", 271*333d2b36SAndroid Build Coastguard Worker "movbe", 272*333d2b36SAndroid Build Coastguard Worker }, 273*333d2b36SAndroid Build Coastguard Worker "skylake": { 274*333d2b36SAndroid Build Coastguard Worker "ssse3", 275*333d2b36SAndroid Build Coastguard Worker "sse4", 276*333d2b36SAndroid Build Coastguard Worker "sse4_1", 277*333d2b36SAndroid Build Coastguard Worker "sse4_2", 278*333d2b36SAndroid Build Coastguard Worker "avx", 279*333d2b36SAndroid Build Coastguard Worker "avx2", 280*333d2b36SAndroid Build Coastguard Worker "avx512", 281*333d2b36SAndroid Build Coastguard Worker "aes_ni", 282*333d2b36SAndroid Build Coastguard Worker "popcnt", 283*333d2b36SAndroid Build Coastguard Worker }, 284*333d2b36SAndroid Build Coastguard Worker "stoneyridge": { 285*333d2b36SAndroid Build Coastguard Worker "ssse3", 286*333d2b36SAndroid Build Coastguard Worker "sse4", 287*333d2b36SAndroid Build Coastguard Worker "sse4_1", 288*333d2b36SAndroid Build Coastguard Worker "sse4_2", 289*333d2b36SAndroid Build Coastguard Worker "aes_ni", 290*333d2b36SAndroid Build Coastguard Worker "avx", 291*333d2b36SAndroid Build Coastguard Worker "avx2", 292*333d2b36SAndroid Build Coastguard Worker "popcnt", 293*333d2b36SAndroid Build Coastguard Worker "movbe", 294*333d2b36SAndroid Build Coastguard Worker }, 295*333d2b36SAndroid Build Coastguard Worker "tigerlake": { 296*333d2b36SAndroid Build Coastguard Worker "ssse3", 297*333d2b36SAndroid Build Coastguard Worker "sse4", 298*333d2b36SAndroid Build Coastguard Worker "sse4_1", 299*333d2b36SAndroid Build Coastguard Worker "sse4_2", 300*333d2b36SAndroid Build Coastguard Worker "avx", 301*333d2b36SAndroid Build Coastguard Worker "avx2", 302*333d2b36SAndroid Build Coastguard Worker "avx512", 303*333d2b36SAndroid Build Coastguard Worker "aes_ni", 304*333d2b36SAndroid Build Coastguard Worker "popcnt", 305*333d2b36SAndroid Build Coastguard Worker }, 306*333d2b36SAndroid Build Coastguard Worker "tremont": { 307*333d2b36SAndroid Build Coastguard Worker "ssse3", 308*333d2b36SAndroid Build Coastguard Worker "sse4", 309*333d2b36SAndroid Build Coastguard Worker "sse4_1", 310*333d2b36SAndroid Build Coastguard Worker "sse4_2", 311*333d2b36SAndroid Build Coastguard Worker "aes_ni", 312*333d2b36SAndroid Build Coastguard Worker "popcnt", 313*333d2b36SAndroid Build Coastguard Worker "movbe", 314*333d2b36SAndroid Build Coastguard Worker }, 315*333d2b36SAndroid Build Coastguard Worker "whiskeylake": { 316*333d2b36SAndroid Build Coastguard Worker "ssse3", 317*333d2b36SAndroid Build Coastguard Worker "sse4", 318*333d2b36SAndroid Build Coastguard Worker "sse4_1", 319*333d2b36SAndroid Build Coastguard Worker "sse4_2", 320*333d2b36SAndroid Build Coastguard Worker "avx", 321*333d2b36SAndroid Build Coastguard Worker "avx2", 322*333d2b36SAndroid Build Coastguard Worker "avx512", 323*333d2b36SAndroid Build Coastguard Worker "aes_ni", 324*333d2b36SAndroid Build Coastguard Worker "popcnt", 325*333d2b36SAndroid Build Coastguard Worker }, 326*333d2b36SAndroid Build Coastguard Worker "x86_64": { 327*333d2b36SAndroid Build Coastguard Worker "ssse3", 328*333d2b36SAndroid Build Coastguard Worker "sse4", 329*333d2b36SAndroid Build Coastguard Worker "sse4_1", 330*333d2b36SAndroid Build Coastguard Worker "sse4_2", 331*333d2b36SAndroid Build Coastguard Worker "popcnt", 332*333d2b36SAndroid Build Coastguard Worker }, 333*333d2b36SAndroid Build Coastguard Worker }, 334*333d2b36SAndroid Build Coastguard Worker X86_64: { 335*333d2b36SAndroid Build Coastguard Worker "" /*default */ : { 336*333d2b36SAndroid Build Coastguard Worker "ssse3", 337*333d2b36SAndroid Build Coastguard Worker "sse4", 338*333d2b36SAndroid Build Coastguard Worker "sse4_1", 339*333d2b36SAndroid Build Coastguard Worker "sse4_2", 340*333d2b36SAndroid Build Coastguard Worker "popcnt", 341*333d2b36SAndroid Build Coastguard Worker }, 342*333d2b36SAndroid Build Coastguard Worker "alderlake": { 343*333d2b36SAndroid Build Coastguard Worker "ssse3", 344*333d2b36SAndroid Build Coastguard Worker "sse4", 345*333d2b36SAndroid Build Coastguard Worker "sse4_1", 346*333d2b36SAndroid Build Coastguard Worker "sse4_2", 347*333d2b36SAndroid Build Coastguard Worker "avx", 348*333d2b36SAndroid Build Coastguard Worker "avx2", 349*333d2b36SAndroid Build Coastguard Worker "aes_ni", 350*333d2b36SAndroid Build Coastguard Worker "popcnt", 351*333d2b36SAndroid Build Coastguard Worker }, 352*333d2b36SAndroid Build Coastguard Worker "amberlake": { 353*333d2b36SAndroid Build Coastguard Worker "ssse3", 354*333d2b36SAndroid Build Coastguard Worker "sse4", 355*333d2b36SAndroid Build Coastguard Worker "sse4_1", 356*333d2b36SAndroid Build Coastguard Worker "sse4_2", 357*333d2b36SAndroid Build Coastguard Worker "avx", 358*333d2b36SAndroid Build Coastguard Worker "avx2", 359*333d2b36SAndroid Build Coastguard Worker "aes_ni", 360*333d2b36SAndroid Build Coastguard Worker "popcnt", 361*333d2b36SAndroid Build Coastguard Worker }, 362*333d2b36SAndroid Build Coastguard Worker "broadwell": { 363*333d2b36SAndroid Build Coastguard Worker "ssse3", 364*333d2b36SAndroid Build Coastguard Worker "sse4", 365*333d2b36SAndroid Build Coastguard Worker "sse4_1", 366*333d2b36SAndroid Build Coastguard Worker "sse4_2", 367*333d2b36SAndroid Build Coastguard Worker "avx", 368*333d2b36SAndroid Build Coastguard Worker "avx2", 369*333d2b36SAndroid Build Coastguard Worker "aes_ni", 370*333d2b36SAndroid Build Coastguard Worker "popcnt", 371*333d2b36SAndroid Build Coastguard Worker }, 372*333d2b36SAndroid Build Coastguard Worker "goldmont": { 373*333d2b36SAndroid Build Coastguard Worker "ssse3", 374*333d2b36SAndroid Build Coastguard Worker "sse4", 375*333d2b36SAndroid Build Coastguard Worker "sse4_1", 376*333d2b36SAndroid Build Coastguard Worker "sse4_2", 377*333d2b36SAndroid Build Coastguard Worker "aes_ni", 378*333d2b36SAndroid Build Coastguard Worker "popcnt", 379*333d2b36SAndroid Build Coastguard Worker }, 380*333d2b36SAndroid Build Coastguard Worker "goldmont-plus": { 381*333d2b36SAndroid Build Coastguard Worker "ssse3", 382*333d2b36SAndroid Build Coastguard Worker "sse4", 383*333d2b36SAndroid Build Coastguard Worker "sse4_1", 384*333d2b36SAndroid Build Coastguard Worker "sse4_2", 385*333d2b36SAndroid Build Coastguard Worker "aes_ni", 386*333d2b36SAndroid Build Coastguard Worker "popcnt", 387*333d2b36SAndroid Build Coastguard Worker }, 388*333d2b36SAndroid Build Coastguard Worker "goldmont-without-sha-xsaves": { 389*333d2b36SAndroid Build Coastguard Worker "ssse3", 390*333d2b36SAndroid Build Coastguard Worker "sse4", 391*333d2b36SAndroid Build Coastguard Worker "sse4_1", 392*333d2b36SAndroid Build Coastguard Worker "sse4_2", 393*333d2b36SAndroid Build Coastguard Worker "aes_ni", 394*333d2b36SAndroid Build Coastguard Worker "popcnt", 395*333d2b36SAndroid Build Coastguard Worker }, 396*333d2b36SAndroid Build Coastguard Worker "haswell": { 397*333d2b36SAndroid Build Coastguard Worker "ssse3", 398*333d2b36SAndroid Build Coastguard Worker "sse4", 399*333d2b36SAndroid Build Coastguard Worker "sse4_1", 400*333d2b36SAndroid Build Coastguard Worker "sse4_2", 401*333d2b36SAndroid Build Coastguard Worker "aes_ni", 402*333d2b36SAndroid Build Coastguard Worker "avx", 403*333d2b36SAndroid Build Coastguard Worker "popcnt", 404*333d2b36SAndroid Build Coastguard Worker }, 405*333d2b36SAndroid Build Coastguard Worker "icelake": { 406*333d2b36SAndroid Build Coastguard Worker "ssse3", 407*333d2b36SAndroid Build Coastguard Worker "sse4", 408*333d2b36SAndroid Build Coastguard Worker "sse4_1", 409*333d2b36SAndroid Build Coastguard Worker "sse4_2", 410*333d2b36SAndroid Build Coastguard Worker "avx", 411*333d2b36SAndroid Build Coastguard Worker "avx2", 412*333d2b36SAndroid Build Coastguard Worker "avx512", 413*333d2b36SAndroid Build Coastguard Worker "aes_ni", 414*333d2b36SAndroid Build Coastguard Worker "popcnt", 415*333d2b36SAndroid Build Coastguard Worker }, 416*333d2b36SAndroid Build Coastguard Worker "ivybridge": { 417*333d2b36SAndroid Build Coastguard Worker "ssse3", 418*333d2b36SAndroid Build Coastguard Worker "sse4", 419*333d2b36SAndroid Build Coastguard Worker "sse4_1", 420*333d2b36SAndroid Build Coastguard Worker "sse4_2", 421*333d2b36SAndroid Build Coastguard Worker "aes_ni", 422*333d2b36SAndroid Build Coastguard Worker "avx", 423*333d2b36SAndroid Build Coastguard Worker "popcnt", 424*333d2b36SAndroid Build Coastguard Worker }, 425*333d2b36SAndroid Build Coastguard Worker "kabylake": { 426*333d2b36SAndroid Build Coastguard Worker "ssse3", 427*333d2b36SAndroid Build Coastguard Worker "sse4", 428*333d2b36SAndroid Build Coastguard Worker "sse4_1", 429*333d2b36SAndroid Build Coastguard Worker "sse4_2", 430*333d2b36SAndroid Build Coastguard Worker "avx", 431*333d2b36SAndroid Build Coastguard Worker "avx2", 432*333d2b36SAndroid Build Coastguard Worker "aes_ni", 433*333d2b36SAndroid Build Coastguard Worker "popcnt", 434*333d2b36SAndroid Build Coastguard Worker }, 435*333d2b36SAndroid Build Coastguard Worker "sandybridge": { 436*333d2b36SAndroid Build Coastguard Worker "ssse3", 437*333d2b36SAndroid Build Coastguard Worker "sse4", 438*333d2b36SAndroid Build Coastguard Worker "sse4_1", 439*333d2b36SAndroid Build Coastguard Worker "sse4_2", 440*333d2b36SAndroid Build Coastguard Worker "popcnt", 441*333d2b36SAndroid Build Coastguard Worker }, 442*333d2b36SAndroid Build Coastguard Worker "silvermont": { 443*333d2b36SAndroid Build Coastguard Worker "ssse3", 444*333d2b36SAndroid Build Coastguard Worker "sse4", 445*333d2b36SAndroid Build Coastguard Worker "sse4_1", 446*333d2b36SAndroid Build Coastguard Worker "sse4_2", 447*333d2b36SAndroid Build Coastguard Worker "aes_ni", 448*333d2b36SAndroid Build Coastguard Worker "popcnt", 449*333d2b36SAndroid Build Coastguard Worker }, 450*333d2b36SAndroid Build Coastguard Worker "skylake": { 451*333d2b36SAndroid Build Coastguard Worker "ssse3", 452*333d2b36SAndroid Build Coastguard Worker "sse4", 453*333d2b36SAndroid Build Coastguard Worker "sse4_1", 454*333d2b36SAndroid Build Coastguard Worker "sse4_2", 455*333d2b36SAndroid Build Coastguard Worker "avx", 456*333d2b36SAndroid Build Coastguard Worker "avx2", 457*333d2b36SAndroid Build Coastguard Worker "avx512", 458*333d2b36SAndroid Build Coastguard Worker "aes_ni", 459*333d2b36SAndroid Build Coastguard Worker "popcnt", 460*333d2b36SAndroid Build Coastguard Worker }, 461*333d2b36SAndroid Build Coastguard Worker "stoneyridge": { 462*333d2b36SAndroid Build Coastguard Worker "ssse3", 463*333d2b36SAndroid Build Coastguard Worker "sse4", 464*333d2b36SAndroid Build Coastguard Worker "sse4_1", 465*333d2b36SAndroid Build Coastguard Worker "sse4_2", 466*333d2b36SAndroid Build Coastguard Worker "aes_ni", 467*333d2b36SAndroid Build Coastguard Worker "avx", 468*333d2b36SAndroid Build Coastguard Worker "avx2", 469*333d2b36SAndroid Build Coastguard Worker "popcnt", 470*333d2b36SAndroid Build Coastguard Worker }, 471*333d2b36SAndroid Build Coastguard Worker "tigerlake": { 472*333d2b36SAndroid Build Coastguard Worker "ssse3", 473*333d2b36SAndroid Build Coastguard Worker "sse4", 474*333d2b36SAndroid Build Coastguard Worker "sse4_1", 475*333d2b36SAndroid Build Coastguard Worker "sse4_2", 476*333d2b36SAndroid Build Coastguard Worker "avx", 477*333d2b36SAndroid Build Coastguard Worker "avx2", 478*333d2b36SAndroid Build Coastguard Worker "avx512", 479*333d2b36SAndroid Build Coastguard Worker "aes_ni", 480*333d2b36SAndroid Build Coastguard Worker "popcnt", 481*333d2b36SAndroid Build Coastguard Worker }, 482*333d2b36SAndroid Build Coastguard Worker "tremont": { 483*333d2b36SAndroid Build Coastguard Worker "ssse3", 484*333d2b36SAndroid Build Coastguard Worker "sse4", 485*333d2b36SAndroid Build Coastguard Worker "sse4_1", 486*333d2b36SAndroid Build Coastguard Worker "sse4_2", 487*333d2b36SAndroid Build Coastguard Worker "aes_ni", 488*333d2b36SAndroid Build Coastguard Worker "popcnt", 489*333d2b36SAndroid Build Coastguard Worker }, 490*333d2b36SAndroid Build Coastguard Worker "whiskeylake": { 491*333d2b36SAndroid Build Coastguard Worker "ssse3", 492*333d2b36SAndroid Build Coastguard Worker "sse4", 493*333d2b36SAndroid Build Coastguard Worker "sse4_1", 494*333d2b36SAndroid Build Coastguard Worker "sse4_2", 495*333d2b36SAndroid Build Coastguard Worker "avx", 496*333d2b36SAndroid Build Coastguard Worker "avx2", 497*333d2b36SAndroid Build Coastguard Worker "avx512", 498*333d2b36SAndroid Build Coastguard Worker "aes_ni", 499*333d2b36SAndroid Build Coastguard Worker "popcnt", 500*333d2b36SAndroid Build Coastguard Worker }, 501*333d2b36SAndroid Build Coastguard Worker }, 502*333d2b36SAndroid Build Coastguard Worker} 503