Files

95 lines
1.4 KiB
ArmAsm

//go:build arm64
#include "textflag.h"
#include "funcdata.h"
TEXT ·fn0(SB), $16-20
NO_LOCAL_POINTERS
MOVD m+0(FP), R0
MOVW l0+8(FP), R1
MOVW l1+12(FP), R2
ADD R2, R1, R0
MOVW R0, r0+16(FP)
RET (R30)
TEXT ·fn1(SB), $16-20
NO_LOCAL_POINTERS
MOVD m+0(FP), R0
MOVW l0+8(FP), R1
MOVW l1+12(FP), R2
SUB R2, R1, R0
MOVW R0, r0+16(FP)
RET (R30)
TEXT ·fn2(SB), $16-32
NO_LOCAL_POINTERS
MOVD m+0(FP), R0
MOVD l0+8(FP), R1
MOVD l1+16(FP), R2
MUL R2, R1, R0
MOVD R0, r0+24(FP)
RET (R30)
TEXT ·fn3(SB), $48-20
NO_LOCAL_POINTERS
MOVD m+0(FP), R0
MOVW l0+8(FP), R1
MOVW l1+12(FP), R2
MOVD R1, R0
MOVD R2, R1
MOVW R0, 8(RSP)
MOVW R1, 12(RSP)
CALL ·i32_div_s(SB)
MOVW 16(RSP), R0
MOVW R0, r0+16(FP)
RET (R30)
TEXT ·fn4(SB), $16-20
NO_LOCAL_POINTERS
MOVD m+0(FP), R0
MOVW l0+8(FP), R1
MOVW l1+12(FP), R2
MOVW R2, R2
AND $31, R2, R2
LSL R2, R1, R1
MOVWU R1, R1
LSR R2, R1, R0
MOVW R0, r0+16(FP)
RET (R30)
TEXT ·fn5(SB), $16-20
NO_LOCAL_POINTERS
MOVD m+0(FP), R0
MOVW l0+8(FP), R1
MOVW l1+12(FP), R2
HINT $0
AND $31, R2, R2
NEG R2, R2
RORW R2, R1, R0
NOP
MOVW R0, r0+16(FP)
RET (R30)
TEXT ·fn6(SB), $16-20
NO_LOCAL_POINTERS
MOVD m+0(FP), R0
MOVW l0+8(FP), R1
MOVW l1+12(FP), R2
NOP
CMPW R1, R2
CSET GT, R0
MOVW R0, r0+16(FP)
RET (R30)
TEXT ·fn7(SB), $16-20
NO_LOCAL_POINTERS
MOVD m+0(FP), R0
MOVW l0+8(FP), R1
MOVW l1+12(FP), R2
NOP
CMPW R1, R2
CSET HI, R0
MOVW R0, r0+16(FP)
RET (R30)