Fixed codegen bug for amd64 64-bit binary ops.

This commit is contained in:
David Anderson 2008-08-19 11:00:17 -07:00
parent e503629dbe
commit aef458673b

View File

@ -1276,7 +1276,14 @@ namespace nanojit
SHLQi(rr, c); SHLQi(rr, c);
} }
} else { } else {
Register rv = findRegFor(rhs, GpRegs); Register rv;
if (lhs == rhs) {
rv = ra;
} else {
rv = findRegFor(rhs, GpRegs & ~(rmask(rr)));
}
if (op == LIR_qiadd) { if (op == LIR_qiadd) {
ADDQ(rr, rv); ADDQ(rr, rv);
} else if (op == LIR_qiand) { } else if (op == LIR_qiand) {