mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-24 12:29:33 +00:00
Emit the lo/hi parts in the right order :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23068 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
eb0c36d173
commit
b20c318df0
@ -1153,7 +1153,6 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) {
|
|||||||
CarryFromLo = CurDAG->getTargetNode(PPC::ADDC, MVT::i32, MVT::Flag,
|
CarryFromLo = CurDAG->getTargetNode(PPC::ADDC, MVT::i32, MVT::Flag,
|
||||||
LHSL, Select(N->getOperand(2)));
|
LHSL, Select(N->getOperand(2)));
|
||||||
}
|
}
|
||||||
Result.push_back(CarryFromLo);
|
|
||||||
CarryFromLo = CarryFromLo.getValue(1);
|
CarryFromLo = CarryFromLo.getValue(1);
|
||||||
|
|
||||||
// Codegen the high 32 bits, adding zero, minus one, or the full value
|
// Codegen the high 32 bits, adding zero, minus one, or the full value
|
||||||
@ -1167,6 +1166,7 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) {
|
|||||||
ResultHi = CurDAG->getTargetNode(PPC::ADDE, MVT::i32, LHSH,
|
ResultHi = CurDAG->getTargetNode(PPC::ADDE, MVT::i32, LHSH,
|
||||||
Select(N->getOperand(3)), CarryFromLo);
|
Select(N->getOperand(3)), CarryFromLo);
|
||||||
Result.push_back(ResultHi);
|
Result.push_back(ResultHi);
|
||||||
|
Result.push_back(CarryFromLo.getValue(0));
|
||||||
CurDAG->ReplaceAllUsesWith(N, Result);
|
CurDAG->ReplaceAllUsesWith(N, Result);
|
||||||
return Result[Op.ResNo];
|
return Result[Op.ResNo];
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user