aboutsummaryrefslogtreecommitdiff
path: root/pk/riscv-opc.h
blob: a0488405fd5f73b28260ea2c8050b0efffb62373 (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
/* Automatically generated by parse-opcodes */
#define MATCH_MFF_D 0x18ed3
#define  MASK_MFF_D 0x7c1ffff
#define MATCH_FSINJN_D 0x6ed3
#define  MASK_FSINJN_D 0x1ffff
#define MATCH_REMUW 0x7bb
#define  MASK_REMUW 0x1ffff
#define MATCH_BLTU 0x363
#define  MASK_BLTU 0x3ff
#define MATCH_FSINJN_S 0x6e53
#define  MASK_FSINJN_S 0x1ffff
#define MATCH_MFF_S 0x18e53
#define  MASK_MFF_S 0x7c1ffff
#define MATCH_MTFSR 0x1de53
#define  MASK_MTFSR 0xf83fffff
#define MATCH_SLLIW 0x9b
#define  MASK_SLLIW 0x3f83ff
#define MATCH_FCVT_D_L 0xc0d3
#define  MASK_FCVT_D_L 0x3ff1ff
#define MATCH_FCVT_D_W 0xeed3
#define  MASK_FCVT_D_W 0x3fffff
#define MATCH_ADD 0x33
#define  MASK_ADD 0x1ffff
#define MATCH_FCVT_D_S 0x10ed3
#define  MASK_FCVT_D_S 0x3fffff
#define MATCH_LF_D 0x187
#define  MASK_LF_D 0x3ff
#define MATCH_MFPCR 0xff
#define  MASK_MFPCR 0x7c1ffff
#define MATCH_BNE 0xe3
#define  MASK_BNE 0x3ff
#define MATCH_MTPCR 0x4ff
#define  MASK_MTPCR 0xf801ffff
#define MATCH_FCVT_S_D 0x11053
#define  MASK_FCVT_S_D 0x3ff1ff
#define MATCH_BGEU 0x3e3
#define  MASK_BGEU 0x3ff
#define MATCH_DI 0x47f
#define  MASK_DI 0x7ffffff
#define MATCH_SLTIU 0x193
#define  MASK_SLTIU 0x3ff
#define MATCH_MFFL_D 0x19ed3
#define  MASK_MFFL_D 0x7c1ffff
#define MATCH_FADD_S 0x53
#define  MASK_FADD_S 0x1f1ff
#define MATCH_FCVT_S_W 0xe053
#define  MASK_FCVT_S_W 0x3ff1ff
#define MATCH_MUL 0x433
#define  MASK_MUL 0x1ffff
#define MATCH_AMOMINU_D 0x19c3
#define  MASK_AMOMINU_D 0x1ffff
#define MATCH_SRLI 0x293
#define  MASK_SRLI 0x3f03ff
#define MATCH_FCVTU_W_S 0xb053
#define  MASK_FCVTU_W_S 0x3ff1ff
#define MATCH_AMOMINU_W 0x1943
#define  MASK_AMOMINU_W 0x1ffff
#define MATCH_DIVUW 0x6bb
#define  MASK_DIVUW 0x1ffff
#define MATCH_MFFH_D 0x1aed3
#define  MASK_MFFH_D 0x7c1ffff
#define MATCH_SRLW 0x2bb
#define  MASK_SRLW 0x1ffff
#define MATCH_DIV 0x633
#define  MASK_DIV 0x1ffff
#define MATCH_S_D 0x1a3
#define  MASK_S_D 0x3ff
#define MATCH_J 0x67
#define  MASK_J 0x7f
#define MATCH_S_B 0x23
#define  MASK_S_B 0x3ff
#define MATCH_FNMSUB_S 0x4b
#define  MASK_FNMSUB_S 0x1ff
#define MATCH_FCVT_L_S 0x8053
#define  MASK_FCVT_L_S 0x3ff1ff
#define MATCH_SYNC 0x117
#define  MASK_SYNC 0xffffffff
#define MATCH_S_H 0xa3
#define  MASK_S_H 0x3ff
#define MATCH_MTF_S 0x1ce53
#define  MASK_MTF_S 0x3fffff
#define MATCH_S_W 0x123
#define  MASK_S_W 0x3ff
#define MATCH_MFFSR 0x1be53
#define  MASK_MFFSR 0x7ffffff
#define MATCH_FDIV_S 0x3053
#define  MASK_FDIV_S 0x1f1ff
#define MATCH_SF_D 0x1a7
#define  MASK_SF_D 0x3ff
#define MATCH_MTF_D 0x1ced3
#define  MASK_MTF_D 0x1ffff
#define MATCH_FCVT_L_D 0x80d3
#define  MASK_FCVT_L_D 0x3ff1ff
#define MATCH_FNMSUB_D 0xcb
#define  MASK_FNMSUB_D 0x1ff
#define MATCH_ADDW 0x3b
#define  MASK_ADDW 0x1ffff
#define MATCH_SLL 0xb3
#define  MASK_SLL 0x1ffff
#define MATCH_XOR 0x233
#define  MASK_XOR 0x1ffff
#define MATCH_SUB 0x10033
#define  MASK_SUB 0x1ffff
#define MATCH_ERET 0x17f
#define  MASK_ERET 0xffffffff
#define MATCH_FCVTU_D_W 0xfed3
#define  MASK_FCVTU_D_W 0x3fffff
#define MATCH_BLT 0x263
#define  MASK_BLT 0x3ff
#define MATCH_FC_LT_S 0x16e53
#define  MASK_FC_LT_S 0x1ffff
#define MATCH_REM 0x733
#define  MASK_REM 0x1ffff
#define MATCH_SRLIW 0x29b
#define  MASK_SRLIW 0x3f83ff
#define MATCH_LUI 0x37
#define  MASK_LUI 0x7f
#define MATCH_L_W 0x103
#define  MASK_L_W 0x3ff
#define MATCH_ADDI 0x13
#define  MASK_ADDI 0x3ff
#define MATCH_FC_LT_D 0x16ed3
#define  MASK_FC_LT_D 0x1ffff
#define MATCH_MULH 0x4b3
#define  MASK_MULH 0x1ffff
#define MATCH_FMUL_S 0x2053
#define  MASK_FMUL_S 0x1f1ff
#define MATCH_SRAI 0x10293
#define  MASK_SRAI 0x3f03ff
#define MATCH_AMOAND_D 0x9c3
#define  MASK_AMOAND_D 0x1ffff
#define MATCH_SRAW 0x102bb
#define  MASK_SRAW 0x1ffff
#define MATCH_FMUL_D 0x20d3
#define  MASK_FMUL_D 0x1f1ff
#define MATCH_ORI 0x313
#define  MASK_ORI 0x3ff
#define MATCH_ADDIW 0x1b
#define  MASK_ADDIW 0x3ff
#define MATCH_AMOAND_W 0x943
#define  MASK_AMOAND_W 0x1ffff
#define MATCH_SRA 0x102b3
#define  MASK_SRA 0x1ffff
#define MATCH_L_BU 0x203
#define  MASK_L_BU 0x3ff
#define MATCH_SRAIW 0x1029b
#define  MASK_SRAIW 0x3f83ff
#define MATCH_SRL 0x2b3
#define  MASK_SRL 0x1ffff
#define MATCH_FC_EQ_D 0x15ed3
#define  MASK_FC_EQ_D 0x1ffff
#define MATCH_OR 0x333
#define  MASK_OR 0x1ffff
#define MATCH_FMADD_D 0xc3
#define  MASK_FMADD_D 0x1ff
#define MATCH_SUBW 0x1003b
#define  MASK_SUBW 0x1ffff
#define MATCH_JALR_C 0x6b
#define  MASK_JALR_C 0x3ff
#define MATCH_LF_W 0x107
#define  MASK_LF_W 0x3ff
#define MATCH_AMOMAXU_D 0x1dc3
#define  MASK_AMOMAXU_D 0x1ffff
#define MATCH_SF_W 0x127
#define  MASK_SF_W 0x3ff
#define MATCH_JALR_J 0x16b
#define  MASK_JALR_J 0x3ff
#define MATCH_XORI 0x213
#define  MASK_XORI 0x3ff
#define MATCH_JALR_R 0xeb
#define  MASK_JALR_R 0x3ff
#define MATCH_AMOMAXU_W 0x1d43
#define  MASK_AMOMAXU_W 0x1ffff
#define MATCH_AMOMIN_D 0x11c3
#define  MASK_AMOMIN_D 0x1ffff
#define MATCH_EI 0x7f
#define  MASK_EI 0x7ffffff
#define MATCH_FSMUL_S 0x7e53
#define  MASK_FSMUL_S 0x1ffff
#define MATCH_ANDI 0x393
#define  MASK_ANDI 0x3ff
#define MATCH_FNMADD_S 0x4f
#define  MASK_FNMADD_S 0x1ff
#define MATCH_JAL 0x6f
#define  MASK_JAL 0x7f
#define MATCH_MULW 0x43b
#define  MASK_MULW 0x1ffff
#define MATCH_FSMUL_D 0x7ed3
#define  MASK_FSMUL_D 0x1ffff
#define MATCH_FNMADD_D 0xcf
#define  MASK_FNMADD_D 0x1ff
#define MATCH_AMOADD_D 0x1c3
#define  MASK_AMOADD_D 0x1ffff
#define MATCH_FSINJ_D 0x5ed3
#define  MASK_FSINJ_D 0x1ffff
#define MATCH_AMOMAX_W 0x1543
#define  MASK_AMOMAX_W 0x1ffff
#define MATCH_FCVT_W_S 0xa053
#define  MASK_FCVT_W_S 0x3ff1ff
#define MATCH_MULHSU 0x533
#define  MASK_MULHSU 0x1ffff
#define MATCH_AMOADD_W 0x143
#define  MASK_AMOADD_W 0x1ffff
#define MATCH_FSINJ_S 0x5e53
#define  MASK_FSINJ_S 0x1ffff
#define MATCH_AMOMAX_D 0x15c3
#define  MASK_AMOMAX_D 0x1ffff
#define MATCH_FCVT_W_D 0xa0d3
#define  MASK_FCVT_W_D 0x3ff1ff
#define MATCH_BGE 0x2e3
#define  MASK_BGE 0x3ff
#define MATCH_SLT 0x133
#define  MASK_SLT 0x1ffff
#define MATCH_SLLW 0xbb
#define  MASK_SLLW 0x1ffff
#define MATCH_AMOOR_D 0xdc3
#define  MASK_AMOOR_D 0x1ffff
#define MATCH_SLTI 0x113
#define  MASK_SLTI 0x3ff
#define MATCH_REMU 0x7b3
#define  MASK_REMU 0x1ffff
#define MATCH_REMW 0x73b
#define  MASK_REMW 0x1ffff
#define MATCH_SLTU 0x1b3
#define  MASK_SLTU 0x1ffff
#define MATCH_L_HU 0x283
#define  MASK_L_HU 0x3ff
#define MATCH_SLLI 0x93
#define  MASK_SLLI 0x3f03ff
#define MATCH_AMOOR_W 0xd43
#define  MASK_AMOOR_W 0x1ffff
#define MATCH_BEQ 0x63
#define  MASK_BEQ 0x3ff
#define MATCH_FSUB_S 0x1053
#define  MASK_FSUB_S 0x1f1ff
#define MATCH_AND 0x3b3
#define  MASK_AND 0x1ffff
#define MATCH_FC_LE_S 0x17e53
#define  MASK_FC_LE_S 0x1ffff
#define MATCH_SYSCALL 0x197
#define  MASK_SYSCALL 0xffc003ff
#define MATCH_FCVTU_S_W 0xf053
#define  MASK_FCVTU_S_W 0x3ff1ff
#define MATCH_FC_LE_D 0x17ed3
#define  MASK_FC_LE_D 0x1ffff
#define MATCH_FCVTU_S_L 0xd053
#define  MASK_FCVTU_S_L 0x3ff1ff
#define MATCH_MULHU 0x5b3
#define  MASK_MULHU 0x1ffff
#define MATCH_FCVTU_W_D 0xb0d3
#define  MASK_FCVTU_W_D 0x3ff1ff
#define MATCH_FCVTU_L_S 0x9053
#define  MASK_FCVTU_L_S 0x3ff1ff
#define MATCH_FADD_D 0xd3
#define  MASK_FADD_D 0x1f1ff
#define MATCH_RDNPC 0x17
#define  MASK_RDNPC 0x7ffffff
#define MATCH_FCVT_S_L 0xc053
#define  MASK_FCVT_S_L 0x3ff1ff
#define MATCH_SYNCI 0x97
#define  MASK_SYNCI 0xffffffff
#define MATCH_UNIMP 0x0
#define  MASK_UNIMP 0xffffffff
#define MATCH_FCVTU_L_D 0x90d3
#define  MASK_FCVTU_L_D 0x3ff1ff
#define MATCH_FSUB_D 0x10d3
#define  MASK_FSUB_D 0x1f1ff
#define MATCH_FMADD_S 0x43
#define  MASK_FMADD_S 0x1ff
#define MATCH_FSQRT_S 0x4053
#define  MASK_FSQRT_S 0x3ff1ff
#define MATCH_AMOMIN_W 0x1143
#define  MASK_AMOMIN_W 0x1ffff
#define MATCH_AMOSWAP_D 0x5c3
#define  MASK_AMOSWAP_D 0x1ffff
#define MATCH_FSQRT_D 0x40d3
#define  MASK_FSQRT_D 0x3ff1ff
#define MATCH_FC_EQ_S 0x15e53
#define  MASK_FC_EQ_S 0x1ffff
#define MATCH_FDIV_D 0x30d3
#define  MASK_FDIV_D 0x1f1ff
#define MATCH_L_H 0x83
#define  MASK_L_H 0x3ff
#define MATCH_DIVW 0x63b
#define  MASK_DIVW 0x1ffff
#define MATCH_L_D 0x183
#define  MASK_L_D 0x3ff
#define MATCH_DIVU 0x6b3
#define  MASK_DIVU 0x1ffff
#define MATCH_AMOSWAP_W 0x543
#define  MASK_AMOSWAP_W 0x1ffff
#define MATCH_FCVTU_D_L 0xd0d3
#define  MASK_FCVTU_D_L 0x3ff1ff
#define MATCH_L_B 0x3
#define  MASK_L_B 0x3ff
#define MATCH_L_WU 0x303
#define  MASK_L_WU 0x3ff
#define MATCH_FMSUB_S 0x47
#define  MASK_FMSUB_S 0x1ff
#define MATCH_FMSUB_D 0xc7
#define  MASK_FMSUB_D 0x1ff