From ab26b59c063f6874ffb5f647732cc6a0a804ce2d Mon Sep 17 00:00:00 2001 From: Igor Laevsky Date: Thu, 7 Dec 2017 08:52:24 +0000 Subject: [PATCH] [InstSimplify] Add tests for the rL319894 Differential Revision: https://reviews.llvm.org/D40650 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320014 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/InstCombine/pr28725.ll | 11 ++++++++ test/Transforms/InstSimplify/insertelement.ll | 25 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 test/Transforms/InstCombine/pr28725.ll create mode 100644 test/Transforms/InstSimplify/insertelement.ll diff --git a/test/Transforms/InstCombine/pr28725.ll b/test/Transforms/InstCombine/pr28725.ll new file mode 100644 index 00000000000..ff9440d605a --- /dev/null +++ b/test/Transforms/InstCombine/pr28725.ll @@ -0,0 +1,11 @@ +; RUN: opt -S -instcombine < %s | FileCheck %s +%S = type { i16, i32 } + +define <2 x i16> @test1() { +entry: + %b = insertelement <2 x i16> , i16 extractvalue (%S select (i1 icmp eq (i16 extractelement (<2 x i16> bitcast (<1 x i32> to <2 x i16>), i32 0), i16 0), %S zeroinitializer, %S { i16 0, i32 1 }), 0), i32 0 + ret <2 x i16> %b +} + +; CHECK-LABEL: @test1( +; CHECK: ret <2 x i16> zeroinitializer diff --git a/test/Transforms/InstSimplify/insertelement.ll b/test/Transforms/InstSimplify/insertelement.ll new file mode 100644 index 00000000000..3acd921cbad --- /dev/null +++ b/test/Transforms/InstSimplify/insertelement.ll @@ -0,0 +1,25 @@ +; RUN: opt -S -instsimplify < %s | FileCheck %s + +define <4 x i32> @test1(<4 x i32> %A) { + %I = insertelement <4 x i32> %A, i32 5, i64 4294967296 + ; CHECK: ret <4 x i32> undef + ret <4 x i32> %I +} + +define <4 x i32> @test2(<4 x i32> %A) { + %I = insertelement <4 x i32> %A, i32 5, i64 4 + ; CHECK: ret <4 x i32> undef + ret <4 x i32> %I +} + +define <4 x i32> @test3(<4 x i32> %A) { + %I = insertelement <4 x i32> %A, i32 5, i64 1 + ; CHECK: ret <4 x i32> %I + ret <4 x i32> %I +} + +define <4 x i32> @test4(<4 x i32> %A) { + %I = insertelement <4 x i32> %A, i32 5, i128 100 + ; CHECK: ret <4 x i32> undef + ret <4 x i32> %I +} -- 2.50.1