Update aarch64 target_feature list for LLVM 12.

This commit is contained in:
Adam Gemmell 2021-11-01 16:22:29 +00:00
parent 473eaa42e9
commit cdd98bbdfe
2 changed files with 18 additions and 8 deletions

View file

@ -180,6 +180,7 @@ pub fn to_llvm_feature<'a>(sess: &Session, s: &'a str) -> Vec<&'a str> {
("aarch64", "dpb2") => vec!["ccdp"], ("aarch64", "dpb2") => vec!["ccdp"],
("aarch64", "frintts") => vec!["fptoint"], ("aarch64", "frintts") => vec!["fptoint"],
("aarch64", "fcma") => vec!["complxnum"], ("aarch64", "fcma") => vec!["complxnum"],
("aarch64", "pmuv3") => vec!["perfmon"],
(_, s) => vec![s], (_, s) => vec![s],
} }
} }

View file

@ -36,7 +36,6 @@ const ARM_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[
("thumb-mode", Some(sym::arm_target_feature)), ("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>)] = &[ const AARCH64_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[
// FEAT_AdvSimd // FEAT_AdvSimd
("neon", Some(sym::aarch64_target_feature)), ("neon", Some(sym::aarch64_target_feature)),
@ -67,13 +66,13 @@ const AARCH64_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[
// FEAT_DIT // FEAT_DIT
("dit", Some(sym::aarch64_target_feature)), ("dit", Some(sym::aarch64_target_feature)),
// FEAT_FLAGM // FEAT_FLAGM
// ("flagm", Some(sym::aarch64_target_feature)), ("flagm", Some(sym::aarch64_target_feature)),
// FEAT_SSBS // FEAT_SSBS
("ssbs", Some(sym::aarch64_target_feature)), ("ssbs", Some(sym::aarch64_target_feature)),
// FEAT_SB // FEAT_SB
("sb", Some(sym::aarch64_target_feature)), ("sb", Some(sym::aarch64_target_feature)),
// FEAT_PAUTH // FEAT_PAUTH
// ("pauth", Some(sym::aarch64_target_feature)), ("pauth", Some(sym::aarch64_target_feature)),
// FEAT_DPB // FEAT_DPB
("dpb", Some(sym::aarch64_target_feature)), ("dpb", Some(sym::aarch64_target_feature)),
// FEAT_DPB2 // FEAT_DPB2
@ -93,11 +92,11 @@ const AARCH64_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[
// FEAT_I8MM // FEAT_I8MM
("i8mm", Some(sym::aarch64_target_feature)), ("i8mm", Some(sym::aarch64_target_feature)),
// FEAT_F32MM // FEAT_F32MM
// ("f32mm", Some(sym::aarch64_target_feature)), ("f32mm", Some(sym::aarch64_target_feature)),
// FEAT_F64MM // FEAT_F64MM
// ("f64mm", Some(sym::aarch64_target_feature)), ("f64mm", Some(sym::aarch64_target_feature)),
// FEAT_BF16 // FEAT_BF16
// ("bf16", Some(sym::aarch64_target_feature)), ("bf16", Some(sym::aarch64_target_feature)),
// FEAT_RAND // FEAT_RAND
("rand", Some(sym::aarch64_target_feature)), ("rand", Some(sym::aarch64_target_feature)),
// FEAT_BTI // FEAT_BTI
@ -116,13 +115,23 @@ const AARCH64_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[
("sha3", Some(sym::aarch64_target_feature)), ("sha3", Some(sym::aarch64_target_feature)),
// FEAT_SM3 & FEAT_SM4 // FEAT_SM3 & FEAT_SM4
("sm4", Some(sym::aarch64_target_feature)), ("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.1a", Some(sym::aarch64_target_feature)),
("v8.2a", Some(sym::aarch64_target_feature)), ("v8.2a", Some(sym::aarch64_target_feature)),
("v8.3a", Some(sym::aarch64_target_feature)), ("v8.3a", Some(sym::aarch64_target_feature)),
("v8.4a", Some(sym::aarch64_target_feature)), ("v8.4a", Some(sym::aarch64_target_feature)),
("v8.5a", Some(sym::aarch64_target_feature)), ("v8.5a", Some(sym::aarch64_target_feature)),
// ("v8.6a", Some(sym::aarch64_target_feature)), ("v8.6a", Some(sym::aarch64_target_feature)),
// ("v8.7a", Some(sym::aarch64_target_feature)), ("v8.7a", Some(sym::aarch64_target_feature)),
]; ];
const X86_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[ const X86_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[