diff options
Diffstat (limited to 'llvm/lib/Support/TargetParser.cpp')
-rw-r--r-- | llvm/lib/Support/TargetParser.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/lib/Support/TargetParser.cpp b/llvm/lib/Support/TargetParser.cpp index 35bb7e6b8d0..8edc26fb5e0 100644 --- a/llvm/lib/Support/TargetParser.cpp +++ b/llvm/lib/Support/TargetParser.cpp @@ -235,6 +235,16 @@ bool llvm::ARM::getExtensionFeatures(unsigned Extensions, else Features.push_back("-dsp"); + if (Extensions & ARM::AEK_RAS) + Features.push_back("+ras"); + else + Features.push_back("-ras"); + + if (Extensions & ARM::AEK_DOTPROD) + Features.push_back("+dotprod"); + else + Features.push_back("-dotprod"); + return getHWDivFeatures(Extensions, Features); } @@ -438,6 +448,8 @@ bool llvm::AArch64::getExtensionFeatures(unsigned Extensions, Features.push_back("+crc"); if (Extensions & AArch64::AEK_CRYPTO) Features.push_back("+crypto"); + if (Extensions & AArch64::AEK_DOTPROD) + Features.push_back("+dotprod"); if (Extensions & AArch64::AEK_FP16) Features.push_back("+fullfp16"); if (Extensions & AArch64::AEK_PROFILE) @@ -448,6 +460,8 @@ bool llvm::AArch64::getExtensionFeatures(unsigned Extensions, Features.push_back("+lse"); if (Extensions & AArch64::AEK_SVE) Features.push_back("+sve"); + if (Extensions & AArch64::AEK_RCPC) + Features.push_back("+rcpc"); return true; } |