Template:Table of CPU flags: Difference between revisions

From CNM Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
<!-- generated by /opt/ccms/tasks/compare-cpu-flags; 2023-01-23 -->
<!-- generated by /opt/ccms/tasks/compare-cpu-flags; 2024-01-19
    To expand acronyms, simply consult kernel sources:
 
    sed -n '/^#define.*X86_[A-Z]\+_\([A-Z0-9_]\+\)[^(].*[/][*]/  {s//\L\1\t\t/;  s/[[:space:]]\?[*][/]//;  p}' \
      /usr/src/kernels/*/arch/x86/include/asm/cpufeatures.h \
      | sort -u  | column -s"$(printf '\t')" -t
-->
{| class="wikitable" style="text-align: center; margin: 1em auto 1em 1em;"
{| class="wikitable" style="text-align: center; margin: 1em auto 1em 1em;"
|+ style="caption-side:bottom; text-align: left; font-weight: normal;" | CPU capability flags by node generation. For details, see [https://en.wikipedia.org/wiki/CPUID#EAX.3D1:_Processor_Info_and_Feature_Bits CPUID instruction] in Wikipedia and a [https://unix.stackexchange.com/questions/43539/what-do-the-flags-in-proc-cpuinfo-mean StackExchange article].
|+ style="caption-side:bottom; text-align: left; font-weight: normal;" | Major CPU capability flags by node generation. For details, see[https://en.wikipedia.org/wiki/CPUID#EAX.3D1:_Processor_Info_and_Feature_Bits CPUID instruction] in Wikipedia, a [https://unix.stackexchange.com/questions/43539/what-do-the-flags-in-proc-cpuinfo-mean StackExchange article], or <code>/usr/src/kernels/*/[https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/x86/include/asm/cpufeatures.h arch/x86/include/asm/cpufeatures.h]</code> in kernel sources.
|- style="background:#eee;"
|- style="background:#eee;"
! width="150" | Flag name
! width="50%" | Flag name
! width="50" |                                                                                                               gen4
! width="50" |                                                                                                         gen5
! width="50" |                                                                                                                   gen5
! width="50" |                                                                                                             gen6
! width="50" |                                                                                                                         gen6
! width="50" |                                                                                                                   gen7
! width="50" |                                                                                                                             gen7
! width="50" |                                                                                                                       gen8
|-
|-
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512_vnni        ] || – || – || – || x
|                     cat_l2 cdp_l2 cldemote gfni movdir64b movdiri pconfig sha_ni umip vaes vpclmulqdq            || – || – || – || x
|-
|-
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512bw, avx512cd, avx512dq, avx512f, avx512vl]
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512_bitalg      ] || – || – || – || x
| – || – || x || x
<!--|-
|art clflushopt clwb mba mpx ospke pku xgetbv1 xsavec
| – || – || x || x -->
|-
|-
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2      avx2                ] || – || x || x || x
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512_vbmi2        ] || – || || || x
|-
|-
| [https://en.wikipedia.org/wiki/FMA_instruction_set                                          fma                ] || – || x || x || x
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512_vpopcntdq    ] || – || || || x
|-
|-
| [https://en.wikipedia.org/wiki/Intel_ADX                                                   adx                 ] || – || x || x || x
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512ifma          ] || – || – || – || x
<!--|-
|-
|3dnowprefetch abm bmi1 bmi2 cat_l3 cdp_l3 cqm cqm_llc cqm_mbm_local cqm_mbm_total cqm_occup_llc eagerfpu hle intel_ppin intel_pt invpcid invpcid_single movbe rdseed rdt_a rsb_ctxsw rtm sdbg smap tsc_adjust
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512vbmi          ] || – || – || – || x
| || x || x || x -->
|-
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512_vnni        ] || – || – || x || x
|-
| [https://en.wikipedia.org/wiki/Intel_MPX                                                   mpx                 ] || – || x || x || –
|-
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512bw            ] || – || x || x || x
|-
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512cd            ] || – || x || x || x
|-
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512dq            ] || – || x || x || x
|-
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512f            ] || – || x || x || x
|-
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512vl            ] || – || x || x || x
|-
| art clwb flush_l1d ibpb mba md_clear ospke pku ssbd stibp tsc_deadline_timer xgetbv1        xsavec                || – || x || x || x
|-
| 3dnowprefetch abm acpi aes aperfmperf apic arat arch_perfmon bmi1 bmi2 bts cat_l3 cdp_l3 cmov constant_tsc cqm cqm_llc cqm_mbm_local cqm_mbm_total cqm_occup_llc cx16 cx8 dca de ds_cpl dtes64 dtherm dts eagerfpu epb ept erms est f16c flexpriority fpu fsgsbase fxsr hle ht ida invpcid invpcid_single lahf_lm lm mca mce mmx monitor movbe msr mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pts rdrand rdseed rdt_a rdtscp rep_good rsb_ctxsw rtm sdbg sep smap smep smx ss sse sse2 sse4_1 ssse3 syscall tm tm2 tpr_shadow tsc tsc_adjust vme vmx vnmi vpid x2apic xsave xsaveopt xtopology xtpr        || x || x || x || x
|-
|-
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions                                  avx                ] || x || x || x || x
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions                                  avx                ] || x || x || x || x
|-
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2      avx2                ] || x || x || x || x
|-
| [https://en.wikipedia.org/wiki/FMA_instruction_set                                          fma                ] || x || x || x || x
|-
| [https://en.wikipedia.org/wiki/Intel_ADX                                                    adx                ] || x || x || x || x
|-
|-
| [https://en.wikipedia.org/wiki/SSE4#SSE4.2                                                  sse4_2              ] || x || x || x || x
| [https://en.wikipedia.org/wiki/SSE4#SSE4.2                                                  sse4_2              ] || x || x || x || x
<!--|-
|acpi aes aperfmperf apic arat arch_perfmon bts clflush cmov constant_tsc cx16 cx8 dca de ds_cpl dtes64 dtherm dts epb ept erms est f16c flexpriority fpu fsgsbase fxsr ht ida lahf_lm lm mca mce mmx monitor msr mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pts rdrand rdtscp rep_good sep smep smx ss sse sse2 sse4_1 ssse3 syscall tm tm2 tpr_shadow tsc vme vmx vnmi vpid x2apic xsave xsaveopt xtopology xtpr
| x || x || x || x -->
|-
|}
|}

Latest revision as of 16:57, January 19, 2024

Major CPU capability flags by node generation. For details, see: CPUID instruction in Wikipedia, a StackExchange article, or /usr/src/kernels/*/arch/x86/include/asm/cpufeatures.h in kernel sources.
Flag name gen5 gen6 gen7 gen8
cat_l2 cdp_l2 cldemote gfni movdir64b movdiri pconfig sha_ni umip vaes vpclmulqdq x
avx512_bitalg x
avx512_vbmi2 x
avx512_vpopcntdq x
avx512ifma x
avx512vbmi x
avx512_vnni x x
mpx x x
avx512bw x x x
avx512cd x x x
avx512dq x x x
avx512f x x x
avx512vl x x x
art clwb flush_l1d ibpb mba md_clear ospke pku ssbd stibp tsc_deadline_timer xgetbv1 xsavec x x x
3dnowprefetch abm acpi aes aperfmperf apic arat arch_perfmon bmi1 bmi2 bts cat_l3 cdp_l3 cmov constant_tsc cqm cqm_llc cqm_mbm_local cqm_mbm_total cqm_occup_llc cx16 cx8 dca de ds_cpl dtes64 dtherm dts eagerfpu epb ept erms est f16c flexpriority fpu fsgsbase fxsr hle ht ida invpcid invpcid_single lahf_lm lm mca mce mmx monitor movbe msr mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pts rdrand rdseed rdt_a rdtscp rep_good rsb_ctxsw rtm sdbg sep smap smep smx ss sse sse2 sse4_1 ssse3 syscall tm tm2 tpr_shadow tsc tsc_adjust vme vmx vnmi vpid x2apic xsave xsaveopt xtopology xtpr x x x x
avx x x x x
avx2 x x x x
fma x x x x
adx x x x x
sse4_2 x x x x