[X86][SSE] Bitcast assertion in XFormVExtractWithShuffleIntoLoad
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 24 Oct 2014 21:04:41 +0000 (21:04 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 24 Oct 2014 21:04:41 +0000 (21:04 +0000)
commit44efa200e23c54ece92cdff8f505d7014c5178b9
tree62c48cce7cf480fb89971aec92ef34c746e2e748
parent8699f5390bc96ade71419b2d1c15589c88207883
[X86][SSE] Bitcast assertion in XFormVExtractWithShuffleIntoLoad

Minor patch to fix an issue in XFormVExtractWithShuffleIntoLoad where a load is unary shuffled, then bitcast (to a type with the same number of elements) before extracting an element.

An undef was created for the second shuffle operand using the original (post-bitcasted) vector type instead of the pre-bitcasted type like the rest of the shuffle node - this was then causing an assertion on the different types later on inside SelectionDAG::getVectorShuffle.

Differential Revision: http://reviews.llvm.org/D5917

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220592 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/extractelement-load.ll