feat(loong64): encode the full LSX and LASX table
Assisted-by: GLM 5.3 Flash
This commit is contained in:
+214
@@ -0,0 +1,214 @@
|
||||
// Differential kernel: the shift vector slice against the Go
|
||||
// toolchain's loong64enc1.s rows (gasm v. go tool asm, byte for byte).
|
||||
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·VSLLB(SB), NOSPLIT, $0
|
||||
VSLLB V1, V2, V3
|
||||
VSLLB $0, V1, V2
|
||||
VSLLB $7, V1, V2
|
||||
VSLLB $5, V1
|
||||
RET
|
||||
|
||||
TEXT ·VSLLH(SB), NOSPLIT, $0
|
||||
VSLLH V1, V2, V3
|
||||
VSLLH $0, V1, V2
|
||||
VSLLH $15, V1, V2
|
||||
VSLLH $10, V1
|
||||
RET
|
||||
|
||||
TEXT ·VSLLW(SB), NOSPLIT, $0
|
||||
VSLLW V1, V2, V3
|
||||
VSLLW $0, V1, V2
|
||||
VSLLW $31, V1, V2
|
||||
VSLLW $11, V1
|
||||
RET
|
||||
|
||||
TEXT ·VSLLV(SB), NOSPLIT, $0
|
||||
VSLLV V1, V2, V3
|
||||
VSLLV $0, V1, V2
|
||||
VSLLV $63, V1, V2
|
||||
VSLLV $30, V1
|
||||
RET
|
||||
|
||||
TEXT ·VSRLB(SB), NOSPLIT, $0
|
||||
VSRLB V1, V2, V3
|
||||
VSRLB $0, V1, V2
|
||||
VSRLB $7, V1, V2
|
||||
VSRLB $4, V1
|
||||
RET
|
||||
|
||||
TEXT ·VSRLH(SB), NOSPLIT, $0
|
||||
VSRLH V1, V2, V3
|
||||
VSRLH $0, V1, V2
|
||||
VSRLH $15, V1, V2
|
||||
VSRLH $9, V1
|
||||
RET
|
||||
|
||||
TEXT ·VSRLW(SB), NOSPLIT, $0
|
||||
VSRLW V1, V2, V3
|
||||
VSRLW $0, V1, V2
|
||||
VSRLW $31, V1, V2
|
||||
VSRLW $16, V1
|
||||
RET
|
||||
|
||||
TEXT ·VSRLV(SB), NOSPLIT, $0
|
||||
VSRLV V1, V2, V3
|
||||
VSRLV $0, V1, V2
|
||||
VSRLV $63, V1, V2
|
||||
VSRLV $40, V1
|
||||
RET
|
||||
|
||||
TEXT ·VSRAH(SB), NOSPLIT, $0
|
||||
VSRAH V1, V2, V3
|
||||
VSRAH $0, V1, V2
|
||||
VSRAH $15, V1, V2
|
||||
VSRAH $8, V1
|
||||
RET
|
||||
|
||||
TEXT ·VSRAW(SB), NOSPLIT, $0
|
||||
VSRAW V1, V2, V3
|
||||
VSRAW $0, V1, V2
|
||||
VSRAW $31, V1, V2
|
||||
VSRAW $12, V1
|
||||
RET
|
||||
|
||||
TEXT ·VSRAV(SB), NOSPLIT, $0
|
||||
VSRAV V1, V2, V3
|
||||
VSRAV $0, V1, V2
|
||||
VSRAV $63, V1, V2
|
||||
VSRAV $50, V1
|
||||
RET
|
||||
|
||||
TEXT ·VROTRB(SB), NOSPLIT, $0
|
||||
VROTRB V1, V2, V3
|
||||
VROTRB $0, V1, V2
|
||||
VROTRB $7, V1, V2
|
||||
VROTRB $3, V1
|
||||
RET
|
||||
|
||||
TEXT ·VROTRH(SB), NOSPLIT, $0
|
||||
VROTRH V1, V2, V3
|
||||
VROTRH $0, V1, V2
|
||||
VROTRH $15, V1, V2
|
||||
VROTRH $5, V1
|
||||
RET
|
||||
|
||||
TEXT ·VROTRV(SB), NOSPLIT, $0
|
||||
VROTRV V1, V2, V3
|
||||
VROTRV $0, V1, V2
|
||||
VROTRV $63, V1, V2
|
||||
VROTRV $52, V1
|
||||
RET
|
||||
|
||||
TEXT ·XVSLLB(SB), NOSPLIT, $0
|
||||
XVSLLB X3, X2, X1
|
||||
XVSLLB $0, X2, X1
|
||||
XVSLLB $7, X2, X1
|
||||
XVSLLB $4, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVSLLH(SB), NOSPLIT, $0
|
||||
XVSLLH X3, X2, X1
|
||||
XVSLLH $0, X2, X1
|
||||
XVSLLH $15, X2, X1
|
||||
XVSLLH $8, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVSLLW(SB), NOSPLIT, $0
|
||||
XVSLLW X3, X2, X1
|
||||
XVSLLW $0, X2, X1
|
||||
XVSLLW $31, X2, X1
|
||||
XVSLLW $13, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVSLLV(SB), NOSPLIT, $0
|
||||
XVSLLV X3, X2, X1
|
||||
XVSLLV $0, X2, X1
|
||||
XVSLLV $63, X2, X1
|
||||
XVSLLV $36, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVSRLB(SB), NOSPLIT, $0
|
||||
XVSRLB X3, X2, X1
|
||||
XVSRLB $0, X2, X1
|
||||
XVSRLB $7, X2, X1
|
||||
XVSRLB $5, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVSRLH(SB), NOSPLIT, $0
|
||||
XVSRLH X3, X2, X1
|
||||
XVSRLH $0, X2, X1
|
||||
XVSRLH $15, X2, X1
|
||||
XVSRLH $9, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVSRLW(SB), NOSPLIT, $0
|
||||
XVSRLW X3, X2, X1
|
||||
XVSRLW $0, X2, X1
|
||||
XVSRLW $31, X2, X1
|
||||
XVSRLW $14, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVSRLV(SB), NOSPLIT, $0
|
||||
XVSRLV X3, X2, X1
|
||||
XVSRLV $0, X2, X1
|
||||
XVSRLV $63, X2, X1
|
||||
XVSRLV $45, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVSRAB(SB), NOSPLIT, $0
|
||||
XVSRAB X3, X2, X1
|
||||
XVSRAB $0, X2, X1
|
||||
XVSRAB $7, X2, X1
|
||||
XVSRAB $6, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVSRAH(SB), NOSPLIT, $0
|
||||
XVSRAH X3, X2, X1
|
||||
XVSRAH $0, X2, X1
|
||||
XVSRAH $15, X2, X1
|
||||
XVSRAH $10, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVSRAW(SB), NOSPLIT, $0
|
||||
XVSRAW X3, X2, X1
|
||||
XVSRAW $0, X2, X1
|
||||
XVSRAW $31, X2, X1
|
||||
XVSRAW $16, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVSRAV(SB), NOSPLIT, $0
|
||||
XVSRAV X3, X2, X1
|
||||
XVSRAV $0, X2, X1
|
||||
XVSRAV $63, X2, X1
|
||||
XVSRAV $48, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVROTRB(SB), NOSPLIT, $0
|
||||
XVROTRB X3, X2, X1
|
||||
XVROTRB $0, X2, X1
|
||||
XVROTRB $7, X2, X1
|
||||
XVROTRB $3, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVROTRH(SB), NOSPLIT, $0
|
||||
XVROTRH X3, X2, X1
|
||||
XVROTRH $0, X2, X1
|
||||
XVROTRH $15, X2, X1
|
||||
XVROTRH $13, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVROTRW(SB), NOSPLIT, $0
|
||||
XVROTRW X3, X2, X1
|
||||
XVROTRW $0, X2, X1
|
||||
XVROTRW $31, X2, X1
|
||||
XVROTRW $24, X2
|
||||
RET
|
||||
|
||||
TEXT ·XVROTRV(SB), NOSPLIT, $0
|
||||
XVROTRV X3, X2, X1
|
||||
XVROTRV $0, X2, X1
|
||||
XVROTRV $63, X2, X1
|
||||
XVROTRV $52, X2
|
||||
RET
|
||||
Reference in New Issue
Block a user