1*c9945492SAndroid Build Coastguard Worker .global ___setjmp 2*c9945492SAndroid Build Coastguard Worker .hidden ___setjmp 3*c9945492SAndroid Build Coastguard Worker .global __setjmp 4*c9945492SAndroid Build Coastguard Worker .global _setjmp 5*c9945492SAndroid Build Coastguard Worker .global setjmp 6*c9945492SAndroid Build Coastguard Worker .type __setjmp,@function 7*c9945492SAndroid Build Coastguard Worker .type _setjmp,@function 8*c9945492SAndroid Build Coastguard Worker .type setjmp,@function 9*c9945492SAndroid Build Coastguard Worker___setjmp: 10*c9945492SAndroid Build Coastguard Worker__setjmp: 11*c9945492SAndroid Build Coastguard Worker_setjmp: 12*c9945492SAndroid Build Coastguard Workersetjmp: 13*c9945492SAndroid Build Coastguard Worker /* 0) store IP int 0, then into the jmpbuf pointed to by r3 (first arg) */ 14*c9945492SAndroid Build Coastguard Worker mflr 0 15*c9945492SAndroid Build Coastguard Worker stw 0, 0(3) 16*c9945492SAndroid Build Coastguard Worker /* 1) store reg1 (SP) */ 17*c9945492SAndroid Build Coastguard Worker stw 1, 4(3) 18*c9945492SAndroid Build Coastguard Worker /* 2) store cr */ 19*c9945492SAndroid Build Coastguard Worker mfcr 0 20*c9945492SAndroid Build Coastguard Worker stw 0, 8(3) 21*c9945492SAndroid Build Coastguard Worker /* 3) store r14-31 */ 22*c9945492SAndroid Build Coastguard Worker stw 14, 12(3) 23*c9945492SAndroid Build Coastguard Worker stw 15, 16(3) 24*c9945492SAndroid Build Coastguard Worker stw 16, 20(3) 25*c9945492SAndroid Build Coastguard Worker stw 17, 24(3) 26*c9945492SAndroid Build Coastguard Worker stw 18, 28(3) 27*c9945492SAndroid Build Coastguard Worker stw 19, 32(3) 28*c9945492SAndroid Build Coastguard Worker stw 20, 36(3) 29*c9945492SAndroid Build Coastguard Worker stw 21, 40(3) 30*c9945492SAndroid Build Coastguard Worker stw 22, 44(3) 31*c9945492SAndroid Build Coastguard Worker stw 23, 48(3) 32*c9945492SAndroid Build Coastguard Worker stw 24, 52(3) 33*c9945492SAndroid Build Coastguard Worker stw 25, 56(3) 34*c9945492SAndroid Build Coastguard Worker stw 26, 60(3) 35*c9945492SAndroid Build Coastguard Worker stw 27, 64(3) 36*c9945492SAndroid Build Coastguard Worker stw 28, 68(3) 37*c9945492SAndroid Build Coastguard Worker stw 29, 72(3) 38*c9945492SAndroid Build Coastguard Worker stw 30, 76(3) 39*c9945492SAndroid Build Coastguard Worker stw 31, 80(3) 40*c9945492SAndroid Build Coastguard Worker#if defined(_SOFT_FLOAT) || defined(__NO_FPRS__) 41*c9945492SAndroid Build Coastguard Worker mflr 0 42*c9945492SAndroid Build Coastguard Worker bl 1f 43*c9945492SAndroid Build Coastguard Worker .hidden __hwcap 44*c9945492SAndroid Build Coastguard Worker .long __hwcap-. 45*c9945492SAndroid Build Coastguard Worker1: mflr 4 46*c9945492SAndroid Build Coastguard Worker lwz 5, 0(4) 47*c9945492SAndroid Build Coastguard Worker lwzx 4, 4, 5 48*c9945492SAndroid Build Coastguard Worker andis. 4, 4, 0x80 49*c9945492SAndroid Build Coastguard Worker beq 1f 50*c9945492SAndroid Build Coastguard Worker .long 0x11c35b21 /* evstdd 14,88(3) */ 51*c9945492SAndroid Build Coastguard Worker .long 0x11e36321 /* ... */ 52*c9945492SAndroid Build Coastguard Worker .long 0x12036b21 53*c9945492SAndroid Build Coastguard Worker .long 0x12237321 54*c9945492SAndroid Build Coastguard Worker .long 0x12437b21 55*c9945492SAndroid Build Coastguard Worker .long 0x12638321 56*c9945492SAndroid Build Coastguard Worker .long 0x12838b21 57*c9945492SAndroid Build Coastguard Worker .long 0x12a39321 58*c9945492SAndroid Build Coastguard Worker .long 0x12c39b21 59*c9945492SAndroid Build Coastguard Worker .long 0x12e3a321 60*c9945492SAndroid Build Coastguard Worker .long 0x1303ab21 61*c9945492SAndroid Build Coastguard Worker .long 0x1323b321 62*c9945492SAndroid Build Coastguard Worker .long 0x1343bb21 63*c9945492SAndroid Build Coastguard Worker .long 0x1363c321 64*c9945492SAndroid Build Coastguard Worker .long 0x1383cb21 65*c9945492SAndroid Build Coastguard Worker .long 0x13a3d321 66*c9945492SAndroid Build Coastguard Worker .long 0x13c3db21 67*c9945492SAndroid Build Coastguard Worker .long 0x13e3e321 /* evstdd 31,224(3) */ 68*c9945492SAndroid Build Coastguard Worker .long 0x11a3eb21 /* evstdd 13,232(3) */ 69*c9945492SAndroid Build Coastguard Worker1: mtlr 0 70*c9945492SAndroid Build Coastguard Worker#else 71*c9945492SAndroid Build Coastguard Worker stfd 14,88(3) 72*c9945492SAndroid Build Coastguard Worker stfd 15,96(3) 73*c9945492SAndroid Build Coastguard Worker stfd 16,104(3) 74*c9945492SAndroid Build Coastguard Worker stfd 17,112(3) 75*c9945492SAndroid Build Coastguard Worker stfd 18,120(3) 76*c9945492SAndroid Build Coastguard Worker stfd 19,128(3) 77*c9945492SAndroid Build Coastguard Worker stfd 20,136(3) 78*c9945492SAndroid Build Coastguard Worker stfd 21,144(3) 79*c9945492SAndroid Build Coastguard Worker stfd 22,152(3) 80*c9945492SAndroid Build Coastguard Worker stfd 23,160(3) 81*c9945492SAndroid Build Coastguard Worker stfd 24,168(3) 82*c9945492SAndroid Build Coastguard Worker stfd 25,176(3) 83*c9945492SAndroid Build Coastguard Worker stfd 26,184(3) 84*c9945492SAndroid Build Coastguard Worker stfd 27,192(3) 85*c9945492SAndroid Build Coastguard Worker stfd 28,200(3) 86*c9945492SAndroid Build Coastguard Worker stfd 29,208(3) 87*c9945492SAndroid Build Coastguard Worker stfd 30,216(3) 88*c9945492SAndroid Build Coastguard Worker stfd 31,224(3) 89*c9945492SAndroid Build Coastguard Worker#endif 90*c9945492SAndroid Build Coastguard Worker /* 4) set return value to 0 */ 91*c9945492SAndroid Build Coastguard Worker li 3, 0 92*c9945492SAndroid Build Coastguard Worker /* 5) return */ 93*c9945492SAndroid Build Coastguard Worker blr 94