diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2003-11-13 19:42:03 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2003-11-13 19:42:03 +0000 |
commit | 1a679679953633f68b5f69576f172c34e8dc7f07 (patch) | |
tree | 92714624f3652d00628919df9c666c71517f8904 /gcc | |
parent | 49012f5c0f56b39c22a5bf5cf7a1f3626387eda7 (diff) | |
download | gcc-1a679679953633f68b5f69576f172c34e8dc7f07.zip gcc-1a679679953633f68b5f69576f172c34e8dc7f07.tar.gz gcc-1a679679953633f68b5f69576f172c34e8dc7f07.tar.bz2 |
lib1funcs.asm (udivsi3): Don't save/restore unused registers.
* config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
unused registers. Don't jump to exitdiv.
(umodsi3): Likewise.
From-SVN: r73555
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/h8300/lib1funcs.asm | 17 |
2 files changed, 21 insertions, 2 deletions
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 <kazu@cs.umass.edu> + + * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore + unused registers. Don't jump to exitdiv. + (umodsi3): Likewise. + 2003-11-13 Mark Mitchell <mark@codesourcery.com> Kean Johnston <jkj@sco.com> 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: |