175 lines
2.6 KiB
ArmAsm
175 lines
2.6 KiB
ArmAsm
// Differential kernel: the logic vector slice against the Go
|
|
// toolchain's loong64enc1.s rows (gasm v. go tool asm, byte for byte).
|
|
|
|
#include "textflag.h"
|
|
|
|
TEXT ·VSEQH(SB), NOSPLIT, $0
|
|
VSEQH V1, V2, V3
|
|
VSEQH $1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSEQW(SB), NOSPLIT, $0
|
|
VSEQW V1, V2, V3
|
|
VSEQW $8, V2, V3
|
|
RET
|
|
|
|
TEXT ·XVSEQH(SB), NOSPLIT, $0
|
|
XVSEQH X3, X2, X4
|
|
XVSEQH $3, X2, X4
|
|
RET
|
|
|
|
TEXT ·XVSEQW(SB), NOSPLIT, $0
|
|
XVSEQW X3, X2, X4
|
|
XVSEQW $12, X2, X4
|
|
RET
|
|
|
|
TEXT ·VSLTB(SB), NOSPLIT, $0
|
|
VSLTB V1, V2, V3
|
|
VSLTB $1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTH(SB), NOSPLIT, $0
|
|
VSLTH V1, V2, V3
|
|
VSLTH $-16, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTW(SB), NOSPLIT, $0
|
|
VSLTW V1, V2, V3
|
|
VSLTW $-16, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTV(SB), NOSPLIT, $0
|
|
VSLTV V1, V2, V3
|
|
VSLTV $-15, V2, V3
|
|
RET
|
|
|
|
TEXT ·XVSLTB(SB), NOSPLIT, $0
|
|
XVSLTB X1, X2, X3
|
|
XVSLTB $1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVSLTH(SB), NOSPLIT, $0
|
|
XVSLTH X1, X2, X3
|
|
XVSLTH $-16, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVSLTW(SB), NOSPLIT, $0
|
|
XVSLTW X1, X2, X3
|
|
XVSLTW $-16, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVSLTV(SB), NOSPLIT, $0
|
|
XVSLTV X1, X2, X3
|
|
XVSLTV $-16, X2, X3
|
|
RET
|
|
|
|
TEXT ·VSLTBU(SB), NOSPLIT, $0
|
|
VSLTBU V1, V2, V3
|
|
VSLTBU $0, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTHU(SB), NOSPLIT, $0
|
|
VSLTHU V1, V2, V3
|
|
VSLTHU $31, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTWU(SB), NOSPLIT, $0
|
|
VSLTWU V1, V2, V3
|
|
VSLTWU $16, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTVU(SB), NOSPLIT, $0
|
|
VSLTVU V1, V2, V3
|
|
VSLTVU $1, V2, V3
|
|
RET
|
|
|
|
TEXT ·XVSLTBU(SB), NOSPLIT, $0
|
|
XVSLTBU X1, X2, X3
|
|
XVSLTBU $0, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVSLTHU(SB), NOSPLIT, $0
|
|
XVSLTHU X1, X2, X3
|
|
XVSLTHU $31, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVSLTWU(SB), NOSPLIT, $0
|
|
XVSLTWU X1, X2, X3
|
|
XVSLTWU $8, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVSLTVU(SB), NOSPLIT, $0
|
|
XVSLTVU X1, X2, X3
|
|
XVSLTVU $0, X2, X3
|
|
RET
|
|
|
|
TEXT ·VORV(SB), NOSPLIT, $0
|
|
VORV V1, V2, V3
|
|
VORV V1, V2
|
|
RET
|
|
|
|
TEXT ·VNORV(SB), NOSPLIT, $0
|
|
VNORV V1, V2, V3
|
|
VNORV V1, V2
|
|
RET
|
|
|
|
TEXT ·VANDNV(SB), NOSPLIT, $0
|
|
VANDNV V1, V2, V3
|
|
VANDNV V1, V2
|
|
RET
|
|
|
|
TEXT ·VORNV(SB), NOSPLIT, $0
|
|
VORNV V1, V2, V3
|
|
VORNV V1, V2
|
|
RET
|
|
|
|
TEXT ·VORB(SB), NOSPLIT, $0
|
|
VORB $64, V2, V3
|
|
VORB $64, V2
|
|
RET
|
|
|
|
TEXT ·VXORB(SB), NOSPLIT, $0
|
|
VXORB $128, V2, V3
|
|
VXORB $128, V2
|
|
RET
|
|
|
|
TEXT ·VNORB(SB), NOSPLIT, $0
|
|
VNORB $255, V2, V3
|
|
VNORB $255, V2
|
|
RET
|
|
|
|
TEXT ·XVORV(SB), NOSPLIT, $0
|
|
XVORV X1, X2, X3
|
|
XVORV X1, X2
|
|
RET
|
|
|
|
TEXT ·XVNORV(SB), NOSPLIT, $0
|
|
XVNORV X1, X2, X3
|
|
XVNORV X1, X2
|
|
RET
|
|
|
|
TEXT ·XVANDNV(SB), NOSPLIT, $0
|
|
XVANDNV X1, X2, X3
|
|
XVANDNV X1, X2
|
|
RET
|
|
|
|
TEXT ·XVORNV(SB), NOSPLIT, $0
|
|
XVORNV X1, X2, X3
|
|
XVORNV X1, X2
|
|
RET
|
|
|
|
TEXT ·XVORB(SB), NOSPLIT, $0
|
|
XVORB $1, X2, X3
|
|
XVORB $1, X2
|
|
RET
|
|
|
|
TEXT ·XVXORB(SB), NOSPLIT, $0
|
|
XVXORB $127, X2, X3
|
|
XVXORB $127, X2
|
|
RET
|
|
|
|
TEXT ·XVNORB(SB), NOSPLIT, $0
|
|
XVNORB $255, X2, X3
|
|
XVNORB $255, X2
|
|
RET
|