Rollup merge of #148951 - maurer:remove-tme, r=folkertdev

rustc_target: aarch64: Remove deprecated FEAT_TME

fixes https://github.com/rust-lang/rust/issues/149308

ARM has withdrawn FEAT_TME

https://developer.arm.com/documentation/102105/lb-05/

LLVM has dropped support for generating it
llvm/llvm-project#167687

```@rustbot``` label llvm-main

r? ```@durin42```
This commit is contained in:
Stuart Cook 2025-11-26 23:32:06 +11:00 committed by GitHub
commit da2d7583b2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 2 additions and 4 deletions

View file

@ -243,6 +243,8 @@ pub(crate) fn to_llvm_features<'a>(sess: &Session, s: &'a str) -> Option<LLVMFea
"fp16" => Some(LLVMFeature::new("fullfp16")),
// Filter out features that are not supported by the current LLVM version
"fpmr" => None, // only existed in 18
// Withdrawn by ARM; removed from LLVM in 22
"tme" if major >= 22 => None,
s => Some(LLVMFeature::new(s)),
}
}

View file

@ -106,7 +106,6 @@ fn aarch64_linux() {
println!("sve2: {}", is_aarch64_feature_detected!("sve2"));
println!("sve2p1: {}", is_aarch64_feature_detected!("sve2p1"));
println!("sve: {}", is_aarch64_feature_detected!("sve"));
println!("tme: {}", is_aarch64_feature_detected!("tme"));
println!("wfxt: {}", is_aarch64_feature_detected!("wfxt"));
// tidy-alphabetical-end
}

View file

@ -84,7 +84,6 @@ pub(crate) fn parse_system_registers(
// ID_AA64ISAR0_EL1 - Instruction Set Attribute Register 0
enable_feature(Feature::pmull, bits_shift(aa64isar0, 7, 4) >= 2);
enable_feature(Feature::tme, bits_shift(aa64isar0, 27, 24) == 1);
enable_feature(Feature::lse, bits_shift(aa64isar0, 23, 20) >= 2);
enable_feature(Feature::crc, bits_shift(aa64isar0, 19, 16) >= 1);

View file

@ -85,7 +85,6 @@ fn aarch64_linux() {
println!("rcpc2: {}", is_aarch64_feature_detected!("rcpc2"));
println!("rcpc3: {}", is_aarch64_feature_detected!("rcpc3"));
println!("dotprod: {}", is_aarch64_feature_detected!("dotprod"));
println!("tme: {}", is_aarch64_feature_detected!("tme"));
println!("fhm: {}", is_aarch64_feature_detected!("fhm"));
println!("dit: {}", is_aarch64_feature_detected!("dit"));
println!("flagm: {}", is_aarch64_feature_detected!("flagm"));
@ -175,7 +174,6 @@ fn aarch64_bsd() {
println!("rdm: {:?}", is_aarch64_feature_detected!("rdm"));
println!("rcpc: {:?}", is_aarch64_feature_detected!("rcpc"));
println!("dotprod: {:?}", is_aarch64_feature_detected!("dotprod"));
println!("tme: {:?}", is_aarch64_feature_detected!("tme"));
println!("paca: {:?}", is_aarch64_feature_detected!("paca"));
println!("pacg: {:?}", is_aarch64_feature_detected!("pacg"));
println!("aes: {:?}", is_aarch64_feature_detected!("aes"));