about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorKajetan Puchalski <kajetan.puchalski@arm.com>2024-06-14 18:05:09 +0100
committerKajetan Puchalski <kajetan.puchalski@arm.com>2024-08-27 11:11:47 +0100
commit4f847bd326e376de491b3e2a589392e66d61a2ed (patch)
tree1030d824275d52aeb7ca8ec42852b022480c6333 /compiler/rustc_codegen_llvm/src
parentae9f5019f9ce6eb3ecd96206ade4a612efe20fd5 (diff)
downloadrust-4f847bd326e376de491b3e2a589392e66d61a2ed.tar.gz
rust-4f847bd326e376de491b3e2a589392e66d61a2ed.zip
rustc_target: Add various aarch64 features
Add various aarch64 features already supported by LLVM and Linux.

The features are marked as unstable using a newly added symbol, i.e.
aarch64_unstable_target_feature.

Additionally include some comment fixes to ensure consistency of
feature names with the Arm ARM and support for architecture version
target features up to v9.5a.

This commit adds compiler support for the following features:

- FEAT_CSSC
- FEAT_ECV
- FEAT_FAMINMAX
- FEAT_FLAGM2
- FEAT_FP8
- FEAT_FP8DOT2
- FEAT_FP8DOT4
- FEAT_FP8FMA
- FEAT_FPMR
- FEAT_HBC
- FEAT_LSE128
- FEAT_LSE2
- FEAT_LUT
- FEAT_MOPS
- FEAT_LRCPC3
- FEAT_SVE_B16B16
- FEAT_SVE2p1
- FEAT_WFxT
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
-rw-r--r--compiler/rustc_codegen_llvm/src/llvm_util.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_llvm/src/llvm_util.rs b/compiler/rustc_codegen_llvm/src/llvm_util.rs
index 7af5eb9278f..a0ef6483ed6 100644
--- a/compiler/rustc_codegen_llvm/src/llvm_util.rs
+++ b/compiler/rustc_codegen_llvm/src/llvm_util.rs
@@ -234,6 +234,8 @@ pub(crate) fn to_llvm_features<'a>(sess: &Session, s: &'a str) -> LLVMFeature<'a
         ("aarch64", "pmuv3") => LLVMFeature::new("perfmon"),
         ("aarch64", "paca") => LLVMFeature::new("pauth"),
         ("aarch64", "pacg") => LLVMFeature::new("pauth"),
+        ("aarch64", "sve-b16b16") => LLVMFeature::new("b16b16"),
+        ("aarch64", "flagm2") => LLVMFeature::new("altnzcv"),
         // Rust ties fp and neon together.
         ("aarch64", "neon") => {
             LLVMFeature::with_dependency("neon", TargetFeatureFoldStrength::Both("fp-armv8"))