Make x86 Android default target CPUs compatible with GCC (http://llvm-reviews.chandlerc.com/D2655)
llvm-svn: 200510
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 892810e..002bc22 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -1223,10 +1223,9 @@
return Is64Bit ? "core2" : "yonah";
}
- // All x86 devices running Android have core2 as their common
- // denominator. This makes a better choice than pentium4.
+ // On Android use targets compatible with gcc
if (Triple.getEnvironment() == llvm::Triple::Android)
- return "core2";
+ return Is64Bit ? "x86-64" : "i686";
// Everything else goes to x86-64 in 64-bit mode.
if (Is64Bit)
@@ -1339,6 +1338,11 @@
Features.push_back("-fsgsbase");
}
+ if (Triple.getEnvironment() == llvm::Triple::Android) {
+ // Add sse3 feature to comply with gcc on Android
+ Features.push_back("+sse3");
+ }
+
// Now add any that the user explicitly requested on the command line,
// which may override the defaults.
for (arg_iterator it = Args.filtered_begin(options::OPT_m_x86_Features_Group),