aboutsummaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2000-04-27 10:49:16 +0000
committerAlexandre Oliva <aoliva@redhat.com>2000-04-27 10:49:16 +0000
commit91fb1e7f6ca22c27ac904c29bbdb5e6d6a1b3f11 (patch)
treef36b8595c233b80c4ede651c9f333e2dc6c49b7e /newlib
parent865ab4b83fe77798b55aa0030139840837d78c89 (diff)
downloadnewlib-91fb1e7f6ca22c27ac904c29bbdb5e6d6a1b3f11.zip
newlib-91fb1e7f6ca22c27ac904c29bbdb5e6d6a1b3f11.tar.gz
newlib-91fb1e7f6ca22c27ac904c29bbdb5e6d6a1b3f11.tar.bz2
* libc/machine/mn10300/setjmp.S (setjmp, longjmp): Use
post-increment when it is worth it, spacewise.
Diffstat (limited to 'newlib')
-rw-r--r--newlib/ChangeLog5
-rw-r--r--newlib/libc/machine/mn10300/setjmp.S18
2 files changed, 15 insertions, 8 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 2f9a2b5..32b8567 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,8 @@
+Thu Apr 27 07:45:48 2000 Alexandre Oliva <aoliva@cygnus.com>
+
+ * libc/machine/mn10300/setjmp.S (setjmp, longjmp): Use
+ post-increment when it is worth it, spacewise.
+
Mon Apr 17 12:46:00 2000 Marek Michalkiewicz <marekm@linux.org.pl>
* libc/signal/signal.c (_signal_r) : Removed unused local variable temp.
diff --git a/newlib/libc/machine/mn10300/setjmp.S b/newlib/libc/machine/mn10300/setjmp.S
index 006aa3e..a95f12c 100644
--- a/newlib/libc/machine/mn10300/setjmp.S
+++ b/newlib/libc/machine/mn10300/setjmp.S
@@ -17,10 +17,11 @@ _setjmp:
mov sp,a1
mov a1,(20,a0)
#ifdef __AM33__
- mov r4,(24,a0)
- mov r5,(28,a0)
- mov r6,(32,a0)
- mov r7,(36,a0)
+ add 24,a0
+ mov r4,(a0+)
+ mov r5,(a0+)
+ mov r6,(a0+)
+ mov r7,(a0+)
#endif
sub d0,d0
rets
@@ -37,10 +38,11 @@ _longjmp:
mov (20,a0),a1
mov a1,sp
#ifdef __AM33__
- mov (24,a0),r4
- mov (28,a0),r5
- mov (32,a0),r6
- mov (36,a0),r7
+ add 24,a0
+ mov (a0+),r4
+ mov (a0+),r5
+ mov (a0+),r6
+ mov (a0+),r7
#endif
cmp 0,d1
bne L1