summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2015-09-02 09:20:58 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2015-09-02 09:20:58 +0000
commit9f83c7346fe6fafdfc36cb4afa55cad2b55536de (patch)
tree62fe17f93ebdffe9c5bf4143296df21c8a2b3b85 /llvm/lib/Target
parent3a3354eb0304ce85b07ffdfe25452c4661b37b09 (diff)
downloadbcm5719-llvm-9f83c7346fe6fafdfc36cb4afa55cad2b55536de.tar.gz
bcm5719-llvm-9f83c7346fe6fafdfc36cb4afa55cad2b55536de.zip
AVX-512: store <4 x i1> and <2 x i1> values in memory
Enabled DAG pattern lowering for SKX with DQI predicate. Differential Revision: http://reviews.llvm.org/D12550 llvm-svn: 246625
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86InstrAVX512.td5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td
index 170cd8d5232..41eb2efcc8d 100644
--- a/llvm/lib/Target/X86/X86InstrAVX512.td
+++ b/llvm/lib/Target/X86/X86InstrAVX512.td
@@ -1786,6 +1786,11 @@ let Predicates = [HasDQI] in {
(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),
OpenPOWER on IntegriCloud