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