mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-24 04:32:09 +00:00
Do not generate a FP_ROUND of f64 to f64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46195 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
187784996c
commit
713ed3f7c0
@ -3608,10 +3608,11 @@ SDOperand SelectionDAGLegalize::LegalizeOp(SDOperand Op) {
|
||||
MVT::ValueType SrcVT = Op.getOperand(0).getValueType();
|
||||
if (TLI.getConvertAction(SrcVT, DstVT) == TargetLowering::Expand) {
|
||||
if (SrcVT == MVT::ppcf128) {
|
||||
SDOperand Lo, Hi;
|
||||
ExpandOp(Node->getOperand(0), Lo, Hi);
|
||||
SDOperand Lo;
|
||||
ExpandOp(Node->getOperand(0), Lo, Result);
|
||||
// Round it the rest of the way (e.g. to f32) if needed.
|
||||
Result = DAG.getNode(ISD::FP_ROUND, DstVT, Hi, Op.getOperand(1));
|
||||
if (DstVT!=MVT::f64)
|
||||
Result = DAG.getNode(ISD::FP_ROUND, DstVT, Result, Op.getOperand(1));
|
||||
break;
|
||||
}
|
||||
// The only other way we can lower this is to turn it into a STORE,
|
||||
|
Loading…
x
Reference in New Issue
Block a user