Bug fix in multiplication optimization

This commit is contained in:
ceriel 1991-11-23 12:17:18 +00:00
parent 6fa0e5bfb0
commit aa702fa855

View file

@ -777,19 +777,19 @@ repl_mul(lp, b, e)
newinstr(b, op_exg, sz); b = &((*b)->l_next);
newinstr(b, op_dup, 2*sz); b = &((*b)->l_next);
newinstr(b, op_asp, sz); b = &((*b)->l_next);
newinstr(b, op_sbu, sz); b = &((*b)->l_next);
retval++;
newinstr(b, op_exg, sz); b = &((*b)->l_next);
newinstr(b, op_loc, n1); b = &((*b)->l_next);
newinstr(b, op_slu, sz); b = &((*b)->l_next);
retval++;
newinstr(b, op_exg, sz); b = &((*b)->l_next);
newinstr(b, op_dup, 2*sz); b = &((*b)->l_next);
newinstr(b, op_asp, sz); b = &((*b)->l_next);
newinstr(b, op_adu, sz); b = &((*b)->l_next);
newinstr(b, op_exg, sz); b = &((*b)->l_next);
retval++;
}
newinstr(b, op_sbu, sz); b = &((*b)->l_next);
retval++;
newinstr(b, op_exg, sz); b = &((*b)->l_next);
newinstr(b, op_loc, n1); b = &((*b)->l_next);
newinstr(b, op_slu, sz); b = &((*b)->l_next);
retval++;
newinstr(b, op_exg, sz); b = &((*b)->l_next);
newinstr(b, op_dup, 2*sz); b = &((*b)->l_next);
newinstr(b, op_asp, sz); b = &((*b)->l_next);
newinstr(b, op_adu, sz); b = &((*b)->l_next);
newinstr(b, op_exg, sz); b = &((*b)->l_next);
retval++;
if (n0) {
newinstr(b, op_loc, n0); b = &((*b)->l_next);
newinstr(b, op_slu, sz); b = &((*b)->l_next);