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
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:
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)
26 # clob specifies which registers are clobbered (i.e. overwritten with garbage)
27 # by the instruction. <cspec> can be one of:
30 # c all caller-saved registers