From: Joey Gouly Date: Wed, 26 Jun 2013 17:19:48 +0000 (+0000) Subject: Add support for passing '-target armv8' through the Driver. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4ec8d5b63d3e2a2c0d9f35243e5f798a89cd97bd;p=clang Add support for passing '-target armv8' through the Driver. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184970 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index c592399cbb..b5a5cbe7a0 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -3750,6 +3750,7 @@ public: .Case("swift", "7S") .Cases("cortex-m3", "cortex-m4", "7M") .Case("cortex-m0", "6M") + .Case("cortex-a53", "8A") .Default(0); } static const char *getCPUProfile(StringRef Name) { diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp index 5bc41f99cf..8676f7f8df 100644 --- a/lib/Driver/ToolChain.cpp +++ b/lib/Driver/ToolChain.cpp @@ -195,6 +195,7 @@ static const char *getARMTargetCPU(const ArgList &Args, .Cases("armv7r", "armv7-r", "cortex-r4") .Cases("armv7m", "armv7-m", "cortex-m3") .Cases("armv7em", "armv7e-m", "cortex-m4") + .Cases("armv8", "armv8a", "armv8-a", "cortex-a53") .Case("ep9312", "ep9312") .Case("iwmmxt", "iwmmxt") .Case("xscale", "xscale") @@ -230,6 +231,7 @@ static const char *getLLVMArchSuffixForARM(StringRef CPU) { .Case("cortex-m4", "v7em") .Case("cortex-a9-mp", "v7f") .Case("swift", "v7s") + .Case("cortex-a53", "v8") .Default(""); } diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index b058733488..47a5f33017 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -112,6 +112,7 @@ static const char *GetArmArchForMArch(StringRef Value) { .Cases("armv7k", "armv7-k", "armv7k") .Cases("armv7m", "armv7-m", "armv7m") .Cases("armv7s", "armv7-s", "armv7s") + .Cases("armv8", "armv8a", "armv8-a", "armv8") .Default(0); } diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 6d468ab85e..925a18faaf 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -528,6 +528,7 @@ static std::string getARMTargetCPU(const ArgList &Args, .Cases("armv7s", "armv7-s", "swift") .Cases("armv7r", "armv7-r", "cortex-r4") .Cases("armv7m", "armv7-m", "cortex-m3") + .Cases("armv8", "armv8a", "armv8-a", "cortex-a53") .Case("ep9312", "ep9312") .Case("iwmmxt", "iwmmxt") .Case("xscale", "xscale") diff --git a/test/Driver/arch.c b/test/Driver/arch.c index df9a3e10e0..f113c1dfa5 100644 --- a/test/Driver/arch.c +++ b/test/Driver/arch.c @@ -1,3 +1,5 @@ -// RUN: %clang -target armv7a-unknown-linux-gnueabi -S -emit-llvm %s -o - | FileCheck %s +// RUN: %clang -target armv7a-unknown-linux-gnueabi -S -emit-llvm %s -o - | FileCheck %s --check-prefix=V7 +// RUN: %clang -target armv8a-unknown-linux-gnueabi -S -emit-llvm %s -o - | FileCheck %s --check-prefix=V8 -// CHECK: target triple = "armv7-unknown-linux-gnueabi" +// V7: target triple = "armv7-unknown-linux-gnueabi" +// V8: target triple = "armv8-unknown-linux-gnueabi"