From: kazu Date: Thu, 13 Nov 2003 19:42:03 +0000 (+0000) Subject: * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore X-Git-Tag: upstream/4.9.2~75353 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8c98a03c6a1b0ec39c8341346bffd0eedad65649;p=platform%2Fupstream%2Flinaro-gcc.git * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore unused registers. Don't jump to exitdiv. (umodsi3): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73555 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 31dfb24..646a7be 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-11-13 Kazu Hirata + + * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore + unused registers. Don't jump to exitdiv. + (umodsi3): Likewise. + 2003-11-13 Mark Mitchell Kean Johnston diff --git a/gcc/config/h8300/lib1funcs.asm b/gcc/config/h8300/lib1funcs.asm index d71a11e..5b16ce3 100644 --- a/gcc/config/h8300/lib1funcs.asm +++ b/gcc/config/h8300/lib1funcs.asm @@ -448,27 +448,40 @@ ___modsi3: .global ___udivsi3 ___udivsi3: +#ifdef __H8300__ PUSHP S2P PUSHP S0P PUSHP S1P mov.b #0,S2L ; keep sign low bsr divmodsi4 bra exitdiv +#else + ;; H8/300H and H8S version of divmodsi4 does not clobber S1P or S2P. + PUSHP S0P + bsr divmodsi4 + POPP S0P + rts +#endif .global ___umodsi3 ___umodsi3: +#ifdef __H8300__ PUSHP S2P PUSHP S0P PUSHP S1P mov.b #0,S2L ; keep sign low bsr divmodsi4 -#ifdef __H8300__ mov S0,A0 mov S1,A1 + bra exitdiv #else + ;; H8/300H and H8S version of divmodsi4 does not clobber S1P or S2P. + PUSHP S0P + bsr divmodsi4 mov.l S0P,A0P + POPP S0P + rts #endif - bra exitdiv .global ___divsi3 ___divsi3: