[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)
commit4cb5613c386ebd7b70bc78925a3badf164159b8f
treeeaa7bf9d3ddaaaac8e00cf4104c14e848bf2e4c1
parent638af5f1c48f9e81da35971e901fc0f65710cb88
[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

llvm-svn: 306977
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll