The result type of EXTRACT_VECTOR_ELT doesn't have to match the element type of
authorDuncan Sands <baldrick@free.fr>
Thu, 12 Jul 2012 09:01:35 +0000 (09:01 +0000)
committerDuncan Sands <baldrick@free.fr>
Thu, 12 Jul 2012 09:01:35 +0000 (09:01 +0000)
commit4e8982a34da69effe23ce9c553680b19d7d57551
treec93a35ee3de09a8e9fbbefc4d0e9fb77339dc1d6
parent5aba78bd8056dc407bcbce4080ffcd12b13c7342
The result type of EXTRACT_VECTOR_ELT doesn't have to match the element type of
the input vector, it can be bigger (this is helpful for powerpc where <2 x i16>
is a legal vector type but i16 isn't a legal type, IIRC).  However this wasn't
being taken into account by ExpandRes_EXTRACT_VECTOR_ELT, causing PR13220.
Lightly tweaked version of a patch by Michael Liao.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160116 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
test/CodeGen/X86/pr13220.ll [new file with mode: 0644]