kernel/sse.h (view raw)
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
/*! \file
* Provides information about the CPUs support for SSE instructions
* and functions to enable/disable them.
*/
#ifndef SSE_H
#define SSE_H
typedef enum {
SSE_UNSUPPORTED,
SSE_V1,
SSE_V2,
SSE_V3,
SSSE_V3,
SSE_V4_1,
SSE_V4_2,
SSE_V4_A,
SSE_V5
} SSE_VERSION;
typedef enum {
SSE_V5_UNSUPP,
SSE_V5_XOP,
SSE_V5_FMA4,
SSE_V5_CVT16,
SSE_V5_AVX,
SSE_V5_XSAVE,
SSE_V5_AVX_512
} SSE_V5_FEATURES;
SSE_VERSION sse_check_support(void);
int avx_check_support(SSE_V5_FEATURES);
void sse_enable(void);
void sse_disable(void);
void avx_enable(void);
void avx_disable(void);
#endif SSE_H