From ac146749f28828e28e28413188dfd153a9884f45 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Tue, 6 Aug 2019 08:26:06 +0000 Subject: Merging r367929: ------------------------------------------------------------------------ r367929 | echristo | 2019-08-05 23:25:59 +0200 (Mon, 05 Aug 2019) | 5 lines BMI2 support is indicated in bit eight of EBX, not nine. See Intel SDM, Vol 2A, Table 3-8: https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2a-manual.pdf#page=296 Differential Revision: https://reviews.llvm.org/D65766 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/branches/release_90@367996 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/builtins/cpu_model.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/builtins/cpu_model.c b/lib/builtins/cpu_model.c index f953aed95..940c5938f 100644 --- a/lib/builtins/cpu_model.c +++ b/lib/builtins/cpu_model.c @@ -543,7 +543,7 @@ static void getAvailableFeatures(unsigned ECX, unsigned EDX, unsigned MaxLeaf, setFeature(FEATURE_BMI); if (HasLeaf7 && ((EBX >> 5) & 1) && HasAVX) setFeature(FEATURE_AVX2); - if (HasLeaf7 && ((EBX >> 9) & 1)) + if (HasLeaf7 && ((EBX >> 8) & 1)) setFeature(FEATURE_BMI2); if (HasLeaf7 && ((EBX >> 16) & 1) && HasAVX512Save) setFeature(FEATURE_AVX512F); -- cgit v1.2.3