diff --git a/libgcc/config/avr/lib1funcs.S b/libgcc/config/avr/lib1funcs.S index 535510ab8672092e115ff49bb193386bbe3e8e42..af4d7d970169b289004835ed3a791a71c09df95a 100644 --- a/libgcc/config/avr/lib1funcs.S +++ b/libgcc/config/avr/lib1funcs.S @@ -1339,9 +1339,9 @@ ENDF __umulsidi3 #if defined (L_udivmodqi4) DEFUN __udivmodqi4 - sub r_rem,r_rem ; clear remainder and carry - ldi r_cnt,9 ; init loop counter - rjmp __udivmodqi4_ep ; jump to entry point + clr r_rem ; clear remainder + ldi r_cnt,8 ; init loop counter + lsl r_arg1 ; shift dividend __udivmodqi4_loop: rol r_rem ; shift dividend into remainder cp r_rem,r_arg2 ; compare remainder & divisor