HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
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
SYS_PROCESSOR_CODE
{
21
SYS_PROC_UNKNOWN
= -1,
22
SYS_PROC_INTEL
,
23
SYS_PROC_ALPHA
,
24
SYS_PROC_MIPS
,
25
SYS_PROC_IA32
,
// Generic IA32
26
SYS_PROC_SPARC
,
27
SYS_PROC_IA64
,
// Itanium - Dead, will never return this
28
SYS_PROC_PPC64
,
// PowerPC 64 - Dead, will never return this
29
SYS_PROC_AMD64
,
// AMD 64
30
SYS_PROC_ARM64
31
};
32
33
// Flags: (bitfield)
34
enum
SYS_PROCESSOR_FLAG
{
35
SYS_PROCFLAG_NONE
= 0x00000000,
36
SYS_PROCFLAG_MMX
= 0x00000001,
// Intel MMX (PentiumMMX+, Athlon)
37
SYS_PROCFLAG_XMMX
= 0x00000002,
// Intel XMMX (PentiumIII, Althon)
38
SYS_PROCFLAG_SSE
= 0x00000004,
// Intel SSE (PentiumIII)
39
SYS_PROCFLAG_SSE2
= 0x00000008,
// Intel SSE2 (Pentium4)
40
SYS_PROCFLAG_CONDMOV
= 0x00000010,
// Conditional mov (Pentium Pro+,Ath?)
41
SYS_PROCFLAG_FPCONDMOV
= 0x00000020,
// FP Condition mov (Pentium Pro+,Ath?)
42
SYS_PROCFLAG_HYPERTHREAD
= 0x00000040,
// P4 HyperThreading
43
SYS_PROCFLAG_3DNOW
= 0x00000080,
// 3Dnow!
44
SYS_PROCFLAG_ALTIVEC
= 0x00000100,
// PPC Altivec - Dead
45
SYS_PROCFLAG_SSE3
= 0x00000200,
// Intel SSE3
46
SYS_PROCFLAG_SSSE3
= 0x00000400,
// Intel SSSE3
47
SYS_PROCFLAG_SSE41
= 0x00000800,
// Intel SSE41
48
SYS_PROCFLAG_SSE42
= 0x00001000,
// Intel SSE42
49
SYS_PROCFLAG_AVX
= 0x00002000,
// AVX
50
SYS_PROCFLAG_AVX2
= 0x00004000,
// AVX2
51
SYS_PROCFLAG_AVX512KNL
= 0x00008000,
// AVX512KNL (Knights Landing)
52
SYS_PROCFLAG_AVX512SKX
= 0x00010000,
// AVX512SKX (Skylake X)
53
};
54
55
// Return a string representation of the processor code
56
SYS_API
extern
const
char
*
SYSprocessorType
(
SYS_PROCESSOR_CODE
majortype);
57
// Return a string representation of the processor flag
58
SYS_API
extern
const
char
*
SYSprocessorFlag
(
SYS_PROCESSOR_FLAG
flag);
59
60
#endif
SYS_PROCFLAG_XMMX
Definition:
SYS_ProcessorDefines.h:37
SYS_PROCFLAG_SSSE3
Definition:
SYS_ProcessorDefines.h:46
SYS_PROCESSOR_CODE
SYS_PROCESSOR_CODE
Definition:
SYS_ProcessorDefines.h:20
SYS_PROCESSOR_FLAG
SYS_PROCESSOR_FLAG
Definition:
SYS_ProcessorDefines.h:34
SYS_PROCFLAG_3DNOW
Definition:
SYS_ProcessorDefines.h:43
SYS_PROCFLAG_AVX512KNL
Definition:
SYS_ProcessorDefines.h:51
SYS_PROCFLAG_SSE41
Definition:
SYS_ProcessorDefines.h:47
SYS_PROC_INTEL
Definition:
SYS_ProcessorDefines.h:22
SYS_PROC_ARM64
Definition:
SYS_ProcessorDefines.h:30
SYS_PROCFLAG_ALTIVEC
Definition:
SYS_ProcessorDefines.h:44
SYS_PROCFLAG_HYPERTHREAD
Definition:
SYS_ProcessorDefines.h:42
SYS_PROC_MIPS
Definition:
SYS_ProcessorDefines.h:24
SYS_PROCFLAG_AVX2
Definition:
SYS_ProcessorDefines.h:50
SYSprocessorFlag
SYS_API const char * SYSprocessorFlag(SYS_PROCESSOR_FLAG flag)
SYS_PROC_PPC64
Definition:
SYS_ProcessorDefines.h:28
SYSprocessorType
SYS_API const char * SYSprocessorType(SYS_PROCESSOR_CODE majortype)
SYS_PROC_SPARC
Definition:
SYS_ProcessorDefines.h:26
SYS_PROCFLAG_SSE2
Definition:
SYS_ProcessorDefines.h:39
SYS_PROCFLAG_SSE42
Definition:
SYS_ProcessorDefines.h:48
SYS_PROC_AMD64
Definition:
SYS_ProcessorDefines.h:29
SYS_PROCFLAG_NONE
Definition:
SYS_ProcessorDefines.h:35
SYS_PROCFLAG_AVX
Definition:
SYS_ProcessorDefines.h:49
SYS_PROCFLAG_AVX512SKX
Definition:
SYS_ProcessorDefines.h:52
SYS_PROCFLAG_SSE3
Definition:
SYS_ProcessorDefines.h:45
SYS_PROC_IA64
Definition:
SYS_ProcessorDefines.h:27
SYS_PROCFLAG_MMX
Definition:
SYS_ProcessorDefines.h:36
SYS_API
#define SYS_API
Definition:
SYS_API.h:11
SYS_PROCFLAG_FPCONDMOV
Definition:
SYS_ProcessorDefines.h:41
SYS_PROCFLAG_CONDMOV
Definition:
SYS_ProcessorDefines.h:40
SYS_PROCFLAG_SSE
Definition:
SYS_ProcessorDefines.h:38
SYS_PROC_UNKNOWN
Definition:
SYS_ProcessorDefines.h:21
SYS_PROC_IA32
Definition:
SYS_ProcessorDefines.h:25
SYS_PROC_ALPHA
Definition:
SYS_ProcessorDefines.h:23
SYS
SYS_ProcessorDefines.h
Generated on Tue Dec 17 2024 03:41:58 for HDK by
1.8.6