// Differential kernel: the shuffle vector slice against the Go // toolchain's loong64enc1.s rows (gasm v. go tool asm, byte for byte). #include "textflag.h" TEXT ·VSHUF4IB(SB), NOSPLIT, $0 VSHUF4IB $0, V2, V1 VSHUF4IB $16, V2, V1 VSHUF4IB $255, V2, V1 RET TEXT ·VSHUF4IH(SB), NOSPLIT, $0 VSHUF4IH $0, V2, V1 VSHUF4IH $128, V2, V1 VSHUF4IH $255, V2, V1 RET TEXT ·VSHUF4IW(SB), NOSPLIT, $0 VSHUF4IW $0, V2, V1 VSHUF4IW $96, V2, V1 VSHUF4IW $255, V2, V1 RET TEXT ·VSHUF4IV(SB), NOSPLIT, $0 VSHUF4IV $0, V2, V1 VSHUF4IV $8, V2, V1 VSHUF4IV $15, V2, V1 RET TEXT ·XVSHUF4IB(SB), NOSPLIT, $0 XVSHUF4IB $0, X1, X2 XVSHUF4IB $16, X1, X2 XVSHUF4IB $255, X1, X2 RET TEXT ·XVSHUF4IH(SB), NOSPLIT, $0 XVSHUF4IH $0, X1, X2 XVSHUF4IH $128, X1, X2 XVSHUF4IH $255, X1, X2 RET TEXT ·XVSHUF4IW(SB), NOSPLIT, $0 XVSHUF4IW $0, X1, X2 XVSHUF4IW $96, X1, X2 XVSHUF4IW $255, X1, X2 RET TEXT ·XVSHUF4IV(SB), NOSPLIT, $0 XVSHUF4IV $0, X1, X2 XVSHUF4IV $8, X1, X2 XVSHUF4IV $15, X1, X2 RET TEXT ·VSHUFH(SB), NOSPLIT, $0 VSHUFH V1, V2, V3 RET TEXT ·VSHUFW(SB), NOSPLIT, $0 VSHUFW V1, V2, V3 RET TEXT ·VSHUFV(SB), NOSPLIT, $0 VSHUFV V1, V2, V3 RET TEXT ·XVSHUFH(SB), NOSPLIT, $0 XVSHUFH X1, X2, X3 RET TEXT ·XVSHUFW(SB), NOSPLIT, $0 XVSHUFW X1, X2, X3 RET TEXT ·XVSHUFV(SB), NOSPLIT, $0 XVSHUFV X1, X2, X3 RET TEXT ·VSHUFB(SB), NOSPLIT, $0 VSHUFB V1, V2, V3, V4 RET TEXT ·XVSHUFB(SB), NOSPLIT, $0 XVSHUFB X1, X2, X3, X4 RET TEXT ·VPERMIW(SB), NOSPLIT, $0 VPERMIW $0x1B, V1, V2 RET TEXT ·XVPERMIW(SB), NOSPLIT, $0 XVPERMIW $0x2B, X1, X2 RET TEXT ·XVPERMIV(SB), NOSPLIT, $0 XVPERMIV $0x3B, X1, X2 RET TEXT ·XVPERMIQ(SB), NOSPLIT, $0 XVPERMIQ $0x4B, X1, X2 RET TEXT ·VEXTRINSB(SB), NOSPLIT, $0 VEXTRINSB $0x18, V1, V2 RET TEXT ·VEXTRINSH(SB), NOSPLIT, $0 VEXTRINSH $0x27, V1, V2 RET TEXT ·VEXTRINSW(SB), NOSPLIT, $0 VEXTRINSW $0x36, V1, V2 RET TEXT ·VEXTRINSV(SB), NOSPLIT, $0 VEXTRINSV $0x45, V1, V2 RET TEXT ·XVEXTRINSB(SB), NOSPLIT, $0 XVEXTRINSB $0x54, X1, X2 RET TEXT ·XVEXTRINSH(SB), NOSPLIT, $0 XVEXTRINSH $0x63, X1, X2 RET TEXT ·XVEXTRINSW(SB), NOSPLIT, $0 XVEXTRINSW $0x72, X1, X2 RET TEXT ·XVEXTRINSV(SB), NOSPLIT, $0 XVEXTRINSV $0x81, X1, X2 RET