[interp] Make newarr lockfree
[mono-project.git] / mono / mini / cpu-riscv32.md
blob65b602cc5301b8ead819f55fa353c9a1d4b09765
1 # Licensed to the .NET Foundation under one or more agreements.
2 # The .NET Foundation licenses this file to you under the MIT license.
3 # See the LICENSE file in the project root for more information.
5 # RISC-V RV32 Machine Description
7 # This file describes various properties of Mini instructions for RV32 and is
8 # read by genmdesc.py to generate a C header file used by various parts of the
9 # JIT.
11 # Lines are of the form:
13 #     <name>: len:<length> [dest:<rspec>] [src1:<rspec>] [src2:<rspec>] [src3:<rspec>] [clob:<cspec>]
15 # Here, <name> is the name of the instruction as specified in mini-ops.h.
16 # length is the maximum number of bytes that could be needed to generate native
17 # code for the instruction. dest, src1, src2, and src3 specify output and input
18 # registers needed by the instruction. <rspec> can be one of:
20 #     a    a0
21 #     i    any integer register
22 #     b    any integer register (used as a pointer)
23 #     f    any float register (a0..a1 pair in soft float)
24 #     l    a0..a1 pair
26 # clob specifies which registers are clobbered (i.e. overwritten with garbage)
27 # by the instruction. <cspec> can be one of:
29 #     a    a0
30 #     c    all caller-saved registers