aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2003-11-14 12:39:27 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2003-11-14 12:39:27 +0000
commit9fe7f443dd960692dcaeb6ff788f1026fda92315 (patch)
tree1028289bfefd5010be44c2b6d598dae21aa21240 /gcc
parent38455b2b8b7175b479eb13292b55010521a92ddc (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/h8300/lib1funcs.asm14
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