github.com/twelsh-aw/go/src@v0.0.0-20230516233729-a56fe86a7c81/runtime/preempt_386.s (about) 1 // Code generated by mkpreempt.go; DO NOT EDIT. 2 3 #include "go_asm.h" 4 #include "textflag.h" 5 6 TEXT ·asyncPreempt(SB),NOSPLIT|NOFRAME,$0-0 7 PUSHFL 8 ADJSP $156 9 NOP SP 10 MOVL AX, 0(SP) 11 MOVL CX, 4(SP) 12 MOVL DX, 8(SP) 13 MOVL BX, 12(SP) 14 MOVL BP, 16(SP) 15 MOVL SI, 20(SP) 16 MOVL DI, 24(SP) 17 #ifndef GO386_softfloat 18 MOVUPS X0, 28(SP) 19 MOVUPS X1, 44(SP) 20 MOVUPS X2, 60(SP) 21 MOVUPS X3, 76(SP) 22 MOVUPS X4, 92(SP) 23 MOVUPS X5, 108(SP) 24 MOVUPS X6, 124(SP) 25 MOVUPS X7, 140(SP) 26 #endif 27 CALL ·asyncPreempt2(SB) 28 #ifndef GO386_softfloat 29 MOVUPS 140(SP), X7 30 MOVUPS 124(SP), X6 31 MOVUPS 108(SP), X5 32 MOVUPS 92(SP), X4 33 MOVUPS 76(SP), X3 34 MOVUPS 60(SP), X2 35 MOVUPS 44(SP), X1 36 MOVUPS 28(SP), X0 37 #endif 38 MOVL 24(SP), DI 39 MOVL 20(SP), SI 40 MOVL 16(SP), BP 41 MOVL 12(SP), BX 42 MOVL 8(SP), DX 43 MOVL 4(SP), CX 44 MOVL 0(SP), AX 45 ADJSP $-156 46 POPFL 47 RET