|
OpenTTD Source 20260218-master-g2123fca5ea
|
OS/CPU/compiler dependent CPU specific calls. More...
Go to the source code of this file.
Typedefs | |
| using | CPUIDArray = std::array<int, 4> |
| Container for CPUID information. | |
Functions | |
| static CPUIDArray | CPUID (int type) |
| Get the CPUID information from the CPU. | |
| bool | HasCPUIDFlag (uint type, uint index, uint bit) |
| Check whether the current CPU has the given flag. | |
OS/CPU/compiler dependent CPU specific calls.
Definition in file cpu.cpp.
| using CPUIDArray = std::array<int, 4> |
|
static |
Get the CPUID information from the CPU.
Definitions for CPU detection:
MSVC offers cpu information while gcc only implements in gcc 4.8 __builtin_cpu_supports and friends http://msdn.microsoft.com/library/vstudio/hskdteyh%28v=vs.100%29.aspx http://gcc.gnu.org/onlinedocs/gcc/X86-Built-in-Functions.html
Other platforms/architectures don't have CPUID, so zero the info and then most (if not all) of the features are set as if they do not exist.
| type | The information this instruction should retrieve. |
Definition at line 33 of file cpu.cpp.
Referenced by HasCPUIDFlag().
| bool HasCPUIDFlag | ( | uint | type, |
| uint | index, | ||
| uint | bit ) |
Check whether the current CPU has the given flag.
| type | The type to be passing to cpuid (usually 1). |
| index | The index in the returned info array. |
| bit | The bit index that needs to be set. |