aboutsummaryrefslogtreecommitdiff
path: root/pk/riscv-opc.h
blob: 35e5aebb238135fe012d28de8804c73c98be2fb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
/* Automatically generated by parse-opcodes */
#define MATCH_CVT_W_D 0xa1ea
#define  MASK_CVT_W_D 0x3ff1ff
#define MATCH_MFF_D 0x185ea
#define  MASK_MFF_D 0x7c1ffff
#define MATCH_SGNINJ_D 0x51ea
#define  MASK_SGNINJ_D 0x1ffff
#define MATCH_AMO_ADD 0x1fa
#define  MASK_AMO_ADD 0x1ffff
#define MATCH_REMUW 0x1cf7
#define  MASK_REMUW 0x1ffff
#define MATCH_NMADD_S 0x6f
#define  MASK_NMADD_S 0x1ff
#define MATCH_BLTU 0x363
#define  MASK_BLTU 0x3ff
#define MATCH_C_EQ_S 0x1506a
#define  MASK_C_EQ_S 0x1ffff
#define MATCH_SGNINJ_S 0x506a
#define  MASK_SGNINJ_S 0x1ffff
#define MATCH_DIV_D 0x31ea
#define  MASK_DIV_D 0x1f1ff
#define MATCH_CVT_W_S 0xa06a
#define  MASK_CVT_W_S 0x3ff1ff
#define MATCH_CVT_S_W 0xe06a
#define  MASK_CVT_S_W 0x3ff1ff
#define MATCH_NMADD_D 0x1ef
#define  MASK_NMADD_D 0x1ff
#define MATCH_C_EQ_D 0x151ea
#define  MASK_C_EQ_D 0x1ffff
#define MATCH_SLLIW 0x7f6
#define  MASK_SLLIW 0x20ffff
#define MATCH_AMOW_MAX 0x157a
#define  MASK_AMOW_MAX 0x1ffff
#define MATCH_CVTU_D_L 0xd1ea
#define  MASK_CVTU_D_L 0x3ff1ff
#define MATCH_LH 0xf8
#define  MASK_LH 0x3ff
#define MATCH_LW 0x178
#define  MASK_LW 0x3ff
#define MATCH_ADD 0x75
#define  MASK_ADD 0x1ffff
#define MATCH_AMOW_AND 0x97a
#define  MASK_AMOW_AND 0x1ffff
#define MATCH_MFPCR 0xeb
#define  MASK_MFPCR 0x7c1ffff
#define MATCH_CVTU_D_W 0xf1ea
#define  MASK_CVTU_D_W 0x3fffff
#define MATCH_BNE 0xe3
#define  MASK_BNE 0x3ff
#define MATCH_MTPCR 0x4eb
#define  MASK_MTPCR 0xf801ffff
#define MATCH_ADD_S 0x6a
#define  MASK_ADD_S 0x1f1ff
#define MATCH_BGEU 0x3e3
#define  MASK_BGEU 0x3ff
#define MATCH_CVTU_L_D 0x91ea
#define  MASK_CVTU_L_D 0x3ff1ff
#define MATCH_DI 0x46b
#define  MASK_DI 0x7ffffff
#define MATCH_SLTIU 0x1f4
#define  MASK_SLTIU 0x3ff
#define MATCH_MFFL_D 0x195ea
#define  MASK_MFFL_D 0x7c1ffff
#define MATCH_SGNMUL_D 0x71ea
#define  MASK_SGNMUL_D 0x1ffff
#define MATCH_CVTU_L_S 0x906a
#define  MASK_CVTU_L_S 0x3ff1ff
#define MATCH_ADD_D 0x1ea
#define  MASK_ADD_D 0x1f1ff
#define MATCH_MUL 0xf5
#define  MASK_MUL 0x1ffff
#define MATCH_AMOW_MIN 0x117a
#define  MASK_AMOW_MIN 0x1ffff
#define MATCH_NOR 0x1c75
#define  MASK_NOR 0x1ffff
#define MATCH_NMSUB_D 0x1ee
#define  MASK_NMSUB_D 0x1ff
#define MATCH_AMO_SWAP 0x5fa
#define  MASK_AMO_SWAP 0x1ffff
#define MATCH_SRLI 0xbf4
#define  MASK_SRLI 0xffff
#define MATCH_DIVUW 0x14f7
#define  MASK_DIVUW 0x1ffff
#define MATCH_MFFH_D 0x1a5ea
#define  MASK_MFFH_D 0x7c1ffff
#define MATCH_SRLW 0xbf7
#define  MASK_SRLW 0x1ffff
#define MATCH_NMSUB_S 0x6e
#define  MASK_NMSUB_S 0x1ff
#define MATCH_MFCR 0xfb
#define  MASK_MFCR 0x7c1ffff
#define MATCH_C_LE_D 0x171ea
#define  MASK_C_LE_D 0x1ffff
#define MATCH_DIV 0x10f5
#define  MASK_DIV 0x1ffff
#define MATCH_MFF_S 0x1846a
#define  MASK_MFF_S 0x7c1ffff
#define MATCH_AMOW_OR 0xd7a
#define  MASK_AMOW_OR 0x1ffff
#define MATCH_EI 0x6b
#define  MASK_EI 0x7ffffff
#define MATCH_SYNC 0x17b
#define  MASK_SYNC 0xffffffff
#define MATCH_MTF_S 0x1c46a
#define  MASK_MTF_S 0x3fffff
#define MATCH_S_S 0x169
#define  MASK_S_S 0x3ff
#define MATCH_MTCR 0x4fb
#define  MASK_MTCR 0xf801ffff
#define MATCH_MSUB_S 0x6d
#define  MASK_MSUB_S 0x1ff
#define MATCH_ADDW 0x77
#define  MASK_ADDW 0x1ffff
#define MATCH_SLTU 0xc75
#define  MASK_SLTU 0x1ffff
#define MATCH_XOR 0x1875
#define  MASK_XOR 0x1ffff
#define MATCH_SUB 0x475
#define  MASK_SUB 0x1ffff
#define MATCH_ERET 0x16b
#define  MASK_ERET 0xffffffff
#define MATCH_BLT 0x263
#define  MASK_BLT 0x3ff
#define MATCH_SGNINJN_D 0x61ea
#define  MASK_SGNINJN_D 0x1ffff
#define MATCH_REM 0x18f5
#define  MASK_REM 0x1ffff
#define MATCH_SRLIW 0xbf6
#define  MASK_SRLIW 0x20ffff
#define MATCH_LUI 0x71
#define  MASK_LUI 0x7f
#define MATCH_ADDI 0x74
#define  MASK_ADDI 0x3ff
#define MATCH_MULH 0x8f5
#define  MASK_MULH 0x1ffff
#define MATCH_MULHUW 0xcf7
#define  MASK_MULHUW 0x1ffff
#define MATCH_SGNINJN_S 0x606a
#define  MASK_SGNINJN_S 0x1ffff
#define MATCH_SRAI 0xff4
#define  MASK_SRAI 0xffff
#define MATCH_SRAW 0xff7
#define  MASK_SRAW 0x1ffff
#define MATCH_LD 0x1f8
#define  MASK_LD 0x3ff
#define MATCH_ORI 0x2f4
#define  MASK_ORI 0x3ff
#define MATCH_LB 0x78
#define  MASK_LB 0x3ff
#define MATCH_ADDIW 0x76
#define  MASK_ADDIW 0x3ff
#define MATCH_MULW 0xf7
#define  MASK_MULW 0x1ffff
#define MATCH_MTFLH_D 0x1c7ea
#define  MASK_MTFLH_D 0x1ffff
#define MATCH_SRA 0xff5
#define  MASK_SRA 0x1ffff
#define MATCH_BGE 0x2e3
#define  MASK_BGE 0x3ff
#define MATCH_CVT_L_D 0x81ea
#define  MASK_CVT_L_D 0x3ff1ff
#define MATCH_SRAIW 0xff6
#define  MASK_SRAIW 0x20ffff
#define MATCH_SRL 0xbf5
#define  MASK_SRL 0x1ffff
#define MATCH_CVT_L_S 0x806a
#define  MASK_CVT_L_S 0x3ff1ff
#define MATCH_OR 0x1475
#define  MASK_OR 0x1ffff
#define MATCH_SUBW 0x477
#define  MASK_SUBW 0x1ffff
#define MATCH_JALR_C 0x62
#define  MASK_JALR_C 0x3ff
#define MATCH_CVTU_S_W 0xf06a
#define  MASK_CVTU_S_W 0x3ff1ff
#define MATCH_AMOW_MINU 0x197a
#define  MASK_AMOW_MINU 0x1ffff
#define MATCH_JALR_J 0x162
#define  MASK_JALR_J 0x3ff
#define MATCH_S_D 0x1e9
#define  MASK_S_D 0x3ff
#define MATCH_AMO_OR 0xdfa
#define  MASK_AMO_OR 0x1ffff
#define MATCH_XORI 0x374
#define  MASK_XORI 0x3ff
#define MATCH_JALR_R 0xe2
#define  MASK_JALR_R 0x3ff
#define MATCH_CVTU_S_L 0xd06a
#define  MASK_CVTU_S_L 0x3ff1ff
#define MATCH_AMO_MAX 0x15fa
#define  MASK_AMO_MAX 0x1ffff
#define MATCH_AMO_MIN 0x11fa
#define  MASK_AMO_MIN 0x1ffff
#define MATCH_ANDI 0x274
#define  MASK_ANDI 0x3ff
#define MATCH_JAL 0x61
#define  MASK_JAL 0x7f
#define MATCH_LWU 0x378
#define  MASK_LWU 0x3ff
#define MATCH_AMO_MINU 0x19fa
#define  MASK_AMO_MINU 0x1ffff
#define MATCH_MSUB_D 0x1ed
#define  MASK_MSUB_D 0x1ff
#define MATCH_SUB_S 0x106a
#define  MASK_SUB_S 0x1f1ff
#define MATCH_SLT 0x875
#define  MASK_SLT 0x1ffff
#define MATCH_SLLW 0x7f7
#define  MASK_SLLW 0x1ffff
#define MATCH_J 0x60
#define  MASK_J 0x7f
#define MATCH_SLTI 0x174
#define  MASK_SLTI 0x3ff
#define MATCH_REMU 0x1cf5
#define  MASK_REMU 0x1ffff
#define MATCH_REMW 0x18f7
#define  MASK_REMW 0x1ffff
#define MATCH_SLL 0x7f5
#define  MASK_SLL 0x1ffff
#define MATCH_SLLI 0x7f4
#define  MASK_SLLI 0xffff
#define MATCH_SUB_D 0x11ea
#define  MASK_SUB_D 0x1f1ff
#define MATCH_BEQ 0x63
#define  MASK_BEQ 0x3ff
#define MATCH_AND 0x1075
#define  MASK_AND 0x1ffff
#define MATCH_LBU 0x278
#define  MASK_LBU 0x3ff
#define MATCH_SQRT_S 0x406a
#define  MASK_SQRT_S 0x3ff1ff
#define MATCH_SYSCALL 0x1fb
#define  MASK_SYSCALL 0xffc003ff
#define MATCH_C_LT_S 0x1606a
#define  MASK_C_LT_S 0x1ffff
#define MATCH_MTF_D 0x1c5ea
#define  MASK_MTF_D 0x3fffff
#define MATCH_SQRT_D 0x41ea
#define  MASK_SQRT_D 0x3ff1ff
#define MATCH_AMOW_ADD 0x17a
#define  MASK_AMOW_ADD 0x1ffff
#define MATCH_MULHW 0x8f7
#define  MASK_MULHW 0x1ffff
#define MATCH_MADD_S 0x6c
#define  MASK_MADD_S 0x1ff
#define MATCH_MULHU 0xcf5
#define  MASK_MULHU 0x1ffff
#define MATCH_AMO_AND 0x9fa
#define  MASK_AMO_AND 0x1ffff
#define MATCH_SGNMUL_S 0x706a
#define  MASK_SGNMUL_S 0x1ffff
#define MATCH_RDNPC 0x7b
#define  MASK_RDNPC 0x7ffffff
#define MATCH_CVT_S_L 0xc06a
#define  MASK_CVT_S_L 0x3ff1ff
#define MATCH_MADD_D 0x1ec
#define  MASK_MADD_D 0x1ff
#define MATCH_SYNCI 0x3f8
#define  MASK_SYNCI 0xf80003ff
#define MATCH_DIV_S 0x306a
#define  MASK_DIV_S 0x1f1ff
#define MATCH_UNIMP 0x0
#define  MASK_UNIMP 0xffffffff
#define MATCH_CVT_S_D 0x1306a
#define  MASK_CVT_S_D 0x3ff1ff
#define MATCH_C_LE_S 0x1706a
#define  MASK_C_LE_S 0x1ffff
#define MATCH_MUL_S 0x206a
#define  MASK_MUL_S 0x1f1ff
#define MATCH_CVT_D_S 0x101ea
#define  MASK_CVT_D_S 0x3fffff
#define MATCH_CVT_D_W 0xe1ea
#define  MASK_CVT_D_W 0x3fffff
#define MATCH_L_S 0x168
#define  MASK_L_S 0x3ff
#define MATCH_CVT_D_L 0xc1ea
#define  MASK_CVT_D_L 0x3ff1ff
#define MATCH_DIVW 0x10f7
#define  MASK_DIVW 0x1ffff
#define MATCH_L_D 0x1e8
#define  MASK_L_D 0x3ff
#define MATCH_DIVU 0x14f5
#define  MASK_DIVU 0x1ffff
#define MATCH_MUL_D 0x21ea
#define  MASK_MUL_D 0x1f1ff
#define MATCH_CVTU_W_S 0xb06a
#define  MASK_CVTU_W_S 0x3ff1ff
#define MATCH_SW 0x179
#define  MASK_SW 0x3ff
#define MATCH_AMOW_SWAP 0x57a
#define  MASK_AMOW_SWAP 0x1ffff
#define MATCH_CVTU_W_D 0xb1ea
#define  MASK_CVTU_W_D 0x3ff1ff
#define MATCH_LHU 0x2f8
#define  MASK_LHU 0x3ff
#define MATCH_SH 0xf9
#define  MASK_SH 0x3ff
#define MATCH_AMO_MAXU 0x1dfa
#define  MASK_AMO_MAXU 0x1ffff
#define MATCH_AMOW_MAXU 0x1d7a
#define  MASK_AMOW_MAXU 0x1ffff
#define MATCH_SB 0x79
#define  MASK_SB 0x3ff
#define MATCH_C_LT_D 0x161ea
#define  MASK_C_LT_D 0x1ffff
#define MATCH_SD 0x1f9
#define  MASK_SD 0x3ff