lib1funcs.asm (modsi3): Don't save unused registers.
authorKazu Hirata <kazu@cs.umass.edu>
Fri, 14 Nov 2003 12:39:27 +0000 (12:39 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Fri, 14 Nov 2003 12:39:27 +0000 (12:39 +0000)
* config/h8300/lib1funcs.asm (modsi3): Don't save unused
registers.
(divsi3): Likewise.
(reti): Don't restore unused registers.

From-SVN: r73603

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

index c02bc9b642bcf592857148f168aa208ee289b65e..ef766e5c655e3d0fafc57f11c909c96984ee2657 100644 (file)
@@ -1,3 +1,10 @@
+2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/lib1funcs.asm (modsi3): Don't save unused
+       registers.
+       (divsi3): Likewise.
+       (reti): Don't restore unused registers.
+
 2003-11-14  Nick Clifton  <nickc@redhat.com>
 
        * config/fr30/fr30.c: Include toplev.h
index cc79e35e78b264ed9cb44aa8182fb45a986838ed..cf9689f304c1deb54b0792fb5ba02d6c4066dcd1 100644 (file)
@@ -432,20 +432,22 @@ mpostive2:
 ; denominator in A2/A3
        .global ___modsi3
 ___modsi3:
+#ifdef __H8300__
        PUSHP   S2P
        PUSHP   S0P
        PUSHP   S1P
-
        bsr     modnorm
-#ifdef __H8300__
        bsr     divmodsi4
        mov     S0,A0
        mov     S1,A1
+       bra     exitdiv
 #else
+       PUSHP   S2P
+       bsr     modnorm
        bsr     ___udivsi3
        mov.l   er3,er0
-#endif
        bra     exitdiv
+#endif
 
        ;; H8/300H and H8S version of ___udivsi3 is defined later in
        ;; the file.
@@ -477,13 +479,15 @@ ___umodsi3:
 
        .global ___divsi3
 ___divsi3:
+#ifdef __H8300__
        PUSHP   S2P
        PUSHP   S0P
        PUSHP   S1P
        jsr     divnorm
-#ifdef __H8300__
        jsr     divmodsi4
 #else
+       PUSHP   S2P
+       jsr     divnorm
        bsr     ___udivsi3
 #endif
 
@@ -508,8 +512,10 @@ exitdiv:
 #endif
 
 reti:
+#ifdef __H8300__
        POPP    S1P
        POPP    S0P
+#endif
        POPP    S2P
        rts