History log of /llvm-project/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp (Results 26 – 40 of 40)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 7268bf99 18-Oct-2016 Craig Topper <craig.topper@gmail.com>

[AVX-512] Fix DecodeVPERMV3Mask to handle cases where the constant pool entry has a different type than the shuffle itself.

Summary: This is especially important for 32-bit targets with 64-bit shuff

[AVX-512] Fix DecodeVPERMV3Mask to handle cases where the constant pool entry has a different type than the shuffle itself.

Summary: This is especially important for 32-bit targets with 64-bit shuffle elements.This is similar to how PSHUFB and VPERMIL handle the same problem.

Reviewers: RKSimon

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D25666

llvm-svn: 284451

show more ...


# 630dd6ff 01-Oct-2016 Simon Pilgrim <llvm-dev@redking.me.uk>

[X86][SSE] Cleaned up shuffle decode assertion messages

llvm-svn: 283050


# 3ace13ad 29-Sep-2016 Douglas Katzman <dougk@google.com>

[X86] Avoid "unused" warnings if no asserts

llvm-svn: 282732


# 97a4820c 29-Sep-2016 Simon Pilgrim <llvm-dev@redking.me.uk>

[X86][SSE] Added common helper for shuffle mask constant pool decodes.

The shuffle mask decodes have a large amount of repeated code extracting/splitting mask values from Constant data.

This patch

[X86][SSE] Added common helper for shuffle mask constant pool decodes.

The shuffle mask decodes have a large amount of repeated code extracting/splitting mask values from Constant data.

This patch pulls all of this duplicated code into a single helper function to identify undef elements and combine/split constant integer data into the requested shuffle mask elements.

Updated PSHUFB/VPERMIL/VPERMIL2/VPPERM decoders to use it (VPERMV/VPERMV3 could be converted as well in the future).

llvm-svn: 282720

show more ...


Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1
# 48d83407 13-Jul-2016 Simon Pilgrim <llvm-dev@redking.me.uk>

[X86][AVX] Add support for target shuffle combining to VPERMILPS variable shuffle mask

Added AVX512F VPERMILPS shuffle decoding support

llvm-svn: 275270


# 48adedff 05-Jul-2016 Simon Pilgrim <llvm-dev@redking.me.uk>

[X86][AVX512] Fixed decoding of permd/permpd variable mask shuffles + enabled them for target shuffle combining

Corrected element mask masking to extract the bottom index bits (now matches the perm2

[X86][AVX512] Fixed decoding of permd/permpd variable mask shuffles + enabled them for target shuffle combining

Corrected element mask masking to extract the bottom index bits (now matches the perm2 implementation but for unary inputs).

llvm-svn: 274571

show more ...


# 4c0e94dc 11-Jun-2016 Chandler Carruth <chandlerc@gmail.com>

Try a bit harder to remove the signed and unsigned comparison warning.
Hopefully this time it actually works and stays away.

llvm-svn: 272463


# 306e270b 11-Jun-2016 Chandler Carruth <chandlerc@gmail.com>

Compare to an unsigned literal to avoid a -Wsign-compare warning.

llvm-svn: 272459


# 163987a2 05-Jun-2016 Simon Pilgrim <llvm-dev@redking.me.uk>

[X86][XOP] Tidied up DecodeVPERMIL2PMask to more closely match DecodeVPERMILPMask.

llvm-svn: 271830


# 2ead861d 04-Jun-2016 Simon Pilgrim <llvm-dev@redking.me.uk>

[X86][XOP] Added VPERMIL2PD/VPERMIL2PS shuffle mask comment decoding

llvm-svn: 271809


Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1
# 1cc57127 09-Apr-2016 Simon Pilgrim <llvm-dev@redking.me.uk>

[X86][XOP] Support for VPPERM 2-input shuffle mask decoding

This patch adds support for decoding XOP VPPERM instruction when it represents a basic shuffle.

The mask decoding required the existing M

[X86][XOP] Support for VPPERM 2-input shuffle mask decoding

This patch adds support for decoding XOP VPPERM instruction when it represents a basic shuffle.

The mask decoding required the existing MCInstrLowering code to be updated to support binary shuffles - the implementation now matches what is done in X86InstrComments.cpp.

Differential Revision: http://reviews.llvm.org/D18441

llvm-svn: 265874

show more ...


# 253ca348 06-Mar-2016 Simon Pilgrim <llvm-dev@redking.me.uk>

[X86][AVX512] Fixed VPERMT2* shuffle mask decoding and enabled target shuffle combining.

Patch to add support for target shuffle combining of X86ISD::VPERMV3 nodes, including support for detecting u

[X86][AVX512] Fixed VPERMT2* shuffle mask decoding and enabled target shuffle combining.

Patch to add support for target shuffle combining of X86ISD::VPERMV3 nodes, including support for detecting unary shuffles.

This uncovered several issues with the X86ISD::VPERMV3 shuffle mask decoding of non-64 bit shuffle mask elements - the bit masking wasn't being correctly computed.

Removed non-constant pool mask decode path as we have no way of testing it right now.

Differential Revision: http://reviews.llvm.org/D17916

llvm-svn: 262809

show more ...


Revision tags: llvmorg-3.8.0
# 10e3ca2c 26-Feb-2016 Simon Pilgrim <llvm-dev@redking.me.uk>

Fix spelling. NFCI.

llvm-svn: 262078


Revision tags: llvmorg-3.8.0-rc3
# 05e48b95 18-Feb-2016 Simon Pilgrim <llvm-dev@redking.me.uk>

[X86][SSE] Improve PSHUFB shuffle mask decoding.

In cases where the PSHUFB shuffle mask is shared it might not be bitcasted to a vXi8 byte vector. This patch adds support for decoding these wider sh

[X86][SSE] Improve PSHUFB shuffle mask decoding.

In cases where the PSHUFB shuffle mask is shared it might not be bitcasted to a vXi8 byte vector. This patch adds support for decoding these wider shuffle masks from the ConstantPool.

The test case in question makes use of this to recognise the shuffle mask is an unary UNPCKL pattern and simplifies accordingly.

llvm-svn: 261201

show more ...


Revision tags: llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1
# 69653af7 31-Dec-2015 Craig Topper <craig.topper@gmail.com>

[X86] Move shuffle decoding for constant pool into the X86CodeGen library to remove a layering violation in the Util library.

llvm-svn: 256680


12