[x86] Fix a large collection of bugs that crept in as I fleshed out the
authorChandler Carruth <chandlerc@gmail.com>
Fri, 26 Sep 2014 17:11:02 +0000 (17:11 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Fri, 26 Sep 2014 17:11:02 +0000 (17:11 +0000)
commit7164a4ae0a1bcec0d8aa7d65c82afd0d78f32ec5
treebe58250b16ab5df20867575be7d2ccdfeb9e5e79
parent6215f78195740ff37cf14f7d03c64847750d9f90
[x86] Fix a large collection of bugs that crept in as I fleshed out the
AVX support.

New test cases included. Note that none of the existing test cases
covered these buggy code paths. =/ Also, it is clear from this that
SHUFPS and SHUFPD are the most bug prone shuffle instructions in x86. =[

These were all detected by fuzz-testing. (I <3 fuzz testing.)

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