@@ -18,7 +18,7 @@ define void @basic(ptr %p, i32 %k) #0 {
18
18
; CHECK: for.body.peel2:
19
19
; CHECK-NEXT: [[INCDEC_PTR_PEEL:%.*]] = getelementptr inbounds i8, ptr [[P]], i64 4
20
20
; CHECK-NEXT: store i32 1, ptr [[INCDEC_PTR_PEEL]], align 4
21
- ; CHECK-NEXT: [[CMP_PEEL5:%.*]] = icmp sgt i32 [[K]], 2
21
+ ; CHECK-NEXT: [[CMP_PEEL5:%.*]] = icmp samesign ugt i32 [[K]], 2
22
22
; CHECK-NEXT: br i1 [[CMP_PEEL5]], label [[FOR_BODY_PEEL7:%.*]], label [[FOR_END]]
23
23
; CHECK: for.body.peel7:
24
24
; CHECK-NEXT: [[INCDEC_PTR_PEEL3:%.*]] = getelementptr inbounds i8, ptr [[P]], i64 8
@@ -32,7 +32,7 @@ define void @basic(ptr %p, i32 %k) #0 {
32
32
; CHECK-NEXT: [[INCDEC_PTR]] = getelementptr inbounds i8, ptr [[P_ADDR_04]], i64 4
33
33
; CHECK-NEXT: store i32 [[I_05]], ptr [[P_ADDR_04]], align 4
34
34
; CHECK-NEXT: [[INC]] = add nuw nsw i32 [[I_05]], 1
35
- ; CHECK-NEXT: [[CMP:%.*]] = icmp slt i32 [[INC]], [[K]]
35
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp samesign ult i32 [[INC]], [[K]]
36
36
; CHECK-NEXT: br i1 [[CMP]], label [[FOR_BODY]], label [[FOR_END]], !llvm.loop [[LOOP0:![0-9]+]]
37
37
; CHECK: for.end:
38
38
; CHECK-NEXT: ret void
@@ -78,7 +78,7 @@ define i32 @output(ptr %p, i32 %k) #0 {
78
78
; CHECK: for.body.peel2:
79
79
; CHECK-NEXT: [[INCDEC_PTR_PEEL:%.*]] = getelementptr inbounds i8, ptr [[P]], i64 4
80
80
; CHECK-NEXT: store i32 1, ptr [[INCDEC_PTR_PEEL]], align 4
81
- ; CHECK-NEXT: [[CMP_PEEL5:%.*]] = icmp sgt i32 [[K]], 2
81
+ ; CHECK-NEXT: [[CMP_PEEL5:%.*]] = icmp samesign ugt i32 [[K]], 2
82
82
; CHECK-NEXT: br i1 [[CMP_PEEL5]], label [[FOR_BODY_PEEL7:%.*]], label [[FOR_END]]
83
83
; CHECK: for.body.peel7:
84
84
; CHECK-NEXT: [[INCDEC_PTR_PEEL3:%.*]] = getelementptr inbounds i8, ptr [[P]], i64 8
@@ -92,7 +92,7 @@ define i32 @output(ptr %p, i32 %k) #0 {
92
92
; CHECK-NEXT: [[INCDEC_PTR]] = getelementptr inbounds i8, ptr [[P_ADDR_04]], i64 4
93
93
; CHECK-NEXT: store i32 [[I_05]], ptr [[P_ADDR_04]], align 4
94
94
; CHECK-NEXT: [[INC]] = add nuw nsw i32 [[I_05]], 1
95
- ; CHECK-NEXT: [[CMP:%.*]] = icmp slt i32 [[INC]], [[K]]
95
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp samesign ult i32 [[INC]], [[K]]
96
96
; CHECK-NEXT: br i1 [[CMP]], label [[FOR_BODY]], label [[FOR_END]], !llvm.loop [[LOOP3:![0-9]+]]
97
97
; CHECK: for.end:
98
98
; CHECK-NEXT: [[RET:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ 1, [[FOR_BODY_PEEL]] ], [ 2, [[FOR_BODY_PEEL2]] ], [ 3, [[FOR_BODY_PEEL7]] ], [ [[INC]], [[FOR_BODY]] ]
0 commit comments