summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2011-08-12 21:48:26 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2011-08-12 21:48:26 +0000
commitf15dfe58183e4910c2cfa532d28ea7199279e0ac (patch)
tree03c1283f0c9f2e60a980ddf6eae8c880af3fd822 /llvm/lib/Target/X86/Utils/X86ShuffleDecode.h
parent960c8f71aa9aeadc3ec751dd6b4e15ff0317380c (diff)
downloadbcm5719-llvm-f15dfe58183e4910c2cfa532d28ea7199279e0ac.tar.gz
bcm5719-llvm-f15dfe58183e4910c2cfa532d28ea7199279e0ac.zip
The VPERM2F128 is a AVX instruction which permutes between two 256-bit
vectors. It operates on 128-bit elements instead of regular scalar types. Recognize shuffles that are suitable for VPERM2F128 and teach the x86 legalizer how to handle them. llvm-svn: 137519
Diffstat (limited to 'llvm/lib/Target/X86/Utils/X86ShuffleDecode.h')
-rw-r--r--llvm/lib/Target/X86/Utils/X86ShuffleDecode.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h b/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h
index 1b11c6e3c26..58193e6a468 100644
--- a/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h
+++ b/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h
@@ -97,6 +97,11 @@ void DecodeVPERMILPSMask(unsigned NElts, unsigned Imm,
void DecodeVPERMILPDMask(unsigned NElts, unsigned Imm,
SmallVectorImpl<unsigned> &ShuffleMask);
+void DecodeVPERM2F128Mask(unsigned Imm,
+ SmallVectorImpl<unsigned> &ShuffleMask);
+void DecodeVPERM2F128Mask(EVT VT, unsigned Imm,
+ SmallVectorImpl<unsigned> &ShuffleMask);
+
} // llvm namespace
#endif
OpenPOWER on IntegriCloud