[x86] Fix PR22706 where we would incorrectly try lower a v32i8 dynamic
authorChandler Carruth <chandlerc@gmail.com>
Thu, 26 Feb 2015 22:15:34 +0000 (22:15 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Thu, 26 Feb 2015 22:15:34 +0000 (22:15 +0000)
commit653773d0048de921fbd5cf6a4aa2767a7cd9158a
treeacd464f10c6636ff303be04abd900001506ed4eb
parentb6cd5fe918f3cf3b7b9c385dfa7f48ae00b36d7d
[x86] Fix PR22706 where we would incorrectly try lower a v32i8 dynamic
blend as legal.

We made the same mistake in two different places. Whenever we are custom
lowering a v32i8 blend we need to check whether we are custom lowering
it only for constant conditions that can be shuffled, or whether we
actually have AVX2 and full dynamic blending support on bytes. Both are
fixed, with comments added to make it clear what is going on and a new
test case.

llvm-svn: 230695
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vselect-avx.ll