feat(loong64): encode the full LSX and LASX table
Assisted-by: GLM 5.3 Flash
This commit is contained in:
+419
@@ -0,0 +1,419 @@
|
||||
// Differential kernel: immediate range boundaries for the vector
|
||||
// immediate forms (min, mid and max of each accepted window).
|
||||
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·VSEQBbounds(SB), NOSPLIT, $0
|
||||
VSEQB $-16, V2, V3
|
||||
VSEQB $15, V2, V3
|
||||
VSEQB $0, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·VSEQHbounds(SB), NOSPLIT, $0
|
||||
VSEQH $-16, V2, V3
|
||||
VSEQH $15, V2, V3
|
||||
VSEQH $0, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·VSEQWbounds(SB), NOSPLIT, $0
|
||||
VSEQW $-16, V2, V3
|
||||
VSEQW $15, V2, V3
|
||||
VSEQW $0, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·VSEQVbounds(SB), NOSPLIT, $0
|
||||
VSEQV $-16, V2, V3
|
||||
VSEQV $15, V2, V3
|
||||
VSEQV $0, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·VSLTBbounds(SB), NOSPLIT, $0
|
||||
VSLTB $-16, V2, V3
|
||||
VSLTB $15, V2, V3
|
||||
VSLTB $0, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·VSLTHbounds(SB), NOSPLIT, $0
|
||||
VSLTH $-16, V2, V3
|
||||
VSLTH $15, V2, V3
|
||||
VSLTH $0, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·VSLTWbounds(SB), NOSPLIT, $0
|
||||
VSLTW $-16, V2, V3
|
||||
VSLTW $15, V2, V3
|
||||
VSLTW $0, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·VSLTVbounds(SB), NOSPLIT, $0
|
||||
VSLTV $-16, V2, V3
|
||||
VSLTV $15, V2, V3
|
||||
VSLTV $0, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·VSLTBUbounds(SB), NOSPLIT, $0
|
||||
VSLTBU $0, V2, V3
|
||||
VSLTBU $31, V2, V3
|
||||
VSLTBU $15, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·VSLTHUbounds(SB), NOSPLIT, $0
|
||||
VSLTHU $0, V2, V3
|
||||
VSLTHU $31, V2, V3
|
||||
VSLTHU $15, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·VSLTWUbounds(SB), NOSPLIT, $0
|
||||
VSLTWU $0, V2, V3
|
||||
VSLTWU $31, V2, V3
|
||||
VSLTWU $15, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·VSLTVUbounds(SB), NOSPLIT, $0
|
||||
VSLTVU $0, V2, V3
|
||||
VSLTVU $31, V2, V3
|
||||
VSLTVU $15, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·VADDBUbounds(SB), NOSPLIT, $0
|
||||
VADDBU $0, V2, V3
|
||||
VADDBU $31, V2, V3
|
||||
VADDBU $15, V2, V3
|
||||
VADDBU $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VADDHUbounds(SB), NOSPLIT, $0
|
||||
VADDHU $0, V2, V3
|
||||
VADDHU $31, V2, V3
|
||||
VADDHU $15, V2, V3
|
||||
VADDHU $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VADDWUbounds(SB), NOSPLIT, $0
|
||||
VADDWU $0, V2, V3
|
||||
VADDWU $31, V2, V3
|
||||
VADDWU $15, V2, V3
|
||||
VADDWU $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VADDVUbounds(SB), NOSPLIT, $0
|
||||
VADDVU $0, V2, V3
|
||||
VADDVU $31, V2, V3
|
||||
VADDVU $15, V2, V3
|
||||
VADDVU $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSUBBUbounds(SB), NOSPLIT, $0
|
||||
VSUBBU $0, V2, V3
|
||||
VSUBBU $31, V2, V3
|
||||
VSUBBU $15, V2, V3
|
||||
VSUBBU $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSUBHUbounds(SB), NOSPLIT, $0
|
||||
VSUBHU $0, V2, V3
|
||||
VSUBHU $31, V2, V3
|
||||
VSUBHU $15, V2, V3
|
||||
VSUBHU $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSUBWUbounds(SB), NOSPLIT, $0
|
||||
VSUBWU $0, V2, V3
|
||||
VSUBWU $31, V2, V3
|
||||
VSUBWU $15, V2, V3
|
||||
VSUBWU $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSUBVUbounds(SB), NOSPLIT, $0
|
||||
VSUBVU $0, V2, V3
|
||||
VSUBVU $31, V2, V3
|
||||
VSUBVU $15, V2, V3
|
||||
VSUBVU $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VANDBbounds(SB), NOSPLIT, $0
|
||||
VANDB $0, V2, V3
|
||||
VANDB $255, V2, V3
|
||||
VANDB $127, V2, V3
|
||||
VANDB $127, V2
|
||||
RET
|
||||
|
||||
TEXT ·VBITCLRBbounds(SB), NOSPLIT, $0
|
||||
VBITCLRB $0, V2, V3
|
||||
VBITCLRB $7, V2, V3
|
||||
VBITCLRB $3, V2, V3
|
||||
VBITCLRB $3, V2
|
||||
RET
|
||||
|
||||
TEXT ·VBITCLRHbounds(SB), NOSPLIT, $0
|
||||
VBITCLRH $0, V2, V3
|
||||
VBITCLRH $15, V2, V3
|
||||
VBITCLRH $7, V2, V3
|
||||
VBITCLRH $7, V2
|
||||
RET
|
||||
|
||||
TEXT ·VBITCLRVbounds(SB), NOSPLIT, $0
|
||||
VBITCLRV $0, V2, V3
|
||||
VBITCLRV $63, V2, V3
|
||||
VBITCLRV $31, V2, V3
|
||||
VBITCLRV $31, V2
|
||||
RET
|
||||
|
||||
TEXT ·VBITCLRWbounds(SB), NOSPLIT, $0
|
||||
VBITCLRW $0, V2, V3
|
||||
VBITCLRW $31, V2, V3
|
||||
VBITCLRW $15, V2, V3
|
||||
VBITCLRW $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VBITREVBbounds(SB), NOSPLIT, $0
|
||||
VBITREVB $0, V2, V3
|
||||
VBITREVB $7, V2, V3
|
||||
VBITREVB $3, V2, V3
|
||||
VBITREVB $3, V2
|
||||
RET
|
||||
|
||||
TEXT ·VBITREVHbounds(SB), NOSPLIT, $0
|
||||
VBITREVH $0, V2, V3
|
||||
VBITREVH $15, V2, V3
|
||||
VBITREVH $7, V2, V3
|
||||
VBITREVH $7, V2
|
||||
RET
|
||||
|
||||
TEXT ·VBITREVVbounds(SB), NOSPLIT, $0
|
||||
VBITREVV $0, V2, V3
|
||||
VBITREVV $63, V2, V3
|
||||
VBITREVV $31, V2, V3
|
||||
VBITREVV $31, V2
|
||||
RET
|
||||
|
||||
TEXT ·VBITREVWbounds(SB), NOSPLIT, $0
|
||||
VBITREVW $0, V2, V3
|
||||
VBITREVW $31, V2, V3
|
||||
VBITREVW $15, V2, V3
|
||||
VBITREVW $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VBITSETBbounds(SB), NOSPLIT, $0
|
||||
VBITSETB $0, V2, V3
|
||||
VBITSETB $7, V2, V3
|
||||
VBITSETB $3, V2, V3
|
||||
VBITSETB $3, V2
|
||||
RET
|
||||
|
||||
TEXT ·VBITSETHbounds(SB), NOSPLIT, $0
|
||||
VBITSETH $0, V2, V3
|
||||
VBITSETH $15, V2, V3
|
||||
VBITSETH $7, V2, V3
|
||||
VBITSETH $7, V2
|
||||
RET
|
||||
|
||||
TEXT ·VBITSETVbounds(SB), NOSPLIT, $0
|
||||
VBITSETV $0, V2, V3
|
||||
VBITSETV $63, V2, V3
|
||||
VBITSETV $31, V2, V3
|
||||
VBITSETV $31, V2
|
||||
RET
|
||||
|
||||
TEXT ·VBITSETWbounds(SB), NOSPLIT, $0
|
||||
VBITSETW $0, V2, V3
|
||||
VBITSETW $31, V2, V3
|
||||
VBITSETW $15, V2, V3
|
||||
VBITSETW $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VEXTRINSBbounds(SB), NOSPLIT, $0
|
||||
VEXTRINSB $0, V2, V3
|
||||
VEXTRINSB $255, V2, V3
|
||||
VEXTRINSB $127, V2, V3
|
||||
VEXTRINSB $127, V2
|
||||
RET
|
||||
|
||||
TEXT ·VEXTRINSHbounds(SB), NOSPLIT, $0
|
||||
VEXTRINSH $0, V2, V3
|
||||
VEXTRINSH $255, V2, V3
|
||||
VEXTRINSH $127, V2, V3
|
||||
VEXTRINSH $127, V2
|
||||
RET
|
||||
|
||||
TEXT ·VEXTRINSVbounds(SB), NOSPLIT, $0
|
||||
VEXTRINSV $0, V2, V3
|
||||
VEXTRINSV $255, V2, V3
|
||||
VEXTRINSV $127, V2, V3
|
||||
VEXTRINSV $127, V2
|
||||
RET
|
||||
|
||||
TEXT ·VEXTRINSWbounds(SB), NOSPLIT, $0
|
||||
VEXTRINSW $0, V2, V3
|
||||
VEXTRINSW $255, V2, V3
|
||||
VEXTRINSW $127, V2, V3
|
||||
VEXTRINSW $127, V2
|
||||
RET
|
||||
|
||||
TEXT ·VNORBbounds(SB), NOSPLIT, $0
|
||||
VNORB $0, V2, V3
|
||||
VNORB $255, V2, V3
|
||||
VNORB $127, V2, V3
|
||||
VNORB $127, V2
|
||||
RET
|
||||
|
||||
TEXT ·VORBbounds(SB), NOSPLIT, $0
|
||||
VORB $0, V2, V3
|
||||
VORB $255, V2, V3
|
||||
VORB $127, V2, V3
|
||||
VORB $127, V2
|
||||
RET
|
||||
|
||||
TEXT ·VPERMIWbounds(SB), NOSPLIT, $0
|
||||
VPERMIW $0, V2, V3
|
||||
VPERMIW $255, V2, V3
|
||||
VPERMIW $127, V2, V3
|
||||
VPERMIW $127, V2
|
||||
RET
|
||||
|
||||
TEXT ·VROTRBbounds(SB), NOSPLIT, $0
|
||||
VROTRB $0, V2, V3
|
||||
VROTRB $7, V2, V3
|
||||
VROTRB $3, V2, V3
|
||||
VROTRB $3, V2
|
||||
RET
|
||||
|
||||
TEXT ·VROTRHbounds(SB), NOSPLIT, $0
|
||||
VROTRH $0, V2, V3
|
||||
VROTRH $15, V2, V3
|
||||
VROTRH $7, V2, V3
|
||||
VROTRH $7, V2
|
||||
RET
|
||||
|
||||
TEXT ·VROTRVbounds(SB), NOSPLIT, $0
|
||||
VROTRV $0, V2, V3
|
||||
VROTRV $63, V2, V3
|
||||
VROTRV $31, V2, V3
|
||||
VROTRV $31, V2
|
||||
RET
|
||||
|
||||
TEXT ·VROTRWbounds(SB), NOSPLIT, $0
|
||||
VROTRW $0, V2, V3
|
||||
VROTRW $31, V2, V3
|
||||
VROTRW $15, V2, V3
|
||||
VROTRW $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSHUF4IBbounds(SB), NOSPLIT, $0
|
||||
VSHUF4IB $0, V2, V3
|
||||
VSHUF4IB $255, V2, V3
|
||||
VSHUF4IB $127, V2, V3
|
||||
VSHUF4IB $127, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSHUF4IHbounds(SB), NOSPLIT, $0
|
||||
VSHUF4IH $0, V2, V3
|
||||
VSHUF4IH $255, V2, V3
|
||||
VSHUF4IH $127, V2, V3
|
||||
VSHUF4IH $127, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSHUF4IVbounds(SB), NOSPLIT, $0
|
||||
VSHUF4IV $0, V2, V3
|
||||
VSHUF4IV $15, V2, V3
|
||||
VSHUF4IV $7, V2, V3
|
||||
VSHUF4IV $7, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSHUF4IWbounds(SB), NOSPLIT, $0
|
||||
VSHUF4IW $0, V2, V3
|
||||
VSHUF4IW $255, V2, V3
|
||||
VSHUF4IW $127, V2, V3
|
||||
VSHUF4IW $127, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSLLBbounds(SB), NOSPLIT, $0
|
||||
VSLLB $0, V2, V3
|
||||
VSLLB $7, V2, V3
|
||||
VSLLB $3, V2, V3
|
||||
VSLLB $3, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSLLHbounds(SB), NOSPLIT, $0
|
||||
VSLLH $0, V2, V3
|
||||
VSLLH $15, V2, V3
|
||||
VSLLH $7, V2, V3
|
||||
VSLLH $7, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSLLVbounds(SB), NOSPLIT, $0
|
||||
VSLLV $0, V2, V3
|
||||
VSLLV $63, V2, V3
|
||||
VSLLV $31, V2, V3
|
||||
VSLLV $31, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSLLWbounds(SB), NOSPLIT, $0
|
||||
VSLLW $0, V2, V3
|
||||
VSLLW $31, V2, V3
|
||||
VSLLW $15, V2, V3
|
||||
VSLLW $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSRABbounds(SB), NOSPLIT, $0
|
||||
VSRAB $0, V2, V3
|
||||
VSRAB $7, V2, V3
|
||||
VSRAB $3, V2, V3
|
||||
VSRAB $3, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSRAHbounds(SB), NOSPLIT, $0
|
||||
VSRAH $0, V2, V3
|
||||
VSRAH $15, V2, V3
|
||||
VSRAH $7, V2, V3
|
||||
VSRAH $7, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSRAVbounds(SB), NOSPLIT, $0
|
||||
VSRAV $0, V2, V3
|
||||
VSRAV $63, V2, V3
|
||||
VSRAV $31, V2, V3
|
||||
VSRAV $31, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSRAWbounds(SB), NOSPLIT, $0
|
||||
VSRAW $0, V2, V3
|
||||
VSRAW $31, V2, V3
|
||||
VSRAW $15, V2, V3
|
||||
VSRAW $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSRLBbounds(SB), NOSPLIT, $0
|
||||
VSRLB $0, V2, V3
|
||||
VSRLB $7, V2, V3
|
||||
VSRLB $3, V2, V3
|
||||
VSRLB $3, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSRLHbounds(SB), NOSPLIT, $0
|
||||
VSRLH $0, V2, V3
|
||||
VSRLH $15, V2, V3
|
||||
VSRLH $7, V2, V3
|
||||
VSRLH $7, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSRLVbounds(SB), NOSPLIT, $0
|
||||
VSRLV $0, V2, V3
|
||||
VSRLV $63, V2, V3
|
||||
VSRLV $31, V2, V3
|
||||
VSRLV $31, V2
|
||||
RET
|
||||
|
||||
TEXT ·VSRLWbounds(SB), NOSPLIT, $0
|
||||
VSRLW $0, V2, V3
|
||||
VSRLW $31, V2, V3
|
||||
VSRLW $15, V2, V3
|
||||
VSRLW $15, V2
|
||||
RET
|
||||
|
||||
TEXT ·VXORBbounds(SB), NOSPLIT, $0
|
||||
VXORB $0, V2, V3
|
||||
VXORB $255, V2, V3
|
||||
VXORB $127, V2, V3
|
||||
VXORB $127, V2
|
||||
RET
|
||||
Reference in New Issue
Block a user