diff options
author | Rich Felker <dalias@aerifal.cx> | 2012-07-27 00:17:09 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012-07-27 00:17:09 -0400 |
commit | 5aac5e2189f322a54a49958d928f30e1c9505561 (patch) | |
tree | 258ba3778b2a1d8c474e31f2a510dd710e1506dd /src/setjmp/arm/longjmp.s | |
parent | e1b9c1b01be294cc2865acfe33544d5e5cc50eb4 (diff) | |
download | musl-5aac5e2189f322a54a49958d928f30e1c9505561.tar.gz musl-5aac5e2189f322a54a49958d928f30e1c9505561.tar.xz musl-5aac5e2189f322a54a49958d928f30e1c9505561.zip |
optimize arm setjmp/longjmp register saving/loading
the original code was wrongly based on how it would be done in thumb mode, but that's not needed because musl's asm only targets arm.
Diffstat (limited to 'src/setjmp/arm/longjmp.s')
-rw-r--r-- | src/setjmp/arm/longjmp.s | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/setjmp/arm/longjmp.s b/src/setjmp/arm/longjmp.s index 037cb3d3..690a0089 100644 --- a/src/setjmp/arm/longjmp.s +++ b/src/setjmp/arm/longjmp.s @@ -7,9 +7,7 @@ longjmp: mov ip,r0 movs r0,r1 moveq r0,#1 - ldmia ip!, {v1,v2,v3,v4,v5,v6,sl,fp} - ldr sp,[ip],#4 - ldr lr,[ip],#4 + ldmia ip!, {v1,v2,v3,v4,v5,v6,sl,fp,sp,lr} tst lr,#1 moveq pc,lr bx lr |