Skip to main content

instruction_decoder/
specs.rs

1#![allow(non_upper_case_globals)]
2
3pub mod rv32 {
4    pub const RV32I: &str = include_str!("../toml/RV32I.toml");
5    pub const RV32M: &str = include_str!("../toml/RV32M.toml");
6    pub const RV32A: &str = include_str!("../toml/RV32A.toml");
7    pub const RV32F: &str = include_str!("../toml/RV32F.toml");
8    pub const RV32_Zbb: &str = include_str!("../toml/RV32_Zbb.toml");
9    pub const RV32_Zbkb: &str = include_str!("../toml/RV32_Zbkb.toml");
10    pub const RV32_Zbs: &str = include_str!("../toml/RV32_Zbs.toml");
11    pub const RV32_Zknd: &str = include_str!("../toml/RV32_Zknd.toml");
12    pub const RV32_Zkne: &str = include_str!("../toml/RV32_Zkne.toml");
13    pub const RV32_Zfa: &str = include_str!("../toml/RV32_Zfa.toml");
14    pub const RV32_Zicsr: &str = include_str!("../toml/RV32_Zicsr.toml");
15    pub const RV32C_LOWER: &str = include_str!("../toml/RV32C-lower.toml");
16    pub const RV32_Zcb_lower: &str = include_str!("../toml/RV32_Zcb-lower.toml");
17    pub const RV32_Zcf_lower: &str = include_str!("../toml/RV32_Zcf-lower.toml");
18    pub const RV32_Zacas: &str = include_str!("../toml/RV32_Zacas.toml");
19    pub const RV_Zcd_lower: &str = include_str!("../toml/RV_Zcd-lower.toml");
20    pub const RV_Zba: &str = include_str!("../toml/RV_Zba.toml");
21    pub const RV_Zbc: &str = include_str!("../toml/RV_Zbc.toml");
22    pub const RV_Zbkc: &str = include_str!("../toml/RV_Zbkc.toml");
23    pub const RV_Zbkx: &str = include_str!("../toml/RV_Zbkx.toml");
24    pub const RV_Zfh: &str = include_str!("../toml/RV_Zfh.toml");
25    pub const RV_Zknh: &str = include_str!("../toml/RV_Zknh.toml");
26    pub const RV_Zksed: &str = include_str!("../toml/RV_Zksed.toml");
27    pub const RV_Zksh: &str = include_str!("../toml/RV_Zksh.toml");
28    pub const RV_Zawrs: &str = include_str!("../toml/RV_Zawrs.toml");
29    pub const RV_Zicond: &str = include_str!("../toml/RV_Zicond.toml");
30    pub const RV_Zifencei: &str = include_str!("../toml/RV_Zifencei.toml");
31    pub const RV_Zicbo: &str = include_str!("../toml/RV_Zicbo.toml");
32    pub const RV_Zimop: &str = include_str!("../toml/RV_Zimop.toml");
33    pub const RV_Zihintntl: &str = include_str!("../toml/RV_Zihintntl.toml");
34    pub const RVV: &str = include_str!("../toml/RVV.toml");
35    pub const RV32: [&str; 32] = [
36        RV32I,
37        RV32I,
38        RV32M,
39        RV32A,
40        RV32F,
41        RV32_Zbb,
42        RV32_Zbkb,
43        RV32_Zbs,
44        RV32_Zknd,
45        RV32_Zkne,
46        RV32_Zfa,
47        RV32_Zicsr,
48        RV32C_LOWER,
49        RV32_Zcb_lower,
50        RV32_Zcf_lower,
51        RV32_Zacas,
52        RV_Zcd_lower,
53        RV_Zba,
54        RV_Zbc,
55        RV_Zbkc,
56        RV_Zbkx,
57        RV_Zfh,
58        RV_Zknh,
59        RV_Zksed,
60        RV_Zksh,
61        RV_Zawrs,
62        RV_Zicond,
63        RV_Zifencei,
64        RV_Zicbo,
65        RV_Zimop,
66        RV_Zihintntl,
67        RVV,
68    ];
69}
70
71pub mod rv64 {
72    pub const RV64I: &str = include_str!("../toml/RV64I.toml");
73    pub const RV64M: &str = include_str!("../toml/RV64M.toml");
74    pub const RV64A: &str = include_str!("../toml/RV64A.toml");
75    pub const RV64D: &str = include_str!("../toml/RV64D.toml");
76    pub const RV64_Zbb: &str = include_str!("../toml/RV64_Zbb.toml");
77    pub const RV64_Zbkb: &str = include_str!("../toml/RV64_Zbkb.toml");
78    pub const RV64_Zbs: &str = include_str!("../toml/RV64_Zbs.toml");
79    pub const RV64_Zknd: &str = include_str!("../toml/RV64_Zknd.toml");
80    pub const RV64_Zkne: &str = include_str!("../toml/RV64_Zkne.toml");
81    pub const RV64_Zacas: &str = include_str!("../toml/RV64_Zacas.toml");
82    pub const RV64_Zfa: &str = include_str!("../toml/RV64_Zfa.toml");
83    pub const RV64C_lower: &str = include_str!("../toml/RV64C-lower.toml");
84    pub const RV64_Zcb_lower: &str = include_str!("../toml/RV64_Zcb-lower.toml");
85    pub const RV64_Zcd_lower: &str = include_str!("../toml/RV64_Zcd-lower.toml");
86    pub const RVV: &str = include_str!("../toml/RVV.toml");
87    pub const RV_Zvbb: &str = include_str!("../toml/RV_Zvbb.toml");
88    pub const RV_Zvbc: &str = include_str!("../toml/RV_Zvbc.toml");
89    pub const RV_Zvkg: &str = include_str!("../toml/RV_Zvkg.toml");
90    pub const RV_Zvkned: &str = include_str!("../toml/RV_Zvkned.toml");
91    pub const RV_Zvknha: &str = include_str!("../toml/RV_Zvknha.toml");
92    pub const RV_Zvknhb: &str = include_str!("../toml/RV_Zvknhb.toml");
93    pub const RV_Zvksed: &str = include_str!("../toml/RV_Zvksed.toml");
94    pub const RV_Zvksh: &str = include_str!("../toml/RV_Zvksh.toml");
95    pub const RV_Zcd_lower: &str = include_str!("../toml/RV_Zcd-lower.toml");
96    pub const RV_Zba: &str = include_str!("../toml/RV_Zba.toml");
97    pub const RV_Zbc: &str = include_str!("../toml/RV_Zbc.toml");
98    pub const RV_Zbkc: &str = include_str!("../toml/RV_Zbkc.toml");
99    pub const RV_Zbkx: &str = include_str!("../toml/RV_Zbkx.toml");
100    pub const RV_Zfh: &str = include_str!("../toml/RV_Zfh.toml");
101    pub const RV_Zknh: &str = include_str!("../toml/RV_Zknh.toml");
102    pub const RV_Zksed: &str = include_str!("../toml/RV_Zksed.toml");
103    pub const RV_Zksh: &str = include_str!("../toml/RV_Zksh.toml");
104    pub const RV_Zawrs: &str = include_str!("../toml/RV_Zawrs.toml");
105    pub const RV_Zicond: &str = include_str!("../toml/RV_Zicond.toml");
106    pub const RV_Zifencei: &str = include_str!("../toml/RV_Zifencei.toml");
107    pub const RV_Zicbo: &str = include_str!("../toml/RV_Zicbo.toml");
108    pub const RV_Zimop: &str = include_str!("../toml/RV_Zimop.toml");
109    pub const RV_Zihintntl: &str = include_str!("../toml/RV_Zihintntl.toml");
110    pub const RV64: [&str; 38] = [
111        RV64I,
112        RV64M,
113        RV64A,
114        RV64D,
115        RV64_Zbb,
116        RV64_Zbkb,
117        RV64_Zbs,
118        RV64_Zknd,
119        RV64_Zkne,
120        RV64_Zacas,
121        RV64_Zfa,
122        RV64C_lower,
123        RV64_Zcb_lower,
124        RV64_Zcd_lower,
125        RVV,
126        RV_Zvbb,
127        RV_Zvbc,
128        RV_Zvkg,
129        RV_Zvkned,
130        RV_Zvknha,
131        RV_Zvknhb,
132        RV_Zvksed,
133        RV_Zvksh,
134        RV_Zcd_lower,
135        RV_Zba,
136        RV_Zbc,
137        RV_Zbkc,
138        RV_Zbkx,
139        RV_Zfh,
140        RV_Zknh,
141        RV_Zksed,
142        RV_Zksh,
143        RV_Zawrs,
144        RV_Zicond,
145        RV_Zifencei,
146        RV_Zicbo,
147        RV_Zimop,
148        RV_Zihintntl,
149    ];
150}
151
152pub const MIPS: &str = include_str!("../toml/mips.toml");
153
154pub const LA64: &str = include_str!("../toml/la64.toml");