@@ -239,40 +239,8 @@ pub fn to_llvm_features<'a>(sess: &Session, s: &'a str) -> LLVMFeature<'a> {
239
239
}
240
240
// In LLVM neon implicitly enables fp, but we manually enable
241
241
// 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" ) ,
276
244
// In LLVM 18, `unaligned-scalar-mem` was merged with `unaligned-vector-mem` into a single feature called
277
245
// `fast-unaligned-access`. In LLVM 19, it was split back out.
278
246
( "riscv32" | "riscv64" , "unaligned-scalar-mem" ) if get_version ( ) . 0 == 18 => {
0 commit comments