From: Alexey Bataev Date: Fri, 31 Jan 2014 04:07:13 +0000 (+0000) Subject: Make x86 Android default target CPUs compatible with GCC (http://llvm-reviews.chandle... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=011b53f9b59c0d2b72b4f594539f45ed73a45b37;p=clang Make x86 Android default target CPUs compatible with GCC (http://llvm-reviews.chandlerc.com/D2655) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@200510 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 892810ece1..002bc2247e 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -1223,10 +1223,9 @@ static const char *getX86TargetCPU(const ArgList &Args, 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 @@ static void getX86TargetFeatures(const llvm::Triple &Triple, 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), diff --git a/test/Driver/clang-translation.c b/test/Driver/clang-translation.c index c8574d0b80..f0c44c5f06 100644 --- a/test/Driver/clang-translation.c +++ b/test/Driver/clang-translation.c @@ -210,13 +210,15 @@ // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ // RUN: | FileCheck --check-prefix=ANDROID-X86 %s // ANDROID-X86: clang -// ANDROID-X86: "-target-cpu" "core2" +// ANDROID-X86: "-target-cpu" "i686" +// ANDROID-X86: "-target-feature" "+sse3" // RUN: %clang -target x86_64-linux-android -### -S %s 2>&1 \ // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ // RUN: | FileCheck --check-prefix=ANDROID-X86_64 %s // ANDROID-X86_64: clang -// ANDROID-X86_64: "-target-cpu" "core2" +// ANDROID-X86_64: "-target-cpu" "x86-64" +// ANDROID-X86_64: "-target-feature" "+sse3" // RUN: %clang -target mips-linux-gnu -### -S %s 2>&1 | \ // RUN: FileCheck -check-prefix=MIPS %s