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?
Thanks Daniel for suggesting cpuid. Unfortunately CPUID too says:
PNI/SSE3: Prescott New Instructions = true PCLMULDQ instruction = false ... AES instruction = false