diff options
| author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2011-01-18 19:38:25 +0000 |
|---|---|---|
| committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2011-01-18 19:38:25 +0000 |
| commit | b1fce0a01618da2e3ff41e7ee9ff71924533d646 (patch) | |
| tree | 0e36e392373db13686b617268718a85452887126 /lib/Target/Mips | |
| parent | 8be76112454e736db1815e6159644bf56ce04ac0 (diff) | |
| download | external_llvm-b1fce0a01618da2e3ff41e7ee9ff71924533d646.zip external_llvm-b1fce0a01618da2e3ff41e7ee9ff71924533d646.tar.gz external_llvm-b1fce0a01618da2e3ff41e7ee9ff71924533d646.tar.bz2 | |
Handle (i32,i32) => f64 in a cleaner way. Patch by Sasa Stankovic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123763 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips')
| -rw-r--r-- | lib/Target/Mips/MipsISelLowering.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/Target/Mips/MipsISelLowering.cpp b/lib/Target/Mips/MipsISelLowering.cpp index 786add6..ed91193 100644 --- a/lib/Target/Mips/MipsISelLowering.cpp +++ b/lib/Target/Mips/MipsISelLowering.cpp @@ -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); } } |
