summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Volkov <avolkov.intel@gmail.com>2014-06-25 12:15:36 +0000
committerAlexey Volkov <avolkov.intel@gmail.com>2014-06-25 12:15:36 +0000
commit96a2ac536aac000f27607bdbdeec30fabb9f6d6c (patch)
tree5cd6d70a8ff919da244792d1e6b91995401e8906
parent92222fa040b04f92d148a16ec25293a07e469897 (diff)
downloadclang-96a2ac536aac000f27607bdbdeec30fabb9f6d6c.tar.gz
clang-96a2ac536aac000f27607bdbdeec30fabb9f6d6c.tar.bz2
clang-96a2ac536aac000f27607bdbdeec30fabb9f6d6c.tar.xz
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
-rw-r--r--lib/Driver/Tools.cpp8
-rw-r--r--test/Driver/clang-translation.c5
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