[2019-12] [jit] Avoid passing a vtable argument to DIM methods when making calls...
[mono-project.git] / mono / mini / cpu-riscv64.md
blobe8c29d3824cf6e2679c6d5efa121decfece64d76
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 RV64 Machine Description
7 # This file describes various properties of Mini instructions for RV64 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 in soft float)
25 # clob specifies which registers are clobbered (i.e. overwritten with garbage)
26 # by the instruction. <cspec> can be one of:
28 #     a    a0
29 #     c    all caller-saved registers