diff options
author | Craig Topper <craig.topper@intel.com> | 2019-05-16 18:28:17 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-05-16 18:28:17 +0000 |
commit | 20040db9a686e9d946cc40acee17d7a00ceeede3 (patch) | |
tree | e9618f913cfef2ef0b9ecad71d9b6d97a402325b /clang/lib/Basic/Targets/X86.cpp | |
parent | 649bffccca2c6806b180fc44a8e0b5418d966ab1 (diff) | |
download | bcm5719-llvm-20040db9a686e9d946cc40acee17d7a00ceeede3.tar.gz bcm5719-llvm-20040db9a686e9d946cc40acee17d7a00ceeede3.zip |
[X86] Stop implicitly enabling avx512vl when avx512bf16 is enabled.
Previously we were doing this so that the 256 bit selectw builtin could be used in the implementation of the 512->256 bit conversion intrinsic.
After this commit we now use a masked convert builtin that will emit the intrinsic call and the 256-bit select from custom code in CGBuiltin. Then the header only needs to call that one intrinsic.
llvm-svn: 360924
Diffstat (limited to 'clang/lib/Basic/Targets/X86.cpp')
-rw-r--r-- | clang/lib/Basic/Targets/X86.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/clang/lib/Basic/Targets/X86.cpp b/clang/lib/Basic/Targets/X86.cpp index b83c9382fc4..44f5fbf5a7d 100644 --- a/clang/lib/Basic/Targets/X86.cpp +++ b/clang/lib/Basic/Targets/X86.cpp @@ -661,14 +661,12 @@ void X86TargetInfo::setFeatureEnabledImpl(llvm::StringMap<bool> &Features, if ((Name.startswith("avx512vbmi") || Name == "avx512bitalg") && Enabled) Features["avx512bw"] = true; if (Name == "avx512bf16" && Enabled) - Features["avx512bw"] = Features["avx512vl"] = true; + Features["avx512bw"] = true; // Also disable VBMI/VBMI2/BITALG if BWI is being disabled. if (Name == "avx512bw" && !Enabled) Features["avx512vbmi"] = Features["avx512vbmi2"] = Features["avx512bf16"] = Features["avx512bitalg"] = false; - if (Name == "avx512vl" && !Enabled) - Features["avx512bf16"] = false; } else if (Name == "fma") { if (Enabled) setSSELevel(Features, AVX, Enabled); |