OSDN Git Service

* config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Nov 2003 20:39:30 +0000 (20:39 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Nov 2003 20:39:30 +0000 (20:39 +0000)
iteration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73620 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/h8300/lib1funcs.asm

index 3725a1c..44b6690 100644 (file)
@@ -1,3 +1,8 @@
+2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
+       iteration.
+
 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
 
        * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
index 44d3990..744d402 100644 (file)
@@ -633,13 +633,16 @@ divmod_L21:
        mov.w   e2,e2
        bne     divmod_L21
 #else
-       bra     divmod_L22
+       shlr.l  #2,er2          ; make divisor < 2^16
+       mov.w   e2,e2
+       beq     divmod_L22A
 divmod_L21:
        shlr.l  #2,er0
 divmod_L22:
        shlr.l  #2,er2          ; make divisor < 2^16
        mov.w   e2,e2
        bne     divmod_L21
+divmod_L22A:
        rotxl.w r2
        bcs     divmod_L23
        shlr.l  er0