Construct a CpuId, issuing the CPUID instruction and caching the results.
Declared in <folly/CpuId.h>
CpuId();
Always inline in order for this to be usable from a ifunc. In shared library mode, a ifunc runs at relocation time, while the PLT hasn't been fully populated yet; thus, ifuncs cannot use symbols with potentially external linkage. (This issue is less likely in opt mode since inlining happens more likely, and it doesn't happen for statically linked binaries which don't depend on the PLT)