@@ -8,9 +8,7 @@ define i1 @uadd_sat_uge(i64 %a, i64 %b) {
8
8
; CHECK-LABEL: define i1 @uadd_sat_uge(
9
9
; CHECK-SAME: i64 [[A:%.*]], i64 [[B:%.*]]) {
10
10
; CHECK-NEXT: [[ADD_SAT:%.*]] = call i64 @llvm.uadd.sat.i64(i64 [[A]], i64 [[B]])
11
- ; CHECK-NEXT: [[CMP1:%.*]] = icmp uge i64 [[ADD_SAT]], [[A]]
12
- ; CHECK-NEXT: [[CMP2:%.*]] = icmp uge i64 [[ADD_SAT]], [[B]]
13
- ; CHECK-NEXT: [[CMP:%.*]] = and i1 [[CMP1]], [[CMP2]]
11
+ ; CHECK-NEXT: [[CMP:%.*]] = and i1 true, true
14
12
; CHECK-NEXT: ret i1 [[CMP]]
15
13
;
16
14
%add.sat = call i64 @llvm.uadd.sat.i64 (i64 %a , i64 %b )
@@ -24,8 +22,7 @@ define i1 @usub_sat_ule_lhs(i64 %a, i64 %b) {
24
22
; CHECK-LABEL: define i1 @usub_sat_ule_lhs(
25
23
; CHECK-SAME: i64 [[A:%.*]], i64 [[B:%.*]]) {
26
24
; CHECK-NEXT: [[SUB_SAT:%.*]] = call i64 @llvm.usub.sat.i64(i64 [[A]], i64 [[B]])
27
- ; CHECK-NEXT: [[CMP:%.*]] = icmp ule i64 [[SUB_SAT]], [[A]]
28
- ; CHECK-NEXT: ret i1 [[CMP]]
25
+ ; CHECK-NEXT: ret i1 true
29
26
;
30
27
%sub.sat = call i64 @llvm.usub.sat.i64 (i64 %a , i64 %b )
31
28
%cmp = icmp ule i64 %sub.sat , %a
@@ -37,7 +34,7 @@ define i64 @usub_sat_when_lhs_ugt_rhs(i64 %a, i64 %b) {
37
34
; CHECK-SAME: i64 [[A:%.*]], i64 [[B:%.*]]) {
38
35
; CHECK-NEXT: [[PRECOND:%.*]] = icmp ugt i64 [[A]], [[B]]
39
36
; CHECK-NEXT: call void @llvm.assume(i1 [[PRECOND]])
40
- ; CHECK-NEXT: [[SUB_SAT:%.*]] = call i64 @llvm.usub.sat.i64(i64 [[A]], i64 [[B]])
37
+ ; CHECK-NEXT: [[SUB_SAT:%.*]] = sub i64 [[A]], [[B]]
41
38
; CHECK-NEXT: ret i64 [[SUB_SAT]]
42
39
;
43
40
%precond = icmp ugt i64 %a , %b
@@ -51,8 +48,7 @@ define i64 @usub_sat_when_lhs_ule_rhs(i64 %a, i64 %b) {
51
48
; CHECK-SAME: i64 [[A:%.*]], i64 [[B:%.*]]) {
52
49
; CHECK-NEXT: [[PRECOND:%.*]] = icmp ule i64 [[A]], [[B]]
53
50
; CHECK-NEXT: call void @llvm.assume(i1 [[PRECOND]])
54
- ; CHECK-NEXT: [[SUB_SAT:%.*]] = call i64 @llvm.usub.sat.i64(i64 [[A]], i64 [[B]])
55
- ; CHECK-NEXT: ret i64 [[SUB_SAT]]
51
+ ; CHECK-NEXT: ret i64 0
56
52
;
57
53
%precond = icmp ule i64 %a , %b
58
54
call void @llvm.assume (i1 %precond )
0 commit comments