Rollup merge of #90537 - adamgemmell:dev/aarch64-target-feature, r=Amanieu
Update aarch64 `target_feature` list for LLVM 12. Many of these feature are now available on all valid LLVM versions. I've also added a few new ones to the list. r? `@Amanieu`
This commit is contained in:
commit
a5802d0731
@ -180,6 +180,7 @@ pub fn to_llvm_feature<'a>(sess: &Session, s: &'a str) -> Vec<&'a str> {
|
||||
("aarch64", "dpb2") => vec!["ccdp"],
|
||||
("aarch64", "frintts") => vec!["fptoint"],
|
||||
("aarch64", "fcma") => vec!["complxnum"],
|
||||
("aarch64", "pmuv3") => vec!["perfmon"],
|
||||
(_, s) => vec![s],
|
||||
}
|
||||
}
|
||||
|
@ -36,7 +36,6 @@
|
||||
("thumb-mode", Some(sym::arm_target_feature)),
|
||||
];
|
||||
|
||||
// Commented features are not available in LLVM 10.0, or have since been renamed
|
||||
const AARCH64_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[
|
||||
// FEAT_AdvSimd
|
||||
("neon", Some(sym::aarch64_target_feature)),
|
||||
@ -67,13 +66,13 @@
|
||||
// FEAT_DIT
|
||||
("dit", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_FLAGM
|
||||
// ("flagm", Some(sym::aarch64_target_feature)),
|
||||
("flagm", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_SSBS
|
||||
("ssbs", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_SB
|
||||
("sb", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_PAUTH
|
||||
// ("pauth", Some(sym::aarch64_target_feature)),
|
||||
("pauth", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_DPB
|
||||
("dpb", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_DPB2
|
||||
@ -93,11 +92,11 @@
|
||||
// FEAT_I8MM
|
||||
("i8mm", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_F32MM
|
||||
// ("f32mm", Some(sym::aarch64_target_feature)),
|
||||
("f32mm", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_F64MM
|
||||
// ("f64mm", Some(sym::aarch64_target_feature)),
|
||||
("f64mm", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_BF16
|
||||
// ("bf16", Some(sym::aarch64_target_feature)),
|
||||
("bf16", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_RAND
|
||||
("rand", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_BTI
|
||||
@ -116,13 +115,23 @@
|
||||
("sha3", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_SM3 & FEAT_SM4
|
||||
("sm4", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_PAN
|
||||
("pan", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_LOR
|
||||
("lor", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_VHE
|
||||
("vh", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_PMUv3
|
||||
("pmuv3", Some(sym::aarch64_target_feature)),
|
||||
// FEAT_SPE
|
||||
("spe", Some(sym::aarch64_target_feature)),
|
||||
("v8.1a", Some(sym::aarch64_target_feature)),
|
||||
("v8.2a", Some(sym::aarch64_target_feature)),
|
||||
("v8.3a", Some(sym::aarch64_target_feature)),
|
||||
("v8.4a", Some(sym::aarch64_target_feature)),
|
||||
("v8.5a", Some(sym::aarch64_target_feature)),
|
||||
// ("v8.6a", Some(sym::aarch64_target_feature)),
|
||||
// ("v8.7a", Some(sym::aarch64_target_feature)),
|
||||
("v8.6a", Some(sym::aarch64_target_feature)),
|
||||
("v8.7a", Some(sym::aarch64_target_feature)),
|
||||
];
|
||||
|
||||
const X86_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[
|
||||
|
Loading…
Reference in New Issue
Block a user