I have encountered something strange with some CPUs I bought for my home server. These are - allegedly - Xeon X5672 (3.2GHz). So it should be a Westmere (Model 6 Family 44 Stepping 2).
According to https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gcc/x86-Options.html#x86-Options and other pages, this CPU should have AES and CLMUL (see also https://en.wikipedia.org/wiki/CLMUL_instruction_set)
However, when doing a cat /proc/cpuinfo there is no trace of AES and CLMUL
processor : 15
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU X5672 @ 3.20GHz
stepping : 2
microcode : 0x14
cpu MHz : 3199.850
cache size : 12288 KB
physical id : 1
siblings : 8
core id : 10
cpu cores : 4
apicid : 53
initial apicid : 53
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcn
t lahf_lm epb tpr_shadow vnmi flexpriority ept vpid dtherm ida arat
bugs :
bogomips : 6399.82
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
So either /proc/cpuinfo is wrong, or I have been sold a fake Westmere (which seems to be a Nehalem then). I would like to find out with some definitive CPU identification tool running under Linux (I know there is CPU-Z, but that's Android/Win only).
I had a look at lshw, dmidecode and others, and all keep basically telling me the same I see in /proc/cpuinfo, so therefore my question for some really low-level diagnostics software to "find out the truth".
How would you approach this?
edit:
Thanks Daniel for suggesting cpuid. Unfortunately CPUID too says:
PNI/SSE3: Prescott New Instructions = true
PCLMULDQ instruction = false
...
AES instruction = false
cpuid
tool. What the kernel shows as “flags” may be subject to conditions.