/src/xnnpack/build/cpuinfo-source/src/x86/info.c
Line | Count | Source |
1 | | #include <stdint.h> |
2 | | |
3 | | #include <cpuinfo.h> |
4 | | #include <x86/api.h> |
5 | | |
6 | 1 | struct cpuinfo_x86_model_info cpuinfo_x86_decode_model_info(uint32_t eax) { |
7 | 1 | struct cpuinfo_x86_model_info model_info; |
8 | 1 | model_info.stepping = eax & 0xF; |
9 | 1 | model_info.base_model = (eax >> 4) & 0xF; |
10 | 1 | model_info.base_family = (eax >> 8) & 0xF; |
11 | 1 | model_info.processor_type = (eax >> 12) & 0x3; |
12 | 1 | model_info.extended_model = (eax >> 16) & 0xF; |
13 | 1 | model_info.extended_family = (eax >> 20) & 0xFF; |
14 | | |
15 | 1 | model_info.family = model_info.base_family + model_info.extended_family; |
16 | 1 | model_info.model = model_info.base_model + (model_info.extended_model << 4); |
17 | 1 | return model_info; |
18 | 1 | } |