diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-06-05 15:21:30 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-06-05 15:21:30 +0000 |
commit | 64c6de45258e1f8b0162736206158bda5e9e0a6e (patch) | |
tree | b03f9f363f0f3652dc043ae21b54cad33bad9c53 /llvm/lib/Target/X86/Utils/X86ShuffleDecode.h | |
parent | 312071943c62cb223b978f8a6bbb602d8b7c7d92 (diff) | |
download | bcm5719-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.h | 4 |
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); |