/** * add the primary and secondary registers * if lval2 is int pointer and lval is not, scale lval * @param lval * @param lval2 */ void gen_add(LVALUE *lval, LVALUE *lval2) { gen_pop (); if (dbltest (lval2, lval)) { gen_swap (); gen_multiply_by_two (); gen_swap (); } output_line ("dad \td"); }
/** * add the primary and secondary registers * if lval2 is int pointer and lval is not, scale lval * @param lval * @param lval2 */ void gen_add(LVALUE *lval, LVALUE *lval2) { if (dbltest (lval2, lval)) { gen_swap (); gen_multiply_by_two(); gen_swap (); } output_line ("popadd r1 r2"); stkp = stkp + INTSIZE; }