Template:Table of CPU flags: Difference between revisions

From CNM Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
<!-- generated by /opt/ccms/tasks/compare-cpu-flags; 2018-10-02 -->
<!-- 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;" | 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" | gen2
! width="50" |                                                                                                         gen5
<!-- ! width="50" | gen3 -->
! width="50" |                                                                                                             gen6
! width="50" | gen4
! width="50" |                                                                                                                   gen7
! width="50" | gen5
! width="50" |                                                                                                                       gen8
! width="50" | gen6
! width="50" | gen7
|-
|-
| [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 '''avx512vl, avx512f, avx512dq, avx512cd, avx512bw'''] || – || – || – || x || x
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                           avx512_bitalg      ] || – || – || – || x
|-
|-
| [https://en.wikipedia.org/wiki/Intel_ADX '''adx'''] || – || – || x || x || x
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512_vbmi2        ] || – || – || || 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_vpopcntdq    ] || – || – || || x
|-
|-
| [http://en.wikipedia.org/wiki/FMA_instruction_set '''fma'''] || – || – || x || x || x
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512ifma          ] || – || – || || x
|-
|-
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions '''avx'''] || – || x || x || x || x
| [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-512                          avx512vbmi          ] || – || || || x
|-
|-
| [https://en.wikipedia.org/wiki/SSE4#SSE4.2 '''sse4_2'''] || x || 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#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
|}
|}

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