[llvm] r364069 - [NFC] Added more tests for D63652

David Bolvansky via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 21 09:14:13 PDT 2019


Author: xbolva00
Date: Fri Jun 21 09:14:13 2019
New Revision: 364069

URL: http://llvm.org/viewvc/llvm-project?rev=364069&view=rev
Log:
[NFC] Added more tests for D63652

Modified:
    llvm/trunk/test/Transforms/InstCombine/shl-sub.ll

Modified: llvm/trunk/test/Transforms/InstCombine/shl-sub.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/shl-sub.ll?rev=364069&r1=364068&r2=364069&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/shl-sub.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/shl-sub.ll Fri Jun 21 09:14:13 2019
@@ -148,5 +148,38 @@ define <2 x i64> @bad_shl_sub_i64_vec(<2
   ret <2 x i64> %r
 }
 
+define <3 x i64> @shl_sub_i64_vec_undef0(<3 x i64> %x) {
+; CHECK-LABEL: @shl_sub_i64_vec_undef0(
+; CHECK-NEXT:    [[S:%.*]] = sub <3 x i64> <i64 63, i64 undef, i64 63>, [[X:%.*]]
+; CHECK-NEXT:    [[R:%.*]] = shl <3 x i64> <i64 1, i64 1, i64 1>, [[S]]
+; CHECK-NEXT:    ret <3 x i64> [[R]]
+;
+  %s = sub <3 x i64> <i64 63, i64 undef, i64 63>, %x
+  %r = shl <3 x i64> <i64 1, i64 1, i64 1>, %s
+  ret <3 x i64> %r
+}
+
+define <3 x i64> @shl_sub_i64_vec_undef1(<3 x i64> %x) {
+; CHECK-LABEL: @shl_sub_i64_vec_undef1(
+; CHECK-NEXT:    [[S:%.*]] = sub <3 x i64> <i64 63, i64 undef, i64 63>, [[X:%.*]]
+; CHECK-NEXT:    [[R:%.*]] = shl <3 x i64> <i64 1, i64 undef, i64 1>, [[S]]
+; CHECK-NEXT:    ret <3 x i64> [[R]]
+;
+  %s = sub <3 x i64> <i64 63, i64 undef, i64 63>, %x
+  %r = shl <3 x i64> <i64 1, i64 undef, i64 1>, %s
+  ret <3 x i64> %r
+}
+
+define <3 x i64> @shl_sub_i64_vec_undef2(<3 x i64> %x) {
+; CHECK-LABEL: @shl_sub_i64_vec_undef2(
+; CHECK-NEXT:    [[S:%.*]] = sub <3 x i64> <i64 63, i64 undef, i64 63>, [[X:%.*]]
+; CHECK-NEXT:    [[R:%.*]] = shl <3 x i64> <i64 1, i64 undef, i64 1>, [[S]]
+; CHECK-NEXT:    ret <3 x i64> [[R]]
+;
+  %s = sub <3 x i64> <i64 63, i64 undef, i64 63>, %x
+  %r = shl <3 x i64> <i64 1, i64 undef, i64 1>, %s
+  ret <3 x i64> %r
+}
+
 
 declare void @use(i32)




More information about the llvm-commits mailing list