1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Machine Code Emitter *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9uint64_t RISCVMCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
10 SmallVectorImpl<MCFixup> &Fixups,
11 const MCSubtargetInfo &STI) const {
12 static const uint64_t InstBits[] = {
13 UINT64_C(2583691323), // AADD
14 UINT64_C(3120562235), // AADDU
15 UINT64_C(1617956883), // ABS
16 UINT64_C(1617956891), // ABSW
17 UINT64_C(51), // ADD
18 UINT64_C(2248171547), // ADDD
19 UINT64_C(19), // ADDI
20 UINT64_C(27), // ADDIW
21 UINT64_C(59), // ADDW
22 UINT64_C(134217787), // ADD_UW
23 UINT64_C(704643123), // AES32DSI
24 UINT64_C(771751987), // AES32DSMI
25 UINT64_C(570425395), // AES32ESI
26 UINT64_C(637534259), // AES32ESMI
27 UINT64_C(973078579), // AES64DS
28 UINT64_C(1040187443), // AES64DSM
29 UINT64_C(838860851), // AES64ES
30 UINT64_C(905969715), // AES64ESM
31 UINT64_C(805310483), // AES64IM
32 UINT64_C(822087699), // AES64KS1I
33 UINT64_C(2113929267), // AES64KS2
34 UINT64_C(33566779), // AIF_AMOADDG_D
35 UINT64_C(33562683), // AIF_AMOADDG_W
36 UINT64_C(12347), // AIF_AMOADDL_D
37 UINT64_C(8251), // AIF_AMOADDL_W
38 UINT64_C(1644179515), // AIF_AMOANDG_D
39 UINT64_C(1644175419), // AIF_AMOANDG_W
40 UINT64_C(1610625083), // AIF_AMOANDL_D
41 UINT64_C(1610620987), // AIF_AMOANDL_W
42 UINT64_C(4060098619), // AIF_AMOCMPSWAPG_D
43 UINT64_C(4060094523), // AIF_AMOCMPSWAPG_W
44 UINT64_C(4026544187), // AIF_AMOCMPSWAPL_D
45 UINT64_C(4026540091), // AIF_AMOCMPSWAPL_W
46 UINT64_C(2717921339), // AIF_AMOMAXG_D
47 UINT64_C(2717917243), // AIF_AMOMAXG_W
48 UINT64_C(2684366907), // AIF_AMOMAXL_D
49 UINT64_C(2684362811), // AIF_AMOMAXL_W
50 UINT64_C(3791663163), // AIF_AMOMAXUG_D
51 UINT64_C(3791659067), // AIF_AMOMAXUG_W
52 UINT64_C(3758108731), // AIF_AMOMAXUL_D
53 UINT64_C(3758104635), // AIF_AMOMAXUL_W
54 UINT64_C(2181050427), // AIF_AMOMING_D
55 UINT64_C(2181046331), // AIF_AMOMING_W
56 UINT64_C(2147495995), // AIF_AMOMINL_D
57 UINT64_C(2147491899), // AIF_AMOMINL_W
58 UINT64_C(3254792251), // AIF_AMOMINUG_D
59 UINT64_C(3254788155), // AIF_AMOMINUG_W
60 UINT64_C(3221237819), // AIF_AMOMINUL_D
61 UINT64_C(3221233723), // AIF_AMOMINUL_W
62 UINT64_C(1107308603), // AIF_AMOORG_D
63 UINT64_C(1107304507), // AIF_AMOORG_W
64 UINT64_C(1073754171), // AIF_AMOORL_D
65 UINT64_C(1073750075), // AIF_AMOORL_W
66 UINT64_C(167784507), // AIF_AMOSWAPG_D
67 UINT64_C(167780411), // AIF_AMOSWAPG_W
68 UINT64_C(134230075), // AIF_AMOSWAPL_D
69 UINT64_C(134225979), // AIF_AMOSWAPL_W
70 UINT64_C(570437691), // AIF_AMOXORG_D
71 UINT64_C(570433595), // AIF_AMOXORG_W
72 UINT64_C(536883259), // AIF_AMOXORL_D
73 UINT64_C(536879163), // AIF_AMOXORL_W
74 UINT64_C(2147512379), // AIF_BITMIXB
75 UINT64_C(2281705595), // AIF_CUBEFACEIDX_PS
76 UINT64_C(2281701499), // AIF_CUBEFACE_PS
77 UINT64_C(2281709691), // AIF_CUBESGNSC_PS
78 UINT64_C(2281713787), // AIF_CUBESGNTC_PS
79 UINT64_C(67108927), // AIF_FADDI_PI
80 UINT64_C(100663419), // AIF_FADD_PI
81 UINT64_C(123), // AIF_FADD_PS
82 UINT64_C(2248163339), // AIF_FAMOADDG_PI
83 UINT64_C(100679691), // AIF_FAMOADDL_PI
84 UINT64_C(2516598795), // AIF_FAMOANDG_PI
85 UINT64_C(369115147), // AIF_FAMOANDL_PI
86 UINT64_C(3053469707), // AIF_FAMOMAXG_PI
87 UINT64_C(2818588683), // AIF_FAMOMAXG_PS
88 UINT64_C(905986059), // AIF_FAMOMAXL_PI
89 UINT64_C(671105035), // AIF_FAMOMAXL_PS
90 UINT64_C(3321905163), // AIF_FAMOMAXUG_PI
91 UINT64_C(1174421515), // AIF_FAMOMAXUL_PI
92 UINT64_C(2919251979), // AIF_FAMOMING_PI
93 UINT64_C(2952806411), // AIF_FAMOMING_PS
94 UINT64_C(771768331), // AIF_FAMOMINL_PI
95 UINT64_C(805322763), // AIF_FAMOMINL_PS
96 UINT64_C(3187687435), // AIF_FAMOMINUG_PI
97 UINT64_C(1040203787), // AIF_FAMOMINUL_PI
98 UINT64_C(2650816523), // AIF_FAMOORG_PI
99 UINT64_C(503332875), // AIF_FAMOORL_PI
100 UINT64_C(2382381067), // AIF_FAMOSWAPG_PI
101 UINT64_C(234897419), // AIF_FAMOSWAPL_PI
102 UINT64_C(2785034251), // AIF_FAMOXORG_PI
103 UINT64_C(637550603), // AIF_FAMOXORL_PI
104 UINT64_C(67113023), // AIF_FANDI_PI
105 UINT64_C(100692091), // AIF_FAND_PI
106 UINT64_C(95), // AIF_FBCI_PI
107 UINT64_C(31), // AIF_FBCI_PS
108 UINT64_C(12299), // AIF_FBCX_PS
109 UINT64_C(11), // AIF_FBC_PS
110 UINT64_C(3758100603), // AIF_FCLASS_PS
111 UINT64_C(119), // AIF_FCMOVM_PS
112 UINT64_C(67117119), // AIF_FCMOV_PS
113 UINT64_C(3635413115), // AIF_FCVT_F10_PS
114 UINT64_C(3632267387), // AIF_FCVT_F11_PS
115 UINT64_C(3633315963), // AIF_FCVT_F16_PS
116 UINT64_C(3498049659), // AIF_FCVT_PS_F10
117 UINT64_C(3499098235), // AIF_FCVT_PS_F11
118 UINT64_C(3500146811), // AIF_FCVT_PS_F16
119 UINT64_C(3489661051), // AIF_FCVT_PS_PW
120 UINT64_C(3490709627), // AIF_FCVT_PS_PWU
121 UINT64_C(3491758203), // AIF_FCVT_PS_RAST
122 UINT64_C(3515875451), // AIF_FCVT_PS_SN16
123 UINT64_C(3517972603), // AIF_FCVT_PS_SN8
124 UINT64_C(3508535419), // AIF_FCVT_PS_UN10
125 UINT64_C(3507486843), // AIF_FCVT_PS_UN16
126 UINT64_C(3513778299), // AIF_FCVT_PS_UN2
127 UINT64_C(3506438267), // AIF_FCVT_PS_UN24
128 UINT64_C(3509583995), // AIF_FCVT_PS_UN8
129 UINT64_C(3222274171), // AIF_FCVT_PWU_PS
130 UINT64_C(3221225595), // AIF_FCVT_PW_PS
131 UINT64_C(3223322747), // AIF_FCVT_RAST_PS
132 UINT64_C(3650093179), // AIF_FCVT_SN16_PS
133 UINT64_C(3652190331), // AIF_FCVT_SN8_PS
134 UINT64_C(3642753147), // AIF_FCVT_UN10_PS
135 UINT64_C(3641704571), // AIF_FCVT_UN16_PS
136 UINT64_C(3640655995), // AIF_FCVT_UN24_PS
137 UINT64_C(3647996027), // AIF_FCVT_UN2_PS
138 UINT64_C(3643801723), // AIF_FCVT_UN8_PS
139 UINT64_C(503320699), // AIF_FDIVU_PI
140 UINT64_C(503316603), // AIF_FDIV_PI
141 UINT64_C(402653307), // AIF_FDIV_PS
142 UINT64_C(2684379259), // AIF_FEQM_PS
143 UINT64_C(2785026171), // AIF_FEQ_PI
144 UINT64_C(2684362875), // AIF_FEQ_PS
145 UINT64_C(1480589435), // AIF_FEXP_PS
146 UINT64_C(1478492283), // AIF_FFRC_PS
147 UINT64_C(134221835), // AIF_FG32B_PS
148 UINT64_C(268439563), // AIF_FG32H_PS
149 UINT64_C(536875019), // AIF_FG32W_PS
150 UINT64_C(2181066763), // AIF_FGBG_PS
151 UINT64_C(2147512331), // AIF_FGBL_PS
152 UINT64_C(1207963659), // AIF_FGB_PS
153 UINT64_C(2315284491), // AIF_FGHG_PS
154 UINT64_C(2281730059), // AIF_FGHL_PS
155 UINT64_C(1342181387), // AIF_FGH_PS
156 UINT64_C(2449502219), // AIF_FGWG_PS
157 UINT64_C(2415947787), // AIF_FGWL_PS
158 UINT64_C(1610616843), // AIF_FGW_PS
159 UINT64_C(2684371067), // AIF_FLEM_PS
160 UINT64_C(2785017979), // AIF_FLE_PI
161 UINT64_C(2684354683), // AIF_FLE_PS
162 UINT64_C(1479540859), // AIF_FLOG_PS
163 UINT64_C(20487), // AIF_FLQ2
164 UINT64_C(1040187515), // AIF_FLTM_PI
165 UINT64_C(2684375163), // AIF_FLTM_PS
166 UINT64_C(2785030267), // AIF_FLTU_PI
167 UINT64_C(2785022075), // AIF_FLT_PI
168 UINT64_C(2684358779), // AIF_FLT_PS
169 UINT64_C(302018571), // AIF_FLWG_PS
170 UINT64_C(268464139), // AIF_FLWL_PS
171 UINT64_C(8203), // AIF_FLW_PS
172 UINT64_C(91), // AIF_FMADD_PS
173 UINT64_C(771764347), // AIF_FMAXU_PI
174 UINT64_C(771756155), // AIF_FMAX_PI
175 UINT64_C(671092859), // AIF_FMAX_PS
176 UINT64_C(771760251), // AIF_FMINU_PI
177 UINT64_C(771752059), // AIF_FMIN_PI
178 UINT64_C(671088763), // AIF_FMIN_PS
179 UINT64_C(33554523), // AIF_FMSUB_PS
180 UINT64_C(369107067), // AIF_FMULHU_PI
181 UINT64_C(369102971), // AIF_FMULH_PI
182 UINT64_C(369098875), // AIF_FMUL_PI
183 UINT64_C(268435579), // AIF_FMUL_PS
184 UINT64_C(3758104699), // AIF_FMVS_X_PS
185 UINT64_C(3758096507), // AIF_FMVZ_X_PS
186 UINT64_C(100663387), // AIF_FNMADD_PS
187 UINT64_C(67108955), // AIF_FNMSUB_PS
188 UINT64_C(100671611), // AIF_FNOT_PI
189 UINT64_C(100687995), // AIF_FOR_PI
190 UINT64_C(637534331), // AIF_FPACKREPB_PI
191 UINT64_C(637538427), // AIF_FPACKREPH_PI
192 UINT64_C(805306491), // AIF_FRCP_FIX_RAST
193 UINT64_C(1483735163), // AIF_FRCP_PS
194 UINT64_C(503328891), // AIF_FREMU_PI
195 UINT64_C(503324795), // AIF_FREM_PI
196 UINT64_C(1477443707), // AIF_FROUND_PS
197 UINT64_C(1484783739), // AIF_FRSQ_PS
198 UINT64_C(100675707), // AIF_FSAT8_PI
199 UINT64_C(101724283), // AIF_FSATU8_PI
200 UINT64_C(2281705483), // AIF_FSC32B_PS
201 UINT64_C(2415923211), // AIF_FSC32H_PS
202 UINT64_C(2684358667), // AIF_FSC32W_PS
203 UINT64_C(3254808587), // AIF_FSCBG_PS
204 UINT64_C(3221254155), // AIF_FSCBL_PS
205 UINT64_C(3355447307), // AIF_FSCB_PS
206 UINT64_C(3389026315), // AIF_FSCHG_PS
207 UINT64_C(3355471883), // AIF_FSCHL_PS
208 UINT64_C(3489665035), // AIF_FSCH_PS
209 UINT64_C(3523244043), // AIF_FSCWG_PS
210 UINT64_C(3489689611), // AIF_FSCWL_PS
211 UINT64_C(3758100491), // AIF_FSCW_PS
212 UINT64_C(2785034363), // AIF_FSETM_PI
213 UINT64_C(536875131), // AIF_FSGNJN_PS
214 UINT64_C(536879227), // AIF_FSGNJX_PS
215 UINT64_C(536871035), // AIF_FSGNJ_PS
216 UINT64_C(1482686587), // AIF_FSIN_PS
217 UINT64_C(1308627067), // AIF_FSLLI_PI
218 UINT64_C(100667515), // AIF_FSLL_PI
219 UINT64_C(20519), // AIF_FSQ2
220 UINT64_C(1476395131), // AIF_FSQRT_PS
221 UINT64_C(1308651643), // AIF_FSRAI_PI
222 UINT64_C(234901627), // AIF_FSRA_PI
223 UINT64_C(1308643451), // AIF_FSRLI_PI
224 UINT64_C(100683899), // AIF_FSRL_PI
225 UINT64_C(234881147), // AIF_FSUB_PI
226 UINT64_C(134217851), // AIF_FSUB_PS
227 UINT64_C(1375760395), // AIF_FSWG_PS
228 UINT64_C(3858759803), // AIF_FSWIZZ_PS
229 UINT64_C(1342205963), // AIF_FSWL_PS
230 UINT64_C(24587), // AIF_FSW_PS
231 UINT64_C(100679803), // AIF_FXOR_PI
232 UINT64_C(1711304827), // AIF_MASKAND
233 UINT64_C(1711284347), // AIF_MASKNOT
234 UINT64_C(1711300731), // AIF_MASKOR
235 UINT64_C(1375731835), // AIF_MASKPOPC
236 UINT64_C(1409286267), // AIF_MASKPOPCZ
237 UINT64_C(1577058427), // AIF_MASKPOPC_ET_RAST
238 UINT64_C(1711292539), // AIF_MASKXOR
239 UINT64_C(3590328443), // AIF_MOVA_M_X
240 UINT64_C(3590324347), // AIF_MOVA_X_M
241 UINT64_C(1442840699), // AIF_MOV_M_X
242 UINT64_C(2147508283), // AIF_PACKB
243 UINT64_C(302002235), // AIF_SBG
244 UINT64_C(268447803), // AIF_SBL
245 UINT64_C(436219963), // AIF_SHG
246 UINT64_C(402665531), // AIF_SHL
247 UINT64_C(47), // AMOADD_B
248 UINT64_C(67108911), // AMOADD_B_AQ
249 UINT64_C(100663343), // AMOADD_B_AQRL
250 UINT64_C(33554479), // AMOADD_B_RL
251 UINT64_C(12335), // AMOADD_D
252 UINT64_C(67121199), // AMOADD_D_AQ
253 UINT64_C(100675631), // AMOADD_D_AQRL
254 UINT64_C(33566767), // AMOADD_D_RL
255 UINT64_C(4143), // AMOADD_H
256 UINT64_C(67113007), // AMOADD_H_AQ
257 UINT64_C(100667439), // AMOADD_H_AQRL
258 UINT64_C(33558575), // AMOADD_H_RL
259 UINT64_C(8239), // AMOADD_W
260 UINT64_C(67117103), // AMOADD_W_AQ
261 UINT64_C(100671535), // AMOADD_W_AQRL
262 UINT64_C(33562671), // AMOADD_W_RL
263 UINT64_C(1610612783), // AMOAND_B
264 UINT64_C(1677721647), // AMOAND_B_AQ
265 UINT64_C(1711276079), // AMOAND_B_AQRL
266 UINT64_C(1644167215), // AMOAND_B_RL
267 UINT64_C(1610625071), // AMOAND_D
268 UINT64_C(1677733935), // AMOAND_D_AQ
269 UINT64_C(1711288367), // AMOAND_D_AQRL
270 UINT64_C(1644179503), // AMOAND_D_RL
271 UINT64_C(1610616879), // AMOAND_H
272 UINT64_C(1677725743), // AMOAND_H_AQ
273 UINT64_C(1711280175), // AMOAND_H_AQRL
274 UINT64_C(1644171311), // AMOAND_H_RL
275 UINT64_C(1610620975), // AMOAND_W
276 UINT64_C(1677729839), // AMOAND_W_AQ
277 UINT64_C(1711284271), // AMOAND_W_AQRL
278 UINT64_C(1644175407), // AMOAND_W_RL
279 UINT64_C(671088687), // AMOCAS_B
280 UINT64_C(738197551), // AMOCAS_B_AQ
281 UINT64_C(771751983), // AMOCAS_B_AQRL
282 UINT64_C(704643119), // AMOCAS_B_RL
283 UINT64_C(671100975), // AMOCAS_D_RV32
284 UINT64_C(738209839), // AMOCAS_D_RV32_AQ
285 UINT64_C(771764271), // AMOCAS_D_RV32_AQRL
286 UINT64_C(704655407), // AMOCAS_D_RV32_RL
287 UINT64_C(671100975), // AMOCAS_D_RV64
288 UINT64_C(738209839), // AMOCAS_D_RV64_AQ
289 UINT64_C(771764271), // AMOCAS_D_RV64_AQRL
290 UINT64_C(704655407), // AMOCAS_D_RV64_RL
291 UINT64_C(671092783), // AMOCAS_H
292 UINT64_C(738201647), // AMOCAS_H_AQ
293 UINT64_C(771756079), // AMOCAS_H_AQRL
294 UINT64_C(704647215), // AMOCAS_H_RL
295 UINT64_C(671105071), // AMOCAS_Q
296 UINT64_C(738213935), // AMOCAS_Q_AQ
297 UINT64_C(771768367), // AMOCAS_Q_AQRL
298 UINT64_C(704659503), // AMOCAS_Q_RL
299 UINT64_C(671096879), // AMOCAS_W
300 UINT64_C(738205743), // AMOCAS_W_AQ
301 UINT64_C(771760175), // AMOCAS_W_AQRL
302 UINT64_C(704651311), // AMOCAS_W_RL
303 UINT64_C(3758096431), // AMOMAXU_B
304 UINT64_C(3825205295), // AMOMAXU_B_AQ
305 UINT64_C(3858759727), // AMOMAXU_B_AQRL
306 UINT64_C(3791650863), // AMOMAXU_B_RL
307 UINT64_C(3758108719), // AMOMAXU_D
308 UINT64_C(3825217583), // AMOMAXU_D_AQ
309 UINT64_C(3858772015), // AMOMAXU_D_AQRL
310 UINT64_C(3791663151), // AMOMAXU_D_RL
311 UINT64_C(3758100527), // AMOMAXU_H
312 UINT64_C(3825209391), // AMOMAXU_H_AQ
313 UINT64_C(3858763823), // AMOMAXU_H_AQRL
314 UINT64_C(3791654959), // AMOMAXU_H_RL
315 UINT64_C(3758104623), // AMOMAXU_W
316 UINT64_C(3825213487), // AMOMAXU_W_AQ
317 UINT64_C(3858767919), // AMOMAXU_W_AQRL
318 UINT64_C(3791659055), // AMOMAXU_W_RL
319 UINT64_C(2684354607), // AMOMAX_B
320 UINT64_C(2751463471), // AMOMAX_B_AQ
321 UINT64_C(2785017903), // AMOMAX_B_AQRL
322 UINT64_C(2717909039), // AMOMAX_B_RL
323 UINT64_C(2684366895), // AMOMAX_D
324 UINT64_C(2751475759), // AMOMAX_D_AQ
325 UINT64_C(2785030191), // AMOMAX_D_AQRL
326 UINT64_C(2717921327), // AMOMAX_D_RL
327 UINT64_C(2684358703), // AMOMAX_H
328 UINT64_C(2751467567), // AMOMAX_H_AQ
329 UINT64_C(2785021999), // AMOMAX_H_AQRL
330 UINT64_C(2717913135), // AMOMAX_H_RL
331 UINT64_C(2684362799), // AMOMAX_W
332 UINT64_C(2751471663), // AMOMAX_W_AQ
333 UINT64_C(2785026095), // AMOMAX_W_AQRL
334 UINT64_C(2717917231), // AMOMAX_W_RL
335 UINT64_C(3221225519), // AMOMINU_B
336 UINT64_C(3288334383), // AMOMINU_B_AQ
337 UINT64_C(3321888815), // AMOMINU_B_AQRL
338 UINT64_C(3254779951), // AMOMINU_B_RL
339 UINT64_C(3221237807), // AMOMINU_D
340 UINT64_C(3288346671), // AMOMINU_D_AQ
341 UINT64_C(3321901103), // AMOMINU_D_AQRL
342 UINT64_C(3254792239), // AMOMINU_D_RL
343 UINT64_C(3221229615), // AMOMINU_H
344 UINT64_C(3288338479), // AMOMINU_H_AQ
345 UINT64_C(3321892911), // AMOMINU_H_AQRL
346 UINT64_C(3254784047), // AMOMINU_H_RL
347 UINT64_C(3221233711), // AMOMINU_W
348 UINT64_C(3288342575), // AMOMINU_W_AQ
349 UINT64_C(3321897007), // AMOMINU_W_AQRL
350 UINT64_C(3254788143), // AMOMINU_W_RL
351 UINT64_C(2147483695), // AMOMIN_B
352 UINT64_C(2214592559), // AMOMIN_B_AQ
353 UINT64_C(2248146991), // AMOMIN_B_AQRL
354 UINT64_C(2181038127), // AMOMIN_B_RL
355 UINT64_C(2147495983), // AMOMIN_D
356 UINT64_C(2214604847), // AMOMIN_D_AQ
357 UINT64_C(2248159279), // AMOMIN_D_AQRL
358 UINT64_C(2181050415), // AMOMIN_D_RL
359 UINT64_C(2147487791), // AMOMIN_H
360 UINT64_C(2214596655), // AMOMIN_H_AQ
361 UINT64_C(2248151087), // AMOMIN_H_AQRL
362 UINT64_C(2181042223), // AMOMIN_H_RL
363 UINT64_C(2147491887), // AMOMIN_W
364 UINT64_C(2214600751), // AMOMIN_W_AQ
365 UINT64_C(2248155183), // AMOMIN_W_AQRL
366 UINT64_C(2181046319), // AMOMIN_W_RL
367 UINT64_C(1073741871), // AMOOR_B
368 UINT64_C(1140850735), // AMOOR_B_AQ
369 UINT64_C(1174405167), // AMOOR_B_AQRL
370 UINT64_C(1107296303), // AMOOR_B_RL
371 UINT64_C(1073754159), // AMOOR_D
372 UINT64_C(1140863023), // AMOOR_D_AQ
373 UINT64_C(1174417455), // AMOOR_D_AQRL
374 UINT64_C(1107308591), // AMOOR_D_RL
375 UINT64_C(1073745967), // AMOOR_H
376 UINT64_C(1140854831), // AMOOR_H_AQ
377 UINT64_C(1174409263), // AMOOR_H_AQRL
378 UINT64_C(1107300399), // AMOOR_H_RL
379 UINT64_C(1073750063), // AMOOR_W
380 UINT64_C(1140858927), // AMOOR_W_AQ
381 UINT64_C(1174413359), // AMOOR_W_AQRL
382 UINT64_C(1107304495), // AMOOR_W_RL
383 UINT64_C(134217775), // AMOSWAP_B
384 UINT64_C(201326639), // AMOSWAP_B_AQ
385 UINT64_C(234881071), // AMOSWAP_B_AQRL
386 UINT64_C(167772207), // AMOSWAP_B_RL
387 UINT64_C(134230063), // AMOSWAP_D
388 UINT64_C(201338927), // AMOSWAP_D_AQ
389 UINT64_C(234893359), // AMOSWAP_D_AQRL
390 UINT64_C(167784495), // AMOSWAP_D_RL
391 UINT64_C(134221871), // AMOSWAP_H
392 UINT64_C(201330735), // AMOSWAP_H_AQ
393 UINT64_C(234885167), // AMOSWAP_H_AQRL
394 UINT64_C(167776303), // AMOSWAP_H_RL
395 UINT64_C(134225967), // AMOSWAP_W
396 UINT64_C(201334831), // AMOSWAP_W_AQ
397 UINT64_C(234889263), // AMOSWAP_W_AQRL
398 UINT64_C(167780399), // AMOSWAP_W_RL
399 UINT64_C(536870959), // AMOXOR_B
400 UINT64_C(603979823), // AMOXOR_B_AQ
401 UINT64_C(637534255), // AMOXOR_B_AQRL
402 UINT64_C(570425391), // AMOXOR_B_RL
403 UINT64_C(536883247), // AMOXOR_D
404 UINT64_C(603992111), // AMOXOR_D_AQ
405 UINT64_C(637546543), // AMOXOR_D_AQRL
406 UINT64_C(570437679), // AMOXOR_D_RL
407 UINT64_C(536875055), // AMOXOR_H
408 UINT64_C(603983919), // AMOXOR_H_AQ
409 UINT64_C(637538351), // AMOXOR_H_AQRL
410 UINT64_C(570429487), // AMOXOR_H_RL
411 UINT64_C(536879151), // AMOXOR_W
412 UINT64_C(603988015), // AMOXOR_W_AQ
413 UINT64_C(637542447), // AMOXOR_W_AQRL
414 UINT64_C(570433583), // AMOXOR_W_RL
415 UINT64_C(28723), // AND
416 UINT64_C(28691), // ANDI
417 UINT64_C(1073770547), // ANDN
418 UINT64_C(3657433147), // ASUB
419 UINT64_C(4194304059), // ASUBU
420 UINT64_C(23), // AUIPC
421 UINT64_C(1207963699), // BCLR
422 UINT64_C(1207963667), // BCLRI
423 UINT64_C(99), // BEQ
424 UINT64_C(8291), // BEQI
425 UINT64_C(1207980083), // BEXT
426 UINT64_C(1207980051), // BEXTI
427 UINT64_C(20579), // BGE
428 UINT64_C(28771), // BGEU
429 UINT64_C(1744834611), // BINV
430 UINT64_C(1744834579), // BINVI
431 UINT64_C(16483), // BLT
432 UINT64_C(24675), // BLTU
433 UINT64_C(4195), // BNE
434 UINT64_C(12387), // BNEI
435 UINT64_C(1752190995), // BREV8
436 UINT64_C(671092787), // BSET
437 UINT64_C(671092755), // BSETI
438 UINT64_C(1056783), // CBO_CLEAN
439 UINT64_C(2105359), // CBO_FLUSH
440 UINT64_C(8207), // CBO_INVAL
441 UINT64_C(4202511), // CBO_ZERO
442 UINT64_C(167776307), // CLMUL
443 UINT64_C(167784499), // CLMULH
444 UINT64_C(167780403), // CLMULR
445 UINT64_C(1613762579), // CLS
446 UINT64_C(1613762587), // CLSW
447 UINT64_C(1610616851), // CLZ
448 UINT64_C(1610616859), // CLZW
449 UINT64_C(40962), // CM_JALT
450 UINT64_C(40962), // CM_JT
451 UINT64_C(44130), // CM_MVA01S
452 UINT64_C(44066), // CM_MVSA01
453 UINT64_C(47618), // CM_POP
454 UINT64_C(48642), // CM_POPRET
455 UINT64_C(48130), // CM_POPRETZ
456 UINT64_C(47106), // CM_PUSH
457 UINT64_C(1612714003), // CPOP
458 UINT64_C(1612714011), // CPOPW
459 UINT64_C(12403), // CSRRC
460 UINT64_C(28787), // CSRRCI
461 UINT64_C(8307), // CSRRS
462 UINT64_C(24691), // CSRRSI
463 UINT64_C(4211), // CSRRW
464 UINT64_C(20595), // CSRRWI
465 UINT64_C(1611665427), // CTZ
466 UINT64_C(1611665435), // CTZW
467 UINT64_C(1342189611), // CV_ABS
468 UINT64_C(1879052411), // CV_ABS_B
469 UINT64_C(1879048315), // CV_ABS_H
470 UINT64_C(8283), // CV_ADDN
471 UINT64_C(2147495979), // CV_ADDNR
472 UINT64_C(2147491931), // CV_ADDRN
473 UINT64_C(2214604843), // CV_ADDRNR
474 UINT64_C(1073750107), // CV_ADDUN
475 UINT64_C(2181050411), // CV_ADDUNR
476 UINT64_C(3221233755), // CV_ADDURN
477 UINT64_C(2248159275), // CV_ADDURNR
478 UINT64_C(4219), // CV_ADD_B
479 UINT64_C(1811947643), // CV_ADD_DIV2
480 UINT64_C(1811955835), // CV_ADD_DIV4
481 UINT64_C(1811964027), // CV_ADD_DIV8
482 UINT64_C(123), // CV_ADD_H
483 UINT64_C(28795), // CV_ADD_SCI_B
484 UINT64_C(24699), // CV_ADD_SCI_H
485 UINT64_C(20603), // CV_ADD_SC_B
486 UINT64_C(16507), // CV_ADD_SC_H
487 UINT64_C(1744834683), // CV_AND_B
488 UINT64_C(1744830587), // CV_AND_H
489 UINT64_C(1744859259), // CV_AND_SCI_B
490 UINT64_C(1744855163), // CV_AND_SCI_H
491 UINT64_C(1744851067), // CV_AND_SC_B
492 UINT64_C(1744846971), // CV_AND_SC_H
493 UINT64_C(402657403), // CV_AVGU_B
494 UINT64_C(402653307), // CV_AVGU_H
495 UINT64_C(402681979), // CV_AVGU_SCI_B
496 UINT64_C(402677883), // CV_AVGU_SCI_H
497 UINT64_C(402673787), // CV_AVGU_SC_B
498 UINT64_C(402669691), // CV_AVGU_SC_H
499 UINT64_C(268439675), // CV_AVG_B
500 UINT64_C(268435579), // CV_AVG_H
501 UINT64_C(268464251), // CV_AVG_SCI_B
502 UINT64_C(268460155), // CV_AVG_SCI_H
503 UINT64_C(268456059), // CV_AVG_SC_B
504 UINT64_C(268451963), // CV_AVG_SC_H
505 UINT64_C(4187), // CV_BCLR
506 UINT64_C(939536427), // CV_BCLRR
507 UINT64_C(24587), // CV_BEQIMM
508 UINT64_C(3221229659), // CV_BITREV
509 UINT64_C(28683), // CV_BNEIMM
510 UINT64_C(1073746011), // CV_BSET
511 UINT64_C(973090859), // CV_BSETR
512 UINT64_C(1174417451), // CV_CLB
513 UINT64_C(1879060523), // CV_CLIP
514 UINT64_C(1946169387), // CV_CLIPR
515 UINT64_C(1912614955), // CV_CLIPU
516 UINT64_C(1979723819), // CV_CLIPUR
517 UINT64_C(67113083), // CV_CMPEQ_B
518 UINT64_C(67108987), // CV_CMPEQ_H
519 UINT64_C(67137659), // CV_CMPEQ_SCI_B
520 UINT64_C(67133563), // CV_CMPEQ_SCI_H
521 UINT64_C(67129467), // CV_CMPEQ_SC_B
522 UINT64_C(67125371), // CV_CMPEQ_SC_H
523 UINT64_C(1006637179), // CV_CMPGEU_B
524 UINT64_C(1006633083), // CV_CMPGEU_H
525 UINT64_C(1006661755), // CV_CMPGEU_SCI_B
526 UINT64_C(1006657659), // CV_CMPGEU_SCI_H
527 UINT64_C(1006653563), // CV_CMPGEU_SC_B
528 UINT64_C(1006649467), // CV_CMPGEU_SC_H
529 UINT64_C(469766267), // CV_CMPGE_B
530 UINT64_C(469762171), // CV_CMPGE_H
531 UINT64_C(469790843), // CV_CMPGE_SCI_B
532 UINT64_C(469786747), // CV_CMPGE_SCI_H
533 UINT64_C(469782651), // CV_CMPGE_SC_B
534 UINT64_C(469778555), // CV_CMPGE_SC_H
535 UINT64_C(872419451), // CV_CMPGTU_B
536 UINT64_C(872415355), // CV_CMPGTU_H
537 UINT64_C(872444027), // CV_CMPGTU_SCI_B
538 UINT64_C(872439931), // CV_CMPGTU_SCI_H
539 UINT64_C(872435835), // CV_CMPGTU_SC_B
540 UINT64_C(872431739), // CV_CMPGTU_SC_H
541 UINT64_C(335548539), // CV_CMPGT_B
542 UINT64_C(335544443), // CV_CMPGT_H
543 UINT64_C(335573115), // CV_CMPGT_SCI_B
544 UINT64_C(335569019), // CV_CMPGT_SCI_H
545 UINT64_C(335564923), // CV_CMPGT_SC_B
546 UINT64_C(335560827), // CV_CMPGT_SC_H
547 UINT64_C(1275072635), // CV_CMPLEU_B
548 UINT64_C(1275068539), // CV_CMPLEU_H
549 UINT64_C(1275097211), // CV_CMPLEU_SCI_B
550 UINT64_C(1275093115), // CV_CMPLEU_SCI_H
551 UINT64_C(1275089019), // CV_CMPLEU_SC_B
552 UINT64_C(1275084923), // CV_CMPLEU_SC_H
553 UINT64_C(738201723), // CV_CMPLE_B
554 UINT64_C(738197627), // CV_CMPLE_H
555 UINT64_C(738226299), // CV_CMPLE_SCI_B
556 UINT64_C(738222203), // CV_CMPLE_SCI_H
557 UINT64_C(738218107), // CV_CMPLE_SC_B
558 UINT64_C(738214011), // CV_CMPLE_SC_H
559 UINT64_C(1140854907), // CV_CMPLTU_B
560 UINT64_C(1140850811), // CV_CMPLTU_H
561 UINT64_C(1140879483), // CV_CMPLTU_SCI_B
562 UINT64_C(1140875387), // CV_CMPLTU_SCI_H
563 UINT64_C(1140871291), // CV_CMPLTU_SC_B
564 UINT64_C(1140867195), // CV_CMPLTU_SC_H
565 UINT64_C(603983995), // CV_CMPLT_B
566 UINT64_C(603979899), // CV_CMPLT_H
567 UINT64_C(604008571), // CV_CMPLT_SCI_B
568 UINT64_C(604004475), // CV_CMPLT_SCI_H
569 UINT64_C(604000379), // CV_CMPLT_SC_B
570 UINT64_C(603996283), // CV_CMPLT_SC_H
571 UINT64_C(201330811), // CV_CMPNE_B
572 UINT64_C(201326715), // CV_CMPNE_H
573 UINT64_C(201355387), // CV_CMPNE_SCI_B
574 UINT64_C(201351291), // CV_CMPNE_SCI_H
575 UINT64_C(201347195), // CV_CMPNE_SC_B
576 UINT64_C(201343099), // CV_CMPNE_SC_H
577 UINT64_C(1207971883), // CV_CNT
578 UINT64_C(1543503995), // CV_CPLXCONJ
579 UINT64_C(1442840699), // CV_CPLXMUL_I
580 UINT64_C(1442848891), // CV_CPLXMUL_I_DIV2
581 UINT64_C(1442857083), // CV_CPLXMUL_I_DIV4
582 UINT64_C(1442865275), // CV_CPLXMUL_I_DIV8
583 UINT64_C(1409286267), // CV_CPLXMUL_R
584 UINT64_C(1409294459), // CV_CPLXMUL_R_DIV2
585 UINT64_C(1409302651), // CV_CPLXMUL_R_DIV4
586 UINT64_C(1409310843), // CV_CPLXMUL_R_DIV8
587 UINT64_C(2415923323), // CV_DOTSP_B
588 UINT64_C(2415919227), // CV_DOTSP_H
589 UINT64_C(2415947899), // CV_DOTSP_SCI_B
590 UINT64_C(2415943803), // CV_DOTSP_SCI_H
591 UINT64_C(2415939707), // CV_DOTSP_SC_B
592 UINT64_C(2415935611), // CV_DOTSP_SC_H
593 UINT64_C(2147487867), // CV_DOTUP_B
594 UINT64_C(2147483771), // CV_DOTUP_H
595 UINT64_C(2147512443), // CV_DOTUP_SCI_B
596 UINT64_C(2147508347), // CV_DOTUP_SCI_H
597 UINT64_C(2147504251), // CV_DOTUP_SC_B
598 UINT64_C(2147500155), // CV_DOTUP_SC_H
599 UINT64_C(2281705595), // CV_DOTUSP_B
600 UINT64_C(2281701499), // CV_DOTUSP_H
601 UINT64_C(2281730171), // CV_DOTUSP_SCI_B
602 UINT64_C(2281726075), // CV_DOTUSP_SCI_H
603 UINT64_C(2281721979), // CV_DOTUSP_SC_B
604 UINT64_C(2281717883), // CV_DOTUSP_SC_H
605 UINT64_C(12299), // CV_ELW
606 UINT64_C(1677733931), // CV_EXTBS
607 UINT64_C(1711288363), // CV_EXTBZ
608 UINT64_C(1610625067), // CV_EXTHS
609 UINT64_C(1644179499), // CV_EXTHZ
610 UINT64_C(91), // CV_EXTRACT
611 UINT64_C(805318699), // CV_EXTRACTR
612 UINT64_C(1073741915), // CV_EXTRACTU
613 UINT64_C(838873131), // CV_EXTRACTUR
614 UINT64_C(3087020155), // CV_EXTRACTU_B
615 UINT64_C(3087016059), // CV_EXTRACTU_H
616 UINT64_C(3087011963), // CV_EXTRACT_B
617 UINT64_C(3087007867), // CV_EXTRACT_H
618 UINT64_C(1107308587), // CV_FF1
619 UINT64_C(1140863019), // CV_FL1
620 UINT64_C(2147483739), // CV_INSERT
621 UINT64_C(872427563), // CV_INSERTR
622 UINT64_C(3087028347), // CV_INSERT_B
623 UINT64_C(3087024251), // CV_INSERT_H
624 UINT64_C(16395), // CV_LBU_ri_inc
625 UINT64_C(402665515), // CV_LBU_rr
626 UINT64_C(268447787), // CV_LBU_rr_inc
627 UINT64_C(11), // CV_LB_ri_inc
628 UINT64_C(134230059), // CV_LB_rr
629 UINT64_C(12331), // CV_LB_rr_inc
630 UINT64_C(20491), // CV_LHU_ri_inc
631 UINT64_C(436219947), // CV_LHU_rr
632 UINT64_C(302002219), // CV_LHU_rr_inc
633 UINT64_C(4107), // CV_LH_ri_inc
634 UINT64_C(167784491), // CV_LH_rr
635 UINT64_C(33566763), // CV_LH_rr_inc
636 UINT64_C(8203), // CV_LW_ri_inc
637 UINT64_C(201338923), // CV_LW_rr
638 UINT64_C(67121195), // CV_LW_rr_inc
639 UINT64_C(2415931435), // CV_MAC
640 UINT64_C(1073766491), // CV_MACHHSN
641 UINT64_C(3221250139), // CV_MACHHSRN
642 UINT64_C(1073770587), // CV_MACHHUN
643 UINT64_C(3221254235), // CV_MACHHURN
644 UINT64_C(24667), // CV_MACSN
645 UINT64_C(2147508315), // CV_MACSRN
646 UINT64_C(28763), // CV_MACUN
647 UINT64_C(2147512411), // CV_MACURN
648 UINT64_C(1509961771), // CV_MAX
649 UINT64_C(1543516203), // CV_MAXU
650 UINT64_C(939528315), // CV_MAXU_B
651 UINT64_C(939524219), // CV_MAXU_H
652 UINT64_C(939552891), // CV_MAXU_SCI_B
653 UINT64_C(939548795), // CV_MAXU_SCI_H
654 UINT64_C(939544699), // CV_MAXU_SC_B
655 UINT64_C(939540603), // CV_MAXU_SC_H
656 UINT64_C(805310587), // CV_MAX_B
657 UINT64_C(805306491), // CV_MAX_H
658 UINT64_C(805335163), // CV_MAX_SCI_B
659 UINT64_C(805331067), // CV_MAX_SCI_H
660 UINT64_C(805326971), // CV_MAX_SC_B
661 UINT64_C(805322875), // CV_MAX_SC_H
662 UINT64_C(1442852907), // CV_MIN
663 UINT64_C(1476407339), // CV_MINU
664 UINT64_C(671092859), // CV_MINU_B
665 UINT64_C(671088763), // CV_MINU_H
666 UINT64_C(671117435), // CV_MINU_SCI_B
667 UINT64_C(671113339), // CV_MINU_SCI_H
668 UINT64_C(671109243), // CV_MINU_SC_B
669 UINT64_C(671105147), // CV_MINU_SC_H
670 UINT64_C(536875131), // CV_MIN_B
671 UINT64_C(536871035), // CV_MIN_H
672 UINT64_C(536899707), // CV_MIN_SCI_B
673 UINT64_C(536895611), // CV_MIN_SCI_H
674 UINT64_C(536891515), // CV_MIN_SC_B
675 UINT64_C(536887419), // CV_MIN_SC_H
676 UINT64_C(2449485867), // CV_MSU
677 UINT64_C(1073758299), // CV_MULHHSN
678 UINT64_C(3221241947), // CV_MULHHSRN
679 UINT64_C(1073762395), // CV_MULHHUN
680 UINT64_C(3221246043), // CV_MULHHURN
681 UINT64_C(16475), // CV_MULSN
682 UINT64_C(2147500123), // CV_MULSRN
683 UINT64_C(20571), // CV_MULUN
684 UINT64_C(2147504219), // CV_MULURN
685 UINT64_C(1476399227), // CV_OR_B
686 UINT64_C(1476395131), // CV_OR_H
687 UINT64_C(1476423803), // CV_OR_SCI_B
688 UINT64_C(1476419707), // CV_OR_SCI_H
689 UINT64_C(1476415611), // CV_OR_SC_B
690 UINT64_C(1476411515), // CV_OR_SC_H
691 UINT64_C(4026531963), // CV_PACK
692 UINT64_C(4194308219), // CV_PACKHI_B
693 UINT64_C(4160753787), // CV_PACKLO_B
694 UINT64_C(4060086395), // CV_PACK_H
695 UINT64_C(1073754155), // CV_ROR
696 UINT64_C(43), // CV_SB_ri_inc
697 UINT64_C(671100971), // CV_SB_rr
698 UINT64_C(536883243), // CV_SB_rr_inc
699 UINT64_C(2818576507), // CV_SDOTSP_B
700 UINT64_C(2818572411), // CV_SDOTSP_H
701 UINT64_C(2818601083), // CV_SDOTSP_SCI_B
702 UINT64_C(2818596987), // CV_SDOTSP_SCI_H
703 UINT64_C(2818592891), // CV_SDOTSP_SC_B
704 UINT64_C(2818588795), // CV_SDOTSP_SC_H
705 UINT64_C(2550141051), // CV_SDOTUP_B
706 UINT64_C(2550136955), // CV_SDOTUP_H
707 UINT64_C(2550165627), // CV_SDOTUP_SCI_B
708 UINT64_C(2550161531), // CV_SDOTUP_SCI_H
709 UINT64_C(2550157435), // CV_SDOTUP_SC_B
710 UINT64_C(2550153339), // CV_SDOTUP_SC_H
711 UINT64_C(2684358779), // CV_SDOTUSP_B
712 UINT64_C(2684354683), // CV_SDOTUSP_H
713 UINT64_C(2684383355), // CV_SDOTUSP_SCI_B
714 UINT64_C(2684379259), // CV_SDOTUSP_SCI_H
715 UINT64_C(2684375163), // CV_SDOTUSP_SC_B
716 UINT64_C(2684371067), // CV_SDOTUSP_SC_H
717 UINT64_C(3758100603), // CV_SHUFFLE2_B
718 UINT64_C(3758096507), // CV_SHUFFLE2_H
719 UINT64_C(3221254267), // CV_SHUFFLEI0_SCI_B
720 UINT64_C(3355471995), // CV_SHUFFLEI1_SCI_B
721 UINT64_C(3489689723), // CV_SHUFFLEI2_SCI_B
722 UINT64_C(3623907451), // CV_SHUFFLEI3_SCI_B
723 UINT64_C(3221229691), // CV_SHUFFLE_B
724 UINT64_C(3221225595), // CV_SHUFFLE_H
725 UINT64_C(3221250171), // CV_SHUFFLE_SCI_H
726 UINT64_C(4139), // CV_SH_ri_inc
727 UINT64_C(704655403), // CV_SH_rr
728 UINT64_C(570437675), // CV_SH_rr_inc
729 UINT64_C(1375744043), // CV_SLE
730 UINT64_C(1409298475), // CV_SLEU
731 UINT64_C(1342181499), // CV_SLL_B
732 UINT64_C(1342177403), // CV_SLL_H
733 UINT64_C(1342206075), // CV_SLL_SCI_B
734 UINT64_C(1342201979), // CV_SLL_SCI_H
735 UINT64_C(1342197883), // CV_SLL_SC_B
736 UINT64_C(1342193787), // CV_SLL_SC_H
737 UINT64_C(1207963771), // CV_SRA_B
738 UINT64_C(1207959675), // CV_SRA_H
739 UINT64_C(1207988347), // CV_SRA_SCI_B
740 UINT64_C(1207984251), // CV_SRA_SCI_H
741 UINT64_C(1207980155), // CV_SRA_SC_B
742 UINT64_C(1207976059), // CV_SRA_SC_H
743 UINT64_C(1073746043), // CV_SRL_B
744 UINT64_C(1073741947), // CV_SRL_H
745 UINT64_C(1073770619), // CV_SRL_SCI_B
746 UINT64_C(1073766523), // CV_SRL_SCI_H
747 UINT64_C(1073762427), // CV_SRL_SC_B
748 UINT64_C(1073758331), // CV_SRL_SC_H
749 UINT64_C(12379), // CV_SUBN
750 UINT64_C(2281713707), // CV_SUBNR
751 UINT64_C(2147496027), // CV_SUBRN
752 UINT64_C(2348822571), // CV_SUBRNR
753 UINT64_C(1677721723), // CV_SUBROTMJ
754 UINT64_C(1677729915), // CV_SUBROTMJ_DIV2
755 UINT64_C(1677738107), // CV_SUBROTMJ_DIV4
756 UINT64_C(1677746299), // CV_SUBROTMJ_DIV8
757 UINT64_C(1073754203), // CV_SUBUN
758 UINT64_C(2315268139), // CV_SUBUNR
759 UINT64_C(3221237851), // CV_SUBURN
760 UINT64_C(2382377003), // CV_SUBURNR
761 UINT64_C(134221947), // CV_SUB_B
762 UINT64_C(1946165371), // CV_SUB_DIV2
763 UINT64_C(1946173563), // CV_SUB_DIV4
764 UINT64_C(1946181755), // CV_SUB_DIV8
765 UINT64_C(134217851), // CV_SUB_H
766 UINT64_C(134246523), // CV_SUB_SCI_B
767 UINT64_C(134242427), // CV_SUB_SCI_H
768 UINT64_C(134238331), // CV_SUB_SC_B
769 UINT64_C(134234235), // CV_SUB_SC_H
770 UINT64_C(8235), // CV_SW_ri_inc
771 UINT64_C(738209835), // CV_SW_rr
772 UINT64_C(603992107), // CV_SW_rr_inc
773 UINT64_C(1610616955), // CV_XOR_B
774 UINT64_C(1610612859), // CV_XOR_H
775 UINT64_C(1610641531), // CV_XOR_SCI_B
776 UINT64_C(1610637435), // CV_XOR_SCI_H
777 UINT64_C(1610633339), // CV_XOR_SC_B
778 UINT64_C(1610629243), // CV_XOR_SC_H
779 UINT64_C(234901555), // CZERO_EQZ
780 UINT64_C(234909747), // CZERO_NEZ
781 UINT64_C(36866), // C_ADD
782 UINT64_C(1), // C_ADDI
783 UINT64_C(24833), // C_ADDI16SP
784 UINT64_C(0), // C_ADDI4SPN
785 UINT64_C(8193), // C_ADDIW
786 UINT64_C(39969), // C_ADDW
787 UINT64_C(35937), // C_AND
788 UINT64_C(34817), // C_ANDI
789 UINT64_C(49153), // C_BEQZ
790 UINT64_C(57345), // C_BNEZ
791 UINT64_C(36866), // C_EBREAK
792 UINT64_C(8192), // C_FLD
793 UINT64_C(8194), // C_FLDSP
794 UINT64_C(24576), // C_FLW
795 UINT64_C(24578), // C_FLWSP
796 UINT64_C(40960), // C_FSD
797 UINT64_C(40962), // C_FSDSP
798 UINT64_C(57344), // C_FSW
799 UINT64_C(57346), // C_FSWSP
800 UINT64_C(40961), // C_J
801 UINT64_C(8193), // C_JAL
802 UINT64_C(36866), // C_JALR
803 UINT64_C(32770), // C_JR
804 UINT64_C(32768), // C_LBU
805 UINT64_C(24576), // C_LD
806 UINT64_C(24578), // C_LDSP
807 UINT64_C(24578), // C_LDSP_RV32
808 UINT64_C(24576), // C_LD_RV32
809 UINT64_C(33856), // C_LH
810 UINT64_C(33792), // C_LHU
811 UINT64_C(33856), // C_LH_INX
812 UINT64_C(16385), // C_LI
813 UINT64_C(24577), // C_LUI
814 UINT64_C(16384), // C_LW
815 UINT64_C(16386), // C_LWSP
816 UINT64_C(16386), // C_LWSP_INX
817 UINT64_C(16384), // C_LW_INX
818 UINT64_C(25985), // C_MOP_11
819 UINT64_C(26241), // C_MOP_13
820 UINT64_C(26497), // C_MOP_15
821 UINT64_C(24961), // C_MOP_3
822 UINT64_C(25473), // C_MOP_7
823 UINT64_C(25729), // C_MOP_9
824 UINT64_C(40001), // C_MUL
825 UINT64_C(32770), // C_MV
826 UINT64_C(1), // C_NOP
827 UINT64_C(1), // C_NOP_HINT
828 UINT64_C(40053), // C_NOT
829 UINT64_C(35905), // C_OR
830 UINT64_C(34816), // C_SB
831 UINT64_C(57344), // C_SD
832 UINT64_C(57346), // C_SDSP
833 UINT64_C(57346), // C_SDSP_RV32
834 UINT64_C(57344), // C_SD_RV32
835 UINT64_C(40037), // C_SEXT_B
836 UINT64_C(40045), // C_SEXT_H
837 UINT64_C(35840), // C_SH
838 UINT64_C(35840), // C_SH_INX
839 UINT64_C(2), // C_SLLI
840 UINT64_C(33793), // C_SRAI
841 UINT64_C(32769), // C_SRLI
842 UINT64_C(25217), // C_SSPOPCHK
843 UINT64_C(24705), // C_SSPUSH
844 UINT64_C(35841), // C_SUB
845 UINT64_C(39937), // C_SUBW
846 UINT64_C(49152), // C_SW
847 UINT64_C(49154), // C_SWSP
848 UINT64_C(49154), // C_SWSP_INX
849 UINT64_C(49152), // C_SW_INX
850 UINT64_C(0), // C_UNIMP
851 UINT64_C(35873), // C_XOR
852 UINT64_C(40033), // C_ZEXT_B
853 UINT64_C(40041), // C_ZEXT_H
854 UINT64_C(40049), // C_ZEXT_W
855 UINT64_C(33570867), // DIV
856 UINT64_C(33574963), // DIVU
857 UINT64_C(33574971), // DIVUW
858 UINT64_C(33570875), // DIVW
859 UINT64_C(2065694835), // DRET
860 UINT64_C(1048691), // EBREAK
861 UINT64_C(115), // ECALL
862 UINT64_C(33554515), // FADD_D
863 UINT64_C(33554515), // FADD_D_IN32X
864 UINT64_C(33554515), // FADD_D_INX
865 UINT64_C(67108947), // FADD_H
866 UINT64_C(67108947), // FADD_H_INX
867 UINT64_C(100663379), // FADD_Q
868 UINT64_C(83), // FADD_S
869 UINT64_C(83), // FADD_S_INX
870 UINT64_C(3791654995), // FCLASS_D
871 UINT64_C(3791654995), // FCLASS_D_IN32X
872 UINT64_C(3791654995), // FCLASS_D_INX
873 UINT64_C(3825209427), // FCLASS_H
874 UINT64_C(3825209427), // FCLASS_H_INX
875 UINT64_C(3858763859), // FCLASS_Q
876 UINT64_C(3758100563), // FCLASS_S
877 UINT64_C(3758100563), // FCLASS_S_INX
878 UINT64_C(3263172691), // FCVTMOD_W_D
879 UINT64_C(1149239379), // FCVT_BF16_S
880 UINT64_C(1109393491), // FCVT_D_H
881 UINT64_C(1109393491), // FCVT_D_H_IN32X
882 UINT64_C(1109393491), // FCVT_D_H_INX
883 UINT64_C(3525312595), // FCVT_D_L
884 UINT64_C(3526361171), // FCVT_D_LU
885 UINT64_C(3526361171), // FCVT_D_LU_INX
886 UINT64_C(3525312595), // FCVT_D_L_INX
887 UINT64_C(1110442067), // FCVT_D_Q
888 UINT64_C(1107296339), // FCVT_D_S
889 UINT64_C(1107296339), // FCVT_D_S_IN32X
890 UINT64_C(1107296339), // FCVT_D_S_INX
891 UINT64_C(3523215443), // FCVT_D_W
892 UINT64_C(3524264019), // FCVT_D_WU
893 UINT64_C(3524264019), // FCVT_D_WU_IN32X
894 UINT64_C(3524264019), // FCVT_D_WU_INX
895 UINT64_C(3523215443), // FCVT_D_W_IN32X
896 UINT64_C(3523215443), // FCVT_D_W_INX
897 UINT64_C(1141899347), // FCVT_H_D
898 UINT64_C(1141899347), // FCVT_H_D_IN32X
899 UINT64_C(1141899347), // FCVT_H_D_INX
900 UINT64_C(3558867027), // FCVT_H_L
901 UINT64_C(3559915603), // FCVT_H_LU
902 UINT64_C(3559915603), // FCVT_H_LU_INX
903 UINT64_C(3558867027), // FCVT_H_L_INX
904 UINT64_C(1143996499), // FCVT_H_Q
905 UINT64_C(1140850771), // FCVT_H_S
906 UINT64_C(1140850771), // FCVT_H_S_INX
907 UINT64_C(3556769875), // FCVT_H_W
908 UINT64_C(3557818451), // FCVT_H_WU
909 UINT64_C(3557818451), // FCVT_H_WU_INX
910 UINT64_C(3556769875), // FCVT_H_W_INX
911 UINT64_C(3257925715), // FCVT_LU_D
912 UINT64_C(3257925715), // FCVT_LU_D_INX
913 UINT64_C(3291480147), // FCVT_LU_H
914 UINT64_C(3291480147), // FCVT_LU_H_INX
915 UINT64_C(3325034579), // FCVT_LU_Q
916 UINT64_C(3224371283), // FCVT_LU_S
917 UINT64_C(3224371283), // FCVT_LU_S_INX
918 UINT64_C(3256877139), // FCVT_L_D
919 UINT64_C(3256877139), // FCVT_L_D_INX
920 UINT64_C(3290431571), // FCVT_L_H
921 UINT64_C(3290431571), // FCVT_L_H_INX
922 UINT64_C(3323986003), // FCVT_L_Q
923 UINT64_C(3223322707), // FCVT_L_S
924 UINT64_C(3223322707), // FCVT_L_S_INX
925 UINT64_C(1175453779), // FCVT_Q_D
926 UINT64_C(1176502355), // FCVT_Q_H
927 UINT64_C(3592421459), // FCVT_Q_L
928 UINT64_C(3593470035), // FCVT_Q_LU
929 UINT64_C(1174405203), // FCVT_Q_S
930 UINT64_C(3590324307), // FCVT_Q_W
931 UINT64_C(3591372883), // FCVT_Q_WU
932 UINT64_C(1080033363), // FCVT_S_BF16
933 UINT64_C(1074790483), // FCVT_S_D
934 UINT64_C(1074790483), // FCVT_S_D_IN32X
935 UINT64_C(1074790483), // FCVT_S_D_INX
936 UINT64_C(1075839059), // FCVT_S_H
937 UINT64_C(1075839059), // FCVT_S_H_INX
938 UINT64_C(3491758163), // FCVT_S_L
939 UINT64_C(3492806739), // FCVT_S_LU
940 UINT64_C(3492806739), // FCVT_S_LU_INX
941 UINT64_C(3491758163), // FCVT_S_L_INX
942 UINT64_C(1076887635), // FCVT_S_Q
943 UINT64_C(3489661011), // FCVT_S_W
944 UINT64_C(3490709587), // FCVT_S_WU
945 UINT64_C(3490709587), // FCVT_S_WU_INX
946 UINT64_C(3489661011), // FCVT_S_W_INX
947 UINT64_C(3255828563), // FCVT_WU_D
948 UINT64_C(3255828563), // FCVT_WU_D_IN32X
949 UINT64_C(3255828563), // FCVT_WU_D_INX
950 UINT64_C(3289382995), // FCVT_WU_H
951 UINT64_C(3289382995), // FCVT_WU_H_INX
952 UINT64_C(3322937427), // FCVT_WU_Q
953 UINT64_C(3222274131), // FCVT_WU_S
954 UINT64_C(3222274131), // FCVT_WU_S_INX
955 UINT64_C(3254779987), // FCVT_W_D
956 UINT64_C(3254779987), // FCVT_W_D_IN32X
957 UINT64_C(3254779987), // FCVT_W_D_INX
958 UINT64_C(3288334419), // FCVT_W_H
959 UINT64_C(3288334419), // FCVT_W_H_INX
960 UINT64_C(3321888851), // FCVT_W_Q
961 UINT64_C(3221225555), // FCVT_W_S
962 UINT64_C(3221225555), // FCVT_W_S_INX
963 UINT64_C(436207699), // FDIV_D
964 UINT64_C(436207699), // FDIV_D_IN32X
965 UINT64_C(436207699), // FDIV_D_INX
966 UINT64_C(469762131), // FDIV_H
967 UINT64_C(469762131), // FDIV_H_INX
968 UINT64_C(503316563), // FDIV_Q
969 UINT64_C(402653267), // FDIV_S
970 UINT64_C(402653267), // FDIV_S_INX
971 UINT64_C(15), // FENCE
972 UINT64_C(4111), // FENCE_I
973 UINT64_C(2200961039), // FENCE_TSO
974 UINT64_C(2717917267), // FEQ_D
975 UINT64_C(2717917267), // FEQ_D_IN32X
976 UINT64_C(2717917267), // FEQ_D_INX
977 UINT64_C(2751471699), // FEQ_H
978 UINT64_C(2751471699), // FEQ_H_INX
979 UINT64_C(2785026131), // FEQ_Q
980 UINT64_C(2684362835), // FEQ_S
981 UINT64_C(2684362835), // FEQ_S_INX
982 UINT64_C(12295), // FLD
983 UINT64_C(2717925459), // FLEQ_D
984 UINT64_C(2751479891), // FLEQ_H
985 UINT64_C(2785034323), // FLEQ_Q
986 UINT64_C(2684371027), // FLEQ_S
987 UINT64_C(2717909075), // FLE_D
988 UINT64_C(2717909075), // FLE_D_IN32X
989 UINT64_C(2717909075), // FLE_D_INX
990 UINT64_C(2751463507), // FLE_H
991 UINT64_C(2751463507), // FLE_H_INX
992 UINT64_C(2785017939), // FLE_Q
993 UINT64_C(2684354643), // FLE_S
994 UINT64_C(2684354643), // FLE_S_INX
995 UINT64_C(4103), // FLH
996 UINT64_C(4061134931), // FLI_D
997 UINT64_C(4094689363), // FLI_H
998 UINT64_C(4128243795), // FLI_Q
999 UINT64_C(4027580499), // FLI_S
1000 UINT64_C(16391), // FLQ
1001 UINT64_C(2717929555), // FLTQ_D
1002 UINT64_C(2751483987), // FLTQ_H
1003 UINT64_C(2785038419), // FLTQ_Q
1004 UINT64_C(2684375123), // FLTQ_S
1005 UINT64_C(2717913171), // FLT_D
1006 UINT64_C(2717913171), // FLT_D_IN32X
1007 UINT64_C(2717913171), // FLT_D_INX
1008 UINT64_C(2751467603), // FLT_H
1009 UINT64_C(2751467603), // FLT_H_INX
1010 UINT64_C(2785022035), // FLT_Q
1011 UINT64_C(2684358739), // FLT_S
1012 UINT64_C(2684358739), // FLT_S_INX
1013 UINT64_C(8199), // FLW
1014 UINT64_C(33554499), // FMADD_D
1015 UINT64_C(33554499), // FMADD_D_IN32X
1016 UINT64_C(33554499), // FMADD_D_INX
1017 UINT64_C(67108931), // FMADD_H
1018 UINT64_C(67108931), // FMADD_H_INX
1019 UINT64_C(100663363), // FMADD_Q
1020 UINT64_C(67), // FMADD_S
1021 UINT64_C(67), // FMADD_S_INX
1022 UINT64_C(704655443), // FMAXM_D
1023 UINT64_C(738209875), // FMAXM_H
1024 UINT64_C(771764307), // FMAXM_Q
1025 UINT64_C(671101011), // FMAXM_S
1026 UINT64_C(704647251), // FMAX_D
1027 UINT64_C(704647251), // FMAX_D_IN32X
1028 UINT64_C(704647251), // FMAX_D_INX
1029 UINT64_C(738201683), // FMAX_H
1030 UINT64_C(738201683), // FMAX_H_INX
1031 UINT64_C(771756115), // FMAX_Q
1032 UINT64_C(671092819), // FMAX_S
1033 UINT64_C(671092819), // FMAX_S_INX
1034 UINT64_C(704651347), // FMINM_D
1035 UINT64_C(738205779), // FMINM_H
1036 UINT64_C(771760211), // FMINM_Q
1037 UINT64_C(671096915), // FMINM_S
1038 UINT64_C(704643155), // FMIN_D
1039 UINT64_C(704643155), // FMIN_D_IN32X
1040 UINT64_C(704643155), // FMIN_D_INX
1041 UINT64_C(738197587), // FMIN_H
1042 UINT64_C(738197587), // FMIN_H_INX
1043 UINT64_C(771752019), // FMIN_Q
1044 UINT64_C(671088723), // FMIN_S
1045 UINT64_C(671088723), // FMIN_S_INX
1046 UINT64_C(33554503), // FMSUB_D
1047 UINT64_C(33554503), // FMSUB_D_IN32X
1048 UINT64_C(33554503), // FMSUB_D_INX
1049 UINT64_C(67108935), // FMSUB_H
1050 UINT64_C(67108935), // FMSUB_H_INX
1051 UINT64_C(100663367), // FMSUB_Q
1052 UINT64_C(71), // FMSUB_S
1053 UINT64_C(71), // FMSUB_S_INX
1054 UINT64_C(301989971), // FMUL_D
1055 UINT64_C(301989971), // FMUL_D_IN32X
1056 UINT64_C(301989971), // FMUL_D_INX
1057 UINT64_C(335544403), // FMUL_H
1058 UINT64_C(335544403), // FMUL_H_INX
1059 UINT64_C(369098835), // FMUL_Q
1060 UINT64_C(268435539), // FMUL_S
1061 UINT64_C(268435539), // FMUL_S_INX
1062 UINT64_C(3792699475), // FMVH_X_D
1063 UINT64_C(3859808339), // FMVH_X_Q
1064 UINT64_C(2986344531), // FMVP_D_X
1065 UINT64_C(3053453395), // FMVP_Q_X
1066 UINT64_C(4060086355), // FMV_D_X
1067 UINT64_C(4093640787), // FMV_H_X
1068 UINT64_C(4026531923), // FMV_W_X
1069 UINT64_C(3791650899), // FMV_X_D
1070 UINT64_C(3825205331), // FMV_X_H
1071 UINT64_C(3758096467), // FMV_X_W
1072 UINT64_C(3758096467), // FMV_X_W_FPR64
1073 UINT64_C(33554511), // FNMADD_D
1074 UINT64_C(33554511), // FNMADD_D_IN32X
1075 UINT64_C(33554511), // FNMADD_D_INX
1076 UINT64_C(67108943), // FNMADD_H
1077 UINT64_C(67108943), // FNMADD_H_INX
1078 UINT64_C(100663375), // FNMADD_Q
1079 UINT64_C(79), // FNMADD_S
1080 UINT64_C(79), // FNMADD_S_INX
1081 UINT64_C(33554507), // FNMSUB_D
1082 UINT64_C(33554507), // FNMSUB_D_IN32X
1083 UINT64_C(33554507), // FNMSUB_D_INX
1084 UINT64_C(67108939), // FNMSUB_H
1085 UINT64_C(67108939), // FNMSUB_H_INX
1086 UINT64_C(100663371), // FNMSUB_Q
1087 UINT64_C(75), // FNMSUB_S
1088 UINT64_C(75), // FNMSUB_S_INX
1089 UINT64_C(1112539219), // FROUNDNX_D
1090 UINT64_C(1146093651), // FROUNDNX_H
1091 UINT64_C(1179648083), // FROUNDNX_Q
1092 UINT64_C(1078984787), // FROUNDNX_S
1093 UINT64_C(1111490643), // FROUND_D
1094 UINT64_C(1145045075), // FROUND_H
1095 UINT64_C(1178599507), // FROUND_Q
1096 UINT64_C(1077936211), // FROUND_S
1097 UINT64_C(12327), // FSD
1098 UINT64_C(570429523), // FSGNJN_D
1099 UINT64_C(570429523), // FSGNJN_D_IN32X
1100 UINT64_C(570429523), // FSGNJN_D_INX
1101 UINT64_C(603983955), // FSGNJN_H
1102 UINT64_C(603983955), // FSGNJN_H_INX
1103 UINT64_C(637538387), // FSGNJN_Q
1104 UINT64_C(536875091), // FSGNJN_S
1105 UINT64_C(536875091), // FSGNJN_S_INX
1106 UINT64_C(570433619), // FSGNJX_D
1107 UINT64_C(570433619), // FSGNJX_D_IN32X
1108 UINT64_C(570433619), // FSGNJX_D_INX
1109 UINT64_C(603988051), // FSGNJX_H
1110 UINT64_C(603988051), // FSGNJX_H_INX
1111 UINT64_C(637542483), // FSGNJX_Q
1112 UINT64_C(536879187), // FSGNJX_S
1113 UINT64_C(536879187), // FSGNJX_S_INX
1114 UINT64_C(570425427), // FSGNJ_D
1115 UINT64_C(570425427), // FSGNJ_D_IN32X
1116 UINT64_C(570425427), // FSGNJ_D_INX
1117 UINT64_C(603979859), // FSGNJ_H
1118 UINT64_C(603979859), // FSGNJ_H_INX
1119 UINT64_C(637534291), // FSGNJ_Q
1120 UINT64_C(536870995), // FSGNJ_S
1121 UINT64_C(536870995), // FSGNJ_S_INX
1122 UINT64_C(4135), // FSH
1123 UINT64_C(16423), // FSQ
1124 UINT64_C(1509949523), // FSQRT_D
1125 UINT64_C(1509949523), // FSQRT_D_IN32X
1126 UINT64_C(1509949523), // FSQRT_D_INX
1127 UINT64_C(1543503955), // FSQRT_H
1128 UINT64_C(1543503955), // FSQRT_H_INX
1129 UINT64_C(1577058387), // FSQRT_Q
1130 UINT64_C(1476395091), // FSQRT_S
1131 UINT64_C(1476395091), // FSQRT_S_INX
1132 UINT64_C(167772243), // FSUB_D
1133 UINT64_C(167772243), // FSUB_D_IN32X
1134 UINT64_C(167772243), // FSUB_D_INX
1135 UINT64_C(201326675), // FSUB_H
1136 UINT64_C(201326675), // FSUB_H_INX
1137 UINT64_C(234881107), // FSUB_Q
1138 UINT64_C(134217811), // FSUB_S
1139 UINT64_C(134217811), // FSUB_S_INX
1140 UINT64_C(8231), // FSW
1141 UINT64_C(1644167283), // HFENCE_GVMA
1142 UINT64_C(570425459), // HFENCE_VVMA
1143 UINT64_C(1711276147), // HINVAL_GVMA
1144 UINT64_C(637534323), // HINVAL_VVMA
1145 UINT64_C(1680883827), // HLVX_HU
1146 UINT64_C(1747992691), // HLVX_WU
1147 UINT64_C(1610629235), // HLV_B
1148 UINT64_C(1611677811), // HLV_BU
1149 UINT64_C(1811955827), // HLV_D
1150 UINT64_C(1677738099), // HLV_H
1151 UINT64_C(1678786675), // HLV_HU
1152 UINT64_C(1744846963), // HLV_W
1153 UINT64_C(1745895539), // HLV_WU
1154 UINT64_C(1644183667), // HSV_B
1155 UINT64_C(1845510259), // HSV_D
1156 UINT64_C(1711292531), // HSV_H
1157 UINT64_C(1778401395), // HSV_W
1158 UINT64_C(0), // Insn16
1159 UINT64_C(0), // Insn32
1160 UINT64_C(0), // Insn48
1161 UINT64_C(0), // Insn64
1162 UINT64_C(0), // InsnB
1163 UINT64_C(0), // InsnCA
1164 UINT64_C(0), // InsnCB
1165 UINT64_C(0), // InsnCI
1166 UINT64_C(0), // InsnCIW
1167 UINT64_C(0), // InsnCJ
1168 UINT64_C(0), // InsnCL
1169 UINT64_C(0), // InsnCR
1170 UINT64_C(0), // InsnCS
1171 UINT64_C(0), // InsnCSS
1172 UINT64_C(0), // InsnI
1173 UINT64_C(0), // InsnI_Mem
1174 UINT64_C(0), // InsnJ
1175 UINT64_C(0), // InsnQC_EAI
1176 UINT64_C(0), // InsnQC_EB
1177 UINT64_C(0), // InsnQC_EI
1178 UINT64_C(0), // InsnQC_EI_Mem
1179 UINT64_C(0), // InsnQC_EJ
1180 UINT64_C(0), // InsnQC_ES
1181 UINT64_C(0), // InsnR
1182 UINT64_C(0), // InsnR4
1183 UINT64_C(0), // InsnS
1184 UINT64_C(0), // InsnU
1185 UINT64_C(111), // JAL
1186 UINT64_C(103), // JALR
1187 UINT64_C(3), // LB
1188 UINT64_C(16387), // LBU
1189 UINT64_C(872415279), // LB_AQ
1190 UINT64_C(905969711), // LB_AQRL
1191 UINT64_C(12291), // LD
1192 UINT64_C(872427567), // LD_AQ
1193 UINT64_C(905981999), // LD_AQRL
1194 UINT64_C(12291), // LD_RV32
1195 UINT64_C(4099), // LH
1196 UINT64_C(20483), // LHU
1197 UINT64_C(872419375), // LH_AQ
1198 UINT64_C(905973807), // LH_AQRL
1199 UINT64_C(4099), // LH_INX
1200 UINT64_C(268447791), // LR_D
1201 UINT64_C(335556655), // LR_D_AQ
1202 UINT64_C(369111087), // LR_D_AQRL
1203 UINT64_C(302002223), // LR_D_RL
1204 UINT64_C(268443695), // LR_W
1205 UINT64_C(335552559), // LR_W_AQ
1206 UINT64_C(369106991), // LR_W_AQRL
1207 UINT64_C(301998127), // LR_W_RL
1208 UINT64_C(55), // LUI
1209 UINT64_C(8195), // LW
1210 UINT64_C(24579), // LWU
1211 UINT64_C(872423471), // LW_AQ
1212 UINT64_C(905977903), // LW_AQRL
1213 UINT64_C(8195), // LW_INX
1214 UINT64_C(2415931439), // LXD
1215 UINT64_C(2415923247), // LXH
1216 UINT64_C(2415939631), // LXHU
1217 UINT64_C(3489660975), // LXSB
1218 UINT64_C(3489677359), // LXSBU
1219 UINT64_C(3489673263), // LXSD
1220 UINT64_C(3489665071), // LXSH
1221 UINT64_C(3489681455), // LXSHU
1222 UINT64_C(4026531887), // LXSUWB
1223 UINT64_C(4026548271), // LXSUWBU
1224 UINT64_C(4026544175), // LXSUWD
1225 UINT64_C(4026535983), // LXSUWH
1226 UINT64_C(4026552367), // LXSUWHU
1227 UINT64_C(4026540079), // LXSUWW
1228 UINT64_C(4026556463), // LXSUWWU
1229 UINT64_C(3489669167), // LXSW
1230 UINT64_C(3489685551), // LXSWU
1231 UINT64_C(2415927343), // LXW
1232 UINT64_C(2415943727), // LXWU
1233 UINT64_C(3925880891), // MACCSU_H00
1234 UINT64_C(4194316347), // MACCSU_H11
1235 UINT64_C(3992989755), // MACCSU_W00
1236 UINT64_C(4261425211), // MACCSU_W11
1237 UINT64_C(2852139067), // MACCU_H00
1238 UINT64_C(3120566331), // MACCU_H01
1239 UINT64_C(3120574523), // MACCU_H11
1240 UINT64_C(2919247931), // MACCU_W00
1241 UINT64_C(3187675195), // MACCU_W01
1242 UINT64_C(3187683387), // MACCU_W11
1243 UINT64_C(2315268155), // MACC_H00
1244 UINT64_C(2583695419), // MACC_H01
1245 UINT64_C(2583703611), // MACC_H11
1246 UINT64_C(2382377019), // MACC_W00
1247 UINT64_C(2650804283), // MACC_W01
1248 UINT64_C(2650812475), // MACC_W11
1249 UINT64_C(167796787), // MAX
1250 UINT64_C(167800883), // MAXU
1251 UINT64_C(817889395), // MCSPSPOP
1252 UINT64_C(814743667), // MCSPSPUSH
1253 UINT64_C(2885685307), // MERGE
1254 UINT64_C(2315284539), // MHACC
1255 UINT64_C(3389026363), // MHACCSU
1256 UINT64_C(2919264315), // MHACCSU_H0
1257 UINT64_C(3187699771), // MHACCSU_H1
1258 UINT64_C(2583719995), // MHACCU
1259 UINT64_C(2852155451), // MHACC_H0
1260 UINT64_C(3120590907), // MHACC_H1
1261 UINT64_C(2382393403), // MHRACC
1262 UINT64_C(3456135227), // MHRACCSU
1263 UINT64_C(2650828859), // MHRACCU
1264 UINT64_C(167788595), // MIN
1265 UINT64_C(167792691), // MINU
1266 UINT64_C(813695091), // MIPOPRET
1267 UINT64_C(100675595), // MIPS_CCMOV
1268 UINT64_C(3149843), // MIPS_EHB
1269 UINT64_C(1052691), // MIPS_IHB
1270 UINT64_C(16395), // MIPS_LDP
1271 UINT64_C(1064971), // MIPS_LWP
1272 UINT64_C(5246995), // MIPS_PAUSE
1273 UINT64_C(11), // MIPS_PREF
1274 UINT64_C(20491), // MIPS_SDP
1275 UINT64_C(20619), // MIPS_SWP
1276 UINT64_C(1881145459), // MNRET
1277 UINT64_C(2181054579), // MOP_RR_0
1278 UINT64_C(2248163443), // MOP_RR_1
1279 UINT64_C(2315272307), // MOP_RR_2
1280 UINT64_C(2382381171), // MOP_RR_3
1281 UINT64_C(3254796403), // MOP_RR_4
1282 UINT64_C(3321905267), // MOP_RR_5
1283 UINT64_C(3389014131), // MOP_RR_6
1284 UINT64_C(3456122995), // MOP_RR_7
1285 UINT64_C(2176860275), // MOP_R_0
1286 UINT64_C(2177908851), // MOP_R_1
1287 UINT64_C(2313175155), // MOP_R_10
1288 UINT64_C(2314223731), // MOP_R_11
1289 UINT64_C(2378186867), // MOP_R_12
1290 UINT64_C(2379235443), // MOP_R_13
1291 UINT64_C(2380284019), // MOP_R_14
1292 UINT64_C(2381332595), // MOP_R_15
1293 UINT64_C(3250602099), // MOP_R_16
1294 UINT64_C(3251650675), // MOP_R_17
1295 UINT64_C(3252699251), // MOP_R_18
1296 UINT64_C(3253747827), // MOP_R_19
1297 UINT64_C(2178957427), // MOP_R_2
1298 UINT64_C(3317710963), // MOP_R_20
1299 UINT64_C(3318759539), // MOP_R_21
1300 UINT64_C(3319808115), // MOP_R_22
1301 UINT64_C(3320856691), // MOP_R_23
1302 UINT64_C(3384819827), // MOP_R_24
1303 UINT64_C(3385868403), // MOP_R_25
1304 UINT64_C(3386916979), // MOP_R_26
1305 UINT64_C(3387965555), // MOP_R_27
1306 UINT64_C(3451928691), // MOP_R_28
1307 UINT64_C(3452977267), // MOP_R_29
1308 UINT64_C(2180006003), // MOP_R_3
1309 UINT64_C(3454025843), // MOP_R_30
1310 UINT64_C(3455074419), // MOP_R_31
1311 UINT64_C(2243969139), // MOP_R_4
1312 UINT64_C(2245017715), // MOP_R_5
1313 UINT64_C(2246066291), // MOP_R_6
1314 UINT64_C(2247114867), // MOP_R_7
1315 UINT64_C(2311078003), // MOP_R_8
1316 UINT64_C(2312126579), // MOP_R_9
1317 UINT64_C(3892342843), // MQACC_H00
1318 UINT64_C(4160770107), // MQACC_H01
1319 UINT64_C(4160778299), // MQACC_H11
1320 UINT64_C(3925897275), // MQACC_W00
1321 UINT64_C(4194324539), // MQACC_W01
1322 UINT64_C(4194332731), // MQACC_W11
1323 UINT64_C(3959451707), // MQRACC_H00
1324 UINT64_C(4227878971), // MQRACC_H01
1325 UINT64_C(4227887163), // MQRACC_H11
1326 UINT64_C(3993006139), // MQRACC_W00
1327 UINT64_C(4261433403), // MQRACC_W01
1328 UINT64_C(4261441595), // MQRACC_W11
1329 UINT64_C(2113937563), // MQRWACC
1330 UINT64_C(2046828699), // MQWACC
1331 UINT64_C(807403635), // MRET
1332 UINT64_C(3254804539), // MSEQ
1333 UINT64_C(3523239995), // MSLT
1334 UINT64_C(3657457723), // MSLTU
1335 UINT64_C(33554483), // MUL
1336 UINT64_C(33558579), // MULH
1337 UINT64_C(2248175675), // MULHR
1338 UINT64_C(3321917499), // MULHRSU
1339 UINT64_C(2516611131), // MULHRU
1340 UINT64_C(33562675), // MULHSU
1341 UINT64_C(2785046587), // MULHSU_H0
1342 UINT64_C(3053482043), // MULHSU_H1
1343 UINT64_C(33566771), // MULHU
1344 UINT64_C(2717937723), // MULH_H0
1345 UINT64_C(2986373179), // MULH_H1
1346 UINT64_C(3523244091), // MULQ
1347 UINT64_C(3590352955), // MULQR
1348 UINT64_C(3791663163), // MULSU_H00
1349 UINT64_C(4060098619), // MULSU_H11
1350 UINT64_C(3858772027), // MULSU_W00
1351 UINT64_C(4127207483), // MULSU_W11
1352 UINT64_C(2717921339), // MULU_H00
1353 UINT64_C(2986348603), // MULU_H01
1354 UINT64_C(2986356795), // MULU_H11
1355 UINT64_C(2785030203), // MULU_W00
1356 UINT64_C(3053457467), // MULU_W01
1357 UINT64_C(3053465659), // MULU_W11
1358 UINT64_C(33554491), // MULW
1359 UINT64_C(2181050427), // MUL_H00
1360 UINT64_C(2449477691), // MUL_H01
1361 UINT64_C(2449485883), // MUL_H11
1362 UINT64_C(2248159291), // MUL_W00
1363 UINT64_C(2516586555), // MUL_W01
1364 UINT64_C(2516594747), // MUL_W11
1365 UINT64_C(2818576443), // MVM
1366 UINT64_C(2852130875), // MVMN
1367 UINT64_C(1845542939), // NCLIP
1368 UINT64_C(1677770779), // NCLIPI
1369 UINT64_C(604028955), // NCLIPIU
1370 UINT64_C(2113978395), // NCLIPR
1371 UINT64_C(1946206235), // NCLIPRI
1372 UINT64_C(872464411), // NCLIPRIU
1373 UINT64_C(1040236571), // NCLIPRU
1374 UINT64_C(771801115), // NCLIPU
1375 UINT64_C(4107), // NDS_ADDIGP
1376 UINT64_C(28763), // NDS_BBC
1377 UINT64_C(1073770587), // NDS_BBS
1378 UINT64_C(20571), // NDS_BEQC
1379 UINT64_C(12379), // NDS_BFOS
1380 UINT64_C(8283), // NDS_BFOZ
1381 UINT64_C(24667), // NDS_BNEC
1382 UINT64_C(114779), // NDS_FCVT_BF16_S
1383 UINT64_C(82011), // NDS_FCVT_S_BF16
1384 UINT64_C(536871003), // NDS_FFB
1385 UINT64_C(603979867), // NDS_FFMISM
1386 UINT64_C(570425435), // NDS_FFZMISM
1387 UINT64_C(637534299), // NDS_FLMISM
1388 UINT64_C(4026531923), // NDS_FMV_BF16_X
1389 UINT64_C(3758096467), // NDS_FMV_X_BF16
1390 UINT64_C(11), // NDS_LBGP
1391 UINT64_C(8203), // NDS_LBUGP
1392 UINT64_C(12331), // NDS_LDGP
1393 UINT64_C(268435547), // NDS_LEA_B_ZE
1394 UINT64_C(234881115), // NDS_LEA_D
1395 UINT64_C(369098843), // NDS_LEA_D_ZE
1396 UINT64_C(167772251), // NDS_LEA_H
1397 UINT64_C(301989979), // NDS_LEA_H_ZE
1398 UINT64_C(201326683), // NDS_LEA_W
1399 UINT64_C(335544411), // NDS_LEA_W_ZE
1400 UINT64_C(4139), // NDS_LHGP
1401 UINT64_C(20523), // NDS_LHUGP
1402 UINT64_C(8235), // NDS_LWGP
1403 UINT64_C(24619), // NDS_LWUGP
1404 UINT64_C(12299), // NDS_SBGP
1405 UINT64_C(28715), // NDS_SDGP
1406 UINT64_C(43), // NDS_SHGP
1407 UINT64_C(16427), // NDS_SWGP
1408 UINT64_C(335560795), // NDS_VD4DOTSU_VV
1409 UINT64_C(268451931), // NDS_VD4DOTS_VV
1410 UINT64_C(469778523), // NDS_VD4DOTU_VV
1411 UINT64_C(49243), // NDS_VFNCVT_BF16_S
1412 UINT64_C(201343067), // NDS_VFPMADB_VF
1413 UINT64_C(134234203), // NDS_VFPMADT_VF
1414 UINT64_C(213083), // NDS_VFWCVT_F_B
1415 UINT64_C(245851), // NDS_VFWCVT_F_BU
1416 UINT64_C(147547), // NDS_VFWCVT_F_N
1417 UINT64_C(180315), // NDS_VFWCVT_F_NU
1418 UINT64_C(16475), // NDS_VFWCVT_S_BF16
1419 UINT64_C(100679771), // NDS_VLE4_V
1420 UINT64_C(69222491), // NDS_VLN8_V
1421 UINT64_C(70271067), // NDS_VLNU8_V
1422 UINT64_C(1308672027), // NSRA
1423 UINT64_C(1140899867), // NSRAI
1424 UINT64_C(1577107483), // NSRAR
1425 UINT64_C(1409335323), // NSRARI
1426 UINT64_C(234930203), // NSRL
1427 UINT64_C(67158043), // NSRLI
1428 UINT64_C(24627), // OR
1429 UINT64_C(678449171), // ORC_B
1430 UINT64_C(24595), // ORI
1431 UINT64_C(1073766451), // ORN
1432 UINT64_C(3154116667), // PAADDU_B
1433 UINT64_C(3154141211), // PAADDU_DB
1434 UINT64_C(3087032347), // PAADDU_DH
1435 UINT64_C(3120586779), // PAADDU_DW
1436 UINT64_C(3087007803), // PAADDU_H
1437 UINT64_C(3120562235), // PAADDU_W
1438 UINT64_C(2617245755), // PAADD_B
1439 UINT64_C(2617270299), // PAADD_DB
1440 UINT64_C(2550161435), // PAADD_DH
1441 UINT64_C(2583715867), // PAADD_DW
1442 UINT64_C(2550136891), // PAADD_H
1443 UINT64_C(2583691323), // PAADD_W
1444 UINT64_C(2551242779), // PAAS_DHX
1445 UINT64_C(2550161467), // PAAS_HX
1446 UINT64_C(2583715899), // PAAS_WX
1447 UINT64_C(3154120763), // PABDSUMAU_B
1448 UINT64_C(3019903035), // PABDSUMU_B
1449 UINT64_C(3959423035), // PABDU_B
1450 UINT64_C(3959447579), // PABDU_DB
1451 UINT64_C(3892338715), // PABDU_DH
1452 UINT64_C(3892314171), // PABDU_H
1453 UINT64_C(3422552123), // PABD_B
1454 UINT64_C(3422576667), // PABD_DB
1455 UINT64_C(3355467803), // PABD_DH
1456 UINT64_C(3355443259), // PABD_H
1457 UINT64_C(134234163), // PACK
1458 UINT64_C(134246451), // PACKH
1459 UINT64_C(134234171), // PACKW
1460 UINT64_C(33554555), // PACKY
1461 UINT64_C(2214592571), // PADD_B
1462 UINT64_C(2617253915), // PADD_BS
1463 UINT64_C(2214617115), // PADD_DB
1464 UINT64_C(469786651), // PADD_DBS
1465 UINT64_C(2147508251), // PADD_DH
1466 UINT64_C(402677787), // PADD_DHS
1467 UINT64_C(2181062683), // PADD_DW
1468 UINT64_C(436232219), // PADD_DWS
1469 UINT64_C(2147483707), // PADD_H
1470 UINT64_C(2550145051), // PADD_HS
1471 UINT64_C(2181038139), // PADD_W
1472 UINT64_C(2583699483), // PADD_WS
1473 UINT64_C(2618351643), // PASA_DHX
1474 UINT64_C(2617270331), // PASA_HX
1475 UINT64_C(2650824763), // PASA_WX
1476 UINT64_C(4227858491), // PASUBU_B
1477 UINT64_C(4227883035), // PASUBU_DB
1478 UINT64_C(4160774171), // PASUBU_DH
1479 UINT64_C(4194328603), // PASUBU_DW
1480 UINT64_C(4160749627), // PASUBU_H
1481 UINT64_C(4194304059), // PASUBU_W
1482 UINT64_C(3690987579), // PASUB_B
1483 UINT64_C(3691012123), // PASUB_DB
1484 UINT64_C(3623903259), // PASUB_DH
1485 UINT64_C(3657457691), // PASUB_DW
1486 UINT64_C(3623878715), // PASUB_H
1487 UINT64_C(3657433147), // PASUB_W
1488 UINT64_C(2148589595), // PAS_DHX
1489 UINT64_C(2147508283), // PAS_HX
1490 UINT64_C(2181062715), // PAS_WX
1491 UINT64_C(3019907099), // PLI_B
1492 UINT64_C(872423451), // PLI_DB
1493 UINT64_C(805314587), // PLI_DH
1494 UINT64_C(2952798235), // PLI_H
1495 UINT64_C(2986352667), // PLI_W
1496 UINT64_C(1879056411), // PLUI_DH
1497 UINT64_C(4026540059), // PLUI_H
1498 UINT64_C(4060094491), // PLUI_W
1499 UINT64_C(3892334651), // PM2ADDASU_H
1500 UINT64_C(3925889083), // PM2ADDASU_W
1501 UINT64_C(2818592827), // PM2ADDAU_H
1502 UINT64_C(2852147259), // PM2ADDAU_W
1503 UINT64_C(2281721915), // PM2ADDA_H
1504 UINT64_C(2550157371), // PM2ADDA_HX
1505 UINT64_C(2315276347), // PM2ADDA_W
1506 UINT64_C(2583711803), // PM2ADDA_WX
1507 UINT64_C(3758116923), // PM2ADDSU_H
1508 UINT64_C(3791671355), // PM2ADDSU_W
1509 UINT64_C(2684375099), // PM2ADDU_H
1510 UINT64_C(2717929531), // PM2ADDU_W
1511 UINT64_C(2147504187), // PM2ADD_H
1512 UINT64_C(2415939643), // PM2ADD_HX
1513 UINT64_C(2181058619), // PM2ADD_W
1514 UINT64_C(2449494075), // PM2ADD_WX
1515 UINT64_C(3288354875), // PM2SADD_H
1516 UINT64_C(3556790331), // PM2SADD_HX
1517 UINT64_C(3355463739), // PM2SUBA_H
1518 UINT64_C(3623899195), // PM2SUBA_HX
1519 UINT64_C(3389018171), // PM2SUBA_W
1520 UINT64_C(3657453627), // PM2SUBA_WX
1521 UINT64_C(3221246011), // PM2SUB_H
1522 UINT64_C(3489681467), // PM2SUB_HX
1523 UINT64_C(3254800443), // PM2SUB_W
1524 UINT64_C(3523235899), // PM2SUB_WX
1525 UINT64_C(1845502107), // PM2WADDASU_H
1526 UINT64_C(771760283), // PM2WADDAU_H
1527 UINT64_C(234889371), // PM2WADDA_H
1528 UINT64_C(503324827), // PM2WADDA_HX
1529 UINT64_C(1711284379), // PM2WADDSU_H
1530 UINT64_C(637542555), // PM2WADDU_H
1531 UINT64_C(100671643), // PM2WADD_H
1532 UINT64_C(369107099), // PM2WADD_HX
1533 UINT64_C(1308631195), // PM2WSUBA_H
1534 UINT64_C(1577066651), // PM2WSUBA_HX
1535 UINT64_C(1174413467), // PM2WSUB_H
1536 UINT64_C(1442848923), // PM2WSUB_HX
1537 UINT64_C(3959443515), // PM4ADDASU_B
1538 UINT64_C(3992997947), // PM4ADDASU_H
1539 UINT64_C(2885701691), // PM4ADDAU_B
1540 UINT64_C(2919256123), // PM4ADDAU_H
1541 UINT64_C(2348830779), // PM4ADDA_B
1542 UINT64_C(2382385211), // PM4ADDA_H
1543 UINT64_C(3825225787), // PM4ADDSU_B
1544 UINT64_C(3858780219), // PM4ADDSU_H
1545 UINT64_C(2751483963), // PM4ADDU_B
1546 UINT64_C(2785038395), // PM4ADDU_H
1547 UINT64_C(2214613051), // PM4ADD_B
1548 UINT64_C(2248167483), // PM4ADD_H
1549 UINT64_C(3925880891), // PMACCSU_W_H00
1550 UINT64_C(4194316347), // PMACCSU_W_H11
1551 UINT64_C(2852139067), // PMACCU_W_H00
1552 UINT64_C(3120566331), // PMACCU_W_H01
1553 UINT64_C(3120574523), // PMACCU_W_H11
1554 UINT64_C(2315268155), // PMACC_W_H00
1555 UINT64_C(2583695419), // PMACC_W_H01
1556 UINT64_C(2583703611), // PMACC_W_H11
1557 UINT64_C(4227883067), // PMAXU_B
1558 UINT64_C(4228964379), // PMAXU_DB
1559 UINT64_C(4161855515), // PMAXU_DH
1560 UINT64_C(4195409947), // PMAXU_DW
1561 UINT64_C(4160774203), // PMAXU_H
1562 UINT64_C(4194328635), // PMAXU_W
1563 UINT64_C(4093665339), // PMAX_B
1564 UINT64_C(4094746651), // PMAX_DB
1565 UINT64_C(4027637787), // PMAX_DH
1566 UINT64_C(4061192219), // PMAX_DW
1567 UINT64_C(4026556475), // PMAX_H
1568 UINT64_C(4060110907), // PMAX_W
1569 UINT64_C(3355471931), // PMHACCSU_H
1570 UINT64_C(2885709883), // PMHACCSU_H_B0
1571 UINT64_C(3154145339), // PMHACCSU_H_B1
1572 UINT64_C(3389026363), // PMHACCSU_W
1573 UINT64_C(2919264315), // PMHACCSU_W_H0
1574 UINT64_C(3187699771), // PMHACCSU_W_H1
1575 UINT64_C(2550165563), // PMHACCU_H
1576 UINT64_C(2583719995), // PMHACCU_W
1577 UINT64_C(2281730107), // PMHACC_H
1578 UINT64_C(2818601019), // PMHACC_H_B0
1579 UINT64_C(3087036475), // PMHACC_H_B1
1580 UINT64_C(2315284539), // PMHACC_W
1581 UINT64_C(2852155451), // PMHACC_W_H0
1582 UINT64_C(3120590907), // PMHACC_W_H1
1583 UINT64_C(3422580795), // PMHRACCSU_H
1584 UINT64_C(3456135227), // PMHRACCSU_W
1585 UINT64_C(2617274427), // PMHRACCU_H
1586 UINT64_C(2650828859), // PMHRACCU_W
1587 UINT64_C(2348838971), // PMHRACC_H
1588 UINT64_C(2382393403), // PMHRACC_W
1589 UINT64_C(3959447611), // PMINU_B
1590 UINT64_C(3960528923), // PMINU_DB
1591 UINT64_C(3893420059), // PMINU_DH
1592 UINT64_C(3926974491), // PMINU_DW
1593 UINT64_C(3892338747), // PMINU_H
1594 UINT64_C(3925893179), // PMINU_W
1595 UINT64_C(3825229883), // PMIN_B
1596 UINT64_C(3826311195), // PMIN_DB
1597 UINT64_C(3759202331), // PMIN_DH
1598 UINT64_C(3792756763), // PMIN_DW
1599 UINT64_C(3758121019), // PMIN_H
1600 UINT64_C(3791675451), // PMIN_W
1601 UINT64_C(3087028283), // PMQ2ADDA_H
1602 UINT64_C(3120582715), // PMQ2ADDA_W
1603 UINT64_C(2952810555), // PMQ2ADD_H
1604 UINT64_C(2986364987), // PMQ2ADD_W
1605 UINT64_C(3892342843), // PMQACC_W_H00
1606 UINT64_C(4160770107), // PMQACC_W_H01
1607 UINT64_C(4160778299), // PMQACC_W_H11
1608 UINT64_C(3154137147), // PMQR2ADDA_H
1609 UINT64_C(3187691579), // PMQR2ADDA_W
1610 UINT64_C(3019919419), // PMQR2ADD_H
1611 UINT64_C(3053473851), // PMQR2ADD_W
1612 UINT64_C(3959451707), // PMQRACC_W_H00
1613 UINT64_C(4227878971), // PMQRACC_W_H01
1614 UINT64_C(4227887163), // PMQRACC_W_H11
1615 UINT64_C(2080383131), // PMQRWACC_H
1616 UINT64_C(2013274267), // PMQWACC_H
1617 UINT64_C(3288358971), // PMSEQ_B
1618 UINT64_C(3289440283), // PMSEQ_DB
1619 UINT64_C(3222331419), // PMSEQ_DH
1620 UINT64_C(3255885851), // PMSEQ_DW
1621 UINT64_C(3221250107), // PMSEQ_H
1622 UINT64_C(3254804539), // PMSEQ_W
1623 UINT64_C(3691012155), // PMSLTU_B
1624 UINT64_C(3692093467), // PMSLTU_DB
1625 UINT64_C(3624984603), // PMSLTU_DH
1626 UINT64_C(3658539035), // PMSLTU_DW
1627 UINT64_C(3623903291), // PMSLTU_H
1628 UINT64_C(3657457723), // PMSLTU_W
1629 UINT64_C(3556794427), // PMSLT_B
1630 UINT64_C(3557875739), // PMSLT_DB
1631 UINT64_C(3490766875), // PMSLT_DH
1632 UINT64_C(3524321307), // PMSLT_DW
1633 UINT64_C(3489685563), // PMSLT_H
1634 UINT64_C(3523239995), // PMSLT_W
1635 UINT64_C(3288363067), // PMULHRSU_H
1636 UINT64_C(3321917499), // PMULHRSU_W
1637 UINT64_C(2483056699), // PMULHRU_H
1638 UINT64_C(2516611131), // PMULHRU_W
1639 UINT64_C(2214621243), // PMULHR_H
1640 UINT64_C(2248175675), // PMULHR_W
1641 UINT64_C(3221254203), // PMULHSU_H
1642 UINT64_C(2751492155), // PMULHSU_H_B0
1643 UINT64_C(3019927611), // PMULHSU_H_B1
1644 UINT64_C(3254808635), // PMULHSU_W
1645 UINT64_C(2785046587), // PMULHSU_W_H0
1646 UINT64_C(3053482043), // PMULHSU_W_H1
1647 UINT64_C(2415947835), // PMULHU_H
1648 UINT64_C(2449502267), // PMULHU_W
1649 UINT64_C(2147512379), // PMULH_H
1650 UINT64_C(2684383291), // PMULH_H_B0
1651 UINT64_C(2952818747), // PMULH_H_B1
1652 UINT64_C(2181066811), // PMULH_W
1653 UINT64_C(2717937723), // PMULH_W_H0
1654 UINT64_C(2986373179), // PMULH_W_H1
1655 UINT64_C(3556798523), // PMULQR_H
1656 UINT64_C(3590352955), // PMULQR_W
1657 UINT64_C(3489689659), // PMULQ_H
1658 UINT64_C(3523244091), // PMULQ_W
1659 UINT64_C(3758108731), // PMULSU_H_B00
1660 UINT64_C(4026544187), // PMULSU_H_B11
1661 UINT64_C(3791663163), // PMULSU_W_H00
1662 UINT64_C(4060098619), // PMULSU_W_H11
1663 UINT64_C(2684366907), // PMULU_H_B00
1664 UINT64_C(2952794171), // PMULU_H_B01
1665 UINT64_C(2952802363), // PMULU_H_B11
1666 UINT64_C(2717921339), // PMULU_W_H00
1667 UINT64_C(2986348603), // PMULU_W_H01
1668 UINT64_C(2986356795), // PMULU_W_H11
1669 UINT64_C(2147495995), // PMUL_H_B00
1670 UINT64_C(2415923259), // PMUL_H_B01
1671 UINT64_C(2415931451), // PMUL_H_B11
1672 UINT64_C(2181050427), // PMUL_W_H00
1673 UINT64_C(2449477691), // PMUL_W_H01
1674 UINT64_C(2449485883), // PMUL_W_H11
1675 UINT64_C(553697307), // PNCLIPIU_B
1676 UINT64_C(570474523), // PNCLIPIU_H
1677 UINT64_C(1627439131), // PNCLIPI_B
1678 UINT64_C(1644216347), // PNCLIPI_H
1679 UINT64_C(3221233723), // PNCLIPP_B
1680 UINT64_C(3254788155), // PNCLIPP_H
1681 UINT64_C(3321897019), // PNCLIPP_W
1682 UINT64_C(822132763), // PNCLIPRIU_B
1683 UINT64_C(838909979), // PNCLIPRIU_H
1684 UINT64_C(1895874587), // PNCLIPRI_B
1685 UINT64_C(1912651803), // PNCLIPRI_H
1686 UINT64_C(939573275), // PNCLIPRU_BS
1687 UINT64_C(973127707), // PNCLIPRU_HS
1688 UINT64_C(2013315099), // PNCLIPR_BS
1689 UINT64_C(2046869531), // PNCLIPR_HS
1690 UINT64_C(2147491899), // PNCLIPUP_B
1691 UINT64_C(2181046331), // PNCLIPUP_H
1692 UINT64_C(2248155195), // PNCLIPUP_W
1693 UINT64_C(671137819), // PNCLIPU_BS
1694 UINT64_C(704692251), // PNCLIPU_HS
1695 UINT64_C(1744879643), // PNCLIP_BS
1696 UINT64_C(1778434075), // PNCLIP_HS
1697 UINT64_C(1090568219), // PNSRAI_B
1698 UINT64_C(1107345435), // PNSRAI_H
1699 UINT64_C(1359003675), // PNSRARI_B
1700 UINT64_C(1375780891), // PNSRARI_H
1701 UINT64_C(1476444187), // PNSRAR_BS
1702 UINT64_C(1509998619), // PNSRAR_HS
1703 UINT64_C(1208008731), // PNSRA_BS
1704 UINT64_C(1241563163), // PNSRA_HS
1705 UINT64_C(16826395), // PNSRLI_B
1706 UINT64_C(33603611), // PNSRLI_H
1707 UINT64_C(134266907), // PNSRL_BS
1708 UINT64_C(167821339), // PNSRL_HS
1709 UINT64_C(2415935547), // PPAIREO_B
1710 UINT64_C(2415976475), // PPAIREO_DB
1711 UINT64_C(2449530907), // PPAIREO_DH
1712 UINT64_C(2449489979), // PPAIREO_H
1713 UINT64_C(2516598843), // PPAIREO_W
1714 UINT64_C(2147500091), // PPAIRE_B
1715 UINT64_C(2147541019), // PPAIRE_DB
1716 UINT64_C(2181095451), // PPAIRE_DH
1717 UINT64_C(2181054523), // PPAIRE_H
1718 UINT64_C(2684371003), // PPAIROE_B
1719 UINT64_C(2684411931), // PPAIROE_DB
1720 UINT64_C(2717966363), // PPAIROE_DH
1721 UINT64_C(2717925435), // PPAIROE_H
1722 UINT64_C(2785034299), // PPAIROE_W
1723 UINT64_C(2952806459), // PPAIRO_B
1724 UINT64_C(2952847387), // PPAIRO_DB
1725 UINT64_C(2986401819), // PPAIRO_DH
1726 UINT64_C(2986360891), // PPAIRO_H
1727 UINT64_C(3053469755), // PPAIRO_W
1728 UINT64_C(3154133019), // PREDSUMU_BS
1729 UINT64_C(1006649371), // PREDSUMU_DBS
1730 UINT64_C(939540507), // PREDSUMU_DHS
1731 UINT64_C(3087024155), // PREDSUMU_HS
1732 UINT64_C(3120578587), // PREDSUMU_WS
1733 UINT64_C(2617262107), // PREDSUM_BS
1734 UINT64_C(469778459), // PREDSUM_DBS
1735 UINT64_C(402669595), // PREDSUM_DHS
1736 UINT64_C(2550153243), // PREDSUM_HS
1737 UINT64_C(2583707675), // PREDSUM_WS
1738 UINT64_C(24595), // PREFETCH_I
1739 UINT64_C(1073171), // PREFETCH_R
1740 UINT64_C(3170323), // PREFETCH_W
1741 UINT64_C(3832553499), // PSABS_B
1742 UINT64_C(1685086235), // PSABS_DB
1743 UINT64_C(1617977371), // PSABS_DH
1744 UINT64_C(3765444635), // PSABS_H
1745 UINT64_C(3019898939), // PSADDU_B
1746 UINT64_C(3019923483), // PSADDU_DB
1747 UINT64_C(2952814619), // PSADDU_DH
1748 UINT64_C(2986369051), // PSADDU_DW
1749 UINT64_C(2952790075), // PSADDU_H
1750 UINT64_C(2986344507), // PSADDU_W
1751 UINT64_C(2483028027), // PSADD_B
1752 UINT64_C(2483052571), // PSADD_DB
1753 UINT64_C(2415943707), // PSADD_DH
1754 UINT64_C(2449498139), // PSADD_DW
1755 UINT64_C(2415919163), // PSADD_H
1756 UINT64_C(2449473595), // PSADD_W
1757 UINT64_C(2417025051), // PSAS_DHX
1758 UINT64_C(2415943739), // PSAS_HX
1759 UINT64_C(2449498171), // PSAS_WX
1760 UINT64_C(1627447323), // PSATI_DH
1761 UINT64_C(1644224539), // PSATI_DW
1762 UINT64_C(3774890011), // PSATI_H
1763 UINT64_C(3791667227), // PSATI_W
1764 UINT64_C(2215698459), // PSA_DHX
1765 UINT64_C(2214617147), // PSA_HX
1766 UINT64_C(2248171579), // PSA_WX
1767 UINT64_C(1614831643), // PSEXT_DH_B
1768 UINT64_C(1648386075), // PSEXT_DW_B
1769 UINT64_C(1649434651), // PSEXT_DW_H
1770 UINT64_C(3762298907), // PSEXT_H_B
1771 UINT64_C(3795853339), // PSEXT_W_B
1772 UINT64_C(3796901915), // PSEXT_W_H
1773 UINT64_C(2685427739), // PSH1ADD_DH
1774 UINT64_C(2718982171), // PSH1ADD_DW
1775 UINT64_C(2684362811), // PSH1ADD_H
1776 UINT64_C(2717917243), // PSH1ADD_W
1777 UINT64_C(2155880475), // PSLLI_B
1778 UINT64_C(8413211), // PSLLI_DB
1779 UINT64_C(16801819), // PSLLI_DH
1780 UINT64_C(33579035), // PSLLI_DW
1781 UINT64_C(2164269083), // PSLLI_H
1782 UINT64_C(2181046299), // PSLLI_W
1783 UINT64_C(2348818459), // PSLL_BS
1784 UINT64_C(201351195), // PSLL_DBS
1785 UINT64_C(134242331), // PSLL_DHS
1786 UINT64_C(167796763), // PSLL_DWS
1787 UINT64_C(2281709595), // PSLL_HS
1788 UINT64_C(2315264027), // PSLL_WS
1789 UINT64_C(3229630491), // PSRAI_B
1790 UINT64_C(1082187803), // PSRAI_DB
1791 UINT64_C(1090576411), // PSRAI_DH
1792 UINT64_C(1107353627), // PSRAI_DW
1793 UINT64_C(3238019099), // PSRAI_H
1794 UINT64_C(3254796315), // PSRAI_W
1795 UINT64_C(1359011867), // PSRARI_DH
1796 UINT64_C(1375789083), // PSRARI_DW
1797 UINT64_C(3506454555), // PSRARI_H
1798 UINT64_C(3523231771), // PSRARI_W
1799 UINT64_C(3422568475), // PSRA_BS
1800 UINT64_C(1275125787), // PSRA_DBS
1801 UINT64_C(1208016923), // PSRA_DHS
1802 UINT64_C(1241571355), // PSRA_DWS
1803 UINT64_C(3355459611), // PSRA_HS
1804 UINT64_C(3389014043), // PSRA_WS
1805 UINT64_C(2155888667), // PSRLI_B
1806 UINT64_C(8445979), // PSRLI_DB
1807 UINT64_C(16834587), // PSRLI_DH
1808 UINT64_C(33611803), // PSRLI_DW
1809 UINT64_C(2164277275), // PSRLI_H
1810 UINT64_C(2181054491), // PSRLI_W
1811 UINT64_C(2348826651), // PSRL_BS
1812 UINT64_C(201383963), // PSRL_DBS
1813 UINT64_C(134275099), // PSRL_DHS
1814 UINT64_C(167829531), // PSRL_DWS
1815 UINT64_C(2281717787), // PSRL_HS
1816 UINT64_C(2315272219), // PSRL_WS
1817 UINT64_C(2484133915), // PSSA_DHX
1818 UINT64_C(2483052603), // PSSA_HX
1819 UINT64_C(2516607035), // PSSA_WX
1820 UINT64_C(2953863195), // PSSH1SADD_DH
1821 UINT64_C(2987417627), // PSSH1SADD_DW
1822 UINT64_C(2952798267), // PSSH1SADD_H
1823 UINT64_C(2986352699), // PSSH1SADD_W
1824 UINT64_C(2013290523), // PSSHAR_DHS
1825 UINT64_C(2046844955), // PSSHAR_DWS
1826 UINT64_C(4160757787), // PSSHAR_HS
1827 UINT64_C(4194312219), // PSSHAR_WS
1828 UINT64_C(1744855067), // PSSHA_DHS
1829 UINT64_C(1778409499), // PSSHA_DWS
1830 UINT64_C(3892322331), // PSSHA_HS
1831 UINT64_C(3925876763), // PSSHA_WS
1832 UINT64_C(939548699), // PSSHLR_DHS
1833 UINT64_C(973103131), // PSSHLR_DWS
1834 UINT64_C(3087015963), // PSSHLR_HS
1835 UINT64_C(3120570395), // PSSHLR_WS
1836 UINT64_C(671113243), // PSSHL_DHS
1837 UINT64_C(704667675), // PSSHL_DWS
1838 UINT64_C(2818580507), // PSSHL_HS
1839 UINT64_C(2852134939), // PSSHL_WS
1840 UINT64_C(1358979099), // PSSLAI_DH
1841 UINT64_C(1375756315), // PSSLAI_DW
1842 UINT64_C(3506446363), // PSSLAI_H
1843 UINT64_C(3523223579), // PSSLAI_W
1844 UINT64_C(4093640763), // PSSUBU_B
1845 UINT64_C(4093665307), // PSSUBU_DB
1846 UINT64_C(4026556443), // PSSUBU_DH
1847 UINT64_C(4060110875), // PSSUBU_DW
1848 UINT64_C(4026531899), // PSSUBU_H
1849 UINT64_C(4060086331), // PSSUBU_W
1850 UINT64_C(3556769851), // PSSUB_B
1851 UINT64_C(3556794395), // PSSUB_DB
1852 UINT64_C(3489685531), // PSSUB_DH
1853 UINT64_C(3523239963), // PSSUB_DW
1854 UINT64_C(3489660987), // PSSUB_H
1855 UINT64_C(3523215419), // PSSUB_W
1856 UINT64_C(3288334395), // PSUB_B
1857 UINT64_C(3288358939), // PSUB_DB
1858 UINT64_C(3221250075), // PSUB_DH
1859 UINT64_C(3254804507), // PSUB_DW
1860 UINT64_C(3221225531), // PSUB_H
1861 UINT64_C(3254779963), // PSUB_W
1862 UINT64_C(553705499), // PUSATI_DH
1863 UINT64_C(570482715), // PUSATI_DW
1864 UINT64_C(2701148187), // PUSATI_H
1865 UINT64_C(2717925403), // PUSATI_W
1866 UINT64_C(469770395), // PWADDAU_B
1867 UINT64_C(402661531), // PWADDAU_H
1868 UINT64_C(201334939), // PWADDA_B
1869 UINT64_C(134226075), // PWADDA_H
1870 UINT64_C(335552667), // PWADDU_B
1871 UINT64_C(268443803), // PWADDU_H
1872 UINT64_C(67117211), // PWADD_B
1873 UINT64_C(8347), // PWADD_H
1874 UINT64_C(1744838811), // PWMACCSU_H
1875 UINT64_C(939532443), // PWMACCU_H
1876 UINT64_C(671096987), // PWMACC_H
1877 UINT64_C(1677729947), // PWMULSU_B
1878 UINT64_C(1610621083), // PWMULSU_H
1879 UINT64_C(872423579), // PWMULU_B
1880 UINT64_C(805314715), // PWMULU_H
1881 UINT64_C(603988123), // PWMUL_B
1882 UINT64_C(536879259), // PWMUL_H
1883 UINT64_C(1090527259), // PWSLAI_B
1884 UINT64_C(1107304475), // PWSLAI_H
1885 UINT64_C(1207967771), // PWSLA_BS
1886 UINT64_C(1241522203), // PWSLA_HS
1887 UINT64_C(16785435), // PWSLLI_B
1888 UINT64_C(33562651), // PWSLLI_H
1889 UINT64_C(134225947), // PWSLL_BS
1890 UINT64_C(167780379), // PWSLL_HS
1891 UINT64_C(1543512219), // PWSUBAU_B
1892 UINT64_C(1476403355), // PWSUBAU_H
1893 UINT64_C(1275076763), // PWSUBA_B
1894 UINT64_C(1207967899), // PWSUBA_H
1895 UINT64_C(1409294491), // PWSUBU_B
1896 UINT64_C(1342185627), // PWSUBU_H
1897 UINT64_C(1140859035), // PWSUB_B
1898 UINT64_C(1073750171), // PWSUB_H
1899 UINT64_C(469774347), // QC_ADDSAT
1900 UINT64_C(503328779), // QC_ADDUSAT
1901 UINT64_C(123), // QC_BEQI
1902 UINT64_C(20603), // QC_BGEI
1903 UINT64_C(28795), // QC_BGEUI
1904 UINT64_C(16507), // QC_BLTI
1905 UINT64_C(24699), // QC_BLTUI
1906 UINT64_C(4219), // QC_BNEI
1907 UINT64_C(201338891), // QC_BREV32
1908 UINT64_C(134230027), // QC_CLO
1909 UINT64_C(3456106611), // QC_CLRINTI
1910 UINT64_C(40962), // QC_CM_JALT
1911 UINT64_C(40962), // QC_CM_JT
1912 UINT64_C(44130), // QC_CM_MVA01S
1913 UINT64_C(44066), // QC_CM_MVSA01
1914 UINT64_C(47618), // QC_CM_POP
1915 UINT64_C(48642), // QC_CM_POPRET
1916 UINT64_C(48130), // QC_CM_POPRETZ
1917 UINT64_C(47106), // QC_CM_PUSH
1918 UINT64_C(47362), // QC_CM_PUSHFP
1919 UINT64_C(12299), // QC_COMPRESS2
1920 UINT64_C(33566731), // QC_COMPRESS3
1921 UINT64_C(2348810355), // QC_CSRRWR
1922 UINT64_C(2382364787), // QC_CSRRWRI
1923 UINT64_C(167784459), // QC_CTO
1924 UINT64_C(36865), // QC_C_BEXTI
1925 UINT64_C(37889), // QC_C_BSETI
1926 UINT64_C(4110), // QC_C_CLRINT
1927 UINT64_C(6930), // QC_C_DI
1928 UINT64_C(4098), // QC_C_DIR
1929 UINT64_C(7058), // QC_C_EI
1930 UINT64_C(4102), // QC_C_EIR
1931 UINT64_C(4098), // QC_C_EXTU
1932 UINT64_C(6162), // QC_C_MIENTER
1933 UINT64_C(6290), // QC_C_MIENTER_NEST
1934 UINT64_C(6674), // QC_C_MILEAVERET
1935 UINT64_C(6546), // QC_C_MNRET
1936 UINT64_C(6418), // QC_C_MRET
1937 UINT64_C(8194), // QC_C_MULIADD
1938 UINT64_C(44034), // QC_C_MVEQZ
1939 UINT64_C(4106), // QC_C_SETINT
1940 UINT64_C(32769), // QC_C_SYNC
1941 UINT64_C(33793), // QC_C_SYNCR
1942 UINT64_C(36865), // QC_C_SYNCWF
1943 UINT64_C(37889), // QC_C_SYNCWL
1944 UINT64_C(67121163), // QC_EXPAND2
1945 UINT64_C(100675595), // QC_EXPAND3
1946 UINT64_C(1073750027), // QC_EXT
1947 UINT64_C(3221233675), // QC_EXTD
1948 UINT64_C(268447755), // QC_EXTDPR
1949 UINT64_C(302002187), // QC_EXTDPRH
1950 UINT64_C(167784459), // QC_EXTDR
1951 UINT64_C(2147491851), // QC_EXTDU
1952 UINT64_C(201338891), // QC_EXTDUPR
1953 UINT64_C(234893323), // QC_EXTDUPRH
1954 UINT64_C(134230027), // QC_EXTDUR
1955 UINT64_C(8203), // QC_EXTU
1956 UINT64_C(8223), // QC_E_ADDAI
1957 UINT64_C(2147495967), // QC_E_ADDI
1958 UINT64_C(40991), // QC_E_ANDAI
1959 UINT64_C(3221237791), // QC_E_ANDI
1960 UINT64_C(25182239), // QC_E_BEQI
1961 UINT64_C(30425119), // QC_E_BGEI
1962 UINT64_C(32522271), // QC_E_BGEUI
1963 UINT64_C(29376543), // QC_E_BLTI
1964 UINT64_C(31473695), // QC_E_BLTUI
1965 UINT64_C(26230815), // QC_E_BNEI
1966 UINT64_C(16415), // QC_E_J
1967 UINT64_C(49183), // QC_E_JAL
1968 UINT64_C(20511), // QC_E_LB
1969 UINT64_C(1073762335), // QC_E_LBU
1970 UINT64_C(2147504159), // QC_E_LH
1971 UINT64_C(3221245983), // QC_E_LHU
1972 UINT64_C(31), // QC_E_LI
1973 UINT64_C(24607), // QC_E_LW
1974 UINT64_C(36895), // QC_E_ORAI
1975 UINT64_C(1073754143), // QC_E_ORI
1976 UINT64_C(1073766431), // QC_E_SB
1977 UINT64_C(2147508255), // QC_E_SH
1978 UINT64_C(3221250079), // QC_E_SW
1979 UINT64_C(4127), // QC_E_XORAI
1980 UINT64_C(12319), // QC_E_XORI
1981 UINT64_C(1073745931), // QC_INSB
1982 UINT64_C(2147487755), // QC_INSBH
1983 UINT64_C(33566731), // QC_INSBHR
1984 UINT64_C(4107), // QC_INSBI
1985 UINT64_C(67121163), // QC_INSBPR
1986 UINT64_C(100675595), // QC_INSBPRH
1987 UINT64_C(12299), // QC_INSBR
1988 UINT64_C(2147483659), // QC_INSBRI
1989 UINT64_C(20491), // QC_INW
1990 UINT64_C(27), // QC_LI
1991 UINT64_C(33554523), // QC_LIEQ
1992 UINT64_C(100663387), // QC_LIEQI
1993 UINT64_C(33575003), // QC_LIGE
1994 UINT64_C(100683867), // QC_LIGEI
1995 UINT64_C(33583195), // QC_LIGEU
1996 UINT64_C(100692059), // QC_LIGEUI
1997 UINT64_C(33570907), // QC_LILT
1998 UINT64_C(100679771), // QC_LILTI
1999 UINT64_C(33579099), // QC_LILTU
2000 UINT64_C(100687963), // QC_LILTUI
2001 UINT64_C(33558619), // QC_LINE
2002 UINT64_C(100667483), // QC_LINEI
2003 UINT64_C(2147512331), // QC_LRB
2004 UINT64_C(2952818699), // QC_LRBU
2005 UINT64_C(2415947787), // QC_LRH
2006 UINT64_C(3221254155), // QC_LRHU
2007 UINT64_C(2684383243), // QC_LRW
2008 UINT64_C(28683), // QC_LWM
2009 UINT64_C(1073770507), // QC_LWMI
2010 UINT64_C(24587), // QC_MULIADD
2011 UINT64_C(91), // QC_MVEQ
2012 UINT64_C(67108955), // QC_MVEQI
2013 UINT64_C(20571), // QC_MVGE
2014 UINT64_C(67129435), // QC_MVGEI
2015 UINT64_C(28763), // QC_MVGEU
2016 UINT64_C(67137627), // QC_MVGEUI
2017 UINT64_C(16475), // QC_MVLT
2018 UINT64_C(67125339), // QC_MVLTI
2019 UINT64_C(24667), // QC_MVLTU
2020 UINT64_C(67133531), // QC_MVLTUI
2021 UINT64_C(4187), // QC_MVNE
2022 UINT64_C(67113051), // QC_MVNEI
2023 UINT64_C(234893323), // QC_NORM
2024 UINT64_C(302002187), // QC_NORMEU
2025 UINT64_C(268447755), // QC_NORMU
2026 UINT64_C(16395), // QC_OUTW
2027 UINT64_C(1073750035), // QC_PPUTCI
2028 UINT64_C(67117147), // QC_SELECTEQI
2029 UINT64_C(33562715), // QC_SELECTIEQ
2030 UINT64_C(100671579), // QC_SELECTIEQI
2031 UINT64_C(8283), // QC_SELECTIIEQ
2032 UINT64_C(12379), // QC_SELECTIINE
2033 UINT64_C(33566811), // QC_SELECTINE
2034 UINT64_C(100675675), // QC_SELECTINEI
2035 UINT64_C(67121243), // QC_SELECTNEI
2036 UINT64_C(3422552179), // QC_SETINTI
2037 UINT64_C(2147512363), // QC_SETWM
2038 UINT64_C(3221254187), // QC_SETWMI
2039 UINT64_C(1073754123), // QC_SHLADD
2040 UINT64_C(335556619), // QC_SHLSAT
2041 UINT64_C(402665483), // QC_SHLUSAT
2042 UINT64_C(3489685547), // QC_SRB
2043 UINT64_C(3758121003), // QC_SRH
2044 UINT64_C(4026556459), // QC_SRW
2045 UINT64_C(536883211), // QC_SUBSAT
2046 UINT64_C(570437643), // QC_SUBUSAT
2047 UINT64_C(28715), // QC_SWM
2048 UINT64_C(1073770539), // QC_SWMI
2049 UINT64_C(268447763), // QC_SYNC
2050 UINT64_C(536883219), // QC_SYNCR
2051 UINT64_C(1073754131), // QC_SYNCWF
2052 UINT64_C(2147495955), // QC_SYNCWL
2053 UINT64_C(603992075), // QC_WRAP
2054 UINT64_C(11), // QC_WRAPI
2055 UINT64_C(8192), // QK_C_LBU
2056 UINT64_C(32768), // QK_C_LBUSP
2057 UINT64_C(8194), // QK_C_LHU
2058 UINT64_C(32800), // QK_C_LHUSP
2059 UINT64_C(40960), // QK_C_SB
2060 UINT64_C(32832), // QK_C_SBSP
2061 UINT64_C(40962), // QK_C_SH
2062 UINT64_C(32864), // QK_C_SHSP
2063 UINT64_C(33579059), // REM
2064 UINT64_C(33583155), // REMU
2065 UINT64_C(33583163), // REMUW
2066 UINT64_C(33579067), // REMW
2067 UINT64_C(1795182611), // REV16_RV64
2068 UINT64_C(1770016787), // REV8_RV32
2069 UINT64_C(1803571219), // REV8_RV64
2070 UINT64_C(1777356819), // REV_RV32
2071 UINT64_C(1810911251), // REV_RV64
2072 UINT64_C(1610616883), // ROL
2073 UINT64_C(1610616891), // ROLW
2074 UINT64_C(1610633267), // ROR
2075 UINT64_C(1610633235), // RORI
2076 UINT64_C(1610633243), // RORIW
2077 UINT64_C(1610633275), // RORW
2078 UINT64_C(2449473595), // SADD
2079 UINT64_C(2986344507), // SADDU
2080 UINT64_C(3791667227), // SATI_RV32
2081 UINT64_C(3825221659), // SATI_RV64
2082 UINT64_C(35), // SB
2083 UINT64_C(1040187439), // SB_AQRL
2084 UINT64_C(973078575), // SB_RL
2085 UINT64_C(281018483), // SCSPSPOP
2086 UINT64_C(277872755), // SCSPSPUSH
2087 UINT64_C(272629875), // SCTRCLR
2088 UINT64_C(402665519), // SC_D
2089 UINT64_C(469774383), // SC_D_AQ
2090 UINT64_C(503328815), // SC_D_AQRL
2091 UINT64_C(436219951), // SC_D_RL
2092 UINT64_C(402661423), // SC_W
2093 UINT64_C(469770287), // SC_W_AQ
2094 UINT64_C(503324719), // SC_W_AQRL
2095 UINT64_C(436215855), // SC_W_RL
2096 UINT64_C(12323), // SD
2097 UINT64_C(1040199727), // SD_AQRL
2098 UINT64_C(973090863), // SD_RL
2099 UINT64_C(12323), // SD_RV32
2100 UINT64_C(1614811155), // SEXT_B
2101 UINT64_C(1615859731), // SEXT_H
2102 UINT64_C(403701875), // SFENCE_INVAL_IR
2103 UINT64_C(301990003), // SFENCE_VMA
2104 UINT64_C(402653299), // SFENCE_W_INVAL
2105 UINT64_C(4229955699), // SF_CDISCARD_D_L1
2106 UINT64_C(810549363), // SF_CEASE
2107 UINT64_C(4227858547), // SF_CFLUSH_D_L1
2108 UINT64_C(4261417207), // SF_MM_E4M3_E4M3
2109 UINT64_C(4261417079), // SF_MM_E4M3_E5M2
2110 UINT64_C(4194308343), // SF_MM_E5M2_E4M3
2111 UINT64_C(4194308215), // SF_MM_E5M2_E5M2
2112 UINT64_C(4060090487), // SF_MM_F_F
2113 UINT64_C(4127195383), // SF_MM_S_S
2114 UINT64_C(4127195255), // SF_MM_S_U
2115 UINT64_C(4060086519), // SF_MM_U_S
2116 UINT64_C(4060086391), // SF_MM_U_U
2117 UINT64_C(704663643), // SF_VC_FV
2118 UINT64_C(2852147291), // SF_VC_FVV
2119 UINT64_C(4194324571), // SF_VC_FVW
2120 UINT64_C(33566811), // SF_VC_I
2121 UINT64_C(570437723), // SF_VC_IV
2122 UINT64_C(2717921371), // SF_VC_IVV
2123 UINT64_C(4060098651), // SF_VC_IVW
2124 UINT64_C(570425435), // SF_VC_VV
2125 UINT64_C(2717909083), // SF_VC_VVV
2126 UINT64_C(4060086363), // SF_VC_VVW
2127 UINT64_C(671109211), // SF_VC_V_FV
2128 UINT64_C(2818592859), // SF_VC_V_FVV
2129 UINT64_C(4160770139), // SF_VC_V_FVW
2130 UINT64_C(12379), // SF_VC_V_I
2131 UINT64_C(536883291), // SF_VC_V_IV
2132 UINT64_C(2684366939), // SF_VC_V_IVV
2133 UINT64_C(4026544219), // SF_VC_V_IVW
2134 UINT64_C(536871003), // SF_VC_V_VV
2135 UINT64_C(2684354651), // SF_VC_V_VVV
2136 UINT64_C(4026531931), // SF_VC_V_VVW
2137 UINT64_C(16475), // SF_VC_V_X
2138 UINT64_C(536887387), // SF_VC_V_XV
2139 UINT64_C(2684371035), // SF_VC_V_XVV
2140 UINT64_C(4026548315), // SF_VC_V_XVW
2141 UINT64_C(33570907), // SF_VC_X
2142 UINT64_C(570441819), // SF_VC_XV
2143 UINT64_C(2717925467), // SF_VC_XVV
2144 UINT64_C(4060102747), // SF_VC_XVW
2145 UINT64_C(1275269207), // SF_VFEXPA_V
2146 UINT64_C(1275301975), // SF_VFEXP_V
2147 UINT64_C(2281721947), // SF_VFNRCLIP_XU_F_QF
2148 UINT64_C(2348830811), // SF_VFNRCLIP_X_F_QF
2149 UINT64_C(4060090459), // SF_VFWMACC_4x4x4
2150 UINT64_C(838889479), // SF_VLTE16
2151 UINT64_C(1375760391), // SF_VLTE32
2152 UINT64_C(1912631303), // SF_VLTE64
2153 UINT64_C(302018567), // SF_VLTE8
2154 UINT64_C(3187679323), // SF_VQMACCSU_2x8x2
2155 UINT64_C(4261421147), // SF_VQMACCSU_4x8x4
2156 UINT64_C(3120570459), // SF_VQMACCUS_2x8x2
2157 UINT64_C(4194312283), // SF_VQMACCUS_4x8x4
2158 UINT64_C(2986352731), // SF_VQMACCU_2x8x2
2159 UINT64_C(4060094555), // SF_VQMACCU_4x8x4
2160 UINT64_C(3053461595), // SF_VQMACC_2x8x2
2161 UINT64_C(4127203419), // SF_VQMACC_4x8x4
2162 UINT64_C(2216718423), // SF_VSETTK
2163 UINT64_C(2215669847), // SF_VSETTM
2164 UINT64_C(2214621271), // SF_VSETTN
2165 UINT64_C(838889511), // SF_VSTE16
2166 UINT64_C(1375760423), // SF_VSTE32
2167 UINT64_C(1912631335), // SF_VSTE64
2168 UINT64_C(302018599), // SF_VSTE8
2169 UINT64_C(1136681047), // SF_VTDISCARD
2170 UINT64_C(1577082967), // SF_VTMV_T_V
2171 UINT64_C(1139826775), // SF_VTMV_V_T
2172 UINT64_C(1138778199), // SF_VTZERO_T
2173 UINT64_C(4131), // SH
2174 UINT64_C(536879155), // SH1ADD
2175 UINT64_C(536879163), // SH1ADD_UW
2176 UINT64_C(536887347), // SH2ADD
2177 UINT64_C(536887355), // SH2ADD_UW
2178 UINT64_C(536895539), // SH3ADD
2179 UINT64_C(536895547), // SH3ADD_UW
2180 UINT64_C(3992985627), // SHA
2181 UINT64_C(270536723), // SHA256SIG0
2182 UINT64_C(271585299), // SHA256SIG1
2183 UINT64_C(268439571), // SHA256SUM0
2184 UINT64_C(269488147), // SHA256SUM1
2185 UINT64_C(274731027), // SHA512SIG0
2186 UINT64_C(1543503923), // SHA512SIG0H
2187 UINT64_C(1409286195), // SHA512SIG0L
2188 UINT64_C(275779603), // SHA512SIG1
2189 UINT64_C(1577058355), // SHA512SIG1H
2190 UINT64_C(1442840627), // SHA512SIG1L
2191 UINT64_C(272633875), // SHA512SUM0
2192 UINT64_C(1342177331), // SHA512SUM0R
2193 UINT64_C(273682451), // SHA512SUM1
2194 UINT64_C(1375731763), // SHA512SUM1R
2195 UINT64_C(4261421083), // SHAR
2196 UINT64_C(2919243803), // SHL
2197 UINT64_C(3187679259), // SHLR
2198 UINT64_C(1040191535), // SH_AQRL
2199 UINT64_C(4131), // SH_INX
2200 UINT64_C(973082671), // SH_RL
2201 UINT64_C(369098867), // SINVAL_VMA
2202 UINT64_C(276824179), // SIPOPRET
2203 UINT64_C(4147), // SLL
2204 UINT64_C(4115), // SLLI
2205 UINT64_C(4123), // SLLIW
2206 UINT64_C(134221851), // SLLI_UW
2207 UINT64_C(4155), // SLLW
2208 UINT64_C(8243), // SLT
2209 UINT64_C(8211), // SLTI
2210 UINT64_C(12307), // SLTIU
2211 UINT64_C(12339), // SLTU
2212 UINT64_C(2382368827), // SLX
2213 UINT64_C(276828179), // SM3P0
2214 UINT64_C(277876755), // SM3P1
2215 UINT64_C(805306419), // SM4ED
2216 UINT64_C(872415283), // SM4KS
2217 UINT64_C(3791663147), // SMT_VMADOT
2218 UINT64_C(3858772011), // SMT_VMADOT1
2219 UINT64_C(3858767915), // SMT_VMADOT1SU
2220 UINT64_C(3858759723), // SMT_VMADOT1U
2221 UINT64_C(3858763819), // SMT_VMADOT1US
2222 UINT64_C(3858788395), // SMT_VMADOT2
2223 UINT64_C(3858784299), // SMT_VMADOT2SU
2224 UINT64_C(3858776107), // SMT_VMADOT2U
2225 UINT64_C(3858780203), // SMT_VMADOT2US
2226 UINT64_C(3858804779), // SMT_VMADOT3
2227 UINT64_C(3858800683), // SMT_VMADOT3SU
2228 UINT64_C(3858792491), // SMT_VMADOT3U
2229 UINT64_C(3858796587), // SMT_VMADOT3US
2230 UINT64_C(3791659051), // SMT_VMADOTSU
2231 UINT64_C(3791650859), // SMT_VMADOTU
2232 UINT64_C(3791654955), // SMT_VMADOTUS
2233 UINT64_C(1073762355), // SRA
2234 UINT64_C(1073762323), // SRAI
2235 UINT64_C(1073762331), // SRAIW
2236 UINT64_C(3523231771), // SRARI_RV32
2237 UINT64_C(3556786203), // SRARI_RV64
2238 UINT64_C(1073762363), // SRAW
2239 UINT64_C(270532723), // SRET
2240 UINT64_C(20531), // SRL
2241 UINT64_C(20499), // SRLI
2242 UINT64_C(20507), // SRLIW
2243 UINT64_C(20603), // SRLIY
2244 UINT64_C(20539), // SRLW
2245 UINT64_C(2919239739), // SRX
2246 UINT64_C(1207971887), // SSAMOSWAP_D
2247 UINT64_C(1275080751), // SSAMOSWAP_D_AQ
2248 UINT64_C(1308635183), // SSAMOSWAP_D_AQRL
2249 UINT64_C(1241526319), // SSAMOSWAP_D_RL
2250 UINT64_C(1207967791), // SSAMOSWAP_W
2251 UINT64_C(1275076655), // SSAMOSWAP_W_AQ
2252 UINT64_C(1308631087), // SSAMOSWAP_W_AQRL
2253 UINT64_C(1241522223), // SSAMOSWAP_W_RL
2254 UINT64_C(2986352699), // SSH1SADD
2255 UINT64_C(3925876763), // SSHA
2256 UINT64_C(4194312219), // SSHAR
2257 UINT64_C(2852134939), // SSHL
2258 UINT64_C(3120570395), // SSHLR
2259 UINT64_C(3523223579), // SSLAI
2260 UINT64_C(3451928691), // SSPOPCHK
2261 UINT64_C(3456122995), // SSPUSH
2262 UINT64_C(3451928691), // SSRDP
2263 UINT64_C(3523215419), // SSUB
2264 UINT64_C(4060086331), // SSUBU
2265 UINT64_C(1073741875), // SUB
2266 UINT64_C(3321913371), // SUBD
2267 UINT64_C(1073741883), // SUBW
2268 UINT64_C(8227), // SW
2269 UINT64_C(1040195631), // SW_AQRL
2270 UINT64_C(8227), // SW_INX
2271 UINT64_C(973086767), // SW_RL
2272 UINT64_C(4107), // TH_ADDSL
2273 UINT64_C(1048587), // TH_DCACHE_CALL
2274 UINT64_C(3145739), // TH_DCACHE_CIALL
2275 UINT64_C(45088779), // TH_DCACHE_CIPA
2276 UINT64_C(36700171), // TH_DCACHE_CISW
2277 UINT64_C(40894475), // TH_DCACHE_CIVA
2278 UINT64_C(42991627), // TH_DCACHE_CPA
2279 UINT64_C(41943051), // TH_DCACHE_CPAL1
2280 UINT64_C(34603019), // TH_DCACHE_CSW
2281 UINT64_C(38797323), // TH_DCACHE_CVA
2282 UINT64_C(37748747), // TH_DCACHE_CVAL1
2283 UINT64_C(2097163), // TH_DCACHE_IALL
2284 UINT64_C(44040203), // TH_DCACHE_IPA
2285 UINT64_C(35651595), // TH_DCACHE_ISW
2286 UINT64_C(39845899), // TH_DCACHE_IVA
2287 UINT64_C(8203), // TH_EXT
2288 UINT64_C(12299), // TH_EXTU
2289 UINT64_C(2214596619), // TH_FF0
2290 UINT64_C(2248151051), // TH_FF1
2291 UINT64_C(1610637323), // TH_FLRD
2292 UINT64_C(1073766411), // TH_FLRW
2293 UINT64_C(1879072779), // TH_FLURD
2294 UINT64_C(1342201867), // TH_FLURW
2295 UINT64_C(1610641419), // TH_FSRD
2296 UINT64_C(1073770507), // TH_FSRW
2297 UINT64_C(1879076875), // TH_FSURD
2298 UINT64_C(1342205963), // TH_FSURW
2299 UINT64_C(16777227), // TH_ICACHE_IALL
2300 UINT64_C(17825803), // TH_ICACHE_IALLS
2301 UINT64_C(58720267), // TH_ICACHE_IPA
2302 UINT64_C(50331659), // TH_ICACHE_IVA
2303 UINT64_C(22020107), // TH_L2CACHE_CALL
2304 UINT64_C(24117259), // TH_L2CACHE_CIALL
2305 UINT64_C(23068683), // TH_L2CACHE_IALL
2306 UINT64_C(402669579), // TH_LBIA
2307 UINT64_C(134234123), // TH_LBIB
2308 UINT64_C(2550153227), // TH_LBUIA
2309 UINT64_C(2281717771), // TH_LBUIB
2310 UINT64_C(4160765963), // TH_LDD
2311 UINT64_C(2013282315), // TH_LDIA
2312 UINT64_C(1744846859), // TH_LDIB
2313 UINT64_C(939540491), // TH_LHIA
2314 UINT64_C(671105035), // TH_LHIB
2315 UINT64_C(3087024139), // TH_LHUIA
2316 UINT64_C(2818588683), // TH_LHUIB
2317 UINT64_C(16395), // TH_LRB
2318 UINT64_C(2147500043), // TH_LRBU
2319 UINT64_C(1610629131), // TH_LRD
2320 UINT64_C(536887307), // TH_LRH
2321 UINT64_C(2684370955), // TH_LRHU
2322 UINT64_C(1073758219), // TH_LRW
2323 UINT64_C(3221241867), // TH_LRWU
2324 UINT64_C(268451851), // TH_LURB
2325 UINT64_C(2415935499), // TH_LURBU
2326 UINT64_C(1879064587), // TH_LURD
2327 UINT64_C(805322763), // TH_LURH
2328 UINT64_C(2952806411), // TH_LURHU
2329 UINT64_C(1342193675), // TH_LURW
2330 UINT64_C(3489677323), // TH_LURWU
2331 UINT64_C(3758112779), // TH_LWD
2332 UINT64_C(1476411403), // TH_LWIA
2333 UINT64_C(1207975947), // TH_LWIB
2334 UINT64_C(4026548235), // TH_LWUD
2335 UINT64_C(3623895051), // TH_LWUIA
2336 UINT64_C(3355459595), // TH_LWUIB
2337 UINT64_C(536875019), // TH_MULA
2338 UINT64_C(671092747), // TH_MULAH
2339 UINT64_C(603983883), // TH_MULAW
2340 UINT64_C(570429451), // TH_MULS
2341 UINT64_C(704647179), // TH_MULSH
2342 UINT64_C(637538315), // TH_MULSW
2343 UINT64_C(1073745931), // TH_MVEQZ
2344 UINT64_C(1107300363), // TH_MVNEZ
2345 UINT64_C(2181042187), // TH_REV
2346 UINT64_C(2415923211), // TH_REVW
2347 UINT64_C(402673675), // TH_SBIA
2348 UINT64_C(134238219), // TH_SBIB
2349 UINT64_C(4160770059), // TH_SDD
2350 UINT64_C(2013286411), // TH_SDIA
2351 UINT64_C(1744850955), // TH_SDIB
2352 UINT64_C(67108875), // TH_SFENCE_VMAS
2353 UINT64_C(939544587), // TH_SHIA
2354 UINT64_C(671109131), // TH_SHIB
2355 UINT64_C(20491), // TH_SRB
2356 UINT64_C(1610633227), // TH_SRD
2357 UINT64_C(536891403), // TH_SRH
2358 UINT64_C(268439563), // TH_SRRI
2359 UINT64_C(335548427), // TH_SRRIW
2360 UINT64_C(1073762315), // TH_SRW
2361 UINT64_C(268455947), // TH_SURB
2362 UINT64_C(1879068683), // TH_SURD
2363 UINT64_C(805326859), // TH_SURH
2364 UINT64_C(1342197771), // TH_SURW
2365 UINT64_C(3758116875), // TH_SWD
2366 UINT64_C(1476415499), // TH_SWIA
2367 UINT64_C(1207980043), // TH_SWIB
2368 UINT64_C(25165835), // TH_SYNC
2369 UINT64_C(27262987), // TH_SYNC_I
2370 UINT64_C(28311563), // TH_SYNC_IS
2371 UINT64_C(26214411), // TH_SYNC_S
2372 UINT64_C(2281705483), // TH_TST
2373 UINT64_C(2147487755), // TH_TSTNBZ
2374 UINT64_C(2415943691), // TH_VMAQASU_VV
2375 UINT64_C(2483052555), // TH_VMAQASU_VX
2376 UINT64_C(2617270283), // TH_VMAQAUS_VX
2377 UINT64_C(2281725963), // TH_VMAQAU_VV
2378 UINT64_C(2348834827), // TH_VMAQAU_VX
2379 UINT64_C(2147508235), // TH_VMAQA_VV
2380 UINT64_C(2214617099), // TH_VMAQA_VX
2381 UINT64_C(3221229683), // UNIMP
2382 UINT64_C(3858767931), // UNZIP16HP
2383 UINT64_C(3791659067), // UNZIP16P
2384 UINT64_C(3825213499), // UNZIP8HP
2385 UINT64_C(3758104635), // UNZIP8P
2386 UINT64_C(149966867), // UNZIP_RV32
2387 UINT64_C(2717925403), // USATI_RV32
2388 UINT64_C(2751479835), // USATI_RV64
2389 UINT64_C(3992977495), // V8WMMACC_VV
2390 UINT64_C(536879191), // VAADDU_VV
2391 UINT64_C(536895575), // VAADDU_VX
2392 UINT64_C(603988055), // VAADD_VV
2393 UINT64_C(604004439), // VAADD_VX
2394 UINT64_C(1476403287), // VABDU_VV
2395 UINT64_C(1476419671), // VABDU_VX
2396 UINT64_C(1409294423), // VABD_VV
2397 UINT64_C(1409310807), // VABD_VX
2398 UINT64_C(1073754199), // VADC_VIM
2399 UINT64_C(1073741911), // VADC_VVM
2400 UINT64_C(1073758295), // VADC_VXM
2401 UINT64_C(12375), // VADD_VI
2402 UINT64_C(87), // VADD_VV
2403 UINT64_C(16471), // VADD_VX
2404 UINT64_C(2785058935), // VAESDF_VS
2405 UINT64_C(2717950071), // VAESDF_VV
2406 UINT64_C(2785026167), // VAESDM_VS
2407 UINT64_C(2717917303), // VAESDM_VV
2408 UINT64_C(2785124471), // VAESEF_VS
2409 UINT64_C(2718015607), // VAESEF_VV
2410 UINT64_C(2785091703), // VAESEM_VS
2411 UINT64_C(2717982839), // VAESEM_VV
2412 UINT64_C(2315264119), // VAESKF1_VI
2413 UINT64_C(2852135031), // VAESKF2_VI
2414 UINT64_C(2785255543), // VAESZ_VS
2415 UINT64_C(67108951), // VANDN_VV
2416 UINT64_C(67125335), // VANDN_VX
2417 UINT64_C(603992151), // VAND_VI
2418 UINT64_C(603979863), // VAND_VV
2419 UINT64_C(603996247), // VAND_VX
2420 UINT64_C(671096919), // VASUBU_VV
2421 UINT64_C(671113303), // VASUBU_VX
2422 UINT64_C(738205783), // VASUB_VV
2423 UINT64_C(738222167), // VASUB_VX
2424 UINT64_C(1208229975), // VBREV8_V
2425 UINT64_C(1208295511), // VBREV_V
2426 UINT64_C(872423511), // VCLMULH_VV
2427 UINT64_C(872439895), // VCLMULH_VX
2428 UINT64_C(805314647), // VCLMUL_VV
2429 UINT64_C(805331031), // VCLMUL_VX
2430 UINT64_C(1208361047), // VCLZ_V
2431 UINT64_C(1577066583), // VCOMPRESS_VM
2432 UINT64_C(1074274391), // VCPOP_M
2433 UINT64_C(1208426583), // VCPOP_V
2434 UINT64_C(1208393815), // VCTZ_V
2435 UINT64_C(2147491927), // VDIVU_VV
2436 UINT64_C(2147508311), // VDIVU_VX
2437 UINT64_C(2214600791), // VDIV_VV
2438 UINT64_C(2214617175), // VDIV_VX
2439 UINT64_C(2818580567), // VDOT4ASU_VV
2440 UINT64_C(2818596951), // VDOT4ASU_VX
2441 UINT64_C(3087032407), // VDOT4AUS_VX
2442 UINT64_C(2684362839), // VDOT4AU_VV
2443 UINT64_C(2684379223), // VDOT4AU_VX
2444 UINT64_C(2952798295), // VDOT4A_VV
2445 UINT64_C(2952814679), // VDOT4A_VX
2446 UINT64_C(3959423063), // VF8WIMMACC_VV
2447 UINT64_C(1577062487), // VF8WMMACC_VV
2448 UINT64_C(1543508055), // VF8WMMACC_VV_SCALE
2449 UINT64_C(20567), // VFADD_VF
2450 UINT64_C(4183), // VFADD_VV
2451 UINT64_C(2885685367), // VFBDOTA_VV
2452 UINT64_C(1275596887), // VFCLASS_V
2453 UINT64_C(1208029271), // VFCVT_F_XU_V
2454 UINT64_C(1208062039), // VFCVT_F_X_V
2455 UINT64_C(1208160343), // VFCVT_RTZ_XU_F_V
2456 UINT64_C(1208193111), // VFCVT_RTZ_X_F_V
2457 UINT64_C(1207963735), // VFCVT_XU_F_V
2458 UINT64_C(1207996503), // VFCVT_X_F_V
2459 UINT64_C(2147504215), // VFDIV_VF
2460 UINT64_C(2147487831), // VFDIV_VV
2461 UINT64_C(1074307159), // VFIRST_M
2462 UINT64_C(2952810583), // VFMACC_VF
2463 UINT64_C(2952794199), // VFMACC_VV
2464 UINT64_C(2684375127), // VFMADD_VF
2465 UINT64_C(2684358743), // VFMADD_VV
2466 UINT64_C(402673751), // VFMAX_VF
2467 UINT64_C(402657367), // VFMAX_VV
2468 UINT64_C(1543524439), // VFMERGE_VFM
2469 UINT64_C(268456023), // VFMIN_VF
2470 UINT64_C(268439639), // VFMIN_VV
2471 UINT64_C(1375735895), // VFMMACC_VV
2472 UINT64_C(3087028311), // VFMSAC_VF
2473 UINT64_C(3087011927), // VFMSAC_VV
2474 UINT64_C(2818592855), // VFMSUB_VF
2475 UINT64_C(2818576471), // VFMSUB_VV
2476 UINT64_C(2415939671), // VFMUL_VF
2477 UINT64_C(2415923287), // VFMUL_VV
2478 UINT64_C(1107300439), // VFMV_F_S
2479 UINT64_C(1107316823), // VFMV_S_F
2480 UINT64_C(1577078871), // VFMV_V_F
2481 UINT64_C(1208914007), // VFNCVTBF16_F_F_W
2482 UINT64_C(1208979543), // VFNCVTBF16_SAT_F_F_W
2483 UINT64_C(1208782935), // VFNCVT_F_F_Q
2484 UINT64_C(1208619095), // VFNCVT_F_F_W
2485 UINT64_C(1208553559), // VFNCVT_F_XU_W
2486 UINT64_C(1208586327), // VFNCVT_F_X_W
2487 UINT64_C(1208651863), // VFNCVT_ROD_F_F_W
2488 UINT64_C(1208684631), // VFNCVT_RTZ_XU_F_W
2489 UINT64_C(1208717399), // VFNCVT_RTZ_X_F_W
2490 UINT64_C(1208848471), // VFNCVT_SAT_F_F_Q
2491 UINT64_C(1208488023), // VFNCVT_XU_F_W
2492 UINT64_C(1208520791), // VFNCVT_X_F_W
2493 UINT64_C(3019919447), // VFNMACC_VF
2494 UINT64_C(3019903063), // VFNMACC_VV
2495 UINT64_C(2751483991), // VFNMADD_VF
2496 UINT64_C(2751467607), // VFNMADD_VV
2497 UINT64_C(3154137175), // VFNMSAC_VF
2498 UINT64_C(3154120791), // VFNMSAC_VV
2499 UINT64_C(2885701719), // VFNMSUB_VF
2500 UINT64_C(2885685335), // VFNMSUB_VV
2501 UINT64_C(3892314199), // VFQIMMACC_VV
2502 UINT64_C(1509953623), // VFQMMACC_VV
2503 UINT64_C(1476399191), // VFQMMACC_VV_SCALE
2504 UINT64_C(3154120823), // VFQWBDOTA_ALT_VV
2505 UINT64_C(3087011959), // VFQWBDOTA_VV
2506 UINT64_C(2617249911), // VFQWDOTA_ALT_VV
2507 UINT64_C(2550141047), // VFQWDOTA_VV
2508 UINT64_C(2214613079), // VFRDIV_VF
2509 UINT64_C(1275236439), // VFREC7_V
2510 UINT64_C(469766231), // VFREDMAX_VS
2511 UINT64_C(335548503), // VFREDMIN_VS
2512 UINT64_C(201330775), // VFREDOSUM_VS
2513 UINT64_C(67113047), // VFREDUSUM_VS
2514 UINT64_C(1275203671), // VFRSQRT7_V
2515 UINT64_C(2617266263), // VFRSUB_VF
2516 UINT64_C(604000343), // VFSGNJN_VF
2517 UINT64_C(603983959), // VFSGNJN_VV
2518 UINT64_C(671109207), // VFSGNJX_VF
2519 UINT64_C(671092823), // VFSGNJX_VV
2520 UINT64_C(536891479), // VFSGNJ_VF
2521 UINT64_C(536875095), // VFSGNJ_VV
2522 UINT64_C(1006653527), // VFSLIDE1DOWN_VF
2523 UINT64_C(939544663), // VFSLIDE1UP_VF
2524 UINT64_C(1275072599), // VFSQRT_V
2525 UINT64_C(134238295), // VFSUB_VF
2526 UINT64_C(134221911), // VFSUB_VV
2527 UINT64_C(3221246039), // VFWADD_VF
2528 UINT64_C(3221229655), // VFWADD_VV
2529 UINT64_C(3489681495), // VFWADD_WF
2530 UINT64_C(3489665111), // VFWADD_WV
2531 UINT64_C(2952794231), // VFWBDOTA_VV
2532 UINT64_C(1208389719), // VFWCVTBF16_F_F_V
2533 UINT64_C(1208356951), // VFWCVT_F_F_V
2534 UINT64_C(1208291415), // VFWCVT_F_XU_V
2535 UINT64_C(1208324183), // VFWCVT_F_X_V
2536 UINT64_C(1208422487), // VFWCVT_RTZ_XU_F_V
2537 UINT64_C(1208455255), // VFWCVT_RTZ_X_F_V
2538 UINT64_C(1208225879), // VFWCVT_XU_F_V
2539 UINT64_C(1208258647), // VFWCVT_X_F_V
2540 UINT64_C(2415923319), // VFWDOTA_VV
2541 UINT64_C(3825205335), // VFWIMMACC_VV
2542 UINT64_C(3959443543), // VFWMACCBF16_VF
2543 UINT64_C(3959427159), // VFWMACCBF16_VV
2544 UINT64_C(4026552407), // VFWMACC_VF
2545 UINT64_C(4026536023), // VFWMACC_VV
2546 UINT64_C(2650816555), // VFWMADOT
2547 UINT64_C(2650820651), // VFWMADOT1
2548 UINT64_C(2650824747), // VFWMADOT2
2549 UINT64_C(2650828843), // VFWMADOT3
2550 UINT64_C(1442844759), // VFWMMACC_VV
2551 UINT64_C(1409290327), // VFWMMACC_VV_SCALE
2552 UINT64_C(4160770135), // VFWMSAC_VF
2553 UINT64_C(4160753751), // VFWMSAC_VV
2554 UINT64_C(3758116951), // VFWMUL_VF
2555 UINT64_C(3758100567), // VFWMUL_VV
2556 UINT64_C(4093661271), // VFWNMACC_VF
2557 UINT64_C(4093644887), // VFWNMACC_VV
2558 UINT64_C(4227878999), // VFWNMSAC_VF
2559 UINT64_C(4227862615), // VFWNMSAC_VV
2560 UINT64_C(3422556247), // VFWREDOSUM_VS
2561 UINT64_C(3288338519), // VFWREDUSUM_VS
2562 UINT64_C(3355463767), // VFWSUB_VF
2563 UINT64_C(3355447383), // VFWSUB_VV
2564 UINT64_C(3623899223), // VFWSUB_WF
2565 UINT64_C(3623882839), // VFWSUB_WV
2566 UINT64_C(2382372983), // VGHSH_VS
2567 UINT64_C(2986352759), // VGHSH_VV
2568 UINT64_C(2785583223), // VGMUL_VS
2569 UINT64_C(2718474359), // VGMUL_VV
2570 UINT64_C(1342742615), // VID_V
2571 UINT64_C(1342709847), // VIOTA_M
2572 UINT64_C(41963527), // VL1RE16_V
2573 UINT64_C(41967623), // VL1RE32_V
2574 UINT64_C(41971719), // VL1RE64_V
2575 UINT64_C(41943047), // VL1RE8_V
2576 UINT64_C(578834439), // VL2RE16_V
2577 UINT64_C(578838535), // VL2RE32_V
2578 UINT64_C(578842631), // VL2RE64_V
2579 UINT64_C(578813959), // VL2RE8_V
2580 UINT64_C(1652576263), // VL4RE16_V
2581 UINT64_C(1652580359), // VL4RE32_V
2582 UINT64_C(1652584455), // VL4RE64_V
2583 UINT64_C(1652555783), // VL4RE8_V
2584 UINT64_C(3800059911), // VL8RE16_V
2585 UINT64_C(3800064007), // VL8RE32_V
2586 UINT64_C(3800068103), // VL8RE64_V
2587 UINT64_C(3800039431), // VL8RE8_V
2588 UINT64_C(16797703), // VLE16FF_V
2589 UINT64_C(20487), // VLE16_V
2590 UINT64_C(16801799), // VLE32FF_V
2591 UINT64_C(24583), // VLE32_V
2592 UINT64_C(16805895), // VLE64FF_V
2593 UINT64_C(28679), // VLE64_V
2594 UINT64_C(16777223), // VLE8FF_V
2595 UINT64_C(7), // VLE8_V
2596 UINT64_C(45088775), // VLM_V
2597 UINT64_C(201347079), // VLOXEI16_V
2598 UINT64_C(201351175), // VLOXEI32_V
2599 UINT64_C(201355271), // VLOXEI64_V
2600 UINT64_C(201326599), // VLOXEI8_V
2601 UINT64_C(738217991), // VLOXSEG2EI16_V
2602 UINT64_C(738222087), // VLOXSEG2EI32_V
2603 UINT64_C(738226183), // VLOXSEG2EI64_V
2604 UINT64_C(738197511), // VLOXSEG2EI8_V
2605 UINT64_C(1275088903), // VLOXSEG3EI16_V
2606 UINT64_C(1275092999), // VLOXSEG3EI32_V
2607 UINT64_C(1275097095), // VLOXSEG3EI64_V
2608 UINT64_C(1275068423), // VLOXSEG3EI8_V
2609 UINT64_C(1811959815), // VLOXSEG4EI16_V
2610 UINT64_C(1811963911), // VLOXSEG4EI32_V
2611 UINT64_C(1811968007), // VLOXSEG4EI64_V
2612 UINT64_C(1811939335), // VLOXSEG4EI8_V
2613 UINT64_C(2348830727), // VLOXSEG5EI16_V
2614 UINT64_C(2348834823), // VLOXSEG5EI32_V
2615 UINT64_C(2348838919), // VLOXSEG5EI64_V
2616 UINT64_C(2348810247), // VLOXSEG5EI8_V
2617 UINT64_C(2885701639), // VLOXSEG6EI16_V
2618 UINT64_C(2885705735), // VLOXSEG6EI32_V
2619 UINT64_C(2885709831), // VLOXSEG6EI64_V
2620 UINT64_C(2885681159), // VLOXSEG6EI8_V
2621 UINT64_C(3422572551), // VLOXSEG7EI16_V
2622 UINT64_C(3422576647), // VLOXSEG7EI32_V
2623 UINT64_C(3422580743), // VLOXSEG7EI64_V
2624 UINT64_C(3422552071), // VLOXSEG7EI8_V
2625 UINT64_C(3959443463), // VLOXSEG8EI16_V
2626 UINT64_C(3959447559), // VLOXSEG8EI32_V
2627 UINT64_C(3959451655), // VLOXSEG8EI64_V
2628 UINT64_C(3959422983), // VLOXSEG8EI8_V
2629 UINT64_C(134238215), // VLSE16_V
2630 UINT64_C(134242311), // VLSE32_V
2631 UINT64_C(134246407), // VLSE64_V
2632 UINT64_C(134217735), // VLSE8_V
2633 UINT64_C(553668615), // VLSEG2E16FF_V
2634 UINT64_C(536891399), // VLSEG2E16_V
2635 UINT64_C(553672711), // VLSEG2E32FF_V
2636 UINT64_C(536895495), // VLSEG2E32_V
2637 UINT64_C(553676807), // VLSEG2E64FF_V
2638 UINT64_C(536899591), // VLSEG2E64_V
2639 UINT64_C(553648135), // VLSEG2E8FF_V
2640 UINT64_C(536870919), // VLSEG2E8_V
2641 UINT64_C(1090539527), // VLSEG3E16FF_V
2642 UINT64_C(1073762311), // VLSEG3E16_V
2643 UINT64_C(1090543623), // VLSEG3E32FF_V
2644 UINT64_C(1073766407), // VLSEG3E32_V
2645 UINT64_C(1090547719), // VLSEG3E64FF_V
2646 UINT64_C(1073770503), // VLSEG3E64_V
2647 UINT64_C(1090519047), // VLSEG3E8FF_V
2648 UINT64_C(1073741831), // VLSEG3E8_V
2649 UINT64_C(1627410439), // VLSEG4E16FF_V
2650 UINT64_C(1610633223), // VLSEG4E16_V
2651 UINT64_C(1627414535), // VLSEG4E32FF_V
2652 UINT64_C(1610637319), // VLSEG4E32_V
2653 UINT64_C(1627418631), // VLSEG4E64FF_V
2654 UINT64_C(1610641415), // VLSEG4E64_V
2655 UINT64_C(1627389959), // VLSEG4E8FF_V
2656 UINT64_C(1610612743), // VLSEG4E8_V
2657 UINT64_C(2164281351), // VLSEG5E16FF_V
2658 UINT64_C(2147504135), // VLSEG5E16_V
2659 UINT64_C(2164285447), // VLSEG5E32FF_V
2660 UINT64_C(2147508231), // VLSEG5E32_V
2661 UINT64_C(2164289543), // VLSEG5E64FF_V
2662 UINT64_C(2147512327), // VLSEG5E64_V
2663 UINT64_C(2164260871), // VLSEG5E8FF_V
2664 UINT64_C(2147483655), // VLSEG5E8_V
2665 UINT64_C(2701152263), // VLSEG6E16FF_V
2666 UINT64_C(2684375047), // VLSEG6E16_V
2667 UINT64_C(2701156359), // VLSEG6E32FF_V
2668 UINT64_C(2684379143), // VLSEG6E32_V
2669 UINT64_C(2701160455), // VLSEG6E64FF_V
2670 UINT64_C(2684383239), // VLSEG6E64_V
2671 UINT64_C(2701131783), // VLSEG6E8FF_V
2672 UINT64_C(2684354567), // VLSEG6E8_V
2673 UINT64_C(3238023175), // VLSEG7E16FF_V
2674 UINT64_C(3221245959), // VLSEG7E16_V
2675 UINT64_C(3238027271), // VLSEG7E32FF_V
2676 UINT64_C(3221250055), // VLSEG7E32_V
2677 UINT64_C(3238031367), // VLSEG7E64FF_V
2678 UINT64_C(3221254151), // VLSEG7E64_V
2679 UINT64_C(3238002695), // VLSEG7E8FF_V
2680 UINT64_C(3221225479), // VLSEG7E8_V
2681 UINT64_C(3774894087), // VLSEG8E16FF_V
2682 UINT64_C(3758116871), // VLSEG8E16_V
2683 UINT64_C(3774898183), // VLSEG8E32FF_V
2684 UINT64_C(3758120967), // VLSEG8E32_V
2685 UINT64_C(3774902279), // VLSEG8E64FF_V
2686 UINT64_C(3758125063), // VLSEG8E64_V
2687 UINT64_C(3774873607), // VLSEG8E8FF_V
2688 UINT64_C(3758096391), // VLSEG8E8_V
2689 UINT64_C(671109127), // VLSSEG2E16_V
2690 UINT64_C(671113223), // VLSSEG2E32_V
2691 UINT64_C(671117319), // VLSSEG2E64_V
2692 UINT64_C(671088647), // VLSSEG2E8_V
2693 UINT64_C(1207980039), // VLSSEG3E16_V
2694 UINT64_C(1207984135), // VLSSEG3E32_V
2695 UINT64_C(1207988231), // VLSSEG3E64_V
2696 UINT64_C(1207959559), // VLSSEG3E8_V
2697 UINT64_C(1744850951), // VLSSEG4E16_V
2698 UINT64_C(1744855047), // VLSSEG4E32_V
2699 UINT64_C(1744859143), // VLSSEG4E64_V
2700 UINT64_C(1744830471), // VLSSEG4E8_V
2701 UINT64_C(2281721863), // VLSSEG5E16_V
2702 UINT64_C(2281725959), // VLSSEG5E32_V
2703 UINT64_C(2281730055), // VLSSEG5E64_V
2704 UINT64_C(2281701383), // VLSSEG5E8_V
2705 UINT64_C(2818592775), // VLSSEG6E16_V
2706 UINT64_C(2818596871), // VLSSEG6E32_V
2707 UINT64_C(2818600967), // VLSSEG6E64_V
2708 UINT64_C(2818572295), // VLSSEG6E8_V
2709 UINT64_C(3355463687), // VLSSEG7E16_V
2710 UINT64_C(3355467783), // VLSSEG7E32_V
2711 UINT64_C(3355471879), // VLSSEG7E64_V
2712 UINT64_C(3355443207), // VLSSEG7E8_V
2713 UINT64_C(3892334599), // VLSSEG8E16_V
2714 UINT64_C(3892338695), // VLSSEG8E32_V
2715 UINT64_C(3892342791), // VLSSEG8E64_V
2716 UINT64_C(3892314119), // VLSSEG8E8_V
2717 UINT64_C(67129351), // VLUXEI16_V
2718 UINT64_C(67133447), // VLUXEI32_V
2719 UINT64_C(67137543), // VLUXEI64_V
2720 UINT64_C(67108871), // VLUXEI8_V
2721 UINT64_C(604000263), // VLUXSEG2EI16_V
2722 UINT64_C(604004359), // VLUXSEG2EI32_V
2723 UINT64_C(604008455), // VLUXSEG2EI64_V
2724 UINT64_C(603979783), // VLUXSEG2EI8_V
2725 UINT64_C(1140871175), // VLUXSEG3EI16_V
2726 UINT64_C(1140875271), // VLUXSEG3EI32_V
2727 UINT64_C(1140879367), // VLUXSEG3EI64_V
2728 UINT64_C(1140850695), // VLUXSEG3EI8_V
2729 UINT64_C(1677742087), // VLUXSEG4EI16_V
2730 UINT64_C(1677746183), // VLUXSEG4EI32_V
2731 UINT64_C(1677750279), // VLUXSEG4EI64_V
2732 UINT64_C(1677721607), // VLUXSEG4EI8_V
2733 UINT64_C(2214612999), // VLUXSEG5EI16_V
2734 UINT64_C(2214617095), // VLUXSEG5EI32_V
2735 UINT64_C(2214621191), // VLUXSEG5EI64_V
2736 UINT64_C(2214592519), // VLUXSEG5EI8_V
2737 UINT64_C(2751483911), // VLUXSEG6EI16_V
2738 UINT64_C(2751488007), // VLUXSEG6EI32_V
2739 UINT64_C(2751492103), // VLUXSEG6EI64_V
2740 UINT64_C(2751463431), // VLUXSEG6EI8_V
2741 UINT64_C(3288354823), // VLUXSEG7EI16_V
2742 UINT64_C(3288358919), // VLUXSEG7EI32_V
2743 UINT64_C(3288363015), // VLUXSEG7EI64_V
2744 UINT64_C(3288334343), // VLUXSEG7EI8_V
2745 UINT64_C(3825225735), // VLUXSEG8EI16_V
2746 UINT64_C(3825229831), // VLUXSEG8EI32_V
2747 UINT64_C(3825233927), // VLUXSEG8EI64_V
2748 UINT64_C(3825205255), // VLUXSEG8EI8_V
2749 UINT64_C(3019907159), // VMACC_VV
2750 UINT64_C(3019923543), // VMACC_VX
2751 UINT64_C(1174417495), // VMADC_VI
2752 UINT64_C(1140863063), // VMADC_VIM
2753 UINT64_C(1174405207), // VMADC_VV
2754 UINT64_C(1140850775), // VMADC_VVM
2755 UINT64_C(1174421591), // VMADC_VX
2756 UINT64_C(1140867159), // VMADC_VXM
2757 UINT64_C(2751471703), // VMADD_VV
2758 UINT64_C(2751488087), // VMADD_VX
2759 UINT64_C(2181050411), // VMADOT
2760 UINT64_C(2248159275), // VMADOT1
2761 UINT64_C(2248155179), // VMADOT1SU
2762 UINT64_C(2248146987), // VMADOT1U
2763 UINT64_C(2248151083), // VMADOT1US
2764 UINT64_C(2248175659), // VMADOT2
2765 UINT64_C(2248171563), // VMADOT2SU
2766 UINT64_C(2248163371), // VMADOT2U
2767 UINT64_C(2248167467), // VMADOT2US
2768 UINT64_C(2248192043), // VMADOT3
2769 UINT64_C(2248187947), // VMADOT3SU
2770 UINT64_C(2248179755), // VMADOT3U
2771 UINT64_C(2248183851), // VMADOT3US
2772 UINT64_C(2181046315), // VMADOTSU
2773 UINT64_C(2483028011), // VMADOTSU_HP
2774 UINT64_C(2281709611), // VMADOTSU_SP
2775 UINT64_C(2181038123), // VMADOTU
2776 UINT64_C(2181042219), // VMADOTUS
2777 UINT64_C(2550136875), // VMADOTUS_HP
2778 UINT64_C(2281705515), // VMADOTUS_SP
2779 UINT64_C(2348810283), // VMADOTU_HP
2780 UINT64_C(2281701419), // VMADOTU_SP
2781 UINT64_C(2415919147), // VMADOT_HP
2782 UINT64_C(2281713707), // VMADOT_SP
2783 UINT64_C(1644175447), // VMANDN_MM
2784 UINT64_C(1711284311), // VMAND_MM
2785 UINT64_C(402653271), // VMAXU_VV
2786 UINT64_C(402669655), // VMAXU_VX
2787 UINT64_C(469762135), // VMAX_VV
2788 UINT64_C(469778519), // VMAX_VX
2789 UINT64_C(1543516247), // VMERGE_VIM
2790 UINT64_C(1543503959), // VMERGE_VVM
2791 UINT64_C(1543520343), // VMERGE_VXM
2792 UINT64_C(1610633303), // VMFEQ_VF
2793 UINT64_C(1610616919), // VMFEQ_VV
2794 UINT64_C(2080395351), // VMFGE_VF
2795 UINT64_C(1946177623), // VMFGT_VF
2796 UINT64_C(1677742167), // VMFLE_VF
2797 UINT64_C(1677725783), // VMFLE_VV
2798 UINT64_C(1811959895), // VMFLT_VF
2799 UINT64_C(1811943511), // VMFLT_VV
2800 UINT64_C(1879068759), // VMFNE_VF
2801 UINT64_C(1879052375), // VMFNE_VV
2802 UINT64_C(268435543), // VMINU_VV
2803 UINT64_C(268451927), // VMINU_VX
2804 UINT64_C(335544407), // VMIN_VV
2805 UINT64_C(335560791), // VMIN_VX
2806 UINT64_C(3791650903), // VMMACC_VV
2807 UINT64_C(1979719767), // VMNAND_MM
2808 UINT64_C(2046828631), // VMNOR_MM
2809 UINT64_C(1912610903), // VMORN_MM
2810 UINT64_C(1778393175), // VMOR_MM
2811 UINT64_C(1308622935), // VMSBC_VV
2812 UINT64_C(1275068503), // VMSBC_VVM
2813 UINT64_C(1308639319), // VMSBC_VX
2814 UINT64_C(1275084887), // VMSBC_VXM
2815 UINT64_C(1342218327), // VMSBF_M
2816 UINT64_C(1610625111), // VMSEQ_VI
2817 UINT64_C(1610612823), // VMSEQ_VV
2818 UINT64_C(1610629207), // VMSEQ_VX
2819 UINT64_C(2013278295), // VMSGTU_VI
2820 UINT64_C(2013282391), // VMSGTU_VX
2821 UINT64_C(2080387159), // VMSGT_VI
2822 UINT64_C(2080391255), // VMSGT_VX
2823 UINT64_C(1342283863), // VMSIF_M
2824 UINT64_C(1879060567), // VMSLEU_VI
2825 UINT64_C(1879048279), // VMSLEU_VV
2826 UINT64_C(1879064663), // VMSLEU_VX
2827 UINT64_C(1946169431), // VMSLE_VI
2828 UINT64_C(1946157143), // VMSLE_VV
2829 UINT64_C(1946173527), // VMSLE_VX
2830 UINT64_C(1744830551), // VMSLTU_VV
2831 UINT64_C(1744846935), // VMSLTU_VX
2832 UINT64_C(1811939415), // VMSLT_VV
2833 UINT64_C(1811955799), // VMSLT_VX
2834 UINT64_C(1677733975), // VMSNE_VI
2835 UINT64_C(1677721687), // VMSNE_VV
2836 UINT64_C(1677738071), // VMSNE_VX
2837 UINT64_C(1342251095), // VMSOF_M
2838 UINT64_C(268464135), // VMTL_V
2839 UINT64_C(268464167), // VMTS_V
2840 UINT64_C(335572999), // VMTTL_V
2841 UINT64_C(335573031), // VMTTS_V
2842 UINT64_C(2550145111), // VMULHSU_VV
2843 UINT64_C(2550161495), // VMULHSU_VX
2844 UINT64_C(2415927383), // VMULHU_VV
2845 UINT64_C(2415943767), // VMULHU_VX
2846 UINT64_C(2617253975), // VMULH_VV
2847 UINT64_C(2617270359), // VMULH_VX
2848 UINT64_C(2483036247), // VMUL_VV
2849 UINT64_C(2483052631), // VMUL_VX
2850 UINT64_C(2650812503), // VMV1R_V
2851 UINT64_C(2650845271), // VMV2R_V
2852 UINT64_C(2650910807), // VMV4R_V
2853 UINT64_C(2651041879), // VMV8R_V
2854 UINT64_C(1107320919), // VMV_S_X
2855 UINT64_C(1577070679), // VMV_V_I
2856 UINT64_C(1577058391), // VMV_V_V
2857 UINT64_C(1577074775), // VMV_V_X
2858 UINT64_C(1107304535), // VMV_X_S
2859 UINT64_C(2113937495), // VMXNOR_MM
2860 UINT64_C(1845502039), // VMXOR_MM
2861 UINT64_C(3087020119), // VNCLIPU_WI
2862 UINT64_C(3087007831), // VNCLIPU_WV
2863 UINT64_C(3087024215), // VNCLIPU_WX
2864 UINT64_C(3154128983), // VNCLIP_WI
2865 UINT64_C(3154116695), // VNCLIP_WV
2866 UINT64_C(3154133079), // VNCLIP_WX
2867 UINT64_C(3154124887), // VNMSAC_VV
2868 UINT64_C(3154141271), // VNMSAC_VX
2869 UINT64_C(2885689431), // VNMSUB_VV
2870 UINT64_C(2885705815), // VNMSUB_VX
2871 UINT64_C(1107296299), // VNPACK4_VV
2872 UINT64_C(1644167211), // VNPACK_VV
2873 UINT64_C(1107312683), // VNSPACK4_VV
2874 UINT64_C(1644183595), // VNSPACK_VV
2875 UINT64_C(3019911255), // VNSRA_WI
2876 UINT64_C(3019898967), // VNSRA_WV
2877 UINT64_C(3019915351), // VNSRA_WX
2878 UINT64_C(2952802391), // VNSRL_WI
2879 UINT64_C(2952790103), // VNSRL_WV
2880 UINT64_C(2952806487), // VNSRL_WX
2881 UINT64_C(671101015), // VOR_VI
2882 UINT64_C(671088727), // VOR_VV
2883 UINT64_C(671105111), // VOR_VX
2884 UINT64_C(1711276075), // VPACK_VV
2885 UINT64_C(1006633047), // VPAIRE_VV
2886 UINT64_C(1006641239), // VPAIRO_VV
2887 UINT64_C(3925868631), // VQMMACC_VV
2888 UINT64_C(3154116727), // VQWBDOTAS_VV
2889 UINT64_C(3087007863), // VQWBDOTAU_VV
2890 UINT64_C(2617245815), // VQWDOTAS_VV
2891 UINT64_C(2550136951), // VQWDOTAU_VV
2892 UINT64_C(67117143), // VREDAND_VS
2893 UINT64_C(402661463), // VREDMAXU_VS
2894 UINT64_C(469770327), // VREDMAX_VS
2895 UINT64_C(268443735), // VREDMINU_VS
2896 UINT64_C(335552599), // VREDMIN_VS
2897 UINT64_C(134226007), // VREDOR_VS
2898 UINT64_C(8279), // VREDSUM_VS
2899 UINT64_C(201334871), // VREDXOR_VS
2900 UINT64_C(2281709655), // VREMU_VV
2901 UINT64_C(2281726039), // VREMU_VX
2902 UINT64_C(2348818519), // VREM_VV
2903 UINT64_C(2348834903), // VREM_VX
2904 UINT64_C(1208262743), // VREV8_V
2905 UINT64_C(939524183), // VRGATHEREI16_VV
2906 UINT64_C(805318743), // VRGATHER_VI
2907 UINT64_C(805306455), // VRGATHER_VV
2908 UINT64_C(805322839), // VRGATHER_VX
2909 UINT64_C(1409286231), // VROL_VV
2910 UINT64_C(1409302615), // VROL_VX
2911 UINT64_C(1342189655), // VROR_VI
2912 UINT64_C(1342177367), // VROR_VV
2913 UINT64_C(1342193751), // VROR_VX
2914 UINT64_C(201338967), // VRSUB_VI
2915 UINT64_C(201343063), // VRSUB_VX
2916 UINT64_C(41943079), // VS1R_V
2917 UINT64_C(578813991), // VS2R_V
2918 UINT64_C(1652555815), // VS4R_V
2919 UINT64_C(3800039463), // VS8R_V
2920 UINT64_C(2147496023), // VSADDU_VI
2921 UINT64_C(2147483735), // VSADDU_VV
2922 UINT64_C(2147500119), // VSADDU_VX
2923 UINT64_C(2214604887), // VSADD_VI
2924 UINT64_C(2214592599), // VSADD_VV
2925 UINT64_C(2214608983), // VSADD_VX
2926 UINT64_C(1207959639), // VSBC_VVM
2927 UINT64_C(1207976023), // VSBC_VXM
2928 UINT64_C(20519), // VSE16_V
2929 UINT64_C(24615), // VSE32_V
2930 UINT64_C(28711), // VSE64_V
2931 UINT64_C(39), // VSE8_V
2932 UINT64_C(3221254231), // VSETIVLI
2933 UINT64_C(2147512407), // VSETVL
2934 UINT64_C(28759), // VSETVLI
2935 UINT64_C(1208197207), // VSEXT_VF2
2936 UINT64_C(1208131671), // VSEXT_VF4
2937 UINT64_C(1208066135), // VSEXT_VF8
2938 UINT64_C(3120570487), // VSHA2CH_VV
2939 UINT64_C(3187679351), // VSHA2CL_VV
2940 UINT64_C(3053461623), // VSHA2MS_VV
2941 UINT64_C(1006657623), // VSLIDE1DOWN_VX
2942 UINT64_C(939548759), // VSLIDE1UP_VX
2943 UINT64_C(1006645335), // VSLIDEDOWN_VI
2944 UINT64_C(1006649431), // VSLIDEDOWN_VX
2945 UINT64_C(939536471), // VSLIDEUP_VI
2946 UINT64_C(939540567), // VSLIDEUP_VX
2947 UINT64_C(2483040343), // VSLL_VI
2948 UINT64_C(2483028055), // VSLL_VV
2949 UINT64_C(2483044439), // VSLL_VX
2950 UINT64_C(2919243895), // VSM3C_VI
2951 UINT64_C(2181046391), // VSM3ME_VV
2952 UINT64_C(2248155255), // VSM4K_VI
2953 UINT64_C(2785550455), // VSM4R_VS
2954 UINT64_C(2718441591), // VSM4R_VV
2955 UINT64_C(2617245783), // VSMUL_VV
2956 UINT64_C(2617262167), // VSMUL_VX
2957 UINT64_C(45088807), // VSM_V
2958 UINT64_C(201347111), // VSOXEI16_V
2959 UINT64_C(201351207), // VSOXEI32_V
2960 UINT64_C(201355303), // VSOXEI64_V
2961 UINT64_C(201326631), // VSOXEI8_V
2962 UINT64_C(738218023), // VSOXSEG2EI16_V
2963 UINT64_C(738222119), // VSOXSEG2EI32_V
2964 UINT64_C(738226215), // VSOXSEG2EI64_V
2965 UINT64_C(738197543), // VSOXSEG2EI8_V
2966 UINT64_C(1275088935), // VSOXSEG3EI16_V
2967 UINT64_C(1275093031), // VSOXSEG3EI32_V
2968 UINT64_C(1275097127), // VSOXSEG3EI64_V
2969 UINT64_C(1275068455), // VSOXSEG3EI8_V
2970 UINT64_C(1811959847), // VSOXSEG4EI16_V
2971 UINT64_C(1811963943), // VSOXSEG4EI32_V
2972 UINT64_C(1811968039), // VSOXSEG4EI64_V
2973 UINT64_C(1811939367), // VSOXSEG4EI8_V
2974 UINT64_C(2348830759), // VSOXSEG5EI16_V
2975 UINT64_C(2348834855), // VSOXSEG5EI32_V
2976 UINT64_C(2348838951), // VSOXSEG5EI64_V
2977 UINT64_C(2348810279), // VSOXSEG5EI8_V
2978 UINT64_C(2885701671), // VSOXSEG6EI16_V
2979 UINT64_C(2885705767), // VSOXSEG6EI32_V
2980 UINT64_C(2885709863), // VSOXSEG6EI64_V
2981 UINT64_C(2885681191), // VSOXSEG6EI8_V
2982 UINT64_C(3422572583), // VSOXSEG7EI16_V
2983 UINT64_C(3422576679), // VSOXSEG7EI32_V
2984 UINT64_C(3422580775), // VSOXSEG7EI64_V
2985 UINT64_C(3422552103), // VSOXSEG7EI8_V
2986 UINT64_C(3959443495), // VSOXSEG8EI16_V
2987 UINT64_C(3959447591), // VSOXSEG8EI32_V
2988 UINT64_C(3959451687), // VSOXSEG8EI64_V
2989 UINT64_C(3959423015), // VSOXSEG8EI8_V
2990 UINT64_C(2751475799), // VSRA_VI
2991 UINT64_C(2751463511), // VSRA_VV
2992 UINT64_C(2751479895), // VSRA_VX
2993 UINT64_C(2684366935), // VSRL_VI
2994 UINT64_C(2684354647), // VSRL_VV
2995 UINT64_C(2684371031), // VSRL_VX
2996 UINT64_C(134238247), // VSSE16_V
2997 UINT64_C(134242343), // VSSE32_V
2998 UINT64_C(134246439), // VSSE64_V
2999 UINT64_C(134217767), // VSSE8_V
3000 UINT64_C(536891431), // VSSEG2E16_V
3001 UINT64_C(536895527), // VSSEG2E32_V
3002 UINT64_C(536899623), // VSSEG2E64_V
3003 UINT64_C(536870951), // VSSEG2E8_V
3004 UINT64_C(1073762343), // VSSEG3E16_V
3005 UINT64_C(1073766439), // VSSEG3E32_V
3006 UINT64_C(1073770535), // VSSEG3E64_V
3007 UINT64_C(1073741863), // VSSEG3E8_V
3008 UINT64_C(1610633255), // VSSEG4E16_V
3009 UINT64_C(1610637351), // VSSEG4E32_V
3010 UINT64_C(1610641447), // VSSEG4E64_V
3011 UINT64_C(1610612775), // VSSEG4E8_V
3012 UINT64_C(2147504167), // VSSEG5E16_V
3013 UINT64_C(2147508263), // VSSEG5E32_V
3014 UINT64_C(2147512359), // VSSEG5E64_V
3015 UINT64_C(2147483687), // VSSEG5E8_V
3016 UINT64_C(2684375079), // VSSEG6E16_V
3017 UINT64_C(2684379175), // VSSEG6E32_V
3018 UINT64_C(2684383271), // VSSEG6E64_V
3019 UINT64_C(2684354599), // VSSEG6E8_V
3020 UINT64_C(3221245991), // VSSEG7E16_V
3021 UINT64_C(3221250087), // VSSEG7E32_V
3022 UINT64_C(3221254183), // VSSEG7E64_V
3023 UINT64_C(3221225511), // VSSEG7E8_V
3024 UINT64_C(3758116903), // VSSEG8E16_V
3025 UINT64_C(3758120999), // VSSEG8E32_V
3026 UINT64_C(3758125095), // VSSEG8E64_V
3027 UINT64_C(3758096423), // VSSEG8E8_V
3028 UINT64_C(2885693527), // VSSRA_VI
3029 UINT64_C(2885681239), // VSSRA_VV
3030 UINT64_C(2885697623), // VSSRA_VX
3031 UINT64_C(2818584663), // VSSRL_VI
3032 UINT64_C(2818572375), // VSSRL_VV
3033 UINT64_C(2818588759), // VSSRL_VX
3034 UINT64_C(671109159), // VSSSEG2E16_V
3035 UINT64_C(671113255), // VSSSEG2E32_V
3036 UINT64_C(671117351), // VSSSEG2E64_V
3037 UINT64_C(671088679), // VSSSEG2E8_V
3038 UINT64_C(1207980071), // VSSSEG3E16_V
3039 UINT64_C(1207984167), // VSSSEG3E32_V
3040 UINT64_C(1207988263), // VSSSEG3E64_V
3041 UINT64_C(1207959591), // VSSSEG3E8_V
3042 UINT64_C(1744850983), // VSSSEG4E16_V
3043 UINT64_C(1744855079), // VSSSEG4E32_V
3044 UINT64_C(1744859175), // VSSSEG4E64_V
3045 UINT64_C(1744830503), // VSSSEG4E8_V
3046 UINT64_C(2281721895), // VSSSEG5E16_V
3047 UINT64_C(2281725991), // VSSSEG5E32_V
3048 UINT64_C(2281730087), // VSSSEG5E64_V
3049 UINT64_C(2281701415), // VSSSEG5E8_V
3050 UINT64_C(2818592807), // VSSSEG6E16_V
3051 UINT64_C(2818596903), // VSSSEG6E32_V
3052 UINT64_C(2818600999), // VSSSEG6E64_V
3053 UINT64_C(2818572327), // VSSSEG6E8_V
3054 UINT64_C(3355463719), // VSSSEG7E16_V
3055 UINT64_C(3355467815), // VSSSEG7E32_V
3056 UINT64_C(3355471911), // VSSSEG7E64_V
3057 UINT64_C(3355443239), // VSSSEG7E8_V
3058 UINT64_C(3892334631), // VSSSEG8E16_V
3059 UINT64_C(3892338727), // VSSSEG8E32_V
3060 UINT64_C(3892342823), // VSSSEG8E64_V
3061 UINT64_C(3892314151), // VSSSEG8E8_V
3062 UINT64_C(2281701463), // VSSUBU_VV
3063 UINT64_C(2281717847), // VSSUBU_VX
3064 UINT64_C(2348810327), // VSSUB_VV
3065 UINT64_C(2348826711), // VSSUB_VX
3066 UINT64_C(134217815), // VSUB_VV
3067 UINT64_C(134234199), // VSUB_VX
3068 UINT64_C(67129383), // VSUXEI16_V
3069 UINT64_C(67133479), // VSUXEI32_V
3070 UINT64_C(67137575), // VSUXEI64_V
3071 UINT64_C(67108903), // VSUXEI8_V
3072 UINT64_C(604000295), // VSUXSEG2EI16_V
3073 UINT64_C(604004391), // VSUXSEG2EI32_V
3074 UINT64_C(604008487), // VSUXSEG2EI64_V
3075 UINT64_C(603979815), // VSUXSEG2EI8_V
3076 UINT64_C(1140871207), // VSUXSEG3EI16_V
3077 UINT64_C(1140875303), // VSUXSEG3EI32_V
3078 UINT64_C(1140879399), // VSUXSEG3EI64_V
3079 UINT64_C(1140850727), // VSUXSEG3EI8_V
3080 UINT64_C(1677742119), // VSUXSEG4EI16_V
3081 UINT64_C(1677746215), // VSUXSEG4EI32_V
3082 UINT64_C(1677750311), // VSUXSEG4EI64_V
3083 UINT64_C(1677721639), // VSUXSEG4EI8_V
3084 UINT64_C(2214613031), // VSUXSEG5EI16_V
3085 UINT64_C(2214617127), // VSUXSEG5EI32_V
3086 UINT64_C(2214621223), // VSUXSEG5EI64_V
3087 UINT64_C(2214592551), // VSUXSEG5EI8_V
3088 UINT64_C(2751483943), // VSUXSEG6EI16_V
3089 UINT64_C(2751488039), // VSUXSEG6EI32_V
3090 UINT64_C(2751492135), // VSUXSEG6EI64_V
3091 UINT64_C(2751463463), // VSUXSEG6EI8_V
3092 UINT64_C(3288354855), // VSUXSEG7EI16_V
3093 UINT64_C(3288358951), // VSUXSEG7EI32_V
3094 UINT64_C(3288363047), // VSUXSEG7EI64_V
3095 UINT64_C(3288334375), // VSUXSEG7EI8_V
3096 UINT64_C(3825225767), // VSUXSEG8EI16_V
3097 UINT64_C(3825229863), // VSUXSEG8EI32_V
3098 UINT64_C(3825233959), // VSUXSEG8EI64_V
3099 UINT64_C(3825205287), // VSUXSEG8EI8_V
3100 UINT64_C(1241882711), // VUNZIPE_V
3101 UINT64_C(1242013783), // VUNZIPO_V
3102 UINT64_C(1711292459), // VUPACK_VV
3103 UINT64_C(4160749655), // VWABDAU_VV
3104 UINT64_C(4160766039), // VWABDAU_VX
3105 UINT64_C(4093640791), // VWABDA_VV
3106 UINT64_C(4093657175), // VWABDA_VX
3107 UINT64_C(3221233751), // VWADDU_VV
3108 UINT64_C(3221250135), // VWADDU_VX
3109 UINT64_C(3489669207), // VWADDU_WV
3110 UINT64_C(3489685591), // VWADDU_WX
3111 UINT64_C(3288342615), // VWADD_VV
3112 UINT64_C(3288358999), // VWADD_VX
3113 UINT64_C(3556778071), // VWADD_WV
3114 UINT64_C(3556794455), // VWADD_WX
3115 UINT64_C(4227866711), // VWMACCSU_VV
3116 UINT64_C(4227883095), // VWMACCSU_VX
3117 UINT64_C(4160774231), // VWMACCUS_VX
3118 UINT64_C(4026540119), // VWMACCU_VV
3119 UINT64_C(4026556503), // VWMACCU_VX
3120 UINT64_C(4093648983), // VWMACC_VV
3121 UINT64_C(4093665367), // VWMACC_VX
3122 UINT64_C(3858759767), // VWMMACC_VV
3123 UINT64_C(3892322391), // VWMULSU_VV
3124 UINT64_C(3892338775), // VWMULSU_VX
3125 UINT64_C(3758104663), // VWMULU_VV
3126 UINT64_C(3758121047), // VWMULU_VX
3127 UINT64_C(3959431255), // VWMUL_VV
3128 UINT64_C(3959447639), // VWMUL_VX
3129 UINT64_C(3221225559), // VWREDSUMU_VS
3130 UINT64_C(3288334423), // VWREDSUM_VS
3131 UINT64_C(3556782167), // VWSLL_VI
3132 UINT64_C(3556769879), // VWSLL_VV
3133 UINT64_C(3556786263), // VWSLL_VX
3134 UINT64_C(3355451479), // VWSUBU_VV
3135 UINT64_C(3355467863), // VWSUBU_VX
3136 UINT64_C(3623886935), // VWSUBU_WV
3137 UINT64_C(3623903319), // VWSUBU_WX
3138 UINT64_C(3422560343), // VWSUB_VV
3139 UINT64_C(3422576727), // VWSUB_VX
3140 UINT64_C(3690995799), // VWSUB_WV
3141 UINT64_C(3691012183), // VWSUB_WX
3142 UINT64_C(738209879), // VXOR_VI
3143 UINT64_C(738197591), // VXOR_VV
3144 UINT64_C(738213975), // VXOR_VX
3145 UINT64_C(1208164439), // VZEXT_VF2
3146 UINT64_C(1208098903), // VZEXT_VF4
3147 UINT64_C(1208033367), // VZEXT_VF8
3148 UINT64_C(4160757847), // VZIP_VV
3149 UINT64_C(33562779), // WADD
3150 UINT64_C(167780507), // WADDA
3151 UINT64_C(436215963), // WADDAU
3152 UINT64_C(301998235), // WADDU
3153 UINT64_C(273678451), // WFI
3154 UINT64_C(704651419), // WMACC
3155 UINT64_C(1778393243), // WMACCSU
3156 UINT64_C(973086875), // WMACCU
3157 UINT64_C(570433691), // WMUL
3158 UINT64_C(1644175515), // WMULSU
3159 UINT64_C(838869147), // WMULU
3160 UINT64_C(13631603), // WRS_NTO
3161 UINT64_C(30408819), // WRS_STO
3162 UINT64_C(1308631067), // WSLA
3163 UINT64_C(1140858907), // WSLAI
3164 UINT64_C(234889243), // WSLL
3165 UINT64_C(67117083), // WSLLI
3166 UINT64_C(1107304603), // WSUB
3167 UINT64_C(1241522331), // WSUBA
3168 UINT64_C(1509957787), // WSUBAU
3169 UINT64_C(1375740059), // WSUBU
3170 UINT64_C(2046828571), // WZIP16P
3171 UINT64_C(2013274139), // WZIP8P
3172 UINT64_C(1073758259), // XNOR
3173 UINT64_C(16435), // XOR
3174 UINT64_C(16403), // XORI
3175 UINT64_C(671096883), // XPERM4
3176 UINT64_C(671105075), // XPERM8
3177 UINT64_C(100663419), // YADD
3178 UINT64_C(16507), // YADDI
3179 UINT64_C(369098875), // YADDRW
3180 UINT64_C(4026531963), // YAMASK
3181 UINT64_C(4093640827), // YBASER
3182 UINT64_C(503316603), // YBLD
3183 UINT64_C(1174405243), // YBNDSRW
3184 UINT64_C(905969787), // YBNDSW
3185 UINT64_C(3758116987), // YBNDSWI
3186 UINT64_C(201326715), // YEQ
3187 UINT64_C(4096786555), // YLENR
3188 UINT64_C(100663419), // YMV
3189 UINT64_C(637534331), // YPERMC
3190 UINT64_C(4094689403), // YPERMR
3191 UINT64_C(469762171), // YSS
3192 UINT64_C(234881147), // YSUNSEAL
3193 UINT64_C(4097835131), // YTAGR
3194 UINT64_C(4095737979), // YTOPR
3195 UINT64_C(4098883707), // YTYPER
3196 UINT64_C(134234163), // ZEXT_H_RV32
3197 UINT64_C(134234171), // ZEXT_H_RV64
3198 UINT64_C(4127203387), // ZIP16HP
3199 UINT64_C(4060094523), // ZIP16P
3200 UINT64_C(4093648955), // ZIP8HP
3201 UINT64_C(4026540091), // ZIP8P
3202 UINT64_C(149950483), // ZIP_RV32
3203 };
3204 constexpr unsigned FirstSupportedOpcode = 13754;
3205
3206 const unsigned opcode = MI.getOpcode();
3207 if (opcode < FirstSupportedOpcode)
3208 reportUnsupportedInst(Inst: MI);
3209 unsigned TableIndex = opcode - FirstSupportedOpcode;
3210 uint64_t Value = InstBits[TableIndex];
3211 uint64_t op = 0;
3212 (void)op; // suppress warning
3213 switch (opcode) {
3214 case RISCV::C_EBREAK:
3215 case RISCV::C_MOP_11:
3216 case RISCV::C_MOP_13:
3217 case RISCV::C_MOP_15:
3218 case RISCV::C_MOP_3:
3219 case RISCV::C_MOP_7:
3220 case RISCV::C_MOP_9:
3221 case RISCV::C_NOP:
3222 case RISCV::C_SSPOPCHK:
3223 case RISCV::C_SSPUSH:
3224 case RISCV::C_UNIMP:
3225 case RISCV::DRET:
3226 case RISCV::EBREAK:
3227 case RISCV::ECALL:
3228 case RISCV::FENCE_I:
3229 case RISCV::FENCE_TSO:
3230 case RISCV::MIPOPRET:
3231 case RISCV::MIPS_EHB:
3232 case RISCV::MIPS_IHB:
3233 case RISCV::MIPS_PAUSE:
3234 case RISCV::MNRET:
3235 case RISCV::MRET:
3236 case RISCV::QC_C_DI:
3237 case RISCV::QC_C_EI:
3238 case RISCV::QC_C_MIENTER:
3239 case RISCV::QC_C_MIENTER_NEST:
3240 case RISCV::QC_C_MILEAVERET:
3241 case RISCV::QC_C_MNRET:
3242 case RISCV::QC_C_MRET:
3243 case RISCV::SCTRCLR:
3244 case RISCV::SFENCE_INVAL_IR:
3245 case RISCV::SFENCE_W_INVAL:
3246 case RISCV::SF_CEASE:
3247 case RISCV::SF_VTDISCARD:
3248 case RISCV::SIPOPRET:
3249 case RISCV::SRET:
3250 case RISCV::TH_DCACHE_CALL:
3251 case RISCV::TH_DCACHE_CIALL:
3252 case RISCV::TH_DCACHE_IALL:
3253 case RISCV::TH_ICACHE_IALL:
3254 case RISCV::TH_ICACHE_IALLS:
3255 case RISCV::TH_L2CACHE_CALL:
3256 case RISCV::TH_L2CACHE_CIALL:
3257 case RISCV::TH_L2CACHE_IALL:
3258 case RISCV::TH_SYNC:
3259 case RISCV::TH_SYNC_I:
3260 case RISCV::TH_SYNC_IS:
3261 case RISCV::TH_SYNC_S:
3262 case RISCV::UNIMP:
3263 case RISCV::WFI:
3264 case RISCV::WRS_NTO:
3265 case RISCV::WRS_STO: {
3266 break;
3267 }
3268 case RISCV::AIF_FSWG_PS:
3269 case RISCV::AIF_FSWL_PS: {
3270 // op: fs3
3271 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3272 Value |= (op & 0x1f) << 7;
3273 // op: rs1
3274 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3275 Value |= (op & 0x1f) << 15;
3276 break;
3277 }
3278 case RISCV::C_NOP_HINT: {
3279 // op: imm
3280 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3281 Value |= (op & 0x20) << 7;
3282 Value |= (op & 0x1f) << 2;
3283 break;
3284 }
3285 case RISCV::C_LI:
3286 case RISCV::C_LUI: {
3287 // op: imm
3288 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3289 Value |= (op & 0x20) << 7;
3290 Value |= (op & 0x1f) << 2;
3291 // op: rd
3292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3293 Value |= (op & 0x1f) << 7;
3294 break;
3295 }
3296 case RISCV::AIF_FSLLI_PI:
3297 case RISCV::AIF_FSRAI_PI:
3298 case RISCV::AIF_FSRLI_PI: {
3299 // op: imm
3300 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3301 Value |= (op & 0x1f) << 20;
3302 // op: rs1
3303 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3304 Value |= (op & 0x1f) << 15;
3305 // op: rd
3306 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3307 Value |= (op & 0x1f) << 7;
3308 break;
3309 }
3310 case RISCV::C_FLDSP:
3311 case RISCV::C_LDSP:
3312 case RISCV::C_LDSP_RV32: {
3313 // op: imm
3314 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3315 Value |= (op & 0x20) << 7;
3316 Value |= (op & 0x18) << 2;
3317 Value |= (op & 0x1c0) >> 4;
3318 // op: rd
3319 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3320 Value |= (op & 0x1f) << 7;
3321 break;
3322 }
3323 case RISCV::C_FLWSP:
3324 case RISCV::C_LWSP:
3325 case RISCV::C_LWSP_INX: {
3326 // op: imm
3327 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3328 Value |= (op & 0x20) << 7;
3329 Value |= (op & 0x1c) << 2;
3330 Value |= (op & 0xc0) >> 4;
3331 // op: rd
3332 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3333 Value |= (op & 0x1f) << 7;
3334 break;
3335 }
3336 case RISCV::C_ADDI:
3337 case RISCV::C_ADDIW: {
3338 // op: imm
3339 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3340 Value |= (op & 0x20) << 7;
3341 Value |= (op & 0x1f) << 2;
3342 // op: rd
3343 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3344 Value |= (op & 0x1f) << 7;
3345 break;
3346 }
3347 case RISCV::C_ANDI: {
3348 // op: imm
3349 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3350 Value |= (op & 0x20) << 7;
3351 Value |= (op & 0x1f) << 2;
3352 // op: rs1
3353 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3354 Value |= (op & 0x7) << 7;
3355 break;
3356 }
3357 case RISCV::C_ADDI16SP: {
3358 // op: imm
3359 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3360 Value |= (op & 0x200) << 3;
3361 Value |= (op & 0x10) << 2;
3362 Value |= (op & 0x40) >> 1;
3363 Value |= (op & 0x180) >> 4;
3364 Value |= (op & 0x20) >> 3;
3365 break;
3366 }
3367 case RISCV::C_ADDI4SPN: {
3368 // op: imm
3369 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3370 Value |= (op & 0x30) << 7;
3371 Value |= (op & 0x3c0) << 1;
3372 Value |= (op & 0x4) << 4;
3373 Value |= (op & 0x8) << 2;
3374 // op: rd
3375 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3376 Value |= (op & 0x7) << 2;
3377 break;
3378 }
3379 case RISCV::C_FSDSP:
3380 case RISCV::C_SDSP:
3381 case RISCV::C_SDSP_RV32: {
3382 // op: imm
3383 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3384 Value |= (op & 0x38) << 7;
3385 Value |= (op & 0x1c0) << 1;
3386 // op: rs2
3387 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3388 Value |= (op & 0x1f) << 2;
3389 break;
3390 }
3391 case RISCV::C_FSWSP:
3392 case RISCV::C_SWSP:
3393 case RISCV::C_SWSP_INX: {
3394 // op: imm
3395 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3396 Value |= (op & 0x3c) << 7;
3397 Value |= (op & 0xc0) << 1;
3398 // op: rs2
3399 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3400 Value |= (op & 0x1f) << 2;
3401 break;
3402 }
3403 case RISCV::AIF_FADDI_PI:
3404 case RISCV::AIF_FANDI_PI: {
3405 // op: imm
3406 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3407 Value |= (op & 0x3e0) << 22;
3408 Value |= (op & 0x1f) << 20;
3409 // op: rs1
3410 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3411 Value |= (op & 0x1f) << 15;
3412 // op: rd
3413 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3414 Value |= (op & 0x1f) << 7;
3415 break;
3416 }
3417 case RISCV::AIF_MOV_M_X: {
3418 // op: imm
3419 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3420 Value |= (op & 0xf8) << 17;
3421 Value |= (op & 0x7) << 12;
3422 // op: rs1
3423 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3424 Value |= (op & 0x1f) << 15;
3425 // op: rd
3426 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3427 Value |= (op & 0x7) << 7;
3428 break;
3429 }
3430 case RISCV::AIF_MASKPOPC_ET_RAST: {
3431 // op: imm
3432 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3433 Value |= (op & 0xc) << 21;
3434 Value |= (op & 0x3) << 18;
3435 // op: rs2
3436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3437 Value |= (op & 0x7) << 20;
3438 // op: rs1
3439 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3440 Value |= (op & 0x7) << 15;
3441 // op: rd
3442 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3443 Value |= (op & 0x1f) << 7;
3444 break;
3445 }
3446 case RISCV::C_BEQZ:
3447 case RISCV::C_BNEZ: {
3448 // op: imm
3449 op = getImmOpValueAsrN<1>(MI, OpNo: 1, Fixups, STI);
3450 Value |= (op & 0x80) << 5;
3451 Value |= (op & 0xc) << 8;
3452 Value |= (op & 0x60);
3453 Value |= (op & 0x3) << 3;
3454 Value |= (op & 0x10) >> 2;
3455 // op: rs1
3456 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3457 Value |= (op & 0x7) << 7;
3458 break;
3459 }
3460 case RISCV::C_SLLI: {
3461 // op: imm
3462 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3463 Value |= (op & 0x20) << 7;
3464 Value |= (op & 0x1f) << 2;
3465 // op: rd
3466 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3467 Value |= (op & 0x1f) << 7;
3468 break;
3469 }
3470 case RISCV::C_SRAI:
3471 case RISCV::C_SRLI: {
3472 // op: imm
3473 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3474 Value |= (op & 0x20) << 7;
3475 Value |= (op & 0x1f) << 2;
3476 // op: rs1
3477 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3478 Value |= (op & 0x7) << 7;
3479 break;
3480 }
3481 case RISCV::QC_CLRINTI:
3482 case RISCV::QC_SETINTI: {
3483 // op: imm10
3484 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3485 Value |= (op & 0x3ff) << 15;
3486 break;
3487 }
3488 case RISCV::NDS_BEQC:
3489 case RISCV::NDS_BNEC: {
3490 // op: imm10
3491 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3492 Value |= (op & 0x200) << 22;
3493 Value |= (op & 0x1f0) << 21;
3494 Value |= (op & 0xf) << 8;
3495 // op: rs1
3496 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3497 Value |= (op & 0x1f) << 15;
3498 // op: cimm
3499 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3500 Value |= (op & 0x40) << 24;
3501 Value |= (op & 0x1f) << 20;
3502 Value |= (op & 0x20) << 2;
3503 break;
3504 }
3505 case RISCV::NDS_BBC:
3506 case RISCV::NDS_BBS: {
3507 // op: imm10
3508 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3509 Value |= (op & 0x200) << 22;
3510 Value |= (op & 0x1f0) << 21;
3511 Value |= (op & 0xf) << 8;
3512 // op: rs1
3513 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3514 Value |= (op & 0x1f) << 15;
3515 // op: cimm
3516 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3517 Value |= (op & 0x1f) << 20;
3518 Value |= (op & 0x20) << 2;
3519 break;
3520 }
3521 case RISCV::PREFETCH_I:
3522 case RISCV::PREFETCH_R:
3523 case RISCV::PREFETCH_W: {
3524 // op: imm12
3525 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3526 Value |= (op & 0xfe0) << 20;
3527 // op: rs1
3528 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3529 Value |= (op & 0x1f) << 15;
3530 break;
3531 }
3532 case RISCV::AIF_FSQ2:
3533 case RISCV::AIF_FSW_PS: {
3534 // op: imm12
3535 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3536 Value |= (op & 0xfe0) << 20;
3537 Value |= (op & 0x1f) << 7;
3538 // op: rs2
3539 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3540 Value |= (op & 0x1f) << 20;
3541 // op: rs1
3542 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3543 Value |= (op & 0x1f) << 15;
3544 break;
3545 }
3546 case RISCV::FSD:
3547 case RISCV::FSH:
3548 case RISCV::FSQ:
3549 case RISCV::FSW:
3550 case RISCV::SB:
3551 case RISCV::SD:
3552 case RISCV::SD_RV32:
3553 case RISCV::SH:
3554 case RISCV::SH_INX:
3555 case RISCV::SW:
3556 case RISCV::SW_INX: {
3557 // op: imm12
3558 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3559 Value |= (op & 0xfe0) << 20;
3560 Value |= (op & 0x1f) << 7;
3561 // op: rs2
3562 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3563 Value |= (op & 0x1f) << 20;
3564 // op: rs1
3565 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3566 Value |= (op & 0x1f) << 15;
3567 break;
3568 }
3569 case RISCV::CV_SB_ri_inc:
3570 case RISCV::CV_SH_ri_inc:
3571 case RISCV::CV_SW_ri_inc: {
3572 // op: imm12
3573 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3574 Value |= (op & 0xfe0) << 20;
3575 Value |= (op & 0x1f) << 7;
3576 // op: rs2
3577 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3578 Value |= (op & 0x1f) << 20;
3579 // op: rs1
3580 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3581 Value |= (op & 0x1f) << 15;
3582 break;
3583 }
3584 case RISCV::BEQI:
3585 case RISCV::BNEI: {
3586 // op: imm12
3587 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3588 Value |= (op & 0x800) << 20;
3589 Value |= (op & 0x3f0) << 21;
3590 Value |= (op & 0xf) << 8;
3591 Value |= (op & 0x400) >> 3;
3592 // op: cimm
3593 op = getImmOpValueZibi(MI, OpNo: 1, Fixups, STI);
3594 Value |= (op & 0x1f) << 20;
3595 // op: rs1
3596 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3597 Value |= (op & 0x1f) << 15;
3598 break;
3599 }
3600 case RISCV::CV_BEQIMM:
3601 case RISCV::CV_BNEIMM: {
3602 // op: imm12
3603 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3604 Value |= (op & 0x800) << 20;
3605 Value |= (op & 0x3f0) << 21;
3606 Value |= (op & 0xf) << 8;
3607 Value |= (op & 0x400) >> 3;
3608 // op: rs1
3609 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3610 Value |= (op & 0x1f) << 15;
3611 // op: imm5
3612 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3613 Value |= (op & 0x1f) << 20;
3614 break;
3615 }
3616 case RISCV::BEQ:
3617 case RISCV::BGE:
3618 case RISCV::BGEU:
3619 case RISCV::BLT:
3620 case RISCV::BLTU:
3621 case RISCV::BNE:
3622 case RISCV::QC_BEQI:
3623 case RISCV::QC_BGEI:
3624 case RISCV::QC_BGEUI:
3625 case RISCV::QC_BLTI:
3626 case RISCV::QC_BLTUI:
3627 case RISCV::QC_BNEI: {
3628 // op: imm12
3629 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3630 Value |= (op & 0x800) << 20;
3631 Value |= (op & 0x3f0) << 21;
3632 Value |= (op & 0xf) << 8;
3633 Value |= (op & 0x400) >> 3;
3634 // op: rs2
3635 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3636 Value |= (op & 0x1f) << 20;
3637 // op: rs1
3638 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3639 Value |= (op & 0x1f) << 15;
3640 break;
3641 }
3642 case RISCV::NDS_SHGP: {
3643 // op: imm17
3644 op = getImmOpValueAsrN<1>(MI, OpNo: 1, Fixups, STI);
3645 Value |= (op & 0x10000) << 15;
3646 Value |= (op & 0x3f0) << 21;
3647 Value |= (op & 0x3800) << 6;
3648 Value |= (op & 0xc000) << 1;
3649 Value |= (op & 0xf) << 8;
3650 Value |= (op & 0x400) >> 3;
3651 // op: rs2
3652 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3653 Value |= (op & 0x1f) << 20;
3654 break;
3655 }
3656 case RISCV::NDS_LHGP:
3657 case RISCV::NDS_LHUGP: {
3658 // op: imm17
3659 op = getImmOpValueAsrN<1>(MI, OpNo: 1, Fixups, STI);
3660 Value |= (op & 0x10000) << 15;
3661 Value |= (op & 0x3ff) << 21;
3662 Value |= (op & 0x400) << 10;
3663 Value |= (op & 0x3800) << 6;
3664 Value |= (op & 0xc000) << 1;
3665 // op: rd
3666 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3667 Value |= (op & 0x1f) << 7;
3668 break;
3669 }
3670 case RISCV::NDS_SWGP: {
3671 // op: imm17
3672 op = getImmOpValueAsrN<2>(MI, OpNo: 1, Fixups, STI);
3673 Value |= (op & 0x10000) << 15;
3674 Value |= (op & 0x1f8) << 22;
3675 Value |= (op & 0x1c00) << 7;
3676 Value |= (op & 0x6000) << 2;
3677 Value |= (op & 0x7) << 9;
3678 Value |= (op & 0x8000) >> 7;
3679 Value |= (op & 0x200) >> 2;
3680 // op: rs2
3681 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3682 Value |= (op & 0x1f) << 20;
3683 break;
3684 }
3685 case RISCV::NDS_LWGP:
3686 case RISCV::NDS_LWUGP: {
3687 // op: imm17
3688 op = getImmOpValueAsrN<2>(MI, OpNo: 1, Fixups, STI);
3689 Value |= (op & 0x10000) << 15;
3690 Value |= (op & 0x1ff) << 22;
3691 Value |= (op & 0x8000) << 6;
3692 Value |= (op & 0x200) << 11;
3693 Value |= (op & 0x1c00) << 7;
3694 Value |= (op & 0x6000) << 2;
3695 // op: rd
3696 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3697 Value |= (op & 0x1f) << 7;
3698 break;
3699 }
3700 case RISCV::NDS_SDGP: {
3701 // op: imm17
3702 op = getImmOpValueAsrN<3>(MI, OpNo: 1, Fixups, STI);
3703 Value |= (op & 0x10000) << 15;
3704 Value |= (op & 0xfc) << 23;
3705 Value |= (op & 0xe00) << 8;
3706 Value |= (op & 0x3000) << 3;
3707 Value |= (op & 0x3) << 10;
3708 Value |= (op & 0xc000) >> 6;
3709 Value |= (op & 0x100) >> 1;
3710 // op: rs2
3711 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3712 Value |= (op & 0x1f) << 20;
3713 break;
3714 }
3715 case RISCV::NDS_LDGP: {
3716 // op: imm17
3717 op = getImmOpValueAsrN<3>(MI, OpNo: 1, Fixups, STI);
3718 Value |= (op & 0x10000) << 15;
3719 Value |= (op & 0xff) << 23;
3720 Value |= (op & 0xc000) << 7;
3721 Value |= (op & 0x100) << 12;
3722 Value |= (op & 0xe00) << 8;
3723 Value |= (op & 0x3000) << 3;
3724 // op: rd
3725 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3726 Value |= (op & 0x1f) << 7;
3727 break;
3728 }
3729 case RISCV::NDS_SBGP: {
3730 // op: imm18
3731 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3732 Value |= (op & 0x20000) << 14;
3733 Value |= (op & 0x7e0) << 20;
3734 Value |= (op & 0x7000) << 5;
3735 Value |= (op & 0x18000);
3736 Value |= (op & 0x1) << 14;
3737 Value |= (op & 0x1e) << 7;
3738 Value |= (op & 0x800) >> 4;
3739 // op: rs2
3740 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3741 Value |= (op & 0x1f) << 20;
3742 break;
3743 }
3744 case RISCV::NDS_ADDIGP:
3745 case RISCV::NDS_LBGP:
3746 case RISCV::NDS_LBUGP: {
3747 // op: imm18
3748 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3749 Value |= (op & 0x20000) << 14;
3750 Value |= (op & 0x7fe) << 20;
3751 Value |= (op & 0x800) << 9;
3752 Value |= (op & 0x7000) << 5;
3753 Value |= (op & 0x18000);
3754 Value |= (op & 0x1) << 14;
3755 // op: rd
3756 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3757 Value |= (op & 0x1f) << 7;
3758 break;
3759 }
3760 case RISCV::QC_LI: {
3761 // op: imm20
3762 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3763 Value |= (op & 0x80000) << 12;
3764 Value |= (op & 0x7fff) << 16;
3765 Value |= (op & 0x78000) >> 3;
3766 // op: rd
3767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3768 Value |= (op & 0x1f) << 7;
3769 break;
3770 }
3771 case RISCV::AIF_FBCI_PI:
3772 case RISCV::AIF_FBCI_PS:
3773 case RISCV::AUIPC:
3774 case RISCV::LUI: {
3775 // op: imm20
3776 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3777 Value |= (op & 0xfffff) << 12;
3778 // op: rd
3779 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3780 Value |= (op & 0x1f) << 7;
3781 break;
3782 }
3783 case RISCV::JAL: {
3784 // op: imm20
3785 op = getImmOpValueAsrN<1>(MI, OpNo: 1, Fixups, STI);
3786 Value |= (op & 0x80000) << 12;
3787 Value |= (op & 0x3ff) << 21;
3788 Value |= (op & 0x400) << 10;
3789 Value |= (op & 0x7f800) << 1;
3790 // op: rd
3791 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3792 Value |= (op & 0x1f) << 7;
3793 break;
3794 }
3795 case RISCV::QC_E_J:
3796 case RISCV::QC_E_JAL: {
3797 // op: imm31
3798 op = getImmOpValueAsrN<1>(MI, OpNo: 0, Fixups, STI);
3799 Value |= (op & 0x7fff8000) << 17;
3800 Value |= (op & 0x800) << 20;
3801 Value |= (op & 0x3f0) << 21;
3802 Value |= (op & 0x7000) << 5;
3803 Value |= (op & 0xf) << 8;
3804 Value |= (op & 0x400) >> 3;
3805 break;
3806 }
3807 case RISCV::QC_SYNC:
3808 case RISCV::QC_SYNCR:
3809 case RISCV::QC_SYNCWF:
3810 case RISCV::QC_SYNCWL: {
3811 // op: imm5
3812 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3813 Value |= (op & 0x1f) << 20;
3814 break;
3815 }
3816 case RISCV::MIPS_SDP: {
3817 // op: imm7
3818 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3819 Value |= (op & 0x60) << 20;
3820 Value |= (op & 0x18) << 7;
3821 // op: rs3
3822 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3823 Value |= (op & 0x1f) << 27;
3824 // op: rs2
3825 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3826 Value |= (op & 0x1f) << 20;
3827 // op: rs1
3828 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3829 Value |= (op & 0x1f) << 15;
3830 break;
3831 }
3832 case RISCV::MIPS_SWP: {
3833 // op: imm7
3834 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3835 Value |= (op & 0x60) << 20;
3836 Value |= (op & 0x1c) << 7;
3837 // op: rs3
3838 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3839 Value |= (op & 0x1f) << 27;
3840 // op: rs2
3841 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3842 Value |= (op & 0x1f) << 20;
3843 // op: rs1
3844 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3845 Value |= (op & 0x1f) << 15;
3846 break;
3847 }
3848 case RISCV::MIPS_LDP: {
3849 // op: imm7
3850 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3851 Value |= (op & 0x78) << 20;
3852 // op: rs1
3853 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3854 Value |= (op & 0x1f) << 15;
3855 // op: rd1
3856 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3857 Value |= (op & 0x1f) << 7;
3858 // op: rd2
3859 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3860 Value |= (op & 0x1f) << 27;
3861 break;
3862 }
3863 case RISCV::MIPS_LWP: {
3864 // op: imm7
3865 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3866 Value |= (op & 0x7c) << 20;
3867 // op: rs1
3868 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3869 Value |= (op & 0x1f) << 15;
3870 // op: rd1
3871 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3872 Value |= (op & 0x1f) << 7;
3873 // op: rd2
3874 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3875 Value |= (op & 0x1f) << 27;
3876 break;
3877 }
3878 case RISCV::QC_PPUTCI: {
3879 // op: imm8
3880 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3881 Value |= (op & 0xff) << 20;
3882 break;
3883 }
3884 case RISCV::MIPS_PREF: {
3885 // op: imm9
3886 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3887 Value |= (op & 0x1ff) << 20;
3888 // op: rs1
3889 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3890 Value |= (op & 0x1f) << 15;
3891 // op: hint
3892 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3893 Value |= (op & 0x1f) << 7;
3894 break;
3895 }
3896 case RISCV::CM_JT:
3897 case RISCV::QC_CM_JT: {
3898 // op: index
3899 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3900 Value |= (op & 0x1f) << 2;
3901 break;
3902 }
3903 case RISCV::CM_JALT:
3904 case RISCV::QC_CM_JALT: {
3905 // op: index
3906 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3907 Value |= (op & 0xff) << 2;
3908 break;
3909 }
3910 case RISCV::C_J:
3911 case RISCV::C_JAL: {
3912 // op: offset
3913 op = getImmOpValueAsrN<1>(MI, OpNo: 0, Fixups, STI);
3914 Value |= (op & 0x400) << 2;
3915 Value |= (op & 0x8) << 8;
3916 Value |= (op & 0x180) << 2;
3917 Value |= (op & 0x200) >> 1;
3918 Value |= (op & 0x20) << 2;
3919 Value |= (op & 0x40);
3920 Value |= (op & 0x7) << 3;
3921 Value |= (op & 0x10) >> 2;
3922 break;
3923 }
3924 case RISCV::InsnCJ: {
3925 // op: opcode
3926 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3927 Value |= (op & 0x3);
3928 // op: funct3
3929 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3930 Value |= (op & 0x7) << 13;
3931 // op: imm11
3932 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3933 Value |= (op & 0x400) << 2;
3934 Value |= (op & 0x8) << 8;
3935 Value |= (op & 0x180) << 2;
3936 Value |= (op & 0x200) >> 1;
3937 Value |= (op & 0x20) << 2;
3938 Value |= (op & 0x40);
3939 Value |= (op & 0x7) << 3;
3940 Value |= (op & 0x10) >> 2;
3941 break;
3942 }
3943 case RISCV::InsnCS: {
3944 // op: opcode
3945 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3946 Value |= (op & 0x3);
3947 // op: funct3
3948 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3949 Value |= (op & 0x7) << 13;
3950 // op: imm5
3951 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
3952 Value |= (op & 0x1c) << 8;
3953 Value |= (op & 0x3) << 5;
3954 // op: rs2
3955 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3956 Value |= (op & 0x7) << 2;
3957 // op: rs1
3958 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
3959 Value |= (op & 0x7) << 7;
3960 break;
3961 }
3962 case RISCV::InsnCSS: {
3963 // op: opcode
3964 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3965 Value |= (op & 0x3);
3966 // op: funct3
3967 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3968 Value |= (op & 0x7) << 13;
3969 // op: imm6
3970 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3971 Value |= (op & 0x3f) << 7;
3972 // op: rs2
3973 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3974 Value |= (op & 0x1f) << 2;
3975 break;
3976 }
3977 case RISCV::InsnCB: {
3978 // op: opcode
3979 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3980 Value |= (op & 0x3);
3981 // op: funct3
3982 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3983 Value |= (op & 0x7) << 13;
3984 // op: imm8
3985 op = getImmOpValueAsrN<1>(MI, OpNo: 3, Fixups, STI);
3986 Value |= (op & 0x80) << 5;
3987 Value |= (op & 0xc) << 8;
3988 Value |= (op & 0x60);
3989 Value |= (op & 0x3) << 3;
3990 Value |= (op & 0x10) >> 2;
3991 // op: rs1
3992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3993 Value |= (op & 0x7) << 7;
3994 break;
3995 }
3996 case RISCV::InsnQC_EJ: {
3997 // op: opcode
3998 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3999 Value |= (op & 0x7f);
4000 // op: func3
4001 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4002 Value |= (op & 0x7) << 12;
4003 // op: func2
4004 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4005 Value |= (op & 0x3) << 15;
4006 // op: func5
4007 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4008 Value |= (op & 0x1f) << 20;
4009 // op: imm31
4010 op = getImmOpValueAsrN<1>(MI, OpNo: 4, Fixups, STI);
4011 Value |= (op & 0x7fff8000) << 17;
4012 Value |= (op & 0x800) << 20;
4013 Value |= (op & 0x3f0) << 21;
4014 Value |= (op & 0x7000) << 5;
4015 Value |= (op & 0xf) << 8;
4016 Value |= (op & 0x400) >> 3;
4017 break;
4018 }
4019 case RISCV::InsnQC_ES: {
4020 // op: opcode
4021 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
4022 Value |= (op & 0x7f);
4023 // op: func3
4024 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4025 Value |= (op & 0x7) << 12;
4026 // op: func2
4027 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4028 Value |= (op & 0x3) << 30;
4029 // op: rs1
4030 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4031 Value |= (op & 0x1f) << 15;
4032 // op: rs2
4033 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4034 Value |= (op & 0x1f) << 20;
4035 // op: imm26
4036 op = getImmOpValue(MI, OpNo: 5, Fixups, STI);
4037 Value |= (op & 0x3fffc00) << 22;
4038 Value |= (op & 0x3e0) << 20;
4039 Value |= (op & 0x1f) << 7;
4040 break;
4041 }
4042 case RISCV::InsnQC_EB: {
4043 // op: opcode
4044 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
4045 Value |= (op & 0x7f);
4046 // op: func3
4047 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4048 Value |= (op & 0x7) << 12;
4049 // op: func5
4050 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4051 Value |= (op & 0x1f) << 20;
4052 // op: rs1
4053 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4054 Value |= (op & 0x1f) << 15;
4055 // op: imm12
4056 op = getImmOpValueAsrN<1>(MI, OpNo: 5, Fixups, STI);
4057 Value |= (op & 0x800) << 20;
4058 Value |= (op & 0x3f0) << 21;
4059 Value |= (op & 0xf) << 8;
4060 Value |= (op & 0x400) >> 3;
4061 // op: imm16
4062 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4063 Value |= (op & 0xffff) << 32;
4064 break;
4065 }
4066 case RISCV::InsnS: {
4067 // op: opcode
4068 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
4069 Value |= (op & 0x7f);
4070 // op: funct3
4071 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4072 Value |= (op & 0x7) << 12;
4073 // op: imm12
4074 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4075 Value |= (op & 0xfe0) << 20;
4076 Value |= (op & 0x1f) << 7;
4077 // op: rs2
4078 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4079 Value |= (op & 0x1f) << 20;
4080 // op: rs1
4081 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4082 Value |= (op & 0x1f) << 15;
4083 break;
4084 }
4085 case RISCV::InsnB: {
4086 // op: opcode
4087 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
4088 Value |= (op & 0x7f);
4089 // op: funct3
4090 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4091 Value |= (op & 0x7) << 12;
4092 // op: imm12
4093 op = getImmOpValueAsrN<1>(MI, OpNo: 4, Fixups, STI);
4094 Value |= (op & 0x800) << 20;
4095 Value |= (op & 0x3f0) << 21;
4096 Value |= (op & 0xf) << 8;
4097 Value |= (op & 0x400) >> 3;
4098 // op: rs2
4099 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4100 Value |= (op & 0x1f) << 20;
4101 // op: rs1
4102 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4103 Value |= (op & 0x1f) << 15;
4104 break;
4105 }
4106 case RISCV::InsnCL: {
4107 // op: opcode
4108 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4109 Value |= (op & 0x3);
4110 // op: funct3
4111 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4112 Value |= (op & 0x7) << 13;
4113 // op: imm5
4114 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4115 Value |= (op & 0x1c) << 8;
4116 Value |= (op & 0x3) << 5;
4117 // op: rd
4118 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4119 Value |= (op & 0x7) << 2;
4120 // op: rs1
4121 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4122 Value |= (op & 0x7) << 7;
4123 break;
4124 }
4125 case RISCV::InsnCI: {
4126 // op: opcode
4127 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4128 Value |= (op & 0x3);
4129 // op: funct3
4130 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4131 Value |= (op & 0x7) << 13;
4132 // op: imm6
4133 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4134 Value |= (op & 0x20) << 7;
4135 Value |= (op & 0x1f) << 2;
4136 // op: rd
4137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4138 Value |= (op & 0x1f) << 7;
4139 break;
4140 }
4141 case RISCV::InsnCIW: {
4142 // op: opcode
4143 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4144 Value |= (op & 0x3);
4145 // op: funct3
4146 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4147 Value |= (op & 0x7) << 13;
4148 // op: imm8
4149 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4150 Value |= (op & 0xff) << 5;
4151 // op: rd
4152 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4153 Value |= (op & 0x7) << 2;
4154 break;
4155 }
4156 case RISCV::InsnCR: {
4157 // op: opcode
4158 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4159 Value |= (op & 0x3);
4160 // op: funct4
4161 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4162 Value |= (op & 0xf) << 12;
4163 // op: rs2
4164 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4165 Value |= (op & 0x1f) << 2;
4166 // op: rd
4167 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4168 Value |= (op & 0x1f) << 7;
4169 break;
4170 }
4171 case RISCV::InsnCA: {
4172 // op: opcode
4173 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4174 Value |= (op & 0x3);
4175 // op: funct6
4176 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4177 Value |= (op & 0x3f) << 10;
4178 // op: funct2
4179 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4180 Value |= (op & 0x3) << 5;
4181 // op: rd
4182 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4183 Value |= (op & 0x7) << 7;
4184 // op: rs2
4185 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4186 Value |= (op & 0x7) << 2;
4187 break;
4188 }
4189 case RISCV::InsnQC_EAI: {
4190 // op: opcode
4191 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4192 Value |= (op & 0x7f);
4193 // op: func3
4194 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4195 Value |= (op & 0x7) << 12;
4196 // op: func1
4197 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4198 Value |= (op & 0x1) << 15;
4199 // op: rd
4200 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4201 Value |= (op & 0x1f) << 7;
4202 // op: imm32
4203 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4204 Value |= (op & 0xffffffff) << 16;
4205 break;
4206 }
4207 case RISCV::InsnQC_EI:
4208 case RISCV::InsnQC_EI_Mem: {
4209 // op: opcode
4210 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4211 Value |= (op & 0x7f);
4212 // op: func3
4213 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4214 Value |= (op & 0x7) << 12;
4215 // op: func2
4216 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4217 Value |= (op & 0x3) << 30;
4218 // op: rd
4219 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4220 Value |= (op & 0x1f) << 7;
4221 // op: rs1
4222 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4223 Value |= (op & 0x1f) << 15;
4224 // op: imm26
4225 op = getImmOpValue(MI, OpNo: 5, Fixups, STI);
4226 Value |= (op & 0x3fffc00) << 22;
4227 Value |= (op & 0x3ff) << 20;
4228 break;
4229 }
4230 case RISCV::InsnR4: {
4231 // op: opcode
4232 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4233 Value |= (op & 0x7f);
4234 // op: funct2
4235 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4236 Value |= (op & 0x3) << 25;
4237 // op: funct3
4238 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4239 Value |= (op & 0x7) << 12;
4240 // op: rs3
4241 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
4242 Value |= (op & 0x1f) << 27;
4243 // op: rs2
4244 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
4245 Value |= (op & 0x1f) << 20;
4246 // op: rs1
4247 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4248 Value |= (op & 0x1f) << 15;
4249 // op: rd
4250 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4251 Value |= (op & 0x1f) << 7;
4252 break;
4253 }
4254 case RISCV::InsnI:
4255 case RISCV::InsnI_Mem: {
4256 // op: opcode
4257 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4258 Value |= (op & 0x7f);
4259 // op: funct3
4260 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4261 Value |= (op & 0x7) << 12;
4262 // op: imm12
4263 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4264 Value |= (op & 0xfff) << 20;
4265 // op: rs1
4266 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4267 Value |= (op & 0x1f) << 15;
4268 // op: rd
4269 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4270 Value |= (op & 0x1f) << 7;
4271 break;
4272 }
4273 case RISCV::InsnR: {
4274 // op: opcode
4275 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4276 Value |= (op & 0x7f);
4277 // op: funct7
4278 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4279 Value |= (op & 0x7f) << 25;
4280 // op: funct3
4281 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4282 Value |= (op & 0x7) << 12;
4283 // op: rs2
4284 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
4285 Value |= (op & 0x1f) << 20;
4286 // op: rs1
4287 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4288 Value |= (op & 0x1f) << 15;
4289 // op: rd
4290 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4291 Value |= (op & 0x1f) << 7;
4292 break;
4293 }
4294 case RISCV::InsnU: {
4295 // op: opcode
4296 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4297 Value |= (op & 0x7f);
4298 // op: imm20
4299 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4300 Value |= (op & 0xfffff) << 12;
4301 // op: rd
4302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4303 Value |= (op & 0x1f) << 7;
4304 break;
4305 }
4306 case RISCV::InsnJ: {
4307 // op: opcode
4308 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4309 Value |= (op & 0x7f);
4310 // op: imm20
4311 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
4312 Value |= (op & 0xfffff) << 12;
4313 // op: rd
4314 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4315 Value |= (op & 0x1f) << 7;
4316 break;
4317 }
4318 case RISCV::FENCE: {
4319 // op: pred
4320 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4321 Value |= (op & 0xf) << 24;
4322 // op: succ
4323 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4324 Value |= (op & 0xf) << 20;
4325 break;
4326 }
4327 case RISCV::PLUI_DH: {
4328 // op: rd
4329 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4330 Value |= (op & 0x1e) << 7;
4331 // op: imm10
4332 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4333 Value |= (op & 0x1) << 24;
4334 Value |= (op & 0x3fe) << 14;
4335 break;
4336 }
4337 case RISCV::PLI_DH: {
4338 // op: rd
4339 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4340 Value |= (op & 0x1e) << 7;
4341 // op: imm10
4342 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4343 Value |= (op & 0x1ff) << 16;
4344 Value |= (op & 0x200) << 6;
4345 break;
4346 }
4347 case RISCV::PLI_DB: {
4348 // op: rd
4349 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4350 Value |= (op & 0x1e) << 7;
4351 // op: imm8
4352 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4353 Value |= (op & 0xff) << 16;
4354 break;
4355 }
4356 case RISCV::AIF_MOVA_X_M:
4357 case RISCV::QC_C_DIR:
4358 case RISCV::SSRDP: {
4359 // op: rd
4360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4361 Value |= (op & 0x1f) << 7;
4362 break;
4363 }
4364 case RISCV::QC_E_LI: {
4365 // op: rd
4366 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4367 Value |= (op & 0x1f) << 7;
4368 // op: imm
4369 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4370 Value |= (op & 0xffffffff) << 16;
4371 break;
4372 }
4373 case RISCV::FLI_D:
4374 case RISCV::FLI_H:
4375 case RISCV::FLI_Q:
4376 case RISCV::FLI_S: {
4377 // op: rd
4378 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4379 Value |= (op & 0x1f) << 7;
4380 // op: imm
4381 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4382 Value |= (op & 0x1f) << 15;
4383 break;
4384 }
4385 case RISCV::PLUI_H:
4386 case RISCV::PLUI_W: {
4387 // op: rd
4388 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4389 Value |= (op & 0x1f) << 7;
4390 // op: imm10
4391 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4392 Value |= (op & 0x1) << 24;
4393 Value |= (op & 0x3fe) << 14;
4394 break;
4395 }
4396 case RISCV::PLI_H:
4397 case RISCV::PLI_W: {
4398 // op: rd
4399 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4400 Value |= (op & 0x1f) << 7;
4401 // op: imm10
4402 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4403 Value |= (op & 0x1ff) << 16;
4404 Value |= (op & 0x200) << 6;
4405 break;
4406 }
4407 case RISCV::PLI_B: {
4408 // op: rd
4409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4410 Value |= (op & 0x1f) << 7;
4411 // op: imm8
4412 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4413 Value |= (op & 0xff) << 16;
4414 break;
4415 }
4416 case RISCV::AIF_FMVS_X_PS:
4417 case RISCV::AIF_FMVZ_X_PS: {
4418 // op: rd
4419 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4420 Value |= (op & 0x1f) << 7;
4421 // op: rs1
4422 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4423 Value |= (op & 0x1f) << 15;
4424 // op: idx
4425 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4426 Value |= (op & 0x7) << 20;
4427 break;
4428 }
4429 case RISCV::QC_E_ADDI:
4430 case RISCV::QC_E_ANDI:
4431 case RISCV::QC_E_LB:
4432 case RISCV::QC_E_LBU:
4433 case RISCV::QC_E_LH:
4434 case RISCV::QC_E_LHU:
4435 case RISCV::QC_E_LW:
4436 case RISCV::QC_E_ORI:
4437 case RISCV::QC_E_XORI: {
4438 // op: rd
4439 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4440 Value |= (op & 0x1f) << 7;
4441 // op: rs1
4442 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4443 Value |= (op & 0x1f) << 15;
4444 // op: imm
4445 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4446 Value |= (op & 0x3fffc00) << 22;
4447 Value |= (op & 0x3ff) << 20;
4448 break;
4449 }
4450 case RISCV::AIF_FSWIZZ_PS: {
4451 // op: rd
4452 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4453 Value |= (op & 0x1f) << 7;
4454 // op: rs1
4455 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4456 Value |= (op & 0x1f) << 15;
4457 // op: imm
4458 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4459 Value |= (op & 0xf8) << 17;
4460 Value |= (op & 0x7) << 12;
4461 break;
4462 }
4463 case RISCV::NDS_BFOS:
4464 case RISCV::NDS_BFOZ: {
4465 // op: rd
4466 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4467 Value |= (op & 0x1f) << 7;
4468 // op: rs1
4469 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4470 Value |= (op & 0x1f) << 15;
4471 // op: msb
4472 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4473 Value |= (op & 0x3f) << 26;
4474 // op: lsb
4475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4476 Value |= (op & 0x3f) << 20;
4477 break;
4478 }
4479 case RISCV::AIF_FCVT_PS_PW:
4480 case RISCV::AIF_FCVT_PS_PWU:
4481 case RISCV::AIF_FCVT_PWU_PS:
4482 case RISCV::AIF_FCVT_PW_PS: {
4483 // op: rd
4484 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4485 Value |= (op & 0x1f) << 7;
4486 // op: rs1
4487 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4488 Value |= (op & 0x1f) << 15;
4489 // op: rm
4490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4491 Value |= (op & 0x7) << 12;
4492 break;
4493 }
4494 case RISCV::AIF_FADD_PS:
4495 case RISCV::AIF_FDIV_PS:
4496 case RISCV::AIF_FMUL_PS:
4497 case RISCV::AIF_FSUB_PS: {
4498 // op: rd
4499 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4500 Value |= (op & 0x1f) << 7;
4501 // op: rs1
4502 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4503 Value |= (op & 0x1f) << 15;
4504 // op: rs2
4505 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4506 Value |= (op & 0x1f) << 20;
4507 // op: rm
4508 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4509 Value |= (op & 0x7) << 12;
4510 break;
4511 }
4512 case RISCV::AIF_FCMOV_PS: {
4513 // op: rd
4514 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4515 Value |= (op & 0x1f) << 7;
4516 // op: rs1
4517 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4518 Value |= (op & 0x1f) << 15;
4519 // op: rs2
4520 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4521 Value |= (op & 0x1f) << 20;
4522 // op: rs3
4523 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4524 Value |= (op & 0x1f) << 27;
4525 break;
4526 }
4527 case RISCV::AIF_FMADD_PS:
4528 case RISCV::AIF_FMSUB_PS:
4529 case RISCV::AIF_FNMADD_PS:
4530 case RISCV::AIF_FNMSUB_PS: {
4531 // op: rd
4532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4533 Value |= (op & 0x1f) << 7;
4534 // op: rs1
4535 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4536 Value |= (op & 0x1f) << 15;
4537 // op: rs2
4538 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4539 Value |= (op & 0x1f) << 20;
4540 // op: rs3
4541 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4542 Value |= (op & 0x1f) << 27;
4543 // op: rm
4544 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4545 Value |= (op & 0x7) << 12;
4546 break;
4547 }
4548 case RISCV::VSETIVLI: {
4549 // op: rd
4550 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4551 Value |= (op & 0x1f) << 7;
4552 // op: uimm
4553 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4554 Value |= (op & 0x1f) << 15;
4555 // op: vtypei
4556 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4557 Value |= (op & 0x3ff) << 20;
4558 break;
4559 }
4560 case RISCV::VCPOP_M:
4561 case RISCV::VFIRST_M: {
4562 // op: rd
4563 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4564 Value |= (op & 0x1f) << 7;
4565 // op: vm
4566 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
4567 Value |= (op & 0x1) << 25;
4568 // op: vs2
4569 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4570 Value |= (op & 0x1f) << 20;
4571 break;
4572 }
4573 case RISCV::VFMV_F_S:
4574 case RISCV::VMV_X_S: {
4575 // op: rd
4576 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4577 Value |= (op & 0x1f) << 7;
4578 // op: vs2
4579 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4580 Value |= (op & 0x1f) << 20;
4581 break;
4582 }
4583 case RISCV::QK_C_LBU: {
4584 // op: rd
4585 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4586 Value |= (op & 0x7) << 2;
4587 // op: rs1
4588 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4589 Value |= (op & 0x7) << 7;
4590 // op: imm
4591 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4592 Value |= (op & 0x1) << 12;
4593 Value |= (op & 0x18) << 7;
4594 Value |= (op & 0x6) << 4;
4595 break;
4596 }
4597 case RISCV::C_LBU: {
4598 // op: rd
4599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4600 Value |= (op & 0x7) << 2;
4601 // op: rs1
4602 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4603 Value |= (op & 0x7) << 7;
4604 // op: imm
4605 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4606 Value |= (op & 0x1) << 6;
4607 Value |= (op & 0x2) << 4;
4608 break;
4609 }
4610 case RISCV::C_LH:
4611 case RISCV::C_LHU:
4612 case RISCV::C_LH_INX: {
4613 // op: rd
4614 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4615 Value |= (op & 0x7) << 2;
4616 // op: rs1
4617 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4618 Value |= (op & 0x7) << 7;
4619 // op: imm
4620 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4621 Value |= (op & 0x2) << 4;
4622 break;
4623 }
4624 case RISCV::C_FLW:
4625 case RISCV::C_LW:
4626 case RISCV::C_LW_INX: {
4627 // op: rd
4628 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4629 Value |= (op & 0x7) << 2;
4630 // op: rs1
4631 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4632 Value |= (op & 0x7) << 7;
4633 // op: imm
4634 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4635 Value |= (op & 0x38) << 7;
4636 Value |= (op & 0x4) << 4;
4637 Value |= (op & 0x40) >> 1;
4638 break;
4639 }
4640 case RISCV::QK_C_LHU: {
4641 // op: rd
4642 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4643 Value |= (op & 0x7) << 2;
4644 // op: rs1
4645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4646 Value |= (op & 0x7) << 7;
4647 // op: imm
4648 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4649 Value |= (op & 0x38) << 7;
4650 Value |= (op & 0x6) << 4;
4651 break;
4652 }
4653 case RISCV::C_FLD:
4654 case RISCV::C_LD:
4655 case RISCV::C_LD_RV32: {
4656 // op: rd
4657 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4658 Value |= (op & 0x7) << 2;
4659 // op: rs1
4660 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4661 Value |= (op & 0x7) << 7;
4662 // op: imm
4663 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4664 Value |= (op & 0x38) << 7;
4665 Value |= (op & 0xc0) >> 1;
4666 break;
4667 }
4668 case RISCV::SF_VTZERO_T: {
4669 // op: rd
4670 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4671 Value |= (op & 0xf) << 8;
4672 break;
4673 }
4674 case RISCV::QC_E_ADDAI:
4675 case RISCV::QC_E_ANDAI:
4676 case RISCV::QC_E_ORAI:
4677 case RISCV::QC_E_XORAI: {
4678 // op: rd
4679 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4680 Value |= (op & 0x1f) << 7;
4681 // op: imm
4682 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4683 Value |= (op & 0xffffffff) << 16;
4684 break;
4685 }
4686 case RISCV::QC_INSBI: {
4687 // op: rd
4688 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4689 Value |= (op & 0x1f) << 7;
4690 // op: imm5
4691 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4692 Value |= (op & 0x1f) << 15;
4693 // op: shamt
4694 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4695 Value |= (op & 0x1f) << 20;
4696 // op: width
4697 op = getImmOpValueMinus1(MI, OpNo: 3, Fixups, STI);
4698 Value |= (op & 0x1f) << 25;
4699 break;
4700 }
4701 case RISCV::QC_C_EXTU: {
4702 // op: rd
4703 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4704 Value |= (op & 0x1f) << 7;
4705 // op: width
4706 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
4707 Value |= (op & 0x1f) << 2;
4708 break;
4709 }
4710 case RISCV::QC_C_MVEQZ: {
4711 // op: rd
4712 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4713 Value |= (op & 0x7) << 2;
4714 // op: rs1
4715 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4716 Value |= (op & 0x7) << 7;
4717 break;
4718 }
4719 case RISCV::QC_C_MULIADD: {
4720 // op: rd
4721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4722 Value |= (op & 0x7) << 2;
4723 // op: rs1
4724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4725 Value |= (op & 0x7) << 7;
4726 // op: uimm
4727 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4728 Value |= (op & 0xe) << 9;
4729 Value |= (op & 0x1) << 6;
4730 Value |= (op & 0x10) << 1;
4731 break;
4732 }
4733 case RISCV::C_NOT:
4734 case RISCV::C_SEXT_B:
4735 case RISCV::C_SEXT_H:
4736 case RISCV::C_ZEXT_B:
4737 case RISCV::C_ZEXT_H:
4738 case RISCV::C_ZEXT_W: {
4739 // op: rd
4740 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4741 Value |= (op & 0x7) << 7;
4742 break;
4743 }
4744 case RISCV::QK_C_LHUSP:
4745 case RISCV::QK_C_SHSP: {
4746 // op: rd_rs2
4747 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4748 Value |= (op & 0x7) << 2;
4749 // op: imm
4750 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4751 Value |= (op & 0xe) << 7;
4752 Value |= (op & 0x10) << 3;
4753 break;
4754 }
4755 case RISCV::QK_C_LBUSP:
4756 case RISCV::QK_C_SBSP: {
4757 // op: rd_rs2
4758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4759 Value |= (op & 0x7) << 2;
4760 // op: imm
4761 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4762 Value |= (op & 0xf) << 7;
4763 break;
4764 }
4765 case RISCV::CM_POP:
4766 case RISCV::CM_POPRET:
4767 case RISCV::CM_POPRETZ:
4768 case RISCV::CM_PUSH:
4769 case RISCV::QC_CM_POP:
4770 case RISCV::QC_CM_POPRET:
4771 case RISCV::QC_CM_POPRETZ:
4772 case RISCV::QC_CM_PUSH: {
4773 // op: rlist
4774 op = getRlistOpValue(MI, OpNo: 0, Fixups, STI);
4775 Value |= (op & 0xf) << 4;
4776 // op: stackadj
4777 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4778 Value |= (op & 0x30) >> 2;
4779 break;
4780 }
4781 case RISCV::QC_CM_PUSHFP: {
4782 // op: rlist
4783 op = getRlistS0OpValue(MI, OpNo: 0, Fixups, STI);
4784 Value |= (op & 0xf) << 4;
4785 // op: stackadj
4786 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4787 Value |= (op & 0x30) >> 2;
4788 break;
4789 }
4790 case RISCV::CSRRCI:
4791 case RISCV::CSRRSI:
4792 case RISCV::CSRRWI: {
4793 // op: rs1
4794 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4795 Value |= (op & 0x1f) << 15;
4796 // op: rd
4797 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4798 Value |= (op & 0x1f) << 7;
4799 // op: imm12
4800 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4801 Value |= (op & 0xfff) << 20;
4802 break;
4803 }
4804 case RISCV::AIF_MOVA_M_X:
4805 case RISCV::CBO_CLEAN:
4806 case RISCV::CBO_FLUSH:
4807 case RISCV::CBO_INVAL:
4808 case RISCV::CBO_ZERO:
4809 case RISCV::SF_CDISCARD_D_L1:
4810 case RISCV::SF_CFLUSH_D_L1:
4811 case RISCV::SSPOPCHK:
4812 case RISCV::TH_DCACHE_CIPA:
4813 case RISCV::TH_DCACHE_CISW:
4814 case RISCV::TH_DCACHE_CIVA:
4815 case RISCV::TH_DCACHE_CPA:
4816 case RISCV::TH_DCACHE_CPAL1:
4817 case RISCV::TH_DCACHE_CSW:
4818 case RISCV::TH_DCACHE_CVA:
4819 case RISCV::TH_DCACHE_CVAL1:
4820 case RISCV::TH_DCACHE_IPA:
4821 case RISCV::TH_DCACHE_ISW:
4822 case RISCV::TH_DCACHE_IVA:
4823 case RISCV::TH_ICACHE_IPA:
4824 case RISCV::TH_ICACHE_IVA: {
4825 // op: rs1
4826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4827 Value |= (op & 0x1f) << 15;
4828 break;
4829 }
4830 case RISCV::QC_E_BEQI:
4831 case RISCV::QC_E_BGEI:
4832 case RISCV::QC_E_BGEUI:
4833 case RISCV::QC_E_BLTI:
4834 case RISCV::QC_E_BLTUI:
4835 case RISCV::QC_E_BNEI: {
4836 // op: rs1
4837 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4838 Value |= (op & 0x1f) << 15;
4839 // op: imm16
4840 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4841 Value |= (op & 0xffff) << 32;
4842 // op: imm12
4843 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
4844 Value |= (op & 0x800) << 20;
4845 Value |= (op & 0x3f0) << 21;
4846 Value |= (op & 0xf) << 8;
4847 Value |= (op & 0x400) >> 3;
4848 break;
4849 }
4850 case RISCV::C_JALR:
4851 case RISCV::C_JR:
4852 case RISCV::QC_C_CLRINT:
4853 case RISCV::QC_C_EIR:
4854 case RISCV::QC_C_SETINT: {
4855 // op: rs1
4856 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4857 Value |= (op & 0x1f) << 7;
4858 break;
4859 }
4860 case RISCV::C_MV: {
4861 // op: rs1
4862 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4863 Value |= (op & 0x1f) << 7;
4864 // op: rs2
4865 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4866 Value |= (op & 0x1f) << 2;
4867 break;
4868 }
4869 case RISCV::PSABS_DB:
4870 case RISCV::PSABS_DH:
4871 case RISCV::PSEXT_DH_B:
4872 case RISCV::PSEXT_DW_B:
4873 case RISCV::PSEXT_DW_H: {
4874 // op: rs1
4875 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4876 Value |= (op & 0x1e) << 15;
4877 // op: rd
4878 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4879 Value |= (op & 0x1e) << 7;
4880 break;
4881 }
4882 case RISCV::ADDD:
4883 case RISCV::PAADDU_DB:
4884 case RISCV::PAADDU_DH:
4885 case RISCV::PAADDU_DW:
4886 case RISCV::PAADD_DB:
4887 case RISCV::PAADD_DH:
4888 case RISCV::PAADD_DW:
4889 case RISCV::PAAS_DHX:
4890 case RISCV::PABDU_DB:
4891 case RISCV::PABDU_DH:
4892 case RISCV::PABD_DB:
4893 case RISCV::PABD_DH:
4894 case RISCV::PADD_DB:
4895 case RISCV::PADD_DH:
4896 case RISCV::PADD_DW:
4897 case RISCV::PASA_DHX:
4898 case RISCV::PASUBU_DB:
4899 case RISCV::PASUBU_DH:
4900 case RISCV::PASUBU_DW:
4901 case RISCV::PASUB_DB:
4902 case RISCV::PASUB_DH:
4903 case RISCV::PASUB_DW:
4904 case RISCV::PAS_DHX:
4905 case RISCV::PMAXU_DB:
4906 case RISCV::PMAXU_DH:
4907 case RISCV::PMAXU_DW:
4908 case RISCV::PMAX_DB:
4909 case RISCV::PMAX_DH:
4910 case RISCV::PMAX_DW:
4911 case RISCV::PMINU_DB:
4912 case RISCV::PMINU_DH:
4913 case RISCV::PMINU_DW:
4914 case RISCV::PMIN_DB:
4915 case RISCV::PMIN_DH:
4916 case RISCV::PMIN_DW:
4917 case RISCV::PMSEQ_DB:
4918 case RISCV::PMSEQ_DH:
4919 case RISCV::PMSEQ_DW:
4920 case RISCV::PMSLTU_DB:
4921 case RISCV::PMSLTU_DH:
4922 case RISCV::PMSLTU_DW:
4923 case RISCV::PMSLT_DB:
4924 case RISCV::PMSLT_DH:
4925 case RISCV::PMSLT_DW:
4926 case RISCV::PPAIREO_DB:
4927 case RISCV::PPAIREO_DH:
4928 case RISCV::PPAIRE_DB:
4929 case RISCV::PPAIRE_DH:
4930 case RISCV::PPAIROE_DB:
4931 case RISCV::PPAIROE_DH:
4932 case RISCV::PPAIRO_DB:
4933 case RISCV::PPAIRO_DH:
4934 case RISCV::PSADDU_DB:
4935 case RISCV::PSADDU_DH:
4936 case RISCV::PSADDU_DW:
4937 case RISCV::PSADD_DB:
4938 case RISCV::PSADD_DH:
4939 case RISCV::PSADD_DW:
4940 case RISCV::PSAS_DHX:
4941 case RISCV::PSA_DHX:
4942 case RISCV::PSH1ADD_DH:
4943 case RISCV::PSH1ADD_DW:
4944 case RISCV::PSSA_DHX:
4945 case RISCV::PSSH1SADD_DH:
4946 case RISCV::PSSH1SADD_DW:
4947 case RISCV::PSSUBU_DB:
4948 case RISCV::PSSUBU_DH:
4949 case RISCV::PSSUBU_DW:
4950 case RISCV::PSSUB_DB:
4951 case RISCV::PSSUB_DH:
4952 case RISCV::PSSUB_DW:
4953 case RISCV::PSUB_DB:
4954 case RISCV::PSUB_DH:
4955 case RISCV::PSUB_DW:
4956 case RISCV::SUBD: {
4957 // op: rs1
4958 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4959 Value |= (op & 0x1e) << 15;
4960 // op: rd
4961 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4962 Value |= (op & 0x1e) << 7;
4963 // op: rs2
4964 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4965 Value |= (op & 0x1e) << 20;
4966 break;
4967 }
4968 case RISCV::PADD_DBS:
4969 case RISCV::PADD_DHS:
4970 case RISCV::PADD_DWS:
4971 case RISCV::PSLL_DBS:
4972 case RISCV::PSLL_DHS:
4973 case RISCV::PSLL_DWS:
4974 case RISCV::PSRA_DBS:
4975 case RISCV::PSRA_DHS:
4976 case RISCV::PSRA_DWS:
4977 case RISCV::PSRL_DBS:
4978 case RISCV::PSRL_DHS:
4979 case RISCV::PSRL_DWS:
4980 case RISCV::PSSHAR_DHS:
4981 case RISCV::PSSHAR_DWS:
4982 case RISCV::PSSHA_DHS:
4983 case RISCV::PSSHA_DWS:
4984 case RISCV::PSSHLR_DHS:
4985 case RISCV::PSSHLR_DWS:
4986 case RISCV::PSSHL_DHS:
4987 case RISCV::PSSHL_DWS: {
4988 // op: rs1
4989 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4990 Value |= (op & 0x1e) << 15;
4991 // op: rd
4992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4993 Value |= (op & 0x1e) << 7;
4994 // op: rs2
4995 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4996 Value |= (op & 0x1f) << 20;
4997 break;
4998 }
4999 case RISCV::PSLLI_DW:
5000 case RISCV::PSRAI_DW:
5001 case RISCV::PSRARI_DW:
5002 case RISCV::PSRLI_DW:
5003 case RISCV::PSSLAI_DW:
5004 case RISCV::PUSATI_DW: {
5005 // op: rs1
5006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5007 Value |= (op & 0x1e) << 15;
5008 // op: rd
5009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5010 Value |= (op & 0x1e) << 7;
5011 // op: shamt
5012 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5013 Value |= (op & 0x1f) << 20;
5014 break;
5015 }
5016 case RISCV::PSLLI_DB:
5017 case RISCV::PSRAI_DB:
5018 case RISCV::PSRLI_DB: {
5019 // op: rs1
5020 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5021 Value |= (op & 0x1e) << 15;
5022 // op: rd
5023 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5024 Value |= (op & 0x1e) << 7;
5025 // op: shamt
5026 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5027 Value |= (op & 0x7) << 20;
5028 break;
5029 }
5030 case RISCV::PSLLI_DH:
5031 case RISCV::PSRAI_DH:
5032 case RISCV::PSRARI_DH:
5033 case RISCV::PSRLI_DH:
5034 case RISCV::PSSLAI_DH:
5035 case RISCV::PUSATI_DH: {
5036 // op: rs1
5037 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5038 Value |= (op & 0x1e) << 15;
5039 // op: rd
5040 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5041 Value |= (op & 0x1e) << 7;
5042 // op: shamt
5043 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5044 Value |= (op & 0xf) << 20;
5045 break;
5046 }
5047 case RISCV::PSATI_DW: {
5048 // op: rs1
5049 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5050 Value |= (op & 0x1e) << 15;
5051 // op: rd
5052 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5053 Value |= (op & 0x1e) << 7;
5054 // op: shamt
5055 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
5056 Value |= (op & 0x1f) << 20;
5057 break;
5058 }
5059 case RISCV::PSATI_DH: {
5060 // op: rs1
5061 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5062 Value |= (op & 0x1e) << 15;
5063 // op: rd
5064 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5065 Value |= (op & 0x1e) << 7;
5066 // op: shamt
5067 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
5068 Value |= (op & 0xf) << 20;
5069 break;
5070 }
5071 case RISCV::NCLIP:
5072 case RISCV::NCLIPR:
5073 case RISCV::NCLIPRU:
5074 case RISCV::NCLIPU:
5075 case RISCV::NSRA:
5076 case RISCV::NSRAR:
5077 case RISCV::NSRL:
5078 case RISCV::PNCLIPRU_BS:
5079 case RISCV::PNCLIPRU_HS:
5080 case RISCV::PNCLIPR_BS:
5081 case RISCV::PNCLIPR_HS:
5082 case RISCV::PNCLIPU_BS:
5083 case RISCV::PNCLIPU_HS:
5084 case RISCV::PNCLIP_BS:
5085 case RISCV::PNCLIP_HS:
5086 case RISCV::PNSRAR_BS:
5087 case RISCV::PNSRAR_HS:
5088 case RISCV::PNSRA_BS:
5089 case RISCV::PNSRA_HS:
5090 case RISCV::PNSRL_BS:
5091 case RISCV::PNSRL_HS:
5092 case RISCV::PREDSUMU_DBS:
5093 case RISCV::PREDSUMU_DHS:
5094 case RISCV::PREDSUM_DBS:
5095 case RISCV::PREDSUM_DHS: {
5096 // op: rs1
5097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5098 Value |= (op & 0x1e) << 15;
5099 // op: rd
5100 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5101 Value |= (op & 0x1f) << 7;
5102 // op: rs2
5103 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5104 Value |= (op & 0x1f) << 20;
5105 break;
5106 }
5107 case RISCV::PNCLIPIU_H:
5108 case RISCV::PNCLIPI_H:
5109 case RISCV::PNCLIPRIU_H:
5110 case RISCV::PNCLIPRI_H:
5111 case RISCV::PNSRAI_H:
5112 case RISCV::PNSRARI_H:
5113 case RISCV::PNSRLI_H: {
5114 // op: rs1
5115 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5116 Value |= (op & 0x1e) << 15;
5117 // op: rd
5118 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5119 Value |= (op & 0x1f) << 7;
5120 // op: shamt
5121 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5122 Value |= (op & 0x1f) << 20;
5123 break;
5124 }
5125 case RISCV::NCLIPI:
5126 case RISCV::NCLIPIU:
5127 case RISCV::NCLIPRI:
5128 case RISCV::NCLIPRIU:
5129 case RISCV::NSRAI:
5130 case RISCV::NSRARI:
5131 case RISCV::NSRLI: {
5132 // op: rs1
5133 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5134 Value |= (op & 0x1e) << 15;
5135 // op: rd
5136 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5137 Value |= (op & 0x1f) << 7;
5138 // op: shamt
5139 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5140 Value |= (op & 0x3f) << 20;
5141 break;
5142 }
5143 case RISCV::PNCLIPIU_B:
5144 case RISCV::PNCLIPI_B:
5145 case RISCV::PNCLIPRIU_B:
5146 case RISCV::PNCLIPRI_B:
5147 case RISCV::PNSRAI_B:
5148 case RISCV::PNSRARI_B:
5149 case RISCV::PNSRLI_B: {
5150 // op: rs1
5151 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5152 Value |= (op & 0x1e) << 15;
5153 // op: rd
5154 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5155 Value |= (op & 0x1f) << 7;
5156 // op: shamt
5157 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5158 Value |= (op & 0xf) << 20;
5159 break;
5160 }
5161 case RISCV::FCVT_BF16_S:
5162 case RISCV::FCVT_D_H:
5163 case RISCV::FCVT_D_H_IN32X:
5164 case RISCV::FCVT_D_H_INX:
5165 case RISCV::FCVT_D_L:
5166 case RISCV::FCVT_D_LU:
5167 case RISCV::FCVT_D_LU_INX:
5168 case RISCV::FCVT_D_L_INX:
5169 case RISCV::FCVT_D_Q:
5170 case RISCV::FCVT_D_S:
5171 case RISCV::FCVT_D_S_IN32X:
5172 case RISCV::FCVT_D_S_INX:
5173 case RISCV::FCVT_D_W:
5174 case RISCV::FCVT_D_WU:
5175 case RISCV::FCVT_D_WU_IN32X:
5176 case RISCV::FCVT_D_WU_INX:
5177 case RISCV::FCVT_D_W_IN32X:
5178 case RISCV::FCVT_D_W_INX:
5179 case RISCV::FCVT_H_D:
5180 case RISCV::FCVT_H_D_IN32X:
5181 case RISCV::FCVT_H_D_INX:
5182 case RISCV::FCVT_H_L:
5183 case RISCV::FCVT_H_LU:
5184 case RISCV::FCVT_H_LU_INX:
5185 case RISCV::FCVT_H_L_INX:
5186 case RISCV::FCVT_H_Q:
5187 case RISCV::FCVT_H_S:
5188 case RISCV::FCVT_H_S_INX:
5189 case RISCV::FCVT_H_W:
5190 case RISCV::FCVT_H_WU:
5191 case RISCV::FCVT_H_WU_INX:
5192 case RISCV::FCVT_H_W_INX:
5193 case RISCV::FCVT_LU_D:
5194 case RISCV::FCVT_LU_D_INX:
5195 case RISCV::FCVT_LU_H:
5196 case RISCV::FCVT_LU_H_INX:
5197 case RISCV::FCVT_LU_Q:
5198 case RISCV::FCVT_LU_S:
5199 case RISCV::FCVT_LU_S_INX:
5200 case RISCV::FCVT_L_D:
5201 case RISCV::FCVT_L_D_INX:
5202 case RISCV::FCVT_L_H:
5203 case RISCV::FCVT_L_H_INX:
5204 case RISCV::FCVT_L_Q:
5205 case RISCV::FCVT_L_S:
5206 case RISCV::FCVT_L_S_INX:
5207 case RISCV::FCVT_Q_D:
5208 case RISCV::FCVT_Q_H:
5209 case RISCV::FCVT_Q_L:
5210 case RISCV::FCVT_Q_LU:
5211 case RISCV::FCVT_Q_S:
5212 case RISCV::FCVT_Q_W:
5213 case RISCV::FCVT_Q_WU:
5214 case RISCV::FCVT_S_BF16:
5215 case RISCV::FCVT_S_D:
5216 case RISCV::FCVT_S_D_IN32X:
5217 case RISCV::FCVT_S_D_INX:
5218 case RISCV::FCVT_S_H:
5219 case RISCV::FCVT_S_H_INX:
5220 case RISCV::FCVT_S_L:
5221 case RISCV::FCVT_S_LU:
5222 case RISCV::FCVT_S_LU_INX:
5223 case RISCV::FCVT_S_L_INX:
5224 case RISCV::FCVT_S_Q:
5225 case RISCV::FCVT_S_W:
5226 case RISCV::FCVT_S_WU:
5227 case RISCV::FCVT_S_WU_INX:
5228 case RISCV::FCVT_S_W_INX:
5229 case RISCV::FCVT_WU_D:
5230 case RISCV::FCVT_WU_D_IN32X:
5231 case RISCV::FCVT_WU_D_INX:
5232 case RISCV::FCVT_WU_H:
5233 case RISCV::FCVT_WU_H_INX:
5234 case RISCV::FCVT_WU_Q:
5235 case RISCV::FCVT_WU_S:
5236 case RISCV::FCVT_WU_S_INX:
5237 case RISCV::FCVT_W_D:
5238 case RISCV::FCVT_W_D_IN32X:
5239 case RISCV::FCVT_W_D_INX:
5240 case RISCV::FCVT_W_H:
5241 case RISCV::FCVT_W_H_INX:
5242 case RISCV::FCVT_W_Q:
5243 case RISCV::FCVT_W_S:
5244 case RISCV::FCVT_W_S_INX:
5245 case RISCV::FROUNDNX_D:
5246 case RISCV::FROUNDNX_H:
5247 case RISCV::FROUNDNX_Q:
5248 case RISCV::FROUNDNX_S:
5249 case RISCV::FROUND_D:
5250 case RISCV::FROUND_H:
5251 case RISCV::FROUND_Q:
5252 case RISCV::FROUND_S:
5253 case RISCV::FSQRT_D:
5254 case RISCV::FSQRT_D_IN32X:
5255 case RISCV::FSQRT_D_INX:
5256 case RISCV::FSQRT_H:
5257 case RISCV::FSQRT_H_INX:
5258 case RISCV::FSQRT_Q:
5259 case RISCV::FSQRT_S:
5260 case RISCV::FSQRT_S_INX: {
5261 // op: rs1
5262 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5263 Value |= (op & 0x1f) << 15;
5264 // op: frm
5265 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5266 Value |= (op & 0x7) << 12;
5267 // op: rd
5268 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5269 Value |= (op & 0x1f) << 7;
5270 break;
5271 }
5272 case RISCV::PWSLAI_H:
5273 case RISCV::PWSLLI_H: {
5274 // op: rs1
5275 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5276 Value |= (op & 0x1f) << 15;
5277 // op: rd
5278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5279 Value |= (op & 0x1e) << 7;
5280 // op: shamt
5281 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5282 Value |= (op & 0x1f) << 20;
5283 break;
5284 }
5285 case RISCV::WSLAI:
5286 case RISCV::WSLLI: {
5287 // op: rs1
5288 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5289 Value |= (op & 0x1f) << 15;
5290 // op: rd
5291 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5292 Value |= (op & 0x1e) << 7;
5293 // op: shamt
5294 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5295 Value |= (op & 0x3f) << 20;
5296 break;
5297 }
5298 case RISCV::PWSLAI_B:
5299 case RISCV::PWSLLI_B: {
5300 // op: rs1
5301 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5302 Value |= (op & 0x1f) << 15;
5303 // op: rd
5304 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5305 Value |= (op & 0x1e) << 7;
5306 // op: shamt
5307 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5308 Value |= (op & 0xf) << 20;
5309 break;
5310 }
5311 case RISCV::ABS:
5312 case RISCV::ABSW:
5313 case RISCV::AES64IM:
5314 case RISCV::AIF_FBCX_PS:
5315 case RISCV::AIF_FCLASS_PS:
5316 case RISCV::AIF_FCVT_F10_PS:
5317 case RISCV::AIF_FCVT_F11_PS:
5318 case RISCV::AIF_FCVT_F16_PS:
5319 case RISCV::AIF_FCVT_PS_F10:
5320 case RISCV::AIF_FCVT_PS_F11:
5321 case RISCV::AIF_FCVT_PS_F16:
5322 case RISCV::AIF_FCVT_PS_RAST:
5323 case RISCV::AIF_FCVT_PS_SN16:
5324 case RISCV::AIF_FCVT_PS_SN8:
5325 case RISCV::AIF_FCVT_PS_UN10:
5326 case RISCV::AIF_FCVT_PS_UN16:
5327 case RISCV::AIF_FCVT_PS_UN2:
5328 case RISCV::AIF_FCVT_PS_UN24:
5329 case RISCV::AIF_FCVT_PS_UN8:
5330 case RISCV::AIF_FCVT_RAST_PS:
5331 case RISCV::AIF_FCVT_SN16_PS:
5332 case RISCV::AIF_FCVT_SN8_PS:
5333 case RISCV::AIF_FCVT_UN10_PS:
5334 case RISCV::AIF_FCVT_UN16_PS:
5335 case RISCV::AIF_FCVT_UN24_PS:
5336 case RISCV::AIF_FCVT_UN2_PS:
5337 case RISCV::AIF_FCVT_UN8_PS:
5338 case RISCV::AIF_FEXP_PS:
5339 case RISCV::AIF_FFRC_PS:
5340 case RISCV::AIF_FLOG_PS:
5341 case RISCV::AIF_FLWG_PS:
5342 case RISCV::AIF_FLWL_PS:
5343 case RISCV::AIF_FNOT_PI:
5344 case RISCV::AIF_FPACKREPB_PI:
5345 case RISCV::AIF_FPACKREPH_PI:
5346 case RISCV::AIF_FRCP_PS:
5347 case RISCV::AIF_FRSQ_PS:
5348 case RISCV::AIF_FSAT8_PI:
5349 case RISCV::AIF_FSATU8_PI:
5350 case RISCV::AIF_FSETM_PI:
5351 case RISCV::AIF_FSIN_PS:
5352 case RISCV::AIF_FSQRT_PS:
5353 case RISCV::BREV8:
5354 case RISCV::CLS:
5355 case RISCV::CLSW:
5356 case RISCV::CLZ:
5357 case RISCV::CLZW:
5358 case RISCV::CPOP:
5359 case RISCV::CPOPW:
5360 case RISCV::CTZ:
5361 case RISCV::CTZW:
5362 case RISCV::CV_ABS:
5363 case RISCV::CV_ABS_B:
5364 case RISCV::CV_ABS_H:
5365 case RISCV::CV_CLB:
5366 case RISCV::CV_CNT:
5367 case RISCV::CV_CPLXCONJ:
5368 case RISCV::CV_EXTBS:
5369 case RISCV::CV_EXTBZ:
5370 case RISCV::CV_EXTHS:
5371 case RISCV::CV_EXTHZ:
5372 case RISCV::CV_FF1:
5373 case RISCV::CV_FL1:
5374 case RISCV::FCLASS_D:
5375 case RISCV::FCLASS_D_IN32X:
5376 case RISCV::FCLASS_D_INX:
5377 case RISCV::FCLASS_H:
5378 case RISCV::FCLASS_H_INX:
5379 case RISCV::FCLASS_Q:
5380 case RISCV::FCLASS_S:
5381 case RISCV::FCLASS_S_INX:
5382 case RISCV::FCVTMOD_W_D:
5383 case RISCV::FMVH_X_D:
5384 case RISCV::FMVH_X_Q:
5385 case RISCV::FMV_D_X:
5386 case RISCV::FMV_H_X:
5387 case RISCV::FMV_W_X:
5388 case RISCV::FMV_X_D:
5389 case RISCV::FMV_X_H:
5390 case RISCV::FMV_X_W:
5391 case RISCV::FMV_X_W_FPR64:
5392 case RISCV::HLVX_HU:
5393 case RISCV::HLVX_WU:
5394 case RISCV::HLV_B:
5395 case RISCV::HLV_BU:
5396 case RISCV::HLV_D:
5397 case RISCV::HLV_H:
5398 case RISCV::HLV_HU:
5399 case RISCV::HLV_W:
5400 case RISCV::HLV_WU:
5401 case RISCV::LB_AQ:
5402 case RISCV::LB_AQRL:
5403 case RISCV::LD_AQ:
5404 case RISCV::LD_AQRL:
5405 case RISCV::LH_AQ:
5406 case RISCV::LH_AQRL:
5407 case RISCV::LR_D:
5408 case RISCV::LR_D_AQ:
5409 case RISCV::LR_D_AQRL:
5410 case RISCV::LR_D_RL:
5411 case RISCV::LR_W:
5412 case RISCV::LR_W_AQ:
5413 case RISCV::LR_W_AQRL:
5414 case RISCV::LR_W_RL:
5415 case RISCV::LW_AQ:
5416 case RISCV::LW_AQRL:
5417 case RISCV::MCSPSPOP:
5418 case RISCV::MCSPSPUSH:
5419 case RISCV::MOP_R_0:
5420 case RISCV::MOP_R_1:
5421 case RISCV::MOP_R_10:
5422 case RISCV::MOP_R_11:
5423 case RISCV::MOP_R_12:
5424 case RISCV::MOP_R_13:
5425 case RISCV::MOP_R_14:
5426 case RISCV::MOP_R_15:
5427 case RISCV::MOP_R_16:
5428 case RISCV::MOP_R_17:
5429 case RISCV::MOP_R_18:
5430 case RISCV::MOP_R_19:
5431 case RISCV::MOP_R_2:
5432 case RISCV::MOP_R_20:
5433 case RISCV::MOP_R_21:
5434 case RISCV::MOP_R_22:
5435 case RISCV::MOP_R_23:
5436 case RISCV::MOP_R_24:
5437 case RISCV::MOP_R_25:
5438 case RISCV::MOP_R_26:
5439 case RISCV::MOP_R_27:
5440 case RISCV::MOP_R_28:
5441 case RISCV::MOP_R_29:
5442 case RISCV::MOP_R_3:
5443 case RISCV::MOP_R_30:
5444 case RISCV::MOP_R_31:
5445 case RISCV::MOP_R_4:
5446 case RISCV::MOP_R_5:
5447 case RISCV::MOP_R_6:
5448 case RISCV::MOP_R_7:
5449 case RISCV::MOP_R_8:
5450 case RISCV::MOP_R_9:
5451 case RISCV::NDS_FMV_BF16_X:
5452 case RISCV::NDS_FMV_X_BF16:
5453 case RISCV::ORC_B:
5454 case RISCV::PSABS_B:
5455 case RISCV::PSABS_H:
5456 case RISCV::PSEXT_H_B:
5457 case RISCV::PSEXT_W_B:
5458 case RISCV::PSEXT_W_H:
5459 case RISCV::QC_BREV32:
5460 case RISCV::QC_CLO:
5461 case RISCV::QC_COMPRESS2:
5462 case RISCV::QC_COMPRESS3:
5463 case RISCV::QC_CTO:
5464 case RISCV::QC_EXPAND2:
5465 case RISCV::QC_EXPAND3:
5466 case RISCV::QC_NORM:
5467 case RISCV::QC_NORMEU:
5468 case RISCV::QC_NORMU:
5469 case RISCV::REV16_RV64:
5470 case RISCV::REV8_RV32:
5471 case RISCV::REV8_RV64:
5472 case RISCV::REV_RV32:
5473 case RISCV::REV_RV64:
5474 case RISCV::SCSPSPOP:
5475 case RISCV::SCSPSPUSH:
5476 case RISCV::SEXT_B:
5477 case RISCV::SEXT_H:
5478 case RISCV::SF_VSETTK:
5479 case RISCV::SF_VSETTM:
5480 case RISCV::SF_VSETTN:
5481 case RISCV::SHA256SIG0:
5482 case RISCV::SHA256SIG1:
5483 case RISCV::SHA256SUM0:
5484 case RISCV::SHA256SUM1:
5485 case RISCV::SHA512SIG0:
5486 case RISCV::SHA512SIG1:
5487 case RISCV::SHA512SUM0:
5488 case RISCV::SHA512SUM1:
5489 case RISCV::SM3P0:
5490 case RISCV::SM3P1:
5491 case RISCV::TH_FF0:
5492 case RISCV::TH_FF1:
5493 case RISCV::TH_REV:
5494 case RISCV::TH_REVW:
5495 case RISCV::TH_TSTNBZ:
5496 case RISCV::UNZIP_RV32:
5497 case RISCV::YAMASK:
5498 case RISCV::YBASER:
5499 case RISCV::YLENR:
5500 case RISCV::YMV:
5501 case RISCV::YPERMR:
5502 case RISCV::YTAGR:
5503 case RISCV::YTOPR:
5504 case RISCV::YTYPER:
5505 case RISCV::ZEXT_H_RV32:
5506 case RISCV::ZEXT_H_RV64:
5507 case RISCV::ZIP_RV32: {
5508 // op: rs1
5509 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5510 Value |= (op & 0x1f) << 15;
5511 // op: rd
5512 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5513 Value |= (op & 0x1f) << 7;
5514 break;
5515 }
5516 case RISCV::YBNDSWI: {
5517 // op: rs1
5518 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5519 Value |= (op & 0x1f) << 15;
5520 // op: rd
5521 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5522 Value |= (op & 0x1f) << 7;
5523 // op: imm
5524 op = getYBNDSWImmOpValue(MI, OpNo: 2, Fixups, STI);
5525 Value |= (op & 0x1ff) << 20;
5526 break;
5527 }
5528 case RISCV::QC_WRAPI: {
5529 // op: rs1
5530 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5531 Value |= (op & 0x1f) << 15;
5532 // op: rd
5533 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5534 Value |= (op & 0x1f) << 7;
5535 // op: imm11
5536 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5537 Value |= (op & 0x7ff) << 20;
5538 break;
5539 }
5540 case RISCV::ADDI:
5541 case RISCV::ADDIW:
5542 case RISCV::ANDI:
5543 case RISCV::CV_ELW:
5544 case RISCV::FLD:
5545 case RISCV::FLH:
5546 case RISCV::FLQ:
5547 case RISCV::FLW:
5548 case RISCV::JALR:
5549 case RISCV::LB:
5550 case RISCV::LBU:
5551 case RISCV::LD:
5552 case RISCV::LD_RV32:
5553 case RISCV::LH:
5554 case RISCV::LHU:
5555 case RISCV::LH_INX:
5556 case RISCV::LW:
5557 case RISCV::LWU:
5558 case RISCV::LW_INX:
5559 case RISCV::ORI:
5560 case RISCV::SLTI:
5561 case RISCV::SLTIU:
5562 case RISCV::XORI:
5563 case RISCV::YADDI: {
5564 // op: rs1
5565 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5566 Value |= (op & 0x1f) << 15;
5567 // op: rd
5568 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5569 Value |= (op & 0x1f) << 7;
5570 // op: imm12
5571 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5572 Value |= (op & 0xfff) << 20;
5573 break;
5574 }
5575 case RISCV::QC_INW: {
5576 // op: rs1
5577 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5578 Value |= (op & 0x1f) << 15;
5579 // op: rd
5580 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5581 Value |= (op & 0x1f) << 7;
5582 // op: imm14
5583 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5584 Value |= (op & 0x3ffc) << 18;
5585 break;
5586 }
5587 case RISCV::CV_CLIP:
5588 case RISCV::CV_CLIPU: {
5589 // op: rs1
5590 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5591 Value |= (op & 0x1f) << 15;
5592 // op: rd
5593 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5594 Value |= (op & 0x1f) << 7;
5595 // op: imm5
5596 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5597 Value |= (op & 0x1f) << 20;
5598 break;
5599 }
5600 case RISCV::CV_ADD_SCI_B:
5601 case RISCV::CV_ADD_SCI_H:
5602 case RISCV::CV_AND_SCI_B:
5603 case RISCV::CV_AND_SCI_H:
5604 case RISCV::CV_AVGU_SCI_B:
5605 case RISCV::CV_AVGU_SCI_H:
5606 case RISCV::CV_AVG_SCI_B:
5607 case RISCV::CV_AVG_SCI_H:
5608 case RISCV::CV_CMPEQ_SCI_B:
5609 case RISCV::CV_CMPEQ_SCI_H:
5610 case RISCV::CV_CMPGEU_SCI_B:
5611 case RISCV::CV_CMPGEU_SCI_H:
5612 case RISCV::CV_CMPGE_SCI_B:
5613 case RISCV::CV_CMPGE_SCI_H:
5614 case RISCV::CV_CMPGTU_SCI_B:
5615 case RISCV::CV_CMPGTU_SCI_H:
5616 case RISCV::CV_CMPGT_SCI_B:
5617 case RISCV::CV_CMPGT_SCI_H:
5618 case RISCV::CV_CMPLEU_SCI_B:
5619 case RISCV::CV_CMPLEU_SCI_H:
5620 case RISCV::CV_CMPLE_SCI_B:
5621 case RISCV::CV_CMPLE_SCI_H:
5622 case RISCV::CV_CMPLTU_SCI_B:
5623 case RISCV::CV_CMPLTU_SCI_H:
5624 case RISCV::CV_CMPLT_SCI_B:
5625 case RISCV::CV_CMPLT_SCI_H:
5626 case RISCV::CV_CMPNE_SCI_B:
5627 case RISCV::CV_CMPNE_SCI_H:
5628 case RISCV::CV_DOTSP_SCI_B:
5629 case RISCV::CV_DOTSP_SCI_H:
5630 case RISCV::CV_DOTUP_SCI_B:
5631 case RISCV::CV_DOTUP_SCI_H:
5632 case RISCV::CV_DOTUSP_SCI_B:
5633 case RISCV::CV_DOTUSP_SCI_H:
5634 case RISCV::CV_EXTRACTU_B:
5635 case RISCV::CV_EXTRACTU_H:
5636 case RISCV::CV_EXTRACT_B:
5637 case RISCV::CV_EXTRACT_H:
5638 case RISCV::CV_MAXU_SCI_B:
5639 case RISCV::CV_MAXU_SCI_H:
5640 case RISCV::CV_MAX_SCI_B:
5641 case RISCV::CV_MAX_SCI_H:
5642 case RISCV::CV_MINU_SCI_B:
5643 case RISCV::CV_MINU_SCI_H:
5644 case RISCV::CV_MIN_SCI_B:
5645 case RISCV::CV_MIN_SCI_H:
5646 case RISCV::CV_OR_SCI_B:
5647 case RISCV::CV_OR_SCI_H:
5648 case RISCV::CV_SHUFFLEI0_SCI_B:
5649 case RISCV::CV_SHUFFLEI1_SCI_B:
5650 case RISCV::CV_SHUFFLEI2_SCI_B:
5651 case RISCV::CV_SHUFFLEI3_SCI_B:
5652 case RISCV::CV_SHUFFLE_SCI_H:
5653 case RISCV::CV_SLL_SCI_B:
5654 case RISCV::CV_SLL_SCI_H:
5655 case RISCV::CV_SRA_SCI_B:
5656 case RISCV::CV_SRA_SCI_H:
5657 case RISCV::CV_SRL_SCI_B:
5658 case RISCV::CV_SRL_SCI_H:
5659 case RISCV::CV_SUB_SCI_B:
5660 case RISCV::CV_SUB_SCI_H:
5661 case RISCV::CV_XOR_SCI_B:
5662 case RISCV::CV_XOR_SCI_H: {
5663 // op: rs1
5664 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5665 Value |= (op & 0x1f) << 15;
5666 // op: rd
5667 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5668 Value |= (op & 0x1f) << 7;
5669 // op: imm6
5670 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5671 Value |= (op & 0x1) << 25;
5672 Value |= (op & 0x3e) << 19;
5673 break;
5674 }
5675 case RISCV::CV_BCLR:
5676 case RISCV::CV_BITREV:
5677 case RISCV::CV_BSET:
5678 case RISCV::CV_EXTRACT:
5679 case RISCV::CV_EXTRACTU: {
5680 // op: rs1
5681 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5682 Value |= (op & 0x1f) << 15;
5683 // op: rd
5684 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5685 Value |= (op & 0x1f) << 7;
5686 // op: is3
5687 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5688 Value |= (op & 0x1f) << 25;
5689 // op: is2
5690 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
5691 Value |= (op & 0x1f) << 20;
5692 break;
5693 }
5694 case RISCV::TH_EXT:
5695 case RISCV::TH_EXTU: {
5696 // op: rs1
5697 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5698 Value |= (op & 0x1f) << 15;
5699 // op: rd
5700 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5701 Value |= (op & 0x1f) << 7;
5702 // op: msb
5703 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5704 Value |= (op & 0x3f) << 26;
5705 // op: lsb
5706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
5707 Value |= (op & 0x3f) << 20;
5708 break;
5709 }
5710 case RISCV::AES64KS1I: {
5711 // op: rs1
5712 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5713 Value |= (op & 0x1f) << 15;
5714 // op: rd
5715 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5716 Value |= (op & 0x1f) << 7;
5717 // op: rnum
5718 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5719 Value |= (op & 0xf) << 20;
5720 break;
5721 }
5722 case RISCV::PSLLI_W:
5723 case RISCV::PSRAI_W:
5724 case RISCV::PSRARI_W:
5725 case RISCV::PSRLI_W:
5726 case RISCV::PSSLAI_W:
5727 case RISCV::PUSATI_W:
5728 case RISCV::RORIW:
5729 case RISCV::SLLIW:
5730 case RISCV::SRAIW:
5731 case RISCV::SRARI_RV32:
5732 case RISCV::SRLIW:
5733 case RISCV::SSLAI:
5734 case RISCV::TH_SRRIW:
5735 case RISCV::USATI_RV32: {
5736 // op: rs1
5737 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5738 Value |= (op & 0x1f) << 15;
5739 // op: rd
5740 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5741 Value |= (op & 0x1f) << 7;
5742 // op: shamt
5743 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5744 Value |= (op & 0x1f) << 20;
5745 break;
5746 }
5747 case RISCV::SRARI_RV64:
5748 case RISCV::USATI_RV64: {
5749 // op: rs1
5750 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5751 Value |= (op & 0x1f) << 15;
5752 // op: rd
5753 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5754 Value |= (op & 0x1f) << 7;
5755 // op: shamt
5756 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5757 Value |= (op & 0x3f) << 20;
5758 break;
5759 }
5760 case RISCV::PSLLI_B:
5761 case RISCV::PSRAI_B:
5762 case RISCV::PSRLI_B: {
5763 // op: rs1
5764 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5765 Value |= (op & 0x1f) << 15;
5766 // op: rd
5767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5768 Value |= (op & 0x1f) << 7;
5769 // op: shamt
5770 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5771 Value |= (op & 0x7) << 20;
5772 break;
5773 }
5774 case RISCV::SRLIY: {
5775 // op: rs1
5776 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5777 Value |= (op & 0x1f) << 15;
5778 // op: rd
5779 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5780 Value |= (op & 0x1f) << 7;
5781 // op: shamt
5782 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5783 Value |= (op & 0x7f) << 20;
5784 break;
5785 }
5786 case RISCV::PSLLI_H:
5787 case RISCV::PSRAI_H:
5788 case RISCV::PSRARI_H:
5789 case RISCV::PSRLI_H:
5790 case RISCV::PSSLAI_H:
5791 case RISCV::PUSATI_H: {
5792 // op: rs1
5793 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5794 Value |= (op & 0x1f) << 15;
5795 // op: rd
5796 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5797 Value |= (op & 0x1f) << 7;
5798 // op: shamt
5799 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5800 Value |= (op & 0xf) << 20;
5801 break;
5802 }
5803 case RISCV::QC_EXT:
5804 case RISCV::QC_EXTD:
5805 case RISCV::QC_EXTDU:
5806 case RISCV::QC_EXTU: {
5807 // op: rs1
5808 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5809 Value |= (op & 0x1f) << 15;
5810 // op: rd
5811 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5812 Value |= (op & 0x1f) << 7;
5813 // op: shamt
5814 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
5815 Value |= (op & 0x1f) << 20;
5816 // op: width
5817 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
5818 Value |= (op & 0x1f) << 25;
5819 break;
5820 }
5821 case RISCV::PSATI_W:
5822 case RISCV::SATI_RV32: {
5823 // op: rs1
5824 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5825 Value |= (op & 0x1f) << 15;
5826 // op: rd
5827 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5828 Value |= (op & 0x1f) << 7;
5829 // op: shamt
5830 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
5831 Value |= (op & 0x1f) << 20;
5832 break;
5833 }
5834 case RISCV::SATI_RV64: {
5835 // op: rs1
5836 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5837 Value |= (op & 0x1f) << 15;
5838 // op: rd
5839 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5840 Value |= (op & 0x1f) << 7;
5841 // op: shamt
5842 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
5843 Value |= (op & 0x3f) << 20;
5844 break;
5845 }
5846 case RISCV::PSATI_H: {
5847 // op: rs1
5848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5849 Value |= (op & 0x1f) << 15;
5850 // op: rd
5851 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5852 Value |= (op & 0x1f) << 7;
5853 // op: shamt
5854 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
5855 Value |= (op & 0xf) << 20;
5856 break;
5857 }
5858 case RISCV::BCLRI:
5859 case RISCV::BEXTI:
5860 case RISCV::BINVI:
5861 case RISCV::BSETI:
5862 case RISCV::RORI:
5863 case RISCV::SLLI:
5864 case RISCV::SLLI_UW:
5865 case RISCV::SRAI:
5866 case RISCV::SRLI:
5867 case RISCV::TH_SRRI:
5868 case RISCV::TH_TST: {
5869 // op: rs1
5870 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5871 Value |= (op & 0x1f) << 15;
5872 // op: rd
5873 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5874 Value |= (op & 0x1f) << 7;
5875 // op: shamt
5876 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5877 Value |= (op & 0x3f) << 20;
5878 break;
5879 }
5880 case RISCV::VSETVLI: {
5881 // op: rs1
5882 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5883 Value |= (op & 0x1f) << 15;
5884 // op: rd
5885 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5886 Value |= (op & 0x1f) << 7;
5887 // op: vtypei
5888 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5889 Value |= (op & 0x7ff) << 20;
5890 break;
5891 }
5892 case RISCV::AIF_FROUND_PS: {
5893 // op: rs1
5894 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5895 Value |= (op & 0x1f) << 15;
5896 // op: rm
5897 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5898 Value |= (op & 0x7) << 12;
5899 // op: rd
5900 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5901 Value |= (op & 0x1f) << 7;
5902 break;
5903 }
5904 case RISCV::QC_E_SB:
5905 case RISCV::QC_E_SH:
5906 case RISCV::QC_E_SW: {
5907 // op: rs1
5908 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5909 Value |= (op & 0x1f) << 15;
5910 // op: rs2
5911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5912 Value |= (op & 0x1f) << 20;
5913 // op: imm
5914 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5915 Value |= (op & 0x3fffc00) << 22;
5916 Value |= (op & 0x3e0) << 20;
5917 Value |= (op & 0x1f) << 7;
5918 break;
5919 }
5920 case RISCV::CV_SB_rr:
5921 case RISCV::CV_SH_rr:
5922 case RISCV::CV_SW_rr: {
5923 // op: rs1
5924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5925 Value |= (op & 0x1f) << 15;
5926 // op: rs2
5927 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5928 Value |= (op & 0x1f) << 20;
5929 // op: rs3
5930 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5931 Value |= (op & 0x1f) << 7;
5932 break;
5933 }
5934 case RISCV::QC_OUTW: {
5935 // op: rs1
5936 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5937 Value |= (op & 0x1f) << 15;
5938 // op: rs2
5939 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5940 Value |= (op & 0x1f) << 7;
5941 // op: imm14
5942 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5943 Value |= (op & 0x3ffc) << 18;
5944 break;
5945 }
5946 case RISCV::AIF_FSC32B_PS:
5947 case RISCV::AIF_FSC32H_PS:
5948 case RISCV::AIF_FSC32W_PS:
5949 case RISCV::AIF_FSCBG_PS:
5950 case RISCV::AIF_FSCBL_PS:
5951 case RISCV::AIF_FSCB_PS:
5952 case RISCV::AIF_FSCHG_PS:
5953 case RISCV::AIF_FSCHL_PS:
5954 case RISCV::AIF_FSCH_PS:
5955 case RISCV::AIF_FSCWG_PS:
5956 case RISCV::AIF_FSCWL_PS:
5957 case RISCV::AIF_FSCW_PS: {
5958 // op: rs1
5959 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5960 Value |= (op & 0x1f) << 15;
5961 // op: rs2
5962 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5963 Value |= (op & 0x1f) << 20;
5964 // op: rs3
5965 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5966 Value |= (op & 0x1f) << 7;
5967 break;
5968 }
5969 case RISCV::NDS_VLE4_V:
5970 case RISCV::SF_VTMV_V_T:
5971 case RISCV::VL1RE16_V:
5972 case RISCV::VL1RE32_V:
5973 case RISCV::VL1RE64_V:
5974 case RISCV::VL1RE8_V:
5975 case RISCV::VL2RE16_V:
5976 case RISCV::VL2RE32_V:
5977 case RISCV::VL2RE64_V:
5978 case RISCV::VL2RE8_V:
5979 case RISCV::VL4RE16_V:
5980 case RISCV::VL4RE32_V:
5981 case RISCV::VL4RE64_V:
5982 case RISCV::VL4RE8_V:
5983 case RISCV::VL8RE16_V:
5984 case RISCV::VL8RE32_V:
5985 case RISCV::VL8RE64_V:
5986 case RISCV::VL8RE8_V:
5987 case RISCV::VLM_V: {
5988 // op: rs1
5989 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5990 Value |= (op & 0x1f) << 15;
5991 // op: vd
5992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5993 Value |= (op & 0x1f) << 7;
5994 break;
5995 }
5996 case RISCV::NDS_VLN8_V:
5997 case RISCV::NDS_VLNU8_V:
5998 case RISCV::VLE16FF_V:
5999 case RISCV::VLE16_V:
6000 case RISCV::VLE32FF_V:
6001 case RISCV::VLE32_V:
6002 case RISCV::VLE64FF_V:
6003 case RISCV::VLE64_V:
6004 case RISCV::VLE8FF_V:
6005 case RISCV::VLE8_V:
6006 case RISCV::VLSEG2E16FF_V:
6007 case RISCV::VLSEG2E16_V:
6008 case RISCV::VLSEG2E32FF_V:
6009 case RISCV::VLSEG2E32_V:
6010 case RISCV::VLSEG2E64FF_V:
6011 case RISCV::VLSEG2E64_V:
6012 case RISCV::VLSEG2E8FF_V:
6013 case RISCV::VLSEG2E8_V:
6014 case RISCV::VLSEG3E16FF_V:
6015 case RISCV::VLSEG3E16_V:
6016 case RISCV::VLSEG3E32FF_V:
6017 case RISCV::VLSEG3E32_V:
6018 case RISCV::VLSEG3E64FF_V:
6019 case RISCV::VLSEG3E64_V:
6020 case RISCV::VLSEG3E8FF_V:
6021 case RISCV::VLSEG3E8_V:
6022 case RISCV::VLSEG4E16FF_V:
6023 case RISCV::VLSEG4E16_V:
6024 case RISCV::VLSEG4E32FF_V:
6025 case RISCV::VLSEG4E32_V:
6026 case RISCV::VLSEG4E64FF_V:
6027 case RISCV::VLSEG4E64_V:
6028 case RISCV::VLSEG4E8FF_V:
6029 case RISCV::VLSEG4E8_V:
6030 case RISCV::VLSEG5E16FF_V:
6031 case RISCV::VLSEG5E16_V:
6032 case RISCV::VLSEG5E32FF_V:
6033 case RISCV::VLSEG5E32_V:
6034 case RISCV::VLSEG5E64FF_V:
6035 case RISCV::VLSEG5E64_V:
6036 case RISCV::VLSEG5E8FF_V:
6037 case RISCV::VLSEG5E8_V:
6038 case RISCV::VLSEG6E16FF_V:
6039 case RISCV::VLSEG6E16_V:
6040 case RISCV::VLSEG6E32FF_V:
6041 case RISCV::VLSEG6E32_V:
6042 case RISCV::VLSEG6E64FF_V:
6043 case RISCV::VLSEG6E64_V:
6044 case RISCV::VLSEG6E8FF_V:
6045 case RISCV::VLSEG6E8_V:
6046 case RISCV::VLSEG7E16FF_V:
6047 case RISCV::VLSEG7E16_V:
6048 case RISCV::VLSEG7E32FF_V:
6049 case RISCV::VLSEG7E32_V:
6050 case RISCV::VLSEG7E64FF_V:
6051 case RISCV::VLSEG7E64_V:
6052 case RISCV::VLSEG7E8FF_V:
6053 case RISCV::VLSEG7E8_V:
6054 case RISCV::VLSEG8E16FF_V:
6055 case RISCV::VLSEG8E16_V:
6056 case RISCV::VLSEG8E32FF_V:
6057 case RISCV::VLSEG8E32_V:
6058 case RISCV::VLSEG8E64FF_V:
6059 case RISCV::VLSEG8E64_V:
6060 case RISCV::VLSEG8E8FF_V:
6061 case RISCV::VLSEG8E8_V: {
6062 // op: rs1
6063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6064 Value |= (op & 0x1f) << 15;
6065 // op: vd
6066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6067 Value |= (op & 0x1f) << 7;
6068 // op: vm
6069 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
6070 Value |= (op & 0x1) << 25;
6071 break;
6072 }
6073 case RISCV::VLSE16_V:
6074 case RISCV::VLSE32_V:
6075 case RISCV::VLSE64_V:
6076 case RISCV::VLSE8_V:
6077 case RISCV::VLSSEG2E16_V:
6078 case RISCV::VLSSEG2E32_V:
6079 case RISCV::VLSSEG2E64_V:
6080 case RISCV::VLSSEG2E8_V:
6081 case RISCV::VLSSEG3E16_V:
6082 case RISCV::VLSSEG3E32_V:
6083 case RISCV::VLSSEG3E64_V:
6084 case RISCV::VLSSEG3E8_V:
6085 case RISCV::VLSSEG4E16_V:
6086 case RISCV::VLSSEG4E32_V:
6087 case RISCV::VLSSEG4E64_V:
6088 case RISCV::VLSSEG4E8_V:
6089 case RISCV::VLSSEG5E16_V:
6090 case RISCV::VLSSEG5E32_V:
6091 case RISCV::VLSSEG5E64_V:
6092 case RISCV::VLSSEG5E8_V:
6093 case RISCV::VLSSEG6E16_V:
6094 case RISCV::VLSSEG6E32_V:
6095 case RISCV::VLSSEG6E64_V:
6096 case RISCV::VLSSEG6E8_V:
6097 case RISCV::VLSSEG7E16_V:
6098 case RISCV::VLSSEG7E32_V:
6099 case RISCV::VLSSEG7E64_V:
6100 case RISCV::VLSSEG7E8_V:
6101 case RISCV::VLSSEG8E16_V:
6102 case RISCV::VLSSEG8E32_V:
6103 case RISCV::VLSSEG8E64_V:
6104 case RISCV::VLSSEG8E8_V: {
6105 // op: rs1
6106 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6107 Value |= (op & 0x1f) << 15;
6108 // op: vd
6109 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6110 Value |= (op & 0x1f) << 7;
6111 // op: vm
6112 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
6113 Value |= (op & 0x1) << 25;
6114 // op: rs2
6115 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6116 Value |= (op & 0x1f) << 20;
6117 break;
6118 }
6119 case RISCV::VLOXEI16_V:
6120 case RISCV::VLOXEI32_V:
6121 case RISCV::VLOXEI64_V:
6122 case RISCV::VLOXEI8_V:
6123 case RISCV::VLOXSEG2EI16_V:
6124 case RISCV::VLOXSEG2EI32_V:
6125 case RISCV::VLOXSEG2EI64_V:
6126 case RISCV::VLOXSEG2EI8_V:
6127 case RISCV::VLOXSEG3EI16_V:
6128 case RISCV::VLOXSEG3EI32_V:
6129 case RISCV::VLOXSEG3EI64_V:
6130 case RISCV::VLOXSEG3EI8_V:
6131 case RISCV::VLOXSEG4EI16_V:
6132 case RISCV::VLOXSEG4EI32_V:
6133 case RISCV::VLOXSEG4EI64_V:
6134 case RISCV::VLOXSEG4EI8_V:
6135 case RISCV::VLOXSEG5EI16_V:
6136 case RISCV::VLOXSEG5EI32_V:
6137 case RISCV::VLOXSEG5EI64_V:
6138 case RISCV::VLOXSEG5EI8_V:
6139 case RISCV::VLOXSEG6EI16_V:
6140 case RISCV::VLOXSEG6EI32_V:
6141 case RISCV::VLOXSEG6EI64_V:
6142 case RISCV::VLOXSEG6EI8_V:
6143 case RISCV::VLOXSEG7EI16_V:
6144 case RISCV::VLOXSEG7EI32_V:
6145 case RISCV::VLOXSEG7EI64_V:
6146 case RISCV::VLOXSEG7EI8_V:
6147 case RISCV::VLOXSEG8EI16_V:
6148 case RISCV::VLOXSEG8EI32_V:
6149 case RISCV::VLOXSEG8EI64_V:
6150 case RISCV::VLOXSEG8EI8_V:
6151 case RISCV::VLUXEI16_V:
6152 case RISCV::VLUXEI32_V:
6153 case RISCV::VLUXEI64_V:
6154 case RISCV::VLUXEI8_V:
6155 case RISCV::VLUXSEG2EI16_V:
6156 case RISCV::VLUXSEG2EI32_V:
6157 case RISCV::VLUXSEG2EI64_V:
6158 case RISCV::VLUXSEG2EI8_V:
6159 case RISCV::VLUXSEG3EI16_V:
6160 case RISCV::VLUXSEG3EI32_V:
6161 case RISCV::VLUXSEG3EI64_V:
6162 case RISCV::VLUXSEG3EI8_V:
6163 case RISCV::VLUXSEG4EI16_V:
6164 case RISCV::VLUXSEG4EI32_V:
6165 case RISCV::VLUXSEG4EI64_V:
6166 case RISCV::VLUXSEG4EI8_V:
6167 case RISCV::VLUXSEG5EI16_V:
6168 case RISCV::VLUXSEG5EI32_V:
6169 case RISCV::VLUXSEG5EI64_V:
6170 case RISCV::VLUXSEG5EI8_V:
6171 case RISCV::VLUXSEG6EI16_V:
6172 case RISCV::VLUXSEG6EI32_V:
6173 case RISCV::VLUXSEG6EI64_V:
6174 case RISCV::VLUXSEG6EI8_V:
6175 case RISCV::VLUXSEG7EI16_V:
6176 case RISCV::VLUXSEG7EI32_V:
6177 case RISCV::VLUXSEG7EI64_V:
6178 case RISCV::VLUXSEG7EI8_V:
6179 case RISCV::VLUXSEG8EI16_V:
6180 case RISCV::VLUXSEG8EI32_V:
6181 case RISCV::VLUXSEG8EI64_V:
6182 case RISCV::VLUXSEG8EI8_V: {
6183 // op: rs1
6184 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6185 Value |= (op & 0x1f) << 15;
6186 // op: vd
6187 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6188 Value |= (op & 0x1f) << 7;
6189 // op: vm
6190 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
6191 Value |= (op & 0x1) << 25;
6192 // op: vs2
6193 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6194 Value |= (op & 0x1f) << 20;
6195 break;
6196 }
6197 case RISCV::VS1R_V:
6198 case RISCV::VS2R_V:
6199 case RISCV::VS4R_V:
6200 case RISCV::VS8R_V:
6201 case RISCV::VSM_V: {
6202 // op: rs1
6203 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6204 Value |= (op & 0x1f) << 15;
6205 // op: vs3
6206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6207 Value |= (op & 0x1f) << 7;
6208 break;
6209 }
6210 case RISCV::VSE16_V:
6211 case RISCV::VSE32_V:
6212 case RISCV::VSE64_V:
6213 case RISCV::VSE8_V:
6214 case RISCV::VSSEG2E16_V:
6215 case RISCV::VSSEG2E32_V:
6216 case RISCV::VSSEG2E64_V:
6217 case RISCV::VSSEG2E8_V:
6218 case RISCV::VSSEG3E16_V:
6219 case RISCV::VSSEG3E32_V:
6220 case RISCV::VSSEG3E64_V:
6221 case RISCV::VSSEG3E8_V:
6222 case RISCV::VSSEG4E16_V:
6223 case RISCV::VSSEG4E32_V:
6224 case RISCV::VSSEG4E64_V:
6225 case RISCV::VSSEG4E8_V:
6226 case RISCV::VSSEG5E16_V:
6227 case RISCV::VSSEG5E32_V:
6228 case RISCV::VSSEG5E64_V:
6229 case RISCV::VSSEG5E8_V:
6230 case RISCV::VSSEG6E16_V:
6231 case RISCV::VSSEG6E32_V:
6232 case RISCV::VSSEG6E64_V:
6233 case RISCV::VSSEG6E8_V:
6234 case RISCV::VSSEG7E16_V:
6235 case RISCV::VSSEG7E32_V:
6236 case RISCV::VSSEG7E64_V:
6237 case RISCV::VSSEG7E8_V:
6238 case RISCV::VSSEG8E16_V:
6239 case RISCV::VSSEG8E32_V:
6240 case RISCV::VSSEG8E64_V:
6241 case RISCV::VSSEG8E8_V: {
6242 // op: rs1
6243 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6244 Value |= (op & 0x1f) << 15;
6245 // op: vs3
6246 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6247 Value |= (op & 0x1f) << 7;
6248 // op: vm
6249 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
6250 Value |= (op & 0x1) << 25;
6251 break;
6252 }
6253 case RISCV::VSSE16_V:
6254 case RISCV::VSSE32_V:
6255 case RISCV::VSSE64_V:
6256 case RISCV::VSSE8_V:
6257 case RISCV::VSSSEG2E16_V:
6258 case RISCV::VSSSEG2E32_V:
6259 case RISCV::VSSSEG2E64_V:
6260 case RISCV::VSSSEG2E8_V:
6261 case RISCV::VSSSEG3E16_V:
6262 case RISCV::VSSSEG3E32_V:
6263 case RISCV::VSSSEG3E64_V:
6264 case RISCV::VSSSEG3E8_V:
6265 case RISCV::VSSSEG4E16_V:
6266 case RISCV::VSSSEG4E32_V:
6267 case RISCV::VSSSEG4E64_V:
6268 case RISCV::VSSSEG4E8_V:
6269 case RISCV::VSSSEG5E16_V:
6270 case RISCV::VSSSEG5E32_V:
6271 case RISCV::VSSSEG5E64_V:
6272 case RISCV::VSSSEG5E8_V:
6273 case RISCV::VSSSEG6E16_V:
6274 case RISCV::VSSSEG6E32_V:
6275 case RISCV::VSSSEG6E64_V:
6276 case RISCV::VSSSEG6E8_V:
6277 case RISCV::VSSSEG7E16_V:
6278 case RISCV::VSSSEG7E32_V:
6279 case RISCV::VSSSEG7E64_V:
6280 case RISCV::VSSSEG7E8_V:
6281 case RISCV::VSSSEG8E16_V:
6282 case RISCV::VSSSEG8E32_V:
6283 case RISCV::VSSSEG8E64_V:
6284 case RISCV::VSSSEG8E8_V: {
6285 // op: rs1
6286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6287 Value |= (op & 0x1f) << 15;
6288 // op: vs3
6289 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6290 Value |= (op & 0x1f) << 7;
6291 // op: vm
6292 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
6293 Value |= (op & 0x1) << 25;
6294 // op: rs2
6295 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6296 Value |= (op & 0x1f) << 20;
6297 break;
6298 }
6299 case RISCV::VSOXEI16_V:
6300 case RISCV::VSOXEI32_V:
6301 case RISCV::VSOXEI64_V:
6302 case RISCV::VSOXEI8_V:
6303 case RISCV::VSOXSEG2EI16_V:
6304 case RISCV::VSOXSEG2EI32_V:
6305 case RISCV::VSOXSEG2EI64_V:
6306 case RISCV::VSOXSEG2EI8_V:
6307 case RISCV::VSOXSEG3EI16_V:
6308 case RISCV::VSOXSEG3EI32_V:
6309 case RISCV::VSOXSEG3EI64_V:
6310 case RISCV::VSOXSEG3EI8_V:
6311 case RISCV::VSOXSEG4EI16_V:
6312 case RISCV::VSOXSEG4EI32_V:
6313 case RISCV::VSOXSEG4EI64_V:
6314 case RISCV::VSOXSEG4EI8_V:
6315 case RISCV::VSOXSEG5EI16_V:
6316 case RISCV::VSOXSEG5EI32_V:
6317 case RISCV::VSOXSEG5EI64_V:
6318 case RISCV::VSOXSEG5EI8_V:
6319 case RISCV::VSOXSEG6EI16_V:
6320 case RISCV::VSOXSEG6EI32_V:
6321 case RISCV::VSOXSEG6EI64_V:
6322 case RISCV::VSOXSEG6EI8_V:
6323 case RISCV::VSOXSEG7EI16_V:
6324 case RISCV::VSOXSEG7EI32_V:
6325 case RISCV::VSOXSEG7EI64_V:
6326 case RISCV::VSOXSEG7EI8_V:
6327 case RISCV::VSOXSEG8EI16_V:
6328 case RISCV::VSOXSEG8EI32_V:
6329 case RISCV::VSOXSEG8EI64_V:
6330 case RISCV::VSOXSEG8EI8_V:
6331 case RISCV::VSUXEI16_V:
6332 case RISCV::VSUXEI32_V:
6333 case RISCV::VSUXEI64_V:
6334 case RISCV::VSUXEI8_V:
6335 case RISCV::VSUXSEG2EI16_V:
6336 case RISCV::VSUXSEG2EI32_V:
6337 case RISCV::VSUXSEG2EI64_V:
6338 case RISCV::VSUXSEG2EI8_V:
6339 case RISCV::VSUXSEG3EI16_V:
6340 case RISCV::VSUXSEG3EI32_V:
6341 case RISCV::VSUXSEG3EI64_V:
6342 case RISCV::VSUXSEG3EI8_V:
6343 case RISCV::VSUXSEG4EI16_V:
6344 case RISCV::VSUXSEG4EI32_V:
6345 case RISCV::VSUXSEG4EI64_V:
6346 case RISCV::VSUXSEG4EI8_V:
6347 case RISCV::VSUXSEG5EI16_V:
6348 case RISCV::VSUXSEG5EI32_V:
6349 case RISCV::VSUXSEG5EI64_V:
6350 case RISCV::VSUXSEG5EI8_V:
6351 case RISCV::VSUXSEG6EI16_V:
6352 case RISCV::VSUXSEG6EI32_V:
6353 case RISCV::VSUXSEG6EI64_V:
6354 case RISCV::VSUXSEG6EI8_V:
6355 case RISCV::VSUXSEG7EI16_V:
6356 case RISCV::VSUXSEG7EI32_V:
6357 case RISCV::VSUXSEG7EI64_V:
6358 case RISCV::VSUXSEG7EI8_V:
6359 case RISCV::VSUXSEG8EI16_V:
6360 case RISCV::VSUXSEG8EI32_V:
6361 case RISCV::VSUXSEG8EI64_V:
6362 case RISCV::VSUXSEG8EI8_V: {
6363 // op: rs1
6364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6365 Value |= (op & 0x1f) << 15;
6366 // op: vs3
6367 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6368 Value |= (op & 0x1f) << 7;
6369 // op: vm
6370 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
6371 Value |= (op & 0x1) << 25;
6372 // op: vs2
6373 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6374 Value |= (op & 0x1f) << 20;
6375 break;
6376 }
6377 case RISCV::C_ADD: {
6378 // op: rs1
6379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6380 Value |= (op & 0x1f) << 7;
6381 // op: rs2
6382 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6383 Value |= (op & 0x1f) << 2;
6384 break;
6385 }
6386 case RISCV::AIF_MASKPOPC:
6387 case RISCV::AIF_MASKPOPCZ: {
6388 // op: rs1
6389 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6390 Value |= (op & 0x7) << 15;
6391 // op: rd
6392 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6393 Value |= (op & 0x1f) << 7;
6394 break;
6395 }
6396 case RISCV::AIF_MASKNOT: {
6397 // op: rs1
6398 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6399 Value |= (op & 0x7) << 15;
6400 // op: rd
6401 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6402 Value |= (op & 0x7) << 7;
6403 break;
6404 }
6405 case RISCV::QC_C_BEXTI:
6406 case RISCV::QC_C_BSETI: {
6407 // op: rs1
6408 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6409 Value |= (op & 0x7) << 7;
6410 // op: shamt
6411 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6412 Value |= (op & 0x1f) << 2;
6413 break;
6414 }
6415 case RISCV::AIF_FBC_PS:
6416 case RISCV::AIF_FLQ2:
6417 case RISCV::AIF_FLW_PS: {
6418 // op: rs1
6419 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6420 Value |= (op & 0x1f) << 15;
6421 // op: rd
6422 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6423 Value |= (op & 0x1f) << 7;
6424 // op: imm12
6425 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
6426 Value |= (op & 0xfff) << 20;
6427 break;
6428 }
6429 case RISCV::CV_LBU_ri_inc:
6430 case RISCV::CV_LB_ri_inc:
6431 case RISCV::CV_LHU_ri_inc:
6432 case RISCV::CV_LH_ri_inc:
6433 case RISCV::CV_LW_ri_inc: {
6434 // op: rs1
6435 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6436 Value |= (op & 0x1f) << 15;
6437 // op: rd
6438 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6439 Value |= (op & 0x1f) << 7;
6440 // op: imm12
6441 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6442 Value |= (op & 0xfff) << 20;
6443 break;
6444 }
6445 case RISCV::CSRRC:
6446 case RISCV::CSRRS:
6447 case RISCV::CSRRW: {
6448 // op: rs1
6449 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6450 Value |= (op & 0x1f) << 15;
6451 // op: rd
6452 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6453 Value |= (op & 0x1f) << 7;
6454 // op: imm12
6455 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6456 Value |= (op & 0xfff) << 20;
6457 break;
6458 }
6459 case RISCV::TH_LBIA:
6460 case RISCV::TH_LBIB:
6461 case RISCV::TH_LBUIA:
6462 case RISCV::TH_LBUIB:
6463 case RISCV::TH_LDIA:
6464 case RISCV::TH_LDIB:
6465 case RISCV::TH_LHIA:
6466 case RISCV::TH_LHIB:
6467 case RISCV::TH_LHUIA:
6468 case RISCV::TH_LHUIB:
6469 case RISCV::TH_LWIA:
6470 case RISCV::TH_LWIB:
6471 case RISCV::TH_LWUIA:
6472 case RISCV::TH_LWUIB: {
6473 // op: rs1
6474 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6475 Value |= (op & 0x1f) << 15;
6476 // op: rd
6477 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6478 Value |= (op & 0x1f) << 7;
6479 // op: simm5
6480 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6481 Value |= (op & 0x1f) << 20;
6482 // op: uimm2
6483 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6484 Value |= (op & 0x3) << 25;
6485 break;
6486 }
6487 case RISCV::QC_INSBRI: {
6488 // op: rs1
6489 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6490 Value |= (op & 0x1f) << 15;
6491 // op: rd
6492 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6493 Value |= (op & 0x1f) << 7;
6494 // op: imm11
6495 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6496 Value |= (op & 0x7ff) << 20;
6497 break;
6498 }
6499 case RISCV::QC_MULIADD: {
6500 // op: rs1
6501 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6502 Value |= (op & 0x1f) << 15;
6503 // op: rd
6504 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6505 Value |= (op & 0x1f) << 7;
6506 // op: imm12
6507 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6508 Value |= (op & 0xfff) << 20;
6509 break;
6510 }
6511 case RISCV::CV_INSERT_B:
6512 case RISCV::CV_INSERT_H:
6513 case RISCV::CV_SDOTSP_SCI_B:
6514 case RISCV::CV_SDOTSP_SCI_H:
6515 case RISCV::CV_SDOTUP_SCI_B:
6516 case RISCV::CV_SDOTUP_SCI_H:
6517 case RISCV::CV_SDOTUSP_SCI_B:
6518 case RISCV::CV_SDOTUSP_SCI_H: {
6519 // op: rs1
6520 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6521 Value |= (op & 0x1f) << 15;
6522 // op: rd
6523 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6524 Value |= (op & 0x1f) << 7;
6525 // op: imm6
6526 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6527 Value |= (op & 0x1) << 25;
6528 Value |= (op & 0x3e) << 19;
6529 break;
6530 }
6531 case RISCV::CV_INSERT: {
6532 // op: rs1
6533 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6534 Value |= (op & 0x1f) << 15;
6535 // op: rd
6536 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6537 Value |= (op & 0x1f) << 7;
6538 // op: is3
6539 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6540 Value |= (op & 0x1f) << 25;
6541 // op: is2
6542 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6543 Value |= (op & 0x1f) << 20;
6544 break;
6545 }
6546 case RISCV::QC_INSB:
6547 case RISCV::QC_INSBH: {
6548 // op: rs1
6549 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6550 Value |= (op & 0x1f) << 15;
6551 // op: rd
6552 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6553 Value |= (op & 0x1f) << 7;
6554 // op: shamt
6555 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6556 Value |= (op & 0x1f) << 20;
6557 // op: width
6558 op = getImmOpValueMinus1(MI, OpNo: 3, Fixups, STI);
6559 Value |= (op & 0x1f) << 25;
6560 break;
6561 }
6562 case RISCV::QC_SELECTIIEQ:
6563 case RISCV::QC_SELECTIINE: {
6564 // op: rs1
6565 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6566 Value |= (op & 0x1f) << 15;
6567 // op: rd
6568 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6569 Value |= (op & 0x1f) << 7;
6570 // op: simm1
6571 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6572 Value |= (op & 0x1f) << 20;
6573 // op: simm2
6574 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6575 Value |= (op & 0x1f) << 27;
6576 break;
6577 }
6578 case RISCV::TH_SBIA:
6579 case RISCV::TH_SBIB:
6580 case RISCV::TH_SDIA:
6581 case RISCV::TH_SDIB:
6582 case RISCV::TH_SHIA:
6583 case RISCV::TH_SHIB:
6584 case RISCV::TH_SWIA:
6585 case RISCV::TH_SWIB: {
6586 // op: rs1
6587 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6588 Value |= (op & 0x1f) << 15;
6589 // op: rd
6590 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6591 Value |= (op & 0x1f) << 7;
6592 // op: simm5
6593 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6594 Value |= (op & 0x1f) << 20;
6595 // op: uimm2
6596 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6597 Value |= (op & 0x3) << 25;
6598 break;
6599 }
6600 case RISCV::QC_LIEQI:
6601 case RISCV::QC_LIGEI:
6602 case RISCV::QC_LIGEUI:
6603 case RISCV::QC_LILTI:
6604 case RISCV::QC_LILTUI:
6605 case RISCV::QC_LINEI: {
6606 // op: rs2
6607 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6608 Value |= (op & 0x1f) << 20;
6609 // op: rs1
6610 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6611 Value |= (op & 0x1f) << 15;
6612 // op: rd
6613 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6614 Value |= (op & 0x1f) << 7;
6615 // op: simm
6616 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6617 Value |= (op & 0x1f) << 27;
6618 break;
6619 }
6620 case RISCV::SSPUSH: {
6621 // op: rs2
6622 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6623 Value |= (op & 0x1f) << 20;
6624 break;
6625 }
6626 case RISCV::AIF_SBG:
6627 case RISCV::AIF_SBL:
6628 case RISCV::AIF_SHG:
6629 case RISCV::AIF_SHL:
6630 case RISCV::HSV_B:
6631 case RISCV::HSV_D:
6632 case RISCV::HSV_H:
6633 case RISCV::HSV_W:
6634 case RISCV::SB_AQRL:
6635 case RISCV::SB_RL:
6636 case RISCV::SD_AQRL:
6637 case RISCV::SD_RL:
6638 case RISCV::SF_VLTE16:
6639 case RISCV::SF_VLTE32:
6640 case RISCV::SF_VLTE64:
6641 case RISCV::SF_VLTE8:
6642 case RISCV::SF_VSTE16:
6643 case RISCV::SF_VSTE32:
6644 case RISCV::SF_VSTE64:
6645 case RISCV::SF_VSTE8:
6646 case RISCV::SH_AQRL:
6647 case RISCV::SH_RL:
6648 case RISCV::SW_AQRL:
6649 case RISCV::SW_RL: {
6650 // op: rs2
6651 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6652 Value |= (op & 0x1f) << 20;
6653 // op: rs1
6654 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6655 Value |= (op & 0x1f) << 15;
6656 break;
6657 }
6658 case RISCV::QK_C_SB: {
6659 // op: rs2
6660 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6661 Value |= (op & 0x7) << 2;
6662 // op: rs1
6663 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6664 Value |= (op & 0x7) << 7;
6665 // op: imm
6666 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6667 Value |= (op & 0x1) << 12;
6668 Value |= (op & 0x18) << 7;
6669 Value |= (op & 0x6) << 4;
6670 break;
6671 }
6672 case RISCV::C_SB: {
6673 // op: rs2
6674 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6675 Value |= (op & 0x7) << 2;
6676 // op: rs1
6677 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6678 Value |= (op & 0x7) << 7;
6679 // op: imm
6680 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6681 Value |= (op & 0x1) << 6;
6682 Value |= (op & 0x2) << 4;
6683 break;
6684 }
6685 case RISCV::C_SH:
6686 case RISCV::C_SH_INX: {
6687 // op: rs2
6688 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6689 Value |= (op & 0x7) << 2;
6690 // op: rs1
6691 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6692 Value |= (op & 0x7) << 7;
6693 // op: imm
6694 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6695 Value |= (op & 0x2) << 4;
6696 break;
6697 }
6698 case RISCV::C_FSW:
6699 case RISCV::C_SW:
6700 case RISCV::C_SW_INX: {
6701 // op: rs2
6702 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6703 Value |= (op & 0x7) << 2;
6704 // op: rs1
6705 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6706 Value |= (op & 0x7) << 7;
6707 // op: imm
6708 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6709 Value |= (op & 0x38) << 7;
6710 Value |= (op & 0x4) << 4;
6711 Value |= (op & 0x40) >> 1;
6712 break;
6713 }
6714 case RISCV::QK_C_SH: {
6715 // op: rs2
6716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6717 Value |= (op & 0x7) << 2;
6718 // op: rs1
6719 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6720 Value |= (op & 0x7) << 7;
6721 // op: imm
6722 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6723 Value |= (op & 0x38) << 7;
6724 Value |= (op & 0x6) << 4;
6725 break;
6726 }
6727 case RISCV::C_FSD:
6728 case RISCV::C_SD:
6729 case RISCV::C_SD_RV32: {
6730 // op: rs2
6731 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6732 Value |= (op & 0x7) << 2;
6733 // op: rs1
6734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6735 Value |= (op & 0x7) << 7;
6736 // op: imm
6737 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6738 Value |= (op & 0x38) << 7;
6739 Value |= (op & 0xc0) >> 1;
6740 break;
6741 }
6742 case RISCV::NDS_FCVT_BF16_S:
6743 case RISCV::NDS_FCVT_S_BF16: {
6744 // op: rs2
6745 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6746 Value |= (op & 0x1f) << 20;
6747 // op: rd
6748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6749 Value |= (op & 0x1f) << 7;
6750 break;
6751 }
6752 case RISCV::HFENCE_GVMA:
6753 case RISCV::HFENCE_VVMA:
6754 case RISCV::HINVAL_GVMA:
6755 case RISCV::HINVAL_VVMA:
6756 case RISCV::SFENCE_VMA:
6757 case RISCV::SF_VTMV_T_V:
6758 case RISCV::SINVAL_VMA:
6759 case RISCV::TH_SFENCE_VMAS: {
6760 // op: rs2
6761 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6762 Value |= (op & 0x1f) << 20;
6763 // op: rs1
6764 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6765 Value |= (op & 0x1f) << 15;
6766 break;
6767 }
6768 case RISCV::AIF_AMOADDG_D:
6769 case RISCV::AIF_AMOADDG_W:
6770 case RISCV::AIF_AMOADDL_D:
6771 case RISCV::AIF_AMOADDL_W:
6772 case RISCV::AIF_AMOANDG_D:
6773 case RISCV::AIF_AMOANDG_W:
6774 case RISCV::AIF_AMOANDL_D:
6775 case RISCV::AIF_AMOANDL_W:
6776 case RISCV::AIF_AMOCMPSWAPG_D:
6777 case RISCV::AIF_AMOCMPSWAPG_W:
6778 case RISCV::AIF_AMOCMPSWAPL_D:
6779 case RISCV::AIF_AMOCMPSWAPL_W:
6780 case RISCV::AIF_AMOMAXG_D:
6781 case RISCV::AIF_AMOMAXG_W:
6782 case RISCV::AIF_AMOMAXL_D:
6783 case RISCV::AIF_AMOMAXL_W:
6784 case RISCV::AIF_AMOMAXUG_D:
6785 case RISCV::AIF_AMOMAXUG_W:
6786 case RISCV::AIF_AMOMAXUL_D:
6787 case RISCV::AIF_AMOMAXUL_W:
6788 case RISCV::AIF_AMOMING_D:
6789 case RISCV::AIF_AMOMING_W:
6790 case RISCV::AIF_AMOMINL_D:
6791 case RISCV::AIF_AMOMINL_W:
6792 case RISCV::AIF_AMOMINUG_D:
6793 case RISCV::AIF_AMOMINUG_W:
6794 case RISCV::AIF_AMOMINUL_D:
6795 case RISCV::AIF_AMOMINUL_W:
6796 case RISCV::AIF_AMOORG_D:
6797 case RISCV::AIF_AMOORG_W:
6798 case RISCV::AIF_AMOORL_D:
6799 case RISCV::AIF_AMOORL_W:
6800 case RISCV::AIF_AMOSWAPG_D:
6801 case RISCV::AIF_AMOSWAPG_W:
6802 case RISCV::AIF_AMOSWAPL_D:
6803 case RISCV::AIF_AMOSWAPL_W:
6804 case RISCV::AIF_AMOXORG_D:
6805 case RISCV::AIF_AMOXORG_W:
6806 case RISCV::AIF_AMOXORL_D:
6807 case RISCV::AIF_AMOXORL_W:
6808 case RISCV::AMOADD_B:
6809 case RISCV::AMOADD_B_AQ:
6810 case RISCV::AMOADD_B_AQRL:
6811 case RISCV::AMOADD_B_RL:
6812 case RISCV::AMOADD_D:
6813 case RISCV::AMOADD_D_AQ:
6814 case RISCV::AMOADD_D_AQRL:
6815 case RISCV::AMOADD_D_RL:
6816 case RISCV::AMOADD_H:
6817 case RISCV::AMOADD_H_AQ:
6818 case RISCV::AMOADD_H_AQRL:
6819 case RISCV::AMOADD_H_RL:
6820 case RISCV::AMOADD_W:
6821 case RISCV::AMOADD_W_AQ:
6822 case RISCV::AMOADD_W_AQRL:
6823 case RISCV::AMOADD_W_RL:
6824 case RISCV::AMOAND_B:
6825 case RISCV::AMOAND_B_AQ:
6826 case RISCV::AMOAND_B_AQRL:
6827 case RISCV::AMOAND_B_RL:
6828 case RISCV::AMOAND_D:
6829 case RISCV::AMOAND_D_AQ:
6830 case RISCV::AMOAND_D_AQRL:
6831 case RISCV::AMOAND_D_RL:
6832 case RISCV::AMOAND_H:
6833 case RISCV::AMOAND_H_AQ:
6834 case RISCV::AMOAND_H_AQRL:
6835 case RISCV::AMOAND_H_RL:
6836 case RISCV::AMOAND_W:
6837 case RISCV::AMOAND_W_AQ:
6838 case RISCV::AMOAND_W_AQRL:
6839 case RISCV::AMOAND_W_RL:
6840 case RISCV::AMOMAXU_B:
6841 case RISCV::AMOMAXU_B_AQ:
6842 case RISCV::AMOMAXU_B_AQRL:
6843 case RISCV::AMOMAXU_B_RL:
6844 case RISCV::AMOMAXU_D:
6845 case RISCV::AMOMAXU_D_AQ:
6846 case RISCV::AMOMAXU_D_AQRL:
6847 case RISCV::AMOMAXU_D_RL:
6848 case RISCV::AMOMAXU_H:
6849 case RISCV::AMOMAXU_H_AQ:
6850 case RISCV::AMOMAXU_H_AQRL:
6851 case RISCV::AMOMAXU_H_RL:
6852 case RISCV::AMOMAXU_W:
6853 case RISCV::AMOMAXU_W_AQ:
6854 case RISCV::AMOMAXU_W_AQRL:
6855 case RISCV::AMOMAXU_W_RL:
6856 case RISCV::AMOMAX_B:
6857 case RISCV::AMOMAX_B_AQ:
6858 case RISCV::AMOMAX_B_AQRL:
6859 case RISCV::AMOMAX_B_RL:
6860 case RISCV::AMOMAX_D:
6861 case RISCV::AMOMAX_D_AQ:
6862 case RISCV::AMOMAX_D_AQRL:
6863 case RISCV::AMOMAX_D_RL:
6864 case RISCV::AMOMAX_H:
6865 case RISCV::AMOMAX_H_AQ:
6866 case RISCV::AMOMAX_H_AQRL:
6867 case RISCV::AMOMAX_H_RL:
6868 case RISCV::AMOMAX_W:
6869 case RISCV::AMOMAX_W_AQ:
6870 case RISCV::AMOMAX_W_AQRL:
6871 case RISCV::AMOMAX_W_RL:
6872 case RISCV::AMOMINU_B:
6873 case RISCV::AMOMINU_B_AQ:
6874 case RISCV::AMOMINU_B_AQRL:
6875 case RISCV::AMOMINU_B_RL:
6876 case RISCV::AMOMINU_D:
6877 case RISCV::AMOMINU_D_AQ:
6878 case RISCV::AMOMINU_D_AQRL:
6879 case RISCV::AMOMINU_D_RL:
6880 case RISCV::AMOMINU_H:
6881 case RISCV::AMOMINU_H_AQ:
6882 case RISCV::AMOMINU_H_AQRL:
6883 case RISCV::AMOMINU_H_RL:
6884 case RISCV::AMOMINU_W:
6885 case RISCV::AMOMINU_W_AQ:
6886 case RISCV::AMOMINU_W_AQRL:
6887 case RISCV::AMOMINU_W_RL:
6888 case RISCV::AMOMIN_B:
6889 case RISCV::AMOMIN_B_AQ:
6890 case RISCV::AMOMIN_B_AQRL:
6891 case RISCV::AMOMIN_B_RL:
6892 case RISCV::AMOMIN_D:
6893 case RISCV::AMOMIN_D_AQ:
6894 case RISCV::AMOMIN_D_AQRL:
6895 case RISCV::AMOMIN_D_RL:
6896 case RISCV::AMOMIN_H:
6897 case RISCV::AMOMIN_H_AQ:
6898 case RISCV::AMOMIN_H_AQRL:
6899 case RISCV::AMOMIN_H_RL:
6900 case RISCV::AMOMIN_W:
6901 case RISCV::AMOMIN_W_AQ:
6902 case RISCV::AMOMIN_W_AQRL:
6903 case RISCV::AMOMIN_W_RL:
6904 case RISCV::AMOOR_B:
6905 case RISCV::AMOOR_B_AQ:
6906 case RISCV::AMOOR_B_AQRL:
6907 case RISCV::AMOOR_B_RL:
6908 case RISCV::AMOOR_D:
6909 case RISCV::AMOOR_D_AQ:
6910 case RISCV::AMOOR_D_AQRL:
6911 case RISCV::AMOOR_D_RL:
6912 case RISCV::AMOOR_H:
6913 case RISCV::AMOOR_H_AQ:
6914 case RISCV::AMOOR_H_AQRL:
6915 case RISCV::AMOOR_H_RL:
6916 case RISCV::AMOOR_W:
6917 case RISCV::AMOOR_W_AQ:
6918 case RISCV::AMOOR_W_AQRL:
6919 case RISCV::AMOOR_W_RL:
6920 case RISCV::AMOSWAP_B:
6921 case RISCV::AMOSWAP_B_AQ:
6922 case RISCV::AMOSWAP_B_AQRL:
6923 case RISCV::AMOSWAP_B_RL:
6924 case RISCV::AMOSWAP_D:
6925 case RISCV::AMOSWAP_D_AQ:
6926 case RISCV::AMOSWAP_D_AQRL:
6927 case RISCV::AMOSWAP_D_RL:
6928 case RISCV::AMOSWAP_H:
6929 case RISCV::AMOSWAP_H_AQ:
6930 case RISCV::AMOSWAP_H_AQRL:
6931 case RISCV::AMOSWAP_H_RL:
6932 case RISCV::AMOSWAP_W:
6933 case RISCV::AMOSWAP_W_AQ:
6934 case RISCV::AMOSWAP_W_AQRL:
6935 case RISCV::AMOSWAP_W_RL:
6936 case RISCV::AMOXOR_B:
6937 case RISCV::AMOXOR_B_AQ:
6938 case RISCV::AMOXOR_B_AQRL:
6939 case RISCV::AMOXOR_B_RL:
6940 case RISCV::AMOXOR_D:
6941 case RISCV::AMOXOR_D_AQ:
6942 case RISCV::AMOXOR_D_AQRL:
6943 case RISCV::AMOXOR_D_RL:
6944 case RISCV::AMOXOR_H:
6945 case RISCV::AMOXOR_H_AQ:
6946 case RISCV::AMOXOR_H_AQRL:
6947 case RISCV::AMOXOR_H_RL:
6948 case RISCV::AMOXOR_W:
6949 case RISCV::AMOXOR_W_AQ:
6950 case RISCV::AMOXOR_W_AQRL:
6951 case RISCV::AMOXOR_W_RL:
6952 case RISCV::LXD:
6953 case RISCV::LXH:
6954 case RISCV::LXHU:
6955 case RISCV::LXSB:
6956 case RISCV::LXSBU:
6957 case RISCV::LXSD:
6958 case RISCV::LXSH:
6959 case RISCV::LXSHU:
6960 case RISCV::LXSUWB:
6961 case RISCV::LXSUWBU:
6962 case RISCV::LXSUWD:
6963 case RISCV::LXSUWH:
6964 case RISCV::LXSUWHU:
6965 case RISCV::LXSUWW:
6966 case RISCV::LXSUWWU:
6967 case RISCV::LXSW:
6968 case RISCV::LXSWU:
6969 case RISCV::LXW:
6970 case RISCV::LXWU:
6971 case RISCV::NDS_LEA_B_ZE:
6972 case RISCV::NDS_LEA_D:
6973 case RISCV::NDS_LEA_D_ZE:
6974 case RISCV::NDS_LEA_H:
6975 case RISCV::NDS_LEA_H_ZE:
6976 case RISCV::NDS_LEA_W:
6977 case RISCV::NDS_LEA_W_ZE:
6978 case RISCV::SC_D:
6979 case RISCV::SC_D_AQ:
6980 case RISCV::SC_D_AQRL:
6981 case RISCV::SC_D_RL:
6982 case RISCV::SC_W:
6983 case RISCV::SC_W_AQ:
6984 case RISCV::SC_W_AQRL:
6985 case RISCV::SC_W_RL:
6986 case RISCV::SSAMOSWAP_D:
6987 case RISCV::SSAMOSWAP_D_AQ:
6988 case RISCV::SSAMOSWAP_D_AQRL:
6989 case RISCV::SSAMOSWAP_D_RL:
6990 case RISCV::SSAMOSWAP_W:
6991 case RISCV::SSAMOSWAP_W_AQ:
6992 case RISCV::SSAMOSWAP_W_AQRL:
6993 case RISCV::SSAMOSWAP_W_RL: {
6994 // op: rs2
6995 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6996 Value |= (op & 0x1f) << 20;
6997 // op: rs1
6998 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6999 Value |= (op & 0x1f) << 15;
7000 // op: rd
7001 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7002 Value |= (op & 0x1f) << 7;
7003 break;
7004 }
7005 case RISCV::TH_LDD:
7006 case RISCV::TH_LWD:
7007 case RISCV::TH_LWUD:
7008 case RISCV::TH_SDD:
7009 case RISCV::TH_SWD: {
7010 // op: rs2
7011 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7012 Value |= (op & 0x1f) << 20;
7013 // op: rs1
7014 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7015 Value |= (op & 0x1f) << 15;
7016 // op: rd
7017 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7018 Value |= (op & 0x1f) << 7;
7019 // op: uimm2
7020 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7021 Value |= (op & 0x3) << 25;
7022 break;
7023 }
7024 case RISCV::CM_MVA01S:
7025 case RISCV::CM_MVSA01:
7026 case RISCV::QC_CM_MVA01S:
7027 case RISCV::QC_CM_MVSA01: {
7028 // op: rs2
7029 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7030 Value |= (op & 0x7) << 2;
7031 // op: rs1
7032 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7033 Value |= (op & 0x7) << 7;
7034 break;
7035 }
7036 case RISCV::QC_CSRRWRI: {
7037 // op: rs2
7038 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7039 Value |= (op & 0x1f) << 20;
7040 // op: rs1
7041 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
7042 Value |= (op & 0x1f) << 15;
7043 // op: rd
7044 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7045 Value |= (op & 0x1f) << 7;
7046 break;
7047 }
7048 case RISCV::FADD_D:
7049 case RISCV::FADD_D_IN32X:
7050 case RISCV::FADD_D_INX:
7051 case RISCV::FADD_H:
7052 case RISCV::FADD_H_INX:
7053 case RISCV::FADD_Q:
7054 case RISCV::FADD_S:
7055 case RISCV::FADD_S_INX:
7056 case RISCV::FDIV_D:
7057 case RISCV::FDIV_D_IN32X:
7058 case RISCV::FDIV_D_INX:
7059 case RISCV::FDIV_H:
7060 case RISCV::FDIV_H_INX:
7061 case RISCV::FDIV_Q:
7062 case RISCV::FDIV_S:
7063 case RISCV::FDIV_S_INX:
7064 case RISCV::FMUL_D:
7065 case RISCV::FMUL_D_IN32X:
7066 case RISCV::FMUL_D_INX:
7067 case RISCV::FMUL_H:
7068 case RISCV::FMUL_H_INX:
7069 case RISCV::FMUL_Q:
7070 case RISCV::FMUL_S:
7071 case RISCV::FMUL_S_INX:
7072 case RISCV::FSUB_D:
7073 case RISCV::FSUB_D_IN32X:
7074 case RISCV::FSUB_D_INX:
7075 case RISCV::FSUB_H:
7076 case RISCV::FSUB_H_INX:
7077 case RISCV::FSUB_Q:
7078 case RISCV::FSUB_S:
7079 case RISCV::FSUB_S_INX: {
7080 // op: rs2
7081 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7082 Value |= (op & 0x1f) << 20;
7083 // op: rs1
7084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7085 Value |= (op & 0x1f) << 15;
7086 // op: frm
7087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7088 Value |= (op & 0x7) << 12;
7089 // op: rd
7090 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7091 Value |= (op & 0x1f) << 7;
7092 break;
7093 }
7094 case RISCV::PM2WADDSU_H:
7095 case RISCV::PM2WADDU_H:
7096 case RISCV::PM2WADD_H:
7097 case RISCV::PM2WADD_HX:
7098 case RISCV::PM2WSUB_H:
7099 case RISCV::PM2WSUB_HX:
7100 case RISCV::PWADDU_B:
7101 case RISCV::PWADDU_H:
7102 case RISCV::PWADD_B:
7103 case RISCV::PWADD_H:
7104 case RISCV::PWMULSU_B:
7105 case RISCV::PWMULSU_H:
7106 case RISCV::PWMULU_B:
7107 case RISCV::PWMULU_H:
7108 case RISCV::PWMUL_B:
7109 case RISCV::PWMUL_H:
7110 case RISCV::PWSLA_BS:
7111 case RISCV::PWSLA_HS:
7112 case RISCV::PWSLL_BS:
7113 case RISCV::PWSLL_HS:
7114 case RISCV::PWSUBU_B:
7115 case RISCV::PWSUBU_H:
7116 case RISCV::PWSUB_B:
7117 case RISCV::PWSUB_H:
7118 case RISCV::WADD:
7119 case RISCV::WADDU:
7120 case RISCV::WMUL:
7121 case RISCV::WMULSU:
7122 case RISCV::WMULU:
7123 case RISCV::WSLA:
7124 case RISCV::WSLL:
7125 case RISCV::WSUB:
7126 case RISCV::WSUBU:
7127 case RISCV::WZIP16P:
7128 case RISCV::WZIP8P: {
7129 // op: rs2
7130 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7131 Value |= (op & 0x1f) << 20;
7132 // op: rs1
7133 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7134 Value |= (op & 0x1f) << 15;
7135 // op: rd
7136 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7137 Value |= (op & 0x1e) << 7;
7138 break;
7139 }
7140 case RISCV::AADD:
7141 case RISCV::AADDU:
7142 case RISCV::ADD:
7143 case RISCV::ADDW:
7144 case RISCV::ADD_UW:
7145 case RISCV::AES64DS:
7146 case RISCV::AES64DSM:
7147 case RISCV::AES64ES:
7148 case RISCV::AES64ESM:
7149 case RISCV::AES64KS2:
7150 case RISCV::AIF_BITMIXB:
7151 case RISCV::AIF_CUBEFACEIDX_PS:
7152 case RISCV::AIF_CUBEFACE_PS:
7153 case RISCV::AIF_CUBESGNSC_PS:
7154 case RISCV::AIF_CUBESGNTC_PS:
7155 case RISCV::AIF_FADD_PI:
7156 case RISCV::AIF_FAMOADDG_PI:
7157 case RISCV::AIF_FAMOADDL_PI:
7158 case RISCV::AIF_FAMOANDG_PI:
7159 case RISCV::AIF_FAMOANDL_PI:
7160 case RISCV::AIF_FAMOMAXG_PI:
7161 case RISCV::AIF_FAMOMAXG_PS:
7162 case RISCV::AIF_FAMOMAXL_PI:
7163 case RISCV::AIF_FAMOMAXL_PS:
7164 case RISCV::AIF_FAMOMAXUG_PI:
7165 case RISCV::AIF_FAMOMAXUL_PI:
7166 case RISCV::AIF_FAMOMING_PI:
7167 case RISCV::AIF_FAMOMING_PS:
7168 case RISCV::AIF_FAMOMINL_PI:
7169 case RISCV::AIF_FAMOMINL_PS:
7170 case RISCV::AIF_FAMOMINUG_PI:
7171 case RISCV::AIF_FAMOMINUL_PI:
7172 case RISCV::AIF_FAMOORG_PI:
7173 case RISCV::AIF_FAMOORL_PI:
7174 case RISCV::AIF_FAMOSWAPG_PI:
7175 case RISCV::AIF_FAMOSWAPL_PI:
7176 case RISCV::AIF_FAMOXORG_PI:
7177 case RISCV::AIF_FAMOXORL_PI:
7178 case RISCV::AIF_FAND_PI:
7179 case RISCV::AIF_FCMOVM_PS:
7180 case RISCV::AIF_FDIVU_PI:
7181 case RISCV::AIF_FDIV_PI:
7182 case RISCV::AIF_FEQM_PS:
7183 case RISCV::AIF_FEQ_PI:
7184 case RISCV::AIF_FEQ_PS:
7185 case RISCV::AIF_FG32B_PS:
7186 case RISCV::AIF_FG32H_PS:
7187 case RISCV::AIF_FG32W_PS:
7188 case RISCV::AIF_FGBG_PS:
7189 case RISCV::AIF_FGBL_PS:
7190 case RISCV::AIF_FGB_PS:
7191 case RISCV::AIF_FGHG_PS:
7192 case RISCV::AIF_FGHL_PS:
7193 case RISCV::AIF_FGH_PS:
7194 case RISCV::AIF_FGWG_PS:
7195 case RISCV::AIF_FGWL_PS:
7196 case RISCV::AIF_FGW_PS:
7197 case RISCV::AIF_FLEM_PS:
7198 case RISCV::AIF_FLE_PI:
7199 case RISCV::AIF_FLE_PS:
7200 case RISCV::AIF_FLTM_PI:
7201 case RISCV::AIF_FLTM_PS:
7202 case RISCV::AIF_FLTU_PI:
7203 case RISCV::AIF_FLT_PI:
7204 case RISCV::AIF_FLT_PS:
7205 case RISCV::AIF_FMAXU_PI:
7206 case RISCV::AIF_FMAX_PI:
7207 case RISCV::AIF_FMAX_PS:
7208 case RISCV::AIF_FMINU_PI:
7209 case RISCV::AIF_FMIN_PI:
7210 case RISCV::AIF_FMIN_PS:
7211 case RISCV::AIF_FMULHU_PI:
7212 case RISCV::AIF_FMULH_PI:
7213 case RISCV::AIF_FMUL_PI:
7214 case RISCV::AIF_FOR_PI:
7215 case RISCV::AIF_FRCP_FIX_RAST:
7216 case RISCV::AIF_FREMU_PI:
7217 case RISCV::AIF_FREM_PI:
7218 case RISCV::AIF_FSGNJN_PS:
7219 case RISCV::AIF_FSGNJX_PS:
7220 case RISCV::AIF_FSGNJ_PS:
7221 case RISCV::AIF_FSLL_PI:
7222 case RISCV::AIF_FSRA_PI:
7223 case RISCV::AIF_FSRL_PI:
7224 case RISCV::AIF_FSUB_PI:
7225 case RISCV::AIF_FXOR_PI:
7226 case RISCV::AIF_PACKB:
7227 case RISCV::AND:
7228 case RISCV::ANDN:
7229 case RISCV::ASUB:
7230 case RISCV::ASUBU:
7231 case RISCV::BCLR:
7232 case RISCV::BEXT:
7233 case RISCV::BINV:
7234 case RISCV::BSET:
7235 case RISCV::CLMUL:
7236 case RISCV::CLMULH:
7237 case RISCV::CLMULR:
7238 case RISCV::CV_ADD_B:
7239 case RISCV::CV_ADD_DIV2:
7240 case RISCV::CV_ADD_DIV4:
7241 case RISCV::CV_ADD_DIV8:
7242 case RISCV::CV_ADD_H:
7243 case RISCV::CV_ADD_SC_B:
7244 case RISCV::CV_ADD_SC_H:
7245 case RISCV::CV_AND_B:
7246 case RISCV::CV_AND_H:
7247 case RISCV::CV_AND_SC_B:
7248 case RISCV::CV_AND_SC_H:
7249 case RISCV::CV_AVGU_B:
7250 case RISCV::CV_AVGU_H:
7251 case RISCV::CV_AVGU_SC_B:
7252 case RISCV::CV_AVGU_SC_H:
7253 case RISCV::CV_AVG_B:
7254 case RISCV::CV_AVG_H:
7255 case RISCV::CV_AVG_SC_B:
7256 case RISCV::CV_AVG_SC_H:
7257 case RISCV::CV_BCLRR:
7258 case RISCV::CV_BSETR:
7259 case RISCV::CV_CLIPR:
7260 case RISCV::CV_CLIPUR:
7261 case RISCV::CV_CMPEQ_B:
7262 case RISCV::CV_CMPEQ_H:
7263 case RISCV::CV_CMPEQ_SC_B:
7264 case RISCV::CV_CMPEQ_SC_H:
7265 case RISCV::CV_CMPGEU_B:
7266 case RISCV::CV_CMPGEU_H:
7267 case RISCV::CV_CMPGEU_SC_B:
7268 case RISCV::CV_CMPGEU_SC_H:
7269 case RISCV::CV_CMPGE_B:
7270 case RISCV::CV_CMPGE_H:
7271 case RISCV::CV_CMPGE_SC_B:
7272 case RISCV::CV_CMPGE_SC_H:
7273 case RISCV::CV_CMPGTU_B:
7274 case RISCV::CV_CMPGTU_H:
7275 case RISCV::CV_CMPGTU_SC_B:
7276 case RISCV::CV_CMPGTU_SC_H:
7277 case RISCV::CV_CMPGT_B:
7278 case RISCV::CV_CMPGT_H:
7279 case RISCV::CV_CMPGT_SC_B:
7280 case RISCV::CV_CMPGT_SC_H:
7281 case RISCV::CV_CMPLEU_B:
7282 case RISCV::CV_CMPLEU_H:
7283 case RISCV::CV_CMPLEU_SC_B:
7284 case RISCV::CV_CMPLEU_SC_H:
7285 case RISCV::CV_CMPLE_B:
7286 case RISCV::CV_CMPLE_H:
7287 case RISCV::CV_CMPLE_SC_B:
7288 case RISCV::CV_CMPLE_SC_H:
7289 case RISCV::CV_CMPLTU_B:
7290 case RISCV::CV_CMPLTU_H:
7291 case RISCV::CV_CMPLTU_SC_B:
7292 case RISCV::CV_CMPLTU_SC_H:
7293 case RISCV::CV_CMPLT_B:
7294 case RISCV::CV_CMPLT_H:
7295 case RISCV::CV_CMPLT_SC_B:
7296 case RISCV::CV_CMPLT_SC_H:
7297 case RISCV::CV_CMPNE_B:
7298 case RISCV::CV_CMPNE_H:
7299 case RISCV::CV_CMPNE_SC_B:
7300 case RISCV::CV_CMPNE_SC_H:
7301 case RISCV::CV_DOTSP_B:
7302 case RISCV::CV_DOTSP_H:
7303 case RISCV::CV_DOTSP_SC_B:
7304 case RISCV::CV_DOTSP_SC_H:
7305 case RISCV::CV_DOTUP_B:
7306 case RISCV::CV_DOTUP_H:
7307 case RISCV::CV_DOTUP_SC_B:
7308 case RISCV::CV_DOTUP_SC_H:
7309 case RISCV::CV_DOTUSP_B:
7310 case RISCV::CV_DOTUSP_H:
7311 case RISCV::CV_DOTUSP_SC_B:
7312 case RISCV::CV_DOTUSP_SC_H:
7313 case RISCV::CV_EXTRACTR:
7314 case RISCV::CV_EXTRACTUR:
7315 case RISCV::CV_LBU_rr:
7316 case RISCV::CV_LB_rr:
7317 case RISCV::CV_LHU_rr:
7318 case RISCV::CV_LH_rr:
7319 case RISCV::CV_LW_rr:
7320 case RISCV::CV_MAX:
7321 case RISCV::CV_MAXU:
7322 case RISCV::CV_MAXU_B:
7323 case RISCV::CV_MAXU_H:
7324 case RISCV::CV_MAXU_SC_B:
7325 case RISCV::CV_MAXU_SC_H:
7326 case RISCV::CV_MAX_B:
7327 case RISCV::CV_MAX_H:
7328 case RISCV::CV_MAX_SC_B:
7329 case RISCV::CV_MAX_SC_H:
7330 case RISCV::CV_MIN:
7331 case RISCV::CV_MINU:
7332 case RISCV::CV_MINU_B:
7333 case RISCV::CV_MINU_H:
7334 case RISCV::CV_MINU_SC_B:
7335 case RISCV::CV_MINU_SC_H:
7336 case RISCV::CV_MIN_B:
7337 case RISCV::CV_MIN_H:
7338 case RISCV::CV_MIN_SC_B:
7339 case RISCV::CV_MIN_SC_H:
7340 case RISCV::CV_OR_B:
7341 case RISCV::CV_OR_H:
7342 case RISCV::CV_OR_SC_B:
7343 case RISCV::CV_OR_SC_H:
7344 case RISCV::CV_PACK:
7345 case RISCV::CV_PACK_H:
7346 case RISCV::CV_ROR:
7347 case RISCV::CV_SHUFFLE_B:
7348 case RISCV::CV_SHUFFLE_H:
7349 case RISCV::CV_SLE:
7350 case RISCV::CV_SLEU:
7351 case RISCV::CV_SLL_B:
7352 case RISCV::CV_SLL_H:
7353 case RISCV::CV_SLL_SC_B:
7354 case RISCV::CV_SLL_SC_H:
7355 case RISCV::CV_SRA_B:
7356 case RISCV::CV_SRA_H:
7357 case RISCV::CV_SRA_SC_B:
7358 case RISCV::CV_SRA_SC_H:
7359 case RISCV::CV_SRL_B:
7360 case RISCV::CV_SRL_H:
7361 case RISCV::CV_SRL_SC_B:
7362 case RISCV::CV_SRL_SC_H:
7363 case RISCV::CV_SUBROTMJ:
7364 case RISCV::CV_SUBROTMJ_DIV2:
7365 case RISCV::CV_SUBROTMJ_DIV4:
7366 case RISCV::CV_SUBROTMJ_DIV8:
7367 case RISCV::CV_SUB_B:
7368 case RISCV::CV_SUB_DIV2:
7369 case RISCV::CV_SUB_DIV4:
7370 case RISCV::CV_SUB_DIV8:
7371 case RISCV::CV_SUB_H:
7372 case RISCV::CV_SUB_SC_B:
7373 case RISCV::CV_SUB_SC_H:
7374 case RISCV::CV_XOR_B:
7375 case RISCV::CV_XOR_H:
7376 case RISCV::CV_XOR_SC_B:
7377 case RISCV::CV_XOR_SC_H:
7378 case RISCV::CZERO_EQZ:
7379 case RISCV::CZERO_NEZ:
7380 case RISCV::DIV:
7381 case RISCV::DIVU:
7382 case RISCV::DIVUW:
7383 case RISCV::DIVW:
7384 case RISCV::FEQ_D:
7385 case RISCV::FEQ_D_IN32X:
7386 case RISCV::FEQ_D_INX:
7387 case RISCV::FEQ_H:
7388 case RISCV::FEQ_H_INX:
7389 case RISCV::FEQ_Q:
7390 case RISCV::FEQ_S:
7391 case RISCV::FEQ_S_INX:
7392 case RISCV::FLEQ_D:
7393 case RISCV::FLEQ_H:
7394 case RISCV::FLEQ_Q:
7395 case RISCV::FLEQ_S:
7396 case RISCV::FLE_D:
7397 case RISCV::FLE_D_IN32X:
7398 case RISCV::FLE_D_INX:
7399 case RISCV::FLE_H:
7400 case RISCV::FLE_H_INX:
7401 case RISCV::FLE_Q:
7402 case RISCV::FLE_S:
7403 case RISCV::FLE_S_INX:
7404 case RISCV::FLTQ_D:
7405 case RISCV::FLTQ_H:
7406 case RISCV::FLTQ_Q:
7407 case RISCV::FLTQ_S:
7408 case RISCV::FLT_D:
7409 case RISCV::FLT_D_IN32X:
7410 case RISCV::FLT_D_INX:
7411 case RISCV::FLT_H:
7412 case RISCV::FLT_H_INX:
7413 case RISCV::FLT_Q:
7414 case RISCV::FLT_S:
7415 case RISCV::FLT_S_INX:
7416 case RISCV::FMAXM_D:
7417 case RISCV::FMAXM_H:
7418 case RISCV::FMAXM_Q:
7419 case RISCV::FMAXM_S:
7420 case RISCV::FMAX_D:
7421 case RISCV::FMAX_D_IN32X:
7422 case RISCV::FMAX_D_INX:
7423 case RISCV::FMAX_H:
7424 case RISCV::FMAX_H_INX:
7425 case RISCV::FMAX_Q:
7426 case RISCV::FMAX_S:
7427 case RISCV::FMAX_S_INX:
7428 case RISCV::FMINM_D:
7429 case RISCV::FMINM_H:
7430 case RISCV::FMINM_Q:
7431 case RISCV::FMINM_S:
7432 case RISCV::FMIN_D:
7433 case RISCV::FMIN_D_IN32X:
7434 case RISCV::FMIN_D_INX:
7435 case RISCV::FMIN_H:
7436 case RISCV::FMIN_H_INX:
7437 case RISCV::FMIN_Q:
7438 case RISCV::FMIN_S:
7439 case RISCV::FMIN_S_INX:
7440 case RISCV::FMVP_D_X:
7441 case RISCV::FMVP_Q_X:
7442 case RISCV::FSGNJN_D:
7443 case RISCV::FSGNJN_D_IN32X:
7444 case RISCV::FSGNJN_D_INX:
7445 case RISCV::FSGNJN_H:
7446 case RISCV::FSGNJN_H_INX:
7447 case RISCV::FSGNJN_Q:
7448 case RISCV::FSGNJN_S:
7449 case RISCV::FSGNJN_S_INX:
7450 case RISCV::FSGNJX_D:
7451 case RISCV::FSGNJX_D_IN32X:
7452 case RISCV::FSGNJX_D_INX:
7453 case RISCV::FSGNJX_H:
7454 case RISCV::FSGNJX_H_INX:
7455 case RISCV::FSGNJX_Q:
7456 case RISCV::FSGNJX_S:
7457 case RISCV::FSGNJX_S_INX:
7458 case RISCV::FSGNJ_D:
7459 case RISCV::FSGNJ_D_IN32X:
7460 case RISCV::FSGNJ_D_INX:
7461 case RISCV::FSGNJ_H:
7462 case RISCV::FSGNJ_H_INX:
7463 case RISCV::FSGNJ_Q:
7464 case RISCV::FSGNJ_S:
7465 case RISCV::FSGNJ_S_INX:
7466 case RISCV::MAX:
7467 case RISCV::MAXU:
7468 case RISCV::MIN:
7469 case RISCV::MINU:
7470 case RISCV::MOP_RR_0:
7471 case RISCV::MOP_RR_1:
7472 case RISCV::MOP_RR_2:
7473 case RISCV::MOP_RR_3:
7474 case RISCV::MOP_RR_4:
7475 case RISCV::MOP_RR_5:
7476 case RISCV::MOP_RR_6:
7477 case RISCV::MOP_RR_7:
7478 case RISCV::MSEQ:
7479 case RISCV::MSLT:
7480 case RISCV::MSLTU:
7481 case RISCV::MUL:
7482 case RISCV::MULH:
7483 case RISCV::MULHR:
7484 case RISCV::MULHRSU:
7485 case RISCV::MULHRU:
7486 case RISCV::MULHSU:
7487 case RISCV::MULHSU_H0:
7488 case RISCV::MULHSU_H1:
7489 case RISCV::MULHU:
7490 case RISCV::MULH_H0:
7491 case RISCV::MULH_H1:
7492 case RISCV::MULQ:
7493 case RISCV::MULQR:
7494 case RISCV::MULSU_H00:
7495 case RISCV::MULSU_H11:
7496 case RISCV::MULSU_W00:
7497 case RISCV::MULSU_W11:
7498 case RISCV::MULU_H00:
7499 case RISCV::MULU_H01:
7500 case RISCV::MULU_H11:
7501 case RISCV::MULU_W00:
7502 case RISCV::MULU_W01:
7503 case RISCV::MULU_W11:
7504 case RISCV::MULW:
7505 case RISCV::MUL_H00:
7506 case RISCV::MUL_H01:
7507 case RISCV::MUL_H11:
7508 case RISCV::MUL_W00:
7509 case RISCV::MUL_W01:
7510 case RISCV::MUL_W11:
7511 case RISCV::NDS_FFB:
7512 case RISCV::NDS_FFMISM:
7513 case RISCV::NDS_FFZMISM:
7514 case RISCV::NDS_FLMISM:
7515 case RISCV::OR:
7516 case RISCV::ORN:
7517 case RISCV::PAADDU_B:
7518 case RISCV::PAADDU_H:
7519 case RISCV::PAADDU_W:
7520 case RISCV::PAADD_B:
7521 case RISCV::PAADD_H:
7522 case RISCV::PAADD_W:
7523 case RISCV::PAAS_HX:
7524 case RISCV::PAAS_WX:
7525 case RISCV::PABDSUMU_B:
7526 case RISCV::PABDU_B:
7527 case RISCV::PABDU_H:
7528 case RISCV::PABD_B:
7529 case RISCV::PABD_H:
7530 case RISCV::PACK:
7531 case RISCV::PACKH:
7532 case RISCV::PACKW:
7533 case RISCV::PACKY:
7534 case RISCV::PADD_B:
7535 case RISCV::PADD_BS:
7536 case RISCV::PADD_H:
7537 case RISCV::PADD_HS:
7538 case RISCV::PADD_W:
7539 case RISCV::PADD_WS:
7540 case RISCV::PASA_HX:
7541 case RISCV::PASA_WX:
7542 case RISCV::PASUBU_B:
7543 case RISCV::PASUBU_H:
7544 case RISCV::PASUBU_W:
7545 case RISCV::PASUB_B:
7546 case RISCV::PASUB_H:
7547 case RISCV::PASUB_W:
7548 case RISCV::PAS_HX:
7549 case RISCV::PAS_WX:
7550 case RISCV::PM2ADDSU_H:
7551 case RISCV::PM2ADDSU_W:
7552 case RISCV::PM2ADDU_H:
7553 case RISCV::PM2ADDU_W:
7554 case RISCV::PM2ADD_H:
7555 case RISCV::PM2ADD_HX:
7556 case RISCV::PM2ADD_W:
7557 case RISCV::PM2ADD_WX:
7558 case RISCV::PM2SADD_H:
7559 case RISCV::PM2SADD_HX:
7560 case RISCV::PM2SUB_H:
7561 case RISCV::PM2SUB_HX:
7562 case RISCV::PM2SUB_W:
7563 case RISCV::PM2SUB_WX:
7564 case RISCV::PM4ADDSU_B:
7565 case RISCV::PM4ADDSU_H:
7566 case RISCV::PM4ADDU_B:
7567 case RISCV::PM4ADDU_H:
7568 case RISCV::PM4ADD_B:
7569 case RISCV::PM4ADD_H:
7570 case RISCV::PMAXU_B:
7571 case RISCV::PMAXU_H:
7572 case RISCV::PMAXU_W:
7573 case RISCV::PMAX_B:
7574 case RISCV::PMAX_H:
7575 case RISCV::PMAX_W:
7576 case RISCV::PMINU_B:
7577 case RISCV::PMINU_H:
7578 case RISCV::PMINU_W:
7579 case RISCV::PMIN_B:
7580 case RISCV::PMIN_H:
7581 case RISCV::PMIN_W:
7582 case RISCV::PMQ2ADD_H:
7583 case RISCV::PMQ2ADD_W:
7584 case RISCV::PMQR2ADD_H:
7585 case RISCV::PMQR2ADD_W:
7586 case RISCV::PMSEQ_B:
7587 case RISCV::PMSEQ_H:
7588 case RISCV::PMSEQ_W:
7589 case RISCV::PMSLTU_B:
7590 case RISCV::PMSLTU_H:
7591 case RISCV::PMSLTU_W:
7592 case RISCV::PMSLT_B:
7593 case RISCV::PMSLT_H:
7594 case RISCV::PMSLT_W:
7595 case RISCV::PMULHRSU_H:
7596 case RISCV::PMULHRSU_W:
7597 case RISCV::PMULHRU_H:
7598 case RISCV::PMULHRU_W:
7599 case RISCV::PMULHR_H:
7600 case RISCV::PMULHR_W:
7601 case RISCV::PMULHSU_H:
7602 case RISCV::PMULHSU_H_B0:
7603 case RISCV::PMULHSU_H_B1:
7604 case RISCV::PMULHSU_W:
7605 case RISCV::PMULHSU_W_H0:
7606 case RISCV::PMULHSU_W_H1:
7607 case RISCV::PMULHU_H:
7608 case RISCV::PMULHU_W:
7609 case RISCV::PMULH_H:
7610 case RISCV::PMULH_H_B0:
7611 case RISCV::PMULH_H_B1:
7612 case RISCV::PMULH_W:
7613 case RISCV::PMULH_W_H0:
7614 case RISCV::PMULH_W_H1:
7615 case RISCV::PMULQR_H:
7616 case RISCV::PMULQR_W:
7617 case RISCV::PMULQ_H:
7618 case RISCV::PMULQ_W:
7619 case RISCV::PMULSU_H_B00:
7620 case RISCV::PMULSU_H_B11:
7621 case RISCV::PMULSU_W_H00:
7622 case RISCV::PMULSU_W_H11:
7623 case RISCV::PMULU_H_B00:
7624 case RISCV::PMULU_H_B01:
7625 case RISCV::PMULU_H_B11:
7626 case RISCV::PMULU_W_H00:
7627 case RISCV::PMULU_W_H01:
7628 case RISCV::PMULU_W_H11:
7629 case RISCV::PMUL_H_B00:
7630 case RISCV::PMUL_H_B01:
7631 case RISCV::PMUL_H_B11:
7632 case RISCV::PMUL_W_H00:
7633 case RISCV::PMUL_W_H01:
7634 case RISCV::PMUL_W_H11:
7635 case RISCV::PNCLIPP_B:
7636 case RISCV::PNCLIPP_H:
7637 case RISCV::PNCLIPP_W:
7638 case RISCV::PNCLIPUP_B:
7639 case RISCV::PNCLIPUP_H:
7640 case RISCV::PNCLIPUP_W:
7641 case RISCV::PPAIREO_B:
7642 case RISCV::PPAIREO_H:
7643 case RISCV::PPAIREO_W:
7644 case RISCV::PPAIRE_B:
7645 case RISCV::PPAIRE_H:
7646 case RISCV::PPAIROE_B:
7647 case RISCV::PPAIROE_H:
7648 case RISCV::PPAIROE_W:
7649 case RISCV::PPAIRO_B:
7650 case RISCV::PPAIRO_H:
7651 case RISCV::PPAIRO_W:
7652 case RISCV::PREDSUMU_BS:
7653 case RISCV::PREDSUMU_HS:
7654 case RISCV::PREDSUMU_WS:
7655 case RISCV::PREDSUM_BS:
7656 case RISCV::PREDSUM_HS:
7657 case RISCV::PREDSUM_WS:
7658 case RISCV::PSADDU_B:
7659 case RISCV::PSADDU_H:
7660 case RISCV::PSADDU_W:
7661 case RISCV::PSADD_B:
7662 case RISCV::PSADD_H:
7663 case RISCV::PSADD_W:
7664 case RISCV::PSAS_HX:
7665 case RISCV::PSAS_WX:
7666 case RISCV::PSA_HX:
7667 case RISCV::PSA_WX:
7668 case RISCV::PSH1ADD_H:
7669 case RISCV::PSH1ADD_W:
7670 case RISCV::PSLL_BS:
7671 case RISCV::PSLL_HS:
7672 case RISCV::PSLL_WS:
7673 case RISCV::PSRA_BS:
7674 case RISCV::PSRA_HS:
7675 case RISCV::PSRA_WS:
7676 case RISCV::PSRL_BS:
7677 case RISCV::PSRL_HS:
7678 case RISCV::PSRL_WS:
7679 case RISCV::PSSA_HX:
7680 case RISCV::PSSA_WX:
7681 case RISCV::PSSH1SADD_H:
7682 case RISCV::PSSH1SADD_W:
7683 case RISCV::PSSHAR_HS:
7684 case RISCV::PSSHAR_WS:
7685 case RISCV::PSSHA_HS:
7686 case RISCV::PSSHA_WS:
7687 case RISCV::PSSHLR_HS:
7688 case RISCV::PSSHLR_WS:
7689 case RISCV::PSSHL_HS:
7690 case RISCV::PSSHL_WS:
7691 case RISCV::PSSUBU_B:
7692 case RISCV::PSSUBU_H:
7693 case RISCV::PSSUBU_W:
7694 case RISCV::PSSUB_B:
7695 case RISCV::PSSUB_H:
7696 case RISCV::PSSUB_W:
7697 case RISCV::PSUB_B:
7698 case RISCV::PSUB_H:
7699 case RISCV::PSUB_W:
7700 case RISCV::QC_ADDSAT:
7701 case RISCV::QC_ADDUSAT:
7702 case RISCV::QC_CSRRWR:
7703 case RISCV::QC_EXTDPR:
7704 case RISCV::QC_EXTDPRH:
7705 case RISCV::QC_EXTDR:
7706 case RISCV::QC_EXTDUPR:
7707 case RISCV::QC_EXTDUPRH:
7708 case RISCV::QC_EXTDUR:
7709 case RISCV::QC_SHLSAT:
7710 case RISCV::QC_SHLUSAT:
7711 case RISCV::QC_SUBSAT:
7712 case RISCV::QC_SUBUSAT:
7713 case RISCV::QC_WRAP:
7714 case RISCV::REM:
7715 case RISCV::REMU:
7716 case RISCV::REMUW:
7717 case RISCV::REMW:
7718 case RISCV::ROL:
7719 case RISCV::ROLW:
7720 case RISCV::ROR:
7721 case RISCV::RORW:
7722 case RISCV::SADD:
7723 case RISCV::SADDU:
7724 case RISCV::SH1ADD:
7725 case RISCV::SH1ADD_UW:
7726 case RISCV::SH2ADD:
7727 case RISCV::SH2ADD_UW:
7728 case RISCV::SH3ADD:
7729 case RISCV::SH3ADD_UW:
7730 case RISCV::SHA:
7731 case RISCV::SHA512SIG0H:
7732 case RISCV::SHA512SIG0L:
7733 case RISCV::SHA512SIG1H:
7734 case RISCV::SHA512SIG1L:
7735 case RISCV::SHA512SUM0R:
7736 case RISCV::SHA512SUM1R:
7737 case RISCV::SHAR:
7738 case RISCV::SHL:
7739 case RISCV::SHLR:
7740 case RISCV::SLL:
7741 case RISCV::SLLW:
7742 case RISCV::SLT:
7743 case RISCV::SLTU:
7744 case RISCV::SRA:
7745 case RISCV::SRAW:
7746 case RISCV::SRL:
7747 case RISCV::SRLW:
7748 case RISCV::SSH1SADD:
7749 case RISCV::SSHA:
7750 case RISCV::SSHAR:
7751 case RISCV::SSHL:
7752 case RISCV::SSHLR:
7753 case RISCV::SSUB:
7754 case RISCV::SSUBU:
7755 case RISCV::SUB:
7756 case RISCV::SUBW:
7757 case RISCV::UNZIP16HP:
7758 case RISCV::UNZIP16P:
7759 case RISCV::UNZIP8HP:
7760 case RISCV::UNZIP8P:
7761 case RISCV::VSETVL:
7762 case RISCV::XNOR:
7763 case RISCV::XOR:
7764 case RISCV::XPERM4:
7765 case RISCV::XPERM8:
7766 case RISCV::YADD:
7767 case RISCV::YADDRW:
7768 case RISCV::YBLD:
7769 case RISCV::YBNDSRW:
7770 case RISCV::YBNDSW:
7771 case RISCV::YEQ:
7772 case RISCV::YPERMC:
7773 case RISCV::YSS:
7774 case RISCV::YSUNSEAL:
7775 case RISCV::ZIP16HP:
7776 case RISCV::ZIP16P:
7777 case RISCV::ZIP8HP:
7778 case RISCV::ZIP8P: {
7779 // op: rs2
7780 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7781 Value |= (op & 0x1f) << 20;
7782 // op: rs1
7783 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7784 Value |= (op & 0x1f) << 15;
7785 // op: rd
7786 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7787 Value |= (op & 0x1f) << 7;
7788 break;
7789 }
7790 case RISCV::AES32DSI:
7791 case RISCV::AES32DSMI:
7792 case RISCV::AES32ESI:
7793 case RISCV::AES32ESMI:
7794 case RISCV::SM4ED:
7795 case RISCV::SM4KS: {
7796 // op: rs2
7797 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7798 Value |= (op & 0x1f) << 20;
7799 // op: rs1
7800 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7801 Value |= (op & 0x1f) << 15;
7802 // op: rd
7803 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7804 Value |= (op & 0x1f) << 7;
7805 // op: bs
7806 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7807 Value |= (op & 0x3) << 30;
7808 break;
7809 }
7810 case RISCV::QC_LWM:
7811 case RISCV::QC_LWMI:
7812 case RISCV::QC_SETWM:
7813 case RISCV::QC_SETWMI:
7814 case RISCV::QC_SWM:
7815 case RISCV::QC_SWMI: {
7816 // op: rs2
7817 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7818 Value |= (op & 0x1f) << 20;
7819 // op: rs1
7820 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7821 Value |= (op & 0x1f) << 15;
7822 // op: rd
7823 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7824 Value |= (op & 0x1f) << 7;
7825 // op: imm
7826 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7827 Value |= (op & 0x7c) << 23;
7828 break;
7829 }
7830 case RISCV::CV_ADDN:
7831 case RISCV::CV_ADDRN:
7832 case RISCV::CV_ADDUN:
7833 case RISCV::CV_ADDURN:
7834 case RISCV::CV_MULHHSN:
7835 case RISCV::CV_MULHHSRN:
7836 case RISCV::CV_MULHHUN:
7837 case RISCV::CV_MULHHURN:
7838 case RISCV::CV_MULSN:
7839 case RISCV::CV_MULSRN:
7840 case RISCV::CV_MULUN:
7841 case RISCV::CV_MULURN:
7842 case RISCV::CV_SUBN:
7843 case RISCV::CV_SUBRN:
7844 case RISCV::CV_SUBUN:
7845 case RISCV::CV_SUBURN: {
7846 // op: rs2
7847 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7848 Value |= (op & 0x1f) << 20;
7849 // op: rs1
7850 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7851 Value |= (op & 0x1f) << 15;
7852 // op: rd
7853 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7854 Value |= (op & 0x1f) << 7;
7855 // op: imm5
7856 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7857 Value |= (op & 0x1f) << 25;
7858 break;
7859 }
7860 case RISCV::QC_LRB:
7861 case RISCV::QC_LRBU:
7862 case RISCV::QC_LRH:
7863 case RISCV::QC_LRHU:
7864 case RISCV::QC_LRW:
7865 case RISCV::QC_SRB:
7866 case RISCV::QC_SRH:
7867 case RISCV::QC_SRW: {
7868 // op: rs2
7869 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7870 Value |= (op & 0x1f) << 20;
7871 // op: rs1
7872 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7873 Value |= (op & 0x1f) << 15;
7874 // op: rd
7875 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7876 Value |= (op & 0x1f) << 7;
7877 // op: shamt
7878 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7879 Value |= (op & 0x7) << 25;
7880 break;
7881 }
7882 case RISCV::QC_SHLADD: {
7883 // op: rs2
7884 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7885 Value |= (op & 0x1f) << 20;
7886 // op: rs1
7887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7888 Value |= (op & 0x1f) << 15;
7889 // op: rd
7890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7891 Value |= (op & 0x1f) << 7;
7892 // op: shamt
7893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7894 Value |= (op & 0x1f) << 25;
7895 break;
7896 }
7897 case RISCV::TH_ADDSL:
7898 case RISCV::TH_FLRD:
7899 case RISCV::TH_FLRW:
7900 case RISCV::TH_FLURD:
7901 case RISCV::TH_FLURW:
7902 case RISCV::TH_FSRD:
7903 case RISCV::TH_FSRW:
7904 case RISCV::TH_FSURD:
7905 case RISCV::TH_FSURW:
7906 case RISCV::TH_LRB:
7907 case RISCV::TH_LRBU:
7908 case RISCV::TH_LRD:
7909 case RISCV::TH_LRH:
7910 case RISCV::TH_LRHU:
7911 case RISCV::TH_LRW:
7912 case RISCV::TH_LRWU:
7913 case RISCV::TH_LURB:
7914 case RISCV::TH_LURBU:
7915 case RISCV::TH_LURD:
7916 case RISCV::TH_LURH:
7917 case RISCV::TH_LURHU:
7918 case RISCV::TH_LURW:
7919 case RISCV::TH_LURWU:
7920 case RISCV::TH_SRB:
7921 case RISCV::TH_SRD:
7922 case RISCV::TH_SRH:
7923 case RISCV::TH_SRW:
7924 case RISCV::TH_SURB:
7925 case RISCV::TH_SURD:
7926 case RISCV::TH_SURH:
7927 case RISCV::TH_SURW: {
7928 // op: rs2
7929 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7930 Value |= (op & 0x1f) << 20;
7931 // op: rs1
7932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7933 Value |= (op & 0x1f) << 15;
7934 // op: rd
7935 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7936 Value |= (op & 0x1f) << 7;
7937 // op: uimm2
7938 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7939 Value |= (op & 0x3) << 25;
7940 break;
7941 }
7942 case RISCV::AMOCAS_B:
7943 case RISCV::AMOCAS_B_AQ:
7944 case RISCV::AMOCAS_B_AQRL:
7945 case RISCV::AMOCAS_B_RL:
7946 case RISCV::AMOCAS_D_RV32:
7947 case RISCV::AMOCAS_D_RV32_AQ:
7948 case RISCV::AMOCAS_D_RV32_AQRL:
7949 case RISCV::AMOCAS_D_RV32_RL:
7950 case RISCV::AMOCAS_D_RV64:
7951 case RISCV::AMOCAS_D_RV64_AQ:
7952 case RISCV::AMOCAS_D_RV64_AQRL:
7953 case RISCV::AMOCAS_D_RV64_RL:
7954 case RISCV::AMOCAS_H:
7955 case RISCV::AMOCAS_H_AQ:
7956 case RISCV::AMOCAS_H_AQRL:
7957 case RISCV::AMOCAS_H_RL:
7958 case RISCV::AMOCAS_Q:
7959 case RISCV::AMOCAS_Q_AQ:
7960 case RISCV::AMOCAS_Q_AQRL:
7961 case RISCV::AMOCAS_Q_RL:
7962 case RISCV::AMOCAS_W:
7963 case RISCV::AMOCAS_W_AQ:
7964 case RISCV::AMOCAS_W_AQRL:
7965 case RISCV::AMOCAS_W_RL: {
7966 // op: rs2
7967 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7968 Value |= (op & 0x1f) << 20;
7969 // op: rs1
7970 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7971 Value |= (op & 0x1f) << 15;
7972 // op: rd
7973 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7974 Value |= (op & 0x1f) << 7;
7975 break;
7976 }
7977 case RISCV::AIF_MASKAND:
7978 case RISCV::AIF_MASKOR:
7979 case RISCV::AIF_MASKXOR: {
7980 // op: rs2
7981 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7982 Value |= (op & 0x7) << 20;
7983 // op: rs1
7984 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7985 Value |= (op & 0x7) << 15;
7986 // op: rd
7987 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7988 Value |= (op & 0x7) << 7;
7989 break;
7990 }
7991 case RISCV::C_ADDW:
7992 case RISCV::C_AND:
7993 case RISCV::C_MUL:
7994 case RISCV::C_OR:
7995 case RISCV::C_SUB:
7996 case RISCV::C_SUBW:
7997 case RISCV::C_XOR: {
7998 // op: rs2
7999 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8000 Value |= (op & 0x7) << 2;
8001 // op: rd
8002 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8003 Value |= (op & 0x7) << 7;
8004 break;
8005 }
8006 case RISCV::QC_SELECTIEQI:
8007 case RISCV::QC_SELECTINEI: {
8008 // op: rs2
8009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8010 Value |= (op & 0x1f) << 20;
8011 // op: rd
8012 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8013 Value |= (op & 0x1f) << 7;
8014 // op: imm
8015 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8016 Value |= (op & 0x1f) << 15;
8017 // op: simm2
8018 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
8019 Value |= (op & 0x1f) << 27;
8020 break;
8021 }
8022 case RISCV::CV_LBU_rr_inc:
8023 case RISCV::CV_LB_rr_inc:
8024 case RISCV::CV_LHU_rr_inc:
8025 case RISCV::CV_LH_rr_inc:
8026 case RISCV::CV_LW_rr_inc: {
8027 // op: rs2
8028 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8029 Value |= (op & 0x1f) << 20;
8030 // op: rs1
8031 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8032 Value |= (op & 0x1f) << 15;
8033 // op: rd
8034 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8035 Value |= (op & 0x1f) << 7;
8036 break;
8037 }
8038 case RISCV::MQRWACC:
8039 case RISCV::MQWACC:
8040 case RISCV::PM2WADDASU_H:
8041 case RISCV::PM2WADDAU_H:
8042 case RISCV::PM2WADDA_H:
8043 case RISCV::PM2WADDA_HX:
8044 case RISCV::PM2WSUBA_H:
8045 case RISCV::PM2WSUBA_HX:
8046 case RISCV::PMQRWACC_H:
8047 case RISCV::PMQWACC_H:
8048 case RISCV::PWADDAU_B:
8049 case RISCV::PWADDAU_H:
8050 case RISCV::PWADDA_B:
8051 case RISCV::PWADDA_H:
8052 case RISCV::PWMACCSU_H:
8053 case RISCV::PWMACCU_H:
8054 case RISCV::PWMACC_H:
8055 case RISCV::PWSUBAU_B:
8056 case RISCV::PWSUBAU_H:
8057 case RISCV::PWSUBA_B:
8058 case RISCV::PWSUBA_H:
8059 case RISCV::WADDA:
8060 case RISCV::WADDAU:
8061 case RISCV::WMACC:
8062 case RISCV::WMACCSU:
8063 case RISCV::WMACCU:
8064 case RISCV::WSUBA:
8065 case RISCV::WSUBAU: {
8066 // op: rs2
8067 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8068 Value |= (op & 0x1f) << 20;
8069 // op: rs1
8070 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8071 Value |= (op & 0x1f) << 15;
8072 // op: rd
8073 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8074 Value |= (op & 0x1e) << 7;
8075 break;
8076 }
8077 case RISCV::CV_ADDNR:
8078 case RISCV::CV_ADDRNR:
8079 case RISCV::CV_ADDUNR:
8080 case RISCV::CV_ADDURNR:
8081 case RISCV::CV_CPLXMUL_I:
8082 case RISCV::CV_CPLXMUL_I_DIV2:
8083 case RISCV::CV_CPLXMUL_I_DIV4:
8084 case RISCV::CV_CPLXMUL_I_DIV8:
8085 case RISCV::CV_CPLXMUL_R:
8086 case RISCV::CV_CPLXMUL_R_DIV2:
8087 case RISCV::CV_CPLXMUL_R_DIV4:
8088 case RISCV::CV_CPLXMUL_R_DIV8:
8089 case RISCV::CV_INSERTR:
8090 case RISCV::CV_MAC:
8091 case RISCV::CV_MSU:
8092 case RISCV::CV_PACKHI_B:
8093 case RISCV::CV_PACKLO_B:
8094 case RISCV::CV_SDOTSP_B:
8095 case RISCV::CV_SDOTSP_H:
8096 case RISCV::CV_SDOTSP_SC_B:
8097 case RISCV::CV_SDOTSP_SC_H:
8098 case RISCV::CV_SDOTUP_B:
8099 case RISCV::CV_SDOTUP_H:
8100 case RISCV::CV_SDOTUP_SC_B:
8101 case RISCV::CV_SDOTUP_SC_H:
8102 case RISCV::CV_SDOTUSP_B:
8103 case RISCV::CV_SDOTUSP_H:
8104 case RISCV::CV_SDOTUSP_SC_B:
8105 case RISCV::CV_SDOTUSP_SC_H:
8106 case RISCV::CV_SHUFFLE2_B:
8107 case RISCV::CV_SHUFFLE2_H:
8108 case RISCV::CV_SUBNR:
8109 case RISCV::CV_SUBRNR:
8110 case RISCV::CV_SUBUNR:
8111 case RISCV::CV_SUBURNR:
8112 case RISCV::MACCSU_H00:
8113 case RISCV::MACCSU_H11:
8114 case RISCV::MACCSU_W00:
8115 case RISCV::MACCSU_W11:
8116 case RISCV::MACCU_H00:
8117 case RISCV::MACCU_H01:
8118 case RISCV::MACCU_H11:
8119 case RISCV::MACCU_W00:
8120 case RISCV::MACCU_W01:
8121 case RISCV::MACCU_W11:
8122 case RISCV::MACC_H00:
8123 case RISCV::MACC_H01:
8124 case RISCV::MACC_H11:
8125 case RISCV::MACC_W00:
8126 case RISCV::MACC_W01:
8127 case RISCV::MACC_W11:
8128 case RISCV::MERGE:
8129 case RISCV::MHACC:
8130 case RISCV::MHACCSU:
8131 case RISCV::MHACCSU_H0:
8132 case RISCV::MHACCSU_H1:
8133 case RISCV::MHACCU:
8134 case RISCV::MHACC_H0:
8135 case RISCV::MHACC_H1:
8136 case RISCV::MHRACC:
8137 case RISCV::MHRACCSU:
8138 case RISCV::MHRACCU:
8139 case RISCV::MQACC_H00:
8140 case RISCV::MQACC_H01:
8141 case RISCV::MQACC_H11:
8142 case RISCV::MQACC_W00:
8143 case RISCV::MQACC_W01:
8144 case RISCV::MQACC_W11:
8145 case RISCV::MQRACC_H00:
8146 case RISCV::MQRACC_H01:
8147 case RISCV::MQRACC_H11:
8148 case RISCV::MQRACC_W00:
8149 case RISCV::MQRACC_W01:
8150 case RISCV::MQRACC_W11:
8151 case RISCV::MVM:
8152 case RISCV::MVMN:
8153 case RISCV::PABDSUMAU_B:
8154 case RISCV::PM2ADDASU_H:
8155 case RISCV::PM2ADDASU_W:
8156 case RISCV::PM2ADDAU_H:
8157 case RISCV::PM2ADDAU_W:
8158 case RISCV::PM2ADDA_H:
8159 case RISCV::PM2ADDA_HX:
8160 case RISCV::PM2ADDA_W:
8161 case RISCV::PM2ADDA_WX:
8162 case RISCV::PM2SUBA_H:
8163 case RISCV::PM2SUBA_HX:
8164 case RISCV::PM2SUBA_W:
8165 case RISCV::PM2SUBA_WX:
8166 case RISCV::PM4ADDASU_B:
8167 case RISCV::PM4ADDASU_H:
8168 case RISCV::PM4ADDAU_B:
8169 case RISCV::PM4ADDAU_H:
8170 case RISCV::PM4ADDA_B:
8171 case RISCV::PM4ADDA_H:
8172 case RISCV::PMACCSU_W_H00:
8173 case RISCV::PMACCSU_W_H11:
8174 case RISCV::PMACCU_W_H00:
8175 case RISCV::PMACCU_W_H01:
8176 case RISCV::PMACCU_W_H11:
8177 case RISCV::PMACC_W_H00:
8178 case RISCV::PMACC_W_H01:
8179 case RISCV::PMACC_W_H11:
8180 case RISCV::PMHACCSU_H:
8181 case RISCV::PMHACCSU_H_B0:
8182 case RISCV::PMHACCSU_H_B1:
8183 case RISCV::PMHACCSU_W:
8184 case RISCV::PMHACCSU_W_H0:
8185 case RISCV::PMHACCSU_W_H1:
8186 case RISCV::PMHACCU_H:
8187 case RISCV::PMHACCU_W:
8188 case RISCV::PMHACC_H:
8189 case RISCV::PMHACC_H_B0:
8190 case RISCV::PMHACC_H_B1:
8191 case RISCV::PMHACC_W:
8192 case RISCV::PMHACC_W_H0:
8193 case RISCV::PMHACC_W_H1:
8194 case RISCV::PMHRACCSU_H:
8195 case RISCV::PMHRACCSU_W:
8196 case RISCV::PMHRACCU_H:
8197 case RISCV::PMHRACCU_W:
8198 case RISCV::PMHRACC_H:
8199 case RISCV::PMHRACC_W:
8200 case RISCV::PMQ2ADDA_H:
8201 case RISCV::PMQ2ADDA_W:
8202 case RISCV::PMQACC_W_H00:
8203 case RISCV::PMQACC_W_H01:
8204 case RISCV::PMQACC_W_H11:
8205 case RISCV::PMQR2ADDA_H:
8206 case RISCV::PMQR2ADDA_W:
8207 case RISCV::PMQRACC_W_H00:
8208 case RISCV::PMQRACC_W_H01:
8209 case RISCV::PMQRACC_W_H11:
8210 case RISCV::QC_INSBHR:
8211 case RISCV::QC_INSBPR:
8212 case RISCV::QC_INSBPRH:
8213 case RISCV::QC_INSBR:
8214 case RISCV::SLX:
8215 case RISCV::SRX:
8216 case RISCV::TH_MULA:
8217 case RISCV::TH_MULAH:
8218 case RISCV::TH_MULAW:
8219 case RISCV::TH_MULS:
8220 case RISCV::TH_MULSH:
8221 case RISCV::TH_MULSW:
8222 case RISCV::TH_MVEQZ:
8223 case RISCV::TH_MVNEZ: {
8224 // op: rs2
8225 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8226 Value |= (op & 0x1f) << 20;
8227 // op: rs1
8228 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8229 Value |= (op & 0x1f) << 15;
8230 // op: rd
8231 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8232 Value |= (op & 0x1f) << 7;
8233 break;
8234 }
8235 case RISCV::CV_MACHHSN:
8236 case RISCV::CV_MACHHSRN:
8237 case RISCV::CV_MACHHUN:
8238 case RISCV::CV_MACHHURN:
8239 case RISCV::CV_MACSN:
8240 case RISCV::CV_MACSRN:
8241 case RISCV::CV_MACUN:
8242 case RISCV::CV_MACURN: {
8243 // op: rs2
8244 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8245 Value |= (op & 0x1f) << 20;
8246 // op: rs1
8247 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8248 Value |= (op & 0x1f) << 15;
8249 // op: rd
8250 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8251 Value |= (op & 0x1f) << 7;
8252 // op: imm5
8253 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
8254 Value |= (op & 0x1f) << 25;
8255 break;
8256 }
8257 case RISCV::QC_LIEQ:
8258 case RISCV::QC_LIGE:
8259 case RISCV::QC_LIGEU:
8260 case RISCV::QC_LILT:
8261 case RISCV::QC_LILTU:
8262 case RISCV::QC_LINE: {
8263 // op: rs2
8264 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8265 Value |= (op & 0x1f) << 20;
8266 // op: rs1
8267 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8268 Value |= (op & 0x1f) << 15;
8269 // op: rd
8270 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8271 Value |= (op & 0x1f) << 7;
8272 // op: simm
8273 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
8274 Value |= (op & 0x1f) << 27;
8275 break;
8276 }
8277 case RISCV::QC_SELECTIEQ:
8278 case RISCV::QC_SELECTINE: {
8279 // op: rs2
8280 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8281 Value |= (op & 0x1f) << 20;
8282 // op: rs1
8283 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8284 Value |= (op & 0x1f) << 15;
8285 // op: rd
8286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8287 Value |= (op & 0x1f) << 7;
8288 // op: simm2
8289 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
8290 Value |= (op & 0x1f) << 27;
8291 break;
8292 }
8293 case RISCV::FMADD_D:
8294 case RISCV::FMADD_D_IN32X:
8295 case RISCV::FMADD_D_INX:
8296 case RISCV::FMADD_H:
8297 case RISCV::FMADD_H_INX:
8298 case RISCV::FMADD_Q:
8299 case RISCV::FMADD_S:
8300 case RISCV::FMADD_S_INX:
8301 case RISCV::FMSUB_D:
8302 case RISCV::FMSUB_D_IN32X:
8303 case RISCV::FMSUB_D_INX:
8304 case RISCV::FMSUB_H:
8305 case RISCV::FMSUB_H_INX:
8306 case RISCV::FMSUB_Q:
8307 case RISCV::FMSUB_S:
8308 case RISCV::FMSUB_S_INX:
8309 case RISCV::FNMADD_D:
8310 case RISCV::FNMADD_D_IN32X:
8311 case RISCV::FNMADD_D_INX:
8312 case RISCV::FNMADD_H:
8313 case RISCV::FNMADD_H_INX:
8314 case RISCV::FNMADD_Q:
8315 case RISCV::FNMADD_S:
8316 case RISCV::FNMADD_S_INX:
8317 case RISCV::FNMSUB_D:
8318 case RISCV::FNMSUB_D_IN32X:
8319 case RISCV::FNMSUB_D_INX:
8320 case RISCV::FNMSUB_H:
8321 case RISCV::FNMSUB_H_INX:
8322 case RISCV::FNMSUB_Q:
8323 case RISCV::FNMSUB_S:
8324 case RISCV::FNMSUB_S_INX: {
8325 // op: rs3
8326 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8327 Value |= (op & 0x1f) << 27;
8328 // op: rs2
8329 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8330 Value |= (op & 0x1f) << 20;
8331 // op: rs1
8332 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8333 Value |= (op & 0x1f) << 15;
8334 // op: frm
8335 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8336 Value |= (op & 0x7) << 12;
8337 // op: rd
8338 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8339 Value |= (op & 0x1f) << 7;
8340 break;
8341 }
8342 case RISCV::MIPS_CCMOV: {
8343 // op: rs3
8344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8345 Value |= (op & 0x1f) << 27;
8346 // op: rs2
8347 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8348 Value |= (op & 0x1f) << 20;
8349 // op: rs1
8350 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8351 Value |= (op & 0x1f) << 15;
8352 // op: rd
8353 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8354 Value |= (op & 0x1f) << 7;
8355 break;
8356 }
8357 case RISCV::CV_SB_rr_inc:
8358 case RISCV::CV_SH_rr_inc:
8359 case RISCV::CV_SW_rr_inc: {
8360 // op: rs3
8361 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8362 Value |= (op & 0x1f) << 7;
8363 // op: rs2
8364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8365 Value |= (op & 0x1f) << 20;
8366 // op: rs1
8367 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8368 Value |= (op & 0x1f) << 15;
8369 break;
8370 }
8371 case RISCV::QC_MVEQI:
8372 case RISCV::QC_MVGEI:
8373 case RISCV::QC_MVGEUI:
8374 case RISCV::QC_MVLTI:
8375 case RISCV::QC_MVLTUI:
8376 case RISCV::QC_MVNEI: {
8377 // op: rs3
8378 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8379 Value |= (op & 0x1f) << 27;
8380 // op: rs1
8381 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8382 Value |= (op & 0x1f) << 15;
8383 // op: rd
8384 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8385 Value |= (op & 0x1f) << 7;
8386 // op: imm
8387 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
8388 Value |= (op & 0x1f) << 20;
8389 break;
8390 }
8391 case RISCV::QC_SELECTEQI:
8392 case RISCV::QC_SELECTNEI: {
8393 // op: rs3
8394 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8395 Value |= (op & 0x1f) << 27;
8396 // op: rs2
8397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8398 Value |= (op & 0x1f) << 20;
8399 // op: rd
8400 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8401 Value |= (op & 0x1f) << 7;
8402 // op: imm
8403 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8404 Value |= (op & 0x1f) << 15;
8405 break;
8406 }
8407 case RISCV::QC_MVEQ:
8408 case RISCV::QC_MVGE:
8409 case RISCV::QC_MVGEU:
8410 case RISCV::QC_MVLT:
8411 case RISCV::QC_MVLTU:
8412 case RISCV::QC_MVNE: {
8413 // op: rs3
8414 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8415 Value |= (op & 0x1f) << 27;
8416 // op: rs2
8417 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8418 Value |= (op & 0x1f) << 20;
8419 // op: rs1
8420 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8421 Value |= (op & 0x1f) << 15;
8422 // op: rd
8423 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8424 Value |= (op & 0x1f) << 7;
8425 break;
8426 }
8427 case RISCV::QC_C_SYNC:
8428 case RISCV::QC_C_SYNCR:
8429 case RISCV::QC_C_SYNCWF:
8430 case RISCV::QC_C_SYNCWL: {
8431 // op: slist
8432 op = getImmOpValueSlist(MI, OpNo: 0, Fixups, STI);
8433 Value |= (op & 0x7) << 7;
8434 break;
8435 }
8436 case RISCV::Insn16: {
8437 // op: value
8438 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8439 Value |= (op & 0xffff);
8440 break;
8441 }
8442 case RISCV::Insn32: {
8443 // op: value
8444 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8445 Value |= (op & 0xffffffff);
8446 break;
8447 }
8448 case RISCV::Insn48: {
8449 // op: value
8450 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8451 Value |= (op & 0xffffffffffff);
8452 break;
8453 }
8454 case RISCV::Insn64: {
8455 // op: value
8456 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8457 Value |= (op & 0xffffffffffffffff);
8458 break;
8459 }
8460 case RISCV::VMV_V_I: {
8461 // op: vd
8462 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8463 Value |= (op & 0x1f) << 7;
8464 // op: imm
8465 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
8466 Value |= (op & 0x1f) << 15;
8467 break;
8468 }
8469 case RISCV::VFMV_V_F:
8470 case RISCV::VMV_V_X: {
8471 // op: vd
8472 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8473 Value |= (op & 0x1f) << 7;
8474 // op: rs1
8475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8476 Value |= (op & 0x1f) << 15;
8477 break;
8478 }
8479 case RISCV::VMTL_V:
8480 case RISCV::VMTTL_V: {
8481 // op: vd
8482 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8483 Value |= (op & 0x1f) << 7;
8484 // op: rs1
8485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8486 Value |= (op & 0x1f) << 15;
8487 // op: rs2
8488 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8489 Value |= (op & 0x1f) << 20;
8490 // op: vm
8491 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
8492 Value |= (op & 0x1) << 25;
8493 // op: vlambda
8494 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
8495 Value |= (op & 0x7) << 29;
8496 break;
8497 }
8498 case RISCV::VID_V: {
8499 // op: vd
8500 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8501 Value |= (op & 0x1f) << 7;
8502 // op: vm
8503 op = getVMaskReg(MI, OpNo: 1, Fixups, STI);
8504 Value |= (op & 0x1) << 25;
8505 break;
8506 }
8507 case RISCV::SF_VFEXPA_V:
8508 case RISCV::SF_VFEXP_V:
8509 case RISCV::VBREV8_V:
8510 case RISCV::VBREV_V:
8511 case RISCV::VCLZ_V:
8512 case RISCV::VCPOP_V:
8513 case RISCV::VCTZ_V:
8514 case RISCV::VFCLASS_V:
8515 case RISCV::VFCVT_F_XU_V:
8516 case RISCV::VFCVT_F_X_V:
8517 case RISCV::VFCVT_RTZ_XU_F_V:
8518 case RISCV::VFCVT_RTZ_X_F_V:
8519 case RISCV::VFCVT_XU_F_V:
8520 case RISCV::VFCVT_X_F_V:
8521 case RISCV::VFNCVTBF16_F_F_W:
8522 case RISCV::VFNCVTBF16_SAT_F_F_W:
8523 case RISCV::VFNCVT_F_F_Q:
8524 case RISCV::VFNCVT_F_F_W:
8525 case RISCV::VFNCVT_F_XU_W:
8526 case RISCV::VFNCVT_F_X_W:
8527 case RISCV::VFNCVT_ROD_F_F_W:
8528 case RISCV::VFNCVT_RTZ_XU_F_W:
8529 case RISCV::VFNCVT_RTZ_X_F_W:
8530 case RISCV::VFNCVT_SAT_F_F_Q:
8531 case RISCV::VFNCVT_XU_F_W:
8532 case RISCV::VFNCVT_X_F_W:
8533 case RISCV::VFREC7_V:
8534 case RISCV::VFRSQRT7_V:
8535 case RISCV::VFSQRT_V:
8536 case RISCV::VFWCVTBF16_F_F_V:
8537 case RISCV::VFWCVT_F_F_V:
8538 case RISCV::VFWCVT_F_XU_V:
8539 case RISCV::VFWCVT_F_X_V:
8540 case RISCV::VFWCVT_RTZ_XU_F_V:
8541 case RISCV::VFWCVT_RTZ_X_F_V:
8542 case RISCV::VFWCVT_XU_F_V:
8543 case RISCV::VFWCVT_X_F_V:
8544 case RISCV::VIOTA_M:
8545 case RISCV::VMSBF_M:
8546 case RISCV::VMSIF_M:
8547 case RISCV::VMSOF_M:
8548 case RISCV::VREV8_V:
8549 case RISCV::VSEXT_VF2:
8550 case RISCV::VSEXT_VF4:
8551 case RISCV::VSEXT_VF8:
8552 case RISCV::VZEXT_VF2:
8553 case RISCV::VZEXT_VF4:
8554 case RISCV::VZEXT_VF8: {
8555 // op: vd
8556 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8557 Value |= (op & 0x1f) << 7;
8558 // op: vm
8559 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
8560 Value |= (op & 0x1) << 25;
8561 // op: vs2
8562 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8563 Value |= (op & 0x1f) << 20;
8564 break;
8565 }
8566 case RISCV::VADD_VI:
8567 case RISCV::VAND_VI:
8568 case RISCV::VMSEQ_VI:
8569 case RISCV::VMSGTU_VI:
8570 case RISCV::VMSGT_VI:
8571 case RISCV::VMSLEU_VI:
8572 case RISCV::VMSLE_VI:
8573 case RISCV::VMSNE_VI:
8574 case RISCV::VNCLIPU_WI:
8575 case RISCV::VNCLIP_WI:
8576 case RISCV::VNSRA_WI:
8577 case RISCV::VNSRL_WI:
8578 case RISCV::VOR_VI:
8579 case RISCV::VRGATHER_VI:
8580 case RISCV::VRSUB_VI:
8581 case RISCV::VSADDU_VI:
8582 case RISCV::VSADD_VI:
8583 case RISCV::VSLIDEDOWN_VI:
8584 case RISCV::VSLIDEUP_VI:
8585 case RISCV::VSLL_VI:
8586 case RISCV::VSRA_VI:
8587 case RISCV::VSRL_VI:
8588 case RISCV::VSSRA_VI:
8589 case RISCV::VSSRL_VI:
8590 case RISCV::VWSLL_VI:
8591 case RISCV::VXOR_VI: {
8592 // op: vd
8593 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8594 Value |= (op & 0x1f) << 7;
8595 // op: vm
8596 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8597 Value |= (op & 0x1) << 25;
8598 // op: vs2
8599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8600 Value |= (op & 0x1f) << 20;
8601 // op: imm
8602 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8603 Value |= (op & 0x1f) << 15;
8604 break;
8605 }
8606 case RISCV::VROR_VI: {
8607 // op: vd
8608 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8609 Value |= (op & 0x1f) << 7;
8610 // op: vm
8611 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8612 Value |= (op & 0x1) << 25;
8613 // op: vs2
8614 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8615 Value |= (op & 0x1f) << 20;
8616 // op: imm
8617 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8618 Value |= (op & 0x20) << 21;
8619 Value |= (op & 0x1f) << 15;
8620 break;
8621 }
8622 case RISCV::SF_VFNRCLIP_XU_F_QF:
8623 case RISCV::SF_VFNRCLIP_X_F_QF:
8624 case RISCV::VAADDU_VX:
8625 case RISCV::VAADD_VX:
8626 case RISCV::VABDU_VX:
8627 case RISCV::VABD_VX:
8628 case RISCV::VADD_VX:
8629 case RISCV::VANDN_VX:
8630 case RISCV::VAND_VX:
8631 case RISCV::VASUBU_VX:
8632 case RISCV::VASUB_VX:
8633 case RISCV::VCLMULH_VX:
8634 case RISCV::VCLMUL_VX:
8635 case RISCV::VDIVU_VX:
8636 case RISCV::VDIV_VX:
8637 case RISCV::VFADD_VF:
8638 case RISCV::VFDIV_VF:
8639 case RISCV::VFMAX_VF:
8640 case RISCV::VFMIN_VF:
8641 case RISCV::VFMUL_VF:
8642 case RISCV::VFRDIV_VF:
8643 case RISCV::VFRSUB_VF:
8644 case RISCV::VFSGNJN_VF:
8645 case RISCV::VFSGNJX_VF:
8646 case RISCV::VFSGNJ_VF:
8647 case RISCV::VFSLIDE1DOWN_VF:
8648 case RISCV::VFSLIDE1UP_VF:
8649 case RISCV::VFSUB_VF:
8650 case RISCV::VFWADD_VF:
8651 case RISCV::VFWADD_WF:
8652 case RISCV::VFWMUL_VF:
8653 case RISCV::VFWSUB_VF:
8654 case RISCV::VFWSUB_WF:
8655 case RISCV::VMAXU_VX:
8656 case RISCV::VMAX_VX:
8657 case RISCV::VMFEQ_VF:
8658 case RISCV::VMFGE_VF:
8659 case RISCV::VMFGT_VF:
8660 case RISCV::VMFLE_VF:
8661 case RISCV::VMFLT_VF:
8662 case RISCV::VMFNE_VF:
8663 case RISCV::VMINU_VX:
8664 case RISCV::VMIN_VX:
8665 case RISCV::VMSEQ_VX:
8666 case RISCV::VMSGTU_VX:
8667 case RISCV::VMSGT_VX:
8668 case RISCV::VMSLEU_VX:
8669 case RISCV::VMSLE_VX:
8670 case RISCV::VMSLTU_VX:
8671 case RISCV::VMSLT_VX:
8672 case RISCV::VMSNE_VX:
8673 case RISCV::VMULHSU_VX:
8674 case RISCV::VMULHU_VX:
8675 case RISCV::VMULH_VX:
8676 case RISCV::VMUL_VX:
8677 case RISCV::VNCLIPU_WX:
8678 case RISCV::VNCLIP_WX:
8679 case RISCV::VNSRA_WX:
8680 case RISCV::VNSRL_WX:
8681 case RISCV::VOR_VX:
8682 case RISCV::VREMU_VX:
8683 case RISCV::VREM_VX:
8684 case RISCV::VRGATHER_VX:
8685 case RISCV::VROL_VX:
8686 case RISCV::VROR_VX:
8687 case RISCV::VRSUB_VX:
8688 case RISCV::VSADDU_VX:
8689 case RISCV::VSADD_VX:
8690 case RISCV::VSLIDE1DOWN_VX:
8691 case RISCV::VSLIDE1UP_VX:
8692 case RISCV::VSLIDEDOWN_VX:
8693 case RISCV::VSLIDEUP_VX:
8694 case RISCV::VSLL_VX:
8695 case RISCV::VSMUL_VX:
8696 case RISCV::VSRA_VX:
8697 case RISCV::VSRL_VX:
8698 case RISCV::VSSRA_VX:
8699 case RISCV::VSSRL_VX:
8700 case RISCV::VSSUBU_VX:
8701 case RISCV::VSSUB_VX:
8702 case RISCV::VSUB_VX:
8703 case RISCV::VWADDU_VX:
8704 case RISCV::VWADDU_WX:
8705 case RISCV::VWADD_VX:
8706 case RISCV::VWADD_WX:
8707 case RISCV::VWMULSU_VX:
8708 case RISCV::VWMULU_VX:
8709 case RISCV::VWMUL_VX:
8710 case RISCV::VWSLL_VX:
8711 case RISCV::VWSUBU_VX:
8712 case RISCV::VWSUBU_WX:
8713 case RISCV::VWSUB_VX:
8714 case RISCV::VWSUB_WX:
8715 case RISCV::VXOR_VX: {
8716 // op: vd
8717 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8718 Value |= (op & 0x1f) << 7;
8719 // op: vm
8720 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8721 Value |= (op & 0x1) << 25;
8722 // op: vs2
8723 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8724 Value |= (op & 0x1f) << 20;
8725 // op: rs1
8726 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8727 Value |= (op & 0x1f) << 15;
8728 break;
8729 }
8730 case RISCV::VAADDU_VV:
8731 case RISCV::VAADD_VV:
8732 case RISCV::VABDU_VV:
8733 case RISCV::VABD_VV:
8734 case RISCV::VADD_VV:
8735 case RISCV::VANDN_VV:
8736 case RISCV::VAND_VV:
8737 case RISCV::VASUBU_VV:
8738 case RISCV::VASUB_VV:
8739 case RISCV::VCLMULH_VV:
8740 case RISCV::VCLMUL_VV:
8741 case RISCV::VDIVU_VV:
8742 case RISCV::VDIV_VV:
8743 case RISCV::VFADD_VV:
8744 case RISCV::VFDIV_VV:
8745 case RISCV::VFMAX_VV:
8746 case RISCV::VFMIN_VV:
8747 case RISCV::VFMUL_VV:
8748 case RISCV::VFREDMAX_VS:
8749 case RISCV::VFREDMIN_VS:
8750 case RISCV::VFREDOSUM_VS:
8751 case RISCV::VFREDUSUM_VS:
8752 case RISCV::VFSGNJN_VV:
8753 case RISCV::VFSGNJX_VV:
8754 case RISCV::VFSGNJ_VV:
8755 case RISCV::VFSUB_VV:
8756 case RISCV::VFWADD_VV:
8757 case RISCV::VFWADD_WV:
8758 case RISCV::VFWMUL_VV:
8759 case RISCV::VFWREDOSUM_VS:
8760 case RISCV::VFWREDUSUM_VS:
8761 case RISCV::VFWSUB_VV:
8762 case RISCV::VFWSUB_WV:
8763 case RISCV::VMAXU_VV:
8764 case RISCV::VMAX_VV:
8765 case RISCV::VMFEQ_VV:
8766 case RISCV::VMFLE_VV:
8767 case RISCV::VMFLT_VV:
8768 case RISCV::VMFNE_VV:
8769 case RISCV::VMINU_VV:
8770 case RISCV::VMIN_VV:
8771 case RISCV::VMSEQ_VV:
8772 case RISCV::VMSLEU_VV:
8773 case RISCV::VMSLE_VV:
8774 case RISCV::VMSLTU_VV:
8775 case RISCV::VMSLT_VV:
8776 case RISCV::VMSNE_VV:
8777 case RISCV::VMULHSU_VV:
8778 case RISCV::VMULHU_VV:
8779 case RISCV::VMULH_VV:
8780 case RISCV::VMUL_VV:
8781 case RISCV::VNCLIPU_WV:
8782 case RISCV::VNCLIP_WV:
8783 case RISCV::VNSRA_WV:
8784 case RISCV::VNSRL_WV:
8785 case RISCV::VOR_VV:
8786 case RISCV::VPAIRE_VV:
8787 case RISCV::VPAIRO_VV:
8788 case RISCV::VREDAND_VS:
8789 case RISCV::VREDMAXU_VS:
8790 case RISCV::VREDMAX_VS:
8791 case RISCV::VREDMINU_VS:
8792 case RISCV::VREDMIN_VS:
8793 case RISCV::VREDOR_VS:
8794 case RISCV::VREDSUM_VS:
8795 case RISCV::VREDXOR_VS:
8796 case RISCV::VREMU_VV:
8797 case RISCV::VREM_VV:
8798 case RISCV::VRGATHEREI16_VV:
8799 case RISCV::VRGATHER_VV:
8800 case RISCV::VROL_VV:
8801 case RISCV::VROR_VV:
8802 case RISCV::VSADDU_VV:
8803 case RISCV::VSADD_VV:
8804 case RISCV::VSLL_VV:
8805 case RISCV::VSMUL_VV:
8806 case RISCV::VSRA_VV:
8807 case RISCV::VSRL_VV:
8808 case RISCV::VSSRA_VV:
8809 case RISCV::VSSRL_VV:
8810 case RISCV::VSSUBU_VV:
8811 case RISCV::VSSUB_VV:
8812 case RISCV::VSUB_VV:
8813 case RISCV::VWADDU_VV:
8814 case RISCV::VWADDU_WV:
8815 case RISCV::VWADD_VV:
8816 case RISCV::VWADD_WV:
8817 case RISCV::VWMULSU_VV:
8818 case RISCV::VWMULU_VV:
8819 case RISCV::VWMUL_VV:
8820 case RISCV::VWREDSUMU_VS:
8821 case RISCV::VWREDSUM_VS:
8822 case RISCV::VWSLL_VV:
8823 case RISCV::VWSUBU_VV:
8824 case RISCV::VWSUBU_WV:
8825 case RISCV::VWSUB_VV:
8826 case RISCV::VWSUB_WV:
8827 case RISCV::VXOR_VV:
8828 case RISCV::VZIP_VV: {
8829 // op: vd
8830 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8831 Value |= (op & 0x1f) << 7;
8832 // op: vm
8833 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8834 Value |= (op & 0x1) << 25;
8835 // op: vs2
8836 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8837 Value |= (op & 0x1f) << 20;
8838 // op: vs1
8839 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8840 Value |= (op & 0x1f) << 15;
8841 break;
8842 }
8843 case RISCV::VMV_V_V: {
8844 // op: vd
8845 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8846 Value |= (op & 0x1f) << 7;
8847 // op: vs1
8848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8849 Value |= (op & 0x1f) << 15;
8850 break;
8851 }
8852 case RISCV::VNPACK4_VV:
8853 case RISCV::VNPACK_VV:
8854 case RISCV::VNSPACK4_VV:
8855 case RISCV::VNSPACK_VV:
8856 case RISCV::VPACK_VV:
8857 case RISCV::VUPACK_VV: {
8858 // op: vd
8859 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8860 Value |= (op & 0x1f) << 7;
8861 // op: vs1
8862 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8863 Value |= (op & 0x1f) << 15;
8864 // op: vs2
8865 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8866 Value |= (op & 0x1f) << 20;
8867 // op: imm2
8868 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
8869 Value |= (op & 0x3) << 12;
8870 break;
8871 }
8872 case RISCV::VMV1R_V:
8873 case RISCV::VMV2R_V:
8874 case RISCV::VMV4R_V:
8875 case RISCV::VMV8R_V:
8876 case RISCV::VUNZIPE_V:
8877 case RISCV::VUNZIPO_V: {
8878 // op: vd
8879 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8880 Value |= (op & 0x1f) << 7;
8881 // op: vs2
8882 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8883 Value |= (op & 0x1f) << 20;
8884 break;
8885 }
8886 case RISCV::VADC_VIM:
8887 case RISCV::VAESKF1_VI:
8888 case RISCV::VMADC_VI:
8889 case RISCV::VMADC_VIM:
8890 case RISCV::VMERGE_VIM:
8891 case RISCV::VSM4K_VI: {
8892 // op: vd
8893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8894 Value |= (op & 0x1f) << 7;
8895 // op: vs2
8896 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8897 Value |= (op & 0x1f) << 20;
8898 // op: imm
8899 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8900 Value |= (op & 0x1f) << 15;
8901 break;
8902 }
8903 case RISCV::VADC_VXM:
8904 case RISCV::VFMERGE_VFM:
8905 case RISCV::VMADC_VX:
8906 case RISCV::VMADC_VXM:
8907 case RISCV::VMERGE_VXM:
8908 case RISCV::VMSBC_VX:
8909 case RISCV::VMSBC_VXM:
8910 case RISCV::VSBC_VXM: {
8911 // op: vd
8912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8913 Value |= (op & 0x1f) << 7;
8914 // op: vs2
8915 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8916 Value |= (op & 0x1f) << 20;
8917 // op: rs1
8918 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8919 Value |= (op & 0x1f) << 15;
8920 break;
8921 }
8922 case RISCV::VADC_VVM:
8923 case RISCV::VCOMPRESS_VM:
8924 case RISCV::VMADC_VV:
8925 case RISCV::VMADC_VVM:
8926 case RISCV::VMANDN_MM:
8927 case RISCV::VMAND_MM:
8928 case RISCV::VMERGE_VVM:
8929 case RISCV::VMNAND_MM:
8930 case RISCV::VMNOR_MM:
8931 case RISCV::VMORN_MM:
8932 case RISCV::VMOR_MM:
8933 case RISCV::VMSBC_VV:
8934 case RISCV::VMSBC_VVM:
8935 case RISCV::VMXNOR_MM:
8936 case RISCV::VMXOR_MM:
8937 case RISCV::VSBC_VVM:
8938 case RISCV::VSM3ME_VV: {
8939 // op: vd
8940 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8941 Value |= (op & 0x1f) << 7;
8942 // op: vs2
8943 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8944 Value |= (op & 0x1f) << 20;
8945 // op: vs1
8946 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8947 Value |= (op & 0x1f) << 15;
8948 break;
8949 }
8950 case RISCV::VMADOTSU_SP:
8951 case RISCV::VMADOTUS_SP:
8952 case RISCV::VMADOTU_SP:
8953 case RISCV::VMADOT_SP: {
8954 // op: vd
8955 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8956 Value |= (op & 0x1e) << 7;
8957 // op: vs1
8958 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8959 Value |= (op & 0x1e) << 15;
8960 // op: vs2
8961 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8962 Value |= (op & 0x1f) << 20;
8963 // op: vtype
8964 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
8965 Value |= (op & 0x3) << 29;
8966 // op: vmask
8967 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8968 Value |= (op & 0x1) << 25;
8969 // op: imm2
8970 op = getImmOpValue(MI, OpNo: 5, Fixups, STI);
8971 Value |= (op & 0x2) << 14;
8972 Value |= (op & 0x1) << 7;
8973 break;
8974 }
8975 case RISCV::VFMV_S_F:
8976 case RISCV::VMV_S_X: {
8977 // op: vd
8978 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8979 Value |= (op & 0x1f) << 7;
8980 // op: rs1
8981 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8982 Value |= (op & 0x1f) << 15;
8983 break;
8984 }
8985 case RISCV::VDOT4ASU_VX:
8986 case RISCV::VDOT4AUS_VX:
8987 case RISCV::VDOT4AU_VX:
8988 case RISCV::VDOT4A_VX:
8989 case RISCV::VWABDAU_VX:
8990 case RISCV::VWABDA_VX: {
8991 // op: vd
8992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8993 Value |= (op & 0x1f) << 7;
8994 // op: vm
8995 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
8996 Value |= (op & 0x1) << 25;
8997 // op: vs2
8998 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8999 Value |= (op & 0x1f) << 20;
9000 // op: rs1
9001 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9002 Value |= (op & 0x1f) << 15;
9003 break;
9004 }
9005 case RISCV::VDOT4ASU_VV:
9006 case RISCV::VDOT4AU_VV:
9007 case RISCV::VDOT4A_VV:
9008 case RISCV::VFQWDOTA_ALT_VV:
9009 case RISCV::VFQWDOTA_VV:
9010 case RISCV::VFWDOTA_VV:
9011 case RISCV::VQWDOTAS_VV:
9012 case RISCV::VQWDOTAU_VV:
9013 case RISCV::VWABDAU_VV:
9014 case RISCV::VWABDA_VV: {
9015 // op: vd
9016 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9017 Value |= (op & 0x1f) << 7;
9018 // op: vm
9019 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
9020 Value |= (op & 0x1) << 25;
9021 // op: vs2
9022 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9023 Value |= (op & 0x1f) << 20;
9024 // op: vs1
9025 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9026 Value |= (op & 0x1f) << 15;
9027 break;
9028 }
9029 case RISCV::TH_VMAQASU_VX:
9030 case RISCV::TH_VMAQAUS_VX:
9031 case RISCV::TH_VMAQAU_VX:
9032 case RISCV::TH_VMAQA_VX:
9033 case RISCV::VFMACC_VF:
9034 case RISCV::VFMADD_VF:
9035 case RISCV::VFMSAC_VF:
9036 case RISCV::VFMSUB_VF:
9037 case RISCV::VFNMACC_VF:
9038 case RISCV::VFNMADD_VF:
9039 case RISCV::VFNMSAC_VF:
9040 case RISCV::VFNMSUB_VF:
9041 case RISCV::VFWMACCBF16_VF:
9042 case RISCV::VFWMACC_VF:
9043 case RISCV::VFWMSAC_VF:
9044 case RISCV::VFWNMACC_VF:
9045 case RISCV::VFWNMSAC_VF:
9046 case RISCV::VMACC_VX:
9047 case RISCV::VMADD_VX:
9048 case RISCV::VNMSAC_VX:
9049 case RISCV::VNMSUB_VX:
9050 case RISCV::VWMACCSU_VX:
9051 case RISCV::VWMACCUS_VX:
9052 case RISCV::VWMACCU_VX:
9053 case RISCV::VWMACC_VX: {
9054 // op: vd
9055 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9056 Value |= (op & 0x1f) << 7;
9057 // op: vm
9058 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
9059 Value |= (op & 0x1) << 25;
9060 // op: vs2
9061 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9062 Value |= (op & 0x1f) << 20;
9063 // op: rs1
9064 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9065 Value |= (op & 0x1f) << 15;
9066 break;
9067 }
9068 case RISCV::TH_VMAQASU_VV:
9069 case RISCV::TH_VMAQAU_VV:
9070 case RISCV::TH_VMAQA_VV:
9071 case RISCV::VFMACC_VV:
9072 case RISCV::VFMADD_VV:
9073 case RISCV::VFMSAC_VV:
9074 case RISCV::VFMSUB_VV:
9075 case RISCV::VFNMACC_VV:
9076 case RISCV::VFNMADD_VV:
9077 case RISCV::VFNMSAC_VV:
9078 case RISCV::VFNMSUB_VV:
9079 case RISCV::VFWMACCBF16_VV:
9080 case RISCV::VFWMACC_VV:
9081 case RISCV::VFWMSAC_VV:
9082 case RISCV::VFWNMACC_VV:
9083 case RISCV::VFWNMSAC_VV:
9084 case RISCV::VMACC_VV:
9085 case RISCV::VMADD_VV:
9086 case RISCV::VNMSAC_VV:
9087 case RISCV::VNMSUB_VV:
9088 case RISCV::VWMACCSU_VV:
9089 case RISCV::VWMACCU_VV:
9090 case RISCV::VWMACC_VV: {
9091 // op: vd
9092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9093 Value |= (op & 0x1f) << 7;
9094 // op: vm
9095 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
9096 Value |= (op & 0x1) << 25;
9097 // op: vs2
9098 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9099 Value |= (op & 0x1f) << 20;
9100 // op: vs1
9101 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9102 Value |= (op & 0x1f) << 15;
9103 break;
9104 }
9105 case RISCV::VFBDOTA_VV:
9106 case RISCV::VFQWBDOTA_ALT_VV:
9107 case RISCV::VFQWBDOTA_VV:
9108 case RISCV::VFWBDOTA_VV:
9109 case RISCV::VQWBDOTAS_VV:
9110 case RISCV::VQWBDOTAU_VV: {
9111 // op: vd
9112 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9113 Value |= (op & 0x1f) << 7;
9114 // op: vm
9115 op = getVMaskReg(MI, OpNo: 5, Fixups, STI);
9116 Value |= (op & 0x1) << 25;
9117 // op: vs2
9118 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9119 Value |= (op & 0x18) << 20;
9120 // op: vs1
9121 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9122 Value |= (op & 0x1f) << 15;
9123 // op: ci
9124 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
9125 Value |= (op & 0x38) << 17;
9126 break;
9127 }
9128 case RISCV::SMT_VMADOT1:
9129 case RISCV::SMT_VMADOT1SU:
9130 case RISCV::SMT_VMADOT1U:
9131 case RISCV::SMT_VMADOT1US:
9132 case RISCV::SMT_VMADOT2:
9133 case RISCV::SMT_VMADOT2SU:
9134 case RISCV::SMT_VMADOT2U:
9135 case RISCV::SMT_VMADOT2US:
9136 case RISCV::SMT_VMADOT3:
9137 case RISCV::SMT_VMADOT3SU:
9138 case RISCV::SMT_VMADOT3U:
9139 case RISCV::SMT_VMADOT3US: {
9140 // op: vd
9141 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9142 Value |= (op & 0x1f) << 7;
9143 // op: vs1
9144 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9145 Value |= (op & 0x1e) << 15;
9146 // op: vs2
9147 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9148 Value |= (op & 0x1f) << 20;
9149 break;
9150 }
9151 case RISCV::VMADOT1:
9152 case RISCV::VMADOT1SU:
9153 case RISCV::VMADOT1U:
9154 case RISCV::VMADOT1US:
9155 case RISCV::VMADOT2:
9156 case RISCV::VMADOT2SU:
9157 case RISCV::VMADOT2U:
9158 case RISCV::VMADOT2US:
9159 case RISCV::VMADOT3:
9160 case RISCV::VMADOT3SU:
9161 case RISCV::VMADOT3U:
9162 case RISCV::VMADOT3US: {
9163 // op: vd
9164 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9165 Value |= (op & 0x1f) << 7;
9166 // op: vs1
9167 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9168 Value |= (op & 0x1e) << 15;
9169 // op: vs2
9170 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9171 Value |= (op & 0x1f) << 20;
9172 // op: vtype
9173 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9174 Value |= (op & 0x3) << 29;
9175 break;
9176 }
9177 case RISCV::SMT_VMADOT:
9178 case RISCV::SMT_VMADOTSU:
9179 case RISCV::SMT_VMADOTU:
9180 case RISCV::SMT_VMADOTUS:
9181 case RISCV::VFWMADOT:
9182 case RISCV::VFWMADOT1:
9183 case RISCV::VFWMADOT2:
9184 case RISCV::VFWMADOT3: {
9185 // op: vd
9186 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9187 Value |= (op & 0x1f) << 7;
9188 // op: vs1
9189 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9190 Value |= (op & 0x1f) << 15;
9191 // op: vs2
9192 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9193 Value |= (op & 0x1f) << 20;
9194 break;
9195 }
9196 case RISCV::VMADOT:
9197 case RISCV::VMADOTSU:
9198 case RISCV::VMADOTU:
9199 case RISCV::VMADOTUS: {
9200 // op: vd
9201 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9202 Value |= (op & 0x1f) << 7;
9203 // op: vs1
9204 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9205 Value |= (op & 0x1f) << 15;
9206 // op: vs2
9207 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9208 Value |= (op & 0x1f) << 20;
9209 // op: vtype
9210 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9211 Value |= (op & 0x3) << 29;
9212 break;
9213 }
9214 case RISCV::VMADOTSU_HP:
9215 case RISCV::VMADOTUS_HP:
9216 case RISCV::VMADOTU_HP:
9217 case RISCV::VMADOT_HP: {
9218 // op: vd
9219 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9220 Value |= (op & 0x1f) << 7;
9221 // op: vs1
9222 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9223 Value |= (op & 0x1f) << 15;
9224 // op: vs2
9225 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9226 Value |= (op & 0x1f) << 20;
9227 // op: vtype
9228 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
9229 Value |= (op & 0x3) << 29;
9230 // op: vmask
9231 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9232 Value |= (op & 0x1) << 25;
9233 // op: imm3
9234 op = getImmOpValue(MI, OpNo: 5, Fixups, STI);
9235 Value |= (op & 0x7) << 12;
9236 break;
9237 }
9238 case RISCV::VAESDF_VS:
9239 case RISCV::VAESDF_VV:
9240 case RISCV::VAESDM_VS:
9241 case RISCV::VAESDM_VV:
9242 case RISCV::VAESEF_VS:
9243 case RISCV::VAESEF_VV:
9244 case RISCV::VAESEM_VS:
9245 case RISCV::VAESEM_VV:
9246 case RISCV::VAESZ_VS:
9247 case RISCV::VGMUL_VS:
9248 case RISCV::VGMUL_VV:
9249 case RISCV::VSM4R_VS:
9250 case RISCV::VSM4R_VV: {
9251 // op: vd
9252 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9253 Value |= (op & 0x1f) << 7;
9254 // op: vs2
9255 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9256 Value |= (op & 0x1f) << 20;
9257 break;
9258 }
9259 case RISCV::VAESKF2_VI:
9260 case RISCV::VSM3C_VI: {
9261 // op: vd
9262 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9263 Value |= (op & 0x1f) << 7;
9264 // op: vs2
9265 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9266 Value |= (op & 0x1f) << 20;
9267 // op: imm
9268 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9269 Value |= (op & 0x1f) << 15;
9270 break;
9271 }
9272 case RISCV::VGHSH_VS:
9273 case RISCV::VGHSH_VV:
9274 case RISCV::VSHA2CH_VV:
9275 case RISCV::VSHA2CL_VV:
9276 case RISCV::VSHA2MS_VV: {
9277 // op: vd
9278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9279 Value |= (op & 0x1f) << 7;
9280 // op: vs2
9281 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9282 Value |= (op & 0x1f) << 20;
9283 // op: vs1
9284 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9285 Value |= (op & 0x1f) << 15;
9286 break;
9287 }
9288 case RISCV::SF_VFWMACC_4x4x4:
9289 case RISCV::SF_VQMACCSU_2x8x2:
9290 case RISCV::SF_VQMACCSU_4x8x4:
9291 case RISCV::SF_VQMACCUS_2x8x2:
9292 case RISCV::SF_VQMACCUS_4x8x4:
9293 case RISCV::SF_VQMACCU_2x8x2:
9294 case RISCV::SF_VQMACCU_4x8x4:
9295 case RISCV::SF_VQMACC_2x8x2:
9296 case RISCV::SF_VQMACC_4x8x4:
9297 case RISCV::V8WMMACC_VV:
9298 case RISCV::VF8WIMMACC_VV:
9299 case RISCV::VF8WMMACC_VV:
9300 case RISCV::VF8WMMACC_VV_SCALE:
9301 case RISCV::VFMMACC_VV:
9302 case RISCV::VFQIMMACC_VV:
9303 case RISCV::VFQMMACC_VV:
9304 case RISCV::VFQMMACC_VV_SCALE:
9305 case RISCV::VFWIMMACC_VV:
9306 case RISCV::VFWMMACC_VV:
9307 case RISCV::VFWMMACC_VV_SCALE:
9308 case RISCV::VMMACC_VV:
9309 case RISCV::VQMMACC_VV:
9310 case RISCV::VWMMACC_VV: {
9311 // op: vd
9312 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9313 Value |= (op & 0x1f) << 7;
9314 // op: vs2
9315 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9316 Value |= (op & 0x1f) << 20;
9317 // op: vs1
9318 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9319 Value |= (op & 0x1f) << 15;
9320 break;
9321 }
9322 case RISCV::NDS_VFWCVT_F_B:
9323 case RISCV::NDS_VFWCVT_F_BU:
9324 case RISCV::NDS_VFWCVT_F_N:
9325 case RISCV::NDS_VFWCVT_F_NU: {
9326 // op: vs
9327 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9328 Value |= (op & 0x1f) << 20;
9329 // op: vd
9330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9331 Value |= (op & 0x1f) << 7;
9332 // op: vm
9333 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
9334 Value |= (op & 0x1) << 25;
9335 break;
9336 }
9337 case RISCV::SF_VC_I: {
9338 // op: vs2
9339 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9340 Value |= (op & 0x1f) << 20;
9341 // op: vd
9342 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
9343 Value |= (op & 0x1f) << 7;
9344 // op: imm
9345 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9346 Value |= (op & 0x1f) << 15;
9347 // op: funct6_lo2
9348 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9349 Value |= (op & 0x3) << 26;
9350 break;
9351 }
9352 case RISCV::SF_VC_X: {
9353 // op: vs2
9354 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9355 Value |= (op & 0x1f) << 20;
9356 // op: vd
9357 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
9358 Value |= (op & 0x1f) << 7;
9359 // op: rs1
9360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9361 Value |= (op & 0x1f) << 15;
9362 // op: funct6_lo2
9363 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9364 Value |= (op & 0x3) << 26;
9365 break;
9366 }
9367 case RISCV::SF_VC_V_I: {
9368 // op: vs2
9369 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
9370 Value |= (op & 0x1f) << 20;
9371 // op: vd
9372 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9373 Value |= (op & 0x1f) << 7;
9374 // op: imm
9375 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9376 Value |= (op & 0x1f) << 15;
9377 // op: funct6_lo2
9378 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9379 Value |= (op & 0x3) << 26;
9380 break;
9381 }
9382 case RISCV::SF_VC_V_X: {
9383 // op: vs2
9384 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
9385 Value |= (op & 0x1f) << 20;
9386 // op: vd
9387 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9388 Value |= (op & 0x1f) << 7;
9389 // op: rs1
9390 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9391 Value |= (op & 0x1f) << 15;
9392 // op: funct6_lo2
9393 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9394 Value |= (op & 0x3) << 26;
9395 break;
9396 }
9397 case RISCV::NDS_VFPMADB_VF:
9398 case RISCV::NDS_VFPMADT_VF: {
9399 // op: vs2
9400 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9401 Value |= (op & 0x1f) << 20;
9402 // op: rs1
9403 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9404 Value |= (op & 0x1f) << 15;
9405 // op: vd
9406 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9407 Value |= (op & 0x1f) << 7;
9408 // op: vm
9409 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
9410 Value |= (op & 0x1) << 25;
9411 break;
9412 }
9413 case RISCV::NDS_VFNCVT_BF16_S:
9414 case RISCV::NDS_VFWCVT_S_BF16: {
9415 // op: vs2
9416 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9417 Value |= (op & 0x1f) << 20;
9418 // op: vd
9419 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9420 Value |= (op & 0x1f) << 7;
9421 break;
9422 }
9423 case RISCV::SF_MM_E4M3_E4M3:
9424 case RISCV::SF_MM_E4M3_E5M2:
9425 case RISCV::SF_MM_E5M2_E4M3:
9426 case RISCV::SF_MM_E5M2_E5M2:
9427 case RISCV::SF_MM_S_S:
9428 case RISCV::SF_MM_S_U:
9429 case RISCV::SF_MM_U_S:
9430 case RISCV::SF_MM_U_U: {
9431 // op: vs2
9432 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9433 Value |= (op & 0x1f) << 20;
9434 // op: vs1
9435 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9436 Value |= (op & 0x1f) << 15;
9437 // op: rd
9438 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9439 Value |= (op & 0xc) << 8;
9440 break;
9441 }
9442 case RISCV::SF_MM_F_F: {
9443 // op: vs2
9444 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9445 Value |= (op & 0x1f) << 20;
9446 // op: vs1
9447 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9448 Value |= (op & 0x1f) << 15;
9449 // op: rd
9450 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9451 Value |= (op & 0xe) << 8;
9452 break;
9453 }
9454 case RISCV::SF_VC_IV: {
9455 // op: vs2
9456 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9457 Value |= (op & 0x1f) << 20;
9458 // op: vd
9459 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9460 Value |= (op & 0x1f) << 7;
9461 // op: imm
9462 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9463 Value |= (op & 0x1f) << 15;
9464 // op: funct6_lo2
9465 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9466 Value |= (op & 0x3) << 26;
9467 break;
9468 }
9469 case RISCV::SF_VC_FV: {
9470 // op: vs2
9471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9472 Value |= (op & 0x1f) << 20;
9473 // op: vd
9474 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9475 Value |= (op & 0x1f) << 7;
9476 // op: rs1
9477 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9478 Value |= (op & 0x1f) << 15;
9479 // op: funct6_lo1
9480 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9481 Value |= (op & 0x1) << 26;
9482 break;
9483 }
9484 case RISCV::SF_VC_XV: {
9485 // op: vs2
9486 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9487 Value |= (op & 0x1f) << 20;
9488 // op: vd
9489 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9490 Value |= (op & 0x1f) << 7;
9491 // op: rs1
9492 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9493 Value |= (op & 0x1f) << 15;
9494 // op: funct6_lo2
9495 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9496 Value |= (op & 0x3) << 26;
9497 break;
9498 }
9499 case RISCV::SF_VC_VV: {
9500 // op: vs2
9501 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9502 Value |= (op & 0x1f) << 20;
9503 // op: vd
9504 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9505 Value |= (op & 0x1f) << 7;
9506 // op: vs1
9507 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9508 Value |= (op & 0x1f) << 15;
9509 // op: funct6_lo2
9510 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9511 Value |= (op & 0x3) << 26;
9512 break;
9513 }
9514 case RISCV::SF_VC_V_IV: {
9515 // op: vs2
9516 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9517 Value |= (op & 0x1f) << 20;
9518 // op: vd
9519 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9520 Value |= (op & 0x1f) << 7;
9521 // op: imm
9522 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9523 Value |= (op & 0x1f) << 15;
9524 // op: funct6_lo2
9525 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9526 Value |= (op & 0x3) << 26;
9527 break;
9528 }
9529 case RISCV::SF_VC_V_FV: {
9530 // op: vs2
9531 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9532 Value |= (op & 0x1f) << 20;
9533 // op: vd
9534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9535 Value |= (op & 0x1f) << 7;
9536 // op: rs1
9537 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9538 Value |= (op & 0x1f) << 15;
9539 // op: funct6_lo1
9540 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9541 Value |= (op & 0x1) << 26;
9542 break;
9543 }
9544 case RISCV::SF_VC_V_XV: {
9545 // op: vs2
9546 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9547 Value |= (op & 0x1f) << 20;
9548 // op: vd
9549 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9550 Value |= (op & 0x1f) << 7;
9551 // op: rs1
9552 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9553 Value |= (op & 0x1f) << 15;
9554 // op: funct6_lo2
9555 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9556 Value |= (op & 0x3) << 26;
9557 break;
9558 }
9559 case RISCV::SF_VC_V_VV: {
9560 // op: vs2
9561 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9562 Value |= (op & 0x1f) << 20;
9563 // op: vd
9564 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9565 Value |= (op & 0x1f) << 7;
9566 // op: vs1
9567 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9568 Value |= (op & 0x1f) << 15;
9569 // op: funct6_lo2
9570 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9571 Value |= (op & 0x3) << 26;
9572 break;
9573 }
9574 case RISCV::SF_VC_IVV:
9575 case RISCV::SF_VC_IVW: {
9576 // op: vs2
9577 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9578 Value |= (op & 0x1f) << 20;
9579 // op: vd
9580 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9581 Value |= (op & 0x1f) << 7;
9582 // op: imm
9583 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9584 Value |= (op & 0x1f) << 15;
9585 // op: funct6_lo2
9586 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9587 Value |= (op & 0x3) << 26;
9588 break;
9589 }
9590 case RISCV::SF_VC_FVV:
9591 case RISCV::SF_VC_FVW: {
9592 // op: vs2
9593 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9594 Value |= (op & 0x1f) << 20;
9595 // op: vd
9596 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9597 Value |= (op & 0x1f) << 7;
9598 // op: rs1
9599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9600 Value |= (op & 0x1f) << 15;
9601 // op: funct6_lo1
9602 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9603 Value |= (op & 0x1) << 26;
9604 break;
9605 }
9606 case RISCV::SF_VC_XVV:
9607 case RISCV::SF_VC_XVW: {
9608 // op: vs2
9609 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9610 Value |= (op & 0x1f) << 20;
9611 // op: vd
9612 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9613 Value |= (op & 0x1f) << 7;
9614 // op: rs1
9615 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9616 Value |= (op & 0x1f) << 15;
9617 // op: funct6_lo2
9618 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9619 Value |= (op & 0x3) << 26;
9620 break;
9621 }
9622 case RISCV::SF_VC_VVV:
9623 case RISCV::SF_VC_VVW: {
9624 // op: vs2
9625 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9626 Value |= (op & 0x1f) << 20;
9627 // op: vd
9628 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9629 Value |= (op & 0x1f) << 7;
9630 // op: vs1
9631 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9632 Value |= (op & 0x1f) << 15;
9633 // op: funct6_lo2
9634 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9635 Value |= (op & 0x3) << 26;
9636 break;
9637 }
9638 case RISCV::NDS_VD4DOTSU_VV:
9639 case RISCV::NDS_VD4DOTS_VV:
9640 case RISCV::NDS_VD4DOTU_VV: {
9641 // op: vs2
9642 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9643 Value |= (op & 0x1f) << 20;
9644 // op: vs1
9645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9646 Value |= (op & 0x1f) << 15;
9647 // op: vd
9648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9649 Value |= (op & 0x1f) << 7;
9650 // op: vm
9651 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
9652 Value |= (op & 0x1) << 25;
9653 break;
9654 }
9655 case RISCV::SF_VC_V_IVV:
9656 case RISCV::SF_VC_V_IVW: {
9657 // op: vs2
9658 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9659 Value |= (op & 0x1f) << 20;
9660 // op: vd
9661 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9662 Value |= (op & 0x1f) << 7;
9663 // op: imm
9664 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
9665 Value |= (op & 0x1f) << 15;
9666 // op: funct6_lo2
9667 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9668 Value |= (op & 0x3) << 26;
9669 break;
9670 }
9671 case RISCV::SF_VC_V_FVV:
9672 case RISCV::SF_VC_V_FVW: {
9673 // op: vs2
9674 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9675 Value |= (op & 0x1f) << 20;
9676 // op: vd
9677 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9678 Value |= (op & 0x1f) << 7;
9679 // op: rs1
9680 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9681 Value |= (op & 0x1f) << 15;
9682 // op: funct6_lo1
9683 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9684 Value |= (op & 0x1) << 26;
9685 break;
9686 }
9687 case RISCV::SF_VC_V_XVV:
9688 case RISCV::SF_VC_V_XVW: {
9689 // op: vs2
9690 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9691 Value |= (op & 0x1f) << 20;
9692 // op: vd
9693 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9694 Value |= (op & 0x1f) << 7;
9695 // op: rs1
9696 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9697 Value |= (op & 0x1f) << 15;
9698 // op: funct6_lo2
9699 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9700 Value |= (op & 0x3) << 26;
9701 break;
9702 }
9703 case RISCV::SF_VC_V_VVV:
9704 case RISCV::SF_VC_V_VVW: {
9705 // op: vs2
9706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9707 Value |= (op & 0x1f) << 20;
9708 // op: vd
9709 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9710 Value |= (op & 0x1f) << 7;
9711 // op: vs1
9712 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9713 Value |= (op & 0x1f) << 15;
9714 // op: funct6_lo2
9715 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9716 Value |= (op & 0x3) << 26;
9717 break;
9718 }
9719 case RISCV::VMTS_V:
9720 case RISCV::VMTTS_V: {
9721 // op: vs3
9722 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9723 Value |= (op & 0x1f) << 7;
9724 // op: rs1
9725 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9726 Value |= (op & 0x1f) << 15;
9727 // op: rs2
9728 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9729 Value |= (op & 0x1f) << 20;
9730 // op: vm
9731 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
9732 Value |= (op & 0x1) << 25;
9733 // op: vlambda
9734 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9735 Value |= (op & 0x7) << 29;
9736 break;
9737 }
9738 default:
9739 reportUnsupportedInst(Inst: MI);
9740 }
9741 return Value;
9742}
9743
9744#ifdef GET_OPERAND_BIT_OFFSET
9745#undef GET_OPERAND_BIT_OFFSET
9746
9747uint32_t RISCVMCCodeEmitter::getOperandBitOffset(const MCInst &MI,
9748 unsigned OpNum,
9749 const MCSubtargetInfo &STI) const {
9750 switch (MI.getOpcode()) {
9751 case RISCV::C_EBREAK:
9752 case RISCV::C_MOP_11:
9753 case RISCV::C_MOP_13:
9754 case RISCV::C_MOP_15:
9755 case RISCV::C_MOP_3:
9756 case RISCV::C_MOP_7:
9757 case RISCV::C_MOP_9:
9758 case RISCV::C_NOP:
9759 case RISCV::C_SSPOPCHK:
9760 case RISCV::C_SSPUSH:
9761 case RISCV::C_UNIMP:
9762 case RISCV::DRET:
9763 case RISCV::EBREAK:
9764 case RISCV::ECALL:
9765 case RISCV::FENCE_I:
9766 case RISCV::FENCE_TSO:
9767 case RISCV::MIPOPRET:
9768 case RISCV::MIPS_EHB:
9769 case RISCV::MIPS_IHB:
9770 case RISCV::MIPS_PAUSE:
9771 case RISCV::MNRET:
9772 case RISCV::MRET:
9773 case RISCV::QC_C_DI:
9774 case RISCV::QC_C_EI:
9775 case RISCV::QC_C_MIENTER:
9776 case RISCV::QC_C_MIENTER_NEST:
9777 case RISCV::QC_C_MILEAVERET:
9778 case RISCV::QC_C_MNRET:
9779 case RISCV::QC_C_MRET:
9780 case RISCV::SCTRCLR:
9781 case RISCV::SFENCE_INVAL_IR:
9782 case RISCV::SFENCE_W_INVAL:
9783 case RISCV::SF_CEASE:
9784 case RISCV::SF_VTDISCARD:
9785 case RISCV::SIPOPRET:
9786 case RISCV::SRET:
9787 case RISCV::TH_DCACHE_CALL:
9788 case RISCV::TH_DCACHE_CIALL:
9789 case RISCV::TH_DCACHE_IALL:
9790 case RISCV::TH_ICACHE_IALL:
9791 case RISCV::TH_ICACHE_IALLS:
9792 case RISCV::TH_L2CACHE_CALL:
9793 case RISCV::TH_L2CACHE_CIALL:
9794 case RISCV::TH_L2CACHE_IALL:
9795 case RISCV::TH_SYNC:
9796 case RISCV::TH_SYNC_I:
9797 case RISCV::TH_SYNC_IS:
9798 case RISCV::TH_SYNC_S:
9799 case RISCV::UNIMP:
9800 case RISCV::WFI:
9801 case RISCV::WRS_NTO:
9802 case RISCV::WRS_STO: {
9803 break;
9804 }
9805 case RISCV::AIF_FSWG_PS:
9806 case RISCV::AIF_FSWL_PS: {
9807 switch (OpNum) {
9808 case 0:
9809 // op: fs3
9810 return 7;
9811 case 1:
9812 // op: rs1
9813 return 15;
9814 }
9815 break;
9816 }
9817 case RISCV::C_NOP_HINT: {
9818 switch (OpNum) {
9819 case 0:
9820 // op: imm
9821 return 2;
9822 }
9823 break;
9824 }
9825 case RISCV::QC_CLRINTI:
9826 case RISCV::QC_SETINTI: {
9827 switch (OpNum) {
9828 case 0:
9829 // op: imm10
9830 return 15;
9831 }
9832 break;
9833 }
9834 case RISCV::QC_E_J:
9835 case RISCV::QC_E_JAL: {
9836 switch (OpNum) {
9837 case 0:
9838 // op: imm31
9839 return 7;
9840 }
9841 break;
9842 }
9843 case RISCV::QC_SYNC:
9844 case RISCV::QC_SYNCR:
9845 case RISCV::QC_SYNCWF:
9846 case RISCV::QC_SYNCWL: {
9847 switch (OpNum) {
9848 case 0:
9849 // op: imm5
9850 return 20;
9851 }
9852 break;
9853 }
9854 case RISCV::QC_PPUTCI: {
9855 switch (OpNum) {
9856 case 0:
9857 // op: imm8
9858 return 20;
9859 }
9860 break;
9861 }
9862 case RISCV::CM_JALT:
9863 case RISCV::CM_JT:
9864 case RISCV::QC_CM_JALT:
9865 case RISCV::QC_CM_JT: {
9866 switch (OpNum) {
9867 case 0:
9868 // op: index
9869 return 2;
9870 }
9871 break;
9872 }
9873 case RISCV::C_J:
9874 case RISCV::C_JAL: {
9875 switch (OpNum) {
9876 case 0:
9877 // op: offset
9878 return 2;
9879 }
9880 break;
9881 }
9882 case RISCV::InsnQC_EJ: {
9883 switch (OpNum) {
9884 case 0:
9885 // op: opcode
9886 return 0;
9887 case 1:
9888 // op: func3
9889 return 12;
9890 case 2:
9891 // op: func2
9892 return 15;
9893 case 3:
9894 // op: func5
9895 return 20;
9896 case 4:
9897 // op: imm31
9898 return 7;
9899 }
9900 break;
9901 }
9902 case RISCV::InsnQC_ES: {
9903 switch (OpNum) {
9904 case 0:
9905 // op: opcode
9906 return 0;
9907 case 1:
9908 // op: func3
9909 return 12;
9910 case 2:
9911 // op: func2
9912 return 30;
9913 case 4:
9914 // op: rs1
9915 return 15;
9916 case 3:
9917 // op: rs2
9918 return 20;
9919 case 5:
9920 // op: imm26
9921 return 7;
9922 }
9923 break;
9924 }
9925 case RISCV::InsnQC_EB: {
9926 switch (OpNum) {
9927 case 0:
9928 // op: opcode
9929 return 0;
9930 case 1:
9931 // op: func3
9932 return 12;
9933 case 2:
9934 // op: func5
9935 return 20;
9936 case 3:
9937 // op: rs1
9938 return 15;
9939 case 5:
9940 // op: imm12
9941 return 7;
9942 case 4:
9943 // op: imm16
9944 return 32;
9945 }
9946 break;
9947 }
9948 case RISCV::InsnS: {
9949 switch (OpNum) {
9950 case 0:
9951 // op: opcode
9952 return 0;
9953 case 1:
9954 // op: funct3
9955 return 12;
9956 case 4:
9957 // op: imm12
9958 return 7;
9959 case 2:
9960 // op: rs2
9961 return 20;
9962 case 3:
9963 // op: rs1
9964 return 15;
9965 }
9966 break;
9967 }
9968 case RISCV::InsnB: {
9969 switch (OpNum) {
9970 case 0:
9971 // op: opcode
9972 return 0;
9973 case 1:
9974 // op: funct3
9975 return 12;
9976 case 4:
9977 // op: imm12
9978 return 7;
9979 case 3:
9980 // op: rs2
9981 return 20;
9982 case 2:
9983 // op: rs1
9984 return 15;
9985 }
9986 break;
9987 }
9988 case RISCV::InsnCJ: {
9989 switch (OpNum) {
9990 case 0:
9991 // op: opcode
9992 return 0;
9993 case 1:
9994 // op: funct3
9995 return 13;
9996 case 2:
9997 // op: imm11
9998 return 2;
9999 }
10000 break;
10001 }
10002 case RISCV::InsnCSS: {
10003 switch (OpNum) {
10004 case 0:
10005 // op: opcode
10006 return 0;
10007 case 1:
10008 // op: funct3
10009 return 13;
10010 case 3:
10011 // op: imm6
10012 return 7;
10013 case 2:
10014 // op: rs2
10015 return 2;
10016 }
10017 break;
10018 }
10019 case RISCV::InsnCB: {
10020 switch (OpNum) {
10021 case 0:
10022 // op: opcode
10023 return 0;
10024 case 1:
10025 // op: funct3
10026 return 13;
10027 case 3:
10028 // op: imm8
10029 return 2;
10030 case 2:
10031 // op: rs1
10032 return 7;
10033 }
10034 break;
10035 }
10036 case RISCV::InsnCS: {
10037 switch (OpNum) {
10038 case 0:
10039 // op: opcode
10040 return 0;
10041 case 1:
10042 // op: funct3
10043 return 13;
10044 case 4:
10045 // op: imm5
10046 return 5;
10047 case 2:
10048 // op: rs2
10049 return 2;
10050 case 3:
10051 // op: rs1
10052 return 7;
10053 }
10054 break;
10055 }
10056 case RISCV::FENCE: {
10057 switch (OpNum) {
10058 case 0:
10059 // op: pred
10060 return 24;
10061 case 1:
10062 // op: succ
10063 return 20;
10064 }
10065 break;
10066 }
10067 case RISCV::C_FLD:
10068 case RISCV::C_FLW:
10069 case RISCV::C_LBU:
10070 case RISCV::C_LD:
10071 case RISCV::C_LD_RV32:
10072 case RISCV::C_LH:
10073 case RISCV::C_LHU:
10074 case RISCV::C_LH_INX:
10075 case RISCV::C_LW:
10076 case RISCV::C_LW_INX:
10077 case RISCV::QK_C_LBU:
10078 case RISCV::QK_C_LHU: {
10079 switch (OpNum) {
10080 case 0:
10081 // op: rd
10082 return 2;
10083 case 1:
10084 // op: rs1
10085 return 7;
10086 case 2:
10087 // op: imm
10088 return 5;
10089 }
10090 break;
10091 }
10092 case RISCV::FLI_D:
10093 case RISCV::FLI_H:
10094 case RISCV::FLI_Q:
10095 case RISCV::FLI_S: {
10096 switch (OpNum) {
10097 case 0:
10098 // op: rd
10099 return 7;
10100 case 1:
10101 // op: imm
10102 return 15;
10103 }
10104 break;
10105 }
10106 case RISCV::QC_E_LI: {
10107 switch (OpNum) {
10108 case 0:
10109 // op: rd
10110 return 7;
10111 case 1:
10112 // op: imm
10113 return 16;
10114 }
10115 break;
10116 }
10117 case RISCV::PLI_H:
10118 case RISCV::PLI_W:
10119 case RISCV::PLUI_H:
10120 case RISCV::PLUI_W: {
10121 switch (OpNum) {
10122 case 0:
10123 // op: rd
10124 return 7;
10125 case 1:
10126 // op: imm10
10127 return 15;
10128 }
10129 break;
10130 }
10131 case RISCV::PLI_B: {
10132 switch (OpNum) {
10133 case 0:
10134 // op: rd
10135 return 7;
10136 case 1:
10137 // op: imm8
10138 return 16;
10139 }
10140 break;
10141 }
10142 case RISCV::AIF_FMVS_X_PS:
10143 case RISCV::AIF_FMVZ_X_PS: {
10144 switch (OpNum) {
10145 case 0:
10146 // op: rd
10147 return 7;
10148 case 1:
10149 // op: rs1
10150 return 15;
10151 case 2:
10152 // op: idx
10153 return 20;
10154 }
10155 break;
10156 }
10157 case RISCV::AIF_FSWIZZ_PS: {
10158 switch (OpNum) {
10159 case 0:
10160 // op: rd
10161 return 7;
10162 case 1:
10163 // op: rs1
10164 return 15;
10165 case 2:
10166 // op: imm
10167 return 12;
10168 }
10169 break;
10170 }
10171 case RISCV::QC_E_ADDI:
10172 case RISCV::QC_E_ANDI:
10173 case RISCV::QC_E_LB:
10174 case RISCV::QC_E_LBU:
10175 case RISCV::QC_E_LH:
10176 case RISCV::QC_E_LHU:
10177 case RISCV::QC_E_LW:
10178 case RISCV::QC_E_ORI:
10179 case RISCV::QC_E_XORI: {
10180 switch (OpNum) {
10181 case 0:
10182 // op: rd
10183 return 7;
10184 case 1:
10185 // op: rs1
10186 return 15;
10187 case 2:
10188 // op: imm
10189 return 20;
10190 }
10191 break;
10192 }
10193 case RISCV::NDS_BFOS:
10194 case RISCV::NDS_BFOZ: {
10195 switch (OpNum) {
10196 case 0:
10197 // op: rd
10198 return 7;
10199 case 1:
10200 // op: rs1
10201 return 15;
10202 case 2:
10203 // op: msb
10204 return 26;
10205 case 3:
10206 // op: lsb
10207 return 20;
10208 }
10209 break;
10210 }
10211 case RISCV::AIF_FCVT_PS_PW:
10212 case RISCV::AIF_FCVT_PS_PWU:
10213 case RISCV::AIF_FCVT_PWU_PS:
10214 case RISCV::AIF_FCVT_PW_PS: {
10215 switch (OpNum) {
10216 case 0:
10217 // op: rd
10218 return 7;
10219 case 1:
10220 // op: rs1
10221 return 15;
10222 case 2:
10223 // op: rm
10224 return 12;
10225 }
10226 break;
10227 }
10228 case RISCV::AIF_FADD_PS:
10229 case RISCV::AIF_FDIV_PS:
10230 case RISCV::AIF_FMUL_PS:
10231 case RISCV::AIF_FSUB_PS: {
10232 switch (OpNum) {
10233 case 0:
10234 // op: rd
10235 return 7;
10236 case 1:
10237 // op: rs1
10238 return 15;
10239 case 2:
10240 // op: rs2
10241 return 20;
10242 case 3:
10243 // op: rm
10244 return 12;
10245 }
10246 break;
10247 }
10248 case RISCV::AIF_FMADD_PS:
10249 case RISCV::AIF_FMSUB_PS:
10250 case RISCV::AIF_FNMADD_PS:
10251 case RISCV::AIF_FNMSUB_PS: {
10252 switch (OpNum) {
10253 case 0:
10254 // op: rd
10255 return 7;
10256 case 1:
10257 // op: rs1
10258 return 15;
10259 case 2:
10260 // op: rs2
10261 return 20;
10262 case 3:
10263 // op: rs3
10264 return 27;
10265 case 4:
10266 // op: rm
10267 return 12;
10268 }
10269 break;
10270 }
10271 case RISCV::AIF_FCMOV_PS: {
10272 switch (OpNum) {
10273 case 0:
10274 // op: rd
10275 return 7;
10276 case 1:
10277 // op: rs1
10278 return 15;
10279 case 2:
10280 // op: rs2
10281 return 20;
10282 case 3:
10283 // op: rs3
10284 return 27;
10285 }
10286 break;
10287 }
10288 case RISCV::VSETIVLI: {
10289 switch (OpNum) {
10290 case 0:
10291 // op: rd
10292 return 7;
10293 case 1:
10294 // op: uimm
10295 return 15;
10296 case 2:
10297 // op: vtypei
10298 return 20;
10299 }
10300 break;
10301 }
10302 case RISCV::VFMV_F_S:
10303 case RISCV::VMV_X_S: {
10304 switch (OpNum) {
10305 case 0:
10306 // op: rd
10307 return 7;
10308 case 1:
10309 // op: vs2
10310 return 20;
10311 }
10312 break;
10313 }
10314 case RISCV::VCPOP_M:
10315 case RISCV::VFIRST_M: {
10316 switch (OpNum) {
10317 case 0:
10318 // op: rd
10319 return 7;
10320 case 2:
10321 // op: vm
10322 return 25;
10323 case 1:
10324 // op: vs2
10325 return 20;
10326 }
10327 break;
10328 }
10329 case RISCV::AIF_MOVA_X_M:
10330 case RISCV::QC_C_DIR:
10331 case RISCV::SSRDP: {
10332 switch (OpNum) {
10333 case 0:
10334 // op: rd
10335 return 7;
10336 }
10337 break;
10338 }
10339 case RISCV::PLI_DH:
10340 case RISCV::PLUI_DH: {
10341 switch (OpNum) {
10342 case 0:
10343 // op: rd
10344 return 8;
10345 case 1:
10346 // op: imm10
10347 return 15;
10348 }
10349 break;
10350 }
10351 case RISCV::PLI_DB: {
10352 switch (OpNum) {
10353 case 0:
10354 // op: rd
10355 return 8;
10356 case 1:
10357 // op: imm8
10358 return 16;
10359 }
10360 break;
10361 }
10362 case RISCV::SF_VTZERO_T: {
10363 switch (OpNum) {
10364 case 0:
10365 // op: rd
10366 return 8;
10367 }
10368 break;
10369 }
10370 case RISCV::QK_C_LBUSP:
10371 case RISCV::QK_C_LHUSP:
10372 case RISCV::QK_C_SBSP:
10373 case RISCV::QK_C_SHSP: {
10374 switch (OpNum) {
10375 case 0:
10376 // op: rd_rs2
10377 return 2;
10378 case 2:
10379 // op: imm
10380 return 7;
10381 }
10382 break;
10383 }
10384 case RISCV::CM_POP:
10385 case RISCV::CM_POPRET:
10386 case RISCV::CM_POPRETZ:
10387 case RISCV::CM_PUSH:
10388 case RISCV::QC_CM_POP:
10389 case RISCV::QC_CM_POPRET:
10390 case RISCV::QC_CM_POPRETZ:
10391 case RISCV::QC_CM_PUSH:
10392 case RISCV::QC_CM_PUSHFP: {
10393 switch (OpNum) {
10394 case 0:
10395 // op: rlist
10396 return 4;
10397 case 1:
10398 // op: stackadj
10399 return 2;
10400 }
10401 break;
10402 }
10403 case RISCV::QC_E_BEQI:
10404 case RISCV::QC_E_BGEI:
10405 case RISCV::QC_E_BGEUI:
10406 case RISCV::QC_E_BLTI:
10407 case RISCV::QC_E_BLTUI:
10408 case RISCV::QC_E_BNEI: {
10409 switch (OpNum) {
10410 case 0:
10411 // op: rs1
10412 return 15;
10413 case 1:
10414 // op: imm16
10415 return 32;
10416 case 2:
10417 // op: imm12
10418 return 7;
10419 }
10420 break;
10421 }
10422 case RISCV::AIF_MOVA_M_X:
10423 case RISCV::CBO_CLEAN:
10424 case RISCV::CBO_FLUSH:
10425 case RISCV::CBO_INVAL:
10426 case RISCV::CBO_ZERO:
10427 case RISCV::SF_CDISCARD_D_L1:
10428 case RISCV::SF_CFLUSH_D_L1:
10429 case RISCV::SSPOPCHK:
10430 case RISCV::TH_DCACHE_CIPA:
10431 case RISCV::TH_DCACHE_CISW:
10432 case RISCV::TH_DCACHE_CIVA:
10433 case RISCV::TH_DCACHE_CPA:
10434 case RISCV::TH_DCACHE_CPAL1:
10435 case RISCV::TH_DCACHE_CSW:
10436 case RISCV::TH_DCACHE_CVA:
10437 case RISCV::TH_DCACHE_CVAL1:
10438 case RISCV::TH_DCACHE_IPA:
10439 case RISCV::TH_DCACHE_ISW:
10440 case RISCV::TH_DCACHE_IVA:
10441 case RISCV::TH_ICACHE_IPA:
10442 case RISCV::TH_ICACHE_IVA: {
10443 switch (OpNum) {
10444 case 0:
10445 // op: rs1
10446 return 15;
10447 }
10448 break;
10449 }
10450 case RISCV::C_MV: {
10451 switch (OpNum) {
10452 case 0:
10453 // op: rs1
10454 return 7;
10455 case 1:
10456 // op: rs2
10457 return 2;
10458 }
10459 break;
10460 }
10461 case RISCV::C_JALR:
10462 case RISCV::C_JR:
10463 case RISCV::QC_C_CLRINT:
10464 case RISCV::QC_C_EIR:
10465 case RISCV::QC_C_SETINT: {
10466 switch (OpNum) {
10467 case 0:
10468 // op: rs1
10469 return 7;
10470 }
10471 break;
10472 }
10473 case RISCV::AIF_SBG:
10474 case RISCV::AIF_SBL:
10475 case RISCV::AIF_SHG:
10476 case RISCV::AIF_SHL:
10477 case RISCV::HSV_B:
10478 case RISCV::HSV_D:
10479 case RISCV::HSV_H:
10480 case RISCV::HSV_W:
10481 case RISCV::SB_AQRL:
10482 case RISCV::SB_RL:
10483 case RISCV::SD_AQRL:
10484 case RISCV::SD_RL:
10485 case RISCV::SF_VLTE16:
10486 case RISCV::SF_VLTE32:
10487 case RISCV::SF_VLTE64:
10488 case RISCV::SF_VLTE8:
10489 case RISCV::SF_VSTE16:
10490 case RISCV::SF_VSTE32:
10491 case RISCV::SF_VSTE64:
10492 case RISCV::SF_VSTE8:
10493 case RISCV::SH_AQRL:
10494 case RISCV::SH_RL:
10495 case RISCV::SW_AQRL:
10496 case RISCV::SW_RL: {
10497 switch (OpNum) {
10498 case 0:
10499 // op: rs2
10500 return 20;
10501 case 1:
10502 // op: rs1
10503 return 15;
10504 }
10505 break;
10506 }
10507 case RISCV::SSPUSH: {
10508 switch (OpNum) {
10509 case 0:
10510 // op: rs2
10511 return 20;
10512 }
10513 break;
10514 }
10515 case RISCV::C_FSD:
10516 case RISCV::C_FSW:
10517 case RISCV::C_SB:
10518 case RISCV::C_SD:
10519 case RISCV::C_SD_RV32:
10520 case RISCV::C_SH:
10521 case RISCV::C_SH_INX:
10522 case RISCV::C_SW:
10523 case RISCV::C_SW_INX:
10524 case RISCV::QK_C_SB:
10525 case RISCV::QK_C_SH: {
10526 switch (OpNum) {
10527 case 0:
10528 // op: rs2
10529 return 2;
10530 case 1:
10531 // op: rs1
10532 return 7;
10533 case 2:
10534 // op: imm
10535 return 5;
10536 }
10537 break;
10538 }
10539 case RISCV::QC_C_SYNC:
10540 case RISCV::QC_C_SYNCR:
10541 case RISCV::QC_C_SYNCWF:
10542 case RISCV::QC_C_SYNCWL: {
10543 switch (OpNum) {
10544 case 0:
10545 // op: slist
10546 return 7;
10547 }
10548 break;
10549 }
10550 case RISCV::Insn16:
10551 case RISCV::Insn32:
10552 case RISCV::Insn48:
10553 case RISCV::Insn64: {
10554 switch (OpNum) {
10555 case 0:
10556 // op: value
10557 return 0;
10558 }
10559 break;
10560 }
10561 case RISCV::VMV_V_I: {
10562 switch (OpNum) {
10563 case 0:
10564 // op: vd
10565 return 7;
10566 case 1:
10567 // op: imm
10568 return 15;
10569 }
10570 break;
10571 }
10572 case RISCV::VMTL_V:
10573 case RISCV::VMTTL_V: {
10574 switch (OpNum) {
10575 case 0:
10576 // op: vd
10577 return 7;
10578 case 1:
10579 // op: rs1
10580 return 15;
10581 case 2:
10582 // op: rs2
10583 return 20;
10584 case 4:
10585 // op: vm
10586 return 25;
10587 case 3:
10588 // op: vlambda
10589 return 29;
10590 }
10591 break;
10592 }
10593 case RISCV::VFMV_V_F:
10594 case RISCV::VMV_V_X: {
10595 switch (OpNum) {
10596 case 0:
10597 // op: vd
10598 return 7;
10599 case 1:
10600 // op: rs1
10601 return 15;
10602 }
10603 break;
10604 }
10605 case RISCV::VID_V: {
10606 switch (OpNum) {
10607 case 0:
10608 // op: vd
10609 return 7;
10610 case 1:
10611 // op: vm
10612 return 25;
10613 }
10614 break;
10615 }
10616 case RISCV::VNPACK4_VV:
10617 case RISCV::VNPACK_VV:
10618 case RISCV::VNSPACK4_VV:
10619 case RISCV::VNSPACK_VV:
10620 case RISCV::VPACK_VV:
10621 case RISCV::VUPACK_VV: {
10622 switch (OpNum) {
10623 case 0:
10624 // op: vd
10625 return 7;
10626 case 1:
10627 // op: vs1
10628 return 15;
10629 case 2:
10630 // op: vs2
10631 return 20;
10632 case 3:
10633 // op: imm2
10634 return 12;
10635 }
10636 break;
10637 }
10638 case RISCV::VMV_V_V: {
10639 switch (OpNum) {
10640 case 0:
10641 // op: vd
10642 return 7;
10643 case 1:
10644 // op: vs1
10645 return 15;
10646 }
10647 break;
10648 }
10649 case RISCV::VADC_VIM:
10650 case RISCV::VAESKF1_VI:
10651 case RISCV::VMADC_VI:
10652 case RISCV::VMADC_VIM:
10653 case RISCV::VMERGE_VIM:
10654 case RISCV::VSM4K_VI: {
10655 switch (OpNum) {
10656 case 0:
10657 // op: vd
10658 return 7;
10659 case 1:
10660 // op: vs2
10661 return 20;
10662 case 2:
10663 // op: imm
10664 return 15;
10665 }
10666 break;
10667 }
10668 case RISCV::VADC_VXM:
10669 case RISCV::VFMERGE_VFM:
10670 case RISCV::VMADC_VX:
10671 case RISCV::VMADC_VXM:
10672 case RISCV::VMERGE_VXM:
10673 case RISCV::VMSBC_VX:
10674 case RISCV::VMSBC_VXM:
10675 case RISCV::VSBC_VXM: {
10676 switch (OpNum) {
10677 case 0:
10678 // op: vd
10679 return 7;
10680 case 1:
10681 // op: vs2
10682 return 20;
10683 case 2:
10684 // op: rs1
10685 return 15;
10686 }
10687 break;
10688 }
10689 case RISCV::VADC_VVM:
10690 case RISCV::VCOMPRESS_VM:
10691 case RISCV::VMADC_VV:
10692 case RISCV::VMADC_VVM:
10693 case RISCV::VMANDN_MM:
10694 case RISCV::VMAND_MM:
10695 case RISCV::VMERGE_VVM:
10696 case RISCV::VMNAND_MM:
10697 case RISCV::VMNOR_MM:
10698 case RISCV::VMORN_MM:
10699 case RISCV::VMOR_MM:
10700 case RISCV::VMSBC_VV:
10701 case RISCV::VMSBC_VVM:
10702 case RISCV::VMXNOR_MM:
10703 case RISCV::VMXOR_MM:
10704 case RISCV::VSBC_VVM:
10705 case RISCV::VSM3ME_VV: {
10706 switch (OpNum) {
10707 case 0:
10708 // op: vd
10709 return 7;
10710 case 1:
10711 // op: vs2
10712 return 20;
10713 case 2:
10714 // op: vs1
10715 return 15;
10716 }
10717 break;
10718 }
10719 case RISCV::VMV1R_V:
10720 case RISCV::VMV2R_V:
10721 case RISCV::VMV4R_V:
10722 case RISCV::VMV8R_V:
10723 case RISCV::VUNZIPE_V:
10724 case RISCV::VUNZIPO_V: {
10725 switch (OpNum) {
10726 case 0:
10727 // op: vd
10728 return 7;
10729 case 1:
10730 // op: vs2
10731 return 20;
10732 }
10733 break;
10734 }
10735 case RISCV::SF_VFEXPA_V:
10736 case RISCV::SF_VFEXP_V:
10737 case RISCV::VBREV8_V:
10738 case RISCV::VBREV_V:
10739 case RISCV::VCLZ_V:
10740 case RISCV::VCPOP_V:
10741 case RISCV::VCTZ_V:
10742 case RISCV::VFCLASS_V:
10743 case RISCV::VFCVT_F_XU_V:
10744 case RISCV::VFCVT_F_X_V:
10745 case RISCV::VFCVT_RTZ_XU_F_V:
10746 case RISCV::VFCVT_RTZ_X_F_V:
10747 case RISCV::VFCVT_XU_F_V:
10748 case RISCV::VFCVT_X_F_V:
10749 case RISCV::VFNCVTBF16_F_F_W:
10750 case RISCV::VFNCVTBF16_SAT_F_F_W:
10751 case RISCV::VFNCVT_F_F_Q:
10752 case RISCV::VFNCVT_F_F_W:
10753 case RISCV::VFNCVT_F_XU_W:
10754 case RISCV::VFNCVT_F_X_W:
10755 case RISCV::VFNCVT_ROD_F_F_W:
10756 case RISCV::VFNCVT_RTZ_XU_F_W:
10757 case RISCV::VFNCVT_RTZ_X_F_W:
10758 case RISCV::VFNCVT_SAT_F_F_Q:
10759 case RISCV::VFNCVT_XU_F_W:
10760 case RISCV::VFNCVT_X_F_W:
10761 case RISCV::VFREC7_V:
10762 case RISCV::VFRSQRT7_V:
10763 case RISCV::VFSQRT_V:
10764 case RISCV::VFWCVTBF16_F_F_V:
10765 case RISCV::VFWCVT_F_F_V:
10766 case RISCV::VFWCVT_F_XU_V:
10767 case RISCV::VFWCVT_F_X_V:
10768 case RISCV::VFWCVT_RTZ_XU_F_V:
10769 case RISCV::VFWCVT_RTZ_X_F_V:
10770 case RISCV::VFWCVT_XU_F_V:
10771 case RISCV::VFWCVT_X_F_V:
10772 case RISCV::VIOTA_M:
10773 case RISCV::VMSBF_M:
10774 case RISCV::VMSIF_M:
10775 case RISCV::VMSOF_M:
10776 case RISCV::VREV8_V:
10777 case RISCV::VSEXT_VF2:
10778 case RISCV::VSEXT_VF4:
10779 case RISCV::VSEXT_VF8:
10780 case RISCV::VZEXT_VF2:
10781 case RISCV::VZEXT_VF4:
10782 case RISCV::VZEXT_VF8: {
10783 switch (OpNum) {
10784 case 0:
10785 // op: vd
10786 return 7;
10787 case 2:
10788 // op: vm
10789 return 25;
10790 case 1:
10791 // op: vs2
10792 return 20;
10793 }
10794 break;
10795 }
10796 case RISCV::VADD_VI:
10797 case RISCV::VAND_VI:
10798 case RISCV::VMSEQ_VI:
10799 case RISCV::VMSGTU_VI:
10800 case RISCV::VMSGT_VI:
10801 case RISCV::VMSLEU_VI:
10802 case RISCV::VMSLE_VI:
10803 case RISCV::VMSNE_VI:
10804 case RISCV::VNCLIPU_WI:
10805 case RISCV::VNCLIP_WI:
10806 case RISCV::VNSRA_WI:
10807 case RISCV::VNSRL_WI:
10808 case RISCV::VOR_VI:
10809 case RISCV::VRGATHER_VI:
10810 case RISCV::VROR_VI:
10811 case RISCV::VRSUB_VI:
10812 case RISCV::VSADDU_VI:
10813 case RISCV::VSADD_VI:
10814 case RISCV::VSLIDEDOWN_VI:
10815 case RISCV::VSLIDEUP_VI:
10816 case RISCV::VSLL_VI:
10817 case RISCV::VSRA_VI:
10818 case RISCV::VSRL_VI:
10819 case RISCV::VSSRA_VI:
10820 case RISCV::VSSRL_VI:
10821 case RISCV::VWSLL_VI:
10822 case RISCV::VXOR_VI: {
10823 switch (OpNum) {
10824 case 0:
10825 // op: vd
10826 return 7;
10827 case 3:
10828 // op: vm
10829 return 25;
10830 case 1:
10831 // op: vs2
10832 return 20;
10833 case 2:
10834 // op: imm
10835 return 15;
10836 }
10837 break;
10838 }
10839 case RISCV::SF_VFNRCLIP_XU_F_QF:
10840 case RISCV::SF_VFNRCLIP_X_F_QF:
10841 case RISCV::VAADDU_VX:
10842 case RISCV::VAADD_VX:
10843 case RISCV::VABDU_VX:
10844 case RISCV::VABD_VX:
10845 case RISCV::VADD_VX:
10846 case RISCV::VANDN_VX:
10847 case RISCV::VAND_VX:
10848 case RISCV::VASUBU_VX:
10849 case RISCV::VASUB_VX:
10850 case RISCV::VCLMULH_VX:
10851 case RISCV::VCLMUL_VX:
10852 case RISCV::VDIVU_VX:
10853 case RISCV::VDIV_VX:
10854 case RISCV::VFADD_VF:
10855 case RISCV::VFDIV_VF:
10856 case RISCV::VFMAX_VF:
10857 case RISCV::VFMIN_VF:
10858 case RISCV::VFMUL_VF:
10859 case RISCV::VFRDIV_VF:
10860 case RISCV::VFRSUB_VF:
10861 case RISCV::VFSGNJN_VF:
10862 case RISCV::VFSGNJX_VF:
10863 case RISCV::VFSGNJ_VF:
10864 case RISCV::VFSLIDE1DOWN_VF:
10865 case RISCV::VFSLIDE1UP_VF:
10866 case RISCV::VFSUB_VF:
10867 case RISCV::VFWADD_VF:
10868 case RISCV::VFWADD_WF:
10869 case RISCV::VFWMUL_VF:
10870 case RISCV::VFWSUB_VF:
10871 case RISCV::VFWSUB_WF:
10872 case RISCV::VMAXU_VX:
10873 case RISCV::VMAX_VX:
10874 case RISCV::VMFEQ_VF:
10875 case RISCV::VMFGE_VF:
10876 case RISCV::VMFGT_VF:
10877 case RISCV::VMFLE_VF:
10878 case RISCV::VMFLT_VF:
10879 case RISCV::VMFNE_VF:
10880 case RISCV::VMINU_VX:
10881 case RISCV::VMIN_VX:
10882 case RISCV::VMSEQ_VX:
10883 case RISCV::VMSGTU_VX:
10884 case RISCV::VMSGT_VX:
10885 case RISCV::VMSLEU_VX:
10886 case RISCV::VMSLE_VX:
10887 case RISCV::VMSLTU_VX:
10888 case RISCV::VMSLT_VX:
10889 case RISCV::VMSNE_VX:
10890 case RISCV::VMULHSU_VX:
10891 case RISCV::VMULHU_VX:
10892 case RISCV::VMULH_VX:
10893 case RISCV::VMUL_VX:
10894 case RISCV::VNCLIPU_WX:
10895 case RISCV::VNCLIP_WX:
10896 case RISCV::VNSRA_WX:
10897 case RISCV::VNSRL_WX:
10898 case RISCV::VOR_VX:
10899 case RISCV::VREMU_VX:
10900 case RISCV::VREM_VX:
10901 case RISCV::VRGATHER_VX:
10902 case RISCV::VROL_VX:
10903 case RISCV::VROR_VX:
10904 case RISCV::VRSUB_VX:
10905 case RISCV::VSADDU_VX:
10906 case RISCV::VSADD_VX:
10907 case RISCV::VSLIDE1DOWN_VX:
10908 case RISCV::VSLIDE1UP_VX:
10909 case RISCV::VSLIDEDOWN_VX:
10910 case RISCV::VSLIDEUP_VX:
10911 case RISCV::VSLL_VX:
10912 case RISCV::VSMUL_VX:
10913 case RISCV::VSRA_VX:
10914 case RISCV::VSRL_VX:
10915 case RISCV::VSSRA_VX:
10916 case RISCV::VSSRL_VX:
10917 case RISCV::VSSUBU_VX:
10918 case RISCV::VSSUB_VX:
10919 case RISCV::VSUB_VX:
10920 case RISCV::VWADDU_VX:
10921 case RISCV::VWADDU_WX:
10922 case RISCV::VWADD_VX:
10923 case RISCV::VWADD_WX:
10924 case RISCV::VWMULSU_VX:
10925 case RISCV::VWMULU_VX:
10926 case RISCV::VWMUL_VX:
10927 case RISCV::VWSLL_VX:
10928 case RISCV::VWSUBU_VX:
10929 case RISCV::VWSUBU_WX:
10930 case RISCV::VWSUB_VX:
10931 case RISCV::VWSUB_WX:
10932 case RISCV::VXOR_VX: {
10933 switch (OpNum) {
10934 case 0:
10935 // op: vd
10936 return 7;
10937 case 3:
10938 // op: vm
10939 return 25;
10940 case 1:
10941 // op: vs2
10942 return 20;
10943 case 2:
10944 // op: rs1
10945 return 15;
10946 }
10947 break;
10948 }
10949 case RISCV::VAADDU_VV:
10950 case RISCV::VAADD_VV:
10951 case RISCV::VABDU_VV:
10952 case RISCV::VABD_VV:
10953 case RISCV::VADD_VV:
10954 case RISCV::VANDN_VV:
10955 case RISCV::VAND_VV:
10956 case RISCV::VASUBU_VV:
10957 case RISCV::VASUB_VV:
10958 case RISCV::VCLMULH_VV:
10959 case RISCV::VCLMUL_VV:
10960 case RISCV::VDIVU_VV:
10961 case RISCV::VDIV_VV:
10962 case RISCV::VFADD_VV:
10963 case RISCV::VFDIV_VV:
10964 case RISCV::VFMAX_VV:
10965 case RISCV::VFMIN_VV:
10966 case RISCV::VFMUL_VV:
10967 case RISCV::VFREDMAX_VS:
10968 case RISCV::VFREDMIN_VS:
10969 case RISCV::VFREDOSUM_VS:
10970 case RISCV::VFREDUSUM_VS:
10971 case RISCV::VFSGNJN_VV:
10972 case RISCV::VFSGNJX_VV:
10973 case RISCV::VFSGNJ_VV:
10974 case RISCV::VFSUB_VV:
10975 case RISCV::VFWADD_VV:
10976 case RISCV::VFWADD_WV:
10977 case RISCV::VFWMUL_VV:
10978 case RISCV::VFWREDOSUM_VS:
10979 case RISCV::VFWREDUSUM_VS:
10980 case RISCV::VFWSUB_VV:
10981 case RISCV::VFWSUB_WV:
10982 case RISCV::VMAXU_VV:
10983 case RISCV::VMAX_VV:
10984 case RISCV::VMFEQ_VV:
10985 case RISCV::VMFLE_VV:
10986 case RISCV::VMFLT_VV:
10987 case RISCV::VMFNE_VV:
10988 case RISCV::VMINU_VV:
10989 case RISCV::VMIN_VV:
10990 case RISCV::VMSEQ_VV:
10991 case RISCV::VMSLEU_VV:
10992 case RISCV::VMSLE_VV:
10993 case RISCV::VMSLTU_VV:
10994 case RISCV::VMSLT_VV:
10995 case RISCV::VMSNE_VV:
10996 case RISCV::VMULHSU_VV:
10997 case RISCV::VMULHU_VV:
10998 case RISCV::VMULH_VV:
10999 case RISCV::VMUL_VV:
11000 case RISCV::VNCLIPU_WV:
11001 case RISCV::VNCLIP_WV:
11002 case RISCV::VNSRA_WV:
11003 case RISCV::VNSRL_WV:
11004 case RISCV::VOR_VV:
11005 case RISCV::VPAIRE_VV:
11006 case RISCV::VPAIRO_VV:
11007 case RISCV::VREDAND_VS:
11008 case RISCV::VREDMAXU_VS:
11009 case RISCV::VREDMAX_VS:
11010 case RISCV::VREDMINU_VS:
11011 case RISCV::VREDMIN_VS:
11012 case RISCV::VREDOR_VS:
11013 case RISCV::VREDSUM_VS:
11014 case RISCV::VREDXOR_VS:
11015 case RISCV::VREMU_VV:
11016 case RISCV::VREM_VV:
11017 case RISCV::VRGATHEREI16_VV:
11018 case RISCV::VRGATHER_VV:
11019 case RISCV::VROL_VV:
11020 case RISCV::VROR_VV:
11021 case RISCV::VSADDU_VV:
11022 case RISCV::VSADD_VV:
11023 case RISCV::VSLL_VV:
11024 case RISCV::VSMUL_VV:
11025 case RISCV::VSRA_VV:
11026 case RISCV::VSRL_VV:
11027 case RISCV::VSSRA_VV:
11028 case RISCV::VSSRL_VV:
11029 case RISCV::VSSUBU_VV:
11030 case RISCV::VSSUB_VV:
11031 case RISCV::VSUB_VV:
11032 case RISCV::VWADDU_VV:
11033 case RISCV::VWADDU_WV:
11034 case RISCV::VWADD_VV:
11035 case RISCV::VWADD_WV:
11036 case RISCV::VWMULSU_VV:
11037 case RISCV::VWMULU_VV:
11038 case RISCV::VWMUL_VV:
11039 case RISCV::VWREDSUMU_VS:
11040 case RISCV::VWREDSUM_VS:
11041 case RISCV::VWSLL_VV:
11042 case RISCV::VWSUBU_VV:
11043 case RISCV::VWSUBU_WV:
11044 case RISCV::VWSUB_VV:
11045 case RISCV::VWSUB_WV:
11046 case RISCV::VXOR_VV:
11047 case RISCV::VZIP_VV: {
11048 switch (OpNum) {
11049 case 0:
11050 // op: vd
11051 return 7;
11052 case 3:
11053 // op: vm
11054 return 25;
11055 case 1:
11056 // op: vs2
11057 return 20;
11058 case 2:
11059 // op: vs1
11060 return 15;
11061 }
11062 break;
11063 }
11064 case RISCV::VMTS_V:
11065 case RISCV::VMTTS_V: {
11066 switch (OpNum) {
11067 case 0:
11068 // op: vs3
11069 return 7;
11070 case 1:
11071 // op: rs1
11072 return 15;
11073 case 2:
11074 // op: rs2
11075 return 20;
11076 case 4:
11077 // op: vm
11078 return 25;
11079 case 3:
11080 // op: vlambda
11081 return 29;
11082 }
11083 break;
11084 }
11085 case RISCV::C_LI:
11086 case RISCV::C_LUI: {
11087 switch (OpNum) {
11088 case 1:
11089 // op: imm
11090 return 2;
11091 case 0:
11092 // op: rd
11093 return 7;
11094 }
11095 break;
11096 }
11097 case RISCV::C_BEQZ:
11098 case RISCV::C_BNEZ: {
11099 switch (OpNum) {
11100 case 1:
11101 // op: imm
11102 return 2;
11103 case 0:
11104 // op: rs1
11105 return 7;
11106 }
11107 break;
11108 }
11109 case RISCV::PREFETCH_I:
11110 case RISCV::PREFETCH_R:
11111 case RISCV::PREFETCH_W: {
11112 switch (OpNum) {
11113 case 1:
11114 // op: imm12
11115 return 25;
11116 case 0:
11117 // op: rs1
11118 return 15;
11119 }
11120 break;
11121 }
11122 case RISCV::AIF_FSQ2:
11123 case RISCV::AIF_FSW_PS: {
11124 switch (OpNum) {
11125 case 1:
11126 // op: imm12
11127 return 7;
11128 case 0:
11129 // op: rs2
11130 return 20;
11131 case 2:
11132 // op: rs1
11133 return 15;
11134 }
11135 break;
11136 }
11137 case RISCV::NDS_LDGP:
11138 case RISCV::NDS_LHGP:
11139 case RISCV::NDS_LHUGP:
11140 case RISCV::NDS_LWGP:
11141 case RISCV::NDS_LWUGP: {
11142 switch (OpNum) {
11143 case 1:
11144 // op: imm17
11145 return 15;
11146 case 0:
11147 // op: rd
11148 return 7;
11149 }
11150 break;
11151 }
11152 case RISCV::NDS_SDGP:
11153 case RISCV::NDS_SHGP:
11154 case RISCV::NDS_SWGP: {
11155 switch (OpNum) {
11156 case 1:
11157 // op: imm17
11158 return 7;
11159 case 0:
11160 // op: rs2
11161 return 20;
11162 }
11163 break;
11164 }
11165 case RISCV::NDS_ADDIGP:
11166 case RISCV::NDS_LBGP:
11167 case RISCV::NDS_LBUGP: {
11168 switch (OpNum) {
11169 case 1:
11170 // op: imm18
11171 return 14;
11172 case 0:
11173 // op: rd
11174 return 7;
11175 }
11176 break;
11177 }
11178 case RISCV::NDS_SBGP: {
11179 switch (OpNum) {
11180 case 1:
11181 // op: imm18
11182 return 7;
11183 case 0:
11184 // op: rs2
11185 return 20;
11186 }
11187 break;
11188 }
11189 case RISCV::AIF_FBCI_PI:
11190 case RISCV::AIF_FBCI_PS:
11191 case RISCV::AUIPC:
11192 case RISCV::JAL:
11193 case RISCV::LUI:
11194 case RISCV::QC_LI: {
11195 switch (OpNum) {
11196 case 1:
11197 // op: imm20
11198 return 12;
11199 case 0:
11200 // op: rd
11201 return 7;
11202 }
11203 break;
11204 }
11205 case RISCV::MIPS_PREF: {
11206 switch (OpNum) {
11207 case 1:
11208 // op: imm9
11209 return 20;
11210 case 0:
11211 // op: rs1
11212 return 15;
11213 case 2:
11214 // op: hint
11215 return 7;
11216 }
11217 break;
11218 }
11219 case RISCV::InsnQC_EAI: {
11220 switch (OpNum) {
11221 case 1:
11222 // op: opcode
11223 return 0;
11224 case 2:
11225 // op: func3
11226 return 12;
11227 case 3:
11228 // op: func1
11229 return 15;
11230 case 0:
11231 // op: rd
11232 return 7;
11233 case 4:
11234 // op: imm32
11235 return 16;
11236 }
11237 break;
11238 }
11239 case RISCV::InsnQC_EI:
11240 case RISCV::InsnQC_EI_Mem: {
11241 switch (OpNum) {
11242 case 1:
11243 // op: opcode
11244 return 0;
11245 case 2:
11246 // op: func3
11247 return 12;
11248 case 3:
11249 // op: func2
11250 return 30;
11251 case 0:
11252 // op: rd
11253 return 7;
11254 case 4:
11255 // op: rs1
11256 return 15;
11257 case 5:
11258 // op: imm26
11259 return 20;
11260 }
11261 break;
11262 }
11263 case RISCV::InsnI:
11264 case RISCV::InsnI_Mem: {
11265 switch (OpNum) {
11266 case 1:
11267 // op: opcode
11268 return 0;
11269 case 2:
11270 // op: funct3
11271 return 12;
11272 case 4:
11273 // op: imm12
11274 return 20;
11275 case 3:
11276 // op: rs1
11277 return 15;
11278 case 0:
11279 // op: rd
11280 return 7;
11281 }
11282 break;
11283 }
11284 case RISCV::InsnCI: {
11285 switch (OpNum) {
11286 case 1:
11287 // op: opcode
11288 return 0;
11289 case 2:
11290 // op: funct3
11291 return 13;
11292 case 3:
11293 // op: imm6
11294 return 2;
11295 case 0:
11296 // op: rd
11297 return 7;
11298 }
11299 break;
11300 }
11301 case RISCV::InsnCIW: {
11302 switch (OpNum) {
11303 case 1:
11304 // op: opcode
11305 return 0;
11306 case 2:
11307 // op: funct3
11308 return 13;
11309 case 3:
11310 // op: imm8
11311 return 5;
11312 case 0:
11313 // op: rd
11314 return 2;
11315 }
11316 break;
11317 }
11318 case RISCV::InsnCL: {
11319 switch (OpNum) {
11320 case 1:
11321 // op: opcode
11322 return 0;
11323 case 2:
11324 // op: funct3
11325 return 13;
11326 case 4:
11327 // op: imm5
11328 return 5;
11329 case 0:
11330 // op: rd
11331 return 2;
11332 case 3:
11333 // op: rs1
11334 return 7;
11335 }
11336 break;
11337 }
11338 case RISCV::InsnCR: {
11339 switch (OpNum) {
11340 case 1:
11341 // op: opcode
11342 return 0;
11343 case 2:
11344 // op: funct4
11345 return 12;
11346 case 3:
11347 // op: rs2
11348 return 2;
11349 case 0:
11350 // op: rd
11351 return 7;
11352 }
11353 break;
11354 }
11355 case RISCV::InsnCA: {
11356 switch (OpNum) {
11357 case 1:
11358 // op: opcode
11359 return 0;
11360 case 2:
11361 // op: funct6
11362 return 10;
11363 case 3:
11364 // op: funct2
11365 return 5;
11366 case 0:
11367 // op: rd
11368 return 7;
11369 case 4:
11370 // op: rs2
11371 return 2;
11372 }
11373 break;
11374 }
11375 case RISCV::InsnJ:
11376 case RISCV::InsnU: {
11377 switch (OpNum) {
11378 case 1:
11379 // op: opcode
11380 return 0;
11381 case 2:
11382 // op: imm20
11383 return 12;
11384 case 0:
11385 // op: rd
11386 return 7;
11387 }
11388 break;
11389 }
11390 case RISCV::InsnR4: {
11391 switch (OpNum) {
11392 case 1:
11393 // op: opcode
11394 return 0;
11395 case 3:
11396 // op: funct2
11397 return 25;
11398 case 2:
11399 // op: funct3
11400 return 12;
11401 case 6:
11402 // op: rs3
11403 return 27;
11404 case 5:
11405 // op: rs2
11406 return 20;
11407 case 4:
11408 // op: rs1
11409 return 15;
11410 case 0:
11411 // op: rd
11412 return 7;
11413 }
11414 break;
11415 }
11416 case RISCV::InsnR: {
11417 switch (OpNum) {
11418 case 1:
11419 // op: opcode
11420 return 0;
11421 case 3:
11422 // op: funct7
11423 return 25;
11424 case 2:
11425 // op: funct3
11426 return 12;
11427 case 5:
11428 // op: rs2
11429 return 20;
11430 case 4:
11431 // op: rs1
11432 return 15;
11433 case 0:
11434 // op: rd
11435 return 7;
11436 }
11437 break;
11438 }
11439 case RISCV::QC_C_MULIADD: {
11440 switch (OpNum) {
11441 case 1:
11442 // op: rd
11443 return 2;
11444 case 2:
11445 // op: rs1
11446 return 7;
11447 case 3:
11448 // op: uimm
11449 return 5;
11450 }
11451 break;
11452 }
11453 case RISCV::QC_C_MVEQZ: {
11454 switch (OpNum) {
11455 case 1:
11456 // op: rd
11457 return 2;
11458 case 2:
11459 // op: rs1
11460 return 7;
11461 }
11462 break;
11463 }
11464 case RISCV::QC_E_ADDAI:
11465 case RISCV::QC_E_ANDAI:
11466 case RISCV::QC_E_ORAI:
11467 case RISCV::QC_E_XORAI: {
11468 switch (OpNum) {
11469 case 1:
11470 // op: rd
11471 return 7;
11472 case 2:
11473 // op: imm
11474 return 16;
11475 }
11476 break;
11477 }
11478 case RISCV::QC_INSBI: {
11479 switch (OpNum) {
11480 case 1:
11481 // op: rd
11482 return 7;
11483 case 2:
11484 // op: imm5
11485 return 15;
11486 case 4:
11487 // op: shamt
11488 return 20;
11489 case 3:
11490 // op: width
11491 return 25;
11492 }
11493 break;
11494 }
11495 case RISCV::QC_C_EXTU: {
11496 switch (OpNum) {
11497 case 1:
11498 // op: rd
11499 return 7;
11500 case 2:
11501 // op: width
11502 return 2;
11503 }
11504 break;
11505 }
11506 case RISCV::C_NOT:
11507 case RISCV::C_SEXT_B:
11508 case RISCV::C_SEXT_H:
11509 case RISCV::C_ZEXT_B:
11510 case RISCV::C_ZEXT_H:
11511 case RISCV::C_ZEXT_W: {
11512 switch (OpNum) {
11513 case 1:
11514 // op: rd
11515 return 7;
11516 }
11517 break;
11518 }
11519 case RISCV::YBNDSWI: {
11520 switch (OpNum) {
11521 case 1:
11522 // op: rs1
11523 return 15;
11524 case 0:
11525 // op: rd
11526 return 7;
11527 case 2:
11528 // op: imm
11529 return 20;
11530 }
11531 break;
11532 }
11533 case RISCV::QC_WRAPI: {
11534 switch (OpNum) {
11535 case 1:
11536 // op: rs1
11537 return 15;
11538 case 0:
11539 // op: rd
11540 return 7;
11541 case 2:
11542 // op: imm11
11543 return 20;
11544 }
11545 break;
11546 }
11547 case RISCV::ADDI:
11548 case RISCV::ADDIW:
11549 case RISCV::ANDI:
11550 case RISCV::CV_ELW:
11551 case RISCV::FLD:
11552 case RISCV::FLH:
11553 case RISCV::FLQ:
11554 case RISCV::FLW:
11555 case RISCV::JALR:
11556 case RISCV::LB:
11557 case RISCV::LBU:
11558 case RISCV::LD:
11559 case RISCV::LD_RV32:
11560 case RISCV::LH:
11561 case RISCV::LHU:
11562 case RISCV::LH_INX:
11563 case RISCV::LW:
11564 case RISCV::LWU:
11565 case RISCV::LW_INX:
11566 case RISCV::ORI:
11567 case RISCV::SLTI:
11568 case RISCV::SLTIU:
11569 case RISCV::XORI:
11570 case RISCV::YADDI: {
11571 switch (OpNum) {
11572 case 1:
11573 // op: rs1
11574 return 15;
11575 case 0:
11576 // op: rd
11577 return 7;
11578 case 2:
11579 // op: imm12
11580 return 20;
11581 }
11582 break;
11583 }
11584 case RISCV::QC_INW: {
11585 switch (OpNum) {
11586 case 1:
11587 // op: rs1
11588 return 15;
11589 case 0:
11590 // op: rd
11591 return 7;
11592 case 2:
11593 // op: imm14
11594 return 20;
11595 }
11596 break;
11597 }
11598 case RISCV::CV_CLIP:
11599 case RISCV::CV_CLIPU: {
11600 switch (OpNum) {
11601 case 1:
11602 // op: rs1
11603 return 15;
11604 case 0:
11605 // op: rd
11606 return 7;
11607 case 2:
11608 // op: imm5
11609 return 20;
11610 }
11611 break;
11612 }
11613 case RISCV::CV_ADD_SCI_B:
11614 case RISCV::CV_ADD_SCI_H:
11615 case RISCV::CV_AND_SCI_B:
11616 case RISCV::CV_AND_SCI_H:
11617 case RISCV::CV_AVGU_SCI_B:
11618 case RISCV::CV_AVGU_SCI_H:
11619 case RISCV::CV_AVG_SCI_B:
11620 case RISCV::CV_AVG_SCI_H:
11621 case RISCV::CV_CMPEQ_SCI_B:
11622 case RISCV::CV_CMPEQ_SCI_H:
11623 case RISCV::CV_CMPGEU_SCI_B:
11624 case RISCV::CV_CMPGEU_SCI_H:
11625 case RISCV::CV_CMPGE_SCI_B:
11626 case RISCV::CV_CMPGE_SCI_H:
11627 case RISCV::CV_CMPGTU_SCI_B:
11628 case RISCV::CV_CMPGTU_SCI_H:
11629 case RISCV::CV_CMPGT_SCI_B:
11630 case RISCV::CV_CMPGT_SCI_H:
11631 case RISCV::CV_CMPLEU_SCI_B:
11632 case RISCV::CV_CMPLEU_SCI_H:
11633 case RISCV::CV_CMPLE_SCI_B:
11634 case RISCV::CV_CMPLE_SCI_H:
11635 case RISCV::CV_CMPLTU_SCI_B:
11636 case RISCV::CV_CMPLTU_SCI_H:
11637 case RISCV::CV_CMPLT_SCI_B:
11638 case RISCV::CV_CMPLT_SCI_H:
11639 case RISCV::CV_CMPNE_SCI_B:
11640 case RISCV::CV_CMPNE_SCI_H:
11641 case RISCV::CV_DOTSP_SCI_B:
11642 case RISCV::CV_DOTSP_SCI_H:
11643 case RISCV::CV_DOTUP_SCI_B:
11644 case RISCV::CV_DOTUP_SCI_H:
11645 case RISCV::CV_DOTUSP_SCI_B:
11646 case RISCV::CV_DOTUSP_SCI_H:
11647 case RISCV::CV_EXTRACTU_B:
11648 case RISCV::CV_EXTRACTU_H:
11649 case RISCV::CV_EXTRACT_B:
11650 case RISCV::CV_EXTRACT_H:
11651 case RISCV::CV_MAXU_SCI_B:
11652 case RISCV::CV_MAXU_SCI_H:
11653 case RISCV::CV_MAX_SCI_B:
11654 case RISCV::CV_MAX_SCI_H:
11655 case RISCV::CV_MINU_SCI_B:
11656 case RISCV::CV_MINU_SCI_H:
11657 case RISCV::CV_MIN_SCI_B:
11658 case RISCV::CV_MIN_SCI_H:
11659 case RISCV::CV_OR_SCI_B:
11660 case RISCV::CV_OR_SCI_H:
11661 case RISCV::CV_SHUFFLEI0_SCI_B:
11662 case RISCV::CV_SHUFFLEI1_SCI_B:
11663 case RISCV::CV_SHUFFLEI2_SCI_B:
11664 case RISCV::CV_SHUFFLEI3_SCI_B:
11665 case RISCV::CV_SHUFFLE_SCI_H:
11666 case RISCV::CV_SLL_SCI_B:
11667 case RISCV::CV_SLL_SCI_H:
11668 case RISCV::CV_SRA_SCI_B:
11669 case RISCV::CV_SRA_SCI_H:
11670 case RISCV::CV_SRL_SCI_B:
11671 case RISCV::CV_SRL_SCI_H:
11672 case RISCV::CV_SUB_SCI_B:
11673 case RISCV::CV_SUB_SCI_H:
11674 case RISCV::CV_XOR_SCI_B:
11675 case RISCV::CV_XOR_SCI_H: {
11676 switch (OpNum) {
11677 case 1:
11678 // op: rs1
11679 return 15;
11680 case 0:
11681 // op: rd
11682 return 7;
11683 case 2:
11684 // op: imm6
11685 return 20;
11686 }
11687 break;
11688 }
11689 case RISCV::CV_BCLR:
11690 case RISCV::CV_BITREV:
11691 case RISCV::CV_BSET:
11692 case RISCV::CV_EXTRACT:
11693 case RISCV::CV_EXTRACTU: {
11694 switch (OpNum) {
11695 case 1:
11696 // op: rs1
11697 return 15;
11698 case 0:
11699 // op: rd
11700 return 7;
11701 case 2:
11702 // op: is3
11703 return 25;
11704 case 3:
11705 // op: is2
11706 return 20;
11707 }
11708 break;
11709 }
11710 case RISCV::TH_EXT:
11711 case RISCV::TH_EXTU: {
11712 switch (OpNum) {
11713 case 1:
11714 // op: rs1
11715 return 15;
11716 case 0:
11717 // op: rd
11718 return 7;
11719 case 2:
11720 // op: msb
11721 return 26;
11722 case 3:
11723 // op: lsb
11724 return 20;
11725 }
11726 break;
11727 }
11728 case RISCV::AES64KS1I: {
11729 switch (OpNum) {
11730 case 1:
11731 // op: rs1
11732 return 15;
11733 case 0:
11734 // op: rd
11735 return 7;
11736 case 2:
11737 // op: rnum
11738 return 20;
11739 }
11740 break;
11741 }
11742 case RISCV::BCLRI:
11743 case RISCV::BEXTI:
11744 case RISCV::BINVI:
11745 case RISCV::BSETI:
11746 case RISCV::PSATI_H:
11747 case RISCV::PSATI_W:
11748 case RISCV::PSLLI_B:
11749 case RISCV::PSLLI_H:
11750 case RISCV::PSLLI_W:
11751 case RISCV::PSRAI_B:
11752 case RISCV::PSRAI_H:
11753 case RISCV::PSRAI_W:
11754 case RISCV::PSRARI_H:
11755 case RISCV::PSRARI_W:
11756 case RISCV::PSRLI_B:
11757 case RISCV::PSRLI_H:
11758 case RISCV::PSRLI_W:
11759 case RISCV::PSSLAI_H:
11760 case RISCV::PSSLAI_W:
11761 case RISCV::PUSATI_H:
11762 case RISCV::PUSATI_W:
11763 case RISCV::RORI:
11764 case RISCV::RORIW:
11765 case RISCV::SATI_RV32:
11766 case RISCV::SATI_RV64:
11767 case RISCV::SLLI:
11768 case RISCV::SLLIW:
11769 case RISCV::SLLI_UW:
11770 case RISCV::SRAI:
11771 case RISCV::SRAIW:
11772 case RISCV::SRARI_RV32:
11773 case RISCV::SRARI_RV64:
11774 case RISCV::SRLI:
11775 case RISCV::SRLIW:
11776 case RISCV::SRLIY:
11777 case RISCV::SSLAI:
11778 case RISCV::TH_SRRI:
11779 case RISCV::TH_SRRIW:
11780 case RISCV::TH_TST:
11781 case RISCV::USATI_RV32:
11782 case RISCV::USATI_RV64: {
11783 switch (OpNum) {
11784 case 1:
11785 // op: rs1
11786 return 15;
11787 case 0:
11788 // op: rd
11789 return 7;
11790 case 2:
11791 // op: shamt
11792 return 20;
11793 }
11794 break;
11795 }
11796 case RISCV::VSETVLI: {
11797 switch (OpNum) {
11798 case 1:
11799 // op: rs1
11800 return 15;
11801 case 0:
11802 // op: rd
11803 return 7;
11804 case 2:
11805 // op: vtypei
11806 return 20;
11807 }
11808 break;
11809 }
11810 case RISCV::QC_EXT:
11811 case RISCV::QC_EXTD:
11812 case RISCV::QC_EXTDU:
11813 case RISCV::QC_EXTU: {
11814 switch (OpNum) {
11815 case 1:
11816 // op: rs1
11817 return 15;
11818 case 0:
11819 // op: rd
11820 return 7;
11821 case 3:
11822 // op: shamt
11823 return 20;
11824 case 2:
11825 // op: width
11826 return 25;
11827 }
11828 break;
11829 }
11830 case RISCV::ABS:
11831 case RISCV::ABSW:
11832 case RISCV::AES64IM:
11833 case RISCV::AIF_FBCX_PS:
11834 case RISCV::AIF_FCLASS_PS:
11835 case RISCV::AIF_FCVT_F10_PS:
11836 case RISCV::AIF_FCVT_F11_PS:
11837 case RISCV::AIF_FCVT_F16_PS:
11838 case RISCV::AIF_FCVT_PS_F10:
11839 case RISCV::AIF_FCVT_PS_F11:
11840 case RISCV::AIF_FCVT_PS_F16:
11841 case RISCV::AIF_FCVT_PS_RAST:
11842 case RISCV::AIF_FCVT_PS_SN16:
11843 case RISCV::AIF_FCVT_PS_SN8:
11844 case RISCV::AIF_FCVT_PS_UN10:
11845 case RISCV::AIF_FCVT_PS_UN16:
11846 case RISCV::AIF_FCVT_PS_UN2:
11847 case RISCV::AIF_FCVT_PS_UN24:
11848 case RISCV::AIF_FCVT_PS_UN8:
11849 case RISCV::AIF_FCVT_RAST_PS:
11850 case RISCV::AIF_FCVT_SN16_PS:
11851 case RISCV::AIF_FCVT_SN8_PS:
11852 case RISCV::AIF_FCVT_UN10_PS:
11853 case RISCV::AIF_FCVT_UN16_PS:
11854 case RISCV::AIF_FCVT_UN24_PS:
11855 case RISCV::AIF_FCVT_UN2_PS:
11856 case RISCV::AIF_FCVT_UN8_PS:
11857 case RISCV::AIF_FEXP_PS:
11858 case RISCV::AIF_FFRC_PS:
11859 case RISCV::AIF_FLOG_PS:
11860 case RISCV::AIF_FLWG_PS:
11861 case RISCV::AIF_FLWL_PS:
11862 case RISCV::AIF_FNOT_PI:
11863 case RISCV::AIF_FPACKREPB_PI:
11864 case RISCV::AIF_FPACKREPH_PI:
11865 case RISCV::AIF_FRCP_PS:
11866 case RISCV::AIF_FRSQ_PS:
11867 case RISCV::AIF_FSAT8_PI:
11868 case RISCV::AIF_FSATU8_PI:
11869 case RISCV::AIF_FSETM_PI:
11870 case RISCV::AIF_FSIN_PS:
11871 case RISCV::AIF_FSQRT_PS:
11872 case RISCV::AIF_MASKNOT:
11873 case RISCV::AIF_MASKPOPC:
11874 case RISCV::AIF_MASKPOPCZ:
11875 case RISCV::BREV8:
11876 case RISCV::CLS:
11877 case RISCV::CLSW:
11878 case RISCV::CLZ:
11879 case RISCV::CLZW:
11880 case RISCV::CPOP:
11881 case RISCV::CPOPW:
11882 case RISCV::CTZ:
11883 case RISCV::CTZW:
11884 case RISCV::CV_ABS:
11885 case RISCV::CV_ABS_B:
11886 case RISCV::CV_ABS_H:
11887 case RISCV::CV_CLB:
11888 case RISCV::CV_CNT:
11889 case RISCV::CV_CPLXCONJ:
11890 case RISCV::CV_EXTBS:
11891 case RISCV::CV_EXTBZ:
11892 case RISCV::CV_EXTHS:
11893 case RISCV::CV_EXTHZ:
11894 case RISCV::CV_FF1:
11895 case RISCV::CV_FL1:
11896 case RISCV::FCLASS_D:
11897 case RISCV::FCLASS_D_IN32X:
11898 case RISCV::FCLASS_D_INX:
11899 case RISCV::FCLASS_H:
11900 case RISCV::FCLASS_H_INX:
11901 case RISCV::FCLASS_Q:
11902 case RISCV::FCLASS_S:
11903 case RISCV::FCLASS_S_INX:
11904 case RISCV::FCVTMOD_W_D:
11905 case RISCV::FMVH_X_D:
11906 case RISCV::FMVH_X_Q:
11907 case RISCV::FMV_D_X:
11908 case RISCV::FMV_H_X:
11909 case RISCV::FMV_W_X:
11910 case RISCV::FMV_X_D:
11911 case RISCV::FMV_X_H:
11912 case RISCV::FMV_X_W:
11913 case RISCV::FMV_X_W_FPR64:
11914 case RISCV::HLVX_HU:
11915 case RISCV::HLVX_WU:
11916 case RISCV::HLV_B:
11917 case RISCV::HLV_BU:
11918 case RISCV::HLV_D:
11919 case RISCV::HLV_H:
11920 case RISCV::HLV_HU:
11921 case RISCV::HLV_W:
11922 case RISCV::HLV_WU:
11923 case RISCV::LB_AQ:
11924 case RISCV::LB_AQRL:
11925 case RISCV::LD_AQ:
11926 case RISCV::LD_AQRL:
11927 case RISCV::LH_AQ:
11928 case RISCV::LH_AQRL:
11929 case RISCV::LR_D:
11930 case RISCV::LR_D_AQ:
11931 case RISCV::LR_D_AQRL:
11932 case RISCV::LR_D_RL:
11933 case RISCV::LR_W:
11934 case RISCV::LR_W_AQ:
11935 case RISCV::LR_W_AQRL:
11936 case RISCV::LR_W_RL:
11937 case RISCV::LW_AQ:
11938 case RISCV::LW_AQRL:
11939 case RISCV::MCSPSPOP:
11940 case RISCV::MCSPSPUSH:
11941 case RISCV::MOP_R_0:
11942 case RISCV::MOP_R_1:
11943 case RISCV::MOP_R_10:
11944 case RISCV::MOP_R_11:
11945 case RISCV::MOP_R_12:
11946 case RISCV::MOP_R_13:
11947 case RISCV::MOP_R_14:
11948 case RISCV::MOP_R_15:
11949 case RISCV::MOP_R_16:
11950 case RISCV::MOP_R_17:
11951 case RISCV::MOP_R_18:
11952 case RISCV::MOP_R_19:
11953 case RISCV::MOP_R_2:
11954 case RISCV::MOP_R_20:
11955 case RISCV::MOP_R_21:
11956 case RISCV::MOP_R_22:
11957 case RISCV::MOP_R_23:
11958 case RISCV::MOP_R_24:
11959 case RISCV::MOP_R_25:
11960 case RISCV::MOP_R_26:
11961 case RISCV::MOP_R_27:
11962 case RISCV::MOP_R_28:
11963 case RISCV::MOP_R_29:
11964 case RISCV::MOP_R_3:
11965 case RISCV::MOP_R_30:
11966 case RISCV::MOP_R_31:
11967 case RISCV::MOP_R_4:
11968 case RISCV::MOP_R_5:
11969 case RISCV::MOP_R_6:
11970 case RISCV::MOP_R_7:
11971 case RISCV::MOP_R_8:
11972 case RISCV::MOP_R_9:
11973 case RISCV::NDS_FMV_BF16_X:
11974 case RISCV::NDS_FMV_X_BF16:
11975 case RISCV::ORC_B:
11976 case RISCV::PSABS_B:
11977 case RISCV::PSABS_H:
11978 case RISCV::PSEXT_H_B:
11979 case RISCV::PSEXT_W_B:
11980 case RISCV::PSEXT_W_H:
11981 case RISCV::QC_BREV32:
11982 case RISCV::QC_CLO:
11983 case RISCV::QC_COMPRESS2:
11984 case RISCV::QC_COMPRESS3:
11985 case RISCV::QC_CTO:
11986 case RISCV::QC_EXPAND2:
11987 case RISCV::QC_EXPAND3:
11988 case RISCV::QC_NORM:
11989 case RISCV::QC_NORMEU:
11990 case RISCV::QC_NORMU:
11991 case RISCV::REV16_RV64:
11992 case RISCV::REV8_RV32:
11993 case RISCV::REV8_RV64:
11994 case RISCV::REV_RV32:
11995 case RISCV::REV_RV64:
11996 case RISCV::SCSPSPOP:
11997 case RISCV::SCSPSPUSH:
11998 case RISCV::SEXT_B:
11999 case RISCV::SEXT_H:
12000 case RISCV::SF_VSETTK:
12001 case RISCV::SF_VSETTM:
12002 case RISCV::SF_VSETTN:
12003 case RISCV::SHA256SIG0:
12004 case RISCV::SHA256SIG1:
12005 case RISCV::SHA256SUM0:
12006 case RISCV::SHA256SUM1:
12007 case RISCV::SHA512SIG0:
12008 case RISCV::SHA512SIG1:
12009 case RISCV::SHA512SUM0:
12010 case RISCV::SHA512SUM1:
12011 case RISCV::SM3P0:
12012 case RISCV::SM3P1:
12013 case RISCV::TH_FF0:
12014 case RISCV::TH_FF1:
12015 case RISCV::TH_REV:
12016 case RISCV::TH_REVW:
12017 case RISCV::TH_TSTNBZ:
12018 case RISCV::UNZIP_RV32:
12019 case RISCV::YAMASK:
12020 case RISCV::YBASER:
12021 case RISCV::YLENR:
12022 case RISCV::YMV:
12023 case RISCV::YPERMR:
12024 case RISCV::YTAGR:
12025 case RISCV::YTOPR:
12026 case RISCV::YTYPER:
12027 case RISCV::ZEXT_H_RV32:
12028 case RISCV::ZEXT_H_RV64:
12029 case RISCV::ZIP_RV32: {
12030 switch (OpNum) {
12031 case 1:
12032 // op: rs1
12033 return 15;
12034 case 0:
12035 // op: rd
12036 return 7;
12037 }
12038 break;
12039 }
12040 case RISCV::PWSLAI_B:
12041 case RISCV::PWSLAI_H:
12042 case RISCV::PWSLLI_B:
12043 case RISCV::PWSLLI_H:
12044 case RISCV::WSLAI:
12045 case RISCV::WSLLI: {
12046 switch (OpNum) {
12047 case 1:
12048 // op: rs1
12049 return 15;
12050 case 0:
12051 // op: rd
12052 return 8;
12053 case 2:
12054 // op: shamt
12055 return 20;
12056 }
12057 break;
12058 }
12059 case RISCV::QC_E_SB:
12060 case RISCV::QC_E_SH:
12061 case RISCV::QC_E_SW: {
12062 switch (OpNum) {
12063 case 1:
12064 // op: rs1
12065 return 15;
12066 case 0:
12067 // op: rs2
12068 return 20;
12069 case 2:
12070 // op: imm
12071 return 7;
12072 }
12073 break;
12074 }
12075 case RISCV::CV_SB_rr:
12076 case RISCV::CV_SH_rr:
12077 case RISCV::CV_SW_rr: {
12078 switch (OpNum) {
12079 case 1:
12080 // op: rs1
12081 return 15;
12082 case 0:
12083 // op: rs2
12084 return 20;
12085 case 2:
12086 // op: rs3
12087 return 7;
12088 }
12089 break;
12090 }
12091 case RISCV::QC_OUTW: {
12092 switch (OpNum) {
12093 case 1:
12094 // op: rs1
12095 return 15;
12096 case 0:
12097 // op: rs2
12098 return 7;
12099 case 2:
12100 // op: imm14
12101 return 20;
12102 }
12103 break;
12104 }
12105 case RISCV::NDS_VLN8_V:
12106 case RISCV::NDS_VLNU8_V:
12107 case RISCV::VLE16FF_V:
12108 case RISCV::VLE16_V:
12109 case RISCV::VLE32FF_V:
12110 case RISCV::VLE32_V:
12111 case RISCV::VLE64FF_V:
12112 case RISCV::VLE64_V:
12113 case RISCV::VLE8FF_V:
12114 case RISCV::VLE8_V:
12115 case RISCV::VLSEG2E16FF_V:
12116 case RISCV::VLSEG2E16_V:
12117 case RISCV::VLSEG2E32FF_V:
12118 case RISCV::VLSEG2E32_V:
12119 case RISCV::VLSEG2E64FF_V:
12120 case RISCV::VLSEG2E64_V:
12121 case RISCV::VLSEG2E8FF_V:
12122 case RISCV::VLSEG2E8_V:
12123 case RISCV::VLSEG3E16FF_V:
12124 case RISCV::VLSEG3E16_V:
12125 case RISCV::VLSEG3E32FF_V:
12126 case RISCV::VLSEG3E32_V:
12127 case RISCV::VLSEG3E64FF_V:
12128 case RISCV::VLSEG3E64_V:
12129 case RISCV::VLSEG3E8FF_V:
12130 case RISCV::VLSEG3E8_V:
12131 case RISCV::VLSEG4E16FF_V:
12132 case RISCV::VLSEG4E16_V:
12133 case RISCV::VLSEG4E32FF_V:
12134 case RISCV::VLSEG4E32_V:
12135 case RISCV::VLSEG4E64FF_V:
12136 case RISCV::VLSEG4E64_V:
12137 case RISCV::VLSEG4E8FF_V:
12138 case RISCV::VLSEG4E8_V:
12139 case RISCV::VLSEG5E16FF_V:
12140 case RISCV::VLSEG5E16_V:
12141 case RISCV::VLSEG5E32FF_V:
12142 case RISCV::VLSEG5E32_V:
12143 case RISCV::VLSEG5E64FF_V:
12144 case RISCV::VLSEG5E64_V:
12145 case RISCV::VLSEG5E8FF_V:
12146 case RISCV::VLSEG5E8_V:
12147 case RISCV::VLSEG6E16FF_V:
12148 case RISCV::VLSEG6E16_V:
12149 case RISCV::VLSEG6E32FF_V:
12150 case RISCV::VLSEG6E32_V:
12151 case RISCV::VLSEG6E64FF_V:
12152 case RISCV::VLSEG6E64_V:
12153 case RISCV::VLSEG6E8FF_V:
12154 case RISCV::VLSEG6E8_V:
12155 case RISCV::VLSEG7E16FF_V:
12156 case RISCV::VLSEG7E16_V:
12157 case RISCV::VLSEG7E32FF_V:
12158 case RISCV::VLSEG7E32_V:
12159 case RISCV::VLSEG7E64FF_V:
12160 case RISCV::VLSEG7E64_V:
12161 case RISCV::VLSEG7E8FF_V:
12162 case RISCV::VLSEG7E8_V:
12163 case RISCV::VLSEG8E16FF_V:
12164 case RISCV::VLSEG8E16_V:
12165 case RISCV::VLSEG8E32FF_V:
12166 case RISCV::VLSEG8E32_V:
12167 case RISCV::VLSEG8E64FF_V:
12168 case RISCV::VLSEG8E64_V:
12169 case RISCV::VLSEG8E8FF_V:
12170 case RISCV::VLSEG8E8_V: {
12171 switch (OpNum) {
12172 case 1:
12173 // op: rs1
12174 return 15;
12175 case 0:
12176 // op: vd
12177 return 7;
12178 case 2:
12179 // op: vm
12180 return 25;
12181 }
12182 break;
12183 }
12184 case RISCV::VLSE16_V:
12185 case RISCV::VLSE32_V:
12186 case RISCV::VLSE64_V:
12187 case RISCV::VLSE8_V:
12188 case RISCV::VLSSEG2E16_V:
12189 case RISCV::VLSSEG2E32_V:
12190 case RISCV::VLSSEG2E64_V:
12191 case RISCV::VLSSEG2E8_V:
12192 case RISCV::VLSSEG3E16_V:
12193 case RISCV::VLSSEG3E32_V:
12194 case RISCV::VLSSEG3E64_V:
12195 case RISCV::VLSSEG3E8_V:
12196 case RISCV::VLSSEG4E16_V:
12197 case RISCV::VLSSEG4E32_V:
12198 case RISCV::VLSSEG4E64_V:
12199 case RISCV::VLSSEG4E8_V:
12200 case RISCV::VLSSEG5E16_V:
12201 case RISCV::VLSSEG5E32_V:
12202 case RISCV::VLSSEG5E64_V:
12203 case RISCV::VLSSEG5E8_V:
12204 case RISCV::VLSSEG6E16_V:
12205 case RISCV::VLSSEG6E32_V:
12206 case RISCV::VLSSEG6E64_V:
12207 case RISCV::VLSSEG6E8_V:
12208 case RISCV::VLSSEG7E16_V:
12209 case RISCV::VLSSEG7E32_V:
12210 case RISCV::VLSSEG7E64_V:
12211 case RISCV::VLSSEG7E8_V:
12212 case RISCV::VLSSEG8E16_V:
12213 case RISCV::VLSSEG8E32_V:
12214 case RISCV::VLSSEG8E64_V:
12215 case RISCV::VLSSEG8E8_V: {
12216 switch (OpNum) {
12217 case 1:
12218 // op: rs1
12219 return 15;
12220 case 0:
12221 // op: vd
12222 return 7;
12223 case 3:
12224 // op: vm
12225 return 25;
12226 case 2:
12227 // op: rs2
12228 return 20;
12229 }
12230 break;
12231 }
12232 case RISCV::VLOXEI16_V:
12233 case RISCV::VLOXEI32_V:
12234 case RISCV::VLOXEI64_V:
12235 case RISCV::VLOXEI8_V:
12236 case RISCV::VLOXSEG2EI16_V:
12237 case RISCV::VLOXSEG2EI32_V:
12238 case RISCV::VLOXSEG2EI64_V:
12239 case RISCV::VLOXSEG2EI8_V:
12240 case RISCV::VLOXSEG3EI16_V:
12241 case RISCV::VLOXSEG3EI32_V:
12242 case RISCV::VLOXSEG3EI64_V:
12243 case RISCV::VLOXSEG3EI8_V:
12244 case RISCV::VLOXSEG4EI16_V:
12245 case RISCV::VLOXSEG4EI32_V:
12246 case RISCV::VLOXSEG4EI64_V:
12247 case RISCV::VLOXSEG4EI8_V:
12248 case RISCV::VLOXSEG5EI16_V:
12249 case RISCV::VLOXSEG5EI32_V:
12250 case RISCV::VLOXSEG5EI64_V:
12251 case RISCV::VLOXSEG5EI8_V:
12252 case RISCV::VLOXSEG6EI16_V:
12253 case RISCV::VLOXSEG6EI32_V:
12254 case RISCV::VLOXSEG6EI64_V:
12255 case RISCV::VLOXSEG6EI8_V:
12256 case RISCV::VLOXSEG7EI16_V:
12257 case RISCV::VLOXSEG7EI32_V:
12258 case RISCV::VLOXSEG7EI64_V:
12259 case RISCV::VLOXSEG7EI8_V:
12260 case RISCV::VLOXSEG8EI16_V:
12261 case RISCV::VLOXSEG8EI32_V:
12262 case RISCV::VLOXSEG8EI64_V:
12263 case RISCV::VLOXSEG8EI8_V:
12264 case RISCV::VLUXEI16_V:
12265 case RISCV::VLUXEI32_V:
12266 case RISCV::VLUXEI64_V:
12267 case RISCV::VLUXEI8_V:
12268 case RISCV::VLUXSEG2EI16_V:
12269 case RISCV::VLUXSEG2EI32_V:
12270 case RISCV::VLUXSEG2EI64_V:
12271 case RISCV::VLUXSEG2EI8_V:
12272 case RISCV::VLUXSEG3EI16_V:
12273 case RISCV::VLUXSEG3EI32_V:
12274 case RISCV::VLUXSEG3EI64_V:
12275 case RISCV::VLUXSEG3EI8_V:
12276 case RISCV::VLUXSEG4EI16_V:
12277 case RISCV::VLUXSEG4EI32_V:
12278 case RISCV::VLUXSEG4EI64_V:
12279 case RISCV::VLUXSEG4EI8_V:
12280 case RISCV::VLUXSEG5EI16_V:
12281 case RISCV::VLUXSEG5EI32_V:
12282 case RISCV::VLUXSEG5EI64_V:
12283 case RISCV::VLUXSEG5EI8_V:
12284 case RISCV::VLUXSEG6EI16_V:
12285 case RISCV::VLUXSEG6EI32_V:
12286 case RISCV::VLUXSEG6EI64_V:
12287 case RISCV::VLUXSEG6EI8_V:
12288 case RISCV::VLUXSEG7EI16_V:
12289 case RISCV::VLUXSEG7EI32_V:
12290 case RISCV::VLUXSEG7EI64_V:
12291 case RISCV::VLUXSEG7EI8_V:
12292 case RISCV::VLUXSEG8EI16_V:
12293 case RISCV::VLUXSEG8EI32_V:
12294 case RISCV::VLUXSEG8EI64_V:
12295 case RISCV::VLUXSEG8EI8_V: {
12296 switch (OpNum) {
12297 case 1:
12298 // op: rs1
12299 return 15;
12300 case 0:
12301 // op: vd
12302 return 7;
12303 case 3:
12304 // op: vm
12305 return 25;
12306 case 2:
12307 // op: vs2
12308 return 20;
12309 }
12310 break;
12311 }
12312 case RISCV::NDS_VLE4_V:
12313 case RISCV::SF_VTMV_V_T:
12314 case RISCV::VL1RE16_V:
12315 case RISCV::VL1RE32_V:
12316 case RISCV::VL1RE64_V:
12317 case RISCV::VL1RE8_V:
12318 case RISCV::VL2RE16_V:
12319 case RISCV::VL2RE32_V:
12320 case RISCV::VL2RE64_V:
12321 case RISCV::VL2RE8_V:
12322 case RISCV::VL4RE16_V:
12323 case RISCV::VL4RE32_V:
12324 case RISCV::VL4RE64_V:
12325 case RISCV::VL4RE8_V:
12326 case RISCV::VL8RE16_V:
12327 case RISCV::VL8RE32_V:
12328 case RISCV::VL8RE64_V:
12329 case RISCV::VL8RE8_V:
12330 case RISCV::VLM_V: {
12331 switch (OpNum) {
12332 case 1:
12333 // op: rs1
12334 return 15;
12335 case 0:
12336 // op: vd
12337 return 7;
12338 }
12339 break;
12340 }
12341 case RISCV::VSE16_V:
12342 case RISCV::VSE32_V:
12343 case RISCV::VSE64_V:
12344 case RISCV::VSE8_V:
12345 case RISCV::VSSEG2E16_V:
12346 case RISCV::VSSEG2E32_V:
12347 case RISCV::VSSEG2E64_V:
12348 case RISCV::VSSEG2E8_V:
12349 case RISCV::VSSEG3E16_V:
12350 case RISCV::VSSEG3E32_V:
12351 case RISCV::VSSEG3E64_V:
12352 case RISCV::VSSEG3E8_V:
12353 case RISCV::VSSEG4E16_V:
12354 case RISCV::VSSEG4E32_V:
12355 case RISCV::VSSEG4E64_V:
12356 case RISCV::VSSEG4E8_V:
12357 case RISCV::VSSEG5E16_V:
12358 case RISCV::VSSEG5E32_V:
12359 case RISCV::VSSEG5E64_V:
12360 case RISCV::VSSEG5E8_V:
12361 case RISCV::VSSEG6E16_V:
12362 case RISCV::VSSEG6E32_V:
12363 case RISCV::VSSEG6E64_V:
12364 case RISCV::VSSEG6E8_V:
12365 case RISCV::VSSEG7E16_V:
12366 case RISCV::VSSEG7E32_V:
12367 case RISCV::VSSEG7E64_V:
12368 case RISCV::VSSEG7E8_V:
12369 case RISCV::VSSEG8E16_V:
12370 case RISCV::VSSEG8E32_V:
12371 case RISCV::VSSEG8E64_V:
12372 case RISCV::VSSEG8E8_V: {
12373 switch (OpNum) {
12374 case 1:
12375 // op: rs1
12376 return 15;
12377 case 0:
12378 // op: vs3
12379 return 7;
12380 case 2:
12381 // op: vm
12382 return 25;
12383 }
12384 break;
12385 }
12386 case RISCV::VSSE16_V:
12387 case RISCV::VSSE32_V:
12388 case RISCV::VSSE64_V:
12389 case RISCV::VSSE8_V:
12390 case RISCV::VSSSEG2E16_V:
12391 case RISCV::VSSSEG2E32_V:
12392 case RISCV::VSSSEG2E64_V:
12393 case RISCV::VSSSEG2E8_V:
12394 case RISCV::VSSSEG3E16_V:
12395 case RISCV::VSSSEG3E32_V:
12396 case RISCV::VSSSEG3E64_V:
12397 case RISCV::VSSSEG3E8_V:
12398 case RISCV::VSSSEG4E16_V:
12399 case RISCV::VSSSEG4E32_V:
12400 case RISCV::VSSSEG4E64_V:
12401 case RISCV::VSSSEG4E8_V:
12402 case RISCV::VSSSEG5E16_V:
12403 case RISCV::VSSSEG5E32_V:
12404 case RISCV::VSSSEG5E64_V:
12405 case RISCV::VSSSEG5E8_V:
12406 case RISCV::VSSSEG6E16_V:
12407 case RISCV::VSSSEG6E32_V:
12408 case RISCV::VSSSEG6E64_V:
12409 case RISCV::VSSSEG6E8_V:
12410 case RISCV::VSSSEG7E16_V:
12411 case RISCV::VSSSEG7E32_V:
12412 case RISCV::VSSSEG7E64_V:
12413 case RISCV::VSSSEG7E8_V:
12414 case RISCV::VSSSEG8E16_V:
12415 case RISCV::VSSSEG8E32_V:
12416 case RISCV::VSSSEG8E64_V:
12417 case RISCV::VSSSEG8E8_V: {
12418 switch (OpNum) {
12419 case 1:
12420 // op: rs1
12421 return 15;
12422 case 0:
12423 // op: vs3
12424 return 7;
12425 case 3:
12426 // op: vm
12427 return 25;
12428 case 2:
12429 // op: rs2
12430 return 20;
12431 }
12432 break;
12433 }
12434 case RISCV::VSOXEI16_V:
12435 case RISCV::VSOXEI32_V:
12436 case RISCV::VSOXEI64_V:
12437 case RISCV::VSOXEI8_V:
12438 case RISCV::VSOXSEG2EI16_V:
12439 case RISCV::VSOXSEG2EI32_V:
12440 case RISCV::VSOXSEG2EI64_V:
12441 case RISCV::VSOXSEG2EI8_V:
12442 case RISCV::VSOXSEG3EI16_V:
12443 case RISCV::VSOXSEG3EI32_V:
12444 case RISCV::VSOXSEG3EI64_V:
12445 case RISCV::VSOXSEG3EI8_V:
12446 case RISCV::VSOXSEG4EI16_V:
12447 case RISCV::VSOXSEG4EI32_V:
12448 case RISCV::VSOXSEG4EI64_V:
12449 case RISCV::VSOXSEG4EI8_V:
12450 case RISCV::VSOXSEG5EI16_V:
12451 case RISCV::VSOXSEG5EI32_V:
12452 case RISCV::VSOXSEG5EI64_V:
12453 case RISCV::VSOXSEG5EI8_V:
12454 case RISCV::VSOXSEG6EI16_V:
12455 case RISCV::VSOXSEG6EI32_V:
12456 case RISCV::VSOXSEG6EI64_V:
12457 case RISCV::VSOXSEG6EI8_V:
12458 case RISCV::VSOXSEG7EI16_V:
12459 case RISCV::VSOXSEG7EI32_V:
12460 case RISCV::VSOXSEG7EI64_V:
12461 case RISCV::VSOXSEG7EI8_V:
12462 case RISCV::VSOXSEG8EI16_V:
12463 case RISCV::VSOXSEG8EI32_V:
12464 case RISCV::VSOXSEG8EI64_V:
12465 case RISCV::VSOXSEG8EI8_V:
12466 case RISCV::VSUXEI16_V:
12467 case RISCV::VSUXEI32_V:
12468 case RISCV::VSUXEI64_V:
12469 case RISCV::VSUXEI8_V:
12470 case RISCV::VSUXSEG2EI16_V:
12471 case RISCV::VSUXSEG2EI32_V:
12472 case RISCV::VSUXSEG2EI64_V:
12473 case RISCV::VSUXSEG2EI8_V:
12474 case RISCV::VSUXSEG3EI16_V:
12475 case RISCV::VSUXSEG3EI32_V:
12476 case RISCV::VSUXSEG3EI64_V:
12477 case RISCV::VSUXSEG3EI8_V:
12478 case RISCV::VSUXSEG4EI16_V:
12479 case RISCV::VSUXSEG4EI32_V:
12480 case RISCV::VSUXSEG4EI64_V:
12481 case RISCV::VSUXSEG4EI8_V:
12482 case RISCV::VSUXSEG5EI16_V:
12483 case RISCV::VSUXSEG5EI32_V:
12484 case RISCV::VSUXSEG5EI64_V:
12485 case RISCV::VSUXSEG5EI8_V:
12486 case RISCV::VSUXSEG6EI16_V:
12487 case RISCV::VSUXSEG6EI32_V:
12488 case RISCV::VSUXSEG6EI64_V:
12489 case RISCV::VSUXSEG6EI8_V:
12490 case RISCV::VSUXSEG7EI16_V:
12491 case RISCV::VSUXSEG7EI32_V:
12492 case RISCV::VSUXSEG7EI64_V:
12493 case RISCV::VSUXSEG7EI8_V:
12494 case RISCV::VSUXSEG8EI16_V:
12495 case RISCV::VSUXSEG8EI32_V:
12496 case RISCV::VSUXSEG8EI64_V:
12497 case RISCV::VSUXSEG8EI8_V: {
12498 switch (OpNum) {
12499 case 1:
12500 // op: rs1
12501 return 15;
12502 case 0:
12503 // op: vs3
12504 return 7;
12505 case 3:
12506 // op: vm
12507 return 25;
12508 case 2:
12509 // op: vs2
12510 return 20;
12511 }
12512 break;
12513 }
12514 case RISCV::VS1R_V:
12515 case RISCV::VS2R_V:
12516 case RISCV::VS4R_V:
12517 case RISCV::VS8R_V:
12518 case RISCV::VSM_V: {
12519 switch (OpNum) {
12520 case 1:
12521 // op: rs1
12522 return 15;
12523 case 0:
12524 // op: vs3
12525 return 7;
12526 }
12527 break;
12528 }
12529 case RISCV::FCVT_BF16_S:
12530 case RISCV::FCVT_D_H:
12531 case RISCV::FCVT_D_H_IN32X:
12532 case RISCV::FCVT_D_H_INX:
12533 case RISCV::FCVT_D_L:
12534 case RISCV::FCVT_D_LU:
12535 case RISCV::FCVT_D_LU_INX:
12536 case RISCV::FCVT_D_L_INX:
12537 case RISCV::FCVT_D_Q:
12538 case RISCV::FCVT_D_S:
12539 case RISCV::FCVT_D_S_IN32X:
12540 case RISCV::FCVT_D_S_INX:
12541 case RISCV::FCVT_D_W:
12542 case RISCV::FCVT_D_WU:
12543 case RISCV::FCVT_D_WU_IN32X:
12544 case RISCV::FCVT_D_WU_INX:
12545 case RISCV::FCVT_D_W_IN32X:
12546 case RISCV::FCVT_D_W_INX:
12547 case RISCV::FCVT_H_D:
12548 case RISCV::FCVT_H_D_IN32X:
12549 case RISCV::FCVT_H_D_INX:
12550 case RISCV::FCVT_H_L:
12551 case RISCV::FCVT_H_LU:
12552 case RISCV::FCVT_H_LU_INX:
12553 case RISCV::FCVT_H_L_INX:
12554 case RISCV::FCVT_H_Q:
12555 case RISCV::FCVT_H_S:
12556 case RISCV::FCVT_H_S_INX:
12557 case RISCV::FCVT_H_W:
12558 case RISCV::FCVT_H_WU:
12559 case RISCV::FCVT_H_WU_INX:
12560 case RISCV::FCVT_H_W_INX:
12561 case RISCV::FCVT_LU_D:
12562 case RISCV::FCVT_LU_D_INX:
12563 case RISCV::FCVT_LU_H:
12564 case RISCV::FCVT_LU_H_INX:
12565 case RISCV::FCVT_LU_Q:
12566 case RISCV::FCVT_LU_S:
12567 case RISCV::FCVT_LU_S_INX:
12568 case RISCV::FCVT_L_D:
12569 case RISCV::FCVT_L_D_INX:
12570 case RISCV::FCVT_L_H:
12571 case RISCV::FCVT_L_H_INX:
12572 case RISCV::FCVT_L_Q:
12573 case RISCV::FCVT_L_S:
12574 case RISCV::FCVT_L_S_INX:
12575 case RISCV::FCVT_Q_D:
12576 case RISCV::FCVT_Q_H:
12577 case RISCV::FCVT_Q_L:
12578 case RISCV::FCVT_Q_LU:
12579 case RISCV::FCVT_Q_S:
12580 case RISCV::FCVT_Q_W:
12581 case RISCV::FCVT_Q_WU:
12582 case RISCV::FCVT_S_BF16:
12583 case RISCV::FCVT_S_D:
12584 case RISCV::FCVT_S_D_IN32X:
12585 case RISCV::FCVT_S_D_INX:
12586 case RISCV::FCVT_S_H:
12587 case RISCV::FCVT_S_H_INX:
12588 case RISCV::FCVT_S_L:
12589 case RISCV::FCVT_S_LU:
12590 case RISCV::FCVT_S_LU_INX:
12591 case RISCV::FCVT_S_L_INX:
12592 case RISCV::FCVT_S_Q:
12593 case RISCV::FCVT_S_W:
12594 case RISCV::FCVT_S_WU:
12595 case RISCV::FCVT_S_WU_INX:
12596 case RISCV::FCVT_S_W_INX:
12597 case RISCV::FCVT_WU_D:
12598 case RISCV::FCVT_WU_D_IN32X:
12599 case RISCV::FCVT_WU_D_INX:
12600 case RISCV::FCVT_WU_H:
12601 case RISCV::FCVT_WU_H_INX:
12602 case RISCV::FCVT_WU_Q:
12603 case RISCV::FCVT_WU_S:
12604 case RISCV::FCVT_WU_S_INX:
12605 case RISCV::FCVT_W_D:
12606 case RISCV::FCVT_W_D_IN32X:
12607 case RISCV::FCVT_W_D_INX:
12608 case RISCV::FCVT_W_H:
12609 case RISCV::FCVT_W_H_INX:
12610 case RISCV::FCVT_W_Q:
12611 case RISCV::FCVT_W_S:
12612 case RISCV::FCVT_W_S_INX:
12613 case RISCV::FROUNDNX_D:
12614 case RISCV::FROUNDNX_H:
12615 case RISCV::FROUNDNX_Q:
12616 case RISCV::FROUNDNX_S:
12617 case RISCV::FROUND_D:
12618 case RISCV::FROUND_H:
12619 case RISCV::FROUND_Q:
12620 case RISCV::FROUND_S:
12621 case RISCV::FSQRT_D:
12622 case RISCV::FSQRT_D_IN32X:
12623 case RISCV::FSQRT_D_INX:
12624 case RISCV::FSQRT_H:
12625 case RISCV::FSQRT_H_INX:
12626 case RISCV::FSQRT_Q:
12627 case RISCV::FSQRT_S:
12628 case RISCV::FSQRT_S_INX: {
12629 switch (OpNum) {
12630 case 1:
12631 // op: rs1
12632 return 15;
12633 case 2:
12634 // op: frm
12635 return 12;
12636 case 0:
12637 // op: rd
12638 return 7;
12639 }
12640 break;
12641 }
12642 case RISCV::AIF_FROUND_PS: {
12643 switch (OpNum) {
12644 case 1:
12645 // op: rs1
12646 return 15;
12647 case 2:
12648 // op: rm
12649 return 12;
12650 case 0:
12651 // op: rd
12652 return 7;
12653 }
12654 break;
12655 }
12656 case RISCV::AIF_FSC32B_PS:
12657 case RISCV::AIF_FSC32H_PS:
12658 case RISCV::AIF_FSC32W_PS:
12659 case RISCV::AIF_FSCBG_PS:
12660 case RISCV::AIF_FSCBL_PS:
12661 case RISCV::AIF_FSCB_PS:
12662 case RISCV::AIF_FSCHG_PS:
12663 case RISCV::AIF_FSCHL_PS:
12664 case RISCV::AIF_FSCH_PS:
12665 case RISCV::AIF_FSCWG_PS:
12666 case RISCV::AIF_FSCWL_PS:
12667 case RISCV::AIF_FSCW_PS: {
12668 switch (OpNum) {
12669 case 1:
12670 // op: rs1
12671 return 15;
12672 case 2:
12673 // op: rs2
12674 return 20;
12675 case 0:
12676 // op: rs3
12677 return 7;
12678 }
12679 break;
12680 }
12681 case RISCV::NCLIP:
12682 case RISCV::NCLIPR:
12683 case RISCV::NCLIPRU:
12684 case RISCV::NCLIPU:
12685 case RISCV::NSRA:
12686 case RISCV::NSRAR:
12687 case RISCV::NSRL:
12688 case RISCV::PNCLIPRU_BS:
12689 case RISCV::PNCLIPRU_HS:
12690 case RISCV::PNCLIPR_BS:
12691 case RISCV::PNCLIPR_HS:
12692 case RISCV::PNCLIPU_BS:
12693 case RISCV::PNCLIPU_HS:
12694 case RISCV::PNCLIP_BS:
12695 case RISCV::PNCLIP_HS:
12696 case RISCV::PNSRAR_BS:
12697 case RISCV::PNSRAR_HS:
12698 case RISCV::PNSRA_BS:
12699 case RISCV::PNSRA_HS:
12700 case RISCV::PNSRL_BS:
12701 case RISCV::PNSRL_HS:
12702 case RISCV::PREDSUMU_DBS:
12703 case RISCV::PREDSUMU_DHS:
12704 case RISCV::PREDSUM_DBS:
12705 case RISCV::PREDSUM_DHS: {
12706 switch (OpNum) {
12707 case 1:
12708 // op: rs1
12709 return 16;
12710 case 0:
12711 // op: rd
12712 return 7;
12713 case 2:
12714 // op: rs2
12715 return 20;
12716 }
12717 break;
12718 }
12719 case RISCV::NCLIPI:
12720 case RISCV::NCLIPIU:
12721 case RISCV::NCLIPRI:
12722 case RISCV::NCLIPRIU:
12723 case RISCV::NSRAI:
12724 case RISCV::NSRARI:
12725 case RISCV::NSRLI:
12726 case RISCV::PNCLIPIU_B:
12727 case RISCV::PNCLIPIU_H:
12728 case RISCV::PNCLIPI_B:
12729 case RISCV::PNCLIPI_H:
12730 case RISCV::PNCLIPRIU_B:
12731 case RISCV::PNCLIPRIU_H:
12732 case RISCV::PNCLIPRI_B:
12733 case RISCV::PNCLIPRI_H:
12734 case RISCV::PNSRAI_B:
12735 case RISCV::PNSRAI_H:
12736 case RISCV::PNSRARI_B:
12737 case RISCV::PNSRARI_H:
12738 case RISCV::PNSRLI_B:
12739 case RISCV::PNSRLI_H: {
12740 switch (OpNum) {
12741 case 1:
12742 // op: rs1
12743 return 16;
12744 case 0:
12745 // op: rd
12746 return 7;
12747 case 2:
12748 // op: shamt
12749 return 20;
12750 }
12751 break;
12752 }
12753 case RISCV::PADD_DBS:
12754 case RISCV::PADD_DHS:
12755 case RISCV::PADD_DWS:
12756 case RISCV::PSLL_DBS:
12757 case RISCV::PSLL_DHS:
12758 case RISCV::PSLL_DWS:
12759 case RISCV::PSRA_DBS:
12760 case RISCV::PSRA_DHS:
12761 case RISCV::PSRA_DWS:
12762 case RISCV::PSRL_DBS:
12763 case RISCV::PSRL_DHS:
12764 case RISCV::PSRL_DWS:
12765 case RISCV::PSSHAR_DHS:
12766 case RISCV::PSSHAR_DWS:
12767 case RISCV::PSSHA_DHS:
12768 case RISCV::PSSHA_DWS:
12769 case RISCV::PSSHLR_DHS:
12770 case RISCV::PSSHLR_DWS:
12771 case RISCV::PSSHL_DHS:
12772 case RISCV::PSSHL_DWS: {
12773 switch (OpNum) {
12774 case 1:
12775 // op: rs1
12776 return 16;
12777 case 0:
12778 // op: rd
12779 return 8;
12780 case 2:
12781 // op: rs2
12782 return 20;
12783 }
12784 break;
12785 }
12786 case RISCV::ADDD:
12787 case RISCV::PAADDU_DB:
12788 case RISCV::PAADDU_DH:
12789 case RISCV::PAADDU_DW:
12790 case RISCV::PAADD_DB:
12791 case RISCV::PAADD_DH:
12792 case RISCV::PAADD_DW:
12793 case RISCV::PAAS_DHX:
12794 case RISCV::PABDU_DB:
12795 case RISCV::PABDU_DH:
12796 case RISCV::PABD_DB:
12797 case RISCV::PABD_DH:
12798 case RISCV::PADD_DB:
12799 case RISCV::PADD_DH:
12800 case RISCV::PADD_DW:
12801 case RISCV::PASA_DHX:
12802 case RISCV::PASUBU_DB:
12803 case RISCV::PASUBU_DH:
12804 case RISCV::PASUBU_DW:
12805 case RISCV::PASUB_DB:
12806 case RISCV::PASUB_DH:
12807 case RISCV::PASUB_DW:
12808 case RISCV::PAS_DHX:
12809 case RISCV::PMAXU_DB:
12810 case RISCV::PMAXU_DH:
12811 case RISCV::PMAXU_DW:
12812 case RISCV::PMAX_DB:
12813 case RISCV::PMAX_DH:
12814 case RISCV::PMAX_DW:
12815 case RISCV::PMINU_DB:
12816 case RISCV::PMINU_DH:
12817 case RISCV::PMINU_DW:
12818 case RISCV::PMIN_DB:
12819 case RISCV::PMIN_DH:
12820 case RISCV::PMIN_DW:
12821 case RISCV::PMSEQ_DB:
12822 case RISCV::PMSEQ_DH:
12823 case RISCV::PMSEQ_DW:
12824 case RISCV::PMSLTU_DB:
12825 case RISCV::PMSLTU_DH:
12826 case RISCV::PMSLTU_DW:
12827 case RISCV::PMSLT_DB:
12828 case RISCV::PMSLT_DH:
12829 case RISCV::PMSLT_DW:
12830 case RISCV::PPAIREO_DB:
12831 case RISCV::PPAIREO_DH:
12832 case RISCV::PPAIRE_DB:
12833 case RISCV::PPAIRE_DH:
12834 case RISCV::PPAIROE_DB:
12835 case RISCV::PPAIROE_DH:
12836 case RISCV::PPAIRO_DB:
12837 case RISCV::PPAIRO_DH:
12838 case RISCV::PSADDU_DB:
12839 case RISCV::PSADDU_DH:
12840 case RISCV::PSADDU_DW:
12841 case RISCV::PSADD_DB:
12842 case RISCV::PSADD_DH:
12843 case RISCV::PSADD_DW:
12844 case RISCV::PSAS_DHX:
12845 case RISCV::PSA_DHX:
12846 case RISCV::PSH1ADD_DH:
12847 case RISCV::PSH1ADD_DW:
12848 case RISCV::PSSA_DHX:
12849 case RISCV::PSSH1SADD_DH:
12850 case RISCV::PSSH1SADD_DW:
12851 case RISCV::PSSUBU_DB:
12852 case RISCV::PSSUBU_DH:
12853 case RISCV::PSSUBU_DW:
12854 case RISCV::PSSUB_DB:
12855 case RISCV::PSSUB_DH:
12856 case RISCV::PSSUB_DW:
12857 case RISCV::PSUB_DB:
12858 case RISCV::PSUB_DH:
12859 case RISCV::PSUB_DW:
12860 case RISCV::SUBD: {
12861 switch (OpNum) {
12862 case 1:
12863 // op: rs1
12864 return 16;
12865 case 0:
12866 // op: rd
12867 return 8;
12868 case 2:
12869 // op: rs2
12870 return 21;
12871 }
12872 break;
12873 }
12874 case RISCV::PSATI_DH:
12875 case RISCV::PSATI_DW:
12876 case RISCV::PSLLI_DB:
12877 case RISCV::PSLLI_DH:
12878 case RISCV::PSLLI_DW:
12879 case RISCV::PSRAI_DB:
12880 case RISCV::PSRAI_DH:
12881 case RISCV::PSRAI_DW:
12882 case RISCV::PSRARI_DH:
12883 case RISCV::PSRARI_DW:
12884 case RISCV::PSRLI_DB:
12885 case RISCV::PSRLI_DH:
12886 case RISCV::PSRLI_DW:
12887 case RISCV::PSSLAI_DH:
12888 case RISCV::PSSLAI_DW:
12889 case RISCV::PUSATI_DH:
12890 case RISCV::PUSATI_DW: {
12891 switch (OpNum) {
12892 case 1:
12893 // op: rs1
12894 return 16;
12895 case 0:
12896 // op: rd
12897 return 8;
12898 case 2:
12899 // op: shamt
12900 return 20;
12901 }
12902 break;
12903 }
12904 case RISCV::PSABS_DB:
12905 case RISCV::PSABS_DH:
12906 case RISCV::PSEXT_DH_B:
12907 case RISCV::PSEXT_DW_B:
12908 case RISCV::PSEXT_DW_H: {
12909 switch (OpNum) {
12910 case 1:
12911 // op: rs1
12912 return 16;
12913 case 0:
12914 // op: rd
12915 return 8;
12916 }
12917 break;
12918 }
12919 case RISCV::C_ADD: {
12920 switch (OpNum) {
12921 case 1:
12922 // op: rs1
12923 return 7;
12924 case 2:
12925 // op: rs2
12926 return 2;
12927 }
12928 break;
12929 }
12930 case RISCV::QC_C_BEXTI:
12931 case RISCV::QC_C_BSETI: {
12932 switch (OpNum) {
12933 case 1:
12934 // op: rs1
12935 return 7;
12936 case 2:
12937 // op: shamt
12938 return 2;
12939 }
12940 break;
12941 }
12942 case RISCV::NDS_FCVT_BF16_S:
12943 case RISCV::NDS_FCVT_S_BF16: {
12944 switch (OpNum) {
12945 case 1:
12946 // op: rs2
12947 return 20;
12948 case 0:
12949 // op: rd
12950 return 7;
12951 }
12952 break;
12953 }
12954 case RISCV::HFENCE_GVMA:
12955 case RISCV::HFENCE_VVMA:
12956 case RISCV::HINVAL_GVMA:
12957 case RISCV::HINVAL_VVMA:
12958 case RISCV::SFENCE_VMA:
12959 case RISCV::SF_VTMV_T_V:
12960 case RISCV::SINVAL_VMA:
12961 case RISCV::TH_SFENCE_VMAS: {
12962 switch (OpNum) {
12963 case 1:
12964 // op: rs2
12965 return 20;
12966 case 0:
12967 // op: rs1
12968 return 15;
12969 }
12970 break;
12971 }
12972 case RISCV::TH_LDD:
12973 case RISCV::TH_LWD:
12974 case RISCV::TH_LWUD:
12975 case RISCV::TH_SDD:
12976 case RISCV::TH_SWD: {
12977 switch (OpNum) {
12978 case 1:
12979 // op: rs2
12980 return 20;
12981 case 2:
12982 // op: rs1
12983 return 15;
12984 case 0:
12985 // op: rd
12986 return 7;
12987 case 3:
12988 // op: uimm2
12989 return 25;
12990 }
12991 break;
12992 }
12993 case RISCV::AIF_AMOADDG_D:
12994 case RISCV::AIF_AMOADDG_W:
12995 case RISCV::AIF_AMOADDL_D:
12996 case RISCV::AIF_AMOADDL_W:
12997 case RISCV::AIF_AMOANDG_D:
12998 case RISCV::AIF_AMOANDG_W:
12999 case RISCV::AIF_AMOANDL_D:
13000 case RISCV::AIF_AMOANDL_W:
13001 case RISCV::AIF_AMOCMPSWAPG_D:
13002 case RISCV::AIF_AMOCMPSWAPG_W:
13003 case RISCV::AIF_AMOCMPSWAPL_D:
13004 case RISCV::AIF_AMOCMPSWAPL_W:
13005 case RISCV::AIF_AMOMAXG_D:
13006 case RISCV::AIF_AMOMAXG_W:
13007 case RISCV::AIF_AMOMAXL_D:
13008 case RISCV::AIF_AMOMAXL_W:
13009 case RISCV::AIF_AMOMAXUG_D:
13010 case RISCV::AIF_AMOMAXUG_W:
13011 case RISCV::AIF_AMOMAXUL_D:
13012 case RISCV::AIF_AMOMAXUL_W:
13013 case RISCV::AIF_AMOMING_D:
13014 case RISCV::AIF_AMOMING_W:
13015 case RISCV::AIF_AMOMINL_D:
13016 case RISCV::AIF_AMOMINL_W:
13017 case RISCV::AIF_AMOMINUG_D:
13018 case RISCV::AIF_AMOMINUG_W:
13019 case RISCV::AIF_AMOMINUL_D:
13020 case RISCV::AIF_AMOMINUL_W:
13021 case RISCV::AIF_AMOORG_D:
13022 case RISCV::AIF_AMOORG_W:
13023 case RISCV::AIF_AMOORL_D:
13024 case RISCV::AIF_AMOORL_W:
13025 case RISCV::AIF_AMOSWAPG_D:
13026 case RISCV::AIF_AMOSWAPG_W:
13027 case RISCV::AIF_AMOSWAPL_D:
13028 case RISCV::AIF_AMOSWAPL_W:
13029 case RISCV::AIF_AMOXORG_D:
13030 case RISCV::AIF_AMOXORG_W:
13031 case RISCV::AIF_AMOXORL_D:
13032 case RISCV::AIF_AMOXORL_W:
13033 case RISCV::AMOADD_B:
13034 case RISCV::AMOADD_B_AQ:
13035 case RISCV::AMOADD_B_AQRL:
13036 case RISCV::AMOADD_B_RL:
13037 case RISCV::AMOADD_D:
13038 case RISCV::AMOADD_D_AQ:
13039 case RISCV::AMOADD_D_AQRL:
13040 case RISCV::AMOADD_D_RL:
13041 case RISCV::AMOADD_H:
13042 case RISCV::AMOADD_H_AQ:
13043 case RISCV::AMOADD_H_AQRL:
13044 case RISCV::AMOADD_H_RL:
13045 case RISCV::AMOADD_W:
13046 case RISCV::AMOADD_W_AQ:
13047 case RISCV::AMOADD_W_AQRL:
13048 case RISCV::AMOADD_W_RL:
13049 case RISCV::AMOAND_B:
13050 case RISCV::AMOAND_B_AQ:
13051 case RISCV::AMOAND_B_AQRL:
13052 case RISCV::AMOAND_B_RL:
13053 case RISCV::AMOAND_D:
13054 case RISCV::AMOAND_D_AQ:
13055 case RISCV::AMOAND_D_AQRL:
13056 case RISCV::AMOAND_D_RL:
13057 case RISCV::AMOAND_H:
13058 case RISCV::AMOAND_H_AQ:
13059 case RISCV::AMOAND_H_AQRL:
13060 case RISCV::AMOAND_H_RL:
13061 case RISCV::AMOAND_W:
13062 case RISCV::AMOAND_W_AQ:
13063 case RISCV::AMOAND_W_AQRL:
13064 case RISCV::AMOAND_W_RL:
13065 case RISCV::AMOMAXU_B:
13066 case RISCV::AMOMAXU_B_AQ:
13067 case RISCV::AMOMAXU_B_AQRL:
13068 case RISCV::AMOMAXU_B_RL:
13069 case RISCV::AMOMAXU_D:
13070 case RISCV::AMOMAXU_D_AQ:
13071 case RISCV::AMOMAXU_D_AQRL:
13072 case RISCV::AMOMAXU_D_RL:
13073 case RISCV::AMOMAXU_H:
13074 case RISCV::AMOMAXU_H_AQ:
13075 case RISCV::AMOMAXU_H_AQRL:
13076 case RISCV::AMOMAXU_H_RL:
13077 case RISCV::AMOMAXU_W:
13078 case RISCV::AMOMAXU_W_AQ:
13079 case RISCV::AMOMAXU_W_AQRL:
13080 case RISCV::AMOMAXU_W_RL:
13081 case RISCV::AMOMAX_B:
13082 case RISCV::AMOMAX_B_AQ:
13083 case RISCV::AMOMAX_B_AQRL:
13084 case RISCV::AMOMAX_B_RL:
13085 case RISCV::AMOMAX_D:
13086 case RISCV::AMOMAX_D_AQ:
13087 case RISCV::AMOMAX_D_AQRL:
13088 case RISCV::AMOMAX_D_RL:
13089 case RISCV::AMOMAX_H:
13090 case RISCV::AMOMAX_H_AQ:
13091 case RISCV::AMOMAX_H_AQRL:
13092 case RISCV::AMOMAX_H_RL:
13093 case RISCV::AMOMAX_W:
13094 case RISCV::AMOMAX_W_AQ:
13095 case RISCV::AMOMAX_W_AQRL:
13096 case RISCV::AMOMAX_W_RL:
13097 case RISCV::AMOMINU_B:
13098 case RISCV::AMOMINU_B_AQ:
13099 case RISCV::AMOMINU_B_AQRL:
13100 case RISCV::AMOMINU_B_RL:
13101 case RISCV::AMOMINU_D:
13102 case RISCV::AMOMINU_D_AQ:
13103 case RISCV::AMOMINU_D_AQRL:
13104 case RISCV::AMOMINU_D_RL:
13105 case RISCV::AMOMINU_H:
13106 case RISCV::AMOMINU_H_AQ:
13107 case RISCV::AMOMINU_H_AQRL:
13108 case RISCV::AMOMINU_H_RL:
13109 case RISCV::AMOMINU_W:
13110 case RISCV::AMOMINU_W_AQ:
13111 case RISCV::AMOMINU_W_AQRL:
13112 case RISCV::AMOMINU_W_RL:
13113 case RISCV::AMOMIN_B:
13114 case RISCV::AMOMIN_B_AQ:
13115 case RISCV::AMOMIN_B_AQRL:
13116 case RISCV::AMOMIN_B_RL:
13117 case RISCV::AMOMIN_D:
13118 case RISCV::AMOMIN_D_AQ:
13119 case RISCV::AMOMIN_D_AQRL:
13120 case RISCV::AMOMIN_D_RL:
13121 case RISCV::AMOMIN_H:
13122 case RISCV::AMOMIN_H_AQ:
13123 case RISCV::AMOMIN_H_AQRL:
13124 case RISCV::AMOMIN_H_RL:
13125 case RISCV::AMOMIN_W:
13126 case RISCV::AMOMIN_W_AQ:
13127 case RISCV::AMOMIN_W_AQRL:
13128 case RISCV::AMOMIN_W_RL:
13129 case RISCV::AMOOR_B:
13130 case RISCV::AMOOR_B_AQ:
13131 case RISCV::AMOOR_B_AQRL:
13132 case RISCV::AMOOR_B_RL:
13133 case RISCV::AMOOR_D:
13134 case RISCV::AMOOR_D_AQ:
13135 case RISCV::AMOOR_D_AQRL:
13136 case RISCV::AMOOR_D_RL:
13137 case RISCV::AMOOR_H:
13138 case RISCV::AMOOR_H_AQ:
13139 case RISCV::AMOOR_H_AQRL:
13140 case RISCV::AMOOR_H_RL:
13141 case RISCV::AMOOR_W:
13142 case RISCV::AMOOR_W_AQ:
13143 case RISCV::AMOOR_W_AQRL:
13144 case RISCV::AMOOR_W_RL:
13145 case RISCV::AMOSWAP_B:
13146 case RISCV::AMOSWAP_B_AQ:
13147 case RISCV::AMOSWAP_B_AQRL:
13148 case RISCV::AMOSWAP_B_RL:
13149 case RISCV::AMOSWAP_D:
13150 case RISCV::AMOSWAP_D_AQ:
13151 case RISCV::AMOSWAP_D_AQRL:
13152 case RISCV::AMOSWAP_D_RL:
13153 case RISCV::AMOSWAP_H:
13154 case RISCV::AMOSWAP_H_AQ:
13155 case RISCV::AMOSWAP_H_AQRL:
13156 case RISCV::AMOSWAP_H_RL:
13157 case RISCV::AMOSWAP_W:
13158 case RISCV::AMOSWAP_W_AQ:
13159 case RISCV::AMOSWAP_W_AQRL:
13160 case RISCV::AMOSWAP_W_RL:
13161 case RISCV::AMOXOR_B:
13162 case RISCV::AMOXOR_B_AQ:
13163 case RISCV::AMOXOR_B_AQRL:
13164 case RISCV::AMOXOR_B_RL:
13165 case RISCV::AMOXOR_D:
13166 case RISCV::AMOXOR_D_AQ:
13167 case RISCV::AMOXOR_D_AQRL:
13168 case RISCV::AMOXOR_D_RL:
13169 case RISCV::AMOXOR_H:
13170 case RISCV::AMOXOR_H_AQ:
13171 case RISCV::AMOXOR_H_AQRL:
13172 case RISCV::AMOXOR_H_RL:
13173 case RISCV::AMOXOR_W:
13174 case RISCV::AMOXOR_W_AQ:
13175 case RISCV::AMOXOR_W_AQRL:
13176 case RISCV::AMOXOR_W_RL:
13177 case RISCV::LXD:
13178 case RISCV::LXH:
13179 case RISCV::LXHU:
13180 case RISCV::LXSB:
13181 case RISCV::LXSBU:
13182 case RISCV::LXSD:
13183 case RISCV::LXSH:
13184 case RISCV::LXSHU:
13185 case RISCV::LXSUWB:
13186 case RISCV::LXSUWBU:
13187 case RISCV::LXSUWD:
13188 case RISCV::LXSUWH:
13189 case RISCV::LXSUWHU:
13190 case RISCV::LXSUWW:
13191 case RISCV::LXSUWWU:
13192 case RISCV::LXSW:
13193 case RISCV::LXSWU:
13194 case RISCV::LXW:
13195 case RISCV::LXWU:
13196 case RISCV::NDS_LEA_B_ZE:
13197 case RISCV::NDS_LEA_D:
13198 case RISCV::NDS_LEA_D_ZE:
13199 case RISCV::NDS_LEA_H:
13200 case RISCV::NDS_LEA_H_ZE:
13201 case RISCV::NDS_LEA_W:
13202 case RISCV::NDS_LEA_W_ZE:
13203 case RISCV::SC_D:
13204 case RISCV::SC_D_AQ:
13205 case RISCV::SC_D_AQRL:
13206 case RISCV::SC_D_RL:
13207 case RISCV::SC_W:
13208 case RISCV::SC_W_AQ:
13209 case RISCV::SC_W_AQRL:
13210 case RISCV::SC_W_RL:
13211 case RISCV::SSAMOSWAP_D:
13212 case RISCV::SSAMOSWAP_D_AQ:
13213 case RISCV::SSAMOSWAP_D_AQRL:
13214 case RISCV::SSAMOSWAP_D_RL:
13215 case RISCV::SSAMOSWAP_W:
13216 case RISCV::SSAMOSWAP_W_AQ:
13217 case RISCV::SSAMOSWAP_W_AQRL:
13218 case RISCV::SSAMOSWAP_W_RL: {
13219 switch (OpNum) {
13220 case 1:
13221 // op: rs2
13222 return 20;
13223 case 2:
13224 // op: rs1
13225 return 15;
13226 case 0:
13227 // op: rd
13228 return 7;
13229 }
13230 break;
13231 }
13232 case RISCV::CM_MVA01S:
13233 case RISCV::CM_MVSA01:
13234 case RISCV::QC_CM_MVA01S:
13235 case RISCV::QC_CM_MVSA01: {
13236 switch (OpNum) {
13237 case 1:
13238 // op: rs2
13239 return 2;
13240 case 0:
13241 // op: rs1
13242 return 7;
13243 }
13244 break;
13245 }
13246 case RISCV::VFMV_S_F:
13247 case RISCV::VMV_S_X: {
13248 switch (OpNum) {
13249 case 1:
13250 // op: vd
13251 return 7;
13252 case 2:
13253 // op: rs1
13254 return 15;
13255 }
13256 break;
13257 }
13258 case RISCV::VMADOT:
13259 case RISCV::VMADOTSU:
13260 case RISCV::VMADOTU:
13261 case RISCV::VMADOTUS: {
13262 switch (OpNum) {
13263 case 1:
13264 // op: vd
13265 return 7;
13266 case 2:
13267 // op: vs1
13268 return 15;
13269 case 3:
13270 // op: vs2
13271 return 20;
13272 case 4:
13273 // op: vtype
13274 return 29;
13275 }
13276 break;
13277 }
13278 case RISCV::VMADOTSU_HP:
13279 case RISCV::VMADOTUS_HP:
13280 case RISCV::VMADOTU_HP:
13281 case RISCV::VMADOT_HP: {
13282 switch (OpNum) {
13283 case 1:
13284 // op: vd
13285 return 7;
13286 case 2:
13287 // op: vs1
13288 return 15;
13289 case 3:
13290 // op: vs2
13291 return 20;
13292 case 6:
13293 // op: vtype
13294 return 29;
13295 case 4:
13296 // op: vmask
13297 return 25;
13298 case 5:
13299 // op: imm3
13300 return 12;
13301 }
13302 break;
13303 }
13304 case RISCV::SMT_VMADOT:
13305 case RISCV::SMT_VMADOTSU:
13306 case RISCV::SMT_VMADOTU:
13307 case RISCV::SMT_VMADOTUS:
13308 case RISCV::VFWMADOT:
13309 case RISCV::VFWMADOT1:
13310 case RISCV::VFWMADOT2:
13311 case RISCV::VFWMADOT3: {
13312 switch (OpNum) {
13313 case 1:
13314 // op: vd
13315 return 7;
13316 case 2:
13317 // op: vs1
13318 return 15;
13319 case 3:
13320 // op: vs2
13321 return 20;
13322 }
13323 break;
13324 }
13325 case RISCV::VMADOT1:
13326 case RISCV::VMADOT1SU:
13327 case RISCV::VMADOT1U:
13328 case RISCV::VMADOT1US:
13329 case RISCV::VMADOT2:
13330 case RISCV::VMADOT2SU:
13331 case RISCV::VMADOT2U:
13332 case RISCV::VMADOT2US:
13333 case RISCV::VMADOT3:
13334 case RISCV::VMADOT3SU:
13335 case RISCV::VMADOT3U:
13336 case RISCV::VMADOT3US: {
13337 switch (OpNum) {
13338 case 1:
13339 // op: vd
13340 return 7;
13341 case 2:
13342 // op: vs1
13343 return 16;
13344 case 3:
13345 // op: vs2
13346 return 20;
13347 case 4:
13348 // op: vtype
13349 return 29;
13350 }
13351 break;
13352 }
13353 case RISCV::SMT_VMADOT1:
13354 case RISCV::SMT_VMADOT1SU:
13355 case RISCV::SMT_VMADOT1U:
13356 case RISCV::SMT_VMADOT1US:
13357 case RISCV::SMT_VMADOT2:
13358 case RISCV::SMT_VMADOT2SU:
13359 case RISCV::SMT_VMADOT2U:
13360 case RISCV::SMT_VMADOT2US:
13361 case RISCV::SMT_VMADOT3:
13362 case RISCV::SMT_VMADOT3SU:
13363 case RISCV::SMT_VMADOT3U:
13364 case RISCV::SMT_VMADOT3US: {
13365 switch (OpNum) {
13366 case 1:
13367 // op: vd
13368 return 7;
13369 case 2:
13370 // op: vs1
13371 return 16;
13372 case 3:
13373 // op: vs2
13374 return 20;
13375 }
13376 break;
13377 }
13378 case RISCV::VAESKF2_VI:
13379 case RISCV::VSM3C_VI: {
13380 switch (OpNum) {
13381 case 1:
13382 // op: vd
13383 return 7;
13384 case 2:
13385 // op: vs2
13386 return 20;
13387 case 3:
13388 // op: imm
13389 return 15;
13390 }
13391 break;
13392 }
13393 case RISCV::VGHSH_VS:
13394 case RISCV::VGHSH_VV:
13395 case RISCV::VSHA2CH_VV:
13396 case RISCV::VSHA2CL_VV:
13397 case RISCV::VSHA2MS_VV: {
13398 switch (OpNum) {
13399 case 1:
13400 // op: vd
13401 return 7;
13402 case 2:
13403 // op: vs2
13404 return 20;
13405 case 3:
13406 // op: vs1
13407 return 15;
13408 }
13409 break;
13410 }
13411 case RISCV::VAESDF_VS:
13412 case RISCV::VAESDF_VV:
13413 case RISCV::VAESDM_VS:
13414 case RISCV::VAESDM_VV:
13415 case RISCV::VAESEF_VS:
13416 case RISCV::VAESEF_VV:
13417 case RISCV::VAESEM_VS:
13418 case RISCV::VAESEM_VV:
13419 case RISCV::VAESZ_VS:
13420 case RISCV::VGMUL_VS:
13421 case RISCV::VGMUL_VV:
13422 case RISCV::VSM4R_VS:
13423 case RISCV::VSM4R_VV: {
13424 switch (OpNum) {
13425 case 1:
13426 // op: vd
13427 return 7;
13428 case 2:
13429 // op: vs2
13430 return 20;
13431 }
13432 break;
13433 }
13434 case RISCV::SF_VFWMACC_4x4x4:
13435 case RISCV::SF_VQMACCSU_2x8x2:
13436 case RISCV::SF_VQMACCSU_4x8x4:
13437 case RISCV::SF_VQMACCUS_2x8x2:
13438 case RISCV::SF_VQMACCUS_4x8x4:
13439 case RISCV::SF_VQMACCU_2x8x2:
13440 case RISCV::SF_VQMACCU_4x8x4:
13441 case RISCV::SF_VQMACC_2x8x2:
13442 case RISCV::SF_VQMACC_4x8x4:
13443 case RISCV::V8WMMACC_VV:
13444 case RISCV::VF8WIMMACC_VV:
13445 case RISCV::VF8WMMACC_VV:
13446 case RISCV::VF8WMMACC_VV_SCALE:
13447 case RISCV::VFMMACC_VV:
13448 case RISCV::VFQIMMACC_VV:
13449 case RISCV::VFQMMACC_VV:
13450 case RISCV::VFQMMACC_VV_SCALE:
13451 case RISCV::VFWIMMACC_VV:
13452 case RISCV::VFWMMACC_VV:
13453 case RISCV::VFWMMACC_VV_SCALE:
13454 case RISCV::VMMACC_VV:
13455 case RISCV::VQMMACC_VV:
13456 case RISCV::VWMMACC_VV: {
13457 switch (OpNum) {
13458 case 1:
13459 // op: vd
13460 return 7;
13461 case 3:
13462 // op: vs2
13463 return 20;
13464 case 2:
13465 // op: vs1
13466 return 15;
13467 }
13468 break;
13469 }
13470 case RISCV::VDOT4ASU_VX:
13471 case RISCV::VDOT4AUS_VX:
13472 case RISCV::VDOT4AU_VX:
13473 case RISCV::VDOT4A_VX:
13474 case RISCV::VWABDAU_VX:
13475 case RISCV::VWABDA_VX: {
13476 switch (OpNum) {
13477 case 1:
13478 // op: vd
13479 return 7;
13480 case 4:
13481 // op: vm
13482 return 25;
13483 case 2:
13484 // op: vs2
13485 return 20;
13486 case 3:
13487 // op: rs1
13488 return 15;
13489 }
13490 break;
13491 }
13492 case RISCV::VDOT4ASU_VV:
13493 case RISCV::VDOT4AU_VV:
13494 case RISCV::VDOT4A_VV:
13495 case RISCV::VFQWDOTA_ALT_VV:
13496 case RISCV::VFQWDOTA_VV:
13497 case RISCV::VFWDOTA_VV:
13498 case RISCV::VQWDOTAS_VV:
13499 case RISCV::VQWDOTAU_VV:
13500 case RISCV::VWABDAU_VV:
13501 case RISCV::VWABDA_VV: {
13502 switch (OpNum) {
13503 case 1:
13504 // op: vd
13505 return 7;
13506 case 4:
13507 // op: vm
13508 return 25;
13509 case 2:
13510 // op: vs2
13511 return 20;
13512 case 3:
13513 // op: vs1
13514 return 15;
13515 }
13516 break;
13517 }
13518 case RISCV::TH_VMAQASU_VX:
13519 case RISCV::TH_VMAQAUS_VX:
13520 case RISCV::TH_VMAQAU_VX:
13521 case RISCV::TH_VMAQA_VX:
13522 case RISCV::VFMACC_VF:
13523 case RISCV::VFMADD_VF:
13524 case RISCV::VFMSAC_VF:
13525 case RISCV::VFMSUB_VF:
13526 case RISCV::VFNMACC_VF:
13527 case RISCV::VFNMADD_VF:
13528 case RISCV::VFNMSAC_VF:
13529 case RISCV::VFNMSUB_VF:
13530 case RISCV::VFWMACCBF16_VF:
13531 case RISCV::VFWMACC_VF:
13532 case RISCV::VFWMSAC_VF:
13533 case RISCV::VFWNMACC_VF:
13534 case RISCV::VFWNMSAC_VF:
13535 case RISCV::VMACC_VX:
13536 case RISCV::VMADD_VX:
13537 case RISCV::VNMSAC_VX:
13538 case RISCV::VNMSUB_VX:
13539 case RISCV::VWMACCSU_VX:
13540 case RISCV::VWMACCUS_VX:
13541 case RISCV::VWMACCU_VX:
13542 case RISCV::VWMACC_VX: {
13543 switch (OpNum) {
13544 case 1:
13545 // op: vd
13546 return 7;
13547 case 4:
13548 // op: vm
13549 return 25;
13550 case 3:
13551 // op: vs2
13552 return 20;
13553 case 2:
13554 // op: rs1
13555 return 15;
13556 }
13557 break;
13558 }
13559 case RISCV::TH_VMAQASU_VV:
13560 case RISCV::TH_VMAQAU_VV:
13561 case RISCV::TH_VMAQA_VV:
13562 case RISCV::VFMACC_VV:
13563 case RISCV::VFMADD_VV:
13564 case RISCV::VFMSAC_VV:
13565 case RISCV::VFMSUB_VV:
13566 case RISCV::VFNMACC_VV:
13567 case RISCV::VFNMADD_VV:
13568 case RISCV::VFNMSAC_VV:
13569 case RISCV::VFNMSUB_VV:
13570 case RISCV::VFWMACCBF16_VV:
13571 case RISCV::VFWMACC_VV:
13572 case RISCV::VFWMSAC_VV:
13573 case RISCV::VFWNMACC_VV:
13574 case RISCV::VFWNMSAC_VV:
13575 case RISCV::VMACC_VV:
13576 case RISCV::VMADD_VV:
13577 case RISCV::VNMSAC_VV:
13578 case RISCV::VNMSUB_VV:
13579 case RISCV::VWMACCSU_VV:
13580 case RISCV::VWMACCU_VV:
13581 case RISCV::VWMACC_VV: {
13582 switch (OpNum) {
13583 case 1:
13584 // op: vd
13585 return 7;
13586 case 4:
13587 // op: vm
13588 return 25;
13589 case 3:
13590 // op: vs2
13591 return 20;
13592 case 2:
13593 // op: vs1
13594 return 15;
13595 }
13596 break;
13597 }
13598 case RISCV::VFBDOTA_VV:
13599 case RISCV::VFQWBDOTA_ALT_VV:
13600 case RISCV::VFQWBDOTA_VV:
13601 case RISCV::VFWBDOTA_VV:
13602 case RISCV::VQWBDOTAS_VV:
13603 case RISCV::VQWBDOTAU_VV: {
13604 switch (OpNum) {
13605 case 1:
13606 // op: vd
13607 return 7;
13608 case 5:
13609 // op: vm
13610 return 25;
13611 case 2:
13612 // op: vs2
13613 return 23;
13614 case 3:
13615 // op: vs1
13616 return 15;
13617 case 4:
13618 // op: ci
13619 return 20;
13620 }
13621 break;
13622 }
13623 case RISCV::VMADOTSU_SP:
13624 case RISCV::VMADOTUS_SP:
13625 case RISCV::VMADOTU_SP:
13626 case RISCV::VMADOT_SP: {
13627 switch (OpNum) {
13628 case 1:
13629 // op: vd
13630 return 8;
13631 case 2:
13632 // op: vs1
13633 return 16;
13634 case 3:
13635 // op: vs2
13636 return 20;
13637 case 6:
13638 // op: vtype
13639 return 29;
13640 case 4:
13641 // op: vmask
13642 return 25;
13643 case 5:
13644 // op: imm2
13645 return 7;
13646 }
13647 break;
13648 }
13649 case RISCV::NDS_VFWCVT_F_B:
13650 case RISCV::NDS_VFWCVT_F_BU:
13651 case RISCV::NDS_VFWCVT_F_N:
13652 case RISCV::NDS_VFWCVT_F_NU: {
13653 switch (OpNum) {
13654 case 1:
13655 // op: vs
13656 return 20;
13657 case 0:
13658 // op: vd
13659 return 7;
13660 case 2:
13661 // op: vm
13662 return 25;
13663 }
13664 break;
13665 }
13666 case RISCV::NDS_VFNCVT_BF16_S:
13667 case RISCV::NDS_VFWCVT_S_BF16: {
13668 switch (OpNum) {
13669 case 1:
13670 // op: vs2
13671 return 20;
13672 case 0:
13673 // op: vd
13674 return 7;
13675 }
13676 break;
13677 }
13678 case RISCV::NDS_VFPMADB_VF:
13679 case RISCV::NDS_VFPMADT_VF: {
13680 switch (OpNum) {
13681 case 1:
13682 // op: vs2
13683 return 20;
13684 case 2:
13685 // op: rs1
13686 return 15;
13687 case 0:
13688 // op: vd
13689 return 7;
13690 case 3:
13691 // op: vm
13692 return 25;
13693 }
13694 break;
13695 }
13696 case RISCV::SF_VC_I: {
13697 switch (OpNum) {
13698 case 1:
13699 // op: vs2
13700 return 20;
13701 case 2:
13702 // op: vd
13703 return 7;
13704 case 3:
13705 // op: imm
13706 return 15;
13707 case 0:
13708 // op: funct6_lo2
13709 return 26;
13710 }
13711 break;
13712 }
13713 case RISCV::SF_VC_X: {
13714 switch (OpNum) {
13715 case 1:
13716 // op: vs2
13717 return 20;
13718 case 2:
13719 // op: vd
13720 return 7;
13721 case 3:
13722 // op: rs1
13723 return 15;
13724 case 0:
13725 // op: funct6_lo2
13726 return 26;
13727 }
13728 break;
13729 }
13730 case RISCV::SF_MM_E4M3_E4M3:
13731 case RISCV::SF_MM_E4M3_E5M2:
13732 case RISCV::SF_MM_E5M2_E4M3:
13733 case RISCV::SF_MM_E5M2_E5M2:
13734 case RISCV::SF_MM_S_S:
13735 case RISCV::SF_MM_S_U:
13736 case RISCV::SF_MM_U_S:
13737 case RISCV::SF_MM_U_U: {
13738 switch (OpNum) {
13739 case 1:
13740 // op: vs2
13741 return 20;
13742 case 2:
13743 // op: vs1
13744 return 15;
13745 case 0:
13746 // op: rd
13747 return 10;
13748 }
13749 break;
13750 }
13751 case RISCV::SF_MM_F_F: {
13752 switch (OpNum) {
13753 case 1:
13754 // op: vs2
13755 return 20;
13756 case 2:
13757 // op: vs1
13758 return 15;
13759 case 0:
13760 // op: rd
13761 return 9;
13762 }
13763 break;
13764 }
13765 case RISCV::AIF_MOV_M_X: {
13766 switch (OpNum) {
13767 case 2:
13768 // op: imm
13769 return 12;
13770 case 1:
13771 // op: rs1
13772 return 15;
13773 case 0:
13774 // op: rd
13775 return 7;
13776 }
13777 break;
13778 }
13779 case RISCV::AIF_FADDI_PI:
13780 case RISCV::AIF_FANDI_PI:
13781 case RISCV::AIF_FSLLI_PI:
13782 case RISCV::AIF_FSRAI_PI:
13783 case RISCV::AIF_FSRLI_PI: {
13784 switch (OpNum) {
13785 case 2:
13786 // op: imm
13787 return 20;
13788 case 1:
13789 // op: rs1
13790 return 15;
13791 case 0:
13792 // op: rd
13793 return 7;
13794 }
13795 break;
13796 }
13797 case RISCV::C_FLDSP:
13798 case RISCV::C_FLWSP:
13799 case RISCV::C_LDSP:
13800 case RISCV::C_LDSP_RV32:
13801 case RISCV::C_LWSP:
13802 case RISCV::C_LWSP_INX: {
13803 switch (OpNum) {
13804 case 2:
13805 // op: imm
13806 return 2;
13807 case 0:
13808 // op: rd
13809 return 7;
13810 }
13811 break;
13812 }
13813 case RISCV::C_ADDI:
13814 case RISCV::C_ADDIW:
13815 case RISCV::C_SLLI: {
13816 switch (OpNum) {
13817 case 2:
13818 // op: imm
13819 return 2;
13820 case 1:
13821 // op: rd
13822 return 7;
13823 }
13824 break;
13825 }
13826 case RISCV::C_ANDI:
13827 case RISCV::C_SRAI:
13828 case RISCV::C_SRLI: {
13829 switch (OpNum) {
13830 case 2:
13831 // op: imm
13832 return 2;
13833 case 1:
13834 // op: rs1
13835 return 7;
13836 }
13837 break;
13838 }
13839 case RISCV::C_ADDI16SP: {
13840 switch (OpNum) {
13841 case 2:
13842 // op: imm
13843 return 2;
13844 }
13845 break;
13846 }
13847 case RISCV::C_ADDI4SPN: {
13848 switch (OpNum) {
13849 case 2:
13850 // op: imm
13851 return 5;
13852 case 0:
13853 // op: rd
13854 return 2;
13855 }
13856 break;
13857 }
13858 case RISCV::C_FSDSP:
13859 case RISCV::C_FSWSP:
13860 case RISCV::C_SDSP:
13861 case RISCV::C_SDSP_RV32:
13862 case RISCV::C_SWSP:
13863 case RISCV::C_SWSP_INX: {
13864 switch (OpNum) {
13865 case 2:
13866 // op: imm
13867 return 7;
13868 case 0:
13869 // op: rs2
13870 return 2;
13871 }
13872 break;
13873 }
13874 case RISCV::NDS_BBC:
13875 case RISCV::NDS_BBS:
13876 case RISCV::NDS_BEQC:
13877 case RISCV::NDS_BNEC: {
13878 switch (OpNum) {
13879 case 2:
13880 // op: imm10
13881 return 8;
13882 case 0:
13883 // op: rs1
13884 return 15;
13885 case 1:
13886 // op: cimm
13887 return 7;
13888 }
13889 break;
13890 }
13891 case RISCV::CV_BEQIMM:
13892 case RISCV::CV_BNEIMM: {
13893 switch (OpNum) {
13894 case 2:
13895 // op: imm12
13896 return 7;
13897 case 0:
13898 // op: rs1
13899 return 15;
13900 case 1:
13901 // op: imm5
13902 return 20;
13903 }
13904 break;
13905 }
13906 case RISCV::FSD:
13907 case RISCV::FSH:
13908 case RISCV::FSQ:
13909 case RISCV::FSW:
13910 case RISCV::SB:
13911 case RISCV::SD:
13912 case RISCV::SD_RV32:
13913 case RISCV::SH:
13914 case RISCV::SH_INX:
13915 case RISCV::SW:
13916 case RISCV::SW_INX: {
13917 switch (OpNum) {
13918 case 2:
13919 // op: imm12
13920 return 7;
13921 case 0:
13922 // op: rs2
13923 return 20;
13924 case 1:
13925 // op: rs1
13926 return 15;
13927 }
13928 break;
13929 }
13930 case RISCV::BEQI:
13931 case RISCV::BNEI: {
13932 switch (OpNum) {
13933 case 2:
13934 // op: imm12
13935 return 7;
13936 case 1:
13937 // op: cimm
13938 return 20;
13939 case 0:
13940 // op: rs1
13941 return 15;
13942 }
13943 break;
13944 }
13945 case RISCV::BEQ:
13946 case RISCV::BGE:
13947 case RISCV::BGEU:
13948 case RISCV::BLT:
13949 case RISCV::BLTU:
13950 case RISCV::BNE:
13951 case RISCV::QC_BEQI:
13952 case RISCV::QC_BGEI:
13953 case RISCV::QC_BGEUI:
13954 case RISCV::QC_BLTI:
13955 case RISCV::QC_BLTUI:
13956 case RISCV::QC_BNEI: {
13957 switch (OpNum) {
13958 case 2:
13959 // op: imm12
13960 return 7;
13961 case 1:
13962 // op: rs2
13963 return 20;
13964 case 0:
13965 // op: rs1
13966 return 15;
13967 }
13968 break;
13969 }
13970 case RISCV::AIF_FBC_PS:
13971 case RISCV::AIF_FLQ2:
13972 case RISCV::AIF_FLW_PS:
13973 case RISCV::CSRRC:
13974 case RISCV::CSRRCI:
13975 case RISCV::CSRRS:
13976 case RISCV::CSRRSI:
13977 case RISCV::CSRRW:
13978 case RISCV::CSRRWI: {
13979 switch (OpNum) {
13980 case 2:
13981 // op: rs1
13982 return 15;
13983 case 0:
13984 // op: rd
13985 return 7;
13986 case 1:
13987 // op: imm12
13988 return 20;
13989 }
13990 break;
13991 }
13992 case RISCV::CV_LBU_ri_inc:
13993 case RISCV::CV_LB_ri_inc:
13994 case RISCV::CV_LHU_ri_inc:
13995 case RISCV::CV_LH_ri_inc:
13996 case RISCV::CV_LW_ri_inc: {
13997 switch (OpNum) {
13998 case 2:
13999 // op: rs1
14000 return 15;
14001 case 0:
14002 // op: rd
14003 return 7;
14004 case 3:
14005 // op: imm12
14006 return 20;
14007 }
14008 break;
14009 }
14010 case RISCV::TH_LBIA:
14011 case RISCV::TH_LBIB:
14012 case RISCV::TH_LBUIA:
14013 case RISCV::TH_LBUIB:
14014 case RISCV::TH_LDIA:
14015 case RISCV::TH_LDIB:
14016 case RISCV::TH_LHIA:
14017 case RISCV::TH_LHIB:
14018 case RISCV::TH_LHUIA:
14019 case RISCV::TH_LHUIB:
14020 case RISCV::TH_LWIA:
14021 case RISCV::TH_LWIB:
14022 case RISCV::TH_LWUIA:
14023 case RISCV::TH_LWUIB: {
14024 switch (OpNum) {
14025 case 2:
14026 // op: rs1
14027 return 15;
14028 case 0:
14029 // op: rd
14030 return 7;
14031 case 3:
14032 // op: simm5
14033 return 20;
14034 case 4:
14035 // op: uimm2
14036 return 25;
14037 }
14038 break;
14039 }
14040 case RISCV::QC_INSBRI: {
14041 switch (OpNum) {
14042 case 2:
14043 // op: rs1
14044 return 15;
14045 case 1:
14046 // op: rd
14047 return 7;
14048 case 3:
14049 // op: imm11
14050 return 20;
14051 }
14052 break;
14053 }
14054 case RISCV::QC_MULIADD: {
14055 switch (OpNum) {
14056 case 2:
14057 // op: rs1
14058 return 15;
14059 case 1:
14060 // op: rd
14061 return 7;
14062 case 3:
14063 // op: imm12
14064 return 20;
14065 }
14066 break;
14067 }
14068 case RISCV::CV_INSERT_B:
14069 case RISCV::CV_INSERT_H:
14070 case RISCV::CV_SDOTSP_SCI_B:
14071 case RISCV::CV_SDOTSP_SCI_H:
14072 case RISCV::CV_SDOTUP_SCI_B:
14073 case RISCV::CV_SDOTUP_SCI_H:
14074 case RISCV::CV_SDOTUSP_SCI_B:
14075 case RISCV::CV_SDOTUSP_SCI_H: {
14076 switch (OpNum) {
14077 case 2:
14078 // op: rs1
14079 return 15;
14080 case 1:
14081 // op: rd
14082 return 7;
14083 case 3:
14084 // op: imm6
14085 return 20;
14086 }
14087 break;
14088 }
14089 case RISCV::CV_INSERT: {
14090 switch (OpNum) {
14091 case 2:
14092 // op: rs1
14093 return 15;
14094 case 1:
14095 // op: rd
14096 return 7;
14097 case 3:
14098 // op: is3
14099 return 25;
14100 case 4:
14101 // op: is2
14102 return 20;
14103 }
14104 break;
14105 }
14106 case RISCV::QC_SELECTIIEQ:
14107 case RISCV::QC_SELECTIINE: {
14108 switch (OpNum) {
14109 case 2:
14110 // op: rs1
14111 return 15;
14112 case 1:
14113 // op: rd
14114 return 7;
14115 case 3:
14116 // op: simm1
14117 return 20;
14118 case 4:
14119 // op: simm2
14120 return 27;
14121 }
14122 break;
14123 }
14124 case RISCV::TH_SBIA:
14125 case RISCV::TH_SBIB:
14126 case RISCV::TH_SDIA:
14127 case RISCV::TH_SDIB:
14128 case RISCV::TH_SHIA:
14129 case RISCV::TH_SHIB:
14130 case RISCV::TH_SWIA:
14131 case RISCV::TH_SWIB: {
14132 switch (OpNum) {
14133 case 2:
14134 // op: rs1
14135 return 15;
14136 case 1:
14137 // op: rd
14138 return 7;
14139 case 3:
14140 // op: simm5
14141 return 20;
14142 case 4:
14143 // op: uimm2
14144 return 25;
14145 }
14146 break;
14147 }
14148 case RISCV::QC_INSB:
14149 case RISCV::QC_INSBH: {
14150 switch (OpNum) {
14151 case 2:
14152 // op: rs1
14153 return 15;
14154 case 1:
14155 // op: rd
14156 return 7;
14157 case 4:
14158 // op: shamt
14159 return 20;
14160 case 3:
14161 // op: width
14162 return 25;
14163 }
14164 break;
14165 }
14166 case RISCV::AES32DSI:
14167 case RISCV::AES32DSMI:
14168 case RISCV::AES32ESI:
14169 case RISCV::AES32ESMI:
14170 case RISCV::SM4ED:
14171 case RISCV::SM4KS: {
14172 switch (OpNum) {
14173 case 2:
14174 // op: rs2
14175 return 20;
14176 case 1:
14177 // op: rs1
14178 return 15;
14179 case 0:
14180 // op: rd
14181 return 7;
14182 case 3:
14183 // op: bs
14184 return 30;
14185 }
14186 break;
14187 }
14188 case RISCV::QC_LWM:
14189 case RISCV::QC_LWMI:
14190 case RISCV::QC_SETWM:
14191 case RISCV::QC_SETWMI:
14192 case RISCV::QC_SWM:
14193 case RISCV::QC_SWMI: {
14194 switch (OpNum) {
14195 case 2:
14196 // op: rs2
14197 return 20;
14198 case 1:
14199 // op: rs1
14200 return 15;
14201 case 0:
14202 // op: rd
14203 return 7;
14204 case 3:
14205 // op: imm
14206 return 25;
14207 }
14208 break;
14209 }
14210 case RISCV::CV_ADDN:
14211 case RISCV::CV_ADDRN:
14212 case RISCV::CV_ADDUN:
14213 case RISCV::CV_ADDURN:
14214 case RISCV::CV_MULHHSN:
14215 case RISCV::CV_MULHHSRN:
14216 case RISCV::CV_MULHHUN:
14217 case RISCV::CV_MULHHURN:
14218 case RISCV::CV_MULSN:
14219 case RISCV::CV_MULSRN:
14220 case RISCV::CV_MULUN:
14221 case RISCV::CV_MULURN:
14222 case RISCV::CV_SUBN:
14223 case RISCV::CV_SUBRN:
14224 case RISCV::CV_SUBUN:
14225 case RISCV::CV_SUBURN: {
14226 switch (OpNum) {
14227 case 2:
14228 // op: rs2
14229 return 20;
14230 case 1:
14231 // op: rs1
14232 return 15;
14233 case 0:
14234 // op: rd
14235 return 7;
14236 case 3:
14237 // op: imm5
14238 return 25;
14239 }
14240 break;
14241 }
14242 case RISCV::QC_LRB:
14243 case RISCV::QC_LRBU:
14244 case RISCV::QC_LRH:
14245 case RISCV::QC_LRHU:
14246 case RISCV::QC_LRW:
14247 case RISCV::QC_SHLADD:
14248 case RISCV::QC_SRB:
14249 case RISCV::QC_SRH:
14250 case RISCV::QC_SRW: {
14251 switch (OpNum) {
14252 case 2:
14253 // op: rs2
14254 return 20;
14255 case 1:
14256 // op: rs1
14257 return 15;
14258 case 0:
14259 // op: rd
14260 return 7;
14261 case 3:
14262 // op: shamt
14263 return 25;
14264 }
14265 break;
14266 }
14267 case RISCV::TH_ADDSL:
14268 case RISCV::TH_FLRD:
14269 case RISCV::TH_FLRW:
14270 case RISCV::TH_FLURD:
14271 case RISCV::TH_FLURW:
14272 case RISCV::TH_FSRD:
14273 case RISCV::TH_FSRW:
14274 case RISCV::TH_FSURD:
14275 case RISCV::TH_FSURW:
14276 case RISCV::TH_LRB:
14277 case RISCV::TH_LRBU:
14278 case RISCV::TH_LRD:
14279 case RISCV::TH_LRH:
14280 case RISCV::TH_LRHU:
14281 case RISCV::TH_LRW:
14282 case RISCV::TH_LRWU:
14283 case RISCV::TH_LURB:
14284 case RISCV::TH_LURBU:
14285 case RISCV::TH_LURD:
14286 case RISCV::TH_LURH:
14287 case RISCV::TH_LURHU:
14288 case RISCV::TH_LURW:
14289 case RISCV::TH_LURWU:
14290 case RISCV::TH_SRB:
14291 case RISCV::TH_SRD:
14292 case RISCV::TH_SRH:
14293 case RISCV::TH_SRW:
14294 case RISCV::TH_SURB:
14295 case RISCV::TH_SURD:
14296 case RISCV::TH_SURH:
14297 case RISCV::TH_SURW: {
14298 switch (OpNum) {
14299 case 2:
14300 // op: rs2
14301 return 20;
14302 case 1:
14303 // op: rs1
14304 return 15;
14305 case 0:
14306 // op: rd
14307 return 7;
14308 case 3:
14309 // op: uimm2
14310 return 25;
14311 }
14312 break;
14313 }
14314 case RISCV::AADD:
14315 case RISCV::AADDU:
14316 case RISCV::ADD:
14317 case RISCV::ADDW:
14318 case RISCV::ADD_UW:
14319 case RISCV::AES64DS:
14320 case RISCV::AES64DSM:
14321 case RISCV::AES64ES:
14322 case RISCV::AES64ESM:
14323 case RISCV::AES64KS2:
14324 case RISCV::AIF_BITMIXB:
14325 case RISCV::AIF_CUBEFACEIDX_PS:
14326 case RISCV::AIF_CUBEFACE_PS:
14327 case RISCV::AIF_CUBESGNSC_PS:
14328 case RISCV::AIF_CUBESGNTC_PS:
14329 case RISCV::AIF_FADD_PI:
14330 case RISCV::AIF_FAMOADDG_PI:
14331 case RISCV::AIF_FAMOADDL_PI:
14332 case RISCV::AIF_FAMOANDG_PI:
14333 case RISCV::AIF_FAMOANDL_PI:
14334 case RISCV::AIF_FAMOMAXG_PI:
14335 case RISCV::AIF_FAMOMAXG_PS:
14336 case RISCV::AIF_FAMOMAXL_PI:
14337 case RISCV::AIF_FAMOMAXL_PS:
14338 case RISCV::AIF_FAMOMAXUG_PI:
14339 case RISCV::AIF_FAMOMAXUL_PI:
14340 case RISCV::AIF_FAMOMING_PI:
14341 case RISCV::AIF_FAMOMING_PS:
14342 case RISCV::AIF_FAMOMINL_PI:
14343 case RISCV::AIF_FAMOMINL_PS:
14344 case RISCV::AIF_FAMOMINUG_PI:
14345 case RISCV::AIF_FAMOMINUL_PI:
14346 case RISCV::AIF_FAMOORG_PI:
14347 case RISCV::AIF_FAMOORL_PI:
14348 case RISCV::AIF_FAMOSWAPG_PI:
14349 case RISCV::AIF_FAMOSWAPL_PI:
14350 case RISCV::AIF_FAMOXORG_PI:
14351 case RISCV::AIF_FAMOXORL_PI:
14352 case RISCV::AIF_FAND_PI:
14353 case RISCV::AIF_FCMOVM_PS:
14354 case RISCV::AIF_FDIVU_PI:
14355 case RISCV::AIF_FDIV_PI:
14356 case RISCV::AIF_FEQM_PS:
14357 case RISCV::AIF_FEQ_PI:
14358 case RISCV::AIF_FEQ_PS:
14359 case RISCV::AIF_FG32B_PS:
14360 case RISCV::AIF_FG32H_PS:
14361 case RISCV::AIF_FG32W_PS:
14362 case RISCV::AIF_FGBG_PS:
14363 case RISCV::AIF_FGBL_PS:
14364 case RISCV::AIF_FGB_PS:
14365 case RISCV::AIF_FGHG_PS:
14366 case RISCV::AIF_FGHL_PS:
14367 case RISCV::AIF_FGH_PS:
14368 case RISCV::AIF_FGWG_PS:
14369 case RISCV::AIF_FGWL_PS:
14370 case RISCV::AIF_FGW_PS:
14371 case RISCV::AIF_FLEM_PS:
14372 case RISCV::AIF_FLE_PI:
14373 case RISCV::AIF_FLE_PS:
14374 case RISCV::AIF_FLTM_PI:
14375 case RISCV::AIF_FLTM_PS:
14376 case RISCV::AIF_FLTU_PI:
14377 case RISCV::AIF_FLT_PI:
14378 case RISCV::AIF_FLT_PS:
14379 case RISCV::AIF_FMAXU_PI:
14380 case RISCV::AIF_FMAX_PI:
14381 case RISCV::AIF_FMAX_PS:
14382 case RISCV::AIF_FMINU_PI:
14383 case RISCV::AIF_FMIN_PI:
14384 case RISCV::AIF_FMIN_PS:
14385 case RISCV::AIF_FMULHU_PI:
14386 case RISCV::AIF_FMULH_PI:
14387 case RISCV::AIF_FMUL_PI:
14388 case RISCV::AIF_FOR_PI:
14389 case RISCV::AIF_FRCP_FIX_RAST:
14390 case RISCV::AIF_FREMU_PI:
14391 case RISCV::AIF_FREM_PI:
14392 case RISCV::AIF_FSGNJN_PS:
14393 case RISCV::AIF_FSGNJX_PS:
14394 case RISCV::AIF_FSGNJ_PS:
14395 case RISCV::AIF_FSLL_PI:
14396 case RISCV::AIF_FSRA_PI:
14397 case RISCV::AIF_FSRL_PI:
14398 case RISCV::AIF_FSUB_PI:
14399 case RISCV::AIF_FXOR_PI:
14400 case RISCV::AIF_MASKAND:
14401 case RISCV::AIF_MASKOR:
14402 case RISCV::AIF_MASKXOR:
14403 case RISCV::AIF_PACKB:
14404 case RISCV::AND:
14405 case RISCV::ANDN:
14406 case RISCV::ASUB:
14407 case RISCV::ASUBU:
14408 case RISCV::BCLR:
14409 case RISCV::BEXT:
14410 case RISCV::BINV:
14411 case RISCV::BSET:
14412 case RISCV::CLMUL:
14413 case RISCV::CLMULH:
14414 case RISCV::CLMULR:
14415 case RISCV::CV_ADD_B:
14416 case RISCV::CV_ADD_DIV2:
14417 case RISCV::CV_ADD_DIV4:
14418 case RISCV::CV_ADD_DIV8:
14419 case RISCV::CV_ADD_H:
14420 case RISCV::CV_ADD_SC_B:
14421 case RISCV::CV_ADD_SC_H:
14422 case RISCV::CV_AND_B:
14423 case RISCV::CV_AND_H:
14424 case RISCV::CV_AND_SC_B:
14425 case RISCV::CV_AND_SC_H:
14426 case RISCV::CV_AVGU_B:
14427 case RISCV::CV_AVGU_H:
14428 case RISCV::CV_AVGU_SC_B:
14429 case RISCV::CV_AVGU_SC_H:
14430 case RISCV::CV_AVG_B:
14431 case RISCV::CV_AVG_H:
14432 case RISCV::CV_AVG_SC_B:
14433 case RISCV::CV_AVG_SC_H:
14434 case RISCV::CV_BCLRR:
14435 case RISCV::CV_BSETR:
14436 case RISCV::CV_CLIPR:
14437 case RISCV::CV_CLIPUR:
14438 case RISCV::CV_CMPEQ_B:
14439 case RISCV::CV_CMPEQ_H:
14440 case RISCV::CV_CMPEQ_SC_B:
14441 case RISCV::CV_CMPEQ_SC_H:
14442 case RISCV::CV_CMPGEU_B:
14443 case RISCV::CV_CMPGEU_H:
14444 case RISCV::CV_CMPGEU_SC_B:
14445 case RISCV::CV_CMPGEU_SC_H:
14446 case RISCV::CV_CMPGE_B:
14447 case RISCV::CV_CMPGE_H:
14448 case RISCV::CV_CMPGE_SC_B:
14449 case RISCV::CV_CMPGE_SC_H:
14450 case RISCV::CV_CMPGTU_B:
14451 case RISCV::CV_CMPGTU_H:
14452 case RISCV::CV_CMPGTU_SC_B:
14453 case RISCV::CV_CMPGTU_SC_H:
14454 case RISCV::CV_CMPGT_B:
14455 case RISCV::CV_CMPGT_H:
14456 case RISCV::CV_CMPGT_SC_B:
14457 case RISCV::CV_CMPGT_SC_H:
14458 case RISCV::CV_CMPLEU_B:
14459 case RISCV::CV_CMPLEU_H:
14460 case RISCV::CV_CMPLEU_SC_B:
14461 case RISCV::CV_CMPLEU_SC_H:
14462 case RISCV::CV_CMPLE_B:
14463 case RISCV::CV_CMPLE_H:
14464 case RISCV::CV_CMPLE_SC_B:
14465 case RISCV::CV_CMPLE_SC_H:
14466 case RISCV::CV_CMPLTU_B:
14467 case RISCV::CV_CMPLTU_H:
14468 case RISCV::CV_CMPLTU_SC_B:
14469 case RISCV::CV_CMPLTU_SC_H:
14470 case RISCV::CV_CMPLT_B:
14471 case RISCV::CV_CMPLT_H:
14472 case RISCV::CV_CMPLT_SC_B:
14473 case RISCV::CV_CMPLT_SC_H:
14474 case RISCV::CV_CMPNE_B:
14475 case RISCV::CV_CMPNE_H:
14476 case RISCV::CV_CMPNE_SC_B:
14477 case RISCV::CV_CMPNE_SC_H:
14478 case RISCV::CV_DOTSP_B:
14479 case RISCV::CV_DOTSP_H:
14480 case RISCV::CV_DOTSP_SC_B:
14481 case RISCV::CV_DOTSP_SC_H:
14482 case RISCV::CV_DOTUP_B:
14483 case RISCV::CV_DOTUP_H:
14484 case RISCV::CV_DOTUP_SC_B:
14485 case RISCV::CV_DOTUP_SC_H:
14486 case RISCV::CV_DOTUSP_B:
14487 case RISCV::CV_DOTUSP_H:
14488 case RISCV::CV_DOTUSP_SC_B:
14489 case RISCV::CV_DOTUSP_SC_H:
14490 case RISCV::CV_EXTRACTR:
14491 case RISCV::CV_EXTRACTUR:
14492 case RISCV::CV_LBU_rr:
14493 case RISCV::CV_LB_rr:
14494 case RISCV::CV_LHU_rr:
14495 case RISCV::CV_LH_rr:
14496 case RISCV::CV_LW_rr:
14497 case RISCV::CV_MAX:
14498 case RISCV::CV_MAXU:
14499 case RISCV::CV_MAXU_B:
14500 case RISCV::CV_MAXU_H:
14501 case RISCV::CV_MAXU_SC_B:
14502 case RISCV::CV_MAXU_SC_H:
14503 case RISCV::CV_MAX_B:
14504 case RISCV::CV_MAX_H:
14505 case RISCV::CV_MAX_SC_B:
14506 case RISCV::CV_MAX_SC_H:
14507 case RISCV::CV_MIN:
14508 case RISCV::CV_MINU:
14509 case RISCV::CV_MINU_B:
14510 case RISCV::CV_MINU_H:
14511 case RISCV::CV_MINU_SC_B:
14512 case RISCV::CV_MINU_SC_H:
14513 case RISCV::CV_MIN_B:
14514 case RISCV::CV_MIN_H:
14515 case RISCV::CV_MIN_SC_B:
14516 case RISCV::CV_MIN_SC_H:
14517 case RISCV::CV_OR_B:
14518 case RISCV::CV_OR_H:
14519 case RISCV::CV_OR_SC_B:
14520 case RISCV::CV_OR_SC_H:
14521 case RISCV::CV_PACK:
14522 case RISCV::CV_PACK_H:
14523 case RISCV::CV_ROR:
14524 case RISCV::CV_SHUFFLE_B:
14525 case RISCV::CV_SHUFFLE_H:
14526 case RISCV::CV_SLE:
14527 case RISCV::CV_SLEU:
14528 case RISCV::CV_SLL_B:
14529 case RISCV::CV_SLL_H:
14530 case RISCV::CV_SLL_SC_B:
14531 case RISCV::CV_SLL_SC_H:
14532 case RISCV::CV_SRA_B:
14533 case RISCV::CV_SRA_H:
14534 case RISCV::CV_SRA_SC_B:
14535 case RISCV::CV_SRA_SC_H:
14536 case RISCV::CV_SRL_B:
14537 case RISCV::CV_SRL_H:
14538 case RISCV::CV_SRL_SC_B:
14539 case RISCV::CV_SRL_SC_H:
14540 case RISCV::CV_SUBROTMJ:
14541 case RISCV::CV_SUBROTMJ_DIV2:
14542 case RISCV::CV_SUBROTMJ_DIV4:
14543 case RISCV::CV_SUBROTMJ_DIV8:
14544 case RISCV::CV_SUB_B:
14545 case RISCV::CV_SUB_DIV2:
14546 case RISCV::CV_SUB_DIV4:
14547 case RISCV::CV_SUB_DIV8:
14548 case RISCV::CV_SUB_H:
14549 case RISCV::CV_SUB_SC_B:
14550 case RISCV::CV_SUB_SC_H:
14551 case RISCV::CV_XOR_B:
14552 case RISCV::CV_XOR_H:
14553 case RISCV::CV_XOR_SC_B:
14554 case RISCV::CV_XOR_SC_H:
14555 case RISCV::CZERO_EQZ:
14556 case RISCV::CZERO_NEZ:
14557 case RISCV::DIV:
14558 case RISCV::DIVU:
14559 case RISCV::DIVUW:
14560 case RISCV::DIVW:
14561 case RISCV::FEQ_D:
14562 case RISCV::FEQ_D_IN32X:
14563 case RISCV::FEQ_D_INX:
14564 case RISCV::FEQ_H:
14565 case RISCV::FEQ_H_INX:
14566 case RISCV::FEQ_Q:
14567 case RISCV::FEQ_S:
14568 case RISCV::FEQ_S_INX:
14569 case RISCV::FLEQ_D:
14570 case RISCV::FLEQ_H:
14571 case RISCV::FLEQ_Q:
14572 case RISCV::FLEQ_S:
14573 case RISCV::FLE_D:
14574 case RISCV::FLE_D_IN32X:
14575 case RISCV::FLE_D_INX:
14576 case RISCV::FLE_H:
14577 case RISCV::FLE_H_INX:
14578 case RISCV::FLE_Q:
14579 case RISCV::FLE_S:
14580 case RISCV::FLE_S_INX:
14581 case RISCV::FLTQ_D:
14582 case RISCV::FLTQ_H:
14583 case RISCV::FLTQ_Q:
14584 case RISCV::FLTQ_S:
14585 case RISCV::FLT_D:
14586 case RISCV::FLT_D_IN32X:
14587 case RISCV::FLT_D_INX:
14588 case RISCV::FLT_H:
14589 case RISCV::FLT_H_INX:
14590 case RISCV::FLT_Q:
14591 case RISCV::FLT_S:
14592 case RISCV::FLT_S_INX:
14593 case RISCV::FMAXM_D:
14594 case RISCV::FMAXM_H:
14595 case RISCV::FMAXM_Q:
14596 case RISCV::FMAXM_S:
14597 case RISCV::FMAX_D:
14598 case RISCV::FMAX_D_IN32X:
14599 case RISCV::FMAX_D_INX:
14600 case RISCV::FMAX_H:
14601 case RISCV::FMAX_H_INX:
14602 case RISCV::FMAX_Q:
14603 case RISCV::FMAX_S:
14604 case RISCV::FMAX_S_INX:
14605 case RISCV::FMINM_D:
14606 case RISCV::FMINM_H:
14607 case RISCV::FMINM_Q:
14608 case RISCV::FMINM_S:
14609 case RISCV::FMIN_D:
14610 case RISCV::FMIN_D_IN32X:
14611 case RISCV::FMIN_D_INX:
14612 case RISCV::FMIN_H:
14613 case RISCV::FMIN_H_INX:
14614 case RISCV::FMIN_Q:
14615 case RISCV::FMIN_S:
14616 case RISCV::FMIN_S_INX:
14617 case RISCV::FMVP_D_X:
14618 case RISCV::FMVP_Q_X:
14619 case RISCV::FSGNJN_D:
14620 case RISCV::FSGNJN_D_IN32X:
14621 case RISCV::FSGNJN_D_INX:
14622 case RISCV::FSGNJN_H:
14623 case RISCV::FSGNJN_H_INX:
14624 case RISCV::FSGNJN_Q:
14625 case RISCV::FSGNJN_S:
14626 case RISCV::FSGNJN_S_INX:
14627 case RISCV::FSGNJX_D:
14628 case RISCV::FSGNJX_D_IN32X:
14629 case RISCV::FSGNJX_D_INX:
14630 case RISCV::FSGNJX_H:
14631 case RISCV::FSGNJX_H_INX:
14632 case RISCV::FSGNJX_Q:
14633 case RISCV::FSGNJX_S:
14634 case RISCV::FSGNJX_S_INX:
14635 case RISCV::FSGNJ_D:
14636 case RISCV::FSGNJ_D_IN32X:
14637 case RISCV::FSGNJ_D_INX:
14638 case RISCV::FSGNJ_H:
14639 case RISCV::FSGNJ_H_INX:
14640 case RISCV::FSGNJ_Q:
14641 case RISCV::FSGNJ_S:
14642 case RISCV::FSGNJ_S_INX:
14643 case RISCV::MAX:
14644 case RISCV::MAXU:
14645 case RISCV::MIN:
14646 case RISCV::MINU:
14647 case RISCV::MOP_RR_0:
14648 case RISCV::MOP_RR_1:
14649 case RISCV::MOP_RR_2:
14650 case RISCV::MOP_RR_3:
14651 case RISCV::MOP_RR_4:
14652 case RISCV::MOP_RR_5:
14653 case RISCV::MOP_RR_6:
14654 case RISCV::MOP_RR_7:
14655 case RISCV::MSEQ:
14656 case RISCV::MSLT:
14657 case RISCV::MSLTU:
14658 case RISCV::MUL:
14659 case RISCV::MULH:
14660 case RISCV::MULHR:
14661 case RISCV::MULHRSU:
14662 case RISCV::MULHRU:
14663 case RISCV::MULHSU:
14664 case RISCV::MULHSU_H0:
14665 case RISCV::MULHSU_H1:
14666 case RISCV::MULHU:
14667 case RISCV::MULH_H0:
14668 case RISCV::MULH_H1:
14669 case RISCV::MULQ:
14670 case RISCV::MULQR:
14671 case RISCV::MULSU_H00:
14672 case RISCV::MULSU_H11:
14673 case RISCV::MULSU_W00:
14674 case RISCV::MULSU_W11:
14675 case RISCV::MULU_H00:
14676 case RISCV::MULU_H01:
14677 case RISCV::MULU_H11:
14678 case RISCV::MULU_W00:
14679 case RISCV::MULU_W01:
14680 case RISCV::MULU_W11:
14681 case RISCV::MULW:
14682 case RISCV::MUL_H00:
14683 case RISCV::MUL_H01:
14684 case RISCV::MUL_H11:
14685 case RISCV::MUL_W00:
14686 case RISCV::MUL_W01:
14687 case RISCV::MUL_W11:
14688 case RISCV::NDS_FFB:
14689 case RISCV::NDS_FFMISM:
14690 case RISCV::NDS_FFZMISM:
14691 case RISCV::NDS_FLMISM:
14692 case RISCV::OR:
14693 case RISCV::ORN:
14694 case RISCV::PAADDU_B:
14695 case RISCV::PAADDU_H:
14696 case RISCV::PAADDU_W:
14697 case RISCV::PAADD_B:
14698 case RISCV::PAADD_H:
14699 case RISCV::PAADD_W:
14700 case RISCV::PAAS_HX:
14701 case RISCV::PAAS_WX:
14702 case RISCV::PABDSUMU_B:
14703 case RISCV::PABDU_B:
14704 case RISCV::PABDU_H:
14705 case RISCV::PABD_B:
14706 case RISCV::PABD_H:
14707 case RISCV::PACK:
14708 case RISCV::PACKH:
14709 case RISCV::PACKW:
14710 case RISCV::PACKY:
14711 case RISCV::PADD_B:
14712 case RISCV::PADD_BS:
14713 case RISCV::PADD_H:
14714 case RISCV::PADD_HS:
14715 case RISCV::PADD_W:
14716 case RISCV::PADD_WS:
14717 case RISCV::PASA_HX:
14718 case RISCV::PASA_WX:
14719 case RISCV::PASUBU_B:
14720 case RISCV::PASUBU_H:
14721 case RISCV::PASUBU_W:
14722 case RISCV::PASUB_B:
14723 case RISCV::PASUB_H:
14724 case RISCV::PASUB_W:
14725 case RISCV::PAS_HX:
14726 case RISCV::PAS_WX:
14727 case RISCV::PM2ADDSU_H:
14728 case RISCV::PM2ADDSU_W:
14729 case RISCV::PM2ADDU_H:
14730 case RISCV::PM2ADDU_W:
14731 case RISCV::PM2ADD_H:
14732 case RISCV::PM2ADD_HX:
14733 case RISCV::PM2ADD_W:
14734 case RISCV::PM2ADD_WX:
14735 case RISCV::PM2SADD_H:
14736 case RISCV::PM2SADD_HX:
14737 case RISCV::PM2SUB_H:
14738 case RISCV::PM2SUB_HX:
14739 case RISCV::PM2SUB_W:
14740 case RISCV::PM2SUB_WX:
14741 case RISCV::PM4ADDSU_B:
14742 case RISCV::PM4ADDSU_H:
14743 case RISCV::PM4ADDU_B:
14744 case RISCV::PM4ADDU_H:
14745 case RISCV::PM4ADD_B:
14746 case RISCV::PM4ADD_H:
14747 case RISCV::PMAXU_B:
14748 case RISCV::PMAXU_H:
14749 case RISCV::PMAXU_W:
14750 case RISCV::PMAX_B:
14751 case RISCV::PMAX_H:
14752 case RISCV::PMAX_W:
14753 case RISCV::PMINU_B:
14754 case RISCV::PMINU_H:
14755 case RISCV::PMINU_W:
14756 case RISCV::PMIN_B:
14757 case RISCV::PMIN_H:
14758 case RISCV::PMIN_W:
14759 case RISCV::PMQ2ADD_H:
14760 case RISCV::PMQ2ADD_W:
14761 case RISCV::PMQR2ADD_H:
14762 case RISCV::PMQR2ADD_W:
14763 case RISCV::PMSEQ_B:
14764 case RISCV::PMSEQ_H:
14765 case RISCV::PMSEQ_W:
14766 case RISCV::PMSLTU_B:
14767 case RISCV::PMSLTU_H:
14768 case RISCV::PMSLTU_W:
14769 case RISCV::PMSLT_B:
14770 case RISCV::PMSLT_H:
14771 case RISCV::PMSLT_W:
14772 case RISCV::PMULHRSU_H:
14773 case RISCV::PMULHRSU_W:
14774 case RISCV::PMULHRU_H:
14775 case RISCV::PMULHRU_W:
14776 case RISCV::PMULHR_H:
14777 case RISCV::PMULHR_W:
14778 case RISCV::PMULHSU_H:
14779 case RISCV::PMULHSU_H_B0:
14780 case RISCV::PMULHSU_H_B1:
14781 case RISCV::PMULHSU_W:
14782 case RISCV::PMULHSU_W_H0:
14783 case RISCV::PMULHSU_W_H1:
14784 case RISCV::PMULHU_H:
14785 case RISCV::PMULHU_W:
14786 case RISCV::PMULH_H:
14787 case RISCV::PMULH_H_B0:
14788 case RISCV::PMULH_H_B1:
14789 case RISCV::PMULH_W:
14790 case RISCV::PMULH_W_H0:
14791 case RISCV::PMULH_W_H1:
14792 case RISCV::PMULQR_H:
14793 case RISCV::PMULQR_W:
14794 case RISCV::PMULQ_H:
14795 case RISCV::PMULQ_W:
14796 case RISCV::PMULSU_H_B00:
14797 case RISCV::PMULSU_H_B11:
14798 case RISCV::PMULSU_W_H00:
14799 case RISCV::PMULSU_W_H11:
14800 case RISCV::PMULU_H_B00:
14801 case RISCV::PMULU_H_B01:
14802 case RISCV::PMULU_H_B11:
14803 case RISCV::PMULU_W_H00:
14804 case RISCV::PMULU_W_H01:
14805 case RISCV::PMULU_W_H11:
14806 case RISCV::PMUL_H_B00:
14807 case RISCV::PMUL_H_B01:
14808 case RISCV::PMUL_H_B11:
14809 case RISCV::PMUL_W_H00:
14810 case RISCV::PMUL_W_H01:
14811 case RISCV::PMUL_W_H11:
14812 case RISCV::PNCLIPP_B:
14813 case RISCV::PNCLIPP_H:
14814 case RISCV::PNCLIPP_W:
14815 case RISCV::PNCLIPUP_B:
14816 case RISCV::PNCLIPUP_H:
14817 case RISCV::PNCLIPUP_W:
14818 case RISCV::PPAIREO_B:
14819 case RISCV::PPAIREO_H:
14820 case RISCV::PPAIREO_W:
14821 case RISCV::PPAIRE_B:
14822 case RISCV::PPAIRE_H:
14823 case RISCV::PPAIROE_B:
14824 case RISCV::PPAIROE_H:
14825 case RISCV::PPAIROE_W:
14826 case RISCV::PPAIRO_B:
14827 case RISCV::PPAIRO_H:
14828 case RISCV::PPAIRO_W:
14829 case RISCV::PREDSUMU_BS:
14830 case RISCV::PREDSUMU_HS:
14831 case RISCV::PREDSUMU_WS:
14832 case RISCV::PREDSUM_BS:
14833 case RISCV::PREDSUM_HS:
14834 case RISCV::PREDSUM_WS:
14835 case RISCV::PSADDU_B:
14836 case RISCV::PSADDU_H:
14837 case RISCV::PSADDU_W:
14838 case RISCV::PSADD_B:
14839 case RISCV::PSADD_H:
14840 case RISCV::PSADD_W:
14841 case RISCV::PSAS_HX:
14842 case RISCV::PSAS_WX:
14843 case RISCV::PSA_HX:
14844 case RISCV::PSA_WX:
14845 case RISCV::PSH1ADD_H:
14846 case RISCV::PSH1ADD_W:
14847 case RISCV::PSLL_BS:
14848 case RISCV::PSLL_HS:
14849 case RISCV::PSLL_WS:
14850 case RISCV::PSRA_BS:
14851 case RISCV::PSRA_HS:
14852 case RISCV::PSRA_WS:
14853 case RISCV::PSRL_BS:
14854 case RISCV::PSRL_HS:
14855 case RISCV::PSRL_WS:
14856 case RISCV::PSSA_HX:
14857 case RISCV::PSSA_WX:
14858 case RISCV::PSSH1SADD_H:
14859 case RISCV::PSSH1SADD_W:
14860 case RISCV::PSSHAR_HS:
14861 case RISCV::PSSHAR_WS:
14862 case RISCV::PSSHA_HS:
14863 case RISCV::PSSHA_WS:
14864 case RISCV::PSSHLR_HS:
14865 case RISCV::PSSHLR_WS:
14866 case RISCV::PSSHL_HS:
14867 case RISCV::PSSHL_WS:
14868 case RISCV::PSSUBU_B:
14869 case RISCV::PSSUBU_H:
14870 case RISCV::PSSUBU_W:
14871 case RISCV::PSSUB_B:
14872 case RISCV::PSSUB_H:
14873 case RISCV::PSSUB_W:
14874 case RISCV::PSUB_B:
14875 case RISCV::PSUB_H:
14876 case RISCV::PSUB_W:
14877 case RISCV::QC_ADDSAT:
14878 case RISCV::QC_ADDUSAT:
14879 case RISCV::QC_CSRRWR:
14880 case RISCV::QC_CSRRWRI:
14881 case RISCV::QC_EXTDPR:
14882 case RISCV::QC_EXTDPRH:
14883 case RISCV::QC_EXTDR:
14884 case RISCV::QC_EXTDUPR:
14885 case RISCV::QC_EXTDUPRH:
14886 case RISCV::QC_EXTDUR:
14887 case RISCV::QC_SHLSAT:
14888 case RISCV::QC_SHLUSAT:
14889 case RISCV::QC_SUBSAT:
14890 case RISCV::QC_SUBUSAT:
14891 case RISCV::QC_WRAP:
14892 case RISCV::REM:
14893 case RISCV::REMU:
14894 case RISCV::REMUW:
14895 case RISCV::REMW:
14896 case RISCV::ROL:
14897 case RISCV::ROLW:
14898 case RISCV::ROR:
14899 case RISCV::RORW:
14900 case RISCV::SADD:
14901 case RISCV::SADDU:
14902 case RISCV::SH1ADD:
14903 case RISCV::SH1ADD_UW:
14904 case RISCV::SH2ADD:
14905 case RISCV::SH2ADD_UW:
14906 case RISCV::SH3ADD:
14907 case RISCV::SH3ADD_UW:
14908 case RISCV::SHA:
14909 case RISCV::SHA512SIG0H:
14910 case RISCV::SHA512SIG0L:
14911 case RISCV::SHA512SIG1H:
14912 case RISCV::SHA512SIG1L:
14913 case RISCV::SHA512SUM0R:
14914 case RISCV::SHA512SUM1R:
14915 case RISCV::SHAR:
14916 case RISCV::SHL:
14917 case RISCV::SHLR:
14918 case RISCV::SLL:
14919 case RISCV::SLLW:
14920 case RISCV::SLT:
14921 case RISCV::SLTU:
14922 case RISCV::SRA:
14923 case RISCV::SRAW:
14924 case RISCV::SRL:
14925 case RISCV::SRLW:
14926 case RISCV::SSH1SADD:
14927 case RISCV::SSHA:
14928 case RISCV::SSHAR:
14929 case RISCV::SSHL:
14930 case RISCV::SSHLR:
14931 case RISCV::SSUB:
14932 case RISCV::SSUBU:
14933 case RISCV::SUB:
14934 case RISCV::SUBW:
14935 case RISCV::UNZIP16HP:
14936 case RISCV::UNZIP16P:
14937 case RISCV::UNZIP8HP:
14938 case RISCV::UNZIP8P:
14939 case RISCV::VSETVL:
14940 case RISCV::XNOR:
14941 case RISCV::XOR:
14942 case RISCV::XPERM4:
14943 case RISCV::XPERM8:
14944 case RISCV::YADD:
14945 case RISCV::YADDRW:
14946 case RISCV::YBLD:
14947 case RISCV::YBNDSRW:
14948 case RISCV::YBNDSW:
14949 case RISCV::YEQ:
14950 case RISCV::YPERMC:
14951 case RISCV::YSS:
14952 case RISCV::YSUNSEAL:
14953 case RISCV::ZIP16HP:
14954 case RISCV::ZIP16P:
14955 case RISCV::ZIP8HP:
14956 case RISCV::ZIP8P: {
14957 switch (OpNum) {
14958 case 2:
14959 // op: rs2
14960 return 20;
14961 case 1:
14962 // op: rs1
14963 return 15;
14964 case 0:
14965 // op: rd
14966 return 7;
14967 }
14968 break;
14969 }
14970 case RISCV::PM2WADDSU_H:
14971 case RISCV::PM2WADDU_H:
14972 case RISCV::PM2WADD_H:
14973 case RISCV::PM2WADD_HX:
14974 case RISCV::PM2WSUB_H:
14975 case RISCV::PM2WSUB_HX:
14976 case RISCV::PWADDU_B:
14977 case RISCV::PWADDU_H:
14978 case RISCV::PWADD_B:
14979 case RISCV::PWADD_H:
14980 case RISCV::PWMULSU_B:
14981 case RISCV::PWMULSU_H:
14982 case RISCV::PWMULU_B:
14983 case RISCV::PWMULU_H:
14984 case RISCV::PWMUL_B:
14985 case RISCV::PWMUL_H:
14986 case RISCV::PWSLA_BS:
14987 case RISCV::PWSLA_HS:
14988 case RISCV::PWSLL_BS:
14989 case RISCV::PWSLL_HS:
14990 case RISCV::PWSUBU_B:
14991 case RISCV::PWSUBU_H:
14992 case RISCV::PWSUB_B:
14993 case RISCV::PWSUB_H:
14994 case RISCV::WADD:
14995 case RISCV::WADDU:
14996 case RISCV::WMUL:
14997 case RISCV::WMULSU:
14998 case RISCV::WMULU:
14999 case RISCV::WSLA:
15000 case RISCV::WSLL:
15001 case RISCV::WSUB:
15002 case RISCV::WSUBU:
15003 case RISCV::WZIP16P:
15004 case RISCV::WZIP8P: {
15005 switch (OpNum) {
15006 case 2:
15007 // op: rs2
15008 return 20;
15009 case 1:
15010 // op: rs1
15011 return 15;
15012 case 0:
15013 // op: rd
15014 return 8;
15015 }
15016 break;
15017 }
15018 case RISCV::FADD_D:
15019 case RISCV::FADD_D_IN32X:
15020 case RISCV::FADD_D_INX:
15021 case RISCV::FADD_H:
15022 case RISCV::FADD_H_INX:
15023 case RISCV::FADD_Q:
15024 case RISCV::FADD_S:
15025 case RISCV::FADD_S_INX:
15026 case RISCV::FDIV_D:
15027 case RISCV::FDIV_D_IN32X:
15028 case RISCV::FDIV_D_INX:
15029 case RISCV::FDIV_H:
15030 case RISCV::FDIV_H_INX:
15031 case RISCV::FDIV_Q:
15032 case RISCV::FDIV_S:
15033 case RISCV::FDIV_S_INX:
15034 case RISCV::FMUL_D:
15035 case RISCV::FMUL_D_IN32X:
15036 case RISCV::FMUL_D_INX:
15037 case RISCV::FMUL_H:
15038 case RISCV::FMUL_H_INX:
15039 case RISCV::FMUL_Q:
15040 case RISCV::FMUL_S:
15041 case RISCV::FMUL_S_INX:
15042 case RISCV::FSUB_D:
15043 case RISCV::FSUB_D_IN32X:
15044 case RISCV::FSUB_D_INX:
15045 case RISCV::FSUB_H:
15046 case RISCV::FSUB_H_INX:
15047 case RISCV::FSUB_Q:
15048 case RISCV::FSUB_S:
15049 case RISCV::FSUB_S_INX: {
15050 switch (OpNum) {
15051 case 2:
15052 // op: rs2
15053 return 20;
15054 case 1:
15055 // op: rs1
15056 return 15;
15057 case 3:
15058 // op: frm
15059 return 12;
15060 case 0:
15061 // op: rd
15062 return 7;
15063 }
15064 break;
15065 }
15066 case RISCV::AMOCAS_B:
15067 case RISCV::AMOCAS_B_AQ:
15068 case RISCV::AMOCAS_B_AQRL:
15069 case RISCV::AMOCAS_B_RL:
15070 case RISCV::AMOCAS_D_RV32:
15071 case RISCV::AMOCAS_D_RV32_AQ:
15072 case RISCV::AMOCAS_D_RV32_AQRL:
15073 case RISCV::AMOCAS_D_RV32_RL:
15074 case RISCV::AMOCAS_D_RV64:
15075 case RISCV::AMOCAS_D_RV64_AQ:
15076 case RISCV::AMOCAS_D_RV64_AQRL:
15077 case RISCV::AMOCAS_D_RV64_RL:
15078 case RISCV::AMOCAS_H:
15079 case RISCV::AMOCAS_H_AQ:
15080 case RISCV::AMOCAS_H_AQRL:
15081 case RISCV::AMOCAS_H_RL:
15082 case RISCV::AMOCAS_Q:
15083 case RISCV::AMOCAS_Q_AQ:
15084 case RISCV::AMOCAS_Q_AQRL:
15085 case RISCV::AMOCAS_Q_RL:
15086 case RISCV::AMOCAS_W:
15087 case RISCV::AMOCAS_W_AQ:
15088 case RISCV::AMOCAS_W_AQRL:
15089 case RISCV::AMOCAS_W_RL: {
15090 switch (OpNum) {
15091 case 2:
15092 // op: rs2
15093 return 20;
15094 case 3:
15095 // op: rs1
15096 return 15;
15097 case 1:
15098 // op: rd
15099 return 7;
15100 }
15101 break;
15102 }
15103 case RISCV::C_ADDW:
15104 case RISCV::C_AND:
15105 case RISCV::C_MUL:
15106 case RISCV::C_OR:
15107 case RISCV::C_SUB:
15108 case RISCV::C_SUBW:
15109 case RISCV::C_XOR: {
15110 switch (OpNum) {
15111 case 2:
15112 // op: rs2
15113 return 2;
15114 case 1:
15115 // op: rd
15116 return 7;
15117 }
15118 break;
15119 }
15120 case RISCV::SF_VC_V_I:
15121 case RISCV::SF_VC_V_IV: {
15122 switch (OpNum) {
15123 case 2:
15124 // op: vs2
15125 return 20;
15126 case 0:
15127 // op: vd
15128 return 7;
15129 case 3:
15130 // op: imm
15131 return 15;
15132 case 1:
15133 // op: funct6_lo2
15134 return 26;
15135 }
15136 break;
15137 }
15138 case RISCV::SF_VC_V_FV: {
15139 switch (OpNum) {
15140 case 2:
15141 // op: vs2
15142 return 20;
15143 case 0:
15144 // op: vd
15145 return 7;
15146 case 3:
15147 // op: rs1
15148 return 15;
15149 case 1:
15150 // op: funct6_lo1
15151 return 26;
15152 }
15153 break;
15154 }
15155 case RISCV::SF_VC_V_X:
15156 case RISCV::SF_VC_V_XV: {
15157 switch (OpNum) {
15158 case 2:
15159 // op: vs2
15160 return 20;
15161 case 0:
15162 // op: vd
15163 return 7;
15164 case 3:
15165 // op: rs1
15166 return 15;
15167 case 1:
15168 // op: funct6_lo2
15169 return 26;
15170 }
15171 break;
15172 }
15173 case RISCV::SF_VC_V_VV: {
15174 switch (OpNum) {
15175 case 2:
15176 // op: vs2
15177 return 20;
15178 case 0:
15179 // op: vd
15180 return 7;
15181 case 3:
15182 // op: vs1
15183 return 15;
15184 case 1:
15185 // op: funct6_lo2
15186 return 26;
15187 }
15188 break;
15189 }
15190 case RISCV::SF_VC_IV:
15191 case RISCV::SF_VC_IVV:
15192 case RISCV::SF_VC_IVW: {
15193 switch (OpNum) {
15194 case 2:
15195 // op: vs2
15196 return 20;
15197 case 1:
15198 // op: vd
15199 return 7;
15200 case 3:
15201 // op: imm
15202 return 15;
15203 case 0:
15204 // op: funct6_lo2
15205 return 26;
15206 }
15207 break;
15208 }
15209 case RISCV::SF_VC_FV:
15210 case RISCV::SF_VC_FVV:
15211 case RISCV::SF_VC_FVW: {
15212 switch (OpNum) {
15213 case 2:
15214 // op: vs2
15215 return 20;
15216 case 1:
15217 // op: vd
15218 return 7;
15219 case 3:
15220 // op: rs1
15221 return 15;
15222 case 0:
15223 // op: funct6_lo1
15224 return 26;
15225 }
15226 break;
15227 }
15228 case RISCV::SF_VC_XV:
15229 case RISCV::SF_VC_XVV:
15230 case RISCV::SF_VC_XVW: {
15231 switch (OpNum) {
15232 case 2:
15233 // op: vs2
15234 return 20;
15235 case 1:
15236 // op: vd
15237 return 7;
15238 case 3:
15239 // op: rs1
15240 return 15;
15241 case 0:
15242 // op: funct6_lo2
15243 return 26;
15244 }
15245 break;
15246 }
15247 case RISCV::SF_VC_VV:
15248 case RISCV::SF_VC_VVV:
15249 case RISCV::SF_VC_VVW: {
15250 switch (OpNum) {
15251 case 2:
15252 // op: vs2
15253 return 20;
15254 case 1:
15255 // op: vd
15256 return 7;
15257 case 3:
15258 // op: vs1
15259 return 15;
15260 case 0:
15261 // op: funct6_lo2
15262 return 26;
15263 }
15264 break;
15265 }
15266 case RISCV::NDS_VD4DOTSU_VV:
15267 case RISCV::NDS_VD4DOTS_VV:
15268 case RISCV::NDS_VD4DOTU_VV: {
15269 switch (OpNum) {
15270 case 2:
15271 // op: vs2
15272 return 20;
15273 case 1:
15274 // op: vs1
15275 return 15;
15276 case 0:
15277 // op: vd
15278 return 7;
15279 case 3:
15280 // op: vm
15281 return 25;
15282 }
15283 break;
15284 }
15285 case RISCV::AIF_MASKPOPC_ET_RAST: {
15286 switch (OpNum) {
15287 case 3:
15288 // op: imm
15289 return 18;
15290 case 2:
15291 // op: rs2
15292 return 20;
15293 case 1:
15294 // op: rs1
15295 return 15;
15296 case 0:
15297 // op: rd
15298 return 7;
15299 }
15300 break;
15301 }
15302 case RISCV::CV_SB_ri_inc:
15303 case RISCV::CV_SH_ri_inc:
15304 case RISCV::CV_SW_ri_inc: {
15305 switch (OpNum) {
15306 case 3:
15307 // op: imm12
15308 return 7;
15309 case 1:
15310 // op: rs2
15311 return 20;
15312 case 2:
15313 // op: rs1
15314 return 15;
15315 }
15316 break;
15317 }
15318 case RISCV::MIPS_SDP: {
15319 switch (OpNum) {
15320 case 3:
15321 // op: imm7
15322 return 10;
15323 case 1:
15324 // op: rs3
15325 return 27;
15326 case 0:
15327 // op: rs2
15328 return 20;
15329 case 2:
15330 // op: rs1
15331 return 15;
15332 }
15333 break;
15334 }
15335 case RISCV::MIPS_LWP: {
15336 switch (OpNum) {
15337 case 3:
15338 // op: imm7
15339 return 22;
15340 case 2:
15341 // op: rs1
15342 return 15;
15343 case 0:
15344 // op: rd1
15345 return 7;
15346 case 1:
15347 // op: rd2
15348 return 27;
15349 }
15350 break;
15351 }
15352 case RISCV::MIPS_LDP: {
15353 switch (OpNum) {
15354 case 3:
15355 // op: imm7
15356 return 23;
15357 case 2:
15358 // op: rs1
15359 return 15;
15360 case 0:
15361 // op: rd1
15362 return 7;
15363 case 1:
15364 // op: rd2
15365 return 27;
15366 }
15367 break;
15368 }
15369 case RISCV::MIPS_SWP: {
15370 switch (OpNum) {
15371 case 3:
15372 // op: imm7
15373 return 9;
15374 case 1:
15375 // op: rs3
15376 return 27;
15377 case 0:
15378 // op: rs2
15379 return 20;
15380 case 2:
15381 // op: rs1
15382 return 15;
15383 }
15384 break;
15385 }
15386 case RISCV::QC_SELECTIEQI:
15387 case RISCV::QC_SELECTINEI: {
15388 switch (OpNum) {
15389 case 3:
15390 // op: rs2
15391 return 20;
15392 case 1:
15393 // op: rd
15394 return 7;
15395 case 2:
15396 // op: imm
15397 return 15;
15398 case 4:
15399 // op: simm2
15400 return 27;
15401 }
15402 break;
15403 }
15404 case RISCV::CV_LBU_rr_inc:
15405 case RISCV::CV_LB_rr_inc:
15406 case RISCV::CV_LHU_rr_inc:
15407 case RISCV::CV_LH_rr_inc:
15408 case RISCV::CV_LW_rr_inc: {
15409 switch (OpNum) {
15410 case 3:
15411 // op: rs2
15412 return 20;
15413 case 2:
15414 // op: rs1
15415 return 15;
15416 case 0:
15417 // op: rd
15418 return 7;
15419 }
15420 break;
15421 }
15422 case RISCV::CV_MACHHSN:
15423 case RISCV::CV_MACHHSRN:
15424 case RISCV::CV_MACHHUN:
15425 case RISCV::CV_MACHHURN:
15426 case RISCV::CV_MACSN:
15427 case RISCV::CV_MACSRN:
15428 case RISCV::CV_MACUN:
15429 case RISCV::CV_MACURN: {
15430 switch (OpNum) {
15431 case 3:
15432 // op: rs2
15433 return 20;
15434 case 2:
15435 // op: rs1
15436 return 15;
15437 case 1:
15438 // op: rd
15439 return 7;
15440 case 4:
15441 // op: imm5
15442 return 25;
15443 }
15444 break;
15445 }
15446 case RISCV::QC_LIEQ:
15447 case RISCV::QC_LIEQI:
15448 case RISCV::QC_LIGE:
15449 case RISCV::QC_LIGEI:
15450 case RISCV::QC_LIGEU:
15451 case RISCV::QC_LIGEUI:
15452 case RISCV::QC_LILT:
15453 case RISCV::QC_LILTI:
15454 case RISCV::QC_LILTU:
15455 case RISCV::QC_LILTUI:
15456 case RISCV::QC_LINE:
15457 case RISCV::QC_LINEI: {
15458 switch (OpNum) {
15459 case 3:
15460 // op: rs2
15461 return 20;
15462 case 2:
15463 // op: rs1
15464 return 15;
15465 case 1:
15466 // op: rd
15467 return 7;
15468 case 4:
15469 // op: simm
15470 return 27;
15471 }
15472 break;
15473 }
15474 case RISCV::QC_SELECTIEQ:
15475 case RISCV::QC_SELECTINE: {
15476 switch (OpNum) {
15477 case 3:
15478 // op: rs2
15479 return 20;
15480 case 2:
15481 // op: rs1
15482 return 15;
15483 case 1:
15484 // op: rd
15485 return 7;
15486 case 4:
15487 // op: simm2
15488 return 27;
15489 }
15490 break;
15491 }
15492 case RISCV::CV_ADDNR:
15493 case RISCV::CV_ADDRNR:
15494 case RISCV::CV_ADDUNR:
15495 case RISCV::CV_ADDURNR:
15496 case RISCV::CV_CPLXMUL_I:
15497 case RISCV::CV_CPLXMUL_I_DIV2:
15498 case RISCV::CV_CPLXMUL_I_DIV4:
15499 case RISCV::CV_CPLXMUL_I_DIV8:
15500 case RISCV::CV_CPLXMUL_R:
15501 case RISCV::CV_CPLXMUL_R_DIV2:
15502 case RISCV::CV_CPLXMUL_R_DIV4:
15503 case RISCV::CV_CPLXMUL_R_DIV8:
15504 case RISCV::CV_INSERTR:
15505 case RISCV::CV_MAC:
15506 case RISCV::CV_MSU:
15507 case RISCV::CV_PACKHI_B:
15508 case RISCV::CV_PACKLO_B:
15509 case RISCV::CV_SDOTSP_B:
15510 case RISCV::CV_SDOTSP_H:
15511 case RISCV::CV_SDOTSP_SC_B:
15512 case RISCV::CV_SDOTSP_SC_H:
15513 case RISCV::CV_SDOTUP_B:
15514 case RISCV::CV_SDOTUP_H:
15515 case RISCV::CV_SDOTUP_SC_B:
15516 case RISCV::CV_SDOTUP_SC_H:
15517 case RISCV::CV_SDOTUSP_B:
15518 case RISCV::CV_SDOTUSP_H:
15519 case RISCV::CV_SDOTUSP_SC_B:
15520 case RISCV::CV_SDOTUSP_SC_H:
15521 case RISCV::CV_SHUFFLE2_B:
15522 case RISCV::CV_SHUFFLE2_H:
15523 case RISCV::CV_SUBNR:
15524 case RISCV::CV_SUBRNR:
15525 case RISCV::CV_SUBUNR:
15526 case RISCV::CV_SUBURNR:
15527 case RISCV::MACCSU_H00:
15528 case RISCV::MACCSU_H11:
15529 case RISCV::MACCSU_W00:
15530 case RISCV::MACCSU_W11:
15531 case RISCV::MACCU_H00:
15532 case RISCV::MACCU_H01:
15533 case RISCV::MACCU_H11:
15534 case RISCV::MACCU_W00:
15535 case RISCV::MACCU_W01:
15536 case RISCV::MACCU_W11:
15537 case RISCV::MACC_H00:
15538 case RISCV::MACC_H01:
15539 case RISCV::MACC_H11:
15540 case RISCV::MACC_W00:
15541 case RISCV::MACC_W01:
15542 case RISCV::MACC_W11:
15543 case RISCV::MERGE:
15544 case RISCV::MHACC:
15545 case RISCV::MHACCSU:
15546 case RISCV::MHACCSU_H0:
15547 case RISCV::MHACCSU_H1:
15548 case RISCV::MHACCU:
15549 case RISCV::MHACC_H0:
15550 case RISCV::MHACC_H1:
15551 case RISCV::MHRACC:
15552 case RISCV::MHRACCSU:
15553 case RISCV::MHRACCU:
15554 case RISCV::MQACC_H00:
15555 case RISCV::MQACC_H01:
15556 case RISCV::MQACC_H11:
15557 case RISCV::MQACC_W00:
15558 case RISCV::MQACC_W01:
15559 case RISCV::MQACC_W11:
15560 case RISCV::MQRACC_H00:
15561 case RISCV::MQRACC_H01:
15562 case RISCV::MQRACC_H11:
15563 case RISCV::MQRACC_W00:
15564 case RISCV::MQRACC_W01:
15565 case RISCV::MQRACC_W11:
15566 case RISCV::MVM:
15567 case RISCV::MVMN:
15568 case RISCV::PABDSUMAU_B:
15569 case RISCV::PM2ADDASU_H:
15570 case RISCV::PM2ADDASU_W:
15571 case RISCV::PM2ADDAU_H:
15572 case RISCV::PM2ADDAU_W:
15573 case RISCV::PM2ADDA_H:
15574 case RISCV::PM2ADDA_HX:
15575 case RISCV::PM2ADDA_W:
15576 case RISCV::PM2ADDA_WX:
15577 case RISCV::PM2SUBA_H:
15578 case RISCV::PM2SUBA_HX:
15579 case RISCV::PM2SUBA_W:
15580 case RISCV::PM2SUBA_WX:
15581 case RISCV::PM4ADDASU_B:
15582 case RISCV::PM4ADDASU_H:
15583 case RISCV::PM4ADDAU_B:
15584 case RISCV::PM4ADDAU_H:
15585 case RISCV::PM4ADDA_B:
15586 case RISCV::PM4ADDA_H:
15587 case RISCV::PMACCSU_W_H00:
15588 case RISCV::PMACCSU_W_H11:
15589 case RISCV::PMACCU_W_H00:
15590 case RISCV::PMACCU_W_H01:
15591 case RISCV::PMACCU_W_H11:
15592 case RISCV::PMACC_W_H00:
15593 case RISCV::PMACC_W_H01:
15594 case RISCV::PMACC_W_H11:
15595 case RISCV::PMHACCSU_H:
15596 case RISCV::PMHACCSU_H_B0:
15597 case RISCV::PMHACCSU_H_B1:
15598 case RISCV::PMHACCSU_W:
15599 case RISCV::PMHACCSU_W_H0:
15600 case RISCV::PMHACCSU_W_H1:
15601 case RISCV::PMHACCU_H:
15602 case RISCV::PMHACCU_W:
15603 case RISCV::PMHACC_H:
15604 case RISCV::PMHACC_H_B0:
15605 case RISCV::PMHACC_H_B1:
15606 case RISCV::PMHACC_W:
15607 case RISCV::PMHACC_W_H0:
15608 case RISCV::PMHACC_W_H1:
15609 case RISCV::PMHRACCSU_H:
15610 case RISCV::PMHRACCSU_W:
15611 case RISCV::PMHRACCU_H:
15612 case RISCV::PMHRACCU_W:
15613 case RISCV::PMHRACC_H:
15614 case RISCV::PMHRACC_W:
15615 case RISCV::PMQ2ADDA_H:
15616 case RISCV::PMQ2ADDA_W:
15617 case RISCV::PMQACC_W_H00:
15618 case RISCV::PMQACC_W_H01:
15619 case RISCV::PMQACC_W_H11:
15620 case RISCV::PMQR2ADDA_H:
15621 case RISCV::PMQR2ADDA_W:
15622 case RISCV::PMQRACC_W_H00:
15623 case RISCV::PMQRACC_W_H01:
15624 case RISCV::PMQRACC_W_H11:
15625 case RISCV::QC_INSBHR:
15626 case RISCV::QC_INSBPR:
15627 case RISCV::QC_INSBPRH:
15628 case RISCV::QC_INSBR:
15629 case RISCV::SLX:
15630 case RISCV::SRX:
15631 case RISCV::TH_MULA:
15632 case RISCV::TH_MULAH:
15633 case RISCV::TH_MULAW:
15634 case RISCV::TH_MULS:
15635 case RISCV::TH_MULSH:
15636 case RISCV::TH_MULSW:
15637 case RISCV::TH_MVEQZ:
15638 case RISCV::TH_MVNEZ: {
15639 switch (OpNum) {
15640 case 3:
15641 // op: rs2
15642 return 20;
15643 case 2:
15644 // op: rs1
15645 return 15;
15646 case 1:
15647 // op: rd
15648 return 7;
15649 }
15650 break;
15651 }
15652 case RISCV::MQRWACC:
15653 case RISCV::MQWACC:
15654 case RISCV::PM2WADDASU_H:
15655 case RISCV::PM2WADDAU_H:
15656 case RISCV::PM2WADDA_H:
15657 case RISCV::PM2WADDA_HX:
15658 case RISCV::PM2WSUBA_H:
15659 case RISCV::PM2WSUBA_HX:
15660 case RISCV::PMQRWACC_H:
15661 case RISCV::PMQWACC_H:
15662 case RISCV::PWADDAU_B:
15663 case RISCV::PWADDAU_H:
15664 case RISCV::PWADDA_B:
15665 case RISCV::PWADDA_H:
15666 case RISCV::PWMACCSU_H:
15667 case RISCV::PWMACCU_H:
15668 case RISCV::PWMACC_H:
15669 case RISCV::PWSUBAU_B:
15670 case RISCV::PWSUBAU_H:
15671 case RISCV::PWSUBA_B:
15672 case RISCV::PWSUBA_H:
15673 case RISCV::WADDA:
15674 case RISCV::WADDAU:
15675 case RISCV::WMACC:
15676 case RISCV::WMACCSU:
15677 case RISCV::WMACCU:
15678 case RISCV::WSUBA:
15679 case RISCV::WSUBAU: {
15680 switch (OpNum) {
15681 case 3:
15682 // op: rs2
15683 return 20;
15684 case 2:
15685 // op: rs1
15686 return 15;
15687 case 1:
15688 // op: rd
15689 return 8;
15690 }
15691 break;
15692 }
15693 case RISCV::MIPS_CCMOV: {
15694 switch (OpNum) {
15695 case 3:
15696 // op: rs3
15697 return 27;
15698 case 2:
15699 // op: rs2
15700 return 20;
15701 case 1:
15702 // op: rs1
15703 return 15;
15704 case 0:
15705 // op: rd
15706 return 7;
15707 }
15708 break;
15709 }
15710 case RISCV::FMADD_D:
15711 case RISCV::FMADD_D_IN32X:
15712 case RISCV::FMADD_D_INX:
15713 case RISCV::FMADD_H:
15714 case RISCV::FMADD_H_INX:
15715 case RISCV::FMADD_Q:
15716 case RISCV::FMADD_S:
15717 case RISCV::FMADD_S_INX:
15718 case RISCV::FMSUB_D:
15719 case RISCV::FMSUB_D_IN32X:
15720 case RISCV::FMSUB_D_INX:
15721 case RISCV::FMSUB_H:
15722 case RISCV::FMSUB_H_INX:
15723 case RISCV::FMSUB_Q:
15724 case RISCV::FMSUB_S:
15725 case RISCV::FMSUB_S_INX:
15726 case RISCV::FNMADD_D:
15727 case RISCV::FNMADD_D_IN32X:
15728 case RISCV::FNMADD_D_INX:
15729 case RISCV::FNMADD_H:
15730 case RISCV::FNMADD_H_INX:
15731 case RISCV::FNMADD_Q:
15732 case RISCV::FNMADD_S:
15733 case RISCV::FNMADD_S_INX:
15734 case RISCV::FNMSUB_D:
15735 case RISCV::FNMSUB_D_IN32X:
15736 case RISCV::FNMSUB_D_INX:
15737 case RISCV::FNMSUB_H:
15738 case RISCV::FNMSUB_H_INX:
15739 case RISCV::FNMSUB_Q:
15740 case RISCV::FNMSUB_S:
15741 case RISCV::FNMSUB_S_INX: {
15742 switch (OpNum) {
15743 case 3:
15744 // op: rs3
15745 return 27;
15746 case 2:
15747 // op: rs2
15748 return 20;
15749 case 1:
15750 // op: rs1
15751 return 15;
15752 case 4:
15753 // op: frm
15754 return 12;
15755 case 0:
15756 // op: rd
15757 return 7;
15758 }
15759 break;
15760 }
15761 case RISCV::CV_SB_rr_inc:
15762 case RISCV::CV_SH_rr_inc:
15763 case RISCV::CV_SW_rr_inc: {
15764 switch (OpNum) {
15765 case 3:
15766 // op: rs3
15767 return 7;
15768 case 1:
15769 // op: rs2
15770 return 20;
15771 case 2:
15772 // op: rs1
15773 return 15;
15774 }
15775 break;
15776 }
15777 case RISCV::SF_VC_V_IVV:
15778 case RISCV::SF_VC_V_IVW: {
15779 switch (OpNum) {
15780 case 3:
15781 // op: vs2
15782 return 20;
15783 case 2:
15784 // op: vd
15785 return 7;
15786 case 4:
15787 // op: imm
15788 return 15;
15789 case 1:
15790 // op: funct6_lo2
15791 return 26;
15792 }
15793 break;
15794 }
15795 case RISCV::SF_VC_V_FVV:
15796 case RISCV::SF_VC_V_FVW: {
15797 switch (OpNum) {
15798 case 3:
15799 // op: vs2
15800 return 20;
15801 case 2:
15802 // op: vd
15803 return 7;
15804 case 4:
15805 // op: rs1
15806 return 15;
15807 case 1:
15808 // op: funct6_lo1
15809 return 26;
15810 }
15811 break;
15812 }
15813 case RISCV::SF_VC_V_XVV:
15814 case RISCV::SF_VC_V_XVW: {
15815 switch (OpNum) {
15816 case 3:
15817 // op: vs2
15818 return 20;
15819 case 2:
15820 // op: vd
15821 return 7;
15822 case 4:
15823 // op: rs1
15824 return 15;
15825 case 1:
15826 // op: funct6_lo2
15827 return 26;
15828 }
15829 break;
15830 }
15831 case RISCV::SF_VC_V_VVV:
15832 case RISCV::SF_VC_V_VVW: {
15833 switch (OpNum) {
15834 case 3:
15835 // op: vs2
15836 return 20;
15837 case 2:
15838 // op: vd
15839 return 7;
15840 case 4:
15841 // op: vs1
15842 return 15;
15843 case 1:
15844 // op: funct6_lo2
15845 return 26;
15846 }
15847 break;
15848 }
15849 case RISCV::QC_MVEQI:
15850 case RISCV::QC_MVGEI:
15851 case RISCV::QC_MVGEUI:
15852 case RISCV::QC_MVLTI:
15853 case RISCV::QC_MVLTUI:
15854 case RISCV::QC_MVNEI: {
15855 switch (OpNum) {
15856 case 4:
15857 // op: rs3
15858 return 27;
15859 case 2:
15860 // op: rs1
15861 return 15;
15862 case 1:
15863 // op: rd
15864 return 7;
15865 case 3:
15866 // op: imm
15867 return 20;
15868 }
15869 break;
15870 }
15871 case RISCV::QC_SELECTEQI:
15872 case RISCV::QC_SELECTNEI: {
15873 switch (OpNum) {
15874 case 4:
15875 // op: rs3
15876 return 27;
15877 case 3:
15878 // op: rs2
15879 return 20;
15880 case 1:
15881 // op: rd
15882 return 7;
15883 case 2:
15884 // op: imm
15885 return 15;
15886 }
15887 break;
15888 }
15889 case RISCV::QC_MVEQ:
15890 case RISCV::QC_MVGE:
15891 case RISCV::QC_MVGEU:
15892 case RISCV::QC_MVLT:
15893 case RISCV::QC_MVLTU:
15894 case RISCV::QC_MVNE: {
15895 switch (OpNum) {
15896 case 4:
15897 // op: rs3
15898 return 27;
15899 case 3:
15900 // op: rs2
15901 return 20;
15902 case 2:
15903 // op: rs1
15904 return 15;
15905 case 1:
15906 // op: rd
15907 return 7;
15908 }
15909 break;
15910 }
15911 default:
15912 reportUnsupportedInst(MI);
15913 }
15914 reportUnsupportedOperand(MI, OpNum);
15915}
15916
15917#endif // GET_OPERAND_BIT_OFFSET
15918
15919