// Code generated by mkpreempt.go; DO NOT EDIT. //go:build mips64 || mips64le // +build mips64 mips64le #include "go_asm.h" #include "textflag.h" // 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. TEXT ·asyncPreempt(SB),NOSPLIT|NOFRAME,$0-0 MOVV R31, -488(R29) SUBV $488, R29 MOVV R1, 8(R29) MOVV R2, 16(R29) MOVV R3, 24(R29) MOVV R4, 32(R29) MOVV R5, 40(R29) MOVV R6, 48(R29) MOVV R7, 56(R29) MOVV R8, 64(R29) MOVV R9, 72(R29) MOVV R10, 80(R29) MOVV R11, 88(R29) MOVV R12, 96(R29) MOVV R13, 104(R29) MOVV R14, 112(R29) MOVV R15, 120(R29) MOVV R16, 128(R29) MOVV R17, 136(R29) MOVV R18, 144(R29) MOVV R19, 152(R29) MOVV R20, 160(R29) MOVV R21, 168(R29) MOVV R22, 176(R29) MOVV R24, 184(R29) MOVV R25, 192(R29) MOVV RSB, 200(R29) MOVV HI, R1 MOVV R1, 208(R29) MOVV LO, R1 MOVV R1, 216(R29) #ifndef GOMIPS64_softfloat MOVV FCR31, R1 MOVV R1, 224(R29) MOVD F0, 232(R29) MOVD F1, 240(R29) MOVD F2, 248(R29) MOVD F3, 256(R29) MOVD F4, 264(R29) MOVD F5, 272(R29) MOVD F6, 280(R29) MOVD F7, 288(R29) MOVD F8, 296(R29) MOVD F9, 304(R29) MOVD F10, 312(R29) MOVD F11, 320(R29) MOVD F12, 328(R29) MOVD F13, 336(R29) MOVD F14, 344(R29) MOVD F15, 352(R29) MOVD F16, 360(R29) MOVD F17, 368(R29) MOVD F18, 376(R29) MOVD F19, 384(R29) MOVD F20, 392(R29) MOVD F21, 400(R29) MOVD F22, 408(R29) MOVD F23, 416(R29) MOVD F24, 424(R29) MOVD F25, 432(R29) MOVD F26, 440(R29) MOVD F27, 448(R29) MOVD F28, 456(R29) MOVD F29, 464(R29) MOVD F30, 472(R29) MOVD F31, 480(R29) #endif CALL ·asyncPreempt2(SB) #ifndef GOMIPS64_softfloat MOVD 480(R29), F31 MOVD 472(R29), F30 MOVD 464(R29), F29 MOVD 456(R29), F28 MOVD 448(R29), F27 MOVD 440(R29), F26 MOVD 432(R29), F25 MOVD 424(R29), F24 MOVD 416(R29), F23 MOVD 408(R29), F22 MOVD 400(R29), F21 MOVD 392(R29), F20 MOVD 384(R29), F19 MOVD 376(R29), F18 MOVD 368(R29), F17 MOVD 360(R29), F16 MOVD 352(R29), F15 MOVD 344(R29), F14 MOVD 336(R29), F13 MOVD 328(R29), F12 MOVD 320(R29), F11 MOVD 312(R29), F10 MOVD 304(R29), F9 MOVD 296(R29), F8 MOVD 288(R29), F7 MOVD 280(R29), F6 MOVD 272(R29), F5 MOVD 264(R29), F4 MOVD 256(R29), F3 MOVD 248(R29), F2 MOVD 240(R29), F1 MOVD 232(R29), F0 MOVV 224(R29), R1 MOVV R1, FCR31 #endif MOVV 216(R29), R1 MOVV R1, LO MOVV 208(R29), R1 MOVV R1, HI MOVV 200(R29), RSB MOVV 192(R29), R25 MOVV 184(R29), R24 MOVV 176(R29), R22 MOVV 168(R29), R21 MOVV 160(R29), R20 MOVV 152(R29), R19 MOVV 144(R29), R18 MOVV 136(R29), R17 MOVV 128(R29), R16 MOVV 120(R29), R15 MOVV 112(R29), R14 MOVV 104(R29), R13 MOVV 96(R29), R12 MOVV 88(R29), R11 MOVV 80(R29), R10 MOVV 72(R29), R9 MOVV 64(R29), R8 MOVV 56(R29), R7 MOVV 48(R29), R6 MOVV 40(R29), R5 MOVV 32(R29), R4 MOVV 24(R29), R3 MOVV 16(R29), R2 MOVV 8(R29), R1 MOVV 488(R29), R31 MOVV (R29), R23 ADDV $496, R29 JMP (R23)