diff options
Diffstat (limited to 'newlib')
-rw-r--r-- | newlib/ChangeLog | 5 | ||||
-rw-r--r-- | newlib/libc/machine/mn10300/setjmp.S | 18 |
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 |