Files

26 lines
442 B
ArmAsm

.global setjmp
setjmp:
stm r0!, {r4-r12,lr}
mov r1, sp
ldm r0!, {r1}
#ifdef __ARM_NEON__
vstm r0!, {d8-d15}
#endif // __ARM_NEON__
mov r0, #0
bx lr
.global longjmp
longjmp:
ldm r0!, {r4-r12,lr}
ldm r0!, {r1}
mov sp, r1
#ifdef __ARM_NEON__
vldm r0!, {d8-d15}
#endif // __ARM_NEON__
mov r0, r1
cmp r0, #0
bne 1f
mov r0, #1
1:
bx lr