diff options
Diffstat (limited to 'lib/Target/X86/Utils/X86ShuffleDecode.h')
| -rw-r--r-- | lib/Target/X86/Utils/X86ShuffleDecode.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Target/X86/Utils/X86ShuffleDecode.h b/lib/Target/X86/Utils/X86ShuffleDecode.h index b18f670..4a52140 100644 --- a/lib/Target/X86/Utils/X86ShuffleDecode.h +++ b/lib/Target/X86/Utils/X86ShuffleDecode.h @@ -82,6 +82,20 @@ void DecodeUNPCKLPDMask(unsigned NElts, void DecodeUNPCKLPMask(EVT VT, SmallVectorImpl<unsigned> &ShuffleMask); + +void DecodeVPERMILPSMask(unsigned NElts, unsigned Imm, + SmallVectorImpl<unsigned> &ShuffleMask); + +void DecodeVPERMILPDMask(unsigned NElts, unsigned Imm, + SmallVectorImpl<unsigned> &ShuffleMask); + +// DecodeVPERMILMask - Decodes VPERMIL permutes for any 128-bit +// with 32/64-bit elements. For 256-bit vectors, it's considered +// as two 128 lanes and the mask of the first lane should be +// identical of the second one. +void DecodeVPERMILMask(EVT VT, unsigned Imm, + SmallVectorImpl<unsigned> &ShuffleMask); + } // llvm namespace #endif |
