diff options
author | Chris Lattner <sabre@nondot.org> | 2006-09-09 06:03:30 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-09-09 06:03:30 +0000 |
commit | 6ddf8ed6fe2d0aa5e15f7b9ad7e5049e2223bbd1 (patch) | |
tree | bd64dd0f5010eeab548966380154d9c13f4cb820 /lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | |
parent | c0c9c5e44341a8c8394dbea0e86562b6edfb7b57 (diff) |
Implement the fpowi now by lowering to a libcall
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30225 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/LegalizeDAG.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index c32da68454..3545b24689 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -2581,7 +2581,14 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) { break; } break; - + case ISD::FPOWI: { + // We always lower FPOWI into a libcall. No target support it yet. + const char *FnName = Node->getValueType(0) == MVT::f32 + ? "__powisf2" : "__powidf2"; + SDOperand Dummy; + Result = ExpandLibCall(FnName, Node, Dummy); + break; + } case ISD::BIT_CONVERT: if (!isTypeLegal(Node->getOperand(0).getValueType())) { Result = ExpandBIT_CONVERT(Node->getValueType(0), Node->getOperand(0)); |