summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2016-07-18 17:32:59 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2016-07-18 17:32:59 +0000
commitc941f6b329119f2c0877554dfbe642d12ed833f0 (patch)
tree8a50511f27619ee2226c3edaedef6de8a2d4bc0b /llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp
parent5948ea78b9c157aa41168f6ca10381465e072acf (diff)
downloadbcm5719-llvm-c941f6b329119f2c0877554dfbe642d12ed833f0.tar.gz
bcm5719-llvm-c941f6b329119f2c0877554dfbe642d12ed833f0.zip
[X86][AVX] Add target shuffle decode support for VBROADCAST
Currently we only decode broadcasts from a vector of the same size. llvm-svn: 275823
Diffstat (limited to 'llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp')
-rw-r--r--llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp b/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp
index 4fe9a9e949d..18f71675437 100644
--- a/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp
+++ b/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp
@@ -275,6 +275,12 @@ void DecodeUNPCKLMask(MVT VT, SmallVectorImpl<int> &ShuffleMask) {
}
}
+/// Decodes a broadcast of the first element of a vector.
+void DecodeVectorBroadcast(MVT DstVT, SmallVectorImpl<int> &ShuffleMask) {
+ unsigned NumElts = DstVT.getVectorNumElements();
+ ShuffleMask.append(NumElts, 0);
+}
+
/// Decodes a broadcast of a subvector to a larger vector type.
void DecodeSubVectorBroadcast(MVT DstVT, MVT SrcVT,
SmallVectorImpl<int> &ShuffleMask) {
OpenPOWER on IntegriCloud