[llvm] r325419 - [InstSimplify] add vector select tests with undef elts in condition; NFC

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 16 17:18:53 PST 2018


Author: spatel
Date: Fri Feb 16 17:18:53 2018
New Revision: 325419

URL: http://llvm.org/viewvc/llvm-project?rev=325419&view=rev
Log:
[InstSimplify] add vector select tests with undef elts in condition; NFC

Modified:
    llvm/trunk/test/Transforms/InstSimplify/select.ll

Modified: llvm/trunk/test/Transforms/InstSimplify/select.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstSimplify/select.ll?rev=325419&r1=325418&r2=325419&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstSimplify/select.ll (original)
+++ llvm/trunk/test/Transforms/InstSimplify/select.ll Fri Feb 16 17:18:53 2018
@@ -25,6 +25,26 @@ define <2 x i8> @vsel_mixedvec() {
   ret <2 x i8> %s
 }
 
+; FIXME: Allow for undef elements in a constant vector condition.
+
+define <3 x i8> @vsel_undef_true_op(<3 x i8> %x, <3 x i8> %y) {
+; CHECK-LABEL: @vsel_undef_true_op(
+; CHECK-NEXT:    [[S:%.*]] = select <3 x i1> <i1 true, i1 undef, i1 true>, <3 x i8> [[X:%.*]], <3 x i8> [[Y:%.*]]
+; CHECK-NEXT:    ret <3 x i8> [[S]]
+;
+  %s = select <3 x i1><i1 1, i1 undef, i1 1>, <3 x i8> %x, <3 x i8> %y
+  ret <3 x i8> %s
+}
+
+define <3 x i4> @vsel_undef_false_op(<3 x i4> %x, <3 x i4> %y) {
+; CHECK-LABEL: @vsel_undef_false_op(
+; CHECK-NEXT:    [[S:%.*]] = select <3 x i1> <i1 false, i1 undef, i1 undef>, <3 x i4> [[X:%.*]], <3 x i4> [[Y:%.*]]
+; CHECK-NEXT:    ret <3 x i4> [[S]]
+;
+  %s = select <3 x i1><i1 0, i1 undef, i1 undef>, <3 x i4> %x, <3 x i4> %y
+  ret <3 x i4> %s
+}
+
 define i32 @test1(i32 %x) {
 ; CHECK-LABEL: @test1(
 ; CHECK-NEXT:    ret i32 %x




More information about the llvm-commits mailing list