summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2016-06-05 15:21:30 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2016-06-05 15:21:30 +0000
commit64c6de45258e1f8b0162736206158bda5e9e0a6e (patch)
treeb03f9f363f0f3652dc043ae21b54cad33bad9c53 /llvm/lib/Target/X86/Utils/X86ShuffleDecode.h
parent312071943c62cb223b978f8a6bbb602d8b7c7d92 (diff)
downloadbcm5719-llvm-64c6de45258e1f8b0162736206158bda5e9e0a6e.tar.gz
bcm5719-llvm-64c6de45258e1f8b0162736206158bda5e9e0a6e.zip
[X86][XOP] Added VPERMIL2PD/VPERMIL2PS raw mask decoding for target shuffle combines
llvm-svn: 271834
Diffstat (limited to 'llvm/lib/Target/X86/Utils/X86ShuffleDecode.h')
-rw-r--r--llvm/lib/Target/X86/Utils/X86ShuffleDecode.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h b/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h
index ec05a66c2df..f1caa56fc1a 100644
--- a/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h
+++ b/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h
@@ -138,6 +138,10 @@ void DecodeINSERTQIMask(int Len, int Idx,
void DecodeVPERMILPMask(MVT VT, ArrayRef<uint64_t> RawMask,
SmallVectorImpl<int> &ShuffleMask);
+/// Decode a VPERMIL2PD/VPERMIL2PS variable mask from a raw array of constants.
+void DecodeVPERMIL2PMask(MVT VT, unsigned M2Z, ArrayRef<uint64_t> RawMask,
+ SmallVectorImpl<int> &ShuffleMask);
+
/// Decode a VPERM W/D/Q/PS/PD mask from a raw array of constants.
void DecodeVPERMVMask(ArrayRef<uint64_t> RawMask,
SmallVectorImpl<int> &ShuffleMask);
OpenPOWER on IntegriCloud