master
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