diff options
| author | Cullen Rhodes <cullen.rhodes@arm.com> | 2019-05-13 10:10:24 +0000 |
|---|---|---|
| committer | Cullen Rhodes <cullen.rhodes@arm.com> | 2019-05-13 10:10:24 +0000 |
| commit | 6dcef8fc0c671002c017374b48b09be08bf516f1 (patch) | |
| tree | 9eaeb4ac5fac258e5c9c9364fc315090047aa454 /llvm/lib/Support | |
| parent | 3c72fe1bad4a5a461e7f92fb0d90fb5876cbab81 (diff) | |
| download | bcm5719-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.cpp | 10 |
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"); |

