[LegalizeTypes] Teach SoftenFloatOp_SELECT_CC to handle operand 2 or 3 being softened.
authorCraig Topper <craig.topper@intel.com>
Tue, 10 Sep 2019 07:56:02 +0000 (07:56 +0000)
committerCraig Topper <craig.topper@intel.com>
Tue, 10 Sep 2019 07:56:02 +0000 (07:56 +0000)
commite8b432fa0e75430c03552b1d36e4ac468843ce57
tree5f2cc604928d02d4f8bacc09f2888a04ca7ad9e5
parent60f0a6f6ff99a748b1190ad85b0bbc00c36584a1
[LegalizeTypes] Teach SoftenFloatOp_SELECT_CC to handle operand 2 or 3 being softened.

This can only happen on X86 when fp128 is a legal type, but we
go through softening to generate libcalls. This causes fp128 to
be softened to fp128 instead of an integer type. This can be
removed if D67128 lands.

llvm-svn: 371493
llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
llvm/test/CodeGen/X86/fp128-select.ll