diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2003-11-14 12:39:27 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2003-11-14 12:39:27 +0000 |
commit | 9fe7f443dd960692dcaeb6ff788f1026fda92315 (patch) | |
tree | 1028289bfefd5010be44c2b6d598dae21aa21240 | |
parent | 38455b2b8b7175b479eb13292b55010521a92ddc (diff) | |
download | gcc-9fe7f443dd960692dcaeb6ff788f1026fda92315.zip gcc-9fe7f443dd960692dcaeb6ff788f1026fda92315.tar.gz gcc-9fe7f443dd960692dcaeb6ff788f1026fda92315.tar.bz2 |
lib1funcs.asm (modsi3): Don't save unused registers.
* config/h8300/lib1funcs.asm (modsi3): Don't save unused
registers.
(divsi3): Likewise.
(reti): Don't restore unused registers.
From-SVN: r73603
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/h8300/lib1funcs.asm | 14 |
2 files changed, 17 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c02bc9b..ef766e5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/h8300/lib1funcs.asm b/gcc/config/h8300/lib1funcs.asm index cc79e35..cf9689f 100644 --- a/gcc/config/h8300/lib1funcs.asm +++ b/gcc/config/h8300/lib1funcs.asm @@ -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 |