/// Method for building the DAG expansion of ISD::[US][ADD|SUB]SAT. This
/// method accepts integers as its arguments.
- SDValue getExpandedSaturationAdditionSubtraction(SDNode *Node,
- SelectionDAG &DAG) const;
+ SDValue expandAddSubSat(SDNode *Node, SelectionDAG &DAG) const;
/// Method for building the DAG expansion of ISD::SMULFIX. This method accepts
/// integers as its arguments.
case ISD::SADDSAT:
case ISD::UADDSAT:
case ISD::SSUBSAT:
- case ISD::USUBSAT: {
- Results.push_back(TLI.getExpandedSaturationAdditionSubtraction(Node, DAG));
+ case ISD::USUBSAT:
+ Results.push_back(TLI.expandAddSubSat(Node, DAG));
break;
- }
- case ISD::SMULFIX: {
+ case ISD::SMULFIX:
Results.push_back(TLI.getExpandedFixedPointMultiplication(Node, DAG));
break;
- }
case ISD::SADDO:
case ISD::SSUBO: {
SDValue LHS = Node->getOperand(0);
void DAGTypeLegalizer::ExpandIntRes_ADDSUBSAT(SDNode *N, SDValue &Lo,
SDValue &Hi) {
- SDValue Result = TLI.getExpandedSaturationAdditionSubtraction(N, DAG);
+ SDValue Result = TLI.expandAddSubSat(N, DAG);
SplitInteger(Result, Lo, Hi);
}
return SDValue();
}
-SDValue TargetLowering::getExpandedSaturationAdditionSubtraction(
- SDNode *Node, SelectionDAG &DAG) const {
+SDValue TargetLowering::expandAddSubSat(SDNode *Node, SelectionDAG &DAG) const {
unsigned Opcode = Node->getOpcode();
unsigned OverflowOp;
switch (Opcode) {