[PATCH] D12550: AVX-512: store <4 x i1> and <2 x i1> data types in memory

Elena Demikhovsky via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 2 02:22:11 PDT 2015


This revision was automatically updated to reflect the committed changes.
Closed by commit rL246625: AVX-512: store <4 x i1> and <2 x i1> values in memory (authored by delena).

Changed prior to commit:
  http://reviews.llvm.org/D12550?vs=33781&id=33786#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D12550

Files:
  llvm/trunk/lib/Target/X86/X86InstrAVX512.td
  llvm/trunk/test/CodeGen/X86/avx512-mask-op.ll

Index: llvm/trunk/test/CodeGen/X86/avx512-mask-op.ll
===================================================================
--- llvm/trunk/test/CodeGen/X86/avx512-mask-op.ll
+++ llvm/trunk/test/CodeGen/X86/avx512-mask-op.ll
@@ -407,3 +407,17 @@
   %ret = select <32 x i1> %mask, <32 x i16> %x, <32 x i16> zeroinitializer
   ret <32 x i16> %ret
 }
+
+; SKX-LABEL: test22
+; SKX: kmovb
+define void @test22(<4 x i1> %a, <4 x i1>* %addr) {
+  store <4 x i1> %a, <4 x i1>* %addr
+  ret void
+}
+
+; SKX-LABEL: test23
+; SKX: kmovb
+define void @test23(<2 x i1> %a, <2 x i1>* %addr) {
+  store <2 x i1> %a, <2 x i1>* %addr
+  ret void
+}
Index: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
===================================================================
--- llvm/trunk/lib/Target/X86/X86InstrAVX512.td
+++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td
@@ -1786,6 +1786,11 @@
             (KMOVBmk addr:$dst, VK8:$src)>;
   def : Pat<(v8i1 (bitconvert (i8 (load addr:$src)))),
             (KMOVBkm addr:$src)>;
+
+  def : Pat<(store VK4:$src, addr:$dst),
+            (KMOVBmk addr:$dst, (COPY_TO_REGCLASS VK4:$src, VK8))>;
+  def : Pat<(store VK2:$src, addr:$dst),
+            (KMOVBmk addr:$dst, (COPY_TO_REGCLASS VK2:$src, VK8))>;
 }
 let Predicates = [HasAVX512, NoDQI] in {
   def : Pat<(store (i8 (bitconvert (v8i1 VK8:$src))), addr:$dst),


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12550.33786.patch
Type: text/x-patch
Size: 1340 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150902/1d4799bd/attachment.bin>


More information about the llvm-commits mailing list