mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-04-12 20:48:17 +00:00
f16 FDIV can now be legalized by promoting to f32
llvm-svn: 153064
This commit is contained in:
parent
9d0338734a
commit
fe0c08a32a
@ -3600,10 +3600,11 @@ void SelectionDAGLegalize::PromoteNode(SDNode *Node) {
|
|||||||
Tmp1, Tmp2, Node->getOperand(2)));
|
Tmp1, Tmp2, Node->getOperand(2)));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case ISD::FDIV:
|
||||||
case ISD::FPOW: {
|
case ISD::FPOW: {
|
||||||
Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
|
Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
|
||||||
Tmp2 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(1));
|
Tmp2 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(1));
|
||||||
Tmp3 = DAG.getNode(ISD::FPOW, dl, NVT, Tmp1, Tmp2);
|
Tmp3 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2);
|
||||||
Results.push_back(DAG.getNode(ISD::FP_ROUND, dl, OVT,
|
Results.push_back(DAG.getNode(ISD::FP_ROUND, dl, OVT,
|
||||||
Tmp3, DAG.getIntPtrConstant(0)));
|
Tmp3, DAG.getIntPtrConstant(0)));
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user