#include <stdlib.h>
Go to the source code of this file.
Definition at line 133 of file instrset_detect.cpp.
137 return ((abcd[2] & (1 << 12)) != 0);
int instrset_detect(void)
#define cpuid(func, eax, ebx, ecx, edx)
Definition at line 141 of file instrset_detect.cpp.
144 cpuid(abcd, 0x80000001);
145 return ((abcd[2] & (1 << 16)) != 0);
int instrset_detect(void)
#define cpuid(func, eax, ebx, ecx, edx)
Definition at line 149 of file instrset_detect.cpp.
152 cpuid(abcd, 0x80000001);
153 return ((abcd[2] & (1 << 11)) != 0);
int instrset_detect(void)
#define cpuid(func, eax, ebx, ecx, edx)
int instrset_detect |
( |
void |
| ) |
|
Definition at line 91 of file instrset_detect.cpp.
98 int abcd[4] = {0,0,0,0};
100 if (abcd[0] == 0)
return iset;
102 if ((abcd[3] & (1 << 0)) == 0)
return iset;
103 if ((abcd[3] & (1 << 23)) == 0)
return iset;
104 if ((abcd[3] & (1 << 15)) == 0)
return iset;
105 if ((abcd[3] & (1 << 24)) == 0)
return iset;
106 if ((abcd[3] & (1 << 25)) == 0)
return iset;
108 if ((abcd[3] & (1 << 26)) == 0)
return iset;
110 if ((abcd[2] & (1 << 0)) == 0)
return iset;
112 if ((abcd[2] & (1 << 9)) == 0)
return iset;
114 if ((abcd[2] & (1 << 19)) == 0)
return iset;
116 if ((abcd[2] & (1 << 23)) == 0)
return iset;
117 if ((abcd[2] & (1 << 20)) == 0)
return iset;
119 if ((abcd[2] & (1 << 27)) == 0)
return iset;
120 if ((xgetbv(0) & 6) != 6)
return iset;
121 if ((abcd[2] & (1 << 28)) == 0)
return iset;
124 if ((abcd[1] & (1 << 5)) == 0)
return iset;
127 if ((abcd[0] & 0x60) != 0x60)
return iset;
#define cpuid(func, eax, ebx, ecx, edx)