master
1.syntax unified
2.global _longjmp
3.global longjmp
4.type _longjmp,%function
5.type longjmp,%function
6_longjmp:
7longjmp:
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
14
15 adr r1,1f
16 ldr r2,1f
17 ldr r1,[r1,r2]
18
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
272: 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
362: 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
452:
463: bx lr
47
48.hidden __hwcap
49.align 2
501: .word __hwcap-1b