From 96a2ac536aac000f27607bdbdeec30fabb9f6d6c Mon Sep 17 00:00:00 2001 From: Alexey Volkov Date: Wed, 25 Jun 2014 12:15:36 +0000 Subject: Align with new GCC options for x86 Android 32-bit: +ssse3 64-bit: +sse4.2 +popcnt Differential Revision: http://reviews.llvm.org/D4287 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211688 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Driver/Tools.cpp | 8 ++++++-- test/Driver/clang-translation.c | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 48528d9265..f652fadf0f 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -1426,9 +1426,13 @@ static void getX86TargetFeatures(const llvm::Triple &Triple, Features.push_back("-fsgsbase"); } + // Add features to comply with gcc on Android if (Triple.getEnvironment() == llvm::Triple::Android) { - // Add sse3 feature to comply with gcc on Android - Features.push_back("+sse3"); + if (Triple.getArch() == llvm::Triple::x86_64) { + Features.push_back("+sse4.2"); + Features.push_back("+popcnt"); + } else + Features.push_back("+ssse3"); } // Now add any that the user explicitly requested on the command line, diff --git a/test/Driver/clang-translation.c b/test/Driver/clang-translation.c index 54e5bbec02..34a932db92 100644 --- a/test/Driver/clang-translation.c +++ b/test/Driver/clang-translation.c @@ -211,14 +211,15 @@ // RUN: | FileCheck --check-prefix=ANDROID-X86 %s // ANDROID-X86: clang // ANDROID-X86: "-target-cpu" "i686" -// ANDROID-X86: "-target-feature" "+sse3" +// ANDROID-X86: "-target-feature" "+ssse3" // 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" "x86-64" -// ANDROID-X86_64: "-target-feature" "+sse3" +// ANDROID-X86_64: "-target-feature" "+sse4.2" +// ANDROID-X86_64: "-target-feature" "+popcnt" // RUN: %clang -target mips-linux-gnu -### -S %s 2>&1 | \ // RUN: FileCheck -check-prefix=MIPS %s -- cgit v1.2.3