From 0f1f3ac2625a02e91c6d6ecd6fe7329fec8395fa Mon Sep 17 00:00:00 2001 From: Patrik Fiedler Date: Tue, 13 Feb 2018 11:44:40 +0100 Subject: [PATCH] sort the detection by leaf and bit --- src/cpuinfo_x86.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/cpuinfo_x86.c b/src/cpuinfo_x86.c index 7460210..05258f7 100644 --- a/src/cpuinfo_x86.c +++ b/src/cpuinfo_x86.c @@ -95,16 +95,15 @@ static void ParseCpuId(const uint32_t max_cpuid_leaf, X86Info* info) { info->model = (extended_model << 4) + model; info->stepping = ExtractBitRange(leaf_1.eax, 3, 0); + features->smx = IsBitSet(leaf_1.ecx, 6); features->aes = IsBitSet(leaf_1.ecx, 25); - features->erms = IsBitSet(leaf_7.ebx, 9); features->f16c = IsBitSet(leaf_1.ecx, 29); + features->sgx = IsBitSet(leaf_7.ebx, 2); features->bmi1 = IsBitSet(leaf_7.ebx, 3); features->bmi2 = IsBitSet(leaf_7.ebx, 8); + features->erms = IsBitSet(leaf_7.ebx, 9); features->vpclmulqdq = IsBitSet(leaf_7.ecx, 10); - features->smx = IsBitSet(leaf_1.ecx, 6); - features->sgx = IsBitSet(leaf_7.ebx, 2); - if (have_sse_os_support) { features->ssse3 = IsBitSet(leaf_1.ecx, 9); features->sse4_1 = IsBitSet(leaf_1.ecx, 19);