diff options
author | Pete Cooper <peter_cooper@apple.com> | 2012-03-19 23:38:12 +0000 |
---|---|---|
committer | Pete Cooper <peter_cooper@apple.com> | 2012-03-19 23:38:12 +0000 |
commit | e69be6df4f657a959b3f9ca11e5383a185c9cf17 (patch) | |
tree | 73dfbbb712cd11768e56574427bfd763b6a633c0 /llvm/lib/CodeGen | |
parent | 8c3c65067d92a74fd191ec07e368198c15639c20 (diff) | |
download | bcm5719-llvm-e69be6df4f657a959b3f9ca11e5383a185c9cf17.tar.gz bcm5719-llvm-e69be6df4f657a959b3f9ca11e5383a185c9cf17.zip |
f16 FDIV can now be legalized by promoting to f32
llvm-svn: 153064
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index c6167aa3aac..1b84b1348bc 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -3600,10 +3600,11 @@ void SelectionDAGLegalize::PromoteNode(SDNode *Node) { Tmp1, Tmp2, Node->getOperand(2))); break; } + case ISD::FDIV: case ISD::FPOW: { Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0)); 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, Tmp3, DAG.getIntPtrConstant(0))); break; |