1 ; RUN: llc -march=hexagon -O3 < %s | FileCheck %s
4 ; CHECK: loop0(.LBB{{[0-9]+}}_{{[0-9]+}},#3)
6 define void @f0(i8* nocapture %a0, i32 %a1, i32 %a2) #0 {
13 b2: ; preds = %b2, %b1
14 %v0 = phi i32 [ 0, %b1 ], [ %v1, %b2 ]
15 %v1 = add nsw i32 %v0, 1
16 %v2 = icmp slt i32 %v1, 3
17 br i1 %v2, label %b2, label %b3
24 ; CHECK: loop0(.LBB{{[0-9]+}}_{{[0-9]+}},#2)
26 define void @f1(i8* nocapture %a0, i32 %a1, i32 %a2) #0 {
33 b2: ; preds = %b2, %b1
34 %v0 = phi i32 [ 0, %b1 ], [ %v1, %b2 ]
35 %v1 = add nsw i32 %v0, 2
36 %v2 = icmp slt i32 %v1, 3
37 br i1 %v2, label %b2, label %b3
44 ; CHECK: loop0(.LBB{{[0-9]+}}_{{[0-9]+}},#1)
46 define void @f2(i8* nocapture %a0, i32 %a1, i32 %a2) #0 {
53 b2: ; preds = %b2, %b1
54 %v0 = phi i32 [ 0, %b1 ], [ %v1, %b2 ]
55 %v1 = add nsw i32 %v0, 3
56 %v2 = icmp slt i32 %v1, 3
57 br i1 %v2, label %b2, label %b3
64 ; CHECK: loop0(.LBB{{[0-9]+}}_{{[0-9]+}},#4)
66 define void @f3(i8* nocapture %a0, i32 %a1, i32 %a2) #0 {
73 b2: ; preds = %b2, %b1
74 %v0 = phi i32 [ 0, %b1 ], [ %v1, %b2 ]
75 %v1 = add nsw i32 %v0, 1
76 %v2 = icmp sle i32 %v1, 3
77 br i1 %v2, label %b2, label %b3
84 ; CHECK: loop0(.LBB{{[0-9]+}}_{{[0-9]+}},#2)
86 define void @f4(i8* nocapture %a0, i32 %a1, i32 %a2) #0 {
93 b2: ; preds = %b2, %b1
94 %v0 = phi i32 [ 0, %b1 ], [ %v1, %b2 ]
95 %v1 = add nsw i32 %v0, 2
96 %v2 = icmp sle i32 %v1, 3
97 br i1 %v2, label %b2, label %b3
104 ; CHECK: loop0(.LBB{{[0-9]+}}_{{[0-9]+}},#2)
106 define void @f5(i8* nocapture %a0, i32 %a1, i32 %a2) #0 {
113 b2: ; preds = %b2, %b1
114 %v0 = phi i32 [ 0, %b1 ], [ %v1, %b2 ]
115 %v1 = add nsw i32 %v0, 3
116 %v2 = icmp sle i32 %v1, 3
117 br i1 %v2, label %b2, label %b3
123 attributes #0 = { nounwind }