1570af302Sopenharmony_ci.syntax unified
2570af302Sopenharmony_ci.global __setjmp
3570af302Sopenharmony_ci.global _setjmp
4570af302Sopenharmony_ci.global setjmp
5570af302Sopenharmony_ci.type __setjmp,%function
6570af302Sopenharmony_ci.type _setjmp,%function
7570af302Sopenharmony_ci.type setjmp,%function
8570af302Sopenharmony_ci__setjmp:
9570af302Sopenharmony_ci_setjmp:
10570af302Sopenharmony_cisetjmp:
11570af302Sopenharmony_ci	mov ip,r0
12570af302Sopenharmony_ci	stmia ip!,{v1,v2,v3,v4,v5,v6,sl,fp}
13570af302Sopenharmony_ci	mov r2,sp
14570af302Sopenharmony_ci	stmia ip!,{r2,lr}
15570af302Sopenharmony_ci	mov r0,#0
16570af302Sopenharmony_ci
17570af302Sopenharmony_ci	adr r1,1f
18570af302Sopenharmony_ci	ldr r2,1f
19570af302Sopenharmony_ci	ldr r1,[r1,r2]
20570af302Sopenharmony_ci
21570af302Sopenharmony_ci#if __ARM_ARCH < 8
22570af302Sopenharmony_ci	tst r1,#0x260
23570af302Sopenharmony_ci	beq 3f
24570af302Sopenharmony_ci	// HWCAP_ARM_FPA
25570af302Sopenharmony_ci	tst r1,#0x20
26570af302Sopenharmony_ci	beq 2f
27570af302Sopenharmony_ci	stc p2, cr4, [ip], #48
28570af302Sopenharmony_ci#endif
29570af302Sopenharmony_ci2:	tst r1,#0x40
30570af302Sopenharmony_ci	beq 2f
31570af302Sopenharmony_ci	.fpu vfp
32570af302Sopenharmony_ci	vstmia ip!, {d8-d15}
33570af302Sopenharmony_ci	.fpu softvfp
34570af302Sopenharmony_ci	.eabi_attribute 10, 0
35570af302Sopenharmony_ci	.eabi_attribute 27, 0
36570af302Sopenharmony_ci#if __ARM_ARCH < 8
37570af302Sopenharmony_ci	// HWCAP_ARM_IWMMXT
38570af302Sopenharmony_ci2:	tst r1,#0x200
39570af302Sopenharmony_ci	beq 3f
40570af302Sopenharmony_ci	stcl p1, cr10, [ip], #8
41570af302Sopenharmony_ci	stcl p1, cr11, [ip], #8
42570af302Sopenharmony_ci	stcl p1, cr12, [ip], #8
43570af302Sopenharmony_ci	stcl p1, cr13, [ip], #8
44570af302Sopenharmony_ci	stcl p1, cr14, [ip], #8
45570af302Sopenharmony_ci	stcl p1, cr15, [ip], #8
46570af302Sopenharmony_ci#endif
47570af302Sopenharmony_ci2:
48570af302Sopenharmony_ci3:	bx lr
49570af302Sopenharmony_ci
50570af302Sopenharmony_ci.hidden __hwcap
51570af302Sopenharmony_ci.align 2
52570af302Sopenharmony_ci1:	.word __hwcap-1b
53