• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.syntax unified
2.global __setjmp
3.global _setjmp
4.global setjmp
5.type __setjmp,%function
6.type _setjmp,%function
7.type setjmp,%function
8__setjmp:
9_setjmp:
10setjmp:
11	mov ip,r0
12	stmia ip!,{v1,v2,v3,v4,v5,v6,sl,fp}
13	mov r2,sp
14	stmia ip!,{r2,lr}
15	mov r0,#0
16
17	adr r1,1f
18	ldr r2,1f
19	ldr r1,[r1,r2]
20
21#if __ARM_ARCH < 8
22	tst r1,#0x260
23	beq 3f
24	// HWCAP_ARM_FPA
25	tst r1,#0x20
26	beq 2f
27	stc p2, cr4, [ip], #48
28#endif
292:	tst r1,#0x40
30	beq 2f
31	.fpu vfp
32	vstmia ip!, {d8-d15}
33	.fpu softvfp
34	.eabi_attribute 10, 0
35	.eabi_attribute 27, 0
36#if __ARM_ARCH < 8
37	// HWCAP_ARM_IWMMXT
382:	tst r1,#0x200
39	beq 3f
40	stcl p1, cr10, [ip], #8
41	stcl p1, cr11, [ip], #8
42	stcl p1, cr12, [ip], #8
43	stcl p1, cr13, [ip], #8
44	stcl p1, cr14, [ip], #8
45	stcl p1, cr15, [ip], #8
46#endif
472:
483:	bx lr
49
50.hidden __hwcap
51.align 2
521:	.word __hwcap-1b
53