Files

98 lines
1.5 KiB
ArmAsm

//go:build amd64 && amd64.v2
#include "textflag.h"
#include "funcdata.h"
TEXT ·fn0(SB), $0-20
NO_LOCAL_POINTERS
MOVQ m+0(FP), AX
MOVLQSX l0+8(FP), BX
MOVLQSX l1+12(FP), CX
LEAL (BX)(CX*1), AX
MOVL AX, r0+16(FP)
RET
TEXT ·fn1(SB), $0-20
NO_LOCAL_POINTERS
MOVQ m+0(FP), AX
MOVLQSX l0+8(FP), BX
MOVLQSX l1+12(FP), CX
SUBL CX, BX
MOVL BX, AX
MOVL AX, r0+16(FP)
RET
TEXT ·fn2(SB), $0-32
NO_LOCAL_POINTERS
MOVQ m+0(FP), AX
MOVQ l0+8(FP), BX
MOVQ l1+16(FP), CX
IMULQ CX, BX
MOVQ BX, AX
MOVQ AX, r0+24(FP)
RET
TEXT ·fn3(SB), $32-20
NO_LOCAL_POINTERS
MOVQ m+0(FP), AX
MOVLQSX l0+8(FP), BX
MOVLQSX l1+12(FP), CX
MOVL BX, AX
MOVL CX, BX
MOVL AX, 0(SP)
MOVL BX, 4(SP)
CALL ·i32_div_s(SB)
MOVLQSX 8(SP), AX
MOVL AX, r0+16(FP)
RET
TEXT ·fn4(SB), $0-20
NO_LOCAL_POINTERS
MOVQ m+0(FP), AX
MOVLQSX l0+8(FP), BX
MOVLQSX l1+12(FP), CX
MOVLQSX CX, CX
SHLL CX, BX
SHRL CX, BX
MOVL BX, AX
MOVL AX, r0+16(FP)
RET
TEXT ·fn5(SB), $0-20
NO_LOCAL_POINTERS
MOVQ m+0(FP), AX
MOVLQSX l0+8(FP), BX
MOVLQSX l1+12(FP), CX
XCHGL AX, AX
ANDL $31, CX
ROLL CX, BX
NOP
MOVL BX, AX
MOVL AX, r0+16(FP)
RET
TEXT ·fn6(SB), $0-20
NO_LOCAL_POINTERS
MOVQ m+0(FP), AX
MOVLQSX l0+8(FP), BX
MOVLQSX l1+12(FP), CX
NOP
CMPL CX, BX
SETGT CL
MOVBLZX CL, AX
MOVL AX, r0+16(FP)
RET
TEXT ·fn7(SB), $0-20
NO_LOCAL_POINTERS
MOVQ m+0(FP), AX
MOVLQSX l0+8(FP), BX
MOVLQSX l1+12(FP), CX
NOP
CMPL CX, BX
SETHI CL
MOVBLZX CL, AX
MOVL AX, r0+16(FP)
RET