aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2003-11-13 22:28:07 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2003-11-13 22:28:07 +0000
commitab7c6efde002ac6bdc13dd04a7273ccf9af3c62d (patch)
tree23bc99f57aa404ac4d50fa884fb68c4e409e6618 /gcc
parent415294f0e03993a46b859da9d29c925d7b054965 (diff)
downloadgcc-ab7c6efde002ac6bdc13dd04a7273ccf9af3c62d.zip
gcc-ab7c6efde002ac6bdc13dd04a7273ccf9af3c62d.tar.gz
gcc-ab7c6efde002ac6bdc13dd04a7273ccf9af3c62d.tar.bz2
lib1funcs.asm (___udivsi3): Jump to reti instead of exitdiv.
* config/h8300/lib1funcs.asm (___udivsi3): Jump to reti instead of exitdiv. (___umodsi3): Likewise. (exitdiv): Do not restore any register. (reti): Restore registers. From-SVN: r73560
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/h8300/lib1funcs.asm11
2 files changed, 12 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fee78ad..d0ddf50 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
+ instead of exitdiv.
+ (___umodsi3): Likewise.
+ (exitdiv): Do not restore any register.
+ (reti): Restore registers.
+
2003-11-13 Steven Bosscher <stevenb@suse.de>
* tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
diff --git a/gcc/config/h8300/lib1funcs.asm b/gcc/config/h8300/lib1funcs.asm
index dd43592..3e7d89f 100644
--- a/gcc/config/h8300/lib1funcs.asm
+++ b/gcc/config/h8300/lib1funcs.asm
@@ -452,9 +452,8 @@ ___udivsi3:
PUSHP S2P
PUSHP S0P
PUSHP S1P
- mov.b #0,S2L ; keep sign low
bsr divmodsi4
- bra exitdiv
+ bra reti
#else
;; H8/300H and H8S version of divmodsi4 does not clobber S1P or S2P.
PUSHP S0P
@@ -469,11 +468,10 @@ ___umodsi3:
PUSHP S2P
PUSHP S0P
PUSHP S1P
- mov.b #0,S2L ; keep sign low
bsr divmodsi4
mov S0,A0
mov S1,A1
- bra exitdiv
+ bra reti
#else
;; H8/300H and H8S version of divmodsi4 does not clobber S1P or S2P.
PUSHP S0P
@@ -493,9 +491,6 @@ ___divsi3:
; examine what the sign should be
exitdiv:
- POPP S1P
- POPP S0P
-
or S2L,S2L
beq reti
@@ -515,6 +510,8 @@ exitdiv:
#endif
reti:
+ POPP S1P
+ POPP S0P
POPP S2P
rts