explicitly assemble all arm asm sources as UAL
[musl] / src / setjmp / arm / setjmp.s
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:
10 setjmp:
11         mov ip,r0
12         stmia ip!,{v1,v2,v3,v4,v5,v6,sl,fp,sp,lr}
13         mov r0,#0
14
15         adr r1,1f
16         ldr r2,1f
17         ldr r1,[r1,r2]
18
19         tst r1,#0x260
20         beq 3f
21         tst r1,#0x20
22         beq 2f
23         stc p2, cr4, [ip], #48
24 2:      tst r1,#0x40
25         beq 2f
26         .fpu vfp
27         vstmia ip!, {d8-d15}
28         .fpu softvfp
29         .eabi_attribute 10, 0
30         .eabi_attribute 27, 0
31 2:      tst r1,#0x200
32         beq 3f
33         stcl p1, cr10, [ip], #8
34         stcl p1, cr11, [ip], #8
35         stcl p1, cr12, [ip], #8
36         stcl p1, cr13, [ip], #8
37         stcl p1, cr14, [ip], #8
38         stcl p1, cr15, [ip], #8
39 3:      bx lr
40
41 .hidden __hwcap
42 1:      .word __hwcap-1b