https://gcc.gnu.org/g:7bd8428da72a0a1d3bef4e50be4b60b981ed540d

commit r13-8638-g7bd8428da72a0a1d3bef4e50be4b60b981ed540d
Author: Georg-Johann Lay <a...@gjlay.de>
Date:   Sun Apr 21 14:33:50 2024 +0200

    AVR: target/114794 - Tweak __udivmodqi4
    
    libgcc/
            PR target/114794
            * config/avr/lib1funcs.S (__udivmodqi4): Tweak.
    
    (cherry picked from commit a44d16efa7a508f8b8f303417d0714c39f159725)

Diff:
---
 libgcc/config/avr/lib1funcs.S | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libgcc/config/avr/lib1funcs.S b/libgcc/config/avr/lib1funcs.S
index 0870595111a..4ee651bf6ea 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

Reply via email to