ReactOS 0.4.15-dev-7918-g2a2556c
getcpuflags.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cpuflags
 

Macros

#define FLAG_SSE3   0x00000001
 
#define FLAG_SSSE3   0x00000200
 
#define FLAG_AVX   0x1C000000
 
#define FLAG2_MMX   0x00800000
 
#define FLAG2_SSE   0x02000000
 
#define FLAG2_SSE2   0x04000000
 
#define FLAG2_FPU   0x00000001
 
#define XFLAG_MMX   0x00800000
 
#define XFLAG_3DNOW   0x80000000
 
#define XFLAG_3DNOWEXT   0x40000000
 
#define XCR0FLAG_AVX   0x00000006
 
#define cpu_i586(s)   ( ((s.id & 0xf00)>>8) == 0 || ((s.id & 0xf00)>>8) > 4 )
 
#define cpu_fpu(s)   (FLAG2_FPU & s.std2)
 
#define cpu_mmx(s)   (FLAG2_MMX & s.std2 || XFLAG_MMX & s.ext)
 
#define cpu_3dnow(s)   (XFLAG_3DNOW & s.ext)
 
#define cpu_3dnowext(s)   (XFLAG_3DNOWEXT & s.ext)
 
#define cpu_sse(s)   (FLAG2_SSE & s.std2)
 
#define cpu_sse2(s)   (FLAG2_SSE2 & s.std2)
 
#define cpu_sse3(s)   (FLAG_SSE3 & s.std)
 
#define cpu_avx(s)   ((FLAG_AVX & s.std) == FLAG_AVX && (XCR0FLAG_AVX & s.xcr0_lo) == XCR0FLAG_AVX)
 
#define cpu_fast_sse(s)
 
#define cpu_neon(s)   (s.has_neon)
 

Functions

unsigned int getcpuflags (struct cpuflags *cf)
 

Macro Definition Documentation

◆ cpu_3dnow

#define cpu_3dnow (   s)    (XFLAG_3DNOW & s.ext)

Definition at line 50 of file getcpuflags.h.

◆ cpu_3dnowext

#define cpu_3dnowext (   s)    (XFLAG_3DNOWEXT & s.ext)

Definition at line 51 of file getcpuflags.h.

◆ cpu_avx

#define cpu_avx (   s)    ((FLAG_AVX & s.std) == FLAG_AVX && (XCR0FLAG_AVX & s.xcr0_lo) == XCR0FLAG_AVX)

Definition at line 55 of file getcpuflags.h.

◆ cpu_fast_sse

#define cpu_fast_sse (   s)
Value:
((((s.id & 0xf00)>>8) == 6 && FLAG_SSSE3 & s.std) /* for Intel/VIA; family 6 CPUs with SSSE3 */ || \
(((s.id & 0xf00)>>8) == 0xf && (((s.id & 0x0ff00000)>>20) > 0 && ((s.id & 0x0ff00000)>>20) != 5))) /* for AMD; family > 0xF CPUs except Bobcat */
#define FLAG_SSSE3
Definition: getcpuflags.h:15
GLdouble s
Definition: gl.h:2039

Definition at line 56 of file getcpuflags.h.

◆ cpu_fpu

#define cpu_fpu (   s)    (FLAG2_FPU & s.std2)

Definition at line 48 of file getcpuflags.h.

◆ cpu_i586

#define cpu_i586 (   s)    ( ((s.id & 0xf00)>>8) == 0 || ((s.id & 0xf00)>>8) > 4 )

Definition at line 46 of file getcpuflags.h.

◆ cpu_mmx

#define cpu_mmx (   s)    (FLAG2_MMX & s.std2 || XFLAG_MMX & s.ext)

Definition at line 49 of file getcpuflags.h.

◆ cpu_neon

#define cpu_neon (   s)    (s.has_neon)

Definition at line 58 of file getcpuflags.h.

◆ cpu_sse

#define cpu_sse (   s)    (FLAG2_SSE & s.std2)

Definition at line 52 of file getcpuflags.h.

◆ cpu_sse2

#define cpu_sse2 (   s)    (FLAG2_SSE2 & s.std2)

Definition at line 53 of file getcpuflags.h.

◆ cpu_sse3

#define cpu_sse3 (   s)    (FLAG_SSE3 & s.std)

Definition at line 54 of file getcpuflags.h.

◆ FLAG2_FPU

#define FLAG2_FPU   0x00000001

Definition at line 21 of file getcpuflags.h.

◆ FLAG2_MMX

#define FLAG2_MMX   0x00800000

Definition at line 18 of file getcpuflags.h.

◆ FLAG2_SSE

#define FLAG2_SSE   0x02000000

Definition at line 19 of file getcpuflags.h.

◆ FLAG2_SSE2

#define FLAG2_SSE2   0x04000000

Definition at line 20 of file getcpuflags.h.

◆ FLAG_AVX

#define FLAG_AVX   0x1C000000

Definition at line 16 of file getcpuflags.h.

◆ FLAG_SSE3

#define FLAG_SSE3   0x00000001

Definition at line 14 of file getcpuflags.h.

◆ FLAG_SSSE3

#define FLAG_SSSE3   0x00000200

Definition at line 15 of file getcpuflags.h.

◆ XCR0FLAG_AVX

#define XCR0FLAG_AVX   0x00000006

Definition at line 27 of file getcpuflags.h.

◆ XFLAG_3DNOW

#define XFLAG_3DNOW   0x80000000

Definition at line 24 of file getcpuflags.h.

◆ XFLAG_3DNOWEXT

#define XFLAG_3DNOWEXT   0x40000000

Definition at line 25 of file getcpuflags.h.

◆ XFLAG_MMX

#define XFLAG_MMX   0x00800000

Definition at line 23 of file getcpuflags.h.

Function Documentation

◆ getcpuflags()

unsigned int getcpuflags ( struct cpuflags cf)