Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Mono][RISC-V] Lowering and output more OP for Regression test #96368

Merged
merged 142 commits into from
Jan 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
b09253b
opt MUL/DIV lowering logic
Xinlong-Wu Dec 18, 2023
bb7852d
update
Xinlong-Wu Dec 18, 2023
2196aed
update
Xinlong-Wu Dec 18, 2023
c1add14
process return type ArgInFRegR4
Xinlong-Wu Dec 18, 2023
58242e8
remove unusable var
Xinlong-Wu Dec 18, 2023
22a71ff
Create jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
e441848
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
698197e
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
ad72dd1
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
9104218
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
61bdf12
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
ed6dadf
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
949dd12
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
179859e
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
870767f
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
3871272
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
1e15afe
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
df06dff
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
811a10f
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
fa6cdb9
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
1666b4e
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
fa4248a
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
a718fb5
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
6f45e76
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
d65073d
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
74e721b
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
fba4c33
Update jit-riscv64.yml
Xinlong-Wu Dec 18, 2023
fa3cf54
Merge remote-tracking branch 'refs/remotes/github/riscv-jit-rv64' int…
Xinlong-Wu Dec 18, 2023
47939db
dump asm
Xinlong-Wu Dec 18, 2023
7a7d671
Update jit-riscv64.yml
Xinlong-Wu Dec 19, 2023
555fe60
tailcall
Xinlong-Wu Dec 19, 2023
52bd1f2
Merge remote-tracking branch 'refs/remotes/github/riscv-jit-rv64' int…
Xinlong-Wu Dec 19, 2023
ccc2ea7
r4_add
Xinlong-Wu Dec 19, 2023
3d5ad22
update yml
Xinlong-Wu Dec 19, 2023
c1a3128
update yml
Xinlong-Wu Dec 19, 2023
d949282
update yml
Xinlong-Wu Dec 19, 2023
33deb97
update yml
Xinlong-Wu Dec 19, 2023
e8bb8d2
update yml
Xinlong-Wu Dec 19, 2023
07f2601
OP_LCONV_TO_R4
Xinlong-Wu Dec 19, 2023
16b8362
update yml
Xinlong-Wu Dec 19, 2023
400f372
OP_RSUB
Xinlong-Wu Dec 19, 2023
c91e50d
remove assert for lowering OP_STORER4_MEMBASE_REG
Xinlong-Wu Dec 19, 2023
abc76ba
fix
Xinlong-Wu Dec 19, 2023
d461a14
OP_FBEQ
Xinlong-Wu Dec 19, 2023
1c07bcb
OP_IMUL_OVF_UN
Xinlong-Wu Dec 19, 2023
cc485c7
MONO_TYPE_TYPEDBYREF
Xinlong-Wu Dec 19, 2023
9939275
float_conv_to_u4
Xinlong-Wu Dec 19, 2023
47dbaca
update yml
Xinlong-Wu Dec 19, 2023
eb8af5b
OP_ADDCC for OP_COND_EXC_IC
Xinlong-Wu Dec 19, 2023
4e539fa
OP_RCONV_TO_R4
Xinlong-Wu Dec 19, 2023
4314023
fix
Xinlong-Wu Dec 19, 2023
8bf1094
update yml
Xinlong-Wu Dec 19, 2023
ad7b6bc
OP_RCONV_TO_OVF_U8
Xinlong-Wu Dec 19, 2023
b13d2d6
lowering OP_RCONV_TO_R4
Xinlong-Wu Dec 19, 2023
804486a
OP_LCONV_TO_OVF_I2
Xinlong-Wu Dec 19, 2023
f9386dd
OP_FCONV_TO_U1
Xinlong-Wu Dec 19, 2023
9684e67
OP_LCONV_TO_OVF_I8
Xinlong-Wu Dec 19, 2023
1ea17ed
OP_RNEG
Xinlong-Wu Dec 19, 2023
6b69bc0
OP_LSHR
Xinlong-Wu Dec 19, 2023
c3bb815
OP_{F|R}CONV_TO_U*
Xinlong-Wu Dec 19, 2023
731f788
OP_CKFINITE
Xinlong-Wu Dec 19, 2023
57606b3
update yml
Xinlong-Wu Dec 19, 2023
6a67ad4
update yml
Xinlong-Wu Dec 19, 2023
2cddc57
OP_FCONV_TO_U8
Xinlong-Wu Dec 19, 2023
e966be8
rcall_reg
Xinlong-Wu Dec 19, 2023
dba4f45
remove assert of OP_TAILCALL
Xinlong-Wu Dec 19, 2023
68df0b3
OP_ICONV_TO_OVF_I
Xinlong-Wu Dec 19, 2023
e84db51
OP_LSUB_OVF_UN
Xinlong-Wu Dec 19, 2023
893ec6a
OP_FBNE_UN after OP_RCOMPARE
Xinlong-Wu Dec 19, 2023
5e285d9
fix
Xinlong-Wu Dec 19, 2023
5895c22
update ymal
Xinlong-Wu Dec 19, 2023
9b626a1
fix rd for lowering OP_RCOMPARE
Xinlong-Wu Dec 19, 2023
6308c48
decompose the OP long_conv_to_i1
Xinlong-Wu Dec 19, 2023
980b453
update yml
Xinlong-Wu Dec 19, 2023
2f1e7a3
tailcall_reg
Xinlong-Wu Dec 19, 2023
4c1f60c
r4_conv_to_u4
Xinlong-Wu Dec 19, 2023
1121002
process OP_COND_EXC_NC after OP_LSUBCC
Xinlong-Wu Dec 19, 2023
87c897d
update yml
Xinlong-Wu Dec 19, 2023
382db7e
OP_FCONV_TO_U8
Xinlong-Wu Dec 19, 2023
1a53547
OP_ICONV_TO_OVF_I4_UN
Xinlong-Wu Dec 19, 2023
3ada136
OP_FREM
Xinlong-Wu Dec 19, 2023
4f9ba89
OP_RREM
Xinlong-Wu Dec 19, 2023
51dd550
OP_FCONV_TO_U8, OP_FCONV_TO_OVF_U8
Xinlong-Wu Dec 19, 2023
80ab57f
update test Script
Xinlong-Wu Dec 20, 2023
f84a699
Update jit-riscv64.yml
Xinlong-Wu Dec 20, 2023
aa4e8e8
Update jit-riscv64.yml
Xinlong-Wu Dec 20, 2023
f9cd851
update test Script
Xinlong-Wu Dec 20, 2023
ea5574d
clean yml
Xinlong-Wu Dec 20, 2023
14f7621
Merge remote-tracking branch 'refs/remotes/github/riscv-jit-rv64' int…
Xinlong-Wu Dec 20, 2023
5c63d94
update yml
Xinlong-Wu Dec 20, 2023
b054f82
OP_LCONV_TO_OVF_I_UN
Xinlong-Wu Dec 20, 2023
a40363d
OP_COND_EXC_C
Xinlong-Wu Dec 20, 2023
76c4a7b
loadr8_membase
Xinlong-Wu Dec 20, 2023
2e1824b
OP_RCONV_TO_U2
Xinlong-Wu Dec 20, 2023
af4b542
case OP_RCONV_TO_U4:
Xinlong-Wu Dec 20, 2023
5036656
fix compile error
Xinlong-Wu Dec 20, 2023
064c395
use next_inst instead of ins->next
Xinlong-Wu Dec 20, 2023
9e22f00
update
Xinlong-Wu Dec 20, 2023
d4fcc74
OP_COND_EXC_IC
Xinlong-Wu Dec 20, 2023
a5be331
int_xor_imm
Xinlong-Wu Dec 20, 2023
1aed6db
r4_conv_to_u8
Xinlong-Wu Dec 20, 2023
70dc796
trace_diff.py
Xinlong-Wu Dec 21, 2023
d19ee8c
set RISCV_ROUND_TZ for OP_{R|F}CONV_TO_
Xinlong-Wu Dec 21, 2023
0d44b0f
update
Xinlong-Wu Dec 21, 2023
bc3f062
emit OP_LSUB when OP_SUBCC
Xinlong-Wu Dec 21, 2023
729da30
output OP_FCONV_TO_U8
Xinlong-Wu Dec 21, 2023
aff9c57
long_xor_imm
Xinlong-Wu Dec 21, 2023
a90fc11
move throw ip to RISCV_RA from RISCV_T0
Xinlong-Wu Dec 21, 2023
79e8c7d
fix Div By Zero check of OP_{F|R}DIV
Xinlong-Wu Dec 21, 2023
e8dbc86
OP_{F|R}MOVE
Xinlong-Wu Dec 21, 2023
f7637f6
lowering _IMM to _REG
Xinlong-Wu Dec 21, 2023
dc723b4
OP_ATOMIC LOAD & STORE
Xinlong-Wu Dec 21, 2023
c7b88cf
extend thunk size when mono_riscv_emit_branch_exc
Xinlong-Wu Dec 22, 2023
e74e169
fix lowering OP_INEG/OP_LNEG
Xinlong-Wu Dec 22, 2023
6d63c4c
lowering OP_IADD_IMM or OP_LADD_IMM by OP_ICEQ or OP_LCEQ
Xinlong-Wu Dec 22, 2023
8a3b57c
casting return value to uint8
Xinlong-Wu Dec 22, 2023
6091443
for test
Xinlong-Wu Dec 23, 2023
c6e52f4
define MONO_ARCH_LLVM_SUPPORTED to insert extra truncate inst
Xinlong-Wu Dec 23, 2023
61a99b9
reset test case
Xinlong-Wu Dec 23, 2023
400052a
fix case OP_COND_EXC_C
Xinlong-Wu Dec 23, 2023
115b9bd
use OP_RISCV_R|F BNAN help for R|F compare
Xinlong-Wu Dec 24, 2023
4e05963
dont emit OP_RISCV_RBNAN for FBEQ&FBNE
Xinlong-Wu Dec 24, 2023
09eec19
process all unorder operattions
Xinlong-Wu Dec 24, 2023
f377e84
use MicroDef MONO_ARCH_EXC_ADDR_REG for throw exception
Xinlong-Wu Dec 25, 2023
ef63c61
make pc point to EXC_BRANCH inst
Xinlong-Wu Dec 25, 2023
641208e
fix length of ckfinite
Xinlong-Wu Dec 25, 2023
4ccd890
fix OP_I8const and OP_ICONST
Xinlong-Wu Dec 26, 2023
a7cd871
fix icompare
Xinlong-Wu Dec 26, 2023
2d99a8a
fix OP_COND_EXC_IC for SUBCC
Xinlong-Wu Dec 26, 2023
787db19
skip test of gc_poll
Xinlong-Wu Dec 27, 2023
173e839
process OP_BR after OP_FCOMPARE
Xinlong-Wu Dec 27, 2023
51725ae
skip gc_poll test
Xinlong-Wu Dec 30, 2023
6f73cbc
tmp
Xinlong-Wu Dec 30, 2023
82793d7
clean the code
Xinlong-Wu Dec 30, 2023
40875b8
clean
Xinlong-Wu Dec 30, 2023
966ea75
clang format file
Xinlong-Wu Dec 30, 2023
d9affd8
fmt
Xinlong-Wu Dec 30, 2023
9b81d74
remove format file
Xinlong-Wu Dec 30, 2023
18bc046
Update issues.targets
Xinlong-Wu Jan 5, 2024
80ba680
Update src/mono/mono/mini/mini-ops.h
Xinlong-Wu Jan 5, 2024
04bdc5f
fix compile error
Xinlong-Wu Jan 5, 2024
e2d132a
Update mini-riscv.c
Xinlong-Wu Jan 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions src/mono/mono/arch/riscv/riscv-codegen.h
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,21 @@ enum {
RISCV_ROUND_DY = 0b111, // Use current rounding mode in the FRM CSR.
};

