@@ -43,8 +43,8 @@ define i1 @test-same-operands-sub-add-nsw-nuw-icmp-eq(i8 %a, i8 %b) {
43
43
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i8 [[B]], 0
44
44
; CHECK-NEXT: ret i1 [[CMP]]
45
45
;
46
- %sub = sub nuw nsw i8 %a , %b
47
- %add = add nuw nsw i8 %a , %b
46
+ %sub = sub nsw i8 %a , %b
47
+ %add = add nuw i8 %a , %b
48
48
%cmp = icmp eq i8 %sub , %add
49
49
ret i1 %cmp
50
50
}
@@ -61,13 +61,10 @@ define i1 @test-same-operands-sub-add-nsw-icmp-eq(i8 %a, i8 %b) {
61
61
ret i1 %cmp
62
62
}
63
63
64
- ; Should floded by foldICmpCommutative in the future
65
64
define i1 @test-add-sub-nsw-icmp-sgt (i8 %a , i8 %b ) {
66
65
; CHECK-LABEL: define i1 @test-add-sub-nsw-icmp-sgt(
67
66
; CHECK-SAME: i8 [[A:%.*]], i8 [[B:%.*]]) {
68
- ; CHECK-NEXT: [[SUB:%.*]] = sub nsw i8 [[A]], [[B]]
69
- ; CHECK-NEXT: [[ADD:%.*]] = add nsw i8 [[A]], [[B]]
70
- ; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i8 [[ADD]], [[SUB]]
67
+ ; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i8 [[B]], 0
71
68
; CHECK-NEXT: ret i1 [[CMP]]
72
69
;
73
70
%sub = sub nsw i8 %a , %b
@@ -76,14 +73,10 @@ define i1 @test-add-sub-nsw-icmp-sgt(i8 %a, i8 %b) {
76
73
ret i1 %cmp
77
74
}
78
75
79
- ; Should floded by foldICmpCommutative in the future
80
76
define i1 @test-add-sub-nuw-icmp-uge (i8 %a , i8 %b ) {
81
77
; CHECK-LABEL: define i1 @test-add-sub-nuw-icmp-uge(
82
78
; CHECK-SAME: i8 [[A:%.*]], i8 [[B:%.*]]) {
83
- ; CHECK-NEXT: [[SUB:%.*]] = sub nuw i8 [[A]], [[B]]
84
- ; CHECK-NEXT: [[ADD:%.*]] = add nuw i8 [[A]], [[B]]
85
- ; CHECK-NEXT: [[CMP:%.*]] = icmp uge i8 [[ADD]], [[SUB]]
86
- ; CHECK-NEXT: ret i1 [[CMP]]
79
+ ; CHECK-NEXT: ret i1 true
87
80
;
88
81
%sub = sub nuw i8 %a , %b
89
82
%add = add nuw i8 %a , %b
@@ -106,14 +99,10 @@ define i1 @test-add-sub-nuw-icmp-sge(i8 %a, i8 %b) {
106
99
ret i1 %cmp
107
100
}
108
101
109
- ; Should floded by foldICmpCommutative in the future
110
102
define i1 @test-add-swap-sub-nuw-icmp-uge (i8 %a , i8 %b ) {
111
103
; CHECK-LABEL: define i1 @test-add-swap-sub-nuw-icmp-uge(
112
104
; CHECK-SAME: i8 [[A:%.*]], i8 [[B:%.*]]) {
113
- ; CHECK-NEXT: [[SUB:%.*]] = sub nuw i8 [[A]], [[B]]
114
- ; CHECK-NEXT: [[ADD:%.*]] = add nuw i8 [[B]], [[A]]
115
- ; CHECK-NEXT: [[CMP:%.*]] = icmp uge i8 [[ADD]], [[SUB]]
116
- ; CHECK-NEXT: ret i1 [[CMP]]
105
+ ; CHECK-NEXT: ret i1 true
117
106
;
118
107
%sub = sub nuw i8 %a , %b
119
108
%add = add nuw i8 %b , %a
0 commit comments