diff options
author | Craig Topper <craig.topper@gmail.com> | 2011-11-30 06:25:25 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2011-11-30 06:25:25 +0000 |
commit | 316cd2a2c57037ecca93bb20d939b89dad4c5243 (patch) | |
tree | eba04298d6d56d1e9680f021583f31b6b08a12c8 /lib/Target/X86/Utils/X86ShuffleDecode.h | |
parent | 553fe05f236f46fe27b7fcfa822b06367d50183e (diff) | |
download | llvm-316cd2a2c57037ecca93bb20d939b89dad4c5243.tar.gz llvm-316cd2a2c57037ecca93bb20d939b89dad4c5243.tar.bz2 llvm-316cd2a2c57037ecca93bb20d939b89dad4c5243.tar.xz |
Merge decoding of VPERMILPD and VPERMILPS shuffle masks. Merge X86ISD node type for VPERMILPD/PS. Add instruction selection support for VINSERTI128/VEXTRACTI128.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145483 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/Utils/X86ShuffleDecode.h')
-rw-r--r-- | lib/Target/X86/Utils/X86ShuffleDecode.h | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/lib/Target/X86/Utils/X86ShuffleDecode.h b/lib/Target/X86/Utils/X86ShuffleDecode.h index 48b9ef2f8b..74c34b412b 100644 --- a/lib/Target/X86/Utils/X86ShuffleDecode.h +++ b/lib/Target/X86/Utils/X86ShuffleDecode.h @@ -78,18 +78,11 @@ void DecodeUNPCKHPMask(EVT VT, SmallVectorImpl<unsigned> &ShuffleMask); void DecodeUNPCKLPMask(EVT VT, SmallVectorImpl<unsigned> &ShuffleMask); -// DecodeVPERMILPSMask - Decodes VPERMILPS permutes for any 128-bit 32-bit -// elements. For 256-bit vectors, it's considered as two 128 lanes, the -// referenced elements can't cross lanes and the mask of the first lane must -// be the same of the second. -void DecodeVPERMILPSMask(unsigned NElts, unsigned Imm, - SmallVectorImpl<unsigned> &ShuffleMask); - -// DecodeVPERMILPDMask - Decodes VPERMILPD permutes for any 128-bit 64-bit -// elements. For 256-bit vectors, it's considered as two 128 lanes, the -// referenced elements can't cross lanes but the mask of the first lane can -// be the different of the second (not like VPERMILPS). -void DecodeVPERMILPDMask(unsigned NElts, unsigned Imm, +// DecodeVPERMILPMask - Decodes VPERMILPS/ VPERMILPD permutes for any 128-bit +// 32-bit or 64-bit elements. For 256-bit vectors, it's considered as two 128 +// lanes. For VPERMILPS, referenced elements can't cross lanes and the mask of +// the first lane must be the same of the second. +void DecodeVPERMILPMask(EVT VT, unsigned Imm, SmallVectorImpl<unsigned> &ShuffleMask); void DecodeVPERM2F128Mask(unsigned Imm, |