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
51