diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-07-18 17:32:59 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-07-18 17:32:59 +0000 |
commit | c941f6b329119f2c0877554dfbe642d12ed833f0 (patch) | |
tree | 8a50511f27619ee2226c3edaedef6de8a2d4bc0b /llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp | |
parent | 5948ea78b9c157aa41168f6ca10381465e072acf (diff) | |
download | bcm5719-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.cpp | 6 |
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) { |