@@ -94,16 +94,16 @@ int hoo(void) {
94
94
// CHECK: @fmv_one.ifunc = weak_odr alias i32 (), ptr @fmv_one
95
95
// CHECK: @fmv_two.ifunc = weak_odr alias i32 (), ptr @fmv_two
96
96
// CHECK: @fmv_e.ifunc = weak_odr alias i32 (), ptr @fmv_e
97
+ // CHECK: @fmv_c.ifunc = weak_odr alias void (), ptr @fmv_c
97
98
// CHECK: @fmv_inline.ifunc = weak_odr alias i32 (), ptr @fmv_inline
98
99
// CHECK: @fmv_d.ifunc = internal alias i32 (), ptr @fmv_d
99
- // CHECK: @fmv_c.ifunc = weak_odr alias void (), ptr @fmv_c
100
100
// CHECK: @fmv = weak_odr ifunc i32 (), ptr @fmv.resolver
101
101
// CHECK: @fmv_one = weak_odr ifunc i32 (), ptr @fmv_one.resolver
102
102
// CHECK: @fmv_two = weak_odr ifunc i32 (), ptr @fmv_two.resolver
103
103
// CHECK: @fmv_e = weak_odr ifunc i32 (), ptr @fmv_e.resolver
104
+ // CHECK: @fmv_c = weak_odr ifunc void (), ptr @fmv_c.resolver
104
105
// CHECK: @fmv_inline = weak_odr ifunc i32 (), ptr @fmv_inline.resolver
105
106
// CHECK: @fmv_d = internal ifunc i32 (), ptr @fmv_d.resolver
106
- // CHECK: @fmv_c = weak_odr ifunc void (), ptr @fmv_c.resolver
107
107
//.
108
108
// CHECK: Function Attrs: noinline nounwind optnone
109
109
// CHECK-LABEL: define {{[^@]+}}@fmv._MflagmMfp16fmlMrng
@@ -238,11 +238,18 @@ int hoo(void) {
238
238
// CHECK-NEXT: ret i32 111
239
239
//
240
240
//
241
- // CHECK: Function Attrs: noinline nounwind optnone
242
- // CHECK-LABEL: define {{[^@]+}}@fmv_c._Mssbs
243
- // CHECK-SAME: () #[[ATTR2]] {
244
- // CHECK-NEXT: entry:
245
- // CHECK-NEXT: ret void
241
+ // CHECK-LABEL: define {{[^@]+}}@fmv_c.resolver() comdat {
242
+ // CHECK-NEXT: resolver_entry:
243
+ // CHECK-NEXT: call void @__init_cpu_features_resolver()
244
+ // CHECK-NEXT: [[TMP0:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
245
+ // CHECK-NEXT: [[TMP1:%.*]] = and i64 [[TMP0]], 281474976710656
246
+ // CHECK-NEXT: [[TMP2:%.*]] = icmp eq i64 [[TMP1]], 281474976710656
247
+ // CHECK-NEXT: [[TMP3:%.*]] = and i1 true, [[TMP2]]
248
+ // CHECK-NEXT: br i1 [[TMP3]], label [[RESOLVER_RETURN:%.*]], label [[RESOLVER_ELSE:%.*]]
249
+ // CHECK: resolver_return:
250
+ // CHECK-NEXT: ret ptr @fmv_c._Mssbs
251
+ // CHECK: resolver_else:
252
+ // CHECK-NEXT: ret ptr @fmv_c.default
246
253
//
247
254
//
248
255
// CHECK: Function Attrs: noinline nounwind optnone
@@ -405,20 +412,6 @@ int hoo(void) {
405
412
// CHECK-NEXT: ret ptr @fmv_d.default
406
413
//
407
414
//
408
- // CHECK-LABEL: define {{[^@]+}}@fmv_c.resolver() comdat {
409
- // CHECK-NEXT: resolver_entry:
410
- // CHECK-NEXT: call void @__init_cpu_features_resolver()
411
- // CHECK-NEXT: [[TMP0:%.*]] = load i64, ptr @__aarch64_cpu_features, align 8
412
- // CHECK-NEXT: [[TMP1:%.*]] = and i64 [[TMP0]], 281474976710656
413
- // CHECK-NEXT: [[TMP2:%.*]] = icmp eq i64 [[TMP1]], 281474976710656
414
- // CHECK-NEXT: [[TMP3:%.*]] = and i1 true, [[TMP2]]
415
- // CHECK-NEXT: br i1 [[TMP3]], label [[RESOLVER_RETURN:%.*]], label [[RESOLVER_ELSE:%.*]]
416
- // CHECK: resolver_return:
417
- // CHECK-NEXT: ret ptr @fmv_c._Mssbs
418
- // CHECK: resolver_else:
419
- // CHECK-NEXT: ret ptr @fmv_c.default
420
- //
421
- //
422
415
// CHECK: Function Attrs: noinline nounwind optnone
423
416
// CHECK-LABEL: define {{[^@]+}}@recur
424
417
// CHECK-SAME: () #[[ATTR2]] {
@@ -568,6 +561,20 @@ int hoo(void) {
568
561
//
569
562
//
570
563
// CHECK: Function Attrs: noinline nounwind optnone
564
+ // CHECK-LABEL: define {{[^@]+}}@fmv_c.default
565
+ // CHECK-SAME: () #[[ATTR2]] {
566
+ // CHECK-NEXT: entry:
567
+ // CHECK-NEXT: ret void
568
+ //
569
+ //
570
+ // CHECK: Function Attrs: noinline nounwind optnone
571
+ // CHECK-LABEL: define {{[^@]+}}@fmv_c._Mssbs
572
+ // CHECK-SAME: () #[[ATTR2]] {
573
+ // CHECK-NEXT: entry:
574
+ // CHECK-NEXT: ret void
575
+ //
576
+ //
577
+ // CHECK: Function Attrs: noinline nounwind optnone
571
578
// CHECK-LABEL: define {{[^@]+}}@fmv_inline._Mf64mmMpmullMsha1
572
579
// CHECK-SAME: () #[[ATTR12:[0-9]+]] {
573
580
// CHECK-NEXT: entry:
@@ -700,13 +707,6 @@ int hoo(void) {
700
707
// CHECK-NEXT: ret i32 1
701
708
//
702
709
//
703
- // CHECK: Function Attrs: noinline nounwind optnone
704
- // CHECK-LABEL: define {{[^@]+}}@fmv_c.default
705
- // CHECK-SAME: () #[[ATTR2]] {
706
- // CHECK-NEXT: entry:
707
- // CHECK-NEXT: ret void
708
- //
709
- //
710
710
// CHECK-NOFMV: Function Attrs: noinline nounwind optnone
711
711
// CHECK-NOFMV-LABEL: define {{[^@]+}}@fmv
712
712
// CHECK-NOFMV-SAME: () #[[ATTR0:[0-9]+]] {
0 commit comments