11; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
22; RUN: opt -S -mtriple=aarch64-linux-gnu -passes=atomic-expand %s | FileCheck %s
33
4- define float @test_atomicrmw_fadd_f32 (ptr %ptr , float %value ) {
4+ define float @test_atomicrmw_fadd_f32 (ptr %ptr , float %value ) !prof !0 {
55; CHECK-LABEL: @test_atomicrmw_fadd_f32(
6+ ; CHECK: !prof [[PROF_0:![0-9]+]]
67; CHECK-NEXT: [[TMP1:%.*]] = load float, ptr [[PTR:%.*]], align 4
78; CHECK-NEXT: br label [[ATOMICRMW_START:%.*]]
89; CHECK: atomicrmw.start:
@@ -14,7 +15,7 @@ define float @test_atomicrmw_fadd_f32(ptr %ptr, float %value) {
1415; CHECK-NEXT: [[SUCCESS:%.*]] = extractvalue { i32, i1 } [[TMP4]], 1
1516; CHECK-NEXT: [[NEWLOADED:%.*]] = extractvalue { i32, i1 } [[TMP4]], 0
1617; CHECK-NEXT: [[TMP5]] = bitcast i32 [[NEWLOADED]] to float
17- ; CHECK-NEXT: br i1 [[SUCCESS]], label [[ATOMICRMW_END:%.*]], label [[ATOMICRMW_START]]
18+ ; CHECK-NEXT: br i1 [[SUCCESS]], label [[ATOMICRMW_END:%.*]], label [[ATOMICRMW_START]], !prof [[PROF_1:[0-9]+]]
1819; CHECK: atomicrmw.end:
1920; CHECK-NEXT: ret float [[TMP5]]
2021;
@@ -336,3 +337,7 @@ define <2 x half> @atomicrmw_fminimum_2_x_half(ptr %ptr, <2 x half> %val) {
336337 %res = atomicrmw fminimum ptr %ptr , <2 x half > %val seq_cst
337338 ret <2 x half > %res
338339}
340+
341+ !0 = !{!"function_entry_count" , i64 1000 }
342+ ; CHECK: [[PROF_0]] = !{!"function_entry_count", i64 1000}
343+ ; CHECK: [[PROF_1]] = !{!"unknown", !"atomic-expand"}
0 commit comments