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(1140850771), // FCVT_H_S
905 UINT64_C(1140850771), // FCVT_H_S_INX
906 UINT64_C(3556769875), // FCVT_H_W
907 UINT64_C(3557818451), // FCVT_H_WU
908 UINT64_C(3557818451), // FCVT_H_WU_INX
909 UINT64_C(3556769875), // FCVT_H_W_INX
910 UINT64_C(3257925715), // FCVT_LU_D
911 UINT64_C(3257925715), // FCVT_LU_D_INX
912 UINT64_C(3291480147), // FCVT_LU_H
913 UINT64_C(3291480147), // FCVT_LU_H_INX
914 UINT64_C(3325034579), // FCVT_LU_Q
915 UINT64_C(3224371283), // FCVT_LU_S
916 UINT64_C(3224371283), // FCVT_LU_S_INX
917 UINT64_C(3256877139), // FCVT_L_D
918 UINT64_C(3256877139), // FCVT_L_D_INX
919 UINT64_C(3290431571), // FCVT_L_H
920 UINT64_C(3290431571), // FCVT_L_H_INX
921 UINT64_C(3323986003), // FCVT_L_Q
922 UINT64_C(3223322707), // FCVT_L_S
923 UINT64_C(3223322707), // FCVT_L_S_INX
924 UINT64_C(1175453779), // FCVT_Q_D
925 UINT64_C(3592421459), // FCVT_Q_L
926 UINT64_C(3593470035), // FCVT_Q_LU
927 UINT64_C(1174405203), // FCVT_Q_S
928 UINT64_C(3590324307), // FCVT_Q_W
929 UINT64_C(3591372883), // FCVT_Q_WU
930 UINT64_C(1080033363), // FCVT_S_BF16
931 UINT64_C(1074790483), // FCVT_S_D
932 UINT64_C(1074790483), // FCVT_S_D_IN32X
933 UINT64_C(1074790483), // FCVT_S_D_INX
934 UINT64_C(1075839059), // FCVT_S_H
935 UINT64_C(1075839059), // FCVT_S_H_INX
936 UINT64_C(3491758163), // FCVT_S_L
937 UINT64_C(3492806739), // FCVT_S_LU
938 UINT64_C(3492806739), // FCVT_S_LU_INX
939 UINT64_C(3491758163), // FCVT_S_L_INX
940 UINT64_C(1076887635), // FCVT_S_Q
941 UINT64_C(3489661011), // FCVT_S_W
942 UINT64_C(3490709587), // FCVT_S_WU
943 UINT64_C(3490709587), // FCVT_S_WU_INX
944 UINT64_C(3489661011), // FCVT_S_W_INX
945 UINT64_C(3255828563), // FCVT_WU_D
946 UINT64_C(3255828563), // FCVT_WU_D_IN32X
947 UINT64_C(3255828563), // FCVT_WU_D_INX
948 UINT64_C(3289382995), // FCVT_WU_H
949 UINT64_C(3289382995), // FCVT_WU_H_INX
950 UINT64_C(3322937427), // FCVT_WU_Q
951 UINT64_C(3222274131), // FCVT_WU_S
952 UINT64_C(3222274131), // FCVT_WU_S_INX
953 UINT64_C(3254779987), // FCVT_W_D
954 UINT64_C(3254779987), // FCVT_W_D_IN32X
955 UINT64_C(3254779987), // FCVT_W_D_INX
956 UINT64_C(3288334419), // FCVT_W_H
957 UINT64_C(3288334419), // FCVT_W_H_INX
958 UINT64_C(3321888851), // FCVT_W_Q
959 UINT64_C(3221225555), // FCVT_W_S
960 UINT64_C(3221225555), // FCVT_W_S_INX
961 UINT64_C(436207699), // FDIV_D
962 UINT64_C(436207699), // FDIV_D_IN32X
963 UINT64_C(436207699), // FDIV_D_INX
964 UINT64_C(469762131), // FDIV_H
965 UINT64_C(469762131), // FDIV_H_INX
966 UINT64_C(503316563), // FDIV_Q
967 UINT64_C(402653267), // FDIV_S
968 UINT64_C(402653267), // FDIV_S_INX
969 UINT64_C(15), // FENCE
970 UINT64_C(4111), // FENCE_I
971 UINT64_C(2200961039), // FENCE_TSO
972 UINT64_C(2717917267), // FEQ_D
973 UINT64_C(2717917267), // FEQ_D_IN32X
974 UINT64_C(2717917267), // FEQ_D_INX
975 UINT64_C(2751471699), // FEQ_H
976 UINT64_C(2751471699), // FEQ_H_INX
977 UINT64_C(2785026131), // FEQ_Q
978 UINT64_C(2684362835), // FEQ_S
979 UINT64_C(2684362835), // FEQ_S_INX
980 UINT64_C(12295), // FLD
981 UINT64_C(2717925459), // FLEQ_D
982 UINT64_C(2751479891), // FLEQ_H
983 UINT64_C(2785034323), // FLEQ_Q
984 UINT64_C(2684371027), // FLEQ_S
985 UINT64_C(2717909075), // FLE_D
986 UINT64_C(2717909075), // FLE_D_IN32X
987 UINT64_C(2717909075), // FLE_D_INX
988 UINT64_C(2751463507), // FLE_H
989 UINT64_C(2751463507), // FLE_H_INX
990 UINT64_C(2785017939), // FLE_Q
991 UINT64_C(2684354643), // FLE_S
992 UINT64_C(2684354643), // FLE_S_INX
993 UINT64_C(4103), // FLH
994 UINT64_C(4061134931), // FLI_D
995 UINT64_C(4094689363), // FLI_H
996 UINT64_C(4128243795), // FLI_Q
997 UINT64_C(4027580499), // FLI_S
998 UINT64_C(16391), // FLQ
999 UINT64_C(2717929555), // FLTQ_D
1000 UINT64_C(2751483987), // FLTQ_H
1001 UINT64_C(2785038419), // FLTQ_Q
1002 UINT64_C(2684375123), // FLTQ_S
1003 UINT64_C(2717913171), // FLT_D
1004 UINT64_C(2717913171), // FLT_D_IN32X
1005 UINT64_C(2717913171), // FLT_D_INX
1006 UINT64_C(2751467603), // FLT_H
1007 UINT64_C(2751467603), // FLT_H_INX
1008 UINT64_C(2785022035), // FLT_Q
1009 UINT64_C(2684358739), // FLT_S
1010 UINT64_C(2684358739), // FLT_S_INX
1011 UINT64_C(8199), // FLW
1012 UINT64_C(33554499), // FMADD_D
1013 UINT64_C(33554499), // FMADD_D_IN32X
1014 UINT64_C(33554499), // FMADD_D_INX
1015 UINT64_C(67108931), // FMADD_H
1016 UINT64_C(67108931), // FMADD_H_INX
1017 UINT64_C(100663363), // FMADD_Q
1018 UINT64_C(67), // FMADD_S
1019 UINT64_C(67), // FMADD_S_INX
1020 UINT64_C(704655443), // FMAXM_D
1021 UINT64_C(738209875), // FMAXM_H
1022 UINT64_C(771764307), // FMAXM_Q
1023 UINT64_C(671101011), // FMAXM_S
1024 UINT64_C(704647251), // FMAX_D
1025 UINT64_C(704647251), // FMAX_D_IN32X
1026 UINT64_C(704647251), // FMAX_D_INX
1027 UINT64_C(738201683), // FMAX_H
1028 UINT64_C(738201683), // FMAX_H_INX
1029 UINT64_C(771756115), // FMAX_Q
1030 UINT64_C(671092819), // FMAX_S
1031 UINT64_C(671092819), // FMAX_S_INX
1032 UINT64_C(704651347), // FMINM_D
1033 UINT64_C(738205779), // FMINM_H
1034 UINT64_C(771760211), // FMINM_Q
1035 UINT64_C(671096915), // FMINM_S
1036 UINT64_C(704643155), // FMIN_D
1037 UINT64_C(704643155), // FMIN_D_IN32X
1038 UINT64_C(704643155), // FMIN_D_INX
1039 UINT64_C(738197587), // FMIN_H
1040 UINT64_C(738197587), // FMIN_H_INX
1041 UINT64_C(771752019), // FMIN_Q
1042 UINT64_C(671088723), // FMIN_S
1043 UINT64_C(671088723), // FMIN_S_INX
1044 UINT64_C(33554503), // FMSUB_D
1045 UINT64_C(33554503), // FMSUB_D_IN32X
1046 UINT64_C(33554503), // FMSUB_D_INX
1047 UINT64_C(67108935), // FMSUB_H
1048 UINT64_C(67108935), // FMSUB_H_INX
1049 UINT64_C(100663367), // FMSUB_Q
1050 UINT64_C(71), // FMSUB_S
1051 UINT64_C(71), // FMSUB_S_INX
1052 UINT64_C(301989971), // FMUL_D
1053 UINT64_C(301989971), // FMUL_D_IN32X
1054 UINT64_C(301989971), // FMUL_D_INX
1055 UINT64_C(335544403), // FMUL_H
1056 UINT64_C(335544403), // FMUL_H_INX
1057 UINT64_C(369098835), // FMUL_Q
1058 UINT64_C(268435539), // FMUL_S
1059 UINT64_C(268435539), // FMUL_S_INX
1060 UINT64_C(3792699475), // FMVH_X_D
1061 UINT64_C(3859808339), // FMVH_X_Q
1062 UINT64_C(2986344531), // FMVP_D_X
1063 UINT64_C(3053453395), // FMVP_Q_X
1064 UINT64_C(4060086355), // FMV_D_X
1065 UINT64_C(4093640787), // FMV_H_X
1066 UINT64_C(4026531923), // FMV_W_X
1067 UINT64_C(3791650899), // FMV_X_D
1068 UINT64_C(3825205331), // FMV_X_H
1069 UINT64_C(3758096467), // FMV_X_W
1070 UINT64_C(3758096467), // FMV_X_W_FPR64
1071 UINT64_C(33554511), // FNMADD_D
1072 UINT64_C(33554511), // FNMADD_D_IN32X
1073 UINT64_C(33554511), // FNMADD_D_INX
1074 UINT64_C(67108943), // FNMADD_H
1075 UINT64_C(67108943), // FNMADD_H_INX
1076 UINT64_C(100663375), // FNMADD_Q
1077 UINT64_C(79), // FNMADD_S
1078 UINT64_C(79), // FNMADD_S_INX
1079 UINT64_C(33554507), // FNMSUB_D
1080 UINT64_C(33554507), // FNMSUB_D_IN32X
1081 UINT64_C(33554507), // FNMSUB_D_INX
1082 UINT64_C(67108939), // FNMSUB_H
1083 UINT64_C(67108939), // FNMSUB_H_INX
1084 UINT64_C(100663371), // FNMSUB_Q
1085 UINT64_C(75), // FNMSUB_S
1086 UINT64_C(75), // FNMSUB_S_INX
1087 UINT64_C(1112539219), // FROUNDNX_D
1088 UINT64_C(1146093651), // FROUNDNX_H
1089 UINT64_C(1179648083), // FROUNDNX_Q
1090 UINT64_C(1078984787), // FROUNDNX_S
1091 UINT64_C(1111490643), // FROUND_D
1092 UINT64_C(1145045075), // FROUND_H
1093 UINT64_C(1178599507), // FROUND_Q
1094 UINT64_C(1077936211), // FROUND_S
1095 UINT64_C(12327), // FSD
1096 UINT64_C(570429523), // FSGNJN_D
1097 UINT64_C(570429523), // FSGNJN_D_IN32X
1098 UINT64_C(570429523), // FSGNJN_D_INX
1099 UINT64_C(603983955), // FSGNJN_H
1100 UINT64_C(603983955), // FSGNJN_H_INX
1101 UINT64_C(637538387), // FSGNJN_Q
1102 UINT64_C(536875091), // FSGNJN_S
1103 UINT64_C(536875091), // FSGNJN_S_INX
1104 UINT64_C(570433619), // FSGNJX_D
1105 UINT64_C(570433619), // FSGNJX_D_IN32X
1106 UINT64_C(570433619), // FSGNJX_D_INX
1107 UINT64_C(603988051), // FSGNJX_H
1108 UINT64_C(603988051), // FSGNJX_H_INX
1109 UINT64_C(637542483), // FSGNJX_Q
1110 UINT64_C(536879187), // FSGNJX_S
1111 UINT64_C(536879187), // FSGNJX_S_INX
1112 UINT64_C(570425427), // FSGNJ_D
1113 UINT64_C(570425427), // FSGNJ_D_IN32X
1114 UINT64_C(570425427), // FSGNJ_D_INX
1115 UINT64_C(603979859), // FSGNJ_H
1116 UINT64_C(603979859), // FSGNJ_H_INX
1117 UINT64_C(637534291), // FSGNJ_Q
1118 UINT64_C(536870995), // FSGNJ_S
1119 UINT64_C(536870995), // FSGNJ_S_INX
1120 UINT64_C(4135), // FSH
1121 UINT64_C(16423), // FSQ
1122 UINT64_C(1509949523), // FSQRT_D
1123 UINT64_C(1509949523), // FSQRT_D_IN32X
1124 UINT64_C(1509949523), // FSQRT_D_INX
1125 UINT64_C(1543503955), // FSQRT_H
1126 UINT64_C(1543503955), // FSQRT_H_INX
1127 UINT64_C(1577058387), // FSQRT_Q
1128 UINT64_C(1476395091), // FSQRT_S
1129 UINT64_C(1476395091), // FSQRT_S_INX
1130 UINT64_C(167772243), // FSUB_D
1131 UINT64_C(167772243), // FSUB_D_IN32X
1132 UINT64_C(167772243), // FSUB_D_INX
1133 UINT64_C(201326675), // FSUB_H
1134 UINT64_C(201326675), // FSUB_H_INX
1135 UINT64_C(234881107), // FSUB_Q
1136 UINT64_C(134217811), // FSUB_S
1137 UINT64_C(134217811), // FSUB_S_INX
1138 UINT64_C(8231), // FSW
1139 UINT64_C(1644167283), // HFENCE_GVMA
1140 UINT64_C(570425459), // HFENCE_VVMA
1141 UINT64_C(1711276147), // HINVAL_GVMA
1142 UINT64_C(637534323), // HINVAL_VVMA
1143 UINT64_C(1680883827), // HLVX_HU
1144 UINT64_C(1747992691), // HLVX_WU
1145 UINT64_C(1610629235), // HLV_B
1146 UINT64_C(1611677811), // HLV_BU
1147 UINT64_C(1811955827), // HLV_D
1148 UINT64_C(1677738099), // HLV_H
1149 UINT64_C(1678786675), // HLV_HU
1150 UINT64_C(1744846963), // HLV_W
1151 UINT64_C(1745895539), // HLV_WU
1152 UINT64_C(1644183667), // HSV_B
1153 UINT64_C(1845510259), // HSV_D
1154 UINT64_C(1711292531), // HSV_H
1155 UINT64_C(1778401395), // HSV_W
1156 UINT64_C(0), // Insn16
1157 UINT64_C(0), // Insn32
1158 UINT64_C(0), // Insn48
1159 UINT64_C(0), // Insn64
1160 UINT64_C(0), // InsnB
1161 UINT64_C(0), // InsnCA
1162 UINT64_C(0), // InsnCB
1163 UINT64_C(0), // InsnCI
1164 UINT64_C(0), // InsnCIW
1165 UINT64_C(0), // InsnCJ
1166 UINT64_C(0), // InsnCL
1167 UINT64_C(0), // InsnCR
1168 UINT64_C(0), // InsnCS
1169 UINT64_C(0), // InsnCSS
1170 UINT64_C(0), // InsnI
1171 UINT64_C(0), // InsnI_Mem
1172 UINT64_C(0), // InsnJ
1173 UINT64_C(0), // InsnQC_EAI
1174 UINT64_C(0), // InsnQC_EB
1175 UINT64_C(0), // InsnQC_EI
1176 UINT64_C(0), // InsnQC_EI_Mem
1177 UINT64_C(0), // InsnQC_EJ
1178 UINT64_C(0), // InsnQC_ES
1179 UINT64_C(0), // InsnR
1180 UINT64_C(0), // InsnR4
1181 UINT64_C(0), // InsnS
1182 UINT64_C(0), // InsnU
1183 UINT64_C(111), // JAL
1184 UINT64_C(103), // JALR
1185 UINT64_C(3), // LB
1186 UINT64_C(16387), // LBU
1187 UINT64_C(872415279), // LB_AQ
1188 UINT64_C(905969711), // LB_AQRL
1189 UINT64_C(12291), // LD
1190 UINT64_C(872427567), // LD_AQ
1191 UINT64_C(905981999), // LD_AQRL
1192 UINT64_C(12291), // LD_RV32
1193 UINT64_C(4099), // LH
1194 UINT64_C(20483), // LHU
1195 UINT64_C(872419375), // LH_AQ
1196 UINT64_C(905973807), // LH_AQRL
1197 UINT64_C(4099), // LH_INX
1198 UINT64_C(268447791), // LR_D
1199 UINT64_C(335556655), // LR_D_AQ
1200 UINT64_C(369111087), // LR_D_AQRL
1201 UINT64_C(302002223), // LR_D_RL
1202 UINT64_C(268443695), // LR_W
1203 UINT64_C(335552559), // LR_W_AQ
1204 UINT64_C(369106991), // LR_W_AQRL
1205 UINT64_C(301998127), // LR_W_RL
1206 UINT64_C(55), // LUI
1207 UINT64_C(8195), // LW
1208 UINT64_C(24579), // LWU
1209 UINT64_C(872423471), // LW_AQ
1210 UINT64_C(905977903), // LW_AQRL
1211 UINT64_C(8195), // LW_INX
1212 UINT64_C(3925880891), // MACCSU_H00
1213 UINT64_C(4194316347), // MACCSU_H11
1214 UINT64_C(3992989755), // MACCSU_W00
1215 UINT64_C(4261425211), // MACCSU_W11
1216 UINT64_C(2852139067), // MACCU_H00
1217 UINT64_C(3120566331), // MACCU_H01
1218 UINT64_C(3120574523), // MACCU_H11
1219 UINT64_C(2919247931), // MACCU_W00
1220 UINT64_C(3187675195), // MACCU_W01
1221 UINT64_C(3187683387), // MACCU_W11
1222 UINT64_C(2315268155), // MACC_H00
1223 UINT64_C(2583695419), // MACC_H01
1224 UINT64_C(2583703611), // MACC_H11
1225 UINT64_C(2382377019), // MACC_W00
1226 UINT64_C(2650804283), // MACC_W01
1227 UINT64_C(2650812475), // MACC_W11
1228 UINT64_C(167796787), // MAX
1229 UINT64_C(167800883), // MAXU
1230 UINT64_C(2885685307), // MERGE
1231 UINT64_C(2315284539), // MHACC
1232 UINT64_C(3389026363), // MHACCSU
1233 UINT64_C(2919264315), // MHACCSU_H0
1234 UINT64_C(3187699771), // MHACCSU_H1
1235 UINT64_C(2583719995), // MHACCU
1236 UINT64_C(2852155451), // MHACC_H0
1237 UINT64_C(3120590907), // MHACC_H1
1238 UINT64_C(2382393403), // MHRACC
1239 UINT64_C(3456135227), // MHRACCSU
1240 UINT64_C(2650828859), // MHRACCU
1241 UINT64_C(167788595), // MIN
1242 UINT64_C(167792691), // MINU
1243 UINT64_C(100675595), // MIPS_CCMOV
1244 UINT64_C(3149843), // MIPS_EHB
1245 UINT64_C(1052691), // MIPS_IHB
1246 UINT64_C(16395), // MIPS_LDP
1247 UINT64_C(1064971), // MIPS_LWP
1248 UINT64_C(5246995), // MIPS_PAUSE
1249 UINT64_C(11), // MIPS_PREF
1250 UINT64_C(20491), // MIPS_SDP
1251 UINT64_C(20619), // MIPS_SWP
1252 UINT64_C(1881145459), // MNRET
1253 UINT64_C(2181054579), // MOP_RR_0
1254 UINT64_C(2248163443), // MOP_RR_1
1255 UINT64_C(2315272307), // MOP_RR_2
1256 UINT64_C(2382381171), // MOP_RR_3
1257 UINT64_C(3254796403), // MOP_RR_4
1258 UINT64_C(3321905267), // MOP_RR_5
1259 UINT64_C(3389014131), // MOP_RR_6
1260 UINT64_C(3456122995), // MOP_RR_7
1261 UINT64_C(2176860275), // MOP_R_0
1262 UINT64_C(2177908851), // MOP_R_1
1263 UINT64_C(2313175155), // MOP_R_10
1264 UINT64_C(2314223731), // MOP_R_11
1265 UINT64_C(2378186867), // MOP_R_12
1266 UINT64_C(2379235443), // MOP_R_13
1267 UINT64_C(2380284019), // MOP_R_14
1268 UINT64_C(2381332595), // MOP_R_15
1269 UINT64_C(3250602099), // MOP_R_16
1270 UINT64_C(3251650675), // MOP_R_17
1271 UINT64_C(3252699251), // MOP_R_18
1272 UINT64_C(3253747827), // MOP_R_19
1273 UINT64_C(2178957427), // MOP_R_2
1274 UINT64_C(3317710963), // MOP_R_20
1275 UINT64_C(3318759539), // MOP_R_21
1276 UINT64_C(3319808115), // MOP_R_22
1277 UINT64_C(3320856691), // MOP_R_23
1278 UINT64_C(3384819827), // MOP_R_24
1279 UINT64_C(3385868403), // MOP_R_25
1280 UINT64_C(3386916979), // MOP_R_26
1281 UINT64_C(3387965555), // MOP_R_27
1282 UINT64_C(3451928691), // MOP_R_28
1283 UINT64_C(3452977267), // MOP_R_29
1284 UINT64_C(2180006003), // MOP_R_3
1285 UINT64_C(3454025843), // MOP_R_30
1286 UINT64_C(3455074419), // MOP_R_31
1287 UINT64_C(2243969139), // MOP_R_4
1288 UINT64_C(2245017715), // MOP_R_5
1289 UINT64_C(2246066291), // MOP_R_6
1290 UINT64_C(2247114867), // MOP_R_7
1291 UINT64_C(2311078003), // MOP_R_8
1292 UINT64_C(2312126579), // MOP_R_9
1293 UINT64_C(3892342843), // MQACC_H00
1294 UINT64_C(4160770107), // MQACC_H01
1295 UINT64_C(4160778299), // MQACC_H11
1296 UINT64_C(3925897275), // MQACC_W00
1297 UINT64_C(4194324539), // MQACC_W01
1298 UINT64_C(4194332731), // MQACC_W11
1299 UINT64_C(3959451707), // MQRACC_H00
1300 UINT64_C(4227878971), // MQRACC_H01
1301 UINT64_C(4227887163), // MQRACC_H11
1302 UINT64_C(3993006139), // MQRACC_W00
1303 UINT64_C(4261433403), // MQRACC_W01
1304 UINT64_C(4261441595), // MQRACC_W11
1305 UINT64_C(2113937563), // MQRWACC
1306 UINT64_C(2046828699), // MQWACC
1307 UINT64_C(807403635), // MRET
1308 UINT64_C(3254804539), // MSEQ
1309 UINT64_C(3523239995), // MSLT
1310 UINT64_C(3657457723), // MSLTU
1311 UINT64_C(33554483), // MUL
1312 UINT64_C(33558579), // MULH
1313 UINT64_C(2248175675), // MULHR
1314 UINT64_C(3321917499), // MULHRSU
1315 UINT64_C(2516611131), // MULHRU
1316 UINT64_C(33562675), // MULHSU
1317 UINT64_C(2785046587), // MULHSU_H0
1318 UINT64_C(3053482043), // MULHSU_H1
1319 UINT64_C(33566771), // MULHU
1320 UINT64_C(2717937723), // MULH_H0
1321 UINT64_C(2986373179), // MULH_H1
1322 UINT64_C(3523244091), // MULQ
1323 UINT64_C(3590352955), // MULQR
1324 UINT64_C(3791663163), // MULSU_H00
1325 UINT64_C(4060098619), // MULSU_H11
1326 UINT64_C(3858772027), // MULSU_W00
1327 UINT64_C(4127207483), // MULSU_W11
1328 UINT64_C(2717921339), // MULU_H00
1329 UINT64_C(2986348603), // MULU_H01
1330 UINT64_C(2986356795), // MULU_H11
1331 UINT64_C(2785030203), // MULU_W00
1332 UINT64_C(3053457467), // MULU_W01
1333 UINT64_C(3053465659), // MULU_W11
1334 UINT64_C(33554491), // MULW
1335 UINT64_C(2181050427), // MUL_H00
1336 UINT64_C(2449477691), // MUL_H01
1337 UINT64_C(2449485883), // MUL_H11
1338 UINT64_C(2248159291), // MUL_W00
1339 UINT64_C(2516586555), // MUL_W01
1340 UINT64_C(2516594747), // MUL_W11
1341 UINT64_C(2818576443), // MVM
1342 UINT64_C(2852130875), // MVMN
1343 UINT64_C(1845542939), // NCLIP
1344 UINT64_C(1677770779), // NCLIPI
1345 UINT64_C(604028955), // NCLIPIU
1346 UINT64_C(2113978395), // NCLIPR
1347 UINT64_C(1946206235), // NCLIPRI
1348 UINT64_C(872464411), // NCLIPRIU
1349 UINT64_C(1040236571), // NCLIPRU
1350 UINT64_C(771801115), // NCLIPU
1351 UINT64_C(4107), // NDS_ADDIGP
1352 UINT64_C(28763), // NDS_BBC
1353 UINT64_C(1073770587), // NDS_BBS
1354 UINT64_C(20571), // NDS_BEQC
1355 UINT64_C(12379), // NDS_BFOS
1356 UINT64_C(8283), // NDS_BFOZ
1357 UINT64_C(24667), // NDS_BNEC
1358 UINT64_C(114779), // NDS_FCVT_BF16_S
1359 UINT64_C(82011), // NDS_FCVT_S_BF16
1360 UINT64_C(536871003), // NDS_FFB
1361 UINT64_C(603979867), // NDS_FFMISM
1362 UINT64_C(570425435), // NDS_FFZMISM
1363 UINT64_C(637534299), // NDS_FLMISM
1364 UINT64_C(4026531923), // NDS_FMV_BF16_X
1365 UINT64_C(3758096467), // NDS_FMV_X_BF16
1366 UINT64_C(11), // NDS_LBGP
1367 UINT64_C(8203), // NDS_LBUGP
1368 UINT64_C(12331), // NDS_LDGP
1369 UINT64_C(268435547), // NDS_LEA_B_ZE
1370 UINT64_C(234881115), // NDS_LEA_D
1371 UINT64_C(369098843), // NDS_LEA_D_ZE
1372 UINT64_C(167772251), // NDS_LEA_H
1373 UINT64_C(301989979), // NDS_LEA_H_ZE
1374 UINT64_C(201326683), // NDS_LEA_W
1375 UINT64_C(335544411), // NDS_LEA_W_ZE
1376 UINT64_C(4139), // NDS_LHGP
1377 UINT64_C(20523), // NDS_LHUGP
1378 UINT64_C(8235), // NDS_LWGP
1379 UINT64_C(24619), // NDS_LWUGP
1380 UINT64_C(12299), // NDS_SBGP
1381 UINT64_C(28715), // NDS_SDGP
1382 UINT64_C(43), // NDS_SHGP
1383 UINT64_C(16427), // NDS_SWGP
1384 UINT64_C(335560795), // NDS_VD4DOTSU_VV
1385 UINT64_C(268451931), // NDS_VD4DOTS_VV
1386 UINT64_C(469778523), // NDS_VD4DOTU_VV
1387 UINT64_C(49243), // NDS_VFNCVT_BF16_S
1388 UINT64_C(201343067), // NDS_VFPMADB_VF
1389 UINT64_C(134234203), // NDS_VFPMADT_VF
1390 UINT64_C(213083), // NDS_VFWCVT_F_B
1391 UINT64_C(245851), // NDS_VFWCVT_F_BU
1392 UINT64_C(147547), // NDS_VFWCVT_F_N
1393 UINT64_C(180315), // NDS_VFWCVT_F_NU
1394 UINT64_C(16475), // NDS_VFWCVT_S_BF16
1395 UINT64_C(100679771), // NDS_VLE4_V
1396 UINT64_C(69222491), // NDS_VLN8_V
1397 UINT64_C(70271067), // NDS_VLNU8_V
1398 UINT64_C(1308672027), // NSRA
1399 UINT64_C(1140899867), // NSRAI
1400 UINT64_C(1577107483), // NSRAR
1401 UINT64_C(1409335323), // NSRARI
1402 UINT64_C(234930203), // NSRL
1403 UINT64_C(67158043), // NSRLI
1404 UINT64_C(24627), // OR
1405 UINT64_C(678449171), // ORC_B
1406 UINT64_C(24595), // ORI
1407 UINT64_C(1073766451), // ORN
1408 UINT64_C(3154116667), // PAADDU_B
1409 UINT64_C(3154141211), // PAADDU_DB
1410 UINT64_C(3087032347), // PAADDU_DH
1411 UINT64_C(3120586779), // PAADDU_DW
1412 UINT64_C(3087007803), // PAADDU_H
1413 UINT64_C(3120562235), // PAADDU_W
1414 UINT64_C(2617245755), // PAADD_B
1415 UINT64_C(2617270299), // PAADD_DB
1416 UINT64_C(2550161435), // PAADD_DH
1417 UINT64_C(2583715867), // PAADD_DW
1418 UINT64_C(2550136891), // PAADD_H
1419 UINT64_C(2583691323), // PAADD_W
1420 UINT64_C(2551242779), // PAAS_DHX
1421 UINT64_C(2550161467), // PAAS_HX
1422 UINT64_C(2583715899), // PAAS_WX
1423 UINT64_C(3154120763), // PABDSUMAU_B
1424 UINT64_C(3019903035), // PABDSUMU_B
1425 UINT64_C(3959423035), // PABDU_B
1426 UINT64_C(3959447579), // PABDU_DB
1427 UINT64_C(3892338715), // PABDU_DH
1428 UINT64_C(3892314171), // PABDU_H
1429 UINT64_C(3422552123), // PABD_B
1430 UINT64_C(3422576667), // PABD_DB
1431 UINT64_C(3355467803), // PABD_DH
1432 UINT64_C(3355443259), // PABD_H
1433 UINT64_C(134234163), // PACK
1434 UINT64_C(134246451), // PACKH
1435 UINT64_C(134234171), // PACKW
1436 UINT64_C(2214592571), // PADD_B
1437 UINT64_C(2617253915), // PADD_BS
1438 UINT64_C(2214617115), // PADD_DB
1439 UINT64_C(469786651), // PADD_DBS
1440 UINT64_C(2147508251), // PADD_DH
1441 UINT64_C(402677787), // PADD_DHS
1442 UINT64_C(2181062683), // PADD_DW
1443 UINT64_C(436232219), // PADD_DWS
1444 UINT64_C(2147483707), // PADD_H
1445 UINT64_C(2550145051), // PADD_HS
1446 UINT64_C(2181038139), // PADD_W
1447 UINT64_C(2583699483), // PADD_WS
1448 UINT64_C(2618351643), // PASA_DHX
1449 UINT64_C(2617270331), // PASA_HX
1450 UINT64_C(2650824763), // PASA_WX
1451 UINT64_C(4227858491), // PASUBU_B
1452 UINT64_C(4227883035), // PASUBU_DB
1453 UINT64_C(4160774171), // PASUBU_DH
1454 UINT64_C(4194328603), // PASUBU_DW
1455 UINT64_C(4160749627), // PASUBU_H
1456 UINT64_C(4194304059), // PASUBU_W
1457 UINT64_C(3690987579), // PASUB_B
1458 UINT64_C(3691012123), // PASUB_DB
1459 UINT64_C(3623903259), // PASUB_DH
1460 UINT64_C(3657457691), // PASUB_DW
1461 UINT64_C(3623878715), // PASUB_H
1462 UINT64_C(3657433147), // PASUB_W
1463 UINT64_C(2148589595), // PAS_DHX
1464 UINT64_C(2147508283), // PAS_HX
1465 UINT64_C(2181062715), // PAS_WX
1466 UINT64_C(3019907099), // PLI_B
1467 UINT64_C(872423451), // PLI_DB
1468 UINT64_C(805314587), // PLI_DH
1469 UINT64_C(2952798235), // PLI_H
1470 UINT64_C(2986352667), // PLI_W
1471 UINT64_C(1879056411), // PLUI_DH
1472 UINT64_C(4026540059), // PLUI_H
1473 UINT64_C(4060094491), // PLUI_W
1474 UINT64_C(3892334651), // PM2ADDASU_H
1475 UINT64_C(3925889083), // PM2ADDASU_W
1476 UINT64_C(2818592827), // PM2ADDAU_H
1477 UINT64_C(2852147259), // PM2ADDAU_W
1478 UINT64_C(2281721915), // PM2ADDA_H
1479 UINT64_C(2550157371), // PM2ADDA_HX
1480 UINT64_C(2315276347), // PM2ADDA_W
1481 UINT64_C(2583711803), // PM2ADDA_WX
1482 UINT64_C(3758116923), // PM2ADDSU_H
1483 UINT64_C(3791671355), // PM2ADDSU_W
1484 UINT64_C(2684375099), // PM2ADDU_H
1485 UINT64_C(2717929531), // PM2ADDU_W
1486 UINT64_C(2147504187), // PM2ADD_H
1487 UINT64_C(2415939643), // PM2ADD_HX
1488 UINT64_C(2181058619), // PM2ADD_W
1489 UINT64_C(2449494075), // PM2ADD_WX
1490 UINT64_C(3288354875), // PM2SADD_H
1491 UINT64_C(3556790331), // PM2SADD_HX
1492 UINT64_C(3355463739), // PM2SUBA_H
1493 UINT64_C(3623899195), // PM2SUBA_HX
1494 UINT64_C(3389018171), // PM2SUBA_W
1495 UINT64_C(3657453627), // PM2SUBA_WX
1496 UINT64_C(3221246011), // PM2SUB_H
1497 UINT64_C(3489681467), // PM2SUB_HX
1498 UINT64_C(3254800443), // PM2SUB_W
1499 UINT64_C(3523235899), // PM2SUB_WX
1500 UINT64_C(1845502107), // PM2WADDASU_H
1501 UINT64_C(771760283), // PM2WADDAU_H
1502 UINT64_C(234889371), // PM2WADDA_H
1503 UINT64_C(503324827), // PM2WADDA_HX
1504 UINT64_C(1711284379), // PM2WADDSU_H
1505 UINT64_C(637542555), // PM2WADDU_H
1506 UINT64_C(100671643), // PM2WADD_H
1507 UINT64_C(369107099), // PM2WADD_HX
1508 UINT64_C(1308631195), // PM2WSUBA_H
1509 UINT64_C(1577066651), // PM2WSUBA_HX
1510 UINT64_C(1174413467), // PM2WSUB_H
1511 UINT64_C(1442848923), // PM2WSUB_HX
1512 UINT64_C(3959443515), // PM4ADDASU_B
1513 UINT64_C(3992997947), // PM4ADDASU_H
1514 UINT64_C(2885701691), // PM4ADDAU_B
1515 UINT64_C(2919256123), // PM4ADDAU_H
1516 UINT64_C(2348830779), // PM4ADDA_B
1517 UINT64_C(2382385211), // PM4ADDA_H
1518 UINT64_C(3825225787), // PM4ADDSU_B
1519 UINT64_C(3858780219), // PM4ADDSU_H
1520 UINT64_C(2751483963), // PM4ADDU_B
1521 UINT64_C(2785038395), // PM4ADDU_H
1522 UINT64_C(2214613051), // PM4ADD_B
1523 UINT64_C(2248167483), // PM4ADD_H
1524 UINT64_C(3925880891), // PMACCSU_W_H00
1525 UINT64_C(4194316347), // PMACCSU_W_H11
1526 UINT64_C(2852139067), // PMACCU_W_H00
1527 UINT64_C(3120566331), // PMACCU_W_H01
1528 UINT64_C(3120574523), // PMACCU_W_H11
1529 UINT64_C(2315268155), // PMACC_W_H00
1530 UINT64_C(2583695419), // PMACC_W_H01
1531 UINT64_C(2583703611), // PMACC_W_H11
1532 UINT64_C(4227883067), // PMAXU_B
1533 UINT64_C(4228964379), // PMAXU_DB
1534 UINT64_C(4161855515), // PMAXU_DH
1535 UINT64_C(4195409947), // PMAXU_DW
1536 UINT64_C(4160774203), // PMAXU_H
1537 UINT64_C(4194328635), // PMAXU_W
1538 UINT64_C(4093665339), // PMAX_B
1539 UINT64_C(4094746651), // PMAX_DB
1540 UINT64_C(4027637787), // PMAX_DH
1541 UINT64_C(4061192219), // PMAX_DW
1542 UINT64_C(4026556475), // PMAX_H
1543 UINT64_C(4060110907), // PMAX_W
1544 UINT64_C(3355471931), // PMHACCSU_H
1545 UINT64_C(2885709883), // PMHACCSU_H_B0
1546 UINT64_C(3154145339), // PMHACCSU_H_B1
1547 UINT64_C(3389026363), // PMHACCSU_W
1548 UINT64_C(2919264315), // PMHACCSU_W_H0
1549 UINT64_C(3187699771), // PMHACCSU_W_H1
1550 UINT64_C(2550165563), // PMHACCU_H
1551 UINT64_C(2583719995), // PMHACCU_W
1552 UINT64_C(2281730107), // PMHACC_H
1553 UINT64_C(2818601019), // PMHACC_H_B0
1554 UINT64_C(3087036475), // PMHACC_H_B1
1555 UINT64_C(2315284539), // PMHACC_W
1556 UINT64_C(2852155451), // PMHACC_W_H0
1557 UINT64_C(3120590907), // PMHACC_W_H1
1558 UINT64_C(3422580795), // PMHRACCSU_H
1559 UINT64_C(3456135227), // PMHRACCSU_W
1560 UINT64_C(2617274427), // PMHRACCU_H
1561 UINT64_C(2650828859), // PMHRACCU_W
1562 UINT64_C(2348838971), // PMHRACC_H
1563 UINT64_C(2382393403), // PMHRACC_W
1564 UINT64_C(3959447611), // PMINU_B
1565 UINT64_C(3960528923), // PMINU_DB
1566 UINT64_C(3893420059), // PMINU_DH
1567 UINT64_C(3926974491), // PMINU_DW
1568 UINT64_C(3892338747), // PMINU_H
1569 UINT64_C(3925893179), // PMINU_W
1570 UINT64_C(3825229883), // PMIN_B
1571 UINT64_C(3826311195), // PMIN_DB
1572 UINT64_C(3759202331), // PMIN_DH
1573 UINT64_C(3792756763), // PMIN_DW
1574 UINT64_C(3758121019), // PMIN_H
1575 UINT64_C(3791675451), // PMIN_W
1576 UINT64_C(3087028283), // PMQ2ADDA_H
1577 UINT64_C(3120582715), // PMQ2ADDA_W
1578 UINT64_C(2952810555), // PMQ2ADD_H
1579 UINT64_C(2986364987), // PMQ2ADD_W
1580 UINT64_C(3892342843), // PMQACC_W_H00
1581 UINT64_C(4160770107), // PMQACC_W_H01
1582 UINT64_C(4160778299), // PMQACC_W_H11
1583 UINT64_C(3154137147), // PMQR2ADDA_H
1584 UINT64_C(3187691579), // PMQR2ADDA_W
1585 UINT64_C(3019919419), // PMQR2ADD_H
1586 UINT64_C(3053473851), // PMQR2ADD_W
1587 UINT64_C(3959451707), // PMQRACC_W_H00
1588 UINT64_C(4227878971), // PMQRACC_W_H01
1589 UINT64_C(4227887163), // PMQRACC_W_H11
1590 UINT64_C(2080383131), // PMQRWACC_H
1591 UINT64_C(2013274267), // PMQWACC_H
1592 UINT64_C(3288358971), // PMSEQ_B
1593 UINT64_C(3289440283), // PMSEQ_DB
1594 UINT64_C(3222331419), // PMSEQ_DH
1595 UINT64_C(3255885851), // PMSEQ_DW
1596 UINT64_C(3221250107), // PMSEQ_H
1597 UINT64_C(3254804539), // PMSEQ_W
1598 UINT64_C(3691012155), // PMSLTU_B
1599 UINT64_C(3692093467), // PMSLTU_DB
1600 UINT64_C(3624984603), // PMSLTU_DH
1601 UINT64_C(3658539035), // PMSLTU_DW
1602 UINT64_C(3623903291), // PMSLTU_H
1603 UINT64_C(3657457723), // PMSLTU_W
1604 UINT64_C(3556794427), // PMSLT_B
1605 UINT64_C(3557875739), // PMSLT_DB
1606 UINT64_C(3490766875), // PMSLT_DH
1607 UINT64_C(3524321307), // PMSLT_DW
1608 UINT64_C(3489685563), // PMSLT_H
1609 UINT64_C(3523239995), // PMSLT_W
1610 UINT64_C(3288363067), // PMULHRSU_H
1611 UINT64_C(3321917499), // PMULHRSU_W
1612 UINT64_C(2483056699), // PMULHRU_H
1613 UINT64_C(2516611131), // PMULHRU_W
1614 UINT64_C(2214621243), // PMULHR_H
1615 UINT64_C(2248175675), // PMULHR_W
1616 UINT64_C(3221254203), // PMULHSU_H
1617 UINT64_C(2751492155), // PMULHSU_H_B0
1618 UINT64_C(3019927611), // PMULHSU_H_B1
1619 UINT64_C(3254808635), // PMULHSU_W
1620 UINT64_C(2785046587), // PMULHSU_W_H0
1621 UINT64_C(3053482043), // PMULHSU_W_H1
1622 UINT64_C(2415947835), // PMULHU_H
1623 UINT64_C(2449502267), // PMULHU_W
1624 UINT64_C(2147512379), // PMULH_H
1625 UINT64_C(2684383291), // PMULH_H_B0
1626 UINT64_C(2952818747), // PMULH_H_B1
1627 UINT64_C(2181066811), // PMULH_W
1628 UINT64_C(2717937723), // PMULH_W_H0
1629 UINT64_C(2986373179), // PMULH_W_H1
1630 UINT64_C(3556798523), // PMULQR_H
1631 UINT64_C(3590352955), // PMULQR_W
1632 UINT64_C(3489689659), // PMULQ_H
1633 UINT64_C(3523244091), // PMULQ_W
1634 UINT64_C(3758108731), // PMULSU_H_B00
1635 UINT64_C(4026544187), // PMULSU_H_B11
1636 UINT64_C(3791663163), // PMULSU_W_H00
1637 UINT64_C(4060098619), // PMULSU_W_H11
1638 UINT64_C(2684366907), // PMULU_H_B00
1639 UINT64_C(2952794171), // PMULU_H_B01
1640 UINT64_C(2952802363), // PMULU_H_B11
1641 UINT64_C(2717921339), // PMULU_W_H00
1642 UINT64_C(2986348603), // PMULU_W_H01
1643 UINT64_C(2986356795), // PMULU_W_H11
1644 UINT64_C(2147495995), // PMUL_H_B00
1645 UINT64_C(2415923259), // PMUL_H_B01
1646 UINT64_C(2415931451), // PMUL_H_B11
1647 UINT64_C(2181050427), // PMUL_W_H00
1648 UINT64_C(2449477691), // PMUL_W_H01
1649 UINT64_C(2449485883), // PMUL_W_H11
1650 UINT64_C(553697307), // PNCLIPIU_B
1651 UINT64_C(570474523), // PNCLIPIU_H
1652 UINT64_C(1627439131), // PNCLIPI_B
1653 UINT64_C(1644216347), // PNCLIPI_H
1654 UINT64_C(822132763), // PNCLIPRIU_B
1655 UINT64_C(838909979), // PNCLIPRIU_H
1656 UINT64_C(1895874587), // PNCLIPRI_B
1657 UINT64_C(1912651803), // PNCLIPRI_H
1658 UINT64_C(939573275), // PNCLIPRU_BS
1659 UINT64_C(973127707), // PNCLIPRU_HS
1660 UINT64_C(2013315099), // PNCLIPR_BS
1661 UINT64_C(2046869531), // PNCLIPR_HS
1662 UINT64_C(671137819), // PNCLIPU_BS
1663 UINT64_C(704692251), // PNCLIPU_HS
1664 UINT64_C(1744879643), // PNCLIP_BS
1665 UINT64_C(1778434075), // PNCLIP_HS
1666 UINT64_C(1090568219), // PNSRAI_B
1667 UINT64_C(1107345435), // PNSRAI_H
1668 UINT64_C(1359003675), // PNSRARI_B
1669 UINT64_C(1375780891), // PNSRARI_H
1670 UINT64_C(1476444187), // PNSRAR_BS
1671 UINT64_C(1509998619), // PNSRAR_HS
1672 UINT64_C(1208008731), // PNSRA_BS
1673 UINT64_C(1241563163), // PNSRA_HS
1674 UINT64_C(16826395), // PNSRLI_B
1675 UINT64_C(33603611), // PNSRLI_H
1676 UINT64_C(134266907), // PNSRL_BS
1677 UINT64_C(167821339), // PNSRL_HS
1678 UINT64_C(2415935547), // PPAIREO_B
1679 UINT64_C(2415976475), // PPAIREO_DB
1680 UINT64_C(2449530907), // PPAIREO_DH
1681 UINT64_C(2449489979), // PPAIREO_H
1682 UINT64_C(2516598843), // PPAIREO_W
1683 UINT64_C(2147500091), // PPAIRE_B
1684 UINT64_C(2147541019), // PPAIRE_DB
1685 UINT64_C(2181095451), // PPAIRE_DH
1686 UINT64_C(2181054523), // PPAIRE_H
1687 UINT64_C(2684371003), // PPAIROE_B
1688 UINT64_C(2684411931), // PPAIROE_DB
1689 UINT64_C(2717966363), // PPAIROE_DH
1690 UINT64_C(2717925435), // PPAIROE_H
1691 UINT64_C(2785034299), // PPAIROE_W
1692 UINT64_C(2952806459), // PPAIRO_B
1693 UINT64_C(2952847387), // PPAIRO_DB
1694 UINT64_C(2986401819), // PPAIRO_DH
1695 UINT64_C(2986360891), // PPAIRO_H
1696 UINT64_C(3053469755), // PPAIRO_W
1697 UINT64_C(3154133019), // PREDSUMU_BS
1698 UINT64_C(1006649371), // PREDSUMU_DBS
1699 UINT64_C(939540507), // PREDSUMU_DHS
1700 UINT64_C(3087024155), // PREDSUMU_HS
1701 UINT64_C(3120578587), // PREDSUMU_WS
1702 UINT64_C(2617262107), // PREDSUM_BS
1703 UINT64_C(469778459), // PREDSUM_DBS
1704 UINT64_C(402669595), // PREDSUM_DHS
1705 UINT64_C(2550153243), // PREDSUM_HS
1706 UINT64_C(2583707675), // PREDSUM_WS
1707 UINT64_C(24595), // PREFETCH_I
1708 UINT64_C(1073171), // PREFETCH_R
1709 UINT64_C(3170323), // PREFETCH_W
1710 UINT64_C(3832553499), // PSABS_B
1711 UINT64_C(1685086235), // PSABS_DB
1712 UINT64_C(1617977371), // PSABS_DH
1713 UINT64_C(3765444635), // PSABS_H
1714 UINT64_C(3019898939), // PSADDU_B
1715 UINT64_C(3019923483), // PSADDU_DB
1716 UINT64_C(2952814619), // PSADDU_DH
1717 UINT64_C(2986369051), // PSADDU_DW
1718 UINT64_C(2952790075), // PSADDU_H
1719 UINT64_C(2986344507), // PSADDU_W
1720 UINT64_C(2483028027), // PSADD_B
1721 UINT64_C(2483052571), // PSADD_DB
1722 UINT64_C(2415943707), // PSADD_DH
1723 UINT64_C(2449498139), // PSADD_DW
1724 UINT64_C(2415919163), // PSADD_H
1725 UINT64_C(2449473595), // PSADD_W
1726 UINT64_C(2417025051), // PSAS_DHX
1727 UINT64_C(2415943739), // PSAS_HX
1728 UINT64_C(2449498171), // PSAS_WX
1729 UINT64_C(1627447323), // PSATI_DH
1730 UINT64_C(1644224539), // PSATI_DW
1731 UINT64_C(3774890011), // PSATI_H
1732 UINT64_C(3791667227), // PSATI_W
1733 UINT64_C(2215698459), // PSA_DHX
1734 UINT64_C(2214617147), // PSA_HX
1735 UINT64_C(2248171579), // PSA_WX
1736 UINT64_C(1614831643), // PSEXT_DH_B
1737 UINT64_C(1648386075), // PSEXT_DW_B
1738 UINT64_C(1649434651), // PSEXT_DW_H
1739 UINT64_C(3762298907), // PSEXT_H_B
1740 UINT64_C(3795853339), // PSEXT_W_B
1741 UINT64_C(3796901915), // PSEXT_W_H
1742 UINT64_C(2685427739), // PSH1ADD_DH
1743 UINT64_C(2718982171), // PSH1ADD_DW
1744 UINT64_C(2684362811), // PSH1ADD_H
1745 UINT64_C(2717917243), // PSH1ADD_W
1746 UINT64_C(2155880475), // PSLLI_B
1747 UINT64_C(8413211), // PSLLI_DB
1748 UINT64_C(16801819), // PSLLI_DH
1749 UINT64_C(33579035), // PSLLI_DW
1750 UINT64_C(2164269083), // PSLLI_H
1751 UINT64_C(2181046299), // PSLLI_W
1752 UINT64_C(2348818459), // PSLL_BS
1753 UINT64_C(201351195), // PSLL_DBS
1754 UINT64_C(134242331), // PSLL_DHS
1755 UINT64_C(167796763), // PSLL_DWS
1756 UINT64_C(2281709595), // PSLL_HS
1757 UINT64_C(2315264027), // PSLL_WS
1758 UINT64_C(3229630491), // PSRAI_B
1759 UINT64_C(1082187803), // PSRAI_DB
1760 UINT64_C(1090576411), // PSRAI_DH
1761 UINT64_C(1107353627), // PSRAI_DW
1762 UINT64_C(3238019099), // PSRAI_H
1763 UINT64_C(3254796315), // PSRAI_W
1764 UINT64_C(1359011867), // PSRARI_DH
1765 UINT64_C(1375789083), // PSRARI_DW
1766 UINT64_C(3506454555), // PSRARI_H
1767 UINT64_C(3523231771), // PSRARI_W
1768 UINT64_C(3422568475), // PSRA_BS
1769 UINT64_C(1275125787), // PSRA_DBS
1770 UINT64_C(1208016923), // PSRA_DHS
1771 UINT64_C(1241571355), // PSRA_DWS
1772 UINT64_C(3355459611), // PSRA_HS
1773 UINT64_C(3389014043), // PSRA_WS
1774 UINT64_C(2155888667), // PSRLI_B
1775 UINT64_C(8445979), // PSRLI_DB
1776 UINT64_C(16834587), // PSRLI_DH
1777 UINT64_C(33611803), // PSRLI_DW
1778 UINT64_C(2164277275), // PSRLI_H
1779 UINT64_C(2181054491), // PSRLI_W
1780 UINT64_C(2348826651), // PSRL_BS
1781 UINT64_C(201383963), // PSRL_DBS
1782 UINT64_C(134275099), // PSRL_DHS
1783 UINT64_C(167829531), // PSRL_DWS
1784 UINT64_C(2281717787), // PSRL_HS
1785 UINT64_C(2315272219), // PSRL_WS
1786 UINT64_C(2484133915), // PSSA_DHX
1787 UINT64_C(2483052603), // PSSA_HX
1788 UINT64_C(2516607035), // PSSA_WX
1789 UINT64_C(2953863195), // PSSH1SADD_DH
1790 UINT64_C(2987417627), // PSSH1SADD_DW
1791 UINT64_C(2952798267), // PSSH1SADD_H
1792 UINT64_C(2986352699), // PSSH1SADD_W
1793 UINT64_C(2013290523), // PSSHAR_DHS
1794 UINT64_C(2046844955), // PSSHAR_DWS
1795 UINT64_C(4160757787), // PSSHAR_HS
1796 UINT64_C(4194312219), // PSSHAR_WS
1797 UINT64_C(1744855067), // PSSHA_DHS
1798 UINT64_C(1778409499), // PSSHA_DWS
1799 UINT64_C(3892322331), // PSSHA_HS
1800 UINT64_C(3925876763), // PSSHA_WS
1801 UINT64_C(1358979099), // PSSLAI_DH
1802 UINT64_C(1375756315), // PSSLAI_DW
1803 UINT64_C(3506446363), // PSSLAI_H
1804 UINT64_C(3523223579), // PSSLAI_W
1805 UINT64_C(4093640763), // PSSUBU_B
1806 UINT64_C(4093665307), // PSSUBU_DB
1807 UINT64_C(4026556443), // PSSUBU_DH
1808 UINT64_C(4060110875), // PSSUBU_DW
1809 UINT64_C(4026531899), // PSSUBU_H
1810 UINT64_C(4060086331), // PSSUBU_W
1811 UINT64_C(3556769851), // PSSUB_B
1812 UINT64_C(3556794395), // PSSUB_DB
1813 UINT64_C(3489685531), // PSSUB_DH
1814 UINT64_C(3523239963), // PSSUB_DW
1815 UINT64_C(3489660987), // PSSUB_H
1816 UINT64_C(3523215419), // PSSUB_W
1817 UINT64_C(3288334395), // PSUB_B
1818 UINT64_C(3288358939), // PSUB_DB
1819 UINT64_C(3221250075), // PSUB_DH
1820 UINT64_C(3254804507), // PSUB_DW
1821 UINT64_C(3221225531), // PSUB_H
1822 UINT64_C(3254779963), // PSUB_W
1823 UINT64_C(553705499), // PUSATI_DH
1824 UINT64_C(570482715), // PUSATI_DW
1825 UINT64_C(2701148187), // PUSATI_H
1826 UINT64_C(2717925403), // PUSATI_W
1827 UINT64_C(469770395), // PWADDAU_B
1828 UINT64_C(402661531), // PWADDAU_H
1829 UINT64_C(201334939), // PWADDA_B
1830 UINT64_C(134226075), // PWADDA_H
1831 UINT64_C(335552667), // PWADDU_B
1832 UINT64_C(268443803), // PWADDU_H
1833 UINT64_C(67117211), // PWADD_B
1834 UINT64_C(8347), // PWADD_H
1835 UINT64_C(1744838811), // PWMACCSU_H
1836 UINT64_C(939532443), // PWMACCU_H
1837 UINT64_C(671096987), // PWMACC_H
1838 UINT64_C(1677729947), // PWMULSU_B
1839 UINT64_C(1610621083), // PWMULSU_H
1840 UINT64_C(872423579), // PWMULU_B
1841 UINT64_C(805314715), // PWMULU_H
1842 UINT64_C(603988123), // PWMUL_B
1843 UINT64_C(536879259), // PWMUL_H
1844 UINT64_C(1090527259), // PWSLAI_B
1845 UINT64_C(1107304475), // PWSLAI_H
1846 UINT64_C(1207967771), // PWSLA_BS
1847 UINT64_C(1241522203), // PWSLA_HS
1848 UINT64_C(16785435), // PWSLLI_B
1849 UINT64_C(33562651), // PWSLLI_H
1850 UINT64_C(134225947), // PWSLL_BS
1851 UINT64_C(167780379), // PWSLL_HS
1852 UINT64_C(1543512219), // PWSUBAU_B
1853 UINT64_C(1476403355), // PWSUBAU_H
1854 UINT64_C(1275076763), // PWSUBA_B
1855 UINT64_C(1207967899), // PWSUBA_H
1856 UINT64_C(1409294491), // PWSUBU_B
1857 UINT64_C(1342185627), // PWSUBU_H
1858 UINT64_C(1140859035), // PWSUB_B
1859 UINT64_C(1073750171), // PWSUB_H
1860 UINT64_C(469774347), // QC_ADDSAT
1861 UINT64_C(503328779), // QC_ADDUSAT
1862 UINT64_C(123), // QC_BEQI
1863 UINT64_C(20603), // QC_BGEI
1864 UINT64_C(28795), // QC_BGEUI
1865 UINT64_C(16507), // QC_BLTI
1866 UINT64_C(24699), // QC_BLTUI
1867 UINT64_C(4219), // QC_BNEI
1868 UINT64_C(201338891), // QC_BREV32
1869 UINT64_C(134230027), // QC_CLO
1870 UINT64_C(3456106611), // QC_CLRINTI
1871 UINT64_C(44130), // QC_CM_MVA01S
1872 UINT64_C(44066), // QC_CM_MVSA01
1873 UINT64_C(47618), // QC_CM_POP
1874 UINT64_C(48642), // QC_CM_POPRET
1875 UINT64_C(48130), // QC_CM_POPRETZ
1876 UINT64_C(47106), // QC_CM_PUSH
1877 UINT64_C(47362), // QC_CM_PUSHFP
1878 UINT64_C(12299), // QC_COMPRESS2
1879 UINT64_C(33566731), // QC_COMPRESS3
1880 UINT64_C(2348810355), // QC_CSRRWR
1881 UINT64_C(2382364787), // QC_CSRRWRI
1882 UINT64_C(167784459), // QC_CTO
1883 UINT64_C(36865), // QC_C_BEXTI
1884 UINT64_C(37889), // QC_C_BSETI
1885 UINT64_C(4110), // QC_C_CLRINT
1886 UINT64_C(6930), // QC_C_DI
1887 UINT64_C(4098), // QC_C_DIR
1888 UINT64_C(7058), // QC_C_EI
1889 UINT64_C(4102), // QC_C_EIR
1890 UINT64_C(4098), // QC_C_EXTU
1891 UINT64_C(6162), // QC_C_MIENTER
1892 UINT64_C(6290), // QC_C_MIENTER_NEST
1893 UINT64_C(6674), // QC_C_MILEAVERET
1894 UINT64_C(6546), // QC_C_MNRET
1895 UINT64_C(6418), // QC_C_MRET
1896 UINT64_C(8194), // QC_C_MULIADD
1897 UINT64_C(44034), // QC_C_MVEQZ
1898 UINT64_C(4106), // QC_C_SETINT
1899 UINT64_C(32769), // QC_C_SYNC
1900 UINT64_C(33793), // QC_C_SYNCR
1901 UINT64_C(36865), // QC_C_SYNCWF
1902 UINT64_C(37889), // QC_C_SYNCWL
1903 UINT64_C(67121163), // QC_EXPAND2
1904 UINT64_C(100675595), // QC_EXPAND3
1905 UINT64_C(1073750027), // QC_EXT
1906 UINT64_C(3221233675), // QC_EXTD
1907 UINT64_C(268447755), // QC_EXTDPR
1908 UINT64_C(302002187), // QC_EXTDPRH
1909 UINT64_C(167784459), // QC_EXTDR
1910 UINT64_C(2147491851), // QC_EXTDU
1911 UINT64_C(201338891), // QC_EXTDUPR
1912 UINT64_C(234893323), // QC_EXTDUPRH
1913 UINT64_C(134230027), // QC_EXTDUR
1914 UINT64_C(8203), // QC_EXTU
1915 UINT64_C(8223), // QC_E_ADDAI
1916 UINT64_C(2147495967), // QC_E_ADDI
1917 UINT64_C(40991), // QC_E_ANDAI
1918 UINT64_C(3221237791), // QC_E_ANDI
1919 UINT64_C(25182239), // QC_E_BEQI
1920 UINT64_C(30425119), // QC_E_BGEI
1921 UINT64_C(32522271), // QC_E_BGEUI
1922 UINT64_C(29376543), // QC_E_BLTI
1923 UINT64_C(31473695), // QC_E_BLTUI
1924 UINT64_C(26230815), // QC_E_BNEI
1925 UINT64_C(16415), // QC_E_J
1926 UINT64_C(49183), // QC_E_JAL
1927 UINT64_C(20511), // QC_E_LB
1928 UINT64_C(1073762335), // QC_E_LBU
1929 UINT64_C(2147504159), // QC_E_LH
1930 UINT64_C(3221245983), // QC_E_LHU
1931 UINT64_C(31), // QC_E_LI
1932 UINT64_C(24607), // QC_E_LW
1933 UINT64_C(36895), // QC_E_ORAI
1934 UINT64_C(1073754143), // QC_E_ORI
1935 UINT64_C(1073766431), // QC_E_SB
1936 UINT64_C(2147508255), // QC_E_SH
1937 UINT64_C(3221250079), // QC_E_SW
1938 UINT64_C(4127), // QC_E_XORAI
1939 UINT64_C(12319), // QC_E_XORI
1940 UINT64_C(1073745931), // QC_INSB
1941 UINT64_C(2147487755), // QC_INSBH
1942 UINT64_C(33566731), // QC_INSBHR
1943 UINT64_C(4107), // QC_INSBI
1944 UINT64_C(67121163), // QC_INSBPR
1945 UINT64_C(100675595), // QC_INSBPRH
1946 UINT64_C(12299), // QC_INSBR
1947 UINT64_C(2147483659), // QC_INSBRI
1948 UINT64_C(20491), // QC_INW
1949 UINT64_C(27), // QC_LI
1950 UINT64_C(33554523), // QC_LIEQ
1951 UINT64_C(100663387), // QC_LIEQI
1952 UINT64_C(33575003), // QC_LIGE
1953 UINT64_C(100683867), // QC_LIGEI
1954 UINT64_C(33583195), // QC_LIGEU
1955 UINT64_C(100692059), // QC_LIGEUI
1956 UINT64_C(33570907), // QC_LILT
1957 UINT64_C(100679771), // QC_LILTI
1958 UINT64_C(33579099), // QC_LILTU
1959 UINT64_C(100687963), // QC_LILTUI
1960 UINT64_C(33558619), // QC_LINE
1961 UINT64_C(100667483), // QC_LINEI
1962 UINT64_C(2147512331), // QC_LRB
1963 UINT64_C(2952818699), // QC_LRBU
1964 UINT64_C(2415947787), // QC_LRH
1965 UINT64_C(3221254155), // QC_LRHU
1966 UINT64_C(2684383243), // QC_LRW
1967 UINT64_C(28683), // QC_LWM
1968 UINT64_C(1073770507), // QC_LWMI
1969 UINT64_C(24587), // QC_MULIADD
1970 UINT64_C(91), // QC_MVEQ
1971 UINT64_C(67108955), // QC_MVEQI
1972 UINT64_C(20571), // QC_MVGE
1973 UINT64_C(67129435), // QC_MVGEI
1974 UINT64_C(28763), // QC_MVGEU
1975 UINT64_C(67137627), // QC_MVGEUI
1976 UINT64_C(16475), // QC_MVLT
1977 UINT64_C(67125339), // QC_MVLTI
1978 UINT64_C(24667), // QC_MVLTU
1979 UINT64_C(67133531), // QC_MVLTUI
1980 UINT64_C(4187), // QC_MVNE
1981 UINT64_C(67113051), // QC_MVNEI
1982 UINT64_C(234893323), // QC_NORM
1983 UINT64_C(302002187), // QC_NORMEU
1984 UINT64_C(268447755), // QC_NORMU
1985 UINT64_C(16395), // QC_OUTW
1986 UINT64_C(1073750035), // QC_PPUTCI
1987 UINT64_C(67117147), // QC_SELECTEQI
1988 UINT64_C(33562715), // QC_SELECTIEQ
1989 UINT64_C(100671579), // QC_SELECTIEQI
1990 UINT64_C(8283), // QC_SELECTIIEQ
1991 UINT64_C(12379), // QC_SELECTIINE
1992 UINT64_C(33566811), // QC_SELECTINE
1993 UINT64_C(100675675), // QC_SELECTINEI
1994 UINT64_C(67121243), // QC_SELECTNEI
1995 UINT64_C(3422552179), // QC_SETINTI
1996 UINT64_C(2147512363), // QC_SETWM
1997 UINT64_C(3221254187), // QC_SETWMI
1998 UINT64_C(1073754123), // QC_SHLADD
1999 UINT64_C(335556619), // QC_SHLSAT
2000 UINT64_C(402665483), // QC_SHLUSAT
2001 UINT64_C(3489685547), // QC_SRB
2002 UINT64_C(3758121003), // QC_SRH
2003 UINT64_C(4026556459), // QC_SRW
2004 UINT64_C(536883211), // QC_SUBSAT
2005 UINT64_C(570437643), // QC_SUBUSAT
2006 UINT64_C(28715), // QC_SWM
2007 UINT64_C(1073770539), // QC_SWMI
2008 UINT64_C(268447763), // QC_SYNC
2009 UINT64_C(536883219), // QC_SYNCR
2010 UINT64_C(1073754131), // QC_SYNCWF
2011 UINT64_C(2147495955), // QC_SYNCWL
2012 UINT64_C(603992075), // QC_WRAP
2013 UINT64_C(11), // QC_WRAPI
2014 UINT64_C(8192), // QK_C_LBU
2015 UINT64_C(32768), // QK_C_LBUSP
2016 UINT64_C(8194), // QK_C_LHU
2017 UINT64_C(32800), // QK_C_LHUSP
2018 UINT64_C(40960), // QK_C_SB
2019 UINT64_C(32832), // QK_C_SBSP
2020 UINT64_C(40962), // QK_C_SH
2021 UINT64_C(32864), // QK_C_SHSP
2022 UINT64_C(33579059), // REM
2023 UINT64_C(33583155), // REMU
2024 UINT64_C(33583163), // REMUW
2025 UINT64_C(33579067), // REMW
2026 UINT64_C(1795182611), // REV16
2027 UINT64_C(1770016787), // REV8_RV32
2028 UINT64_C(1803571219), // REV8_RV64
2029 UINT64_C(1777356819), // REV_RV32
2030 UINT64_C(1810911251), // REV_RV64
2031 UINT64_C(1577066587), // RI_VEXTRACT
2032 UINT64_C(1073766491), // RI_VINSERT
2033 UINT64_C(536871003), // RI_VUNZIP2A_VV
2034 UINT64_C(1610612827), // RI_VUNZIP2B_VV
2035 UINT64_C(28763), // RI_VZERO
2036 UINT64_C(268435547), // RI_VZIP2A_VV
2037 UINT64_C(1342177371), // RI_VZIP2B_VV
2038 UINT64_C(805306459), // RI_VZIPEVEN_VV
2039 UINT64_C(1879048283), // RI_VZIPODD_VV
2040 UINT64_C(1610616883), // ROL
2041 UINT64_C(1610616891), // ROLW
2042 UINT64_C(1610633267), // ROR
2043 UINT64_C(1610633235), // RORI
2044 UINT64_C(1610633243), // RORIW
2045 UINT64_C(1610633275), // RORW
2046 UINT64_C(2449473595), // SADD
2047 UINT64_C(2986344507), // SADDU
2048 UINT64_C(3791667227), // SATI_RV32
2049 UINT64_C(3825221659), // SATI_RV64
2050 UINT64_C(35), // SB
2051 UINT64_C(1040187439), // SB_AQRL
2052 UINT64_C(973078575), // SB_RL
2053 UINT64_C(272629875), // SCTRCLR
2054 UINT64_C(402665519), // SC_D
2055 UINT64_C(469774383), // SC_D_AQ
2056 UINT64_C(503328815), // SC_D_AQRL
2057 UINT64_C(436219951), // SC_D_RL
2058 UINT64_C(402661423), // SC_W
2059 UINT64_C(469770287), // SC_W_AQ
2060 UINT64_C(503324719), // SC_W_AQRL
2061 UINT64_C(436215855), // SC_W_RL
2062 UINT64_C(12323), // SD
2063 UINT64_C(1040199727), // SD_AQRL
2064 UINT64_C(973090863), // SD_RL
2065 UINT64_C(12323), // SD_RV32
2066 UINT64_C(1614811155), // SEXT_B
2067 UINT64_C(1615859731), // SEXT_H
2068 UINT64_C(403701875), // SFENCE_INVAL_IR
2069 UINT64_C(301990003), // SFENCE_VMA
2070 UINT64_C(402653299), // SFENCE_W_INVAL
2071 UINT64_C(4229955699), // SF_CDISCARD_D_L1
2072 UINT64_C(810549363), // SF_CEASE
2073 UINT64_C(4227858547), // SF_CFLUSH_D_L1
2074 UINT64_C(4261417207), // SF_MM_E4M3_E4M3
2075 UINT64_C(4261417079), // SF_MM_E4M3_E5M2
2076 UINT64_C(4194308343), // SF_MM_E5M2_E4M3
2077 UINT64_C(4194308215), // SF_MM_E5M2_E5M2
2078 UINT64_C(4060090487), // SF_MM_F_F
2079 UINT64_C(4127195383), // SF_MM_S_S
2080 UINT64_C(4127195255), // SF_MM_S_U
2081 UINT64_C(4060086519), // SF_MM_U_S
2082 UINT64_C(4060086391), // SF_MM_U_U
2083 UINT64_C(704663643), // SF_VC_FV
2084 UINT64_C(2852147291), // SF_VC_FVV
2085 UINT64_C(4194324571), // SF_VC_FVW
2086 UINT64_C(33566811), // SF_VC_I
2087 UINT64_C(570437723), // SF_VC_IV
2088 UINT64_C(2717921371), // SF_VC_IVV
2089 UINT64_C(4060098651), // SF_VC_IVW
2090 UINT64_C(570425435), // SF_VC_VV
2091 UINT64_C(2717909083), // SF_VC_VVV
2092 UINT64_C(4060086363), // SF_VC_VVW
2093 UINT64_C(671109211), // SF_VC_V_FV
2094 UINT64_C(2818592859), // SF_VC_V_FVV
2095 UINT64_C(4160770139), // SF_VC_V_FVW
2096 UINT64_C(12379), // SF_VC_V_I
2097 UINT64_C(536883291), // SF_VC_V_IV
2098 UINT64_C(2684366939), // SF_VC_V_IVV
2099 UINT64_C(4026544219), // SF_VC_V_IVW
2100 UINT64_C(536871003), // SF_VC_V_VV
2101 UINT64_C(2684354651), // SF_VC_V_VVV
2102 UINT64_C(4026531931), // SF_VC_V_VVW
2103 UINT64_C(16475), // SF_VC_V_X
2104 UINT64_C(536887387), // SF_VC_V_XV
2105 UINT64_C(2684371035), // SF_VC_V_XVV
2106 UINT64_C(4026548315), // SF_VC_V_XVW
2107 UINT64_C(33570907), // SF_VC_X
2108 UINT64_C(570441819), // SF_VC_XV
2109 UINT64_C(2717925467), // SF_VC_XVV
2110 UINT64_C(4060102747), // SF_VC_XVW
2111 UINT64_C(1275269207), // SF_VFEXPA_V
2112 UINT64_C(1275301975), // SF_VFEXP_V
2113 UINT64_C(2281721947), // SF_VFNRCLIP_XU_F_QF
2114 UINT64_C(2348830811), // SF_VFNRCLIP_X_F_QF
2115 UINT64_C(4060090459), // SF_VFWMACC_4x4x4
2116 UINT64_C(838889479), // SF_VLTE16
2117 UINT64_C(1375760391), // SF_VLTE32
2118 UINT64_C(1912631303), // SF_VLTE64
2119 UINT64_C(302018567), // SF_VLTE8
2120 UINT64_C(3187679323), // SF_VQMACCSU_2x8x2
2121 UINT64_C(4261421147), // SF_VQMACCSU_4x8x4
2122 UINT64_C(3120570459), // SF_VQMACCUS_2x8x2
2123 UINT64_C(4194312283), // SF_VQMACCUS_4x8x4
2124 UINT64_C(2986352731), // SF_VQMACCU_2x8x2
2125 UINT64_C(4060094555), // SF_VQMACCU_4x8x4
2126 UINT64_C(3053461595), // SF_VQMACC_2x8x2
2127 UINT64_C(4127203419), // SF_VQMACC_4x8x4
2128 UINT64_C(2216718423), // SF_VSETTK
2129 UINT64_C(2215669847), // SF_VSETTM
2130 UINT64_C(2214621271), // SF_VSETTN
2131 UINT64_C(838889511), // SF_VSTE16
2132 UINT64_C(1375760423), // SF_VSTE32
2133 UINT64_C(1912631335), // SF_VSTE64
2134 UINT64_C(302018599), // SF_VSTE8
2135 UINT64_C(1136681047), // SF_VTDISCARD
2136 UINT64_C(1577082967), // SF_VTMV_T_V
2137 UINT64_C(1139826775), // SF_VTMV_V_T
2138 UINT64_C(1138778199), // SF_VTZERO_T
2139 UINT64_C(4131), // SH
2140 UINT64_C(536879155), // SH1ADD
2141 UINT64_C(536879163), // SH1ADD_UW
2142 UINT64_C(536887347), // SH2ADD
2143 UINT64_C(536887355), // SH2ADD_UW
2144 UINT64_C(536895539), // SH3ADD
2145 UINT64_C(536895547), // SH3ADD_UW
2146 UINT64_C(3992985627), // SHA
2147 UINT64_C(270536723), // SHA256SIG0
2148 UINT64_C(271585299), // SHA256SIG1
2149 UINT64_C(268439571), // SHA256SUM0
2150 UINT64_C(269488147), // SHA256SUM1
2151 UINT64_C(274731027), // SHA512SIG0
2152 UINT64_C(1543503923), // SHA512SIG0H
2153 UINT64_C(1409286195), // SHA512SIG0L
2154 UINT64_C(275779603), // SHA512SIG1
2155 UINT64_C(1577058355), // SHA512SIG1H
2156 UINT64_C(1442840627), // SHA512SIG1L
2157 UINT64_C(272633875), // SHA512SUM0
2158 UINT64_C(1342177331), // SHA512SUM0R
2159 UINT64_C(273682451), // SHA512SUM1
2160 UINT64_C(1375731763), // SHA512SUM1R
2161 UINT64_C(4261421083), // SHAR
2162 UINT64_C(1040191535), // SH_AQRL
2163 UINT64_C(4131), // SH_INX
2164 UINT64_C(973082671), // SH_RL
2165 UINT64_C(369098867), // SINVAL_VMA
2166 UINT64_C(4147), // SLL
2167 UINT64_C(4115), // SLLI
2168 UINT64_C(4123), // SLLIW
2169 UINT64_C(134221851), // SLLI_UW
2170 UINT64_C(4155), // SLLW
2171 UINT64_C(8243), // SLT
2172 UINT64_C(8211), // SLTI
2173 UINT64_C(12307), // SLTIU
2174 UINT64_C(12339), // SLTU
2175 UINT64_C(2382368827), // SLX
2176 UINT64_C(276828179), // SM3P0
2177 UINT64_C(277876755), // SM3P1
2178 UINT64_C(805306419), // SM4ED
2179 UINT64_C(872415283), // SM4KS
2180 UINT64_C(3791663147), // SMT_VMADOT
2181 UINT64_C(3858772011), // SMT_VMADOT1
2182 UINT64_C(3858767915), // SMT_VMADOT1SU
2183 UINT64_C(3858759723), // SMT_VMADOT1U
2184 UINT64_C(3858763819), // SMT_VMADOT1US
2185 UINT64_C(3858788395), // SMT_VMADOT2
2186 UINT64_C(3858784299), // SMT_VMADOT2SU
2187 UINT64_C(3858776107), // SMT_VMADOT2U
2188 UINT64_C(3858780203), // SMT_VMADOT2US
2189 UINT64_C(3858804779), // SMT_VMADOT3
2190 UINT64_C(3858800683), // SMT_VMADOT3SU
2191 UINT64_C(3858792491), // SMT_VMADOT3U
2192 UINT64_C(3858796587), // SMT_VMADOT3US
2193 UINT64_C(3791659051), // SMT_VMADOTSU
2194 UINT64_C(3791650859), // SMT_VMADOTU
2195 UINT64_C(3791654955), // SMT_VMADOTUS
2196 UINT64_C(1073762355), // SRA
2197 UINT64_C(1073762323), // SRAI
2198 UINT64_C(1073762331), // SRAIW
2199 UINT64_C(3523231771), // SRARI_RV32
2200 UINT64_C(3556786203), // SRARI_RV64
2201 UINT64_C(1073762363), // SRAW
2202 UINT64_C(270532723), // SRET
2203 UINT64_C(20531), // SRL
2204 UINT64_C(20499), // SRLI
2205 UINT64_C(20507), // SRLIW
2206 UINT64_C(20539), // SRLW
2207 UINT64_C(2919239739), // SRX
2208 UINT64_C(1207971887), // SSAMOSWAP_D
2209 UINT64_C(1275080751), // SSAMOSWAP_D_AQ
2210 UINT64_C(1308635183), // SSAMOSWAP_D_AQRL
2211 UINT64_C(1241526319), // SSAMOSWAP_D_RL
2212 UINT64_C(1207967791), // SSAMOSWAP_W
2213 UINT64_C(1275076655), // SSAMOSWAP_W_AQ
2214 UINT64_C(1308631087), // SSAMOSWAP_W_AQRL
2215 UINT64_C(1241522223), // SSAMOSWAP_W_RL
2216 UINT64_C(2986352699), // SSH1SADD
2217 UINT64_C(3925876763), // SSHA
2218 UINT64_C(4194312219), // SSHAR
2219 UINT64_C(3523223579), // SSLAI
2220 UINT64_C(3451928691), // SSPOPCHK
2221 UINT64_C(3456122995), // SSPUSH
2222 UINT64_C(3451928691), // SSRDP
2223 UINT64_C(3523215419), // SSUB
2224 UINT64_C(4060086331), // SSUBU
2225 UINT64_C(1073741875), // SUB
2226 UINT64_C(3321913371), // SUBD
2227 UINT64_C(1073741883), // SUBW
2228 UINT64_C(8227), // SW
2229 UINT64_C(1040195631), // SW_AQRL
2230 UINT64_C(8227), // SW_INX
2231 UINT64_C(973086767), // SW_RL
2232 UINT64_C(4107), // TH_ADDSL
2233 UINT64_C(1048587), // TH_DCACHE_CALL
2234 UINT64_C(3145739), // TH_DCACHE_CIALL
2235 UINT64_C(45088779), // TH_DCACHE_CIPA
2236 UINT64_C(36700171), // TH_DCACHE_CISW
2237 UINT64_C(40894475), // TH_DCACHE_CIVA
2238 UINT64_C(42991627), // TH_DCACHE_CPA
2239 UINT64_C(41943051), // TH_DCACHE_CPAL1
2240 UINT64_C(34603019), // TH_DCACHE_CSW
2241 UINT64_C(38797323), // TH_DCACHE_CVA
2242 UINT64_C(37748747), // TH_DCACHE_CVAL1
2243 UINT64_C(2097163), // TH_DCACHE_IALL
2244 UINT64_C(44040203), // TH_DCACHE_IPA
2245 UINT64_C(35651595), // TH_DCACHE_ISW
2246 UINT64_C(39845899), // TH_DCACHE_IVA
2247 UINT64_C(8203), // TH_EXT
2248 UINT64_C(12299), // TH_EXTU
2249 UINT64_C(2214596619), // TH_FF0
2250 UINT64_C(2248151051), // TH_FF1
2251 UINT64_C(1610637323), // TH_FLRD
2252 UINT64_C(1073766411), // TH_FLRW
2253 UINT64_C(1879072779), // TH_FLURD
2254 UINT64_C(1342201867), // TH_FLURW
2255 UINT64_C(1610641419), // TH_FSRD
2256 UINT64_C(1073770507), // TH_FSRW
2257 UINT64_C(1879076875), // TH_FSURD
2258 UINT64_C(1342205963), // TH_FSURW
2259 UINT64_C(16777227), // TH_ICACHE_IALL
2260 UINT64_C(17825803), // TH_ICACHE_IALLS
2261 UINT64_C(58720267), // TH_ICACHE_IPA
2262 UINT64_C(50331659), // TH_ICACHE_IVA
2263 UINT64_C(22020107), // TH_L2CACHE_CALL
2264 UINT64_C(24117259), // TH_L2CACHE_CIALL
2265 UINT64_C(23068683), // TH_L2CACHE_IALL
2266 UINT64_C(402669579), // TH_LBIA
2267 UINT64_C(134234123), // TH_LBIB
2268 UINT64_C(2550153227), // TH_LBUIA
2269 UINT64_C(2281717771), // TH_LBUIB
2270 UINT64_C(4160765963), // TH_LDD
2271 UINT64_C(2013282315), // TH_LDIA
2272 UINT64_C(1744846859), // TH_LDIB
2273 UINT64_C(939540491), // TH_LHIA
2274 UINT64_C(671105035), // TH_LHIB
2275 UINT64_C(3087024139), // TH_LHUIA
2276 UINT64_C(2818588683), // TH_LHUIB
2277 UINT64_C(16395), // TH_LRB
2278 UINT64_C(2147500043), // TH_LRBU
2279 UINT64_C(1610629131), // TH_LRD
2280 UINT64_C(536887307), // TH_LRH
2281 UINT64_C(2684370955), // TH_LRHU
2282 UINT64_C(1073758219), // TH_LRW
2283 UINT64_C(3221241867), // TH_LRWU
2284 UINT64_C(268451851), // TH_LURB
2285 UINT64_C(2415935499), // TH_LURBU
2286 UINT64_C(1879064587), // TH_LURD
2287 UINT64_C(805322763), // TH_LURH
2288 UINT64_C(2952806411), // TH_LURHU
2289 UINT64_C(1342193675), // TH_LURW
2290 UINT64_C(3489677323), // TH_LURWU
2291 UINT64_C(3758112779), // TH_LWD
2292 UINT64_C(1476411403), // TH_LWIA
2293 UINT64_C(1207975947), // TH_LWIB
2294 UINT64_C(4026548235), // TH_LWUD
2295 UINT64_C(3623895051), // TH_LWUIA
2296 UINT64_C(3355459595), // TH_LWUIB
2297 UINT64_C(536875019), // TH_MULA
2298 UINT64_C(671092747), // TH_MULAH
2299 UINT64_C(603983883), // TH_MULAW
2300 UINT64_C(570429451), // TH_MULS
2301 UINT64_C(704647179), // TH_MULSH
2302 UINT64_C(637538315), // TH_MULSW
2303 UINT64_C(1073745931), // TH_MVEQZ
2304 UINT64_C(1107300363), // TH_MVNEZ
2305 UINT64_C(2181042187), // TH_REV
2306 UINT64_C(2415923211), // TH_REVW
2307 UINT64_C(402673675), // TH_SBIA
2308 UINT64_C(134238219), // TH_SBIB
2309 UINT64_C(4160770059), // TH_SDD
2310 UINT64_C(2013286411), // TH_SDIA
2311 UINT64_C(1744850955), // TH_SDIB
2312 UINT64_C(67108875), // TH_SFENCE_VMAS
2313 UINT64_C(939544587), // TH_SHIA
2314 UINT64_C(671109131), // TH_SHIB
2315 UINT64_C(20491), // TH_SRB
2316 UINT64_C(1610633227), // TH_SRD
2317 UINT64_C(536891403), // TH_SRH
2318 UINT64_C(268439563), // TH_SRRI
2319 UINT64_C(335548427), // TH_SRRIW
2320 UINT64_C(1073762315), // TH_SRW
2321 UINT64_C(268455947), // TH_SURB
2322 UINT64_C(1879068683), // TH_SURD
2323 UINT64_C(805326859), // TH_SURH
2324 UINT64_C(1342197771), // TH_SURW
2325 UINT64_C(3758116875), // TH_SWD
2326 UINT64_C(1476415499), // TH_SWIA
2327 UINT64_C(1207980043), // TH_SWIB
2328 UINT64_C(25165835), // TH_SYNC
2329 UINT64_C(27262987), // TH_SYNC_I
2330 UINT64_C(28311563), // TH_SYNC_IS
2331 UINT64_C(26214411), // TH_SYNC_S
2332 UINT64_C(2281705483), // TH_TST
2333 UINT64_C(2147487755), // TH_TSTNBZ
2334 UINT64_C(2415943691), // TH_VMAQASU_VV
2335 UINT64_C(2483052555), // TH_VMAQASU_VX
2336 UINT64_C(2617270283), // TH_VMAQAUS_VX
2337 UINT64_C(2281725963), // TH_VMAQAU_VV
2338 UINT64_C(2348834827), // TH_VMAQAU_VX
2339 UINT64_C(2147508235), // TH_VMAQA_VV
2340 UINT64_C(2214617099), // TH_VMAQA_VX
2341 UINT64_C(3221229683), // UNIMP
2342 UINT64_C(3858767931), // UNZIP16HP
2343 UINT64_C(3791659067), // UNZIP16P
2344 UINT64_C(3825213499), // UNZIP8HP
2345 UINT64_C(3758104635), // UNZIP8P
2346 UINT64_C(149966867), // UNZIP_RV32
2347 UINT64_C(2717925403), // USATI_RV32
2348 UINT64_C(2751479835), // USATI_RV64
2349 UINT64_C(536879191), // VAADDU_VV
2350 UINT64_C(536895575), // VAADDU_VX
2351 UINT64_C(603988055), // VAADD_VV
2352 UINT64_C(604004439), // VAADD_VX
2353 UINT64_C(1275076695), // VABDU_VV
2354 UINT64_C(1140858967), // VABD_VV
2355 UINT64_C(1208492119), // VABS_V
2356 UINT64_C(1073754199), // VADC_VIM
2357 UINT64_C(1073741911), // VADC_VVM
2358 UINT64_C(1073758295), // VADC_VXM
2359 UINT64_C(12375), // VADD_VI
2360 UINT64_C(87), // VADD_VV
2361 UINT64_C(16471), // VADD_VX
2362 UINT64_C(2785058935), // VAESDF_VS
2363 UINT64_C(2717950071), // VAESDF_VV
2364 UINT64_C(2785026167), // VAESDM_VS
2365 UINT64_C(2717917303), // VAESDM_VV
2366 UINT64_C(2785124471), // VAESEF_VS
2367 UINT64_C(2718015607), // VAESEF_VV
2368 UINT64_C(2785091703), // VAESEM_VS
2369 UINT64_C(2717982839), // VAESEM_VV
2370 UINT64_C(2315264119), // VAESKF1_VI
2371 UINT64_C(2852135031), // VAESKF2_VI
2372 UINT64_C(2785255543), // VAESZ_VS
2373 UINT64_C(67108951), // VANDN_VV
2374 UINT64_C(67125335), // VANDN_VX
2375 UINT64_C(603992151), // VAND_VI
2376 UINT64_C(603979863), // VAND_VV
2377 UINT64_C(603996247), // VAND_VX
2378 UINT64_C(671096919), // VASUBU_VV
2379 UINT64_C(671113303), // VASUBU_VX
2380 UINT64_C(738205783), // VASUB_VV
2381 UINT64_C(738222167), // VASUB_VX
2382 UINT64_C(1208229975), // VBREV8_V
2383 UINT64_C(1208295511), // VBREV_V
2384 UINT64_C(872423511), // VCLMULH_VV
2385 UINT64_C(872439895), // VCLMULH_VX
2386 UINT64_C(805314647), // VCLMUL_VV
2387 UINT64_C(805331031), // VCLMUL_VX
2388 UINT64_C(1208361047), // VCLZ_V
2389 UINT64_C(1577066583), // VCOMPRESS_VM
2390 UINT64_C(1074274391), // VCPOP_M
2391 UINT64_C(1208426583), // VCPOP_V
2392 UINT64_C(1208393815), // VCTZ_V
2393 UINT64_C(2147491927), // VDIVU_VV
2394 UINT64_C(2147508311), // VDIVU_VX
2395 UINT64_C(2214600791), // VDIV_VV
2396 UINT64_C(2214617175), // VDIV_VX
2397 UINT64_C(2818580567), // VDOTA4SU_VV
2398 UINT64_C(2818596951), // VDOTA4SU_VX
2399 UINT64_C(3087032407), // VDOTA4US_VX
2400 UINT64_C(2684362839), // VDOTA4U_VV
2401 UINT64_C(2684379223), // VDOTA4U_VX
2402 UINT64_C(2952798295), // VDOTA4_VV
2403 UINT64_C(2952814679), // VDOTA4_VX
2404 UINT64_C(20567), // VFADD_VF
2405 UINT64_C(4183), // VFADD_VV
2406 UINT64_C(1275596887), // VFCLASS_V
2407 UINT64_C(1208029271), // VFCVT_F_XU_V
2408 UINT64_C(1208062039), // VFCVT_F_X_V
2409 UINT64_C(1208160343), // VFCVT_RTZ_XU_F_V
2410 UINT64_C(1208193111), // VFCVT_RTZ_X_F_V
2411 UINT64_C(1207963735), // VFCVT_XU_F_V
2412 UINT64_C(1207996503), // VFCVT_X_F_V
2413 UINT64_C(2147504215), // VFDIV_VF
2414 UINT64_C(2147487831), // VFDIV_VV
2415 UINT64_C(1074307159), // VFIRST_M
2416 UINT64_C(2952810583), // VFMACC_VF
2417 UINT64_C(2952794199), // VFMACC_VV
2418 UINT64_C(2684375127), // VFMADD_VF
2419 UINT64_C(2684358743), // VFMADD_VV
2420 UINT64_C(402673751), // VFMAX_VF
2421 UINT64_C(402657367), // VFMAX_VV
2422 UINT64_C(1543524439), // VFMERGE_VFM
2423 UINT64_C(268456023), // VFMIN_VF
2424 UINT64_C(268439639), // VFMIN_VV
2425 UINT64_C(3087028311), // VFMSAC_VF
2426 UINT64_C(3087011927), // VFMSAC_VV
2427 UINT64_C(2818592855), // VFMSUB_VF
2428 UINT64_C(2818576471), // VFMSUB_VV
2429 UINT64_C(2415939671), // VFMUL_VF
2430 UINT64_C(2415923287), // VFMUL_VV
2431 UINT64_C(1107300439), // VFMV_F_S
2432 UINT64_C(1107316823), // VFMV_S_F
2433 UINT64_C(1577078871), // VFMV_V_F
2434 UINT64_C(1208914007), // VFNCVTBF16_F_F_W
2435 UINT64_C(1208979543), // VFNCVTBF16_SAT_F_F_W
2436 UINT64_C(1208782935), // VFNCVT_F_F_Q
2437 UINT64_C(1208619095), // VFNCVT_F_F_W
2438 UINT64_C(1208553559), // VFNCVT_F_XU_W
2439 UINT64_C(1208586327), // VFNCVT_F_X_W
2440 UINT64_C(1208651863), // VFNCVT_ROD_F_F_W
2441 UINT64_C(1208684631), // VFNCVT_RTZ_XU_F_W
2442 UINT64_C(1208717399), // VFNCVT_RTZ_X_F_W
2443 UINT64_C(1208848471), // VFNCVT_SAT_F_F_Q
2444 UINT64_C(1208488023), // VFNCVT_XU_F_W
2445 UINT64_C(1208520791), // VFNCVT_X_F_W
2446 UINT64_C(3019919447), // VFNMACC_VF
2447 UINT64_C(3019903063), // VFNMACC_VV
2448 UINT64_C(2751483991), // VFNMADD_VF
2449 UINT64_C(2751467607), // VFNMADD_VV
2450 UINT64_C(3154137175), // VFNMSAC_VF
2451 UINT64_C(3154120791), // VFNMSAC_VV
2452 UINT64_C(2885701719), // VFNMSUB_VF
2453 UINT64_C(2885685335), // VFNMSUB_VV
2454 UINT64_C(2214613079), // VFRDIV_VF
2455 UINT64_C(1275236439), // VFREC7_V
2456 UINT64_C(469766231), // VFREDMAX_VS
2457 UINT64_C(335548503), // VFREDMIN_VS
2458 UINT64_C(201330775), // VFREDOSUM_VS
2459 UINT64_C(67113047), // VFREDUSUM_VS
2460 UINT64_C(1275203671), // VFRSQRT7_V
2461 UINT64_C(2617266263), // VFRSUB_VF
2462 UINT64_C(604000343), // VFSGNJN_VF
2463 UINT64_C(603983959), // VFSGNJN_VV
2464 UINT64_C(671109207), // VFSGNJX_VF
2465 UINT64_C(671092823), // VFSGNJX_VV
2466 UINT64_C(536891479), // VFSGNJ_VF
2467 UINT64_C(536875095), // VFSGNJ_VV
2468 UINT64_C(1006653527), // VFSLIDE1DOWN_VF
2469 UINT64_C(939544663), // VFSLIDE1UP_VF
2470 UINT64_C(1275072599), // VFSQRT_V
2471 UINT64_C(134238295), // VFSUB_VF
2472 UINT64_C(134221911), // VFSUB_VV
2473 UINT64_C(3221246039), // VFWADD_VF
2474 UINT64_C(3221229655), // VFWADD_VV
2475 UINT64_C(3489681495), // VFWADD_WF
2476 UINT64_C(3489665111), // VFWADD_WV
2477 UINT64_C(1208389719), // VFWCVTBF16_F_F_V
2478 UINT64_C(1208356951), // VFWCVT_F_F_V
2479 UINT64_C(1208291415), // VFWCVT_F_XU_V
2480 UINT64_C(1208324183), // VFWCVT_F_X_V
2481 UINT64_C(1208422487), // VFWCVT_RTZ_XU_F_V
2482 UINT64_C(1208455255), // VFWCVT_RTZ_X_F_V
2483 UINT64_C(1208225879), // VFWCVT_XU_F_V
2484 UINT64_C(1208258647), // VFWCVT_X_F_V
2485 UINT64_C(3959443543), // VFWMACCBF16_VF
2486 UINT64_C(3959427159), // VFWMACCBF16_VV
2487 UINT64_C(4026552407), // VFWMACC_VF
2488 UINT64_C(4026536023), // VFWMACC_VV
2489 UINT64_C(4160770135), // VFWMSAC_VF
2490 UINT64_C(4160753751), // VFWMSAC_VV
2491 UINT64_C(3758116951), // VFWMUL_VF
2492 UINT64_C(3758100567), // VFWMUL_VV
2493 UINT64_C(4093661271), // VFWNMACC_VF
2494 UINT64_C(4093644887), // VFWNMACC_VV
2495 UINT64_C(4227878999), // VFWNMSAC_VF
2496 UINT64_C(4227862615), // VFWNMSAC_VV
2497 UINT64_C(3422556247), // VFWREDOSUM_VS
2498 UINT64_C(3288338519), // VFWREDUSUM_VS
2499 UINT64_C(3355463767), // VFWSUB_VF
2500 UINT64_C(3355447383), // VFWSUB_VV
2501 UINT64_C(3623899223), // VFWSUB_WF
2502 UINT64_C(3623882839), // VFWSUB_WV
2503 UINT64_C(2382372983), // VGHSH_VS
2504 UINT64_C(2986352759), // VGHSH_VV
2505 UINT64_C(2785583223), // VGMUL_VS
2506 UINT64_C(2718474359), // VGMUL_VV
2507 UINT64_C(1342742615), // VID_V
2508 UINT64_C(1342709847), // VIOTA_M
2509 UINT64_C(41963527), // VL1RE16_V
2510 UINT64_C(41967623), // VL1RE32_V
2511 UINT64_C(41971719), // VL1RE64_V
2512 UINT64_C(41943047), // VL1RE8_V
2513 UINT64_C(578834439), // VL2RE16_V
2514 UINT64_C(578838535), // VL2RE32_V
2515 UINT64_C(578842631), // VL2RE64_V
2516 UINT64_C(578813959), // VL2RE8_V
2517 UINT64_C(1652576263), // VL4RE16_V
2518 UINT64_C(1652580359), // VL4RE32_V
2519 UINT64_C(1652584455), // VL4RE64_V
2520 UINT64_C(1652555783), // VL4RE8_V
2521 UINT64_C(3800059911), // VL8RE16_V
2522 UINT64_C(3800064007), // VL8RE32_V
2523 UINT64_C(3800068103), // VL8RE64_V
2524 UINT64_C(3800039431), // VL8RE8_V
2525 UINT64_C(16797703), // VLE16FF_V
2526 UINT64_C(20487), // VLE16_V
2527 UINT64_C(16801799), // VLE32FF_V
2528 UINT64_C(24583), // VLE32_V
2529 UINT64_C(16805895), // VLE64FF_V
2530 UINT64_C(28679), // VLE64_V
2531 UINT64_C(16777223), // VLE8FF_V
2532 UINT64_C(7), // VLE8_V
2533 UINT64_C(45088775), // VLM_V
2534 UINT64_C(201347079), // VLOXEI16_V
2535 UINT64_C(201351175), // VLOXEI32_V
2536 UINT64_C(201355271), // VLOXEI64_V
2537 UINT64_C(201326599), // VLOXEI8_V
2538 UINT64_C(738217991), // VLOXSEG2EI16_V
2539 UINT64_C(738222087), // VLOXSEG2EI32_V
2540 UINT64_C(738226183), // VLOXSEG2EI64_V
2541 UINT64_C(738197511), // VLOXSEG2EI8_V
2542 UINT64_C(1275088903), // VLOXSEG3EI16_V
2543 UINT64_C(1275092999), // VLOXSEG3EI32_V
2544 UINT64_C(1275097095), // VLOXSEG3EI64_V
2545 UINT64_C(1275068423), // VLOXSEG3EI8_V
2546 UINT64_C(1811959815), // VLOXSEG4EI16_V
2547 UINT64_C(1811963911), // VLOXSEG4EI32_V
2548 UINT64_C(1811968007), // VLOXSEG4EI64_V
2549 UINT64_C(1811939335), // VLOXSEG4EI8_V
2550 UINT64_C(2348830727), // VLOXSEG5EI16_V
2551 UINT64_C(2348834823), // VLOXSEG5EI32_V
2552 UINT64_C(2348838919), // VLOXSEG5EI64_V
2553 UINT64_C(2348810247), // VLOXSEG5EI8_V
2554 UINT64_C(2885701639), // VLOXSEG6EI16_V
2555 UINT64_C(2885705735), // VLOXSEG6EI32_V
2556 UINT64_C(2885709831), // VLOXSEG6EI64_V
2557 UINT64_C(2885681159), // VLOXSEG6EI8_V
2558 UINT64_C(3422572551), // VLOXSEG7EI16_V
2559 UINT64_C(3422576647), // VLOXSEG7EI32_V
2560 UINT64_C(3422580743), // VLOXSEG7EI64_V
2561 UINT64_C(3422552071), // VLOXSEG7EI8_V
2562 UINT64_C(3959443463), // VLOXSEG8EI16_V
2563 UINT64_C(3959447559), // VLOXSEG8EI32_V
2564 UINT64_C(3959451655), // VLOXSEG8EI64_V
2565 UINT64_C(3959422983), // VLOXSEG8EI8_V
2566 UINT64_C(134238215), // VLSE16_V
2567 UINT64_C(134242311), // VLSE32_V
2568 UINT64_C(134246407), // VLSE64_V
2569 UINT64_C(134217735), // VLSE8_V
2570 UINT64_C(553668615), // VLSEG2E16FF_V
2571 UINT64_C(536891399), // VLSEG2E16_V
2572 UINT64_C(553672711), // VLSEG2E32FF_V
2573 UINT64_C(536895495), // VLSEG2E32_V
2574 UINT64_C(553676807), // VLSEG2E64FF_V
2575 UINT64_C(536899591), // VLSEG2E64_V
2576 UINT64_C(553648135), // VLSEG2E8FF_V
2577 UINT64_C(536870919), // VLSEG2E8_V
2578 UINT64_C(1090539527), // VLSEG3E16FF_V
2579 UINT64_C(1073762311), // VLSEG3E16_V
2580 UINT64_C(1090543623), // VLSEG3E32FF_V
2581 UINT64_C(1073766407), // VLSEG3E32_V
2582 UINT64_C(1090547719), // VLSEG3E64FF_V
2583 UINT64_C(1073770503), // VLSEG3E64_V
2584 UINT64_C(1090519047), // VLSEG3E8FF_V
2585 UINT64_C(1073741831), // VLSEG3E8_V
2586 UINT64_C(1627410439), // VLSEG4E16FF_V
2587 UINT64_C(1610633223), // VLSEG4E16_V
2588 UINT64_C(1627414535), // VLSEG4E32FF_V
2589 UINT64_C(1610637319), // VLSEG4E32_V
2590 UINT64_C(1627418631), // VLSEG4E64FF_V
2591 UINT64_C(1610641415), // VLSEG4E64_V
2592 UINT64_C(1627389959), // VLSEG4E8FF_V
2593 UINT64_C(1610612743), // VLSEG4E8_V
2594 UINT64_C(2164281351), // VLSEG5E16FF_V
2595 UINT64_C(2147504135), // VLSEG5E16_V
2596 UINT64_C(2164285447), // VLSEG5E32FF_V
2597 UINT64_C(2147508231), // VLSEG5E32_V
2598 UINT64_C(2164289543), // VLSEG5E64FF_V
2599 UINT64_C(2147512327), // VLSEG5E64_V
2600 UINT64_C(2164260871), // VLSEG5E8FF_V
2601 UINT64_C(2147483655), // VLSEG5E8_V
2602 UINT64_C(2701152263), // VLSEG6E16FF_V
2603 UINT64_C(2684375047), // VLSEG6E16_V
2604 UINT64_C(2701156359), // VLSEG6E32FF_V
2605 UINT64_C(2684379143), // VLSEG6E32_V
2606 UINT64_C(2701160455), // VLSEG6E64FF_V
2607 UINT64_C(2684383239), // VLSEG6E64_V
2608 UINT64_C(2701131783), // VLSEG6E8FF_V
2609 UINT64_C(2684354567), // VLSEG6E8_V
2610 UINT64_C(3238023175), // VLSEG7E16FF_V
2611 UINT64_C(3221245959), // VLSEG7E16_V
2612 UINT64_C(3238027271), // VLSEG7E32FF_V
2613 UINT64_C(3221250055), // VLSEG7E32_V
2614 UINT64_C(3238031367), // VLSEG7E64FF_V
2615 UINT64_C(3221254151), // VLSEG7E64_V
2616 UINT64_C(3238002695), // VLSEG7E8FF_V
2617 UINT64_C(3221225479), // VLSEG7E8_V
2618 UINT64_C(3774894087), // VLSEG8E16FF_V
2619 UINT64_C(3758116871), // VLSEG8E16_V
2620 UINT64_C(3774898183), // VLSEG8E32FF_V
2621 UINT64_C(3758120967), // VLSEG8E32_V
2622 UINT64_C(3774902279), // VLSEG8E64FF_V
2623 UINT64_C(3758125063), // VLSEG8E64_V
2624 UINT64_C(3774873607), // VLSEG8E8FF_V
2625 UINT64_C(3758096391), // VLSEG8E8_V
2626 UINT64_C(671109127), // VLSSEG2E16_V
2627 UINT64_C(671113223), // VLSSEG2E32_V
2628 UINT64_C(671117319), // VLSSEG2E64_V
2629 UINT64_C(671088647), // VLSSEG2E8_V
2630 UINT64_C(1207980039), // VLSSEG3E16_V
2631 UINT64_C(1207984135), // VLSSEG3E32_V
2632 UINT64_C(1207988231), // VLSSEG3E64_V
2633 UINT64_C(1207959559), // VLSSEG3E8_V
2634 UINT64_C(1744850951), // VLSSEG4E16_V
2635 UINT64_C(1744855047), // VLSSEG4E32_V
2636 UINT64_C(1744859143), // VLSSEG4E64_V
2637 UINT64_C(1744830471), // VLSSEG4E8_V
2638 UINT64_C(2281721863), // VLSSEG5E16_V
2639 UINT64_C(2281725959), // VLSSEG5E32_V
2640 UINT64_C(2281730055), // VLSSEG5E64_V
2641 UINT64_C(2281701383), // VLSSEG5E8_V
2642 UINT64_C(2818592775), // VLSSEG6E16_V
2643 UINT64_C(2818596871), // VLSSEG6E32_V
2644 UINT64_C(2818600967), // VLSSEG6E64_V
2645 UINT64_C(2818572295), // VLSSEG6E8_V
2646 UINT64_C(3355463687), // VLSSEG7E16_V
2647 UINT64_C(3355467783), // VLSSEG7E32_V
2648 UINT64_C(3355471879), // VLSSEG7E64_V
2649 UINT64_C(3355443207), // VLSSEG7E8_V
2650 UINT64_C(3892334599), // VLSSEG8E16_V
2651 UINT64_C(3892338695), // VLSSEG8E32_V
2652 UINT64_C(3892342791), // VLSSEG8E64_V
2653 UINT64_C(3892314119), // VLSSEG8E8_V
2654 UINT64_C(67129351), // VLUXEI16_V
2655 UINT64_C(67133447), // VLUXEI32_V
2656 UINT64_C(67137543), // VLUXEI64_V
2657 UINT64_C(67108871), // VLUXEI8_V
2658 UINT64_C(604000263), // VLUXSEG2EI16_V
2659 UINT64_C(604004359), // VLUXSEG2EI32_V
2660 UINT64_C(604008455), // VLUXSEG2EI64_V
2661 UINT64_C(603979783), // VLUXSEG2EI8_V
2662 UINT64_C(1140871175), // VLUXSEG3EI16_V
2663 UINT64_C(1140875271), // VLUXSEG3EI32_V
2664 UINT64_C(1140879367), // VLUXSEG3EI64_V
2665 UINT64_C(1140850695), // VLUXSEG3EI8_V
2666 UINT64_C(1677742087), // VLUXSEG4EI16_V
2667 UINT64_C(1677746183), // VLUXSEG4EI32_V
2668 UINT64_C(1677750279), // VLUXSEG4EI64_V
2669 UINT64_C(1677721607), // VLUXSEG4EI8_V
2670 UINT64_C(2214612999), // VLUXSEG5EI16_V
2671 UINT64_C(2214617095), // VLUXSEG5EI32_V
2672 UINT64_C(2214621191), // VLUXSEG5EI64_V
2673 UINT64_C(2214592519), // VLUXSEG5EI8_V
2674 UINT64_C(2751483911), // VLUXSEG6EI16_V
2675 UINT64_C(2751488007), // VLUXSEG6EI32_V
2676 UINT64_C(2751492103), // VLUXSEG6EI64_V
2677 UINT64_C(2751463431), // VLUXSEG6EI8_V
2678 UINT64_C(3288354823), // VLUXSEG7EI16_V
2679 UINT64_C(3288358919), // VLUXSEG7EI32_V
2680 UINT64_C(3288363015), // VLUXSEG7EI64_V
2681 UINT64_C(3288334343), // VLUXSEG7EI8_V
2682 UINT64_C(3825225735), // VLUXSEG8EI16_V
2683 UINT64_C(3825229831), // VLUXSEG8EI32_V
2684 UINT64_C(3825233927), // VLUXSEG8EI64_V
2685 UINT64_C(3825205255), // VLUXSEG8EI8_V
2686 UINT64_C(3019907159), // VMACC_VV
2687 UINT64_C(3019923543), // VMACC_VX
2688 UINT64_C(1174417495), // VMADC_VI
2689 UINT64_C(1140863063), // VMADC_VIM
2690 UINT64_C(1174405207), // VMADC_VV
2691 UINT64_C(1140850775), // VMADC_VVM
2692 UINT64_C(1174421591), // VMADC_VX
2693 UINT64_C(1140867159), // VMADC_VXM
2694 UINT64_C(2751471703), // VMADD_VV
2695 UINT64_C(2751488087), // VMADD_VX
2696 UINT64_C(1644175447), // VMANDN_MM
2697 UINT64_C(1711284311), // VMAND_MM
2698 UINT64_C(402653271), // VMAXU_VV
2699 UINT64_C(402669655), // VMAXU_VX
2700 UINT64_C(469762135), // VMAX_VV
2701 UINT64_C(469778519), // VMAX_VX
2702 UINT64_C(1543516247), // VMERGE_VIM
2703 UINT64_C(1543503959), // VMERGE_VVM
2704 UINT64_C(1543520343), // VMERGE_VXM
2705 UINT64_C(1610633303), // VMFEQ_VF
2706 UINT64_C(1610616919), // VMFEQ_VV
2707 UINT64_C(2080395351), // VMFGE_VF
2708 UINT64_C(1946177623), // VMFGT_VF
2709 UINT64_C(1677742167), // VMFLE_VF
2710 UINT64_C(1677725783), // VMFLE_VV
2711 UINT64_C(1811959895), // VMFLT_VF
2712 UINT64_C(1811943511), // VMFLT_VV
2713 UINT64_C(1879068759), // VMFNE_VF
2714 UINT64_C(1879052375), // VMFNE_VV
2715 UINT64_C(268435543), // VMINU_VV
2716 UINT64_C(268451927), // VMINU_VX
2717 UINT64_C(335544407), // VMIN_VV
2718 UINT64_C(335560791), // VMIN_VX
2719 UINT64_C(1979719767), // VMNAND_MM
2720 UINT64_C(2046828631), // VMNOR_MM
2721 UINT64_C(1912610903), // VMORN_MM
2722 UINT64_C(1778393175), // VMOR_MM
2723 UINT64_C(1308622935), // VMSBC_VV
2724 UINT64_C(1275068503), // VMSBC_VVM
2725 UINT64_C(1308639319), // VMSBC_VX
2726 UINT64_C(1275084887), // VMSBC_VXM
2727 UINT64_C(1342218327), // VMSBF_M
2728 UINT64_C(1610625111), // VMSEQ_VI
2729 UINT64_C(1610612823), // VMSEQ_VV
2730 UINT64_C(1610629207), // VMSEQ_VX
2731 UINT64_C(2013278295), // VMSGTU_VI
2732 UINT64_C(2013282391), // VMSGTU_VX
2733 UINT64_C(2080387159), // VMSGT_VI
2734 UINT64_C(2080391255), // VMSGT_VX
2735 UINT64_C(1342283863), // VMSIF_M
2736 UINT64_C(1879060567), // VMSLEU_VI
2737 UINT64_C(1879048279), // VMSLEU_VV
2738 UINT64_C(1879064663), // VMSLEU_VX
2739 UINT64_C(1946169431), // VMSLE_VI
2740 UINT64_C(1946157143), // VMSLE_VV
2741 UINT64_C(1946173527), // VMSLE_VX
2742 UINT64_C(1744830551), // VMSLTU_VV
2743 UINT64_C(1744846935), // VMSLTU_VX
2744 UINT64_C(1811939415), // VMSLT_VV
2745 UINT64_C(1811955799), // VMSLT_VX
2746 UINT64_C(1677733975), // VMSNE_VI
2747 UINT64_C(1677721687), // VMSNE_VV
2748 UINT64_C(1677738071), // VMSNE_VX
2749 UINT64_C(1342251095), // VMSOF_M
2750 UINT64_C(2550145111), // VMULHSU_VV
2751 UINT64_C(2550161495), // VMULHSU_VX
2752 UINT64_C(2415927383), // VMULHU_VV
2753 UINT64_C(2415943767), // VMULHU_VX
2754 UINT64_C(2617253975), // VMULH_VV
2755 UINT64_C(2617270359), // VMULH_VX
2756 UINT64_C(2483036247), // VMUL_VV
2757 UINT64_C(2483052631), // VMUL_VX
2758 UINT64_C(2650812503), // VMV1R_V
2759 UINT64_C(2650845271), // VMV2R_V
2760 UINT64_C(2650910807), // VMV4R_V
2761 UINT64_C(2651041879), // VMV8R_V
2762 UINT64_C(1107320919), // VMV_S_X
2763 UINT64_C(1577070679), // VMV_V_I
2764 UINT64_C(1577058391), // VMV_V_V
2765 UINT64_C(1577074775), // VMV_V_X
2766 UINT64_C(1107304535), // VMV_X_S
2767 UINT64_C(2113937495), // VMXNOR_MM
2768 UINT64_C(1845502039), // VMXOR_MM
2769 UINT64_C(3087020119), // VNCLIPU_WI
2770 UINT64_C(3087007831), // VNCLIPU_WV
2771 UINT64_C(3087024215), // VNCLIPU_WX
2772 UINT64_C(3154128983), // VNCLIP_WI
2773 UINT64_C(3154116695), // VNCLIP_WV
2774 UINT64_C(3154133079), // VNCLIP_WX
2775 UINT64_C(3154124887), // VNMSAC_VV
2776 UINT64_C(3154141271), // VNMSAC_VX
2777 UINT64_C(2885689431), // VNMSUB_VV
2778 UINT64_C(2885705815), // VNMSUB_VX
2779 UINT64_C(3019911255), // VNSRA_WI
2780 UINT64_C(3019898967), // VNSRA_WV
2781 UINT64_C(3019915351), // VNSRA_WX
2782 UINT64_C(2952802391), // VNSRL_WI
2783 UINT64_C(2952790103), // VNSRL_WV
2784 UINT64_C(2952806487), // VNSRL_WX
2785 UINT64_C(671101015), // VOR_VI
2786 UINT64_C(671088727), // VOR_VV
2787 UINT64_C(671105111), // VOR_VX
2788 UINT64_C(67117143), // VREDAND_VS
2789 UINT64_C(402661463), // VREDMAXU_VS
2790 UINT64_C(469770327), // VREDMAX_VS
2791 UINT64_C(268443735), // VREDMINU_VS
2792 UINT64_C(335552599), // VREDMIN_VS
2793 UINT64_C(134226007), // VREDOR_VS
2794 UINT64_C(8279), // VREDSUM_VS
2795 UINT64_C(201334871), // VREDXOR_VS
2796 UINT64_C(2281709655), // VREMU_VV
2797 UINT64_C(2281726039), // VREMU_VX
2798 UINT64_C(2348818519), // VREM_VV
2799 UINT64_C(2348834903), // VREM_VX
2800 UINT64_C(1208262743), // VREV8_V
2801 UINT64_C(939524183), // VRGATHEREI16_VV
2802 UINT64_C(805318743), // VRGATHER_VI
2803 UINT64_C(805306455), // VRGATHER_VV
2804 UINT64_C(805322839), // VRGATHER_VX
2805 UINT64_C(1409286231), // VROL_VV
2806 UINT64_C(1409302615), // VROL_VX
2807 UINT64_C(1342189655), // VROR_VI
2808 UINT64_C(1342177367), // VROR_VV
2809 UINT64_C(1342193751), // VROR_VX
2810 UINT64_C(201338967), // VRSUB_VI
2811 UINT64_C(201343063), // VRSUB_VX
2812 UINT64_C(41943079), // VS1R_V
2813 UINT64_C(578813991), // VS2R_V
2814 UINT64_C(1652555815), // VS4R_V
2815 UINT64_C(3800039463), // VS8R_V
2816 UINT64_C(2147496023), // VSADDU_VI
2817 UINT64_C(2147483735), // VSADDU_VV
2818 UINT64_C(2147500119), // VSADDU_VX
2819 UINT64_C(2214604887), // VSADD_VI
2820 UINT64_C(2214592599), // VSADD_VV
2821 UINT64_C(2214608983), // VSADD_VX
2822 UINT64_C(1207959639), // VSBC_VVM
2823 UINT64_C(1207976023), // VSBC_VXM
2824 UINT64_C(20519), // VSE16_V
2825 UINT64_C(24615), // VSE32_V
2826 UINT64_C(28711), // VSE64_V
2827 UINT64_C(39), // VSE8_V
2828 UINT64_C(3221254231), // VSETIVLI
2829 UINT64_C(2147512407), // VSETVL
2830 UINT64_C(28759), // VSETVLI
2831 UINT64_C(1208197207), // VSEXT_VF2
2832 UINT64_C(1208131671), // VSEXT_VF4
2833 UINT64_C(1208066135), // VSEXT_VF8
2834 UINT64_C(3120570487), // VSHA2CH_VV
2835 UINT64_C(3187679351), // VSHA2CL_VV
2836 UINT64_C(3053461623), // VSHA2MS_VV
2837 UINT64_C(1006657623), // VSLIDE1DOWN_VX
2838 UINT64_C(939548759), // VSLIDE1UP_VX
2839 UINT64_C(1006645335), // VSLIDEDOWN_VI
2840 UINT64_C(1006649431), // VSLIDEDOWN_VX
2841 UINT64_C(939536471), // VSLIDEUP_VI
2842 UINT64_C(939540567), // VSLIDEUP_VX
2843 UINT64_C(2483040343), // VSLL_VI
2844 UINT64_C(2483028055), // VSLL_VV
2845 UINT64_C(2483044439), // VSLL_VX
2846 UINT64_C(2919243895), // VSM3C_VI
2847 UINT64_C(2181046391), // VSM3ME_VV
2848 UINT64_C(2248155255), // VSM4K_VI
2849 UINT64_C(2785550455), // VSM4R_VS
2850 UINT64_C(2718441591), // VSM4R_VV
2851 UINT64_C(2617245783), // VSMUL_VV
2852 UINT64_C(2617262167), // VSMUL_VX
2853 UINT64_C(45088807), // VSM_V
2854 UINT64_C(201347111), // VSOXEI16_V
2855 UINT64_C(201351207), // VSOXEI32_V
2856 UINT64_C(201355303), // VSOXEI64_V
2857 UINT64_C(201326631), // VSOXEI8_V
2858 UINT64_C(738218023), // VSOXSEG2EI16_V
2859 UINT64_C(738222119), // VSOXSEG2EI32_V
2860 UINT64_C(738226215), // VSOXSEG2EI64_V
2861 UINT64_C(738197543), // VSOXSEG2EI8_V
2862 UINT64_C(1275088935), // VSOXSEG3EI16_V
2863 UINT64_C(1275093031), // VSOXSEG3EI32_V
2864 UINT64_C(1275097127), // VSOXSEG3EI64_V
2865 UINT64_C(1275068455), // VSOXSEG3EI8_V
2866 UINT64_C(1811959847), // VSOXSEG4EI16_V
2867 UINT64_C(1811963943), // VSOXSEG4EI32_V
2868 UINT64_C(1811968039), // VSOXSEG4EI64_V
2869 UINT64_C(1811939367), // VSOXSEG4EI8_V
2870 UINT64_C(2348830759), // VSOXSEG5EI16_V
2871 UINT64_C(2348834855), // VSOXSEG5EI32_V
2872 UINT64_C(2348838951), // VSOXSEG5EI64_V
2873 UINT64_C(2348810279), // VSOXSEG5EI8_V
2874 UINT64_C(2885701671), // VSOXSEG6EI16_V
2875 UINT64_C(2885705767), // VSOXSEG6EI32_V
2876 UINT64_C(2885709863), // VSOXSEG6EI64_V
2877 UINT64_C(2885681191), // VSOXSEG6EI8_V
2878 UINT64_C(3422572583), // VSOXSEG7EI16_V
2879 UINT64_C(3422576679), // VSOXSEG7EI32_V
2880 UINT64_C(3422580775), // VSOXSEG7EI64_V
2881 UINT64_C(3422552103), // VSOXSEG7EI8_V
2882 UINT64_C(3959443495), // VSOXSEG8EI16_V
2883 UINT64_C(3959447591), // VSOXSEG8EI32_V
2884 UINT64_C(3959451687), // VSOXSEG8EI64_V
2885 UINT64_C(3959423015), // VSOXSEG8EI8_V
2886 UINT64_C(2751475799), // VSRA_VI
2887 UINT64_C(2751463511), // VSRA_VV
2888 UINT64_C(2751479895), // VSRA_VX
2889 UINT64_C(2684366935), // VSRL_VI
2890 UINT64_C(2684354647), // VSRL_VV
2891 UINT64_C(2684371031), // VSRL_VX
2892 UINT64_C(134238247), // VSSE16_V
2893 UINT64_C(134242343), // VSSE32_V
2894 UINT64_C(134246439), // VSSE64_V
2895 UINT64_C(134217767), // VSSE8_V
2896 UINT64_C(536891431), // VSSEG2E16_V
2897 UINT64_C(536895527), // VSSEG2E32_V
2898 UINT64_C(536899623), // VSSEG2E64_V
2899 UINT64_C(536870951), // VSSEG2E8_V
2900 UINT64_C(1073762343), // VSSEG3E16_V
2901 UINT64_C(1073766439), // VSSEG3E32_V
2902 UINT64_C(1073770535), // VSSEG3E64_V
2903 UINT64_C(1073741863), // VSSEG3E8_V
2904 UINT64_C(1610633255), // VSSEG4E16_V
2905 UINT64_C(1610637351), // VSSEG4E32_V
2906 UINT64_C(1610641447), // VSSEG4E64_V
2907 UINT64_C(1610612775), // VSSEG4E8_V
2908 UINT64_C(2147504167), // VSSEG5E16_V
2909 UINT64_C(2147508263), // VSSEG5E32_V
2910 UINT64_C(2147512359), // VSSEG5E64_V
2911 UINT64_C(2147483687), // VSSEG5E8_V
2912 UINT64_C(2684375079), // VSSEG6E16_V
2913 UINT64_C(2684379175), // VSSEG6E32_V
2914 UINT64_C(2684383271), // VSSEG6E64_V
2915 UINT64_C(2684354599), // VSSEG6E8_V
2916 UINT64_C(3221245991), // VSSEG7E16_V
2917 UINT64_C(3221250087), // VSSEG7E32_V
2918 UINT64_C(3221254183), // VSSEG7E64_V
2919 UINT64_C(3221225511), // VSSEG7E8_V
2920 UINT64_C(3758116903), // VSSEG8E16_V
2921 UINT64_C(3758120999), // VSSEG8E32_V
2922 UINT64_C(3758125095), // VSSEG8E64_V
2923 UINT64_C(3758096423), // VSSEG8E8_V
2924 UINT64_C(2885693527), // VSSRA_VI
2925 UINT64_C(2885681239), // VSSRA_VV
2926 UINT64_C(2885697623), // VSSRA_VX
2927 UINT64_C(2818584663), // VSSRL_VI
2928 UINT64_C(2818572375), // VSSRL_VV
2929 UINT64_C(2818588759), // VSSRL_VX
2930 UINT64_C(671109159), // VSSSEG2E16_V
2931 UINT64_C(671113255), // VSSSEG2E32_V
2932 UINT64_C(671117351), // VSSSEG2E64_V
2933 UINT64_C(671088679), // VSSSEG2E8_V
2934 UINT64_C(1207980071), // VSSSEG3E16_V
2935 UINT64_C(1207984167), // VSSSEG3E32_V
2936 UINT64_C(1207988263), // VSSSEG3E64_V
2937 UINT64_C(1207959591), // VSSSEG3E8_V
2938 UINT64_C(1744850983), // VSSSEG4E16_V
2939 UINT64_C(1744855079), // VSSSEG4E32_V
2940 UINT64_C(1744859175), // VSSSEG4E64_V
2941 UINT64_C(1744830503), // VSSSEG4E8_V
2942 UINT64_C(2281721895), // VSSSEG5E16_V
2943 UINT64_C(2281725991), // VSSSEG5E32_V
2944 UINT64_C(2281730087), // VSSSEG5E64_V
2945 UINT64_C(2281701415), // VSSSEG5E8_V
2946 UINT64_C(2818592807), // VSSSEG6E16_V
2947 UINT64_C(2818596903), // VSSSEG6E32_V
2948 UINT64_C(2818600999), // VSSSEG6E64_V
2949 UINT64_C(2818572327), // VSSSEG6E8_V
2950 UINT64_C(3355463719), // VSSSEG7E16_V
2951 UINT64_C(3355467815), // VSSSEG7E32_V
2952 UINT64_C(3355471911), // VSSSEG7E64_V
2953 UINT64_C(3355443239), // VSSSEG7E8_V
2954 UINT64_C(3892334631), // VSSSEG8E16_V
2955 UINT64_C(3892338727), // VSSSEG8E32_V
2956 UINT64_C(3892342823), // VSSSEG8E64_V
2957 UINT64_C(3892314151), // VSSSEG8E8_V
2958 UINT64_C(2281701463), // VSSUBU_VV
2959 UINT64_C(2281717847), // VSSUBU_VX
2960 UINT64_C(2348810327), // VSSUB_VV
2961 UINT64_C(2348826711), // VSSUB_VX
2962 UINT64_C(134217815), // VSUB_VV
2963 UINT64_C(134234199), // VSUB_VX
2964 UINT64_C(67129383), // VSUXEI16_V
2965 UINT64_C(67133479), // VSUXEI32_V
2966 UINT64_C(67137575), // VSUXEI64_V
2967 UINT64_C(67108903), // VSUXEI8_V
2968 UINT64_C(604000295), // VSUXSEG2EI16_V
2969 UINT64_C(604004391), // VSUXSEG2EI32_V
2970 UINT64_C(604008487), // VSUXSEG2EI64_V
2971 UINT64_C(603979815), // VSUXSEG2EI8_V
2972 UINT64_C(1140871207), // VSUXSEG3EI16_V
2973 UINT64_C(1140875303), // VSUXSEG3EI32_V
2974 UINT64_C(1140879399), // VSUXSEG3EI64_V
2975 UINT64_C(1140850727), // VSUXSEG3EI8_V
2976 UINT64_C(1677742119), // VSUXSEG4EI16_V
2977 UINT64_C(1677746215), // VSUXSEG4EI32_V
2978 UINT64_C(1677750311), // VSUXSEG4EI64_V
2979 UINT64_C(1677721639), // VSUXSEG4EI8_V
2980 UINT64_C(2214613031), // VSUXSEG5EI16_V
2981 UINT64_C(2214617127), // VSUXSEG5EI32_V
2982 UINT64_C(2214621223), // VSUXSEG5EI64_V
2983 UINT64_C(2214592551), // VSUXSEG5EI8_V
2984 UINT64_C(2751483943), // VSUXSEG6EI16_V
2985 UINT64_C(2751488039), // VSUXSEG6EI32_V
2986 UINT64_C(2751492135), // VSUXSEG6EI64_V
2987 UINT64_C(2751463463), // VSUXSEG6EI8_V
2988 UINT64_C(3288354855), // VSUXSEG7EI16_V
2989 UINT64_C(3288358951), // VSUXSEG7EI32_V
2990 UINT64_C(3288363047), // VSUXSEG7EI64_V
2991 UINT64_C(3288334375), // VSUXSEG7EI8_V
2992 UINT64_C(3825225767), // VSUXSEG8EI16_V
2993 UINT64_C(3825229863), // VSUXSEG8EI32_V
2994 UINT64_C(3825233959), // VSUXSEG8EI64_V
2995 UINT64_C(3825205287), // VSUXSEG8EI8_V
2996 UINT64_C(24699), // VT_MASKC
2997 UINT64_C(28795), // VT_MASKCN
2998 UINT64_C(1476403287), // VWABDAU_VV
2999 UINT64_C(1409294423), // VWABDA_VV
3000 UINT64_C(3221233751), // VWADDU_VV
3001 UINT64_C(3221250135), // VWADDU_VX
3002 UINT64_C(3489669207), // VWADDU_WV
3003 UINT64_C(3489685591), // VWADDU_WX
3004 UINT64_C(3288342615), // VWADD_VV
3005 UINT64_C(3288358999), // VWADD_VX
3006 UINT64_C(3556778071), // VWADD_WV
3007 UINT64_C(3556794455), // VWADD_WX
3008 UINT64_C(4227866711), // VWMACCSU_VV
3009 UINT64_C(4227883095), // VWMACCSU_VX
3010 UINT64_C(4160774231), // VWMACCUS_VX
3011 UINT64_C(4026540119), // VWMACCU_VV
3012 UINT64_C(4026556503), // VWMACCU_VX
3013 UINT64_C(4093648983), // VWMACC_VV
3014 UINT64_C(4093665367), // VWMACC_VX
3015 UINT64_C(3892322391), // VWMULSU_VV
3016 UINT64_C(3892338775), // VWMULSU_VX
3017 UINT64_C(3758104663), // VWMULU_VV
3018 UINT64_C(3758121047), // VWMULU_VX
3019 UINT64_C(3959431255), // VWMUL_VV
3020 UINT64_C(3959447639), // VWMUL_VX
3021 UINT64_C(3221225559), // VWREDSUMU_VS
3022 UINT64_C(3288334423), // VWREDSUM_VS
3023 UINT64_C(3556782167), // VWSLL_VI
3024 UINT64_C(3556769879), // VWSLL_VV
3025 UINT64_C(3556786263), // VWSLL_VX
3026 UINT64_C(3355451479), // VWSUBU_VV
3027 UINT64_C(3355467863), // VWSUBU_VX
3028 UINT64_C(3623886935), // VWSUBU_WV
3029 UINT64_C(3623903319), // VWSUBU_WX
3030 UINT64_C(3422560343), // VWSUB_VV
3031 UINT64_C(3422576727), // VWSUB_VX
3032 UINT64_C(3690995799), // VWSUB_WV
3033 UINT64_C(3691012183), // VWSUB_WX
3034 UINT64_C(738209879), // VXOR_VI
3035 UINT64_C(738197591), // VXOR_VV
3036 UINT64_C(738213975), // VXOR_VX
3037 UINT64_C(1208164439), // VZEXT_VF2
3038 UINT64_C(1208098903), // VZEXT_VF4
3039 UINT64_C(1208033367), // VZEXT_VF8
3040 UINT64_C(33562779), // WADD
3041 UINT64_C(167780507), // WADDA
3042 UINT64_C(436215963), // WADDAU
3043 UINT64_C(301998235), // WADDU
3044 UINT64_C(273678451), // WFI
3045 UINT64_C(704651419), // WMACC
3046 UINT64_C(1778393243), // WMACCSU
3047 UINT64_C(973086875), // WMACCU
3048 UINT64_C(570433691), // WMUL
3049 UINT64_C(1644175515), // WMULSU
3050 UINT64_C(838869147), // WMULU
3051 UINT64_C(13631603), // WRS_NTO
3052 UINT64_C(30408819), // WRS_STO
3053 UINT64_C(1308631067), // WSLA
3054 UINT64_C(1140858907), // WSLAI
3055 UINT64_C(234889243), // WSLL
3056 UINT64_C(67117083), // WSLLI
3057 UINT64_C(1107304603), // WSUB
3058 UINT64_C(1241522331), // WSUBA
3059 UINT64_C(1509957787), // WSUBAU
3060 UINT64_C(1375740059), // WSUBU
3061 UINT64_C(2046828571), // WZIP16P
3062 UINT64_C(2013274139), // WZIP8P
3063 UINT64_C(1073758259), // XNOR
3064 UINT64_C(16435), // XOR
3065 UINT64_C(16403), // XORI
3066 UINT64_C(671096883), // XPERM4
3067 UINT64_C(671105075), // XPERM8
3068 UINT64_C(134234163), // ZEXT_H_RV32
3069 UINT64_C(134234171), // ZEXT_H_RV64
3070 UINT64_C(4127203387), // ZIP16HP
3071 UINT64_C(4060094523), // ZIP16P
3072 UINT64_C(4093648955), // ZIP8HP
3073 UINT64_C(4026540091), // ZIP8P
3074 UINT64_C(149950483), // ZIP_RV32
3075 };
3076 constexpr unsigned FirstSupportedOpcode = 13729;
3077
3078 const unsigned opcode = MI.getOpcode();
3079 if (opcode < FirstSupportedOpcode)
3080 reportUnsupportedInst(Inst: MI);
3081 unsigned TableIndex = opcode - FirstSupportedOpcode;
3082 uint64_t Value = InstBits[TableIndex];
3083 uint64_t op = 0;
3084 (void)op; // suppress warning
3085 switch (opcode) {
3086 case RISCV::C_EBREAK:
3087 case RISCV::C_MOP_11:
3088 case RISCV::C_MOP_13:
3089 case RISCV::C_MOP_15:
3090 case RISCV::C_MOP_3:
3091 case RISCV::C_MOP_7:
3092 case RISCV::C_MOP_9:
3093 case RISCV::C_NOP:
3094 case RISCV::C_SSPOPCHK:
3095 case RISCV::C_SSPUSH:
3096 case RISCV::C_UNIMP:
3097 case RISCV::DRET:
3098 case RISCV::EBREAK:
3099 case RISCV::ECALL:
3100 case RISCV::FENCE_I:
3101 case RISCV::FENCE_TSO:
3102 case RISCV::MIPS_EHB:
3103 case RISCV::MIPS_IHB:
3104 case RISCV::MIPS_PAUSE:
3105 case RISCV::MNRET:
3106 case RISCV::MRET:
3107 case RISCV::QC_C_DI:
3108 case RISCV::QC_C_EI:
3109 case RISCV::QC_C_MIENTER:
3110 case RISCV::QC_C_MIENTER_NEST:
3111 case RISCV::QC_C_MILEAVERET:
3112 case RISCV::QC_C_MNRET:
3113 case RISCV::QC_C_MRET:
3114 case RISCV::SCTRCLR:
3115 case RISCV::SFENCE_INVAL_IR:
3116 case RISCV::SFENCE_W_INVAL:
3117 case RISCV::SF_CEASE:
3118 case RISCV::SF_VTDISCARD:
3119 case RISCV::SRET:
3120 case RISCV::TH_DCACHE_CALL:
3121 case RISCV::TH_DCACHE_CIALL:
3122 case RISCV::TH_DCACHE_IALL:
3123 case RISCV::TH_ICACHE_IALL:
3124 case RISCV::TH_ICACHE_IALLS:
3125 case RISCV::TH_L2CACHE_CALL:
3126 case RISCV::TH_L2CACHE_CIALL:
3127 case RISCV::TH_L2CACHE_IALL:
3128 case RISCV::TH_SYNC:
3129 case RISCV::TH_SYNC_I:
3130 case RISCV::TH_SYNC_IS:
3131 case RISCV::TH_SYNC_S:
3132 case RISCV::UNIMP:
3133 case RISCV::WFI:
3134 case RISCV::WRS_NTO:
3135 case RISCV::WRS_STO: {
3136 break;
3137 }
3138 case RISCV::AIF_FSWG_PS:
3139 case RISCV::AIF_FSWL_PS: {
3140 // op: fs3
3141 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3142 Value |= (op & 0x1f) << 7;
3143 // op: rs1
3144 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3145 Value |= (op & 0x1f) << 15;
3146 break;
3147 }
3148 case RISCV::C_NOP_HINT: {
3149 // op: imm
3150 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3151 Value |= (op & 0x20) << 7;
3152 Value |= (op & 0x1f) << 2;
3153 break;
3154 }
3155 case RISCV::C_LI:
3156 case RISCV::C_LUI: {
3157 // op: imm
3158 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3159 Value |= (op & 0x20) << 7;
3160 Value |= (op & 0x1f) << 2;
3161 // op: rd
3162 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3163 Value |= (op & 0x1f) << 7;
3164 break;
3165 }
3166 case RISCV::RI_VEXTRACT: {
3167 // op: imm
3168 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3169 Value |= (op & 0x1f) << 15;
3170 // op: vs2
3171 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3172 Value |= (op & 0x1f) << 20;
3173 // op: rd
3174 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3175 Value |= (op & 0x1f) << 7;
3176 break;
3177 }
3178 case RISCV::AIF_FSLLI_PI:
3179 case RISCV::AIF_FSRAI_PI:
3180 case RISCV::AIF_FSRLI_PI: {
3181 // op: imm
3182 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3183 Value |= (op & 0x1f) << 20;
3184 // op: rs1
3185 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3186 Value |= (op & 0x1f) << 15;
3187 // op: rd
3188 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3189 Value |= (op & 0x1f) << 7;
3190 break;
3191 }
3192 case RISCV::C_FLDSP:
3193 case RISCV::C_LDSP:
3194 case RISCV::C_LDSP_RV32: {
3195 // op: imm
3196 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3197 Value |= (op & 0x20) << 7;
3198 Value |= (op & 0x18) << 2;
3199 Value |= (op & 0x1c0) >> 4;
3200 // op: rd
3201 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3202 Value |= (op & 0x1f) << 7;
3203 break;
3204 }
3205 case RISCV::C_FLWSP:
3206 case RISCV::C_LWSP:
3207 case RISCV::C_LWSP_INX: {
3208 // op: imm
3209 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3210 Value |= (op & 0x20) << 7;
3211 Value |= (op & 0x1c) << 2;
3212 Value |= (op & 0xc0) >> 4;
3213 // op: rd
3214 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3215 Value |= (op & 0x1f) << 7;
3216 break;
3217 }
3218 case RISCV::C_ADDI:
3219 case RISCV::C_ADDIW: {
3220 // op: imm
3221 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3222 Value |= (op & 0x20) << 7;
3223 Value |= (op & 0x1f) << 2;
3224 // op: rd
3225 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3226 Value |= (op & 0x1f) << 7;
3227 break;
3228 }
3229 case RISCV::C_ANDI: {
3230 // op: imm
3231 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3232 Value |= (op & 0x20) << 7;
3233 Value |= (op & 0x1f) << 2;
3234 // op: rs1
3235 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3236 Value |= (op & 0x7) << 7;
3237 break;
3238 }
3239 case RISCV::C_ADDI16SP: {
3240 // op: imm
3241 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3242 Value |= (op & 0x200) << 3;
3243 Value |= (op & 0x10) << 2;
3244 Value |= (op & 0x40) >> 1;
3245 Value |= (op & 0x180) >> 4;
3246 Value |= (op & 0x20) >> 3;
3247 break;
3248 }
3249 case RISCV::C_ADDI4SPN: {
3250 // op: imm
3251 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3252 Value |= (op & 0x30) << 7;
3253 Value |= (op & 0x3c0) << 1;
3254 Value |= (op & 0x4) << 4;
3255 Value |= (op & 0x8) << 2;
3256 // op: rd
3257 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3258 Value |= (op & 0x7) << 2;
3259 break;
3260 }
3261 case RISCV::C_FSDSP:
3262 case RISCV::C_SDSP:
3263 case RISCV::C_SDSP_RV32: {
3264 // op: imm
3265 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3266 Value |= (op & 0x38) << 7;
3267 Value |= (op & 0x1c0) << 1;
3268 // op: rs2
3269 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3270 Value |= (op & 0x1f) << 2;
3271 break;
3272 }
3273 case RISCV::C_FSWSP:
3274 case RISCV::C_SWSP:
3275 case RISCV::C_SWSP_INX: {
3276 // op: imm
3277 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3278 Value |= (op & 0x3c) << 7;
3279 Value |= (op & 0xc0) << 1;
3280 // op: rs2
3281 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3282 Value |= (op & 0x1f) << 2;
3283 break;
3284 }
3285 case RISCV::AIF_FADDI_PI:
3286 case RISCV::AIF_FANDI_PI: {
3287 // op: imm
3288 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3289 Value |= (op & 0x3e0) << 22;
3290 Value |= (op & 0x1f) << 20;
3291 // op: rs1
3292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3293 Value |= (op & 0x1f) << 15;
3294 // op: rd
3295 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3296 Value |= (op & 0x1f) << 7;
3297 break;
3298 }
3299 case RISCV::AIF_MOV_M_X: {
3300 // op: imm
3301 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3302 Value |= (op & 0xf8) << 17;
3303 Value |= (op & 0x7) << 12;
3304 // op: rs1
3305 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3306 Value |= (op & 0x1f) << 15;
3307 // op: rd
3308 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3309 Value |= (op & 0x7) << 7;
3310 break;
3311 }
3312 case RISCV::RI_VINSERT: {
3313 // op: imm
3314 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3315 Value |= (op & 0x1f) << 20;
3316 // op: rs1
3317 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3318 Value |= (op & 0x1f) << 15;
3319 // op: vd
3320 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3321 Value |= (op & 0x1f) << 7;
3322 break;
3323 }
3324 case RISCV::AIF_MASKPOPC_ET_RAST: {
3325 // op: imm
3326 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3327 Value |= (op & 0xc) << 21;
3328 Value |= (op & 0x3) << 18;
3329 // op: rs2
3330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3331 Value |= (op & 0x7) << 20;
3332 // op: rs1
3333 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3334 Value |= (op & 0x7) << 15;
3335 // op: rd
3336 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3337 Value |= (op & 0x1f) << 7;
3338 break;
3339 }
3340 case RISCV::C_BEQZ:
3341 case RISCV::C_BNEZ: {
3342 // op: imm
3343 op = getImmOpValueAsrN<1>(MI, OpNo: 1, Fixups, STI);
3344 Value |= (op & 0x80) << 5;
3345 Value |= (op & 0xc) << 8;
3346 Value |= (op & 0x60);
3347 Value |= (op & 0x3) << 3;
3348 Value |= (op & 0x10) >> 2;
3349 // op: rs1
3350 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3351 Value |= (op & 0x7) << 7;
3352 break;
3353 }
3354 case RISCV::C_SLLI: {
3355 // op: imm
3356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3357 Value |= (op & 0x20) << 7;
3358 Value |= (op & 0x1f) << 2;
3359 // op: rd
3360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3361 Value |= (op & 0x1f) << 7;
3362 break;
3363 }
3364 case RISCV::C_SRAI:
3365 case RISCV::C_SRLI: {
3366 // op: imm
3367 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3368 Value |= (op & 0x20) << 7;
3369 Value |= (op & 0x1f) << 2;
3370 // op: rs1
3371 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3372 Value |= (op & 0x7) << 7;
3373 break;
3374 }
3375 case RISCV::QC_CLRINTI:
3376 case RISCV::QC_SETINTI: {
3377 // op: imm10
3378 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3379 Value |= (op & 0x3ff) << 15;
3380 break;
3381 }
3382 case RISCV::NDS_BEQC:
3383 case RISCV::NDS_BNEC: {
3384 // op: imm10
3385 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3386 Value |= (op & 0x200) << 22;
3387 Value |= (op & 0x1f0) << 21;
3388 Value |= (op & 0xf) << 8;
3389 // op: rs1
3390 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3391 Value |= (op & 0x1f) << 15;
3392 // op: cimm
3393 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3394 Value |= (op & 0x40) << 24;
3395 Value |= (op & 0x1f) << 20;
3396 Value |= (op & 0x20) << 2;
3397 break;
3398 }
3399 case RISCV::NDS_BBC:
3400 case RISCV::NDS_BBS: {
3401 // op: imm10
3402 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3403 Value |= (op & 0x200) << 22;
3404 Value |= (op & 0x1f0) << 21;
3405 Value |= (op & 0xf) << 8;
3406 // op: rs1
3407 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3408 Value |= (op & 0x1f) << 15;
3409 // op: cimm
3410 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3411 Value |= (op & 0x1f) << 20;
3412 Value |= (op & 0x20) << 2;
3413 break;
3414 }
3415 case RISCV::PREFETCH_I:
3416 case RISCV::PREFETCH_R:
3417 case RISCV::PREFETCH_W: {
3418 // op: imm12
3419 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3420 Value |= (op & 0xfe0) << 20;
3421 // op: rs1
3422 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3423 Value |= (op & 0x1f) << 15;
3424 break;
3425 }
3426 case RISCV::AIF_FSQ2:
3427 case RISCV::AIF_FSW_PS: {
3428 // op: imm12
3429 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3430 Value |= (op & 0xfe0) << 20;
3431 Value |= (op & 0x1f) << 7;
3432 // op: rs2
3433 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3434 Value |= (op & 0x1f) << 20;
3435 // op: rs1
3436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3437 Value |= (op & 0x1f) << 15;
3438 break;
3439 }
3440 case RISCV::FSD:
3441 case RISCV::FSH:
3442 case RISCV::FSQ:
3443 case RISCV::FSW:
3444 case RISCV::SB:
3445 case RISCV::SD:
3446 case RISCV::SD_RV32:
3447 case RISCV::SH:
3448 case RISCV::SH_INX:
3449 case RISCV::SW:
3450 case RISCV::SW_INX: {
3451 // op: imm12
3452 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3453 Value |= (op & 0xfe0) << 20;
3454 Value |= (op & 0x1f) << 7;
3455 // op: rs2
3456 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3457 Value |= (op & 0x1f) << 20;
3458 // op: rs1
3459 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3460 Value |= (op & 0x1f) << 15;
3461 break;
3462 }
3463 case RISCV::CV_SB_ri_inc:
3464 case RISCV::CV_SH_ri_inc:
3465 case RISCV::CV_SW_ri_inc: {
3466 // op: imm12
3467 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3468 Value |= (op & 0xfe0) << 20;
3469 Value |= (op & 0x1f) << 7;
3470 // op: rs2
3471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3472 Value |= (op & 0x1f) << 20;
3473 // op: rs1
3474 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3475 Value |= (op & 0x1f) << 15;
3476 break;
3477 }
3478 case RISCV::BEQI:
3479 case RISCV::BNEI: {
3480 // op: imm12
3481 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3482 Value |= (op & 0x800) << 20;
3483 Value |= (op & 0x3f0) << 21;
3484 Value |= (op & 0xf) << 8;
3485 Value |= (op & 0x400) >> 3;
3486 // op: cimm
3487 op = getImmOpValueZibi(MI, OpNo: 1, Fixups, STI);
3488 Value |= (op & 0x1f) << 20;
3489 // op: rs1
3490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3491 Value |= (op & 0x1f) << 15;
3492 break;
3493 }
3494 case RISCV::CV_BEQIMM:
3495 case RISCV::CV_BNEIMM: {
3496 // op: imm12
3497 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3498 Value |= (op & 0x800) << 20;
3499 Value |= (op & 0x3f0) << 21;
3500 Value |= (op & 0xf) << 8;
3501 Value |= (op & 0x400) >> 3;
3502 // op: rs1
3503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3504 Value |= (op & 0x1f) << 15;
3505 // op: imm5
3506 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3507 Value |= (op & 0x1f) << 20;
3508 break;
3509 }
3510 case RISCV::BEQ:
3511 case RISCV::BGE:
3512 case RISCV::BGEU:
3513 case RISCV::BLT:
3514 case RISCV::BLTU:
3515 case RISCV::BNE:
3516 case RISCV::QC_BEQI:
3517 case RISCV::QC_BGEI:
3518 case RISCV::QC_BGEUI:
3519 case RISCV::QC_BLTI:
3520 case RISCV::QC_BLTUI:
3521 case RISCV::QC_BNEI: {
3522 // op: imm12
3523 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3524 Value |= (op & 0x800) << 20;
3525 Value |= (op & 0x3f0) << 21;
3526 Value |= (op & 0xf) << 8;
3527 Value |= (op & 0x400) >> 3;
3528 // op: rs2
3529 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3530 Value |= (op & 0x1f) << 20;
3531 // op: rs1
3532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3533 Value |= (op & 0x1f) << 15;
3534 break;
3535 }
3536 case RISCV::NDS_SHGP: {
3537 // op: imm17
3538 op = getImmOpValueAsrN<1>(MI, OpNo: 1, Fixups, STI);
3539 Value |= (op & 0x10000) << 15;
3540 Value |= (op & 0x3f0) << 21;
3541 Value |= (op & 0x3800) << 6;
3542 Value |= (op & 0xc000) << 1;
3543 Value |= (op & 0xf) << 8;
3544 Value |= (op & 0x400) >> 3;
3545 // op: rs2
3546 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3547 Value |= (op & 0x1f) << 20;
3548 break;
3549 }
3550 case RISCV::NDS_LHGP:
3551 case RISCV::NDS_LHUGP: {
3552 // op: imm17
3553 op = getImmOpValueAsrN<1>(MI, OpNo: 1, Fixups, STI);
3554 Value |= (op & 0x10000) << 15;
3555 Value |= (op & 0x3ff) << 21;
3556 Value |= (op & 0x400) << 10;
3557 Value |= (op & 0x3800) << 6;
3558 Value |= (op & 0xc000) << 1;
3559 // op: rd
3560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3561 Value |= (op & 0x1f) << 7;
3562 break;
3563 }
3564 case RISCV::NDS_SWGP: {
3565 // op: imm17
3566 op = getImmOpValueAsrN<2>(MI, OpNo: 1, Fixups, STI);
3567 Value |= (op & 0x10000) << 15;
3568 Value |= (op & 0x1f8) << 22;
3569 Value |= (op & 0x1c00) << 7;
3570 Value |= (op & 0x6000) << 2;
3571 Value |= (op & 0x7) << 9;
3572 Value |= (op & 0x8000) >> 7;
3573 Value |= (op & 0x200) >> 2;
3574 // op: rs2
3575 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3576 Value |= (op & 0x1f) << 20;
3577 break;
3578 }
3579 case RISCV::NDS_LWGP:
3580 case RISCV::NDS_LWUGP: {
3581 // op: imm17
3582 op = getImmOpValueAsrN<2>(MI, OpNo: 1, Fixups, STI);
3583 Value |= (op & 0x10000) << 15;
3584 Value |= (op & 0x1ff) << 22;
3585 Value |= (op & 0x8000) << 6;
3586 Value |= (op & 0x200) << 11;
3587 Value |= (op & 0x1c00) << 7;
3588 Value |= (op & 0x6000) << 2;
3589 // op: rd
3590 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3591 Value |= (op & 0x1f) << 7;
3592 break;
3593 }
3594 case RISCV::NDS_SDGP: {
3595 // op: imm17
3596 op = getImmOpValueAsrN<3>(MI, OpNo: 1, Fixups, STI);
3597 Value |= (op & 0x10000) << 15;
3598 Value |= (op & 0xfc) << 23;
3599 Value |= (op & 0xe00) << 8;
3600 Value |= (op & 0x3000) << 3;
3601 Value |= (op & 0x3) << 10;
3602 Value |= (op & 0xc000) >> 6;
3603 Value |= (op & 0x100) >> 1;
3604 // op: rs2
3605 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3606 Value |= (op & 0x1f) << 20;
3607 break;
3608 }
3609 case RISCV::NDS_LDGP: {
3610 // op: imm17
3611 op = getImmOpValueAsrN<3>(MI, OpNo: 1, Fixups, STI);
3612 Value |= (op & 0x10000) << 15;
3613 Value |= (op & 0xff) << 23;
3614 Value |= (op & 0xc000) << 7;
3615 Value |= (op & 0x100) << 12;
3616 Value |= (op & 0xe00) << 8;
3617 Value |= (op & 0x3000) << 3;
3618 // op: rd
3619 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3620 Value |= (op & 0x1f) << 7;
3621 break;
3622 }
3623 case RISCV::NDS_SBGP: {
3624 // op: imm18
3625 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3626 Value |= (op & 0x20000) << 14;
3627 Value |= (op & 0x7e0) << 20;
3628 Value |= (op & 0x7000) << 5;
3629 Value |= (op & 0x18000);
3630 Value |= (op & 0x1) << 14;
3631 Value |= (op & 0x1e) << 7;
3632 Value |= (op & 0x800) >> 4;
3633 // op: rs2
3634 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3635 Value |= (op & 0x1f) << 20;
3636 break;
3637 }
3638 case RISCV::NDS_ADDIGP:
3639 case RISCV::NDS_LBGP:
3640 case RISCV::NDS_LBUGP: {
3641 // op: imm18
3642 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3643 Value |= (op & 0x20000) << 14;
3644 Value |= (op & 0x7fe) << 20;
3645 Value |= (op & 0x800) << 9;
3646 Value |= (op & 0x7000) << 5;
3647 Value |= (op & 0x18000);
3648 Value |= (op & 0x1) << 14;
3649 // op: rd
3650 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3651 Value |= (op & 0x1f) << 7;
3652 break;
3653 }
3654 case RISCV::QC_LI: {
3655 // op: imm20
3656 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3657 Value |= (op & 0x80000) << 12;
3658 Value |= (op & 0x7fff) << 16;
3659 Value |= (op & 0x78000) >> 3;
3660 // op: rd
3661 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3662 Value |= (op & 0x1f) << 7;
3663 break;
3664 }
3665 case RISCV::AIF_FBCI_PI:
3666 case RISCV::AIF_FBCI_PS:
3667 case RISCV::AUIPC:
3668 case RISCV::LUI: {
3669 // op: imm20
3670 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3671 Value |= (op & 0xfffff) << 12;
3672 // op: rd
3673 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3674 Value |= (op & 0x1f) << 7;
3675 break;
3676 }
3677 case RISCV::JAL: {
3678 // op: imm20
3679 op = getImmOpValueAsrN<1>(MI, OpNo: 1, Fixups, STI);
3680 Value |= (op & 0x80000) << 12;
3681 Value |= (op & 0x3ff) << 21;
3682 Value |= (op & 0x400) << 10;
3683 Value |= (op & 0x7f800) << 1;
3684 // op: rd
3685 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3686 Value |= (op & 0x1f) << 7;
3687 break;
3688 }
3689 case RISCV::QC_E_J:
3690 case RISCV::QC_E_JAL: {
3691 // op: imm31
3692 op = getImmOpValueAsrN<1>(MI, OpNo: 0, Fixups, STI);
3693 Value |= (op & 0x7fff8000) << 17;
3694 Value |= (op & 0x800) << 20;
3695 Value |= (op & 0x3f0) << 21;
3696 Value |= (op & 0x7000) << 5;
3697 Value |= (op & 0xf) << 8;
3698 Value |= (op & 0x400) >> 3;
3699 break;
3700 }
3701 case RISCV::QC_SYNC:
3702 case RISCV::QC_SYNCR:
3703 case RISCV::QC_SYNCWF:
3704 case RISCV::QC_SYNCWL: {
3705 // op: imm5
3706 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3707 Value |= (op & 0x1f) << 20;
3708 break;
3709 }
3710 case RISCV::MIPS_SDP: {
3711 // op: imm7
3712 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3713 Value |= (op & 0x60) << 20;
3714 Value |= (op & 0x18) << 7;
3715 // op: rs3
3716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3717 Value |= (op & 0x1f) << 27;
3718 // op: rs2
3719 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3720 Value |= (op & 0x1f) << 20;
3721 // op: rs1
3722 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3723 Value |= (op & 0x1f) << 15;
3724 break;
3725 }
3726 case RISCV::MIPS_SWP: {
3727 // op: imm7
3728 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3729 Value |= (op & 0x60) << 20;
3730 Value |= (op & 0x1c) << 7;
3731 // op: rs3
3732 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3733 Value |= (op & 0x1f) << 27;
3734 // op: rs2
3735 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3736 Value |= (op & 0x1f) << 20;
3737 // op: rs1
3738 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3739 Value |= (op & 0x1f) << 15;
3740 break;
3741 }
3742 case RISCV::MIPS_LDP: {
3743 // op: imm7
3744 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3745 Value |= (op & 0x78) << 20;
3746 // op: rs1
3747 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3748 Value |= (op & 0x1f) << 15;
3749 // op: rd1
3750 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3751 Value |= (op & 0x1f) << 7;
3752 // op: rd2
3753 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3754 Value |= (op & 0x1f) << 27;
3755 break;
3756 }
3757 case RISCV::MIPS_LWP: {
3758 // op: imm7
3759 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3760 Value |= (op & 0x7c) << 20;
3761 // op: rs1
3762 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3763 Value |= (op & 0x1f) << 15;
3764 // op: rd1
3765 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3766 Value |= (op & 0x1f) << 7;
3767 // op: rd2
3768 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3769 Value |= (op & 0x1f) << 27;
3770 break;
3771 }
3772 case RISCV::QC_PPUTCI: {
3773 // op: imm8
3774 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3775 Value |= (op & 0xff) << 20;
3776 break;
3777 }
3778 case RISCV::MIPS_PREF: {
3779 // op: imm9
3780 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3781 Value |= (op & 0x1ff) << 20;
3782 // op: rs1
3783 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3784 Value |= (op & 0x1f) << 15;
3785 // op: hint
3786 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3787 Value |= (op & 0x1f) << 7;
3788 break;
3789 }
3790 case RISCV::CM_JT: {
3791 // op: index
3792 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3793 Value |= (op & 0x1f) << 2;
3794 break;
3795 }
3796 case RISCV::CM_JALT: {
3797 // op: index
3798 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3799 Value |= (op & 0xff) << 2;
3800 break;
3801 }
3802 case RISCV::C_J:
3803 case RISCV::C_JAL: {
3804 // op: offset
3805 op = getImmOpValueAsrN<1>(MI, OpNo: 0, Fixups, STI);
3806 Value |= (op & 0x400) << 2;
3807 Value |= (op & 0x8) << 8;
3808 Value |= (op & 0x180) << 2;
3809 Value |= (op & 0x200) >> 1;
3810 Value |= (op & 0x20) << 2;
3811 Value |= (op & 0x40);
3812 Value |= (op & 0x7) << 3;
3813 Value |= (op & 0x10) >> 2;
3814 break;
3815 }
3816 case RISCV::InsnCJ: {
3817 // op: opcode
3818 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3819 Value |= (op & 0x3);
3820 // op: funct3
3821 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3822 Value |= (op & 0x7) << 13;
3823 // op: imm11
3824 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3825 Value |= (op & 0x400) << 2;
3826 Value |= (op & 0x8) << 8;
3827 Value |= (op & 0x180) << 2;
3828 Value |= (op & 0x200) >> 1;
3829 Value |= (op & 0x20) << 2;
3830 Value |= (op & 0x40);
3831 Value |= (op & 0x7) << 3;
3832 Value |= (op & 0x10) >> 2;
3833 break;
3834 }
3835 case RISCV::InsnCS: {
3836 // op: opcode
3837 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3838 Value |= (op & 0x3);
3839 // op: funct3
3840 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3841 Value |= (op & 0x7) << 13;
3842 // op: imm5
3843 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
3844 Value |= (op & 0x1c) << 8;
3845 Value |= (op & 0x3) << 5;
3846 // op: rs2
3847 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3848 Value |= (op & 0x7) << 2;
3849 // op: rs1
3850 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
3851 Value |= (op & 0x7) << 7;
3852 break;
3853 }
3854 case RISCV::InsnCSS: {
3855 // op: opcode
3856 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3857 Value |= (op & 0x3);
3858 // op: funct3
3859 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3860 Value |= (op & 0x7) << 13;
3861 // op: imm6
3862 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3863 Value |= (op & 0x3f) << 7;
3864 // op: rs2
3865 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3866 Value |= (op & 0x1f) << 2;
3867 break;
3868 }
3869 case RISCV::InsnCB: {
3870 // op: opcode
3871 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3872 Value |= (op & 0x3);
3873 // op: funct3
3874 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3875 Value |= (op & 0x7) << 13;
3876 // op: imm8
3877 op = getImmOpValueAsrN<1>(MI, OpNo: 3, Fixups, STI);
3878 Value |= (op & 0x80) << 5;
3879 Value |= (op & 0xc) << 8;
3880 Value |= (op & 0x60);
3881 Value |= (op & 0x3) << 3;
3882 Value |= (op & 0x10) >> 2;
3883 // op: rs1
3884 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3885 Value |= (op & 0x7) << 7;
3886 break;
3887 }
3888 case RISCV::InsnQC_EJ: {
3889 // op: opcode
3890 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3891 Value |= (op & 0x7f);
3892 // op: func3
3893 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3894 Value |= (op & 0x7) << 12;
3895 // op: func2
3896 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3897 Value |= (op & 0x3) << 15;
3898 // op: func5
3899 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3900 Value |= (op & 0x1f) << 20;
3901 // op: imm31
3902 op = getImmOpValueAsrN<1>(MI, OpNo: 4, Fixups, STI);
3903 Value |= (op & 0x7fff8000) << 17;
3904 Value |= (op & 0x800) << 20;
3905 Value |= (op & 0x3f0) << 21;
3906 Value |= (op & 0x7000) << 5;
3907 Value |= (op & 0xf) << 8;
3908 Value |= (op & 0x400) >> 3;
3909 break;
3910 }
3911 case RISCV::InsnQC_ES: {
3912 // op: opcode
3913 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3914 Value |= (op & 0x7f);
3915 // op: func3
3916 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3917 Value |= (op & 0x7) << 12;
3918 // op: func2
3919 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3920 Value |= (op & 0x3) << 30;
3921 // op: rs1
3922 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
3923 Value |= (op & 0x1f) << 15;
3924 // op: rs2
3925 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
3926 Value |= (op & 0x1f) << 20;
3927 // op: imm26
3928 op = getImmOpValue(MI, OpNo: 5, Fixups, STI);
3929 Value |= (op & 0x3fffc00) << 22;
3930 Value |= (op & 0x3e0) << 20;
3931 Value |= (op & 0x1f) << 7;
3932 break;
3933 }
3934 case RISCV::InsnQC_EB: {
3935 // op: opcode
3936 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3937 Value |= (op & 0x7f);
3938 // op: func3
3939 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3940 Value |= (op & 0x7) << 12;
3941 // op: func5
3942 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3943 Value |= (op & 0x1f) << 20;
3944 // op: rs1
3945 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
3946 Value |= (op & 0x1f) << 15;
3947 // op: imm12
3948 op = getImmOpValueAsrN<1>(MI, OpNo: 5, Fixups, STI);
3949 Value |= (op & 0x800) << 20;
3950 Value |= (op & 0x3f0) << 21;
3951 Value |= (op & 0xf) << 8;
3952 Value |= (op & 0x400) >> 3;
3953 // op: imm16
3954 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
3955 Value |= (op & 0xffff) << 32;
3956 break;
3957 }
3958 case RISCV::InsnS: {
3959 // op: opcode
3960 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3961 Value |= (op & 0x7f);
3962 // op: funct3
3963 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3964 Value |= (op & 0x7) << 12;
3965 // op: imm12
3966 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
3967 Value |= (op & 0xfe0) << 20;
3968 Value |= (op & 0x1f) << 7;
3969 // op: rs2
3970 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3971 Value |= (op & 0x1f) << 20;
3972 // op: rs1
3973 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
3974 Value |= (op & 0x1f) << 15;
3975 break;
3976 }
3977 case RISCV::InsnB: {
3978 // op: opcode
3979 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3980 Value |= (op & 0x7f);
3981 // op: funct3
3982 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3983 Value |= (op & 0x7) << 12;
3984 // op: imm12
3985 op = getImmOpValueAsrN<1>(MI, OpNo: 4, Fixups, STI);
3986 Value |= (op & 0x800) << 20;
3987 Value |= (op & 0x3f0) << 21;
3988 Value |= (op & 0xf) << 8;
3989 Value |= (op & 0x400) >> 3;
3990 // op: rs2
3991 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
3992 Value |= (op & 0x1f) << 20;
3993 // op: rs1
3994 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3995 Value |= (op & 0x1f) << 15;
3996 break;
3997 }
3998 case RISCV::InsnCL: {
3999 // op: opcode
4000 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4001 Value |= (op & 0x3);
4002 // op: funct3
4003 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4004 Value |= (op & 0x7) << 13;
4005 // op: imm5
4006 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4007 Value |= (op & 0x1c) << 8;
4008 Value |= (op & 0x3) << 5;
4009 // op: rd
4010 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4011 Value |= (op & 0x7) << 2;
4012 // op: rs1
4013 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4014 Value |= (op & 0x7) << 7;
4015 break;
4016 }
4017 case RISCV::InsnCI: {
4018 // op: opcode
4019 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4020 Value |= (op & 0x3);
4021 // op: funct3
4022 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4023 Value |= (op & 0x7) << 13;
4024 // op: imm6
4025 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4026 Value |= (op & 0x20) << 7;
4027 Value |= (op & 0x1f) << 2;
4028 // op: rd
4029 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4030 Value |= (op & 0x1f) << 7;
4031 break;
4032 }
4033 case RISCV::InsnCIW: {
4034 // op: opcode
4035 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4036 Value |= (op & 0x3);
4037 // op: funct3
4038 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4039 Value |= (op & 0x7) << 13;
4040 // op: imm8
4041 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4042 Value |= (op & 0xff) << 5;
4043 // op: rd
4044 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4045 Value |= (op & 0x7) << 2;
4046 break;
4047 }
4048 case RISCV::InsnCR: {
4049 // op: opcode
4050 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4051 Value |= (op & 0x3);
4052 // op: funct4
4053 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4054 Value |= (op & 0xf) << 12;
4055 // op: rs2
4056 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4057 Value |= (op & 0x1f) << 2;
4058 // op: rd
4059 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4060 Value |= (op & 0x1f) << 7;
4061 break;
4062 }
4063 case RISCV::InsnCA: {
4064 // op: opcode
4065 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4066 Value |= (op & 0x3);
4067 // op: funct6
4068 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4069 Value |= (op & 0x3f) << 10;
4070 // op: funct2
4071 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4072 Value |= (op & 0x3) << 5;
4073 // op: rd
4074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4075 Value |= (op & 0x7) << 7;
4076 // op: rs2
4077 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4078 Value |= (op & 0x7) << 2;
4079 break;
4080 }
4081 case RISCV::InsnQC_EAI: {
4082 // op: opcode
4083 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4084 Value |= (op & 0x7f);
4085 // op: func3
4086 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4087 Value |= (op & 0x7) << 12;
4088 // op: func1
4089 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4090 Value |= (op & 0x1) << 15;
4091 // op: rd
4092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4093 Value |= (op & 0x1f) << 7;
4094 // op: imm32
4095 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4096 Value |= (op & 0xffffffff) << 16;
4097 break;
4098 }
4099 case RISCV::InsnQC_EI:
4100 case RISCV::InsnQC_EI_Mem: {
4101 // op: opcode
4102 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4103 Value |= (op & 0x7f);
4104 // op: func3
4105 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4106 Value |= (op & 0x7) << 12;
4107 // op: func2
4108 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4109 Value |= (op & 0x3) << 30;
4110 // op: rd
4111 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4112 Value |= (op & 0x1f) << 7;
4113 // op: rs1
4114 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4115 Value |= (op & 0x1f) << 15;
4116 // op: imm26
4117 op = getImmOpValue(MI, OpNo: 5, Fixups, STI);
4118 Value |= (op & 0x3fffc00) << 22;
4119 Value |= (op & 0x3ff) << 20;
4120 break;
4121 }
4122 case RISCV::InsnR4: {
4123 // op: opcode
4124 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4125 Value |= (op & 0x7f);
4126 // op: funct2
4127 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4128 Value |= (op & 0x3) << 25;
4129 // op: funct3
4130 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4131 Value |= (op & 0x7) << 12;
4132 // op: rs3
4133 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
4134 Value |= (op & 0x1f) << 27;
4135 // op: rs2
4136 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
4137 Value |= (op & 0x1f) << 20;
4138 // op: rs1
4139 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4140 Value |= (op & 0x1f) << 15;
4141 // op: rd
4142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4143 Value |= (op & 0x1f) << 7;
4144 break;
4145 }
4146 case RISCV::InsnI:
4147 case RISCV::InsnI_Mem: {
4148 // op: opcode
4149 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4150 Value |= (op & 0x7f);
4151 // op: funct3
4152 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4153 Value |= (op & 0x7) << 12;
4154 // op: imm12
4155 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4156 Value |= (op & 0xfff) << 20;
4157 // op: rs1
4158 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4159 Value |= (op & 0x1f) << 15;
4160 // op: rd
4161 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4162 Value |= (op & 0x1f) << 7;
4163 break;
4164 }
4165 case RISCV::InsnR: {
4166 // op: opcode
4167 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4168 Value |= (op & 0x7f);
4169 // op: funct7
4170 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4171 Value |= (op & 0x7f) << 25;
4172 // op: funct3
4173 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4174 Value |= (op & 0x7) << 12;
4175 // op: rs2
4176 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
4177 Value |= (op & 0x1f) << 20;
4178 // op: rs1
4179 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4180 Value |= (op & 0x1f) << 15;
4181 // op: rd
4182 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4183 Value |= (op & 0x1f) << 7;
4184 break;
4185 }
4186 case RISCV::InsnU: {
4187 // op: opcode
4188 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4189 Value |= (op & 0x7f);
4190 // op: imm20
4191 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4192 Value |= (op & 0xfffff) << 12;
4193 // op: rd
4194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4195 Value |= (op & 0x1f) << 7;
4196 break;
4197 }
4198 case RISCV::InsnJ: {
4199 // op: opcode
4200 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4201 Value |= (op & 0x7f);
4202 // op: imm20
4203 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
4204 Value |= (op & 0xfffff) << 12;
4205 // op: rd
4206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4207 Value |= (op & 0x1f) << 7;
4208 break;
4209 }
4210 case RISCV::FENCE: {
4211 // op: pred
4212 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4213 Value |= (op & 0xf) << 24;
4214 // op: succ
4215 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4216 Value |= (op & 0xf) << 20;
4217 break;
4218 }
4219 case RISCV::PLUI_DH: {
4220 // op: rd
4221 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4222 Value |= (op & 0x1e) << 7;
4223 // op: imm10
4224 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4225 Value |= (op & 0x1) << 24;
4226 Value |= (op & 0x3fe) << 14;
4227 break;
4228 }
4229 case RISCV::PLI_DH: {
4230 // op: rd
4231 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4232 Value |= (op & 0x1e) << 7;
4233 // op: imm10
4234 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4235 Value |= (op & 0x1ff) << 16;
4236 Value |= (op & 0x200) << 6;
4237 break;
4238 }
4239 case RISCV::PLI_DB: {
4240 // op: rd
4241 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4242 Value |= (op & 0x1e) << 7;
4243 // op: imm8
4244 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4245 Value |= (op & 0xff) << 16;
4246 break;
4247 }
4248 case RISCV::AIF_MOVA_X_M:
4249 case RISCV::QC_C_DIR:
4250 case RISCV::SSRDP: {
4251 // op: rd
4252 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4253 Value |= (op & 0x1f) << 7;
4254 break;
4255 }
4256 case RISCV::QC_E_LI: {
4257 // op: rd
4258 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4259 Value |= (op & 0x1f) << 7;
4260 // op: imm
4261 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4262 Value |= (op & 0xffffffff) << 16;
4263 break;
4264 }
4265 case RISCV::FLI_D:
4266 case RISCV::FLI_H:
4267 case RISCV::FLI_Q:
4268 case RISCV::FLI_S: {
4269 // op: rd
4270 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4271 Value |= (op & 0x1f) << 7;
4272 // op: imm
4273 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4274 Value |= (op & 0x1f) << 15;
4275 break;
4276 }
4277 case RISCV::PLUI_H:
4278 case RISCV::PLUI_W: {
4279 // op: rd
4280 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4281 Value |= (op & 0x1f) << 7;
4282 // op: imm10
4283 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4284 Value |= (op & 0x1) << 24;
4285 Value |= (op & 0x3fe) << 14;
4286 break;
4287 }
4288 case RISCV::PLI_H:
4289 case RISCV::PLI_W: {
4290 // op: rd
4291 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4292 Value |= (op & 0x1f) << 7;
4293 // op: imm10
4294 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4295 Value |= (op & 0x1ff) << 16;
4296 Value |= (op & 0x200) << 6;
4297 break;
4298 }
4299 case RISCV::PLI_B: {
4300 // op: rd
4301 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4302 Value |= (op & 0x1f) << 7;
4303 // op: imm8
4304 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4305 Value |= (op & 0xff) << 16;
4306 break;
4307 }
4308 case RISCV::AIF_FMVS_X_PS:
4309 case RISCV::AIF_FMVZ_X_PS: {
4310 // op: rd
4311 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4312 Value |= (op & 0x1f) << 7;
4313 // op: rs1
4314 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4315 Value |= (op & 0x1f) << 15;
4316 // op: idx
4317 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4318 Value |= (op & 0x7) << 20;
4319 break;
4320 }
4321 case RISCV::QC_E_ADDI:
4322 case RISCV::QC_E_ANDI:
4323 case RISCV::QC_E_LB:
4324 case RISCV::QC_E_LBU:
4325 case RISCV::QC_E_LH:
4326 case RISCV::QC_E_LHU:
4327 case RISCV::QC_E_LW:
4328 case RISCV::QC_E_ORI:
4329 case RISCV::QC_E_XORI: {
4330 // op: rd
4331 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4332 Value |= (op & 0x1f) << 7;
4333 // op: rs1
4334 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4335 Value |= (op & 0x1f) << 15;
4336 // op: imm
4337 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4338 Value |= (op & 0x3fffc00) << 22;
4339 Value |= (op & 0x3ff) << 20;
4340 break;
4341 }
4342 case RISCV::AIF_FSWIZZ_PS: {
4343 // op: rd
4344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4345 Value |= (op & 0x1f) << 7;
4346 // op: rs1
4347 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4348 Value |= (op & 0x1f) << 15;
4349 // op: imm
4350 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4351 Value |= (op & 0xf8) << 17;
4352 Value |= (op & 0x7) << 12;
4353 break;
4354 }
4355 case RISCV::NDS_BFOS:
4356 case RISCV::NDS_BFOZ: {
4357 // op: rd
4358 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4359 Value |= (op & 0x1f) << 7;
4360 // op: rs1
4361 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4362 Value |= (op & 0x1f) << 15;
4363 // op: msb
4364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4365 Value |= (op & 0x3f) << 26;
4366 // op: lsb
4367 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4368 Value |= (op & 0x3f) << 20;
4369 break;
4370 }
4371 case RISCV::AIF_FCVT_PS_PW:
4372 case RISCV::AIF_FCVT_PS_PWU:
4373 case RISCV::AIF_FCVT_PWU_PS:
4374 case RISCV::AIF_FCVT_PW_PS: {
4375 // op: rd
4376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4377 Value |= (op & 0x1f) << 7;
4378 // op: rs1
4379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4380 Value |= (op & 0x1f) << 15;
4381 // op: rm
4382 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4383 Value |= (op & 0x7) << 12;
4384 break;
4385 }
4386 case RISCV::AIF_FADD_PS:
4387 case RISCV::AIF_FDIV_PS:
4388 case RISCV::AIF_FMUL_PS:
4389 case RISCV::AIF_FSUB_PS: {
4390 // op: rd
4391 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4392 Value |= (op & 0x1f) << 7;
4393 // op: rs1
4394 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4395 Value |= (op & 0x1f) << 15;
4396 // op: rs2
4397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4398 Value |= (op & 0x1f) << 20;
4399 // op: rm
4400 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4401 Value |= (op & 0x7) << 12;
4402 break;
4403 }
4404 case RISCV::AIF_FCMOV_PS: {
4405 // op: rd
4406 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4407 Value |= (op & 0x1f) << 7;
4408 // op: rs1
4409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4410 Value |= (op & 0x1f) << 15;
4411 // op: rs2
4412 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4413 Value |= (op & 0x1f) << 20;
4414 // op: rs3
4415 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4416 Value |= (op & 0x1f) << 27;
4417 break;
4418 }
4419 case RISCV::AIF_FMADD_PS:
4420 case RISCV::AIF_FMSUB_PS:
4421 case RISCV::AIF_FNMADD_PS:
4422 case RISCV::AIF_FNMSUB_PS: {
4423 // op: rd
4424 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4425 Value |= (op & 0x1f) << 7;
4426 // op: rs1
4427 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4428 Value |= (op & 0x1f) << 15;
4429 // op: rs2
4430 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4431 Value |= (op & 0x1f) << 20;
4432 // op: rs3
4433 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4434 Value |= (op & 0x1f) << 27;
4435 // op: rm
4436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4437 Value |= (op & 0x7) << 12;
4438 break;
4439 }
4440 case RISCV::VSETIVLI: {
4441 // op: rd
4442 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4443 Value |= (op & 0x1f) << 7;
4444 // op: uimm
4445 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4446 Value |= (op & 0x1f) << 15;
4447 // op: vtypei
4448 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4449 Value |= (op & 0x3ff) << 20;
4450 break;
4451 }
4452 case RISCV::VCPOP_M:
4453 case RISCV::VFIRST_M: {
4454 // op: rd
4455 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4456 Value |= (op & 0x1f) << 7;
4457 // op: vm
4458 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
4459 Value |= (op & 0x1) << 25;
4460 // op: vs2
4461 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4462 Value |= (op & 0x1f) << 20;
4463 break;
4464 }
4465 case RISCV::VFMV_F_S:
4466 case RISCV::VMV_X_S: {
4467 // op: rd
4468 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4469 Value |= (op & 0x1f) << 7;
4470 // op: vs2
4471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4472 Value |= (op & 0x1f) << 20;
4473 break;
4474 }
4475 case RISCV::QK_C_LBU: {
4476 // op: rd
4477 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4478 Value |= (op & 0x7) << 2;
4479 // op: rs1
4480 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4481 Value |= (op & 0x7) << 7;
4482 // op: imm
4483 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4484 Value |= (op & 0x1) << 12;
4485 Value |= (op & 0x18) << 7;
4486 Value |= (op & 0x6) << 4;
4487 break;
4488 }
4489 case RISCV::C_LBU: {
4490 // op: rd
4491 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4492 Value |= (op & 0x7) << 2;
4493 // op: rs1
4494 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4495 Value |= (op & 0x7) << 7;
4496 // op: imm
4497 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4498 Value |= (op & 0x1) << 6;
4499 Value |= (op & 0x2) << 4;
4500 break;
4501 }
4502 case RISCV::C_LH:
4503 case RISCV::C_LHU:
4504 case RISCV::C_LH_INX: {
4505 // op: rd
4506 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4507 Value |= (op & 0x7) << 2;
4508 // op: rs1
4509 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4510 Value |= (op & 0x7) << 7;
4511 // op: imm
4512 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4513 Value |= (op & 0x2) << 4;
4514 break;
4515 }
4516 case RISCV::C_FLW:
4517 case RISCV::C_LW:
4518 case RISCV::C_LW_INX: {
4519 // op: rd
4520 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4521 Value |= (op & 0x7) << 2;
4522 // op: rs1
4523 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4524 Value |= (op & 0x7) << 7;
4525 // op: imm
4526 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4527 Value |= (op & 0x38) << 7;
4528 Value |= (op & 0x4) << 4;
4529 Value |= (op & 0x40) >> 1;
4530 break;
4531 }
4532 case RISCV::QK_C_LHU: {
4533 // op: rd
4534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4535 Value |= (op & 0x7) << 2;
4536 // op: rs1
4537 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4538 Value |= (op & 0x7) << 7;
4539 // op: imm
4540 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4541 Value |= (op & 0x38) << 7;
4542 Value |= (op & 0x6) << 4;
4543 break;
4544 }
4545 case RISCV::C_FLD:
4546 case RISCV::C_LD:
4547 case RISCV::C_LD_RV32: {
4548 // op: rd
4549 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4550 Value |= (op & 0x7) << 2;
4551 // op: rs1
4552 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4553 Value |= (op & 0x7) << 7;
4554 // op: imm
4555 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4556 Value |= (op & 0x38) << 7;
4557 Value |= (op & 0xc0) >> 1;
4558 break;
4559 }
4560 case RISCV::SF_VTZERO_T: {
4561 // op: rd
4562 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4563 Value |= (op & 0xf) << 8;
4564 break;
4565 }
4566 case RISCV::QC_E_ADDAI:
4567 case RISCV::QC_E_ANDAI:
4568 case RISCV::QC_E_ORAI:
4569 case RISCV::QC_E_XORAI: {
4570 // op: rd
4571 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4572 Value |= (op & 0x1f) << 7;
4573 // op: imm
4574 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4575 Value |= (op & 0xffffffff) << 16;
4576 break;
4577 }
4578 case RISCV::QC_INSBI: {
4579 // op: rd
4580 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4581 Value |= (op & 0x1f) << 7;
4582 // op: imm5
4583 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4584 Value |= (op & 0x1f) << 15;
4585 // op: shamt
4586 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4587 Value |= (op & 0x1f) << 20;
4588 // op: width
4589 op = getImmOpValueMinus1(MI, OpNo: 3, Fixups, STI);
4590 Value |= (op & 0x1f) << 25;
4591 break;
4592 }
4593 case RISCV::QC_C_EXTU: {
4594 // op: rd
4595 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4596 Value |= (op & 0x1f) << 7;
4597 // op: width
4598 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
4599 Value |= (op & 0x1f) << 2;
4600 break;
4601 }
4602 case RISCV::QC_C_MVEQZ: {
4603 // op: rd
4604 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4605 Value |= (op & 0x7) << 2;
4606 // op: rs1
4607 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4608 Value |= (op & 0x7) << 7;
4609 break;
4610 }
4611 case RISCV::QC_C_MULIADD: {
4612 // op: rd
4613 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4614 Value |= (op & 0x7) << 2;
4615 // op: rs1
4616 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4617 Value |= (op & 0x7) << 7;
4618 // op: uimm
4619 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4620 Value |= (op & 0xe) << 9;
4621 Value |= (op & 0x1) << 6;
4622 Value |= (op & 0x10) << 1;
4623 break;
4624 }
4625 case RISCV::C_NOT:
4626 case RISCV::C_SEXT_B:
4627 case RISCV::C_SEXT_H:
4628 case RISCV::C_ZEXT_B:
4629 case RISCV::C_ZEXT_H:
4630 case RISCV::C_ZEXT_W: {
4631 // op: rd
4632 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4633 Value |= (op & 0x7) << 7;
4634 break;
4635 }
4636 case RISCV::QK_C_LHUSP:
4637 case RISCV::QK_C_SHSP: {
4638 // op: rd_rs2
4639 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4640 Value |= (op & 0x7) << 2;
4641 // op: imm
4642 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4643 Value |= (op & 0xe) << 7;
4644 Value |= (op & 0x10) << 3;
4645 break;
4646 }
4647 case RISCV::QK_C_LBUSP:
4648 case RISCV::QK_C_SBSP: {
4649 // op: rd_rs2
4650 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4651 Value |= (op & 0x7) << 2;
4652 // op: imm
4653 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4654 Value |= (op & 0xf) << 7;
4655 break;
4656 }
4657 case RISCV::CM_POP:
4658 case RISCV::CM_POPRET:
4659 case RISCV::CM_POPRETZ:
4660 case RISCV::CM_PUSH:
4661 case RISCV::QC_CM_POP:
4662 case RISCV::QC_CM_POPRET:
4663 case RISCV::QC_CM_POPRETZ:
4664 case RISCV::QC_CM_PUSH: {
4665 // op: rlist
4666 op = getRlistOpValue(MI, OpNo: 0, Fixups, STI);
4667 Value |= (op & 0xf) << 4;
4668 // op: stackadj
4669 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4670 Value |= (op & 0x30) >> 2;
4671 break;
4672 }
4673 case RISCV::QC_CM_PUSHFP: {
4674 // op: rlist
4675 op = getRlistS0OpValue(MI, OpNo: 0, Fixups, STI);
4676 Value |= (op & 0xf) << 4;
4677 // op: stackadj
4678 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4679 Value |= (op & 0x30) >> 2;
4680 break;
4681 }
4682 case RISCV::CSRRCI:
4683 case RISCV::CSRRSI:
4684 case RISCV::CSRRWI: {
4685 // op: rs1
4686 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4687 Value |= (op & 0x1f) << 15;
4688 // op: rd
4689 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4690 Value |= (op & 0x1f) << 7;
4691 // op: imm12
4692 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4693 Value |= (op & 0xfff) << 20;
4694 break;
4695 }
4696 case RISCV::AIF_MOVA_M_X:
4697 case RISCV::CBO_CLEAN:
4698 case RISCV::CBO_FLUSH:
4699 case RISCV::CBO_INVAL:
4700 case RISCV::CBO_ZERO:
4701 case RISCV::SF_CDISCARD_D_L1:
4702 case RISCV::SF_CFLUSH_D_L1:
4703 case RISCV::SSPOPCHK:
4704 case RISCV::TH_DCACHE_CIPA:
4705 case RISCV::TH_DCACHE_CISW:
4706 case RISCV::TH_DCACHE_CIVA:
4707 case RISCV::TH_DCACHE_CPA:
4708 case RISCV::TH_DCACHE_CPAL1:
4709 case RISCV::TH_DCACHE_CSW:
4710 case RISCV::TH_DCACHE_CVA:
4711 case RISCV::TH_DCACHE_CVAL1:
4712 case RISCV::TH_DCACHE_IPA:
4713 case RISCV::TH_DCACHE_ISW:
4714 case RISCV::TH_DCACHE_IVA:
4715 case RISCV::TH_ICACHE_IPA:
4716 case RISCV::TH_ICACHE_IVA: {
4717 // op: rs1
4718 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4719 Value |= (op & 0x1f) << 15;
4720 break;
4721 }
4722 case RISCV::QC_E_BEQI:
4723 case RISCV::QC_E_BGEI:
4724 case RISCV::QC_E_BGEUI:
4725 case RISCV::QC_E_BLTI:
4726 case RISCV::QC_E_BLTUI:
4727 case RISCV::QC_E_BNEI: {
4728 // op: rs1
4729 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4730 Value |= (op & 0x1f) << 15;
4731 // op: imm16
4732 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4733 Value |= (op & 0xffff) << 32;
4734 // op: imm12
4735 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
4736 Value |= (op & 0x800) << 20;
4737 Value |= (op & 0x3f0) << 21;
4738 Value |= (op & 0xf) << 8;
4739 Value |= (op & 0x400) >> 3;
4740 break;
4741 }
4742 case RISCV::C_JALR:
4743 case RISCV::C_JR:
4744 case RISCV::QC_C_CLRINT:
4745 case RISCV::QC_C_EIR:
4746 case RISCV::QC_C_SETINT: {
4747 // op: rs1
4748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4749 Value |= (op & 0x1f) << 7;
4750 break;
4751 }
4752 case RISCV::C_MV: {
4753 // op: rs1
4754 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4755 Value |= (op & 0x1f) << 7;
4756 // op: rs2
4757 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4758 Value |= (op & 0x1f) << 2;
4759 break;
4760 }
4761 case RISCV::PSABS_DB:
4762 case RISCV::PSABS_DH:
4763 case RISCV::PSEXT_DH_B:
4764 case RISCV::PSEXT_DW_B:
4765 case RISCV::PSEXT_DW_H: {
4766 // op: rs1
4767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4768 Value |= (op & 0x1e) << 15;
4769 // op: rd
4770 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4771 Value |= (op & 0x1e) << 7;
4772 break;
4773 }
4774 case RISCV::ADDD:
4775 case RISCV::PAADDU_DB:
4776 case RISCV::PAADDU_DH:
4777 case RISCV::PAADDU_DW:
4778 case RISCV::PAADD_DB:
4779 case RISCV::PAADD_DH:
4780 case RISCV::PAADD_DW:
4781 case RISCV::PAAS_DHX:
4782 case RISCV::PABDU_DB:
4783 case RISCV::PABDU_DH:
4784 case RISCV::PABD_DB:
4785 case RISCV::PABD_DH:
4786 case RISCV::PADD_DB:
4787 case RISCV::PADD_DH:
4788 case RISCV::PADD_DW:
4789 case RISCV::PASA_DHX:
4790 case RISCV::PASUBU_DB:
4791 case RISCV::PASUBU_DH:
4792 case RISCV::PASUBU_DW:
4793 case RISCV::PASUB_DB:
4794 case RISCV::PASUB_DH:
4795 case RISCV::PASUB_DW:
4796 case RISCV::PAS_DHX:
4797 case RISCV::PMAXU_DB:
4798 case RISCV::PMAXU_DH:
4799 case RISCV::PMAXU_DW:
4800 case RISCV::PMAX_DB:
4801 case RISCV::PMAX_DH:
4802 case RISCV::PMAX_DW:
4803 case RISCV::PMINU_DB:
4804 case RISCV::PMINU_DH:
4805 case RISCV::PMINU_DW:
4806 case RISCV::PMIN_DB:
4807 case RISCV::PMIN_DH:
4808 case RISCV::PMIN_DW:
4809 case RISCV::PMSEQ_DB:
4810 case RISCV::PMSEQ_DH:
4811 case RISCV::PMSEQ_DW:
4812 case RISCV::PMSLTU_DB:
4813 case RISCV::PMSLTU_DH:
4814 case RISCV::PMSLTU_DW:
4815 case RISCV::PMSLT_DB:
4816 case RISCV::PMSLT_DH:
4817 case RISCV::PMSLT_DW:
4818 case RISCV::PPAIREO_DB:
4819 case RISCV::PPAIREO_DH:
4820 case RISCV::PPAIRE_DB:
4821 case RISCV::PPAIRE_DH:
4822 case RISCV::PPAIROE_DB:
4823 case RISCV::PPAIROE_DH:
4824 case RISCV::PPAIRO_DB:
4825 case RISCV::PPAIRO_DH:
4826 case RISCV::PSADDU_DB:
4827 case RISCV::PSADDU_DH:
4828 case RISCV::PSADDU_DW:
4829 case RISCV::PSADD_DB:
4830 case RISCV::PSADD_DH:
4831 case RISCV::PSADD_DW:
4832 case RISCV::PSAS_DHX:
4833 case RISCV::PSA_DHX:
4834 case RISCV::PSH1ADD_DH:
4835 case RISCV::PSH1ADD_DW:
4836 case RISCV::PSSA_DHX:
4837 case RISCV::PSSH1SADD_DH:
4838 case RISCV::PSSH1SADD_DW:
4839 case RISCV::PSSUBU_DB:
4840 case RISCV::PSSUBU_DH:
4841 case RISCV::PSSUBU_DW:
4842 case RISCV::PSSUB_DB:
4843 case RISCV::PSSUB_DH:
4844 case RISCV::PSSUB_DW:
4845 case RISCV::PSUB_DB:
4846 case RISCV::PSUB_DH:
4847 case RISCV::PSUB_DW:
4848 case RISCV::SUBD: {
4849 // op: rs1
4850 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4851 Value |= (op & 0x1e) << 15;
4852 // op: rd
4853 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4854 Value |= (op & 0x1e) << 7;
4855 // op: rs2
4856 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4857 Value |= (op & 0x1e) << 20;
4858 break;
4859 }
4860 case RISCV::PADD_DBS:
4861 case RISCV::PADD_DHS:
4862 case RISCV::PADD_DWS:
4863 case RISCV::PSLL_DBS:
4864 case RISCV::PSLL_DHS:
4865 case RISCV::PSLL_DWS:
4866 case RISCV::PSRA_DBS:
4867 case RISCV::PSRA_DHS:
4868 case RISCV::PSRA_DWS:
4869 case RISCV::PSRL_DBS:
4870 case RISCV::PSRL_DHS:
4871 case RISCV::PSRL_DWS:
4872 case RISCV::PSSHAR_DHS:
4873 case RISCV::PSSHAR_DWS:
4874 case RISCV::PSSHA_DHS:
4875 case RISCV::PSSHA_DWS: {
4876 // op: rs1
4877 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4878 Value |= (op & 0x1e) << 15;
4879 // op: rd
4880 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4881 Value |= (op & 0x1e) << 7;
4882 // op: rs2
4883 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4884 Value |= (op & 0x1f) << 20;
4885 break;
4886 }
4887 case RISCV::PSATI_DW:
4888 case RISCV::PSLLI_DW:
4889 case RISCV::PSRAI_DW:
4890 case RISCV::PSRARI_DW:
4891 case RISCV::PSRLI_DW:
4892 case RISCV::PSSLAI_DW:
4893 case RISCV::PUSATI_DW: {
4894 // op: rs1
4895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4896 Value |= (op & 0x1e) << 15;
4897 // op: rd
4898 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4899 Value |= (op & 0x1e) << 7;
4900 // op: shamt
4901 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4902 Value |= (op & 0x1f) << 20;
4903 break;
4904 }
4905 case RISCV::PSLLI_DB:
4906 case RISCV::PSRAI_DB:
4907 case RISCV::PSRLI_DB: {
4908 // op: rs1
4909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4910 Value |= (op & 0x1e) << 15;
4911 // op: rd
4912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4913 Value |= (op & 0x1e) << 7;
4914 // op: shamt
4915 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4916 Value |= (op & 0x7) << 20;
4917 break;
4918 }
4919 case RISCV::PSATI_DH:
4920 case RISCV::PSLLI_DH:
4921 case RISCV::PSRAI_DH:
4922 case RISCV::PSRARI_DH:
4923 case RISCV::PSRLI_DH:
4924 case RISCV::PSSLAI_DH:
4925 case RISCV::PUSATI_DH: {
4926 // op: rs1
4927 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4928 Value |= (op & 0x1e) << 15;
4929 // op: rd
4930 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4931 Value |= (op & 0x1e) << 7;
4932 // op: shamt
4933 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4934 Value |= (op & 0xf) << 20;
4935 break;
4936 }
4937 case RISCV::NCLIP:
4938 case RISCV::NCLIPR:
4939 case RISCV::NCLIPRU:
4940 case RISCV::NCLIPU:
4941 case RISCV::NSRA:
4942 case RISCV::NSRAR:
4943 case RISCV::NSRL:
4944 case RISCV::PNCLIPRU_BS:
4945 case RISCV::PNCLIPRU_HS:
4946 case RISCV::PNCLIPR_BS:
4947 case RISCV::PNCLIPR_HS:
4948 case RISCV::PNCLIPU_BS:
4949 case RISCV::PNCLIPU_HS:
4950 case RISCV::PNCLIP_BS:
4951 case RISCV::PNCLIP_HS:
4952 case RISCV::PNSRAR_BS:
4953 case RISCV::PNSRAR_HS:
4954 case RISCV::PNSRA_BS:
4955 case RISCV::PNSRA_HS:
4956 case RISCV::PNSRL_BS:
4957 case RISCV::PNSRL_HS:
4958 case RISCV::PREDSUMU_DBS:
4959 case RISCV::PREDSUMU_DHS:
4960 case RISCV::PREDSUM_DBS:
4961 case RISCV::PREDSUM_DHS: {
4962 // op: rs1
4963 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4964 Value |= (op & 0x1e) << 15;
4965 // op: rd
4966 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4967 Value |= (op & 0x1f) << 7;
4968 // op: rs2
4969 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4970 Value |= (op & 0x1f) << 20;
4971 break;
4972 }
4973 case RISCV::PNCLIPIU_H:
4974 case RISCV::PNCLIPI_H:
4975 case RISCV::PNCLIPRIU_H:
4976 case RISCV::PNCLIPRI_H:
4977 case RISCV::PNSRAI_H:
4978 case RISCV::PNSRARI_H:
4979 case RISCV::PNSRLI_H: {
4980 // op: rs1
4981 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4982 Value |= (op & 0x1e) << 15;
4983 // op: rd
4984 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4985 Value |= (op & 0x1f) << 7;
4986 // op: shamt
4987 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4988 Value |= (op & 0x1f) << 20;
4989 break;
4990 }
4991 case RISCV::NCLIPI:
4992 case RISCV::NCLIPIU:
4993 case RISCV::NCLIPRI:
4994 case RISCV::NCLIPRIU:
4995 case RISCV::NSRAI:
4996 case RISCV::NSRARI:
4997 case RISCV::NSRLI: {
4998 // op: rs1
4999 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5000 Value |= (op & 0x1e) << 15;
5001 // op: rd
5002 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5003 Value |= (op & 0x1f) << 7;
5004 // op: shamt
5005 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5006 Value |= (op & 0x3f) << 20;
5007 break;
5008 }
5009 case RISCV::PNCLIPIU_B:
5010 case RISCV::PNCLIPI_B:
5011 case RISCV::PNCLIPRIU_B:
5012 case RISCV::PNCLIPRI_B:
5013 case RISCV::PNSRAI_B:
5014 case RISCV::PNSRARI_B:
5015 case RISCV::PNSRLI_B: {
5016 // op: rs1
5017 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5018 Value |= (op & 0x1e) << 15;
5019 // op: rd
5020 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5021 Value |= (op & 0x1f) << 7;
5022 // op: shamt
5023 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5024 Value |= (op & 0xf) << 20;
5025 break;
5026 }
5027 case RISCV::FCVT_BF16_S:
5028 case RISCV::FCVT_D_H:
5029 case RISCV::FCVT_D_H_IN32X:
5030 case RISCV::FCVT_D_H_INX:
5031 case RISCV::FCVT_D_L:
5032 case RISCV::FCVT_D_LU:
5033 case RISCV::FCVT_D_LU_INX:
5034 case RISCV::FCVT_D_L_INX:
5035 case RISCV::FCVT_D_Q:
5036 case RISCV::FCVT_D_S:
5037 case RISCV::FCVT_D_S_IN32X:
5038 case RISCV::FCVT_D_S_INX:
5039 case RISCV::FCVT_D_W:
5040 case RISCV::FCVT_D_WU:
5041 case RISCV::FCVT_D_WU_IN32X:
5042 case RISCV::FCVT_D_WU_INX:
5043 case RISCV::FCVT_D_W_IN32X:
5044 case RISCV::FCVT_D_W_INX:
5045 case RISCV::FCVT_H_D:
5046 case RISCV::FCVT_H_D_IN32X:
5047 case RISCV::FCVT_H_D_INX:
5048 case RISCV::FCVT_H_L:
5049 case RISCV::FCVT_H_LU:
5050 case RISCV::FCVT_H_LU_INX:
5051 case RISCV::FCVT_H_L_INX:
5052 case RISCV::FCVT_H_S:
5053 case RISCV::FCVT_H_S_INX:
5054 case RISCV::FCVT_H_W:
5055 case RISCV::FCVT_H_WU:
5056 case RISCV::FCVT_H_WU_INX:
5057 case RISCV::FCVT_H_W_INX:
5058 case RISCV::FCVT_LU_D:
5059 case RISCV::FCVT_LU_D_INX:
5060 case RISCV::FCVT_LU_H:
5061 case RISCV::FCVT_LU_H_INX:
5062 case RISCV::FCVT_LU_Q:
5063 case RISCV::FCVT_LU_S:
5064 case RISCV::FCVT_LU_S_INX:
5065 case RISCV::FCVT_L_D:
5066 case RISCV::FCVT_L_D_INX:
5067 case RISCV::FCVT_L_H:
5068 case RISCV::FCVT_L_H_INX:
5069 case RISCV::FCVT_L_Q:
5070 case RISCV::FCVT_L_S:
5071 case RISCV::FCVT_L_S_INX:
5072 case RISCV::FCVT_Q_D:
5073 case RISCV::FCVT_Q_L:
5074 case RISCV::FCVT_Q_LU:
5075 case RISCV::FCVT_Q_S:
5076 case RISCV::FCVT_Q_W:
5077 case RISCV::FCVT_Q_WU:
5078 case RISCV::FCVT_S_BF16:
5079 case RISCV::FCVT_S_D:
5080 case RISCV::FCVT_S_D_IN32X:
5081 case RISCV::FCVT_S_D_INX:
5082 case RISCV::FCVT_S_H:
5083 case RISCV::FCVT_S_H_INX:
5084 case RISCV::FCVT_S_L:
5085 case RISCV::FCVT_S_LU:
5086 case RISCV::FCVT_S_LU_INX:
5087 case RISCV::FCVT_S_L_INX:
5088 case RISCV::FCVT_S_Q:
5089 case RISCV::FCVT_S_W:
5090 case RISCV::FCVT_S_WU:
5091 case RISCV::FCVT_S_WU_INX:
5092 case RISCV::FCVT_S_W_INX:
5093 case RISCV::FCVT_WU_D:
5094 case RISCV::FCVT_WU_D_IN32X:
5095 case RISCV::FCVT_WU_D_INX:
5096 case RISCV::FCVT_WU_H:
5097 case RISCV::FCVT_WU_H_INX:
5098 case RISCV::FCVT_WU_Q:
5099 case RISCV::FCVT_WU_S:
5100 case RISCV::FCVT_WU_S_INX:
5101 case RISCV::FCVT_W_D:
5102 case RISCV::FCVT_W_D_IN32X:
5103 case RISCV::FCVT_W_D_INX:
5104 case RISCV::FCVT_W_H:
5105 case RISCV::FCVT_W_H_INX:
5106 case RISCV::FCVT_W_Q:
5107 case RISCV::FCVT_W_S:
5108 case RISCV::FCVT_W_S_INX:
5109 case RISCV::FROUNDNX_D:
5110 case RISCV::FROUNDNX_H:
5111 case RISCV::FROUNDNX_Q:
5112 case RISCV::FROUNDNX_S:
5113 case RISCV::FROUND_D:
5114 case RISCV::FROUND_H:
5115 case RISCV::FROUND_Q:
5116 case RISCV::FROUND_S:
5117 case RISCV::FSQRT_D:
5118 case RISCV::FSQRT_D_IN32X:
5119 case RISCV::FSQRT_D_INX:
5120 case RISCV::FSQRT_H:
5121 case RISCV::FSQRT_H_INX:
5122 case RISCV::FSQRT_Q:
5123 case RISCV::FSQRT_S:
5124 case RISCV::FSQRT_S_INX: {
5125 // op: rs1
5126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5127 Value |= (op & 0x1f) << 15;
5128 // op: frm
5129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5130 Value |= (op & 0x7) << 12;
5131 // op: rd
5132 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5133 Value |= (op & 0x1f) << 7;
5134 break;
5135 }
5136 case RISCV::PWSLAI_H:
5137 case RISCV::PWSLLI_H: {
5138 // op: rs1
5139 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5140 Value |= (op & 0x1f) << 15;
5141 // op: rd
5142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5143 Value |= (op & 0x1e) << 7;
5144 // op: shamt
5145 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5146 Value |= (op & 0x1f) << 20;
5147 break;
5148 }
5149 case RISCV::WSLAI:
5150 case RISCV::WSLLI: {
5151 // op: rs1
5152 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5153 Value |= (op & 0x1f) << 15;
5154 // op: rd
5155 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5156 Value |= (op & 0x1e) << 7;
5157 // op: shamt
5158 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5159 Value |= (op & 0x3f) << 20;
5160 break;
5161 }
5162 case RISCV::PWSLAI_B:
5163 case RISCV::PWSLLI_B: {
5164 // op: rs1
5165 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5166 Value |= (op & 0x1f) << 15;
5167 // op: rd
5168 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5169 Value |= (op & 0x1e) << 7;
5170 // op: shamt
5171 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5172 Value |= (op & 0xf) << 20;
5173 break;
5174 }
5175 case RISCV::ABS:
5176 case RISCV::ABSW:
5177 case RISCV::AES64IM:
5178 case RISCV::AIF_FBCX_PS:
5179 case RISCV::AIF_FCLASS_PS:
5180 case RISCV::AIF_FCVT_F10_PS:
5181 case RISCV::AIF_FCVT_F11_PS:
5182 case RISCV::AIF_FCVT_F16_PS:
5183 case RISCV::AIF_FCVT_PS_F10:
5184 case RISCV::AIF_FCVT_PS_F11:
5185 case RISCV::AIF_FCVT_PS_F16:
5186 case RISCV::AIF_FCVT_PS_RAST:
5187 case RISCV::AIF_FCVT_PS_SN16:
5188 case RISCV::AIF_FCVT_PS_SN8:
5189 case RISCV::AIF_FCVT_PS_UN10:
5190 case RISCV::AIF_FCVT_PS_UN16:
5191 case RISCV::AIF_FCVT_PS_UN2:
5192 case RISCV::AIF_FCVT_PS_UN24:
5193 case RISCV::AIF_FCVT_PS_UN8:
5194 case RISCV::AIF_FCVT_RAST_PS:
5195 case RISCV::AIF_FCVT_SN16_PS:
5196 case RISCV::AIF_FCVT_SN8_PS:
5197 case RISCV::AIF_FCVT_UN10_PS:
5198 case RISCV::AIF_FCVT_UN16_PS:
5199 case RISCV::AIF_FCVT_UN24_PS:
5200 case RISCV::AIF_FCVT_UN2_PS:
5201 case RISCV::AIF_FCVT_UN8_PS:
5202 case RISCV::AIF_FEXP_PS:
5203 case RISCV::AIF_FFRC_PS:
5204 case RISCV::AIF_FLOG_PS:
5205 case RISCV::AIF_FLWG_PS:
5206 case RISCV::AIF_FLWL_PS:
5207 case RISCV::AIF_FNOT_PI:
5208 case RISCV::AIF_FPACKREPB_PI:
5209 case RISCV::AIF_FPACKREPH_PI:
5210 case RISCV::AIF_FRCP_PS:
5211 case RISCV::AIF_FRSQ_PS:
5212 case RISCV::AIF_FSAT8_PI:
5213 case RISCV::AIF_FSATU8_PI:
5214 case RISCV::AIF_FSETM_PI:
5215 case RISCV::AIF_FSIN_PS:
5216 case RISCV::AIF_FSQRT_PS:
5217 case RISCV::BREV8:
5218 case RISCV::CLS:
5219 case RISCV::CLSW:
5220 case RISCV::CLZ:
5221 case RISCV::CLZW:
5222 case RISCV::CPOP:
5223 case RISCV::CPOPW:
5224 case RISCV::CTZ:
5225 case RISCV::CTZW:
5226 case RISCV::CV_ABS:
5227 case RISCV::CV_ABS_B:
5228 case RISCV::CV_ABS_H:
5229 case RISCV::CV_CLB:
5230 case RISCV::CV_CNT:
5231 case RISCV::CV_CPLXCONJ:
5232 case RISCV::CV_EXTBS:
5233 case RISCV::CV_EXTBZ:
5234 case RISCV::CV_EXTHS:
5235 case RISCV::CV_EXTHZ:
5236 case RISCV::CV_FF1:
5237 case RISCV::CV_FL1:
5238 case RISCV::FCLASS_D:
5239 case RISCV::FCLASS_D_IN32X:
5240 case RISCV::FCLASS_D_INX:
5241 case RISCV::FCLASS_H:
5242 case RISCV::FCLASS_H_INX:
5243 case RISCV::FCLASS_Q:
5244 case RISCV::FCLASS_S:
5245 case RISCV::FCLASS_S_INX:
5246 case RISCV::FCVTMOD_W_D:
5247 case RISCV::FMVH_X_D:
5248 case RISCV::FMVH_X_Q:
5249 case RISCV::FMV_D_X:
5250 case RISCV::FMV_H_X:
5251 case RISCV::FMV_W_X:
5252 case RISCV::FMV_X_D:
5253 case RISCV::FMV_X_H:
5254 case RISCV::FMV_X_W:
5255 case RISCV::FMV_X_W_FPR64:
5256 case RISCV::HLVX_HU:
5257 case RISCV::HLVX_WU:
5258 case RISCV::HLV_B:
5259 case RISCV::HLV_BU:
5260 case RISCV::HLV_D:
5261 case RISCV::HLV_H:
5262 case RISCV::HLV_HU:
5263 case RISCV::HLV_W:
5264 case RISCV::HLV_WU:
5265 case RISCV::LB_AQ:
5266 case RISCV::LB_AQRL:
5267 case RISCV::LD_AQ:
5268 case RISCV::LD_AQRL:
5269 case RISCV::LH_AQ:
5270 case RISCV::LH_AQRL:
5271 case RISCV::LR_D:
5272 case RISCV::LR_D_AQ:
5273 case RISCV::LR_D_AQRL:
5274 case RISCV::LR_D_RL:
5275 case RISCV::LR_W:
5276 case RISCV::LR_W_AQ:
5277 case RISCV::LR_W_AQRL:
5278 case RISCV::LR_W_RL:
5279 case RISCV::LW_AQ:
5280 case RISCV::LW_AQRL:
5281 case RISCV::MOP_R_0:
5282 case RISCV::MOP_R_1:
5283 case RISCV::MOP_R_10:
5284 case RISCV::MOP_R_11:
5285 case RISCV::MOP_R_12:
5286 case RISCV::MOP_R_13:
5287 case RISCV::MOP_R_14:
5288 case RISCV::MOP_R_15:
5289 case RISCV::MOP_R_16:
5290 case RISCV::MOP_R_17:
5291 case RISCV::MOP_R_18:
5292 case RISCV::MOP_R_19:
5293 case RISCV::MOP_R_2:
5294 case RISCV::MOP_R_20:
5295 case RISCV::MOP_R_21:
5296 case RISCV::MOP_R_22:
5297 case RISCV::MOP_R_23:
5298 case RISCV::MOP_R_24:
5299 case RISCV::MOP_R_25:
5300 case RISCV::MOP_R_26:
5301 case RISCV::MOP_R_27:
5302 case RISCV::MOP_R_28:
5303 case RISCV::MOP_R_29:
5304 case RISCV::MOP_R_3:
5305 case RISCV::MOP_R_30:
5306 case RISCV::MOP_R_31:
5307 case RISCV::MOP_R_4:
5308 case RISCV::MOP_R_5:
5309 case RISCV::MOP_R_6:
5310 case RISCV::MOP_R_7:
5311 case RISCV::MOP_R_8:
5312 case RISCV::MOP_R_9:
5313 case RISCV::NDS_FMV_BF16_X:
5314 case RISCV::NDS_FMV_X_BF16:
5315 case RISCV::ORC_B:
5316 case RISCV::PSABS_B:
5317 case RISCV::PSABS_H:
5318 case RISCV::PSEXT_H_B:
5319 case RISCV::PSEXT_W_B:
5320 case RISCV::PSEXT_W_H:
5321 case RISCV::QC_BREV32:
5322 case RISCV::QC_CLO:
5323 case RISCV::QC_COMPRESS2:
5324 case RISCV::QC_COMPRESS3:
5325 case RISCV::QC_CTO:
5326 case RISCV::QC_EXPAND2:
5327 case RISCV::QC_EXPAND3:
5328 case RISCV::QC_NORM:
5329 case RISCV::QC_NORMEU:
5330 case RISCV::QC_NORMU:
5331 case RISCV::REV16:
5332 case RISCV::REV8_RV32:
5333 case RISCV::REV8_RV64:
5334 case RISCV::REV_RV32:
5335 case RISCV::REV_RV64:
5336 case RISCV::SEXT_B:
5337 case RISCV::SEXT_H:
5338 case RISCV::SF_VSETTK:
5339 case RISCV::SF_VSETTM:
5340 case RISCV::SF_VSETTN:
5341 case RISCV::SHA256SIG0:
5342 case RISCV::SHA256SIG1:
5343 case RISCV::SHA256SUM0:
5344 case RISCV::SHA256SUM1:
5345 case RISCV::SHA512SIG0:
5346 case RISCV::SHA512SIG1:
5347 case RISCV::SHA512SUM0:
5348 case RISCV::SHA512SUM1:
5349 case RISCV::SM3P0:
5350 case RISCV::SM3P1:
5351 case RISCV::TH_FF0:
5352 case RISCV::TH_FF1:
5353 case RISCV::TH_REV:
5354 case RISCV::TH_REVW:
5355 case RISCV::TH_TSTNBZ:
5356 case RISCV::UNZIP_RV32:
5357 case RISCV::ZEXT_H_RV32:
5358 case RISCV::ZEXT_H_RV64:
5359 case RISCV::ZIP_RV32: {
5360 // op: rs1
5361 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5362 Value |= (op & 0x1f) << 15;
5363 // op: rd
5364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5365 Value |= (op & 0x1f) << 7;
5366 break;
5367 }
5368 case RISCV::QC_WRAPI: {
5369 // op: rs1
5370 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5371 Value |= (op & 0x1f) << 15;
5372 // op: rd
5373 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5374 Value |= (op & 0x1f) << 7;
5375 // op: imm11
5376 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5377 Value |= (op & 0x7ff) << 20;
5378 break;
5379 }
5380 case RISCV::ADDI:
5381 case RISCV::ADDIW:
5382 case RISCV::ANDI:
5383 case RISCV::CV_ELW:
5384 case RISCV::FLD:
5385 case RISCV::FLH:
5386 case RISCV::FLQ:
5387 case RISCV::FLW:
5388 case RISCV::JALR:
5389 case RISCV::LB:
5390 case RISCV::LBU:
5391 case RISCV::LD:
5392 case RISCV::LD_RV32:
5393 case RISCV::LH:
5394 case RISCV::LHU:
5395 case RISCV::LH_INX:
5396 case RISCV::LW:
5397 case RISCV::LWU:
5398 case RISCV::LW_INX:
5399 case RISCV::ORI:
5400 case RISCV::SLTI:
5401 case RISCV::SLTIU:
5402 case RISCV::XORI: {
5403 // op: rs1
5404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5405 Value |= (op & 0x1f) << 15;
5406 // op: rd
5407 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5408 Value |= (op & 0x1f) << 7;
5409 // op: imm12
5410 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5411 Value |= (op & 0xfff) << 20;
5412 break;
5413 }
5414 case RISCV::QC_INW: {
5415 // op: rs1
5416 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5417 Value |= (op & 0x1f) << 15;
5418 // op: rd
5419 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5420 Value |= (op & 0x1f) << 7;
5421 // op: imm14
5422 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5423 Value |= (op & 0x3ffc) << 18;
5424 break;
5425 }
5426 case RISCV::CV_CLIP:
5427 case RISCV::CV_CLIPU: {
5428 // op: rs1
5429 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5430 Value |= (op & 0x1f) << 15;
5431 // op: rd
5432 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5433 Value |= (op & 0x1f) << 7;
5434 // op: imm5
5435 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5436 Value |= (op & 0x1f) << 20;
5437 break;
5438 }
5439 case RISCV::CV_ADD_SCI_B:
5440 case RISCV::CV_ADD_SCI_H:
5441 case RISCV::CV_AND_SCI_B:
5442 case RISCV::CV_AND_SCI_H:
5443 case RISCV::CV_AVGU_SCI_B:
5444 case RISCV::CV_AVGU_SCI_H:
5445 case RISCV::CV_AVG_SCI_B:
5446 case RISCV::CV_AVG_SCI_H:
5447 case RISCV::CV_CMPEQ_SCI_B:
5448 case RISCV::CV_CMPEQ_SCI_H:
5449 case RISCV::CV_CMPGEU_SCI_B:
5450 case RISCV::CV_CMPGEU_SCI_H:
5451 case RISCV::CV_CMPGE_SCI_B:
5452 case RISCV::CV_CMPGE_SCI_H:
5453 case RISCV::CV_CMPGTU_SCI_B:
5454 case RISCV::CV_CMPGTU_SCI_H:
5455 case RISCV::CV_CMPGT_SCI_B:
5456 case RISCV::CV_CMPGT_SCI_H:
5457 case RISCV::CV_CMPLEU_SCI_B:
5458 case RISCV::CV_CMPLEU_SCI_H:
5459 case RISCV::CV_CMPLE_SCI_B:
5460 case RISCV::CV_CMPLE_SCI_H:
5461 case RISCV::CV_CMPLTU_SCI_B:
5462 case RISCV::CV_CMPLTU_SCI_H:
5463 case RISCV::CV_CMPLT_SCI_B:
5464 case RISCV::CV_CMPLT_SCI_H:
5465 case RISCV::CV_CMPNE_SCI_B:
5466 case RISCV::CV_CMPNE_SCI_H:
5467 case RISCV::CV_DOTSP_SCI_B:
5468 case RISCV::CV_DOTSP_SCI_H:
5469 case RISCV::CV_DOTUP_SCI_B:
5470 case RISCV::CV_DOTUP_SCI_H:
5471 case RISCV::CV_DOTUSP_SCI_B:
5472 case RISCV::CV_DOTUSP_SCI_H:
5473 case RISCV::CV_EXTRACTU_B:
5474 case RISCV::CV_EXTRACTU_H:
5475 case RISCV::CV_EXTRACT_B:
5476 case RISCV::CV_EXTRACT_H:
5477 case RISCV::CV_MAXU_SCI_B:
5478 case RISCV::CV_MAXU_SCI_H:
5479 case RISCV::CV_MAX_SCI_B:
5480 case RISCV::CV_MAX_SCI_H:
5481 case RISCV::CV_MINU_SCI_B:
5482 case RISCV::CV_MINU_SCI_H:
5483 case RISCV::CV_MIN_SCI_B:
5484 case RISCV::CV_MIN_SCI_H:
5485 case RISCV::CV_OR_SCI_B:
5486 case RISCV::CV_OR_SCI_H:
5487 case RISCV::CV_SHUFFLEI0_SCI_B:
5488 case RISCV::CV_SHUFFLEI1_SCI_B:
5489 case RISCV::CV_SHUFFLEI2_SCI_B:
5490 case RISCV::CV_SHUFFLEI3_SCI_B:
5491 case RISCV::CV_SHUFFLE_SCI_H:
5492 case RISCV::CV_SLL_SCI_B:
5493 case RISCV::CV_SLL_SCI_H:
5494 case RISCV::CV_SRA_SCI_B:
5495 case RISCV::CV_SRA_SCI_H:
5496 case RISCV::CV_SRL_SCI_B:
5497 case RISCV::CV_SRL_SCI_H:
5498 case RISCV::CV_SUB_SCI_B:
5499 case RISCV::CV_SUB_SCI_H:
5500 case RISCV::CV_XOR_SCI_B:
5501 case RISCV::CV_XOR_SCI_H: {
5502 // op: rs1
5503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5504 Value |= (op & 0x1f) << 15;
5505 // op: rd
5506 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5507 Value |= (op & 0x1f) << 7;
5508 // op: imm6
5509 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5510 Value |= (op & 0x1) << 25;
5511 Value |= (op & 0x3e) << 19;
5512 break;
5513 }
5514 case RISCV::CV_BCLR:
5515 case RISCV::CV_BITREV:
5516 case RISCV::CV_BSET:
5517 case RISCV::CV_EXTRACT:
5518 case RISCV::CV_EXTRACTU: {
5519 // op: rs1
5520 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5521 Value |= (op & 0x1f) << 15;
5522 // op: rd
5523 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5524 Value |= (op & 0x1f) << 7;
5525 // op: is3
5526 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5527 Value |= (op & 0x1f) << 25;
5528 // op: is2
5529 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
5530 Value |= (op & 0x1f) << 20;
5531 break;
5532 }
5533 case RISCV::TH_EXT:
5534 case RISCV::TH_EXTU: {
5535 // op: rs1
5536 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5537 Value |= (op & 0x1f) << 15;
5538 // op: rd
5539 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5540 Value |= (op & 0x1f) << 7;
5541 // op: msb
5542 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5543 Value |= (op & 0x3f) << 26;
5544 // op: lsb
5545 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
5546 Value |= (op & 0x3f) << 20;
5547 break;
5548 }
5549 case RISCV::AES64KS1I: {
5550 // op: rs1
5551 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5552 Value |= (op & 0x1f) << 15;
5553 // op: rd
5554 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5555 Value |= (op & 0x1f) << 7;
5556 // op: rnum
5557 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5558 Value |= (op & 0xf) << 20;
5559 break;
5560 }
5561 case RISCV::PSATI_W:
5562 case RISCV::PSLLI_W:
5563 case RISCV::PSRAI_W:
5564 case RISCV::PSRARI_W:
5565 case RISCV::PSRLI_W:
5566 case RISCV::PSSLAI_W:
5567 case RISCV::PUSATI_W:
5568 case RISCV::RORIW:
5569 case RISCV::SATI_RV32:
5570 case RISCV::SLLIW:
5571 case RISCV::SRAIW:
5572 case RISCV::SRARI_RV32:
5573 case RISCV::SRLIW:
5574 case RISCV::SSLAI:
5575 case RISCV::TH_SRRIW:
5576 case RISCV::USATI_RV32: {
5577 // op: rs1
5578 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5579 Value |= (op & 0x1f) << 15;
5580 // op: rd
5581 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5582 Value |= (op & 0x1f) << 7;
5583 // op: shamt
5584 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5585 Value |= (op & 0x1f) << 20;
5586 break;
5587 }
5588 case RISCV::SATI_RV64:
5589 case RISCV::SRARI_RV64:
5590 case RISCV::USATI_RV64: {
5591 // op: rs1
5592 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5593 Value |= (op & 0x1f) << 15;
5594 // op: rd
5595 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5596 Value |= (op & 0x1f) << 7;
5597 // op: shamt
5598 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5599 Value |= (op & 0x3f) << 20;
5600 break;
5601 }
5602 case RISCV::PSLLI_B:
5603 case RISCV::PSRAI_B:
5604 case RISCV::PSRLI_B: {
5605 // op: rs1
5606 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5607 Value |= (op & 0x1f) << 15;
5608 // op: rd
5609 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5610 Value |= (op & 0x1f) << 7;
5611 // op: shamt
5612 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5613 Value |= (op & 0x7) << 20;
5614 break;
5615 }
5616 case RISCV::PSATI_H:
5617 case RISCV::PSLLI_H:
5618 case RISCV::PSRAI_H:
5619 case RISCV::PSRARI_H:
5620 case RISCV::PSRLI_H:
5621 case RISCV::PSSLAI_H:
5622 case RISCV::PUSATI_H: {
5623 // op: rs1
5624 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5625 Value |= (op & 0x1f) << 15;
5626 // op: rd
5627 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5628 Value |= (op & 0x1f) << 7;
5629 // op: shamt
5630 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5631 Value |= (op & 0xf) << 20;
5632 break;
5633 }
5634 case RISCV::QC_EXT:
5635 case RISCV::QC_EXTD:
5636 case RISCV::QC_EXTDU:
5637 case RISCV::QC_EXTU: {
5638 // op: rs1
5639 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5640 Value |= (op & 0x1f) << 15;
5641 // op: rd
5642 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5643 Value |= (op & 0x1f) << 7;
5644 // op: shamt
5645 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
5646 Value |= (op & 0x1f) << 20;
5647 // op: width
5648 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
5649 Value |= (op & 0x1f) << 25;
5650 break;
5651 }
5652 case RISCV::BCLRI:
5653 case RISCV::BEXTI:
5654 case RISCV::BINVI:
5655 case RISCV::BSETI:
5656 case RISCV::RORI:
5657 case RISCV::SLLI:
5658 case RISCV::SLLI_UW:
5659 case RISCV::SRAI:
5660 case RISCV::SRLI:
5661 case RISCV::TH_SRRI:
5662 case RISCV::TH_TST: {
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: shamt
5670 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5671 Value |= (op & 0x3f) << 20;
5672 break;
5673 }
5674 case RISCV::VSETVLI: {
5675 // op: rs1
5676 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5677 Value |= (op & 0x1f) << 15;
5678 // op: rd
5679 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5680 Value |= (op & 0x1f) << 7;
5681 // op: vtypei
5682 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5683 Value |= (op & 0x7ff) << 20;
5684 break;
5685 }
5686 case RISCV::AIF_FROUND_PS: {
5687 // op: rs1
5688 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5689 Value |= (op & 0x1f) << 15;
5690 // op: rm
5691 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5692 Value |= (op & 0x7) << 12;
5693 // op: rd
5694 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5695 Value |= (op & 0x1f) << 7;
5696 break;
5697 }
5698 case RISCV::QC_E_SB:
5699 case RISCV::QC_E_SH:
5700 case RISCV::QC_E_SW: {
5701 // op: rs1
5702 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5703 Value |= (op & 0x1f) << 15;
5704 // op: rs2
5705 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5706 Value |= (op & 0x1f) << 20;
5707 // op: imm
5708 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5709 Value |= (op & 0x3fffc00) << 22;
5710 Value |= (op & 0x3e0) << 20;
5711 Value |= (op & 0x1f) << 7;
5712 break;
5713 }
5714 case RISCV::CV_SB_rr:
5715 case RISCV::CV_SH_rr:
5716 case RISCV::CV_SW_rr: {
5717 // op: rs1
5718 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5719 Value |= (op & 0x1f) << 15;
5720 // op: rs2
5721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5722 Value |= (op & 0x1f) << 20;
5723 // op: rs3
5724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5725 Value |= (op & 0x1f) << 7;
5726 break;
5727 }
5728 case RISCV::QC_OUTW: {
5729 // op: rs1
5730 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5731 Value |= (op & 0x1f) << 15;
5732 // op: rs2
5733 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5734 Value |= (op & 0x1f) << 7;
5735 // op: imm14
5736 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5737 Value |= (op & 0x3ffc) << 18;
5738 break;
5739 }
5740 case RISCV::AIF_FSC32B_PS:
5741 case RISCV::AIF_FSC32H_PS:
5742 case RISCV::AIF_FSC32W_PS:
5743 case RISCV::AIF_FSCBG_PS:
5744 case RISCV::AIF_FSCBL_PS:
5745 case RISCV::AIF_FSCB_PS:
5746 case RISCV::AIF_FSCHG_PS:
5747 case RISCV::AIF_FSCHL_PS:
5748 case RISCV::AIF_FSCH_PS:
5749 case RISCV::AIF_FSCWG_PS:
5750 case RISCV::AIF_FSCWL_PS:
5751 case RISCV::AIF_FSCW_PS: {
5752 // op: rs1
5753 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5754 Value |= (op & 0x1f) << 15;
5755 // op: rs2
5756 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5757 Value |= (op & 0x1f) << 20;
5758 // op: rs3
5759 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5760 Value |= (op & 0x1f) << 7;
5761 break;
5762 }
5763 case RISCV::NDS_VLE4_V:
5764 case RISCV::SF_VTMV_V_T:
5765 case RISCV::VL1RE16_V:
5766 case RISCV::VL1RE32_V:
5767 case RISCV::VL1RE64_V:
5768 case RISCV::VL1RE8_V:
5769 case RISCV::VL2RE16_V:
5770 case RISCV::VL2RE32_V:
5771 case RISCV::VL2RE64_V:
5772 case RISCV::VL2RE8_V:
5773 case RISCV::VL4RE16_V:
5774 case RISCV::VL4RE32_V:
5775 case RISCV::VL4RE64_V:
5776 case RISCV::VL4RE8_V:
5777 case RISCV::VL8RE16_V:
5778 case RISCV::VL8RE32_V:
5779 case RISCV::VL8RE64_V:
5780 case RISCV::VL8RE8_V:
5781 case RISCV::VLM_V: {
5782 // op: rs1
5783 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5784 Value |= (op & 0x1f) << 15;
5785 // op: vd
5786 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5787 Value |= (op & 0x1f) << 7;
5788 break;
5789 }
5790 case RISCV::NDS_VLN8_V:
5791 case RISCV::NDS_VLNU8_V:
5792 case RISCV::VLE16FF_V:
5793 case RISCV::VLE16_V:
5794 case RISCV::VLE32FF_V:
5795 case RISCV::VLE32_V:
5796 case RISCV::VLE64FF_V:
5797 case RISCV::VLE64_V:
5798 case RISCV::VLE8FF_V:
5799 case RISCV::VLE8_V:
5800 case RISCV::VLSEG2E16FF_V:
5801 case RISCV::VLSEG2E16_V:
5802 case RISCV::VLSEG2E32FF_V:
5803 case RISCV::VLSEG2E32_V:
5804 case RISCV::VLSEG2E64FF_V:
5805 case RISCV::VLSEG2E64_V:
5806 case RISCV::VLSEG2E8FF_V:
5807 case RISCV::VLSEG2E8_V:
5808 case RISCV::VLSEG3E16FF_V:
5809 case RISCV::VLSEG3E16_V:
5810 case RISCV::VLSEG3E32FF_V:
5811 case RISCV::VLSEG3E32_V:
5812 case RISCV::VLSEG3E64FF_V:
5813 case RISCV::VLSEG3E64_V:
5814 case RISCV::VLSEG3E8FF_V:
5815 case RISCV::VLSEG3E8_V:
5816 case RISCV::VLSEG4E16FF_V:
5817 case RISCV::VLSEG4E16_V:
5818 case RISCV::VLSEG4E32FF_V:
5819 case RISCV::VLSEG4E32_V:
5820 case RISCV::VLSEG4E64FF_V:
5821 case RISCV::VLSEG4E64_V:
5822 case RISCV::VLSEG4E8FF_V:
5823 case RISCV::VLSEG4E8_V:
5824 case RISCV::VLSEG5E16FF_V:
5825 case RISCV::VLSEG5E16_V:
5826 case RISCV::VLSEG5E32FF_V:
5827 case RISCV::VLSEG5E32_V:
5828 case RISCV::VLSEG5E64FF_V:
5829 case RISCV::VLSEG5E64_V:
5830 case RISCV::VLSEG5E8FF_V:
5831 case RISCV::VLSEG5E8_V:
5832 case RISCV::VLSEG6E16FF_V:
5833 case RISCV::VLSEG6E16_V:
5834 case RISCV::VLSEG6E32FF_V:
5835 case RISCV::VLSEG6E32_V:
5836 case RISCV::VLSEG6E64FF_V:
5837 case RISCV::VLSEG6E64_V:
5838 case RISCV::VLSEG6E8FF_V:
5839 case RISCV::VLSEG6E8_V:
5840 case RISCV::VLSEG7E16FF_V:
5841 case RISCV::VLSEG7E16_V:
5842 case RISCV::VLSEG7E32FF_V:
5843 case RISCV::VLSEG7E32_V:
5844 case RISCV::VLSEG7E64FF_V:
5845 case RISCV::VLSEG7E64_V:
5846 case RISCV::VLSEG7E8FF_V:
5847 case RISCV::VLSEG7E8_V:
5848 case RISCV::VLSEG8E16FF_V:
5849 case RISCV::VLSEG8E16_V:
5850 case RISCV::VLSEG8E32FF_V:
5851 case RISCV::VLSEG8E32_V:
5852 case RISCV::VLSEG8E64FF_V:
5853 case RISCV::VLSEG8E64_V:
5854 case RISCV::VLSEG8E8FF_V:
5855 case RISCV::VLSEG8E8_V: {
5856 // op: rs1
5857 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5858 Value |= (op & 0x1f) << 15;
5859 // op: vd
5860 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5861 Value |= (op & 0x1f) << 7;
5862 // op: vm
5863 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
5864 Value |= (op & 0x1) << 25;
5865 break;
5866 }
5867 case RISCV::VLSE16_V:
5868 case RISCV::VLSE32_V:
5869 case RISCV::VLSE64_V:
5870 case RISCV::VLSE8_V:
5871 case RISCV::VLSSEG2E16_V:
5872 case RISCV::VLSSEG2E32_V:
5873 case RISCV::VLSSEG2E64_V:
5874 case RISCV::VLSSEG2E8_V:
5875 case RISCV::VLSSEG3E16_V:
5876 case RISCV::VLSSEG3E32_V:
5877 case RISCV::VLSSEG3E64_V:
5878 case RISCV::VLSSEG3E8_V:
5879 case RISCV::VLSSEG4E16_V:
5880 case RISCV::VLSSEG4E32_V:
5881 case RISCV::VLSSEG4E64_V:
5882 case RISCV::VLSSEG4E8_V:
5883 case RISCV::VLSSEG5E16_V:
5884 case RISCV::VLSSEG5E32_V:
5885 case RISCV::VLSSEG5E64_V:
5886 case RISCV::VLSSEG5E8_V:
5887 case RISCV::VLSSEG6E16_V:
5888 case RISCV::VLSSEG6E32_V:
5889 case RISCV::VLSSEG6E64_V:
5890 case RISCV::VLSSEG6E8_V:
5891 case RISCV::VLSSEG7E16_V:
5892 case RISCV::VLSSEG7E32_V:
5893 case RISCV::VLSSEG7E64_V:
5894 case RISCV::VLSSEG7E8_V:
5895 case RISCV::VLSSEG8E16_V:
5896 case RISCV::VLSSEG8E32_V:
5897 case RISCV::VLSSEG8E64_V:
5898 case RISCV::VLSSEG8E8_V: {
5899 // op: rs1
5900 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5901 Value |= (op & 0x1f) << 15;
5902 // op: vd
5903 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5904 Value |= (op & 0x1f) << 7;
5905 // op: vm
5906 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
5907 Value |= (op & 0x1) << 25;
5908 // op: rs2
5909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5910 Value |= (op & 0x1f) << 20;
5911 break;
5912 }
5913 case RISCV::VLOXEI16_V:
5914 case RISCV::VLOXEI32_V:
5915 case RISCV::VLOXEI64_V:
5916 case RISCV::VLOXEI8_V:
5917 case RISCV::VLOXSEG2EI16_V:
5918 case RISCV::VLOXSEG2EI32_V:
5919 case RISCV::VLOXSEG2EI64_V:
5920 case RISCV::VLOXSEG2EI8_V:
5921 case RISCV::VLOXSEG3EI16_V:
5922 case RISCV::VLOXSEG3EI32_V:
5923 case RISCV::VLOXSEG3EI64_V:
5924 case RISCV::VLOXSEG3EI8_V:
5925 case RISCV::VLOXSEG4EI16_V:
5926 case RISCV::VLOXSEG4EI32_V:
5927 case RISCV::VLOXSEG4EI64_V:
5928 case RISCV::VLOXSEG4EI8_V:
5929 case RISCV::VLOXSEG5EI16_V:
5930 case RISCV::VLOXSEG5EI32_V:
5931 case RISCV::VLOXSEG5EI64_V:
5932 case RISCV::VLOXSEG5EI8_V:
5933 case RISCV::VLOXSEG6EI16_V:
5934 case RISCV::VLOXSEG6EI32_V:
5935 case RISCV::VLOXSEG6EI64_V:
5936 case RISCV::VLOXSEG6EI8_V:
5937 case RISCV::VLOXSEG7EI16_V:
5938 case RISCV::VLOXSEG7EI32_V:
5939 case RISCV::VLOXSEG7EI64_V:
5940 case RISCV::VLOXSEG7EI8_V:
5941 case RISCV::VLOXSEG8EI16_V:
5942 case RISCV::VLOXSEG8EI32_V:
5943 case RISCV::VLOXSEG8EI64_V:
5944 case RISCV::VLOXSEG8EI8_V:
5945 case RISCV::VLUXEI16_V:
5946 case RISCV::VLUXEI32_V:
5947 case RISCV::VLUXEI64_V:
5948 case RISCV::VLUXEI8_V:
5949 case RISCV::VLUXSEG2EI16_V:
5950 case RISCV::VLUXSEG2EI32_V:
5951 case RISCV::VLUXSEG2EI64_V:
5952 case RISCV::VLUXSEG2EI8_V:
5953 case RISCV::VLUXSEG3EI16_V:
5954 case RISCV::VLUXSEG3EI32_V:
5955 case RISCV::VLUXSEG3EI64_V:
5956 case RISCV::VLUXSEG3EI8_V:
5957 case RISCV::VLUXSEG4EI16_V:
5958 case RISCV::VLUXSEG4EI32_V:
5959 case RISCV::VLUXSEG4EI64_V:
5960 case RISCV::VLUXSEG4EI8_V:
5961 case RISCV::VLUXSEG5EI16_V:
5962 case RISCV::VLUXSEG5EI32_V:
5963 case RISCV::VLUXSEG5EI64_V:
5964 case RISCV::VLUXSEG5EI8_V:
5965 case RISCV::VLUXSEG6EI16_V:
5966 case RISCV::VLUXSEG6EI32_V:
5967 case RISCV::VLUXSEG6EI64_V:
5968 case RISCV::VLUXSEG6EI8_V:
5969 case RISCV::VLUXSEG7EI16_V:
5970 case RISCV::VLUXSEG7EI32_V:
5971 case RISCV::VLUXSEG7EI64_V:
5972 case RISCV::VLUXSEG7EI8_V:
5973 case RISCV::VLUXSEG8EI16_V:
5974 case RISCV::VLUXSEG8EI32_V:
5975 case RISCV::VLUXSEG8EI64_V:
5976 case RISCV::VLUXSEG8EI8_V: {
5977 // op: rs1
5978 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5979 Value |= (op & 0x1f) << 15;
5980 // op: vd
5981 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5982 Value |= (op & 0x1f) << 7;
5983 // op: vm
5984 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
5985 Value |= (op & 0x1) << 25;
5986 // op: vs2
5987 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5988 Value |= (op & 0x1f) << 20;
5989 break;
5990 }
5991 case RISCV::VS1R_V:
5992 case RISCV::VS2R_V:
5993 case RISCV::VS4R_V:
5994 case RISCV::VS8R_V:
5995 case RISCV::VSM_V: {
5996 // op: rs1
5997 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5998 Value |= (op & 0x1f) << 15;
5999 // op: vs3
6000 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6001 Value |= (op & 0x1f) << 7;
6002 break;
6003 }
6004 case RISCV::VSE16_V:
6005 case RISCV::VSE32_V:
6006 case RISCV::VSE64_V:
6007 case RISCV::VSE8_V:
6008 case RISCV::VSSEG2E16_V:
6009 case RISCV::VSSEG2E32_V:
6010 case RISCV::VSSEG2E64_V:
6011 case RISCV::VSSEG2E8_V:
6012 case RISCV::VSSEG3E16_V:
6013 case RISCV::VSSEG3E32_V:
6014 case RISCV::VSSEG3E64_V:
6015 case RISCV::VSSEG3E8_V:
6016 case RISCV::VSSEG4E16_V:
6017 case RISCV::VSSEG4E32_V:
6018 case RISCV::VSSEG4E64_V:
6019 case RISCV::VSSEG4E8_V:
6020 case RISCV::VSSEG5E16_V:
6021 case RISCV::VSSEG5E32_V:
6022 case RISCV::VSSEG5E64_V:
6023 case RISCV::VSSEG5E8_V:
6024 case RISCV::VSSEG6E16_V:
6025 case RISCV::VSSEG6E32_V:
6026 case RISCV::VSSEG6E64_V:
6027 case RISCV::VSSEG6E8_V:
6028 case RISCV::VSSEG7E16_V:
6029 case RISCV::VSSEG7E32_V:
6030 case RISCV::VSSEG7E64_V:
6031 case RISCV::VSSEG7E8_V:
6032 case RISCV::VSSEG8E16_V:
6033 case RISCV::VSSEG8E32_V:
6034 case RISCV::VSSEG8E64_V:
6035 case RISCV::VSSEG8E8_V: {
6036 // op: rs1
6037 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6038 Value |= (op & 0x1f) << 15;
6039 // op: vs3
6040 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6041 Value |= (op & 0x1f) << 7;
6042 // op: vm
6043 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
6044 Value |= (op & 0x1) << 25;
6045 break;
6046 }
6047 case RISCV::VSSE16_V:
6048 case RISCV::VSSE32_V:
6049 case RISCV::VSSE64_V:
6050 case RISCV::VSSE8_V:
6051 case RISCV::VSSSEG2E16_V:
6052 case RISCV::VSSSEG2E32_V:
6053 case RISCV::VSSSEG2E64_V:
6054 case RISCV::VSSSEG2E8_V:
6055 case RISCV::VSSSEG3E16_V:
6056 case RISCV::VSSSEG3E32_V:
6057 case RISCV::VSSSEG3E64_V:
6058 case RISCV::VSSSEG3E8_V:
6059 case RISCV::VSSSEG4E16_V:
6060 case RISCV::VSSSEG4E32_V:
6061 case RISCV::VSSSEG4E64_V:
6062 case RISCV::VSSSEG4E8_V:
6063 case RISCV::VSSSEG5E16_V:
6064 case RISCV::VSSSEG5E32_V:
6065 case RISCV::VSSSEG5E64_V:
6066 case RISCV::VSSSEG5E8_V:
6067 case RISCV::VSSSEG6E16_V:
6068 case RISCV::VSSSEG6E32_V:
6069 case RISCV::VSSSEG6E64_V:
6070 case RISCV::VSSSEG6E8_V:
6071 case RISCV::VSSSEG7E16_V:
6072 case RISCV::VSSSEG7E32_V:
6073 case RISCV::VSSSEG7E64_V:
6074 case RISCV::VSSSEG7E8_V:
6075 case RISCV::VSSSEG8E16_V:
6076 case RISCV::VSSSEG8E32_V:
6077 case RISCV::VSSSEG8E64_V:
6078 case RISCV::VSSSEG8E8_V: {
6079 // op: rs1
6080 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6081 Value |= (op & 0x1f) << 15;
6082 // op: vs3
6083 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6084 Value |= (op & 0x1f) << 7;
6085 // op: vm
6086 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
6087 Value |= (op & 0x1) << 25;
6088 // op: rs2
6089 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6090 Value |= (op & 0x1f) << 20;
6091 break;
6092 }
6093 case RISCV::VSOXEI16_V:
6094 case RISCV::VSOXEI32_V:
6095 case RISCV::VSOXEI64_V:
6096 case RISCV::VSOXEI8_V:
6097 case RISCV::VSOXSEG2EI16_V:
6098 case RISCV::VSOXSEG2EI32_V:
6099 case RISCV::VSOXSEG2EI64_V:
6100 case RISCV::VSOXSEG2EI8_V:
6101 case RISCV::VSOXSEG3EI16_V:
6102 case RISCV::VSOXSEG3EI32_V:
6103 case RISCV::VSOXSEG3EI64_V:
6104 case RISCV::VSOXSEG3EI8_V:
6105 case RISCV::VSOXSEG4EI16_V:
6106 case RISCV::VSOXSEG4EI32_V:
6107 case RISCV::VSOXSEG4EI64_V:
6108 case RISCV::VSOXSEG4EI8_V:
6109 case RISCV::VSOXSEG5EI16_V:
6110 case RISCV::VSOXSEG5EI32_V:
6111 case RISCV::VSOXSEG5EI64_V:
6112 case RISCV::VSOXSEG5EI8_V:
6113 case RISCV::VSOXSEG6EI16_V:
6114 case RISCV::VSOXSEG6EI32_V:
6115 case RISCV::VSOXSEG6EI64_V:
6116 case RISCV::VSOXSEG6EI8_V:
6117 case RISCV::VSOXSEG7EI16_V:
6118 case RISCV::VSOXSEG7EI32_V:
6119 case RISCV::VSOXSEG7EI64_V:
6120 case RISCV::VSOXSEG7EI8_V:
6121 case RISCV::VSOXSEG8EI16_V:
6122 case RISCV::VSOXSEG8EI32_V:
6123 case RISCV::VSOXSEG8EI64_V:
6124 case RISCV::VSOXSEG8EI8_V:
6125 case RISCV::VSUXEI16_V:
6126 case RISCV::VSUXEI32_V:
6127 case RISCV::VSUXEI64_V:
6128 case RISCV::VSUXEI8_V:
6129 case RISCV::VSUXSEG2EI16_V:
6130 case RISCV::VSUXSEG2EI32_V:
6131 case RISCV::VSUXSEG2EI64_V:
6132 case RISCV::VSUXSEG2EI8_V:
6133 case RISCV::VSUXSEG3EI16_V:
6134 case RISCV::VSUXSEG3EI32_V:
6135 case RISCV::VSUXSEG3EI64_V:
6136 case RISCV::VSUXSEG3EI8_V:
6137 case RISCV::VSUXSEG4EI16_V:
6138 case RISCV::VSUXSEG4EI32_V:
6139 case RISCV::VSUXSEG4EI64_V:
6140 case RISCV::VSUXSEG4EI8_V:
6141 case RISCV::VSUXSEG5EI16_V:
6142 case RISCV::VSUXSEG5EI32_V:
6143 case RISCV::VSUXSEG5EI64_V:
6144 case RISCV::VSUXSEG5EI8_V:
6145 case RISCV::VSUXSEG6EI16_V:
6146 case RISCV::VSUXSEG6EI32_V:
6147 case RISCV::VSUXSEG6EI64_V:
6148 case RISCV::VSUXSEG6EI8_V:
6149 case RISCV::VSUXSEG7EI16_V:
6150 case RISCV::VSUXSEG7EI32_V:
6151 case RISCV::VSUXSEG7EI64_V:
6152 case RISCV::VSUXSEG7EI8_V:
6153 case RISCV::VSUXSEG8EI16_V:
6154 case RISCV::VSUXSEG8EI32_V:
6155 case RISCV::VSUXSEG8EI64_V:
6156 case RISCV::VSUXSEG8EI8_V: {
6157 // op: rs1
6158 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6159 Value |= (op & 0x1f) << 15;
6160 // op: vs3
6161 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6162 Value |= (op & 0x1f) << 7;
6163 // op: vm
6164 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
6165 Value |= (op & 0x1) << 25;
6166 // op: vs2
6167 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6168 Value |= (op & 0x1f) << 20;
6169 break;
6170 }
6171 case RISCV::C_ADD: {
6172 // op: rs1
6173 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6174 Value |= (op & 0x1f) << 7;
6175 // op: rs2
6176 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6177 Value |= (op & 0x1f) << 2;
6178 break;
6179 }
6180 case RISCV::AIF_MASKPOPC:
6181 case RISCV::AIF_MASKPOPCZ: {
6182 // op: rs1
6183 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6184 Value |= (op & 0x7) << 15;
6185 // op: rd
6186 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6187 Value |= (op & 0x1f) << 7;
6188 break;
6189 }
6190 case RISCV::AIF_MASKNOT: {
6191 // op: rs1
6192 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6193 Value |= (op & 0x7) << 15;
6194 // op: rd
6195 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6196 Value |= (op & 0x7) << 7;
6197 break;
6198 }
6199 case RISCV::QC_C_BEXTI:
6200 case RISCV::QC_C_BSETI: {
6201 // op: rs1
6202 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6203 Value |= (op & 0x7) << 7;
6204 // op: shamt
6205 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6206 Value |= (op & 0x1f) << 2;
6207 break;
6208 }
6209 case RISCV::AIF_FBC_PS:
6210 case RISCV::AIF_FLQ2:
6211 case RISCV::AIF_FLW_PS: {
6212 // op: rs1
6213 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6214 Value |= (op & 0x1f) << 15;
6215 // op: rd
6216 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6217 Value |= (op & 0x1f) << 7;
6218 // op: imm12
6219 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
6220 Value |= (op & 0xfff) << 20;
6221 break;
6222 }
6223 case RISCV::CV_LBU_ri_inc:
6224 case RISCV::CV_LB_ri_inc:
6225 case RISCV::CV_LHU_ri_inc:
6226 case RISCV::CV_LH_ri_inc:
6227 case RISCV::CV_LW_ri_inc: {
6228 // op: rs1
6229 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6230 Value |= (op & 0x1f) << 15;
6231 // op: rd
6232 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6233 Value |= (op & 0x1f) << 7;
6234 // op: imm12
6235 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6236 Value |= (op & 0xfff) << 20;
6237 break;
6238 }
6239 case RISCV::CSRRC:
6240 case RISCV::CSRRS:
6241 case RISCV::CSRRW: {
6242 // op: rs1
6243 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6244 Value |= (op & 0x1f) << 15;
6245 // op: rd
6246 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6247 Value |= (op & 0x1f) << 7;
6248 // op: imm12
6249 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6250 Value |= (op & 0xfff) << 20;
6251 break;
6252 }
6253 case RISCV::TH_LBIA:
6254 case RISCV::TH_LBIB:
6255 case RISCV::TH_LBUIA:
6256 case RISCV::TH_LBUIB:
6257 case RISCV::TH_LDIA:
6258 case RISCV::TH_LDIB:
6259 case RISCV::TH_LHIA:
6260 case RISCV::TH_LHIB:
6261 case RISCV::TH_LHUIA:
6262 case RISCV::TH_LHUIB:
6263 case RISCV::TH_LWIA:
6264 case RISCV::TH_LWIB:
6265 case RISCV::TH_LWUIA:
6266 case RISCV::TH_LWUIB: {
6267 // op: rs1
6268 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6269 Value |= (op & 0x1f) << 15;
6270 // op: rd
6271 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6272 Value |= (op & 0x1f) << 7;
6273 // op: simm5
6274 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6275 Value |= (op & 0x1f) << 20;
6276 // op: uimm2
6277 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6278 Value |= (op & 0x3) << 25;
6279 break;
6280 }
6281 case RISCV::QC_INSBRI: {
6282 // op: rs1
6283 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6284 Value |= (op & 0x1f) << 15;
6285 // op: rd
6286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6287 Value |= (op & 0x1f) << 7;
6288 // op: imm11
6289 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6290 Value |= (op & 0x7ff) << 20;
6291 break;
6292 }
6293 case RISCV::QC_MULIADD: {
6294 // op: rs1
6295 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6296 Value |= (op & 0x1f) << 15;
6297 // op: rd
6298 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6299 Value |= (op & 0x1f) << 7;
6300 // op: imm12
6301 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6302 Value |= (op & 0xfff) << 20;
6303 break;
6304 }
6305 case RISCV::CV_INSERT_B:
6306 case RISCV::CV_INSERT_H:
6307 case RISCV::CV_SDOTSP_SCI_B:
6308 case RISCV::CV_SDOTSP_SCI_H:
6309 case RISCV::CV_SDOTUP_SCI_B:
6310 case RISCV::CV_SDOTUP_SCI_H:
6311 case RISCV::CV_SDOTUSP_SCI_B:
6312 case RISCV::CV_SDOTUSP_SCI_H: {
6313 // op: rs1
6314 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6315 Value |= (op & 0x1f) << 15;
6316 // op: rd
6317 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6318 Value |= (op & 0x1f) << 7;
6319 // op: imm6
6320 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6321 Value |= (op & 0x1) << 25;
6322 Value |= (op & 0x3e) << 19;
6323 break;
6324 }
6325 case RISCV::CV_INSERT: {
6326 // op: rs1
6327 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6328 Value |= (op & 0x1f) << 15;
6329 // op: rd
6330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6331 Value |= (op & 0x1f) << 7;
6332 // op: is3
6333 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6334 Value |= (op & 0x1f) << 25;
6335 // op: is2
6336 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6337 Value |= (op & 0x1f) << 20;
6338 break;
6339 }
6340 case RISCV::QC_INSB:
6341 case RISCV::QC_INSBH: {
6342 // op: rs1
6343 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6344 Value |= (op & 0x1f) << 15;
6345 // op: rd
6346 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6347 Value |= (op & 0x1f) << 7;
6348 // op: shamt
6349 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6350 Value |= (op & 0x1f) << 20;
6351 // op: width
6352 op = getImmOpValueMinus1(MI, OpNo: 3, Fixups, STI);
6353 Value |= (op & 0x1f) << 25;
6354 break;
6355 }
6356 case RISCV::QC_SELECTIIEQ:
6357 case RISCV::QC_SELECTIINE: {
6358 // op: rs1
6359 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6360 Value |= (op & 0x1f) << 15;
6361 // op: rd
6362 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6363 Value |= (op & 0x1f) << 7;
6364 // op: simm1
6365 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6366 Value |= (op & 0x1f) << 20;
6367 // op: simm2
6368 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6369 Value |= (op & 0x1f) << 27;
6370 break;
6371 }
6372 case RISCV::TH_SBIA:
6373 case RISCV::TH_SBIB:
6374 case RISCV::TH_SDIA:
6375 case RISCV::TH_SDIB:
6376 case RISCV::TH_SHIA:
6377 case RISCV::TH_SHIB:
6378 case RISCV::TH_SWIA:
6379 case RISCV::TH_SWIB: {
6380 // op: rs1
6381 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6382 Value |= (op & 0x1f) << 15;
6383 // op: rd
6384 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6385 Value |= (op & 0x1f) << 7;
6386 // op: simm5
6387 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6388 Value |= (op & 0x1f) << 20;
6389 // op: uimm2
6390 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6391 Value |= (op & 0x3) << 25;
6392 break;
6393 }
6394 case RISCV::QC_LIEQI:
6395 case RISCV::QC_LIGEI:
6396 case RISCV::QC_LIGEUI:
6397 case RISCV::QC_LILTI:
6398 case RISCV::QC_LILTUI:
6399 case RISCV::QC_LINEI: {
6400 // op: rs2
6401 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6402 Value |= (op & 0x1f) << 20;
6403 // op: rs1
6404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6405 Value |= (op & 0x1f) << 15;
6406 // op: rd
6407 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6408 Value |= (op & 0x1f) << 7;
6409 // op: simm
6410 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6411 Value |= (op & 0x1f) << 27;
6412 break;
6413 }
6414 case RISCV::SSPUSH: {
6415 // op: rs2
6416 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6417 Value |= (op & 0x1f) << 20;
6418 break;
6419 }
6420 case RISCV::AIF_SBG:
6421 case RISCV::AIF_SBL:
6422 case RISCV::AIF_SHG:
6423 case RISCV::AIF_SHL:
6424 case RISCV::HSV_B:
6425 case RISCV::HSV_D:
6426 case RISCV::HSV_H:
6427 case RISCV::HSV_W:
6428 case RISCV::SB_AQRL:
6429 case RISCV::SB_RL:
6430 case RISCV::SD_AQRL:
6431 case RISCV::SD_RL:
6432 case RISCV::SF_VLTE16:
6433 case RISCV::SF_VLTE32:
6434 case RISCV::SF_VLTE64:
6435 case RISCV::SF_VLTE8:
6436 case RISCV::SF_VSTE16:
6437 case RISCV::SF_VSTE32:
6438 case RISCV::SF_VSTE64:
6439 case RISCV::SF_VSTE8:
6440 case RISCV::SH_AQRL:
6441 case RISCV::SH_RL:
6442 case RISCV::SW_AQRL:
6443 case RISCV::SW_RL: {
6444 // op: rs2
6445 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6446 Value |= (op & 0x1f) << 20;
6447 // op: rs1
6448 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6449 Value |= (op & 0x1f) << 15;
6450 break;
6451 }
6452 case RISCV::QK_C_SB: {
6453 // op: rs2
6454 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6455 Value |= (op & 0x7) << 2;
6456 // op: rs1
6457 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6458 Value |= (op & 0x7) << 7;
6459 // op: imm
6460 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6461 Value |= (op & 0x1) << 12;
6462 Value |= (op & 0x18) << 7;
6463 Value |= (op & 0x6) << 4;
6464 break;
6465 }
6466 case RISCV::C_SB: {
6467 // op: rs2
6468 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6469 Value |= (op & 0x7) << 2;
6470 // op: rs1
6471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6472 Value |= (op & 0x7) << 7;
6473 // op: imm
6474 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6475 Value |= (op & 0x1) << 6;
6476 Value |= (op & 0x2) << 4;
6477 break;
6478 }
6479 case RISCV::C_SH:
6480 case RISCV::C_SH_INX: {
6481 // op: rs2
6482 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6483 Value |= (op & 0x7) << 2;
6484 // op: rs1
6485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6486 Value |= (op & 0x7) << 7;
6487 // op: imm
6488 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6489 Value |= (op & 0x2) << 4;
6490 break;
6491 }
6492 case RISCV::C_FSW:
6493 case RISCV::C_SW:
6494 case RISCV::C_SW_INX: {
6495 // op: rs2
6496 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6497 Value |= (op & 0x7) << 2;
6498 // op: rs1
6499 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6500 Value |= (op & 0x7) << 7;
6501 // op: imm
6502 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6503 Value |= (op & 0x38) << 7;
6504 Value |= (op & 0x4) << 4;
6505 Value |= (op & 0x40) >> 1;
6506 break;
6507 }
6508 case RISCV::QK_C_SH: {
6509 // op: rs2
6510 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6511 Value |= (op & 0x7) << 2;
6512 // op: rs1
6513 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6514 Value |= (op & 0x7) << 7;
6515 // op: imm
6516 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6517 Value |= (op & 0x38) << 7;
6518 Value |= (op & 0x6) << 4;
6519 break;
6520 }
6521 case RISCV::C_FSD:
6522 case RISCV::C_SD:
6523 case RISCV::C_SD_RV32: {
6524 // op: rs2
6525 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6526 Value |= (op & 0x7) << 2;
6527 // op: rs1
6528 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6529 Value |= (op & 0x7) << 7;
6530 // op: imm
6531 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6532 Value |= (op & 0x38) << 7;
6533 Value |= (op & 0xc0) >> 1;
6534 break;
6535 }
6536 case RISCV::NDS_FCVT_BF16_S:
6537 case RISCV::NDS_FCVT_S_BF16: {
6538 // op: rs2
6539 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6540 Value |= (op & 0x1f) << 20;
6541 // op: rd
6542 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6543 Value |= (op & 0x1f) << 7;
6544 break;
6545 }
6546 case RISCV::HFENCE_GVMA:
6547 case RISCV::HFENCE_VVMA:
6548 case RISCV::HINVAL_GVMA:
6549 case RISCV::HINVAL_VVMA:
6550 case RISCV::SFENCE_VMA:
6551 case RISCV::SF_VTMV_T_V:
6552 case RISCV::SINVAL_VMA:
6553 case RISCV::TH_SFENCE_VMAS: {
6554 // op: rs2
6555 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6556 Value |= (op & 0x1f) << 20;
6557 // op: rs1
6558 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6559 Value |= (op & 0x1f) << 15;
6560 break;
6561 }
6562 case RISCV::AIF_AMOADDG_D:
6563 case RISCV::AIF_AMOADDG_W:
6564 case RISCV::AIF_AMOADDL_D:
6565 case RISCV::AIF_AMOADDL_W:
6566 case RISCV::AIF_AMOANDG_D:
6567 case RISCV::AIF_AMOANDG_W:
6568 case RISCV::AIF_AMOANDL_D:
6569 case RISCV::AIF_AMOANDL_W:
6570 case RISCV::AIF_AMOCMPSWAPG_D:
6571 case RISCV::AIF_AMOCMPSWAPG_W:
6572 case RISCV::AIF_AMOCMPSWAPL_D:
6573 case RISCV::AIF_AMOCMPSWAPL_W:
6574 case RISCV::AIF_AMOMAXG_D:
6575 case RISCV::AIF_AMOMAXG_W:
6576 case RISCV::AIF_AMOMAXL_D:
6577 case RISCV::AIF_AMOMAXL_W:
6578 case RISCV::AIF_AMOMAXUG_D:
6579 case RISCV::AIF_AMOMAXUG_W:
6580 case RISCV::AIF_AMOMAXUL_D:
6581 case RISCV::AIF_AMOMAXUL_W:
6582 case RISCV::AIF_AMOMING_D:
6583 case RISCV::AIF_AMOMING_W:
6584 case RISCV::AIF_AMOMINL_D:
6585 case RISCV::AIF_AMOMINL_W:
6586 case RISCV::AIF_AMOMINUG_D:
6587 case RISCV::AIF_AMOMINUG_W:
6588 case RISCV::AIF_AMOMINUL_D:
6589 case RISCV::AIF_AMOMINUL_W:
6590 case RISCV::AIF_AMOORG_D:
6591 case RISCV::AIF_AMOORG_W:
6592 case RISCV::AIF_AMOORL_D:
6593 case RISCV::AIF_AMOORL_W:
6594 case RISCV::AIF_AMOSWAPG_D:
6595 case RISCV::AIF_AMOSWAPG_W:
6596 case RISCV::AIF_AMOSWAPL_D:
6597 case RISCV::AIF_AMOSWAPL_W:
6598 case RISCV::AIF_AMOXORG_D:
6599 case RISCV::AIF_AMOXORG_W:
6600 case RISCV::AIF_AMOXORL_D:
6601 case RISCV::AIF_AMOXORL_W:
6602 case RISCV::AMOADD_B:
6603 case RISCV::AMOADD_B_AQ:
6604 case RISCV::AMOADD_B_AQRL:
6605 case RISCV::AMOADD_B_RL:
6606 case RISCV::AMOADD_D:
6607 case RISCV::AMOADD_D_AQ:
6608 case RISCV::AMOADD_D_AQRL:
6609 case RISCV::AMOADD_D_RL:
6610 case RISCV::AMOADD_H:
6611 case RISCV::AMOADD_H_AQ:
6612 case RISCV::AMOADD_H_AQRL:
6613 case RISCV::AMOADD_H_RL:
6614 case RISCV::AMOADD_W:
6615 case RISCV::AMOADD_W_AQ:
6616 case RISCV::AMOADD_W_AQRL:
6617 case RISCV::AMOADD_W_RL:
6618 case RISCV::AMOAND_B:
6619 case RISCV::AMOAND_B_AQ:
6620 case RISCV::AMOAND_B_AQRL:
6621 case RISCV::AMOAND_B_RL:
6622 case RISCV::AMOAND_D:
6623 case RISCV::AMOAND_D_AQ:
6624 case RISCV::AMOAND_D_AQRL:
6625 case RISCV::AMOAND_D_RL:
6626 case RISCV::AMOAND_H:
6627 case RISCV::AMOAND_H_AQ:
6628 case RISCV::AMOAND_H_AQRL:
6629 case RISCV::AMOAND_H_RL:
6630 case RISCV::AMOAND_W:
6631 case RISCV::AMOAND_W_AQ:
6632 case RISCV::AMOAND_W_AQRL:
6633 case RISCV::AMOAND_W_RL:
6634 case RISCV::AMOMAXU_B:
6635 case RISCV::AMOMAXU_B_AQ:
6636 case RISCV::AMOMAXU_B_AQRL:
6637 case RISCV::AMOMAXU_B_RL:
6638 case RISCV::AMOMAXU_D:
6639 case RISCV::AMOMAXU_D_AQ:
6640 case RISCV::AMOMAXU_D_AQRL:
6641 case RISCV::AMOMAXU_D_RL:
6642 case RISCV::AMOMAXU_H:
6643 case RISCV::AMOMAXU_H_AQ:
6644 case RISCV::AMOMAXU_H_AQRL:
6645 case RISCV::AMOMAXU_H_RL:
6646 case RISCV::AMOMAXU_W:
6647 case RISCV::AMOMAXU_W_AQ:
6648 case RISCV::AMOMAXU_W_AQRL:
6649 case RISCV::AMOMAXU_W_RL:
6650 case RISCV::AMOMAX_B:
6651 case RISCV::AMOMAX_B_AQ:
6652 case RISCV::AMOMAX_B_AQRL:
6653 case RISCV::AMOMAX_B_RL:
6654 case RISCV::AMOMAX_D:
6655 case RISCV::AMOMAX_D_AQ:
6656 case RISCV::AMOMAX_D_AQRL:
6657 case RISCV::AMOMAX_D_RL:
6658 case RISCV::AMOMAX_H:
6659 case RISCV::AMOMAX_H_AQ:
6660 case RISCV::AMOMAX_H_AQRL:
6661 case RISCV::AMOMAX_H_RL:
6662 case RISCV::AMOMAX_W:
6663 case RISCV::AMOMAX_W_AQ:
6664 case RISCV::AMOMAX_W_AQRL:
6665 case RISCV::AMOMAX_W_RL:
6666 case RISCV::AMOMINU_B:
6667 case RISCV::AMOMINU_B_AQ:
6668 case RISCV::AMOMINU_B_AQRL:
6669 case RISCV::AMOMINU_B_RL:
6670 case RISCV::AMOMINU_D:
6671 case RISCV::AMOMINU_D_AQ:
6672 case RISCV::AMOMINU_D_AQRL:
6673 case RISCV::AMOMINU_D_RL:
6674 case RISCV::AMOMINU_H:
6675 case RISCV::AMOMINU_H_AQ:
6676 case RISCV::AMOMINU_H_AQRL:
6677 case RISCV::AMOMINU_H_RL:
6678 case RISCV::AMOMINU_W:
6679 case RISCV::AMOMINU_W_AQ:
6680 case RISCV::AMOMINU_W_AQRL:
6681 case RISCV::AMOMINU_W_RL:
6682 case RISCV::AMOMIN_B:
6683 case RISCV::AMOMIN_B_AQ:
6684 case RISCV::AMOMIN_B_AQRL:
6685 case RISCV::AMOMIN_B_RL:
6686 case RISCV::AMOMIN_D:
6687 case RISCV::AMOMIN_D_AQ:
6688 case RISCV::AMOMIN_D_AQRL:
6689 case RISCV::AMOMIN_D_RL:
6690 case RISCV::AMOMIN_H:
6691 case RISCV::AMOMIN_H_AQ:
6692 case RISCV::AMOMIN_H_AQRL:
6693 case RISCV::AMOMIN_H_RL:
6694 case RISCV::AMOMIN_W:
6695 case RISCV::AMOMIN_W_AQ:
6696 case RISCV::AMOMIN_W_AQRL:
6697 case RISCV::AMOMIN_W_RL:
6698 case RISCV::AMOOR_B:
6699 case RISCV::AMOOR_B_AQ:
6700 case RISCV::AMOOR_B_AQRL:
6701 case RISCV::AMOOR_B_RL:
6702 case RISCV::AMOOR_D:
6703 case RISCV::AMOOR_D_AQ:
6704 case RISCV::AMOOR_D_AQRL:
6705 case RISCV::AMOOR_D_RL:
6706 case RISCV::AMOOR_H:
6707 case RISCV::AMOOR_H_AQ:
6708 case RISCV::AMOOR_H_AQRL:
6709 case RISCV::AMOOR_H_RL:
6710 case RISCV::AMOOR_W:
6711 case RISCV::AMOOR_W_AQ:
6712 case RISCV::AMOOR_W_AQRL:
6713 case RISCV::AMOOR_W_RL:
6714 case RISCV::AMOSWAP_B:
6715 case RISCV::AMOSWAP_B_AQ:
6716 case RISCV::AMOSWAP_B_AQRL:
6717 case RISCV::AMOSWAP_B_RL:
6718 case RISCV::AMOSWAP_D:
6719 case RISCV::AMOSWAP_D_AQ:
6720 case RISCV::AMOSWAP_D_AQRL:
6721 case RISCV::AMOSWAP_D_RL:
6722 case RISCV::AMOSWAP_H:
6723 case RISCV::AMOSWAP_H_AQ:
6724 case RISCV::AMOSWAP_H_AQRL:
6725 case RISCV::AMOSWAP_H_RL:
6726 case RISCV::AMOSWAP_W:
6727 case RISCV::AMOSWAP_W_AQ:
6728 case RISCV::AMOSWAP_W_AQRL:
6729 case RISCV::AMOSWAP_W_RL:
6730 case RISCV::AMOXOR_B:
6731 case RISCV::AMOXOR_B_AQ:
6732 case RISCV::AMOXOR_B_AQRL:
6733 case RISCV::AMOXOR_B_RL:
6734 case RISCV::AMOXOR_D:
6735 case RISCV::AMOXOR_D_AQ:
6736 case RISCV::AMOXOR_D_AQRL:
6737 case RISCV::AMOXOR_D_RL:
6738 case RISCV::AMOXOR_H:
6739 case RISCV::AMOXOR_H_AQ:
6740 case RISCV::AMOXOR_H_AQRL:
6741 case RISCV::AMOXOR_H_RL:
6742 case RISCV::AMOXOR_W:
6743 case RISCV::AMOXOR_W_AQ:
6744 case RISCV::AMOXOR_W_AQRL:
6745 case RISCV::AMOXOR_W_RL:
6746 case RISCV::NDS_LEA_B_ZE:
6747 case RISCV::NDS_LEA_D:
6748 case RISCV::NDS_LEA_D_ZE:
6749 case RISCV::NDS_LEA_H:
6750 case RISCV::NDS_LEA_H_ZE:
6751 case RISCV::NDS_LEA_W:
6752 case RISCV::NDS_LEA_W_ZE:
6753 case RISCV::SC_D:
6754 case RISCV::SC_D_AQ:
6755 case RISCV::SC_D_AQRL:
6756 case RISCV::SC_D_RL:
6757 case RISCV::SC_W:
6758 case RISCV::SC_W_AQ:
6759 case RISCV::SC_W_AQRL:
6760 case RISCV::SC_W_RL:
6761 case RISCV::SSAMOSWAP_D:
6762 case RISCV::SSAMOSWAP_D_AQ:
6763 case RISCV::SSAMOSWAP_D_AQRL:
6764 case RISCV::SSAMOSWAP_D_RL:
6765 case RISCV::SSAMOSWAP_W:
6766 case RISCV::SSAMOSWAP_W_AQ:
6767 case RISCV::SSAMOSWAP_W_AQRL:
6768 case RISCV::SSAMOSWAP_W_RL: {
6769 // op: rs2
6770 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6771 Value |= (op & 0x1f) << 20;
6772 // op: rs1
6773 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6774 Value |= (op & 0x1f) << 15;
6775 // op: rd
6776 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6777 Value |= (op & 0x1f) << 7;
6778 break;
6779 }
6780 case RISCV::TH_LDD:
6781 case RISCV::TH_LWD:
6782 case RISCV::TH_LWUD:
6783 case RISCV::TH_SDD:
6784 case RISCV::TH_SWD: {
6785 // op: rs2
6786 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6787 Value |= (op & 0x1f) << 20;
6788 // op: rs1
6789 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6790 Value |= (op & 0x1f) << 15;
6791 // op: rd
6792 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6793 Value |= (op & 0x1f) << 7;
6794 // op: uimm2
6795 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6796 Value |= (op & 0x3) << 25;
6797 break;
6798 }
6799 case RISCV::CM_MVA01S:
6800 case RISCV::CM_MVSA01:
6801 case RISCV::QC_CM_MVA01S:
6802 case RISCV::QC_CM_MVSA01: {
6803 // op: rs2
6804 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6805 Value |= (op & 0x7) << 2;
6806 // op: rs1
6807 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6808 Value |= (op & 0x7) << 7;
6809 break;
6810 }
6811 case RISCV::QC_CSRRWRI: {
6812 // op: rs2
6813 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6814 Value |= (op & 0x1f) << 20;
6815 // op: rs1
6816 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
6817 Value |= (op & 0x1f) << 15;
6818 // op: rd
6819 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6820 Value |= (op & 0x1f) << 7;
6821 break;
6822 }
6823 case RISCV::FADD_D:
6824 case RISCV::FADD_D_IN32X:
6825 case RISCV::FADD_D_INX:
6826 case RISCV::FADD_H:
6827 case RISCV::FADD_H_INX:
6828 case RISCV::FADD_Q:
6829 case RISCV::FADD_S:
6830 case RISCV::FADD_S_INX:
6831 case RISCV::FDIV_D:
6832 case RISCV::FDIV_D_IN32X:
6833 case RISCV::FDIV_D_INX:
6834 case RISCV::FDIV_H:
6835 case RISCV::FDIV_H_INX:
6836 case RISCV::FDIV_Q:
6837 case RISCV::FDIV_S:
6838 case RISCV::FDIV_S_INX:
6839 case RISCV::FMUL_D:
6840 case RISCV::FMUL_D_IN32X:
6841 case RISCV::FMUL_D_INX:
6842 case RISCV::FMUL_H:
6843 case RISCV::FMUL_H_INX:
6844 case RISCV::FMUL_Q:
6845 case RISCV::FMUL_S:
6846 case RISCV::FMUL_S_INX:
6847 case RISCV::FSUB_D:
6848 case RISCV::FSUB_D_IN32X:
6849 case RISCV::FSUB_D_INX:
6850 case RISCV::FSUB_H:
6851 case RISCV::FSUB_H_INX:
6852 case RISCV::FSUB_Q:
6853 case RISCV::FSUB_S:
6854 case RISCV::FSUB_S_INX: {
6855 // op: rs2
6856 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6857 Value |= (op & 0x1f) << 20;
6858 // op: rs1
6859 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6860 Value |= (op & 0x1f) << 15;
6861 // op: frm
6862 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6863 Value |= (op & 0x7) << 12;
6864 // op: rd
6865 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6866 Value |= (op & 0x1f) << 7;
6867 break;
6868 }
6869 case RISCV::PM2WADDSU_H:
6870 case RISCV::PM2WADDU_H:
6871 case RISCV::PM2WADD_H:
6872 case RISCV::PM2WADD_HX:
6873 case RISCV::PM2WSUB_H:
6874 case RISCV::PM2WSUB_HX:
6875 case RISCV::PWADDU_B:
6876 case RISCV::PWADDU_H:
6877 case RISCV::PWADD_B:
6878 case RISCV::PWADD_H:
6879 case RISCV::PWMULSU_B:
6880 case RISCV::PWMULSU_H:
6881 case RISCV::PWMULU_B:
6882 case RISCV::PWMULU_H:
6883 case RISCV::PWMUL_B:
6884 case RISCV::PWMUL_H:
6885 case RISCV::PWSLA_BS:
6886 case RISCV::PWSLA_HS:
6887 case RISCV::PWSLL_BS:
6888 case RISCV::PWSLL_HS:
6889 case RISCV::PWSUBU_B:
6890 case RISCV::PWSUBU_H:
6891 case RISCV::PWSUB_B:
6892 case RISCV::PWSUB_H:
6893 case RISCV::WADD:
6894 case RISCV::WADDU:
6895 case RISCV::WMUL:
6896 case RISCV::WMULSU:
6897 case RISCV::WMULU:
6898 case RISCV::WSLA:
6899 case RISCV::WSLL:
6900 case RISCV::WSUB:
6901 case RISCV::WSUBU:
6902 case RISCV::WZIP16P:
6903 case RISCV::WZIP8P: {
6904 // op: rs2
6905 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6906 Value |= (op & 0x1f) << 20;
6907 // op: rs1
6908 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6909 Value |= (op & 0x1f) << 15;
6910 // op: rd
6911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6912 Value |= (op & 0x1e) << 7;
6913 break;
6914 }
6915 case RISCV::AADD:
6916 case RISCV::AADDU:
6917 case RISCV::ADD:
6918 case RISCV::ADDW:
6919 case RISCV::ADD_UW:
6920 case RISCV::AES64DS:
6921 case RISCV::AES64DSM:
6922 case RISCV::AES64ES:
6923 case RISCV::AES64ESM:
6924 case RISCV::AES64KS2:
6925 case RISCV::AIF_BITMIXB:
6926 case RISCV::AIF_CUBEFACEIDX_PS:
6927 case RISCV::AIF_CUBEFACE_PS:
6928 case RISCV::AIF_CUBESGNSC_PS:
6929 case RISCV::AIF_CUBESGNTC_PS:
6930 case RISCV::AIF_FADD_PI:
6931 case RISCV::AIF_FAMOADDG_PI:
6932 case RISCV::AIF_FAMOADDL_PI:
6933 case RISCV::AIF_FAMOANDG_PI:
6934 case RISCV::AIF_FAMOANDL_PI:
6935 case RISCV::AIF_FAMOMAXG_PI:
6936 case RISCV::AIF_FAMOMAXG_PS:
6937 case RISCV::AIF_FAMOMAXL_PI:
6938 case RISCV::AIF_FAMOMAXL_PS:
6939 case RISCV::AIF_FAMOMAXUG_PI:
6940 case RISCV::AIF_FAMOMAXUL_PI:
6941 case RISCV::AIF_FAMOMING_PI:
6942 case RISCV::AIF_FAMOMING_PS:
6943 case RISCV::AIF_FAMOMINL_PI:
6944 case RISCV::AIF_FAMOMINL_PS:
6945 case RISCV::AIF_FAMOMINUG_PI:
6946 case RISCV::AIF_FAMOMINUL_PI:
6947 case RISCV::AIF_FAMOORG_PI:
6948 case RISCV::AIF_FAMOORL_PI:
6949 case RISCV::AIF_FAMOSWAPG_PI:
6950 case RISCV::AIF_FAMOSWAPL_PI:
6951 case RISCV::AIF_FAMOXORG_PI:
6952 case RISCV::AIF_FAMOXORL_PI:
6953 case RISCV::AIF_FAND_PI:
6954 case RISCV::AIF_FCMOVM_PS:
6955 case RISCV::AIF_FDIVU_PI:
6956 case RISCV::AIF_FDIV_PI:
6957 case RISCV::AIF_FEQM_PS:
6958 case RISCV::AIF_FEQ_PI:
6959 case RISCV::AIF_FEQ_PS:
6960 case RISCV::AIF_FG32B_PS:
6961 case RISCV::AIF_FG32H_PS:
6962 case RISCV::AIF_FG32W_PS:
6963 case RISCV::AIF_FGBG_PS:
6964 case RISCV::AIF_FGBL_PS:
6965 case RISCV::AIF_FGB_PS:
6966 case RISCV::AIF_FGHG_PS:
6967 case RISCV::AIF_FGHL_PS:
6968 case RISCV::AIF_FGH_PS:
6969 case RISCV::AIF_FGWG_PS:
6970 case RISCV::AIF_FGWL_PS:
6971 case RISCV::AIF_FGW_PS:
6972 case RISCV::AIF_FLEM_PS:
6973 case RISCV::AIF_FLE_PI:
6974 case RISCV::AIF_FLE_PS:
6975 case RISCV::AIF_FLTM_PI:
6976 case RISCV::AIF_FLTM_PS:
6977 case RISCV::AIF_FLTU_PI:
6978 case RISCV::AIF_FLT_PI:
6979 case RISCV::AIF_FLT_PS:
6980 case RISCV::AIF_FMAXU_PI:
6981 case RISCV::AIF_FMAX_PI:
6982 case RISCV::AIF_FMAX_PS:
6983 case RISCV::AIF_FMINU_PI:
6984 case RISCV::AIF_FMIN_PI:
6985 case RISCV::AIF_FMIN_PS:
6986 case RISCV::AIF_FMULHU_PI:
6987 case RISCV::AIF_FMULH_PI:
6988 case RISCV::AIF_FMUL_PI:
6989 case RISCV::AIF_FOR_PI:
6990 case RISCV::AIF_FRCP_FIX_RAST:
6991 case RISCV::AIF_FREMU_PI:
6992 case RISCV::AIF_FREM_PI:
6993 case RISCV::AIF_FSGNJN_PS:
6994 case RISCV::AIF_FSGNJX_PS:
6995 case RISCV::AIF_FSGNJ_PS:
6996 case RISCV::AIF_FSLL_PI:
6997 case RISCV::AIF_FSRA_PI:
6998 case RISCV::AIF_FSRL_PI:
6999 case RISCV::AIF_FSUB_PI:
7000 case RISCV::AIF_FXOR_PI:
7001 case RISCV::AIF_PACKB:
7002 case RISCV::AND:
7003 case RISCV::ANDN:
7004 case RISCV::ASUB:
7005 case RISCV::ASUBU:
7006 case RISCV::BCLR:
7007 case RISCV::BEXT:
7008 case RISCV::BINV:
7009 case RISCV::BSET:
7010 case RISCV::CLMUL:
7011 case RISCV::CLMULH:
7012 case RISCV::CLMULR:
7013 case RISCV::CV_ADD_B:
7014 case RISCV::CV_ADD_DIV2:
7015 case RISCV::CV_ADD_DIV4:
7016 case RISCV::CV_ADD_DIV8:
7017 case RISCV::CV_ADD_H:
7018 case RISCV::CV_ADD_SC_B:
7019 case RISCV::CV_ADD_SC_H:
7020 case RISCV::CV_AND_B:
7021 case RISCV::CV_AND_H:
7022 case RISCV::CV_AND_SC_B:
7023 case RISCV::CV_AND_SC_H:
7024 case RISCV::CV_AVGU_B:
7025 case RISCV::CV_AVGU_H:
7026 case RISCV::CV_AVGU_SC_B:
7027 case RISCV::CV_AVGU_SC_H:
7028 case RISCV::CV_AVG_B:
7029 case RISCV::CV_AVG_H:
7030 case RISCV::CV_AVG_SC_B:
7031 case RISCV::CV_AVG_SC_H:
7032 case RISCV::CV_BCLRR:
7033 case RISCV::CV_BSETR:
7034 case RISCV::CV_CLIPR:
7035 case RISCV::CV_CLIPUR:
7036 case RISCV::CV_CMPEQ_B:
7037 case RISCV::CV_CMPEQ_H:
7038 case RISCV::CV_CMPEQ_SC_B:
7039 case RISCV::CV_CMPEQ_SC_H:
7040 case RISCV::CV_CMPGEU_B:
7041 case RISCV::CV_CMPGEU_H:
7042 case RISCV::CV_CMPGEU_SC_B:
7043 case RISCV::CV_CMPGEU_SC_H:
7044 case RISCV::CV_CMPGE_B:
7045 case RISCV::CV_CMPGE_H:
7046 case RISCV::CV_CMPGE_SC_B:
7047 case RISCV::CV_CMPGE_SC_H:
7048 case RISCV::CV_CMPGTU_B:
7049 case RISCV::CV_CMPGTU_H:
7050 case RISCV::CV_CMPGTU_SC_B:
7051 case RISCV::CV_CMPGTU_SC_H:
7052 case RISCV::CV_CMPGT_B:
7053 case RISCV::CV_CMPGT_H:
7054 case RISCV::CV_CMPGT_SC_B:
7055 case RISCV::CV_CMPGT_SC_H:
7056 case RISCV::CV_CMPLEU_B:
7057 case RISCV::CV_CMPLEU_H:
7058 case RISCV::CV_CMPLEU_SC_B:
7059 case RISCV::CV_CMPLEU_SC_H:
7060 case RISCV::CV_CMPLE_B:
7061 case RISCV::CV_CMPLE_H:
7062 case RISCV::CV_CMPLE_SC_B:
7063 case RISCV::CV_CMPLE_SC_H:
7064 case RISCV::CV_CMPLTU_B:
7065 case RISCV::CV_CMPLTU_H:
7066 case RISCV::CV_CMPLTU_SC_B:
7067 case RISCV::CV_CMPLTU_SC_H:
7068 case RISCV::CV_CMPLT_B:
7069 case RISCV::CV_CMPLT_H:
7070 case RISCV::CV_CMPLT_SC_B:
7071 case RISCV::CV_CMPLT_SC_H:
7072 case RISCV::CV_CMPNE_B:
7073 case RISCV::CV_CMPNE_H:
7074 case RISCV::CV_CMPNE_SC_B:
7075 case RISCV::CV_CMPNE_SC_H:
7076 case RISCV::CV_DOTSP_B:
7077 case RISCV::CV_DOTSP_H:
7078 case RISCV::CV_DOTSP_SC_B:
7079 case RISCV::CV_DOTSP_SC_H:
7080 case RISCV::CV_DOTUP_B:
7081 case RISCV::CV_DOTUP_H:
7082 case RISCV::CV_DOTUP_SC_B:
7083 case RISCV::CV_DOTUP_SC_H:
7084 case RISCV::CV_DOTUSP_B:
7085 case RISCV::CV_DOTUSP_H:
7086 case RISCV::CV_DOTUSP_SC_B:
7087 case RISCV::CV_DOTUSP_SC_H:
7088 case RISCV::CV_EXTRACTR:
7089 case RISCV::CV_EXTRACTUR:
7090 case RISCV::CV_LBU_rr:
7091 case RISCV::CV_LB_rr:
7092 case RISCV::CV_LHU_rr:
7093 case RISCV::CV_LH_rr:
7094 case RISCV::CV_LW_rr:
7095 case RISCV::CV_MAX:
7096 case RISCV::CV_MAXU:
7097 case RISCV::CV_MAXU_B:
7098 case RISCV::CV_MAXU_H:
7099 case RISCV::CV_MAXU_SC_B:
7100 case RISCV::CV_MAXU_SC_H:
7101 case RISCV::CV_MAX_B:
7102 case RISCV::CV_MAX_H:
7103 case RISCV::CV_MAX_SC_B:
7104 case RISCV::CV_MAX_SC_H:
7105 case RISCV::CV_MIN:
7106 case RISCV::CV_MINU:
7107 case RISCV::CV_MINU_B:
7108 case RISCV::CV_MINU_H:
7109 case RISCV::CV_MINU_SC_B:
7110 case RISCV::CV_MINU_SC_H:
7111 case RISCV::CV_MIN_B:
7112 case RISCV::CV_MIN_H:
7113 case RISCV::CV_MIN_SC_B:
7114 case RISCV::CV_MIN_SC_H:
7115 case RISCV::CV_OR_B:
7116 case RISCV::CV_OR_H:
7117 case RISCV::CV_OR_SC_B:
7118 case RISCV::CV_OR_SC_H:
7119 case RISCV::CV_PACK:
7120 case RISCV::CV_PACK_H:
7121 case RISCV::CV_ROR:
7122 case RISCV::CV_SHUFFLE_B:
7123 case RISCV::CV_SHUFFLE_H:
7124 case RISCV::CV_SLE:
7125 case RISCV::CV_SLEU:
7126 case RISCV::CV_SLL_B:
7127 case RISCV::CV_SLL_H:
7128 case RISCV::CV_SLL_SC_B:
7129 case RISCV::CV_SLL_SC_H:
7130 case RISCV::CV_SRA_B:
7131 case RISCV::CV_SRA_H:
7132 case RISCV::CV_SRA_SC_B:
7133 case RISCV::CV_SRA_SC_H:
7134 case RISCV::CV_SRL_B:
7135 case RISCV::CV_SRL_H:
7136 case RISCV::CV_SRL_SC_B:
7137 case RISCV::CV_SRL_SC_H:
7138 case RISCV::CV_SUBROTMJ:
7139 case RISCV::CV_SUBROTMJ_DIV2:
7140 case RISCV::CV_SUBROTMJ_DIV4:
7141 case RISCV::CV_SUBROTMJ_DIV8:
7142 case RISCV::CV_SUB_B:
7143 case RISCV::CV_SUB_DIV2:
7144 case RISCV::CV_SUB_DIV4:
7145 case RISCV::CV_SUB_DIV8:
7146 case RISCV::CV_SUB_H:
7147 case RISCV::CV_SUB_SC_B:
7148 case RISCV::CV_SUB_SC_H:
7149 case RISCV::CV_XOR_B:
7150 case RISCV::CV_XOR_H:
7151 case RISCV::CV_XOR_SC_B:
7152 case RISCV::CV_XOR_SC_H:
7153 case RISCV::CZERO_EQZ:
7154 case RISCV::CZERO_NEZ:
7155 case RISCV::DIV:
7156 case RISCV::DIVU:
7157 case RISCV::DIVUW:
7158 case RISCV::DIVW:
7159 case RISCV::FEQ_D:
7160 case RISCV::FEQ_D_IN32X:
7161 case RISCV::FEQ_D_INX:
7162 case RISCV::FEQ_H:
7163 case RISCV::FEQ_H_INX:
7164 case RISCV::FEQ_Q:
7165 case RISCV::FEQ_S:
7166 case RISCV::FEQ_S_INX:
7167 case RISCV::FLEQ_D:
7168 case RISCV::FLEQ_H:
7169 case RISCV::FLEQ_Q:
7170 case RISCV::FLEQ_S:
7171 case RISCV::FLE_D:
7172 case RISCV::FLE_D_IN32X:
7173 case RISCV::FLE_D_INX:
7174 case RISCV::FLE_H:
7175 case RISCV::FLE_H_INX:
7176 case RISCV::FLE_Q:
7177 case RISCV::FLE_S:
7178 case RISCV::FLE_S_INX:
7179 case RISCV::FLTQ_D:
7180 case RISCV::FLTQ_H:
7181 case RISCV::FLTQ_Q:
7182 case RISCV::FLTQ_S:
7183 case RISCV::FLT_D:
7184 case RISCV::FLT_D_IN32X:
7185 case RISCV::FLT_D_INX:
7186 case RISCV::FLT_H:
7187 case RISCV::FLT_H_INX:
7188 case RISCV::FLT_Q:
7189 case RISCV::FLT_S:
7190 case RISCV::FLT_S_INX:
7191 case RISCV::FMAXM_D:
7192 case RISCV::FMAXM_H:
7193 case RISCV::FMAXM_Q:
7194 case RISCV::FMAXM_S:
7195 case RISCV::FMAX_D:
7196 case RISCV::FMAX_D_IN32X:
7197 case RISCV::FMAX_D_INX:
7198 case RISCV::FMAX_H:
7199 case RISCV::FMAX_H_INX:
7200 case RISCV::FMAX_Q:
7201 case RISCV::FMAX_S:
7202 case RISCV::FMAX_S_INX:
7203 case RISCV::FMINM_D:
7204 case RISCV::FMINM_H:
7205 case RISCV::FMINM_Q:
7206 case RISCV::FMINM_S:
7207 case RISCV::FMIN_D:
7208 case RISCV::FMIN_D_IN32X:
7209 case RISCV::FMIN_D_INX:
7210 case RISCV::FMIN_H:
7211 case RISCV::FMIN_H_INX:
7212 case RISCV::FMIN_Q:
7213 case RISCV::FMIN_S:
7214 case RISCV::FMIN_S_INX:
7215 case RISCV::FMVP_D_X:
7216 case RISCV::FMVP_Q_X:
7217 case RISCV::FSGNJN_D:
7218 case RISCV::FSGNJN_D_IN32X:
7219 case RISCV::FSGNJN_D_INX:
7220 case RISCV::FSGNJN_H:
7221 case RISCV::FSGNJN_H_INX:
7222 case RISCV::FSGNJN_Q:
7223 case RISCV::FSGNJN_S:
7224 case RISCV::FSGNJN_S_INX:
7225 case RISCV::FSGNJX_D:
7226 case RISCV::FSGNJX_D_IN32X:
7227 case RISCV::FSGNJX_D_INX:
7228 case RISCV::FSGNJX_H:
7229 case RISCV::FSGNJX_H_INX:
7230 case RISCV::FSGNJX_Q:
7231 case RISCV::FSGNJX_S:
7232 case RISCV::FSGNJX_S_INX:
7233 case RISCV::FSGNJ_D:
7234 case RISCV::FSGNJ_D_IN32X:
7235 case RISCV::FSGNJ_D_INX:
7236 case RISCV::FSGNJ_H:
7237 case RISCV::FSGNJ_H_INX:
7238 case RISCV::FSGNJ_Q:
7239 case RISCV::FSGNJ_S:
7240 case RISCV::FSGNJ_S_INX:
7241 case RISCV::MAX:
7242 case RISCV::MAXU:
7243 case RISCV::MIN:
7244 case RISCV::MINU:
7245 case RISCV::MOP_RR_0:
7246 case RISCV::MOP_RR_1:
7247 case RISCV::MOP_RR_2:
7248 case RISCV::MOP_RR_3:
7249 case RISCV::MOP_RR_4:
7250 case RISCV::MOP_RR_5:
7251 case RISCV::MOP_RR_6:
7252 case RISCV::MOP_RR_7:
7253 case RISCV::MSEQ:
7254 case RISCV::MSLT:
7255 case RISCV::MSLTU:
7256 case RISCV::MUL:
7257 case RISCV::MULH:
7258 case RISCV::MULHR:
7259 case RISCV::MULHRSU:
7260 case RISCV::MULHRU:
7261 case RISCV::MULHSU:
7262 case RISCV::MULHSU_H0:
7263 case RISCV::MULHSU_H1:
7264 case RISCV::MULHU:
7265 case RISCV::MULH_H0:
7266 case RISCV::MULH_H1:
7267 case RISCV::MULQ:
7268 case RISCV::MULQR:
7269 case RISCV::MULSU_H00:
7270 case RISCV::MULSU_H11:
7271 case RISCV::MULSU_W00:
7272 case RISCV::MULSU_W11:
7273 case RISCV::MULU_H00:
7274 case RISCV::MULU_H01:
7275 case RISCV::MULU_H11:
7276 case RISCV::MULU_W00:
7277 case RISCV::MULU_W01:
7278 case RISCV::MULU_W11:
7279 case RISCV::MULW:
7280 case RISCV::MUL_H00:
7281 case RISCV::MUL_H01:
7282 case RISCV::MUL_H11:
7283 case RISCV::MUL_W00:
7284 case RISCV::MUL_W01:
7285 case RISCV::MUL_W11:
7286 case RISCV::NDS_FFB:
7287 case RISCV::NDS_FFMISM:
7288 case RISCV::NDS_FFZMISM:
7289 case RISCV::NDS_FLMISM:
7290 case RISCV::OR:
7291 case RISCV::ORN:
7292 case RISCV::PAADDU_B:
7293 case RISCV::PAADDU_H:
7294 case RISCV::PAADDU_W:
7295 case RISCV::PAADD_B:
7296 case RISCV::PAADD_H:
7297 case RISCV::PAADD_W:
7298 case RISCV::PAAS_HX:
7299 case RISCV::PAAS_WX:
7300 case RISCV::PABDSUMU_B:
7301 case RISCV::PABDU_B:
7302 case RISCV::PABDU_H:
7303 case RISCV::PABD_B:
7304 case RISCV::PABD_H:
7305 case RISCV::PACK:
7306 case RISCV::PACKH:
7307 case RISCV::PACKW:
7308 case RISCV::PADD_B:
7309 case RISCV::PADD_BS:
7310 case RISCV::PADD_H:
7311 case RISCV::PADD_HS:
7312 case RISCV::PADD_W:
7313 case RISCV::PADD_WS:
7314 case RISCV::PASA_HX:
7315 case RISCV::PASA_WX:
7316 case RISCV::PASUBU_B:
7317 case RISCV::PASUBU_H:
7318 case RISCV::PASUBU_W:
7319 case RISCV::PASUB_B:
7320 case RISCV::PASUB_H:
7321 case RISCV::PASUB_W:
7322 case RISCV::PAS_HX:
7323 case RISCV::PAS_WX:
7324 case RISCV::PM2ADDSU_H:
7325 case RISCV::PM2ADDSU_W:
7326 case RISCV::PM2ADDU_H:
7327 case RISCV::PM2ADDU_W:
7328 case RISCV::PM2ADD_H:
7329 case RISCV::PM2ADD_HX:
7330 case RISCV::PM2ADD_W:
7331 case RISCV::PM2ADD_WX:
7332 case RISCV::PM2SADD_H:
7333 case RISCV::PM2SADD_HX:
7334 case RISCV::PM2SUB_H:
7335 case RISCV::PM2SUB_HX:
7336 case RISCV::PM2SUB_W:
7337 case RISCV::PM2SUB_WX:
7338 case RISCV::PM4ADDSU_B:
7339 case RISCV::PM4ADDSU_H:
7340 case RISCV::PM4ADDU_B:
7341 case RISCV::PM4ADDU_H:
7342 case RISCV::PM4ADD_B:
7343 case RISCV::PM4ADD_H:
7344 case RISCV::PMAXU_B:
7345 case RISCV::PMAXU_H:
7346 case RISCV::PMAXU_W:
7347 case RISCV::PMAX_B:
7348 case RISCV::PMAX_H:
7349 case RISCV::PMAX_W:
7350 case RISCV::PMINU_B:
7351 case RISCV::PMINU_H:
7352 case RISCV::PMINU_W:
7353 case RISCV::PMIN_B:
7354 case RISCV::PMIN_H:
7355 case RISCV::PMIN_W:
7356 case RISCV::PMQ2ADD_H:
7357 case RISCV::PMQ2ADD_W:
7358 case RISCV::PMQR2ADD_H:
7359 case RISCV::PMQR2ADD_W:
7360 case RISCV::PMSEQ_B:
7361 case RISCV::PMSEQ_H:
7362 case RISCV::PMSEQ_W:
7363 case RISCV::PMSLTU_B:
7364 case RISCV::PMSLTU_H:
7365 case RISCV::PMSLTU_W:
7366 case RISCV::PMSLT_B:
7367 case RISCV::PMSLT_H:
7368 case RISCV::PMSLT_W:
7369 case RISCV::PMULHRSU_H:
7370 case RISCV::PMULHRSU_W:
7371 case RISCV::PMULHRU_H:
7372 case RISCV::PMULHRU_W:
7373 case RISCV::PMULHR_H:
7374 case RISCV::PMULHR_W:
7375 case RISCV::PMULHSU_H:
7376 case RISCV::PMULHSU_H_B0:
7377 case RISCV::PMULHSU_H_B1:
7378 case RISCV::PMULHSU_W:
7379 case RISCV::PMULHSU_W_H0:
7380 case RISCV::PMULHSU_W_H1:
7381 case RISCV::PMULHU_H:
7382 case RISCV::PMULHU_W:
7383 case RISCV::PMULH_H:
7384 case RISCV::PMULH_H_B0:
7385 case RISCV::PMULH_H_B1:
7386 case RISCV::PMULH_W:
7387 case RISCV::PMULH_W_H0:
7388 case RISCV::PMULH_W_H1:
7389 case RISCV::PMULQR_H:
7390 case RISCV::PMULQR_W:
7391 case RISCV::PMULQ_H:
7392 case RISCV::PMULQ_W:
7393 case RISCV::PMULSU_H_B00:
7394 case RISCV::PMULSU_H_B11:
7395 case RISCV::PMULSU_W_H00:
7396 case RISCV::PMULSU_W_H11:
7397 case RISCV::PMULU_H_B00:
7398 case RISCV::PMULU_H_B01:
7399 case RISCV::PMULU_H_B11:
7400 case RISCV::PMULU_W_H00:
7401 case RISCV::PMULU_W_H01:
7402 case RISCV::PMULU_W_H11:
7403 case RISCV::PMUL_H_B00:
7404 case RISCV::PMUL_H_B01:
7405 case RISCV::PMUL_H_B11:
7406 case RISCV::PMUL_W_H00:
7407 case RISCV::PMUL_W_H01:
7408 case RISCV::PMUL_W_H11:
7409 case RISCV::PPAIREO_B:
7410 case RISCV::PPAIREO_H:
7411 case RISCV::PPAIREO_W:
7412 case RISCV::PPAIRE_B:
7413 case RISCV::PPAIRE_H:
7414 case RISCV::PPAIROE_B:
7415 case RISCV::PPAIROE_H:
7416 case RISCV::PPAIROE_W:
7417 case RISCV::PPAIRO_B:
7418 case RISCV::PPAIRO_H:
7419 case RISCV::PPAIRO_W:
7420 case RISCV::PREDSUMU_BS:
7421 case RISCV::PREDSUMU_HS:
7422 case RISCV::PREDSUMU_WS:
7423 case RISCV::PREDSUM_BS:
7424 case RISCV::PREDSUM_HS:
7425 case RISCV::PREDSUM_WS:
7426 case RISCV::PSADDU_B:
7427 case RISCV::PSADDU_H:
7428 case RISCV::PSADDU_W:
7429 case RISCV::PSADD_B:
7430 case RISCV::PSADD_H:
7431 case RISCV::PSADD_W:
7432 case RISCV::PSAS_HX:
7433 case RISCV::PSAS_WX:
7434 case RISCV::PSA_HX:
7435 case RISCV::PSA_WX:
7436 case RISCV::PSH1ADD_H:
7437 case RISCV::PSH1ADD_W:
7438 case RISCV::PSLL_BS:
7439 case RISCV::PSLL_HS:
7440 case RISCV::PSLL_WS:
7441 case RISCV::PSRA_BS:
7442 case RISCV::PSRA_HS:
7443 case RISCV::PSRA_WS:
7444 case RISCV::PSRL_BS:
7445 case RISCV::PSRL_HS:
7446 case RISCV::PSRL_WS:
7447 case RISCV::PSSA_HX:
7448 case RISCV::PSSA_WX:
7449 case RISCV::PSSH1SADD_H:
7450 case RISCV::PSSH1SADD_W:
7451 case RISCV::PSSHAR_HS:
7452 case RISCV::PSSHAR_WS:
7453 case RISCV::PSSHA_HS:
7454 case RISCV::PSSHA_WS:
7455 case RISCV::PSSUBU_B:
7456 case RISCV::PSSUBU_H:
7457 case RISCV::PSSUBU_W:
7458 case RISCV::PSSUB_B:
7459 case RISCV::PSSUB_H:
7460 case RISCV::PSSUB_W:
7461 case RISCV::PSUB_B:
7462 case RISCV::PSUB_H:
7463 case RISCV::PSUB_W:
7464 case RISCV::QC_ADDSAT:
7465 case RISCV::QC_ADDUSAT:
7466 case RISCV::QC_CSRRWR:
7467 case RISCV::QC_EXTDPR:
7468 case RISCV::QC_EXTDPRH:
7469 case RISCV::QC_EXTDR:
7470 case RISCV::QC_EXTDUPR:
7471 case RISCV::QC_EXTDUPRH:
7472 case RISCV::QC_EXTDUR:
7473 case RISCV::QC_SHLSAT:
7474 case RISCV::QC_SHLUSAT:
7475 case RISCV::QC_SUBSAT:
7476 case RISCV::QC_SUBUSAT:
7477 case RISCV::QC_WRAP:
7478 case RISCV::REM:
7479 case RISCV::REMU:
7480 case RISCV::REMUW:
7481 case RISCV::REMW:
7482 case RISCV::ROL:
7483 case RISCV::ROLW:
7484 case RISCV::ROR:
7485 case RISCV::RORW:
7486 case RISCV::SADD:
7487 case RISCV::SADDU:
7488 case RISCV::SH1ADD:
7489 case RISCV::SH1ADD_UW:
7490 case RISCV::SH2ADD:
7491 case RISCV::SH2ADD_UW:
7492 case RISCV::SH3ADD:
7493 case RISCV::SH3ADD_UW:
7494 case RISCV::SHA:
7495 case RISCV::SHA512SIG0H:
7496 case RISCV::SHA512SIG0L:
7497 case RISCV::SHA512SIG1H:
7498 case RISCV::SHA512SIG1L:
7499 case RISCV::SHA512SUM0R:
7500 case RISCV::SHA512SUM1R:
7501 case RISCV::SHAR:
7502 case RISCV::SLL:
7503 case RISCV::SLLW:
7504 case RISCV::SLT:
7505 case RISCV::SLTU:
7506 case RISCV::SRA:
7507 case RISCV::SRAW:
7508 case RISCV::SRL:
7509 case RISCV::SRLW:
7510 case RISCV::SSH1SADD:
7511 case RISCV::SSHA:
7512 case RISCV::SSHAR:
7513 case RISCV::SSUB:
7514 case RISCV::SSUBU:
7515 case RISCV::SUB:
7516 case RISCV::SUBW:
7517 case RISCV::UNZIP16HP:
7518 case RISCV::UNZIP16P:
7519 case RISCV::UNZIP8HP:
7520 case RISCV::UNZIP8P:
7521 case RISCV::VSETVL:
7522 case RISCV::VT_MASKC:
7523 case RISCV::VT_MASKCN:
7524 case RISCV::XNOR:
7525 case RISCV::XOR:
7526 case RISCV::XPERM4:
7527 case RISCV::XPERM8:
7528 case RISCV::ZIP16HP:
7529 case RISCV::ZIP16P:
7530 case RISCV::ZIP8HP:
7531 case RISCV::ZIP8P: {
7532 // op: rs2
7533 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7534 Value |= (op & 0x1f) << 20;
7535 // op: rs1
7536 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7537 Value |= (op & 0x1f) << 15;
7538 // op: rd
7539 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7540 Value |= (op & 0x1f) << 7;
7541 break;
7542 }
7543 case RISCV::AES32DSI:
7544 case RISCV::AES32DSMI:
7545 case RISCV::AES32ESI:
7546 case RISCV::AES32ESMI:
7547 case RISCV::SM4ED:
7548 case RISCV::SM4KS: {
7549 // op: rs2
7550 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7551 Value |= (op & 0x1f) << 20;
7552 // op: rs1
7553 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7554 Value |= (op & 0x1f) << 15;
7555 // op: rd
7556 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7557 Value |= (op & 0x1f) << 7;
7558 // op: bs
7559 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7560 Value |= (op & 0x3) << 30;
7561 break;
7562 }
7563 case RISCV::QC_LWM:
7564 case RISCV::QC_LWMI:
7565 case RISCV::QC_SETWM:
7566 case RISCV::QC_SETWMI:
7567 case RISCV::QC_SWM:
7568 case RISCV::QC_SWMI: {
7569 // op: rs2
7570 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7571 Value |= (op & 0x1f) << 20;
7572 // op: rs1
7573 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7574 Value |= (op & 0x1f) << 15;
7575 // op: rd
7576 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7577 Value |= (op & 0x1f) << 7;
7578 // op: imm
7579 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7580 Value |= (op & 0x7c) << 23;
7581 break;
7582 }
7583 case RISCV::CV_ADDN:
7584 case RISCV::CV_ADDRN:
7585 case RISCV::CV_ADDUN:
7586 case RISCV::CV_ADDURN:
7587 case RISCV::CV_MULHHSN:
7588 case RISCV::CV_MULHHSRN:
7589 case RISCV::CV_MULHHUN:
7590 case RISCV::CV_MULHHURN:
7591 case RISCV::CV_MULSN:
7592 case RISCV::CV_MULSRN:
7593 case RISCV::CV_MULUN:
7594 case RISCV::CV_MULURN:
7595 case RISCV::CV_SUBN:
7596 case RISCV::CV_SUBRN:
7597 case RISCV::CV_SUBUN:
7598 case RISCV::CV_SUBURN: {
7599 // op: rs2
7600 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7601 Value |= (op & 0x1f) << 20;
7602 // op: rs1
7603 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7604 Value |= (op & 0x1f) << 15;
7605 // op: rd
7606 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7607 Value |= (op & 0x1f) << 7;
7608 // op: imm5
7609 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7610 Value |= (op & 0x1f) << 25;
7611 break;
7612 }
7613 case RISCV::QC_LRB:
7614 case RISCV::QC_LRBU:
7615 case RISCV::QC_LRH:
7616 case RISCV::QC_LRHU:
7617 case RISCV::QC_LRW:
7618 case RISCV::QC_SRB:
7619 case RISCV::QC_SRH:
7620 case RISCV::QC_SRW: {
7621 // op: rs2
7622 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7623 Value |= (op & 0x1f) << 20;
7624 // op: rs1
7625 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7626 Value |= (op & 0x1f) << 15;
7627 // op: rd
7628 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7629 Value |= (op & 0x1f) << 7;
7630 // op: shamt
7631 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7632 Value |= (op & 0x7) << 25;
7633 break;
7634 }
7635 case RISCV::QC_SHLADD: {
7636 // op: rs2
7637 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7638 Value |= (op & 0x1f) << 20;
7639 // op: rs1
7640 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7641 Value |= (op & 0x1f) << 15;
7642 // op: rd
7643 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7644 Value |= (op & 0x1f) << 7;
7645 // op: shamt
7646 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7647 Value |= (op & 0x1f) << 25;
7648 break;
7649 }
7650 case RISCV::TH_ADDSL:
7651 case RISCV::TH_FLRD:
7652 case RISCV::TH_FLRW:
7653 case RISCV::TH_FLURD:
7654 case RISCV::TH_FLURW:
7655 case RISCV::TH_FSRD:
7656 case RISCV::TH_FSRW:
7657 case RISCV::TH_FSURD:
7658 case RISCV::TH_FSURW:
7659 case RISCV::TH_LRB:
7660 case RISCV::TH_LRBU:
7661 case RISCV::TH_LRD:
7662 case RISCV::TH_LRH:
7663 case RISCV::TH_LRHU:
7664 case RISCV::TH_LRW:
7665 case RISCV::TH_LRWU:
7666 case RISCV::TH_LURB:
7667 case RISCV::TH_LURBU:
7668 case RISCV::TH_LURD:
7669 case RISCV::TH_LURH:
7670 case RISCV::TH_LURHU:
7671 case RISCV::TH_LURW:
7672 case RISCV::TH_LURWU:
7673 case RISCV::TH_SRB:
7674 case RISCV::TH_SRD:
7675 case RISCV::TH_SRH:
7676 case RISCV::TH_SRW:
7677 case RISCV::TH_SURB:
7678 case RISCV::TH_SURD:
7679 case RISCV::TH_SURH:
7680 case RISCV::TH_SURW: {
7681 // op: rs2
7682 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7683 Value |= (op & 0x1f) << 20;
7684 // op: rs1
7685 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7686 Value |= (op & 0x1f) << 15;
7687 // op: rd
7688 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7689 Value |= (op & 0x1f) << 7;
7690 // op: uimm2
7691 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7692 Value |= (op & 0x3) << 25;
7693 break;
7694 }
7695 case RISCV::AMOCAS_B:
7696 case RISCV::AMOCAS_B_AQ:
7697 case RISCV::AMOCAS_B_AQRL:
7698 case RISCV::AMOCAS_B_RL:
7699 case RISCV::AMOCAS_D_RV32:
7700 case RISCV::AMOCAS_D_RV32_AQ:
7701 case RISCV::AMOCAS_D_RV32_AQRL:
7702 case RISCV::AMOCAS_D_RV32_RL:
7703 case RISCV::AMOCAS_D_RV64:
7704 case RISCV::AMOCAS_D_RV64_AQ:
7705 case RISCV::AMOCAS_D_RV64_AQRL:
7706 case RISCV::AMOCAS_D_RV64_RL:
7707 case RISCV::AMOCAS_H:
7708 case RISCV::AMOCAS_H_AQ:
7709 case RISCV::AMOCAS_H_AQRL:
7710 case RISCV::AMOCAS_H_RL:
7711 case RISCV::AMOCAS_Q:
7712 case RISCV::AMOCAS_Q_AQ:
7713 case RISCV::AMOCAS_Q_AQRL:
7714 case RISCV::AMOCAS_Q_RL:
7715 case RISCV::AMOCAS_W:
7716 case RISCV::AMOCAS_W_AQ:
7717 case RISCV::AMOCAS_W_AQRL:
7718 case RISCV::AMOCAS_W_RL: {
7719 // op: rs2
7720 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7721 Value |= (op & 0x1f) << 20;
7722 // op: rs1
7723 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7724 Value |= (op & 0x1f) << 15;
7725 // op: rd
7726 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7727 Value |= (op & 0x1f) << 7;
7728 break;
7729 }
7730 case RISCV::AIF_MASKAND:
7731 case RISCV::AIF_MASKOR:
7732 case RISCV::AIF_MASKXOR: {
7733 // op: rs2
7734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7735 Value |= (op & 0x7) << 20;
7736 // op: rs1
7737 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7738 Value |= (op & 0x7) << 15;
7739 // op: rd
7740 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7741 Value |= (op & 0x7) << 7;
7742 break;
7743 }
7744 case RISCV::C_ADDW:
7745 case RISCV::C_AND:
7746 case RISCV::C_MUL:
7747 case RISCV::C_OR:
7748 case RISCV::C_SUB:
7749 case RISCV::C_SUBW:
7750 case RISCV::C_XOR: {
7751 // op: rs2
7752 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7753 Value |= (op & 0x7) << 2;
7754 // op: rd
7755 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7756 Value |= (op & 0x7) << 7;
7757 break;
7758 }
7759 case RISCV::QC_SELECTIEQI:
7760 case RISCV::QC_SELECTINEI: {
7761 // op: rs2
7762 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7763 Value |= (op & 0x1f) << 20;
7764 // op: rd
7765 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7766 Value |= (op & 0x1f) << 7;
7767 // op: imm
7768 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
7769 Value |= (op & 0x1f) << 15;
7770 // op: simm2
7771 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
7772 Value |= (op & 0x1f) << 27;
7773 break;
7774 }
7775 case RISCV::CV_LBU_rr_inc:
7776 case RISCV::CV_LB_rr_inc:
7777 case RISCV::CV_LHU_rr_inc:
7778 case RISCV::CV_LH_rr_inc:
7779 case RISCV::CV_LW_rr_inc: {
7780 // op: rs2
7781 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7782 Value |= (op & 0x1f) << 20;
7783 // op: rs1
7784 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7785 Value |= (op & 0x1f) << 15;
7786 // op: rd
7787 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7788 Value |= (op & 0x1f) << 7;
7789 break;
7790 }
7791 case RISCV::MQRWACC:
7792 case RISCV::MQWACC:
7793 case RISCV::PM2WADDASU_H:
7794 case RISCV::PM2WADDAU_H:
7795 case RISCV::PM2WADDA_H:
7796 case RISCV::PM2WADDA_HX:
7797 case RISCV::PM2WSUBA_H:
7798 case RISCV::PM2WSUBA_HX:
7799 case RISCV::PMQRWACC_H:
7800 case RISCV::PMQWACC_H:
7801 case RISCV::PWADDAU_B:
7802 case RISCV::PWADDAU_H:
7803 case RISCV::PWADDA_B:
7804 case RISCV::PWADDA_H:
7805 case RISCV::PWMACCSU_H:
7806 case RISCV::PWMACCU_H:
7807 case RISCV::PWMACC_H:
7808 case RISCV::PWSUBAU_B:
7809 case RISCV::PWSUBAU_H:
7810 case RISCV::PWSUBA_B:
7811 case RISCV::PWSUBA_H:
7812 case RISCV::WADDA:
7813 case RISCV::WADDAU:
7814 case RISCV::WMACC:
7815 case RISCV::WMACCSU:
7816 case RISCV::WMACCU:
7817 case RISCV::WSUBA:
7818 case RISCV::WSUBAU: {
7819 // op: rs2
7820 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7821 Value |= (op & 0x1f) << 20;
7822 // op: rs1
7823 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7824 Value |= (op & 0x1f) << 15;
7825 // op: rd
7826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7827 Value |= (op & 0x1e) << 7;
7828 break;
7829 }
7830 case RISCV::CV_ADDNR:
7831 case RISCV::CV_ADDRNR:
7832 case RISCV::CV_ADDUNR:
7833 case RISCV::CV_ADDURNR:
7834 case RISCV::CV_CPLXMUL_I:
7835 case RISCV::CV_CPLXMUL_I_DIV2:
7836 case RISCV::CV_CPLXMUL_I_DIV4:
7837 case RISCV::CV_CPLXMUL_I_DIV8:
7838 case RISCV::CV_CPLXMUL_R:
7839 case RISCV::CV_CPLXMUL_R_DIV2:
7840 case RISCV::CV_CPLXMUL_R_DIV4:
7841 case RISCV::CV_CPLXMUL_R_DIV8:
7842 case RISCV::CV_INSERTR:
7843 case RISCV::CV_MAC:
7844 case RISCV::CV_MSU:
7845 case RISCV::CV_PACKHI_B:
7846 case RISCV::CV_PACKLO_B:
7847 case RISCV::CV_SDOTSP_B:
7848 case RISCV::CV_SDOTSP_H:
7849 case RISCV::CV_SDOTSP_SC_B:
7850 case RISCV::CV_SDOTSP_SC_H:
7851 case RISCV::CV_SDOTUP_B:
7852 case RISCV::CV_SDOTUP_H:
7853 case RISCV::CV_SDOTUP_SC_B:
7854 case RISCV::CV_SDOTUP_SC_H:
7855 case RISCV::CV_SDOTUSP_B:
7856 case RISCV::CV_SDOTUSP_H:
7857 case RISCV::CV_SDOTUSP_SC_B:
7858 case RISCV::CV_SDOTUSP_SC_H:
7859 case RISCV::CV_SHUFFLE2_B:
7860 case RISCV::CV_SHUFFLE2_H:
7861 case RISCV::CV_SUBNR:
7862 case RISCV::CV_SUBRNR:
7863 case RISCV::CV_SUBUNR:
7864 case RISCV::CV_SUBURNR:
7865 case RISCV::MACCSU_H00:
7866 case RISCV::MACCSU_H11:
7867 case RISCV::MACCSU_W00:
7868 case RISCV::MACCSU_W11:
7869 case RISCV::MACCU_H00:
7870 case RISCV::MACCU_H01:
7871 case RISCV::MACCU_H11:
7872 case RISCV::MACCU_W00:
7873 case RISCV::MACCU_W01:
7874 case RISCV::MACCU_W11:
7875 case RISCV::MACC_H00:
7876 case RISCV::MACC_H01:
7877 case RISCV::MACC_H11:
7878 case RISCV::MACC_W00:
7879 case RISCV::MACC_W01:
7880 case RISCV::MACC_W11:
7881 case RISCV::MERGE:
7882 case RISCV::MHACC:
7883 case RISCV::MHACCSU:
7884 case RISCV::MHACCSU_H0:
7885 case RISCV::MHACCSU_H1:
7886 case RISCV::MHACCU:
7887 case RISCV::MHACC_H0:
7888 case RISCV::MHACC_H1:
7889 case RISCV::MHRACC:
7890 case RISCV::MHRACCSU:
7891 case RISCV::MHRACCU:
7892 case RISCV::MQACC_H00:
7893 case RISCV::MQACC_H01:
7894 case RISCV::MQACC_H11:
7895 case RISCV::MQACC_W00:
7896 case RISCV::MQACC_W01:
7897 case RISCV::MQACC_W11:
7898 case RISCV::MQRACC_H00:
7899 case RISCV::MQRACC_H01:
7900 case RISCV::MQRACC_H11:
7901 case RISCV::MQRACC_W00:
7902 case RISCV::MQRACC_W01:
7903 case RISCV::MQRACC_W11:
7904 case RISCV::MVM:
7905 case RISCV::MVMN:
7906 case RISCV::PABDSUMAU_B:
7907 case RISCV::PM2ADDASU_H:
7908 case RISCV::PM2ADDASU_W:
7909 case RISCV::PM2ADDAU_H:
7910 case RISCV::PM2ADDAU_W:
7911 case RISCV::PM2ADDA_H:
7912 case RISCV::PM2ADDA_HX:
7913 case RISCV::PM2ADDA_W:
7914 case RISCV::PM2ADDA_WX:
7915 case RISCV::PM2SUBA_H:
7916 case RISCV::PM2SUBA_HX:
7917 case RISCV::PM2SUBA_W:
7918 case RISCV::PM2SUBA_WX:
7919 case RISCV::PM4ADDASU_B:
7920 case RISCV::PM4ADDASU_H:
7921 case RISCV::PM4ADDAU_B:
7922 case RISCV::PM4ADDAU_H:
7923 case RISCV::PM4ADDA_B:
7924 case RISCV::PM4ADDA_H:
7925 case RISCV::PMACCSU_W_H00:
7926 case RISCV::PMACCSU_W_H11:
7927 case RISCV::PMACCU_W_H00:
7928 case RISCV::PMACCU_W_H01:
7929 case RISCV::PMACCU_W_H11:
7930 case RISCV::PMACC_W_H00:
7931 case RISCV::PMACC_W_H01:
7932 case RISCV::PMACC_W_H11:
7933 case RISCV::PMHACCSU_H:
7934 case RISCV::PMHACCSU_H_B0:
7935 case RISCV::PMHACCSU_H_B1:
7936 case RISCV::PMHACCSU_W:
7937 case RISCV::PMHACCSU_W_H0:
7938 case RISCV::PMHACCSU_W_H1:
7939 case RISCV::PMHACCU_H:
7940 case RISCV::PMHACCU_W:
7941 case RISCV::PMHACC_H:
7942 case RISCV::PMHACC_H_B0:
7943 case RISCV::PMHACC_H_B1:
7944 case RISCV::PMHACC_W:
7945 case RISCV::PMHACC_W_H0:
7946 case RISCV::PMHACC_W_H1:
7947 case RISCV::PMHRACCSU_H:
7948 case RISCV::PMHRACCSU_W:
7949 case RISCV::PMHRACCU_H:
7950 case RISCV::PMHRACCU_W:
7951 case RISCV::PMHRACC_H:
7952 case RISCV::PMHRACC_W:
7953 case RISCV::PMQ2ADDA_H:
7954 case RISCV::PMQ2ADDA_W:
7955 case RISCV::PMQACC_W_H00:
7956 case RISCV::PMQACC_W_H01:
7957 case RISCV::PMQACC_W_H11:
7958 case RISCV::PMQR2ADDA_H:
7959 case RISCV::PMQR2ADDA_W:
7960 case RISCV::PMQRACC_W_H00:
7961 case RISCV::PMQRACC_W_H01:
7962 case RISCV::PMQRACC_W_H11:
7963 case RISCV::QC_INSBHR:
7964 case RISCV::QC_INSBPR:
7965 case RISCV::QC_INSBPRH:
7966 case RISCV::QC_INSBR:
7967 case RISCV::SLX:
7968 case RISCV::SRX:
7969 case RISCV::TH_MULA:
7970 case RISCV::TH_MULAH:
7971 case RISCV::TH_MULAW:
7972 case RISCV::TH_MULS:
7973 case RISCV::TH_MULSH:
7974 case RISCV::TH_MULSW:
7975 case RISCV::TH_MVEQZ:
7976 case RISCV::TH_MVNEZ: {
7977 // op: rs2
7978 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7979 Value |= (op & 0x1f) << 20;
7980 // op: rs1
7981 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7982 Value |= (op & 0x1f) << 15;
7983 // op: rd
7984 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7985 Value |= (op & 0x1f) << 7;
7986 break;
7987 }
7988 case RISCV::CV_MACHHSN:
7989 case RISCV::CV_MACHHSRN:
7990 case RISCV::CV_MACHHUN:
7991 case RISCV::CV_MACHHURN:
7992 case RISCV::CV_MACSN:
7993 case RISCV::CV_MACSRN:
7994 case RISCV::CV_MACUN:
7995 case RISCV::CV_MACURN: {
7996 // op: rs2
7997 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7998 Value |= (op & 0x1f) << 20;
7999 // op: rs1
8000 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8001 Value |= (op & 0x1f) << 15;
8002 // op: rd
8003 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8004 Value |= (op & 0x1f) << 7;
8005 // op: imm5
8006 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
8007 Value |= (op & 0x1f) << 25;
8008 break;
8009 }
8010 case RISCV::QC_LIEQ:
8011 case RISCV::QC_LIGE:
8012 case RISCV::QC_LIGEU:
8013 case RISCV::QC_LILT:
8014 case RISCV::QC_LILTU:
8015 case RISCV::QC_LINE: {
8016 // op: rs2
8017 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8018 Value |= (op & 0x1f) << 20;
8019 // op: rs1
8020 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8021 Value |= (op & 0x1f) << 15;
8022 // op: rd
8023 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8024 Value |= (op & 0x1f) << 7;
8025 // op: simm
8026 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
8027 Value |= (op & 0x1f) << 27;
8028 break;
8029 }
8030 case RISCV::QC_SELECTIEQ:
8031 case RISCV::QC_SELECTINE: {
8032 // op: rs2
8033 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8034 Value |= (op & 0x1f) << 20;
8035 // op: rs1
8036 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8037 Value |= (op & 0x1f) << 15;
8038 // op: rd
8039 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8040 Value |= (op & 0x1f) << 7;
8041 // op: simm2
8042 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
8043 Value |= (op & 0x1f) << 27;
8044 break;
8045 }
8046 case RISCV::FMADD_D:
8047 case RISCV::FMADD_D_IN32X:
8048 case RISCV::FMADD_D_INX:
8049 case RISCV::FMADD_H:
8050 case RISCV::FMADD_H_INX:
8051 case RISCV::FMADD_Q:
8052 case RISCV::FMADD_S:
8053 case RISCV::FMADD_S_INX:
8054 case RISCV::FMSUB_D:
8055 case RISCV::FMSUB_D_IN32X:
8056 case RISCV::FMSUB_D_INX:
8057 case RISCV::FMSUB_H:
8058 case RISCV::FMSUB_H_INX:
8059 case RISCV::FMSUB_Q:
8060 case RISCV::FMSUB_S:
8061 case RISCV::FMSUB_S_INX:
8062 case RISCV::FNMADD_D:
8063 case RISCV::FNMADD_D_IN32X:
8064 case RISCV::FNMADD_D_INX:
8065 case RISCV::FNMADD_H:
8066 case RISCV::FNMADD_H_INX:
8067 case RISCV::FNMADD_Q:
8068 case RISCV::FNMADD_S:
8069 case RISCV::FNMADD_S_INX:
8070 case RISCV::FNMSUB_D:
8071 case RISCV::FNMSUB_D_IN32X:
8072 case RISCV::FNMSUB_D_INX:
8073 case RISCV::FNMSUB_H:
8074 case RISCV::FNMSUB_H_INX:
8075 case RISCV::FNMSUB_Q:
8076 case RISCV::FNMSUB_S:
8077 case RISCV::FNMSUB_S_INX: {
8078 // op: rs3
8079 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8080 Value |= (op & 0x1f) << 27;
8081 // op: rs2
8082 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8083 Value |= (op & 0x1f) << 20;
8084 // op: rs1
8085 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8086 Value |= (op & 0x1f) << 15;
8087 // op: frm
8088 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8089 Value |= (op & 0x7) << 12;
8090 // op: rd
8091 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8092 Value |= (op & 0x1f) << 7;
8093 break;
8094 }
8095 case RISCV::MIPS_CCMOV: {
8096 // op: rs3
8097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8098 Value |= (op & 0x1f) << 27;
8099 // op: rs2
8100 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8101 Value |= (op & 0x1f) << 20;
8102 // op: rs1
8103 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8104 Value |= (op & 0x1f) << 15;
8105 // op: rd
8106 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8107 Value |= (op & 0x1f) << 7;
8108 break;
8109 }
8110 case RISCV::CV_SB_rr_inc:
8111 case RISCV::CV_SH_rr_inc:
8112 case RISCV::CV_SW_rr_inc: {
8113 // op: rs3
8114 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8115 Value |= (op & 0x1f) << 7;
8116 // op: rs2
8117 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8118 Value |= (op & 0x1f) << 20;
8119 // op: rs1
8120 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8121 Value |= (op & 0x1f) << 15;
8122 break;
8123 }
8124 case RISCV::QC_MVEQI:
8125 case RISCV::QC_MVGEI:
8126 case RISCV::QC_MVGEUI:
8127 case RISCV::QC_MVLTI:
8128 case RISCV::QC_MVLTUI:
8129 case RISCV::QC_MVNEI: {
8130 // op: rs3
8131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8132 Value |= (op & 0x1f) << 27;
8133 // op: rs1
8134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8135 Value |= (op & 0x1f) << 15;
8136 // op: rd
8137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8138 Value |= (op & 0x1f) << 7;
8139 // op: imm
8140 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
8141 Value |= (op & 0x1f) << 20;
8142 break;
8143 }
8144 case RISCV::QC_SELECTEQI:
8145 case RISCV::QC_SELECTNEI: {
8146 // op: rs3
8147 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8148 Value |= (op & 0x1f) << 27;
8149 // op: rs2
8150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8151 Value |= (op & 0x1f) << 20;
8152 // op: rd
8153 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8154 Value |= (op & 0x1f) << 7;
8155 // op: imm
8156 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8157 Value |= (op & 0x1f) << 15;
8158 break;
8159 }
8160 case RISCV::QC_MVEQ:
8161 case RISCV::QC_MVGE:
8162 case RISCV::QC_MVGEU:
8163 case RISCV::QC_MVLT:
8164 case RISCV::QC_MVLTU:
8165 case RISCV::QC_MVNE: {
8166 // op: rs3
8167 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8168 Value |= (op & 0x1f) << 27;
8169 // op: rs2
8170 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8171 Value |= (op & 0x1f) << 20;
8172 // op: rs1
8173 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8174 Value |= (op & 0x1f) << 15;
8175 // op: rd
8176 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8177 Value |= (op & 0x1f) << 7;
8178 break;
8179 }
8180 case RISCV::QC_C_SYNC:
8181 case RISCV::QC_C_SYNCR:
8182 case RISCV::QC_C_SYNCWF:
8183 case RISCV::QC_C_SYNCWL: {
8184 // op: slist
8185 op = getImmOpValueSlist(MI, OpNo: 0, Fixups, STI);
8186 Value |= (op & 0x7) << 7;
8187 break;
8188 }
8189 case RISCV::Insn16: {
8190 // op: value
8191 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8192 Value |= (op & 0xffff);
8193 break;
8194 }
8195 case RISCV::Insn32: {
8196 // op: value
8197 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8198 Value |= (op & 0xffffffff);
8199 break;
8200 }
8201 case RISCV::Insn48: {
8202 // op: value
8203 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8204 Value |= (op & 0xffffffffffff);
8205 break;
8206 }
8207 case RISCV::Insn64: {
8208 // op: value
8209 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8210 Value |= (op & 0xffffffffffffffff);
8211 break;
8212 }
8213 case RISCV::SMT_VMADOT1:
8214 case RISCV::SMT_VMADOT1SU:
8215 case RISCV::SMT_VMADOT1U:
8216 case RISCV::SMT_VMADOT1US:
8217 case RISCV::SMT_VMADOT2:
8218 case RISCV::SMT_VMADOT2SU:
8219 case RISCV::SMT_VMADOT2U:
8220 case RISCV::SMT_VMADOT2US:
8221 case RISCV::SMT_VMADOT3:
8222 case RISCV::SMT_VMADOT3SU:
8223 case RISCV::SMT_VMADOT3U:
8224 case RISCV::SMT_VMADOT3US: {
8225 // op: vd
8226 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8227 Value |= (op & 0x1e) << 7;
8228 // op: vs1
8229 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8230 Value |= (op & 0x1e) << 15;
8231 // op: vs2
8232 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8233 Value |= (op & 0x1f) << 20;
8234 break;
8235 }
8236 case RISCV::SMT_VMADOT:
8237 case RISCV::SMT_VMADOTSU:
8238 case RISCV::SMT_VMADOTU:
8239 case RISCV::SMT_VMADOTUS: {
8240 // op: vd
8241 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8242 Value |= (op & 0x1e) << 7;
8243 // op: vs1
8244 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8245 Value |= (op & 0x1f) << 15;
8246 // op: vs2
8247 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8248 Value |= (op & 0x1f) << 20;
8249 break;
8250 }
8251 case RISCV::RI_VZERO: {
8252 // op: vd
8253 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8254 Value |= (op & 0x1f) << 7;
8255 break;
8256 }
8257 case RISCV::VMV_V_I: {
8258 // op: vd
8259 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8260 Value |= (op & 0x1f) << 7;
8261 // op: imm
8262 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
8263 Value |= (op & 0x1f) << 15;
8264 break;
8265 }
8266 case RISCV::VFMV_V_F:
8267 case RISCV::VMV_V_X: {
8268 // op: vd
8269 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8270 Value |= (op & 0x1f) << 7;
8271 // op: rs1
8272 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8273 Value |= (op & 0x1f) << 15;
8274 break;
8275 }
8276 case RISCV::VID_V: {
8277 // op: vd
8278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8279 Value |= (op & 0x1f) << 7;
8280 // op: vm
8281 op = getVMaskReg(MI, OpNo: 1, Fixups, STI);
8282 Value |= (op & 0x1) << 25;
8283 break;
8284 }
8285 case RISCV::SF_VFEXPA_V:
8286 case RISCV::SF_VFEXP_V:
8287 case RISCV::VABS_V:
8288 case RISCV::VBREV8_V:
8289 case RISCV::VBREV_V:
8290 case RISCV::VCLZ_V:
8291 case RISCV::VCPOP_V:
8292 case RISCV::VCTZ_V:
8293 case RISCV::VFCLASS_V:
8294 case RISCV::VFCVT_F_XU_V:
8295 case RISCV::VFCVT_F_X_V:
8296 case RISCV::VFCVT_RTZ_XU_F_V:
8297 case RISCV::VFCVT_RTZ_X_F_V:
8298 case RISCV::VFCVT_XU_F_V:
8299 case RISCV::VFCVT_X_F_V:
8300 case RISCV::VFNCVTBF16_F_F_W:
8301 case RISCV::VFNCVTBF16_SAT_F_F_W:
8302 case RISCV::VFNCVT_F_F_Q:
8303 case RISCV::VFNCVT_F_F_W:
8304 case RISCV::VFNCVT_F_XU_W:
8305 case RISCV::VFNCVT_F_X_W:
8306 case RISCV::VFNCVT_ROD_F_F_W:
8307 case RISCV::VFNCVT_RTZ_XU_F_W:
8308 case RISCV::VFNCVT_RTZ_X_F_W:
8309 case RISCV::VFNCVT_SAT_F_F_Q:
8310 case RISCV::VFNCVT_XU_F_W:
8311 case RISCV::VFNCVT_X_F_W:
8312 case RISCV::VFREC7_V:
8313 case RISCV::VFRSQRT7_V:
8314 case RISCV::VFSQRT_V:
8315 case RISCV::VFWCVTBF16_F_F_V:
8316 case RISCV::VFWCVT_F_F_V:
8317 case RISCV::VFWCVT_F_XU_V:
8318 case RISCV::VFWCVT_F_X_V:
8319 case RISCV::VFWCVT_RTZ_XU_F_V:
8320 case RISCV::VFWCVT_RTZ_X_F_V:
8321 case RISCV::VFWCVT_XU_F_V:
8322 case RISCV::VFWCVT_X_F_V:
8323 case RISCV::VIOTA_M:
8324 case RISCV::VMSBF_M:
8325 case RISCV::VMSIF_M:
8326 case RISCV::VMSOF_M:
8327 case RISCV::VREV8_V:
8328 case RISCV::VSEXT_VF2:
8329 case RISCV::VSEXT_VF4:
8330 case RISCV::VSEXT_VF8:
8331 case RISCV::VZEXT_VF2:
8332 case RISCV::VZEXT_VF4:
8333 case RISCV::VZEXT_VF8: {
8334 // op: vd
8335 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8336 Value |= (op & 0x1f) << 7;
8337 // op: vm
8338 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
8339 Value |= (op & 0x1) << 25;
8340 // op: vs2
8341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8342 Value |= (op & 0x1f) << 20;
8343 break;
8344 }
8345 case RISCV::VADD_VI:
8346 case RISCV::VAND_VI:
8347 case RISCV::VMSEQ_VI:
8348 case RISCV::VMSGTU_VI:
8349 case RISCV::VMSGT_VI:
8350 case RISCV::VMSLEU_VI:
8351 case RISCV::VMSLE_VI:
8352 case RISCV::VMSNE_VI:
8353 case RISCV::VNCLIPU_WI:
8354 case RISCV::VNCLIP_WI:
8355 case RISCV::VNSRA_WI:
8356 case RISCV::VNSRL_WI:
8357 case RISCV::VOR_VI:
8358 case RISCV::VRGATHER_VI:
8359 case RISCV::VRSUB_VI:
8360 case RISCV::VSADDU_VI:
8361 case RISCV::VSADD_VI:
8362 case RISCV::VSLIDEDOWN_VI:
8363 case RISCV::VSLIDEUP_VI:
8364 case RISCV::VSLL_VI:
8365 case RISCV::VSRA_VI:
8366 case RISCV::VSRL_VI:
8367 case RISCV::VSSRA_VI:
8368 case RISCV::VSSRL_VI:
8369 case RISCV::VWSLL_VI:
8370 case RISCV::VXOR_VI: {
8371 // op: vd
8372 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8373 Value |= (op & 0x1f) << 7;
8374 // op: vm
8375 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8376 Value |= (op & 0x1) << 25;
8377 // op: vs2
8378 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8379 Value |= (op & 0x1f) << 20;
8380 // op: imm
8381 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8382 Value |= (op & 0x1f) << 15;
8383 break;
8384 }
8385 case RISCV::VROR_VI: {
8386 // op: vd
8387 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8388 Value |= (op & 0x1f) << 7;
8389 // op: vm
8390 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8391 Value |= (op & 0x1) << 25;
8392 // op: vs2
8393 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8394 Value |= (op & 0x1f) << 20;
8395 // op: imm
8396 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8397 Value |= (op & 0x20) << 21;
8398 Value |= (op & 0x1f) << 15;
8399 break;
8400 }
8401 case RISCV::SF_VFNRCLIP_XU_F_QF:
8402 case RISCV::SF_VFNRCLIP_X_F_QF:
8403 case RISCV::VAADDU_VX:
8404 case RISCV::VAADD_VX:
8405 case RISCV::VADD_VX:
8406 case RISCV::VANDN_VX:
8407 case RISCV::VAND_VX:
8408 case RISCV::VASUBU_VX:
8409 case RISCV::VASUB_VX:
8410 case RISCV::VCLMULH_VX:
8411 case RISCV::VCLMUL_VX:
8412 case RISCV::VDIVU_VX:
8413 case RISCV::VDIV_VX:
8414 case RISCV::VFADD_VF:
8415 case RISCV::VFDIV_VF:
8416 case RISCV::VFMAX_VF:
8417 case RISCV::VFMIN_VF:
8418 case RISCV::VFMUL_VF:
8419 case RISCV::VFRDIV_VF:
8420 case RISCV::VFRSUB_VF:
8421 case RISCV::VFSGNJN_VF:
8422 case RISCV::VFSGNJX_VF:
8423 case RISCV::VFSGNJ_VF:
8424 case RISCV::VFSLIDE1DOWN_VF:
8425 case RISCV::VFSLIDE1UP_VF:
8426 case RISCV::VFSUB_VF:
8427 case RISCV::VFWADD_VF:
8428 case RISCV::VFWADD_WF:
8429 case RISCV::VFWMUL_VF:
8430 case RISCV::VFWSUB_VF:
8431 case RISCV::VFWSUB_WF:
8432 case RISCV::VMAXU_VX:
8433 case RISCV::VMAX_VX:
8434 case RISCV::VMFEQ_VF:
8435 case RISCV::VMFGE_VF:
8436 case RISCV::VMFGT_VF:
8437 case RISCV::VMFLE_VF:
8438 case RISCV::VMFLT_VF:
8439 case RISCV::VMFNE_VF:
8440 case RISCV::VMINU_VX:
8441 case RISCV::VMIN_VX:
8442 case RISCV::VMSEQ_VX:
8443 case RISCV::VMSGTU_VX:
8444 case RISCV::VMSGT_VX:
8445 case RISCV::VMSLEU_VX:
8446 case RISCV::VMSLE_VX:
8447 case RISCV::VMSLTU_VX:
8448 case RISCV::VMSLT_VX:
8449 case RISCV::VMSNE_VX:
8450 case RISCV::VMULHSU_VX:
8451 case RISCV::VMULHU_VX:
8452 case RISCV::VMULH_VX:
8453 case RISCV::VMUL_VX:
8454 case RISCV::VNCLIPU_WX:
8455 case RISCV::VNCLIP_WX:
8456 case RISCV::VNSRA_WX:
8457 case RISCV::VNSRL_WX:
8458 case RISCV::VOR_VX:
8459 case RISCV::VREMU_VX:
8460 case RISCV::VREM_VX:
8461 case RISCV::VRGATHER_VX:
8462 case RISCV::VROL_VX:
8463 case RISCV::VROR_VX:
8464 case RISCV::VRSUB_VX:
8465 case RISCV::VSADDU_VX:
8466 case RISCV::VSADD_VX:
8467 case RISCV::VSLIDE1DOWN_VX:
8468 case RISCV::VSLIDE1UP_VX:
8469 case RISCV::VSLIDEDOWN_VX:
8470 case RISCV::VSLIDEUP_VX:
8471 case RISCV::VSLL_VX:
8472 case RISCV::VSMUL_VX:
8473 case RISCV::VSRA_VX:
8474 case RISCV::VSRL_VX:
8475 case RISCV::VSSRA_VX:
8476 case RISCV::VSSRL_VX:
8477 case RISCV::VSSUBU_VX:
8478 case RISCV::VSSUB_VX:
8479 case RISCV::VSUB_VX:
8480 case RISCV::VWADDU_VX:
8481 case RISCV::VWADDU_WX:
8482 case RISCV::VWADD_VX:
8483 case RISCV::VWADD_WX:
8484 case RISCV::VWMULSU_VX:
8485 case RISCV::VWMULU_VX:
8486 case RISCV::VWMUL_VX:
8487 case RISCV::VWSLL_VX:
8488 case RISCV::VWSUBU_VX:
8489 case RISCV::VWSUBU_WX:
8490 case RISCV::VWSUB_VX:
8491 case RISCV::VWSUB_WX:
8492 case RISCV::VXOR_VX: {
8493 // op: vd
8494 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8495 Value |= (op & 0x1f) << 7;
8496 // op: vm
8497 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8498 Value |= (op & 0x1) << 25;
8499 // op: vs2
8500 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8501 Value |= (op & 0x1f) << 20;
8502 // op: rs1
8503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8504 Value |= (op & 0x1f) << 15;
8505 break;
8506 }
8507 case RISCV::RI_VUNZIP2A_VV:
8508 case RISCV::RI_VUNZIP2B_VV:
8509 case RISCV::RI_VZIP2A_VV:
8510 case RISCV::RI_VZIP2B_VV:
8511 case RISCV::RI_VZIPEVEN_VV:
8512 case RISCV::RI_VZIPODD_VV:
8513 case RISCV::VAADDU_VV:
8514 case RISCV::VAADD_VV:
8515 case RISCV::VABDU_VV:
8516 case RISCV::VABD_VV:
8517 case RISCV::VADD_VV:
8518 case RISCV::VANDN_VV:
8519 case RISCV::VAND_VV:
8520 case RISCV::VASUBU_VV:
8521 case RISCV::VASUB_VV:
8522 case RISCV::VCLMULH_VV:
8523 case RISCV::VCLMUL_VV:
8524 case RISCV::VDIVU_VV:
8525 case RISCV::VDIV_VV:
8526 case RISCV::VFADD_VV:
8527 case RISCV::VFDIV_VV:
8528 case RISCV::VFMAX_VV:
8529 case RISCV::VFMIN_VV:
8530 case RISCV::VFMUL_VV:
8531 case RISCV::VFREDMAX_VS:
8532 case RISCV::VFREDMIN_VS:
8533 case RISCV::VFREDOSUM_VS:
8534 case RISCV::VFREDUSUM_VS:
8535 case RISCV::VFSGNJN_VV:
8536 case RISCV::VFSGNJX_VV:
8537 case RISCV::VFSGNJ_VV:
8538 case RISCV::VFSUB_VV:
8539 case RISCV::VFWADD_VV:
8540 case RISCV::VFWADD_WV:
8541 case RISCV::VFWMUL_VV:
8542 case RISCV::VFWREDOSUM_VS:
8543 case RISCV::VFWREDUSUM_VS:
8544 case RISCV::VFWSUB_VV:
8545 case RISCV::VFWSUB_WV:
8546 case RISCV::VMAXU_VV:
8547 case RISCV::VMAX_VV:
8548 case RISCV::VMFEQ_VV:
8549 case RISCV::VMFLE_VV:
8550 case RISCV::VMFLT_VV:
8551 case RISCV::VMFNE_VV:
8552 case RISCV::VMINU_VV:
8553 case RISCV::VMIN_VV:
8554 case RISCV::VMSEQ_VV:
8555 case RISCV::VMSLEU_VV:
8556 case RISCV::VMSLE_VV:
8557 case RISCV::VMSLTU_VV:
8558 case RISCV::VMSLT_VV:
8559 case RISCV::VMSNE_VV:
8560 case RISCV::VMULHSU_VV:
8561 case RISCV::VMULHU_VV:
8562 case RISCV::VMULH_VV:
8563 case RISCV::VMUL_VV:
8564 case RISCV::VNCLIPU_WV:
8565 case RISCV::VNCLIP_WV:
8566 case RISCV::VNSRA_WV:
8567 case RISCV::VNSRL_WV:
8568 case RISCV::VOR_VV:
8569 case RISCV::VREDAND_VS:
8570 case RISCV::VREDMAXU_VS:
8571 case RISCV::VREDMAX_VS:
8572 case RISCV::VREDMINU_VS:
8573 case RISCV::VREDMIN_VS:
8574 case RISCV::VREDOR_VS:
8575 case RISCV::VREDSUM_VS:
8576 case RISCV::VREDXOR_VS:
8577 case RISCV::VREMU_VV:
8578 case RISCV::VREM_VV:
8579 case RISCV::VRGATHEREI16_VV:
8580 case RISCV::VRGATHER_VV:
8581 case RISCV::VROL_VV:
8582 case RISCV::VROR_VV:
8583 case RISCV::VSADDU_VV:
8584 case RISCV::VSADD_VV:
8585 case RISCV::VSLL_VV:
8586 case RISCV::VSMUL_VV:
8587 case RISCV::VSRA_VV:
8588 case RISCV::VSRL_VV:
8589 case RISCV::VSSRA_VV:
8590 case RISCV::VSSRL_VV:
8591 case RISCV::VSSUBU_VV:
8592 case RISCV::VSSUB_VV:
8593 case RISCV::VSUB_VV:
8594 case RISCV::VWABDAU_VV:
8595 case RISCV::VWABDA_VV:
8596 case RISCV::VWADDU_VV:
8597 case RISCV::VWADDU_WV:
8598 case RISCV::VWADD_VV:
8599 case RISCV::VWADD_WV:
8600 case RISCV::VWMULSU_VV:
8601 case RISCV::VWMULU_VV:
8602 case RISCV::VWMUL_VV:
8603 case RISCV::VWREDSUMU_VS:
8604 case RISCV::VWREDSUM_VS:
8605 case RISCV::VWSLL_VV:
8606 case RISCV::VWSUBU_VV:
8607 case RISCV::VWSUBU_WV:
8608 case RISCV::VWSUB_VV:
8609 case RISCV::VWSUB_WV:
8610 case RISCV::VXOR_VV: {
8611 // op: vd
8612 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8613 Value |= (op & 0x1f) << 7;
8614 // op: vm
8615 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8616 Value |= (op & 0x1) << 25;
8617 // op: vs2
8618 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8619 Value |= (op & 0x1f) << 20;
8620 // op: vs1
8621 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8622 Value |= (op & 0x1f) << 15;
8623 break;
8624 }
8625 case RISCV::VMV_V_V: {
8626 // op: vd
8627 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8628 Value |= (op & 0x1f) << 7;
8629 // op: vs1
8630 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8631 Value |= (op & 0x1f) << 15;
8632 break;
8633 }
8634 case RISCV::VMV1R_V:
8635 case RISCV::VMV2R_V:
8636 case RISCV::VMV4R_V:
8637 case RISCV::VMV8R_V: {
8638 // op: vd
8639 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8640 Value |= (op & 0x1f) << 7;
8641 // op: vs2
8642 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8643 Value |= (op & 0x1f) << 20;
8644 break;
8645 }
8646 case RISCV::VADC_VIM:
8647 case RISCV::VAESKF1_VI:
8648 case RISCV::VMADC_VI:
8649 case RISCV::VMADC_VIM:
8650 case RISCV::VMERGE_VIM:
8651 case RISCV::VSM4K_VI: {
8652 // op: vd
8653 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8654 Value |= (op & 0x1f) << 7;
8655 // op: vs2
8656 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8657 Value |= (op & 0x1f) << 20;
8658 // op: imm
8659 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8660 Value |= (op & 0x1f) << 15;
8661 break;
8662 }
8663 case RISCV::VADC_VXM:
8664 case RISCV::VFMERGE_VFM:
8665 case RISCV::VMADC_VX:
8666 case RISCV::VMADC_VXM:
8667 case RISCV::VMERGE_VXM:
8668 case RISCV::VMSBC_VX:
8669 case RISCV::VMSBC_VXM:
8670 case RISCV::VSBC_VXM: {
8671 // op: vd
8672 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8673 Value |= (op & 0x1f) << 7;
8674 // op: vs2
8675 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8676 Value |= (op & 0x1f) << 20;
8677 // op: rs1
8678 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8679 Value |= (op & 0x1f) << 15;
8680 break;
8681 }
8682 case RISCV::VADC_VVM:
8683 case RISCV::VCOMPRESS_VM:
8684 case RISCV::VMADC_VV:
8685 case RISCV::VMADC_VVM:
8686 case RISCV::VMANDN_MM:
8687 case RISCV::VMAND_MM:
8688 case RISCV::VMERGE_VVM:
8689 case RISCV::VMNAND_MM:
8690 case RISCV::VMNOR_MM:
8691 case RISCV::VMORN_MM:
8692 case RISCV::VMOR_MM:
8693 case RISCV::VMSBC_VV:
8694 case RISCV::VMSBC_VVM:
8695 case RISCV::VMXNOR_MM:
8696 case RISCV::VMXOR_MM:
8697 case RISCV::VSBC_VVM:
8698 case RISCV::VSM3ME_VV: {
8699 // op: vd
8700 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8701 Value |= (op & 0x1f) << 7;
8702 // op: vs2
8703 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8704 Value |= (op & 0x1f) << 20;
8705 // op: vs1
8706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8707 Value |= (op & 0x1f) << 15;
8708 break;
8709 }
8710 case RISCV::VFMV_S_F:
8711 case RISCV::VMV_S_X: {
8712 // op: vd
8713 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8714 Value |= (op & 0x1f) << 7;
8715 // op: rs1
8716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8717 Value |= (op & 0x1f) << 15;
8718 break;
8719 }
8720 case RISCV::VDOTA4SU_VX:
8721 case RISCV::VDOTA4US_VX:
8722 case RISCV::VDOTA4U_VX:
8723 case RISCV::VDOTA4_VX: {
8724 // op: vd
8725 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8726 Value |= (op & 0x1f) << 7;
8727 // op: vm
8728 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
8729 Value |= (op & 0x1) << 25;
8730 // op: vs2
8731 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8732 Value |= (op & 0x1f) << 20;
8733 // op: rs1
8734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8735 Value |= (op & 0x1f) << 15;
8736 break;
8737 }
8738 case RISCV::VDOTA4SU_VV:
8739 case RISCV::VDOTA4U_VV:
8740 case RISCV::VDOTA4_VV: {
8741 // op: vd
8742 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8743 Value |= (op & 0x1f) << 7;
8744 // op: vm
8745 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
8746 Value |= (op & 0x1) << 25;
8747 // op: vs2
8748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8749 Value |= (op & 0x1f) << 20;
8750 // op: vs1
8751 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8752 Value |= (op & 0x1f) << 15;
8753 break;
8754 }
8755 case RISCV::TH_VMAQASU_VX:
8756 case RISCV::TH_VMAQAUS_VX:
8757 case RISCV::TH_VMAQAU_VX:
8758 case RISCV::TH_VMAQA_VX:
8759 case RISCV::VFMACC_VF:
8760 case RISCV::VFMADD_VF:
8761 case RISCV::VFMSAC_VF:
8762 case RISCV::VFMSUB_VF:
8763 case RISCV::VFNMACC_VF:
8764 case RISCV::VFNMADD_VF:
8765 case RISCV::VFNMSAC_VF:
8766 case RISCV::VFNMSUB_VF:
8767 case RISCV::VFWMACCBF16_VF:
8768 case RISCV::VFWMACC_VF:
8769 case RISCV::VFWMSAC_VF:
8770 case RISCV::VFWNMACC_VF:
8771 case RISCV::VFWNMSAC_VF:
8772 case RISCV::VMACC_VX:
8773 case RISCV::VMADD_VX:
8774 case RISCV::VNMSAC_VX:
8775 case RISCV::VNMSUB_VX:
8776 case RISCV::VWMACCSU_VX:
8777 case RISCV::VWMACCUS_VX:
8778 case RISCV::VWMACCU_VX:
8779 case RISCV::VWMACC_VX: {
8780 // op: vd
8781 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8782 Value |= (op & 0x1f) << 7;
8783 // op: vm
8784 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
8785 Value |= (op & 0x1) << 25;
8786 // op: vs2
8787 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8788 Value |= (op & 0x1f) << 20;
8789 // op: rs1
8790 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8791 Value |= (op & 0x1f) << 15;
8792 break;
8793 }
8794 case RISCV::TH_VMAQASU_VV:
8795 case RISCV::TH_VMAQAU_VV:
8796 case RISCV::TH_VMAQA_VV:
8797 case RISCV::VFMACC_VV:
8798 case RISCV::VFMADD_VV:
8799 case RISCV::VFMSAC_VV:
8800 case RISCV::VFMSUB_VV:
8801 case RISCV::VFNMACC_VV:
8802 case RISCV::VFNMADD_VV:
8803 case RISCV::VFNMSAC_VV:
8804 case RISCV::VFNMSUB_VV:
8805 case RISCV::VFWMACCBF16_VV:
8806 case RISCV::VFWMACC_VV:
8807 case RISCV::VFWMSAC_VV:
8808 case RISCV::VFWNMACC_VV:
8809 case RISCV::VFWNMSAC_VV:
8810 case RISCV::VMACC_VV:
8811 case RISCV::VMADD_VV:
8812 case RISCV::VNMSAC_VV:
8813 case RISCV::VNMSUB_VV:
8814 case RISCV::VWMACCSU_VV:
8815 case RISCV::VWMACCU_VV:
8816 case RISCV::VWMACC_VV: {
8817 // op: vd
8818 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8819 Value |= (op & 0x1f) << 7;
8820 // op: vm
8821 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
8822 Value |= (op & 0x1) << 25;
8823 // op: vs2
8824 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8825 Value |= (op & 0x1f) << 20;
8826 // op: vs1
8827 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8828 Value |= (op & 0x1f) << 15;
8829 break;
8830 }
8831 case RISCV::VAESDF_VS:
8832 case RISCV::VAESDF_VV:
8833 case RISCV::VAESDM_VS:
8834 case RISCV::VAESDM_VV:
8835 case RISCV::VAESEF_VS:
8836 case RISCV::VAESEF_VV:
8837 case RISCV::VAESEM_VS:
8838 case RISCV::VAESEM_VV:
8839 case RISCV::VAESZ_VS:
8840 case RISCV::VGMUL_VS:
8841 case RISCV::VGMUL_VV:
8842 case RISCV::VSM4R_VS:
8843 case RISCV::VSM4R_VV: {
8844 // op: vd
8845 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8846 Value |= (op & 0x1f) << 7;
8847 // op: vs2
8848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8849 Value |= (op & 0x1f) << 20;
8850 break;
8851 }
8852 case RISCV::VAESKF2_VI:
8853 case RISCV::VSM3C_VI: {
8854 // op: vd
8855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8856 Value |= (op & 0x1f) << 7;
8857 // op: vs2
8858 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8859 Value |= (op & 0x1f) << 20;
8860 // op: imm
8861 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
8862 Value |= (op & 0x1f) << 15;
8863 break;
8864 }
8865 case RISCV::VGHSH_VS:
8866 case RISCV::VGHSH_VV:
8867 case RISCV::VSHA2CH_VV:
8868 case RISCV::VSHA2CL_VV:
8869 case RISCV::VSHA2MS_VV: {
8870 // op: vd
8871 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8872 Value |= (op & 0x1f) << 7;
8873 // op: vs2
8874 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8875 Value |= (op & 0x1f) << 20;
8876 // op: vs1
8877 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8878 Value |= (op & 0x1f) << 15;
8879 break;
8880 }
8881 case RISCV::SF_VFWMACC_4x4x4:
8882 case RISCV::SF_VQMACCSU_2x8x2:
8883 case RISCV::SF_VQMACCSU_4x8x4:
8884 case RISCV::SF_VQMACCUS_2x8x2:
8885 case RISCV::SF_VQMACCUS_4x8x4:
8886 case RISCV::SF_VQMACCU_2x8x2:
8887 case RISCV::SF_VQMACCU_4x8x4:
8888 case RISCV::SF_VQMACC_2x8x2:
8889 case RISCV::SF_VQMACC_4x8x4: {
8890 // op: vd
8891 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8892 Value |= (op & 0x1f) << 7;
8893 // op: vs2
8894 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8895 Value |= (op & 0x1f) << 20;
8896 // op: vs1
8897 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8898 Value |= (op & 0x1f) << 15;
8899 break;
8900 }
8901 case RISCV::NDS_VFWCVT_F_B:
8902 case RISCV::NDS_VFWCVT_F_BU:
8903 case RISCV::NDS_VFWCVT_F_N:
8904 case RISCV::NDS_VFWCVT_F_NU: {
8905 // op: vs
8906 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8907 Value |= (op & 0x1f) << 20;
8908 // op: vd
8909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8910 Value |= (op & 0x1f) << 7;
8911 // op: vm
8912 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
8913 Value |= (op & 0x1) << 25;
8914 break;
8915 }
8916 case RISCV::SF_VC_I: {
8917 // op: vs2
8918 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
8919 Value |= (op & 0x1f) << 20;
8920 // op: vd
8921 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8922 Value |= (op & 0x1f) << 7;
8923 // op: imm
8924 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
8925 Value |= (op & 0x1f) << 15;
8926 // op: funct6_lo2
8927 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8928 Value |= (op & 0x3) << 26;
8929 break;
8930 }
8931 case RISCV::SF_VC_X: {
8932 // op: vs2
8933 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
8934 Value |= (op & 0x1f) << 20;
8935 // op: vd
8936 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8937 Value |= (op & 0x1f) << 7;
8938 // op: rs1
8939 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8940 Value |= (op & 0x1f) << 15;
8941 // op: funct6_lo2
8942 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8943 Value |= (op & 0x3) << 26;
8944 break;
8945 }
8946 case RISCV::SF_VC_V_I: {
8947 // op: vs2
8948 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8949 Value |= (op & 0x1f) << 20;
8950 // op: vd
8951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8952 Value |= (op & 0x1f) << 7;
8953 // op: imm
8954 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
8955 Value |= (op & 0x1f) << 15;
8956 // op: funct6_lo2
8957 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
8958 Value |= (op & 0x3) << 26;
8959 break;
8960 }
8961 case RISCV::SF_VC_V_X: {
8962 // op: vs2
8963 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8964 Value |= (op & 0x1f) << 20;
8965 // op: vd
8966 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8967 Value |= (op & 0x1f) << 7;
8968 // op: rs1
8969 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8970 Value |= (op & 0x1f) << 15;
8971 // op: funct6_lo2
8972 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
8973 Value |= (op & 0x3) << 26;
8974 break;
8975 }
8976 case RISCV::NDS_VFPMADB_VF:
8977 case RISCV::NDS_VFPMADT_VF: {
8978 // op: vs2
8979 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8980 Value |= (op & 0x1f) << 20;
8981 // op: rs1
8982 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8983 Value |= (op & 0x1f) << 15;
8984 // op: vd
8985 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8986 Value |= (op & 0x1f) << 7;
8987 // op: vm
8988 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8989 Value |= (op & 0x1) << 25;
8990 break;
8991 }
8992 case RISCV::NDS_VFNCVT_BF16_S:
8993 case RISCV::NDS_VFWCVT_S_BF16: {
8994 // op: vs2
8995 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8996 Value |= (op & 0x1f) << 20;
8997 // op: vd
8998 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8999 Value |= (op & 0x1f) << 7;
9000 break;
9001 }
9002 case RISCV::SF_MM_E4M3_E4M3:
9003 case RISCV::SF_MM_E4M3_E5M2:
9004 case RISCV::SF_MM_E5M2_E4M3:
9005 case RISCV::SF_MM_E5M2_E5M2:
9006 case RISCV::SF_MM_S_S:
9007 case RISCV::SF_MM_S_U:
9008 case RISCV::SF_MM_U_S:
9009 case RISCV::SF_MM_U_U: {
9010 // op: vs2
9011 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9012 Value |= (op & 0x1f) << 20;
9013 // op: vs1
9014 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9015 Value |= (op & 0x1f) << 15;
9016 // op: rd
9017 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9018 Value |= (op & 0xc) << 8;
9019 break;
9020 }
9021 case RISCV::SF_MM_F_F: {
9022 // op: vs2
9023 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9024 Value |= (op & 0x1f) << 20;
9025 // op: vs1
9026 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9027 Value |= (op & 0x1f) << 15;
9028 // op: rd
9029 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9030 Value |= (op & 0xe) << 8;
9031 break;
9032 }
9033 case RISCV::SF_VC_IV: {
9034 // op: vs2
9035 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9036 Value |= (op & 0x1f) << 20;
9037 // op: vd
9038 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9039 Value |= (op & 0x1f) << 7;
9040 // op: imm
9041 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9042 Value |= (op & 0x1f) << 15;
9043 // op: funct6_lo2
9044 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9045 Value |= (op & 0x3) << 26;
9046 break;
9047 }
9048 case RISCV::SF_VC_FV: {
9049 // op: vs2
9050 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9051 Value |= (op & 0x1f) << 20;
9052 // op: vd
9053 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9054 Value |= (op & 0x1f) << 7;
9055 // op: rs1
9056 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9057 Value |= (op & 0x1f) << 15;
9058 // op: funct6_lo1
9059 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9060 Value |= (op & 0x1) << 26;
9061 break;
9062 }
9063 case RISCV::SF_VC_XV: {
9064 // op: vs2
9065 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9066 Value |= (op & 0x1f) << 20;
9067 // op: vd
9068 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9069 Value |= (op & 0x1f) << 7;
9070 // op: rs1
9071 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9072 Value |= (op & 0x1f) << 15;
9073 // op: funct6_lo2
9074 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9075 Value |= (op & 0x3) << 26;
9076 break;
9077 }
9078 case RISCV::SF_VC_VV: {
9079 // op: vs2
9080 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9081 Value |= (op & 0x1f) << 20;
9082 // op: vd
9083 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9084 Value |= (op & 0x1f) << 7;
9085 // op: vs1
9086 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9087 Value |= (op & 0x1f) << 15;
9088 // op: funct6_lo2
9089 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9090 Value |= (op & 0x3) << 26;
9091 break;
9092 }
9093 case RISCV::SF_VC_V_IV: {
9094 // op: vs2
9095 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9096 Value |= (op & 0x1f) << 20;
9097 // op: vd
9098 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9099 Value |= (op & 0x1f) << 7;
9100 // op: imm
9101 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9102 Value |= (op & 0x1f) << 15;
9103 // op: funct6_lo2
9104 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9105 Value |= (op & 0x3) << 26;
9106 break;
9107 }
9108 case RISCV::SF_VC_V_FV: {
9109 // op: vs2
9110 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9111 Value |= (op & 0x1f) << 20;
9112 // op: vd
9113 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9114 Value |= (op & 0x1f) << 7;
9115 // op: rs1
9116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9117 Value |= (op & 0x1f) << 15;
9118 // op: funct6_lo1
9119 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9120 Value |= (op & 0x1) << 26;
9121 break;
9122 }
9123 case RISCV::SF_VC_V_XV: {
9124 // op: vs2
9125 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9126 Value |= (op & 0x1f) << 20;
9127 // op: vd
9128 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9129 Value |= (op & 0x1f) << 7;
9130 // op: rs1
9131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9132 Value |= (op & 0x1f) << 15;
9133 // op: funct6_lo2
9134 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9135 Value |= (op & 0x3) << 26;
9136 break;
9137 }
9138 case RISCV::SF_VC_V_VV: {
9139 // op: vs2
9140 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9141 Value |= (op & 0x1f) << 20;
9142 // op: vd
9143 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9144 Value |= (op & 0x1f) << 7;
9145 // op: vs1
9146 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9147 Value |= (op & 0x1f) << 15;
9148 // op: funct6_lo2
9149 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9150 Value |= (op & 0x3) << 26;
9151 break;
9152 }
9153 case RISCV::SF_VC_IVV:
9154 case RISCV::SF_VC_IVW: {
9155 // op: vs2
9156 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9157 Value |= (op & 0x1f) << 20;
9158 // op: vd
9159 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9160 Value |= (op & 0x1f) << 7;
9161 // op: imm
9162 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9163 Value |= (op & 0x1f) << 15;
9164 // op: funct6_lo2
9165 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9166 Value |= (op & 0x3) << 26;
9167 break;
9168 }
9169 case RISCV::SF_VC_FVV:
9170 case RISCV::SF_VC_FVW: {
9171 // op: vs2
9172 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9173 Value |= (op & 0x1f) << 20;
9174 // op: vd
9175 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9176 Value |= (op & 0x1f) << 7;
9177 // op: rs1
9178 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9179 Value |= (op & 0x1f) << 15;
9180 // op: funct6_lo1
9181 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9182 Value |= (op & 0x1) << 26;
9183 break;
9184 }
9185 case RISCV::SF_VC_XVV:
9186 case RISCV::SF_VC_XVW: {
9187 // op: vs2
9188 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9189 Value |= (op & 0x1f) << 20;
9190 // op: vd
9191 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9192 Value |= (op & 0x1f) << 7;
9193 // op: rs1
9194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9195 Value |= (op & 0x1f) << 15;
9196 // op: funct6_lo2
9197 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9198 Value |= (op & 0x3) << 26;
9199 break;
9200 }
9201 case RISCV::SF_VC_VVV:
9202 case RISCV::SF_VC_VVW: {
9203 // op: vs2
9204 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9205 Value |= (op & 0x1f) << 20;
9206 // op: vd
9207 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9208 Value |= (op & 0x1f) << 7;
9209 // op: vs1
9210 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9211 Value |= (op & 0x1f) << 15;
9212 // op: funct6_lo2
9213 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9214 Value |= (op & 0x3) << 26;
9215 break;
9216 }
9217 case RISCV::NDS_VD4DOTSU_VV:
9218 case RISCV::NDS_VD4DOTS_VV:
9219 case RISCV::NDS_VD4DOTU_VV: {
9220 // op: vs2
9221 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9222 Value |= (op & 0x1f) << 20;
9223 // op: vs1
9224 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9225 Value |= (op & 0x1f) << 15;
9226 // op: vd
9227 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9228 Value |= (op & 0x1f) << 7;
9229 // op: vm
9230 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
9231 Value |= (op & 0x1) << 25;
9232 break;
9233 }
9234 case RISCV::SF_VC_V_IVV:
9235 case RISCV::SF_VC_V_IVW: {
9236 // op: vs2
9237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9238 Value |= (op & 0x1f) << 20;
9239 // op: vd
9240 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9241 Value |= (op & 0x1f) << 7;
9242 // op: imm
9243 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
9244 Value |= (op & 0x1f) << 15;
9245 // op: funct6_lo2
9246 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9247 Value |= (op & 0x3) << 26;
9248 break;
9249 }
9250 case RISCV::SF_VC_V_FVV:
9251 case RISCV::SF_VC_V_FVW: {
9252 // op: vs2
9253 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9254 Value |= (op & 0x1f) << 20;
9255 // op: vd
9256 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9257 Value |= (op & 0x1f) << 7;
9258 // op: rs1
9259 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9260 Value |= (op & 0x1f) << 15;
9261 // op: funct6_lo1
9262 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9263 Value |= (op & 0x1) << 26;
9264 break;
9265 }
9266 case RISCV::SF_VC_V_XVV:
9267 case RISCV::SF_VC_V_XVW: {
9268 // op: vs2
9269 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9270 Value |= (op & 0x1f) << 20;
9271 // op: vd
9272 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9273 Value |= (op & 0x1f) << 7;
9274 // op: rs1
9275 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9276 Value |= (op & 0x1f) << 15;
9277 // op: funct6_lo2
9278 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9279 Value |= (op & 0x3) << 26;
9280 break;
9281 }
9282 case RISCV::SF_VC_V_VVV:
9283 case RISCV::SF_VC_V_VVW: {
9284 // op: vs2
9285 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9286 Value |= (op & 0x1f) << 20;
9287 // op: vd
9288 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9289 Value |= (op & 0x1f) << 7;
9290 // op: vs1
9291 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9292 Value |= (op & 0x1f) << 15;
9293 // op: funct6_lo2
9294 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9295 Value |= (op & 0x3) << 26;
9296 break;
9297 }
9298 default:
9299 reportUnsupportedInst(Inst: MI);
9300 }
9301 return Value;
9302}
9303
9304#ifdef GET_OPERAND_BIT_OFFSET
9305#undef GET_OPERAND_BIT_OFFSET
9306
9307uint32_t RISCVMCCodeEmitter::getOperandBitOffset(const MCInst &MI,
9308 unsigned OpNum,
9309 const MCSubtargetInfo &STI) const {
9310 switch (MI.getOpcode()) {
9311 case RISCV::C_EBREAK:
9312 case RISCV::C_MOP_11:
9313 case RISCV::C_MOP_13:
9314 case RISCV::C_MOP_15:
9315 case RISCV::C_MOP_3:
9316 case RISCV::C_MOP_7:
9317 case RISCV::C_MOP_9:
9318 case RISCV::C_NOP:
9319 case RISCV::C_SSPOPCHK:
9320 case RISCV::C_SSPUSH:
9321 case RISCV::C_UNIMP:
9322 case RISCV::DRET:
9323 case RISCV::EBREAK:
9324 case RISCV::ECALL:
9325 case RISCV::FENCE_I:
9326 case RISCV::FENCE_TSO:
9327 case RISCV::MIPS_EHB:
9328 case RISCV::MIPS_IHB:
9329 case RISCV::MIPS_PAUSE:
9330 case RISCV::MNRET:
9331 case RISCV::MRET:
9332 case RISCV::QC_C_DI:
9333 case RISCV::QC_C_EI:
9334 case RISCV::QC_C_MIENTER:
9335 case RISCV::QC_C_MIENTER_NEST:
9336 case RISCV::QC_C_MILEAVERET:
9337 case RISCV::QC_C_MNRET:
9338 case RISCV::QC_C_MRET:
9339 case RISCV::SCTRCLR:
9340 case RISCV::SFENCE_INVAL_IR:
9341 case RISCV::SFENCE_W_INVAL:
9342 case RISCV::SF_CEASE:
9343 case RISCV::SF_VTDISCARD:
9344 case RISCV::SRET:
9345 case RISCV::TH_DCACHE_CALL:
9346 case RISCV::TH_DCACHE_CIALL:
9347 case RISCV::TH_DCACHE_IALL:
9348 case RISCV::TH_ICACHE_IALL:
9349 case RISCV::TH_ICACHE_IALLS:
9350 case RISCV::TH_L2CACHE_CALL:
9351 case RISCV::TH_L2CACHE_CIALL:
9352 case RISCV::TH_L2CACHE_IALL:
9353 case RISCV::TH_SYNC:
9354 case RISCV::TH_SYNC_I:
9355 case RISCV::TH_SYNC_IS:
9356 case RISCV::TH_SYNC_S:
9357 case RISCV::UNIMP:
9358 case RISCV::WFI:
9359 case RISCV::WRS_NTO:
9360 case RISCV::WRS_STO: {
9361 break;
9362 }
9363 case RISCV::AIF_FSWG_PS:
9364 case RISCV::AIF_FSWL_PS: {
9365 switch (OpNum) {
9366 case 0:
9367 // op: fs3
9368 return 7;
9369 case 1:
9370 // op: rs1
9371 return 15;
9372 }
9373 break;
9374 }
9375 case RISCV::C_NOP_HINT: {
9376 switch (OpNum) {
9377 case 0:
9378 // op: imm
9379 return 2;
9380 }
9381 break;
9382 }
9383 case RISCV::QC_CLRINTI:
9384 case RISCV::QC_SETINTI: {
9385 switch (OpNum) {
9386 case 0:
9387 // op: imm10
9388 return 15;
9389 }
9390 break;
9391 }
9392 case RISCV::QC_E_J:
9393 case RISCV::QC_E_JAL: {
9394 switch (OpNum) {
9395 case 0:
9396 // op: imm31
9397 return 7;
9398 }
9399 break;
9400 }
9401 case RISCV::QC_SYNC:
9402 case RISCV::QC_SYNCR:
9403 case RISCV::QC_SYNCWF:
9404 case RISCV::QC_SYNCWL: {
9405 switch (OpNum) {
9406 case 0:
9407 // op: imm5
9408 return 20;
9409 }
9410 break;
9411 }
9412 case RISCV::QC_PPUTCI: {
9413 switch (OpNum) {
9414 case 0:
9415 // op: imm8
9416 return 20;
9417 }
9418 break;
9419 }
9420 case RISCV::CM_JALT:
9421 case RISCV::CM_JT: {
9422 switch (OpNum) {
9423 case 0:
9424 // op: index
9425 return 2;
9426 }
9427 break;
9428 }
9429 case RISCV::C_J:
9430 case RISCV::C_JAL: {
9431 switch (OpNum) {
9432 case 0:
9433 // op: offset
9434 return 2;
9435 }
9436 break;
9437 }
9438 case RISCV::InsnQC_EJ: {
9439 switch (OpNum) {
9440 case 0:
9441 // op: opcode
9442 return 0;
9443 case 1:
9444 // op: func3
9445 return 12;
9446 case 2:
9447 // op: func2
9448 return 15;
9449 case 3:
9450 // op: func5
9451 return 20;
9452 case 4:
9453 // op: imm31
9454 return 7;
9455 }
9456 break;
9457 }
9458 case RISCV::InsnQC_ES: {
9459 switch (OpNum) {
9460 case 0:
9461 // op: opcode
9462 return 0;
9463 case 1:
9464 // op: func3
9465 return 12;
9466 case 2:
9467 // op: func2
9468 return 30;
9469 case 4:
9470 // op: rs1
9471 return 15;
9472 case 3:
9473 // op: rs2
9474 return 20;
9475 case 5:
9476 // op: imm26
9477 return 7;
9478 }
9479 break;
9480 }
9481 case RISCV::InsnQC_EB: {
9482 switch (OpNum) {
9483 case 0:
9484 // op: opcode
9485 return 0;
9486 case 1:
9487 // op: func3
9488 return 12;
9489 case 2:
9490 // op: func5
9491 return 20;
9492 case 3:
9493 // op: rs1
9494 return 15;
9495 case 5:
9496 // op: imm12
9497 return 7;
9498 case 4:
9499 // op: imm16
9500 return 32;
9501 }
9502 break;
9503 }
9504 case RISCV::InsnS: {
9505 switch (OpNum) {
9506 case 0:
9507 // op: opcode
9508 return 0;
9509 case 1:
9510 // op: funct3
9511 return 12;
9512 case 4:
9513 // op: imm12
9514 return 7;
9515 case 2:
9516 // op: rs2
9517 return 20;
9518 case 3:
9519 // op: rs1
9520 return 15;
9521 }
9522 break;
9523 }
9524 case RISCV::InsnB: {
9525 switch (OpNum) {
9526 case 0:
9527 // op: opcode
9528 return 0;
9529 case 1:
9530 // op: funct3
9531 return 12;
9532 case 4:
9533 // op: imm12
9534 return 7;
9535 case 3:
9536 // op: rs2
9537 return 20;
9538 case 2:
9539 // op: rs1
9540 return 15;
9541 }
9542 break;
9543 }
9544 case RISCV::InsnCJ: {
9545 switch (OpNum) {
9546 case 0:
9547 // op: opcode
9548 return 0;
9549 case 1:
9550 // op: funct3
9551 return 13;
9552 case 2:
9553 // op: imm11
9554 return 2;
9555 }
9556 break;
9557 }
9558 case RISCV::InsnCSS: {
9559 switch (OpNum) {
9560 case 0:
9561 // op: opcode
9562 return 0;
9563 case 1:
9564 // op: funct3
9565 return 13;
9566 case 3:
9567 // op: imm6
9568 return 7;
9569 case 2:
9570 // op: rs2
9571 return 2;
9572 }
9573 break;
9574 }
9575 case RISCV::InsnCB: {
9576 switch (OpNum) {
9577 case 0:
9578 // op: opcode
9579 return 0;
9580 case 1:
9581 // op: funct3
9582 return 13;
9583 case 3:
9584 // op: imm8
9585 return 2;
9586 case 2:
9587 // op: rs1
9588 return 7;
9589 }
9590 break;
9591 }
9592 case RISCV::InsnCS: {
9593 switch (OpNum) {
9594 case 0:
9595 // op: opcode
9596 return 0;
9597 case 1:
9598 // op: funct3
9599 return 13;
9600 case 4:
9601 // op: imm5
9602 return 5;
9603 case 2:
9604 // op: rs2
9605 return 2;
9606 case 3:
9607 // op: rs1
9608 return 7;
9609 }
9610 break;
9611 }
9612 case RISCV::FENCE: {
9613 switch (OpNum) {
9614 case 0:
9615 // op: pred
9616 return 24;
9617 case 1:
9618 // op: succ
9619 return 20;
9620 }
9621 break;
9622 }
9623 case RISCV::C_FLD:
9624 case RISCV::C_FLW:
9625 case RISCV::C_LBU:
9626 case RISCV::C_LD:
9627 case RISCV::C_LD_RV32:
9628 case RISCV::C_LH:
9629 case RISCV::C_LHU:
9630 case RISCV::C_LH_INX:
9631 case RISCV::C_LW:
9632 case RISCV::C_LW_INX:
9633 case RISCV::QK_C_LBU:
9634 case RISCV::QK_C_LHU: {
9635 switch (OpNum) {
9636 case 0:
9637 // op: rd
9638 return 2;
9639 case 1:
9640 // op: rs1
9641 return 7;
9642 case 2:
9643 // op: imm
9644 return 5;
9645 }
9646 break;
9647 }
9648 case RISCV::FLI_D:
9649 case RISCV::FLI_H:
9650 case RISCV::FLI_Q:
9651 case RISCV::FLI_S: {
9652 switch (OpNum) {
9653 case 0:
9654 // op: rd
9655 return 7;
9656 case 1:
9657 // op: imm
9658 return 15;
9659 }
9660 break;
9661 }
9662 case RISCV::QC_E_LI: {
9663 switch (OpNum) {
9664 case 0:
9665 // op: rd
9666 return 7;
9667 case 1:
9668 // op: imm
9669 return 16;
9670 }
9671 break;
9672 }
9673 case RISCV::PLI_H:
9674 case RISCV::PLI_W:
9675 case RISCV::PLUI_H:
9676 case RISCV::PLUI_W: {
9677 switch (OpNum) {
9678 case 0:
9679 // op: rd
9680 return 7;
9681 case 1:
9682 // op: imm10
9683 return 15;
9684 }
9685 break;
9686 }
9687 case RISCV::PLI_B: {
9688 switch (OpNum) {
9689 case 0:
9690 // op: rd
9691 return 7;
9692 case 1:
9693 // op: imm8
9694 return 16;
9695 }
9696 break;
9697 }
9698 case RISCV::AIF_FMVS_X_PS:
9699 case RISCV::AIF_FMVZ_X_PS: {
9700 switch (OpNum) {
9701 case 0:
9702 // op: rd
9703 return 7;
9704 case 1:
9705 // op: rs1
9706 return 15;
9707 case 2:
9708 // op: idx
9709 return 20;
9710 }
9711 break;
9712 }
9713 case RISCV::AIF_FSWIZZ_PS: {
9714 switch (OpNum) {
9715 case 0:
9716 // op: rd
9717 return 7;
9718 case 1:
9719 // op: rs1
9720 return 15;
9721 case 2:
9722 // op: imm
9723 return 12;
9724 }
9725 break;
9726 }
9727 case RISCV::QC_E_ADDI:
9728 case RISCV::QC_E_ANDI:
9729 case RISCV::QC_E_LB:
9730 case RISCV::QC_E_LBU:
9731 case RISCV::QC_E_LH:
9732 case RISCV::QC_E_LHU:
9733 case RISCV::QC_E_LW:
9734 case RISCV::QC_E_ORI:
9735 case RISCV::QC_E_XORI: {
9736 switch (OpNum) {
9737 case 0:
9738 // op: rd
9739 return 7;
9740 case 1:
9741 // op: rs1
9742 return 15;
9743 case 2:
9744 // op: imm
9745 return 20;
9746 }
9747 break;
9748 }
9749 case RISCV::NDS_BFOS:
9750 case RISCV::NDS_BFOZ: {
9751 switch (OpNum) {
9752 case 0:
9753 // op: rd
9754 return 7;
9755 case 1:
9756 // op: rs1
9757 return 15;
9758 case 2:
9759 // op: msb
9760 return 26;
9761 case 3:
9762 // op: lsb
9763 return 20;
9764 }
9765 break;
9766 }
9767 case RISCV::AIF_FCVT_PS_PW:
9768 case RISCV::AIF_FCVT_PS_PWU:
9769 case RISCV::AIF_FCVT_PWU_PS:
9770 case RISCV::AIF_FCVT_PW_PS: {
9771 switch (OpNum) {
9772 case 0:
9773 // op: rd
9774 return 7;
9775 case 1:
9776 // op: rs1
9777 return 15;
9778 case 2:
9779 // op: rm
9780 return 12;
9781 }
9782 break;
9783 }
9784 case RISCV::AIF_FADD_PS:
9785 case RISCV::AIF_FDIV_PS:
9786 case RISCV::AIF_FMUL_PS:
9787 case RISCV::AIF_FSUB_PS: {
9788 switch (OpNum) {
9789 case 0:
9790 // op: rd
9791 return 7;
9792 case 1:
9793 // op: rs1
9794 return 15;
9795 case 2:
9796 // op: rs2
9797 return 20;
9798 case 3:
9799 // op: rm
9800 return 12;
9801 }
9802 break;
9803 }
9804 case RISCV::AIF_FMADD_PS:
9805 case RISCV::AIF_FMSUB_PS:
9806 case RISCV::AIF_FNMADD_PS:
9807 case RISCV::AIF_FNMSUB_PS: {
9808 switch (OpNum) {
9809 case 0:
9810 // op: rd
9811 return 7;
9812 case 1:
9813 // op: rs1
9814 return 15;
9815 case 2:
9816 // op: rs2
9817 return 20;
9818 case 3:
9819 // op: rs3
9820 return 27;
9821 case 4:
9822 // op: rm
9823 return 12;
9824 }
9825 break;
9826 }
9827 case RISCV::AIF_FCMOV_PS: {
9828 switch (OpNum) {
9829 case 0:
9830 // op: rd
9831 return 7;
9832 case 1:
9833 // op: rs1
9834 return 15;
9835 case 2:
9836 // op: rs2
9837 return 20;
9838 case 3:
9839 // op: rs3
9840 return 27;
9841 }
9842 break;
9843 }
9844 case RISCV::VSETIVLI: {
9845 switch (OpNum) {
9846 case 0:
9847 // op: rd
9848 return 7;
9849 case 1:
9850 // op: uimm
9851 return 15;
9852 case 2:
9853 // op: vtypei
9854 return 20;
9855 }
9856 break;
9857 }
9858 case RISCV::VFMV_F_S:
9859 case RISCV::VMV_X_S: {
9860 switch (OpNum) {
9861 case 0:
9862 // op: rd
9863 return 7;
9864 case 1:
9865 // op: vs2
9866 return 20;
9867 }
9868 break;
9869 }
9870 case RISCV::VCPOP_M:
9871 case RISCV::VFIRST_M: {
9872 switch (OpNum) {
9873 case 0:
9874 // op: rd
9875 return 7;
9876 case 2:
9877 // op: vm
9878 return 25;
9879 case 1:
9880 // op: vs2
9881 return 20;
9882 }
9883 break;
9884 }
9885 case RISCV::AIF_MOVA_X_M:
9886 case RISCV::QC_C_DIR:
9887 case RISCV::SSRDP: {
9888 switch (OpNum) {
9889 case 0:
9890 // op: rd
9891 return 7;
9892 }
9893 break;
9894 }
9895 case RISCV::PLI_DH:
9896 case RISCV::PLUI_DH: {
9897 switch (OpNum) {
9898 case 0:
9899 // op: rd
9900 return 8;
9901 case 1:
9902 // op: imm10
9903 return 15;
9904 }
9905 break;
9906 }
9907 case RISCV::PLI_DB: {
9908 switch (OpNum) {
9909 case 0:
9910 // op: rd
9911 return 8;
9912 case 1:
9913 // op: imm8
9914 return 16;
9915 }
9916 break;
9917 }
9918 case RISCV::SF_VTZERO_T: {
9919 switch (OpNum) {
9920 case 0:
9921 // op: rd
9922 return 8;
9923 }
9924 break;
9925 }
9926 case RISCV::QK_C_LBUSP:
9927 case RISCV::QK_C_LHUSP:
9928 case RISCV::QK_C_SBSP:
9929 case RISCV::QK_C_SHSP: {
9930 switch (OpNum) {
9931 case 0:
9932 // op: rd_rs2
9933 return 2;
9934 case 2:
9935 // op: imm
9936 return 7;
9937 }
9938 break;
9939 }
9940 case RISCV::CM_POP:
9941 case RISCV::CM_POPRET:
9942 case RISCV::CM_POPRETZ:
9943 case RISCV::CM_PUSH:
9944 case RISCV::QC_CM_POP:
9945 case RISCV::QC_CM_POPRET:
9946 case RISCV::QC_CM_POPRETZ:
9947 case RISCV::QC_CM_PUSH:
9948 case RISCV::QC_CM_PUSHFP: {
9949 switch (OpNum) {
9950 case 0:
9951 // op: rlist
9952 return 4;
9953 case 1:
9954 // op: stackadj
9955 return 2;
9956 }
9957 break;
9958 }
9959 case RISCV::QC_E_BEQI:
9960 case RISCV::QC_E_BGEI:
9961 case RISCV::QC_E_BGEUI:
9962 case RISCV::QC_E_BLTI:
9963 case RISCV::QC_E_BLTUI:
9964 case RISCV::QC_E_BNEI: {
9965 switch (OpNum) {
9966 case 0:
9967 // op: rs1
9968 return 15;
9969 case 1:
9970 // op: imm16
9971 return 32;
9972 case 2:
9973 // op: imm12
9974 return 7;
9975 }
9976 break;
9977 }
9978 case RISCV::AIF_MOVA_M_X:
9979 case RISCV::CBO_CLEAN:
9980 case RISCV::CBO_FLUSH:
9981 case RISCV::CBO_INVAL:
9982 case RISCV::CBO_ZERO:
9983 case RISCV::SF_CDISCARD_D_L1:
9984 case RISCV::SF_CFLUSH_D_L1:
9985 case RISCV::SSPOPCHK:
9986 case RISCV::TH_DCACHE_CIPA:
9987 case RISCV::TH_DCACHE_CISW:
9988 case RISCV::TH_DCACHE_CIVA:
9989 case RISCV::TH_DCACHE_CPA:
9990 case RISCV::TH_DCACHE_CPAL1:
9991 case RISCV::TH_DCACHE_CSW:
9992 case RISCV::TH_DCACHE_CVA:
9993 case RISCV::TH_DCACHE_CVAL1:
9994 case RISCV::TH_DCACHE_IPA:
9995 case RISCV::TH_DCACHE_ISW:
9996 case RISCV::TH_DCACHE_IVA:
9997 case RISCV::TH_ICACHE_IPA:
9998 case RISCV::TH_ICACHE_IVA: {
9999 switch (OpNum) {
10000 case 0:
10001 // op: rs1
10002 return 15;
10003 }
10004 break;
10005 }
10006 case RISCV::C_MV: {
10007 switch (OpNum) {
10008 case 0:
10009 // op: rs1
10010 return 7;
10011 case 1:
10012 // op: rs2
10013 return 2;
10014 }
10015 break;
10016 }
10017 case RISCV::C_JALR:
10018 case RISCV::C_JR:
10019 case RISCV::QC_C_CLRINT:
10020 case RISCV::QC_C_EIR:
10021 case RISCV::QC_C_SETINT: {
10022 switch (OpNum) {
10023 case 0:
10024 // op: rs1
10025 return 7;
10026 }
10027 break;
10028 }
10029 case RISCV::AIF_SBG:
10030 case RISCV::AIF_SBL:
10031 case RISCV::AIF_SHG:
10032 case RISCV::AIF_SHL:
10033 case RISCV::HSV_B:
10034 case RISCV::HSV_D:
10035 case RISCV::HSV_H:
10036 case RISCV::HSV_W:
10037 case RISCV::SB_AQRL:
10038 case RISCV::SB_RL:
10039 case RISCV::SD_AQRL:
10040 case RISCV::SD_RL:
10041 case RISCV::SF_VLTE16:
10042 case RISCV::SF_VLTE32:
10043 case RISCV::SF_VLTE64:
10044 case RISCV::SF_VLTE8:
10045 case RISCV::SF_VSTE16:
10046 case RISCV::SF_VSTE32:
10047 case RISCV::SF_VSTE64:
10048 case RISCV::SF_VSTE8:
10049 case RISCV::SH_AQRL:
10050 case RISCV::SH_RL:
10051 case RISCV::SW_AQRL:
10052 case RISCV::SW_RL: {
10053 switch (OpNum) {
10054 case 0:
10055 // op: rs2
10056 return 20;
10057 case 1:
10058 // op: rs1
10059 return 15;
10060 }
10061 break;
10062 }
10063 case RISCV::SSPUSH: {
10064 switch (OpNum) {
10065 case 0:
10066 // op: rs2
10067 return 20;
10068 }
10069 break;
10070 }
10071 case RISCV::C_FSD:
10072 case RISCV::C_FSW:
10073 case RISCV::C_SB:
10074 case RISCV::C_SD:
10075 case RISCV::C_SD_RV32:
10076 case RISCV::C_SH:
10077 case RISCV::C_SH_INX:
10078 case RISCV::C_SW:
10079 case RISCV::C_SW_INX:
10080 case RISCV::QK_C_SB:
10081 case RISCV::QK_C_SH: {
10082 switch (OpNum) {
10083 case 0:
10084 // op: rs2
10085 return 2;
10086 case 1:
10087 // op: rs1
10088 return 7;
10089 case 2:
10090 // op: imm
10091 return 5;
10092 }
10093 break;
10094 }
10095 case RISCV::QC_C_SYNC:
10096 case RISCV::QC_C_SYNCR:
10097 case RISCV::QC_C_SYNCWF:
10098 case RISCV::QC_C_SYNCWL: {
10099 switch (OpNum) {
10100 case 0:
10101 // op: slist
10102 return 7;
10103 }
10104 break;
10105 }
10106 case RISCV::Insn16:
10107 case RISCV::Insn32:
10108 case RISCV::Insn48:
10109 case RISCV::Insn64: {
10110 switch (OpNum) {
10111 case 0:
10112 // op: value
10113 return 0;
10114 }
10115 break;
10116 }
10117 case RISCV::VMV_V_I: {
10118 switch (OpNum) {
10119 case 0:
10120 // op: vd
10121 return 7;
10122 case 1:
10123 // op: imm
10124 return 15;
10125 }
10126 break;
10127 }
10128 case RISCV::VFMV_V_F:
10129 case RISCV::VMV_V_X: {
10130 switch (OpNum) {
10131 case 0:
10132 // op: vd
10133 return 7;
10134 case 1:
10135 // op: rs1
10136 return 15;
10137 }
10138 break;
10139 }
10140 case RISCV::VID_V: {
10141 switch (OpNum) {
10142 case 0:
10143 // op: vd
10144 return 7;
10145 case 1:
10146 // op: vm
10147 return 25;
10148 }
10149 break;
10150 }
10151 case RISCV::VMV_V_V: {
10152 switch (OpNum) {
10153 case 0:
10154 // op: vd
10155 return 7;
10156 case 1:
10157 // op: vs1
10158 return 15;
10159 }
10160 break;
10161 }
10162 case RISCV::VADC_VIM:
10163 case RISCV::VAESKF1_VI:
10164 case RISCV::VMADC_VI:
10165 case RISCV::VMADC_VIM:
10166 case RISCV::VMERGE_VIM:
10167 case RISCV::VSM4K_VI: {
10168 switch (OpNum) {
10169 case 0:
10170 // op: vd
10171 return 7;
10172 case 1:
10173 // op: vs2
10174 return 20;
10175 case 2:
10176 // op: imm
10177 return 15;
10178 }
10179 break;
10180 }
10181 case RISCV::VADC_VXM:
10182 case RISCV::VFMERGE_VFM:
10183 case RISCV::VMADC_VX:
10184 case RISCV::VMADC_VXM:
10185 case RISCV::VMERGE_VXM:
10186 case RISCV::VMSBC_VX:
10187 case RISCV::VMSBC_VXM:
10188 case RISCV::VSBC_VXM: {
10189 switch (OpNum) {
10190 case 0:
10191 // op: vd
10192 return 7;
10193 case 1:
10194 // op: vs2
10195 return 20;
10196 case 2:
10197 // op: rs1
10198 return 15;
10199 }
10200 break;
10201 }
10202 case RISCV::VADC_VVM:
10203 case RISCV::VCOMPRESS_VM:
10204 case RISCV::VMADC_VV:
10205 case RISCV::VMADC_VVM:
10206 case RISCV::VMANDN_MM:
10207 case RISCV::VMAND_MM:
10208 case RISCV::VMERGE_VVM:
10209 case RISCV::VMNAND_MM:
10210 case RISCV::VMNOR_MM:
10211 case RISCV::VMORN_MM:
10212 case RISCV::VMOR_MM:
10213 case RISCV::VMSBC_VV:
10214 case RISCV::VMSBC_VVM:
10215 case RISCV::VMXNOR_MM:
10216 case RISCV::VMXOR_MM:
10217 case RISCV::VSBC_VVM:
10218 case RISCV::VSM3ME_VV: {
10219 switch (OpNum) {
10220 case 0:
10221 // op: vd
10222 return 7;
10223 case 1:
10224 // op: vs2
10225 return 20;
10226 case 2:
10227 // op: vs1
10228 return 15;
10229 }
10230 break;
10231 }
10232 case RISCV::VMV1R_V:
10233 case RISCV::VMV2R_V:
10234 case RISCV::VMV4R_V:
10235 case RISCV::VMV8R_V: {
10236 switch (OpNum) {
10237 case 0:
10238 // op: vd
10239 return 7;
10240 case 1:
10241 // op: vs2
10242 return 20;
10243 }
10244 break;
10245 }
10246 case RISCV::SF_VFEXPA_V:
10247 case RISCV::SF_VFEXP_V:
10248 case RISCV::VABS_V:
10249 case RISCV::VBREV8_V:
10250 case RISCV::VBREV_V:
10251 case RISCV::VCLZ_V:
10252 case RISCV::VCPOP_V:
10253 case RISCV::VCTZ_V:
10254 case RISCV::VFCLASS_V:
10255 case RISCV::VFCVT_F_XU_V:
10256 case RISCV::VFCVT_F_X_V:
10257 case RISCV::VFCVT_RTZ_XU_F_V:
10258 case RISCV::VFCVT_RTZ_X_F_V:
10259 case RISCV::VFCVT_XU_F_V:
10260 case RISCV::VFCVT_X_F_V:
10261 case RISCV::VFNCVTBF16_F_F_W:
10262 case RISCV::VFNCVTBF16_SAT_F_F_W:
10263 case RISCV::VFNCVT_F_F_Q:
10264 case RISCV::VFNCVT_F_F_W:
10265 case RISCV::VFNCVT_F_XU_W:
10266 case RISCV::VFNCVT_F_X_W:
10267 case RISCV::VFNCVT_ROD_F_F_W:
10268 case RISCV::VFNCVT_RTZ_XU_F_W:
10269 case RISCV::VFNCVT_RTZ_X_F_W:
10270 case RISCV::VFNCVT_SAT_F_F_Q:
10271 case RISCV::VFNCVT_XU_F_W:
10272 case RISCV::VFNCVT_X_F_W:
10273 case RISCV::VFREC7_V:
10274 case RISCV::VFRSQRT7_V:
10275 case RISCV::VFSQRT_V:
10276 case RISCV::VFWCVTBF16_F_F_V:
10277 case RISCV::VFWCVT_F_F_V:
10278 case RISCV::VFWCVT_F_XU_V:
10279 case RISCV::VFWCVT_F_X_V:
10280 case RISCV::VFWCVT_RTZ_XU_F_V:
10281 case RISCV::VFWCVT_RTZ_X_F_V:
10282 case RISCV::VFWCVT_XU_F_V:
10283 case RISCV::VFWCVT_X_F_V:
10284 case RISCV::VIOTA_M:
10285 case RISCV::VMSBF_M:
10286 case RISCV::VMSIF_M:
10287 case RISCV::VMSOF_M:
10288 case RISCV::VREV8_V:
10289 case RISCV::VSEXT_VF2:
10290 case RISCV::VSEXT_VF4:
10291 case RISCV::VSEXT_VF8:
10292 case RISCV::VZEXT_VF2:
10293 case RISCV::VZEXT_VF4:
10294 case RISCV::VZEXT_VF8: {
10295 switch (OpNum) {
10296 case 0:
10297 // op: vd
10298 return 7;
10299 case 2:
10300 // op: vm
10301 return 25;
10302 case 1:
10303 // op: vs2
10304 return 20;
10305 }
10306 break;
10307 }
10308 case RISCV::VADD_VI:
10309 case RISCV::VAND_VI:
10310 case RISCV::VMSEQ_VI:
10311 case RISCV::VMSGTU_VI:
10312 case RISCV::VMSGT_VI:
10313 case RISCV::VMSLEU_VI:
10314 case RISCV::VMSLE_VI:
10315 case RISCV::VMSNE_VI:
10316 case RISCV::VNCLIPU_WI:
10317 case RISCV::VNCLIP_WI:
10318 case RISCV::VNSRA_WI:
10319 case RISCV::VNSRL_WI:
10320 case RISCV::VOR_VI:
10321 case RISCV::VRGATHER_VI:
10322 case RISCV::VROR_VI:
10323 case RISCV::VRSUB_VI:
10324 case RISCV::VSADDU_VI:
10325 case RISCV::VSADD_VI:
10326 case RISCV::VSLIDEDOWN_VI:
10327 case RISCV::VSLIDEUP_VI:
10328 case RISCV::VSLL_VI:
10329 case RISCV::VSRA_VI:
10330 case RISCV::VSRL_VI:
10331 case RISCV::VSSRA_VI:
10332 case RISCV::VSSRL_VI:
10333 case RISCV::VWSLL_VI:
10334 case RISCV::VXOR_VI: {
10335 switch (OpNum) {
10336 case 0:
10337 // op: vd
10338 return 7;
10339 case 3:
10340 // op: vm
10341 return 25;
10342 case 1:
10343 // op: vs2
10344 return 20;
10345 case 2:
10346 // op: imm
10347 return 15;
10348 }
10349 break;
10350 }
10351 case RISCV::SF_VFNRCLIP_XU_F_QF:
10352 case RISCV::SF_VFNRCLIP_X_F_QF:
10353 case RISCV::VAADDU_VX:
10354 case RISCV::VAADD_VX:
10355 case RISCV::VADD_VX:
10356 case RISCV::VANDN_VX:
10357 case RISCV::VAND_VX:
10358 case RISCV::VASUBU_VX:
10359 case RISCV::VASUB_VX:
10360 case RISCV::VCLMULH_VX:
10361 case RISCV::VCLMUL_VX:
10362 case RISCV::VDIVU_VX:
10363 case RISCV::VDIV_VX:
10364 case RISCV::VFADD_VF:
10365 case RISCV::VFDIV_VF:
10366 case RISCV::VFMAX_VF:
10367 case RISCV::VFMIN_VF:
10368 case RISCV::VFMUL_VF:
10369 case RISCV::VFRDIV_VF:
10370 case RISCV::VFRSUB_VF:
10371 case RISCV::VFSGNJN_VF:
10372 case RISCV::VFSGNJX_VF:
10373 case RISCV::VFSGNJ_VF:
10374 case RISCV::VFSLIDE1DOWN_VF:
10375 case RISCV::VFSLIDE1UP_VF:
10376 case RISCV::VFSUB_VF:
10377 case RISCV::VFWADD_VF:
10378 case RISCV::VFWADD_WF:
10379 case RISCV::VFWMUL_VF:
10380 case RISCV::VFWSUB_VF:
10381 case RISCV::VFWSUB_WF:
10382 case RISCV::VMAXU_VX:
10383 case RISCV::VMAX_VX:
10384 case RISCV::VMFEQ_VF:
10385 case RISCV::VMFGE_VF:
10386 case RISCV::VMFGT_VF:
10387 case RISCV::VMFLE_VF:
10388 case RISCV::VMFLT_VF:
10389 case RISCV::VMFNE_VF:
10390 case RISCV::VMINU_VX:
10391 case RISCV::VMIN_VX:
10392 case RISCV::VMSEQ_VX:
10393 case RISCV::VMSGTU_VX:
10394 case RISCV::VMSGT_VX:
10395 case RISCV::VMSLEU_VX:
10396 case RISCV::VMSLE_VX:
10397 case RISCV::VMSLTU_VX:
10398 case RISCV::VMSLT_VX:
10399 case RISCV::VMSNE_VX:
10400 case RISCV::VMULHSU_VX:
10401 case RISCV::VMULHU_VX:
10402 case RISCV::VMULH_VX:
10403 case RISCV::VMUL_VX:
10404 case RISCV::VNCLIPU_WX:
10405 case RISCV::VNCLIP_WX:
10406 case RISCV::VNSRA_WX:
10407 case RISCV::VNSRL_WX:
10408 case RISCV::VOR_VX:
10409 case RISCV::VREMU_VX:
10410 case RISCV::VREM_VX:
10411 case RISCV::VRGATHER_VX:
10412 case RISCV::VROL_VX:
10413 case RISCV::VROR_VX:
10414 case RISCV::VRSUB_VX:
10415 case RISCV::VSADDU_VX:
10416 case RISCV::VSADD_VX:
10417 case RISCV::VSLIDE1DOWN_VX:
10418 case RISCV::VSLIDE1UP_VX:
10419 case RISCV::VSLIDEDOWN_VX:
10420 case RISCV::VSLIDEUP_VX:
10421 case RISCV::VSLL_VX:
10422 case RISCV::VSMUL_VX:
10423 case RISCV::VSRA_VX:
10424 case RISCV::VSRL_VX:
10425 case RISCV::VSSRA_VX:
10426 case RISCV::VSSRL_VX:
10427 case RISCV::VSSUBU_VX:
10428 case RISCV::VSSUB_VX:
10429 case RISCV::VSUB_VX:
10430 case RISCV::VWADDU_VX:
10431 case RISCV::VWADDU_WX:
10432 case RISCV::VWADD_VX:
10433 case RISCV::VWADD_WX:
10434 case RISCV::VWMULSU_VX:
10435 case RISCV::VWMULU_VX:
10436 case RISCV::VWMUL_VX:
10437 case RISCV::VWSLL_VX:
10438 case RISCV::VWSUBU_VX:
10439 case RISCV::VWSUBU_WX:
10440 case RISCV::VWSUB_VX:
10441 case RISCV::VWSUB_WX:
10442 case RISCV::VXOR_VX: {
10443 switch (OpNum) {
10444 case 0:
10445 // op: vd
10446 return 7;
10447 case 3:
10448 // op: vm
10449 return 25;
10450 case 1:
10451 // op: vs2
10452 return 20;
10453 case 2:
10454 // op: rs1
10455 return 15;
10456 }
10457 break;
10458 }
10459 case RISCV::RI_VUNZIP2A_VV:
10460 case RISCV::RI_VUNZIP2B_VV:
10461 case RISCV::RI_VZIP2A_VV:
10462 case RISCV::RI_VZIP2B_VV:
10463 case RISCV::RI_VZIPEVEN_VV:
10464 case RISCV::RI_VZIPODD_VV:
10465 case RISCV::VAADDU_VV:
10466 case RISCV::VAADD_VV:
10467 case RISCV::VABDU_VV:
10468 case RISCV::VABD_VV:
10469 case RISCV::VADD_VV:
10470 case RISCV::VANDN_VV:
10471 case RISCV::VAND_VV:
10472 case RISCV::VASUBU_VV:
10473 case RISCV::VASUB_VV:
10474 case RISCV::VCLMULH_VV:
10475 case RISCV::VCLMUL_VV:
10476 case RISCV::VDIVU_VV:
10477 case RISCV::VDIV_VV:
10478 case RISCV::VFADD_VV:
10479 case RISCV::VFDIV_VV:
10480 case RISCV::VFMAX_VV:
10481 case RISCV::VFMIN_VV:
10482 case RISCV::VFMUL_VV:
10483 case RISCV::VFREDMAX_VS:
10484 case RISCV::VFREDMIN_VS:
10485 case RISCV::VFREDOSUM_VS:
10486 case RISCV::VFREDUSUM_VS:
10487 case RISCV::VFSGNJN_VV:
10488 case RISCV::VFSGNJX_VV:
10489 case RISCV::VFSGNJ_VV:
10490 case RISCV::VFSUB_VV:
10491 case RISCV::VFWADD_VV:
10492 case RISCV::VFWADD_WV:
10493 case RISCV::VFWMUL_VV:
10494 case RISCV::VFWREDOSUM_VS:
10495 case RISCV::VFWREDUSUM_VS:
10496 case RISCV::VFWSUB_VV:
10497 case RISCV::VFWSUB_WV:
10498 case RISCV::VMAXU_VV:
10499 case RISCV::VMAX_VV:
10500 case RISCV::VMFEQ_VV:
10501 case RISCV::VMFLE_VV:
10502 case RISCV::VMFLT_VV:
10503 case RISCV::VMFNE_VV:
10504 case RISCV::VMINU_VV:
10505 case RISCV::VMIN_VV:
10506 case RISCV::VMSEQ_VV:
10507 case RISCV::VMSLEU_VV:
10508 case RISCV::VMSLE_VV:
10509 case RISCV::VMSLTU_VV:
10510 case RISCV::VMSLT_VV:
10511 case RISCV::VMSNE_VV:
10512 case RISCV::VMULHSU_VV:
10513 case RISCV::VMULHU_VV:
10514 case RISCV::VMULH_VV:
10515 case RISCV::VMUL_VV:
10516 case RISCV::VNCLIPU_WV:
10517 case RISCV::VNCLIP_WV:
10518 case RISCV::VNSRA_WV:
10519 case RISCV::VNSRL_WV:
10520 case RISCV::VOR_VV:
10521 case RISCV::VREDAND_VS:
10522 case RISCV::VREDMAXU_VS:
10523 case RISCV::VREDMAX_VS:
10524 case RISCV::VREDMINU_VS:
10525 case RISCV::VREDMIN_VS:
10526 case RISCV::VREDOR_VS:
10527 case RISCV::VREDSUM_VS:
10528 case RISCV::VREDXOR_VS:
10529 case RISCV::VREMU_VV:
10530 case RISCV::VREM_VV:
10531 case RISCV::VRGATHEREI16_VV:
10532 case RISCV::VRGATHER_VV:
10533 case RISCV::VROL_VV:
10534 case RISCV::VROR_VV:
10535 case RISCV::VSADDU_VV:
10536 case RISCV::VSADD_VV:
10537 case RISCV::VSLL_VV:
10538 case RISCV::VSMUL_VV:
10539 case RISCV::VSRA_VV:
10540 case RISCV::VSRL_VV:
10541 case RISCV::VSSRA_VV:
10542 case RISCV::VSSRL_VV:
10543 case RISCV::VSSUBU_VV:
10544 case RISCV::VSSUB_VV:
10545 case RISCV::VSUB_VV:
10546 case RISCV::VWABDAU_VV:
10547 case RISCV::VWABDA_VV:
10548 case RISCV::VWADDU_VV:
10549 case RISCV::VWADDU_WV:
10550 case RISCV::VWADD_VV:
10551 case RISCV::VWADD_WV:
10552 case RISCV::VWMULSU_VV:
10553 case RISCV::VWMULU_VV:
10554 case RISCV::VWMUL_VV:
10555 case RISCV::VWREDSUMU_VS:
10556 case RISCV::VWREDSUM_VS:
10557 case RISCV::VWSLL_VV:
10558 case RISCV::VWSUBU_VV:
10559 case RISCV::VWSUBU_WV:
10560 case RISCV::VWSUB_VV:
10561 case RISCV::VWSUB_WV:
10562 case RISCV::VXOR_VV: {
10563 switch (OpNum) {
10564 case 0:
10565 // op: vd
10566 return 7;
10567 case 3:
10568 // op: vm
10569 return 25;
10570 case 1:
10571 // op: vs2
10572 return 20;
10573 case 2:
10574 // op: vs1
10575 return 15;
10576 }
10577 break;
10578 }
10579 case RISCV::RI_VZERO: {
10580 switch (OpNum) {
10581 case 0:
10582 // op: vd
10583 return 7;
10584 }
10585 break;
10586 }
10587 case RISCV::SMT_VMADOT:
10588 case RISCV::SMT_VMADOTSU:
10589 case RISCV::SMT_VMADOTU:
10590 case RISCV::SMT_VMADOTUS: {
10591 switch (OpNum) {
10592 case 0:
10593 // op: vd
10594 return 8;
10595 case 1:
10596 // op: vs1
10597 return 15;
10598 case 2:
10599 // op: vs2
10600 return 20;
10601 }
10602 break;
10603 }
10604 case RISCV::SMT_VMADOT1:
10605 case RISCV::SMT_VMADOT1SU:
10606 case RISCV::SMT_VMADOT1U:
10607 case RISCV::SMT_VMADOT1US:
10608 case RISCV::SMT_VMADOT2:
10609 case RISCV::SMT_VMADOT2SU:
10610 case RISCV::SMT_VMADOT2U:
10611 case RISCV::SMT_VMADOT2US:
10612 case RISCV::SMT_VMADOT3:
10613 case RISCV::SMT_VMADOT3SU:
10614 case RISCV::SMT_VMADOT3U:
10615 case RISCV::SMT_VMADOT3US: {
10616 switch (OpNum) {
10617 case 0:
10618 // op: vd
10619 return 8;
10620 case 1:
10621 // op: vs1
10622 return 16;
10623 case 2:
10624 // op: vs2
10625 return 20;
10626 }
10627 break;
10628 }
10629 case RISCV::C_LI:
10630 case RISCV::C_LUI: {
10631 switch (OpNum) {
10632 case 1:
10633 // op: imm
10634 return 2;
10635 case 0:
10636 // op: rd
10637 return 7;
10638 }
10639 break;
10640 }
10641 case RISCV::C_BEQZ:
10642 case RISCV::C_BNEZ: {
10643 switch (OpNum) {
10644 case 1:
10645 // op: imm
10646 return 2;
10647 case 0:
10648 // op: rs1
10649 return 7;
10650 }
10651 break;
10652 }
10653 case RISCV::PREFETCH_I:
10654 case RISCV::PREFETCH_R:
10655 case RISCV::PREFETCH_W: {
10656 switch (OpNum) {
10657 case 1:
10658 // op: imm12
10659 return 25;
10660 case 0:
10661 // op: rs1
10662 return 15;
10663 }
10664 break;
10665 }
10666 case RISCV::AIF_FSQ2:
10667 case RISCV::AIF_FSW_PS: {
10668 switch (OpNum) {
10669 case 1:
10670 // op: imm12
10671 return 7;
10672 case 0:
10673 // op: rs2
10674 return 20;
10675 case 2:
10676 // op: rs1
10677 return 15;
10678 }
10679 break;
10680 }
10681 case RISCV::NDS_LDGP:
10682 case RISCV::NDS_LHGP:
10683 case RISCV::NDS_LHUGP:
10684 case RISCV::NDS_LWGP:
10685 case RISCV::NDS_LWUGP: {
10686 switch (OpNum) {
10687 case 1:
10688 // op: imm17
10689 return 15;
10690 case 0:
10691 // op: rd
10692 return 7;
10693 }
10694 break;
10695 }
10696 case RISCV::NDS_SDGP:
10697 case RISCV::NDS_SHGP:
10698 case RISCV::NDS_SWGP: {
10699 switch (OpNum) {
10700 case 1:
10701 // op: imm17
10702 return 7;
10703 case 0:
10704 // op: rs2
10705 return 20;
10706 }
10707 break;
10708 }
10709 case RISCV::NDS_ADDIGP:
10710 case RISCV::NDS_LBGP:
10711 case RISCV::NDS_LBUGP: {
10712 switch (OpNum) {
10713 case 1:
10714 // op: imm18
10715 return 14;
10716 case 0:
10717 // op: rd
10718 return 7;
10719 }
10720 break;
10721 }
10722 case RISCV::NDS_SBGP: {
10723 switch (OpNum) {
10724 case 1:
10725 // op: imm18
10726 return 7;
10727 case 0:
10728 // op: rs2
10729 return 20;
10730 }
10731 break;
10732 }
10733 case RISCV::AIF_FBCI_PI:
10734 case RISCV::AIF_FBCI_PS:
10735 case RISCV::AUIPC:
10736 case RISCV::JAL:
10737 case RISCV::LUI:
10738 case RISCV::QC_LI: {
10739 switch (OpNum) {
10740 case 1:
10741 // op: imm20
10742 return 12;
10743 case 0:
10744 // op: rd
10745 return 7;
10746 }
10747 break;
10748 }
10749 case RISCV::MIPS_PREF: {
10750 switch (OpNum) {
10751 case 1:
10752 // op: imm9
10753 return 20;
10754 case 0:
10755 // op: rs1
10756 return 15;
10757 case 2:
10758 // op: hint
10759 return 7;
10760 }
10761 break;
10762 }
10763 case RISCV::InsnQC_EAI: {
10764 switch (OpNum) {
10765 case 1:
10766 // op: opcode
10767 return 0;
10768 case 2:
10769 // op: func3
10770 return 12;
10771 case 3:
10772 // op: func1
10773 return 15;
10774 case 0:
10775 // op: rd
10776 return 7;
10777 case 4:
10778 // op: imm32
10779 return 16;
10780 }
10781 break;
10782 }
10783 case RISCV::InsnQC_EI:
10784 case RISCV::InsnQC_EI_Mem: {
10785 switch (OpNum) {
10786 case 1:
10787 // op: opcode
10788 return 0;
10789 case 2:
10790 // op: func3
10791 return 12;
10792 case 3:
10793 // op: func2
10794 return 30;
10795 case 0:
10796 // op: rd
10797 return 7;
10798 case 4:
10799 // op: rs1
10800 return 15;
10801 case 5:
10802 // op: imm26
10803 return 20;
10804 }
10805 break;
10806 }
10807 case RISCV::InsnI:
10808 case RISCV::InsnI_Mem: {
10809 switch (OpNum) {
10810 case 1:
10811 // op: opcode
10812 return 0;
10813 case 2:
10814 // op: funct3
10815 return 12;
10816 case 4:
10817 // op: imm12
10818 return 20;
10819 case 3:
10820 // op: rs1
10821 return 15;
10822 case 0:
10823 // op: rd
10824 return 7;
10825 }
10826 break;
10827 }
10828 case RISCV::InsnCI: {
10829 switch (OpNum) {
10830 case 1:
10831 // op: opcode
10832 return 0;
10833 case 2:
10834 // op: funct3
10835 return 13;
10836 case 3:
10837 // op: imm6
10838 return 2;
10839 case 0:
10840 // op: rd
10841 return 7;
10842 }
10843 break;
10844 }
10845 case RISCV::InsnCIW: {
10846 switch (OpNum) {
10847 case 1:
10848 // op: opcode
10849 return 0;
10850 case 2:
10851 // op: funct3
10852 return 13;
10853 case 3:
10854 // op: imm8
10855 return 5;
10856 case 0:
10857 // op: rd
10858 return 2;
10859 }
10860 break;
10861 }
10862 case RISCV::InsnCL: {
10863 switch (OpNum) {
10864 case 1:
10865 // op: opcode
10866 return 0;
10867 case 2:
10868 // op: funct3
10869 return 13;
10870 case 4:
10871 // op: imm5
10872 return 5;
10873 case 0:
10874 // op: rd
10875 return 2;
10876 case 3:
10877 // op: rs1
10878 return 7;
10879 }
10880 break;
10881 }
10882 case RISCV::InsnCR: {
10883 switch (OpNum) {
10884 case 1:
10885 // op: opcode
10886 return 0;
10887 case 2:
10888 // op: funct4
10889 return 12;
10890 case 3:
10891 // op: rs2
10892 return 2;
10893 case 0:
10894 // op: rd
10895 return 7;
10896 }
10897 break;
10898 }
10899 case RISCV::InsnCA: {
10900 switch (OpNum) {
10901 case 1:
10902 // op: opcode
10903 return 0;
10904 case 2:
10905 // op: funct6
10906 return 10;
10907 case 3:
10908 // op: funct2
10909 return 5;
10910 case 0:
10911 // op: rd
10912 return 7;
10913 case 4:
10914 // op: rs2
10915 return 2;
10916 }
10917 break;
10918 }
10919 case RISCV::InsnJ:
10920 case RISCV::InsnU: {
10921 switch (OpNum) {
10922 case 1:
10923 // op: opcode
10924 return 0;
10925 case 2:
10926 // op: imm20
10927 return 12;
10928 case 0:
10929 // op: rd
10930 return 7;
10931 }
10932 break;
10933 }
10934 case RISCV::InsnR4: {
10935 switch (OpNum) {
10936 case 1:
10937 // op: opcode
10938 return 0;
10939 case 3:
10940 // op: funct2
10941 return 25;
10942 case 2:
10943 // op: funct3
10944 return 12;
10945 case 6:
10946 // op: rs3
10947 return 27;
10948 case 5:
10949 // op: rs2
10950 return 20;
10951 case 4:
10952 // op: rs1
10953 return 15;
10954 case 0:
10955 // op: rd
10956 return 7;
10957 }
10958 break;
10959 }
10960 case RISCV::InsnR: {
10961 switch (OpNum) {
10962 case 1:
10963 // op: opcode
10964 return 0;
10965 case 3:
10966 // op: funct7
10967 return 25;
10968 case 2:
10969 // op: funct3
10970 return 12;
10971 case 5:
10972 // op: rs2
10973 return 20;
10974 case 4:
10975 // op: rs1
10976 return 15;
10977 case 0:
10978 // op: rd
10979 return 7;
10980 }
10981 break;
10982 }
10983 case RISCV::QC_C_MULIADD: {
10984 switch (OpNum) {
10985 case 1:
10986 // op: rd
10987 return 2;
10988 case 2:
10989 // op: rs1
10990 return 7;
10991 case 3:
10992 // op: uimm
10993 return 5;
10994 }
10995 break;
10996 }
10997 case RISCV::QC_C_MVEQZ: {
10998 switch (OpNum) {
10999 case 1:
11000 // op: rd
11001 return 2;
11002 case 2:
11003 // op: rs1
11004 return 7;
11005 }
11006 break;
11007 }
11008 case RISCV::QC_E_ADDAI:
11009 case RISCV::QC_E_ANDAI:
11010 case RISCV::QC_E_ORAI:
11011 case RISCV::QC_E_XORAI: {
11012 switch (OpNum) {
11013 case 1:
11014 // op: rd
11015 return 7;
11016 case 2:
11017 // op: imm
11018 return 16;
11019 }
11020 break;
11021 }
11022 case RISCV::QC_INSBI: {
11023 switch (OpNum) {
11024 case 1:
11025 // op: rd
11026 return 7;
11027 case 2:
11028 // op: imm5
11029 return 15;
11030 case 4:
11031 // op: shamt
11032 return 20;
11033 case 3:
11034 // op: width
11035 return 25;
11036 }
11037 break;
11038 }
11039 case RISCV::QC_C_EXTU: {
11040 switch (OpNum) {
11041 case 1:
11042 // op: rd
11043 return 7;
11044 case 2:
11045 // op: width
11046 return 2;
11047 }
11048 break;
11049 }
11050 case RISCV::C_NOT:
11051 case RISCV::C_SEXT_B:
11052 case RISCV::C_SEXT_H:
11053 case RISCV::C_ZEXT_B:
11054 case RISCV::C_ZEXT_H:
11055 case RISCV::C_ZEXT_W: {
11056 switch (OpNum) {
11057 case 1:
11058 // op: rd
11059 return 7;
11060 }
11061 break;
11062 }
11063 case RISCV::QC_WRAPI: {
11064 switch (OpNum) {
11065 case 1:
11066 // op: rs1
11067 return 15;
11068 case 0:
11069 // op: rd
11070 return 7;
11071 case 2:
11072 // op: imm11
11073 return 20;
11074 }
11075 break;
11076 }
11077 case RISCV::ADDI:
11078 case RISCV::ADDIW:
11079 case RISCV::ANDI:
11080 case RISCV::CV_ELW:
11081 case RISCV::FLD:
11082 case RISCV::FLH:
11083 case RISCV::FLQ:
11084 case RISCV::FLW:
11085 case RISCV::JALR:
11086 case RISCV::LB:
11087 case RISCV::LBU:
11088 case RISCV::LD:
11089 case RISCV::LD_RV32:
11090 case RISCV::LH:
11091 case RISCV::LHU:
11092 case RISCV::LH_INX:
11093 case RISCV::LW:
11094 case RISCV::LWU:
11095 case RISCV::LW_INX:
11096 case RISCV::ORI:
11097 case RISCV::SLTI:
11098 case RISCV::SLTIU:
11099 case RISCV::XORI: {
11100 switch (OpNum) {
11101 case 1:
11102 // op: rs1
11103 return 15;
11104 case 0:
11105 // op: rd
11106 return 7;
11107 case 2:
11108 // op: imm12
11109 return 20;
11110 }
11111 break;
11112 }
11113 case RISCV::QC_INW: {
11114 switch (OpNum) {
11115 case 1:
11116 // op: rs1
11117 return 15;
11118 case 0:
11119 // op: rd
11120 return 7;
11121 case 2:
11122 // op: imm14
11123 return 20;
11124 }
11125 break;
11126 }
11127 case RISCV::CV_CLIP:
11128 case RISCV::CV_CLIPU: {
11129 switch (OpNum) {
11130 case 1:
11131 // op: rs1
11132 return 15;
11133 case 0:
11134 // op: rd
11135 return 7;
11136 case 2:
11137 // op: imm5
11138 return 20;
11139 }
11140 break;
11141 }
11142 case RISCV::CV_ADD_SCI_B:
11143 case RISCV::CV_ADD_SCI_H:
11144 case RISCV::CV_AND_SCI_B:
11145 case RISCV::CV_AND_SCI_H:
11146 case RISCV::CV_AVGU_SCI_B:
11147 case RISCV::CV_AVGU_SCI_H:
11148 case RISCV::CV_AVG_SCI_B:
11149 case RISCV::CV_AVG_SCI_H:
11150 case RISCV::CV_CMPEQ_SCI_B:
11151 case RISCV::CV_CMPEQ_SCI_H:
11152 case RISCV::CV_CMPGEU_SCI_B:
11153 case RISCV::CV_CMPGEU_SCI_H:
11154 case RISCV::CV_CMPGE_SCI_B:
11155 case RISCV::CV_CMPGE_SCI_H:
11156 case RISCV::CV_CMPGTU_SCI_B:
11157 case RISCV::CV_CMPGTU_SCI_H:
11158 case RISCV::CV_CMPGT_SCI_B:
11159 case RISCV::CV_CMPGT_SCI_H:
11160 case RISCV::CV_CMPLEU_SCI_B:
11161 case RISCV::CV_CMPLEU_SCI_H:
11162 case RISCV::CV_CMPLE_SCI_B:
11163 case RISCV::CV_CMPLE_SCI_H:
11164 case RISCV::CV_CMPLTU_SCI_B:
11165 case RISCV::CV_CMPLTU_SCI_H:
11166 case RISCV::CV_CMPLT_SCI_B:
11167 case RISCV::CV_CMPLT_SCI_H:
11168 case RISCV::CV_CMPNE_SCI_B:
11169 case RISCV::CV_CMPNE_SCI_H:
11170 case RISCV::CV_DOTSP_SCI_B:
11171 case RISCV::CV_DOTSP_SCI_H:
11172 case RISCV::CV_DOTUP_SCI_B:
11173 case RISCV::CV_DOTUP_SCI_H:
11174 case RISCV::CV_DOTUSP_SCI_B:
11175 case RISCV::CV_DOTUSP_SCI_H:
11176 case RISCV::CV_EXTRACTU_B:
11177 case RISCV::CV_EXTRACTU_H:
11178 case RISCV::CV_EXTRACT_B:
11179 case RISCV::CV_EXTRACT_H:
11180 case RISCV::CV_MAXU_SCI_B:
11181 case RISCV::CV_MAXU_SCI_H:
11182 case RISCV::CV_MAX_SCI_B:
11183 case RISCV::CV_MAX_SCI_H:
11184 case RISCV::CV_MINU_SCI_B:
11185 case RISCV::CV_MINU_SCI_H:
11186 case RISCV::CV_MIN_SCI_B:
11187 case RISCV::CV_MIN_SCI_H:
11188 case RISCV::CV_OR_SCI_B:
11189 case RISCV::CV_OR_SCI_H:
11190 case RISCV::CV_SHUFFLEI0_SCI_B:
11191 case RISCV::CV_SHUFFLEI1_SCI_B:
11192 case RISCV::CV_SHUFFLEI2_SCI_B:
11193 case RISCV::CV_SHUFFLEI3_SCI_B:
11194 case RISCV::CV_SHUFFLE_SCI_H:
11195 case RISCV::CV_SLL_SCI_B:
11196 case RISCV::CV_SLL_SCI_H:
11197 case RISCV::CV_SRA_SCI_B:
11198 case RISCV::CV_SRA_SCI_H:
11199 case RISCV::CV_SRL_SCI_B:
11200 case RISCV::CV_SRL_SCI_H:
11201 case RISCV::CV_SUB_SCI_B:
11202 case RISCV::CV_SUB_SCI_H:
11203 case RISCV::CV_XOR_SCI_B:
11204 case RISCV::CV_XOR_SCI_H: {
11205 switch (OpNum) {
11206 case 1:
11207 // op: rs1
11208 return 15;
11209 case 0:
11210 // op: rd
11211 return 7;
11212 case 2:
11213 // op: imm6
11214 return 20;
11215 }
11216 break;
11217 }
11218 case RISCV::CV_BCLR:
11219 case RISCV::CV_BITREV:
11220 case RISCV::CV_BSET:
11221 case RISCV::CV_EXTRACT:
11222 case RISCV::CV_EXTRACTU: {
11223 switch (OpNum) {
11224 case 1:
11225 // op: rs1
11226 return 15;
11227 case 0:
11228 // op: rd
11229 return 7;
11230 case 2:
11231 // op: is3
11232 return 25;
11233 case 3:
11234 // op: is2
11235 return 20;
11236 }
11237 break;
11238 }
11239 case RISCV::TH_EXT:
11240 case RISCV::TH_EXTU: {
11241 switch (OpNum) {
11242 case 1:
11243 // op: rs1
11244 return 15;
11245 case 0:
11246 // op: rd
11247 return 7;
11248 case 2:
11249 // op: msb
11250 return 26;
11251 case 3:
11252 // op: lsb
11253 return 20;
11254 }
11255 break;
11256 }
11257 case RISCV::AES64KS1I: {
11258 switch (OpNum) {
11259 case 1:
11260 // op: rs1
11261 return 15;
11262 case 0:
11263 // op: rd
11264 return 7;
11265 case 2:
11266 // op: rnum
11267 return 20;
11268 }
11269 break;
11270 }
11271 case RISCV::BCLRI:
11272 case RISCV::BEXTI:
11273 case RISCV::BINVI:
11274 case RISCV::BSETI:
11275 case RISCV::PSATI_H:
11276 case RISCV::PSATI_W:
11277 case RISCV::PSLLI_B:
11278 case RISCV::PSLLI_H:
11279 case RISCV::PSLLI_W:
11280 case RISCV::PSRAI_B:
11281 case RISCV::PSRAI_H:
11282 case RISCV::PSRAI_W:
11283 case RISCV::PSRARI_H:
11284 case RISCV::PSRARI_W:
11285 case RISCV::PSRLI_B:
11286 case RISCV::PSRLI_H:
11287 case RISCV::PSRLI_W:
11288 case RISCV::PSSLAI_H:
11289 case RISCV::PSSLAI_W:
11290 case RISCV::PUSATI_H:
11291 case RISCV::PUSATI_W:
11292 case RISCV::RORI:
11293 case RISCV::RORIW:
11294 case RISCV::SATI_RV32:
11295 case RISCV::SATI_RV64:
11296 case RISCV::SLLI:
11297 case RISCV::SLLIW:
11298 case RISCV::SLLI_UW:
11299 case RISCV::SRAI:
11300 case RISCV::SRAIW:
11301 case RISCV::SRARI_RV32:
11302 case RISCV::SRARI_RV64:
11303 case RISCV::SRLI:
11304 case RISCV::SRLIW:
11305 case RISCV::SSLAI:
11306 case RISCV::TH_SRRI:
11307 case RISCV::TH_SRRIW:
11308 case RISCV::TH_TST:
11309 case RISCV::USATI_RV32:
11310 case RISCV::USATI_RV64: {
11311 switch (OpNum) {
11312 case 1:
11313 // op: rs1
11314 return 15;
11315 case 0:
11316 // op: rd
11317 return 7;
11318 case 2:
11319 // op: shamt
11320 return 20;
11321 }
11322 break;
11323 }
11324 case RISCV::VSETVLI: {
11325 switch (OpNum) {
11326 case 1:
11327 // op: rs1
11328 return 15;
11329 case 0:
11330 // op: rd
11331 return 7;
11332 case 2:
11333 // op: vtypei
11334 return 20;
11335 }
11336 break;
11337 }
11338 case RISCV::QC_EXT:
11339 case RISCV::QC_EXTD:
11340 case RISCV::QC_EXTDU:
11341 case RISCV::QC_EXTU: {
11342 switch (OpNum) {
11343 case 1:
11344 // op: rs1
11345 return 15;
11346 case 0:
11347 // op: rd
11348 return 7;
11349 case 3:
11350 // op: shamt
11351 return 20;
11352 case 2:
11353 // op: width
11354 return 25;
11355 }
11356 break;
11357 }
11358 case RISCV::ABS:
11359 case RISCV::ABSW:
11360 case RISCV::AES64IM:
11361 case RISCV::AIF_FBCX_PS:
11362 case RISCV::AIF_FCLASS_PS:
11363 case RISCV::AIF_FCVT_F10_PS:
11364 case RISCV::AIF_FCVT_F11_PS:
11365 case RISCV::AIF_FCVT_F16_PS:
11366 case RISCV::AIF_FCVT_PS_F10:
11367 case RISCV::AIF_FCVT_PS_F11:
11368 case RISCV::AIF_FCVT_PS_F16:
11369 case RISCV::AIF_FCVT_PS_RAST:
11370 case RISCV::AIF_FCVT_PS_SN16:
11371 case RISCV::AIF_FCVT_PS_SN8:
11372 case RISCV::AIF_FCVT_PS_UN10:
11373 case RISCV::AIF_FCVT_PS_UN16:
11374 case RISCV::AIF_FCVT_PS_UN2:
11375 case RISCV::AIF_FCVT_PS_UN24:
11376 case RISCV::AIF_FCVT_PS_UN8:
11377 case RISCV::AIF_FCVT_RAST_PS:
11378 case RISCV::AIF_FCVT_SN16_PS:
11379 case RISCV::AIF_FCVT_SN8_PS:
11380 case RISCV::AIF_FCVT_UN10_PS:
11381 case RISCV::AIF_FCVT_UN16_PS:
11382 case RISCV::AIF_FCVT_UN24_PS:
11383 case RISCV::AIF_FCVT_UN2_PS:
11384 case RISCV::AIF_FCVT_UN8_PS:
11385 case RISCV::AIF_FEXP_PS:
11386 case RISCV::AIF_FFRC_PS:
11387 case RISCV::AIF_FLOG_PS:
11388 case RISCV::AIF_FLWG_PS:
11389 case RISCV::AIF_FLWL_PS:
11390 case RISCV::AIF_FNOT_PI:
11391 case RISCV::AIF_FPACKREPB_PI:
11392 case RISCV::AIF_FPACKREPH_PI:
11393 case RISCV::AIF_FRCP_PS:
11394 case RISCV::AIF_FRSQ_PS:
11395 case RISCV::AIF_FSAT8_PI:
11396 case RISCV::AIF_FSATU8_PI:
11397 case RISCV::AIF_FSETM_PI:
11398 case RISCV::AIF_FSIN_PS:
11399 case RISCV::AIF_FSQRT_PS:
11400 case RISCV::AIF_MASKNOT:
11401 case RISCV::AIF_MASKPOPC:
11402 case RISCV::AIF_MASKPOPCZ:
11403 case RISCV::BREV8:
11404 case RISCV::CLS:
11405 case RISCV::CLSW:
11406 case RISCV::CLZ:
11407 case RISCV::CLZW:
11408 case RISCV::CPOP:
11409 case RISCV::CPOPW:
11410 case RISCV::CTZ:
11411 case RISCV::CTZW:
11412 case RISCV::CV_ABS:
11413 case RISCV::CV_ABS_B:
11414 case RISCV::CV_ABS_H:
11415 case RISCV::CV_CLB:
11416 case RISCV::CV_CNT:
11417 case RISCV::CV_CPLXCONJ:
11418 case RISCV::CV_EXTBS:
11419 case RISCV::CV_EXTBZ:
11420 case RISCV::CV_EXTHS:
11421 case RISCV::CV_EXTHZ:
11422 case RISCV::CV_FF1:
11423 case RISCV::CV_FL1:
11424 case RISCV::FCLASS_D:
11425 case RISCV::FCLASS_D_IN32X:
11426 case RISCV::FCLASS_D_INX:
11427 case RISCV::FCLASS_H:
11428 case RISCV::FCLASS_H_INX:
11429 case RISCV::FCLASS_Q:
11430 case RISCV::FCLASS_S:
11431 case RISCV::FCLASS_S_INX:
11432 case RISCV::FCVTMOD_W_D:
11433 case RISCV::FMVH_X_D:
11434 case RISCV::FMVH_X_Q:
11435 case RISCV::FMV_D_X:
11436 case RISCV::FMV_H_X:
11437 case RISCV::FMV_W_X:
11438 case RISCV::FMV_X_D:
11439 case RISCV::FMV_X_H:
11440 case RISCV::FMV_X_W:
11441 case RISCV::FMV_X_W_FPR64:
11442 case RISCV::HLVX_HU:
11443 case RISCV::HLVX_WU:
11444 case RISCV::HLV_B:
11445 case RISCV::HLV_BU:
11446 case RISCV::HLV_D:
11447 case RISCV::HLV_H:
11448 case RISCV::HLV_HU:
11449 case RISCV::HLV_W:
11450 case RISCV::HLV_WU:
11451 case RISCV::LB_AQ:
11452 case RISCV::LB_AQRL:
11453 case RISCV::LD_AQ:
11454 case RISCV::LD_AQRL:
11455 case RISCV::LH_AQ:
11456 case RISCV::LH_AQRL:
11457 case RISCV::LR_D:
11458 case RISCV::LR_D_AQ:
11459 case RISCV::LR_D_AQRL:
11460 case RISCV::LR_D_RL:
11461 case RISCV::LR_W:
11462 case RISCV::LR_W_AQ:
11463 case RISCV::LR_W_AQRL:
11464 case RISCV::LR_W_RL:
11465 case RISCV::LW_AQ:
11466 case RISCV::LW_AQRL:
11467 case RISCV::MOP_R_0:
11468 case RISCV::MOP_R_1:
11469 case RISCV::MOP_R_10:
11470 case RISCV::MOP_R_11:
11471 case RISCV::MOP_R_12:
11472 case RISCV::MOP_R_13:
11473 case RISCV::MOP_R_14:
11474 case RISCV::MOP_R_15:
11475 case RISCV::MOP_R_16:
11476 case RISCV::MOP_R_17:
11477 case RISCV::MOP_R_18:
11478 case RISCV::MOP_R_19:
11479 case RISCV::MOP_R_2:
11480 case RISCV::MOP_R_20:
11481 case RISCV::MOP_R_21:
11482 case RISCV::MOP_R_22:
11483 case RISCV::MOP_R_23:
11484 case RISCV::MOP_R_24:
11485 case RISCV::MOP_R_25:
11486 case RISCV::MOP_R_26:
11487 case RISCV::MOP_R_27:
11488 case RISCV::MOP_R_28:
11489 case RISCV::MOP_R_29:
11490 case RISCV::MOP_R_3:
11491 case RISCV::MOP_R_30:
11492 case RISCV::MOP_R_31:
11493 case RISCV::MOP_R_4:
11494 case RISCV::MOP_R_5:
11495 case RISCV::MOP_R_6:
11496 case RISCV::MOP_R_7:
11497 case RISCV::MOP_R_8:
11498 case RISCV::MOP_R_9:
11499 case RISCV::NDS_FMV_BF16_X:
11500 case RISCV::NDS_FMV_X_BF16:
11501 case RISCV::ORC_B:
11502 case RISCV::PSABS_B:
11503 case RISCV::PSABS_H:
11504 case RISCV::PSEXT_H_B:
11505 case RISCV::PSEXT_W_B:
11506 case RISCV::PSEXT_W_H:
11507 case RISCV::QC_BREV32:
11508 case RISCV::QC_CLO:
11509 case RISCV::QC_COMPRESS2:
11510 case RISCV::QC_COMPRESS3:
11511 case RISCV::QC_CTO:
11512 case RISCV::QC_EXPAND2:
11513 case RISCV::QC_EXPAND3:
11514 case RISCV::QC_NORM:
11515 case RISCV::QC_NORMEU:
11516 case RISCV::QC_NORMU:
11517 case RISCV::REV16:
11518 case RISCV::REV8_RV32:
11519 case RISCV::REV8_RV64:
11520 case RISCV::REV_RV32:
11521 case RISCV::REV_RV64:
11522 case RISCV::SEXT_B:
11523 case RISCV::SEXT_H:
11524 case RISCV::SF_VSETTK:
11525 case RISCV::SF_VSETTM:
11526 case RISCV::SF_VSETTN:
11527 case RISCV::SHA256SIG0:
11528 case RISCV::SHA256SIG1:
11529 case RISCV::SHA256SUM0:
11530 case RISCV::SHA256SUM1:
11531 case RISCV::SHA512SIG0:
11532 case RISCV::SHA512SIG1:
11533 case RISCV::SHA512SUM0:
11534 case RISCV::SHA512SUM1:
11535 case RISCV::SM3P0:
11536 case RISCV::SM3P1:
11537 case RISCV::TH_FF0:
11538 case RISCV::TH_FF1:
11539 case RISCV::TH_REV:
11540 case RISCV::TH_REVW:
11541 case RISCV::TH_TSTNBZ:
11542 case RISCV::UNZIP_RV32:
11543 case RISCV::ZEXT_H_RV32:
11544 case RISCV::ZEXT_H_RV64:
11545 case RISCV::ZIP_RV32: {
11546 switch (OpNum) {
11547 case 1:
11548 // op: rs1
11549 return 15;
11550 case 0:
11551 // op: rd
11552 return 7;
11553 }
11554 break;
11555 }
11556 case RISCV::PWSLAI_B:
11557 case RISCV::PWSLAI_H:
11558 case RISCV::PWSLLI_B:
11559 case RISCV::PWSLLI_H:
11560 case RISCV::WSLAI:
11561 case RISCV::WSLLI: {
11562 switch (OpNum) {
11563 case 1:
11564 // op: rs1
11565 return 15;
11566 case 0:
11567 // op: rd
11568 return 8;
11569 case 2:
11570 // op: shamt
11571 return 20;
11572 }
11573 break;
11574 }
11575 case RISCV::QC_E_SB:
11576 case RISCV::QC_E_SH:
11577 case RISCV::QC_E_SW: {
11578 switch (OpNum) {
11579 case 1:
11580 // op: rs1
11581 return 15;
11582 case 0:
11583 // op: rs2
11584 return 20;
11585 case 2:
11586 // op: imm
11587 return 7;
11588 }
11589 break;
11590 }
11591 case RISCV::CV_SB_rr:
11592 case RISCV::CV_SH_rr:
11593 case RISCV::CV_SW_rr: {
11594 switch (OpNum) {
11595 case 1:
11596 // op: rs1
11597 return 15;
11598 case 0:
11599 // op: rs2
11600 return 20;
11601 case 2:
11602 // op: rs3
11603 return 7;
11604 }
11605 break;
11606 }
11607 case RISCV::QC_OUTW: {
11608 switch (OpNum) {
11609 case 1:
11610 // op: rs1
11611 return 15;
11612 case 0:
11613 // op: rs2
11614 return 7;
11615 case 2:
11616 // op: imm14
11617 return 20;
11618 }
11619 break;
11620 }
11621 case RISCV::NDS_VLN8_V:
11622 case RISCV::NDS_VLNU8_V:
11623 case RISCV::VLE16FF_V:
11624 case RISCV::VLE16_V:
11625 case RISCV::VLE32FF_V:
11626 case RISCV::VLE32_V:
11627 case RISCV::VLE64FF_V:
11628 case RISCV::VLE64_V:
11629 case RISCV::VLE8FF_V:
11630 case RISCV::VLE8_V:
11631 case RISCV::VLSEG2E16FF_V:
11632 case RISCV::VLSEG2E16_V:
11633 case RISCV::VLSEG2E32FF_V:
11634 case RISCV::VLSEG2E32_V:
11635 case RISCV::VLSEG2E64FF_V:
11636 case RISCV::VLSEG2E64_V:
11637 case RISCV::VLSEG2E8FF_V:
11638 case RISCV::VLSEG2E8_V:
11639 case RISCV::VLSEG3E16FF_V:
11640 case RISCV::VLSEG3E16_V:
11641 case RISCV::VLSEG3E32FF_V:
11642 case RISCV::VLSEG3E32_V:
11643 case RISCV::VLSEG3E64FF_V:
11644 case RISCV::VLSEG3E64_V:
11645 case RISCV::VLSEG3E8FF_V:
11646 case RISCV::VLSEG3E8_V:
11647 case RISCV::VLSEG4E16FF_V:
11648 case RISCV::VLSEG4E16_V:
11649 case RISCV::VLSEG4E32FF_V:
11650 case RISCV::VLSEG4E32_V:
11651 case RISCV::VLSEG4E64FF_V:
11652 case RISCV::VLSEG4E64_V:
11653 case RISCV::VLSEG4E8FF_V:
11654 case RISCV::VLSEG4E8_V:
11655 case RISCV::VLSEG5E16FF_V:
11656 case RISCV::VLSEG5E16_V:
11657 case RISCV::VLSEG5E32FF_V:
11658 case RISCV::VLSEG5E32_V:
11659 case RISCV::VLSEG5E64FF_V:
11660 case RISCV::VLSEG5E64_V:
11661 case RISCV::VLSEG5E8FF_V:
11662 case RISCV::VLSEG5E8_V:
11663 case RISCV::VLSEG6E16FF_V:
11664 case RISCV::VLSEG6E16_V:
11665 case RISCV::VLSEG6E32FF_V:
11666 case RISCV::VLSEG6E32_V:
11667 case RISCV::VLSEG6E64FF_V:
11668 case RISCV::VLSEG6E64_V:
11669 case RISCV::VLSEG6E8FF_V:
11670 case RISCV::VLSEG6E8_V:
11671 case RISCV::VLSEG7E16FF_V:
11672 case RISCV::VLSEG7E16_V:
11673 case RISCV::VLSEG7E32FF_V:
11674 case RISCV::VLSEG7E32_V:
11675 case RISCV::VLSEG7E64FF_V:
11676 case RISCV::VLSEG7E64_V:
11677 case RISCV::VLSEG7E8FF_V:
11678 case RISCV::VLSEG7E8_V:
11679 case RISCV::VLSEG8E16FF_V:
11680 case RISCV::VLSEG8E16_V:
11681 case RISCV::VLSEG8E32FF_V:
11682 case RISCV::VLSEG8E32_V:
11683 case RISCV::VLSEG8E64FF_V:
11684 case RISCV::VLSEG8E64_V:
11685 case RISCV::VLSEG8E8FF_V:
11686 case RISCV::VLSEG8E8_V: {
11687 switch (OpNum) {
11688 case 1:
11689 // op: rs1
11690 return 15;
11691 case 0:
11692 // op: vd
11693 return 7;
11694 case 2:
11695 // op: vm
11696 return 25;
11697 }
11698 break;
11699 }
11700 case RISCV::VLSE16_V:
11701 case RISCV::VLSE32_V:
11702 case RISCV::VLSE64_V:
11703 case RISCV::VLSE8_V:
11704 case RISCV::VLSSEG2E16_V:
11705 case RISCV::VLSSEG2E32_V:
11706 case RISCV::VLSSEG2E64_V:
11707 case RISCV::VLSSEG2E8_V:
11708 case RISCV::VLSSEG3E16_V:
11709 case RISCV::VLSSEG3E32_V:
11710 case RISCV::VLSSEG3E64_V:
11711 case RISCV::VLSSEG3E8_V:
11712 case RISCV::VLSSEG4E16_V:
11713 case RISCV::VLSSEG4E32_V:
11714 case RISCV::VLSSEG4E64_V:
11715 case RISCV::VLSSEG4E8_V:
11716 case RISCV::VLSSEG5E16_V:
11717 case RISCV::VLSSEG5E32_V:
11718 case RISCV::VLSSEG5E64_V:
11719 case RISCV::VLSSEG5E8_V:
11720 case RISCV::VLSSEG6E16_V:
11721 case RISCV::VLSSEG6E32_V:
11722 case RISCV::VLSSEG6E64_V:
11723 case RISCV::VLSSEG6E8_V:
11724 case RISCV::VLSSEG7E16_V:
11725 case RISCV::VLSSEG7E32_V:
11726 case RISCV::VLSSEG7E64_V:
11727 case RISCV::VLSSEG7E8_V:
11728 case RISCV::VLSSEG8E16_V:
11729 case RISCV::VLSSEG8E32_V:
11730 case RISCV::VLSSEG8E64_V:
11731 case RISCV::VLSSEG8E8_V: {
11732 switch (OpNum) {
11733 case 1:
11734 // op: rs1
11735 return 15;
11736 case 0:
11737 // op: vd
11738 return 7;
11739 case 3:
11740 // op: vm
11741 return 25;
11742 case 2:
11743 // op: rs2
11744 return 20;
11745 }
11746 break;
11747 }
11748 case RISCV::VLOXEI16_V:
11749 case RISCV::VLOXEI32_V:
11750 case RISCV::VLOXEI64_V:
11751 case RISCV::VLOXEI8_V:
11752 case RISCV::VLOXSEG2EI16_V:
11753 case RISCV::VLOXSEG2EI32_V:
11754 case RISCV::VLOXSEG2EI64_V:
11755 case RISCV::VLOXSEG2EI8_V:
11756 case RISCV::VLOXSEG3EI16_V:
11757 case RISCV::VLOXSEG3EI32_V:
11758 case RISCV::VLOXSEG3EI64_V:
11759 case RISCV::VLOXSEG3EI8_V:
11760 case RISCV::VLOXSEG4EI16_V:
11761 case RISCV::VLOXSEG4EI32_V:
11762 case RISCV::VLOXSEG4EI64_V:
11763 case RISCV::VLOXSEG4EI8_V:
11764 case RISCV::VLOXSEG5EI16_V:
11765 case RISCV::VLOXSEG5EI32_V:
11766 case RISCV::VLOXSEG5EI64_V:
11767 case RISCV::VLOXSEG5EI8_V:
11768 case RISCV::VLOXSEG6EI16_V:
11769 case RISCV::VLOXSEG6EI32_V:
11770 case RISCV::VLOXSEG6EI64_V:
11771 case RISCV::VLOXSEG6EI8_V:
11772 case RISCV::VLOXSEG7EI16_V:
11773 case RISCV::VLOXSEG7EI32_V:
11774 case RISCV::VLOXSEG7EI64_V:
11775 case RISCV::VLOXSEG7EI8_V:
11776 case RISCV::VLOXSEG8EI16_V:
11777 case RISCV::VLOXSEG8EI32_V:
11778 case RISCV::VLOXSEG8EI64_V:
11779 case RISCV::VLOXSEG8EI8_V:
11780 case RISCV::VLUXEI16_V:
11781 case RISCV::VLUXEI32_V:
11782 case RISCV::VLUXEI64_V:
11783 case RISCV::VLUXEI8_V:
11784 case RISCV::VLUXSEG2EI16_V:
11785 case RISCV::VLUXSEG2EI32_V:
11786 case RISCV::VLUXSEG2EI64_V:
11787 case RISCV::VLUXSEG2EI8_V:
11788 case RISCV::VLUXSEG3EI16_V:
11789 case RISCV::VLUXSEG3EI32_V:
11790 case RISCV::VLUXSEG3EI64_V:
11791 case RISCV::VLUXSEG3EI8_V:
11792 case RISCV::VLUXSEG4EI16_V:
11793 case RISCV::VLUXSEG4EI32_V:
11794 case RISCV::VLUXSEG4EI64_V:
11795 case RISCV::VLUXSEG4EI8_V:
11796 case RISCV::VLUXSEG5EI16_V:
11797 case RISCV::VLUXSEG5EI32_V:
11798 case RISCV::VLUXSEG5EI64_V:
11799 case RISCV::VLUXSEG5EI8_V:
11800 case RISCV::VLUXSEG6EI16_V:
11801 case RISCV::VLUXSEG6EI32_V:
11802 case RISCV::VLUXSEG6EI64_V:
11803 case RISCV::VLUXSEG6EI8_V:
11804 case RISCV::VLUXSEG7EI16_V:
11805 case RISCV::VLUXSEG7EI32_V:
11806 case RISCV::VLUXSEG7EI64_V:
11807 case RISCV::VLUXSEG7EI8_V:
11808 case RISCV::VLUXSEG8EI16_V:
11809 case RISCV::VLUXSEG8EI32_V:
11810 case RISCV::VLUXSEG8EI64_V:
11811 case RISCV::VLUXSEG8EI8_V: {
11812 switch (OpNum) {
11813 case 1:
11814 // op: rs1
11815 return 15;
11816 case 0:
11817 // op: vd
11818 return 7;
11819 case 3:
11820 // op: vm
11821 return 25;
11822 case 2:
11823 // op: vs2
11824 return 20;
11825 }
11826 break;
11827 }
11828 case RISCV::NDS_VLE4_V:
11829 case RISCV::SF_VTMV_V_T:
11830 case RISCV::VL1RE16_V:
11831 case RISCV::VL1RE32_V:
11832 case RISCV::VL1RE64_V:
11833 case RISCV::VL1RE8_V:
11834 case RISCV::VL2RE16_V:
11835 case RISCV::VL2RE32_V:
11836 case RISCV::VL2RE64_V:
11837 case RISCV::VL2RE8_V:
11838 case RISCV::VL4RE16_V:
11839 case RISCV::VL4RE32_V:
11840 case RISCV::VL4RE64_V:
11841 case RISCV::VL4RE8_V:
11842 case RISCV::VL8RE16_V:
11843 case RISCV::VL8RE32_V:
11844 case RISCV::VL8RE64_V:
11845 case RISCV::VL8RE8_V:
11846 case RISCV::VLM_V: {
11847 switch (OpNum) {
11848 case 1:
11849 // op: rs1
11850 return 15;
11851 case 0:
11852 // op: vd
11853 return 7;
11854 }
11855 break;
11856 }
11857 case RISCV::VSE16_V:
11858 case RISCV::VSE32_V:
11859 case RISCV::VSE64_V:
11860 case RISCV::VSE8_V:
11861 case RISCV::VSSEG2E16_V:
11862 case RISCV::VSSEG2E32_V:
11863 case RISCV::VSSEG2E64_V:
11864 case RISCV::VSSEG2E8_V:
11865 case RISCV::VSSEG3E16_V:
11866 case RISCV::VSSEG3E32_V:
11867 case RISCV::VSSEG3E64_V:
11868 case RISCV::VSSEG3E8_V:
11869 case RISCV::VSSEG4E16_V:
11870 case RISCV::VSSEG4E32_V:
11871 case RISCV::VSSEG4E64_V:
11872 case RISCV::VSSEG4E8_V:
11873 case RISCV::VSSEG5E16_V:
11874 case RISCV::VSSEG5E32_V:
11875 case RISCV::VSSEG5E64_V:
11876 case RISCV::VSSEG5E8_V:
11877 case RISCV::VSSEG6E16_V:
11878 case RISCV::VSSEG6E32_V:
11879 case RISCV::VSSEG6E64_V:
11880 case RISCV::VSSEG6E8_V:
11881 case RISCV::VSSEG7E16_V:
11882 case RISCV::VSSEG7E32_V:
11883 case RISCV::VSSEG7E64_V:
11884 case RISCV::VSSEG7E8_V:
11885 case RISCV::VSSEG8E16_V:
11886 case RISCV::VSSEG8E32_V:
11887 case RISCV::VSSEG8E64_V:
11888 case RISCV::VSSEG8E8_V: {
11889 switch (OpNum) {
11890 case 1:
11891 // op: rs1
11892 return 15;
11893 case 0:
11894 // op: vs3
11895 return 7;
11896 case 2:
11897 // op: vm
11898 return 25;
11899 }
11900 break;
11901 }
11902 case RISCV::VSSE16_V:
11903 case RISCV::VSSE32_V:
11904 case RISCV::VSSE64_V:
11905 case RISCV::VSSE8_V:
11906 case RISCV::VSSSEG2E16_V:
11907 case RISCV::VSSSEG2E32_V:
11908 case RISCV::VSSSEG2E64_V:
11909 case RISCV::VSSSEG2E8_V:
11910 case RISCV::VSSSEG3E16_V:
11911 case RISCV::VSSSEG3E32_V:
11912 case RISCV::VSSSEG3E64_V:
11913 case RISCV::VSSSEG3E8_V:
11914 case RISCV::VSSSEG4E16_V:
11915 case RISCV::VSSSEG4E32_V:
11916 case RISCV::VSSSEG4E64_V:
11917 case RISCV::VSSSEG4E8_V:
11918 case RISCV::VSSSEG5E16_V:
11919 case RISCV::VSSSEG5E32_V:
11920 case RISCV::VSSSEG5E64_V:
11921 case RISCV::VSSSEG5E8_V:
11922 case RISCV::VSSSEG6E16_V:
11923 case RISCV::VSSSEG6E32_V:
11924 case RISCV::VSSSEG6E64_V:
11925 case RISCV::VSSSEG6E8_V:
11926 case RISCV::VSSSEG7E16_V:
11927 case RISCV::VSSSEG7E32_V:
11928 case RISCV::VSSSEG7E64_V:
11929 case RISCV::VSSSEG7E8_V:
11930 case RISCV::VSSSEG8E16_V:
11931 case RISCV::VSSSEG8E32_V:
11932 case RISCV::VSSSEG8E64_V:
11933 case RISCV::VSSSEG8E8_V: {
11934 switch (OpNum) {
11935 case 1:
11936 // op: rs1
11937 return 15;
11938 case 0:
11939 // op: vs3
11940 return 7;
11941 case 3:
11942 // op: vm
11943 return 25;
11944 case 2:
11945 // op: rs2
11946 return 20;
11947 }
11948 break;
11949 }
11950 case RISCV::VSOXEI16_V:
11951 case RISCV::VSOXEI32_V:
11952 case RISCV::VSOXEI64_V:
11953 case RISCV::VSOXEI8_V:
11954 case RISCV::VSOXSEG2EI16_V:
11955 case RISCV::VSOXSEG2EI32_V:
11956 case RISCV::VSOXSEG2EI64_V:
11957 case RISCV::VSOXSEG2EI8_V:
11958 case RISCV::VSOXSEG3EI16_V:
11959 case RISCV::VSOXSEG3EI32_V:
11960 case RISCV::VSOXSEG3EI64_V:
11961 case RISCV::VSOXSEG3EI8_V:
11962 case RISCV::VSOXSEG4EI16_V:
11963 case RISCV::VSOXSEG4EI32_V:
11964 case RISCV::VSOXSEG4EI64_V:
11965 case RISCV::VSOXSEG4EI8_V:
11966 case RISCV::VSOXSEG5EI16_V:
11967 case RISCV::VSOXSEG5EI32_V:
11968 case RISCV::VSOXSEG5EI64_V:
11969 case RISCV::VSOXSEG5EI8_V:
11970 case RISCV::VSOXSEG6EI16_V:
11971 case RISCV::VSOXSEG6EI32_V:
11972 case RISCV::VSOXSEG6EI64_V:
11973 case RISCV::VSOXSEG6EI8_V:
11974 case RISCV::VSOXSEG7EI16_V:
11975 case RISCV::VSOXSEG7EI32_V:
11976 case RISCV::VSOXSEG7EI64_V:
11977 case RISCV::VSOXSEG7EI8_V:
11978 case RISCV::VSOXSEG8EI16_V:
11979 case RISCV::VSOXSEG8EI32_V:
11980 case RISCV::VSOXSEG8EI64_V:
11981 case RISCV::VSOXSEG8EI8_V:
11982 case RISCV::VSUXEI16_V:
11983 case RISCV::VSUXEI32_V:
11984 case RISCV::VSUXEI64_V:
11985 case RISCV::VSUXEI8_V:
11986 case RISCV::VSUXSEG2EI16_V:
11987 case RISCV::VSUXSEG2EI32_V:
11988 case RISCV::VSUXSEG2EI64_V:
11989 case RISCV::VSUXSEG2EI8_V:
11990 case RISCV::VSUXSEG3EI16_V:
11991 case RISCV::VSUXSEG3EI32_V:
11992 case RISCV::VSUXSEG3EI64_V:
11993 case RISCV::VSUXSEG3EI8_V:
11994 case RISCV::VSUXSEG4EI16_V:
11995 case RISCV::VSUXSEG4EI32_V:
11996 case RISCV::VSUXSEG4EI64_V:
11997 case RISCV::VSUXSEG4EI8_V:
11998 case RISCV::VSUXSEG5EI16_V:
11999 case RISCV::VSUXSEG5EI32_V:
12000 case RISCV::VSUXSEG5EI64_V:
12001 case RISCV::VSUXSEG5EI8_V:
12002 case RISCV::VSUXSEG6EI16_V:
12003 case RISCV::VSUXSEG6EI32_V:
12004 case RISCV::VSUXSEG6EI64_V:
12005 case RISCV::VSUXSEG6EI8_V:
12006 case RISCV::VSUXSEG7EI16_V:
12007 case RISCV::VSUXSEG7EI32_V:
12008 case RISCV::VSUXSEG7EI64_V:
12009 case RISCV::VSUXSEG7EI8_V:
12010 case RISCV::VSUXSEG8EI16_V:
12011 case RISCV::VSUXSEG8EI32_V:
12012 case RISCV::VSUXSEG8EI64_V:
12013 case RISCV::VSUXSEG8EI8_V: {
12014 switch (OpNum) {
12015 case 1:
12016 // op: rs1
12017 return 15;
12018 case 0:
12019 // op: vs3
12020 return 7;
12021 case 3:
12022 // op: vm
12023 return 25;
12024 case 2:
12025 // op: vs2
12026 return 20;
12027 }
12028 break;
12029 }
12030 case RISCV::VS1R_V:
12031 case RISCV::VS2R_V:
12032 case RISCV::VS4R_V:
12033 case RISCV::VS8R_V:
12034 case RISCV::VSM_V: {
12035 switch (OpNum) {
12036 case 1:
12037 // op: rs1
12038 return 15;
12039 case 0:
12040 // op: vs3
12041 return 7;
12042 }
12043 break;
12044 }
12045 case RISCV::FCVT_BF16_S:
12046 case RISCV::FCVT_D_H:
12047 case RISCV::FCVT_D_H_IN32X:
12048 case RISCV::FCVT_D_H_INX:
12049 case RISCV::FCVT_D_L:
12050 case RISCV::FCVT_D_LU:
12051 case RISCV::FCVT_D_LU_INX:
12052 case RISCV::FCVT_D_L_INX:
12053 case RISCV::FCVT_D_Q:
12054 case RISCV::FCVT_D_S:
12055 case RISCV::FCVT_D_S_IN32X:
12056 case RISCV::FCVT_D_S_INX:
12057 case RISCV::FCVT_D_W:
12058 case RISCV::FCVT_D_WU:
12059 case RISCV::FCVT_D_WU_IN32X:
12060 case RISCV::FCVT_D_WU_INX:
12061 case RISCV::FCVT_D_W_IN32X:
12062 case RISCV::FCVT_D_W_INX:
12063 case RISCV::FCVT_H_D:
12064 case RISCV::FCVT_H_D_IN32X:
12065 case RISCV::FCVT_H_D_INX:
12066 case RISCV::FCVT_H_L:
12067 case RISCV::FCVT_H_LU:
12068 case RISCV::FCVT_H_LU_INX:
12069 case RISCV::FCVT_H_L_INX:
12070 case RISCV::FCVT_H_S:
12071 case RISCV::FCVT_H_S_INX:
12072 case RISCV::FCVT_H_W:
12073 case RISCV::FCVT_H_WU:
12074 case RISCV::FCVT_H_WU_INX:
12075 case RISCV::FCVT_H_W_INX:
12076 case RISCV::FCVT_LU_D:
12077 case RISCV::FCVT_LU_D_INX:
12078 case RISCV::FCVT_LU_H:
12079 case RISCV::FCVT_LU_H_INX:
12080 case RISCV::FCVT_LU_Q:
12081 case RISCV::FCVT_LU_S:
12082 case RISCV::FCVT_LU_S_INX:
12083 case RISCV::FCVT_L_D:
12084 case RISCV::FCVT_L_D_INX:
12085 case RISCV::FCVT_L_H:
12086 case RISCV::FCVT_L_H_INX:
12087 case RISCV::FCVT_L_Q:
12088 case RISCV::FCVT_L_S:
12089 case RISCV::FCVT_L_S_INX:
12090 case RISCV::FCVT_Q_D:
12091 case RISCV::FCVT_Q_L:
12092 case RISCV::FCVT_Q_LU:
12093 case RISCV::FCVT_Q_S:
12094 case RISCV::FCVT_Q_W:
12095 case RISCV::FCVT_Q_WU:
12096 case RISCV::FCVT_S_BF16:
12097 case RISCV::FCVT_S_D:
12098 case RISCV::FCVT_S_D_IN32X:
12099 case RISCV::FCVT_S_D_INX:
12100 case RISCV::FCVT_S_H:
12101 case RISCV::FCVT_S_H_INX:
12102 case RISCV::FCVT_S_L:
12103 case RISCV::FCVT_S_LU:
12104 case RISCV::FCVT_S_LU_INX:
12105 case RISCV::FCVT_S_L_INX:
12106 case RISCV::FCVT_S_Q:
12107 case RISCV::FCVT_S_W:
12108 case RISCV::FCVT_S_WU:
12109 case RISCV::FCVT_S_WU_INX:
12110 case RISCV::FCVT_S_W_INX:
12111 case RISCV::FCVT_WU_D:
12112 case RISCV::FCVT_WU_D_IN32X:
12113 case RISCV::FCVT_WU_D_INX:
12114 case RISCV::FCVT_WU_H:
12115 case RISCV::FCVT_WU_H_INX:
12116 case RISCV::FCVT_WU_Q:
12117 case RISCV::FCVT_WU_S:
12118 case RISCV::FCVT_WU_S_INX:
12119 case RISCV::FCVT_W_D:
12120 case RISCV::FCVT_W_D_IN32X:
12121 case RISCV::FCVT_W_D_INX:
12122 case RISCV::FCVT_W_H:
12123 case RISCV::FCVT_W_H_INX:
12124 case RISCV::FCVT_W_Q:
12125 case RISCV::FCVT_W_S:
12126 case RISCV::FCVT_W_S_INX:
12127 case RISCV::FROUNDNX_D:
12128 case RISCV::FROUNDNX_H:
12129 case RISCV::FROUNDNX_Q:
12130 case RISCV::FROUNDNX_S:
12131 case RISCV::FROUND_D:
12132 case RISCV::FROUND_H:
12133 case RISCV::FROUND_Q:
12134 case RISCV::FROUND_S:
12135 case RISCV::FSQRT_D:
12136 case RISCV::FSQRT_D_IN32X:
12137 case RISCV::FSQRT_D_INX:
12138 case RISCV::FSQRT_H:
12139 case RISCV::FSQRT_H_INX:
12140 case RISCV::FSQRT_Q:
12141 case RISCV::FSQRT_S:
12142 case RISCV::FSQRT_S_INX: {
12143 switch (OpNum) {
12144 case 1:
12145 // op: rs1
12146 return 15;
12147 case 2:
12148 // op: frm
12149 return 12;
12150 case 0:
12151 // op: rd
12152 return 7;
12153 }
12154 break;
12155 }
12156 case RISCV::AIF_FROUND_PS: {
12157 switch (OpNum) {
12158 case 1:
12159 // op: rs1
12160 return 15;
12161 case 2:
12162 // op: rm
12163 return 12;
12164 case 0:
12165 // op: rd
12166 return 7;
12167 }
12168 break;
12169 }
12170 case RISCV::AIF_FSC32B_PS:
12171 case RISCV::AIF_FSC32H_PS:
12172 case RISCV::AIF_FSC32W_PS:
12173 case RISCV::AIF_FSCBG_PS:
12174 case RISCV::AIF_FSCBL_PS:
12175 case RISCV::AIF_FSCB_PS:
12176 case RISCV::AIF_FSCHG_PS:
12177 case RISCV::AIF_FSCHL_PS:
12178 case RISCV::AIF_FSCH_PS:
12179 case RISCV::AIF_FSCWG_PS:
12180 case RISCV::AIF_FSCWL_PS:
12181 case RISCV::AIF_FSCW_PS: {
12182 switch (OpNum) {
12183 case 1:
12184 // op: rs1
12185 return 15;
12186 case 2:
12187 // op: rs2
12188 return 20;
12189 case 0:
12190 // op: rs3
12191 return 7;
12192 }
12193 break;
12194 }
12195 case RISCV::NCLIP:
12196 case RISCV::NCLIPR:
12197 case RISCV::NCLIPRU:
12198 case RISCV::NCLIPU:
12199 case RISCV::NSRA:
12200 case RISCV::NSRAR:
12201 case RISCV::NSRL:
12202 case RISCV::PNCLIPRU_BS:
12203 case RISCV::PNCLIPRU_HS:
12204 case RISCV::PNCLIPR_BS:
12205 case RISCV::PNCLIPR_HS:
12206 case RISCV::PNCLIPU_BS:
12207 case RISCV::PNCLIPU_HS:
12208 case RISCV::PNCLIP_BS:
12209 case RISCV::PNCLIP_HS:
12210 case RISCV::PNSRAR_BS:
12211 case RISCV::PNSRAR_HS:
12212 case RISCV::PNSRA_BS:
12213 case RISCV::PNSRA_HS:
12214 case RISCV::PNSRL_BS:
12215 case RISCV::PNSRL_HS:
12216 case RISCV::PREDSUMU_DBS:
12217 case RISCV::PREDSUMU_DHS:
12218 case RISCV::PREDSUM_DBS:
12219 case RISCV::PREDSUM_DHS: {
12220 switch (OpNum) {
12221 case 1:
12222 // op: rs1
12223 return 16;
12224 case 0:
12225 // op: rd
12226 return 7;
12227 case 2:
12228 // op: rs2
12229 return 20;
12230 }
12231 break;
12232 }
12233 case RISCV::NCLIPI:
12234 case RISCV::NCLIPIU:
12235 case RISCV::NCLIPRI:
12236 case RISCV::NCLIPRIU:
12237 case RISCV::NSRAI:
12238 case RISCV::NSRARI:
12239 case RISCV::NSRLI:
12240 case RISCV::PNCLIPIU_B:
12241 case RISCV::PNCLIPIU_H:
12242 case RISCV::PNCLIPI_B:
12243 case RISCV::PNCLIPI_H:
12244 case RISCV::PNCLIPRIU_B:
12245 case RISCV::PNCLIPRIU_H:
12246 case RISCV::PNCLIPRI_B:
12247 case RISCV::PNCLIPRI_H:
12248 case RISCV::PNSRAI_B:
12249 case RISCV::PNSRAI_H:
12250 case RISCV::PNSRARI_B:
12251 case RISCV::PNSRARI_H:
12252 case RISCV::PNSRLI_B:
12253 case RISCV::PNSRLI_H: {
12254 switch (OpNum) {
12255 case 1:
12256 // op: rs1
12257 return 16;
12258 case 0:
12259 // op: rd
12260 return 7;
12261 case 2:
12262 // op: shamt
12263 return 20;
12264 }
12265 break;
12266 }
12267 case RISCV::PADD_DBS:
12268 case RISCV::PADD_DHS:
12269 case RISCV::PADD_DWS:
12270 case RISCV::PSLL_DBS:
12271 case RISCV::PSLL_DHS:
12272 case RISCV::PSLL_DWS:
12273 case RISCV::PSRA_DBS:
12274 case RISCV::PSRA_DHS:
12275 case RISCV::PSRA_DWS:
12276 case RISCV::PSRL_DBS:
12277 case RISCV::PSRL_DHS:
12278 case RISCV::PSRL_DWS:
12279 case RISCV::PSSHAR_DHS:
12280 case RISCV::PSSHAR_DWS:
12281 case RISCV::PSSHA_DHS:
12282 case RISCV::PSSHA_DWS: {
12283 switch (OpNum) {
12284 case 1:
12285 // op: rs1
12286 return 16;
12287 case 0:
12288 // op: rd
12289 return 8;
12290 case 2:
12291 // op: rs2
12292 return 20;
12293 }
12294 break;
12295 }
12296 case RISCV::ADDD:
12297 case RISCV::PAADDU_DB:
12298 case RISCV::PAADDU_DH:
12299 case RISCV::PAADDU_DW:
12300 case RISCV::PAADD_DB:
12301 case RISCV::PAADD_DH:
12302 case RISCV::PAADD_DW:
12303 case RISCV::PAAS_DHX:
12304 case RISCV::PABDU_DB:
12305 case RISCV::PABDU_DH:
12306 case RISCV::PABD_DB:
12307 case RISCV::PABD_DH:
12308 case RISCV::PADD_DB:
12309 case RISCV::PADD_DH:
12310 case RISCV::PADD_DW:
12311 case RISCV::PASA_DHX:
12312 case RISCV::PASUBU_DB:
12313 case RISCV::PASUBU_DH:
12314 case RISCV::PASUBU_DW:
12315 case RISCV::PASUB_DB:
12316 case RISCV::PASUB_DH:
12317 case RISCV::PASUB_DW:
12318 case RISCV::PAS_DHX:
12319 case RISCV::PMAXU_DB:
12320 case RISCV::PMAXU_DH:
12321 case RISCV::PMAXU_DW:
12322 case RISCV::PMAX_DB:
12323 case RISCV::PMAX_DH:
12324 case RISCV::PMAX_DW:
12325 case RISCV::PMINU_DB:
12326 case RISCV::PMINU_DH:
12327 case RISCV::PMINU_DW:
12328 case RISCV::PMIN_DB:
12329 case RISCV::PMIN_DH:
12330 case RISCV::PMIN_DW:
12331 case RISCV::PMSEQ_DB:
12332 case RISCV::PMSEQ_DH:
12333 case RISCV::PMSEQ_DW:
12334 case RISCV::PMSLTU_DB:
12335 case RISCV::PMSLTU_DH:
12336 case RISCV::PMSLTU_DW:
12337 case RISCV::PMSLT_DB:
12338 case RISCV::PMSLT_DH:
12339 case RISCV::PMSLT_DW:
12340 case RISCV::PPAIREO_DB:
12341 case RISCV::PPAIREO_DH:
12342 case RISCV::PPAIRE_DB:
12343 case RISCV::PPAIRE_DH:
12344 case RISCV::PPAIROE_DB:
12345 case RISCV::PPAIROE_DH:
12346 case RISCV::PPAIRO_DB:
12347 case RISCV::PPAIRO_DH:
12348 case RISCV::PSADDU_DB:
12349 case RISCV::PSADDU_DH:
12350 case RISCV::PSADDU_DW:
12351 case RISCV::PSADD_DB:
12352 case RISCV::PSADD_DH:
12353 case RISCV::PSADD_DW:
12354 case RISCV::PSAS_DHX:
12355 case RISCV::PSA_DHX:
12356 case RISCV::PSH1ADD_DH:
12357 case RISCV::PSH1ADD_DW:
12358 case RISCV::PSSA_DHX:
12359 case RISCV::PSSH1SADD_DH:
12360 case RISCV::PSSH1SADD_DW:
12361 case RISCV::PSSUBU_DB:
12362 case RISCV::PSSUBU_DH:
12363 case RISCV::PSSUBU_DW:
12364 case RISCV::PSSUB_DB:
12365 case RISCV::PSSUB_DH:
12366 case RISCV::PSSUB_DW:
12367 case RISCV::PSUB_DB:
12368 case RISCV::PSUB_DH:
12369 case RISCV::PSUB_DW:
12370 case RISCV::SUBD: {
12371 switch (OpNum) {
12372 case 1:
12373 // op: rs1
12374 return 16;
12375 case 0:
12376 // op: rd
12377 return 8;
12378 case 2:
12379 // op: rs2
12380 return 21;
12381 }
12382 break;
12383 }
12384 case RISCV::PSATI_DH:
12385 case RISCV::PSATI_DW:
12386 case RISCV::PSLLI_DB:
12387 case RISCV::PSLLI_DH:
12388 case RISCV::PSLLI_DW:
12389 case RISCV::PSRAI_DB:
12390 case RISCV::PSRAI_DH:
12391 case RISCV::PSRAI_DW:
12392 case RISCV::PSRARI_DH:
12393 case RISCV::PSRARI_DW:
12394 case RISCV::PSRLI_DB:
12395 case RISCV::PSRLI_DH:
12396 case RISCV::PSRLI_DW:
12397 case RISCV::PSSLAI_DH:
12398 case RISCV::PSSLAI_DW:
12399 case RISCV::PUSATI_DH:
12400 case RISCV::PUSATI_DW: {
12401 switch (OpNum) {
12402 case 1:
12403 // op: rs1
12404 return 16;
12405 case 0:
12406 // op: rd
12407 return 8;
12408 case 2:
12409 // op: shamt
12410 return 20;
12411 }
12412 break;
12413 }
12414 case RISCV::PSABS_DB:
12415 case RISCV::PSABS_DH:
12416 case RISCV::PSEXT_DH_B:
12417 case RISCV::PSEXT_DW_B:
12418 case RISCV::PSEXT_DW_H: {
12419 switch (OpNum) {
12420 case 1:
12421 // op: rs1
12422 return 16;
12423 case 0:
12424 // op: rd
12425 return 8;
12426 }
12427 break;
12428 }
12429 case RISCV::C_ADD: {
12430 switch (OpNum) {
12431 case 1:
12432 // op: rs1
12433 return 7;
12434 case 2:
12435 // op: rs2
12436 return 2;
12437 }
12438 break;
12439 }
12440 case RISCV::QC_C_BEXTI:
12441 case RISCV::QC_C_BSETI: {
12442 switch (OpNum) {
12443 case 1:
12444 // op: rs1
12445 return 7;
12446 case 2:
12447 // op: shamt
12448 return 2;
12449 }
12450 break;
12451 }
12452 case RISCV::NDS_FCVT_BF16_S:
12453 case RISCV::NDS_FCVT_S_BF16: {
12454 switch (OpNum) {
12455 case 1:
12456 // op: rs2
12457 return 20;
12458 case 0:
12459 // op: rd
12460 return 7;
12461 }
12462 break;
12463 }
12464 case RISCV::HFENCE_GVMA:
12465 case RISCV::HFENCE_VVMA:
12466 case RISCV::HINVAL_GVMA:
12467 case RISCV::HINVAL_VVMA:
12468 case RISCV::SFENCE_VMA:
12469 case RISCV::SF_VTMV_T_V:
12470 case RISCV::SINVAL_VMA:
12471 case RISCV::TH_SFENCE_VMAS: {
12472 switch (OpNum) {
12473 case 1:
12474 // op: rs2
12475 return 20;
12476 case 0:
12477 // op: rs1
12478 return 15;
12479 }
12480 break;
12481 }
12482 case RISCV::TH_LDD:
12483 case RISCV::TH_LWD:
12484 case RISCV::TH_LWUD:
12485 case RISCV::TH_SDD:
12486 case RISCV::TH_SWD: {
12487 switch (OpNum) {
12488 case 1:
12489 // op: rs2
12490 return 20;
12491 case 2:
12492 // op: rs1
12493 return 15;
12494 case 0:
12495 // op: rd
12496 return 7;
12497 case 3:
12498 // op: uimm2
12499 return 25;
12500 }
12501 break;
12502 }
12503 case RISCV::AIF_AMOADDG_D:
12504 case RISCV::AIF_AMOADDG_W:
12505 case RISCV::AIF_AMOADDL_D:
12506 case RISCV::AIF_AMOADDL_W:
12507 case RISCV::AIF_AMOANDG_D:
12508 case RISCV::AIF_AMOANDG_W:
12509 case RISCV::AIF_AMOANDL_D:
12510 case RISCV::AIF_AMOANDL_W:
12511 case RISCV::AIF_AMOCMPSWAPG_D:
12512 case RISCV::AIF_AMOCMPSWAPG_W:
12513 case RISCV::AIF_AMOCMPSWAPL_D:
12514 case RISCV::AIF_AMOCMPSWAPL_W:
12515 case RISCV::AIF_AMOMAXG_D:
12516 case RISCV::AIF_AMOMAXG_W:
12517 case RISCV::AIF_AMOMAXL_D:
12518 case RISCV::AIF_AMOMAXL_W:
12519 case RISCV::AIF_AMOMAXUG_D:
12520 case RISCV::AIF_AMOMAXUG_W:
12521 case RISCV::AIF_AMOMAXUL_D:
12522 case RISCV::AIF_AMOMAXUL_W:
12523 case RISCV::AIF_AMOMING_D:
12524 case RISCV::AIF_AMOMING_W:
12525 case RISCV::AIF_AMOMINL_D:
12526 case RISCV::AIF_AMOMINL_W:
12527 case RISCV::AIF_AMOMINUG_D:
12528 case RISCV::AIF_AMOMINUG_W:
12529 case RISCV::AIF_AMOMINUL_D:
12530 case RISCV::AIF_AMOMINUL_W:
12531 case RISCV::AIF_AMOORG_D:
12532 case RISCV::AIF_AMOORG_W:
12533 case RISCV::AIF_AMOORL_D:
12534 case RISCV::AIF_AMOORL_W:
12535 case RISCV::AIF_AMOSWAPG_D:
12536 case RISCV::AIF_AMOSWAPG_W:
12537 case RISCV::AIF_AMOSWAPL_D:
12538 case RISCV::AIF_AMOSWAPL_W:
12539 case RISCV::AIF_AMOXORG_D:
12540 case RISCV::AIF_AMOXORG_W:
12541 case RISCV::AIF_AMOXORL_D:
12542 case RISCV::AIF_AMOXORL_W:
12543 case RISCV::AMOADD_B:
12544 case RISCV::AMOADD_B_AQ:
12545 case RISCV::AMOADD_B_AQRL:
12546 case RISCV::AMOADD_B_RL:
12547 case RISCV::AMOADD_D:
12548 case RISCV::AMOADD_D_AQ:
12549 case RISCV::AMOADD_D_AQRL:
12550 case RISCV::AMOADD_D_RL:
12551 case RISCV::AMOADD_H:
12552 case RISCV::AMOADD_H_AQ:
12553 case RISCV::AMOADD_H_AQRL:
12554 case RISCV::AMOADD_H_RL:
12555 case RISCV::AMOADD_W:
12556 case RISCV::AMOADD_W_AQ:
12557 case RISCV::AMOADD_W_AQRL:
12558 case RISCV::AMOADD_W_RL:
12559 case RISCV::AMOAND_B:
12560 case RISCV::AMOAND_B_AQ:
12561 case RISCV::AMOAND_B_AQRL:
12562 case RISCV::AMOAND_B_RL:
12563 case RISCV::AMOAND_D:
12564 case RISCV::AMOAND_D_AQ:
12565 case RISCV::AMOAND_D_AQRL:
12566 case RISCV::AMOAND_D_RL:
12567 case RISCV::AMOAND_H:
12568 case RISCV::AMOAND_H_AQ:
12569 case RISCV::AMOAND_H_AQRL:
12570 case RISCV::AMOAND_H_RL:
12571 case RISCV::AMOAND_W:
12572 case RISCV::AMOAND_W_AQ:
12573 case RISCV::AMOAND_W_AQRL:
12574 case RISCV::AMOAND_W_RL:
12575 case RISCV::AMOMAXU_B:
12576 case RISCV::AMOMAXU_B_AQ:
12577 case RISCV::AMOMAXU_B_AQRL:
12578 case RISCV::AMOMAXU_B_RL:
12579 case RISCV::AMOMAXU_D:
12580 case RISCV::AMOMAXU_D_AQ:
12581 case RISCV::AMOMAXU_D_AQRL:
12582 case RISCV::AMOMAXU_D_RL:
12583 case RISCV::AMOMAXU_H:
12584 case RISCV::AMOMAXU_H_AQ:
12585 case RISCV::AMOMAXU_H_AQRL:
12586 case RISCV::AMOMAXU_H_RL:
12587 case RISCV::AMOMAXU_W:
12588 case RISCV::AMOMAXU_W_AQ:
12589 case RISCV::AMOMAXU_W_AQRL:
12590 case RISCV::AMOMAXU_W_RL:
12591 case RISCV::AMOMAX_B:
12592 case RISCV::AMOMAX_B_AQ:
12593 case RISCV::AMOMAX_B_AQRL:
12594 case RISCV::AMOMAX_B_RL:
12595 case RISCV::AMOMAX_D:
12596 case RISCV::AMOMAX_D_AQ:
12597 case RISCV::AMOMAX_D_AQRL:
12598 case RISCV::AMOMAX_D_RL:
12599 case RISCV::AMOMAX_H:
12600 case RISCV::AMOMAX_H_AQ:
12601 case RISCV::AMOMAX_H_AQRL:
12602 case RISCV::AMOMAX_H_RL:
12603 case RISCV::AMOMAX_W:
12604 case RISCV::AMOMAX_W_AQ:
12605 case RISCV::AMOMAX_W_AQRL:
12606 case RISCV::AMOMAX_W_RL:
12607 case RISCV::AMOMINU_B:
12608 case RISCV::AMOMINU_B_AQ:
12609 case RISCV::AMOMINU_B_AQRL:
12610 case RISCV::AMOMINU_B_RL:
12611 case RISCV::AMOMINU_D:
12612 case RISCV::AMOMINU_D_AQ:
12613 case RISCV::AMOMINU_D_AQRL:
12614 case RISCV::AMOMINU_D_RL:
12615 case RISCV::AMOMINU_H:
12616 case RISCV::AMOMINU_H_AQ:
12617 case RISCV::AMOMINU_H_AQRL:
12618 case RISCV::AMOMINU_H_RL:
12619 case RISCV::AMOMINU_W:
12620 case RISCV::AMOMINU_W_AQ:
12621 case RISCV::AMOMINU_W_AQRL:
12622 case RISCV::AMOMINU_W_RL:
12623 case RISCV::AMOMIN_B:
12624 case RISCV::AMOMIN_B_AQ:
12625 case RISCV::AMOMIN_B_AQRL:
12626 case RISCV::AMOMIN_B_RL:
12627 case RISCV::AMOMIN_D:
12628 case RISCV::AMOMIN_D_AQ:
12629 case RISCV::AMOMIN_D_AQRL:
12630 case RISCV::AMOMIN_D_RL:
12631 case RISCV::AMOMIN_H:
12632 case RISCV::AMOMIN_H_AQ:
12633 case RISCV::AMOMIN_H_AQRL:
12634 case RISCV::AMOMIN_H_RL:
12635 case RISCV::AMOMIN_W:
12636 case RISCV::AMOMIN_W_AQ:
12637 case RISCV::AMOMIN_W_AQRL:
12638 case RISCV::AMOMIN_W_RL:
12639 case RISCV::AMOOR_B:
12640 case RISCV::AMOOR_B_AQ:
12641 case RISCV::AMOOR_B_AQRL:
12642 case RISCV::AMOOR_B_RL:
12643 case RISCV::AMOOR_D:
12644 case RISCV::AMOOR_D_AQ:
12645 case RISCV::AMOOR_D_AQRL:
12646 case RISCV::AMOOR_D_RL:
12647 case RISCV::AMOOR_H:
12648 case RISCV::AMOOR_H_AQ:
12649 case RISCV::AMOOR_H_AQRL:
12650 case RISCV::AMOOR_H_RL:
12651 case RISCV::AMOOR_W:
12652 case RISCV::AMOOR_W_AQ:
12653 case RISCV::AMOOR_W_AQRL:
12654 case RISCV::AMOOR_W_RL:
12655 case RISCV::AMOSWAP_B:
12656 case RISCV::AMOSWAP_B_AQ:
12657 case RISCV::AMOSWAP_B_AQRL:
12658 case RISCV::AMOSWAP_B_RL:
12659 case RISCV::AMOSWAP_D:
12660 case RISCV::AMOSWAP_D_AQ:
12661 case RISCV::AMOSWAP_D_AQRL:
12662 case RISCV::AMOSWAP_D_RL:
12663 case RISCV::AMOSWAP_H:
12664 case RISCV::AMOSWAP_H_AQ:
12665 case RISCV::AMOSWAP_H_AQRL:
12666 case RISCV::AMOSWAP_H_RL:
12667 case RISCV::AMOSWAP_W:
12668 case RISCV::AMOSWAP_W_AQ:
12669 case RISCV::AMOSWAP_W_AQRL:
12670 case RISCV::AMOSWAP_W_RL:
12671 case RISCV::AMOXOR_B:
12672 case RISCV::AMOXOR_B_AQ:
12673 case RISCV::AMOXOR_B_AQRL:
12674 case RISCV::AMOXOR_B_RL:
12675 case RISCV::AMOXOR_D:
12676 case RISCV::AMOXOR_D_AQ:
12677 case RISCV::AMOXOR_D_AQRL:
12678 case RISCV::AMOXOR_D_RL:
12679 case RISCV::AMOXOR_H:
12680 case RISCV::AMOXOR_H_AQ:
12681 case RISCV::AMOXOR_H_AQRL:
12682 case RISCV::AMOXOR_H_RL:
12683 case RISCV::AMOXOR_W:
12684 case RISCV::AMOXOR_W_AQ:
12685 case RISCV::AMOXOR_W_AQRL:
12686 case RISCV::AMOXOR_W_RL:
12687 case RISCV::NDS_LEA_B_ZE:
12688 case RISCV::NDS_LEA_D:
12689 case RISCV::NDS_LEA_D_ZE:
12690 case RISCV::NDS_LEA_H:
12691 case RISCV::NDS_LEA_H_ZE:
12692 case RISCV::NDS_LEA_W:
12693 case RISCV::NDS_LEA_W_ZE:
12694 case RISCV::SC_D:
12695 case RISCV::SC_D_AQ:
12696 case RISCV::SC_D_AQRL:
12697 case RISCV::SC_D_RL:
12698 case RISCV::SC_W:
12699 case RISCV::SC_W_AQ:
12700 case RISCV::SC_W_AQRL:
12701 case RISCV::SC_W_RL:
12702 case RISCV::SSAMOSWAP_D:
12703 case RISCV::SSAMOSWAP_D_AQ:
12704 case RISCV::SSAMOSWAP_D_AQRL:
12705 case RISCV::SSAMOSWAP_D_RL:
12706 case RISCV::SSAMOSWAP_W:
12707 case RISCV::SSAMOSWAP_W_AQ:
12708 case RISCV::SSAMOSWAP_W_AQRL:
12709 case RISCV::SSAMOSWAP_W_RL: {
12710 switch (OpNum) {
12711 case 1:
12712 // op: rs2
12713 return 20;
12714 case 2:
12715 // op: rs1
12716 return 15;
12717 case 0:
12718 // op: rd
12719 return 7;
12720 }
12721 break;
12722 }
12723 case RISCV::CM_MVA01S:
12724 case RISCV::CM_MVSA01:
12725 case RISCV::QC_CM_MVA01S:
12726 case RISCV::QC_CM_MVSA01: {
12727 switch (OpNum) {
12728 case 1:
12729 // op: rs2
12730 return 2;
12731 case 0:
12732 // op: rs1
12733 return 7;
12734 }
12735 break;
12736 }
12737 case RISCV::VFMV_S_F:
12738 case RISCV::VMV_S_X: {
12739 switch (OpNum) {
12740 case 1:
12741 // op: vd
12742 return 7;
12743 case 2:
12744 // op: rs1
12745 return 15;
12746 }
12747 break;
12748 }
12749 case RISCV::VAESKF2_VI:
12750 case RISCV::VSM3C_VI: {
12751 switch (OpNum) {
12752 case 1:
12753 // op: vd
12754 return 7;
12755 case 2:
12756 // op: vs2
12757 return 20;
12758 case 3:
12759 // op: imm
12760 return 15;
12761 }
12762 break;
12763 }
12764 case RISCV::VGHSH_VS:
12765 case RISCV::VGHSH_VV:
12766 case RISCV::VSHA2CH_VV:
12767 case RISCV::VSHA2CL_VV:
12768 case RISCV::VSHA2MS_VV: {
12769 switch (OpNum) {
12770 case 1:
12771 // op: vd
12772 return 7;
12773 case 2:
12774 // op: vs2
12775 return 20;
12776 case 3:
12777 // op: vs1
12778 return 15;
12779 }
12780 break;
12781 }
12782 case RISCV::VAESDF_VS:
12783 case RISCV::VAESDF_VV:
12784 case RISCV::VAESDM_VS:
12785 case RISCV::VAESDM_VV:
12786 case RISCV::VAESEF_VS:
12787 case RISCV::VAESEF_VV:
12788 case RISCV::VAESEM_VS:
12789 case RISCV::VAESEM_VV:
12790 case RISCV::VAESZ_VS:
12791 case RISCV::VGMUL_VS:
12792 case RISCV::VGMUL_VV:
12793 case RISCV::VSM4R_VS:
12794 case RISCV::VSM4R_VV: {
12795 switch (OpNum) {
12796 case 1:
12797 // op: vd
12798 return 7;
12799 case 2:
12800 // op: vs2
12801 return 20;
12802 }
12803 break;
12804 }
12805 case RISCV::SF_VFWMACC_4x4x4:
12806 case RISCV::SF_VQMACCSU_2x8x2:
12807 case RISCV::SF_VQMACCSU_4x8x4:
12808 case RISCV::SF_VQMACCUS_2x8x2:
12809 case RISCV::SF_VQMACCUS_4x8x4:
12810 case RISCV::SF_VQMACCU_2x8x2:
12811 case RISCV::SF_VQMACCU_4x8x4:
12812 case RISCV::SF_VQMACC_2x8x2:
12813 case RISCV::SF_VQMACC_4x8x4: {
12814 switch (OpNum) {
12815 case 1:
12816 // op: vd
12817 return 7;
12818 case 3:
12819 // op: vs2
12820 return 20;
12821 case 2:
12822 // op: vs1
12823 return 15;
12824 }
12825 break;
12826 }
12827 case RISCV::VDOTA4SU_VX:
12828 case RISCV::VDOTA4US_VX:
12829 case RISCV::VDOTA4U_VX:
12830 case RISCV::VDOTA4_VX: {
12831 switch (OpNum) {
12832 case 1:
12833 // op: vd
12834 return 7;
12835 case 4:
12836 // op: vm
12837 return 25;
12838 case 2:
12839 // op: vs2
12840 return 20;
12841 case 3:
12842 // op: rs1
12843 return 15;
12844 }
12845 break;
12846 }
12847 case RISCV::VDOTA4SU_VV:
12848 case RISCV::VDOTA4U_VV:
12849 case RISCV::VDOTA4_VV: {
12850 switch (OpNum) {
12851 case 1:
12852 // op: vd
12853 return 7;
12854 case 4:
12855 // op: vm
12856 return 25;
12857 case 2:
12858 // op: vs2
12859 return 20;
12860 case 3:
12861 // op: vs1
12862 return 15;
12863 }
12864 break;
12865 }
12866 case RISCV::TH_VMAQASU_VX:
12867 case RISCV::TH_VMAQAUS_VX:
12868 case RISCV::TH_VMAQAU_VX:
12869 case RISCV::TH_VMAQA_VX:
12870 case RISCV::VFMACC_VF:
12871 case RISCV::VFMADD_VF:
12872 case RISCV::VFMSAC_VF:
12873 case RISCV::VFMSUB_VF:
12874 case RISCV::VFNMACC_VF:
12875 case RISCV::VFNMADD_VF:
12876 case RISCV::VFNMSAC_VF:
12877 case RISCV::VFNMSUB_VF:
12878 case RISCV::VFWMACCBF16_VF:
12879 case RISCV::VFWMACC_VF:
12880 case RISCV::VFWMSAC_VF:
12881 case RISCV::VFWNMACC_VF:
12882 case RISCV::VFWNMSAC_VF:
12883 case RISCV::VMACC_VX:
12884 case RISCV::VMADD_VX:
12885 case RISCV::VNMSAC_VX:
12886 case RISCV::VNMSUB_VX:
12887 case RISCV::VWMACCSU_VX:
12888 case RISCV::VWMACCUS_VX:
12889 case RISCV::VWMACCU_VX:
12890 case RISCV::VWMACC_VX: {
12891 switch (OpNum) {
12892 case 1:
12893 // op: vd
12894 return 7;
12895 case 4:
12896 // op: vm
12897 return 25;
12898 case 3:
12899 // op: vs2
12900 return 20;
12901 case 2:
12902 // op: rs1
12903 return 15;
12904 }
12905 break;
12906 }
12907 case RISCV::TH_VMAQASU_VV:
12908 case RISCV::TH_VMAQAU_VV:
12909 case RISCV::TH_VMAQA_VV:
12910 case RISCV::VFMACC_VV:
12911 case RISCV::VFMADD_VV:
12912 case RISCV::VFMSAC_VV:
12913 case RISCV::VFMSUB_VV:
12914 case RISCV::VFNMACC_VV:
12915 case RISCV::VFNMADD_VV:
12916 case RISCV::VFNMSAC_VV:
12917 case RISCV::VFNMSUB_VV:
12918 case RISCV::VFWMACCBF16_VV:
12919 case RISCV::VFWMACC_VV:
12920 case RISCV::VFWMSAC_VV:
12921 case RISCV::VFWNMACC_VV:
12922 case RISCV::VFWNMSAC_VV:
12923 case RISCV::VMACC_VV:
12924 case RISCV::VMADD_VV:
12925 case RISCV::VNMSAC_VV:
12926 case RISCV::VNMSUB_VV:
12927 case RISCV::VWMACCSU_VV:
12928 case RISCV::VWMACCU_VV:
12929 case RISCV::VWMACC_VV: {
12930 switch (OpNum) {
12931 case 1:
12932 // op: vd
12933 return 7;
12934 case 4:
12935 // op: vm
12936 return 25;
12937 case 3:
12938 // op: vs2
12939 return 20;
12940 case 2:
12941 // op: vs1
12942 return 15;
12943 }
12944 break;
12945 }
12946 case RISCV::NDS_VFWCVT_F_B:
12947 case RISCV::NDS_VFWCVT_F_BU:
12948 case RISCV::NDS_VFWCVT_F_N:
12949 case RISCV::NDS_VFWCVT_F_NU: {
12950 switch (OpNum) {
12951 case 1:
12952 // op: vs
12953 return 20;
12954 case 0:
12955 // op: vd
12956 return 7;
12957 case 2:
12958 // op: vm
12959 return 25;
12960 }
12961 break;
12962 }
12963 case RISCV::NDS_VFNCVT_BF16_S:
12964 case RISCV::NDS_VFWCVT_S_BF16: {
12965 switch (OpNum) {
12966 case 1:
12967 // op: vs2
12968 return 20;
12969 case 0:
12970 // op: vd
12971 return 7;
12972 }
12973 break;
12974 }
12975 case RISCV::NDS_VFPMADB_VF:
12976 case RISCV::NDS_VFPMADT_VF: {
12977 switch (OpNum) {
12978 case 1:
12979 // op: vs2
12980 return 20;
12981 case 2:
12982 // op: rs1
12983 return 15;
12984 case 0:
12985 // op: vd
12986 return 7;
12987 case 3:
12988 // op: vm
12989 return 25;
12990 }
12991 break;
12992 }
12993 case RISCV::SF_VC_I: {
12994 switch (OpNum) {
12995 case 1:
12996 // op: vs2
12997 return 20;
12998 case 2:
12999 // op: vd
13000 return 7;
13001 case 3:
13002 // op: imm
13003 return 15;
13004 case 0:
13005 // op: funct6_lo2
13006 return 26;
13007 }
13008 break;
13009 }
13010 case RISCV::SF_VC_X: {
13011 switch (OpNum) {
13012 case 1:
13013 // op: vs2
13014 return 20;
13015 case 2:
13016 // op: vd
13017 return 7;
13018 case 3:
13019 // op: rs1
13020 return 15;
13021 case 0:
13022 // op: funct6_lo2
13023 return 26;
13024 }
13025 break;
13026 }
13027 case RISCV::SF_MM_E4M3_E4M3:
13028 case RISCV::SF_MM_E4M3_E5M2:
13029 case RISCV::SF_MM_E5M2_E4M3:
13030 case RISCV::SF_MM_E5M2_E5M2:
13031 case RISCV::SF_MM_S_S:
13032 case RISCV::SF_MM_S_U:
13033 case RISCV::SF_MM_U_S:
13034 case RISCV::SF_MM_U_U: {
13035 switch (OpNum) {
13036 case 1:
13037 // op: vs2
13038 return 20;
13039 case 2:
13040 // op: vs1
13041 return 15;
13042 case 0:
13043 // op: rd
13044 return 10;
13045 }
13046 break;
13047 }
13048 case RISCV::SF_MM_F_F: {
13049 switch (OpNum) {
13050 case 1:
13051 // op: vs2
13052 return 20;
13053 case 2:
13054 // op: vs1
13055 return 15;
13056 case 0:
13057 // op: rd
13058 return 9;
13059 }
13060 break;
13061 }
13062 case RISCV::AIF_MOV_M_X: {
13063 switch (OpNum) {
13064 case 2:
13065 // op: imm
13066 return 12;
13067 case 1:
13068 // op: rs1
13069 return 15;
13070 case 0:
13071 // op: rd
13072 return 7;
13073 }
13074 break;
13075 }
13076 case RISCV::RI_VEXTRACT: {
13077 switch (OpNum) {
13078 case 2:
13079 // op: imm
13080 return 15;
13081 case 1:
13082 // op: vs2
13083 return 20;
13084 case 0:
13085 // op: rd
13086 return 7;
13087 }
13088 break;
13089 }
13090 case RISCV::AIF_FADDI_PI:
13091 case RISCV::AIF_FANDI_PI:
13092 case RISCV::AIF_FSLLI_PI:
13093 case RISCV::AIF_FSRAI_PI:
13094 case RISCV::AIF_FSRLI_PI: {
13095 switch (OpNum) {
13096 case 2:
13097 // op: imm
13098 return 20;
13099 case 1:
13100 // op: rs1
13101 return 15;
13102 case 0:
13103 // op: rd
13104 return 7;
13105 }
13106 break;
13107 }
13108 case RISCV::C_FLDSP:
13109 case RISCV::C_FLWSP:
13110 case RISCV::C_LDSP:
13111 case RISCV::C_LDSP_RV32:
13112 case RISCV::C_LWSP:
13113 case RISCV::C_LWSP_INX: {
13114 switch (OpNum) {
13115 case 2:
13116 // op: imm
13117 return 2;
13118 case 0:
13119 // op: rd
13120 return 7;
13121 }
13122 break;
13123 }
13124 case RISCV::C_ADDI:
13125 case RISCV::C_ADDIW:
13126 case RISCV::C_SLLI: {
13127 switch (OpNum) {
13128 case 2:
13129 // op: imm
13130 return 2;
13131 case 1:
13132 // op: rd
13133 return 7;
13134 }
13135 break;
13136 }
13137 case RISCV::C_ANDI:
13138 case RISCV::C_SRAI:
13139 case RISCV::C_SRLI: {
13140 switch (OpNum) {
13141 case 2:
13142 // op: imm
13143 return 2;
13144 case 1:
13145 // op: rs1
13146 return 7;
13147 }
13148 break;
13149 }
13150 case RISCV::C_ADDI16SP: {
13151 switch (OpNum) {
13152 case 2:
13153 // op: imm
13154 return 2;
13155 }
13156 break;
13157 }
13158 case RISCV::C_ADDI4SPN: {
13159 switch (OpNum) {
13160 case 2:
13161 // op: imm
13162 return 5;
13163 case 0:
13164 // op: rd
13165 return 2;
13166 }
13167 break;
13168 }
13169 case RISCV::C_FSDSP:
13170 case RISCV::C_FSWSP:
13171 case RISCV::C_SDSP:
13172 case RISCV::C_SDSP_RV32:
13173 case RISCV::C_SWSP:
13174 case RISCV::C_SWSP_INX: {
13175 switch (OpNum) {
13176 case 2:
13177 // op: imm
13178 return 7;
13179 case 0:
13180 // op: rs2
13181 return 2;
13182 }
13183 break;
13184 }
13185 case RISCV::NDS_BBC:
13186 case RISCV::NDS_BBS:
13187 case RISCV::NDS_BEQC:
13188 case RISCV::NDS_BNEC: {
13189 switch (OpNum) {
13190 case 2:
13191 // op: imm10
13192 return 8;
13193 case 0:
13194 // op: rs1
13195 return 15;
13196 case 1:
13197 // op: cimm
13198 return 7;
13199 }
13200 break;
13201 }
13202 case RISCV::CV_BEQIMM:
13203 case RISCV::CV_BNEIMM: {
13204 switch (OpNum) {
13205 case 2:
13206 // op: imm12
13207 return 7;
13208 case 0:
13209 // op: rs1
13210 return 15;
13211 case 1:
13212 // op: imm5
13213 return 20;
13214 }
13215 break;
13216 }
13217 case RISCV::FSD:
13218 case RISCV::FSH:
13219 case RISCV::FSQ:
13220 case RISCV::FSW:
13221 case RISCV::SB:
13222 case RISCV::SD:
13223 case RISCV::SD_RV32:
13224 case RISCV::SH:
13225 case RISCV::SH_INX:
13226 case RISCV::SW:
13227 case RISCV::SW_INX: {
13228 switch (OpNum) {
13229 case 2:
13230 // op: imm12
13231 return 7;
13232 case 0:
13233 // op: rs2
13234 return 20;
13235 case 1:
13236 // op: rs1
13237 return 15;
13238 }
13239 break;
13240 }
13241 case RISCV::BEQI:
13242 case RISCV::BNEI: {
13243 switch (OpNum) {
13244 case 2:
13245 // op: imm12
13246 return 7;
13247 case 1:
13248 // op: cimm
13249 return 20;
13250 case 0:
13251 // op: rs1
13252 return 15;
13253 }
13254 break;
13255 }
13256 case RISCV::BEQ:
13257 case RISCV::BGE:
13258 case RISCV::BGEU:
13259 case RISCV::BLT:
13260 case RISCV::BLTU:
13261 case RISCV::BNE:
13262 case RISCV::QC_BEQI:
13263 case RISCV::QC_BGEI:
13264 case RISCV::QC_BGEUI:
13265 case RISCV::QC_BLTI:
13266 case RISCV::QC_BLTUI:
13267 case RISCV::QC_BNEI: {
13268 switch (OpNum) {
13269 case 2:
13270 // op: imm12
13271 return 7;
13272 case 1:
13273 // op: rs2
13274 return 20;
13275 case 0:
13276 // op: rs1
13277 return 15;
13278 }
13279 break;
13280 }
13281 case RISCV::AIF_FBC_PS:
13282 case RISCV::AIF_FLQ2:
13283 case RISCV::AIF_FLW_PS:
13284 case RISCV::CSRRC:
13285 case RISCV::CSRRCI:
13286 case RISCV::CSRRS:
13287 case RISCV::CSRRSI:
13288 case RISCV::CSRRW:
13289 case RISCV::CSRRWI: {
13290 switch (OpNum) {
13291 case 2:
13292 // op: rs1
13293 return 15;
13294 case 0:
13295 // op: rd
13296 return 7;
13297 case 1:
13298 // op: imm12
13299 return 20;
13300 }
13301 break;
13302 }
13303 case RISCV::CV_LBU_ri_inc:
13304 case RISCV::CV_LB_ri_inc:
13305 case RISCV::CV_LHU_ri_inc:
13306 case RISCV::CV_LH_ri_inc:
13307 case RISCV::CV_LW_ri_inc: {
13308 switch (OpNum) {
13309 case 2:
13310 // op: rs1
13311 return 15;
13312 case 0:
13313 // op: rd
13314 return 7;
13315 case 3:
13316 // op: imm12
13317 return 20;
13318 }
13319 break;
13320 }
13321 case RISCV::TH_LBIA:
13322 case RISCV::TH_LBIB:
13323 case RISCV::TH_LBUIA:
13324 case RISCV::TH_LBUIB:
13325 case RISCV::TH_LDIA:
13326 case RISCV::TH_LDIB:
13327 case RISCV::TH_LHIA:
13328 case RISCV::TH_LHIB:
13329 case RISCV::TH_LHUIA:
13330 case RISCV::TH_LHUIB:
13331 case RISCV::TH_LWIA:
13332 case RISCV::TH_LWIB:
13333 case RISCV::TH_LWUIA:
13334 case RISCV::TH_LWUIB: {
13335 switch (OpNum) {
13336 case 2:
13337 // op: rs1
13338 return 15;
13339 case 0:
13340 // op: rd
13341 return 7;
13342 case 3:
13343 // op: simm5
13344 return 20;
13345 case 4:
13346 // op: uimm2
13347 return 25;
13348 }
13349 break;
13350 }
13351 case RISCV::QC_INSBRI: {
13352 switch (OpNum) {
13353 case 2:
13354 // op: rs1
13355 return 15;
13356 case 1:
13357 // op: rd
13358 return 7;
13359 case 3:
13360 // op: imm11
13361 return 20;
13362 }
13363 break;
13364 }
13365 case RISCV::QC_MULIADD: {
13366 switch (OpNum) {
13367 case 2:
13368 // op: rs1
13369 return 15;
13370 case 1:
13371 // op: rd
13372 return 7;
13373 case 3:
13374 // op: imm12
13375 return 20;
13376 }
13377 break;
13378 }
13379 case RISCV::CV_INSERT_B:
13380 case RISCV::CV_INSERT_H:
13381 case RISCV::CV_SDOTSP_SCI_B:
13382 case RISCV::CV_SDOTSP_SCI_H:
13383 case RISCV::CV_SDOTUP_SCI_B:
13384 case RISCV::CV_SDOTUP_SCI_H:
13385 case RISCV::CV_SDOTUSP_SCI_B:
13386 case RISCV::CV_SDOTUSP_SCI_H: {
13387 switch (OpNum) {
13388 case 2:
13389 // op: rs1
13390 return 15;
13391 case 1:
13392 // op: rd
13393 return 7;
13394 case 3:
13395 // op: imm6
13396 return 20;
13397 }
13398 break;
13399 }
13400 case RISCV::CV_INSERT: {
13401 switch (OpNum) {
13402 case 2:
13403 // op: rs1
13404 return 15;
13405 case 1:
13406 // op: rd
13407 return 7;
13408 case 3:
13409 // op: is3
13410 return 25;
13411 case 4:
13412 // op: is2
13413 return 20;
13414 }
13415 break;
13416 }
13417 case RISCV::QC_SELECTIIEQ:
13418 case RISCV::QC_SELECTIINE: {
13419 switch (OpNum) {
13420 case 2:
13421 // op: rs1
13422 return 15;
13423 case 1:
13424 // op: rd
13425 return 7;
13426 case 3:
13427 // op: simm1
13428 return 20;
13429 case 4:
13430 // op: simm2
13431 return 27;
13432 }
13433 break;
13434 }
13435 case RISCV::TH_SBIA:
13436 case RISCV::TH_SBIB:
13437 case RISCV::TH_SDIA:
13438 case RISCV::TH_SDIB:
13439 case RISCV::TH_SHIA:
13440 case RISCV::TH_SHIB:
13441 case RISCV::TH_SWIA:
13442 case RISCV::TH_SWIB: {
13443 switch (OpNum) {
13444 case 2:
13445 // op: rs1
13446 return 15;
13447 case 1:
13448 // op: rd
13449 return 7;
13450 case 3:
13451 // op: simm5
13452 return 20;
13453 case 4:
13454 // op: uimm2
13455 return 25;
13456 }
13457 break;
13458 }
13459 case RISCV::QC_INSB:
13460 case RISCV::QC_INSBH: {
13461 switch (OpNum) {
13462 case 2:
13463 // op: rs1
13464 return 15;
13465 case 1:
13466 // op: rd
13467 return 7;
13468 case 4:
13469 // op: shamt
13470 return 20;
13471 case 3:
13472 // op: width
13473 return 25;
13474 }
13475 break;
13476 }
13477 case RISCV::AES32DSI:
13478 case RISCV::AES32DSMI:
13479 case RISCV::AES32ESI:
13480 case RISCV::AES32ESMI:
13481 case RISCV::SM4ED:
13482 case RISCV::SM4KS: {
13483 switch (OpNum) {
13484 case 2:
13485 // op: rs2
13486 return 20;
13487 case 1:
13488 // op: rs1
13489 return 15;
13490 case 0:
13491 // op: rd
13492 return 7;
13493 case 3:
13494 // op: bs
13495 return 30;
13496 }
13497 break;
13498 }
13499 case RISCV::QC_LWM:
13500 case RISCV::QC_LWMI:
13501 case RISCV::QC_SETWM:
13502 case RISCV::QC_SETWMI:
13503 case RISCV::QC_SWM:
13504 case RISCV::QC_SWMI: {
13505 switch (OpNum) {
13506 case 2:
13507 // op: rs2
13508 return 20;
13509 case 1:
13510 // op: rs1
13511 return 15;
13512 case 0:
13513 // op: rd
13514 return 7;
13515 case 3:
13516 // op: imm
13517 return 25;
13518 }
13519 break;
13520 }
13521 case RISCV::CV_ADDN:
13522 case RISCV::CV_ADDRN:
13523 case RISCV::CV_ADDUN:
13524 case RISCV::CV_ADDURN:
13525 case RISCV::CV_MULHHSN:
13526 case RISCV::CV_MULHHSRN:
13527 case RISCV::CV_MULHHUN:
13528 case RISCV::CV_MULHHURN:
13529 case RISCV::CV_MULSN:
13530 case RISCV::CV_MULSRN:
13531 case RISCV::CV_MULUN:
13532 case RISCV::CV_MULURN:
13533 case RISCV::CV_SUBN:
13534 case RISCV::CV_SUBRN:
13535 case RISCV::CV_SUBUN:
13536 case RISCV::CV_SUBURN: {
13537 switch (OpNum) {
13538 case 2:
13539 // op: rs2
13540 return 20;
13541 case 1:
13542 // op: rs1
13543 return 15;
13544 case 0:
13545 // op: rd
13546 return 7;
13547 case 3:
13548 // op: imm5
13549 return 25;
13550 }
13551 break;
13552 }
13553 case RISCV::QC_LRB:
13554 case RISCV::QC_LRBU:
13555 case RISCV::QC_LRH:
13556 case RISCV::QC_LRHU:
13557 case RISCV::QC_LRW:
13558 case RISCV::QC_SHLADD:
13559 case RISCV::QC_SRB:
13560 case RISCV::QC_SRH:
13561 case RISCV::QC_SRW: {
13562 switch (OpNum) {
13563 case 2:
13564 // op: rs2
13565 return 20;
13566 case 1:
13567 // op: rs1
13568 return 15;
13569 case 0:
13570 // op: rd
13571 return 7;
13572 case 3:
13573 // op: shamt
13574 return 25;
13575 }
13576 break;
13577 }
13578 case RISCV::TH_ADDSL:
13579 case RISCV::TH_FLRD:
13580 case RISCV::TH_FLRW:
13581 case RISCV::TH_FLURD:
13582 case RISCV::TH_FLURW:
13583 case RISCV::TH_FSRD:
13584 case RISCV::TH_FSRW:
13585 case RISCV::TH_FSURD:
13586 case RISCV::TH_FSURW:
13587 case RISCV::TH_LRB:
13588 case RISCV::TH_LRBU:
13589 case RISCV::TH_LRD:
13590 case RISCV::TH_LRH:
13591 case RISCV::TH_LRHU:
13592 case RISCV::TH_LRW:
13593 case RISCV::TH_LRWU:
13594 case RISCV::TH_LURB:
13595 case RISCV::TH_LURBU:
13596 case RISCV::TH_LURD:
13597 case RISCV::TH_LURH:
13598 case RISCV::TH_LURHU:
13599 case RISCV::TH_LURW:
13600 case RISCV::TH_LURWU:
13601 case RISCV::TH_SRB:
13602 case RISCV::TH_SRD:
13603 case RISCV::TH_SRH:
13604 case RISCV::TH_SRW:
13605 case RISCV::TH_SURB:
13606 case RISCV::TH_SURD:
13607 case RISCV::TH_SURH:
13608 case RISCV::TH_SURW: {
13609 switch (OpNum) {
13610 case 2:
13611 // op: rs2
13612 return 20;
13613 case 1:
13614 // op: rs1
13615 return 15;
13616 case 0:
13617 // op: rd
13618 return 7;
13619 case 3:
13620 // op: uimm2
13621 return 25;
13622 }
13623 break;
13624 }
13625 case RISCV::AADD:
13626 case RISCV::AADDU:
13627 case RISCV::ADD:
13628 case RISCV::ADDW:
13629 case RISCV::ADD_UW:
13630 case RISCV::AES64DS:
13631 case RISCV::AES64DSM:
13632 case RISCV::AES64ES:
13633 case RISCV::AES64ESM:
13634 case RISCV::AES64KS2:
13635 case RISCV::AIF_BITMIXB:
13636 case RISCV::AIF_CUBEFACEIDX_PS:
13637 case RISCV::AIF_CUBEFACE_PS:
13638 case RISCV::AIF_CUBESGNSC_PS:
13639 case RISCV::AIF_CUBESGNTC_PS:
13640 case RISCV::AIF_FADD_PI:
13641 case RISCV::AIF_FAMOADDG_PI:
13642 case RISCV::AIF_FAMOADDL_PI:
13643 case RISCV::AIF_FAMOANDG_PI:
13644 case RISCV::AIF_FAMOANDL_PI:
13645 case RISCV::AIF_FAMOMAXG_PI:
13646 case RISCV::AIF_FAMOMAXG_PS:
13647 case RISCV::AIF_FAMOMAXL_PI:
13648 case RISCV::AIF_FAMOMAXL_PS:
13649 case RISCV::AIF_FAMOMAXUG_PI:
13650 case RISCV::AIF_FAMOMAXUL_PI:
13651 case RISCV::AIF_FAMOMING_PI:
13652 case RISCV::AIF_FAMOMING_PS:
13653 case RISCV::AIF_FAMOMINL_PI:
13654 case RISCV::AIF_FAMOMINL_PS:
13655 case RISCV::AIF_FAMOMINUG_PI:
13656 case RISCV::AIF_FAMOMINUL_PI:
13657 case RISCV::AIF_FAMOORG_PI:
13658 case RISCV::AIF_FAMOORL_PI:
13659 case RISCV::AIF_FAMOSWAPG_PI:
13660 case RISCV::AIF_FAMOSWAPL_PI:
13661 case RISCV::AIF_FAMOXORG_PI:
13662 case RISCV::AIF_FAMOXORL_PI:
13663 case RISCV::AIF_FAND_PI:
13664 case RISCV::AIF_FCMOVM_PS:
13665 case RISCV::AIF_FDIVU_PI:
13666 case RISCV::AIF_FDIV_PI:
13667 case RISCV::AIF_FEQM_PS:
13668 case RISCV::AIF_FEQ_PI:
13669 case RISCV::AIF_FEQ_PS:
13670 case RISCV::AIF_FG32B_PS:
13671 case RISCV::AIF_FG32H_PS:
13672 case RISCV::AIF_FG32W_PS:
13673 case RISCV::AIF_FGBG_PS:
13674 case RISCV::AIF_FGBL_PS:
13675 case RISCV::AIF_FGB_PS:
13676 case RISCV::AIF_FGHG_PS:
13677 case RISCV::AIF_FGHL_PS:
13678 case RISCV::AIF_FGH_PS:
13679 case RISCV::AIF_FGWG_PS:
13680 case RISCV::AIF_FGWL_PS:
13681 case RISCV::AIF_FGW_PS:
13682 case RISCV::AIF_FLEM_PS:
13683 case RISCV::AIF_FLE_PI:
13684 case RISCV::AIF_FLE_PS:
13685 case RISCV::AIF_FLTM_PI:
13686 case RISCV::AIF_FLTM_PS:
13687 case RISCV::AIF_FLTU_PI:
13688 case RISCV::AIF_FLT_PI:
13689 case RISCV::AIF_FLT_PS:
13690 case RISCV::AIF_FMAXU_PI:
13691 case RISCV::AIF_FMAX_PI:
13692 case RISCV::AIF_FMAX_PS:
13693 case RISCV::AIF_FMINU_PI:
13694 case RISCV::AIF_FMIN_PI:
13695 case RISCV::AIF_FMIN_PS:
13696 case RISCV::AIF_FMULHU_PI:
13697 case RISCV::AIF_FMULH_PI:
13698 case RISCV::AIF_FMUL_PI:
13699 case RISCV::AIF_FOR_PI:
13700 case RISCV::AIF_FRCP_FIX_RAST:
13701 case RISCV::AIF_FREMU_PI:
13702 case RISCV::AIF_FREM_PI:
13703 case RISCV::AIF_FSGNJN_PS:
13704 case RISCV::AIF_FSGNJX_PS:
13705 case RISCV::AIF_FSGNJ_PS:
13706 case RISCV::AIF_FSLL_PI:
13707 case RISCV::AIF_FSRA_PI:
13708 case RISCV::AIF_FSRL_PI:
13709 case RISCV::AIF_FSUB_PI:
13710 case RISCV::AIF_FXOR_PI:
13711 case RISCV::AIF_MASKAND:
13712 case RISCV::AIF_MASKOR:
13713 case RISCV::AIF_MASKXOR:
13714 case RISCV::AIF_PACKB:
13715 case RISCV::AND:
13716 case RISCV::ANDN:
13717 case RISCV::ASUB:
13718 case RISCV::ASUBU:
13719 case RISCV::BCLR:
13720 case RISCV::BEXT:
13721 case RISCV::BINV:
13722 case RISCV::BSET:
13723 case RISCV::CLMUL:
13724 case RISCV::CLMULH:
13725 case RISCV::CLMULR:
13726 case RISCV::CV_ADD_B:
13727 case RISCV::CV_ADD_DIV2:
13728 case RISCV::CV_ADD_DIV4:
13729 case RISCV::CV_ADD_DIV8:
13730 case RISCV::CV_ADD_H:
13731 case RISCV::CV_ADD_SC_B:
13732 case RISCV::CV_ADD_SC_H:
13733 case RISCV::CV_AND_B:
13734 case RISCV::CV_AND_H:
13735 case RISCV::CV_AND_SC_B:
13736 case RISCV::CV_AND_SC_H:
13737 case RISCV::CV_AVGU_B:
13738 case RISCV::CV_AVGU_H:
13739 case RISCV::CV_AVGU_SC_B:
13740 case RISCV::CV_AVGU_SC_H:
13741 case RISCV::CV_AVG_B:
13742 case RISCV::CV_AVG_H:
13743 case RISCV::CV_AVG_SC_B:
13744 case RISCV::CV_AVG_SC_H:
13745 case RISCV::CV_BCLRR:
13746 case RISCV::CV_BSETR:
13747 case RISCV::CV_CLIPR:
13748 case RISCV::CV_CLIPUR:
13749 case RISCV::CV_CMPEQ_B:
13750 case RISCV::CV_CMPEQ_H:
13751 case RISCV::CV_CMPEQ_SC_B:
13752 case RISCV::CV_CMPEQ_SC_H:
13753 case RISCV::CV_CMPGEU_B:
13754 case RISCV::CV_CMPGEU_H:
13755 case RISCV::CV_CMPGEU_SC_B:
13756 case RISCV::CV_CMPGEU_SC_H:
13757 case RISCV::CV_CMPGE_B:
13758 case RISCV::CV_CMPGE_H:
13759 case RISCV::CV_CMPGE_SC_B:
13760 case RISCV::CV_CMPGE_SC_H:
13761 case RISCV::CV_CMPGTU_B:
13762 case RISCV::CV_CMPGTU_H:
13763 case RISCV::CV_CMPGTU_SC_B:
13764 case RISCV::CV_CMPGTU_SC_H:
13765 case RISCV::CV_CMPGT_B:
13766 case RISCV::CV_CMPGT_H:
13767 case RISCV::CV_CMPGT_SC_B:
13768 case RISCV::CV_CMPGT_SC_H:
13769 case RISCV::CV_CMPLEU_B:
13770 case RISCV::CV_CMPLEU_H:
13771 case RISCV::CV_CMPLEU_SC_B:
13772 case RISCV::CV_CMPLEU_SC_H:
13773 case RISCV::CV_CMPLE_B:
13774 case RISCV::CV_CMPLE_H:
13775 case RISCV::CV_CMPLE_SC_B:
13776 case RISCV::CV_CMPLE_SC_H:
13777 case RISCV::CV_CMPLTU_B:
13778 case RISCV::CV_CMPLTU_H:
13779 case RISCV::CV_CMPLTU_SC_B:
13780 case RISCV::CV_CMPLTU_SC_H:
13781 case RISCV::CV_CMPLT_B:
13782 case RISCV::CV_CMPLT_H:
13783 case RISCV::CV_CMPLT_SC_B:
13784 case RISCV::CV_CMPLT_SC_H:
13785 case RISCV::CV_CMPNE_B:
13786 case RISCV::CV_CMPNE_H:
13787 case RISCV::CV_CMPNE_SC_B:
13788 case RISCV::CV_CMPNE_SC_H:
13789 case RISCV::CV_DOTSP_B:
13790 case RISCV::CV_DOTSP_H:
13791 case RISCV::CV_DOTSP_SC_B:
13792 case RISCV::CV_DOTSP_SC_H:
13793 case RISCV::CV_DOTUP_B:
13794 case RISCV::CV_DOTUP_H:
13795 case RISCV::CV_DOTUP_SC_B:
13796 case RISCV::CV_DOTUP_SC_H:
13797 case RISCV::CV_DOTUSP_B:
13798 case RISCV::CV_DOTUSP_H:
13799 case RISCV::CV_DOTUSP_SC_B:
13800 case RISCV::CV_DOTUSP_SC_H:
13801 case RISCV::CV_EXTRACTR:
13802 case RISCV::CV_EXTRACTUR:
13803 case RISCV::CV_LBU_rr:
13804 case RISCV::CV_LB_rr:
13805 case RISCV::CV_LHU_rr:
13806 case RISCV::CV_LH_rr:
13807 case RISCV::CV_LW_rr:
13808 case RISCV::CV_MAX:
13809 case RISCV::CV_MAXU:
13810 case RISCV::CV_MAXU_B:
13811 case RISCV::CV_MAXU_H:
13812 case RISCV::CV_MAXU_SC_B:
13813 case RISCV::CV_MAXU_SC_H:
13814 case RISCV::CV_MAX_B:
13815 case RISCV::CV_MAX_H:
13816 case RISCV::CV_MAX_SC_B:
13817 case RISCV::CV_MAX_SC_H:
13818 case RISCV::CV_MIN:
13819 case RISCV::CV_MINU:
13820 case RISCV::CV_MINU_B:
13821 case RISCV::CV_MINU_H:
13822 case RISCV::CV_MINU_SC_B:
13823 case RISCV::CV_MINU_SC_H:
13824 case RISCV::CV_MIN_B:
13825 case RISCV::CV_MIN_H:
13826 case RISCV::CV_MIN_SC_B:
13827 case RISCV::CV_MIN_SC_H:
13828 case RISCV::CV_OR_B:
13829 case RISCV::CV_OR_H:
13830 case RISCV::CV_OR_SC_B:
13831 case RISCV::CV_OR_SC_H:
13832 case RISCV::CV_PACK:
13833 case RISCV::CV_PACK_H:
13834 case RISCV::CV_ROR:
13835 case RISCV::CV_SHUFFLE_B:
13836 case RISCV::CV_SHUFFLE_H:
13837 case RISCV::CV_SLE:
13838 case RISCV::CV_SLEU:
13839 case RISCV::CV_SLL_B:
13840 case RISCV::CV_SLL_H:
13841 case RISCV::CV_SLL_SC_B:
13842 case RISCV::CV_SLL_SC_H:
13843 case RISCV::CV_SRA_B:
13844 case RISCV::CV_SRA_H:
13845 case RISCV::CV_SRA_SC_B:
13846 case RISCV::CV_SRA_SC_H:
13847 case RISCV::CV_SRL_B:
13848 case RISCV::CV_SRL_H:
13849 case RISCV::CV_SRL_SC_B:
13850 case RISCV::CV_SRL_SC_H:
13851 case RISCV::CV_SUBROTMJ:
13852 case RISCV::CV_SUBROTMJ_DIV2:
13853 case RISCV::CV_SUBROTMJ_DIV4:
13854 case RISCV::CV_SUBROTMJ_DIV8:
13855 case RISCV::CV_SUB_B:
13856 case RISCV::CV_SUB_DIV2:
13857 case RISCV::CV_SUB_DIV4:
13858 case RISCV::CV_SUB_DIV8:
13859 case RISCV::CV_SUB_H:
13860 case RISCV::CV_SUB_SC_B:
13861 case RISCV::CV_SUB_SC_H:
13862 case RISCV::CV_XOR_B:
13863 case RISCV::CV_XOR_H:
13864 case RISCV::CV_XOR_SC_B:
13865 case RISCV::CV_XOR_SC_H:
13866 case RISCV::CZERO_EQZ:
13867 case RISCV::CZERO_NEZ:
13868 case RISCV::DIV:
13869 case RISCV::DIVU:
13870 case RISCV::DIVUW:
13871 case RISCV::DIVW:
13872 case RISCV::FEQ_D:
13873 case RISCV::FEQ_D_IN32X:
13874 case RISCV::FEQ_D_INX:
13875 case RISCV::FEQ_H:
13876 case RISCV::FEQ_H_INX:
13877 case RISCV::FEQ_Q:
13878 case RISCV::FEQ_S:
13879 case RISCV::FEQ_S_INX:
13880 case RISCV::FLEQ_D:
13881 case RISCV::FLEQ_H:
13882 case RISCV::FLEQ_Q:
13883 case RISCV::FLEQ_S:
13884 case RISCV::FLE_D:
13885 case RISCV::FLE_D_IN32X:
13886 case RISCV::FLE_D_INX:
13887 case RISCV::FLE_H:
13888 case RISCV::FLE_H_INX:
13889 case RISCV::FLE_Q:
13890 case RISCV::FLE_S:
13891 case RISCV::FLE_S_INX:
13892 case RISCV::FLTQ_D:
13893 case RISCV::FLTQ_H:
13894 case RISCV::FLTQ_Q:
13895 case RISCV::FLTQ_S:
13896 case RISCV::FLT_D:
13897 case RISCV::FLT_D_IN32X:
13898 case RISCV::FLT_D_INX:
13899 case RISCV::FLT_H:
13900 case RISCV::FLT_H_INX:
13901 case RISCV::FLT_Q:
13902 case RISCV::FLT_S:
13903 case RISCV::FLT_S_INX:
13904 case RISCV::FMAXM_D:
13905 case RISCV::FMAXM_H:
13906 case RISCV::FMAXM_Q:
13907 case RISCV::FMAXM_S:
13908 case RISCV::FMAX_D:
13909 case RISCV::FMAX_D_IN32X:
13910 case RISCV::FMAX_D_INX:
13911 case RISCV::FMAX_H:
13912 case RISCV::FMAX_H_INX:
13913 case RISCV::FMAX_Q:
13914 case RISCV::FMAX_S:
13915 case RISCV::FMAX_S_INX:
13916 case RISCV::FMINM_D:
13917 case RISCV::FMINM_H:
13918 case RISCV::FMINM_Q:
13919 case RISCV::FMINM_S:
13920 case RISCV::FMIN_D:
13921 case RISCV::FMIN_D_IN32X:
13922 case RISCV::FMIN_D_INX:
13923 case RISCV::FMIN_H:
13924 case RISCV::FMIN_H_INX:
13925 case RISCV::FMIN_Q:
13926 case RISCV::FMIN_S:
13927 case RISCV::FMIN_S_INX:
13928 case RISCV::FMVP_D_X:
13929 case RISCV::FMVP_Q_X:
13930 case RISCV::FSGNJN_D:
13931 case RISCV::FSGNJN_D_IN32X:
13932 case RISCV::FSGNJN_D_INX:
13933 case RISCV::FSGNJN_H:
13934 case RISCV::FSGNJN_H_INX:
13935 case RISCV::FSGNJN_Q:
13936 case RISCV::FSGNJN_S:
13937 case RISCV::FSGNJN_S_INX:
13938 case RISCV::FSGNJX_D:
13939 case RISCV::FSGNJX_D_IN32X:
13940 case RISCV::FSGNJX_D_INX:
13941 case RISCV::FSGNJX_H:
13942 case RISCV::FSGNJX_H_INX:
13943 case RISCV::FSGNJX_Q:
13944 case RISCV::FSGNJX_S:
13945 case RISCV::FSGNJX_S_INX:
13946 case RISCV::FSGNJ_D:
13947 case RISCV::FSGNJ_D_IN32X:
13948 case RISCV::FSGNJ_D_INX:
13949 case RISCV::FSGNJ_H:
13950 case RISCV::FSGNJ_H_INX:
13951 case RISCV::FSGNJ_Q:
13952 case RISCV::FSGNJ_S:
13953 case RISCV::FSGNJ_S_INX:
13954 case RISCV::MAX:
13955 case RISCV::MAXU:
13956 case RISCV::MIN:
13957 case RISCV::MINU:
13958 case RISCV::MOP_RR_0:
13959 case RISCV::MOP_RR_1:
13960 case RISCV::MOP_RR_2:
13961 case RISCV::MOP_RR_3:
13962 case RISCV::MOP_RR_4:
13963 case RISCV::MOP_RR_5:
13964 case RISCV::MOP_RR_6:
13965 case RISCV::MOP_RR_7:
13966 case RISCV::MSEQ:
13967 case RISCV::MSLT:
13968 case RISCV::MSLTU:
13969 case RISCV::MUL:
13970 case RISCV::MULH:
13971 case RISCV::MULHR:
13972 case RISCV::MULHRSU:
13973 case RISCV::MULHRU:
13974 case RISCV::MULHSU:
13975 case RISCV::MULHSU_H0:
13976 case RISCV::MULHSU_H1:
13977 case RISCV::MULHU:
13978 case RISCV::MULH_H0:
13979 case RISCV::MULH_H1:
13980 case RISCV::MULQ:
13981 case RISCV::MULQR:
13982 case RISCV::MULSU_H00:
13983 case RISCV::MULSU_H11:
13984 case RISCV::MULSU_W00:
13985 case RISCV::MULSU_W11:
13986 case RISCV::MULU_H00:
13987 case RISCV::MULU_H01:
13988 case RISCV::MULU_H11:
13989 case RISCV::MULU_W00:
13990 case RISCV::MULU_W01:
13991 case RISCV::MULU_W11:
13992 case RISCV::MULW:
13993 case RISCV::MUL_H00:
13994 case RISCV::MUL_H01:
13995 case RISCV::MUL_H11:
13996 case RISCV::MUL_W00:
13997 case RISCV::MUL_W01:
13998 case RISCV::MUL_W11:
13999 case RISCV::NDS_FFB:
14000 case RISCV::NDS_FFMISM:
14001 case RISCV::NDS_FFZMISM:
14002 case RISCV::NDS_FLMISM:
14003 case RISCV::OR:
14004 case RISCV::ORN:
14005 case RISCV::PAADDU_B:
14006 case RISCV::PAADDU_H:
14007 case RISCV::PAADDU_W:
14008 case RISCV::PAADD_B:
14009 case RISCV::PAADD_H:
14010 case RISCV::PAADD_W:
14011 case RISCV::PAAS_HX:
14012 case RISCV::PAAS_WX:
14013 case RISCV::PABDSUMU_B:
14014 case RISCV::PABDU_B:
14015 case RISCV::PABDU_H:
14016 case RISCV::PABD_B:
14017 case RISCV::PABD_H:
14018 case RISCV::PACK:
14019 case RISCV::PACKH:
14020 case RISCV::PACKW:
14021 case RISCV::PADD_B:
14022 case RISCV::PADD_BS:
14023 case RISCV::PADD_H:
14024 case RISCV::PADD_HS:
14025 case RISCV::PADD_W:
14026 case RISCV::PADD_WS:
14027 case RISCV::PASA_HX:
14028 case RISCV::PASA_WX:
14029 case RISCV::PASUBU_B:
14030 case RISCV::PASUBU_H:
14031 case RISCV::PASUBU_W:
14032 case RISCV::PASUB_B:
14033 case RISCV::PASUB_H:
14034 case RISCV::PASUB_W:
14035 case RISCV::PAS_HX:
14036 case RISCV::PAS_WX:
14037 case RISCV::PM2ADDSU_H:
14038 case RISCV::PM2ADDSU_W:
14039 case RISCV::PM2ADDU_H:
14040 case RISCV::PM2ADDU_W:
14041 case RISCV::PM2ADD_H:
14042 case RISCV::PM2ADD_HX:
14043 case RISCV::PM2ADD_W:
14044 case RISCV::PM2ADD_WX:
14045 case RISCV::PM2SADD_H:
14046 case RISCV::PM2SADD_HX:
14047 case RISCV::PM2SUB_H:
14048 case RISCV::PM2SUB_HX:
14049 case RISCV::PM2SUB_W:
14050 case RISCV::PM2SUB_WX:
14051 case RISCV::PM4ADDSU_B:
14052 case RISCV::PM4ADDSU_H:
14053 case RISCV::PM4ADDU_B:
14054 case RISCV::PM4ADDU_H:
14055 case RISCV::PM4ADD_B:
14056 case RISCV::PM4ADD_H:
14057 case RISCV::PMAXU_B:
14058 case RISCV::PMAXU_H:
14059 case RISCV::PMAXU_W:
14060 case RISCV::PMAX_B:
14061 case RISCV::PMAX_H:
14062 case RISCV::PMAX_W:
14063 case RISCV::PMINU_B:
14064 case RISCV::PMINU_H:
14065 case RISCV::PMINU_W:
14066 case RISCV::PMIN_B:
14067 case RISCV::PMIN_H:
14068 case RISCV::PMIN_W:
14069 case RISCV::PMQ2ADD_H:
14070 case RISCV::PMQ2ADD_W:
14071 case RISCV::PMQR2ADD_H:
14072 case RISCV::PMQR2ADD_W:
14073 case RISCV::PMSEQ_B:
14074 case RISCV::PMSEQ_H:
14075 case RISCV::PMSEQ_W:
14076 case RISCV::PMSLTU_B:
14077 case RISCV::PMSLTU_H:
14078 case RISCV::PMSLTU_W:
14079 case RISCV::PMSLT_B:
14080 case RISCV::PMSLT_H:
14081 case RISCV::PMSLT_W:
14082 case RISCV::PMULHRSU_H:
14083 case RISCV::PMULHRSU_W:
14084 case RISCV::PMULHRU_H:
14085 case RISCV::PMULHRU_W:
14086 case RISCV::PMULHR_H:
14087 case RISCV::PMULHR_W:
14088 case RISCV::PMULHSU_H:
14089 case RISCV::PMULHSU_H_B0:
14090 case RISCV::PMULHSU_H_B1:
14091 case RISCV::PMULHSU_W:
14092 case RISCV::PMULHSU_W_H0:
14093 case RISCV::PMULHSU_W_H1:
14094 case RISCV::PMULHU_H:
14095 case RISCV::PMULHU_W:
14096 case RISCV::PMULH_H:
14097 case RISCV::PMULH_H_B0:
14098 case RISCV::PMULH_H_B1:
14099 case RISCV::PMULH_W:
14100 case RISCV::PMULH_W_H0:
14101 case RISCV::PMULH_W_H1:
14102 case RISCV::PMULQR_H:
14103 case RISCV::PMULQR_W:
14104 case RISCV::PMULQ_H:
14105 case RISCV::PMULQ_W:
14106 case RISCV::PMULSU_H_B00:
14107 case RISCV::PMULSU_H_B11:
14108 case RISCV::PMULSU_W_H00:
14109 case RISCV::PMULSU_W_H11:
14110 case RISCV::PMULU_H_B00:
14111 case RISCV::PMULU_H_B01:
14112 case RISCV::PMULU_H_B11:
14113 case RISCV::PMULU_W_H00:
14114 case RISCV::PMULU_W_H01:
14115 case RISCV::PMULU_W_H11:
14116 case RISCV::PMUL_H_B00:
14117 case RISCV::PMUL_H_B01:
14118 case RISCV::PMUL_H_B11:
14119 case RISCV::PMUL_W_H00:
14120 case RISCV::PMUL_W_H01:
14121 case RISCV::PMUL_W_H11:
14122 case RISCV::PPAIREO_B:
14123 case RISCV::PPAIREO_H:
14124 case RISCV::PPAIREO_W:
14125 case RISCV::PPAIRE_B:
14126 case RISCV::PPAIRE_H:
14127 case RISCV::PPAIROE_B:
14128 case RISCV::PPAIROE_H:
14129 case RISCV::PPAIROE_W:
14130 case RISCV::PPAIRO_B:
14131 case RISCV::PPAIRO_H:
14132 case RISCV::PPAIRO_W:
14133 case RISCV::PREDSUMU_BS:
14134 case RISCV::PREDSUMU_HS:
14135 case RISCV::PREDSUMU_WS:
14136 case RISCV::PREDSUM_BS:
14137 case RISCV::PREDSUM_HS:
14138 case RISCV::PREDSUM_WS:
14139 case RISCV::PSADDU_B:
14140 case RISCV::PSADDU_H:
14141 case RISCV::PSADDU_W:
14142 case RISCV::PSADD_B:
14143 case RISCV::PSADD_H:
14144 case RISCV::PSADD_W:
14145 case RISCV::PSAS_HX:
14146 case RISCV::PSAS_WX:
14147 case RISCV::PSA_HX:
14148 case RISCV::PSA_WX:
14149 case RISCV::PSH1ADD_H:
14150 case RISCV::PSH1ADD_W:
14151 case RISCV::PSLL_BS:
14152 case RISCV::PSLL_HS:
14153 case RISCV::PSLL_WS:
14154 case RISCV::PSRA_BS:
14155 case RISCV::PSRA_HS:
14156 case RISCV::PSRA_WS:
14157 case RISCV::PSRL_BS:
14158 case RISCV::PSRL_HS:
14159 case RISCV::PSRL_WS:
14160 case RISCV::PSSA_HX:
14161 case RISCV::PSSA_WX:
14162 case RISCV::PSSH1SADD_H:
14163 case RISCV::PSSH1SADD_W:
14164 case RISCV::PSSHAR_HS:
14165 case RISCV::PSSHAR_WS:
14166 case RISCV::PSSHA_HS:
14167 case RISCV::PSSHA_WS:
14168 case RISCV::PSSUBU_B:
14169 case RISCV::PSSUBU_H:
14170 case RISCV::PSSUBU_W:
14171 case RISCV::PSSUB_B:
14172 case RISCV::PSSUB_H:
14173 case RISCV::PSSUB_W:
14174 case RISCV::PSUB_B:
14175 case RISCV::PSUB_H:
14176 case RISCV::PSUB_W:
14177 case RISCV::QC_ADDSAT:
14178 case RISCV::QC_ADDUSAT:
14179 case RISCV::QC_CSRRWR:
14180 case RISCV::QC_CSRRWRI:
14181 case RISCV::QC_EXTDPR:
14182 case RISCV::QC_EXTDPRH:
14183 case RISCV::QC_EXTDR:
14184 case RISCV::QC_EXTDUPR:
14185 case RISCV::QC_EXTDUPRH:
14186 case RISCV::QC_EXTDUR:
14187 case RISCV::QC_SHLSAT:
14188 case RISCV::QC_SHLUSAT:
14189 case RISCV::QC_SUBSAT:
14190 case RISCV::QC_SUBUSAT:
14191 case RISCV::QC_WRAP:
14192 case RISCV::REM:
14193 case RISCV::REMU:
14194 case RISCV::REMUW:
14195 case RISCV::REMW:
14196 case RISCV::ROL:
14197 case RISCV::ROLW:
14198 case RISCV::ROR:
14199 case RISCV::RORW:
14200 case RISCV::SADD:
14201 case RISCV::SADDU:
14202 case RISCV::SH1ADD:
14203 case RISCV::SH1ADD_UW:
14204 case RISCV::SH2ADD:
14205 case RISCV::SH2ADD_UW:
14206 case RISCV::SH3ADD:
14207 case RISCV::SH3ADD_UW:
14208 case RISCV::SHA:
14209 case RISCV::SHA512SIG0H:
14210 case RISCV::SHA512SIG0L:
14211 case RISCV::SHA512SIG1H:
14212 case RISCV::SHA512SIG1L:
14213 case RISCV::SHA512SUM0R:
14214 case RISCV::SHA512SUM1R:
14215 case RISCV::SHAR:
14216 case RISCV::SLL:
14217 case RISCV::SLLW:
14218 case RISCV::SLT:
14219 case RISCV::SLTU:
14220 case RISCV::SRA:
14221 case RISCV::SRAW:
14222 case RISCV::SRL:
14223 case RISCV::SRLW:
14224 case RISCV::SSH1SADD:
14225 case RISCV::SSHA:
14226 case RISCV::SSHAR:
14227 case RISCV::SSUB:
14228 case RISCV::SSUBU:
14229 case RISCV::SUB:
14230 case RISCV::SUBW:
14231 case RISCV::UNZIP16HP:
14232 case RISCV::UNZIP16P:
14233 case RISCV::UNZIP8HP:
14234 case RISCV::UNZIP8P:
14235 case RISCV::VSETVL:
14236 case RISCV::VT_MASKC:
14237 case RISCV::VT_MASKCN:
14238 case RISCV::XNOR:
14239 case RISCV::XOR:
14240 case RISCV::XPERM4:
14241 case RISCV::XPERM8:
14242 case RISCV::ZIP16HP:
14243 case RISCV::ZIP16P:
14244 case RISCV::ZIP8HP:
14245 case RISCV::ZIP8P: {
14246 switch (OpNum) {
14247 case 2:
14248 // op: rs2
14249 return 20;
14250 case 1:
14251 // op: rs1
14252 return 15;
14253 case 0:
14254 // op: rd
14255 return 7;
14256 }
14257 break;
14258 }
14259 case RISCV::PM2WADDSU_H:
14260 case RISCV::PM2WADDU_H:
14261 case RISCV::PM2WADD_H:
14262 case RISCV::PM2WADD_HX:
14263 case RISCV::PM2WSUB_H:
14264 case RISCV::PM2WSUB_HX:
14265 case RISCV::PWADDU_B:
14266 case RISCV::PWADDU_H:
14267 case RISCV::PWADD_B:
14268 case RISCV::PWADD_H:
14269 case RISCV::PWMULSU_B:
14270 case RISCV::PWMULSU_H:
14271 case RISCV::PWMULU_B:
14272 case RISCV::PWMULU_H:
14273 case RISCV::PWMUL_B:
14274 case RISCV::PWMUL_H:
14275 case RISCV::PWSLA_BS:
14276 case RISCV::PWSLA_HS:
14277 case RISCV::PWSLL_BS:
14278 case RISCV::PWSLL_HS:
14279 case RISCV::PWSUBU_B:
14280 case RISCV::PWSUBU_H:
14281 case RISCV::PWSUB_B:
14282 case RISCV::PWSUB_H:
14283 case RISCV::WADD:
14284 case RISCV::WADDU:
14285 case RISCV::WMUL:
14286 case RISCV::WMULSU:
14287 case RISCV::WMULU:
14288 case RISCV::WSLA:
14289 case RISCV::WSLL:
14290 case RISCV::WSUB:
14291 case RISCV::WSUBU:
14292 case RISCV::WZIP16P:
14293 case RISCV::WZIP8P: {
14294 switch (OpNum) {
14295 case 2:
14296 // op: rs2
14297 return 20;
14298 case 1:
14299 // op: rs1
14300 return 15;
14301 case 0:
14302 // op: rd
14303 return 8;
14304 }
14305 break;
14306 }
14307 case RISCV::FADD_D:
14308 case RISCV::FADD_D_IN32X:
14309 case RISCV::FADD_D_INX:
14310 case RISCV::FADD_H:
14311 case RISCV::FADD_H_INX:
14312 case RISCV::FADD_Q:
14313 case RISCV::FADD_S:
14314 case RISCV::FADD_S_INX:
14315 case RISCV::FDIV_D:
14316 case RISCV::FDIV_D_IN32X:
14317 case RISCV::FDIV_D_INX:
14318 case RISCV::FDIV_H:
14319 case RISCV::FDIV_H_INX:
14320 case RISCV::FDIV_Q:
14321 case RISCV::FDIV_S:
14322 case RISCV::FDIV_S_INX:
14323 case RISCV::FMUL_D:
14324 case RISCV::FMUL_D_IN32X:
14325 case RISCV::FMUL_D_INX:
14326 case RISCV::FMUL_H:
14327 case RISCV::FMUL_H_INX:
14328 case RISCV::FMUL_Q:
14329 case RISCV::FMUL_S:
14330 case RISCV::FMUL_S_INX:
14331 case RISCV::FSUB_D:
14332 case RISCV::FSUB_D_IN32X:
14333 case RISCV::FSUB_D_INX:
14334 case RISCV::FSUB_H:
14335 case RISCV::FSUB_H_INX:
14336 case RISCV::FSUB_Q:
14337 case RISCV::FSUB_S:
14338 case RISCV::FSUB_S_INX: {
14339 switch (OpNum) {
14340 case 2:
14341 // op: rs2
14342 return 20;
14343 case 1:
14344 // op: rs1
14345 return 15;
14346 case 3:
14347 // op: frm
14348 return 12;
14349 case 0:
14350 // op: rd
14351 return 7;
14352 }
14353 break;
14354 }
14355 case RISCV::AMOCAS_B:
14356 case RISCV::AMOCAS_B_AQ:
14357 case RISCV::AMOCAS_B_AQRL:
14358 case RISCV::AMOCAS_B_RL:
14359 case RISCV::AMOCAS_D_RV32:
14360 case RISCV::AMOCAS_D_RV32_AQ:
14361 case RISCV::AMOCAS_D_RV32_AQRL:
14362 case RISCV::AMOCAS_D_RV32_RL:
14363 case RISCV::AMOCAS_D_RV64:
14364 case RISCV::AMOCAS_D_RV64_AQ:
14365 case RISCV::AMOCAS_D_RV64_AQRL:
14366 case RISCV::AMOCAS_D_RV64_RL:
14367 case RISCV::AMOCAS_H:
14368 case RISCV::AMOCAS_H_AQ:
14369 case RISCV::AMOCAS_H_AQRL:
14370 case RISCV::AMOCAS_H_RL:
14371 case RISCV::AMOCAS_Q:
14372 case RISCV::AMOCAS_Q_AQ:
14373 case RISCV::AMOCAS_Q_AQRL:
14374 case RISCV::AMOCAS_Q_RL:
14375 case RISCV::AMOCAS_W:
14376 case RISCV::AMOCAS_W_AQ:
14377 case RISCV::AMOCAS_W_AQRL:
14378 case RISCV::AMOCAS_W_RL: {
14379 switch (OpNum) {
14380 case 2:
14381 // op: rs2
14382 return 20;
14383 case 3:
14384 // op: rs1
14385 return 15;
14386 case 1:
14387 // op: rd
14388 return 7;
14389 }
14390 break;
14391 }
14392 case RISCV::C_ADDW:
14393 case RISCV::C_AND:
14394 case RISCV::C_MUL:
14395 case RISCV::C_OR:
14396 case RISCV::C_SUB:
14397 case RISCV::C_SUBW:
14398 case RISCV::C_XOR: {
14399 switch (OpNum) {
14400 case 2:
14401 // op: rs2
14402 return 2;
14403 case 1:
14404 // op: rd
14405 return 7;
14406 }
14407 break;
14408 }
14409 case RISCV::SF_VC_V_I:
14410 case RISCV::SF_VC_V_IV: {
14411 switch (OpNum) {
14412 case 2:
14413 // op: vs2
14414 return 20;
14415 case 0:
14416 // op: vd
14417 return 7;
14418 case 3:
14419 // op: imm
14420 return 15;
14421 case 1:
14422 // op: funct6_lo2
14423 return 26;
14424 }
14425 break;
14426 }
14427 case RISCV::SF_VC_V_FV: {
14428 switch (OpNum) {
14429 case 2:
14430 // op: vs2
14431 return 20;
14432 case 0:
14433 // op: vd
14434 return 7;
14435 case 3:
14436 // op: rs1
14437 return 15;
14438 case 1:
14439 // op: funct6_lo1
14440 return 26;
14441 }
14442 break;
14443 }
14444 case RISCV::SF_VC_V_X:
14445 case RISCV::SF_VC_V_XV: {
14446 switch (OpNum) {
14447 case 2:
14448 // op: vs2
14449 return 20;
14450 case 0:
14451 // op: vd
14452 return 7;
14453 case 3:
14454 // op: rs1
14455 return 15;
14456 case 1:
14457 // op: funct6_lo2
14458 return 26;
14459 }
14460 break;
14461 }
14462 case RISCV::SF_VC_V_VV: {
14463 switch (OpNum) {
14464 case 2:
14465 // op: vs2
14466 return 20;
14467 case 0:
14468 // op: vd
14469 return 7;
14470 case 3:
14471 // op: vs1
14472 return 15;
14473 case 1:
14474 // op: funct6_lo2
14475 return 26;
14476 }
14477 break;
14478 }
14479 case RISCV::SF_VC_IV:
14480 case RISCV::SF_VC_IVV:
14481 case RISCV::SF_VC_IVW: {
14482 switch (OpNum) {
14483 case 2:
14484 // op: vs2
14485 return 20;
14486 case 1:
14487 // op: vd
14488 return 7;
14489 case 3:
14490 // op: imm
14491 return 15;
14492 case 0:
14493 // op: funct6_lo2
14494 return 26;
14495 }
14496 break;
14497 }
14498 case RISCV::SF_VC_FV:
14499 case RISCV::SF_VC_FVV:
14500 case RISCV::SF_VC_FVW: {
14501 switch (OpNum) {
14502 case 2:
14503 // op: vs2
14504 return 20;
14505 case 1:
14506 // op: vd
14507 return 7;
14508 case 3:
14509 // op: rs1
14510 return 15;
14511 case 0:
14512 // op: funct6_lo1
14513 return 26;
14514 }
14515 break;
14516 }
14517 case RISCV::SF_VC_XV:
14518 case RISCV::SF_VC_XVV:
14519 case RISCV::SF_VC_XVW: {
14520 switch (OpNum) {
14521 case 2:
14522 // op: vs2
14523 return 20;
14524 case 1:
14525 // op: vd
14526 return 7;
14527 case 3:
14528 // op: rs1
14529 return 15;
14530 case 0:
14531 // op: funct6_lo2
14532 return 26;
14533 }
14534 break;
14535 }
14536 case RISCV::SF_VC_VV:
14537 case RISCV::SF_VC_VVV:
14538 case RISCV::SF_VC_VVW: {
14539 switch (OpNum) {
14540 case 2:
14541 // op: vs2
14542 return 20;
14543 case 1:
14544 // op: vd
14545 return 7;
14546 case 3:
14547 // op: vs1
14548 return 15;
14549 case 0:
14550 // op: funct6_lo2
14551 return 26;
14552 }
14553 break;
14554 }
14555 case RISCV::NDS_VD4DOTSU_VV:
14556 case RISCV::NDS_VD4DOTS_VV:
14557 case RISCV::NDS_VD4DOTU_VV: {
14558 switch (OpNum) {
14559 case 2:
14560 // op: vs2
14561 return 20;
14562 case 1:
14563 // op: vs1
14564 return 15;
14565 case 0:
14566 // op: vd
14567 return 7;
14568 case 3:
14569 // op: vm
14570 return 25;
14571 }
14572 break;
14573 }
14574 case RISCV::AIF_MASKPOPC_ET_RAST: {
14575 switch (OpNum) {
14576 case 3:
14577 // op: imm
14578 return 18;
14579 case 2:
14580 // op: rs2
14581 return 20;
14582 case 1:
14583 // op: rs1
14584 return 15;
14585 case 0:
14586 // op: rd
14587 return 7;
14588 }
14589 break;
14590 }
14591 case RISCV::RI_VINSERT: {
14592 switch (OpNum) {
14593 case 3:
14594 // op: imm
14595 return 20;
14596 case 2:
14597 // op: rs1
14598 return 15;
14599 case 1:
14600 // op: vd
14601 return 7;
14602 }
14603 break;
14604 }
14605 case RISCV::CV_SB_ri_inc:
14606 case RISCV::CV_SH_ri_inc:
14607 case RISCV::CV_SW_ri_inc: {
14608 switch (OpNum) {
14609 case 3:
14610 // op: imm12
14611 return 7;
14612 case 1:
14613 // op: rs2
14614 return 20;
14615 case 2:
14616 // op: rs1
14617 return 15;
14618 }
14619 break;
14620 }
14621 case RISCV::MIPS_SDP: {
14622 switch (OpNum) {
14623 case 3:
14624 // op: imm7
14625 return 10;
14626 case 1:
14627 // op: rs3
14628 return 27;
14629 case 0:
14630 // op: rs2
14631 return 20;
14632 case 2:
14633 // op: rs1
14634 return 15;
14635 }
14636 break;
14637 }
14638 case RISCV::MIPS_LWP: {
14639 switch (OpNum) {
14640 case 3:
14641 // op: imm7
14642 return 22;
14643 case 2:
14644 // op: rs1
14645 return 15;
14646 case 0:
14647 // op: rd1
14648 return 7;
14649 case 1:
14650 // op: rd2
14651 return 27;
14652 }
14653 break;
14654 }
14655 case RISCV::MIPS_LDP: {
14656 switch (OpNum) {
14657 case 3:
14658 // op: imm7
14659 return 23;
14660 case 2:
14661 // op: rs1
14662 return 15;
14663 case 0:
14664 // op: rd1
14665 return 7;
14666 case 1:
14667 // op: rd2
14668 return 27;
14669 }
14670 break;
14671 }
14672 case RISCV::MIPS_SWP: {
14673 switch (OpNum) {
14674 case 3:
14675 // op: imm7
14676 return 9;
14677 case 1:
14678 // op: rs3
14679 return 27;
14680 case 0:
14681 // op: rs2
14682 return 20;
14683 case 2:
14684 // op: rs1
14685 return 15;
14686 }
14687 break;
14688 }
14689 case RISCV::QC_SELECTIEQI:
14690 case RISCV::QC_SELECTINEI: {
14691 switch (OpNum) {
14692 case 3:
14693 // op: rs2
14694 return 20;
14695 case 1:
14696 // op: rd
14697 return 7;
14698 case 2:
14699 // op: imm
14700 return 15;
14701 case 4:
14702 // op: simm2
14703 return 27;
14704 }
14705 break;
14706 }
14707 case RISCV::CV_LBU_rr_inc:
14708 case RISCV::CV_LB_rr_inc:
14709 case RISCV::CV_LHU_rr_inc:
14710 case RISCV::CV_LH_rr_inc:
14711 case RISCV::CV_LW_rr_inc: {
14712 switch (OpNum) {
14713 case 3:
14714 // op: rs2
14715 return 20;
14716 case 2:
14717 // op: rs1
14718 return 15;
14719 case 0:
14720 // op: rd
14721 return 7;
14722 }
14723 break;
14724 }
14725 case RISCV::CV_MACHHSN:
14726 case RISCV::CV_MACHHSRN:
14727 case RISCV::CV_MACHHUN:
14728 case RISCV::CV_MACHHURN:
14729 case RISCV::CV_MACSN:
14730 case RISCV::CV_MACSRN:
14731 case RISCV::CV_MACUN:
14732 case RISCV::CV_MACURN: {
14733 switch (OpNum) {
14734 case 3:
14735 // op: rs2
14736 return 20;
14737 case 2:
14738 // op: rs1
14739 return 15;
14740 case 1:
14741 // op: rd
14742 return 7;
14743 case 4:
14744 // op: imm5
14745 return 25;
14746 }
14747 break;
14748 }
14749 case RISCV::QC_LIEQ:
14750 case RISCV::QC_LIEQI:
14751 case RISCV::QC_LIGE:
14752 case RISCV::QC_LIGEI:
14753 case RISCV::QC_LIGEU:
14754 case RISCV::QC_LIGEUI:
14755 case RISCV::QC_LILT:
14756 case RISCV::QC_LILTI:
14757 case RISCV::QC_LILTU:
14758 case RISCV::QC_LILTUI:
14759 case RISCV::QC_LINE:
14760 case RISCV::QC_LINEI: {
14761 switch (OpNum) {
14762 case 3:
14763 // op: rs2
14764 return 20;
14765 case 2:
14766 // op: rs1
14767 return 15;
14768 case 1:
14769 // op: rd
14770 return 7;
14771 case 4:
14772 // op: simm
14773 return 27;
14774 }
14775 break;
14776 }
14777 case RISCV::QC_SELECTIEQ:
14778 case RISCV::QC_SELECTINE: {
14779 switch (OpNum) {
14780 case 3:
14781 // op: rs2
14782 return 20;
14783 case 2:
14784 // op: rs1
14785 return 15;
14786 case 1:
14787 // op: rd
14788 return 7;
14789 case 4:
14790 // op: simm2
14791 return 27;
14792 }
14793 break;
14794 }
14795 case RISCV::CV_ADDNR:
14796 case RISCV::CV_ADDRNR:
14797 case RISCV::CV_ADDUNR:
14798 case RISCV::CV_ADDURNR:
14799 case RISCV::CV_CPLXMUL_I:
14800 case RISCV::CV_CPLXMUL_I_DIV2:
14801 case RISCV::CV_CPLXMUL_I_DIV4:
14802 case RISCV::CV_CPLXMUL_I_DIV8:
14803 case RISCV::CV_CPLXMUL_R:
14804 case RISCV::CV_CPLXMUL_R_DIV2:
14805 case RISCV::CV_CPLXMUL_R_DIV4:
14806 case RISCV::CV_CPLXMUL_R_DIV8:
14807 case RISCV::CV_INSERTR:
14808 case RISCV::CV_MAC:
14809 case RISCV::CV_MSU:
14810 case RISCV::CV_PACKHI_B:
14811 case RISCV::CV_PACKLO_B:
14812 case RISCV::CV_SDOTSP_B:
14813 case RISCV::CV_SDOTSP_H:
14814 case RISCV::CV_SDOTSP_SC_B:
14815 case RISCV::CV_SDOTSP_SC_H:
14816 case RISCV::CV_SDOTUP_B:
14817 case RISCV::CV_SDOTUP_H:
14818 case RISCV::CV_SDOTUP_SC_B:
14819 case RISCV::CV_SDOTUP_SC_H:
14820 case RISCV::CV_SDOTUSP_B:
14821 case RISCV::CV_SDOTUSP_H:
14822 case RISCV::CV_SDOTUSP_SC_B:
14823 case RISCV::CV_SDOTUSP_SC_H:
14824 case RISCV::CV_SHUFFLE2_B:
14825 case RISCV::CV_SHUFFLE2_H:
14826 case RISCV::CV_SUBNR:
14827 case RISCV::CV_SUBRNR:
14828 case RISCV::CV_SUBUNR:
14829 case RISCV::CV_SUBURNR:
14830 case RISCV::MACCSU_H00:
14831 case RISCV::MACCSU_H11:
14832 case RISCV::MACCSU_W00:
14833 case RISCV::MACCSU_W11:
14834 case RISCV::MACCU_H00:
14835 case RISCV::MACCU_H01:
14836 case RISCV::MACCU_H11:
14837 case RISCV::MACCU_W00:
14838 case RISCV::MACCU_W01:
14839 case RISCV::MACCU_W11:
14840 case RISCV::MACC_H00:
14841 case RISCV::MACC_H01:
14842 case RISCV::MACC_H11:
14843 case RISCV::MACC_W00:
14844 case RISCV::MACC_W01:
14845 case RISCV::MACC_W11:
14846 case RISCV::MERGE:
14847 case RISCV::MHACC:
14848 case RISCV::MHACCSU:
14849 case RISCV::MHACCSU_H0:
14850 case RISCV::MHACCSU_H1:
14851 case RISCV::MHACCU:
14852 case RISCV::MHACC_H0:
14853 case RISCV::MHACC_H1:
14854 case RISCV::MHRACC:
14855 case RISCV::MHRACCSU:
14856 case RISCV::MHRACCU:
14857 case RISCV::MQACC_H00:
14858 case RISCV::MQACC_H01:
14859 case RISCV::MQACC_H11:
14860 case RISCV::MQACC_W00:
14861 case RISCV::MQACC_W01:
14862 case RISCV::MQACC_W11:
14863 case RISCV::MQRACC_H00:
14864 case RISCV::MQRACC_H01:
14865 case RISCV::MQRACC_H11:
14866 case RISCV::MQRACC_W00:
14867 case RISCV::MQRACC_W01:
14868 case RISCV::MQRACC_W11:
14869 case RISCV::MVM:
14870 case RISCV::MVMN:
14871 case RISCV::PABDSUMAU_B:
14872 case RISCV::PM2ADDASU_H:
14873 case RISCV::PM2ADDASU_W:
14874 case RISCV::PM2ADDAU_H:
14875 case RISCV::PM2ADDAU_W:
14876 case RISCV::PM2ADDA_H:
14877 case RISCV::PM2ADDA_HX:
14878 case RISCV::PM2ADDA_W:
14879 case RISCV::PM2ADDA_WX:
14880 case RISCV::PM2SUBA_H:
14881 case RISCV::PM2SUBA_HX:
14882 case RISCV::PM2SUBA_W:
14883 case RISCV::PM2SUBA_WX:
14884 case RISCV::PM4ADDASU_B:
14885 case RISCV::PM4ADDASU_H:
14886 case RISCV::PM4ADDAU_B:
14887 case RISCV::PM4ADDAU_H:
14888 case RISCV::PM4ADDA_B:
14889 case RISCV::PM4ADDA_H:
14890 case RISCV::PMACCSU_W_H00:
14891 case RISCV::PMACCSU_W_H11:
14892 case RISCV::PMACCU_W_H00:
14893 case RISCV::PMACCU_W_H01:
14894 case RISCV::PMACCU_W_H11:
14895 case RISCV::PMACC_W_H00:
14896 case RISCV::PMACC_W_H01:
14897 case RISCV::PMACC_W_H11:
14898 case RISCV::PMHACCSU_H:
14899 case RISCV::PMHACCSU_H_B0:
14900 case RISCV::PMHACCSU_H_B1:
14901 case RISCV::PMHACCSU_W:
14902 case RISCV::PMHACCSU_W_H0:
14903 case RISCV::PMHACCSU_W_H1:
14904 case RISCV::PMHACCU_H:
14905 case RISCV::PMHACCU_W:
14906 case RISCV::PMHACC_H:
14907 case RISCV::PMHACC_H_B0:
14908 case RISCV::PMHACC_H_B1:
14909 case RISCV::PMHACC_W:
14910 case RISCV::PMHACC_W_H0:
14911 case RISCV::PMHACC_W_H1:
14912 case RISCV::PMHRACCSU_H:
14913 case RISCV::PMHRACCSU_W:
14914 case RISCV::PMHRACCU_H:
14915 case RISCV::PMHRACCU_W:
14916 case RISCV::PMHRACC_H:
14917 case RISCV::PMHRACC_W:
14918 case RISCV::PMQ2ADDA_H:
14919 case RISCV::PMQ2ADDA_W:
14920 case RISCV::PMQACC_W_H00:
14921 case RISCV::PMQACC_W_H01:
14922 case RISCV::PMQACC_W_H11:
14923 case RISCV::PMQR2ADDA_H:
14924 case RISCV::PMQR2ADDA_W:
14925 case RISCV::PMQRACC_W_H00:
14926 case RISCV::PMQRACC_W_H01:
14927 case RISCV::PMQRACC_W_H11:
14928 case RISCV::QC_INSBHR:
14929 case RISCV::QC_INSBPR:
14930 case RISCV::QC_INSBPRH:
14931 case RISCV::QC_INSBR:
14932 case RISCV::SLX:
14933 case RISCV::SRX:
14934 case RISCV::TH_MULA:
14935 case RISCV::TH_MULAH:
14936 case RISCV::TH_MULAW:
14937 case RISCV::TH_MULS:
14938 case RISCV::TH_MULSH:
14939 case RISCV::TH_MULSW:
14940 case RISCV::TH_MVEQZ:
14941 case RISCV::TH_MVNEZ: {
14942 switch (OpNum) {
14943 case 3:
14944 // op: rs2
14945 return 20;
14946 case 2:
14947 // op: rs1
14948 return 15;
14949 case 1:
14950 // op: rd
14951 return 7;
14952 }
14953 break;
14954 }
14955 case RISCV::MQRWACC:
14956 case RISCV::MQWACC:
14957 case RISCV::PM2WADDASU_H:
14958 case RISCV::PM2WADDAU_H:
14959 case RISCV::PM2WADDA_H:
14960 case RISCV::PM2WADDA_HX:
14961 case RISCV::PM2WSUBA_H:
14962 case RISCV::PM2WSUBA_HX:
14963 case RISCV::PMQRWACC_H:
14964 case RISCV::PMQWACC_H:
14965 case RISCV::PWADDAU_B:
14966 case RISCV::PWADDAU_H:
14967 case RISCV::PWADDA_B:
14968 case RISCV::PWADDA_H:
14969 case RISCV::PWMACCSU_H:
14970 case RISCV::PWMACCU_H:
14971 case RISCV::PWMACC_H:
14972 case RISCV::PWSUBAU_B:
14973 case RISCV::PWSUBAU_H:
14974 case RISCV::PWSUBA_B:
14975 case RISCV::PWSUBA_H:
14976 case RISCV::WADDA:
14977 case RISCV::WADDAU:
14978 case RISCV::WMACC:
14979 case RISCV::WMACCSU:
14980 case RISCV::WMACCU:
14981 case RISCV::WSUBA:
14982 case RISCV::WSUBAU: {
14983 switch (OpNum) {
14984 case 3:
14985 // op: rs2
14986 return 20;
14987 case 2:
14988 // op: rs1
14989 return 15;
14990 case 1:
14991 // op: rd
14992 return 8;
14993 }
14994 break;
14995 }
14996 case RISCV::MIPS_CCMOV: {
14997 switch (OpNum) {
14998 case 3:
14999 // op: rs3
15000 return 27;
15001 case 2:
15002 // op: rs2
15003 return 20;
15004 case 1:
15005 // op: rs1
15006 return 15;
15007 case 0:
15008 // op: rd
15009 return 7;
15010 }
15011 break;
15012 }
15013 case RISCV::FMADD_D:
15014 case RISCV::FMADD_D_IN32X:
15015 case RISCV::FMADD_D_INX:
15016 case RISCV::FMADD_H:
15017 case RISCV::FMADD_H_INX:
15018 case RISCV::FMADD_Q:
15019 case RISCV::FMADD_S:
15020 case RISCV::FMADD_S_INX:
15021 case RISCV::FMSUB_D:
15022 case RISCV::FMSUB_D_IN32X:
15023 case RISCV::FMSUB_D_INX:
15024 case RISCV::FMSUB_H:
15025 case RISCV::FMSUB_H_INX:
15026 case RISCV::FMSUB_Q:
15027 case RISCV::FMSUB_S:
15028 case RISCV::FMSUB_S_INX:
15029 case RISCV::FNMADD_D:
15030 case RISCV::FNMADD_D_IN32X:
15031 case RISCV::FNMADD_D_INX:
15032 case RISCV::FNMADD_H:
15033 case RISCV::FNMADD_H_INX:
15034 case RISCV::FNMADD_Q:
15035 case RISCV::FNMADD_S:
15036 case RISCV::FNMADD_S_INX:
15037 case RISCV::FNMSUB_D:
15038 case RISCV::FNMSUB_D_IN32X:
15039 case RISCV::FNMSUB_D_INX:
15040 case RISCV::FNMSUB_H:
15041 case RISCV::FNMSUB_H_INX:
15042 case RISCV::FNMSUB_Q:
15043 case RISCV::FNMSUB_S:
15044 case RISCV::FNMSUB_S_INX: {
15045 switch (OpNum) {
15046 case 3:
15047 // op: rs3
15048 return 27;
15049 case 2:
15050 // op: rs2
15051 return 20;
15052 case 1:
15053 // op: rs1
15054 return 15;
15055 case 4:
15056 // op: frm
15057 return 12;
15058 case 0:
15059 // op: rd
15060 return 7;
15061 }
15062 break;
15063 }
15064 case RISCV::CV_SB_rr_inc:
15065 case RISCV::CV_SH_rr_inc:
15066 case RISCV::CV_SW_rr_inc: {
15067 switch (OpNum) {
15068 case 3:
15069 // op: rs3
15070 return 7;
15071 case 1:
15072 // op: rs2
15073 return 20;
15074 case 2:
15075 // op: rs1
15076 return 15;
15077 }
15078 break;
15079 }
15080 case RISCV::SF_VC_V_IVV:
15081 case RISCV::SF_VC_V_IVW: {
15082 switch (OpNum) {
15083 case 3:
15084 // op: vs2
15085 return 20;
15086 case 2:
15087 // op: vd
15088 return 7;
15089 case 4:
15090 // op: imm
15091 return 15;
15092 case 1:
15093 // op: funct6_lo2
15094 return 26;
15095 }
15096 break;
15097 }
15098 case RISCV::SF_VC_V_FVV:
15099 case RISCV::SF_VC_V_FVW: {
15100 switch (OpNum) {
15101 case 3:
15102 // op: vs2
15103 return 20;
15104 case 2:
15105 // op: vd
15106 return 7;
15107 case 4:
15108 // op: rs1
15109 return 15;
15110 case 1:
15111 // op: funct6_lo1
15112 return 26;
15113 }
15114 break;
15115 }
15116 case RISCV::SF_VC_V_XVV:
15117 case RISCV::SF_VC_V_XVW: {
15118 switch (OpNum) {
15119 case 3:
15120 // op: vs2
15121 return 20;
15122 case 2:
15123 // op: vd
15124 return 7;
15125 case 4:
15126 // op: rs1
15127 return 15;
15128 case 1:
15129 // op: funct6_lo2
15130 return 26;
15131 }
15132 break;
15133 }
15134 case RISCV::SF_VC_V_VVV:
15135 case RISCV::SF_VC_V_VVW: {
15136 switch (OpNum) {
15137 case 3:
15138 // op: vs2
15139 return 20;
15140 case 2:
15141 // op: vd
15142 return 7;
15143 case 4:
15144 // op: vs1
15145 return 15;
15146 case 1:
15147 // op: funct6_lo2
15148 return 26;
15149 }
15150 break;
15151 }
15152 case RISCV::QC_MVEQI:
15153 case RISCV::QC_MVGEI:
15154 case RISCV::QC_MVGEUI:
15155 case RISCV::QC_MVLTI:
15156 case RISCV::QC_MVLTUI:
15157 case RISCV::QC_MVNEI: {
15158 switch (OpNum) {
15159 case 4:
15160 // op: rs3
15161 return 27;
15162 case 2:
15163 // op: rs1
15164 return 15;
15165 case 1:
15166 // op: rd
15167 return 7;
15168 case 3:
15169 // op: imm
15170 return 20;
15171 }
15172 break;
15173 }
15174 case RISCV::QC_SELECTEQI:
15175 case RISCV::QC_SELECTNEI: {
15176 switch (OpNum) {
15177 case 4:
15178 // op: rs3
15179 return 27;
15180 case 3:
15181 // op: rs2
15182 return 20;
15183 case 1:
15184 // op: rd
15185 return 7;
15186 case 2:
15187 // op: imm
15188 return 15;
15189 }
15190 break;
15191 }
15192 case RISCV::QC_MVEQ:
15193 case RISCV::QC_MVGE:
15194 case RISCV::QC_MVGEU:
15195 case RISCV::QC_MVLT:
15196 case RISCV::QC_MVLTU:
15197 case RISCV::QC_MVNE: {
15198 switch (OpNum) {
15199 case 4:
15200 // op: rs3
15201 return 27;
15202 case 3:
15203 // op: rs2
15204 return 20;
15205 case 2:
15206 // op: rs1
15207 return 15;
15208 case 1:
15209 // op: rd
15210 return 7;
15211 }
15212 break;
15213 }
15214 default:
15215 reportUnsupportedInst(MI);
15216 }
15217 reportUnsupportedOperand(MI, OpNum);
15218}
15219
15220#endif // GET_OPERAND_BIT_OFFSET
15221
15222