test(asm): seed the riscv64 and loong64 assemble fuzz targets
Assisted-by: GLM 5.3
This commit is contained in:
1 parent
b9dfb48d79
commit
965b33e5b0
11 files changed
+1288
No files matched your search
Vendored
+233
@@ -0,0 +1,233 @@
|
||||
// Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org)
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
// Seed corpus for FuzzAssembleRISCV64: the RVV surface. The configuration
|
||||
// setters, the load/store families with their segment and fault-only-first
|
||||
// variants, the arithmetic operand classes (VV/VX/VI, the masks, the
|
||||
// merge and carry forms, the reductions and the whole-register moves).
|
||||
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·config(SB), NOSPLIT, $0
|
||||
VSETVLI X5, E8, M8, TA, MA, X6
|
||||
VSETVLI X5, E8, M1, TU, MU, X6
|
||||
VSETVLI $15, E32, M1, TA, MA, X12
|
||||
VSETVLI $31, E64, M2, TU, MU, X12
|
||||
VSETIVLI $0, E16, M4, TA, MA, X0
|
||||
VSETIVLI $4, E32, M1, TA, MA, X0
|
||||
VSETIVLI $31, E8, M8, TU, MU, X15
|
||||
RET
|
||||
|
||||
TEXT ·loads(SB), NOSPLIT, $0
|
||||
VLE8V (X10), V8
|
||||
VLE16V (X10), V8
|
||||
VLE32V (X10), V8
|
||||
VLE64V (X11), V16
|
||||
VSE8V V8, (X10)
|
||||
VSE16V V8, (X10)
|
||||
VSE32V V15, (X11)
|
||||
VSE64V V24, (X10)
|
||||
VLSE8V (X14), X9, V0
|
||||
VLSE32V (X14), X5, V4
|
||||
VSSE64V V4, X7, (X14)
|
||||
VLUXEI8V (X10), V20, V4
|
||||
VLOXEI32V (X10), V20, V4
|
||||
VSUXEI64V V4, V20, (X10)
|
||||
VSOXEI16V V4, V20, (X10)
|
||||
VLE8FFV (X10), V8
|
||||
RET
|
||||
|
||||
TEXT ·segments(SB), NOSPLIT, $0
|
||||
VLSEG2E8V (X14), V0
|
||||
VLSEG4E32V (X14), V0
|
||||
VLSEG8E64V (X14), V4
|
||||
VSSEG2E32V V0, (X14)
|
||||
VSSEG8E8V V4, (X14)
|
||||
VLSSEG4E32V (X14), X0, V0
|
||||
VLSSEG8E32V (X10), X0, V4
|
||||
VLUXSEG2EI32V (X10), V20, V4
|
||||
VLOXSEG4EI64V (X10), V20, V4
|
||||
VSUXSEG2EI8V V4, V20, (X10)
|
||||
VLSEG4E8FFV (X14), V0
|
||||
RET
|
||||
|
||||
TEXT ·wholeReg(SB), NOSPLIT, $0
|
||||
VL1RV (X10), V8
|
||||
VL2RV (X10), V16
|
||||
VL4RV (X10), V0
|
||||
VL8RV (X10), V0
|
||||
VS1RV V8, (X10)
|
||||
VS2RV V16, (X10)
|
||||
VS4RV V0, (X10)
|
||||
VS8RV V0, (X10)
|
||||
VL1RE8V (X10), V8
|
||||
VL2RE16V (X10), V16
|
||||
VL4RE32V (X10), V0
|
||||
VL8RE64V (X10), V0
|
||||
VL2RE64V (X10), V16
|
||||
VLMV (X10), V0
|
||||
VSMV V0, (X10)
|
||||
RET
|
||||
|
||||
TEXT ·arith(SB), NOSPLIT, $0
|
||||
VADDVV V1, V2, V3
|
||||
VADDVV V1, V2, V0, V3
|
||||
VADDVX X10, V2, V0, V3
|
||||
VADDVI $15, V2, V0, V3
|
||||
VADDVI $-16, V2, V0, V3
|
||||
VADDVI $0, V2, V3
|
||||
VSUBVV V1, V2, V0, V3
|
||||
VSUBVX X10, V2, V3
|
||||
VRSUBVX X10, V2, V0, V3
|
||||
VRSUBVI $15, V2, V0, V3
|
||||
VANDVI $-1, V2, V3
|
||||
VORVI $15, V2, V3
|
||||
VORVI $-16, V2, V3
|
||||
VXORVI $0, V2, V3
|
||||
VNEGV V2, V0, V3
|
||||
VNOTV V2, V3
|
||||
VIDV V12
|
||||
VFMVVF F10, V14
|
||||
VMVVI $15, V14
|
||||
VMVVI $-16, V14
|
||||
VMVVV V1, V4
|
||||
VMVVX X10, V4
|
||||
VMVXS V4, X10
|
||||
VFMVSF F10, X11
|
||||
RET
|
||||
|
||||
TEXT ·shiftsSliding(SB), NOSPLIT, $0
|
||||
VSLLVI $0, V28, V30
|
||||
VSLLVI $31, V28, V30
|
||||
VSRLVI $25, V29, V29
|
||||
VSRAVI $31, V4, V5
|
||||
VNSRLWI $31, V6, V7
|
||||
VNSRAWI $0, V6, V7
|
||||
VSLLVV V1, V2, V3
|
||||
VSRLVX X10, V2, V3
|
||||
VSRAVV V1, V2, V3
|
||||
VRORVI $7, V4, V5
|
||||
VRORVI $31, V4, V5
|
||||
VRORVV V1, V2, V3
|
||||
VROLVX X10, V2, V3
|
||||
VSLIDEUPVI $31, V4, V5
|
||||
VSLIDEUPVX X10, V4, V5
|
||||
VSLIDEDOWNVI $0, V4, V5
|
||||
VSLIDEDOWNVX X10, V4, V5
|
||||
VFSLIDE1UPVF F10, V4, V5
|
||||
VFSLIDE1DOWNVF F10, V4, V5
|
||||
VRGATHERVI $31, V2, V3
|
||||
VRGATHERVV V1, V2, V3
|
||||
VRGATHERVX X10, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·compareMask(SB), NOSPLIT, $0
|
||||
VMSEQVV V1, V2, V0
|
||||
VMSEQVX X10, V2, V0
|
||||
VMSEQVI $0, V2, V0
|
||||
VMSNEVI $-16, V2, V0
|
||||
VMSLTVI $15, V2, V0
|
||||
VMSLTUVI $15, V2, V0
|
||||
VMSLEVI $-1, V2, V0
|
||||
VMSGEVI $15, V2, V0
|
||||
VMSGEUVI $0, V2, V0
|
||||
VMSGTVV V1, V2, V0
|
||||
VMSLEVV V1, V2, V0
|
||||
VMFEQVF F10, V2, V0
|
||||
VMFLTVF F10, V2, V0
|
||||
VMFGEVF F10, V2, V0
|
||||
VMANDMM V1, V2, V3
|
||||
VMNANDMM V1, V2, V3
|
||||
VMANDNMM V1, V2, V3
|
||||
VMORMM V1, V2, V3
|
||||
VMXORMM V1, V2, V3
|
||||
VMXNORMM V1, V2, V3
|
||||
VMNORMM V1, V2, V3
|
||||
VMORNMM V1, V2, V3
|
||||
VMCLRM V1
|
||||
VMSETM V1
|
||||
VMNOTM V1, V2
|
||||
VCPOPM V0, X6
|
||||
VFIRSTM V0, X7
|
||||
VIOTAM V0, X5
|
||||
VMSBFM V0, V1
|
||||
VMSIFM V0, V1
|
||||
VMSOFM V0, V1
|
||||
RET
|
||||
|
||||
TEXT ·carryMerge(SB), NOSPLIT, $0
|
||||
VADCVVM V1, V2, V0, V3
|
||||
VADCVXM X10, V2, V0, V3
|
||||
VADCVIM $15, V2, V0, V3
|
||||
VMADCVV V1, V2, V3
|
||||
VMADCVX X10, V2, V3
|
||||
VMADCVI $-16, V2, V3
|
||||
VSBCVVM V1, V2, V0, V3
|
||||
VSBCVXM X10, V2, V0, V3
|
||||
VSBCVVM V1, V2, V0, V3
|
||||
VSBCVXM X10, V2, V0, V3
|
||||
VMADCVV V1, V2, V3
|
||||
VMADCVX X10, V2, V3
|
||||
VMADCVI $0, V2, V3
|
||||
VMADCVVM V1, V2, V0, V3
|
||||
VMERGEVVM V1, V2, V0, V3
|
||||
VMERGEVXM X10, V2, V0, V3
|
||||
VMERGEVIM $15, V2, V0, V3
|
||||
VFMERGEVFM F10, V2, V0, V3
|
||||
RET
|
||||
|
||||
TEXT ·reduceWiden(SB), NOSPLIT, $0
|
||||
VREDSUMVS V1, V2, V3
|
||||
VREDMAXUVS V1, V2, V3
|
||||
VREDMINVS V1, V2, V3
|
||||
VREDANDVS V1, V2, V3
|
||||
VREDORVS V1, V2, V3
|
||||
VREDXORVS V1, V2, V3
|
||||
VWREDSUMUVS V1, V2, V3
|
||||
VWREDSUMVS V1, V2, V3
|
||||
VFWREDOSUMVS V1, V2, V3
|
||||
VFWREDUSUMVS V1, V2, V3
|
||||
VWADDUVV V1, V2, V3
|
||||
VWADDWV V1, V2, V3
|
||||
VWSUBUVV V1, V2, V3
|
||||
VWSUBWV V1, V2, V3
|
||||
VWADDUWX X10, V2, V3
|
||||
VWADDWX X10, V2, V3
|
||||
VMULVV V1, V2, V3
|
||||
VMULHUVV V1, V2, V3
|
||||
VMULHSUVV V1, V2, V3
|
||||
VDIVUVV V1, V2, V3
|
||||
VREMVV V1, V2, V3
|
||||
VSMULVV V1, V2, V3
|
||||
VCLMULVV V1, V2, V3
|
||||
VCLMULHVX X10, V2, V3
|
||||
RET
|
||||
|
||||
TEXT ·fpVec(SB), NOSPLIT, $0
|
||||
VFADDVV V1, V2, V3
|
||||
VFADDVF F10, V2, V3
|
||||
VFSUBVF F10, V2, V3
|
||||
VFMULVV V1, V2, V3
|
||||
VFDIVVF F10, V2, V3
|
||||
VFRSUBVF F10, V2, V3
|
||||
VFMINVV V1, V2, V3
|
||||
VFMAXVF F10, V2, V3
|
||||
VFMACCVV V1, V2, V3
|
||||
VFMACCVF F10, V2, V3
|
||||
VFMSACVV V1, V2, V3
|
||||
VFNMSACVF F10, V2, V3
|
||||
VFMADDVV V1, V2, V3
|
||||
VFNMADDVF F10, V2, V3
|
||||
VFWMACCVV V1, V2, V3
|
||||
VFWMSACVF F10, V2, V3
|
||||
VFSQRTV V4, V5
|
||||
VFCLASSV V4, V5
|
||||
VFREC7V V4, V5
|
||||
VFRSQRT7V V4, V5
|
||||
VFCVTXFV V4, V5
|
||||
VFCVTRTZXFV V4, V5
|
||||
VFNCVTFFW V4, V5
|
||||
VFWCVTFFV V4, V5
|
||||
VSEXTVF2 V4, V5
|
||||
VZEXTVF8 V4, V5
|
||||
RET
|
||||
Reference in new issue
Block a user