diff options
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 5c62b31d32e..ad1e5d9502b 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -3351,6 +3351,12 @@ void X86TargetInfo::setFeatureEnabledImpl(llvm::StringMap<bool> &Features,               Name == "avx512vbmi" || Name == "avx512ifma") {      if (Enabled)        setSSELevel(Features, AVX512F, Enabled); +    // Enable BWI instruction if VBMI is being enabled. +    if (Name == "avx512vbmi" && Enabled) +      Features["avx512bw"] = true; +    // Also disable VBMI if BWI is being disabled. +    if (Name == "avx512bw" && !Enabled) +      Features["avx512vbmi"] = false;    } else if (Name == "fma") {      if (Enabled)        setSSELevel(Features, AVX, Enabled);  | 

