mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-18 21:24:32 -04:00
[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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@343102 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user