1 #ifndef __CPUCONFIG_H__
2 #define __CPUCONFIG_H__
4 /* Automatically generated CPU information header */
6 #define CPUCONF_CHAR_SIZE (1)
7 #define CPUCONF_SHORT_SIZE (2)
8 #define CPUCONF_INT_SIZE (4)
9 #define CPUCONF_LONG_SIZE (4)
10 #define CPUCONF_LONG_LONG_SIZE (8)
11 #define CPUCONF_INTPTR_SIZE (8)
12 #define CPUCONF_POINTER_SIZE (8)
13 #define CPUCONF_FLOAT_SIZE (4)
14 #define CPUCONF_DOUBLE_SIZE (8)
15 #define CPUCONF_LONG_DOUBLE_SIZE (16)
17 #define CPUCONF_CHAR_BITS (8)
18 #define CPUCONF_SHORT_BITS (16)
19 #define CPUCONF_INT_BITS (32)
20 #define CPUCONF_LONG_LONG_BITS (64)
21 #define CPUCONF_FLOAT_BITS (32)
22 #define CPUCONF_DOUBLE_BITS (64)
23 #define CPUCONF_LONG_DOUBLE_BITS (128)
25 #define CPUCONF_CHAR_SIZESHIFT (0)
26 #define CPUCONF_SHORT_SIZESHIFT (1)
27 #define CPUCONF_INT_SIZESHIFT (2)
28 #define CPUCONF_LONG_LONG_SIZESHIFT (3)
30 #define CPUCONF_FLOAT_SIZESHIFT (2)
31 #define CPUCONF_DOUBLE_SIZESHIFT (3)
32 #define CPUCONF_LONG_DOUBLE_SIZESHIFT (4)
34 #define CPUCONF_CHAR_BITSHIFT (3)
35 #define CPUCONF_SHORT_BITSHIFT (4)
36 #define CPUCONF_INT_BITSHIFT (5)
37 #define CPUCONF_LONG_LONG_BITSHIFT (6)
38 #define CPUCONF_FLOAT_BITSHIFT (5)
39 #define CPUCONF_DOUBLE_BITSHIFT (6)
40 #define CPUCONF_LONG_DOUBLE_BITSHIFT (7)
42 #if defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN || \
43 defined(__BIG_ENDIAN__) || \
44 defined(__ARMEB__) || \
45 defined(__THUMBEB__) || \
46 defined(__AARCH64EB__) || \
47 defined(_MIBSEB) || defined(__MIBSEB) || defined(__MIBSEB__)
48 #define CPUCONF_BIG_ENDIAN
49 #elif defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN || \
50 defined(__LITTLE_ENDIAN__) || \
51 defined(__ARMEL__) || \
52 defined(__THUMBEL__) || \
53 defined(__AARCH64EL__) || \
54 defined(_MIPSEL) || defined(__MIPSEL) || defined(__MIPSEL__)
55 #define CPUCONF_LITTLE_ENDIAN
57 #define CPUCONF_LITTLE_ENDIAN
58 //#error "Unknown endianness"
61 #if (defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__) || defined(_WIN64)
62 #define CPUCONF_ARCH_AMD64
64 #define CPUCONF_INTPTR_BITS (64)
65 #define CPUCONF_POINTER_BITS (64)
66 #define CPUCONF_INTPTR_SIZESHIFT (3)
67 #define CPUCONF_POINTER_SIZESHIFT (3)
68 #define CPUCONF_INTPTR_BITSHIFT (6)
69 #define CPUCONF_POINTER_BITSHIFT (6)
71 #define CPUCONF_LONG_BITSHIFT ((sizeof(long) == 2) ? 5 : 6)
72 #define CPUCONF_LONG_SIZESHIFT ((sizeof(long) == 2) ? 2 : 3)
73 #define CPUCONF_LONG_BITS (sizeof(long) * 8)
75 #define CPUCONF_ARCH_IA32
77 #define CPUCONF_INTPTR_BITS (32)
78 #define CPUCONF_POINTER_BITS (32)
79 #define CPUCONF_INTPTR_SIZESHIFT (2)
80 #define CPUCONF_POINTER_SIZESHIFT (2)
81 #define CPUCONF_INTPTR_BITSHIFT (5)
82 #define CPUCONF_POINTER_BITSHIFT (5)
84 #define CPUCONF_LONG_BITSHIFT (5)
85 #define CPUCONF_LONG_SIZESHIFT (2)
86 #define CPUCONF_LONG_BITS (32)
88 #define CPUCONF_VENDOR_INTEL
90 #define CPUCONF_IDENTIFIER "Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz"
91 //#define CPUCONF_CLASS_COREI7-AVX2
92 #define CPUCONF_SOCKET_LOGICAL_CORES (16)
93 #define CPUCONF_SOCKET_PHYSICAL_CORES (8)
94 #define CPUCONF_TOTAL_CORE_COUNT (8)
95 #define CPUCONF_SYSTEM_MEMORY (17072009216LL)
96 #define CPUCONF_WORD_SIZE (64)
97 #define CPUCONF_CACHE_LINE_SIZE (64)
98 #define CPUCONF_CACHE_L1CODE_SIZE (32768)
99 #define CPUCONF_CACHE_L1CODE_LINE (64)
100 #define CPUCONF_CACHE_L1CODE_ASSOCIATIVITY (8)
101 #define CPUCONF_CACHE_L1CODE_SHARED (2)
102 #define CPUCONF_CACHE_L1DATA_SIZE (32768)
103 #define CPUCONF_CACHE_L1DATA_LINE (64)
104 #define CPUCONF_CACHE_L1DATA_ASSOCIATIVITY (8)
105 #define CPUCONF_CACHE_L1DATA_SHARED (2)
106 #define CPUCONF_CACHE_L1_UNIFIED_FLAG (0)
107 #define CPUCONF_CACHE_L2_SIZE (262144)
108 #define CPUCONF_CACHE_L2_LINE (64)
109 #define CPUCONF_CACHE_L2_ASSOCIATIVITY (8)
110 #define CPUCONF_CACHE_L2_SHARED (2)
111 #define CPUCONF_CACHE_L3_SIZE (8388608)
112 #define CPUCONF_CACHE_L3_LINE (64)
113 #define CPUCONF_CACHE_L3_ASSOCIATIVITY (16)
114 #define CPUCONF_CACHE_L3_SHARED (16)
115 #define CPUCONF_CAP_GPREGS (16)
116 #define CPUCONF_CAP_FPREGS (16)
118 #define CPUCONF_CAP_CMOV
119 #define CPUCONF_CAP_CLFLUSH
120 #define CPUCONF_CAP_TSC
121 #define CPUCONF_CAP_MMX
122 #define CPUCONF_CAP_SSE
123 #define CPUCONF_CAP_SSE2
124 #define CPUCONF_CAP_SSE3
125 #define CPUCONF_CAP_SSSE3
126 #define CPUCONF_CAP_SSE4_1
127 #define CPUCONF_CAP_SSE4_2
128 #define CPUCONF_CAP_AVX
129 #define CPUCONF_CAP_AVX2
130 #define CPUCONF_CAP_AES
131 #define CPUCONF_CAP_PCLMUL
132 #define CPUCONF_CAP_CMPXCHG16B
133 #define CPUCONF_CAP_MOVBE
134 #define CPUCONF_CAP_RDTSCP
135 #define CPUCONF_CAP_CONSTANTTSC
136 #define CPUCONF_CAP_HYPERTHREADING
137 #define CPUCONF_CAP_MWAIT
138 #define CPUCONF_CAP_THERMALSENSOR
139 #define CPUCONF_CAP_CLOCKMODULATION