diff options
author | Andrey Churbanov <Andrey.Churbanov@intel.com> | 2016-08-05 15:59:11 +0000 |
---|---|---|
committer | Andrey Churbanov <Andrey.Churbanov@intel.com> | 2016-08-05 15:59:11 +0000 |
commit | 6c90de7aaf1ca81224734c1b3bdd6ae2a4bccd75 (patch) | |
tree | 849b03b8d3818822725f0a4c38b41232010c54a9 /runtime/src/kmp_affinity.cpp | |
parent | 03a057fa63e6f59cab6180bdf530558516c9da8d (diff) |
Fixed x2APIC discovery for 256-processor architectures.
Mask for value read from ebx register returned by CPUID expanded to 0xFFFF.
Differential Revision: https://reviews.llvm.org/D23203
git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@277825 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'runtime/src/kmp_affinity.cpp')
-rw-r--r-- | runtime/src/kmp_affinity.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/runtime/src/kmp_affinity.cpp b/runtime/src/kmp_affinity.cpp index 5745f1e..594d8e4 100644 --- a/runtime/src/kmp_affinity.cpp +++ b/runtime/src/kmp_affinity.cpp @@ -1429,7 +1429,7 @@ __kmp_affinity_create_x2apicid_map(AddrUnsPair **address2os, threadLevel = level; coreLevel = -1; pkgLevel = -1; - __kmp_nThreadsPerCore = buf.ebx & 0xff; + __kmp_nThreadsPerCore = buf.ebx & 0xffff; if (__kmp_nThreadsPerCore == 0) { *msg_id = kmp_i18n_str_InvalidCpuidInfo; return -1; @@ -1441,7 +1441,7 @@ __kmp_affinity_create_x2apicid_map(AddrUnsPair **address2os, // coreLevel = level; pkgLevel = -1; - nCoresPerPkg = buf.ebx & 0xff; + nCoresPerPkg = buf.ebx & 0xffff; if (nCoresPerPkg == 0) { *msg_id = kmp_i18n_str_InvalidCpuidInfo; return -1; @@ -1456,7 +1456,7 @@ __kmp_affinity_create_x2apicid_map(AddrUnsPair **address2os, continue; } pkgLevel = level; - nPackages = buf.ebx & 0xff; + nPackages = buf.ebx & 0xffff; if (nPackages == 0) { *msg_id = kmp_i18n_str_InvalidCpuidInfo; return -1; |