OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. | 2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 13 matching lines...) Expand all Loading... |
24 // These flags are only valid on ARM processors. | 24 // These flags are only valid on ARM processors. |
25 static const int kCpuHasARM = 0x2; | 25 static const int kCpuHasARM = 0x2; |
26 static const int kCpuHasNEON = 0x4; | 26 static const int kCpuHasNEON = 0x4; |
27 // 0x8 reserved for future ARM flag. | 27 // 0x8 reserved for future ARM flag. |
28 | 28 |
29 // These flags are only valid on x86 processors. | 29 // These flags are only valid on x86 processors. |
30 static const int kCpuHasX86 = 0x10; | 30 static const int kCpuHasX86 = 0x10; |
31 static const int kCpuHasSSE2 = 0x20; | 31 static const int kCpuHasSSE2 = 0x20; |
32 static const int kCpuHasSSSE3 = 0x40; | 32 static const int kCpuHasSSSE3 = 0x40; |
33 static const int kCpuHasSSE41 = 0x80; | 33 static const int kCpuHasSSE41 = 0x80; |
34 static const int kCpuHasSSE42 = 0x100; | 34 static const int kCpuHasSSE42 = 0x100; // unused at this time. |
35 static const int kCpuHasAVX = 0x200; | 35 static const int kCpuHasAVX = 0x200; |
36 static const int kCpuHasAVX2 = 0x400; | 36 static const int kCpuHasAVX2 = 0x400; |
37 static const int kCpuHasERMS = 0x800; | 37 static const int kCpuHasERMS = 0x800; |
38 static const int kCpuHasFMA3 = 0x1000; | 38 static const int kCpuHasFMA3 = 0x1000; |
39 static const int kCpuHasAVX3 = 0x2000; | 39 static const int kCpuHasAVX3 = 0x2000; |
40 // 0x2000, 0x4000, 0x8000 reserved for future X86 flags. | 40 static const int kCpuHasF16C = 0x4000; |
| 41 |
| 42 // 0x8000 reserved for future X86 flags. |
41 | 43 |
42 // These flags are only valid on MIPS processors. | 44 // These flags are only valid on MIPS processors. |
43 static const int kCpuHasMIPS = 0x10000; | 45 static const int kCpuHasMIPS = 0x10000; |
44 static const int kCpuHasDSPR2 = 0x20000; | 46 static const int kCpuHasDSPR2 = 0x20000; |
45 static const int kCpuHasMSA = 0x40000; | 47 static const int kCpuHasMSA = 0x40000; |
46 | 48 |
47 // Internal function used to auto-init. | 49 // Internal function used to auto-init. |
48 LIBYUV_API | 50 LIBYUV_API |
49 int InitCpuFlags(void); | 51 int InitCpuFlags(void); |
50 | 52 |
(...skipping 21 matching lines...) Expand all Loading... |
72 // ecx is typically the cpu number, and should normally be zero. | 74 // ecx is typically the cpu number, and should normally be zero. |
73 LIBYUV_API | 75 LIBYUV_API |
74 void CpuId(uint32 eax, uint32 ecx, uint32* cpu_info); | 76 void CpuId(uint32 eax, uint32 ecx, uint32* cpu_info); |
75 | 77 |
76 #ifdef __cplusplus | 78 #ifdef __cplusplus |
77 } // extern "C" | 79 } // extern "C" |
78 } // namespace libyuv | 80 } // namespace libyuv |
79 #endif | 81 #endif |
80 | 82 |
81 #endif // INCLUDE_LIBYUV_CPU_ID_H_ | 83 #endif // INCLUDE_LIBYUV_CPU_ID_H_ |
OLD | NEW |