feat(loong64): encode the full LSX and LASX table
Assisted-by: GLM 5.3 Flash
This commit is contained in:
+174
@@ -0,0 +1,174 @@
|
||||
// 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
|
||||
Reference in New Issue
Block a user