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(33554555), // PACKY
1437 UINT64_C(2214592571), // PADD_B
1438 UINT64_C(2617253915), // PADD_BS
1439 UINT64_C(2214617115), // PADD_DB
1440 UINT64_C(469786651), // PADD_DBS
1441 UINT64_C(2147508251), // PADD_DH
1442 UINT64_C(402677787), // PADD_DHS
1443 UINT64_C(2181062683), // PADD_DW
1444 UINT64_C(436232219), // PADD_DWS
1445 UINT64_C(2147483707), // PADD_H
1446 UINT64_C(2550145051), // PADD_HS
1447 UINT64_C(2181038139), // PADD_W
1448 UINT64_C(2583699483), // PADD_WS
1449 UINT64_C(2618351643), // PASA_DHX
1450 UINT64_C(2617270331), // PASA_HX
1451 UINT64_C(2650824763), // PASA_WX
1452 UINT64_C(4227858491), // PASUBU_B
1453 UINT64_C(4227883035), // PASUBU_DB
1454 UINT64_C(4160774171), // PASUBU_DH
1455 UINT64_C(4194328603), // PASUBU_DW
1456 UINT64_C(4160749627), // PASUBU_H
1457 UINT64_C(4194304059), // PASUBU_W
1458 UINT64_C(3690987579), // PASUB_B
1459 UINT64_C(3691012123), // PASUB_DB
1460 UINT64_C(3623903259), // PASUB_DH
1461 UINT64_C(3657457691), // PASUB_DW
1462 UINT64_C(3623878715), // PASUB_H
1463 UINT64_C(3657433147), // PASUB_W
1464 UINT64_C(2148589595), // PAS_DHX
1465 UINT64_C(2147508283), // PAS_HX
1466 UINT64_C(2181062715), // PAS_WX
1467 UINT64_C(3019907099), // PLI_B
1468 UINT64_C(872423451), // PLI_DB
1469 UINT64_C(805314587), // PLI_DH
1470 UINT64_C(2952798235), // PLI_H
1471 UINT64_C(2986352667), // PLI_W
1472 UINT64_C(1879056411), // PLUI_DH
1473 UINT64_C(4026540059), // PLUI_H
1474 UINT64_C(4060094491), // PLUI_W
1475 UINT64_C(3892334651), // PM2ADDASU_H
1476 UINT64_C(3925889083), // PM2ADDASU_W
1477 UINT64_C(2818592827), // PM2ADDAU_H
1478 UINT64_C(2852147259), // PM2ADDAU_W
1479 UINT64_C(2281721915), // PM2ADDA_H
1480 UINT64_C(2550157371), // PM2ADDA_HX
1481 UINT64_C(2315276347), // PM2ADDA_W
1482 UINT64_C(2583711803), // PM2ADDA_WX
1483 UINT64_C(3758116923), // PM2ADDSU_H
1484 UINT64_C(3791671355), // PM2ADDSU_W
1485 UINT64_C(2684375099), // PM2ADDU_H
1486 UINT64_C(2717929531), // PM2ADDU_W
1487 UINT64_C(2147504187), // PM2ADD_H
1488 UINT64_C(2415939643), // PM2ADD_HX
1489 UINT64_C(2181058619), // PM2ADD_W
1490 UINT64_C(2449494075), // PM2ADD_WX
1491 UINT64_C(3288354875), // PM2SADD_H
1492 UINT64_C(3556790331), // PM2SADD_HX
1493 UINT64_C(3355463739), // PM2SUBA_H
1494 UINT64_C(3623899195), // PM2SUBA_HX
1495 UINT64_C(3389018171), // PM2SUBA_W
1496 UINT64_C(3657453627), // PM2SUBA_WX
1497 UINT64_C(3221246011), // PM2SUB_H
1498 UINT64_C(3489681467), // PM2SUB_HX
1499 UINT64_C(3254800443), // PM2SUB_W
1500 UINT64_C(3523235899), // PM2SUB_WX
1501 UINT64_C(1845502107), // PM2WADDASU_H
1502 UINT64_C(771760283), // PM2WADDAU_H
1503 UINT64_C(234889371), // PM2WADDA_H
1504 UINT64_C(503324827), // PM2WADDA_HX
1505 UINT64_C(1711284379), // PM2WADDSU_H
1506 UINT64_C(637542555), // PM2WADDU_H
1507 UINT64_C(100671643), // PM2WADD_H
1508 UINT64_C(369107099), // PM2WADD_HX
1509 UINT64_C(1308631195), // PM2WSUBA_H
1510 UINT64_C(1577066651), // PM2WSUBA_HX
1511 UINT64_C(1174413467), // PM2WSUB_H
1512 UINT64_C(1442848923), // PM2WSUB_HX
1513 UINT64_C(3959443515), // PM4ADDASU_B
1514 UINT64_C(3992997947), // PM4ADDASU_H
1515 UINT64_C(2885701691), // PM4ADDAU_B
1516 UINT64_C(2919256123), // PM4ADDAU_H
1517 UINT64_C(2348830779), // PM4ADDA_B
1518 UINT64_C(2382385211), // PM4ADDA_H
1519 UINT64_C(3825225787), // PM4ADDSU_B
1520 UINT64_C(3858780219), // PM4ADDSU_H
1521 UINT64_C(2751483963), // PM4ADDU_B
1522 UINT64_C(2785038395), // PM4ADDU_H
1523 UINT64_C(2214613051), // PM4ADD_B
1524 UINT64_C(2248167483), // PM4ADD_H
1525 UINT64_C(3925880891), // PMACCSU_W_H00
1526 UINT64_C(4194316347), // PMACCSU_W_H11
1527 UINT64_C(2852139067), // PMACCU_W_H00
1528 UINT64_C(3120566331), // PMACCU_W_H01
1529 UINT64_C(3120574523), // PMACCU_W_H11
1530 UINT64_C(2315268155), // PMACC_W_H00
1531 UINT64_C(2583695419), // PMACC_W_H01
1532 UINT64_C(2583703611), // PMACC_W_H11
1533 UINT64_C(4227883067), // PMAXU_B
1534 UINT64_C(4228964379), // PMAXU_DB
1535 UINT64_C(4161855515), // PMAXU_DH
1536 UINT64_C(4195409947), // PMAXU_DW
1537 UINT64_C(4160774203), // PMAXU_H
1538 UINT64_C(4194328635), // PMAXU_W
1539 UINT64_C(4093665339), // PMAX_B
1540 UINT64_C(4094746651), // PMAX_DB
1541 UINT64_C(4027637787), // PMAX_DH
1542 UINT64_C(4061192219), // PMAX_DW
1543 UINT64_C(4026556475), // PMAX_H
1544 UINT64_C(4060110907), // PMAX_W
1545 UINT64_C(3355471931), // PMHACCSU_H
1546 UINT64_C(2885709883), // PMHACCSU_H_B0
1547 UINT64_C(3154145339), // PMHACCSU_H_B1
1548 UINT64_C(3389026363), // PMHACCSU_W
1549 UINT64_C(2919264315), // PMHACCSU_W_H0
1550 UINT64_C(3187699771), // PMHACCSU_W_H1
1551 UINT64_C(2550165563), // PMHACCU_H
1552 UINT64_C(2583719995), // PMHACCU_W
1553 UINT64_C(2281730107), // PMHACC_H
1554 UINT64_C(2818601019), // PMHACC_H_B0
1555 UINT64_C(3087036475), // PMHACC_H_B1
1556 UINT64_C(2315284539), // PMHACC_W
1557 UINT64_C(2852155451), // PMHACC_W_H0
1558 UINT64_C(3120590907), // PMHACC_W_H1
1559 UINT64_C(3422580795), // PMHRACCSU_H
1560 UINT64_C(3456135227), // PMHRACCSU_W
1561 UINT64_C(2617274427), // PMHRACCU_H
1562 UINT64_C(2650828859), // PMHRACCU_W
1563 UINT64_C(2348838971), // PMHRACC_H
1564 UINT64_C(2382393403), // PMHRACC_W
1565 UINT64_C(3959447611), // PMINU_B
1566 UINT64_C(3960528923), // PMINU_DB
1567 UINT64_C(3893420059), // PMINU_DH
1568 UINT64_C(3926974491), // PMINU_DW
1569 UINT64_C(3892338747), // PMINU_H
1570 UINT64_C(3925893179), // PMINU_W
1571 UINT64_C(3825229883), // PMIN_B
1572 UINT64_C(3826311195), // PMIN_DB
1573 UINT64_C(3759202331), // PMIN_DH
1574 UINT64_C(3792756763), // PMIN_DW
1575 UINT64_C(3758121019), // PMIN_H
1576 UINT64_C(3791675451), // PMIN_W
1577 UINT64_C(3087028283), // PMQ2ADDA_H
1578 UINT64_C(3120582715), // PMQ2ADDA_W
1579 UINT64_C(2952810555), // PMQ2ADD_H
1580 UINT64_C(2986364987), // PMQ2ADD_W
1581 UINT64_C(3892342843), // PMQACC_W_H00
1582 UINT64_C(4160770107), // PMQACC_W_H01
1583 UINT64_C(4160778299), // PMQACC_W_H11
1584 UINT64_C(3154137147), // PMQR2ADDA_H
1585 UINT64_C(3187691579), // PMQR2ADDA_W
1586 UINT64_C(3019919419), // PMQR2ADD_H
1587 UINT64_C(3053473851), // PMQR2ADD_W
1588 UINT64_C(3959451707), // PMQRACC_W_H00
1589 UINT64_C(4227878971), // PMQRACC_W_H01
1590 UINT64_C(4227887163), // PMQRACC_W_H11
1591 UINT64_C(2080383131), // PMQRWACC_H
1592 UINT64_C(2013274267), // PMQWACC_H
1593 UINT64_C(3288358971), // PMSEQ_B
1594 UINT64_C(3289440283), // PMSEQ_DB
1595 UINT64_C(3222331419), // PMSEQ_DH
1596 UINT64_C(3255885851), // PMSEQ_DW
1597 UINT64_C(3221250107), // PMSEQ_H
1598 UINT64_C(3254804539), // PMSEQ_W
1599 UINT64_C(3691012155), // PMSLTU_B
1600 UINT64_C(3692093467), // PMSLTU_DB
1601 UINT64_C(3624984603), // PMSLTU_DH
1602 UINT64_C(3658539035), // PMSLTU_DW
1603 UINT64_C(3623903291), // PMSLTU_H
1604 UINT64_C(3657457723), // PMSLTU_W
1605 UINT64_C(3556794427), // PMSLT_B
1606 UINT64_C(3557875739), // PMSLT_DB
1607 UINT64_C(3490766875), // PMSLT_DH
1608 UINT64_C(3524321307), // PMSLT_DW
1609 UINT64_C(3489685563), // PMSLT_H
1610 UINT64_C(3523239995), // PMSLT_W
1611 UINT64_C(3288363067), // PMULHRSU_H
1612 UINT64_C(3321917499), // PMULHRSU_W
1613 UINT64_C(2483056699), // PMULHRU_H
1614 UINT64_C(2516611131), // PMULHRU_W
1615 UINT64_C(2214621243), // PMULHR_H
1616 UINT64_C(2248175675), // PMULHR_W
1617 UINT64_C(3221254203), // PMULHSU_H
1618 UINT64_C(2751492155), // PMULHSU_H_B0
1619 UINT64_C(3019927611), // PMULHSU_H_B1
1620 UINT64_C(3254808635), // PMULHSU_W
1621 UINT64_C(2785046587), // PMULHSU_W_H0
1622 UINT64_C(3053482043), // PMULHSU_W_H1
1623 UINT64_C(2415947835), // PMULHU_H
1624 UINT64_C(2449502267), // PMULHU_W
1625 UINT64_C(2147512379), // PMULH_H
1626 UINT64_C(2684383291), // PMULH_H_B0
1627 UINT64_C(2952818747), // PMULH_H_B1
1628 UINT64_C(2181066811), // PMULH_W
1629 UINT64_C(2717937723), // PMULH_W_H0
1630 UINT64_C(2986373179), // PMULH_W_H1
1631 UINT64_C(3556798523), // PMULQR_H
1632 UINT64_C(3590352955), // PMULQR_W
1633 UINT64_C(3489689659), // PMULQ_H
1634 UINT64_C(3523244091), // PMULQ_W
1635 UINT64_C(3758108731), // PMULSU_H_B00
1636 UINT64_C(4026544187), // PMULSU_H_B11
1637 UINT64_C(3791663163), // PMULSU_W_H00
1638 UINT64_C(4060098619), // PMULSU_W_H11
1639 UINT64_C(2684366907), // PMULU_H_B00
1640 UINT64_C(2952794171), // PMULU_H_B01
1641 UINT64_C(2952802363), // PMULU_H_B11
1642 UINT64_C(2717921339), // PMULU_W_H00
1643 UINT64_C(2986348603), // PMULU_W_H01
1644 UINT64_C(2986356795), // PMULU_W_H11
1645 UINT64_C(2147495995), // PMUL_H_B00
1646 UINT64_C(2415923259), // PMUL_H_B01
1647 UINT64_C(2415931451), // PMUL_H_B11
1648 UINT64_C(2181050427), // PMUL_W_H00
1649 UINT64_C(2449477691), // PMUL_W_H01
1650 UINT64_C(2449485883), // PMUL_W_H11
1651 UINT64_C(553697307), // PNCLIPIU_B
1652 UINT64_C(570474523), // PNCLIPIU_H
1653 UINT64_C(1627439131), // PNCLIPI_B
1654 UINT64_C(1644216347), // PNCLIPI_H
1655 UINT64_C(3221233723), // PNCLIPP_B
1656 UINT64_C(3254788155), // PNCLIPP_H
1657 UINT64_C(3321897019), // PNCLIPP_W
1658 UINT64_C(822132763), // PNCLIPRIU_B
1659 UINT64_C(838909979), // PNCLIPRIU_H
1660 UINT64_C(1895874587), // PNCLIPRI_B
1661 UINT64_C(1912651803), // PNCLIPRI_H
1662 UINT64_C(939573275), // PNCLIPRU_BS
1663 UINT64_C(973127707), // PNCLIPRU_HS
1664 UINT64_C(2013315099), // PNCLIPR_BS
1665 UINT64_C(2046869531), // PNCLIPR_HS
1666 UINT64_C(2147491899), // PNCLIPUP_B
1667 UINT64_C(2181046331), // PNCLIPUP_H
1668 UINT64_C(2248155195), // PNCLIPUP_W
1669 UINT64_C(671137819), // PNCLIPU_BS
1670 UINT64_C(704692251), // PNCLIPU_HS
1671 UINT64_C(1744879643), // PNCLIP_BS
1672 UINT64_C(1778434075), // PNCLIP_HS
1673 UINT64_C(1090568219), // PNSRAI_B
1674 UINT64_C(1107345435), // PNSRAI_H
1675 UINT64_C(1359003675), // PNSRARI_B
1676 UINT64_C(1375780891), // PNSRARI_H
1677 UINT64_C(1476444187), // PNSRAR_BS
1678 UINT64_C(1509998619), // PNSRAR_HS
1679 UINT64_C(1208008731), // PNSRA_BS
1680 UINT64_C(1241563163), // PNSRA_HS
1681 UINT64_C(16826395), // PNSRLI_B
1682 UINT64_C(33603611), // PNSRLI_H
1683 UINT64_C(134266907), // PNSRL_BS
1684 UINT64_C(167821339), // PNSRL_HS
1685 UINT64_C(2415935547), // PPAIREO_B
1686 UINT64_C(2415976475), // PPAIREO_DB
1687 UINT64_C(2449530907), // PPAIREO_DH
1688 UINT64_C(2449489979), // PPAIREO_H
1689 UINT64_C(2516598843), // PPAIREO_W
1690 UINT64_C(2147500091), // PPAIRE_B
1691 UINT64_C(2147541019), // PPAIRE_DB
1692 UINT64_C(2181095451), // PPAIRE_DH
1693 UINT64_C(2181054523), // PPAIRE_H
1694 UINT64_C(2684371003), // PPAIROE_B
1695 UINT64_C(2684411931), // PPAIROE_DB
1696 UINT64_C(2717966363), // PPAIROE_DH
1697 UINT64_C(2717925435), // PPAIROE_H
1698 UINT64_C(2785034299), // PPAIROE_W
1699 UINT64_C(2952806459), // PPAIRO_B
1700 UINT64_C(2952847387), // PPAIRO_DB
1701 UINT64_C(2986401819), // PPAIRO_DH
1702 UINT64_C(2986360891), // PPAIRO_H
1703 UINT64_C(3053469755), // PPAIRO_W
1704 UINT64_C(3154133019), // PREDSUMU_BS
1705 UINT64_C(1006649371), // PREDSUMU_DBS
1706 UINT64_C(939540507), // PREDSUMU_DHS
1707 UINT64_C(3087024155), // PREDSUMU_HS
1708 UINT64_C(3120578587), // PREDSUMU_WS
1709 UINT64_C(2617262107), // PREDSUM_BS
1710 UINT64_C(469778459), // PREDSUM_DBS
1711 UINT64_C(402669595), // PREDSUM_DHS
1712 UINT64_C(2550153243), // PREDSUM_HS
1713 UINT64_C(2583707675), // PREDSUM_WS
1714 UINT64_C(24595), // PREFETCH_I
1715 UINT64_C(1073171), // PREFETCH_R
1716 UINT64_C(3170323), // PREFETCH_W
1717 UINT64_C(3832553499), // PSABS_B
1718 UINT64_C(1685086235), // PSABS_DB
1719 UINT64_C(1617977371), // PSABS_DH
1720 UINT64_C(3765444635), // PSABS_H
1721 UINT64_C(3019898939), // PSADDU_B
1722 UINT64_C(3019923483), // PSADDU_DB
1723 UINT64_C(2952814619), // PSADDU_DH
1724 UINT64_C(2986369051), // PSADDU_DW
1725 UINT64_C(2952790075), // PSADDU_H
1726 UINT64_C(2986344507), // PSADDU_W
1727 UINT64_C(2483028027), // PSADD_B
1728 UINT64_C(2483052571), // PSADD_DB
1729 UINT64_C(2415943707), // PSADD_DH
1730 UINT64_C(2449498139), // PSADD_DW
1731 UINT64_C(2415919163), // PSADD_H
1732 UINT64_C(2449473595), // PSADD_W
1733 UINT64_C(2417025051), // PSAS_DHX
1734 UINT64_C(2415943739), // PSAS_HX
1735 UINT64_C(2449498171), // PSAS_WX
1736 UINT64_C(1627447323), // PSATI_DH
1737 UINT64_C(1644224539), // PSATI_DW
1738 UINT64_C(3774890011), // PSATI_H
1739 UINT64_C(3791667227), // PSATI_W
1740 UINT64_C(2215698459), // PSA_DHX
1741 UINT64_C(2214617147), // PSA_HX
1742 UINT64_C(2248171579), // PSA_WX
1743 UINT64_C(1614831643), // PSEXT_DH_B
1744 UINT64_C(1648386075), // PSEXT_DW_B
1745 UINT64_C(1649434651), // PSEXT_DW_H
1746 UINT64_C(3762298907), // PSEXT_H_B
1747 UINT64_C(3795853339), // PSEXT_W_B
1748 UINT64_C(3796901915), // PSEXT_W_H
1749 UINT64_C(2685427739), // PSH1ADD_DH
1750 UINT64_C(2718982171), // PSH1ADD_DW
1751 UINT64_C(2684362811), // PSH1ADD_H
1752 UINT64_C(2717917243), // PSH1ADD_W
1753 UINT64_C(2155880475), // PSLLI_B
1754 UINT64_C(8413211), // PSLLI_DB
1755 UINT64_C(16801819), // PSLLI_DH
1756 UINT64_C(33579035), // PSLLI_DW
1757 UINT64_C(2164269083), // PSLLI_H
1758 UINT64_C(2181046299), // PSLLI_W
1759 UINT64_C(2348818459), // PSLL_BS
1760 UINT64_C(201351195), // PSLL_DBS
1761 UINT64_C(134242331), // PSLL_DHS
1762 UINT64_C(167796763), // PSLL_DWS
1763 UINT64_C(2281709595), // PSLL_HS
1764 UINT64_C(2315264027), // PSLL_WS
1765 UINT64_C(3229630491), // PSRAI_B
1766 UINT64_C(1082187803), // PSRAI_DB
1767 UINT64_C(1090576411), // PSRAI_DH
1768 UINT64_C(1107353627), // PSRAI_DW
1769 UINT64_C(3238019099), // PSRAI_H
1770 UINT64_C(3254796315), // PSRAI_W
1771 UINT64_C(1359011867), // PSRARI_DH
1772 UINT64_C(1375789083), // PSRARI_DW
1773 UINT64_C(3506454555), // PSRARI_H
1774 UINT64_C(3523231771), // PSRARI_W
1775 UINT64_C(3422568475), // PSRA_BS
1776 UINT64_C(1275125787), // PSRA_DBS
1777 UINT64_C(1208016923), // PSRA_DHS
1778 UINT64_C(1241571355), // PSRA_DWS
1779 UINT64_C(3355459611), // PSRA_HS
1780 UINT64_C(3389014043), // PSRA_WS
1781 UINT64_C(2155888667), // PSRLI_B
1782 UINT64_C(8445979), // PSRLI_DB
1783 UINT64_C(16834587), // PSRLI_DH
1784 UINT64_C(33611803), // PSRLI_DW
1785 UINT64_C(2164277275), // PSRLI_H
1786 UINT64_C(2181054491), // PSRLI_W
1787 UINT64_C(2348826651), // PSRL_BS
1788 UINT64_C(201383963), // PSRL_DBS
1789 UINT64_C(134275099), // PSRL_DHS
1790 UINT64_C(167829531), // PSRL_DWS
1791 UINT64_C(2281717787), // PSRL_HS
1792 UINT64_C(2315272219), // PSRL_WS
1793 UINT64_C(2484133915), // PSSA_DHX
1794 UINT64_C(2483052603), // PSSA_HX
1795 UINT64_C(2516607035), // PSSA_WX
1796 UINT64_C(2953863195), // PSSH1SADD_DH
1797 UINT64_C(2987417627), // PSSH1SADD_DW
1798 UINT64_C(2952798267), // PSSH1SADD_H
1799 UINT64_C(2986352699), // PSSH1SADD_W
1800 UINT64_C(2013290523), // PSSHAR_DHS
1801 UINT64_C(2046844955), // PSSHAR_DWS
1802 UINT64_C(4160757787), // PSSHAR_HS
1803 UINT64_C(4194312219), // PSSHAR_WS
1804 UINT64_C(1744855067), // PSSHA_DHS
1805 UINT64_C(1778409499), // PSSHA_DWS
1806 UINT64_C(3892322331), // PSSHA_HS
1807 UINT64_C(3925876763), // PSSHA_WS
1808 UINT64_C(939548699), // PSSHLR_DHS
1809 UINT64_C(973103131), // PSSHLR_DWS
1810 UINT64_C(3087015963), // PSSHLR_HS
1811 UINT64_C(3120570395), // PSSHLR_WS
1812 UINT64_C(671113243), // PSSHL_DHS
1813 UINT64_C(704667675), // PSSHL_DWS
1814 UINT64_C(2818580507), // PSSHL_HS
1815 UINT64_C(2852134939), // PSSHL_WS
1816 UINT64_C(1358979099), // PSSLAI_DH
1817 UINT64_C(1375756315), // PSSLAI_DW
1818 UINT64_C(3506446363), // PSSLAI_H
1819 UINT64_C(3523223579), // PSSLAI_W
1820 UINT64_C(4093640763), // PSSUBU_B
1821 UINT64_C(4093665307), // PSSUBU_DB
1822 UINT64_C(4026556443), // PSSUBU_DH
1823 UINT64_C(4060110875), // PSSUBU_DW
1824 UINT64_C(4026531899), // PSSUBU_H
1825 UINT64_C(4060086331), // PSSUBU_W
1826 UINT64_C(3556769851), // PSSUB_B
1827 UINT64_C(3556794395), // PSSUB_DB
1828 UINT64_C(3489685531), // PSSUB_DH
1829 UINT64_C(3523239963), // PSSUB_DW
1830 UINT64_C(3489660987), // PSSUB_H
1831 UINT64_C(3523215419), // PSSUB_W
1832 UINT64_C(3288334395), // PSUB_B
1833 UINT64_C(3288358939), // PSUB_DB
1834 UINT64_C(3221250075), // PSUB_DH
1835 UINT64_C(3254804507), // PSUB_DW
1836 UINT64_C(3221225531), // PSUB_H
1837 UINT64_C(3254779963), // PSUB_W
1838 UINT64_C(553705499), // PUSATI_DH
1839 UINT64_C(570482715), // PUSATI_DW
1840 UINT64_C(2701148187), // PUSATI_H
1841 UINT64_C(2717925403), // PUSATI_W
1842 UINT64_C(469770395), // PWADDAU_B
1843 UINT64_C(402661531), // PWADDAU_H
1844 UINT64_C(201334939), // PWADDA_B
1845 UINT64_C(134226075), // PWADDA_H
1846 UINT64_C(335552667), // PWADDU_B
1847 UINT64_C(268443803), // PWADDU_H
1848 UINT64_C(67117211), // PWADD_B
1849 UINT64_C(8347), // PWADD_H
1850 UINT64_C(1744838811), // PWMACCSU_H
1851 UINT64_C(939532443), // PWMACCU_H
1852 UINT64_C(671096987), // PWMACC_H
1853 UINT64_C(1677729947), // PWMULSU_B
1854 UINT64_C(1610621083), // PWMULSU_H
1855 UINT64_C(872423579), // PWMULU_B
1856 UINT64_C(805314715), // PWMULU_H
1857 UINT64_C(603988123), // PWMUL_B
1858 UINT64_C(536879259), // PWMUL_H
1859 UINT64_C(1090527259), // PWSLAI_B
1860 UINT64_C(1107304475), // PWSLAI_H
1861 UINT64_C(1207967771), // PWSLA_BS
1862 UINT64_C(1241522203), // PWSLA_HS
1863 UINT64_C(16785435), // PWSLLI_B
1864 UINT64_C(33562651), // PWSLLI_H
1865 UINT64_C(134225947), // PWSLL_BS
1866 UINT64_C(167780379), // PWSLL_HS
1867 UINT64_C(1543512219), // PWSUBAU_B
1868 UINT64_C(1476403355), // PWSUBAU_H
1869 UINT64_C(1275076763), // PWSUBA_B
1870 UINT64_C(1207967899), // PWSUBA_H
1871 UINT64_C(1409294491), // PWSUBU_B
1872 UINT64_C(1342185627), // PWSUBU_H
1873 UINT64_C(1140859035), // PWSUB_B
1874 UINT64_C(1073750171), // PWSUB_H
1875 UINT64_C(469774347), // QC_ADDSAT
1876 UINT64_C(503328779), // QC_ADDUSAT
1877 UINT64_C(123), // QC_BEQI
1878 UINT64_C(20603), // QC_BGEI
1879 UINT64_C(28795), // QC_BGEUI
1880 UINT64_C(16507), // QC_BLTI
1881 UINT64_C(24699), // QC_BLTUI
1882 UINT64_C(4219), // QC_BNEI
1883 UINT64_C(201338891), // QC_BREV32
1884 UINT64_C(134230027), // QC_CLO
1885 UINT64_C(3456106611), // QC_CLRINTI
1886 UINT64_C(40962), // QC_CM_JALT
1887 UINT64_C(40962), // QC_CM_JT
1888 UINT64_C(44130), // QC_CM_MVA01S
1889 UINT64_C(44066), // QC_CM_MVSA01
1890 UINT64_C(47618), // QC_CM_POP
1891 UINT64_C(48642), // QC_CM_POPRET
1892 UINT64_C(48130), // QC_CM_POPRETZ
1893 UINT64_C(47106), // QC_CM_PUSH
1894 UINT64_C(47362), // QC_CM_PUSHFP
1895 UINT64_C(12299), // QC_COMPRESS2
1896 UINT64_C(33566731), // QC_COMPRESS3
1897 UINT64_C(2348810355), // QC_CSRRWR
1898 UINT64_C(2382364787), // QC_CSRRWRI
1899 UINT64_C(167784459), // QC_CTO
1900 UINT64_C(36865), // QC_C_BEXTI
1901 UINT64_C(37889), // QC_C_BSETI
1902 UINT64_C(4110), // QC_C_CLRINT
1903 UINT64_C(6930), // QC_C_DI
1904 UINT64_C(4098), // QC_C_DIR
1905 UINT64_C(7058), // QC_C_EI
1906 UINT64_C(4102), // QC_C_EIR
1907 UINT64_C(4098), // QC_C_EXTU
1908 UINT64_C(6162), // QC_C_MIENTER
1909 UINT64_C(6290), // QC_C_MIENTER_NEST
1910 UINT64_C(6674), // QC_C_MILEAVERET
1911 UINT64_C(6546), // QC_C_MNRET
1912 UINT64_C(6418), // QC_C_MRET
1913 UINT64_C(8194), // QC_C_MULIADD
1914 UINT64_C(44034), // QC_C_MVEQZ
1915 UINT64_C(4106), // QC_C_SETINT
1916 UINT64_C(32769), // QC_C_SYNC
1917 UINT64_C(33793), // QC_C_SYNCR
1918 UINT64_C(36865), // QC_C_SYNCWF
1919 UINT64_C(37889), // QC_C_SYNCWL
1920 UINT64_C(67121163), // QC_EXPAND2
1921 UINT64_C(100675595), // QC_EXPAND3
1922 UINT64_C(1073750027), // QC_EXT
1923 UINT64_C(3221233675), // QC_EXTD
1924 UINT64_C(268447755), // QC_EXTDPR
1925 UINT64_C(302002187), // QC_EXTDPRH
1926 UINT64_C(167784459), // QC_EXTDR
1927 UINT64_C(2147491851), // QC_EXTDU
1928 UINT64_C(201338891), // QC_EXTDUPR
1929 UINT64_C(234893323), // QC_EXTDUPRH
1930 UINT64_C(134230027), // QC_EXTDUR
1931 UINT64_C(8203), // QC_EXTU
1932 UINT64_C(8223), // QC_E_ADDAI
1933 UINT64_C(2147495967), // QC_E_ADDI
1934 UINT64_C(40991), // QC_E_ANDAI
1935 UINT64_C(3221237791), // QC_E_ANDI
1936 UINT64_C(25182239), // QC_E_BEQI
1937 UINT64_C(30425119), // QC_E_BGEI
1938 UINT64_C(32522271), // QC_E_BGEUI
1939 UINT64_C(29376543), // QC_E_BLTI
1940 UINT64_C(31473695), // QC_E_BLTUI
1941 UINT64_C(26230815), // QC_E_BNEI
1942 UINT64_C(16415), // QC_E_J
1943 UINT64_C(49183), // QC_E_JAL
1944 UINT64_C(20511), // QC_E_LB
1945 UINT64_C(1073762335), // QC_E_LBU
1946 UINT64_C(2147504159), // QC_E_LH
1947 UINT64_C(3221245983), // QC_E_LHU
1948 UINT64_C(31), // QC_E_LI
1949 UINT64_C(24607), // QC_E_LW
1950 UINT64_C(36895), // QC_E_ORAI
1951 UINT64_C(1073754143), // QC_E_ORI
1952 UINT64_C(1073766431), // QC_E_SB
1953 UINT64_C(2147508255), // QC_E_SH
1954 UINT64_C(3221250079), // QC_E_SW
1955 UINT64_C(4127), // QC_E_XORAI
1956 UINT64_C(12319), // QC_E_XORI
1957 UINT64_C(1073745931), // QC_INSB
1958 UINT64_C(2147487755), // QC_INSBH
1959 UINT64_C(33566731), // QC_INSBHR
1960 UINT64_C(4107), // QC_INSBI
1961 UINT64_C(67121163), // QC_INSBPR
1962 UINT64_C(100675595), // QC_INSBPRH
1963 UINT64_C(12299), // QC_INSBR
1964 UINT64_C(2147483659), // QC_INSBRI
1965 UINT64_C(20491), // QC_INW
1966 UINT64_C(27), // QC_LI
1967 UINT64_C(33554523), // QC_LIEQ
1968 UINT64_C(100663387), // QC_LIEQI
1969 UINT64_C(33575003), // QC_LIGE
1970 UINT64_C(100683867), // QC_LIGEI
1971 UINT64_C(33583195), // QC_LIGEU
1972 UINT64_C(100692059), // QC_LIGEUI
1973 UINT64_C(33570907), // QC_LILT
1974 UINT64_C(100679771), // QC_LILTI
1975 UINT64_C(33579099), // QC_LILTU
1976 UINT64_C(100687963), // QC_LILTUI
1977 UINT64_C(33558619), // QC_LINE
1978 UINT64_C(100667483), // QC_LINEI
1979 UINT64_C(2147512331), // QC_LRB
1980 UINT64_C(2952818699), // QC_LRBU
1981 UINT64_C(2415947787), // QC_LRH
1982 UINT64_C(3221254155), // QC_LRHU
1983 UINT64_C(2684383243), // QC_LRW
1984 UINT64_C(28683), // QC_LWM
1985 UINT64_C(1073770507), // QC_LWMI
1986 UINT64_C(24587), // QC_MULIADD
1987 UINT64_C(91), // QC_MVEQ
1988 UINT64_C(67108955), // QC_MVEQI
1989 UINT64_C(20571), // QC_MVGE
1990 UINT64_C(67129435), // QC_MVGEI
1991 UINT64_C(28763), // QC_MVGEU
1992 UINT64_C(67137627), // QC_MVGEUI
1993 UINT64_C(16475), // QC_MVLT
1994 UINT64_C(67125339), // QC_MVLTI
1995 UINT64_C(24667), // QC_MVLTU
1996 UINT64_C(67133531), // QC_MVLTUI
1997 UINT64_C(4187), // QC_MVNE
1998 UINT64_C(67113051), // QC_MVNEI
1999 UINT64_C(234893323), // QC_NORM
2000 UINT64_C(302002187), // QC_NORMEU
2001 UINT64_C(268447755), // QC_NORMU
2002 UINT64_C(16395), // QC_OUTW
2003 UINT64_C(1073750035), // QC_PPUTCI
2004 UINT64_C(67117147), // QC_SELECTEQI
2005 UINT64_C(33562715), // QC_SELECTIEQ
2006 UINT64_C(100671579), // QC_SELECTIEQI
2007 UINT64_C(8283), // QC_SELECTIIEQ
2008 UINT64_C(12379), // QC_SELECTIINE
2009 UINT64_C(33566811), // QC_SELECTINE
2010 UINT64_C(100675675), // QC_SELECTINEI
2011 UINT64_C(67121243), // QC_SELECTNEI
2012 UINT64_C(3422552179), // QC_SETINTI
2013 UINT64_C(2147512363), // QC_SETWM
2014 UINT64_C(3221254187), // QC_SETWMI
2015 UINT64_C(1073754123), // QC_SHLADD
2016 UINT64_C(335556619), // QC_SHLSAT
2017 UINT64_C(402665483), // QC_SHLUSAT
2018 UINT64_C(3489685547), // QC_SRB
2019 UINT64_C(3758121003), // QC_SRH
2020 UINT64_C(4026556459), // QC_SRW
2021 UINT64_C(536883211), // QC_SUBSAT
2022 UINT64_C(570437643), // QC_SUBUSAT
2023 UINT64_C(28715), // QC_SWM
2024 UINT64_C(1073770539), // QC_SWMI
2025 UINT64_C(268447763), // QC_SYNC
2026 UINT64_C(536883219), // QC_SYNCR
2027 UINT64_C(1073754131), // QC_SYNCWF
2028 UINT64_C(2147495955), // QC_SYNCWL
2029 UINT64_C(603992075), // QC_WRAP
2030 UINT64_C(11), // QC_WRAPI
2031 UINT64_C(8192), // QK_C_LBU
2032 UINT64_C(32768), // QK_C_LBUSP
2033 UINT64_C(8194), // QK_C_LHU
2034 UINT64_C(32800), // QK_C_LHUSP
2035 UINT64_C(40960), // QK_C_SB
2036 UINT64_C(32832), // QK_C_SBSP
2037 UINT64_C(40962), // QK_C_SH
2038 UINT64_C(32864), // QK_C_SHSP
2039 UINT64_C(33579059), // REM
2040 UINT64_C(33583155), // REMU
2041 UINT64_C(33583163), // REMUW
2042 UINT64_C(33579067), // REMW
2043 UINT64_C(1795182611), // REV16_RV64
2044 UINT64_C(1770016787), // REV8_RV32
2045 UINT64_C(1803571219), // REV8_RV64
2046 UINT64_C(1777356819), // REV_RV32
2047 UINT64_C(1810911251), // REV_RV64
2048 UINT64_C(1610616883), // ROL
2049 UINT64_C(1610616891), // ROLW
2050 UINT64_C(1610633267), // ROR
2051 UINT64_C(1610633235), // RORI
2052 UINT64_C(1610633243), // RORIW
2053 UINT64_C(1610633275), // RORW
2054 UINT64_C(2449473595), // SADD
2055 UINT64_C(2986344507), // SADDU
2056 UINT64_C(3791667227), // SATI_RV32
2057 UINT64_C(3825221659), // SATI_RV64
2058 UINT64_C(35), // SB
2059 UINT64_C(1040187439), // SB_AQRL
2060 UINT64_C(973078575), // SB_RL
2061 UINT64_C(272629875), // SCTRCLR
2062 UINT64_C(402665519), // SC_D
2063 UINT64_C(469774383), // SC_D_AQ
2064 UINT64_C(503328815), // SC_D_AQRL
2065 UINT64_C(436219951), // SC_D_RL
2066 UINT64_C(402661423), // SC_W
2067 UINT64_C(469770287), // SC_W_AQ
2068 UINT64_C(503324719), // SC_W_AQRL
2069 UINT64_C(436215855), // SC_W_RL
2070 UINT64_C(12323), // SD
2071 UINT64_C(1040199727), // SD_AQRL
2072 UINT64_C(973090863), // SD_RL
2073 UINT64_C(12323), // SD_RV32
2074 UINT64_C(1614811155), // SEXT_B
2075 UINT64_C(1615859731), // SEXT_H
2076 UINT64_C(403701875), // SFENCE_INVAL_IR
2077 UINT64_C(301990003), // SFENCE_VMA
2078 UINT64_C(402653299), // SFENCE_W_INVAL
2079 UINT64_C(4229955699), // SF_CDISCARD_D_L1
2080 UINT64_C(810549363), // SF_CEASE
2081 UINT64_C(4227858547), // SF_CFLUSH_D_L1
2082 UINT64_C(4261417207), // SF_MM_E4M3_E4M3
2083 UINT64_C(4261417079), // SF_MM_E4M3_E5M2
2084 UINT64_C(4194308343), // SF_MM_E5M2_E4M3
2085 UINT64_C(4194308215), // SF_MM_E5M2_E5M2
2086 UINT64_C(4060090487), // SF_MM_F_F
2087 UINT64_C(4127195383), // SF_MM_S_S
2088 UINT64_C(4127195255), // SF_MM_S_U
2089 UINT64_C(4060086519), // SF_MM_U_S
2090 UINT64_C(4060086391), // SF_MM_U_U
2091 UINT64_C(704663643), // SF_VC_FV
2092 UINT64_C(2852147291), // SF_VC_FVV
2093 UINT64_C(4194324571), // SF_VC_FVW
2094 UINT64_C(33566811), // SF_VC_I
2095 UINT64_C(570437723), // SF_VC_IV
2096 UINT64_C(2717921371), // SF_VC_IVV
2097 UINT64_C(4060098651), // SF_VC_IVW
2098 UINT64_C(570425435), // SF_VC_VV
2099 UINT64_C(2717909083), // SF_VC_VVV
2100 UINT64_C(4060086363), // SF_VC_VVW
2101 UINT64_C(671109211), // SF_VC_V_FV
2102 UINT64_C(2818592859), // SF_VC_V_FVV
2103 UINT64_C(4160770139), // SF_VC_V_FVW
2104 UINT64_C(12379), // SF_VC_V_I
2105 UINT64_C(536883291), // SF_VC_V_IV
2106 UINT64_C(2684366939), // SF_VC_V_IVV
2107 UINT64_C(4026544219), // SF_VC_V_IVW
2108 UINT64_C(536871003), // SF_VC_V_VV
2109 UINT64_C(2684354651), // SF_VC_V_VVV
2110 UINT64_C(4026531931), // SF_VC_V_VVW
2111 UINT64_C(16475), // SF_VC_V_X
2112 UINT64_C(536887387), // SF_VC_V_XV
2113 UINT64_C(2684371035), // SF_VC_V_XVV
2114 UINT64_C(4026548315), // SF_VC_V_XVW
2115 UINT64_C(33570907), // SF_VC_X
2116 UINT64_C(570441819), // SF_VC_XV
2117 UINT64_C(2717925467), // SF_VC_XVV
2118 UINT64_C(4060102747), // SF_VC_XVW
2119 UINT64_C(1275269207), // SF_VFEXPA_V
2120 UINT64_C(1275301975), // SF_VFEXP_V
2121 UINT64_C(2281721947), // SF_VFNRCLIP_XU_F_QF
2122 UINT64_C(2348830811), // SF_VFNRCLIP_X_F_QF
2123 UINT64_C(4060090459), // SF_VFWMACC_4x4x4
2124 UINT64_C(838889479), // SF_VLTE16
2125 UINT64_C(1375760391), // SF_VLTE32
2126 UINT64_C(1912631303), // SF_VLTE64
2127 UINT64_C(302018567), // SF_VLTE8
2128 UINT64_C(3187679323), // SF_VQMACCSU_2x8x2
2129 UINT64_C(4261421147), // SF_VQMACCSU_4x8x4
2130 UINT64_C(3120570459), // SF_VQMACCUS_2x8x2
2131 UINT64_C(4194312283), // SF_VQMACCUS_4x8x4
2132 UINT64_C(2986352731), // SF_VQMACCU_2x8x2
2133 UINT64_C(4060094555), // SF_VQMACCU_4x8x4
2134 UINT64_C(3053461595), // SF_VQMACC_2x8x2
2135 UINT64_C(4127203419), // SF_VQMACC_4x8x4
2136 UINT64_C(2216718423), // SF_VSETTK
2137 UINT64_C(2215669847), // SF_VSETTM
2138 UINT64_C(2214621271), // SF_VSETTN
2139 UINT64_C(838889511), // SF_VSTE16
2140 UINT64_C(1375760423), // SF_VSTE32
2141 UINT64_C(1912631335), // SF_VSTE64
2142 UINT64_C(302018599), // SF_VSTE8
2143 UINT64_C(1136681047), // SF_VTDISCARD
2144 UINT64_C(1577082967), // SF_VTMV_T_V
2145 UINT64_C(1139826775), // SF_VTMV_V_T
2146 UINT64_C(1138778199), // SF_VTZERO_T
2147 UINT64_C(4131), // SH
2148 UINT64_C(536879155), // SH1ADD
2149 UINT64_C(536879163), // SH1ADD_UW
2150 UINT64_C(536887347), // SH2ADD
2151 UINT64_C(536887355), // SH2ADD_UW
2152 UINT64_C(536895539), // SH3ADD
2153 UINT64_C(536895547), // SH3ADD_UW
2154 UINT64_C(3992985627), // SHA
2155 UINT64_C(270536723), // SHA256SIG0
2156 UINT64_C(271585299), // SHA256SIG1
2157 UINT64_C(268439571), // SHA256SUM0
2158 UINT64_C(269488147), // SHA256SUM1
2159 UINT64_C(274731027), // SHA512SIG0
2160 UINT64_C(1543503923), // SHA512SIG0H
2161 UINT64_C(1409286195), // SHA512SIG0L
2162 UINT64_C(275779603), // SHA512SIG1
2163 UINT64_C(1577058355), // SHA512SIG1H
2164 UINT64_C(1442840627), // SHA512SIG1L
2165 UINT64_C(272633875), // SHA512SUM0
2166 UINT64_C(1342177331), // SHA512SUM0R
2167 UINT64_C(273682451), // SHA512SUM1
2168 UINT64_C(1375731763), // SHA512SUM1R
2169 UINT64_C(4261421083), // SHAR
2170 UINT64_C(2919243803), // SHL
2171 UINT64_C(3187679259), // SHLR
2172 UINT64_C(1040191535), // SH_AQRL
2173 UINT64_C(4131), // SH_INX
2174 UINT64_C(973082671), // SH_RL
2175 UINT64_C(369098867), // SINVAL_VMA
2176 UINT64_C(4147), // SLL
2177 UINT64_C(4115), // SLLI
2178 UINT64_C(4123), // SLLIW
2179 UINT64_C(134221851), // SLLI_UW
2180 UINT64_C(4155), // SLLW
2181 UINT64_C(8243), // SLT
2182 UINT64_C(8211), // SLTI
2183 UINT64_C(12307), // SLTIU
2184 UINT64_C(12339), // SLTU
2185 UINT64_C(2382368827), // SLX
2186 UINT64_C(276828179), // SM3P0
2187 UINT64_C(277876755), // SM3P1
2188 UINT64_C(805306419), // SM4ED
2189 UINT64_C(872415283), // SM4KS
2190 UINT64_C(3791663147), // SMT_VMADOT
2191 UINT64_C(3858772011), // SMT_VMADOT1
2192 UINT64_C(3858767915), // SMT_VMADOT1SU
2193 UINT64_C(3858759723), // SMT_VMADOT1U
2194 UINT64_C(3858763819), // SMT_VMADOT1US
2195 UINT64_C(3858788395), // SMT_VMADOT2
2196 UINT64_C(3858784299), // SMT_VMADOT2SU
2197 UINT64_C(3858776107), // SMT_VMADOT2U
2198 UINT64_C(3858780203), // SMT_VMADOT2US
2199 UINT64_C(3858804779), // SMT_VMADOT3
2200 UINT64_C(3858800683), // SMT_VMADOT3SU
2201 UINT64_C(3858792491), // SMT_VMADOT3U
2202 UINT64_C(3858796587), // SMT_VMADOT3US
2203 UINT64_C(3791659051), // SMT_VMADOTSU
2204 UINT64_C(3791650859), // SMT_VMADOTU
2205 UINT64_C(3791654955), // SMT_VMADOTUS
2206 UINT64_C(1073762355), // SRA
2207 UINT64_C(1073762323), // SRAI
2208 UINT64_C(1073762331), // SRAIW
2209 UINT64_C(3523231771), // SRARI_RV32
2210 UINT64_C(3556786203), // SRARI_RV64
2211 UINT64_C(1073762363), // SRAW
2212 UINT64_C(270532723), // SRET
2213 UINT64_C(20531), // SRL
2214 UINT64_C(20499), // SRLI
2215 UINT64_C(20507), // SRLIW
2216 UINT64_C(20603), // SRLIY
2217 UINT64_C(20539), // SRLW
2218 UINT64_C(2919239739), // SRX
2219 UINT64_C(1207971887), // SSAMOSWAP_D
2220 UINT64_C(1275080751), // SSAMOSWAP_D_AQ
2221 UINT64_C(1308635183), // SSAMOSWAP_D_AQRL
2222 UINT64_C(1241526319), // SSAMOSWAP_D_RL
2223 UINT64_C(1207967791), // SSAMOSWAP_W
2224 UINT64_C(1275076655), // SSAMOSWAP_W_AQ
2225 UINT64_C(1308631087), // SSAMOSWAP_W_AQRL
2226 UINT64_C(1241522223), // SSAMOSWAP_W_RL
2227 UINT64_C(2986352699), // SSH1SADD
2228 UINT64_C(3925876763), // SSHA
2229 UINT64_C(4194312219), // SSHAR
2230 UINT64_C(2852134939), // SSHL
2231 UINT64_C(3120570395), // SSHLR
2232 UINT64_C(3523223579), // SSLAI
2233 UINT64_C(3451928691), // SSPOPCHK
2234 UINT64_C(3456122995), // SSPUSH
2235 UINT64_C(3451928691), // SSRDP
2236 UINT64_C(3523215419), // SSUB
2237 UINT64_C(4060086331), // SSUBU
2238 UINT64_C(1073741875), // SUB
2239 UINT64_C(3321913371), // SUBD
2240 UINT64_C(1073741883), // SUBW
2241 UINT64_C(8227), // SW
2242 UINT64_C(1040195631), // SW_AQRL
2243 UINT64_C(8227), // SW_INX
2244 UINT64_C(973086767), // SW_RL
2245 UINT64_C(4107), // TH_ADDSL
2246 UINT64_C(1048587), // TH_DCACHE_CALL
2247 UINT64_C(3145739), // TH_DCACHE_CIALL
2248 UINT64_C(45088779), // TH_DCACHE_CIPA
2249 UINT64_C(36700171), // TH_DCACHE_CISW
2250 UINT64_C(40894475), // TH_DCACHE_CIVA
2251 UINT64_C(42991627), // TH_DCACHE_CPA
2252 UINT64_C(41943051), // TH_DCACHE_CPAL1
2253 UINT64_C(34603019), // TH_DCACHE_CSW
2254 UINT64_C(38797323), // TH_DCACHE_CVA
2255 UINT64_C(37748747), // TH_DCACHE_CVAL1
2256 UINT64_C(2097163), // TH_DCACHE_IALL
2257 UINT64_C(44040203), // TH_DCACHE_IPA
2258 UINT64_C(35651595), // TH_DCACHE_ISW
2259 UINT64_C(39845899), // TH_DCACHE_IVA
2260 UINT64_C(8203), // TH_EXT
2261 UINT64_C(12299), // TH_EXTU
2262 UINT64_C(2214596619), // TH_FF0
2263 UINT64_C(2248151051), // TH_FF1
2264 UINT64_C(1610637323), // TH_FLRD
2265 UINT64_C(1073766411), // TH_FLRW
2266 UINT64_C(1879072779), // TH_FLURD
2267 UINT64_C(1342201867), // TH_FLURW
2268 UINT64_C(1610641419), // TH_FSRD
2269 UINT64_C(1073770507), // TH_FSRW
2270 UINT64_C(1879076875), // TH_FSURD
2271 UINT64_C(1342205963), // TH_FSURW
2272 UINT64_C(16777227), // TH_ICACHE_IALL
2273 UINT64_C(17825803), // TH_ICACHE_IALLS
2274 UINT64_C(58720267), // TH_ICACHE_IPA
2275 UINT64_C(50331659), // TH_ICACHE_IVA
2276 UINT64_C(22020107), // TH_L2CACHE_CALL
2277 UINT64_C(24117259), // TH_L2CACHE_CIALL
2278 UINT64_C(23068683), // TH_L2CACHE_IALL
2279 UINT64_C(402669579), // TH_LBIA
2280 UINT64_C(134234123), // TH_LBIB
2281 UINT64_C(2550153227), // TH_LBUIA
2282 UINT64_C(2281717771), // TH_LBUIB
2283 UINT64_C(4160765963), // TH_LDD
2284 UINT64_C(2013282315), // TH_LDIA
2285 UINT64_C(1744846859), // TH_LDIB
2286 UINT64_C(939540491), // TH_LHIA
2287 UINT64_C(671105035), // TH_LHIB
2288 UINT64_C(3087024139), // TH_LHUIA
2289 UINT64_C(2818588683), // TH_LHUIB
2290 UINT64_C(16395), // TH_LRB
2291 UINT64_C(2147500043), // TH_LRBU
2292 UINT64_C(1610629131), // TH_LRD
2293 UINT64_C(536887307), // TH_LRH
2294 UINT64_C(2684370955), // TH_LRHU
2295 UINT64_C(1073758219), // TH_LRW
2296 UINT64_C(3221241867), // TH_LRWU
2297 UINT64_C(268451851), // TH_LURB
2298 UINT64_C(2415935499), // TH_LURBU
2299 UINT64_C(1879064587), // TH_LURD
2300 UINT64_C(805322763), // TH_LURH
2301 UINT64_C(2952806411), // TH_LURHU
2302 UINT64_C(1342193675), // TH_LURW
2303 UINT64_C(3489677323), // TH_LURWU
2304 UINT64_C(3758112779), // TH_LWD
2305 UINT64_C(1476411403), // TH_LWIA
2306 UINT64_C(1207975947), // TH_LWIB
2307 UINT64_C(4026548235), // TH_LWUD
2308 UINT64_C(3623895051), // TH_LWUIA
2309 UINT64_C(3355459595), // TH_LWUIB
2310 UINT64_C(536875019), // TH_MULA
2311 UINT64_C(671092747), // TH_MULAH
2312 UINT64_C(603983883), // TH_MULAW
2313 UINT64_C(570429451), // TH_MULS
2314 UINT64_C(704647179), // TH_MULSH
2315 UINT64_C(637538315), // TH_MULSW
2316 UINT64_C(1073745931), // TH_MVEQZ
2317 UINT64_C(1107300363), // TH_MVNEZ
2318 UINT64_C(2181042187), // TH_REV
2319 UINT64_C(2415923211), // TH_REVW
2320 UINT64_C(402673675), // TH_SBIA
2321 UINT64_C(134238219), // TH_SBIB
2322 UINT64_C(4160770059), // TH_SDD
2323 UINT64_C(2013286411), // TH_SDIA
2324 UINT64_C(1744850955), // TH_SDIB
2325 UINT64_C(67108875), // TH_SFENCE_VMAS
2326 UINT64_C(939544587), // TH_SHIA
2327 UINT64_C(671109131), // TH_SHIB
2328 UINT64_C(20491), // TH_SRB
2329 UINT64_C(1610633227), // TH_SRD
2330 UINT64_C(536891403), // TH_SRH
2331 UINT64_C(268439563), // TH_SRRI
2332 UINT64_C(335548427), // TH_SRRIW
2333 UINT64_C(1073762315), // TH_SRW
2334 UINT64_C(268455947), // TH_SURB
2335 UINT64_C(1879068683), // TH_SURD
2336 UINT64_C(805326859), // TH_SURH
2337 UINT64_C(1342197771), // TH_SURW
2338 UINT64_C(3758116875), // TH_SWD
2339 UINT64_C(1476415499), // TH_SWIA
2340 UINT64_C(1207980043), // TH_SWIB
2341 UINT64_C(25165835), // TH_SYNC
2342 UINT64_C(27262987), // TH_SYNC_I
2343 UINT64_C(28311563), // TH_SYNC_IS
2344 UINT64_C(26214411), // TH_SYNC_S
2345 UINT64_C(2281705483), // TH_TST
2346 UINT64_C(2147487755), // TH_TSTNBZ
2347 UINT64_C(2415943691), // TH_VMAQASU_VV
2348 UINT64_C(2483052555), // TH_VMAQASU_VX
2349 UINT64_C(2617270283), // TH_VMAQAUS_VX
2350 UINT64_C(2281725963), // TH_VMAQAU_VV
2351 UINT64_C(2348834827), // TH_VMAQAU_VX
2352 UINT64_C(2147508235), // TH_VMAQA_VV
2353 UINT64_C(2214617099), // TH_VMAQA_VX
2354 UINT64_C(3221229683), // UNIMP
2355 UINT64_C(3858767931), // UNZIP16HP
2356 UINT64_C(3791659067), // UNZIP16P
2357 UINT64_C(3825213499), // UNZIP8HP
2358 UINT64_C(3758104635), // UNZIP8P
2359 UINT64_C(149966867), // UNZIP_RV32
2360 UINT64_C(2717925403), // USATI_RV32
2361 UINT64_C(2751479835), // USATI_RV64
2362 UINT64_C(3992977495), // V8WMMACC_VV
2363 UINT64_C(536879191), // VAADDU_VV
2364 UINT64_C(536895575), // VAADDU_VX
2365 UINT64_C(603988055), // VAADD_VV
2366 UINT64_C(604004439), // VAADD_VX
2367 UINT64_C(1275076695), // VABDU_VV
2368 UINT64_C(1140858967), // VABD_VV
2369 UINT64_C(1208492119), // VABS_V
2370 UINT64_C(1073754199), // VADC_VIM
2371 UINT64_C(1073741911), // VADC_VVM
2372 UINT64_C(1073758295), // VADC_VXM
2373 UINT64_C(12375), // VADD_VI
2374 UINT64_C(87), // VADD_VV
2375 UINT64_C(16471), // VADD_VX
2376 UINT64_C(2785058935), // VAESDF_VS
2377 UINT64_C(2717950071), // VAESDF_VV
2378 UINT64_C(2785026167), // VAESDM_VS
2379 UINT64_C(2717917303), // VAESDM_VV
2380 UINT64_C(2785124471), // VAESEF_VS
2381 UINT64_C(2718015607), // VAESEF_VV
2382 UINT64_C(2785091703), // VAESEM_VS
2383 UINT64_C(2717982839), // VAESEM_VV
2384 UINT64_C(2315264119), // VAESKF1_VI
2385 UINT64_C(2852135031), // VAESKF2_VI
2386 UINT64_C(2785255543), // VAESZ_VS
2387 UINT64_C(67108951), // VANDN_VV
2388 UINT64_C(67125335), // VANDN_VX
2389 UINT64_C(603992151), // VAND_VI
2390 UINT64_C(603979863), // VAND_VV
2391 UINT64_C(603996247), // VAND_VX
2392 UINT64_C(671096919), // VASUBU_VV
2393 UINT64_C(671113303), // VASUBU_VX
2394 UINT64_C(738205783), // VASUB_VV
2395 UINT64_C(738222167), // VASUB_VX
2396 UINT64_C(1208229975), // VBREV8_V
2397 UINT64_C(1208295511), // VBREV_V
2398 UINT64_C(872423511), // VCLMULH_VV
2399 UINT64_C(872439895), // VCLMULH_VX
2400 UINT64_C(805314647), // VCLMUL_VV
2401 UINT64_C(805331031), // VCLMUL_VX
2402 UINT64_C(1208361047), // VCLZ_V
2403 UINT64_C(1577066583), // VCOMPRESS_VM
2404 UINT64_C(1074274391), // VCPOP_M
2405 UINT64_C(1208426583), // VCPOP_V
2406 UINT64_C(1208393815), // VCTZ_V
2407 UINT64_C(2147491927), // VDIVU_VV
2408 UINT64_C(2147508311), // VDIVU_VX
2409 UINT64_C(2214600791), // VDIV_VV
2410 UINT64_C(2214617175), // VDIV_VX
2411 UINT64_C(2818580567), // VDOT4ASU_VV
2412 UINT64_C(2818596951), // VDOT4ASU_VX
2413 UINT64_C(3087032407), // VDOT4AUS_VX
2414 UINT64_C(2684362839), // VDOT4AU_VV
2415 UINT64_C(2684379223), // VDOT4AU_VX
2416 UINT64_C(2952798295), // VDOT4A_VV
2417 UINT64_C(2952814679), // VDOT4A_VX
2418 UINT64_C(3959423063), // VF8WIMMACC_VV
2419 UINT64_C(1577062487), // VF8WMMACC_VV
2420 UINT64_C(1543508055), // VF8WMMACC_VV_SCALE
2421 UINT64_C(20567), // VFADD_VF
2422 UINT64_C(4183), // VFADD_VV
2423 UINT64_C(2885685367), // VFBDOTA_VV
2424 UINT64_C(1275596887), // VFCLASS_V
2425 UINT64_C(1208029271), // VFCVT_F_XU_V
2426 UINT64_C(1208062039), // VFCVT_F_X_V
2427 UINT64_C(1208160343), // VFCVT_RTZ_XU_F_V
2428 UINT64_C(1208193111), // VFCVT_RTZ_X_F_V
2429 UINT64_C(1207963735), // VFCVT_XU_F_V
2430 UINT64_C(1207996503), // VFCVT_X_F_V
2431 UINT64_C(2147504215), // VFDIV_VF
2432 UINT64_C(2147487831), // VFDIV_VV
2433 UINT64_C(1074307159), // VFIRST_M
2434 UINT64_C(2952810583), // VFMACC_VF
2435 UINT64_C(2952794199), // VFMACC_VV
2436 UINT64_C(2684375127), // VFMADD_VF
2437 UINT64_C(2684358743), // VFMADD_VV
2438 UINT64_C(402673751), // VFMAX_VF
2439 UINT64_C(402657367), // VFMAX_VV
2440 UINT64_C(1543524439), // VFMERGE_VFM
2441 UINT64_C(268456023), // VFMIN_VF
2442 UINT64_C(268439639), // VFMIN_VV
2443 UINT64_C(1375735895), // VFMMACC_VV
2444 UINT64_C(3087028311), // VFMSAC_VF
2445 UINT64_C(3087011927), // VFMSAC_VV
2446 UINT64_C(2818592855), // VFMSUB_VF
2447 UINT64_C(2818576471), // VFMSUB_VV
2448 UINT64_C(2415939671), // VFMUL_VF
2449 UINT64_C(2415923287), // VFMUL_VV
2450 UINT64_C(1107300439), // VFMV_F_S
2451 UINT64_C(1107316823), // VFMV_S_F
2452 UINT64_C(1577078871), // VFMV_V_F
2453 UINT64_C(1208914007), // VFNCVTBF16_F_F_W
2454 UINT64_C(1208979543), // VFNCVTBF16_SAT_F_F_W
2455 UINT64_C(1208782935), // VFNCVT_F_F_Q
2456 UINT64_C(1208619095), // VFNCVT_F_F_W
2457 UINT64_C(1208553559), // VFNCVT_F_XU_W
2458 UINT64_C(1208586327), // VFNCVT_F_X_W
2459 UINT64_C(1208651863), // VFNCVT_ROD_F_F_W
2460 UINT64_C(1208684631), // VFNCVT_RTZ_XU_F_W
2461 UINT64_C(1208717399), // VFNCVT_RTZ_X_F_W
2462 UINT64_C(1208848471), // VFNCVT_SAT_F_F_Q
2463 UINT64_C(1208488023), // VFNCVT_XU_F_W
2464 UINT64_C(1208520791), // VFNCVT_X_F_W
2465 UINT64_C(3019919447), // VFNMACC_VF
2466 UINT64_C(3019903063), // VFNMACC_VV
2467 UINT64_C(2751483991), // VFNMADD_VF
2468 UINT64_C(2751467607), // VFNMADD_VV
2469 UINT64_C(3154137175), // VFNMSAC_VF
2470 UINT64_C(3154120791), // VFNMSAC_VV
2471 UINT64_C(2885701719), // VFNMSUB_VF
2472 UINT64_C(2885685335), // VFNMSUB_VV
2473 UINT64_C(3892314199), // VFQIMMACC_VV
2474 UINT64_C(1509953623), // VFQMMACC_VV
2475 UINT64_C(1476399191), // VFQMMACC_VV_SCALE
2476 UINT64_C(3154120823), // VFQWBDOTA_ALT_VV
2477 UINT64_C(3087011959), // VFQWBDOTA_VV
2478 UINT64_C(2617249911), // VFQWDOTA_ALT_VV
2479 UINT64_C(2550141047), // VFQWDOTA_VV
2480 UINT64_C(2214613079), // VFRDIV_VF
2481 UINT64_C(1275236439), // VFREC7_V
2482 UINT64_C(469766231), // VFREDMAX_VS
2483 UINT64_C(335548503), // VFREDMIN_VS
2484 UINT64_C(201330775), // VFREDOSUM_VS
2485 UINT64_C(67113047), // VFREDUSUM_VS
2486 UINT64_C(1275203671), // VFRSQRT7_V
2487 UINT64_C(2617266263), // VFRSUB_VF
2488 UINT64_C(604000343), // VFSGNJN_VF
2489 UINT64_C(603983959), // VFSGNJN_VV
2490 UINT64_C(671109207), // VFSGNJX_VF
2491 UINT64_C(671092823), // VFSGNJX_VV
2492 UINT64_C(536891479), // VFSGNJ_VF
2493 UINT64_C(536875095), // VFSGNJ_VV
2494 UINT64_C(1006653527), // VFSLIDE1DOWN_VF
2495 UINT64_C(939544663), // VFSLIDE1UP_VF
2496 UINT64_C(1275072599), // VFSQRT_V
2497 UINT64_C(134238295), // VFSUB_VF
2498 UINT64_C(134221911), // VFSUB_VV
2499 UINT64_C(3221246039), // VFWADD_VF
2500 UINT64_C(3221229655), // VFWADD_VV
2501 UINT64_C(3489681495), // VFWADD_WF
2502 UINT64_C(3489665111), // VFWADD_WV
2503 UINT64_C(2952794231), // VFWBDOTA_VV
2504 UINT64_C(1208389719), // VFWCVTBF16_F_F_V
2505 UINT64_C(1208356951), // VFWCVT_F_F_V
2506 UINT64_C(1208291415), // VFWCVT_F_XU_V
2507 UINT64_C(1208324183), // VFWCVT_F_X_V
2508 UINT64_C(1208422487), // VFWCVT_RTZ_XU_F_V
2509 UINT64_C(1208455255), // VFWCVT_RTZ_X_F_V
2510 UINT64_C(1208225879), // VFWCVT_XU_F_V
2511 UINT64_C(1208258647), // VFWCVT_X_F_V
2512 UINT64_C(2415923319), // VFWDOTA_VV
2513 UINT64_C(3825205335), // VFWIMMACC_VV
2514 UINT64_C(3959443543), // VFWMACCBF16_VF
2515 UINT64_C(3959427159), // VFWMACCBF16_VV
2516 UINT64_C(4026552407), // VFWMACC_VF
2517 UINT64_C(4026536023), // VFWMACC_VV
2518 UINT64_C(2650816555), // VFWMADOT
2519 UINT64_C(2650820651), // VFWMADOT1
2520 UINT64_C(2650824747), // VFWMADOT2
2521 UINT64_C(2650828843), // VFWMADOT3
2522 UINT64_C(1442844759), // VFWMMACC_VV
2523 UINT64_C(1409290327), // VFWMMACC_VV_SCALE
2524 UINT64_C(4160770135), // VFWMSAC_VF
2525 UINT64_C(4160753751), // VFWMSAC_VV
2526 UINT64_C(3758116951), // VFWMUL_VF
2527 UINT64_C(3758100567), // VFWMUL_VV
2528 UINT64_C(4093661271), // VFWNMACC_VF
2529 UINT64_C(4093644887), // VFWNMACC_VV
2530 UINT64_C(4227878999), // VFWNMSAC_VF
2531 UINT64_C(4227862615), // VFWNMSAC_VV
2532 UINT64_C(3422556247), // VFWREDOSUM_VS
2533 UINT64_C(3288338519), // VFWREDUSUM_VS
2534 UINT64_C(3355463767), // VFWSUB_VF
2535 UINT64_C(3355447383), // VFWSUB_VV
2536 UINT64_C(3623899223), // VFWSUB_WF
2537 UINT64_C(3623882839), // VFWSUB_WV
2538 UINT64_C(2382372983), // VGHSH_VS
2539 UINT64_C(2986352759), // VGHSH_VV
2540 UINT64_C(2785583223), // VGMUL_VS
2541 UINT64_C(2718474359), // VGMUL_VV
2542 UINT64_C(1342742615), // VID_V
2543 UINT64_C(1342709847), // VIOTA_M
2544 UINT64_C(41963527), // VL1RE16_V
2545 UINT64_C(41967623), // VL1RE32_V
2546 UINT64_C(41971719), // VL1RE64_V
2547 UINT64_C(41943047), // VL1RE8_V
2548 UINT64_C(578834439), // VL2RE16_V
2549 UINT64_C(578838535), // VL2RE32_V
2550 UINT64_C(578842631), // VL2RE64_V
2551 UINT64_C(578813959), // VL2RE8_V
2552 UINT64_C(1652576263), // VL4RE16_V
2553 UINT64_C(1652580359), // VL4RE32_V
2554 UINT64_C(1652584455), // VL4RE64_V
2555 UINT64_C(1652555783), // VL4RE8_V
2556 UINT64_C(3800059911), // VL8RE16_V
2557 UINT64_C(3800064007), // VL8RE32_V
2558 UINT64_C(3800068103), // VL8RE64_V
2559 UINT64_C(3800039431), // VL8RE8_V
2560 UINT64_C(16797703), // VLE16FF_V
2561 UINT64_C(20487), // VLE16_V
2562 UINT64_C(16801799), // VLE32FF_V
2563 UINT64_C(24583), // VLE32_V
2564 UINT64_C(16805895), // VLE64FF_V
2565 UINT64_C(28679), // VLE64_V
2566 UINT64_C(16777223), // VLE8FF_V
2567 UINT64_C(7), // VLE8_V
2568 UINT64_C(45088775), // VLM_V
2569 UINT64_C(201347079), // VLOXEI16_V
2570 UINT64_C(201351175), // VLOXEI32_V
2571 UINT64_C(201355271), // VLOXEI64_V
2572 UINT64_C(201326599), // VLOXEI8_V
2573 UINT64_C(738217991), // VLOXSEG2EI16_V
2574 UINT64_C(738222087), // VLOXSEG2EI32_V
2575 UINT64_C(738226183), // VLOXSEG2EI64_V
2576 UINT64_C(738197511), // VLOXSEG2EI8_V
2577 UINT64_C(1275088903), // VLOXSEG3EI16_V
2578 UINT64_C(1275092999), // VLOXSEG3EI32_V
2579 UINT64_C(1275097095), // VLOXSEG3EI64_V
2580 UINT64_C(1275068423), // VLOXSEG3EI8_V
2581 UINT64_C(1811959815), // VLOXSEG4EI16_V
2582 UINT64_C(1811963911), // VLOXSEG4EI32_V
2583 UINT64_C(1811968007), // VLOXSEG4EI64_V
2584 UINT64_C(1811939335), // VLOXSEG4EI8_V
2585 UINT64_C(2348830727), // VLOXSEG5EI16_V
2586 UINT64_C(2348834823), // VLOXSEG5EI32_V
2587 UINT64_C(2348838919), // VLOXSEG5EI64_V
2588 UINT64_C(2348810247), // VLOXSEG5EI8_V
2589 UINT64_C(2885701639), // VLOXSEG6EI16_V
2590 UINT64_C(2885705735), // VLOXSEG6EI32_V
2591 UINT64_C(2885709831), // VLOXSEG6EI64_V
2592 UINT64_C(2885681159), // VLOXSEG6EI8_V
2593 UINT64_C(3422572551), // VLOXSEG7EI16_V
2594 UINT64_C(3422576647), // VLOXSEG7EI32_V
2595 UINT64_C(3422580743), // VLOXSEG7EI64_V
2596 UINT64_C(3422552071), // VLOXSEG7EI8_V
2597 UINT64_C(3959443463), // VLOXSEG8EI16_V
2598 UINT64_C(3959447559), // VLOXSEG8EI32_V
2599 UINT64_C(3959451655), // VLOXSEG8EI64_V
2600 UINT64_C(3959422983), // VLOXSEG8EI8_V
2601 UINT64_C(134238215), // VLSE16_V
2602 UINT64_C(134242311), // VLSE32_V
2603 UINT64_C(134246407), // VLSE64_V
2604 UINT64_C(134217735), // VLSE8_V
2605 UINT64_C(553668615), // VLSEG2E16FF_V
2606 UINT64_C(536891399), // VLSEG2E16_V
2607 UINT64_C(553672711), // VLSEG2E32FF_V
2608 UINT64_C(536895495), // VLSEG2E32_V
2609 UINT64_C(553676807), // VLSEG2E64FF_V
2610 UINT64_C(536899591), // VLSEG2E64_V
2611 UINT64_C(553648135), // VLSEG2E8FF_V
2612 UINT64_C(536870919), // VLSEG2E8_V
2613 UINT64_C(1090539527), // VLSEG3E16FF_V
2614 UINT64_C(1073762311), // VLSEG3E16_V
2615 UINT64_C(1090543623), // VLSEG3E32FF_V
2616 UINT64_C(1073766407), // VLSEG3E32_V
2617 UINT64_C(1090547719), // VLSEG3E64FF_V
2618 UINT64_C(1073770503), // VLSEG3E64_V
2619 UINT64_C(1090519047), // VLSEG3E8FF_V
2620 UINT64_C(1073741831), // VLSEG3E8_V
2621 UINT64_C(1627410439), // VLSEG4E16FF_V
2622 UINT64_C(1610633223), // VLSEG4E16_V
2623 UINT64_C(1627414535), // VLSEG4E32FF_V
2624 UINT64_C(1610637319), // VLSEG4E32_V
2625 UINT64_C(1627418631), // VLSEG4E64FF_V
2626 UINT64_C(1610641415), // VLSEG4E64_V
2627 UINT64_C(1627389959), // VLSEG4E8FF_V
2628 UINT64_C(1610612743), // VLSEG4E8_V
2629 UINT64_C(2164281351), // VLSEG5E16FF_V
2630 UINT64_C(2147504135), // VLSEG5E16_V
2631 UINT64_C(2164285447), // VLSEG5E32FF_V
2632 UINT64_C(2147508231), // VLSEG5E32_V
2633 UINT64_C(2164289543), // VLSEG5E64FF_V
2634 UINT64_C(2147512327), // VLSEG5E64_V
2635 UINT64_C(2164260871), // VLSEG5E8FF_V
2636 UINT64_C(2147483655), // VLSEG5E8_V
2637 UINT64_C(2701152263), // VLSEG6E16FF_V
2638 UINT64_C(2684375047), // VLSEG6E16_V
2639 UINT64_C(2701156359), // VLSEG6E32FF_V
2640 UINT64_C(2684379143), // VLSEG6E32_V
2641 UINT64_C(2701160455), // VLSEG6E64FF_V
2642 UINT64_C(2684383239), // VLSEG6E64_V
2643 UINT64_C(2701131783), // VLSEG6E8FF_V
2644 UINT64_C(2684354567), // VLSEG6E8_V
2645 UINT64_C(3238023175), // VLSEG7E16FF_V
2646 UINT64_C(3221245959), // VLSEG7E16_V
2647 UINT64_C(3238027271), // VLSEG7E32FF_V
2648 UINT64_C(3221250055), // VLSEG7E32_V
2649 UINT64_C(3238031367), // VLSEG7E64FF_V
2650 UINT64_C(3221254151), // VLSEG7E64_V
2651 UINT64_C(3238002695), // VLSEG7E8FF_V
2652 UINT64_C(3221225479), // VLSEG7E8_V
2653 UINT64_C(3774894087), // VLSEG8E16FF_V
2654 UINT64_C(3758116871), // VLSEG8E16_V
2655 UINT64_C(3774898183), // VLSEG8E32FF_V
2656 UINT64_C(3758120967), // VLSEG8E32_V
2657 UINT64_C(3774902279), // VLSEG8E64FF_V
2658 UINT64_C(3758125063), // VLSEG8E64_V
2659 UINT64_C(3774873607), // VLSEG8E8FF_V
2660 UINT64_C(3758096391), // VLSEG8E8_V
2661 UINT64_C(671109127), // VLSSEG2E16_V
2662 UINT64_C(671113223), // VLSSEG2E32_V
2663 UINT64_C(671117319), // VLSSEG2E64_V
2664 UINT64_C(671088647), // VLSSEG2E8_V
2665 UINT64_C(1207980039), // VLSSEG3E16_V
2666 UINT64_C(1207984135), // VLSSEG3E32_V
2667 UINT64_C(1207988231), // VLSSEG3E64_V
2668 UINT64_C(1207959559), // VLSSEG3E8_V
2669 UINT64_C(1744850951), // VLSSEG4E16_V
2670 UINT64_C(1744855047), // VLSSEG4E32_V
2671 UINT64_C(1744859143), // VLSSEG4E64_V
2672 UINT64_C(1744830471), // VLSSEG4E8_V
2673 UINT64_C(2281721863), // VLSSEG5E16_V
2674 UINT64_C(2281725959), // VLSSEG5E32_V
2675 UINT64_C(2281730055), // VLSSEG5E64_V
2676 UINT64_C(2281701383), // VLSSEG5E8_V
2677 UINT64_C(2818592775), // VLSSEG6E16_V
2678 UINT64_C(2818596871), // VLSSEG6E32_V
2679 UINT64_C(2818600967), // VLSSEG6E64_V
2680 UINT64_C(2818572295), // VLSSEG6E8_V
2681 UINT64_C(3355463687), // VLSSEG7E16_V
2682 UINT64_C(3355467783), // VLSSEG7E32_V
2683 UINT64_C(3355471879), // VLSSEG7E64_V
2684 UINT64_C(3355443207), // VLSSEG7E8_V
2685 UINT64_C(3892334599), // VLSSEG8E16_V
2686 UINT64_C(3892338695), // VLSSEG8E32_V
2687 UINT64_C(3892342791), // VLSSEG8E64_V
2688 UINT64_C(3892314119), // VLSSEG8E8_V
2689 UINT64_C(67129351), // VLUXEI16_V
2690 UINT64_C(67133447), // VLUXEI32_V
2691 UINT64_C(67137543), // VLUXEI64_V
2692 UINT64_C(67108871), // VLUXEI8_V
2693 UINT64_C(604000263), // VLUXSEG2EI16_V
2694 UINT64_C(604004359), // VLUXSEG2EI32_V
2695 UINT64_C(604008455), // VLUXSEG2EI64_V
2696 UINT64_C(603979783), // VLUXSEG2EI8_V
2697 UINT64_C(1140871175), // VLUXSEG3EI16_V
2698 UINT64_C(1140875271), // VLUXSEG3EI32_V
2699 UINT64_C(1140879367), // VLUXSEG3EI64_V
2700 UINT64_C(1140850695), // VLUXSEG3EI8_V
2701 UINT64_C(1677742087), // VLUXSEG4EI16_V
2702 UINT64_C(1677746183), // VLUXSEG4EI32_V
2703 UINT64_C(1677750279), // VLUXSEG4EI64_V
2704 UINT64_C(1677721607), // VLUXSEG4EI8_V
2705 UINT64_C(2214612999), // VLUXSEG5EI16_V
2706 UINT64_C(2214617095), // VLUXSEG5EI32_V
2707 UINT64_C(2214621191), // VLUXSEG5EI64_V
2708 UINT64_C(2214592519), // VLUXSEG5EI8_V
2709 UINT64_C(2751483911), // VLUXSEG6EI16_V
2710 UINT64_C(2751488007), // VLUXSEG6EI32_V
2711 UINT64_C(2751492103), // VLUXSEG6EI64_V
2712 UINT64_C(2751463431), // VLUXSEG6EI8_V
2713 UINT64_C(3288354823), // VLUXSEG7EI16_V
2714 UINT64_C(3288358919), // VLUXSEG7EI32_V
2715 UINT64_C(3288363015), // VLUXSEG7EI64_V
2716 UINT64_C(3288334343), // VLUXSEG7EI8_V
2717 UINT64_C(3825225735), // VLUXSEG8EI16_V
2718 UINT64_C(3825229831), // VLUXSEG8EI32_V
2719 UINT64_C(3825233927), // VLUXSEG8EI64_V
2720 UINT64_C(3825205255), // VLUXSEG8EI8_V
2721 UINT64_C(3019907159), // VMACC_VV
2722 UINT64_C(3019923543), // VMACC_VX
2723 UINT64_C(1174417495), // VMADC_VI
2724 UINT64_C(1140863063), // VMADC_VIM
2725 UINT64_C(1174405207), // VMADC_VV
2726 UINT64_C(1140850775), // VMADC_VVM
2727 UINT64_C(1174421591), // VMADC_VX
2728 UINT64_C(1140867159), // VMADC_VXM
2729 UINT64_C(2751471703), // VMADD_VV
2730 UINT64_C(2751488087), // VMADD_VX
2731 UINT64_C(2181050411), // VMADOT
2732 UINT64_C(2248159275), // VMADOT1
2733 UINT64_C(2248155179), // VMADOT1SU
2734 UINT64_C(2248146987), // VMADOT1U
2735 UINT64_C(2248151083), // VMADOT1US
2736 UINT64_C(2248175659), // VMADOT2
2737 UINT64_C(2248171563), // VMADOT2SU
2738 UINT64_C(2248163371), // VMADOT2U
2739 UINT64_C(2248167467), // VMADOT2US
2740 UINT64_C(2248192043), // VMADOT3
2741 UINT64_C(2248187947), // VMADOT3SU
2742 UINT64_C(2248179755), // VMADOT3U
2743 UINT64_C(2248183851), // VMADOT3US
2744 UINT64_C(2181046315), // VMADOTSU
2745 UINT64_C(2483028011), // VMADOTSU_HP
2746 UINT64_C(2281709611), // VMADOTSU_SP
2747 UINT64_C(2181038123), // VMADOTU
2748 UINT64_C(2181042219), // VMADOTUS
2749 UINT64_C(2550136875), // VMADOTUS_HP
2750 UINT64_C(2281705515), // VMADOTUS_SP
2751 UINT64_C(2348810283), // VMADOTU_HP
2752 UINT64_C(2281701419), // VMADOTU_SP
2753 UINT64_C(2415919147), // VMADOT_HP
2754 UINT64_C(2281713707), // VMADOT_SP
2755 UINT64_C(1644175447), // VMANDN_MM
2756 UINT64_C(1711284311), // VMAND_MM
2757 UINT64_C(402653271), // VMAXU_VV
2758 UINT64_C(402669655), // VMAXU_VX
2759 UINT64_C(469762135), // VMAX_VV
2760 UINT64_C(469778519), // VMAX_VX
2761 UINT64_C(1543516247), // VMERGE_VIM
2762 UINT64_C(1543503959), // VMERGE_VVM
2763 UINT64_C(1543520343), // VMERGE_VXM
2764 UINT64_C(1610633303), // VMFEQ_VF
2765 UINT64_C(1610616919), // VMFEQ_VV
2766 UINT64_C(2080395351), // VMFGE_VF
2767 UINT64_C(1946177623), // VMFGT_VF
2768 UINT64_C(1677742167), // VMFLE_VF
2769 UINT64_C(1677725783), // VMFLE_VV
2770 UINT64_C(1811959895), // VMFLT_VF
2771 UINT64_C(1811943511), // VMFLT_VV
2772 UINT64_C(1879068759), // VMFNE_VF
2773 UINT64_C(1879052375), // VMFNE_VV
2774 UINT64_C(268435543), // VMINU_VV
2775 UINT64_C(268451927), // VMINU_VX
2776 UINT64_C(335544407), // VMIN_VV
2777 UINT64_C(335560791), // VMIN_VX
2778 UINT64_C(3791650903), // VMMACC_VV
2779 UINT64_C(1979719767), // VMNAND_MM
2780 UINT64_C(2046828631), // VMNOR_MM
2781 UINT64_C(1912610903), // VMORN_MM
2782 UINT64_C(1778393175), // VMOR_MM
2783 UINT64_C(1308622935), // VMSBC_VV
2784 UINT64_C(1275068503), // VMSBC_VVM
2785 UINT64_C(1308639319), // VMSBC_VX
2786 UINT64_C(1275084887), // VMSBC_VXM
2787 UINT64_C(1342218327), // VMSBF_M
2788 UINT64_C(1610625111), // VMSEQ_VI
2789 UINT64_C(1610612823), // VMSEQ_VV
2790 UINT64_C(1610629207), // VMSEQ_VX
2791 UINT64_C(2013278295), // VMSGTU_VI
2792 UINT64_C(2013282391), // VMSGTU_VX
2793 UINT64_C(2080387159), // VMSGT_VI
2794 UINT64_C(2080391255), // VMSGT_VX
2795 UINT64_C(1342283863), // VMSIF_M
2796 UINT64_C(1879060567), // VMSLEU_VI
2797 UINT64_C(1879048279), // VMSLEU_VV
2798 UINT64_C(1879064663), // VMSLEU_VX
2799 UINT64_C(1946169431), // VMSLE_VI
2800 UINT64_C(1946157143), // VMSLE_VV
2801 UINT64_C(1946173527), // VMSLE_VX
2802 UINT64_C(1744830551), // VMSLTU_VV
2803 UINT64_C(1744846935), // VMSLTU_VX
2804 UINT64_C(1811939415), // VMSLT_VV
2805 UINT64_C(1811955799), // VMSLT_VX
2806 UINT64_C(1677733975), // VMSNE_VI
2807 UINT64_C(1677721687), // VMSNE_VV
2808 UINT64_C(1677738071), // VMSNE_VX
2809 UINT64_C(1342251095), // VMSOF_M
2810 UINT64_C(268464135), // VMTL_V
2811 UINT64_C(268464167), // VMTS_V
2812 UINT64_C(335572999), // VMTTL_V
2813 UINT64_C(335573031), // VMTTS_V
2814 UINT64_C(2550145111), // VMULHSU_VV
2815 UINT64_C(2550161495), // VMULHSU_VX
2816 UINT64_C(2415927383), // VMULHU_VV
2817 UINT64_C(2415943767), // VMULHU_VX
2818 UINT64_C(2617253975), // VMULH_VV
2819 UINT64_C(2617270359), // VMULH_VX
2820 UINT64_C(2483036247), // VMUL_VV
2821 UINT64_C(2483052631), // VMUL_VX
2822 UINT64_C(2650812503), // VMV1R_V
2823 UINT64_C(2650845271), // VMV2R_V
2824 UINT64_C(2650910807), // VMV4R_V
2825 UINT64_C(2651041879), // VMV8R_V
2826 UINT64_C(1107320919), // VMV_S_X
2827 UINT64_C(1577070679), // VMV_V_I
2828 UINT64_C(1577058391), // VMV_V_V
2829 UINT64_C(1577074775), // VMV_V_X
2830 UINT64_C(1107304535), // VMV_X_S
2831 UINT64_C(2113937495), // VMXNOR_MM
2832 UINT64_C(1845502039), // VMXOR_MM
2833 UINT64_C(3087020119), // VNCLIPU_WI
2834 UINT64_C(3087007831), // VNCLIPU_WV
2835 UINT64_C(3087024215), // VNCLIPU_WX
2836 UINT64_C(3154128983), // VNCLIP_WI
2837 UINT64_C(3154116695), // VNCLIP_WV
2838 UINT64_C(3154133079), // VNCLIP_WX
2839 UINT64_C(3154124887), // VNMSAC_VV
2840 UINT64_C(3154141271), // VNMSAC_VX
2841 UINT64_C(2885689431), // VNMSUB_VV
2842 UINT64_C(2885705815), // VNMSUB_VX
2843 UINT64_C(1107296299), // VNPACK4_VV
2844 UINT64_C(1644167211), // VNPACK_VV
2845 UINT64_C(1107312683), // VNSPACK4_VV
2846 UINT64_C(1644183595), // VNSPACK_VV
2847 UINT64_C(3019911255), // VNSRA_WI
2848 UINT64_C(3019898967), // VNSRA_WV
2849 UINT64_C(3019915351), // VNSRA_WX
2850 UINT64_C(2952802391), // VNSRL_WI
2851 UINT64_C(2952790103), // VNSRL_WV
2852 UINT64_C(2952806487), // VNSRL_WX
2853 UINT64_C(671101015), // VOR_VI
2854 UINT64_C(671088727), // VOR_VV
2855 UINT64_C(671105111), // VOR_VX
2856 UINT64_C(1711276075), // VPACK_VV
2857 UINT64_C(1006633047), // VPAIRE_VV
2858 UINT64_C(1006641239), // VPAIRO_VV
2859 UINT64_C(3925868631), // VQMMACC_VV
2860 UINT64_C(3154116727), // VQWBDOTAS_VV
2861 UINT64_C(3087007863), // VQWBDOTAU_VV
2862 UINT64_C(2617245815), // VQWDOTAS_VV
2863 UINT64_C(2550136951), // VQWDOTAU_VV
2864 UINT64_C(67117143), // VREDAND_VS
2865 UINT64_C(402661463), // VREDMAXU_VS
2866 UINT64_C(469770327), // VREDMAX_VS
2867 UINT64_C(268443735), // VREDMINU_VS
2868 UINT64_C(335552599), // VREDMIN_VS
2869 UINT64_C(134226007), // VREDOR_VS
2870 UINT64_C(8279), // VREDSUM_VS
2871 UINT64_C(201334871), // VREDXOR_VS
2872 UINT64_C(2281709655), // VREMU_VV
2873 UINT64_C(2281726039), // VREMU_VX
2874 UINT64_C(2348818519), // VREM_VV
2875 UINT64_C(2348834903), // VREM_VX
2876 UINT64_C(1208262743), // VREV8_V
2877 UINT64_C(939524183), // VRGATHEREI16_VV
2878 UINT64_C(805318743), // VRGATHER_VI
2879 UINT64_C(805306455), // VRGATHER_VV
2880 UINT64_C(805322839), // VRGATHER_VX
2881 UINT64_C(1409286231), // VROL_VV
2882 UINT64_C(1409302615), // VROL_VX
2883 UINT64_C(1342189655), // VROR_VI
2884 UINT64_C(1342177367), // VROR_VV
2885 UINT64_C(1342193751), // VROR_VX
2886 UINT64_C(201338967), // VRSUB_VI
2887 UINT64_C(201343063), // VRSUB_VX
2888 UINT64_C(41943079), // VS1R_V
2889 UINT64_C(578813991), // VS2R_V
2890 UINT64_C(1652555815), // VS4R_V
2891 UINT64_C(3800039463), // VS8R_V
2892 UINT64_C(2147496023), // VSADDU_VI
2893 UINT64_C(2147483735), // VSADDU_VV
2894 UINT64_C(2147500119), // VSADDU_VX
2895 UINT64_C(2214604887), // VSADD_VI
2896 UINT64_C(2214592599), // VSADD_VV
2897 UINT64_C(2214608983), // VSADD_VX
2898 UINT64_C(1207959639), // VSBC_VVM
2899 UINT64_C(1207976023), // VSBC_VXM
2900 UINT64_C(20519), // VSE16_V
2901 UINT64_C(24615), // VSE32_V
2902 UINT64_C(28711), // VSE64_V
2903 UINT64_C(39), // VSE8_V
2904 UINT64_C(3221254231), // VSETIVLI
2905 UINT64_C(2147512407), // VSETVL
2906 UINT64_C(28759), // VSETVLI
2907 UINT64_C(1208197207), // VSEXT_VF2
2908 UINT64_C(1208131671), // VSEXT_VF4
2909 UINT64_C(1208066135), // VSEXT_VF8
2910 UINT64_C(3120570487), // VSHA2CH_VV
2911 UINT64_C(3187679351), // VSHA2CL_VV
2912 UINT64_C(3053461623), // VSHA2MS_VV
2913 UINT64_C(1006657623), // VSLIDE1DOWN_VX
2914 UINT64_C(939548759), // VSLIDE1UP_VX
2915 UINT64_C(1006645335), // VSLIDEDOWN_VI
2916 UINT64_C(1006649431), // VSLIDEDOWN_VX
2917 UINT64_C(939536471), // VSLIDEUP_VI
2918 UINT64_C(939540567), // VSLIDEUP_VX
2919 UINT64_C(2483040343), // VSLL_VI
2920 UINT64_C(2483028055), // VSLL_VV
2921 UINT64_C(2483044439), // VSLL_VX
2922 UINT64_C(2919243895), // VSM3C_VI
2923 UINT64_C(2181046391), // VSM3ME_VV
2924 UINT64_C(2248155255), // VSM4K_VI
2925 UINT64_C(2785550455), // VSM4R_VS
2926 UINT64_C(2718441591), // VSM4R_VV
2927 UINT64_C(2617245783), // VSMUL_VV
2928 UINT64_C(2617262167), // VSMUL_VX
2929 UINT64_C(45088807), // VSM_V
2930 UINT64_C(201347111), // VSOXEI16_V
2931 UINT64_C(201351207), // VSOXEI32_V
2932 UINT64_C(201355303), // VSOXEI64_V
2933 UINT64_C(201326631), // VSOXEI8_V
2934 UINT64_C(738218023), // VSOXSEG2EI16_V
2935 UINT64_C(738222119), // VSOXSEG2EI32_V
2936 UINT64_C(738226215), // VSOXSEG2EI64_V
2937 UINT64_C(738197543), // VSOXSEG2EI8_V
2938 UINT64_C(1275088935), // VSOXSEG3EI16_V
2939 UINT64_C(1275093031), // VSOXSEG3EI32_V
2940 UINT64_C(1275097127), // VSOXSEG3EI64_V
2941 UINT64_C(1275068455), // VSOXSEG3EI8_V
2942 UINT64_C(1811959847), // VSOXSEG4EI16_V
2943 UINT64_C(1811963943), // VSOXSEG4EI32_V
2944 UINT64_C(1811968039), // VSOXSEG4EI64_V
2945 UINT64_C(1811939367), // VSOXSEG4EI8_V
2946 UINT64_C(2348830759), // VSOXSEG5EI16_V
2947 UINT64_C(2348834855), // VSOXSEG5EI32_V
2948 UINT64_C(2348838951), // VSOXSEG5EI64_V
2949 UINT64_C(2348810279), // VSOXSEG5EI8_V
2950 UINT64_C(2885701671), // VSOXSEG6EI16_V
2951 UINT64_C(2885705767), // VSOXSEG6EI32_V
2952 UINT64_C(2885709863), // VSOXSEG6EI64_V
2953 UINT64_C(2885681191), // VSOXSEG6EI8_V
2954 UINT64_C(3422572583), // VSOXSEG7EI16_V
2955 UINT64_C(3422576679), // VSOXSEG7EI32_V
2956 UINT64_C(3422580775), // VSOXSEG7EI64_V
2957 UINT64_C(3422552103), // VSOXSEG7EI8_V
2958 UINT64_C(3959443495), // VSOXSEG8EI16_V
2959 UINT64_C(3959447591), // VSOXSEG8EI32_V
2960 UINT64_C(3959451687), // VSOXSEG8EI64_V
2961 UINT64_C(3959423015), // VSOXSEG8EI8_V
2962 UINT64_C(2751475799), // VSRA_VI
2963 UINT64_C(2751463511), // VSRA_VV
2964 UINT64_C(2751479895), // VSRA_VX
2965 UINT64_C(2684366935), // VSRL_VI
2966 UINT64_C(2684354647), // VSRL_VV
2967 UINT64_C(2684371031), // VSRL_VX
2968 UINT64_C(134238247), // VSSE16_V
2969 UINT64_C(134242343), // VSSE32_V
2970 UINT64_C(134246439), // VSSE64_V
2971 UINT64_C(134217767), // VSSE8_V
2972 UINT64_C(536891431), // VSSEG2E16_V
2973 UINT64_C(536895527), // VSSEG2E32_V
2974 UINT64_C(536899623), // VSSEG2E64_V
2975 UINT64_C(536870951), // VSSEG2E8_V
2976 UINT64_C(1073762343), // VSSEG3E16_V
2977 UINT64_C(1073766439), // VSSEG3E32_V
2978 UINT64_C(1073770535), // VSSEG3E64_V
2979 UINT64_C(1073741863), // VSSEG3E8_V
2980 UINT64_C(1610633255), // VSSEG4E16_V
2981 UINT64_C(1610637351), // VSSEG4E32_V
2982 UINT64_C(1610641447), // VSSEG4E64_V
2983 UINT64_C(1610612775), // VSSEG4E8_V
2984 UINT64_C(2147504167), // VSSEG5E16_V
2985 UINT64_C(2147508263), // VSSEG5E32_V
2986 UINT64_C(2147512359), // VSSEG5E64_V
2987 UINT64_C(2147483687), // VSSEG5E8_V
2988 UINT64_C(2684375079), // VSSEG6E16_V
2989 UINT64_C(2684379175), // VSSEG6E32_V
2990 UINT64_C(2684383271), // VSSEG6E64_V
2991 UINT64_C(2684354599), // VSSEG6E8_V
2992 UINT64_C(3221245991), // VSSEG7E16_V
2993 UINT64_C(3221250087), // VSSEG7E32_V
2994 UINT64_C(3221254183), // VSSEG7E64_V
2995 UINT64_C(3221225511), // VSSEG7E8_V
2996 UINT64_C(3758116903), // VSSEG8E16_V
2997 UINT64_C(3758120999), // VSSEG8E32_V
2998 UINT64_C(3758125095), // VSSEG8E64_V
2999 UINT64_C(3758096423), // VSSEG8E8_V
3000 UINT64_C(2885693527), // VSSRA_VI
3001 UINT64_C(2885681239), // VSSRA_VV
3002 UINT64_C(2885697623), // VSSRA_VX
3003 UINT64_C(2818584663), // VSSRL_VI
3004 UINT64_C(2818572375), // VSSRL_VV
3005 UINT64_C(2818588759), // VSSRL_VX
3006 UINT64_C(671109159), // VSSSEG2E16_V
3007 UINT64_C(671113255), // VSSSEG2E32_V
3008 UINT64_C(671117351), // VSSSEG2E64_V
3009 UINT64_C(671088679), // VSSSEG2E8_V
3010 UINT64_C(1207980071), // VSSSEG3E16_V
3011 UINT64_C(1207984167), // VSSSEG3E32_V
3012 UINT64_C(1207988263), // VSSSEG3E64_V
3013 UINT64_C(1207959591), // VSSSEG3E8_V
3014 UINT64_C(1744850983), // VSSSEG4E16_V
3015 UINT64_C(1744855079), // VSSSEG4E32_V
3016 UINT64_C(1744859175), // VSSSEG4E64_V
3017 UINT64_C(1744830503), // VSSSEG4E8_V
3018 UINT64_C(2281721895), // VSSSEG5E16_V
3019 UINT64_C(2281725991), // VSSSEG5E32_V
3020 UINT64_C(2281730087), // VSSSEG5E64_V
3021 UINT64_C(2281701415), // VSSSEG5E8_V
3022 UINT64_C(2818592807), // VSSSEG6E16_V
3023 UINT64_C(2818596903), // VSSSEG6E32_V
3024 UINT64_C(2818600999), // VSSSEG6E64_V
3025 UINT64_C(2818572327), // VSSSEG6E8_V
3026 UINT64_C(3355463719), // VSSSEG7E16_V
3027 UINT64_C(3355467815), // VSSSEG7E32_V
3028 UINT64_C(3355471911), // VSSSEG7E64_V
3029 UINT64_C(3355443239), // VSSSEG7E8_V
3030 UINT64_C(3892334631), // VSSSEG8E16_V
3031 UINT64_C(3892338727), // VSSSEG8E32_V
3032 UINT64_C(3892342823), // VSSSEG8E64_V
3033 UINT64_C(3892314151), // VSSSEG8E8_V
3034 UINT64_C(2281701463), // VSSUBU_VV
3035 UINT64_C(2281717847), // VSSUBU_VX
3036 UINT64_C(2348810327), // VSSUB_VV
3037 UINT64_C(2348826711), // VSSUB_VX
3038 UINT64_C(134217815), // VSUB_VV
3039 UINT64_C(134234199), // VSUB_VX
3040 UINT64_C(67129383), // VSUXEI16_V
3041 UINT64_C(67133479), // VSUXEI32_V
3042 UINT64_C(67137575), // VSUXEI64_V
3043 UINT64_C(67108903), // VSUXEI8_V
3044 UINT64_C(604000295), // VSUXSEG2EI16_V
3045 UINT64_C(604004391), // VSUXSEG2EI32_V
3046 UINT64_C(604008487), // VSUXSEG2EI64_V
3047 UINT64_C(603979815), // VSUXSEG2EI8_V
3048 UINT64_C(1140871207), // VSUXSEG3EI16_V
3049 UINT64_C(1140875303), // VSUXSEG3EI32_V
3050 UINT64_C(1140879399), // VSUXSEG3EI64_V
3051 UINT64_C(1140850727), // VSUXSEG3EI8_V
3052 UINT64_C(1677742119), // VSUXSEG4EI16_V
3053 UINT64_C(1677746215), // VSUXSEG4EI32_V
3054 UINT64_C(1677750311), // VSUXSEG4EI64_V
3055 UINT64_C(1677721639), // VSUXSEG4EI8_V
3056 UINT64_C(2214613031), // VSUXSEG5EI16_V
3057 UINT64_C(2214617127), // VSUXSEG5EI32_V
3058 UINT64_C(2214621223), // VSUXSEG5EI64_V
3059 UINT64_C(2214592551), // VSUXSEG5EI8_V
3060 UINT64_C(2751483943), // VSUXSEG6EI16_V
3061 UINT64_C(2751488039), // VSUXSEG6EI32_V
3062 UINT64_C(2751492135), // VSUXSEG6EI64_V
3063 UINT64_C(2751463463), // VSUXSEG6EI8_V
3064 UINT64_C(3288354855), // VSUXSEG7EI16_V
3065 UINT64_C(3288358951), // VSUXSEG7EI32_V
3066 UINT64_C(3288363047), // VSUXSEG7EI64_V
3067 UINT64_C(3288334375), // VSUXSEG7EI8_V
3068 UINT64_C(3825225767), // VSUXSEG8EI16_V
3069 UINT64_C(3825229863), // VSUXSEG8EI32_V
3070 UINT64_C(3825233959), // VSUXSEG8EI64_V
3071 UINT64_C(3825205287), // VSUXSEG8EI8_V
3072 UINT64_C(24699), // VT_MASKC
3073 UINT64_C(28795), // VT_MASKCN
3074 UINT64_C(1208328279), // VUNZIPE_V
3075 UINT64_C(1208459351), // VUNZIPO_V
3076 UINT64_C(1711292459), // VUPACK_VV
3077 UINT64_C(1476403287), // VWABDAU_VV
3078 UINT64_C(1409294423), // VWABDA_VV
3079 UINT64_C(3221233751), // VWADDU_VV
3080 UINT64_C(3221250135), // VWADDU_VX
3081 UINT64_C(3489669207), // VWADDU_WV
3082 UINT64_C(3489685591), // VWADDU_WX
3083 UINT64_C(3288342615), // VWADD_VV
3084 UINT64_C(3288358999), // VWADD_VX
3085 UINT64_C(3556778071), // VWADD_WV
3086 UINT64_C(3556794455), // VWADD_WX
3087 UINT64_C(4227866711), // VWMACCSU_VV
3088 UINT64_C(4227883095), // VWMACCSU_VX
3089 UINT64_C(4160774231), // VWMACCUS_VX
3090 UINT64_C(4026540119), // VWMACCU_VV
3091 UINT64_C(4026556503), // VWMACCU_VX
3092 UINT64_C(4093648983), // VWMACC_VV
3093 UINT64_C(4093665367), // VWMACC_VX
3094 UINT64_C(3858759767), // VWMMACC_VV
3095 UINT64_C(3892322391), // VWMULSU_VV
3096 UINT64_C(3892338775), // VWMULSU_VX
3097 UINT64_C(3758104663), // VWMULU_VV
3098 UINT64_C(3758121047), // VWMULU_VX
3099 UINT64_C(3959431255), // VWMUL_VV
3100 UINT64_C(3959447639), // VWMUL_VX
3101 UINT64_C(3221225559), // VWREDSUMU_VS
3102 UINT64_C(3288334423), // VWREDSUM_VS
3103 UINT64_C(3556782167), // VWSLL_VI
3104 UINT64_C(3556769879), // VWSLL_VV
3105 UINT64_C(3556786263), // VWSLL_VX
3106 UINT64_C(3355451479), // VWSUBU_VV
3107 UINT64_C(3355467863), // VWSUBU_VX
3108 UINT64_C(3623886935), // VWSUBU_WV
3109 UINT64_C(3623903319), // VWSUBU_WX
3110 UINT64_C(3422560343), // VWSUB_VV
3111 UINT64_C(3422576727), // VWSUB_VX
3112 UINT64_C(3690995799), // VWSUB_WV
3113 UINT64_C(3691012183), // VWSUB_WX
3114 UINT64_C(738209879), // VXOR_VI
3115 UINT64_C(738197591), // VXOR_VV
3116 UINT64_C(738213975), // VXOR_VX
3117 UINT64_C(1208164439), // VZEXT_VF2
3118 UINT64_C(1208098903), // VZEXT_VF4
3119 UINT64_C(1208033367), // VZEXT_VF8
3120 UINT64_C(4160757847), // VZIP_VV
3121 UINT64_C(33562779), // WADD
3122 UINT64_C(167780507), // WADDA
3123 UINT64_C(436215963), // WADDAU
3124 UINT64_C(301998235), // WADDU
3125 UINT64_C(273678451), // WFI
3126 UINT64_C(704651419), // WMACC
3127 UINT64_C(1778393243), // WMACCSU
3128 UINT64_C(973086875), // WMACCU
3129 UINT64_C(570433691), // WMUL
3130 UINT64_C(1644175515), // WMULSU
3131 UINT64_C(838869147), // WMULU
3132 UINT64_C(13631603), // WRS_NTO
3133 UINT64_C(30408819), // WRS_STO
3134 UINT64_C(1308631067), // WSLA
3135 UINT64_C(1140858907), // WSLAI
3136 UINT64_C(234889243), // WSLL
3137 UINT64_C(67117083), // WSLLI
3138 UINT64_C(1107304603), // WSUB
3139 UINT64_C(1241522331), // WSUBA
3140 UINT64_C(1509957787), // WSUBAU
3141 UINT64_C(1375740059), // WSUBU
3142 UINT64_C(2046828571), // WZIP16P
3143 UINT64_C(2013274139), // WZIP8P
3144 UINT64_C(1073758259), // XNOR
3145 UINT64_C(16435), // XOR
3146 UINT64_C(16403), // XORI
3147 UINT64_C(671096883), // XPERM4
3148 UINT64_C(671105075), // XPERM8
3149 UINT64_C(100663419), // YADD
3150 UINT64_C(16507), // YADDI
3151 UINT64_C(369098875), // YADDRW
3152 UINT64_C(4026531963), // YAMASK
3153 UINT64_C(4093640827), // YBASER
3154 UINT64_C(503316603), // YBLD
3155 UINT64_C(1174405243), // YBNDSRW
3156 UINT64_C(905969787), // YBNDSW
3157 UINT64_C(3758116987), // YBNDSWI
3158 UINT64_C(201326715), // YEQ
3159 UINT64_C(4096786555), // YLENR
3160 UINT64_C(100663419), // YMV
3161 UINT64_C(637534331), // YPERMC
3162 UINT64_C(4094689403), // YPERMR
3163 UINT64_C(469762171), // YSS
3164 UINT64_C(234881147), // YSUNSEAL
3165 UINT64_C(4097835131), // YTAGR
3166 UINT64_C(4095737979), // YTOPR
3167 UINT64_C(4098883707), // YTYPER
3168 UINT64_C(134234163), // ZEXT_H_RV32
3169 UINT64_C(134234171), // ZEXT_H_RV64
3170 UINT64_C(4127203387), // ZIP16HP
3171 UINT64_C(4060094523), // ZIP16P
3172 UINT64_C(4093648955), // ZIP8HP
3173 UINT64_C(4026540091), // ZIP8P
3174 UINT64_C(149950483), // ZIP_RV32
3175 };
3176 constexpr unsigned FirstSupportedOpcode = 13721;
3177
3178 const unsigned opcode = MI.getOpcode();
3179 if (opcode < FirstSupportedOpcode)
3180 reportUnsupportedInst(Inst: MI);
3181 unsigned TableIndex = opcode - FirstSupportedOpcode;
3182 uint64_t Value = InstBits[TableIndex];
3183 uint64_t op = 0;
3184 (void)op; // suppress warning
3185 switch (opcode) {
3186 case RISCV::C_EBREAK:
3187 case RISCV::C_MOP_11:
3188 case RISCV::C_MOP_13:
3189 case RISCV::C_MOP_15:
3190 case RISCV::C_MOP_3:
3191 case RISCV::C_MOP_7:
3192 case RISCV::C_MOP_9:
3193 case RISCV::C_NOP:
3194 case RISCV::C_SSPOPCHK:
3195 case RISCV::C_SSPUSH:
3196 case RISCV::C_UNIMP:
3197 case RISCV::DRET:
3198 case RISCV::EBREAK:
3199 case RISCV::ECALL:
3200 case RISCV::FENCE_I:
3201 case RISCV::FENCE_TSO:
3202 case RISCV::MIPS_EHB:
3203 case RISCV::MIPS_IHB:
3204 case RISCV::MIPS_PAUSE:
3205 case RISCV::MNRET:
3206 case RISCV::MRET:
3207 case RISCV::QC_C_DI:
3208 case RISCV::QC_C_EI:
3209 case RISCV::QC_C_MIENTER:
3210 case RISCV::QC_C_MIENTER_NEST:
3211 case RISCV::QC_C_MILEAVERET:
3212 case RISCV::QC_C_MNRET:
3213 case RISCV::QC_C_MRET:
3214 case RISCV::SCTRCLR:
3215 case RISCV::SFENCE_INVAL_IR:
3216 case RISCV::SFENCE_W_INVAL:
3217 case RISCV::SF_CEASE:
3218 case RISCV::SF_VTDISCARD:
3219 case RISCV::SRET:
3220 case RISCV::TH_DCACHE_CALL:
3221 case RISCV::TH_DCACHE_CIALL:
3222 case RISCV::TH_DCACHE_IALL:
3223 case RISCV::TH_ICACHE_IALL:
3224 case RISCV::TH_ICACHE_IALLS:
3225 case RISCV::TH_L2CACHE_CALL:
3226 case RISCV::TH_L2CACHE_CIALL:
3227 case RISCV::TH_L2CACHE_IALL:
3228 case RISCV::TH_SYNC:
3229 case RISCV::TH_SYNC_I:
3230 case RISCV::TH_SYNC_IS:
3231 case RISCV::TH_SYNC_S:
3232 case RISCV::UNIMP:
3233 case RISCV::WFI:
3234 case RISCV::WRS_NTO:
3235 case RISCV::WRS_STO: {
3236 break;
3237 }
3238 case RISCV::AIF_FSWG_PS:
3239 case RISCV::AIF_FSWL_PS: {
3240 // op: fs3
3241 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3242 Value |= (op & 0x1f) << 7;
3243 // op: rs1
3244 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3245 Value |= (op & 0x1f) << 15;
3246 break;
3247 }
3248 case RISCV::C_NOP_HINT: {
3249 // op: imm
3250 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3251 Value |= (op & 0x20) << 7;
3252 Value |= (op & 0x1f) << 2;
3253 break;
3254 }
3255 case RISCV::C_LI:
3256 case RISCV::C_LUI: {
3257 // op: imm
3258 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3259 Value |= (op & 0x20) << 7;
3260 Value |= (op & 0x1f) << 2;
3261 // op: rd
3262 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3263 Value |= (op & 0x1f) << 7;
3264 break;
3265 }
3266 case RISCV::AIF_FSLLI_PI:
3267 case RISCV::AIF_FSRAI_PI:
3268 case RISCV::AIF_FSRLI_PI: {
3269 // op: imm
3270 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3271 Value |= (op & 0x1f) << 20;
3272 // op: rs1
3273 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3274 Value |= (op & 0x1f) << 15;
3275 // op: rd
3276 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3277 Value |= (op & 0x1f) << 7;
3278 break;
3279 }
3280 case RISCV::C_FLDSP:
3281 case RISCV::C_LDSP:
3282 case RISCV::C_LDSP_RV32: {
3283 // op: imm
3284 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3285 Value |= (op & 0x20) << 7;
3286 Value |= (op & 0x18) << 2;
3287 Value |= (op & 0x1c0) >> 4;
3288 // op: rd
3289 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3290 Value |= (op & 0x1f) << 7;
3291 break;
3292 }
3293 case RISCV::C_FLWSP:
3294 case RISCV::C_LWSP:
3295 case RISCV::C_LWSP_INX: {
3296 // op: imm
3297 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3298 Value |= (op & 0x20) << 7;
3299 Value |= (op & 0x1c) << 2;
3300 Value |= (op & 0xc0) >> 4;
3301 // op: rd
3302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3303 Value |= (op & 0x1f) << 7;
3304 break;
3305 }
3306 case RISCV::C_ADDI:
3307 case RISCV::C_ADDIW: {
3308 // op: imm
3309 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3310 Value |= (op & 0x20) << 7;
3311 Value |= (op & 0x1f) << 2;
3312 // op: rd
3313 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3314 Value |= (op & 0x1f) << 7;
3315 break;
3316 }
3317 case RISCV::C_ANDI: {
3318 // op: imm
3319 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3320 Value |= (op & 0x20) << 7;
3321 Value |= (op & 0x1f) << 2;
3322 // op: rs1
3323 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3324 Value |= (op & 0x7) << 7;
3325 break;
3326 }
3327 case RISCV::C_ADDI16SP: {
3328 // op: imm
3329 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3330 Value |= (op & 0x200) << 3;
3331 Value |= (op & 0x10) << 2;
3332 Value |= (op & 0x40) >> 1;
3333 Value |= (op & 0x180) >> 4;
3334 Value |= (op & 0x20) >> 3;
3335 break;
3336 }
3337 case RISCV::C_ADDI4SPN: {
3338 // op: imm
3339 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3340 Value |= (op & 0x30) << 7;
3341 Value |= (op & 0x3c0) << 1;
3342 Value |= (op & 0x4) << 4;
3343 Value |= (op & 0x8) << 2;
3344 // op: rd
3345 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3346 Value |= (op & 0x7) << 2;
3347 break;
3348 }
3349 case RISCV::C_FSDSP:
3350 case RISCV::C_SDSP:
3351 case RISCV::C_SDSP_RV32: {
3352 // op: imm
3353 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3354 Value |= (op & 0x38) << 7;
3355 Value |= (op & 0x1c0) << 1;
3356 // op: rs2
3357 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3358 Value |= (op & 0x1f) << 2;
3359 break;
3360 }
3361 case RISCV::C_FSWSP:
3362 case RISCV::C_SWSP:
3363 case RISCV::C_SWSP_INX: {
3364 // op: imm
3365 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3366 Value |= (op & 0x3c) << 7;
3367 Value |= (op & 0xc0) << 1;
3368 // op: rs2
3369 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3370 Value |= (op & 0x1f) << 2;
3371 break;
3372 }
3373 case RISCV::AIF_FADDI_PI:
3374 case RISCV::AIF_FANDI_PI: {
3375 // op: imm
3376 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3377 Value |= (op & 0x3e0) << 22;
3378 Value |= (op & 0x1f) << 20;
3379 // op: rs1
3380 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3381 Value |= (op & 0x1f) << 15;
3382 // op: rd
3383 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3384 Value |= (op & 0x1f) << 7;
3385 break;
3386 }
3387 case RISCV::AIF_MOV_M_X: {
3388 // op: imm
3389 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3390 Value |= (op & 0xf8) << 17;
3391 Value |= (op & 0x7) << 12;
3392 // op: rs1
3393 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3394 Value |= (op & 0x1f) << 15;
3395 // op: rd
3396 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3397 Value |= (op & 0x7) << 7;
3398 break;
3399 }
3400 case RISCV::AIF_MASKPOPC_ET_RAST: {
3401 // op: imm
3402 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3403 Value |= (op & 0xc) << 21;
3404 Value |= (op & 0x3) << 18;
3405 // op: rs2
3406 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3407 Value |= (op & 0x7) << 20;
3408 // op: rs1
3409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3410 Value |= (op & 0x7) << 15;
3411 // op: rd
3412 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3413 Value |= (op & 0x1f) << 7;
3414 break;
3415 }
3416 case RISCV::C_BEQZ:
3417 case RISCV::C_BNEZ: {
3418 // op: imm
3419 op = getImmOpValueAsrN<1>(MI, OpNo: 1, Fixups, STI);
3420 Value |= (op & 0x80) << 5;
3421 Value |= (op & 0xc) << 8;
3422 Value |= (op & 0x60);
3423 Value |= (op & 0x3) << 3;
3424 Value |= (op & 0x10) >> 2;
3425 // op: rs1
3426 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3427 Value |= (op & 0x7) << 7;
3428 break;
3429 }
3430 case RISCV::C_SLLI: {
3431 // op: imm
3432 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3433 Value |= (op & 0x20) << 7;
3434 Value |= (op & 0x1f) << 2;
3435 // op: rd
3436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3437 Value |= (op & 0x1f) << 7;
3438 break;
3439 }
3440 case RISCV::C_SRAI:
3441 case RISCV::C_SRLI: {
3442 // op: imm
3443 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3444 Value |= (op & 0x20) << 7;
3445 Value |= (op & 0x1f) << 2;
3446 // op: rs1
3447 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3448 Value |= (op & 0x7) << 7;
3449 break;
3450 }
3451 case RISCV::QC_CLRINTI:
3452 case RISCV::QC_SETINTI: {
3453 // op: imm10
3454 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3455 Value |= (op & 0x3ff) << 15;
3456 break;
3457 }
3458 case RISCV::NDS_BEQC:
3459 case RISCV::NDS_BNEC: {
3460 // op: imm10
3461 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3462 Value |= (op & 0x200) << 22;
3463 Value |= (op & 0x1f0) << 21;
3464 Value |= (op & 0xf) << 8;
3465 // op: rs1
3466 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3467 Value |= (op & 0x1f) << 15;
3468 // op: cimm
3469 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3470 Value |= (op & 0x40) << 24;
3471 Value |= (op & 0x1f) << 20;
3472 Value |= (op & 0x20) << 2;
3473 break;
3474 }
3475 case RISCV::NDS_BBC:
3476 case RISCV::NDS_BBS: {
3477 // op: imm10
3478 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3479 Value |= (op & 0x200) << 22;
3480 Value |= (op & 0x1f0) << 21;
3481 Value |= (op & 0xf) << 8;
3482 // op: rs1
3483 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3484 Value |= (op & 0x1f) << 15;
3485 // op: cimm
3486 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3487 Value |= (op & 0x1f) << 20;
3488 Value |= (op & 0x20) << 2;
3489 break;
3490 }
3491 case RISCV::PREFETCH_I:
3492 case RISCV::PREFETCH_R:
3493 case RISCV::PREFETCH_W: {
3494 // op: imm12
3495 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3496 Value |= (op & 0xfe0) << 20;
3497 // op: rs1
3498 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3499 Value |= (op & 0x1f) << 15;
3500 break;
3501 }
3502 case RISCV::AIF_FSQ2:
3503 case RISCV::AIF_FSW_PS: {
3504 // op: imm12
3505 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3506 Value |= (op & 0xfe0) << 20;
3507 Value |= (op & 0x1f) << 7;
3508 // op: rs2
3509 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3510 Value |= (op & 0x1f) << 20;
3511 // op: rs1
3512 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3513 Value |= (op & 0x1f) << 15;
3514 break;
3515 }
3516 case RISCV::FSD:
3517 case RISCV::FSH:
3518 case RISCV::FSQ:
3519 case RISCV::FSW:
3520 case RISCV::SB:
3521 case RISCV::SD:
3522 case RISCV::SD_RV32:
3523 case RISCV::SH:
3524 case RISCV::SH_INX:
3525 case RISCV::SW:
3526 case RISCV::SW_INX: {
3527 // op: imm12
3528 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3529 Value |= (op & 0xfe0) << 20;
3530 Value |= (op & 0x1f) << 7;
3531 // op: rs2
3532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3533 Value |= (op & 0x1f) << 20;
3534 // op: rs1
3535 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3536 Value |= (op & 0x1f) << 15;
3537 break;
3538 }
3539 case RISCV::CV_SB_ri_inc:
3540 case RISCV::CV_SH_ri_inc:
3541 case RISCV::CV_SW_ri_inc: {
3542 // op: imm12
3543 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3544 Value |= (op & 0xfe0) << 20;
3545 Value |= (op & 0x1f) << 7;
3546 // op: rs2
3547 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3548 Value |= (op & 0x1f) << 20;
3549 // op: rs1
3550 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3551 Value |= (op & 0x1f) << 15;
3552 break;
3553 }
3554 case RISCV::BEQI:
3555 case RISCV::BNEI: {
3556 // op: imm12
3557 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3558 Value |= (op & 0x800) << 20;
3559 Value |= (op & 0x3f0) << 21;
3560 Value |= (op & 0xf) << 8;
3561 Value |= (op & 0x400) >> 3;
3562 // op: cimm
3563 op = getImmOpValueZibi(MI, OpNo: 1, Fixups, STI);
3564 Value |= (op & 0x1f) << 20;
3565 // op: rs1
3566 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3567 Value |= (op & 0x1f) << 15;
3568 break;
3569 }
3570 case RISCV::CV_BEQIMM:
3571 case RISCV::CV_BNEIMM: {
3572 // op: imm12
3573 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3574 Value |= (op & 0x800) << 20;
3575 Value |= (op & 0x3f0) << 21;
3576 Value |= (op & 0xf) << 8;
3577 Value |= (op & 0x400) >> 3;
3578 // op: rs1
3579 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3580 Value |= (op & 0x1f) << 15;
3581 // op: imm5
3582 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3583 Value |= (op & 0x1f) << 20;
3584 break;
3585 }
3586 case RISCV::BEQ:
3587 case RISCV::BGE:
3588 case RISCV::BGEU:
3589 case RISCV::BLT:
3590 case RISCV::BLTU:
3591 case RISCV::BNE:
3592 case RISCV::QC_BEQI:
3593 case RISCV::QC_BGEI:
3594 case RISCV::QC_BGEUI:
3595 case RISCV::QC_BLTI:
3596 case RISCV::QC_BLTUI:
3597 case RISCV::QC_BNEI: {
3598 // op: imm12
3599 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3600 Value |= (op & 0x800) << 20;
3601 Value |= (op & 0x3f0) << 21;
3602 Value |= (op & 0xf) << 8;
3603 Value |= (op & 0x400) >> 3;
3604 // op: rs2
3605 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3606 Value |= (op & 0x1f) << 20;
3607 // op: rs1
3608 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3609 Value |= (op & 0x1f) << 15;
3610 break;
3611 }
3612 case RISCV::NDS_SHGP: {
3613 // op: imm17
3614 op = getImmOpValueAsrN<1>(MI, OpNo: 1, Fixups, STI);
3615 Value |= (op & 0x10000) << 15;
3616 Value |= (op & 0x3f0) << 21;
3617 Value |= (op & 0x3800) << 6;
3618 Value |= (op & 0xc000) << 1;
3619 Value |= (op & 0xf) << 8;
3620 Value |= (op & 0x400) >> 3;
3621 // op: rs2
3622 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3623 Value |= (op & 0x1f) << 20;
3624 break;
3625 }
3626 case RISCV::NDS_LHGP:
3627 case RISCV::NDS_LHUGP: {
3628 // op: imm17
3629 op = getImmOpValueAsrN<1>(MI, OpNo: 1, Fixups, STI);
3630 Value |= (op & 0x10000) << 15;
3631 Value |= (op & 0x3ff) << 21;
3632 Value |= (op & 0x400) << 10;
3633 Value |= (op & 0x3800) << 6;
3634 Value |= (op & 0xc000) << 1;
3635 // op: rd
3636 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3637 Value |= (op & 0x1f) << 7;
3638 break;
3639 }
3640 case RISCV::NDS_SWGP: {
3641 // op: imm17
3642 op = getImmOpValueAsrN<2>(MI, OpNo: 1, Fixups, STI);
3643 Value |= (op & 0x10000) << 15;
3644 Value |= (op & 0x1f8) << 22;
3645 Value |= (op & 0x1c00) << 7;
3646 Value |= (op & 0x6000) << 2;
3647 Value |= (op & 0x7) << 9;
3648 Value |= (op & 0x8000) >> 7;
3649 Value |= (op & 0x200) >> 2;
3650 // op: rs2
3651 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3652 Value |= (op & 0x1f) << 20;
3653 break;
3654 }
3655 case RISCV::NDS_LWGP:
3656 case RISCV::NDS_LWUGP: {
3657 // op: imm17
3658 op = getImmOpValueAsrN<2>(MI, OpNo: 1, Fixups, STI);
3659 Value |= (op & 0x10000) << 15;
3660 Value |= (op & 0x1ff) << 22;
3661 Value |= (op & 0x8000) << 6;
3662 Value |= (op & 0x200) << 11;
3663 Value |= (op & 0x1c00) << 7;
3664 Value |= (op & 0x6000) << 2;
3665 // op: rd
3666 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3667 Value |= (op & 0x1f) << 7;
3668 break;
3669 }
3670 case RISCV::NDS_SDGP: {
3671 // op: imm17
3672 op = getImmOpValueAsrN<3>(MI, OpNo: 1, Fixups, STI);
3673 Value |= (op & 0x10000) << 15;
3674 Value |= (op & 0xfc) << 23;
3675 Value |= (op & 0xe00) << 8;
3676 Value |= (op & 0x3000) << 3;
3677 Value |= (op & 0x3) << 10;
3678 Value |= (op & 0xc000) >> 6;
3679 Value |= (op & 0x100) >> 1;
3680 // op: rs2
3681 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3682 Value |= (op & 0x1f) << 20;
3683 break;
3684 }
3685 case RISCV::NDS_LDGP: {
3686 // op: imm17
3687 op = getImmOpValueAsrN<3>(MI, OpNo: 1, Fixups, STI);
3688 Value |= (op & 0x10000) << 15;
3689 Value |= (op & 0xff) << 23;
3690 Value |= (op & 0xc000) << 7;
3691 Value |= (op & 0x100) << 12;
3692 Value |= (op & 0xe00) << 8;
3693 Value |= (op & 0x3000) << 3;
3694 // op: rd
3695 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3696 Value |= (op & 0x1f) << 7;
3697 break;
3698 }
3699 case RISCV::NDS_SBGP: {
3700 // op: imm18
3701 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3702 Value |= (op & 0x20000) << 14;
3703 Value |= (op & 0x7e0) << 20;
3704 Value |= (op & 0x7000) << 5;
3705 Value |= (op & 0x18000);
3706 Value |= (op & 0x1) << 14;
3707 Value |= (op & 0x1e) << 7;
3708 Value |= (op & 0x800) >> 4;
3709 // op: rs2
3710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3711 Value |= (op & 0x1f) << 20;
3712 break;
3713 }
3714 case RISCV::NDS_ADDIGP:
3715 case RISCV::NDS_LBGP:
3716 case RISCV::NDS_LBUGP: {
3717 // op: imm18
3718 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3719 Value |= (op & 0x20000) << 14;
3720 Value |= (op & 0x7fe) << 20;
3721 Value |= (op & 0x800) << 9;
3722 Value |= (op & 0x7000) << 5;
3723 Value |= (op & 0x18000);
3724 Value |= (op & 0x1) << 14;
3725 // op: rd
3726 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3727 Value |= (op & 0x1f) << 7;
3728 break;
3729 }
3730 case RISCV::QC_LI: {
3731 // op: imm20
3732 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3733 Value |= (op & 0x80000) << 12;
3734 Value |= (op & 0x7fff) << 16;
3735 Value |= (op & 0x78000) >> 3;
3736 // op: rd
3737 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3738 Value |= (op & 0x1f) << 7;
3739 break;
3740 }
3741 case RISCV::AIF_FBCI_PI:
3742 case RISCV::AIF_FBCI_PS:
3743 case RISCV::AUIPC:
3744 case RISCV::LUI: {
3745 // op: imm20
3746 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3747 Value |= (op & 0xfffff) << 12;
3748 // op: rd
3749 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3750 Value |= (op & 0x1f) << 7;
3751 break;
3752 }
3753 case RISCV::JAL: {
3754 // op: imm20
3755 op = getImmOpValueAsrN<1>(MI, OpNo: 1, Fixups, STI);
3756 Value |= (op & 0x80000) << 12;
3757 Value |= (op & 0x3ff) << 21;
3758 Value |= (op & 0x400) << 10;
3759 Value |= (op & 0x7f800) << 1;
3760 // op: rd
3761 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3762 Value |= (op & 0x1f) << 7;
3763 break;
3764 }
3765 case RISCV::QC_E_J:
3766 case RISCV::QC_E_JAL: {
3767 // op: imm31
3768 op = getImmOpValueAsrN<1>(MI, OpNo: 0, Fixups, STI);
3769 Value |= (op & 0x7fff8000) << 17;
3770 Value |= (op & 0x800) << 20;
3771 Value |= (op & 0x3f0) << 21;
3772 Value |= (op & 0x7000) << 5;
3773 Value |= (op & 0xf) << 8;
3774 Value |= (op & 0x400) >> 3;
3775 break;
3776 }
3777 case RISCV::QC_SYNC:
3778 case RISCV::QC_SYNCR:
3779 case RISCV::QC_SYNCWF:
3780 case RISCV::QC_SYNCWL: {
3781 // op: imm5
3782 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3783 Value |= (op & 0x1f) << 20;
3784 break;
3785 }
3786 case RISCV::MIPS_SDP: {
3787 // op: imm7
3788 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3789 Value |= (op & 0x60) << 20;
3790 Value |= (op & 0x18) << 7;
3791 // op: rs3
3792 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3793 Value |= (op & 0x1f) << 27;
3794 // op: rs2
3795 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3796 Value |= (op & 0x1f) << 20;
3797 // op: rs1
3798 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3799 Value |= (op & 0x1f) << 15;
3800 break;
3801 }
3802 case RISCV::MIPS_SWP: {
3803 // op: imm7
3804 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3805 Value |= (op & 0x60) << 20;
3806 Value |= (op & 0x1c) << 7;
3807 // op: rs3
3808 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3809 Value |= (op & 0x1f) << 27;
3810 // op: rs2
3811 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3812 Value |= (op & 0x1f) << 20;
3813 // op: rs1
3814 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3815 Value |= (op & 0x1f) << 15;
3816 break;
3817 }
3818 case RISCV::MIPS_LDP: {
3819 // op: imm7
3820 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3821 Value |= (op & 0x78) << 20;
3822 // op: rs1
3823 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3824 Value |= (op & 0x1f) << 15;
3825 // op: rd1
3826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3827 Value |= (op & 0x1f) << 7;
3828 // op: rd2
3829 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3830 Value |= (op & 0x1f) << 27;
3831 break;
3832 }
3833 case RISCV::MIPS_LWP: {
3834 // op: imm7
3835 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3836 Value |= (op & 0x7c) << 20;
3837 // op: rs1
3838 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3839 Value |= (op & 0x1f) << 15;
3840 // op: rd1
3841 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3842 Value |= (op & 0x1f) << 7;
3843 // op: rd2
3844 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
3845 Value |= (op & 0x1f) << 27;
3846 break;
3847 }
3848 case RISCV::QC_PPUTCI: {
3849 // op: imm8
3850 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3851 Value |= (op & 0xff) << 20;
3852 break;
3853 }
3854 case RISCV::MIPS_PREF: {
3855 // op: imm9
3856 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3857 Value |= (op & 0x1ff) << 20;
3858 // op: rs1
3859 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3860 Value |= (op & 0x1f) << 15;
3861 // op: hint
3862 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3863 Value |= (op & 0x1f) << 7;
3864 break;
3865 }
3866 case RISCV::CM_JT:
3867 case RISCV::QC_CM_JT: {
3868 // op: index
3869 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3870 Value |= (op & 0x1f) << 2;
3871 break;
3872 }
3873 case RISCV::CM_JALT:
3874 case RISCV::QC_CM_JALT: {
3875 // op: index
3876 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
3877 Value |= (op & 0xff) << 2;
3878 break;
3879 }
3880 case RISCV::C_J:
3881 case RISCV::C_JAL: {
3882 // op: offset
3883 op = getImmOpValueAsrN<1>(MI, OpNo: 0, Fixups, STI);
3884 Value |= (op & 0x400) << 2;
3885 Value |= (op & 0x8) << 8;
3886 Value |= (op & 0x180) << 2;
3887 Value |= (op & 0x200) >> 1;
3888 Value |= (op & 0x20) << 2;
3889 Value |= (op & 0x40);
3890 Value |= (op & 0x7) << 3;
3891 Value |= (op & 0x10) >> 2;
3892 break;
3893 }
3894 case RISCV::InsnCJ: {
3895 // op: opcode
3896 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3897 Value |= (op & 0x3);
3898 // op: funct3
3899 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3900 Value |= (op & 0x7) << 13;
3901 // op: imm11
3902 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
3903 Value |= (op & 0x400) << 2;
3904 Value |= (op & 0x8) << 8;
3905 Value |= (op & 0x180) << 2;
3906 Value |= (op & 0x200) >> 1;
3907 Value |= (op & 0x20) << 2;
3908 Value |= (op & 0x40);
3909 Value |= (op & 0x7) << 3;
3910 Value |= (op & 0x10) >> 2;
3911 break;
3912 }
3913 case RISCV::InsnCS: {
3914 // op: opcode
3915 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3916 Value |= (op & 0x3);
3917 // op: funct3
3918 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3919 Value |= (op & 0x7) << 13;
3920 // op: imm5
3921 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
3922 Value |= (op & 0x1c) << 8;
3923 Value |= (op & 0x3) << 5;
3924 // op: rs2
3925 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3926 Value |= (op & 0x7) << 2;
3927 // op: rs1
3928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
3929 Value |= (op & 0x7) << 7;
3930 break;
3931 }
3932 case RISCV::InsnCSS: {
3933 // op: opcode
3934 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3935 Value |= (op & 0x3);
3936 // op: funct3
3937 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3938 Value |= (op & 0x7) << 13;
3939 // op: imm6
3940 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3941 Value |= (op & 0x3f) << 7;
3942 // op: rs2
3943 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3944 Value |= (op & 0x1f) << 2;
3945 break;
3946 }
3947 case RISCV::InsnCB: {
3948 // op: opcode
3949 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3950 Value |= (op & 0x3);
3951 // op: funct3
3952 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3953 Value |= (op & 0x7) << 13;
3954 // op: imm8
3955 op = getImmOpValueAsrN<1>(MI, OpNo: 3, Fixups, STI);
3956 Value |= (op & 0x80) << 5;
3957 Value |= (op & 0xc) << 8;
3958 Value |= (op & 0x60);
3959 Value |= (op & 0x3) << 3;
3960 Value |= (op & 0x10) >> 2;
3961 // op: rs1
3962 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
3963 Value |= (op & 0x7) << 7;
3964 break;
3965 }
3966 case RISCV::InsnQC_EJ: {
3967 // op: opcode
3968 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3969 Value |= (op & 0x7f);
3970 // op: func3
3971 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3972 Value |= (op & 0x7) << 12;
3973 // op: func2
3974 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3975 Value |= (op & 0x3) << 15;
3976 // op: func5
3977 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
3978 Value |= (op & 0x1f) << 20;
3979 // op: imm31
3980 op = getImmOpValueAsrN<1>(MI, OpNo: 4, Fixups, STI);
3981 Value |= (op & 0x7fff8000) << 17;
3982 Value |= (op & 0x800) << 20;
3983 Value |= (op & 0x3f0) << 21;
3984 Value |= (op & 0x7000) << 5;
3985 Value |= (op & 0xf) << 8;
3986 Value |= (op & 0x400) >> 3;
3987 break;
3988 }
3989 case RISCV::InsnQC_ES: {
3990 // op: opcode
3991 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
3992 Value |= (op & 0x7f);
3993 // op: func3
3994 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
3995 Value |= (op & 0x7) << 12;
3996 // op: func2
3997 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
3998 Value |= (op & 0x3) << 30;
3999 // op: rs1
4000 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4001 Value |= (op & 0x1f) << 15;
4002 // op: rs2
4003 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4004 Value |= (op & 0x1f) << 20;
4005 // op: imm26
4006 op = getImmOpValue(MI, OpNo: 5, Fixups, STI);
4007 Value |= (op & 0x3fffc00) << 22;
4008 Value |= (op & 0x3e0) << 20;
4009 Value |= (op & 0x1f) << 7;
4010 break;
4011 }
4012 case RISCV::InsnQC_EB: {
4013 // op: opcode
4014 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
4015 Value |= (op & 0x7f);
4016 // op: func3
4017 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4018 Value |= (op & 0x7) << 12;
4019 // op: func5
4020 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4021 Value |= (op & 0x1f) << 20;
4022 // op: rs1
4023 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4024 Value |= (op & 0x1f) << 15;
4025 // op: imm12
4026 op = getImmOpValueAsrN<1>(MI, OpNo: 5, Fixups, STI);
4027 Value |= (op & 0x800) << 20;
4028 Value |= (op & 0x3f0) << 21;
4029 Value |= (op & 0xf) << 8;
4030 Value |= (op & 0x400) >> 3;
4031 // op: imm16
4032 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4033 Value |= (op & 0xffff) << 32;
4034 break;
4035 }
4036 case RISCV::InsnS: {
4037 // op: opcode
4038 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
4039 Value |= (op & 0x7f);
4040 // op: funct3
4041 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4042 Value |= (op & 0x7) << 12;
4043 // op: imm12
4044 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4045 Value |= (op & 0xfe0) << 20;
4046 Value |= (op & 0x1f) << 7;
4047 // op: rs2
4048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4049 Value |= (op & 0x1f) << 20;
4050 // op: rs1
4051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4052 Value |= (op & 0x1f) << 15;
4053 break;
4054 }
4055 case RISCV::InsnB: {
4056 // op: opcode
4057 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
4058 Value |= (op & 0x7f);
4059 // op: funct3
4060 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4061 Value |= (op & 0x7) << 12;
4062 // op: imm12
4063 op = getImmOpValueAsrN<1>(MI, OpNo: 4, Fixups, STI);
4064 Value |= (op & 0x800) << 20;
4065 Value |= (op & 0x3f0) << 21;
4066 Value |= (op & 0xf) << 8;
4067 Value |= (op & 0x400) >> 3;
4068 // op: rs2
4069 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4070 Value |= (op & 0x1f) << 20;
4071 // op: rs1
4072 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4073 Value |= (op & 0x1f) << 15;
4074 break;
4075 }
4076 case RISCV::InsnCL: {
4077 // op: opcode
4078 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4079 Value |= (op & 0x3);
4080 // op: funct3
4081 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4082 Value |= (op & 0x7) << 13;
4083 // op: imm5
4084 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4085 Value |= (op & 0x1c) << 8;
4086 Value |= (op & 0x3) << 5;
4087 // op: rd
4088 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4089 Value |= (op & 0x7) << 2;
4090 // op: rs1
4091 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4092 Value |= (op & 0x7) << 7;
4093 break;
4094 }
4095 case RISCV::InsnCI: {
4096 // op: opcode
4097 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4098 Value |= (op & 0x3);
4099 // op: funct3
4100 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4101 Value |= (op & 0x7) << 13;
4102 // op: imm6
4103 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4104 Value |= (op & 0x20) << 7;
4105 Value |= (op & 0x1f) << 2;
4106 // op: rd
4107 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4108 Value |= (op & 0x1f) << 7;
4109 break;
4110 }
4111 case RISCV::InsnCIW: {
4112 // op: opcode
4113 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4114 Value |= (op & 0x3);
4115 // op: funct3
4116 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4117 Value |= (op & 0x7) << 13;
4118 // op: imm8
4119 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4120 Value |= (op & 0xff) << 5;
4121 // op: rd
4122 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4123 Value |= (op & 0x7) << 2;
4124 break;
4125 }
4126 case RISCV::InsnCR: {
4127 // op: opcode
4128 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4129 Value |= (op & 0x3);
4130 // op: funct4
4131 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4132 Value |= (op & 0xf) << 12;
4133 // op: rs2
4134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4135 Value |= (op & 0x1f) << 2;
4136 // op: rd
4137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4138 Value |= (op & 0x1f) << 7;
4139 break;
4140 }
4141 case RISCV::InsnCA: {
4142 // op: opcode
4143 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4144 Value |= (op & 0x3);
4145 // op: funct6
4146 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4147 Value |= (op & 0x3f) << 10;
4148 // op: funct2
4149 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4150 Value |= (op & 0x3) << 5;
4151 // op: rd
4152 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4153 Value |= (op & 0x7) << 7;
4154 // op: rs2
4155 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4156 Value |= (op & 0x7) << 2;
4157 break;
4158 }
4159 case RISCV::InsnQC_EAI: {
4160 // op: opcode
4161 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4162 Value |= (op & 0x7f);
4163 // op: func3
4164 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4165 Value |= (op & 0x7) << 12;
4166 // op: func1
4167 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4168 Value |= (op & 0x1) << 15;
4169 // op: rd
4170 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4171 Value |= (op & 0x1f) << 7;
4172 // op: imm32
4173 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4174 Value |= (op & 0xffffffff) << 16;
4175 break;
4176 }
4177 case RISCV::InsnQC_EI:
4178 case RISCV::InsnQC_EI_Mem: {
4179 // op: opcode
4180 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4181 Value |= (op & 0x7f);
4182 // op: func3
4183 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4184 Value |= (op & 0x7) << 12;
4185 // op: func2
4186 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4187 Value |= (op & 0x3) << 30;
4188 // op: rd
4189 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4190 Value |= (op & 0x1f) << 7;
4191 // op: rs1
4192 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4193 Value |= (op & 0x1f) << 15;
4194 // op: imm26
4195 op = getImmOpValue(MI, OpNo: 5, Fixups, STI);
4196 Value |= (op & 0x3fffc00) << 22;
4197 Value |= (op & 0x3ff) << 20;
4198 break;
4199 }
4200 case RISCV::InsnR4: {
4201 // op: opcode
4202 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4203 Value |= (op & 0x7f);
4204 // op: funct2
4205 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4206 Value |= (op & 0x3) << 25;
4207 // op: funct3
4208 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4209 Value |= (op & 0x7) << 12;
4210 // op: rs3
4211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
4212 Value |= (op & 0x1f) << 27;
4213 // op: rs2
4214 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
4215 Value |= (op & 0x1f) << 20;
4216 // op: rs1
4217 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4218 Value |= (op & 0x1f) << 15;
4219 // op: rd
4220 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4221 Value |= (op & 0x1f) << 7;
4222 break;
4223 }
4224 case RISCV::InsnI:
4225 case RISCV::InsnI_Mem: {
4226 // op: opcode
4227 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4228 Value |= (op & 0x7f);
4229 // op: funct3
4230 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4231 Value |= (op & 0x7) << 12;
4232 // op: imm12
4233 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4234 Value |= (op & 0xfff) << 20;
4235 // op: rs1
4236 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4237 Value |= (op & 0x1f) << 15;
4238 // op: rd
4239 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4240 Value |= (op & 0x1f) << 7;
4241 break;
4242 }
4243 case RISCV::InsnR: {
4244 // op: opcode
4245 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4246 Value |= (op & 0x7f);
4247 // op: funct7
4248 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4249 Value |= (op & 0x7f) << 25;
4250 // op: funct3
4251 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4252 Value |= (op & 0x7) << 12;
4253 // op: rs2
4254 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
4255 Value |= (op & 0x1f) << 20;
4256 // op: rs1
4257 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4258 Value |= (op & 0x1f) << 15;
4259 // op: rd
4260 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4261 Value |= (op & 0x1f) << 7;
4262 break;
4263 }
4264 case RISCV::InsnU: {
4265 // op: opcode
4266 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4267 Value |= (op & 0x7f);
4268 // op: imm20
4269 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4270 Value |= (op & 0xfffff) << 12;
4271 // op: rd
4272 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4273 Value |= (op & 0x1f) << 7;
4274 break;
4275 }
4276 case RISCV::InsnJ: {
4277 // op: opcode
4278 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4279 Value |= (op & 0x7f);
4280 // op: imm20
4281 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
4282 Value |= (op & 0xfffff) << 12;
4283 // op: rd
4284 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4285 Value |= (op & 0x1f) << 7;
4286 break;
4287 }
4288 case RISCV::FENCE: {
4289 // op: pred
4290 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4291 Value |= (op & 0xf) << 24;
4292 // op: succ
4293 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4294 Value |= (op & 0xf) << 20;
4295 break;
4296 }
4297 case RISCV::PLUI_DH: {
4298 // op: rd
4299 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4300 Value |= (op & 0x1e) << 7;
4301 // op: imm10
4302 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4303 Value |= (op & 0x1) << 24;
4304 Value |= (op & 0x3fe) << 14;
4305 break;
4306 }
4307 case RISCV::PLI_DH: {
4308 // op: rd
4309 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4310 Value |= (op & 0x1e) << 7;
4311 // op: imm10
4312 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4313 Value |= (op & 0x1ff) << 16;
4314 Value |= (op & 0x200) << 6;
4315 break;
4316 }
4317 case RISCV::PLI_DB: {
4318 // op: rd
4319 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4320 Value |= (op & 0x1e) << 7;
4321 // op: imm8
4322 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4323 Value |= (op & 0xff) << 16;
4324 break;
4325 }
4326 case RISCV::AIF_MOVA_X_M:
4327 case RISCV::QC_C_DIR:
4328 case RISCV::SSRDP: {
4329 // op: rd
4330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4331 Value |= (op & 0x1f) << 7;
4332 break;
4333 }
4334 case RISCV::QC_E_LI: {
4335 // op: rd
4336 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4337 Value |= (op & 0x1f) << 7;
4338 // op: imm
4339 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4340 Value |= (op & 0xffffffff) << 16;
4341 break;
4342 }
4343 case RISCV::FLI_D:
4344 case RISCV::FLI_H:
4345 case RISCV::FLI_Q:
4346 case RISCV::FLI_S: {
4347 // op: rd
4348 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4349 Value |= (op & 0x1f) << 7;
4350 // op: imm
4351 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4352 Value |= (op & 0x1f) << 15;
4353 break;
4354 }
4355 case RISCV::PLUI_H:
4356 case RISCV::PLUI_W: {
4357 // op: rd
4358 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4359 Value |= (op & 0x1f) << 7;
4360 // op: imm10
4361 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4362 Value |= (op & 0x1) << 24;
4363 Value |= (op & 0x3fe) << 14;
4364 break;
4365 }
4366 case RISCV::PLI_H:
4367 case RISCV::PLI_W: {
4368 // op: rd
4369 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4370 Value |= (op & 0x1f) << 7;
4371 // op: imm10
4372 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4373 Value |= (op & 0x1ff) << 16;
4374 Value |= (op & 0x200) << 6;
4375 break;
4376 }
4377 case RISCV::PLI_B: {
4378 // op: rd
4379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4380 Value |= (op & 0x1f) << 7;
4381 // op: imm8
4382 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4383 Value |= (op & 0xff) << 16;
4384 break;
4385 }
4386 case RISCV::AIF_FMVS_X_PS:
4387 case RISCV::AIF_FMVZ_X_PS: {
4388 // op: rd
4389 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4390 Value |= (op & 0x1f) << 7;
4391 // op: rs1
4392 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4393 Value |= (op & 0x1f) << 15;
4394 // op: idx
4395 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4396 Value |= (op & 0x7) << 20;
4397 break;
4398 }
4399 case RISCV::QC_E_ADDI:
4400 case RISCV::QC_E_ANDI:
4401 case RISCV::QC_E_LB:
4402 case RISCV::QC_E_LBU:
4403 case RISCV::QC_E_LH:
4404 case RISCV::QC_E_LHU:
4405 case RISCV::QC_E_LW:
4406 case RISCV::QC_E_ORI:
4407 case RISCV::QC_E_XORI: {
4408 // op: rd
4409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4410 Value |= (op & 0x1f) << 7;
4411 // op: rs1
4412 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4413 Value |= (op & 0x1f) << 15;
4414 // op: imm
4415 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4416 Value |= (op & 0x3fffc00) << 22;
4417 Value |= (op & 0x3ff) << 20;
4418 break;
4419 }
4420 case RISCV::AIF_FSWIZZ_PS: {
4421 // op: rd
4422 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4423 Value |= (op & 0x1f) << 7;
4424 // op: rs1
4425 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4426 Value |= (op & 0x1f) << 15;
4427 // op: imm
4428 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4429 Value |= (op & 0xf8) << 17;
4430 Value |= (op & 0x7) << 12;
4431 break;
4432 }
4433 case RISCV::NDS_BFOS:
4434 case RISCV::NDS_BFOZ: {
4435 // op: rd
4436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4437 Value |= (op & 0x1f) << 7;
4438 // op: rs1
4439 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4440 Value |= (op & 0x1f) << 15;
4441 // op: msb
4442 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4443 Value |= (op & 0x3f) << 26;
4444 // op: lsb
4445 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4446 Value |= (op & 0x3f) << 20;
4447 break;
4448 }
4449 case RISCV::AIF_FCVT_PS_PW:
4450 case RISCV::AIF_FCVT_PS_PWU:
4451 case RISCV::AIF_FCVT_PWU_PS:
4452 case RISCV::AIF_FCVT_PW_PS: {
4453 // op: rd
4454 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4455 Value |= (op & 0x1f) << 7;
4456 // op: rs1
4457 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4458 Value |= (op & 0x1f) << 15;
4459 // op: rm
4460 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4461 Value |= (op & 0x7) << 12;
4462 break;
4463 }
4464 case RISCV::AIF_FADD_PS:
4465 case RISCV::AIF_FDIV_PS:
4466 case RISCV::AIF_FMUL_PS:
4467 case RISCV::AIF_FSUB_PS: {
4468 // op: rd
4469 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4470 Value |= (op & 0x1f) << 7;
4471 // op: rs1
4472 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4473 Value |= (op & 0x1f) << 15;
4474 // op: rs2
4475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4476 Value |= (op & 0x1f) << 20;
4477 // op: rm
4478 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4479 Value |= (op & 0x7) << 12;
4480 break;
4481 }
4482 case RISCV::AIF_FCMOV_PS: {
4483 // op: rd
4484 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4485 Value |= (op & 0x1f) << 7;
4486 // op: rs1
4487 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4488 Value |= (op & 0x1f) << 15;
4489 // op: rs2
4490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4491 Value |= (op & 0x1f) << 20;
4492 // op: rs3
4493 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4494 Value |= (op & 0x1f) << 27;
4495 break;
4496 }
4497 case RISCV::AIF_FMADD_PS:
4498 case RISCV::AIF_FMSUB_PS:
4499 case RISCV::AIF_FNMADD_PS:
4500 case RISCV::AIF_FNMSUB_PS: {
4501 // op: rd
4502 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4503 Value |= (op & 0x1f) << 7;
4504 // op: rs1
4505 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4506 Value |= (op & 0x1f) << 15;
4507 // op: rs2
4508 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4509 Value |= (op & 0x1f) << 20;
4510 // op: rs3
4511 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4512 Value |= (op & 0x1f) << 27;
4513 // op: rm
4514 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
4515 Value |= (op & 0x7) << 12;
4516 break;
4517 }
4518 case RISCV::VSETIVLI: {
4519 // op: rd
4520 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4521 Value |= (op & 0x1f) << 7;
4522 // op: uimm
4523 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
4524 Value |= (op & 0x1f) << 15;
4525 // op: vtypei
4526 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4527 Value |= (op & 0x3ff) << 20;
4528 break;
4529 }
4530 case RISCV::VCPOP_M:
4531 case RISCV::VFIRST_M: {
4532 // op: rd
4533 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4534 Value |= (op & 0x1f) << 7;
4535 // op: vm
4536 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
4537 Value |= (op & 0x1) << 25;
4538 // op: vs2
4539 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4540 Value |= (op & 0x1f) << 20;
4541 break;
4542 }
4543 case RISCV::VFMV_F_S:
4544 case RISCV::VMV_X_S: {
4545 // op: rd
4546 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4547 Value |= (op & 0x1f) << 7;
4548 // op: vs2
4549 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4550 Value |= (op & 0x1f) << 20;
4551 break;
4552 }
4553 case RISCV::QK_C_LBU: {
4554 // op: rd
4555 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4556 Value |= (op & 0x7) << 2;
4557 // op: rs1
4558 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4559 Value |= (op & 0x7) << 7;
4560 // op: imm
4561 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4562 Value |= (op & 0x1) << 12;
4563 Value |= (op & 0x18) << 7;
4564 Value |= (op & 0x6) << 4;
4565 break;
4566 }
4567 case RISCV::C_LBU: {
4568 // op: rd
4569 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4570 Value |= (op & 0x7) << 2;
4571 // op: rs1
4572 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4573 Value |= (op & 0x7) << 7;
4574 // op: imm
4575 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4576 Value |= (op & 0x1) << 6;
4577 Value |= (op & 0x2) << 4;
4578 break;
4579 }
4580 case RISCV::C_LH:
4581 case RISCV::C_LHU:
4582 case RISCV::C_LH_INX: {
4583 // op: rd
4584 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4585 Value |= (op & 0x7) << 2;
4586 // op: rs1
4587 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4588 Value |= (op & 0x7) << 7;
4589 // op: imm
4590 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4591 Value |= (op & 0x2) << 4;
4592 break;
4593 }
4594 case RISCV::C_FLW:
4595 case RISCV::C_LW:
4596 case RISCV::C_LW_INX: {
4597 // op: rd
4598 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4599 Value |= (op & 0x7) << 2;
4600 // op: rs1
4601 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4602 Value |= (op & 0x7) << 7;
4603 // op: imm
4604 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4605 Value |= (op & 0x38) << 7;
4606 Value |= (op & 0x4) << 4;
4607 Value |= (op & 0x40) >> 1;
4608 break;
4609 }
4610 case RISCV::QK_C_LHU: {
4611 // op: rd
4612 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4613 Value |= (op & 0x7) << 2;
4614 // op: rs1
4615 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4616 Value |= (op & 0x7) << 7;
4617 // op: imm
4618 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4619 Value |= (op & 0x38) << 7;
4620 Value |= (op & 0x6) << 4;
4621 break;
4622 }
4623 case RISCV::C_FLD:
4624 case RISCV::C_LD:
4625 case RISCV::C_LD_RV32: {
4626 // op: rd
4627 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4628 Value |= (op & 0x7) << 2;
4629 // op: rs1
4630 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4631 Value |= (op & 0x7) << 7;
4632 // op: imm
4633 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4634 Value |= (op & 0x38) << 7;
4635 Value |= (op & 0xc0) >> 1;
4636 break;
4637 }
4638 case RISCV::SF_VTZERO_T: {
4639 // op: rd
4640 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4641 Value |= (op & 0xf) << 8;
4642 break;
4643 }
4644 case RISCV::QC_E_ADDAI:
4645 case RISCV::QC_E_ANDAI:
4646 case RISCV::QC_E_ORAI:
4647 case RISCV::QC_E_XORAI: {
4648 // op: rd
4649 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4650 Value |= (op & 0x1f) << 7;
4651 // op: imm
4652 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4653 Value |= (op & 0xffffffff) << 16;
4654 break;
4655 }
4656 case RISCV::QC_INSBI: {
4657 // op: rd
4658 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4659 Value |= (op & 0x1f) << 7;
4660 // op: imm5
4661 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4662 Value |= (op & 0x1f) << 15;
4663 // op: shamt
4664 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
4665 Value |= (op & 0x1f) << 20;
4666 // op: width
4667 op = getImmOpValueMinus1(MI, OpNo: 3, Fixups, STI);
4668 Value |= (op & 0x1f) << 25;
4669 break;
4670 }
4671 case RISCV::QC_C_EXTU: {
4672 // op: rd
4673 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4674 Value |= (op & 0x1f) << 7;
4675 // op: width
4676 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
4677 Value |= (op & 0x1f) << 2;
4678 break;
4679 }
4680 case RISCV::QC_C_MVEQZ: {
4681 // op: rd
4682 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4683 Value |= (op & 0x7) << 2;
4684 // op: rs1
4685 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4686 Value |= (op & 0x7) << 7;
4687 break;
4688 }
4689 case RISCV::QC_C_MULIADD: {
4690 // op: rd
4691 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4692 Value |= (op & 0x7) << 2;
4693 // op: rs1
4694 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4695 Value |= (op & 0x7) << 7;
4696 // op: uimm
4697 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
4698 Value |= (op & 0xe) << 9;
4699 Value |= (op & 0x1) << 6;
4700 Value |= (op & 0x10) << 1;
4701 break;
4702 }
4703 case RISCV::C_NOT:
4704 case RISCV::C_SEXT_B:
4705 case RISCV::C_SEXT_H:
4706 case RISCV::C_ZEXT_B:
4707 case RISCV::C_ZEXT_H:
4708 case RISCV::C_ZEXT_W: {
4709 // op: rd
4710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4711 Value |= (op & 0x7) << 7;
4712 break;
4713 }
4714 case RISCV::QK_C_LHUSP:
4715 case RISCV::QK_C_SHSP: {
4716 // op: rd_rs2
4717 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4718 Value |= (op & 0x7) << 2;
4719 // op: imm
4720 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4721 Value |= (op & 0xe) << 7;
4722 Value |= (op & 0x10) << 3;
4723 break;
4724 }
4725 case RISCV::QK_C_LBUSP:
4726 case RISCV::QK_C_SBSP: {
4727 // op: rd_rs2
4728 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4729 Value |= (op & 0x7) << 2;
4730 // op: imm
4731 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4732 Value |= (op & 0xf) << 7;
4733 break;
4734 }
4735 case RISCV::CM_POP:
4736 case RISCV::CM_POPRET:
4737 case RISCV::CM_POPRETZ:
4738 case RISCV::CM_PUSH:
4739 case RISCV::QC_CM_POP:
4740 case RISCV::QC_CM_POPRET:
4741 case RISCV::QC_CM_POPRETZ:
4742 case RISCV::QC_CM_PUSH: {
4743 // op: rlist
4744 op = getRlistOpValue(MI, OpNo: 0, Fixups, STI);
4745 Value |= (op & 0xf) << 4;
4746 // op: stackadj
4747 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4748 Value |= (op & 0x30) >> 2;
4749 break;
4750 }
4751 case RISCV::QC_CM_PUSHFP: {
4752 // op: rlist
4753 op = getRlistS0OpValue(MI, OpNo: 0, Fixups, STI);
4754 Value |= (op & 0xf) << 4;
4755 // op: stackadj
4756 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4757 Value |= (op & 0x30) >> 2;
4758 break;
4759 }
4760 case RISCV::CSRRCI:
4761 case RISCV::CSRRSI:
4762 case RISCV::CSRRWI: {
4763 // op: rs1
4764 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4765 Value |= (op & 0x1f) << 15;
4766 // op: rd
4767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4768 Value |= (op & 0x1f) << 7;
4769 // op: imm12
4770 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4771 Value |= (op & 0xfff) << 20;
4772 break;
4773 }
4774 case RISCV::AIF_MOVA_M_X:
4775 case RISCV::CBO_CLEAN:
4776 case RISCV::CBO_FLUSH:
4777 case RISCV::CBO_INVAL:
4778 case RISCV::CBO_ZERO:
4779 case RISCV::SF_CDISCARD_D_L1:
4780 case RISCV::SF_CFLUSH_D_L1:
4781 case RISCV::SSPOPCHK:
4782 case RISCV::TH_DCACHE_CIPA:
4783 case RISCV::TH_DCACHE_CISW:
4784 case RISCV::TH_DCACHE_CIVA:
4785 case RISCV::TH_DCACHE_CPA:
4786 case RISCV::TH_DCACHE_CPAL1:
4787 case RISCV::TH_DCACHE_CSW:
4788 case RISCV::TH_DCACHE_CVA:
4789 case RISCV::TH_DCACHE_CVAL1:
4790 case RISCV::TH_DCACHE_IPA:
4791 case RISCV::TH_DCACHE_ISW:
4792 case RISCV::TH_DCACHE_IVA:
4793 case RISCV::TH_ICACHE_IPA:
4794 case RISCV::TH_ICACHE_IVA: {
4795 // op: rs1
4796 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4797 Value |= (op & 0x1f) << 15;
4798 break;
4799 }
4800 case RISCV::QC_E_BEQI:
4801 case RISCV::QC_E_BGEI:
4802 case RISCV::QC_E_BGEUI:
4803 case RISCV::QC_E_BLTI:
4804 case RISCV::QC_E_BLTUI:
4805 case RISCV::QC_E_BNEI: {
4806 // op: rs1
4807 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4808 Value |= (op & 0x1f) << 15;
4809 // op: imm16
4810 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4811 Value |= (op & 0xffff) << 32;
4812 // op: imm12
4813 op = getImmOpValueAsrN<1>(MI, OpNo: 2, Fixups, STI);
4814 Value |= (op & 0x800) << 20;
4815 Value |= (op & 0x3f0) << 21;
4816 Value |= (op & 0xf) << 8;
4817 Value |= (op & 0x400) >> 3;
4818 break;
4819 }
4820 case RISCV::C_JALR:
4821 case RISCV::C_JR:
4822 case RISCV::QC_C_CLRINT:
4823 case RISCV::QC_C_EIR:
4824 case RISCV::QC_C_SETINT: {
4825 // op: rs1
4826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4827 Value |= (op & 0x1f) << 7;
4828 break;
4829 }
4830 case RISCV::C_MV: {
4831 // op: rs1
4832 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4833 Value |= (op & 0x1f) << 7;
4834 // op: rs2
4835 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4836 Value |= (op & 0x1f) << 2;
4837 break;
4838 }
4839 case RISCV::PSABS_DB:
4840 case RISCV::PSABS_DH:
4841 case RISCV::PSEXT_DH_B:
4842 case RISCV::PSEXT_DW_B:
4843 case RISCV::PSEXT_DW_H: {
4844 // op: rs1
4845 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4846 Value |= (op & 0x1e) << 15;
4847 // op: rd
4848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4849 Value |= (op & 0x1e) << 7;
4850 break;
4851 }
4852 case RISCV::ADDD:
4853 case RISCV::PAADDU_DB:
4854 case RISCV::PAADDU_DH:
4855 case RISCV::PAADDU_DW:
4856 case RISCV::PAADD_DB:
4857 case RISCV::PAADD_DH:
4858 case RISCV::PAADD_DW:
4859 case RISCV::PAAS_DHX:
4860 case RISCV::PABDU_DB:
4861 case RISCV::PABDU_DH:
4862 case RISCV::PABD_DB:
4863 case RISCV::PABD_DH:
4864 case RISCV::PADD_DB:
4865 case RISCV::PADD_DH:
4866 case RISCV::PADD_DW:
4867 case RISCV::PASA_DHX:
4868 case RISCV::PASUBU_DB:
4869 case RISCV::PASUBU_DH:
4870 case RISCV::PASUBU_DW:
4871 case RISCV::PASUB_DB:
4872 case RISCV::PASUB_DH:
4873 case RISCV::PASUB_DW:
4874 case RISCV::PAS_DHX:
4875 case RISCV::PMAXU_DB:
4876 case RISCV::PMAXU_DH:
4877 case RISCV::PMAXU_DW:
4878 case RISCV::PMAX_DB:
4879 case RISCV::PMAX_DH:
4880 case RISCV::PMAX_DW:
4881 case RISCV::PMINU_DB:
4882 case RISCV::PMINU_DH:
4883 case RISCV::PMINU_DW:
4884 case RISCV::PMIN_DB:
4885 case RISCV::PMIN_DH:
4886 case RISCV::PMIN_DW:
4887 case RISCV::PMSEQ_DB:
4888 case RISCV::PMSEQ_DH:
4889 case RISCV::PMSEQ_DW:
4890 case RISCV::PMSLTU_DB:
4891 case RISCV::PMSLTU_DH:
4892 case RISCV::PMSLTU_DW:
4893 case RISCV::PMSLT_DB:
4894 case RISCV::PMSLT_DH:
4895 case RISCV::PMSLT_DW:
4896 case RISCV::PPAIREO_DB:
4897 case RISCV::PPAIREO_DH:
4898 case RISCV::PPAIRE_DB:
4899 case RISCV::PPAIRE_DH:
4900 case RISCV::PPAIROE_DB:
4901 case RISCV::PPAIROE_DH:
4902 case RISCV::PPAIRO_DB:
4903 case RISCV::PPAIRO_DH:
4904 case RISCV::PSADDU_DB:
4905 case RISCV::PSADDU_DH:
4906 case RISCV::PSADDU_DW:
4907 case RISCV::PSADD_DB:
4908 case RISCV::PSADD_DH:
4909 case RISCV::PSADD_DW:
4910 case RISCV::PSAS_DHX:
4911 case RISCV::PSA_DHX:
4912 case RISCV::PSH1ADD_DH:
4913 case RISCV::PSH1ADD_DW:
4914 case RISCV::PSSA_DHX:
4915 case RISCV::PSSH1SADD_DH:
4916 case RISCV::PSSH1SADD_DW:
4917 case RISCV::PSSUBU_DB:
4918 case RISCV::PSSUBU_DH:
4919 case RISCV::PSSUBU_DW:
4920 case RISCV::PSSUB_DB:
4921 case RISCV::PSSUB_DH:
4922 case RISCV::PSSUB_DW:
4923 case RISCV::PSUB_DB:
4924 case RISCV::PSUB_DH:
4925 case RISCV::PSUB_DW:
4926 case RISCV::SUBD: {
4927 // op: rs1
4928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4929 Value |= (op & 0x1e) << 15;
4930 // op: rd
4931 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4932 Value |= (op & 0x1e) << 7;
4933 // op: rs2
4934 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4935 Value |= (op & 0x1e) << 20;
4936 break;
4937 }
4938 case RISCV::PADD_DBS:
4939 case RISCV::PADD_DHS:
4940 case RISCV::PADD_DWS:
4941 case RISCV::PSLL_DBS:
4942 case RISCV::PSLL_DHS:
4943 case RISCV::PSLL_DWS:
4944 case RISCV::PSRA_DBS:
4945 case RISCV::PSRA_DHS:
4946 case RISCV::PSRA_DWS:
4947 case RISCV::PSRL_DBS:
4948 case RISCV::PSRL_DHS:
4949 case RISCV::PSRL_DWS:
4950 case RISCV::PSSHAR_DHS:
4951 case RISCV::PSSHAR_DWS:
4952 case RISCV::PSSHA_DHS:
4953 case RISCV::PSSHA_DWS:
4954 case RISCV::PSSHLR_DHS:
4955 case RISCV::PSSHLR_DWS:
4956 case RISCV::PSSHL_DHS:
4957 case RISCV::PSSHL_DWS: {
4958 // op: rs1
4959 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4960 Value |= (op & 0x1e) << 15;
4961 // op: rd
4962 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4963 Value |= (op & 0x1e) << 7;
4964 // op: rs2
4965 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4966 Value |= (op & 0x1f) << 20;
4967 break;
4968 }
4969 case RISCV::PSATI_DW:
4970 case RISCV::PSLLI_DW:
4971 case RISCV::PSRAI_DW:
4972 case RISCV::PSRARI_DW:
4973 case RISCV::PSRLI_DW:
4974 case RISCV::PSSLAI_DW:
4975 case RISCV::PUSATI_DW: {
4976 // op: rs1
4977 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4978 Value |= (op & 0x1e) << 15;
4979 // op: rd
4980 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4981 Value |= (op & 0x1e) << 7;
4982 // op: shamt
4983 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4984 Value |= (op & 0x1f) << 20;
4985 break;
4986 }
4987 case RISCV::PSLLI_DB:
4988 case RISCV::PSRAI_DB:
4989 case RISCV::PSRLI_DB: {
4990 // op: rs1
4991 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4992 Value |= (op & 0x1e) << 15;
4993 // op: rd
4994 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4995 Value |= (op & 0x1e) << 7;
4996 // op: shamt
4997 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
4998 Value |= (op & 0x7) << 20;
4999 break;
5000 }
5001 case RISCV::PSATI_DH:
5002 case RISCV::PSLLI_DH:
5003 case RISCV::PSRAI_DH:
5004 case RISCV::PSRARI_DH:
5005 case RISCV::PSRLI_DH:
5006 case RISCV::PSSLAI_DH:
5007 case RISCV::PUSATI_DH: {
5008 // op: rs1
5009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5010 Value |= (op & 0x1e) << 15;
5011 // op: rd
5012 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5013 Value |= (op & 0x1e) << 7;
5014 // op: shamt
5015 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5016 Value |= (op & 0xf) << 20;
5017 break;
5018 }
5019 case RISCV::NCLIP:
5020 case RISCV::NCLIPR:
5021 case RISCV::NCLIPRU:
5022 case RISCV::NCLIPU:
5023 case RISCV::NSRA:
5024 case RISCV::NSRAR:
5025 case RISCV::NSRL:
5026 case RISCV::PNCLIPRU_BS:
5027 case RISCV::PNCLIPRU_HS:
5028 case RISCV::PNCLIPR_BS:
5029 case RISCV::PNCLIPR_HS:
5030 case RISCV::PNCLIPU_BS:
5031 case RISCV::PNCLIPU_HS:
5032 case RISCV::PNCLIP_BS:
5033 case RISCV::PNCLIP_HS:
5034 case RISCV::PNSRAR_BS:
5035 case RISCV::PNSRAR_HS:
5036 case RISCV::PNSRA_BS:
5037 case RISCV::PNSRA_HS:
5038 case RISCV::PNSRL_BS:
5039 case RISCV::PNSRL_HS:
5040 case RISCV::PREDSUMU_DBS:
5041 case RISCV::PREDSUMU_DHS:
5042 case RISCV::PREDSUM_DBS:
5043 case RISCV::PREDSUM_DHS: {
5044 // op: rs1
5045 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5046 Value |= (op & 0x1e) << 15;
5047 // op: rd
5048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5049 Value |= (op & 0x1f) << 7;
5050 // op: rs2
5051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5052 Value |= (op & 0x1f) << 20;
5053 break;
5054 }
5055 case RISCV::PNCLIPIU_H:
5056 case RISCV::PNCLIPI_H:
5057 case RISCV::PNCLIPRIU_H:
5058 case RISCV::PNCLIPRI_H:
5059 case RISCV::PNSRAI_H:
5060 case RISCV::PNSRARI_H:
5061 case RISCV::PNSRLI_H: {
5062 // op: rs1
5063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5064 Value |= (op & 0x1e) << 15;
5065 // op: rd
5066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5067 Value |= (op & 0x1f) << 7;
5068 // op: shamt
5069 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5070 Value |= (op & 0x1f) << 20;
5071 break;
5072 }
5073 case RISCV::NCLIPI:
5074 case RISCV::NCLIPIU:
5075 case RISCV::NCLIPRI:
5076 case RISCV::NCLIPRIU:
5077 case RISCV::NSRAI:
5078 case RISCV::NSRARI:
5079 case RISCV::NSRLI: {
5080 // op: rs1
5081 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5082 Value |= (op & 0x1e) << 15;
5083 // op: rd
5084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5085 Value |= (op & 0x1f) << 7;
5086 // op: shamt
5087 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5088 Value |= (op & 0x3f) << 20;
5089 break;
5090 }
5091 case RISCV::PNCLIPIU_B:
5092 case RISCV::PNCLIPI_B:
5093 case RISCV::PNCLIPRIU_B:
5094 case RISCV::PNCLIPRI_B:
5095 case RISCV::PNSRAI_B:
5096 case RISCV::PNSRARI_B:
5097 case RISCV::PNSRLI_B: {
5098 // op: rs1
5099 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5100 Value |= (op & 0x1e) << 15;
5101 // op: rd
5102 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5103 Value |= (op & 0x1f) << 7;
5104 // op: shamt
5105 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5106 Value |= (op & 0xf) << 20;
5107 break;
5108 }
5109 case RISCV::FCVT_BF16_S:
5110 case RISCV::FCVT_D_H:
5111 case RISCV::FCVT_D_H_IN32X:
5112 case RISCV::FCVT_D_H_INX:
5113 case RISCV::FCVT_D_L:
5114 case RISCV::FCVT_D_LU:
5115 case RISCV::FCVT_D_LU_INX:
5116 case RISCV::FCVT_D_L_INX:
5117 case RISCV::FCVT_D_Q:
5118 case RISCV::FCVT_D_S:
5119 case RISCV::FCVT_D_S_IN32X:
5120 case RISCV::FCVT_D_S_INX:
5121 case RISCV::FCVT_D_W:
5122 case RISCV::FCVT_D_WU:
5123 case RISCV::FCVT_D_WU_IN32X:
5124 case RISCV::FCVT_D_WU_INX:
5125 case RISCV::FCVT_D_W_IN32X:
5126 case RISCV::FCVT_D_W_INX:
5127 case RISCV::FCVT_H_D:
5128 case RISCV::FCVT_H_D_IN32X:
5129 case RISCV::FCVT_H_D_INX:
5130 case RISCV::FCVT_H_L:
5131 case RISCV::FCVT_H_LU:
5132 case RISCV::FCVT_H_LU_INX:
5133 case RISCV::FCVT_H_L_INX:
5134 case RISCV::FCVT_H_S:
5135 case RISCV::FCVT_H_S_INX:
5136 case RISCV::FCVT_H_W:
5137 case RISCV::FCVT_H_WU:
5138 case RISCV::FCVT_H_WU_INX:
5139 case RISCV::FCVT_H_W_INX:
5140 case RISCV::FCVT_LU_D:
5141 case RISCV::FCVT_LU_D_INX:
5142 case RISCV::FCVT_LU_H:
5143 case RISCV::FCVT_LU_H_INX:
5144 case RISCV::FCVT_LU_Q:
5145 case RISCV::FCVT_LU_S:
5146 case RISCV::FCVT_LU_S_INX:
5147 case RISCV::FCVT_L_D:
5148 case RISCV::FCVT_L_D_INX:
5149 case RISCV::FCVT_L_H:
5150 case RISCV::FCVT_L_H_INX:
5151 case RISCV::FCVT_L_Q:
5152 case RISCV::FCVT_L_S:
5153 case RISCV::FCVT_L_S_INX:
5154 case RISCV::FCVT_Q_D:
5155 case RISCV::FCVT_Q_L:
5156 case RISCV::FCVT_Q_LU:
5157 case RISCV::FCVT_Q_S:
5158 case RISCV::FCVT_Q_W:
5159 case RISCV::FCVT_Q_WU:
5160 case RISCV::FCVT_S_BF16:
5161 case RISCV::FCVT_S_D:
5162 case RISCV::FCVT_S_D_IN32X:
5163 case RISCV::FCVT_S_D_INX:
5164 case RISCV::FCVT_S_H:
5165 case RISCV::FCVT_S_H_INX:
5166 case RISCV::FCVT_S_L:
5167 case RISCV::FCVT_S_LU:
5168 case RISCV::FCVT_S_LU_INX:
5169 case RISCV::FCVT_S_L_INX:
5170 case RISCV::FCVT_S_Q:
5171 case RISCV::FCVT_S_W:
5172 case RISCV::FCVT_S_WU:
5173 case RISCV::FCVT_S_WU_INX:
5174 case RISCV::FCVT_S_W_INX:
5175 case RISCV::FCVT_WU_D:
5176 case RISCV::FCVT_WU_D_IN32X:
5177 case RISCV::FCVT_WU_D_INX:
5178 case RISCV::FCVT_WU_H:
5179 case RISCV::FCVT_WU_H_INX:
5180 case RISCV::FCVT_WU_Q:
5181 case RISCV::FCVT_WU_S:
5182 case RISCV::FCVT_WU_S_INX:
5183 case RISCV::FCVT_W_D:
5184 case RISCV::FCVT_W_D_IN32X:
5185 case RISCV::FCVT_W_D_INX:
5186 case RISCV::FCVT_W_H:
5187 case RISCV::FCVT_W_H_INX:
5188 case RISCV::FCVT_W_Q:
5189 case RISCV::FCVT_W_S:
5190 case RISCV::FCVT_W_S_INX:
5191 case RISCV::FROUNDNX_D:
5192 case RISCV::FROUNDNX_H:
5193 case RISCV::FROUNDNX_Q:
5194 case RISCV::FROUNDNX_S:
5195 case RISCV::FROUND_D:
5196 case RISCV::FROUND_H:
5197 case RISCV::FROUND_Q:
5198 case RISCV::FROUND_S:
5199 case RISCV::FSQRT_D:
5200 case RISCV::FSQRT_D_IN32X:
5201 case RISCV::FSQRT_D_INX:
5202 case RISCV::FSQRT_H:
5203 case RISCV::FSQRT_H_INX:
5204 case RISCV::FSQRT_Q:
5205 case RISCV::FSQRT_S:
5206 case RISCV::FSQRT_S_INX: {
5207 // op: rs1
5208 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5209 Value |= (op & 0x1f) << 15;
5210 // op: frm
5211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5212 Value |= (op & 0x7) << 12;
5213 // op: rd
5214 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5215 Value |= (op & 0x1f) << 7;
5216 break;
5217 }
5218 case RISCV::PWSLAI_H:
5219 case RISCV::PWSLLI_H: {
5220 // op: rs1
5221 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5222 Value |= (op & 0x1f) << 15;
5223 // op: rd
5224 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5225 Value |= (op & 0x1e) << 7;
5226 // op: shamt
5227 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5228 Value |= (op & 0x1f) << 20;
5229 break;
5230 }
5231 case RISCV::WSLAI:
5232 case RISCV::WSLLI: {
5233 // op: rs1
5234 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5235 Value |= (op & 0x1f) << 15;
5236 // op: rd
5237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5238 Value |= (op & 0x1e) << 7;
5239 // op: shamt
5240 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5241 Value |= (op & 0x3f) << 20;
5242 break;
5243 }
5244 case RISCV::PWSLAI_B:
5245 case RISCV::PWSLLI_B: {
5246 // op: rs1
5247 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5248 Value |= (op & 0x1f) << 15;
5249 // op: rd
5250 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5251 Value |= (op & 0x1e) << 7;
5252 // op: shamt
5253 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5254 Value |= (op & 0xf) << 20;
5255 break;
5256 }
5257 case RISCV::ABS:
5258 case RISCV::ABSW:
5259 case RISCV::AES64IM:
5260 case RISCV::AIF_FBCX_PS:
5261 case RISCV::AIF_FCLASS_PS:
5262 case RISCV::AIF_FCVT_F10_PS:
5263 case RISCV::AIF_FCVT_F11_PS:
5264 case RISCV::AIF_FCVT_F16_PS:
5265 case RISCV::AIF_FCVT_PS_F10:
5266 case RISCV::AIF_FCVT_PS_F11:
5267 case RISCV::AIF_FCVT_PS_F16:
5268 case RISCV::AIF_FCVT_PS_RAST:
5269 case RISCV::AIF_FCVT_PS_SN16:
5270 case RISCV::AIF_FCVT_PS_SN8:
5271 case RISCV::AIF_FCVT_PS_UN10:
5272 case RISCV::AIF_FCVT_PS_UN16:
5273 case RISCV::AIF_FCVT_PS_UN2:
5274 case RISCV::AIF_FCVT_PS_UN24:
5275 case RISCV::AIF_FCVT_PS_UN8:
5276 case RISCV::AIF_FCVT_RAST_PS:
5277 case RISCV::AIF_FCVT_SN16_PS:
5278 case RISCV::AIF_FCVT_SN8_PS:
5279 case RISCV::AIF_FCVT_UN10_PS:
5280 case RISCV::AIF_FCVT_UN16_PS:
5281 case RISCV::AIF_FCVT_UN24_PS:
5282 case RISCV::AIF_FCVT_UN2_PS:
5283 case RISCV::AIF_FCVT_UN8_PS:
5284 case RISCV::AIF_FEXP_PS:
5285 case RISCV::AIF_FFRC_PS:
5286 case RISCV::AIF_FLOG_PS:
5287 case RISCV::AIF_FLWG_PS:
5288 case RISCV::AIF_FLWL_PS:
5289 case RISCV::AIF_FNOT_PI:
5290 case RISCV::AIF_FPACKREPB_PI:
5291 case RISCV::AIF_FPACKREPH_PI:
5292 case RISCV::AIF_FRCP_PS:
5293 case RISCV::AIF_FRSQ_PS:
5294 case RISCV::AIF_FSAT8_PI:
5295 case RISCV::AIF_FSATU8_PI:
5296 case RISCV::AIF_FSETM_PI:
5297 case RISCV::AIF_FSIN_PS:
5298 case RISCV::AIF_FSQRT_PS:
5299 case RISCV::BREV8:
5300 case RISCV::CLS:
5301 case RISCV::CLSW:
5302 case RISCV::CLZ:
5303 case RISCV::CLZW:
5304 case RISCV::CPOP:
5305 case RISCV::CPOPW:
5306 case RISCV::CTZ:
5307 case RISCV::CTZW:
5308 case RISCV::CV_ABS:
5309 case RISCV::CV_ABS_B:
5310 case RISCV::CV_ABS_H:
5311 case RISCV::CV_CLB:
5312 case RISCV::CV_CNT:
5313 case RISCV::CV_CPLXCONJ:
5314 case RISCV::CV_EXTBS:
5315 case RISCV::CV_EXTBZ:
5316 case RISCV::CV_EXTHS:
5317 case RISCV::CV_EXTHZ:
5318 case RISCV::CV_FF1:
5319 case RISCV::CV_FL1:
5320 case RISCV::FCLASS_D:
5321 case RISCV::FCLASS_D_IN32X:
5322 case RISCV::FCLASS_D_INX:
5323 case RISCV::FCLASS_H:
5324 case RISCV::FCLASS_H_INX:
5325 case RISCV::FCLASS_Q:
5326 case RISCV::FCLASS_S:
5327 case RISCV::FCLASS_S_INX:
5328 case RISCV::FCVTMOD_W_D:
5329 case RISCV::FMVH_X_D:
5330 case RISCV::FMVH_X_Q:
5331 case RISCV::FMV_D_X:
5332 case RISCV::FMV_H_X:
5333 case RISCV::FMV_W_X:
5334 case RISCV::FMV_X_D:
5335 case RISCV::FMV_X_H:
5336 case RISCV::FMV_X_W:
5337 case RISCV::FMV_X_W_FPR64:
5338 case RISCV::HLVX_HU:
5339 case RISCV::HLVX_WU:
5340 case RISCV::HLV_B:
5341 case RISCV::HLV_BU:
5342 case RISCV::HLV_D:
5343 case RISCV::HLV_H:
5344 case RISCV::HLV_HU:
5345 case RISCV::HLV_W:
5346 case RISCV::HLV_WU:
5347 case RISCV::LB_AQ:
5348 case RISCV::LB_AQRL:
5349 case RISCV::LD_AQ:
5350 case RISCV::LD_AQRL:
5351 case RISCV::LH_AQ:
5352 case RISCV::LH_AQRL:
5353 case RISCV::LR_D:
5354 case RISCV::LR_D_AQ:
5355 case RISCV::LR_D_AQRL:
5356 case RISCV::LR_D_RL:
5357 case RISCV::LR_W:
5358 case RISCV::LR_W_AQ:
5359 case RISCV::LR_W_AQRL:
5360 case RISCV::LR_W_RL:
5361 case RISCV::LW_AQ:
5362 case RISCV::LW_AQRL:
5363 case RISCV::MOP_R_0:
5364 case RISCV::MOP_R_1:
5365 case RISCV::MOP_R_10:
5366 case RISCV::MOP_R_11:
5367 case RISCV::MOP_R_12:
5368 case RISCV::MOP_R_13:
5369 case RISCV::MOP_R_14:
5370 case RISCV::MOP_R_15:
5371 case RISCV::MOP_R_16:
5372 case RISCV::MOP_R_17:
5373 case RISCV::MOP_R_18:
5374 case RISCV::MOP_R_19:
5375 case RISCV::MOP_R_2:
5376 case RISCV::MOP_R_20:
5377 case RISCV::MOP_R_21:
5378 case RISCV::MOP_R_22:
5379 case RISCV::MOP_R_23:
5380 case RISCV::MOP_R_24:
5381 case RISCV::MOP_R_25:
5382 case RISCV::MOP_R_26:
5383 case RISCV::MOP_R_27:
5384 case RISCV::MOP_R_28:
5385 case RISCV::MOP_R_29:
5386 case RISCV::MOP_R_3:
5387 case RISCV::MOP_R_30:
5388 case RISCV::MOP_R_31:
5389 case RISCV::MOP_R_4:
5390 case RISCV::MOP_R_5:
5391 case RISCV::MOP_R_6:
5392 case RISCV::MOP_R_7:
5393 case RISCV::MOP_R_8:
5394 case RISCV::MOP_R_9:
5395 case RISCV::NDS_FMV_BF16_X:
5396 case RISCV::NDS_FMV_X_BF16:
5397 case RISCV::ORC_B:
5398 case RISCV::PSABS_B:
5399 case RISCV::PSABS_H:
5400 case RISCV::PSEXT_H_B:
5401 case RISCV::PSEXT_W_B:
5402 case RISCV::PSEXT_W_H:
5403 case RISCV::QC_BREV32:
5404 case RISCV::QC_CLO:
5405 case RISCV::QC_COMPRESS2:
5406 case RISCV::QC_COMPRESS3:
5407 case RISCV::QC_CTO:
5408 case RISCV::QC_EXPAND2:
5409 case RISCV::QC_EXPAND3:
5410 case RISCV::QC_NORM:
5411 case RISCV::QC_NORMEU:
5412 case RISCV::QC_NORMU:
5413 case RISCV::REV16_RV64:
5414 case RISCV::REV8_RV32:
5415 case RISCV::REV8_RV64:
5416 case RISCV::REV_RV32:
5417 case RISCV::REV_RV64:
5418 case RISCV::SEXT_B:
5419 case RISCV::SEXT_H:
5420 case RISCV::SF_VSETTK:
5421 case RISCV::SF_VSETTM:
5422 case RISCV::SF_VSETTN:
5423 case RISCV::SHA256SIG0:
5424 case RISCV::SHA256SIG1:
5425 case RISCV::SHA256SUM0:
5426 case RISCV::SHA256SUM1:
5427 case RISCV::SHA512SIG0:
5428 case RISCV::SHA512SIG1:
5429 case RISCV::SHA512SUM0:
5430 case RISCV::SHA512SUM1:
5431 case RISCV::SM3P0:
5432 case RISCV::SM3P1:
5433 case RISCV::TH_FF0:
5434 case RISCV::TH_FF1:
5435 case RISCV::TH_REV:
5436 case RISCV::TH_REVW:
5437 case RISCV::TH_TSTNBZ:
5438 case RISCV::UNZIP_RV32:
5439 case RISCV::YAMASK:
5440 case RISCV::YBASER:
5441 case RISCV::YLENR:
5442 case RISCV::YMV:
5443 case RISCV::YPERMR:
5444 case RISCV::YTAGR:
5445 case RISCV::YTOPR:
5446 case RISCV::YTYPER:
5447 case RISCV::ZEXT_H_RV32:
5448 case RISCV::ZEXT_H_RV64:
5449 case RISCV::ZIP_RV32: {
5450 // op: rs1
5451 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5452 Value |= (op & 0x1f) << 15;
5453 // op: rd
5454 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5455 Value |= (op & 0x1f) << 7;
5456 break;
5457 }
5458 case RISCV::YBNDSWI: {
5459 // op: rs1
5460 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5461 Value |= (op & 0x1f) << 15;
5462 // op: rd
5463 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5464 Value |= (op & 0x1f) << 7;
5465 // op: imm
5466 op = getYBNDSWImmOpValue(MI, OpNo: 2, Fixups, STI);
5467 Value |= (op & 0x1ff) << 20;
5468 break;
5469 }
5470 case RISCV::QC_WRAPI: {
5471 // op: rs1
5472 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5473 Value |= (op & 0x1f) << 15;
5474 // op: rd
5475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5476 Value |= (op & 0x1f) << 7;
5477 // op: imm11
5478 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5479 Value |= (op & 0x7ff) << 20;
5480 break;
5481 }
5482 case RISCV::ADDI:
5483 case RISCV::ADDIW:
5484 case RISCV::ANDI:
5485 case RISCV::CV_ELW:
5486 case RISCV::FLD:
5487 case RISCV::FLH:
5488 case RISCV::FLQ:
5489 case RISCV::FLW:
5490 case RISCV::JALR:
5491 case RISCV::LB:
5492 case RISCV::LBU:
5493 case RISCV::LD:
5494 case RISCV::LD_RV32:
5495 case RISCV::LH:
5496 case RISCV::LHU:
5497 case RISCV::LH_INX:
5498 case RISCV::LW:
5499 case RISCV::LWU:
5500 case RISCV::LW_INX:
5501 case RISCV::ORI:
5502 case RISCV::SLTI:
5503 case RISCV::SLTIU:
5504 case RISCV::XORI:
5505 case RISCV::YADDI: {
5506 // op: rs1
5507 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5508 Value |= (op & 0x1f) << 15;
5509 // op: rd
5510 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5511 Value |= (op & 0x1f) << 7;
5512 // op: imm12
5513 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5514 Value |= (op & 0xfff) << 20;
5515 break;
5516 }
5517 case RISCV::QC_INW: {
5518 // op: rs1
5519 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5520 Value |= (op & 0x1f) << 15;
5521 // op: rd
5522 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5523 Value |= (op & 0x1f) << 7;
5524 // op: imm14
5525 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5526 Value |= (op & 0x3ffc) << 18;
5527 break;
5528 }
5529 case RISCV::CV_CLIP:
5530 case RISCV::CV_CLIPU: {
5531 // op: rs1
5532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5533 Value |= (op & 0x1f) << 15;
5534 // op: rd
5535 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5536 Value |= (op & 0x1f) << 7;
5537 // op: imm5
5538 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5539 Value |= (op & 0x1f) << 20;
5540 break;
5541 }
5542 case RISCV::CV_ADD_SCI_B:
5543 case RISCV::CV_ADD_SCI_H:
5544 case RISCV::CV_AND_SCI_B:
5545 case RISCV::CV_AND_SCI_H:
5546 case RISCV::CV_AVGU_SCI_B:
5547 case RISCV::CV_AVGU_SCI_H:
5548 case RISCV::CV_AVG_SCI_B:
5549 case RISCV::CV_AVG_SCI_H:
5550 case RISCV::CV_CMPEQ_SCI_B:
5551 case RISCV::CV_CMPEQ_SCI_H:
5552 case RISCV::CV_CMPGEU_SCI_B:
5553 case RISCV::CV_CMPGEU_SCI_H:
5554 case RISCV::CV_CMPGE_SCI_B:
5555 case RISCV::CV_CMPGE_SCI_H:
5556 case RISCV::CV_CMPGTU_SCI_B:
5557 case RISCV::CV_CMPGTU_SCI_H:
5558 case RISCV::CV_CMPGT_SCI_B:
5559 case RISCV::CV_CMPGT_SCI_H:
5560 case RISCV::CV_CMPLEU_SCI_B:
5561 case RISCV::CV_CMPLEU_SCI_H:
5562 case RISCV::CV_CMPLE_SCI_B:
5563 case RISCV::CV_CMPLE_SCI_H:
5564 case RISCV::CV_CMPLTU_SCI_B:
5565 case RISCV::CV_CMPLTU_SCI_H:
5566 case RISCV::CV_CMPLT_SCI_B:
5567 case RISCV::CV_CMPLT_SCI_H:
5568 case RISCV::CV_CMPNE_SCI_B:
5569 case RISCV::CV_CMPNE_SCI_H:
5570 case RISCV::CV_DOTSP_SCI_B:
5571 case RISCV::CV_DOTSP_SCI_H:
5572 case RISCV::CV_DOTUP_SCI_B:
5573 case RISCV::CV_DOTUP_SCI_H:
5574 case RISCV::CV_DOTUSP_SCI_B:
5575 case RISCV::CV_DOTUSP_SCI_H:
5576 case RISCV::CV_EXTRACTU_B:
5577 case RISCV::CV_EXTRACTU_H:
5578 case RISCV::CV_EXTRACT_B:
5579 case RISCV::CV_EXTRACT_H:
5580 case RISCV::CV_MAXU_SCI_B:
5581 case RISCV::CV_MAXU_SCI_H:
5582 case RISCV::CV_MAX_SCI_B:
5583 case RISCV::CV_MAX_SCI_H:
5584 case RISCV::CV_MINU_SCI_B:
5585 case RISCV::CV_MINU_SCI_H:
5586 case RISCV::CV_MIN_SCI_B:
5587 case RISCV::CV_MIN_SCI_H:
5588 case RISCV::CV_OR_SCI_B:
5589 case RISCV::CV_OR_SCI_H:
5590 case RISCV::CV_SHUFFLEI0_SCI_B:
5591 case RISCV::CV_SHUFFLEI1_SCI_B:
5592 case RISCV::CV_SHUFFLEI2_SCI_B:
5593 case RISCV::CV_SHUFFLEI3_SCI_B:
5594 case RISCV::CV_SHUFFLE_SCI_H:
5595 case RISCV::CV_SLL_SCI_B:
5596 case RISCV::CV_SLL_SCI_H:
5597 case RISCV::CV_SRA_SCI_B:
5598 case RISCV::CV_SRA_SCI_H:
5599 case RISCV::CV_SRL_SCI_B:
5600 case RISCV::CV_SRL_SCI_H:
5601 case RISCV::CV_SUB_SCI_B:
5602 case RISCV::CV_SUB_SCI_H:
5603 case RISCV::CV_XOR_SCI_B:
5604 case RISCV::CV_XOR_SCI_H: {
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: imm6
5612 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5613 Value |= (op & 0x1) << 25;
5614 Value |= (op & 0x3e) << 19;
5615 break;
5616 }
5617 case RISCV::CV_BCLR:
5618 case RISCV::CV_BITREV:
5619 case RISCV::CV_BSET:
5620 case RISCV::CV_EXTRACT:
5621 case RISCV::CV_EXTRACTU: {
5622 // op: rs1
5623 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5624 Value |= (op & 0x1f) << 15;
5625 // op: rd
5626 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5627 Value |= (op & 0x1f) << 7;
5628 // op: is3
5629 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5630 Value |= (op & 0x1f) << 25;
5631 // op: is2
5632 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
5633 Value |= (op & 0x1f) << 20;
5634 break;
5635 }
5636 case RISCV::TH_EXT:
5637 case RISCV::TH_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: msb
5645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5646 Value |= (op & 0x3f) << 26;
5647 // op: lsb
5648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
5649 Value |= (op & 0x3f) << 20;
5650 break;
5651 }
5652 case RISCV::AES64KS1I: {
5653 // op: rs1
5654 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5655 Value |= (op & 0x1f) << 15;
5656 // op: rd
5657 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5658 Value |= (op & 0x1f) << 7;
5659 // op: rnum
5660 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5661 Value |= (op & 0xf) << 20;
5662 break;
5663 }
5664 case RISCV::PSLLI_W:
5665 case RISCV::PSRAI_W:
5666 case RISCV::PSRARI_W:
5667 case RISCV::PSRLI_W:
5668 case RISCV::PSSLAI_W:
5669 case RISCV::PUSATI_W:
5670 case RISCV::RORIW:
5671 case RISCV::SLLIW:
5672 case RISCV::SRAIW:
5673 case RISCV::SRARI_RV32:
5674 case RISCV::SRLIW:
5675 case RISCV::SSLAI:
5676 case RISCV::TH_SRRIW:
5677 case RISCV::USATI_RV32: {
5678 // op: rs1
5679 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5680 Value |= (op & 0x1f) << 15;
5681 // op: rd
5682 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5683 Value |= (op & 0x1f) << 7;
5684 // op: shamt
5685 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5686 Value |= (op & 0x1f) << 20;
5687 break;
5688 }
5689 case RISCV::SRARI_RV64:
5690 case RISCV::USATI_RV64: {
5691 // op: rs1
5692 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5693 Value |= (op & 0x1f) << 15;
5694 // op: rd
5695 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5696 Value |= (op & 0x1f) << 7;
5697 // op: shamt
5698 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5699 Value |= (op & 0x3f) << 20;
5700 break;
5701 }
5702 case RISCV::PSLLI_B:
5703 case RISCV::PSRAI_B:
5704 case RISCV::PSRLI_B: {
5705 // op: rs1
5706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5707 Value |= (op & 0x1f) << 15;
5708 // op: rd
5709 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5710 Value |= (op & 0x1f) << 7;
5711 // op: shamt
5712 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5713 Value |= (op & 0x7) << 20;
5714 break;
5715 }
5716 case RISCV::SRLIY: {
5717 // op: rs1
5718 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5719 Value |= (op & 0x1f) << 15;
5720 // op: rd
5721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5722 Value |= (op & 0x1f) << 7;
5723 // op: shamt
5724 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5725 Value |= (op & 0x7f) << 20;
5726 break;
5727 }
5728 case RISCV::PSLLI_H:
5729 case RISCV::PSRAI_H:
5730 case RISCV::PSRARI_H:
5731 case RISCV::PSRLI_H:
5732 case RISCV::PSSLAI_H:
5733 case RISCV::PUSATI_H: {
5734 // op: rs1
5735 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5736 Value |= (op & 0x1f) << 15;
5737 // op: rd
5738 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5739 Value |= (op & 0x1f) << 7;
5740 // op: shamt
5741 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5742 Value |= (op & 0xf) << 20;
5743 break;
5744 }
5745 case RISCV::QC_EXT:
5746 case RISCV::QC_EXTD:
5747 case RISCV::QC_EXTDU:
5748 case RISCV::QC_EXTU: {
5749 // op: rs1
5750 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5751 Value |= (op & 0x1f) << 15;
5752 // op: rd
5753 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5754 Value |= (op & 0x1f) << 7;
5755 // op: shamt
5756 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
5757 Value |= (op & 0x1f) << 20;
5758 // op: width
5759 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
5760 Value |= (op & 0x1f) << 25;
5761 break;
5762 }
5763 case RISCV::PSATI_W:
5764 case RISCV::SATI_RV32: {
5765 // op: rs1
5766 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5767 Value |= (op & 0x1f) << 15;
5768 // op: rd
5769 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5770 Value |= (op & 0x1f) << 7;
5771 // op: shamt
5772 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
5773 Value |= (op & 0x1f) << 20;
5774 break;
5775 }
5776 case RISCV::SATI_RV64: {
5777 // op: rs1
5778 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5779 Value |= (op & 0x1f) << 15;
5780 // op: rd
5781 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5782 Value |= (op & 0x1f) << 7;
5783 // op: shamt
5784 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
5785 Value |= (op & 0x3f) << 20;
5786 break;
5787 }
5788 case RISCV::PSATI_H: {
5789 // op: rs1
5790 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5791 Value |= (op & 0x1f) << 15;
5792 // op: rd
5793 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5794 Value |= (op & 0x1f) << 7;
5795 // op: shamt
5796 op = getImmOpValueMinus1(MI, OpNo: 2, Fixups, STI);
5797 Value |= (op & 0xf) << 20;
5798 break;
5799 }
5800 case RISCV::BCLRI:
5801 case RISCV::BEXTI:
5802 case RISCV::BINVI:
5803 case RISCV::BSETI:
5804 case RISCV::RORI:
5805 case RISCV::SLLI:
5806 case RISCV::SLLI_UW:
5807 case RISCV::SRAI:
5808 case RISCV::SRLI:
5809 case RISCV::TH_SRRI:
5810 case RISCV::TH_TST: {
5811 // op: rs1
5812 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5813 Value |= (op & 0x1f) << 15;
5814 // op: rd
5815 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5816 Value |= (op & 0x1f) << 7;
5817 // op: shamt
5818 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5819 Value |= (op & 0x3f) << 20;
5820 break;
5821 }
5822 case RISCV::VSETVLI: {
5823 // op: rs1
5824 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5825 Value |= (op & 0x1f) << 15;
5826 // op: rd
5827 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5828 Value |= (op & 0x1f) << 7;
5829 // op: vtypei
5830 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5831 Value |= (op & 0x7ff) << 20;
5832 break;
5833 }
5834 case RISCV::AIF_FROUND_PS: {
5835 // op: rs1
5836 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5837 Value |= (op & 0x1f) << 15;
5838 // op: rm
5839 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5840 Value |= (op & 0x7) << 12;
5841 // op: rd
5842 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5843 Value |= (op & 0x1f) << 7;
5844 break;
5845 }
5846 case RISCV::QC_E_SB:
5847 case RISCV::QC_E_SH:
5848 case RISCV::QC_E_SW: {
5849 // op: rs1
5850 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5851 Value |= (op & 0x1f) << 15;
5852 // op: rs2
5853 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5854 Value |= (op & 0x1f) << 20;
5855 // op: imm
5856 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5857 Value |= (op & 0x3fffc00) << 22;
5858 Value |= (op & 0x3e0) << 20;
5859 Value |= (op & 0x1f) << 7;
5860 break;
5861 }
5862 case RISCV::CV_SB_rr:
5863 case RISCV::CV_SH_rr:
5864 case RISCV::CV_SW_rr: {
5865 // op: rs1
5866 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5867 Value |= (op & 0x1f) << 15;
5868 // op: rs2
5869 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5870 Value |= (op & 0x1f) << 20;
5871 // op: rs3
5872 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5873 Value |= (op & 0x1f) << 7;
5874 break;
5875 }
5876 case RISCV::QC_OUTW: {
5877 // op: rs1
5878 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5879 Value |= (op & 0x1f) << 15;
5880 // op: rs2
5881 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5882 Value |= (op & 0x1f) << 7;
5883 // op: imm14
5884 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
5885 Value |= (op & 0x3ffc) << 18;
5886 break;
5887 }
5888 case RISCV::AIF_FSC32B_PS:
5889 case RISCV::AIF_FSC32H_PS:
5890 case RISCV::AIF_FSC32W_PS:
5891 case RISCV::AIF_FSCBG_PS:
5892 case RISCV::AIF_FSCBL_PS:
5893 case RISCV::AIF_FSCB_PS:
5894 case RISCV::AIF_FSCHG_PS:
5895 case RISCV::AIF_FSCHL_PS:
5896 case RISCV::AIF_FSCH_PS:
5897 case RISCV::AIF_FSCWG_PS:
5898 case RISCV::AIF_FSCWL_PS:
5899 case RISCV::AIF_FSCW_PS: {
5900 // op: rs1
5901 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5902 Value |= (op & 0x1f) << 15;
5903 // op: rs2
5904 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5905 Value |= (op & 0x1f) << 20;
5906 // op: rs3
5907 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5908 Value |= (op & 0x1f) << 7;
5909 break;
5910 }
5911 case RISCV::NDS_VLE4_V:
5912 case RISCV::SF_VTMV_V_T:
5913 case RISCV::VL1RE16_V:
5914 case RISCV::VL1RE32_V:
5915 case RISCV::VL1RE64_V:
5916 case RISCV::VL1RE8_V:
5917 case RISCV::VL2RE16_V:
5918 case RISCV::VL2RE32_V:
5919 case RISCV::VL2RE64_V:
5920 case RISCV::VL2RE8_V:
5921 case RISCV::VL4RE16_V:
5922 case RISCV::VL4RE32_V:
5923 case RISCV::VL4RE64_V:
5924 case RISCV::VL4RE8_V:
5925 case RISCV::VL8RE16_V:
5926 case RISCV::VL8RE32_V:
5927 case RISCV::VL8RE64_V:
5928 case RISCV::VL8RE8_V:
5929 case RISCV::VLM_V: {
5930 // op: rs1
5931 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5932 Value |= (op & 0x1f) << 15;
5933 // op: vd
5934 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5935 Value |= (op & 0x1f) << 7;
5936 break;
5937 }
5938 case RISCV::NDS_VLN8_V:
5939 case RISCV::NDS_VLNU8_V:
5940 case RISCV::VLE16FF_V:
5941 case RISCV::VLE16_V:
5942 case RISCV::VLE32FF_V:
5943 case RISCV::VLE32_V:
5944 case RISCV::VLE64FF_V:
5945 case RISCV::VLE64_V:
5946 case RISCV::VLE8FF_V:
5947 case RISCV::VLE8_V:
5948 case RISCV::VLSEG2E16FF_V:
5949 case RISCV::VLSEG2E16_V:
5950 case RISCV::VLSEG2E32FF_V:
5951 case RISCV::VLSEG2E32_V:
5952 case RISCV::VLSEG2E64FF_V:
5953 case RISCV::VLSEG2E64_V:
5954 case RISCV::VLSEG2E8FF_V:
5955 case RISCV::VLSEG2E8_V:
5956 case RISCV::VLSEG3E16FF_V:
5957 case RISCV::VLSEG3E16_V:
5958 case RISCV::VLSEG3E32FF_V:
5959 case RISCV::VLSEG3E32_V:
5960 case RISCV::VLSEG3E64FF_V:
5961 case RISCV::VLSEG3E64_V:
5962 case RISCV::VLSEG3E8FF_V:
5963 case RISCV::VLSEG3E8_V:
5964 case RISCV::VLSEG4E16FF_V:
5965 case RISCV::VLSEG4E16_V:
5966 case RISCV::VLSEG4E32FF_V:
5967 case RISCV::VLSEG4E32_V:
5968 case RISCV::VLSEG4E64FF_V:
5969 case RISCV::VLSEG4E64_V:
5970 case RISCV::VLSEG4E8FF_V:
5971 case RISCV::VLSEG4E8_V:
5972 case RISCV::VLSEG5E16FF_V:
5973 case RISCV::VLSEG5E16_V:
5974 case RISCV::VLSEG5E32FF_V:
5975 case RISCV::VLSEG5E32_V:
5976 case RISCV::VLSEG5E64FF_V:
5977 case RISCV::VLSEG5E64_V:
5978 case RISCV::VLSEG5E8FF_V:
5979 case RISCV::VLSEG5E8_V:
5980 case RISCV::VLSEG6E16FF_V:
5981 case RISCV::VLSEG6E16_V:
5982 case RISCV::VLSEG6E32FF_V:
5983 case RISCV::VLSEG6E32_V:
5984 case RISCV::VLSEG6E64FF_V:
5985 case RISCV::VLSEG6E64_V:
5986 case RISCV::VLSEG6E8FF_V:
5987 case RISCV::VLSEG6E8_V:
5988 case RISCV::VLSEG7E16FF_V:
5989 case RISCV::VLSEG7E16_V:
5990 case RISCV::VLSEG7E32FF_V:
5991 case RISCV::VLSEG7E32_V:
5992 case RISCV::VLSEG7E64FF_V:
5993 case RISCV::VLSEG7E64_V:
5994 case RISCV::VLSEG7E8FF_V:
5995 case RISCV::VLSEG7E8_V:
5996 case RISCV::VLSEG8E16FF_V:
5997 case RISCV::VLSEG8E16_V:
5998 case RISCV::VLSEG8E32FF_V:
5999 case RISCV::VLSEG8E32_V:
6000 case RISCV::VLSEG8E64FF_V:
6001 case RISCV::VLSEG8E64_V:
6002 case RISCV::VLSEG8E8FF_V:
6003 case RISCV::VLSEG8E8_V: {
6004 // op: rs1
6005 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6006 Value |= (op & 0x1f) << 15;
6007 // op: vd
6008 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6009 Value |= (op & 0x1f) << 7;
6010 // op: vm
6011 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
6012 Value |= (op & 0x1) << 25;
6013 break;
6014 }
6015 case RISCV::VLSE16_V:
6016 case RISCV::VLSE32_V:
6017 case RISCV::VLSE64_V:
6018 case RISCV::VLSE8_V:
6019 case RISCV::VLSSEG2E16_V:
6020 case RISCV::VLSSEG2E32_V:
6021 case RISCV::VLSSEG2E64_V:
6022 case RISCV::VLSSEG2E8_V:
6023 case RISCV::VLSSEG3E16_V:
6024 case RISCV::VLSSEG3E32_V:
6025 case RISCV::VLSSEG3E64_V:
6026 case RISCV::VLSSEG3E8_V:
6027 case RISCV::VLSSEG4E16_V:
6028 case RISCV::VLSSEG4E32_V:
6029 case RISCV::VLSSEG4E64_V:
6030 case RISCV::VLSSEG4E8_V:
6031 case RISCV::VLSSEG5E16_V:
6032 case RISCV::VLSSEG5E32_V:
6033 case RISCV::VLSSEG5E64_V:
6034 case RISCV::VLSSEG5E8_V:
6035 case RISCV::VLSSEG6E16_V:
6036 case RISCV::VLSSEG6E32_V:
6037 case RISCV::VLSSEG6E64_V:
6038 case RISCV::VLSSEG6E8_V:
6039 case RISCV::VLSSEG7E16_V:
6040 case RISCV::VLSSEG7E32_V:
6041 case RISCV::VLSSEG7E64_V:
6042 case RISCV::VLSSEG7E8_V:
6043 case RISCV::VLSSEG8E16_V:
6044 case RISCV::VLSSEG8E32_V:
6045 case RISCV::VLSSEG8E64_V:
6046 case RISCV::VLSSEG8E8_V: {
6047 // op: rs1
6048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6049 Value |= (op & 0x1f) << 15;
6050 // op: vd
6051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6052 Value |= (op & 0x1f) << 7;
6053 // op: vm
6054 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
6055 Value |= (op & 0x1) << 25;
6056 // op: rs2
6057 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6058 Value |= (op & 0x1f) << 20;
6059 break;
6060 }
6061 case RISCV::VLOXEI16_V:
6062 case RISCV::VLOXEI32_V:
6063 case RISCV::VLOXEI64_V:
6064 case RISCV::VLOXEI8_V:
6065 case RISCV::VLOXSEG2EI16_V:
6066 case RISCV::VLOXSEG2EI32_V:
6067 case RISCV::VLOXSEG2EI64_V:
6068 case RISCV::VLOXSEG2EI8_V:
6069 case RISCV::VLOXSEG3EI16_V:
6070 case RISCV::VLOXSEG3EI32_V:
6071 case RISCV::VLOXSEG3EI64_V:
6072 case RISCV::VLOXSEG3EI8_V:
6073 case RISCV::VLOXSEG4EI16_V:
6074 case RISCV::VLOXSEG4EI32_V:
6075 case RISCV::VLOXSEG4EI64_V:
6076 case RISCV::VLOXSEG4EI8_V:
6077 case RISCV::VLOXSEG5EI16_V:
6078 case RISCV::VLOXSEG5EI32_V:
6079 case RISCV::VLOXSEG5EI64_V:
6080 case RISCV::VLOXSEG5EI8_V:
6081 case RISCV::VLOXSEG6EI16_V:
6082 case RISCV::VLOXSEG6EI32_V:
6083 case RISCV::VLOXSEG6EI64_V:
6084 case RISCV::VLOXSEG6EI8_V:
6085 case RISCV::VLOXSEG7EI16_V:
6086 case RISCV::VLOXSEG7EI32_V:
6087 case RISCV::VLOXSEG7EI64_V:
6088 case RISCV::VLOXSEG7EI8_V:
6089 case RISCV::VLOXSEG8EI16_V:
6090 case RISCV::VLOXSEG8EI32_V:
6091 case RISCV::VLOXSEG8EI64_V:
6092 case RISCV::VLOXSEG8EI8_V:
6093 case RISCV::VLUXEI16_V:
6094 case RISCV::VLUXEI32_V:
6095 case RISCV::VLUXEI64_V:
6096 case RISCV::VLUXEI8_V:
6097 case RISCV::VLUXSEG2EI16_V:
6098 case RISCV::VLUXSEG2EI32_V:
6099 case RISCV::VLUXSEG2EI64_V:
6100 case RISCV::VLUXSEG2EI8_V:
6101 case RISCV::VLUXSEG3EI16_V:
6102 case RISCV::VLUXSEG3EI32_V:
6103 case RISCV::VLUXSEG3EI64_V:
6104 case RISCV::VLUXSEG3EI8_V:
6105 case RISCV::VLUXSEG4EI16_V:
6106 case RISCV::VLUXSEG4EI32_V:
6107 case RISCV::VLUXSEG4EI64_V:
6108 case RISCV::VLUXSEG4EI8_V:
6109 case RISCV::VLUXSEG5EI16_V:
6110 case RISCV::VLUXSEG5EI32_V:
6111 case RISCV::VLUXSEG5EI64_V:
6112 case RISCV::VLUXSEG5EI8_V:
6113 case RISCV::VLUXSEG6EI16_V:
6114 case RISCV::VLUXSEG6EI32_V:
6115 case RISCV::VLUXSEG6EI64_V:
6116 case RISCV::VLUXSEG6EI8_V:
6117 case RISCV::VLUXSEG7EI16_V:
6118 case RISCV::VLUXSEG7EI32_V:
6119 case RISCV::VLUXSEG7EI64_V:
6120 case RISCV::VLUXSEG7EI8_V:
6121 case RISCV::VLUXSEG8EI16_V:
6122 case RISCV::VLUXSEG8EI32_V:
6123 case RISCV::VLUXSEG8EI64_V:
6124 case RISCV::VLUXSEG8EI8_V: {
6125 // op: rs1
6126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6127 Value |= (op & 0x1f) << 15;
6128 // op: vd
6129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6130 Value |= (op & 0x1f) << 7;
6131 // op: vm
6132 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
6133 Value |= (op & 0x1) << 25;
6134 // op: vs2
6135 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6136 Value |= (op & 0x1f) << 20;
6137 break;
6138 }
6139 case RISCV::VS1R_V:
6140 case RISCV::VS2R_V:
6141 case RISCV::VS4R_V:
6142 case RISCV::VS8R_V:
6143 case RISCV::VSM_V: {
6144 // op: rs1
6145 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6146 Value |= (op & 0x1f) << 15;
6147 // op: vs3
6148 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6149 Value |= (op & 0x1f) << 7;
6150 break;
6151 }
6152 case RISCV::VSE16_V:
6153 case RISCV::VSE32_V:
6154 case RISCV::VSE64_V:
6155 case RISCV::VSE8_V:
6156 case RISCV::VSSEG2E16_V:
6157 case RISCV::VSSEG2E32_V:
6158 case RISCV::VSSEG2E64_V:
6159 case RISCV::VSSEG2E8_V:
6160 case RISCV::VSSEG3E16_V:
6161 case RISCV::VSSEG3E32_V:
6162 case RISCV::VSSEG3E64_V:
6163 case RISCV::VSSEG3E8_V:
6164 case RISCV::VSSEG4E16_V:
6165 case RISCV::VSSEG4E32_V:
6166 case RISCV::VSSEG4E64_V:
6167 case RISCV::VSSEG4E8_V:
6168 case RISCV::VSSEG5E16_V:
6169 case RISCV::VSSEG5E32_V:
6170 case RISCV::VSSEG5E64_V:
6171 case RISCV::VSSEG5E8_V:
6172 case RISCV::VSSEG6E16_V:
6173 case RISCV::VSSEG6E32_V:
6174 case RISCV::VSSEG6E64_V:
6175 case RISCV::VSSEG6E8_V:
6176 case RISCV::VSSEG7E16_V:
6177 case RISCV::VSSEG7E32_V:
6178 case RISCV::VSSEG7E64_V:
6179 case RISCV::VSSEG7E8_V:
6180 case RISCV::VSSEG8E16_V:
6181 case RISCV::VSSEG8E32_V:
6182 case RISCV::VSSEG8E64_V:
6183 case RISCV::VSSEG8E8_V: {
6184 // op: rs1
6185 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6186 Value |= (op & 0x1f) << 15;
6187 // op: vs3
6188 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6189 Value |= (op & 0x1f) << 7;
6190 // op: vm
6191 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
6192 Value |= (op & 0x1) << 25;
6193 break;
6194 }
6195 case RISCV::VSSE16_V:
6196 case RISCV::VSSE32_V:
6197 case RISCV::VSSE64_V:
6198 case RISCV::VSSE8_V:
6199 case RISCV::VSSSEG2E16_V:
6200 case RISCV::VSSSEG2E32_V:
6201 case RISCV::VSSSEG2E64_V:
6202 case RISCV::VSSSEG2E8_V:
6203 case RISCV::VSSSEG3E16_V:
6204 case RISCV::VSSSEG3E32_V:
6205 case RISCV::VSSSEG3E64_V:
6206 case RISCV::VSSSEG3E8_V:
6207 case RISCV::VSSSEG4E16_V:
6208 case RISCV::VSSSEG4E32_V:
6209 case RISCV::VSSSEG4E64_V:
6210 case RISCV::VSSSEG4E8_V:
6211 case RISCV::VSSSEG5E16_V:
6212 case RISCV::VSSSEG5E32_V:
6213 case RISCV::VSSSEG5E64_V:
6214 case RISCV::VSSSEG5E8_V:
6215 case RISCV::VSSSEG6E16_V:
6216 case RISCV::VSSSEG6E32_V:
6217 case RISCV::VSSSEG6E64_V:
6218 case RISCV::VSSSEG6E8_V:
6219 case RISCV::VSSSEG7E16_V:
6220 case RISCV::VSSSEG7E32_V:
6221 case RISCV::VSSSEG7E64_V:
6222 case RISCV::VSSSEG7E8_V:
6223 case RISCV::VSSSEG8E16_V:
6224 case RISCV::VSSSEG8E32_V:
6225 case RISCV::VSSSEG8E64_V:
6226 case RISCV::VSSSEG8E8_V: {
6227 // op: rs1
6228 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6229 Value |= (op & 0x1f) << 15;
6230 // op: vs3
6231 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6232 Value |= (op & 0x1f) << 7;
6233 // op: vm
6234 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
6235 Value |= (op & 0x1) << 25;
6236 // op: rs2
6237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6238 Value |= (op & 0x1f) << 20;
6239 break;
6240 }
6241 case RISCV::VSOXEI16_V:
6242 case RISCV::VSOXEI32_V:
6243 case RISCV::VSOXEI64_V:
6244 case RISCV::VSOXEI8_V:
6245 case RISCV::VSOXSEG2EI16_V:
6246 case RISCV::VSOXSEG2EI32_V:
6247 case RISCV::VSOXSEG2EI64_V:
6248 case RISCV::VSOXSEG2EI8_V:
6249 case RISCV::VSOXSEG3EI16_V:
6250 case RISCV::VSOXSEG3EI32_V:
6251 case RISCV::VSOXSEG3EI64_V:
6252 case RISCV::VSOXSEG3EI8_V:
6253 case RISCV::VSOXSEG4EI16_V:
6254 case RISCV::VSOXSEG4EI32_V:
6255 case RISCV::VSOXSEG4EI64_V:
6256 case RISCV::VSOXSEG4EI8_V:
6257 case RISCV::VSOXSEG5EI16_V:
6258 case RISCV::VSOXSEG5EI32_V:
6259 case RISCV::VSOXSEG5EI64_V:
6260 case RISCV::VSOXSEG5EI8_V:
6261 case RISCV::VSOXSEG6EI16_V:
6262 case RISCV::VSOXSEG6EI32_V:
6263 case RISCV::VSOXSEG6EI64_V:
6264 case RISCV::VSOXSEG6EI8_V:
6265 case RISCV::VSOXSEG7EI16_V:
6266 case RISCV::VSOXSEG7EI32_V:
6267 case RISCV::VSOXSEG7EI64_V:
6268 case RISCV::VSOXSEG7EI8_V:
6269 case RISCV::VSOXSEG8EI16_V:
6270 case RISCV::VSOXSEG8EI32_V:
6271 case RISCV::VSOXSEG8EI64_V:
6272 case RISCV::VSOXSEG8EI8_V:
6273 case RISCV::VSUXEI16_V:
6274 case RISCV::VSUXEI32_V:
6275 case RISCV::VSUXEI64_V:
6276 case RISCV::VSUXEI8_V:
6277 case RISCV::VSUXSEG2EI16_V:
6278 case RISCV::VSUXSEG2EI32_V:
6279 case RISCV::VSUXSEG2EI64_V:
6280 case RISCV::VSUXSEG2EI8_V:
6281 case RISCV::VSUXSEG3EI16_V:
6282 case RISCV::VSUXSEG3EI32_V:
6283 case RISCV::VSUXSEG3EI64_V:
6284 case RISCV::VSUXSEG3EI8_V:
6285 case RISCV::VSUXSEG4EI16_V:
6286 case RISCV::VSUXSEG4EI32_V:
6287 case RISCV::VSUXSEG4EI64_V:
6288 case RISCV::VSUXSEG4EI8_V:
6289 case RISCV::VSUXSEG5EI16_V:
6290 case RISCV::VSUXSEG5EI32_V:
6291 case RISCV::VSUXSEG5EI64_V:
6292 case RISCV::VSUXSEG5EI8_V:
6293 case RISCV::VSUXSEG6EI16_V:
6294 case RISCV::VSUXSEG6EI32_V:
6295 case RISCV::VSUXSEG6EI64_V:
6296 case RISCV::VSUXSEG6EI8_V:
6297 case RISCV::VSUXSEG7EI16_V:
6298 case RISCV::VSUXSEG7EI32_V:
6299 case RISCV::VSUXSEG7EI64_V:
6300 case RISCV::VSUXSEG7EI8_V:
6301 case RISCV::VSUXSEG8EI16_V:
6302 case RISCV::VSUXSEG8EI32_V:
6303 case RISCV::VSUXSEG8EI64_V:
6304 case RISCV::VSUXSEG8EI8_V: {
6305 // op: rs1
6306 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6307 Value |= (op & 0x1f) << 15;
6308 // op: vs3
6309 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6310 Value |= (op & 0x1f) << 7;
6311 // op: vm
6312 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
6313 Value |= (op & 0x1) << 25;
6314 // op: vs2
6315 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6316 Value |= (op & 0x1f) << 20;
6317 break;
6318 }
6319 case RISCV::C_ADD: {
6320 // op: rs1
6321 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6322 Value |= (op & 0x1f) << 7;
6323 // op: rs2
6324 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6325 Value |= (op & 0x1f) << 2;
6326 break;
6327 }
6328 case RISCV::AIF_MASKPOPC:
6329 case RISCV::AIF_MASKPOPCZ: {
6330 // op: rs1
6331 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6332 Value |= (op & 0x7) << 15;
6333 // op: rd
6334 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6335 Value |= (op & 0x1f) << 7;
6336 break;
6337 }
6338 case RISCV::AIF_MASKNOT: {
6339 // op: rs1
6340 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6341 Value |= (op & 0x7) << 15;
6342 // op: rd
6343 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6344 Value |= (op & 0x7) << 7;
6345 break;
6346 }
6347 case RISCV::QC_C_BEXTI:
6348 case RISCV::QC_C_BSETI: {
6349 // op: rs1
6350 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6351 Value |= (op & 0x7) << 7;
6352 // op: shamt
6353 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6354 Value |= (op & 0x1f) << 2;
6355 break;
6356 }
6357 case RISCV::AIF_FBC_PS:
6358 case RISCV::AIF_FLQ2:
6359 case RISCV::AIF_FLW_PS: {
6360 // op: rs1
6361 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6362 Value |= (op & 0x1f) << 15;
6363 // op: rd
6364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6365 Value |= (op & 0x1f) << 7;
6366 // op: imm12
6367 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
6368 Value |= (op & 0xfff) << 20;
6369 break;
6370 }
6371 case RISCV::CV_LBU_ri_inc:
6372 case RISCV::CV_LB_ri_inc:
6373 case RISCV::CV_LHU_ri_inc:
6374 case RISCV::CV_LH_ri_inc:
6375 case RISCV::CV_LW_ri_inc: {
6376 // op: rs1
6377 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6378 Value |= (op & 0x1f) << 15;
6379 // op: rd
6380 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6381 Value |= (op & 0x1f) << 7;
6382 // op: imm12
6383 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6384 Value |= (op & 0xfff) << 20;
6385 break;
6386 }
6387 case RISCV::CSRRC:
6388 case RISCV::CSRRS:
6389 case RISCV::CSRRW: {
6390 // op: rs1
6391 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6392 Value |= (op & 0x1f) << 15;
6393 // op: rd
6394 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6395 Value |= (op & 0x1f) << 7;
6396 // op: imm12
6397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6398 Value |= (op & 0xfff) << 20;
6399 break;
6400 }
6401 case RISCV::TH_LBIA:
6402 case RISCV::TH_LBIB:
6403 case RISCV::TH_LBUIA:
6404 case RISCV::TH_LBUIB:
6405 case RISCV::TH_LDIA:
6406 case RISCV::TH_LDIB:
6407 case RISCV::TH_LHIA:
6408 case RISCV::TH_LHIB:
6409 case RISCV::TH_LHUIA:
6410 case RISCV::TH_LHUIB:
6411 case RISCV::TH_LWIA:
6412 case RISCV::TH_LWIB:
6413 case RISCV::TH_LWUIA:
6414 case RISCV::TH_LWUIB: {
6415 // op: rs1
6416 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6417 Value |= (op & 0x1f) << 15;
6418 // op: rd
6419 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6420 Value |= (op & 0x1f) << 7;
6421 // op: simm5
6422 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6423 Value |= (op & 0x1f) << 20;
6424 // op: uimm2
6425 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6426 Value |= (op & 0x3) << 25;
6427 break;
6428 }
6429 case RISCV::QC_INSBRI: {
6430 // op: rs1
6431 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6432 Value |= (op & 0x1f) << 15;
6433 // op: rd
6434 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6435 Value |= (op & 0x1f) << 7;
6436 // op: imm11
6437 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6438 Value |= (op & 0x7ff) << 20;
6439 break;
6440 }
6441 case RISCV::QC_MULIADD: {
6442 // op: rs1
6443 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6444 Value |= (op & 0x1f) << 15;
6445 // op: rd
6446 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6447 Value |= (op & 0x1f) << 7;
6448 // op: imm12
6449 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6450 Value |= (op & 0xfff) << 20;
6451 break;
6452 }
6453 case RISCV::CV_INSERT_B:
6454 case RISCV::CV_INSERT_H:
6455 case RISCV::CV_SDOTSP_SCI_B:
6456 case RISCV::CV_SDOTSP_SCI_H:
6457 case RISCV::CV_SDOTUP_SCI_B:
6458 case RISCV::CV_SDOTUP_SCI_H:
6459 case RISCV::CV_SDOTUSP_SCI_B:
6460 case RISCV::CV_SDOTUSP_SCI_H: {
6461 // op: rs1
6462 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6463 Value |= (op & 0x1f) << 15;
6464 // op: rd
6465 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6466 Value |= (op & 0x1f) << 7;
6467 // op: imm6
6468 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6469 Value |= (op & 0x1) << 25;
6470 Value |= (op & 0x3e) << 19;
6471 break;
6472 }
6473 case RISCV::CV_INSERT: {
6474 // op: rs1
6475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6476 Value |= (op & 0x1f) << 15;
6477 // op: rd
6478 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6479 Value |= (op & 0x1f) << 7;
6480 // op: is3
6481 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6482 Value |= (op & 0x1f) << 25;
6483 // op: is2
6484 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6485 Value |= (op & 0x1f) << 20;
6486 break;
6487 }
6488 case RISCV::QC_INSB:
6489 case RISCV::QC_INSBH: {
6490 // op: rs1
6491 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6492 Value |= (op & 0x1f) << 15;
6493 // op: rd
6494 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6495 Value |= (op & 0x1f) << 7;
6496 // op: shamt
6497 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6498 Value |= (op & 0x1f) << 20;
6499 // op: width
6500 op = getImmOpValueMinus1(MI, OpNo: 3, Fixups, STI);
6501 Value |= (op & 0x1f) << 25;
6502 break;
6503 }
6504 case RISCV::QC_SELECTIIEQ:
6505 case RISCV::QC_SELECTIINE: {
6506 // op: rs1
6507 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6508 Value |= (op & 0x1f) << 15;
6509 // op: rd
6510 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6511 Value |= (op & 0x1f) << 7;
6512 // op: simm1
6513 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6514 Value |= (op & 0x1f) << 20;
6515 // op: simm2
6516 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6517 Value |= (op & 0x1f) << 27;
6518 break;
6519 }
6520 case RISCV::TH_SBIA:
6521 case RISCV::TH_SBIB:
6522 case RISCV::TH_SDIA:
6523 case RISCV::TH_SDIB:
6524 case RISCV::TH_SHIA:
6525 case RISCV::TH_SHIB:
6526 case RISCV::TH_SWIA:
6527 case RISCV::TH_SWIB: {
6528 // op: rs1
6529 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6530 Value |= (op & 0x1f) << 15;
6531 // op: rd
6532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6533 Value |= (op & 0x1f) << 7;
6534 // op: simm5
6535 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6536 Value |= (op & 0x1f) << 20;
6537 // op: uimm2
6538 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6539 Value |= (op & 0x3) << 25;
6540 break;
6541 }
6542 case RISCV::QC_LIEQI:
6543 case RISCV::QC_LIGEI:
6544 case RISCV::QC_LIGEUI:
6545 case RISCV::QC_LILTI:
6546 case RISCV::QC_LILTUI:
6547 case RISCV::QC_LINEI: {
6548 // op: rs2
6549 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6550 Value |= (op & 0x1f) << 20;
6551 // op: rs1
6552 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6553 Value |= (op & 0x1f) << 15;
6554 // op: rd
6555 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6556 Value |= (op & 0x1f) << 7;
6557 // op: simm
6558 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
6559 Value |= (op & 0x1f) << 27;
6560 break;
6561 }
6562 case RISCV::SSPUSH: {
6563 // op: rs2
6564 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6565 Value |= (op & 0x1f) << 20;
6566 break;
6567 }
6568 case RISCV::AIF_SBG:
6569 case RISCV::AIF_SBL:
6570 case RISCV::AIF_SHG:
6571 case RISCV::AIF_SHL:
6572 case RISCV::HSV_B:
6573 case RISCV::HSV_D:
6574 case RISCV::HSV_H:
6575 case RISCV::HSV_W:
6576 case RISCV::SB_AQRL:
6577 case RISCV::SB_RL:
6578 case RISCV::SD_AQRL:
6579 case RISCV::SD_RL:
6580 case RISCV::SF_VLTE16:
6581 case RISCV::SF_VLTE32:
6582 case RISCV::SF_VLTE64:
6583 case RISCV::SF_VLTE8:
6584 case RISCV::SF_VSTE16:
6585 case RISCV::SF_VSTE32:
6586 case RISCV::SF_VSTE64:
6587 case RISCV::SF_VSTE8:
6588 case RISCV::SH_AQRL:
6589 case RISCV::SH_RL:
6590 case RISCV::SW_AQRL:
6591 case RISCV::SW_RL: {
6592 // op: rs2
6593 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6594 Value |= (op & 0x1f) << 20;
6595 // op: rs1
6596 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6597 Value |= (op & 0x1f) << 15;
6598 break;
6599 }
6600 case RISCV::QK_C_SB: {
6601 // op: rs2
6602 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6603 Value |= (op & 0x7) << 2;
6604 // op: rs1
6605 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6606 Value |= (op & 0x7) << 7;
6607 // op: imm
6608 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6609 Value |= (op & 0x1) << 12;
6610 Value |= (op & 0x18) << 7;
6611 Value |= (op & 0x6) << 4;
6612 break;
6613 }
6614 case RISCV::C_SB: {
6615 // op: rs2
6616 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6617 Value |= (op & 0x7) << 2;
6618 // op: rs1
6619 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6620 Value |= (op & 0x7) << 7;
6621 // op: imm
6622 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6623 Value |= (op & 0x1) << 6;
6624 Value |= (op & 0x2) << 4;
6625 break;
6626 }
6627 case RISCV::C_SH:
6628 case RISCV::C_SH_INX: {
6629 // op: rs2
6630 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6631 Value |= (op & 0x7) << 2;
6632 // op: rs1
6633 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6634 Value |= (op & 0x7) << 7;
6635 // op: imm
6636 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6637 Value |= (op & 0x2) << 4;
6638 break;
6639 }
6640 case RISCV::C_FSW:
6641 case RISCV::C_SW:
6642 case RISCV::C_SW_INX: {
6643 // op: rs2
6644 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6645 Value |= (op & 0x7) << 2;
6646 // op: rs1
6647 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6648 Value |= (op & 0x7) << 7;
6649 // op: imm
6650 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6651 Value |= (op & 0x38) << 7;
6652 Value |= (op & 0x4) << 4;
6653 Value |= (op & 0x40) >> 1;
6654 break;
6655 }
6656 case RISCV::QK_C_SH: {
6657 // op: rs2
6658 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6659 Value |= (op & 0x7) << 2;
6660 // op: rs1
6661 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6662 Value |= (op & 0x7) << 7;
6663 // op: imm
6664 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6665 Value |= (op & 0x38) << 7;
6666 Value |= (op & 0x6) << 4;
6667 break;
6668 }
6669 case RISCV::C_FSD:
6670 case RISCV::C_SD:
6671 case RISCV::C_SD_RV32: {
6672 // op: rs2
6673 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6674 Value |= (op & 0x7) << 2;
6675 // op: rs1
6676 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6677 Value |= (op & 0x7) << 7;
6678 // op: imm
6679 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
6680 Value |= (op & 0x38) << 7;
6681 Value |= (op & 0xc0) >> 1;
6682 break;
6683 }
6684 case RISCV::NDS_FCVT_BF16_S:
6685 case RISCV::NDS_FCVT_S_BF16: {
6686 // op: rs2
6687 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6688 Value |= (op & 0x1f) << 20;
6689 // op: rd
6690 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6691 Value |= (op & 0x1f) << 7;
6692 break;
6693 }
6694 case RISCV::HFENCE_GVMA:
6695 case RISCV::HFENCE_VVMA:
6696 case RISCV::HINVAL_GVMA:
6697 case RISCV::HINVAL_VVMA:
6698 case RISCV::SFENCE_VMA:
6699 case RISCV::SF_VTMV_T_V:
6700 case RISCV::SINVAL_VMA:
6701 case RISCV::TH_SFENCE_VMAS: {
6702 // op: rs2
6703 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6704 Value |= (op & 0x1f) << 20;
6705 // op: rs1
6706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6707 Value |= (op & 0x1f) << 15;
6708 break;
6709 }
6710 case RISCV::AIF_AMOADDG_D:
6711 case RISCV::AIF_AMOADDG_W:
6712 case RISCV::AIF_AMOADDL_D:
6713 case RISCV::AIF_AMOADDL_W:
6714 case RISCV::AIF_AMOANDG_D:
6715 case RISCV::AIF_AMOANDG_W:
6716 case RISCV::AIF_AMOANDL_D:
6717 case RISCV::AIF_AMOANDL_W:
6718 case RISCV::AIF_AMOCMPSWAPG_D:
6719 case RISCV::AIF_AMOCMPSWAPG_W:
6720 case RISCV::AIF_AMOCMPSWAPL_D:
6721 case RISCV::AIF_AMOCMPSWAPL_W:
6722 case RISCV::AIF_AMOMAXG_D:
6723 case RISCV::AIF_AMOMAXG_W:
6724 case RISCV::AIF_AMOMAXL_D:
6725 case RISCV::AIF_AMOMAXL_W:
6726 case RISCV::AIF_AMOMAXUG_D:
6727 case RISCV::AIF_AMOMAXUG_W:
6728 case RISCV::AIF_AMOMAXUL_D:
6729 case RISCV::AIF_AMOMAXUL_W:
6730 case RISCV::AIF_AMOMING_D:
6731 case RISCV::AIF_AMOMING_W:
6732 case RISCV::AIF_AMOMINL_D:
6733 case RISCV::AIF_AMOMINL_W:
6734 case RISCV::AIF_AMOMINUG_D:
6735 case RISCV::AIF_AMOMINUG_W:
6736 case RISCV::AIF_AMOMINUL_D:
6737 case RISCV::AIF_AMOMINUL_W:
6738 case RISCV::AIF_AMOORG_D:
6739 case RISCV::AIF_AMOORG_W:
6740 case RISCV::AIF_AMOORL_D:
6741 case RISCV::AIF_AMOORL_W:
6742 case RISCV::AIF_AMOSWAPG_D:
6743 case RISCV::AIF_AMOSWAPG_W:
6744 case RISCV::AIF_AMOSWAPL_D:
6745 case RISCV::AIF_AMOSWAPL_W:
6746 case RISCV::AIF_AMOXORG_D:
6747 case RISCV::AIF_AMOXORG_W:
6748 case RISCV::AIF_AMOXORL_D:
6749 case RISCV::AIF_AMOXORL_W:
6750 case RISCV::AMOADD_B:
6751 case RISCV::AMOADD_B_AQ:
6752 case RISCV::AMOADD_B_AQRL:
6753 case RISCV::AMOADD_B_RL:
6754 case RISCV::AMOADD_D:
6755 case RISCV::AMOADD_D_AQ:
6756 case RISCV::AMOADD_D_AQRL:
6757 case RISCV::AMOADD_D_RL:
6758 case RISCV::AMOADD_H:
6759 case RISCV::AMOADD_H_AQ:
6760 case RISCV::AMOADD_H_AQRL:
6761 case RISCV::AMOADD_H_RL:
6762 case RISCV::AMOADD_W:
6763 case RISCV::AMOADD_W_AQ:
6764 case RISCV::AMOADD_W_AQRL:
6765 case RISCV::AMOADD_W_RL:
6766 case RISCV::AMOAND_B:
6767 case RISCV::AMOAND_B_AQ:
6768 case RISCV::AMOAND_B_AQRL:
6769 case RISCV::AMOAND_B_RL:
6770 case RISCV::AMOAND_D:
6771 case RISCV::AMOAND_D_AQ:
6772 case RISCV::AMOAND_D_AQRL:
6773 case RISCV::AMOAND_D_RL:
6774 case RISCV::AMOAND_H:
6775 case RISCV::AMOAND_H_AQ:
6776 case RISCV::AMOAND_H_AQRL:
6777 case RISCV::AMOAND_H_RL:
6778 case RISCV::AMOAND_W:
6779 case RISCV::AMOAND_W_AQ:
6780 case RISCV::AMOAND_W_AQRL:
6781 case RISCV::AMOAND_W_RL:
6782 case RISCV::AMOMAXU_B:
6783 case RISCV::AMOMAXU_B_AQ:
6784 case RISCV::AMOMAXU_B_AQRL:
6785 case RISCV::AMOMAXU_B_RL:
6786 case RISCV::AMOMAXU_D:
6787 case RISCV::AMOMAXU_D_AQ:
6788 case RISCV::AMOMAXU_D_AQRL:
6789 case RISCV::AMOMAXU_D_RL:
6790 case RISCV::AMOMAXU_H:
6791 case RISCV::AMOMAXU_H_AQ:
6792 case RISCV::AMOMAXU_H_AQRL:
6793 case RISCV::AMOMAXU_H_RL:
6794 case RISCV::AMOMAXU_W:
6795 case RISCV::AMOMAXU_W_AQ:
6796 case RISCV::AMOMAXU_W_AQRL:
6797 case RISCV::AMOMAXU_W_RL:
6798 case RISCV::AMOMAX_B:
6799 case RISCV::AMOMAX_B_AQ:
6800 case RISCV::AMOMAX_B_AQRL:
6801 case RISCV::AMOMAX_B_RL:
6802 case RISCV::AMOMAX_D:
6803 case RISCV::AMOMAX_D_AQ:
6804 case RISCV::AMOMAX_D_AQRL:
6805 case RISCV::AMOMAX_D_RL:
6806 case RISCV::AMOMAX_H:
6807 case RISCV::AMOMAX_H_AQ:
6808 case RISCV::AMOMAX_H_AQRL:
6809 case RISCV::AMOMAX_H_RL:
6810 case RISCV::AMOMAX_W:
6811 case RISCV::AMOMAX_W_AQ:
6812 case RISCV::AMOMAX_W_AQRL:
6813 case RISCV::AMOMAX_W_RL:
6814 case RISCV::AMOMINU_B:
6815 case RISCV::AMOMINU_B_AQ:
6816 case RISCV::AMOMINU_B_AQRL:
6817 case RISCV::AMOMINU_B_RL:
6818 case RISCV::AMOMINU_D:
6819 case RISCV::AMOMINU_D_AQ:
6820 case RISCV::AMOMINU_D_AQRL:
6821 case RISCV::AMOMINU_D_RL:
6822 case RISCV::AMOMINU_H:
6823 case RISCV::AMOMINU_H_AQ:
6824 case RISCV::AMOMINU_H_AQRL:
6825 case RISCV::AMOMINU_H_RL:
6826 case RISCV::AMOMINU_W:
6827 case RISCV::AMOMINU_W_AQ:
6828 case RISCV::AMOMINU_W_AQRL:
6829 case RISCV::AMOMINU_W_RL:
6830 case RISCV::AMOMIN_B:
6831 case RISCV::AMOMIN_B_AQ:
6832 case RISCV::AMOMIN_B_AQRL:
6833 case RISCV::AMOMIN_B_RL:
6834 case RISCV::AMOMIN_D:
6835 case RISCV::AMOMIN_D_AQ:
6836 case RISCV::AMOMIN_D_AQRL:
6837 case RISCV::AMOMIN_D_RL:
6838 case RISCV::AMOMIN_H:
6839 case RISCV::AMOMIN_H_AQ:
6840 case RISCV::AMOMIN_H_AQRL:
6841 case RISCV::AMOMIN_H_RL:
6842 case RISCV::AMOMIN_W:
6843 case RISCV::AMOMIN_W_AQ:
6844 case RISCV::AMOMIN_W_AQRL:
6845 case RISCV::AMOMIN_W_RL:
6846 case RISCV::AMOOR_B:
6847 case RISCV::AMOOR_B_AQ:
6848 case RISCV::AMOOR_B_AQRL:
6849 case RISCV::AMOOR_B_RL:
6850 case RISCV::AMOOR_D:
6851 case RISCV::AMOOR_D_AQ:
6852 case RISCV::AMOOR_D_AQRL:
6853 case RISCV::AMOOR_D_RL:
6854 case RISCV::AMOOR_H:
6855 case RISCV::AMOOR_H_AQ:
6856 case RISCV::AMOOR_H_AQRL:
6857 case RISCV::AMOOR_H_RL:
6858 case RISCV::AMOOR_W:
6859 case RISCV::AMOOR_W_AQ:
6860 case RISCV::AMOOR_W_AQRL:
6861 case RISCV::AMOOR_W_RL:
6862 case RISCV::AMOSWAP_B:
6863 case RISCV::AMOSWAP_B_AQ:
6864 case RISCV::AMOSWAP_B_AQRL:
6865 case RISCV::AMOSWAP_B_RL:
6866 case RISCV::AMOSWAP_D:
6867 case RISCV::AMOSWAP_D_AQ:
6868 case RISCV::AMOSWAP_D_AQRL:
6869 case RISCV::AMOSWAP_D_RL:
6870 case RISCV::AMOSWAP_H:
6871 case RISCV::AMOSWAP_H_AQ:
6872 case RISCV::AMOSWAP_H_AQRL:
6873 case RISCV::AMOSWAP_H_RL:
6874 case RISCV::AMOSWAP_W:
6875 case RISCV::AMOSWAP_W_AQ:
6876 case RISCV::AMOSWAP_W_AQRL:
6877 case RISCV::AMOSWAP_W_RL:
6878 case RISCV::AMOXOR_B:
6879 case RISCV::AMOXOR_B_AQ:
6880 case RISCV::AMOXOR_B_AQRL:
6881 case RISCV::AMOXOR_B_RL:
6882 case RISCV::AMOXOR_D:
6883 case RISCV::AMOXOR_D_AQ:
6884 case RISCV::AMOXOR_D_AQRL:
6885 case RISCV::AMOXOR_D_RL:
6886 case RISCV::AMOXOR_H:
6887 case RISCV::AMOXOR_H_AQ:
6888 case RISCV::AMOXOR_H_AQRL:
6889 case RISCV::AMOXOR_H_RL:
6890 case RISCV::AMOXOR_W:
6891 case RISCV::AMOXOR_W_AQ:
6892 case RISCV::AMOXOR_W_AQRL:
6893 case RISCV::AMOXOR_W_RL:
6894 case RISCV::NDS_LEA_B_ZE:
6895 case RISCV::NDS_LEA_D:
6896 case RISCV::NDS_LEA_D_ZE:
6897 case RISCV::NDS_LEA_H:
6898 case RISCV::NDS_LEA_H_ZE:
6899 case RISCV::NDS_LEA_W:
6900 case RISCV::NDS_LEA_W_ZE:
6901 case RISCV::SC_D:
6902 case RISCV::SC_D_AQ:
6903 case RISCV::SC_D_AQRL:
6904 case RISCV::SC_D_RL:
6905 case RISCV::SC_W:
6906 case RISCV::SC_W_AQ:
6907 case RISCV::SC_W_AQRL:
6908 case RISCV::SC_W_RL:
6909 case RISCV::SSAMOSWAP_D:
6910 case RISCV::SSAMOSWAP_D_AQ:
6911 case RISCV::SSAMOSWAP_D_AQRL:
6912 case RISCV::SSAMOSWAP_D_RL:
6913 case RISCV::SSAMOSWAP_W:
6914 case RISCV::SSAMOSWAP_W_AQ:
6915 case RISCV::SSAMOSWAP_W_AQRL:
6916 case RISCV::SSAMOSWAP_W_RL: {
6917 // op: rs2
6918 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6919 Value |= (op & 0x1f) << 20;
6920 // op: rs1
6921 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6922 Value |= (op & 0x1f) << 15;
6923 // op: rd
6924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6925 Value |= (op & 0x1f) << 7;
6926 break;
6927 }
6928 case RISCV::TH_LDD:
6929 case RISCV::TH_LWD:
6930 case RISCV::TH_LWUD:
6931 case RISCV::TH_SDD:
6932 case RISCV::TH_SWD: {
6933 // op: rs2
6934 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6935 Value |= (op & 0x1f) << 20;
6936 // op: rs1
6937 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6938 Value |= (op & 0x1f) << 15;
6939 // op: rd
6940 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6941 Value |= (op & 0x1f) << 7;
6942 // op: uimm2
6943 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
6944 Value |= (op & 0x3) << 25;
6945 break;
6946 }
6947 case RISCV::CM_MVA01S:
6948 case RISCV::CM_MVSA01:
6949 case RISCV::QC_CM_MVA01S:
6950 case RISCV::QC_CM_MVSA01: {
6951 // op: rs2
6952 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6953 Value |= (op & 0x7) << 2;
6954 // op: rs1
6955 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6956 Value |= (op & 0x7) << 7;
6957 break;
6958 }
6959 case RISCV::QC_CSRRWRI: {
6960 // op: rs2
6961 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6962 Value |= (op & 0x1f) << 20;
6963 // op: rs1
6964 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
6965 Value |= (op & 0x1f) << 15;
6966 // op: rd
6967 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6968 Value |= (op & 0x1f) << 7;
6969 break;
6970 }
6971 case RISCV::FADD_D:
6972 case RISCV::FADD_D_IN32X:
6973 case RISCV::FADD_D_INX:
6974 case RISCV::FADD_H:
6975 case RISCV::FADD_H_INX:
6976 case RISCV::FADD_Q:
6977 case RISCV::FADD_S:
6978 case RISCV::FADD_S_INX:
6979 case RISCV::FDIV_D:
6980 case RISCV::FDIV_D_IN32X:
6981 case RISCV::FDIV_D_INX:
6982 case RISCV::FDIV_H:
6983 case RISCV::FDIV_H_INX:
6984 case RISCV::FDIV_Q:
6985 case RISCV::FDIV_S:
6986 case RISCV::FDIV_S_INX:
6987 case RISCV::FMUL_D:
6988 case RISCV::FMUL_D_IN32X:
6989 case RISCV::FMUL_D_INX:
6990 case RISCV::FMUL_H:
6991 case RISCV::FMUL_H_INX:
6992 case RISCV::FMUL_Q:
6993 case RISCV::FMUL_S:
6994 case RISCV::FMUL_S_INX:
6995 case RISCV::FSUB_D:
6996 case RISCV::FSUB_D_IN32X:
6997 case RISCV::FSUB_D_INX:
6998 case RISCV::FSUB_H:
6999 case RISCV::FSUB_H_INX:
7000 case RISCV::FSUB_Q:
7001 case RISCV::FSUB_S:
7002 case RISCV::FSUB_S_INX: {
7003 // op: rs2
7004 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7005 Value |= (op & 0x1f) << 20;
7006 // op: rs1
7007 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7008 Value |= (op & 0x1f) << 15;
7009 // op: frm
7010 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7011 Value |= (op & 0x7) << 12;
7012 // op: rd
7013 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7014 Value |= (op & 0x1f) << 7;
7015 break;
7016 }
7017 case RISCV::PM2WADDSU_H:
7018 case RISCV::PM2WADDU_H:
7019 case RISCV::PM2WADD_H:
7020 case RISCV::PM2WADD_HX:
7021 case RISCV::PM2WSUB_H:
7022 case RISCV::PM2WSUB_HX:
7023 case RISCV::PWADDU_B:
7024 case RISCV::PWADDU_H:
7025 case RISCV::PWADD_B:
7026 case RISCV::PWADD_H:
7027 case RISCV::PWMULSU_B:
7028 case RISCV::PWMULSU_H:
7029 case RISCV::PWMULU_B:
7030 case RISCV::PWMULU_H:
7031 case RISCV::PWMUL_B:
7032 case RISCV::PWMUL_H:
7033 case RISCV::PWSLA_BS:
7034 case RISCV::PWSLA_HS:
7035 case RISCV::PWSLL_BS:
7036 case RISCV::PWSLL_HS:
7037 case RISCV::PWSUBU_B:
7038 case RISCV::PWSUBU_H:
7039 case RISCV::PWSUB_B:
7040 case RISCV::PWSUB_H:
7041 case RISCV::WADD:
7042 case RISCV::WADDU:
7043 case RISCV::WMUL:
7044 case RISCV::WMULSU:
7045 case RISCV::WMULU:
7046 case RISCV::WSLA:
7047 case RISCV::WSLL:
7048 case RISCV::WSUB:
7049 case RISCV::WSUBU:
7050 case RISCV::WZIP16P:
7051 case RISCV::WZIP8P: {
7052 // op: rs2
7053 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7054 Value |= (op & 0x1f) << 20;
7055 // op: rs1
7056 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7057 Value |= (op & 0x1f) << 15;
7058 // op: rd
7059 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7060 Value |= (op & 0x1e) << 7;
7061 break;
7062 }
7063 case RISCV::AADD:
7064 case RISCV::AADDU:
7065 case RISCV::ADD:
7066 case RISCV::ADDW:
7067 case RISCV::ADD_UW:
7068 case RISCV::AES64DS:
7069 case RISCV::AES64DSM:
7070 case RISCV::AES64ES:
7071 case RISCV::AES64ESM:
7072 case RISCV::AES64KS2:
7073 case RISCV::AIF_BITMIXB:
7074 case RISCV::AIF_CUBEFACEIDX_PS:
7075 case RISCV::AIF_CUBEFACE_PS:
7076 case RISCV::AIF_CUBESGNSC_PS:
7077 case RISCV::AIF_CUBESGNTC_PS:
7078 case RISCV::AIF_FADD_PI:
7079 case RISCV::AIF_FAMOADDG_PI:
7080 case RISCV::AIF_FAMOADDL_PI:
7081 case RISCV::AIF_FAMOANDG_PI:
7082 case RISCV::AIF_FAMOANDL_PI:
7083 case RISCV::AIF_FAMOMAXG_PI:
7084 case RISCV::AIF_FAMOMAXG_PS:
7085 case RISCV::AIF_FAMOMAXL_PI:
7086 case RISCV::AIF_FAMOMAXL_PS:
7087 case RISCV::AIF_FAMOMAXUG_PI:
7088 case RISCV::AIF_FAMOMAXUL_PI:
7089 case RISCV::AIF_FAMOMING_PI:
7090 case RISCV::AIF_FAMOMING_PS:
7091 case RISCV::AIF_FAMOMINL_PI:
7092 case RISCV::AIF_FAMOMINL_PS:
7093 case RISCV::AIF_FAMOMINUG_PI:
7094 case RISCV::AIF_FAMOMINUL_PI:
7095 case RISCV::AIF_FAMOORG_PI:
7096 case RISCV::AIF_FAMOORL_PI:
7097 case RISCV::AIF_FAMOSWAPG_PI:
7098 case RISCV::AIF_FAMOSWAPL_PI:
7099 case RISCV::AIF_FAMOXORG_PI:
7100 case RISCV::AIF_FAMOXORL_PI:
7101 case RISCV::AIF_FAND_PI:
7102 case RISCV::AIF_FCMOVM_PS:
7103 case RISCV::AIF_FDIVU_PI:
7104 case RISCV::AIF_FDIV_PI:
7105 case RISCV::AIF_FEQM_PS:
7106 case RISCV::AIF_FEQ_PI:
7107 case RISCV::AIF_FEQ_PS:
7108 case RISCV::AIF_FG32B_PS:
7109 case RISCV::AIF_FG32H_PS:
7110 case RISCV::AIF_FG32W_PS:
7111 case RISCV::AIF_FGBG_PS:
7112 case RISCV::AIF_FGBL_PS:
7113 case RISCV::AIF_FGB_PS:
7114 case RISCV::AIF_FGHG_PS:
7115 case RISCV::AIF_FGHL_PS:
7116 case RISCV::AIF_FGH_PS:
7117 case RISCV::AIF_FGWG_PS:
7118 case RISCV::AIF_FGWL_PS:
7119 case RISCV::AIF_FGW_PS:
7120 case RISCV::AIF_FLEM_PS:
7121 case RISCV::AIF_FLE_PI:
7122 case RISCV::AIF_FLE_PS:
7123 case RISCV::AIF_FLTM_PI:
7124 case RISCV::AIF_FLTM_PS:
7125 case RISCV::AIF_FLTU_PI:
7126 case RISCV::AIF_FLT_PI:
7127 case RISCV::AIF_FLT_PS:
7128 case RISCV::AIF_FMAXU_PI:
7129 case RISCV::AIF_FMAX_PI:
7130 case RISCV::AIF_FMAX_PS:
7131 case RISCV::AIF_FMINU_PI:
7132 case RISCV::AIF_FMIN_PI:
7133 case RISCV::AIF_FMIN_PS:
7134 case RISCV::AIF_FMULHU_PI:
7135 case RISCV::AIF_FMULH_PI:
7136 case RISCV::AIF_FMUL_PI:
7137 case RISCV::AIF_FOR_PI:
7138 case RISCV::AIF_FRCP_FIX_RAST:
7139 case RISCV::AIF_FREMU_PI:
7140 case RISCV::AIF_FREM_PI:
7141 case RISCV::AIF_FSGNJN_PS:
7142 case RISCV::AIF_FSGNJX_PS:
7143 case RISCV::AIF_FSGNJ_PS:
7144 case RISCV::AIF_FSLL_PI:
7145 case RISCV::AIF_FSRA_PI:
7146 case RISCV::AIF_FSRL_PI:
7147 case RISCV::AIF_FSUB_PI:
7148 case RISCV::AIF_FXOR_PI:
7149 case RISCV::AIF_PACKB:
7150 case RISCV::AND:
7151 case RISCV::ANDN:
7152 case RISCV::ASUB:
7153 case RISCV::ASUBU:
7154 case RISCV::BCLR:
7155 case RISCV::BEXT:
7156 case RISCV::BINV:
7157 case RISCV::BSET:
7158 case RISCV::CLMUL:
7159 case RISCV::CLMULH:
7160 case RISCV::CLMULR:
7161 case RISCV::CV_ADD_B:
7162 case RISCV::CV_ADD_DIV2:
7163 case RISCV::CV_ADD_DIV4:
7164 case RISCV::CV_ADD_DIV8:
7165 case RISCV::CV_ADD_H:
7166 case RISCV::CV_ADD_SC_B:
7167 case RISCV::CV_ADD_SC_H:
7168 case RISCV::CV_AND_B:
7169 case RISCV::CV_AND_H:
7170 case RISCV::CV_AND_SC_B:
7171 case RISCV::CV_AND_SC_H:
7172 case RISCV::CV_AVGU_B:
7173 case RISCV::CV_AVGU_H:
7174 case RISCV::CV_AVGU_SC_B:
7175 case RISCV::CV_AVGU_SC_H:
7176 case RISCV::CV_AVG_B:
7177 case RISCV::CV_AVG_H:
7178 case RISCV::CV_AVG_SC_B:
7179 case RISCV::CV_AVG_SC_H:
7180 case RISCV::CV_BCLRR:
7181 case RISCV::CV_BSETR:
7182 case RISCV::CV_CLIPR:
7183 case RISCV::CV_CLIPUR:
7184 case RISCV::CV_CMPEQ_B:
7185 case RISCV::CV_CMPEQ_H:
7186 case RISCV::CV_CMPEQ_SC_B:
7187 case RISCV::CV_CMPEQ_SC_H:
7188 case RISCV::CV_CMPGEU_B:
7189 case RISCV::CV_CMPGEU_H:
7190 case RISCV::CV_CMPGEU_SC_B:
7191 case RISCV::CV_CMPGEU_SC_H:
7192 case RISCV::CV_CMPGE_B:
7193 case RISCV::CV_CMPGE_H:
7194 case RISCV::CV_CMPGE_SC_B:
7195 case RISCV::CV_CMPGE_SC_H:
7196 case RISCV::CV_CMPGTU_B:
7197 case RISCV::CV_CMPGTU_H:
7198 case RISCV::CV_CMPGTU_SC_B:
7199 case RISCV::CV_CMPGTU_SC_H:
7200 case RISCV::CV_CMPGT_B:
7201 case RISCV::CV_CMPGT_H:
7202 case RISCV::CV_CMPGT_SC_B:
7203 case RISCV::CV_CMPGT_SC_H:
7204 case RISCV::CV_CMPLEU_B:
7205 case RISCV::CV_CMPLEU_H:
7206 case RISCV::CV_CMPLEU_SC_B:
7207 case RISCV::CV_CMPLEU_SC_H:
7208 case RISCV::CV_CMPLE_B:
7209 case RISCV::CV_CMPLE_H:
7210 case RISCV::CV_CMPLE_SC_B:
7211 case RISCV::CV_CMPLE_SC_H:
7212 case RISCV::CV_CMPLTU_B:
7213 case RISCV::CV_CMPLTU_H:
7214 case RISCV::CV_CMPLTU_SC_B:
7215 case RISCV::CV_CMPLTU_SC_H:
7216 case RISCV::CV_CMPLT_B:
7217 case RISCV::CV_CMPLT_H:
7218 case RISCV::CV_CMPLT_SC_B:
7219 case RISCV::CV_CMPLT_SC_H:
7220 case RISCV::CV_CMPNE_B:
7221 case RISCV::CV_CMPNE_H:
7222 case RISCV::CV_CMPNE_SC_B:
7223 case RISCV::CV_CMPNE_SC_H:
7224 case RISCV::CV_DOTSP_B:
7225 case RISCV::CV_DOTSP_H:
7226 case RISCV::CV_DOTSP_SC_B:
7227 case RISCV::CV_DOTSP_SC_H:
7228 case RISCV::CV_DOTUP_B:
7229 case RISCV::CV_DOTUP_H:
7230 case RISCV::CV_DOTUP_SC_B:
7231 case RISCV::CV_DOTUP_SC_H:
7232 case RISCV::CV_DOTUSP_B:
7233 case RISCV::CV_DOTUSP_H:
7234 case RISCV::CV_DOTUSP_SC_B:
7235 case RISCV::CV_DOTUSP_SC_H:
7236 case RISCV::CV_EXTRACTR:
7237 case RISCV::CV_EXTRACTUR:
7238 case RISCV::CV_LBU_rr:
7239 case RISCV::CV_LB_rr:
7240 case RISCV::CV_LHU_rr:
7241 case RISCV::CV_LH_rr:
7242 case RISCV::CV_LW_rr:
7243 case RISCV::CV_MAX:
7244 case RISCV::CV_MAXU:
7245 case RISCV::CV_MAXU_B:
7246 case RISCV::CV_MAXU_H:
7247 case RISCV::CV_MAXU_SC_B:
7248 case RISCV::CV_MAXU_SC_H:
7249 case RISCV::CV_MAX_B:
7250 case RISCV::CV_MAX_H:
7251 case RISCV::CV_MAX_SC_B:
7252 case RISCV::CV_MAX_SC_H:
7253 case RISCV::CV_MIN:
7254 case RISCV::CV_MINU:
7255 case RISCV::CV_MINU_B:
7256 case RISCV::CV_MINU_H:
7257 case RISCV::CV_MINU_SC_B:
7258 case RISCV::CV_MINU_SC_H:
7259 case RISCV::CV_MIN_B:
7260 case RISCV::CV_MIN_H:
7261 case RISCV::CV_MIN_SC_B:
7262 case RISCV::CV_MIN_SC_H:
7263 case RISCV::CV_OR_B:
7264 case RISCV::CV_OR_H:
7265 case RISCV::CV_OR_SC_B:
7266 case RISCV::CV_OR_SC_H:
7267 case RISCV::CV_PACK:
7268 case RISCV::CV_PACK_H:
7269 case RISCV::CV_ROR:
7270 case RISCV::CV_SHUFFLE_B:
7271 case RISCV::CV_SHUFFLE_H:
7272 case RISCV::CV_SLE:
7273 case RISCV::CV_SLEU:
7274 case RISCV::CV_SLL_B:
7275 case RISCV::CV_SLL_H:
7276 case RISCV::CV_SLL_SC_B:
7277 case RISCV::CV_SLL_SC_H:
7278 case RISCV::CV_SRA_B:
7279 case RISCV::CV_SRA_H:
7280 case RISCV::CV_SRA_SC_B:
7281 case RISCV::CV_SRA_SC_H:
7282 case RISCV::CV_SRL_B:
7283 case RISCV::CV_SRL_H:
7284 case RISCV::CV_SRL_SC_B:
7285 case RISCV::CV_SRL_SC_H:
7286 case RISCV::CV_SUBROTMJ:
7287 case RISCV::CV_SUBROTMJ_DIV2:
7288 case RISCV::CV_SUBROTMJ_DIV4:
7289 case RISCV::CV_SUBROTMJ_DIV8:
7290 case RISCV::CV_SUB_B:
7291 case RISCV::CV_SUB_DIV2:
7292 case RISCV::CV_SUB_DIV4:
7293 case RISCV::CV_SUB_DIV8:
7294 case RISCV::CV_SUB_H:
7295 case RISCV::CV_SUB_SC_B:
7296 case RISCV::CV_SUB_SC_H:
7297 case RISCV::CV_XOR_B:
7298 case RISCV::CV_XOR_H:
7299 case RISCV::CV_XOR_SC_B:
7300 case RISCV::CV_XOR_SC_H:
7301 case RISCV::CZERO_EQZ:
7302 case RISCV::CZERO_NEZ:
7303 case RISCV::DIV:
7304 case RISCV::DIVU:
7305 case RISCV::DIVUW:
7306 case RISCV::DIVW:
7307 case RISCV::FEQ_D:
7308 case RISCV::FEQ_D_IN32X:
7309 case RISCV::FEQ_D_INX:
7310 case RISCV::FEQ_H:
7311 case RISCV::FEQ_H_INX:
7312 case RISCV::FEQ_Q:
7313 case RISCV::FEQ_S:
7314 case RISCV::FEQ_S_INX:
7315 case RISCV::FLEQ_D:
7316 case RISCV::FLEQ_H:
7317 case RISCV::FLEQ_Q:
7318 case RISCV::FLEQ_S:
7319 case RISCV::FLE_D:
7320 case RISCV::FLE_D_IN32X:
7321 case RISCV::FLE_D_INX:
7322 case RISCV::FLE_H:
7323 case RISCV::FLE_H_INX:
7324 case RISCV::FLE_Q:
7325 case RISCV::FLE_S:
7326 case RISCV::FLE_S_INX:
7327 case RISCV::FLTQ_D:
7328 case RISCV::FLTQ_H:
7329 case RISCV::FLTQ_Q:
7330 case RISCV::FLTQ_S:
7331 case RISCV::FLT_D:
7332 case RISCV::FLT_D_IN32X:
7333 case RISCV::FLT_D_INX:
7334 case RISCV::FLT_H:
7335 case RISCV::FLT_H_INX:
7336 case RISCV::FLT_Q:
7337 case RISCV::FLT_S:
7338 case RISCV::FLT_S_INX:
7339 case RISCV::FMAXM_D:
7340 case RISCV::FMAXM_H:
7341 case RISCV::FMAXM_Q:
7342 case RISCV::FMAXM_S:
7343 case RISCV::FMAX_D:
7344 case RISCV::FMAX_D_IN32X:
7345 case RISCV::FMAX_D_INX:
7346 case RISCV::FMAX_H:
7347 case RISCV::FMAX_H_INX:
7348 case RISCV::FMAX_Q:
7349 case RISCV::FMAX_S:
7350 case RISCV::FMAX_S_INX:
7351 case RISCV::FMINM_D:
7352 case RISCV::FMINM_H:
7353 case RISCV::FMINM_Q:
7354 case RISCV::FMINM_S:
7355 case RISCV::FMIN_D:
7356 case RISCV::FMIN_D_IN32X:
7357 case RISCV::FMIN_D_INX:
7358 case RISCV::FMIN_H:
7359 case RISCV::FMIN_H_INX:
7360 case RISCV::FMIN_Q:
7361 case RISCV::FMIN_S:
7362 case RISCV::FMIN_S_INX:
7363 case RISCV::FMVP_D_X:
7364 case RISCV::FMVP_Q_X:
7365 case RISCV::FSGNJN_D:
7366 case RISCV::FSGNJN_D_IN32X:
7367 case RISCV::FSGNJN_D_INX:
7368 case RISCV::FSGNJN_H:
7369 case RISCV::FSGNJN_H_INX:
7370 case RISCV::FSGNJN_Q:
7371 case RISCV::FSGNJN_S:
7372 case RISCV::FSGNJN_S_INX:
7373 case RISCV::FSGNJX_D:
7374 case RISCV::FSGNJX_D_IN32X:
7375 case RISCV::FSGNJX_D_INX:
7376 case RISCV::FSGNJX_H:
7377 case RISCV::FSGNJX_H_INX:
7378 case RISCV::FSGNJX_Q:
7379 case RISCV::FSGNJX_S:
7380 case RISCV::FSGNJX_S_INX:
7381 case RISCV::FSGNJ_D:
7382 case RISCV::FSGNJ_D_IN32X:
7383 case RISCV::FSGNJ_D_INX:
7384 case RISCV::FSGNJ_H:
7385 case RISCV::FSGNJ_H_INX:
7386 case RISCV::FSGNJ_Q:
7387 case RISCV::FSGNJ_S:
7388 case RISCV::FSGNJ_S_INX:
7389 case RISCV::MAX:
7390 case RISCV::MAXU:
7391 case RISCV::MIN:
7392 case RISCV::MINU:
7393 case RISCV::MOP_RR_0:
7394 case RISCV::MOP_RR_1:
7395 case RISCV::MOP_RR_2:
7396 case RISCV::MOP_RR_3:
7397 case RISCV::MOP_RR_4:
7398 case RISCV::MOP_RR_5:
7399 case RISCV::MOP_RR_6:
7400 case RISCV::MOP_RR_7:
7401 case RISCV::MSEQ:
7402 case RISCV::MSLT:
7403 case RISCV::MSLTU:
7404 case RISCV::MUL:
7405 case RISCV::MULH:
7406 case RISCV::MULHR:
7407 case RISCV::MULHRSU:
7408 case RISCV::MULHRU:
7409 case RISCV::MULHSU:
7410 case RISCV::MULHSU_H0:
7411 case RISCV::MULHSU_H1:
7412 case RISCV::MULHU:
7413 case RISCV::MULH_H0:
7414 case RISCV::MULH_H1:
7415 case RISCV::MULQ:
7416 case RISCV::MULQR:
7417 case RISCV::MULSU_H00:
7418 case RISCV::MULSU_H11:
7419 case RISCV::MULSU_W00:
7420 case RISCV::MULSU_W11:
7421 case RISCV::MULU_H00:
7422 case RISCV::MULU_H01:
7423 case RISCV::MULU_H11:
7424 case RISCV::MULU_W00:
7425 case RISCV::MULU_W01:
7426 case RISCV::MULU_W11:
7427 case RISCV::MULW:
7428 case RISCV::MUL_H00:
7429 case RISCV::MUL_H01:
7430 case RISCV::MUL_H11:
7431 case RISCV::MUL_W00:
7432 case RISCV::MUL_W01:
7433 case RISCV::MUL_W11:
7434 case RISCV::NDS_FFB:
7435 case RISCV::NDS_FFMISM:
7436 case RISCV::NDS_FFZMISM:
7437 case RISCV::NDS_FLMISM:
7438 case RISCV::OR:
7439 case RISCV::ORN:
7440 case RISCV::PAADDU_B:
7441 case RISCV::PAADDU_H:
7442 case RISCV::PAADDU_W:
7443 case RISCV::PAADD_B:
7444 case RISCV::PAADD_H:
7445 case RISCV::PAADD_W:
7446 case RISCV::PAAS_HX:
7447 case RISCV::PAAS_WX:
7448 case RISCV::PABDSUMU_B:
7449 case RISCV::PABDU_B:
7450 case RISCV::PABDU_H:
7451 case RISCV::PABD_B:
7452 case RISCV::PABD_H:
7453 case RISCV::PACK:
7454 case RISCV::PACKH:
7455 case RISCV::PACKW:
7456 case RISCV::PACKY:
7457 case RISCV::PADD_B:
7458 case RISCV::PADD_BS:
7459 case RISCV::PADD_H:
7460 case RISCV::PADD_HS:
7461 case RISCV::PADD_W:
7462 case RISCV::PADD_WS:
7463 case RISCV::PASA_HX:
7464 case RISCV::PASA_WX:
7465 case RISCV::PASUBU_B:
7466 case RISCV::PASUBU_H:
7467 case RISCV::PASUBU_W:
7468 case RISCV::PASUB_B:
7469 case RISCV::PASUB_H:
7470 case RISCV::PASUB_W:
7471 case RISCV::PAS_HX:
7472 case RISCV::PAS_WX:
7473 case RISCV::PM2ADDSU_H:
7474 case RISCV::PM2ADDSU_W:
7475 case RISCV::PM2ADDU_H:
7476 case RISCV::PM2ADDU_W:
7477 case RISCV::PM2ADD_H:
7478 case RISCV::PM2ADD_HX:
7479 case RISCV::PM2ADD_W:
7480 case RISCV::PM2ADD_WX:
7481 case RISCV::PM2SADD_H:
7482 case RISCV::PM2SADD_HX:
7483 case RISCV::PM2SUB_H:
7484 case RISCV::PM2SUB_HX:
7485 case RISCV::PM2SUB_W:
7486 case RISCV::PM2SUB_WX:
7487 case RISCV::PM4ADDSU_B:
7488 case RISCV::PM4ADDSU_H:
7489 case RISCV::PM4ADDU_B:
7490 case RISCV::PM4ADDU_H:
7491 case RISCV::PM4ADD_B:
7492 case RISCV::PM4ADD_H:
7493 case RISCV::PMAXU_B:
7494 case RISCV::PMAXU_H:
7495 case RISCV::PMAXU_W:
7496 case RISCV::PMAX_B:
7497 case RISCV::PMAX_H:
7498 case RISCV::PMAX_W:
7499 case RISCV::PMINU_B:
7500 case RISCV::PMINU_H:
7501 case RISCV::PMINU_W:
7502 case RISCV::PMIN_B:
7503 case RISCV::PMIN_H:
7504 case RISCV::PMIN_W:
7505 case RISCV::PMQ2ADD_H:
7506 case RISCV::PMQ2ADD_W:
7507 case RISCV::PMQR2ADD_H:
7508 case RISCV::PMQR2ADD_W:
7509 case RISCV::PMSEQ_B:
7510 case RISCV::PMSEQ_H:
7511 case RISCV::PMSEQ_W:
7512 case RISCV::PMSLTU_B:
7513 case RISCV::PMSLTU_H:
7514 case RISCV::PMSLTU_W:
7515 case RISCV::PMSLT_B:
7516 case RISCV::PMSLT_H:
7517 case RISCV::PMSLT_W:
7518 case RISCV::PMULHRSU_H:
7519 case RISCV::PMULHRSU_W:
7520 case RISCV::PMULHRU_H:
7521 case RISCV::PMULHRU_W:
7522 case RISCV::PMULHR_H:
7523 case RISCV::PMULHR_W:
7524 case RISCV::PMULHSU_H:
7525 case RISCV::PMULHSU_H_B0:
7526 case RISCV::PMULHSU_H_B1:
7527 case RISCV::PMULHSU_W:
7528 case RISCV::PMULHSU_W_H0:
7529 case RISCV::PMULHSU_W_H1:
7530 case RISCV::PMULHU_H:
7531 case RISCV::PMULHU_W:
7532 case RISCV::PMULH_H:
7533 case RISCV::PMULH_H_B0:
7534 case RISCV::PMULH_H_B1:
7535 case RISCV::PMULH_W:
7536 case RISCV::PMULH_W_H0:
7537 case RISCV::PMULH_W_H1:
7538 case RISCV::PMULQR_H:
7539 case RISCV::PMULQR_W:
7540 case RISCV::PMULQ_H:
7541 case RISCV::PMULQ_W:
7542 case RISCV::PMULSU_H_B00:
7543 case RISCV::PMULSU_H_B11:
7544 case RISCV::PMULSU_W_H00:
7545 case RISCV::PMULSU_W_H11:
7546 case RISCV::PMULU_H_B00:
7547 case RISCV::PMULU_H_B01:
7548 case RISCV::PMULU_H_B11:
7549 case RISCV::PMULU_W_H00:
7550 case RISCV::PMULU_W_H01:
7551 case RISCV::PMULU_W_H11:
7552 case RISCV::PMUL_H_B00:
7553 case RISCV::PMUL_H_B01:
7554 case RISCV::PMUL_H_B11:
7555 case RISCV::PMUL_W_H00:
7556 case RISCV::PMUL_W_H01:
7557 case RISCV::PMUL_W_H11:
7558 case RISCV::PNCLIPP_B:
7559 case RISCV::PNCLIPP_H:
7560 case RISCV::PNCLIPP_W:
7561 case RISCV::PNCLIPUP_B:
7562 case RISCV::PNCLIPUP_H:
7563 case RISCV::PNCLIPUP_W:
7564 case RISCV::PPAIREO_B:
7565 case RISCV::PPAIREO_H:
7566 case RISCV::PPAIREO_W:
7567 case RISCV::PPAIRE_B:
7568 case RISCV::PPAIRE_H:
7569 case RISCV::PPAIROE_B:
7570 case RISCV::PPAIROE_H:
7571 case RISCV::PPAIROE_W:
7572 case RISCV::PPAIRO_B:
7573 case RISCV::PPAIRO_H:
7574 case RISCV::PPAIRO_W:
7575 case RISCV::PREDSUMU_BS:
7576 case RISCV::PREDSUMU_HS:
7577 case RISCV::PREDSUMU_WS:
7578 case RISCV::PREDSUM_BS:
7579 case RISCV::PREDSUM_HS:
7580 case RISCV::PREDSUM_WS:
7581 case RISCV::PSADDU_B:
7582 case RISCV::PSADDU_H:
7583 case RISCV::PSADDU_W:
7584 case RISCV::PSADD_B:
7585 case RISCV::PSADD_H:
7586 case RISCV::PSADD_W:
7587 case RISCV::PSAS_HX:
7588 case RISCV::PSAS_WX:
7589 case RISCV::PSA_HX:
7590 case RISCV::PSA_WX:
7591 case RISCV::PSH1ADD_H:
7592 case RISCV::PSH1ADD_W:
7593 case RISCV::PSLL_BS:
7594 case RISCV::PSLL_HS:
7595 case RISCV::PSLL_WS:
7596 case RISCV::PSRA_BS:
7597 case RISCV::PSRA_HS:
7598 case RISCV::PSRA_WS:
7599 case RISCV::PSRL_BS:
7600 case RISCV::PSRL_HS:
7601 case RISCV::PSRL_WS:
7602 case RISCV::PSSA_HX:
7603 case RISCV::PSSA_WX:
7604 case RISCV::PSSH1SADD_H:
7605 case RISCV::PSSH1SADD_W:
7606 case RISCV::PSSHAR_HS:
7607 case RISCV::PSSHAR_WS:
7608 case RISCV::PSSHA_HS:
7609 case RISCV::PSSHA_WS:
7610 case RISCV::PSSHLR_HS:
7611 case RISCV::PSSHLR_WS:
7612 case RISCV::PSSHL_HS:
7613 case RISCV::PSSHL_WS:
7614 case RISCV::PSSUBU_B:
7615 case RISCV::PSSUBU_H:
7616 case RISCV::PSSUBU_W:
7617 case RISCV::PSSUB_B:
7618 case RISCV::PSSUB_H:
7619 case RISCV::PSSUB_W:
7620 case RISCV::PSUB_B:
7621 case RISCV::PSUB_H:
7622 case RISCV::PSUB_W:
7623 case RISCV::QC_ADDSAT:
7624 case RISCV::QC_ADDUSAT:
7625 case RISCV::QC_CSRRWR:
7626 case RISCV::QC_EXTDPR:
7627 case RISCV::QC_EXTDPRH:
7628 case RISCV::QC_EXTDR:
7629 case RISCV::QC_EXTDUPR:
7630 case RISCV::QC_EXTDUPRH:
7631 case RISCV::QC_EXTDUR:
7632 case RISCV::QC_SHLSAT:
7633 case RISCV::QC_SHLUSAT:
7634 case RISCV::QC_SUBSAT:
7635 case RISCV::QC_SUBUSAT:
7636 case RISCV::QC_WRAP:
7637 case RISCV::REM:
7638 case RISCV::REMU:
7639 case RISCV::REMUW:
7640 case RISCV::REMW:
7641 case RISCV::ROL:
7642 case RISCV::ROLW:
7643 case RISCV::ROR:
7644 case RISCV::RORW:
7645 case RISCV::SADD:
7646 case RISCV::SADDU:
7647 case RISCV::SH1ADD:
7648 case RISCV::SH1ADD_UW:
7649 case RISCV::SH2ADD:
7650 case RISCV::SH2ADD_UW:
7651 case RISCV::SH3ADD:
7652 case RISCV::SH3ADD_UW:
7653 case RISCV::SHA:
7654 case RISCV::SHA512SIG0H:
7655 case RISCV::SHA512SIG0L:
7656 case RISCV::SHA512SIG1H:
7657 case RISCV::SHA512SIG1L:
7658 case RISCV::SHA512SUM0R:
7659 case RISCV::SHA512SUM1R:
7660 case RISCV::SHAR:
7661 case RISCV::SHL:
7662 case RISCV::SHLR:
7663 case RISCV::SLL:
7664 case RISCV::SLLW:
7665 case RISCV::SLT:
7666 case RISCV::SLTU:
7667 case RISCV::SRA:
7668 case RISCV::SRAW:
7669 case RISCV::SRL:
7670 case RISCV::SRLW:
7671 case RISCV::SSH1SADD:
7672 case RISCV::SSHA:
7673 case RISCV::SSHAR:
7674 case RISCV::SSHL:
7675 case RISCV::SSHLR:
7676 case RISCV::SSUB:
7677 case RISCV::SSUBU:
7678 case RISCV::SUB:
7679 case RISCV::SUBW:
7680 case RISCV::UNZIP16HP:
7681 case RISCV::UNZIP16P:
7682 case RISCV::UNZIP8HP:
7683 case RISCV::UNZIP8P:
7684 case RISCV::VSETVL:
7685 case RISCV::VT_MASKC:
7686 case RISCV::VT_MASKCN:
7687 case RISCV::XNOR:
7688 case RISCV::XOR:
7689 case RISCV::XPERM4:
7690 case RISCV::XPERM8:
7691 case RISCV::YADD:
7692 case RISCV::YADDRW:
7693 case RISCV::YBLD:
7694 case RISCV::YBNDSRW:
7695 case RISCV::YBNDSW:
7696 case RISCV::YEQ:
7697 case RISCV::YPERMC:
7698 case RISCV::YSS:
7699 case RISCV::YSUNSEAL:
7700 case RISCV::ZIP16HP:
7701 case RISCV::ZIP16P:
7702 case RISCV::ZIP8HP:
7703 case RISCV::ZIP8P: {
7704 // op: rs2
7705 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7706 Value |= (op & 0x1f) << 20;
7707 // op: rs1
7708 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7709 Value |= (op & 0x1f) << 15;
7710 // op: rd
7711 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7712 Value |= (op & 0x1f) << 7;
7713 break;
7714 }
7715 case RISCV::AES32DSI:
7716 case RISCV::AES32DSMI:
7717 case RISCV::AES32ESI:
7718 case RISCV::AES32ESMI:
7719 case RISCV::SM4ED:
7720 case RISCV::SM4KS: {
7721 // op: rs2
7722 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7723 Value |= (op & 0x1f) << 20;
7724 // op: rs1
7725 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7726 Value |= (op & 0x1f) << 15;
7727 // op: rd
7728 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7729 Value |= (op & 0x1f) << 7;
7730 // op: bs
7731 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7732 Value |= (op & 0x3) << 30;
7733 break;
7734 }
7735 case RISCV::QC_LWM:
7736 case RISCV::QC_LWMI:
7737 case RISCV::QC_SETWM:
7738 case RISCV::QC_SETWMI:
7739 case RISCV::QC_SWM:
7740 case RISCV::QC_SWMI: {
7741 // op: rs2
7742 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7743 Value |= (op & 0x1f) << 20;
7744 // op: rs1
7745 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7746 Value |= (op & 0x1f) << 15;
7747 // op: rd
7748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7749 Value |= (op & 0x1f) << 7;
7750 // op: imm
7751 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7752 Value |= (op & 0x7c) << 23;
7753 break;
7754 }
7755 case RISCV::CV_ADDN:
7756 case RISCV::CV_ADDRN:
7757 case RISCV::CV_ADDUN:
7758 case RISCV::CV_ADDURN:
7759 case RISCV::CV_MULHHSN:
7760 case RISCV::CV_MULHHSRN:
7761 case RISCV::CV_MULHHUN:
7762 case RISCV::CV_MULHHURN:
7763 case RISCV::CV_MULSN:
7764 case RISCV::CV_MULSRN:
7765 case RISCV::CV_MULUN:
7766 case RISCV::CV_MULURN:
7767 case RISCV::CV_SUBN:
7768 case RISCV::CV_SUBRN:
7769 case RISCV::CV_SUBUN:
7770 case RISCV::CV_SUBURN: {
7771 // op: rs2
7772 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7773 Value |= (op & 0x1f) << 20;
7774 // op: rs1
7775 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7776 Value |= (op & 0x1f) << 15;
7777 // op: rd
7778 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7779 Value |= (op & 0x1f) << 7;
7780 // op: imm5
7781 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7782 Value |= (op & 0x1f) << 25;
7783 break;
7784 }
7785 case RISCV::QC_LRB:
7786 case RISCV::QC_LRBU:
7787 case RISCV::QC_LRH:
7788 case RISCV::QC_LRHU:
7789 case RISCV::QC_LRW:
7790 case RISCV::QC_SRB:
7791 case RISCV::QC_SRH:
7792 case RISCV::QC_SRW: {
7793 // op: rs2
7794 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7795 Value |= (op & 0x1f) << 20;
7796 // op: rs1
7797 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7798 Value |= (op & 0x1f) << 15;
7799 // op: rd
7800 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7801 Value |= (op & 0x1f) << 7;
7802 // op: shamt
7803 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7804 Value |= (op & 0x7) << 25;
7805 break;
7806 }
7807 case RISCV::QC_SHLADD: {
7808 // op: rs2
7809 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7810 Value |= (op & 0x1f) << 20;
7811 // op: rs1
7812 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7813 Value |= (op & 0x1f) << 15;
7814 // op: rd
7815 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7816 Value |= (op & 0x1f) << 7;
7817 // op: shamt
7818 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7819 Value |= (op & 0x1f) << 25;
7820 break;
7821 }
7822 case RISCV::TH_ADDSL:
7823 case RISCV::TH_FLRD:
7824 case RISCV::TH_FLRW:
7825 case RISCV::TH_FLURD:
7826 case RISCV::TH_FLURW:
7827 case RISCV::TH_FSRD:
7828 case RISCV::TH_FSRW:
7829 case RISCV::TH_FSURD:
7830 case RISCV::TH_FSURW:
7831 case RISCV::TH_LRB:
7832 case RISCV::TH_LRBU:
7833 case RISCV::TH_LRD:
7834 case RISCV::TH_LRH:
7835 case RISCV::TH_LRHU:
7836 case RISCV::TH_LRW:
7837 case RISCV::TH_LRWU:
7838 case RISCV::TH_LURB:
7839 case RISCV::TH_LURBU:
7840 case RISCV::TH_LURD:
7841 case RISCV::TH_LURH:
7842 case RISCV::TH_LURHU:
7843 case RISCV::TH_LURW:
7844 case RISCV::TH_LURWU:
7845 case RISCV::TH_SRB:
7846 case RISCV::TH_SRD:
7847 case RISCV::TH_SRH:
7848 case RISCV::TH_SRW:
7849 case RISCV::TH_SURB:
7850 case RISCV::TH_SURD:
7851 case RISCV::TH_SURH:
7852 case RISCV::TH_SURW: {
7853 // op: rs2
7854 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7855 Value |= (op & 0x1f) << 20;
7856 // op: rs1
7857 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7858 Value |= (op & 0x1f) << 15;
7859 // op: rd
7860 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7861 Value |= (op & 0x1f) << 7;
7862 // op: uimm2
7863 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
7864 Value |= (op & 0x3) << 25;
7865 break;
7866 }
7867 case RISCV::AMOCAS_B:
7868 case RISCV::AMOCAS_B_AQ:
7869 case RISCV::AMOCAS_B_AQRL:
7870 case RISCV::AMOCAS_B_RL:
7871 case RISCV::AMOCAS_D_RV32:
7872 case RISCV::AMOCAS_D_RV32_AQ:
7873 case RISCV::AMOCAS_D_RV32_AQRL:
7874 case RISCV::AMOCAS_D_RV32_RL:
7875 case RISCV::AMOCAS_D_RV64:
7876 case RISCV::AMOCAS_D_RV64_AQ:
7877 case RISCV::AMOCAS_D_RV64_AQRL:
7878 case RISCV::AMOCAS_D_RV64_RL:
7879 case RISCV::AMOCAS_H:
7880 case RISCV::AMOCAS_H_AQ:
7881 case RISCV::AMOCAS_H_AQRL:
7882 case RISCV::AMOCAS_H_RL:
7883 case RISCV::AMOCAS_Q:
7884 case RISCV::AMOCAS_Q_AQ:
7885 case RISCV::AMOCAS_Q_AQRL:
7886 case RISCV::AMOCAS_Q_RL:
7887 case RISCV::AMOCAS_W:
7888 case RISCV::AMOCAS_W_AQ:
7889 case RISCV::AMOCAS_W_AQRL:
7890 case RISCV::AMOCAS_W_RL: {
7891 // op: rs2
7892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7893 Value |= (op & 0x1f) << 20;
7894 // op: rs1
7895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7896 Value |= (op & 0x1f) << 15;
7897 // op: rd
7898 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7899 Value |= (op & 0x1f) << 7;
7900 break;
7901 }
7902 case RISCV::AIF_MASKAND:
7903 case RISCV::AIF_MASKOR:
7904 case RISCV::AIF_MASKXOR: {
7905 // op: rs2
7906 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7907 Value |= (op & 0x7) << 20;
7908 // op: rs1
7909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7910 Value |= (op & 0x7) << 15;
7911 // op: rd
7912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7913 Value |= (op & 0x7) << 7;
7914 break;
7915 }
7916 case RISCV::C_ADDW:
7917 case RISCV::C_AND:
7918 case RISCV::C_MUL:
7919 case RISCV::C_OR:
7920 case RISCV::C_SUB:
7921 case RISCV::C_SUBW:
7922 case RISCV::C_XOR: {
7923 // op: rs2
7924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7925 Value |= (op & 0x7) << 2;
7926 // op: rd
7927 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7928 Value |= (op & 0x7) << 7;
7929 break;
7930 }
7931 case RISCV::QC_SELECTIEQI:
7932 case RISCV::QC_SELECTINEI: {
7933 // op: rs2
7934 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7935 Value |= (op & 0x1f) << 20;
7936 // op: rd
7937 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7938 Value |= (op & 0x1f) << 7;
7939 // op: imm
7940 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
7941 Value |= (op & 0x1f) << 15;
7942 // op: simm2
7943 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
7944 Value |= (op & 0x1f) << 27;
7945 break;
7946 }
7947 case RISCV::CV_LBU_rr_inc:
7948 case RISCV::CV_LB_rr_inc:
7949 case RISCV::CV_LHU_rr_inc:
7950 case RISCV::CV_LH_rr_inc:
7951 case RISCV::CV_LW_rr_inc: {
7952 // op: rs2
7953 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7954 Value |= (op & 0x1f) << 20;
7955 // op: rs1
7956 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7957 Value |= (op & 0x1f) << 15;
7958 // op: rd
7959 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7960 Value |= (op & 0x1f) << 7;
7961 break;
7962 }
7963 case RISCV::MQRWACC:
7964 case RISCV::MQWACC:
7965 case RISCV::PM2WADDASU_H:
7966 case RISCV::PM2WADDAU_H:
7967 case RISCV::PM2WADDA_H:
7968 case RISCV::PM2WADDA_HX:
7969 case RISCV::PM2WSUBA_H:
7970 case RISCV::PM2WSUBA_HX:
7971 case RISCV::PMQRWACC_H:
7972 case RISCV::PMQWACC_H:
7973 case RISCV::PWADDAU_B:
7974 case RISCV::PWADDAU_H:
7975 case RISCV::PWADDA_B:
7976 case RISCV::PWADDA_H:
7977 case RISCV::PWMACCSU_H:
7978 case RISCV::PWMACCU_H:
7979 case RISCV::PWMACC_H:
7980 case RISCV::PWSUBAU_B:
7981 case RISCV::PWSUBAU_H:
7982 case RISCV::PWSUBA_B:
7983 case RISCV::PWSUBA_H:
7984 case RISCV::WADDA:
7985 case RISCV::WADDAU:
7986 case RISCV::WMACC:
7987 case RISCV::WMACCSU:
7988 case RISCV::WMACCU:
7989 case RISCV::WSUBA:
7990 case RISCV::WSUBAU: {
7991 // op: rs2
7992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7993 Value |= (op & 0x1f) << 20;
7994 // op: rs1
7995 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7996 Value |= (op & 0x1f) << 15;
7997 // op: rd
7998 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7999 Value |= (op & 0x1e) << 7;
8000 break;
8001 }
8002 case RISCV::CV_ADDNR:
8003 case RISCV::CV_ADDRNR:
8004 case RISCV::CV_ADDUNR:
8005 case RISCV::CV_ADDURNR:
8006 case RISCV::CV_CPLXMUL_I:
8007 case RISCV::CV_CPLXMUL_I_DIV2:
8008 case RISCV::CV_CPLXMUL_I_DIV4:
8009 case RISCV::CV_CPLXMUL_I_DIV8:
8010 case RISCV::CV_CPLXMUL_R:
8011 case RISCV::CV_CPLXMUL_R_DIV2:
8012 case RISCV::CV_CPLXMUL_R_DIV4:
8013 case RISCV::CV_CPLXMUL_R_DIV8:
8014 case RISCV::CV_INSERTR:
8015 case RISCV::CV_MAC:
8016 case RISCV::CV_MSU:
8017 case RISCV::CV_PACKHI_B:
8018 case RISCV::CV_PACKLO_B:
8019 case RISCV::CV_SDOTSP_B:
8020 case RISCV::CV_SDOTSP_H:
8021 case RISCV::CV_SDOTSP_SC_B:
8022 case RISCV::CV_SDOTSP_SC_H:
8023 case RISCV::CV_SDOTUP_B:
8024 case RISCV::CV_SDOTUP_H:
8025 case RISCV::CV_SDOTUP_SC_B:
8026 case RISCV::CV_SDOTUP_SC_H:
8027 case RISCV::CV_SDOTUSP_B:
8028 case RISCV::CV_SDOTUSP_H:
8029 case RISCV::CV_SDOTUSP_SC_B:
8030 case RISCV::CV_SDOTUSP_SC_H:
8031 case RISCV::CV_SHUFFLE2_B:
8032 case RISCV::CV_SHUFFLE2_H:
8033 case RISCV::CV_SUBNR:
8034 case RISCV::CV_SUBRNR:
8035 case RISCV::CV_SUBUNR:
8036 case RISCV::CV_SUBURNR:
8037 case RISCV::MACCSU_H00:
8038 case RISCV::MACCSU_H11:
8039 case RISCV::MACCSU_W00:
8040 case RISCV::MACCSU_W11:
8041 case RISCV::MACCU_H00:
8042 case RISCV::MACCU_H01:
8043 case RISCV::MACCU_H11:
8044 case RISCV::MACCU_W00:
8045 case RISCV::MACCU_W01:
8046 case RISCV::MACCU_W11:
8047 case RISCV::MACC_H00:
8048 case RISCV::MACC_H01:
8049 case RISCV::MACC_H11:
8050 case RISCV::MACC_W00:
8051 case RISCV::MACC_W01:
8052 case RISCV::MACC_W11:
8053 case RISCV::MERGE:
8054 case RISCV::MHACC:
8055 case RISCV::MHACCSU:
8056 case RISCV::MHACCSU_H0:
8057 case RISCV::MHACCSU_H1:
8058 case RISCV::MHACCU:
8059 case RISCV::MHACC_H0:
8060 case RISCV::MHACC_H1:
8061 case RISCV::MHRACC:
8062 case RISCV::MHRACCSU:
8063 case RISCV::MHRACCU:
8064 case RISCV::MQACC_H00:
8065 case RISCV::MQACC_H01:
8066 case RISCV::MQACC_H11:
8067 case RISCV::MQACC_W00:
8068 case RISCV::MQACC_W01:
8069 case RISCV::MQACC_W11:
8070 case RISCV::MQRACC_H00:
8071 case RISCV::MQRACC_H01:
8072 case RISCV::MQRACC_H11:
8073 case RISCV::MQRACC_W00:
8074 case RISCV::MQRACC_W01:
8075 case RISCV::MQRACC_W11:
8076 case RISCV::MVM:
8077 case RISCV::MVMN:
8078 case RISCV::PABDSUMAU_B:
8079 case RISCV::PM2ADDASU_H:
8080 case RISCV::PM2ADDASU_W:
8081 case RISCV::PM2ADDAU_H:
8082 case RISCV::PM2ADDAU_W:
8083 case RISCV::PM2ADDA_H:
8084 case RISCV::PM2ADDA_HX:
8085 case RISCV::PM2ADDA_W:
8086 case RISCV::PM2ADDA_WX:
8087 case RISCV::PM2SUBA_H:
8088 case RISCV::PM2SUBA_HX:
8089 case RISCV::PM2SUBA_W:
8090 case RISCV::PM2SUBA_WX:
8091 case RISCV::PM4ADDASU_B:
8092 case RISCV::PM4ADDASU_H:
8093 case RISCV::PM4ADDAU_B:
8094 case RISCV::PM4ADDAU_H:
8095 case RISCV::PM4ADDA_B:
8096 case RISCV::PM4ADDA_H:
8097 case RISCV::PMACCSU_W_H00:
8098 case RISCV::PMACCSU_W_H11:
8099 case RISCV::PMACCU_W_H00:
8100 case RISCV::PMACCU_W_H01:
8101 case RISCV::PMACCU_W_H11:
8102 case RISCV::PMACC_W_H00:
8103 case RISCV::PMACC_W_H01:
8104 case RISCV::PMACC_W_H11:
8105 case RISCV::PMHACCSU_H:
8106 case RISCV::PMHACCSU_H_B0:
8107 case RISCV::PMHACCSU_H_B1:
8108 case RISCV::PMHACCSU_W:
8109 case RISCV::PMHACCSU_W_H0:
8110 case RISCV::PMHACCSU_W_H1:
8111 case RISCV::PMHACCU_H:
8112 case RISCV::PMHACCU_W:
8113 case RISCV::PMHACC_H:
8114 case RISCV::PMHACC_H_B0:
8115 case RISCV::PMHACC_H_B1:
8116 case RISCV::PMHACC_W:
8117 case RISCV::PMHACC_W_H0:
8118 case RISCV::PMHACC_W_H1:
8119 case RISCV::PMHRACCSU_H:
8120 case RISCV::PMHRACCSU_W:
8121 case RISCV::PMHRACCU_H:
8122 case RISCV::PMHRACCU_W:
8123 case RISCV::PMHRACC_H:
8124 case RISCV::PMHRACC_W:
8125 case RISCV::PMQ2ADDA_H:
8126 case RISCV::PMQ2ADDA_W:
8127 case RISCV::PMQACC_W_H00:
8128 case RISCV::PMQACC_W_H01:
8129 case RISCV::PMQACC_W_H11:
8130 case RISCV::PMQR2ADDA_H:
8131 case RISCV::PMQR2ADDA_W:
8132 case RISCV::PMQRACC_W_H00:
8133 case RISCV::PMQRACC_W_H01:
8134 case RISCV::PMQRACC_W_H11:
8135 case RISCV::QC_INSBHR:
8136 case RISCV::QC_INSBPR:
8137 case RISCV::QC_INSBPRH:
8138 case RISCV::QC_INSBR:
8139 case RISCV::SLX:
8140 case RISCV::SRX:
8141 case RISCV::TH_MULA:
8142 case RISCV::TH_MULAH:
8143 case RISCV::TH_MULAW:
8144 case RISCV::TH_MULS:
8145 case RISCV::TH_MULSH:
8146 case RISCV::TH_MULSW:
8147 case RISCV::TH_MVEQZ:
8148 case RISCV::TH_MVNEZ: {
8149 // op: rs2
8150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8151 Value |= (op & 0x1f) << 20;
8152 // op: rs1
8153 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8154 Value |= (op & 0x1f) << 15;
8155 // op: rd
8156 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8157 Value |= (op & 0x1f) << 7;
8158 break;
8159 }
8160 case RISCV::CV_MACHHSN:
8161 case RISCV::CV_MACHHSRN:
8162 case RISCV::CV_MACHHUN:
8163 case RISCV::CV_MACHHURN:
8164 case RISCV::CV_MACSN:
8165 case RISCV::CV_MACSRN:
8166 case RISCV::CV_MACUN:
8167 case RISCV::CV_MACURN: {
8168 // op: rs2
8169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8170 Value |= (op & 0x1f) << 20;
8171 // op: rs1
8172 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8173 Value |= (op & 0x1f) << 15;
8174 // op: rd
8175 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8176 Value |= (op & 0x1f) << 7;
8177 // op: imm5
8178 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
8179 Value |= (op & 0x1f) << 25;
8180 break;
8181 }
8182 case RISCV::QC_LIEQ:
8183 case RISCV::QC_LIGE:
8184 case RISCV::QC_LIGEU:
8185 case RISCV::QC_LILT:
8186 case RISCV::QC_LILTU:
8187 case RISCV::QC_LINE: {
8188 // op: rs2
8189 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8190 Value |= (op & 0x1f) << 20;
8191 // op: rs1
8192 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8193 Value |= (op & 0x1f) << 15;
8194 // op: rd
8195 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8196 Value |= (op & 0x1f) << 7;
8197 // op: simm
8198 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
8199 Value |= (op & 0x1f) << 27;
8200 break;
8201 }
8202 case RISCV::QC_SELECTIEQ:
8203 case RISCV::QC_SELECTINE: {
8204 // op: rs2
8205 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8206 Value |= (op & 0x1f) << 20;
8207 // op: rs1
8208 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8209 Value |= (op & 0x1f) << 15;
8210 // op: rd
8211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8212 Value |= (op & 0x1f) << 7;
8213 // op: simm2
8214 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
8215 Value |= (op & 0x1f) << 27;
8216 break;
8217 }
8218 case RISCV::FMADD_D:
8219 case RISCV::FMADD_D_IN32X:
8220 case RISCV::FMADD_D_INX:
8221 case RISCV::FMADD_H:
8222 case RISCV::FMADD_H_INX:
8223 case RISCV::FMADD_Q:
8224 case RISCV::FMADD_S:
8225 case RISCV::FMADD_S_INX:
8226 case RISCV::FMSUB_D:
8227 case RISCV::FMSUB_D_IN32X:
8228 case RISCV::FMSUB_D_INX:
8229 case RISCV::FMSUB_H:
8230 case RISCV::FMSUB_H_INX:
8231 case RISCV::FMSUB_Q:
8232 case RISCV::FMSUB_S:
8233 case RISCV::FMSUB_S_INX:
8234 case RISCV::FNMADD_D:
8235 case RISCV::FNMADD_D_IN32X:
8236 case RISCV::FNMADD_D_INX:
8237 case RISCV::FNMADD_H:
8238 case RISCV::FNMADD_H_INX:
8239 case RISCV::FNMADD_Q:
8240 case RISCV::FNMADD_S:
8241 case RISCV::FNMADD_S_INX:
8242 case RISCV::FNMSUB_D:
8243 case RISCV::FNMSUB_D_IN32X:
8244 case RISCV::FNMSUB_D_INX:
8245 case RISCV::FNMSUB_H:
8246 case RISCV::FNMSUB_H_INX:
8247 case RISCV::FNMSUB_Q:
8248 case RISCV::FNMSUB_S:
8249 case RISCV::FNMSUB_S_INX: {
8250 // op: rs3
8251 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8252 Value |= (op & 0x1f) << 27;
8253 // op: rs2
8254 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8255 Value |= (op & 0x1f) << 20;
8256 // op: rs1
8257 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8258 Value |= (op & 0x1f) << 15;
8259 // op: frm
8260 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8261 Value |= (op & 0x7) << 12;
8262 // op: rd
8263 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8264 Value |= (op & 0x1f) << 7;
8265 break;
8266 }
8267 case RISCV::MIPS_CCMOV: {
8268 // op: rs3
8269 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8270 Value |= (op & 0x1f) << 27;
8271 // op: rs2
8272 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8273 Value |= (op & 0x1f) << 20;
8274 // op: rs1
8275 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8276 Value |= (op & 0x1f) << 15;
8277 // op: rd
8278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8279 Value |= (op & 0x1f) << 7;
8280 break;
8281 }
8282 case RISCV::CV_SB_rr_inc:
8283 case RISCV::CV_SH_rr_inc:
8284 case RISCV::CV_SW_rr_inc: {
8285 // op: rs3
8286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8287 Value |= (op & 0x1f) << 7;
8288 // op: rs2
8289 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8290 Value |= (op & 0x1f) << 20;
8291 // op: rs1
8292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8293 Value |= (op & 0x1f) << 15;
8294 break;
8295 }
8296 case RISCV::QC_MVEQI:
8297 case RISCV::QC_MVGEI:
8298 case RISCV::QC_MVGEUI:
8299 case RISCV::QC_MVLTI:
8300 case RISCV::QC_MVLTUI:
8301 case RISCV::QC_MVNEI: {
8302 // op: rs3
8303 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8304 Value |= (op & 0x1f) << 27;
8305 // op: rs1
8306 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8307 Value |= (op & 0x1f) << 15;
8308 // op: rd
8309 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8310 Value |= (op & 0x1f) << 7;
8311 // op: imm
8312 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
8313 Value |= (op & 0x1f) << 20;
8314 break;
8315 }
8316 case RISCV::QC_SELECTEQI:
8317 case RISCV::QC_SELECTNEI: {
8318 // op: rs3
8319 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8320 Value |= (op & 0x1f) << 27;
8321 // op: rs2
8322 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8323 Value |= (op & 0x1f) << 20;
8324 // op: rd
8325 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8326 Value |= (op & 0x1f) << 7;
8327 // op: imm
8328 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8329 Value |= (op & 0x1f) << 15;
8330 break;
8331 }
8332 case RISCV::QC_MVEQ:
8333 case RISCV::QC_MVGE:
8334 case RISCV::QC_MVGEU:
8335 case RISCV::QC_MVLT:
8336 case RISCV::QC_MVLTU:
8337 case RISCV::QC_MVNE: {
8338 // op: rs3
8339 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8340 Value |= (op & 0x1f) << 27;
8341 // op: rs2
8342 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8343 Value |= (op & 0x1f) << 20;
8344 // op: rs1
8345 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8346 Value |= (op & 0x1f) << 15;
8347 // op: rd
8348 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8349 Value |= (op & 0x1f) << 7;
8350 break;
8351 }
8352 case RISCV::QC_C_SYNC:
8353 case RISCV::QC_C_SYNCR:
8354 case RISCV::QC_C_SYNCWF:
8355 case RISCV::QC_C_SYNCWL: {
8356 // op: slist
8357 op = getImmOpValueSlist(MI, OpNo: 0, Fixups, STI);
8358 Value |= (op & 0x7) << 7;
8359 break;
8360 }
8361 case RISCV::Insn16: {
8362 // op: value
8363 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8364 Value |= (op & 0xffff);
8365 break;
8366 }
8367 case RISCV::Insn32: {
8368 // op: value
8369 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8370 Value |= (op & 0xffffffff);
8371 break;
8372 }
8373 case RISCV::Insn48: {
8374 // op: value
8375 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8376 Value |= (op & 0xffffffffffff);
8377 break;
8378 }
8379 case RISCV::Insn64: {
8380 // op: value
8381 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
8382 Value |= (op & 0xffffffffffffffff);
8383 break;
8384 }
8385 case RISCV::VMV_V_I: {
8386 // op: vd
8387 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8388 Value |= (op & 0x1f) << 7;
8389 // op: imm
8390 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
8391 Value |= (op & 0x1f) << 15;
8392 break;
8393 }
8394 case RISCV::VFMV_V_F:
8395 case RISCV::VMV_V_X: {
8396 // op: vd
8397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8398 Value |= (op & 0x1f) << 7;
8399 // op: rs1
8400 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8401 Value |= (op & 0x1f) << 15;
8402 break;
8403 }
8404 case RISCV::VMTL_V:
8405 case RISCV::VMTTL_V: {
8406 // op: vd
8407 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8408 Value |= (op & 0x1f) << 7;
8409 // op: rs1
8410 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8411 Value |= (op & 0x1f) << 15;
8412 // op: rs2
8413 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8414 Value |= (op & 0x1f) << 20;
8415 // op: vm
8416 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
8417 Value |= (op & 0x1) << 25;
8418 // op: vlambda
8419 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
8420 Value |= (op & 0x7) << 29;
8421 break;
8422 }
8423 case RISCV::VID_V: {
8424 // op: vd
8425 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8426 Value |= (op & 0x1f) << 7;
8427 // op: vm
8428 op = getVMaskReg(MI, OpNo: 1, Fixups, STI);
8429 Value |= (op & 0x1) << 25;
8430 break;
8431 }
8432 case RISCV::SF_VFEXPA_V:
8433 case RISCV::SF_VFEXP_V:
8434 case RISCV::VABS_V:
8435 case RISCV::VBREV8_V:
8436 case RISCV::VBREV_V:
8437 case RISCV::VCLZ_V:
8438 case RISCV::VCPOP_V:
8439 case RISCV::VCTZ_V:
8440 case RISCV::VFCLASS_V:
8441 case RISCV::VFCVT_F_XU_V:
8442 case RISCV::VFCVT_F_X_V:
8443 case RISCV::VFCVT_RTZ_XU_F_V:
8444 case RISCV::VFCVT_RTZ_X_F_V:
8445 case RISCV::VFCVT_XU_F_V:
8446 case RISCV::VFCVT_X_F_V:
8447 case RISCV::VFNCVTBF16_F_F_W:
8448 case RISCV::VFNCVTBF16_SAT_F_F_W:
8449 case RISCV::VFNCVT_F_F_Q:
8450 case RISCV::VFNCVT_F_F_W:
8451 case RISCV::VFNCVT_F_XU_W:
8452 case RISCV::VFNCVT_F_X_W:
8453 case RISCV::VFNCVT_ROD_F_F_W:
8454 case RISCV::VFNCVT_RTZ_XU_F_W:
8455 case RISCV::VFNCVT_RTZ_X_F_W:
8456 case RISCV::VFNCVT_SAT_F_F_Q:
8457 case RISCV::VFNCVT_XU_F_W:
8458 case RISCV::VFNCVT_X_F_W:
8459 case RISCV::VFREC7_V:
8460 case RISCV::VFRSQRT7_V:
8461 case RISCV::VFSQRT_V:
8462 case RISCV::VFWCVTBF16_F_F_V:
8463 case RISCV::VFWCVT_F_F_V:
8464 case RISCV::VFWCVT_F_XU_V:
8465 case RISCV::VFWCVT_F_X_V:
8466 case RISCV::VFWCVT_RTZ_XU_F_V:
8467 case RISCV::VFWCVT_RTZ_X_F_V:
8468 case RISCV::VFWCVT_XU_F_V:
8469 case RISCV::VFWCVT_X_F_V:
8470 case RISCV::VIOTA_M:
8471 case RISCV::VMSBF_M:
8472 case RISCV::VMSIF_M:
8473 case RISCV::VMSOF_M:
8474 case RISCV::VREV8_V:
8475 case RISCV::VSEXT_VF2:
8476 case RISCV::VSEXT_VF4:
8477 case RISCV::VSEXT_VF8:
8478 case RISCV::VUNZIPE_V:
8479 case RISCV::VUNZIPO_V:
8480 case RISCV::VZEXT_VF2:
8481 case RISCV::VZEXT_VF4:
8482 case RISCV::VZEXT_VF8: {
8483 // op: vd
8484 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8485 Value |= (op & 0x1f) << 7;
8486 // op: vm
8487 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
8488 Value |= (op & 0x1) << 25;
8489 // op: vs2
8490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8491 Value |= (op & 0x1f) << 20;
8492 break;
8493 }
8494 case RISCV::VADD_VI:
8495 case RISCV::VAND_VI:
8496 case RISCV::VMSEQ_VI:
8497 case RISCV::VMSGTU_VI:
8498 case RISCV::VMSGT_VI:
8499 case RISCV::VMSLEU_VI:
8500 case RISCV::VMSLE_VI:
8501 case RISCV::VMSNE_VI:
8502 case RISCV::VNCLIPU_WI:
8503 case RISCV::VNCLIP_WI:
8504 case RISCV::VNSRA_WI:
8505 case RISCV::VNSRL_WI:
8506 case RISCV::VOR_VI:
8507 case RISCV::VRGATHER_VI:
8508 case RISCV::VRSUB_VI:
8509 case RISCV::VSADDU_VI:
8510 case RISCV::VSADD_VI:
8511 case RISCV::VSLIDEDOWN_VI:
8512 case RISCV::VSLIDEUP_VI:
8513 case RISCV::VSLL_VI:
8514 case RISCV::VSRA_VI:
8515 case RISCV::VSRL_VI:
8516 case RISCV::VSSRA_VI:
8517 case RISCV::VSSRL_VI:
8518 case RISCV::VWSLL_VI:
8519 case RISCV::VXOR_VI: {
8520 // op: vd
8521 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8522 Value |= (op & 0x1f) << 7;
8523 // op: vm
8524 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8525 Value |= (op & 0x1) << 25;
8526 // op: vs2
8527 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8528 Value |= (op & 0x1f) << 20;
8529 // op: imm
8530 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8531 Value |= (op & 0x1f) << 15;
8532 break;
8533 }
8534 case RISCV::VROR_VI: {
8535 // op: vd
8536 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8537 Value |= (op & 0x1f) << 7;
8538 // op: vm
8539 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8540 Value |= (op & 0x1) << 25;
8541 // op: vs2
8542 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8543 Value |= (op & 0x1f) << 20;
8544 // op: imm
8545 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8546 Value |= (op & 0x20) << 21;
8547 Value |= (op & 0x1f) << 15;
8548 break;
8549 }
8550 case RISCV::SF_VFNRCLIP_XU_F_QF:
8551 case RISCV::SF_VFNRCLIP_X_F_QF:
8552 case RISCV::VAADDU_VX:
8553 case RISCV::VAADD_VX:
8554 case RISCV::VADD_VX:
8555 case RISCV::VANDN_VX:
8556 case RISCV::VAND_VX:
8557 case RISCV::VASUBU_VX:
8558 case RISCV::VASUB_VX:
8559 case RISCV::VCLMULH_VX:
8560 case RISCV::VCLMUL_VX:
8561 case RISCV::VDIVU_VX:
8562 case RISCV::VDIV_VX:
8563 case RISCV::VFADD_VF:
8564 case RISCV::VFDIV_VF:
8565 case RISCV::VFMAX_VF:
8566 case RISCV::VFMIN_VF:
8567 case RISCV::VFMUL_VF:
8568 case RISCV::VFRDIV_VF:
8569 case RISCV::VFRSUB_VF:
8570 case RISCV::VFSGNJN_VF:
8571 case RISCV::VFSGNJX_VF:
8572 case RISCV::VFSGNJ_VF:
8573 case RISCV::VFSLIDE1DOWN_VF:
8574 case RISCV::VFSLIDE1UP_VF:
8575 case RISCV::VFSUB_VF:
8576 case RISCV::VFWADD_VF:
8577 case RISCV::VFWADD_WF:
8578 case RISCV::VFWMUL_VF:
8579 case RISCV::VFWSUB_VF:
8580 case RISCV::VFWSUB_WF:
8581 case RISCV::VMAXU_VX:
8582 case RISCV::VMAX_VX:
8583 case RISCV::VMFEQ_VF:
8584 case RISCV::VMFGE_VF:
8585 case RISCV::VMFGT_VF:
8586 case RISCV::VMFLE_VF:
8587 case RISCV::VMFLT_VF:
8588 case RISCV::VMFNE_VF:
8589 case RISCV::VMINU_VX:
8590 case RISCV::VMIN_VX:
8591 case RISCV::VMSEQ_VX:
8592 case RISCV::VMSGTU_VX:
8593 case RISCV::VMSGT_VX:
8594 case RISCV::VMSLEU_VX:
8595 case RISCV::VMSLE_VX:
8596 case RISCV::VMSLTU_VX:
8597 case RISCV::VMSLT_VX:
8598 case RISCV::VMSNE_VX:
8599 case RISCV::VMULHSU_VX:
8600 case RISCV::VMULHU_VX:
8601 case RISCV::VMULH_VX:
8602 case RISCV::VMUL_VX:
8603 case RISCV::VNCLIPU_WX:
8604 case RISCV::VNCLIP_WX:
8605 case RISCV::VNSRA_WX:
8606 case RISCV::VNSRL_WX:
8607 case RISCV::VOR_VX:
8608 case RISCV::VREMU_VX:
8609 case RISCV::VREM_VX:
8610 case RISCV::VRGATHER_VX:
8611 case RISCV::VROL_VX:
8612 case RISCV::VROR_VX:
8613 case RISCV::VRSUB_VX:
8614 case RISCV::VSADDU_VX:
8615 case RISCV::VSADD_VX:
8616 case RISCV::VSLIDE1DOWN_VX:
8617 case RISCV::VSLIDE1UP_VX:
8618 case RISCV::VSLIDEDOWN_VX:
8619 case RISCV::VSLIDEUP_VX:
8620 case RISCV::VSLL_VX:
8621 case RISCV::VSMUL_VX:
8622 case RISCV::VSRA_VX:
8623 case RISCV::VSRL_VX:
8624 case RISCV::VSSRA_VX:
8625 case RISCV::VSSRL_VX:
8626 case RISCV::VSSUBU_VX:
8627 case RISCV::VSSUB_VX:
8628 case RISCV::VSUB_VX:
8629 case RISCV::VWADDU_VX:
8630 case RISCV::VWADDU_WX:
8631 case RISCV::VWADD_VX:
8632 case RISCV::VWADD_WX:
8633 case RISCV::VWMULSU_VX:
8634 case RISCV::VWMULU_VX:
8635 case RISCV::VWMUL_VX:
8636 case RISCV::VWSLL_VX:
8637 case RISCV::VWSUBU_VX:
8638 case RISCV::VWSUBU_WX:
8639 case RISCV::VWSUB_VX:
8640 case RISCV::VWSUB_WX:
8641 case RISCV::VXOR_VX: {
8642 // op: vd
8643 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8644 Value |= (op & 0x1f) << 7;
8645 // op: vm
8646 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8647 Value |= (op & 0x1) << 25;
8648 // op: vs2
8649 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8650 Value |= (op & 0x1f) << 20;
8651 // op: rs1
8652 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8653 Value |= (op & 0x1f) << 15;
8654 break;
8655 }
8656 case RISCV::VAADDU_VV:
8657 case RISCV::VAADD_VV:
8658 case RISCV::VABDU_VV:
8659 case RISCV::VABD_VV:
8660 case RISCV::VADD_VV:
8661 case RISCV::VANDN_VV:
8662 case RISCV::VAND_VV:
8663 case RISCV::VASUBU_VV:
8664 case RISCV::VASUB_VV:
8665 case RISCV::VCLMULH_VV:
8666 case RISCV::VCLMUL_VV:
8667 case RISCV::VDIVU_VV:
8668 case RISCV::VDIV_VV:
8669 case RISCV::VFADD_VV:
8670 case RISCV::VFDIV_VV:
8671 case RISCV::VFMAX_VV:
8672 case RISCV::VFMIN_VV:
8673 case RISCV::VFMUL_VV:
8674 case RISCV::VFREDMAX_VS:
8675 case RISCV::VFREDMIN_VS:
8676 case RISCV::VFREDOSUM_VS:
8677 case RISCV::VFREDUSUM_VS:
8678 case RISCV::VFSGNJN_VV:
8679 case RISCV::VFSGNJX_VV:
8680 case RISCV::VFSGNJ_VV:
8681 case RISCV::VFSUB_VV:
8682 case RISCV::VFWADD_VV:
8683 case RISCV::VFWADD_WV:
8684 case RISCV::VFWMUL_VV:
8685 case RISCV::VFWREDOSUM_VS:
8686 case RISCV::VFWREDUSUM_VS:
8687 case RISCV::VFWSUB_VV:
8688 case RISCV::VFWSUB_WV:
8689 case RISCV::VMAXU_VV:
8690 case RISCV::VMAX_VV:
8691 case RISCV::VMFEQ_VV:
8692 case RISCV::VMFLE_VV:
8693 case RISCV::VMFLT_VV:
8694 case RISCV::VMFNE_VV:
8695 case RISCV::VMINU_VV:
8696 case RISCV::VMIN_VV:
8697 case RISCV::VMSEQ_VV:
8698 case RISCV::VMSLEU_VV:
8699 case RISCV::VMSLE_VV:
8700 case RISCV::VMSLTU_VV:
8701 case RISCV::VMSLT_VV:
8702 case RISCV::VMSNE_VV:
8703 case RISCV::VMULHSU_VV:
8704 case RISCV::VMULHU_VV:
8705 case RISCV::VMULH_VV:
8706 case RISCV::VMUL_VV:
8707 case RISCV::VNCLIPU_WV:
8708 case RISCV::VNCLIP_WV:
8709 case RISCV::VNSRA_WV:
8710 case RISCV::VNSRL_WV:
8711 case RISCV::VOR_VV:
8712 case RISCV::VPAIRE_VV:
8713 case RISCV::VPAIRO_VV:
8714 case RISCV::VREDAND_VS:
8715 case RISCV::VREDMAXU_VS:
8716 case RISCV::VREDMAX_VS:
8717 case RISCV::VREDMINU_VS:
8718 case RISCV::VREDMIN_VS:
8719 case RISCV::VREDOR_VS:
8720 case RISCV::VREDSUM_VS:
8721 case RISCV::VREDXOR_VS:
8722 case RISCV::VREMU_VV:
8723 case RISCV::VREM_VV:
8724 case RISCV::VRGATHEREI16_VV:
8725 case RISCV::VRGATHER_VV:
8726 case RISCV::VROL_VV:
8727 case RISCV::VROR_VV:
8728 case RISCV::VSADDU_VV:
8729 case RISCV::VSADD_VV:
8730 case RISCV::VSLL_VV:
8731 case RISCV::VSMUL_VV:
8732 case RISCV::VSRA_VV:
8733 case RISCV::VSRL_VV:
8734 case RISCV::VSSRA_VV:
8735 case RISCV::VSSRL_VV:
8736 case RISCV::VSSUBU_VV:
8737 case RISCV::VSSUB_VV:
8738 case RISCV::VSUB_VV:
8739 case RISCV::VWABDAU_VV:
8740 case RISCV::VWABDA_VV:
8741 case RISCV::VWADDU_VV:
8742 case RISCV::VWADDU_WV:
8743 case RISCV::VWADD_VV:
8744 case RISCV::VWADD_WV:
8745 case RISCV::VWMULSU_VV:
8746 case RISCV::VWMULU_VV:
8747 case RISCV::VWMUL_VV:
8748 case RISCV::VWREDSUMU_VS:
8749 case RISCV::VWREDSUM_VS:
8750 case RISCV::VWSLL_VV:
8751 case RISCV::VWSUBU_VV:
8752 case RISCV::VWSUBU_WV:
8753 case RISCV::VWSUB_VV:
8754 case RISCV::VWSUB_WV:
8755 case RISCV::VXOR_VV:
8756 case RISCV::VZIP_VV: {
8757 // op: vd
8758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8759 Value |= (op & 0x1f) << 7;
8760 // op: vm
8761 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
8762 Value |= (op & 0x1) << 25;
8763 // op: vs2
8764 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8765 Value |= (op & 0x1f) << 20;
8766 // op: vs1
8767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8768 Value |= (op & 0x1f) << 15;
8769 break;
8770 }
8771 case RISCV::VMV_V_V: {
8772 // op: vd
8773 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8774 Value |= (op & 0x1f) << 7;
8775 // op: vs1
8776 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8777 Value |= (op & 0x1f) << 15;
8778 break;
8779 }
8780 case RISCV::VNPACK4_VV:
8781 case RISCV::VNPACK_VV:
8782 case RISCV::VNSPACK4_VV:
8783 case RISCV::VNSPACK_VV:
8784 case RISCV::VPACK_VV:
8785 case RISCV::VUPACK_VV: {
8786 // op: vd
8787 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8788 Value |= (op & 0x1f) << 7;
8789 // op: vs1
8790 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8791 Value |= (op & 0x1f) << 15;
8792 // op: vs2
8793 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8794 Value |= (op & 0x1f) << 20;
8795 // op: imm2
8796 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
8797 Value |= (op & 0x3) << 12;
8798 break;
8799 }
8800 case RISCV::VMV1R_V:
8801 case RISCV::VMV2R_V:
8802 case RISCV::VMV4R_V:
8803 case RISCV::VMV8R_V: {
8804 // op: vd
8805 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8806 Value |= (op & 0x1f) << 7;
8807 // op: vs2
8808 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8809 Value |= (op & 0x1f) << 20;
8810 break;
8811 }
8812 case RISCV::VADC_VIM:
8813 case RISCV::VAESKF1_VI:
8814 case RISCV::VMADC_VI:
8815 case RISCV::VMADC_VIM:
8816 case RISCV::VMERGE_VIM:
8817 case RISCV::VSM4K_VI: {
8818 // op: vd
8819 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8820 Value |= (op & 0x1f) << 7;
8821 // op: vs2
8822 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8823 Value |= (op & 0x1f) << 20;
8824 // op: imm
8825 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
8826 Value |= (op & 0x1f) << 15;
8827 break;
8828 }
8829 case RISCV::VADC_VXM:
8830 case RISCV::VFMERGE_VFM:
8831 case RISCV::VMADC_VX:
8832 case RISCV::VMADC_VXM:
8833 case RISCV::VMERGE_VXM:
8834 case RISCV::VMSBC_VX:
8835 case RISCV::VMSBC_VXM:
8836 case RISCV::VSBC_VXM: {
8837 // op: vd
8838 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8839 Value |= (op & 0x1f) << 7;
8840 // op: vs2
8841 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8842 Value |= (op & 0x1f) << 20;
8843 // op: rs1
8844 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8845 Value |= (op & 0x1f) << 15;
8846 break;
8847 }
8848 case RISCV::VADC_VVM:
8849 case RISCV::VCOMPRESS_VM:
8850 case RISCV::VMADC_VV:
8851 case RISCV::VMADC_VVM:
8852 case RISCV::VMANDN_MM:
8853 case RISCV::VMAND_MM:
8854 case RISCV::VMERGE_VVM:
8855 case RISCV::VMNAND_MM:
8856 case RISCV::VMNOR_MM:
8857 case RISCV::VMORN_MM:
8858 case RISCV::VMOR_MM:
8859 case RISCV::VMSBC_VV:
8860 case RISCV::VMSBC_VVM:
8861 case RISCV::VMXNOR_MM:
8862 case RISCV::VMXOR_MM:
8863 case RISCV::VSBC_VVM:
8864 case RISCV::VSM3ME_VV: {
8865 // op: vd
8866 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8867 Value |= (op & 0x1f) << 7;
8868 // op: vs2
8869 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8870 Value |= (op & 0x1f) << 20;
8871 // op: vs1
8872 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8873 Value |= (op & 0x1f) << 15;
8874 break;
8875 }
8876 case RISCV::VMADOTSU_SP:
8877 case RISCV::VMADOTUS_SP:
8878 case RISCV::VMADOTU_SP:
8879 case RISCV::VMADOT_SP: {
8880 // op: vd
8881 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8882 Value |= (op & 0x1e) << 7;
8883 // op: vs1
8884 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8885 Value |= (op & 0x1e) << 15;
8886 // op: vs2
8887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8888 Value |= (op & 0x1f) << 20;
8889 // op: vtype
8890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
8891 Value |= (op & 0x3) << 29;
8892 // op: vmask
8893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8894 Value |= (op & 0x1) << 25;
8895 // op: imm2
8896 op = getImmOpValue(MI, OpNo: 5, Fixups, STI);
8897 Value |= (op & 0x2) << 14;
8898 Value |= (op & 0x1) << 7;
8899 break;
8900 }
8901 case RISCV::VFMV_S_F:
8902 case RISCV::VMV_S_X: {
8903 // op: vd
8904 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8905 Value |= (op & 0x1f) << 7;
8906 // op: rs1
8907 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8908 Value |= (op & 0x1f) << 15;
8909 break;
8910 }
8911 case RISCV::VDOT4ASU_VX:
8912 case RISCV::VDOT4AUS_VX:
8913 case RISCV::VDOT4AU_VX:
8914 case RISCV::VDOT4A_VX: {
8915 // op: vd
8916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8917 Value |= (op & 0x1f) << 7;
8918 // op: vm
8919 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
8920 Value |= (op & 0x1) << 25;
8921 // op: vs2
8922 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8923 Value |= (op & 0x1f) << 20;
8924 // op: rs1
8925 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8926 Value |= (op & 0x1f) << 15;
8927 break;
8928 }
8929 case RISCV::VDOT4ASU_VV:
8930 case RISCV::VDOT4AU_VV:
8931 case RISCV::VDOT4A_VV:
8932 case RISCV::VFQWDOTA_ALT_VV:
8933 case RISCV::VFQWDOTA_VV:
8934 case RISCV::VFWDOTA_VV:
8935 case RISCV::VQWDOTAS_VV:
8936 case RISCV::VQWDOTAU_VV: {
8937 // op: vd
8938 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8939 Value |= (op & 0x1f) << 7;
8940 // op: vm
8941 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
8942 Value |= (op & 0x1) << 25;
8943 // op: vs2
8944 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8945 Value |= (op & 0x1f) << 20;
8946 // op: vs1
8947 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8948 Value |= (op & 0x1f) << 15;
8949 break;
8950 }
8951 case RISCV::TH_VMAQASU_VX:
8952 case RISCV::TH_VMAQAUS_VX:
8953 case RISCV::TH_VMAQAU_VX:
8954 case RISCV::TH_VMAQA_VX:
8955 case RISCV::VFMACC_VF:
8956 case RISCV::VFMADD_VF:
8957 case RISCV::VFMSAC_VF:
8958 case RISCV::VFMSUB_VF:
8959 case RISCV::VFNMACC_VF:
8960 case RISCV::VFNMADD_VF:
8961 case RISCV::VFNMSAC_VF:
8962 case RISCV::VFNMSUB_VF:
8963 case RISCV::VFWMACCBF16_VF:
8964 case RISCV::VFWMACC_VF:
8965 case RISCV::VFWMSAC_VF:
8966 case RISCV::VFWNMACC_VF:
8967 case RISCV::VFWNMSAC_VF:
8968 case RISCV::VMACC_VX:
8969 case RISCV::VMADD_VX:
8970 case RISCV::VNMSAC_VX:
8971 case RISCV::VNMSUB_VX:
8972 case RISCV::VWMACCSU_VX:
8973 case RISCV::VWMACCUS_VX:
8974 case RISCV::VWMACCU_VX:
8975 case RISCV::VWMACC_VX: {
8976 // op: vd
8977 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8978 Value |= (op & 0x1f) << 7;
8979 // op: vm
8980 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
8981 Value |= (op & 0x1) << 25;
8982 // op: vs2
8983 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8984 Value |= (op & 0x1f) << 20;
8985 // op: rs1
8986 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8987 Value |= (op & 0x1f) << 15;
8988 break;
8989 }
8990 case RISCV::TH_VMAQASU_VV:
8991 case RISCV::TH_VMAQAU_VV:
8992 case RISCV::TH_VMAQA_VV:
8993 case RISCV::VFMACC_VV:
8994 case RISCV::VFMADD_VV:
8995 case RISCV::VFMSAC_VV:
8996 case RISCV::VFMSUB_VV:
8997 case RISCV::VFNMACC_VV:
8998 case RISCV::VFNMADD_VV:
8999 case RISCV::VFNMSAC_VV:
9000 case RISCV::VFNMSUB_VV:
9001 case RISCV::VFWMACCBF16_VV:
9002 case RISCV::VFWMACC_VV:
9003 case RISCV::VFWMSAC_VV:
9004 case RISCV::VFWNMACC_VV:
9005 case RISCV::VFWNMSAC_VV:
9006 case RISCV::VMACC_VV:
9007 case RISCV::VMADD_VV:
9008 case RISCV::VNMSAC_VV:
9009 case RISCV::VNMSUB_VV:
9010 case RISCV::VWMACCSU_VV:
9011 case RISCV::VWMACCU_VV:
9012 case RISCV::VWMACC_VV: {
9013 // op: vd
9014 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9015 Value |= (op & 0x1f) << 7;
9016 // op: vm
9017 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
9018 Value |= (op & 0x1) << 25;
9019 // op: vs2
9020 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9021 Value |= (op & 0x1f) << 20;
9022 // op: vs1
9023 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9024 Value |= (op & 0x1f) << 15;
9025 break;
9026 }
9027 case RISCV::VFBDOTA_VV:
9028 case RISCV::VFQWBDOTA_ALT_VV:
9029 case RISCV::VFQWBDOTA_VV:
9030 case RISCV::VFWBDOTA_VV:
9031 case RISCV::VQWBDOTAS_VV:
9032 case RISCV::VQWBDOTAU_VV: {
9033 // op: vd
9034 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9035 Value |= (op & 0x1f) << 7;
9036 // op: vm
9037 op = getVMaskReg(MI, OpNo: 5, Fixups, STI);
9038 Value |= (op & 0x1) << 25;
9039 // op: vs2
9040 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9041 Value |= (op & 0x18) << 20;
9042 // op: vs1
9043 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9044 Value |= (op & 0x1f) << 15;
9045 // op: ci
9046 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
9047 Value |= (op & 0x7) << 20;
9048 break;
9049 }
9050 case RISCV::SMT_VMADOT1:
9051 case RISCV::SMT_VMADOT1SU:
9052 case RISCV::SMT_VMADOT1U:
9053 case RISCV::SMT_VMADOT1US:
9054 case RISCV::SMT_VMADOT2:
9055 case RISCV::SMT_VMADOT2SU:
9056 case RISCV::SMT_VMADOT2U:
9057 case RISCV::SMT_VMADOT2US:
9058 case RISCV::SMT_VMADOT3:
9059 case RISCV::SMT_VMADOT3SU:
9060 case RISCV::SMT_VMADOT3U:
9061 case RISCV::SMT_VMADOT3US: {
9062 // op: vd
9063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9064 Value |= (op & 0x1f) << 7;
9065 // op: vs1
9066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9067 Value |= (op & 0x1e) << 15;
9068 // op: vs2
9069 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9070 Value |= (op & 0x1f) << 20;
9071 break;
9072 }
9073 case RISCV::VMADOT1:
9074 case RISCV::VMADOT1SU:
9075 case RISCV::VMADOT1U:
9076 case RISCV::VMADOT1US:
9077 case RISCV::VMADOT2:
9078 case RISCV::VMADOT2SU:
9079 case RISCV::VMADOT2U:
9080 case RISCV::VMADOT2US:
9081 case RISCV::VMADOT3:
9082 case RISCV::VMADOT3SU:
9083 case RISCV::VMADOT3U:
9084 case RISCV::VMADOT3US: {
9085 // op: vd
9086 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9087 Value |= (op & 0x1f) << 7;
9088 // op: vs1
9089 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9090 Value |= (op & 0x1e) << 15;
9091 // op: vs2
9092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9093 Value |= (op & 0x1f) << 20;
9094 // op: vtype
9095 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9096 Value |= (op & 0x3) << 29;
9097 break;
9098 }
9099 case RISCV::SMT_VMADOT:
9100 case RISCV::SMT_VMADOTSU:
9101 case RISCV::SMT_VMADOTU:
9102 case RISCV::SMT_VMADOTUS:
9103 case RISCV::VFWMADOT:
9104 case RISCV::VFWMADOT1:
9105 case RISCV::VFWMADOT2:
9106 case RISCV::VFWMADOT3: {
9107 // op: vd
9108 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9109 Value |= (op & 0x1f) << 7;
9110 // op: vs1
9111 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9112 Value |= (op & 0x1f) << 15;
9113 // op: vs2
9114 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9115 Value |= (op & 0x1f) << 20;
9116 break;
9117 }
9118 case RISCV::VMADOT:
9119 case RISCV::VMADOTSU:
9120 case RISCV::VMADOTU:
9121 case RISCV::VMADOTUS: {
9122 // op: vd
9123 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9124 Value |= (op & 0x1f) << 7;
9125 // op: vs1
9126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9127 Value |= (op & 0x1f) << 15;
9128 // op: vs2
9129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9130 Value |= (op & 0x1f) << 20;
9131 // op: vtype
9132 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9133 Value |= (op & 0x3) << 29;
9134 break;
9135 }
9136 case RISCV::VMADOTSU_HP:
9137 case RISCV::VMADOTUS_HP:
9138 case RISCV::VMADOTU_HP:
9139 case RISCV::VMADOT_HP: {
9140 // op: vd
9141 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9142 Value |= (op & 0x1f) << 7;
9143 // op: vs1
9144 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9145 Value |= (op & 0x1f) << 15;
9146 // op: vs2
9147 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9148 Value |= (op & 0x1f) << 20;
9149 // op: vtype
9150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
9151 Value |= (op & 0x3) << 29;
9152 // op: vmask
9153 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9154 Value |= (op & 0x1) << 25;
9155 // op: imm3
9156 op = getImmOpValue(MI, OpNo: 5, Fixups, STI);
9157 Value |= (op & 0x7) << 12;
9158 break;
9159 }
9160 case RISCV::VAESDF_VS:
9161 case RISCV::VAESDF_VV:
9162 case RISCV::VAESDM_VS:
9163 case RISCV::VAESDM_VV:
9164 case RISCV::VAESEF_VS:
9165 case RISCV::VAESEF_VV:
9166 case RISCV::VAESEM_VS:
9167 case RISCV::VAESEM_VV:
9168 case RISCV::VAESZ_VS:
9169 case RISCV::VGMUL_VS:
9170 case RISCV::VGMUL_VV:
9171 case RISCV::VSM4R_VS:
9172 case RISCV::VSM4R_VV: {
9173 // op: vd
9174 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9175 Value |= (op & 0x1f) << 7;
9176 // op: vs2
9177 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9178 Value |= (op & 0x1f) << 20;
9179 break;
9180 }
9181 case RISCV::VAESKF2_VI:
9182 case RISCV::VSM3C_VI: {
9183 // op: vd
9184 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9185 Value |= (op & 0x1f) << 7;
9186 // op: vs2
9187 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9188 Value |= (op & 0x1f) << 20;
9189 // op: imm
9190 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9191 Value |= (op & 0x1f) << 15;
9192 break;
9193 }
9194 case RISCV::VGHSH_VS:
9195 case RISCV::VGHSH_VV:
9196 case RISCV::VSHA2CH_VV:
9197 case RISCV::VSHA2CL_VV:
9198 case RISCV::VSHA2MS_VV: {
9199 // op: vd
9200 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9201 Value |= (op & 0x1f) << 7;
9202 // op: vs2
9203 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9204 Value |= (op & 0x1f) << 20;
9205 // op: vs1
9206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9207 Value |= (op & 0x1f) << 15;
9208 break;
9209 }
9210 case RISCV::SF_VFWMACC_4x4x4:
9211 case RISCV::SF_VQMACCSU_2x8x2:
9212 case RISCV::SF_VQMACCSU_4x8x4:
9213 case RISCV::SF_VQMACCUS_2x8x2:
9214 case RISCV::SF_VQMACCUS_4x8x4:
9215 case RISCV::SF_VQMACCU_2x8x2:
9216 case RISCV::SF_VQMACCU_4x8x4:
9217 case RISCV::SF_VQMACC_2x8x2:
9218 case RISCV::SF_VQMACC_4x8x4:
9219 case RISCV::V8WMMACC_VV:
9220 case RISCV::VF8WIMMACC_VV:
9221 case RISCV::VF8WMMACC_VV:
9222 case RISCV::VF8WMMACC_VV_SCALE:
9223 case RISCV::VFMMACC_VV:
9224 case RISCV::VFQIMMACC_VV:
9225 case RISCV::VFQMMACC_VV:
9226 case RISCV::VFQMMACC_VV_SCALE:
9227 case RISCV::VFWIMMACC_VV:
9228 case RISCV::VFWMMACC_VV:
9229 case RISCV::VFWMMACC_VV_SCALE:
9230 case RISCV::VMMACC_VV:
9231 case RISCV::VQMMACC_VV:
9232 case RISCV::VWMMACC_VV: {
9233 // op: vd
9234 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9235 Value |= (op & 0x1f) << 7;
9236 // op: vs2
9237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9238 Value |= (op & 0x1f) << 20;
9239 // op: vs1
9240 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9241 Value |= (op & 0x1f) << 15;
9242 break;
9243 }
9244 case RISCV::NDS_VFWCVT_F_B:
9245 case RISCV::NDS_VFWCVT_F_BU:
9246 case RISCV::NDS_VFWCVT_F_N:
9247 case RISCV::NDS_VFWCVT_F_NU: {
9248 // op: vs
9249 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9250 Value |= (op & 0x1f) << 20;
9251 // op: vd
9252 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9253 Value |= (op & 0x1f) << 7;
9254 // op: vm
9255 op = getVMaskReg(MI, OpNo: 2, Fixups, STI);
9256 Value |= (op & 0x1) << 25;
9257 break;
9258 }
9259 case RISCV::SF_VC_I: {
9260 // op: vs2
9261 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9262 Value |= (op & 0x1f) << 20;
9263 // op: vd
9264 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
9265 Value |= (op & 0x1f) << 7;
9266 // op: imm
9267 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9268 Value |= (op & 0x1f) << 15;
9269 // op: funct6_lo2
9270 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9271 Value |= (op & 0x3) << 26;
9272 break;
9273 }
9274 case RISCV::SF_VC_X: {
9275 // op: vs2
9276 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9277 Value |= (op & 0x1f) << 20;
9278 // op: vd
9279 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
9280 Value |= (op & 0x1f) << 7;
9281 // op: rs1
9282 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9283 Value |= (op & 0x1f) << 15;
9284 // op: funct6_lo2
9285 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9286 Value |= (op & 0x3) << 26;
9287 break;
9288 }
9289 case RISCV::SF_VC_V_I: {
9290 // op: vs2
9291 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
9292 Value |= (op & 0x1f) << 20;
9293 // op: vd
9294 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9295 Value |= (op & 0x1f) << 7;
9296 // op: imm
9297 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9298 Value |= (op & 0x1f) << 15;
9299 // op: funct6_lo2
9300 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9301 Value |= (op & 0x3) << 26;
9302 break;
9303 }
9304 case RISCV::SF_VC_V_X: {
9305 // op: vs2
9306 op = getImmOpValue(MI, OpNo: 2, Fixups, STI);
9307 Value |= (op & 0x1f) << 20;
9308 // op: vd
9309 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9310 Value |= (op & 0x1f) << 7;
9311 // op: rs1
9312 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9313 Value |= (op & 0x1f) << 15;
9314 // op: funct6_lo2
9315 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9316 Value |= (op & 0x3) << 26;
9317 break;
9318 }
9319 case RISCV::NDS_VFPMADB_VF:
9320 case RISCV::NDS_VFPMADT_VF: {
9321 // op: vs2
9322 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9323 Value |= (op & 0x1f) << 20;
9324 // op: rs1
9325 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9326 Value |= (op & 0x1f) << 15;
9327 // op: vd
9328 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9329 Value |= (op & 0x1f) << 7;
9330 // op: vm
9331 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
9332 Value |= (op & 0x1) << 25;
9333 break;
9334 }
9335 case RISCV::NDS_VFNCVT_BF16_S:
9336 case RISCV::NDS_VFWCVT_S_BF16: {
9337 // op: vs2
9338 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9339 Value |= (op & 0x1f) << 20;
9340 // op: vd
9341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9342 Value |= (op & 0x1f) << 7;
9343 break;
9344 }
9345 case RISCV::SF_MM_E4M3_E4M3:
9346 case RISCV::SF_MM_E4M3_E5M2:
9347 case RISCV::SF_MM_E5M2_E4M3:
9348 case RISCV::SF_MM_E5M2_E5M2:
9349 case RISCV::SF_MM_S_S:
9350 case RISCV::SF_MM_S_U:
9351 case RISCV::SF_MM_U_S:
9352 case RISCV::SF_MM_U_U: {
9353 // op: vs2
9354 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9355 Value |= (op & 0x1f) << 20;
9356 // op: vs1
9357 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9358 Value |= (op & 0x1f) << 15;
9359 // op: rd
9360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9361 Value |= (op & 0xc) << 8;
9362 break;
9363 }
9364 case RISCV::SF_MM_F_F: {
9365 // op: vs2
9366 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9367 Value |= (op & 0x1f) << 20;
9368 // op: vs1
9369 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9370 Value |= (op & 0x1f) << 15;
9371 // op: rd
9372 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9373 Value |= (op & 0xe) << 8;
9374 break;
9375 }
9376 case RISCV::SF_VC_IV: {
9377 // op: vs2
9378 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9379 Value |= (op & 0x1f) << 20;
9380 // op: vd
9381 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9382 Value |= (op & 0x1f) << 7;
9383 // op: imm
9384 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9385 Value |= (op & 0x1f) << 15;
9386 // op: funct6_lo2
9387 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9388 Value |= (op & 0x3) << 26;
9389 break;
9390 }
9391 case RISCV::SF_VC_FV: {
9392 // op: vs2
9393 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9394 Value |= (op & 0x1f) << 20;
9395 // op: vd
9396 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9397 Value |= (op & 0x1f) << 7;
9398 // op: rs1
9399 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9400 Value |= (op & 0x1f) << 15;
9401 // op: funct6_lo1
9402 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9403 Value |= (op & 0x1) << 26;
9404 break;
9405 }
9406 case RISCV::SF_VC_XV: {
9407 // op: vs2
9408 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9409 Value |= (op & 0x1f) << 20;
9410 // op: vd
9411 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9412 Value |= (op & 0x1f) << 7;
9413 // op: rs1
9414 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9415 Value |= (op & 0x1f) << 15;
9416 // op: funct6_lo2
9417 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9418 Value |= (op & 0x3) << 26;
9419 break;
9420 }
9421 case RISCV::SF_VC_VV: {
9422 // op: vs2
9423 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9424 Value |= (op & 0x1f) << 20;
9425 // op: vd
9426 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9427 Value |= (op & 0x1f) << 7;
9428 // op: vs1
9429 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9430 Value |= (op & 0x1f) << 15;
9431 // op: funct6_lo2
9432 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9433 Value |= (op & 0x3) << 26;
9434 break;
9435 }
9436 case RISCV::SF_VC_V_IV: {
9437 // op: vs2
9438 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9439 Value |= (op & 0x1f) << 20;
9440 // op: vd
9441 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9442 Value |= (op & 0x1f) << 7;
9443 // op: imm
9444 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9445 Value |= (op & 0x1f) << 15;
9446 // op: funct6_lo2
9447 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9448 Value |= (op & 0x3) << 26;
9449 break;
9450 }
9451 case RISCV::SF_VC_V_FV: {
9452 // op: vs2
9453 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9454 Value |= (op & 0x1f) << 20;
9455 // op: vd
9456 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9457 Value |= (op & 0x1f) << 7;
9458 // op: rs1
9459 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9460 Value |= (op & 0x1f) << 15;
9461 // op: funct6_lo1
9462 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9463 Value |= (op & 0x1) << 26;
9464 break;
9465 }
9466 case RISCV::SF_VC_V_XV: {
9467 // op: vs2
9468 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9469 Value |= (op & 0x1f) << 20;
9470 // op: vd
9471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9472 Value |= (op & 0x1f) << 7;
9473 // op: rs1
9474 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9475 Value |= (op & 0x1f) << 15;
9476 // op: funct6_lo2
9477 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9478 Value |= (op & 0x3) << 26;
9479 break;
9480 }
9481 case RISCV::SF_VC_V_VV: {
9482 // op: vs2
9483 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9484 Value |= (op & 0x1f) << 20;
9485 // op: vd
9486 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9487 Value |= (op & 0x1f) << 7;
9488 // op: vs1
9489 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9490 Value |= (op & 0x1f) << 15;
9491 // op: funct6_lo2
9492 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9493 Value |= (op & 0x3) << 26;
9494 break;
9495 }
9496 case RISCV::SF_VC_IVV:
9497 case RISCV::SF_VC_IVW: {
9498 // op: vs2
9499 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9500 Value |= (op & 0x1f) << 20;
9501 // op: vd
9502 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9503 Value |= (op & 0x1f) << 7;
9504 // op: imm
9505 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9506 Value |= (op & 0x1f) << 15;
9507 // op: funct6_lo2
9508 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9509 Value |= (op & 0x3) << 26;
9510 break;
9511 }
9512 case RISCV::SF_VC_FVV:
9513 case RISCV::SF_VC_FVW: {
9514 // op: vs2
9515 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9516 Value |= (op & 0x1f) << 20;
9517 // op: vd
9518 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9519 Value |= (op & 0x1f) << 7;
9520 // op: rs1
9521 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9522 Value |= (op & 0x1f) << 15;
9523 // op: funct6_lo1
9524 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9525 Value |= (op & 0x1) << 26;
9526 break;
9527 }
9528 case RISCV::SF_VC_XVV:
9529 case RISCV::SF_VC_XVW: {
9530 // op: vs2
9531 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9532 Value |= (op & 0x1f) << 20;
9533 // op: vd
9534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9535 Value |= (op & 0x1f) << 7;
9536 // op: rs1
9537 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9538 Value |= (op & 0x1f) << 15;
9539 // op: funct6_lo2
9540 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9541 Value |= (op & 0x3) << 26;
9542 break;
9543 }
9544 case RISCV::SF_VC_VVV:
9545 case RISCV::SF_VC_VVW: {
9546 // op: vs2
9547 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9548 Value |= (op & 0x1f) << 20;
9549 // op: vd
9550 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9551 Value |= (op & 0x1f) << 7;
9552 // op: vs1
9553 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9554 Value |= (op & 0x1f) << 15;
9555 // op: funct6_lo2
9556 op = getImmOpValue(MI, OpNo: 0, Fixups, STI);
9557 Value |= (op & 0x3) << 26;
9558 break;
9559 }
9560 case RISCV::NDS_VD4DOTSU_VV:
9561 case RISCV::NDS_VD4DOTS_VV:
9562 case RISCV::NDS_VD4DOTU_VV: {
9563 // op: vs2
9564 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9565 Value |= (op & 0x1f) << 20;
9566 // op: vs1
9567 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9568 Value |= (op & 0x1f) << 15;
9569 // op: vd
9570 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9571 Value |= (op & 0x1f) << 7;
9572 // op: vm
9573 op = getVMaskReg(MI, OpNo: 3, Fixups, STI);
9574 Value |= (op & 0x1) << 25;
9575 break;
9576 }
9577 case RISCV::SF_VC_V_IVV:
9578 case RISCV::SF_VC_V_IVW: {
9579 // op: vs2
9580 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9581 Value |= (op & 0x1f) << 20;
9582 // op: vd
9583 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9584 Value |= (op & 0x1f) << 7;
9585 // op: imm
9586 op = getImmOpValue(MI, OpNo: 4, Fixups, STI);
9587 Value |= (op & 0x1f) << 15;
9588 // op: funct6_lo2
9589 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9590 Value |= (op & 0x3) << 26;
9591 break;
9592 }
9593 case RISCV::SF_VC_V_FVV:
9594 case RISCV::SF_VC_V_FVW: {
9595 // op: vs2
9596 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9597 Value |= (op & 0x1f) << 20;
9598 // op: vd
9599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9600 Value |= (op & 0x1f) << 7;
9601 // op: rs1
9602 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9603 Value |= (op & 0x1f) << 15;
9604 // op: funct6_lo1
9605 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9606 Value |= (op & 0x1) << 26;
9607 break;
9608 }
9609 case RISCV::SF_VC_V_XVV:
9610 case RISCV::SF_VC_V_XVW: {
9611 // op: vs2
9612 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9613 Value |= (op & 0x1f) << 20;
9614 // op: vd
9615 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9616 Value |= (op & 0x1f) << 7;
9617 // op: rs1
9618 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9619 Value |= (op & 0x1f) << 15;
9620 // op: funct6_lo2
9621 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9622 Value |= (op & 0x3) << 26;
9623 break;
9624 }
9625 case RISCV::SF_VC_V_VVV:
9626 case RISCV::SF_VC_V_VVW: {
9627 // op: vs2
9628 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9629 Value |= (op & 0x1f) << 20;
9630 // op: vd
9631 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9632 Value |= (op & 0x1f) << 7;
9633 // op: vs1
9634 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9635 Value |= (op & 0x1f) << 15;
9636 // op: funct6_lo2
9637 op = getImmOpValue(MI, OpNo: 1, Fixups, STI);
9638 Value |= (op & 0x3) << 26;
9639 break;
9640 }
9641 case RISCV::VMTS_V:
9642 case RISCV::VMTTS_V: {
9643 // op: vs3
9644 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9645 Value |= (op & 0x1f) << 7;
9646 // op: rs1
9647 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9648 Value |= (op & 0x1f) << 15;
9649 // op: rs2
9650 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9651 Value |= (op & 0x1f) << 20;
9652 // op: vm
9653 op = getVMaskReg(MI, OpNo: 4, Fixups, STI);
9654 Value |= (op & 0x1) << 25;
9655 // op: vlambda
9656 op = getImmOpValue(MI, OpNo: 3, Fixups, STI);
9657 Value |= (op & 0x7) << 29;
9658 break;
9659 }
9660 default:
9661 reportUnsupportedInst(Inst: MI);
9662 }
9663 return Value;
9664}
9665
9666#ifdef GET_OPERAND_BIT_OFFSET
9667#undef GET_OPERAND_BIT_OFFSET
9668
9669uint32_t RISCVMCCodeEmitter::getOperandBitOffset(const MCInst &MI,
9670 unsigned OpNum,
9671 const MCSubtargetInfo &STI) const {
9672 switch (MI.getOpcode()) {
9673 case RISCV::C_EBREAK:
9674 case RISCV::C_MOP_11:
9675 case RISCV::C_MOP_13:
9676 case RISCV::C_MOP_15:
9677 case RISCV::C_MOP_3:
9678 case RISCV::C_MOP_7:
9679 case RISCV::C_MOP_9:
9680 case RISCV::C_NOP:
9681 case RISCV::C_SSPOPCHK:
9682 case RISCV::C_SSPUSH:
9683 case RISCV::C_UNIMP:
9684 case RISCV::DRET:
9685 case RISCV::EBREAK:
9686 case RISCV::ECALL:
9687 case RISCV::FENCE_I:
9688 case RISCV::FENCE_TSO:
9689 case RISCV::MIPS_EHB:
9690 case RISCV::MIPS_IHB:
9691 case RISCV::MIPS_PAUSE:
9692 case RISCV::MNRET:
9693 case RISCV::MRET:
9694 case RISCV::QC_C_DI:
9695 case RISCV::QC_C_EI:
9696 case RISCV::QC_C_MIENTER:
9697 case RISCV::QC_C_MIENTER_NEST:
9698 case RISCV::QC_C_MILEAVERET:
9699 case RISCV::QC_C_MNRET:
9700 case RISCV::QC_C_MRET:
9701 case RISCV::SCTRCLR:
9702 case RISCV::SFENCE_INVAL_IR:
9703 case RISCV::SFENCE_W_INVAL:
9704 case RISCV::SF_CEASE:
9705 case RISCV::SF_VTDISCARD:
9706 case RISCV::SRET:
9707 case RISCV::TH_DCACHE_CALL:
9708 case RISCV::TH_DCACHE_CIALL:
9709 case RISCV::TH_DCACHE_IALL:
9710 case RISCV::TH_ICACHE_IALL:
9711 case RISCV::TH_ICACHE_IALLS:
9712 case RISCV::TH_L2CACHE_CALL:
9713 case RISCV::TH_L2CACHE_CIALL:
9714 case RISCV::TH_L2CACHE_IALL:
9715 case RISCV::TH_SYNC:
9716 case RISCV::TH_SYNC_I:
9717 case RISCV::TH_SYNC_IS:
9718 case RISCV::TH_SYNC_S:
9719 case RISCV::UNIMP:
9720 case RISCV::WFI:
9721 case RISCV::WRS_NTO:
9722 case RISCV::WRS_STO: {
9723 break;
9724 }
9725 case RISCV::AIF_FSWG_PS:
9726 case RISCV::AIF_FSWL_PS: {
9727 switch (OpNum) {
9728 case 0:
9729 // op: fs3
9730 return 7;
9731 case 1:
9732 // op: rs1
9733 return 15;
9734 }
9735 break;
9736 }
9737 case RISCV::C_NOP_HINT: {
9738 switch (OpNum) {
9739 case 0:
9740 // op: imm
9741 return 2;
9742 }
9743 break;
9744 }
9745 case RISCV::QC_CLRINTI:
9746 case RISCV::QC_SETINTI: {
9747 switch (OpNum) {
9748 case 0:
9749 // op: imm10
9750 return 15;
9751 }
9752 break;
9753 }
9754 case RISCV::QC_E_J:
9755 case RISCV::QC_E_JAL: {
9756 switch (OpNum) {
9757 case 0:
9758 // op: imm31
9759 return 7;
9760 }
9761 break;
9762 }
9763 case RISCV::QC_SYNC:
9764 case RISCV::QC_SYNCR:
9765 case RISCV::QC_SYNCWF:
9766 case RISCV::QC_SYNCWL: {
9767 switch (OpNum) {
9768 case 0:
9769 // op: imm5
9770 return 20;
9771 }
9772 break;
9773 }
9774 case RISCV::QC_PPUTCI: {
9775 switch (OpNum) {
9776 case 0:
9777 // op: imm8
9778 return 20;
9779 }
9780 break;
9781 }
9782 case RISCV::CM_JALT:
9783 case RISCV::CM_JT:
9784 case RISCV::QC_CM_JALT:
9785 case RISCV::QC_CM_JT: {
9786 switch (OpNum) {
9787 case 0:
9788 // op: index
9789 return 2;
9790 }
9791 break;
9792 }
9793 case RISCV::C_J:
9794 case RISCV::C_JAL: {
9795 switch (OpNum) {
9796 case 0:
9797 // op: offset
9798 return 2;
9799 }
9800 break;
9801 }
9802 case RISCV::InsnQC_EJ: {
9803 switch (OpNum) {
9804 case 0:
9805 // op: opcode
9806 return 0;
9807 case 1:
9808 // op: func3
9809 return 12;
9810 case 2:
9811 // op: func2
9812 return 15;
9813 case 3:
9814 // op: func5
9815 return 20;
9816 case 4:
9817 // op: imm31
9818 return 7;
9819 }
9820 break;
9821 }
9822 case RISCV::InsnQC_ES: {
9823 switch (OpNum) {
9824 case 0:
9825 // op: opcode
9826 return 0;
9827 case 1:
9828 // op: func3
9829 return 12;
9830 case 2:
9831 // op: func2
9832 return 30;
9833 case 4:
9834 // op: rs1
9835 return 15;
9836 case 3:
9837 // op: rs2
9838 return 20;
9839 case 5:
9840 // op: imm26
9841 return 7;
9842 }
9843 break;
9844 }
9845 case RISCV::InsnQC_EB: {
9846 switch (OpNum) {
9847 case 0:
9848 // op: opcode
9849 return 0;
9850 case 1:
9851 // op: func3
9852 return 12;
9853 case 2:
9854 // op: func5
9855 return 20;
9856 case 3:
9857 // op: rs1
9858 return 15;
9859 case 5:
9860 // op: imm12
9861 return 7;
9862 case 4:
9863 // op: imm16
9864 return 32;
9865 }
9866 break;
9867 }
9868 case RISCV::InsnS: {
9869 switch (OpNum) {
9870 case 0:
9871 // op: opcode
9872 return 0;
9873 case 1:
9874 // op: funct3
9875 return 12;
9876 case 4:
9877 // op: imm12
9878 return 7;
9879 case 2:
9880 // op: rs2
9881 return 20;
9882 case 3:
9883 // op: rs1
9884 return 15;
9885 }
9886 break;
9887 }
9888 case RISCV::InsnB: {
9889 switch (OpNum) {
9890 case 0:
9891 // op: opcode
9892 return 0;
9893 case 1:
9894 // op: funct3
9895 return 12;
9896 case 4:
9897 // op: imm12
9898 return 7;
9899 case 3:
9900 // op: rs2
9901 return 20;
9902 case 2:
9903 // op: rs1
9904 return 15;
9905 }
9906 break;
9907 }
9908 case RISCV::InsnCJ: {
9909 switch (OpNum) {
9910 case 0:
9911 // op: opcode
9912 return 0;
9913 case 1:
9914 // op: funct3
9915 return 13;
9916 case 2:
9917 // op: imm11
9918 return 2;
9919 }
9920 break;
9921 }
9922 case RISCV::InsnCSS: {
9923 switch (OpNum) {
9924 case 0:
9925 // op: opcode
9926 return 0;
9927 case 1:
9928 // op: funct3
9929 return 13;
9930 case 3:
9931 // op: imm6
9932 return 7;
9933 case 2:
9934 // op: rs2
9935 return 2;
9936 }
9937 break;
9938 }
9939 case RISCV::InsnCB: {
9940 switch (OpNum) {
9941 case 0:
9942 // op: opcode
9943 return 0;
9944 case 1:
9945 // op: funct3
9946 return 13;
9947 case 3:
9948 // op: imm8
9949 return 2;
9950 case 2:
9951 // op: rs1
9952 return 7;
9953 }
9954 break;
9955 }
9956 case RISCV::InsnCS: {
9957 switch (OpNum) {
9958 case 0:
9959 // op: opcode
9960 return 0;
9961 case 1:
9962 // op: funct3
9963 return 13;
9964 case 4:
9965 // op: imm5
9966 return 5;
9967 case 2:
9968 // op: rs2
9969 return 2;
9970 case 3:
9971 // op: rs1
9972 return 7;
9973 }
9974 break;
9975 }
9976 case RISCV::FENCE: {
9977 switch (OpNum) {
9978 case 0:
9979 // op: pred
9980 return 24;
9981 case 1:
9982 // op: succ
9983 return 20;
9984 }
9985 break;
9986 }
9987 case RISCV::C_FLD:
9988 case RISCV::C_FLW:
9989 case RISCV::C_LBU:
9990 case RISCV::C_LD:
9991 case RISCV::C_LD_RV32:
9992 case RISCV::C_LH:
9993 case RISCV::C_LHU:
9994 case RISCV::C_LH_INX:
9995 case RISCV::C_LW:
9996 case RISCV::C_LW_INX:
9997 case RISCV::QK_C_LBU:
9998 case RISCV::QK_C_LHU: {
9999 switch (OpNum) {
10000 case 0:
10001 // op: rd
10002 return 2;
10003 case 1:
10004 // op: rs1
10005 return 7;
10006 case 2:
10007 // op: imm
10008 return 5;
10009 }
10010 break;
10011 }
10012 case RISCV::FLI_D:
10013 case RISCV::FLI_H:
10014 case RISCV::FLI_Q:
10015 case RISCV::FLI_S: {
10016 switch (OpNum) {
10017 case 0:
10018 // op: rd
10019 return 7;
10020 case 1:
10021 // op: imm
10022 return 15;
10023 }
10024 break;
10025 }
10026 case RISCV::QC_E_LI: {
10027 switch (OpNum) {
10028 case 0:
10029 // op: rd
10030 return 7;
10031 case 1:
10032 // op: imm
10033 return 16;
10034 }
10035 break;
10036 }
10037 case RISCV::PLI_H:
10038 case RISCV::PLI_W:
10039 case RISCV::PLUI_H:
10040 case RISCV::PLUI_W: {
10041 switch (OpNum) {
10042 case 0:
10043 // op: rd
10044 return 7;
10045 case 1:
10046 // op: imm10
10047 return 15;
10048 }
10049 break;
10050 }
10051 case RISCV::PLI_B: {
10052 switch (OpNum) {
10053 case 0:
10054 // op: rd
10055 return 7;
10056 case 1:
10057 // op: imm8
10058 return 16;
10059 }
10060 break;
10061 }
10062 case RISCV::AIF_FMVS_X_PS:
10063 case RISCV::AIF_FMVZ_X_PS: {
10064 switch (OpNum) {
10065 case 0:
10066 // op: rd
10067 return 7;
10068 case 1:
10069 // op: rs1
10070 return 15;
10071 case 2:
10072 // op: idx
10073 return 20;
10074 }
10075 break;
10076 }
10077 case RISCV::AIF_FSWIZZ_PS: {
10078 switch (OpNum) {
10079 case 0:
10080 // op: rd
10081 return 7;
10082 case 1:
10083 // op: rs1
10084 return 15;
10085 case 2:
10086 // op: imm
10087 return 12;
10088 }
10089 break;
10090 }
10091 case RISCV::QC_E_ADDI:
10092 case RISCV::QC_E_ANDI:
10093 case RISCV::QC_E_LB:
10094 case RISCV::QC_E_LBU:
10095 case RISCV::QC_E_LH:
10096 case RISCV::QC_E_LHU:
10097 case RISCV::QC_E_LW:
10098 case RISCV::QC_E_ORI:
10099 case RISCV::QC_E_XORI: {
10100 switch (OpNum) {
10101 case 0:
10102 // op: rd
10103 return 7;
10104 case 1:
10105 // op: rs1
10106 return 15;
10107 case 2:
10108 // op: imm
10109 return 20;
10110 }
10111 break;
10112 }
10113 case RISCV::NDS_BFOS:
10114 case RISCV::NDS_BFOZ: {
10115 switch (OpNum) {
10116 case 0:
10117 // op: rd
10118 return 7;
10119 case 1:
10120 // op: rs1
10121 return 15;
10122 case 2:
10123 // op: msb
10124 return 26;
10125 case 3:
10126 // op: lsb
10127 return 20;
10128 }
10129 break;
10130 }
10131 case RISCV::AIF_FCVT_PS_PW:
10132 case RISCV::AIF_FCVT_PS_PWU:
10133 case RISCV::AIF_FCVT_PWU_PS:
10134 case RISCV::AIF_FCVT_PW_PS: {
10135 switch (OpNum) {
10136 case 0:
10137 // op: rd
10138 return 7;
10139 case 1:
10140 // op: rs1
10141 return 15;
10142 case 2:
10143 // op: rm
10144 return 12;
10145 }
10146 break;
10147 }
10148 case RISCV::AIF_FADD_PS:
10149 case RISCV::AIF_FDIV_PS:
10150 case RISCV::AIF_FMUL_PS:
10151 case RISCV::AIF_FSUB_PS: {
10152 switch (OpNum) {
10153 case 0:
10154 // op: rd
10155 return 7;
10156 case 1:
10157 // op: rs1
10158 return 15;
10159 case 2:
10160 // op: rs2
10161 return 20;
10162 case 3:
10163 // op: rm
10164 return 12;
10165 }
10166 break;
10167 }
10168 case RISCV::AIF_FMADD_PS:
10169 case RISCV::AIF_FMSUB_PS:
10170 case RISCV::AIF_FNMADD_PS:
10171 case RISCV::AIF_FNMSUB_PS: {
10172 switch (OpNum) {
10173 case 0:
10174 // op: rd
10175 return 7;
10176 case 1:
10177 // op: rs1
10178 return 15;
10179 case 2:
10180 // op: rs2
10181 return 20;
10182 case 3:
10183 // op: rs3
10184 return 27;
10185 case 4:
10186 // op: rm
10187 return 12;
10188 }
10189 break;
10190 }
10191 case RISCV::AIF_FCMOV_PS: {
10192 switch (OpNum) {
10193 case 0:
10194 // op: rd
10195 return 7;
10196 case 1:
10197 // op: rs1
10198 return 15;
10199 case 2:
10200 // op: rs2
10201 return 20;
10202 case 3:
10203 // op: rs3
10204 return 27;
10205 }
10206 break;
10207 }
10208 case RISCV::VSETIVLI: {
10209 switch (OpNum) {
10210 case 0:
10211 // op: rd
10212 return 7;
10213 case 1:
10214 // op: uimm
10215 return 15;
10216 case 2:
10217 // op: vtypei
10218 return 20;
10219 }
10220 break;
10221 }
10222 case RISCV::VFMV_F_S:
10223 case RISCV::VMV_X_S: {
10224 switch (OpNum) {
10225 case 0:
10226 // op: rd
10227 return 7;
10228 case 1:
10229 // op: vs2
10230 return 20;
10231 }
10232 break;
10233 }
10234 case RISCV::VCPOP_M:
10235 case RISCV::VFIRST_M: {
10236 switch (OpNum) {
10237 case 0:
10238 // op: rd
10239 return 7;
10240 case 2:
10241 // op: vm
10242 return 25;
10243 case 1:
10244 // op: vs2
10245 return 20;
10246 }
10247 break;
10248 }
10249 case RISCV::AIF_MOVA_X_M:
10250 case RISCV::QC_C_DIR:
10251 case RISCV::SSRDP: {
10252 switch (OpNum) {
10253 case 0:
10254 // op: rd
10255 return 7;
10256 }
10257 break;
10258 }
10259 case RISCV::PLI_DH:
10260 case RISCV::PLUI_DH: {
10261 switch (OpNum) {
10262 case 0:
10263 // op: rd
10264 return 8;
10265 case 1:
10266 // op: imm10
10267 return 15;
10268 }
10269 break;
10270 }
10271 case RISCV::PLI_DB: {
10272 switch (OpNum) {
10273 case 0:
10274 // op: rd
10275 return 8;
10276 case 1:
10277 // op: imm8
10278 return 16;
10279 }
10280 break;
10281 }
10282 case RISCV::SF_VTZERO_T: {
10283 switch (OpNum) {
10284 case 0:
10285 // op: rd
10286 return 8;
10287 }
10288 break;
10289 }
10290 case RISCV::QK_C_LBUSP:
10291 case RISCV::QK_C_LHUSP:
10292 case RISCV::QK_C_SBSP:
10293 case RISCV::QK_C_SHSP: {
10294 switch (OpNum) {
10295 case 0:
10296 // op: rd_rs2
10297 return 2;
10298 case 2:
10299 // op: imm
10300 return 7;
10301 }
10302 break;
10303 }
10304 case RISCV::CM_POP:
10305 case RISCV::CM_POPRET:
10306 case RISCV::CM_POPRETZ:
10307 case RISCV::CM_PUSH:
10308 case RISCV::QC_CM_POP:
10309 case RISCV::QC_CM_POPRET:
10310 case RISCV::QC_CM_POPRETZ:
10311 case RISCV::QC_CM_PUSH:
10312 case RISCV::QC_CM_PUSHFP: {
10313 switch (OpNum) {
10314 case 0:
10315 // op: rlist
10316 return 4;
10317 case 1:
10318 // op: stackadj
10319 return 2;
10320 }
10321 break;
10322 }
10323 case RISCV::QC_E_BEQI:
10324 case RISCV::QC_E_BGEI:
10325 case RISCV::QC_E_BGEUI:
10326 case RISCV::QC_E_BLTI:
10327 case RISCV::QC_E_BLTUI:
10328 case RISCV::QC_E_BNEI: {
10329 switch (OpNum) {
10330 case 0:
10331 // op: rs1
10332 return 15;
10333 case 1:
10334 // op: imm16
10335 return 32;
10336 case 2:
10337 // op: imm12
10338 return 7;
10339 }
10340 break;
10341 }
10342 case RISCV::AIF_MOVA_M_X:
10343 case RISCV::CBO_CLEAN:
10344 case RISCV::CBO_FLUSH:
10345 case RISCV::CBO_INVAL:
10346 case RISCV::CBO_ZERO:
10347 case RISCV::SF_CDISCARD_D_L1:
10348 case RISCV::SF_CFLUSH_D_L1:
10349 case RISCV::SSPOPCHK:
10350 case RISCV::TH_DCACHE_CIPA:
10351 case RISCV::TH_DCACHE_CISW:
10352 case RISCV::TH_DCACHE_CIVA:
10353 case RISCV::TH_DCACHE_CPA:
10354 case RISCV::TH_DCACHE_CPAL1:
10355 case RISCV::TH_DCACHE_CSW:
10356 case RISCV::TH_DCACHE_CVA:
10357 case RISCV::TH_DCACHE_CVAL1:
10358 case RISCV::TH_DCACHE_IPA:
10359 case RISCV::TH_DCACHE_ISW:
10360 case RISCV::TH_DCACHE_IVA:
10361 case RISCV::TH_ICACHE_IPA:
10362 case RISCV::TH_ICACHE_IVA: {
10363 switch (OpNum) {
10364 case 0:
10365 // op: rs1
10366 return 15;
10367 }
10368 break;
10369 }
10370 case RISCV::C_MV: {
10371 switch (OpNum) {
10372 case 0:
10373 // op: rs1
10374 return 7;
10375 case 1:
10376 // op: rs2
10377 return 2;
10378 }
10379 break;
10380 }
10381 case RISCV::C_JALR:
10382 case RISCV::C_JR:
10383 case RISCV::QC_C_CLRINT:
10384 case RISCV::QC_C_EIR:
10385 case RISCV::QC_C_SETINT: {
10386 switch (OpNum) {
10387 case 0:
10388 // op: rs1
10389 return 7;
10390 }
10391 break;
10392 }
10393 case RISCV::AIF_SBG:
10394 case RISCV::AIF_SBL:
10395 case RISCV::AIF_SHG:
10396 case RISCV::AIF_SHL:
10397 case RISCV::HSV_B:
10398 case RISCV::HSV_D:
10399 case RISCV::HSV_H:
10400 case RISCV::HSV_W:
10401 case RISCV::SB_AQRL:
10402 case RISCV::SB_RL:
10403 case RISCV::SD_AQRL:
10404 case RISCV::SD_RL:
10405 case RISCV::SF_VLTE16:
10406 case RISCV::SF_VLTE32:
10407 case RISCV::SF_VLTE64:
10408 case RISCV::SF_VLTE8:
10409 case RISCV::SF_VSTE16:
10410 case RISCV::SF_VSTE32:
10411 case RISCV::SF_VSTE64:
10412 case RISCV::SF_VSTE8:
10413 case RISCV::SH_AQRL:
10414 case RISCV::SH_RL:
10415 case RISCV::SW_AQRL:
10416 case RISCV::SW_RL: {
10417 switch (OpNum) {
10418 case 0:
10419 // op: rs2
10420 return 20;
10421 case 1:
10422 // op: rs1
10423 return 15;
10424 }
10425 break;
10426 }
10427 case RISCV::SSPUSH: {
10428 switch (OpNum) {
10429 case 0:
10430 // op: rs2
10431 return 20;
10432 }
10433 break;
10434 }
10435 case RISCV::C_FSD:
10436 case RISCV::C_FSW:
10437 case RISCV::C_SB:
10438 case RISCV::C_SD:
10439 case RISCV::C_SD_RV32:
10440 case RISCV::C_SH:
10441 case RISCV::C_SH_INX:
10442 case RISCV::C_SW:
10443 case RISCV::C_SW_INX:
10444 case RISCV::QK_C_SB:
10445 case RISCV::QK_C_SH: {
10446 switch (OpNum) {
10447 case 0:
10448 // op: rs2
10449 return 2;
10450 case 1:
10451 // op: rs1
10452 return 7;
10453 case 2:
10454 // op: imm
10455 return 5;
10456 }
10457 break;
10458 }
10459 case RISCV::QC_C_SYNC:
10460 case RISCV::QC_C_SYNCR:
10461 case RISCV::QC_C_SYNCWF:
10462 case RISCV::QC_C_SYNCWL: {
10463 switch (OpNum) {
10464 case 0:
10465 // op: slist
10466 return 7;
10467 }
10468 break;
10469 }
10470 case RISCV::Insn16:
10471 case RISCV::Insn32:
10472 case RISCV::Insn48:
10473 case RISCV::Insn64: {
10474 switch (OpNum) {
10475 case 0:
10476 // op: value
10477 return 0;
10478 }
10479 break;
10480 }
10481 case RISCV::VMV_V_I: {
10482 switch (OpNum) {
10483 case 0:
10484 // op: vd
10485 return 7;
10486 case 1:
10487 // op: imm
10488 return 15;
10489 }
10490 break;
10491 }
10492 case RISCV::VMTL_V:
10493 case RISCV::VMTTL_V: {
10494 switch (OpNum) {
10495 case 0:
10496 // op: vd
10497 return 7;
10498 case 1:
10499 // op: rs1
10500 return 15;
10501 case 2:
10502 // op: rs2
10503 return 20;
10504 case 4:
10505 // op: vm
10506 return 25;
10507 case 3:
10508 // op: vlambda
10509 return 29;
10510 }
10511 break;
10512 }
10513 case RISCV::VFMV_V_F:
10514 case RISCV::VMV_V_X: {
10515 switch (OpNum) {
10516 case 0:
10517 // op: vd
10518 return 7;
10519 case 1:
10520 // op: rs1
10521 return 15;
10522 }
10523 break;
10524 }
10525 case RISCV::VID_V: {
10526 switch (OpNum) {
10527 case 0:
10528 // op: vd
10529 return 7;
10530 case 1:
10531 // op: vm
10532 return 25;
10533 }
10534 break;
10535 }
10536 case RISCV::VNPACK4_VV:
10537 case RISCV::VNPACK_VV:
10538 case RISCV::VNSPACK4_VV:
10539 case RISCV::VNSPACK_VV:
10540 case RISCV::VPACK_VV:
10541 case RISCV::VUPACK_VV: {
10542 switch (OpNum) {
10543 case 0:
10544 // op: vd
10545 return 7;
10546 case 1:
10547 // op: vs1
10548 return 15;
10549 case 2:
10550 // op: vs2
10551 return 20;
10552 case 3:
10553 // op: imm2
10554 return 12;
10555 }
10556 break;
10557 }
10558 case RISCV::VMV_V_V: {
10559 switch (OpNum) {
10560 case 0:
10561 // op: vd
10562 return 7;
10563 case 1:
10564 // op: vs1
10565 return 15;
10566 }
10567 break;
10568 }
10569 case RISCV::VADC_VIM:
10570 case RISCV::VAESKF1_VI:
10571 case RISCV::VMADC_VI:
10572 case RISCV::VMADC_VIM:
10573 case RISCV::VMERGE_VIM:
10574 case RISCV::VSM4K_VI: {
10575 switch (OpNum) {
10576 case 0:
10577 // op: vd
10578 return 7;
10579 case 1:
10580 // op: vs2
10581 return 20;
10582 case 2:
10583 // op: imm
10584 return 15;
10585 }
10586 break;
10587 }
10588 case RISCV::VADC_VXM:
10589 case RISCV::VFMERGE_VFM:
10590 case RISCV::VMADC_VX:
10591 case RISCV::VMADC_VXM:
10592 case RISCV::VMERGE_VXM:
10593 case RISCV::VMSBC_VX:
10594 case RISCV::VMSBC_VXM:
10595 case RISCV::VSBC_VXM: {
10596 switch (OpNum) {
10597 case 0:
10598 // op: vd
10599 return 7;
10600 case 1:
10601 // op: vs2
10602 return 20;
10603 case 2:
10604 // op: rs1
10605 return 15;
10606 }
10607 break;
10608 }
10609 case RISCV::VADC_VVM:
10610 case RISCV::VCOMPRESS_VM:
10611 case RISCV::VMADC_VV:
10612 case RISCV::VMADC_VVM:
10613 case RISCV::VMANDN_MM:
10614 case RISCV::VMAND_MM:
10615 case RISCV::VMERGE_VVM:
10616 case RISCV::VMNAND_MM:
10617 case RISCV::VMNOR_MM:
10618 case RISCV::VMORN_MM:
10619 case RISCV::VMOR_MM:
10620 case RISCV::VMSBC_VV:
10621 case RISCV::VMSBC_VVM:
10622 case RISCV::VMXNOR_MM:
10623 case RISCV::VMXOR_MM:
10624 case RISCV::VSBC_VVM:
10625 case RISCV::VSM3ME_VV: {
10626 switch (OpNum) {
10627 case 0:
10628 // op: vd
10629 return 7;
10630 case 1:
10631 // op: vs2
10632 return 20;
10633 case 2:
10634 // op: vs1
10635 return 15;
10636 }
10637 break;
10638 }
10639 case RISCV::VMV1R_V:
10640 case RISCV::VMV2R_V:
10641 case RISCV::VMV4R_V:
10642 case RISCV::VMV8R_V: {
10643 switch (OpNum) {
10644 case 0:
10645 // op: vd
10646 return 7;
10647 case 1:
10648 // op: vs2
10649 return 20;
10650 }
10651 break;
10652 }
10653 case RISCV::SF_VFEXPA_V:
10654 case RISCV::SF_VFEXP_V:
10655 case RISCV::VABS_V:
10656 case RISCV::VBREV8_V:
10657 case RISCV::VBREV_V:
10658 case RISCV::VCLZ_V:
10659 case RISCV::VCPOP_V:
10660 case RISCV::VCTZ_V:
10661 case RISCV::VFCLASS_V:
10662 case RISCV::VFCVT_F_XU_V:
10663 case RISCV::VFCVT_F_X_V:
10664 case RISCV::VFCVT_RTZ_XU_F_V:
10665 case RISCV::VFCVT_RTZ_X_F_V:
10666 case RISCV::VFCVT_XU_F_V:
10667 case RISCV::VFCVT_X_F_V:
10668 case RISCV::VFNCVTBF16_F_F_W:
10669 case RISCV::VFNCVTBF16_SAT_F_F_W:
10670 case RISCV::VFNCVT_F_F_Q:
10671 case RISCV::VFNCVT_F_F_W:
10672 case RISCV::VFNCVT_F_XU_W:
10673 case RISCV::VFNCVT_F_X_W:
10674 case RISCV::VFNCVT_ROD_F_F_W:
10675 case RISCV::VFNCVT_RTZ_XU_F_W:
10676 case RISCV::VFNCVT_RTZ_X_F_W:
10677 case RISCV::VFNCVT_SAT_F_F_Q:
10678 case RISCV::VFNCVT_XU_F_W:
10679 case RISCV::VFNCVT_X_F_W:
10680 case RISCV::VFREC7_V:
10681 case RISCV::VFRSQRT7_V:
10682 case RISCV::VFSQRT_V:
10683 case RISCV::VFWCVTBF16_F_F_V:
10684 case RISCV::VFWCVT_F_F_V:
10685 case RISCV::VFWCVT_F_XU_V:
10686 case RISCV::VFWCVT_F_X_V:
10687 case RISCV::VFWCVT_RTZ_XU_F_V:
10688 case RISCV::VFWCVT_RTZ_X_F_V:
10689 case RISCV::VFWCVT_XU_F_V:
10690 case RISCV::VFWCVT_X_F_V:
10691 case RISCV::VIOTA_M:
10692 case RISCV::VMSBF_M:
10693 case RISCV::VMSIF_M:
10694 case RISCV::VMSOF_M:
10695 case RISCV::VREV8_V:
10696 case RISCV::VSEXT_VF2:
10697 case RISCV::VSEXT_VF4:
10698 case RISCV::VSEXT_VF8:
10699 case RISCV::VUNZIPE_V:
10700 case RISCV::VUNZIPO_V:
10701 case RISCV::VZEXT_VF2:
10702 case RISCV::VZEXT_VF4:
10703 case RISCV::VZEXT_VF8: {
10704 switch (OpNum) {
10705 case 0:
10706 // op: vd
10707 return 7;
10708 case 2:
10709 // op: vm
10710 return 25;
10711 case 1:
10712 // op: vs2
10713 return 20;
10714 }
10715 break;
10716 }
10717 case RISCV::VADD_VI:
10718 case RISCV::VAND_VI:
10719 case RISCV::VMSEQ_VI:
10720 case RISCV::VMSGTU_VI:
10721 case RISCV::VMSGT_VI:
10722 case RISCV::VMSLEU_VI:
10723 case RISCV::VMSLE_VI:
10724 case RISCV::VMSNE_VI:
10725 case RISCV::VNCLIPU_WI:
10726 case RISCV::VNCLIP_WI:
10727 case RISCV::VNSRA_WI:
10728 case RISCV::VNSRL_WI:
10729 case RISCV::VOR_VI:
10730 case RISCV::VRGATHER_VI:
10731 case RISCV::VROR_VI:
10732 case RISCV::VRSUB_VI:
10733 case RISCV::VSADDU_VI:
10734 case RISCV::VSADD_VI:
10735 case RISCV::VSLIDEDOWN_VI:
10736 case RISCV::VSLIDEUP_VI:
10737 case RISCV::VSLL_VI:
10738 case RISCV::VSRA_VI:
10739 case RISCV::VSRL_VI:
10740 case RISCV::VSSRA_VI:
10741 case RISCV::VSSRL_VI:
10742 case RISCV::VWSLL_VI:
10743 case RISCV::VXOR_VI: {
10744 switch (OpNum) {
10745 case 0:
10746 // op: vd
10747 return 7;
10748 case 3:
10749 // op: vm
10750 return 25;
10751 case 1:
10752 // op: vs2
10753 return 20;
10754 case 2:
10755 // op: imm
10756 return 15;
10757 }
10758 break;
10759 }
10760 case RISCV::SF_VFNRCLIP_XU_F_QF:
10761 case RISCV::SF_VFNRCLIP_X_F_QF:
10762 case RISCV::VAADDU_VX:
10763 case RISCV::VAADD_VX:
10764 case RISCV::VADD_VX:
10765 case RISCV::VANDN_VX:
10766 case RISCV::VAND_VX:
10767 case RISCV::VASUBU_VX:
10768 case RISCV::VASUB_VX:
10769 case RISCV::VCLMULH_VX:
10770 case RISCV::VCLMUL_VX:
10771 case RISCV::VDIVU_VX:
10772 case RISCV::VDIV_VX:
10773 case RISCV::VFADD_VF:
10774 case RISCV::VFDIV_VF:
10775 case RISCV::VFMAX_VF:
10776 case RISCV::VFMIN_VF:
10777 case RISCV::VFMUL_VF:
10778 case RISCV::VFRDIV_VF:
10779 case RISCV::VFRSUB_VF:
10780 case RISCV::VFSGNJN_VF:
10781 case RISCV::VFSGNJX_VF:
10782 case RISCV::VFSGNJ_VF:
10783 case RISCV::VFSLIDE1DOWN_VF:
10784 case RISCV::VFSLIDE1UP_VF:
10785 case RISCV::VFSUB_VF:
10786 case RISCV::VFWADD_VF:
10787 case RISCV::VFWADD_WF:
10788 case RISCV::VFWMUL_VF:
10789 case RISCV::VFWSUB_VF:
10790 case RISCV::VFWSUB_WF:
10791 case RISCV::VMAXU_VX:
10792 case RISCV::VMAX_VX:
10793 case RISCV::VMFEQ_VF:
10794 case RISCV::VMFGE_VF:
10795 case RISCV::VMFGT_VF:
10796 case RISCV::VMFLE_VF:
10797 case RISCV::VMFLT_VF:
10798 case RISCV::VMFNE_VF:
10799 case RISCV::VMINU_VX:
10800 case RISCV::VMIN_VX:
10801 case RISCV::VMSEQ_VX:
10802 case RISCV::VMSGTU_VX:
10803 case RISCV::VMSGT_VX:
10804 case RISCV::VMSLEU_VX:
10805 case RISCV::VMSLE_VX:
10806 case RISCV::VMSLTU_VX:
10807 case RISCV::VMSLT_VX:
10808 case RISCV::VMSNE_VX:
10809 case RISCV::VMULHSU_VX:
10810 case RISCV::VMULHU_VX:
10811 case RISCV::VMULH_VX:
10812 case RISCV::VMUL_VX:
10813 case RISCV::VNCLIPU_WX:
10814 case RISCV::VNCLIP_WX:
10815 case RISCV::VNSRA_WX:
10816 case RISCV::VNSRL_WX:
10817 case RISCV::VOR_VX:
10818 case RISCV::VREMU_VX:
10819 case RISCV::VREM_VX:
10820 case RISCV::VRGATHER_VX:
10821 case RISCV::VROL_VX:
10822 case RISCV::VROR_VX:
10823 case RISCV::VRSUB_VX:
10824 case RISCV::VSADDU_VX:
10825 case RISCV::VSADD_VX:
10826 case RISCV::VSLIDE1DOWN_VX:
10827 case RISCV::VSLIDE1UP_VX:
10828 case RISCV::VSLIDEDOWN_VX:
10829 case RISCV::VSLIDEUP_VX:
10830 case RISCV::VSLL_VX:
10831 case RISCV::VSMUL_VX:
10832 case RISCV::VSRA_VX:
10833 case RISCV::VSRL_VX:
10834 case RISCV::VSSRA_VX:
10835 case RISCV::VSSRL_VX:
10836 case RISCV::VSSUBU_VX:
10837 case RISCV::VSSUB_VX:
10838 case RISCV::VSUB_VX:
10839 case RISCV::VWADDU_VX:
10840 case RISCV::VWADDU_WX:
10841 case RISCV::VWADD_VX:
10842 case RISCV::VWADD_WX:
10843 case RISCV::VWMULSU_VX:
10844 case RISCV::VWMULU_VX:
10845 case RISCV::VWMUL_VX:
10846 case RISCV::VWSLL_VX:
10847 case RISCV::VWSUBU_VX:
10848 case RISCV::VWSUBU_WX:
10849 case RISCV::VWSUB_VX:
10850 case RISCV::VWSUB_WX:
10851 case RISCV::VXOR_VX: {
10852 switch (OpNum) {
10853 case 0:
10854 // op: vd
10855 return 7;
10856 case 3:
10857 // op: vm
10858 return 25;
10859 case 1:
10860 // op: vs2
10861 return 20;
10862 case 2:
10863 // op: rs1
10864 return 15;
10865 }
10866 break;
10867 }
10868 case RISCV::VAADDU_VV:
10869 case RISCV::VAADD_VV:
10870 case RISCV::VABDU_VV:
10871 case RISCV::VABD_VV:
10872 case RISCV::VADD_VV:
10873 case RISCV::VANDN_VV:
10874 case RISCV::VAND_VV:
10875 case RISCV::VASUBU_VV:
10876 case RISCV::VASUB_VV:
10877 case RISCV::VCLMULH_VV:
10878 case RISCV::VCLMUL_VV:
10879 case RISCV::VDIVU_VV:
10880 case RISCV::VDIV_VV:
10881 case RISCV::VFADD_VV:
10882 case RISCV::VFDIV_VV:
10883 case RISCV::VFMAX_VV:
10884 case RISCV::VFMIN_VV:
10885 case RISCV::VFMUL_VV:
10886 case RISCV::VFREDMAX_VS:
10887 case RISCV::VFREDMIN_VS:
10888 case RISCV::VFREDOSUM_VS:
10889 case RISCV::VFREDUSUM_VS:
10890 case RISCV::VFSGNJN_VV:
10891 case RISCV::VFSGNJX_VV:
10892 case RISCV::VFSGNJ_VV:
10893 case RISCV::VFSUB_VV:
10894 case RISCV::VFWADD_VV:
10895 case RISCV::VFWADD_WV:
10896 case RISCV::VFWMUL_VV:
10897 case RISCV::VFWREDOSUM_VS:
10898 case RISCV::VFWREDUSUM_VS:
10899 case RISCV::VFWSUB_VV:
10900 case RISCV::VFWSUB_WV:
10901 case RISCV::VMAXU_VV:
10902 case RISCV::VMAX_VV:
10903 case RISCV::VMFEQ_VV:
10904 case RISCV::VMFLE_VV:
10905 case RISCV::VMFLT_VV:
10906 case RISCV::VMFNE_VV:
10907 case RISCV::VMINU_VV:
10908 case RISCV::VMIN_VV:
10909 case RISCV::VMSEQ_VV:
10910 case RISCV::VMSLEU_VV:
10911 case RISCV::VMSLE_VV:
10912 case RISCV::VMSLTU_VV:
10913 case RISCV::VMSLT_VV:
10914 case RISCV::VMSNE_VV:
10915 case RISCV::VMULHSU_VV:
10916 case RISCV::VMULHU_VV:
10917 case RISCV::VMULH_VV:
10918 case RISCV::VMUL_VV:
10919 case RISCV::VNCLIPU_WV:
10920 case RISCV::VNCLIP_WV:
10921 case RISCV::VNSRA_WV:
10922 case RISCV::VNSRL_WV:
10923 case RISCV::VOR_VV:
10924 case RISCV::VPAIRE_VV:
10925 case RISCV::VPAIRO_VV:
10926 case RISCV::VREDAND_VS:
10927 case RISCV::VREDMAXU_VS:
10928 case RISCV::VREDMAX_VS:
10929 case RISCV::VREDMINU_VS:
10930 case RISCV::VREDMIN_VS:
10931 case RISCV::VREDOR_VS:
10932 case RISCV::VREDSUM_VS:
10933 case RISCV::VREDXOR_VS:
10934 case RISCV::VREMU_VV:
10935 case RISCV::VREM_VV:
10936 case RISCV::VRGATHEREI16_VV:
10937 case RISCV::VRGATHER_VV:
10938 case RISCV::VROL_VV:
10939 case RISCV::VROR_VV:
10940 case RISCV::VSADDU_VV:
10941 case RISCV::VSADD_VV:
10942 case RISCV::VSLL_VV:
10943 case RISCV::VSMUL_VV:
10944 case RISCV::VSRA_VV:
10945 case RISCV::VSRL_VV:
10946 case RISCV::VSSRA_VV:
10947 case RISCV::VSSRL_VV:
10948 case RISCV::VSSUBU_VV:
10949 case RISCV::VSSUB_VV:
10950 case RISCV::VSUB_VV:
10951 case RISCV::VWABDAU_VV:
10952 case RISCV::VWABDA_VV:
10953 case RISCV::VWADDU_VV:
10954 case RISCV::VWADDU_WV:
10955 case RISCV::VWADD_VV:
10956 case RISCV::VWADD_WV:
10957 case RISCV::VWMULSU_VV:
10958 case RISCV::VWMULU_VV:
10959 case RISCV::VWMUL_VV:
10960 case RISCV::VWREDSUMU_VS:
10961 case RISCV::VWREDSUM_VS:
10962 case RISCV::VWSLL_VV:
10963 case RISCV::VWSUBU_VV:
10964 case RISCV::VWSUBU_WV:
10965 case RISCV::VWSUB_VV:
10966 case RISCV::VWSUB_WV:
10967 case RISCV::VXOR_VV:
10968 case RISCV::VZIP_VV: {
10969 switch (OpNum) {
10970 case 0:
10971 // op: vd
10972 return 7;
10973 case 3:
10974 // op: vm
10975 return 25;
10976 case 1:
10977 // op: vs2
10978 return 20;
10979 case 2:
10980 // op: vs1
10981 return 15;
10982 }
10983 break;
10984 }
10985 case RISCV::VMTS_V:
10986 case RISCV::VMTTS_V: {
10987 switch (OpNum) {
10988 case 0:
10989 // op: vs3
10990 return 7;
10991 case 1:
10992 // op: rs1
10993 return 15;
10994 case 2:
10995 // op: rs2
10996 return 20;
10997 case 4:
10998 // op: vm
10999 return 25;
11000 case 3:
11001 // op: vlambda
11002 return 29;
11003 }
11004 break;
11005 }
11006 case RISCV::C_LI:
11007 case RISCV::C_LUI: {
11008 switch (OpNum) {
11009 case 1:
11010 // op: imm
11011 return 2;
11012 case 0:
11013 // op: rd
11014 return 7;
11015 }
11016 break;
11017 }
11018 case RISCV::C_BEQZ:
11019 case RISCV::C_BNEZ: {
11020 switch (OpNum) {
11021 case 1:
11022 // op: imm
11023 return 2;
11024 case 0:
11025 // op: rs1
11026 return 7;
11027 }
11028 break;
11029 }
11030 case RISCV::PREFETCH_I:
11031 case RISCV::PREFETCH_R:
11032 case RISCV::PREFETCH_W: {
11033 switch (OpNum) {
11034 case 1:
11035 // op: imm12
11036 return 25;
11037 case 0:
11038 // op: rs1
11039 return 15;
11040 }
11041 break;
11042 }
11043 case RISCV::AIF_FSQ2:
11044 case RISCV::AIF_FSW_PS: {
11045 switch (OpNum) {
11046 case 1:
11047 // op: imm12
11048 return 7;
11049 case 0:
11050 // op: rs2
11051 return 20;
11052 case 2:
11053 // op: rs1
11054 return 15;
11055 }
11056 break;
11057 }
11058 case RISCV::NDS_LDGP:
11059 case RISCV::NDS_LHGP:
11060 case RISCV::NDS_LHUGP:
11061 case RISCV::NDS_LWGP:
11062 case RISCV::NDS_LWUGP: {
11063 switch (OpNum) {
11064 case 1:
11065 // op: imm17
11066 return 15;
11067 case 0:
11068 // op: rd
11069 return 7;
11070 }
11071 break;
11072 }
11073 case RISCV::NDS_SDGP:
11074 case RISCV::NDS_SHGP:
11075 case RISCV::NDS_SWGP: {
11076 switch (OpNum) {
11077 case 1:
11078 // op: imm17
11079 return 7;
11080 case 0:
11081 // op: rs2
11082 return 20;
11083 }
11084 break;
11085 }
11086 case RISCV::NDS_ADDIGP:
11087 case RISCV::NDS_LBGP:
11088 case RISCV::NDS_LBUGP: {
11089 switch (OpNum) {
11090 case 1:
11091 // op: imm18
11092 return 14;
11093 case 0:
11094 // op: rd
11095 return 7;
11096 }
11097 break;
11098 }
11099 case RISCV::NDS_SBGP: {
11100 switch (OpNum) {
11101 case 1:
11102 // op: imm18
11103 return 7;
11104 case 0:
11105 // op: rs2
11106 return 20;
11107 }
11108 break;
11109 }
11110 case RISCV::AIF_FBCI_PI:
11111 case RISCV::AIF_FBCI_PS:
11112 case RISCV::AUIPC:
11113 case RISCV::JAL:
11114 case RISCV::LUI:
11115 case RISCV::QC_LI: {
11116 switch (OpNum) {
11117 case 1:
11118 // op: imm20
11119 return 12;
11120 case 0:
11121 // op: rd
11122 return 7;
11123 }
11124 break;
11125 }
11126 case RISCV::MIPS_PREF: {
11127 switch (OpNum) {
11128 case 1:
11129 // op: imm9
11130 return 20;
11131 case 0:
11132 // op: rs1
11133 return 15;
11134 case 2:
11135 // op: hint
11136 return 7;
11137 }
11138 break;
11139 }
11140 case RISCV::InsnQC_EAI: {
11141 switch (OpNum) {
11142 case 1:
11143 // op: opcode
11144 return 0;
11145 case 2:
11146 // op: func3
11147 return 12;
11148 case 3:
11149 // op: func1
11150 return 15;
11151 case 0:
11152 // op: rd
11153 return 7;
11154 case 4:
11155 // op: imm32
11156 return 16;
11157 }
11158 break;
11159 }
11160 case RISCV::InsnQC_EI:
11161 case RISCV::InsnQC_EI_Mem: {
11162 switch (OpNum) {
11163 case 1:
11164 // op: opcode
11165 return 0;
11166 case 2:
11167 // op: func3
11168 return 12;
11169 case 3:
11170 // op: func2
11171 return 30;
11172 case 0:
11173 // op: rd
11174 return 7;
11175 case 4:
11176 // op: rs1
11177 return 15;
11178 case 5:
11179 // op: imm26
11180 return 20;
11181 }
11182 break;
11183 }
11184 case RISCV::InsnI:
11185 case RISCV::InsnI_Mem: {
11186 switch (OpNum) {
11187 case 1:
11188 // op: opcode
11189 return 0;
11190 case 2:
11191 // op: funct3
11192 return 12;
11193 case 4:
11194 // op: imm12
11195 return 20;
11196 case 3:
11197 // op: rs1
11198 return 15;
11199 case 0:
11200 // op: rd
11201 return 7;
11202 }
11203 break;
11204 }
11205 case RISCV::InsnCI: {
11206 switch (OpNum) {
11207 case 1:
11208 // op: opcode
11209 return 0;
11210 case 2:
11211 // op: funct3
11212 return 13;
11213 case 3:
11214 // op: imm6
11215 return 2;
11216 case 0:
11217 // op: rd
11218 return 7;
11219 }
11220 break;
11221 }
11222 case RISCV::InsnCIW: {
11223 switch (OpNum) {
11224 case 1:
11225 // op: opcode
11226 return 0;
11227 case 2:
11228 // op: funct3
11229 return 13;
11230 case 3:
11231 // op: imm8
11232 return 5;
11233 case 0:
11234 // op: rd
11235 return 2;
11236 }
11237 break;
11238 }
11239 case RISCV::InsnCL: {
11240 switch (OpNum) {
11241 case 1:
11242 // op: opcode
11243 return 0;
11244 case 2:
11245 // op: funct3
11246 return 13;
11247 case 4:
11248 // op: imm5
11249 return 5;
11250 case 0:
11251 // op: rd
11252 return 2;
11253 case 3:
11254 // op: rs1
11255 return 7;
11256 }
11257 break;
11258 }
11259 case RISCV::InsnCR: {
11260 switch (OpNum) {
11261 case 1:
11262 // op: opcode
11263 return 0;
11264 case 2:
11265 // op: funct4
11266 return 12;
11267 case 3:
11268 // op: rs2
11269 return 2;
11270 case 0:
11271 // op: rd
11272 return 7;
11273 }
11274 break;
11275 }
11276 case RISCV::InsnCA: {
11277 switch (OpNum) {
11278 case 1:
11279 // op: opcode
11280 return 0;
11281 case 2:
11282 // op: funct6
11283 return 10;
11284 case 3:
11285 // op: funct2
11286 return 5;
11287 case 0:
11288 // op: rd
11289 return 7;
11290 case 4:
11291 // op: rs2
11292 return 2;
11293 }
11294 break;
11295 }
11296 case RISCV::InsnJ:
11297 case RISCV::InsnU: {
11298 switch (OpNum) {
11299 case 1:
11300 // op: opcode
11301 return 0;
11302 case 2:
11303 // op: imm20
11304 return 12;
11305 case 0:
11306 // op: rd
11307 return 7;
11308 }
11309 break;
11310 }
11311 case RISCV::InsnR4: {
11312 switch (OpNum) {
11313 case 1:
11314 // op: opcode
11315 return 0;
11316 case 3:
11317 // op: funct2
11318 return 25;
11319 case 2:
11320 // op: funct3
11321 return 12;
11322 case 6:
11323 // op: rs3
11324 return 27;
11325 case 5:
11326 // op: rs2
11327 return 20;
11328 case 4:
11329 // op: rs1
11330 return 15;
11331 case 0:
11332 // op: rd
11333 return 7;
11334 }
11335 break;
11336 }
11337 case RISCV::InsnR: {
11338 switch (OpNum) {
11339 case 1:
11340 // op: opcode
11341 return 0;
11342 case 3:
11343 // op: funct7
11344 return 25;
11345 case 2:
11346 // op: funct3
11347 return 12;
11348 case 5:
11349 // op: rs2
11350 return 20;
11351 case 4:
11352 // op: rs1
11353 return 15;
11354 case 0:
11355 // op: rd
11356 return 7;
11357 }
11358 break;
11359 }
11360 case RISCV::QC_C_MULIADD: {
11361 switch (OpNum) {
11362 case 1:
11363 // op: rd
11364 return 2;
11365 case 2:
11366 // op: rs1
11367 return 7;
11368 case 3:
11369 // op: uimm
11370 return 5;
11371 }
11372 break;
11373 }
11374 case RISCV::QC_C_MVEQZ: {
11375 switch (OpNum) {
11376 case 1:
11377 // op: rd
11378 return 2;
11379 case 2:
11380 // op: rs1
11381 return 7;
11382 }
11383 break;
11384 }
11385 case RISCV::QC_E_ADDAI:
11386 case RISCV::QC_E_ANDAI:
11387 case RISCV::QC_E_ORAI:
11388 case RISCV::QC_E_XORAI: {
11389 switch (OpNum) {
11390 case 1:
11391 // op: rd
11392 return 7;
11393 case 2:
11394 // op: imm
11395 return 16;
11396 }
11397 break;
11398 }
11399 case RISCV::QC_INSBI: {
11400 switch (OpNum) {
11401 case 1:
11402 // op: rd
11403 return 7;
11404 case 2:
11405 // op: imm5
11406 return 15;
11407 case 4:
11408 // op: shamt
11409 return 20;
11410 case 3:
11411 // op: width
11412 return 25;
11413 }
11414 break;
11415 }
11416 case RISCV::QC_C_EXTU: {
11417 switch (OpNum) {
11418 case 1:
11419 // op: rd
11420 return 7;
11421 case 2:
11422 // op: width
11423 return 2;
11424 }
11425 break;
11426 }
11427 case RISCV::C_NOT:
11428 case RISCV::C_SEXT_B:
11429 case RISCV::C_SEXT_H:
11430 case RISCV::C_ZEXT_B:
11431 case RISCV::C_ZEXT_H:
11432 case RISCV::C_ZEXT_W: {
11433 switch (OpNum) {
11434 case 1:
11435 // op: rd
11436 return 7;
11437 }
11438 break;
11439 }
11440 case RISCV::YBNDSWI: {
11441 switch (OpNum) {
11442 case 1:
11443 // op: rs1
11444 return 15;
11445 case 0:
11446 // op: rd
11447 return 7;
11448 case 2:
11449 // op: imm
11450 return 20;
11451 }
11452 break;
11453 }
11454 case RISCV::QC_WRAPI: {
11455 switch (OpNum) {
11456 case 1:
11457 // op: rs1
11458 return 15;
11459 case 0:
11460 // op: rd
11461 return 7;
11462 case 2:
11463 // op: imm11
11464 return 20;
11465 }
11466 break;
11467 }
11468 case RISCV::ADDI:
11469 case RISCV::ADDIW:
11470 case RISCV::ANDI:
11471 case RISCV::CV_ELW:
11472 case RISCV::FLD:
11473 case RISCV::FLH:
11474 case RISCV::FLQ:
11475 case RISCV::FLW:
11476 case RISCV::JALR:
11477 case RISCV::LB:
11478 case RISCV::LBU:
11479 case RISCV::LD:
11480 case RISCV::LD_RV32:
11481 case RISCV::LH:
11482 case RISCV::LHU:
11483 case RISCV::LH_INX:
11484 case RISCV::LW:
11485 case RISCV::LWU:
11486 case RISCV::LW_INX:
11487 case RISCV::ORI:
11488 case RISCV::SLTI:
11489 case RISCV::SLTIU:
11490 case RISCV::XORI:
11491 case RISCV::YADDI: {
11492 switch (OpNum) {
11493 case 1:
11494 // op: rs1
11495 return 15;
11496 case 0:
11497 // op: rd
11498 return 7;
11499 case 2:
11500 // op: imm12
11501 return 20;
11502 }
11503 break;
11504 }
11505 case RISCV::QC_INW: {
11506 switch (OpNum) {
11507 case 1:
11508 // op: rs1
11509 return 15;
11510 case 0:
11511 // op: rd
11512 return 7;
11513 case 2:
11514 // op: imm14
11515 return 20;
11516 }
11517 break;
11518 }
11519 case RISCV::CV_CLIP:
11520 case RISCV::CV_CLIPU: {
11521 switch (OpNum) {
11522 case 1:
11523 // op: rs1
11524 return 15;
11525 case 0:
11526 // op: rd
11527 return 7;
11528 case 2:
11529 // op: imm5
11530 return 20;
11531 }
11532 break;
11533 }
11534 case RISCV::CV_ADD_SCI_B:
11535 case RISCV::CV_ADD_SCI_H:
11536 case RISCV::CV_AND_SCI_B:
11537 case RISCV::CV_AND_SCI_H:
11538 case RISCV::CV_AVGU_SCI_B:
11539 case RISCV::CV_AVGU_SCI_H:
11540 case RISCV::CV_AVG_SCI_B:
11541 case RISCV::CV_AVG_SCI_H:
11542 case RISCV::CV_CMPEQ_SCI_B:
11543 case RISCV::CV_CMPEQ_SCI_H:
11544 case RISCV::CV_CMPGEU_SCI_B:
11545 case RISCV::CV_CMPGEU_SCI_H:
11546 case RISCV::CV_CMPGE_SCI_B:
11547 case RISCV::CV_CMPGE_SCI_H:
11548 case RISCV::CV_CMPGTU_SCI_B:
11549 case RISCV::CV_CMPGTU_SCI_H:
11550 case RISCV::CV_CMPGT_SCI_B:
11551 case RISCV::CV_CMPGT_SCI_H:
11552 case RISCV::CV_CMPLEU_SCI_B:
11553 case RISCV::CV_CMPLEU_SCI_H:
11554 case RISCV::CV_CMPLE_SCI_B:
11555 case RISCV::CV_CMPLE_SCI_H:
11556 case RISCV::CV_CMPLTU_SCI_B:
11557 case RISCV::CV_CMPLTU_SCI_H:
11558 case RISCV::CV_CMPLT_SCI_B:
11559 case RISCV::CV_CMPLT_SCI_H:
11560 case RISCV::CV_CMPNE_SCI_B:
11561 case RISCV::CV_CMPNE_SCI_H:
11562 case RISCV::CV_DOTSP_SCI_B:
11563 case RISCV::CV_DOTSP_SCI_H:
11564 case RISCV::CV_DOTUP_SCI_B:
11565 case RISCV::CV_DOTUP_SCI_H:
11566 case RISCV::CV_DOTUSP_SCI_B:
11567 case RISCV::CV_DOTUSP_SCI_H:
11568 case RISCV::CV_EXTRACTU_B:
11569 case RISCV::CV_EXTRACTU_H:
11570 case RISCV::CV_EXTRACT_B:
11571 case RISCV::CV_EXTRACT_H:
11572 case RISCV::CV_MAXU_SCI_B:
11573 case RISCV::CV_MAXU_SCI_H:
11574 case RISCV::CV_MAX_SCI_B:
11575 case RISCV::CV_MAX_SCI_H:
11576 case RISCV::CV_MINU_SCI_B:
11577 case RISCV::CV_MINU_SCI_H:
11578 case RISCV::CV_MIN_SCI_B:
11579 case RISCV::CV_MIN_SCI_H:
11580 case RISCV::CV_OR_SCI_B:
11581 case RISCV::CV_OR_SCI_H:
11582 case RISCV::CV_SHUFFLEI0_SCI_B:
11583 case RISCV::CV_SHUFFLEI1_SCI_B:
11584 case RISCV::CV_SHUFFLEI2_SCI_B:
11585 case RISCV::CV_SHUFFLEI3_SCI_B:
11586 case RISCV::CV_SHUFFLE_SCI_H:
11587 case RISCV::CV_SLL_SCI_B:
11588 case RISCV::CV_SLL_SCI_H:
11589 case RISCV::CV_SRA_SCI_B:
11590 case RISCV::CV_SRA_SCI_H:
11591 case RISCV::CV_SRL_SCI_B:
11592 case RISCV::CV_SRL_SCI_H:
11593 case RISCV::CV_SUB_SCI_B:
11594 case RISCV::CV_SUB_SCI_H:
11595 case RISCV::CV_XOR_SCI_B:
11596 case RISCV::CV_XOR_SCI_H: {
11597 switch (OpNum) {
11598 case 1:
11599 // op: rs1
11600 return 15;
11601 case 0:
11602 // op: rd
11603 return 7;
11604 case 2:
11605 // op: imm6
11606 return 20;
11607 }
11608 break;
11609 }
11610 case RISCV::CV_BCLR:
11611 case RISCV::CV_BITREV:
11612 case RISCV::CV_BSET:
11613 case RISCV::CV_EXTRACT:
11614 case RISCV::CV_EXTRACTU: {
11615 switch (OpNum) {
11616 case 1:
11617 // op: rs1
11618 return 15;
11619 case 0:
11620 // op: rd
11621 return 7;
11622 case 2:
11623 // op: is3
11624 return 25;
11625 case 3:
11626 // op: is2
11627 return 20;
11628 }
11629 break;
11630 }
11631 case RISCV::TH_EXT:
11632 case RISCV::TH_EXTU: {
11633 switch (OpNum) {
11634 case 1:
11635 // op: rs1
11636 return 15;
11637 case 0:
11638 // op: rd
11639 return 7;
11640 case 2:
11641 // op: msb
11642 return 26;
11643 case 3:
11644 // op: lsb
11645 return 20;
11646 }
11647 break;
11648 }
11649 case RISCV::AES64KS1I: {
11650 switch (OpNum) {
11651 case 1:
11652 // op: rs1
11653 return 15;
11654 case 0:
11655 // op: rd
11656 return 7;
11657 case 2:
11658 // op: rnum
11659 return 20;
11660 }
11661 break;
11662 }
11663 case RISCV::BCLRI:
11664 case RISCV::BEXTI:
11665 case RISCV::BINVI:
11666 case RISCV::BSETI:
11667 case RISCV::PSATI_H:
11668 case RISCV::PSATI_W:
11669 case RISCV::PSLLI_B:
11670 case RISCV::PSLLI_H:
11671 case RISCV::PSLLI_W:
11672 case RISCV::PSRAI_B:
11673 case RISCV::PSRAI_H:
11674 case RISCV::PSRAI_W:
11675 case RISCV::PSRARI_H:
11676 case RISCV::PSRARI_W:
11677 case RISCV::PSRLI_B:
11678 case RISCV::PSRLI_H:
11679 case RISCV::PSRLI_W:
11680 case RISCV::PSSLAI_H:
11681 case RISCV::PSSLAI_W:
11682 case RISCV::PUSATI_H:
11683 case RISCV::PUSATI_W:
11684 case RISCV::RORI:
11685 case RISCV::RORIW:
11686 case RISCV::SATI_RV32:
11687 case RISCV::SATI_RV64:
11688 case RISCV::SLLI:
11689 case RISCV::SLLIW:
11690 case RISCV::SLLI_UW:
11691 case RISCV::SRAI:
11692 case RISCV::SRAIW:
11693 case RISCV::SRARI_RV32:
11694 case RISCV::SRARI_RV64:
11695 case RISCV::SRLI:
11696 case RISCV::SRLIW:
11697 case RISCV::SRLIY:
11698 case RISCV::SSLAI:
11699 case RISCV::TH_SRRI:
11700 case RISCV::TH_SRRIW:
11701 case RISCV::TH_TST:
11702 case RISCV::USATI_RV32:
11703 case RISCV::USATI_RV64: {
11704 switch (OpNum) {
11705 case 1:
11706 // op: rs1
11707 return 15;
11708 case 0:
11709 // op: rd
11710 return 7;
11711 case 2:
11712 // op: shamt
11713 return 20;
11714 }
11715 break;
11716 }
11717 case RISCV::VSETVLI: {
11718 switch (OpNum) {
11719 case 1:
11720 // op: rs1
11721 return 15;
11722 case 0:
11723 // op: rd
11724 return 7;
11725 case 2:
11726 // op: vtypei
11727 return 20;
11728 }
11729 break;
11730 }
11731 case RISCV::QC_EXT:
11732 case RISCV::QC_EXTD:
11733 case RISCV::QC_EXTDU:
11734 case RISCV::QC_EXTU: {
11735 switch (OpNum) {
11736 case 1:
11737 // op: rs1
11738 return 15;
11739 case 0:
11740 // op: rd
11741 return 7;
11742 case 3:
11743 // op: shamt
11744 return 20;
11745 case 2:
11746 // op: width
11747 return 25;
11748 }
11749 break;
11750 }
11751 case RISCV::ABS:
11752 case RISCV::ABSW:
11753 case RISCV::AES64IM:
11754 case RISCV::AIF_FBCX_PS:
11755 case RISCV::AIF_FCLASS_PS:
11756 case RISCV::AIF_FCVT_F10_PS:
11757 case RISCV::AIF_FCVT_F11_PS:
11758 case RISCV::AIF_FCVT_F16_PS:
11759 case RISCV::AIF_FCVT_PS_F10:
11760 case RISCV::AIF_FCVT_PS_F11:
11761 case RISCV::AIF_FCVT_PS_F16:
11762 case RISCV::AIF_FCVT_PS_RAST:
11763 case RISCV::AIF_FCVT_PS_SN16:
11764 case RISCV::AIF_FCVT_PS_SN8:
11765 case RISCV::AIF_FCVT_PS_UN10:
11766 case RISCV::AIF_FCVT_PS_UN16:
11767 case RISCV::AIF_FCVT_PS_UN2:
11768 case RISCV::AIF_FCVT_PS_UN24:
11769 case RISCV::AIF_FCVT_PS_UN8:
11770 case RISCV::AIF_FCVT_RAST_PS:
11771 case RISCV::AIF_FCVT_SN16_PS:
11772 case RISCV::AIF_FCVT_SN8_PS:
11773 case RISCV::AIF_FCVT_UN10_PS:
11774 case RISCV::AIF_FCVT_UN16_PS:
11775 case RISCV::AIF_FCVT_UN24_PS:
11776 case RISCV::AIF_FCVT_UN2_PS:
11777 case RISCV::AIF_FCVT_UN8_PS:
11778 case RISCV::AIF_FEXP_PS:
11779 case RISCV::AIF_FFRC_PS:
11780 case RISCV::AIF_FLOG_PS:
11781 case RISCV::AIF_FLWG_PS:
11782 case RISCV::AIF_FLWL_PS:
11783 case RISCV::AIF_FNOT_PI:
11784 case RISCV::AIF_FPACKREPB_PI:
11785 case RISCV::AIF_FPACKREPH_PI:
11786 case RISCV::AIF_FRCP_PS:
11787 case RISCV::AIF_FRSQ_PS:
11788 case RISCV::AIF_FSAT8_PI:
11789 case RISCV::AIF_FSATU8_PI:
11790 case RISCV::AIF_FSETM_PI:
11791 case RISCV::AIF_FSIN_PS:
11792 case RISCV::AIF_FSQRT_PS:
11793 case RISCV::AIF_MASKNOT:
11794 case RISCV::AIF_MASKPOPC:
11795 case RISCV::AIF_MASKPOPCZ:
11796 case RISCV::BREV8:
11797 case RISCV::CLS:
11798 case RISCV::CLSW:
11799 case RISCV::CLZ:
11800 case RISCV::CLZW:
11801 case RISCV::CPOP:
11802 case RISCV::CPOPW:
11803 case RISCV::CTZ:
11804 case RISCV::CTZW:
11805 case RISCV::CV_ABS:
11806 case RISCV::CV_ABS_B:
11807 case RISCV::CV_ABS_H:
11808 case RISCV::CV_CLB:
11809 case RISCV::CV_CNT:
11810 case RISCV::CV_CPLXCONJ:
11811 case RISCV::CV_EXTBS:
11812 case RISCV::CV_EXTBZ:
11813 case RISCV::CV_EXTHS:
11814 case RISCV::CV_EXTHZ:
11815 case RISCV::CV_FF1:
11816 case RISCV::CV_FL1:
11817 case RISCV::FCLASS_D:
11818 case RISCV::FCLASS_D_IN32X:
11819 case RISCV::FCLASS_D_INX:
11820 case RISCV::FCLASS_H:
11821 case RISCV::FCLASS_H_INX:
11822 case RISCV::FCLASS_Q:
11823 case RISCV::FCLASS_S:
11824 case RISCV::FCLASS_S_INX:
11825 case RISCV::FCVTMOD_W_D:
11826 case RISCV::FMVH_X_D:
11827 case RISCV::FMVH_X_Q:
11828 case RISCV::FMV_D_X:
11829 case RISCV::FMV_H_X:
11830 case RISCV::FMV_W_X:
11831 case RISCV::FMV_X_D:
11832 case RISCV::FMV_X_H:
11833 case RISCV::FMV_X_W:
11834 case RISCV::FMV_X_W_FPR64:
11835 case RISCV::HLVX_HU:
11836 case RISCV::HLVX_WU:
11837 case RISCV::HLV_B:
11838 case RISCV::HLV_BU:
11839 case RISCV::HLV_D:
11840 case RISCV::HLV_H:
11841 case RISCV::HLV_HU:
11842 case RISCV::HLV_W:
11843 case RISCV::HLV_WU:
11844 case RISCV::LB_AQ:
11845 case RISCV::LB_AQRL:
11846 case RISCV::LD_AQ:
11847 case RISCV::LD_AQRL:
11848 case RISCV::LH_AQ:
11849 case RISCV::LH_AQRL:
11850 case RISCV::LR_D:
11851 case RISCV::LR_D_AQ:
11852 case RISCV::LR_D_AQRL:
11853 case RISCV::LR_D_RL:
11854 case RISCV::LR_W:
11855 case RISCV::LR_W_AQ:
11856 case RISCV::LR_W_AQRL:
11857 case RISCV::LR_W_RL:
11858 case RISCV::LW_AQ:
11859 case RISCV::LW_AQRL:
11860 case RISCV::MOP_R_0:
11861 case RISCV::MOP_R_1:
11862 case RISCV::MOP_R_10:
11863 case RISCV::MOP_R_11:
11864 case RISCV::MOP_R_12:
11865 case RISCV::MOP_R_13:
11866 case RISCV::MOP_R_14:
11867 case RISCV::MOP_R_15:
11868 case RISCV::MOP_R_16:
11869 case RISCV::MOP_R_17:
11870 case RISCV::MOP_R_18:
11871 case RISCV::MOP_R_19:
11872 case RISCV::MOP_R_2:
11873 case RISCV::MOP_R_20:
11874 case RISCV::MOP_R_21:
11875 case RISCV::MOP_R_22:
11876 case RISCV::MOP_R_23:
11877 case RISCV::MOP_R_24:
11878 case RISCV::MOP_R_25:
11879 case RISCV::MOP_R_26:
11880 case RISCV::MOP_R_27:
11881 case RISCV::MOP_R_28:
11882 case RISCV::MOP_R_29:
11883 case RISCV::MOP_R_3:
11884 case RISCV::MOP_R_30:
11885 case RISCV::MOP_R_31:
11886 case RISCV::MOP_R_4:
11887 case RISCV::MOP_R_5:
11888 case RISCV::MOP_R_6:
11889 case RISCV::MOP_R_7:
11890 case RISCV::MOP_R_8:
11891 case RISCV::MOP_R_9:
11892 case RISCV::NDS_FMV_BF16_X:
11893 case RISCV::NDS_FMV_X_BF16:
11894 case RISCV::ORC_B:
11895 case RISCV::PSABS_B:
11896 case RISCV::PSABS_H:
11897 case RISCV::PSEXT_H_B:
11898 case RISCV::PSEXT_W_B:
11899 case RISCV::PSEXT_W_H:
11900 case RISCV::QC_BREV32:
11901 case RISCV::QC_CLO:
11902 case RISCV::QC_COMPRESS2:
11903 case RISCV::QC_COMPRESS3:
11904 case RISCV::QC_CTO:
11905 case RISCV::QC_EXPAND2:
11906 case RISCV::QC_EXPAND3:
11907 case RISCV::QC_NORM:
11908 case RISCV::QC_NORMEU:
11909 case RISCV::QC_NORMU:
11910 case RISCV::REV16_RV64:
11911 case RISCV::REV8_RV32:
11912 case RISCV::REV8_RV64:
11913 case RISCV::REV_RV32:
11914 case RISCV::REV_RV64:
11915 case RISCV::SEXT_B:
11916 case RISCV::SEXT_H:
11917 case RISCV::SF_VSETTK:
11918 case RISCV::SF_VSETTM:
11919 case RISCV::SF_VSETTN:
11920 case RISCV::SHA256SIG0:
11921 case RISCV::SHA256SIG1:
11922 case RISCV::SHA256SUM0:
11923 case RISCV::SHA256SUM1:
11924 case RISCV::SHA512SIG0:
11925 case RISCV::SHA512SIG1:
11926 case RISCV::SHA512SUM0:
11927 case RISCV::SHA512SUM1:
11928 case RISCV::SM3P0:
11929 case RISCV::SM3P1:
11930 case RISCV::TH_FF0:
11931 case RISCV::TH_FF1:
11932 case RISCV::TH_REV:
11933 case RISCV::TH_REVW:
11934 case RISCV::TH_TSTNBZ:
11935 case RISCV::UNZIP_RV32:
11936 case RISCV::YAMASK:
11937 case RISCV::YBASER:
11938 case RISCV::YLENR:
11939 case RISCV::YMV:
11940 case RISCV::YPERMR:
11941 case RISCV::YTAGR:
11942 case RISCV::YTOPR:
11943 case RISCV::YTYPER:
11944 case RISCV::ZEXT_H_RV32:
11945 case RISCV::ZEXT_H_RV64:
11946 case RISCV::ZIP_RV32: {
11947 switch (OpNum) {
11948 case 1:
11949 // op: rs1
11950 return 15;
11951 case 0:
11952 // op: rd
11953 return 7;
11954 }
11955 break;
11956 }
11957 case RISCV::PWSLAI_B:
11958 case RISCV::PWSLAI_H:
11959 case RISCV::PWSLLI_B:
11960 case RISCV::PWSLLI_H:
11961 case RISCV::WSLAI:
11962 case RISCV::WSLLI: {
11963 switch (OpNum) {
11964 case 1:
11965 // op: rs1
11966 return 15;
11967 case 0:
11968 // op: rd
11969 return 8;
11970 case 2:
11971 // op: shamt
11972 return 20;
11973 }
11974 break;
11975 }
11976 case RISCV::QC_E_SB:
11977 case RISCV::QC_E_SH:
11978 case RISCV::QC_E_SW: {
11979 switch (OpNum) {
11980 case 1:
11981 // op: rs1
11982 return 15;
11983 case 0:
11984 // op: rs2
11985 return 20;
11986 case 2:
11987 // op: imm
11988 return 7;
11989 }
11990 break;
11991 }
11992 case RISCV::CV_SB_rr:
11993 case RISCV::CV_SH_rr:
11994 case RISCV::CV_SW_rr: {
11995 switch (OpNum) {
11996 case 1:
11997 // op: rs1
11998 return 15;
11999 case 0:
12000 // op: rs2
12001 return 20;
12002 case 2:
12003 // op: rs3
12004 return 7;
12005 }
12006 break;
12007 }
12008 case RISCV::QC_OUTW: {
12009 switch (OpNum) {
12010 case 1:
12011 // op: rs1
12012 return 15;
12013 case 0:
12014 // op: rs2
12015 return 7;
12016 case 2:
12017 // op: imm14
12018 return 20;
12019 }
12020 break;
12021 }
12022 case RISCV::NDS_VLN8_V:
12023 case RISCV::NDS_VLNU8_V:
12024 case RISCV::VLE16FF_V:
12025 case RISCV::VLE16_V:
12026 case RISCV::VLE32FF_V:
12027 case RISCV::VLE32_V:
12028 case RISCV::VLE64FF_V:
12029 case RISCV::VLE64_V:
12030 case RISCV::VLE8FF_V:
12031 case RISCV::VLE8_V:
12032 case RISCV::VLSEG2E16FF_V:
12033 case RISCV::VLSEG2E16_V:
12034 case RISCV::VLSEG2E32FF_V:
12035 case RISCV::VLSEG2E32_V:
12036 case RISCV::VLSEG2E64FF_V:
12037 case RISCV::VLSEG2E64_V:
12038 case RISCV::VLSEG2E8FF_V:
12039 case RISCV::VLSEG2E8_V:
12040 case RISCV::VLSEG3E16FF_V:
12041 case RISCV::VLSEG3E16_V:
12042 case RISCV::VLSEG3E32FF_V:
12043 case RISCV::VLSEG3E32_V:
12044 case RISCV::VLSEG3E64FF_V:
12045 case RISCV::VLSEG3E64_V:
12046 case RISCV::VLSEG3E8FF_V:
12047 case RISCV::VLSEG3E8_V:
12048 case RISCV::VLSEG4E16FF_V:
12049 case RISCV::VLSEG4E16_V:
12050 case RISCV::VLSEG4E32FF_V:
12051 case RISCV::VLSEG4E32_V:
12052 case RISCV::VLSEG4E64FF_V:
12053 case RISCV::VLSEG4E64_V:
12054 case RISCV::VLSEG4E8FF_V:
12055 case RISCV::VLSEG4E8_V:
12056 case RISCV::VLSEG5E16FF_V:
12057 case RISCV::VLSEG5E16_V:
12058 case RISCV::VLSEG5E32FF_V:
12059 case RISCV::VLSEG5E32_V:
12060 case RISCV::VLSEG5E64FF_V:
12061 case RISCV::VLSEG5E64_V:
12062 case RISCV::VLSEG5E8FF_V:
12063 case RISCV::VLSEG5E8_V:
12064 case RISCV::VLSEG6E16FF_V:
12065 case RISCV::VLSEG6E16_V:
12066 case RISCV::VLSEG6E32FF_V:
12067 case RISCV::VLSEG6E32_V:
12068 case RISCV::VLSEG6E64FF_V:
12069 case RISCV::VLSEG6E64_V:
12070 case RISCV::VLSEG6E8FF_V:
12071 case RISCV::VLSEG6E8_V:
12072 case RISCV::VLSEG7E16FF_V:
12073 case RISCV::VLSEG7E16_V:
12074 case RISCV::VLSEG7E32FF_V:
12075 case RISCV::VLSEG7E32_V:
12076 case RISCV::VLSEG7E64FF_V:
12077 case RISCV::VLSEG7E64_V:
12078 case RISCV::VLSEG7E8FF_V:
12079 case RISCV::VLSEG7E8_V:
12080 case RISCV::VLSEG8E16FF_V:
12081 case RISCV::VLSEG8E16_V:
12082 case RISCV::VLSEG8E32FF_V:
12083 case RISCV::VLSEG8E32_V:
12084 case RISCV::VLSEG8E64FF_V:
12085 case RISCV::VLSEG8E64_V:
12086 case RISCV::VLSEG8E8FF_V:
12087 case RISCV::VLSEG8E8_V: {
12088 switch (OpNum) {
12089 case 1:
12090 // op: rs1
12091 return 15;
12092 case 0:
12093 // op: vd
12094 return 7;
12095 case 2:
12096 // op: vm
12097 return 25;
12098 }
12099 break;
12100 }
12101 case RISCV::VLSE16_V:
12102 case RISCV::VLSE32_V:
12103 case RISCV::VLSE64_V:
12104 case RISCV::VLSE8_V:
12105 case RISCV::VLSSEG2E16_V:
12106 case RISCV::VLSSEG2E32_V:
12107 case RISCV::VLSSEG2E64_V:
12108 case RISCV::VLSSEG2E8_V:
12109 case RISCV::VLSSEG3E16_V:
12110 case RISCV::VLSSEG3E32_V:
12111 case RISCV::VLSSEG3E64_V:
12112 case RISCV::VLSSEG3E8_V:
12113 case RISCV::VLSSEG4E16_V:
12114 case RISCV::VLSSEG4E32_V:
12115 case RISCV::VLSSEG4E64_V:
12116 case RISCV::VLSSEG4E8_V:
12117 case RISCV::VLSSEG5E16_V:
12118 case RISCV::VLSSEG5E32_V:
12119 case RISCV::VLSSEG5E64_V:
12120 case RISCV::VLSSEG5E8_V:
12121 case RISCV::VLSSEG6E16_V:
12122 case RISCV::VLSSEG6E32_V:
12123 case RISCV::VLSSEG6E64_V:
12124 case RISCV::VLSSEG6E8_V:
12125 case RISCV::VLSSEG7E16_V:
12126 case RISCV::VLSSEG7E32_V:
12127 case RISCV::VLSSEG7E64_V:
12128 case RISCV::VLSSEG7E8_V:
12129 case RISCV::VLSSEG8E16_V:
12130 case RISCV::VLSSEG8E32_V:
12131 case RISCV::VLSSEG8E64_V:
12132 case RISCV::VLSSEG8E8_V: {
12133 switch (OpNum) {
12134 case 1:
12135 // op: rs1
12136 return 15;
12137 case 0:
12138 // op: vd
12139 return 7;
12140 case 3:
12141 // op: vm
12142 return 25;
12143 case 2:
12144 // op: rs2
12145 return 20;
12146 }
12147 break;
12148 }
12149 case RISCV::VLOXEI16_V:
12150 case RISCV::VLOXEI32_V:
12151 case RISCV::VLOXEI64_V:
12152 case RISCV::VLOXEI8_V:
12153 case RISCV::VLOXSEG2EI16_V:
12154 case RISCV::VLOXSEG2EI32_V:
12155 case RISCV::VLOXSEG2EI64_V:
12156 case RISCV::VLOXSEG2EI8_V:
12157 case RISCV::VLOXSEG3EI16_V:
12158 case RISCV::VLOXSEG3EI32_V:
12159 case RISCV::VLOXSEG3EI64_V:
12160 case RISCV::VLOXSEG3EI8_V:
12161 case RISCV::VLOXSEG4EI16_V:
12162 case RISCV::VLOXSEG4EI32_V:
12163 case RISCV::VLOXSEG4EI64_V:
12164 case RISCV::VLOXSEG4EI8_V:
12165 case RISCV::VLOXSEG5EI16_V:
12166 case RISCV::VLOXSEG5EI32_V:
12167 case RISCV::VLOXSEG5EI64_V:
12168 case RISCV::VLOXSEG5EI8_V:
12169 case RISCV::VLOXSEG6EI16_V:
12170 case RISCV::VLOXSEG6EI32_V:
12171 case RISCV::VLOXSEG6EI64_V:
12172 case RISCV::VLOXSEG6EI8_V:
12173 case RISCV::VLOXSEG7EI16_V:
12174 case RISCV::VLOXSEG7EI32_V:
12175 case RISCV::VLOXSEG7EI64_V:
12176 case RISCV::VLOXSEG7EI8_V:
12177 case RISCV::VLOXSEG8EI16_V:
12178 case RISCV::VLOXSEG8EI32_V:
12179 case RISCV::VLOXSEG8EI64_V:
12180 case RISCV::VLOXSEG8EI8_V:
12181 case RISCV::VLUXEI16_V:
12182 case RISCV::VLUXEI32_V:
12183 case RISCV::VLUXEI64_V:
12184 case RISCV::VLUXEI8_V:
12185 case RISCV::VLUXSEG2EI16_V:
12186 case RISCV::VLUXSEG2EI32_V:
12187 case RISCV::VLUXSEG2EI64_V:
12188 case RISCV::VLUXSEG2EI8_V:
12189 case RISCV::VLUXSEG3EI16_V:
12190 case RISCV::VLUXSEG3EI32_V:
12191 case RISCV::VLUXSEG3EI64_V:
12192 case RISCV::VLUXSEG3EI8_V:
12193 case RISCV::VLUXSEG4EI16_V:
12194 case RISCV::VLUXSEG4EI32_V:
12195 case RISCV::VLUXSEG4EI64_V:
12196 case RISCV::VLUXSEG4EI8_V:
12197 case RISCV::VLUXSEG5EI16_V:
12198 case RISCV::VLUXSEG5EI32_V:
12199 case RISCV::VLUXSEG5EI64_V:
12200 case RISCV::VLUXSEG5EI8_V:
12201 case RISCV::VLUXSEG6EI16_V:
12202 case RISCV::VLUXSEG6EI32_V:
12203 case RISCV::VLUXSEG6EI64_V:
12204 case RISCV::VLUXSEG6EI8_V:
12205 case RISCV::VLUXSEG7EI16_V:
12206 case RISCV::VLUXSEG7EI32_V:
12207 case RISCV::VLUXSEG7EI64_V:
12208 case RISCV::VLUXSEG7EI8_V:
12209 case RISCV::VLUXSEG8EI16_V:
12210 case RISCV::VLUXSEG8EI32_V:
12211 case RISCV::VLUXSEG8EI64_V:
12212 case RISCV::VLUXSEG8EI8_V: {
12213 switch (OpNum) {
12214 case 1:
12215 // op: rs1
12216 return 15;
12217 case 0:
12218 // op: vd
12219 return 7;
12220 case 3:
12221 // op: vm
12222 return 25;
12223 case 2:
12224 // op: vs2
12225 return 20;
12226 }
12227 break;
12228 }
12229 case RISCV::NDS_VLE4_V:
12230 case RISCV::SF_VTMV_V_T:
12231 case RISCV::VL1RE16_V:
12232 case RISCV::VL1RE32_V:
12233 case RISCV::VL1RE64_V:
12234 case RISCV::VL1RE8_V:
12235 case RISCV::VL2RE16_V:
12236 case RISCV::VL2RE32_V:
12237 case RISCV::VL2RE64_V:
12238 case RISCV::VL2RE8_V:
12239 case RISCV::VL4RE16_V:
12240 case RISCV::VL4RE32_V:
12241 case RISCV::VL4RE64_V:
12242 case RISCV::VL4RE8_V:
12243 case RISCV::VL8RE16_V:
12244 case RISCV::VL8RE32_V:
12245 case RISCV::VL8RE64_V:
12246 case RISCV::VL8RE8_V:
12247 case RISCV::VLM_V: {
12248 switch (OpNum) {
12249 case 1:
12250 // op: rs1
12251 return 15;
12252 case 0:
12253 // op: vd
12254 return 7;
12255 }
12256 break;
12257 }
12258 case RISCV::VSE16_V:
12259 case RISCV::VSE32_V:
12260 case RISCV::VSE64_V:
12261 case RISCV::VSE8_V:
12262 case RISCV::VSSEG2E16_V:
12263 case RISCV::VSSEG2E32_V:
12264 case RISCV::VSSEG2E64_V:
12265 case RISCV::VSSEG2E8_V:
12266 case RISCV::VSSEG3E16_V:
12267 case RISCV::VSSEG3E32_V:
12268 case RISCV::VSSEG3E64_V:
12269 case RISCV::VSSEG3E8_V:
12270 case RISCV::VSSEG4E16_V:
12271 case RISCV::VSSEG4E32_V:
12272 case RISCV::VSSEG4E64_V:
12273 case RISCV::VSSEG4E8_V:
12274 case RISCV::VSSEG5E16_V:
12275 case RISCV::VSSEG5E32_V:
12276 case RISCV::VSSEG5E64_V:
12277 case RISCV::VSSEG5E8_V:
12278 case RISCV::VSSEG6E16_V:
12279 case RISCV::VSSEG6E32_V:
12280 case RISCV::VSSEG6E64_V:
12281 case RISCV::VSSEG6E8_V:
12282 case RISCV::VSSEG7E16_V:
12283 case RISCV::VSSEG7E32_V:
12284 case RISCV::VSSEG7E64_V:
12285 case RISCV::VSSEG7E8_V:
12286 case RISCV::VSSEG8E16_V:
12287 case RISCV::VSSEG8E32_V:
12288 case RISCV::VSSEG8E64_V:
12289 case RISCV::VSSEG8E8_V: {
12290 switch (OpNum) {
12291 case 1:
12292 // op: rs1
12293 return 15;
12294 case 0:
12295 // op: vs3
12296 return 7;
12297 case 2:
12298 // op: vm
12299 return 25;
12300 }
12301 break;
12302 }
12303 case RISCV::VSSE16_V:
12304 case RISCV::VSSE32_V:
12305 case RISCV::VSSE64_V:
12306 case RISCV::VSSE8_V:
12307 case RISCV::VSSSEG2E16_V:
12308 case RISCV::VSSSEG2E32_V:
12309 case RISCV::VSSSEG2E64_V:
12310 case RISCV::VSSSEG2E8_V:
12311 case RISCV::VSSSEG3E16_V:
12312 case RISCV::VSSSEG3E32_V:
12313 case RISCV::VSSSEG3E64_V:
12314 case RISCV::VSSSEG3E8_V:
12315 case RISCV::VSSSEG4E16_V:
12316 case RISCV::VSSSEG4E32_V:
12317 case RISCV::VSSSEG4E64_V:
12318 case RISCV::VSSSEG4E8_V:
12319 case RISCV::VSSSEG5E16_V:
12320 case RISCV::VSSSEG5E32_V:
12321 case RISCV::VSSSEG5E64_V:
12322 case RISCV::VSSSEG5E8_V:
12323 case RISCV::VSSSEG6E16_V:
12324 case RISCV::VSSSEG6E32_V:
12325 case RISCV::VSSSEG6E64_V:
12326 case RISCV::VSSSEG6E8_V:
12327 case RISCV::VSSSEG7E16_V:
12328 case RISCV::VSSSEG7E32_V:
12329 case RISCV::VSSSEG7E64_V:
12330 case RISCV::VSSSEG7E8_V:
12331 case RISCV::VSSSEG8E16_V:
12332 case RISCV::VSSSEG8E32_V:
12333 case RISCV::VSSSEG8E64_V:
12334 case RISCV::VSSSEG8E8_V: {
12335 switch (OpNum) {
12336 case 1:
12337 // op: rs1
12338 return 15;
12339 case 0:
12340 // op: vs3
12341 return 7;
12342 case 3:
12343 // op: vm
12344 return 25;
12345 case 2:
12346 // op: rs2
12347 return 20;
12348 }
12349 break;
12350 }
12351 case RISCV::VSOXEI16_V:
12352 case RISCV::VSOXEI32_V:
12353 case RISCV::VSOXEI64_V:
12354 case RISCV::VSOXEI8_V:
12355 case RISCV::VSOXSEG2EI16_V:
12356 case RISCV::VSOXSEG2EI32_V:
12357 case RISCV::VSOXSEG2EI64_V:
12358 case RISCV::VSOXSEG2EI8_V:
12359 case RISCV::VSOXSEG3EI16_V:
12360 case RISCV::VSOXSEG3EI32_V:
12361 case RISCV::VSOXSEG3EI64_V:
12362 case RISCV::VSOXSEG3EI8_V:
12363 case RISCV::VSOXSEG4EI16_V:
12364 case RISCV::VSOXSEG4EI32_V:
12365 case RISCV::VSOXSEG4EI64_V:
12366 case RISCV::VSOXSEG4EI8_V:
12367 case RISCV::VSOXSEG5EI16_V:
12368 case RISCV::VSOXSEG5EI32_V:
12369 case RISCV::VSOXSEG5EI64_V:
12370 case RISCV::VSOXSEG5EI8_V:
12371 case RISCV::VSOXSEG6EI16_V:
12372 case RISCV::VSOXSEG6EI32_V:
12373 case RISCV::VSOXSEG6EI64_V:
12374 case RISCV::VSOXSEG6EI8_V:
12375 case RISCV::VSOXSEG7EI16_V:
12376 case RISCV::VSOXSEG7EI32_V:
12377 case RISCV::VSOXSEG7EI64_V:
12378 case RISCV::VSOXSEG7EI8_V:
12379 case RISCV::VSOXSEG8EI16_V:
12380 case RISCV::VSOXSEG8EI32_V:
12381 case RISCV::VSOXSEG8EI64_V:
12382 case RISCV::VSOXSEG8EI8_V:
12383 case RISCV::VSUXEI16_V:
12384 case RISCV::VSUXEI32_V:
12385 case RISCV::VSUXEI64_V:
12386 case RISCV::VSUXEI8_V:
12387 case RISCV::VSUXSEG2EI16_V:
12388 case RISCV::VSUXSEG2EI32_V:
12389 case RISCV::VSUXSEG2EI64_V:
12390 case RISCV::VSUXSEG2EI8_V:
12391 case RISCV::VSUXSEG3EI16_V:
12392 case RISCV::VSUXSEG3EI32_V:
12393 case RISCV::VSUXSEG3EI64_V:
12394 case RISCV::VSUXSEG3EI8_V:
12395 case RISCV::VSUXSEG4EI16_V:
12396 case RISCV::VSUXSEG4EI32_V:
12397 case RISCV::VSUXSEG4EI64_V:
12398 case RISCV::VSUXSEG4EI8_V:
12399 case RISCV::VSUXSEG5EI16_V:
12400 case RISCV::VSUXSEG5EI32_V:
12401 case RISCV::VSUXSEG5EI64_V:
12402 case RISCV::VSUXSEG5EI8_V:
12403 case RISCV::VSUXSEG6EI16_V:
12404 case RISCV::VSUXSEG6EI32_V:
12405 case RISCV::VSUXSEG6EI64_V:
12406 case RISCV::VSUXSEG6EI8_V:
12407 case RISCV::VSUXSEG7EI16_V:
12408 case RISCV::VSUXSEG7EI32_V:
12409 case RISCV::VSUXSEG7EI64_V:
12410 case RISCV::VSUXSEG7EI8_V:
12411 case RISCV::VSUXSEG8EI16_V:
12412 case RISCV::VSUXSEG8EI32_V:
12413 case RISCV::VSUXSEG8EI64_V:
12414 case RISCV::VSUXSEG8EI8_V: {
12415 switch (OpNum) {
12416 case 1:
12417 // op: rs1
12418 return 15;
12419 case 0:
12420 // op: vs3
12421 return 7;
12422 case 3:
12423 // op: vm
12424 return 25;
12425 case 2:
12426 // op: vs2
12427 return 20;
12428 }
12429 break;
12430 }
12431 case RISCV::VS1R_V:
12432 case RISCV::VS2R_V:
12433 case RISCV::VS4R_V:
12434 case RISCV::VS8R_V:
12435 case RISCV::VSM_V: {
12436 switch (OpNum) {
12437 case 1:
12438 // op: rs1
12439 return 15;
12440 case 0:
12441 // op: vs3
12442 return 7;
12443 }
12444 break;
12445 }
12446 case RISCV::FCVT_BF16_S:
12447 case RISCV::FCVT_D_H:
12448 case RISCV::FCVT_D_H_IN32X:
12449 case RISCV::FCVT_D_H_INX:
12450 case RISCV::FCVT_D_L:
12451 case RISCV::FCVT_D_LU:
12452 case RISCV::FCVT_D_LU_INX:
12453 case RISCV::FCVT_D_L_INX:
12454 case RISCV::FCVT_D_Q:
12455 case RISCV::FCVT_D_S:
12456 case RISCV::FCVT_D_S_IN32X:
12457 case RISCV::FCVT_D_S_INX:
12458 case RISCV::FCVT_D_W:
12459 case RISCV::FCVT_D_WU:
12460 case RISCV::FCVT_D_WU_IN32X:
12461 case RISCV::FCVT_D_WU_INX:
12462 case RISCV::FCVT_D_W_IN32X:
12463 case RISCV::FCVT_D_W_INX:
12464 case RISCV::FCVT_H_D:
12465 case RISCV::FCVT_H_D_IN32X:
12466 case RISCV::FCVT_H_D_INX:
12467 case RISCV::FCVT_H_L:
12468 case RISCV::FCVT_H_LU:
12469 case RISCV::FCVT_H_LU_INX:
12470 case RISCV::FCVT_H_L_INX:
12471 case RISCV::FCVT_H_S:
12472 case RISCV::FCVT_H_S_INX:
12473 case RISCV::FCVT_H_W:
12474 case RISCV::FCVT_H_WU:
12475 case RISCV::FCVT_H_WU_INX:
12476 case RISCV::FCVT_H_W_INX:
12477 case RISCV::FCVT_LU_D:
12478 case RISCV::FCVT_LU_D_INX:
12479 case RISCV::FCVT_LU_H:
12480 case RISCV::FCVT_LU_H_INX:
12481 case RISCV::FCVT_LU_Q:
12482 case RISCV::FCVT_LU_S:
12483 case RISCV::FCVT_LU_S_INX:
12484 case RISCV::FCVT_L_D:
12485 case RISCV::FCVT_L_D_INX:
12486 case RISCV::FCVT_L_H:
12487 case RISCV::FCVT_L_H_INX:
12488 case RISCV::FCVT_L_Q:
12489 case RISCV::FCVT_L_S:
12490 case RISCV::FCVT_L_S_INX:
12491 case RISCV::FCVT_Q_D:
12492 case RISCV::FCVT_Q_L:
12493 case RISCV::FCVT_Q_LU:
12494 case RISCV::FCVT_Q_S:
12495 case RISCV::FCVT_Q_W:
12496 case RISCV::FCVT_Q_WU:
12497 case RISCV::FCVT_S_BF16:
12498 case RISCV::FCVT_S_D:
12499 case RISCV::FCVT_S_D_IN32X:
12500 case RISCV::FCVT_S_D_INX:
12501 case RISCV::FCVT_S_H:
12502 case RISCV::FCVT_S_H_INX:
12503 case RISCV::FCVT_S_L:
12504 case RISCV::FCVT_S_LU:
12505 case RISCV::FCVT_S_LU_INX:
12506 case RISCV::FCVT_S_L_INX:
12507 case RISCV::FCVT_S_Q:
12508 case RISCV::FCVT_S_W:
12509 case RISCV::FCVT_S_WU:
12510 case RISCV::FCVT_S_WU_INX:
12511 case RISCV::FCVT_S_W_INX:
12512 case RISCV::FCVT_WU_D:
12513 case RISCV::FCVT_WU_D_IN32X:
12514 case RISCV::FCVT_WU_D_INX:
12515 case RISCV::FCVT_WU_H:
12516 case RISCV::FCVT_WU_H_INX:
12517 case RISCV::FCVT_WU_Q:
12518 case RISCV::FCVT_WU_S:
12519 case RISCV::FCVT_WU_S_INX:
12520 case RISCV::FCVT_W_D:
12521 case RISCV::FCVT_W_D_IN32X:
12522 case RISCV::FCVT_W_D_INX:
12523 case RISCV::FCVT_W_H:
12524 case RISCV::FCVT_W_H_INX:
12525 case RISCV::FCVT_W_Q:
12526 case RISCV::FCVT_W_S:
12527 case RISCV::FCVT_W_S_INX:
12528 case RISCV::FROUNDNX_D:
12529 case RISCV::FROUNDNX_H:
12530 case RISCV::FROUNDNX_Q:
12531 case RISCV::FROUNDNX_S:
12532 case RISCV::FROUND_D:
12533 case RISCV::FROUND_H:
12534 case RISCV::FROUND_Q:
12535 case RISCV::FROUND_S:
12536 case RISCV::FSQRT_D:
12537 case RISCV::FSQRT_D_IN32X:
12538 case RISCV::FSQRT_D_INX:
12539 case RISCV::FSQRT_H:
12540 case RISCV::FSQRT_H_INX:
12541 case RISCV::FSQRT_Q:
12542 case RISCV::FSQRT_S:
12543 case RISCV::FSQRT_S_INX: {
12544 switch (OpNum) {
12545 case 1:
12546 // op: rs1
12547 return 15;
12548 case 2:
12549 // op: frm
12550 return 12;
12551 case 0:
12552 // op: rd
12553 return 7;
12554 }
12555 break;
12556 }
12557 case RISCV::AIF_FROUND_PS: {
12558 switch (OpNum) {
12559 case 1:
12560 // op: rs1
12561 return 15;
12562 case 2:
12563 // op: rm
12564 return 12;
12565 case 0:
12566 // op: rd
12567 return 7;
12568 }
12569 break;
12570 }
12571 case RISCV::AIF_FSC32B_PS:
12572 case RISCV::AIF_FSC32H_PS:
12573 case RISCV::AIF_FSC32W_PS:
12574 case RISCV::AIF_FSCBG_PS:
12575 case RISCV::AIF_FSCBL_PS:
12576 case RISCV::AIF_FSCB_PS:
12577 case RISCV::AIF_FSCHG_PS:
12578 case RISCV::AIF_FSCHL_PS:
12579 case RISCV::AIF_FSCH_PS:
12580 case RISCV::AIF_FSCWG_PS:
12581 case RISCV::AIF_FSCWL_PS:
12582 case RISCV::AIF_FSCW_PS: {
12583 switch (OpNum) {
12584 case 1:
12585 // op: rs1
12586 return 15;
12587 case 2:
12588 // op: rs2
12589 return 20;
12590 case 0:
12591 // op: rs3
12592 return 7;
12593 }
12594 break;
12595 }
12596 case RISCV::NCLIP:
12597 case RISCV::NCLIPR:
12598 case RISCV::NCLIPRU:
12599 case RISCV::NCLIPU:
12600 case RISCV::NSRA:
12601 case RISCV::NSRAR:
12602 case RISCV::NSRL:
12603 case RISCV::PNCLIPRU_BS:
12604 case RISCV::PNCLIPRU_HS:
12605 case RISCV::PNCLIPR_BS:
12606 case RISCV::PNCLIPR_HS:
12607 case RISCV::PNCLIPU_BS:
12608 case RISCV::PNCLIPU_HS:
12609 case RISCV::PNCLIP_BS:
12610 case RISCV::PNCLIP_HS:
12611 case RISCV::PNSRAR_BS:
12612 case RISCV::PNSRAR_HS:
12613 case RISCV::PNSRA_BS:
12614 case RISCV::PNSRA_HS:
12615 case RISCV::PNSRL_BS:
12616 case RISCV::PNSRL_HS:
12617 case RISCV::PREDSUMU_DBS:
12618 case RISCV::PREDSUMU_DHS:
12619 case RISCV::PREDSUM_DBS:
12620 case RISCV::PREDSUM_DHS: {
12621 switch (OpNum) {
12622 case 1:
12623 // op: rs1
12624 return 16;
12625 case 0:
12626 // op: rd
12627 return 7;
12628 case 2:
12629 // op: rs2
12630 return 20;
12631 }
12632 break;
12633 }
12634 case RISCV::NCLIPI:
12635 case RISCV::NCLIPIU:
12636 case RISCV::NCLIPRI:
12637 case RISCV::NCLIPRIU:
12638 case RISCV::NSRAI:
12639 case RISCV::NSRARI:
12640 case RISCV::NSRLI:
12641 case RISCV::PNCLIPIU_B:
12642 case RISCV::PNCLIPIU_H:
12643 case RISCV::PNCLIPI_B:
12644 case RISCV::PNCLIPI_H:
12645 case RISCV::PNCLIPRIU_B:
12646 case RISCV::PNCLIPRIU_H:
12647 case RISCV::PNCLIPRI_B:
12648 case RISCV::PNCLIPRI_H:
12649 case RISCV::PNSRAI_B:
12650 case RISCV::PNSRAI_H:
12651 case RISCV::PNSRARI_B:
12652 case RISCV::PNSRARI_H:
12653 case RISCV::PNSRLI_B:
12654 case RISCV::PNSRLI_H: {
12655 switch (OpNum) {
12656 case 1:
12657 // op: rs1
12658 return 16;
12659 case 0:
12660 // op: rd
12661 return 7;
12662 case 2:
12663 // op: shamt
12664 return 20;
12665 }
12666 break;
12667 }
12668 case RISCV::PADD_DBS:
12669 case RISCV::PADD_DHS:
12670 case RISCV::PADD_DWS:
12671 case RISCV::PSLL_DBS:
12672 case RISCV::PSLL_DHS:
12673 case RISCV::PSLL_DWS:
12674 case RISCV::PSRA_DBS:
12675 case RISCV::PSRA_DHS:
12676 case RISCV::PSRA_DWS:
12677 case RISCV::PSRL_DBS:
12678 case RISCV::PSRL_DHS:
12679 case RISCV::PSRL_DWS:
12680 case RISCV::PSSHAR_DHS:
12681 case RISCV::PSSHAR_DWS:
12682 case RISCV::PSSHA_DHS:
12683 case RISCV::PSSHA_DWS:
12684 case RISCV::PSSHLR_DHS:
12685 case RISCV::PSSHLR_DWS:
12686 case RISCV::PSSHL_DHS:
12687 case RISCV::PSSHL_DWS: {
12688 switch (OpNum) {
12689 case 1:
12690 // op: rs1
12691 return 16;
12692 case 0:
12693 // op: rd
12694 return 8;
12695 case 2:
12696 // op: rs2
12697 return 20;
12698 }
12699 break;
12700 }
12701 case RISCV::ADDD:
12702 case RISCV::PAADDU_DB:
12703 case RISCV::PAADDU_DH:
12704 case RISCV::PAADDU_DW:
12705 case RISCV::PAADD_DB:
12706 case RISCV::PAADD_DH:
12707 case RISCV::PAADD_DW:
12708 case RISCV::PAAS_DHX:
12709 case RISCV::PABDU_DB:
12710 case RISCV::PABDU_DH:
12711 case RISCV::PABD_DB:
12712 case RISCV::PABD_DH:
12713 case RISCV::PADD_DB:
12714 case RISCV::PADD_DH:
12715 case RISCV::PADD_DW:
12716 case RISCV::PASA_DHX:
12717 case RISCV::PASUBU_DB:
12718 case RISCV::PASUBU_DH:
12719 case RISCV::PASUBU_DW:
12720 case RISCV::PASUB_DB:
12721 case RISCV::PASUB_DH:
12722 case RISCV::PASUB_DW:
12723 case RISCV::PAS_DHX:
12724 case RISCV::PMAXU_DB:
12725 case RISCV::PMAXU_DH:
12726 case RISCV::PMAXU_DW:
12727 case RISCV::PMAX_DB:
12728 case RISCV::PMAX_DH:
12729 case RISCV::PMAX_DW:
12730 case RISCV::PMINU_DB:
12731 case RISCV::PMINU_DH:
12732 case RISCV::PMINU_DW:
12733 case RISCV::PMIN_DB:
12734 case RISCV::PMIN_DH:
12735 case RISCV::PMIN_DW:
12736 case RISCV::PMSEQ_DB:
12737 case RISCV::PMSEQ_DH:
12738 case RISCV::PMSEQ_DW:
12739 case RISCV::PMSLTU_DB:
12740 case RISCV::PMSLTU_DH:
12741 case RISCV::PMSLTU_DW:
12742 case RISCV::PMSLT_DB:
12743 case RISCV::PMSLT_DH:
12744 case RISCV::PMSLT_DW:
12745 case RISCV::PPAIREO_DB:
12746 case RISCV::PPAIREO_DH:
12747 case RISCV::PPAIRE_DB:
12748 case RISCV::PPAIRE_DH:
12749 case RISCV::PPAIROE_DB:
12750 case RISCV::PPAIROE_DH:
12751 case RISCV::PPAIRO_DB:
12752 case RISCV::PPAIRO_DH:
12753 case RISCV::PSADDU_DB:
12754 case RISCV::PSADDU_DH:
12755 case RISCV::PSADDU_DW:
12756 case RISCV::PSADD_DB:
12757 case RISCV::PSADD_DH:
12758 case RISCV::PSADD_DW:
12759 case RISCV::PSAS_DHX:
12760 case RISCV::PSA_DHX:
12761 case RISCV::PSH1ADD_DH:
12762 case RISCV::PSH1ADD_DW:
12763 case RISCV::PSSA_DHX:
12764 case RISCV::PSSH1SADD_DH:
12765 case RISCV::PSSH1SADD_DW:
12766 case RISCV::PSSUBU_DB:
12767 case RISCV::PSSUBU_DH:
12768 case RISCV::PSSUBU_DW:
12769 case RISCV::PSSUB_DB:
12770 case RISCV::PSSUB_DH:
12771 case RISCV::PSSUB_DW:
12772 case RISCV::PSUB_DB:
12773 case RISCV::PSUB_DH:
12774 case RISCV::PSUB_DW:
12775 case RISCV::SUBD: {
12776 switch (OpNum) {
12777 case 1:
12778 // op: rs1
12779 return 16;
12780 case 0:
12781 // op: rd
12782 return 8;
12783 case 2:
12784 // op: rs2
12785 return 21;
12786 }
12787 break;
12788 }
12789 case RISCV::PSATI_DH:
12790 case RISCV::PSATI_DW:
12791 case RISCV::PSLLI_DB:
12792 case RISCV::PSLLI_DH:
12793 case RISCV::PSLLI_DW:
12794 case RISCV::PSRAI_DB:
12795 case RISCV::PSRAI_DH:
12796 case RISCV::PSRAI_DW:
12797 case RISCV::PSRARI_DH:
12798 case RISCV::PSRARI_DW:
12799 case RISCV::PSRLI_DB:
12800 case RISCV::PSRLI_DH:
12801 case RISCV::PSRLI_DW:
12802 case RISCV::PSSLAI_DH:
12803 case RISCV::PSSLAI_DW:
12804 case RISCV::PUSATI_DH:
12805 case RISCV::PUSATI_DW: {
12806 switch (OpNum) {
12807 case 1:
12808 // op: rs1
12809 return 16;
12810 case 0:
12811 // op: rd
12812 return 8;
12813 case 2:
12814 // op: shamt
12815 return 20;
12816 }
12817 break;
12818 }
12819 case RISCV::PSABS_DB:
12820 case RISCV::PSABS_DH:
12821 case RISCV::PSEXT_DH_B:
12822 case RISCV::PSEXT_DW_B:
12823 case RISCV::PSEXT_DW_H: {
12824 switch (OpNum) {
12825 case 1:
12826 // op: rs1
12827 return 16;
12828 case 0:
12829 // op: rd
12830 return 8;
12831 }
12832 break;
12833 }
12834 case RISCV::C_ADD: {
12835 switch (OpNum) {
12836 case 1:
12837 // op: rs1
12838 return 7;
12839 case 2:
12840 // op: rs2
12841 return 2;
12842 }
12843 break;
12844 }
12845 case RISCV::QC_C_BEXTI:
12846 case RISCV::QC_C_BSETI: {
12847 switch (OpNum) {
12848 case 1:
12849 // op: rs1
12850 return 7;
12851 case 2:
12852 // op: shamt
12853 return 2;
12854 }
12855 break;
12856 }
12857 case RISCV::NDS_FCVT_BF16_S:
12858 case RISCV::NDS_FCVT_S_BF16: {
12859 switch (OpNum) {
12860 case 1:
12861 // op: rs2
12862 return 20;
12863 case 0:
12864 // op: rd
12865 return 7;
12866 }
12867 break;
12868 }
12869 case RISCV::HFENCE_GVMA:
12870 case RISCV::HFENCE_VVMA:
12871 case RISCV::HINVAL_GVMA:
12872 case RISCV::HINVAL_VVMA:
12873 case RISCV::SFENCE_VMA:
12874 case RISCV::SF_VTMV_T_V:
12875 case RISCV::SINVAL_VMA:
12876 case RISCV::TH_SFENCE_VMAS: {
12877 switch (OpNum) {
12878 case 1:
12879 // op: rs2
12880 return 20;
12881 case 0:
12882 // op: rs1
12883 return 15;
12884 }
12885 break;
12886 }
12887 case RISCV::TH_LDD:
12888 case RISCV::TH_LWD:
12889 case RISCV::TH_LWUD:
12890 case RISCV::TH_SDD:
12891 case RISCV::TH_SWD: {
12892 switch (OpNum) {
12893 case 1:
12894 // op: rs2
12895 return 20;
12896 case 2:
12897 // op: rs1
12898 return 15;
12899 case 0:
12900 // op: rd
12901 return 7;
12902 case 3:
12903 // op: uimm2
12904 return 25;
12905 }
12906 break;
12907 }
12908 case RISCV::AIF_AMOADDG_D:
12909 case RISCV::AIF_AMOADDG_W:
12910 case RISCV::AIF_AMOADDL_D:
12911 case RISCV::AIF_AMOADDL_W:
12912 case RISCV::AIF_AMOANDG_D:
12913 case RISCV::AIF_AMOANDG_W:
12914 case RISCV::AIF_AMOANDL_D:
12915 case RISCV::AIF_AMOANDL_W:
12916 case RISCV::AIF_AMOCMPSWAPG_D:
12917 case RISCV::AIF_AMOCMPSWAPG_W:
12918 case RISCV::AIF_AMOCMPSWAPL_D:
12919 case RISCV::AIF_AMOCMPSWAPL_W:
12920 case RISCV::AIF_AMOMAXG_D:
12921 case RISCV::AIF_AMOMAXG_W:
12922 case RISCV::AIF_AMOMAXL_D:
12923 case RISCV::AIF_AMOMAXL_W:
12924 case RISCV::AIF_AMOMAXUG_D:
12925 case RISCV::AIF_AMOMAXUG_W:
12926 case RISCV::AIF_AMOMAXUL_D:
12927 case RISCV::AIF_AMOMAXUL_W:
12928 case RISCV::AIF_AMOMING_D:
12929 case RISCV::AIF_AMOMING_W:
12930 case RISCV::AIF_AMOMINL_D:
12931 case RISCV::AIF_AMOMINL_W:
12932 case RISCV::AIF_AMOMINUG_D:
12933 case RISCV::AIF_AMOMINUG_W:
12934 case RISCV::AIF_AMOMINUL_D:
12935 case RISCV::AIF_AMOMINUL_W:
12936 case RISCV::AIF_AMOORG_D:
12937 case RISCV::AIF_AMOORG_W:
12938 case RISCV::AIF_AMOORL_D:
12939 case RISCV::AIF_AMOORL_W:
12940 case RISCV::AIF_AMOSWAPG_D:
12941 case RISCV::AIF_AMOSWAPG_W:
12942 case RISCV::AIF_AMOSWAPL_D:
12943 case RISCV::AIF_AMOSWAPL_W:
12944 case RISCV::AIF_AMOXORG_D:
12945 case RISCV::AIF_AMOXORG_W:
12946 case RISCV::AIF_AMOXORL_D:
12947 case RISCV::AIF_AMOXORL_W:
12948 case RISCV::AMOADD_B:
12949 case RISCV::AMOADD_B_AQ:
12950 case RISCV::AMOADD_B_AQRL:
12951 case RISCV::AMOADD_B_RL:
12952 case RISCV::AMOADD_D:
12953 case RISCV::AMOADD_D_AQ:
12954 case RISCV::AMOADD_D_AQRL:
12955 case RISCV::AMOADD_D_RL:
12956 case RISCV::AMOADD_H:
12957 case RISCV::AMOADD_H_AQ:
12958 case RISCV::AMOADD_H_AQRL:
12959 case RISCV::AMOADD_H_RL:
12960 case RISCV::AMOADD_W:
12961 case RISCV::AMOADD_W_AQ:
12962 case RISCV::AMOADD_W_AQRL:
12963 case RISCV::AMOADD_W_RL:
12964 case RISCV::AMOAND_B:
12965 case RISCV::AMOAND_B_AQ:
12966 case RISCV::AMOAND_B_AQRL:
12967 case RISCV::AMOAND_B_RL:
12968 case RISCV::AMOAND_D:
12969 case RISCV::AMOAND_D_AQ:
12970 case RISCV::AMOAND_D_AQRL:
12971 case RISCV::AMOAND_D_RL:
12972 case RISCV::AMOAND_H:
12973 case RISCV::AMOAND_H_AQ:
12974 case RISCV::AMOAND_H_AQRL:
12975 case RISCV::AMOAND_H_RL:
12976 case RISCV::AMOAND_W:
12977 case RISCV::AMOAND_W_AQ:
12978 case RISCV::AMOAND_W_AQRL:
12979 case RISCV::AMOAND_W_RL:
12980 case RISCV::AMOMAXU_B:
12981 case RISCV::AMOMAXU_B_AQ:
12982 case RISCV::AMOMAXU_B_AQRL:
12983 case RISCV::AMOMAXU_B_RL:
12984 case RISCV::AMOMAXU_D:
12985 case RISCV::AMOMAXU_D_AQ:
12986 case RISCV::AMOMAXU_D_AQRL:
12987 case RISCV::AMOMAXU_D_RL:
12988 case RISCV::AMOMAXU_H:
12989 case RISCV::AMOMAXU_H_AQ:
12990 case RISCV::AMOMAXU_H_AQRL:
12991 case RISCV::AMOMAXU_H_RL:
12992 case RISCV::AMOMAXU_W:
12993 case RISCV::AMOMAXU_W_AQ:
12994 case RISCV::AMOMAXU_W_AQRL:
12995 case RISCV::AMOMAXU_W_RL:
12996 case RISCV::AMOMAX_B:
12997 case RISCV::AMOMAX_B_AQ:
12998 case RISCV::AMOMAX_B_AQRL:
12999 case RISCV::AMOMAX_B_RL:
13000 case RISCV::AMOMAX_D:
13001 case RISCV::AMOMAX_D_AQ:
13002 case RISCV::AMOMAX_D_AQRL:
13003 case RISCV::AMOMAX_D_RL:
13004 case RISCV::AMOMAX_H:
13005 case RISCV::AMOMAX_H_AQ:
13006 case RISCV::AMOMAX_H_AQRL:
13007 case RISCV::AMOMAX_H_RL:
13008 case RISCV::AMOMAX_W:
13009 case RISCV::AMOMAX_W_AQ:
13010 case RISCV::AMOMAX_W_AQRL:
13011 case RISCV::AMOMAX_W_RL:
13012 case RISCV::AMOMINU_B:
13013 case RISCV::AMOMINU_B_AQ:
13014 case RISCV::AMOMINU_B_AQRL:
13015 case RISCV::AMOMINU_B_RL:
13016 case RISCV::AMOMINU_D:
13017 case RISCV::AMOMINU_D_AQ:
13018 case RISCV::AMOMINU_D_AQRL:
13019 case RISCV::AMOMINU_D_RL:
13020 case RISCV::AMOMINU_H:
13021 case RISCV::AMOMINU_H_AQ:
13022 case RISCV::AMOMINU_H_AQRL:
13023 case RISCV::AMOMINU_H_RL:
13024 case RISCV::AMOMINU_W:
13025 case RISCV::AMOMINU_W_AQ:
13026 case RISCV::AMOMINU_W_AQRL:
13027 case RISCV::AMOMINU_W_RL:
13028 case RISCV::AMOMIN_B:
13029 case RISCV::AMOMIN_B_AQ:
13030 case RISCV::AMOMIN_B_AQRL:
13031 case RISCV::AMOMIN_B_RL:
13032 case RISCV::AMOMIN_D:
13033 case RISCV::AMOMIN_D_AQ:
13034 case RISCV::AMOMIN_D_AQRL:
13035 case RISCV::AMOMIN_D_RL:
13036 case RISCV::AMOMIN_H:
13037 case RISCV::AMOMIN_H_AQ:
13038 case RISCV::AMOMIN_H_AQRL:
13039 case RISCV::AMOMIN_H_RL:
13040 case RISCV::AMOMIN_W:
13041 case RISCV::AMOMIN_W_AQ:
13042 case RISCV::AMOMIN_W_AQRL:
13043 case RISCV::AMOMIN_W_RL:
13044 case RISCV::AMOOR_B:
13045 case RISCV::AMOOR_B_AQ:
13046 case RISCV::AMOOR_B_AQRL:
13047 case RISCV::AMOOR_B_RL:
13048 case RISCV::AMOOR_D:
13049 case RISCV::AMOOR_D_AQ:
13050 case RISCV::AMOOR_D_AQRL:
13051 case RISCV::AMOOR_D_RL:
13052 case RISCV::AMOOR_H:
13053 case RISCV::AMOOR_H_AQ:
13054 case RISCV::AMOOR_H_AQRL:
13055 case RISCV::AMOOR_H_RL:
13056 case RISCV::AMOOR_W:
13057 case RISCV::AMOOR_W_AQ:
13058 case RISCV::AMOOR_W_AQRL:
13059 case RISCV::AMOOR_W_RL:
13060 case RISCV::AMOSWAP_B:
13061 case RISCV::AMOSWAP_B_AQ:
13062 case RISCV::AMOSWAP_B_AQRL:
13063 case RISCV::AMOSWAP_B_RL:
13064 case RISCV::AMOSWAP_D:
13065 case RISCV::AMOSWAP_D_AQ:
13066 case RISCV::AMOSWAP_D_AQRL:
13067 case RISCV::AMOSWAP_D_RL:
13068 case RISCV::AMOSWAP_H:
13069 case RISCV::AMOSWAP_H_AQ:
13070 case RISCV::AMOSWAP_H_AQRL:
13071 case RISCV::AMOSWAP_H_RL:
13072 case RISCV::AMOSWAP_W:
13073 case RISCV::AMOSWAP_W_AQ:
13074 case RISCV::AMOSWAP_W_AQRL:
13075 case RISCV::AMOSWAP_W_RL:
13076 case RISCV::AMOXOR_B:
13077 case RISCV::AMOXOR_B_AQ:
13078 case RISCV::AMOXOR_B_AQRL:
13079 case RISCV::AMOXOR_B_RL:
13080 case RISCV::AMOXOR_D:
13081 case RISCV::AMOXOR_D_AQ:
13082 case RISCV::AMOXOR_D_AQRL:
13083 case RISCV::AMOXOR_D_RL:
13084 case RISCV::AMOXOR_H:
13085 case RISCV::AMOXOR_H_AQ:
13086 case RISCV::AMOXOR_H_AQRL:
13087 case RISCV::AMOXOR_H_RL:
13088 case RISCV::AMOXOR_W:
13089 case RISCV::AMOXOR_W_AQ:
13090 case RISCV::AMOXOR_W_AQRL:
13091 case RISCV::AMOXOR_W_RL:
13092 case RISCV::NDS_LEA_B_ZE:
13093 case RISCV::NDS_LEA_D:
13094 case RISCV::NDS_LEA_D_ZE:
13095 case RISCV::NDS_LEA_H:
13096 case RISCV::NDS_LEA_H_ZE:
13097 case RISCV::NDS_LEA_W:
13098 case RISCV::NDS_LEA_W_ZE:
13099 case RISCV::SC_D:
13100 case RISCV::SC_D_AQ:
13101 case RISCV::SC_D_AQRL:
13102 case RISCV::SC_D_RL:
13103 case RISCV::SC_W:
13104 case RISCV::SC_W_AQ:
13105 case RISCV::SC_W_AQRL:
13106 case RISCV::SC_W_RL:
13107 case RISCV::SSAMOSWAP_D:
13108 case RISCV::SSAMOSWAP_D_AQ:
13109 case RISCV::SSAMOSWAP_D_AQRL:
13110 case RISCV::SSAMOSWAP_D_RL:
13111 case RISCV::SSAMOSWAP_W:
13112 case RISCV::SSAMOSWAP_W_AQ:
13113 case RISCV::SSAMOSWAP_W_AQRL:
13114 case RISCV::SSAMOSWAP_W_RL: {
13115 switch (OpNum) {
13116 case 1:
13117 // op: rs2
13118 return 20;
13119 case 2:
13120 // op: rs1
13121 return 15;
13122 case 0:
13123 // op: rd
13124 return 7;
13125 }
13126 break;
13127 }
13128 case RISCV::CM_MVA01S:
13129 case RISCV::CM_MVSA01:
13130 case RISCV::QC_CM_MVA01S:
13131 case RISCV::QC_CM_MVSA01: {
13132 switch (OpNum) {
13133 case 1:
13134 // op: rs2
13135 return 2;
13136 case 0:
13137 // op: rs1
13138 return 7;
13139 }
13140 break;
13141 }
13142 case RISCV::VFMV_S_F:
13143 case RISCV::VMV_S_X: {
13144 switch (OpNum) {
13145 case 1:
13146 // op: vd
13147 return 7;
13148 case 2:
13149 // op: rs1
13150 return 15;
13151 }
13152 break;
13153 }
13154 case RISCV::VMADOT:
13155 case RISCV::VMADOTSU:
13156 case RISCV::VMADOTU:
13157 case RISCV::VMADOTUS: {
13158 switch (OpNum) {
13159 case 1:
13160 // op: vd
13161 return 7;
13162 case 2:
13163 // op: vs1
13164 return 15;
13165 case 3:
13166 // op: vs2
13167 return 20;
13168 case 4:
13169 // op: vtype
13170 return 29;
13171 }
13172 break;
13173 }
13174 case RISCV::VMADOTSU_HP:
13175 case RISCV::VMADOTUS_HP:
13176 case RISCV::VMADOTU_HP:
13177 case RISCV::VMADOT_HP: {
13178 switch (OpNum) {
13179 case 1:
13180 // op: vd
13181 return 7;
13182 case 2:
13183 // op: vs1
13184 return 15;
13185 case 3:
13186 // op: vs2
13187 return 20;
13188 case 6:
13189 // op: vtype
13190 return 29;
13191 case 4:
13192 // op: vmask
13193 return 25;
13194 case 5:
13195 // op: imm3
13196 return 12;
13197 }
13198 break;
13199 }
13200 case RISCV::SMT_VMADOT:
13201 case RISCV::SMT_VMADOTSU:
13202 case RISCV::SMT_VMADOTU:
13203 case RISCV::SMT_VMADOTUS:
13204 case RISCV::VFWMADOT:
13205 case RISCV::VFWMADOT1:
13206 case RISCV::VFWMADOT2:
13207 case RISCV::VFWMADOT3: {
13208 switch (OpNum) {
13209 case 1:
13210 // op: vd
13211 return 7;
13212 case 2:
13213 // op: vs1
13214 return 15;
13215 case 3:
13216 // op: vs2
13217 return 20;
13218 }
13219 break;
13220 }
13221 case RISCV::VMADOT1:
13222 case RISCV::VMADOT1SU:
13223 case RISCV::VMADOT1U:
13224 case RISCV::VMADOT1US:
13225 case RISCV::VMADOT2:
13226 case RISCV::VMADOT2SU:
13227 case RISCV::VMADOT2U:
13228 case RISCV::VMADOT2US:
13229 case RISCV::VMADOT3:
13230 case RISCV::VMADOT3SU:
13231 case RISCV::VMADOT3U:
13232 case RISCV::VMADOT3US: {
13233 switch (OpNum) {
13234 case 1:
13235 // op: vd
13236 return 7;
13237 case 2:
13238 // op: vs1
13239 return 16;
13240 case 3:
13241 // op: vs2
13242 return 20;
13243 case 4:
13244 // op: vtype
13245 return 29;
13246 }
13247 break;
13248 }
13249 case RISCV::SMT_VMADOT1:
13250 case RISCV::SMT_VMADOT1SU:
13251 case RISCV::SMT_VMADOT1U:
13252 case RISCV::SMT_VMADOT1US:
13253 case RISCV::SMT_VMADOT2:
13254 case RISCV::SMT_VMADOT2SU:
13255 case RISCV::SMT_VMADOT2U:
13256 case RISCV::SMT_VMADOT2US:
13257 case RISCV::SMT_VMADOT3:
13258 case RISCV::SMT_VMADOT3SU:
13259 case RISCV::SMT_VMADOT3U:
13260 case RISCV::SMT_VMADOT3US: {
13261 switch (OpNum) {
13262 case 1:
13263 // op: vd
13264 return 7;
13265 case 2:
13266 // op: vs1
13267 return 16;
13268 case 3:
13269 // op: vs2
13270 return 20;
13271 }
13272 break;
13273 }
13274 case RISCV::VAESKF2_VI:
13275 case RISCV::VSM3C_VI: {
13276 switch (OpNum) {
13277 case 1:
13278 // op: vd
13279 return 7;
13280 case 2:
13281 // op: vs2
13282 return 20;
13283 case 3:
13284 // op: imm
13285 return 15;
13286 }
13287 break;
13288 }
13289 case RISCV::VGHSH_VS:
13290 case RISCV::VGHSH_VV:
13291 case RISCV::VSHA2CH_VV:
13292 case RISCV::VSHA2CL_VV:
13293 case RISCV::VSHA2MS_VV: {
13294 switch (OpNum) {
13295 case 1:
13296 // op: vd
13297 return 7;
13298 case 2:
13299 // op: vs2
13300 return 20;
13301 case 3:
13302 // op: vs1
13303 return 15;
13304 }
13305 break;
13306 }
13307 case RISCV::VAESDF_VS:
13308 case RISCV::VAESDF_VV:
13309 case RISCV::VAESDM_VS:
13310 case RISCV::VAESDM_VV:
13311 case RISCV::VAESEF_VS:
13312 case RISCV::VAESEF_VV:
13313 case RISCV::VAESEM_VS:
13314 case RISCV::VAESEM_VV:
13315 case RISCV::VAESZ_VS:
13316 case RISCV::VGMUL_VS:
13317 case RISCV::VGMUL_VV:
13318 case RISCV::VSM4R_VS:
13319 case RISCV::VSM4R_VV: {
13320 switch (OpNum) {
13321 case 1:
13322 // op: vd
13323 return 7;
13324 case 2:
13325 // op: vs2
13326 return 20;
13327 }
13328 break;
13329 }
13330 case RISCV::SF_VFWMACC_4x4x4:
13331 case RISCV::SF_VQMACCSU_2x8x2:
13332 case RISCV::SF_VQMACCSU_4x8x4:
13333 case RISCV::SF_VQMACCUS_2x8x2:
13334 case RISCV::SF_VQMACCUS_4x8x4:
13335 case RISCV::SF_VQMACCU_2x8x2:
13336 case RISCV::SF_VQMACCU_4x8x4:
13337 case RISCV::SF_VQMACC_2x8x2:
13338 case RISCV::SF_VQMACC_4x8x4:
13339 case RISCV::V8WMMACC_VV:
13340 case RISCV::VF8WIMMACC_VV:
13341 case RISCV::VF8WMMACC_VV:
13342 case RISCV::VF8WMMACC_VV_SCALE:
13343 case RISCV::VFMMACC_VV:
13344 case RISCV::VFQIMMACC_VV:
13345 case RISCV::VFQMMACC_VV:
13346 case RISCV::VFQMMACC_VV_SCALE:
13347 case RISCV::VFWIMMACC_VV:
13348 case RISCV::VFWMMACC_VV:
13349 case RISCV::VFWMMACC_VV_SCALE:
13350 case RISCV::VMMACC_VV:
13351 case RISCV::VQMMACC_VV:
13352 case RISCV::VWMMACC_VV: {
13353 switch (OpNum) {
13354 case 1:
13355 // op: vd
13356 return 7;
13357 case 3:
13358 // op: vs2
13359 return 20;
13360 case 2:
13361 // op: vs1
13362 return 15;
13363 }
13364 break;
13365 }
13366 case RISCV::VDOT4ASU_VX:
13367 case RISCV::VDOT4AUS_VX:
13368 case RISCV::VDOT4AU_VX:
13369 case RISCV::VDOT4A_VX: {
13370 switch (OpNum) {
13371 case 1:
13372 // op: vd
13373 return 7;
13374 case 4:
13375 // op: vm
13376 return 25;
13377 case 2:
13378 // op: vs2
13379 return 20;
13380 case 3:
13381 // op: rs1
13382 return 15;
13383 }
13384 break;
13385 }
13386 case RISCV::VDOT4ASU_VV:
13387 case RISCV::VDOT4AU_VV:
13388 case RISCV::VDOT4A_VV:
13389 case RISCV::VFQWDOTA_ALT_VV:
13390 case RISCV::VFQWDOTA_VV:
13391 case RISCV::VFWDOTA_VV:
13392 case RISCV::VQWDOTAS_VV:
13393 case RISCV::VQWDOTAU_VV: {
13394 switch (OpNum) {
13395 case 1:
13396 // op: vd
13397 return 7;
13398 case 4:
13399 // op: vm
13400 return 25;
13401 case 2:
13402 // op: vs2
13403 return 20;
13404 case 3:
13405 // op: vs1
13406 return 15;
13407 }
13408 break;
13409 }
13410 case RISCV::TH_VMAQASU_VX:
13411 case RISCV::TH_VMAQAUS_VX:
13412 case RISCV::TH_VMAQAU_VX:
13413 case RISCV::TH_VMAQA_VX:
13414 case RISCV::VFMACC_VF:
13415 case RISCV::VFMADD_VF:
13416 case RISCV::VFMSAC_VF:
13417 case RISCV::VFMSUB_VF:
13418 case RISCV::VFNMACC_VF:
13419 case RISCV::VFNMADD_VF:
13420 case RISCV::VFNMSAC_VF:
13421 case RISCV::VFNMSUB_VF:
13422 case RISCV::VFWMACCBF16_VF:
13423 case RISCV::VFWMACC_VF:
13424 case RISCV::VFWMSAC_VF:
13425 case RISCV::VFWNMACC_VF:
13426 case RISCV::VFWNMSAC_VF:
13427 case RISCV::VMACC_VX:
13428 case RISCV::VMADD_VX:
13429 case RISCV::VNMSAC_VX:
13430 case RISCV::VNMSUB_VX:
13431 case RISCV::VWMACCSU_VX:
13432 case RISCV::VWMACCUS_VX:
13433 case RISCV::VWMACCU_VX:
13434 case RISCV::VWMACC_VX: {
13435 switch (OpNum) {
13436 case 1:
13437 // op: vd
13438 return 7;
13439 case 4:
13440 // op: vm
13441 return 25;
13442 case 3:
13443 // op: vs2
13444 return 20;
13445 case 2:
13446 // op: rs1
13447 return 15;
13448 }
13449 break;
13450 }
13451 case RISCV::TH_VMAQASU_VV:
13452 case RISCV::TH_VMAQAU_VV:
13453 case RISCV::TH_VMAQA_VV:
13454 case RISCV::VFMACC_VV:
13455 case RISCV::VFMADD_VV:
13456 case RISCV::VFMSAC_VV:
13457 case RISCV::VFMSUB_VV:
13458 case RISCV::VFNMACC_VV:
13459 case RISCV::VFNMADD_VV:
13460 case RISCV::VFNMSAC_VV:
13461 case RISCV::VFNMSUB_VV:
13462 case RISCV::VFWMACCBF16_VV:
13463 case RISCV::VFWMACC_VV:
13464 case RISCV::VFWMSAC_VV:
13465 case RISCV::VFWNMACC_VV:
13466 case RISCV::VFWNMSAC_VV:
13467 case RISCV::VMACC_VV:
13468 case RISCV::VMADD_VV:
13469 case RISCV::VNMSAC_VV:
13470 case RISCV::VNMSUB_VV:
13471 case RISCV::VWMACCSU_VV:
13472 case RISCV::VWMACCU_VV:
13473 case RISCV::VWMACC_VV: {
13474 switch (OpNum) {
13475 case 1:
13476 // op: vd
13477 return 7;
13478 case 4:
13479 // op: vm
13480 return 25;
13481 case 3:
13482 // op: vs2
13483 return 20;
13484 case 2:
13485 // op: vs1
13486 return 15;
13487 }
13488 break;
13489 }
13490 case RISCV::VFBDOTA_VV:
13491 case RISCV::VFQWBDOTA_ALT_VV:
13492 case RISCV::VFQWBDOTA_VV:
13493 case RISCV::VFWBDOTA_VV:
13494 case RISCV::VQWBDOTAS_VV:
13495 case RISCV::VQWBDOTAU_VV: {
13496 switch (OpNum) {
13497 case 1:
13498 // op: vd
13499 return 7;
13500 case 5:
13501 // op: vm
13502 return 25;
13503 case 2:
13504 // op: vs2
13505 return 23;
13506 case 3:
13507 // op: vs1
13508 return 15;
13509 case 4:
13510 // op: ci
13511 return 20;
13512 }
13513 break;
13514 }
13515 case RISCV::VMADOTSU_SP:
13516 case RISCV::VMADOTUS_SP:
13517 case RISCV::VMADOTU_SP:
13518 case RISCV::VMADOT_SP: {
13519 switch (OpNum) {
13520 case 1:
13521 // op: vd
13522 return 8;
13523 case 2:
13524 // op: vs1
13525 return 16;
13526 case 3:
13527 // op: vs2
13528 return 20;
13529 case 6:
13530 // op: vtype
13531 return 29;
13532 case 4:
13533 // op: vmask
13534 return 25;
13535 case 5:
13536 // op: imm2
13537 return 7;
13538 }
13539 break;
13540 }
13541 case RISCV::NDS_VFWCVT_F_B:
13542 case RISCV::NDS_VFWCVT_F_BU:
13543 case RISCV::NDS_VFWCVT_F_N:
13544 case RISCV::NDS_VFWCVT_F_NU: {
13545 switch (OpNum) {
13546 case 1:
13547 // op: vs
13548 return 20;
13549 case 0:
13550 // op: vd
13551 return 7;
13552 case 2:
13553 // op: vm
13554 return 25;
13555 }
13556 break;
13557 }
13558 case RISCV::NDS_VFNCVT_BF16_S:
13559 case RISCV::NDS_VFWCVT_S_BF16: {
13560 switch (OpNum) {
13561 case 1:
13562 // op: vs2
13563 return 20;
13564 case 0:
13565 // op: vd
13566 return 7;
13567 }
13568 break;
13569 }
13570 case RISCV::NDS_VFPMADB_VF:
13571 case RISCV::NDS_VFPMADT_VF: {
13572 switch (OpNum) {
13573 case 1:
13574 // op: vs2
13575 return 20;
13576 case 2:
13577 // op: rs1
13578 return 15;
13579 case 0:
13580 // op: vd
13581 return 7;
13582 case 3:
13583 // op: vm
13584 return 25;
13585 }
13586 break;
13587 }
13588 case RISCV::SF_VC_I: {
13589 switch (OpNum) {
13590 case 1:
13591 // op: vs2
13592 return 20;
13593 case 2:
13594 // op: vd
13595 return 7;
13596 case 3:
13597 // op: imm
13598 return 15;
13599 case 0:
13600 // op: funct6_lo2
13601 return 26;
13602 }
13603 break;
13604 }
13605 case RISCV::SF_VC_X: {
13606 switch (OpNum) {
13607 case 1:
13608 // op: vs2
13609 return 20;
13610 case 2:
13611 // op: vd
13612 return 7;
13613 case 3:
13614 // op: rs1
13615 return 15;
13616 case 0:
13617 // op: funct6_lo2
13618 return 26;
13619 }
13620 break;
13621 }
13622 case RISCV::SF_MM_E4M3_E4M3:
13623 case RISCV::SF_MM_E4M3_E5M2:
13624 case RISCV::SF_MM_E5M2_E4M3:
13625 case RISCV::SF_MM_E5M2_E5M2:
13626 case RISCV::SF_MM_S_S:
13627 case RISCV::SF_MM_S_U:
13628 case RISCV::SF_MM_U_S:
13629 case RISCV::SF_MM_U_U: {
13630 switch (OpNum) {
13631 case 1:
13632 // op: vs2
13633 return 20;
13634 case 2:
13635 // op: vs1
13636 return 15;
13637 case 0:
13638 // op: rd
13639 return 10;
13640 }
13641 break;
13642 }
13643 case RISCV::SF_MM_F_F: {
13644 switch (OpNum) {
13645 case 1:
13646 // op: vs2
13647 return 20;
13648 case 2:
13649 // op: vs1
13650 return 15;
13651 case 0:
13652 // op: rd
13653 return 9;
13654 }
13655 break;
13656 }
13657 case RISCV::AIF_MOV_M_X: {
13658 switch (OpNum) {
13659 case 2:
13660 // op: imm
13661 return 12;
13662 case 1:
13663 // op: rs1
13664 return 15;
13665 case 0:
13666 // op: rd
13667 return 7;
13668 }
13669 break;
13670 }
13671 case RISCV::AIF_FADDI_PI:
13672 case RISCV::AIF_FANDI_PI:
13673 case RISCV::AIF_FSLLI_PI:
13674 case RISCV::AIF_FSRAI_PI:
13675 case RISCV::AIF_FSRLI_PI: {
13676 switch (OpNum) {
13677 case 2:
13678 // op: imm
13679 return 20;
13680 case 1:
13681 // op: rs1
13682 return 15;
13683 case 0:
13684 // op: rd
13685 return 7;
13686 }
13687 break;
13688 }
13689 case RISCV::C_FLDSP:
13690 case RISCV::C_FLWSP:
13691 case RISCV::C_LDSP:
13692 case RISCV::C_LDSP_RV32:
13693 case RISCV::C_LWSP:
13694 case RISCV::C_LWSP_INX: {
13695 switch (OpNum) {
13696 case 2:
13697 // op: imm
13698 return 2;
13699 case 0:
13700 // op: rd
13701 return 7;
13702 }
13703 break;
13704 }
13705 case RISCV::C_ADDI:
13706 case RISCV::C_ADDIW:
13707 case RISCV::C_SLLI: {
13708 switch (OpNum) {
13709 case 2:
13710 // op: imm
13711 return 2;
13712 case 1:
13713 // op: rd
13714 return 7;
13715 }
13716 break;
13717 }
13718 case RISCV::C_ANDI:
13719 case RISCV::C_SRAI:
13720 case RISCV::C_SRLI: {
13721 switch (OpNum) {
13722 case 2:
13723 // op: imm
13724 return 2;
13725 case 1:
13726 // op: rs1
13727 return 7;
13728 }
13729 break;
13730 }
13731 case RISCV::C_ADDI16SP: {
13732 switch (OpNum) {
13733 case 2:
13734 // op: imm
13735 return 2;
13736 }
13737 break;
13738 }
13739 case RISCV::C_ADDI4SPN: {
13740 switch (OpNum) {
13741 case 2:
13742 // op: imm
13743 return 5;
13744 case 0:
13745 // op: rd
13746 return 2;
13747 }
13748 break;
13749 }
13750 case RISCV::C_FSDSP:
13751 case RISCV::C_FSWSP:
13752 case RISCV::C_SDSP:
13753 case RISCV::C_SDSP_RV32:
13754 case RISCV::C_SWSP:
13755 case RISCV::C_SWSP_INX: {
13756 switch (OpNum) {
13757 case 2:
13758 // op: imm
13759 return 7;
13760 case 0:
13761 // op: rs2
13762 return 2;
13763 }
13764 break;
13765 }
13766 case RISCV::NDS_BBC:
13767 case RISCV::NDS_BBS:
13768 case RISCV::NDS_BEQC:
13769 case RISCV::NDS_BNEC: {
13770 switch (OpNum) {
13771 case 2:
13772 // op: imm10
13773 return 8;
13774 case 0:
13775 // op: rs1
13776 return 15;
13777 case 1:
13778 // op: cimm
13779 return 7;
13780 }
13781 break;
13782 }
13783 case RISCV::CV_BEQIMM:
13784 case RISCV::CV_BNEIMM: {
13785 switch (OpNum) {
13786 case 2:
13787 // op: imm12
13788 return 7;
13789 case 0:
13790 // op: rs1
13791 return 15;
13792 case 1:
13793 // op: imm5
13794 return 20;
13795 }
13796 break;
13797 }
13798 case RISCV::FSD:
13799 case RISCV::FSH:
13800 case RISCV::FSQ:
13801 case RISCV::FSW:
13802 case RISCV::SB:
13803 case RISCV::SD:
13804 case RISCV::SD_RV32:
13805 case RISCV::SH:
13806 case RISCV::SH_INX:
13807 case RISCV::SW:
13808 case RISCV::SW_INX: {
13809 switch (OpNum) {
13810 case 2:
13811 // op: imm12
13812 return 7;
13813 case 0:
13814 // op: rs2
13815 return 20;
13816 case 1:
13817 // op: rs1
13818 return 15;
13819 }
13820 break;
13821 }
13822 case RISCV::BEQI:
13823 case RISCV::BNEI: {
13824 switch (OpNum) {
13825 case 2:
13826 // op: imm12
13827 return 7;
13828 case 1:
13829 // op: cimm
13830 return 20;
13831 case 0:
13832 // op: rs1
13833 return 15;
13834 }
13835 break;
13836 }
13837 case RISCV::BEQ:
13838 case RISCV::BGE:
13839 case RISCV::BGEU:
13840 case RISCV::BLT:
13841 case RISCV::BLTU:
13842 case RISCV::BNE:
13843 case RISCV::QC_BEQI:
13844 case RISCV::QC_BGEI:
13845 case RISCV::QC_BGEUI:
13846 case RISCV::QC_BLTI:
13847 case RISCV::QC_BLTUI:
13848 case RISCV::QC_BNEI: {
13849 switch (OpNum) {
13850 case 2:
13851 // op: imm12
13852 return 7;
13853 case 1:
13854 // op: rs2
13855 return 20;
13856 case 0:
13857 // op: rs1
13858 return 15;
13859 }
13860 break;
13861 }
13862 case RISCV::AIF_FBC_PS:
13863 case RISCV::AIF_FLQ2:
13864 case RISCV::AIF_FLW_PS:
13865 case RISCV::CSRRC:
13866 case RISCV::CSRRCI:
13867 case RISCV::CSRRS:
13868 case RISCV::CSRRSI:
13869 case RISCV::CSRRW:
13870 case RISCV::CSRRWI: {
13871 switch (OpNum) {
13872 case 2:
13873 // op: rs1
13874 return 15;
13875 case 0:
13876 // op: rd
13877 return 7;
13878 case 1:
13879 // op: imm12
13880 return 20;
13881 }
13882 break;
13883 }
13884 case RISCV::CV_LBU_ri_inc:
13885 case RISCV::CV_LB_ri_inc:
13886 case RISCV::CV_LHU_ri_inc:
13887 case RISCV::CV_LH_ri_inc:
13888 case RISCV::CV_LW_ri_inc: {
13889 switch (OpNum) {
13890 case 2:
13891 // op: rs1
13892 return 15;
13893 case 0:
13894 // op: rd
13895 return 7;
13896 case 3:
13897 // op: imm12
13898 return 20;
13899 }
13900 break;
13901 }
13902 case RISCV::TH_LBIA:
13903 case RISCV::TH_LBIB:
13904 case RISCV::TH_LBUIA:
13905 case RISCV::TH_LBUIB:
13906 case RISCV::TH_LDIA:
13907 case RISCV::TH_LDIB:
13908 case RISCV::TH_LHIA:
13909 case RISCV::TH_LHIB:
13910 case RISCV::TH_LHUIA:
13911 case RISCV::TH_LHUIB:
13912 case RISCV::TH_LWIA:
13913 case RISCV::TH_LWIB:
13914 case RISCV::TH_LWUIA:
13915 case RISCV::TH_LWUIB: {
13916 switch (OpNum) {
13917 case 2:
13918 // op: rs1
13919 return 15;
13920 case 0:
13921 // op: rd
13922 return 7;
13923 case 3:
13924 // op: simm5
13925 return 20;
13926 case 4:
13927 // op: uimm2
13928 return 25;
13929 }
13930 break;
13931 }
13932 case RISCV::QC_INSBRI: {
13933 switch (OpNum) {
13934 case 2:
13935 // op: rs1
13936 return 15;
13937 case 1:
13938 // op: rd
13939 return 7;
13940 case 3:
13941 // op: imm11
13942 return 20;
13943 }
13944 break;
13945 }
13946 case RISCV::QC_MULIADD: {
13947 switch (OpNum) {
13948 case 2:
13949 // op: rs1
13950 return 15;
13951 case 1:
13952 // op: rd
13953 return 7;
13954 case 3:
13955 // op: imm12
13956 return 20;
13957 }
13958 break;
13959 }
13960 case RISCV::CV_INSERT_B:
13961 case RISCV::CV_INSERT_H:
13962 case RISCV::CV_SDOTSP_SCI_B:
13963 case RISCV::CV_SDOTSP_SCI_H:
13964 case RISCV::CV_SDOTUP_SCI_B:
13965 case RISCV::CV_SDOTUP_SCI_H:
13966 case RISCV::CV_SDOTUSP_SCI_B:
13967 case RISCV::CV_SDOTUSP_SCI_H: {
13968 switch (OpNum) {
13969 case 2:
13970 // op: rs1
13971 return 15;
13972 case 1:
13973 // op: rd
13974 return 7;
13975 case 3:
13976 // op: imm6
13977 return 20;
13978 }
13979 break;
13980 }
13981 case RISCV::CV_INSERT: {
13982 switch (OpNum) {
13983 case 2:
13984 // op: rs1
13985 return 15;
13986 case 1:
13987 // op: rd
13988 return 7;
13989 case 3:
13990 // op: is3
13991 return 25;
13992 case 4:
13993 // op: is2
13994 return 20;
13995 }
13996 break;
13997 }
13998 case RISCV::QC_SELECTIIEQ:
13999 case RISCV::QC_SELECTIINE: {
14000 switch (OpNum) {
14001 case 2:
14002 // op: rs1
14003 return 15;
14004 case 1:
14005 // op: rd
14006 return 7;
14007 case 3:
14008 // op: simm1
14009 return 20;
14010 case 4:
14011 // op: simm2
14012 return 27;
14013 }
14014 break;
14015 }
14016 case RISCV::TH_SBIA:
14017 case RISCV::TH_SBIB:
14018 case RISCV::TH_SDIA:
14019 case RISCV::TH_SDIB:
14020 case RISCV::TH_SHIA:
14021 case RISCV::TH_SHIB:
14022 case RISCV::TH_SWIA:
14023 case RISCV::TH_SWIB: {
14024 switch (OpNum) {
14025 case 2:
14026 // op: rs1
14027 return 15;
14028 case 1:
14029 // op: rd
14030 return 7;
14031 case 3:
14032 // op: simm5
14033 return 20;
14034 case 4:
14035 // op: uimm2
14036 return 25;
14037 }
14038 break;
14039 }
14040 case RISCV::QC_INSB:
14041 case RISCV::QC_INSBH: {
14042 switch (OpNum) {
14043 case 2:
14044 // op: rs1
14045 return 15;
14046 case 1:
14047 // op: rd
14048 return 7;
14049 case 4:
14050 // op: shamt
14051 return 20;
14052 case 3:
14053 // op: width
14054 return 25;
14055 }
14056 break;
14057 }
14058 case RISCV::AES32DSI:
14059 case RISCV::AES32DSMI:
14060 case RISCV::AES32ESI:
14061 case RISCV::AES32ESMI:
14062 case RISCV::SM4ED:
14063 case RISCV::SM4KS: {
14064 switch (OpNum) {
14065 case 2:
14066 // op: rs2
14067 return 20;
14068 case 1:
14069 // op: rs1
14070 return 15;
14071 case 0:
14072 // op: rd
14073 return 7;
14074 case 3:
14075 // op: bs
14076 return 30;
14077 }
14078 break;
14079 }
14080 case RISCV::QC_LWM:
14081 case RISCV::QC_LWMI:
14082 case RISCV::QC_SETWM:
14083 case RISCV::QC_SETWMI:
14084 case RISCV::QC_SWM:
14085 case RISCV::QC_SWMI: {
14086 switch (OpNum) {
14087 case 2:
14088 // op: rs2
14089 return 20;
14090 case 1:
14091 // op: rs1
14092 return 15;
14093 case 0:
14094 // op: rd
14095 return 7;
14096 case 3:
14097 // op: imm
14098 return 25;
14099 }
14100 break;
14101 }
14102 case RISCV::CV_ADDN:
14103 case RISCV::CV_ADDRN:
14104 case RISCV::CV_ADDUN:
14105 case RISCV::CV_ADDURN:
14106 case RISCV::CV_MULHHSN:
14107 case RISCV::CV_MULHHSRN:
14108 case RISCV::CV_MULHHUN:
14109 case RISCV::CV_MULHHURN:
14110 case RISCV::CV_MULSN:
14111 case RISCV::CV_MULSRN:
14112 case RISCV::CV_MULUN:
14113 case RISCV::CV_MULURN:
14114 case RISCV::CV_SUBN:
14115 case RISCV::CV_SUBRN:
14116 case RISCV::CV_SUBUN:
14117 case RISCV::CV_SUBURN: {
14118 switch (OpNum) {
14119 case 2:
14120 // op: rs2
14121 return 20;
14122 case 1:
14123 // op: rs1
14124 return 15;
14125 case 0:
14126 // op: rd
14127 return 7;
14128 case 3:
14129 // op: imm5
14130 return 25;
14131 }
14132 break;
14133 }
14134 case RISCV::QC_LRB:
14135 case RISCV::QC_LRBU:
14136 case RISCV::QC_LRH:
14137 case RISCV::QC_LRHU:
14138 case RISCV::QC_LRW:
14139 case RISCV::QC_SHLADD:
14140 case RISCV::QC_SRB:
14141 case RISCV::QC_SRH:
14142 case RISCV::QC_SRW: {
14143 switch (OpNum) {
14144 case 2:
14145 // op: rs2
14146 return 20;
14147 case 1:
14148 // op: rs1
14149 return 15;
14150 case 0:
14151 // op: rd
14152 return 7;
14153 case 3:
14154 // op: shamt
14155 return 25;
14156 }
14157 break;
14158 }
14159 case RISCV::TH_ADDSL:
14160 case RISCV::TH_FLRD:
14161 case RISCV::TH_FLRW:
14162 case RISCV::TH_FLURD:
14163 case RISCV::TH_FLURW:
14164 case RISCV::TH_FSRD:
14165 case RISCV::TH_FSRW:
14166 case RISCV::TH_FSURD:
14167 case RISCV::TH_FSURW:
14168 case RISCV::TH_LRB:
14169 case RISCV::TH_LRBU:
14170 case RISCV::TH_LRD:
14171 case RISCV::TH_LRH:
14172 case RISCV::TH_LRHU:
14173 case RISCV::TH_LRW:
14174 case RISCV::TH_LRWU:
14175 case RISCV::TH_LURB:
14176 case RISCV::TH_LURBU:
14177 case RISCV::TH_LURD:
14178 case RISCV::TH_LURH:
14179 case RISCV::TH_LURHU:
14180 case RISCV::TH_LURW:
14181 case RISCV::TH_LURWU:
14182 case RISCV::TH_SRB:
14183 case RISCV::TH_SRD:
14184 case RISCV::TH_SRH:
14185 case RISCV::TH_SRW:
14186 case RISCV::TH_SURB:
14187 case RISCV::TH_SURD:
14188 case RISCV::TH_SURH:
14189 case RISCV::TH_SURW: {
14190 switch (OpNum) {
14191 case 2:
14192 // op: rs2
14193 return 20;
14194 case 1:
14195 // op: rs1
14196 return 15;
14197 case 0:
14198 // op: rd
14199 return 7;
14200 case 3:
14201 // op: uimm2
14202 return 25;
14203 }
14204 break;
14205 }
14206 case RISCV::AADD:
14207 case RISCV::AADDU:
14208 case RISCV::ADD:
14209 case RISCV::ADDW:
14210 case RISCV::ADD_UW:
14211 case RISCV::AES64DS:
14212 case RISCV::AES64DSM:
14213 case RISCV::AES64ES:
14214 case RISCV::AES64ESM:
14215 case RISCV::AES64KS2:
14216 case RISCV::AIF_BITMIXB:
14217 case RISCV::AIF_CUBEFACEIDX_PS:
14218 case RISCV::AIF_CUBEFACE_PS:
14219 case RISCV::AIF_CUBESGNSC_PS:
14220 case RISCV::AIF_CUBESGNTC_PS:
14221 case RISCV::AIF_FADD_PI:
14222 case RISCV::AIF_FAMOADDG_PI:
14223 case RISCV::AIF_FAMOADDL_PI:
14224 case RISCV::AIF_FAMOANDG_PI:
14225 case RISCV::AIF_FAMOANDL_PI:
14226 case RISCV::AIF_FAMOMAXG_PI:
14227 case RISCV::AIF_FAMOMAXG_PS:
14228 case RISCV::AIF_FAMOMAXL_PI:
14229 case RISCV::AIF_FAMOMAXL_PS:
14230 case RISCV::AIF_FAMOMAXUG_PI:
14231 case RISCV::AIF_FAMOMAXUL_PI:
14232 case RISCV::AIF_FAMOMING_PI:
14233 case RISCV::AIF_FAMOMING_PS:
14234 case RISCV::AIF_FAMOMINL_PI:
14235 case RISCV::AIF_FAMOMINL_PS:
14236 case RISCV::AIF_FAMOMINUG_PI:
14237 case RISCV::AIF_FAMOMINUL_PI:
14238 case RISCV::AIF_FAMOORG_PI:
14239 case RISCV::AIF_FAMOORL_PI:
14240 case RISCV::AIF_FAMOSWAPG_PI:
14241 case RISCV::AIF_FAMOSWAPL_PI:
14242 case RISCV::AIF_FAMOXORG_PI:
14243 case RISCV::AIF_FAMOXORL_PI:
14244 case RISCV::AIF_FAND_PI:
14245 case RISCV::AIF_FCMOVM_PS:
14246 case RISCV::AIF_FDIVU_PI:
14247 case RISCV::AIF_FDIV_PI:
14248 case RISCV::AIF_FEQM_PS:
14249 case RISCV::AIF_FEQ_PI:
14250 case RISCV::AIF_FEQ_PS:
14251 case RISCV::AIF_FG32B_PS:
14252 case RISCV::AIF_FG32H_PS:
14253 case RISCV::AIF_FG32W_PS:
14254 case RISCV::AIF_FGBG_PS:
14255 case RISCV::AIF_FGBL_PS:
14256 case RISCV::AIF_FGB_PS:
14257 case RISCV::AIF_FGHG_PS:
14258 case RISCV::AIF_FGHL_PS:
14259 case RISCV::AIF_FGH_PS:
14260 case RISCV::AIF_FGWG_PS:
14261 case RISCV::AIF_FGWL_PS:
14262 case RISCV::AIF_FGW_PS:
14263 case RISCV::AIF_FLEM_PS:
14264 case RISCV::AIF_FLE_PI:
14265 case RISCV::AIF_FLE_PS:
14266 case RISCV::AIF_FLTM_PI:
14267 case RISCV::AIF_FLTM_PS:
14268 case RISCV::AIF_FLTU_PI:
14269 case RISCV::AIF_FLT_PI:
14270 case RISCV::AIF_FLT_PS:
14271 case RISCV::AIF_FMAXU_PI:
14272 case RISCV::AIF_FMAX_PI:
14273 case RISCV::AIF_FMAX_PS:
14274 case RISCV::AIF_FMINU_PI:
14275 case RISCV::AIF_FMIN_PI:
14276 case RISCV::AIF_FMIN_PS:
14277 case RISCV::AIF_FMULHU_PI:
14278 case RISCV::AIF_FMULH_PI:
14279 case RISCV::AIF_FMUL_PI:
14280 case RISCV::AIF_FOR_PI:
14281 case RISCV::AIF_FRCP_FIX_RAST:
14282 case RISCV::AIF_FREMU_PI:
14283 case RISCV::AIF_FREM_PI:
14284 case RISCV::AIF_FSGNJN_PS:
14285 case RISCV::AIF_FSGNJX_PS:
14286 case RISCV::AIF_FSGNJ_PS:
14287 case RISCV::AIF_FSLL_PI:
14288 case RISCV::AIF_FSRA_PI:
14289 case RISCV::AIF_FSRL_PI:
14290 case RISCV::AIF_FSUB_PI:
14291 case RISCV::AIF_FXOR_PI:
14292 case RISCV::AIF_MASKAND:
14293 case RISCV::AIF_MASKOR:
14294 case RISCV::AIF_MASKXOR:
14295 case RISCV::AIF_PACKB:
14296 case RISCV::AND:
14297 case RISCV::ANDN:
14298 case RISCV::ASUB:
14299 case RISCV::ASUBU:
14300 case RISCV::BCLR:
14301 case RISCV::BEXT:
14302 case RISCV::BINV:
14303 case RISCV::BSET:
14304 case RISCV::CLMUL:
14305 case RISCV::CLMULH:
14306 case RISCV::CLMULR:
14307 case RISCV::CV_ADD_B:
14308 case RISCV::CV_ADD_DIV2:
14309 case RISCV::CV_ADD_DIV4:
14310 case RISCV::CV_ADD_DIV8:
14311 case RISCV::CV_ADD_H:
14312 case RISCV::CV_ADD_SC_B:
14313 case RISCV::CV_ADD_SC_H:
14314 case RISCV::CV_AND_B:
14315 case RISCV::CV_AND_H:
14316 case RISCV::CV_AND_SC_B:
14317 case RISCV::CV_AND_SC_H:
14318 case RISCV::CV_AVGU_B:
14319 case RISCV::CV_AVGU_H:
14320 case RISCV::CV_AVGU_SC_B:
14321 case RISCV::CV_AVGU_SC_H:
14322 case RISCV::CV_AVG_B:
14323 case RISCV::CV_AVG_H:
14324 case RISCV::CV_AVG_SC_B:
14325 case RISCV::CV_AVG_SC_H:
14326 case RISCV::CV_BCLRR:
14327 case RISCV::CV_BSETR:
14328 case RISCV::CV_CLIPR:
14329 case RISCV::CV_CLIPUR:
14330 case RISCV::CV_CMPEQ_B:
14331 case RISCV::CV_CMPEQ_H:
14332 case RISCV::CV_CMPEQ_SC_B:
14333 case RISCV::CV_CMPEQ_SC_H:
14334 case RISCV::CV_CMPGEU_B:
14335 case RISCV::CV_CMPGEU_H:
14336 case RISCV::CV_CMPGEU_SC_B:
14337 case RISCV::CV_CMPGEU_SC_H:
14338 case RISCV::CV_CMPGE_B:
14339 case RISCV::CV_CMPGE_H:
14340 case RISCV::CV_CMPGE_SC_B:
14341 case RISCV::CV_CMPGE_SC_H:
14342 case RISCV::CV_CMPGTU_B:
14343 case RISCV::CV_CMPGTU_H:
14344 case RISCV::CV_CMPGTU_SC_B:
14345 case RISCV::CV_CMPGTU_SC_H:
14346 case RISCV::CV_CMPGT_B:
14347 case RISCV::CV_CMPGT_H:
14348 case RISCV::CV_CMPGT_SC_B:
14349 case RISCV::CV_CMPGT_SC_H:
14350 case RISCV::CV_CMPLEU_B:
14351 case RISCV::CV_CMPLEU_H:
14352 case RISCV::CV_CMPLEU_SC_B:
14353 case RISCV::CV_CMPLEU_SC_H:
14354 case RISCV::CV_CMPLE_B:
14355 case RISCV::CV_CMPLE_H:
14356 case RISCV::CV_CMPLE_SC_B:
14357 case RISCV::CV_CMPLE_SC_H:
14358 case RISCV::CV_CMPLTU_B:
14359 case RISCV::CV_CMPLTU_H:
14360 case RISCV::CV_CMPLTU_SC_B:
14361 case RISCV::CV_CMPLTU_SC_H:
14362 case RISCV::CV_CMPLT_B:
14363 case RISCV::CV_CMPLT_H:
14364 case RISCV::CV_CMPLT_SC_B:
14365 case RISCV::CV_CMPLT_SC_H:
14366 case RISCV::CV_CMPNE_B:
14367 case RISCV::CV_CMPNE_H:
14368 case RISCV::CV_CMPNE_SC_B:
14369 case RISCV::CV_CMPNE_SC_H:
14370 case RISCV::CV_DOTSP_B:
14371 case RISCV::CV_DOTSP_H:
14372 case RISCV::CV_DOTSP_SC_B:
14373 case RISCV::CV_DOTSP_SC_H:
14374 case RISCV::CV_DOTUP_B:
14375 case RISCV::CV_DOTUP_H:
14376 case RISCV::CV_DOTUP_SC_B:
14377 case RISCV::CV_DOTUP_SC_H:
14378 case RISCV::CV_DOTUSP_B:
14379 case RISCV::CV_DOTUSP_H:
14380 case RISCV::CV_DOTUSP_SC_B:
14381 case RISCV::CV_DOTUSP_SC_H:
14382 case RISCV::CV_EXTRACTR:
14383 case RISCV::CV_EXTRACTUR:
14384 case RISCV::CV_LBU_rr:
14385 case RISCV::CV_LB_rr:
14386 case RISCV::CV_LHU_rr:
14387 case RISCV::CV_LH_rr:
14388 case RISCV::CV_LW_rr:
14389 case RISCV::CV_MAX:
14390 case RISCV::CV_MAXU:
14391 case RISCV::CV_MAXU_B:
14392 case RISCV::CV_MAXU_H:
14393 case RISCV::CV_MAXU_SC_B:
14394 case RISCV::CV_MAXU_SC_H:
14395 case RISCV::CV_MAX_B:
14396 case RISCV::CV_MAX_H:
14397 case RISCV::CV_MAX_SC_B:
14398 case RISCV::CV_MAX_SC_H:
14399 case RISCV::CV_MIN:
14400 case RISCV::CV_MINU:
14401 case RISCV::CV_MINU_B:
14402 case RISCV::CV_MINU_H:
14403 case RISCV::CV_MINU_SC_B:
14404 case RISCV::CV_MINU_SC_H:
14405 case RISCV::CV_MIN_B:
14406 case RISCV::CV_MIN_H:
14407 case RISCV::CV_MIN_SC_B:
14408 case RISCV::CV_MIN_SC_H:
14409 case RISCV::CV_OR_B:
14410 case RISCV::CV_OR_H:
14411 case RISCV::CV_OR_SC_B:
14412 case RISCV::CV_OR_SC_H:
14413 case RISCV::CV_PACK:
14414 case RISCV::CV_PACK_H:
14415 case RISCV::CV_ROR:
14416 case RISCV::CV_SHUFFLE_B:
14417 case RISCV::CV_SHUFFLE_H:
14418 case RISCV::CV_SLE:
14419 case RISCV::CV_SLEU:
14420 case RISCV::CV_SLL_B:
14421 case RISCV::CV_SLL_H:
14422 case RISCV::CV_SLL_SC_B:
14423 case RISCV::CV_SLL_SC_H:
14424 case RISCV::CV_SRA_B:
14425 case RISCV::CV_SRA_H:
14426 case RISCV::CV_SRA_SC_B:
14427 case RISCV::CV_SRA_SC_H:
14428 case RISCV::CV_SRL_B:
14429 case RISCV::CV_SRL_H:
14430 case RISCV::CV_SRL_SC_B:
14431 case RISCV::CV_SRL_SC_H:
14432 case RISCV::CV_SUBROTMJ:
14433 case RISCV::CV_SUBROTMJ_DIV2:
14434 case RISCV::CV_SUBROTMJ_DIV4:
14435 case RISCV::CV_SUBROTMJ_DIV8:
14436 case RISCV::CV_SUB_B:
14437 case RISCV::CV_SUB_DIV2:
14438 case RISCV::CV_SUB_DIV4:
14439 case RISCV::CV_SUB_DIV8:
14440 case RISCV::CV_SUB_H:
14441 case RISCV::CV_SUB_SC_B:
14442 case RISCV::CV_SUB_SC_H:
14443 case RISCV::CV_XOR_B:
14444 case RISCV::CV_XOR_H:
14445 case RISCV::CV_XOR_SC_B:
14446 case RISCV::CV_XOR_SC_H:
14447 case RISCV::CZERO_EQZ:
14448 case RISCV::CZERO_NEZ:
14449 case RISCV::DIV:
14450 case RISCV::DIVU:
14451 case RISCV::DIVUW:
14452 case RISCV::DIVW:
14453 case RISCV::FEQ_D:
14454 case RISCV::FEQ_D_IN32X:
14455 case RISCV::FEQ_D_INX:
14456 case RISCV::FEQ_H:
14457 case RISCV::FEQ_H_INX:
14458 case RISCV::FEQ_Q:
14459 case RISCV::FEQ_S:
14460 case RISCV::FEQ_S_INX:
14461 case RISCV::FLEQ_D:
14462 case RISCV::FLEQ_H:
14463 case RISCV::FLEQ_Q:
14464 case RISCV::FLEQ_S:
14465 case RISCV::FLE_D:
14466 case RISCV::FLE_D_IN32X:
14467 case RISCV::FLE_D_INX:
14468 case RISCV::FLE_H:
14469 case RISCV::FLE_H_INX:
14470 case RISCV::FLE_Q:
14471 case RISCV::FLE_S:
14472 case RISCV::FLE_S_INX:
14473 case RISCV::FLTQ_D:
14474 case RISCV::FLTQ_H:
14475 case RISCV::FLTQ_Q:
14476 case RISCV::FLTQ_S:
14477 case RISCV::FLT_D:
14478 case RISCV::FLT_D_IN32X:
14479 case RISCV::FLT_D_INX:
14480 case RISCV::FLT_H:
14481 case RISCV::FLT_H_INX:
14482 case RISCV::FLT_Q:
14483 case RISCV::FLT_S:
14484 case RISCV::FLT_S_INX:
14485 case RISCV::FMAXM_D:
14486 case RISCV::FMAXM_H:
14487 case RISCV::FMAXM_Q:
14488 case RISCV::FMAXM_S:
14489 case RISCV::FMAX_D:
14490 case RISCV::FMAX_D_IN32X:
14491 case RISCV::FMAX_D_INX:
14492 case RISCV::FMAX_H:
14493 case RISCV::FMAX_H_INX:
14494 case RISCV::FMAX_Q:
14495 case RISCV::FMAX_S:
14496 case RISCV::FMAX_S_INX:
14497 case RISCV::FMINM_D:
14498 case RISCV::FMINM_H:
14499 case RISCV::FMINM_Q:
14500 case RISCV::FMINM_S:
14501 case RISCV::FMIN_D:
14502 case RISCV::FMIN_D_IN32X:
14503 case RISCV::FMIN_D_INX:
14504 case RISCV::FMIN_H:
14505 case RISCV::FMIN_H_INX:
14506 case RISCV::FMIN_Q:
14507 case RISCV::FMIN_S:
14508 case RISCV::FMIN_S_INX:
14509 case RISCV::FMVP_D_X:
14510 case RISCV::FMVP_Q_X:
14511 case RISCV::FSGNJN_D:
14512 case RISCV::FSGNJN_D_IN32X:
14513 case RISCV::FSGNJN_D_INX:
14514 case RISCV::FSGNJN_H:
14515 case RISCV::FSGNJN_H_INX:
14516 case RISCV::FSGNJN_Q:
14517 case RISCV::FSGNJN_S:
14518 case RISCV::FSGNJN_S_INX:
14519 case RISCV::FSGNJX_D:
14520 case RISCV::FSGNJX_D_IN32X:
14521 case RISCV::FSGNJX_D_INX:
14522 case RISCV::FSGNJX_H:
14523 case RISCV::FSGNJX_H_INX:
14524 case RISCV::FSGNJX_Q:
14525 case RISCV::FSGNJX_S:
14526 case RISCV::FSGNJX_S_INX:
14527 case RISCV::FSGNJ_D:
14528 case RISCV::FSGNJ_D_IN32X:
14529 case RISCV::FSGNJ_D_INX:
14530 case RISCV::FSGNJ_H:
14531 case RISCV::FSGNJ_H_INX:
14532 case RISCV::FSGNJ_Q:
14533 case RISCV::FSGNJ_S:
14534 case RISCV::FSGNJ_S_INX:
14535 case RISCV::MAX:
14536 case RISCV::MAXU:
14537 case RISCV::MIN:
14538 case RISCV::MINU:
14539 case RISCV::MOP_RR_0:
14540 case RISCV::MOP_RR_1:
14541 case RISCV::MOP_RR_2:
14542 case RISCV::MOP_RR_3:
14543 case RISCV::MOP_RR_4:
14544 case RISCV::MOP_RR_5:
14545 case RISCV::MOP_RR_6:
14546 case RISCV::MOP_RR_7:
14547 case RISCV::MSEQ:
14548 case RISCV::MSLT:
14549 case RISCV::MSLTU:
14550 case RISCV::MUL:
14551 case RISCV::MULH:
14552 case RISCV::MULHR:
14553 case RISCV::MULHRSU:
14554 case RISCV::MULHRU:
14555 case RISCV::MULHSU:
14556 case RISCV::MULHSU_H0:
14557 case RISCV::MULHSU_H1:
14558 case RISCV::MULHU:
14559 case RISCV::MULH_H0:
14560 case RISCV::MULH_H1:
14561 case RISCV::MULQ:
14562 case RISCV::MULQR:
14563 case RISCV::MULSU_H00:
14564 case RISCV::MULSU_H11:
14565 case RISCV::MULSU_W00:
14566 case RISCV::MULSU_W11:
14567 case RISCV::MULU_H00:
14568 case RISCV::MULU_H01:
14569 case RISCV::MULU_H11:
14570 case RISCV::MULU_W00:
14571 case RISCV::MULU_W01:
14572 case RISCV::MULU_W11:
14573 case RISCV::MULW:
14574 case RISCV::MUL_H00:
14575 case RISCV::MUL_H01:
14576 case RISCV::MUL_H11:
14577 case RISCV::MUL_W00:
14578 case RISCV::MUL_W01:
14579 case RISCV::MUL_W11:
14580 case RISCV::NDS_FFB:
14581 case RISCV::NDS_FFMISM:
14582 case RISCV::NDS_FFZMISM:
14583 case RISCV::NDS_FLMISM:
14584 case RISCV::OR:
14585 case RISCV::ORN:
14586 case RISCV::PAADDU_B:
14587 case RISCV::PAADDU_H:
14588 case RISCV::PAADDU_W:
14589 case RISCV::PAADD_B:
14590 case RISCV::PAADD_H:
14591 case RISCV::PAADD_W:
14592 case RISCV::PAAS_HX:
14593 case RISCV::PAAS_WX:
14594 case RISCV::PABDSUMU_B:
14595 case RISCV::PABDU_B:
14596 case RISCV::PABDU_H:
14597 case RISCV::PABD_B:
14598 case RISCV::PABD_H:
14599 case RISCV::PACK:
14600 case RISCV::PACKH:
14601 case RISCV::PACKW:
14602 case RISCV::PACKY:
14603 case RISCV::PADD_B:
14604 case RISCV::PADD_BS:
14605 case RISCV::PADD_H:
14606 case RISCV::PADD_HS:
14607 case RISCV::PADD_W:
14608 case RISCV::PADD_WS:
14609 case RISCV::PASA_HX:
14610 case RISCV::PASA_WX:
14611 case RISCV::PASUBU_B:
14612 case RISCV::PASUBU_H:
14613 case RISCV::PASUBU_W:
14614 case RISCV::PASUB_B:
14615 case RISCV::PASUB_H:
14616 case RISCV::PASUB_W:
14617 case RISCV::PAS_HX:
14618 case RISCV::PAS_WX:
14619 case RISCV::PM2ADDSU_H:
14620 case RISCV::PM2ADDSU_W:
14621 case RISCV::PM2ADDU_H:
14622 case RISCV::PM2ADDU_W:
14623 case RISCV::PM2ADD_H:
14624 case RISCV::PM2ADD_HX:
14625 case RISCV::PM2ADD_W:
14626 case RISCV::PM2ADD_WX:
14627 case RISCV::PM2SADD_H:
14628 case RISCV::PM2SADD_HX:
14629 case RISCV::PM2SUB_H:
14630 case RISCV::PM2SUB_HX:
14631 case RISCV::PM2SUB_W:
14632 case RISCV::PM2SUB_WX:
14633 case RISCV::PM4ADDSU_B:
14634 case RISCV::PM4ADDSU_H:
14635 case RISCV::PM4ADDU_B:
14636 case RISCV::PM4ADDU_H:
14637 case RISCV::PM4ADD_B:
14638 case RISCV::PM4ADD_H:
14639 case RISCV::PMAXU_B:
14640 case RISCV::PMAXU_H:
14641 case RISCV::PMAXU_W:
14642 case RISCV::PMAX_B:
14643 case RISCV::PMAX_H:
14644 case RISCV::PMAX_W:
14645 case RISCV::PMINU_B:
14646 case RISCV::PMINU_H:
14647 case RISCV::PMINU_W:
14648 case RISCV::PMIN_B:
14649 case RISCV::PMIN_H:
14650 case RISCV::PMIN_W:
14651 case RISCV::PMQ2ADD_H:
14652 case RISCV::PMQ2ADD_W:
14653 case RISCV::PMQR2ADD_H:
14654 case RISCV::PMQR2ADD_W:
14655 case RISCV::PMSEQ_B:
14656 case RISCV::PMSEQ_H:
14657 case RISCV::PMSEQ_W:
14658 case RISCV::PMSLTU_B:
14659 case RISCV::PMSLTU_H:
14660 case RISCV::PMSLTU_W:
14661 case RISCV::PMSLT_B:
14662 case RISCV::PMSLT_H:
14663 case RISCV::PMSLT_W:
14664 case RISCV::PMULHRSU_H:
14665 case RISCV::PMULHRSU_W:
14666 case RISCV::PMULHRU_H:
14667 case RISCV::PMULHRU_W:
14668 case RISCV::PMULHR_H:
14669 case RISCV::PMULHR_W:
14670 case RISCV::PMULHSU_H:
14671 case RISCV::PMULHSU_H_B0:
14672 case RISCV::PMULHSU_H_B1:
14673 case RISCV::PMULHSU_W:
14674 case RISCV::PMULHSU_W_H0:
14675 case RISCV::PMULHSU_W_H1:
14676 case RISCV::PMULHU_H:
14677 case RISCV::PMULHU_W:
14678 case RISCV::PMULH_H:
14679 case RISCV::PMULH_H_B0:
14680 case RISCV::PMULH_H_B1:
14681 case RISCV::PMULH_W:
14682 case RISCV::PMULH_W_H0:
14683 case RISCV::PMULH_W_H1:
14684 case RISCV::PMULQR_H:
14685 case RISCV::PMULQR_W:
14686 case RISCV::PMULQ_H:
14687 case RISCV::PMULQ_W:
14688 case RISCV::PMULSU_H_B00:
14689 case RISCV::PMULSU_H_B11:
14690 case RISCV::PMULSU_W_H00:
14691 case RISCV::PMULSU_W_H11:
14692 case RISCV::PMULU_H_B00:
14693 case RISCV::PMULU_H_B01:
14694 case RISCV::PMULU_H_B11:
14695 case RISCV::PMULU_W_H00:
14696 case RISCV::PMULU_W_H01:
14697 case RISCV::PMULU_W_H11:
14698 case RISCV::PMUL_H_B00:
14699 case RISCV::PMUL_H_B01:
14700 case RISCV::PMUL_H_B11:
14701 case RISCV::PMUL_W_H00:
14702 case RISCV::PMUL_W_H01:
14703 case RISCV::PMUL_W_H11:
14704 case RISCV::PNCLIPP_B:
14705 case RISCV::PNCLIPP_H:
14706 case RISCV::PNCLIPP_W:
14707 case RISCV::PNCLIPUP_B:
14708 case RISCV::PNCLIPUP_H:
14709 case RISCV::PNCLIPUP_W:
14710 case RISCV::PPAIREO_B:
14711 case RISCV::PPAIREO_H:
14712 case RISCV::PPAIREO_W:
14713 case RISCV::PPAIRE_B:
14714 case RISCV::PPAIRE_H:
14715 case RISCV::PPAIROE_B:
14716 case RISCV::PPAIROE_H:
14717 case RISCV::PPAIROE_W:
14718 case RISCV::PPAIRO_B:
14719 case RISCV::PPAIRO_H:
14720 case RISCV::PPAIRO_W:
14721 case RISCV::PREDSUMU_BS:
14722 case RISCV::PREDSUMU_HS:
14723 case RISCV::PREDSUMU_WS:
14724 case RISCV::PREDSUM_BS:
14725 case RISCV::PREDSUM_HS:
14726 case RISCV::PREDSUM_WS:
14727 case RISCV::PSADDU_B:
14728 case RISCV::PSADDU_H:
14729 case RISCV::PSADDU_W:
14730 case RISCV::PSADD_B:
14731 case RISCV::PSADD_H:
14732 case RISCV::PSADD_W:
14733 case RISCV::PSAS_HX:
14734 case RISCV::PSAS_WX:
14735 case RISCV::PSA_HX:
14736 case RISCV::PSA_WX:
14737 case RISCV::PSH1ADD_H:
14738 case RISCV::PSH1ADD_W:
14739 case RISCV::PSLL_BS:
14740 case RISCV::PSLL_HS:
14741 case RISCV::PSLL_WS:
14742 case RISCV::PSRA_BS:
14743 case RISCV::PSRA_HS:
14744 case RISCV::PSRA_WS:
14745 case RISCV::PSRL_BS:
14746 case RISCV::PSRL_HS:
14747 case RISCV::PSRL_WS:
14748 case RISCV::PSSA_HX:
14749 case RISCV::PSSA_WX:
14750 case RISCV::PSSH1SADD_H:
14751 case RISCV::PSSH1SADD_W:
14752 case RISCV::PSSHAR_HS:
14753 case RISCV::PSSHAR_WS:
14754 case RISCV::PSSHA_HS:
14755 case RISCV::PSSHA_WS:
14756 case RISCV::PSSHLR_HS:
14757 case RISCV::PSSHLR_WS:
14758 case RISCV::PSSHL_HS:
14759 case RISCV::PSSHL_WS:
14760 case RISCV::PSSUBU_B:
14761 case RISCV::PSSUBU_H:
14762 case RISCV::PSSUBU_W:
14763 case RISCV::PSSUB_B:
14764 case RISCV::PSSUB_H:
14765 case RISCV::PSSUB_W:
14766 case RISCV::PSUB_B:
14767 case RISCV::PSUB_H:
14768 case RISCV::PSUB_W:
14769 case RISCV::QC_ADDSAT:
14770 case RISCV::QC_ADDUSAT:
14771 case RISCV::QC_CSRRWR:
14772 case RISCV::QC_CSRRWRI:
14773 case RISCV::QC_EXTDPR:
14774 case RISCV::QC_EXTDPRH:
14775 case RISCV::QC_EXTDR:
14776 case RISCV::QC_EXTDUPR:
14777 case RISCV::QC_EXTDUPRH:
14778 case RISCV::QC_EXTDUR:
14779 case RISCV::QC_SHLSAT:
14780 case RISCV::QC_SHLUSAT:
14781 case RISCV::QC_SUBSAT:
14782 case RISCV::QC_SUBUSAT:
14783 case RISCV::QC_WRAP:
14784 case RISCV::REM:
14785 case RISCV::REMU:
14786 case RISCV::REMUW:
14787 case RISCV::REMW:
14788 case RISCV::ROL:
14789 case RISCV::ROLW:
14790 case RISCV::ROR:
14791 case RISCV::RORW:
14792 case RISCV::SADD:
14793 case RISCV::SADDU:
14794 case RISCV::SH1ADD:
14795 case RISCV::SH1ADD_UW:
14796 case RISCV::SH2ADD:
14797 case RISCV::SH2ADD_UW:
14798 case RISCV::SH3ADD:
14799 case RISCV::SH3ADD_UW:
14800 case RISCV::SHA:
14801 case RISCV::SHA512SIG0H:
14802 case RISCV::SHA512SIG0L:
14803 case RISCV::SHA512SIG1H:
14804 case RISCV::SHA512SIG1L:
14805 case RISCV::SHA512SUM0R:
14806 case RISCV::SHA512SUM1R:
14807 case RISCV::SHAR:
14808 case RISCV::SHL:
14809 case RISCV::SHLR:
14810 case RISCV::SLL:
14811 case RISCV::SLLW:
14812 case RISCV::SLT:
14813 case RISCV::SLTU:
14814 case RISCV::SRA:
14815 case RISCV::SRAW:
14816 case RISCV::SRL:
14817 case RISCV::SRLW:
14818 case RISCV::SSH1SADD:
14819 case RISCV::SSHA:
14820 case RISCV::SSHAR:
14821 case RISCV::SSHL:
14822 case RISCV::SSHLR:
14823 case RISCV::SSUB:
14824 case RISCV::SSUBU:
14825 case RISCV::SUB:
14826 case RISCV::SUBW:
14827 case RISCV::UNZIP16HP:
14828 case RISCV::UNZIP16P:
14829 case RISCV::UNZIP8HP:
14830 case RISCV::UNZIP8P:
14831 case RISCV::VSETVL:
14832 case RISCV::VT_MASKC:
14833 case RISCV::VT_MASKCN:
14834 case RISCV::XNOR:
14835 case RISCV::XOR:
14836 case RISCV::XPERM4:
14837 case RISCV::XPERM8:
14838 case RISCV::YADD:
14839 case RISCV::YADDRW:
14840 case RISCV::YBLD:
14841 case RISCV::YBNDSRW:
14842 case RISCV::YBNDSW:
14843 case RISCV::YEQ:
14844 case RISCV::YPERMC:
14845 case RISCV::YSS:
14846 case RISCV::YSUNSEAL:
14847 case RISCV::ZIP16HP:
14848 case RISCV::ZIP16P:
14849 case RISCV::ZIP8HP:
14850 case RISCV::ZIP8P: {
14851 switch (OpNum) {
14852 case 2:
14853 // op: rs2
14854 return 20;
14855 case 1:
14856 // op: rs1
14857 return 15;
14858 case 0:
14859 // op: rd
14860 return 7;
14861 }
14862 break;
14863 }
14864 case RISCV::PM2WADDSU_H:
14865 case RISCV::PM2WADDU_H:
14866 case RISCV::PM2WADD_H:
14867 case RISCV::PM2WADD_HX:
14868 case RISCV::PM2WSUB_H:
14869 case RISCV::PM2WSUB_HX:
14870 case RISCV::PWADDU_B:
14871 case RISCV::PWADDU_H:
14872 case RISCV::PWADD_B:
14873 case RISCV::PWADD_H:
14874 case RISCV::PWMULSU_B:
14875 case RISCV::PWMULSU_H:
14876 case RISCV::PWMULU_B:
14877 case RISCV::PWMULU_H:
14878 case RISCV::PWMUL_B:
14879 case RISCV::PWMUL_H:
14880 case RISCV::PWSLA_BS:
14881 case RISCV::PWSLA_HS:
14882 case RISCV::PWSLL_BS:
14883 case RISCV::PWSLL_HS:
14884 case RISCV::PWSUBU_B:
14885 case RISCV::PWSUBU_H:
14886 case RISCV::PWSUB_B:
14887 case RISCV::PWSUB_H:
14888 case RISCV::WADD:
14889 case RISCV::WADDU:
14890 case RISCV::WMUL:
14891 case RISCV::WMULSU:
14892 case RISCV::WMULU:
14893 case RISCV::WSLA:
14894 case RISCV::WSLL:
14895 case RISCV::WSUB:
14896 case RISCV::WSUBU:
14897 case RISCV::WZIP16P:
14898 case RISCV::WZIP8P: {
14899 switch (OpNum) {
14900 case 2:
14901 // op: rs2
14902 return 20;
14903 case 1:
14904 // op: rs1
14905 return 15;
14906 case 0:
14907 // op: rd
14908 return 8;
14909 }
14910 break;
14911 }
14912 case RISCV::FADD_D:
14913 case RISCV::FADD_D_IN32X:
14914 case RISCV::FADD_D_INX:
14915 case RISCV::FADD_H:
14916 case RISCV::FADD_H_INX:
14917 case RISCV::FADD_Q:
14918 case RISCV::FADD_S:
14919 case RISCV::FADD_S_INX:
14920 case RISCV::FDIV_D:
14921 case RISCV::FDIV_D_IN32X:
14922 case RISCV::FDIV_D_INX:
14923 case RISCV::FDIV_H:
14924 case RISCV::FDIV_H_INX:
14925 case RISCV::FDIV_Q:
14926 case RISCV::FDIV_S:
14927 case RISCV::FDIV_S_INX:
14928 case RISCV::FMUL_D:
14929 case RISCV::FMUL_D_IN32X:
14930 case RISCV::FMUL_D_INX:
14931 case RISCV::FMUL_H:
14932 case RISCV::FMUL_H_INX:
14933 case RISCV::FMUL_Q:
14934 case RISCV::FMUL_S:
14935 case RISCV::FMUL_S_INX:
14936 case RISCV::FSUB_D:
14937 case RISCV::FSUB_D_IN32X:
14938 case RISCV::FSUB_D_INX:
14939 case RISCV::FSUB_H:
14940 case RISCV::FSUB_H_INX:
14941 case RISCV::FSUB_Q:
14942 case RISCV::FSUB_S:
14943 case RISCV::FSUB_S_INX: {
14944 switch (OpNum) {
14945 case 2:
14946 // op: rs2
14947 return 20;
14948 case 1:
14949 // op: rs1
14950 return 15;
14951 case 3:
14952 // op: frm
14953 return 12;
14954 case 0:
14955 // op: rd
14956 return 7;
14957 }
14958 break;
14959 }
14960 case RISCV::AMOCAS_B:
14961 case RISCV::AMOCAS_B_AQ:
14962 case RISCV::AMOCAS_B_AQRL:
14963 case RISCV::AMOCAS_B_RL:
14964 case RISCV::AMOCAS_D_RV32:
14965 case RISCV::AMOCAS_D_RV32_AQ:
14966 case RISCV::AMOCAS_D_RV32_AQRL:
14967 case RISCV::AMOCAS_D_RV32_RL:
14968 case RISCV::AMOCAS_D_RV64:
14969 case RISCV::AMOCAS_D_RV64_AQ:
14970 case RISCV::AMOCAS_D_RV64_AQRL:
14971 case RISCV::AMOCAS_D_RV64_RL:
14972 case RISCV::AMOCAS_H:
14973 case RISCV::AMOCAS_H_AQ:
14974 case RISCV::AMOCAS_H_AQRL:
14975 case RISCV::AMOCAS_H_RL:
14976 case RISCV::AMOCAS_Q:
14977 case RISCV::AMOCAS_Q_AQ:
14978 case RISCV::AMOCAS_Q_AQRL:
14979 case RISCV::AMOCAS_Q_RL:
14980 case RISCV::AMOCAS_W:
14981 case RISCV::AMOCAS_W_AQ:
14982 case RISCV::AMOCAS_W_AQRL:
14983 case RISCV::AMOCAS_W_RL: {
14984 switch (OpNum) {
14985 case 2:
14986 // op: rs2
14987 return 20;
14988 case 3:
14989 // op: rs1
14990 return 15;
14991 case 1:
14992 // op: rd
14993 return 7;
14994 }
14995 break;
14996 }
14997 case RISCV::C_ADDW:
14998 case RISCV::C_AND:
14999 case RISCV::C_MUL:
15000 case RISCV::C_OR:
15001 case RISCV::C_SUB:
15002 case RISCV::C_SUBW:
15003 case RISCV::C_XOR: {
15004 switch (OpNum) {
15005 case 2:
15006 // op: rs2
15007 return 2;
15008 case 1:
15009 // op: rd
15010 return 7;
15011 }
15012 break;
15013 }
15014 case RISCV::SF_VC_V_I:
15015 case RISCV::SF_VC_V_IV: {
15016 switch (OpNum) {
15017 case 2:
15018 // op: vs2
15019 return 20;
15020 case 0:
15021 // op: vd
15022 return 7;
15023 case 3:
15024 // op: imm
15025 return 15;
15026 case 1:
15027 // op: funct6_lo2
15028 return 26;
15029 }
15030 break;
15031 }
15032 case RISCV::SF_VC_V_FV: {
15033 switch (OpNum) {
15034 case 2:
15035 // op: vs2
15036 return 20;
15037 case 0:
15038 // op: vd
15039 return 7;
15040 case 3:
15041 // op: rs1
15042 return 15;
15043 case 1:
15044 // op: funct6_lo1
15045 return 26;
15046 }
15047 break;
15048 }
15049 case RISCV::SF_VC_V_X:
15050 case RISCV::SF_VC_V_XV: {
15051 switch (OpNum) {
15052 case 2:
15053 // op: vs2
15054 return 20;
15055 case 0:
15056 // op: vd
15057 return 7;
15058 case 3:
15059 // op: rs1
15060 return 15;
15061 case 1:
15062 // op: funct6_lo2
15063 return 26;
15064 }
15065 break;
15066 }
15067 case RISCV::SF_VC_V_VV: {
15068 switch (OpNum) {
15069 case 2:
15070 // op: vs2
15071 return 20;
15072 case 0:
15073 // op: vd
15074 return 7;
15075 case 3:
15076 // op: vs1
15077 return 15;
15078 case 1:
15079 // op: funct6_lo2
15080 return 26;
15081 }
15082 break;
15083 }
15084 case RISCV::SF_VC_IV:
15085 case RISCV::SF_VC_IVV:
15086 case RISCV::SF_VC_IVW: {
15087 switch (OpNum) {
15088 case 2:
15089 // op: vs2
15090 return 20;
15091 case 1:
15092 // op: vd
15093 return 7;
15094 case 3:
15095 // op: imm
15096 return 15;
15097 case 0:
15098 // op: funct6_lo2
15099 return 26;
15100 }
15101 break;
15102 }
15103 case RISCV::SF_VC_FV:
15104 case RISCV::SF_VC_FVV:
15105 case RISCV::SF_VC_FVW: {
15106 switch (OpNum) {
15107 case 2:
15108 // op: vs2
15109 return 20;
15110 case 1:
15111 // op: vd
15112 return 7;
15113 case 3:
15114 // op: rs1
15115 return 15;
15116 case 0:
15117 // op: funct6_lo1
15118 return 26;
15119 }
15120 break;
15121 }
15122 case RISCV::SF_VC_XV:
15123 case RISCV::SF_VC_XVV:
15124 case RISCV::SF_VC_XVW: {
15125 switch (OpNum) {
15126 case 2:
15127 // op: vs2
15128 return 20;
15129 case 1:
15130 // op: vd
15131 return 7;
15132 case 3:
15133 // op: rs1
15134 return 15;
15135 case 0:
15136 // op: funct6_lo2
15137 return 26;
15138 }
15139 break;
15140 }
15141 case RISCV::SF_VC_VV:
15142 case RISCV::SF_VC_VVV:
15143 case RISCV::SF_VC_VVW: {
15144 switch (OpNum) {
15145 case 2:
15146 // op: vs2
15147 return 20;
15148 case 1:
15149 // op: vd
15150 return 7;
15151 case 3:
15152 // op: vs1
15153 return 15;
15154 case 0:
15155 // op: funct6_lo2
15156 return 26;
15157 }
15158 break;
15159 }
15160 case RISCV::NDS_VD4DOTSU_VV:
15161 case RISCV::NDS_VD4DOTS_VV:
15162 case RISCV::NDS_VD4DOTU_VV: {
15163 switch (OpNum) {
15164 case 2:
15165 // op: vs2
15166 return 20;
15167 case 1:
15168 // op: vs1
15169 return 15;
15170 case 0:
15171 // op: vd
15172 return 7;
15173 case 3:
15174 // op: vm
15175 return 25;
15176 }
15177 break;
15178 }
15179 case RISCV::AIF_MASKPOPC_ET_RAST: {
15180 switch (OpNum) {
15181 case 3:
15182 // op: imm
15183 return 18;
15184 case 2:
15185 // op: rs2
15186 return 20;
15187 case 1:
15188 // op: rs1
15189 return 15;
15190 case 0:
15191 // op: rd
15192 return 7;
15193 }
15194 break;
15195 }
15196 case RISCV::CV_SB_ri_inc:
15197 case RISCV::CV_SH_ri_inc:
15198 case RISCV::CV_SW_ri_inc: {
15199 switch (OpNum) {
15200 case 3:
15201 // op: imm12
15202 return 7;
15203 case 1:
15204 // op: rs2
15205 return 20;
15206 case 2:
15207 // op: rs1
15208 return 15;
15209 }
15210 break;
15211 }
15212 case RISCV::MIPS_SDP: {
15213 switch (OpNum) {
15214 case 3:
15215 // op: imm7
15216 return 10;
15217 case 1:
15218 // op: rs3
15219 return 27;
15220 case 0:
15221 // op: rs2
15222 return 20;
15223 case 2:
15224 // op: rs1
15225 return 15;
15226 }
15227 break;
15228 }
15229 case RISCV::MIPS_LWP: {
15230 switch (OpNum) {
15231 case 3:
15232 // op: imm7
15233 return 22;
15234 case 2:
15235 // op: rs1
15236 return 15;
15237 case 0:
15238 // op: rd1
15239 return 7;
15240 case 1:
15241 // op: rd2
15242 return 27;
15243 }
15244 break;
15245 }
15246 case RISCV::MIPS_LDP: {
15247 switch (OpNum) {
15248 case 3:
15249 // op: imm7
15250 return 23;
15251 case 2:
15252 // op: rs1
15253 return 15;
15254 case 0:
15255 // op: rd1
15256 return 7;
15257 case 1:
15258 // op: rd2
15259 return 27;
15260 }
15261 break;
15262 }
15263 case RISCV::MIPS_SWP: {
15264 switch (OpNum) {
15265 case 3:
15266 // op: imm7
15267 return 9;
15268 case 1:
15269 // op: rs3
15270 return 27;
15271 case 0:
15272 // op: rs2
15273 return 20;
15274 case 2:
15275 // op: rs1
15276 return 15;
15277 }
15278 break;
15279 }
15280 case RISCV::QC_SELECTIEQI:
15281 case RISCV::QC_SELECTINEI: {
15282 switch (OpNum) {
15283 case 3:
15284 // op: rs2
15285 return 20;
15286 case 1:
15287 // op: rd
15288 return 7;
15289 case 2:
15290 // op: imm
15291 return 15;
15292 case 4:
15293 // op: simm2
15294 return 27;
15295 }
15296 break;
15297 }
15298 case RISCV::CV_LBU_rr_inc:
15299 case RISCV::CV_LB_rr_inc:
15300 case RISCV::CV_LHU_rr_inc:
15301 case RISCV::CV_LH_rr_inc:
15302 case RISCV::CV_LW_rr_inc: {
15303 switch (OpNum) {
15304 case 3:
15305 // op: rs2
15306 return 20;
15307 case 2:
15308 // op: rs1
15309 return 15;
15310 case 0:
15311 // op: rd
15312 return 7;
15313 }
15314 break;
15315 }
15316 case RISCV::CV_MACHHSN:
15317 case RISCV::CV_MACHHSRN:
15318 case RISCV::CV_MACHHUN:
15319 case RISCV::CV_MACHHURN:
15320 case RISCV::CV_MACSN:
15321 case RISCV::CV_MACSRN:
15322 case RISCV::CV_MACUN:
15323 case RISCV::CV_MACURN: {
15324 switch (OpNum) {
15325 case 3:
15326 // op: rs2
15327 return 20;
15328 case 2:
15329 // op: rs1
15330 return 15;
15331 case 1:
15332 // op: rd
15333 return 7;
15334 case 4:
15335 // op: imm5
15336 return 25;
15337 }
15338 break;
15339 }
15340 case RISCV::QC_LIEQ:
15341 case RISCV::QC_LIEQI:
15342 case RISCV::QC_LIGE:
15343 case RISCV::QC_LIGEI:
15344 case RISCV::QC_LIGEU:
15345 case RISCV::QC_LIGEUI:
15346 case RISCV::QC_LILT:
15347 case RISCV::QC_LILTI:
15348 case RISCV::QC_LILTU:
15349 case RISCV::QC_LILTUI:
15350 case RISCV::QC_LINE:
15351 case RISCV::QC_LINEI: {
15352 switch (OpNum) {
15353 case 3:
15354 // op: rs2
15355 return 20;
15356 case 2:
15357 // op: rs1
15358 return 15;
15359 case 1:
15360 // op: rd
15361 return 7;
15362 case 4:
15363 // op: simm
15364 return 27;
15365 }
15366 break;
15367 }
15368 case RISCV::QC_SELECTIEQ:
15369 case RISCV::QC_SELECTINE: {
15370 switch (OpNum) {
15371 case 3:
15372 // op: rs2
15373 return 20;
15374 case 2:
15375 // op: rs1
15376 return 15;
15377 case 1:
15378 // op: rd
15379 return 7;
15380 case 4:
15381 // op: simm2
15382 return 27;
15383 }
15384 break;
15385 }
15386 case RISCV::CV_ADDNR:
15387 case RISCV::CV_ADDRNR:
15388 case RISCV::CV_ADDUNR:
15389 case RISCV::CV_ADDURNR:
15390 case RISCV::CV_CPLXMUL_I:
15391 case RISCV::CV_CPLXMUL_I_DIV2:
15392 case RISCV::CV_CPLXMUL_I_DIV4:
15393 case RISCV::CV_CPLXMUL_I_DIV8:
15394 case RISCV::CV_CPLXMUL_R:
15395 case RISCV::CV_CPLXMUL_R_DIV2:
15396 case RISCV::CV_CPLXMUL_R_DIV4:
15397 case RISCV::CV_CPLXMUL_R_DIV8:
15398 case RISCV::CV_INSERTR:
15399 case RISCV::CV_MAC:
15400 case RISCV::CV_MSU:
15401 case RISCV::CV_PACKHI_B:
15402 case RISCV::CV_PACKLO_B:
15403 case RISCV::CV_SDOTSP_B:
15404 case RISCV::CV_SDOTSP_H:
15405 case RISCV::CV_SDOTSP_SC_B:
15406 case RISCV::CV_SDOTSP_SC_H:
15407 case RISCV::CV_SDOTUP_B:
15408 case RISCV::CV_SDOTUP_H:
15409 case RISCV::CV_SDOTUP_SC_B:
15410 case RISCV::CV_SDOTUP_SC_H:
15411 case RISCV::CV_SDOTUSP_B:
15412 case RISCV::CV_SDOTUSP_H:
15413 case RISCV::CV_SDOTUSP_SC_B:
15414 case RISCV::CV_SDOTUSP_SC_H:
15415 case RISCV::CV_SHUFFLE2_B:
15416 case RISCV::CV_SHUFFLE2_H:
15417 case RISCV::CV_SUBNR:
15418 case RISCV::CV_SUBRNR:
15419 case RISCV::CV_SUBUNR:
15420 case RISCV::CV_SUBURNR:
15421 case RISCV::MACCSU_H00:
15422 case RISCV::MACCSU_H11:
15423 case RISCV::MACCSU_W00:
15424 case RISCV::MACCSU_W11:
15425 case RISCV::MACCU_H00:
15426 case RISCV::MACCU_H01:
15427 case RISCV::MACCU_H11:
15428 case RISCV::MACCU_W00:
15429 case RISCV::MACCU_W01:
15430 case RISCV::MACCU_W11:
15431 case RISCV::MACC_H00:
15432 case RISCV::MACC_H01:
15433 case RISCV::MACC_H11:
15434 case RISCV::MACC_W00:
15435 case RISCV::MACC_W01:
15436 case RISCV::MACC_W11:
15437 case RISCV::MERGE:
15438 case RISCV::MHACC:
15439 case RISCV::MHACCSU:
15440 case RISCV::MHACCSU_H0:
15441 case RISCV::MHACCSU_H1:
15442 case RISCV::MHACCU:
15443 case RISCV::MHACC_H0:
15444 case RISCV::MHACC_H1:
15445 case RISCV::MHRACC:
15446 case RISCV::MHRACCSU:
15447 case RISCV::MHRACCU:
15448 case RISCV::MQACC_H00:
15449 case RISCV::MQACC_H01:
15450 case RISCV::MQACC_H11:
15451 case RISCV::MQACC_W00:
15452 case RISCV::MQACC_W01:
15453 case RISCV::MQACC_W11:
15454 case RISCV::MQRACC_H00:
15455 case RISCV::MQRACC_H01:
15456 case RISCV::MQRACC_H11:
15457 case RISCV::MQRACC_W00:
15458 case RISCV::MQRACC_W01:
15459 case RISCV::MQRACC_W11:
15460 case RISCV::MVM:
15461 case RISCV::MVMN:
15462 case RISCV::PABDSUMAU_B:
15463 case RISCV::PM2ADDASU_H:
15464 case RISCV::PM2ADDASU_W:
15465 case RISCV::PM2ADDAU_H:
15466 case RISCV::PM2ADDAU_W:
15467 case RISCV::PM2ADDA_H:
15468 case RISCV::PM2ADDA_HX:
15469 case RISCV::PM2ADDA_W:
15470 case RISCV::PM2ADDA_WX:
15471 case RISCV::PM2SUBA_H:
15472 case RISCV::PM2SUBA_HX:
15473 case RISCV::PM2SUBA_W:
15474 case RISCV::PM2SUBA_WX:
15475 case RISCV::PM4ADDASU_B:
15476 case RISCV::PM4ADDASU_H:
15477 case RISCV::PM4ADDAU_B:
15478 case RISCV::PM4ADDAU_H:
15479 case RISCV::PM4ADDA_B:
15480 case RISCV::PM4ADDA_H:
15481 case RISCV::PMACCSU_W_H00:
15482 case RISCV::PMACCSU_W_H11:
15483 case RISCV::PMACCU_W_H00:
15484 case RISCV::PMACCU_W_H01:
15485 case RISCV::PMACCU_W_H11:
15486 case RISCV::PMACC_W_H00:
15487 case RISCV::PMACC_W_H01:
15488 case RISCV::PMACC_W_H11:
15489 case RISCV::PMHACCSU_H:
15490 case RISCV::PMHACCSU_H_B0:
15491 case RISCV::PMHACCSU_H_B1:
15492 case RISCV::PMHACCSU_W:
15493 case RISCV::PMHACCSU_W_H0:
15494 case RISCV::PMHACCSU_W_H1:
15495 case RISCV::PMHACCU_H:
15496 case RISCV::PMHACCU_W:
15497 case RISCV::PMHACC_H:
15498 case RISCV::PMHACC_H_B0:
15499 case RISCV::PMHACC_H_B1:
15500 case RISCV::PMHACC_W:
15501 case RISCV::PMHACC_W_H0:
15502 case RISCV::PMHACC_W_H1:
15503 case RISCV::PMHRACCSU_H:
15504 case RISCV::PMHRACCSU_W:
15505 case RISCV::PMHRACCU_H:
15506 case RISCV::PMHRACCU_W:
15507 case RISCV::PMHRACC_H:
15508 case RISCV::PMHRACC_W:
15509 case RISCV::PMQ2ADDA_H:
15510 case RISCV::PMQ2ADDA_W:
15511 case RISCV::PMQACC_W_H00:
15512 case RISCV::PMQACC_W_H01:
15513 case RISCV::PMQACC_W_H11:
15514 case RISCV::PMQR2ADDA_H:
15515 case RISCV::PMQR2ADDA_W:
15516 case RISCV::PMQRACC_W_H00:
15517 case RISCV::PMQRACC_W_H01:
15518 case RISCV::PMQRACC_W_H11:
15519 case RISCV::QC_INSBHR:
15520 case RISCV::QC_INSBPR:
15521 case RISCV::QC_INSBPRH:
15522 case RISCV::QC_INSBR:
15523 case RISCV::SLX:
15524 case RISCV::SRX:
15525 case RISCV::TH_MULA:
15526 case RISCV::TH_MULAH:
15527 case RISCV::TH_MULAW:
15528 case RISCV::TH_MULS:
15529 case RISCV::TH_MULSH:
15530 case RISCV::TH_MULSW:
15531 case RISCV::TH_MVEQZ:
15532 case RISCV::TH_MVNEZ: {
15533 switch (OpNum) {
15534 case 3:
15535 // op: rs2
15536 return 20;
15537 case 2:
15538 // op: rs1
15539 return 15;
15540 case 1:
15541 // op: rd
15542 return 7;
15543 }
15544 break;
15545 }
15546 case RISCV::MQRWACC:
15547 case RISCV::MQWACC:
15548 case RISCV::PM2WADDASU_H:
15549 case RISCV::PM2WADDAU_H:
15550 case RISCV::PM2WADDA_H:
15551 case RISCV::PM2WADDA_HX:
15552 case RISCV::PM2WSUBA_H:
15553 case RISCV::PM2WSUBA_HX:
15554 case RISCV::PMQRWACC_H:
15555 case RISCV::PMQWACC_H:
15556 case RISCV::PWADDAU_B:
15557 case RISCV::PWADDAU_H:
15558 case RISCV::PWADDA_B:
15559 case RISCV::PWADDA_H:
15560 case RISCV::PWMACCSU_H:
15561 case RISCV::PWMACCU_H:
15562 case RISCV::PWMACC_H:
15563 case RISCV::PWSUBAU_B:
15564 case RISCV::PWSUBAU_H:
15565 case RISCV::PWSUBA_B:
15566 case RISCV::PWSUBA_H:
15567 case RISCV::WADDA:
15568 case RISCV::WADDAU:
15569 case RISCV::WMACC:
15570 case RISCV::WMACCSU:
15571 case RISCV::WMACCU:
15572 case RISCV::WSUBA:
15573 case RISCV::WSUBAU: {
15574 switch (OpNum) {
15575 case 3:
15576 // op: rs2
15577 return 20;
15578 case 2:
15579 // op: rs1
15580 return 15;
15581 case 1:
15582 // op: rd
15583 return 8;
15584 }
15585 break;
15586 }
15587 case RISCV::MIPS_CCMOV: {
15588 switch (OpNum) {
15589 case 3:
15590 // op: rs3
15591 return 27;
15592 case 2:
15593 // op: rs2
15594 return 20;
15595 case 1:
15596 // op: rs1
15597 return 15;
15598 case 0:
15599 // op: rd
15600 return 7;
15601 }
15602 break;
15603 }
15604 case RISCV::FMADD_D:
15605 case RISCV::FMADD_D_IN32X:
15606 case RISCV::FMADD_D_INX:
15607 case RISCV::FMADD_H:
15608 case RISCV::FMADD_H_INX:
15609 case RISCV::FMADD_Q:
15610 case RISCV::FMADD_S:
15611 case RISCV::FMADD_S_INX:
15612 case RISCV::FMSUB_D:
15613 case RISCV::FMSUB_D_IN32X:
15614 case RISCV::FMSUB_D_INX:
15615 case RISCV::FMSUB_H:
15616 case RISCV::FMSUB_H_INX:
15617 case RISCV::FMSUB_Q:
15618 case RISCV::FMSUB_S:
15619 case RISCV::FMSUB_S_INX:
15620 case RISCV::FNMADD_D:
15621 case RISCV::FNMADD_D_IN32X:
15622 case RISCV::FNMADD_D_INX:
15623 case RISCV::FNMADD_H:
15624 case RISCV::FNMADD_H_INX:
15625 case RISCV::FNMADD_Q:
15626 case RISCV::FNMADD_S:
15627 case RISCV::FNMADD_S_INX:
15628 case RISCV::FNMSUB_D:
15629 case RISCV::FNMSUB_D_IN32X:
15630 case RISCV::FNMSUB_D_INX:
15631 case RISCV::FNMSUB_H:
15632 case RISCV::FNMSUB_H_INX:
15633 case RISCV::FNMSUB_Q:
15634 case RISCV::FNMSUB_S:
15635 case RISCV::FNMSUB_S_INX: {
15636 switch (OpNum) {
15637 case 3:
15638 // op: rs3
15639 return 27;
15640 case 2:
15641 // op: rs2
15642 return 20;
15643 case 1:
15644 // op: rs1
15645 return 15;
15646 case 4:
15647 // op: frm
15648 return 12;
15649 case 0:
15650 // op: rd
15651 return 7;
15652 }
15653 break;
15654 }
15655 case RISCV::CV_SB_rr_inc:
15656 case RISCV::CV_SH_rr_inc:
15657 case RISCV::CV_SW_rr_inc: {
15658 switch (OpNum) {
15659 case 3:
15660 // op: rs3
15661 return 7;
15662 case 1:
15663 // op: rs2
15664 return 20;
15665 case 2:
15666 // op: rs1
15667 return 15;
15668 }
15669 break;
15670 }
15671 case RISCV::SF_VC_V_IVV:
15672 case RISCV::SF_VC_V_IVW: {
15673 switch (OpNum) {
15674 case 3:
15675 // op: vs2
15676 return 20;
15677 case 2:
15678 // op: vd
15679 return 7;
15680 case 4:
15681 // op: imm
15682 return 15;
15683 case 1:
15684 // op: funct6_lo2
15685 return 26;
15686 }
15687 break;
15688 }
15689 case RISCV::SF_VC_V_FVV:
15690 case RISCV::SF_VC_V_FVW: {
15691 switch (OpNum) {
15692 case 3:
15693 // op: vs2
15694 return 20;
15695 case 2:
15696 // op: vd
15697 return 7;
15698 case 4:
15699 // op: rs1
15700 return 15;
15701 case 1:
15702 // op: funct6_lo1
15703 return 26;
15704 }
15705 break;
15706 }
15707 case RISCV::SF_VC_V_XVV:
15708 case RISCV::SF_VC_V_XVW: {
15709 switch (OpNum) {
15710 case 3:
15711 // op: vs2
15712 return 20;
15713 case 2:
15714 // op: vd
15715 return 7;
15716 case 4:
15717 // op: rs1
15718 return 15;
15719 case 1:
15720 // op: funct6_lo2
15721 return 26;
15722 }
15723 break;
15724 }
15725 case RISCV::SF_VC_V_VVV:
15726 case RISCV::SF_VC_V_VVW: {
15727 switch (OpNum) {
15728 case 3:
15729 // op: vs2
15730 return 20;
15731 case 2:
15732 // op: vd
15733 return 7;
15734 case 4:
15735 // op: vs1
15736 return 15;
15737 case 1:
15738 // op: funct6_lo2
15739 return 26;
15740 }
15741 break;
15742 }
15743 case RISCV::QC_MVEQI:
15744 case RISCV::QC_MVGEI:
15745 case RISCV::QC_MVGEUI:
15746 case RISCV::QC_MVLTI:
15747 case RISCV::QC_MVLTUI:
15748 case RISCV::QC_MVNEI: {
15749 switch (OpNum) {
15750 case 4:
15751 // op: rs3
15752 return 27;
15753 case 2:
15754 // op: rs1
15755 return 15;
15756 case 1:
15757 // op: rd
15758 return 7;
15759 case 3:
15760 // op: imm
15761 return 20;
15762 }
15763 break;
15764 }
15765 case RISCV::QC_SELECTEQI:
15766 case RISCV::QC_SELECTNEI: {
15767 switch (OpNum) {
15768 case 4:
15769 // op: rs3
15770 return 27;
15771 case 3:
15772 // op: rs2
15773 return 20;
15774 case 1:
15775 // op: rd
15776 return 7;
15777 case 2:
15778 // op: imm
15779 return 15;
15780 }
15781 break;
15782 }
15783 case RISCV::QC_MVEQ:
15784 case RISCV::QC_MVGE:
15785 case RISCV::QC_MVGEU:
15786 case RISCV::QC_MVLT:
15787 case RISCV::QC_MVLTU:
15788 case RISCV::QC_MVNE: {
15789 switch (OpNum) {
15790 case 4:
15791 // op: rs3
15792 return 27;
15793 case 3:
15794 // op: rs2
15795 return 20;
15796 case 2:
15797 // op: rs1
15798 return 15;
15799 case 1:
15800 // op: rd
15801 return 7;
15802 }
15803 break;
15804 }
15805 default:
15806 reportUnsupportedInst(MI);
15807 }
15808 reportUnsupportedOperand(MI, OpNum);
15809}
15810
15811#endif // GET_OPERAND_BIT_OFFSET
15812
15813