OSDN Git Service

[X86] Directly emit X86ISD::BLENDV instead of VSELECT in a few places that were emitt...
authorCraig Topper <craig.topper@intel.com>
Thu, 9 Jul 2020 17:28:42 +0000 (10:28 -0700)
committerCraig Topper <craig.topper@intel.com>
Thu, 9 Jul 2020 17:40:09 +0000 (10:40 -0700)
commit3e75912005cbbdc7c7244b73319cb7441e64682f
tree626c55a9afe9ebf677ec315487cfb382322ad222
parent6f7727db478b452a262b2beea2beceef096eb68c
[X86] Directly emit X86ISD::BLENDV instead of VSELECT in a few places that were emitting sign bit tests.

Technically a VSELECT expects a vector of all 1s or 0s elements
for its condition. But we aren't guaranteeing that the sign bit
and the non sign bits match in these locations. So we should use
BLENDV which is more relaxed.

Differential Revision: https://reviews.llvm.org/D83447
llvm/lib/Target/X86/X86ISelLowering.cpp