iconv: add aliases for GBK
[musl.git] / src / setjmp / arm / longjmp.S
blob8df0b8190dd7c8f8be90f6c089b7469c43d7a373
1 .syntax unified
2 .global _longjmp
3 .global longjmp
4 .type _longjmp,%function
5 .type longjmp,%function
6 _longjmp:
7 longjmp:
8         mov ip,r0
9         movs r0,r1
10         moveq r0,#1
11         ldmia ip!, {v1,v2,v3,v4,v5,v6,sl,fp}
12         ldmia ip!, {r2,lr}
13         mov sp,r2
15         adr r1,1f
16         ldr r2,1f
17         ldr r1,[r1,r2]
19 #if __ARM_ARCH < 8
20         tst r1,#0x260
21         beq 3f
22         // HWCAP_ARM_FPA
23         tst r1,#0x20
24         beq 2f
25         ldc p2, cr4, [ip], #48
26 #endif
27 2:      tst r1,#0x40
28         beq 2f
29         .fpu vfp
30         vldmia ip!, {d8-d15}
31         .fpu softvfp
32         .eabi_attribute 10, 0
33         .eabi_attribute 27, 0
34 #if __ARM_ARCH < 8
35         // HWCAP_ARM_IWMMXT
36 2:      tst r1,#0x200
37         beq 3f
38         ldcl p1, cr10, [ip], #8
39         ldcl p1, cr11, [ip], #8
40         ldcl p1, cr12, [ip], #8
41         ldcl p1, cr13, [ip], #8
42         ldcl p1, cr14, [ip], #8
43         ldcl p1, cr15, [ip], #8
44 #endif
46 3:      bx lr
48 .hidden __hwcap
49 .align 2
50 1:      .word __hwcap-1b