* config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 Nov 2003 22:28:07 +0000 (22:28 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 Nov 2003 22:28:07 +0000 (22:28 +0000)
instead of exitdiv.
(___umodsi3): Likewise.
(exitdiv): Do not restore any register.
(reti): Restore registers.

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

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

index fee78ad..d0ddf50 100644 (file)
@@ -1,3 +1,11 @@
+2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
+       instead of exitdiv.
+       (___umodsi3): Likewise.
+       (exitdiv): Do not restore any register.
+       (reti): Restore registers.
+
 2003-11-13  Steven Bosscher  <stevenb@suse.de>
 
        * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
index dd43592..3e7d89f 100644 (file)
@@ -452,9 +452,8 @@ ___udivsi3:
        PUSHP   S2P
        PUSHP   S0P
        PUSHP   S1P
-       mov.b   #0,S2L  ; keep sign low
        bsr     divmodsi4
-       bra     exitdiv
+       bra     reti
 #else
        ;; H8/300H and H8S version of divmodsi4 does not clobber S1P or S2P.
        PUSHP   S0P
@@ -469,11 +468,10 @@ ___umodsi3:
        PUSHP   S2P
        PUSHP   S0P
        PUSHP   S1P
-       mov.b   #0,S2L  ; keep sign low
        bsr     divmodsi4
        mov     S0,A0
        mov     S1,A1
-       bra     exitdiv
+       bra     reti
 #else
        ;; H8/300H and H8S version of divmodsi4 does not clobber S1P or S2P.
        PUSHP   S0P
@@ -493,9 +491,6 @@ ___divsi3:
 
        ; examine what the sign should be
 exitdiv:
-       POPP    S1P
-       POPP    S0P
-
        or      S2L,S2L
        beq     reti
 
@@ -515,6 +510,8 @@ exitdiv:
 #endif
 
 reti:
+       POPP    S1P
+       POPP    S0P
        POPP    S2P
        rts