diff options
author | Daniel Dunbar <daniel@zuster.org> | 2011-05-03 15:34:01 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2011-05-03 15:34:01 +0000 |
commit | cb65de1b211aab46a0c6ddb3d323bdd21e8de378 (patch) | |
tree | fceb67b053c3816cbf40de53a3e6c6ad7daf8729 /lib/Basic/Targets.cpp | |
parent | d8b9d687544d094f6e92e1faf877296d3ce8828e (diff) |
Revert r130750, "Make the mno flags match GCC. Patch by Alexander Best!", it breaks tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130753 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/Targets.cpp')
-rw-r--r-- | lib/Basic/Targets.cpp | 74 |
1 files changed, 29 insertions, 45 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index f38e1a4dab..97109caf12 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -1164,31 +1164,23 @@ void X86TargetInfo::getDefaultFeatures(const std::string &CPU, ; else if (CPU == "pentium-mmx" || CPU == "pentium2") setFeatureEnabled(Features, "mmx", true); - else if (CPU == "pentium3" || CPU == "pentium3m") { - setFeatureEnabled(Features, "mmx", true); + else if (CPU == "pentium3") setFeatureEnabled(Features, "sse", true); - } else if (CPU == "pentium-m" || CPU == "pentium4" || CPU == "pentium4m" || - CPU == "x86-64") { - setFeatureEnabled(Features, "mmx", true); + else if (CPU == "pentium-m" || CPU == "pentium4" || CPU == "x86-64") setFeatureEnabled(Features, "sse2", true); - } else if (CPU == "yonah" || CPU == "prescott" || CPU == "nocona") { - setFeatureEnabled(Features, "mmx", true); + else if (CPU == "yonah" || CPU == "prescott" || CPU == "nocona") setFeatureEnabled(Features, "sse3", true); - } else if (CPU == "core2") { - setFeatureEnabled(Features, "mmx", true); + else if (CPU == "core2") setFeatureEnabled(Features, "ssse3", true); - } else if (CPU == "penryn") { - setFeatureEnabled(Features, "mmx", true); - setFeatureEnabled(Features, "sse4.1", true); - } else if (CPU == "atom") { - setFeatureEnabled(Features, "mmx", true); + else if (CPU == "penryn") { + setFeatureEnabled(Features, "sse4", true); + Features["sse42"] = false; + } else if (CPU == "atom") setFeatureEnabled(Features, "sse3", true); - } else if (CPU == "corei7") { - setFeatureEnabled(Features, "mmx", true); + else if (CPU == "corei7") { setFeatureEnabled(Features, "sse4", true); setFeatureEnabled(Features, "aes", true); } else if (CPU == "sandybridge") { - setFeatureEnabled(Features, "mmx", true); setFeatureEnabled(Features, "sse4", true); setFeatureEnabled(Features, "aes", true); // setFeatureEnabled(Features, "avx", true); @@ -1199,20 +1191,16 @@ void X86TargetInfo::getDefaultFeatures(const std::string &CPU, setFeatureEnabled(Features, "mmx", true); setFeatureEnabled(Features, "3dnow", true); } else if (CPU == "athlon-4" || CPU == "athlon-xp" || CPU == "athlon-mp") { - setFeatureEnabled(Features, "mmx", true); setFeatureEnabled(Features, "sse", true); setFeatureEnabled(Features, "3dnowa", true); } else if (CPU == "k8" || CPU == "opteron" || CPU == "athlon64" || CPU == "athlon-fx") { - setFeatureEnabled(Features, "mmx", true); setFeatureEnabled(Features, "sse2", true); setFeatureEnabled(Features, "3dnowa", true); } else if (CPU == "k8-sse3") { - setFeatureEnabled(Features, "mmx", true); setFeatureEnabled(Features, "sse3", true); setFeatureEnabled(Features, "3dnowa", true); } else if (CPU == "c3-2") - setFeatureEnabled(Features, "mmx", true); setFeatureEnabled(Features, "sse", true); } @@ -1229,53 +1217,49 @@ bool X86TargetInfo::setFeatureEnabled(llvm::StringMap<bool> &Features, if (Name == "mmx") Features["mmx"] = true; else if (Name == "sse") - Features["sse"] = true; + Features["mmx"] = Features["sse"] = true; else if (Name == "sse2") - Features["sse"] = Features["sse2"] = true; + Features["mmx"] = Features["sse"] = Features["sse2"] = true; else if (Name == "sse3") - Features["sse"] = Features["sse2"] = Features["sse3"] = true; + Features["mmx"] = Features["sse"] = Features["sse2"] = + Features["sse3"] = true; else if (Name == "ssse3") - Features["sse"] = Features["sse2"] = Features["sse3"] = + Features["mmx"] = Features["sse"] = Features["sse2"] = Features["sse3"] = Features["ssse3"] = true; else if (Name == "sse4" || Name == "sse4.2") - Features["sse"] = Features["sse2"] = Features["sse3"] = + Features["mmx"] = Features["sse"] = Features["sse2"] = Features["sse3"] = Features["ssse3"] = Features["sse41"] = Features["sse42"] = true; else if (Name == "sse4.1") - Features["sse"] = Features["sse2"] = Features["sse3"] = + Features["mmx"] = Features["sse"] = Features["sse2"] = Features["sse3"] = Features["ssse3"] = Features["sse41"] = true; else if (Name == "3dnow") - Features["mmx"] = Features["3dnow"] = true; + Features["3dnowa"] = true; else if (Name == "3dnowa") - Features["mmx"] = Features["3dnow"] = Features["3dnowa"] = true; - // FIXME: AES requires SSE2's xmm registers + Features["3dnow"] = Features["3dnowa"] = true; else if (Name == "aes") - Features["sse"] = Features["sse2"] = Features["aes"] = true; + Features["aes"] = true; else if (Name == "avx") - // FIXME: AVX requires a or some SSE4.2 feature(s) - Features["sse"] = Features["sse2"] = Features["sse3"] = - Features["ssse3"] = Features["sse41"] = Features["sse42"] = - Features["avx"] = true; + Features["avx"] = true; } else { if (Name == "mmx") - Features["mmx"] = Features["3dnow"] = Features["3dnowa"] = false; + Features["mmx"] = Features["3dnow"] = Features["3dnowa"] = + Features["sse"] = Features["sse2"] = Features["sse3"] = + Features["ssse3"] = Features["sse41"] = Features["sse42"] = false; else if (Name == "sse") Features["sse"] = Features["sse2"] = Features["sse3"] = - Features["ssse3"] = Features["sse41"] = Features["sse42"] = - Features["aes"] = Features["avx"] = false; + Features["ssse3"] = Features["sse41"] = Features["sse42"] = false; else if (Name == "sse2") Features["sse2"] = Features["sse3"] = Features["ssse3"] = - Features["sse41"] = Features["sse42"] = Features["aes"] = - Features["avx"] = false; + Features["sse41"] = Features["sse42"] = false; else if (Name == "sse3") Features["sse3"] = Features["ssse3"] = Features["sse41"] = - Features["sse42"] = Features["avx"] = false; + Features["sse42"] = false; else if (Name == "ssse3") - Features["ssse3"] = Features["sse41"] = Features["sse42"] = - Features["avx"] = false; + Features["ssse3"] = Features["sse41"] = Features["sse42"] = false; else if (Name == "sse4" || Name == "sse4.1") - Features["sse41"] = Features["sse42"] = Features["avx"] = false; + Features["sse41"] = Features["sse42"] = false; else if (Name == "sse4.2") - Features["sse42"] = Features["avx"] = false; + Features["sse42"] = false; else if (Name == "3dnow") Features["3dnow"] = Features["3dnowa"] = false; else if (Name == "3dnowa") |