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
+177
@@ -0,0 +1,177 @@
|
||||
// Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org)
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
// Seed corpus for FuzzAssembleRISCV64: branches over their offset range, the
|
||||
// jumps and calls, the system instructions, the atomics with the LR/SC pair,
|
||||
// the FP arithmetic, compare, conversion and fused multiply-add families in
|
||||
// every width including quad.
|
||||
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·branches(SB), NOSPLIT, $0
|
||||
BEQ X5, X6, b1
|
||||
BNE X5, X6, b2
|
||||
BLT X5, X6, b1
|
||||
BGE X5, X6, b2
|
||||
BLTU X5, X6, b1
|
||||
BGEU X5, X6, b2
|
||||
BGT X6, X5, b1
|
||||
BLE X6, X5, b2
|
||||
BGTU X6, X5, b1
|
||||
BLEU X6, X5, b2
|
||||
|
||||
b1:
|
||||
ADDI $1, X5, X5
|
||||
|
||||
b2:
|
||||
ADDI $-1, X6, X6
|
||||
BEQ X5, X6, b1
|
||||
RET
|
||||
|
||||
TEXT ·farBranch(SB), NOSPLIT, $0
|
||||
BEQ X5, X6, far
|
||||
SLTI $2047, X5, X6
|
||||
BEQ X5, X6, far
|
||||
|
||||
far:
|
||||
SLTIU $2047, X5, X6
|
||||
BGE X5, X6, far
|
||||
RET
|
||||
|
||||
TEXT ·jumps(SB), NOSPLIT, $0
|
||||
JAL X1, j1
|
||||
|
||||
j1:
|
||||
JALR X0, (X1)
|
||||
JALR X1, 0(X5)
|
||||
JMP j2
|
||||
|
||||
j2:
|
||||
JMP (X5)
|
||||
CALL (X5)
|
||||
JMP -3(PC)
|
||||
CALL runtime·morestack_noctxt(SB)
|
||||
RET
|
||||
|
||||
TEXT ·system(SB), NOSPLIT, $0
|
||||
FENCE
|
||||
FENCE.TSO
|
||||
PAUSE
|
||||
ECALL
|
||||
EBREAK
|
||||
RET
|
||||
|
||||
TEXT ·atomics(SB), NOSPLIT, $0
|
||||
AMOSWAPW X5, (X6), X7
|
||||
AMOSWAPD X5, (X6), X7
|
||||
AMOADDW X5, (X6), X7
|
||||
AMOADDD X5, (X6), X7
|
||||
AMOANDW X5, (X6), X7
|
||||
AMOORW X5, (X6), X7
|
||||
AMOXORW X5, (X6), X7
|
||||
AMOMINW X5, (X6), X7
|
||||
AMOMAXW X5, (X6), X7
|
||||
AMOMINUW X5, (X6), X7
|
||||
AMOMAXUW X5, (X6), X7
|
||||
AMOMIND X5, (X6), X7
|
||||
AMOMAXD X5, (X6), X7
|
||||
AMOMINUD X5, (X6), X7
|
||||
AMOMAXUD X5, (X6), X7
|
||||
LRW (X6), X7
|
||||
LRD (X6), X7
|
||||
SCW X5, (X6), X7
|
||||
SCD X5, (X6), X7
|
||||
RET
|
||||
|
||||
TEXT ·fpArith(SB), NOSPLIT, $0
|
||||
FADDS F1, F2, F3
|
||||
FSUBS F1, F2, F3
|
||||
FMULS F1, F2, F3
|
||||
FDIVS F1, F2, F3
|
||||
FADDD F1, F2, F3
|
||||
FSUBD F1, F2, F3
|
||||
FMULD F1, F2, F3
|
||||
FDIVD F1, F2, F3
|
||||
FADDQ F1, F2, F3
|
||||
FSUBQ F1, F2, F3
|
||||
FMULQ F1, F2, F3
|
||||
FDIVQ F1, F2, F3
|
||||
FSQRTS F1, F2
|
||||
FSQRTD F1, F2
|
||||
FSQRTQ F1, F2
|
||||
FMINS F1, F2, F3
|
||||
FMAXS F1, F2, F3
|
||||
FMIND F1, F2, F3
|
||||
FMAXD F1, F2, F3
|
||||
FMINQ F1, F2, F3
|
||||
FMAXQ F1, F2, F3
|
||||
RET
|
||||
|
||||
TEXT ·fpFma(SB), NOSPLIT, $0
|
||||
FMADDS F1, F2, F3, F4
|
||||
FMSUBS F1, F2, F3, F4
|
||||
FNMSUBS F1, F2, F3, F4
|
||||
FNMADDS F1, F2, F3, F4
|
||||
FMADDD F1, F2, F3, F4
|
||||
FMSUBD F1, F2, F3, F4
|
||||
FNMSUBD F1, F2, F3, F4
|
||||
FNMADDD F1, F2, F3, F4
|
||||
FMADDQ F1, F2, F3, F4
|
||||
FMSUBQ F1, F2, F3, F4
|
||||
FNMSUBQ F1, F2, F3, F4
|
||||
FNMADDQ F1, F2, F3, F4
|
||||
RET
|
||||
|
||||
TEXT ·fpCvt(SB), NOSPLIT, $0
|
||||
FCVTWS F1, X5
|
||||
FCVTWUS F1, X5
|
||||
FCVTLS F1, X5
|
||||
FCVTLUS F1, X5
|
||||
FCVTWD F1, X5
|
||||
FCVTWUD F1, X5
|
||||
FCVTLD F1, X5
|
||||
FCVTLUD F1, X5
|
||||
FCVTSW X5, F1
|
||||
FCVTSWU X5, F1
|
||||
FCVTSL X5, F1
|
||||
FCVTSLU X5, F1
|
||||
FCVTDW X5, F1
|
||||
FCVTDWU X5, F1
|
||||
FCVTDL X5, F1
|
||||
FCVTDLU X5, F1
|
||||
FCVTSD F1, F2
|
||||
FCVTDS F1, F2
|
||||
FCVTSQ F1, F2
|
||||
FCVTDQ F1, F2
|
||||
FCVTQS F1, F2
|
||||
FCVTQD F1, F2
|
||||
FCVTWQ F1, X5
|
||||
FCVTLQ F1, X5
|
||||
FCVTQW X5, F1
|
||||
FCVTQL X5, F1
|
||||
FCLASSS F1, X5
|
||||
FCLASSD F1, X5
|
||||
FCLASSQ F1, X5
|
||||
FMVXD F1, X5
|
||||
FMVDX X5, F1
|
||||
FMVXW F1, X5
|
||||
FMVWX X5, F1
|
||||
RET
|
||||
|
||||
TEXT ·fpSign(SB), NOSPLIT, $0
|
||||
FSGNJS F1, F0, F2
|
||||
FSGNJNS F1, F0, F2
|
||||
FSGNJXS F1, F0, F2
|
||||
FSGNJD F1, F0, F2
|
||||
FSGNJND F1, F0, F2
|
||||
FSGNJXD F1, F0, F2
|
||||
FLTS F1, F2, X5
|
||||
FLES F1, F2, X5
|
||||
FEQS F1, F2, X5
|
||||
FLTD F1, F2, X5
|
||||
FLED F1, F2, X5
|
||||
FEQD F1, F2, X5
|
||||
FLTQ F1, F2, X5
|
||||
FLEQ F1, F2, X5
|
||||
FEQQ F1, F2, X5
|
||||
RET
|
||||
Reference in new issue
Block a user