[X86][ISelDAG] Add missing fallback patterns for avx2 broadcast instructions.
authorQuentin Colombet <qcolombet@apple.com>
Mon, 24 Mar 2014 17:54:19 +0000 (17:54 +0000)
committerQuentin Colombet <qcolombet@apple.com>
Mon, 24 Mar 2014 17:54:19 +0000 (17:54 +0000)
commit4768df00c436b8da6357c30071bc3f35820bc2bf
tree969cbe1d3a73e65cfcc7c034897fd64f6fdf69c2
parent875870fdb40f74b0ad6bc25122d940a51c9c985c
[X86][ISelDAG] Add missing fallback patterns for avx2 broadcast instructions.
Those patterns are used when the load cannot be folded into the related broadcast
during the select phase.
This happens when the load gets additional uses that were not anticipated during
the previous lowering phases (constant vector to constant load, then constant
load reused) or when selection DAG is not able to prove that folding the load
will not create a cycle in the DAG.

<rdar://problem/16074331>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204631 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/avx2-vbroadcast.ll