// Floating point mod -> fmod libcall.
const char *FnName = Node->getValueType(0) == MVT::f32 ? "fmodf":"fmod";
SDOperand Dummy;
- Result = LegalizeOp(ExpandLibCall(FnName, Node, Dummy));
+ Result = ExpandLibCall(FnName, Node, Dummy);
}
break;
}
default: assert(0 && "Unreachable!");
}
SDOperand Dummy;
- Result = LegalizeOp(ExpandLibCall(FnName, Node, Dummy));
+ Result = ExpandLibCall(FnName, Node, Dummy);
break;
}
default:
switch (getTypeAction(CallInfo.first.getValueType())) {
default: assert(0 && "Unknown thing");
case Legal:
- Result = CallInfo.first;
+ // If the result is legal, make sure that we relegalize the inserted result.
+ Result = LegalizeOp(CallInfo.first);
break;
case Promote:
assert(0 && "Cannot promote this yet!");
case Expand:
ExpandOp(CallInfo.first, Result, Hi);
- CallInfo.second = LegalizeOp(CallInfo.second);
break;
}
-
+
+ CallInfo.second = LegalizeOp(CallInfo.second);
SpliceCallInto(CallInfo.second, OutChain);
return Result;
}
}
Lo = DAG.getNode(ISD::MUL, NVT, LL, RL);
} else {
- Lo = ExpandLibCall("__muldi3" , Node, Hi); break;
+ Lo = ExpandLibCall("__muldi3" , Node, Hi);
}
break;
}