From 9fe7f443dd960692dcaeb6ff788f1026fda92315 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Fri, 14 Nov 2003 12:39:27 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/config/h8300/lib1funcs.asm | 14 ++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c02bc9b642b..ef766e5c655 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2003-11-14 Kazu Hirata + + * config/h8300/lib1funcs.asm (modsi3): Don't save unused + registers. + (divsi3): Likewise. + (reti): Don't restore unused registers. + 2003-11-14 Nick Clifton * config/fr30/fr30.c: Include toplev.h diff --git a/gcc/config/h8300/lib1funcs.asm b/gcc/config/h8300/lib1funcs.asm index cc79e35e78b..cf9689f304c 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