[x86] Refactor all of the VSELECT-as-blend lowering code to avoid domain
authorChandler Carruth <chandlerc@gmail.com>
Mon, 29 Sep 2014 01:32:54 +0000 (01:32 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 29 Sep 2014 01:32:54 +0000 (01:32 +0000)
commit3589550b3ef0f25f3383a63dd7071861c401de4c
treec7e453fcc27a9abf56301b48454033128adc0757
parentb3cf6a65d699f95eedb4413a85633edde5254a79
[x86] Refactor all of the VSELECT-as-blend lowering code to avoid domain
crossing and generally work more like the blend emission code in the new
vector shuffle lowering.

My goal is to have the new vector shuffle lowering just produce VSELECT
nodes that are either matched here to BLENDI or are legal and matched in
the .td files to specific blend instructions. That seems much cleaner as
there are other ways to produce a VSELECT anyways. =]

No *observable* functionality changed yet, mostly because this code
appears to be near-dead. The behavior of this lowering routine did
change though. This code being mostly dead and untestable will change
with my next commit which will also point some new tests at it.

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