{
"microarchitectures": {
"x86": {
"from": [],
"vendor": "generic",
"features": []
},
"i686": {
"from": ["x86"],
"vendor": "GenuineIntel",
"features": []
},
"pentium2": {
"from": ["i686"],
"vendor": "GenuineIntel",
"features": [
"mmx"
]
},
"pentium3": {
"from": ["pentium2"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse"
]
},
"pentium4": {
"from": ["pentium3"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2"
]
},
"prescott": {
"from": ["pentium4"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"sse3"
]
},
"x86_64": {
"from": [],
"vendor": "generic",
"features": [],
"compilers": {
"gcc": [
{
"versions": "4.2.0:",
"name": "x86-64",
"flags": "-march={name} -mtune=generic"
},
{
"versions": ":4.1.2",
"name": "x86-64",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": ":",
"name": "x86-64",
"flags": "-march={name}"
}
],
"clang": [
{
"versions": ":",
"name": "x86-64",
"flags": "-march={name} -mtune=generic"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "x86-64",
"flags": "-march={name} -mtune=generic"
}
],
"intel": [
{
"versions": ":",
"name": "pentium4",
"flags": "-march={name} -mtune=generic"
}
]
}
},
"x86_64_v2": {
"from": ["x86_64"],
"vendor": "generic",
"features": [
"cx16",
"lahf_lm",
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt"
],
"compilers": {
"gcc": [
{
"versions": "11.1:",
"name": "x86-64-v2",
"flags": "-march={name} -mtune=generic"
},
{
"versions": "4.6:11.0",
"name": "x86-64",
"flags": "-march={name} -mtune=generic -mcx16 -msahf -mpopcnt -msse3 -msse4.1 -msse4.2 -mssse3"
}
],
"clang": [
{
"versions": "12.0:",
"name": "x86-64-v2",
"flags": "-march={name} -mtune=generic"
},
{
"versions": "3.9:11.1",
"name": "x86-64",
"flags": "-march={name} -mtune=generic -mcx16 -msahf -mpopcnt -msse3 -msse4.1 -msse4.2 -mssse3"
}
]
}
},
"x86_64_v3": {
"from": ["x86_64_v2"],
"vendor": "generic",
"features": [
"cx16",
"lahf_lm",
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"avx",
"avx2",
"bmi1",
"bmi2",
"f16c",
"fma",
"abm",
"movbe",
"xsave"
],
"compilers": {
"gcc": [
{
"versions": "11.1:",
"name": "x86-64-v3",
"flags": "-march={name} -mtune=generic"
},
{
"versions": "4.8:11.0",
"name": "x86-64",
"flags": "-march={name} -mtune=generic -mcx16 -msahf -mpopcnt -msse3 -msse4.1 -msse4.2 -mssse3 -mavx -mavx2 -mbmi -mbmi2 -mf16c -mfma -mlzcnt -mmovbe -mxsave"
}
],
"clang": [
{
"versions": "12.0:",
"name": "x86-64-v3",
"flags": "-march={name} -mtune=generic"
},
{
"versions": "3.9:11.1",
"name": "x86-64",
"flags": "-march={name} -mtune=generic -mcx16 -msahf -mpopcnt -msse3 -msse4.1 -msse4.2 -mssse3 -mavx -mavx2 -mbmi -mbmi2 -mf16c -mfma -mlzcnt -mmovbe -mxsave"
}
],
"apple-clang": [
{
"versions": "8.0:",
"name": "x86-64",
"flags": "-march={name} -mtune=generic -mcx16 -msahf -mpopcnt -msse3 -msse4.1 -msse4.2 -mssse3 -mavx -mavx2 -mbmi -mbmi2 -mf16c -mfma -mlzcnt -mmovbe -mxsave"
}
]
}
},
"x86_64_v4": {
"from": ["x86_64_v3"],
"vendor": "generic",
"features": [
"cx16",
"lahf_lm",
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"avx",
"avx2",
"bmi1",
"bmi2",
"f16c",
"fma",
"abm",
"movbe",
"xsave",
"avx512f",
"avx512bw",
"avx512cd",
"avx512dq",
"avx512vl"
],
"compilers": {
"gcc": [
{
"versions": "11.1:",
"name": "x86-64-v4",
"flags": "-march={name} -mtune=generic"
},
{
"versions": "6.0:11.0",
"name": "x86-64",
"flags": "-march={name} -mtune=generic -mcx16 -msahf -mpopcnt -msse3 -msse4.1 -msse4.2 -mssse3 -mavx -mavx2 -mbmi -mbmi2 -mf16c -mfma -mlzcnt -mmovbe -mxsave -mavx512f -mavx512bw -mavx512cd -mavx512dq -mavx512vl"
}
],
"clang": [
{
"versions": "12.0:",
"name": "x86-64-v4",
"flags": "-march={name} -mtune=generic"
},
{
"versions": "3.9:11.1",
"name": "x86-64",
"flags": "-march={name} -mtune=generic -mcx16 -msahf -mpopcnt -msse3 -msse4.1 -msse4.2 -mssse3 -mavx -mavx2 -mbmi -mbmi2 -mf16c -mfma -mlzcnt -mmovbe -mxsave -mavx512f -mavx512bw -mavx512cd -mavx512dq -mavx512vl"
}
],
"apple-clang": [
{
"versions": "8.0:",
"name": "x86-64",
"flags": "-march={name} -mtune=generic -mcx16 -msahf -mpopcnt -msse3 -msse4.1 -msse4.2 -mssse3 -mavx -mavx2 -mbmi -mbmi2 -mf16c -mfma -mlzcnt -mmovbe -mxsave -mavx512f -mavx512bw -mavx512cd -mavx512dq -mavx512vl"
}
]
}
},
"nocona": {
"from": ["x86_64"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"sse3"
],
"compilers": {
"gcc": [
{
"versions": "4.0.4:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune=generic"
}
],
"apple-clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
"name": "pentium4",
"flags": "-march={name} -mtune=generic"
}
]
}
},
"core2": {
"from": ["nocona"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3"
],
"compilers": {
"gcc": [
{
"versions": "4.3.0:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune=generic"
}
],
"apple-clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"nehalem": {
"from": ["core2", "x86_64_v2"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt"
],
"compilers": {
"gcc": [
{
"versions": "4.9:",
"flags": "-march={name} -mtune={name}"
},
{
"versions": "4.6:4.8.5",
"name": "corei7",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune=generic"
}
],
"apple-clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
"name": "corei7",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"westmere": {
"from": ["nehalem"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"aes",
"pclmulqdq"
],
"compilers": {
"gcc": [
{
"versions": "4.9:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune=generic"
}
],
"apple-clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
"name": "corei7",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"sandybridge": {
"from": ["westmere"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"aes",
"pclmulqdq",
"avx"
],
"compilers": {
"gcc": [
{
"versions": "4.9:",
"flags": "-march={name} -mtune={name}"
},
{
"versions": "4.6:4.8.5",
"name": "corei7-avx",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:17.9.0",
"name": "corei7-avx",
"flags": "-march={name} -mtune={name}"
},
{
"versions": "18.0:",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"ivybridge": {
"from": ["sandybridge"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"aes",
"pclmulqdq",
"avx",
"rdrand",
"f16c"
],
"compilers": {
"gcc": [
{
"versions": "4.9:",
"flags": "-march={name} -mtune={name}"
},
{
"versions": "4.6:4.8.5",
"name": "core-avx-i",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:17.9.0",
"name": "core-avx-i",
"flags": "-march={name} -mtune={name}"
},
{
"versions": "18.0:",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"haswell": {
"from": ["ivybridge", "x86_64_v3"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"aes",
"pclmulqdq",
"avx",
"rdrand",
"f16c",
"movbe",
"fma",
"avx2",
"bmi1",
"bmi2"
],
"compilers": {
"gcc": [
{
"versions": "4.9:",
"flags": "-march={name} -mtune={name}"
},
{
"versions": "4.8:4.8.5",
"name": "core-avx2",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:17.9.0",
"name": "core-avx2",
"flags": "-march={name} -mtune={name}"
},
{
"versions": "18.0:",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"broadwell": {
"from": ["haswell"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"aes",
"pclmulqdq",
"avx",
"rdrand",
"f16c",
"movbe",
"fma",
"avx2",
"bmi1",
"bmi2",
"rdseed",
"adx"
],
"compilers": {
"gcc": [
{
"versions": "4.9:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "18.0:",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"skylake": {
"from": ["broadwell"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"aes",
"pclmulqdq",
"avx",
"rdrand",
"f16c",
"movbe",
"fma",
"avx2",
"bmi1",
"bmi2",
"rdseed",
"adx",
"clflushopt",
"xsavec",
"xsaveopt"
],
"compilers": {
"gcc": [
{
"versions": "6.0:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "18.0:",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"mic_knl": {
"from": ["broadwell"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"aes",
"pclmulqdq",
"avx",
"rdrand",
"f16c",
"movbe",
"avx2",
"fma",
"avx2",
"bmi1",
"bmi2",
"rdseed",
"adx",
"avx512f",
"avx512pf",
"avx512er",
"avx512cd"
],
"compilers": {
"gcc": [
{
"versions": "5.1:",
"name": "knl",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"name": "knl",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "knl",
"flags": "-march={name} -mtune=generic"
}
],
"apple-clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "18.0:",
"name": "knl",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"skylake_avx512": {
"from": ["skylake", "x86_64_v4"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"aes",
"pclmulqdq",
"avx",
"rdrand",
"f16c",
"movbe",
"fma",
"avx2",
"bmi1",
"bmi2",
"rdseed",
"adx",
"clflushopt",
"xsavec",
"xsaveopt",
"avx512f",
"clwb",
"avx512vl",
"avx512bw",
"avx512dq",
"avx512cd"
],
"compilers": {
"gcc": [
{
"name": "skylake-avx512",
"versions": "6.0:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"name": "skylake-avx512",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "skylake-avx512",
"flags": "-march={name} -mtune=generic"
}
],
"apple-clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "18.0:",
"name": "skylake-avx512",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"cannonlake": {
"from": ["skylake"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"aes",
"pclmulqdq",
"avx",
"rdrand",
"f16c",
"movbe",
"fma",
"avx2",
"bmi1",
"bmi2",
"rdseed",
"adx",
"clflushopt",
"xsavec",
"xsaveopt",
"avx512f",
"avx512vl",
"avx512bw",
"avx512dq",
"avx512cd",
"avx512vbmi",
"avx512ifma",
"sha",
"umip"
],
"compilers": {
"gcc": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "18.0:",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"cascadelake": {
"from": ["skylake_avx512"],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"aes",
"pclmulqdq",
"avx",
"rdrand",
"f16c",
"movbe",
"fma",
"avx2",
"bmi1",
"bmi2",
"rdseed",
"adx",
"clflushopt",
"xsavec",
"xsaveopt",
"avx512f",
"clwb",
"avx512vl",
"avx512bw",
"avx512dq",
"avx512cd",
"avx512_vnni"
],
"compilers": {
"gcc": [
{
"versions": "9.0:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "11.0:",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "19.0.1:",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"icelake": {
"from": [
"cascadelake",
"cannonlake"
],
"vendor": "GenuineIntel",
"features": [
"mmx",
"sse",
"sse2",
"ssse3",
"sse4_1",
"sse4_2",
"popcnt",
"aes",
"pclmulqdq",
"avx",
"rdrand",
"f16c",
"movbe",
"fma",
"avx2",
"bmi1",
"bmi2",
"rdseed",
"adx",
"clflushopt",
"xsavec",
"xsaveopt",
"avx512f",
"avx512vl",
"avx512bw",
"avx512dq",
"avx512cd",
"avx512vbmi",
"avx512ifma",
"sha_ni",
"umip",
"clwb",
"rdpid",
"gfni",
"avx512_vbmi2",
"avx512_vpopcntdq",
"avx512_bitalg",
"avx512_vnni",
"vpclmulqdq",
"vaes"
],
"compilers": {
"gcc": [
{
"name": "icelake-client",
"versions": "8.0:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "7.0:",
"name": "icelake-client",
"flags": "-march={name} -mtune={name}"
},
{
"versions": "6.0:6.9",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "icelake-client",
"flags": "-march={name} -mtune={name}"
}
],
"apple-clang": [
{
"versions": "10.0.1:",
"name": "icelake-client",
"flags": "-march={name} -mtune={name}"
},
{
"versions": "10.0.0:10.0.99",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "18.0:",
"name": "icelake-client",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"k10": {
"from": ["x86_64"],
"vendor": "AuthenticAMD",
"features": [
"mmx",
"sse",
"sse2",
"sse4a",
"abm",
"cx16",
"3dnow",
"3dnowext"
],
"compilers": {
"gcc": [
{
"name": "amdfam10",
"versions": "4.3:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"name": "amdfam10",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "amdfam10",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
"warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
"flags": "-msse2"
}
]
}
},
"bulldozer": {
"from": ["x86_64_v2"],
"vendor": "AuthenticAMD",
"features": [
"mmx",
"sse",
"sse2",
"sse4a",
"abm",
"avx",
"xop",
"fma4",
"aes",
"pclmulqdq",
"cx16",
"ssse3",
"sse4_1",
"sse4_2"
],
"compilers": {
"gcc": [
{
"name": "bdver1",
"versions": "4.7:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"name": "bdver1",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "bdver1",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
"warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
"flags": "-msse3"
}
]
}
},
"piledriver": {
"from": ["bulldozer"],
"vendor": "AuthenticAMD",
"features": [
"mmx",
"sse",
"sse2",
"sse4a",
"abm",
"avx",
"xop",
"fma4",
"aes",
"pclmulqdq",
"cx16",
"ssse3",
"sse4_1",
"sse4_2",
"bmi1",
"f16c",
"fma",
"tbm"
],
"compilers": {
"gcc": [
{
"name": "bdver2",
"versions": "4.7:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"name": "bdver2",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "bdver2",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
"warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
"flags": "-msse3"
}
]
}
},
"steamroller": {
"from": ["piledriver"],
"vendor": "AuthenticAMD",
"features": [
"mmx",
"sse",
"sse2",
"sse4a",
"abm",
"avx",
"xop",
"fma4",
"aes",
"pclmulqdq",
"cx16",
"ssse3",
"sse4_1",
"sse4_2",
"bmi1",
"f16c",
"fma",
"fsgsbase",
"tbm"
],
"compilers": {
"gcc": [
{
"name": "bdver3",
"versions": "4.8:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"name": "bdver3",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "bdver3",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
"warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
"flags": "-msse4.2"
}
]
}
},
"excavator": {
"from": ["steamroller", "x86_64_v3"],
"vendor": "AuthenticAMD",
"features": [
"mmx",
"sse",
"sse2",
"sse4a",
"abm",
"avx",
"xop",
"fma4",
"aes",
"pclmulqdq",
"cx16",
"ssse3",
"sse4_1",
"sse4_2",
"bmi1",
"f16c",
"fma",
"fsgsbase",
"bmi2",
"avx2",
"movbe",
"tbm"
],
"compilers": {
"gcc": [
{
"name": "bdver4",
"versions": "4.9:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"name": "bdver4",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "bdver4",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
"warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
"name": "core-avx2",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"zen": {
"from": ["x86_64_v3"],
"vendor": "AuthenticAMD",
"features": [
"bmi1",
"bmi2",
"f16c",
"fma",
"fsgsbase",
"avx",
"avx2",
"rdseed",
"clzero",
"aes",
"pclmulqdq",
"cx16",
"movbe",
"mmx",
"sse",
"sse2",
"sse4a",
"ssse3",
"sse4_1",
"sse4_2",
"abm",
"xsavec",
"xsaveopt",
"clflushopt",
"popcnt"
],
"compilers": {
"gcc": [
{
"name": "znver1",
"versions": "6.0:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "4.0:",
"name": "znver1",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "znver1",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
"warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
"name": "core-avx2",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"zen2": {
"from": ["zen"],
"vendor": "AuthenticAMD",
"features": [
"bmi1",
"bmi2",
"f16c",
"fma",
"fsgsbase",
"avx",
"avx2",
"rdseed",
"clzero",
"aes",
"pclmulqdq",
"cx16",
"movbe",
"mmx",
"sse",
"sse2",
"sse4a",
"ssse3",
"sse4_1",
"sse4_2",
"abm",
"xsavec",
"xsaveopt",
"clflushopt",
"popcnt",
"clwb"
],
"compilers": {
"gcc": [
{
"name": "znver2",
"versions": "9.0:",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "9.0:",
"name": "znver2",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "2.2:",
"name": "znver2",
"flags": "-march={name} -mtune={name}"
}
],
"intel": [
{
"versions": "16.0:",
"warnings": "Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors",
"name": "core-avx2",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"zen3": {
"from": ["zen2"],
"vendor": "AuthenticAMD",
"features": [
"bmi1",
"bmi2",
"f16c",
"fma",
"fsgsbase",
"avx",
"avx2",
"rdseed",
"clzero",
"aes",
"pclmulqdq",
"cx16",
"movbe",
"mmx",
"sse",
"sse2",
"sse4a",
"ssse3",
"sse4_1",
"sse4_2",
"abm",
"xsavec",
"xsaveopt",
"clflushopt",
"popcnt",
"clwb",
"vaes",
"vpclmulqdq",
"pku"
],
"compilers": {
"gcc": [
{
"versions": "10.3:",
"name": "znver3",
"flags": "-march={name} -mtune={name}"
}
],
"clang": [
{
"versions": "12.0:",
"name": "znver3",
"flags": "-march={name} -mtune={name}"
}
],
"aocc": [
{
"versions": "3.0:",
"name": "znver3",
"flags": "-march={name} -mtune={name}"
}
]
}
},
"ppc64": {
"from": [],
"vendor": "generic",
"features": [],
"compilers": {
"gcc": [
{
"name": "powerpc64",
"versions": ":",
"flags": "-mcpu={name} -mtune={name}"
}
],
"clang": [
{
"versions": ":",
"flags": "-mcpu={name} -mtune={name}"
}
]
}
},
"power7": {
"from": ["ppc64"],
"vendor": "IBM",
"generation": 7,
"features": [],
"compilers": {
"gcc": [
{
"versions": "4.4:",
"flags": "-mcpu={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-mcpu={name} -mtune={name}"
}
]
}
},
"power8": {
"from": ["power7"],
"vendor": "IBM",
"generation": 8,
"features": [],
"compilers": {
"gcc": [
{
"versions": "4.9:",
"flags": "-mcpu={name} -mtune={name}"
},
{
"versions": "4.8:4.8.5",
"warnings": "Using GCC 4.8 to optimize for Power 8 might not work if you are not on Red Hat Enterprise Linux 7, where a custom backport of the feature has been done. Upstream support from GCC starts in version 4.9",
"flags": "-mcpu={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-mcpu={name} -mtune={name}"
}
]
}
},
"power9": {
"from": ["power8"],
"vendor": "IBM",
"generation": 9,
"features": [],
"compilers": {
"gcc": [
{
"versions": "6.0:",
"flags": "-mcpu={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"flags": "-mcpu={name} -mtune={name}"
}
]
}
},
"ppc64le": {
"from": [],
"vendor": "generic",
"features": [],
"compilers": {
"gcc": [
{
"name": "powerpc64le",
"versions": "4.8:",
"flags": "-mcpu={name} -mtune={name}"
}
],
"clang": [
{
"versions": ":",
"flags": "-mcpu={name} -mtune={name}"
}
]
}
},
"power8le": {
"from": ["ppc64le"],
"vendor": "IBM",
"generation": 8,
"features": [],
"compilers": {
"gcc": [
{
"versions": "4.9:",
"name": "power8",
"flags": "-mcpu={name} -mtune={name}"
},
{
"versions": "4.8:4.8.5",
"warnings": "Using GCC 4.8 to optimize for Power 8 might not work if you are not on Red Hat Enterprise Linux 7, where a custom backport of the feature has been done. Upstream support from GCC starts in version 4.9",
"name": "power8",
"flags": "-mcpu={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"family": "ppc64le",
"name": "power8",
"flags": "-mcpu={name} -mtune={name}"
}
]
}
},
"power9le": {
"from": ["power8le"],
"vendor": "IBM",
"generation": 9,
"features": [],
"compilers": {
"gcc": [
{
"name": "power9",
"versions": "6.0:",
"flags": "-mcpu={name} -mtune={name}"
}
],
"clang": [
{
"versions": "3.9:",
"family": "ppc64le",
"name": "power9",
"flags": "-mcpu={name} -mtune={name}"
}
]
}
},
"aarch64": {
"from": [],
"vendor": "generic",
"features": [],
"compilers": {
"gcc": [
{
"versions": "4.8.0:",
"flags": "-march=armv8-a -mtune=generic"
}
],
"clang": [
{
"versions": ":",
"flags": "-march=armv8-a -mtune=generic"
}
],
"apple-clang": [
{
"versions": ":",
"flags": "-march=armv8-a -mtune=generic"
}
],
"arm": [
{
"versions": ":",
"flags": "-march=armv8-a -mtune=generic"
}
]
}
},
"thunderx2": {
"from": ["aarch64"],
"vendor": "Cavium",
"features": [
"fp",
"asimd",
"evtstrm",
"aes",
"pmull",
"sha1",
"sha2",
"crc32",
"atomics",
"cpuid",
"asimdrdm"
],
"compilers": {
"gcc": [
{
"versions": "4.8:4.8.9",
"flags": "-march=armv8-a"
},
{
"versions": "4.9:5.9",
"flags": "-march=armv8-a+crc+crypto"
},
{
"versions": "6:6.9",
"flags": "-march=armv8.1-a+crc+crypto"
},
{
"versions": "7:",
"flags": "-mcpu=thunderx2t99"
}
],
"clang": [
{
"versions": "3.9:4.9",
"flags": "-march=armv8.1-a+crc+crypto"
},
{
"versions": "5:",
"flags": "-mcpu=thunderx2t99"
}
]
}
},
"a64fx": {
"from": ["aarch64"],
"vendor": "Fujitsu",
"features": [
"fp",
"asimd",
"evtstrm",
"aes",
"pmull",
"sha1",
"sha2",
"crc32",
"atomics",
"cpuid",
"asimdrdm",
"fphp",
"asimdhp",
"fcma",
"dcpop",
"sve"
],
"compilers": {
"gcc": [
{
"versions": "4.8:4.8.9",
"flags": "-march=armv8-a"
},
{
"versions": "4.9:5.9",
"flags": "-march=armv8-a+crc+crypto"
},
{
"versions": "6:6.9",
"flags": "-march=armv8.1-a+crc+crypto"
},
{
"versions": "7:7.9",
"flags": "-march=armv8.2-a+crc+crypto+fp16"
},
{
"versions": "8:",
"flags": "-march=armv8.2-a+crc+aes+sha2+fp16+sve -msve-vector-bits=512"
}
],
"clang": [
{
"versions": "3.9:4.9",
"flags": "-march=armv8.2-a+crc+crypto+fp16"
},
{
"versions": "5:",
"flags": "-march=armv8.2-a+crc+crypto+fp16+sve"
}
],
"arm": [
{
"versions": "20:",
"flags": "-march=armv8.2-a+crc+crypto+fp16+sve"
}
]
}
},
"graviton": {
"from": ["aarch64"],
"vendor": "ARM",
"features": [
"fp",
"asimd",
"evtstrm",
"aes",
"pmull",
"sha1",
"sha2",
"crc32",
"cpuid"
],
"compilers" : {
"gcc": [
{
"versions": "4.8:4.8.9",
"flags" : "-march=armv8-a"
},
{
"versions": "4.9:5.9",
"flags" : "-march=armv8-a+crc+crypto"
},
{
"versions": "6:",
"flags" : "-march=armv8-a+crc+crypto -mtune=cortex-a72"
}
],
"clang" : [
{
"versions": "3.9:",
"flags" : "-march=armv8-a+crc+crypto"
}
]
}
},
"graviton2": {
"from": ["aarch64"],
"vendor": "ARM",
"features": [
"fp",
"asimd",
"evtstrm",
"aes",
"pmull",
"sha1",
"sha2",
"crc32",
"atomics",
"fphp",
"asimdhp",
"cpuid",
"asimdrdm",
"lrcpc",
"dcpop",
"asimddp",
"ssbs"
],
"compilers" : {
"gcc": [
{
"versions": "4.8:4.8.9",
"flags": "-march=armv8-a"
},
{
"versions": "4.9:5.9",
"flags": "-march=armv8-a+crc+crypto"
},
{
"versions": "6:6.9",
"flags" : "-march=armv8.1-a"
},
{
"versions": "7:7.9",
"flags" : "-march=armv8.2-a+fp16 -mtune=cortex-a72"
},
{
"versions": "8.0:8.0",
"flags" : "-march=armv8.2-a+fp16+dotprod+crypto -mtune=cortex-a72"
},
{
"versions": "8.1:8.9",
"flags" : "-march=armv8.2-a+fp16+rcpc+dotprod+crypto -mtune=cortex-a72"
},
{
"versions": "9.0:",
"flags" : "-march=armv8.2-a+fp16+rcpc+dotprod+crypto -mtune=neoverse-n1"
}
],
"clang" : [
{
"versions": "3.9:4.9",
"flags" : "-march=armv8.2-a+fp16+crc+crypto"
},
{
"versions": "5:",
"flags" : "-march=armv8.2-a+fp16+rcpc+dotprod+crypto"
}
],
"arm" : [
{
"versions": "20:",
"flags" : "-march=armv8.2-a+fp16+rcpc+dotprod+crypto"
}
]
}
},
"m1": {
"from": ["aarch64"],
"vendor": "Apple",
"features": [],
"compilers": {
"gcc": [
{
"versions": "8.0:",
"flags" : "-march=armv8.4-a -mtune=generic"
}
],
"clang" : [
{
"versions": "9.0:",
"flags" : "-march=armv8.4-a"
}
],
"apple-clang": [
{
"versions": "11.0:",
"flags" : "-march=armv8.4-a"
}
]
}
},
"arm": {
"from": [],
"vendor": "generic",
"features": [],
"compilers": {
"clang": [
{
"versions": ":",
"family": "arm",
"flags": "-march={family} -mcpu=generic"
}
]
}
},
"ppc": {
"from": [],
"vendor": "generic",
"features": [],
"compilers": {
}
},
"ppcle": {
"from": [],
"vendor": "generic",
"features": [],
"compilers": {
}
},
"sparc": {
"from": [],
"vendor": "generic",
"features": [],
"compilers": {
}
},
"sparc64": {
"from": [],
"vendor": "generic",
"features": [],
"compilers": {
}
},
"riscv64": {
"from": [],
"vendor": "generic",
"features": [],
"compilers": {
"gcc": [
{
"versions": "7.1:",
"flags" : "-march=rv64gc"
}
],
"clang": [
{
"versions": "9.0:",
"flags" : "-march=rv64gc"
}
]
}
},
"u74mc": {
"from": ["riscv64"],
"vendor": "SiFive",
"features": [],
"compilers": {
"gcc": [
{
"versions": "10.2:",
"flags" : "-march=rv64gc -mtune=sifive-7-series"
}
],
"clang" : [
{
"versions": "12.0:",
"flags" : "-march=rv64gc -mtune=sifive-7-series"
}
]
}
}
},
"feature_aliases": {
"sse3": {
"reason": "ssse3 is a superset of sse3 and might be the only one listed",
"any_of": [
"ssse3"
]
},
"avx512": {
"reason": "avx512 indicates generic support for any of the avx512 instruction sets",
"any_of": [
"avx512f",
"avx512vl",
"avx512bw",
"avx512dq",
"avx512cd"
]
},
"altivec": {
"reason": "altivec is supported by Power PC architectures, but might not be listed in features",
"families": [
"ppc64le",
"ppc64"
]
},
"vsx": {
"reason": "VSX alitvec extensions are supported by PowerISA from v2.06 (Power7+), but might not be listed in features",
"families": [
"ppc64le",
"ppc64"
]
},
"fma": {
"reason": "FMA has been supported by PowerISA since Power1, but might not be listed in features",
"families": [
"ppc64le",
"ppc64"
]
},
"sse4.1": {
"reason": "permits to refer to sse4_1 also as sse4.1",
"any_of": [
"sse4_1"
]
},
"sse4.2": {
"reason": "permits to refer to sse4_2 also as sse4.2",
"any_of": [
"sse4_2"
]
},
"neon": {
"reason": "NEON is required in all standard ARMv8 implementations",
"families": [
"aarch64"
]
}
},
"conversions": {
"description": "Conversions that map some platform specific values to canonical values",
"arm_vendors": {
"0x41": "ARM",
"0x42": "Broadcom",
"0x43": "Cavium",
"0x44": "DEC",
"0x46": "Fujitsu",
"0x48": "HiSilicon",
"0x49": "Infineon Technologies AG",
"0x4d": "Motorola",
"0x4e": "Nvidia",
"0x50": "APM",
"0x51": "Qualcomm",
"0x53": "Samsung",
"0x56": "Marvell",
"0x61": "Apple",
"0x66": "Faraday",
"0x68": "HXT",
"0x69": "Intel"
},
"darwin_flags": {
"sse4.1": "sse4_1",
"sse4.2": "sse4_2",
"avx1.0": "avx",
"clfsopt": "clflushopt",
"xsave": "xsavec xsaveopt"
}
}
}