summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86InstrAVX512.td
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2014-03-02 09:19:44 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2014-03-02 09:19:44 +0000
commit9737e3886b4ea0cfb1a42c395d63cbd3b9302a9e (patch)
tree03a72182703a064033eb27d4a91888392fa2088d /llvm/lib/Target/X86/X86InstrAVX512.td
parent03b4e3a8cb2aee0481b2f8d0f00e4dcf28142b14 (diff)
downloadbcm5719-llvm-9737e3886b4ea0cfb1a42c395d63cbd3b9302a9e.tar.gz
bcm5719-llvm-9737e3886b4ea0cfb1a42c395d63cbd3b9302a9e.zip
AVX-512: Fixed extract_vector_elt for v8i1 vector
llvm-svn: 202624
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrAVX512.td')
-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 328d74f8d7a..825ea09cfea 100644
--- a/llvm/lib/Target/X86/X86InstrAVX512.td
+++ b/llvm/lib/Target/X86/X86InstrAVX512.td
@@ -1213,6 +1213,11 @@ def : Pat<(v16i1 (insert_subvector undef, (v8i1 VK8:$src), (iPTR 0))),
def : Pat<(v8i1 (extract_subvector (v16i1 VK16:$src), (iPTR 8))),
(v8i1 (COPY_TO_REGCLASS (KSHIFTRWri VK16:$src, (i8 8)), VK8))>;
+def : Pat<(v8i1 (X86vshli VK8:$src, (i8 imm:$imm))),
+ (v8i1 (COPY_TO_REGCLASS (KSHIFTLWri (COPY_TO_REGCLASS VK8:$src, VK16), (I8Imm $imm)), VK8))>;
+
+def : Pat<(v8i1 (X86vsrli VK8:$src, (i8 imm:$imm))),
+ (v8i1 (COPY_TO_REGCLASS (KSHIFTRWri (COPY_TO_REGCLASS VK8:$src, VK16), (I8Imm $imm)), VK8))>;
//===----------------------------------------------------------------------===//
// AVX-512 - Aligned and unaligned load and store
//
OpenPOWER on IntegriCloud