extend fp values with FP_EXTEND not FP_ROUND.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48097 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2008-03-09 07:47:22 +00:00
parent db96ae9607
commit d43d85ccc9

View File

@ -759,9 +759,12 @@ static SDOperand getCopyFromParts(SelectionDAG &DAG,
}
}
if (MVT::isFloatingPoint(PartVT) && MVT::isFloatingPoint(ValueVT))
return DAG.getNode(ISD::FP_ROUND, ValueVT, Val,
DAG.getIntPtrConstant(TruncExact));
if (MVT::isFloatingPoint(PartVT) && MVT::isFloatingPoint(ValueVT)) {
if (ValueVT < Val.getValueType())
return DAG.getNode(ISD::FP_ROUND, ValueVT, Val,
DAG.getIntPtrConstant(TruncExact));
return DAG.getNode(ISD::FP_EXTEND, ValueVT, Val);
}
if (MVT::getSizeInBits(PartVT) == MVT::getSizeInBits(ValueVT))
return DAG.getNode(ISD::BIT_CONVERT, ValueVT, Val);