diff options
| author | Dale Johannesen <dalej@apple.com> | 2007-09-30 18:19:03 +0000 |
|---|---|---|
| committer | Dale Johannesen <dalej@apple.com> | 2007-09-30 18:19:03 +0000 |
| commit | 9150652b21ac0b4fe9dc836c1fb14026a217da13 (patch) | |
| tree | 7c9dc75817f5efc356ea7919c64d6b264b39c7bb /llvm/lib/CodeGen | |
| parent | 28a2c4a9c4ccfe872e450d7dd99255336e73ee30 (diff) | |
| download | bcm5719-llvm-9150652b21ac0b4fe9dc836c1fb14026a217da13.tar.gz bcm5719-llvm-9150652b21ac0b4fe9dc836c1fb14026a217da13.zip | |
Constant fold int-to-long-double conversions;
use APFloat for int-to-float/double; use
round-to-nearest for these (implementation-defined,
seems to match gcc).
llvm-svn: 42484
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index 2fc8b0a7b9d..7f2b6e7630a 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -3220,7 +3220,7 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) { APFloat apf = APFloat(APInt(MVT::getSizeInBits(VT), 2, zero)); uint64_t x = 1ULL << ShiftAmt; (void)apf.convertFromInteger(&x, MVT::getSizeInBits(NVT), false, - APFloat::rmTowardZero); + APFloat::rmNearestTiesToEven); Tmp2 = DAG.getConstantFP(apf, VT); Tmp3 = DAG.getSetCC(TLI.getSetCCResultTy(), Node->getOperand(0), Tmp2, ISD::SETLT); diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 042868d7bb1..e286eb0ec5b 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -1598,7 +1598,7 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, (void)apf.convertFromInteger(&Val, MVT::getSizeInBits(Operand.getValueType()), Opcode==ISD::SINT_TO_FP, - APFloat::rmTowardZero); + APFloat::rmNearestTiesToEven); return getConstantFP(apf, VT); } case ISD::BIT_CONVERT: |

