OSDN Git Service

[X86][SSE] Use getTargetConstantBitsFromNode to find zeroable shuffle elements.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 19 Feb 2017 19:40:31 +0000 (19:40 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 19 Feb 2017 19:40:31 +0000 (19:40 +0000)
commitf8d4b524ddde41e89a2bba1b655948f88b4dddf2
tree052c38c5627663d842acd02122f5a195896bb03d
parent07a02364017a8de22885fa56f6d662b32f879d52
[X86][SSE] Use getTargetConstantBitsFromNode to find zeroable shuffle elements.

Replaces existing approach that could only search BUILD_VECTOR nodes.

Requires getTargetConstantBitsFromNode to discriminate cases with all/partial UNDEF bits in each element - this should also be useful when we get around to supporting getTargetShuffleMaskIndices with UNDEF elements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295613 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vector-shuffle-combining-xop.ll