github.com/geraldss/go/src@v0.0.0-20210511222824-ac7d0ebfc235/runtime/preempt_mipsx.s (about) 1 // Code generated by mkpreempt.go; DO NOT EDIT. 2 3 // +build mips mipsle 4 5 #include "go_asm.h" 6 #include "textflag.h" 7 8 // Note: asyncPreempt doesn't use the internal ABI, but we must be able to inject calls to it from the signal handler, so Go code has to see the PC of this function literally. 9 TEXT ·asyncPreempt<ABIInternal>(SB),NOSPLIT|NOFRAME,$0-0 10 MOVW R31, -244(R29) 11 SUB $244, R29 12 MOVW R1, 4(R29) 13 MOVW R2, 8(R29) 14 MOVW R3, 12(R29) 15 MOVW R4, 16(R29) 16 MOVW R5, 20(R29) 17 MOVW R6, 24(R29) 18 MOVW R7, 28(R29) 19 MOVW R8, 32(R29) 20 MOVW R9, 36(R29) 21 MOVW R10, 40(R29) 22 MOVW R11, 44(R29) 23 MOVW R12, 48(R29) 24 MOVW R13, 52(R29) 25 MOVW R14, 56(R29) 26 MOVW R15, 60(R29) 27 MOVW R16, 64(R29) 28 MOVW R17, 68(R29) 29 MOVW R18, 72(R29) 30 MOVW R19, 76(R29) 31 MOVW R20, 80(R29) 32 MOVW R21, 84(R29) 33 MOVW R22, 88(R29) 34 MOVW R24, 92(R29) 35 MOVW R25, 96(R29) 36 MOVW R28, 100(R29) 37 MOVW HI, R1 38 MOVW R1, 104(R29) 39 MOVW LO, R1 40 MOVW R1, 108(R29) 41 #ifndef GOMIPS_softfloat 42 MOVW FCR31, R1 43 MOVW R1, 112(R29) 44 MOVF F0, 116(R29) 45 MOVF F1, 120(R29) 46 MOVF F2, 124(R29) 47 MOVF F3, 128(R29) 48 MOVF F4, 132(R29) 49 MOVF F5, 136(R29) 50 MOVF F6, 140(R29) 51 MOVF F7, 144(R29) 52 MOVF F8, 148(R29) 53 MOVF F9, 152(R29) 54 MOVF F10, 156(R29) 55 MOVF F11, 160(R29) 56 MOVF F12, 164(R29) 57 MOVF F13, 168(R29) 58 MOVF F14, 172(R29) 59 MOVF F15, 176(R29) 60 MOVF F16, 180(R29) 61 MOVF F17, 184(R29) 62 MOVF F18, 188(R29) 63 MOVF F19, 192(R29) 64 MOVF F20, 196(R29) 65 MOVF F21, 200(R29) 66 MOVF F22, 204(R29) 67 MOVF F23, 208(R29) 68 MOVF F24, 212(R29) 69 MOVF F25, 216(R29) 70 MOVF F26, 220(R29) 71 MOVF F27, 224(R29) 72 MOVF F28, 228(R29) 73 MOVF F29, 232(R29) 74 MOVF F30, 236(R29) 75 MOVF F31, 240(R29) 76 #endif 77 CALL ·asyncPreempt2(SB) 78 #ifndef GOMIPS_softfloat 79 MOVF 240(R29), F31 80 MOVF 236(R29), F30 81 MOVF 232(R29), F29 82 MOVF 228(R29), F28 83 MOVF 224(R29), F27 84 MOVF 220(R29), F26 85 MOVF 216(R29), F25 86 MOVF 212(R29), F24 87 MOVF 208(R29), F23 88 MOVF 204(R29), F22 89 MOVF 200(R29), F21 90 MOVF 196(R29), F20 91 MOVF 192(R29), F19 92 MOVF 188(R29), F18 93 MOVF 184(R29), F17 94 MOVF 180(R29), F16 95 MOVF 176(R29), F15 96 MOVF 172(R29), F14 97 MOVF 168(R29), F13 98 MOVF 164(R29), F12 99 MOVF 160(R29), F11 100 MOVF 156(R29), F10 101 MOVF 152(R29), F9 102 MOVF 148(R29), F8 103 MOVF 144(R29), F7 104 MOVF 140(R29), F6 105 MOVF 136(R29), F5 106 MOVF 132(R29), F4 107 MOVF 128(R29), F3 108 MOVF 124(R29), F2 109 MOVF 120(R29), F1 110 MOVF 116(R29), F0 111 MOVW 112(R29), R1 112 MOVW R1, FCR31 113 #endif 114 MOVW 108(R29), R1 115 MOVW R1, LO 116 MOVW 104(R29), R1 117 MOVW R1, HI 118 MOVW 100(R29), R28 119 MOVW 96(R29), R25 120 MOVW 92(R29), R24 121 MOVW 88(R29), R22 122 MOVW 84(R29), R21 123 MOVW 80(R29), R20 124 MOVW 76(R29), R19 125 MOVW 72(R29), R18 126 MOVW 68(R29), R17 127 MOVW 64(R29), R16 128 MOVW 60(R29), R15 129 MOVW 56(R29), R14 130 MOVW 52(R29), R13 131 MOVW 48(R29), R12 132 MOVW 44(R29), R11 133 MOVW 40(R29), R10 134 MOVW 36(R29), R9 135 MOVW 32(R29), R8 136 MOVW 28(R29), R7 137 MOVW 24(R29), R6 138 MOVW 20(R29), R5 139 MOVW 16(R29), R4 140 MOVW 12(R29), R3 141 MOVW 8(R29), R2 142 MOVW 4(R29), R1 143 MOVW 244(R29), R31 144 MOVW (R29), R23 145 ADD $248, R29 146 JMP (R23)