summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/TargetParser.cpp
diff options
context:
space:
mode:
authorOliver Stannard <oliver.stannard@arm.com>2018-09-26 12:48:21 +0000
committerOliver Stannard <oliver.stannard@arm.com>2018-09-26 12:48:21 +0000
commit7c3c4baa3fbae3b4302a989000f5049b6db6c0e0 (patch)
treec8160a8fd2ff658eb60a8543ed09817af73f75fa /llvm/lib/Support/TargetParser.cpp
parente2437689a882ff4f13a1b6201bc2f2f0ed58df14 (diff)
downloadbcm5719-llvm-7c3c4baa3fbae3b4302a989000f5049b6db6c0e0.tar.gz
bcm5719-llvm-7c3c4baa3fbae3b4302a989000f5049b6db6c0e0.zip
[ARM/AArch64][v8.5A] Add Armv8.5-A target
This patch allows targeting Armv8.5-A, adding the architecture to tablegen and setting the options to be identical to Armv8.4-A for the time being. Subsequent patches will add support for the different features included in the Armv8.5-A Reference Manual. Patch by Pablo Barrio! Differential revision: https://reviews.llvm.org/D52470 llvm-svn: 343102
Diffstat (limited to 'llvm/lib/Support/TargetParser.cpp')
-rw-r--r--llvm/lib/Support/TargetParser.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Support/TargetParser.cpp b/llvm/lib/Support/TargetParser.cpp
index 2f154a55e05..f2fdc23ad85 100644
--- a/llvm/lib/Support/TargetParser.cpp
+++ b/llvm/lib/Support/TargetParser.cpp
@@ -502,6 +502,8 @@ bool llvm::AArch64::getArchFeatures(AArch64::ArchKind AK,
Features.push_back("+v8.3a");
if (AK == AArch64::ArchKind::ARMV8_4A)
Features.push_back("+v8.4a");
+ if (AK == AArch64::ArchKind::ARMV8_5A)
+ Features.push_back("+v8.5a");
return AK != AArch64::ArchKind::INVALID;
}
@@ -608,6 +610,7 @@ static StringRef getArchSynonym(StringRef Arch) {
.Case("v8.2a", "v8.2-a")
.Case("v8.3a", "v8.3-a")
.Case("v8.4a", "v8.4-a")
+ .Case("v8.5a", "v8.5-a")
.Case("v8r", "v8-r")
.Case("v8m.base", "v8-m.base")
.Case("v8m.main", "v8-m.main")
@@ -776,6 +779,7 @@ ARM::ProfileKind ARM::parseArchProfile(StringRef Arch) {
case ARM::ArchKind::ARMV8_2A:
case ARM::ArchKind::ARMV8_3A:
case ARM::ArchKind::ARMV8_4A:
+ case ARM::ArchKind::ARMV8_5A:
return ARM::ProfileKind::A;
case ARM::ArchKind::ARMV2:
case ARM::ArchKind::ARMV2A:
@@ -839,6 +843,7 @@ unsigned llvm::ARM::parseArchVersion(StringRef Arch) {
case ARM::ArchKind::ARMV8_2A:
case ARM::ArchKind::ARMV8_3A:
case ARM::ArchKind::ARMV8_4A:
+ case ARM::ArchKind::ARMV8_5A:
case ARM::ArchKind::ARMV8R:
case ARM::ArchKind::ARMV8MBaseline:
case ARM::ArchKind::ARMV8MMainline:
OpenPOWER on IntegriCloud