[X86] Emulate AVX 256bit MIN/MAX support by splitting the vector.
authorJuergen Ributzka <juergen@apple.com>
Sat, 21 Sep 2013 04:55:22 +0000 (04:55 +0000)
committerJuergen Ributzka <juergen@apple.com>
Sat, 21 Sep 2013 04:55:22 +0000 (04:55 +0000)
commitfcfc234130e9b065cda0363f6945c9ce5a930c31
treedc996d07899f1d69a223de393bc13524d5d67bed
parent1941431f8a0f61fb5d5e3175cc49efd5dd19033c
[X86] Emulate AVX 256bit MIN/MAX support by splitting the vector.

In AVX 256bit vectors are valid vectors and therefore the Type Legalizer doesn't
split the VSELECT and SETCC nodes. AVX only supports MIN/MAX on 128bit vectors
and this fix enables vector splitting for this special case in the X86 DAG
Combiner.

This fix is related to PR16695, PR17002, and <rdar://problem/14594431>.

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