@@ -239,40 +239,8 @@ pub fn to_llvm_features<'a>(sess: &Session, s: &'a str) -> LLVMFeature<'a> {
239239 }
240240 // In LLVM neon implicitly enables fp, but we manually enable
241241 // neon when a feature only implicitly enables fp
242- ( "aarch64" , "f32mm" ) => {
243- LLVMFeature :: with_dependency ( "f32mm" , TargetFeatureFoldStrength :: EnableOnly ( "neon" ) )
244- }
245- ( "aarch64" , "f64mm" ) => {
246- LLVMFeature :: with_dependency ( "f64mm" , TargetFeatureFoldStrength :: EnableOnly ( "neon" ) )
247- }
248- ( "aarch64" , "fhm" ) => {
249- LLVMFeature :: with_dependency ( "fp16fml" , TargetFeatureFoldStrength :: EnableOnly ( "neon" ) )
250- }
251- ( "aarch64" , "fp16" ) => {
252- LLVMFeature :: with_dependency ( "fullfp16" , TargetFeatureFoldStrength :: EnableOnly ( "neon" ) )
253- }
254- ( "aarch64" , "jsconv" ) => {
255- LLVMFeature :: with_dependency ( "jsconv" , TargetFeatureFoldStrength :: EnableOnly ( "neon" ) )
256- }
257- ( "aarch64" , "sve" ) => {
258- LLVMFeature :: with_dependency ( "sve" , TargetFeatureFoldStrength :: EnableOnly ( "neon" ) )
259- }
260- ( "aarch64" , "sve2" ) => {
261- LLVMFeature :: with_dependency ( "sve2" , TargetFeatureFoldStrength :: EnableOnly ( "neon" ) )
262- }
263- ( "aarch64" , "sve2-aes" ) => {
264- LLVMFeature :: with_dependency ( "sve2-aes" , TargetFeatureFoldStrength :: EnableOnly ( "neon" ) )
265- }
266- ( "aarch64" , "sve2-sm4" ) => {
267- LLVMFeature :: with_dependency ( "sve2-sm4" , TargetFeatureFoldStrength :: EnableOnly ( "neon" ) )
268- }
269- ( "aarch64" , "sve2-sha3" ) => {
270- LLVMFeature :: with_dependency ( "sve2-sha3" , TargetFeatureFoldStrength :: EnableOnly ( "neon" ) )
271- }
272- ( "aarch64" , "sve2-bitperm" ) => LLVMFeature :: with_dependency (
273- "sve2-bitperm" ,
274- TargetFeatureFoldStrength :: EnableOnly ( "neon" ) ,
275- ) ,
242+ ( "aarch64" , "fhm" ) => LLVMFeature :: new ( "fp16fml" ) ,
243+ ( "aarch64" , "fp16" ) => LLVMFeature :: new ( "fullfp16" ) ,
276244 // In LLVM 18, `unaligned-scalar-mem` was merged with `unaligned-vector-mem` into a single feature called
277245 // `fast-unaligned-access`. In LLVM 19, it was split back out.
278246 ( "riscv32" | "riscv64" , "unaligned-scalar-mem" ) if get_version ( ) . 0 == 18 => {
0 commit comments