88 lines
1.7 KiB
ArmAsm
88 lines
1.7 KiB
ArmAsm
|
|
// Code generated by mkpreempt.go; DO NOT EDIT.
|
|||
|
|
|
|||
|
|
#include "go_asm.h"
|
|||
|
|
#include "asm_amd64.h"
|
|||
|
|
#include "textflag.h"
|
|||
|
|
|
|||
|
|
TEXT ·asyncPreempt(SB),NOSPLIT|NOFRAME,$0-0
|
|||
|
|
PUSHQ BP
|
|||
|
|
MOVQ SP, BP
|
|||
|
|
// Save flags before clobbering them
|
|||
|
|
PUSHFQ
|
|||
|
|
// obj doesn't understand ADD/SUB on SP, but does understand ADJSP
|
|||
|
|
ADJSP $368
|
|||
|
|
// But vet doesn't know ADJSP, so suppress vet stack checking
|
|||
|
|
NOP SP
|
|||
|
|
MOVQ AX, 0(SP)
|
|||
|
|
MOVQ CX, 8(SP)
|
|||
|
|
MOVQ DX, 16(SP)
|
|||
|
|
MOVQ BX, 24(SP)
|
|||
|
|
MOVQ SI, 32(SP)
|
|||
|
|
MOVQ DI, 40(SP)
|
|||
|
|
MOVQ R8, 48(SP)
|
|||
|
|
MOVQ R9, 56(SP)
|
|||
|
|
MOVQ R10, 64(SP)
|
|||
|
|
MOVQ R11, 72(SP)
|
|||
|
|
MOVQ R12, 80(SP)
|
|||
|
|
MOVQ R13, 88(SP)
|
|||
|
|
MOVQ R14, 96(SP)
|
|||
|
|
MOVQ R15, 104(SP)
|
|||
|
|
#ifdef GOOS_darwin
|
|||
|
|
#ifndef hasAVX
|
|||
|
|
CMPB internal∕cpu·X86+const_offsetX86HasAVX(SB), $0
|
|||
|
|
JE 2(PC)
|
|||
|
|
#endif
|
|||
|
|
VZEROUPPER
|
|||
|
|
#endif
|
|||
|
|
MOVUPS X0, 112(SP)
|
|||
|
|
MOVUPS X1, 128(SP)
|
|||
|
|
MOVUPS X2, 144(SP)
|
|||
|
|
MOVUPS X3, 160(SP)
|
|||
|
|
MOVUPS X4, 176(SP)
|
|||
|
|
MOVUPS X5, 192(SP)
|
|||
|
|
MOVUPS X6, 208(SP)
|
|||
|
|
MOVUPS X7, 224(SP)
|
|||
|
|
MOVUPS X8, 240(SP)
|
|||
|
|
MOVUPS X9, 256(SP)
|
|||
|
|
MOVUPS X10, 272(SP)
|
|||
|
|
MOVUPS X11, 288(SP)
|
|||
|
|
MOVUPS X12, 304(SP)
|
|||
|
|
MOVUPS X13, 320(SP)
|
|||
|
|
MOVUPS X14, 336(SP)
|
|||
|
|
MOVUPS X15, 352(SP)
|
|||
|
|
CALL ·asyncPreempt2(SB)
|
|||
|
|
MOVUPS 352(SP), X15
|
|||
|
|
MOVUPS 336(SP), X14
|
|||
|
|
MOVUPS 320(SP), X13
|
|||
|
|
MOVUPS 304(SP), X12
|
|||
|
|
MOVUPS 288(SP), X11
|
|||
|
|
MOVUPS 272(SP), X10
|
|||
|
|
MOVUPS 256(SP), X9
|
|||
|
|
MOVUPS 240(SP), X8
|
|||
|
|
MOVUPS 224(SP), X7
|
|||
|
|
MOVUPS 208(SP), X6
|
|||
|
|
MOVUPS 192(SP), X5
|
|||
|
|
MOVUPS 176(SP), X4
|
|||
|
|
MOVUPS 160(SP), X3
|
|||
|
|
MOVUPS 144(SP), X2
|
|||
|
|
MOVUPS 128(SP), X1
|
|||
|
|
MOVUPS 112(SP), X0
|
|||
|
|
MOVQ 104(SP), R15
|
|||
|
|
MOVQ 96(SP), R14
|
|||
|
|
MOVQ 88(SP), R13
|
|||
|
|
MOVQ 80(SP), R12
|
|||
|
|
MOVQ 72(SP), R11
|
|||
|
|
MOVQ 64(SP), R10
|
|||
|
|
MOVQ 56(SP), R9
|
|||
|
|
MOVQ 48(SP), R8
|
|||
|
|
MOVQ 40(SP), DI
|
|||
|
|
MOVQ 32(SP), SI
|
|||
|
|
MOVQ 24(SP), BX
|
|||
|
|
MOVQ 16(SP), DX
|
|||
|
|
MOVQ 8(SP), CX
|
|||
|
|
MOVQ 0(SP), AX
|
|||
|
|
ADJSP $-368
|
|||
|
|
POPFQ
|
|||
|
|
POPQ BP
|
|||
|
|
RET
|