Skip to content

Commit 77476a6

Browse files
committed
Fixing failing reg tests
1 parent 9d004e1 commit 77476a6

File tree

3 files changed

+38
-20
lines changed

3 files changed

+38
-20
lines changed

llvm/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -404,8 +404,9 @@ define i1 @different_size_sext_sext_ule(i7 %x, i4 %y) {
404404

405405
define i1 @different_size_sext_zext_ne(i7 %x, i4 %y) {
406406
; CHECK-LABEL: @different_size_sext_zext_ne(
407-
; CHECK-NEXT: [[TMP1:%.*]] = sext i4 [[Y:%.*]] to i7
408-
; CHECK-NEXT: [[R:%.*]] = icmp ne i7 [[TMP1]], [[X:%.*]]
407+
; CHECK-NEXT: [[SX:%.*]] = sext i7 [[X:%.*]] to i25
408+
; CHECK-NEXT: [[ZY:%.*]] = zext i4 [[Y:%.*]] to i25
409+
; CHECK-NEXT: [[R:%.*]] = icmp ne i25 [[SX]], [[ZY]]
409410
; CHECK-NEXT: ret i1 [[R]]
410411
;
411412
%sx = sext i7 %x to i25

llvm/test/Transforms/InstCombine/icmp-ext-ext.ll

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,9 @@ define <2 x i1> @sext_sext_uge_op0_wide(<2 x i16> %x, <2 x i8> %y) {
119119

120120
define i1 @zext_sext_sgt(i8 %x, i8 %y) {
121121
; CHECK-LABEL: @zext_sext_sgt(
122-
; CHECK-NEXT: [[C:%.*]] = icmp sgt i8 [[X:%.*]], [[Y:%.*]]
122+
; CHECK-NEXT: [[A:%.*]] = zext i8 [[X:%.*]] to i32
123+
; CHECK-NEXT: [[B:%.*]] = sext i8 [[Y:%.*]] to i32
124+
; CHECK-NEXT: [[C:%.*]] = icmp sgt i32 [[A]], [[B]]
123125
; CHECK-NEXT: ret i1 [[C]]
124126
;
125127
%a = zext i8 %x to i32
@@ -130,7 +132,9 @@ define i1 @zext_sext_sgt(i8 %x, i8 %y) {
130132

131133
define i1 @zext_sext_ugt(i8 %x, i8 %y) {
132134
; CHECK-LABEL: @zext_sext_ugt(
133-
; CHECK-NEXT: [[C:%.*]] = icmp ugt i8 [[X:%.*]], [[Y:%.*]]
135+
; CHECK-NEXT: [[A:%.*]] = zext i8 [[X:%.*]] to i32
136+
; CHECK-NEXT: [[B:%.*]] = sext i8 [[Y:%.*]] to i32
137+
; CHECK-NEXT: [[C:%.*]] = icmp ugt i32 [[A]], [[B]]
134138
; CHECK-NEXT: ret i1 [[C]]
135139
;
136140
%a = zext i8 %x to i32
@@ -141,7 +145,9 @@ define i1 @zext_sext_ugt(i8 %x, i8 %y) {
141145

142146
define i1 @zext_sext_eq(i8 %x, i8 %y) {
143147
; CHECK-LABEL: @zext_sext_eq(
144-
; CHECK-NEXT: [[C:%.*]] = icmp eq i8 [[X:%.*]], [[Y:%.*]]
148+
; CHECK-NEXT: [[A:%.*]] = zext i8 [[X:%.*]] to i32
149+
; CHECK-NEXT: [[B:%.*]] = sext i8 [[Y:%.*]] to i32
150+
; CHECK-NEXT: [[C:%.*]] = icmp eq i32 [[A]], [[B]]
145151
; CHECK-NEXT: ret i1 [[C]]
146152
;
147153
%a = zext i8 %x to i32
@@ -152,8 +158,9 @@ define i1 @zext_sext_eq(i8 %x, i8 %y) {
152158

153159
define i1 @zext_sext_sle_op0_narrow(i8 %x, i16 %y) {
154160
; CHECK-LABEL: @zext_sext_sle_op0_narrow(
155-
; CHECK-NEXT: [[TMP1:%.*]] = sext i8 [[X:%.*]] to i16
156-
; CHECK-NEXT: [[C:%.*]] = icmp sle i16 [[TMP1]], [[Y:%.*]]
161+
; CHECK-NEXT: [[A:%.*]] = zext i8 [[X:%.*]] to i32
162+
; CHECK-NEXT: [[B:%.*]] = sext i16 [[Y:%.*]] to i32
163+
; CHECK-NEXT: [[C:%.*]] = icmp sle i32 [[A]], [[B]]
157164
; CHECK-NEXT: ret i1 [[C]]
158165
;
159166
%a = zext i8 %x to i32
@@ -164,8 +171,9 @@ define i1 @zext_sext_sle_op0_narrow(i8 %x, i16 %y) {
164171

165172
define i1 @zext_sext_ule_op0_wide(i9 %x, i8 %y) {
166173
; CHECK-LABEL: @zext_sext_ule_op0_wide(
167-
; CHECK-NEXT: [[TMP1:%.*]] = sext i8 [[Y:%.*]] to i9
168-
; CHECK-NEXT: [[C:%.*]] = icmp uge i9 [[TMP1]], [[X:%.*]]
174+
; CHECK-NEXT: [[A:%.*]] = zext i9 [[X:%.*]] to i32
175+
; CHECK-NEXT: [[B:%.*]] = sext i8 [[Y:%.*]] to i32
176+
; CHECK-NEXT: [[C:%.*]] = icmp ule i32 [[A]], [[B]]
169177
; CHECK-NEXT: ret i1 [[C]]
170178
;
171179
%a = zext i9 %x to i32
@@ -176,7 +184,9 @@ define i1 @zext_sext_ule_op0_wide(i9 %x, i8 %y) {
176184

177185
define i1 @sext_zext_slt(i8 %x, i8 %y) {
178186
; CHECK-LABEL: @sext_zext_slt(
179-
; CHECK-NEXT: [[C:%.*]] = icmp slt i8 [[X:%.*]], [[Y:%.*]]
187+
; CHECK-NEXT: [[A:%.*]] = sext i8 [[X:%.*]] to i32
188+
; CHECK-NEXT: [[B:%.*]] = zext i8 [[Y:%.*]] to i32
189+
; CHECK-NEXT: [[C:%.*]] = icmp slt i32 [[A]], [[B]]
180190
; CHECK-NEXT: ret i1 [[C]]
181191
;
182192
%a = sext i8 %x to i32
@@ -187,7 +197,9 @@ define i1 @sext_zext_slt(i8 %x, i8 %y) {
187197

188198
define i1 @sext_zext_ult(i8 %x, i8 %y) {
189199
; CHECK-LABEL: @sext_zext_ult(
190-
; CHECK-NEXT: [[C:%.*]] = icmp ult i8 [[X:%.*]], [[Y:%.*]]
200+
; CHECK-NEXT: [[A:%.*]] = sext i8 [[X:%.*]] to i32
201+
; CHECK-NEXT: [[B:%.*]] = zext i8 [[Y:%.*]] to i32
202+
; CHECK-NEXT: [[C:%.*]] = icmp ult i32 [[A]], [[B]]
191203
; CHECK-NEXT: ret i1 [[C]]
192204
;
193205
%a = sext i8 %x to i32
@@ -198,7 +210,9 @@ define i1 @sext_zext_ult(i8 %x, i8 %y) {
198210

199211
define <2 x i1> @sext_zext_ne(<2 x i8> %x, <2 x i8> %y) {
200212
; CHECK-LABEL: @sext_zext_ne(
201-
; CHECK-NEXT: [[C:%.*]] = icmp ne <2 x i8> [[X:%.*]], [[Y:%.*]]
213+
; CHECK-NEXT: [[A:%.*]] = sext <2 x i8> [[X:%.*]] to <2 x i32>
214+
; CHECK-NEXT: [[B:%.*]] = zext <2 x i8> [[Y:%.*]] to <2 x i32>
215+
; CHECK-NEXT: [[C:%.*]] = icmp ne <2 x i32> [[A]], [[B]]
202216
; CHECK-NEXT: ret <2 x i1> [[C]]
203217
;
204218
%a = sext <2 x i8> %x to <2 x i32>
@@ -209,8 +223,9 @@ define <2 x i1> @sext_zext_ne(<2 x i8> %x, <2 x i8> %y) {
209223

210224
define i1 @sext_zext_sge_op0_narrow(i5 %x, i8 %y) {
211225
; CHECK-LABEL: @sext_zext_sge_op0_narrow(
212-
; CHECK-NEXT: [[TMP1:%.*]] = sext i5 [[X:%.*]] to i8
213-
; CHECK-NEXT: [[C:%.*]] = icmp sge i8 [[TMP1]], [[Y:%.*]]
226+
; CHECK-NEXT: [[A:%.*]] = sext i5 [[X:%.*]] to i32
227+
; CHECK-NEXT: [[B:%.*]] = zext i8 [[Y:%.*]] to i32
228+
; CHECK-NEXT: [[C:%.*]] = icmp sge i32 [[A]], [[B]]
214229
; CHECK-NEXT: ret i1 [[C]]
215230
;
216231
%a = sext i5 %x to i32
@@ -221,8 +236,9 @@ define i1 @sext_zext_sge_op0_narrow(i5 %x, i8 %y) {
221236

222237
define i1 @sext_zext_uge_op0_wide(i16 %x, i8 %y) {
223238
; CHECK-LABEL: @sext_zext_uge_op0_wide(
224-
; CHECK-NEXT: [[TMP1:%.*]] = sext i8 [[Y:%.*]] to i16
225-
; CHECK-NEXT: [[C:%.*]] = icmp ule i16 [[TMP1]], [[X:%.*]]
239+
; CHECK-NEXT: [[A:%.*]] = sext i16 [[X:%.*]] to i32
240+
; CHECK-NEXT: [[B:%.*]] = zext i8 [[Y:%.*]] to i32
241+
; CHECK-NEXT: [[C:%.*]] = icmp uge i32 [[A]], [[B]]
226242
; CHECK-NEXT: ret i1 [[C]]
227243
;
228244
%a = sext i16 %x to i32
@@ -380,8 +396,9 @@ define i1 @zext_eq_sext(i1 %a, i1 %b) {
380396

381397
define i1 @zext_eq_sext_fail_not_i1(i1 %a, i8 %b) {
382398
; CHECK-LABEL: @zext_eq_sext_fail_not_i1(
383-
; CHECK-NEXT: [[TMP1:%.*]] = sext i1 [[A:%.*]] to i8
384-
; CHECK-NEXT: [[TOBOOL4:%.*]] = icmp eq i8 [[TMP1]], [[B:%.*]]
399+
; CHECK-NEXT: [[CONV:%.*]] = zext i1 [[A:%.*]] to i32
400+
; CHECK-NEXT: [[CONV3_NEG:%.*]] = sext i8 [[B:%.*]] to i32
401+
; CHECK-NEXT: [[TOBOOL4:%.*]] = icmp eq i32 [[CONV]], [[CONV3_NEG]]
385402
; CHECK-NEXT: ret i1 [[TOBOOL4]]
386403
;
387404
%conv = zext i1 %a to i32

llvm/test/Transforms/InstCombine/icmp-fold-with-cast.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ for.cond: ; preds = %cond.end, %entry
104104
br i1 %cmp, label %for.body, label %for.cond.cleanup
105105

106106
for.body: ; preds = %for.cond
107-
%conv = zext i16 %p.0 to i32 ;; %p.0 is always positive here
107+
%conv = zext nneg i16 %p.0 to i32 ;; %p.0 is always positive here
108108
%idxprom = sext i32 %i.0 to i64
109109
%arrayidx = getelementptr i16, ptr %v, i64 %idxprom
110110
%0 = load i16, ptr %arrayidx, align 2
@@ -157,7 +157,7 @@ for.cond: ; preds = %cond.end, %entry
157157
br label %for.body
158158

159159
for.body: ; preds = %for.cond
160-
%conv = zext i16 %v to i32 ;; %p.0 is always positive here
160+
%conv = zext nneg i16 %v to i32 ;; %p.0 is always positive here
161161
%conv1 = sext i16 %x to i32 ;; %p.0 is always positive here
162162
%cmp2 = icmp slt i32 %conv1, %conv ;; positive/positive
163163
br i1 %cmp2, label %cond.true, label %cond.false

0 commit comments

Comments
 (0)