This allows operations that are marked Custom, but have some type
combinations that are legal to get past this code.
Add custom mutation code to X86's Select function for the nodes
that don't have isel patterns yet.
// selectors.
if (Node->isStrictFPOpcode() &&
(TLI->getOperationAction(Node->getOpcode(), Node->getValueType(0))
- != TargetLowering::Legal))
+ == TargetLowering::Expand))
Node = CurDAG->mutateStrictFPToFP(Node);
LLVM_DEBUG(dbgs() << "\nISEL: Starting selection on root node: ";
SelectCode(Res.getNode());
return;
}
+ case ISD::STRICT_FP_TO_SINT:
+ case ISD::STRICT_FP_TO_UINT:
+ case ISD::STRICT_FP_ROUND:
+ // FIXME: Remove when we have isel patterns for strict versions of these
+ // nodes.
+ CurDAG->mutateStrictFPToFP(Node);
+ break;
}
SelectCode(Node);