summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support
diff options
context:
space:
mode:
authorCullen Rhodes <cullen.rhodes@arm.com>2019-05-13 10:10:24 +0000
committerCullen Rhodes <cullen.rhodes@arm.com>2019-05-13 10:10:24 +0000
commit6dcef8fc0c671002c017374b48b09be08bf516f1 (patch)
tree9eaeb4ac5fac258e5c9c9364fc315090047aa454 /llvm/lib/Support
parent3c72fe1bad4a5a461e7f92fb0d90fb5876cbab81 (diff)
downloadbcm5719-llvm-6dcef8fc0c671002c017374b48b09be08bf516f1.tar.gz
bcm5719-llvm-6dcef8fc0c671002c017374b48b09be08bf516f1.zip
[AArch64][SVE2] Add SVE2 target features to backend and TargetParser
Summary: This patch adds the following features defined by Arm SVE2 architecture extension: sve2, sve2-aes, sve2-sm4, sve2-sha3, bitperm For existing CPUs these features are declared as unsupported to prevent scheduler errors. The specification can be found here: https://developer.arm.com/docs/ddi0602/latest Reviewers: SjoerdMeijer, sdesmalen, ostannard, rovka Reviewed By: SjoerdMeijer, rovka Subscribers: rovka, javed.absar, tschuett, kristof.beyls, kristina, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61513 llvm-svn: 360573
Diffstat (limited to 'llvm/lib/Support')
-rw-r--r--llvm/lib/Support/AArch64TargetParser.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Support/AArch64TargetParser.cpp b/llvm/lib/Support/AArch64TargetParser.cpp
index faf8385c745..df4caa1f07f 100644
--- a/llvm/lib/Support/AArch64TargetParser.cpp
+++ b/llvm/lib/Support/AArch64TargetParser.cpp
@@ -88,6 +88,16 @@ bool AArch64::getExtensionFeatures(unsigned Extensions,
Features.push_back("+rdm");
if (Extensions & AEK_SVE)
Features.push_back("+sve");
+ if (Extensions & AEK_SVE2)
+ Features.push_back("+sve2");
+ if (Extensions & AEK_SVE2AES)
+ Features.push_back("+sve2-aes");
+ if (Extensions & AEK_SVE2SM4)
+ Features.push_back("+sve2-sm4");
+ if (Extensions & AEK_SVE2SHA3)
+ Features.push_back("+sve2-sha3");
+ if (Extensions & AEK_BITPERM)
+ Features.push_back("+bitperm");
if (Extensions & AEK_RCPC)
Features.push_back("+rcpc");
OpenPOWER on IntegriCloud