mirror of https://github.com/golang/go.git
53 lines
983 B
ArmAsm
53 lines
983 B
ArmAsm
// Code generated by mkpreempt.go; DO NOT EDIT.
|
||
|
||
#include "go_asm.h"
|
||
#include "textflag.h"
|
||
|
||
TEXT ·asyncPreempt(SB),NOSPLIT|NOFRAME,$0-0
|
||
PUSHFL
|
||
ADJSP $264
|
||
NOP SP
|
||
MOVL AX, 0(SP)
|
||
MOVL CX, 4(SP)
|
||
MOVL DX, 8(SP)
|
||
MOVL BX, 12(SP)
|
||
MOVL BP, 16(SP)
|
||
MOVL SI, 20(SP)
|
||
MOVL DI, 24(SP)
|
||
FSAVE 28(SP)
|
||
FLDCW runtime·controlWord64(SB)
|
||
CMPB internal∕cpu·X86+const_offsetX86HasSSE2(SB), $1
|
||
JNE nosse
|
||
MOVUPS X0, 136(SP)
|
||
MOVUPS X1, 152(SP)
|
||
MOVUPS X2, 168(SP)
|
||
MOVUPS X3, 184(SP)
|
||
MOVUPS X4, 200(SP)
|
||
MOVUPS X5, 216(SP)
|
||
MOVUPS X6, 232(SP)
|
||
MOVUPS X7, 248(SP)
|
||
nosse:
|
||
CALL ·asyncPreempt2(SB)
|
||
CMPB internal∕cpu·X86+const_offsetX86HasSSE2(SB), $1
|
||
JNE nosse2
|
||
MOVUPS 248(SP), X7
|
||
MOVUPS 232(SP), X6
|
||
MOVUPS 216(SP), X5
|
||
MOVUPS 200(SP), X4
|
||
MOVUPS 184(SP), X3
|
||
MOVUPS 168(SP), X2
|
||
MOVUPS 152(SP), X1
|
||
MOVUPS 136(SP), X0
|
||
nosse2:
|
||
FRSTOR 28(SP)
|
||
MOVL 24(SP), DI
|
||
MOVL 20(SP), SI
|
||
MOVL 16(SP), BP
|
||
MOVL 12(SP), BX
|
||
MOVL 8(SP), DX
|
||
MOVL 4(SP), CX
|
||
MOVL 0(SP), AX
|
||
ADJSP $-264
|
||
POPFL
|
||
RET
|