aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/TargetParser.cpp
diff options
context:
space:
mode:
authorSjoerd Meijer <sjoerd.meijer@arm.com>2018-07-26 07:13:59 +0000
committerSjoerd Meijer <sjoerd.meijer@arm.com>2018-07-26 07:13:59 +0000
commitdc198344ce15a7d25c5926a284f28dbc1ba30d97 (patch)
tree739d613043f70000e928be9e93a0da21ee8f26b1 /llvm/lib/Support/TargetParser.cpp
parentf2822e2d9d5930e5a71ea8e1c8dca6b34ec3885b (diff)
downloadllvm-dc198344ce15a7d25c5926a284f28dbc1ba30d97.zip
llvm-dc198344ce15a7d25c5926a284f28dbc1ba30d97.tar.gz
llvm-dc198344ce15a7d25c5926a284f28dbc1ba30d97.tar.bz2
[AArch64] Armv8.2-A: add the crypto extensions
This adds MC support for the crypto instructions that were made optional extensions in Armv8.2-A (AArch64 only). Differential Revision: https://reviews.llvm.org/D49370 llvm-svn: 338010
Diffstat (limited to 'llvm/lib/Support/TargetParser.cpp')
-rw-r--r--llvm/lib/Support/TargetParser.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Support/TargetParser.cpp b/llvm/lib/Support/TargetParser.cpp
index bb2aecd..2c167a4 100644
--- a/llvm/lib/Support/TargetParser.cpp
+++ b/llvm/lib/Support/TargetParser.cpp
@@ -433,6 +433,17 @@ unsigned llvm::AArch64::getDefaultExtensions(StringRef CPU, ArchKind AK) {
.Default(AArch64::AEK_INVALID);
}
+AArch64::ArchKind llvm::AArch64::getCPUArchKind(StringRef CPU) {
+ if (CPU == "generic")
+ return AArch64::ArchKind::ARMV8A;
+
+ return StringSwitch<AArch64::ArchKind>(CPU)
+#define AARCH64_CPU_NAME(NAME, ID, DEFAULT_FPU, IS_DEFAULT, DEFAULT_EXT) \
+ .Case(NAME, AArch64::ArchKind:: ID)
+#include "llvm/Support/AArch64TargetParser.def"
+ .Default(AArch64::ArchKind::INVALID);
+}
+
bool llvm::AArch64::getExtensionFeatures(unsigned Extensions,
std::vector<StringRef> &Features) {