From: Sanjay Patel Date: Wed, 5 Aug 2020 17:09:20 +0000 (-0400) Subject: [InstSimplify] add vector tests for icmp with mul nuw; NFC X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a569a0af0d96512e1d914f2e966453391f4b9561;p=platform%2Fupstream%2Fllvm.git [InstSimplify] add vector tests for icmp with mul nuw; NFC Also, the naming was off on a couple of tests. --- diff --git a/llvm/test/Transforms/InstSimplify/icmp-constant.ll b/llvm/test/Transforms/InstSimplify/icmp-constant.ll index 4a56216..7cde4f2 100644 --- a/llvm/test/Transforms/InstSimplify/icmp-constant.ll +++ b/llvm/test/Transforms/InstSimplify/icmp-constant.ll @@ -823,8 +823,8 @@ define i1 @mul_nuw_urem_cmp_constant1(i8 %x) { ; Invert predicate and check vector type. -define <2 x i1> @mul_nuw_urem_cmp_constant2(<2 x i8> %x) { -; CHECK-LABEL: @mul_nuw_urem_cmp_constant2( +define <2 x i1> @mul_nuw_urem_cmp_constant_vec_splat(<2 x i8> %x) { +; CHECK-LABEL: @mul_nuw_urem_cmp_constant_vec_splat( ; CHECK-NEXT: [[M:%.*]] = mul nuw <2 x i8> [[X:%.*]], ; CHECK-NEXT: [[R:%.*]] = icmp ne <2 x i8> [[M]], ; CHECK-NEXT: ret <2 x i1> [[R]] @@ -834,10 +834,32 @@ define <2 x i1> @mul_nuw_urem_cmp_constant2(<2 x i8> %x) { ret <2 x i1> %r } +define <2 x i1> @mul_nuw_urem_cmp_constant_vec_splat_undef1(<2 x i8> %x) { +; CHECK-LABEL: @mul_nuw_urem_cmp_constant_vec_splat_undef1( +; CHECK-NEXT: [[M:%.*]] = mul nuw <2 x i8> [[X:%.*]], +; CHECK-NEXT: [[R:%.*]] = icmp ne <2 x i8> [[M]], +; CHECK-NEXT: ret <2 x i1> [[R]] +; + %m = mul nuw <2 x i8> %x, + %r = icmp ne <2 x i8> %m, + ret <2 x i1> %r +} + +define <2 x i1> @mul_nuw_urem_cmp_constant_vec_splat_undef2(<2 x i8> %x) { +; CHECK-LABEL: @mul_nuw_urem_cmp_constant_vec_splat_undef2( +; CHECK-NEXT: [[M:%.*]] = mul nuw <2 x i8> [[X:%.*]], +; CHECK-NEXT: [[R:%.*]] = icmp ne <2 x i8> [[M]], +; CHECK-NEXT: ret <2 x i1> [[R]] +; + %m = mul nuw <2 x i8> %x, + %r = icmp ne <2 x i8> %m, + ret <2 x i1> %r +} + ; Check "negative" numbers (constants should be analyzed as unsigned). -define i1 @mul_nuw_smaller_cmp_constant_vec_splat(i8 %x) { -; CHECK-LABEL: @mul_nuw_smaller_cmp_constant_vec_splat( +define i1 @mul_nuw_urem_cmp_constant2(i8 %x) { +; CHECK-LABEL: @mul_nuw_urem_cmp_constant2( ; CHECK-NEXT: [[M:%.*]] = mul nuw i8 [[X:%.*]], -42 ; CHECK-NEXT: [[R:%.*]] = icmp eq i8 [[M]], -84 ; CHECK-NEXT: ret i1 [[R]]