fixed a register allocation bug
[fw/sdcc] / src / mcs51 / ralloc.c
index 80d81667596cc4a31c44ffd53864fac490832f2b..368f58fa7ae72682b7ca981b9a5f0cecc514cf0d 100644 (file)
@@ -1103,7 +1103,7 @@ static void serialRegAssign (eBBlock **ebbs, int count)
                                     OP_SYMBOL(IC_LEFT(ic)),ic->lineno);
                /* do the same for the right operand */
                if (IC_RIGHT(ic) && IS_SYMOP(IC_RIGHT(ic)) &&
-                   OP_SYMBOL(IC_RIGHT(ic))->nRegs && ic->op != '=')
+                   OP_SYMBOL(IC_RIGHT(ic))->nRegs)
                        positionRegs(OP_SYMBOL(IC_RESULT(ic)),
                                     OP_SYMBOL(IC_RIGHT(ic)),ic->lineno);