const char *FnName = 0;
if (Node->getOpcode() == ISD::MEMSET) {
- Entry.Node = Tmp2;
- Entry.Ty = IntPtrTy;
- Entry.isSigned = false;
+ Entry.Node = Tmp2; Entry.isSigned = false; Entry.Ty = IntPtrTy;
Args.push_back(Entry);
// Extend the (previously legalized) ubyte argument to be an int value
// for the call.
FnName = "memset";
} else if (Node->getOpcode() == ISD::MEMCPY ||
Node->getOpcode() == ISD::MEMMOVE) {
- Entry.Node = Tmp2; Entry.Ty = IntPtrTy; Entry.isSigned = false;
- Args.push_back(Entry);
- Entry.Node = Tmp3; Entry.Ty = IntPtrTy; Entry.isSigned = false;
- Args.push_back(Entry);
- Entry.Node = Tmp4; Entry.Ty = IntPtrTy; Entry.isSigned = false;
- Args.push_back(Entry);
+ Entry.Ty = IntPtrTy; Entry.isSigned = false;
+ Entry.Node = Tmp2; Args.push_back(Entry);
+ Entry.Node = Tmp3; Args.push_back(Entry);
+ Entry.Node = Tmp4; Args.push_back(Entry);
FnName = Node->getOpcode() == ISD::MEMMOVE ? "memmove" : "memcpy";
} else {
assert(0 && "Unknown op!");
DAG.getNode(ISD::FP_EXTEND, MVT::f64, Tmp2));
}
SDOperand Dummy;
- Result = ExpandLibCall(FnName, Node, false, Dummy);
+ Result = ExpandLibCall(FnName, Node, false/*sign irrelevant*/, Dummy);
break;
}
break;
// Floating point mod -> fmod libcall.
const char *FnName = Node->getValueType(0) == MVT::f32 ? "fmodf":"fmod";
SDOperand Dummy;
- Result = ExpandLibCall(FnName, Node, false, Dummy);
+ Result = ExpandLibCall(FnName, Node, false/*sign irrelevant*/, Dummy);
}
break;
}
default: assert(0 && "Unreachable!");
}
SDOperand Dummy;
- Result = ExpandLibCall(FnName, Node, false, Dummy);
+ Result = ExpandLibCall(FnName, Node, false/*sign irrelevant*/, Dummy);
break;
}
}
const char *FnName = Node->getValueType(0) == MVT::f32
? "__powisf2" : "__powidf2";
SDOperand Dummy;
- Result = ExpandLibCall(FnName, Node, false, Dummy);
+ Result = ExpandLibCall(FnName, Node, false/*sign irrelevant*/, Dummy);
break;
}
case ISD::BIT_CONVERT:
default: assert(0 && "Unreachable!");
}
SDOperand Dummy;
- Result = ExpandLibCall(FnName, Node, false, Dummy);
+ Result = ExpandLibCall(FnName, Node, false/*sign irrelevant*/, Dummy);
break;
}
case Promote:
SDOperand Dummy;
Tmp1 = ExpandLibCall(FnName1,
DAG.getNode(ISD::MERGE_VALUES, VT, LHS, RHS).Val,
- false, Dummy);
+ false /*sign irrelevant*/, Dummy);
Tmp2 = DAG.getConstant(0, MVT::i32);
CC = DAG.getCondCode(CC1);
if (FnName2) {
Tmp1 = DAG.getNode(ISD::SETCC, TLI.getSetCCResultTy(), Tmp1, Tmp2, CC);
LHS = ExpandLibCall(FnName2,
DAG.getNode(ISD::MERGE_VALUES, VT, LHS, RHS).Val,
- false, Dummy);
+ false /*sign irrelevant*/, Dummy);
Tmp2 = DAG.getNode(ISD::SETCC, TLI.getSetCCResultTy(), LHS, Tmp2,
DAG.getCondCode(CC2));
Tmp1 = DAG.getNode(ISD::OR, Tmp1.getValueType(), Tmp1, Tmp2);
}
if (Node->getOperand(0).getValueType() == MVT::f32)
- Lo = ExpandLibCall("__fixsfdi", Node, false, Hi);
+ Lo = ExpandLibCall("__fixsfdi", Node, false/*sign irrelevant*/, Hi);
else
- Lo = ExpandLibCall("__fixdfdi", Node, false, Hi);
+ Lo = ExpandLibCall("__fixdfdi", Node, false/*sign irrelevant*/, Hi);
break;
case ISD::FP_TO_UINT:
}
if (Node->getOperand(0).getValueType() == MVT::f32)
- Lo = ExpandLibCall("__fixunssfdi", Node, false, Hi);
+ Lo = ExpandLibCall("__fixunssfdi", Node, false/*sign irrelevant*/, Hi);
else
- Lo = ExpandLibCall("__fixunsdfdi", Node, false, Hi);
+ Lo = ExpandLibCall("__fixunsdfdi", Node, false/*sign irrelevant*/, Hi);
break;
case ISD::SHL: {
}
// Otherwise, emit a libcall.
- Lo = ExpandLibCall("__ashldi3", Node, false, Hi);
+ Lo = ExpandLibCall("__ashldi3", Node, false/*left shift=unsigned*/, Hi);
break;
}
}
// Otherwise, emit a libcall.
- Lo = ExpandLibCall("__ashrdi3", Node, true, Hi);
+ Lo = ExpandLibCall("__ashrdi3", Node, true/*ashr is signed*/, Hi);
break;
}
}
// Otherwise, emit a libcall.
- Lo = ExpandLibCall("__lshrdi3", Node, false, Hi);
+ Lo = ExpandLibCall("__lshrdi3", Node, false/*lshr is unsigned*/, Hi);
break;
}
}
}
- Lo = ExpandLibCall("__muldi3" , Node, false, Hi);
+ Lo = ExpandLibCall("__muldi3" , Node, false/*sign irrelevant*/, Hi);
break;
}
case ISD::SDIV: Lo = ExpandLibCall("__divdi3" , Node, true, Hi); break;