From a569a0af0d96512e1d914f2e966453391f4b9561 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Wed, 5 Aug 2020 13:09:20 -0400 Subject: [PATCH] [InstSimplify] add vector tests for icmp with mul nuw; NFC Also, the naming was off on a couple of tests. --- llvm/test/Transforms/InstSimplify/icmp-constant.ll | 30 +++++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) 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]] -- 2.7.4