@@ -35,7 +35,7 @@ inline int __attribute__((target_version("sve+sve-bf16"))) fmv_inline(void) { re
35
35
inline int __attribute__((target_version ("sve2-aes+sve2-sha3" ))) fmv_inline (void ) { return 5 ; }
36
36
inline int __attribute__((target_version ("sve2+sve2-pmull128+sve2-bitperm" ))) fmv_inline (void ) { return 9 ; }
37
37
inline int __attribute__((target_version ("sve2-sm4+memtag2" ))) fmv_inline (void ) { return 10 ; }
38
- inline int __attribute__((target_version ("memtag3+rcpc3" ))) fmv_inline (void ) { return 11 ; }
38
+ inline int __attribute__((target_version ("memtag3+rcpc3+mops " ))) fmv_inline (void ) { return 11 ; }
39
39
inline int __attribute__((target_version ("default" ))) fmv_inline (void ) { return 3 ; }
40
40
41
41
__attribute__((target_version ("ls64" ))) int fmv_e (void );
@@ -265,36 +265,36 @@ int hoo(void) {
265
265
// CHECK-NEXT: ret ptr @fmv_inline._Mfp16Mfp16MfcmaMsme
266
266
// CHECK: resolver_else:
267
267
// CHECK-NEXT: [[TMP4:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
268
- // CHECK-NEXT: [[TMP5:%.*]] = and i64 [[TMP4]], 893353197568
269
- // CHECK-NEXT: [[TMP6:%.*]] = icmp eq i64 [[TMP5]], 893353197568
268
+ // CHECK-NEXT: [[TMP5:%.*]] = and i64 [[TMP4]], 864726312827224064
269
+ // CHECK-NEXT: [[TMP6:%.*]] = icmp eq i64 [[TMP5]], 864726312827224064
270
270
// CHECK-NEXT: [[TMP7:%.*]] = and i1 true, [[TMP6]]
271
271
// CHECK-NEXT: br i1 [[TMP7]], label [[RESOLVER_RETURN1:%.*]], label [[RESOLVER_ELSE2:%.*]]
272
272
// CHECK: resolver_return1:
273
- // CHECK-NEXT: ret ptr @fmv_inline._Msve2Msve2-pmull128Msve2-bitperm
273
+ // CHECK-NEXT: ret ptr @fmv_inline._Mrcpc3Mmemtag3Mmops
274
274
// CHECK: resolver_else2:
275
275
// CHECK-NEXT: [[TMP8:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
276
- // CHECK-NEXT: [[TMP9:%.*]] = and i64 [[TMP8]], 34359773184
277
- // CHECK-NEXT: [[TMP10:%.*]] = icmp eq i64 [[TMP9]], 34359773184
276
+ // CHECK-NEXT: [[TMP9:%.*]] = and i64 [[TMP8]], 893353197568
277
+ // CHECK-NEXT: [[TMP10:%.*]] = icmp eq i64 [[TMP9]], 893353197568
278
278
// CHECK-NEXT: [[TMP11:%.*]] = and i1 true, [[TMP10]]
279
279
// CHECK-NEXT: br i1 [[TMP11]], label [[RESOLVER_RETURN3:%.*]], label [[RESOLVER_ELSE4:%.*]]
280
280
// CHECK: resolver_return3:
281
- // CHECK-NEXT: ret ptr @fmv_inline._Msha1MpmullMf64mm
281
+ // CHECK-NEXT: ret ptr @fmv_inline._Msve2Msve2-pmull128Msve2-bitperm
282
282
// CHECK: resolver_else4:
283
283
// CHECK-NEXT: [[TMP12:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
284
- // CHECK-NEXT: [[TMP13:%.*]] = and i64 [[TMP12]], 17246986240
285
- // CHECK-NEXT: [[TMP14:%.*]] = icmp eq i64 [[TMP13]], 17246986240
284
+ // CHECK-NEXT: [[TMP13:%.*]] = and i64 [[TMP12]], 34359773184
285
+ // CHECK-NEXT: [[TMP14:%.*]] = icmp eq i64 [[TMP13]], 34359773184
286
286
// CHECK-NEXT: [[TMP15:%.*]] = and i1 true, [[TMP14]]
287
287
// CHECK-NEXT: br i1 [[TMP15]], label [[RESOLVER_RETURN5:%.*]], label [[RESOLVER_ELSE6:%.*]]
288
288
// CHECK: resolver_return5:
289
- // CHECK-NEXT: ret ptr @fmv_inline._Msha3Mi8mmMf32mm
289
+ // CHECK-NEXT: ret ptr @fmv_inline._Msha1MpmullMf64mm
290
290
// CHECK: resolver_else6:
291
291
// CHECK-NEXT: [[TMP16:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
292
- // CHECK-NEXT: [[TMP17:%.*]] = and i64 [[TMP16]], 288265560523800576
293
- // CHECK-NEXT: [[TMP18:%.*]] = icmp eq i64 [[TMP17]], 288265560523800576
292
+ // CHECK-NEXT: [[TMP17:%.*]] = and i64 [[TMP16]], 17246986240
293
+ // CHECK-NEXT: [[TMP18:%.*]] = icmp eq i64 [[TMP17]], 17246986240
294
294
// CHECK-NEXT: [[TMP19:%.*]] = and i1 true, [[TMP18]]
295
295
// CHECK-NEXT: br i1 [[TMP19]], label [[RESOLVER_RETURN7:%.*]], label [[RESOLVER_ELSE8:%.*]]
296
296
// CHECK: resolver_return7:
297
- // CHECK-NEXT: ret ptr @fmv_inline._Mrcpc3Mmemtag3
297
+ // CHECK-NEXT: ret ptr @fmv_inline._Msha3Mi8mmMf32mm
298
298
// CHECK: resolver_else8:
299
299
// CHECK-NEXT: [[TMP20:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
300
300
// CHECK-NEXT: [[TMP21:%.*]] = and i64 [[TMP20]], 19791209299968
@@ -437,7 +437,7 @@ int hoo(void) {
437
437
// CHECK-LABEL: @fmv_inline._Msve2-sm4Mmemtag2(
438
438
// CHECK-NEXT: entry:
439
439
// CHECK-NEXT: ret i32 10
440
- // CHECK-LABEL: @fmv_inline._Mrcpc3Mmemtag3 (
440
+ // CHECK-LABEL: @fmv_inline._Mrcpc3Mmemtag3Mmops (
441
441
// CHECK-NEXT: entry:
442
442
// CHECK-NEXT: ret i32 11
443
443
// CHECK-LABEL: @fmv_inline(
@@ -534,7 +534,7 @@ int hoo(void) {
534
534
// CHECK: attributes #20 = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fp-armv8,+fullfp16,+ls64,+neon,+sve,+sve2,+sve2-aes,+sve2-sha3" }
535
535
// CHECK: attributes #21 = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fp-armv8,+fullfp16,+ls64,+neon,+sve,+sve2,+sve2-aes,+sve2-bitperm" }
536
536
// CHECK: attributes #22 = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fp-armv8,+fullfp16,+ls64,+mte,+neon,+sve,+sve2,+sve2-sm4" }
537
- // CHECK: attributes #23 = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fullfp16,+ls64,+mte,+rcpc,+rcpc3" }
537
+ // CHECK: attributes #23 = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fullfp16,+ls64,+mops,+ mte,+rcpc,+rcpc3" }
538
538
// CHECK: attributes #24 = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fullfp16,+ls64,+sb" }
539
539
540
540
// CHECK-NOFMV: attributes #0 = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="-fmv" }
0 commit comments