enum {
RISCV_FCLASS_NINF = 0b1 << 0, // Negative infinity.
RISCV_FCLASS_NN = 0b1 << 1, // Negative normal.
RISCV_FCLASS_ND = 0b1 << 2, // Negative denormal.
RISCV_FCLASS_NZ = 0b1 << 3, // Negative zero.
RISCV_FCLASS_PZ = 0b1 << 4, // Positive zero.
RISCV_FCLASS_PD = 0b1 << 5, // Positive denormal.
RISCV_FCLASS_PN = 0b1 << 6, // Positive normal.
RISCV_FCLASS_PINF = 0b1 << 7, // Positive infinity.
RISCV_FCLASS_SNAN = 0b1 << 8, // Signalling NaN.
RISCV_FCLASS_QNAN = 0b1 << 9, // Quiet NaN.
RISCV_FCLASS_INF = RISCV_FCLASS_NINF | RISCV_FCLASS_PINF,
RISCV_FCLASS_NAN = RISCV_FCLASS_SNAN | RISCV_FCLASS_QNAN,
};

#define _riscv_emit(p, insn) \
do { \
*(guint32 *) (p) = (insn); \
Expand Down
97 changes: 67 additions & 30 deletions src/mono/mono/mini/cpu-riscv64.mdesc
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ endfilter: src1:i len:32
localloc: dest:i src1:i len:52
localloc_imm: dest:i len:28
generic_class_init: src1:a len:12 clob:c
ckfinite: dest:f src1:f len:28
break: len:4

throw: src1:i len:4
Expand All @@ -63,23 +64,30 @@ vcall2: len:16 clob:c
vcall2_reg: src1:i len:16 clob:c
vcall2_membase: src1:b len:28 clob:c
fcall: dest:f len:8 clob:c
rcall: dest:f len:8 clob:c
rcall_membase: dest:f src1:b len:12 clob:c
fcall_reg: dest:f src1:i len:8 clob:c
fcall_membase: dest:f src1:b len:12 clob:c
rcall: dest:f len:8 clob:c
rcall_reg: dest:f src1:i len:8 clob:c
rcall_membase: dest:f src1:b len:12 clob:c

# Note: in RV32, it shoule be
# lcall: dest:l ...
lcall: dest:a len:16 clob:c
lcall_reg: dest:a src1:i len:4 clob:c
lcall_membase: dest:a src1:b len:8 clob:c

tailcall_parameter: len:24
tailcall: len:60 clob:c
tailcall_membase: src1:b len:60 clob:c
tailcall_reg: src1:b len:60 clob:c

store_membase_reg: dest:b src1:i len:24
storei1_membase_reg: dest:b src1:i len:24
storei2_membase_reg: dest:b src1:i len:24
storei4_membase_reg: dest:b src1:i len:24
storei8_membase_reg: dest:b src1:i len:24
storer4_membase_reg: dest:b src1:f len:4
storer8_membase_reg: dest:b src1:f len:4
storer4_membase_reg: dest:b src1:f len:24
storer8_membase_reg: dest:b src1:f len:24

load_membase: dest:i src1:b len:24
loadu1_membase: dest:i src1:b len:24
Expand All @@ -89,18 +97,26 @@ loadi2_membase: dest:i src1:b len:24
loadu4_membase: dest:i src1:b len:24
loadi4_membase: dest:i src1:b len:24
loadi8_membase: dest:i src1:b len:24
loadr4_membase: dest:f src1:b len:16
loadr8_membase: dest:f src1:b len:16
loadr4_membase: dest:f src1:b len:24
loadr8_membase: dest:f src1:b len:24

memory_barrier: len:4
atomic_add_i4: dest:i src1:i src2:i len:4
atomic_add_i8: dest:i src1:i src2:i len:4
atomic_store_i1: dest:b src1:i len:8
atomic_store_u1: dest:b src1:i len:8
atomic_store_i2: dest:b src1:i len:8
atomic_store_u2: dest:b src1:i len:8
atomic_store_i4: dest:b src1:i len:8
atomic_store_u8: dest:b src1:i len:8
atomic_store_u4: dest:b src1:i len:8
atomic_store_i8: dest:b src1:i len:8
atomic_store_u8: dest:b src1:i len:8
atomic_load_i1: dest:b src1:i len:12
atomic_load_u1: dest:b src1:i len:12
atomic_load_i2: dest:b src1:i len:12
atomic_load_u2: dest:b src1:i len:12
atomic_load_i4: dest:b src1:i len:12
atomic_load_u4: dest:b src1:i len:12
atomic_load_i8: dest:b src1:i len:12
atomic_load_u8: dest:b src1:i len:12
atomic_cas_i4: dest:i src1:i src2:i src3:i len:24
Expand All @@ -112,48 +128,65 @@ move: dest:i src1:i len:4
lmove: dest:i src1:i len:4
fmove: dest:f src1:f len:4
rmove: dest:f src1:f len:4
move_f_to_i4: dest:i src1:f len:4
move_i4_to_f: dest:f src1:i len:4
move_f_to_i8: dest:i src1:f len:4
move_i8_to_f: dest:f src1:i len:4

iconst: dest:i len:16
i8const: dest:i len:16
int_add: dest:i src1:i src2:i len:4
long_add: dest:i src1:i src2:i len:4
float_add: dest:f src1:f src2:f len:4
int_sub: dest:i src1:i src2:i len:4
long_sub: dest:i src1:i src2:i len:4
float_sub: dest:f src1:f src2:f len:4
float_neg: dest:f src1:f len:4
int_mul: dest:i src1:i src2:i len:4
r4_mul: dest:f src1:f src2:f len:4
long_mul: dest:i src1:i src2:i len:4
float_mul: dest:f src1:f src2:f len:4
int_div: dest:i src1:i src2:i len:32
long_div: dest:i src1:i src2:i len:32
int_div_un: dest:i src1:i src2:i len:32
long_div_un: dest:i src1:i src2:i len:32
r4_div: dest:f src1:f src2:f len:36
float_div: dest:f src1:f src2:f len:36
int_rem: dest:i src1:i src2:i len:32
long_rem: dest:i src1:i src2:i len:32
int_rem_un: dest:i src1:i src2:i len:32

i8const: dest:i len:16
long_add: dest:i src1:i src2:i len:4
long_sub: dest:i src1:i src2:i len:4
long_mul: dest:i src1:i src2:i len:4
long_div: dest:i src1:i src2:i len:32
long_div_un: dest:i src1:i src2:i len:32
long_rem: dest:i src1:i src2:i len:32
long_rem_un: dest:i src1:i src2:i len:32

r4const: dest:f len:16
r8const: dest:f len:16
float_neg: dest:f src1:f len:4
float_add: dest:f src1:f src2:f len:4
float_sub: dest:f src1:f src2:f len:4
float_mul: dest:f src1:f src2:f len:4
float_div: dest:f src1:f src2:f len:36

r4const: dest:f len:16
r4_neg: dest:f src1:f len:4
r4_add: dest:f src1:f src2:f len:4
r4_sub: dest:f src1:f src2:f len:4
r4_mul: dest:f src1:f src2:f len:4
r4_div: dest:f src1:f src2:f len:36


int_conv_to_r4: dest:f src1:i len:4
int_conv_to_r8: dest:f src1:i len:4
r4_conv_to_i8: dest:i src1:f len:4
r4_conv_to_r8: dest:f src1:f len:4
r4_conv_to_i4: dest:i src1:f len:4
r4_conv_to_u4: dest:i src1:f len:4
r4_conv_to_u8: dest:i src1:f len:4
float_conv_to_i4: dest:i src1:f len:4
float_conv_to_u4: dest:i src1:f len:4
float_conv_to_r4: dest:f src1:f len:4
float_conv_to_i8: dest:i src1:f len:4
float_conv_to_u8: dest:i src1:f len:4

r4_ceq: dest:i src1:f src2:f len:4
r4_clt: dest:i src1:f src2:f len:4
r4_clt_un: dest:i src1:f src2:f len:4
r4_cle: dest:i src1:f src2:f len:4
float_ceq: dest:i src1:f src2:f len:4
float_cle: dest:i src1:f src2:f len:4
float_clt: dest:i src1:f src2:f len:4
float_clt_un: dest:i src1:f src2:f len:4
r4_clt: dest:i src1:f src2:f len:4
r4_clt_un: dest:i src1:f src2:f len:4
r4_cle: dest:i src1:f src2:f len:4

add_imm: dest:i src1:i len:4
int_add_imm: dest:i src1:i len:4
Expand Down Expand Up @@ -182,27 +215,31 @@ long_and: dest:i src1:i src2:i len:4
long_and_imm: dest:i src1:i len:4
long_or: dest:i src1:i src2:i len:4
long_xor: dest:i src1:i src2:i len:4
long_xor_imm: dest:i src1:i len:4
long_or_imm: dest:i src1:i len:4
long_shl: dest:i src1:i src2:i len:4
long_shl_imm: dest:i src1:i len:4
long_shr: dest:i src1:i src2:i len:4
long_shr_un: dest:i src1:i src2:i len:4
long_shr_imm: dest:i src1:i len:4
long_shr_un_imm: dest:i src1:i len:4


riscv_setfreg_r4: dest:f src1:f len:4
riscv_float_bnan: src1:f len:16
riscv_r4_bnan: src1:f len:16

riscv_beq: src1:i src2:i len:8
riscv_bne: src1:i src2:i len:8
riscv_bge: src1:i src2:i len:8
riscv_bgeu: src1:i src2:i len:8
riscv_blt: src1:i src2:i len:8
riscv_bltu: src1:i src2:i len:8
riscv_exc_beq: src1:i src2:i len:12
riscv_exc_bne: src1:i src2:i len:12
riscv_exc_bgeu: src1:i src2:i len:12
riscv_exc_blt: src1:i src2:i len:12
riscv_exc_bltu: src1:i src2:i len:12
riscv_exc_beq: src1:i src2:i len:16
riscv_exc_bne: src1:i src2:i len:16
riscv_exc_bgeu: src1:i src2:i len:16
riscv_exc_blt: src1:i src2:i len:16
riscv_exc_bltu: src1:i src2:i len:16
riscv_slt: dest:i src1:i src2:i len:4
riscv_sltu: dest:i src1:i src2:i len:4
riscv_slti: dest:i src1:i len:4
Expand Down
4 changes: 2 additions & 2 deletions src/mono/mono/mini/exceptions-riscv.c
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ mono_riscv_throw_exception (gpointer arg, host_mgreg_t pc, host_mgreg_t *int_reg
}

/* Adjust pc so it points into the call instruction */
pc -= 4;
pc--;

/* Initialize a ctx based on the arguments */
memset (&ctx, 0, sizeof (MonoContext));
Expand Down Expand Up @@ -114,7 +114,7 @@ mono_arch_get_call_filter (MonoTrampInfo **info, gboolean aot)
{
guint8 *code;
guint8 *start;
int i, size, offset, gregs_offset, fregs_offset, ctx_offset, num_fregs, frame_size;
int size, offset, gregs_offset, fregs_offset, ctx_offset, frame_size;
MonoJumpInfo *ji = NULL;
GSList *unwind_ops = NULL;

Expand Down
2 changes: 2 additions & 0 deletions src/mono/mono/mini/mini-ops.h
Original file line number Diff line number Diff line change
Expand Up @@ -1889,6 +1889,8 @@ MINI_OP(OP_RISCV_BGE, "riscv_bge", NONE, IREG, IREG)
MINI_OP(OP_RISCV_BGEU, "riscv_bgeu", NONE, IREG, IREG)
MINI_OP(OP_RISCV_BLT, "riscv_blt", NONE, IREG, IREG)
MINI_OP(OP_RISCV_BLTU, "riscv_bltu", NONE, IREG, IREG)
MINI_OP(OP_RISCV_RBNAN, "riscv_r4_bnan", NONE, FREG, NONE)
MINI_OP(OP_RISCV_FBNAN, "riscv_float_bnan", NONE, FREG, NONE)

MINI_OP(OP_RISCV_ADDIW, "riscv_addiw", IREG, IREG, NONE)

Expand Down
Loading
Loading