]> granicus.if.org Git - llvm/commit
[X86][SSE] Attempt to combine 64-bit and 16-bit shuffles to unary shuffles before...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 2 Jul 2017 13:19:10 +0000 (13:19 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 2 Jul 2017 13:19:10 +0000 (13:19 +0000)
commitd948559e483b8e96fb2d29b8422d8a1e191325a4
tree911bc79cdc2587d9556e96cb839e544dfa66567c
parent496650c94d165c4ac51e1a9491a96f04f59dabc0
[X86][SSE] Attempt to combine 64-bit and 16-bit shuffles to unary shuffles before bit shifts

We are combining shuffles to bit shifts before unary permutes, which means we can't fold loads plus the destination register is destructive

The 32-bit shuffles are a bit tricky and will be dealt with in a later patch

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