]> granicus.if.org Git - clang/commitdiff
Add support for passing '-target armv8' through the Driver.
authorJoey Gouly <joey.gouly@arm.com>
Wed, 26 Jun 2013 17:19:48 +0000 (17:19 +0000)
committerJoey Gouly <joey.gouly@arm.com>
Wed, 26 Jun 2013 17:19:48 +0000 (17:19 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184970 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/Targets.cpp
lib/Driver/ToolChain.cpp
lib/Driver/ToolChains.cpp
lib/Driver/Tools.cpp
test/Driver/arch.c

index c592399cbb16947ff2a11e88e0b80f4a11f31b9c..b5a5cbe7a035d721d49338a0c623298d13a65f7f 100644 (file)
@@ -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) {
index 5bc41f99cf676d99e53669aeba6481143870a896..8676f7f8df4c3668cc945a065ec871b8683c8057 100644 (file)
@@ -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("");
 }
 
index b058733488b2336fdb2852b7d5d1ac4ea52eb0e0..47a5f33017800dbfa57c688c936412e07ff2691d 100644 (file)
@@ -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);
 }
 
index 6d468ab85eb91cd94a8f2c575b82644b97bca31c..925a18faafd57cf1a970948db33095e835afcc7e 100644 (file)
@@ -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")
index df9a3e10e02e8634364e8c66498c64e4ff15bd18..f113c1dfa5c2790d46db44027fa02494d50e92f1 100644 (file)
@@ -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"