Add support for passing v8fp options via -mfpu.

llvm-svn: 185075
This commit is contained in:
Joey Gouly 2013-06-27 13:19:54 +00:00
parent b1b0dd8758
commit 7db275b947
3 changed files with 18 additions and 1 deletions

View File

@ -3681,7 +3681,7 @@ public:
bool Enabled) const {
if (Name == "soft-float" || Name == "soft-float-abi" ||
Name == "vfp2" || Name == "vfp3" || Name == "vfp4" || Name == "neon" ||
Name == "d16" || Name == "neonfp") {
Name == "d16" || Name == "neonfp" || Name == "v8fp") {
Features[Name] = Enabled;
} else
return false;

View File

@ -590,6 +590,14 @@ static void addFPUArgs(const Driver &D, const Arg *A, const ArgList &Args,
CmdArgs.push_back("+vfp3");
CmdArgs.push_back("-target-feature");
CmdArgs.push_back("-neon");
} else if (FPU == "fp-armv8") {
CmdArgs.push_back("-target-feature");
CmdArgs.push_back("+v8fp");
} else if (FPU == "neon-fp-armv8") {
CmdArgs.push_back("-target-feature");
CmdArgs.push_back("+v8fp");
CmdArgs.push_back("-target-feature");
CmdArgs.push_back("+neon");
} else if (FPU == "neon") {
CmdArgs.push_back("-target-feature");
CmdArgs.push_back("+neon");

View File

@ -46,3 +46,12 @@
// RUN: %clang -target arm-linux-eabi -msoft-float %s -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-SOFT-FLOAT %s
// CHECK-SOFT-FLOAT: "-target-feature" "-neon"
// RUN: %clang -target armv8-linux-gnueabihf -mfpu=fp-armv8 %s -### 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FP-ARMV8 %s
// CHECK-FP-ARMV8: "-target-feature" "+v8fp"
// RUN: %clang -target armv8-linux-gnueabihf -mfpu=neon-fp-armv8 %s -### 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-NEON-FP-ARMV8 %s
// CHECK-NEON-FP-ARMV8: "-target-feature" "+v8fp"
// CHECK-NEON-FP-ARMV8: "-target-feature" "+neon"