109 lines
1.6 KiB
ArmAsm
109 lines
1.6 KiB
ArmAsm
// Differential kernel: the unary vector slice against the Go
|
|
// toolchain's loong64enc1.s rows (gasm v. go tool asm, byte for byte).
|
|
|
|
#include "textflag.h"
|
|
|
|
TEXT ·VPCNTB(SB), NOSPLIT, $0
|
|
VPCNTB V1, V2
|
|
RET
|
|
|
|
TEXT ·VPCNTH(SB), NOSPLIT, $0
|
|
VPCNTH V1, V2
|
|
RET
|
|
|
|
TEXT ·VPCNTW(SB), NOSPLIT, $0
|
|
VPCNTW V1, V2
|
|
RET
|
|
|
|
TEXT ·XVPCNTB(SB), NOSPLIT, $0
|
|
XVPCNTB X3, X2
|
|
RET
|
|
|
|
TEXT ·XVPCNTH(SB), NOSPLIT, $0
|
|
XVPCNTH X3, X2
|
|
RET
|
|
|
|
TEXT ·XVPCNTW(SB), NOSPLIT, $0
|
|
XVPCNTW X3, X2
|
|
RET
|
|
|
|
TEXT ·VNEGB(SB), NOSPLIT, $0
|
|
VNEGB V1, V2
|
|
RET
|
|
|
|
TEXT ·VNEGH(SB), NOSPLIT, $0
|
|
VNEGH V1, V2
|
|
RET
|
|
|
|
TEXT ·VNEGW(SB), NOSPLIT, $0
|
|
VNEGW V1, V2
|
|
RET
|
|
|
|
TEXT ·VNEGV(SB), NOSPLIT, $0
|
|
VNEGV V1, V2
|
|
RET
|
|
|
|
TEXT ·XVNEGB(SB), NOSPLIT, $0
|
|
XVNEGB X2, X1
|
|
RET
|
|
|
|
TEXT ·XVNEGH(SB), NOSPLIT, $0
|
|
XVNEGH X2, X1
|
|
RET
|
|
|
|
TEXT ·XVNEGW(SB), NOSPLIT, $0
|
|
XVNEGW X2, X1
|
|
RET
|
|
|
|
TEXT ·XVNEGV(SB), NOSPLIT, $0
|
|
XVNEGV X2, X1
|
|
RET
|
|
|
|
TEXT ·VSETEQV(SB), NOSPLIT, $0
|
|
VSETEQV V1, FCC0
|
|
RET
|
|
|
|
TEXT ·XVSETEQV(SB), NOSPLIT, $0
|
|
XVSETEQV X1, FCC0
|
|
RET
|
|
|
|
TEXT ·VSETANYEQH(SB), NOSPLIT, $0
|
|
VSETANYEQH V1, FCC0
|
|
RET
|
|
|
|
TEXT ·VSETANYEQW(SB), NOSPLIT, $0
|
|
VSETANYEQW V1, FCC0
|
|
RET
|
|
|
|
TEXT ·VSETALLNEB(SB), NOSPLIT, $0
|
|
VSETALLNEB V1, FCC0
|
|
RET
|
|
|
|
TEXT ·VSETALLNEH(SB), NOSPLIT, $0
|
|
VSETALLNEH V1, FCC0
|
|
RET
|
|
|
|
TEXT ·VSETALLNEW(SB), NOSPLIT, $0
|
|
VSETALLNEW V1, FCC0
|
|
RET
|
|
|
|
TEXT ·XVSETANYEQH(SB), NOSPLIT, $0
|
|
XVSETANYEQH X1, FCC0
|
|
RET
|
|
|
|
TEXT ·XVSETANYEQW(SB), NOSPLIT, $0
|
|
XVSETANYEQW X1, FCC0
|
|
RET
|
|
|
|
TEXT ·XVSETALLNEB(SB), NOSPLIT, $0
|
|
XVSETALLNEB X1, FCC0
|
|
RET
|
|
|
|
TEXT ·XVSETALLNEH(SB), NOSPLIT, $0
|
|
XVSETALLNEH X1, FCC0
|
|
RET
|
|
|
|
TEXT ·XVSETALLNEW(SB), NOSPLIT, $0
|
|
XVSETALLNEW X1, FCC0
|
|
RET
|