[llvm-commits] [llvm] r123763 - /llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp

Bruno Cardoso Lopes bruno.cardoso at gmail.com
Tue Jan 18 11:38:25 PST 2011


Author: bruno
Date: Tue Jan 18 13:38:25 2011
New Revision: 123763

URL: http://llvm.org/viewvc/llvm-project?rev=123763&view=rev
Log:
Handle (i32,i32) => f64 in a cleaner way. Patch by Sasa Stankovic

Modified:
    llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp

Modified: llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp?rev=123763&r1=123762&r2=123763&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/Mips/MipsISelLowering.cpp Tue Jan 18 13:38:25 2011
@@ -1276,9 +1276,8 @@
           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);
         }
       }
 





More information about the llvm-commits mailing list