forked from OSchip/llvm-project
[X86] Remove isel patterns that include a vselect/X86selects and a strict FP node.
A vselect+strictfp node is not equivalent to a masked operation. The exceptions of the strictfp node are not masked by a vselect after it so we can't match it to a masked operation. We already had a hack in IsLegalToFold to prevent these patterns from matching. This patch removes that hack and removes the patterns.
This commit is contained in:
parent
85e2fa44c6
commit
dbcc1392b3
|
@ -581,12 +581,6 @@ X86DAGToDAGISel::IsProfitableToFold(SDValue N, SDNode *U, SDNode *Root) const {
|
|||
if (!N.hasOneUse())
|
||||
return false;
|
||||
|
||||
// FIXME: Temporary hack to prevent strict floating point nodes from
|
||||
// folding into masked operations illegally.
|
||||
if (U == Root && Root->getOpcode() == ISD::VSELECT &&
|
||||
N.getOpcode() != ISD::LOAD && N.getOpcode() != X86ISD::VBROADCAST_LOAD)
|
||||
return false;
|
||||
|
||||
if (N.getOpcode() != ISD::LOAD)
|
||||
return true;
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue