Skip to content

Commit 88cff86

Browse files
committed
[InstCombine] Add tests for #113301 (NFC)
1 parent 86f7f08 commit 88cff86

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

llvm/test/Transforms/InstCombine/select-value-equivalence.ll

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,3 +309,28 @@ define <2 x float> @select_fcmp_fadd_une_zero_vec(<2 x float> %x, <2 x float> %y
309309
%retval = select <2 x i1> %fcmp, <2 x float> %x, <2 x float> %fadd
310310
ret <2 x float> %retval
311311
}
312+
313+
define <2 x i8> @select_vec_op_const_no_undef(<2 x i8> %x) {
314+
; CHECK-LABEL: define <2 x i8> @select_vec_op_const_no_undef(
315+
; CHECK-SAME: <2 x i8> [[X:%.*]]) {
316+
; CHECK-NEXT: [[XZ:%.*]] = icmp eq <2 x i8> [[X]], <i8 1, i8 2>
317+
; CHECK-NEXT: [[XR:%.*]] = select <2 x i1> [[XZ]], <2 x i8> <i8 1, i8 2>, <2 x i8> <i8 4, i8 3>
318+
; CHECK-NEXT: ret <2 x i8> [[XR]]
319+
;
320+
%xz = icmp eq <2 x i8> %x, <i8 1, i8 2>
321+
%xr = select <2 x i1> %xz, <2 x i8> %x, <2 x i8> <i8 4, i8 3>
322+
ret <2 x i8> %xr
323+
}
324+
325+
; FIXME: This is a miscompile.
326+
define <2 x i8> @select_vec_op_const_undef(<2 x i8> %x) {
327+
; CHECK-LABEL: define <2 x i8> @select_vec_op_const_undef(
328+
; CHECK-SAME: <2 x i8> [[X:%.*]]) {
329+
; CHECK-NEXT: [[XZ:%.*]] = icmp eq <2 x i8> [[X]], <i8 1, i8 undef>
330+
; CHECK-NEXT: [[XR:%.*]] = select <2 x i1> [[XZ]], <2 x i8> <i8 1, i8 undef>, <2 x i8> <i8 4, i8 3>
331+
; CHECK-NEXT: ret <2 x i8> [[XR]]
332+
;
333+
%xz = icmp eq <2 x i8> %x, <i8 1, i8 undef>
334+
%xr = select <2 x i1> %xz, <2 x i8> %x, <2 x i8> <i8 4, i8 3>
335+
ret <2 x i8> %xr
336+
}

0 commit comments

Comments
 (0)