diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2018-01-28 16:10:40 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2018-01-28 16:10:40 +0000 |
| commit | 48d95fd235a1add63da3e3571fbcf5da53170364 (patch) | |
| tree | 5de1eb7ce96d4b2eaf5581575580ebf69480b658 /contrib/llvm/tools/clang/lib | |
| parent | 2b4c1a7ffccb6187f14d9aa30dd1e6759c36f26a (diff) | |
Notes
Diffstat (limited to 'contrib/llvm/tools/clang/lib')
| -rw-r--r-- | contrib/llvm/tools/clang/lib/Basic/Targets/X86.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/contrib/llvm/tools/clang/lib/Basic/Targets/X86.cpp b/contrib/llvm/tools/clang/lib/Basic/Targets/X86.cpp index 70433ff066fc..0febb98d4684 100644 --- a/contrib/llvm/tools/clang/lib/Basic/Targets/X86.cpp +++ b/contrib/llvm/tools/clang/lib/Basic/Targets/X86.cpp @@ -409,7 +409,7 @@ void X86TargetInfo::setSSELevel(llvm::StringMap<bool> &Features, if (Enabled) { switch (Level) { case AVX512F: - Features["avx512f"] = true; + Features["avx512f"] = Features["fma"] = Features["f16c"] = true; LLVM_FALLTHROUGH; case AVX2: Features["avx2"] = true; @@ -623,6 +623,8 @@ void X86TargetInfo::setFeatureEnabledImpl(llvm::StringMap<bool> &Features, } else if (Name == "fma") { if (Enabled) setSSELevel(Features, AVX, Enabled); + else + setSSELevel(Features, AVX512F, Enabled); } else if (Name == "fma4") { setXOPLevel(Features, FMA4, Enabled); } else if (Name == "xop") { @@ -632,6 +634,8 @@ void X86TargetInfo::setFeatureEnabledImpl(llvm::StringMap<bool> &Features, } else if (Name == "f16c") { if (Enabled) setSSELevel(Features, AVX, Enabled); + else + setSSELevel(Features, AVX512F, Enabled); } else if (Name == "sha") { if (Enabled) setSSELevel(Features, SSE2, Enabled); |
