test(asm): seed the riscv64 and loong64 assemble fuzz targets

Assisted-by: GLM 5.3
This commit is contained in:
petrbalvin committed 2026-10-07 13:51:02 +02:00
1 parent b9dfb48d79
commit 965b33e5b0
11 files changed
+1288

No files matched your search

+61
View File
@@ -0,0 +1,61 @@
// Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org)
// SPDX-License-Identifier: BSD-3-Clause
// Seed corpus for FuzzAssembleLOONG64: the shuffle/permute immediate family.
// VSHUF4I.B/H/W take a ui8 packing two position nibbles; VSHUF4I.V is
// range-gated to 0..15 although its field is ui8, the same gate the
// toolchain keeps. VPERMI.W and the VEXTRINS pack an element index and an
// insert/extract order in one ui8.
#include "textflag.h"
TEXT ·shuf4(SB), NOSPLIT, $0
VSHUF4IB $0, V2, V1
VSHUF4IB $16, V2, V1
VSHUF4IB $255, V2, V1
VSHUF4IH $0, V2, V1
VSHUF4IH $128, V2, V1
VSHUF4IH $255, V2, V1
VSHUF4IW $0, V2, V1
VSHUF4IW $96, V2, V1
VSHUF4IW $255, V2, V1
VSHUF4IV $0, V2, V1
VSHUF4IV $8, V2, V1
VSHUF4IV $15, V2, V1
RET
TEXT ·shuf4X(SB), NOSPLIT, $0
XVSHUF4IB $0, X2, X1
XVSHUF4IB $255, X2, X1
XVSHUF4IH $255, X2, X1
XVSHUF4IW $255, X2, X1
XVSHUF4IV $0, X2, X1
XVSHUF4IV $15, X2, X1
RET
TEXT ·permi(SB), NOSPLIT, $0
VPERMIW $0, V2, V1
VPERMIW $255, V2, V1
XVPERMIW $0, X2, X1
XVPERMIW $255, X2, X1
XVPERMIV $0, X2, X1
XVPERMIV $255, X2, X1
XVPERMIQ $0, X2, X1
XVPERMIQ $255, X2, X1
RET
TEXT ·extrins(SB), NOSPLIT, $0
VEXTRINSB $0, V2, V1
VEXTRINSB $255, V2, V1
VEXTRINSH $0, V2, V1
VEXTRINSH $255, V2, V1
VEXTRINSW $0, V2, V1
VEXTRINSW $255, V2, V1
VEXTRINSV $0, V2, V1
VEXTRINSV $255, V2, V1
XVEXTRINSB $0, X2, X1
XVEXTRINSB $255, X2, X1
XVEXTRINSH $255, X2, X1
XVEXTRINSW $255, X2, X1
XVEXTRINSV $255, X2, X1
RET