aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorOliver Stannard <oliver.stannard@arm.com>2015-11-26 15:36:42 +0000
committerOliver Stannard <oliver.stannard@arm.com>2015-11-26 15:36:42 +0000
commit76afca76176ac87d01e956a18c6c70dca7b22ac7 (patch)
tree9aa6dc28f44689f26eee0eb26873a0aad07934a3 /clang/lib/Driver/Tools.cpp
parent64c167db7a2beef45da4ac970f5c55eb1d658cad (diff)
downloadllvm-76afca76176ac87d01e956a18c6c70dca7b22ac7.zip
llvm-76afca76176ac87d01e956a18c6c70dca7b22ac7.tar.gz
llvm-76afca76176ac87d01e956a18c6c70dca7b22ac7.tar.bz2
[AArch64] Add command-line options for ARMv8.2-A
This adds new values for the -march option (armv8.2a and armv8.2-a, which are aliases of each other), and new suffixes for the -march and -mcpu options (+fp16 and +nofp16), to allow targeting the ARMv8.2-A architecture and it's optional half-precision floating-point extension. Differential Revision: http://reviews.llvm.org/D15022 llvm-svn: 254160
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 3bd2ffb..9ae9348 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -2031,10 +2031,12 @@ static bool DecodeAArch64Features(const Driver &D, StringRef text,
.Case("simd", "+neon")
.Case("crc", "+crc")
.Case("crypto", "+crypto")
+ .Case("fp16", "+fullfp16")
.Case("nofp", "-fp-armv8")
.Case("nosimd", "-neon")
.Case("nocrc", "-crc")
.Case("nocrypto", "-crypto")
+ .Case("nofp16", "-fullfp16")
.Default(nullptr);
if (result)
Features.push_back(result);
@@ -2080,6 +2082,8 @@ getAArch64ArchFeaturesFromMarch(const Driver &D, StringRef March,
// ok, no additional features.
} else if (Split.first == "armv8.1-a" || Split.first == "armv8.1a") {
Features.push_back("+v8.1a");
+ } else if (Split.first == "armv8.2-a" || Split.first == "armv8.2a" ) {
+ Features.push_back("+v8.2a");
} else {
return false;
}