1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00

Handle (i32,i32) => f64 in a cleaner way. Patch by Sasa Stankovic

llvm-svn: 123763
This commit is contained in:
Bruno Cardoso Lopes 2011-01-18 19:38:25 +00:00
parent 6c5db0236a
commit 542853bcd7

View File

@ -1276,9 +1276,8 @@ MipsTargetLowering::LowerFormalArguments(SDValue Chain,
unsigned Reg2 = AddLiveIn(DAG.getMachineFunction(),
VA.getLocReg()+1, RC);
SDValue ArgValue2 = DAG.getCopyFromReg(Chain, dl, Reg2, RegVT);
SDValue Hi = DAG.getNode(ISD::BITCAST, dl, MVT::f32, ArgValue);
SDValue Lo = DAG.getNode(ISD::BITCAST, dl, MVT::f32, ArgValue2);
ArgValue = DAG.getNode(ISD::BUILD_PAIR, dl, MVT::f64, Lo, Hi);
SDValue Pair = DAG.getNode(ISD::BUILD_PAIR, dl, MVT::i64, ArgValue2, ArgValue);
ArgValue = DAG.getNode(ISD::BITCAST, dl, MVT::f64, Pair);
}
}