diff options
| author | Craig Topper <craig.topper@gmail.com> | 2013-09-16 04:54:13 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2013-09-16 04:54:13 +0000 |
| commit | 31db3a2efc0ef533c503d29d22ba8df085331ee0 (patch) | |
| tree | f247a9b46e6a7297c9cebbb0a8910471109008e6 /clang/lib/Basic | |
| parent | a6d204ec6841ddcf505a32378435fcae6f1d9940 (diff) | |
| download | bcm5719-llvm-31db3a2efc0ef533c503d29d22ba8df085331ee0.tar.gz bcm5719-llvm-31db3a2efc0ef533c503d29d22ba8df085331ee0.zip | |
Make F16C feature imply AVX. Matches GCC behavior.
llvm-svn: 190776
Diffstat (limited to 'clang/lib/Basic')
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index c2ba84b225a..b31ec78c7ea 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -2172,7 +2172,7 @@ void X86TargetInfo::setSSELevel(llvm::StringMap<bool> &Features, case SSE42: Features["sse4.2"] = false; case AVX: - Features["fma"] = Features["avx"] = false; + Features["fma"] = Features["avx"] = Features["f16c"] = false; setXOPLevel(Features, FMA4, false); case AVX2: Features["avx2"] = false; @@ -2290,6 +2290,9 @@ void X86TargetInfo::setFeatureEnabled(llvm::StringMap<bool> &Features, setXOPLevel(Features, XOP, Enabled); } else if (Name == "sse4a") { setXOPLevel(Features, SSE4A, Enabled); + } else if (Name == "f16c") { + if (Enabled) + setSSELevel(Features, AVX, Enabled); } } |

