]> granicus.if.org Git - llvm/commit
[X86][SSE] Support combining AND(EXTRACT(SHUF(X)), C) -> EXTRACT(SHUF(X))
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 14 Oct 2017 15:01:36 +0000 (15:01 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 14 Oct 2017 15:01:36 +0000 (15:01 +0000)
commit809f654cc8f400a0f669278b0133a5ecabd9b47e
treea7cee99d73f86e2983a93b01017125e9d2d80914
parent1d2af6aa6e7874ac03597067833c23eb9ba731a4
[X86][SSE] Support combining AND(EXTRACT(SHUF(X)), C) -> EXTRACT(SHUF(X))

If we are applying a byte mask to a value extracted from a shuffle, see if we can combine the mask into shuffle.

Fixes the last issue with PR22415

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