aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/X86
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-02-28 21:07:18 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-02-28 21:07:18 +0000
commit365919ebc13fcd6ddae24bfcc7c4720dc682c78b (patch)
treefe2bf4fc65fd9e5c13d565a4c449157efa9dbe59 /test/CodeGen/X86
parent9c618dddcd075579cf4f157ba4a03d088c166dab (diff)
downloadsrc-365919ebc13fcd6ddae24bfcc7c4720dc682c78b.tar.gz
src-365919ebc13fcd6ddae24bfcc7c4720dc682c78b.zip
Vendor import of llvm release_40 branch r296509:vendor/llvm/llvm-release_40-r296509
Notes
Notes: svn path=/vendor/llvm/dist/; revision=314411 svn path=/vendor/llvm/llvm-release_40-r296509/; revision=314412; tag=vendor/llvm/llvm-release_40-r296509
Diffstat (limited to 'test/CodeGen/X86')
-rw-r--r--test/CodeGen/X86/pr30284.ll22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/CodeGen/X86/pr30284.ll b/test/CodeGen/X86/pr30284.ll
new file mode 100644
index 000000000000..cb2de00d436a
--- /dev/null
+++ b/test/CodeGen/X86/pr30284.ll
@@ -0,0 +1,22 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -mattr=avx512dq | FileCheck %s
+
+define void @f_f___un_3C_unf_3E_un_3C_unf_3E_() {
+; CHECK-LABEL: f_f___un_3C_unf_3E_un_3C_unf_3E_:
+; CHECK: # BB#0:
+; CHECK-NEXT: vmovapd 0, %zmm0
+; CHECK-NEXT: vmovapd 64, %zmm1
+; CHECK-NEXT: vmovapd {{.*#+}} zmm2 = [0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16]
+; CHECK-NEXT: kshiftrw $8, %k0, %k1
+; CHECK-NEXT: vorpd %zmm2, %zmm1, %zmm1 {%k1}
+; CHECK-NEXT: vorpd %zmm2, %zmm0, %zmm0 {%k1}
+; CHECK-NEXT: vmovapd %zmm0, 0
+; CHECK-NEXT: vmovapd %zmm1, 64
+; CHECK-NEXT: retl
+ %a_load22 = load <16 x i64>, <16 x i64>* null, align 1
+ %bitop = or <16 x i64> %a_load22, <i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736>
+ %v.i = load <16 x i64>, <16 x i64>* null
+ %v1.i41 = select <16 x i1> undef, <16 x i64> %bitop, <16 x i64> %v.i
+ store <16 x i64> %v1.i41, <16 x i64>* null
+ ret void
+}