@@ -30,22 +30,19 @@ enum class MicroArch {
30
30
// Refer to the GCC docs for the list of targeted architectures:
31
31
// https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
32
32
nehalem,
33
- x86_64_v2 = nehalem,
34
33
westmere,
35
34
sandybridge,
36
35
ivybridge,
37
36
haswell,
38
- x86_64_v3 = haswell,
39
37
broadwell,
40
38
skylake,
39
+ x86_64_v4,
41
40
skylake_avx512,
42
- x86_64_v4 = skylake_avx512,
43
41
cascadelake,
44
42
cooperlake,
45
43
icelake_client,
46
44
icelake_server,
47
45
sapphirerapids,
48
- emeraldrapids = sapphirerapids,
49
46
graniterapids,
50
47
graniterapids_d,
51
48
#elif defined(__aarch64__)
@@ -108,6 +105,14 @@ inline const std::unordered_map<MicroArch, MicroArchInfo>& get_microarch_info_ma
108
105
{MicroArch::broadwell,
109
106
{ISAExt::AES, ISAExt::CLFLUSHOPT, ISAExt::XSAVEC, ISAExt::XSAVES, ISAExt::SGX},
110
107
" skylake" }},
108
+ {MicroArch::x86_64_v4,
109
+ {std::nullopt,
110
+ {ISAExt::AVX512_F,
111
+ ISAExt::AVX512_VL,
112
+ ISAExt::AVX512_BW,
113
+ ISAExt::AVX512_DQ,
114
+ ISAExt::AVX512_CD},
115
+ " x86_64_v4" }},
111
116
{MicroArch::skylake_avx512,
112
117
{MicroArch::skylake,
113
118
{ISAExt::AVX512_F,
@@ -228,6 +233,7 @@ class MicroArchEnvironment {
228
233
SVS_MICROARCH_COMPILED_haswell
229
234
SVS_MICROARCH_COMPILED_broadwell
230
235
SVS_MICROARCH_COMPILED_skylake
236
+ SVS_MICROARCH_COMPILED_x86_64_v4
231
237
SVS_MICROARCH_COMPILED_skylake_avx512
232
238
SVS_MICROARCH_COMPILED_cascadelake
233
239
SVS_MICROARCH_COMPILED_cooperlake
@@ -276,6 +282,7 @@ class MicroArchEnvironment {
276
282
SVS_CLASS_METHOD_MICROARCH_CASE_haswell (cls, method, SVS_PACK_ARGS (args)) \
277
283
SVS_CLASS_METHOD_MICROARCH_CASE_broadwell (cls, method, SVS_PACK_ARGS (args)) \
278
284
SVS_CLASS_METHOD_MICROARCH_CASE_skylake (cls, method, SVS_PACK_ARGS (args)) \
285
+ SVS_CLASS_METHOD_MICROARCH_CASE_x86_64_v4 (cls, method, SVS_PACK_ARGS (args)) \
279
286
SVS_CLASS_METHOD_MICROARCH_CASE_skylake_avx512 (cls, method, SVS_PACK_ARGS (args)) \
280
287
SVS_CLASS_METHOD_MICROARCH_CASE_cascadelake (cls, method, SVS_PACK_ARGS (args)) \
281
288
SVS_CLASS_METHOD_MICROARCH_CASE_cooperlake (cls, method, SVS_PACK_ARGS (args)) \
0 commit comments