Add all asm files to test. Unfortunately, it crashes again. Will
[jitcs.git] / tests / cpuinfo.cpp
blob8c66ff93816a1cc07fde141a0f8d9bd22e33a1de
1 #include "jitcs_cpu.h"
2 #include <stdio.h>
4 int main() {
5 jitcs::CPUInfo h(jitcs::CPUInfo::A_Host);
7 printf("%s %s", h.isX86() ? "Intel" : "Unknown",
8 h.isX86_32()
9 ? "X86 32bit"
10 : (h.isX86_64() ? "X86 64bit" : "???"));
11 printf("(%d byte cacheline, %d phys core(s), %d log core(s))",
12 h.getCachelineSize(), h.getPhysCoreCount(), h.getLogCoreCount());
13 printf("(preferred alignment: %d bytes)", h.getPrefAlign());
14 if (h.isX86()) {
15 if (h.hasX86CMOV()) printf(" cmov");
16 if (h.hasX86SSE()) printf(" sse");
17 if (h.hasX86SSE2()) printf(" sse2");
18 if (h.hasX86SSE3()) printf(" sse3");
19 if (h.hasX86SSSE3()) printf(" ssse3");
20 if (h.hasX86SSE41()) printf(" sse41");
21 if (h.hasX86SSE42()) printf(" sse42");
22 if (h.hasX86AVX()) printf(" avx");
23 if (h.hasX86AVX2()) printf(" avx2");
24 if (h.hasX86LSAHF()) printf(" lsahf");
25 if (h.hasX86FMA3()) printf(" fma3");
26 if (h.hasX86F16C()) printf(" f16c");
27 if (h.hasX86AES()) printf(" aes");
28 if (h.hasX86PCLMULQDQ()) printf(" pclmulqdq");
29 if (h.hasX86POPCNT()) printf(" popcnt");
30 if (h.hasX86LZCNT()) printf(" lzcnt");
31 if (h.hasX86BMI1()) printf(" bmi1");
32 if (h.hasX86BMI2()) printf(" bmi2");
33 if (h.hasX86TSX()) printf(" tsx");
34 if (h.hasX86RDTSC()) printf(" rdtsc");
35 if (h.hasX86RDTSCP()) printf(" rdtscp");
36 if (h.hasX86CLFLUSH()) printf(" clflush");
37 if (h.hasX86CMPXCHG8B()) printf(" cmpxchg8b");
38 if (h.hasX86CMPXCHG16B()) printf(" cmpxchg16b");
39 if (h.hasX86RDRAND()) printf(" rdrand");
41 puts("");
42 return 0;