diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Support/AArch64TargetParser.cpp')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/Support/AArch64TargetParser.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/Support/AArch64TargetParser.cpp b/contrib/llvm-project/llvm/lib/Support/AArch64TargetParser.cpp index 2993892097e7..b3136a91e7f5 100644 --- a/contrib/llvm-project/llvm/lib/Support/AArch64TargetParser.cpp +++ b/contrib/llvm-project/llvm/lib/Support/AArch64TargetParser.cpp @@ -98,6 +98,8 @@ bool AArch64::getExtensionFeatures(uint64_t Extensions, Features.push_back("+sve2-sha3"); if (Extensions & AEK_SVE2BITPERM) Features.push_back("+sve2-bitperm"); + if (Extensions & AArch64::AEK_TME) + Features.push_back("+tme"); if (Extensions & AEK_RCPC) Features.push_back("+rcpc"); if (Extensions & AEK_BRBE) @@ -118,6 +120,8 @@ bool AArch64::getExtensionFeatures(uint64_t Extensions, bool AArch64::getArchFeatures(AArch64::ArchKind AK, std::vector<StringRef> &Features) { + if (AK == ArchKind::ARMV8A) + Features.push_back("+v8a"); if (AK == ArchKind::ARMV8_1A) Features.push_back("+v8.1a"); if (AK == ArchKind::ARMV8_2A) @@ -132,6 +136,12 @@ bool AArch64::getArchFeatures(AArch64::ArchKind AK, Features.push_back("+v8.6a"); if (AK == AArch64::ArchKind::ARMV8_7A) Features.push_back("+v8.7a"); + if (AK == AArch64::ArchKind::ARMV9A) + Features.push_back("+v9a"); + if (AK == AArch64::ArchKind::ARMV9_1A) + Features.push_back("+v9.1a"); + if (AK == AArch64::ArchKind::ARMV9_2A) + Features.push_back("+v9.2a"); if(AK == AArch64::ArchKind::ARMV8R) Features.push_back("+v8r"); |
