diff --git a/lib/Target/Sparc/SparcISelDAGToDAG.cpp b/lib/Target/Sparc/SparcISelDAGToDAG.cpp index 069b542264f..195a32e7fb2 100644 --- a/lib/Target/Sparc/SparcISelDAGToDAG.cpp +++ b/lib/Target/Sparc/SparcISelDAGToDAG.cpp @@ -538,7 +538,7 @@ SparcV8TargetLowering::LowerCallTo(SDOperand Chain, const Type *RetTy, Chain = RetVal.getValue(1); break; case MVT::i64: - SDOperand Lo = DAG.getCopyFromReg(Chain, V8::O0, MVT::i32, InFlag); + SDOperand Lo = DAG.getCopyFromReg(Chain, V8::O1, MVT::i32, InFlag); SDOperand Hi = DAG.getCopyFromReg(Lo.getValue(1), V8::O0, MVT::i32, Lo.getValue(2)); RetVal = DAG.getNode(ISD::BUILD_PAIR, MVT::i64, Lo, Hi); diff --git a/lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp b/lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp index 069b542264f..195a32e7fb2 100644 --- a/lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp +++ b/lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp @@ -538,7 +538,7 @@ SparcV8TargetLowering::LowerCallTo(SDOperand Chain, const Type *RetTy, Chain = RetVal.getValue(1); break; case MVT::i64: - SDOperand Lo = DAG.getCopyFromReg(Chain, V8::O0, MVT::i32, InFlag); + SDOperand Lo = DAG.getCopyFromReg(Chain, V8::O1, MVT::i32, InFlag); SDOperand Hi = DAG.getCopyFromReg(Lo.getValue(1), V8::O0, MVT::i32, Lo.getValue(2)); RetVal = DAG.getNode(ISD::BUILD_PAIR, MVT::i64, Lo, Hi);