1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#ifndef PLL_HARDWARE
#define PLL_HARDWARE
/* leaf 1 */
/* edx */
#define PLL_HAS_MMX 1 << 23
#define PLL_HAS_SSE 1 << 25
#define PLL_HAS_SSE2 1 << 26
/* ecx */
#define PLL_HAS_SSE3 1
#define PLL_HAS_SSSE3 1 << 9
#define PLL_HAS_FMA 1 << 12
#define PLL_HAS_SSE41 1 << 19
#define PLL_HAS_SSE42 1 << 20
#define PLL_HAS_AVX 1 << 28
/* leaf 7 */
/* ebx */
#define PLL_HAS_AVX2 1 << 5
/* leaf 0x80000001 */
/* ecx*/
#define PLL_HAS_SSE4A 1 << 6
#define PLL_HAS_FMA4 1 << 16
typedef struct
{
int has_mmx;
int has_sse;
int has_sse2;
int has_sse3;
int has_ssse3;
int has_sse41;
int has_sse42;
int has_sse4a;
int has_avx;
int has_avx2;
int has_fma;
int has_fma4;
int cpu_sockets;
int cores;
char vendor[13];
} pllHardwareInfo;
#endif
|