summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRobert Khasanov <rob.khasanov@gmail.com>2014-06-24 18:08:04 +0000
committerRobert Khasanov <rob.khasanov@gmail.com>2014-06-24 18:08:04 +0000
commit031ad1b930104d89494c7d76e20bfabc6901fabf (patch)
treeb35dc7927795f81c64553ca89af36be05494ea2b /test
parenta91ff54e43ae58e4005b3dd37003fee13313576c (diff)
downloadllvm-031ad1b930104d89494c7d76e20bfabc6901fabf.tar.gz
llvm-031ad1b930104d89494c7d76e20bfabc6901fabf.tar.bz2
llvm-031ad1b930104d89494c7d76e20bfabc6901fabf.tar.xz
vpblend intrinsics combines as shifts intrinsics due to absence return stmt between them
Fix PR20088 Differential Revision: http://reviews.llvm.org/D4277 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211617 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/X86/pr20088.ll9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/CodeGen/X86/pr20088.ll b/test/CodeGen/X86/pr20088.ll
new file mode 100644
index 0000000000..d7aab7fcba
--- /dev/null
+++ b/test/CodeGen/X86/pr20088.ll
@@ -0,0 +1,9 @@
+; RUN: llc < %s -mattr=+avx | FileCheck %s
+
+declare <16 x i8> @llvm.x86.sse41.pblendvb(<16 x i8>, <16 x i8>, <16 x i8>)
+
+define <16 x i8> @foo(<16 x i8> %x) {
+; CHECK: vpblendvb
+ %res = call <16 x i8> @llvm.x86.sse41.pblendvb(<16 x i8> zeroinitializer, <16 x i8> <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>, <16 x i8> %x)
+ ret <16 x i8> %res;
+}