diff options
| author | Dale Johannesen <dalej@apple.com> | 2007-09-28 18:44:17 +0000 |
|---|---|---|
| committer | Dale Johannesen <dalej@apple.com> | 2007-09-28 18:44:17 +0000 |
| commit | 789b5a505b5eddb2279df501d58d0e6459a4abd5 (patch) | |
| tree | 9abfd76650956342fd3eda331dcb5bdbbe1112da /llvm/lib/CodeGen | |
| parent | 6bf69ed3cc94cca3ad0da1beb5c334ac278613fd (diff) | |
| download | bcm5719-llvm-789b5a505b5eddb2279df501d58d0e6459a4abd5.tar.gz bcm5719-llvm-789b5a505b5eddb2279df501d58d0e6459a4abd5.zip | |
Fix long double -> uint64 conversion.
llvm-svn: 42440
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index b976195847f..ffb2a66527b 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -5398,8 +5398,12 @@ void SelectionDAGLegalize::ExpandOp(SDOperand Op, SDOperand &Lo, SDOperand &Hi){ RTLIB::Libcall LC; if (Node->getOperand(0).getValueType() == MVT::f32) LC = RTLIB::FPTOUINT_F32_I64; - else + else if (Node->getOperand(0).getValueType() == MVT::f64) LC = RTLIB::FPTOUINT_F64_I64; + else if (Node->getOperand(0).getValueType() == MVT::f80 || + Node->getOperand(0).getValueType() == MVT::f128 || + Node->getOperand(0).getValueType() == MVT::ppcf128) + LC = RTLIB::FPTOUINT_LD_I64; Lo = ExpandLibCall(TLI.getLibcallName(LC), Node, false/*sign irrelevant*/, Hi); break; |

