125 lines
2.1 KiB
ArmAsm
125 lines
2.1 KiB
ArmAsm
// Differential kernel: the bitops vector slice against the Go
|
|
// toolchain's loong64enc1.s rows (gasm v. go tool asm, byte for byte).
|
|
|
|
#include "textflag.h"
|
|
|
|
TEXT ·VBITCLRB(SB), NOSPLIT, $0
|
|
VBITCLRB V1, V2, V3
|
|
VBITCLRB $7, V2, V3
|
|
RET
|
|
|
|
TEXT ·VBITCLRH(SB), NOSPLIT, $0
|
|
VBITCLRH V1, V2, V3
|
|
VBITCLRH $15, V2, V3
|
|
RET
|
|
|
|
TEXT ·VBITCLRW(SB), NOSPLIT, $0
|
|
VBITCLRW V1, V2, V3
|
|
VBITCLRW $31, V2, V3
|
|
RET
|
|
|
|
TEXT ·VBITCLRV(SB), NOSPLIT, $0
|
|
VBITCLRV V1, V2, V3
|
|
VBITCLRV $63, V2, V3
|
|
RET
|
|
|
|
TEXT ·VBITSETB(SB), NOSPLIT, $0
|
|
VBITSETB V1, V2, V3
|
|
VBITSETB $7, V2, V3
|
|
RET
|
|
|
|
TEXT ·VBITSETH(SB), NOSPLIT, $0
|
|
VBITSETH V1, V2, V3
|
|
VBITSETH $15, V2, V3
|
|
RET
|
|
|
|
TEXT ·VBITSETW(SB), NOSPLIT, $0
|
|
VBITSETW V1, V2, V3
|
|
VBITSETW $31, V2, V3
|
|
RET
|
|
|
|
TEXT ·VBITSETV(SB), NOSPLIT, $0
|
|
VBITSETV V1, V2, V3
|
|
VBITSETV $63, V2, V3
|
|
RET
|
|
|
|
TEXT ·VBITREVB(SB), NOSPLIT, $0
|
|
VBITREVB V1, V2, V3
|
|
VBITREVB $7, V2, V3
|
|
RET
|
|
|
|
TEXT ·VBITREVH(SB), NOSPLIT, $0
|
|
VBITREVH V1, V2, V3
|
|
VBITREVH $15, V2, V3
|
|
RET
|
|
|
|
TEXT ·VBITREVW(SB), NOSPLIT, $0
|
|
VBITREVW V1, V2, V3
|
|
VBITREVW $31, V2, V3
|
|
RET
|
|
|
|
TEXT ·VBITREVV(SB), NOSPLIT, $0
|
|
VBITREVV V1, V2, V3
|
|
VBITREVV $63, V2, V3
|
|
RET
|
|
|
|
TEXT ·XVBITCLRB(SB), NOSPLIT, $0
|
|
XVBITCLRB X3, X2, X1
|
|
XVBITCLRB $7, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVBITCLRH(SB), NOSPLIT, $0
|
|
XVBITCLRH X3, X2, X1
|
|
XVBITCLRH $15, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVBITCLRW(SB), NOSPLIT, $0
|
|
XVBITCLRW X3, X2, X1
|
|
XVBITCLRW $31, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVBITCLRV(SB), NOSPLIT, $0
|
|
XVBITCLRV X3, X2, X1
|
|
XVBITCLRV $63, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVBITSETB(SB), NOSPLIT, $0
|
|
XVBITSETB X3, X2, X1
|
|
XVBITSETB $7, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVBITSETH(SB), NOSPLIT, $0
|
|
XVBITSETH X3, X2, X1
|
|
XVBITSETH $15, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVBITSETW(SB), NOSPLIT, $0
|
|
XVBITSETW X3, X2, X1
|
|
XVBITSETW $31, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVBITSETV(SB), NOSPLIT, $0
|
|
XVBITSETV X3, X2, X1
|
|
XVBITSETV $63, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVBITREVB(SB), NOSPLIT, $0
|
|
XVBITREVB X3, X2, X1
|
|
XVBITREVB $7, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVBITREVH(SB), NOSPLIT, $0
|
|
XVBITREVH X3, X2, X1
|
|
XVBITREVH $15, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVBITREVW(SB), NOSPLIT, $0
|
|
XVBITREVW X3, X2, X1
|
|
XVBITREVW $31, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVBITREVV(SB), NOSPLIT, $0
|
|
XVBITREVV X3, X2, X1
|
|
XVBITREVV $63, X2, X1
|
|
RET
|