@@ -333,48 +333,48 @@ constexpr ProcInfo Processors[] = {
333
333
{ {" pentium-mmx" }, CK_PentiumMMX, ~0U , FeaturesPentiumMMX, ' \0 ' , false },
334
334
{ {" pentium_mmx" }, CK_PentiumMMX, ~0U , FeaturesPentiumMMX, ' D' , true },
335
335
// i686-generation processors, P6 / Pentium M microarchitecture based.
336
- { {" pentiumpro" }, CK_PentiumPro, ~0U , FeatureCMOV | FeatureX87 | FeatureCMPXCHG8B, ' \0 ' , false },
336
+ { {" pentiumpro" }, CK_PentiumPro, ~0U , FeatureCMOV | FeatureX87 | FeatureCMPXCHG8B, ' C ' , false },
337
337
{ {" pentium_pro" }, CK_PentiumPro, ~0U , FeatureCMOV | FeatureX87 | FeatureCMPXCHG8B, ' C' , true },
338
338
{ {" i686" }, CK_i686, ~0U , FeatureCMOV | FeatureX87 | FeatureCMPXCHG8B, ' \0 ' , false },
339
- { {" pentium2" }, CK_Pentium2, ~0U , FeaturesPentium2, ' \0 ' , false },
339
+ { {" pentium2" }, CK_Pentium2, ~0U , FeaturesPentium2, ' E ' , false },
340
340
{ {" pentium_ii" }, CK_Pentium2, ~0U , FeaturesPentium2, ' E' , true },
341
- { {" pentium3" }, CK_Pentium3, ~0U , FeaturesPentium3, ' \0 ' , false },
342
- { {" pentium3m" }, CK_Pentium3, ~0U , FeaturesPentium3, ' \0 ' , false },
341
+ { {" pentium3" }, CK_Pentium3, ~0U , FeaturesPentium3, ' H ' , false },
342
+ { {" pentium3m" }, CK_Pentium3, ~0U , FeaturesPentium3, ' H ' , false },
343
343
{ {" pentium_iii" }, CK_Pentium3, ~0U , FeaturesPentium3, ' H' , true },
344
344
{ {" pentium_iii_no_xmm_regs" }, CK_Pentium3, ~0U , FeaturesPentium3, ' H' , true },
345
345
{ {" pentium-m" }, CK_PentiumM, ~0U , FeaturesPentium4, ' \0 ' , false },
346
346
{ {" pentium_m" }, CK_PentiumM, ~0U , FeaturesPentium4, ' K' , true },
347
347
{ {" c3-2" }, CK_C3_2, ~0U , FeaturesPentium3, ' \0 ' , false },
348
- { {" yonah" }, CK_Yonah, ~0U , FeaturesPrescott, ' \0 ' , false },
348
+ { {" yonah" }, CK_Yonah, ~0U , FeaturesPrescott, ' L ' , false },
349
349
// Netburst microarchitecture based processors.
350
- { {" pentium4" }, CK_Pentium4, ~0U , FeaturesPentium4, ' \0 ' , false },
351
- { {" pentium4m" }, CK_Pentium4, ~0U , FeaturesPentium4, ' \0 ' , false },
350
+ { {" pentium4" }, CK_Pentium4, ~0U , FeaturesPentium4, ' J ' , false },
351
+ { {" pentium4m" }, CK_Pentium4, ~0U , FeaturesPentium4, ' J ' , false },
352
352
{ {" pentium_4" }, CK_Pentium4, ~0U , FeaturesPentium4, ' J' , true },
353
353
{ {" pentium_4_sse3" }, CK_Prescott, ~0U , FeaturesPrescott, ' L' , true },
354
- { {" prescott" }, CK_Prescott, ~0U , FeaturesPrescott, ' \0 ' , false },
355
- { {" nocona" }, CK_Nocona, ~0U , FeaturesNocona, ' \0 ' , false },
354
+ { {" prescott" }, CK_Prescott, ~0U , FeaturesPrescott, ' L ' , false },
355
+ { {" nocona" }, CK_Nocona, ~0U , FeaturesNocona, ' L ' , false },
356
356
// Core microarchitecture based processors.
357
- { {" core2" }, CK_Core2, FEATURE_SSSE3, FeaturesCore2, ' \0 ' , false },
357
+ { {" core2" }, CK_Core2, FEATURE_SSSE3, FeaturesCore2, ' M ' , false },
358
358
{ {" core_2_duo_ssse3" }, CK_Core2, ~0U , FeaturesCore2, ' M' , true },
359
- { {" penryn" }, CK_Penryn, ~0U , FeaturesPenryn, ' \0 ' , false },
359
+ { {" penryn" }, CK_Penryn, ~0U , FeaturesPenryn, ' N ' , false },
360
360
{ {" core_2_duo_sse4_1" }, CK_Penryn, ~0U , FeaturesPenryn, ' N' , true },
361
361
// Atom processors
362
- { {" bonnell" }, CK_Bonnell, FEATURE_SSSE3, FeaturesBonnell, ' \0 ' , false },
362
+ { {" bonnell" }, CK_Bonnell, FEATURE_SSSE3, FeaturesBonnell, ' O ' , false },
363
363
{ {" atom" }, CK_Bonnell, FEATURE_SSSE3, FeaturesBonnell, ' O' , false },
364
- { {" silvermont" }, CK_Silvermont, FEATURE_SSE4_2, FeaturesSilvermont, ' \0 ' , false },
365
- { {" slm" }, CK_Silvermont, FEATURE_SSE4_2, FeaturesSilvermont, ' \0 ' , false },
364
+ { {" silvermont" }, CK_Silvermont, FEATURE_SSE4_2, FeaturesSilvermont, ' c ' , false },
365
+ { {" slm" }, CK_Silvermont, FEATURE_SSE4_2, FeaturesSilvermont, ' c ' , false },
366
366
{ {" atom_sse4_2" }, CK_Nehalem, FEATURE_SSE4_2, FeaturesNehalem, ' c' , true },
367
367
{ {" atom_sse4_2_movbe" }, CK_Goldmont, FEATURE_SSE4_2, FeaturesGoldmont, ' d' , true },
368
368
{ {" goldmont" }, CK_Goldmont, FEATURE_SSE4_2, FeaturesGoldmont, ' i' , false },
369
369
{ {" goldmont-plus" }, CK_GoldmontPlus, FEATURE_SSE4_2, FeaturesGoldmontPlus, ' \0 ' , false },
370
- { {" goldmont_plus" }, CK_GoldmontPlus, FEATURE_SSE4_2, FeaturesGoldmontPlus, ' \0 ' , true },
371
- { {" tremont" }, CK_Tremont, FEATURE_SSE4_2, FeaturesTremont, ' \0 ' , false },
370
+ { {" goldmont_plus" }, CK_GoldmontPlus, FEATURE_SSE4_2, FeaturesGoldmontPlus, ' d ' , true },
371
+ { {" tremont" }, CK_Tremont, FEATURE_SSE4_2, FeaturesTremont, ' d ' , false },
372
372
// Nehalem microarchitecture based processors.
373
- { {" nehalem" }, CK_Nehalem, FEATURE_SSE4_2, FeaturesNehalem, ' \0 ' , false },
373
+ { {" nehalem" }, CK_Nehalem, FEATURE_SSE4_2, FeaturesNehalem, ' P ' , false },
374
374
{ {" core_i7_sse4_2" }, CK_Nehalem, FEATURE_SSE4_2, FeaturesNehalem, ' P' , true },
375
- { {" corei7" }, CK_Nehalem, FEATURE_SSE4_2, FeaturesNehalem, ' \0 ' , false },
375
+ { {" corei7" }, CK_Nehalem, FEATURE_SSE4_2, FeaturesNehalem, ' P ' , false },
376
376
// Westmere microarchitecture based processors.
377
- { {" westmere" }, CK_Westmere, FEATURE_PCLMUL, FeaturesWestmere, ' \0 ' , false },
377
+ { {" westmere" }, CK_Westmere, FEATURE_PCLMUL, FeaturesWestmere, ' Q ' , false },
378
378
{ {" core_aes_pclmulqdq" }, CK_Nehalem, FEATURE_SSE4_2, FeaturesNehalem, ' Q' , true },
379
379
// Sandy Bridge microarchitecture based processors.
380
380
{ {" sandybridge" }, CK_SandyBridge, FEATURE_AVX, FeaturesSandyBridge, ' R' , false },
@@ -397,38 +397,40 @@ constexpr ProcInfo Processors[] = {
397
397
{ {" skylake" }, CK_SkylakeClient, FEATURE_AVX2, FeaturesSkylakeClient, ' b' , false },
398
398
// Skylake server microarchitecture based processors.
399
399
{ {" skylake-avx512" }, CK_SkylakeServer, FEATURE_AVX512F, FeaturesSkylakeServer, ' \0 ' , false },
400
- { {" skx" }, CK_SkylakeServer, FEATURE_AVX512F, FeaturesSkylakeServer, ' \0 ' , false },
400
+ { {" skx" }, CK_SkylakeServer, FEATURE_AVX512F, FeaturesSkylakeServer, ' a ' , false },
401
401
{ {" skylake_avx512" }, CK_SkylakeServer, FEATURE_AVX512F, FeaturesSkylakeServer, ' a' , true },
402
402
// Cascadelake Server microarchitecture based processors.
403
- { {" cascadelake" }, CK_Cascadelake, FEATURE_AVX512VNNI, FeaturesCascadeLake, ' \0 ' , false },
403
+ { {" cascadelake" }, CK_Cascadelake, FEATURE_AVX512VNNI, FeaturesCascadeLake, ' o ' , false },
404
404
// Cooperlake Server microarchitecture based processors.
405
- { {" cooperlake" }, CK_Cooperlake, FEATURE_AVX512BF16, FeaturesCooperLake, ' \0 ' , false },
405
+ { {" cooperlake" }, CK_Cooperlake, FEATURE_AVX512BF16, FeaturesCooperLake, ' f ' , false },
406
406
// Cannonlake client microarchitecture based processors.
407
407
{ {" cannonlake" }, CK_Cannonlake, FEATURE_AVX512VBMI, FeaturesCannonlake, ' e' , false },
408
408
// Icelake client microarchitecture based processors.
409
409
{ {" icelake-client" }, CK_IcelakeClient, FEATURE_AVX512VBMI2, FeaturesICLClient, ' \0 ' , false },
410
+ { {" icelake_client" }, CK_IcelakeClient, FEATURE_AVX512VBMI2, FeaturesICLClient, ' k' , true },
410
411
// Rocketlake microarchitecture based processors.
411
- { {" rocketlake" }, CK_Rocketlake, FEATURE_AVX512VBMI2, FeaturesRocketlake, ' \0 ' , false },
412
+ { {" rocketlake" }, CK_Rocketlake, FEATURE_AVX512VBMI2, FeaturesRocketlake, ' k ' , false },
412
413
// Icelake server microarchitecture based processors.
413
414
{ {" icelake-server" }, CK_IcelakeServer, FEATURE_AVX512VBMI2, FeaturesICLServer, ' \0 ' , false },
415
+ { {" icelake_server" }, CK_IcelakeServer, FEATURE_AVX512VBMI2, FeaturesICLServer, ' k' , true },
414
416
// Tigerlake microarchitecture based processors.
415
- { {" tigerlake" }, CK_Tigerlake, FEATURE_AVX512VP2INTERSECT, FeaturesTigerlake, ' \0 ' , false },
417
+ { {" tigerlake" }, CK_Tigerlake, FEATURE_AVX512VP2INTERSECT, FeaturesTigerlake, ' l ' , false },
416
418
// Sapphire Rapids microarchitecture based processors.
417
- { {" sapphirerapids" }, CK_SapphireRapids, FEATURE_AVX512BF16, FeaturesSapphireRapids, ' \0 ' , false },
419
+ { {" sapphirerapids" }, CK_SapphireRapids, FEATURE_AVX512BF16, FeaturesSapphireRapids, ' n ' , false },
418
420
// Alderlake microarchitecture based processors.
419
- { {" alderlake" }, CK_Alderlake, FEATURE_AVX2, FeaturesAlderlake, ' \0 ' , false },
421
+ { {" alderlake" }, CK_Alderlake, FEATURE_AVX2, FeaturesAlderlake, ' p ' , false },
420
422
// Raptorlake microarchitecture based processors.
421
- { {" raptorlake" }, CK_Raptorlake, FEATURE_AVX2, FeaturesAlderlake, ' \0 ' , false },
423
+ { {" raptorlake" }, CK_Raptorlake, FEATURE_AVX2, FeaturesAlderlake, ' p ' , false },
422
424
// Meteorlake microarchitecture based processors.
423
- { {" meteorlake" }, CK_Meteorlake, FEATURE_AVX2, FeaturesAlderlake, ' \0 ' , false },
425
+ { {" meteorlake" }, CK_Meteorlake, FEATURE_AVX2, FeaturesAlderlake, ' p ' , false },
424
426
// Sierraforest microarchitecture based processors.
425
- { {" sierraforest" }, CK_Sierraforest, FEATURE_AVX2, FeaturesSierraforest, ' \0 ' , false },
427
+ { {" sierraforest" }, CK_Sierraforest, FEATURE_AVX2, FeaturesSierraforest, ' p ' , false },
426
428
// Grandridge microarchitecture based processors.
427
- { {" grandridge" }, CK_Grandridge, FEATURE_AVX2, FeaturesGrandridge, ' \0 ' , false },
429
+ { {" grandridge" }, CK_Grandridge, FEATURE_AVX2, FeaturesGrandridge, ' p ' , false },
428
430
// Granite Rapids microarchitecture based processors.
429
- { {" graniterapids" }, CK_Graniterapids, FEATURE_AVX512BF16, FeaturesGraniteRapids, ' \0 ' , false },
431
+ { {" graniterapids" }, CK_Graniterapids, FEATURE_AVX512BF16, FeaturesGraniteRapids, ' n ' , false },
430
432
// Emerald Rapids microarchitecture based processors.
431
- { {" emeraldrapids" }, CK_Emeraldrapids, FEATURE_AVX512BF16, FeaturesSapphireRapids, ' \0 ' , false },
433
+ { {" emeraldrapids" }, CK_Emeraldrapids, FEATURE_AVX512BF16, FeaturesSapphireRapids, ' n ' , false },
432
434
// Knights Landing processor.
433
435
{ {" knl" }, CK_KNL, FEATURE_AVX512F, FeaturesKNL, ' Z' , false },
434
436
{ {" mic_avx512" }, CK_KNL, FEATURE_AVX512F, FeaturesKNL, ' Z' , true },
0 commit comments