HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SYS_ProcessorDefines.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * Authored by:
7  * Mark Alexander
8  * Side Effects Software Inc.
9  *
10  * NAME: SYS_ProcessorDefines.h (Utility Library, C++)
11  *
12  * COMMENTS:
13  * Defines needed for the SYSgetProcessor call in SYS_Platform.h.
14  */
15 
16 #ifndef __SYS_ProcessorDefines_h__
17 #define __SYS_ProcessorDefines_h__
18 
19 // Processor codes:
20 enum {
25  SYS_PROC_IA32, // Generic IA32
28  SYS_PROC_PPC64, // PowerPC 64
29  SYS_PROC_AMD64 // AMD 64
30 };
31 
32 // Flags: (bitfield)
33 enum {
35  SYS_PROCFLAG_MMX = 0x0001, // Intel MMX (PentiumMMX+, Athlon)
36  SYS_PROCFLAG_XMMX = 0x0002, // Intel XMMX (PentiumIII, Althon)
37  SYS_PROCFLAG_SSE = 0x0004, // Intel SSE (PentiumIII)
38  SYS_PROCFLAG_SSE2 = 0x0008, // Intel SSE2 (Pentium4)
39  SYS_PROCFLAG_CONDMOV = 0x0010, // Conditional mov (Pentium Pro+,Ath?)
40  SYS_PROCFLAG_FPCONDMOV = 0x0020, // FP Condition mov (Pentium Pro+,Ath?)
41  SYS_PROCFLAG_HYPERTHREAD = 0x0040, // P4 HyperThreading
42  SYS_PROCFLAG_3DNOW = 0x0080, // 3Dnow!
43  SYS_PROCFLAG_ALTIVEC = 0x0100, // PPC Altivec
44  SYS_PROCFLAG_SSE3 = 0x0200, // Intel SSE3
45  SYS_PROCFLAG_SSSE3 = 0x0400, // Intel SSSE3
46  SYS_PROCFLAG_SSE41 = 0x0800, // Intel SSE41
47  SYS_PROCFLAG_SSE42 = 0x1000 // Intel SSE42
48 };
49 
50 #endif