1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Machine Code Emitter *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9uint64_t AArch64MCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
10 SmallVectorImpl<MCFixup> &Fixups,
11 const MCSubtargetInfo &STI) const {
12 static const uint64_t InstBits[] = {
13 UINT64_C(1522540544), // ABSWr
14 UINT64_C(3670024192), // ABSXr
15 UINT64_C(68591616), // ABS_ZPmZ_B
16 UINT64_C(81174528), // ABS_ZPmZ_D
17 UINT64_C(72785920), // ABS_ZPmZ_H
18 UINT64_C(76980224), // ABS_ZPmZ_S
19 UINT64_C(67543040), // ABS_ZPzZ_B
20 UINT64_C(80125952), // ABS_ZPzZ_D
21 UINT64_C(71737344), // ABS_ZPzZ_H
22 UINT64_C(75931648), // ABS_ZPzZ_S
23 UINT64_C(1310767104), // ABSv16i8
24 UINT64_C(1591785472), // ABSv1i64
25 UINT64_C(245413888), // ABSv2i32
26 UINT64_C(1323350016), // ABSv2i64
27 UINT64_C(241219584), // ABSv4i16
28 UINT64_C(1319155712), // ABSv4i32
29 UINT64_C(1314961408), // ABSv8i16
30 UINT64_C(237025280), // ABSv8i8
31 UINT64_C(1161875456), // ADCLB_ZZZ_D
32 UINT64_C(1157681152), // ADCLB_ZZZ_S
33 UINT64_C(1161876480), // ADCLT_ZZZ_D
34 UINT64_C(1157682176), // ADCLT_ZZZ_S
35 UINT64_C(973078528), // ADCSWr
36 UINT64_C(3120562176), // ADCSXr
37 UINT64_C(436207616), // ADCWr
38 UINT64_C(2583691264), // ADCXr
39 UINT64_C(2441084928), // ADDG
40 UINT64_C(3234856960), // ADDHA_MPPZ_D
41 UINT64_C(3230662656), // ADDHA_MPPZ_S
42 UINT64_C(1163943936), // ADDHNB_ZZZ_B
43 UINT64_C(1168138240), // ADDHNB_ZZZ_H
44 UINT64_C(1172332544), // ADDHNB_ZZZ_S
45 UINT64_C(1163944960), // ADDHNT_ZZZ_B
46 UINT64_C(1168139264), // ADDHNT_ZZZ_H
47 UINT64_C(1172333568), // ADDHNT_ZZZ_S
48 UINT64_C(245383168), // ADDHNv2i64_v2i32
49 UINT64_C(1319124992), // ADDHNv2i64_v4i32
50 UINT64_C(241188864), // ADDHNv4i32_v4i16
51 UINT64_C(1314930688), // ADDHNv4i32_v8i16
52 UINT64_C(1310736384), // ADDHNv8i16_v16i8
53 UINT64_C(236994560), // ADDHNv8i16_v8i8
54 UINT64_C(73420800), // ADDPL_XXI
55 UINT64_C(2583699456), // ADDPT_shift
56 UINT64_C(1142005760), // ADDP_ZPmZ_B
57 UINT64_C(1154588672), // ADDP_ZPmZ_D
58 UINT64_C(1146200064), // ADDP_ZPmZ_H
59 UINT64_C(1150394368), // ADDP_ZPmZ_S
60 UINT64_C(1310768128), // ADDPv16i8
61 UINT64_C(245414912), // ADDPv2i32
62 UINT64_C(1323351040), // ADDPv2i64
63 UINT64_C(1592899584), // ADDPv2i64p
64 UINT64_C(241220608), // ADDPv4i16
65 UINT64_C(1319156736), // ADDPv4i32
66 UINT64_C(1314962432), // ADDPv8i16
67 UINT64_C(237026304), // ADDPv8i8
68 UINT64_C(69236736), // ADDQP_ZZZ_B
69 UINT64_C(81819648), // ADDQP_ZZZ_D
70 UINT64_C(73431040), // ADDQP_ZZZ_H
71 UINT64_C(77625344), // ADDQP_ZZZ_S
72 UINT64_C(67444736), // ADDQV_VPZ_B
73 UINT64_C(80027648), // ADDQV_VPZ_D
74 UINT64_C(71639040), // ADDQV_VPZ_H
75 UINT64_C(75833344), // ADDQV_VPZ_S
76 UINT64_C(73422848), // ADDSPL_XXI
77 UINT64_C(69237760), // ADDSUBP_ZZZ_B
78 UINT64_C(81820672), // ADDSUBP_ZZZ_D
79 UINT64_C(73432064), // ADDSUBP_ZZZ_H
80 UINT64_C(77626368), // ADDSUBP_ZZZ_S
81 UINT64_C(69228544), // ADDSVL_XXI
82 UINT64_C(822083584), // ADDSWri
83 UINT64_C(721420288), // ADDSWrs
84 UINT64_C(723517440), // ADDSWrx
85 UINT64_C(2969567232), // ADDSXri
86 UINT64_C(2868903936), // ADDSXrs
87 UINT64_C(2871001088), // ADDSXrx
88 UINT64_C(2871025664), // ADDSXrx64
89 UINT64_C(3234922496), // ADDVA_MPPZ_D
90 UINT64_C(3230728192), // ADDVA_MPPZ_S
91 UINT64_C(69226496), // ADDVL_XXI
92 UINT64_C(1311881216), // ADDVv16i8v
93 UINT64_C(242333696), // ADDVv4i16v
94 UINT64_C(1320269824), // ADDVv4i32v
95 UINT64_C(1316075520), // ADDVv8i16v
96 UINT64_C(238139392), // ADDVv8i8v
97 UINT64_C(285212672), // ADDWri
98 UINT64_C(184549376), // ADDWrs
99 UINT64_C(186646528), // ADDWrx
100 UINT64_C(2432696320), // ADDXri
101 UINT64_C(2332033024), // ADDXrs
102 UINT64_C(2334130176), // ADDXrx
103 UINT64_C(2334154752), // ADDXrx64
104 UINT64_C(3240141568), // ADD_VG2_2ZZ_B
105 UINT64_C(3252724480), // ADD_VG2_2ZZ_D
106 UINT64_C(3244335872), // ADD_VG2_2ZZ_H
107 UINT64_C(3248530176), // ADD_VG2_2ZZ_S
108 UINT64_C(3252688912), // ADD_VG2_M2Z2Z_D
109 UINT64_C(3248494608), // ADD_VG2_M2Z2Z_S
110 UINT64_C(3244300304), // ADD_VG2_M2ZZ_D
111 UINT64_C(3240106000), // ADD_VG2_M2ZZ_S
112 UINT64_C(3252689936), // ADD_VG2_M2Z_D
113 UINT64_C(3248495632), // ADD_VG2_M2Z_S
114 UINT64_C(3240143616), // ADD_VG4_4ZZ_B
115 UINT64_C(3252726528), // ADD_VG4_4ZZ_D
116 UINT64_C(3244337920), // ADD_VG4_4ZZ_H
117 UINT64_C(3248532224), // ADD_VG4_4ZZ_S
118 UINT64_C(3252754448), // ADD_VG4_M4Z4Z_D
119 UINT64_C(3248560144), // ADD_VG4_M4Z4Z_S
120 UINT64_C(3245348880), // ADD_VG4_M4ZZ_D
121 UINT64_C(3241154576), // ADD_VG4_M4ZZ_S
122 UINT64_C(3252755472), // ADD_VG4_M4Z_D
123 UINT64_C(3248561168), // ADD_VG4_M4Z_S
124 UINT64_C(622903296), // ADD_ZI_B
125 UINT64_C(635486208), // ADD_ZI_D
126 UINT64_C(627097600), // ADD_ZI_H
127 UINT64_C(631291904), // ADD_ZI_S
128 UINT64_C(67108864), // ADD_ZPmZ_B
129 UINT64_C(79953920), // ADD_ZPmZ_CPA
130 UINT64_C(79691776), // ADD_ZPmZ_D
131 UINT64_C(71303168), // ADD_ZPmZ_H
132 UINT64_C(75497472), // ADD_ZPmZ_S
133 UINT64_C(69206016), // ADD_ZZZ_B
134 UINT64_C(81790976), // ADD_ZZZ_CPA
135 UINT64_C(81788928), // ADD_ZZZ_D
136 UINT64_C(73400320), // ADD_ZZZ_H
137 UINT64_C(77594624), // ADD_ZZZ_S
138 UINT64_C(1310753792), // ADDv16i8
139 UINT64_C(1591772160), // ADDv1i64
140 UINT64_C(245400576), // ADDv2i32
141 UINT64_C(1323336704), // ADDv2i64
142 UINT64_C(241206272), // ADDv4i16
143 UINT64_C(1319142400), // ADDv4i32
144 UINT64_C(1314948096), // ADDv8i16
145 UINT64_C(237011968), // ADDv8i8
146 UINT64_C(268435456), // ADR
147 UINT64_C(2415919104), // ADRP
148 UINT64_C(81829888), // ADR_LSL_ZZZ_D_0
149 UINT64_C(81830912), // ADR_LSL_ZZZ_D_1
150 UINT64_C(81831936), // ADR_LSL_ZZZ_D_2
151 UINT64_C(81832960), // ADR_LSL_ZZZ_D_3
152 UINT64_C(77635584), // ADR_LSL_ZZZ_S_0
153 UINT64_C(77636608), // ADR_LSL_ZZZ_S_1
154 UINT64_C(77637632), // ADR_LSL_ZZZ_S_2
155 UINT64_C(77638656), // ADR_LSL_ZZZ_S_3
156 UINT64_C(69246976), // ADR_SXTW_ZZZ_D_0
157 UINT64_C(69248000), // ADR_SXTW_ZZZ_D_1
158 UINT64_C(69249024), // ADR_SXTW_ZZZ_D_2
159 UINT64_C(69250048), // ADR_SXTW_ZZZ_D_3
160 UINT64_C(73441280), // ADR_UXTW_ZZZ_D_0
161 UINT64_C(73442304), // ADR_UXTW_ZZZ_D_1
162 UINT64_C(73443328), // ADR_UXTW_ZZZ_D_2
163 UINT64_C(73444352), // ADR_UXTW_ZZZ_D_3
164 UINT64_C(1159982080), // AESDIMC_2ZZI_B
165 UINT64_C(1160244224), // AESDIMC_4ZZI_B
166 UINT64_C(1159916544), // AESD_2ZZI_B
167 UINT64_C(1160178688), // AESD_4ZZI_B
168 UINT64_C(1159914496), // AESD_ZZZ_B
169 UINT64_C(1311266816), // AESDrr
170 UINT64_C(1159981056), // AESEMC_2ZZI_B
171 UINT64_C(1160243200), // AESEMC_4ZZI_B
172 UINT64_C(1159915520), // AESE_2ZZI_B
173 UINT64_C(1160177664), // AESE_4ZZI_B
174 UINT64_C(1159913472), // AESE_ZZZ_B
175 UINT64_C(1311262720), // AESErr
176 UINT64_C(1159783424), // AESIMC_ZZ_B
177 UINT64_C(1311275008), // AESIMCrr
178 UINT64_C(1159782400), // AESMC_ZZ_B
179 UINT64_C(1311270912), // AESMCrr
180 UINT64_C(69083136), // ANDQV_VPZ_B
181 UINT64_C(81666048), // ANDQV_VPZ_D
182 UINT64_C(73277440), // ANDQV_VPZ_H
183 UINT64_C(77471744), // ANDQV_VPZ_S
184 UINT64_C(1912602624), // ANDSWri
185 UINT64_C(1778384896), // ANDSWrs
186 UINT64_C(4060086272), // ANDSXri
187 UINT64_C(3925868544), // ANDSXrs
188 UINT64_C(624967680), // ANDS_PPzPP
189 UINT64_C(68820992), // ANDV_VPZ_B
190 UINT64_C(81403904), // ANDV_VPZ_D
191 UINT64_C(73015296), // ANDV_VPZ_H
192 UINT64_C(77209600), // ANDV_VPZ_S
193 UINT64_C(301989888), // ANDWri
194 UINT64_C(167772160), // ANDWrs
195 UINT64_C(2449473536), // ANDXri
196 UINT64_C(2315255808), // ANDXrs
197 UINT64_C(620773376), // AND_PPzPP
198 UINT64_C(92274688), // AND_ZI
199 UINT64_C(68812800), // AND_ZPmZ_B
200 UINT64_C(81395712), // AND_ZPmZ_D
201 UINT64_C(73007104), // AND_ZPmZ_H
202 UINT64_C(77201408), // AND_ZPmZ_S
203 UINT64_C(69218304), // AND_ZZZ
204 UINT64_C(1310727168), // ANDv16i8
205 UINT64_C(236985344), // ANDv8i8
206 UINT64_C(67404032), // ASRD_ZPmI_B
207 UINT64_C(75792384), // ASRD_ZPmI_D
208 UINT64_C(67404288), // ASRD_ZPmI_H
209 UINT64_C(71598080), // ASRD_ZPmI_S
210 UINT64_C(68452352), // ASRR_ZPmZ_B
211 UINT64_C(81035264), // ASRR_ZPmZ_D
212 UINT64_C(72646656), // ASRR_ZPmZ_H
213 UINT64_C(76840960), // ASRR_ZPmZ_S
214 UINT64_C(448800768), // ASRVWr
215 UINT64_C(2596284416), // ASRVXr
216 UINT64_C(68714496), // ASR_WIDE_ZPmZ_B
217 UINT64_C(72908800), // ASR_WIDE_ZPmZ_H
218 UINT64_C(77103104), // ASR_WIDE_ZPmZ_S
219 UINT64_C(69238784), // ASR_WIDE_ZZZ_B
220 UINT64_C(73433088), // ASR_WIDE_ZZZ_H
221 UINT64_C(77627392), // ASR_WIDE_ZZZ_S
222 UINT64_C(67141888), // ASR_ZPmI_B
223 UINT64_C(75530240), // ASR_ZPmI_D
224 UINT64_C(67142144), // ASR_ZPmI_H
225 UINT64_C(71335936), // ASR_ZPmI_S
226 UINT64_C(68190208), // ASR_ZPmZ_B
227 UINT64_C(80773120), // ASR_ZPmZ_D
228 UINT64_C(72384512), // ASR_ZPmZ_H
229 UINT64_C(76578816), // ASR_ZPmZ_S
230 UINT64_C(69767168), // ASR_ZZI_B
231 UINT64_C(77631488), // ASR_ZZI_D
232 UINT64_C(70291456), // ASR_ZZI_H
233 UINT64_C(73437184), // ASR_ZZI_S
234 UINT64_C(3670087680), // AUTDA
235 UINT64_C(3670088704), // AUTDB
236 UINT64_C(3670096864), // AUTDZA
237 UINT64_C(3670097888), // AUTDZB
238 UINT64_C(3670085632), // AUTIA
239 UINT64_C(3573752223), // AUTIA1716
240 UINT64_C(3670129662), // AUTIA171615
241 UINT64_C(3573752767), // AUTIASP
242 UINT64_C(4085252127), // AUTIASPPCi
243 UINT64_C(3670118430), // AUTIASPPCr
244 UINT64_C(3573752735), // AUTIAZ
245 UINT64_C(3670086656), // AUTIB
246 UINT64_C(3573752287), // AUTIB1716
247 UINT64_C(3670130686), // AUTIB171615
248 UINT64_C(3573752831), // AUTIBSP
249 UINT64_C(4087349279), // AUTIBSPPCi
250 UINT64_C(3670119454), // AUTIBSPPCr
251 UINT64_C(3573752799), // AUTIBZ
252 UINT64_C(3670094816), // AUTIZA
253 UINT64_C(3670095840), // AUTIZB
254 UINT64_C(3573563487), // AXFLAG
255 UINT64_C(335544320), // B
256 UINT64_C(3458203648), // BCAX
257 UINT64_C(73414656), // BCAX_ZZZZ
258 UINT64_C(1409286160), // BCcc
259 UINT64_C(1157673984), // BDEP_ZZZ_B
260 UINT64_C(1170256896), // BDEP_ZZZ_D
261 UINT64_C(1161868288), // BDEP_ZZZ_H
262 UINT64_C(1166062592), // BDEP_ZZZ_S
263 UINT64_C(1157672960), // BEXT_ZZZ_B
264 UINT64_C(1170255872), // BEXT_ZZZ_D
265 UINT64_C(1161867264), // BEXT_ZZZ_H
266 UINT64_C(1166061568), // BEXT_ZZZ_S
267 UINT64_C(255913984), // BF16DOTlanev4bf16
268 UINT64_C(1329655808), // BF16DOTlanev8bf16
269 UINT64_C(782333952), // BF1CVTL
270 UINT64_C(1856075776), // BF1CVTL2
271 UINT64_C(1695102976), // BF1CVTLT_ZZ_BtoH
272 UINT64_C(3244744705), // BF1CVTL_2ZZ_BtoH
273 UINT64_C(3244744704), // BF1CVT_2ZZ_BtoH
274 UINT64_C(1695037440), // BF1CVT_ZZ_BtoH
275 UINT64_C(786528256), // BF2CVTL
276 UINT64_C(1860270080), // BF2CVTL2
277 UINT64_C(1695104000), // BF2CVTLT_ZZ_BtoH
278 UINT64_C(3253133313), // BF2CVTL_2ZZ_BtoH
279 UINT64_C(3253133312), // BF2CVT_2ZZ_BtoH
280 UINT64_C(1695038464), // BF2CVT_ZZ_BtoH
281 UINT64_C(3252952064), // BFADD_VG2_M2Z_H
282 UINT64_C(3253017600), // BFADD_VG4_M4Z_H
283 UINT64_C(1694531584), // BFADD_ZPmZ
284 UINT64_C(1694498816), // BFADD_ZZZ
285 UINT64_C(3240148992), // BFCLAMP_VG2_2ZZZ_H
286 UINT64_C(3240151040), // BFCLAMP_VG4_4ZZZ_H
287 UINT64_C(1679827968), // BFCLAMP_ZZZ
288 UINT64_C(509820928), // BFCVT
289 UINT64_C(245458944), // BFCVTN
290 UINT64_C(1319200768), // BFCVTN2
291 UINT64_C(1686806528), // BFCVTNT_ZPmZ
292 UINT64_C(1686282240), // BFCVTNT_ZPzZ_StoH
293 UINT64_C(1695168512), // BFCVTN_Z2Z_HtoB
294 UINT64_C(3244351520), // BFCVTN_Z2Z_StoH
295 UINT64_C(3244613632), // BFCVT_Z2Z_HtoB
296 UINT64_C(3244351488), // BFCVT_Z2Z_StoH
297 UINT64_C(1703583744), // BFCVT_ZPmZ
298 UINT64_C(1687863296), // BFCVT_ZPzZ_StoH
299 UINT64_C(3248492560), // BFDOT_VG2_M2Z2Z_HtoS
300 UINT64_C(3243249688), // BFDOT_VG2_M2ZZI_HtoS
301 UINT64_C(3240103952), // BFDOT_VG2_M2ZZ_HtoS
302 UINT64_C(3248558096), // BFDOT_VG4_M4Z4Z_HtoS
303 UINT64_C(3243282456), // BFDOT_VG4_M4ZZI_HtoS
304 UINT64_C(3241152528), // BFDOT_VG4_M4ZZ_HtoS
305 UINT64_C(1684029440), // BFDOT_ZZI
306 UINT64_C(1684045824), // BFDOT_ZZZ
307 UINT64_C(776010752), // BFDOTv4bf16
308 UINT64_C(1849752576), // BFDOTv8bf16
309 UINT64_C(3240145184), // BFMAXNM_VG2_2Z2Z_H
310 UINT64_C(3240141088), // BFMAXNM_VG2_2ZZ_H
311 UINT64_C(3240147232), // BFMAXNM_VG4_4Z2Z_H
312 UINT64_C(3240143136), // BFMAXNM_VG4_4ZZ_H
313 UINT64_C(1694793728), // BFMAXNM_ZPmZ
314 UINT64_C(3240145152), // BFMAX_VG2_2Z2Z_H
315 UINT64_C(3240141056), // BFMAX_VG2_2ZZ_H
316 UINT64_C(3240147200), // BFMAX_VG4_4Z2Z_H
317 UINT64_C(3240143104), // BFMAX_VG4_4ZZ_H
318 UINT64_C(1694924800), // BFMAX_ZPmZ
319 UINT64_C(3240145185), // BFMINNM_VG2_2Z2Z_H
320 UINT64_C(3240141089), // BFMINNM_VG2_2ZZ_H
321 UINT64_C(3240147233), // BFMINNM_VG4_4Z2Z_H
322 UINT64_C(3240143137), // BFMINNM_VG4_4ZZ_H
323 UINT64_C(1694859264), // BFMINNM_ZPmZ
324 UINT64_C(3240145153), // BFMIN_VG2_2Z2Z_H
325 UINT64_C(3240141057), // BFMIN_VG2_2ZZ_H
326 UINT64_C(3240147201), // BFMIN_VG4_4Z2Z_H
327 UINT64_C(3240143105), // BFMIN_VG4_4ZZ_H
328 UINT64_C(1694990336), // BFMIN_ZPmZ
329 UINT64_C(784399360), // BFMLALB
330 UINT64_C(264302592), // BFMLALBIdx
331 UINT64_C(1692434432), // BFMLALB_ZZZ
332 UINT64_C(1692418048), // BFMLALB_ZZZI
333 UINT64_C(1858141184), // BFMLALT
334 UINT64_C(1338044416), // BFMLALTIdx
335 UINT64_C(1692435456), // BFMLALT_ZZZ
336 UINT64_C(1692419072), // BFMLALT_ZZZI
337 UINT64_C(3246395408), // BFMLAL_MZZI_HtoS
338 UINT64_C(3240102928), // BFMLAL_MZZ_HtoS
339 UINT64_C(3248490512), // BFMLAL_VG2_M2Z2Z_HtoS
340 UINT64_C(3247443984), // BFMLAL_VG2_M2ZZI_HtoS
341 UINT64_C(3240101904), // BFMLAL_VG2_M2ZZ_HtoS
342 UINT64_C(3248556048), // BFMLAL_VG4_M4Z4Z_HtoS
343 UINT64_C(3247476752), // BFMLAL_VG4_M4ZZI_HtoS
344 UINT64_C(3241150480), // BFMLAL_VG4_M4ZZ_HtoS
345 UINT64_C(3252686856), // BFMLA_VG2_M2Z2Z
346 UINT64_C(3244301312), // BFMLA_VG2_M2ZZ
347 UINT64_C(3239055392), // BFMLA_VG2_M2ZZI
348 UINT64_C(3252752392), // BFMLA_VG4_M4Z4Z
349 UINT64_C(3245349888), // BFMLA_VG4_M4ZZ
350 UINT64_C(3239088160), // BFMLA_VG4_M4ZZI
351 UINT64_C(1696595968), // BFMLA_ZPmZZ
352 UINT64_C(1679820800), // BFMLA_ZZZI
353 UINT64_C(1692426240), // BFMLSLB_ZZZI_S
354 UINT64_C(1692442624), // BFMLSLB_ZZZ_S
355 UINT64_C(1692427264), // BFMLSLT_ZZZI_S
356 UINT64_C(1692443648), // BFMLSLT_ZZZ_S
357 UINT64_C(3246395416), // BFMLSL_MZZI_HtoS
358 UINT64_C(3240102936), // BFMLSL_MZZ_HtoS
359 UINT64_C(3248490520), // BFMLSL_VG2_M2Z2Z_HtoS
360 UINT64_C(3247443992), // BFMLSL_VG2_M2ZZI_HtoS
361 UINT64_C(3240101912), // BFMLSL_VG2_M2ZZ_HtoS
362 UINT64_C(3248556056), // BFMLSL_VG4_M4Z4Z_HtoS
363 UINT64_C(3247476760), // BFMLSL_VG4_M4ZZI_HtoS
364 UINT64_C(3241150488), // BFMLSL_VG4_M4ZZ_HtoS
365 UINT64_C(3252686872), // BFMLS_VG2_M2Z2Z
366 UINT64_C(3244301320), // BFMLS_VG2_M2ZZ
367 UINT64_C(3239055408), // BFMLS_VG2_M2ZZI
368 UINT64_C(3252752408), // BFMLS_VG4_M4Z4Z
369 UINT64_C(3245349896), // BFMLS_VG4_M4ZZ
370 UINT64_C(3239088176), // BFMLS_VG4_M4ZZI
371 UINT64_C(1696604160), // BFMLS_ZPmZZ
372 UINT64_C(1679821824), // BFMLS_ZZZI
373 UINT64_C(1849748480), // BFMMLA
374 UINT64_C(1692459008), // BFMMLA_ZZZ_H
375 UINT64_C(1684071424), // BFMMLA_ZZZ_HtoS
376 UINT64_C(2167407112), // BFMOP4A_M2Z2Z_H
377 UINT64_C(2165309952), // BFMOP4A_M2Z2Z_S
378 UINT64_C(2166358536), // BFMOP4A_M2ZZ_H
379 UINT64_C(2164261376), // BFMOP4A_M2ZZ_S
380 UINT64_C(2167406600), // BFMOP4A_MZ2Z_H
381 UINT64_C(2165309440), // BFMOP4A_MZ2Z_S
382 UINT64_C(2166358024), // BFMOP4A_MZZ_H
383 UINT64_C(2164260864), // BFMOP4A_MZZ_S
384 UINT64_C(2167407128), // BFMOP4S_M2Z2Z_H
385 UINT64_C(2165309968), // BFMOP4S_M2Z2Z_S
386 UINT64_C(2166358552), // BFMOP4S_M2ZZ_H
387 UINT64_C(2164261392), // BFMOP4S_M2ZZ_S
388 UINT64_C(2167406616), // BFMOP4S_MZ2Z_H
389 UINT64_C(2165309456), // BFMOP4S_MZ2Z_S
390 UINT64_C(2166358040), // BFMOP4S_MZZ_H
391 UINT64_C(2164260880), // BFMOP4S_MZZ_S
392 UINT64_C(2172649472), // BFMOPA_MPPZZ
393 UINT64_C(2174746632), // BFMOPA_MPPZZ_H
394 UINT64_C(2172649488), // BFMOPS_MPPZZ
395 UINT64_C(2174746648), // BFMOPS_MPPZZ_H
396 UINT64_C(3240158208), // BFMUL_2Z2Z
397 UINT64_C(3240159232), // BFMUL_2ZZ
398 UINT64_C(3240223744), // BFMUL_4Z4Z
399 UINT64_C(3240224768), // BFMUL_4ZZ
400 UINT64_C(1694662656), // BFMUL_ZPmZ
401 UINT64_C(1694500864), // BFMUL_ZZZ
402 UINT64_C(1679828992), // BFMUL_ZZZI
403 UINT64_C(855638016), // BFMWri
404 UINT64_C(3007315968), // BFMXri
405 UINT64_C(3240145280), // BFSCALE_2Z2Z
406 UINT64_C(3240141184), // BFSCALE_2ZZ
407 UINT64_C(3240147328), // BFSCALE_4Z4Z
408 UINT64_C(3240143232), // BFSCALE_4ZZ
409 UINT64_C(1695121408), // BFSCALE_ZPmZ
410 UINT64_C(3252952072), // BFSUB_VG2_M2Z_H
411 UINT64_C(3253017608), // BFSUB_VG4_M4Z_H
412 UINT64_C(1694597120), // BFSUB_ZPmZ
413 UINT64_C(1694499840), // BFSUB_ZZZ
414 UINT64_C(2170552328), // BFTMOPA_M2ZZZI_HtoH
415 UINT64_C(2168455168), // BFTMOPA_M2ZZZI_HtoS
416 UINT64_C(3243245592), // BFVDOT_VG2_M2ZZI_HtoS
417 UINT64_C(1157675008), // BGRP_ZZZ_B
418 UINT64_C(1170257920), // BGRP_ZZZ_D
419 UINT64_C(1161869312), // BGRP_ZZZ_H
420 UINT64_C(1166063616), // BGRP_ZZZ_S
421 UINT64_C(1780482048), // BICSWrs
422 UINT64_C(3927965696), // BICSXrs
423 UINT64_C(624967696), // BICS_PPzPP
424 UINT64_C(169869312), // BICWrs
425 UINT64_C(2317352960), // BICXrs
426 UINT64_C(620773392), // BIC_PPzPP
427 UINT64_C(68878336), // BIC_ZPmZ_B
428 UINT64_C(81461248), // BIC_ZPmZ_D
429 UINT64_C(73072640), // BIC_ZPmZ_H
430 UINT64_C(77266944), // BIC_ZPmZ_S
431 UINT64_C(81801216), // BIC_ZZZ
432 UINT64_C(1314921472), // BICv16i8
433 UINT64_C(788534272), // BICv2i32
434 UINT64_C(788567040), // BICv4i16
435 UINT64_C(1862276096), // BICv4i32
436 UINT64_C(1862308864), // BICv8i16
437 UINT64_C(241179648), // BICv8i8
438 UINT64_C(1860180992), // BIFv16i8
439 UINT64_C(786439168), // BIFv8i8
440 UINT64_C(1855986688), // BITv16i8
441 UINT64_C(782244864), // BITv8i8
442 UINT64_C(2483027968), // BL
443 UINT64_C(3594452992), // BLR
444 UINT64_C(3611232256), // BLRAA
445 UINT64_C(3594455071), // BLRAAZ
446 UINT64_C(3611233280), // BLRAB
447 UINT64_C(3594456095), // BLRABZ
448 UINT64_C(2155872264), // BMOPA_MPPZZ_S
449 UINT64_C(2155872280), // BMOPS_MPPZZ_S
450 UINT64_C(3592355840), // BR
451 UINT64_C(3609135104), // BRAA
452 UINT64_C(3592357919), // BRAAZ
453 UINT64_C(3609136128), // BRAB
454 UINT64_C(3592358943), // BRABZ
455 UINT64_C(3558866944), // BRK
456 UINT64_C(626016256), // BRKAS_PPzP
457 UINT64_C(621821968), // BRKA_PPmP
458 UINT64_C(621821952), // BRKA_PPzP
459 UINT64_C(634404864), // BRKBS_PPzP
460 UINT64_C(630210576), // BRKB_PPmP
461 UINT64_C(630210560), // BRKB_PPzP
462 UINT64_C(626540544), // BRKNS_PPzP
463 UINT64_C(622346240), // BRKN_PPzP
464 UINT64_C(625000448), // BRKPAS_PPzPP
465 UINT64_C(620806144), // BRKPA_PPzPP
466 UINT64_C(625000464), // BRKPBS_PPzPP
467 UINT64_C(620806160), // BRKPB_PPzPP
468 UINT64_C(73415680), // BSL1N_ZZZZ
469 UINT64_C(77609984), // BSL2N_ZZZZ
470 UINT64_C(69221376), // BSL_ZZZZ
471 UINT64_C(1851792384), // BSLv16i8
472 UINT64_C(778050560), // BSLv8i8
473 UINT64_C(1409286144), // Bcc
474 UINT64_C(1157683200), // CADD_ZZI_B
475 UINT64_C(1170266112), // CADD_ZZI_D
476 UINT64_C(1161877504), // CADD_ZZI_H
477 UINT64_C(1166071808), // CADD_ZZI_S
478 UINT64_C(148929536), // CASAB
479 UINT64_C(1222671360), // CASAH
480 UINT64_C(148962304), // CASALB
481 UINT64_C(1222704128), // CASALH
482 UINT64_C(3384867840), // CASALTX
483 UINT64_C(2296445952), // CASALW
484 UINT64_C(3370187776), // CASALX
485 UINT64_C(3384835072), // CASATX
486 UINT64_C(2296413184), // CASAW
487 UINT64_C(3370155008), // CASAX
488 UINT64_C(144735232), // CASB
489 UINT64_C(1218477056), // CASH
490 UINT64_C(144768000), // CASLB
491 UINT64_C(1218509824), // CASLH
492 UINT64_C(3380673536), // CASLTX
493 UINT64_C(2292251648), // CASLW
494 UINT64_C(3365993472), // CASLX
495 UINT64_C(1237384192), // CASPALTX
496 UINT64_C(140573696), // CASPALW
497 UINT64_C(1214315520), // CASPALX
498 UINT64_C(1237351424), // CASPATX
499 UINT64_C(140540928), // CASPAW
500 UINT64_C(1214282752), // CASPAX
501 UINT64_C(1233189888), // CASPLTX
502 UINT64_C(136379392), // CASPLW
503 UINT64_C(1210121216), // CASPLX
504 UINT64_C(1233157120), // CASPTX
505 UINT64_C(136346624), // CASPW
506 UINT64_C(1210088448), // CASPX
507 UINT64_C(3380640768), // CASTX
508 UINT64_C(2292218880), // CASW
509 UINT64_C(3365960704), // CASX
510 UINT64_C(1958772736), // CBBEQWrr
511 UINT64_C(1948286976), // CBBGEWrr
512 UINT64_C(1946189824), // CBBGTWrr
513 UINT64_C(1950384128), // CBBHIWrr
514 UINT64_C(1952481280), // CBBHSWrr
515 UINT64_C(1960869888), // CBBNEWrr
516 UINT64_C(1975517184), // CBEQWri
517 UINT64_C(1958739968), // CBEQWrr
518 UINT64_C(4123000832), // CBEQXri
519 UINT64_C(4106223616), // CBEQXrr
520 UINT64_C(1948254208), // CBGEWrr
521 UINT64_C(4095737856), // CBGEXrr
522 UINT64_C(1962934272), // CBGTWri
523 UINT64_C(1946157056), // CBGTWrr
524 UINT64_C(4110417920), // CBGTXri
525 UINT64_C(4093640704), // CBGTXrr
526 UINT64_C(1958789120), // CBHEQWrr
527 UINT64_C(1948303360), // CBHGEWrr
528 UINT64_C(1946206208), // CBHGTWrr
529 UINT64_C(1950400512), // CBHHIWrr
530 UINT64_C(1952497664), // CBHHSWrr
531 UINT64_C(1967128576), // CBHIWri
532 UINT64_C(1950351360), // CBHIWrr
533 UINT64_C(4114612224), // CBHIXri
534 UINT64_C(4097835008), // CBHIXrr
535 UINT64_C(1960886272), // CBHNEWrr
536 UINT64_C(1952448512), // CBHSWrr
537 UINT64_C(4099932160), // CBHSXrr
538 UINT64_C(1969225728), // CBLOWri
539 UINT64_C(4116709376), // CBLOXri
540 UINT64_C(1965031424), // CBLTWri
541 UINT64_C(4112515072), // CBLTXri
542 UINT64_C(1977614336), // CBNEWri
543 UINT64_C(1960837120), // CBNEWrr
544 UINT64_C(4125097984), // CBNEXri
545 UINT64_C(4108320768), // CBNEXrr
546 UINT64_C(889192448), // CBNZW
547 UINT64_C(3036676096), // CBNZX
548 UINT64_C(872415232), // CBZW
549 UINT64_C(3019898880), // CBZX
550 UINT64_C(977274880), // CCMNWi
551 UINT64_C(977272832), // CCMNWr
552 UINT64_C(3124758528), // CCMNXi
553 UINT64_C(3124756480), // CCMNXr
554 UINT64_C(2051016704), // CCMPWi
555 UINT64_C(2051014656), // CCMPWr
556 UINT64_C(4198500352), // CCMPXi
557 UINT64_C(4198498304), // CCMPXr
558 UINT64_C(1155547136), // CDOT_ZZZI_D
559 UINT64_C(1151352832), // CDOT_ZZZI_S
560 UINT64_C(1153437696), // CDOT_ZZZ_D
561 UINT64_C(1149243392), // CDOT_ZZZ_S
562 UINT64_C(3573563423), // CFINV
563 UINT64_C(1988100096), // CFLTEQWi
564 UINT64_C(1992294912), // CFLTEQWr
565 UINT64_C(4135583744), // CFLTEQXi
566 UINT64_C(4139778560), // CFLTEQXr
567 UINT64_C(1981809152), // CFLTGEWr
568 UINT64_C(4129292800), // CFLTGEXr
569 UINT64_C(1979711488), // CFLTGTWi
570 UINT64_C(1979712000), // CFLTGTWr
571 UINT64_C(4127195136), // CFLTGTXi
572 UINT64_C(4127195648), // CFLTGTXr
573 UINT64_C(1983905792), // CFLTHIWi
574 UINT64_C(1983906304), // CFLTHIWr
575 UINT64_C(4131389440), // CFLTHIXi
576 UINT64_C(4131389952), // CFLTHIXr
577 UINT64_C(1986003456), // CFLTHSWr
578 UINT64_C(4133487104), // CFLTHSXr
579 UINT64_C(1986002944), // CFLTLOWi
580 UINT64_C(4133486592), // CFLTLOXi
581 UINT64_C(1981808640), // CFLTLTWi
582 UINT64_C(4129292288), // CFLTLTXi
583 UINT64_C(1990197248), // CFLTNEWi
584 UINT64_C(1994392064), // CFLTNEWr
585 UINT64_C(4137680896), // CFLTNEXi
586 UINT64_C(4141875712), // CFLTNEXr
587 UINT64_C(3573753119), // CHKFEAT
588 UINT64_C(87072768), // CLASTA_RPZ_B
589 UINT64_C(99655680), // CLASTA_RPZ_D
590 UINT64_C(91267072), // CLASTA_RPZ_H
591 UINT64_C(95461376), // CLASTA_RPZ_S
592 UINT64_C(86671360), // CLASTA_VPZ_B
593 UINT64_C(99254272), // CLASTA_VPZ_D
594 UINT64_C(90865664), // CLASTA_VPZ_H
595 UINT64_C(95059968), // CLASTA_VPZ_S
596 UINT64_C(86540288), // CLASTA_ZPZ_B
597 UINT64_C(99123200), // CLASTA_ZPZ_D
598 UINT64_C(90734592), // CLASTA_ZPZ_H
599 UINT64_C(94928896), // CLASTA_ZPZ_S
600 UINT64_C(87138304), // CLASTB_RPZ_B
601 UINT64_C(99721216), // CLASTB_RPZ_D
602 UINT64_C(91332608), // CLASTB_RPZ_H
603 UINT64_C(95526912), // CLASTB_RPZ_S
604 UINT64_C(86736896), // CLASTB_VPZ_B
605 UINT64_C(99319808), // CLASTB_VPZ_D
606 UINT64_C(90931200), // CLASTB_VPZ_H
607 UINT64_C(95125504), // CLASTB_VPZ_S
608 UINT64_C(86605824), // CLASTB_ZPZ_B
609 UINT64_C(99188736), // CLASTB_ZPZ_D
610 UINT64_C(90800128), // CLASTB_ZPZ_H
611 UINT64_C(94994432), // CLASTB_ZPZ_S
612 UINT64_C(3573755999), // CLREX
613 UINT64_C(1522537472), // CLSWr
614 UINT64_C(3670021120), // CLSXr
615 UINT64_C(68722688), // CLS_ZPmZ_B
616 UINT64_C(81305600), // CLS_ZPmZ_D
617 UINT64_C(72916992), // CLS_ZPmZ_H
618 UINT64_C(77111296), // CLS_ZPmZ_S
619 UINT64_C(67674112), // CLS_ZPzZ_B
620 UINT64_C(80257024), // CLS_ZPzZ_D
621 UINT64_C(71868416), // CLS_ZPzZ_H
622 UINT64_C(76062720), // CLS_ZPzZ_S
623 UINT64_C(1310738432), // CLSv16i8
624 UINT64_C(245385216), // CLSv2i32
625 UINT64_C(241190912), // CLSv4i16
626 UINT64_C(1319127040), // CLSv4i32
627 UINT64_C(1314932736), // CLSv8i16
628 UINT64_C(236996608), // CLSv8i8
629 UINT64_C(1522536448), // CLZWr
630 UINT64_C(3670020096), // CLZXr
631 UINT64_C(68788224), // CLZ_ZPmZ_B
632 UINT64_C(81371136), // CLZ_ZPmZ_D
633 UINT64_C(72982528), // CLZ_ZPmZ_H
634 UINT64_C(77176832), // CLZ_ZPmZ_S
635 UINT64_C(67739648), // CLZ_ZPzZ_B
636 UINT64_C(80322560), // CLZ_ZPzZ_D
637 UINT64_C(71933952), // CLZ_ZPzZ_H
638 UINT64_C(76128256), // CLZ_ZPzZ_S
639 UINT64_C(1847609344), // CLZv16i8
640 UINT64_C(782256128), // CLZv2i32
641 UINT64_C(778061824), // CLZv4i16
642 UINT64_C(1855997952), // CLZv4i32
643 UINT64_C(1851803648), // CLZv8i16
644 UINT64_C(773867520), // CLZv8i8
645 UINT64_C(1847626752), // CMEQv16i8
646 UINT64_C(1310758912), // CMEQv16i8rz
647 UINT64_C(2128645120), // CMEQv1i64
648 UINT64_C(1591777280), // CMEQv1i64rz
649 UINT64_C(782273536), // CMEQv2i32
650 UINT64_C(245405696), // CMEQv2i32rz
651 UINT64_C(1860209664), // CMEQv2i64
652 UINT64_C(1323341824), // CMEQv2i64rz
653 UINT64_C(778079232), // CMEQv4i16
654 UINT64_C(241211392), // CMEQv4i16rz
655 UINT64_C(1856015360), // CMEQv4i32
656 UINT64_C(1319147520), // CMEQv4i32rz
657 UINT64_C(1851821056), // CMEQv8i16
658 UINT64_C(1314953216), // CMEQv8i16rz
659 UINT64_C(773884928), // CMEQv8i8
660 UINT64_C(237017088), // CMEQv8i8rz
661 UINT64_C(1310735360), // CMGEv16i8
662 UINT64_C(1847625728), // CMGEv16i8rz
663 UINT64_C(1591753728), // CMGEv1i64
664 UINT64_C(2128644096), // CMGEv1i64rz
665 UINT64_C(245382144), // CMGEv2i32
666 UINT64_C(782272512), // CMGEv2i32rz
667 UINT64_C(1323318272), // CMGEv2i64
668 UINT64_C(1860208640), // CMGEv2i64rz
669 UINT64_C(241187840), // CMGEv4i16
670 UINT64_C(778078208), // CMGEv4i16rz
671 UINT64_C(1319123968), // CMGEv4i32
672 UINT64_C(1856014336), // CMGEv4i32rz
673 UINT64_C(1314929664), // CMGEv8i16
674 UINT64_C(1851820032), // CMGEv8i16rz
675 UINT64_C(236993536), // CMGEv8i8
676 UINT64_C(773883904), // CMGEv8i8rz
677 UINT64_C(1310733312), // CMGTv16i8
678 UINT64_C(1310754816), // CMGTv16i8rz
679 UINT64_C(1591751680), // CMGTv1i64
680 UINT64_C(1591773184), // CMGTv1i64rz
681 UINT64_C(245380096), // CMGTv2i32
682 UINT64_C(245401600), // CMGTv2i32rz
683 UINT64_C(1323316224), // CMGTv2i64
684 UINT64_C(1323337728), // CMGTv2i64rz
685 UINT64_C(241185792), // CMGTv4i16
686 UINT64_C(241207296), // CMGTv4i16rz
687 UINT64_C(1319121920), // CMGTv4i32
688 UINT64_C(1319143424), // CMGTv4i32rz
689 UINT64_C(1314927616), // CMGTv8i16
690 UINT64_C(1314949120), // CMGTv8i16rz
691 UINT64_C(236991488), // CMGTv8i8
692 UINT64_C(237012992), // CMGTv8i8rz
693 UINT64_C(1847604224), // CMHIv16i8
694 UINT64_C(2128622592), // CMHIv1i64
695 UINT64_C(782251008), // CMHIv2i32
696 UINT64_C(1860187136), // CMHIv2i64
697 UINT64_C(778056704), // CMHIv4i16
698 UINT64_C(1855992832), // CMHIv4i32
699 UINT64_C(1851798528), // CMHIv8i16
700 UINT64_C(773862400), // CMHIv8i8
701 UINT64_C(1847606272), // CMHSv16i8
702 UINT64_C(2128624640), // CMHSv1i64
703 UINT64_C(782253056), // CMHSv2i32
704 UINT64_C(1860189184), // CMHSv2i64
705 UINT64_C(778058752), // CMHSv4i16
706 UINT64_C(1855994880), // CMHSv4i32
707 UINT64_C(1851800576), // CMHSv8i16
708 UINT64_C(773864448), // CMHSv8i8
709 UINT64_C(1151361024), // CMLA_ZZZI_H
710 UINT64_C(1155555328), // CMLA_ZZZI_S
711 UINT64_C(1140858880), // CMLA_ZZZ_B
712 UINT64_C(1153441792), // CMLA_ZZZ_D
713 UINT64_C(1145053184), // CMLA_ZZZ_H
714 UINT64_C(1149247488), // CMLA_ZZZ_S
715 UINT64_C(1847629824), // CMLEv16i8rz
716 UINT64_C(2128648192), // CMLEv1i64rz
717 UINT64_C(782276608), // CMLEv2i32rz
718 UINT64_C(1860212736), // CMLEv2i64rz
719 UINT64_C(778082304), // CMLEv4i16rz
720 UINT64_C(1856018432), // CMLEv4i32rz
721 UINT64_C(1851824128), // CMLEv8i16rz
722 UINT64_C(773888000), // CMLEv8i8rz
723 UINT64_C(1310763008), // CMLTv16i8rz
724 UINT64_C(1591781376), // CMLTv1i64rz
725 UINT64_C(245409792), // CMLTv2i32rz
726 UINT64_C(1323345920), // CMLTv2i64rz
727 UINT64_C(241215488), // CMLTv4i16rz
728 UINT64_C(1319151616), // CMLTv4i32rz
729 UINT64_C(1314957312), // CMLTv8i16rz
730 UINT64_C(237021184), // CMLTv8i8rz
731 UINT64_C(620789760), // CMPEQ_PPzZI_B
732 UINT64_C(633372672), // CMPEQ_PPzZI_D
733 UINT64_C(624984064), // CMPEQ_PPzZI_H
734 UINT64_C(629178368), // CMPEQ_PPzZI_S
735 UINT64_C(604020736), // CMPEQ_PPzZZ_B
736 UINT64_C(616603648), // CMPEQ_PPzZZ_D
737 UINT64_C(608215040), // CMPEQ_PPzZZ_H
738 UINT64_C(612409344), // CMPEQ_PPzZZ_S
739 UINT64_C(603987968), // CMPEQ_WIDE_PPzZZ_B
740 UINT64_C(608182272), // CMPEQ_WIDE_PPzZZ_H
741 UINT64_C(612376576), // CMPEQ_WIDE_PPzZZ_S
742 UINT64_C(620756992), // CMPGE_PPzZI_B
743 UINT64_C(633339904), // CMPGE_PPzZI_D
744 UINT64_C(624951296), // CMPGE_PPzZI_H
745 UINT64_C(629145600), // CMPGE_PPzZI_S
746 UINT64_C(604012544), // CMPGE_PPzZZ_B
747 UINT64_C(616595456), // CMPGE_PPzZZ_D
748 UINT64_C(608206848), // CMPGE_PPzZZ_H
749 UINT64_C(612401152), // CMPGE_PPzZZ_S
750 UINT64_C(603996160), // CMPGE_WIDE_PPzZZ_B
751 UINT64_C(608190464), // CMPGE_WIDE_PPzZZ_H
752 UINT64_C(612384768), // CMPGE_WIDE_PPzZZ_S
753 UINT64_C(620757008), // CMPGT_PPzZI_B
754 UINT64_C(633339920), // CMPGT_PPzZI_D
755 UINT64_C(624951312), // CMPGT_PPzZI_H
756 UINT64_C(629145616), // CMPGT_PPzZI_S
757 UINT64_C(604012560), // CMPGT_PPzZZ_B
758 UINT64_C(616595472), // CMPGT_PPzZZ_D
759 UINT64_C(608206864), // CMPGT_PPzZZ_H
760 UINT64_C(612401168), // CMPGT_PPzZZ_S
761 UINT64_C(603996176), // CMPGT_WIDE_PPzZZ_B
762 UINT64_C(608190480), // CMPGT_WIDE_PPzZZ_H
763 UINT64_C(612384784), // CMPGT_WIDE_PPzZZ_S
764 UINT64_C(606076944), // CMPHI_PPzZI_B
765 UINT64_C(618659856), // CMPHI_PPzZI_D
766 UINT64_C(610271248), // CMPHI_PPzZI_H
767 UINT64_C(614465552), // CMPHI_PPzZI_S
768 UINT64_C(603979792), // CMPHI_PPzZZ_B
769 UINT64_C(616562704), // CMPHI_PPzZZ_D
770 UINT64_C(608174096), // CMPHI_PPzZZ_H
771 UINT64_C(612368400), // CMPHI_PPzZZ_S
772 UINT64_C(604028944), // CMPHI_WIDE_PPzZZ_B
773 UINT64_C(608223248), // CMPHI_WIDE_PPzZZ_H
774 UINT64_C(612417552), // CMPHI_WIDE_PPzZZ_S
775 UINT64_C(606076928), // CMPHS_PPzZI_B
776 UINT64_C(618659840), // CMPHS_PPzZI_D
777 UINT64_C(610271232), // CMPHS_PPzZI_H
778 UINT64_C(614465536), // CMPHS_PPzZI_S
779 UINT64_C(603979776), // CMPHS_PPzZZ_B
780 UINT64_C(616562688), // CMPHS_PPzZZ_D
781 UINT64_C(608174080), // CMPHS_PPzZZ_H
782 UINT64_C(612368384), // CMPHS_PPzZZ_S
783 UINT64_C(604028928), // CMPHS_WIDE_PPzZZ_B
784 UINT64_C(608223232), // CMPHS_WIDE_PPzZZ_H
785 UINT64_C(612417536), // CMPHS_WIDE_PPzZZ_S
786 UINT64_C(620765200), // CMPLE_PPzZI_B
787 UINT64_C(633348112), // CMPLE_PPzZI_D
788 UINT64_C(624959504), // CMPLE_PPzZI_H
789 UINT64_C(629153808), // CMPLE_PPzZI_S
790 UINT64_C(604004368), // CMPLE_WIDE_PPzZZ_B
791 UINT64_C(608198672), // CMPLE_WIDE_PPzZZ_H
792 UINT64_C(612392976), // CMPLE_WIDE_PPzZZ_S
793 UINT64_C(606085120), // CMPLO_PPzZI_B
794 UINT64_C(618668032), // CMPLO_PPzZI_D
795 UINT64_C(610279424), // CMPLO_PPzZI_H
796 UINT64_C(614473728), // CMPLO_PPzZI_S
797 UINT64_C(604037120), // CMPLO_WIDE_PPzZZ_B
798 UINT64_C(608231424), // CMPLO_WIDE_PPzZZ_H
799 UINT64_C(612425728), // CMPLO_WIDE_PPzZZ_S
800 UINT64_C(606085136), // CMPLS_PPzZI_B
801 UINT64_C(618668048), // CMPLS_PPzZI_D
802 UINT64_C(610279440), // CMPLS_PPzZI_H
803 UINT64_C(614473744), // CMPLS_PPzZI_S
804 UINT64_C(604037136), // CMPLS_WIDE_PPzZZ_B
805 UINT64_C(608231440), // CMPLS_WIDE_PPzZZ_H
806 UINT64_C(612425744), // CMPLS_WIDE_PPzZZ_S
807 UINT64_C(620765184), // CMPLT_PPzZI_B
808 UINT64_C(633348096), // CMPLT_PPzZI_D
809 UINT64_C(624959488), // CMPLT_PPzZI_H
810 UINT64_C(629153792), // CMPLT_PPzZI_S
811 UINT64_C(604004352), // CMPLT_WIDE_PPzZZ_B
812 UINT64_C(608198656), // CMPLT_WIDE_PPzZZ_H
813 UINT64_C(612392960), // CMPLT_WIDE_PPzZZ_S
814 UINT64_C(620789776), // CMPNE_PPzZI_B
815 UINT64_C(633372688), // CMPNE_PPzZI_D
816 UINT64_C(624984080), // CMPNE_PPzZI_H
817 UINT64_C(629178384), // CMPNE_PPzZI_S
818 UINT64_C(604020752), // CMPNE_PPzZZ_B
819 UINT64_C(616603664), // CMPNE_PPzZZ_D
820 UINT64_C(608215056), // CMPNE_PPzZZ_H
821 UINT64_C(612409360), // CMPNE_PPzZZ_S
822 UINT64_C(603987984), // CMPNE_WIDE_PPzZZ_B
823 UINT64_C(608182288), // CMPNE_WIDE_PPzZZ_H
824 UINT64_C(612376592), // CMPNE_WIDE_PPzZZ_S
825 UINT64_C(1310755840), // CMTSTv16i8
826 UINT64_C(1591774208), // CMTSTv1i64
827 UINT64_C(245402624), // CMTSTv2i32
828 UINT64_C(1323338752), // CMTSTv2i64
829 UINT64_C(241208320), // CMTSTv4i16
830 UINT64_C(1319144448), // CMTSTv4i32
831 UINT64_C(1314950144), // CMTSTv8i16
832 UINT64_C(237014016), // CMTSTv8i8
833 UINT64_C(68919296), // CNOT_ZPmZ_B
834 UINT64_C(81502208), // CNOT_ZPmZ_D
835 UINT64_C(73113600), // CNOT_ZPmZ_H
836 UINT64_C(77307904), // CNOT_ZPmZ_S
837 UINT64_C(67870720), // CNOT_ZPzZ_B
838 UINT64_C(80453632), // CNOT_ZPzZ_D
839 UINT64_C(72065024), // CNOT_ZPzZ_H
840 UINT64_C(76259328), // CNOT_ZPzZ_S
841 UINT64_C(69263360), // CNTB_XPiI
842 UINT64_C(81846272), // CNTD_XPiI
843 UINT64_C(73457664), // CNTH_XPiI
844 UINT64_C(622887424), // CNTP_XCI_B
845 UINT64_C(635470336), // CNTP_XCI_D
846 UINT64_C(627081728), // CNTP_XCI_H
847 UINT64_C(631276032), // CNTP_XCI_S
848 UINT64_C(622886912), // CNTP_XPP_B
849 UINT64_C(635469824), // CNTP_XPP_D
850 UINT64_C(627081216), // CNTP_XPP_H
851 UINT64_C(631275520), // CNTP_XPP_S
852 UINT64_C(77651968), // CNTW_XPiI
853 UINT64_C(1522539520), // CNTWr
854 UINT64_C(3670023168), // CNTXr
855 UINT64_C(68853760), // CNT_ZPmZ_B
856 UINT64_C(81436672), // CNT_ZPmZ_D
857 UINT64_C(73048064), // CNT_ZPmZ_H
858 UINT64_C(77242368), // CNT_ZPmZ_S
859 UINT64_C(67805184), // CNT_ZPzZ_B
860 UINT64_C(80388096), // CNT_ZPzZ_D
861 UINT64_C(71999488), // CNT_ZPzZ_H
862 UINT64_C(76193792), // CNT_ZPzZ_S
863 UINT64_C(1310742528), // CNTv16i8
864 UINT64_C(237000704), // CNTv8i8
865 UINT64_C(86081536), // COMPACT_ZPZ_B
866 UINT64_C(98664448), // COMPACT_ZPZ_D
867 UINT64_C(90275840), // COMPACT_ZPZ_H
868 UINT64_C(94470144), // COMPACT_ZPZ_S
869 UINT64_C(494928896), // CPYE
870 UINT64_C(494978048), // CPYEN
871 UINT64_C(494961664), // CPYERN
872 UINT64_C(494937088), // CPYERT
873 UINT64_C(494986240), // CPYERTN
874 UINT64_C(494969856), // CPYERTRN
875 UINT64_C(494953472), // CPYERTWN
876 UINT64_C(494941184), // CPYET
877 UINT64_C(494990336), // CPYETN
878 UINT64_C(494973952), // CPYETRN
879 UINT64_C(494957568), // CPYETWN
880 UINT64_C(494945280), // CPYEWN
881 UINT64_C(494932992), // CPYEWT
882 UINT64_C(494982144), // CPYEWTN
883 UINT64_C(494965760), // CPYEWTRN
884 UINT64_C(494949376), // CPYEWTWN
885 UINT64_C(427820032), // CPYFE
886 UINT64_C(427869184), // CPYFEN
887 UINT64_C(427852800), // CPYFERN
888 UINT64_C(427828224), // CPYFERT
889 UINT64_C(427877376), // CPYFERTN
890 UINT64_C(427860992), // CPYFERTRN
891 UINT64_C(427844608), // CPYFERTWN
892 UINT64_C(427832320), // CPYFET
893 UINT64_C(427881472), // CPYFETN
894 UINT64_C(427865088), // CPYFETRN
895 UINT64_C(427848704), // CPYFETWN
896 UINT64_C(427836416), // CPYFEWN
897 UINT64_C(427824128), // CPYFEWT
898 UINT64_C(427873280), // CPYFEWTN
899 UINT64_C(427856896), // CPYFEWTRN
900 UINT64_C(427840512), // CPYFEWTWN
901 UINT64_C(423625728), // CPYFM
902 UINT64_C(423674880), // CPYFMN
903 UINT64_C(423658496), // CPYFMRN
904 UINT64_C(423633920), // CPYFMRT
905 UINT64_C(423683072), // CPYFMRTN
906 UINT64_C(423666688), // CPYFMRTRN
907 UINT64_C(423650304), // CPYFMRTWN
908 UINT64_C(423638016), // CPYFMT
909 UINT64_C(423687168), // CPYFMTN
910 UINT64_C(423670784), // CPYFMTRN
911 UINT64_C(423654400), // CPYFMTWN
912 UINT64_C(423642112), // CPYFMWN
913 UINT64_C(423629824), // CPYFMWT
914 UINT64_C(423678976), // CPYFMWTN
915 UINT64_C(423662592), // CPYFMWTRN
916 UINT64_C(423646208), // CPYFMWTWN
917 UINT64_C(419431424), // CPYFP
918 UINT64_C(419480576), // CPYFPN
919 UINT64_C(419464192), // CPYFPRN
920 UINT64_C(419439616), // CPYFPRT
921 UINT64_C(419488768), // CPYFPRTN
922 UINT64_C(419472384), // CPYFPRTRN
923 UINT64_C(419456000), // CPYFPRTWN
924 UINT64_C(419443712), // CPYFPT
925 UINT64_C(419492864), // CPYFPTN
926 UINT64_C(419476480), // CPYFPTRN
927 UINT64_C(419460096), // CPYFPTWN
928 UINT64_C(419447808), // CPYFPWN
929 UINT64_C(419435520), // CPYFPWT
930 UINT64_C(419484672), // CPYFPWTN
931 UINT64_C(419468288), // CPYFPWTRN
932 UINT64_C(419451904), // CPYFPWTWN
933 UINT64_C(490734592), // CPYM
934 UINT64_C(490783744), // CPYMN
935 UINT64_C(490767360), // CPYMRN
936 UINT64_C(490742784), // CPYMRT
937 UINT64_C(490791936), // CPYMRTN
938 UINT64_C(490775552), // CPYMRTRN
939 UINT64_C(490759168), // CPYMRTWN
940 UINT64_C(490746880), // CPYMT
941 UINT64_C(490796032), // CPYMTN
942 UINT64_C(490779648), // CPYMTRN
943 UINT64_C(490763264), // CPYMTWN
944 UINT64_C(490750976), // CPYMWN
945 UINT64_C(490738688), // CPYMWT
946 UINT64_C(490787840), // CPYMWTN
947 UINT64_C(490771456), // CPYMWTRN
948 UINT64_C(490755072), // CPYMWTWN
949 UINT64_C(486540288), // CPYP
950 UINT64_C(486589440), // CPYPN
951 UINT64_C(486573056), // CPYPRN
952 UINT64_C(486548480), // CPYPRT
953 UINT64_C(486597632), // CPYPRTN
954 UINT64_C(486581248), // CPYPRTRN
955 UINT64_C(486564864), // CPYPRTWN
956 UINT64_C(486552576), // CPYPT
957 UINT64_C(486601728), // CPYPTN
958 UINT64_C(486585344), // CPYPTRN
959 UINT64_C(486568960), // CPYPTWN
960 UINT64_C(486556672), // CPYPWN
961 UINT64_C(486544384), // CPYPWT
962 UINT64_C(486593536), // CPYPWTN
963 UINT64_C(486577152), // CPYPWTRN
964 UINT64_C(486560768), // CPYPWTWN
965 UINT64_C(84951040), // CPY_ZPmI_B
966 UINT64_C(97533952), // CPY_ZPmI_D
967 UINT64_C(89145344), // CPY_ZPmI_H
968 UINT64_C(93339648), // CPY_ZPmI_S
969 UINT64_C(86548480), // CPY_ZPmR_B
970 UINT64_C(99131392), // CPY_ZPmR_D
971 UINT64_C(90742784), // CPY_ZPmR_H
972 UINT64_C(94937088), // CPY_ZPmR_S
973 UINT64_C(86016000), // CPY_ZPmV_B
974 UINT64_C(98598912), // CPY_ZPmV_D
975 UINT64_C(90210304), // CPY_ZPmV_H
976 UINT64_C(94404608), // CPY_ZPmV_S
977 UINT64_C(84934656), // CPY_ZPzI_B
978 UINT64_C(97517568), // CPY_ZPzI_D
979 UINT64_C(89128960), // CPY_ZPzI_H
980 UINT64_C(93323264), // CPY_ZPzI_S
981 UINT64_C(448806912), // CRC32Brr
982 UINT64_C(448811008), // CRC32CBrr
983 UINT64_C(448812032), // CRC32CHrr
984 UINT64_C(448813056), // CRC32CWrr
985 UINT64_C(2596297728), // CRC32CXrr
986 UINT64_C(448807936), // CRC32Hrr
987 UINT64_C(448808960), // CRC32Wrr
988 UINT64_C(2596293632), // CRC32Xrr
989 UINT64_C(444596224), // CSELWr
990 UINT64_C(2592079872), // CSELXr
991 UINT64_C(444597248), // CSINCWr
992 UINT64_C(2592080896), // CSINCXr
993 UINT64_C(1518338048), // CSINVWr
994 UINT64_C(3665821696), // CSINVXr
995 UINT64_C(1518339072), // CSNEGWr
996 UINT64_C(3665822720), // CSNEGXr
997 UINT64_C(631250944), // CTERMEQ_WW
998 UINT64_C(635445248), // CTERMEQ_XX
999 UINT64_C(631250960), // CTERMNE_WW
1000 UINT64_C(635445264), // CTERMNE_XX
1001 UINT64_C(1522538496), // CTZWr
1002 UINT64_C(3670022144), // CTZXr
1003 UINT64_C(3567255553), // DCPS1
1004 UINT64_C(3567255554), // DCPS2
1005 UINT64_C(3567255555), // DCPS3
1006 UINT64_C(70312960), // DECB_XPiI
1007 UINT64_C(82895872), // DECD_XPiI
1008 UINT64_C(82887680), // DECD_ZPiI
1009 UINT64_C(74507264), // DECH_XPiI
1010 UINT64_C(74499072), // DECH_ZPiI
1011 UINT64_C(623740928), // DECP_XP_B
1012 UINT64_C(636323840), // DECP_XP_D
1013 UINT64_C(627935232), // DECP_XP_H
1014 UINT64_C(632129536), // DECP_XP_S
1015 UINT64_C(636321792), // DECP_ZP_D
1016 UINT64_C(627933184), // DECP_ZP_H
1017 UINT64_C(632127488), // DECP_ZP_S
1018 UINT64_C(78701568), // DECW_XPiI
1019 UINT64_C(78693376), // DECW_ZPiI
1020 UINT64_C(3573756095), // DMB
1021 UINT64_C(3602842592), // DRPS
1022 UINT64_C(3573756063), // DSB
1023 UINT64_C(3573756479), // DSBnXS
1024 UINT64_C(96468992), // DUPM_ZI
1025 UINT64_C(86057984), // DUPQ_ZZI_B
1026 UINT64_C(86516736), // DUPQ_ZZI_D
1027 UINT64_C(86123520), // DUPQ_ZZI_H
1028 UINT64_C(86254592), // DUPQ_ZZI_S
1029 UINT64_C(624476160), // DUP_ZI_B
1030 UINT64_C(637059072), // DUP_ZI_D
1031 UINT64_C(628670464), // DUP_ZI_H
1032 UINT64_C(632864768), // DUP_ZI_S
1033 UINT64_C(85997568), // DUP_ZR_B
1034 UINT64_C(98580480), // DUP_ZR_D
1035 UINT64_C(90191872), // DUP_ZR_H
1036 UINT64_C(94386176), // DUP_ZR_S
1037 UINT64_C(86056960), // DUP_ZZI_B
1038 UINT64_C(86515712), // DUP_ZZI_D
1039 UINT64_C(86122496), // DUP_ZZI_H
1040 UINT64_C(87040000), // DUP_ZZI_Q
1041 UINT64_C(86253568), // DUP_ZZI_S
1042 UINT64_C(1577190400), // DUPi16
1043 UINT64_C(1577321472), // DUPi32
1044 UINT64_C(1577583616), // DUPi64
1045 UINT64_C(1577124864), // DUPi8
1046 UINT64_C(1308691456), // DUPv16i8gpr
1047 UINT64_C(1308689408), // DUPv16i8lane
1048 UINT64_C(235146240), // DUPv2i32gpr
1049 UINT64_C(235144192), // DUPv2i32lane
1050 UINT64_C(1309150208), // DUPv2i64gpr
1051 UINT64_C(1309148160), // DUPv2i64lane
1052 UINT64_C(235015168), // DUPv4i16gpr
1053 UINT64_C(235013120), // DUPv4i16lane
1054 UINT64_C(1308888064), // DUPv4i32gpr
1055 UINT64_C(1308886016), // DUPv4i32lane
1056 UINT64_C(1308756992), // DUPv8i16gpr
1057 UINT64_C(1308754944), // DUPv8i16lane
1058 UINT64_C(234949632), // DUPv8i8gpr
1059 UINT64_C(234947584), // DUPv8i8lane
1060 UINT64_C(1243611136), // EONWrs
1061 UINT64_C(3391094784), // EONXrs
1062 UINT64_C(3456106496), // EOR3
1063 UINT64_C(69220352), // EOR3_ZZZZ
1064 UINT64_C(1157664768), // EORBT_ZZZ_B
1065 UINT64_C(1170247680), // EORBT_ZZZ_D
1066 UINT64_C(1161859072), // EORBT_ZZZ_H
1067 UINT64_C(1166053376), // EORBT_ZZZ_S
1068 UINT64_C(69017600), // EORQV_VPZ_B
1069 UINT64_C(81600512), // EORQV_VPZ_D
1070 UINT64_C(73211904), // EORQV_VPZ_H
1071 UINT64_C(77406208), // EORQV_VPZ_S
1072 UINT64_C(624968192), // EORS_PPzPP
1073 UINT64_C(1157665792), // EORTB_ZZZ_B
1074 UINT64_C(1170248704), // EORTB_ZZZ_D
1075 UINT64_C(1161860096), // EORTB_ZZZ_H
1076 UINT64_C(1166054400), // EORTB_ZZZ_S
1077 UINT64_C(68755456), // EORV_VPZ_B
1078 UINT64_C(81338368), // EORV_VPZ_D
1079 UINT64_C(72949760), // EORV_VPZ_H
1080 UINT64_C(77144064), // EORV_VPZ_S
1081 UINT64_C(1375731712), // EORWri
1082 UINT64_C(1241513984), // EORWrs
1083 UINT64_C(3523215360), // EORXri
1084 UINT64_C(3388997632), // EORXrs
1085 UINT64_C(620773888), // EOR_PPzPP
1086 UINT64_C(88080384), // EOR_ZI
1087 UINT64_C(68747264), // EOR_ZPmZ_B
1088 UINT64_C(81330176), // EOR_ZPmZ_D
1089 UINT64_C(72941568), // EOR_ZPmZ_H
1090 UINT64_C(77135872), // EOR_ZPmZ_S
1091 UINT64_C(77606912), // EOR_ZZZ
1092 UINT64_C(1847598080), // EORv16i8
1093 UINT64_C(773856256), // EORv8i8
1094 UINT64_C(3600745440), // ERET
1095 UINT64_C(3600747519), // ERETAA
1096 UINT64_C(3600748543), // ERETAB
1097 UINT64_C(87130112), // EXPAND_ZPZ_B
1098 UINT64_C(99713024), // EXPAND_ZPZ_D
1099 UINT64_C(91324416), // EXPAND_ZPZ_H
1100 UINT64_C(95518720), // EXPAND_ZPZ_S
1101 UINT64_C(90186752), // EXTQ_ZZI
1102 UINT64_C(3221356544), // EXTRACT_ZPMXI_H_B
1103 UINT64_C(3233939456), // EXTRACT_ZPMXI_H_D
1104 UINT64_C(3225550848), // EXTRACT_ZPMXI_H_H
1105 UINT64_C(3234004992), // EXTRACT_ZPMXI_H_Q
1106 UINT64_C(3229745152), // EXTRACT_ZPMXI_H_S
1107 UINT64_C(3221389312), // EXTRACT_ZPMXI_V_B
1108 UINT64_C(3233972224), // EXTRACT_ZPMXI_V_D
1109 UINT64_C(3225583616), // EXTRACT_ZPMXI_V_H
1110 UINT64_C(3234037760), // EXTRACT_ZPMXI_V_Q
1111 UINT64_C(3229777920), // EXTRACT_ZPMXI_V_S
1112 UINT64_C(327155712), // EXTRWrri
1113 UINT64_C(2478833664), // EXTRXrri
1114 UINT64_C(85983232), // EXT_ZZI
1115 UINT64_C(90177536), // EXT_ZZI_B
1116 UINT64_C(1845493760), // EXTv16i8
1117 UINT64_C(771751936), // EXTv8i8
1118 UINT64_C(773945344), // F1CVTL
1119 UINT64_C(1847687168), // F1CVTL2
1120 UINT64_C(1695100928), // F1CVTLT_ZZ_BtoH
1121 UINT64_C(3240550401), // F1CVTL_2ZZ_BtoH
1122 UINT64_C(3240550400), // F1CVT_2ZZ_BtoH
1123 UINT64_C(1695035392), // F1CVT_ZZ_BtoH
1124 UINT64_C(778139648), // F2CVTL
1125 UINT64_C(1851881472), // F2CVTL2
1126 UINT64_C(1695101952), // F2CVTLT_ZZ_BtoH
1127 UINT64_C(3248939009), // F2CVTL_2ZZ_BtoH
1128 UINT64_C(3248939008), // F2CVT_2ZZ_BtoH
1129 UINT64_C(1695036416), // F2CVT_ZZ_BtoH
1130 UINT64_C(2126517248), // FABD16
1131 UINT64_C(2124469248), // FABD32
1132 UINT64_C(2128663552), // FABD64
1133 UINT64_C(1707638784), // FABD_ZPmZ_D
1134 UINT64_C(1699250176), // FABD_ZPmZ_H
1135 UINT64_C(1703444480), // FABD_ZPmZ_S
1136 UINT64_C(782291968), // FABDv2f32
1137 UINT64_C(1860228096), // FABDv2f64
1138 UINT64_C(784339968), // FABDv4f16
1139 UINT64_C(1856033792), // FABDv4f32
1140 UINT64_C(1858081792), // FABDv8f16
1141 UINT64_C(509657088), // FABSDr
1142 UINT64_C(518045696), // FABSHr
1143 UINT64_C(505462784), // FABSSr
1144 UINT64_C(81567744), // FABS_ZPmZ_D
1145 UINT64_C(73179136), // FABS_ZPmZ_H
1146 UINT64_C(77373440), // FABS_ZPmZ_S
1147 UINT64_C(80519168), // FABS_ZPzZ_D
1148 UINT64_C(72130560), // FABS_ZPzZ_H
1149 UINT64_C(76324864), // FABS_ZPzZ_S
1150 UINT64_C(245430272), // FABSv2f32
1151 UINT64_C(1323366400), // FABSv2f64
1152 UINT64_C(251197440), // FABSv4f16
1153 UINT64_C(1319172096), // FABSv4f32
1154 UINT64_C(1324939264), // FABSv8f16
1155 UINT64_C(2118134784), // FACGE16
1156 UINT64_C(2116086784), // FACGE32
1157 UINT64_C(2120281088), // FACGE64
1158 UINT64_C(1707130896), // FACGE_PPzZZ_D
1159 UINT64_C(1698742288), // FACGE_PPzZZ_H
1160 UINT64_C(1702936592), // FACGE_PPzZZ_S
1161 UINT64_C(773909504), // FACGEv2f32
1162 UINT64_C(1851845632), // FACGEv2f64
1163 UINT64_C(775957504), // FACGEv4f16
1164 UINT64_C(1847651328), // FACGEv4f32
1165 UINT64_C(1849699328), // FACGEv8f16
1166 UINT64_C(2126523392), // FACGT16
1167 UINT64_C(2124475392), // FACGT32
1168 UINT64_C(2128669696), // FACGT64
1169 UINT64_C(1707139088), // FACGT_PPzZZ_D
1170 UINT64_C(1698750480), // FACGT_PPzZZ_H
1171 UINT64_C(1702944784), // FACGT_PPzZZ_S
1172 UINT64_C(782298112), // FACGTv2f32
1173 UINT64_C(1860234240), // FACGTv2f64
1174 UINT64_C(784346112), // FACGTv4f16
1175 UINT64_C(1856039936), // FACGTv4f32
1176 UINT64_C(1858087936), // FACGTv8f16
1177 UINT64_C(1708662784), // FADDA_VPZ_D
1178 UINT64_C(1700274176), // FADDA_VPZ_H
1179 UINT64_C(1704468480), // FADDA_VPZ_S
1180 UINT64_C(509618176), // FADDDrr
1181 UINT64_C(518006784), // FADDHrr
1182 UINT64_C(1691385856), // FADDP_ZPmZZ_D
1183 UINT64_C(1682997248), // FADDP_ZPmZZ_H
1184 UINT64_C(1687191552), // FADDP_ZPmZZ_S
1185 UINT64_C(773903360), // FADDPv2f32
1186 UINT64_C(1851839488), // FADDPv2f64
1187 UINT64_C(1580259328), // FADDPv2i16p
1188 UINT64_C(2117130240), // FADDPv2i32p
1189 UINT64_C(2121324544), // FADDPv2i64p
1190 UINT64_C(775951360), // FADDPv4f16
1191 UINT64_C(1847645184), // FADDPv4f32
1192 UINT64_C(1849693184), // FADDPv8f16
1193 UINT64_C(1691394048), // FADDQV_D
1194 UINT64_C(1683005440), // FADDQV_H
1195 UINT64_C(1687199744), // FADDQV_S
1196 UINT64_C(505423872), // FADDSrr
1197 UINT64_C(1707089920), // FADDV_VPZ_D
1198 UINT64_C(1698701312), // FADDV_VPZ_H
1199 UINT64_C(1702895616), // FADDV_VPZ_S
1200 UINT64_C(3252689920), // FADD_VG2_M2Z_D
1201 UINT64_C(3248757760), // FADD_VG2_M2Z_H
1202 UINT64_C(3248495616), // FADD_VG2_M2Z_S
1203 UINT64_C(3252755456), // FADD_VG4_M4Z_D
1204 UINT64_C(3248823296), // FADD_VG4_M4Z_H
1205 UINT64_C(3248561152), // FADD_VG4_M4Z_S
1206 UINT64_C(1708687360), // FADD_ZPmI_D
1207 UINT64_C(1700298752), // FADD_ZPmI_H
1208 UINT64_C(1704493056), // FADD_ZPmI_S
1209 UINT64_C(1707114496), // FADD_ZPmZ_D
1210 UINT64_C(1698725888), // FADD_ZPmZ_H
1211 UINT64_C(1702920192), // FADD_ZPmZ_S
1212 UINT64_C(1707081728), // FADD_ZZZ_D
1213 UINT64_C(1698693120), // FADD_ZZZ_H
1214 UINT64_C(1702887424), // FADD_ZZZ_S
1215 UINT64_C(237032448), // FADDv2f32
1216 UINT64_C(1314968576), // FADDv2f64
1217 UINT64_C(239080448), // FADDv4f16
1218 UINT64_C(1310774272), // FADDv4f32
1219 UINT64_C(1312822272), // FADDv8f16
1220 UINT64_C(3252728128), // FAMAX_2Z2Z_D
1221 UINT64_C(3244339520), // FAMAX_2Z2Z_H
1222 UINT64_C(3248533824), // FAMAX_2Z2Z_S
1223 UINT64_C(3252730176), // FAMAX_4Z4Z_D
1224 UINT64_C(3244341568), // FAMAX_4Z4Z_H
1225 UINT64_C(3248535872), // FAMAX_4Z4Z_S
1226 UINT64_C(1708032000), // FAMAX_ZPmZ_D
1227 UINT64_C(1699643392), // FAMAX_ZPmZ_H
1228 UINT64_C(1703837696), // FAMAX_ZPmZ_S
1229 UINT64_C(245423104), // FAMAXv2f32
1230 UINT64_C(1323359232), // FAMAXv2f64
1231 UINT64_C(247471104), // FAMAXv4f16
1232 UINT64_C(1319164928), // FAMAXv4f32
1233 UINT64_C(1321212928), // FAMAXv8f16
1234 UINT64_C(3252728129), // FAMIN_2Z2Z_D
1235 UINT64_C(3244339521), // FAMIN_2Z2Z_H
1236 UINT64_C(3248533825), // FAMIN_2Z2Z_S
1237 UINT64_C(3252730177), // FAMIN_4Z4Z_D
1238 UINT64_C(3244341569), // FAMIN_4Z4Z_H
1239 UINT64_C(3248535873), // FAMIN_4Z4Z_S
1240 UINT64_C(1708097536), // FAMIN_ZPmZ_D
1241 UINT64_C(1699708928), // FAMIN_ZPmZ_H
1242 UINT64_C(1703903232), // FAMIN_ZPmZ_S
1243 UINT64_C(782294016), // FAMINv2f32
1244 UINT64_C(1860230144), // FAMINv2f64
1245 UINT64_C(784342016), // FAMINv4f16
1246 UINT64_C(1856035840), // FAMINv4f32
1247 UINT64_C(1858083840), // FAMINv8f16
1248 UINT64_C(1690337280), // FCADD_ZPmZ_D
1249 UINT64_C(1681948672), // FCADD_ZPmZ_H
1250 UINT64_C(1686142976), // FCADD_ZPmZ_S
1251 UINT64_C(780198912), // FCADDv2f32
1252 UINT64_C(1858135040), // FCADDv2f64
1253 UINT64_C(776004608), // FCADDv4f16
1254 UINT64_C(1853940736), // FCADDv4f32
1255 UINT64_C(1849746432), // FCADDv8f16
1256 UINT64_C(509608960), // FCCMPDrr
1257 UINT64_C(509608976), // FCCMPEDrr
1258 UINT64_C(517997584), // FCCMPEHrr
1259 UINT64_C(505414672), // FCCMPESrr
1260 UINT64_C(517997568), // FCCMPHrr
1261 UINT64_C(505414656), // FCCMPSrr
1262 UINT64_C(3252731904), // FCLAMP_VG2_2Z2Z_D
1263 UINT64_C(3244343296), // FCLAMP_VG2_2Z2Z_H
1264 UINT64_C(3248537600), // FCLAMP_VG2_2Z2Z_S
1265 UINT64_C(3252733952), // FCLAMP_VG4_4Z4Z_D
1266 UINT64_C(3244345344), // FCLAMP_VG4_4Z4Z_H
1267 UINT64_C(3248539648), // FCLAMP_VG4_4Z4Z_S
1268 UINT64_C(1692410880), // FCLAMP_ZZZ_D
1269 UINT64_C(1684022272), // FCLAMP_ZZZ_H
1270 UINT64_C(1688216576), // FCLAMP_ZZZ_S
1271 UINT64_C(1581261824), // FCMEQ16
1272 UINT64_C(1579213824), // FCMEQ32
1273 UINT64_C(1583408128), // FCMEQ64
1274 UINT64_C(1708269568), // FCMEQ_PPzZ0_D
1275 UINT64_C(1699880960), // FCMEQ_PPzZ0_H
1276 UINT64_C(1704075264), // FCMEQ_PPzZ0_S
1277 UINT64_C(1707106304), // FCMEQ_PPzZZ_D
1278 UINT64_C(1698717696), // FCMEQ_PPzZZ_H
1279 UINT64_C(1702912000), // FCMEQ_PPzZZ_S
1280 UINT64_C(1593366528), // FCMEQv1i16rz
1281 UINT64_C(1587599360), // FCMEQv1i32rz
1282 UINT64_C(1591793664), // FCMEQv1i64rz
1283 UINT64_C(237036544), // FCMEQv2f32
1284 UINT64_C(1314972672), // FCMEQv2f64
1285 UINT64_C(245422080), // FCMEQv2i32rz
1286 UINT64_C(1323358208), // FCMEQv2i64rz
1287 UINT64_C(239084544), // FCMEQv4f16
1288 UINT64_C(1310778368), // FCMEQv4f32
1289 UINT64_C(251189248), // FCMEQv4i16rz
1290 UINT64_C(1319163904), // FCMEQv4i32rz
1291 UINT64_C(1312826368), // FCMEQv8f16
1292 UINT64_C(1324931072), // FCMEQv8i16rz
1293 UINT64_C(2118132736), // FCMGE16
1294 UINT64_C(2116084736), // FCMGE32
1295 UINT64_C(2120279040), // FCMGE64
1296 UINT64_C(1708138496), // FCMGE_PPzZ0_D
1297 UINT64_C(1699749888), // FCMGE_PPzZ0_H
1298 UINT64_C(1703944192), // FCMGE_PPzZ0_S
1299 UINT64_C(1707098112), // FCMGE_PPzZZ_D
1300 UINT64_C(1698709504), // FCMGE_PPzZZ_H
1301 UINT64_C(1702903808), // FCMGE_PPzZZ_S
1302 UINT64_C(2130233344), // FCMGEv1i16rz
1303 UINT64_C(2124466176), // FCMGEv1i32rz
1304 UINT64_C(2128660480), // FCMGEv1i64rz
1305 UINT64_C(773907456), // FCMGEv2f32
1306 UINT64_C(1851843584), // FCMGEv2f64
1307 UINT64_C(782288896), // FCMGEv2i32rz
1308 UINT64_C(1860225024), // FCMGEv2i64rz
1309 UINT64_C(775955456), // FCMGEv4f16
1310 UINT64_C(1847649280), // FCMGEv4f32
1311 UINT64_C(788056064), // FCMGEv4i16rz
1312 UINT64_C(1856030720), // FCMGEv4i32rz
1313 UINT64_C(1849697280), // FCMGEv8f16
1314 UINT64_C(1861797888), // FCMGEv8i16rz
1315 UINT64_C(2126521344), // FCMGT16
1316 UINT64_C(2124473344), // FCMGT32
1317 UINT64_C(2128667648), // FCMGT64
1318 UINT64_C(1708138512), // FCMGT_PPzZ0_D
1319 UINT64_C(1699749904), // FCMGT_PPzZ0_H
1320 UINT64_C(1703944208), // FCMGT_PPzZ0_S
1321 UINT64_C(1707098128), // FCMGT_PPzZZ_D
1322 UINT64_C(1698709520), // FCMGT_PPzZZ_H
1323 UINT64_C(1702903824), // FCMGT_PPzZZ_S
1324 UINT64_C(1593362432), // FCMGTv1i16rz
1325 UINT64_C(1587595264), // FCMGTv1i32rz
1326 UINT64_C(1591789568), // FCMGTv1i64rz
1327 UINT64_C(782296064), // FCMGTv2f32
1328 UINT64_C(1860232192), // FCMGTv2f64
1329 UINT64_C(245417984), // FCMGTv2i32rz
1330 UINT64_C(1323354112), // FCMGTv2i64rz
1331 UINT64_C(784344064), // FCMGTv4f16
1332 UINT64_C(1856037888), // FCMGTv4f32
1333 UINT64_C(251185152), // FCMGTv4i16rz
1334 UINT64_C(1319159808), // FCMGTv4i32rz
1335 UINT64_C(1858085888), // FCMGTv8f16
1336 UINT64_C(1324926976), // FCMGTv8i16rz
1337 UINT64_C(1690304512), // FCMLA_ZPmZZ_D
1338 UINT64_C(1681915904), // FCMLA_ZPmZZ_H
1339 UINT64_C(1686110208), // FCMLA_ZPmZZ_S
1340 UINT64_C(1688211456), // FCMLA_ZZZI_H
1341 UINT64_C(1692405760), // FCMLA_ZZZI_S
1342 UINT64_C(780190720), // FCMLAv2f32
1343 UINT64_C(1858126848), // FCMLAv2f64
1344 UINT64_C(775996416), // FCMLAv4f16
1345 UINT64_C(792727552), // FCMLAv4f16_indexed
1346 UINT64_C(1853932544), // FCMLAv4f32
1347 UINT64_C(1870663680), // FCMLAv4f32_indexed
1348 UINT64_C(1849738240), // FCMLAv8f16
1349 UINT64_C(1866469376), // FCMLAv8f16_indexed
1350 UINT64_C(1708204048), // FCMLE_PPzZ0_D
1351 UINT64_C(1699815440), // FCMLE_PPzZ0_H
1352 UINT64_C(1704009744), // FCMLE_PPzZ0_S
1353 UINT64_C(2130237440), // FCMLEv1i16rz
1354 UINT64_C(2124470272), // FCMLEv1i32rz
1355 UINT64_C(2128664576), // FCMLEv1i64rz
1356 UINT64_C(782292992), // FCMLEv2i32rz
1357 UINT64_C(1860229120), // FCMLEv2i64rz
1358 UINT64_C(788060160), // FCMLEv4i16rz
1359 UINT64_C(1856034816), // FCMLEv4i32rz
1360 UINT64_C(1861801984), // FCMLEv8i16rz
1361 UINT64_C(1708204032), // FCMLT_PPzZ0_D
1362 UINT64_C(1699815424), // FCMLT_PPzZ0_H
1363 UINT64_C(1704009728), // FCMLT_PPzZ0_S
1364 UINT64_C(1593370624), // FCMLTv1i16rz
1365 UINT64_C(1587603456), // FCMLTv1i32rz
1366 UINT64_C(1591797760), // FCMLTv1i64rz
1367 UINT64_C(245426176), // FCMLTv2i32rz
1368 UINT64_C(1323362304), // FCMLTv2i64rz
1369 UINT64_C(251193344), // FCMLTv4i16rz
1370 UINT64_C(1319168000), // FCMLTv4i32rz
1371 UINT64_C(1324935168), // FCMLTv8i16rz
1372 UINT64_C(1708335104), // FCMNE_PPzZ0_D
1373 UINT64_C(1699946496), // FCMNE_PPzZ0_H
1374 UINT64_C(1704140800), // FCMNE_PPzZ0_S
1375 UINT64_C(1707106320), // FCMNE_PPzZZ_D
1376 UINT64_C(1698717712), // FCMNE_PPzZZ_H
1377 UINT64_C(1702912016), // FCMNE_PPzZZ_S
1378 UINT64_C(509616136), // FCMPDri
1379 UINT64_C(509616128), // FCMPDrr
1380 UINT64_C(509616152), // FCMPEDri
1381 UINT64_C(509616144), // FCMPEDrr
1382 UINT64_C(518004760), // FCMPEHri
1383 UINT64_C(518004752), // FCMPEHrr
1384 UINT64_C(505421848), // FCMPESri
1385 UINT64_C(505421840), // FCMPESrr
1386 UINT64_C(518004744), // FCMPHri
1387 UINT64_C(518004736), // FCMPHrr
1388 UINT64_C(505421832), // FCMPSri
1389 UINT64_C(505421824), // FCMPSrr
1390 UINT64_C(1707130880), // FCMUO_PPzZZ_D
1391 UINT64_C(1698742272), // FCMUO_PPzZZ_H
1392 UINT64_C(1702936576), // FCMUO_PPzZZ_S
1393 UINT64_C(97566720), // FCPY_ZPmI_D
1394 UINT64_C(89178112), // FCPY_ZPmI_H
1395 UINT64_C(93372416), // FCPY_ZPmI_S
1396 UINT64_C(509611008), // FCSELDrrr
1397 UINT64_C(517999616), // FCSELHrrr
1398 UINT64_C(505416704), // FCSELSrrr
1399 UINT64_C(2667184128), // FCVTASDHr
1400 UINT64_C(2654601216), // FCVTASDSr
1401 UINT64_C(511311872), // FCVTASSDr
1402 UINT64_C(519700480), // FCVTASSHr
1403 UINT64_C(509870080), // FCVTASUWDr
1404 UINT64_C(518258688), // FCVTASUWHr
1405 UINT64_C(505675776), // FCVTASUWSr
1406 UINT64_C(2657353728), // FCVTASUXDr
1407 UINT64_C(2665742336), // FCVTASUXHr
1408 UINT64_C(2653159424), // FCVTASUXSr
1409 UINT64_C(1585039360), // FCVTASv1f16
1410 UINT64_C(1579272192), // FCVTASv1i32
1411 UINT64_C(1583466496), // FCVTASv1i64
1412 UINT64_C(237094912), // FCVTASv2f32
1413 UINT64_C(1315031040), // FCVTASv2f64
1414 UINT64_C(242862080), // FCVTASv4f16
1415 UINT64_C(1310836736), // FCVTASv4f32
1416 UINT64_C(1316603904), // FCVTASv8f16
1417 UINT64_C(2667249664), // FCVTAUDHr
1418 UINT64_C(2654666752), // FCVTAUDSr
1419 UINT64_C(511377408), // FCVTAUSDr
1420 UINT64_C(519766016), // FCVTAUSHr
1421 UINT64_C(509935616), // FCVTAUUWDr
1422 UINT64_C(518324224), // FCVTAUUWHr
1423 UINT64_C(505741312), // FCVTAUUWSr
1424 UINT64_C(2657419264), // FCVTAUUXDr
1425 UINT64_C(2665807872), // FCVTAUUXHr
1426 UINT64_C(2653224960), // FCVTAUUXSr
1427 UINT64_C(2121910272), // FCVTAUv1f16
1428 UINT64_C(2116143104), // FCVTAUv1i32
1429 UINT64_C(2120337408), // FCVTAUv1i64
1430 UINT64_C(773965824), // FCVTAUv2f32
1431 UINT64_C(1851901952), // FCVTAUv2f64
1432 UINT64_C(779732992), // FCVTAUv4f16
1433 UINT64_C(1847707648), // FCVTAUv4f32
1434 UINT64_C(1853474816), // FCVTAUv8f16
1435 UINT64_C(518176768), // FCVTDHr
1436 UINT64_C(505593856), // FCVTDSr
1437 UINT64_C(509853696), // FCVTHDr
1438 UINT64_C(505659392), // FCVTHSr
1439 UINT64_C(1686740992), // FCVTLT_ZPmZ_HtoS
1440 UINT64_C(1691066368), // FCVTLT_ZPmZ_StoD
1441 UINT64_C(1686216704), // FCVTLT_ZPzZ_HtoS
1442 UINT64_C(1690542080), // FCVTLT_ZPzZ_StoD
1443 UINT64_C(3248545793), // FCVTL_2ZZ_H_S
1444 UINT64_C(241268736), // FCVTLv2i32
1445 UINT64_C(237074432), // FCVTLv4i16
1446 UINT64_C(1315010560), // FCVTLv4i32
1447 UINT64_C(1310816256), // FCVTLv8i16
1448 UINT64_C(2666790912), // FCVTMSDHr
1449 UINT64_C(2654208000), // FCVTMSDSr
1450 UINT64_C(510918656), // FCVTMSSDr
1451 UINT64_C(519307264), // FCVTMSSHr
1452 UINT64_C(510656512), // FCVTMSUWDr
1453 UINT64_C(519045120), // FCVTMSUWHr
1454 UINT64_C(506462208), // FCVTMSUWSr
1455 UINT64_C(2658140160), // FCVTMSUXDr
1456 UINT64_C(2666528768), // FCVTMSUXHr
1457 UINT64_C(2653945856), // FCVTMSUXSr
1458 UINT64_C(1585035264), // FCVTMSv1f16
1459 UINT64_C(1579268096), // FCVTMSv1i32
1460 UINT64_C(1583462400), // FCVTMSv1i64
1461 UINT64_C(237090816), // FCVTMSv2f32
1462 UINT64_C(1315026944), // FCVTMSv2f64
1463 UINT64_C(242857984), // FCVTMSv4f16
1464 UINT64_C(1310832640), // FCVTMSv4f32
1465 UINT64_C(1316599808), // FCVTMSv8f16
1466 UINT64_C(2666856448), // FCVTMUDHr
1467 UINT64_C(2654273536), // FCVTMUDSr
1468 UINT64_C(510984192), // FCVTMUSDr
1469 UINT64_C(519372800), // FCVTMUSHr
1470 UINT64_C(510722048), // FCVTMUUWDr
1471 UINT64_C(519110656), // FCVTMUUWHr
1472 UINT64_C(506527744), // FCVTMUUWSr
1473 UINT64_C(2658205696), // FCVTMUUXDr
1474 UINT64_C(2666594304), // FCVTMUUXHr
1475 UINT64_C(2654011392), // FCVTMUUXSr
1476 UINT64_C(2121906176), // FCVTMUv1f16
1477 UINT64_C(2116139008), // FCVTMUv1i32
1478 UINT64_C(2120333312), // FCVTMUv1i64
1479 UINT64_C(773961728), // FCVTMUv2f32
1480 UINT64_C(1851897856), // FCVTMUv2f64
1481 UINT64_C(779728896), // FCVTMUv4f16
1482 UINT64_C(1847703552), // FCVTMUv4f32
1483 UINT64_C(1853470720), // FCVTMUv8f16
1484 UINT64_C(1695167488), // FCVTNB_Z2Z_StoB
1485 UINT64_C(2666135552), // FCVTNSDHr
1486 UINT64_C(2653552640), // FCVTNSDSr
1487 UINT64_C(510263296), // FCVTNSSDr
1488 UINT64_C(518651904), // FCVTNSSHr
1489 UINT64_C(509607936), // FCVTNSUWDr
1490 UINT64_C(517996544), // FCVTNSUWHr
1491 UINT64_C(505413632), // FCVTNSUWSr
1492 UINT64_C(2657091584), // FCVTNSUXDr
1493 UINT64_C(2665480192), // FCVTNSUXHr
1494 UINT64_C(2652897280), // FCVTNSUXSr
1495 UINT64_C(1585031168), // FCVTNSv1f16
1496 UINT64_C(1579264000), // FCVTNSv1i32
1497 UINT64_C(1583458304), // FCVTNSv1i64
1498 UINT64_C(237086720), // FCVTNSv2f32
1499 UINT64_C(1315022848), // FCVTNSv2f64
1500 UINT64_C(242853888), // FCVTNSv4f16
1501 UINT64_C(1310828544), // FCVTNSv4f32
1502 UINT64_C(1316595712), // FCVTNSv8f16
1503 UINT64_C(1695169536), // FCVTNT_Z2Z_StoB
1504 UINT64_C(1691000832), // FCVTNT_ZPmZ_DtoS
1505 UINT64_C(1686675456), // FCVTNT_ZPmZ_StoH
1506 UINT64_C(1690476544), // FCVTNT_ZPzZ_DtoS
1507 UINT64_C(1686151168), // FCVTNT_ZPzZ_StoH
1508 UINT64_C(2666201088), // FCVTNUDHr
1509 UINT64_C(2653618176), // FCVTNUDSr
1510 UINT64_C(510328832), // FCVTNUSDr
1511 UINT64_C(518717440), // FCVTNUSHr
1512 UINT64_C(509673472), // FCVTNUUWDr
1513 UINT64_C(518062080), // FCVTNUUWHr
1514 UINT64_C(505479168), // FCVTNUUWSr
1515 UINT64_C(2657157120), // FCVTNUUXDr
1516 UINT64_C(2665545728), // FCVTNUUXHr
1517 UINT64_C(2652962816), // FCVTNUUXSr
1518 UINT64_C(2121902080), // FCVTNUv1f16
1519 UINT64_C(2116134912), // FCVTNUv1i32
1520 UINT64_C(2120329216), // FCVTNUv1i64
1521 UINT64_C(773957632), // FCVTNUv2f32
1522 UINT64_C(1851893760), // FCVTNUv2f64
1523 UINT64_C(779724800), // FCVTNUv4f16
1524 UINT64_C(1847699456), // FCVTNUv4f32
1525 UINT64_C(1853466624), // FCVTNUv8f16
1526 UINT64_C(1312879616), // FCVTN_F16v16f8
1527 UINT64_C(239137792), // FCVTN_F16v8f8
1528 UINT64_C(1308685312), // FCVTN_F322v16f8
1529 UINT64_C(234943488), // FCVTN_F32v8f8
1530 UINT64_C(1695166464), // FCVTN_Z2Z_HtoB
1531 UINT64_C(3240157216), // FCVTN_Z2Z_StoH
1532 UINT64_C(3241467936), // FCVTN_Z4Z_StoB
1533 UINT64_C(241264640), // FCVTNv2i32
1534 UINT64_C(237070336), // FCVTNv4i16
1535 UINT64_C(1315006464), // FCVTNv4i32
1536 UINT64_C(1310812160), // FCVTNv8i16
1537 UINT64_C(2666659840), // FCVTPSDHr
1538 UINT64_C(2654076928), // FCVTPSDSr
1539 UINT64_C(510787584), // FCVTPSSDr
1540 UINT64_C(519176192), // FCVTPSSHr
1541 UINT64_C(510132224), // FCVTPSUWDr
1542 UINT64_C(518520832), // FCVTPSUWHr
1543 UINT64_C(505937920), // FCVTPSUWSr
1544 UINT64_C(2657615872), // FCVTPSUXDr
1545 UINT64_C(2666004480), // FCVTPSUXHr
1546 UINT64_C(2653421568), // FCVTPSUXSr
1547 UINT64_C(1593419776), // FCVTPSv1f16
1548 UINT64_C(1587652608), // FCVTPSv1i32
1549 UINT64_C(1591846912), // FCVTPSv1i64
1550 UINT64_C(245475328), // FCVTPSv2f32
1551 UINT64_C(1323411456), // FCVTPSv2f64
1552 UINT64_C(251242496), // FCVTPSv4f16
1553 UINT64_C(1319217152), // FCVTPSv4f32
1554 UINT64_C(1324984320), // FCVTPSv8f16
1555 UINT64_C(2666725376), // FCVTPUDHr
1556 UINT64_C(2654142464), // FCVTPUDSr
1557 UINT64_C(510853120), // FCVTPUSDr
1558 UINT64_C(519241728), // FCVTPUSHr
1559 UINT64_C(510197760), // FCVTPUUWDr
1560 UINT64_C(518586368), // FCVTPUUWHr
1561 UINT64_C(506003456), // FCVTPUUWSr
1562 UINT64_C(2657681408), // FCVTPUUXDr
1563 UINT64_C(2666070016), // FCVTPUUXHr
1564 UINT64_C(2653487104), // FCVTPUUXSr
1565 UINT64_C(2130290688), // FCVTPUv1f16
1566 UINT64_C(2124523520), // FCVTPUv1i32
1567 UINT64_C(2128717824), // FCVTPUv1i64
1568 UINT64_C(782346240), // FCVTPUv2f32
1569 UINT64_C(1860282368), // FCVTPUv2f64
1570 UINT64_C(788113408), // FCVTPUv4f16
1571 UINT64_C(1856088064), // FCVTPUv4f32
1572 UINT64_C(1861855232), // FCVTPUv8f16
1573 UINT64_C(509755392), // FCVTSDr
1574 UINT64_C(518144000), // FCVTSHr
1575 UINT64_C(1678417920), // FCVTXNT_ZPmZ_DtoS
1576 UINT64_C(1677893632), // FCVTXNT_ZPzZ_StoD
1577 UINT64_C(2120312832), // FCVTXNv1i64
1578 UINT64_C(778135552), // FCVTXNv2f32
1579 UINT64_C(1851877376), // FCVTXNv4f32
1580 UINT64_C(1695195136), // FCVTX_ZPmZ_DtoS
1581 UINT64_C(1679474688), // FCVTX_ZPzZ_DtoS
1582 UINT64_C(2666921984), // FCVTZSDHr
1583 UINT64_C(2654339072), // FCVTZSDSr
1584 UINT64_C(1707945984), // FCVTZSN_Z2Z_DtoS
1585 UINT64_C(1699557376), // FCVTZSN_Z2Z_HtoB
1586 UINT64_C(1703751680), // FCVTZSN_Z2Z_StoH
1587 UINT64_C(511049728), // FCVTZSSDr
1588 UINT64_C(519438336), // FCVTZSSHr
1589 UINT64_C(509116416), // FCVTZSSWDri
1590 UINT64_C(517505024), // FCVTZSSWHri
1591 UINT64_C(504922112), // FCVTZSSWSri
1592 UINT64_C(2656567296), // FCVTZSSXDri
1593 UINT64_C(2664955904), // FCVTZSSXHri
1594 UINT64_C(2652372992), // FCVTZSSXSri
1595 UINT64_C(511180800), // FCVTZSUWDr
1596 UINT64_C(519569408), // FCVTZSUWHr
1597 UINT64_C(506986496), // FCVTZSUWSr
1598 UINT64_C(2658664448), // FCVTZSUXDr
1599 UINT64_C(2667053056), // FCVTZSUXHr
1600 UINT64_C(2654470144), // FCVTZSUXSr
1601 UINT64_C(3240222720), // FCVTZS_2Z2Z_StoS
1602 UINT64_C(3241271296), // FCVTZS_4Z4Z_StoS
1603 UINT64_C(1709088768), // FCVTZS_ZPmZ_DtoD
1604 UINT64_C(1708695552), // FCVTZS_ZPmZ_DtoS
1605 UINT64_C(1700700160), // FCVTZS_ZPmZ_HtoD
1606 UINT64_C(1700438016), // FCVTZS_ZPmZ_HtoH
1607 UINT64_C(1700569088), // FCVTZS_ZPmZ_HtoS
1608 UINT64_C(1708957696), // FCVTZS_ZPmZ_StoD
1609 UINT64_C(1704763392), // FCVTZS_ZPmZ_StoS
1610 UINT64_C(1692385280), // FCVTZS_ZPzZ_DtoD
1611 UINT64_C(1692303360), // FCVTZS_ZPzZ_DtoS
1612 UINT64_C(1683996672), // FCVTZS_ZPzZ_HtoD
1613 UINT64_C(1683931136), // FCVTZS_ZPzZ_HtoH
1614 UINT64_C(1683980288), // FCVTZS_ZPzZ_HtoS
1615 UINT64_C(1692368896), // FCVTZS_ZPzZ_StoD
1616 UINT64_C(1688174592), // FCVTZS_ZPzZ_StoS
1617 UINT64_C(1598094336), // FCVTZSd
1618 UINT64_C(1594948608), // FCVTZSh
1619 UINT64_C(1595997184), // FCVTZSs
1620 UINT64_C(1593423872), // FCVTZSv1f16
1621 UINT64_C(1587656704), // FCVTZSv1i32
1622 UINT64_C(1591851008), // FCVTZSv1i64
1623 UINT64_C(245479424), // FCVTZSv2f32
1624 UINT64_C(1323415552), // FCVTZSv2f64
1625 UINT64_C(253819904), // FCVTZSv2i32_shift
1626 UINT64_C(1329658880), // FCVTZSv2i64_shift
1627 UINT64_C(251246592), // FCVTZSv4f16
1628 UINT64_C(1319221248), // FCVTZSv4f32
1629 UINT64_C(252771328), // FCVTZSv4i16_shift
1630 UINT64_C(1327561728), // FCVTZSv4i32_shift
1631 UINT64_C(1324988416), // FCVTZSv8f16
1632 UINT64_C(1326513152), // FCVTZSv8i16_shift
1633 UINT64_C(2666987520), // FCVTZUDHr
1634 UINT64_C(2654404608), // FCVTZUDSr
1635 UINT64_C(1707947008), // FCVTZUN_Z2Z_DtoS
1636 UINT64_C(1699558400), // FCVTZUN_Z2Z_HtoB
1637 UINT64_C(1703752704), // FCVTZUN_Z2Z_StoH
1638 UINT64_C(511115264), // FCVTZUSDr
1639 UINT64_C(519503872), // FCVTZUSHr
1640 UINT64_C(509181952), // FCVTZUSWDri
1641 UINT64_C(517570560), // FCVTZUSWHri
1642 UINT64_C(504987648), // FCVTZUSWSri
1643 UINT64_C(2656632832), // FCVTZUSXDri
1644 UINT64_C(2665021440), // FCVTZUSXHri
1645 UINT64_C(2652438528), // FCVTZUSXSri
1646 UINT64_C(511246336), // FCVTZUUWDr
1647 UINT64_C(519634944), // FCVTZUUWHr
1648 UINT64_C(507052032), // FCVTZUUWSr
1649 UINT64_C(2658729984), // FCVTZUUXDr
1650 UINT64_C(2667118592), // FCVTZUUXHr
1651 UINT64_C(2654535680), // FCVTZUUXSr
1652 UINT64_C(3240222752), // FCVTZU_2Z2Z_StoS
1653 UINT64_C(3241271328), // FCVTZU_4Z4Z_StoS
1654 UINT64_C(1709154304), // FCVTZU_ZPmZ_DtoD
1655 UINT64_C(1708761088), // FCVTZU_ZPmZ_DtoS
1656 UINT64_C(1700765696), // FCVTZU_ZPmZ_HtoD
1657 UINT64_C(1700503552), // FCVTZU_ZPmZ_HtoH
1658 UINT64_C(1700634624), // FCVTZU_ZPmZ_HtoS
1659 UINT64_C(1709023232), // FCVTZU_ZPmZ_StoD
1660 UINT64_C(1704828928), // FCVTZU_ZPmZ_StoS
1661 UINT64_C(1692393472), // FCVTZU_ZPzZ_DtoD
1662 UINT64_C(1692311552), // FCVTZU_ZPzZ_DtoS
1663 UINT64_C(1684004864), // FCVTZU_ZPzZ_HtoD
1664 UINT64_C(1683939328), // FCVTZU_ZPzZ_HtoH
1665 UINT64_C(1683988480), // FCVTZU_ZPzZ_HtoS
1666 UINT64_C(1692377088), // FCVTZU_ZPzZ_StoD
1667 UINT64_C(1688182784), // FCVTZU_ZPzZ_StoS
1668 UINT64_C(2134965248), // FCVTZUd
1669 UINT64_C(2131819520), // FCVTZUh
1670 UINT64_C(2132868096), // FCVTZUs
1671 UINT64_C(2130294784), // FCVTZUv1f16
1672 UINT64_C(2124527616), // FCVTZUv1i32
1673 UINT64_C(2128721920), // FCVTZUv1i64
1674 UINT64_C(782350336), // FCVTZUv2f32
1675 UINT64_C(1860286464), // FCVTZUv2f64
1676 UINT64_C(790690816), // FCVTZUv2i32_shift
1677 UINT64_C(1866529792), // FCVTZUv2i64_shift
1678 UINT64_C(788117504), // FCVTZUv4f16
1679 UINT64_C(1856092160), // FCVTZUv4f32
1680 UINT64_C(789642240), // FCVTZUv4i16_shift
1681 UINT64_C(1864432640), // FCVTZUv4i32_shift
1682 UINT64_C(1861859328), // FCVTZUv8f16
1683 UINT64_C(1863384064), // FCVTZUv8i16_shift
1684 UINT64_C(3248545792), // FCVT_2ZZ_H_S
1685 UINT64_C(3240419328), // FCVT_Z2Z_HtoB
1686 UINT64_C(3240157184), // FCVT_Z2Z_StoH
1687 UINT64_C(3241467904), // FCVT_Z4Z_StoB
1688 UINT64_C(1707646976), // FCVT_ZPmZ_DtoH
1689 UINT64_C(1707778048), // FCVT_ZPmZ_DtoS
1690 UINT64_C(1707712512), // FCVT_ZPmZ_HtoD
1691 UINT64_C(1703518208), // FCVT_ZPmZ_HtoS
1692 UINT64_C(1707843584), // FCVT_ZPmZ_StoD
1693 UINT64_C(1703452672), // FCVT_ZPmZ_StoH
1694 UINT64_C(1692041216), // FCVT_ZPzZ_DtoH
1695 UINT64_C(1692057600), // FCVT_ZPzZ_DtoS
1696 UINT64_C(1692049408), // FCVT_ZPzZ_HtoD
1697 UINT64_C(1687855104), // FCVT_ZPzZ_HtoS
1698 UINT64_C(1692065792), // FCVT_ZPzZ_StoD
1699 UINT64_C(1687846912), // FCVT_ZPzZ_StoH
1700 UINT64_C(509614080), // FDIVDrr
1701 UINT64_C(518002688), // FDIVHrr
1702 UINT64_C(1707900928), // FDIVR_ZPmZ_D
1703 UINT64_C(1699512320), // FDIVR_ZPmZ_H
1704 UINT64_C(1703706624), // FDIVR_ZPmZ_S
1705 UINT64_C(505419776), // FDIVSrr
1706 UINT64_C(1707966464), // FDIV_ZPmZ_D
1707 UINT64_C(1699577856), // FDIV_ZPmZ_H
1708 UINT64_C(1703772160), // FDIV_ZPmZ_S
1709 UINT64_C(773913600), // FDIVv2f32
1710 UINT64_C(1851849728), // FDIVv2f64
1711 UINT64_C(775961600), // FDIVv4f16
1712 UINT64_C(1847655424), // FDIVv4f32
1713 UINT64_C(1849703424), // FDIVv8f16
1714 UINT64_C(3248492576), // FDOT_VG2_M2Z2Z_BtoH
1715 UINT64_C(3248492592), // FDOT_VG2_M2Z2Z_BtoS
1716 UINT64_C(3248492544), // FDOT_VG2_M2Z2Z_HtoS
1717 UINT64_C(3251634208), // FDOT_VG2_M2ZZI_BtoH
1718 UINT64_C(3243245624), // FDOT_VG2_M2ZZI_BtoS
1719 UINT64_C(3243249672), // FDOT_VG2_M2ZZI_HtoS
1720 UINT64_C(3240103944), // FDOT_VG2_M2ZZ_BtoH
1721 UINT64_C(3240103960), // FDOT_VG2_M2ZZ_BtoS
1722 UINT64_C(3240103936), // FDOT_VG2_M2ZZ_HtoS
1723 UINT64_C(3248558112), // FDOT_VG4_M4Z4Z_BtoH
1724 UINT64_C(3248558128), // FDOT_VG4_M4Z4Z_BtoS
1725 UINT64_C(3248558080), // FDOT_VG4_M4Z4Z_HtoS
1726 UINT64_C(3239088192), // FDOT_VG4_M4ZZI_BtoH
1727 UINT64_C(3243278344), // FDOT_VG4_M4ZZI_BtoS
1728 UINT64_C(3243282440), // FDOT_VG4_M4ZZI_HtoS
1729 UINT64_C(3241152520), // FDOT_VG4_M4ZZ_BtoH
1730 UINT64_C(3241152536), // FDOT_VG4_M4ZZ_BtoS
1731 UINT64_C(3241152512), // FDOT_VG4_M4ZZ_HtoS
1732 UINT64_C(1679836160), // FDOT_ZZZI_BtoH
1733 UINT64_C(1684030464), // FDOT_ZZZI_BtoS
1734 UINT64_C(1679835136), // FDOT_ZZZI_S
1735 UINT64_C(1679852544), // FDOT_ZZZ_BtoH
1736 UINT64_C(1684046848), // FDOT_ZZZ_BtoS
1737 UINT64_C(1679851520), // FDOT_ZZZ_S
1738 UINT64_C(251658240), // FDOTlanev2f32
1739 UINT64_C(255852544), // FDOTlanev4f16
1740 UINT64_C(255889408), // FDOTlanev4f16_v2f32
1741 UINT64_C(1325400064), // FDOTlanev4f32
1742 UINT64_C(1329594368), // FDOTlanev8f16
1743 UINT64_C(1329631232), // FDOTlanev8f16_v4f32
1744 UINT64_C(234945536), // FDOTv2f32
1745 UINT64_C(239139840), // FDOTv4f16
1746 UINT64_C(243334144), // FDOTv4f16_v2f32
1747 UINT64_C(1308687360), // FDOTv4f32
1748 UINT64_C(1312881664), // FDOTv8f16
1749 UINT64_C(1317075968), // FDOTv8f16_v4f32
1750 UINT64_C(637124608), // FDUP_ZI_D
1751 UINT64_C(628736000), // FDUP_ZI_H
1752 UINT64_C(632930304), // FDUP_ZI_S
1753 UINT64_C(81836032), // FEXPA_ZZ_D
1754 UINT64_C(73447424), // FEXPA_ZZ_H
1755 UINT64_C(77641728), // FEXPA_ZZ_S
1756 UINT64_C(622952448), // FIRSTP_XPP_B
1757 UINT64_C(635535360), // FIRSTP_XPP_D
1758 UINT64_C(627146752), // FIRSTP_XPP_H
1759 UINT64_C(631341056), // FIRSTP_XPP_S
1760 UINT64_C(511574016), // FJCVTZS
1761 UINT64_C(1696505856), // FLOGB_ZPmZ_D
1762 UINT64_C(1696243712), // FLOGB_ZPmZ_H
1763 UINT64_C(1696374784), // FLOGB_ZPmZ_S
1764 UINT64_C(1679745024), // FLOGB_ZPzZ_D
1765 UINT64_C(1679728640), // FLOGB_ZPzZ_H
1766 UINT64_C(1679736832), // FLOGB_ZPzZ_S
1767 UINT64_C(3558866960), // FLTcc
1768 UINT64_C(524288000), // FMADDDrrr
1769 UINT64_C(532676608), // FMADDHrrr
1770 UINT64_C(520093696), // FMADDSrrr
1771 UINT64_C(1709211648), // FMAD_ZPmZZ_D
1772 UINT64_C(1700823040), // FMAD_ZPmZZ_H
1773 UINT64_C(1705017344), // FMAD_ZPmZZ_S
1774 UINT64_C(509626368), // FMAXDrr
1775 UINT64_C(518014976), // FMAXHrr
1776 UINT64_C(509634560), // FMAXNMDrr
1777 UINT64_C(518023168), // FMAXNMHrr
1778 UINT64_C(1691648000), // FMAXNMP_ZPmZZ_D
1779 UINT64_C(1683259392), // FMAXNMP_ZPmZZ_H
1780 UINT64_C(1687453696), // FMAXNMP_ZPmZZ_S
1781 UINT64_C(773899264), // FMAXNMPv2f32
1782 UINT64_C(1851835392), // FMAXNMPv2f64
1783 UINT64_C(1580255232), // FMAXNMPv2i16p
1784 UINT64_C(2117126144), // FMAXNMPv2i32p
1785 UINT64_C(2121320448), // FMAXNMPv2i64p
1786 UINT64_C(775947264), // FMAXNMPv4f16
1787 UINT64_C(1847641088), // FMAXNMPv4f32
1788 UINT64_C(1849689088), // FMAXNMPv8f16
1789 UINT64_C(1691656192), // FMAXNMQV_D
1790 UINT64_C(1683267584), // FMAXNMQV_H
1791 UINT64_C(1687461888), // FMAXNMQV_S
1792 UINT64_C(505440256), // FMAXNMSrr
1793 UINT64_C(1707352064), // FMAXNMV_VPZ_D
1794 UINT64_C(1698963456), // FMAXNMV_VPZ_H
1795 UINT64_C(1703157760), // FMAXNMV_VPZ_S
1796 UINT64_C(238077952), // FMAXNMVv4i16v
1797 UINT64_C(1848690688), // FMAXNMVv4i32v
1798 UINT64_C(1311819776), // FMAXNMVv8i16v
1799 UINT64_C(3252728096), // FMAXNM_VG2_2Z2Z_D
1800 UINT64_C(3244339488), // FMAXNM_VG2_2Z2Z_H
1801 UINT64_C(3248533792), // FMAXNM_VG2_2Z2Z_S
1802 UINT64_C(3252724000), // FMAXNM_VG2_2ZZ_D
1803 UINT64_C(3244335392), // FMAXNM_VG2_2ZZ_H
1804 UINT64_C(3248529696), // FMAXNM_VG2_2ZZ_S
1805 UINT64_C(3252730144), // FMAXNM_VG4_4Z4Z_D
1806 UINT64_C(3244341536), // FMAXNM_VG4_4Z4Z_H
1807 UINT64_C(3248535840), // FMAXNM_VG4_4Z4Z_S
1808 UINT64_C(3252726048), // FMAXNM_VG4_4ZZ_D
1809 UINT64_C(3244337440), // FMAXNM_VG4_4ZZ_H
1810 UINT64_C(3248531744), // FMAXNM_VG4_4ZZ_S
1811 UINT64_C(1708949504), // FMAXNM_ZPmI_D
1812 UINT64_C(1700560896), // FMAXNM_ZPmI_H
1813 UINT64_C(1704755200), // FMAXNM_ZPmI_S
1814 UINT64_C(1707376640), // FMAXNM_ZPmZ_D
1815 UINT64_C(1698988032), // FMAXNM_ZPmZ_H
1816 UINT64_C(1703182336), // FMAXNM_ZPmZ_S
1817 UINT64_C(237028352), // FMAXNMv2f32
1818 UINT64_C(1314964480), // FMAXNMv2f64
1819 UINT64_C(239076352), // FMAXNMv4f16
1820 UINT64_C(1310770176), // FMAXNMv4f32
1821 UINT64_C(1312818176), // FMAXNMv8f16
1822 UINT64_C(1691779072), // FMAXP_ZPmZZ_D
1823 UINT64_C(1683390464), // FMAXP_ZPmZZ_H
1824 UINT64_C(1687584768), // FMAXP_ZPmZZ_S
1825 UINT64_C(773911552), // FMAXPv2f32
1826 UINT64_C(1851847680), // FMAXPv2f64
1827 UINT64_C(1580267520), // FMAXPv2i16p
1828 UINT64_C(2117138432), // FMAXPv2i32p
1829 UINT64_C(2121332736), // FMAXPv2i64p
1830 UINT64_C(775959552), // FMAXPv4f16
1831 UINT64_C(1847653376), // FMAXPv4f32
1832 UINT64_C(1849701376), // FMAXPv8f16
1833 UINT64_C(1691787264), // FMAXQV_D
1834 UINT64_C(1683398656), // FMAXQV_H
1835 UINT64_C(1687592960), // FMAXQV_S
1836 UINT64_C(505432064), // FMAXSrr
1837 UINT64_C(1707483136), // FMAXV_VPZ_D
1838 UINT64_C(1699094528), // FMAXV_VPZ_H
1839 UINT64_C(1703288832), // FMAXV_VPZ_S
1840 UINT64_C(238090240), // FMAXVv4i16v
1841 UINT64_C(1848702976), // FMAXVv4i32v
1842 UINT64_C(1311832064), // FMAXVv8i16v
1843 UINT64_C(3252728064), // FMAX_VG2_2Z2Z_D
1844 UINT64_C(3244339456), // FMAX_VG2_2Z2Z_H
1845 UINT64_C(3248533760), // FMAX_VG2_2Z2Z_S
1846 UINT64_C(3252723968), // FMAX_VG2_2ZZ_D
1847 UINT64_C(3244335360), // FMAX_VG2_2ZZ_H
1848 UINT64_C(3248529664), // FMAX_VG2_2ZZ_S
1849 UINT64_C(3252730112), // FMAX_VG4_4Z4Z_D
1850 UINT64_C(3244341504), // FMAX_VG4_4Z4Z_H
1851 UINT64_C(3248535808), // FMAX_VG4_4Z4Z_S
1852 UINT64_C(3252726016), // FMAX_VG4_4ZZ_D
1853 UINT64_C(3244337408), // FMAX_VG4_4ZZ_H
1854 UINT64_C(3248531712), // FMAX_VG4_4ZZ_S
1855 UINT64_C(1709080576), // FMAX_ZPmI_D
1856 UINT64_C(1700691968), // FMAX_ZPmI_H
1857 UINT64_C(1704886272), // FMAX_ZPmI_S
1858 UINT64_C(1707507712), // FMAX_ZPmZ_D
1859 UINT64_C(1699119104), // FMAX_ZPmZ_H
1860 UINT64_C(1703313408), // FMAX_ZPmZ_S
1861 UINT64_C(237040640), // FMAXv2f32
1862 UINT64_C(1314976768), // FMAXv2f64
1863 UINT64_C(239088640), // FMAXv4f16
1864 UINT64_C(1310782464), // FMAXv4f32
1865 UINT64_C(1312830464), // FMAXv8f16
1866 UINT64_C(509630464), // FMINDrr
1867 UINT64_C(518019072), // FMINHrr
1868 UINT64_C(509638656), // FMINNMDrr
1869 UINT64_C(518027264), // FMINNMHrr
1870 UINT64_C(1691713536), // FMINNMP_ZPmZZ_D
1871 UINT64_C(1683324928), // FMINNMP_ZPmZZ_H
1872 UINT64_C(1687519232), // FMINNMP_ZPmZZ_S
1873 UINT64_C(782287872), // FMINNMPv2f32
1874 UINT64_C(1860224000), // FMINNMPv2f64
1875 UINT64_C(1588643840), // FMINNMPv2i16p
1876 UINT64_C(2125514752), // FMINNMPv2i32p
1877 UINT64_C(2129709056), // FMINNMPv2i64p
1878 UINT64_C(784335872), // FMINNMPv4f16
1879 UINT64_C(1856029696), // FMINNMPv4f32
1880 UINT64_C(1858077696), // FMINNMPv8f16
1881 UINT64_C(1691721728), // FMINNMQV_D
1882 UINT64_C(1683333120), // FMINNMQV_H
1883 UINT64_C(1687527424), // FMINNMQV_S
1884 UINT64_C(505444352), // FMINNMSrr
1885 UINT64_C(1707417600), // FMINNMV_VPZ_D
1886 UINT64_C(1699028992), // FMINNMV_VPZ_H
1887 UINT64_C(1703223296), // FMINNMV_VPZ_S
1888 UINT64_C(246466560), // FMINNMVv4i16v
1889 UINT64_C(1857079296), // FMINNMVv4i32v
1890 UINT64_C(1320208384), // FMINNMVv8i16v
1891 UINT64_C(3252728097), // FMINNM_VG2_2Z2Z_D
1892 UINT64_C(3244339489), // FMINNM_VG2_2Z2Z_H
1893 UINT64_C(3248533793), // FMINNM_VG2_2Z2Z_S
1894 UINT64_C(3252724001), // FMINNM_VG2_2ZZ_D
1895 UINT64_C(3244335393), // FMINNM_VG2_2ZZ_H
1896 UINT64_C(3248529697), // FMINNM_VG2_2ZZ_S
1897 UINT64_C(3252730145), // FMINNM_VG4_4Z4Z_D
1898 UINT64_C(3244341537), // FMINNM_VG4_4Z4Z_H
1899 UINT64_C(3248535841), // FMINNM_VG4_4Z4Z_S
1900 UINT64_C(3252726049), // FMINNM_VG4_4ZZ_D
1901 UINT64_C(3244337441), // FMINNM_VG4_4ZZ_H
1902 UINT64_C(3248531745), // FMINNM_VG4_4ZZ_S
1903 UINT64_C(1709015040), // FMINNM_ZPmI_D
1904 UINT64_C(1700626432), // FMINNM_ZPmI_H
1905 UINT64_C(1704820736), // FMINNM_ZPmI_S
1906 UINT64_C(1707442176), // FMINNM_ZPmZ_D
1907 UINT64_C(1699053568), // FMINNM_ZPmZ_H
1908 UINT64_C(1703247872), // FMINNM_ZPmZ_S
1909 UINT64_C(245416960), // FMINNMv2f32
1910 UINT64_C(1323353088), // FMINNMv2f64
1911 UINT64_C(247464960), // FMINNMv4f16
1912 UINT64_C(1319158784), // FMINNMv4f32
1913 UINT64_C(1321206784), // FMINNMv8f16
1914 UINT64_C(1691844608), // FMINP_ZPmZZ_D
1915 UINT64_C(1683456000), // FMINP_ZPmZZ_H
1916 UINT64_C(1687650304), // FMINP_ZPmZZ_S
1917 UINT64_C(782300160), // FMINPv2f32
1918 UINT64_C(1860236288), // FMINPv2f64
1919 UINT64_C(1588656128), // FMINPv2i16p
1920 UINT64_C(2125527040), // FMINPv2i32p
1921 UINT64_C(2129721344), // FMINPv2i64p
1922 UINT64_C(784348160), // FMINPv4f16
1923 UINT64_C(1856041984), // FMINPv4f32
1924 UINT64_C(1858089984), // FMINPv8f16
1925 UINT64_C(1691852800), // FMINQV_D
1926 UINT64_C(1683464192), // FMINQV_H
1927 UINT64_C(1687658496), // FMINQV_S
1928 UINT64_C(505436160), // FMINSrr
1929 UINT64_C(1707548672), // FMINV_VPZ_D
1930 UINT64_C(1699160064), // FMINV_VPZ_H
1931 UINT64_C(1703354368), // FMINV_VPZ_S
1932 UINT64_C(246478848), // FMINVv4i16v
1933 UINT64_C(1857091584), // FMINVv4i32v
1934 UINT64_C(1320220672), // FMINVv8i16v
1935 UINT64_C(3252728065), // FMIN_VG2_2Z2Z_D
1936 UINT64_C(3244339457), // FMIN_VG2_2Z2Z_H
1937 UINT64_C(3248533761), // FMIN_VG2_2Z2Z_S
1938 UINT64_C(3252723969), // FMIN_VG2_2ZZ_D
1939 UINT64_C(3244335361), // FMIN_VG2_2ZZ_H
1940 UINT64_C(3248529665), // FMIN_VG2_2ZZ_S
1941 UINT64_C(3252730113), // FMIN_VG4_4Z4Z_D
1942 UINT64_C(3244341505), // FMIN_VG4_4Z4Z_H
1943 UINT64_C(3248535809), // FMIN_VG4_4Z4Z_S
1944 UINT64_C(3252726017), // FMIN_VG4_4ZZ_D
1945 UINT64_C(3244337409), // FMIN_VG4_4ZZ_H
1946 UINT64_C(3248531713), // FMIN_VG4_4ZZ_S
1947 UINT64_C(1709146112), // FMIN_ZPmI_D
1948 UINT64_C(1700757504), // FMIN_ZPmI_H
1949 UINT64_C(1704951808), // FMIN_ZPmI_S
1950 UINT64_C(1707573248), // FMIN_ZPmZ_D
1951 UINT64_C(1699184640), // FMIN_ZPmZ_H
1952 UINT64_C(1703378944), // FMIN_ZPmZ_S
1953 UINT64_C(245429248), // FMINv2f32
1954 UINT64_C(1323365376), // FMINv2f64
1955 UINT64_C(247477248), // FMINv4f16
1956 UINT64_C(1319171072), // FMINv4f32
1957 UINT64_C(1321219072), // FMINv8f16
1958 UINT64_C(796950528), // FMLAL2lanev4f16
1959 UINT64_C(1870692352), // FMLAL2lanev8f16
1960 UINT64_C(773901312), // FMLAL2v4f16
1961 UINT64_C(1847643136), // FMLAL2v8f16
1962 UINT64_C(1688242176), // FMLALB_ZZZ
1963 UINT64_C(1679839232), // FMLALB_ZZZI
1964 UINT64_C(1688223744), // FMLALB_ZZZI_SHH
1965 UINT64_C(1688240128), // FMLALB_ZZZ_SHH
1966 UINT64_C(264241152), // FMLALBlanev8f16
1967 UINT64_C(247528448), // FMLALBv16i8_v8f16
1968 UINT64_C(1679853568), // FMLALLBB_ZZZ
1969 UINT64_C(1679867904), // FMLALLBB_ZZZI
1970 UINT64_C(788561920), // FMLALLBBlanev4f32
1971 UINT64_C(234931200), // FMLALLBBv4f32
1972 UINT64_C(1679857664), // FMLALLBT_ZZZ
1973 UINT64_C(1684062208), // FMLALLBT_ZZZI
1974 UINT64_C(792756224), // FMLALLBTlanev4f32
1975 UINT64_C(239125504), // FMLALLBTv4f32
1976 UINT64_C(1679861760), // FMLALLTB_ZZZ
1977 UINT64_C(1688256512), // FMLALLTB_ZZZI
1978 UINT64_C(1862303744), // FMLALLTBlanev4f32
1979 UINT64_C(1308673024), // FMLALLTBv4f32
1980 UINT64_C(1679865856), // FMLALLTT_ZZZ
1981 UINT64_C(1692450816), // FMLALLTT_ZZZI
1982 UINT64_C(1866498048), // FMLALLTTlanev4f32
1983 UINT64_C(1312867328), // FMLALLTTv4f32
1984 UINT64_C(3242196992), // FMLALL_MZZI_BtoS
1985 UINT64_C(3241149440), // FMLALL_MZZ_BtoS
1986 UINT64_C(3248488480), // FMLALL_VG2_M2Z2Z_BtoS
1987 UINT64_C(3247439904), // FMLALL_VG2_M2ZZI_BtoS
1988 UINT64_C(3240099842), // FMLALL_VG2_M2ZZ_BtoS
1989 UINT64_C(3248554016), // FMLALL_VG4_M4Z4Z_BtoS
1990 UINT64_C(3239084096), // FMLALL_VG4_M4ZZI_BtoS
1991 UINT64_C(3241148418), // FMLALL_VG4_M4ZZ_BtoS
1992 UINT64_C(1688246272), // FMLALT_ZZZ
1993 UINT64_C(1688227840), // FMLALT_ZZZI
1994 UINT64_C(1688224768), // FMLALT_ZZZI_SHH
1995 UINT64_C(1688241152), // FMLALT_ZZZ_SHH
1996 UINT64_C(1337982976), // FMLALTlanev8f16
1997 UINT64_C(1321270272), // FMLALTv16i8_v8f16
1998 UINT64_C(3250585600), // FMLAL_MZZI_BtoH
1999 UINT64_C(3246395392), // FMLAL_MZZI_HtoS
2000 UINT64_C(3240102912), // FMLAL_MZZ_HtoS
2001 UINT64_C(3248490528), // FMLAL_VG2_M2Z2Z_BtoH
2002 UINT64_C(3248490496), // FMLAL_VG2_M2Z2Z_HtoS
2003 UINT64_C(3247444016), // FMLAL_VG2_M2ZZI_BtoH
2004 UINT64_C(3247443968), // FMLAL_VG2_M2ZZI_HtoS
2005 UINT64_C(3240101892), // FMLAL_VG2_M2ZZ_BtoH
2006 UINT64_C(3240101888), // FMLAL_VG2_M2ZZ_HtoS
2007 UINT64_C(3241151488), // FMLAL_VG2_MZZ_BtoH
2008 UINT64_C(3248556064), // FMLAL_VG4_M4Z4Z_BtoH
2009 UINT64_C(3248556032), // FMLAL_VG4_M4Z4Z_HtoS
2010 UINT64_C(3247476768), // FMLAL_VG4_M4ZZI_BtoH
2011 UINT64_C(3247476736), // FMLAL_VG4_M4ZZI_HtoS
2012 UINT64_C(3241150468), // FMLAL_VG4_M4ZZ_BtoH
2013 UINT64_C(3241150464), // FMLAL_VG4_M4ZZ_HtoS
2014 UINT64_C(260046848), // FMLALlanev4f16
2015 UINT64_C(1333788672), // FMLALlanev8f16
2016 UINT64_C(237038592), // FMLALv4f16
2017 UINT64_C(1310780416), // FMLALv8f16
2018 UINT64_C(3252688896), // FMLA_VG2_M2Z2Z_D
2019 UINT64_C(3248492552), // FMLA_VG2_M2Z2Z_H
2020 UINT64_C(3248494592), // FMLA_VG2_M2Z2Z_S
2021 UINT64_C(3251634176), // FMLA_VG2_M2ZZI_D
2022 UINT64_C(3239055360), // FMLA_VG2_M2ZZI_H
2023 UINT64_C(3243245568), // FMLA_VG2_M2ZZI_S
2024 UINT64_C(3244300288), // FMLA_VG2_M2ZZ_D
2025 UINT64_C(3240107008), // FMLA_VG2_M2ZZ_H
2026 UINT64_C(3240105984), // FMLA_VG2_M2ZZ_S
2027 UINT64_C(3252754432), // FMLA_VG4_M4Z4Z_D
2028 UINT64_C(3248558088), // FMLA_VG4_M4Z4Z_H
2029 UINT64_C(3248560128), // FMLA_VG4_M4Z4Z_S
2030 UINT64_C(3251666944), // FMLA_VG4_M4ZZI_D
2031 UINT64_C(3239088128), // FMLA_VG4_M4ZZI_H
2032 UINT64_C(3243278336), // FMLA_VG4_M4ZZI_S
2033 UINT64_C(3245348864), // FMLA_VG4_M4ZZ_D
2034 UINT64_C(3241155584), // FMLA_VG4_M4ZZ_H
2035 UINT64_C(3241154560), // FMLA_VG4_M4ZZ_S
2036 UINT64_C(1709178880), // FMLA_ZPmZZ_D
2037 UINT64_C(1700790272), // FMLA_ZPmZZ_H
2038 UINT64_C(1704984576), // FMLA_ZPmZZ_S
2039 UINT64_C(1692401664), // FMLA_ZZZI_D
2040 UINT64_C(1679818752), // FMLA_ZZZI_H
2041 UINT64_C(1688207360), // FMLA_ZZZI_S
2042 UINT64_C(1593839616), // FMLAv1i16_indexed
2043 UINT64_C(1602228224), // FMLAv1i32_indexed
2044 UINT64_C(1606422528), // FMLAv1i64_indexed
2045 UINT64_C(237030400), // FMLAv2f32
2046 UINT64_C(1314966528), // FMLAv2f64
2047 UINT64_C(260050944), // FMLAv2i32_indexed
2048 UINT64_C(1337987072), // FMLAv2i64_indexed
2049 UINT64_C(239078400), // FMLAv4f16
2050 UINT64_C(1310772224), // FMLAv4f32
2051 UINT64_C(251662336), // FMLAv4i16_indexed
2052 UINT64_C(1333792768), // FMLAv4i32_indexed
2053 UINT64_C(1312820224), // FMLAv8f16
2054 UINT64_C(1325404160), // FMLAv8i16_indexed
2055 UINT64_C(1679877120), // FMLLA_ZZZ_HtoS
2056 UINT64_C(796966912), // FMLSL2lanev4f16
2057 UINT64_C(1870708736), // FMLSL2lanev8f16
2058 UINT64_C(782289920), // FMLSL2v4f16
2059 UINT64_C(1856031744), // FMLSL2v8f16
2060 UINT64_C(1688231936), // FMLSLB_ZZZI_SHH
2061 UINT64_C(1688248320), // FMLSLB_ZZZ_SHH
2062 UINT64_C(1688232960), // FMLSLT_ZZZI_SHH
2063 UINT64_C(1688249344), // FMLSLT_ZZZ_SHH
2064 UINT64_C(3246395400), // FMLSL_MZZI_HtoS
2065 UINT64_C(3240102920), // FMLSL_MZZ_HtoS
2066 UINT64_C(3248490504), // FMLSL_VG2_M2Z2Z_HtoS
2067 UINT64_C(3247443976), // FMLSL_VG2_M2ZZI_HtoS
2068 UINT64_C(3240101896), // FMLSL_VG2_M2ZZ_HtoS
2069 UINT64_C(3248556040), // FMLSL_VG4_M4Z4Z_HtoS
2070 UINT64_C(3247476744), // FMLSL_VG4_M4ZZI_HtoS
2071 UINT64_C(3241150472), // FMLSL_VG4_M4ZZ_HtoS
2072 UINT64_C(260063232), // FMLSLlanev4f16
2073 UINT64_C(1333805056), // FMLSLlanev8f16
2074 UINT64_C(245427200), // FMLSLv4f16
2075 UINT64_C(1319169024), // FMLSLv8f16
2076 UINT64_C(3252688904), // FMLS_VG2_M2Z2Z_D
2077 UINT64_C(3248492568), // FMLS_VG2_M2Z2Z_H
2078 UINT64_C(3248494600), // FMLS_VG2_M2Z2Z_S
2079 UINT64_C(3251634192), // FMLS_VG2_M2ZZI_D
2080 UINT64_C(3239055376), // FMLS_VG2_M2ZZI_H
2081 UINT64_C(3243245584), // FMLS_VG2_M2ZZI_S
2082 UINT64_C(3244300296), // FMLS_VG2_M2ZZ_D
2083 UINT64_C(3240107016), // FMLS_VG2_M2ZZ_H
2084 UINT64_C(3240105992), // FMLS_VG2_M2ZZ_S
2085 UINT64_C(3252754440), // FMLS_VG4_M4Z4Z_D
2086 UINT64_C(3248558104), // FMLS_VG4_M4Z4Z_H
2087 UINT64_C(3248560136), // FMLS_VG4_M4Z4Z_S
2088 UINT64_C(3251666960), // FMLS_VG4_M4ZZI_D
2089 UINT64_C(3239088144), // FMLS_VG4_M4ZZI_H
2090 UINT64_C(3243278352), // FMLS_VG4_M4ZZI_S
2091 UINT64_C(3245348872), // FMLS_VG4_M4ZZ_D
2092 UINT64_C(3241155592), // FMLS_VG4_M4ZZ_H
2093 UINT64_C(3241154568), // FMLS_VG4_M4ZZ_S
2094 UINT64_C(1709187072), // FMLS_ZPmZZ_D
2095 UINT64_C(1700798464), // FMLS_ZPmZZ_H
2096 UINT64_C(1704992768), // FMLS_ZPmZZ_S
2097 UINT64_C(1692402688), // FMLS_ZZZI_D
2098 UINT64_C(1679819776), // FMLS_ZZZI_H
2099 UINT64_C(1688208384), // FMLS_ZZZI_S
2100 UINT64_C(1593856000), // FMLSv1i16_indexed
2101 UINT64_C(1602244608), // FMLSv1i32_indexed
2102 UINT64_C(1606438912), // FMLSv1i64_indexed
2103 UINT64_C(245419008), // FMLSv2f32
2104 UINT64_C(1323355136), // FMLSv2f64
2105 UINT64_C(260067328), // FMLSv2i32_indexed
2106 UINT64_C(1338003456), // FMLSv2i64_indexed
2107 UINT64_C(247467008), // FMLSv4f16
2108 UINT64_C(1319160832), // FMLSv4f32
2109 UINT64_C(251678720), // FMLSv4i16_indexed
2110 UINT64_C(1333809152), // FMLSv4i32_indexed
2111 UINT64_C(1321208832), // FMLSv8f16
2112 UINT64_C(1325420544), // FMLSv8i16_indexed
2113 UINT64_C(1684070400), // FMMLA_ZZZ_BtoH
2114 UINT64_C(1679876096), // FMMLA_ZZZ_BtoS
2115 UINT64_C(1692460032), // FMMLA_ZZZ_D
2116 UINT64_C(1688264704), // FMMLA_ZZZ_H
2117 UINT64_C(1688265728), // FMMLA_ZZZ_S
2118 UINT64_C(1853942784), // FMMLAv4f32
2119 UINT64_C(1845554176), // FMMLAv8f16
2120 UINT64_C(1312877568), // FMMLAv8f16_v4f32
2121 UINT64_C(1321266176), // FMMLAv8f16_v8f16
2122 UINT64_C(2150629896), // FMOP4A_M2Z2Z_BtoH
2123 UINT64_C(2150629888), // FMOP4A_M2Z2Z_BtoS
2124 UINT64_C(2161115656), // FMOP4A_M2Z2Z_D
2125 UINT64_C(2165309960), // FMOP4A_M2Z2Z_H
2126 UINT64_C(2167407104), // FMOP4A_M2Z2Z_HtoS
2127 UINT64_C(2148532736), // FMOP4A_M2Z2Z_S
2128 UINT64_C(2149581320), // FMOP4A_M2ZZ_BtoH
2129 UINT64_C(2149581312), // FMOP4A_M2ZZ_BtoS
2130 UINT64_C(2160067080), // FMOP4A_M2ZZ_D
2131 UINT64_C(2164261384), // FMOP4A_M2ZZ_H
2132 UINT64_C(2166358528), // FMOP4A_M2ZZ_HtoS
2133 UINT64_C(2147484160), // FMOP4A_M2ZZ_S
2134 UINT64_C(2150629384), // FMOP4A_MZ2Z_BtoH
2135 UINT64_C(2150629376), // FMOP4A_MZ2Z_BtoS
2136 UINT64_C(2161115144), // FMOP4A_MZ2Z_D
2137 UINT64_C(2165309448), // FMOP4A_MZ2Z_H
2138 UINT64_C(2167406592), // FMOP4A_MZ2Z_HtoS
2139 UINT64_C(2148532224), // FMOP4A_MZ2Z_S
2140 UINT64_C(2149580808), // FMOP4A_MZZ_BtoH
2141 UINT64_C(2149580800), // FMOP4A_MZZ_BtoS
2142 UINT64_C(2160066568), // FMOP4A_MZZ_D
2143 UINT64_C(2164260872), // FMOP4A_MZZ_H
2144 UINT64_C(2166358016), // FMOP4A_MZZ_HtoS
2145 UINT64_C(2147483648), // FMOP4A_MZZ_S
2146 UINT64_C(2161115672), // FMOP4S_M2Z2Z_D
2147 UINT64_C(2165309976), // FMOP4S_M2Z2Z_H
2148 UINT64_C(2167407120), // FMOP4S_M2Z2Z_HtoS
2149 UINT64_C(2148532752), // FMOP4S_M2Z2Z_S
2150 UINT64_C(2160067096), // FMOP4S_M2ZZ_D
2151 UINT64_C(2164261400), // FMOP4S_M2ZZ_H
2152 UINT64_C(2166358544), // FMOP4S_M2ZZ_HtoS
2153 UINT64_C(2147484176), // FMOP4S_M2ZZ_S
2154 UINT64_C(2161115160), // FMOP4S_MZ2Z_D
2155 UINT64_C(2165309464), // FMOP4S_MZ2Z_H
2156 UINT64_C(2167406608), // FMOP4S_MZ2Z_HtoS
2157 UINT64_C(2148532240), // FMOP4S_MZ2Z_S
2158 UINT64_C(2160066584), // FMOP4S_MZZ_D
2159 UINT64_C(2164260888), // FMOP4S_MZZ_H
2160 UINT64_C(2166358032), // FMOP4S_MZZ_HtoS
2161 UINT64_C(2147483664), // FMOP4S_MZZ_S
2162 UINT64_C(2174746624), // FMOPAL_MPPZZ
2163 UINT64_C(2157969416), // FMOPA_MPPZZ_BtoH
2164 UINT64_C(2157969408), // FMOPA_MPPZZ_BtoS
2165 UINT64_C(2160066560), // FMOPA_MPPZZ_D
2166 UINT64_C(2172649480), // FMOPA_MPPZZ_H
2167 UINT64_C(2155872256), // FMOPA_MPPZZ_S
2168 UINT64_C(2174746640), // FMOPSL_MPPZZ
2169 UINT64_C(2160066576), // FMOPS_MPPZZ_D
2170 UINT64_C(2172649496), // FMOPS_MPPZZ_H
2171 UINT64_C(2155872272), // FMOPS_MPPZZ_S
2172 UINT64_C(2662203392), // FMOVDXHighr
2173 UINT64_C(2657484800), // FMOVDXr
2174 UINT64_C(509612032), // FMOVDi
2175 UINT64_C(509624320), // FMOVDr
2176 UINT64_C(518389760), // FMOVHWr
2177 UINT64_C(2665873408), // FMOVHXr
2178 UINT64_C(518000640), // FMOVHi
2179 UINT64_C(518012928), // FMOVHr
2180 UINT64_C(505806848), // FMOVSWr
2181 UINT64_C(505417728), // FMOVSi
2182 UINT64_C(505430016), // FMOVSr
2183 UINT64_C(518455296), // FMOVWHr
2184 UINT64_C(505872384), // FMOVWSr
2185 UINT64_C(2662268928), // FMOVXDHighr
2186 UINT64_C(2657550336), // FMOVXDr
2187 UINT64_C(2665938944), // FMOVXHr
2188 UINT64_C(251720704), // FMOVv2f32_ns
2189 UINT64_C(1862333440), // FMOVv2f64_ns
2190 UINT64_C(251722752), // FMOVv4f16_ns
2191 UINT64_C(1325462528), // FMOVv4f32_ns
2192 UINT64_C(1325464576), // FMOVv8f16_ns
2193 UINT64_C(1709219840), // FMSB_ZPmZZ_D
2194 UINT64_C(1700831232), // FMSB_ZPmZZ_H
2195 UINT64_C(1705025536), // FMSB_ZPmZZ_S
2196 UINT64_C(524320768), // FMSUBDrrr
2197 UINT64_C(532709376), // FMSUBHrrr
2198 UINT64_C(520126464), // FMSUBSrrr
2199 UINT64_C(509609984), // FMULDrr
2200 UINT64_C(517998592), // FMULHrr
2201 UINT64_C(505415680), // FMULSrr
2202 UINT64_C(1581259776), // FMULX16
2203 UINT64_C(1579211776), // FMULX32
2204 UINT64_C(1583406080), // FMULX64
2205 UINT64_C(1707769856), // FMULX_ZPmZ_D
2206 UINT64_C(1699381248), // FMULX_ZPmZ_H
2207 UINT64_C(1703575552), // FMULX_ZPmZ_S
2208 UINT64_C(2130743296), // FMULXv1i16_indexed
2209 UINT64_C(2139131904), // FMULXv1i32_indexed
2210 UINT64_C(2143326208), // FMULXv1i64_indexed
2211 UINT64_C(237034496), // FMULXv2f32
2212 UINT64_C(1314970624), // FMULXv2f64
2213 UINT64_C(796954624), // FMULXv2i32_indexed
2214 UINT64_C(1874890752), // FMULXv2i64_indexed
2215 UINT64_C(239082496), // FMULXv4f16
2216 UINT64_C(1310776320), // FMULXv4f32
2217 UINT64_C(788566016), // FMULXv4i16_indexed
2218 UINT64_C(1870696448), // FMULXv4i32_indexed
2219 UINT64_C(1312824320), // FMULXv8f16
2220 UINT64_C(1862307840), // FMULXv8i16_indexed
2221 UINT64_C(3252741120), // FMUL_2Z2Z_D
2222 UINT64_C(3244352512), // FMUL_2Z2Z_H
2223 UINT64_C(3248546816), // FMUL_2Z2Z_S
2224 UINT64_C(3252742144), // FMUL_2ZZ_D
2225 UINT64_C(3244353536), // FMUL_2ZZ_H
2226 UINT64_C(3248547840), // FMUL_2ZZ_S
2227 UINT64_C(3252806656), // FMUL_4Z4Z_D
2228 UINT64_C(3244418048), // FMUL_4Z4Z_H
2229 UINT64_C(3248612352), // FMUL_4Z4Z_S
2230 UINT64_C(3252807680), // FMUL_4ZZ_D
2231 UINT64_C(3244419072), // FMUL_4ZZ_H
2232 UINT64_C(3248613376), // FMUL_4ZZ_S
2233 UINT64_C(1708818432), // FMUL_ZPmI_D
2234 UINT64_C(1700429824), // FMUL_ZPmI_H
2235 UINT64_C(1704624128), // FMUL_ZPmI_S
2236 UINT64_C(1707245568), // FMUL_ZPmZ_D
2237 UINT64_C(1698856960), // FMUL_ZPmZ_H
2238 UINT64_C(1703051264), // FMUL_ZPmZ_S
2239 UINT64_C(1692409856), // FMUL_ZZZI_D
2240 UINT64_C(1679826944), // FMUL_ZZZI_H
2241 UINT64_C(1688215552), // FMUL_ZZZI_S
2242 UINT64_C(1707083776), // FMUL_ZZZ_D
2243 UINT64_C(1698695168), // FMUL_ZZZ_H
2244 UINT64_C(1702889472), // FMUL_ZZZ_S
2245 UINT64_C(1593872384), // FMULv1i16_indexed
2246 UINT64_C(1602260992), // FMULv1i32_indexed
2247 UINT64_C(1606455296), // FMULv1i64_indexed
2248 UINT64_C(773905408), // FMULv2f32
2249 UINT64_C(1851841536), // FMULv2f64
2250 UINT64_C(260083712), // FMULv2i32_indexed
2251 UINT64_C(1338019840), // FMULv2i64_indexed
2252 UINT64_C(775953408), // FMULv4f16
2253 UINT64_C(1847647232), // FMULv4f32
2254 UINT64_C(251695104), // FMULv4i16_indexed
2255 UINT64_C(1333825536), // FMULv4i32_indexed
2256 UINT64_C(1849695232), // FMULv8f16
2257 UINT64_C(1325436928), // FMULv8i16_indexed
2258 UINT64_C(509689856), // FNEGDr
2259 UINT64_C(518078464), // FNEGHr
2260 UINT64_C(505495552), // FNEGSr
2261 UINT64_C(81633280), // FNEG_ZPmZ_D
2262 UINT64_C(73244672), // FNEG_ZPmZ_H
2263 UINT64_C(77438976), // FNEG_ZPmZ_S
2264 UINT64_C(80584704), // FNEG_ZPzZ_D
2265 UINT64_C(72196096), // FNEG_ZPzZ_H
2266 UINT64_C(76390400), // FNEG_ZPzZ_S
2267 UINT64_C(782301184), // FNEGv2f32
2268 UINT64_C(1860237312), // FNEGv2f64
2269 UINT64_C(788068352), // FNEGv4f16
2270 UINT64_C(1856043008), // FNEGv4f32
2271 UINT64_C(1861810176), // FNEGv8f16
2272 UINT64_C(526385152), // FNMADDDrrr
2273 UINT64_C(534773760), // FNMADDHrrr
2274 UINT64_C(522190848), // FNMADDSrrr
2275 UINT64_C(1709228032), // FNMAD_ZPmZZ_D
2276 UINT64_C(1700839424), // FNMAD_ZPmZZ_H
2277 UINT64_C(1705033728), // FNMAD_ZPmZZ_S
2278 UINT64_C(1709195264), // FNMLA_ZPmZZ_D
2279 UINT64_C(1700806656), // FNMLA_ZPmZZ_H
2280 UINT64_C(1705000960), // FNMLA_ZPmZZ_S
2281 UINT64_C(1709203456), // FNMLS_ZPmZZ_D
2282 UINT64_C(1700814848), // FNMLS_ZPmZZ_H
2283 UINT64_C(1705009152), // FNMLS_ZPmZZ_S
2284 UINT64_C(1709236224), // FNMSB_ZPmZZ_D
2285 UINT64_C(1700847616), // FNMSB_ZPmZZ_H
2286 UINT64_C(1705041920), // FNMSB_ZPmZZ_S
2287 UINT64_C(526417920), // FNMSUBDrrr
2288 UINT64_C(534806528), // FNMSUBHrrr
2289 UINT64_C(522223616), // FNMSUBSrrr
2290 UINT64_C(509642752), // FNMULDrr
2291 UINT64_C(518031360), // FNMULHrr
2292 UINT64_C(505448448), // FNMULSrr
2293 UINT64_C(1708011520), // FRECPE_ZZ_D
2294 UINT64_C(1699622912), // FRECPE_ZZ_H
2295 UINT64_C(1703817216), // FRECPE_ZZ_S
2296 UINT64_C(1593432064), // FRECPEv1f16
2297 UINT64_C(1587664896), // FRECPEv1i32
2298 UINT64_C(1591859200), // FRECPEv1i64
2299 UINT64_C(245487616), // FRECPEv2f32
2300 UINT64_C(1323423744), // FRECPEv2f64
2301 UINT64_C(251254784), // FRECPEv4f16
2302 UINT64_C(1319229440), // FRECPEv4f32
2303 UINT64_C(1324996608), // FRECPEv8f16
2304 UINT64_C(1581267968), // FRECPS16
2305 UINT64_C(1579219968), // FRECPS32
2306 UINT64_C(1583414272), // FRECPS64
2307 UINT64_C(1707087872), // FRECPS_ZZZ_D
2308 UINT64_C(1698699264), // FRECPS_ZZZ_H
2309 UINT64_C(1702893568), // FRECPS_ZZZ_S
2310 UINT64_C(237042688), // FRECPSv2f32
2311 UINT64_C(1314978816), // FRECPSv2f64
2312 UINT64_C(239090688), // FRECPSv4f16
2313 UINT64_C(1310784512), // FRECPSv4f32
2314 UINT64_C(1312832512), // FRECPSv8f16
2315 UINT64_C(1707909120), // FRECPX_ZPmZ_D
2316 UINT64_C(1699520512), // FRECPX_ZPmZ_H
2317 UINT64_C(1703714816), // FRECPX_ZPmZ_S
2318 UINT64_C(1692106752), // FRECPX_ZPzZ_D
2319 UINT64_C(1683718144), // FRECPX_ZPzZ_H
2320 UINT64_C(1687912448), // FRECPX_ZPzZ_S
2321 UINT64_C(1593440256), // FRECPXv1f16
2322 UINT64_C(1587673088), // FRECPXv1i32
2323 UINT64_C(1591867392), // FRECPXv1i64
2324 UINT64_C(510181376), // FRINT32XDr
2325 UINT64_C(505987072), // FRINT32XSr
2326 UINT64_C(1695784960), // FRINT32X_ZPmZ_D
2327 UINT64_C(1695653888), // FRINT32X_ZPmZ_S
2328 UINT64_C(1679613952), // FRINT32X_ZPzZ_D
2329 UINT64_C(1679597568), // FRINT32X_ZPzZ_S
2330 UINT64_C(773974016), // FRINT32Xv2f32
2331 UINT64_C(1851910144), // FRINT32Xv2f64
2332 UINT64_C(1847715840), // FRINT32Xv4f32
2333 UINT64_C(510148608), // FRINT32ZDr
2334 UINT64_C(505954304), // FRINT32ZSr
2335 UINT64_C(1695719424), // FRINT32Z_ZPmZ_D
2336 UINT64_C(1695588352), // FRINT32Z_ZPmZ_S
2337 UINT64_C(1679605760), // FRINT32Z_ZPzZ_D
2338 UINT64_C(1679589376), // FRINT32Z_ZPzZ_S
2339 UINT64_C(237103104), // FRINT32Zv2f32
2340 UINT64_C(1315039232), // FRINT32Zv2f64
2341 UINT64_C(1310844928), // FRINT32Zv4f32
2342 UINT64_C(510246912), // FRINT64XDr
2343 UINT64_C(506052608), // FRINT64XSr
2344 UINT64_C(1696047104), // FRINT64X_ZPmZ_D
2345 UINT64_C(1695916032), // FRINT64X_ZPmZ_S
2346 UINT64_C(1679679488), // FRINT64X_ZPzZ_D
2347 UINT64_C(1679663104), // FRINT64X_ZPzZ_S
2348 UINT64_C(773978112), // FRINT64Xv2f32
2349 UINT64_C(1851914240), // FRINT64Xv2f64
2350 UINT64_C(1847719936), // FRINT64Xv4f32
2351 UINT64_C(510214144), // FRINT64ZDr
2352 UINT64_C(506019840), // FRINT64ZSr
2353 UINT64_C(1695981568), // FRINT64Z_ZPmZ_D
2354 UINT64_C(1695850496), // FRINT64Z_ZPmZ_S
2355 UINT64_C(1679671296), // FRINT64Z_ZPzZ_D
2356 UINT64_C(1679654912), // FRINT64Z_ZPzZ_S
2357 UINT64_C(237107200), // FRINT64Zv2f32
2358 UINT64_C(1315043328), // FRINT64Zv2f64
2359 UINT64_C(1310849024), // FRINT64Zv4f32
2360 UINT64_C(510017536), // FRINTADr
2361 UINT64_C(518406144), // FRINTAHr
2362 UINT64_C(505823232), // FRINTASr
2363 UINT64_C(3249332224), // FRINTA_2Z2Z_S
2364 UINT64_C(3250380800), // FRINTA_4Z4Z_S
2365 UINT64_C(1707384832), // FRINTA_ZPmZ_D
2366 UINT64_C(1698996224), // FRINTA_ZPmZ_H
2367 UINT64_C(1703190528), // FRINTA_ZPmZ_S
2368 UINT64_C(1691975680), // FRINTA_ZPzZ_D
2369 UINT64_C(1683587072), // FRINTA_ZPzZ_H
2370 UINT64_C(1687781376), // FRINTA_ZPzZ_S
2371 UINT64_C(773949440), // FRINTAv2f32
2372 UINT64_C(1851885568), // FRINTAv2f64
2373 UINT64_C(779716608), // FRINTAv4f16
2374 UINT64_C(1847691264), // FRINTAv4f32
2375 UINT64_C(1853458432), // FRINTAv8f16
2376 UINT64_C(510115840), // FRINTIDr
2377 UINT64_C(518504448), // FRINTIHr
2378 UINT64_C(505921536), // FRINTISr
2379 UINT64_C(1707581440), // FRINTI_ZPmZ_D
2380 UINT64_C(1699192832), // FRINTI_ZPmZ_H
2381 UINT64_C(1703387136), // FRINTI_ZPmZ_S
2382 UINT64_C(1692000256), // FRINTI_ZPzZ_D
2383 UINT64_C(1683611648), // FRINTI_ZPzZ_H
2384 UINT64_C(1687805952), // FRINTI_ZPzZ_S
2385 UINT64_C(782342144), // FRINTIv2f32
2386 UINT64_C(1860278272), // FRINTIv2f64
2387 UINT64_C(788109312), // FRINTIv4f16
2388 UINT64_C(1856083968), // FRINTIv4f32
2389 UINT64_C(1861851136), // FRINTIv8f16
2390 UINT64_C(509952000), // FRINTMDr
2391 UINT64_C(518340608), // FRINTMHr
2392 UINT64_C(505757696), // FRINTMSr
2393 UINT64_C(3249201152), // FRINTM_2Z2Z_S
2394 UINT64_C(3250249728), // FRINTM_4Z4Z_S
2395 UINT64_C(1707253760), // FRINTM_ZPmZ_D
2396 UINT64_C(1698865152), // FRINTM_ZPmZ_H
2397 UINT64_C(1703059456), // FRINTM_ZPmZ_S
2398 UINT64_C(1691926528), // FRINTM_ZPzZ_D
2399 UINT64_C(1683537920), // FRINTM_ZPzZ_H
2400 UINT64_C(1687732224), // FRINTM_ZPzZ_S
2401 UINT64_C(237082624), // FRINTMv2f32
2402 UINT64_C(1315018752), // FRINTMv2f64
2403 UINT64_C(242849792), // FRINTMv4f16
2404 UINT64_C(1310824448), // FRINTMv4f32
2405 UINT64_C(1316591616), // FRINTMv8f16
2406 UINT64_C(509886464), // FRINTNDr
2407 UINT64_C(518275072), // FRINTNHr
2408 UINT64_C(505692160), // FRINTNSr
2409 UINT64_C(3249070080), // FRINTN_2Z2Z_S
2410 UINT64_C(3250118656), // FRINTN_4Z4Z_S
2411 UINT64_C(1707122688), // FRINTN_ZPmZ_D
2412 UINT64_C(1698734080), // FRINTN_ZPmZ_H
2413 UINT64_C(1702928384), // FRINTN_ZPmZ_S
2414 UINT64_C(1691910144), // FRINTN_ZPzZ_D
2415 UINT64_C(1683521536), // FRINTN_ZPzZ_H
2416 UINT64_C(1687715840), // FRINTN_ZPzZ_S
2417 UINT64_C(237078528), // FRINTNv2f32
2418 UINT64_C(1315014656), // FRINTNv2f64
2419 UINT64_C(242845696), // FRINTNv4f16
2420 UINT64_C(1310820352), // FRINTNv4f32
2421 UINT64_C(1316587520), // FRINTNv8f16
2422 UINT64_C(509919232), // FRINTPDr
2423 UINT64_C(518307840), // FRINTPHr
2424 UINT64_C(505724928), // FRINTPSr
2425 UINT64_C(3249135616), // FRINTP_2Z2Z_S
2426 UINT64_C(3250184192), // FRINTP_4Z4Z_S
2427 UINT64_C(1707188224), // FRINTP_ZPmZ_D
2428 UINT64_C(1698799616), // FRINTP_ZPmZ_H
2429 UINT64_C(1702993920), // FRINTP_ZPmZ_S
2430 UINT64_C(1691918336), // FRINTP_ZPzZ_D
2431 UINT64_C(1683529728), // FRINTP_ZPzZ_H
2432 UINT64_C(1687724032), // FRINTP_ZPzZ_S
2433 UINT64_C(245467136), // FRINTPv2f32
2434 UINT64_C(1323403264), // FRINTPv2f64
2435 UINT64_C(251234304), // FRINTPv4f16
2436 UINT64_C(1319208960), // FRINTPv4f32
2437 UINT64_C(1324976128), // FRINTPv8f16
2438 UINT64_C(510083072), // FRINTXDr
2439 UINT64_C(518471680), // FRINTXHr
2440 UINT64_C(505888768), // FRINTXSr
2441 UINT64_C(1707515904), // FRINTX_ZPmZ_D
2442 UINT64_C(1699127296), // FRINTX_ZPmZ_H
2443 UINT64_C(1703321600), // FRINTX_ZPmZ_S
2444 UINT64_C(1691992064), // FRINTX_ZPzZ_D
2445 UINT64_C(1683603456), // FRINTX_ZPzZ_H
2446 UINT64_C(1687797760), // FRINTX_ZPzZ_S
2447 UINT64_C(773953536), // FRINTXv2f32
2448 UINT64_C(1851889664), // FRINTXv2f64
2449 UINT64_C(779720704), // FRINTXv4f16
2450 UINT64_C(1847695360), // FRINTXv4f32
2451 UINT64_C(1853462528), // FRINTXv8f16
2452 UINT64_C(509984768), // FRINTZDr
2453 UINT64_C(518373376), // FRINTZHr
2454 UINT64_C(505790464), // FRINTZSr
2455 UINT64_C(1707319296), // FRINTZ_ZPmZ_D
2456 UINT64_C(1698930688), // FRINTZ_ZPmZ_H
2457 UINT64_C(1703124992), // FRINTZ_ZPmZ_S
2458 UINT64_C(1691934720), // FRINTZ_ZPzZ_D
2459 UINT64_C(1683546112), // FRINTZ_ZPzZ_H
2460 UINT64_C(1687740416), // FRINTZ_ZPzZ_S
2461 UINT64_C(245471232), // FRINTZv2f32
2462 UINT64_C(1323407360), // FRINTZv2f64
2463 UINT64_C(251238400), // FRINTZv4f16
2464 UINT64_C(1319213056), // FRINTZv4f32
2465 UINT64_C(1324980224), // FRINTZv8f16
2466 UINT64_C(1708077056), // FRSQRTE_ZZ_D
2467 UINT64_C(1699688448), // FRSQRTE_ZZ_H
2468 UINT64_C(1703882752), // FRSQRTE_ZZ_S
2469 UINT64_C(2130302976), // FRSQRTEv1f16
2470 UINT64_C(2124535808), // FRSQRTEv1i32
2471 UINT64_C(2128730112), // FRSQRTEv1i64
2472 UINT64_C(782358528), // FRSQRTEv2f32
2473 UINT64_C(1860294656), // FRSQRTEv2f64
2474 UINT64_C(788125696), // FRSQRTEv4f16
2475 UINT64_C(1856100352), // FRSQRTEv4f32
2476 UINT64_C(1861867520), // FRSQRTEv8f16
2477 UINT64_C(1589656576), // FRSQRTS16
2478 UINT64_C(1587608576), // FRSQRTS32
2479 UINT64_C(1591802880), // FRSQRTS64
2480 UINT64_C(1707088896), // FRSQRTS_ZZZ_D
2481 UINT64_C(1698700288), // FRSQRTS_ZZZ_H
2482 UINT64_C(1702894592), // FRSQRTS_ZZZ_S
2483 UINT64_C(245431296), // FRSQRTSv2f32
2484 UINT64_C(1323367424), // FRSQRTSv2f64
2485 UINT64_C(247479296), // FRSQRTSv4f16
2486 UINT64_C(1319173120), // FRSQRTSv4f32
2487 UINT64_C(1321221120), // FRSQRTSv8f16
2488 UINT64_C(3252728192), // FSCALE_2Z2Z_D
2489 UINT64_C(3244339584), // FSCALE_2Z2Z_H
2490 UINT64_C(3248533888), // FSCALE_2Z2Z_S
2491 UINT64_C(3252724096), // FSCALE_2ZZ_D
2492 UINT64_C(3244335488), // FSCALE_2ZZ_H
2493 UINT64_C(3248529792), // FSCALE_2ZZ_S
2494 UINT64_C(3252730240), // FSCALE_4Z4Z_D
2495 UINT64_C(3244341632), // FSCALE_4Z4Z_H
2496 UINT64_C(3248535936), // FSCALE_4Z4Z_S
2497 UINT64_C(3252726144), // FSCALE_4ZZ_D
2498 UINT64_C(3244337536), // FSCALE_4ZZ_H
2499 UINT64_C(3248531840), // FSCALE_4ZZ_S
2500 UINT64_C(1707704320), // FSCALE_ZPmZ_D
2501 UINT64_C(1699315712), // FSCALE_ZPmZ_H
2502 UINT64_C(1703510016), // FSCALE_ZPmZ_S
2503 UINT64_C(782302208), // FSCALEv2f32
2504 UINT64_C(1860238336), // FSCALEv2f64
2505 UINT64_C(784350208), // FSCALEv4f16
2506 UINT64_C(1856044032), // FSCALEv4f32
2507 UINT64_C(1858092032), // FSCALEv8f16
2508 UINT64_C(509722624), // FSQRTDr
2509 UINT64_C(518111232), // FSQRTHr
2510 UINT64_C(505528320), // FSQRTSr
2511 UINT64_C(1692114944), // FSQRT_ZPZz_D
2512 UINT64_C(1683726336), // FSQRT_ZPZz_H
2513 UINT64_C(1687920640), // FSQRT_ZPZz_S
2514 UINT64_C(1707974656), // FSQRT_ZPmZ_D
2515 UINT64_C(1699586048), // FSQRT_ZPmZ_H
2516 UINT64_C(1703780352), // FSQRT_ZPmZ_S
2517 UINT64_C(782366720), // FSQRTv2f32
2518 UINT64_C(1860302848), // FSQRTv2f64
2519 UINT64_C(788133888), // FSQRTv4f16
2520 UINT64_C(1856108544), // FSQRTv4f32
2521 UINT64_C(1861875712), // FSQRTv8f16
2522 UINT64_C(509622272), // FSUBDrr
2523 UINT64_C(518010880), // FSUBHrr
2524 UINT64_C(1708883968), // FSUBR_ZPmI_D
2525 UINT64_C(1700495360), // FSUBR_ZPmI_H
2526 UINT64_C(1704689664), // FSUBR_ZPmI_S
2527 UINT64_C(1707311104), // FSUBR_ZPmZ_D
2528 UINT64_C(1698922496), // FSUBR_ZPmZ_H
2529 UINT64_C(1703116800), // FSUBR_ZPmZ_S
2530 UINT64_C(505427968), // FSUBSrr
2531 UINT64_C(3252689928), // FSUB_VG2_M2Z_D
2532 UINT64_C(3248757768), // FSUB_VG2_M2Z_H
2533 UINT64_C(3248495624), // FSUB_VG2_M2Z_S
2534 UINT64_C(3252755464), // FSUB_VG4_M4Z_D
2535 UINT64_C(3248823304), // FSUB_VG4_M4Z_H
2536 UINT64_C(3248561160), // FSUB_VG4_M4Z_S
2537 UINT64_C(1708752896), // FSUB_ZPmI_D
2538 UINT64_C(1700364288), // FSUB_ZPmI_H
2539 UINT64_C(1704558592), // FSUB_ZPmI_S
2540 UINT64_C(1707180032), // FSUB_ZPmZ_D
2541 UINT64_C(1698791424), // FSUB_ZPmZ_H
2542 UINT64_C(1702985728), // FSUB_ZPmZ_S
2543 UINT64_C(1707082752), // FSUB_ZZZ_D
2544 UINT64_C(1698694144), // FSUB_ZZZ_H
2545 UINT64_C(1702888448), // FSUB_ZZZ_S
2546 UINT64_C(245421056), // FSUBv2f32
2547 UINT64_C(1323357184), // FSUBv2f64
2548 UINT64_C(247469056), // FSUBv4f16
2549 UINT64_C(1319162880), // FSUBv4f32
2550 UINT64_C(1321210880), // FSUBv8f16
2551 UINT64_C(1708163072), // FTMAD_ZZI_D
2552 UINT64_C(1699774464), // FTMAD_ZZI_H
2553 UINT64_C(1703968768), // FTMAD_ZZI_S
2554 UINT64_C(2153775112), // FTMOPA_M2ZZZI_BtoH
2555 UINT64_C(2153775104), // FTMOPA_M2ZZZI_BtoS
2556 UINT64_C(2168455176), // FTMOPA_M2ZZZI_HtoH
2557 UINT64_C(2170552320), // FTMOPA_M2ZZZI_HtoS
2558 UINT64_C(2151677952), // FTMOPA_M2ZZZI_StoS
2559 UINT64_C(1707084800), // FTSMUL_ZZZ_D
2560 UINT64_C(1698696192), // FTSMUL_ZZZ_H
2561 UINT64_C(1702890496), // FTSMUL_ZZZ_S
2562 UINT64_C(81833984), // FTSSEL_ZZZ_D
2563 UINT64_C(73445376), // FTSSEL_ZZZ_H
2564 UINT64_C(77639680), // FTSSEL_ZZZ_S
2565 UINT64_C(3251636224), // FVDOTB_VG4_M2ZZI_BtoS
2566 UINT64_C(3251636240), // FVDOTT_VG4_M2ZZI_BtoS
2567 UINT64_C(3251638304), // FVDOT_VG2_M2ZZI_BtoH
2568 UINT64_C(3243245576), // FVDOT_VG2_M2ZZI_HtoS
2569 UINT64_C(3574101951), // GCSPOPCX
2570 UINT64_C(3576395552), // GCSPOPM
2571 UINT64_C(3574101983), // GCSPOPX
2572 UINT64_C(3574298368), // GCSPUSHM
2573 UINT64_C(3574101919), // GCSPUSHX
2574 UINT64_C(3574298432), // GCSSS1
2575 UINT64_C(3576395616), // GCSSS2
2576 UINT64_C(3642690560), // GCSSTR
2577 UINT64_C(3642694656), // GCSSTTR
2578 UINT64_C(3292577792), // GLD1B_D
2579 UINT64_C(3290480640), // GLD1B_D_IMM
2580 UINT64_C(3292545024), // GLD1B_D_SXTW
2581 UINT64_C(3288350720), // GLD1B_D_UXTW
2582 UINT64_C(2216738816), // GLD1B_S_IMM
2583 UINT64_C(2218803200), // GLD1B_S_SXTW
2584 UINT64_C(2214608896), // GLD1B_S_UXTW
2585 UINT64_C(3317743616), // GLD1D
2586 UINT64_C(3315646464), // GLD1D_IMM
2587 UINT64_C(3319840768), // GLD1D_SCALED
2588 UINT64_C(3317710848), // GLD1D_SXTW
2589 UINT64_C(3319808000), // GLD1D_SXTW_SCALED
2590 UINT64_C(3313516544), // GLD1D_UXTW
2591 UINT64_C(3315613696), // GLD1D_UXTW_SCALED
2592 UINT64_C(3300966400), // GLD1H_D
2593 UINT64_C(3298869248), // GLD1H_D_IMM
2594 UINT64_C(3303063552), // GLD1H_D_SCALED
2595 UINT64_C(3300933632), // GLD1H_D_SXTW
2596 UINT64_C(3303030784), // GLD1H_D_SXTW_SCALED
2597 UINT64_C(3296739328), // GLD1H_D_UXTW
2598 UINT64_C(3298836480), // GLD1H_D_UXTW_SCALED
2599 UINT64_C(2225127424), // GLD1H_S_IMM
2600 UINT64_C(2227191808), // GLD1H_S_SXTW
2601 UINT64_C(2229288960), // GLD1H_S_SXTW_SCALED
2602 UINT64_C(2222997504), // GLD1H_S_UXTW
2603 UINT64_C(2225094656), // GLD1H_S_UXTW_SCALED
2604 UINT64_C(3288375296), // GLD1Q
2605 UINT64_C(3292561408), // GLD1SB_D
2606 UINT64_C(3290464256), // GLD1SB_D_IMM
2607 UINT64_C(3292528640), // GLD1SB_D_SXTW
2608 UINT64_C(3288334336), // GLD1SB_D_UXTW
2609 UINT64_C(2216722432), // GLD1SB_S_IMM
2610 UINT64_C(2218786816), // GLD1SB_S_SXTW
2611 UINT64_C(2214592512), // GLD1SB_S_UXTW
2612 UINT64_C(3300950016), // GLD1SH_D
2613 UINT64_C(3298852864), // GLD1SH_D_IMM
2614 UINT64_C(3303047168), // GLD1SH_D_SCALED
2615 UINT64_C(3300917248), // GLD1SH_D_SXTW
2616 UINT64_C(3303014400), // GLD1SH_D_SXTW_SCALED
2617 UINT64_C(3296722944), // GLD1SH_D_UXTW
2618 UINT64_C(3298820096), // GLD1SH_D_UXTW_SCALED
2619 UINT64_C(2225111040), // GLD1SH_S_IMM
2620 UINT64_C(2227175424), // GLD1SH_S_SXTW
2621 UINT64_C(2229272576), // GLD1SH_S_SXTW_SCALED
2622 UINT64_C(2222981120), // GLD1SH_S_UXTW
2623 UINT64_C(2225078272), // GLD1SH_S_UXTW_SCALED
2624 UINT64_C(3309338624), // GLD1SW_D
2625 UINT64_C(3307241472), // GLD1SW_D_IMM
2626 UINT64_C(3311435776), // GLD1SW_D_SCALED
2627 UINT64_C(3309305856), // GLD1SW_D_SXTW
2628 UINT64_C(3311403008), // GLD1SW_D_SXTW_SCALED
2629 UINT64_C(3305111552), // GLD1SW_D_UXTW
2630 UINT64_C(3307208704), // GLD1SW_D_UXTW_SCALED
2631 UINT64_C(3309355008), // GLD1W_D
2632 UINT64_C(3307257856), // GLD1W_D_IMM
2633 UINT64_C(3311452160), // GLD1W_D_SCALED
2634 UINT64_C(3309322240), // GLD1W_D_SXTW
2635 UINT64_C(3311419392), // GLD1W_D_SXTW_SCALED
2636 UINT64_C(3305127936), // GLD1W_D_UXTW
2637 UINT64_C(3307225088), // GLD1W_D_UXTW_SCALED
2638 UINT64_C(2233516032), // GLD1W_IMM
2639 UINT64_C(2235580416), // GLD1W_SXTW
2640 UINT64_C(2237677568), // GLD1W_SXTW_SCALED
2641 UINT64_C(2231386112), // GLD1W_UXTW
2642 UINT64_C(2233483264), // GLD1W_UXTW_SCALED
2643 UINT64_C(3292585984), // GLDFF1B_D
2644 UINT64_C(3290488832), // GLDFF1B_D_IMM
2645 UINT64_C(3292553216), // GLDFF1B_D_SXTW
2646 UINT64_C(3288358912), // GLDFF1B_D_UXTW
2647 UINT64_C(2216747008), // GLDFF1B_S_IMM
2648 UINT64_C(2218811392), // GLDFF1B_S_SXTW
2649 UINT64_C(2214617088), // GLDFF1B_S_UXTW
2650 UINT64_C(3317751808), // GLDFF1D
2651 UINT64_C(3315654656), // GLDFF1D_IMM
2652 UINT64_C(3319848960), // GLDFF1D_SCALED
2653 UINT64_C(3317719040), // GLDFF1D_SXTW
2654 UINT64_C(3319816192), // GLDFF1D_SXTW_SCALED
2655 UINT64_C(3313524736), // GLDFF1D_UXTW
2656 UINT64_C(3315621888), // GLDFF1D_UXTW_SCALED
2657 UINT64_C(3300974592), // GLDFF1H_D
2658 UINT64_C(3298877440), // GLDFF1H_D_IMM
2659 UINT64_C(3303071744), // GLDFF1H_D_SCALED
2660 UINT64_C(3300941824), // GLDFF1H_D_SXTW
2661 UINT64_C(3303038976), // GLDFF1H_D_SXTW_SCALED
2662 UINT64_C(3296747520), // GLDFF1H_D_UXTW
2663 UINT64_C(3298844672), // GLDFF1H_D_UXTW_SCALED
2664 UINT64_C(2225135616), // GLDFF1H_S_IMM
2665 UINT64_C(2227200000), // GLDFF1H_S_SXTW
2666 UINT64_C(2229297152), // GLDFF1H_S_SXTW_SCALED
2667 UINT64_C(2223005696), // GLDFF1H_S_UXTW
2668 UINT64_C(2225102848), // GLDFF1H_S_UXTW_SCALED
2669 UINT64_C(3292569600), // GLDFF1SB_D
2670 UINT64_C(3290472448), // GLDFF1SB_D_IMM
2671 UINT64_C(3292536832), // GLDFF1SB_D_SXTW
2672 UINT64_C(3288342528), // GLDFF1SB_D_UXTW
2673 UINT64_C(2216730624), // GLDFF1SB_S_IMM
2674 UINT64_C(2218795008), // GLDFF1SB_S_SXTW
2675 UINT64_C(2214600704), // GLDFF1SB_S_UXTW
2676 UINT64_C(3300958208), // GLDFF1SH_D
2677 UINT64_C(3298861056), // GLDFF1SH_D_IMM
2678 UINT64_C(3303055360), // GLDFF1SH_D_SCALED
2679 UINT64_C(3300925440), // GLDFF1SH_D_SXTW
2680 UINT64_C(3303022592), // GLDFF1SH_D_SXTW_SCALED
2681 UINT64_C(3296731136), // GLDFF1SH_D_UXTW
2682 UINT64_C(3298828288), // GLDFF1SH_D_UXTW_SCALED
2683 UINT64_C(2225119232), // GLDFF1SH_S_IMM
2684 UINT64_C(2227183616), // GLDFF1SH_S_SXTW
2685 UINT64_C(2229280768), // GLDFF1SH_S_SXTW_SCALED
2686 UINT64_C(2222989312), // GLDFF1SH_S_UXTW
2687 UINT64_C(2225086464), // GLDFF1SH_S_UXTW_SCALED
2688 UINT64_C(3309346816), // GLDFF1SW_D
2689 UINT64_C(3307249664), // GLDFF1SW_D_IMM
2690 UINT64_C(3311443968), // GLDFF1SW_D_SCALED
2691 UINT64_C(3309314048), // GLDFF1SW_D_SXTW
2692 UINT64_C(3311411200), // GLDFF1SW_D_SXTW_SCALED
2693 UINT64_C(3305119744), // GLDFF1SW_D_UXTW
2694 UINT64_C(3307216896), // GLDFF1SW_D_UXTW_SCALED
2695 UINT64_C(3309363200), // GLDFF1W_D
2696 UINT64_C(3307266048), // GLDFF1W_D_IMM
2697 UINT64_C(3311460352), // GLDFF1W_D_SCALED
2698 UINT64_C(3309330432), // GLDFF1W_D_SXTW
2699 UINT64_C(3311427584), // GLDFF1W_D_SXTW_SCALED
2700 UINT64_C(3305136128), // GLDFF1W_D_UXTW
2701 UINT64_C(3307233280), // GLDFF1W_D_UXTW_SCALED
2702 UINT64_C(2233524224), // GLDFF1W_IMM
2703 UINT64_C(2235588608), // GLDFF1W_SXTW
2704 UINT64_C(2237685760), // GLDFF1W_SXTW_SCALED
2705 UINT64_C(2231394304), // GLDFF1W_UXTW
2706 UINT64_C(2233491456), // GLDFF1W_UXTW_SCALED
2707 UINT64_C(2596279296), // GMI
2708 UINT64_C(3573751839), // HINT
2709 UINT64_C(3573555200), // HINTE
2710 UINT64_C(1172357120), // HISTCNT_ZPzZZ_D
2711 UINT64_C(1168162816), // HISTCNT_ZPzZZ_S
2712 UINT64_C(1159766016), // HISTSEG_ZZZ
2713 UINT64_C(3560964096), // HLT
2714 UINT64_C(3556769794), // HVC
2715 UINT64_C(70311936), // INCB_XPiI
2716 UINT64_C(82894848), // INCD_XPiI
2717 UINT64_C(82886656), // INCD_ZPiI
2718 UINT64_C(74506240), // INCH_XPiI
2719 UINT64_C(74498048), // INCH_ZPiI
2720 UINT64_C(623675392), // INCP_XP_B
2721 UINT64_C(636258304), // INCP_XP_D
2722 UINT64_C(627869696), // INCP_XP_H
2723 UINT64_C(632064000), // INCP_XP_S
2724 UINT64_C(636256256), // INCP_ZP_D
2725 UINT64_C(627867648), // INCP_ZP_H
2726 UINT64_C(632061952), // INCP_ZP_S
2727 UINT64_C(78700544), // INCW_XPiI
2728 UINT64_C(78692352), // INCW_ZPiI
2729 UINT64_C(69222400), // INDEX_II_B
2730 UINT64_C(81805312), // INDEX_II_D
2731 UINT64_C(73416704), // INDEX_II_H
2732 UINT64_C(77611008), // INDEX_II_S
2733 UINT64_C(69224448), // INDEX_IR_B
2734 UINT64_C(81807360), // INDEX_IR_D
2735 UINT64_C(73418752), // INDEX_IR_H
2736 UINT64_C(77613056), // INDEX_IR_S
2737 UINT64_C(69223424), // INDEX_RI_B
2738 UINT64_C(81806336), // INDEX_RI_D
2739 UINT64_C(73417728), // INDEX_RI_H
2740 UINT64_C(77612032), // INDEX_RI_S
2741 UINT64_C(69225472), // INDEX_RR_B
2742 UINT64_C(81808384), // INDEX_RR_D
2743 UINT64_C(73419776), // INDEX_RR_H
2744 UINT64_C(77614080), // INDEX_RR_S
2745 UINT64_C(3221225472), // INSERT_MXIPZ_H_B
2746 UINT64_C(3233808384), // INSERT_MXIPZ_H_D
2747 UINT64_C(3225419776), // INSERT_MXIPZ_H_H
2748 UINT64_C(3233873920), // INSERT_MXIPZ_H_Q
2749 UINT64_C(3229614080), // INSERT_MXIPZ_H_S
2750 UINT64_C(3221258240), // INSERT_MXIPZ_V_B
2751 UINT64_C(3233841152), // INSERT_MXIPZ_V_D
2752 UINT64_C(3225452544), // INSERT_MXIPZ_V_H
2753 UINT64_C(3233906688), // INSERT_MXIPZ_V_Q
2754 UINT64_C(3229646848), // INSERT_MXIPZ_V_S
2755 UINT64_C(86259712), // INSR_ZR_B
2756 UINT64_C(98842624), // INSR_ZR_D
2757 UINT64_C(90454016), // INSR_ZR_H
2758 UINT64_C(94648320), // INSR_ZR_S
2759 UINT64_C(87308288), // INSR_ZV_B
2760 UINT64_C(99891200), // INSR_ZV_D
2761 UINT64_C(91502592), // INSR_ZV_H
2762 UINT64_C(95696896), // INSR_ZV_S
2763 UINT64_C(1308761088), // INSvi16gpr
2764 UINT64_C(1845625856), // INSvi16lane
2765 UINT64_C(1308892160), // INSvi32gpr
2766 UINT64_C(1845756928), // INSvi32lane
2767 UINT64_C(1309154304), // INSvi64gpr
2768 UINT64_C(1846019072), // INSvi64lane
2769 UINT64_C(1308695552), // INSvi8gpr
2770 UINT64_C(1845560320), // INSvi8lane
2771 UINT64_C(2596278272), // IRG
2772 UINT64_C(3573756127), // ISB
2773 UINT64_C(86024192), // LASTA_RPZ_B
2774 UINT64_C(98607104), // LASTA_RPZ_D
2775 UINT64_C(90218496), // LASTA_RPZ_H
2776 UINT64_C(94412800), // LASTA_RPZ_S
2777 UINT64_C(86147072), // LASTA_VPZ_B
2778 UINT64_C(98729984), // LASTA_VPZ_D
2779 UINT64_C(90341376), // LASTA_VPZ_H
2780 UINT64_C(94535680), // LASTA_VPZ_S
2781 UINT64_C(86089728), // LASTB_RPZ_B
2782 UINT64_C(98672640), // LASTB_RPZ_D
2783 UINT64_C(90284032), // LASTB_RPZ_H
2784 UINT64_C(94478336), // LASTB_RPZ_S
2785 UINT64_C(86212608), // LASTB_VPZ_B
2786 UINT64_C(98795520), // LASTB_VPZ_D
2787 UINT64_C(90406912), // LASTB_VPZ_H
2788 UINT64_C(94601216), // LASTB_VPZ_S
2789 UINT64_C(623017984), // LASTP_XPP_B
2790 UINT64_C(635600896), // LASTP_XPP_D
2791 UINT64_C(627212288), // LASTP_XPP_H
2792 UINT64_C(631406592), // LASTP_XPP_S
2793 UINT64_C(2751479808), // LD1B
2794 UINT64_C(2684354560), // LD1B_2Z
2795 UINT64_C(2688548864), // LD1B_2Z_IMM
2796 UINT64_C(2701131776), // LD1B_2Z_STRIDED
2797 UINT64_C(2705326080), // LD1B_2Z_STRIDED_IMM
2798 UINT64_C(2684387328), // LD1B_4Z
2799 UINT64_C(2688581632), // LD1B_4Z_IMM
2800 UINT64_C(2701164544), // LD1B_4Z_STRIDED
2801 UINT64_C(2705358848), // LD1B_4Z_STRIDED_IMM
2802 UINT64_C(2757771264), // LD1B_D
2803 UINT64_C(2757795840), // LD1B_D_IMM
2804 UINT64_C(2753576960), // LD1B_H
2805 UINT64_C(2753601536), // LD1B_H_IMM
2806 UINT64_C(2751504384), // LD1B_IMM
2807 UINT64_C(2755674112), // LD1B_S
2808 UINT64_C(2755698688), // LD1B_S_IMM
2809 UINT64_C(2782937088), // LD1D
2810 UINT64_C(2684379136), // LD1D_2Z
2811 UINT64_C(2688573440), // LD1D_2Z_IMM
2812 UINT64_C(2701156352), // LD1D_2Z_STRIDED
2813 UINT64_C(2705350656), // LD1D_2Z_STRIDED_IMM
2814 UINT64_C(2684411904), // LD1D_4Z
2815 UINT64_C(2688606208), // LD1D_4Z_IMM
2816 UINT64_C(2701189120), // LD1D_4Z_STRIDED
2817 UINT64_C(2705383424), // LD1D_4Z_STRIDED_IMM
2818 UINT64_C(2782961664), // LD1D_IMM
2819 UINT64_C(2776662016), // LD1D_Q
2820 UINT64_C(2777686016), // LD1D_Q_IMM
2821 UINT64_C(1279270912), // LD1Fourv16b
2822 UINT64_C(1287659520), // LD1Fourv16b_POST
2823 UINT64_C(205532160), // LD1Fourv1d
2824 UINT64_C(213920768), // LD1Fourv1d_POST
2825 UINT64_C(1279273984), // LD1Fourv2d
2826 UINT64_C(1287662592), // LD1Fourv2d_POST
2827 UINT64_C(205531136), // LD1Fourv2s
2828 UINT64_C(213919744), // LD1Fourv2s_POST
2829 UINT64_C(205530112), // LD1Fourv4h
2830 UINT64_C(213918720), // LD1Fourv4h_POST
2831 UINT64_C(1279272960), // LD1Fourv4s
2832 UINT64_C(1287661568), // LD1Fourv4s_POST
2833 UINT64_C(205529088), // LD1Fourv8b
2834 UINT64_C(213917696), // LD1Fourv8b_POST
2835 UINT64_C(1279271936), // LD1Fourv8h
2836 UINT64_C(1287660544), // LD1Fourv8h_POST
2837 UINT64_C(2761965568), // LD1H
2838 UINT64_C(2684362752), // LD1H_2Z
2839 UINT64_C(2688557056), // LD1H_2Z_IMM
2840 UINT64_C(2701139968), // LD1H_2Z_STRIDED
2841 UINT64_C(2705334272), // LD1H_2Z_STRIDED_IMM
2842 UINT64_C(2684395520), // LD1H_4Z
2843 UINT64_C(2688589824), // LD1H_4Z_IMM
2844 UINT64_C(2701172736), // LD1H_4Z_STRIDED
2845 UINT64_C(2705367040), // LD1H_4Z_STRIDED_IMM
2846 UINT64_C(2766159872), // LD1H_D
2847 UINT64_C(2766184448), // LD1H_D_IMM
2848 UINT64_C(2761990144), // LD1H_IMM
2849 UINT64_C(2764062720), // LD1H_S
2850 UINT64_C(2764087296), // LD1H_S_IMM
2851 UINT64_C(1279291392), // LD1Onev16b
2852 UINT64_C(1287680000), // LD1Onev16b_POST
2853 UINT64_C(205552640), // LD1Onev1d
2854 UINT64_C(213941248), // LD1Onev1d_POST
2855 UINT64_C(1279294464), // LD1Onev2d
2856 UINT64_C(1287683072), // LD1Onev2d_POST
2857 UINT64_C(205551616), // LD1Onev2s
2858 UINT64_C(213940224), // LD1Onev2s_POST
2859 UINT64_C(205550592), // LD1Onev4h
2860 UINT64_C(213939200), // LD1Onev4h_POST
2861 UINT64_C(1279293440), // LD1Onev4s
2862 UINT64_C(1287682048), // LD1Onev4s_POST
2863 UINT64_C(205549568), // LD1Onev8b
2864 UINT64_C(213938176), // LD1Onev8b_POST
2865 UINT64_C(1279292416), // LD1Onev8h
2866 UINT64_C(1287681024), // LD1Onev8h_POST
2867 UINT64_C(2218844160), // LD1RB_D_IMM
2868 UINT64_C(2218827776), // LD1RB_H_IMM
2869 UINT64_C(2218819584), // LD1RB_IMM
2870 UINT64_C(2218835968), // LD1RB_S_IMM
2871 UINT64_C(2244009984), // LD1RD_IMM
2872 UINT64_C(2227232768), // LD1RH_D_IMM
2873 UINT64_C(2227216384), // LD1RH_IMM
2874 UINT64_C(2227224576), // LD1RH_S_IMM
2875 UINT64_C(2753560576), // LD1RO_B
2876 UINT64_C(2753568768), // LD1RO_B_IMM
2877 UINT64_C(2778726400), // LD1RO_D
2878 UINT64_C(2778734592), // LD1RO_D_IMM
2879 UINT64_C(2761949184), // LD1RO_H
2880 UINT64_C(2761957376), // LD1RO_H_IMM
2881 UINT64_C(2770337792), // LD1RO_W
2882 UINT64_C(2770345984), // LD1RO_W_IMM
2883 UINT64_C(2751463424), // LD1RQ_B
2884 UINT64_C(2751471616), // LD1RQ_B_IMM
2885 UINT64_C(2776629248), // LD1RQ_D
2886 UINT64_C(2776637440), // LD1RQ_D_IMM
2887 UINT64_C(2759852032), // LD1RQ_H
2888 UINT64_C(2759860224), // LD1RQ_H_IMM
2889 UINT64_C(2768240640), // LD1RQ_W
2890 UINT64_C(2768248832), // LD1RQ_W_IMM
2891 UINT64_C(2243985408), // LD1RSB_D_IMM
2892 UINT64_C(2244001792), // LD1RSB_H_IMM
2893 UINT64_C(2243993600), // LD1RSB_S_IMM
2894 UINT64_C(2235596800), // LD1RSH_D_IMM
2895 UINT64_C(2235604992), // LD1RSH_S_IMM
2896 UINT64_C(2227208192), // LD1RSW_IMM
2897 UINT64_C(2235621376), // LD1RW_D_IMM
2898 UINT64_C(2235613184), // LD1RW_IMM
2899 UINT64_C(1296089088), // LD1Rv16b
2900 UINT64_C(1304477696), // LD1Rv16b_POST
2901 UINT64_C(222350336), // LD1Rv1d
2902 UINT64_C(230738944), // LD1Rv1d_POST
2903 UINT64_C(1296092160), // LD1Rv2d
2904 UINT64_C(1304480768), // LD1Rv2d_POST
2905 UINT64_C(222349312), // LD1Rv2s
2906 UINT64_C(230737920), // LD1Rv2s_POST
2907 UINT64_C(222348288), // LD1Rv4h
2908 UINT64_C(230736896), // LD1Rv4h_POST
2909 UINT64_C(1296091136), // LD1Rv4s
2910 UINT64_C(1304479744), // LD1Rv4s_POST
2911 UINT64_C(222347264), // LD1Rv8b
2912 UINT64_C(230735872), // LD1Rv8b_POST
2913 UINT64_C(1296090112), // LD1Rv8h
2914 UINT64_C(1304478720), // LD1Rv8h_POST
2915 UINT64_C(2776645632), // LD1SB_D
2916 UINT64_C(2776670208), // LD1SB_D_IMM
2917 UINT64_C(2780839936), // LD1SB_H
2918 UINT64_C(2780864512), // LD1SB_H_IMM
2919 UINT64_C(2778742784), // LD1SB_S
2920 UINT64_C(2778767360), // LD1SB_S_IMM
2921 UINT64_C(2768257024), // LD1SH_D
2922 UINT64_C(2768281600), // LD1SH_D_IMM
2923 UINT64_C(2770354176), // LD1SH_S
2924 UINT64_C(2770378752), // LD1SH_S_IMM
2925 UINT64_C(2759868416), // LD1SW_D
2926 UINT64_C(2759892992), // LD1SW_D_IMM
2927 UINT64_C(1279287296), // LD1Threev16b
2928 UINT64_C(1287675904), // LD1Threev16b_POST
2929 UINT64_C(205548544), // LD1Threev1d
2930 UINT64_C(213937152), // LD1Threev1d_POST
2931 UINT64_C(1279290368), // LD1Threev2d
2932 UINT64_C(1287678976), // LD1Threev2d_POST
2933 UINT64_C(205547520), // LD1Threev2s
2934 UINT64_C(213936128), // LD1Threev2s_POST
2935 UINT64_C(205546496), // LD1Threev4h
2936 UINT64_C(213935104), // LD1Threev4h_POST
2937 UINT64_C(1279289344), // LD1Threev4s
2938 UINT64_C(1287677952), // LD1Threev4s_POST
2939 UINT64_C(205545472), // LD1Threev8b
2940 UINT64_C(213934080), // LD1Threev8b_POST
2941 UINT64_C(1279288320), // LD1Threev8h
2942 UINT64_C(1287676928), // LD1Threev8h_POST
2943 UINT64_C(1279303680), // LD1Twov16b
2944 UINT64_C(1287692288), // LD1Twov16b_POST
2945 UINT64_C(205564928), // LD1Twov1d
2946 UINT64_C(213953536), // LD1Twov1d_POST
2947 UINT64_C(1279306752), // LD1Twov2d
2948 UINT64_C(1287695360), // LD1Twov2d_POST
2949 UINT64_C(205563904), // LD1Twov2s
2950 UINT64_C(213952512), // LD1Twov2s_POST
2951 UINT64_C(205562880), // LD1Twov4h
2952 UINT64_C(213951488), // LD1Twov4h_POST
2953 UINT64_C(1279305728), // LD1Twov4s
2954 UINT64_C(1287694336), // LD1Twov4s_POST
2955 UINT64_C(205561856), // LD1Twov8b
2956 UINT64_C(213950464), // LD1Twov8b_POST
2957 UINT64_C(1279304704), // LD1Twov8h
2958 UINT64_C(1287693312), // LD1Twov8h_POST
2959 UINT64_C(2772451328), // LD1W
2960 UINT64_C(2684370944), // LD1W_2Z
2961 UINT64_C(2688565248), // LD1W_2Z_IMM
2962 UINT64_C(2701148160), // LD1W_2Z_STRIDED
2963 UINT64_C(2705342464), // LD1W_2Z_STRIDED_IMM
2964 UINT64_C(2684403712), // LD1W_4Z
2965 UINT64_C(2688598016), // LD1W_4Z_IMM
2966 UINT64_C(2701180928), // LD1W_4Z_STRIDED
2967 UINT64_C(2705375232), // LD1W_4Z_STRIDED_IMM
2968 UINT64_C(2774548480), // LD1W_D
2969 UINT64_C(2774573056), // LD1W_D_IMM
2970 UINT64_C(2772475904), // LD1W_IMM
2971 UINT64_C(2768273408), // LD1W_Q
2972 UINT64_C(2769297408), // LD1W_Q_IMM
2973 UINT64_C(3758096384), // LD1_MXIPXX_H_B
2974 UINT64_C(3770679296), // LD1_MXIPXX_H_D
2975 UINT64_C(3762290688), // LD1_MXIPXX_H_H
2976 UINT64_C(3787456512), // LD1_MXIPXX_H_Q
2977 UINT64_C(3766484992), // LD1_MXIPXX_H_S
2978 UINT64_C(3758129152), // LD1_MXIPXX_V_B
2979 UINT64_C(3770712064), // LD1_MXIPXX_V_D
2980 UINT64_C(3762323456), // LD1_MXIPXX_V_H
2981 UINT64_C(3787489280), // LD1_MXIPXX_V_Q
2982 UINT64_C(3766517760), // LD1_MXIPXX_V_S
2983 UINT64_C(222314496), // LD1i16
2984 UINT64_C(230703104), // LD1i16_POST
2985 UINT64_C(222330880), // LD1i32
2986 UINT64_C(230719488), // LD1i32_POST
2987 UINT64_C(222331904), // LD1i64
2988 UINT64_C(230720512), // LD1i64_POST
2989 UINT64_C(222298112), // LD1i8
2990 UINT64_C(230686720), // LD1i8_POST
2991 UINT64_C(2753609728), // LD2B
2992 UINT64_C(2753617920), // LD2B_IMM
2993 UINT64_C(2778775552), // LD2D
2994 UINT64_C(2778783744), // LD2D_IMM
2995 UINT64_C(2761998336), // LD2H
2996 UINT64_C(2762006528), // LD2H_IMM
2997 UINT64_C(2761981952), // LD2Q
2998 UINT64_C(2760957952), // LD2Q_IMM
2999 UINT64_C(1298186240), // LD2Rv16b
3000 UINT64_C(1306574848), // LD2Rv16b_POST
3001 UINT64_C(224447488), // LD2Rv1d
3002 UINT64_C(232836096), // LD2Rv1d_POST
3003 UINT64_C(1298189312), // LD2Rv2d
3004 UINT64_C(1306577920), // LD2Rv2d_POST
3005 UINT64_C(224446464), // LD2Rv2s
3006 UINT64_C(232835072), // LD2Rv2s_POST
3007 UINT64_C(224445440), // LD2Rv4h
3008 UINT64_C(232834048), // LD2Rv4h_POST
3009 UINT64_C(1298188288), // LD2Rv4s
3010 UINT64_C(1306576896), // LD2Rv4s_POST
3011 UINT64_C(224444416), // LD2Rv8b
3012 UINT64_C(232833024), // LD2Rv8b_POST
3013 UINT64_C(1298187264), // LD2Rv8h
3014 UINT64_C(1306575872), // LD2Rv8h_POST
3015 UINT64_C(1279295488), // LD2Twov16b
3016 UINT64_C(1287684096), // LD2Twov16b_POST
3017 UINT64_C(1279298560), // LD2Twov2d
3018 UINT64_C(1287687168), // LD2Twov2d_POST
3019 UINT64_C(205555712), // LD2Twov2s
3020 UINT64_C(213944320), // LD2Twov2s_POST
3021 UINT64_C(205554688), // LD2Twov4h
3022 UINT64_C(213943296), // LD2Twov4h_POST
3023 UINT64_C(1279297536), // LD2Twov4s
3024 UINT64_C(1287686144), // LD2Twov4s_POST
3025 UINT64_C(205553664), // LD2Twov8b
3026 UINT64_C(213942272), // LD2Twov8b_POST
3027 UINT64_C(1279296512), // LD2Twov8h
3028 UINT64_C(1287685120), // LD2Twov8h_POST
3029 UINT64_C(2770386944), // LD2W
3030 UINT64_C(2770395136), // LD2W_IMM
3031 UINT64_C(224411648), // LD2i16
3032 UINT64_C(232800256), // LD2i16_POST
3033 UINT64_C(224428032), // LD2i32
3034 UINT64_C(232816640), // LD2i32_POST
3035 UINT64_C(224429056), // LD2i64
3036 UINT64_C(232817664), // LD2i64_POST
3037 UINT64_C(224395264), // LD2i8
3038 UINT64_C(232783872), // LD2i8_POST
3039 UINT64_C(2755706880), // LD3B
3040 UINT64_C(2755715072), // LD3B_IMM
3041 UINT64_C(2780872704), // LD3D
3042 UINT64_C(2780880896), // LD3D_IMM
3043 UINT64_C(2764095488), // LD3H
3044 UINT64_C(2764103680), // LD3H_IMM
3045 UINT64_C(2770370560), // LD3Q
3046 UINT64_C(2769346560), // LD3Q_IMM
3047 UINT64_C(1296097280), // LD3Rv16b
3048 UINT64_C(1304485888), // LD3Rv16b_POST
3049 UINT64_C(222358528), // LD3Rv1d
3050 UINT64_C(230747136), // LD3Rv1d_POST
3051 UINT64_C(1296100352), // LD3Rv2d
3052 UINT64_C(1304488960), // LD3Rv2d_POST
3053 UINT64_C(222357504), // LD3Rv2s
3054 UINT64_C(230746112), // LD3Rv2s_POST
3055 UINT64_C(222356480), // LD3Rv4h
3056 UINT64_C(230745088), // LD3Rv4h_POST
3057 UINT64_C(1296099328), // LD3Rv4s
3058 UINT64_C(1304487936), // LD3Rv4s_POST
3059 UINT64_C(222355456), // LD3Rv8b
3060 UINT64_C(230744064), // LD3Rv8b_POST
3061 UINT64_C(1296098304), // LD3Rv8h
3062 UINT64_C(1304486912), // LD3Rv8h_POST
3063 UINT64_C(1279279104), // LD3Threev16b
3064 UINT64_C(1287667712), // LD3Threev16b_POST
3065 UINT64_C(1279282176), // LD3Threev2d
3066 UINT64_C(1287670784), // LD3Threev2d_POST
3067 UINT64_C(205539328), // LD3Threev2s
3068 UINT64_C(213927936), // LD3Threev2s_POST
3069 UINT64_C(205538304), // LD3Threev4h
3070 UINT64_C(213926912), // LD3Threev4h_POST
3071 UINT64_C(1279281152), // LD3Threev4s
3072 UINT64_C(1287669760), // LD3Threev4s_POST
3073 UINT64_C(205537280), // LD3Threev8b
3074 UINT64_C(213925888), // LD3Threev8b_POST
3075 UINT64_C(1279280128), // LD3Threev8h
3076 UINT64_C(1287668736), // LD3Threev8h_POST
3077 UINT64_C(2772484096), // LD3W
3078 UINT64_C(2772492288), // LD3W_IMM
3079 UINT64_C(222322688), // LD3i16
3080 UINT64_C(230711296), // LD3i16_POST
3081 UINT64_C(222339072), // LD3i32
3082 UINT64_C(230727680), // LD3i32_POST
3083 UINT64_C(222340096), // LD3i64
3084 UINT64_C(230728704), // LD3i64_POST
3085 UINT64_C(222306304), // LD3i8
3086 UINT64_C(230694912), // LD3i8_POST
3087 UINT64_C(2757804032), // LD4B
3088 UINT64_C(2757812224), // LD4B_IMM
3089 UINT64_C(2782969856), // LD4D
3090 UINT64_C(2782978048), // LD4D_IMM
3091 UINT64_C(1279262720), // LD4Fourv16b
3092 UINT64_C(1287651328), // LD4Fourv16b_POST
3093 UINT64_C(1279265792), // LD4Fourv2d
3094 UINT64_C(1287654400), // LD4Fourv2d_POST
3095 UINT64_C(205522944), // LD4Fourv2s
3096 UINT64_C(213911552), // LD4Fourv2s_POST
3097 UINT64_C(205521920), // LD4Fourv4h
3098 UINT64_C(213910528), // LD4Fourv4h_POST
3099 UINT64_C(1279264768), // LD4Fourv4s
3100 UINT64_C(1287653376), // LD4Fourv4s_POST
3101 UINT64_C(205520896), // LD4Fourv8b
3102 UINT64_C(213909504), // LD4Fourv8b_POST
3103 UINT64_C(1279263744), // LD4Fourv8h
3104 UINT64_C(1287652352), // LD4Fourv8h_POST
3105 UINT64_C(2766192640), // LD4H
3106 UINT64_C(2766200832), // LD4H_IMM
3107 UINT64_C(2778759168), // LD4Q
3108 UINT64_C(2777735168), // LD4Q_IMM
3109 UINT64_C(1298194432), // LD4Rv16b
3110 UINT64_C(1306583040), // LD4Rv16b_POST
3111 UINT64_C(224455680), // LD4Rv1d
3112 UINT64_C(232844288), // LD4Rv1d_POST
3113 UINT64_C(1298197504), // LD4Rv2d
3114 UINT64_C(1306586112), // LD4Rv2d_POST
3115 UINT64_C(224454656), // LD4Rv2s
3116 UINT64_C(232843264), // LD4Rv2s_POST
3117 UINT64_C(224453632), // LD4Rv4h
3118 UINT64_C(232842240), // LD4Rv4h_POST
3119 UINT64_C(1298196480), // LD4Rv4s
3120 UINT64_C(1306585088), // LD4Rv4s_POST
3121 UINT64_C(224452608), // LD4Rv8b
3122 UINT64_C(232841216), // LD4Rv8b_POST
3123 UINT64_C(1298195456), // LD4Rv8h
3124 UINT64_C(1306584064), // LD4Rv8h_POST
3125 UINT64_C(2774581248), // LD4W
3126 UINT64_C(2774589440), // LD4W_IMM
3127 UINT64_C(224419840), // LD4i16
3128 UINT64_C(232808448), // LD4i16_POST
3129 UINT64_C(224436224), // LD4i32
3130 UINT64_C(232824832), // LD4i32_POST
3131 UINT64_C(224437248), // LD4i64
3132 UINT64_C(232825856), // LD4i64_POST
3133 UINT64_C(224403456), // LD4i8
3134 UINT64_C(232792064), // LD4i8_POST
3135 UINT64_C(4164931584), // LD64B
3136 UINT64_C(4173320192), // LDA64B
3137 UINT64_C(950009856), // LDADDAB
3138 UINT64_C(2023751680), // LDADDAH
3139 UINT64_C(954204160), // LDADDALB
3140 UINT64_C(2027945984), // LDADDALH
3141 UINT64_C(3101687808), // LDADDALW
3142 UINT64_C(4175429632), // LDADDALX
3143 UINT64_C(3097493504), // LDADDAW
3144 UINT64_C(4171235328), // LDADDAX
3145 UINT64_C(941621248), // LDADDB
3146 UINT64_C(2015363072), // LDADDH
3147 UINT64_C(945815552), // LDADDLB
3148 UINT64_C(2019557376), // LDADDLH
3149 UINT64_C(3093299200), // LDADDLW
3150 UINT64_C(4167041024), // LDADDLX
3151 UINT64_C(3089104896), // LDADDW
3152 UINT64_C(4162846720), // LDADDX
3153 UINT64_C(222397440), // LDAP1
3154 UINT64_C(3644880896), // LDAPPi
3155 UINT64_C(952090624), // LDAPRB
3156 UINT64_C(2025832448), // LDAPRH
3157 UINT64_C(2239782912), // LDAPRO_ZXI
3158 UINT64_C(3099574272), // LDAPRW
3159 UINT64_C(2579499008), // LDAPRWpost
3160 UINT64_C(4173316096), // LDAPRX
3161 UINT64_C(3653240832), // LDAPRXpost
3162 UINT64_C(423624704), // LDAPURBi
3163 UINT64_C(1497366528), // LDAPURHi
3164 UINT64_C(432013312), // LDAPURSBWi
3165 UINT64_C(427819008), // LDAPURSBXi
3166 UINT64_C(1505755136), // LDAPURSHWi
3167 UINT64_C(1501560832), // LDAPURSHXi
3168 UINT64_C(2575302656), // LDAPURSWi
3169 UINT64_C(3644850176), // LDAPURXi
3170 UINT64_C(490735616), // LDAPURbi
3171 UINT64_C(3711961088), // LDAPURdi
3172 UINT64_C(1564477440), // LDAPURhi
3173 UINT64_C(2571108352), // LDAPURi
3174 UINT64_C(499124224), // LDAPURqi
3175 UINT64_C(2638219264), // LDAPURsi
3176 UINT64_C(3644872704), // LDAPi
3177 UINT64_C(148896768), // LDARB
3178 UINT64_C(1222638592), // LDARH
3179 UINT64_C(2296380416), // LDARW
3180 UINT64_C(3370122240), // LDARX
3181 UINT64_C(2304769024), // LDATXRW
3182 UINT64_C(3378510848), // LDATXRX
3183 UINT64_C(2290057216), // LDAXPW
3184 UINT64_C(3363799040), // LDAXPX
3185 UINT64_C(140508160), // LDAXRB
3186 UINT64_C(1214249984), // LDAXRH
3187 UINT64_C(2287991808), // LDAXRW
3188 UINT64_C(3361733632), // LDAXRX
3189 UINT64_C(1008730112), // LDBFADD
3190 UINT64_C(1017118720), // LDBFADDA
3191 UINT64_C(1021313024), // LDBFADDAL
3192 UINT64_C(1012924416), // LDBFADDL
3193 UINT64_C(1008746496), // LDBFMAX
3194 UINT64_C(1017135104), // LDBFMAXA
3195 UINT64_C(1021329408), // LDBFMAXAL
3196 UINT64_C(1012940800), // LDBFMAXL
3197 UINT64_C(1008754688), // LDBFMAXNM
3198 UINT64_C(1017143296), // LDBFMAXNMA
3199 UINT64_C(1021337600), // LDBFMAXNMAL
3200 UINT64_C(1012948992), // LDBFMAXNML
3201 UINT64_C(1008750592), // LDBFMIN
3202 UINT64_C(1017139200), // LDBFMINA
3203 UINT64_C(1021333504), // LDBFMINAL
3204 UINT64_C(1012944896), // LDBFMINL
3205 UINT64_C(1008758784), // LDBFMINNM
3206 UINT64_C(1017147392), // LDBFMINNMA
3207 UINT64_C(1021341696), // LDBFMINNMAL
3208 UINT64_C(1012953088), // LDBFMINNML
3209 UINT64_C(950013952), // LDCLRAB
3210 UINT64_C(2023755776), // LDCLRAH
3211 UINT64_C(954208256), // LDCLRALB
3212 UINT64_C(2027950080), // LDCLRALH
3213 UINT64_C(3101691904), // LDCLRALW
3214 UINT64_C(4175433728), // LDCLRALX
3215 UINT64_C(3097497600), // LDCLRAW
3216 UINT64_C(4171239424), // LDCLRAX
3217 UINT64_C(941625344), // LDCLRB
3218 UINT64_C(2015367168), // LDCLRH
3219 UINT64_C(945819648), // LDCLRLB
3220 UINT64_C(2019561472), // LDCLRLH
3221 UINT64_C(3093303296), // LDCLRLW
3222 UINT64_C(4167045120), // LDCLRLX
3223 UINT64_C(421531648), // LDCLRP
3224 UINT64_C(429920256), // LDCLRPA
3225 UINT64_C(434114560), // LDCLRPAL
3226 UINT64_C(425725952), // LDCLRPL
3227 UINT64_C(3089108992), // LDCLRW
3228 UINT64_C(4162850816), // LDCLRX
3229 UINT64_C(950018048), // LDEORAB
3230 UINT64_C(2023759872), // LDEORAH
3231 UINT64_C(954212352), // LDEORALB
3232 UINT64_C(2027954176), // LDEORALH
3233 UINT64_C(3101696000), // LDEORALW
3234 UINT64_C(4175437824), // LDEORALX
3235 UINT64_C(3097501696), // LDEORAW
3236 UINT64_C(4171243520), // LDEORAX
3237 UINT64_C(941629440), // LDEORB
3238 UINT64_C(2015371264), // LDEORH
3239 UINT64_C(945823744), // LDEORLB
3240 UINT64_C(2019565568), // LDEORLH
3241 UINT64_C(3093307392), // LDEORLW
3242 UINT64_C(4167049216), // LDEORLX
3243 UINT64_C(3089113088), // LDEORW
3244 UINT64_C(4162854912), // LDEORX
3245 UINT64_C(4238344192), // LDFADDAD
3246 UINT64_C(2090860544), // LDFADDAH
3247 UINT64_C(4242538496), // LDFADDALD
3248 UINT64_C(2095054848), // LDFADDALH
3249 UINT64_C(3168796672), // LDFADDALS
3250 UINT64_C(3164602368), // LDFADDAS
3251 UINT64_C(4229955584), // LDFADDD
3252 UINT64_C(2082471936), // LDFADDH
3253 UINT64_C(4234149888), // LDFADDLD
3254 UINT64_C(2086666240), // LDFADDLH
3255 UINT64_C(3160408064), // LDFADDLS
3256 UINT64_C(3156213760), // LDFADDS
3257 UINT64_C(2751488000), // LDFF1B
3258 UINT64_C(2757779456), // LDFF1B_D
3259 UINT64_C(2753585152), // LDFF1B_H
3260 UINT64_C(2755682304), // LDFF1B_S
3261 UINT64_C(2782945280), // LDFF1D
3262 UINT64_C(2761973760), // LDFF1H
3263 UINT64_C(2766168064), // LDFF1H_D
3264 UINT64_C(2764070912), // LDFF1H_S
3265 UINT64_C(2776653824), // LDFF1SB_D
3266 UINT64_C(2780848128), // LDFF1SB_H
3267 UINT64_C(2778750976), // LDFF1SB_S
3268 UINT64_C(2768265216), // LDFF1SH_D
3269 UINT64_C(2770362368), // LDFF1SH_S
3270 UINT64_C(2759876608), // LDFF1SW_D
3271 UINT64_C(2772459520), // LDFF1W
3272 UINT64_C(2774556672), // LDFF1W_D
3273 UINT64_C(4238360576), // LDFMAXAD
3274 UINT64_C(2090876928), // LDFMAXAH
3275 UINT64_C(4242554880), // LDFMAXALD
3276 UINT64_C(2095071232), // LDFMAXALH
3277 UINT64_C(3168813056), // LDFMAXALS
3278 UINT64_C(3164618752), // LDFMAXAS
3279 UINT64_C(4229971968), // LDFMAXD
3280 UINT64_C(2082488320), // LDFMAXH
3281 UINT64_C(4234166272), // LDFMAXLD
3282 UINT64_C(2086682624), // LDFMAXLH
3283 UINT64_C(3160424448), // LDFMAXLS
3284 UINT64_C(4238368768), // LDFMAXNMAD
3285 UINT64_C(2090885120), // LDFMAXNMAH
3286 UINT64_C(4242563072), // LDFMAXNMALD
3287 UINT64_C(2095079424), // LDFMAXNMALH
3288 UINT64_C(3168821248), // LDFMAXNMALS
3289 UINT64_C(3164626944), // LDFMAXNMAS
3290 UINT64_C(4229980160), // LDFMAXNMD
3291 UINT64_C(2082496512), // LDFMAXNMH
3292 UINT64_C(4234174464), // LDFMAXNMLD
3293 UINT64_C(2086690816), // LDFMAXNMLH
3294 UINT64_C(3160432640), // LDFMAXNMLS
3295 UINT64_C(3156238336), // LDFMAXNMS
3296 UINT64_C(3156230144), // LDFMAXS
3297 UINT64_C(4238364672), // LDFMINAD
3298 UINT64_C(2090881024), // LDFMINAH
3299 UINT64_C(4242558976), // LDFMINALD
3300 UINT64_C(2095075328), // LDFMINALH
3301 UINT64_C(3168817152), // LDFMINALS
3302 UINT64_C(3164622848), // LDFMINAS
3303 UINT64_C(4229976064), // LDFMIND
3304 UINT64_C(2082492416), // LDFMINH
3305 UINT64_C(4234170368), // LDFMINLD
3306 UINT64_C(2086686720), // LDFMINLH
3307 UINT64_C(3160428544), // LDFMINLS
3308 UINT64_C(4238372864), // LDFMINNMAD
3309 UINT64_C(2090889216), // LDFMINNMAH
3310 UINT64_C(4242567168), // LDFMINNMALD
3311 UINT64_C(2095083520), // LDFMINNMALH
3312 UINT64_C(3168825344), // LDFMINNMALS
3313 UINT64_C(3164631040), // LDFMINNMAS
3314 UINT64_C(4229984256), // LDFMINNMD
3315 UINT64_C(2082500608), // LDFMINNMH
3316 UINT64_C(4234178560), // LDFMINNMLD
3317 UINT64_C(2086694912), // LDFMINNMLH
3318 UINT64_C(3160436736), // LDFMINNMLS
3319 UINT64_C(3156242432), // LDFMINNMS
3320 UINT64_C(3156234240), // LDFMINS
3321 UINT64_C(3646947328), // LDG
3322 UINT64_C(3655335936), // LDGM
3323 UINT64_C(2571114496), // LDIAPPW
3324 UINT64_C(2571110400), // LDIAPPWpost
3325 UINT64_C(3644856320), // LDIAPPX
3326 UINT64_C(3644852224), // LDIAPPXpost
3327 UINT64_C(148864000), // LDLARB
3328 UINT64_C(1222605824), // LDLARH
3329 UINT64_C(2296347648), // LDLARW
3330 UINT64_C(3370089472), // LDLARX
3331 UINT64_C(2758844416), // LDNF1B_D_IMM
3332 UINT64_C(2754650112), // LDNF1B_H_IMM
3333 UINT64_C(2752552960), // LDNF1B_IMM
3334 UINT64_C(2756747264), // LDNF1B_S_IMM
3335 UINT64_C(2784010240), // LDNF1D_IMM
3336 UINT64_C(2767233024), // LDNF1H_D_IMM
3337 UINT64_C(2763038720), // LDNF1H_IMM
3338 UINT64_C(2765135872), // LDNF1H_S_IMM
3339 UINT64_C(2777718784), // LDNF1SB_D_IMM
3340 UINT64_C(2781913088), // LDNF1SB_H_IMM
3341 UINT64_C(2779815936), // LDNF1SB_S_IMM
3342 UINT64_C(2769330176), // LDNF1SH_D_IMM
3343 UINT64_C(2771427328), // LDNF1SH_S_IMM
3344 UINT64_C(2760941568), // LDNF1SW_D_IMM
3345 UINT64_C(2775621632), // LDNF1W_D_IMM
3346 UINT64_C(2773524480), // LDNF1W_IMM
3347 UINT64_C(1816133632), // LDNPDi
3348 UINT64_C(2889875456), // LDNPQi
3349 UINT64_C(742391808), // LDNPSi
3350 UINT64_C(675282944), // LDNPWi
3351 UINT64_C(2822766592), // LDNPXi
3352 UINT64_C(2684354561), // LDNT1B_2Z
3353 UINT64_C(2688548865), // LDNT1B_2Z_IMM
3354 UINT64_C(2701131784), // LDNT1B_2Z_STRIDED
3355 UINT64_C(2705326088), // LDNT1B_2Z_STRIDED_IMM
3356 UINT64_C(2684387329), // LDNT1B_4Z
3357 UINT64_C(2688581633), // LDNT1B_4Z_IMM
3358 UINT64_C(2701164552), // LDNT1B_4Z_STRIDED
3359 UINT64_C(2705358856), // LDNT1B_4Z_STRIDED_IMM
3360 UINT64_C(2751520768), // LDNT1B_ZRI
3361 UINT64_C(2751512576), // LDNT1B_ZRR
3362 UINT64_C(3288383488), // LDNT1B_ZZR_D
3363 UINT64_C(2214633472), // LDNT1B_ZZR_S
3364 UINT64_C(2684379137), // LDNT1D_2Z
3365 UINT64_C(2688573441), // LDNT1D_2Z_IMM
3366 UINT64_C(2701156360), // LDNT1D_2Z_STRIDED
3367 UINT64_C(2705350664), // LDNT1D_2Z_STRIDED_IMM
3368 UINT64_C(2684411905), // LDNT1D_4Z
3369 UINT64_C(2688606209), // LDNT1D_4Z_IMM
3370 UINT64_C(2701189128), // LDNT1D_4Z_STRIDED
3371 UINT64_C(2705383432), // LDNT1D_4Z_STRIDED_IMM
3372 UINT64_C(2776686592), // LDNT1D_ZRI
3373 UINT64_C(2776678400), // LDNT1D_ZRR
3374 UINT64_C(3313549312), // LDNT1D_ZZR_D
3375 UINT64_C(2684362753), // LDNT1H_2Z
3376 UINT64_C(2688557057), // LDNT1H_2Z_IMM
3377 UINT64_C(2701139976), // LDNT1H_2Z_STRIDED
3378 UINT64_C(2705334280), // LDNT1H_2Z_STRIDED_IMM
3379 UINT64_C(2684395521), // LDNT1H_4Z
3380 UINT64_C(2688589825), // LDNT1H_4Z_IMM
3381 UINT64_C(2701172744), // LDNT1H_4Z_STRIDED
3382 UINT64_C(2705367048), // LDNT1H_4Z_STRIDED_IMM
3383 UINT64_C(2759909376), // LDNT1H_ZRI
3384 UINT64_C(2759901184), // LDNT1H_ZRR
3385 UINT64_C(3296772096), // LDNT1H_ZZR_D
3386 UINT64_C(2223022080), // LDNT1H_ZZR_S
3387 UINT64_C(3288367104), // LDNT1SB_ZZR_D
3388 UINT64_C(2214625280), // LDNT1SB_ZZR_S
3389 UINT64_C(3296755712), // LDNT1SH_ZZR_D
3390 UINT64_C(2223013888), // LDNT1SH_ZZR_S
3391 UINT64_C(3305144320), // LDNT1SW_ZZR_D
3392 UINT64_C(2684370945), // LDNT1W_2Z
3393 UINT64_C(2688565249), // LDNT1W_2Z_IMM
3394 UINT64_C(2701148168), // LDNT1W_2Z_STRIDED
3395 UINT64_C(2705342472), // LDNT1W_2Z_STRIDED_IMM
3396 UINT64_C(2684403713), // LDNT1W_4Z
3397 UINT64_C(2688598017), // LDNT1W_4Z_IMM
3398 UINT64_C(2701180936), // LDNT1W_4Z_STRIDED
3399 UINT64_C(2705375240), // LDNT1W_4Z_STRIDED_IMM
3400 UINT64_C(2768297984), // LDNT1W_ZRI
3401 UINT64_C(2768289792), // LDNT1W_ZRR
3402 UINT64_C(3305160704), // LDNT1W_ZZR_D
3403 UINT64_C(2231410688), // LDNT1W_ZZR_S
3404 UINT64_C(1832910848), // LDPDi
3405 UINT64_C(1824522240), // LDPDpost
3406 UINT64_C(1841299456), // LDPDpre
3407 UINT64_C(2906652672), // LDPQi
3408 UINT64_C(2898264064), // LDPQpost
3409 UINT64_C(2915041280), // LDPQpre
3410 UINT64_C(1765801984), // LDPSWi
3411 UINT64_C(1757413376), // LDPSWpost
3412 UINT64_C(1774190592), // LDPSWpre
3413 UINT64_C(759169024), // LDPSi
3414 UINT64_C(750780416), // LDPSpost
3415 UINT64_C(767557632), // LDPSpre
3416 UINT64_C(692060160), // LDPWi
3417 UINT64_C(683671552), // LDPWpost
3418 UINT64_C(700448768), // LDPWpre
3419 UINT64_C(2839543808), // LDPXi
3420 UINT64_C(2831155200), // LDPXpost
3421 UINT64_C(2847932416), // LDPXpre
3422 UINT64_C(4162847744), // LDRAAindexed
3423 UINT64_C(4162849792), // LDRAAwriteback
3424 UINT64_C(4171236352), // LDRABindexed
3425 UINT64_C(4171238400), // LDRABwriteback
3426 UINT64_C(943719424), // LDRBBpost
3427 UINT64_C(943721472), // LDRBBpre
3428 UINT64_C(945833984), // LDRBBroW
3429 UINT64_C(945842176), // LDRBBroX
3430 UINT64_C(960495616), // LDRBBui
3431 UINT64_C(1010828288), // LDRBpost
3432 UINT64_C(1010830336), // LDRBpre
3433 UINT64_C(1012942848), // LDRBroW
3434 UINT64_C(1012951040), // LDRBroX
3435 UINT64_C(1027604480), // LDRBui
3436 UINT64_C(1543503872), // LDRDl
3437 UINT64_C(4232053760), // LDRDpost
3438 UINT64_C(4232055808), // LDRDpre
3439 UINT64_C(4234168320), // LDRDroW
3440 UINT64_C(4234176512), // LDRDroX
3441 UINT64_C(4248829952), // LDRDui
3442 UINT64_C(2017461248), // LDRHHpost
3443 UINT64_C(2017463296), // LDRHHpre
3444 UINT64_C(2019575808), // LDRHHroW
3445 UINT64_C(2019584000), // LDRHHroX
3446 UINT64_C(2034237440), // LDRHHui
3447 UINT64_C(2084570112), // LDRHpost
3448 UINT64_C(2084572160), // LDRHpre
3449 UINT64_C(2086684672), // LDRHroW
3450 UINT64_C(2086692864), // LDRHroX
3451 UINT64_C(2101346304), // LDRHui
3452 UINT64_C(2617245696), // LDRQl
3453 UINT64_C(1019216896), // LDRQpost
3454 UINT64_C(1019218944), // LDRQpre
3455 UINT64_C(1021331456), // LDRQroW
3456 UINT64_C(1021339648), // LDRQroX
3457 UINT64_C(1035993088), // LDRQui
3458 UINT64_C(952108032), // LDRSBWpost
3459 UINT64_C(952110080), // LDRSBWpre
3460 UINT64_C(954222592), // LDRSBWroW
3461 UINT64_C(954230784), // LDRSBWroX
3462 UINT64_C(968884224), // LDRSBWui
3463 UINT64_C(947913728), // LDRSBXpost
3464 UINT64_C(947915776), // LDRSBXpre
3465 UINT64_C(950028288), // LDRSBXroW
3466 UINT64_C(950036480), // LDRSBXroX
3467 UINT64_C(964689920), // LDRSBXui
3468 UINT64_C(2025849856), // LDRSHWpost
3469 UINT64_C(2025851904), // LDRSHWpre
3470 UINT64_C(2027964416), // LDRSHWroW
3471 UINT64_C(2027972608), // LDRSHWroX
3472 UINT64_C(2042626048), // LDRSHWui
3473 UINT64_C(2021655552), // LDRSHXpost
3474 UINT64_C(2021657600), // LDRSHXpre
3475 UINT64_C(2023770112), // LDRSHXroW
3476 UINT64_C(2023778304), // LDRSHXroX
3477 UINT64_C(2038431744), // LDRSHXui
3478 UINT64_C(2550136832), // LDRSWl
3479 UINT64_C(3095397376), // LDRSWpost
3480 UINT64_C(3095399424), // LDRSWpre
3481 UINT64_C(3097511936), // LDRSWroW
3482 UINT64_C(3097520128), // LDRSWroX
3483 UINT64_C(3112173568), // LDRSWui
3484 UINT64_C(469762048), // LDRSl
3485 UINT64_C(3158311936), // LDRSpost
3486 UINT64_C(3158313984), // LDRSpre
3487 UINT64_C(3160426496), // LDRSroW
3488 UINT64_C(3160434688), // LDRSroX
3489 UINT64_C(3175088128), // LDRSui
3490 UINT64_C(402653184), // LDRWl
3491 UINT64_C(3091203072), // LDRWpost
3492 UINT64_C(3091205120), // LDRWpre
3493 UINT64_C(3093317632), // LDRWroW
3494 UINT64_C(3093325824), // LDRWroX
3495 UINT64_C(3107979264), // LDRWui
3496 UINT64_C(1476395008), // LDRXl
3497 UINT64_C(4164944896), // LDRXpost
3498 UINT64_C(4164946944), // LDRXpre
3499 UINT64_C(4167059456), // LDRXroW
3500 UINT64_C(4167067648), // LDRXroX
3501 UINT64_C(4181721088), // LDRXui
3502 UINT64_C(2239758336), // LDR_PXI
3503 UINT64_C(3776937984), // LDR_TX
3504 UINT64_C(3774873600), // LDR_ZA
3505 UINT64_C(2239774720), // LDR_ZXI
3506 UINT64_C(950022144), // LDSETAB
3507 UINT64_C(2023763968), // LDSETAH
3508 UINT64_C(954216448), // LDSETALB
3509 UINT64_C(2027958272), // LDSETALH
3510 UINT64_C(3101700096), // LDSETALW
3511 UINT64_C(4175441920), // LDSETALX
3512 UINT64_C(3097505792), // LDSETAW
3513 UINT64_C(4171247616), // LDSETAX
3514 UINT64_C(941633536), // LDSETB
3515 UINT64_C(2015375360), // LDSETH
3516 UINT64_C(945827840), // LDSETLB
3517 UINT64_C(2019569664), // LDSETLH
3518 UINT64_C(3093311488), // LDSETLW
3519 UINT64_C(4167053312), // LDSETLX
3520 UINT64_C(421539840), // LDSETP
3521 UINT64_C(429928448), // LDSETPA
3522 UINT64_C(434122752), // LDSETPAL
3523 UINT64_C(425734144), // LDSETPL
3524 UINT64_C(3089117184), // LDSETW
3525 UINT64_C(4162859008), // LDSETX
3526 UINT64_C(950026240), // LDSMAXAB
3527 UINT64_C(2023768064), // LDSMAXAH
3528 UINT64_C(954220544), // LDSMAXALB
3529 UINT64_C(2027962368), // LDSMAXALH
3530 UINT64_C(3101704192), // LDSMAXALW
3531 UINT64_C(4175446016), // LDSMAXALX
3532 UINT64_C(3097509888), // LDSMAXAW
3533 UINT64_C(4171251712), // LDSMAXAX
3534 UINT64_C(941637632), // LDSMAXB
3535 UINT64_C(2015379456), // LDSMAXH
3536 UINT64_C(945831936), // LDSMAXLB
3537 UINT64_C(2019573760), // LDSMAXLH
3538 UINT64_C(3093315584), // LDSMAXLW
3539 UINT64_C(4167057408), // LDSMAXLX
3540 UINT64_C(3089121280), // LDSMAXW
3541 UINT64_C(4162863104), // LDSMAXX
3542 UINT64_C(950030336), // LDSMINAB
3543 UINT64_C(2023772160), // LDSMINAH
3544 UINT64_C(954224640), // LDSMINALB
3545 UINT64_C(2027966464), // LDSMINALH
3546 UINT64_C(3101708288), // LDSMINALW
3547 UINT64_C(4175450112), // LDSMINALX
3548 UINT64_C(3097513984), // LDSMINAW
3549 UINT64_C(4171255808), // LDSMINAX
3550 UINT64_C(941641728), // LDSMINB
3551 UINT64_C(2015383552), // LDSMINH
3552 UINT64_C(945836032), // LDSMINLB
3553 UINT64_C(2019577856), // LDSMINLH
3554 UINT64_C(3093319680), // LDSMINLW
3555 UINT64_C(4167061504), // LDSMINLX
3556 UINT64_C(3089125376), // LDSMINW
3557 UINT64_C(4162867200), // LDSMINX
3558 UINT64_C(434111488), // LDTADDALW
3559 UINT64_C(1507853312), // LDTADDALX
3560 UINT64_C(429917184), // LDTADDAW
3561 UINT64_C(1503659008), // LDTADDAX
3562 UINT64_C(425722880), // LDTADDLW
3563 UINT64_C(1499464704), // LDTADDLX
3564 UINT64_C(421528576), // LDTADDW
3565 UINT64_C(1495270400), // LDTADDX
3566 UINT64_C(434115584), // LDTCLRALW
3567 UINT64_C(1507857408), // LDTCLRALX
3568 UINT64_C(429921280), // LDTCLRAW
3569 UINT64_C(1503663104), // LDTCLRAX
3570 UINT64_C(425726976), // LDTCLRLW
3571 UINT64_C(1499468800), // LDTCLRLX
3572 UINT64_C(421532672), // LDTCLRW
3573 UINT64_C(1495274496), // LDTCLRX
3574 UINT64_C(3963617280), // LDTNPQi
3575 UINT64_C(3896508416), // LDTNPXi
3576 UINT64_C(3980394496), // LDTPQi
3577 UINT64_C(3972005888), // LDTPQpost
3578 UINT64_C(3988783104), // LDTPQpre
3579 UINT64_C(3913285632), // LDTPi
3580 UINT64_C(3904897024), // LDTPpost
3581 UINT64_C(3921674240), // LDTPpre
3582 UINT64_C(943720448), // LDTRBi
3583 UINT64_C(2017462272), // LDTRHi
3584 UINT64_C(952109056), // LDTRSBWi
3585 UINT64_C(947914752), // LDTRSBXi
3586 UINT64_C(2025850880), // LDTRSHWi
3587 UINT64_C(2021656576), // LDTRSHXi
3588 UINT64_C(3095398400), // LDTRSWi
3589 UINT64_C(3091204096), // LDTRWi
3590 UINT64_C(4164945920), // LDTRXi
3591 UINT64_C(434123776), // LDTSETALW
3592 UINT64_C(1507865600), // LDTSETALX
3593 UINT64_C(429929472), // LDTSETAW
3594 UINT64_C(1503671296), // LDTSETAX
3595 UINT64_C(425735168), // LDTSETLW
3596 UINT64_C(1499476992), // LDTSETLX
3597 UINT64_C(421540864), // LDTSETW
3598 UINT64_C(1495282688), // LDTSETX
3599 UINT64_C(2304736256), // LDTXRWr
3600 UINT64_C(3378478080), // LDTXRXr
3601 UINT64_C(950034432), // LDUMAXAB
3602 UINT64_C(2023776256), // LDUMAXAH
3603 UINT64_C(954228736), // LDUMAXALB
3604 UINT64_C(2027970560), // LDUMAXALH
3605 UINT64_C(3101712384), // LDUMAXALW
3606 UINT64_C(4175454208), // LDUMAXALX
3607 UINT64_C(3097518080), // LDUMAXAW
3608 UINT64_C(4171259904), // LDUMAXAX
3609 UINT64_C(941645824), // LDUMAXB
3610 UINT64_C(2015387648), // LDUMAXH
3611 UINT64_C(945840128), // LDUMAXLB
3612 UINT64_C(2019581952), // LDUMAXLH
3613 UINT64_C(3093323776), // LDUMAXLW
3614 UINT64_C(4167065600), // LDUMAXLX
3615 UINT64_C(3089129472), // LDUMAXW
3616 UINT64_C(4162871296), // LDUMAXX
3617 UINT64_C(950038528), // LDUMINAB
3618 UINT64_C(2023780352), // LDUMINAH
3619 UINT64_C(954232832), // LDUMINALB
3620 UINT64_C(2027974656), // LDUMINALH
3621 UINT64_C(3101716480), // LDUMINALW
3622 UINT64_C(4175458304), // LDUMINALX
3623 UINT64_C(3097522176), // LDUMINAW
3624 UINT64_C(4171264000), // LDUMINAX
3625 UINT64_C(941649920), // LDUMINB
3626 UINT64_C(2015391744), // LDUMINH
3627 UINT64_C(945844224), // LDUMINLB
3628 UINT64_C(2019586048), // LDUMINLH
3629 UINT64_C(3093327872), // LDUMINLW
3630 UINT64_C(4167069696), // LDUMINLX
3631 UINT64_C(3089133568), // LDUMINW
3632 UINT64_C(4162875392), // LDUMINX
3633 UINT64_C(943718400), // LDURBBi
3634 UINT64_C(1010827264), // LDURBi
3635 UINT64_C(4232052736), // LDURDi
3636 UINT64_C(2017460224), // LDURHHi
3637 UINT64_C(2084569088), // LDURHi
3638 UINT64_C(1019215872), // LDURQi
3639 UINT64_C(952107008), // LDURSBWi
3640 UINT64_C(947912704), // LDURSBXi
3641 UINT64_C(2025848832), // LDURSHWi
3642 UINT64_C(2021654528), // LDURSHXi
3643 UINT64_C(3095396352), // LDURSWi
3644 UINT64_C(3158310912), // LDURSi
3645 UINT64_C(3091202048), // LDURWi
3646 UINT64_C(4164943872), // LDURXi
3647 UINT64_C(2290024448), // LDXPW
3648 UINT64_C(3363766272), // LDXPX
3649 UINT64_C(140475392), // LDXRB
3650 UINT64_C(1214217216), // LDXRH
3651 UINT64_C(2287959040), // LDXRW
3652 UINT64_C(3361700864), // LDXRX
3653 UINT64_C(68648960), // LSLR_ZPmZ_B
3654 UINT64_C(81231872), // LSLR_ZPmZ_D
3655 UINT64_C(72843264), // LSLR_ZPmZ_H
3656 UINT64_C(77037568), // LSLR_ZPmZ_S
3657 UINT64_C(448798720), // LSLVWr
3658 UINT64_C(2596282368), // LSLVXr
3659 UINT64_C(68911104), // LSL_WIDE_ZPmZ_B
3660 UINT64_C(73105408), // LSL_WIDE_ZPmZ_H
3661 UINT64_C(77299712), // LSL_WIDE_ZPmZ_S
3662 UINT64_C(69241856), // LSL_WIDE_ZZZ_B
3663 UINT64_C(73436160), // LSL_WIDE_ZZZ_H
3664 UINT64_C(77630464), // LSL_WIDE_ZZZ_S
3665 UINT64_C(67338496), // LSL_ZPmI_B
3666 UINT64_C(75726848), // LSL_ZPmI_D
3667 UINT64_C(67338752), // LSL_ZPmI_H
3668 UINT64_C(71532544), // LSL_ZPmI_S
3669 UINT64_C(68386816), // LSL_ZPmZ_B
3670 UINT64_C(80969728), // LSL_ZPmZ_D
3671 UINT64_C(72581120), // LSL_ZPmZ_H
3672 UINT64_C(76775424), // LSL_ZPmZ_S
3673 UINT64_C(69770240), // LSL_ZZI_B
3674 UINT64_C(77634560), // LSL_ZZI_D
3675 UINT64_C(70294528), // LSL_ZZI_H
3676 UINT64_C(73440256), // LSL_ZZI_S
3677 UINT64_C(68517888), // LSRR_ZPmZ_B
3678 UINT64_C(81100800), // LSRR_ZPmZ_D
3679 UINT64_C(72712192), // LSRR_ZPmZ_H
3680 UINT64_C(76906496), // LSRR_ZPmZ_S
3681 UINT64_C(448799744), // LSRVWr
3682 UINT64_C(2596283392), // LSRVXr
3683 UINT64_C(68780032), // LSR_WIDE_ZPmZ_B
3684 UINT64_C(72974336), // LSR_WIDE_ZPmZ_H
3685 UINT64_C(77168640), // LSR_WIDE_ZPmZ_S
3686 UINT64_C(69239808), // LSR_WIDE_ZZZ_B
3687 UINT64_C(73434112), // LSR_WIDE_ZZZ_H
3688 UINT64_C(77628416), // LSR_WIDE_ZZZ_S
3689 UINT64_C(67207424), // LSR_ZPmI_B
3690 UINT64_C(75595776), // LSR_ZPmI_D
3691 UINT64_C(67207680), // LSR_ZPmI_H
3692 UINT64_C(71401472), // LSR_ZPmI_S
3693 UINT64_C(68255744), // LSR_ZPmZ_B
3694 UINT64_C(80838656), // LSR_ZPmZ_D
3695 UINT64_C(72450048), // LSR_ZPmZ_H
3696 UINT64_C(76644352), // LSR_ZPmZ_S
3697 UINT64_C(69768192), // LSR_ZZI_B
3698 UINT64_C(77632512), // LSR_ZZI_D
3699 UINT64_C(70292480), // LSR_ZZI_H
3700 UINT64_C(73438208), // LSR_ZZI_S
3701 UINT64_C(1317015552), // LUT2_B
3702 UINT64_C(1321205760), // LUT2_H
3703 UINT64_C(1312825344), // LUT4_B
3704 UINT64_C(1312821248), // LUT4_H
3705 UINT64_C(3230416896), // LUTI2_2ZTZI_B
3706 UINT64_C(3230420992), // LUTI2_2ZTZI_H
3707 UINT64_C(3230425088), // LUTI2_2ZTZI_S
3708 UINT64_C(3230433280), // LUTI2_4ZTZI_B
3709 UINT64_C(3230437376), // LUTI2_4ZTZI_H
3710 UINT64_C(3230441472), // LUTI2_4ZTZI_S
3711 UINT64_C(3231465472), // LUTI2_S_2ZTZI_B
3712 UINT64_C(3231469568), // LUTI2_S_2ZTZI_H
3713 UINT64_C(3231481856), // LUTI2_S_4ZTZI_B
3714 UINT64_C(3231485952), // LUTI2_S_4ZTZI_H
3715 UINT64_C(3234594816), // LUTI2_ZTZI_B
3716 UINT64_C(3234598912), // LUTI2_ZTZI_H
3717 UINT64_C(3234603008), // LUTI2_ZTZI_S
3718 UINT64_C(1159770112), // LUTI2_ZZZI_B
3719 UINT64_C(1159768064), // LUTI2_ZZZI_H
3720 UINT64_C(3230285824), // LUTI4_2ZTZI_B
3721 UINT64_C(3230289920), // LUTI4_2ZTZI_H
3722 UINT64_C(3230294016), // LUTI4_2ZTZI_S
3723 UINT64_C(3230306304), // LUTI4_4ZTZI_H
3724 UINT64_C(3230310400), // LUTI4_4ZTZI_S
3725 UINT64_C(3230334976), // LUTI4_4ZZT2Z
3726 UINT64_C(3231334400), // LUTI4_S_2ZTZI_B
3727 UINT64_C(3231338496), // LUTI4_S_2ZTZI_H
3728 UINT64_C(3231354880), // LUTI4_S_4ZTZI_H
3729 UINT64_C(3231383552), // LUTI4_S_4ZZT2Z
3730 UINT64_C(1159771136), // LUTI4_Z2ZZI
3731 UINT64_C(3234463744), // LUTI4_ZTZI_B
3732 UINT64_C(3234467840), // LUTI4_ZTZI_H
3733 UINT64_C(3234471936), // LUTI4_ZTZI_S
3734 UINT64_C(1163961344), // LUTI4_ZZZI_B
3735 UINT64_C(1159773184), // LUTI4_ZZZI_H
3736 UINT64_C(3240162304), // LUTI6_4Z2Z2ZI
3737 UINT64_C(3230269440), // LUTI6_4ZT3Z
3738 UINT64_C(3240164352), // LUTI6_S_4Z2Z2ZI
3739 UINT64_C(3231318016), // LUTI6_S_4ZT3Z
3740 UINT64_C(1159769088), // LUTI6_Z2ZZ
3741 UINT64_C(1163963392), // LUTI6_Z2ZZI_H
3742 UINT64_C(3234349056), // LUTI6_ZTZ
3743 UINT64_C(2606759936), // MADDPT
3744 UINT64_C(452984832), // MADDWrrr
3745 UINT64_C(2600468480), // MADDXrrr
3746 UINT64_C(1153488896), // MAD_CPA
3747 UINT64_C(67158016), // MAD_ZPmZZ_B
3748 UINT64_C(79740928), // MAD_ZPmZZ_D
3749 UINT64_C(71352320), // MAD_ZPmZZ_H
3750 UINT64_C(75546624), // MAD_ZPmZZ_S
3751 UINT64_C(1159757824), // MATCH_PPzZZ_B
3752 UINT64_C(1163952128), // MATCH_PPzZZ_H
3753 UINT64_C(1153486848), // MLA_CPA
3754 UINT64_C(67125248), // MLA_ZPmZZ_B
3755 UINT64_C(79708160), // MLA_ZPmZZ_D
3756 UINT64_C(71319552), // MLA_ZPmZZ_H
3757 UINT64_C(75513856), // MLA_ZPmZZ_S
3758 UINT64_C(1155532800), // MLA_ZZZI_D
3759 UINT64_C(1142949888), // MLA_ZZZI_H
3760 UINT64_C(1151338496), // MLA_ZZZI_S
3761 UINT64_C(1310757888), // MLAv16i8
3762 UINT64_C(245404672), // MLAv2i32
3763 UINT64_C(796917760), // MLAv2i32_indexed
3764 UINT64_C(241210368), // MLAv4i16
3765 UINT64_C(792723456), // MLAv4i16_indexed
3766 UINT64_C(1319146496), // MLAv4i32
3767 UINT64_C(1870659584), // MLAv4i32_indexed
3768 UINT64_C(1314952192), // MLAv8i16
3769 UINT64_C(1866465280), // MLAv8i16_indexed
3770 UINT64_C(237016064), // MLAv8i8
3771 UINT64_C(67133440), // MLS_ZPmZZ_B
3772 UINT64_C(79716352), // MLS_ZPmZZ_D
3773 UINT64_C(71327744), // MLS_ZPmZZ_H
3774 UINT64_C(75522048), // MLS_ZPmZZ_S
3775 UINT64_C(1155533824), // MLS_ZZZI_D
3776 UINT64_C(1142950912), // MLS_ZZZI_H
3777 UINT64_C(1151339520), // MLS_ZZZI_S
3778 UINT64_C(1847628800), // MLSv16i8
3779 UINT64_C(782275584), // MLSv2i32
3780 UINT64_C(796934144), // MLSv2i32_indexed
3781 UINT64_C(778081280), // MLSv4i16
3782 UINT64_C(792739840), // MLSv4i16_indexed
3783 UINT64_C(1856017408), // MLSv4i32
3784 UINT64_C(1870675968), // MLSv4i32_indexed
3785 UINT64_C(1851823104), // MLSv8i16
3786 UINT64_C(1866481664), // MLSv8i16_indexed
3787 UINT64_C(773886976), // MLSv8i8
3788 UINT64_C(499155968), // MOPSSETGE
3789 UINT64_C(499164160), // MOPSSETGEN
3790 UINT64_C(499160064), // MOPSSETGET
3791 UINT64_C(499168256), // MOPSSETGETN
3792 UINT64_C(3221619200), // MOVAZ_2ZMI_H_B
3793 UINT64_C(3234202112), // MOVAZ_2ZMI_H_D
3794 UINT64_C(3225813504), // MOVAZ_2ZMI_H_H
3795 UINT64_C(3230007808), // MOVAZ_2ZMI_H_S
3796 UINT64_C(3221651968), // MOVAZ_2ZMI_V_B
3797 UINT64_C(3234234880), // MOVAZ_2ZMI_V_D
3798 UINT64_C(3225846272), // MOVAZ_2ZMI_V_H
3799 UINT64_C(3230040576), // MOVAZ_2ZMI_V_S
3800 UINT64_C(3221620224), // MOVAZ_4ZMI_H_B
3801 UINT64_C(3234203136), // MOVAZ_4ZMI_H_D
3802 UINT64_C(3225814528), // MOVAZ_4ZMI_H_H
3803 UINT64_C(3230008832), // MOVAZ_4ZMI_H_S
3804 UINT64_C(3221652992), // MOVAZ_4ZMI_V_B
3805 UINT64_C(3234235904), // MOVAZ_4ZMI_V_D
3806 UINT64_C(3225847296), // MOVAZ_4ZMI_V_H
3807 UINT64_C(3230041600), // MOVAZ_4ZMI_V_S
3808 UINT64_C(3221621248), // MOVAZ_VG2_2ZMXI
3809 UINT64_C(3221622272), // MOVAZ_VG4_4ZMXI
3810 UINT64_C(3221357056), // MOVAZ_ZMI_H_B
3811 UINT64_C(3233939968), // MOVAZ_ZMI_H_D
3812 UINT64_C(3225551360), // MOVAZ_ZMI_H_H
3813 UINT64_C(3234005504), // MOVAZ_ZMI_H_Q
3814 UINT64_C(3229745664), // MOVAZ_ZMI_H_S
3815 UINT64_C(3221389824), // MOVAZ_ZMI_V_B
3816 UINT64_C(3233972736), // MOVAZ_ZMI_V_D
3817 UINT64_C(3225584128), // MOVAZ_ZMI_V_H
3818 UINT64_C(3234038272), // MOVAZ_ZMI_V_Q
3819 UINT64_C(3229778432), // MOVAZ_ZMI_V_S
3820 UINT64_C(3221618688), // MOVA_2ZMXI_H_B
3821 UINT64_C(3234201600), // MOVA_2ZMXI_H_D
3822 UINT64_C(3225812992), // MOVA_2ZMXI_H_H
3823 UINT64_C(3230007296), // MOVA_2ZMXI_H_S
3824 UINT64_C(3221651456), // MOVA_2ZMXI_V_B
3825 UINT64_C(3234234368), // MOVA_2ZMXI_V_D
3826 UINT64_C(3225845760), // MOVA_2ZMXI_V_H
3827 UINT64_C(3230040064), // MOVA_2ZMXI_V_S
3828 UINT64_C(3221619712), // MOVA_4ZMXI_H_B
3829 UINT64_C(3234202624), // MOVA_4ZMXI_H_D
3830 UINT64_C(3225814016), // MOVA_4ZMXI_H_H
3831 UINT64_C(3230008320), // MOVA_4ZMXI_H_S
3832 UINT64_C(3221652480), // MOVA_4ZMXI_V_B
3833 UINT64_C(3234235392), // MOVA_4ZMXI_V_D
3834 UINT64_C(3225846784), // MOVA_4ZMXI_V_H
3835 UINT64_C(3230041088), // MOVA_4ZMXI_V_S
3836 UINT64_C(3221487616), // MOVA_MXI2Z_H_B
3837 UINT64_C(3234070528), // MOVA_MXI2Z_H_D
3838 UINT64_C(3225681920), // MOVA_MXI2Z_H_H
3839 UINT64_C(3229876224), // MOVA_MXI2Z_H_S
3840 UINT64_C(3221520384), // MOVA_MXI2Z_V_B
3841 UINT64_C(3234103296), // MOVA_MXI2Z_V_D
3842 UINT64_C(3225714688), // MOVA_MXI2Z_V_H
3843 UINT64_C(3229908992), // MOVA_MXI2Z_V_S
3844 UINT64_C(3221488640), // MOVA_MXI4Z_H_B
3845 UINT64_C(3234071552), // MOVA_MXI4Z_H_D
3846 UINT64_C(3225682944), // MOVA_MXI4Z_H_H
3847 UINT64_C(3229877248), // MOVA_MXI4Z_H_S
3848 UINT64_C(3221521408), // MOVA_MXI4Z_V_B
3849 UINT64_C(3234104320), // MOVA_MXI4Z_V_D
3850 UINT64_C(3225715712), // MOVA_MXI4Z_V_H
3851 UINT64_C(3229910016), // MOVA_MXI4Z_V_S
3852 UINT64_C(3221620736), // MOVA_VG2_2ZMXI
3853 UINT64_C(3221489664), // MOVA_VG2_MXI2Z
3854 UINT64_C(3221621760), // MOVA_VG4_4ZMXI
3855 UINT64_C(3221490688), // MOVA_VG4_MXI4Z
3856 UINT64_C(788587520), // MOVID
3857 UINT64_C(1325458432), // MOVIv16b_ns
3858 UINT64_C(1862329344), // MOVIv2d_ns
3859 UINT64_C(251659264), // MOVIv2i32
3860 UINT64_C(251708416), // MOVIv2s_msl
3861 UINT64_C(251692032), // MOVIv4i16
3862 UINT64_C(1325401088), // MOVIv4i32
3863 UINT64_C(1325450240), // MOVIv4s_msl
3864 UINT64_C(251716608), // MOVIv8b_ns
3865 UINT64_C(1325433856), // MOVIv8i16
3866 UINT64_C(1920991232), // MOVKWi
3867 UINT64_C(4068474880), // MOVKXi
3868 UINT64_C(310378496), // MOVNWi
3869 UINT64_C(2457862144), // MOVNXi
3870 UINT64_C(68231168), // MOVPRFX_ZPmZ_B
3871 UINT64_C(80814080), // MOVPRFX_ZPmZ_D
3872 UINT64_C(72425472), // MOVPRFX_ZPmZ_H
3873 UINT64_C(76619776), // MOVPRFX_ZPmZ_S
3874 UINT64_C(68165632), // MOVPRFX_ZPzZ_B
3875 UINT64_C(80748544), // MOVPRFX_ZPzZ_D
3876 UINT64_C(72359936), // MOVPRFX_ZPzZ_H
3877 UINT64_C(76554240), // MOVPRFX_ZPzZ_S
3878 UINT64_C(69254144), // MOVPRFX_ZZ
3879 UINT64_C(3226338272), // MOVT_TIX
3880 UINT64_C(3226403808), // MOVT_TIZ
3881 UINT64_C(3226207200), // MOVT_XTI
3882 UINT64_C(1384120320), // MOVZWi
3883 UINT64_C(3531603968), // MOVZXi
3884 UINT64_C(3579838464), // MRRS
3885 UINT64_C(3575644160), // MRS
3886 UINT64_C(67166208), // MSB_ZPmZZ_B
3887 UINT64_C(79749120), // MSB_ZPmZZ_D
3888 UINT64_C(71360512), // MSB_ZPmZZ_H
3889 UINT64_C(75554816), // MSB_ZPmZZ_S
3890 UINT64_C(3573547008), // MSR
3891 UINT64_C(3577741312), // MSRR
3892 UINT64_C(3573563423), // MSRpstateImm1
3893 UINT64_C(3573563423), // MSRpstateImm4
3894 UINT64_C(3573760127), // MSRpstatesvcrImm1
3895 UINT64_C(2606792704), // MSUBPT
3896 UINT64_C(453017600), // MSUBWrrr
3897 UINT64_C(2600501248), // MSUBXrrr
3898 UINT64_C(623951872), // MUL_ZI_B
3899 UINT64_C(636534784), // MUL_ZI_D
3900 UINT64_C(628146176), // MUL_ZI_H
3901 UINT64_C(632340480), // MUL_ZI_S
3902 UINT64_C(68157440), // MUL_ZPmZ_B
3903 UINT64_C(80740352), // MUL_ZPmZ_D
3904 UINT64_C(72351744), // MUL_ZPmZ_H
3905 UINT64_C(76546048), // MUL_ZPmZ_S
3906 UINT64_C(1155594240), // MUL_ZZZI_D
3907 UINT64_C(1143011328), // MUL_ZZZI_H
3908 UINT64_C(1151399936), // MUL_ZZZI_S
3909 UINT64_C(69230592), // MUL_ZZZ_B
3910 UINT64_C(81813504), // MUL_ZZZ_D
3911 UINT64_C(73424896), // MUL_ZZZ_H
3912 UINT64_C(77619200), // MUL_ZZZ_S
3913 UINT64_C(1310759936), // MULv16i8
3914 UINT64_C(245406720), // MULv2i32
3915 UINT64_C(260079616), // MULv2i32_indexed
3916 UINT64_C(241212416), // MULv4i16
3917 UINT64_C(255885312), // MULv4i16_indexed
3918 UINT64_C(1319148544), // MULv4i32
3919 UINT64_C(1333821440), // MULv4i32_indexed
3920 UINT64_C(1314954240), // MULv8i16
3921 UINT64_C(1329627136), // MULv8i16_indexed
3922 UINT64_C(237018112), // MULv8i8
3923 UINT64_C(788530176), // MVNIv2i32
3924 UINT64_C(788579328), // MVNIv2s_msl
3925 UINT64_C(788562944), // MVNIv4i16
3926 UINT64_C(1862272000), // MVNIv4i32
3927 UINT64_C(1862321152), // MVNIv4s_msl
3928 UINT64_C(1862304768), // MVNIv8i16
3929 UINT64_C(633356816), // NANDS_PPzPP
3930 UINT64_C(629162512), // NAND_PPzPP
3931 UINT64_C(81804288), // NBSL_ZZZZ
3932 UINT64_C(68657152), // NEG_ZPmZ_B
3933 UINT64_C(81240064), // NEG_ZPmZ_D
3934 UINT64_C(72851456), // NEG_ZPmZ_H
3935 UINT64_C(77045760), // NEG_ZPmZ_S
3936 UINT64_C(67608576), // NEG_ZPzZ_B
3937 UINT64_C(80191488), // NEG_ZPzZ_D
3938 UINT64_C(71802880), // NEG_ZPzZ_H
3939 UINT64_C(75997184), // NEG_ZPzZ_S
3940 UINT64_C(1847638016), // NEGv16i8
3941 UINT64_C(2128656384), // NEGv1i64
3942 UINT64_C(782284800), // NEGv2i32
3943 UINT64_C(1860220928), // NEGv2i64
3944 UINT64_C(778090496), // NEGv4i16
3945 UINT64_C(1856026624), // NEGv4i32
3946 UINT64_C(1851832320), // NEGv8i16
3947 UINT64_C(773896192), // NEGv8i8
3948 UINT64_C(1159757840), // NMATCH_PPzZZ_B
3949 UINT64_C(1163952144), // NMATCH_PPzZZ_H
3950 UINT64_C(3573751839), // NOP
3951 UINT64_C(633356800), // NORS_PPzPP
3952 UINT64_C(629162496), // NOR_PPzPP
3953 UINT64_C(69115904), // NOT_ZPmZ_B
3954 UINT64_C(81698816), // NOT_ZPmZ_D
3955 UINT64_C(73310208), // NOT_ZPmZ_H
3956 UINT64_C(77504512), // NOT_ZPmZ_S
3957 UINT64_C(68067328), // NOT_ZPzZ_B
3958 UINT64_C(80650240), // NOT_ZPzZ_D
3959 UINT64_C(72261632), // NOT_ZPzZ_H
3960 UINT64_C(76455936), // NOT_ZPzZ_S
3961 UINT64_C(1847613440), // NOTv16i8
3962 UINT64_C(773871616), // NOTv8i8
3963 UINT64_C(633356304), // ORNS_PPzPP
3964 UINT64_C(706740224), // ORNWrs
3965 UINT64_C(2854223872), // ORNXrs
3966 UINT64_C(629162000), // ORN_PPzPP
3967 UINT64_C(1323310080), // ORNv16i8
3968 UINT64_C(249568256), // ORNv8i8
3969 UINT64_C(68952064), // ORQV_VPZ_B
3970 UINT64_C(81534976), // ORQV_VPZ_D
3971 UINT64_C(73146368), // ORQV_VPZ_H
3972 UINT64_C(77340672), // ORQV_VPZ_S
3973 UINT64_C(633356288), // ORRS_PPzPP
3974 UINT64_C(838860800), // ORRWri
3975 UINT64_C(704643072), // ORRWrs
3976 UINT64_C(2986344448), // ORRXri
3977 UINT64_C(2852126720), // ORRXrs
3978 UINT64_C(629161984), // ORR_PPzPP
3979 UINT64_C(83886080), // ORR_ZI
3980 UINT64_C(68681728), // ORR_ZPmZ_B
3981 UINT64_C(81264640), // ORR_ZPmZ_D
3982 UINT64_C(72876032), // ORR_ZPmZ_H
3983 UINT64_C(77070336), // ORR_ZPmZ_S
3984 UINT64_C(73412608), // ORR_ZZZ
3985 UINT64_C(1319115776), // ORRv16i8
3986 UINT64_C(251663360), // ORRv2i32
3987 UINT64_C(251696128), // ORRv4i16
3988 UINT64_C(1325405184), // ORRv4i32
3989 UINT64_C(1325437952), // ORRv8i16
3990 UINT64_C(245373952), // ORRv8i8
3991 UINT64_C(68689920), // ORV_VPZ_B
3992 UINT64_C(81272832), // ORV_VPZ_D
3993 UINT64_C(72884224), // ORV_VPZ_H
3994 UINT64_C(77078528), // ORV_VPZ_S
3995 UINT64_C(3670083584), // PACDA
3996 UINT64_C(3670084608), // PACDB
3997 UINT64_C(3670092768), // PACDZA
3998 UINT64_C(3670093792), // PACDZB
3999 UINT64_C(2596286464), // PACGA
4000 UINT64_C(3670081536), // PACIA
4001 UINT64_C(3573752095), // PACIA1716
4002 UINT64_C(3670117374), // PACIA171615
4003 UINT64_C(3573752639), // PACIASP
4004 UINT64_C(3670123518), // PACIASPPC
4005 UINT64_C(3573752607), // PACIAZ
4006 UINT64_C(3670082560), // PACIB
4007 UINT64_C(3573752159), // PACIB1716
4008 UINT64_C(3670118398), // PACIB171615
4009 UINT64_C(3573752703), // PACIBSP
4010 UINT64_C(3670124542), // PACIBSPPC
4011 UINT64_C(3573752671), // PACIBZ
4012 UINT64_C(3670090720), // PACIZA
4013 UINT64_C(3670091744), // PACIZB
4014 UINT64_C(3573753087), // PACM
4015 UINT64_C(3670115326), // PACNBIASPPC
4016 UINT64_C(3670116350), // PACNBIBSPPC
4017 UINT64_C(622883856), // PEXT_2PCI_B
4018 UINT64_C(635466768), // PEXT_2PCI_D
4019 UINT64_C(627078160), // PEXT_2PCI_H
4020 UINT64_C(631272464), // PEXT_2PCI_S
4021 UINT64_C(622882832), // PEXT_PCI_B
4022 UINT64_C(635465744), // PEXT_PCI_D
4023 UINT64_C(627077136), // PEXT_PCI_H
4024 UINT64_C(631271440), // PEXT_PCI_S
4025 UINT64_C(622388224), // PFALSE
4026 UINT64_C(626573312), // PFIRST_B
4027 UINT64_C(1159789568), // PMLAL_2ZZZ_Q
4028 UINT64_C(86652928), // PMOV_PZI_B
4029 UINT64_C(94910464), // PMOV_PZI_D
4030 UINT64_C(86784000), // PMOV_PZI_H
4031 UINT64_C(90716160), // PMOV_PZI_S
4032 UINT64_C(86718464), // PMOV_ZIP_B
4033 UINT64_C(94976000), // PMOV_ZIP_D
4034 UINT64_C(86849536), // PMOV_ZIP_H
4035 UINT64_C(90781696), // PMOV_ZIP_S
4036 UINT64_C(1170237440), // PMULLB_ZZZ_D
4037 UINT64_C(1161848832), // PMULLB_ZZZ_H
4038 UINT64_C(1157654528), // PMULLB_ZZZ_Q
4039 UINT64_C(1170238464), // PMULLT_ZZZ_D
4040 UINT64_C(1161849856), // PMULLT_ZZZ_H
4041 UINT64_C(1157655552), // PMULLT_ZZZ_Q
4042 UINT64_C(1159788544), // PMULL_2ZZZ_Q
4043 UINT64_C(1310777344), // PMULLv16i8
4044 UINT64_C(249618432), // PMULLv1i64
4045 UINT64_C(1323360256), // PMULLv2i64
4046 UINT64_C(237035520), // PMULLv8i8
4047 UINT64_C(69231616), // PMUL_ZZZ_B
4048 UINT64_C(1847630848), // PMULv16i8
4049 UINT64_C(773889024), // PMULv8i8
4050 UINT64_C(622445568), // PNEXT_B
4051 UINT64_C(635028480), // PNEXT_D
4052 UINT64_C(626639872), // PNEXT_H
4053 UINT64_C(630834176), // PNEXT_S
4054 UINT64_C(3288391680), // PRFB_D_PZI
4055 UINT64_C(3294658560), // PRFB_D_SCALED
4056 UINT64_C(3294625792), // PRFB_D_SXTW_SCALED
4057 UINT64_C(3290431488), // PRFB_D_UXTW_SCALED
4058 UINT64_C(2243952640), // PRFB_PRI
4059 UINT64_C(2214641664), // PRFB_PRR
4060 UINT64_C(2214649856), // PRFB_S_PZI
4061 UINT64_C(2220883968), // PRFB_S_SXTW_SCALED
4062 UINT64_C(2216689664), // PRFB_S_UXTW_SCALED
4063 UINT64_C(3313557504), // PRFD_D_PZI
4064 UINT64_C(3294683136), // PRFD_D_SCALED
4065 UINT64_C(3294650368), // PRFD_D_SXTW_SCALED
4066 UINT64_C(3290456064), // PRFD_D_UXTW_SCALED
4067 UINT64_C(2243977216), // PRFD_PRI
4068 UINT64_C(2239807488), // PRFD_PRR
4069 UINT64_C(2239815680), // PRFD_S_PZI
4070 UINT64_C(2220908544), // PRFD_S_SXTW_SCALED
4071 UINT64_C(2216714240), // PRFD_S_UXTW_SCALED
4072 UINT64_C(3296780288), // PRFH_D_PZI
4073 UINT64_C(3294666752), // PRFH_D_SCALED
4074 UINT64_C(3294633984), // PRFH_D_SXTW_SCALED
4075 UINT64_C(3290439680), // PRFH_D_UXTW_SCALED
4076 UINT64_C(2243960832), // PRFH_PRI
4077 UINT64_C(2223030272), // PRFH_PRR
4078 UINT64_C(2223038464), // PRFH_S_PZI
4079 UINT64_C(2220892160), // PRFH_S_SXTW_SCALED
4080 UINT64_C(2216697856), // PRFH_S_UXTW_SCALED
4081 UINT64_C(3623878656), // PRFMl
4082 UINT64_C(4171253760), // PRFMroW
4083 UINT64_C(4171261952), // PRFMroX
4084 UINT64_C(4185915392), // PRFMui
4085 UINT64_C(4169138176), // PRFUMi
4086 UINT64_C(3305168896), // PRFW_D_PZI
4087 UINT64_C(3294674944), // PRFW_D_SCALED
4088 UINT64_C(3294642176), // PRFW_D_SXTW_SCALED
4089 UINT64_C(3290447872), // PRFW_D_UXTW_SCALED
4090 UINT64_C(2243969024), // PRFW_PRI
4091 UINT64_C(2231418880), // PRFW_PRR
4092 UINT64_C(2231427072), // PRFW_S_PZI
4093 UINT64_C(2220900352), // PRFW_S_SXTW_SCALED
4094 UINT64_C(2216706048), // PRFW_S_UXTW_SCALED
4095 UINT64_C(623132672), // PSEL_PPPRI_B
4096 UINT64_C(627064832), // PSEL_PPPRI_D
4097 UINT64_C(623394816), // PSEL_PPPRI_H
4098 UINT64_C(623919104), // PSEL_PPPRI_S
4099 UINT64_C(626049024), // PTEST_PP
4100 UINT64_C(622452736), // PTRUES_B
4101 UINT64_C(635035648), // PTRUES_D
4102 UINT64_C(626647040), // PTRUES_H
4103 UINT64_C(630841344), // PTRUES_S
4104 UINT64_C(622387200), // PTRUE_B
4105 UINT64_C(622884880), // PTRUE_C_B
4106 UINT64_C(635467792), // PTRUE_C_D
4107 UINT64_C(627079184), // PTRUE_C_H
4108 UINT64_C(631273488), // PTRUE_C_S
4109 UINT64_C(634970112), // PTRUE_D
4110 UINT64_C(626581504), // PTRUE_H
4111 UINT64_C(630775808), // PTRUE_S
4112 UINT64_C(87113728), // PUNPKHI_PP
4113 UINT64_C(87048192), // PUNPKLO_PP
4114 UINT64_C(1163945984), // RADDHNB_ZZZ_B
4115 UINT64_C(1168140288), // RADDHNB_ZZZ_H
4116 UINT64_C(1172334592), // RADDHNB_ZZZ_S
4117 UINT64_C(1163947008), // RADDHNT_ZZZ_B
4118 UINT64_C(1168141312), // RADDHNT_ZZZ_H
4119 UINT64_C(1172335616), // RADDHNT_ZZZ_S
4120 UINT64_C(782254080), // RADDHNv2i64_v2i32
4121 UINT64_C(1855995904), // RADDHNv2i64_v4i32
4122 UINT64_C(778059776), // RADDHNv4i32_v4i16
4123 UINT64_C(1851801600), // RADDHNv4i32_v8i16
4124 UINT64_C(1847607296), // RADDHNv8i16_v16i8
4125 UINT64_C(773865472), // RADDHNv8i16_v8i8
4126 UINT64_C(3462433792), // RAX1
4127 UINT64_C(1159787520), // RAX1_ZZZ_D
4128 UINT64_C(1522532352), // RBITWr
4129 UINT64_C(3670016000), // RBITXr
4130 UINT64_C(86474752), // RBIT_ZPmZ_B
4131 UINT64_C(99057664), // RBIT_ZPmZ_D
4132 UINT64_C(90669056), // RBIT_ZPmZ_H
4133 UINT64_C(94863360), // RBIT_ZPmZ_S
4134 UINT64_C(86482944), // RBIT_ZPzZ_B
4135 UINT64_C(99065856), // RBIT_ZPzZ_D
4136 UINT64_C(90677248), // RBIT_ZPzZ_H
4137 UINT64_C(94871552), // RBIT_ZPzZ_S
4138 UINT64_C(1851807744), // RBITv16i8
4139 UINT64_C(778065920), // RBITv8i8
4140 UINT64_C(421529600), // RCWCAS
4141 UINT64_C(429918208), // RCWCASA
4142 UINT64_C(434112512), // RCWCASAL
4143 UINT64_C(425723904), // RCWCASL
4144 UINT64_C(421530624), // RCWCASP
4145 UINT64_C(429919232), // RCWCASPA
4146 UINT64_C(434113536), // RCWCASPAL
4147 UINT64_C(425724928), // RCWCASPL
4148 UINT64_C(941658112), // RCWCLR
4149 UINT64_C(950046720), // RCWCLRA
4150 UINT64_C(954241024), // RCWCLRAL
4151 UINT64_C(945852416), // RCWCLRL
4152 UINT64_C(421564416), // RCWCLRP
4153 UINT64_C(429953024), // RCWCLRPA
4154 UINT64_C(434147328), // RCWCLRPAL
4155 UINT64_C(425758720), // RCWCLRPL
4156 UINT64_C(2015399936), // RCWCLRS
4157 UINT64_C(2023788544), // RCWCLRSA
4158 UINT64_C(2027982848), // RCWCLRSAL
4159 UINT64_C(2019594240), // RCWCLRSL
4160 UINT64_C(1495306240), // RCWCLRSP
4161 UINT64_C(1503694848), // RCWCLRSPA
4162 UINT64_C(1507889152), // RCWCLRSPAL
4163 UINT64_C(1499500544), // RCWCLRSPL
4164 UINT64_C(1495271424), // RCWSCAS
4165 UINT64_C(1503660032), // RCWSCASA
4166 UINT64_C(1507854336), // RCWSCASAL
4167 UINT64_C(1499465728), // RCWSCASL
4168 UINT64_C(1495272448), // RCWSCASP
4169 UINT64_C(1503661056), // RCWSCASPA
4170 UINT64_C(1507855360), // RCWSCASPAL
4171 UINT64_C(1499466752), // RCWSCASPL
4172 UINT64_C(941666304), // RCWSET
4173 UINT64_C(950054912), // RCWSETA
4174 UINT64_C(954249216), // RCWSETAL
4175 UINT64_C(945860608), // RCWSETL
4176 UINT64_C(421572608), // RCWSETP
4177 UINT64_C(429961216), // RCWSETPA
4178 UINT64_C(434155520), // RCWSETPAL
4179 UINT64_C(425766912), // RCWSETPL
4180 UINT64_C(2015408128), // RCWSETS
4181 UINT64_C(2023796736), // RCWSETSA
4182 UINT64_C(2027991040), // RCWSETSAL
4183 UINT64_C(2019602432), // RCWSETSL
4184 UINT64_C(1495314432), // RCWSETSP
4185 UINT64_C(1503703040), // RCWSETSPA
4186 UINT64_C(1507897344), // RCWSETSPAL
4187 UINT64_C(1499508736), // RCWSETSPL
4188 UINT64_C(941662208), // RCWSWP
4189 UINT64_C(950050816), // RCWSWPA
4190 UINT64_C(954245120), // RCWSWPAL
4191 UINT64_C(945856512), // RCWSWPL
4192 UINT64_C(421568512), // RCWSWPP
4193 UINT64_C(429957120), // RCWSWPPA
4194 UINT64_C(434151424), // RCWSWPPAL
4195 UINT64_C(425762816), // RCWSWPPL
4196 UINT64_C(2015404032), // RCWSWPS
4197 UINT64_C(2023792640), // RCWSWPSA
4198 UINT64_C(2027986944), // RCWSWPSAL
4199 UINT64_C(2019598336), // RCWSWPSL
4200 UINT64_C(1495310336), // RCWSWPSP
4201 UINT64_C(1503698944), // RCWSWPSPA
4202 UINT64_C(1507893248), // RCWSWPSPAL
4203 UINT64_C(1499504640), // RCWSWPSPL
4204 UINT64_C(626585600), // RDFFRS_PPz
4205 UINT64_C(622456832), // RDFFR_P
4206 UINT64_C(622391296), // RDFFR_PPz
4207 UINT64_C(79648768), // RDSVLI_XI
4208 UINT64_C(79646720), // RDVLI_XI
4209 UINT64_C(3596550144), // RET
4210 UINT64_C(3596553215), // RETAA
4211 UINT64_C(1426063391), // RETAASPPCi
4212 UINT64_C(3596553184), // RETAASPPCr
4213 UINT64_C(3596554239), // RETAB
4214 UINT64_C(1428160543), // RETABSPPCi
4215 UINT64_C(3596554208), // RETABSPPCr
4216 UINT64_C(1522533376), // REV16Wr
4217 UINT64_C(3670017024), // REV16Xr
4218 UINT64_C(1310726144), // REV16v16i8
4219 UINT64_C(236984320), // REV16v8i8
4220 UINT64_C(3670018048), // REV32Xr
4221 UINT64_C(1847592960), // REV32v16i8
4222 UINT64_C(778045440), // REV32v4i16
4223 UINT64_C(1851787264), // REV32v8i16
4224 UINT64_C(773851136), // REV32v8i8
4225 UINT64_C(1310722048), // REV64v16i8
4226 UINT64_C(245368832), // REV64v2i32
4227 UINT64_C(241174528), // REV64v4i16
4228 UINT64_C(1319110656), // REV64v4i32
4229 UINT64_C(1314916352), // REV64v8i16
4230 UINT64_C(236980224), // REV64v8i8
4231 UINT64_C(98861056), // REVB_ZPmZ_D
4232 UINT64_C(90472448), // REVB_ZPmZ_H
4233 UINT64_C(94666752), // REVB_ZPmZ_S
4234 UINT64_C(98869248), // REVB_ZPzZ_D
4235 UINT64_C(90480640), // REVB_ZPzZ_H
4236 UINT64_C(94674944), // REVB_ZPzZ_S
4237 UINT64_C(86933504), // REVD_ZPmZ
4238 UINT64_C(86941696), // REVD_ZPzZ
4239 UINT64_C(98926592), // REVH_ZPmZ_D
4240 UINT64_C(94732288), // REVH_ZPmZ_S
4241 UINT64_C(98934784), // REVH_ZPzZ_D
4242 UINT64_C(94740480), // REVH_ZPzZ_S
4243 UINT64_C(98992128), // REVW_ZPmZ_D
4244 UINT64_C(99000320), // REVW_ZPzZ_D
4245 UINT64_C(1522534400), // REVWr
4246 UINT64_C(3670019072), // REVXr
4247 UINT64_C(87310336), // REV_PP_B
4248 UINT64_C(99893248), // REV_PP_D
4249 UINT64_C(91504640), // REV_PP_H
4250 UINT64_C(95698944), // REV_PP_S
4251 UINT64_C(87570432), // REV_ZZ_B
4252 UINT64_C(100153344), // REV_ZZ_D
4253 UINT64_C(91764736), // REV_ZZ_H
4254 UINT64_C(95959040), // REV_ZZ_S
4255 UINT64_C(3120563200), // RMIF
4256 UINT64_C(448801792), // RORVWr
4257 UINT64_C(2596285440), // RORVXr
4258 UINT64_C(4171253784), // RPRFM
4259 UINT64_C(1160255488), // RSHRNB_ZZI_B
4260 UINT64_C(1160779776), // RSHRNB_ZZI_H
4261 UINT64_C(1163925504), // RSHRNB_ZZI_S
4262 UINT64_C(1160256512), // RSHRNT_ZZI_B
4263 UINT64_C(1160780800), // RSHRNT_ZZI_H
4264 UINT64_C(1163926528), // RSHRNT_ZZI_S
4265 UINT64_C(1325960192), // RSHRNv16i8_shift
4266 UINT64_C(253791232), // RSHRNv2i32_shift
4267 UINT64_C(252742656), // RSHRNv4i16_shift
4268 UINT64_C(1327533056), // RSHRNv4i32_shift
4269 UINT64_C(1326484480), // RSHRNv8i16_shift
4270 UINT64_C(252218368), // RSHRNv8i8_shift
4271 UINT64_C(1163950080), // RSUBHNB_ZZZ_B
4272 UINT64_C(1168144384), // RSUBHNB_ZZZ_H
4273 UINT64_C(1172338688), // RSUBHNB_ZZZ_S
4274 UINT64_C(1163951104), // RSUBHNT_ZZZ_B
4275 UINT64_C(1168145408), // RSUBHNT_ZZZ_H
4276 UINT64_C(1172339712), // RSUBHNT_ZZZ_S
4277 UINT64_C(782262272), // RSUBHNv2i64_v2i32
4278 UINT64_C(1856004096), // RSUBHNv2i64_v4i32
4279 UINT64_C(778067968), // RSUBHNv4i32_v4i16
4280 UINT64_C(1851809792), // RSUBHNv4i32_v8i16
4281 UINT64_C(1847615488), // RSUBHNv8i16_v16i8
4282 UINT64_C(773873664), // RSUBHNv8i16_v8i8
4283 UINT64_C(1170259968), // SABALB_ZZZ_D
4284 UINT64_C(1161871360), // SABALB_ZZZ_H
4285 UINT64_C(1166065664), // SABALB_ZZZ_S
4286 UINT64_C(1170260992), // SABALT_ZZZ_D
4287 UINT64_C(1161872384), // SABALT_ZZZ_H
4288 UINT64_C(1166066688), // SABALT_ZZZ_S
4289 UINT64_C(1145099264), // SABAL_ZZZ_BtoH
4290 UINT64_C(1149293568), // SABAL_ZZZ_HtoS
4291 UINT64_C(1153487872), // SABAL_ZZZ_StoD
4292 UINT64_C(1310740480), // SABALv16i8_v8i16
4293 UINT64_C(245387264), // SABALv2i32_v2i64
4294 UINT64_C(241192960), // SABALv4i16_v4i32
4295 UINT64_C(1319129088), // SABALv4i32_v2i64
4296 UINT64_C(1314934784), // SABALv8i16_v4i32
4297 UINT64_C(236998656), // SABALv8i8_v8i16
4298 UINT64_C(1157691392), // SABA_ZZZ_B
4299 UINT64_C(1170274304), // SABA_ZZZ_D
4300 UINT64_C(1161885696), // SABA_ZZZ_H
4301 UINT64_C(1166080000), // SABA_ZZZ_S
4302 UINT64_C(1310751744), // SABAv16i8
4303 UINT64_C(245398528), // SABAv2i32
4304 UINT64_C(241204224), // SABAv4i16
4305 UINT64_C(1319140352), // SABAv4i32
4306 UINT64_C(1314946048), // SABAv8i16
4307 UINT64_C(237009920), // SABAv8i8
4308 UINT64_C(1170223104), // SABDLB_ZZZ_D
4309 UINT64_C(1161834496), // SABDLB_ZZZ_H
4310 UINT64_C(1166028800), // SABDLB_ZZZ_S
4311 UINT64_C(1170224128), // SABDLT_ZZZ_D
4312 UINT64_C(1161835520), // SABDLT_ZZZ_H
4313 UINT64_C(1166029824), // SABDLT_ZZZ_S
4314 UINT64_C(1310748672), // SABDLv16i8_v8i16
4315 UINT64_C(245395456), // SABDLv2i32_v2i64
4316 UINT64_C(241201152), // SABDLv4i16_v4i32
4317 UINT64_C(1319137280), // SABDLv4i32_v2i64
4318 UINT64_C(1314942976), // SABDLv8i16_v4i32
4319 UINT64_C(237006848), // SABDLv8i8_v8i16
4320 UINT64_C(67895296), // SABD_ZPmZ_B
4321 UINT64_C(80478208), // SABD_ZPmZ_D
4322 UINT64_C(72089600), // SABD_ZPmZ_H
4323 UINT64_C(76283904), // SABD_ZPmZ_S
4324 UINT64_C(1310749696), // SABDv16i8
4325 UINT64_C(245396480), // SABDv2i32
4326 UINT64_C(241202176), // SABDv4i16
4327 UINT64_C(1319138304), // SABDv4i32
4328 UINT64_C(1314944000), // SABDv8i16
4329 UINT64_C(237007872), // SABDv8i8
4330 UINT64_C(1153736704), // SADALP_ZPmZ_D
4331 UINT64_C(1145348096), // SADALP_ZPmZ_H
4332 UINT64_C(1149542400), // SADALP_ZPmZ_S
4333 UINT64_C(1310746624), // SADALPv16i8_v8i16
4334 UINT64_C(245393408), // SADALPv2i32_v1i64
4335 UINT64_C(241199104), // SADALPv4i16_v2i32
4336 UINT64_C(1319135232), // SADALPv4i32_v2i64
4337 UINT64_C(1314940928), // SADALPv8i16_v4i32
4338 UINT64_C(237004800), // SADALPv8i8_v4i16
4339 UINT64_C(1170243584), // SADDLBT_ZZZ_D
4340 UINT64_C(1161854976), // SADDLBT_ZZZ_H
4341 UINT64_C(1166049280), // SADDLBT_ZZZ_S
4342 UINT64_C(1170210816), // SADDLB_ZZZ_D
4343 UINT64_C(1161822208), // SADDLB_ZZZ_H
4344 UINT64_C(1166016512), // SADDLB_ZZZ_S
4345 UINT64_C(1310730240), // SADDLPv16i8_v8i16
4346 UINT64_C(245377024), // SADDLPv2i32_v1i64
4347 UINT64_C(241182720), // SADDLPv4i16_v2i32
4348 UINT64_C(1319118848), // SADDLPv4i32_v2i64
4349 UINT64_C(1314924544), // SADDLPv8i16_v4i32
4350 UINT64_C(236988416), // SADDLPv8i8_v4i16
4351 UINT64_C(1170211840), // SADDLT_ZZZ_D
4352 UINT64_C(1161823232), // SADDLT_ZZZ_H
4353 UINT64_C(1166017536), // SADDLT_ZZZ_S
4354 UINT64_C(1311782912), // SADDLVv16i8v
4355 UINT64_C(242235392), // SADDLVv4i16v
4356 UINT64_C(1320171520), // SADDLVv4i32v
4357 UINT64_C(1315977216), // SADDLVv8i16v
4358 UINT64_C(238041088), // SADDLVv8i8v
4359 UINT64_C(1310720000), // SADDLv16i8_v8i16
4360 UINT64_C(245366784), // SADDLv2i32_v2i64
4361 UINT64_C(241172480), // SADDLv4i16_v4i32
4362 UINT64_C(1319108608), // SADDLv4i32_v2i64
4363 UINT64_C(1314914304), // SADDLv8i16_v4i32
4364 UINT64_C(236978176), // SADDLv8i8_v8i16
4365 UINT64_C(67117056), // SADDV_VPZ_B
4366 UINT64_C(71311360), // SADDV_VPZ_H
4367 UINT64_C(75505664), // SADDV_VPZ_S
4368 UINT64_C(1170227200), // SADDWB_ZZZ_D
4369 UINT64_C(1161838592), // SADDWB_ZZZ_H
4370 UINT64_C(1166032896), // SADDWB_ZZZ_S
4371 UINT64_C(1170228224), // SADDWT_ZZZ_D
4372 UINT64_C(1161839616), // SADDWT_ZZZ_H
4373 UINT64_C(1166033920), // SADDWT_ZZZ_S
4374 UINT64_C(1310724096), // SADDWv16i8_v8i16
4375 UINT64_C(245370880), // SADDWv2i32_v2i64
4376 UINT64_C(241176576), // SADDWv4i16_v4i32
4377 UINT64_C(1319112704), // SADDWv4i32_v2i64
4378 UINT64_C(1314918400), // SADDWv8i16_v4i32
4379 UINT64_C(236982272), // SADDWv8i8_v8i16
4380 UINT64_C(3573756159), // SB
4381 UINT64_C(1170264064), // SBCLB_ZZZ_D
4382 UINT64_C(1166069760), // SBCLB_ZZZ_S
4383 UINT64_C(1170265088), // SBCLT_ZZZ_D
4384 UINT64_C(1166070784), // SBCLT_ZZZ_S
4385 UINT64_C(2046820352), // SBCSWr
4386 UINT64_C(4194304000), // SBCSXr
4387 UINT64_C(1509949440), // SBCWr
4388 UINT64_C(3657433088), // SBCXr
4389 UINT64_C(318767104), // SBFMWri
4390 UINT64_C(2470445056), // SBFMXri
4391 UINT64_C(3240150016), // SCLAMP_VG2_2Z2Z_B
4392 UINT64_C(3252732928), // SCLAMP_VG2_2Z2Z_D
4393 UINT64_C(3244344320), // SCLAMP_VG2_2Z2Z_H
4394 UINT64_C(3248538624), // SCLAMP_VG2_2Z2Z_S
4395 UINT64_C(3240152064), // SCLAMP_VG4_4Z4Z_B
4396 UINT64_C(3252734976), // SCLAMP_VG4_4Z4Z_D
4397 UINT64_C(3244346368), // SCLAMP_VG4_4Z4Z_H
4398 UINT64_C(3248540672), // SCLAMP_VG4_4Z4Z_S
4399 UINT64_C(1140899840), // SCLAMP_ZZZ_B
4400 UINT64_C(1153482752), // SCLAMP_ZZZ_D
4401 UINT64_C(1145094144), // SCLAMP_ZZZ_H
4402 UINT64_C(1149288448), // SCLAMP_ZZZ_S
4403 UINT64_C(511442944), // SCVTFDSr
4404 UINT64_C(2667315200), // SCVTFHDr
4405 UINT64_C(519831552), // SCVTFHSr
4406 UINT64_C(1699493888), // SCVTFLT_ZZ_BtoH
4407 UINT64_C(1703688192), // SCVTFLT_ZZ_HtoS
4408 UINT64_C(1707882496), // SCVTFLT_ZZ_StoD
4409 UINT64_C(2654732288), // SCVTFSDr
4410 UINT64_C(507674624), // SCVTFSWDri
4411 UINT64_C(516063232), // SCVTFSWHri
4412 UINT64_C(503480320), // SCVTFSWSri
4413 UINT64_C(2655125504), // SCVTFSXDri
4414 UINT64_C(2663514112), // SCVTFSXHri
4415 UINT64_C(2650931200), // SCVTFSXSri
4416 UINT64_C(509739008), // SCVTFUWDri
4417 UINT64_C(518127616), // SCVTFUWHri
4418 UINT64_C(505544704), // SCVTFUWSri
4419 UINT64_C(2657222656), // SCVTFUXDri
4420 UINT64_C(2665611264), // SCVTFUXHri
4421 UINT64_C(2653028352), // SCVTFUXSri
4422 UINT64_C(3240288256), // SCVTF_2Z2Z_StoS
4423 UINT64_C(3241336832), // SCVTF_4Z4Z_StoS
4424 UINT64_C(1708564480), // SCVTF_ZPmZ_DtoD
4425 UINT64_C(1700175872), // SCVTF_ZPmZ_DtoH
4426 UINT64_C(1708433408), // SCVTF_ZPmZ_DtoS
4427 UINT64_C(1699913728), // SCVTF_ZPmZ_HtoH
4428 UINT64_C(1708171264), // SCVTF_ZPmZ_StoD
4429 UINT64_C(1700044800), // SCVTF_ZPmZ_StoH
4430 UINT64_C(1704239104), // SCVTF_ZPmZ_StoS
4431 UINT64_C(1692254208), // SCVTF_ZPzZ_DtoD
4432 UINT64_C(1683865600), // SCVTF_ZPzZ_DtoH
4433 UINT64_C(1692237824), // SCVTF_ZPzZ_DtoS
4434 UINT64_C(1683800064), // SCVTF_ZPzZ_HtoH
4435 UINT64_C(1692172288), // SCVTF_ZPzZ_StoD
4436 UINT64_C(1683849216), // SCVTF_ZPzZ_StoH
4437 UINT64_C(1688043520), // SCVTF_ZPzZ_StoS
4438 UINT64_C(1699491840), // SCVTF_ZZ_BtoH
4439 UINT64_C(1703686144), // SCVTF_ZZ_HtoS
4440 UINT64_C(1707880448), // SCVTF_ZZ_StoD
4441 UINT64_C(1598088192), // SCVTFd
4442 UINT64_C(1594942464), // SCVTFh
4443 UINT64_C(1595991040), // SCVTFs
4444 UINT64_C(1585043456), // SCVTFv1i16
4445 UINT64_C(1579276288), // SCVTFv1i32
4446 UINT64_C(1583470592), // SCVTFv1i64
4447 UINT64_C(237099008), // SCVTFv2f32
4448 UINT64_C(1315035136), // SCVTFv2f64
4449 UINT64_C(253813760), // SCVTFv2i32_shift
4450 UINT64_C(1329652736), // SCVTFv2i64_shift
4451 UINT64_C(242866176), // SCVTFv4f16
4452 UINT64_C(1310840832), // SCVTFv4f32
4453 UINT64_C(252765184), // SCVTFv4i16_shift
4454 UINT64_C(1327555584), // SCVTFv4i32_shift
4455 UINT64_C(1316608000), // SCVTFv8f16
4456 UINT64_C(1326507008), // SCVTFv8i16_shift
4457 UINT64_C(81133568), // SDIVR_ZPmZ_D
4458 UINT64_C(76939264), // SDIVR_ZPmZ_S
4459 UINT64_C(448793600), // SDIVWr
4460 UINT64_C(2596277248), // SDIVXr
4461 UINT64_C(81002496), // SDIV_ZPmZ_D
4462 UINT64_C(76808192), // SDIV_ZPmZ_S
4463 UINT64_C(3248493568), // SDOT_VG2_M2Z2Z_BtoS
4464 UINT64_C(3252687872), // SDOT_VG2_M2Z2Z_HtoD
4465 UINT64_C(3252687880), // SDOT_VG2_M2Z2Z_HtoS
4466 UINT64_C(3243249696), // SDOT_VG2_M2ZZI_BToS
4467 UINT64_C(3243249664), // SDOT_VG2_M2ZZI_HToS
4468 UINT64_C(3251634184), // SDOT_VG2_M2ZZI_HtoD
4469 UINT64_C(3240104960), // SDOT_VG2_M2ZZ_BtoS
4470 UINT64_C(3244299264), // SDOT_VG2_M2ZZ_HtoD
4471 UINT64_C(3244299272), // SDOT_VG2_M2ZZ_HtoS
4472 UINT64_C(3248559104), // SDOT_VG4_M4Z4Z_BtoS
4473 UINT64_C(3252753408), // SDOT_VG4_M4Z4Z_HtoD
4474 UINT64_C(3252753416), // SDOT_VG4_M4Z4Z_HtoS
4475 UINT64_C(3243282464), // SDOT_VG4_M4ZZI_BToS
4476 UINT64_C(3243282432), // SDOT_VG4_M4ZZI_HToS
4477 UINT64_C(3251666952), // SDOT_VG4_M4ZZI_HtoD
4478 UINT64_C(3241153536), // SDOT_VG4_M4ZZ_BtoS
4479 UINT64_C(3245347840), // SDOT_VG4_M4ZZ_HtoD
4480 UINT64_C(3245347848), // SDOT_VG4_M4ZZ_HtoS
4481 UINT64_C(1142947840), // SDOT_ZZZI_BtoH
4482 UINT64_C(1151336448), // SDOT_ZZZI_BtoS
4483 UINT64_C(1155530752), // SDOT_ZZZI_HtoD
4484 UINT64_C(1149290496), // SDOT_ZZZI_HtoS
4485 UINT64_C(1145044992), // SDOT_ZZZ_BtoH
4486 UINT64_C(1149239296), // SDOT_ZZZ_BtoS
4487 UINT64_C(1153433600), // SDOT_ZZZ_HtoD
4488 UINT64_C(1140901888), // SDOT_ZZZ_HtoS
4489 UINT64_C(1333846016), // SDOTlanev16i8
4490 UINT64_C(260104192), // SDOTlanev8i8
4491 UINT64_C(1317049344), // SDOTv16i8
4492 UINT64_C(243307520), // SDOTv8i8
4493 UINT64_C(620773904), // SEL_PPPP
4494 UINT64_C(3240132608), // SEL_VG2_2ZC2Z2Z_B
4495 UINT64_C(3252715520), // SEL_VG2_2ZC2Z2Z_D
4496 UINT64_C(3244326912), // SEL_VG2_2ZC2Z2Z_H
4497 UINT64_C(3248521216), // SEL_VG2_2ZC2Z2Z_S
4498 UINT64_C(3240198144), // SEL_VG4_4ZC4Z4Z_B
4499 UINT64_C(3252781056), // SEL_VG4_4ZC4Z4Z_D
4500 UINT64_C(3244392448), // SEL_VG4_4ZC4Z4Z_H
4501 UINT64_C(3248586752), // SEL_VG4_4ZC4Z4Z_S
4502 UINT64_C(86032384), // SEL_ZPZZ_B
4503 UINT64_C(98615296), // SEL_ZPZZ_D
4504 UINT64_C(90226688), // SEL_ZPZZ_H
4505 UINT64_C(94420992), // SEL_ZPZZ_S
4506 UINT64_C(432047104), // SETE
4507 UINT64_C(432055296), // SETEN
4508 UINT64_C(432051200), // SETET
4509 UINT64_C(432059392), // SETETN
4510 UINT64_C(973096973), // SETF16
4511 UINT64_C(973080589), // SETF8
4512 UINT64_C(623677440), // SETFFR
4513 UINT64_C(499139584), // SETGM
4514 UINT64_C(499147776), // SETGMN
4515 UINT64_C(499143680), // SETGMT
4516 UINT64_C(499151872), // SETGMTN
4517 UINT64_C(501186560), // SETGOE
4518 UINT64_C(501194752), // SETGOEN
4519 UINT64_C(501190656), // SETGOET
4520 UINT64_C(501198848), // SETGOETN
4521 UINT64_C(501170176), // SETGOM
4522 UINT64_C(501178368), // SETGOMN
4523 UINT64_C(501174272), // SETGOMT
4524 UINT64_C(501182464), // SETGOMTN
4525 UINT64_C(501153792), // SETGOP
4526 UINT64_C(501161984), // SETGOPN
4527 UINT64_C(501157888), // SETGOPT
4528 UINT64_C(501166080), // SETGOPTN
4529 UINT64_C(499123200), // SETGP
4530 UINT64_C(499131392), // SETGPN
4531 UINT64_C(499127296), // SETGPT
4532 UINT64_C(499135488), // SETGPTN
4533 UINT64_C(432030720), // SETM
4534 UINT64_C(432038912), // SETMN
4535 UINT64_C(432034816), // SETMT
4536 UINT64_C(432043008), // SETMTN
4537 UINT64_C(432014336), // SETP
4538 UINT64_C(432022528), // SETPN
4539 UINT64_C(432018432), // SETPT
4540 UINT64_C(432026624), // SETPTN
4541 UINT64_C(1577058304), // SHA1Crrr
4542 UINT64_C(1579681792), // SHA1Hrr
4543 UINT64_C(1577066496), // SHA1Mrrr
4544 UINT64_C(1577062400), // SHA1Prrr
4545 UINT64_C(1577070592), // SHA1SU0rrr
4546 UINT64_C(1579685888), // SHA1SU1rr
4547 UINT64_C(1577078784), // SHA256H2rrr
4548 UINT64_C(1577074688), // SHA256Hrrr
4549 UINT64_C(1579689984), // SHA256SU0rr
4550 UINT64_C(1577082880), // SHA256SU1rrr
4551 UINT64_C(3462430720), // SHA512H
4552 UINT64_C(3462431744), // SHA512H2
4553 UINT64_C(3468722176), // SHA512SU0
4554 UINT64_C(3462432768), // SHA512SU1
4555 UINT64_C(1141932032), // SHADD_ZPmZ_B
4556 UINT64_C(1154514944), // SHADD_ZPmZ_D
4557 UINT64_C(1146126336), // SHADD_ZPmZ_H
4558 UINT64_C(1150320640), // SHADD_ZPmZ_S
4559 UINT64_C(1310721024), // SHADDv16i8
4560 UINT64_C(245367808), // SHADDv2i32
4561 UINT64_C(241173504), // SHADDv4i16
4562 UINT64_C(1319109632), // SHADDv4i32
4563 UINT64_C(1314915328), // SHADDv8i16
4564 UINT64_C(236979200), // SHADDv8i8
4565 UINT64_C(1847670784), // SHLLv16i8
4566 UINT64_C(782317568), // SHLLv2i32
4567 UINT64_C(778123264), // SHLLv4i16
4568 UINT64_C(1856059392), // SHLLv4i32
4569 UINT64_C(1851865088), // SHLLv8i16
4570 UINT64_C(773928960), // SHLLv8i8
4571 UINT64_C(1598051328), // SHLd
4572 UINT64_C(1325945856), // SHLv16i8_shift
4573 UINT64_C(253776896), // SHLv2i32_shift
4574 UINT64_C(1329615872), // SHLv2i64_shift
4575 UINT64_C(252728320), // SHLv4i16_shift
4576 UINT64_C(1327518720), // SHLv4i32_shift
4577 UINT64_C(1326470144), // SHLv8i16_shift
4578 UINT64_C(252204032), // SHLv8i8_shift
4579 UINT64_C(1160253440), // SHRNB_ZZI_B
4580 UINT64_C(1160777728), // SHRNB_ZZI_H
4581 UINT64_C(1163923456), // SHRNB_ZZI_S
4582 UINT64_C(1160254464), // SHRNT_ZZI_B
4583 UINT64_C(1160778752), // SHRNT_ZZI_H
4584 UINT64_C(1163924480), // SHRNT_ZZI_S
4585 UINT64_C(1325958144), // SHRNv16i8_shift
4586 UINT64_C(253789184), // SHRNv2i32_shift
4587 UINT64_C(252740608), // SHRNv4i16_shift
4588 UINT64_C(1327531008), // SHRNv4i32_shift
4589 UINT64_C(1326482432), // SHRNv8i16_shift
4590 UINT64_C(252216320), // SHRNv8i8_shift
4591 UINT64_C(1142325248), // SHSUBR_ZPmZ_B
4592 UINT64_C(1154908160), // SHSUBR_ZPmZ_D
4593 UINT64_C(1146519552), // SHSUBR_ZPmZ_H
4594 UINT64_C(1150713856), // SHSUBR_ZPmZ_S
4595 UINT64_C(1142063104), // SHSUB_ZPmZ_B
4596 UINT64_C(1154646016), // SHSUB_ZPmZ_D
4597 UINT64_C(1146257408), // SHSUB_ZPmZ_H
4598 UINT64_C(1150451712), // SHSUB_ZPmZ_S
4599 UINT64_C(1310729216), // SHSUBv16i8
4600 UINT64_C(245376000), // SHSUBv2i32
4601 UINT64_C(241181696), // SHSUBv4i16
4602 UINT64_C(1319117824), // SHSUBv4i32
4603 UINT64_C(1314923520), // SHSUBv8i16
4604 UINT64_C(236987392), // SHSUBv8i8
4605 UINT64_C(1158214656), // SLI_ZZI_B
4606 UINT64_C(1166078976), // SLI_ZZI_D
4607 UINT64_C(1158738944), // SLI_ZZI_H
4608 UINT64_C(1161884672), // SLI_ZZI_S
4609 UINT64_C(2134922240), // SLId
4610 UINT64_C(1862816768), // SLIv16i8_shift
4611 UINT64_C(790647808), // SLIv2i32_shift
4612 UINT64_C(1866486784), // SLIv2i64_shift
4613 UINT64_C(789599232), // SLIv4i16_shift
4614 UINT64_C(1864389632), // SLIv4i32_shift
4615 UINT64_C(1863341056), // SLIv8i16_shift
4616 UINT64_C(789074944), // SLIv8i8_shift
4617 UINT64_C(3462447104), // SM3PARTW1
4618 UINT64_C(3462448128), // SM3PARTW2
4619 UINT64_C(3460300800), // SM3SS1
4620 UINT64_C(3460333568), // SM3TT1A
4621 UINT64_C(3460334592), // SM3TT1B
4622 UINT64_C(3460335616), // SM3TT2A
4623 UINT64_C(3460336640), // SM3TT2B
4624 UINT64_C(3468723200), // SM4E
4625 UINT64_C(1159786496), // SM4EKEY_ZZZ_S
4626 UINT64_C(3462449152), // SM4ENCKEY
4627 UINT64_C(1159979008), // SM4E_ZZZ_S
4628 UINT64_C(2602565632), // SMADDLrrr
4629 UINT64_C(1142202368), // SMAXP_ZPmZ_B
4630 UINT64_C(1154785280), // SMAXP_ZPmZ_D
4631 UINT64_C(1146396672), // SMAXP_ZPmZ_H
4632 UINT64_C(1150590976), // SMAXP_ZPmZ_S
4633 UINT64_C(1310761984), // SMAXPv16i8
4634 UINT64_C(245408768), // SMAXPv2i32
4635 UINT64_C(241214464), // SMAXPv4i16
4636 UINT64_C(1319150592), // SMAXPv4i32
4637 UINT64_C(1314956288), // SMAXPv8i16
4638 UINT64_C(237020160), // SMAXPv8i8
4639 UINT64_C(67903488), // SMAXQV_VPZ_B
4640 UINT64_C(80486400), // SMAXQV_VPZ_D
4641 UINT64_C(72097792), // SMAXQV_VPZ_H
4642 UINT64_C(76292096), // SMAXQV_VPZ_S
4643 UINT64_C(67641344), // SMAXV_VPZ_B
4644 UINT64_C(80224256), // SMAXV_VPZ_D
4645 UINT64_C(71835648), // SMAXV_VPZ_H
4646 UINT64_C(76029952), // SMAXV_VPZ_S
4647 UINT64_C(1311811584), // SMAXVv16i8v
4648 UINT64_C(242264064), // SMAXVv4i16v
4649 UINT64_C(1320200192), // SMAXVv4i32v
4650 UINT64_C(1316005888), // SMAXVv8i16v
4651 UINT64_C(238069760), // SMAXVv8i8v
4652 UINT64_C(297795584), // SMAXWri
4653 UINT64_C(448815104), // SMAXWrr
4654 UINT64_C(2445279232), // SMAXXri
4655 UINT64_C(2596298752), // SMAXXrr
4656 UINT64_C(3240144896), // SMAX_VG2_2Z2Z_B
4657 UINT64_C(3252727808), // SMAX_VG2_2Z2Z_D
4658 UINT64_C(3244339200), // SMAX_VG2_2Z2Z_H
4659 UINT64_C(3248533504), // SMAX_VG2_2Z2Z_S
4660 UINT64_C(3240140800), // SMAX_VG2_2ZZ_B
4661 UINT64_C(3252723712), // SMAX_VG2_2ZZ_D
4662 UINT64_C(3244335104), // SMAX_VG2_2ZZ_H
4663 UINT64_C(3248529408), // SMAX_VG2_2ZZ_S
4664 UINT64_C(3240146944), // SMAX_VG4_4Z4Z_B
4665 UINT64_C(3252729856), // SMAX_VG4_4Z4Z_D
4666 UINT64_C(3244341248), // SMAX_VG4_4Z4Z_H
4667 UINT64_C(3248535552), // SMAX_VG4_4Z4Z_S
4668 UINT64_C(3240142848), // SMAX_VG4_4ZZ_B
4669 UINT64_C(3252725760), // SMAX_VG4_4ZZ_D
4670 UINT64_C(3244337152), // SMAX_VG4_4ZZ_H
4671 UINT64_C(3248531456), // SMAX_VG4_4ZZ_S
4672 UINT64_C(623427584), // SMAX_ZI_B
4673 UINT64_C(636010496), // SMAX_ZI_D
4674 UINT64_C(627621888), // SMAX_ZI_H
4675 UINT64_C(631816192), // SMAX_ZI_S
4676 UINT64_C(67633152), // SMAX_ZPmZ_B
4677 UINT64_C(80216064), // SMAX_ZPmZ_D
4678 UINT64_C(71827456), // SMAX_ZPmZ_H
4679 UINT64_C(76021760), // SMAX_ZPmZ_S
4680 UINT64_C(1310745600), // SMAXv16i8
4681 UINT64_C(245392384), // SMAXv2i32
4682 UINT64_C(241198080), // SMAXv4i16
4683 UINT64_C(1319134208), // SMAXv4i32
4684 UINT64_C(1314939904), // SMAXv8i16
4685 UINT64_C(237003776), // SMAXv8i8
4686 UINT64_C(3556769795), // SMC
4687 UINT64_C(1142333440), // SMINP_ZPmZ_B
4688 UINT64_C(1154916352), // SMINP_ZPmZ_D
4689 UINT64_C(1146527744), // SMINP_ZPmZ_H
4690 UINT64_C(1150722048), // SMINP_ZPmZ_S
4691 UINT64_C(1310764032), // SMINPv16i8
4692 UINT64_C(245410816), // SMINPv2i32
4693 UINT64_C(241216512), // SMINPv4i16
4694 UINT64_C(1319152640), // SMINPv4i32
4695 UINT64_C(1314958336), // SMINPv8i16
4696 UINT64_C(237022208), // SMINPv8i8
4697 UINT64_C(68034560), // SMINQV_VPZ_B
4698 UINT64_C(80617472), // SMINQV_VPZ_D
4699 UINT64_C(72228864), // SMINQV_VPZ_H
4700 UINT64_C(76423168), // SMINQV_VPZ_S
4701 UINT64_C(67772416), // SMINV_VPZ_B
4702 UINT64_C(80355328), // SMINV_VPZ_D
4703 UINT64_C(71966720), // SMINV_VPZ_H
4704 UINT64_C(76161024), // SMINV_VPZ_S
4705 UINT64_C(1311877120), // SMINVv16i8v
4706 UINT64_C(242329600), // SMINVv4i16v
4707 UINT64_C(1320265728), // SMINVv4i32v
4708 UINT64_C(1316071424), // SMINVv8i16v
4709 UINT64_C(238135296), // SMINVv8i8v
4710 UINT64_C(298319872), // SMINWri
4711 UINT64_C(448817152), // SMINWrr
4712 UINT64_C(2445803520), // SMINXri
4713 UINT64_C(2596300800), // SMINXrr
4714 UINT64_C(3240144928), // SMIN_VG2_2Z2Z_B
4715 UINT64_C(3252727840), // SMIN_VG2_2Z2Z_D
4716 UINT64_C(3244339232), // SMIN_VG2_2Z2Z_H
4717 UINT64_C(3248533536), // SMIN_VG2_2Z2Z_S
4718 UINT64_C(3240140832), // SMIN_VG2_2ZZ_B
4719 UINT64_C(3252723744), // SMIN_VG2_2ZZ_D
4720 UINT64_C(3244335136), // SMIN_VG2_2ZZ_H
4721 UINT64_C(3248529440), // SMIN_VG2_2ZZ_S
4722 UINT64_C(3240146976), // SMIN_VG4_4Z4Z_B
4723 UINT64_C(3252729888), // SMIN_VG4_4Z4Z_D
4724 UINT64_C(3244341280), // SMIN_VG4_4Z4Z_H
4725 UINT64_C(3248535584), // SMIN_VG4_4Z4Z_S
4726 UINT64_C(3240142880), // SMIN_VG4_4ZZ_B
4727 UINT64_C(3252725792), // SMIN_VG4_4ZZ_D
4728 UINT64_C(3244337184), // SMIN_VG4_4ZZ_H
4729 UINT64_C(3248531488), // SMIN_VG4_4ZZ_S
4730 UINT64_C(623558656), // SMIN_ZI_B
4731 UINT64_C(636141568), // SMIN_ZI_D
4732 UINT64_C(627752960), // SMIN_ZI_H
4733 UINT64_C(631947264), // SMIN_ZI_S
4734 UINT64_C(67764224), // SMIN_ZPmZ_B
4735 UINT64_C(80347136), // SMIN_ZPmZ_D
4736 UINT64_C(71958528), // SMIN_ZPmZ_H
4737 UINT64_C(76152832), // SMIN_ZPmZ_S
4738 UINT64_C(1310747648), // SMINv16i8
4739 UINT64_C(245394432), // SMINv2i32
4740 UINT64_C(241200128), // SMINv4i16
4741 UINT64_C(1319136256), // SMINv4i32
4742 UINT64_C(1314941952), // SMINv8i16
4743 UINT64_C(237005824), // SMINv8i8
4744 UINT64_C(1155563520), // SMLALB_ZZZI_D
4745 UINT64_C(1151369216), // SMLALB_ZZZI_S
4746 UINT64_C(1153449984), // SMLALB_ZZZ_D
4747 UINT64_C(1145061376), // SMLALB_ZZZ_H
4748 UINT64_C(1149255680), // SMLALB_ZZZ_S
4749 UINT64_C(3238002688), // SMLALL_MZZI_BtoS
4750 UINT64_C(3246391296), // SMLALL_MZZI_HtoD
4751 UINT64_C(3240100864), // SMLALL_MZZ_BtoS
4752 UINT64_C(3244295168), // SMLALL_MZZ_HtoD
4753 UINT64_C(3248488448), // SMLALL_VG2_M2Z2Z_BtoS
4754 UINT64_C(3252682752), // SMLALL_VG2_M2Z2Z_HtoD
4755 UINT64_C(3239051264), // SMLALL_VG2_M2ZZI_BtoS
4756 UINT64_C(3247439872), // SMLALL_VG2_M2ZZI_HtoD
4757 UINT64_C(3240099840), // SMLALL_VG2_M2ZZ_BtoS
4758 UINT64_C(3244294144), // SMLALL_VG2_M2ZZ_HtoD
4759 UINT64_C(3248553984), // SMLALL_VG4_M4Z4Z_BtoS
4760 UINT64_C(3252748288), // SMLALL_VG4_M4Z4Z_HtoD
4761 UINT64_C(3239084032), // SMLALL_VG4_M4ZZI_BtoS
4762 UINT64_C(3247472640), // SMLALL_VG4_M4ZZI_HtoD
4763 UINT64_C(3241148416), // SMLALL_VG4_M4ZZ_BtoS
4764 UINT64_C(3245342720), // SMLALL_VG4_M4ZZ_HtoD
4765 UINT64_C(1155564544), // SMLALT_ZZZI_D
4766 UINT64_C(1151370240), // SMLALT_ZZZI_S
4767 UINT64_C(1153451008), // SMLALT_ZZZ_D
4768 UINT64_C(1145062400), // SMLALT_ZZZ_H
4769 UINT64_C(1149256704), // SMLALT_ZZZ_S
4770 UINT64_C(3250589696), // SMLAL_MZZI_HtoS
4771 UINT64_C(3244297216), // SMLAL_MZZ_HtoS
4772 UINT64_C(3252684800), // SMLAL_VG2_M2Z2Z_HtoS
4773 UINT64_C(3251638272), // SMLAL_VG2_M2ZZI_S
4774 UINT64_C(3244296192), // SMLAL_VG2_M2ZZ_HtoS
4775 UINT64_C(3252750336), // SMLAL_VG4_M4Z4Z_HtoS
4776 UINT64_C(3251671040), // SMLAL_VG4_M4ZZI_HtoS
4777 UINT64_C(3245344768), // SMLAL_VG4_M4ZZ_HtoS
4778 UINT64_C(1310752768), // SMLALv16i8_v8i16
4779 UINT64_C(260055040), // SMLALv2i32_indexed
4780 UINT64_C(245399552), // SMLALv2i32_v2i64
4781 UINT64_C(255860736), // SMLALv4i16_indexed
4782 UINT64_C(241205248), // SMLALv4i16_v4i32
4783 UINT64_C(1333796864), // SMLALv4i32_indexed
4784 UINT64_C(1319141376), // SMLALv4i32_v2i64
4785 UINT64_C(1329602560), // SMLALv8i16_indexed
4786 UINT64_C(1314947072), // SMLALv8i16_v4i32
4787 UINT64_C(237010944), // SMLALv8i8_v8i16
4788 UINT64_C(1155571712), // SMLSLB_ZZZI_D
4789 UINT64_C(1151377408), // SMLSLB_ZZZI_S
4790 UINT64_C(1153454080), // SMLSLB_ZZZ_D
4791 UINT64_C(1145065472), // SMLSLB_ZZZ_H
4792 UINT64_C(1149259776), // SMLSLB_ZZZ_S
4793 UINT64_C(3238002696), // SMLSLL_MZZI_BtoS
4794 UINT64_C(3246391304), // SMLSLL_MZZI_HtoD
4795 UINT64_C(3240100872), // SMLSLL_MZZ_BtoS
4796 UINT64_C(3244295176), // SMLSLL_MZZ_HtoD
4797 UINT64_C(3248488456), // SMLSLL_VG2_M2Z2Z_BtoS
4798 UINT64_C(3252682760), // SMLSLL_VG2_M2Z2Z_HtoD
4799 UINT64_C(3239051272), // SMLSLL_VG2_M2ZZI_BtoS
4800 UINT64_C(3247439880), // SMLSLL_VG2_M2ZZI_HtoD
4801 UINT64_C(3240099848), // SMLSLL_VG2_M2ZZ_BtoS
4802 UINT64_C(3244294152), // SMLSLL_VG2_M2ZZ_HtoD
4803 UINT64_C(3248553992), // SMLSLL_VG4_M4Z4Z_BtoS
4804 UINT64_C(3252748296), // SMLSLL_VG4_M4Z4Z_HtoD
4805 UINT64_C(3239084040), // SMLSLL_VG4_M4ZZI_BtoS
4806 UINT64_C(3247472648), // SMLSLL_VG4_M4ZZI_HtoD
4807 UINT64_C(3241148424), // SMLSLL_VG4_M4ZZ_BtoS
4808 UINT64_C(3245342728), // SMLSLL_VG4_M4ZZ_HtoD
4809 UINT64_C(1155572736), // SMLSLT_ZZZI_D
4810 UINT64_C(1151378432), // SMLSLT_ZZZI_S
4811 UINT64_C(1153455104), // SMLSLT_ZZZ_D
4812 UINT64_C(1145066496), // SMLSLT_ZZZ_H
4813 UINT64_C(1149260800), // SMLSLT_ZZZ_S
4814 UINT64_C(3250589704), // SMLSL_MZZI_HtoS
4815 UINT64_C(3244297224), // SMLSL_MZZ_HtoS
4816 UINT64_C(3252684808), // SMLSL_VG2_M2Z2Z_HtoS
4817 UINT64_C(3251638280), // SMLSL_VG2_M2ZZI_S
4818 UINT64_C(3244296200), // SMLSL_VG2_M2ZZ_HtoS
4819 UINT64_C(3252750344), // SMLSL_VG4_M4Z4Z_HtoS
4820 UINT64_C(3251671048), // SMLSL_VG4_M4ZZI_HtoS
4821 UINT64_C(3245344776), // SMLSL_VG4_M4ZZ_HtoS
4822 UINT64_C(1310760960), // SMLSLv16i8_v8i16
4823 UINT64_C(260071424), // SMLSLv2i32_indexed
4824 UINT64_C(245407744), // SMLSLv2i32_v2i64
4825 UINT64_C(255877120), // SMLSLv4i16_indexed
4826 UINT64_C(241213440), // SMLSLv4i16_v4i32
4827 UINT64_C(1333813248), // SMLSLv4i32_indexed
4828 UINT64_C(1319149568), // SMLSLv4i32_v2i64
4829 UINT64_C(1329618944), // SMLSLv8i16_indexed
4830 UINT64_C(1314955264), // SMLSLv8i16_v4i32
4831 UINT64_C(237019136), // SMLSLv8i8_v8i16
4832 UINT64_C(1317053440), // SMMLA
4833 UINT64_C(1157666816), // SMMLA_ZZZ
4834 UINT64_C(2148565504), // SMOP4A_M2Z2Z_BToS
4835 UINT64_C(2148565512), // SMOP4A_M2Z2Z_HToS
4836 UINT64_C(2697986568), // SMOP4A_M2Z2Z_HtoD
4837 UINT64_C(2147516928), // SMOP4A_M2ZZ_BToS
4838 UINT64_C(2147516936), // SMOP4A_M2ZZ_HToS
4839 UINT64_C(2696937992), // SMOP4A_M2ZZ_HtoD
4840 UINT64_C(2148564992), // SMOP4A_MZ2Z_BToS
4841 UINT64_C(2148565000), // SMOP4A_MZ2Z_HToS
4842 UINT64_C(2697986056), // SMOP4A_MZ2Z_HtoD
4843 UINT64_C(2147516416), // SMOP4A_MZZ_BToS
4844 UINT64_C(2147516424), // SMOP4A_MZZ_HToS
4845 UINT64_C(2696937480), // SMOP4A_MZZ_HtoD
4846 UINT64_C(2148565520), // SMOP4S_M2Z2Z_BToS
4847 UINT64_C(2148565528), // SMOP4S_M2Z2Z_HToS
4848 UINT64_C(2697986584), // SMOP4S_M2Z2Z_HtoD
4849 UINT64_C(2147516944), // SMOP4S_M2ZZ_BToS
4850 UINT64_C(2147516952), // SMOP4S_M2ZZ_HToS
4851 UINT64_C(2696938008), // SMOP4S_M2ZZ_HtoD
4852 UINT64_C(2148565008), // SMOP4S_MZ2Z_BToS
4853 UINT64_C(2148565016), // SMOP4S_MZ2Z_HToS
4854 UINT64_C(2697986072), // SMOP4S_MZ2Z_HtoD
4855 UINT64_C(2147516432), // SMOP4S_MZZ_BToS
4856 UINT64_C(2147516440), // SMOP4S_MZZ_HToS
4857 UINT64_C(2696937496), // SMOP4S_MZZ_HtoD
4858 UINT64_C(2696937472), // SMOPA_MPPZZ_D
4859 UINT64_C(2692743176), // SMOPA_MPPZZ_HtoS
4860 UINT64_C(2692743168), // SMOPA_MPPZZ_S
4861 UINT64_C(2696937488), // SMOPS_MPPZZ_D
4862 UINT64_C(2692743192), // SMOPS_MPPZZ_HtoS
4863 UINT64_C(2692743184), // SMOPS_MPPZZ_S
4864 UINT64_C(235023360), // SMOVvi16to32
4865 UINT64_C(235023360), // SMOVvi16to32_idx0
4866 UINT64_C(1308765184), // SMOVvi16to64
4867 UINT64_C(1308765184), // SMOVvi16to64_idx0
4868 UINT64_C(1308896256), // SMOVvi32to64
4869 UINT64_C(1308896256), // SMOVvi32to64_idx0
4870 UINT64_C(234957824), // SMOVvi8to32
4871 UINT64_C(234957824), // SMOVvi8to32_idx0
4872 UINT64_C(1308699648), // SMOVvi8to64
4873 UINT64_C(1308699648), // SMOVvi8to64_idx0
4874 UINT64_C(2602598400), // SMSUBLrrr
4875 UINT64_C(68288512), // SMULH_ZPmZ_B
4876 UINT64_C(80871424), // SMULH_ZPmZ_D
4877 UINT64_C(72482816), // SMULH_ZPmZ_H
4878 UINT64_C(76677120), // SMULH_ZPmZ_S
4879 UINT64_C(69232640), // SMULH_ZZZ_B
4880 UINT64_C(81815552), // SMULH_ZZZ_D
4881 UINT64_C(73426944), // SMULH_ZZZ_H
4882 UINT64_C(77621248), // SMULH_ZZZ_S
4883 UINT64_C(2604694528), // SMULHrr
4884 UINT64_C(1155579904), // SMULLB_ZZZI_D
4885 UINT64_C(1151385600), // SMULLB_ZZZI_S
4886 UINT64_C(1170239488), // SMULLB_ZZZ_D
4887 UINT64_C(1161850880), // SMULLB_ZZZ_H
4888 UINT64_C(1166045184), // SMULLB_ZZZ_S
4889 UINT64_C(1155580928), // SMULLT_ZZZI_D
4890 UINT64_C(1151386624), // SMULLT_ZZZI_S
4891 UINT64_C(1170240512), // SMULLT_ZZZ_D
4892 UINT64_C(1161851904), // SMULLT_ZZZ_H
4893 UINT64_C(1166046208), // SMULLT_ZZZ_S
4894 UINT64_C(1310769152), // SMULLv16i8_v8i16
4895 UINT64_C(260087808), // SMULLv2i32_indexed
4896 UINT64_C(245415936), // SMULLv2i32_v2i64
4897 UINT64_C(255893504), // SMULLv4i16_indexed
4898 UINT64_C(241221632), // SMULLv4i16_v4i32
4899 UINT64_C(1333829632), // SMULLv4i32_indexed
4900 UINT64_C(1319157760), // SMULLv4i32_v2i64
4901 UINT64_C(1329635328), // SMULLv8i16_indexed
4902 UINT64_C(1314963456), // SMULLv8i16_v4i32
4903 UINT64_C(237027328), // SMULLv8i8_v8i16
4904 UINT64_C(86867968), // SPLICE_ZPZZ_B
4905 UINT64_C(99450880), // SPLICE_ZPZZ_D
4906 UINT64_C(91062272), // SPLICE_ZPZZ_H
4907 UINT64_C(95256576), // SPLICE_ZPZZ_S
4908 UINT64_C(86802432), // SPLICE_ZPZ_B
4909 UINT64_C(99385344), // SPLICE_ZPZ_D
4910 UINT64_C(90996736), // SPLICE_ZPZ_H
4911 UINT64_C(95191040), // SPLICE_ZPZ_S
4912 UINT64_C(1141415936), // SQABS_ZPmZ_B
4913 UINT64_C(1153998848), // SQABS_ZPmZ_D
4914 UINT64_C(1145610240), // SQABS_ZPmZ_H
4915 UINT64_C(1149804544), // SQABS_ZPmZ_S
4916 UINT64_C(1141547008), // SQABS_ZPzZ_B
4917 UINT64_C(1154129920), // SQABS_ZPzZ_D
4918 UINT64_C(1145741312), // SQABS_ZPzZ_H
4919 UINT64_C(1149935616), // SQABS_ZPzZ_S
4920 UINT64_C(1310750720), // SQABSv16i8
4921 UINT64_C(1583380480), // SQABSv1i16
4922 UINT64_C(1587574784), // SQABSv1i32
4923 UINT64_C(1591769088), // SQABSv1i64
4924 UINT64_C(1579186176), // SQABSv1i8
4925 UINT64_C(245397504), // SQABSv2i32
4926 UINT64_C(1323333632), // SQABSv2i64
4927 UINT64_C(241203200), // SQABSv4i16
4928 UINT64_C(1319139328), // SQABSv4i32
4929 UINT64_C(1314945024), // SQABSv8i16
4930 UINT64_C(237008896), // SQABSv8i8
4931 UINT64_C(623165440), // SQADD_ZI_B
4932 UINT64_C(635748352), // SQADD_ZI_D
4933 UINT64_C(627359744), // SQADD_ZI_H
4934 UINT64_C(631554048), // SQADD_ZI_S
4935 UINT64_C(1142456320), // SQADD_ZPmZ_B
4936 UINT64_C(1155039232), // SQADD_ZPmZ_D
4937 UINT64_C(1146650624), // SQADD_ZPmZ_H
4938 UINT64_C(1150844928), // SQADD_ZPmZ_S
4939 UINT64_C(69210112), // SQADD_ZZZ_B
4940 UINT64_C(81793024), // SQADD_ZZZ_D
4941 UINT64_C(73404416), // SQADD_ZZZ_H
4942 UINT64_C(77598720), // SQADD_ZZZ_S
4943 UINT64_C(1310723072), // SQADDv16i8
4944 UINT64_C(1583352832), // SQADDv1i16
4945 UINT64_C(1587547136), // SQADDv1i32
4946 UINT64_C(1591741440), // SQADDv1i64
4947 UINT64_C(1579158528), // SQADDv1i8
4948 UINT64_C(245369856), // SQADDv2i32
4949 UINT64_C(1323305984), // SQADDv2i64
4950 UINT64_C(241175552), // SQADDv4i16
4951 UINT64_C(1319111680), // SQADDv4i32
4952 UINT64_C(1314917376), // SQADDv8i16
4953 UINT64_C(236981248), // SQADDv8i8
4954 UINT64_C(1157748736), // SQCADD_ZZI_B
4955 UINT64_C(1170331648), // SQCADD_ZZI_D
4956 UINT64_C(1161943040), // SQCADD_ZZI_H
4957 UINT64_C(1166137344), // SQCADD_ZZI_S
4958 UINT64_C(1160855552), // SQCVTN_Z2Z_StoH
4959 UINT64_C(3249791040), // SQCVTN_Z4Z_DtoH
4960 UINT64_C(3241402432), // SQCVTN_Z4Z_StoB
4961 UINT64_C(1160859648), // SQCVTUN_Z2Z_StoH
4962 UINT64_C(3253985344), // SQCVTUN_Z4Z_DtoH
4963 UINT64_C(3245596736), // SQCVTUN_Z4Z_StoB
4964 UINT64_C(3244548096), // SQCVTU_Z2Z_StoH
4965 UINT64_C(3253985280), // SQCVTU_Z4Z_DtoH
4966 UINT64_C(3245596672), // SQCVTU_Z4Z_StoB
4967 UINT64_C(3240353792), // SQCVT_Z2Z_StoH
4968 UINT64_C(3249790976), // SQCVT_Z4Z_DtoH
4969 UINT64_C(3241402368), // SQCVT_Z4Z_StoB
4970 UINT64_C(70318080), // SQDECB_XPiI
4971 UINT64_C(69269504), // SQDECB_XPiWdI
4972 UINT64_C(82900992), // SQDECD_XPiI
4973 UINT64_C(81852416), // SQDECD_XPiWdI
4974 UINT64_C(81840128), // SQDECD_ZPiI
4975 UINT64_C(74512384), // SQDECH_XPiI
4976 UINT64_C(73463808), // SQDECH_XPiWdI
4977 UINT64_C(73451520), // SQDECH_ZPiI
4978 UINT64_C(623544320), // SQDECP_XPWd_B
4979 UINT64_C(636127232), // SQDECP_XPWd_D
4980 UINT64_C(627738624), // SQDECP_XPWd_H
4981 UINT64_C(631932928), // SQDECP_XPWd_S
4982 UINT64_C(623545344), // SQDECP_XP_B
4983 UINT64_C(636128256), // SQDECP_XP_D
4984 UINT64_C(627739648), // SQDECP_XP_H
4985 UINT64_C(631933952), // SQDECP_XP_S
4986 UINT64_C(636125184), // SQDECP_ZP_D
4987 UINT64_C(627736576), // SQDECP_ZP_H
4988 UINT64_C(631930880), // SQDECP_ZP_S
4989 UINT64_C(78706688), // SQDECW_XPiI
4990 UINT64_C(77658112), // SQDECW_XPiWdI
4991 UINT64_C(77645824), // SQDECW_ZPiI
4992 UINT64_C(1153435648), // SQDMLALBT_ZZZ_D
4993 UINT64_C(1145047040), // SQDMLALBT_ZZZ_H
4994 UINT64_C(1149241344), // SQDMLALBT_ZZZ_S
4995 UINT64_C(1155538944), // SQDMLALB_ZZZI_D
4996 UINT64_C(1151344640), // SQDMLALB_ZZZI_S
4997 UINT64_C(1153458176), // SQDMLALB_ZZZ_D
4998 UINT64_C(1145069568), // SQDMLALB_ZZZ_H
4999 UINT64_C(1149263872), // SQDMLALB_ZZZ_S
5000 UINT64_C(1155539968), // SQDMLALT_ZZZI_D
5001 UINT64_C(1151345664), // SQDMLALT_ZZZI_S
5002 UINT64_C(1153459200), // SQDMLALT_ZZZ_D
5003 UINT64_C(1145070592), // SQDMLALT_ZZZ_H
5004 UINT64_C(1149264896), // SQDMLALT_ZZZ_S
5005 UINT64_C(1583386624), // SQDMLALi16
5006 UINT64_C(1587580928), // SQDMLALi32
5007 UINT64_C(1598042112), // SQDMLALv1i32_indexed
5008 UINT64_C(1602236416), // SQDMLALv1i64_indexed
5009 UINT64_C(260059136), // SQDMLALv2i32_indexed
5010 UINT64_C(245403648), // SQDMLALv2i32_v2i64
5011 UINT64_C(255864832), // SQDMLALv4i16_indexed
5012 UINT64_C(241209344), // SQDMLALv4i16_v4i32
5013 UINT64_C(1333800960), // SQDMLALv4i32_indexed
5014 UINT64_C(1319145472), // SQDMLALv4i32_v2i64
5015 UINT64_C(1329606656), // SQDMLALv8i16_indexed
5016 UINT64_C(1314951168), // SQDMLALv8i16_v4i32
5017 UINT64_C(1153436672), // SQDMLSLBT_ZZZ_D
5018 UINT64_C(1145048064), // SQDMLSLBT_ZZZ_H
5019 UINT64_C(1149242368), // SQDMLSLBT_ZZZ_S
5020 UINT64_C(1155543040), // SQDMLSLB_ZZZI_D
5021 UINT64_C(1151348736), // SQDMLSLB_ZZZI_S
5022 UINT64_C(1153460224), // SQDMLSLB_ZZZ_D
5023 UINT64_C(1145071616), // SQDMLSLB_ZZZ_H
5024 UINT64_C(1149265920), // SQDMLSLB_ZZZ_S
5025 UINT64_C(1155544064), // SQDMLSLT_ZZZI_D
5026 UINT64_C(1151349760), // SQDMLSLT_ZZZI_S
5027 UINT64_C(1153461248), // SQDMLSLT_ZZZ_D
5028 UINT64_C(1145072640), // SQDMLSLT_ZZZ_H
5029 UINT64_C(1149266944), // SQDMLSLT_ZZZ_S
5030 UINT64_C(1583394816), // SQDMLSLi16
5031 UINT64_C(1587589120), // SQDMLSLi32
5032 UINT64_C(1598058496), // SQDMLSLv1i32_indexed
5033 UINT64_C(1602252800), // SQDMLSLv1i64_indexed
5034 UINT64_C(260075520), // SQDMLSLv2i32_indexed
5035 UINT64_C(245411840), // SQDMLSLv2i32_v2i64
5036 UINT64_C(255881216), // SQDMLSLv4i16_indexed
5037 UINT64_C(241217536), // SQDMLSLv4i16_v4i32
5038 UINT64_C(1333817344), // SQDMLSLv4i32_indexed
5039 UINT64_C(1319153664), // SQDMLSLv4i32_v2i64
5040 UINT64_C(1329623040), // SQDMLSLv8i16_indexed
5041 UINT64_C(1314959360), // SQDMLSLv8i16_v4i32
5042 UINT64_C(3240145920), // SQDMULH_VG2_2Z2Z_B
5043 UINT64_C(3252728832), // SQDMULH_VG2_2Z2Z_D
5044 UINT64_C(3244340224), // SQDMULH_VG2_2Z2Z_H
5045 UINT64_C(3248534528), // SQDMULH_VG2_2Z2Z_S
5046 UINT64_C(3240141824), // SQDMULH_VG2_2ZZ_B
5047 UINT64_C(3252724736), // SQDMULH_VG2_2ZZ_D
5048 UINT64_C(3244336128), // SQDMULH_VG2_2ZZ_H
5049 UINT64_C(3248530432), // SQDMULH_VG2_2ZZ_S
5050 UINT64_C(3240147968), // SQDMULH_VG4_4Z4Z_B
5051 UINT64_C(3252730880), // SQDMULH_VG4_4Z4Z_D
5052 UINT64_C(3244342272), // SQDMULH_VG4_4Z4Z_H
5053 UINT64_C(3248536576), // SQDMULH_VG4_4Z4Z_S
5054 UINT64_C(3240143872), // SQDMULH_VG4_4ZZ_B
5055 UINT64_C(3252726784), // SQDMULH_VG4_4ZZ_D
5056 UINT64_C(3244338176), // SQDMULH_VG4_4ZZ_H
5057 UINT64_C(3248532480), // SQDMULH_VG4_4ZZ_S
5058 UINT64_C(1155592192), // SQDMULH_ZZZI_D
5059 UINT64_C(1143009280), // SQDMULH_ZZZI_H
5060 UINT64_C(1151397888), // SQDMULH_ZZZI_S
5061 UINT64_C(69234688), // SQDMULH_ZZZ_B
5062 UINT64_C(81817600), // SQDMULH_ZZZ_D
5063 UINT64_C(73428992), // SQDMULH_ZZZ_H
5064 UINT64_C(77623296), // SQDMULH_ZZZ_S
5065 UINT64_C(1583395840), // SQDMULHv1i16
5066 UINT64_C(1598078976), // SQDMULHv1i16_indexed
5067 UINT64_C(1587590144), // SQDMULHv1i32
5068 UINT64_C(1602273280), // SQDMULHv1i32_indexed
5069 UINT64_C(245412864), // SQDMULHv2i32
5070 UINT64_C(260096000), // SQDMULHv2i32_indexed
5071 UINT64_C(241218560), // SQDMULHv4i16
5072 UINT64_C(255901696), // SQDMULHv4i16_indexed
5073 UINT64_C(1319154688), // SQDMULHv4i32
5074 UINT64_C(1333837824), // SQDMULHv4i32_indexed
5075 UINT64_C(1314960384), // SQDMULHv8i16
5076 UINT64_C(1329643520), // SQDMULHv8i16_indexed
5077 UINT64_C(1155588096), // SQDMULLB_ZZZI_D
5078 UINT64_C(1151393792), // SQDMULLB_ZZZI_S
5079 UINT64_C(1170235392), // SQDMULLB_ZZZ_D
5080 UINT64_C(1161846784), // SQDMULLB_ZZZ_H
5081 UINT64_C(1166041088), // SQDMULLB_ZZZ_S
5082 UINT64_C(1155589120), // SQDMULLT_ZZZI_D
5083 UINT64_C(1151394816), // SQDMULLT_ZZZI_S
5084 UINT64_C(1170236416), // SQDMULLT_ZZZ_D
5085 UINT64_C(1161847808), // SQDMULLT_ZZZ_H
5086 UINT64_C(1166042112), // SQDMULLT_ZZZ_S
5087 UINT64_C(1583403008), // SQDMULLi16
5088 UINT64_C(1587597312), // SQDMULLi32
5089 UINT64_C(1598074880), // SQDMULLv1i32_indexed
5090 UINT64_C(1602269184), // SQDMULLv1i64_indexed
5091 UINT64_C(260091904), // SQDMULLv2i32_indexed
5092 UINT64_C(245420032), // SQDMULLv2i32_v2i64
5093 UINT64_C(255897600), // SQDMULLv4i16_indexed
5094 UINT64_C(241225728), // SQDMULLv4i16_v4i32
5095 UINT64_C(1333833728), // SQDMULLv4i32_indexed
5096 UINT64_C(1319161856), // SQDMULLv4i32_v2i64
5097 UINT64_C(1329639424), // SQDMULLv8i16_indexed
5098 UINT64_C(1314967552), // SQDMULLv8i16_v4i32
5099 UINT64_C(70316032), // SQINCB_XPiI
5100 UINT64_C(69267456), // SQINCB_XPiWdI
5101 UINT64_C(82898944), // SQINCD_XPiI
5102 UINT64_C(81850368), // SQINCD_XPiWdI
5103 UINT64_C(81838080), // SQINCD_ZPiI
5104 UINT64_C(74510336), // SQINCH_XPiI
5105 UINT64_C(73461760), // SQINCH_XPiWdI
5106 UINT64_C(73449472), // SQINCH_ZPiI
5107 UINT64_C(623413248), // SQINCP_XPWd_B
5108 UINT64_C(635996160), // SQINCP_XPWd_D
5109 UINT64_C(627607552), // SQINCP_XPWd_H
5110 UINT64_C(631801856), // SQINCP_XPWd_S
5111 UINT64_C(623414272), // SQINCP_XP_B
5112 UINT64_C(635997184), // SQINCP_XP_D
5113 UINT64_C(627608576), // SQINCP_XP_H
5114 UINT64_C(631802880), // SQINCP_XP_S
5115 UINT64_C(635994112), // SQINCP_ZP_D
5116 UINT64_C(627605504), // SQINCP_ZP_H
5117 UINT64_C(631799808), // SQINCP_ZP_S
5118 UINT64_C(78704640), // SQINCW_XPiI
5119 UINT64_C(77656064), // SQINCW_XPiWdI
5120 UINT64_C(77643776), // SQINCW_ZPiI
5121 UINT64_C(1141481472), // SQNEG_ZPmZ_B
5122 UINT64_C(1154064384), // SQNEG_ZPmZ_D
5123 UINT64_C(1145675776), // SQNEG_ZPmZ_H
5124 UINT64_C(1149870080), // SQNEG_ZPmZ_S
5125 UINT64_C(1141612544), // SQNEG_ZPzZ_B
5126 UINT64_C(1154195456), // SQNEG_ZPzZ_D
5127 UINT64_C(1145806848), // SQNEG_ZPzZ_H
5128 UINT64_C(1150001152), // SQNEG_ZPzZ_S
5129 UINT64_C(1847621632), // SQNEGv16i8
5130 UINT64_C(2120251392), // SQNEGv1i16
5131 UINT64_C(2124445696), // SQNEGv1i32
5132 UINT64_C(2128640000), // SQNEGv1i64
5133 UINT64_C(2116057088), // SQNEGv1i8
5134 UINT64_C(782268416), // SQNEGv2i32
5135 UINT64_C(1860204544), // SQNEGv2i64
5136 UINT64_C(778074112), // SQNEGv4i16
5137 UINT64_C(1856010240), // SQNEGv4i32
5138 UINT64_C(1851815936), // SQNEGv8i16
5139 UINT64_C(773879808), // SQNEGv8i8
5140 UINT64_C(1151365120), // SQRDCMLAH_ZZZI_H
5141 UINT64_C(1155559424), // SQRDCMLAH_ZZZI_S
5142 UINT64_C(1140862976), // SQRDCMLAH_ZZZ_B
5143 UINT64_C(1153445888), // SQRDCMLAH_ZZZ_D
5144 UINT64_C(1145057280), // SQRDCMLAH_ZZZ_H
5145 UINT64_C(1149251584), // SQRDCMLAH_ZZZ_S
5146 UINT64_C(1155534848), // SQRDMLAH_ZZZI_D
5147 UINT64_C(1142951936), // SQRDMLAH_ZZZI_H
5148 UINT64_C(1151340544), // SQRDMLAH_ZZZI_S
5149 UINT64_C(1140879360), // SQRDMLAH_ZZZ_B
5150 UINT64_C(1153462272), // SQRDMLAH_ZZZ_D
5151 UINT64_C(1145073664), // SQRDMLAH_ZZZ_H
5152 UINT64_C(1149267968), // SQRDMLAH_ZZZ_S
5153 UINT64_C(2118157312), // SQRDMLAHv1i16
5154 UINT64_C(2134953984), // SQRDMLAHv1i16_indexed
5155 UINT64_C(2122351616), // SQRDMLAHv1i32
5156 UINT64_C(2139148288), // SQRDMLAHv1i32_indexed
5157 UINT64_C(780174336), // SQRDMLAHv2i32
5158 UINT64_C(796971008), // SQRDMLAHv2i32_indexed
5159 UINT64_C(775980032), // SQRDMLAHv4i16
5160 UINT64_C(792776704), // SQRDMLAHv4i16_indexed
5161 UINT64_C(1853916160), // SQRDMLAHv4i32
5162 UINT64_C(1870712832), // SQRDMLAHv4i32_indexed
5163 UINT64_C(1849721856), // SQRDMLAHv8i16
5164 UINT64_C(1866518528), // SQRDMLAHv8i16_indexed
5165 UINT64_C(1155535872), // SQRDMLSH_ZZZI_D
5166 UINT64_C(1142952960), // SQRDMLSH_ZZZI_H
5167 UINT64_C(1151341568), // SQRDMLSH_ZZZI_S
5168 UINT64_C(1140880384), // SQRDMLSH_ZZZ_B
5169 UINT64_C(1153463296), // SQRDMLSH_ZZZ_D
5170 UINT64_C(1145074688), // SQRDMLSH_ZZZ_H
5171 UINT64_C(1149268992), // SQRDMLSH_ZZZ_S
5172 UINT64_C(2118159360), // SQRDMLSHv1i16
5173 UINT64_C(2134962176), // SQRDMLSHv1i16_indexed
5174 UINT64_C(2122353664), // SQRDMLSHv1i32
5175 UINT64_C(2139156480), // SQRDMLSHv1i32_indexed
5176 UINT64_C(780176384), // SQRDMLSHv2i32
5177 UINT64_C(796979200), // SQRDMLSHv2i32_indexed
5178 UINT64_C(775982080), // SQRDMLSHv4i16
5179 UINT64_C(792784896), // SQRDMLSHv4i16_indexed
5180 UINT64_C(1853918208), // SQRDMLSHv4i32
5181 UINT64_C(1870721024), // SQRDMLSHv4i32_indexed
5182 UINT64_C(1849723904), // SQRDMLSHv8i16
5183 UINT64_C(1866526720), // SQRDMLSHv8i16_indexed
5184 UINT64_C(1155593216), // SQRDMULH_ZZZI_D
5185 UINT64_C(1143010304), // SQRDMULH_ZZZI_H
5186 UINT64_C(1151398912), // SQRDMULH_ZZZI_S
5187 UINT64_C(69235712), // SQRDMULH_ZZZ_B
5188 UINT64_C(81818624), // SQRDMULH_ZZZ_D
5189 UINT64_C(73430016), // SQRDMULH_ZZZ_H
5190 UINT64_C(77624320), // SQRDMULH_ZZZ_S
5191 UINT64_C(2120266752), // SQRDMULHv1i16
5192 UINT64_C(1598083072), // SQRDMULHv1i16_indexed
5193 UINT64_C(2124461056), // SQRDMULHv1i32
5194 UINT64_C(1602277376), // SQRDMULHv1i32_indexed
5195 UINT64_C(782283776), // SQRDMULHv2i32
5196 UINT64_C(260100096), // SQRDMULHv2i32_indexed
5197 UINT64_C(778089472), // SQRDMULHv4i16
5198 UINT64_C(255905792), // SQRDMULHv4i16_indexed
5199 UINT64_C(1856025600), // SQRDMULHv4i32
5200 UINT64_C(1333841920), // SQRDMULHv4i32_indexed
5201 UINT64_C(1851831296), // SQRDMULHv8i16
5202 UINT64_C(1329647616), // SQRDMULHv8i16_indexed
5203 UINT64_C(1141800960), // SQRSHLR_ZPmZ_B
5204 UINT64_C(1154383872), // SQRSHLR_ZPmZ_D
5205 UINT64_C(1145995264), // SQRSHLR_ZPmZ_H
5206 UINT64_C(1150189568), // SQRSHLR_ZPmZ_S
5207 UINT64_C(1141538816), // SQRSHL_ZPmZ_B
5208 UINT64_C(1154121728), // SQRSHL_ZPmZ_D
5209 UINT64_C(1145733120), // SQRSHL_ZPmZ_H
5210 UINT64_C(1149927424), // SQRSHL_ZPmZ_S
5211 UINT64_C(1310743552), // SQRSHLv16i8
5212 UINT64_C(1583373312), // SQRSHLv1i16
5213 UINT64_C(1587567616), // SQRSHLv1i32
5214 UINT64_C(1591761920), // SQRSHLv1i64
5215 UINT64_C(1579179008), // SQRSHLv1i8
5216 UINT64_C(245390336), // SQRSHLv2i32
5217 UINT64_C(1323326464), // SQRSHLv2i64
5218 UINT64_C(241196032), // SQRSHLv4i16
5219 UINT64_C(1319132160), // SQRSHLv4i32
5220 UINT64_C(1314937856), // SQRSHLv8i16
5221 UINT64_C(237001728), // SQRSHLv8i8
5222 UINT64_C(1160259584), // SQRSHRNB_ZZI_B
5223 UINT64_C(1160783872), // SQRSHRNB_ZZI_H
5224 UINT64_C(1163929600), // SQRSHRNB_ZZI_S
5225 UINT64_C(1160260608), // SQRSHRNT_ZZI_B
5226 UINT64_C(1160784896), // SQRSHRNT_ZZI_H
5227 UINT64_C(1163930624), // SQRSHRNT_ZZI_S
5228 UINT64_C(3244350464), // SQRSHRN_VG4_Z4ZI_B
5229 UINT64_C(3248544768), // SQRSHRN_VG4_Z4ZI_H
5230 UINT64_C(1168648192), // SQRSHRN_Z2ZI_HtoB
5231 UINT64_C(1169172480), // SQRSHRN_Z2ZI_StoH
5232 UINT64_C(1594399744), // SQRSHRNb
5233 UINT64_C(1594924032), // SQRSHRNh
5234 UINT64_C(1595972608), // SQRSHRNs
5235 UINT64_C(1325964288), // SQRSHRNv16i8_shift
5236 UINT64_C(253795328), // SQRSHRNv2i32_shift
5237 UINT64_C(252746752), // SQRSHRNv4i16_shift
5238 UINT64_C(1327537152), // SQRSHRNv4i32_shift
5239 UINT64_C(1326488576), // SQRSHRNv8i16_shift
5240 UINT64_C(252222464), // SQRSHRNv8i8_shift
5241 UINT64_C(1160251392), // SQRSHRUNB_ZZI_B
5242 UINT64_C(1160775680), // SQRSHRUNB_ZZI_H
5243 UINT64_C(1163921408), // SQRSHRUNB_ZZI_S
5244 UINT64_C(1160252416), // SQRSHRUNT_ZZI_B
5245 UINT64_C(1160776704), // SQRSHRUNT_ZZI_H
5246 UINT64_C(1163922432), // SQRSHRUNT_ZZI_S
5247 UINT64_C(3244350528), // SQRSHRUN_VG4_Z4ZI_B
5248 UINT64_C(3248544832), // SQRSHRUN_VG4_Z4ZI_H
5249 UINT64_C(1168640000), // SQRSHRUN_Z2ZI_HtoB
5250 UINT64_C(1169164288), // SQRSHRUN_Z2ZI_StoH
5251 UINT64_C(2131266560), // SQRSHRUNb
5252 UINT64_C(2131790848), // SQRSHRUNh
5253 UINT64_C(2132839424), // SQRSHRUNs
5254 UINT64_C(1862831104), // SQRSHRUNv16i8_shift
5255 UINT64_C(790662144), // SQRSHRUNv2i32_shift
5256 UINT64_C(789613568), // SQRSHRUNv4i16_shift
5257 UINT64_C(1864403968), // SQRSHRUNv4i32_shift
5258 UINT64_C(1863355392), // SQRSHRUNv8i16_shift
5259 UINT64_C(789089280), // SQRSHRUNv8i8_shift
5260 UINT64_C(3253785600), // SQRSHRU_VG2_Z2ZI_H
5261 UINT64_C(3244349504), // SQRSHRU_VG4_Z4ZI_B
5262 UINT64_C(3248543808), // SQRSHRU_VG4_Z4ZI_H
5263 UINT64_C(3252737024), // SQRSHR_VG2_Z2ZI_H
5264 UINT64_C(3244349440), // SQRSHR_VG4_Z4ZI_B
5265 UINT64_C(3248543744), // SQRSHR_VG4_Z4ZI_H
5266 UINT64_C(1141669888), // SQSHLR_ZPmZ_B
5267 UINT64_C(1154252800), // SQSHLR_ZPmZ_D
5268 UINT64_C(1145864192), // SQSHLR_ZPmZ_H
5269 UINT64_C(1150058496), // SQSHLR_ZPmZ_S
5270 UINT64_C(68124928), // SQSHLU_ZPmI_B
5271 UINT64_C(76513280), // SQSHLU_ZPmI_D
5272 UINT64_C(68125184), // SQSHLU_ZPmI_H
5273 UINT64_C(72318976), // SQSHLU_ZPmI_S
5274 UINT64_C(2131256320), // SQSHLUb
5275 UINT64_C(2134926336), // SQSHLUd
5276 UINT64_C(2131780608), // SQSHLUh
5277 UINT64_C(2132829184), // SQSHLUs
5278 UINT64_C(1862820864), // SQSHLUv16i8_shift
5279 UINT64_C(790651904), // SQSHLUv2i32_shift
5280 UINT64_C(1866490880), // SQSHLUv2i64_shift
5281 UINT64_C(789603328), // SQSHLUv4i16_shift
5282 UINT64_C(1864393728), // SQSHLUv4i32_shift
5283 UINT64_C(1863345152), // SQSHLUv8i16_shift
5284 UINT64_C(789079040), // SQSHLUv8i8_shift
5285 UINT64_C(67535104), // SQSHL_ZPmI_B
5286 UINT64_C(75923456), // SQSHL_ZPmI_D
5287 UINT64_C(67535360), // SQSHL_ZPmI_H
5288 UINT64_C(71729152), // SQSHL_ZPmI_S
5289 UINT64_C(1141407744), // SQSHL_ZPmZ_B
5290 UINT64_C(1153990656), // SQSHL_ZPmZ_D
5291 UINT64_C(1145602048), // SQSHL_ZPmZ_H
5292 UINT64_C(1149796352), // SQSHL_ZPmZ_S
5293 UINT64_C(1594389504), // SQSHLb
5294 UINT64_C(1598059520), // SQSHLd
5295 UINT64_C(1594913792), // SQSHLh
5296 UINT64_C(1595962368), // SQSHLs
5297 UINT64_C(1310739456), // SQSHLv16i8
5298 UINT64_C(1325954048), // SQSHLv16i8_shift
5299 UINT64_C(1583369216), // SQSHLv1i16
5300 UINT64_C(1587563520), // SQSHLv1i32
5301 UINT64_C(1591757824), // SQSHLv1i64
5302 UINT64_C(1579174912), // SQSHLv1i8
5303 UINT64_C(245386240), // SQSHLv2i32
5304 UINT64_C(253785088), // SQSHLv2i32_shift
5305 UINT64_C(1323322368), // SQSHLv2i64
5306 UINT64_C(1329624064), // SQSHLv2i64_shift
5307 UINT64_C(241191936), // SQSHLv4i16
5308 UINT64_C(252736512), // SQSHLv4i16_shift
5309 UINT64_C(1319128064), // SQSHLv4i32
5310 UINT64_C(1327526912), // SQSHLv4i32_shift
5311 UINT64_C(1314933760), // SQSHLv8i16
5312 UINT64_C(1326478336), // SQSHLv8i16_shift
5313 UINT64_C(236997632), // SQSHLv8i8
5314 UINT64_C(252212224), // SQSHLv8i8_shift
5315 UINT64_C(1160257536), // SQSHRNB_ZZI_B
5316 UINT64_C(1160781824), // SQSHRNB_ZZI_H
5317 UINT64_C(1163927552), // SQSHRNB_ZZI_S
5318 UINT64_C(1160258560), // SQSHRNT_ZZI_B
5319 UINT64_C(1160782848), // SQSHRNT_ZZI_H
5320 UINT64_C(1163928576), // SQSHRNT_ZZI_S
5321 UINT64_C(1168637952), // SQSHRN_Z2ZI_HtoB
5322 UINT64_C(1169162240), // SQSHRN_Z2ZI_StoH
5323 UINT64_C(1594397696), // SQSHRNb
5324 UINT64_C(1594921984), // SQSHRNh
5325 UINT64_C(1595970560), // SQSHRNs
5326 UINT64_C(1325962240), // SQSHRNv16i8_shift
5327 UINT64_C(253793280), // SQSHRNv2i32_shift
5328 UINT64_C(252744704), // SQSHRNv4i16_shift
5329 UINT64_C(1327535104), // SQSHRNv4i32_shift
5330 UINT64_C(1326486528), // SQSHRNv8i16_shift
5331 UINT64_C(252220416), // SQSHRNv8i8_shift
5332 UINT64_C(1160249344), // SQSHRUNB_ZZI_B
5333 UINT64_C(1160773632), // SQSHRUNB_ZZI_H
5334 UINT64_C(1163919360), // SQSHRUNB_ZZI_S
5335 UINT64_C(1160250368), // SQSHRUNT_ZZI_B
5336 UINT64_C(1160774656), // SQSHRUNT_ZZI_H
5337 UINT64_C(1163920384), // SQSHRUNT_ZZI_S
5338 UINT64_C(1168646144), // SQSHRUN_Z2ZI_HtoB
5339 UINT64_C(1169170432), // SQSHRUN_Z2ZI_StoH
5340 UINT64_C(2131264512), // SQSHRUNb
5341 UINT64_C(2131788800), // SQSHRUNh
5342 UINT64_C(2132837376), // SQSHRUNs
5343 UINT64_C(1862829056), // SQSHRUNv16i8_shift
5344 UINT64_C(790660096), // SQSHRUNv2i32_shift
5345 UINT64_C(789611520), // SQSHRUNv4i16_shift
5346 UINT64_C(1864401920), // SQSHRUNv4i32_shift
5347 UINT64_C(1863353344), // SQSHRUNv8i16_shift
5348 UINT64_C(789087232), // SQSHRUNv8i8_shift
5349 UINT64_C(1142849536), // SQSUBR_ZPmZ_B
5350 UINT64_C(1155432448), // SQSUBR_ZPmZ_D
5351 UINT64_C(1147043840), // SQSUBR_ZPmZ_H
5352 UINT64_C(1151238144), // SQSUBR_ZPmZ_S
5353 UINT64_C(623296512), // SQSUB_ZI_B
5354 UINT64_C(635879424), // SQSUB_ZI_D
5355 UINT64_C(627490816), // SQSUB_ZI_H
5356 UINT64_C(631685120), // SQSUB_ZI_S
5357 UINT64_C(1142587392), // SQSUB_ZPmZ_B
5358 UINT64_C(1155170304), // SQSUB_ZPmZ_D
5359 UINT64_C(1146781696), // SQSUB_ZPmZ_H
5360 UINT64_C(1150976000), // SQSUB_ZPmZ_S
5361 UINT64_C(69212160), // SQSUB_ZZZ_B
5362 UINT64_C(81795072), // SQSUB_ZZZ_D
5363 UINT64_C(73406464), // SQSUB_ZZZ_H
5364 UINT64_C(77600768), // SQSUB_ZZZ_S
5365 UINT64_C(1310731264), // SQSUBv16i8
5366 UINT64_C(1583361024), // SQSUBv1i16
5367 UINT64_C(1587555328), // SQSUBv1i32
5368 UINT64_C(1591749632), // SQSUBv1i64
5369 UINT64_C(1579166720), // SQSUBv1i8
5370 UINT64_C(245378048), // SQSUBv2i32
5371 UINT64_C(1323314176), // SQSUBv2i64
5372 UINT64_C(241183744), // SQSUBv4i16
5373 UINT64_C(1319119872), // SQSUBv4i32
5374 UINT64_C(1314925568), // SQSUBv8i16
5375 UINT64_C(236989440), // SQSUBv8i8
5376 UINT64_C(1160265728), // SQXTNB_ZZ_B
5377 UINT64_C(1160790016), // SQXTNB_ZZ_H
5378 UINT64_C(1163935744), // SQXTNB_ZZ_S
5379 UINT64_C(1160266752), // SQXTNT_ZZ_B
5380 UINT64_C(1160791040), // SQXTNT_ZZ_H
5381 UINT64_C(1163936768), // SQXTNT_ZZ_S
5382 UINT64_C(1310803968), // SQXTNv16i8
5383 UINT64_C(1583433728), // SQXTNv1i16
5384 UINT64_C(1587628032), // SQXTNv1i32
5385 UINT64_C(1579239424), // SQXTNv1i8
5386 UINT64_C(245450752), // SQXTNv2i32
5387 UINT64_C(241256448), // SQXTNv4i16
5388 UINT64_C(1319192576), // SQXTNv4i32
5389 UINT64_C(1314998272), // SQXTNv8i16
5390 UINT64_C(237062144), // SQXTNv8i8
5391 UINT64_C(1160269824), // SQXTUNB_ZZ_B
5392 UINT64_C(1160794112), // SQXTUNB_ZZ_H
5393 UINT64_C(1163939840), // SQXTUNB_ZZ_S
5394 UINT64_C(1160270848), // SQXTUNT_ZZ_B
5395 UINT64_C(1160795136), // SQXTUNT_ZZ_H
5396 UINT64_C(1163940864), // SQXTUNT_ZZ_S
5397 UINT64_C(1847666688), // SQXTUNv16i8
5398 UINT64_C(2120296448), // SQXTUNv1i16
5399 UINT64_C(2124490752), // SQXTUNv1i32
5400 UINT64_C(2116102144), // SQXTUNv1i8
5401 UINT64_C(782313472), // SQXTUNv2i32
5402 UINT64_C(778119168), // SQXTUNv4i16
5403 UINT64_C(1856055296), // SQXTUNv4i32
5404 UINT64_C(1851860992), // SQXTUNv8i16
5405 UINT64_C(773924864), // SQXTUNv8i8
5406 UINT64_C(1142194176), // SRHADD_ZPmZ_B
5407 UINT64_C(1154777088), // SRHADD_ZPmZ_D
5408 UINT64_C(1146388480), // SRHADD_ZPmZ_H
5409 UINT64_C(1150582784), // SRHADD_ZPmZ_S
5410 UINT64_C(1310725120), // SRHADDv16i8
5411 UINT64_C(245371904), // SRHADDv2i32
5412 UINT64_C(241177600), // SRHADDv4i16
5413 UINT64_C(1319113728), // SRHADDv4i32
5414 UINT64_C(1314919424), // SRHADDv8i16
5415 UINT64_C(236983296), // SRHADDv8i8
5416 UINT64_C(1158213632), // SRI_ZZI_B
5417 UINT64_C(1166077952), // SRI_ZZI_D
5418 UINT64_C(1158737920), // SRI_ZZI_H
5419 UINT64_C(1161883648), // SRI_ZZI_S
5420 UINT64_C(2134918144), // SRId
5421 UINT64_C(1862812672), // SRIv16i8_shift
5422 UINT64_C(790643712), // SRIv2i32_shift
5423 UINT64_C(1866482688), // SRIv2i64_shift
5424 UINT64_C(789595136), // SRIv4i16_shift
5425 UINT64_C(1864385536), // SRIv4i32_shift
5426 UINT64_C(1863336960), // SRIv8i16_shift
5427 UINT64_C(789070848), // SRIv8i8_shift
5428 UINT64_C(1141276672), // SRSHLR_ZPmZ_B
5429 UINT64_C(1153859584), // SRSHLR_ZPmZ_D
5430 UINT64_C(1145470976), // SRSHLR_ZPmZ_H
5431 UINT64_C(1149665280), // SRSHLR_ZPmZ_S
5432 UINT64_C(3240145440), // SRSHL_VG2_2Z2Z_B
5433 UINT64_C(3252728352), // SRSHL_VG2_2Z2Z_D
5434 UINT64_C(3244339744), // SRSHL_VG2_2Z2Z_H
5435 UINT64_C(3248534048), // SRSHL_VG2_2Z2Z_S
5436 UINT64_C(3240141344), // SRSHL_VG2_2ZZ_B
5437 UINT64_C(3252724256), // SRSHL_VG2_2ZZ_D
5438 UINT64_C(3244335648), // SRSHL_VG2_2ZZ_H
5439 UINT64_C(3248529952), // SRSHL_VG2_2ZZ_S
5440 UINT64_C(3240147488), // SRSHL_VG4_4Z4Z_B
5441 UINT64_C(3252730400), // SRSHL_VG4_4Z4Z_D
5442 UINT64_C(3244341792), // SRSHL_VG4_4Z4Z_H
5443 UINT64_C(3248536096), // SRSHL_VG4_4Z4Z_S
5444 UINT64_C(3240143392), // SRSHL_VG4_4ZZ_B
5445 UINT64_C(3252726304), // SRSHL_VG4_4ZZ_D
5446 UINT64_C(3244337696), // SRSHL_VG4_4ZZ_H
5447 UINT64_C(3248532000), // SRSHL_VG4_4ZZ_S
5448 UINT64_C(1141014528), // SRSHL_ZPmZ_B
5449 UINT64_C(1153597440), // SRSHL_ZPmZ_D
5450 UINT64_C(1145208832), // SRSHL_ZPmZ_H
5451 UINT64_C(1149403136), // SRSHL_ZPmZ_S
5452 UINT64_C(1310741504), // SRSHLv16i8
5453 UINT64_C(1591759872), // SRSHLv1i64
5454 UINT64_C(245388288), // SRSHLv2i32
5455 UINT64_C(1323324416), // SRSHLv2i64
5456 UINT64_C(241193984), // SRSHLv4i16
5457 UINT64_C(1319130112), // SRSHLv4i32
5458 UINT64_C(1314935808), // SRSHLv8i16
5459 UINT64_C(236999680), // SRSHLv8i8
5460 UINT64_C(67928320), // SRSHR_ZPmI_B
5461 UINT64_C(76316672), // SRSHR_ZPmI_D
5462 UINT64_C(67928576), // SRSHR_ZPmI_H
5463 UINT64_C(72122368), // SRSHR_ZPmI_S
5464 UINT64_C(1598039040), // SRSHRd
5465 UINT64_C(1325933568), // SRSHRv16i8_shift
5466 UINT64_C(253764608), // SRSHRv2i32_shift
5467 UINT64_C(1329603584), // SRSHRv2i64_shift
5468 UINT64_C(252716032), // SRSHRv4i16_shift
5469 UINT64_C(1327506432), // SRSHRv4i32_shift
5470 UINT64_C(1326457856), // SRSHRv8i16_shift
5471 UINT64_C(252191744), // SRSHRv8i8_shift
5472 UINT64_C(1158211584), // SRSRA_ZZI_B
5473 UINT64_C(1166075904), // SRSRA_ZZI_D
5474 UINT64_C(1158735872), // SRSRA_ZZI_H
5475 UINT64_C(1161881600), // SRSRA_ZZI_S
5476 UINT64_C(1598043136), // SRSRAd
5477 UINT64_C(1325937664), // SRSRAv16i8_shift
5478 UINT64_C(253768704), // SRSRAv2i32_shift
5479 UINT64_C(1329607680), // SRSRAv2i64_shift
5480 UINT64_C(252720128), // SRSRAv4i16_shift
5481 UINT64_C(1327510528), // SRSRAv4i32_shift
5482 UINT64_C(1326461952), // SRSRAv8i16_shift
5483 UINT64_C(252195840), // SRSRAv8i8_shift
5484 UINT64_C(1161863168), // SSHLLB_ZZI_D
5485 UINT64_C(1158193152), // SSHLLB_ZZI_H
5486 UINT64_C(1158717440), // SSHLLB_ZZI_S
5487 UINT64_C(1161864192), // SSHLLT_ZZI_D
5488 UINT64_C(1158194176), // SSHLLT_ZZI_H
5489 UINT64_C(1158718464), // SSHLLT_ZZI_S
5490 UINT64_C(1325966336), // SSHLLv16i8_shift
5491 UINT64_C(253797376), // SSHLLv2i32_shift
5492 UINT64_C(252748800), // SSHLLv4i16_shift
5493 UINT64_C(1327539200), // SSHLLv4i32_shift
5494 UINT64_C(1326490624), // SSHLLv8i16_shift
5495 UINT64_C(252224512), // SSHLLv8i8_shift
5496 UINT64_C(1310737408), // SSHLv16i8
5497 UINT64_C(1591755776), // SSHLv1i64
5498 UINT64_C(245384192), // SSHLv2i32
5499 UINT64_C(1323320320), // SSHLv2i64
5500 UINT64_C(241189888), // SSHLv4i16
5501 UINT64_C(1319126016), // SSHLv4i32
5502 UINT64_C(1314931712), // SSHLv8i16
5503 UINT64_C(236995584), // SSHLv8i8
5504 UINT64_C(1598030848), // SSHRd
5505 UINT64_C(1325925376), // SSHRv16i8_shift
5506 UINT64_C(253756416), // SSHRv2i32_shift
5507 UINT64_C(1329595392), // SSHRv2i64_shift
5508 UINT64_C(252707840), // SSHRv4i16_shift
5509 UINT64_C(1327498240), // SSHRv4i32_shift
5510 UINT64_C(1326449664), // SSHRv8i16_shift
5511 UINT64_C(252183552), // SSHRv8i8_shift
5512 UINT64_C(1158209536), // SSRA_ZZI_B
5513 UINT64_C(1166073856), // SSRA_ZZI_D
5514 UINT64_C(1158733824), // SSRA_ZZI_H
5515 UINT64_C(1161879552), // SSRA_ZZI_S
5516 UINT64_C(1598034944), // SSRAd
5517 UINT64_C(1325929472), // SSRAv16i8_shift
5518 UINT64_C(253760512), // SSRAv2i32_shift
5519 UINT64_C(1329599488), // SSRAv2i64_shift
5520 UINT64_C(252711936), // SSRAv4i16_shift
5521 UINT64_C(1327502336), // SSRAv4i32_shift
5522 UINT64_C(1326453760), // SSRAv8i16_shift
5523 UINT64_C(252187648), // SSRAv8i8_shift
5524 UINT64_C(3825246208), // SST1B_D
5525 UINT64_C(3829440512), // SST1B_D_IMM
5526 UINT64_C(3825254400), // SST1B_D_SXTW
5527 UINT64_C(3825238016), // SST1B_D_UXTW
5528 UINT64_C(3831537664), // SST1B_S_IMM
5529 UINT64_C(3829448704), // SST1B_S_SXTW
5530 UINT64_C(3829432320), // SST1B_S_UXTW
5531 UINT64_C(3850412032), // SST1D
5532 UINT64_C(3854606336), // SST1D_IMM
5533 UINT64_C(3852509184), // SST1D_SCALED
5534 UINT64_C(3850420224), // SST1D_SXTW
5535 UINT64_C(3852517376), // SST1D_SXTW_SCALED
5536 UINT64_C(3850403840), // SST1D_UXTW
5537 UINT64_C(3852500992), // SST1D_UXTW_SCALED
5538 UINT64_C(3833634816), // SST1H_D
5539 UINT64_C(3837829120), // SST1H_D_IMM
5540 UINT64_C(3835731968), // SST1H_D_SCALED
5541 UINT64_C(3833643008), // SST1H_D_SXTW
5542 UINT64_C(3835740160), // SST1H_D_SXTW_SCALED
5543 UINT64_C(3833626624), // SST1H_D_UXTW
5544 UINT64_C(3835723776), // SST1H_D_UXTW_SCALED
5545 UINT64_C(3839926272), // SST1H_S_IMM
5546 UINT64_C(3837837312), // SST1H_S_SXTW
5547 UINT64_C(3839934464), // SST1H_S_SXTW_SCALED
5548 UINT64_C(3837820928), // SST1H_S_UXTW
5549 UINT64_C(3839918080), // SST1H_S_UXTW_SCALED
5550 UINT64_C(3827310592), // SST1Q
5551 UINT64_C(3842023424), // SST1W_D
5552 UINT64_C(3846217728), // SST1W_D_IMM
5553 UINT64_C(3844120576), // SST1W_D_SCALED
5554 UINT64_C(3842031616), // SST1W_D_SXTW
5555 UINT64_C(3844128768), // SST1W_D_SXTW_SCALED
5556 UINT64_C(3842015232), // SST1W_D_UXTW
5557 UINT64_C(3844112384), // SST1W_D_UXTW_SCALED
5558 UINT64_C(3848314880), // SST1W_IMM
5559 UINT64_C(3846225920), // SST1W_SXTW
5560 UINT64_C(3848323072), // SST1W_SXTW_SCALED
5561 UINT64_C(3846209536), // SST1W_UXTW
5562 UINT64_C(3848306688), // SST1W_UXTW_SCALED
5563 UINT64_C(1170245632), // SSUBLBT_ZZZ_D
5564 UINT64_C(1161857024), // SSUBLBT_ZZZ_H
5565 UINT64_C(1166051328), // SSUBLBT_ZZZ_S
5566 UINT64_C(1170214912), // SSUBLB_ZZZ_D
5567 UINT64_C(1161826304), // SSUBLB_ZZZ_H
5568 UINT64_C(1166020608), // SSUBLB_ZZZ_S
5569 UINT64_C(1170246656), // SSUBLTB_ZZZ_D
5570 UINT64_C(1161858048), // SSUBLTB_ZZZ_H
5571 UINT64_C(1166052352), // SSUBLTB_ZZZ_S
5572 UINT64_C(1170215936), // SSUBLT_ZZZ_D
5573 UINT64_C(1161827328), // SSUBLT_ZZZ_H
5574 UINT64_C(1166021632), // SSUBLT_ZZZ_S
5575 UINT64_C(1310728192), // SSUBLv16i8_v8i16
5576 UINT64_C(245374976), // SSUBLv2i32_v2i64
5577 UINT64_C(241180672), // SSUBLv4i16_v4i32
5578 UINT64_C(1319116800), // SSUBLv4i32_v2i64
5579 UINT64_C(1314922496), // SSUBLv8i16_v4i32
5580 UINT64_C(236986368), // SSUBLv8i8_v8i16
5581 UINT64_C(1170231296), // SSUBWB_ZZZ_D
5582 UINT64_C(1161842688), // SSUBWB_ZZZ_H
5583 UINT64_C(1166036992), // SSUBWB_ZZZ_S
5584 UINT64_C(1170232320), // SSUBWT_ZZZ_D
5585 UINT64_C(1161843712), // SSUBWT_ZZZ_H
5586 UINT64_C(1166038016), // SSUBWT_ZZZ_S
5587 UINT64_C(1310732288), // SSUBWv16i8_v8i16
5588 UINT64_C(245379072), // SSUBWv2i32_v2i64
5589 UINT64_C(241184768), // SSUBWv4i16_v4i32
5590 UINT64_C(1319120896), // SSUBWv4i32_v2i64
5591 UINT64_C(1314926592), // SSUBWv8i16_v4i32
5592 UINT64_C(236990464), // SSUBWv8i8_v8i16
5593 UINT64_C(3825221632), // ST1B
5594 UINT64_C(2686451712), // ST1B_2Z
5595 UINT64_C(2690646016), // ST1B_2Z_IMM
5596 UINT64_C(2703228928), // ST1B_2Z_STRIDED
5597 UINT64_C(2707423232), // ST1B_2Z_STRIDED_IMM
5598 UINT64_C(2686484480), // ST1B_4Z
5599 UINT64_C(2690678784), // ST1B_4Z_IMM
5600 UINT64_C(2703261696), // ST1B_4Z_STRIDED
5601 UINT64_C(2707456000), // ST1B_4Z_STRIDED_IMM
5602 UINT64_C(3831513088), // ST1B_D
5603 UINT64_C(3831554048), // ST1B_D_IMM
5604 UINT64_C(3827318784), // ST1B_H
5605 UINT64_C(3827359744), // ST1B_H_IMM
5606 UINT64_C(3825262592), // ST1B_IMM
5607 UINT64_C(3829415936), // ST1B_S
5608 UINT64_C(3829456896), // ST1B_S_IMM
5609 UINT64_C(3856678912), // ST1D
5610 UINT64_C(2686476288), // ST1D_2Z
5611 UINT64_C(2690670592), // ST1D_2Z_IMM
5612 UINT64_C(2703253504), // ST1D_2Z_STRIDED
5613 UINT64_C(2707447808), // ST1D_2Z_STRIDED_IMM
5614 UINT64_C(2686509056), // ST1D_4Z
5615 UINT64_C(2690703360), // ST1D_4Z_IMM
5616 UINT64_C(2703286272), // ST1D_4Z_STRIDED
5617 UINT64_C(2707480576), // ST1D_4Z_STRIDED_IMM
5618 UINT64_C(3856719872), // ST1D_IMM
5619 UINT64_C(3854581760), // ST1D_Q
5620 UINT64_C(3854622720), // ST1D_Q_IMM
5621 UINT64_C(1275076608), // ST1Fourv16b
5622 UINT64_C(1283465216), // ST1Fourv16b_POST
5623 UINT64_C(201337856), // ST1Fourv1d
5624 UINT64_C(209726464), // ST1Fourv1d_POST
5625 UINT64_C(1275079680), // ST1Fourv2d
5626 UINT64_C(1283468288), // ST1Fourv2d_POST
5627 UINT64_C(201336832), // ST1Fourv2s
5628 UINT64_C(209725440), // ST1Fourv2s_POST
5629 UINT64_C(201335808), // ST1Fourv4h
5630 UINT64_C(209724416), // ST1Fourv4h_POST
5631 UINT64_C(1275078656), // ST1Fourv4s
5632 UINT64_C(1283467264), // ST1Fourv4s_POST
5633 UINT64_C(201334784), // ST1Fourv8b
5634 UINT64_C(209723392), // ST1Fourv8b_POST
5635 UINT64_C(1275077632), // ST1Fourv8h
5636 UINT64_C(1283466240), // ST1Fourv8h_POST
5637 UINT64_C(3835707392), // ST1H
5638 UINT64_C(2686459904), // ST1H_2Z
5639 UINT64_C(2690654208), // ST1H_2Z_IMM
5640 UINT64_C(2703237120), // ST1H_2Z_STRIDED
5641 UINT64_C(2707431424), // ST1H_2Z_STRIDED_IMM
5642 UINT64_C(2686492672), // ST1H_4Z
5643 UINT64_C(2690686976), // ST1H_4Z_IMM
5644 UINT64_C(2703269888), // ST1H_4Z_STRIDED
5645 UINT64_C(2707464192), // ST1H_4Z_STRIDED_IMM
5646 UINT64_C(3839901696), // ST1H_D
5647 UINT64_C(3839942656), // ST1H_D_IMM
5648 UINT64_C(3835748352), // ST1H_IMM
5649 UINT64_C(3837804544), // ST1H_S
5650 UINT64_C(3837845504), // ST1H_S_IMM
5651 UINT64_C(1275097088), // ST1Onev16b
5652 UINT64_C(1283485696), // ST1Onev16b_POST
5653 UINT64_C(201358336), // ST1Onev1d
5654 UINT64_C(209746944), // ST1Onev1d_POST
5655 UINT64_C(1275100160), // ST1Onev2d
5656 UINT64_C(1283488768), // ST1Onev2d_POST
5657 UINT64_C(201357312), // ST1Onev2s
5658 UINT64_C(209745920), // ST1Onev2s_POST
5659 UINT64_C(201356288), // ST1Onev4h
5660 UINT64_C(209744896), // ST1Onev4h_POST
5661 UINT64_C(1275099136), // ST1Onev4s
5662 UINT64_C(1283487744), // ST1Onev4s_POST
5663 UINT64_C(201355264), // ST1Onev8b
5664 UINT64_C(209743872), // ST1Onev8b_POST
5665 UINT64_C(1275098112), // ST1Onev8h
5666 UINT64_C(1283486720), // ST1Onev8h_POST
5667 UINT64_C(1275092992), // ST1Threev16b
5668 UINT64_C(1283481600), // ST1Threev16b_POST
5669 UINT64_C(201354240), // ST1Threev1d
5670 UINT64_C(209742848), // ST1Threev1d_POST
5671 UINT64_C(1275096064), // ST1Threev2d
5672 UINT64_C(1283484672), // ST1Threev2d_POST
5673 UINT64_C(201353216), // ST1Threev2s
5674 UINT64_C(209741824), // ST1Threev2s_POST
5675 UINT64_C(201352192), // ST1Threev4h
5676 UINT64_C(209740800), // ST1Threev4h_POST
5677 UINT64_C(1275095040), // ST1Threev4s
5678 UINT64_C(1283483648), // ST1Threev4s_POST
5679 UINT64_C(201351168), // ST1Threev8b
5680 UINT64_C(209739776), // ST1Threev8b_POST
5681 UINT64_C(1275094016), // ST1Threev8h
5682 UINT64_C(1283482624), // ST1Threev8h_POST
5683 UINT64_C(1275109376), // ST1Twov16b
5684 UINT64_C(1283497984), // ST1Twov16b_POST
5685 UINT64_C(201370624), // ST1Twov1d
5686 UINT64_C(209759232), // ST1Twov1d_POST
5687 UINT64_C(1275112448), // ST1Twov2d
5688 UINT64_C(1283501056), // ST1Twov2d_POST
5689 UINT64_C(201369600), // ST1Twov2s
5690 UINT64_C(209758208), // ST1Twov2s_POST
5691 UINT64_C(201368576), // ST1Twov4h
5692 UINT64_C(209757184), // ST1Twov4h_POST
5693 UINT64_C(1275111424), // ST1Twov4s
5694 UINT64_C(1283500032), // ST1Twov4s_POST
5695 UINT64_C(201367552), // ST1Twov8b
5696 UINT64_C(209756160), // ST1Twov8b_POST
5697 UINT64_C(1275110400), // ST1Twov8h
5698 UINT64_C(1283499008), // ST1Twov8h_POST
5699 UINT64_C(3846193152), // ST1W
5700 UINT64_C(2686468096), // ST1W_2Z
5701 UINT64_C(2690662400), // ST1W_2Z_IMM
5702 UINT64_C(2703245312), // ST1W_2Z_STRIDED
5703 UINT64_C(2707439616), // ST1W_2Z_STRIDED_IMM
5704 UINT64_C(2686500864), // ST1W_4Z
5705 UINT64_C(2690695168), // ST1W_4Z_IMM
5706 UINT64_C(2703278080), // ST1W_4Z_STRIDED
5707 UINT64_C(2707472384), // ST1W_4Z_STRIDED_IMM
5708 UINT64_C(3848290304), // ST1W_D
5709 UINT64_C(3848331264), // ST1W_D_IMM
5710 UINT64_C(3846234112), // ST1W_IMM
5711 UINT64_C(3841998848), // ST1W_Q
5712 UINT64_C(3842039808), // ST1W_Q_IMM
5713 UINT64_C(3760193536), // ST1_MXIPXX_H_B
5714 UINT64_C(3772776448), // ST1_MXIPXX_H_D
5715 UINT64_C(3764387840), // ST1_MXIPXX_H_H
5716 UINT64_C(3789553664), // ST1_MXIPXX_H_Q
5717 UINT64_C(3768582144), // ST1_MXIPXX_H_S
5718 UINT64_C(3760226304), // ST1_MXIPXX_V_B
5719 UINT64_C(3772809216), // ST1_MXIPXX_V_D
5720 UINT64_C(3764420608), // ST1_MXIPXX_V_H
5721 UINT64_C(3789586432), // ST1_MXIPXX_V_Q
5722 UINT64_C(3768614912), // ST1_MXIPXX_V_S
5723 UINT64_C(218120192), // ST1i16
5724 UINT64_C(226508800), // ST1i16_POST
5725 UINT64_C(218136576), // ST1i32
5726 UINT64_C(226525184), // ST1i32_POST
5727 UINT64_C(218137600), // ST1i64
5728 UINT64_C(226526208), // ST1i64_POST
5729 UINT64_C(218103808), // ST1i8
5730 UINT64_C(226492416), // ST1i8_POST
5731 UINT64_C(3827326976), // ST2B
5732 UINT64_C(3828408320), // ST2B_IMM
5733 UINT64_C(3852492800), // ST2D
5734 UINT64_C(3853574144), // ST2D_IMM
5735 UINT64_C(3651142656), // ST2GPostIndex
5736 UINT64_C(3651144704), // ST2GPreIndex
5737 UINT64_C(3651143680), // ST2Gi
5738 UINT64_C(3835715584), // ST2H
5739 UINT64_C(3836796928), // ST2H_IMM
5740 UINT64_C(3831496704), // ST2Q
5741 UINT64_C(3829399552), // ST2Q_IMM
5742 UINT64_C(1275101184), // ST2Twov16b
5743 UINT64_C(1283489792), // ST2Twov16b_POST
5744 UINT64_C(1275104256), // ST2Twov2d
5745 UINT64_C(1283492864), // ST2Twov2d_POST
5746 UINT64_C(201361408), // ST2Twov2s
5747 UINT64_C(209750016), // ST2Twov2s_POST
5748 UINT64_C(201360384), // ST2Twov4h
5749 UINT64_C(209748992), // ST2Twov4h_POST
5750 UINT64_C(1275103232), // ST2Twov4s
5751 UINT64_C(1283491840), // ST2Twov4s_POST
5752 UINT64_C(201359360), // ST2Twov8b
5753 UINT64_C(209747968), // ST2Twov8b_POST
5754 UINT64_C(1275102208), // ST2Twov8h
5755 UINT64_C(1283490816), // ST2Twov8h_POST
5756 UINT64_C(3844104192), // ST2W
5757 UINT64_C(3845185536), // ST2W_IMM
5758 UINT64_C(220217344), // ST2i16
5759 UINT64_C(228605952), // ST2i16_POST
5760 UINT64_C(220233728), // ST2i32
5761 UINT64_C(228622336), // ST2i32_POST
5762 UINT64_C(220234752), // ST2i64
5763 UINT64_C(228623360), // ST2i64_POST
5764 UINT64_C(220200960), // ST2i8
5765 UINT64_C(228589568), // ST2i8_POST
5766 UINT64_C(3829424128), // ST3B
5767 UINT64_C(3830505472), // ST3B_IMM
5768 UINT64_C(3854589952), // ST3D
5769 UINT64_C(3855671296), // ST3D_IMM
5770 UINT64_C(3837812736), // ST3H
5771 UINT64_C(3838894080), // ST3H_IMM
5772 UINT64_C(3835691008), // ST3Q
5773 UINT64_C(3833593856), // ST3Q_IMM
5774 UINT64_C(1275084800), // ST3Threev16b
5775 UINT64_C(1283473408), // ST3Threev16b_POST
5776 UINT64_C(1275087872), // ST3Threev2d
5777 UINT64_C(1283476480), // ST3Threev2d_POST
5778 UINT64_C(201345024), // ST3Threev2s
5779 UINT64_C(209733632), // ST3Threev2s_POST
5780 UINT64_C(201344000), // ST3Threev4h
5781 UINT64_C(209732608), // ST3Threev4h_POST
5782 UINT64_C(1275086848), // ST3Threev4s
5783 UINT64_C(1283475456), // ST3Threev4s_POST
5784 UINT64_C(201342976), // ST3Threev8b
5785 UINT64_C(209731584), // ST3Threev8b_POST
5786 UINT64_C(1275085824), // ST3Threev8h
5787 UINT64_C(1283474432), // ST3Threev8h_POST
5788 UINT64_C(3846201344), // ST3W
5789 UINT64_C(3847282688), // ST3W_IMM
5790 UINT64_C(218128384), // ST3i16
5791 UINT64_C(226516992), // ST3i16_POST
5792 UINT64_C(218144768), // ST3i32
5793 UINT64_C(226533376), // ST3i32_POST
5794 UINT64_C(218145792), // ST3i64
5795 UINT64_C(226534400), // ST3i64_POST
5796 UINT64_C(218112000), // ST3i8
5797 UINT64_C(226500608), // ST3i8_POST
5798 UINT64_C(3831521280), // ST4B
5799 UINT64_C(3832602624), // ST4B_IMM
5800 UINT64_C(3856687104), // ST4D
5801 UINT64_C(3857768448), // ST4D_IMM
5802 UINT64_C(1275068416), // ST4Fourv16b
5803 UINT64_C(1283457024), // ST4Fourv16b_POST
5804 UINT64_C(1275071488), // ST4Fourv2d
5805 UINT64_C(1283460096), // ST4Fourv2d_POST
5806 UINT64_C(201328640), // ST4Fourv2s
5807 UINT64_C(209717248), // ST4Fourv2s_POST
5808 UINT64_C(201327616), // ST4Fourv4h
5809 UINT64_C(209716224), // ST4Fourv4h_POST
5810 UINT64_C(1275070464), // ST4Fourv4s
5811 UINT64_C(1283459072), // ST4Fourv4s_POST
5812 UINT64_C(201326592), // ST4Fourv8b
5813 UINT64_C(209715200), // ST4Fourv8b_POST
5814 UINT64_C(1275069440), // ST4Fourv8h
5815 UINT64_C(1283458048), // ST4Fourv8h_POST
5816 UINT64_C(3839909888), // ST4H
5817 UINT64_C(3840991232), // ST4H_IMM
5818 UINT64_C(3839885312), // ST4Q
5819 UINT64_C(3837788160), // ST4Q_IMM
5820 UINT64_C(3848298496), // ST4W
5821 UINT64_C(3849379840), // ST4W_IMM
5822 UINT64_C(220225536), // ST4i16
5823 UINT64_C(228614144), // ST4i16_POST
5824 UINT64_C(220241920), // ST4i32
5825 UINT64_C(228630528), // ST4i32_POST
5826 UINT64_C(220242944), // ST4i64
5827 UINT64_C(228631552), // ST4i64_POST
5828 UINT64_C(220209152), // ST4i8
5829 UINT64_C(228597760), // ST4i8_POST
5830 UINT64_C(4164915200), // ST64B
5831 UINT64_C(4162891776), // ST64BV
5832 UINT64_C(4162887680), // ST64BV0
5833 UINT64_C(1008762911), // STBFADD
5834 UINT64_C(1012957215), // STBFADDL
5835 UINT64_C(1008779295), // STBFMAX
5836 UINT64_C(1012973599), // STBFMAXL
5837 UINT64_C(1008787487), // STBFMAXNM
5838 UINT64_C(1012981791), // STBFMAXNML
5839 UINT64_C(1008783391), // STBFMIN
5840 UINT64_C(1012977695), // STBFMINL
5841 UINT64_C(1008791583), // STBFMINNM
5842 UINT64_C(1012985887), // STBFMINNML
5843 UINT64_C(4229988383), // STFADDD
5844 UINT64_C(2082504735), // STFADDH
5845 UINT64_C(4234182687), // STFADDLD
5846 UINT64_C(2086699039), // STFADDLH
5847 UINT64_C(3160440863), // STFADDLS
5848 UINT64_C(3156246559), // STFADDS
5849 UINT64_C(4230004767), // STFMAXD
5850 UINT64_C(2082521119), // STFMAXH
5851 UINT64_C(4234199071), // STFMAXLD
5852 UINT64_C(2086715423), // STFMAXLH
5853 UINT64_C(3160457247), // STFMAXLS
5854 UINT64_C(4230012959), // STFMAXNMD
5855 UINT64_C(2082529311), // STFMAXNMH
5856 UINT64_C(4234207263), // STFMAXNMLD
5857 UINT64_C(2086723615), // STFMAXNMLH
5858 UINT64_C(3160465439), // STFMAXNMLS
5859 UINT64_C(3156271135), // STFMAXNMS
5860 UINT64_C(3156262943), // STFMAXS
5861 UINT64_C(4230008863), // STFMIND
5862 UINT64_C(2082525215), // STFMINH
5863 UINT64_C(4234203167), // STFMINLD
5864 UINT64_C(2086719519), // STFMINLH
5865 UINT64_C(3160461343), // STFMINLS
5866 UINT64_C(4230017055), // STFMINNMD
5867 UINT64_C(2082533407), // STFMINNMH
5868 UINT64_C(4234211359), // STFMINNMLD
5869 UINT64_C(2086727711), // STFMINNMLH
5870 UINT64_C(3160469535), // STFMINNMLS
5871 UINT64_C(3156275231), // STFMINNMS
5872 UINT64_C(3156267039), // STFMINS
5873 UINT64_C(3651141632), // STGM
5874 UINT64_C(1761607680), // STGPi
5875 UINT64_C(3642754048), // STGPostIndex
5876 UINT64_C(1753219072), // STGPpost
5877 UINT64_C(1769996288), // STGPpre
5878 UINT64_C(3642756096), // STGPreIndex
5879 UINT64_C(3642755072), // STGi
5880 UINT64_C(2566920192), // STILPW
5881 UINT64_C(2566916096), // STILPWpre
5882 UINT64_C(3640662016), // STILPX
5883 UINT64_C(3640657920), // STILPXpre
5884 UINT64_C(218203136), // STL1
5885 UINT64_C(4169109504), // STL64B
5886 UINT64_C(4167086080), // STL64BV
5887 UINT64_C(4167081984), // STL64BV0
5888 UINT64_C(144669696), // STLLRB
5889 UINT64_C(1218411520), // STLLRH
5890 UINT64_C(2292153344), // STLLRW
5891 UINT64_C(3365895168), // STLLRX
5892 UINT64_C(3640678400), // STLPi
5893 UINT64_C(144702464), // STLRB
5894 UINT64_C(1218444288), // STLRH
5895 UINT64_C(3854565376), // STLRO_ZXI
5896 UINT64_C(2292186112), // STLRW
5897 UINT64_C(2575304704), // STLRWpre
5898 UINT64_C(3365927936), // STLRX
5899 UINT64_C(3649046528), // STLRXpre
5900 UINT64_C(2298543104), // STLTXRW
5901 UINT64_C(3372284928), // STLTXRX
5902 UINT64_C(419430400), // STLURBi
5903 UINT64_C(1493172224), // STLURHi
5904 UINT64_C(2566914048), // STLURWi
5905 UINT64_C(3640655872), // STLURXi
5906 UINT64_C(486541312), // STLURbi
5907 UINT64_C(3707766784), // STLURdi
5908 UINT64_C(1560283136), // STLURhi
5909 UINT64_C(494929920), // STLURqi
5910 UINT64_C(2634024960), // STLURsi
5911 UINT64_C(2283831296), // STLXPW
5912 UINT64_C(3357573120), // STLXPX
5913 UINT64_C(134282240), // STLXRB
5914 UINT64_C(1208024064), // STLXRH
5915 UINT64_C(2281765888), // STLXRW
5916 UINT64_C(3355507712), // STLXRX
5917 UINT64_C(2151710720), // STMOPA_M2ZZZI_BtoS
5918 UINT64_C(2151710728), // STMOPA_M2ZZZI_HtoS
5919 UINT64_C(1811939328), // STNPDi
5920 UINT64_C(2885681152), // STNPQi
5921 UINT64_C(738197504), // STNPSi
5922 UINT64_C(671088640), // STNPWi
5923 UINT64_C(2818572288), // STNPXi
5924 UINT64_C(2686451713), // STNT1B_2Z
5925 UINT64_C(2690646017), // STNT1B_2Z_IMM
5926 UINT64_C(2703228936), // STNT1B_2Z_STRIDED
5927 UINT64_C(2707423240), // STNT1B_2Z_STRIDED_IMM
5928 UINT64_C(2686484481), // STNT1B_4Z
5929 UINT64_C(2690678785), // STNT1B_4Z_IMM
5930 UINT64_C(2703261704), // STNT1B_4Z_STRIDED
5931 UINT64_C(2707456008), // STNT1B_4Z_STRIDED_IMM
5932 UINT64_C(3826311168), // STNT1B_ZRI
5933 UINT64_C(3825229824), // STNT1B_ZRR
5934 UINT64_C(3825213440), // STNT1B_ZZR_D
5935 UINT64_C(3829407744), // STNT1B_ZZR_S
5936 UINT64_C(2686476289), // STNT1D_2Z
5937 UINT64_C(2690670593), // STNT1D_2Z_IMM
5938 UINT64_C(2703253512), // STNT1D_2Z_STRIDED
5939 UINT64_C(2707447816), // STNT1D_2Z_STRIDED_IMM
5940 UINT64_C(2686509057), // STNT1D_4Z
5941 UINT64_C(2690703361), // STNT1D_4Z_IMM
5942 UINT64_C(2703286280), // STNT1D_4Z_STRIDED
5943 UINT64_C(2707480584), // STNT1D_4Z_STRIDED_IMM
5944 UINT64_C(3851476992), // STNT1D_ZRI
5945 UINT64_C(3850395648), // STNT1D_ZRR
5946 UINT64_C(3850379264), // STNT1D_ZZR_D
5947 UINT64_C(2686459905), // STNT1H_2Z
5948 UINT64_C(2690654209), // STNT1H_2Z_IMM
5949 UINT64_C(2703237128), // STNT1H_2Z_STRIDED
5950 UINT64_C(2707431432), // STNT1H_2Z_STRIDED_IMM
5951 UINT64_C(2686492673), // STNT1H_4Z
5952 UINT64_C(2690686977), // STNT1H_4Z_IMM
5953 UINT64_C(2703269896), // STNT1H_4Z_STRIDED
5954 UINT64_C(2707464200), // STNT1H_4Z_STRIDED_IMM
5955 UINT64_C(3834699776), // STNT1H_ZRI
5956 UINT64_C(3833618432), // STNT1H_ZRR
5957 UINT64_C(3833602048), // STNT1H_ZZR_D
5958 UINT64_C(3837796352), // STNT1H_ZZR_S
5959 UINT64_C(2686468097), // STNT1W_2Z
5960 UINT64_C(2690662401), // STNT1W_2Z_IMM
5961 UINT64_C(2703245320), // STNT1W_2Z_STRIDED
5962 UINT64_C(2707439624), // STNT1W_2Z_STRIDED_IMM
5963 UINT64_C(2686500865), // STNT1W_4Z
5964 UINT64_C(2690695169), // STNT1W_4Z_IMM
5965 UINT64_C(2703278088), // STNT1W_4Z_STRIDED
5966 UINT64_C(2707472392), // STNT1W_4Z_STRIDED_IMM
5967 UINT64_C(3843088384), // STNT1W_ZRI
5968 UINT64_C(3842007040), // STNT1W_ZRR
5969 UINT64_C(3841990656), // STNT1W_ZZR_D
5970 UINT64_C(3846184960), // STNT1W_ZZR_S
5971 UINT64_C(1828716544), // STPDi
5972 UINT64_C(1820327936), // STPDpost
5973 UINT64_C(1837105152), // STPDpre
5974 UINT64_C(2902458368), // STPQi
5975 UINT64_C(2894069760), // STPQpost
5976 UINT64_C(2910846976), // STPQpre
5977 UINT64_C(754974720), // STPSi
5978 UINT64_C(746586112), // STPSpost
5979 UINT64_C(763363328), // STPSpre
5980 UINT64_C(687865856), // STPWi
5981 UINT64_C(679477248), // STPWpost
5982 UINT64_C(696254464), // STPWpre
5983 UINT64_C(2835349504), // STPXi
5984 UINT64_C(2826960896), // STPXpost
5985 UINT64_C(2843738112), // STPXpre
5986 UINT64_C(939525120), // STRBBpost
5987 UINT64_C(939527168), // STRBBpre
5988 UINT64_C(941639680), // STRBBroW
5989 UINT64_C(941647872), // STRBBroX
5990 UINT64_C(956301312), // STRBBui
5991 UINT64_C(1006633984), // STRBpost
5992 UINT64_C(1006636032), // STRBpre
5993 UINT64_C(1008748544), // STRBroW
5994 UINT64_C(1008756736), // STRBroX
5995 UINT64_C(1023410176), // STRBui
5996 UINT64_C(4227859456), // STRDpost
5997 UINT64_C(4227861504), // STRDpre
5998 UINT64_C(4229974016), // STRDroW
5999 UINT64_C(4229982208), // STRDroX
6000 UINT64_C(4244635648), // STRDui
6001 UINT64_C(2013266944), // STRHHpost
6002 UINT64_C(2013268992), // STRHHpre
6003 UINT64_C(2015381504), // STRHHroW
6004 UINT64_C(2015389696), // STRHHroX
6005 UINT64_C(2030043136), // STRHHui
6006 UINT64_C(2080375808), // STRHpost
6007 UINT64_C(2080377856), // STRHpre
6008 UINT64_C(2082490368), // STRHroW
6009 UINT64_C(2082498560), // STRHroX
6010 UINT64_C(2097152000), // STRHui
6011 UINT64_C(1015022592), // STRQpost
6012 UINT64_C(1015024640), // STRQpre
6013 UINT64_C(1017137152), // STRQroW
6014 UINT64_C(1017145344), // STRQroX
6015 UINT64_C(1031798784), // STRQui
6016 UINT64_C(3154117632), // STRSpost
6017 UINT64_C(3154119680), // STRSpre
6018 UINT64_C(3156232192), // STRSroW
6019 UINT64_C(3156240384), // STRSroX
6020 UINT64_C(3170893824), // STRSui
6021 UINT64_C(3087008768), // STRWpost
6022 UINT64_C(3087010816), // STRWpre
6023 UINT64_C(3089123328), // STRWroW
6024 UINT64_C(3089131520), // STRWroX
6025 UINT64_C(3103784960), // STRWui
6026 UINT64_C(4160750592), // STRXpost
6027 UINT64_C(4160752640), // STRXpre
6028 UINT64_C(4162865152), // STRXroW
6029 UINT64_C(4162873344), // STRXroX
6030 UINT64_C(4177526784), // STRXui
6031 UINT64_C(3850371072), // STR_PXI
6032 UINT64_C(3779035136), // STR_TX
6033 UINT64_C(3776970752), // STR_ZA
6034 UINT64_C(3850387456), // STR_ZXI
6035 UINT64_C(3959422976), // STTNPQi
6036 UINT64_C(3892314112), // STTNPXi
6037 UINT64_C(3976200192), // STTPQi
6038 UINT64_C(3967811584), // STTPQpost
6039 UINT64_C(3984588800), // STTPQpre
6040 UINT64_C(3909091328), // STTPi
6041 UINT64_C(3900702720), // STTPpost
6042 UINT64_C(3917479936), // STTPpre
6043 UINT64_C(939526144), // STTRBi
6044 UINT64_C(2013267968), // STTRHi
6045 UINT64_C(3087009792), // STTRWi
6046 UINT64_C(4160751616), // STTRXi
6047 UINT64_C(2298510336), // STTXRWr
6048 UINT64_C(3372252160), // STTXRXr
6049 UINT64_C(939524096), // STURBBi
6050 UINT64_C(1006632960), // STURBi
6051 UINT64_C(4227858432), // STURDi
6052 UINT64_C(2013265920), // STURHHi
6053 UINT64_C(2080374784), // STURHi
6054 UINT64_C(1015021568), // STURQi
6055 UINT64_C(3154116608), // STURSi
6056 UINT64_C(3087007744), // STURWi
6057 UINT64_C(4160749568), // STURXi
6058 UINT64_C(2283798528), // STXPW
6059 UINT64_C(3357540352), // STXPX
6060 UINT64_C(134249472), // STXRB
6061 UINT64_C(1207991296), // STXRH
6062 UINT64_C(2281733120), // STXRW
6063 UINT64_C(3355474944), // STXRX
6064 UINT64_C(3655336960), // STZ2GPostIndex
6065 UINT64_C(3655339008), // STZ2GPreIndex
6066 UINT64_C(3655337984), // STZ2Gi
6067 UINT64_C(3642753024), // STZGM
6068 UINT64_C(3646948352), // STZGPostIndex
6069 UINT64_C(3646950400), // STZGPreIndex
6070 UINT64_C(3646949376), // STZGi
6071 UINT64_C(3514826752), // SUBG
6072 UINT64_C(1163948032), // SUBHNB_ZZZ_B
6073 UINT64_C(1168142336), // SUBHNB_ZZZ_H
6074 UINT64_C(1172336640), // SUBHNB_ZZZ_S
6075 UINT64_C(1163949056), // SUBHNT_ZZZ_B
6076 UINT64_C(1168143360), // SUBHNT_ZZZ_H
6077 UINT64_C(1172337664), // SUBHNT_ZZZ_S
6078 UINT64_C(245391360), // SUBHNv2i64_v2i32
6079 UINT64_C(1319133184), // SUBHNv2i64_v4i32
6080 UINT64_C(241197056), // SUBHNv4i32_v4i16
6081 UINT64_C(1314938880), // SUBHNv4i32_v8i16
6082 UINT64_C(1310744576), // SUBHNv8i16_v16i8
6083 UINT64_C(237002752), // SUBHNv8i16_v8i8
6084 UINT64_C(2596274176), // SUBP
6085 UINT64_C(3133145088), // SUBPS
6086 UINT64_C(3657441280), // SUBPT_shift
6087 UINT64_C(1141940224), // SUBP_ZPmZZ_B
6088 UINT64_C(1154523136), // SUBP_ZPmZZ_D
6089 UINT64_C(1146134528), // SUBP_ZPmZZ_H
6090 UINT64_C(1150328832), // SUBP_ZPmZZ_S
6091 UINT64_C(623099904), // SUBR_ZI_B
6092 UINT64_C(635682816), // SUBR_ZI_D
6093 UINT64_C(627294208), // SUBR_ZI_H
6094 UINT64_C(631488512), // SUBR_ZI_S
6095 UINT64_C(67305472), // SUBR_ZPmZ_B
6096 UINT64_C(79888384), // SUBR_ZPmZ_D
6097 UINT64_C(71499776), // SUBR_ZPmZ_H
6098 UINT64_C(75694080), // SUBR_ZPmZ_S
6099 UINT64_C(1895825408), // SUBSWri
6100 UINT64_C(1795162112), // SUBSWrs
6101 UINT64_C(1797259264), // SUBSWrx
6102 UINT64_C(4043309056), // SUBSXri
6103 UINT64_C(3942645760), // SUBSXrs
6104 UINT64_C(3944742912), // SUBSXrx
6105 UINT64_C(3944767488), // SUBSXrx64
6106 UINT64_C(1358954496), // SUBWri
6107 UINT64_C(1258291200), // SUBWrs
6108 UINT64_C(1260388352), // SUBWrx
6109 UINT64_C(3506438144), // SUBXri
6110 UINT64_C(3405774848), // SUBXrs
6111 UINT64_C(3407872000), // SUBXrx
6112 UINT64_C(3407896576), // SUBXrx64
6113 UINT64_C(3252688920), // SUB_VG2_M2Z2Z_D
6114 UINT64_C(3248494616), // SUB_VG2_M2Z2Z_S
6115 UINT64_C(3244300312), // SUB_VG2_M2ZZ_D
6116 UINT64_C(3240106008), // SUB_VG2_M2ZZ_S
6117 UINT64_C(3252689944), // SUB_VG2_M2Z_D
6118 UINT64_C(3248495640), // SUB_VG2_M2Z_S
6119 UINT64_C(3252754456), // SUB_VG4_M4Z4Z_D
6120 UINT64_C(3248560152), // SUB_VG4_M4Z4Z_S
6121 UINT64_C(3245348888), // SUB_VG4_M4ZZ_D
6122 UINT64_C(3241154584), // SUB_VG4_M4ZZ_S
6123 UINT64_C(3252755480), // SUB_VG4_M4Z_D
6124 UINT64_C(3248561176), // SUB_VG4_M4Z_S
6125 UINT64_C(622968832), // SUB_ZI_B
6126 UINT64_C(635551744), // SUB_ZI_D
6127 UINT64_C(627163136), // SUB_ZI_H
6128 UINT64_C(631357440), // SUB_ZI_S
6129 UINT64_C(67174400), // SUB_ZPmZ_B
6130 UINT64_C(80019456), // SUB_ZPmZ_CPA
6131 UINT64_C(79757312), // SUB_ZPmZ_D
6132 UINT64_C(71368704), // SUB_ZPmZ_H
6133 UINT64_C(75563008), // SUB_ZPmZ_S
6134 UINT64_C(69207040), // SUB_ZZZ_B
6135 UINT64_C(81792000), // SUB_ZZZ_CPA
6136 UINT64_C(81789952), // SUB_ZZZ_D
6137 UINT64_C(73401344), // SUB_ZZZ_H
6138 UINT64_C(77595648), // SUB_ZZZ_S
6139 UINT64_C(1847624704), // SUBv16i8
6140 UINT64_C(2128643072), // SUBv1i64
6141 UINT64_C(782271488), // SUBv2i32
6142 UINT64_C(1860207616), // SUBv2i64
6143 UINT64_C(778077184), // SUBv4i16
6144 UINT64_C(1856013312), // SUBv4i32
6145 UINT64_C(1851819008), // SUBv8i16
6146 UINT64_C(773882880), // SUBv8i8
6147 UINT64_C(3243249720), // SUDOT_VG2_M2ZZI_BToS
6148 UINT64_C(3240104984), // SUDOT_VG2_M2ZZ_BToS
6149 UINT64_C(3243282488), // SUDOT_VG4_M4ZZI_BToS
6150 UINT64_C(3241153560), // SUDOT_VG4_M4ZZ_BToS
6151 UINT64_C(1151343616), // SUDOT_ZZZI
6152 UINT64_C(1325461504), // SUDOTlanev16i8
6153 UINT64_C(251719680), // SUDOTlanev8i8
6154 UINT64_C(3238002708), // SUMLALL_MZZI_BtoS
6155 UINT64_C(3239051312), // SUMLALL_VG2_M2ZZI_BtoS
6156 UINT64_C(3240099860), // SUMLALL_VG2_M2ZZ_BtoS
6157 UINT64_C(3239084080), // SUMLALL_VG4_M4ZZI_BtoS
6158 UINT64_C(3241148436), // SUMLALL_VG4_M4ZZ_BtoS
6159 UINT64_C(2150662656), // SUMOP4A_M2Z2Z_BToS
6160 UINT64_C(2700083720), // SUMOP4A_M2Z2Z_HtoD
6161 UINT64_C(2149614080), // SUMOP4A_M2ZZ_BToS
6162 UINT64_C(2699035144), // SUMOP4A_M2ZZ_HtoD
6163 UINT64_C(2150662144), // SUMOP4A_MZ2Z_BToS
6164 UINT64_C(2700083208), // SUMOP4A_MZ2Z_HtoD
6165 UINT64_C(2149613568), // SUMOP4A_MZZ_BToS
6166 UINT64_C(2699034632), // SUMOP4A_MZZ_HtoD
6167 UINT64_C(2150662672), // SUMOP4S_M2Z2Z_BToS
6168 UINT64_C(2700083736), // SUMOP4S_M2Z2Z_HtoD
6169 UINT64_C(2149614096), // SUMOP4S_M2ZZ_BToS
6170 UINT64_C(2699035160), // SUMOP4S_M2ZZ_HtoD
6171 UINT64_C(2150662160), // SUMOP4S_MZ2Z_BToS
6172 UINT64_C(2700083224), // SUMOP4S_MZ2Z_HtoD
6173 UINT64_C(2149613584), // SUMOP4S_MZZ_BToS
6174 UINT64_C(2699034648), // SUMOP4S_MZZ_HtoD
6175 UINT64_C(2699034624), // SUMOPA_MPPZZ_D
6176 UINT64_C(2694840320), // SUMOPA_MPPZZ_S
6177 UINT64_C(2699034640), // SUMOPS_MPPZZ_D
6178 UINT64_C(2694840336), // SUMOPS_MPPZZ_S
6179 UINT64_C(99694592), // SUNPKHI_ZZ_D
6180 UINT64_C(91305984), // SUNPKHI_ZZ_H
6181 UINT64_C(95500288), // SUNPKHI_ZZ_S
6182 UINT64_C(99629056), // SUNPKLO_ZZ_D
6183 UINT64_C(91240448), // SUNPKLO_ZZ_H
6184 UINT64_C(95434752), // SUNPKLO_ZZ_S
6185 UINT64_C(3253067776), // SUNPK_VG2_2ZZ_D
6186 UINT64_C(3244679168), // SUNPK_VG2_2ZZ_H
6187 UINT64_C(3248873472), // SUNPK_VG2_2ZZ_S
6188 UINT64_C(3254116352), // SUNPK_VG4_4Z2Z_D
6189 UINT64_C(3245727744), // SUNPK_VG4_4Z2Z_H
6190 UINT64_C(3249922048), // SUNPK_VG4_4Z2Z_S
6191 UINT64_C(1142718464), // SUQADD_ZPmZ_B
6192 UINT64_C(1155301376), // SUQADD_ZPmZ_D
6193 UINT64_C(1146912768), // SUQADD_ZPmZ_H
6194 UINT64_C(1151107072), // SUQADD_ZPmZ_S
6195 UINT64_C(1310734336), // SUQADDv16i8
6196 UINT64_C(1583364096), // SUQADDv1i16
6197 UINT64_C(1587558400), // SUQADDv1i32
6198 UINT64_C(1591752704), // SUQADDv1i64
6199 UINT64_C(1579169792), // SUQADDv1i8
6200 UINT64_C(245381120), // SUQADDv2i32
6201 UINT64_C(1323317248), // SUQADDv2i64
6202 UINT64_C(241186816), // SUQADDv4i16
6203 UINT64_C(1319122944), // SUQADDv4i32
6204 UINT64_C(1314928640), // SUQADDv8i16
6205 UINT64_C(236992512), // SUQADDv8i8
6206 UINT64_C(2153807872), // SUTMOPA_M2ZZZI_BtoS
6207 UINT64_C(3243278392), // SUVDOT_VG4_M4ZZI_BToS
6208 UINT64_C(3556769793), // SVC
6209 UINT64_C(3243245600), // SVDOT_VG2_M2ZZI_HtoS
6210 UINT64_C(3243278368), // SVDOT_VG4_M4ZZI_BtoS
6211 UINT64_C(3251669000), // SVDOT_VG4_M4ZZI_HtoD
6212 UINT64_C(950042624), // SWPAB
6213 UINT64_C(2023784448), // SWPAH
6214 UINT64_C(954236928), // SWPALB
6215 UINT64_C(2027978752), // SWPALH
6216 UINT64_C(3101720576), // SWPALW
6217 UINT64_C(4175462400), // SWPALX
6218 UINT64_C(3097526272), // SWPAW
6219 UINT64_C(4171268096), // SWPAX
6220 UINT64_C(941654016), // SWPB
6221 UINT64_C(2015395840), // SWPH
6222 UINT64_C(945848320), // SWPLB
6223 UINT64_C(2019590144), // SWPLH
6224 UINT64_C(3093331968), // SWPLW
6225 UINT64_C(4167073792), // SWPLX
6226 UINT64_C(421560320), // SWPP
6227 UINT64_C(429948928), // SWPPA
6228 UINT64_C(434143232), // SWPPAL
6229 UINT64_C(425754624), // SWPPL
6230 UINT64_C(434144256), // SWPTALW
6231 UINT64_C(1507886080), // SWPTALX
6232 UINT64_C(429949952), // SWPTAW
6233 UINT64_C(1503691776), // SWPTAX
6234 UINT64_C(425755648), // SWPTLW
6235 UINT64_C(1499497472), // SWPTLX
6236 UINT64_C(421561344), // SWPTW
6237 UINT64_C(1495303168), // SWPTX
6238 UINT64_C(3089137664), // SWPW
6239 UINT64_C(4162879488), // SWPX
6240 UINT64_C(80781312), // SXTB_ZPmZ_D
6241 UINT64_C(72392704), // SXTB_ZPmZ_H
6242 UINT64_C(76587008), // SXTB_ZPmZ_S
6243 UINT64_C(79732736), // SXTB_ZPzZ_D
6244 UINT64_C(71344128), // SXTB_ZPzZ_H
6245 UINT64_C(75538432), // SXTB_ZPzZ_S
6246 UINT64_C(80912384), // SXTH_ZPmZ_D
6247 UINT64_C(76718080), // SXTH_ZPmZ_S
6248 UINT64_C(79863808), // SXTH_ZPzZ_D
6249 UINT64_C(75669504), // SXTH_ZPzZ_S
6250 UINT64_C(81043456), // SXTW_ZPmZ_D
6251 UINT64_C(79994880), // SXTW_ZPzZ_D
6252 UINT64_C(3576168448), // SYSLxt
6253 UINT64_C(3578265600), // SYSPxt
6254 UINT64_C(3578265631), // SYSPxt_XZR
6255 UINT64_C(3574071296), // SYSxt
6256 UINT64_C(1140914176), // TBLQ_ZZZ_B
6257 UINT64_C(1153497088), // TBLQ_ZZZ_D
6258 UINT64_C(1145108480), // TBLQ_ZZZ_H
6259 UINT64_C(1149302784), // TBLQ_ZZZ_S
6260 UINT64_C(85993472), // TBL_ZZZZ_B
6261 UINT64_C(98576384), // TBL_ZZZZ_D
6262 UINT64_C(90187776), // TBL_ZZZZ_H
6263 UINT64_C(94382080), // TBL_ZZZZ_S
6264 UINT64_C(85995520), // TBL_ZZZ_B
6265 UINT64_C(98578432), // TBL_ZZZ_D
6266 UINT64_C(90189824), // TBL_ZZZ_H
6267 UINT64_C(94384128), // TBL_ZZZ_S
6268 UINT64_C(1308647424), // TBLv16i8Four
6269 UINT64_C(1308622848), // TBLv16i8One
6270 UINT64_C(1308639232), // TBLv16i8Three
6271 UINT64_C(1308631040), // TBLv16i8Two
6272 UINT64_C(234905600), // TBLv8i8Four
6273 UINT64_C(234881024), // TBLv8i8One
6274 UINT64_C(234897408), // TBLv8i8Three
6275 UINT64_C(234889216), // TBLv8i8Two
6276 UINT64_C(922746880), // TBNZW
6277 UINT64_C(3070230528), // TBNZX
6278 UINT64_C(85996544), // TBXQ_ZZZ_B
6279 UINT64_C(98579456), // TBXQ_ZZZ_D
6280 UINT64_C(90190848), // TBXQ_ZZZ_H
6281 UINT64_C(94385152), // TBXQ_ZZZ_S
6282 UINT64_C(85994496), // TBX_ZZZ_B
6283 UINT64_C(98577408), // TBX_ZZZ_D
6284 UINT64_C(90188800), // TBX_ZZZ_H
6285 UINT64_C(94383104), // TBX_ZZZ_S
6286 UINT64_C(1308651520), // TBXv16i8Four
6287 UINT64_C(1308626944), // TBXv16i8One
6288 UINT64_C(1308643328), // TBXv16i8Three
6289 UINT64_C(1308635136), // TBXv16i8Two
6290 UINT64_C(234909696), // TBXv8i8Four
6291 UINT64_C(234885120), // TBXv8i8One
6292 UINT64_C(234901504), // TBXv8i8Three
6293 UINT64_C(234893312), // TBXv8i8Two
6294 UINT64_C(905969664), // TBZW
6295 UINT64_C(3053453312), // TBZX
6296 UINT64_C(3583246336), // TCHANGEBri
6297 UINT64_C(3582197760), // TCHANGEBrr
6298 UINT64_C(3582984192), // TCHANGEFri
6299 UINT64_C(3581935616), // TCHANGEFrr
6300 UINT64_C(3571449856), // TENTER
6301 UINT64_C(3607036896), // TEXIT
6302 UINT64_C(1979712096), // TFLTNZ
6303 UINT64_C(1979712064), // TFLTZ
6304 UINT64_C(86003712), // TRN1_PPP_B
6305 UINT64_C(98586624), // TRN1_PPP_D
6306 UINT64_C(90198016), // TRN1_PPP_H
6307 UINT64_C(94392320), // TRN1_PPP_S
6308 UINT64_C(86011904), // TRN1_ZZZ_B
6309 UINT64_C(98594816), // TRN1_ZZZ_D
6310 UINT64_C(90206208), // TRN1_ZZZ_H
6311 UINT64_C(94377984), // TRN1_ZZZ_Q
6312 UINT64_C(94400512), // TRN1_ZZZ_S
6313 UINT64_C(1308633088), // TRN1v16i8
6314 UINT64_C(243279872), // TRN1v2i32
6315 UINT64_C(1321216000), // TRN1v2i64
6316 UINT64_C(239085568), // TRN1v4i16
6317 UINT64_C(1317021696), // TRN1v4i32
6318 UINT64_C(1312827392), // TRN1v8i16
6319 UINT64_C(234891264), // TRN1v8i8
6320 UINT64_C(86004736), // TRN2_PPP_B
6321 UINT64_C(98587648), // TRN2_PPP_D
6322 UINT64_C(90199040), // TRN2_PPP_H
6323 UINT64_C(94393344), // TRN2_PPP_S
6324 UINT64_C(86012928), // TRN2_ZZZ_B
6325 UINT64_C(98595840), // TRN2_ZZZ_D
6326 UINT64_C(90207232), // TRN2_ZZZ_H
6327 UINT64_C(94379008), // TRN2_ZZZ_Q
6328 UINT64_C(94401536), // TRN2_ZZZ_S
6329 UINT64_C(1308649472), // TRN2v16i8
6330 UINT64_C(243296256), // TRN2v2i32
6331 UINT64_C(1321232384), // TRN2v2i64
6332 UINT64_C(239101952), // TRN2v4i16
6333 UINT64_C(1317038080), // TRN2v4i32
6334 UINT64_C(1312843776), // TRN2v8i16
6335 UINT64_C(234907648), // TRN2v8i8
6336 UINT64_C(1170262016), // UABALB_ZZZ_D
6337 UINT64_C(1161873408), // UABALB_ZZZ_H
6338 UINT64_C(1166067712), // UABALB_ZZZ_S
6339 UINT64_C(1170263040), // UABALT_ZZZ_D
6340 UINT64_C(1161874432), // UABALT_ZZZ_H
6341 UINT64_C(1166068736), // UABALT_ZZZ_S
6342 UINT64_C(1145101312), // UABAL_ZZZ_BtoH
6343 UINT64_C(1149295616), // UABAL_ZZZ_HtoS
6344 UINT64_C(1153489920), // UABAL_ZZZ_StoD
6345 UINT64_C(1847611392), // UABALv16i8_v8i16
6346 UINT64_C(782258176), // UABALv2i32_v2i64
6347 UINT64_C(778063872), // UABALv4i16_v4i32
6348 UINT64_C(1856000000), // UABALv4i32_v2i64
6349 UINT64_C(1851805696), // UABALv8i16_v4i32
6350 UINT64_C(773869568), // UABALv8i8_v8i16
6351 UINT64_C(1157692416), // UABA_ZZZ_B
6352 UINT64_C(1170275328), // UABA_ZZZ_D
6353 UINT64_C(1161886720), // UABA_ZZZ_H
6354 UINT64_C(1166081024), // UABA_ZZZ_S
6355 UINT64_C(1847622656), // UABAv16i8
6356 UINT64_C(782269440), // UABAv2i32
6357 UINT64_C(778075136), // UABAv4i16
6358 UINT64_C(1856011264), // UABAv4i32
6359 UINT64_C(1851816960), // UABAv8i16
6360 UINT64_C(773880832), // UABAv8i8
6361 UINT64_C(1170225152), // UABDLB_ZZZ_D
6362 UINT64_C(1161836544), // UABDLB_ZZZ_H
6363 UINT64_C(1166030848), // UABDLB_ZZZ_S
6364 UINT64_C(1170226176), // UABDLT_ZZZ_D
6365 UINT64_C(1161837568), // UABDLT_ZZZ_H
6366 UINT64_C(1166031872), // UABDLT_ZZZ_S
6367 UINT64_C(1847619584), // UABDLv16i8_v8i16
6368 UINT64_C(782266368), // UABDLv2i32_v2i64
6369 UINT64_C(778072064), // UABDLv4i16_v4i32
6370 UINT64_C(1856008192), // UABDLv4i32_v2i64
6371 UINT64_C(1851813888), // UABDLv8i16_v4i32
6372 UINT64_C(773877760), // UABDLv8i8_v8i16
6373 UINT64_C(67960832), // UABD_ZPmZ_B
6374 UINT64_C(80543744), // UABD_ZPmZ_D
6375 UINT64_C(72155136), // UABD_ZPmZ_H
6376 UINT64_C(76349440), // UABD_ZPmZ_S
6377 UINT64_C(1847620608), // UABDv16i8
6378 UINT64_C(782267392), // UABDv2i32
6379 UINT64_C(778073088), // UABDv4i16
6380 UINT64_C(1856009216), // UABDv4i32
6381 UINT64_C(1851814912), // UABDv8i16
6382 UINT64_C(773878784), // UABDv8i8
6383 UINT64_C(1153802240), // UADALP_ZPmZ_D
6384 UINT64_C(1145413632), // UADALP_ZPmZ_H
6385 UINT64_C(1149607936), // UADALP_ZPmZ_S
6386 UINT64_C(1847617536), // UADALPv16i8_v8i16
6387 UINT64_C(782264320), // UADALPv2i32_v1i64
6388 UINT64_C(778070016), // UADALPv4i16_v2i32
6389 UINT64_C(1856006144), // UADALPv4i32_v2i64
6390 UINT64_C(1851811840), // UADALPv8i16_v4i32
6391 UINT64_C(773875712), // UADALPv8i8_v4i16
6392 UINT64_C(1170212864), // UADDLB_ZZZ_D
6393 UINT64_C(1161824256), // UADDLB_ZZZ_H
6394 UINT64_C(1166018560), // UADDLB_ZZZ_S
6395 UINT64_C(1847601152), // UADDLPv16i8_v8i16
6396 UINT64_C(782247936), // UADDLPv2i32_v1i64
6397 UINT64_C(778053632), // UADDLPv4i16_v2i32
6398 UINT64_C(1855989760), // UADDLPv4i32_v2i64
6399 UINT64_C(1851795456), // UADDLPv8i16_v4i32
6400 UINT64_C(773859328), // UADDLPv8i8_v4i16
6401 UINT64_C(1170213888), // UADDLT_ZZZ_D
6402 UINT64_C(1161825280), // UADDLT_ZZZ_H
6403 UINT64_C(1166019584), // UADDLT_ZZZ_S
6404 UINT64_C(1848653824), // UADDLVv16i8v
6405 UINT64_C(779106304), // UADDLVv4i16v
6406 UINT64_C(1857042432), // UADDLVv4i32v
6407 UINT64_C(1852848128), // UADDLVv8i16v
6408 UINT64_C(774912000), // UADDLVv8i8v
6409 UINT64_C(1847590912), // UADDLv16i8_v8i16
6410 UINT64_C(782237696), // UADDLv2i32_v2i64
6411 UINT64_C(778043392), // UADDLv4i16_v4i32
6412 UINT64_C(1855979520), // UADDLv4i32_v2i64
6413 UINT64_C(1851785216), // UADDLv8i16_v4i32
6414 UINT64_C(773849088), // UADDLv8i8_v8i16
6415 UINT64_C(67182592), // UADDV_VPZ_B
6416 UINT64_C(79765504), // UADDV_VPZ_D
6417 UINT64_C(71376896), // UADDV_VPZ_H
6418 UINT64_C(75571200), // UADDV_VPZ_S
6419 UINT64_C(1170229248), // UADDWB_ZZZ_D
6420 UINT64_C(1161840640), // UADDWB_ZZZ_H
6421 UINT64_C(1166034944), // UADDWB_ZZZ_S
6422 UINT64_C(1170230272), // UADDWT_ZZZ_D
6423 UINT64_C(1161841664), // UADDWT_ZZZ_H
6424 UINT64_C(1166035968), // UADDWT_ZZZ_S
6425 UINT64_C(1847595008), // UADDWv16i8_v8i16
6426 UINT64_C(782241792), // UADDWv2i32_v2i64
6427 UINT64_C(778047488), // UADDWv4i16_v4i32
6428 UINT64_C(1855983616), // UADDWv4i32_v2i64
6429 UINT64_C(1851789312), // UADDWv8i16_v4i32
6430 UINT64_C(773853184), // UADDWv8i8_v8i16
6431 UINT64_C(1392508928), // UBFMWri
6432 UINT64_C(3544186880), // UBFMXri
6433 UINT64_C(3240150017), // UCLAMP_VG2_2Z2Z_B
6434 UINT64_C(3252732929), // UCLAMP_VG2_2Z2Z_D
6435 UINT64_C(3244344321), // UCLAMP_VG2_2Z2Z_H
6436 UINT64_C(3248538625), // UCLAMP_VG2_2Z2Z_S
6437 UINT64_C(3240152065), // UCLAMP_VG4_4Z4Z_B
6438 UINT64_C(3252734977), // UCLAMP_VG4_4Z4Z_D
6439 UINT64_C(3244346369), // UCLAMP_VG4_4Z4Z_H
6440 UINT64_C(3248540673), // UCLAMP_VG4_4Z4Z_S
6441 UINT64_C(1140900864), // UCLAMP_ZZZ_B
6442 UINT64_C(1153483776), // UCLAMP_ZZZ_D
6443 UINT64_C(1145095168), // UCLAMP_ZZZ_H
6444 UINT64_C(1149289472), // UCLAMP_ZZZ_S
6445 UINT64_C(511508480), // UCVTFDSr
6446 UINT64_C(2667380736), // UCVTFHDr
6447 UINT64_C(519897088), // UCVTFHSr
6448 UINT64_C(1699494912), // UCVTFLT_ZZ_BtoH
6449 UINT64_C(1703689216), // UCVTFLT_ZZ_HtoS
6450 UINT64_C(1707883520), // UCVTFLT_ZZ_StoD
6451 UINT64_C(2654797824), // UCVTFSDr
6452 UINT64_C(507740160), // UCVTFSWDri
6453 UINT64_C(516128768), // UCVTFSWHri
6454 UINT64_C(503545856), // UCVTFSWSri
6455 UINT64_C(2655191040), // UCVTFSXDri
6456 UINT64_C(2663579648), // UCVTFSXHri
6457 UINT64_C(2650996736), // UCVTFSXSri
6458 UINT64_C(509804544), // UCVTFUWDri
6459 UINT64_C(518193152), // UCVTFUWHri
6460 UINT64_C(505610240), // UCVTFUWSri
6461 UINT64_C(2657288192), // UCVTFUXDri
6462 UINT64_C(2665676800), // UCVTFUXHri
6463 UINT64_C(2653093888), // UCVTFUXSri
6464 UINT64_C(3240288288), // UCVTF_2Z2Z_StoS
6465 UINT64_C(3241336864), // UCVTF_4Z4Z_StoS
6466 UINT64_C(1708630016), // UCVTF_ZPmZ_DtoD
6467 UINT64_C(1700241408), // UCVTF_ZPmZ_DtoH
6468 UINT64_C(1708498944), // UCVTF_ZPmZ_DtoS
6469 UINT64_C(1699979264), // UCVTF_ZPmZ_HtoH
6470 UINT64_C(1708236800), // UCVTF_ZPmZ_StoD
6471 UINT64_C(1700110336), // UCVTF_ZPmZ_StoH
6472 UINT64_C(1704304640), // UCVTF_ZPmZ_StoS
6473 UINT64_C(1692262400), // UCVTF_ZPzZ_DtoD
6474 UINT64_C(1683873792), // UCVTF_ZPzZ_DtoH
6475 UINT64_C(1692246016), // UCVTF_ZPzZ_DtoS
6476 UINT64_C(1683808256), // UCVTF_ZPzZ_HtoH
6477 UINT64_C(1692180480), // UCVTF_ZPzZ_StoD
6478 UINT64_C(1683857408), // UCVTF_ZPzZ_StoH
6479 UINT64_C(1688051712), // UCVTF_ZPzZ_StoS
6480 UINT64_C(1699492864), // UCVTF_ZZ_BtoH
6481 UINT64_C(1703687168), // UCVTF_ZZ_HtoS
6482 UINT64_C(1707881472), // UCVTF_ZZ_StoD
6483 UINT64_C(2134959104), // UCVTFd
6484 UINT64_C(2131813376), // UCVTFh
6485 UINT64_C(2132861952), // UCVTFs
6486 UINT64_C(2121914368), // UCVTFv1i16
6487 UINT64_C(2116147200), // UCVTFv1i32
6488 UINT64_C(2120341504), // UCVTFv1i64
6489 UINT64_C(773969920), // UCVTFv2f32
6490 UINT64_C(1851906048), // UCVTFv2f64
6491 UINT64_C(790684672), // UCVTFv2i32_shift
6492 UINT64_C(1866523648), // UCVTFv2i64_shift
6493 UINT64_C(779737088), // UCVTFv4f16
6494 UINT64_C(1847711744), // UCVTFv4f32
6495 UINT64_C(789636096), // UCVTFv4i16_shift
6496 UINT64_C(1864426496), // UCVTFv4i32_shift
6497 UINT64_C(1853478912), // UCVTFv8f16
6498 UINT64_C(1863377920), // UCVTFv8i16_shift
6499 UINT64_C(0), // UDF
6500 UINT64_C(81199104), // UDIVR_ZPmZ_D
6501 UINT64_C(77004800), // UDIVR_ZPmZ_S
6502 UINT64_C(448792576), // UDIVWr
6503 UINT64_C(2596276224), // UDIVXr
6504 UINT64_C(81068032), // UDIV_ZPmZ_D
6505 UINT64_C(76873728), // UDIV_ZPmZ_S
6506 UINT64_C(3248493584), // UDOT_VG2_M2Z2Z_BtoS
6507 UINT64_C(3252687888), // UDOT_VG2_M2Z2Z_HtoD
6508 UINT64_C(3252687896), // UDOT_VG2_M2Z2Z_HtoS
6509 UINT64_C(3243249712), // UDOT_VG2_M2ZZI_BToS
6510 UINT64_C(3243249680), // UDOT_VG2_M2ZZI_HToS
6511 UINT64_C(3251634200), // UDOT_VG2_M2ZZI_HtoD
6512 UINT64_C(3240104976), // UDOT_VG2_M2ZZ_BtoS
6513 UINT64_C(3244299280), // UDOT_VG2_M2ZZ_HtoD
6514 UINT64_C(3244299288), // UDOT_VG2_M2ZZ_HtoS
6515 UINT64_C(3248559120), // UDOT_VG4_M4Z4Z_BtoS
6516 UINT64_C(3252753424), // UDOT_VG4_M4Z4Z_HtoD
6517 UINT64_C(3252753432), // UDOT_VG4_M4Z4Z_HtoS
6518 UINT64_C(3243282480), // UDOT_VG4_M4ZZI_BtoS
6519 UINT64_C(3243282448), // UDOT_VG4_M4ZZI_HToS
6520 UINT64_C(3251666968), // UDOT_VG4_M4ZZI_HtoD
6521 UINT64_C(3241153552), // UDOT_VG4_M4ZZ_BtoS
6522 UINT64_C(3245347856), // UDOT_VG4_M4ZZ_HtoD
6523 UINT64_C(3245347864), // UDOT_VG4_M4ZZ_HtoS
6524 UINT64_C(1142948864), // UDOT_ZZZI_BtoH
6525 UINT64_C(1151337472), // UDOT_ZZZI_BtoS
6526 UINT64_C(1155531776), // UDOT_ZZZI_HtoD
6527 UINT64_C(1149291520), // UDOT_ZZZI_HtoS
6528 UINT64_C(1145046016), // UDOT_ZZZ_BtoH
6529 UINT64_C(1149240320), // UDOT_ZZZ_BtoS
6530 UINT64_C(1153434624), // UDOT_ZZZ_HtoD
6531 UINT64_C(1140902912), // UDOT_ZZZ_HtoS
6532 UINT64_C(1870716928), // UDOTlanev16i8
6533 UINT64_C(796975104), // UDOTlanev8i8
6534 UINT64_C(1853920256), // UDOTv16i8
6535 UINT64_C(780178432), // UDOTv8i8
6536 UINT64_C(1141997568), // UHADD_ZPmZ_B
6537 UINT64_C(1154580480), // UHADD_ZPmZ_D
6538 UINT64_C(1146191872), // UHADD_ZPmZ_H
6539 UINT64_C(1150386176), // UHADD_ZPmZ_S
6540 UINT64_C(1847591936), // UHADDv16i8
6541 UINT64_C(782238720), // UHADDv2i32
6542 UINT64_C(778044416), // UHADDv4i16
6543 UINT64_C(1855980544), // UHADDv4i32
6544 UINT64_C(1851786240), // UHADDv8i16
6545 UINT64_C(773850112), // UHADDv8i8
6546 UINT64_C(1142390784), // UHSUBR_ZPmZ_B
6547 UINT64_C(1154973696), // UHSUBR_ZPmZ_D
6548 UINT64_C(1146585088), // UHSUBR_ZPmZ_H
6549 UINT64_C(1150779392), // UHSUBR_ZPmZ_S
6550 UINT64_C(1142128640), // UHSUB_ZPmZ_B
6551 UINT64_C(1154711552), // UHSUB_ZPmZ_D
6552 UINT64_C(1146322944), // UHSUB_ZPmZ_H
6553 UINT64_C(1150517248), // UHSUB_ZPmZ_S
6554 UINT64_C(1847600128), // UHSUBv16i8
6555 UINT64_C(782246912), // UHSUBv2i32
6556 UINT64_C(778052608), // UHSUBv4i16
6557 UINT64_C(1855988736), // UHSUBv4i32
6558 UINT64_C(1851794432), // UHSUBv8i16
6559 UINT64_C(773858304), // UHSUBv8i8
6560 UINT64_C(2610954240), // UMADDLrrr
6561 UINT64_C(1142267904), // UMAXP_ZPmZ_B
6562 UINT64_C(1154850816), // UMAXP_ZPmZ_D
6563 UINT64_C(1146462208), // UMAXP_ZPmZ_H
6564 UINT64_C(1150656512), // UMAXP_ZPmZ_S
6565 UINT64_C(1847632896), // UMAXPv16i8
6566 UINT64_C(782279680), // UMAXPv2i32
6567 UINT64_C(778085376), // UMAXPv4i16
6568 UINT64_C(1856021504), // UMAXPv4i32
6569 UINT64_C(1851827200), // UMAXPv8i16
6570 UINT64_C(773891072), // UMAXPv8i8
6571 UINT64_C(67969024), // UMAXQV_VPZ_B
6572 UINT64_C(80551936), // UMAXQV_VPZ_D
6573 UINT64_C(72163328), // UMAXQV_VPZ_H
6574 UINT64_C(76357632), // UMAXQV_VPZ_S
6575 UINT64_C(67706880), // UMAXV_VPZ_B
6576 UINT64_C(80289792), // UMAXV_VPZ_D
6577 UINT64_C(71901184), // UMAXV_VPZ_H
6578 UINT64_C(76095488), // UMAXV_VPZ_S
6579 UINT64_C(1848682496), // UMAXVv16i8v
6580 UINT64_C(779134976), // UMAXVv4i16v
6581 UINT64_C(1857071104), // UMAXVv4i32v
6582 UINT64_C(1852876800), // UMAXVv8i16v
6583 UINT64_C(774940672), // UMAXVv8i8v
6584 UINT64_C(298057728), // UMAXWri
6585 UINT64_C(448816128), // UMAXWrr
6586 UINT64_C(2445541376), // UMAXXri
6587 UINT64_C(2596299776), // UMAXXrr
6588 UINT64_C(3240144897), // UMAX_VG2_2Z2Z_B
6589 UINT64_C(3252727809), // UMAX_VG2_2Z2Z_D
6590 UINT64_C(3244339201), // UMAX_VG2_2Z2Z_H
6591 UINT64_C(3248533505), // UMAX_VG2_2Z2Z_S
6592 UINT64_C(3240140801), // UMAX_VG2_2ZZ_B
6593 UINT64_C(3252723713), // UMAX_VG2_2ZZ_D
6594 UINT64_C(3244335105), // UMAX_VG2_2ZZ_H
6595 UINT64_C(3248529409), // UMAX_VG2_2ZZ_S
6596 UINT64_C(3240146945), // UMAX_VG4_4Z4Z_B
6597 UINT64_C(3252729857), // UMAX_VG4_4Z4Z_D
6598 UINT64_C(3244341249), // UMAX_VG4_4Z4Z_H
6599 UINT64_C(3248535553), // UMAX_VG4_4Z4Z_S
6600 UINT64_C(3240142849), // UMAX_VG4_4ZZ_B
6601 UINT64_C(3252725761), // UMAX_VG4_4ZZ_D
6602 UINT64_C(3244337153), // UMAX_VG4_4ZZ_H
6603 UINT64_C(3248531457), // UMAX_VG4_4ZZ_S
6604 UINT64_C(623493120), // UMAX_ZI_B
6605 UINT64_C(636076032), // UMAX_ZI_D
6606 UINT64_C(627687424), // UMAX_ZI_H
6607 UINT64_C(631881728), // UMAX_ZI_S
6608 UINT64_C(67698688), // UMAX_ZPmZ_B
6609 UINT64_C(80281600), // UMAX_ZPmZ_D
6610 UINT64_C(71892992), // UMAX_ZPmZ_H
6611 UINT64_C(76087296), // UMAX_ZPmZ_S
6612 UINT64_C(1847616512), // UMAXv16i8
6613 UINT64_C(782263296), // UMAXv2i32
6614 UINT64_C(778068992), // UMAXv4i16
6615 UINT64_C(1856005120), // UMAXv4i32
6616 UINT64_C(1851810816), // UMAXv8i16
6617 UINT64_C(773874688), // UMAXv8i8
6618 UINT64_C(1142398976), // UMINP_ZPmZ_B
6619 UINT64_C(1154981888), // UMINP_ZPmZ_D
6620 UINT64_C(1146593280), // UMINP_ZPmZ_H
6621 UINT64_C(1150787584), // UMINP_ZPmZ_S
6622 UINT64_C(1847634944), // UMINPv16i8
6623 UINT64_C(782281728), // UMINPv2i32
6624 UINT64_C(778087424), // UMINPv4i16
6625 UINT64_C(1856023552), // UMINPv4i32
6626 UINT64_C(1851829248), // UMINPv8i16
6627 UINT64_C(773893120), // UMINPv8i8
6628 UINT64_C(68100096), // UMINQV_VPZ_B
6629 UINT64_C(80683008), // UMINQV_VPZ_D
6630 UINT64_C(72294400), // UMINQV_VPZ_H
6631 UINT64_C(76488704), // UMINQV_VPZ_S
6632 UINT64_C(67837952), // UMINV_VPZ_B
6633 UINT64_C(80420864), // UMINV_VPZ_D
6634 UINT64_C(72032256), // UMINV_VPZ_H
6635 UINT64_C(76226560), // UMINV_VPZ_S
6636 UINT64_C(1848748032), // UMINVv16i8v
6637 UINT64_C(779200512), // UMINVv4i16v
6638 UINT64_C(1857136640), // UMINVv4i32v
6639 UINT64_C(1852942336), // UMINVv8i16v
6640 UINT64_C(775006208), // UMINVv8i8v
6641 UINT64_C(298582016), // UMINWri
6642 UINT64_C(448818176), // UMINWrr
6643 UINT64_C(2446065664), // UMINXri
6644 UINT64_C(2596301824), // UMINXrr
6645 UINT64_C(3240144929), // UMIN_VG2_2Z2Z_B
6646 UINT64_C(3252727841), // UMIN_VG2_2Z2Z_D
6647 UINT64_C(3244339233), // UMIN_VG2_2Z2Z_H
6648 UINT64_C(3248533537), // UMIN_VG2_2Z2Z_S
6649 UINT64_C(3240140833), // UMIN_VG2_2ZZ_B
6650 UINT64_C(3252723745), // UMIN_VG2_2ZZ_D
6651 UINT64_C(3244335137), // UMIN_VG2_2ZZ_H
6652 UINT64_C(3248529441), // UMIN_VG2_2ZZ_S
6653 UINT64_C(3240146977), // UMIN_VG4_4Z4Z_B
6654 UINT64_C(3252729889), // UMIN_VG4_4Z4Z_D
6655 UINT64_C(3244341281), // UMIN_VG4_4Z4Z_H
6656 UINT64_C(3248535585), // UMIN_VG4_4Z4Z_S
6657 UINT64_C(3240142881), // UMIN_VG4_4ZZ_B
6658 UINT64_C(3252725793), // UMIN_VG4_4ZZ_D
6659 UINT64_C(3244337185), // UMIN_VG4_4ZZ_H
6660 UINT64_C(3248531489), // UMIN_VG4_4ZZ_S
6661 UINT64_C(623624192), // UMIN_ZI_B
6662 UINT64_C(636207104), // UMIN_ZI_D
6663 UINT64_C(627818496), // UMIN_ZI_H
6664 UINT64_C(632012800), // UMIN_ZI_S
6665 UINT64_C(67829760), // UMIN_ZPmZ_B
6666 UINT64_C(80412672), // UMIN_ZPmZ_D
6667 UINT64_C(72024064), // UMIN_ZPmZ_H
6668 UINT64_C(76218368), // UMIN_ZPmZ_S
6669 UINT64_C(1847618560), // UMINv16i8
6670 UINT64_C(782265344), // UMINv2i32
6671 UINT64_C(778071040), // UMINv4i16
6672 UINT64_C(1856007168), // UMINv4i32
6673 UINT64_C(1851812864), // UMINv8i16
6674 UINT64_C(773876736), // UMINv8i8
6675 UINT64_C(1155567616), // UMLALB_ZZZI_D
6676 UINT64_C(1151373312), // UMLALB_ZZZI_S
6677 UINT64_C(1153452032), // UMLALB_ZZZ_D
6678 UINT64_C(1145063424), // UMLALB_ZZZ_H
6679 UINT64_C(1149257728), // UMLALB_ZZZ_S
6680 UINT64_C(3238002704), // UMLALL_MZZI_BtoS
6681 UINT64_C(3246391312), // UMLALL_MZZI_HtoD
6682 UINT64_C(3240100880), // UMLALL_MZZ_BtoS
6683 UINT64_C(3244295184), // UMLALL_MZZ_HtoD
6684 UINT64_C(3248488464), // UMLALL_VG2_M2Z2Z_BtoS
6685 UINT64_C(3252682768), // UMLALL_VG2_M2Z2Z_HtoD
6686 UINT64_C(3239051280), // UMLALL_VG2_M2ZZI_BtoS
6687 UINT64_C(3247439888), // UMLALL_VG2_M2ZZI_HtoD
6688 UINT64_C(3240099856), // UMLALL_VG2_M2ZZ_BtoS
6689 UINT64_C(3244294160), // UMLALL_VG2_M2ZZ_HtoD
6690 UINT64_C(3248554000), // UMLALL_VG4_M4Z4Z_BtoS
6691 UINT64_C(3252748304), // UMLALL_VG4_M4Z4Z_HtoD
6692 UINT64_C(3239084048), // UMLALL_VG4_M4ZZI_BtoS
6693 UINT64_C(3247472656), // UMLALL_VG4_M4ZZI_HtoD
6694 UINT64_C(3241148432), // UMLALL_VG4_M4ZZ_BtoS
6695 UINT64_C(3245342736), // UMLALL_VG4_M4ZZ_HtoD
6696 UINT64_C(1155568640), // UMLALT_ZZZI_D
6697 UINT64_C(1151374336), // UMLALT_ZZZI_S
6698 UINT64_C(1153453056), // UMLALT_ZZZ_D
6699 UINT64_C(1145064448), // UMLALT_ZZZ_H
6700 UINT64_C(1149258752), // UMLALT_ZZZ_S
6701 UINT64_C(3250589712), // UMLAL_MZZI_HtoS
6702 UINT64_C(3244297232), // UMLAL_MZZ_HtoS
6703 UINT64_C(3252684816), // UMLAL_VG2_M2Z2Z_HtoS
6704 UINT64_C(3251638288), // UMLAL_VG2_M2ZZI_S
6705 UINT64_C(3244296208), // UMLAL_VG2_M2ZZ_HtoS
6706 UINT64_C(3252750352), // UMLAL_VG4_M4Z4Z_HtoS
6707 UINT64_C(3251671056), // UMLAL_VG4_M4ZZI_HtoS
6708 UINT64_C(3245344784), // UMLAL_VG4_M4ZZ_HtoS
6709 UINT64_C(1847623680), // UMLALv16i8_v8i16
6710 UINT64_C(796925952), // UMLALv2i32_indexed
6711 UINT64_C(782270464), // UMLALv2i32_v2i64
6712 UINT64_C(792731648), // UMLALv4i16_indexed
6713 UINT64_C(778076160), // UMLALv4i16_v4i32
6714 UINT64_C(1870667776), // UMLALv4i32_indexed
6715 UINT64_C(1856012288), // UMLALv4i32_v2i64
6716 UINT64_C(1866473472), // UMLALv8i16_indexed
6717 UINT64_C(1851817984), // UMLALv8i16_v4i32
6718 UINT64_C(773881856), // UMLALv8i8_v8i16
6719 UINT64_C(1155575808), // UMLSLB_ZZZI_D
6720 UINT64_C(1151381504), // UMLSLB_ZZZI_S
6721 UINT64_C(1153456128), // UMLSLB_ZZZ_D
6722 UINT64_C(1145067520), // UMLSLB_ZZZ_H
6723 UINT64_C(1149261824), // UMLSLB_ZZZ_S
6724 UINT64_C(3238002712), // UMLSLL_MZZI_BtoS
6725 UINT64_C(3246391320), // UMLSLL_MZZI_HtoD
6726 UINT64_C(3240100888), // UMLSLL_MZZ_BtoS
6727 UINT64_C(3244295192), // UMLSLL_MZZ_HtoD
6728 UINT64_C(3248488472), // UMLSLL_VG2_M2Z2Z_BtoS
6729 UINT64_C(3252682776), // UMLSLL_VG2_M2Z2Z_HtoD
6730 UINT64_C(3239051288), // UMLSLL_VG2_M2ZZI_BtoS
6731 UINT64_C(3247439896), // UMLSLL_VG2_M2ZZI_HtoD
6732 UINT64_C(3240099864), // UMLSLL_VG2_M2ZZ_BtoS
6733 UINT64_C(3244294168), // UMLSLL_VG2_M2ZZ_HtoD
6734 UINT64_C(3248554008), // UMLSLL_VG4_M4Z4Z_BtoS
6735 UINT64_C(3252748312), // UMLSLL_VG4_M4Z4Z_HtoD
6736 UINT64_C(3239084056), // UMLSLL_VG4_M4ZZI_BtoS
6737 UINT64_C(3247472664), // UMLSLL_VG4_M4ZZI_HtoD
6738 UINT64_C(3241148440), // UMLSLL_VG4_M4ZZ_BtoS
6739 UINT64_C(3245342744), // UMLSLL_VG4_M4ZZ_HtoD
6740 UINT64_C(1155576832), // UMLSLT_ZZZI_D
6741 UINT64_C(1151382528), // UMLSLT_ZZZI_S
6742 UINT64_C(1153457152), // UMLSLT_ZZZ_D
6743 UINT64_C(1145068544), // UMLSLT_ZZZ_H
6744 UINT64_C(1149262848), // UMLSLT_ZZZ_S
6745 UINT64_C(3250589720), // UMLSL_MZZI_HtoS
6746 UINT64_C(3244297240), // UMLSL_MZZ_HtoS
6747 UINT64_C(3252684824), // UMLSL_VG2_M2Z2Z_HtoS
6748 UINT64_C(3251638296), // UMLSL_VG2_M2ZZI_S
6749 UINT64_C(3244296216), // UMLSL_VG2_M2ZZ_HtoS
6750 UINT64_C(3252750360), // UMLSL_VG4_M4Z4Z_HtoS
6751 UINT64_C(3251671064), // UMLSL_VG4_M4ZZI_HtoS
6752 UINT64_C(3245344792), // UMLSL_VG4_M4ZZ_HtoS
6753 UINT64_C(1847631872), // UMLSLv16i8_v8i16
6754 UINT64_C(796942336), // UMLSLv2i32_indexed
6755 UINT64_C(782278656), // UMLSLv2i32_v2i64
6756 UINT64_C(792748032), // UMLSLv4i16_indexed
6757 UINT64_C(778084352), // UMLSLv4i16_v4i32
6758 UINT64_C(1870684160), // UMLSLv4i32_indexed
6759 UINT64_C(1856020480), // UMLSLv4i32_v2i64
6760 UINT64_C(1866489856), // UMLSLv8i16_indexed
6761 UINT64_C(1851826176), // UMLSLv8i16_v4i32
6762 UINT64_C(773890048), // UMLSLv8i8_v8i16
6763 UINT64_C(1853924352), // UMMLA
6764 UINT64_C(1170249728), // UMMLA_ZZZ
6765 UINT64_C(2167439872), // UMOP4A_M2Z2Z_BToS
6766 UINT64_C(2165342728), // UMOP4A_M2Z2Z_HToS
6767 UINT64_C(2716860936), // UMOP4A_M2Z2Z_HtoD
6768 UINT64_C(2166391296), // UMOP4A_M2ZZ_BToS
6769 UINT64_C(2164294152), // UMOP4A_M2ZZ_HToS
6770 UINT64_C(2715812360), // UMOP4A_M2ZZ_HtoD
6771 UINT64_C(2167439360), // UMOP4A_MZ2Z_BToS
6772 UINT64_C(2165342216), // UMOP4A_MZ2Z_HToS
6773 UINT64_C(2716860424), // UMOP4A_MZ2Z_HtoD
6774 UINT64_C(2166390784), // UMOP4A_MZZ_BToS
6775 UINT64_C(2164293640), // UMOP4A_MZZ_HToS
6776 UINT64_C(2715811848), // UMOP4A_MZZ_HtoD
6777 UINT64_C(2167439888), // UMOP4S_M2Z2Z_BToS
6778 UINT64_C(2165342744), // UMOP4S_M2Z2Z_HToS
6779 UINT64_C(2716860952), // UMOP4S_M2Z2Z_HtoD
6780 UINT64_C(2166391312), // UMOP4S_M2ZZ_BToS
6781 UINT64_C(2164294168), // UMOP4S_M2ZZ_HToS
6782 UINT64_C(2715812376), // UMOP4S_M2ZZ_HtoD
6783 UINT64_C(2167439376), // UMOP4S_MZ2Z_BToS
6784 UINT64_C(2165342232), // UMOP4S_MZ2Z_HToS
6785 UINT64_C(2716860440), // UMOP4S_MZ2Z_HtoD
6786 UINT64_C(2166390800), // UMOP4S_MZZ_BToS
6787 UINT64_C(2164293656), // UMOP4S_MZZ_HToS
6788 UINT64_C(2715811864), // UMOP4S_MZZ_HtoD
6789 UINT64_C(2715811840), // UMOPA_MPPZZ_D
6790 UINT64_C(2709520392), // UMOPA_MPPZZ_HtoS
6791 UINT64_C(2711617536), // UMOPA_MPPZZ_S
6792 UINT64_C(2715811856), // UMOPS_MPPZZ_D
6793 UINT64_C(2709520408), // UMOPS_MPPZZ_HtoS
6794 UINT64_C(2711617552), // UMOPS_MPPZZ_S
6795 UINT64_C(235027456), // UMOVvi16
6796 UINT64_C(235027456), // UMOVvi16_idx0
6797 UINT64_C(235158528), // UMOVvi32
6798 UINT64_C(235158528), // UMOVvi32_idx0
6799 UINT64_C(1309162496), // UMOVvi64
6800 UINT64_C(1309162496), // UMOVvi64_idx0
6801 UINT64_C(234961920), // UMOVvi8
6802 UINT64_C(234961920), // UMOVvi8_idx0
6803 UINT64_C(2610987008), // UMSUBLrrr
6804 UINT64_C(68354048), // UMULH_ZPmZ_B
6805 UINT64_C(80936960), // UMULH_ZPmZ_D
6806 UINT64_C(72548352), // UMULH_ZPmZ_H
6807 UINT64_C(76742656), // UMULH_ZPmZ_S
6808 UINT64_C(69233664), // UMULH_ZZZ_B
6809 UINT64_C(81816576), // UMULH_ZZZ_D
6810 UINT64_C(73427968), // UMULH_ZZZ_H
6811 UINT64_C(77622272), // UMULH_ZZZ_S
6812 UINT64_C(2613083136), // UMULHrr
6813 UINT64_C(1155584000), // UMULLB_ZZZI_D
6814 UINT64_C(1151389696), // UMULLB_ZZZI_S
6815 UINT64_C(1170241536), // UMULLB_ZZZ_D
6816 UINT64_C(1161852928), // UMULLB_ZZZ_H
6817 UINT64_C(1166047232), // UMULLB_ZZZ_S
6818 UINT64_C(1155585024), // UMULLT_ZZZI_D
6819 UINT64_C(1151390720), // UMULLT_ZZZI_S
6820 UINT64_C(1170242560), // UMULLT_ZZZ_D
6821 UINT64_C(1161853952), // UMULLT_ZZZ_H
6822 UINT64_C(1166048256), // UMULLT_ZZZ_S
6823 UINT64_C(1847640064), // UMULLv16i8_v8i16
6824 UINT64_C(796958720), // UMULLv2i32_indexed
6825 UINT64_C(782286848), // UMULLv2i32_v2i64
6826 UINT64_C(792764416), // UMULLv4i16_indexed
6827 UINT64_C(778092544), // UMULLv4i16_v4i32
6828 UINT64_C(1870700544), // UMULLv4i32_indexed
6829 UINT64_C(1856028672), // UMULLv4i32_v2i64
6830 UINT64_C(1866506240), // UMULLv8i16_indexed
6831 UINT64_C(1851834368), // UMULLv8i16_v4i32
6832 UINT64_C(773898240), // UMULLv8i8_v8i16
6833 UINT64_C(623230976), // UQADD_ZI_B
6834 UINT64_C(635813888), // UQADD_ZI_D
6835 UINT64_C(627425280), // UQADD_ZI_H
6836 UINT64_C(631619584), // UQADD_ZI_S
6837 UINT64_C(1142521856), // UQADD_ZPmZ_B
6838 UINT64_C(1155104768), // UQADD_ZPmZ_D
6839 UINT64_C(1146716160), // UQADD_ZPmZ_H
6840 UINT64_C(1150910464), // UQADD_ZPmZ_S
6841 UINT64_C(69211136), // UQADD_ZZZ_B
6842 UINT64_C(81794048), // UQADD_ZZZ_D
6843 UINT64_C(73405440), // UQADD_ZZZ_H
6844 UINT64_C(77599744), // UQADD_ZZZ_S
6845 UINT64_C(1847593984), // UQADDv16i8
6846 UINT64_C(2120223744), // UQADDv1i16
6847 UINT64_C(2124418048), // UQADDv1i32
6848 UINT64_C(2128612352), // UQADDv1i64
6849 UINT64_C(2116029440), // UQADDv1i8
6850 UINT64_C(782240768), // UQADDv2i32
6851 UINT64_C(1860176896), // UQADDv2i64
6852 UINT64_C(778046464), // UQADDv4i16
6853 UINT64_C(1855982592), // UQADDv4i32
6854 UINT64_C(1851788288), // UQADDv8i16
6855 UINT64_C(773852160), // UQADDv8i8
6856 UINT64_C(1160857600), // UQCVTN_Z2Z_StoH
6857 UINT64_C(3249791072), // UQCVTN_Z4Z_DtoH
6858 UINT64_C(3241402464), // UQCVTN_Z4Z_StoB
6859 UINT64_C(3240353824), // UQCVT_Z2Z_StoH
6860 UINT64_C(3249791008), // UQCVT_Z4Z_DtoH
6861 UINT64_C(3241402400), // UQCVT_Z4Z_StoB
6862 UINT64_C(69270528), // UQDECB_WPiI
6863 UINT64_C(70319104), // UQDECB_XPiI
6864 UINT64_C(81853440), // UQDECD_WPiI
6865 UINT64_C(82902016), // UQDECD_XPiI
6866 UINT64_C(81841152), // UQDECD_ZPiI
6867 UINT64_C(73464832), // UQDECH_WPiI
6868 UINT64_C(74513408), // UQDECH_XPiI
6869 UINT64_C(73452544), // UQDECH_ZPiI
6870 UINT64_C(623609856), // UQDECP_WP_B
6871 UINT64_C(636192768), // UQDECP_WP_D
6872 UINT64_C(627804160), // UQDECP_WP_H
6873 UINT64_C(631998464), // UQDECP_WP_S
6874 UINT64_C(623610880), // UQDECP_XP_B
6875 UINT64_C(636193792), // UQDECP_XP_D
6876 UINT64_C(627805184), // UQDECP_XP_H
6877 UINT64_C(631999488), // UQDECP_XP_S
6878 UINT64_C(636190720), // UQDECP_ZP_D
6879 UINT64_C(627802112), // UQDECP_ZP_H
6880 UINT64_C(631996416), // UQDECP_ZP_S
6881 UINT64_C(77659136), // UQDECW_WPiI
6882 UINT64_C(78707712), // UQDECW_XPiI
6883 UINT64_C(77646848), // UQDECW_ZPiI
6884 UINT64_C(69268480), // UQINCB_WPiI
6885 UINT64_C(70317056), // UQINCB_XPiI
6886 UINT64_C(81851392), // UQINCD_WPiI
6887 UINT64_C(82899968), // UQINCD_XPiI
6888 UINT64_C(81839104), // UQINCD_ZPiI
6889 UINT64_C(73462784), // UQINCH_WPiI
6890 UINT64_C(74511360), // UQINCH_XPiI
6891 UINT64_C(73450496), // UQINCH_ZPiI
6892 UINT64_C(623478784), // UQINCP_WP_B
6893 UINT64_C(636061696), // UQINCP_WP_D
6894 UINT64_C(627673088), // UQINCP_WP_H
6895 UINT64_C(631867392), // UQINCP_WP_S
6896 UINT64_C(623479808), // UQINCP_XP_B
6897 UINT64_C(636062720), // UQINCP_XP_D
6898 UINT64_C(627674112), // UQINCP_XP_H
6899 UINT64_C(631868416), // UQINCP_XP_S
6900 UINT64_C(636059648), // UQINCP_ZP_D
6901 UINT64_C(627671040), // UQINCP_ZP_H
6902 UINT64_C(631865344), // UQINCP_ZP_S
6903 UINT64_C(77657088), // UQINCW_WPiI
6904 UINT64_C(78705664), // UQINCW_XPiI
6905 UINT64_C(77644800), // UQINCW_ZPiI
6906 UINT64_C(1141866496), // UQRSHLR_ZPmZ_B
6907 UINT64_C(1154449408), // UQRSHLR_ZPmZ_D
6908 UINT64_C(1146060800), // UQRSHLR_ZPmZ_H
6909 UINT64_C(1150255104), // UQRSHLR_ZPmZ_S
6910 UINT64_C(1141604352), // UQRSHL_ZPmZ_B
6911 UINT64_C(1154187264), // UQRSHL_ZPmZ_D
6912 UINT64_C(1145798656), // UQRSHL_ZPmZ_H
6913 UINT64_C(1149992960), // UQRSHL_ZPmZ_S
6914 UINT64_C(1847614464), // UQRSHLv16i8
6915 UINT64_C(2120244224), // UQRSHLv1i16
6916 UINT64_C(2124438528), // UQRSHLv1i32
6917 UINT64_C(2128632832), // UQRSHLv1i64
6918 UINT64_C(2116049920), // UQRSHLv1i8
6919 UINT64_C(782261248), // UQRSHLv2i32
6920 UINT64_C(1860197376), // UQRSHLv2i64
6921 UINT64_C(778066944), // UQRSHLv4i16
6922 UINT64_C(1856003072), // UQRSHLv4i32
6923 UINT64_C(1851808768), // UQRSHLv8i16
6924 UINT64_C(773872640), // UQRSHLv8i8
6925 UINT64_C(1160263680), // UQRSHRNB_ZZI_B
6926 UINT64_C(1160787968), // UQRSHRNB_ZZI_H
6927 UINT64_C(1163933696), // UQRSHRNB_ZZI_S
6928 UINT64_C(1160264704), // UQRSHRNT_ZZI_B
6929 UINT64_C(1160788992), // UQRSHRNT_ZZI_H
6930 UINT64_C(1163934720), // UQRSHRNT_ZZI_S
6931 UINT64_C(3244350496), // UQRSHRN_VG4_Z4ZI_B
6932 UINT64_C(3248544800), // UQRSHRN_VG4_Z4ZI_H
6933 UINT64_C(1168652288), // UQRSHRN_Z2ZI_HtoB
6934 UINT64_C(1169176576), // UQRSHRN_Z2ZI_StoH
6935 UINT64_C(2131270656), // UQRSHRNb
6936 UINT64_C(2131794944), // UQRSHRNh
6937 UINT64_C(2132843520), // UQRSHRNs
6938 UINT64_C(1862835200), // UQRSHRNv16i8_shift
6939 UINT64_C(790666240), // UQRSHRNv2i32_shift
6940 UINT64_C(789617664), // UQRSHRNv4i16_shift
6941 UINT64_C(1864408064), // UQRSHRNv4i32_shift
6942 UINT64_C(1863359488), // UQRSHRNv8i16_shift
6943 UINT64_C(789093376), // UQRSHRNv8i8_shift
6944 UINT64_C(3252737056), // UQRSHR_VG2_Z2ZI_H
6945 UINT64_C(3244349472), // UQRSHR_VG4_Z4ZI_B
6946 UINT64_C(3248543776), // UQRSHR_VG4_Z4ZI_H
6947 UINT64_C(1141735424), // UQSHLR_ZPmZ_B
6948 UINT64_C(1154318336), // UQSHLR_ZPmZ_D
6949 UINT64_C(1145929728), // UQSHLR_ZPmZ_H
6950 UINT64_C(1150124032), // UQSHLR_ZPmZ_S
6951 UINT64_C(67600640), // UQSHL_ZPmI_B
6952 UINT64_C(75988992), // UQSHL_ZPmI_D
6953 UINT64_C(67600896), // UQSHL_ZPmI_H
6954 UINT64_C(71794688), // UQSHL_ZPmI_S
6955 UINT64_C(1141473280), // UQSHL_ZPmZ_B
6956 UINT64_C(1154056192), // UQSHL_ZPmZ_D
6957 UINT64_C(1145667584), // UQSHL_ZPmZ_H
6958 UINT64_C(1149861888), // UQSHL_ZPmZ_S
6959 UINT64_C(2131260416), // UQSHLb
6960 UINT64_C(2134930432), // UQSHLd
6961 UINT64_C(2131784704), // UQSHLh
6962 UINT64_C(2132833280), // UQSHLs
6963 UINT64_C(1847610368), // UQSHLv16i8
6964 UINT64_C(1862824960), // UQSHLv16i8_shift
6965 UINT64_C(2120240128), // UQSHLv1i16
6966 UINT64_C(2124434432), // UQSHLv1i32
6967 UINT64_C(2128628736), // UQSHLv1i64
6968 UINT64_C(2116045824), // UQSHLv1i8
6969 UINT64_C(782257152), // UQSHLv2i32
6970 UINT64_C(790656000), // UQSHLv2i32_shift
6971 UINT64_C(1860193280), // UQSHLv2i64
6972 UINT64_C(1866494976), // UQSHLv2i64_shift
6973 UINT64_C(778062848), // UQSHLv4i16
6974 UINT64_C(789607424), // UQSHLv4i16_shift
6975 UINT64_C(1855998976), // UQSHLv4i32
6976 UINT64_C(1864397824), // UQSHLv4i32_shift
6977 UINT64_C(1851804672), // UQSHLv8i16
6978 UINT64_C(1863349248), // UQSHLv8i16_shift
6979 UINT64_C(773868544), // UQSHLv8i8
6980 UINT64_C(789083136), // UQSHLv8i8_shift
6981 UINT64_C(1160261632), // UQSHRNB_ZZI_B
6982 UINT64_C(1160785920), // UQSHRNB_ZZI_H
6983 UINT64_C(1163931648), // UQSHRNB_ZZI_S
6984 UINT64_C(1160262656), // UQSHRNT_ZZI_B
6985 UINT64_C(1160786944), // UQSHRNT_ZZI_H
6986 UINT64_C(1163932672), // UQSHRNT_ZZI_S
6987 UINT64_C(1168642048), // UQSHRN_Z2ZI_HtoB
6988 UINT64_C(1169166336), // UQSHRN_Z2ZI_StoH
6989 UINT64_C(2131268608), // UQSHRNb
6990 UINT64_C(2131792896), // UQSHRNh
6991 UINT64_C(2132841472), // UQSHRNs
6992 UINT64_C(1862833152), // UQSHRNv16i8_shift
6993 UINT64_C(790664192), // UQSHRNv2i32_shift
6994 UINT64_C(789615616), // UQSHRNv4i16_shift
6995 UINT64_C(1864406016), // UQSHRNv4i32_shift
6996 UINT64_C(1863357440), // UQSHRNv8i16_shift
6997 UINT64_C(789091328), // UQSHRNv8i8_shift
6998 UINT64_C(1142915072), // UQSUBR_ZPmZ_B
6999 UINT64_C(1155497984), // UQSUBR_ZPmZ_D
7000 UINT64_C(1147109376), // UQSUBR_ZPmZ_H
7001 UINT64_C(1151303680), // UQSUBR_ZPmZ_S
7002 UINT64_C(623362048), // UQSUB_ZI_B
7003 UINT64_C(635944960), // UQSUB_ZI_D
7004 UINT64_C(627556352), // UQSUB_ZI_H
7005 UINT64_C(631750656), // UQSUB_ZI_S
7006 UINT64_C(1142652928), // UQSUB_ZPmZ_B
7007 UINT64_C(1155235840), // UQSUB_ZPmZ_D
7008 UINT64_C(1146847232), // UQSUB_ZPmZ_H
7009 UINT64_C(1151041536), // UQSUB_ZPmZ_S
7010 UINT64_C(69213184), // UQSUB_ZZZ_B
7011 UINT64_C(81796096), // UQSUB_ZZZ_D
7012 UINT64_C(73407488), // UQSUB_ZZZ_H
7013 UINT64_C(77601792), // UQSUB_ZZZ_S
7014 UINT64_C(1847602176), // UQSUBv16i8
7015 UINT64_C(2120231936), // UQSUBv1i16
7016 UINT64_C(2124426240), // UQSUBv1i32
7017 UINT64_C(2128620544), // UQSUBv1i64
7018 UINT64_C(2116037632), // UQSUBv1i8
7019 UINT64_C(782248960), // UQSUBv2i32
7020 UINT64_C(1860185088), // UQSUBv2i64
7021 UINT64_C(778054656), // UQSUBv4i16
7022 UINT64_C(1855990784), // UQSUBv4i32
7023 UINT64_C(1851796480), // UQSUBv8i16
7024 UINT64_C(773860352), // UQSUBv8i8
7025 UINT64_C(1160267776), // UQXTNB_ZZ_B
7026 UINT64_C(1160792064), // UQXTNB_ZZ_H
7027 UINT64_C(1163937792), // UQXTNB_ZZ_S
7028 UINT64_C(1160268800), // UQXTNT_ZZ_B
7029 UINT64_C(1160793088), // UQXTNT_ZZ_H
7030 UINT64_C(1163938816), // UQXTNT_ZZ_S
7031 UINT64_C(1847674880), // UQXTNv16i8
7032 UINT64_C(2120304640), // UQXTNv1i16
7033 UINT64_C(2124498944), // UQXTNv1i32
7034 UINT64_C(2116110336), // UQXTNv1i8
7035 UINT64_C(782321664), // UQXTNv2i32
7036 UINT64_C(778127360), // UQXTNv4i16
7037 UINT64_C(1856063488), // UQXTNv4i32
7038 UINT64_C(1851869184), // UQXTNv8i16
7039 UINT64_C(773933056), // UQXTNv8i8
7040 UINT64_C(1149280256), // URECPE_ZPmZ_S
7041 UINT64_C(1149411328), // URECPE_ZPzZ_S
7042 UINT64_C(245483520), // URECPEv2i32
7043 UINT64_C(1319225344), // URECPEv4i32
7044 UINT64_C(1142259712), // URHADD_ZPmZ_B
7045 UINT64_C(1154842624), // URHADD_ZPmZ_D
7046 UINT64_C(1146454016), // URHADD_ZPmZ_H
7047 UINT64_C(1150648320), // URHADD_ZPmZ_S
7048 UINT64_C(1847596032), // URHADDv16i8
7049 UINT64_C(782242816), // URHADDv2i32
7050 UINT64_C(778048512), // URHADDv4i16
7051 UINT64_C(1855984640), // URHADDv4i32
7052 UINT64_C(1851790336), // URHADDv8i16
7053 UINT64_C(773854208), // URHADDv8i8
7054 UINT64_C(1141342208), // URSHLR_ZPmZ_B
7055 UINT64_C(1153925120), // URSHLR_ZPmZ_D
7056 UINT64_C(1145536512), // URSHLR_ZPmZ_H
7057 UINT64_C(1149730816), // URSHLR_ZPmZ_S
7058 UINT64_C(3240145441), // URSHL_VG2_2Z2Z_B
7059 UINT64_C(3252728353), // URSHL_VG2_2Z2Z_D
7060 UINT64_C(3244339745), // URSHL_VG2_2Z2Z_H
7061 UINT64_C(3248534049), // URSHL_VG2_2Z2Z_S
7062 UINT64_C(3240141345), // URSHL_VG2_2ZZ_B
7063 UINT64_C(3252724257), // URSHL_VG2_2ZZ_D
7064 UINT64_C(3244335649), // URSHL_VG2_2ZZ_H
7065 UINT64_C(3248529953), // URSHL_VG2_2ZZ_S
7066 UINT64_C(3240147489), // URSHL_VG4_4Z4Z_B
7067 UINT64_C(3252730401), // URSHL_VG4_4Z4Z_D
7068 UINT64_C(3244341793), // URSHL_VG4_4Z4Z_H
7069 UINT64_C(3248536097), // URSHL_VG4_4Z4Z_S
7070 UINT64_C(3240143393), // URSHL_VG4_4ZZ_B
7071 UINT64_C(3252726305), // URSHL_VG4_4ZZ_D
7072 UINT64_C(3244337697), // URSHL_VG4_4ZZ_H
7073 UINT64_C(3248532001), // URSHL_VG4_4ZZ_S
7074 UINT64_C(1141080064), // URSHL_ZPmZ_B
7075 UINT64_C(1153662976), // URSHL_ZPmZ_D
7076 UINT64_C(1145274368), // URSHL_ZPmZ_H
7077 UINT64_C(1149468672), // URSHL_ZPmZ_S
7078 UINT64_C(1847612416), // URSHLv16i8
7079 UINT64_C(2128630784), // URSHLv1i64
7080 UINT64_C(782259200), // URSHLv2i32
7081 UINT64_C(1860195328), // URSHLv2i64
7082 UINT64_C(778064896), // URSHLv4i16
7083 UINT64_C(1856001024), // URSHLv4i32
7084 UINT64_C(1851806720), // URSHLv8i16
7085 UINT64_C(773870592), // URSHLv8i8
7086 UINT64_C(67993856), // URSHR_ZPmI_B
7087 UINT64_C(76382208), // URSHR_ZPmI_D
7088 UINT64_C(67994112), // URSHR_ZPmI_H
7089 UINT64_C(72187904), // URSHR_ZPmI_S
7090 UINT64_C(2134909952), // URSHRd
7091 UINT64_C(1862804480), // URSHRv16i8_shift
7092 UINT64_C(790635520), // URSHRv2i32_shift
7093 UINT64_C(1866474496), // URSHRv2i64_shift
7094 UINT64_C(789586944), // URSHRv4i16_shift
7095 UINT64_C(1864377344), // URSHRv4i32_shift
7096 UINT64_C(1863328768), // URSHRv8i16_shift
7097 UINT64_C(789062656), // URSHRv8i8_shift
7098 UINT64_C(1149345792), // URSQRTE_ZPmZ_S
7099 UINT64_C(1149476864), // URSQRTE_ZPzZ_S
7100 UINT64_C(782354432), // URSQRTEv2i32
7101 UINT64_C(1856096256), // URSQRTEv4i32
7102 UINT64_C(1158212608), // URSRA_ZZI_B
7103 UINT64_C(1166076928), // URSRA_ZZI_D
7104 UINT64_C(1158736896), // URSRA_ZZI_H
7105 UINT64_C(1161882624), // URSRA_ZZI_S
7106 UINT64_C(2134914048), // URSRAd
7107 UINT64_C(1862808576), // URSRAv16i8_shift
7108 UINT64_C(790639616), // URSRAv2i32_shift
7109 UINT64_C(1866478592), // URSRAv2i64_shift
7110 UINT64_C(789591040), // URSRAv4i16_shift
7111 UINT64_C(1864381440), // URSRAv4i32_shift
7112 UINT64_C(1863332864), // URSRAv8i16_shift
7113 UINT64_C(789066752), // URSRAv8i8_shift
7114 UINT64_C(3248493576), // USDOT_VG2_M2Z2Z_BToS
7115 UINT64_C(3243249704), // USDOT_VG2_M2ZZI_BToS
7116 UINT64_C(3240104968), // USDOT_VG2_M2ZZ_BToS
7117 UINT64_C(3248559112), // USDOT_VG4_M4Z4Z_BToS
7118 UINT64_C(3243282472), // USDOT_VG4_M4ZZI_BToS
7119 UINT64_C(3241153544), // USDOT_VG4_M4ZZ_BToS
7120 UINT64_C(1149270016), // USDOT_ZZZ
7121 UINT64_C(1151342592), // USDOT_ZZZI
7122 UINT64_C(1333850112), // USDOTlanev16i8
7123 UINT64_C(260108288), // USDOTlanev8i8
7124 UINT64_C(1317051392), // USDOTv16i8
7125 UINT64_C(243309568), // USDOTv8i8
7126 UINT64_C(1161865216), // USHLLB_ZZI_D
7127 UINT64_C(1158195200), // USHLLB_ZZI_H
7128 UINT64_C(1158719488), // USHLLB_ZZI_S
7129 UINT64_C(1161866240), // USHLLT_ZZI_D
7130 UINT64_C(1158196224), // USHLLT_ZZI_H
7131 UINT64_C(1158720512), // USHLLT_ZZI_S
7132 UINT64_C(1862837248), // USHLLv16i8_shift
7133 UINT64_C(790668288), // USHLLv2i32_shift
7134 UINT64_C(789619712), // USHLLv4i16_shift
7135 UINT64_C(1864410112), // USHLLv4i32_shift
7136 UINT64_C(1863361536), // USHLLv8i16_shift
7137 UINT64_C(789095424), // USHLLv8i8_shift
7138 UINT64_C(1847608320), // USHLv16i8
7139 UINT64_C(2128626688), // USHLv1i64
7140 UINT64_C(782255104), // USHLv2i32
7141 UINT64_C(1860191232), // USHLv2i64
7142 UINT64_C(778060800), // USHLv4i16
7143 UINT64_C(1855996928), // USHLv4i32
7144 UINT64_C(1851802624), // USHLv8i16
7145 UINT64_C(773866496), // USHLv8i8
7146 UINT64_C(2134901760), // USHRd
7147 UINT64_C(1862796288), // USHRv16i8_shift
7148 UINT64_C(790627328), // USHRv2i32_shift
7149 UINT64_C(1866466304), // USHRv2i64_shift
7150 UINT64_C(789578752), // USHRv4i16_shift
7151 UINT64_C(1864369152), // USHRv4i32_shift
7152 UINT64_C(1863320576), // USHRv8i16_shift
7153 UINT64_C(789054464), // USHRv8i8_shift
7154 UINT64_C(3238002692), // USMLALL_MZZI_BtoS
7155 UINT64_C(3240100868), // USMLALL_MZZ_BtoS
7156 UINT64_C(3248488452), // USMLALL_VG2_M2Z2Z_BtoS
7157 UINT64_C(3239051296), // USMLALL_VG2_M2ZZI_BtoS
7158 UINT64_C(3240099844), // USMLALL_VG2_M2ZZ_BtoS
7159 UINT64_C(3248553988), // USMLALL_VG4_M4Z4Z_BtoS
7160 UINT64_C(3239084064), // USMLALL_VG4_M4ZZI_BtoS
7161 UINT64_C(3241148420), // USMLALL_VG4_M4ZZ_BtoS
7162 UINT64_C(1317055488), // USMMLA
7163 UINT64_C(1166055424), // USMMLA_ZZZ
7164 UINT64_C(2165342720), // USMOP4A_M2Z2Z_BToS
7165 UINT64_C(2714763784), // USMOP4A_M2Z2Z_HtoD
7166 UINT64_C(2164294144), // USMOP4A_M2ZZ_BToS
7167 UINT64_C(2713715208), // USMOP4A_M2ZZ_HtoD
7168 UINT64_C(2165342208), // USMOP4A_MZ2Z_BToS
7169 UINT64_C(2714763272), // USMOP4A_MZ2Z_HtoD
7170 UINT64_C(2164293632), // USMOP4A_MZZ_BToS
7171 UINT64_C(2713714696), // USMOP4A_MZZ_HtoD
7172 UINT64_C(2165342736), // USMOP4S_M2Z2Z_BToS
7173 UINT64_C(2714763800), // USMOP4S_M2Z2Z_HtoD
7174 UINT64_C(2164294160), // USMOP4S_M2ZZ_BToS
7175 UINT64_C(2713715224), // USMOP4S_M2ZZ_HtoD
7176 UINT64_C(2165342224), // USMOP4S_MZ2Z_BToS
7177 UINT64_C(2714763288), // USMOP4S_MZ2Z_HtoD
7178 UINT64_C(2164293648), // USMOP4S_MZZ_BToS
7179 UINT64_C(2713714712), // USMOP4S_MZZ_HtoD
7180 UINT64_C(2713714688), // USMOPA_MPPZZ_D
7181 UINT64_C(2709520384), // USMOPA_MPPZZ_S
7182 UINT64_C(2713714704), // USMOPS_MPPZZ_D
7183 UINT64_C(2709520400), // USMOPS_MPPZZ_S
7184 UINT64_C(1142784000), // USQADD_ZPmZ_B
7185 UINT64_C(1155366912), // USQADD_ZPmZ_D
7186 UINT64_C(1146978304), // USQADD_ZPmZ_H
7187 UINT64_C(1151172608), // USQADD_ZPmZ_S
7188 UINT64_C(1847605248), // USQADDv16i8
7189 UINT64_C(2120235008), // USQADDv1i16
7190 UINT64_C(2124429312), // USQADDv1i32
7191 UINT64_C(2128623616), // USQADDv1i64
7192 UINT64_C(2116040704), // USQADDv1i8
7193 UINT64_C(782252032), // USQADDv2i32
7194 UINT64_C(1860188160), // USQADDv2i64
7195 UINT64_C(778057728), // USQADDv4i16
7196 UINT64_C(1855993856), // USQADDv4i32
7197 UINT64_C(1851799552), // USQADDv8i16
7198 UINT64_C(773863424), // USQADDv8i8
7199 UINT64_C(1158210560), // USRA_ZZI_B
7200 UINT64_C(1166074880), // USRA_ZZI_D
7201 UINT64_C(1158734848), // USRA_ZZI_H
7202 UINT64_C(1161880576), // USRA_ZZI_S
7203 UINT64_C(2134905856), // USRAd
7204 UINT64_C(1862800384), // USRAv16i8_shift
7205 UINT64_C(790631424), // USRAv2i32_shift
7206 UINT64_C(1866470400), // USRAv2i64_shift
7207 UINT64_C(789582848), // USRAv4i16_shift
7208 UINT64_C(1864373248), // USRAv4i32_shift
7209 UINT64_C(1863324672), // USRAv8i16_shift
7210 UINT64_C(789058560), // USRAv8i8_shift
7211 UINT64_C(2168487936), // USTMOPA_M2ZZZI_BtoS
7212 UINT64_C(1170216960), // USUBLB_ZZZ_D
7213 UINT64_C(1161828352), // USUBLB_ZZZ_H
7214 UINT64_C(1166022656), // USUBLB_ZZZ_S
7215 UINT64_C(1170217984), // USUBLT_ZZZ_D
7216 UINT64_C(1161829376), // USUBLT_ZZZ_H
7217 UINT64_C(1166023680), // USUBLT_ZZZ_S
7218 UINT64_C(1847599104), // USUBLv16i8_v8i16
7219 UINT64_C(782245888), // USUBLv2i32_v2i64
7220 UINT64_C(778051584), // USUBLv4i16_v4i32
7221 UINT64_C(1855987712), // USUBLv4i32_v2i64
7222 UINT64_C(1851793408), // USUBLv8i16_v4i32
7223 UINT64_C(773857280), // USUBLv8i8_v8i16
7224 UINT64_C(1170233344), // USUBWB_ZZZ_D
7225 UINT64_C(1161844736), // USUBWB_ZZZ_H
7226 UINT64_C(1166039040), // USUBWB_ZZZ_S
7227 UINT64_C(1170234368), // USUBWT_ZZZ_D
7228 UINT64_C(1161845760), // USUBWT_ZZZ_H
7229 UINT64_C(1166040064), // USUBWT_ZZZ_S
7230 UINT64_C(1847603200), // USUBWv16i8_v8i16
7231 UINT64_C(782249984), // USUBWv2i32_v2i64
7232 UINT64_C(778055680), // USUBWv4i16_v4i32
7233 UINT64_C(1855991808), // USUBWv4i32_v2i64
7234 UINT64_C(1851797504), // USUBWv8i16_v4i32
7235 UINT64_C(773861376), // USUBWv8i8_v8i16
7236 UINT64_C(3243278376), // USVDOT_VG4_M4ZZI_BToS
7237 UINT64_C(2170585088), // UTMOPA_M2ZZZI_BtoS
7238 UINT64_C(2168487944), // UTMOPA_M2ZZZI_HtoS
7239 UINT64_C(99825664), // UUNPKHI_ZZ_D
7240 UINT64_C(91437056), // UUNPKHI_ZZ_H
7241 UINT64_C(95631360), // UUNPKHI_ZZ_S
7242 UINT64_C(99760128), // UUNPKLO_ZZ_D
7243 UINT64_C(91371520), // UUNPKLO_ZZ_H
7244 UINT64_C(95565824), // UUNPKLO_ZZ_S
7245 UINT64_C(3253067777), // UUNPK_VG2_2ZZ_D
7246 UINT64_C(3244679169), // UUNPK_VG2_2ZZ_H
7247 UINT64_C(3248873473), // UUNPK_VG2_2ZZ_S
7248 UINT64_C(3254116353), // UUNPK_VG4_4Z2Z_D
7249 UINT64_C(3245727745), // UUNPK_VG4_4Z2Z_H
7250 UINT64_C(3249922049), // UUNPK_VG4_4Z2Z_S
7251 UINT64_C(3243245616), // UVDOT_VG2_M2ZZI_HtoS
7252 UINT64_C(3243278384), // UVDOT_VG4_M4ZZI_BtoS
7253 UINT64_C(3251669016), // UVDOT_VG4_M4ZZI_HtoD
7254 UINT64_C(80846848), // UXTB_ZPmZ_D
7255 UINT64_C(72458240), // UXTB_ZPmZ_H
7256 UINT64_C(76652544), // UXTB_ZPmZ_S
7257 UINT64_C(79798272), // UXTB_ZPzZ_D
7258 UINT64_C(71409664), // UXTB_ZPzZ_H
7259 UINT64_C(75603968), // UXTB_ZPzZ_S
7260 UINT64_C(80977920), // UXTH_ZPmZ_D
7261 UINT64_C(76783616), // UXTH_ZPmZ_S
7262 UINT64_C(79929344), // UXTH_ZPzZ_D
7263 UINT64_C(75735040), // UXTH_ZPzZ_S
7264 UINT64_C(81108992), // UXTW_ZPmZ_D
7265 UINT64_C(80060416), // UXTW_ZPzZ_D
7266 UINT64_C(86001664), // UZP1_PPP_B
7267 UINT64_C(98584576), // UZP1_PPP_D
7268 UINT64_C(90195968), // UZP1_PPP_H
7269 UINT64_C(94390272), // UZP1_PPP_S
7270 UINT64_C(86009856), // UZP1_ZZZ_B
7271 UINT64_C(98592768), // UZP1_ZZZ_D
7272 UINT64_C(90204160), // UZP1_ZZZ_H
7273 UINT64_C(94373888), // UZP1_ZZZ_Q
7274 UINT64_C(94398464), // UZP1_ZZZ_S
7275 UINT64_C(1308628992), // UZP1v16i8
7276 UINT64_C(243275776), // UZP1v2i32
7277 UINT64_C(1321211904), // UZP1v2i64
7278 UINT64_C(239081472), // UZP1v4i16
7279 UINT64_C(1317017600), // UZP1v4i32
7280 UINT64_C(1312823296), // UZP1v8i16
7281 UINT64_C(234887168), // UZP1v8i8
7282 UINT64_C(86002688), // UZP2_PPP_B
7283 UINT64_C(98585600), // UZP2_PPP_D
7284 UINT64_C(90196992), // UZP2_PPP_H
7285 UINT64_C(94391296), // UZP2_PPP_S
7286 UINT64_C(86010880), // UZP2_ZZZ_B
7287 UINT64_C(98593792), // UZP2_ZZZ_D
7288 UINT64_C(90205184), // UZP2_ZZZ_H
7289 UINT64_C(94374912), // UZP2_ZZZ_Q
7290 UINT64_C(94399488), // UZP2_ZZZ_S
7291 UINT64_C(1308645376), // UZP2v16i8
7292 UINT64_C(243292160), // UZP2v2i32
7293 UINT64_C(1321228288), // UZP2v2i64
7294 UINT64_C(239097856), // UZP2v4i16
7295 UINT64_C(1317033984), // UZP2v4i32
7296 UINT64_C(1312839680), // UZP2v8i16
7297 UINT64_C(234903552), // UZP2v8i8
7298 UINT64_C(1140910080), // UZPQ1_ZZZ_B
7299 UINT64_C(1153492992), // UZPQ1_ZZZ_D
7300 UINT64_C(1145104384), // UZPQ1_ZZZ_H
7301 UINT64_C(1149298688), // UZPQ1_ZZZ_S
7302 UINT64_C(1140911104), // UZPQ2_ZZZ_B
7303 UINT64_C(1153494016), // UZPQ2_ZZZ_D
7304 UINT64_C(1145105408), // UZPQ2_ZZZ_H
7305 UINT64_C(1149299712), // UZPQ2_ZZZ_S
7306 UINT64_C(3240153089), // UZP_VG2_2ZZZ_B
7307 UINT64_C(3252736001), // UZP_VG2_2ZZZ_D
7308 UINT64_C(3244347393), // UZP_VG2_2ZZZ_H
7309 UINT64_C(3240154113), // UZP_VG2_2ZZZ_Q
7310 UINT64_C(3248541697), // UZP_VG2_2ZZZ_S
7311 UINT64_C(3241598978), // UZP_VG4_4Z4Z_B
7312 UINT64_C(3254181890), // UZP_VG4_4Z4Z_D
7313 UINT64_C(3245793282), // UZP_VG4_4Z4Z_H
7314 UINT64_C(3241664514), // UZP_VG4_4Z4Z_Q
7315 UINT64_C(3249987586), // UZP_VG4_4Z4Z_S
7316 UINT64_C(3573747712), // WFET
7317 UINT64_C(3573747744), // WFIT
7318 UINT64_C(622874640), // WHILEGE_2PXX_B
7319 UINT64_C(635457552), // WHILEGE_2PXX_D
7320 UINT64_C(627068944), // WHILEGE_2PXX_H
7321 UINT64_C(631263248), // WHILEGE_2PXX_S
7322 UINT64_C(622870544), // WHILEGE_CXX_B
7323 UINT64_C(635453456), // WHILEGE_CXX_D
7324 UINT64_C(627064848), // WHILEGE_CXX_H
7325 UINT64_C(631259152), // WHILEGE_CXX_S
7326 UINT64_C(622854144), // WHILEGE_PWW_B
7327 UINT64_C(635437056), // WHILEGE_PWW_D
7328 UINT64_C(627048448), // WHILEGE_PWW_H
7329 UINT64_C(631242752), // WHILEGE_PWW_S
7330 UINT64_C(622858240), // WHILEGE_PXX_B
7331 UINT64_C(635441152), // WHILEGE_PXX_D
7332 UINT64_C(627052544), // WHILEGE_PXX_H
7333 UINT64_C(631246848), // WHILEGE_PXX_S
7334 UINT64_C(622874641), // WHILEGT_2PXX_B
7335 UINT64_C(635457553), // WHILEGT_2PXX_D
7336 UINT64_C(627068945), // WHILEGT_2PXX_H
7337 UINT64_C(631263249), // WHILEGT_2PXX_S
7338 UINT64_C(622870552), // WHILEGT_CXX_B
7339 UINT64_C(635453464), // WHILEGT_CXX_D
7340 UINT64_C(627064856), // WHILEGT_CXX_H
7341 UINT64_C(631259160), // WHILEGT_CXX_S
7342 UINT64_C(622854160), // WHILEGT_PWW_B
7343 UINT64_C(635437072), // WHILEGT_PWW_D
7344 UINT64_C(627048464), // WHILEGT_PWW_H
7345 UINT64_C(631242768), // WHILEGT_PWW_S
7346 UINT64_C(622858256), // WHILEGT_PXX_B
7347 UINT64_C(635441168), // WHILEGT_PXX_D
7348 UINT64_C(627052560), // WHILEGT_PXX_H
7349 UINT64_C(631246864), // WHILEGT_PXX_S
7350 UINT64_C(622876689), // WHILEHI_2PXX_B
7351 UINT64_C(635459601), // WHILEHI_2PXX_D
7352 UINT64_C(627070993), // WHILEHI_2PXX_H
7353 UINT64_C(631265297), // WHILEHI_2PXX_S
7354 UINT64_C(622872600), // WHILEHI_CXX_B
7355 UINT64_C(635455512), // WHILEHI_CXX_D
7356 UINT64_C(627066904), // WHILEHI_CXX_H
7357 UINT64_C(631261208), // WHILEHI_CXX_S
7358 UINT64_C(622856208), // WHILEHI_PWW_B
7359 UINT64_C(635439120), // WHILEHI_PWW_D
7360 UINT64_C(627050512), // WHILEHI_PWW_H
7361 UINT64_C(631244816), // WHILEHI_PWW_S
7362 UINT64_C(622860304), // WHILEHI_PXX_B
7363 UINT64_C(635443216), // WHILEHI_PXX_D
7364 UINT64_C(627054608), // WHILEHI_PXX_H
7365 UINT64_C(631248912), // WHILEHI_PXX_S
7366 UINT64_C(622876688), // WHILEHS_2PXX_B
7367 UINT64_C(635459600), // WHILEHS_2PXX_D
7368 UINT64_C(627070992), // WHILEHS_2PXX_H
7369 UINT64_C(631265296), // WHILEHS_2PXX_S
7370 UINT64_C(622872592), // WHILEHS_CXX_B
7371 UINT64_C(635455504), // WHILEHS_CXX_D
7372 UINT64_C(627066896), // WHILEHS_CXX_H
7373 UINT64_C(631261200), // WHILEHS_CXX_S
7374 UINT64_C(622856192), // WHILEHS_PWW_B
7375 UINT64_C(635439104), // WHILEHS_PWW_D
7376 UINT64_C(627050496), // WHILEHS_PWW_H
7377 UINT64_C(631244800), // WHILEHS_PWW_S
7378 UINT64_C(622860288), // WHILEHS_PXX_B
7379 UINT64_C(635443200), // WHILEHS_PXX_D
7380 UINT64_C(627054592), // WHILEHS_PXX_H
7381 UINT64_C(631248896), // WHILEHS_PXX_S
7382 UINT64_C(622875665), // WHILELE_2PXX_B
7383 UINT64_C(635458577), // WHILELE_2PXX_D
7384 UINT64_C(627069969), // WHILELE_2PXX_H
7385 UINT64_C(631264273), // WHILELE_2PXX_S
7386 UINT64_C(622871576), // WHILELE_CXX_B
7387 UINT64_C(635454488), // WHILELE_CXX_D
7388 UINT64_C(627065880), // WHILELE_CXX_H
7389 UINT64_C(631260184), // WHILELE_CXX_S
7390 UINT64_C(622855184), // WHILELE_PWW_B
7391 UINT64_C(635438096), // WHILELE_PWW_D
7392 UINT64_C(627049488), // WHILELE_PWW_H
7393 UINT64_C(631243792), // WHILELE_PWW_S
7394 UINT64_C(622859280), // WHILELE_PXX_B
7395 UINT64_C(635442192), // WHILELE_PXX_D
7396 UINT64_C(627053584), // WHILELE_PXX_H
7397 UINT64_C(631247888), // WHILELE_PXX_S
7398 UINT64_C(622877712), // WHILELO_2PXX_B
7399 UINT64_C(635460624), // WHILELO_2PXX_D
7400 UINT64_C(627072016), // WHILELO_2PXX_H
7401 UINT64_C(631266320), // WHILELO_2PXX_S
7402 UINT64_C(622873616), // WHILELO_CXX_B
7403 UINT64_C(635456528), // WHILELO_CXX_D
7404 UINT64_C(627067920), // WHILELO_CXX_H
7405 UINT64_C(631262224), // WHILELO_CXX_S
7406 UINT64_C(622857216), // WHILELO_PWW_B
7407 UINT64_C(635440128), // WHILELO_PWW_D
7408 UINT64_C(627051520), // WHILELO_PWW_H
7409 UINT64_C(631245824), // WHILELO_PWW_S
7410 UINT64_C(622861312), // WHILELO_PXX_B
7411 UINT64_C(635444224), // WHILELO_PXX_D
7412 UINT64_C(627055616), // WHILELO_PXX_H
7413 UINT64_C(631249920), // WHILELO_PXX_S
7414 UINT64_C(622877713), // WHILELS_2PXX_B
7415 UINT64_C(635460625), // WHILELS_2PXX_D
7416 UINT64_C(627072017), // WHILELS_2PXX_H
7417 UINT64_C(631266321), // WHILELS_2PXX_S
7418 UINT64_C(622873624), // WHILELS_CXX_B
7419 UINT64_C(635456536), // WHILELS_CXX_D
7420 UINT64_C(627067928), // WHILELS_CXX_H
7421 UINT64_C(631262232), // WHILELS_CXX_S
7422 UINT64_C(622857232), // WHILELS_PWW_B
7423 UINT64_C(635440144), // WHILELS_PWW_D
7424 UINT64_C(627051536), // WHILELS_PWW_H
7425 UINT64_C(631245840), // WHILELS_PWW_S
7426 UINT64_C(622861328), // WHILELS_PXX_B
7427 UINT64_C(635444240), // WHILELS_PXX_D
7428 UINT64_C(627055632), // WHILELS_PXX_H
7429 UINT64_C(631249936), // WHILELS_PXX_S
7430 UINT64_C(622875664), // WHILELT_2PXX_B
7431 UINT64_C(635458576), // WHILELT_2PXX_D
7432 UINT64_C(627069968), // WHILELT_2PXX_H
7433 UINT64_C(631264272), // WHILELT_2PXX_S
7434 UINT64_C(622871568), // WHILELT_CXX_B
7435 UINT64_C(635454480), // WHILELT_CXX_D
7436 UINT64_C(627065872), // WHILELT_CXX_H
7437 UINT64_C(631260176), // WHILELT_CXX_S
7438 UINT64_C(622855168), // WHILELT_PWW_B
7439 UINT64_C(635438080), // WHILELT_PWW_D
7440 UINT64_C(627049472), // WHILELT_PWW_H
7441 UINT64_C(631243776), // WHILELT_PWW_S
7442 UINT64_C(622859264), // WHILELT_PXX_B
7443 UINT64_C(635442176), // WHILELT_PXX_D
7444 UINT64_C(627053568), // WHILELT_PXX_H
7445 UINT64_C(631247872), // WHILELT_PXX_S
7446 UINT64_C(622866448), // WHILERW_PXX_B
7447 UINT64_C(635449360), // WHILERW_PXX_D
7448 UINT64_C(627060752), // WHILERW_PXX_H
7449 UINT64_C(631255056), // WHILERW_PXX_S
7450 UINT64_C(622866432), // WHILEWR_PXX_B
7451 UINT64_C(635449344), // WHILEWR_PXX_D
7452 UINT64_C(627060736), // WHILEWR_PXX_H
7453 UINT64_C(631255040), // WHILEWR_PXX_S
7454 UINT64_C(623415296), // WRFFR
7455 UINT64_C(3573563455), // XAFLAG
7456 UINT64_C(3464495104), // XAR
7457 UINT64_C(69743616), // XAR_ZZZI_B
7458 UINT64_C(77607936), // XAR_ZZZI_D
7459 UINT64_C(70267904), // XAR_ZZZI_H
7460 UINT64_C(73413632), // XAR_ZZZI_S
7461 UINT64_C(3670099936), // XPACD
7462 UINT64_C(3670098912), // XPACI
7463 UINT64_C(3573752063), // XPACLRI
7464 UINT64_C(1310795776), // XTNv16i8
7465 UINT64_C(245442560), // XTNv2i32
7466 UINT64_C(241248256), // XTNv4i16
7467 UINT64_C(1319184384), // XTNv4i32
7468 UINT64_C(1314990080), // XTNv8i16
7469 UINT64_C(237053952), // XTNv8i8
7470 UINT64_C(3221749760), // ZERO_M
7471 UINT64_C(3222044672), // ZERO_MXI_2Z
7472 UINT64_C(3222175744), // ZERO_MXI_4Z
7473 UINT64_C(3222077440), // ZERO_MXI_VG2_2Z
7474 UINT64_C(3222208512), // ZERO_MXI_VG2_4Z
7475 UINT64_C(3222011904), // ZERO_MXI_VG2_Z
7476 UINT64_C(3222110208), // ZERO_MXI_VG4_2Z
7477 UINT64_C(3222241280), // ZERO_MXI_VG4_4Z
7478 UINT64_C(3222142976), // ZERO_MXI_VG4_Z
7479 UINT64_C(3225944065), // ZERO_T
7480 UINT64_C(85999616), // ZIP1_PPP_B
7481 UINT64_C(98582528), // ZIP1_PPP_D
7482 UINT64_C(90193920), // ZIP1_PPP_H
7483 UINT64_C(94388224), // ZIP1_PPP_S
7484 UINT64_C(86007808), // ZIP1_ZZZ_B
7485 UINT64_C(98590720), // ZIP1_ZZZ_D
7486 UINT64_C(90202112), // ZIP1_ZZZ_H
7487 UINT64_C(94371840), // ZIP1_ZZZ_Q
7488 UINT64_C(94396416), // ZIP1_ZZZ_S
7489 UINT64_C(1308637184), // ZIP1v16i8
7490 UINT64_C(243283968), // ZIP1v2i32
7491 UINT64_C(1321220096), // ZIP1v2i64
7492 UINT64_C(239089664), // ZIP1v4i16
7493 UINT64_C(1317025792), // ZIP1v4i32
7494 UINT64_C(1312831488), // ZIP1v8i16
7495 UINT64_C(234895360), // ZIP1v8i8
7496 UINT64_C(86000640), // ZIP2_PPP_B
7497 UINT64_C(98583552), // ZIP2_PPP_D
7498 UINT64_C(90194944), // ZIP2_PPP_H
7499 UINT64_C(94389248), // ZIP2_PPP_S
7500 UINT64_C(86008832), // ZIP2_ZZZ_B
7501 UINT64_C(98591744), // ZIP2_ZZZ_D
7502 UINT64_C(90203136), // ZIP2_ZZZ_H
7503 UINT64_C(94372864), // ZIP2_ZZZ_Q
7504 UINT64_C(94397440), // ZIP2_ZZZ_S
7505 UINT64_C(1308653568), // ZIP2v16i8
7506 UINT64_C(243300352), // ZIP2v2i32
7507 UINT64_C(1321236480), // ZIP2v2i64
7508 UINT64_C(239106048), // ZIP2v4i16
7509 UINT64_C(1317042176), // ZIP2v4i32
7510 UINT64_C(1312847872), // ZIP2v8i16
7511 UINT64_C(234911744), // ZIP2v8i8
7512 UINT64_C(1140908032), // ZIPQ1_ZZZ_B
7513 UINT64_C(1153490944), // ZIPQ1_ZZZ_D
7514 UINT64_C(1145102336), // ZIPQ1_ZZZ_H
7515 UINT64_C(1149296640), // ZIPQ1_ZZZ_S
7516 UINT64_C(1140909056), // ZIPQ2_ZZZ_B
7517 UINT64_C(1153491968), // ZIPQ2_ZZZ_D
7518 UINT64_C(1145103360), // ZIPQ2_ZZZ_H
7519 UINT64_C(1149297664), // ZIPQ2_ZZZ_S
7520 UINT64_C(3240153088), // ZIP_VG2_2ZZZ_B
7521 UINT64_C(3252736000), // ZIP_VG2_2ZZZ_D
7522 UINT64_C(3244347392), // ZIP_VG2_2ZZZ_H
7523 UINT64_C(3240154112), // ZIP_VG2_2ZZZ_Q
7524 UINT64_C(3248541696), // ZIP_VG2_2ZZZ_S
7525 UINT64_C(3241598976), // ZIP_VG4_4Z4Z_B
7526 UINT64_C(3254181888), // ZIP_VG4_4Z4Z_D
7527 UINT64_C(3245793280), // ZIP_VG4_4Z4Z_H
7528 UINT64_C(3241664512), // ZIP_VG4_4Z4Z_Q
7529 UINT64_C(3249987584), // ZIP_VG4_4Z4Z_S
7530 };
7531 constexpr unsigned FirstSupportedOpcode = 1753;
7532
7533 const unsigned opcode = MI.getOpcode();
7534 if (opcode < FirstSupportedOpcode)
7535 reportUnsupportedInst(Inst: MI);
7536 unsigned TableIndex = opcode - FirstSupportedOpcode;
7537 uint64_t Value = InstBits[TableIndex];
7538 uint64_t op = 0;
7539 (void)op; // suppress warning
7540 switch (opcode) {
7541 case AArch64::AUTIA1716:
7542 case AArch64::AUTIA171615:
7543 case AArch64::AUTIASP:
7544 case AArch64::AUTIAZ:
7545 case AArch64::AUTIB1716:
7546 case AArch64::AUTIB171615:
7547 case AArch64::AUTIBSP:
7548 case AArch64::AUTIBZ:
7549 case AArch64::AXFLAG:
7550 case AArch64::CFINV:
7551 case AArch64::CHKFEAT:
7552 case AArch64::DRPS:
7553 case AArch64::ERET:
7554 case AArch64::ERETAA:
7555 case AArch64::ERETAB:
7556 case AArch64::GCSPOPCX:
7557 case AArch64::GCSPOPX:
7558 case AArch64::GCSPUSHX:
7559 case AArch64::NOP:
7560 case AArch64::PACIA1716:
7561 case AArch64::PACIA171615:
7562 case AArch64::PACIASP:
7563 case AArch64::PACIASPPC:
7564 case AArch64::PACIAZ:
7565 case AArch64::PACIB1716:
7566 case AArch64::PACIB171615:
7567 case AArch64::PACIBSP:
7568 case AArch64::PACIBSPPC:
7569 case AArch64::PACIBZ:
7570 case AArch64::PACM:
7571 case AArch64::PACNBIASPPC:
7572 case AArch64::PACNBIBSPPC:
7573 case AArch64::RETAA:
7574 case AArch64::RETAB:
7575 case AArch64::SB:
7576 case AArch64::SETFFR:
7577 case AArch64::XAFLAG:
7578 case AArch64::XPACLRI:
7579 case AArch64::ZERO_T: {
7580 break;
7581 }
7582 case AArch64::DSBnXS: {
7583 // op: CRm
7584 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7585 Value |= (op & 0xc) << 8;
7586 break;
7587 }
7588 case AArch64::CLREX:
7589 case AArch64::DMB:
7590 case AArch64::DSB:
7591 case AArch64::ISB: {
7592 // op: CRm
7593 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7594 Value |= (op & 0xf) << 8;
7595 break;
7596 }
7597 case AArch64::PTRUE_C_B:
7598 case AArch64::PTRUE_C_D:
7599 case AArch64::PTRUE_C_H:
7600 case AArch64::PTRUE_C_S: {
7601 // op: PNd
7602 op = EncodePNR_p8to15(MI, OpIdx: 0, Fixups, STI);
7603 Value |= (op & 0x7);
7604 break;
7605 }
7606 case AArch64::WHILEGE_CXX_B:
7607 case AArch64::WHILEGE_CXX_D:
7608 case AArch64::WHILEGE_CXX_H:
7609 case AArch64::WHILEGE_CXX_S:
7610 case AArch64::WHILEGT_CXX_B:
7611 case AArch64::WHILEGT_CXX_D:
7612 case AArch64::WHILEGT_CXX_H:
7613 case AArch64::WHILEGT_CXX_S:
7614 case AArch64::WHILEHI_CXX_B:
7615 case AArch64::WHILEHI_CXX_D:
7616 case AArch64::WHILEHI_CXX_H:
7617 case AArch64::WHILEHI_CXX_S:
7618 case AArch64::WHILEHS_CXX_B:
7619 case AArch64::WHILEHS_CXX_D:
7620 case AArch64::WHILEHS_CXX_H:
7621 case AArch64::WHILEHS_CXX_S:
7622 case AArch64::WHILELE_CXX_B:
7623 case AArch64::WHILELE_CXX_D:
7624 case AArch64::WHILELE_CXX_H:
7625 case AArch64::WHILELE_CXX_S:
7626 case AArch64::WHILELO_CXX_B:
7627 case AArch64::WHILELO_CXX_D:
7628 case AArch64::WHILELO_CXX_H:
7629 case AArch64::WHILELO_CXX_S:
7630 case AArch64::WHILELS_CXX_B:
7631 case AArch64::WHILELS_CXX_D:
7632 case AArch64::WHILELS_CXX_H:
7633 case AArch64::WHILELS_CXX_S:
7634 case AArch64::WHILELT_CXX_B:
7635 case AArch64::WHILELT_CXX_D:
7636 case AArch64::WHILELT_CXX_H:
7637 case AArch64::WHILELT_CXX_S: {
7638 // op: PNd
7639 op = EncodePNR_p8to15(MI, OpIdx: 0, Fixups, STI);
7640 Value |= (op & 0x7);
7641 // op: Rn
7642 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7643 Value |= (op & 0x1f) << 5;
7644 // op: vl
7645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7646 Value |= (op & 0x1) << 13;
7647 // op: Rm
7648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7649 Value |= (op & 0x1f) << 16;
7650 break;
7651 }
7652 case AArch64::SEL_VG2_2ZC2Z2Z_B:
7653 case AArch64::SEL_VG2_2ZC2Z2Z_D:
7654 case AArch64::SEL_VG2_2ZC2Z2Z_H:
7655 case AArch64::SEL_VG2_2ZC2Z2Z_S: {
7656 // op: PNg
7657 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7658 Value |= (op & 0x7) << 10;
7659 // op: Zm
7660 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 3, Fixups, STI);
7661 Value |= (op & 0xf) << 17;
7662 // op: Zn
7663 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
7664 Value |= (op & 0xf) << 6;
7665 // op: Zd
7666 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
7667 Value |= (op & 0xf) << 1;
7668 break;
7669 }
7670 case AArch64::SEL_VG4_4ZC4Z4Z_B:
7671 case AArch64::SEL_VG4_4ZC4Z4Z_D:
7672 case AArch64::SEL_VG4_4ZC4Z4Z_H:
7673 case AArch64::SEL_VG4_4ZC4Z4Z_S: {
7674 // op: PNg
7675 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7676 Value |= (op & 0x7) << 10;
7677 // op: Zm
7678 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 3, Fixups, STI);
7679 Value |= (op & 0x7) << 18;
7680 // op: Zn
7681 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 2, Fixups, STI);
7682 Value |= (op & 0x7) << 7;
7683 // op: Zd
7684 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
7685 Value |= (op & 0x7) << 2;
7686 break;
7687 }
7688 case AArch64::WHILEGE_2PXX_B:
7689 case AArch64::WHILEGE_2PXX_D:
7690 case AArch64::WHILEGE_2PXX_H:
7691 case AArch64::WHILEGE_2PXX_S:
7692 case AArch64::WHILEGT_2PXX_B:
7693 case AArch64::WHILEGT_2PXX_D:
7694 case AArch64::WHILEGT_2PXX_H:
7695 case AArch64::WHILEGT_2PXX_S:
7696 case AArch64::WHILEHI_2PXX_B:
7697 case AArch64::WHILEHI_2PXX_D:
7698 case AArch64::WHILEHI_2PXX_H:
7699 case AArch64::WHILEHI_2PXX_S:
7700 case AArch64::WHILEHS_2PXX_B:
7701 case AArch64::WHILEHS_2PXX_D:
7702 case AArch64::WHILEHS_2PXX_H:
7703 case AArch64::WHILEHS_2PXX_S:
7704 case AArch64::WHILELE_2PXX_B:
7705 case AArch64::WHILELE_2PXX_D:
7706 case AArch64::WHILELE_2PXX_H:
7707 case AArch64::WHILELE_2PXX_S:
7708 case AArch64::WHILELO_2PXX_B:
7709 case AArch64::WHILELO_2PXX_D:
7710 case AArch64::WHILELO_2PXX_H:
7711 case AArch64::WHILELO_2PXX_S:
7712 case AArch64::WHILELS_2PXX_B:
7713 case AArch64::WHILELS_2PXX_D:
7714 case AArch64::WHILELS_2PXX_H:
7715 case AArch64::WHILELS_2PXX_S:
7716 case AArch64::WHILELT_2PXX_B:
7717 case AArch64::WHILELT_2PXX_D:
7718 case AArch64::WHILELT_2PXX_H:
7719 case AArch64::WHILELT_2PXX_S: {
7720 // op: Pd
7721 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 0, Fixups, STI);
7722 Value |= (op & 0x7) << 1;
7723 // op: Rn
7724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7725 Value |= (op & 0x1f) << 5;
7726 // op: Rm
7727 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7728 Value |= (op & 0x1f) << 16;
7729 break;
7730 }
7731 case AArch64::PFALSE:
7732 case AArch64::RDFFR_P: {
7733 // op: Pd
7734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7735 Value |= (op & 0xf);
7736 break;
7737 }
7738 case AArch64::PEXT_2PCI_B:
7739 case AArch64::PEXT_2PCI_D:
7740 case AArch64::PEXT_2PCI_H:
7741 case AArch64::PEXT_2PCI_S: {
7742 // op: Pd
7743 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7744 Value |= (op & 0xf);
7745 // op: PNn
7746 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7747 Value |= (op & 0x7) << 5;
7748 // op: index
7749 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7750 Value |= (op & 0x1) << 8;
7751 break;
7752 }
7753 case AArch64::PEXT_PCI_B:
7754 case AArch64::PEXT_PCI_D:
7755 case AArch64::PEXT_PCI_H:
7756 case AArch64::PEXT_PCI_S: {
7757 // op: Pd
7758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7759 Value |= (op & 0xf);
7760 // op: PNn
7761 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7762 Value |= (op & 0x7) << 5;
7763 // op: index
7764 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7765 Value |= (op & 0x3) << 8;
7766 break;
7767 }
7768 case AArch64::CMPEQ_PPzZZ_B:
7769 case AArch64::CMPEQ_PPzZZ_D:
7770 case AArch64::CMPEQ_PPzZZ_H:
7771 case AArch64::CMPEQ_PPzZZ_S:
7772 case AArch64::CMPEQ_WIDE_PPzZZ_B:
7773 case AArch64::CMPEQ_WIDE_PPzZZ_H:
7774 case AArch64::CMPEQ_WIDE_PPzZZ_S:
7775 case AArch64::CMPGE_PPzZZ_B:
7776 case AArch64::CMPGE_PPzZZ_D:
7777 case AArch64::CMPGE_PPzZZ_H:
7778 case AArch64::CMPGE_PPzZZ_S:
7779 case AArch64::CMPGE_WIDE_PPzZZ_B:
7780 case AArch64::CMPGE_WIDE_PPzZZ_H:
7781 case AArch64::CMPGE_WIDE_PPzZZ_S:
7782 case AArch64::CMPGT_PPzZZ_B:
7783 case AArch64::CMPGT_PPzZZ_D:
7784 case AArch64::CMPGT_PPzZZ_H:
7785 case AArch64::CMPGT_PPzZZ_S:
7786 case AArch64::CMPGT_WIDE_PPzZZ_B:
7787 case AArch64::CMPGT_WIDE_PPzZZ_H:
7788 case AArch64::CMPGT_WIDE_PPzZZ_S:
7789 case AArch64::CMPHI_PPzZZ_B:
7790 case AArch64::CMPHI_PPzZZ_D:
7791 case AArch64::CMPHI_PPzZZ_H:
7792 case AArch64::CMPHI_PPzZZ_S:
7793 case AArch64::CMPHI_WIDE_PPzZZ_B:
7794 case AArch64::CMPHI_WIDE_PPzZZ_H:
7795 case AArch64::CMPHI_WIDE_PPzZZ_S:
7796 case AArch64::CMPHS_PPzZZ_B:
7797 case AArch64::CMPHS_PPzZZ_D:
7798 case AArch64::CMPHS_PPzZZ_H:
7799 case AArch64::CMPHS_PPzZZ_S:
7800 case AArch64::CMPHS_WIDE_PPzZZ_B:
7801 case AArch64::CMPHS_WIDE_PPzZZ_H:
7802 case AArch64::CMPHS_WIDE_PPzZZ_S:
7803 case AArch64::CMPLE_WIDE_PPzZZ_B:
7804 case AArch64::CMPLE_WIDE_PPzZZ_H:
7805 case AArch64::CMPLE_WIDE_PPzZZ_S:
7806 case AArch64::CMPLO_WIDE_PPzZZ_B:
7807 case AArch64::CMPLO_WIDE_PPzZZ_H:
7808 case AArch64::CMPLO_WIDE_PPzZZ_S:
7809 case AArch64::CMPLS_WIDE_PPzZZ_B:
7810 case AArch64::CMPLS_WIDE_PPzZZ_H:
7811 case AArch64::CMPLS_WIDE_PPzZZ_S:
7812 case AArch64::CMPLT_WIDE_PPzZZ_B:
7813 case AArch64::CMPLT_WIDE_PPzZZ_H:
7814 case AArch64::CMPLT_WIDE_PPzZZ_S:
7815 case AArch64::CMPNE_PPzZZ_B:
7816 case AArch64::CMPNE_PPzZZ_D:
7817 case AArch64::CMPNE_PPzZZ_H:
7818 case AArch64::CMPNE_PPzZZ_S:
7819 case AArch64::CMPNE_WIDE_PPzZZ_B:
7820 case AArch64::CMPNE_WIDE_PPzZZ_H:
7821 case AArch64::CMPNE_WIDE_PPzZZ_S:
7822 case AArch64::FACGE_PPzZZ_D:
7823 case AArch64::FACGE_PPzZZ_H:
7824 case AArch64::FACGE_PPzZZ_S:
7825 case AArch64::FACGT_PPzZZ_D:
7826 case AArch64::FACGT_PPzZZ_H:
7827 case AArch64::FACGT_PPzZZ_S:
7828 case AArch64::FCMEQ_PPzZZ_D:
7829 case AArch64::FCMEQ_PPzZZ_H:
7830 case AArch64::FCMEQ_PPzZZ_S:
7831 case AArch64::FCMGE_PPzZZ_D:
7832 case AArch64::FCMGE_PPzZZ_H:
7833 case AArch64::FCMGE_PPzZZ_S:
7834 case AArch64::FCMGT_PPzZZ_D:
7835 case AArch64::FCMGT_PPzZZ_H:
7836 case AArch64::FCMGT_PPzZZ_S:
7837 case AArch64::FCMNE_PPzZZ_D:
7838 case AArch64::FCMNE_PPzZZ_H:
7839 case AArch64::FCMNE_PPzZZ_S:
7840 case AArch64::FCMUO_PPzZZ_D:
7841 case AArch64::FCMUO_PPzZZ_H:
7842 case AArch64::FCMUO_PPzZZ_S:
7843 case AArch64::MATCH_PPzZZ_B:
7844 case AArch64::MATCH_PPzZZ_H:
7845 case AArch64::NMATCH_PPzZZ_B:
7846 case AArch64::NMATCH_PPzZZ_H: {
7847 // op: Pd
7848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7849 Value |= (op & 0xf);
7850 // op: Pg
7851 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7852 Value |= (op & 0x7) << 10;
7853 // op: Zm
7854 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7855 Value |= (op & 0x1f) << 16;
7856 // op: Zn
7857 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7858 Value |= (op & 0x1f) << 5;
7859 break;
7860 }
7861 case AArch64::FCMEQ_PPzZ0_D:
7862 case AArch64::FCMEQ_PPzZ0_H:
7863 case AArch64::FCMEQ_PPzZ0_S:
7864 case AArch64::FCMGE_PPzZ0_D:
7865 case AArch64::FCMGE_PPzZ0_H:
7866 case AArch64::FCMGE_PPzZ0_S:
7867 case AArch64::FCMGT_PPzZ0_D:
7868 case AArch64::FCMGT_PPzZ0_H:
7869 case AArch64::FCMGT_PPzZ0_S:
7870 case AArch64::FCMLE_PPzZ0_D:
7871 case AArch64::FCMLE_PPzZ0_H:
7872 case AArch64::FCMLE_PPzZ0_S:
7873 case AArch64::FCMLT_PPzZ0_D:
7874 case AArch64::FCMLT_PPzZ0_H:
7875 case AArch64::FCMLT_PPzZ0_S:
7876 case AArch64::FCMNE_PPzZ0_D:
7877 case AArch64::FCMNE_PPzZ0_H:
7878 case AArch64::FCMNE_PPzZ0_S: {
7879 // op: Pd
7880 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7881 Value |= (op & 0xf);
7882 // op: Pg
7883 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7884 Value |= (op & 0x7) << 10;
7885 // op: Zn
7886 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7887 Value |= (op & 0x1f) << 5;
7888 break;
7889 }
7890 case AArch64::CMPEQ_PPzZI_B:
7891 case AArch64::CMPEQ_PPzZI_D:
7892 case AArch64::CMPEQ_PPzZI_H:
7893 case AArch64::CMPEQ_PPzZI_S:
7894 case AArch64::CMPGE_PPzZI_B:
7895 case AArch64::CMPGE_PPzZI_D:
7896 case AArch64::CMPGE_PPzZI_H:
7897 case AArch64::CMPGE_PPzZI_S:
7898 case AArch64::CMPGT_PPzZI_B:
7899 case AArch64::CMPGT_PPzZI_D:
7900 case AArch64::CMPGT_PPzZI_H:
7901 case AArch64::CMPGT_PPzZI_S:
7902 case AArch64::CMPLE_PPzZI_B:
7903 case AArch64::CMPLE_PPzZI_D:
7904 case AArch64::CMPLE_PPzZI_H:
7905 case AArch64::CMPLE_PPzZI_S:
7906 case AArch64::CMPLT_PPzZI_B:
7907 case AArch64::CMPLT_PPzZI_D:
7908 case AArch64::CMPLT_PPzZI_H:
7909 case AArch64::CMPLT_PPzZI_S:
7910 case AArch64::CMPNE_PPzZI_B:
7911 case AArch64::CMPNE_PPzZI_D:
7912 case AArch64::CMPNE_PPzZI_H:
7913 case AArch64::CMPNE_PPzZI_S: {
7914 // op: Pd
7915 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7916 Value |= (op & 0xf);
7917 // op: Pg
7918 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7919 Value |= (op & 0x7) << 10;
7920 // op: Zn
7921 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7922 Value |= (op & 0x1f) << 5;
7923 // op: imm5
7924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7925 Value |= (op & 0x1f) << 16;
7926 break;
7927 }
7928 case AArch64::CMPHI_PPzZI_B:
7929 case AArch64::CMPHI_PPzZI_D:
7930 case AArch64::CMPHI_PPzZI_H:
7931 case AArch64::CMPHI_PPzZI_S:
7932 case AArch64::CMPHS_PPzZI_B:
7933 case AArch64::CMPHS_PPzZI_D:
7934 case AArch64::CMPHS_PPzZI_H:
7935 case AArch64::CMPHS_PPzZI_S:
7936 case AArch64::CMPLO_PPzZI_B:
7937 case AArch64::CMPLO_PPzZI_D:
7938 case AArch64::CMPLO_PPzZI_H:
7939 case AArch64::CMPLO_PPzZI_S:
7940 case AArch64::CMPLS_PPzZI_B:
7941 case AArch64::CMPLS_PPzZI_D:
7942 case AArch64::CMPLS_PPzZI_H:
7943 case AArch64::CMPLS_PPzZI_S: {
7944 // op: Pd
7945 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7946 Value |= (op & 0xf);
7947 // op: Pg
7948 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7949 Value |= (op & 0x7) << 10;
7950 // op: Zn
7951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7952 Value |= (op & 0x1f) << 5;
7953 // op: imm7
7954 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7955 Value |= (op & 0x7f) << 14;
7956 break;
7957 }
7958 case AArch64::ANDS_PPzPP:
7959 case AArch64::AND_PPzPP:
7960 case AArch64::BICS_PPzPP:
7961 case AArch64::BIC_PPzPP:
7962 case AArch64::BRKPAS_PPzPP:
7963 case AArch64::BRKPA_PPzPP:
7964 case AArch64::BRKPBS_PPzPP:
7965 case AArch64::BRKPB_PPzPP:
7966 case AArch64::EORS_PPzPP:
7967 case AArch64::EOR_PPzPP:
7968 case AArch64::NANDS_PPzPP:
7969 case AArch64::NAND_PPzPP:
7970 case AArch64::NORS_PPzPP:
7971 case AArch64::NOR_PPzPP:
7972 case AArch64::ORNS_PPzPP:
7973 case AArch64::ORN_PPzPP:
7974 case AArch64::ORRS_PPzPP:
7975 case AArch64::ORR_PPzPP:
7976 case AArch64::SEL_PPPP: {
7977 // op: Pd
7978 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7979 Value |= (op & 0xf);
7980 // op: Pg
7981 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7982 Value |= (op & 0xf) << 10;
7983 // op: Pm
7984 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7985 Value |= (op & 0xf) << 16;
7986 // op: Pn
7987 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7988 Value |= (op & 0xf) << 5;
7989 break;
7990 }
7991 case AArch64::BRKAS_PPzP:
7992 case AArch64::BRKA_PPzP:
7993 case AArch64::BRKBS_PPzP:
7994 case AArch64::BRKB_PPzP: {
7995 // op: Pd
7996 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7997 Value |= (op & 0xf);
7998 // op: Pg
7999 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8000 Value |= (op & 0xf) << 10;
8001 // op: Pn
8002 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8003 Value |= (op & 0xf) << 5;
8004 break;
8005 }
8006 case AArch64::RDFFRS_PPz:
8007 case AArch64::RDFFR_PPz: {
8008 // op: Pd
8009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8010 Value |= (op & 0xf);
8011 // op: Pg
8012 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8013 Value |= (op & 0xf) << 5;
8014 break;
8015 }
8016 case AArch64::BRKA_PPmP:
8017 case AArch64::BRKB_PPmP: {
8018 // op: Pd
8019 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8020 Value |= (op & 0xf);
8021 // op: Pg
8022 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8023 Value |= (op & 0xf) << 10;
8024 // op: Pn
8025 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8026 Value |= (op & 0xf) << 5;
8027 break;
8028 }
8029 case AArch64::TRN1_PPP_B:
8030 case AArch64::TRN1_PPP_D:
8031 case AArch64::TRN1_PPP_H:
8032 case AArch64::TRN1_PPP_S:
8033 case AArch64::TRN2_PPP_B:
8034 case AArch64::TRN2_PPP_D:
8035 case AArch64::TRN2_PPP_H:
8036 case AArch64::TRN2_PPP_S:
8037 case AArch64::UZP1_PPP_B:
8038 case AArch64::UZP1_PPP_D:
8039 case AArch64::UZP1_PPP_H:
8040 case AArch64::UZP1_PPP_S:
8041 case AArch64::UZP2_PPP_B:
8042 case AArch64::UZP2_PPP_D:
8043 case AArch64::UZP2_PPP_H:
8044 case AArch64::UZP2_PPP_S:
8045 case AArch64::ZIP1_PPP_B:
8046 case AArch64::ZIP1_PPP_D:
8047 case AArch64::ZIP1_PPP_H:
8048 case AArch64::ZIP1_PPP_S:
8049 case AArch64::ZIP2_PPP_B:
8050 case AArch64::ZIP2_PPP_D:
8051 case AArch64::ZIP2_PPP_H:
8052 case AArch64::ZIP2_PPP_S: {
8053 // op: Pd
8054 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8055 Value |= (op & 0xf);
8056 // op: Pm
8057 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8058 Value |= (op & 0xf) << 16;
8059 // op: Pn
8060 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8061 Value |= (op & 0xf) << 5;
8062 break;
8063 }
8064 case AArch64::PUNPKHI_PP:
8065 case AArch64::PUNPKLO_PP:
8066 case AArch64::REV_PP_B:
8067 case AArch64::REV_PP_D:
8068 case AArch64::REV_PP_H:
8069 case AArch64::REV_PP_S: {
8070 // op: Pd
8071 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8072 Value |= (op & 0xf);
8073 // op: Pn
8074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8075 Value |= (op & 0xf) << 5;
8076 break;
8077 }
8078 case AArch64::WHILEGE_PWW_B:
8079 case AArch64::WHILEGE_PWW_D:
8080 case AArch64::WHILEGE_PWW_H:
8081 case AArch64::WHILEGE_PWW_S:
8082 case AArch64::WHILEGE_PXX_B:
8083 case AArch64::WHILEGE_PXX_D:
8084 case AArch64::WHILEGE_PXX_H:
8085 case AArch64::WHILEGE_PXX_S:
8086 case AArch64::WHILEGT_PWW_B:
8087 case AArch64::WHILEGT_PWW_D:
8088 case AArch64::WHILEGT_PWW_H:
8089 case AArch64::WHILEGT_PWW_S:
8090 case AArch64::WHILEGT_PXX_B:
8091 case AArch64::WHILEGT_PXX_D:
8092 case AArch64::WHILEGT_PXX_H:
8093 case AArch64::WHILEGT_PXX_S:
8094 case AArch64::WHILEHI_PWW_B:
8095 case AArch64::WHILEHI_PWW_D:
8096 case AArch64::WHILEHI_PWW_H:
8097 case AArch64::WHILEHI_PWW_S:
8098 case AArch64::WHILEHI_PXX_B:
8099 case AArch64::WHILEHI_PXX_D:
8100 case AArch64::WHILEHI_PXX_H:
8101 case AArch64::WHILEHI_PXX_S:
8102 case AArch64::WHILEHS_PWW_B:
8103 case AArch64::WHILEHS_PWW_D:
8104 case AArch64::WHILEHS_PWW_H:
8105 case AArch64::WHILEHS_PWW_S:
8106 case AArch64::WHILEHS_PXX_B:
8107 case AArch64::WHILEHS_PXX_D:
8108 case AArch64::WHILEHS_PXX_H:
8109 case AArch64::WHILEHS_PXX_S:
8110 case AArch64::WHILELE_PWW_B:
8111 case AArch64::WHILELE_PWW_D:
8112 case AArch64::WHILELE_PWW_H:
8113 case AArch64::WHILELE_PWW_S:
8114 case AArch64::WHILELE_PXX_B:
8115 case AArch64::WHILELE_PXX_D:
8116 case AArch64::WHILELE_PXX_H:
8117 case AArch64::WHILELE_PXX_S:
8118 case AArch64::WHILELO_PWW_B:
8119 case AArch64::WHILELO_PWW_D:
8120 case AArch64::WHILELO_PWW_H:
8121 case AArch64::WHILELO_PWW_S:
8122 case AArch64::WHILELO_PXX_B:
8123 case AArch64::WHILELO_PXX_D:
8124 case AArch64::WHILELO_PXX_H:
8125 case AArch64::WHILELO_PXX_S:
8126 case AArch64::WHILELS_PWW_B:
8127 case AArch64::WHILELS_PWW_D:
8128 case AArch64::WHILELS_PWW_H:
8129 case AArch64::WHILELS_PWW_S:
8130 case AArch64::WHILELS_PXX_B:
8131 case AArch64::WHILELS_PXX_D:
8132 case AArch64::WHILELS_PXX_H:
8133 case AArch64::WHILELS_PXX_S:
8134 case AArch64::WHILELT_PWW_B:
8135 case AArch64::WHILELT_PWW_D:
8136 case AArch64::WHILELT_PWW_H:
8137 case AArch64::WHILELT_PWW_S:
8138 case AArch64::WHILELT_PXX_B:
8139 case AArch64::WHILELT_PXX_D:
8140 case AArch64::WHILELT_PXX_H:
8141 case AArch64::WHILELT_PXX_S:
8142 case AArch64::WHILERW_PXX_B:
8143 case AArch64::WHILERW_PXX_D:
8144 case AArch64::WHILERW_PXX_H:
8145 case AArch64::WHILERW_PXX_S:
8146 case AArch64::WHILEWR_PXX_B:
8147 case AArch64::WHILEWR_PXX_D:
8148 case AArch64::WHILEWR_PXX_H:
8149 case AArch64::WHILEWR_PXX_S: {
8150 // op: Pd
8151 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8152 Value |= (op & 0xf);
8153 // op: Rm
8154 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8155 Value |= (op & 0x1f) << 16;
8156 // op: Rn
8157 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8158 Value |= (op & 0x1f) << 5;
8159 break;
8160 }
8161 case AArch64::PMOV_PZI_B: {
8162 // op: Pd
8163 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8164 Value |= (op & 0xf);
8165 // op: Zn
8166 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8167 Value |= (op & 0x1f) << 5;
8168 break;
8169 }
8170 case AArch64::PMOV_PZI_H: {
8171 // op: Pd
8172 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8173 Value |= (op & 0xf);
8174 // op: Zn
8175 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8176 Value |= (op & 0x1f) << 5;
8177 // op: index
8178 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8179 Value |= (op & 0x1) << 17;
8180 break;
8181 }
8182 case AArch64::PMOV_PZI_S: {
8183 // op: Pd
8184 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8185 Value |= (op & 0xf);
8186 // op: Zn
8187 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8188 Value |= (op & 0x1f) << 5;
8189 // op: index
8190 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8191 Value |= (op & 0x3) << 17;
8192 break;
8193 }
8194 case AArch64::PMOV_PZI_D: {
8195 // op: Pd
8196 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8197 Value |= (op & 0xf);
8198 // op: Zn
8199 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8200 Value |= (op & 0x1f) << 5;
8201 // op: index
8202 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8203 Value |= (op & 0x4) << 20;
8204 Value |= (op & 0x3) << 17;
8205 break;
8206 }
8207 case AArch64::PTRUES_B:
8208 case AArch64::PTRUES_D:
8209 case AArch64::PTRUES_H:
8210 case AArch64::PTRUES_S:
8211 case AArch64::PTRUE_B:
8212 case AArch64::PTRUE_D:
8213 case AArch64::PTRUE_H:
8214 case AArch64::PTRUE_S: {
8215 // op: Pd
8216 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8217 Value |= (op & 0xf);
8218 // op: pattern
8219 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8220 Value |= (op & 0x1f) << 5;
8221 break;
8222 }
8223 case AArch64::BRKNS_PPzP:
8224 case AArch64::BRKN_PPzP: {
8225 // op: Pdm
8226 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8227 Value |= (op & 0xf);
8228 // op: Pg
8229 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8230 Value |= (op & 0xf) << 10;
8231 // op: Pn
8232 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8233 Value |= (op & 0xf) << 5;
8234 break;
8235 }
8236 case AArch64::PFIRST_B:
8237 case AArch64::PNEXT_B:
8238 case AArch64::PNEXT_D:
8239 case AArch64::PNEXT_H:
8240 case AArch64::PNEXT_S: {
8241 // op: Pdn
8242 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8243 Value |= (op & 0xf);
8244 // op: Pg
8245 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8246 Value |= (op & 0xf) << 5;
8247 break;
8248 }
8249 case AArch64::PTEST_PP: {
8250 // op: Pg
8251 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8252 Value |= (op & 0xf) << 10;
8253 // op: Pn
8254 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8255 Value |= (op & 0xf) << 5;
8256 break;
8257 }
8258 case AArch64::LASTA_RPZ_B:
8259 case AArch64::LASTA_RPZ_D:
8260 case AArch64::LASTA_RPZ_H:
8261 case AArch64::LASTA_RPZ_S:
8262 case AArch64::LASTB_RPZ_B:
8263 case AArch64::LASTB_RPZ_D:
8264 case AArch64::LASTB_RPZ_H:
8265 case AArch64::LASTB_RPZ_S: {
8266 // op: Pg
8267 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8268 Value |= (op & 0x7) << 10;
8269 // op: Rd
8270 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8271 Value |= (op & 0x1f);
8272 // op: Zn
8273 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8274 Value |= (op & 0x1f) << 5;
8275 break;
8276 }
8277 case AArch64::CLASTA_RPZ_B:
8278 case AArch64::CLASTA_RPZ_D:
8279 case AArch64::CLASTA_RPZ_H:
8280 case AArch64::CLASTA_RPZ_S:
8281 case AArch64::CLASTB_RPZ_B:
8282 case AArch64::CLASTB_RPZ_D:
8283 case AArch64::CLASTB_RPZ_H:
8284 case AArch64::CLASTB_RPZ_S: {
8285 // op: Pg
8286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8287 Value |= (op & 0x7) << 10;
8288 // op: Rdn
8289 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8290 Value |= (op & 0x1f);
8291 // op: Zm
8292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8293 Value |= (op & 0x1f) << 5;
8294 break;
8295 }
8296 case AArch64::LD2B:
8297 case AArch64::LD2D:
8298 case AArch64::LD2H:
8299 case AArch64::LD2Q:
8300 case AArch64::LD2W:
8301 case AArch64::LD3B:
8302 case AArch64::LD3D:
8303 case AArch64::LD3H:
8304 case AArch64::LD3Q:
8305 case AArch64::LD3W:
8306 case AArch64::LD4B:
8307 case AArch64::LD4D:
8308 case AArch64::LD4H:
8309 case AArch64::LD4Q:
8310 case AArch64::LD4W:
8311 case AArch64::LDNT1B_ZRR:
8312 case AArch64::LDNT1D_ZRR:
8313 case AArch64::LDNT1H_ZRR:
8314 case AArch64::LDNT1W_ZRR:
8315 case AArch64::ST1B:
8316 case AArch64::ST1B_D:
8317 case AArch64::ST1B_H:
8318 case AArch64::ST1B_S:
8319 case AArch64::ST1D:
8320 case AArch64::ST1D_Q:
8321 case AArch64::ST1H:
8322 case AArch64::ST1H_D:
8323 case AArch64::ST1H_S:
8324 case AArch64::ST1W:
8325 case AArch64::ST1W_D:
8326 case AArch64::ST1W_Q:
8327 case AArch64::ST2B:
8328 case AArch64::ST2D:
8329 case AArch64::ST2H:
8330 case AArch64::ST2W:
8331 case AArch64::ST3B:
8332 case AArch64::ST3D:
8333 case AArch64::ST3H:
8334 case AArch64::ST3W:
8335 case AArch64::ST4B:
8336 case AArch64::ST4D:
8337 case AArch64::ST4H:
8338 case AArch64::ST4W:
8339 case AArch64::STNT1B_ZRR:
8340 case AArch64::STNT1D_ZRR:
8341 case AArch64::STNT1H_ZRR:
8342 case AArch64::STNT1W_ZRR: {
8343 // op: Pg
8344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8345 Value |= (op & 0x7) << 10;
8346 // op: Rm
8347 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8348 Value |= (op & 0x1f) << 16;
8349 // op: Rn
8350 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8351 Value |= (op & 0x1f) << 5;
8352 // op: Zt
8353 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8354 Value |= (op & 0x1f);
8355 break;
8356 }
8357 case AArch64::LDNT1B_ZZR_D:
8358 case AArch64::LDNT1B_ZZR_S:
8359 case AArch64::LDNT1D_ZZR_D:
8360 case AArch64::LDNT1H_ZZR_D:
8361 case AArch64::LDNT1H_ZZR_S:
8362 case AArch64::LDNT1SB_ZZR_D:
8363 case AArch64::LDNT1SB_ZZR_S:
8364 case AArch64::LDNT1SH_ZZR_D:
8365 case AArch64::LDNT1SH_ZZR_S:
8366 case AArch64::LDNT1SW_ZZR_D:
8367 case AArch64::LDNT1W_ZZR_D:
8368 case AArch64::LDNT1W_ZZR_S:
8369 case AArch64::STNT1B_ZZR_D:
8370 case AArch64::STNT1B_ZZR_S:
8371 case AArch64::STNT1D_ZZR_D:
8372 case AArch64::STNT1H_ZZR_D:
8373 case AArch64::STNT1H_ZZR_S:
8374 case AArch64::STNT1W_ZZR_D:
8375 case AArch64::STNT1W_ZZR_S: {
8376 // op: Pg
8377 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8378 Value |= (op & 0x7) << 10;
8379 // op: Rm
8380 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8381 Value |= (op & 0x1f) << 16;
8382 // op: Zn
8383 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8384 Value |= (op & 0x1f) << 5;
8385 // op: Zt
8386 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8387 Value |= (op & 0x1f);
8388 break;
8389 }
8390 case AArch64::GLD1B_D:
8391 case AArch64::GLD1B_D_SXTW:
8392 case AArch64::GLD1B_D_UXTW:
8393 case AArch64::GLD1B_S_SXTW:
8394 case AArch64::GLD1B_S_UXTW:
8395 case AArch64::GLD1D:
8396 case AArch64::GLD1D_SCALED:
8397 case AArch64::GLD1D_SXTW:
8398 case AArch64::GLD1D_SXTW_SCALED:
8399 case AArch64::GLD1D_UXTW:
8400 case AArch64::GLD1D_UXTW_SCALED:
8401 case AArch64::GLD1H_D:
8402 case AArch64::GLD1H_D_SCALED:
8403 case AArch64::GLD1H_D_SXTW:
8404 case AArch64::GLD1H_D_SXTW_SCALED:
8405 case AArch64::GLD1H_D_UXTW:
8406 case AArch64::GLD1H_D_UXTW_SCALED:
8407 case AArch64::GLD1H_S_SXTW:
8408 case AArch64::GLD1H_S_SXTW_SCALED:
8409 case AArch64::GLD1H_S_UXTW:
8410 case AArch64::GLD1H_S_UXTW_SCALED:
8411 case AArch64::GLD1SB_D:
8412 case AArch64::GLD1SB_D_SXTW:
8413 case AArch64::GLD1SB_D_UXTW:
8414 case AArch64::GLD1SB_S_SXTW:
8415 case AArch64::GLD1SB_S_UXTW:
8416 case AArch64::GLD1SH_D:
8417 case AArch64::GLD1SH_D_SCALED:
8418 case AArch64::GLD1SH_D_SXTW:
8419 case AArch64::GLD1SH_D_SXTW_SCALED:
8420 case AArch64::GLD1SH_D_UXTW:
8421 case AArch64::GLD1SH_D_UXTW_SCALED:
8422 case AArch64::GLD1SH_S_SXTW:
8423 case AArch64::GLD1SH_S_SXTW_SCALED:
8424 case AArch64::GLD1SH_S_UXTW:
8425 case AArch64::GLD1SH_S_UXTW_SCALED:
8426 case AArch64::GLD1SW_D:
8427 case AArch64::GLD1SW_D_SCALED:
8428 case AArch64::GLD1SW_D_SXTW:
8429 case AArch64::GLD1SW_D_SXTW_SCALED:
8430 case AArch64::GLD1SW_D_UXTW:
8431 case AArch64::GLD1SW_D_UXTW_SCALED:
8432 case AArch64::GLD1W_D:
8433 case AArch64::GLD1W_D_SCALED:
8434 case AArch64::GLD1W_D_SXTW:
8435 case AArch64::GLD1W_D_SXTW_SCALED:
8436 case AArch64::GLD1W_D_UXTW:
8437 case AArch64::GLD1W_D_UXTW_SCALED:
8438 case AArch64::GLD1W_SXTW:
8439 case AArch64::GLD1W_SXTW_SCALED:
8440 case AArch64::GLD1W_UXTW:
8441 case AArch64::GLD1W_UXTW_SCALED:
8442 case AArch64::GLDFF1B_D:
8443 case AArch64::GLDFF1B_D_SXTW:
8444 case AArch64::GLDFF1B_D_UXTW:
8445 case AArch64::GLDFF1B_S_SXTW:
8446 case AArch64::GLDFF1B_S_UXTW:
8447 case AArch64::GLDFF1D:
8448 case AArch64::GLDFF1D_SCALED:
8449 case AArch64::GLDFF1D_SXTW:
8450 case AArch64::GLDFF1D_SXTW_SCALED:
8451 case AArch64::GLDFF1D_UXTW:
8452 case AArch64::GLDFF1D_UXTW_SCALED:
8453 case AArch64::GLDFF1H_D:
8454 case AArch64::GLDFF1H_D_SCALED:
8455 case AArch64::GLDFF1H_D_SXTW:
8456 case AArch64::GLDFF1H_D_SXTW_SCALED:
8457 case AArch64::GLDFF1H_D_UXTW:
8458 case AArch64::GLDFF1H_D_UXTW_SCALED:
8459 case AArch64::GLDFF1H_S_SXTW:
8460 case AArch64::GLDFF1H_S_SXTW_SCALED:
8461 case AArch64::GLDFF1H_S_UXTW:
8462 case AArch64::GLDFF1H_S_UXTW_SCALED:
8463 case AArch64::GLDFF1SB_D:
8464 case AArch64::GLDFF1SB_D_SXTW:
8465 case AArch64::GLDFF1SB_D_UXTW:
8466 case AArch64::GLDFF1SB_S_SXTW:
8467 case AArch64::GLDFF1SB_S_UXTW:
8468 case AArch64::GLDFF1SH_D:
8469 case AArch64::GLDFF1SH_D_SCALED:
8470 case AArch64::GLDFF1SH_D_SXTW:
8471 case AArch64::GLDFF1SH_D_SXTW_SCALED:
8472 case AArch64::GLDFF1SH_D_UXTW:
8473 case AArch64::GLDFF1SH_D_UXTW_SCALED:
8474 case AArch64::GLDFF1SH_S_SXTW:
8475 case AArch64::GLDFF1SH_S_SXTW_SCALED:
8476 case AArch64::GLDFF1SH_S_UXTW:
8477 case AArch64::GLDFF1SH_S_UXTW_SCALED:
8478 case AArch64::GLDFF1SW_D:
8479 case AArch64::GLDFF1SW_D_SCALED:
8480 case AArch64::GLDFF1SW_D_SXTW:
8481 case AArch64::GLDFF1SW_D_SXTW_SCALED:
8482 case AArch64::GLDFF1SW_D_UXTW:
8483 case AArch64::GLDFF1SW_D_UXTW_SCALED:
8484 case AArch64::GLDFF1W_D:
8485 case AArch64::GLDFF1W_D_SCALED:
8486 case AArch64::GLDFF1W_D_SXTW:
8487 case AArch64::GLDFF1W_D_SXTW_SCALED:
8488 case AArch64::GLDFF1W_D_UXTW:
8489 case AArch64::GLDFF1W_D_UXTW_SCALED:
8490 case AArch64::GLDFF1W_SXTW:
8491 case AArch64::GLDFF1W_SXTW_SCALED:
8492 case AArch64::GLDFF1W_UXTW:
8493 case AArch64::GLDFF1W_UXTW_SCALED:
8494 case AArch64::SST1B_D:
8495 case AArch64::SST1B_D_SXTW:
8496 case AArch64::SST1B_D_UXTW:
8497 case AArch64::SST1B_S_SXTW:
8498 case AArch64::SST1B_S_UXTW:
8499 case AArch64::SST1D:
8500 case AArch64::SST1D_SCALED:
8501 case AArch64::SST1D_SXTW:
8502 case AArch64::SST1D_SXTW_SCALED:
8503 case AArch64::SST1D_UXTW:
8504 case AArch64::SST1D_UXTW_SCALED:
8505 case AArch64::SST1H_D:
8506 case AArch64::SST1H_D_SCALED:
8507 case AArch64::SST1H_D_SXTW:
8508 case AArch64::SST1H_D_SXTW_SCALED:
8509 case AArch64::SST1H_D_UXTW:
8510 case AArch64::SST1H_D_UXTW_SCALED:
8511 case AArch64::SST1H_S_SXTW:
8512 case AArch64::SST1H_S_SXTW_SCALED:
8513 case AArch64::SST1H_S_UXTW:
8514 case AArch64::SST1H_S_UXTW_SCALED:
8515 case AArch64::SST1W_D:
8516 case AArch64::SST1W_D_SCALED:
8517 case AArch64::SST1W_D_SXTW:
8518 case AArch64::SST1W_D_SXTW_SCALED:
8519 case AArch64::SST1W_D_UXTW:
8520 case AArch64::SST1W_D_UXTW_SCALED:
8521 case AArch64::SST1W_SXTW:
8522 case AArch64::SST1W_SXTW_SCALED:
8523 case AArch64::SST1W_UXTW:
8524 case AArch64::SST1W_UXTW_SCALED: {
8525 // op: Pg
8526 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8527 Value |= (op & 0x7) << 10;
8528 // op: Rn
8529 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8530 Value |= (op & 0x1f) << 5;
8531 // op: Zm
8532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8533 Value |= (op & 0x1f) << 16;
8534 // op: Zt
8535 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8536 Value |= (op & 0x1f);
8537 break;
8538 }
8539 case AArch64::PRFB_D_SCALED:
8540 case AArch64::PRFB_D_SXTW_SCALED:
8541 case AArch64::PRFB_D_UXTW_SCALED:
8542 case AArch64::PRFB_S_SXTW_SCALED:
8543 case AArch64::PRFB_S_UXTW_SCALED:
8544 case AArch64::PRFD_D_SCALED:
8545 case AArch64::PRFD_D_SXTW_SCALED:
8546 case AArch64::PRFD_D_UXTW_SCALED:
8547 case AArch64::PRFD_S_SXTW_SCALED:
8548 case AArch64::PRFD_S_UXTW_SCALED:
8549 case AArch64::PRFH_D_SCALED:
8550 case AArch64::PRFH_D_SXTW_SCALED:
8551 case AArch64::PRFH_D_UXTW_SCALED:
8552 case AArch64::PRFH_S_SXTW_SCALED:
8553 case AArch64::PRFH_S_UXTW_SCALED:
8554 case AArch64::PRFW_D_SCALED:
8555 case AArch64::PRFW_D_SXTW_SCALED:
8556 case AArch64::PRFW_D_UXTW_SCALED:
8557 case AArch64::PRFW_S_SXTW_SCALED:
8558 case AArch64::PRFW_S_UXTW_SCALED: {
8559 // op: Pg
8560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8561 Value |= (op & 0x7) << 10;
8562 // op: Rn
8563 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8564 Value |= (op & 0x1f) << 5;
8565 // op: Zm
8566 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8567 Value |= (op & 0x1f) << 16;
8568 // op: prfop
8569 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8570 Value |= (op & 0xf);
8571 break;
8572 }
8573 case AArch64::LD1B_D_IMM:
8574 case AArch64::LD1B_H_IMM:
8575 case AArch64::LD1B_IMM:
8576 case AArch64::LD1B_S_IMM:
8577 case AArch64::LD1D_IMM:
8578 case AArch64::LD1H_D_IMM:
8579 case AArch64::LD1H_IMM:
8580 case AArch64::LD1H_S_IMM:
8581 case AArch64::LD1SB_D_IMM:
8582 case AArch64::LD1SB_H_IMM:
8583 case AArch64::LD1SB_S_IMM:
8584 case AArch64::LD1SH_D_IMM:
8585 case AArch64::LD1SH_S_IMM:
8586 case AArch64::LD1SW_D_IMM:
8587 case AArch64::LD1W_D_IMM:
8588 case AArch64::LD1W_IMM:
8589 case AArch64::LDNF1B_D_IMM:
8590 case AArch64::LDNF1B_H_IMM:
8591 case AArch64::LDNF1B_IMM:
8592 case AArch64::LDNF1B_S_IMM:
8593 case AArch64::LDNF1D_IMM:
8594 case AArch64::LDNF1H_D_IMM:
8595 case AArch64::LDNF1H_IMM:
8596 case AArch64::LDNF1H_S_IMM:
8597 case AArch64::LDNF1SB_D_IMM:
8598 case AArch64::LDNF1SB_H_IMM:
8599 case AArch64::LDNF1SB_S_IMM:
8600 case AArch64::LDNF1SH_D_IMM:
8601 case AArch64::LDNF1SH_S_IMM:
8602 case AArch64::LDNF1SW_D_IMM:
8603 case AArch64::LDNF1W_D_IMM:
8604 case AArch64::LDNF1W_IMM:
8605 case AArch64::ST1B_D_IMM:
8606 case AArch64::ST1B_H_IMM:
8607 case AArch64::ST1B_IMM:
8608 case AArch64::ST1B_S_IMM:
8609 case AArch64::ST1D_IMM:
8610 case AArch64::ST1D_Q_IMM:
8611 case AArch64::ST1H_D_IMM:
8612 case AArch64::ST1H_IMM:
8613 case AArch64::ST1H_S_IMM:
8614 case AArch64::ST1W_D_IMM:
8615 case AArch64::ST1W_IMM:
8616 case AArch64::ST1W_Q_IMM:
8617 case AArch64::ST2B_IMM:
8618 case AArch64::ST2D_IMM:
8619 case AArch64::ST2H_IMM:
8620 case AArch64::ST2W_IMM:
8621 case AArch64::ST3B_IMM:
8622 case AArch64::ST3D_IMM:
8623 case AArch64::ST3H_IMM:
8624 case AArch64::ST3W_IMM:
8625 case AArch64::ST4B_IMM:
8626 case AArch64::ST4D_IMM:
8627 case AArch64::ST4H_IMM:
8628 case AArch64::ST4W_IMM:
8629 case AArch64::STNT1B_ZRI:
8630 case AArch64::STNT1D_ZRI:
8631 case AArch64::STNT1H_ZRI:
8632 case AArch64::STNT1W_ZRI: {
8633 // op: Pg
8634 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8635 Value |= (op & 0x7) << 10;
8636 // op: Rn
8637 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8638 Value |= (op & 0x1f) << 5;
8639 // op: Zt
8640 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8641 Value |= (op & 0x1f);
8642 // op: imm4
8643 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8644 Value |= (op & 0xf) << 16;
8645 break;
8646 }
8647 case AArch64::LD1RB_D_IMM:
8648 case AArch64::LD1RB_H_IMM:
8649 case AArch64::LD1RB_IMM:
8650 case AArch64::LD1RB_S_IMM:
8651 case AArch64::LD1RD_IMM:
8652 case AArch64::LD1RH_D_IMM:
8653 case AArch64::LD1RH_IMM:
8654 case AArch64::LD1RH_S_IMM:
8655 case AArch64::LD1RSB_D_IMM:
8656 case AArch64::LD1RSB_H_IMM:
8657 case AArch64::LD1RSB_S_IMM:
8658 case AArch64::LD1RSH_D_IMM:
8659 case AArch64::LD1RSH_S_IMM:
8660 case AArch64::LD1RSW_IMM:
8661 case AArch64::LD1RW_D_IMM:
8662 case AArch64::LD1RW_IMM: {
8663 // op: Pg
8664 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8665 Value |= (op & 0x7) << 10;
8666 // op: Rn
8667 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8668 Value |= (op & 0x1f) << 5;
8669 // op: Zt
8670 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8671 Value |= (op & 0x1f);
8672 // op: imm6
8673 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8674 Value |= (op & 0x3f) << 16;
8675 break;
8676 }
8677 case AArch64::ANDV_VPZ_B:
8678 case AArch64::ANDV_VPZ_D:
8679 case AArch64::ANDV_VPZ_H:
8680 case AArch64::ANDV_VPZ_S:
8681 case AArch64::EORV_VPZ_B:
8682 case AArch64::EORV_VPZ_D:
8683 case AArch64::EORV_VPZ_H:
8684 case AArch64::EORV_VPZ_S:
8685 case AArch64::LASTA_VPZ_B:
8686 case AArch64::LASTA_VPZ_D:
8687 case AArch64::LASTA_VPZ_H:
8688 case AArch64::LASTA_VPZ_S:
8689 case AArch64::LASTB_VPZ_B:
8690 case AArch64::LASTB_VPZ_D:
8691 case AArch64::LASTB_VPZ_H:
8692 case AArch64::LASTB_VPZ_S:
8693 case AArch64::ORV_VPZ_B:
8694 case AArch64::ORV_VPZ_D:
8695 case AArch64::ORV_VPZ_H:
8696 case AArch64::ORV_VPZ_S:
8697 case AArch64::SADDV_VPZ_B:
8698 case AArch64::SADDV_VPZ_H:
8699 case AArch64::SADDV_VPZ_S:
8700 case AArch64::SMAXV_VPZ_B:
8701 case AArch64::SMAXV_VPZ_D:
8702 case AArch64::SMAXV_VPZ_H:
8703 case AArch64::SMAXV_VPZ_S:
8704 case AArch64::SMINV_VPZ_B:
8705 case AArch64::SMINV_VPZ_D:
8706 case AArch64::SMINV_VPZ_H:
8707 case AArch64::SMINV_VPZ_S:
8708 case AArch64::UADDV_VPZ_B:
8709 case AArch64::UADDV_VPZ_D:
8710 case AArch64::UADDV_VPZ_H:
8711 case AArch64::UADDV_VPZ_S:
8712 case AArch64::UMAXV_VPZ_B:
8713 case AArch64::UMAXV_VPZ_D:
8714 case AArch64::UMAXV_VPZ_H:
8715 case AArch64::UMAXV_VPZ_S:
8716 case AArch64::UMINV_VPZ_B:
8717 case AArch64::UMINV_VPZ_D:
8718 case AArch64::UMINV_VPZ_H:
8719 case AArch64::UMINV_VPZ_S: {
8720 // op: Pg
8721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8722 Value |= (op & 0x7) << 10;
8723 // op: Vd
8724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8725 Value |= (op & 0x1f);
8726 // op: Zn
8727 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8728 Value |= (op & 0x1f) << 5;
8729 break;
8730 }
8731 case AArch64::CLASTA_VPZ_B:
8732 case AArch64::CLASTA_VPZ_D:
8733 case AArch64::CLASTA_VPZ_H:
8734 case AArch64::CLASTA_VPZ_S:
8735 case AArch64::CLASTB_VPZ_B:
8736 case AArch64::CLASTB_VPZ_D:
8737 case AArch64::CLASTB_VPZ_H:
8738 case AArch64::CLASTB_VPZ_S:
8739 case AArch64::FADDA_VPZ_D:
8740 case AArch64::FADDA_VPZ_H:
8741 case AArch64::FADDA_VPZ_S: {
8742 // op: Pg
8743 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8744 Value |= (op & 0x7) << 10;
8745 // op: Vdn
8746 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8747 Value |= (op & 0x1f);
8748 // op: Zm
8749 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8750 Value |= (op & 0x1f) << 5;
8751 break;
8752 }
8753 case AArch64::FMAD_ZPmZZ_D:
8754 case AArch64::FMAD_ZPmZZ_H:
8755 case AArch64::FMAD_ZPmZZ_S:
8756 case AArch64::FMSB_ZPmZZ_D:
8757 case AArch64::FMSB_ZPmZZ_H:
8758 case AArch64::FMSB_ZPmZZ_S:
8759 case AArch64::FNMAD_ZPmZZ_D:
8760 case AArch64::FNMAD_ZPmZZ_H:
8761 case AArch64::FNMAD_ZPmZZ_S:
8762 case AArch64::FNMSB_ZPmZZ_D:
8763 case AArch64::FNMSB_ZPmZZ_H:
8764 case AArch64::FNMSB_ZPmZZ_S: {
8765 // op: Pg
8766 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8767 Value |= (op & 0x7) << 10;
8768 // op: Za
8769 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8770 Value |= (op & 0x1f) << 16;
8771 // op: Zdn
8772 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8773 Value |= (op & 0x1f);
8774 // op: Zm
8775 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8776 Value |= (op & 0x1f) << 5;
8777 break;
8778 }
8779 case AArch64::ABS_ZPzZ_B:
8780 case AArch64::ABS_ZPzZ_D:
8781 case AArch64::ABS_ZPzZ_H:
8782 case AArch64::ABS_ZPzZ_S:
8783 case AArch64::BFCVT_ZPzZ_StoH:
8784 case AArch64::CLS_ZPzZ_B:
8785 case AArch64::CLS_ZPzZ_D:
8786 case AArch64::CLS_ZPzZ_H:
8787 case AArch64::CLS_ZPzZ_S:
8788 case AArch64::CLZ_ZPzZ_B:
8789 case AArch64::CLZ_ZPzZ_D:
8790 case AArch64::CLZ_ZPzZ_H:
8791 case AArch64::CLZ_ZPzZ_S:
8792 case AArch64::CNOT_ZPzZ_B:
8793 case AArch64::CNOT_ZPzZ_D:
8794 case AArch64::CNOT_ZPzZ_H:
8795 case AArch64::CNOT_ZPzZ_S:
8796 case AArch64::CNT_ZPzZ_B:
8797 case AArch64::CNT_ZPzZ_D:
8798 case AArch64::CNT_ZPzZ_H:
8799 case AArch64::CNT_ZPzZ_S:
8800 case AArch64::COMPACT_ZPZ_B:
8801 case AArch64::COMPACT_ZPZ_D:
8802 case AArch64::COMPACT_ZPZ_H:
8803 case AArch64::COMPACT_ZPZ_S:
8804 case AArch64::FABS_ZPzZ_D:
8805 case AArch64::FABS_ZPzZ_H:
8806 case AArch64::FABS_ZPzZ_S:
8807 case AArch64::FCVTX_ZPzZ_DtoS:
8808 case AArch64::FCVTZS_ZPzZ_DtoD:
8809 case AArch64::FCVTZS_ZPzZ_DtoS:
8810 case AArch64::FCVTZS_ZPzZ_HtoD:
8811 case AArch64::FCVTZS_ZPzZ_HtoH:
8812 case AArch64::FCVTZS_ZPzZ_HtoS:
8813 case AArch64::FCVTZS_ZPzZ_StoD:
8814 case AArch64::FCVTZS_ZPzZ_StoS:
8815 case AArch64::FCVTZU_ZPzZ_DtoD:
8816 case AArch64::FCVTZU_ZPzZ_DtoS:
8817 case AArch64::FCVTZU_ZPzZ_HtoD:
8818 case AArch64::FCVTZU_ZPzZ_HtoH:
8819 case AArch64::FCVTZU_ZPzZ_HtoS:
8820 case AArch64::FCVTZU_ZPzZ_StoD:
8821 case AArch64::FCVTZU_ZPzZ_StoS:
8822 case AArch64::FCVT_ZPzZ_DtoH:
8823 case AArch64::FCVT_ZPzZ_DtoS:
8824 case AArch64::FCVT_ZPzZ_HtoD:
8825 case AArch64::FCVT_ZPzZ_HtoS:
8826 case AArch64::FCVT_ZPzZ_StoD:
8827 case AArch64::FCVT_ZPzZ_StoH:
8828 case AArch64::FLOGB_ZPzZ_D:
8829 case AArch64::FLOGB_ZPzZ_H:
8830 case AArch64::FLOGB_ZPzZ_S:
8831 case AArch64::FNEG_ZPzZ_D:
8832 case AArch64::FNEG_ZPzZ_H:
8833 case AArch64::FNEG_ZPzZ_S:
8834 case AArch64::FRECPX_ZPzZ_D:
8835 case AArch64::FRECPX_ZPzZ_H:
8836 case AArch64::FRECPX_ZPzZ_S:
8837 case AArch64::FRINT32X_ZPzZ_D:
8838 case AArch64::FRINT32X_ZPzZ_S:
8839 case AArch64::FRINT32Z_ZPzZ_D:
8840 case AArch64::FRINT32Z_ZPzZ_S:
8841 case AArch64::FRINT64X_ZPzZ_D:
8842 case AArch64::FRINT64X_ZPzZ_S:
8843 case AArch64::FRINT64Z_ZPzZ_D:
8844 case AArch64::FRINT64Z_ZPzZ_S:
8845 case AArch64::FRINTA_ZPzZ_D:
8846 case AArch64::FRINTA_ZPzZ_H:
8847 case AArch64::FRINTA_ZPzZ_S:
8848 case AArch64::FRINTI_ZPzZ_D:
8849 case AArch64::FRINTI_ZPzZ_H:
8850 case AArch64::FRINTI_ZPzZ_S:
8851 case AArch64::FRINTM_ZPzZ_D:
8852 case AArch64::FRINTM_ZPzZ_H:
8853 case AArch64::FRINTM_ZPzZ_S:
8854 case AArch64::FRINTN_ZPzZ_D:
8855 case AArch64::FRINTN_ZPzZ_H:
8856 case AArch64::FRINTN_ZPzZ_S:
8857 case AArch64::FRINTP_ZPzZ_D:
8858 case AArch64::FRINTP_ZPzZ_H:
8859 case AArch64::FRINTP_ZPzZ_S:
8860 case AArch64::FRINTX_ZPzZ_D:
8861 case AArch64::FRINTX_ZPzZ_H:
8862 case AArch64::FRINTX_ZPzZ_S:
8863 case AArch64::FRINTZ_ZPzZ_D:
8864 case AArch64::FRINTZ_ZPzZ_H:
8865 case AArch64::FRINTZ_ZPzZ_S:
8866 case AArch64::FSQRT_ZPZz_D:
8867 case AArch64::FSQRT_ZPZz_H:
8868 case AArch64::FSQRT_ZPZz_S:
8869 case AArch64::MOVPRFX_ZPzZ_B:
8870 case AArch64::MOVPRFX_ZPzZ_D:
8871 case AArch64::MOVPRFX_ZPzZ_H:
8872 case AArch64::MOVPRFX_ZPzZ_S:
8873 case AArch64::NEG_ZPzZ_B:
8874 case AArch64::NEG_ZPzZ_D:
8875 case AArch64::NEG_ZPzZ_H:
8876 case AArch64::NEG_ZPzZ_S:
8877 case AArch64::NOT_ZPzZ_B:
8878 case AArch64::NOT_ZPzZ_D:
8879 case AArch64::NOT_ZPzZ_H:
8880 case AArch64::NOT_ZPzZ_S:
8881 case AArch64::SCVTF_ZPzZ_DtoD:
8882 case AArch64::SCVTF_ZPzZ_DtoH:
8883 case AArch64::SCVTF_ZPzZ_DtoS:
8884 case AArch64::SCVTF_ZPzZ_HtoH:
8885 case AArch64::SCVTF_ZPzZ_StoD:
8886 case AArch64::SCVTF_ZPzZ_StoH:
8887 case AArch64::SCVTF_ZPzZ_StoS:
8888 case AArch64::SQABS_ZPzZ_B:
8889 case AArch64::SQABS_ZPzZ_D:
8890 case AArch64::SQABS_ZPzZ_H:
8891 case AArch64::SQABS_ZPzZ_S:
8892 case AArch64::SQNEG_ZPzZ_B:
8893 case AArch64::SQNEG_ZPzZ_D:
8894 case AArch64::SQNEG_ZPzZ_H:
8895 case AArch64::SQNEG_ZPzZ_S:
8896 case AArch64::SXTB_ZPzZ_D:
8897 case AArch64::SXTB_ZPzZ_H:
8898 case AArch64::SXTB_ZPzZ_S:
8899 case AArch64::SXTH_ZPzZ_D:
8900 case AArch64::SXTH_ZPzZ_S:
8901 case AArch64::SXTW_ZPzZ_D:
8902 case AArch64::UCVTF_ZPzZ_DtoD:
8903 case AArch64::UCVTF_ZPzZ_DtoH:
8904 case AArch64::UCVTF_ZPzZ_DtoS:
8905 case AArch64::UCVTF_ZPzZ_HtoH:
8906 case AArch64::UCVTF_ZPzZ_StoD:
8907 case AArch64::UCVTF_ZPzZ_StoH:
8908 case AArch64::UCVTF_ZPzZ_StoS:
8909 case AArch64::URECPE_ZPzZ_S:
8910 case AArch64::URSQRTE_ZPzZ_S:
8911 case AArch64::UXTB_ZPzZ_D:
8912 case AArch64::UXTB_ZPzZ_H:
8913 case AArch64::UXTB_ZPzZ_S:
8914 case AArch64::UXTH_ZPzZ_D:
8915 case AArch64::UXTH_ZPzZ_S:
8916 case AArch64::UXTW_ZPzZ_D: {
8917 // op: Pg
8918 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8919 Value |= (op & 0x7) << 10;
8920 // op: Zd
8921 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8922 Value |= (op & 0x1f);
8923 // op: Zn
8924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8925 Value |= (op & 0x1f) << 5;
8926 break;
8927 }
8928 case AArch64::BFMLA_ZPmZZ:
8929 case AArch64::BFMLS_ZPmZZ:
8930 case AArch64::FMLA_ZPmZZ_D:
8931 case AArch64::FMLA_ZPmZZ_H:
8932 case AArch64::FMLA_ZPmZZ_S:
8933 case AArch64::FMLS_ZPmZZ_D:
8934 case AArch64::FMLS_ZPmZZ_H:
8935 case AArch64::FMLS_ZPmZZ_S:
8936 case AArch64::FNMLA_ZPmZZ_D:
8937 case AArch64::FNMLA_ZPmZZ_H:
8938 case AArch64::FNMLA_ZPmZZ_S:
8939 case AArch64::FNMLS_ZPmZZ_D:
8940 case AArch64::FNMLS_ZPmZZ_H:
8941 case AArch64::FNMLS_ZPmZZ_S:
8942 case AArch64::MLA_ZPmZZ_B:
8943 case AArch64::MLA_ZPmZZ_D:
8944 case AArch64::MLA_ZPmZZ_H:
8945 case AArch64::MLA_ZPmZZ_S:
8946 case AArch64::MLS_ZPmZZ_B:
8947 case AArch64::MLS_ZPmZZ_D:
8948 case AArch64::MLS_ZPmZZ_H:
8949 case AArch64::MLS_ZPmZZ_S: {
8950 // op: Pg
8951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8952 Value |= (op & 0x7) << 10;
8953 // op: Zda
8954 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8955 Value |= (op & 0x1f);
8956 // op: Zm
8957 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8958 Value |= (op & 0x1f) << 16;
8959 // op: Zn
8960 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8961 Value |= (op & 0x1f) << 5;
8962 break;
8963 }
8964 case AArch64::MAD_ZPmZZ_B:
8965 case AArch64::MAD_ZPmZZ_D:
8966 case AArch64::MAD_ZPmZZ_H:
8967 case AArch64::MAD_ZPmZZ_S:
8968 case AArch64::MSB_ZPmZZ_B:
8969 case AArch64::MSB_ZPmZZ_D:
8970 case AArch64::MSB_ZPmZZ_H:
8971 case AArch64::MSB_ZPmZZ_S: {
8972 // op: Pg
8973 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8974 Value |= (op & 0x7) << 10;
8975 // op: Zdn
8976 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8977 Value |= (op & 0x1f);
8978 // op: Za
8979 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8980 Value |= (op & 0x1f) << 5;
8981 // op: Zm
8982 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8983 Value |= (op & 0x1f) << 16;
8984 break;
8985 }
8986 case AArch64::ADD_ZPmZ_B:
8987 case AArch64::ADD_ZPmZ_CPA:
8988 case AArch64::ADD_ZPmZ_D:
8989 case AArch64::ADD_ZPmZ_H:
8990 case AArch64::ADD_ZPmZ_S:
8991 case AArch64::AND_ZPmZ_B:
8992 case AArch64::AND_ZPmZ_D:
8993 case AArch64::AND_ZPmZ_H:
8994 case AArch64::AND_ZPmZ_S:
8995 case AArch64::ASRR_ZPmZ_B:
8996 case AArch64::ASRR_ZPmZ_D:
8997 case AArch64::ASRR_ZPmZ_H:
8998 case AArch64::ASRR_ZPmZ_S:
8999 case AArch64::ASR_WIDE_ZPmZ_B:
9000 case AArch64::ASR_WIDE_ZPmZ_H:
9001 case AArch64::ASR_WIDE_ZPmZ_S:
9002 case AArch64::ASR_ZPmZ_B:
9003 case AArch64::ASR_ZPmZ_D:
9004 case AArch64::ASR_ZPmZ_H:
9005 case AArch64::ASR_ZPmZ_S:
9006 case AArch64::BFADD_ZPmZ:
9007 case AArch64::BFMAXNM_ZPmZ:
9008 case AArch64::BFMAX_ZPmZ:
9009 case AArch64::BFMINNM_ZPmZ:
9010 case AArch64::BFMIN_ZPmZ:
9011 case AArch64::BFMUL_ZPmZ:
9012 case AArch64::BFSCALE_ZPmZ:
9013 case AArch64::BFSUB_ZPmZ:
9014 case AArch64::BIC_ZPmZ_B:
9015 case AArch64::BIC_ZPmZ_D:
9016 case AArch64::BIC_ZPmZ_H:
9017 case AArch64::BIC_ZPmZ_S:
9018 case AArch64::CLASTA_ZPZ_B:
9019 case AArch64::CLASTA_ZPZ_D:
9020 case AArch64::CLASTA_ZPZ_H:
9021 case AArch64::CLASTA_ZPZ_S:
9022 case AArch64::CLASTB_ZPZ_B:
9023 case AArch64::CLASTB_ZPZ_D:
9024 case AArch64::CLASTB_ZPZ_H:
9025 case AArch64::CLASTB_ZPZ_S:
9026 case AArch64::EOR_ZPmZ_B:
9027 case AArch64::EOR_ZPmZ_D:
9028 case AArch64::EOR_ZPmZ_H:
9029 case AArch64::EOR_ZPmZ_S:
9030 case AArch64::FABD_ZPmZ_D:
9031 case AArch64::FABD_ZPmZ_H:
9032 case AArch64::FABD_ZPmZ_S:
9033 case AArch64::FADD_ZPmZ_D:
9034 case AArch64::FADD_ZPmZ_H:
9035 case AArch64::FADD_ZPmZ_S:
9036 case AArch64::FAMAX_ZPmZ_D:
9037 case AArch64::FAMAX_ZPmZ_H:
9038 case AArch64::FAMAX_ZPmZ_S:
9039 case AArch64::FAMIN_ZPmZ_D:
9040 case AArch64::FAMIN_ZPmZ_H:
9041 case AArch64::FAMIN_ZPmZ_S:
9042 case AArch64::FDIVR_ZPmZ_D:
9043 case AArch64::FDIVR_ZPmZ_H:
9044 case AArch64::FDIVR_ZPmZ_S:
9045 case AArch64::FDIV_ZPmZ_D:
9046 case AArch64::FDIV_ZPmZ_H:
9047 case AArch64::FDIV_ZPmZ_S:
9048 case AArch64::FMAXNM_ZPmZ_D:
9049 case AArch64::FMAXNM_ZPmZ_H:
9050 case AArch64::FMAXNM_ZPmZ_S:
9051 case AArch64::FMAX_ZPmZ_D:
9052 case AArch64::FMAX_ZPmZ_H:
9053 case AArch64::FMAX_ZPmZ_S:
9054 case AArch64::FMINNM_ZPmZ_D:
9055 case AArch64::FMINNM_ZPmZ_H:
9056 case AArch64::FMINNM_ZPmZ_S:
9057 case AArch64::FMIN_ZPmZ_D:
9058 case AArch64::FMIN_ZPmZ_H:
9059 case AArch64::FMIN_ZPmZ_S:
9060 case AArch64::FMULX_ZPmZ_D:
9061 case AArch64::FMULX_ZPmZ_H:
9062 case AArch64::FMULX_ZPmZ_S:
9063 case AArch64::FMUL_ZPmZ_D:
9064 case AArch64::FMUL_ZPmZ_H:
9065 case AArch64::FMUL_ZPmZ_S:
9066 case AArch64::FSCALE_ZPmZ_D:
9067 case AArch64::FSCALE_ZPmZ_H:
9068 case AArch64::FSCALE_ZPmZ_S:
9069 case AArch64::FSUBR_ZPmZ_D:
9070 case AArch64::FSUBR_ZPmZ_H:
9071 case AArch64::FSUBR_ZPmZ_S:
9072 case AArch64::FSUB_ZPmZ_D:
9073 case AArch64::FSUB_ZPmZ_H:
9074 case AArch64::FSUB_ZPmZ_S:
9075 case AArch64::LSLR_ZPmZ_B:
9076 case AArch64::LSLR_ZPmZ_D:
9077 case AArch64::LSLR_ZPmZ_H:
9078 case AArch64::LSLR_ZPmZ_S:
9079 case AArch64::LSL_WIDE_ZPmZ_B:
9080 case AArch64::LSL_WIDE_ZPmZ_H:
9081 case AArch64::LSL_WIDE_ZPmZ_S:
9082 case AArch64::LSL_ZPmZ_B:
9083 case AArch64::LSL_ZPmZ_D:
9084 case AArch64::LSL_ZPmZ_H:
9085 case AArch64::LSL_ZPmZ_S:
9086 case AArch64::LSRR_ZPmZ_B:
9087 case AArch64::LSRR_ZPmZ_D:
9088 case AArch64::LSRR_ZPmZ_H:
9089 case AArch64::LSRR_ZPmZ_S:
9090 case AArch64::LSR_WIDE_ZPmZ_B:
9091 case AArch64::LSR_WIDE_ZPmZ_H:
9092 case AArch64::LSR_WIDE_ZPmZ_S:
9093 case AArch64::LSR_ZPmZ_B:
9094 case AArch64::LSR_ZPmZ_D:
9095 case AArch64::LSR_ZPmZ_H:
9096 case AArch64::LSR_ZPmZ_S:
9097 case AArch64::MUL_ZPmZ_B:
9098 case AArch64::MUL_ZPmZ_D:
9099 case AArch64::MUL_ZPmZ_H:
9100 case AArch64::MUL_ZPmZ_S:
9101 case AArch64::ORR_ZPmZ_B:
9102 case AArch64::ORR_ZPmZ_D:
9103 case AArch64::ORR_ZPmZ_H:
9104 case AArch64::ORR_ZPmZ_S:
9105 case AArch64::SABD_ZPmZ_B:
9106 case AArch64::SABD_ZPmZ_D:
9107 case AArch64::SABD_ZPmZ_H:
9108 case AArch64::SABD_ZPmZ_S:
9109 case AArch64::SDIVR_ZPmZ_D:
9110 case AArch64::SDIVR_ZPmZ_S:
9111 case AArch64::SDIV_ZPmZ_D:
9112 case AArch64::SDIV_ZPmZ_S:
9113 case AArch64::SMAX_ZPmZ_B:
9114 case AArch64::SMAX_ZPmZ_D:
9115 case AArch64::SMAX_ZPmZ_H:
9116 case AArch64::SMAX_ZPmZ_S:
9117 case AArch64::SMIN_ZPmZ_B:
9118 case AArch64::SMIN_ZPmZ_D:
9119 case AArch64::SMIN_ZPmZ_H:
9120 case AArch64::SMIN_ZPmZ_S:
9121 case AArch64::SMULH_ZPmZ_B:
9122 case AArch64::SMULH_ZPmZ_D:
9123 case AArch64::SMULH_ZPmZ_H:
9124 case AArch64::SMULH_ZPmZ_S:
9125 case AArch64::SPLICE_ZPZ_B:
9126 case AArch64::SPLICE_ZPZ_D:
9127 case AArch64::SPLICE_ZPZ_H:
9128 case AArch64::SPLICE_ZPZ_S:
9129 case AArch64::SUBR_ZPmZ_B:
9130 case AArch64::SUBR_ZPmZ_D:
9131 case AArch64::SUBR_ZPmZ_H:
9132 case AArch64::SUBR_ZPmZ_S:
9133 case AArch64::SUB_ZPmZ_B:
9134 case AArch64::SUB_ZPmZ_CPA:
9135 case AArch64::SUB_ZPmZ_D:
9136 case AArch64::SUB_ZPmZ_H:
9137 case AArch64::SUB_ZPmZ_S:
9138 case AArch64::UABD_ZPmZ_B:
9139 case AArch64::UABD_ZPmZ_D:
9140 case AArch64::UABD_ZPmZ_H:
9141 case AArch64::UABD_ZPmZ_S:
9142 case AArch64::UDIVR_ZPmZ_D:
9143 case AArch64::UDIVR_ZPmZ_S:
9144 case AArch64::UDIV_ZPmZ_D:
9145 case AArch64::UDIV_ZPmZ_S:
9146 case AArch64::UMAX_ZPmZ_B:
9147 case AArch64::UMAX_ZPmZ_D:
9148 case AArch64::UMAX_ZPmZ_H:
9149 case AArch64::UMAX_ZPmZ_S:
9150 case AArch64::UMIN_ZPmZ_B:
9151 case AArch64::UMIN_ZPmZ_D:
9152 case AArch64::UMIN_ZPmZ_H:
9153 case AArch64::UMIN_ZPmZ_S:
9154 case AArch64::UMULH_ZPmZ_B:
9155 case AArch64::UMULH_ZPmZ_D:
9156 case AArch64::UMULH_ZPmZ_H:
9157 case AArch64::UMULH_ZPmZ_S: {
9158 // op: Pg
9159 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9160 Value |= (op & 0x7) << 10;
9161 // op: Zdn
9162 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9163 Value |= (op & 0x1f);
9164 // op: Zm
9165 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9166 Value |= (op & 0x1f) << 5;
9167 break;
9168 }
9169 case AArch64::FADD_ZPmI_D:
9170 case AArch64::FADD_ZPmI_H:
9171 case AArch64::FADD_ZPmI_S:
9172 case AArch64::FMAXNM_ZPmI_D:
9173 case AArch64::FMAXNM_ZPmI_H:
9174 case AArch64::FMAXNM_ZPmI_S:
9175 case AArch64::FMAX_ZPmI_D:
9176 case AArch64::FMAX_ZPmI_H:
9177 case AArch64::FMAX_ZPmI_S:
9178 case AArch64::FMINNM_ZPmI_D:
9179 case AArch64::FMINNM_ZPmI_H:
9180 case AArch64::FMINNM_ZPmI_S:
9181 case AArch64::FMIN_ZPmI_D:
9182 case AArch64::FMIN_ZPmI_H:
9183 case AArch64::FMIN_ZPmI_S:
9184 case AArch64::FMUL_ZPmI_D:
9185 case AArch64::FMUL_ZPmI_H:
9186 case AArch64::FMUL_ZPmI_S:
9187 case AArch64::FSUBR_ZPmI_D:
9188 case AArch64::FSUBR_ZPmI_H:
9189 case AArch64::FSUBR_ZPmI_S:
9190 case AArch64::FSUB_ZPmI_D:
9191 case AArch64::FSUB_ZPmI_H:
9192 case AArch64::FSUB_ZPmI_S: {
9193 // op: Pg
9194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9195 Value |= (op & 0x7) << 10;
9196 // op: Zdn
9197 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9198 Value |= (op & 0x1f);
9199 // op: i1
9200 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9201 Value |= (op & 0x1) << 5;
9202 break;
9203 }
9204 case AArch64::LSL_ZPmI_H:
9205 case AArch64::SQSHLU_ZPmI_H:
9206 case AArch64::SQSHL_ZPmI_H:
9207 case AArch64::UQSHL_ZPmI_H: {
9208 // op: Pg
9209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9210 Value |= (op & 0x7) << 10;
9211 // op: Zdn
9212 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9213 Value |= (op & 0x1f);
9214 // op: imm
9215 op = getVecShiftL16OpValue(MI, OpIdx: 3, Fixups, STI);
9216 Value |= (op & 0xf) << 5;
9217 break;
9218 }
9219 case AArch64::LSL_ZPmI_S:
9220 case AArch64::SQSHLU_ZPmI_S:
9221 case AArch64::SQSHL_ZPmI_S:
9222 case AArch64::UQSHL_ZPmI_S: {
9223 // op: Pg
9224 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9225 Value |= (op & 0x7) << 10;
9226 // op: Zdn
9227 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9228 Value |= (op & 0x1f);
9229 // op: imm
9230 op = getVecShiftL32OpValue(MI, OpIdx: 3, Fixups, STI);
9231 Value |= (op & 0x1f) << 5;
9232 break;
9233 }
9234 case AArch64::LSL_ZPmI_D:
9235 case AArch64::SQSHLU_ZPmI_D:
9236 case AArch64::SQSHL_ZPmI_D:
9237 case AArch64::UQSHL_ZPmI_D: {
9238 // op: Pg
9239 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9240 Value |= (op & 0x7) << 10;
9241 // op: Zdn
9242 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9243 Value |= (op & 0x1f);
9244 // op: imm
9245 op = getVecShiftL64OpValue(MI, OpIdx: 3, Fixups, STI);
9246 Value |= (op & 0x20) << 17;
9247 Value |= (op & 0x1f) << 5;
9248 break;
9249 }
9250 case AArch64::LSL_ZPmI_B:
9251 case AArch64::SQSHLU_ZPmI_B:
9252 case AArch64::SQSHL_ZPmI_B:
9253 case AArch64::UQSHL_ZPmI_B: {
9254 // op: Pg
9255 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9256 Value |= (op & 0x7) << 10;
9257 // op: Zdn
9258 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9259 Value |= (op & 0x1f);
9260 // op: imm
9261 op = getVecShiftL8OpValue(MI, OpIdx: 3, Fixups, STI);
9262 Value |= (op & 0x7) << 5;
9263 break;
9264 }
9265 case AArch64::ASRD_ZPmI_H:
9266 case AArch64::ASR_ZPmI_H:
9267 case AArch64::LSR_ZPmI_H:
9268 case AArch64::SRSHR_ZPmI_H:
9269 case AArch64::URSHR_ZPmI_H: {
9270 // op: Pg
9271 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9272 Value |= (op & 0x7) << 10;
9273 // op: Zdn
9274 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9275 Value |= (op & 0x1f);
9276 // op: imm
9277 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
9278 Value |= (op & 0xf) << 5;
9279 break;
9280 }
9281 case AArch64::ASRD_ZPmI_S:
9282 case AArch64::ASR_ZPmI_S:
9283 case AArch64::LSR_ZPmI_S:
9284 case AArch64::SRSHR_ZPmI_S:
9285 case AArch64::URSHR_ZPmI_S: {
9286 // op: Pg
9287 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9288 Value |= (op & 0x7) << 10;
9289 // op: Zdn
9290 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9291 Value |= (op & 0x1f);
9292 // op: imm
9293 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
9294 Value |= (op & 0x1f) << 5;
9295 break;
9296 }
9297 case AArch64::ASRD_ZPmI_D:
9298 case AArch64::ASR_ZPmI_D:
9299 case AArch64::LSR_ZPmI_D:
9300 case AArch64::SRSHR_ZPmI_D:
9301 case AArch64::URSHR_ZPmI_D: {
9302 // op: Pg
9303 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9304 Value |= (op & 0x7) << 10;
9305 // op: Zdn
9306 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9307 Value |= (op & 0x1f);
9308 // op: imm
9309 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
9310 Value |= (op & 0x20) << 17;
9311 Value |= (op & 0x1f) << 5;
9312 break;
9313 }
9314 case AArch64::ASRD_ZPmI_B:
9315 case AArch64::ASR_ZPmI_B:
9316 case AArch64::LSR_ZPmI_B:
9317 case AArch64::SRSHR_ZPmI_B:
9318 case AArch64::URSHR_ZPmI_B: {
9319 // op: Pg
9320 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9321 Value |= (op & 0x7) << 10;
9322 // op: Zdn
9323 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9324 Value |= (op & 0x1f);
9325 // op: imm
9326 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
9327 Value |= (op & 0x7) << 5;
9328 break;
9329 }
9330 case AArch64::ADDP_ZPmZ_B:
9331 case AArch64::ADDP_ZPmZ_D:
9332 case AArch64::ADDP_ZPmZ_H:
9333 case AArch64::ADDP_ZPmZ_S:
9334 case AArch64::FADDP_ZPmZZ_D:
9335 case AArch64::FADDP_ZPmZZ_H:
9336 case AArch64::FADDP_ZPmZZ_S:
9337 case AArch64::FMAXNMP_ZPmZZ_D:
9338 case AArch64::FMAXNMP_ZPmZZ_H:
9339 case AArch64::FMAXNMP_ZPmZZ_S:
9340 case AArch64::FMAXP_ZPmZZ_D:
9341 case AArch64::FMAXP_ZPmZZ_H:
9342 case AArch64::FMAXP_ZPmZZ_S:
9343 case AArch64::FMINNMP_ZPmZZ_D:
9344 case AArch64::FMINNMP_ZPmZZ_H:
9345 case AArch64::FMINNMP_ZPmZZ_S:
9346 case AArch64::FMINP_ZPmZZ_D:
9347 case AArch64::FMINP_ZPmZZ_H:
9348 case AArch64::FMINP_ZPmZZ_S:
9349 case AArch64::SHADD_ZPmZ_B:
9350 case AArch64::SHADD_ZPmZ_D:
9351 case AArch64::SHADD_ZPmZ_H:
9352 case AArch64::SHADD_ZPmZ_S:
9353 case AArch64::SHSUBR_ZPmZ_B:
9354 case AArch64::SHSUBR_ZPmZ_D:
9355 case AArch64::SHSUBR_ZPmZ_H:
9356 case AArch64::SHSUBR_ZPmZ_S:
9357 case AArch64::SHSUB_ZPmZ_B:
9358 case AArch64::SHSUB_ZPmZ_D:
9359 case AArch64::SHSUB_ZPmZ_H:
9360 case AArch64::SHSUB_ZPmZ_S:
9361 case AArch64::SMAXP_ZPmZ_B:
9362 case AArch64::SMAXP_ZPmZ_D:
9363 case AArch64::SMAXP_ZPmZ_H:
9364 case AArch64::SMAXP_ZPmZ_S:
9365 case AArch64::SMINP_ZPmZ_B:
9366 case AArch64::SMINP_ZPmZ_D:
9367 case AArch64::SMINP_ZPmZ_H:
9368 case AArch64::SMINP_ZPmZ_S:
9369 case AArch64::SQADD_ZPmZ_B:
9370 case AArch64::SQADD_ZPmZ_D:
9371 case AArch64::SQADD_ZPmZ_H:
9372 case AArch64::SQADD_ZPmZ_S:
9373 case AArch64::SQRSHLR_ZPmZ_B:
9374 case AArch64::SQRSHLR_ZPmZ_D:
9375 case AArch64::SQRSHLR_ZPmZ_H:
9376 case AArch64::SQRSHLR_ZPmZ_S:
9377 case AArch64::SQRSHL_ZPmZ_B:
9378 case AArch64::SQRSHL_ZPmZ_D:
9379 case AArch64::SQRSHL_ZPmZ_H:
9380 case AArch64::SQRSHL_ZPmZ_S:
9381 case AArch64::SQSHLR_ZPmZ_B:
9382 case AArch64::SQSHLR_ZPmZ_D:
9383 case AArch64::SQSHLR_ZPmZ_H:
9384 case AArch64::SQSHLR_ZPmZ_S:
9385 case AArch64::SQSHL_ZPmZ_B:
9386 case AArch64::SQSHL_ZPmZ_D:
9387 case AArch64::SQSHL_ZPmZ_H:
9388 case AArch64::SQSHL_ZPmZ_S:
9389 case AArch64::SQSUBR_ZPmZ_B:
9390 case AArch64::SQSUBR_ZPmZ_D:
9391 case AArch64::SQSUBR_ZPmZ_H:
9392 case AArch64::SQSUBR_ZPmZ_S:
9393 case AArch64::SQSUB_ZPmZ_B:
9394 case AArch64::SQSUB_ZPmZ_D:
9395 case AArch64::SQSUB_ZPmZ_H:
9396 case AArch64::SQSUB_ZPmZ_S:
9397 case AArch64::SRHADD_ZPmZ_B:
9398 case AArch64::SRHADD_ZPmZ_D:
9399 case AArch64::SRHADD_ZPmZ_H:
9400 case AArch64::SRHADD_ZPmZ_S:
9401 case AArch64::SRSHLR_ZPmZ_B:
9402 case AArch64::SRSHLR_ZPmZ_D:
9403 case AArch64::SRSHLR_ZPmZ_H:
9404 case AArch64::SRSHLR_ZPmZ_S:
9405 case AArch64::SRSHL_ZPmZ_B:
9406 case AArch64::SRSHL_ZPmZ_D:
9407 case AArch64::SRSHL_ZPmZ_H:
9408 case AArch64::SRSHL_ZPmZ_S:
9409 case AArch64::SUBP_ZPmZZ_B:
9410 case AArch64::SUBP_ZPmZZ_D:
9411 case AArch64::SUBP_ZPmZZ_H:
9412 case AArch64::SUBP_ZPmZZ_S:
9413 case AArch64::SUQADD_ZPmZ_B:
9414 case AArch64::SUQADD_ZPmZ_D:
9415 case AArch64::SUQADD_ZPmZ_H:
9416 case AArch64::SUQADD_ZPmZ_S:
9417 case AArch64::UHADD_ZPmZ_B:
9418 case AArch64::UHADD_ZPmZ_D:
9419 case AArch64::UHADD_ZPmZ_H:
9420 case AArch64::UHADD_ZPmZ_S:
9421 case AArch64::UHSUBR_ZPmZ_B:
9422 case AArch64::UHSUBR_ZPmZ_D:
9423 case AArch64::UHSUBR_ZPmZ_H:
9424 case AArch64::UHSUBR_ZPmZ_S:
9425 case AArch64::UHSUB_ZPmZ_B:
9426 case AArch64::UHSUB_ZPmZ_D:
9427 case AArch64::UHSUB_ZPmZ_H:
9428 case AArch64::UHSUB_ZPmZ_S:
9429 case AArch64::UMAXP_ZPmZ_B:
9430 case AArch64::UMAXP_ZPmZ_D:
9431 case AArch64::UMAXP_ZPmZ_H:
9432 case AArch64::UMAXP_ZPmZ_S:
9433 case AArch64::UMINP_ZPmZ_B:
9434 case AArch64::UMINP_ZPmZ_D:
9435 case AArch64::UMINP_ZPmZ_H:
9436 case AArch64::UMINP_ZPmZ_S:
9437 case AArch64::UQADD_ZPmZ_B:
9438 case AArch64::UQADD_ZPmZ_D:
9439 case AArch64::UQADD_ZPmZ_H:
9440 case AArch64::UQADD_ZPmZ_S:
9441 case AArch64::UQRSHLR_ZPmZ_B:
9442 case AArch64::UQRSHLR_ZPmZ_D:
9443 case AArch64::UQRSHLR_ZPmZ_H:
9444 case AArch64::UQRSHLR_ZPmZ_S:
9445 case AArch64::UQRSHL_ZPmZ_B:
9446 case AArch64::UQRSHL_ZPmZ_D:
9447 case AArch64::UQRSHL_ZPmZ_H:
9448 case AArch64::UQRSHL_ZPmZ_S:
9449 case AArch64::UQSHLR_ZPmZ_B:
9450 case AArch64::UQSHLR_ZPmZ_D:
9451 case AArch64::UQSHLR_ZPmZ_H:
9452 case AArch64::UQSHLR_ZPmZ_S:
9453 case AArch64::UQSHL_ZPmZ_B:
9454 case AArch64::UQSHL_ZPmZ_D:
9455 case AArch64::UQSHL_ZPmZ_H:
9456 case AArch64::UQSHL_ZPmZ_S:
9457 case AArch64::UQSUBR_ZPmZ_B:
9458 case AArch64::UQSUBR_ZPmZ_D:
9459 case AArch64::UQSUBR_ZPmZ_H:
9460 case AArch64::UQSUBR_ZPmZ_S:
9461 case AArch64::UQSUB_ZPmZ_B:
9462 case AArch64::UQSUB_ZPmZ_D:
9463 case AArch64::UQSUB_ZPmZ_H:
9464 case AArch64::UQSUB_ZPmZ_S:
9465 case AArch64::URHADD_ZPmZ_B:
9466 case AArch64::URHADD_ZPmZ_D:
9467 case AArch64::URHADD_ZPmZ_H:
9468 case AArch64::URHADD_ZPmZ_S:
9469 case AArch64::URSHLR_ZPmZ_B:
9470 case AArch64::URSHLR_ZPmZ_D:
9471 case AArch64::URSHLR_ZPmZ_H:
9472 case AArch64::URSHLR_ZPmZ_S:
9473 case AArch64::URSHL_ZPmZ_B:
9474 case AArch64::URSHL_ZPmZ_D:
9475 case AArch64::URSHL_ZPmZ_H:
9476 case AArch64::URSHL_ZPmZ_S:
9477 case AArch64::USQADD_ZPmZ_B:
9478 case AArch64::USQADD_ZPmZ_D:
9479 case AArch64::USQADD_ZPmZ_H:
9480 case AArch64::USQADD_ZPmZ_S: {
9481 // op: Pg
9482 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9483 Value |= (op & 0x7) << 10;
9484 // op: Zm
9485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9486 Value |= (op & 0x1f) << 5;
9487 // op: Zdn
9488 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9489 Value |= (op & 0x1f);
9490 break;
9491 }
9492 case AArch64::EXPAND_ZPZ_B:
9493 case AArch64::EXPAND_ZPZ_D:
9494 case AArch64::EXPAND_ZPZ_H:
9495 case AArch64::EXPAND_ZPZ_S:
9496 case AArch64::SPLICE_ZPZZ_B:
9497 case AArch64::SPLICE_ZPZZ_D:
9498 case AArch64::SPLICE_ZPZZ_H:
9499 case AArch64::SPLICE_ZPZZ_S: {
9500 // op: Pg
9501 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9502 Value |= (op & 0x7) << 10;
9503 // op: Zn
9504 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9505 Value |= (op & 0x1f) << 5;
9506 // op: Zd
9507 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9508 Value |= (op & 0x1f);
9509 break;
9510 }
9511 case AArch64::GLD1B_D_IMM:
9512 case AArch64::GLD1B_S_IMM:
9513 case AArch64::GLD1D_IMM:
9514 case AArch64::GLD1H_D_IMM:
9515 case AArch64::GLD1H_S_IMM:
9516 case AArch64::GLD1SB_D_IMM:
9517 case AArch64::GLD1SB_S_IMM:
9518 case AArch64::GLD1SH_D_IMM:
9519 case AArch64::GLD1SH_S_IMM:
9520 case AArch64::GLD1SW_D_IMM:
9521 case AArch64::GLD1W_D_IMM:
9522 case AArch64::GLD1W_IMM:
9523 case AArch64::GLDFF1B_D_IMM:
9524 case AArch64::GLDFF1B_S_IMM:
9525 case AArch64::GLDFF1D_IMM:
9526 case AArch64::GLDFF1H_D_IMM:
9527 case AArch64::GLDFF1H_S_IMM:
9528 case AArch64::GLDFF1SB_D_IMM:
9529 case AArch64::GLDFF1SB_S_IMM:
9530 case AArch64::GLDFF1SH_D_IMM:
9531 case AArch64::GLDFF1SH_S_IMM:
9532 case AArch64::GLDFF1SW_D_IMM:
9533 case AArch64::GLDFF1W_D_IMM:
9534 case AArch64::GLDFF1W_IMM: {
9535 // op: Pg
9536 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9537 Value |= (op & 0x7) << 10;
9538 // op: Zn
9539 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9540 Value |= (op & 0x1f) << 5;
9541 // op: Zt
9542 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9543 Value |= (op & 0x1f);
9544 // op: imm5
9545 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9546 Value |= (op & 0x1f) << 16;
9547 break;
9548 }
9549 case AArch64::PRFB_D_PZI:
9550 case AArch64::PRFB_S_PZI:
9551 case AArch64::PRFD_D_PZI:
9552 case AArch64::PRFD_S_PZI:
9553 case AArch64::PRFH_D_PZI:
9554 case AArch64::PRFH_S_PZI:
9555 case AArch64::PRFW_D_PZI:
9556 case AArch64::PRFW_S_PZI: {
9557 // op: Pg
9558 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9559 Value |= (op & 0x7) << 10;
9560 // op: Zn
9561 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9562 Value |= (op & 0x1f) << 5;
9563 // op: imm5
9564 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9565 Value |= (op & 0x1f) << 16;
9566 // op: prfop
9567 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9568 Value |= (op & 0xf);
9569 break;
9570 }
9571 case AArch64::SADALP_ZPmZ_D:
9572 case AArch64::SADALP_ZPmZ_H:
9573 case AArch64::SADALP_ZPmZ_S:
9574 case AArch64::UADALP_ZPmZ_D:
9575 case AArch64::UADALP_ZPmZ_H:
9576 case AArch64::UADALP_ZPmZ_S: {
9577 // op: Pg
9578 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9579 Value |= (op & 0x7) << 10;
9580 // op: Zn
9581 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9582 Value |= (op & 0x1f) << 5;
9583 // op: Zda
9584 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9585 Value |= (op & 0x1f);
9586 break;
9587 }
9588 case AArch64::SST1B_D_IMM:
9589 case AArch64::SST1B_S_IMM:
9590 case AArch64::SST1D_IMM:
9591 case AArch64::SST1H_D_IMM:
9592 case AArch64::SST1H_S_IMM:
9593 case AArch64::SST1W_D_IMM:
9594 case AArch64::SST1W_IMM: {
9595 // op: Pg
9596 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9597 Value |= (op & 0x7) << 10;
9598 // op: imm5
9599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9600 Value |= (op & 0x1f) << 16;
9601 // op: Zn
9602 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9603 Value |= (op & 0x1f) << 5;
9604 // op: Zt
9605 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9606 Value |= (op & 0x1f);
9607 break;
9608 }
9609 case AArch64::CNTP_XPP_B:
9610 case AArch64::CNTP_XPP_D:
9611 case AArch64::CNTP_XPP_H:
9612 case AArch64::CNTP_XPP_S:
9613 case AArch64::FIRSTP_XPP_B:
9614 case AArch64::FIRSTP_XPP_D:
9615 case AArch64::FIRSTP_XPP_H:
9616 case AArch64::FIRSTP_XPP_S:
9617 case AArch64::LASTP_XPP_B:
9618 case AArch64::LASTP_XPP_D:
9619 case AArch64::LASTP_XPP_H:
9620 case AArch64::LASTP_XPP_S: {
9621 // op: Pg
9622 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9623 Value |= (op & 0xf) << 10;
9624 // op: Pn
9625 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9626 Value |= (op & 0xf) << 5;
9627 // op: Rd
9628 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9629 Value |= (op & 0x1f);
9630 break;
9631 }
9632 case AArch64::SEL_ZPZZ_B:
9633 case AArch64::SEL_ZPZZ_D:
9634 case AArch64::SEL_ZPZZ_H:
9635 case AArch64::SEL_ZPZZ_S: {
9636 // op: Pg
9637 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9638 Value |= (op & 0xf) << 10;
9639 // op: Zd
9640 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9641 Value |= (op & 0x1f);
9642 // op: Zm
9643 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9644 Value |= (op & 0x1f) << 16;
9645 // op: Zn
9646 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9647 Value |= (op & 0x1f) << 5;
9648 break;
9649 }
9650 case AArch64::CPY_ZPmR_B:
9651 case AArch64::CPY_ZPmR_D:
9652 case AArch64::CPY_ZPmR_H:
9653 case AArch64::CPY_ZPmR_S: {
9654 // op: Pg
9655 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9656 Value |= (op & 0x7) << 10;
9657 // op: Rn
9658 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9659 Value |= (op & 0x1f) << 5;
9660 // op: Zd
9661 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9662 Value |= (op & 0x1f);
9663 break;
9664 }
9665 case AArch64::CPY_ZPmV_B:
9666 case AArch64::CPY_ZPmV_D:
9667 case AArch64::CPY_ZPmV_H:
9668 case AArch64::CPY_ZPmV_S: {
9669 // op: Pg
9670 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9671 Value |= (op & 0x7) << 10;
9672 // op: Vn
9673 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9674 Value |= (op & 0x1f) << 5;
9675 // op: Zd
9676 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9677 Value |= (op & 0x1f);
9678 break;
9679 }
9680 case AArch64::ABS_ZPmZ_B:
9681 case AArch64::ABS_ZPmZ_D:
9682 case AArch64::ABS_ZPmZ_H:
9683 case AArch64::ABS_ZPmZ_S:
9684 case AArch64::BFCVT_ZPmZ:
9685 case AArch64::CLS_ZPmZ_B:
9686 case AArch64::CLS_ZPmZ_D:
9687 case AArch64::CLS_ZPmZ_H:
9688 case AArch64::CLS_ZPmZ_S:
9689 case AArch64::CLZ_ZPmZ_B:
9690 case AArch64::CLZ_ZPmZ_D:
9691 case AArch64::CLZ_ZPmZ_H:
9692 case AArch64::CLZ_ZPmZ_S:
9693 case AArch64::CNOT_ZPmZ_B:
9694 case AArch64::CNOT_ZPmZ_D:
9695 case AArch64::CNOT_ZPmZ_H:
9696 case AArch64::CNOT_ZPmZ_S:
9697 case AArch64::CNT_ZPmZ_B:
9698 case AArch64::CNT_ZPmZ_D:
9699 case AArch64::CNT_ZPmZ_H:
9700 case AArch64::CNT_ZPmZ_S:
9701 case AArch64::FABS_ZPmZ_D:
9702 case AArch64::FABS_ZPmZ_H:
9703 case AArch64::FABS_ZPmZ_S:
9704 case AArch64::FCVTX_ZPmZ_DtoS:
9705 case AArch64::FCVTZS_ZPmZ_DtoD:
9706 case AArch64::FCVTZS_ZPmZ_DtoS:
9707 case AArch64::FCVTZS_ZPmZ_HtoD:
9708 case AArch64::FCVTZS_ZPmZ_HtoH:
9709 case AArch64::FCVTZS_ZPmZ_HtoS:
9710 case AArch64::FCVTZS_ZPmZ_StoD:
9711 case AArch64::FCVTZS_ZPmZ_StoS:
9712 case AArch64::FCVTZU_ZPmZ_DtoD:
9713 case AArch64::FCVTZU_ZPmZ_DtoS:
9714 case AArch64::FCVTZU_ZPmZ_HtoD:
9715 case AArch64::FCVTZU_ZPmZ_HtoH:
9716 case AArch64::FCVTZU_ZPmZ_HtoS:
9717 case AArch64::FCVTZU_ZPmZ_StoD:
9718 case AArch64::FCVTZU_ZPmZ_StoS:
9719 case AArch64::FCVT_ZPmZ_DtoH:
9720 case AArch64::FCVT_ZPmZ_DtoS:
9721 case AArch64::FCVT_ZPmZ_HtoD:
9722 case AArch64::FCVT_ZPmZ_HtoS:
9723 case AArch64::FCVT_ZPmZ_StoD:
9724 case AArch64::FCVT_ZPmZ_StoH:
9725 case AArch64::FLOGB_ZPmZ_D:
9726 case AArch64::FLOGB_ZPmZ_H:
9727 case AArch64::FLOGB_ZPmZ_S:
9728 case AArch64::FNEG_ZPmZ_D:
9729 case AArch64::FNEG_ZPmZ_H:
9730 case AArch64::FNEG_ZPmZ_S:
9731 case AArch64::FRECPX_ZPmZ_D:
9732 case AArch64::FRECPX_ZPmZ_H:
9733 case AArch64::FRECPX_ZPmZ_S:
9734 case AArch64::FRINT32X_ZPmZ_D:
9735 case AArch64::FRINT32X_ZPmZ_S:
9736 case AArch64::FRINT32Z_ZPmZ_D:
9737 case AArch64::FRINT32Z_ZPmZ_S:
9738 case AArch64::FRINT64X_ZPmZ_D:
9739 case AArch64::FRINT64X_ZPmZ_S:
9740 case AArch64::FRINT64Z_ZPmZ_D:
9741 case AArch64::FRINT64Z_ZPmZ_S:
9742 case AArch64::FRINTA_ZPmZ_D:
9743 case AArch64::FRINTA_ZPmZ_H:
9744 case AArch64::FRINTA_ZPmZ_S:
9745 case AArch64::FRINTI_ZPmZ_D:
9746 case AArch64::FRINTI_ZPmZ_H:
9747 case AArch64::FRINTI_ZPmZ_S:
9748 case AArch64::FRINTM_ZPmZ_D:
9749 case AArch64::FRINTM_ZPmZ_H:
9750 case AArch64::FRINTM_ZPmZ_S:
9751 case AArch64::FRINTN_ZPmZ_D:
9752 case AArch64::FRINTN_ZPmZ_H:
9753 case AArch64::FRINTN_ZPmZ_S:
9754 case AArch64::FRINTP_ZPmZ_D:
9755 case AArch64::FRINTP_ZPmZ_H:
9756 case AArch64::FRINTP_ZPmZ_S:
9757 case AArch64::FRINTX_ZPmZ_D:
9758 case AArch64::FRINTX_ZPmZ_H:
9759 case AArch64::FRINTX_ZPmZ_S:
9760 case AArch64::FRINTZ_ZPmZ_D:
9761 case AArch64::FRINTZ_ZPmZ_H:
9762 case AArch64::FRINTZ_ZPmZ_S:
9763 case AArch64::FSQRT_ZPmZ_D:
9764 case AArch64::FSQRT_ZPmZ_H:
9765 case AArch64::FSQRT_ZPmZ_S:
9766 case AArch64::MOVPRFX_ZPmZ_B:
9767 case AArch64::MOVPRFX_ZPmZ_D:
9768 case AArch64::MOVPRFX_ZPmZ_H:
9769 case AArch64::MOVPRFX_ZPmZ_S:
9770 case AArch64::NEG_ZPmZ_B:
9771 case AArch64::NEG_ZPmZ_D:
9772 case AArch64::NEG_ZPmZ_H:
9773 case AArch64::NEG_ZPmZ_S:
9774 case AArch64::NOT_ZPmZ_B:
9775 case AArch64::NOT_ZPmZ_D:
9776 case AArch64::NOT_ZPmZ_H:
9777 case AArch64::NOT_ZPmZ_S:
9778 case AArch64::SCVTF_ZPmZ_DtoD:
9779 case AArch64::SCVTF_ZPmZ_DtoH:
9780 case AArch64::SCVTF_ZPmZ_DtoS:
9781 case AArch64::SCVTF_ZPmZ_HtoH:
9782 case AArch64::SCVTF_ZPmZ_StoD:
9783 case AArch64::SCVTF_ZPmZ_StoH:
9784 case AArch64::SCVTF_ZPmZ_StoS:
9785 case AArch64::SQABS_ZPmZ_B:
9786 case AArch64::SQABS_ZPmZ_D:
9787 case AArch64::SQABS_ZPmZ_H:
9788 case AArch64::SQABS_ZPmZ_S:
9789 case AArch64::SQNEG_ZPmZ_B:
9790 case AArch64::SQNEG_ZPmZ_D:
9791 case AArch64::SQNEG_ZPmZ_H:
9792 case AArch64::SQNEG_ZPmZ_S:
9793 case AArch64::SXTB_ZPmZ_D:
9794 case AArch64::SXTB_ZPmZ_H:
9795 case AArch64::SXTB_ZPmZ_S:
9796 case AArch64::SXTH_ZPmZ_D:
9797 case AArch64::SXTH_ZPmZ_S:
9798 case AArch64::SXTW_ZPmZ_D:
9799 case AArch64::UCVTF_ZPmZ_DtoD:
9800 case AArch64::UCVTF_ZPmZ_DtoH:
9801 case AArch64::UCVTF_ZPmZ_DtoS:
9802 case AArch64::UCVTF_ZPmZ_HtoH:
9803 case AArch64::UCVTF_ZPmZ_StoD:
9804 case AArch64::UCVTF_ZPmZ_StoH:
9805 case AArch64::UCVTF_ZPmZ_StoS:
9806 case AArch64::URECPE_ZPmZ_S:
9807 case AArch64::URSQRTE_ZPmZ_S:
9808 case AArch64::UXTB_ZPmZ_D:
9809 case AArch64::UXTB_ZPmZ_H:
9810 case AArch64::UXTB_ZPmZ_S:
9811 case AArch64::UXTH_ZPmZ_D:
9812 case AArch64::UXTH_ZPmZ_S:
9813 case AArch64::UXTW_ZPmZ_D: {
9814 // op: Pg
9815 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9816 Value |= (op & 0x7) << 10;
9817 // op: Zd
9818 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9819 Value |= (op & 0x1f);
9820 // op: Zn
9821 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9822 Value |= (op & 0x1f) << 5;
9823 break;
9824 }
9825 case AArch64::FCPY_ZPmI_D:
9826 case AArch64::FCPY_ZPmI_H:
9827 case AArch64::FCPY_ZPmI_S: {
9828 // op: Pg
9829 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9830 Value |= (op & 0xf) << 16;
9831 // op: Zd
9832 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9833 Value |= (op & 0x1f);
9834 // op: imm8
9835 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9836 Value |= (op & 0xff) << 5;
9837 break;
9838 }
9839 case AArch64::DECP_ZP_D:
9840 case AArch64::DECP_ZP_H:
9841 case AArch64::DECP_ZP_S:
9842 case AArch64::INCP_ZP_D:
9843 case AArch64::INCP_ZP_H:
9844 case AArch64::INCP_ZP_S:
9845 case AArch64::SQDECP_ZP_D:
9846 case AArch64::SQDECP_ZP_H:
9847 case AArch64::SQDECP_ZP_S:
9848 case AArch64::SQINCP_ZP_D:
9849 case AArch64::SQINCP_ZP_H:
9850 case AArch64::SQINCP_ZP_S:
9851 case AArch64::UQDECP_ZP_D:
9852 case AArch64::UQDECP_ZP_H:
9853 case AArch64::UQDECP_ZP_S:
9854 case AArch64::UQINCP_ZP_D:
9855 case AArch64::UQINCP_ZP_H:
9856 case AArch64::UQINCP_ZP_S: {
9857 // op: Pm
9858 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9859 Value |= (op & 0xf) << 5;
9860 // op: Zdn
9861 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9862 Value |= (op & 0x1f);
9863 break;
9864 }
9865 case AArch64::ADDHA_MPPZ_S:
9866 case AArch64::ADDVA_MPPZ_S: {
9867 // op: Pm
9868 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9869 Value |= (op & 0x7) << 13;
9870 // op: Pn
9871 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9872 Value |= (op & 0x7) << 10;
9873 // op: Zn
9874 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9875 Value |= (op & 0x1f) << 5;
9876 // op: ZAda
9877 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9878 Value |= (op & 0x3);
9879 break;
9880 }
9881 case AArch64::ADDHA_MPPZ_D:
9882 case AArch64::ADDVA_MPPZ_D: {
9883 // op: Pm
9884 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9885 Value |= (op & 0x7) << 13;
9886 // op: Pn
9887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9888 Value |= (op & 0x7) << 10;
9889 // op: Zn
9890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9891 Value |= (op & 0x1f) << 5;
9892 // op: ZAda
9893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9894 Value |= (op & 0x7);
9895 break;
9896 }
9897 case AArch64::WRFFR: {
9898 // op: Pn
9899 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9900 Value |= (op & 0xf) << 5;
9901 break;
9902 }
9903 case AArch64::LDR_PXI:
9904 case AArch64::STR_PXI: {
9905 // op: Pt
9906 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9907 Value |= (op & 0xf);
9908 // op: Rn
9909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9910 Value |= (op & 0x1f) << 5;
9911 // op: imm9
9912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9913 Value |= (op & 0x1f8) << 13;
9914 Value |= (op & 0x7) << 10;
9915 break;
9916 }
9917 case AArch64::XPACD:
9918 case AArch64::XPACI: {
9919 // op: Rd
9920 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9921 Value |= (op & 0x1f);
9922 break;
9923 }
9924 case AArch64::CNTP_XCI_B:
9925 case AArch64::CNTP_XCI_D:
9926 case AArch64::CNTP_XCI_H:
9927 case AArch64::CNTP_XCI_S: {
9928 // op: Rd
9929 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9930 Value |= (op & 0x1f);
9931 // op: PNn
9932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9933 Value |= (op & 0xf) << 5;
9934 // op: vl
9935 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9936 Value |= (op & 0x1) << 10;
9937 break;
9938 }
9939 case AArch64::ADDPL_XXI:
9940 case AArch64::ADDSPL_XXI:
9941 case AArch64::ADDSVL_XXI:
9942 case AArch64::ADDVL_XXI: {
9943 // op: Rd
9944 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9945 Value |= (op & 0x1f);
9946 // op: Rn
9947 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9948 Value |= (op & 0x1f) << 16;
9949 // op: imm6
9950 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9951 Value |= (op & 0x3f) << 5;
9952 break;
9953 }
9954 case AArch64::ABSWr:
9955 case AArch64::ABSXr:
9956 case AArch64::ABSv16i8:
9957 case AArch64::ABSv1i64:
9958 case AArch64::ABSv2i32:
9959 case AArch64::ABSv2i64:
9960 case AArch64::ABSv4i16:
9961 case AArch64::ABSv4i32:
9962 case AArch64::ABSv8i16:
9963 case AArch64::ABSv8i8:
9964 case AArch64::ADDPv2i64p:
9965 case AArch64::ADDVv16i8v:
9966 case AArch64::ADDVv4i16v:
9967 case AArch64::ADDVv4i32v:
9968 case AArch64::ADDVv8i16v:
9969 case AArch64::ADDVv8i8v:
9970 case AArch64::AESIMCrr:
9971 case AArch64::AESMCrr:
9972 case AArch64::BF1CVTL:
9973 case AArch64::BF1CVTL2:
9974 case AArch64::BF2CVTL:
9975 case AArch64::BF2CVTL2:
9976 case AArch64::BFCVT:
9977 case AArch64::BFCVTN:
9978 case AArch64::CLSWr:
9979 case AArch64::CLSXr:
9980 case AArch64::CLSv16i8:
9981 case AArch64::CLSv2i32:
9982 case AArch64::CLSv4i16:
9983 case AArch64::CLSv4i32:
9984 case AArch64::CLSv8i16:
9985 case AArch64::CLSv8i8:
9986 case AArch64::CLZWr:
9987 case AArch64::CLZXr:
9988 case AArch64::CLZv16i8:
9989 case AArch64::CLZv2i32:
9990 case AArch64::CLZv4i16:
9991 case AArch64::CLZv4i32:
9992 case AArch64::CLZv8i16:
9993 case AArch64::CLZv8i8:
9994 case AArch64::CMEQv16i8rz:
9995 case AArch64::CMEQv1i64rz:
9996 case AArch64::CMEQv2i32rz:
9997 case AArch64::CMEQv2i64rz:
9998 case AArch64::CMEQv4i16rz:
9999 case AArch64::CMEQv4i32rz:
10000 case AArch64::CMEQv8i16rz:
10001 case AArch64::CMEQv8i8rz:
10002 case AArch64::CMGEv16i8rz:
10003 case AArch64::CMGEv1i64rz:
10004 case AArch64::CMGEv2i32rz:
10005 case AArch64::CMGEv2i64rz:
10006 case AArch64::CMGEv4i16rz:
10007 case AArch64::CMGEv4i32rz:
10008 case AArch64::CMGEv8i16rz:
10009 case AArch64::CMGEv8i8rz:
10010 case AArch64::CMGTv16i8rz:
10011 case AArch64::CMGTv1i64rz:
10012 case AArch64::CMGTv2i32rz:
10013 case AArch64::CMGTv2i64rz:
10014 case AArch64::CMGTv4i16rz:
10015 case AArch64::CMGTv4i32rz:
10016 case AArch64::CMGTv8i16rz:
10017 case AArch64::CMGTv8i8rz:
10018 case AArch64::CMLEv16i8rz:
10019 case AArch64::CMLEv1i64rz:
10020 case AArch64::CMLEv2i32rz:
10021 case AArch64::CMLEv2i64rz:
10022 case AArch64::CMLEv4i16rz:
10023 case AArch64::CMLEv4i32rz:
10024 case AArch64::CMLEv8i16rz:
10025 case AArch64::CMLEv8i8rz:
10026 case AArch64::CMLTv16i8rz:
10027 case AArch64::CMLTv1i64rz:
10028 case AArch64::CMLTv2i32rz:
10029 case AArch64::CMLTv2i64rz:
10030 case AArch64::CMLTv4i16rz:
10031 case AArch64::CMLTv4i32rz:
10032 case AArch64::CMLTv8i16rz:
10033 case AArch64::CMLTv8i8rz:
10034 case AArch64::CNTWr:
10035 case AArch64::CNTXr:
10036 case AArch64::CNTv16i8:
10037 case AArch64::CNTv8i8:
10038 case AArch64::CTZWr:
10039 case AArch64::CTZXr:
10040 case AArch64::DUPv16i8gpr:
10041 case AArch64::DUPv2i32gpr:
10042 case AArch64::DUPv2i64gpr:
10043 case AArch64::DUPv4i16gpr:
10044 case AArch64::DUPv4i32gpr:
10045 case AArch64::DUPv8i16gpr:
10046 case AArch64::DUPv8i8gpr:
10047 case AArch64::F1CVTL:
10048 case AArch64::F1CVTL2:
10049 case AArch64::F2CVTL:
10050 case AArch64::F2CVTL2:
10051 case AArch64::FABSDr:
10052 case AArch64::FABSHr:
10053 case AArch64::FABSSr:
10054 case AArch64::FABSv2f32:
10055 case AArch64::FABSv2f64:
10056 case AArch64::FABSv4f16:
10057 case AArch64::FABSv4f32:
10058 case AArch64::FABSv8f16:
10059 case AArch64::FADDPv2i16p:
10060 case AArch64::FADDPv2i32p:
10061 case AArch64::FADDPv2i64p:
10062 case AArch64::FCMEQv1i16rz:
10063 case AArch64::FCMEQv1i32rz:
10064 case AArch64::FCMEQv1i64rz:
10065 case AArch64::FCMEQv2i32rz:
10066 case AArch64::FCMEQv2i64rz:
10067 case AArch64::FCMEQv4i16rz:
10068 case AArch64::FCMEQv4i32rz:
10069 case AArch64::FCMEQv8i16rz:
10070 case AArch64::FCMGEv1i16rz:
10071 case AArch64::FCMGEv1i32rz:
10072 case AArch64::FCMGEv1i64rz:
10073 case AArch64::FCMGEv2i32rz:
10074 case AArch64::FCMGEv2i64rz:
10075 case AArch64::FCMGEv4i16rz:
10076 case AArch64::FCMGEv4i32rz:
10077 case AArch64::FCMGEv8i16rz:
10078 case AArch64::FCMGTv1i16rz:
10079 case AArch64::FCMGTv1i32rz:
10080 case AArch64::FCMGTv1i64rz:
10081 case AArch64::FCMGTv2i32rz:
10082 case AArch64::FCMGTv2i64rz:
10083 case AArch64::FCMGTv4i16rz:
10084 case AArch64::FCMGTv4i32rz:
10085 case AArch64::FCMGTv8i16rz:
10086 case AArch64::FCMLEv1i16rz:
10087 case AArch64::FCMLEv1i32rz:
10088 case AArch64::FCMLEv1i64rz:
10089 case AArch64::FCMLEv2i32rz:
10090 case AArch64::FCMLEv2i64rz:
10091 case AArch64::FCMLEv4i16rz:
10092 case AArch64::FCMLEv4i32rz:
10093 case AArch64::FCMLEv8i16rz:
10094 case AArch64::FCMLTv1i16rz:
10095 case AArch64::FCMLTv1i32rz:
10096 case AArch64::FCMLTv1i64rz:
10097 case AArch64::FCMLTv2i32rz:
10098 case AArch64::FCMLTv2i64rz:
10099 case AArch64::FCMLTv4i16rz:
10100 case AArch64::FCMLTv4i32rz:
10101 case AArch64::FCMLTv8i16rz:
10102 case AArch64::FCVTASDHr:
10103 case AArch64::FCVTASDSr:
10104 case AArch64::FCVTASSDr:
10105 case AArch64::FCVTASSHr:
10106 case AArch64::FCVTASUWDr:
10107 case AArch64::FCVTASUWHr:
10108 case AArch64::FCVTASUWSr:
10109 case AArch64::FCVTASUXDr:
10110 case AArch64::FCVTASUXHr:
10111 case AArch64::FCVTASUXSr:
10112 case AArch64::FCVTASv1f16:
10113 case AArch64::FCVTASv1i32:
10114 case AArch64::FCVTASv1i64:
10115 case AArch64::FCVTASv2f32:
10116 case AArch64::FCVTASv2f64:
10117 case AArch64::FCVTASv4f16:
10118 case AArch64::FCVTASv4f32:
10119 case AArch64::FCVTASv8f16:
10120 case AArch64::FCVTAUDHr:
10121 case AArch64::FCVTAUDSr:
10122 case AArch64::FCVTAUSDr:
10123 case AArch64::FCVTAUSHr:
10124 case AArch64::FCVTAUUWDr:
10125 case AArch64::FCVTAUUWHr:
10126 case AArch64::FCVTAUUWSr:
10127 case AArch64::FCVTAUUXDr:
10128 case AArch64::FCVTAUUXHr:
10129 case AArch64::FCVTAUUXSr:
10130 case AArch64::FCVTAUv1f16:
10131 case AArch64::FCVTAUv1i32:
10132 case AArch64::FCVTAUv1i64:
10133 case AArch64::FCVTAUv2f32:
10134 case AArch64::FCVTAUv2f64:
10135 case AArch64::FCVTAUv4f16:
10136 case AArch64::FCVTAUv4f32:
10137 case AArch64::FCVTAUv8f16:
10138 case AArch64::FCVTDHr:
10139 case AArch64::FCVTDSr:
10140 case AArch64::FCVTHDr:
10141 case AArch64::FCVTHSr:
10142 case AArch64::FCVTLv2i32:
10143 case AArch64::FCVTLv4i16:
10144 case AArch64::FCVTLv4i32:
10145 case AArch64::FCVTLv8i16:
10146 case AArch64::FCVTMSDHr:
10147 case AArch64::FCVTMSDSr:
10148 case AArch64::FCVTMSSDr:
10149 case AArch64::FCVTMSSHr:
10150 case AArch64::FCVTMSUWDr:
10151 case AArch64::FCVTMSUWHr:
10152 case AArch64::FCVTMSUWSr:
10153 case AArch64::FCVTMSUXDr:
10154 case AArch64::FCVTMSUXHr:
10155 case AArch64::FCVTMSUXSr:
10156 case AArch64::FCVTMSv1f16:
10157 case AArch64::FCVTMSv1i32:
10158 case AArch64::FCVTMSv1i64:
10159 case AArch64::FCVTMSv2f32:
10160 case AArch64::FCVTMSv2f64:
10161 case AArch64::FCVTMSv4f16:
10162 case AArch64::FCVTMSv4f32:
10163 case AArch64::FCVTMSv8f16:
10164 case AArch64::FCVTMUDHr:
10165 case AArch64::FCVTMUDSr:
10166 case AArch64::FCVTMUSDr:
10167 case AArch64::FCVTMUSHr:
10168 case AArch64::FCVTMUUWDr:
10169 case AArch64::FCVTMUUWHr:
10170 case AArch64::FCVTMUUWSr:
10171 case AArch64::FCVTMUUXDr:
10172 case AArch64::FCVTMUUXHr:
10173 case AArch64::FCVTMUUXSr:
10174 case AArch64::FCVTMUv1f16:
10175 case AArch64::FCVTMUv1i32:
10176 case AArch64::FCVTMUv1i64:
10177 case AArch64::FCVTMUv2f32:
10178 case AArch64::FCVTMUv2f64:
10179 case AArch64::FCVTMUv4f16:
10180 case AArch64::FCVTMUv4f32:
10181 case AArch64::FCVTMUv8f16:
10182 case AArch64::FCVTNSDHr:
10183 case AArch64::FCVTNSDSr:
10184 case AArch64::FCVTNSSDr:
10185 case AArch64::FCVTNSSHr:
10186 case AArch64::FCVTNSUWDr:
10187 case AArch64::FCVTNSUWHr:
10188 case AArch64::FCVTNSUWSr:
10189 case AArch64::FCVTNSUXDr:
10190 case AArch64::FCVTNSUXHr:
10191 case AArch64::FCVTNSUXSr:
10192 case AArch64::FCVTNSv1f16:
10193 case AArch64::FCVTNSv1i32:
10194 case AArch64::FCVTNSv1i64:
10195 case AArch64::FCVTNSv2f32:
10196 case AArch64::FCVTNSv2f64:
10197 case AArch64::FCVTNSv4f16:
10198 case AArch64::FCVTNSv4f32:
10199 case AArch64::FCVTNSv8f16:
10200 case AArch64::FCVTNUDHr:
10201 case AArch64::FCVTNUDSr:
10202 case AArch64::FCVTNUSDr:
10203 case AArch64::FCVTNUSHr:
10204 case AArch64::FCVTNUUWDr:
10205 case AArch64::FCVTNUUWHr:
10206 case AArch64::FCVTNUUWSr:
10207 case AArch64::FCVTNUUXDr:
10208 case AArch64::FCVTNUUXHr:
10209 case AArch64::FCVTNUUXSr:
10210 case AArch64::FCVTNUv1f16:
10211 case AArch64::FCVTNUv1i32:
10212 case AArch64::FCVTNUv1i64:
10213 case AArch64::FCVTNUv2f32:
10214 case AArch64::FCVTNUv2f64:
10215 case AArch64::FCVTNUv4f16:
10216 case AArch64::FCVTNUv4f32:
10217 case AArch64::FCVTNUv8f16:
10218 case AArch64::FCVTNv2i32:
10219 case AArch64::FCVTNv4i16:
10220 case AArch64::FCVTPSDHr:
10221 case AArch64::FCVTPSDSr:
10222 case AArch64::FCVTPSSDr:
10223 case AArch64::FCVTPSSHr:
10224 case AArch64::FCVTPSUWDr:
10225 case AArch64::FCVTPSUWHr:
10226 case AArch64::FCVTPSUWSr:
10227 case AArch64::FCVTPSUXDr:
10228 case AArch64::FCVTPSUXHr:
10229 case AArch64::FCVTPSUXSr:
10230 case AArch64::FCVTPSv1f16:
10231 case AArch64::FCVTPSv1i32:
10232 case AArch64::FCVTPSv1i64:
10233 case AArch64::FCVTPSv2f32:
10234 case AArch64::FCVTPSv2f64:
10235 case AArch64::FCVTPSv4f16:
10236 case AArch64::FCVTPSv4f32:
10237 case AArch64::FCVTPSv8f16:
10238 case AArch64::FCVTPUDHr:
10239 case AArch64::FCVTPUDSr:
10240 case AArch64::FCVTPUSDr:
10241 case AArch64::FCVTPUSHr:
10242 case AArch64::FCVTPUUWDr:
10243 case AArch64::FCVTPUUWHr:
10244 case AArch64::FCVTPUUWSr:
10245 case AArch64::FCVTPUUXDr:
10246 case AArch64::FCVTPUUXHr:
10247 case AArch64::FCVTPUUXSr:
10248 case AArch64::FCVTPUv1f16:
10249 case AArch64::FCVTPUv1i32:
10250 case AArch64::FCVTPUv1i64:
10251 case AArch64::FCVTPUv2f32:
10252 case AArch64::FCVTPUv2f64:
10253 case AArch64::FCVTPUv4f16:
10254 case AArch64::FCVTPUv4f32:
10255 case AArch64::FCVTPUv8f16:
10256 case AArch64::FCVTSDr:
10257 case AArch64::FCVTSHr:
10258 case AArch64::FCVTXNv1i64:
10259 case AArch64::FCVTXNv2f32:
10260 case AArch64::FCVTZSDHr:
10261 case AArch64::FCVTZSDSr:
10262 case AArch64::FCVTZSSDr:
10263 case AArch64::FCVTZSSHr:
10264 case AArch64::FCVTZSUWDr:
10265 case AArch64::FCVTZSUWHr:
10266 case AArch64::FCVTZSUWSr:
10267 case AArch64::FCVTZSUXDr:
10268 case AArch64::FCVTZSUXHr:
10269 case AArch64::FCVTZSUXSr:
10270 case AArch64::FCVTZSv1f16:
10271 case AArch64::FCVTZSv1i32:
10272 case AArch64::FCVTZSv1i64:
10273 case AArch64::FCVTZSv2f32:
10274 case AArch64::FCVTZSv2f64:
10275 case AArch64::FCVTZSv4f16:
10276 case AArch64::FCVTZSv4f32:
10277 case AArch64::FCVTZSv8f16:
10278 case AArch64::FCVTZUDHr:
10279 case AArch64::FCVTZUDSr:
10280 case AArch64::FCVTZUSDr:
10281 case AArch64::FCVTZUSHr:
10282 case AArch64::FCVTZUUWDr:
10283 case AArch64::FCVTZUUWHr:
10284 case AArch64::FCVTZUUWSr:
10285 case AArch64::FCVTZUUXDr:
10286 case AArch64::FCVTZUUXHr:
10287 case AArch64::FCVTZUUXSr:
10288 case AArch64::FCVTZUv1f16:
10289 case AArch64::FCVTZUv1i32:
10290 case AArch64::FCVTZUv1i64:
10291 case AArch64::FCVTZUv2f32:
10292 case AArch64::FCVTZUv2f64:
10293 case AArch64::FCVTZUv4f16:
10294 case AArch64::FCVTZUv4f32:
10295 case AArch64::FCVTZUv8f16:
10296 case AArch64::FJCVTZS:
10297 case AArch64::FMAXNMPv2i16p:
10298 case AArch64::FMAXNMPv2i32p:
10299 case AArch64::FMAXNMPv2i64p:
10300 case AArch64::FMAXNMVv4i16v:
10301 case AArch64::FMAXNMVv4i32v:
10302 case AArch64::FMAXNMVv8i16v:
10303 case AArch64::FMAXPv2i16p:
10304 case AArch64::FMAXPv2i32p:
10305 case AArch64::FMAXPv2i64p:
10306 case AArch64::FMAXVv4i16v:
10307 case AArch64::FMAXVv4i32v:
10308 case AArch64::FMAXVv8i16v:
10309 case AArch64::FMINNMPv2i16p:
10310 case AArch64::FMINNMPv2i32p:
10311 case AArch64::FMINNMPv2i64p:
10312 case AArch64::FMINNMVv4i16v:
10313 case AArch64::FMINNMVv4i32v:
10314 case AArch64::FMINNMVv8i16v:
10315 case AArch64::FMINPv2i16p:
10316 case AArch64::FMINPv2i32p:
10317 case AArch64::FMINPv2i64p:
10318 case AArch64::FMINVv4i16v:
10319 case AArch64::FMINVv4i32v:
10320 case AArch64::FMINVv8i16v:
10321 case AArch64::FMOVDXHighr:
10322 case AArch64::FMOVDXr:
10323 case AArch64::FMOVDr:
10324 case AArch64::FMOVHWr:
10325 case AArch64::FMOVHXr:
10326 case AArch64::FMOVHr:
10327 case AArch64::FMOVSWr:
10328 case AArch64::FMOVSr:
10329 case AArch64::FMOVWHr:
10330 case AArch64::FMOVWSr:
10331 case AArch64::FMOVXDHighr:
10332 case AArch64::FMOVXDr:
10333 case AArch64::FMOVXHr:
10334 case AArch64::FNEGDr:
10335 case AArch64::FNEGHr:
10336 case AArch64::FNEGSr:
10337 case AArch64::FNEGv2f32:
10338 case AArch64::FNEGv2f64:
10339 case AArch64::FNEGv4f16:
10340 case AArch64::FNEGv4f32:
10341 case AArch64::FNEGv8f16:
10342 case AArch64::FRECPEv1f16:
10343 case AArch64::FRECPEv1i32:
10344 case AArch64::FRECPEv1i64:
10345 case AArch64::FRECPEv2f32:
10346 case AArch64::FRECPEv2f64:
10347 case AArch64::FRECPEv4f16:
10348 case AArch64::FRECPEv4f32:
10349 case AArch64::FRECPEv8f16:
10350 case AArch64::FRECPXv1f16:
10351 case AArch64::FRECPXv1i32:
10352 case AArch64::FRECPXv1i64:
10353 case AArch64::FRINT32XDr:
10354 case AArch64::FRINT32XSr:
10355 case AArch64::FRINT32Xv2f32:
10356 case AArch64::FRINT32Xv2f64:
10357 case AArch64::FRINT32Xv4f32:
10358 case AArch64::FRINT32ZDr:
10359 case AArch64::FRINT32ZSr:
10360 case AArch64::FRINT32Zv2f32:
10361 case AArch64::FRINT32Zv2f64:
10362 case AArch64::FRINT32Zv4f32:
10363 case AArch64::FRINT64XDr:
10364 case AArch64::FRINT64XSr:
10365 case AArch64::FRINT64Xv2f32:
10366 case AArch64::FRINT64Xv2f64:
10367 case AArch64::FRINT64Xv4f32:
10368 case AArch64::FRINT64ZDr:
10369 case AArch64::FRINT64ZSr:
10370 case AArch64::FRINT64Zv2f32:
10371 case AArch64::FRINT64Zv2f64:
10372 case AArch64::FRINT64Zv4f32:
10373 case AArch64::FRINTADr:
10374 case AArch64::FRINTAHr:
10375 case AArch64::FRINTASr:
10376 case AArch64::FRINTAv2f32:
10377 case AArch64::FRINTAv2f64:
10378 case AArch64::FRINTAv4f16:
10379 case AArch64::FRINTAv4f32:
10380 case AArch64::FRINTAv8f16:
10381 case AArch64::FRINTIDr:
10382 case AArch64::FRINTIHr:
10383 case AArch64::FRINTISr:
10384 case AArch64::FRINTIv2f32:
10385 case AArch64::FRINTIv2f64:
10386 case AArch64::FRINTIv4f16:
10387 case AArch64::FRINTIv4f32:
10388 case AArch64::FRINTIv8f16:
10389 case AArch64::FRINTMDr:
10390 case AArch64::FRINTMHr:
10391 case AArch64::FRINTMSr:
10392 case AArch64::FRINTMv2f32:
10393 case AArch64::FRINTMv2f64:
10394 case AArch64::FRINTMv4f16:
10395 case AArch64::FRINTMv4f32:
10396 case AArch64::FRINTMv8f16:
10397 case AArch64::FRINTNDr:
10398 case AArch64::FRINTNHr:
10399 case AArch64::FRINTNSr:
10400 case AArch64::FRINTNv2f32:
10401 case AArch64::FRINTNv2f64:
10402 case AArch64::FRINTNv4f16:
10403 case AArch64::FRINTNv4f32:
10404 case AArch64::FRINTNv8f16:
10405 case AArch64::FRINTPDr:
10406 case AArch64::FRINTPHr:
10407 case AArch64::FRINTPSr:
10408 case AArch64::FRINTPv2f32:
10409 case AArch64::FRINTPv2f64:
10410 case AArch64::FRINTPv4f16:
10411 case AArch64::FRINTPv4f32:
10412 case AArch64::FRINTPv8f16:
10413 case AArch64::FRINTXDr:
10414 case AArch64::FRINTXHr:
10415 case AArch64::FRINTXSr:
10416 case AArch64::FRINTXv2f32:
10417 case AArch64::FRINTXv2f64:
10418 case AArch64::FRINTXv4f16:
10419 case AArch64::FRINTXv4f32:
10420 case AArch64::FRINTXv8f16:
10421 case AArch64::FRINTZDr:
10422 case AArch64::FRINTZHr:
10423 case AArch64::FRINTZSr:
10424 case AArch64::FRINTZv2f32:
10425 case AArch64::FRINTZv2f64:
10426 case AArch64::FRINTZv4f16:
10427 case AArch64::FRINTZv4f32:
10428 case AArch64::FRINTZv8f16:
10429 case AArch64::FRSQRTEv1f16:
10430 case AArch64::FRSQRTEv1i32:
10431 case AArch64::FRSQRTEv1i64:
10432 case AArch64::FRSQRTEv2f32:
10433 case AArch64::FRSQRTEv2f64:
10434 case AArch64::FRSQRTEv4f16:
10435 case AArch64::FRSQRTEv4f32:
10436 case AArch64::FRSQRTEv8f16:
10437 case AArch64::FSQRTDr:
10438 case AArch64::FSQRTHr:
10439 case AArch64::FSQRTSr:
10440 case AArch64::FSQRTv2f32:
10441 case AArch64::FSQRTv2f64:
10442 case AArch64::FSQRTv4f16:
10443 case AArch64::FSQRTv4f32:
10444 case AArch64::FSQRTv8f16:
10445 case AArch64::NEGv16i8:
10446 case AArch64::NEGv1i64:
10447 case AArch64::NEGv2i32:
10448 case AArch64::NEGv2i64:
10449 case AArch64::NEGv4i16:
10450 case AArch64::NEGv4i32:
10451 case AArch64::NEGv8i16:
10452 case AArch64::NEGv8i8:
10453 case AArch64::NOTv16i8:
10454 case AArch64::NOTv8i8:
10455 case AArch64::RBITWr:
10456 case AArch64::RBITXr:
10457 case AArch64::RBITv16i8:
10458 case AArch64::RBITv8i8:
10459 case AArch64::REV16Wr:
10460 case AArch64::REV16Xr:
10461 case AArch64::REV16v16i8:
10462 case AArch64::REV16v8i8:
10463 case AArch64::REV32Xr:
10464 case AArch64::REV32v16i8:
10465 case AArch64::REV32v4i16:
10466 case AArch64::REV32v8i16:
10467 case AArch64::REV32v8i8:
10468 case AArch64::REV64v16i8:
10469 case AArch64::REV64v2i32:
10470 case AArch64::REV64v4i16:
10471 case AArch64::REV64v4i32:
10472 case AArch64::REV64v8i16:
10473 case AArch64::REV64v8i8:
10474 case AArch64::REVWr:
10475 case AArch64::REVXr:
10476 case AArch64::SADDLPv16i8_v8i16:
10477 case AArch64::SADDLPv2i32_v1i64:
10478 case AArch64::SADDLPv4i16_v2i32:
10479 case AArch64::SADDLPv4i32_v2i64:
10480 case AArch64::SADDLPv8i16_v4i32:
10481 case AArch64::SADDLPv8i8_v4i16:
10482 case AArch64::SADDLVv16i8v:
10483 case AArch64::SADDLVv4i16v:
10484 case AArch64::SADDLVv4i32v:
10485 case AArch64::SADDLVv8i16v:
10486 case AArch64::SADDLVv8i8v:
10487 case AArch64::SCVTFDSr:
10488 case AArch64::SCVTFHDr:
10489 case AArch64::SCVTFHSr:
10490 case AArch64::SCVTFSDr:
10491 case AArch64::SCVTFUWDri:
10492 case AArch64::SCVTFUWHri:
10493 case AArch64::SCVTFUWSri:
10494 case AArch64::SCVTFUXDri:
10495 case AArch64::SCVTFUXHri:
10496 case AArch64::SCVTFUXSri:
10497 case AArch64::SCVTFv1i16:
10498 case AArch64::SCVTFv1i32:
10499 case AArch64::SCVTFv1i64:
10500 case AArch64::SCVTFv2f32:
10501 case AArch64::SCVTFv2f64:
10502 case AArch64::SCVTFv4f16:
10503 case AArch64::SCVTFv4f32:
10504 case AArch64::SCVTFv8f16:
10505 case AArch64::SHA1Hrr:
10506 case AArch64::SHLLv16i8:
10507 case AArch64::SHLLv2i32:
10508 case AArch64::SHLLv4i16:
10509 case AArch64::SHLLv4i32:
10510 case AArch64::SHLLv8i16:
10511 case AArch64::SHLLv8i8:
10512 case AArch64::SMAXVv16i8v:
10513 case AArch64::SMAXVv4i16v:
10514 case AArch64::SMAXVv4i32v:
10515 case AArch64::SMAXVv8i16v:
10516 case AArch64::SMAXVv8i8v:
10517 case AArch64::SMINVv16i8v:
10518 case AArch64::SMINVv4i16v:
10519 case AArch64::SMINVv4i32v:
10520 case AArch64::SMINVv8i16v:
10521 case AArch64::SMINVv8i8v:
10522 case AArch64::SMOVvi16to32_idx0:
10523 case AArch64::SMOVvi16to64_idx0:
10524 case AArch64::SMOVvi32to64_idx0:
10525 case AArch64::SMOVvi8to32_idx0:
10526 case AArch64::SMOVvi8to64_idx0:
10527 case AArch64::SQABSv16i8:
10528 case AArch64::SQABSv1i16:
10529 case AArch64::SQABSv1i32:
10530 case AArch64::SQABSv1i64:
10531 case AArch64::SQABSv1i8:
10532 case AArch64::SQABSv2i32:
10533 case AArch64::SQABSv2i64:
10534 case AArch64::SQABSv4i16:
10535 case AArch64::SQABSv4i32:
10536 case AArch64::SQABSv8i16:
10537 case AArch64::SQABSv8i8:
10538 case AArch64::SQNEGv16i8:
10539 case AArch64::SQNEGv1i16:
10540 case AArch64::SQNEGv1i32:
10541 case AArch64::SQNEGv1i64:
10542 case AArch64::SQNEGv1i8:
10543 case AArch64::SQNEGv2i32:
10544 case AArch64::SQNEGv2i64:
10545 case AArch64::SQNEGv4i16:
10546 case AArch64::SQNEGv4i32:
10547 case AArch64::SQNEGv8i16:
10548 case AArch64::SQNEGv8i8:
10549 case AArch64::SQXTNv1i16:
10550 case AArch64::SQXTNv1i32:
10551 case AArch64::SQXTNv1i8:
10552 case AArch64::SQXTNv2i32:
10553 case AArch64::SQXTNv4i16:
10554 case AArch64::SQXTNv8i8:
10555 case AArch64::SQXTUNv1i16:
10556 case AArch64::SQXTUNv1i32:
10557 case AArch64::SQXTUNv1i8:
10558 case AArch64::SQXTUNv2i32:
10559 case AArch64::SQXTUNv4i16:
10560 case AArch64::SQXTUNv8i8:
10561 case AArch64::UADDLPv16i8_v8i16:
10562 case AArch64::UADDLPv2i32_v1i64:
10563 case AArch64::UADDLPv4i16_v2i32:
10564 case AArch64::UADDLPv4i32_v2i64:
10565 case AArch64::UADDLPv8i16_v4i32:
10566 case AArch64::UADDLPv8i8_v4i16:
10567 case AArch64::UADDLVv16i8v:
10568 case AArch64::UADDLVv4i16v:
10569 case AArch64::UADDLVv4i32v:
10570 case AArch64::UADDLVv8i16v:
10571 case AArch64::UADDLVv8i8v:
10572 case AArch64::UCVTFDSr:
10573 case AArch64::UCVTFHDr:
10574 case AArch64::UCVTFHSr:
10575 case AArch64::UCVTFSDr:
10576 case AArch64::UCVTFUWDri:
10577 case AArch64::UCVTFUWHri:
10578 case AArch64::UCVTFUWSri:
10579 case AArch64::UCVTFUXDri:
10580 case AArch64::UCVTFUXHri:
10581 case AArch64::UCVTFUXSri:
10582 case AArch64::UCVTFv1i16:
10583 case AArch64::UCVTFv1i32:
10584 case AArch64::UCVTFv1i64:
10585 case AArch64::UCVTFv2f32:
10586 case AArch64::UCVTFv2f64:
10587 case AArch64::UCVTFv4f16:
10588 case AArch64::UCVTFv4f32:
10589 case AArch64::UCVTFv8f16:
10590 case AArch64::UMAXVv16i8v:
10591 case AArch64::UMAXVv4i16v:
10592 case AArch64::UMAXVv4i32v:
10593 case AArch64::UMAXVv8i16v:
10594 case AArch64::UMAXVv8i8v:
10595 case AArch64::UMINVv16i8v:
10596 case AArch64::UMINVv4i16v:
10597 case AArch64::UMINVv4i32v:
10598 case AArch64::UMINVv8i16v:
10599 case AArch64::UMINVv8i8v:
10600 case AArch64::UMOVvi16_idx0:
10601 case AArch64::UMOVvi32_idx0:
10602 case AArch64::UMOVvi64_idx0:
10603 case AArch64::UMOVvi8_idx0:
10604 case AArch64::UQXTNv1i16:
10605 case AArch64::UQXTNv1i32:
10606 case AArch64::UQXTNv1i8:
10607 case AArch64::UQXTNv2i32:
10608 case AArch64::UQXTNv4i16:
10609 case AArch64::UQXTNv8i8:
10610 case AArch64::URECPEv2i32:
10611 case AArch64::URECPEv4i32:
10612 case AArch64::URSQRTEv2i32:
10613 case AArch64::URSQRTEv4i32:
10614 case AArch64::XTNv2i32:
10615 case AArch64::XTNv4i16:
10616 case AArch64::XTNv8i8: {
10617 // op: Rd
10618 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10619 Value |= (op & 0x1f);
10620 // op: Rn
10621 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10622 Value |= (op & 0x1f) << 5;
10623 break;
10624 }
10625 case AArch64::ADCSWr:
10626 case AArch64::ADCSXr:
10627 case AArch64::ADCWr:
10628 case AArch64::ADCXr:
10629 case AArch64::ADDHNv2i64_v2i32:
10630 case AArch64::ADDHNv4i32_v4i16:
10631 case AArch64::ADDHNv8i16_v8i8:
10632 case AArch64::ADDPv16i8:
10633 case AArch64::ADDPv2i32:
10634 case AArch64::ADDPv2i64:
10635 case AArch64::ADDPv4i16:
10636 case AArch64::ADDPv4i32:
10637 case AArch64::ADDPv8i16:
10638 case AArch64::ADDPv8i8:
10639 case AArch64::ADDv16i8:
10640 case AArch64::ADDv1i64:
10641 case AArch64::ADDv2i32:
10642 case AArch64::ADDv2i64:
10643 case AArch64::ADDv4i16:
10644 case AArch64::ADDv4i32:
10645 case AArch64::ADDv8i16:
10646 case AArch64::ADDv8i8:
10647 case AArch64::ANDv16i8:
10648 case AArch64::ANDv8i8:
10649 case AArch64::ASRVWr:
10650 case AArch64::ASRVXr:
10651 case AArch64::BICv16i8:
10652 case AArch64::BICv8i8:
10653 case AArch64::CMEQv16i8:
10654 case AArch64::CMEQv1i64:
10655 case AArch64::CMEQv2i32:
10656 case AArch64::CMEQv2i64:
10657 case AArch64::CMEQv4i16:
10658 case AArch64::CMEQv4i32:
10659 case AArch64::CMEQv8i16:
10660 case AArch64::CMEQv8i8:
10661 case AArch64::CMGEv16i8:
10662 case AArch64::CMGEv1i64:
10663 case AArch64::CMGEv2i32:
10664 case AArch64::CMGEv2i64:
10665 case AArch64::CMGEv4i16:
10666 case AArch64::CMGEv4i32:
10667 case AArch64::CMGEv8i16:
10668 case AArch64::CMGEv8i8:
10669 case AArch64::CMGTv16i8:
10670 case AArch64::CMGTv1i64:
10671 case AArch64::CMGTv2i32:
10672 case AArch64::CMGTv2i64:
10673 case AArch64::CMGTv4i16:
10674 case AArch64::CMGTv4i32:
10675 case AArch64::CMGTv8i16:
10676 case AArch64::CMGTv8i8:
10677 case AArch64::CMHIv16i8:
10678 case AArch64::CMHIv1i64:
10679 case AArch64::CMHIv2i32:
10680 case AArch64::CMHIv2i64:
10681 case AArch64::CMHIv4i16:
10682 case AArch64::CMHIv4i32:
10683 case AArch64::CMHIv8i16:
10684 case AArch64::CMHIv8i8:
10685 case AArch64::CMHSv16i8:
10686 case AArch64::CMHSv1i64:
10687 case AArch64::CMHSv2i32:
10688 case AArch64::CMHSv2i64:
10689 case AArch64::CMHSv4i16:
10690 case AArch64::CMHSv4i32:
10691 case AArch64::CMHSv8i16:
10692 case AArch64::CMHSv8i8:
10693 case AArch64::CMTSTv16i8:
10694 case AArch64::CMTSTv1i64:
10695 case AArch64::CMTSTv2i32:
10696 case AArch64::CMTSTv2i64:
10697 case AArch64::CMTSTv4i16:
10698 case AArch64::CMTSTv4i32:
10699 case AArch64::CMTSTv8i16:
10700 case AArch64::CMTSTv8i8:
10701 case AArch64::CRC32Brr:
10702 case AArch64::CRC32CBrr:
10703 case AArch64::CRC32CHrr:
10704 case AArch64::CRC32CWrr:
10705 case AArch64::CRC32CXrr:
10706 case AArch64::CRC32Hrr:
10707 case AArch64::CRC32Wrr:
10708 case AArch64::CRC32Xrr:
10709 case AArch64::EORv16i8:
10710 case AArch64::EORv8i8:
10711 case AArch64::FABD16:
10712 case AArch64::FABD32:
10713 case AArch64::FABD64:
10714 case AArch64::FABDv2f32:
10715 case AArch64::FABDv2f64:
10716 case AArch64::FABDv4f16:
10717 case AArch64::FABDv4f32:
10718 case AArch64::FABDv8f16:
10719 case AArch64::FACGE16:
10720 case AArch64::FACGE32:
10721 case AArch64::FACGE64:
10722 case AArch64::FACGEv2f32:
10723 case AArch64::FACGEv2f64:
10724 case AArch64::FACGEv4f16:
10725 case AArch64::FACGEv4f32:
10726 case AArch64::FACGEv8f16:
10727 case AArch64::FACGT16:
10728 case AArch64::FACGT32:
10729 case AArch64::FACGT64:
10730 case AArch64::FACGTv2f32:
10731 case AArch64::FACGTv2f64:
10732 case AArch64::FACGTv4f16:
10733 case AArch64::FACGTv4f32:
10734 case AArch64::FACGTv8f16:
10735 case AArch64::FADDDrr:
10736 case AArch64::FADDHrr:
10737 case AArch64::FADDPv2f32:
10738 case AArch64::FADDPv2f64:
10739 case AArch64::FADDPv4f16:
10740 case AArch64::FADDPv4f32:
10741 case AArch64::FADDPv8f16:
10742 case AArch64::FADDSrr:
10743 case AArch64::FADDv2f32:
10744 case AArch64::FADDv2f64:
10745 case AArch64::FADDv4f16:
10746 case AArch64::FADDv4f32:
10747 case AArch64::FADDv8f16:
10748 case AArch64::FAMAXv2f32:
10749 case AArch64::FAMAXv2f64:
10750 case AArch64::FAMAXv4f16:
10751 case AArch64::FAMAXv4f32:
10752 case AArch64::FAMAXv8f16:
10753 case AArch64::FAMINv2f32:
10754 case AArch64::FAMINv2f64:
10755 case AArch64::FAMINv4f16:
10756 case AArch64::FAMINv4f32:
10757 case AArch64::FAMINv8f16:
10758 case AArch64::FCMEQ16:
10759 case AArch64::FCMEQ32:
10760 case AArch64::FCMEQ64:
10761 case AArch64::FCMEQv2f32:
10762 case AArch64::FCMEQv2f64:
10763 case AArch64::FCMEQv4f16:
10764 case AArch64::FCMEQv4f32:
10765 case AArch64::FCMEQv8f16:
10766 case AArch64::FCMGE16:
10767 case AArch64::FCMGE32:
10768 case AArch64::FCMGE64:
10769 case AArch64::FCMGEv2f32:
10770 case AArch64::FCMGEv2f64:
10771 case AArch64::FCMGEv4f16:
10772 case AArch64::FCMGEv4f32:
10773 case AArch64::FCMGEv8f16:
10774 case AArch64::FCMGT16:
10775 case AArch64::FCMGT32:
10776 case AArch64::FCMGT64:
10777 case AArch64::FCMGTv2f32:
10778 case AArch64::FCMGTv2f64:
10779 case AArch64::FCMGTv4f16:
10780 case AArch64::FCMGTv4f32:
10781 case AArch64::FCMGTv8f16:
10782 case AArch64::FCVTN_F16v16f8:
10783 case AArch64::FCVTN_F16v8f8:
10784 case AArch64::FCVTN_F32v8f8:
10785 case AArch64::FDIVDrr:
10786 case AArch64::FDIVHrr:
10787 case AArch64::FDIVSrr:
10788 case AArch64::FDIVv2f32:
10789 case AArch64::FDIVv2f64:
10790 case AArch64::FDIVv4f16:
10791 case AArch64::FDIVv4f32:
10792 case AArch64::FDIVv8f16:
10793 case AArch64::FMAXDrr:
10794 case AArch64::FMAXHrr:
10795 case AArch64::FMAXNMDrr:
10796 case AArch64::FMAXNMHrr:
10797 case AArch64::FMAXNMPv2f32:
10798 case AArch64::FMAXNMPv2f64:
10799 case AArch64::FMAXNMPv4f16:
10800 case AArch64::FMAXNMPv4f32:
10801 case AArch64::FMAXNMPv8f16:
10802 case AArch64::FMAXNMSrr:
10803 case AArch64::FMAXNMv2f32:
10804 case AArch64::FMAXNMv2f64:
10805 case AArch64::FMAXNMv4f16:
10806 case AArch64::FMAXNMv4f32:
10807 case AArch64::FMAXNMv8f16:
10808 case AArch64::FMAXPv2f32:
10809 case AArch64::FMAXPv2f64:
10810 case AArch64::FMAXPv4f16:
10811 case AArch64::FMAXPv4f32:
10812 case AArch64::FMAXPv8f16:
10813 case AArch64::FMAXSrr:
10814 case AArch64::FMAXv2f32:
10815 case AArch64::FMAXv2f64:
10816 case AArch64::FMAXv4f16:
10817 case AArch64::FMAXv4f32:
10818 case AArch64::FMAXv8f16:
10819 case AArch64::FMINDrr:
10820 case AArch64::FMINHrr:
10821 case AArch64::FMINNMDrr:
10822 case AArch64::FMINNMHrr:
10823 case AArch64::FMINNMPv2f32:
10824 case AArch64::FMINNMPv2f64:
10825 case AArch64::FMINNMPv4f16:
10826 case AArch64::FMINNMPv4f32:
10827 case AArch64::FMINNMPv8f16:
10828 case AArch64::FMINNMSrr:
10829 case AArch64::FMINNMv2f32:
10830 case AArch64::FMINNMv2f64:
10831 case AArch64::FMINNMv4f16:
10832 case AArch64::FMINNMv4f32:
10833 case AArch64::FMINNMv8f16:
10834 case AArch64::FMINPv2f32:
10835 case AArch64::FMINPv2f64:
10836 case AArch64::FMINPv4f16:
10837 case AArch64::FMINPv4f32:
10838 case AArch64::FMINPv8f16:
10839 case AArch64::FMINSrr:
10840 case AArch64::FMINv2f32:
10841 case AArch64::FMINv2f64:
10842 case AArch64::FMINv4f16:
10843 case AArch64::FMINv4f32:
10844 case AArch64::FMINv8f16:
10845 case AArch64::FMULDrr:
10846 case AArch64::FMULHrr:
10847 case AArch64::FMULSrr:
10848 case AArch64::FMULX16:
10849 case AArch64::FMULX32:
10850 case AArch64::FMULX64:
10851 case AArch64::FMULXv2f32:
10852 case AArch64::FMULXv2f64:
10853 case AArch64::FMULXv4f16:
10854 case AArch64::FMULXv4f32:
10855 case AArch64::FMULXv8f16:
10856 case AArch64::FMULv2f32:
10857 case AArch64::FMULv2f64:
10858 case AArch64::FMULv4f16:
10859 case AArch64::FMULv4f32:
10860 case AArch64::FMULv8f16:
10861 case AArch64::FNMULDrr:
10862 case AArch64::FNMULHrr:
10863 case AArch64::FNMULSrr:
10864 case AArch64::FRECPS16:
10865 case AArch64::FRECPS32:
10866 case AArch64::FRECPS64:
10867 case AArch64::FRECPSv2f32:
10868 case AArch64::FRECPSv2f64:
10869 case AArch64::FRECPSv4f16:
10870 case AArch64::FRECPSv4f32:
10871 case AArch64::FRECPSv8f16:
10872 case AArch64::FRSQRTS16:
10873 case AArch64::FRSQRTS32:
10874 case AArch64::FRSQRTS64:
10875 case AArch64::FRSQRTSv2f32:
10876 case AArch64::FRSQRTSv2f64:
10877 case AArch64::FRSQRTSv4f16:
10878 case AArch64::FRSQRTSv4f32:
10879 case AArch64::FRSQRTSv8f16:
10880 case AArch64::FSCALEv2f32:
10881 case AArch64::FSCALEv2f64:
10882 case AArch64::FSCALEv4f16:
10883 case AArch64::FSCALEv4f32:
10884 case AArch64::FSCALEv8f16:
10885 case AArch64::FSUBDrr:
10886 case AArch64::FSUBHrr:
10887 case AArch64::FSUBSrr:
10888 case AArch64::FSUBv2f32:
10889 case AArch64::FSUBv2f64:
10890 case AArch64::FSUBv4f16:
10891 case AArch64::FSUBv4f32:
10892 case AArch64::FSUBv8f16:
10893 case AArch64::GMI:
10894 case AArch64::IRG:
10895 case AArch64::LSLVWr:
10896 case AArch64::LSLVXr:
10897 case AArch64::LSRVWr:
10898 case AArch64::LSRVXr:
10899 case AArch64::MULv16i8:
10900 case AArch64::MULv2i32:
10901 case AArch64::MULv4i16:
10902 case AArch64::MULv4i32:
10903 case AArch64::MULv8i16:
10904 case AArch64::MULv8i8:
10905 case AArch64::ORNv16i8:
10906 case AArch64::ORNv8i8:
10907 case AArch64::ORRv16i8:
10908 case AArch64::ORRv8i8:
10909 case AArch64::PACGA:
10910 case AArch64::PMULLv16i8:
10911 case AArch64::PMULLv1i64:
10912 case AArch64::PMULLv2i64:
10913 case AArch64::PMULLv8i8:
10914 case AArch64::PMULv16i8:
10915 case AArch64::PMULv8i8:
10916 case AArch64::RADDHNv2i64_v2i32:
10917 case AArch64::RADDHNv4i32_v4i16:
10918 case AArch64::RADDHNv8i16_v8i8:
10919 case AArch64::RORVWr:
10920 case AArch64::RORVXr:
10921 case AArch64::RSUBHNv2i64_v2i32:
10922 case AArch64::RSUBHNv4i32_v4i16:
10923 case AArch64::RSUBHNv8i16_v8i8:
10924 case AArch64::SABDLv16i8_v8i16:
10925 case AArch64::SABDLv2i32_v2i64:
10926 case AArch64::SABDLv4i16_v4i32:
10927 case AArch64::SABDLv4i32_v2i64:
10928 case AArch64::SABDLv8i16_v4i32:
10929 case AArch64::SABDLv8i8_v8i16:
10930 case AArch64::SABDv16i8:
10931 case AArch64::SABDv2i32:
10932 case AArch64::SABDv4i16:
10933 case AArch64::SABDv4i32:
10934 case AArch64::SABDv8i16:
10935 case AArch64::SABDv8i8:
10936 case AArch64::SADDLv16i8_v8i16:
10937 case AArch64::SADDLv2i32_v2i64:
10938 case AArch64::SADDLv4i16_v4i32:
10939 case AArch64::SADDLv4i32_v2i64:
10940 case AArch64::SADDLv8i16_v4i32:
10941 case AArch64::SADDLv8i8_v8i16:
10942 case AArch64::SADDWv16i8_v8i16:
10943 case AArch64::SADDWv2i32_v2i64:
10944 case AArch64::SADDWv4i16_v4i32:
10945 case AArch64::SADDWv4i32_v2i64:
10946 case AArch64::SADDWv8i16_v4i32:
10947 case AArch64::SADDWv8i8_v8i16:
10948 case AArch64::SBCSWr:
10949 case AArch64::SBCSXr:
10950 case AArch64::SBCWr:
10951 case AArch64::SBCXr:
10952 case AArch64::SDIVWr:
10953 case AArch64::SDIVXr:
10954 case AArch64::SHADDv16i8:
10955 case AArch64::SHADDv2i32:
10956 case AArch64::SHADDv4i16:
10957 case AArch64::SHADDv4i32:
10958 case AArch64::SHADDv8i16:
10959 case AArch64::SHADDv8i8:
10960 case AArch64::SHSUBv16i8:
10961 case AArch64::SHSUBv2i32:
10962 case AArch64::SHSUBv4i16:
10963 case AArch64::SHSUBv4i32:
10964 case AArch64::SHSUBv8i16:
10965 case AArch64::SHSUBv8i8:
10966 case AArch64::SMAXPv16i8:
10967 case AArch64::SMAXPv2i32:
10968 case AArch64::SMAXPv4i16:
10969 case AArch64::SMAXPv4i32:
10970 case AArch64::SMAXPv8i16:
10971 case AArch64::SMAXPv8i8:
10972 case AArch64::SMAXWrr:
10973 case AArch64::SMAXXrr:
10974 case AArch64::SMAXv16i8:
10975 case AArch64::SMAXv2i32:
10976 case AArch64::SMAXv4i16:
10977 case AArch64::SMAXv4i32:
10978 case AArch64::SMAXv8i16:
10979 case AArch64::SMAXv8i8:
10980 case AArch64::SMINPv16i8:
10981 case AArch64::SMINPv2i32:
10982 case AArch64::SMINPv4i16:
10983 case AArch64::SMINPv4i32:
10984 case AArch64::SMINPv8i16:
10985 case AArch64::SMINPv8i8:
10986 case AArch64::SMINWrr:
10987 case AArch64::SMINXrr:
10988 case AArch64::SMINv16i8:
10989 case AArch64::SMINv2i32:
10990 case AArch64::SMINv4i16:
10991 case AArch64::SMINv4i32:
10992 case AArch64::SMINv8i16:
10993 case AArch64::SMINv8i8:
10994 case AArch64::SMULLv16i8_v8i16:
10995 case AArch64::SMULLv2i32_v2i64:
10996 case AArch64::SMULLv4i16_v4i32:
10997 case AArch64::SMULLv4i32_v2i64:
10998 case AArch64::SMULLv8i16_v4i32:
10999 case AArch64::SMULLv8i8_v8i16:
11000 case AArch64::SQADDv16i8:
11001 case AArch64::SQADDv1i16:
11002 case AArch64::SQADDv1i32:
11003 case AArch64::SQADDv1i64:
11004 case AArch64::SQADDv1i8:
11005 case AArch64::SQADDv2i32:
11006 case AArch64::SQADDv2i64:
11007 case AArch64::SQADDv4i16:
11008 case AArch64::SQADDv4i32:
11009 case AArch64::SQADDv8i16:
11010 case AArch64::SQADDv8i8:
11011 case AArch64::SQDMULHv1i16:
11012 case AArch64::SQDMULHv1i32:
11013 case AArch64::SQDMULHv2i32:
11014 case AArch64::SQDMULHv4i16:
11015 case AArch64::SQDMULHv4i32:
11016 case AArch64::SQDMULHv8i16:
11017 case AArch64::SQDMULLi16:
11018 case AArch64::SQDMULLi32:
11019 case AArch64::SQDMULLv2i32_v2i64:
11020 case AArch64::SQDMULLv4i16_v4i32:
11021 case AArch64::SQDMULLv4i32_v2i64:
11022 case AArch64::SQDMULLv8i16_v4i32:
11023 case AArch64::SQRDMULHv1i16:
11024 case AArch64::SQRDMULHv1i32:
11025 case AArch64::SQRDMULHv2i32:
11026 case AArch64::SQRDMULHv4i16:
11027 case AArch64::SQRDMULHv4i32:
11028 case AArch64::SQRDMULHv8i16:
11029 case AArch64::SQRSHLv16i8:
11030 case AArch64::SQRSHLv1i16:
11031 case AArch64::SQRSHLv1i32:
11032 case AArch64::SQRSHLv1i64:
11033 case AArch64::SQRSHLv1i8:
11034 case AArch64::SQRSHLv2i32:
11035 case AArch64::SQRSHLv2i64:
11036 case AArch64::SQRSHLv4i16:
11037 case AArch64::SQRSHLv4i32:
11038 case AArch64::SQRSHLv8i16:
11039 case AArch64::SQRSHLv8i8:
11040 case AArch64::SQSHLv16i8:
11041 case AArch64::SQSHLv1i16:
11042 case AArch64::SQSHLv1i32:
11043 case AArch64::SQSHLv1i64:
11044 case AArch64::SQSHLv1i8:
11045 case AArch64::SQSHLv2i32:
11046 case AArch64::SQSHLv2i64:
11047 case AArch64::SQSHLv4i16:
11048 case AArch64::SQSHLv4i32:
11049 case AArch64::SQSHLv8i16:
11050 case AArch64::SQSHLv8i8:
11051 case AArch64::SQSUBv16i8:
11052 case AArch64::SQSUBv1i16:
11053 case AArch64::SQSUBv1i32:
11054 case AArch64::SQSUBv1i64:
11055 case AArch64::SQSUBv1i8:
11056 case AArch64::SQSUBv2i32:
11057 case AArch64::SQSUBv2i64:
11058 case AArch64::SQSUBv4i16:
11059 case AArch64::SQSUBv4i32:
11060 case AArch64::SQSUBv8i16:
11061 case AArch64::SQSUBv8i8:
11062 case AArch64::SRHADDv16i8:
11063 case AArch64::SRHADDv2i32:
11064 case AArch64::SRHADDv4i16:
11065 case AArch64::SRHADDv4i32:
11066 case AArch64::SRHADDv8i16:
11067 case AArch64::SRHADDv8i8:
11068 case AArch64::SRSHLv16i8:
11069 case AArch64::SRSHLv1i64:
11070 case AArch64::SRSHLv2i32:
11071 case AArch64::SRSHLv2i64:
11072 case AArch64::SRSHLv4i16:
11073 case AArch64::SRSHLv4i32:
11074 case AArch64::SRSHLv8i16:
11075 case AArch64::SRSHLv8i8:
11076 case AArch64::SSHLv16i8:
11077 case AArch64::SSHLv1i64:
11078 case AArch64::SSHLv2i32:
11079 case AArch64::SSHLv2i64:
11080 case AArch64::SSHLv4i16:
11081 case AArch64::SSHLv4i32:
11082 case AArch64::SSHLv8i16:
11083 case AArch64::SSHLv8i8:
11084 case AArch64::SSUBLv16i8_v8i16:
11085 case AArch64::SSUBLv2i32_v2i64:
11086 case AArch64::SSUBLv4i16_v4i32:
11087 case AArch64::SSUBLv4i32_v2i64:
11088 case AArch64::SSUBLv8i16_v4i32:
11089 case AArch64::SSUBLv8i8_v8i16:
11090 case AArch64::SSUBWv16i8_v8i16:
11091 case AArch64::SSUBWv2i32_v2i64:
11092 case AArch64::SSUBWv4i16_v4i32:
11093 case AArch64::SSUBWv4i32_v2i64:
11094 case AArch64::SSUBWv8i16_v4i32:
11095 case AArch64::SSUBWv8i8_v8i16:
11096 case AArch64::SUBHNv2i64_v2i32:
11097 case AArch64::SUBHNv4i32_v4i16:
11098 case AArch64::SUBHNv8i16_v8i8:
11099 case AArch64::SUBP:
11100 case AArch64::SUBPS:
11101 case AArch64::SUBv16i8:
11102 case AArch64::SUBv1i64:
11103 case AArch64::SUBv2i32:
11104 case AArch64::SUBv2i64:
11105 case AArch64::SUBv4i16:
11106 case AArch64::SUBv4i32:
11107 case AArch64::SUBv8i16:
11108 case AArch64::SUBv8i8:
11109 case AArch64::TRN1v16i8:
11110 case AArch64::TRN1v2i32:
11111 case AArch64::TRN1v2i64:
11112 case AArch64::TRN1v4i16:
11113 case AArch64::TRN1v4i32:
11114 case AArch64::TRN1v8i16:
11115 case AArch64::TRN1v8i8:
11116 case AArch64::TRN2v16i8:
11117 case AArch64::TRN2v2i32:
11118 case AArch64::TRN2v2i64:
11119 case AArch64::TRN2v4i16:
11120 case AArch64::TRN2v4i32:
11121 case AArch64::TRN2v8i16:
11122 case AArch64::TRN2v8i8:
11123 case AArch64::UABDLv16i8_v8i16:
11124 case AArch64::UABDLv2i32_v2i64:
11125 case AArch64::UABDLv4i16_v4i32:
11126 case AArch64::UABDLv4i32_v2i64:
11127 case AArch64::UABDLv8i16_v4i32:
11128 case AArch64::UABDLv8i8_v8i16:
11129 case AArch64::UABDv16i8:
11130 case AArch64::UABDv2i32:
11131 case AArch64::UABDv4i16:
11132 case AArch64::UABDv4i32:
11133 case AArch64::UABDv8i16:
11134 case AArch64::UABDv8i8:
11135 case AArch64::UADDLv16i8_v8i16:
11136 case AArch64::UADDLv2i32_v2i64:
11137 case AArch64::UADDLv4i16_v4i32:
11138 case AArch64::UADDLv4i32_v2i64:
11139 case AArch64::UADDLv8i16_v4i32:
11140 case AArch64::UADDLv8i8_v8i16:
11141 case AArch64::UADDWv16i8_v8i16:
11142 case AArch64::UADDWv2i32_v2i64:
11143 case AArch64::UADDWv4i16_v4i32:
11144 case AArch64::UADDWv4i32_v2i64:
11145 case AArch64::UADDWv8i16_v4i32:
11146 case AArch64::UADDWv8i8_v8i16:
11147 case AArch64::UDIVWr:
11148 case AArch64::UDIVXr:
11149 case AArch64::UHADDv16i8:
11150 case AArch64::UHADDv2i32:
11151 case AArch64::UHADDv4i16:
11152 case AArch64::UHADDv4i32:
11153 case AArch64::UHADDv8i16:
11154 case AArch64::UHADDv8i8:
11155 case AArch64::UHSUBv16i8:
11156 case AArch64::UHSUBv2i32:
11157 case AArch64::UHSUBv4i16:
11158 case AArch64::UHSUBv4i32:
11159 case AArch64::UHSUBv8i16:
11160 case AArch64::UHSUBv8i8:
11161 case AArch64::UMAXPv16i8:
11162 case AArch64::UMAXPv2i32:
11163 case AArch64::UMAXPv4i16:
11164 case AArch64::UMAXPv4i32:
11165 case AArch64::UMAXPv8i16:
11166 case AArch64::UMAXPv8i8:
11167 case AArch64::UMAXWrr:
11168 case AArch64::UMAXXrr:
11169 case AArch64::UMAXv16i8:
11170 case AArch64::UMAXv2i32:
11171 case AArch64::UMAXv4i16:
11172 case AArch64::UMAXv4i32:
11173 case AArch64::UMAXv8i16:
11174 case AArch64::UMAXv8i8:
11175 case AArch64::UMINPv16i8:
11176 case AArch64::UMINPv2i32:
11177 case AArch64::UMINPv4i16:
11178 case AArch64::UMINPv4i32:
11179 case AArch64::UMINPv8i16:
11180 case AArch64::UMINPv8i8:
11181 case AArch64::UMINWrr:
11182 case AArch64::UMINXrr:
11183 case AArch64::UMINv16i8:
11184 case AArch64::UMINv2i32:
11185 case AArch64::UMINv4i16:
11186 case AArch64::UMINv4i32:
11187 case AArch64::UMINv8i16:
11188 case AArch64::UMINv8i8:
11189 case AArch64::UMULLv16i8_v8i16:
11190 case AArch64::UMULLv2i32_v2i64:
11191 case AArch64::UMULLv4i16_v4i32:
11192 case AArch64::UMULLv4i32_v2i64:
11193 case AArch64::UMULLv8i16_v4i32:
11194 case AArch64::UMULLv8i8_v8i16:
11195 case AArch64::UQADDv16i8:
11196 case AArch64::UQADDv1i16:
11197 case AArch64::UQADDv1i32:
11198 case AArch64::UQADDv1i64:
11199 case AArch64::UQADDv1i8:
11200 case AArch64::UQADDv2i32:
11201 case AArch64::UQADDv2i64:
11202 case AArch64::UQADDv4i16:
11203 case AArch64::UQADDv4i32:
11204 case AArch64::UQADDv8i16:
11205 case AArch64::UQADDv8i8:
11206 case AArch64::UQRSHLv16i8:
11207 case AArch64::UQRSHLv1i16:
11208 case AArch64::UQRSHLv1i32:
11209 case AArch64::UQRSHLv1i64:
11210 case AArch64::UQRSHLv1i8:
11211 case AArch64::UQRSHLv2i32:
11212 case AArch64::UQRSHLv2i64:
11213 case AArch64::UQRSHLv4i16:
11214 case AArch64::UQRSHLv4i32:
11215 case AArch64::UQRSHLv8i16:
11216 case AArch64::UQRSHLv8i8:
11217 case AArch64::UQSHLv16i8:
11218 case AArch64::UQSHLv1i16:
11219 case AArch64::UQSHLv1i32:
11220 case AArch64::UQSHLv1i64:
11221 case AArch64::UQSHLv1i8:
11222 case AArch64::UQSHLv2i32:
11223 case AArch64::UQSHLv2i64:
11224 case AArch64::UQSHLv4i16:
11225 case AArch64::UQSHLv4i32:
11226 case AArch64::UQSHLv8i16:
11227 case AArch64::UQSHLv8i8:
11228 case AArch64::UQSUBv16i8:
11229 case AArch64::UQSUBv1i16:
11230 case AArch64::UQSUBv1i32:
11231 case AArch64::UQSUBv1i64:
11232 case AArch64::UQSUBv1i8:
11233 case AArch64::UQSUBv2i32:
11234 case AArch64::UQSUBv2i64:
11235 case AArch64::UQSUBv4i16:
11236 case AArch64::UQSUBv4i32:
11237 case AArch64::UQSUBv8i16:
11238 case AArch64::UQSUBv8i8:
11239 case AArch64::URHADDv16i8:
11240 case AArch64::URHADDv2i32:
11241 case AArch64::URHADDv4i16:
11242 case AArch64::URHADDv4i32:
11243 case AArch64::URHADDv8i16:
11244 case AArch64::URHADDv8i8:
11245 case AArch64::URSHLv16i8:
11246 case AArch64::URSHLv1i64:
11247 case AArch64::URSHLv2i32:
11248 case AArch64::URSHLv2i64:
11249 case AArch64::URSHLv4i16:
11250 case AArch64::URSHLv4i32:
11251 case AArch64::URSHLv8i16:
11252 case AArch64::URSHLv8i8:
11253 case AArch64::USHLv16i8:
11254 case AArch64::USHLv1i64:
11255 case AArch64::USHLv2i32:
11256 case AArch64::USHLv2i64:
11257 case AArch64::USHLv4i16:
11258 case AArch64::USHLv4i32:
11259 case AArch64::USHLv8i16:
11260 case AArch64::USHLv8i8:
11261 case AArch64::USUBLv16i8_v8i16:
11262 case AArch64::USUBLv2i32_v2i64:
11263 case AArch64::USUBLv4i16_v4i32:
11264 case AArch64::USUBLv4i32_v2i64:
11265 case AArch64::USUBLv8i16_v4i32:
11266 case AArch64::USUBLv8i8_v8i16:
11267 case AArch64::USUBWv16i8_v8i16:
11268 case AArch64::USUBWv2i32_v2i64:
11269 case AArch64::USUBWv4i16_v4i32:
11270 case AArch64::USUBWv4i32_v2i64:
11271 case AArch64::USUBWv8i16_v4i32:
11272 case AArch64::USUBWv8i8_v8i16:
11273 case AArch64::UZP1v16i8:
11274 case AArch64::UZP1v2i32:
11275 case AArch64::UZP1v2i64:
11276 case AArch64::UZP1v4i16:
11277 case AArch64::UZP1v4i32:
11278 case AArch64::UZP1v8i16:
11279 case AArch64::UZP1v8i8:
11280 case AArch64::UZP2v16i8:
11281 case AArch64::UZP2v2i32:
11282 case AArch64::UZP2v2i64:
11283 case AArch64::UZP2v4i16:
11284 case AArch64::UZP2v4i32:
11285 case AArch64::UZP2v8i16:
11286 case AArch64::UZP2v8i8:
11287 case AArch64::ZIP1v16i8:
11288 case AArch64::ZIP1v2i32:
11289 case AArch64::ZIP1v2i64:
11290 case AArch64::ZIP1v4i16:
11291 case AArch64::ZIP1v4i32:
11292 case AArch64::ZIP1v8i16:
11293 case AArch64::ZIP1v8i8:
11294 case AArch64::ZIP2v16i8:
11295 case AArch64::ZIP2v2i32:
11296 case AArch64::ZIP2v2i64:
11297 case AArch64::ZIP2v4i16:
11298 case AArch64::ZIP2v4i32:
11299 case AArch64::ZIP2v8i16:
11300 case AArch64::ZIP2v8i8: {
11301 // op: Rd
11302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11303 Value |= (op & 0x1f);
11304 // op: Rn
11305 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11306 Value |= (op & 0x1f) << 5;
11307 // op: Rm
11308 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11309 Value |= (op & 0x1f) << 16;
11310 break;
11311 }
11312 case AArch64::FMADDDrrr:
11313 case AArch64::FMADDHrrr:
11314 case AArch64::FMADDSrrr:
11315 case AArch64::FMSUBDrrr:
11316 case AArch64::FMSUBHrrr:
11317 case AArch64::FMSUBSrrr:
11318 case AArch64::FNMADDDrrr:
11319 case AArch64::FNMADDHrrr:
11320 case AArch64::FNMADDSrrr:
11321 case AArch64::FNMSUBDrrr:
11322 case AArch64::FNMSUBHrrr:
11323 case AArch64::FNMSUBSrrr:
11324 case AArch64::MADDPT:
11325 case AArch64::MADDWrrr:
11326 case AArch64::MADDXrrr:
11327 case AArch64::MSUBPT:
11328 case AArch64::MSUBWrrr:
11329 case AArch64::MSUBXrrr:
11330 case AArch64::SMADDLrrr:
11331 case AArch64::SMSUBLrrr:
11332 case AArch64::UMADDLrrr:
11333 case AArch64::UMSUBLrrr: {
11334 // op: Rd
11335 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11336 Value |= (op & 0x1f);
11337 // op: Rn
11338 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11339 Value |= (op & 0x1f) << 5;
11340 // op: Rm
11341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11342 Value |= (op & 0x1f) << 16;
11343 // op: Ra
11344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11345 Value |= (op & 0x1f) << 10;
11346 break;
11347 }
11348 case AArch64::CSELWr:
11349 case AArch64::CSELXr:
11350 case AArch64::CSINCWr:
11351 case AArch64::CSINCXr:
11352 case AArch64::CSINVWr:
11353 case AArch64::CSINVXr:
11354 case AArch64::CSNEGWr:
11355 case AArch64::CSNEGXr:
11356 case AArch64::FCSELDrrr:
11357 case AArch64::FCSELHrrr:
11358 case AArch64::FCSELSrrr: {
11359 // op: Rd
11360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11361 Value |= (op & 0x1f);
11362 // op: Rn
11363 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11364 Value |= (op & 0x1f) << 5;
11365 // op: Rm
11366 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11367 Value |= (op & 0x1f) << 16;
11368 // op: cond
11369 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11370 Value |= (op & 0xf) << 12;
11371 break;
11372 }
11373 case AArch64::ADDSXrx64:
11374 case AArch64::ADDXrx64:
11375 case AArch64::SUBSXrx64:
11376 case AArch64::SUBXrx64: {
11377 // op: Rd
11378 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11379 Value |= (op & 0x1f);
11380 // op: Rn
11381 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11382 Value |= (op & 0x1f) << 5;
11383 // op: Rm
11384 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11385 Value |= (op & 0x1f) << 16;
11386 // op: ext
11387 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11388 Value |= (op & 0x20) << 10;
11389 Value |= (op & 0x7) << 10;
11390 break;
11391 }
11392 case AArch64::ADDSWrx:
11393 case AArch64::ADDSXrx:
11394 case AArch64::ADDWrx:
11395 case AArch64::ADDXrx:
11396 case AArch64::SUBSWrx:
11397 case AArch64::SUBSXrx:
11398 case AArch64::SUBWrx:
11399 case AArch64::SUBXrx: {
11400 // op: Rd
11401 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11402 Value |= (op & 0x1f);
11403 // op: Rn
11404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11405 Value |= (op & 0x1f) << 5;
11406 // op: Rm
11407 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11408 Value |= (op & 0x1f) << 16;
11409 // op: extend
11410 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11411 Value |= (op & 0x3f) << 10;
11412 break;
11413 }
11414 case AArch64::FMULXv1i64_indexed:
11415 case AArch64::FMULXv2i64_indexed:
11416 case AArch64::FMULv1i64_indexed:
11417 case AArch64::FMULv2i64_indexed: {
11418 // op: Rd
11419 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11420 Value |= (op & 0x1f);
11421 // op: Rn
11422 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11423 Value |= (op & 0x1f) << 5;
11424 // op: Rm
11425 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11426 Value |= (op & 0x1f) << 16;
11427 // op: idx
11428 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11429 Value |= (op & 0x1) << 11;
11430 break;
11431 }
11432 case AArch64::LUT4_B: {
11433 // op: Rd
11434 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11435 Value |= (op & 0x1f);
11436 // op: Rn
11437 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11438 Value |= (op & 0x1f) << 5;
11439 // op: Rm
11440 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11441 Value |= (op & 0x1f) << 16;
11442 // op: idx
11443 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11444 Value |= (op & 0x1) << 14;
11445 break;
11446 }
11447 case AArch64::FMULXv1i32_indexed:
11448 case AArch64::FMULXv2i32_indexed:
11449 case AArch64::FMULXv4i32_indexed:
11450 case AArch64::FMULv1i32_indexed:
11451 case AArch64::FMULv2i32_indexed:
11452 case AArch64::FMULv4i32_indexed:
11453 case AArch64::MULv2i32_indexed:
11454 case AArch64::MULv4i32_indexed:
11455 case AArch64::SMULLv2i32_indexed:
11456 case AArch64::SMULLv4i32_indexed:
11457 case AArch64::SQDMULHv1i32_indexed:
11458 case AArch64::SQDMULHv2i32_indexed:
11459 case AArch64::SQDMULHv4i32_indexed:
11460 case AArch64::SQDMULLv1i64_indexed:
11461 case AArch64::SQDMULLv2i32_indexed:
11462 case AArch64::SQDMULLv4i32_indexed:
11463 case AArch64::SQRDMULHv1i32_indexed:
11464 case AArch64::SQRDMULHv2i32_indexed:
11465 case AArch64::SQRDMULHv4i32_indexed:
11466 case AArch64::UMULLv2i32_indexed:
11467 case AArch64::UMULLv4i32_indexed: {
11468 // op: Rd
11469 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11470 Value |= (op & 0x1f);
11471 // op: Rn
11472 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11473 Value |= (op & 0x1f) << 5;
11474 // op: Rm
11475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11476 Value |= (op & 0x1f) << 16;
11477 // op: idx
11478 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11479 Value |= (op & 0x1) << 21;
11480 Value |= (op & 0x2) << 10;
11481 break;
11482 }
11483 case AArch64::LUT2_B:
11484 case AArch64::LUT4_H: {
11485 // op: Rd
11486 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11487 Value |= (op & 0x1f);
11488 // op: Rn
11489 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11490 Value |= (op & 0x1f) << 5;
11491 // op: Rm
11492 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11493 Value |= (op & 0x1f) << 16;
11494 // op: idx
11495 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11496 Value |= (op & 0x3) << 13;
11497 break;
11498 }
11499 case AArch64::LUT2_H: {
11500 // op: Rd
11501 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11502 Value |= (op & 0x1f);
11503 // op: Rn
11504 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11505 Value |= (op & 0x1f) << 5;
11506 // op: Rm
11507 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11508 Value |= (op & 0x1f) << 16;
11509 // op: idx
11510 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11511 Value |= (op & 0x7) << 12;
11512 break;
11513 }
11514 case AArch64::EXTRWrri: {
11515 // op: Rd
11516 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11517 Value |= (op & 0x1f);
11518 // op: Rn
11519 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11520 Value |= (op & 0x1f) << 5;
11521 // op: Rm
11522 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11523 Value |= (op & 0x1f) << 16;
11524 // op: imm
11525 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11526 Value |= (op & 0x1f) << 10;
11527 break;
11528 }
11529 case AArch64::EXTRXrri: {
11530 // op: Rd
11531 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11532 Value |= (op & 0x1f);
11533 // op: Rn
11534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11535 Value |= (op & 0x1f) << 5;
11536 // op: Rm
11537 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11538 Value |= (op & 0x1f) << 16;
11539 // op: imm
11540 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11541 Value |= (op & 0x3f) << 10;
11542 break;
11543 }
11544 case AArch64::EXTv8i8: {
11545 // op: Rd
11546 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11547 Value |= (op & 0x1f);
11548 // op: Rn
11549 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11550 Value |= (op & 0x1f) << 5;
11551 // op: Rm
11552 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11553 Value |= (op & 0x1f) << 16;
11554 // op: imm
11555 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11556 Value |= (op & 0x7) << 11;
11557 break;
11558 }
11559 case AArch64::EXTv16i8: {
11560 // op: Rd
11561 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11562 Value |= (op & 0x1f);
11563 // op: Rn
11564 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11565 Value |= (op & 0x1f) << 5;
11566 // op: Rm
11567 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11568 Value |= (op & 0x1f) << 16;
11569 // op: imm
11570 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11571 Value |= (op & 0xf) << 11;
11572 break;
11573 }
11574 case AArch64::FCADDv2f32:
11575 case AArch64::FCADDv2f64:
11576 case AArch64::FCADDv4f16:
11577 case AArch64::FCADDv4f32:
11578 case AArch64::FCADDv8f16: {
11579 // op: Rd
11580 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11581 Value |= (op & 0x1f);
11582 // op: Rn
11583 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11584 Value |= (op & 0x1f) << 5;
11585 // op: Rm
11586 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11587 Value |= (op & 0x1f) << 16;
11588 // op: rot
11589 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11590 Value |= (op & 0x1) << 12;
11591 break;
11592 }
11593 case AArch64::ADDSWrs:
11594 case AArch64::ADDSXrs:
11595 case AArch64::ADDWrs:
11596 case AArch64::ADDXrs:
11597 case AArch64::ANDSWrs:
11598 case AArch64::ANDSXrs:
11599 case AArch64::ANDWrs:
11600 case AArch64::ANDXrs:
11601 case AArch64::BICSWrs:
11602 case AArch64::BICSXrs:
11603 case AArch64::BICWrs:
11604 case AArch64::BICXrs:
11605 case AArch64::EONWrs:
11606 case AArch64::EONXrs:
11607 case AArch64::EORWrs:
11608 case AArch64::EORXrs:
11609 case AArch64::ORNWrs:
11610 case AArch64::ORNXrs:
11611 case AArch64::ORRWrs:
11612 case AArch64::ORRXrs:
11613 case AArch64::SUBSWrs:
11614 case AArch64::SUBSXrs:
11615 case AArch64::SUBWrs:
11616 case AArch64::SUBXrs: {
11617 // op: Rd
11618 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11619 Value |= (op & 0x1f);
11620 // op: Rn
11621 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11622 Value |= (op & 0x1f) << 5;
11623 // op: Rm
11624 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11625 Value |= (op & 0x1f) << 16;
11626 // op: shift
11627 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11628 Value |= (op & 0xc0) << 16;
11629 Value |= (op & 0x3f) << 10;
11630 break;
11631 }
11632 case AArch64::ADDPT_shift:
11633 case AArch64::SUBPT_shift: {
11634 // op: Rd
11635 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11636 Value |= (op & 0x1f);
11637 // op: Rn
11638 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11639 Value |= (op & 0x1f) << 5;
11640 // op: Rm
11641 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11642 Value |= (op & 0x1f) << 16;
11643 // op: shift_imm
11644 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11645 Value |= (op & 0x7) << 10;
11646 break;
11647 }
11648 case AArch64::SMULHrr:
11649 case AArch64::UMULHrr: {
11650 // op: Rd
11651 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11652 Value |= (op & 0x1f);
11653 // op: Rn
11654 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11655 Value |= (op & 0x1f) << 5;
11656 // op: Rm
11657 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11658 Value |= (op & 0x1f) << 16;
11659 Value = fixMulHigh(MI, EncodedValue: Value, STI);
11660 break;
11661 }
11662 case AArch64::FMULXv1i16_indexed:
11663 case AArch64::FMULXv4i16_indexed:
11664 case AArch64::FMULXv8i16_indexed:
11665 case AArch64::FMULv1i16_indexed:
11666 case AArch64::FMULv4i16_indexed:
11667 case AArch64::FMULv8i16_indexed:
11668 case AArch64::MULv4i16_indexed:
11669 case AArch64::MULv8i16_indexed:
11670 case AArch64::SMULLv4i16_indexed:
11671 case AArch64::SMULLv8i16_indexed:
11672 case AArch64::SQDMULHv1i16_indexed:
11673 case AArch64::SQDMULHv4i16_indexed:
11674 case AArch64::SQDMULHv8i16_indexed:
11675 case AArch64::SQDMULLv1i32_indexed:
11676 case AArch64::SQDMULLv4i16_indexed:
11677 case AArch64::SQDMULLv8i16_indexed:
11678 case AArch64::SQRDMULHv1i16_indexed:
11679 case AArch64::SQRDMULHv4i16_indexed:
11680 case AArch64::SQRDMULHv8i16_indexed:
11681 case AArch64::UMULLv4i16_indexed:
11682 case AArch64::UMULLv8i16_indexed: {
11683 // op: Rd
11684 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11685 Value |= (op & 0x1f);
11686 // op: Rn
11687 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11688 Value |= (op & 0x1f) << 5;
11689 // op: Rm
11690 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11691 Value |= (op & 0xf) << 16;
11692 // op: idx
11693 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11694 Value |= (op & 0x3) << 20;
11695 Value |= (op & 0x4) << 9;
11696 break;
11697 }
11698 case AArch64::DUPv2i64lane:
11699 case AArch64::UMOVvi64: {
11700 // op: Rd
11701 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11702 Value |= (op & 0x1f);
11703 // op: Rn
11704 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11705 Value |= (op & 0x1f) << 5;
11706 // op: idx
11707 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11708 Value |= (op & 0x1) << 20;
11709 break;
11710 }
11711 case AArch64::DUPv2i32lane:
11712 case AArch64::DUPv4i32lane:
11713 case AArch64::SMOVvi32to64:
11714 case AArch64::UMOVvi32: {
11715 // op: Rd
11716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11717 Value |= (op & 0x1f);
11718 // op: Rn
11719 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11720 Value |= (op & 0x1f) << 5;
11721 // op: idx
11722 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11723 Value |= (op & 0x3) << 19;
11724 break;
11725 }
11726 case AArch64::DUPv4i16lane:
11727 case AArch64::DUPv8i16lane:
11728 case AArch64::SMOVvi16to32:
11729 case AArch64::SMOVvi16to64:
11730 case AArch64::UMOVvi16: {
11731 // op: Rd
11732 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11733 Value |= (op & 0x1f);
11734 // op: Rn
11735 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11736 Value |= (op & 0x1f) << 5;
11737 // op: idx
11738 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11739 Value |= (op & 0x7) << 18;
11740 break;
11741 }
11742 case AArch64::DUPv16i8lane:
11743 case AArch64::DUPv8i8lane:
11744 case AArch64::SMOVvi8to32:
11745 case AArch64::SMOVvi8to64:
11746 case AArch64::UMOVvi8: {
11747 // op: Rd
11748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11749 Value |= (op & 0x1f);
11750 // op: Rn
11751 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11752 Value |= (op & 0x1f) << 5;
11753 // op: idx
11754 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11755 Value |= (op & 0xf) << 17;
11756 break;
11757 }
11758 case AArch64::ADDSWri:
11759 case AArch64::ADDSXri:
11760 case AArch64::ADDWri:
11761 case AArch64::ADDXri:
11762 case AArch64::SUBSWri:
11763 case AArch64::SUBSXri:
11764 case AArch64::SUBWri:
11765 case AArch64::SUBXri: {
11766 // op: Rd
11767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11768 Value |= (op & 0x1f);
11769 // op: Rn
11770 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11771 Value |= (op & 0x1f) << 5;
11772 // op: imm
11773 op = getAddSubImmOpValue(MI, OpIdx: 2, Fixups, STI);
11774 Value |= (op & 0x3fff) << 10;
11775 break;
11776 }
11777 case AArch64::ANDSXri:
11778 case AArch64::ANDXri:
11779 case AArch64::EORXri:
11780 case AArch64::ORRXri: {
11781 // op: Rd
11782 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11783 Value |= (op & 0x1f);
11784 // op: Rn
11785 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11786 Value |= (op & 0x1f) << 5;
11787 // op: imm
11788 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11789 Value |= (op & 0x1fff) << 10;
11790 break;
11791 }
11792 case AArch64::SMAXWri:
11793 case AArch64::SMAXXri:
11794 case AArch64::SMINWri:
11795 case AArch64::SMINXri:
11796 case AArch64::UMAXWri:
11797 case AArch64::UMAXXri:
11798 case AArch64::UMINWri:
11799 case AArch64::UMINXri: {
11800 // op: Rd
11801 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11802 Value |= (op & 0x1f);
11803 // op: Rn
11804 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11805 Value |= (op & 0x1f) << 5;
11806 // op: imm
11807 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11808 Value |= (op & 0xff) << 10;
11809 break;
11810 }
11811 case AArch64::ANDSWri:
11812 case AArch64::ANDWri:
11813 case AArch64::EORWri:
11814 case AArch64::ORRWri: {
11815 // op: Rd
11816 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11817 Value |= (op & 0x1f);
11818 // op: Rn
11819 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11820 Value |= (op & 0x1f) << 5;
11821 // op: imm
11822 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11823 Value |= (op & 0xfff) << 10;
11824 break;
11825 }
11826 case AArch64::SHLv4i16_shift:
11827 case AArch64::SHLv8i16_shift:
11828 case AArch64::SQSHLUh:
11829 case AArch64::SQSHLUv4i16_shift:
11830 case AArch64::SQSHLUv8i16_shift:
11831 case AArch64::SQSHLh:
11832 case AArch64::SQSHLv4i16_shift:
11833 case AArch64::SQSHLv8i16_shift:
11834 case AArch64::SSHLLv4i16_shift:
11835 case AArch64::SSHLLv8i16_shift:
11836 case AArch64::UQSHLh:
11837 case AArch64::UQSHLv4i16_shift:
11838 case AArch64::UQSHLv8i16_shift:
11839 case AArch64::USHLLv4i16_shift:
11840 case AArch64::USHLLv8i16_shift: {
11841 // op: Rd
11842 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11843 Value |= (op & 0x1f);
11844 // op: Rn
11845 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11846 Value |= (op & 0x1f) << 5;
11847 // op: imm
11848 op = getVecShiftL16OpValue(MI, OpIdx: 2, Fixups, STI);
11849 Value |= (op & 0xf) << 16;
11850 break;
11851 }
11852 case AArch64::SHLv2i32_shift:
11853 case AArch64::SHLv4i32_shift:
11854 case AArch64::SQSHLUs:
11855 case AArch64::SQSHLUv2i32_shift:
11856 case AArch64::SQSHLUv4i32_shift:
11857 case AArch64::SQSHLs:
11858 case AArch64::SQSHLv2i32_shift:
11859 case AArch64::SQSHLv4i32_shift:
11860 case AArch64::SSHLLv2i32_shift:
11861 case AArch64::SSHLLv4i32_shift:
11862 case AArch64::UQSHLs:
11863 case AArch64::UQSHLv2i32_shift:
11864 case AArch64::UQSHLv4i32_shift:
11865 case AArch64::USHLLv2i32_shift:
11866 case AArch64::USHLLv4i32_shift: {
11867 // op: Rd
11868 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11869 Value |= (op & 0x1f);
11870 // op: Rn
11871 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11872 Value |= (op & 0x1f) << 5;
11873 // op: imm
11874 op = getVecShiftL32OpValue(MI, OpIdx: 2, Fixups, STI);
11875 Value |= (op & 0x1f) << 16;
11876 break;
11877 }
11878 case AArch64::SHLd:
11879 case AArch64::SHLv2i64_shift:
11880 case AArch64::SQSHLUd:
11881 case AArch64::SQSHLUv2i64_shift:
11882 case AArch64::SQSHLd:
11883 case AArch64::SQSHLv2i64_shift:
11884 case AArch64::UQSHLd:
11885 case AArch64::UQSHLv2i64_shift: {
11886 // op: Rd
11887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11888 Value |= (op & 0x1f);
11889 // op: Rn
11890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11891 Value |= (op & 0x1f) << 5;
11892 // op: imm
11893 op = getVecShiftL64OpValue(MI, OpIdx: 2, Fixups, STI);
11894 Value |= (op & 0x3f) << 16;
11895 break;
11896 }
11897 case AArch64::SHLv16i8_shift:
11898 case AArch64::SHLv8i8_shift:
11899 case AArch64::SQSHLUb:
11900 case AArch64::SQSHLUv16i8_shift:
11901 case AArch64::SQSHLUv8i8_shift:
11902 case AArch64::SQSHLb:
11903 case AArch64::SQSHLv16i8_shift:
11904 case AArch64::SQSHLv8i8_shift:
11905 case AArch64::SSHLLv16i8_shift:
11906 case AArch64::SSHLLv8i8_shift:
11907 case AArch64::UQSHLb:
11908 case AArch64::UQSHLv16i8_shift:
11909 case AArch64::UQSHLv8i8_shift:
11910 case AArch64::USHLLv16i8_shift:
11911 case AArch64::USHLLv8i8_shift: {
11912 // op: Rd
11913 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11914 Value |= (op & 0x1f);
11915 // op: Rn
11916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11917 Value |= (op & 0x1f) << 5;
11918 // op: imm
11919 op = getVecShiftL8OpValue(MI, OpIdx: 2, Fixups, STI);
11920 Value |= (op & 0x7) << 16;
11921 break;
11922 }
11923 case AArch64::RSHRNv8i8_shift:
11924 case AArch64::SHRNv8i8_shift:
11925 case AArch64::SQRSHRNv8i8_shift:
11926 case AArch64::SQRSHRUNv8i8_shift:
11927 case AArch64::SQSHRNv8i8_shift:
11928 case AArch64::SQSHRUNv8i8_shift:
11929 case AArch64::UQRSHRNv8i8_shift:
11930 case AArch64::UQSHRNv8i8_shift: {
11931 // op: Rd
11932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11933 Value |= (op & 0x1f);
11934 // op: Rn
11935 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11936 Value |= (op & 0x1f) << 5;
11937 // op: imm
11938 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
11939 Value |= (op & 0x7) << 16;
11940 break;
11941 }
11942 case AArch64::FCVTZSh:
11943 case AArch64::FCVTZSv4i16_shift:
11944 case AArch64::FCVTZSv8i16_shift:
11945 case AArch64::FCVTZUh:
11946 case AArch64::FCVTZUv4i16_shift:
11947 case AArch64::FCVTZUv8i16_shift:
11948 case AArch64::SCVTFh:
11949 case AArch64::SCVTFv4i16_shift:
11950 case AArch64::SCVTFv8i16_shift:
11951 case AArch64::SQRSHRNh:
11952 case AArch64::SQRSHRUNh:
11953 case AArch64::SQSHRNh:
11954 case AArch64::SQSHRUNh:
11955 case AArch64::SRSHRv4i16_shift:
11956 case AArch64::SRSHRv8i16_shift:
11957 case AArch64::SSHRv4i16_shift:
11958 case AArch64::SSHRv8i16_shift:
11959 case AArch64::UCVTFh:
11960 case AArch64::UCVTFv4i16_shift:
11961 case AArch64::UCVTFv8i16_shift:
11962 case AArch64::UQRSHRNh:
11963 case AArch64::UQSHRNh:
11964 case AArch64::URSHRv4i16_shift:
11965 case AArch64::URSHRv8i16_shift:
11966 case AArch64::USHRv4i16_shift:
11967 case AArch64::USHRv8i16_shift: {
11968 // op: Rd
11969 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11970 Value |= (op & 0x1f);
11971 // op: Rn
11972 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11973 Value |= (op & 0x1f) << 5;
11974 // op: imm
11975 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
11976 Value |= (op & 0xf) << 16;
11977 break;
11978 }
11979 case AArch64::FCVTZSs:
11980 case AArch64::FCVTZSv2i32_shift:
11981 case AArch64::FCVTZSv4i32_shift:
11982 case AArch64::FCVTZUs:
11983 case AArch64::FCVTZUv2i32_shift:
11984 case AArch64::FCVTZUv4i32_shift:
11985 case AArch64::SCVTFs:
11986 case AArch64::SCVTFv2i32_shift:
11987 case AArch64::SCVTFv4i32_shift:
11988 case AArch64::SQRSHRNs:
11989 case AArch64::SQRSHRUNs:
11990 case AArch64::SQSHRNs:
11991 case AArch64::SQSHRUNs:
11992 case AArch64::SRSHRv2i32_shift:
11993 case AArch64::SRSHRv4i32_shift:
11994 case AArch64::SSHRv2i32_shift:
11995 case AArch64::SSHRv4i32_shift:
11996 case AArch64::UCVTFs:
11997 case AArch64::UCVTFv2i32_shift:
11998 case AArch64::UCVTFv4i32_shift:
11999 case AArch64::UQRSHRNs:
12000 case AArch64::UQSHRNs:
12001 case AArch64::URSHRv2i32_shift:
12002 case AArch64::URSHRv4i32_shift:
12003 case AArch64::USHRv2i32_shift:
12004 case AArch64::USHRv4i32_shift: {
12005 // op: Rd
12006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12007 Value |= (op & 0x1f);
12008 // op: Rn
12009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12010 Value |= (op & 0x1f) << 5;
12011 // op: imm
12012 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
12013 Value |= (op & 0x1f) << 16;
12014 break;
12015 }
12016 case AArch64::RSHRNv4i16_shift:
12017 case AArch64::SHRNv4i16_shift:
12018 case AArch64::SQRSHRNv4i16_shift:
12019 case AArch64::SQRSHRUNv4i16_shift:
12020 case AArch64::SQSHRNv4i16_shift:
12021 case AArch64::SQSHRUNv4i16_shift:
12022 case AArch64::UQRSHRNv4i16_shift:
12023 case AArch64::UQSHRNv4i16_shift: {
12024 // op: Rd
12025 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12026 Value |= (op & 0x1f);
12027 // op: Rn
12028 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12029 Value |= (op & 0x1f) << 5;
12030 // op: imm
12031 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
12032 Value |= (op & 0xf) << 16;
12033 break;
12034 }
12035 case AArch64::RSHRNv2i32_shift:
12036 case AArch64::SHRNv2i32_shift:
12037 case AArch64::SQRSHRNv2i32_shift:
12038 case AArch64::SQRSHRUNv2i32_shift:
12039 case AArch64::SQSHRNv2i32_shift:
12040 case AArch64::SQSHRUNv2i32_shift:
12041 case AArch64::UQRSHRNv2i32_shift:
12042 case AArch64::UQSHRNv2i32_shift: {
12043 // op: Rd
12044 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12045 Value |= (op & 0x1f);
12046 // op: Rn
12047 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12048 Value |= (op & 0x1f) << 5;
12049 // op: imm
12050 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
12051 Value |= (op & 0x1f) << 16;
12052 break;
12053 }
12054 case AArch64::FCVTZSd:
12055 case AArch64::FCVTZSv2i64_shift:
12056 case AArch64::FCVTZUd:
12057 case AArch64::FCVTZUv2i64_shift:
12058 case AArch64::SCVTFd:
12059 case AArch64::SCVTFv2i64_shift:
12060 case AArch64::SRSHRd:
12061 case AArch64::SRSHRv2i64_shift:
12062 case AArch64::SSHRd:
12063 case AArch64::SSHRv2i64_shift:
12064 case AArch64::UCVTFd:
12065 case AArch64::UCVTFv2i64_shift:
12066 case AArch64::URSHRd:
12067 case AArch64::URSHRv2i64_shift:
12068 case AArch64::USHRd:
12069 case AArch64::USHRv2i64_shift: {
12070 // op: Rd
12071 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12072 Value |= (op & 0x1f);
12073 // op: Rn
12074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12075 Value |= (op & 0x1f) << 5;
12076 // op: imm
12077 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
12078 Value |= (op & 0x3f) << 16;
12079 break;
12080 }
12081 case AArch64::SQRSHRNb:
12082 case AArch64::SQRSHRUNb:
12083 case AArch64::SQSHRNb:
12084 case AArch64::SQSHRUNb:
12085 case AArch64::SRSHRv16i8_shift:
12086 case AArch64::SRSHRv8i8_shift:
12087 case AArch64::SSHRv16i8_shift:
12088 case AArch64::SSHRv8i8_shift:
12089 case AArch64::UQRSHRNb:
12090 case AArch64::UQSHRNb:
12091 case AArch64::URSHRv16i8_shift:
12092 case AArch64::URSHRv8i8_shift:
12093 case AArch64::USHRv16i8_shift:
12094 case AArch64::USHRv8i8_shift: {
12095 // op: Rd
12096 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12097 Value |= (op & 0x1f);
12098 // op: Rn
12099 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12100 Value |= (op & 0x1f) << 5;
12101 // op: imm
12102 op = getVecShiftR8OpValue(MI, OpIdx: 2, Fixups, STI);
12103 Value |= (op & 0x7) << 16;
12104 break;
12105 }
12106 case AArch64::ADDG:
12107 case AArch64::SUBG: {
12108 // op: Rd
12109 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12110 Value |= (op & 0x1f);
12111 // op: Rn
12112 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12113 Value |= (op & 0x1f) << 5;
12114 // op: imm6
12115 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12116 Value |= (op & 0x3f) << 16;
12117 // op: imm4
12118 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12119 Value |= (op & 0xf) << 10;
12120 break;
12121 }
12122 case AArch64::SBFMWri:
12123 case AArch64::UBFMWri: {
12124 // op: Rd
12125 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12126 Value |= (op & 0x1f);
12127 // op: Rn
12128 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12129 Value |= (op & 0x1f) << 5;
12130 // op: immr
12131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12132 Value |= (op & 0x1f) << 16;
12133 // op: imms
12134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12135 Value |= (op & 0x1f) << 10;
12136 break;
12137 }
12138 case AArch64::SBFMXri:
12139 case AArch64::UBFMXri: {
12140 // op: Rd
12141 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12142 Value |= (op & 0x1f);
12143 // op: Rn
12144 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12145 Value |= (op & 0x1f) << 5;
12146 // op: immr
12147 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12148 Value |= (op & 0x3f) << 16;
12149 // op: imms
12150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12151 Value |= (op & 0x3f) << 10;
12152 break;
12153 }
12154 case AArch64::FCVTZSSWDri:
12155 case AArch64::FCVTZSSWHri:
12156 case AArch64::FCVTZSSWSri:
12157 case AArch64::FCVTZUSWDri:
12158 case AArch64::FCVTZUSWHri:
12159 case AArch64::FCVTZUSWSri:
12160 case AArch64::SCVTFSWDri:
12161 case AArch64::SCVTFSWHri:
12162 case AArch64::SCVTFSWSri:
12163 case AArch64::UCVTFSWDri:
12164 case AArch64::UCVTFSWHri:
12165 case AArch64::UCVTFSWSri: {
12166 // op: Rd
12167 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12168 Value |= (op & 0x1f);
12169 // op: Rn
12170 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12171 Value |= (op & 0x1f) << 5;
12172 // op: scale
12173 op = getFixedPointScaleOpValue(MI, OpIdx: 2, Fixups, STI);
12174 Value |= (op & 0x1f) << 10;
12175 break;
12176 }
12177 case AArch64::FCVTZSSXDri:
12178 case AArch64::FCVTZSSXHri:
12179 case AArch64::FCVTZSSXSri:
12180 case AArch64::FCVTZUSXDri:
12181 case AArch64::FCVTZUSXHri:
12182 case AArch64::FCVTZUSXSri:
12183 case AArch64::SCVTFSXDri:
12184 case AArch64::SCVTFSXHri:
12185 case AArch64::SCVTFSXSri:
12186 case AArch64::UCVTFSXDri:
12187 case AArch64::UCVTFSXHri:
12188 case AArch64::UCVTFSXSri: {
12189 // op: Rd
12190 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12191 Value |= (op & 0x1f);
12192 // op: Rn
12193 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12194 Value |= (op & 0x1f) << 5;
12195 // op: scale
12196 op = getFixedPointScaleOpValue(MI, OpIdx: 2, Fixups, STI);
12197 Value |= (op & 0x3f) << 10;
12198 break;
12199 }
12200 case AArch64::BFMWri: {
12201 // op: Rd
12202 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12203 Value |= (op & 0x1f);
12204 // op: Rn
12205 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12206 Value |= (op & 0x1f) << 5;
12207 // op: immr
12208 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12209 Value |= (op & 0x1f) << 16;
12210 // op: imms
12211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12212 Value |= (op & 0x1f) << 10;
12213 break;
12214 }
12215 case AArch64::BFMXri: {
12216 // op: Rd
12217 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12218 Value |= (op & 0x1f);
12219 // op: Rn
12220 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12221 Value |= (op & 0x1f) << 5;
12222 // op: immr
12223 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12224 Value |= (op & 0x3f) << 16;
12225 // op: imms
12226 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12227 Value |= (op & 0x3f) << 10;
12228 break;
12229 }
12230 case AArch64::FMOVDi:
12231 case AArch64::FMOVHi:
12232 case AArch64::FMOVSi: {
12233 // op: Rd
12234 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12235 Value |= (op & 0x1f);
12236 // op: imm
12237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12238 Value |= (op & 0xff) << 13;
12239 break;
12240 }
12241 case AArch64::MOVNWi:
12242 case AArch64::MOVNXi: {
12243 // op: Rd
12244 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12245 Value |= (op & 0x1f);
12246 // op: imm
12247 op = getMoveWideImmOpValue(MI, OpIdx: 1, Fixups, STI);
12248 Value |= (op & 0xffff) << 5;
12249 // op: shift
12250 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12251 Value |= (op & 0x30) << 17;
12252 break;
12253 }
12254 case AArch64::MOVZWi:
12255 case AArch64::MOVZXi: {
12256 // op: Rd
12257 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12258 Value |= (op & 0x1f);
12259 // op: imm
12260 op = getMoveWideImmOpValue(MI, OpIdx: 1, Fixups, STI);
12261 Value |= (op & 0xffff) << 5;
12262 // op: shift
12263 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12264 Value |= (op & 0x30) << 17;
12265 Value = fixMOVZ(MI, EncodedValue: Value, STI);
12266 break;
12267 }
12268 case AArch64::MOVKWi:
12269 case AArch64::MOVKXi: {
12270 // op: Rd
12271 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12272 Value |= (op & 0x1f);
12273 // op: imm
12274 op = getMoveWideImmOpValue(MI, OpIdx: 2, Fixups, STI);
12275 Value |= (op & 0xffff) << 5;
12276 // op: shift
12277 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12278 Value |= (op & 0x30) << 17;
12279 break;
12280 }
12281 case AArch64::CNTB_XPiI:
12282 case AArch64::CNTD_XPiI:
12283 case AArch64::CNTH_XPiI:
12284 case AArch64::CNTW_XPiI: {
12285 // op: Rd
12286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12287 Value |= (op & 0x1f);
12288 // op: imm4
12289 op = getSVEIncDecImm(MI, OpIdx: 2, Fixups, STI);
12290 Value |= (op & 0xf) << 16;
12291 // op: pattern
12292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12293 Value |= (op & 0x1f) << 5;
12294 break;
12295 }
12296 case AArch64::RDSVLI_XI:
12297 case AArch64::RDVLI_XI: {
12298 // op: Rd
12299 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12300 Value |= (op & 0x1f);
12301 // op: imm6
12302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12303 Value |= (op & 0x3f) << 5;
12304 break;
12305 }
12306 case AArch64::FMOVv2f32_ns:
12307 case AArch64::FMOVv2f64_ns:
12308 case AArch64::FMOVv4f16_ns:
12309 case AArch64::FMOVv4f32_ns:
12310 case AArch64::FMOVv8f16_ns:
12311 case AArch64::MOVID:
12312 case AArch64::MOVIv16b_ns:
12313 case AArch64::MOVIv2d_ns:
12314 case AArch64::MOVIv8b_ns: {
12315 // op: Rd
12316 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12317 Value |= (op & 0x1f);
12318 // op: imm8
12319 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12320 Value |= (op & 0xe0) << 11;
12321 Value |= (op & 0x1f) << 5;
12322 break;
12323 }
12324 case AArch64::MOVIv2s_msl:
12325 case AArch64::MOVIv4s_msl:
12326 case AArch64::MVNIv2s_msl:
12327 case AArch64::MVNIv4s_msl: {
12328 // op: Rd
12329 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12330 Value |= (op & 0x1f);
12331 // op: imm8
12332 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12333 Value |= (op & 0xe0) << 11;
12334 Value |= (op & 0x1f) << 5;
12335 // op: shift
12336 op = getMoveVecShifterOpValue(MI, OpIdx: 2, Fixups, STI);
12337 Value |= (op & 0x1) << 12;
12338 break;
12339 }
12340 case AArch64::MOVIv4i16:
12341 case AArch64::MOVIv8i16:
12342 case AArch64::MVNIv4i16:
12343 case AArch64::MVNIv8i16: {
12344 // op: Rd
12345 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12346 Value |= (op & 0x1f);
12347 // op: imm8
12348 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12349 Value |= (op & 0xe0) << 11;
12350 Value |= (op & 0x1f) << 5;
12351 // op: shift
12352 op = getVecShifterOpValue(MI, OpIdx: 2, Fixups, STI);
12353 Value |= (op & 0x1) << 13;
12354 break;
12355 }
12356 case AArch64::MOVIv2i32:
12357 case AArch64::MOVIv4i32:
12358 case AArch64::MVNIv2i32:
12359 case AArch64::MVNIv4i32: {
12360 // op: Rd
12361 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12362 Value |= (op & 0x1f);
12363 // op: imm8
12364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12365 Value |= (op & 0xe0) << 11;
12366 Value |= (op & 0x1f) << 5;
12367 // op: shift
12368 op = getVecShifterOpValue(MI, OpIdx: 2, Fixups, STI);
12369 Value |= (op & 0x3) << 13;
12370 break;
12371 }
12372 case AArch64::AUTDZA:
12373 case AArch64::AUTDZB:
12374 case AArch64::AUTIZA:
12375 case AArch64::AUTIZB:
12376 case AArch64::PACDZA:
12377 case AArch64::PACDZB:
12378 case AArch64::PACIZA:
12379 case AArch64::PACIZB: {
12380 // op: Rd
12381 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12382 Value |= (op & 0x1f);
12383 break;
12384 }
12385 case AArch64::AESDrr:
12386 case AArch64::AESErr:
12387 case AArch64::AUTDA:
12388 case AArch64::AUTDB:
12389 case AArch64::AUTIA:
12390 case AArch64::AUTIB:
12391 case AArch64::BFCVTN2:
12392 case AArch64::FCVTNv4i32:
12393 case AArch64::FCVTNv8i16:
12394 case AArch64::FCVTXNv4f32:
12395 case AArch64::PACDA:
12396 case AArch64::PACDB:
12397 case AArch64::PACIA:
12398 case AArch64::PACIB:
12399 case AArch64::SADALPv16i8_v8i16:
12400 case AArch64::SADALPv2i32_v1i64:
12401 case AArch64::SADALPv4i16_v2i32:
12402 case AArch64::SADALPv4i32_v2i64:
12403 case AArch64::SADALPv8i16_v4i32:
12404 case AArch64::SADALPv8i8_v4i16:
12405 case AArch64::SHA1SU1rr:
12406 case AArch64::SHA256SU0rr:
12407 case AArch64::SQXTNv16i8:
12408 case AArch64::SQXTNv4i32:
12409 case AArch64::SQXTNv8i16:
12410 case AArch64::SQXTUNv16i8:
12411 case AArch64::SQXTUNv4i32:
12412 case AArch64::SQXTUNv8i16:
12413 case AArch64::SUQADDv16i8:
12414 case AArch64::SUQADDv1i16:
12415 case AArch64::SUQADDv1i32:
12416 case AArch64::SUQADDv1i64:
12417 case AArch64::SUQADDv1i8:
12418 case AArch64::SUQADDv2i32:
12419 case AArch64::SUQADDv2i64:
12420 case AArch64::SUQADDv4i16:
12421 case AArch64::SUQADDv4i32:
12422 case AArch64::SUQADDv8i16:
12423 case AArch64::SUQADDv8i8:
12424 case AArch64::UADALPv16i8_v8i16:
12425 case AArch64::UADALPv2i32_v1i64:
12426 case AArch64::UADALPv4i16_v2i32:
12427 case AArch64::UADALPv4i32_v2i64:
12428 case AArch64::UADALPv8i16_v4i32:
12429 case AArch64::UADALPv8i8_v4i16:
12430 case AArch64::UQXTNv16i8:
12431 case AArch64::UQXTNv4i32:
12432 case AArch64::UQXTNv8i16:
12433 case AArch64::USQADDv16i8:
12434 case AArch64::USQADDv1i16:
12435 case AArch64::USQADDv1i32:
12436 case AArch64::USQADDv1i64:
12437 case AArch64::USQADDv1i8:
12438 case AArch64::USQADDv2i32:
12439 case AArch64::USQADDv2i64:
12440 case AArch64::USQADDv4i16:
12441 case AArch64::USQADDv4i32:
12442 case AArch64::USQADDv8i16:
12443 case AArch64::USQADDv8i8:
12444 case AArch64::XTNv16i8:
12445 case AArch64::XTNv4i32:
12446 case AArch64::XTNv8i16: {
12447 // op: Rd
12448 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12449 Value |= (op & 0x1f);
12450 // op: Rn
12451 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12452 Value |= (op & 0x1f) << 5;
12453 break;
12454 }
12455 case AArch64::ADDHNv2i64_v4i32:
12456 case AArch64::ADDHNv4i32_v8i16:
12457 case AArch64::ADDHNv8i16_v16i8:
12458 case AArch64::BFDOTv4bf16:
12459 case AArch64::BFDOTv8bf16:
12460 case AArch64::BFMLALB:
12461 case AArch64::BFMLALT:
12462 case AArch64::BFMMLA:
12463 case AArch64::BIFv16i8:
12464 case AArch64::BIFv8i8:
12465 case AArch64::BITv16i8:
12466 case AArch64::BITv8i8:
12467 case AArch64::BSLv16i8:
12468 case AArch64::BSLv8i8:
12469 case AArch64::FCVTN_F322v16f8:
12470 case AArch64::FDOTv2f32:
12471 case AArch64::FDOTv4f16:
12472 case AArch64::FDOTv4f16_v2f32:
12473 case AArch64::FDOTv4f32:
12474 case AArch64::FDOTv8f16:
12475 case AArch64::FDOTv8f16_v4f32:
12476 case AArch64::FMLAL2v4f16:
12477 case AArch64::FMLAL2v8f16:
12478 case AArch64::FMLALBv16i8_v8f16:
12479 case AArch64::FMLALLBBv4f32:
12480 case AArch64::FMLALLBTv4f32:
12481 case AArch64::FMLALLTBv4f32:
12482 case AArch64::FMLALLTTv4f32:
12483 case AArch64::FMLALTv16i8_v8f16:
12484 case AArch64::FMLALv4f16:
12485 case AArch64::FMLALv8f16:
12486 case AArch64::FMLAv2f32:
12487 case AArch64::FMLAv2f64:
12488 case AArch64::FMLAv4f16:
12489 case AArch64::FMLAv4f32:
12490 case AArch64::FMLAv8f16:
12491 case AArch64::FMLSL2v4f16:
12492 case AArch64::FMLSL2v8f16:
12493 case AArch64::FMLSLv4f16:
12494 case AArch64::FMLSLv8f16:
12495 case AArch64::FMLSv2f32:
12496 case AArch64::FMLSv2f64:
12497 case AArch64::FMLSv4f16:
12498 case AArch64::FMLSv4f32:
12499 case AArch64::FMLSv8f16:
12500 case AArch64::FMMLAv4f32:
12501 case AArch64::FMMLAv8f16:
12502 case AArch64::FMMLAv8f16_v4f32:
12503 case AArch64::FMMLAv8f16_v8f16:
12504 case AArch64::MLAv16i8:
12505 case AArch64::MLAv2i32:
12506 case AArch64::MLAv4i16:
12507 case AArch64::MLAv4i32:
12508 case AArch64::MLAv8i16:
12509 case AArch64::MLAv8i8:
12510 case AArch64::MLSv16i8:
12511 case AArch64::MLSv2i32:
12512 case AArch64::MLSv4i16:
12513 case AArch64::MLSv4i32:
12514 case AArch64::MLSv8i16:
12515 case AArch64::MLSv8i8:
12516 case AArch64::RADDHNv2i64_v4i32:
12517 case AArch64::RADDHNv4i32_v8i16:
12518 case AArch64::RADDHNv8i16_v16i8:
12519 case AArch64::RSUBHNv2i64_v4i32:
12520 case AArch64::RSUBHNv4i32_v8i16:
12521 case AArch64::RSUBHNv8i16_v16i8:
12522 case AArch64::SABALv16i8_v8i16:
12523 case AArch64::SABALv2i32_v2i64:
12524 case AArch64::SABALv4i16_v4i32:
12525 case AArch64::SABALv4i32_v2i64:
12526 case AArch64::SABALv8i16_v4i32:
12527 case AArch64::SABALv8i8_v8i16:
12528 case AArch64::SABAv16i8:
12529 case AArch64::SABAv2i32:
12530 case AArch64::SABAv4i16:
12531 case AArch64::SABAv4i32:
12532 case AArch64::SABAv8i16:
12533 case AArch64::SABAv8i8:
12534 case AArch64::SDOTv16i8:
12535 case AArch64::SDOTv8i8:
12536 case AArch64::SHA1Crrr:
12537 case AArch64::SHA1Mrrr:
12538 case AArch64::SHA1Prrr:
12539 case AArch64::SHA1SU0rrr:
12540 case AArch64::SHA256H2rrr:
12541 case AArch64::SHA256Hrrr:
12542 case AArch64::SHA256SU1rrr:
12543 case AArch64::SMLALv16i8_v8i16:
12544 case AArch64::SMLALv2i32_v2i64:
12545 case AArch64::SMLALv4i16_v4i32:
12546 case AArch64::SMLALv4i32_v2i64:
12547 case AArch64::SMLALv8i16_v4i32:
12548 case AArch64::SMLALv8i8_v8i16:
12549 case AArch64::SMLSLv16i8_v8i16:
12550 case AArch64::SMLSLv2i32_v2i64:
12551 case AArch64::SMLSLv4i16_v4i32:
12552 case AArch64::SMLSLv4i32_v2i64:
12553 case AArch64::SMLSLv8i16_v4i32:
12554 case AArch64::SMLSLv8i8_v8i16:
12555 case AArch64::SMMLA:
12556 case AArch64::SQDMLALi16:
12557 case AArch64::SQDMLALi32:
12558 case AArch64::SQDMLALv2i32_v2i64:
12559 case AArch64::SQDMLALv4i16_v4i32:
12560 case AArch64::SQDMLALv4i32_v2i64:
12561 case AArch64::SQDMLALv8i16_v4i32:
12562 case AArch64::SQDMLSLi16:
12563 case AArch64::SQDMLSLi32:
12564 case AArch64::SQDMLSLv2i32_v2i64:
12565 case AArch64::SQDMLSLv4i16_v4i32:
12566 case AArch64::SQDMLSLv4i32_v2i64:
12567 case AArch64::SQDMLSLv8i16_v4i32:
12568 case AArch64::SQRDMLAHv1i16:
12569 case AArch64::SQRDMLAHv1i32:
12570 case AArch64::SQRDMLAHv2i32:
12571 case AArch64::SQRDMLAHv4i16:
12572 case AArch64::SQRDMLAHv4i32:
12573 case AArch64::SQRDMLAHv8i16:
12574 case AArch64::SQRDMLSHv1i16:
12575 case AArch64::SQRDMLSHv1i32:
12576 case AArch64::SQRDMLSHv2i32:
12577 case AArch64::SQRDMLSHv4i16:
12578 case AArch64::SQRDMLSHv4i32:
12579 case AArch64::SQRDMLSHv8i16:
12580 case AArch64::SUBHNv2i64_v4i32:
12581 case AArch64::SUBHNv4i32_v8i16:
12582 case AArch64::SUBHNv8i16_v16i8:
12583 case AArch64::UABALv16i8_v8i16:
12584 case AArch64::UABALv2i32_v2i64:
12585 case AArch64::UABALv4i16_v4i32:
12586 case AArch64::UABALv4i32_v2i64:
12587 case AArch64::UABALv8i16_v4i32:
12588 case AArch64::UABALv8i8_v8i16:
12589 case AArch64::UABAv16i8:
12590 case AArch64::UABAv2i32:
12591 case AArch64::UABAv4i16:
12592 case AArch64::UABAv4i32:
12593 case AArch64::UABAv8i16:
12594 case AArch64::UABAv8i8:
12595 case AArch64::UDOTv16i8:
12596 case AArch64::UDOTv8i8:
12597 case AArch64::UMLALv16i8_v8i16:
12598 case AArch64::UMLALv2i32_v2i64:
12599 case AArch64::UMLALv4i16_v4i32:
12600 case AArch64::UMLALv4i32_v2i64:
12601 case AArch64::UMLALv8i16_v4i32:
12602 case AArch64::UMLALv8i8_v8i16:
12603 case AArch64::UMLSLv16i8_v8i16:
12604 case AArch64::UMLSLv2i32_v2i64:
12605 case AArch64::UMLSLv4i16_v4i32:
12606 case AArch64::UMLSLv4i32_v2i64:
12607 case AArch64::UMLSLv8i16_v4i32:
12608 case AArch64::UMLSLv8i8_v8i16:
12609 case AArch64::UMMLA:
12610 case AArch64::USDOTv16i8:
12611 case AArch64::USDOTv8i8:
12612 case AArch64::USMMLA: {
12613 // op: Rd
12614 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12615 Value |= (op & 0x1f);
12616 // op: Rn
12617 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12618 Value |= (op & 0x1f) << 5;
12619 // op: Rm
12620 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12621 Value |= (op & 0x1f) << 16;
12622 break;
12623 }
12624 case AArch64::FMLAv1i64_indexed:
12625 case AArch64::FMLAv2i64_indexed:
12626 case AArch64::FMLSv1i64_indexed:
12627 case AArch64::FMLSv2i64_indexed: {
12628 // op: Rd
12629 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12630 Value |= (op & 0x1f);
12631 // op: Rn
12632 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12633 Value |= (op & 0x1f) << 5;
12634 // op: Rm
12635 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12636 Value |= (op & 0x1f) << 16;
12637 // op: idx
12638 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12639 Value |= (op & 0x1) << 11;
12640 break;
12641 }
12642 case AArch64::BF16DOTlanev4bf16:
12643 case AArch64::BF16DOTlanev8bf16:
12644 case AArch64::FDOTlanev2f32:
12645 case AArch64::FDOTlanev4f16_v2f32:
12646 case AArch64::FDOTlanev4f32:
12647 case AArch64::FDOTlanev8f16_v4f32:
12648 case AArch64::FMLAv1i32_indexed:
12649 case AArch64::FMLAv2i32_indexed:
12650 case AArch64::FMLAv4i32_indexed:
12651 case AArch64::FMLSv1i32_indexed:
12652 case AArch64::FMLSv2i32_indexed:
12653 case AArch64::FMLSv4i32_indexed:
12654 case AArch64::MLAv2i32_indexed:
12655 case AArch64::MLAv4i32_indexed:
12656 case AArch64::MLSv2i32_indexed:
12657 case AArch64::MLSv4i32_indexed:
12658 case AArch64::SDOTlanev16i8:
12659 case AArch64::SDOTlanev8i8:
12660 case AArch64::SMLALv2i32_indexed:
12661 case AArch64::SMLALv4i32_indexed:
12662 case AArch64::SMLSLv2i32_indexed:
12663 case AArch64::SMLSLv4i32_indexed:
12664 case AArch64::SQDMLALv1i64_indexed:
12665 case AArch64::SQDMLALv2i32_indexed:
12666 case AArch64::SQDMLALv4i32_indexed:
12667 case AArch64::SQDMLSLv1i64_indexed:
12668 case AArch64::SQDMLSLv2i32_indexed:
12669 case AArch64::SQDMLSLv4i32_indexed:
12670 case AArch64::SQRDMLAHv1i32_indexed:
12671 case AArch64::SQRDMLAHv2i32_indexed:
12672 case AArch64::SQRDMLAHv4i32_indexed:
12673 case AArch64::SQRDMLSHv1i32_indexed:
12674 case AArch64::SQRDMLSHv2i32_indexed:
12675 case AArch64::SQRDMLSHv4i32_indexed:
12676 case AArch64::SUDOTlanev16i8:
12677 case AArch64::SUDOTlanev8i8:
12678 case AArch64::UDOTlanev16i8:
12679 case AArch64::UDOTlanev8i8:
12680 case AArch64::UMLALv2i32_indexed:
12681 case AArch64::UMLALv4i32_indexed:
12682 case AArch64::UMLSLv2i32_indexed:
12683 case AArch64::UMLSLv4i32_indexed:
12684 case AArch64::USDOTlanev16i8:
12685 case AArch64::USDOTlanev8i8: {
12686 // op: Rd
12687 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12688 Value |= (op & 0x1f);
12689 // op: Rn
12690 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12691 Value |= (op & 0x1f) << 5;
12692 // op: Rm
12693 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12694 Value |= (op & 0x1f) << 16;
12695 // op: idx
12696 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12697 Value |= (op & 0x1) << 21;
12698 Value |= (op & 0x2) << 10;
12699 break;
12700 }
12701 case AArch64::FCMLAv2f32:
12702 case AArch64::FCMLAv2f64:
12703 case AArch64::FCMLAv4f16:
12704 case AArch64::FCMLAv4f32:
12705 case AArch64::FCMLAv8f16: {
12706 // op: Rd
12707 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12708 Value |= (op & 0x1f);
12709 // op: Rn
12710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12711 Value |= (op & 0x1f) << 5;
12712 // op: Rm
12713 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12714 Value |= (op & 0x1f) << 16;
12715 // op: rot
12716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12717 Value |= (op & 0x3) << 11;
12718 break;
12719 }
12720 case AArch64::FCMLAv4f32_indexed: {
12721 // op: Rd
12722 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12723 Value |= (op & 0x1f);
12724 // op: Rn
12725 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12726 Value |= (op & 0x1f) << 5;
12727 // op: Rm
12728 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12729 Value |= (op & 0x1f) << 16;
12730 // op: rot
12731 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12732 Value |= (op & 0x3) << 13;
12733 // op: idx
12734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12735 Value |= (op & 0x1) << 11;
12736 break;
12737 }
12738 case AArch64::FCMLAv4f16_indexed: {
12739 // op: Rd
12740 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12741 Value |= (op & 0x1f);
12742 // op: Rn
12743 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12744 Value |= (op & 0x1f) << 5;
12745 // op: Rm
12746 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12747 Value |= (op & 0x1f) << 16;
12748 // op: rot
12749 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12750 Value |= (op & 0x3) << 13;
12751 // op: idx
12752 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12753 Value |= (op & 0x1) << 21;
12754 break;
12755 }
12756 case AArch64::FCMLAv8f16_indexed: {
12757 // op: Rd
12758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12759 Value |= (op & 0x1f);
12760 // op: Rn
12761 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12762 Value |= (op & 0x1f) << 5;
12763 // op: Rm
12764 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12765 Value |= (op & 0x1f) << 16;
12766 // op: rot
12767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12768 Value |= (op & 0x3) << 13;
12769 // op: idx
12770 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12771 Value |= (op & 0x1) << 21;
12772 Value |= (op & 0x2) << 10;
12773 break;
12774 }
12775 case AArch64::FMLALBlanev8f16:
12776 case AArch64::FMLALLBBlanev4f32:
12777 case AArch64::FMLALLBTlanev4f32:
12778 case AArch64::FMLALLTBlanev4f32:
12779 case AArch64::FMLALLTTlanev4f32:
12780 case AArch64::FMLALTlanev8f16: {
12781 // op: Rd
12782 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12783 Value |= (op & 0x1f);
12784 // op: Rn
12785 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12786 Value |= (op & 0x1f) << 5;
12787 // op: Rm
12788 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12789 Value |= (op & 0x7) << 16;
12790 // op: idx
12791 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12792 Value |= (op & 0x7) << 19;
12793 Value |= (op & 0x8) << 8;
12794 break;
12795 }
12796 case AArch64::BFMLALBIdx:
12797 case AArch64::BFMLALTIdx:
12798 case AArch64::FDOTlanev4f16:
12799 case AArch64::FDOTlanev8f16:
12800 case AArch64::FMLAL2lanev4f16:
12801 case AArch64::FMLAL2lanev8f16:
12802 case AArch64::FMLALlanev4f16:
12803 case AArch64::FMLALlanev8f16:
12804 case AArch64::FMLAv1i16_indexed:
12805 case AArch64::FMLAv4i16_indexed:
12806 case AArch64::FMLAv8i16_indexed:
12807 case AArch64::FMLSL2lanev4f16:
12808 case AArch64::FMLSL2lanev8f16:
12809 case AArch64::FMLSLlanev4f16:
12810 case AArch64::FMLSLlanev8f16:
12811 case AArch64::FMLSv1i16_indexed:
12812 case AArch64::FMLSv4i16_indexed:
12813 case AArch64::FMLSv8i16_indexed:
12814 case AArch64::MLAv4i16_indexed:
12815 case AArch64::MLAv8i16_indexed:
12816 case AArch64::MLSv4i16_indexed:
12817 case AArch64::MLSv8i16_indexed:
12818 case AArch64::SMLALv4i16_indexed:
12819 case AArch64::SMLALv8i16_indexed:
12820 case AArch64::SMLSLv4i16_indexed:
12821 case AArch64::SMLSLv8i16_indexed:
12822 case AArch64::SQDMLALv1i32_indexed:
12823 case AArch64::SQDMLALv4i16_indexed:
12824 case AArch64::SQDMLALv8i16_indexed:
12825 case AArch64::SQDMLSLv1i32_indexed:
12826 case AArch64::SQDMLSLv4i16_indexed:
12827 case AArch64::SQDMLSLv8i16_indexed:
12828 case AArch64::SQRDMLAHv1i16_indexed:
12829 case AArch64::SQRDMLAHv4i16_indexed:
12830 case AArch64::SQRDMLAHv8i16_indexed:
12831 case AArch64::SQRDMLSHv1i16_indexed:
12832 case AArch64::SQRDMLSHv4i16_indexed:
12833 case AArch64::SQRDMLSHv8i16_indexed:
12834 case AArch64::UMLALv4i16_indexed:
12835 case AArch64::UMLALv8i16_indexed:
12836 case AArch64::UMLSLv4i16_indexed:
12837 case AArch64::UMLSLv8i16_indexed: {
12838 // op: Rd
12839 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12840 Value |= (op & 0x1f);
12841 // op: Rn
12842 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12843 Value |= (op & 0x1f) << 5;
12844 // op: Rm
12845 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12846 Value |= (op & 0xf) << 16;
12847 // op: idx
12848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12849 Value |= (op & 0x3) << 20;
12850 Value |= (op & 0x4) << 9;
12851 break;
12852 }
12853 case AArch64::SLIv4i16_shift:
12854 case AArch64::SLIv8i16_shift: {
12855 // op: Rd
12856 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12857 Value |= (op & 0x1f);
12858 // op: Rn
12859 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12860 Value |= (op & 0x1f) << 5;
12861 // op: imm
12862 op = getVecShiftL16OpValue(MI, OpIdx: 3, Fixups, STI);
12863 Value |= (op & 0xf) << 16;
12864 break;
12865 }
12866 case AArch64::SLIv2i32_shift:
12867 case AArch64::SLIv4i32_shift: {
12868 // op: Rd
12869 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12870 Value |= (op & 0x1f);
12871 // op: Rn
12872 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12873 Value |= (op & 0x1f) << 5;
12874 // op: imm
12875 op = getVecShiftL32OpValue(MI, OpIdx: 3, Fixups, STI);
12876 Value |= (op & 0x1f) << 16;
12877 break;
12878 }
12879 case AArch64::SLId:
12880 case AArch64::SLIv2i64_shift: {
12881 // op: Rd
12882 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12883 Value |= (op & 0x1f);
12884 // op: Rn
12885 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12886 Value |= (op & 0x1f) << 5;
12887 // op: imm
12888 op = getVecShiftL64OpValue(MI, OpIdx: 3, Fixups, STI);
12889 Value |= (op & 0x3f) << 16;
12890 break;
12891 }
12892 case AArch64::SLIv16i8_shift:
12893 case AArch64::SLIv8i8_shift: {
12894 // op: Rd
12895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12896 Value |= (op & 0x1f);
12897 // op: Rn
12898 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12899 Value |= (op & 0x1f) << 5;
12900 // op: imm
12901 op = getVecShiftL8OpValue(MI, OpIdx: 3, Fixups, STI);
12902 Value |= (op & 0x7) << 16;
12903 break;
12904 }
12905 case AArch64::RSHRNv16i8_shift:
12906 case AArch64::SHRNv16i8_shift:
12907 case AArch64::SQRSHRNv16i8_shift:
12908 case AArch64::SQRSHRUNv16i8_shift:
12909 case AArch64::SQSHRNv16i8_shift:
12910 case AArch64::SQSHRUNv16i8_shift:
12911 case AArch64::UQRSHRNv16i8_shift:
12912 case AArch64::UQSHRNv16i8_shift: {
12913 // op: Rd
12914 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12915 Value |= (op & 0x1f);
12916 // op: Rn
12917 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12918 Value |= (op & 0x1f) << 5;
12919 // op: imm
12920 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
12921 Value |= (op & 0x7) << 16;
12922 break;
12923 }
12924 case AArch64::SRIv4i16_shift:
12925 case AArch64::SRIv8i16_shift:
12926 case AArch64::SRSRAv4i16_shift:
12927 case AArch64::SRSRAv8i16_shift:
12928 case AArch64::SSRAv4i16_shift:
12929 case AArch64::SSRAv8i16_shift:
12930 case AArch64::URSRAv4i16_shift:
12931 case AArch64::URSRAv8i16_shift:
12932 case AArch64::USRAv4i16_shift:
12933 case AArch64::USRAv8i16_shift: {
12934 // op: Rd
12935 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12936 Value |= (op & 0x1f);
12937 // op: Rn
12938 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12939 Value |= (op & 0x1f) << 5;
12940 // op: imm
12941 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
12942 Value |= (op & 0xf) << 16;
12943 break;
12944 }
12945 case AArch64::SRIv2i32_shift:
12946 case AArch64::SRIv4i32_shift:
12947 case AArch64::SRSRAv2i32_shift:
12948 case AArch64::SRSRAv4i32_shift:
12949 case AArch64::SSRAv2i32_shift:
12950 case AArch64::SSRAv4i32_shift:
12951 case AArch64::URSRAv2i32_shift:
12952 case AArch64::URSRAv4i32_shift:
12953 case AArch64::USRAv2i32_shift:
12954 case AArch64::USRAv4i32_shift: {
12955 // op: Rd
12956 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12957 Value |= (op & 0x1f);
12958 // op: Rn
12959 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12960 Value |= (op & 0x1f) << 5;
12961 // op: imm
12962 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
12963 Value |= (op & 0x1f) << 16;
12964 break;
12965 }
12966 case AArch64::RSHRNv8i16_shift:
12967 case AArch64::SHRNv8i16_shift:
12968 case AArch64::SQRSHRNv8i16_shift:
12969 case AArch64::SQRSHRUNv8i16_shift:
12970 case AArch64::SQSHRNv8i16_shift:
12971 case AArch64::SQSHRUNv8i16_shift:
12972 case AArch64::UQRSHRNv8i16_shift:
12973 case AArch64::UQSHRNv8i16_shift: {
12974 // op: Rd
12975 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12976 Value |= (op & 0x1f);
12977 // op: Rn
12978 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12979 Value |= (op & 0x1f) << 5;
12980 // op: imm
12981 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
12982 Value |= (op & 0xf) << 16;
12983 break;
12984 }
12985 case AArch64::RSHRNv4i32_shift:
12986 case AArch64::SHRNv4i32_shift:
12987 case AArch64::SQRSHRNv4i32_shift:
12988 case AArch64::SQRSHRUNv4i32_shift:
12989 case AArch64::SQSHRNv4i32_shift:
12990 case AArch64::SQSHRUNv4i32_shift:
12991 case AArch64::UQRSHRNv4i32_shift:
12992 case AArch64::UQSHRNv4i32_shift: {
12993 // op: Rd
12994 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12995 Value |= (op & 0x1f);
12996 // op: Rn
12997 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12998 Value |= (op & 0x1f) << 5;
12999 // op: imm
13000 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
13001 Value |= (op & 0x1f) << 16;
13002 break;
13003 }
13004 case AArch64::SRId:
13005 case AArch64::SRIv2i64_shift:
13006 case AArch64::SRSRAd:
13007 case AArch64::SRSRAv2i64_shift:
13008 case AArch64::SSRAd:
13009 case AArch64::SSRAv2i64_shift:
13010 case AArch64::URSRAd:
13011 case AArch64::URSRAv2i64_shift:
13012 case AArch64::USRAd:
13013 case AArch64::USRAv2i64_shift: {
13014 // op: Rd
13015 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13016 Value |= (op & 0x1f);
13017 // op: Rn
13018 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13019 Value |= (op & 0x1f) << 5;
13020 // op: imm
13021 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
13022 Value |= (op & 0x3f) << 16;
13023 break;
13024 }
13025 case AArch64::SRIv16i8_shift:
13026 case AArch64::SRIv8i8_shift:
13027 case AArch64::SRSRAv16i8_shift:
13028 case AArch64::SRSRAv8i8_shift:
13029 case AArch64::SSRAv16i8_shift:
13030 case AArch64::SSRAv8i8_shift:
13031 case AArch64::URSRAv16i8_shift:
13032 case AArch64::URSRAv8i8_shift:
13033 case AArch64::USRAv16i8_shift:
13034 case AArch64::USRAv8i8_shift: {
13035 // op: Rd
13036 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13037 Value |= (op & 0x1f);
13038 // op: Rn
13039 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13040 Value |= (op & 0x1f) << 5;
13041 // op: imm
13042 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
13043 Value |= (op & 0x7) << 16;
13044 break;
13045 }
13046 case AArch64::INSvi64gpr: {
13047 // op: Rd
13048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13049 Value |= (op & 0x1f);
13050 // op: Rn
13051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13052 Value |= (op & 0x1f) << 5;
13053 // op: idx
13054 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13055 Value |= (op & 0x1) << 20;
13056 break;
13057 }
13058 case AArch64::INSvi64lane: {
13059 // op: Rd
13060 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13061 Value |= (op & 0x1f);
13062 // op: Rn
13063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13064 Value |= (op & 0x1f) << 5;
13065 // op: idx
13066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13067 Value |= (op & 0x1) << 20;
13068 // op: idx2
13069 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13070 Value |= (op & 0x1) << 14;
13071 break;
13072 }
13073 case AArch64::INSvi32gpr: {
13074 // op: Rd
13075 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13076 Value |= (op & 0x1f);
13077 // op: Rn
13078 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13079 Value |= (op & 0x1f) << 5;
13080 // op: idx
13081 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13082 Value |= (op & 0x3) << 19;
13083 break;
13084 }
13085 case AArch64::INSvi32lane: {
13086 // op: Rd
13087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13088 Value |= (op & 0x1f);
13089 // op: Rn
13090 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13091 Value |= (op & 0x1f) << 5;
13092 // op: idx
13093 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13094 Value |= (op & 0x3) << 19;
13095 // op: idx2
13096 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13097 Value |= (op & 0x3) << 13;
13098 break;
13099 }
13100 case AArch64::INSvi16gpr: {
13101 // op: Rd
13102 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13103 Value |= (op & 0x1f);
13104 // op: Rn
13105 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13106 Value |= (op & 0x1f) << 5;
13107 // op: idx
13108 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13109 Value |= (op & 0x7) << 18;
13110 break;
13111 }
13112 case AArch64::INSvi16lane: {
13113 // op: Rd
13114 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13115 Value |= (op & 0x1f);
13116 // op: Rn
13117 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13118 Value |= (op & 0x1f) << 5;
13119 // op: idx
13120 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13121 Value |= (op & 0x7) << 18;
13122 // op: idx2
13123 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13124 Value |= (op & 0x7) << 12;
13125 break;
13126 }
13127 case AArch64::INSvi8gpr: {
13128 // op: Rd
13129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13130 Value |= (op & 0x1f);
13131 // op: Rn
13132 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13133 Value |= (op & 0x1f) << 5;
13134 // op: idx
13135 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13136 Value |= (op & 0xf) << 17;
13137 break;
13138 }
13139 case AArch64::INSvi8lane: {
13140 // op: Rd
13141 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13142 Value |= (op & 0x1f);
13143 // op: Rn
13144 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13145 Value |= (op & 0x1f) << 5;
13146 // op: idx
13147 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13148 Value |= (op & 0xf) << 17;
13149 // op: idx2
13150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13151 Value |= (op & 0xf) << 11;
13152 break;
13153 }
13154 case AArch64::BICv4i16:
13155 case AArch64::BICv8i16:
13156 case AArch64::ORRv4i16:
13157 case AArch64::ORRv8i16: {
13158 // op: Rd
13159 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13160 Value |= (op & 0x1f);
13161 // op: imm8
13162 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13163 Value |= (op & 0xe0) << 11;
13164 Value |= (op & 0x1f) << 5;
13165 // op: shift
13166 op = getVecShifterOpValue(MI, OpIdx: 3, Fixups, STI);
13167 Value |= (op & 0x1) << 13;
13168 break;
13169 }
13170 case AArch64::BICv2i32:
13171 case AArch64::BICv4i32:
13172 case AArch64::ORRv2i32:
13173 case AArch64::ORRv4i32: {
13174 // op: Rd
13175 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13176 Value |= (op & 0x1f);
13177 // op: imm8
13178 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13179 Value |= (op & 0xe0) << 11;
13180 Value |= (op & 0x1f) << 5;
13181 // op: shift
13182 op = getVecShifterOpValue(MI, OpIdx: 3, Fixups, STI);
13183 Value |= (op & 0x3) << 13;
13184 break;
13185 }
13186 case AArch64::SETGOE:
13187 case AArch64::SETGOEN:
13188 case AArch64::SETGOET:
13189 case AArch64::SETGOETN:
13190 case AArch64::SETGOM:
13191 case AArch64::SETGOMN:
13192 case AArch64::SETGOMT:
13193 case AArch64::SETGOMTN:
13194 case AArch64::SETGOP:
13195 case AArch64::SETGOPN:
13196 case AArch64::SETGOPT:
13197 case AArch64::SETGOPTN: {
13198 // op: Rd
13199 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13200 Value |= (op & 0x1f);
13201 // op: Rn
13202 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13203 Value |= (op & 0x1f) << 5;
13204 break;
13205 }
13206 case AArch64::MOPSSETGE:
13207 case AArch64::MOPSSETGEN:
13208 case AArch64::MOPSSETGET:
13209 case AArch64::MOPSSETGETN:
13210 case AArch64::SETE:
13211 case AArch64::SETEN:
13212 case AArch64::SETET:
13213 case AArch64::SETETN:
13214 case AArch64::SETGM:
13215 case AArch64::SETGMN:
13216 case AArch64::SETGMT:
13217 case AArch64::SETGMTN:
13218 case AArch64::SETGP:
13219 case AArch64::SETGPN:
13220 case AArch64::SETGPT:
13221 case AArch64::SETGPTN:
13222 case AArch64::SETM:
13223 case AArch64::SETMN:
13224 case AArch64::SETMT:
13225 case AArch64::SETMTN:
13226 case AArch64::SETP:
13227 case AArch64::SETPN:
13228 case AArch64::SETPT:
13229 case AArch64::SETPTN: {
13230 // op: Rd
13231 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13232 Value |= (op & 0x1f);
13233 // op: Rn
13234 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13235 Value |= (op & 0x1f) << 5;
13236 // op: Rm
13237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13238 Value |= (op & 0x1f) << 16;
13239 break;
13240 }
13241 case AArch64::CPYE:
13242 case AArch64::CPYEN:
13243 case AArch64::CPYERN:
13244 case AArch64::CPYERT:
13245 case AArch64::CPYERTN:
13246 case AArch64::CPYERTRN:
13247 case AArch64::CPYERTWN:
13248 case AArch64::CPYET:
13249 case AArch64::CPYETN:
13250 case AArch64::CPYETRN:
13251 case AArch64::CPYETWN:
13252 case AArch64::CPYEWN:
13253 case AArch64::CPYEWT:
13254 case AArch64::CPYEWTN:
13255 case AArch64::CPYEWTRN:
13256 case AArch64::CPYEWTWN:
13257 case AArch64::CPYFE:
13258 case AArch64::CPYFEN:
13259 case AArch64::CPYFERN:
13260 case AArch64::CPYFERT:
13261 case AArch64::CPYFERTN:
13262 case AArch64::CPYFERTRN:
13263 case AArch64::CPYFERTWN:
13264 case AArch64::CPYFET:
13265 case AArch64::CPYFETN:
13266 case AArch64::CPYFETRN:
13267 case AArch64::CPYFETWN:
13268 case AArch64::CPYFEWN:
13269 case AArch64::CPYFEWT:
13270 case AArch64::CPYFEWTN:
13271 case AArch64::CPYFEWTRN:
13272 case AArch64::CPYFEWTWN:
13273 case AArch64::CPYFM:
13274 case AArch64::CPYFMN:
13275 case AArch64::CPYFMRN:
13276 case AArch64::CPYFMRT:
13277 case AArch64::CPYFMRTN:
13278 case AArch64::CPYFMRTRN:
13279 case AArch64::CPYFMRTWN:
13280 case AArch64::CPYFMT:
13281 case AArch64::CPYFMTN:
13282 case AArch64::CPYFMTRN:
13283 case AArch64::CPYFMTWN:
13284 case AArch64::CPYFMWN:
13285 case AArch64::CPYFMWT:
13286 case AArch64::CPYFMWTN:
13287 case AArch64::CPYFMWTRN:
13288 case AArch64::CPYFMWTWN:
13289 case AArch64::CPYFP:
13290 case AArch64::CPYFPN:
13291 case AArch64::CPYFPRN:
13292 case AArch64::CPYFPRT:
13293 case AArch64::CPYFPRTN:
13294 case AArch64::CPYFPRTRN:
13295 case AArch64::CPYFPRTWN:
13296 case AArch64::CPYFPT:
13297 case AArch64::CPYFPTN:
13298 case AArch64::CPYFPTRN:
13299 case AArch64::CPYFPTWN:
13300 case AArch64::CPYFPWN:
13301 case AArch64::CPYFPWT:
13302 case AArch64::CPYFPWTN:
13303 case AArch64::CPYFPWTRN:
13304 case AArch64::CPYFPWTWN:
13305 case AArch64::CPYM:
13306 case AArch64::CPYMN:
13307 case AArch64::CPYMRN:
13308 case AArch64::CPYMRT:
13309 case AArch64::CPYMRTN:
13310 case AArch64::CPYMRTRN:
13311 case AArch64::CPYMRTWN:
13312 case AArch64::CPYMT:
13313 case AArch64::CPYMTN:
13314 case AArch64::CPYMTRN:
13315 case AArch64::CPYMTWN:
13316 case AArch64::CPYMWN:
13317 case AArch64::CPYMWT:
13318 case AArch64::CPYMWTN:
13319 case AArch64::CPYMWTRN:
13320 case AArch64::CPYMWTWN:
13321 case AArch64::CPYP:
13322 case AArch64::CPYPN:
13323 case AArch64::CPYPRN:
13324 case AArch64::CPYPRT:
13325 case AArch64::CPYPRTN:
13326 case AArch64::CPYPRTRN:
13327 case AArch64::CPYPRTWN:
13328 case AArch64::CPYPT:
13329 case AArch64::CPYPTN:
13330 case AArch64::CPYPTRN:
13331 case AArch64::CPYPTWN:
13332 case AArch64::CPYPWN:
13333 case AArch64::CPYPWT:
13334 case AArch64::CPYPWTN:
13335 case AArch64::CPYPWTRN:
13336 case AArch64::CPYPWTWN: {
13337 // op: Rd
13338 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13339 Value |= (op & 0x1f);
13340 // op: Rs
13341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13342 Value |= (op & 0x1f) << 16;
13343 // op: Rn
13344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13345 Value |= (op & 0x1f) << 5;
13346 break;
13347 }
13348 case AArch64::DECP_XP_B:
13349 case AArch64::DECP_XP_D:
13350 case AArch64::DECP_XP_H:
13351 case AArch64::DECP_XP_S:
13352 case AArch64::INCP_XP_B:
13353 case AArch64::INCP_XP_D:
13354 case AArch64::INCP_XP_H:
13355 case AArch64::INCP_XP_S:
13356 case AArch64::SQDECP_XPWd_B:
13357 case AArch64::SQDECP_XPWd_D:
13358 case AArch64::SQDECP_XPWd_H:
13359 case AArch64::SQDECP_XPWd_S:
13360 case AArch64::SQDECP_XP_B:
13361 case AArch64::SQDECP_XP_D:
13362 case AArch64::SQDECP_XP_H:
13363 case AArch64::SQDECP_XP_S:
13364 case AArch64::SQINCP_XPWd_B:
13365 case AArch64::SQINCP_XPWd_D:
13366 case AArch64::SQINCP_XPWd_H:
13367 case AArch64::SQINCP_XPWd_S:
13368 case AArch64::SQINCP_XP_B:
13369 case AArch64::SQINCP_XP_D:
13370 case AArch64::SQINCP_XP_H:
13371 case AArch64::SQINCP_XP_S:
13372 case AArch64::UQDECP_WP_B:
13373 case AArch64::UQDECP_WP_D:
13374 case AArch64::UQDECP_WP_H:
13375 case AArch64::UQDECP_WP_S:
13376 case AArch64::UQDECP_XP_B:
13377 case AArch64::UQDECP_XP_D:
13378 case AArch64::UQDECP_XP_H:
13379 case AArch64::UQDECP_XP_S:
13380 case AArch64::UQINCP_WP_B:
13381 case AArch64::UQINCP_WP_D:
13382 case AArch64::UQINCP_WP_H:
13383 case AArch64::UQINCP_WP_S:
13384 case AArch64::UQINCP_XP_B:
13385 case AArch64::UQINCP_XP_D:
13386 case AArch64::UQINCP_XP_H:
13387 case AArch64::UQINCP_XP_S: {
13388 // op: Rdn
13389 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13390 Value |= (op & 0x1f);
13391 // op: Pg
13392 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13393 Value |= (op & 0xf) << 5;
13394 break;
13395 }
13396 case AArch64::DECB_XPiI:
13397 case AArch64::DECD_XPiI:
13398 case AArch64::DECH_XPiI:
13399 case AArch64::DECW_XPiI:
13400 case AArch64::INCB_XPiI:
13401 case AArch64::INCD_XPiI:
13402 case AArch64::INCH_XPiI:
13403 case AArch64::INCW_XPiI:
13404 case AArch64::SQDECB_XPiI:
13405 case AArch64::SQDECB_XPiWdI:
13406 case AArch64::SQDECD_XPiI:
13407 case AArch64::SQDECD_XPiWdI:
13408 case AArch64::SQDECH_XPiI:
13409 case AArch64::SQDECH_XPiWdI:
13410 case AArch64::SQDECW_XPiI:
13411 case AArch64::SQDECW_XPiWdI:
13412 case AArch64::SQINCB_XPiI:
13413 case AArch64::SQINCB_XPiWdI:
13414 case AArch64::SQINCD_XPiI:
13415 case AArch64::SQINCD_XPiWdI:
13416 case AArch64::SQINCH_XPiI:
13417 case AArch64::SQINCH_XPiWdI:
13418 case AArch64::SQINCW_XPiI:
13419 case AArch64::SQINCW_XPiWdI:
13420 case AArch64::UQDECB_WPiI:
13421 case AArch64::UQDECB_XPiI:
13422 case AArch64::UQDECD_WPiI:
13423 case AArch64::UQDECD_XPiI:
13424 case AArch64::UQDECH_WPiI:
13425 case AArch64::UQDECH_XPiI:
13426 case AArch64::UQDECW_WPiI:
13427 case AArch64::UQDECW_XPiI:
13428 case AArch64::UQINCB_WPiI:
13429 case AArch64::UQINCB_XPiI:
13430 case AArch64::UQINCD_WPiI:
13431 case AArch64::UQINCD_XPiI:
13432 case AArch64::UQINCH_WPiI:
13433 case AArch64::UQINCH_XPiI:
13434 case AArch64::UQINCW_WPiI:
13435 case AArch64::UQINCW_XPiI: {
13436 // op: Rdn
13437 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13438 Value |= (op & 0x1f);
13439 // op: pattern
13440 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13441 Value |= (op & 0x1f) << 5;
13442 // op: imm4
13443 op = getSVEIncDecImm(MI, OpIdx: 3, Fixups, STI);
13444 Value |= (op & 0xf) << 16;
13445 break;
13446 }
13447 case AArch64::RETAASPPCr:
13448 case AArch64::RETABSPPCr: {
13449 // op: Rm
13450 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13451 Value |= (op & 0x1f);
13452 break;
13453 }
13454 case AArch64::CTERMEQ_WW:
13455 case AArch64::CTERMEQ_XX:
13456 case AArch64::CTERMNE_WW:
13457 case AArch64::CTERMNE_XX:
13458 case AArch64::FCMPDrr:
13459 case AArch64::FCMPEDrr:
13460 case AArch64::FCMPEHrr:
13461 case AArch64::FCMPESrr:
13462 case AArch64::FCMPHrr:
13463 case AArch64::FCMPSrr: {
13464 // op: Rm
13465 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13466 Value |= (op & 0x1f) << 16;
13467 // op: Rn
13468 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13469 Value |= (op & 0x1f) << 5;
13470 break;
13471 }
13472 case AArch64::CBBEQWrr:
13473 case AArch64::CBBGEWrr:
13474 case AArch64::CBBGTWrr:
13475 case AArch64::CBBHIWrr:
13476 case AArch64::CBBHSWrr:
13477 case AArch64::CBBNEWrr:
13478 case AArch64::CBEQWrr:
13479 case AArch64::CBEQXrr:
13480 case AArch64::CBGEWrr:
13481 case AArch64::CBGEXrr:
13482 case AArch64::CBGTWrr:
13483 case AArch64::CBGTXrr:
13484 case AArch64::CBHEQWrr:
13485 case AArch64::CBHGEWrr:
13486 case AArch64::CBHGTWrr:
13487 case AArch64::CBHHIWrr:
13488 case AArch64::CBHHSWrr:
13489 case AArch64::CBHIWrr:
13490 case AArch64::CBHIXrr:
13491 case AArch64::CBHNEWrr:
13492 case AArch64::CBHSWrr:
13493 case AArch64::CBHSXrr:
13494 case AArch64::CBNEWrr:
13495 case AArch64::CBNEXrr: {
13496 // op: Rm
13497 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13498 Value |= (op & 0x1f) << 16;
13499 // op: Rt
13500 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13501 Value |= (op & 0x1f);
13502 // op: target
13503 op = getCondCompBranchTargetOpValue(MI, OpIdx: 2, Fixups, STI);
13504 Value |= (op & 0x1ff) << 5;
13505 break;
13506 }
13507 case AArch64::INDEX_IR_B:
13508 case AArch64::INDEX_IR_D:
13509 case AArch64::INDEX_IR_H:
13510 case AArch64::INDEX_IR_S: {
13511 // op: Rm
13512 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13513 Value |= (op & 0x1f) << 16;
13514 // op: Zd
13515 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13516 Value |= (op & 0x1f);
13517 // op: imm5
13518 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13519 Value |= (op & 0x1f) << 5;
13520 break;
13521 }
13522 case AArch64::INSR_ZR_B:
13523 case AArch64::INSR_ZR_D:
13524 case AArch64::INSR_ZR_H:
13525 case AArch64::INSR_ZR_S: {
13526 // op: Rm
13527 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13528 Value |= (op & 0x1f) << 5;
13529 // op: Zdn
13530 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13531 Value |= (op & 0x1f);
13532 break;
13533 }
13534 case AArch64::LD1B_2Z_STRIDED:
13535 case AArch64::LD1D_2Z_STRIDED:
13536 case AArch64::LD1H_2Z_STRIDED:
13537 case AArch64::LD1W_2Z_STRIDED:
13538 case AArch64::LDNT1B_2Z_STRIDED:
13539 case AArch64::LDNT1D_2Z_STRIDED:
13540 case AArch64::LDNT1H_2Z_STRIDED:
13541 case AArch64::LDNT1W_2Z_STRIDED:
13542 case AArch64::ST1B_2Z_STRIDED:
13543 case AArch64::ST1D_2Z_STRIDED:
13544 case AArch64::ST1H_2Z_STRIDED:
13545 case AArch64::ST1W_2Z_STRIDED:
13546 case AArch64::STNT1B_2Z_STRIDED:
13547 case AArch64::STNT1D_2Z_STRIDED:
13548 case AArch64::STNT1H_2Z_STRIDED:
13549 case AArch64::STNT1W_2Z_STRIDED: {
13550 // op: Rm
13551 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13552 Value |= (op & 0x1f) << 16;
13553 // op: PNg
13554 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
13555 Value |= (op & 0x7) << 10;
13556 // op: Rn
13557 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13558 Value |= (op & 0x1f) << 5;
13559 // op: Zt
13560 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
13561 Value |= (op & 0x8) << 1;
13562 Value |= (op & 0x7);
13563 break;
13564 }
13565 case AArch64::LD1B_4Z_STRIDED:
13566 case AArch64::LD1D_4Z_STRIDED:
13567 case AArch64::LD1H_4Z_STRIDED:
13568 case AArch64::LD1W_4Z_STRIDED:
13569 case AArch64::LDNT1B_4Z_STRIDED:
13570 case AArch64::LDNT1D_4Z_STRIDED:
13571 case AArch64::LDNT1H_4Z_STRIDED:
13572 case AArch64::LDNT1W_4Z_STRIDED:
13573 case AArch64::ST1B_4Z_STRIDED:
13574 case AArch64::ST1D_4Z_STRIDED:
13575 case AArch64::ST1H_4Z_STRIDED:
13576 case AArch64::ST1W_4Z_STRIDED:
13577 case AArch64::STNT1B_4Z_STRIDED:
13578 case AArch64::STNT1D_4Z_STRIDED:
13579 case AArch64::STNT1H_4Z_STRIDED:
13580 case AArch64::STNT1W_4Z_STRIDED: {
13581 // op: Rm
13582 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13583 Value |= (op & 0x1f) << 16;
13584 // op: PNg
13585 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
13586 Value |= (op & 0x7) << 10;
13587 // op: Rn
13588 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13589 Value |= (op & 0x1f) << 5;
13590 // op: Zt
13591 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
13592 Value |= (op & 0x4) << 2;
13593 Value |= (op & 0x3);
13594 break;
13595 }
13596 case AArch64::PRFB_PRR:
13597 case AArch64::PRFD_PRR:
13598 case AArch64::PRFH_PRR:
13599 case AArch64::PRFW_PRR: {
13600 // op: Rm
13601 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13602 Value |= (op & 0x1f) << 16;
13603 // op: Rn
13604 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13605 Value |= (op & 0x1f) << 5;
13606 // op: Pg
13607 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13608 Value |= (op & 0x7) << 10;
13609 // op: prfop
13610 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13611 Value |= (op & 0xf);
13612 break;
13613 }
13614 case AArch64::LD1_MXIPXX_H_H:
13615 case AArch64::LD1_MXIPXX_V_H:
13616 case AArch64::ST1_MXIPXX_H_H:
13617 case AArch64::ST1_MXIPXX_V_H: {
13618 // op: Rm
13619 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13620 Value |= (op & 0x1f) << 16;
13621 // op: Rv
13622 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13623 Value |= (op & 0x3) << 13;
13624 // op: Pg
13625 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13626 Value |= (op & 0x7) << 10;
13627 // op: Rn
13628 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13629 Value |= (op & 0x1f) << 5;
13630 // op: ZAt
13631 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13632 Value |= (op & 0x1) << 3;
13633 // op: imm
13634 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13635 Value |= (op & 0x7);
13636 break;
13637 }
13638 case AArch64::LD1_MXIPXX_H_S:
13639 case AArch64::LD1_MXIPXX_V_S:
13640 case AArch64::ST1_MXIPXX_H_S:
13641 case AArch64::ST1_MXIPXX_V_S: {
13642 // op: Rm
13643 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13644 Value |= (op & 0x1f) << 16;
13645 // op: Rv
13646 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13647 Value |= (op & 0x3) << 13;
13648 // op: Pg
13649 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13650 Value |= (op & 0x7) << 10;
13651 // op: Rn
13652 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13653 Value |= (op & 0x1f) << 5;
13654 // op: ZAt
13655 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13656 Value |= (op & 0x3) << 2;
13657 // op: imm
13658 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13659 Value |= (op & 0x3);
13660 break;
13661 }
13662 case AArch64::LD1_MXIPXX_H_D:
13663 case AArch64::LD1_MXIPXX_V_D:
13664 case AArch64::ST1_MXIPXX_H_D:
13665 case AArch64::ST1_MXIPXX_V_D: {
13666 // op: Rm
13667 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13668 Value |= (op & 0x1f) << 16;
13669 // op: Rv
13670 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13671 Value |= (op & 0x3) << 13;
13672 // op: Pg
13673 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13674 Value |= (op & 0x7) << 10;
13675 // op: Rn
13676 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13677 Value |= (op & 0x1f) << 5;
13678 // op: ZAt
13679 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13680 Value |= (op & 0x7) << 1;
13681 // op: imm
13682 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13683 Value |= (op & 0x1);
13684 break;
13685 }
13686 case AArch64::LD1_MXIPXX_H_Q:
13687 case AArch64::LD1_MXIPXX_V_Q:
13688 case AArch64::ST1_MXIPXX_H_Q:
13689 case AArch64::ST1_MXIPXX_V_Q: {
13690 // op: Rm
13691 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13692 Value |= (op & 0x1f) << 16;
13693 // op: Rv
13694 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13695 Value |= (op & 0x3) << 13;
13696 // op: Pg
13697 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13698 Value |= (op & 0x7) << 10;
13699 // op: Rn
13700 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13701 Value |= (op & 0x1f) << 5;
13702 // op: ZAt
13703 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13704 Value |= (op & 0xf);
13705 break;
13706 }
13707 case AArch64::LD1_MXIPXX_H_B:
13708 case AArch64::LD1_MXIPXX_V_B:
13709 case AArch64::ST1_MXIPXX_H_B:
13710 case AArch64::ST1_MXIPXX_V_B: {
13711 // op: Rm
13712 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13713 Value |= (op & 0x1f) << 16;
13714 // op: Rv
13715 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13716 Value |= (op & 0x3) << 13;
13717 // op: Pg
13718 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13719 Value |= (op & 0x7) << 10;
13720 // op: Rn
13721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13722 Value |= (op & 0x1f) << 5;
13723 // op: imm
13724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13725 Value |= (op & 0xf);
13726 break;
13727 }
13728 case AArch64::AUTIASPPCr:
13729 case AArch64::AUTIBSPPCr:
13730 case AArch64::BLR:
13731 case AArch64::BLRAAZ:
13732 case AArch64::BLRABZ:
13733 case AArch64::BR:
13734 case AArch64::BRAAZ:
13735 case AArch64::BRABZ:
13736 case AArch64::RET:
13737 case AArch64::SETF16:
13738 case AArch64::SETF8: {
13739 // op: Rn
13740 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13741 Value |= (op & 0x1f) << 5;
13742 break;
13743 }
13744 case AArch64::CCMNWr:
13745 case AArch64::CCMNXr:
13746 case AArch64::CCMPWr:
13747 case AArch64::CCMPXr:
13748 case AArch64::FCCMPDrr:
13749 case AArch64::FCCMPEDrr:
13750 case AArch64::FCCMPEHrr:
13751 case AArch64::FCCMPESrr:
13752 case AArch64::FCCMPHrr:
13753 case AArch64::FCCMPSrr: {
13754 // op: Rn
13755 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13756 Value |= (op & 0x1f) << 5;
13757 // op: Rm
13758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13759 Value |= (op & 0x1f) << 16;
13760 // op: nzcv
13761 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13762 Value |= (op & 0xf);
13763 // op: cond
13764 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13765 Value |= (op & 0xf) << 12;
13766 break;
13767 }
13768 case AArch64::BLRAA:
13769 case AArch64::BLRAB:
13770 case AArch64::BRAA:
13771 case AArch64::BRAB: {
13772 // op: Rn
13773 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13774 Value |= (op & 0x1f) << 5;
13775 // op: Rm
13776 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13777 Value |= (op & 0x1f);
13778 break;
13779 }
13780 case AArch64::CCMNWi:
13781 case AArch64::CCMNXi:
13782 case AArch64::CCMPWi:
13783 case AArch64::CCMPXi: {
13784 // op: Rn
13785 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13786 Value |= (op & 0x1f) << 5;
13787 // op: imm
13788 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13789 Value |= (op & 0x1f) << 16;
13790 // op: nzcv
13791 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13792 Value |= (op & 0xf);
13793 // op: cond
13794 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13795 Value |= (op & 0xf) << 12;
13796 break;
13797 }
13798 case AArch64::RMIF: {
13799 // op: Rn
13800 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13801 Value |= (op & 0x1f) << 5;
13802 // op: imm
13803 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13804 Value |= (op & 0x3f) << 15;
13805 // op: mask
13806 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13807 Value |= (op & 0xf);
13808 break;
13809 }
13810 case AArch64::FCMPDri:
13811 case AArch64::FCMPEDri:
13812 case AArch64::FCMPEHri:
13813 case AArch64::FCMPESri:
13814 case AArch64::FCMPHri:
13815 case AArch64::FCMPSri: {
13816 // op: Rn
13817 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13818 Value |= (op & 0x1f) << 5;
13819 Value = fixOneOperandFPComparison(MI, EncodedValue: Value, STI);
13820 break;
13821 }
13822 case AArch64::LDR_TX:
13823 case AArch64::STR_TX: {
13824 // op: Rn
13825 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13826 Value |= (op & 0x1f) << 5;
13827 break;
13828 }
13829 case AArch64::LDAPRB:
13830 case AArch64::LDAPRH:
13831 case AArch64::LDAPRW:
13832 case AArch64::LDAPRX:
13833 case AArch64::LDGM:
13834 case AArch64::STGM:
13835 case AArch64::STZGM: {
13836 // op: Rn
13837 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13838 Value |= (op & 0x1f) << 5;
13839 // op: Rt
13840 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13841 Value |= (op & 0x1f);
13842 break;
13843 }
13844 case AArch64::ST2Gi:
13845 case AArch64::STGi:
13846 case AArch64::STZ2Gi:
13847 case AArch64::STZGi: {
13848 // op: Rn
13849 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13850 Value |= (op & 0x1f) << 5;
13851 // op: Rt
13852 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13853 Value |= (op & 0x1f);
13854 // op: offset
13855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13856 Value |= (op & 0x1ff) << 12;
13857 break;
13858 }
13859 case AArch64::DUP_ZR_B:
13860 case AArch64::DUP_ZR_D:
13861 case AArch64::DUP_ZR_H:
13862 case AArch64::DUP_ZR_S: {
13863 // op: Rn
13864 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13865 Value |= (op & 0x1f) << 5;
13866 // op: Zd
13867 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13868 Value |= (op & 0x1f);
13869 break;
13870 }
13871 case AArch64::INDEX_RI_B:
13872 case AArch64::INDEX_RI_D:
13873 case AArch64::INDEX_RI_H:
13874 case AArch64::INDEX_RI_S: {
13875 // op: Rn
13876 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13877 Value |= (op & 0x1f) << 5;
13878 // op: Zd
13879 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13880 Value |= (op & 0x1f);
13881 // op: imm5
13882 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13883 Value |= (op & 0x1f) << 16;
13884 break;
13885 }
13886 case AArch64::LDR_ZXI:
13887 case AArch64::STR_ZXI: {
13888 // op: Rn
13889 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13890 Value |= (op & 0x1f) << 5;
13891 // op: Zt
13892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13893 Value |= (op & 0x1f);
13894 // op: imm9
13895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13896 Value |= (op & 0x1f8) << 13;
13897 Value |= (op & 0x7) << 10;
13898 break;
13899 }
13900 case AArch64::PRFB_PRI:
13901 case AArch64::PRFD_PRI:
13902 case AArch64::PRFH_PRI:
13903 case AArch64::PRFW_PRI: {
13904 // op: Rn
13905 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13906 Value |= (op & 0x1f) << 5;
13907 // op: Pg
13908 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13909 Value |= (op & 0x7) << 10;
13910 // op: imm6
13911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13912 Value |= (op & 0x3f) << 16;
13913 // op: prfop
13914 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13915 Value |= (op & 0xf);
13916 break;
13917 }
13918 case AArch64::LDG:
13919 case AArch64::ST2GPostIndex:
13920 case AArch64::ST2GPreIndex:
13921 case AArch64::STGPostIndex:
13922 case AArch64::STGPreIndex:
13923 case AArch64::STZ2GPostIndex:
13924 case AArch64::STZ2GPreIndex:
13925 case AArch64::STZGPostIndex:
13926 case AArch64::STZGPreIndex: {
13927 // op: Rn
13928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13929 Value |= (op & 0x1f) << 5;
13930 // op: Rt
13931 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13932 Value |= (op & 0x1f);
13933 // op: offset
13934 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13935 Value |= (op & 0x1ff) << 12;
13936 break;
13937 }
13938 case AArch64::MOVA_MXI2Z_H_H:
13939 case AArch64::MOVA_MXI2Z_V_H: {
13940 // op: Rs
13941 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13942 Value |= (op & 0x3) << 13;
13943 // op: Zn
13944 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13945 Value |= (op & 0xf) << 6;
13946 // op: ZAd
13947 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13948 Value |= (op & 0x1) << 2;
13949 // op: imm
13950 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13951 Value |= (op & 0x3);
13952 break;
13953 }
13954 case AArch64::MOVA_MXI2Z_H_S:
13955 case AArch64::MOVA_MXI2Z_V_S: {
13956 // op: Rs
13957 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13958 Value |= (op & 0x3) << 13;
13959 // op: Zn
13960 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13961 Value |= (op & 0xf) << 6;
13962 // op: ZAd
13963 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13964 Value |= (op & 0x3) << 1;
13965 // op: imm
13966 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13967 Value |= (op & 0x1);
13968 break;
13969 }
13970 case AArch64::MOVA_MXI2Z_H_D:
13971 case AArch64::MOVA_MXI2Z_V_D: {
13972 // op: Rs
13973 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13974 Value |= (op & 0x3) << 13;
13975 // op: Zn
13976 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13977 Value |= (op & 0xf) << 6;
13978 // op: ZAd
13979 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13980 Value |= (op & 0x7);
13981 break;
13982 }
13983 case AArch64::MOVA_MXI2Z_H_B:
13984 case AArch64::MOVA_MXI2Z_V_B: {
13985 // op: Rs
13986 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13987 Value |= (op & 0x3) << 13;
13988 // op: Zn
13989 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13990 Value |= (op & 0xf) << 6;
13991 // op: imm
13992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13993 Value |= (op & 0x7);
13994 break;
13995 }
13996 case AArch64::MOVA_MXI4Z_H_H:
13997 case AArch64::MOVA_MXI4Z_V_H: {
13998 // op: Rs
13999 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
14000 Value |= (op & 0x3) << 13;
14001 // op: Zn
14002 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14003 Value |= (op & 0x7) << 7;
14004 // op: ZAd
14005 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14006 Value |= (op & 0x1) << 1;
14007 // op: imm
14008 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14009 Value |= (op & 0x1);
14010 break;
14011 }
14012 case AArch64::MOVA_MXI4Z_H_S:
14013 case AArch64::MOVA_MXI4Z_V_S: {
14014 // op: Rs
14015 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
14016 Value |= (op & 0x3) << 13;
14017 // op: Zn
14018 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14019 Value |= (op & 0x7) << 7;
14020 // op: ZAd
14021 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14022 Value |= (op & 0x3);
14023 break;
14024 }
14025 case AArch64::MOVA_MXI4Z_H_D:
14026 case AArch64::MOVA_MXI4Z_V_D: {
14027 // op: Rs
14028 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
14029 Value |= (op & 0x3) << 13;
14030 // op: Zn
14031 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14032 Value |= (op & 0x7) << 7;
14033 // op: ZAd
14034 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14035 Value |= (op & 0x7);
14036 break;
14037 }
14038 case AArch64::MOVA_MXI4Z_H_B:
14039 case AArch64::MOVA_MXI4Z_V_B: {
14040 // op: Rs
14041 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
14042 Value |= (op & 0x3) << 13;
14043 // op: Zn
14044 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14045 Value |= (op & 0x7) << 7;
14046 // op: imm
14047 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14048 Value |= (op & 0x3);
14049 break;
14050 }
14051 case AArch64::MOVAZ_ZMI_H_H:
14052 case AArch64::MOVAZ_ZMI_V_H: {
14053 // op: Rs
14054 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14055 Value |= (op & 0x3) << 13;
14056 // op: Zd
14057 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14058 Value |= (op & 0x1f);
14059 // op: ZAn
14060 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14061 Value |= (op & 0x1) << 8;
14062 // op: imm
14063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14064 Value |= (op & 0x7) << 5;
14065 break;
14066 }
14067 case AArch64::MOVAZ_ZMI_H_S:
14068 case AArch64::MOVAZ_ZMI_V_S: {
14069 // op: Rs
14070 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14071 Value |= (op & 0x3) << 13;
14072 // op: Zd
14073 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14074 Value |= (op & 0x1f);
14075 // op: ZAn
14076 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14077 Value |= (op & 0x3) << 7;
14078 // op: imm
14079 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14080 Value |= (op & 0x3) << 5;
14081 break;
14082 }
14083 case AArch64::MOVAZ_ZMI_H_D:
14084 case AArch64::MOVAZ_ZMI_V_D: {
14085 // op: Rs
14086 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14087 Value |= (op & 0x3) << 13;
14088 // op: Zd
14089 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14090 Value |= (op & 0x1f);
14091 // op: ZAn
14092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14093 Value |= (op & 0x7) << 6;
14094 // op: imm
14095 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14096 Value |= (op & 0x1) << 5;
14097 break;
14098 }
14099 case AArch64::MOVAZ_ZMI_H_Q:
14100 case AArch64::MOVAZ_ZMI_V_Q: {
14101 // op: Rs
14102 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14103 Value |= (op & 0x3) << 13;
14104 // op: Zd
14105 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14106 Value |= (op & 0x1f);
14107 // op: ZAn
14108 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14109 Value |= (op & 0xf) << 5;
14110 break;
14111 }
14112 case AArch64::MOVAZ_ZMI_H_B:
14113 case AArch64::MOVAZ_ZMI_V_B: {
14114 // op: Rs
14115 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14116 Value |= (op & 0x3) << 13;
14117 // op: Zd
14118 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14119 Value |= (op & 0x1f);
14120 // op: imm
14121 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14122 Value |= (op & 0xf) << 5;
14123 break;
14124 }
14125 case AArch64::MOVA_VG2_2ZMXI: {
14126 // op: Rs
14127 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14128 Value |= (op & 0x3) << 13;
14129 // op: imm
14130 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14131 Value |= (op & 0x7) << 5;
14132 // op: Zd
14133 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
14134 Value |= (op & 0xf) << 1;
14135 break;
14136 }
14137 case AArch64::MOVA_VG4_4ZMXI: {
14138 // op: Rs
14139 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14140 Value |= (op & 0x3) << 13;
14141 // op: imm
14142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14143 Value |= (op & 0x7) << 5;
14144 // op: Zd
14145 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
14146 Value |= (op & 0x7) << 2;
14147 break;
14148 }
14149 case AArch64::MOVA_VG2_MXI2Z: {
14150 // op: Rs
14151 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14152 Value |= (op & 0x3) << 13;
14153 // op: imm
14154 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14155 Value |= (op & 0x7);
14156 // op: Zn
14157 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
14158 Value |= (op & 0xf) << 6;
14159 break;
14160 }
14161 case AArch64::MOVA_VG4_MXI4Z: {
14162 // op: Rs
14163 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14164 Value |= (op & 0x3) << 13;
14165 // op: imm
14166 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14167 Value |= (op & 0x7);
14168 // op: Zn
14169 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14170 Value |= (op & 0x7) << 7;
14171 break;
14172 }
14173 case AArch64::MOVAZ_VG2_2ZMXI: {
14174 // op: Rs
14175 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 3, Fixups, STI);
14176 Value |= (op & 0x3) << 13;
14177 // op: imm
14178 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14179 Value |= (op & 0x7) << 5;
14180 // op: Zd
14181 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
14182 Value |= (op & 0xf) << 1;
14183 break;
14184 }
14185 case AArch64::MOVAZ_VG4_4ZMXI: {
14186 // op: Rs
14187 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 3, Fixups, STI);
14188 Value |= (op & 0x3) << 13;
14189 // op: imm
14190 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14191 Value |= (op & 0x7) << 5;
14192 // op: Zd
14193 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
14194 Value |= (op & 0x7) << 2;
14195 break;
14196 }
14197 case AArch64::STBFADD:
14198 case AArch64::STBFADDL:
14199 case AArch64::STBFMAX:
14200 case AArch64::STBFMAXL:
14201 case AArch64::STBFMAXNM:
14202 case AArch64::STBFMAXNML:
14203 case AArch64::STBFMIN:
14204 case AArch64::STBFMINL:
14205 case AArch64::STBFMINNM:
14206 case AArch64::STBFMINNML:
14207 case AArch64::STFADDD:
14208 case AArch64::STFADDH:
14209 case AArch64::STFADDLD:
14210 case AArch64::STFADDLH:
14211 case AArch64::STFADDLS:
14212 case AArch64::STFADDS:
14213 case AArch64::STFMAXD:
14214 case AArch64::STFMAXH:
14215 case AArch64::STFMAXLD:
14216 case AArch64::STFMAXLH:
14217 case AArch64::STFMAXLS:
14218 case AArch64::STFMAXNMD:
14219 case AArch64::STFMAXNMH:
14220 case AArch64::STFMAXNMLD:
14221 case AArch64::STFMAXNMLH:
14222 case AArch64::STFMAXNMLS:
14223 case AArch64::STFMAXNMS:
14224 case AArch64::STFMAXS:
14225 case AArch64::STFMIND:
14226 case AArch64::STFMINH:
14227 case AArch64::STFMINLD:
14228 case AArch64::STFMINLH:
14229 case AArch64::STFMINLS:
14230 case AArch64::STFMINNMD:
14231 case AArch64::STFMINNMH:
14232 case AArch64::STFMINNMLD:
14233 case AArch64::STFMINNMLH:
14234 case AArch64::STFMINNMLS:
14235 case AArch64::STFMINNMS:
14236 case AArch64::STFMINS: {
14237 // op: Rs
14238 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14239 Value |= (op & 0x1f) << 16;
14240 // op: Rn
14241 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14242 Value |= (op & 0x1f) << 5;
14243 break;
14244 }
14245 case AArch64::LDADDAB:
14246 case AArch64::LDADDAH:
14247 case AArch64::LDADDALB:
14248 case AArch64::LDADDALH:
14249 case AArch64::LDADDALW:
14250 case AArch64::LDADDALX:
14251 case AArch64::LDADDAW:
14252 case AArch64::LDADDAX:
14253 case AArch64::LDADDB:
14254 case AArch64::LDADDH:
14255 case AArch64::LDADDLB:
14256 case AArch64::LDADDLH:
14257 case AArch64::LDADDLW:
14258 case AArch64::LDADDLX:
14259 case AArch64::LDADDW:
14260 case AArch64::LDADDX:
14261 case AArch64::LDCLRAB:
14262 case AArch64::LDCLRAH:
14263 case AArch64::LDCLRALB:
14264 case AArch64::LDCLRALH:
14265 case AArch64::LDCLRALW:
14266 case AArch64::LDCLRALX:
14267 case AArch64::LDCLRAW:
14268 case AArch64::LDCLRAX:
14269 case AArch64::LDCLRB:
14270 case AArch64::LDCLRH:
14271 case AArch64::LDCLRLB:
14272 case AArch64::LDCLRLH:
14273 case AArch64::LDCLRLW:
14274 case AArch64::LDCLRLX:
14275 case AArch64::LDCLRW:
14276 case AArch64::LDCLRX:
14277 case AArch64::LDEORAB:
14278 case AArch64::LDEORAH:
14279 case AArch64::LDEORALB:
14280 case AArch64::LDEORALH:
14281 case AArch64::LDEORALW:
14282 case AArch64::LDEORALX:
14283 case AArch64::LDEORAW:
14284 case AArch64::LDEORAX:
14285 case AArch64::LDEORB:
14286 case AArch64::LDEORH:
14287 case AArch64::LDEORLB:
14288 case AArch64::LDEORLH:
14289 case AArch64::LDEORLW:
14290 case AArch64::LDEORLX:
14291 case AArch64::LDEORW:
14292 case AArch64::LDEORX:
14293 case AArch64::LDSETAB:
14294 case AArch64::LDSETAH:
14295 case AArch64::LDSETALB:
14296 case AArch64::LDSETALH:
14297 case AArch64::LDSETALW:
14298 case AArch64::LDSETALX:
14299 case AArch64::LDSETAW:
14300 case AArch64::LDSETAX:
14301 case AArch64::LDSETB:
14302 case AArch64::LDSETH:
14303 case AArch64::LDSETLB:
14304 case AArch64::LDSETLH:
14305 case AArch64::LDSETLW:
14306 case AArch64::LDSETLX:
14307 case AArch64::LDSETW:
14308 case AArch64::LDSETX:
14309 case AArch64::LDSMAXAB:
14310 case AArch64::LDSMAXAH:
14311 case AArch64::LDSMAXALB:
14312 case AArch64::LDSMAXALH:
14313 case AArch64::LDSMAXALW:
14314 case AArch64::LDSMAXALX:
14315 case AArch64::LDSMAXAW:
14316 case AArch64::LDSMAXAX:
14317 case AArch64::LDSMAXB:
14318 case AArch64::LDSMAXH:
14319 case AArch64::LDSMAXLB:
14320 case AArch64::LDSMAXLH:
14321 case AArch64::LDSMAXLW:
14322 case AArch64::LDSMAXLX:
14323 case AArch64::LDSMAXW:
14324 case AArch64::LDSMAXX:
14325 case AArch64::LDSMINAB:
14326 case AArch64::LDSMINAH:
14327 case AArch64::LDSMINALB:
14328 case AArch64::LDSMINALH:
14329 case AArch64::LDSMINALW:
14330 case AArch64::LDSMINALX:
14331 case AArch64::LDSMINAW:
14332 case AArch64::LDSMINAX:
14333 case AArch64::LDSMINB:
14334 case AArch64::LDSMINH:
14335 case AArch64::LDSMINLB:
14336 case AArch64::LDSMINLH:
14337 case AArch64::LDSMINLW:
14338 case AArch64::LDSMINLX:
14339 case AArch64::LDSMINW:
14340 case AArch64::LDSMINX:
14341 case AArch64::LDTADDALW:
14342 case AArch64::LDTADDALX:
14343 case AArch64::LDTADDAW:
14344 case AArch64::LDTADDAX:
14345 case AArch64::LDTADDLW:
14346 case AArch64::LDTADDLX:
14347 case AArch64::LDTADDW:
14348 case AArch64::LDTADDX:
14349 case AArch64::LDTCLRALW:
14350 case AArch64::LDTCLRALX:
14351 case AArch64::LDTCLRAW:
14352 case AArch64::LDTCLRAX:
14353 case AArch64::LDTCLRLW:
14354 case AArch64::LDTCLRLX:
14355 case AArch64::LDTCLRW:
14356 case AArch64::LDTCLRX:
14357 case AArch64::LDTSETALW:
14358 case AArch64::LDTSETALX:
14359 case AArch64::LDTSETAW:
14360 case AArch64::LDTSETAX:
14361 case AArch64::LDTSETLW:
14362 case AArch64::LDTSETLX:
14363 case AArch64::LDTSETW:
14364 case AArch64::LDTSETX:
14365 case AArch64::LDUMAXAB:
14366 case AArch64::LDUMAXAH:
14367 case AArch64::LDUMAXALB:
14368 case AArch64::LDUMAXALH:
14369 case AArch64::LDUMAXALW:
14370 case AArch64::LDUMAXALX:
14371 case AArch64::LDUMAXAW:
14372 case AArch64::LDUMAXAX:
14373 case AArch64::LDUMAXB:
14374 case AArch64::LDUMAXH:
14375 case AArch64::LDUMAXLB:
14376 case AArch64::LDUMAXLH:
14377 case AArch64::LDUMAXLW:
14378 case AArch64::LDUMAXLX:
14379 case AArch64::LDUMAXW:
14380 case AArch64::LDUMAXX:
14381 case AArch64::LDUMINAB:
14382 case AArch64::LDUMINAH:
14383 case AArch64::LDUMINALB:
14384 case AArch64::LDUMINALH:
14385 case AArch64::LDUMINALW:
14386 case AArch64::LDUMINALX:
14387 case AArch64::LDUMINAW:
14388 case AArch64::LDUMINAX:
14389 case AArch64::LDUMINB:
14390 case AArch64::LDUMINH:
14391 case AArch64::LDUMINLB:
14392 case AArch64::LDUMINLH:
14393 case AArch64::LDUMINLW:
14394 case AArch64::LDUMINLX:
14395 case AArch64::LDUMINW:
14396 case AArch64::LDUMINX:
14397 case AArch64::RCWCLR:
14398 case AArch64::RCWCLRA:
14399 case AArch64::RCWCLRAL:
14400 case AArch64::RCWCLRL:
14401 case AArch64::RCWCLRS:
14402 case AArch64::RCWCLRSA:
14403 case AArch64::RCWCLRSAL:
14404 case AArch64::RCWCLRSL:
14405 case AArch64::RCWSET:
14406 case AArch64::RCWSETA:
14407 case AArch64::RCWSETAL:
14408 case AArch64::RCWSETL:
14409 case AArch64::RCWSETS:
14410 case AArch64::RCWSETSA:
14411 case AArch64::RCWSETSAL:
14412 case AArch64::RCWSETSL:
14413 case AArch64::RCWSWP:
14414 case AArch64::RCWSWPA:
14415 case AArch64::RCWSWPAL:
14416 case AArch64::RCWSWPL:
14417 case AArch64::RCWSWPS:
14418 case AArch64::RCWSWPSA:
14419 case AArch64::RCWSWPSAL:
14420 case AArch64::RCWSWPSL:
14421 case AArch64::SWPAB:
14422 case AArch64::SWPAH:
14423 case AArch64::SWPALB:
14424 case AArch64::SWPALH:
14425 case AArch64::SWPALW:
14426 case AArch64::SWPALX:
14427 case AArch64::SWPAW:
14428 case AArch64::SWPAX:
14429 case AArch64::SWPB:
14430 case AArch64::SWPH:
14431 case AArch64::SWPLB:
14432 case AArch64::SWPLH:
14433 case AArch64::SWPLW:
14434 case AArch64::SWPLX:
14435 case AArch64::SWPTALW:
14436 case AArch64::SWPTALX:
14437 case AArch64::SWPTAW:
14438 case AArch64::SWPTAX:
14439 case AArch64::SWPTLW:
14440 case AArch64::SWPTLX:
14441 case AArch64::SWPTW:
14442 case AArch64::SWPTX:
14443 case AArch64::SWPW:
14444 case AArch64::SWPX: {
14445 // op: Rs
14446 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14447 Value |= (op & 0x1f) << 16;
14448 // op: Rn
14449 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14450 Value |= (op & 0x1f) << 5;
14451 // op: Rt
14452 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14453 Value |= (op & 0x1f);
14454 break;
14455 }
14456 case AArch64::CASAB:
14457 case AArch64::CASAH:
14458 case AArch64::CASALB:
14459 case AArch64::CASALH:
14460 case AArch64::CASALTX:
14461 case AArch64::CASALW:
14462 case AArch64::CASALX:
14463 case AArch64::CASATX:
14464 case AArch64::CASAW:
14465 case AArch64::CASAX:
14466 case AArch64::CASB:
14467 case AArch64::CASH:
14468 case AArch64::CASLB:
14469 case AArch64::CASLH:
14470 case AArch64::CASLTX:
14471 case AArch64::CASLW:
14472 case AArch64::CASLX:
14473 case AArch64::CASPALTX:
14474 case AArch64::CASPALW:
14475 case AArch64::CASPALX:
14476 case AArch64::CASPATX:
14477 case AArch64::CASPAW:
14478 case AArch64::CASPAX:
14479 case AArch64::CASPLTX:
14480 case AArch64::CASPLW:
14481 case AArch64::CASPLX:
14482 case AArch64::CASPTX:
14483 case AArch64::CASPW:
14484 case AArch64::CASPX:
14485 case AArch64::CASTX:
14486 case AArch64::CASW:
14487 case AArch64::CASX:
14488 case AArch64::RCWCAS:
14489 case AArch64::RCWCASA:
14490 case AArch64::RCWCASAL:
14491 case AArch64::RCWCASL:
14492 case AArch64::RCWCASP:
14493 case AArch64::RCWCASPA:
14494 case AArch64::RCWCASPAL:
14495 case AArch64::RCWCASPL:
14496 case AArch64::RCWSCAS:
14497 case AArch64::RCWSCASA:
14498 case AArch64::RCWSCASAL:
14499 case AArch64::RCWSCASL:
14500 case AArch64::RCWSCASP:
14501 case AArch64::RCWSCASPA:
14502 case AArch64::RCWSCASPAL:
14503 case AArch64::RCWSCASPL: {
14504 // op: Rs
14505 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14506 Value |= (op & 0x1f) << 16;
14507 // op: Rn
14508 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14509 Value |= (op & 0x1f) << 5;
14510 // op: Rt
14511 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14512 Value |= (op & 0x1f);
14513 break;
14514 }
14515 case AArch64::GCSPOPM:
14516 case AArch64::GCSPUSHM:
14517 case AArch64::GCSSS1:
14518 case AArch64::GCSSS2:
14519 case AArch64::WFET:
14520 case AArch64::WFIT: {
14521 // op: Rt
14522 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14523 Value |= (op & 0x1f);
14524 break;
14525 }
14526 case AArch64::GCSSTR:
14527 case AArch64::GCSSTTR:
14528 case AArch64::LD64B:
14529 case AArch64::LDA64B:
14530 case AArch64::ST64B:
14531 case AArch64::STL64B: {
14532 // op: Rt
14533 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14534 Value |= (op & 0x1f);
14535 // op: Rn
14536 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14537 Value |= (op & 0x1f) << 5;
14538 break;
14539 }
14540 case AArch64::LDRBBroW:
14541 case AArch64::LDRBBroX:
14542 case AArch64::LDRBroW:
14543 case AArch64::LDRBroX:
14544 case AArch64::LDRDroW:
14545 case AArch64::LDRDroX:
14546 case AArch64::LDRHHroW:
14547 case AArch64::LDRHHroX:
14548 case AArch64::LDRHroW:
14549 case AArch64::LDRHroX:
14550 case AArch64::LDRQroW:
14551 case AArch64::LDRQroX:
14552 case AArch64::LDRSBWroW:
14553 case AArch64::LDRSBWroX:
14554 case AArch64::LDRSBXroW:
14555 case AArch64::LDRSBXroX:
14556 case AArch64::LDRSHWroW:
14557 case AArch64::LDRSHWroX:
14558 case AArch64::LDRSHXroW:
14559 case AArch64::LDRSHXroX:
14560 case AArch64::LDRSWroW:
14561 case AArch64::LDRSWroX:
14562 case AArch64::LDRSroW:
14563 case AArch64::LDRSroX:
14564 case AArch64::LDRWroW:
14565 case AArch64::LDRWroX:
14566 case AArch64::LDRXroW:
14567 case AArch64::LDRXroX:
14568 case AArch64::PRFMroW:
14569 case AArch64::PRFMroX:
14570 case AArch64::STRBBroW:
14571 case AArch64::STRBBroX:
14572 case AArch64::STRBroW:
14573 case AArch64::STRBroX:
14574 case AArch64::STRDroW:
14575 case AArch64::STRDroX:
14576 case AArch64::STRHHroW:
14577 case AArch64::STRHHroX:
14578 case AArch64::STRHroW:
14579 case AArch64::STRHroX:
14580 case AArch64::STRQroW:
14581 case AArch64::STRQroX:
14582 case AArch64::STRSroW:
14583 case AArch64::STRSroX:
14584 case AArch64::STRWroW:
14585 case AArch64::STRWroX:
14586 case AArch64::STRXroW:
14587 case AArch64::STRXroX: {
14588 // op: Rt
14589 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14590 Value |= (op & 0x1f);
14591 // op: Rn
14592 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14593 Value |= (op & 0x1f) << 5;
14594 // op: Rm
14595 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14596 Value |= (op & 0x1f) << 16;
14597 // op: extend
14598 op = getMemExtendOpValue(MI, OpIdx: 3, Fixups, STI);
14599 Value |= (op & 0x2) << 14;
14600 Value |= (op & 0x1) << 12;
14601 break;
14602 }
14603 case AArch64::LDRQui:
14604 case AArch64::STRQui: {
14605 // op: Rt
14606 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14607 Value |= (op & 0x1f);
14608 // op: Rn
14609 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14610 Value |= (op & 0x1f) << 5;
14611 // op: offset
14612 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale16>(MI, OpIdx: 2, Fixups, STI);
14613 Value |= (op & 0xfff) << 10;
14614 break;
14615 }
14616 case AArch64::LDRBBui:
14617 case AArch64::LDRBui:
14618 case AArch64::LDRSBWui:
14619 case AArch64::LDRSBXui:
14620 case AArch64::STRBBui:
14621 case AArch64::STRBui: {
14622 // op: Rt
14623 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14624 Value |= (op & 0x1f);
14625 // op: Rn
14626 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14627 Value |= (op & 0x1f) << 5;
14628 // op: offset
14629 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale1>(MI, OpIdx: 2, Fixups, STI);
14630 Value |= (op & 0xfff) << 10;
14631 break;
14632 }
14633 case AArch64::LDRHHui:
14634 case AArch64::LDRHui:
14635 case AArch64::LDRSHWui:
14636 case AArch64::LDRSHXui:
14637 case AArch64::STRHHui:
14638 case AArch64::STRHui: {
14639 // op: Rt
14640 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14641 Value |= (op & 0x1f);
14642 // op: Rn
14643 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14644 Value |= (op & 0x1f) << 5;
14645 // op: offset
14646 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale2>(MI, OpIdx: 2, Fixups, STI);
14647 Value |= (op & 0xfff) << 10;
14648 break;
14649 }
14650 case AArch64::LDRSWui:
14651 case AArch64::LDRSui:
14652 case AArch64::LDRWui:
14653 case AArch64::STRSui:
14654 case AArch64::STRWui: {
14655 // op: Rt
14656 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14657 Value |= (op & 0x1f);
14658 // op: Rn
14659 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14660 Value |= (op & 0x1f) << 5;
14661 // op: offset
14662 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale4>(MI, OpIdx: 2, Fixups, STI);
14663 Value |= (op & 0xfff) << 10;
14664 break;
14665 }
14666 case AArch64::LDRDui:
14667 case AArch64::LDRXui:
14668 case AArch64::PRFMui:
14669 case AArch64::STRDui:
14670 case AArch64::STRXui: {
14671 // op: Rt
14672 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14673 Value |= (op & 0x1f);
14674 // op: Rn
14675 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14676 Value |= (op & 0x1f) << 5;
14677 // op: offset
14678 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale8>(MI, OpIdx: 2, Fixups, STI);
14679 Value |= (op & 0xfff) << 10;
14680 break;
14681 }
14682 case AArch64::LDAPURBi:
14683 case AArch64::LDAPURHi:
14684 case AArch64::LDAPURSBWi:
14685 case AArch64::LDAPURSBXi:
14686 case AArch64::LDAPURSHWi:
14687 case AArch64::LDAPURSHXi:
14688 case AArch64::LDAPURSWi:
14689 case AArch64::LDAPURXi:
14690 case AArch64::LDAPURi:
14691 case AArch64::LDTRBi:
14692 case AArch64::LDTRHi:
14693 case AArch64::LDTRSBWi:
14694 case AArch64::LDTRSBXi:
14695 case AArch64::LDTRSHWi:
14696 case AArch64::LDTRSHXi:
14697 case AArch64::LDTRSWi:
14698 case AArch64::LDTRWi:
14699 case AArch64::LDTRXi:
14700 case AArch64::LDURBBi:
14701 case AArch64::LDURBi:
14702 case AArch64::LDURDi:
14703 case AArch64::LDURHHi:
14704 case AArch64::LDURHi:
14705 case AArch64::LDURQi:
14706 case AArch64::LDURSBWi:
14707 case AArch64::LDURSBXi:
14708 case AArch64::LDURSHWi:
14709 case AArch64::LDURSHXi:
14710 case AArch64::LDURSWi:
14711 case AArch64::LDURSi:
14712 case AArch64::LDURWi:
14713 case AArch64::LDURXi:
14714 case AArch64::PRFUMi:
14715 case AArch64::STLURBi:
14716 case AArch64::STLURHi:
14717 case AArch64::STLURWi:
14718 case AArch64::STLURXi:
14719 case AArch64::STTRBi:
14720 case AArch64::STTRHi:
14721 case AArch64::STTRWi:
14722 case AArch64::STTRXi:
14723 case AArch64::STURBBi:
14724 case AArch64::STURBi:
14725 case AArch64::STURDi:
14726 case AArch64::STURHHi:
14727 case AArch64::STURHi:
14728 case AArch64::STURQi:
14729 case AArch64::STURSi:
14730 case AArch64::STURWi:
14731 case AArch64::STURXi: {
14732 // op: Rt
14733 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14734 Value |= (op & 0x1f);
14735 // op: Rn
14736 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14737 Value |= (op & 0x1f) << 5;
14738 // op: offset
14739 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14740 Value |= (op & 0x1ff) << 12;
14741 break;
14742 }
14743 case AArch64::LDAPURbi:
14744 case AArch64::LDAPURdi:
14745 case AArch64::LDAPURhi:
14746 case AArch64::LDAPURqi:
14747 case AArch64::LDAPURsi:
14748 case AArch64::STLURbi:
14749 case AArch64::STLURdi:
14750 case AArch64::STLURhi:
14751 case AArch64::STLURqi:
14752 case AArch64::STLURsi: {
14753 // op: Rt
14754 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14755 Value |= (op & 0x1f);
14756 // op: Rn
14757 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14758 Value |= (op & 0x1f) << 5;
14759 // op: simm
14760 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14761 Value |= (op & 0x1ff) << 12;
14762 break;
14763 }
14764 case AArch64::LDARB:
14765 case AArch64::LDARH:
14766 case AArch64::LDARW:
14767 case AArch64::LDARX:
14768 case AArch64::LDATXRW:
14769 case AArch64::LDATXRX:
14770 case AArch64::LDAXRB:
14771 case AArch64::LDAXRH:
14772 case AArch64::LDAXRW:
14773 case AArch64::LDAXRX:
14774 case AArch64::LDLARB:
14775 case AArch64::LDLARH:
14776 case AArch64::LDLARW:
14777 case AArch64::LDLARX:
14778 case AArch64::LDTXRWr:
14779 case AArch64::LDTXRXr:
14780 case AArch64::LDXRB:
14781 case AArch64::LDXRH:
14782 case AArch64::LDXRW:
14783 case AArch64::LDXRX:
14784 case AArch64::STLLRB:
14785 case AArch64::STLLRH:
14786 case AArch64::STLLRW:
14787 case AArch64::STLLRX:
14788 case AArch64::STLRB:
14789 case AArch64::STLRH:
14790 case AArch64::STLRW:
14791 case AArch64::STLRX: {
14792 // op: Rt
14793 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14794 Value |= (op & 0x1f);
14795 // op: Rn
14796 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14797 Value |= (op & 0x1f) << 5;
14798 Value = fixLoadStoreExclusive<0,0>(MI, EncodedValue: Value, STI);
14799 break;
14800 }
14801 case AArch64::LDIAPPW:
14802 case AArch64::LDIAPPX:
14803 case AArch64::STILPW:
14804 case AArch64::STILPX: {
14805 // op: Rt
14806 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14807 Value |= (op & 0x1f);
14808 // op: Rn
14809 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14810 Value |= (op & 0x1f) << 5;
14811 // op: Rt2
14812 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14813 Value |= (op & 0x1f) << 16;
14814 break;
14815 }
14816 case AArch64::LDBFADD:
14817 case AArch64::LDBFADDA:
14818 case AArch64::LDBFADDAL:
14819 case AArch64::LDBFADDL:
14820 case AArch64::LDBFMAX:
14821 case AArch64::LDBFMAXA:
14822 case AArch64::LDBFMAXAL:
14823 case AArch64::LDBFMAXL:
14824 case AArch64::LDBFMAXNM:
14825 case AArch64::LDBFMAXNMA:
14826 case AArch64::LDBFMAXNMAL:
14827 case AArch64::LDBFMAXNML:
14828 case AArch64::LDBFMIN:
14829 case AArch64::LDBFMINA:
14830 case AArch64::LDBFMINAL:
14831 case AArch64::LDBFMINL:
14832 case AArch64::LDBFMINNM:
14833 case AArch64::LDBFMINNMA:
14834 case AArch64::LDBFMINNMAL:
14835 case AArch64::LDBFMINNML:
14836 case AArch64::LDFADDAD:
14837 case AArch64::LDFADDAH:
14838 case AArch64::LDFADDALD:
14839 case AArch64::LDFADDALH:
14840 case AArch64::LDFADDALS:
14841 case AArch64::LDFADDAS:
14842 case AArch64::LDFADDD:
14843 case AArch64::LDFADDH:
14844 case AArch64::LDFADDLD:
14845 case AArch64::LDFADDLH:
14846 case AArch64::LDFADDLS:
14847 case AArch64::LDFADDS:
14848 case AArch64::LDFMAXAD:
14849 case AArch64::LDFMAXAH:
14850 case AArch64::LDFMAXALD:
14851 case AArch64::LDFMAXALH:
14852 case AArch64::LDFMAXALS:
14853 case AArch64::LDFMAXAS:
14854 case AArch64::LDFMAXD:
14855 case AArch64::LDFMAXH:
14856 case AArch64::LDFMAXLD:
14857 case AArch64::LDFMAXLH:
14858 case AArch64::LDFMAXLS:
14859 case AArch64::LDFMAXNMAD:
14860 case AArch64::LDFMAXNMAH:
14861 case AArch64::LDFMAXNMALD:
14862 case AArch64::LDFMAXNMALH:
14863 case AArch64::LDFMAXNMALS:
14864 case AArch64::LDFMAXNMAS:
14865 case AArch64::LDFMAXNMD:
14866 case AArch64::LDFMAXNMH:
14867 case AArch64::LDFMAXNMLD:
14868 case AArch64::LDFMAXNMLH:
14869 case AArch64::LDFMAXNMLS:
14870 case AArch64::LDFMAXNMS:
14871 case AArch64::LDFMAXS:
14872 case AArch64::LDFMINAD:
14873 case AArch64::LDFMINAH:
14874 case AArch64::LDFMINALD:
14875 case AArch64::LDFMINALH:
14876 case AArch64::LDFMINALS:
14877 case AArch64::LDFMINAS:
14878 case AArch64::LDFMIND:
14879 case AArch64::LDFMINH:
14880 case AArch64::LDFMINLD:
14881 case AArch64::LDFMINLH:
14882 case AArch64::LDFMINLS:
14883 case AArch64::LDFMINNMAD:
14884 case AArch64::LDFMINNMAH:
14885 case AArch64::LDFMINNMALD:
14886 case AArch64::LDFMINNMALH:
14887 case AArch64::LDFMINNMALS:
14888 case AArch64::LDFMINNMAS:
14889 case AArch64::LDFMINNMD:
14890 case AArch64::LDFMINNMH:
14891 case AArch64::LDFMINNMLD:
14892 case AArch64::LDFMINNMLH:
14893 case AArch64::LDFMINNMLS:
14894 case AArch64::LDFMINNMS:
14895 case AArch64::LDFMINS: {
14896 // op: Rt
14897 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14898 Value |= (op & 0x1f);
14899 // op: Rs
14900 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14901 Value |= (op & 0x1f) << 16;
14902 // op: Rn
14903 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14904 Value |= (op & 0x1f) << 5;
14905 break;
14906 }
14907 case AArch64::LDNPDi:
14908 case AArch64::LDNPQi:
14909 case AArch64::LDNPSi:
14910 case AArch64::LDNPWi:
14911 case AArch64::LDNPXi:
14912 case AArch64::LDPDi:
14913 case AArch64::LDPQi:
14914 case AArch64::LDPSWi:
14915 case AArch64::LDPSi:
14916 case AArch64::LDPWi:
14917 case AArch64::LDPXi:
14918 case AArch64::LDTNPQi:
14919 case AArch64::LDTNPXi:
14920 case AArch64::LDTPQi:
14921 case AArch64::LDTPi:
14922 case AArch64::STGPi:
14923 case AArch64::STNPDi:
14924 case AArch64::STNPQi:
14925 case AArch64::STNPSi:
14926 case AArch64::STNPWi:
14927 case AArch64::STNPXi:
14928 case AArch64::STPDi:
14929 case AArch64::STPQi:
14930 case AArch64::STPSi:
14931 case AArch64::STPWi:
14932 case AArch64::STPXi:
14933 case AArch64::STTNPQi:
14934 case AArch64::STTNPXi:
14935 case AArch64::STTPQi:
14936 case AArch64::STTPi: {
14937 // op: Rt
14938 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14939 Value |= (op & 0x1f);
14940 // op: Rt2
14941 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14942 Value |= (op & 0x1f) << 10;
14943 // op: Rn
14944 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14945 Value |= (op & 0x1f) << 5;
14946 // op: offset
14947 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14948 Value |= (op & 0x7f) << 15;
14949 break;
14950 }
14951 case AArch64::LDAXPW:
14952 case AArch64::LDAXPX:
14953 case AArch64::LDXPW:
14954 case AArch64::LDXPX: {
14955 // op: Rt
14956 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14957 Value |= (op & 0x1f);
14958 // op: Rt2
14959 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14960 Value |= (op & 0x1f) << 10;
14961 // op: Rn
14962 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14963 Value |= (op & 0x1f) << 5;
14964 Value = fixLoadStoreExclusive<0,1>(MI, EncodedValue: Value, STI);
14965 break;
14966 }
14967 case AArch64::LDAPPi:
14968 case AArch64::LDAPi:
14969 case AArch64::STLPi: {
14970 // op: Rt
14971 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14972 Value |= (op & 0x1f);
14973 // op: Rt2
14974 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14975 Value |= (op & 0x1f) << 16;
14976 // op: Rn
14977 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14978 Value |= (op & 0x1f) << 5;
14979 break;
14980 }
14981 case AArch64::TBNZW:
14982 case AArch64::TBNZX:
14983 case AArch64::TBZW:
14984 case AArch64::TBZX: {
14985 // op: Rt
14986 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14987 Value |= (op & 0x1f);
14988 // op: bit_off
14989 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14990 Value |= (op & 0x1f) << 19;
14991 // op: target
14992 op = getTestBranchTargetOpValue(MI, OpIdx: 2, Fixups, STI);
14993 Value |= (op & 0x3fff) << 5;
14994 break;
14995 }
14996 case AArch64::CBEQWri:
14997 case AArch64::CBEQXri:
14998 case AArch64::CBGTWri:
14999 case AArch64::CBGTXri:
15000 case AArch64::CBHIWri:
15001 case AArch64::CBHIXri:
15002 case AArch64::CBLOWri:
15003 case AArch64::CBLOXri:
15004 case AArch64::CBLTWri:
15005 case AArch64::CBLTXri:
15006 case AArch64::CBNEWri:
15007 case AArch64::CBNEXri: {
15008 // op: Rt
15009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15010 Value |= (op & 0x1f);
15011 // op: imm
15012 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15013 Value |= (op & 0x3f) << 15;
15014 // op: target
15015 op = getCondCompBranchTargetOpValue(MI, OpIdx: 2, Fixups, STI);
15016 Value |= (op & 0x1ff) << 5;
15017 break;
15018 }
15019 case AArch64::LDRDl:
15020 case AArch64::LDRQl:
15021 case AArch64::LDRSWl:
15022 case AArch64::LDRSl:
15023 case AArch64::LDRWl:
15024 case AArch64::LDRXl:
15025 case AArch64::PRFMl: {
15026 // op: Rt
15027 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15028 Value |= (op & 0x1f);
15029 // op: label
15030 op = getLoadLiteralOpValue(MI, OpIdx: 1, Fixups, STI);
15031 Value |= (op & 0x7ffff) << 5;
15032 break;
15033 }
15034 case AArch64::SYSLxt: {
15035 // op: Rt
15036 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15037 Value |= (op & 0x1f);
15038 // op: op1
15039 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15040 Value |= (op & 0x7) << 16;
15041 // op: Cn
15042 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15043 Value |= (op & 0xf) << 12;
15044 // op: Cm
15045 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15046 Value |= (op & 0xf) << 8;
15047 // op: op2
15048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15049 Value |= (op & 0x7) << 5;
15050 break;
15051 }
15052 case AArch64::MRRS:
15053 case AArch64::MRS: {
15054 // op: Rt
15055 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15056 Value |= (op & 0x1f);
15057 // op: systemreg
15058 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15059 Value |= (op & 0xffff) << 5;
15060 break;
15061 }
15062 case AArch64::CBNZW:
15063 case AArch64::CBNZX:
15064 case AArch64::CBZW:
15065 case AArch64::CBZX: {
15066 // op: Rt
15067 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15068 Value |= (op & 0x1f);
15069 // op: target
15070 op = getCondBranchTargetOpValue(MI, OpIdx: 1, Fixups, STI);
15071 Value |= (op & 0x7ffff) << 5;
15072 break;
15073 }
15074 case AArch64::RPRFM: {
15075 // op: Rt
15076 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15077 Value |= (op & 0x20) << 10;
15078 Value |= (op & 0x18) << 9;
15079 Value |= (op & 0x7);
15080 // op: Rn
15081 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15082 Value |= (op & 0x1f) << 5;
15083 // op: Rm
15084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15085 Value |= (op & 0x1f) << 16;
15086 break;
15087 }
15088 case AArch64::LDAPRWpost:
15089 case AArch64::LDAPRXpost:
15090 case AArch64::STLRWpre:
15091 case AArch64::STLRXpre: {
15092 // op: Rt
15093 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15094 Value |= (op & 0x1f);
15095 // op: Rn
15096 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15097 Value |= (op & 0x1f) << 5;
15098 break;
15099 }
15100 case AArch64::ST64BV:
15101 case AArch64::ST64BV0:
15102 case AArch64::STL64BV:
15103 case AArch64::STL64BV0: {
15104 // op: Rt
15105 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15106 Value |= (op & 0x1f);
15107 // op: Rn
15108 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15109 Value |= (op & 0x1f) << 5;
15110 // op: Rs
15111 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15112 Value |= (op & 0x1f) << 16;
15113 break;
15114 }
15115 case AArch64::STTXRWr:
15116 case AArch64::STTXRXr: {
15117 // op: Rt
15118 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15119 Value |= (op & 0x1f);
15120 // op: Rn
15121 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15122 Value |= (op & 0x1f) << 5;
15123 // op: Ws
15124 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15125 Value |= (op & 0x1f) << 16;
15126 Value = fixLoadStoreExclusive<1,0>(MI, EncodedValue: Value, STI);
15127 break;
15128 }
15129 case AArch64::LDRBBpost:
15130 case AArch64::LDRBBpre:
15131 case AArch64::LDRBpost:
15132 case AArch64::LDRBpre:
15133 case AArch64::LDRDpost:
15134 case AArch64::LDRDpre:
15135 case AArch64::LDRHHpost:
15136 case AArch64::LDRHHpre:
15137 case AArch64::LDRHpost:
15138 case AArch64::LDRHpre:
15139 case AArch64::LDRQpost:
15140 case AArch64::LDRQpre:
15141 case AArch64::LDRSBWpost:
15142 case AArch64::LDRSBWpre:
15143 case AArch64::LDRSBXpost:
15144 case AArch64::LDRSBXpre:
15145 case AArch64::LDRSHWpost:
15146 case AArch64::LDRSHWpre:
15147 case AArch64::LDRSHXpost:
15148 case AArch64::LDRSHXpre:
15149 case AArch64::LDRSWpost:
15150 case AArch64::LDRSWpre:
15151 case AArch64::LDRSpost:
15152 case AArch64::LDRSpre:
15153 case AArch64::LDRWpost:
15154 case AArch64::LDRWpre:
15155 case AArch64::LDRXpost:
15156 case AArch64::LDRXpre:
15157 case AArch64::STRBBpost:
15158 case AArch64::STRBBpre:
15159 case AArch64::STRBpost:
15160 case AArch64::STRBpre:
15161 case AArch64::STRDpost:
15162 case AArch64::STRDpre:
15163 case AArch64::STRHHpost:
15164 case AArch64::STRHHpre:
15165 case AArch64::STRHpost:
15166 case AArch64::STRHpre:
15167 case AArch64::STRQpost:
15168 case AArch64::STRQpre:
15169 case AArch64::STRSpost:
15170 case AArch64::STRSpre:
15171 case AArch64::STRWpost:
15172 case AArch64::STRWpre:
15173 case AArch64::STRXpost:
15174 case AArch64::STRXpre: {
15175 // op: Rt
15176 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15177 Value |= (op & 0x1f);
15178 // op: Rn
15179 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15180 Value |= (op & 0x1f) << 5;
15181 // op: offset
15182 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15183 Value |= (op & 0x1ff) << 12;
15184 break;
15185 }
15186 case AArch64::LDIAPPWpost:
15187 case AArch64::LDIAPPXpost:
15188 case AArch64::STILPWpre:
15189 case AArch64::STILPXpre: {
15190 // op: Rt
15191 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15192 Value |= (op & 0x1f);
15193 // op: Rn
15194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15195 Value |= (op & 0x1f) << 5;
15196 // op: Rt2
15197 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15198 Value |= (op & 0x1f) << 16;
15199 break;
15200 }
15201 case AArch64::LDPDpost:
15202 case AArch64::LDPDpre:
15203 case AArch64::LDPQpost:
15204 case AArch64::LDPQpre:
15205 case AArch64::LDPSWpost:
15206 case AArch64::LDPSWpre:
15207 case AArch64::LDPSpost:
15208 case AArch64::LDPSpre:
15209 case AArch64::LDPWpost:
15210 case AArch64::LDPWpre:
15211 case AArch64::LDPXpost:
15212 case AArch64::LDPXpre:
15213 case AArch64::LDTPQpost:
15214 case AArch64::LDTPQpre:
15215 case AArch64::LDTPpost:
15216 case AArch64::LDTPpre:
15217 case AArch64::STGPpost:
15218 case AArch64::STGPpre:
15219 case AArch64::STPDpost:
15220 case AArch64::STPDpre:
15221 case AArch64::STPQpost:
15222 case AArch64::STPQpre:
15223 case AArch64::STPSpost:
15224 case AArch64::STPSpre:
15225 case AArch64::STPWpost:
15226 case AArch64::STPWpre:
15227 case AArch64::STPXpost:
15228 case AArch64::STPXpre:
15229 case AArch64::STTPQpost:
15230 case AArch64::STTPQpre:
15231 case AArch64::STTPpost:
15232 case AArch64::STTPpre: {
15233 // op: Rt
15234 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15235 Value |= (op & 0x1f);
15236 // op: Rt2
15237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15238 Value |= (op & 0x1f) << 10;
15239 // op: Rn
15240 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15241 Value |= (op & 0x1f) << 5;
15242 // op: offset
15243 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15244 Value |= (op & 0x7f) << 15;
15245 break;
15246 }
15247 case AArch64::MSR:
15248 case AArch64::MSRR: {
15249 // op: Rt
15250 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15251 Value |= (op & 0x1f);
15252 // op: systemreg
15253 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15254 Value |= (op & 0xffff) << 5;
15255 break;
15256 }
15257 case AArch64::LDCLRP:
15258 case AArch64::LDCLRPA:
15259 case AArch64::LDCLRPAL:
15260 case AArch64::LDCLRPL:
15261 case AArch64::LDSETP:
15262 case AArch64::LDSETPA:
15263 case AArch64::LDSETPAL:
15264 case AArch64::LDSETPL:
15265 case AArch64::SWPP:
15266 case AArch64::SWPPA:
15267 case AArch64::SWPPAL:
15268 case AArch64::SWPPL: {
15269 // op: Rt
15270 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15271 Value |= (op & 0x1f);
15272 // op: Rt2
15273 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15274 Value |= (op & 0x1f) << 16;
15275 // op: Rn
15276 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15277 Value |= (op & 0x1f) << 5;
15278 break;
15279 }
15280 case AArch64::SYSPxt:
15281 case AArch64::SYSxt: {
15282 // op: Rt
15283 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15284 Value |= (op & 0x1f);
15285 // op: op1
15286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15287 Value |= (op & 0x7) << 16;
15288 // op: Cn
15289 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15290 Value |= (op & 0xf) << 12;
15291 // op: Cm
15292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15293 Value |= (op & 0xf) << 8;
15294 // op: op2
15295 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15296 Value |= (op & 0x7) << 5;
15297 break;
15298 }
15299 case AArch64::RCWCLRP:
15300 case AArch64::RCWCLRPA:
15301 case AArch64::RCWCLRPAL:
15302 case AArch64::RCWCLRPL:
15303 case AArch64::RCWCLRSP:
15304 case AArch64::RCWCLRSPA:
15305 case AArch64::RCWCLRSPAL:
15306 case AArch64::RCWCLRSPL:
15307 case AArch64::RCWSETP:
15308 case AArch64::RCWSETPA:
15309 case AArch64::RCWSETPAL:
15310 case AArch64::RCWSETPL:
15311 case AArch64::RCWSETSP:
15312 case AArch64::RCWSETSPA:
15313 case AArch64::RCWSETSPAL:
15314 case AArch64::RCWSETSPL:
15315 case AArch64::RCWSWPP:
15316 case AArch64::RCWSWPPA:
15317 case AArch64::RCWSWPPAL:
15318 case AArch64::RCWSWPPL:
15319 case AArch64::RCWSWPSP:
15320 case AArch64::RCWSWPSPA:
15321 case AArch64::RCWSWPSPAL:
15322 case AArch64::RCWSWPSPL: {
15323 // op: Rt2
15324 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15325 Value |= (op & 0x1f) << 16;
15326 // op: Rn
15327 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15328 Value |= (op & 0x1f) << 5;
15329 // op: Rt
15330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15331 Value |= (op & 0x1f);
15332 break;
15333 }
15334 case AArch64::LDR_ZA:
15335 case AArch64::STR_ZA: {
15336 // op: Rv
15337 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
15338 Value |= (op & 0x3) << 13;
15339 // op: Rn
15340 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15341 Value |= (op & 0x1f) << 5;
15342 // op: imm4
15343 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15344 Value |= (op & 0xf);
15345 break;
15346 }
15347 case AArch64::INSERT_MXIPZ_H_H:
15348 case AArch64::INSERT_MXIPZ_V_H: {
15349 // op: Rv
15350 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15351 Value |= (op & 0x3) << 13;
15352 // op: Pg
15353 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15354 Value |= (op & 0x7) << 10;
15355 // op: Zn
15356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15357 Value |= (op & 0x1f) << 5;
15358 // op: ZAd
15359 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15360 Value |= (op & 0x1) << 3;
15361 // op: imm
15362 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15363 Value |= (op & 0x7);
15364 break;
15365 }
15366 case AArch64::INSERT_MXIPZ_H_S:
15367 case AArch64::INSERT_MXIPZ_V_S: {
15368 // op: Rv
15369 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15370 Value |= (op & 0x3) << 13;
15371 // op: Pg
15372 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15373 Value |= (op & 0x7) << 10;
15374 // op: Zn
15375 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15376 Value |= (op & 0x1f) << 5;
15377 // op: ZAd
15378 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15379 Value |= (op & 0x3) << 2;
15380 // op: imm
15381 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15382 Value |= (op & 0x3);
15383 break;
15384 }
15385 case AArch64::INSERT_MXIPZ_H_D:
15386 case AArch64::INSERT_MXIPZ_V_D: {
15387 // op: Rv
15388 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15389 Value |= (op & 0x3) << 13;
15390 // op: Pg
15391 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15392 Value |= (op & 0x7) << 10;
15393 // op: Zn
15394 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15395 Value |= (op & 0x1f) << 5;
15396 // op: ZAd
15397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15398 Value |= (op & 0x7) << 1;
15399 // op: imm
15400 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15401 Value |= (op & 0x1);
15402 break;
15403 }
15404 case AArch64::INSERT_MXIPZ_H_Q:
15405 case AArch64::INSERT_MXIPZ_V_Q: {
15406 // op: Rv
15407 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15408 Value |= (op & 0x3) << 13;
15409 // op: Pg
15410 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15411 Value |= (op & 0x7) << 10;
15412 // op: Zn
15413 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15414 Value |= (op & 0x1f) << 5;
15415 // op: ZAd
15416 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15417 Value |= (op & 0xf);
15418 break;
15419 }
15420 case AArch64::INSERT_MXIPZ_H_B:
15421 case AArch64::INSERT_MXIPZ_V_B: {
15422 // op: Rv
15423 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15424 Value |= (op & 0x3) << 13;
15425 // op: Pg
15426 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15427 Value |= (op & 0x7) << 10;
15428 // op: Zn
15429 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15430 Value |= (op & 0x1f) << 5;
15431 // op: imm
15432 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15433 Value |= (op & 0xf);
15434 break;
15435 }
15436 case AArch64::PSEL_PPPRI_D: {
15437 // op: Rv
15438 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15439 Value |= (op & 0x3) << 16;
15440 // op: Pn
15441 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15442 Value |= (op & 0xf) << 10;
15443 // op: Pm
15444 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15445 Value |= (op & 0xf) << 5;
15446 // op: Pd
15447 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15448 Value |= (op & 0xf);
15449 // op: imm
15450 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15451 Value |= (op & 0x1) << 23;
15452 break;
15453 }
15454 case AArch64::PSEL_PPPRI_S: {
15455 // op: Rv
15456 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15457 Value |= (op & 0x3) << 16;
15458 // op: Pn
15459 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15460 Value |= (op & 0xf) << 10;
15461 // op: Pm
15462 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15463 Value |= (op & 0xf) << 5;
15464 // op: Pd
15465 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15466 Value |= (op & 0xf);
15467 // op: imm
15468 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15469 Value |= (op & 0x3) << 22;
15470 break;
15471 }
15472 case AArch64::PSEL_PPPRI_H: {
15473 // op: Rv
15474 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15475 Value |= (op & 0x3) << 16;
15476 // op: Pn
15477 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15478 Value |= (op & 0xf) << 10;
15479 // op: Pm
15480 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15481 Value |= (op & 0xf) << 5;
15482 // op: Pd
15483 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15484 Value |= (op & 0xf);
15485 // op: imm
15486 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15487 Value |= (op & 0x6) << 21;
15488 Value |= (op & 0x1) << 20;
15489 break;
15490 }
15491 case AArch64::PSEL_PPPRI_B: {
15492 // op: Rv
15493 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15494 Value |= (op & 0x3) << 16;
15495 // op: Pn
15496 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15497 Value |= (op & 0xf) << 10;
15498 // op: Pm
15499 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15500 Value |= (op & 0xf) << 5;
15501 // op: Pd
15502 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15503 Value |= (op & 0xf);
15504 // op: imm
15505 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15506 Value |= (op & 0xc) << 20;
15507 Value |= (op & 0x3) << 19;
15508 break;
15509 }
15510 case AArch64::EXTRACT_ZPMXI_H_H:
15511 case AArch64::EXTRACT_ZPMXI_V_H: {
15512 // op: Rv
15513 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15514 Value |= (op & 0x3) << 13;
15515 // op: Pg
15516 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15517 Value |= (op & 0x7) << 10;
15518 // op: Zd
15519 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15520 Value |= (op & 0x1f);
15521 // op: ZAn
15522 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15523 Value |= (op & 0x1) << 8;
15524 // op: imm
15525 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15526 Value |= (op & 0x7) << 5;
15527 break;
15528 }
15529 case AArch64::EXTRACT_ZPMXI_H_S:
15530 case AArch64::EXTRACT_ZPMXI_V_S: {
15531 // op: Rv
15532 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15533 Value |= (op & 0x3) << 13;
15534 // op: Pg
15535 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15536 Value |= (op & 0x7) << 10;
15537 // op: Zd
15538 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15539 Value |= (op & 0x1f);
15540 // op: ZAn
15541 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15542 Value |= (op & 0x3) << 7;
15543 // op: imm
15544 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15545 Value |= (op & 0x3) << 5;
15546 break;
15547 }
15548 case AArch64::EXTRACT_ZPMXI_H_D:
15549 case AArch64::EXTRACT_ZPMXI_V_D: {
15550 // op: Rv
15551 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15552 Value |= (op & 0x3) << 13;
15553 // op: Pg
15554 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15555 Value |= (op & 0x7) << 10;
15556 // op: Zd
15557 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15558 Value |= (op & 0x1f);
15559 // op: ZAn
15560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15561 Value |= (op & 0x7) << 6;
15562 // op: imm
15563 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15564 Value |= (op & 0x1) << 5;
15565 break;
15566 }
15567 case AArch64::EXTRACT_ZPMXI_H_Q:
15568 case AArch64::EXTRACT_ZPMXI_V_Q: {
15569 // op: Rv
15570 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15571 Value |= (op & 0x3) << 13;
15572 // op: Pg
15573 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15574 Value |= (op & 0x7) << 10;
15575 // op: Zd
15576 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15577 Value |= (op & 0x1f);
15578 // op: ZAn
15579 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15580 Value |= (op & 0xf) << 5;
15581 break;
15582 }
15583 case AArch64::EXTRACT_ZPMXI_H_B:
15584 case AArch64::EXTRACT_ZPMXI_V_B: {
15585 // op: Rv
15586 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15587 Value |= (op & 0x3) << 13;
15588 // op: Pg
15589 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15590 Value |= (op & 0x7) << 10;
15591 // op: Zd
15592 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15593 Value |= (op & 0x1f);
15594 // op: imm
15595 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15596 Value |= (op & 0xf) << 5;
15597 break;
15598 }
15599 case AArch64::BFMLAL_VG2_M2Z2Z_HtoS:
15600 case AArch64::BFMLSL_VG2_M2Z2Z_HtoS:
15601 case AArch64::FMLAL_VG2_M2Z2Z_BtoH:
15602 case AArch64::FMLAL_VG2_M2Z2Z_HtoS:
15603 case AArch64::FMLSL_VG2_M2Z2Z_HtoS:
15604 case AArch64::SMLAL_VG2_M2Z2Z_HtoS:
15605 case AArch64::SMLSL_VG2_M2Z2Z_HtoS:
15606 case AArch64::UMLAL_VG2_M2Z2Z_HtoS:
15607 case AArch64::UMLSL_VG2_M2Z2Z_HtoS: {
15608 // op: Rv
15609 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15610 Value |= (op & 0x3) << 13;
15611 // op: Zm
15612 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 5, Fixups, STI);
15613 Value |= (op & 0xf) << 17;
15614 // op: Zn
15615 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
15616 Value |= (op & 0xf) << 6;
15617 // op: imm
15618 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15619 Value |= (op & 0x3);
15620 break;
15621 }
15622 case AArch64::BFMLAL_VG4_M4Z4Z_HtoS:
15623 case AArch64::BFMLSL_VG4_M4Z4Z_HtoS:
15624 case AArch64::FMLAL_VG4_M4Z4Z_BtoH:
15625 case AArch64::FMLAL_VG4_M4Z4Z_HtoS:
15626 case AArch64::FMLSL_VG4_M4Z4Z_HtoS:
15627 case AArch64::SMLAL_VG4_M4Z4Z_HtoS:
15628 case AArch64::SMLSL_VG4_M4Z4Z_HtoS:
15629 case AArch64::UMLAL_VG4_M4Z4Z_HtoS:
15630 case AArch64::UMLSL_VG4_M4Z4Z_HtoS: {
15631 // op: Rv
15632 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15633 Value |= (op & 0x3) << 13;
15634 // op: Zm
15635 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 5, Fixups, STI);
15636 Value |= (op & 0x7) << 18;
15637 // op: Zn
15638 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
15639 Value |= (op & 0x7) << 7;
15640 // op: imm
15641 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15642 Value |= (op & 0x3);
15643 break;
15644 }
15645 case AArch64::BFMLAL_VG2_M2ZZ_HtoS:
15646 case AArch64::BFMLAL_VG4_M4ZZ_HtoS:
15647 case AArch64::BFMLSL_VG2_M2ZZ_HtoS:
15648 case AArch64::BFMLSL_VG4_M4ZZ_HtoS:
15649 case AArch64::FMLAL_VG2_M2ZZ_BtoH:
15650 case AArch64::FMLAL_VG2_M2ZZ_HtoS:
15651 case AArch64::FMLAL_VG4_M4ZZ_BtoH:
15652 case AArch64::FMLAL_VG4_M4ZZ_HtoS:
15653 case AArch64::FMLSL_VG2_M2ZZ_HtoS:
15654 case AArch64::FMLSL_VG4_M4ZZ_HtoS:
15655 case AArch64::SMLAL_VG2_M2ZZ_HtoS:
15656 case AArch64::SMLAL_VG4_M4ZZ_HtoS:
15657 case AArch64::SMLSL_VG2_M2ZZ_HtoS:
15658 case AArch64::SMLSL_VG4_M4ZZ_HtoS:
15659 case AArch64::UMLAL_VG2_M2ZZ_HtoS:
15660 case AArch64::UMLAL_VG4_M4ZZ_HtoS:
15661 case AArch64::UMLSL_VG2_M2ZZ_HtoS:
15662 case AArch64::UMLSL_VG4_M4ZZ_HtoS: {
15663 // op: Rv
15664 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15665 Value |= (op & 0x3) << 13;
15666 // op: Zm
15667 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15668 Value |= (op & 0xf) << 16;
15669 // op: Zn
15670 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15671 Value |= (op & 0x1f) << 5;
15672 // op: imm
15673 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15674 Value |= (op & 0x3);
15675 break;
15676 }
15677 case AArch64::BFMLAL_MZZ_HtoS:
15678 case AArch64::BFMLSL_MZZ_HtoS:
15679 case AArch64::FMLAL_MZZ_HtoS:
15680 case AArch64::FMLAL_VG2_MZZ_BtoH:
15681 case AArch64::FMLSL_MZZ_HtoS:
15682 case AArch64::SMLAL_MZZ_HtoS:
15683 case AArch64::SMLSL_MZZ_HtoS:
15684 case AArch64::UMLAL_MZZ_HtoS:
15685 case AArch64::UMLSL_MZZ_HtoS: {
15686 // op: Rv
15687 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15688 Value |= (op & 0x3) << 13;
15689 // op: Zm
15690 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15691 Value |= (op & 0xf) << 16;
15692 // op: Zn
15693 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15694 Value |= (op & 0x1f) << 5;
15695 // op: imm
15696 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15697 Value |= (op & 0x7);
15698 break;
15699 }
15700 case AArch64::ZERO_MXI_VG2_4Z:
15701 case AArch64::ZERO_MXI_VG4_4Z: {
15702 // op: Rv
15703 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15704 Value |= (op & 0x3) << 13;
15705 // op: imm
15706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15707 Value |= (op & 0x1);
15708 break;
15709 }
15710 case AArch64::ZERO_MXI_4Z:
15711 case AArch64::ZERO_MXI_VG2_2Z:
15712 case AArch64::ZERO_MXI_VG4_2Z: {
15713 // op: Rv
15714 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15715 Value |= (op & 0x3) << 13;
15716 // op: imm
15717 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15718 Value |= (op & 0x3);
15719 break;
15720 }
15721 case AArch64::ZERO_MXI_2Z:
15722 case AArch64::ZERO_MXI_VG2_Z:
15723 case AArch64::ZERO_MXI_VG4_Z: {
15724 // op: Rv
15725 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15726 Value |= (op & 0x3) << 13;
15727 // op: imm
15728 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15729 Value |= (op & 0x7);
15730 break;
15731 }
15732 case AArch64::ADD_VG2_M2Z_D:
15733 case AArch64::ADD_VG2_M2Z_S:
15734 case AArch64::BFADD_VG2_M2Z_H:
15735 case AArch64::BFSUB_VG2_M2Z_H:
15736 case AArch64::FADD_VG2_M2Z_D:
15737 case AArch64::FADD_VG2_M2Z_H:
15738 case AArch64::FADD_VG2_M2Z_S:
15739 case AArch64::FSUB_VG2_M2Z_D:
15740 case AArch64::FSUB_VG2_M2Z_H:
15741 case AArch64::FSUB_VG2_M2Z_S:
15742 case AArch64::SUB_VG2_M2Z_D:
15743 case AArch64::SUB_VG2_M2Z_S: {
15744 // op: Rv
15745 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15746 Value |= (op & 0x3) << 13;
15747 // op: imm3
15748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15749 Value |= (op & 0x7);
15750 // op: Zm
15751 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
15752 Value |= (op & 0xf) << 6;
15753 break;
15754 }
15755 case AArch64::ADD_VG4_M4Z_D:
15756 case AArch64::ADD_VG4_M4Z_S:
15757 case AArch64::BFADD_VG4_M4Z_H:
15758 case AArch64::BFSUB_VG4_M4Z_H:
15759 case AArch64::FADD_VG4_M4Z_D:
15760 case AArch64::FADD_VG4_M4Z_H:
15761 case AArch64::FADD_VG4_M4Z_S:
15762 case AArch64::FSUB_VG4_M4Z_D:
15763 case AArch64::FSUB_VG4_M4Z_H:
15764 case AArch64::FSUB_VG4_M4Z_S:
15765 case AArch64::SUB_VG4_M4Z_D:
15766 case AArch64::SUB_VG4_M4Z_S: {
15767 // op: Rv
15768 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15769 Value |= (op & 0x3) << 13;
15770 // op: imm3
15771 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15772 Value |= (op & 0x7);
15773 // op: Zm
15774 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
15775 Value |= (op & 0x7) << 7;
15776 break;
15777 }
15778 case AArch64::RAX1:
15779 case AArch64::SM4ENCKEY:
15780 case AArch64::TBLv16i8Four:
15781 case AArch64::TBLv16i8One:
15782 case AArch64::TBLv16i8Three:
15783 case AArch64::TBLv16i8Two:
15784 case AArch64::TBLv8i8Four:
15785 case AArch64::TBLv8i8One:
15786 case AArch64::TBLv8i8Three:
15787 case AArch64::TBLv8i8Two: {
15788 // op: Vd
15789 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15790 Value |= (op & 0x1f);
15791 // op: Vn
15792 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15793 Value |= (op & 0x1f) << 5;
15794 // op: Vm
15795 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15796 Value |= (op & 0x1f) << 16;
15797 break;
15798 }
15799 case AArch64::BCAX:
15800 case AArch64::EOR3:
15801 case AArch64::SM3SS1: {
15802 // op: Vd
15803 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15804 Value |= (op & 0x1f);
15805 // op: Vn
15806 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15807 Value |= (op & 0x1f) << 5;
15808 // op: Vm
15809 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15810 Value |= (op & 0x1f) << 16;
15811 // op: Va
15812 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15813 Value |= (op & 0x1f) << 10;
15814 break;
15815 }
15816 case AArch64::XAR: {
15817 // op: Vd
15818 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15819 Value |= (op & 0x1f);
15820 // op: Vn
15821 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15822 Value |= (op & 0x1f) << 5;
15823 // op: imm
15824 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15825 Value |= (op & 0x3f) << 10;
15826 // op: Vm
15827 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15828 Value |= (op & 0x1f) << 16;
15829 break;
15830 }
15831 case AArch64::ADDQV_VPZ_B:
15832 case AArch64::ADDQV_VPZ_D:
15833 case AArch64::ADDQV_VPZ_H:
15834 case AArch64::ADDQV_VPZ_S:
15835 case AArch64::ANDQV_VPZ_B:
15836 case AArch64::ANDQV_VPZ_D:
15837 case AArch64::ANDQV_VPZ_H:
15838 case AArch64::ANDQV_VPZ_S:
15839 case AArch64::EORQV_VPZ_B:
15840 case AArch64::EORQV_VPZ_D:
15841 case AArch64::EORQV_VPZ_H:
15842 case AArch64::EORQV_VPZ_S:
15843 case AArch64::FADDQV_D:
15844 case AArch64::FADDQV_H:
15845 case AArch64::FADDQV_S:
15846 case AArch64::FMAXNMQV_D:
15847 case AArch64::FMAXNMQV_H:
15848 case AArch64::FMAXNMQV_S:
15849 case AArch64::FMAXQV_D:
15850 case AArch64::FMAXQV_H:
15851 case AArch64::FMAXQV_S:
15852 case AArch64::FMINNMQV_D:
15853 case AArch64::FMINNMQV_H:
15854 case AArch64::FMINNMQV_S:
15855 case AArch64::FMINQV_D:
15856 case AArch64::FMINQV_H:
15857 case AArch64::FMINQV_S:
15858 case AArch64::ORQV_VPZ_B:
15859 case AArch64::ORQV_VPZ_D:
15860 case AArch64::ORQV_VPZ_H:
15861 case AArch64::ORQV_VPZ_S:
15862 case AArch64::SMAXQV_VPZ_B:
15863 case AArch64::SMAXQV_VPZ_D:
15864 case AArch64::SMAXQV_VPZ_H:
15865 case AArch64::SMAXQV_VPZ_S:
15866 case AArch64::SMINQV_VPZ_B:
15867 case AArch64::SMINQV_VPZ_D:
15868 case AArch64::SMINQV_VPZ_H:
15869 case AArch64::SMINQV_VPZ_S:
15870 case AArch64::UMAXQV_VPZ_B:
15871 case AArch64::UMAXQV_VPZ_D:
15872 case AArch64::UMAXQV_VPZ_H:
15873 case AArch64::UMAXQV_VPZ_S:
15874 case AArch64::UMINQV_VPZ_B:
15875 case AArch64::UMINQV_VPZ_D:
15876 case AArch64::UMINQV_VPZ_H:
15877 case AArch64::UMINQV_VPZ_S: {
15878 // op: Vd
15879 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15880 Value |= (op & 0x1f);
15881 // op: Zn
15882 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15883 Value |= (op & 0x1f) << 5;
15884 // op: Pg
15885 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15886 Value |= (op & 0x7) << 10;
15887 break;
15888 }
15889 case AArch64::SHA512SU0:
15890 case AArch64::SM4E: {
15891 // op: Vd
15892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15893 Value |= (op & 0x1f);
15894 // op: Vn
15895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15896 Value |= (op & 0x1f) << 5;
15897 break;
15898 }
15899 case AArch64::SHA512H:
15900 case AArch64::SHA512H2:
15901 case AArch64::SHA512SU1:
15902 case AArch64::SM3PARTW1:
15903 case AArch64::SM3PARTW2:
15904 case AArch64::TBXv16i8Four:
15905 case AArch64::TBXv16i8One:
15906 case AArch64::TBXv16i8Three:
15907 case AArch64::TBXv16i8Two:
15908 case AArch64::TBXv8i8Four:
15909 case AArch64::TBXv8i8One:
15910 case AArch64::TBXv8i8Three:
15911 case AArch64::TBXv8i8Two: {
15912 // op: Vd
15913 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15914 Value |= (op & 0x1f);
15915 // op: Vn
15916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15917 Value |= (op & 0x1f) << 5;
15918 // op: Vm
15919 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15920 Value |= (op & 0x1f) << 16;
15921 break;
15922 }
15923 case AArch64::SM3TT1A:
15924 case AArch64::SM3TT1B:
15925 case AArch64::SM3TT2A:
15926 case AArch64::SM3TT2B: {
15927 // op: Vd
15928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15929 Value |= (op & 0x1f);
15930 // op: Vn
15931 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15932 Value |= (op & 0x1f) << 5;
15933 // op: imm
15934 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15935 Value |= (op & 0x3) << 12;
15936 // op: Vm
15937 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15938 Value |= (op & 0x1f) << 16;
15939 break;
15940 }
15941 case AArch64::INSR_ZV_B:
15942 case AArch64::INSR_ZV_D:
15943 case AArch64::INSR_ZV_H:
15944 case AArch64::INSR_ZV_S: {
15945 // op: Vm
15946 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15947 Value |= (op & 0x1f) << 5;
15948 // op: Zdn
15949 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15950 Value |= (op & 0x1f);
15951 break;
15952 }
15953 case AArch64::LD1Fourv16b:
15954 case AArch64::LD1Fourv1d:
15955 case AArch64::LD1Fourv2d:
15956 case AArch64::LD1Fourv2s:
15957 case AArch64::LD1Fourv4h:
15958 case AArch64::LD1Fourv4s:
15959 case AArch64::LD1Fourv8b:
15960 case AArch64::LD1Fourv8h:
15961 case AArch64::LD1Onev16b:
15962 case AArch64::LD1Onev1d:
15963 case AArch64::LD1Onev2d:
15964 case AArch64::LD1Onev2s:
15965 case AArch64::LD1Onev4h:
15966 case AArch64::LD1Onev4s:
15967 case AArch64::LD1Onev8b:
15968 case AArch64::LD1Onev8h:
15969 case AArch64::LD1Rv16b:
15970 case AArch64::LD1Rv1d:
15971 case AArch64::LD1Rv2d:
15972 case AArch64::LD1Rv2s:
15973 case AArch64::LD1Rv4h:
15974 case AArch64::LD1Rv4s:
15975 case AArch64::LD1Rv8b:
15976 case AArch64::LD1Rv8h:
15977 case AArch64::LD1Threev16b:
15978 case AArch64::LD1Threev1d:
15979 case AArch64::LD1Threev2d:
15980 case AArch64::LD1Threev2s:
15981 case AArch64::LD1Threev4h:
15982 case AArch64::LD1Threev4s:
15983 case AArch64::LD1Threev8b:
15984 case AArch64::LD1Threev8h:
15985 case AArch64::LD1Twov16b:
15986 case AArch64::LD1Twov1d:
15987 case AArch64::LD1Twov2d:
15988 case AArch64::LD1Twov2s:
15989 case AArch64::LD1Twov4h:
15990 case AArch64::LD1Twov4s:
15991 case AArch64::LD1Twov8b:
15992 case AArch64::LD1Twov8h:
15993 case AArch64::LD2Rv16b:
15994 case AArch64::LD2Rv1d:
15995 case AArch64::LD2Rv2d:
15996 case AArch64::LD2Rv2s:
15997 case AArch64::LD2Rv4h:
15998 case AArch64::LD2Rv4s:
15999 case AArch64::LD2Rv8b:
16000 case AArch64::LD2Rv8h:
16001 case AArch64::LD2Twov16b:
16002 case AArch64::LD2Twov2d:
16003 case AArch64::LD2Twov2s:
16004 case AArch64::LD2Twov4h:
16005 case AArch64::LD2Twov4s:
16006 case AArch64::LD2Twov8b:
16007 case AArch64::LD2Twov8h:
16008 case AArch64::LD3Rv16b:
16009 case AArch64::LD3Rv1d:
16010 case AArch64::LD3Rv2d:
16011 case AArch64::LD3Rv2s:
16012 case AArch64::LD3Rv4h:
16013 case AArch64::LD3Rv4s:
16014 case AArch64::LD3Rv8b:
16015 case AArch64::LD3Rv8h:
16016 case AArch64::LD3Threev16b:
16017 case AArch64::LD3Threev2d:
16018 case AArch64::LD3Threev2s:
16019 case AArch64::LD3Threev4h:
16020 case AArch64::LD3Threev4s:
16021 case AArch64::LD3Threev8b:
16022 case AArch64::LD3Threev8h:
16023 case AArch64::LD4Fourv16b:
16024 case AArch64::LD4Fourv2d:
16025 case AArch64::LD4Fourv2s:
16026 case AArch64::LD4Fourv4h:
16027 case AArch64::LD4Fourv4s:
16028 case AArch64::LD4Fourv8b:
16029 case AArch64::LD4Fourv8h:
16030 case AArch64::LD4Rv16b:
16031 case AArch64::LD4Rv1d:
16032 case AArch64::LD4Rv2d:
16033 case AArch64::LD4Rv2s:
16034 case AArch64::LD4Rv4h:
16035 case AArch64::LD4Rv4s:
16036 case AArch64::LD4Rv8b:
16037 case AArch64::LD4Rv8h:
16038 case AArch64::ST1Fourv16b:
16039 case AArch64::ST1Fourv1d:
16040 case AArch64::ST1Fourv2d:
16041 case AArch64::ST1Fourv2s:
16042 case AArch64::ST1Fourv4h:
16043 case AArch64::ST1Fourv4s:
16044 case AArch64::ST1Fourv8b:
16045 case AArch64::ST1Fourv8h:
16046 case AArch64::ST1Onev16b:
16047 case AArch64::ST1Onev1d:
16048 case AArch64::ST1Onev2d:
16049 case AArch64::ST1Onev2s:
16050 case AArch64::ST1Onev4h:
16051 case AArch64::ST1Onev4s:
16052 case AArch64::ST1Onev8b:
16053 case AArch64::ST1Onev8h:
16054 case AArch64::ST1Threev16b:
16055 case AArch64::ST1Threev1d:
16056 case AArch64::ST1Threev2d:
16057 case AArch64::ST1Threev2s:
16058 case AArch64::ST1Threev4h:
16059 case AArch64::ST1Threev4s:
16060 case AArch64::ST1Threev8b:
16061 case AArch64::ST1Threev8h:
16062 case AArch64::ST1Twov16b:
16063 case AArch64::ST1Twov1d:
16064 case AArch64::ST1Twov2d:
16065 case AArch64::ST1Twov2s:
16066 case AArch64::ST1Twov4h:
16067 case AArch64::ST1Twov4s:
16068 case AArch64::ST1Twov8b:
16069 case AArch64::ST1Twov8h:
16070 case AArch64::ST2Twov16b:
16071 case AArch64::ST2Twov2d:
16072 case AArch64::ST2Twov2s:
16073 case AArch64::ST2Twov4h:
16074 case AArch64::ST2Twov4s:
16075 case AArch64::ST2Twov8b:
16076 case AArch64::ST2Twov8h:
16077 case AArch64::ST3Threev16b:
16078 case AArch64::ST3Threev2d:
16079 case AArch64::ST3Threev2s:
16080 case AArch64::ST3Threev4h:
16081 case AArch64::ST3Threev4s:
16082 case AArch64::ST3Threev8b:
16083 case AArch64::ST3Threev8h:
16084 case AArch64::ST4Fourv16b:
16085 case AArch64::ST4Fourv2d:
16086 case AArch64::ST4Fourv2s:
16087 case AArch64::ST4Fourv4h:
16088 case AArch64::ST4Fourv4s:
16089 case AArch64::ST4Fourv8b:
16090 case AArch64::ST4Fourv8h: {
16091 // op: Vt
16092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16093 Value |= (op & 0x1f);
16094 // op: Rn
16095 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16096 Value |= (op & 0x1f) << 5;
16097 break;
16098 }
16099 case AArch64::STL1: {
16100 // op: Vt
16101 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16102 Value |= (op & 0x1f);
16103 // op: Rn
16104 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16105 Value |= (op & 0x1f) << 5;
16106 // op: Q
16107 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16108 Value |= (op & 0x1) << 30;
16109 break;
16110 }
16111 case AArch64::ST1i64:
16112 case AArch64::ST2i64:
16113 case AArch64::ST3i64:
16114 case AArch64::ST4i64: {
16115 // op: Vt
16116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16117 Value |= (op & 0x1f);
16118 // op: Rn
16119 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16120 Value |= (op & 0x1f) << 5;
16121 // op: idx
16122 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16123 Value |= (op & 0x1) << 30;
16124 break;
16125 }
16126 case AArch64::ST1i32:
16127 case AArch64::ST2i32:
16128 case AArch64::ST3i32:
16129 case AArch64::ST4i32: {
16130 // op: Vt
16131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16132 Value |= (op & 0x1f);
16133 // op: Rn
16134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16135 Value |= (op & 0x1f) << 5;
16136 // op: idx
16137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16138 Value |= (op & 0x2) << 29;
16139 Value |= (op & 0x1) << 12;
16140 break;
16141 }
16142 case AArch64::ST1i16:
16143 case AArch64::ST2i16:
16144 case AArch64::ST3i16:
16145 case AArch64::ST4i16: {
16146 // op: Vt
16147 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16148 Value |= (op & 0x1f);
16149 // op: Rn
16150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16151 Value |= (op & 0x1f) << 5;
16152 // op: idx
16153 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16154 Value |= (op & 0x4) << 28;
16155 Value |= (op & 0x3) << 11;
16156 break;
16157 }
16158 case AArch64::ST1i8:
16159 case AArch64::ST2i8:
16160 case AArch64::ST3i8:
16161 case AArch64::ST4i8: {
16162 // op: Vt
16163 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16164 Value |= (op & 0x1f);
16165 // op: Rn
16166 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16167 Value |= (op & 0x1f) << 5;
16168 // op: idx
16169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16170 Value |= (op & 0x8) << 27;
16171 Value |= (op & 0x7) << 10;
16172 break;
16173 }
16174 case AArch64::LD1Fourv16b_POST:
16175 case AArch64::LD1Fourv1d_POST:
16176 case AArch64::LD1Fourv2d_POST:
16177 case AArch64::LD1Fourv2s_POST:
16178 case AArch64::LD1Fourv4h_POST:
16179 case AArch64::LD1Fourv4s_POST:
16180 case AArch64::LD1Fourv8b_POST:
16181 case AArch64::LD1Fourv8h_POST:
16182 case AArch64::LD1Onev16b_POST:
16183 case AArch64::LD1Onev1d_POST:
16184 case AArch64::LD1Onev2d_POST:
16185 case AArch64::LD1Onev2s_POST:
16186 case AArch64::LD1Onev4h_POST:
16187 case AArch64::LD1Onev4s_POST:
16188 case AArch64::LD1Onev8b_POST:
16189 case AArch64::LD1Onev8h_POST:
16190 case AArch64::LD1Rv16b_POST:
16191 case AArch64::LD1Rv1d_POST:
16192 case AArch64::LD1Rv2d_POST:
16193 case AArch64::LD1Rv2s_POST:
16194 case AArch64::LD1Rv4h_POST:
16195 case AArch64::LD1Rv4s_POST:
16196 case AArch64::LD1Rv8b_POST:
16197 case AArch64::LD1Rv8h_POST:
16198 case AArch64::LD1Threev16b_POST:
16199 case AArch64::LD1Threev1d_POST:
16200 case AArch64::LD1Threev2d_POST:
16201 case AArch64::LD1Threev2s_POST:
16202 case AArch64::LD1Threev4h_POST:
16203 case AArch64::LD1Threev4s_POST:
16204 case AArch64::LD1Threev8b_POST:
16205 case AArch64::LD1Threev8h_POST:
16206 case AArch64::LD1Twov16b_POST:
16207 case AArch64::LD1Twov1d_POST:
16208 case AArch64::LD1Twov2d_POST:
16209 case AArch64::LD1Twov2s_POST:
16210 case AArch64::LD1Twov4h_POST:
16211 case AArch64::LD1Twov4s_POST:
16212 case AArch64::LD1Twov8b_POST:
16213 case AArch64::LD1Twov8h_POST:
16214 case AArch64::LD2Rv16b_POST:
16215 case AArch64::LD2Rv1d_POST:
16216 case AArch64::LD2Rv2d_POST:
16217 case AArch64::LD2Rv2s_POST:
16218 case AArch64::LD2Rv4h_POST:
16219 case AArch64::LD2Rv4s_POST:
16220 case AArch64::LD2Rv8b_POST:
16221 case AArch64::LD2Rv8h_POST:
16222 case AArch64::LD2Twov16b_POST:
16223 case AArch64::LD2Twov2d_POST:
16224 case AArch64::LD2Twov2s_POST:
16225 case AArch64::LD2Twov4h_POST:
16226 case AArch64::LD2Twov4s_POST:
16227 case AArch64::LD2Twov8b_POST:
16228 case AArch64::LD2Twov8h_POST:
16229 case AArch64::LD3Rv16b_POST:
16230 case AArch64::LD3Rv1d_POST:
16231 case AArch64::LD3Rv2d_POST:
16232 case AArch64::LD3Rv2s_POST:
16233 case AArch64::LD3Rv4h_POST:
16234 case AArch64::LD3Rv4s_POST:
16235 case AArch64::LD3Rv8b_POST:
16236 case AArch64::LD3Rv8h_POST:
16237 case AArch64::LD3Threev16b_POST:
16238 case AArch64::LD3Threev2d_POST:
16239 case AArch64::LD3Threev2s_POST:
16240 case AArch64::LD3Threev4h_POST:
16241 case AArch64::LD3Threev4s_POST:
16242 case AArch64::LD3Threev8b_POST:
16243 case AArch64::LD3Threev8h_POST:
16244 case AArch64::LD4Fourv16b_POST:
16245 case AArch64::LD4Fourv2d_POST:
16246 case AArch64::LD4Fourv2s_POST:
16247 case AArch64::LD4Fourv4h_POST:
16248 case AArch64::LD4Fourv4s_POST:
16249 case AArch64::LD4Fourv8b_POST:
16250 case AArch64::LD4Fourv8h_POST:
16251 case AArch64::LD4Rv16b_POST:
16252 case AArch64::LD4Rv1d_POST:
16253 case AArch64::LD4Rv2d_POST:
16254 case AArch64::LD4Rv2s_POST:
16255 case AArch64::LD4Rv4h_POST:
16256 case AArch64::LD4Rv4s_POST:
16257 case AArch64::LD4Rv8b_POST:
16258 case AArch64::LD4Rv8h_POST:
16259 case AArch64::ST1Fourv16b_POST:
16260 case AArch64::ST1Fourv1d_POST:
16261 case AArch64::ST1Fourv2d_POST:
16262 case AArch64::ST1Fourv2s_POST:
16263 case AArch64::ST1Fourv4h_POST:
16264 case AArch64::ST1Fourv4s_POST:
16265 case AArch64::ST1Fourv8b_POST:
16266 case AArch64::ST1Fourv8h_POST:
16267 case AArch64::ST1Onev16b_POST:
16268 case AArch64::ST1Onev1d_POST:
16269 case AArch64::ST1Onev2d_POST:
16270 case AArch64::ST1Onev2s_POST:
16271 case AArch64::ST1Onev4h_POST:
16272 case AArch64::ST1Onev4s_POST:
16273 case AArch64::ST1Onev8b_POST:
16274 case AArch64::ST1Onev8h_POST:
16275 case AArch64::ST1Threev16b_POST:
16276 case AArch64::ST1Threev1d_POST:
16277 case AArch64::ST1Threev2d_POST:
16278 case AArch64::ST1Threev2s_POST:
16279 case AArch64::ST1Threev4h_POST:
16280 case AArch64::ST1Threev4s_POST:
16281 case AArch64::ST1Threev8b_POST:
16282 case AArch64::ST1Threev8h_POST:
16283 case AArch64::ST1Twov16b_POST:
16284 case AArch64::ST1Twov1d_POST:
16285 case AArch64::ST1Twov2d_POST:
16286 case AArch64::ST1Twov2s_POST:
16287 case AArch64::ST1Twov4h_POST:
16288 case AArch64::ST1Twov4s_POST:
16289 case AArch64::ST1Twov8b_POST:
16290 case AArch64::ST1Twov8h_POST:
16291 case AArch64::ST2Twov16b_POST:
16292 case AArch64::ST2Twov2d_POST:
16293 case AArch64::ST2Twov2s_POST:
16294 case AArch64::ST2Twov4h_POST:
16295 case AArch64::ST2Twov4s_POST:
16296 case AArch64::ST2Twov8b_POST:
16297 case AArch64::ST2Twov8h_POST:
16298 case AArch64::ST3Threev16b_POST:
16299 case AArch64::ST3Threev2d_POST:
16300 case AArch64::ST3Threev2s_POST:
16301 case AArch64::ST3Threev4h_POST:
16302 case AArch64::ST3Threev4s_POST:
16303 case AArch64::ST3Threev8b_POST:
16304 case AArch64::ST3Threev8h_POST:
16305 case AArch64::ST4Fourv16b_POST:
16306 case AArch64::ST4Fourv2d_POST:
16307 case AArch64::ST4Fourv2s_POST:
16308 case AArch64::ST4Fourv4h_POST:
16309 case AArch64::ST4Fourv4s_POST:
16310 case AArch64::ST4Fourv8b_POST:
16311 case AArch64::ST4Fourv8h_POST: {
16312 // op: Vt
16313 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16314 Value |= (op & 0x1f);
16315 // op: Rn
16316 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16317 Value |= (op & 0x1f) << 5;
16318 // op: Xm
16319 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16320 Value |= (op & 0x1f) << 16;
16321 break;
16322 }
16323 case AArch64::LDAP1: {
16324 // op: Vt
16325 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16326 Value |= (op & 0x1f);
16327 // op: Rn
16328 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16329 Value |= (op & 0x1f) << 5;
16330 // op: Q
16331 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16332 Value |= (op & 0x1) << 30;
16333 break;
16334 }
16335 case AArch64::LD1i64:
16336 case AArch64::LD2i64:
16337 case AArch64::LD3i64:
16338 case AArch64::LD4i64: {
16339 // op: Vt
16340 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16341 Value |= (op & 0x1f);
16342 // op: Rn
16343 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16344 Value |= (op & 0x1f) << 5;
16345 // op: idx
16346 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16347 Value |= (op & 0x1) << 30;
16348 break;
16349 }
16350 case AArch64::ST1i64_POST:
16351 case AArch64::ST2i64_POST:
16352 case AArch64::ST3i64_POST:
16353 case AArch64::ST4i64_POST: {
16354 // op: Vt
16355 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16356 Value |= (op & 0x1f);
16357 // op: Rn
16358 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16359 Value |= (op & 0x1f) << 5;
16360 // op: idx
16361 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16362 Value |= (op & 0x1) << 30;
16363 // op: Xm
16364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16365 Value |= (op & 0x1f) << 16;
16366 break;
16367 }
16368 case AArch64::LD1i32:
16369 case AArch64::LD2i32:
16370 case AArch64::LD3i32:
16371 case AArch64::LD4i32: {
16372 // op: Vt
16373 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16374 Value |= (op & 0x1f);
16375 // op: Rn
16376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16377 Value |= (op & 0x1f) << 5;
16378 // op: idx
16379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16380 Value |= (op & 0x2) << 29;
16381 Value |= (op & 0x1) << 12;
16382 break;
16383 }
16384 case AArch64::ST1i32_POST:
16385 case AArch64::ST2i32_POST:
16386 case AArch64::ST3i32_POST:
16387 case AArch64::ST4i32_POST: {
16388 // op: Vt
16389 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16390 Value |= (op & 0x1f);
16391 // op: Rn
16392 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16393 Value |= (op & 0x1f) << 5;
16394 // op: idx
16395 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16396 Value |= (op & 0x2) << 29;
16397 Value |= (op & 0x1) << 12;
16398 // op: Xm
16399 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16400 Value |= (op & 0x1f) << 16;
16401 break;
16402 }
16403 case AArch64::LD1i16:
16404 case AArch64::LD2i16:
16405 case AArch64::LD3i16:
16406 case AArch64::LD4i16: {
16407 // op: Vt
16408 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16409 Value |= (op & 0x1f);
16410 // op: Rn
16411 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16412 Value |= (op & 0x1f) << 5;
16413 // op: idx
16414 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16415 Value |= (op & 0x4) << 28;
16416 Value |= (op & 0x3) << 11;
16417 break;
16418 }
16419 case AArch64::ST1i16_POST:
16420 case AArch64::ST2i16_POST:
16421 case AArch64::ST3i16_POST:
16422 case AArch64::ST4i16_POST: {
16423 // op: Vt
16424 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16425 Value |= (op & 0x1f);
16426 // op: Rn
16427 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16428 Value |= (op & 0x1f) << 5;
16429 // op: idx
16430 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16431 Value |= (op & 0x4) << 28;
16432 Value |= (op & 0x3) << 11;
16433 // op: Xm
16434 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16435 Value |= (op & 0x1f) << 16;
16436 break;
16437 }
16438 case AArch64::LD1i8:
16439 case AArch64::LD2i8:
16440 case AArch64::LD3i8:
16441 case AArch64::LD4i8: {
16442 // op: Vt
16443 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16444 Value |= (op & 0x1f);
16445 // op: Rn
16446 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16447 Value |= (op & 0x1f) << 5;
16448 // op: idx
16449 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16450 Value |= (op & 0x8) << 27;
16451 Value |= (op & 0x7) << 10;
16452 break;
16453 }
16454 case AArch64::ST1i8_POST:
16455 case AArch64::ST2i8_POST:
16456 case AArch64::ST3i8_POST:
16457 case AArch64::ST4i8_POST: {
16458 // op: Vt
16459 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16460 Value |= (op & 0x1f);
16461 // op: Rn
16462 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16463 Value |= (op & 0x1f) << 5;
16464 // op: idx
16465 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16466 Value |= (op & 0x8) << 27;
16467 Value |= (op & 0x7) << 10;
16468 // op: Xm
16469 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16470 Value |= (op & 0x1f) << 16;
16471 break;
16472 }
16473 case AArch64::LD1i64_POST:
16474 case AArch64::LD2i64_POST:
16475 case AArch64::LD3i64_POST:
16476 case AArch64::LD4i64_POST: {
16477 // op: Vt
16478 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16479 Value |= (op & 0x1f);
16480 // op: Rn
16481 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16482 Value |= (op & 0x1f) << 5;
16483 // op: idx
16484 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16485 Value |= (op & 0x1) << 30;
16486 // op: Xm
16487 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16488 Value |= (op & 0x1f) << 16;
16489 break;
16490 }
16491 case AArch64::LD1i32_POST:
16492 case AArch64::LD2i32_POST:
16493 case AArch64::LD3i32_POST:
16494 case AArch64::LD4i32_POST: {
16495 // op: Vt
16496 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16497 Value |= (op & 0x1f);
16498 // op: Rn
16499 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16500 Value |= (op & 0x1f) << 5;
16501 // op: idx
16502 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16503 Value |= (op & 0x2) << 29;
16504 Value |= (op & 0x1) << 12;
16505 // op: Xm
16506 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16507 Value |= (op & 0x1f) << 16;
16508 break;
16509 }
16510 case AArch64::LD1i16_POST:
16511 case AArch64::LD2i16_POST:
16512 case AArch64::LD3i16_POST:
16513 case AArch64::LD4i16_POST: {
16514 // op: Vt
16515 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16516 Value |= (op & 0x1f);
16517 // op: Rn
16518 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16519 Value |= (op & 0x1f) << 5;
16520 // op: idx
16521 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16522 Value |= (op & 0x4) << 28;
16523 Value |= (op & 0x3) << 11;
16524 // op: Xm
16525 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16526 Value |= (op & 0x1f) << 16;
16527 break;
16528 }
16529 case AArch64::LD1i8_POST:
16530 case AArch64::LD2i8_POST:
16531 case AArch64::LD3i8_POST:
16532 case AArch64::LD4i8_POST: {
16533 // op: Vt
16534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16535 Value |= (op & 0x1f);
16536 // op: Rn
16537 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16538 Value |= (op & 0x1f) << 5;
16539 // op: idx
16540 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16541 Value |= (op & 0x8) << 27;
16542 Value |= (op & 0x7) << 10;
16543 // op: Xm
16544 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16545 Value |= (op & 0x1f) << 16;
16546 break;
16547 }
16548 case AArch64::STLTXRW:
16549 case AArch64::STLTXRX:
16550 case AArch64::STLXRB:
16551 case AArch64::STLXRH:
16552 case AArch64::STLXRW:
16553 case AArch64::STLXRX:
16554 case AArch64::STXRB:
16555 case AArch64::STXRH:
16556 case AArch64::STXRW:
16557 case AArch64::STXRX: {
16558 // op: Ws
16559 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16560 Value |= (op & 0x1f) << 16;
16561 // op: Rt
16562 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16563 Value |= (op & 0x1f);
16564 // op: Rn
16565 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16566 Value |= (op & 0x1f) << 5;
16567 Value = fixLoadStoreExclusive<1,0>(MI, EncodedValue: Value, STI);
16568 break;
16569 }
16570 case AArch64::STLXPW:
16571 case AArch64::STLXPX:
16572 case AArch64::STXPW:
16573 case AArch64::STXPX: {
16574 // op: Ws
16575 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16576 Value |= (op & 0x1f) << 16;
16577 // op: Rt
16578 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16579 Value |= (op & 0x1f);
16580 // op: Rt2
16581 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16582 Value |= (op & 0x1f) << 10;
16583 // op: Rn
16584 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16585 Value |= (op & 0x1f) << 5;
16586 break;
16587 }
16588 case AArch64::TCHANGEBrr:
16589 case AArch64::TCHANGEFrr: {
16590 // op: Xd
16591 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16592 Value |= (op & 0x1f);
16593 // op: Xn
16594 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16595 Value |= (op & 0x1f) << 5;
16596 // op: nb
16597 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16598 Value |= (op & 0x1) << 17;
16599 break;
16600 }
16601 case AArch64::TCHANGEBri:
16602 case AArch64::TCHANGEFri: {
16603 // op: Xd
16604 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16605 Value |= (op & 0x1f);
16606 // op: imm
16607 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16608 Value |= (op & 0x7f) << 5;
16609 // op: nb
16610 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16611 Value |= (op & 0x1) << 17;
16612 break;
16613 }
16614 case AArch64::ADR:
16615 case AArch64::ADRP: {
16616 // op: Xd
16617 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16618 Value |= (op & 0x1f);
16619 // op: label
16620 op = getAdrLabelOpValue(MI, OpIdx: 1, Fixups, STI);
16621 Value |= (op & 0x3) << 29;
16622 Value |= (op & 0x1ffffc) << 3;
16623 break;
16624 }
16625 case AArch64::BFMOP4A_M2Z2Z_H:
16626 case AArch64::BFMOP4S_M2Z2Z_H:
16627 case AArch64::FMOP4A_M2Z2Z_BtoH:
16628 case AArch64::FMOP4A_M2Z2Z_H:
16629 case AArch64::FMOP4S_M2Z2Z_H: {
16630 // op: ZAda
16631 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16632 Value |= (op & 0x1);
16633 // op: Zn
16634 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16635 Value |= (op & 0x7) << 6;
16636 // op: Zm
16637 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16638 Value |= (op & 0x7) << 17;
16639 break;
16640 }
16641 case AArch64::BFMOP4A_M2ZZ_H:
16642 case AArch64::BFMOP4S_M2ZZ_H:
16643 case AArch64::FMOP4A_M2ZZ_BtoH:
16644 case AArch64::FMOP4A_M2ZZ_H:
16645 case AArch64::FMOP4S_M2ZZ_H: {
16646 // op: ZAda
16647 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16648 Value |= (op & 0x1);
16649 // op: Zn
16650 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16651 Value |= (op & 0x7) << 6;
16652 // op: Zm
16653 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16654 Value |= (op & 0x7) << 17;
16655 break;
16656 }
16657 case AArch64::BFTMOPA_M2ZZZI_HtoH:
16658 case AArch64::FTMOPA_M2ZZZI_BtoH:
16659 case AArch64::FTMOPA_M2ZZZI_HtoH: {
16660 // op: ZAda
16661 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16662 Value |= (op & 0x1);
16663 // op: Zn
16664 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
16665 Value |= (op & 0xf) << 6;
16666 // op: Zm
16667 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16668 Value |= (op & 0x1f) << 16;
16669 // op: Zk
16670 op = EncodeZK(MI, OpIdx: 4, Fixups, STI);
16671 Value |= (op & 0x7) << 10;
16672 // op: imm
16673 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16674 Value |= (op & 0x3) << 4;
16675 break;
16676 }
16677 case AArch64::BFMOP4A_MZ2Z_H:
16678 case AArch64::BFMOP4S_MZ2Z_H:
16679 case AArch64::FMOP4A_MZ2Z_BtoH:
16680 case AArch64::FMOP4A_MZ2Z_H:
16681 case AArch64::FMOP4S_MZ2Z_H: {
16682 // op: ZAda
16683 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16684 Value |= (op & 0x1);
16685 // op: Zn
16686 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16687 Value |= (op & 0x7) << 6;
16688 // op: Zm
16689 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16690 Value |= (op & 0x7) << 17;
16691 break;
16692 }
16693 case AArch64::BFMOP4A_MZZ_H:
16694 case AArch64::BFMOP4S_MZZ_H:
16695 case AArch64::FMOP4A_MZZ_BtoH:
16696 case AArch64::FMOP4A_MZZ_H:
16697 case AArch64::FMOP4S_MZZ_H: {
16698 // op: ZAda
16699 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16700 Value |= (op & 0x1);
16701 // op: Zn
16702 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16703 Value |= (op & 0x7) << 6;
16704 // op: Zm
16705 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16706 Value |= (op & 0x7) << 17;
16707 break;
16708 }
16709 case AArch64::BFMOP4A_M2Z2Z_S:
16710 case AArch64::BFMOP4S_M2Z2Z_S:
16711 case AArch64::FMOP4A_M2Z2Z_BtoS:
16712 case AArch64::FMOP4A_M2Z2Z_HtoS:
16713 case AArch64::FMOP4A_M2Z2Z_S:
16714 case AArch64::FMOP4S_M2Z2Z_HtoS:
16715 case AArch64::FMOP4S_M2Z2Z_S:
16716 case AArch64::SMOP4A_M2Z2Z_BToS:
16717 case AArch64::SMOP4A_M2Z2Z_HToS:
16718 case AArch64::SMOP4S_M2Z2Z_BToS:
16719 case AArch64::SMOP4S_M2Z2Z_HToS:
16720 case AArch64::SUMOP4A_M2Z2Z_BToS:
16721 case AArch64::SUMOP4S_M2Z2Z_BToS:
16722 case AArch64::UMOP4A_M2Z2Z_BToS:
16723 case AArch64::UMOP4A_M2Z2Z_HToS:
16724 case AArch64::UMOP4S_M2Z2Z_BToS:
16725 case AArch64::UMOP4S_M2Z2Z_HToS:
16726 case AArch64::USMOP4A_M2Z2Z_BToS:
16727 case AArch64::USMOP4S_M2Z2Z_BToS: {
16728 // op: ZAda
16729 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16730 Value |= (op & 0x3);
16731 // op: Zn
16732 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16733 Value |= (op & 0x7) << 6;
16734 // op: Zm
16735 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16736 Value |= (op & 0x7) << 17;
16737 break;
16738 }
16739 case AArch64::BFMOP4A_M2ZZ_S:
16740 case AArch64::BFMOP4S_M2ZZ_S:
16741 case AArch64::FMOP4A_M2ZZ_BtoS:
16742 case AArch64::FMOP4A_M2ZZ_HtoS:
16743 case AArch64::FMOP4A_M2ZZ_S:
16744 case AArch64::FMOP4S_M2ZZ_HtoS:
16745 case AArch64::FMOP4S_M2ZZ_S:
16746 case AArch64::SMOP4A_M2ZZ_BToS:
16747 case AArch64::SMOP4A_M2ZZ_HToS:
16748 case AArch64::SMOP4S_M2ZZ_BToS:
16749 case AArch64::SMOP4S_M2ZZ_HToS:
16750 case AArch64::SUMOP4A_M2ZZ_BToS:
16751 case AArch64::SUMOP4S_M2ZZ_BToS:
16752 case AArch64::UMOP4A_M2ZZ_BToS:
16753 case AArch64::UMOP4A_M2ZZ_HToS:
16754 case AArch64::UMOP4S_M2ZZ_BToS:
16755 case AArch64::UMOP4S_M2ZZ_HToS:
16756 case AArch64::USMOP4A_M2ZZ_BToS:
16757 case AArch64::USMOP4S_M2ZZ_BToS: {
16758 // op: ZAda
16759 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16760 Value |= (op & 0x3);
16761 // op: Zn
16762 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16763 Value |= (op & 0x7) << 6;
16764 // op: Zm
16765 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16766 Value |= (op & 0x7) << 17;
16767 break;
16768 }
16769 case AArch64::BFTMOPA_M2ZZZI_HtoS:
16770 case AArch64::FTMOPA_M2ZZZI_BtoS:
16771 case AArch64::FTMOPA_M2ZZZI_HtoS:
16772 case AArch64::FTMOPA_M2ZZZI_StoS:
16773 case AArch64::STMOPA_M2ZZZI_BtoS:
16774 case AArch64::STMOPA_M2ZZZI_HtoS:
16775 case AArch64::SUTMOPA_M2ZZZI_BtoS:
16776 case AArch64::USTMOPA_M2ZZZI_BtoS:
16777 case AArch64::UTMOPA_M2ZZZI_BtoS:
16778 case AArch64::UTMOPA_M2ZZZI_HtoS: {
16779 // op: ZAda
16780 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16781 Value |= (op & 0x3);
16782 // op: Zn
16783 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
16784 Value |= (op & 0xf) << 6;
16785 // op: Zm
16786 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16787 Value |= (op & 0x1f) << 16;
16788 // op: Zk
16789 op = EncodeZK(MI, OpIdx: 4, Fixups, STI);
16790 Value |= (op & 0x7) << 10;
16791 // op: imm
16792 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16793 Value |= (op & 0x3) << 4;
16794 break;
16795 }
16796 case AArch64::BFMOP4A_MZ2Z_S:
16797 case AArch64::BFMOP4S_MZ2Z_S:
16798 case AArch64::FMOP4A_MZ2Z_BtoS:
16799 case AArch64::FMOP4A_MZ2Z_HtoS:
16800 case AArch64::FMOP4A_MZ2Z_S:
16801 case AArch64::FMOP4S_MZ2Z_HtoS:
16802 case AArch64::FMOP4S_MZ2Z_S:
16803 case AArch64::SMOP4A_MZ2Z_BToS:
16804 case AArch64::SMOP4A_MZ2Z_HToS:
16805 case AArch64::SMOP4S_MZ2Z_BToS:
16806 case AArch64::SMOP4S_MZ2Z_HToS:
16807 case AArch64::SUMOP4A_MZ2Z_BToS:
16808 case AArch64::SUMOP4S_MZ2Z_BToS:
16809 case AArch64::UMOP4A_MZ2Z_BToS:
16810 case AArch64::UMOP4A_MZ2Z_HToS:
16811 case AArch64::UMOP4S_MZ2Z_BToS:
16812 case AArch64::UMOP4S_MZ2Z_HToS:
16813 case AArch64::USMOP4A_MZ2Z_BToS:
16814 case AArch64::USMOP4S_MZ2Z_BToS: {
16815 // op: ZAda
16816 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16817 Value |= (op & 0x3);
16818 // op: Zn
16819 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16820 Value |= (op & 0x7) << 6;
16821 // op: Zm
16822 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16823 Value |= (op & 0x7) << 17;
16824 break;
16825 }
16826 case AArch64::BFMOP4A_MZZ_S:
16827 case AArch64::BFMOP4S_MZZ_S:
16828 case AArch64::FMOP4A_MZZ_BtoS:
16829 case AArch64::FMOP4A_MZZ_HtoS:
16830 case AArch64::FMOP4A_MZZ_S:
16831 case AArch64::FMOP4S_MZZ_HtoS:
16832 case AArch64::FMOP4S_MZZ_S:
16833 case AArch64::SMOP4A_MZZ_BToS:
16834 case AArch64::SMOP4A_MZZ_HToS:
16835 case AArch64::SMOP4S_MZZ_BToS:
16836 case AArch64::SMOP4S_MZZ_HToS:
16837 case AArch64::SUMOP4A_MZZ_BToS:
16838 case AArch64::SUMOP4S_MZZ_BToS:
16839 case AArch64::UMOP4A_MZZ_BToS:
16840 case AArch64::UMOP4A_MZZ_HToS:
16841 case AArch64::UMOP4S_MZZ_BToS:
16842 case AArch64::UMOP4S_MZZ_HToS:
16843 case AArch64::USMOP4A_MZZ_BToS:
16844 case AArch64::USMOP4S_MZZ_BToS: {
16845 // op: ZAda
16846 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16847 Value |= (op & 0x3);
16848 // op: Zn
16849 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16850 Value |= (op & 0x7) << 6;
16851 // op: Zm
16852 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16853 Value |= (op & 0x7) << 17;
16854 break;
16855 }
16856 case AArch64::FMOP4A_M2Z2Z_D:
16857 case AArch64::FMOP4S_M2Z2Z_D:
16858 case AArch64::SMOP4A_M2Z2Z_HtoD:
16859 case AArch64::SMOP4S_M2Z2Z_HtoD:
16860 case AArch64::SUMOP4A_M2Z2Z_HtoD:
16861 case AArch64::SUMOP4S_M2Z2Z_HtoD:
16862 case AArch64::UMOP4A_M2Z2Z_HtoD:
16863 case AArch64::UMOP4S_M2Z2Z_HtoD:
16864 case AArch64::USMOP4A_M2Z2Z_HtoD:
16865 case AArch64::USMOP4S_M2Z2Z_HtoD: {
16866 // op: ZAda
16867 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16868 Value |= (op & 0x7);
16869 // op: Zn
16870 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16871 Value |= (op & 0x7) << 6;
16872 // op: Zm
16873 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16874 Value |= (op & 0x7) << 17;
16875 break;
16876 }
16877 case AArch64::FMOP4A_M2ZZ_D:
16878 case AArch64::FMOP4S_M2ZZ_D:
16879 case AArch64::SMOP4A_M2ZZ_HtoD:
16880 case AArch64::SMOP4S_M2ZZ_HtoD:
16881 case AArch64::SUMOP4A_M2ZZ_HtoD:
16882 case AArch64::SUMOP4S_M2ZZ_HtoD:
16883 case AArch64::UMOP4A_M2ZZ_HtoD:
16884 case AArch64::UMOP4S_M2ZZ_HtoD:
16885 case AArch64::USMOP4A_M2ZZ_HtoD:
16886 case AArch64::USMOP4S_M2ZZ_HtoD: {
16887 // op: ZAda
16888 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16889 Value |= (op & 0x7);
16890 // op: Zn
16891 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16892 Value |= (op & 0x7) << 6;
16893 // op: Zm
16894 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16895 Value |= (op & 0x7) << 17;
16896 break;
16897 }
16898 case AArch64::FMOP4A_MZ2Z_D:
16899 case AArch64::FMOP4S_MZ2Z_D:
16900 case AArch64::SMOP4A_MZ2Z_HtoD:
16901 case AArch64::SMOP4S_MZ2Z_HtoD:
16902 case AArch64::SUMOP4A_MZ2Z_HtoD:
16903 case AArch64::SUMOP4S_MZ2Z_HtoD:
16904 case AArch64::UMOP4A_MZ2Z_HtoD:
16905 case AArch64::UMOP4S_MZ2Z_HtoD:
16906 case AArch64::USMOP4A_MZ2Z_HtoD:
16907 case AArch64::USMOP4S_MZ2Z_HtoD: {
16908 // op: ZAda
16909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16910 Value |= (op & 0x7);
16911 // op: Zn
16912 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16913 Value |= (op & 0x7) << 6;
16914 // op: Zm
16915 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16916 Value |= (op & 0x7) << 17;
16917 break;
16918 }
16919 case AArch64::FMOP4A_MZZ_D:
16920 case AArch64::FMOP4S_MZZ_D:
16921 case AArch64::SMOP4A_MZZ_HtoD:
16922 case AArch64::SMOP4S_MZZ_HtoD:
16923 case AArch64::SUMOP4A_MZZ_HtoD:
16924 case AArch64::SUMOP4S_MZZ_HtoD:
16925 case AArch64::UMOP4A_MZZ_HtoD:
16926 case AArch64::UMOP4S_MZZ_HtoD:
16927 case AArch64::USMOP4A_MZZ_HtoD:
16928 case AArch64::USMOP4S_MZZ_HtoD: {
16929 // op: ZAda
16930 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16931 Value |= (op & 0x7);
16932 // op: Zn
16933 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16934 Value |= (op & 0x7) << 6;
16935 // op: Zm
16936 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16937 Value |= (op & 0x7) << 17;
16938 break;
16939 }
16940 case AArch64::MOVA_2ZMXI_H_H:
16941 case AArch64::MOVA_2ZMXI_V_H: {
16942 // op: Zd
16943 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16944 Value |= (op & 0xf) << 1;
16945 // op: Rs
16946 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16947 Value |= (op & 0x3) << 13;
16948 // op: ZAn
16949 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16950 Value |= (op & 0x1) << 7;
16951 // op: imm
16952 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16953 Value |= (op & 0x3) << 5;
16954 break;
16955 }
16956 case AArch64::MOVA_2ZMXI_H_S:
16957 case AArch64::MOVA_2ZMXI_V_S: {
16958 // op: Zd
16959 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16960 Value |= (op & 0xf) << 1;
16961 // op: Rs
16962 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16963 Value |= (op & 0x3) << 13;
16964 // op: ZAn
16965 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16966 Value |= (op & 0x3) << 6;
16967 // op: imm
16968 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16969 Value |= (op & 0x1) << 5;
16970 break;
16971 }
16972 case AArch64::MOVA_2ZMXI_H_D:
16973 case AArch64::MOVA_2ZMXI_V_D: {
16974 // op: Zd
16975 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16976 Value |= (op & 0xf) << 1;
16977 // op: Rs
16978 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16979 Value |= (op & 0x3) << 13;
16980 // op: ZAn
16981 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16982 Value |= (op & 0x7) << 5;
16983 break;
16984 }
16985 case AArch64::MOVA_2ZMXI_H_B:
16986 case AArch64::MOVA_2ZMXI_V_B: {
16987 // op: Zd
16988 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16989 Value |= (op & 0xf) << 1;
16990 // op: Rs
16991 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16992 Value |= (op & 0x3) << 13;
16993 // op: imm
16994 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16995 Value |= (op & 0x7) << 5;
16996 break;
16997 }
16998 case AArch64::MOVAZ_2ZMI_H_H:
16999 case AArch64::MOVAZ_2ZMI_V_H: {
17000 // op: Zd
17001 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17002 Value |= (op & 0xf) << 1;
17003 // op: Rs
17004 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17005 Value |= (op & 0x3) << 13;
17006 // op: ZAn
17007 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17008 Value |= (op & 0x1) << 7;
17009 // op: imm
17010 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17011 Value |= (op & 0x3) << 5;
17012 break;
17013 }
17014 case AArch64::MOVAZ_2ZMI_H_S:
17015 case AArch64::MOVAZ_2ZMI_V_S: {
17016 // op: Zd
17017 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17018 Value |= (op & 0xf) << 1;
17019 // op: Rs
17020 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17021 Value |= (op & 0x3) << 13;
17022 // op: ZAn
17023 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17024 Value |= (op & 0x3) << 6;
17025 // op: imm
17026 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17027 Value |= (op & 0x1) << 5;
17028 break;
17029 }
17030 case AArch64::MOVAZ_2ZMI_H_D:
17031 case AArch64::MOVAZ_2ZMI_V_D: {
17032 // op: Zd
17033 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17034 Value |= (op & 0xf) << 1;
17035 // op: Rs
17036 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17037 Value |= (op & 0x3) << 13;
17038 // op: ZAn
17039 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17040 Value |= (op & 0x7) << 5;
17041 break;
17042 }
17043 case AArch64::MOVAZ_2ZMI_H_B:
17044 case AArch64::MOVAZ_2ZMI_V_B: {
17045 // op: Zd
17046 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17047 Value |= (op & 0xf) << 1;
17048 // op: Rs
17049 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17050 Value |= (op & 0x3) << 13;
17051 // op: imm
17052 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17053 Value |= (op & 0x7) << 5;
17054 break;
17055 }
17056 case AArch64::UZP_VG2_2ZZZ_B:
17057 case AArch64::UZP_VG2_2ZZZ_D:
17058 case AArch64::UZP_VG2_2ZZZ_H:
17059 case AArch64::UZP_VG2_2ZZZ_Q:
17060 case AArch64::UZP_VG2_2ZZZ_S:
17061 case AArch64::ZIP_VG2_2ZZZ_B:
17062 case AArch64::ZIP_VG2_2ZZZ_D:
17063 case AArch64::ZIP_VG2_2ZZZ_H:
17064 case AArch64::ZIP_VG2_2ZZZ_Q:
17065 case AArch64::ZIP_VG2_2ZZZ_S: {
17066 // op: Zd
17067 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17068 Value |= (op & 0xf) << 1;
17069 // op: Zm
17070 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17071 Value |= (op & 0x1f) << 16;
17072 // op: Zn
17073 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17074 Value |= (op & 0x1f) << 5;
17075 break;
17076 }
17077 case AArch64::BFMUL_2Z2Z:
17078 case AArch64::FMUL_2Z2Z_D:
17079 case AArch64::FMUL_2Z2Z_H:
17080 case AArch64::FMUL_2Z2Z_S: {
17081 // op: Zd
17082 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17083 Value |= (op & 0xf) << 1;
17084 // op: Zn
17085 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17086 Value |= (op & 0xf) << 6;
17087 // op: Zm
17088 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
17089 Value |= (op & 0xf) << 17;
17090 break;
17091 }
17092 case AArch64::BFMUL_2ZZ:
17093 case AArch64::FMUL_2ZZ_D:
17094 case AArch64::FMUL_2ZZ_H:
17095 case AArch64::FMUL_2ZZ_S: {
17096 // op: Zd
17097 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17098 Value |= (op & 0xf) << 1;
17099 // op: Zn
17100 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17101 Value |= (op & 0xf) << 6;
17102 // op: Zm
17103 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17104 Value |= (op & 0xf) << 17;
17105 break;
17106 }
17107 case AArch64::MOVA_4ZMXI_H_H:
17108 case AArch64::MOVA_4ZMXI_V_H: {
17109 // op: Zd
17110 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17111 Value |= (op & 0x7) << 2;
17112 // op: Rs
17113 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17114 Value |= (op & 0x3) << 13;
17115 // op: ZAn
17116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17117 Value |= (op & 0x1) << 6;
17118 // op: imm
17119 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17120 Value |= (op & 0x1) << 5;
17121 break;
17122 }
17123 case AArch64::MOVA_4ZMXI_H_S:
17124 case AArch64::MOVA_4ZMXI_V_S: {
17125 // op: Zd
17126 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17127 Value |= (op & 0x7) << 2;
17128 // op: Rs
17129 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17130 Value |= (op & 0x3) << 13;
17131 // op: ZAn
17132 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17133 Value |= (op & 0x3) << 5;
17134 break;
17135 }
17136 case AArch64::MOVA_4ZMXI_H_D:
17137 case AArch64::MOVA_4ZMXI_V_D: {
17138 // op: Zd
17139 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17140 Value |= (op & 0x7) << 2;
17141 // op: Rs
17142 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17143 Value |= (op & 0x3) << 13;
17144 // op: ZAn
17145 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17146 Value |= (op & 0x7) << 5;
17147 break;
17148 }
17149 case AArch64::MOVA_4ZMXI_H_B:
17150 case AArch64::MOVA_4ZMXI_V_B: {
17151 // op: Zd
17152 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17153 Value |= (op & 0x7) << 2;
17154 // op: Rs
17155 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17156 Value |= (op & 0x3) << 13;
17157 // op: imm
17158 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17159 Value |= (op & 0x3) << 5;
17160 break;
17161 }
17162 case AArch64::MOVAZ_4ZMI_H_H:
17163 case AArch64::MOVAZ_4ZMI_V_H: {
17164 // op: Zd
17165 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17166 Value |= (op & 0x7) << 2;
17167 // op: Rs
17168 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17169 Value |= (op & 0x3) << 13;
17170 // op: ZAn
17171 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17172 Value |= (op & 0x1) << 6;
17173 // op: imm
17174 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17175 Value |= (op & 0x1) << 5;
17176 break;
17177 }
17178 case AArch64::MOVAZ_4ZMI_H_S:
17179 case AArch64::MOVAZ_4ZMI_V_S: {
17180 // op: Zd
17181 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17182 Value |= (op & 0x7) << 2;
17183 // op: Rs
17184 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17185 Value |= (op & 0x3) << 13;
17186 // op: ZAn
17187 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17188 Value |= (op & 0x3) << 5;
17189 break;
17190 }
17191 case AArch64::MOVAZ_4ZMI_H_D:
17192 case AArch64::MOVAZ_4ZMI_V_D: {
17193 // op: Zd
17194 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17195 Value |= (op & 0x7) << 2;
17196 // op: Rs
17197 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17198 Value |= (op & 0x3) << 13;
17199 // op: ZAn
17200 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17201 Value |= (op & 0x7) << 5;
17202 break;
17203 }
17204 case AArch64::MOVAZ_4ZMI_H_B:
17205 case AArch64::MOVAZ_4ZMI_V_B: {
17206 // op: Zd
17207 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17208 Value |= (op & 0x7) << 2;
17209 // op: Rs
17210 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17211 Value |= (op & 0x3) << 13;
17212 // op: imm
17213 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17214 Value |= (op & 0x3) << 5;
17215 break;
17216 }
17217 case AArch64::LUTI6_4ZT3Z: {
17218 // op: Zd
17219 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17220 Value |= (op & 0x7) << 2;
17221 // op: Zn
17222 op = EncodeRegMul_MinMax<1, 0, 7>(MI, OpIdx: 2, Fixups, STI);
17223 Value |= (op & 0x7) << 7;
17224 break;
17225 }
17226 case AArch64::BFMUL_4Z4Z:
17227 case AArch64::FMUL_4Z4Z_D:
17228 case AArch64::FMUL_4Z4Z_H:
17229 case AArch64::FMUL_4Z4Z_S: {
17230 // op: Zd
17231 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17232 Value |= (op & 0x7) << 2;
17233 // op: Zn
17234 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
17235 Value |= (op & 0x7) << 7;
17236 // op: Zm
17237 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 2, Fixups, STI);
17238 Value |= (op & 0x7) << 18;
17239 break;
17240 }
17241 case AArch64::BFMUL_4ZZ:
17242 case AArch64::FMUL_4ZZ_D:
17243 case AArch64::FMUL_4ZZ_H:
17244 case AArch64::FMUL_4ZZ_S: {
17245 // op: Zd
17246 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17247 Value |= (op & 0x7) << 2;
17248 // op: Zn
17249 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
17250 Value |= (op & 0x7) << 7;
17251 // op: Zm
17252 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17253 Value |= (op & 0xf) << 17;
17254 break;
17255 }
17256 case AArch64::LUTI6_4Z2Z2ZI: {
17257 // op: Zd
17258 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17259 Value |= (op & 0x7) << 2;
17260 // op: Zn
17261 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17262 Value |= (op & 0x1f) << 5;
17263 // op: Zm
17264 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17265 Value |= (op & 0x1f) << 16;
17266 // op: i1
17267 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17268 Value |= (op & 0x1) << 22;
17269 break;
17270 }
17271 case AArch64::LUTI6_S_4ZT3Z: {
17272 // op: Zd
17273 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
17274 Value |= (op & 0x4) << 2;
17275 Value |= (op & 0x3);
17276 // op: Zn
17277 op = EncodeRegMul_MinMax<1, 0, 7>(MI, OpIdx: 2, Fixups, STI);
17278 Value |= (op & 0x7) << 7;
17279 break;
17280 }
17281 case AArch64::LUTI6_S_4Z2Z2ZI: {
17282 // op: Zd
17283 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
17284 Value |= (op & 0x4) << 2;
17285 Value |= (op & 0x3);
17286 // op: Zn
17287 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17288 Value |= (op & 0x1f) << 5;
17289 // op: Zm
17290 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17291 Value |= (op & 0x1f) << 16;
17292 // op: i1
17293 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17294 Value |= (op & 0x1) << 22;
17295 break;
17296 }
17297 case AArch64::RBIT_ZPzZ_B:
17298 case AArch64::RBIT_ZPzZ_D:
17299 case AArch64::RBIT_ZPzZ_H:
17300 case AArch64::RBIT_ZPzZ_S:
17301 case AArch64::REVB_ZPzZ_D:
17302 case AArch64::REVB_ZPzZ_H:
17303 case AArch64::REVB_ZPzZ_S:
17304 case AArch64::REVD_ZPzZ:
17305 case AArch64::REVH_ZPzZ_D:
17306 case AArch64::REVH_ZPzZ_S:
17307 case AArch64::REVW_ZPzZ_D: {
17308 // op: Zd
17309 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17310 Value |= (op & 0x1f);
17311 // op: Pg
17312 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17313 Value |= (op & 0x7) << 10;
17314 // op: Zn
17315 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17316 Value |= (op & 0x1f) << 5;
17317 break;
17318 }
17319 case AArch64::CPY_ZPzI_B:
17320 case AArch64::CPY_ZPzI_D:
17321 case AArch64::CPY_ZPzI_H:
17322 case AArch64::CPY_ZPzI_S: {
17323 // op: Zd
17324 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17325 Value |= (op & 0x1f);
17326 // op: Pg
17327 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17328 Value |= (op & 0xf) << 16;
17329 // op: imm
17330 op = getImm8OptLsl(MI, OpIdx: 2, Fixups, STI);
17331 Value |= (op & 0x1ff) << 5;
17332 break;
17333 }
17334 case AArch64::RBIT_ZPmZ_B:
17335 case AArch64::RBIT_ZPmZ_D:
17336 case AArch64::RBIT_ZPmZ_H:
17337 case AArch64::RBIT_ZPmZ_S:
17338 case AArch64::REVB_ZPmZ_D:
17339 case AArch64::REVB_ZPmZ_H:
17340 case AArch64::REVB_ZPmZ_S:
17341 case AArch64::REVD_ZPmZ:
17342 case AArch64::REVH_ZPmZ_D:
17343 case AArch64::REVH_ZPmZ_S:
17344 case AArch64::REVW_ZPmZ_D: {
17345 // op: Zd
17346 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17347 Value |= (op & 0x1f);
17348 // op: Pg
17349 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17350 Value |= (op & 0x7) << 10;
17351 // op: Zn
17352 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17353 Value |= (op & 0x1f) << 5;
17354 break;
17355 }
17356 case AArch64::CPY_ZPmI_B:
17357 case AArch64::CPY_ZPmI_D:
17358 case AArch64::CPY_ZPmI_H:
17359 case AArch64::CPY_ZPmI_S: {
17360 // op: Zd
17361 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17362 Value |= (op & 0x1f);
17363 // op: Pg
17364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17365 Value |= (op & 0xf) << 16;
17366 // op: imm
17367 op = getImm8OptLsl(MI, OpIdx: 3, Fixups, STI);
17368 Value |= (op & 0x1ff) << 5;
17369 break;
17370 }
17371 case AArch64::PMOV_ZIP_B: {
17372 // op: Zd
17373 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17374 Value |= (op & 0x1f);
17375 // op: Pn
17376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17377 Value |= (op & 0xf) << 5;
17378 break;
17379 }
17380 case AArch64::PMOV_ZIP_H: {
17381 // op: Zd
17382 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17383 Value |= (op & 0x1f);
17384 // op: Pn
17385 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17386 Value |= (op & 0xf) << 5;
17387 // op: index
17388 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17389 Value |= (op & 0x1) << 17;
17390 break;
17391 }
17392 case AArch64::PMOV_ZIP_S: {
17393 // op: Zd
17394 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17395 Value |= (op & 0x1f);
17396 // op: Pn
17397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17398 Value |= (op & 0xf) << 5;
17399 // op: index
17400 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17401 Value |= (op & 0x3) << 17;
17402 break;
17403 }
17404 case AArch64::PMOV_ZIP_D: {
17405 // op: Zd
17406 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17407 Value |= (op & 0x1f);
17408 // op: Pn
17409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17410 Value |= (op & 0xf) << 5;
17411 // op: index
17412 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17413 Value |= (op & 0x4) << 20;
17414 Value |= (op & 0x3) << 17;
17415 break;
17416 }
17417 case AArch64::INDEX_RR_B:
17418 case AArch64::INDEX_RR_D:
17419 case AArch64::INDEX_RR_H:
17420 case AArch64::INDEX_RR_S: {
17421 // op: Zd
17422 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17423 Value |= (op & 0x1f);
17424 // op: Rm
17425 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17426 Value |= (op & 0x1f) << 16;
17427 // op: Rn
17428 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17429 Value |= (op & 0x1f) << 5;
17430 break;
17431 }
17432 case AArch64::ADDQP_ZZZ_B:
17433 case AArch64::ADDQP_ZZZ_D:
17434 case AArch64::ADDQP_ZZZ_H:
17435 case AArch64::ADDQP_ZZZ_S:
17436 case AArch64::ADDSUBP_ZZZ_B:
17437 case AArch64::ADDSUBP_ZZZ_D:
17438 case AArch64::ADDSUBP_ZZZ_H:
17439 case AArch64::ADDSUBP_ZZZ_S:
17440 case AArch64::ADD_ZZZ_B:
17441 case AArch64::ADD_ZZZ_CPA:
17442 case AArch64::ADD_ZZZ_D:
17443 case AArch64::ADD_ZZZ_H:
17444 case AArch64::ADD_ZZZ_S:
17445 case AArch64::AND_ZZZ:
17446 case AArch64::ASR_WIDE_ZZZ_B:
17447 case AArch64::ASR_WIDE_ZZZ_H:
17448 case AArch64::ASR_WIDE_ZZZ_S:
17449 case AArch64::BFADD_ZZZ:
17450 case AArch64::BFMUL_ZZZ:
17451 case AArch64::BFSUB_ZZZ:
17452 case AArch64::BIC_ZZZ:
17453 case AArch64::EOR_ZZZ:
17454 case AArch64::FADD_ZZZ_D:
17455 case AArch64::FADD_ZZZ_H:
17456 case AArch64::FADD_ZZZ_S:
17457 case AArch64::FMUL_ZZZ_D:
17458 case AArch64::FMUL_ZZZ_H:
17459 case AArch64::FMUL_ZZZ_S:
17460 case AArch64::FRECPS_ZZZ_D:
17461 case AArch64::FRECPS_ZZZ_H:
17462 case AArch64::FRECPS_ZZZ_S:
17463 case AArch64::FRSQRTS_ZZZ_D:
17464 case AArch64::FRSQRTS_ZZZ_H:
17465 case AArch64::FRSQRTS_ZZZ_S:
17466 case AArch64::FSUB_ZZZ_D:
17467 case AArch64::FSUB_ZZZ_H:
17468 case AArch64::FSUB_ZZZ_S:
17469 case AArch64::FTSMUL_ZZZ_D:
17470 case AArch64::FTSMUL_ZZZ_H:
17471 case AArch64::FTSMUL_ZZZ_S:
17472 case AArch64::FTSSEL_ZZZ_D:
17473 case AArch64::FTSSEL_ZZZ_H:
17474 case AArch64::FTSSEL_ZZZ_S:
17475 case AArch64::LSL_WIDE_ZZZ_B:
17476 case AArch64::LSL_WIDE_ZZZ_H:
17477 case AArch64::LSL_WIDE_ZZZ_S:
17478 case AArch64::LSR_WIDE_ZZZ_B:
17479 case AArch64::LSR_WIDE_ZZZ_H:
17480 case AArch64::LSR_WIDE_ZZZ_S:
17481 case AArch64::MUL_ZZZ_B:
17482 case AArch64::MUL_ZZZ_D:
17483 case AArch64::MUL_ZZZ_H:
17484 case AArch64::MUL_ZZZ_S:
17485 case AArch64::ORR_ZZZ:
17486 case AArch64::PMUL_ZZZ_B:
17487 case AArch64::SMULH_ZZZ_B:
17488 case AArch64::SMULH_ZZZ_D:
17489 case AArch64::SMULH_ZZZ_H:
17490 case AArch64::SMULH_ZZZ_S:
17491 case AArch64::SQADD_ZZZ_B:
17492 case AArch64::SQADD_ZZZ_D:
17493 case AArch64::SQADD_ZZZ_H:
17494 case AArch64::SQADD_ZZZ_S:
17495 case AArch64::SQDMULH_ZZZ_B:
17496 case AArch64::SQDMULH_ZZZ_D:
17497 case AArch64::SQDMULH_ZZZ_H:
17498 case AArch64::SQDMULH_ZZZ_S:
17499 case AArch64::SQRDMULH_ZZZ_B:
17500 case AArch64::SQRDMULH_ZZZ_D:
17501 case AArch64::SQRDMULH_ZZZ_H:
17502 case AArch64::SQRDMULH_ZZZ_S:
17503 case AArch64::SQSUB_ZZZ_B:
17504 case AArch64::SQSUB_ZZZ_D:
17505 case AArch64::SQSUB_ZZZ_H:
17506 case AArch64::SQSUB_ZZZ_S:
17507 case AArch64::SUB_ZZZ_B:
17508 case AArch64::SUB_ZZZ_CPA:
17509 case AArch64::SUB_ZZZ_D:
17510 case AArch64::SUB_ZZZ_H:
17511 case AArch64::SUB_ZZZ_S:
17512 case AArch64::TBL_ZZZZ_B:
17513 case AArch64::TBL_ZZZZ_D:
17514 case AArch64::TBL_ZZZZ_H:
17515 case AArch64::TBL_ZZZZ_S:
17516 case AArch64::TBL_ZZZ_B:
17517 case AArch64::TBL_ZZZ_D:
17518 case AArch64::TBL_ZZZ_H:
17519 case AArch64::TBL_ZZZ_S:
17520 case AArch64::TRN1_ZZZ_B:
17521 case AArch64::TRN1_ZZZ_D:
17522 case AArch64::TRN1_ZZZ_H:
17523 case AArch64::TRN1_ZZZ_Q:
17524 case AArch64::TRN1_ZZZ_S:
17525 case AArch64::TRN2_ZZZ_B:
17526 case AArch64::TRN2_ZZZ_D:
17527 case AArch64::TRN2_ZZZ_H:
17528 case AArch64::TRN2_ZZZ_Q:
17529 case AArch64::TRN2_ZZZ_S:
17530 case AArch64::UMULH_ZZZ_B:
17531 case AArch64::UMULH_ZZZ_D:
17532 case AArch64::UMULH_ZZZ_H:
17533 case AArch64::UMULH_ZZZ_S:
17534 case AArch64::UQADD_ZZZ_B:
17535 case AArch64::UQADD_ZZZ_D:
17536 case AArch64::UQADD_ZZZ_H:
17537 case AArch64::UQADD_ZZZ_S:
17538 case AArch64::UQSUB_ZZZ_B:
17539 case AArch64::UQSUB_ZZZ_D:
17540 case AArch64::UQSUB_ZZZ_H:
17541 case AArch64::UQSUB_ZZZ_S:
17542 case AArch64::UZP1_ZZZ_B:
17543 case AArch64::UZP1_ZZZ_D:
17544 case AArch64::UZP1_ZZZ_H:
17545 case AArch64::UZP1_ZZZ_Q:
17546 case AArch64::UZP1_ZZZ_S:
17547 case AArch64::UZP2_ZZZ_B:
17548 case AArch64::UZP2_ZZZ_D:
17549 case AArch64::UZP2_ZZZ_H:
17550 case AArch64::UZP2_ZZZ_Q:
17551 case AArch64::UZP2_ZZZ_S:
17552 case AArch64::ZIP1_ZZZ_B:
17553 case AArch64::ZIP1_ZZZ_D:
17554 case AArch64::ZIP1_ZZZ_H:
17555 case AArch64::ZIP1_ZZZ_Q:
17556 case AArch64::ZIP1_ZZZ_S:
17557 case AArch64::ZIP2_ZZZ_B:
17558 case AArch64::ZIP2_ZZZ_D:
17559 case AArch64::ZIP2_ZZZ_H:
17560 case AArch64::ZIP2_ZZZ_Q:
17561 case AArch64::ZIP2_ZZZ_S: {
17562 // op: Zd
17563 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17564 Value |= (op & 0x1f);
17565 // op: Zm
17566 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17567 Value |= (op & 0x1f) << 16;
17568 // op: Zn
17569 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17570 Value |= (op & 0x1f) << 5;
17571 break;
17572 }
17573 case AArch64::TBXQ_ZZZ_B:
17574 case AArch64::TBXQ_ZZZ_D:
17575 case AArch64::TBXQ_ZZZ_H:
17576 case AArch64::TBXQ_ZZZ_S:
17577 case AArch64::TBX_ZZZ_B:
17578 case AArch64::TBX_ZZZ_D:
17579 case AArch64::TBX_ZZZ_H:
17580 case AArch64::TBX_ZZZ_S: {
17581 // op: Zd
17582 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17583 Value |= (op & 0x1f);
17584 // op: Zm
17585 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17586 Value |= (op & 0x1f) << 16;
17587 // op: Zn
17588 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17589 Value |= (op & 0x1f) << 5;
17590 break;
17591 }
17592 case AArch64::BFCVTN_Z2Z_HtoB:
17593 case AArch64::FCVTNB_Z2Z_StoB:
17594 case AArch64::FCVTN_Z2Z_HtoB:
17595 case AArch64::FCVTZSN_Z2Z_DtoS:
17596 case AArch64::FCVTZSN_Z2Z_HtoB:
17597 case AArch64::FCVTZSN_Z2Z_StoH:
17598 case AArch64::FCVTZUN_Z2Z_DtoS:
17599 case AArch64::FCVTZUN_Z2Z_HtoB:
17600 case AArch64::FCVTZUN_Z2Z_StoH:
17601 case AArch64::SQCVTN_Z2Z_StoH:
17602 case AArch64::SQCVTUN_Z2Z_StoH:
17603 case AArch64::UQCVTN_Z2Z_StoH: {
17604 // op: Zd
17605 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17606 Value |= (op & 0x1f);
17607 // op: Zn
17608 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17609 Value |= (op & 0xf) << 6;
17610 break;
17611 }
17612 case AArch64::SQRSHRN_Z2ZI_StoH:
17613 case AArch64::SQRSHRUN_Z2ZI_StoH:
17614 case AArch64::SQSHRN_Z2ZI_StoH:
17615 case AArch64::SQSHRUN_Z2ZI_StoH:
17616 case AArch64::UQRSHRN_Z2ZI_StoH:
17617 case AArch64::UQSHRN_Z2ZI_StoH: {
17618 // op: Zd
17619 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17620 Value |= (op & 0x1f);
17621 // op: Zn
17622 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17623 Value |= (op & 0xf) << 6;
17624 // op: imm
17625 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
17626 Value |= (op & 0xf) << 16;
17627 break;
17628 }
17629 case AArch64::SQRSHRN_Z2ZI_HtoB:
17630 case AArch64::SQRSHRUN_Z2ZI_HtoB:
17631 case AArch64::SQSHRN_Z2ZI_HtoB:
17632 case AArch64::SQSHRUN_Z2ZI_HtoB:
17633 case AArch64::UQRSHRN_Z2ZI_HtoB:
17634 case AArch64::UQSHRN_Z2ZI_HtoB: {
17635 // op: Zd
17636 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17637 Value |= (op & 0x1f);
17638 // op: Zn
17639 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17640 Value |= (op & 0xf) << 6;
17641 // op: imm
17642 op = getVecShiftR8OpValue(MI, OpIdx: 2, Fixups, STI);
17643 Value |= (op & 0x7) << 16;
17644 break;
17645 }
17646 case AArch64::FCVTNT_Z2Z_StoB: {
17647 // op: Zd
17648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17649 Value |= (op & 0x1f);
17650 // op: Zn
17651 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
17652 Value |= (op & 0xf) << 6;
17653 break;
17654 }
17655 case AArch64::BF1CVTLT_ZZ_BtoH:
17656 case AArch64::BF1CVT_ZZ_BtoH:
17657 case AArch64::BF2CVTLT_ZZ_BtoH:
17658 case AArch64::BF2CVT_ZZ_BtoH:
17659 case AArch64::F1CVTLT_ZZ_BtoH:
17660 case AArch64::F1CVT_ZZ_BtoH:
17661 case AArch64::F2CVTLT_ZZ_BtoH:
17662 case AArch64::F2CVT_ZZ_BtoH:
17663 case AArch64::FEXPA_ZZ_D:
17664 case AArch64::FEXPA_ZZ_H:
17665 case AArch64::FEXPA_ZZ_S:
17666 case AArch64::FRECPE_ZZ_D:
17667 case AArch64::FRECPE_ZZ_H:
17668 case AArch64::FRECPE_ZZ_S:
17669 case AArch64::FRSQRTE_ZZ_D:
17670 case AArch64::FRSQRTE_ZZ_H:
17671 case AArch64::FRSQRTE_ZZ_S:
17672 case AArch64::MOVPRFX_ZZ:
17673 case AArch64::REV_ZZ_B:
17674 case AArch64::REV_ZZ_D:
17675 case AArch64::REV_ZZ_H:
17676 case AArch64::REV_ZZ_S:
17677 case AArch64::SCVTFLT_ZZ_BtoH:
17678 case AArch64::SCVTFLT_ZZ_HtoS:
17679 case AArch64::SCVTFLT_ZZ_StoD:
17680 case AArch64::SCVTF_ZZ_BtoH:
17681 case AArch64::SCVTF_ZZ_HtoS:
17682 case AArch64::SCVTF_ZZ_StoD:
17683 case AArch64::SQXTNB_ZZ_B:
17684 case AArch64::SQXTNB_ZZ_H:
17685 case AArch64::SQXTNB_ZZ_S:
17686 case AArch64::SQXTUNB_ZZ_B:
17687 case AArch64::SQXTUNB_ZZ_H:
17688 case AArch64::SQXTUNB_ZZ_S:
17689 case AArch64::SUNPKHI_ZZ_D:
17690 case AArch64::SUNPKHI_ZZ_H:
17691 case AArch64::SUNPKHI_ZZ_S:
17692 case AArch64::SUNPKLO_ZZ_D:
17693 case AArch64::SUNPKLO_ZZ_H:
17694 case AArch64::SUNPKLO_ZZ_S:
17695 case AArch64::UCVTFLT_ZZ_BtoH:
17696 case AArch64::UCVTFLT_ZZ_HtoS:
17697 case AArch64::UCVTFLT_ZZ_StoD:
17698 case AArch64::UCVTF_ZZ_BtoH:
17699 case AArch64::UCVTF_ZZ_HtoS:
17700 case AArch64::UCVTF_ZZ_StoD:
17701 case AArch64::UQXTNB_ZZ_B:
17702 case AArch64::UQXTNB_ZZ_H:
17703 case AArch64::UQXTNB_ZZ_S:
17704 case AArch64::UUNPKHI_ZZ_D:
17705 case AArch64::UUNPKHI_ZZ_H:
17706 case AArch64::UUNPKHI_ZZ_S:
17707 case AArch64::UUNPKLO_ZZ_D:
17708 case AArch64::UUNPKLO_ZZ_H:
17709 case AArch64::UUNPKLO_ZZ_S: {
17710 // op: Zd
17711 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17712 Value |= (op & 0x1f);
17713 // op: Zn
17714 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17715 Value |= (op & 0x1f) << 5;
17716 break;
17717 }
17718 case AArch64::ADDHNB_ZZZ_B:
17719 case AArch64::ADDHNB_ZZZ_H:
17720 case AArch64::ADDHNB_ZZZ_S:
17721 case AArch64::ADR_LSL_ZZZ_D_0:
17722 case AArch64::ADR_LSL_ZZZ_D_1:
17723 case AArch64::ADR_LSL_ZZZ_D_2:
17724 case AArch64::ADR_LSL_ZZZ_D_3:
17725 case AArch64::ADR_LSL_ZZZ_S_0:
17726 case AArch64::ADR_LSL_ZZZ_S_1:
17727 case AArch64::ADR_LSL_ZZZ_S_2:
17728 case AArch64::ADR_LSL_ZZZ_S_3:
17729 case AArch64::ADR_SXTW_ZZZ_D_0:
17730 case AArch64::ADR_SXTW_ZZZ_D_1:
17731 case AArch64::ADR_SXTW_ZZZ_D_2:
17732 case AArch64::ADR_SXTW_ZZZ_D_3:
17733 case AArch64::ADR_UXTW_ZZZ_D_0:
17734 case AArch64::ADR_UXTW_ZZZ_D_1:
17735 case AArch64::ADR_UXTW_ZZZ_D_2:
17736 case AArch64::ADR_UXTW_ZZZ_D_3:
17737 case AArch64::BDEP_ZZZ_B:
17738 case AArch64::BDEP_ZZZ_D:
17739 case AArch64::BDEP_ZZZ_H:
17740 case AArch64::BDEP_ZZZ_S:
17741 case AArch64::BEXT_ZZZ_B:
17742 case AArch64::BEXT_ZZZ_D:
17743 case AArch64::BEXT_ZZZ_H:
17744 case AArch64::BEXT_ZZZ_S:
17745 case AArch64::BGRP_ZZZ_B:
17746 case AArch64::BGRP_ZZZ_D:
17747 case AArch64::BGRP_ZZZ_H:
17748 case AArch64::BGRP_ZZZ_S:
17749 case AArch64::HISTSEG_ZZZ:
17750 case AArch64::LUTI6_Z2ZZ:
17751 case AArch64::PMULLB_ZZZ_D:
17752 case AArch64::PMULLB_ZZZ_H:
17753 case AArch64::PMULLB_ZZZ_Q:
17754 case AArch64::PMULLT_ZZZ_D:
17755 case AArch64::PMULLT_ZZZ_H:
17756 case AArch64::PMULLT_ZZZ_Q:
17757 case AArch64::RADDHNB_ZZZ_B:
17758 case AArch64::RADDHNB_ZZZ_H:
17759 case AArch64::RADDHNB_ZZZ_S:
17760 case AArch64::RAX1_ZZZ_D:
17761 case AArch64::RSUBHNB_ZZZ_B:
17762 case AArch64::RSUBHNB_ZZZ_H:
17763 case AArch64::RSUBHNB_ZZZ_S:
17764 case AArch64::SABDLB_ZZZ_D:
17765 case AArch64::SABDLB_ZZZ_H:
17766 case AArch64::SABDLB_ZZZ_S:
17767 case AArch64::SABDLT_ZZZ_D:
17768 case AArch64::SABDLT_ZZZ_H:
17769 case AArch64::SABDLT_ZZZ_S:
17770 case AArch64::SADDLBT_ZZZ_D:
17771 case AArch64::SADDLBT_ZZZ_H:
17772 case AArch64::SADDLBT_ZZZ_S:
17773 case AArch64::SADDLB_ZZZ_D:
17774 case AArch64::SADDLB_ZZZ_H:
17775 case AArch64::SADDLB_ZZZ_S:
17776 case AArch64::SADDLT_ZZZ_D:
17777 case AArch64::SADDLT_ZZZ_H:
17778 case AArch64::SADDLT_ZZZ_S:
17779 case AArch64::SADDWB_ZZZ_D:
17780 case AArch64::SADDWB_ZZZ_H:
17781 case AArch64::SADDWB_ZZZ_S:
17782 case AArch64::SADDWT_ZZZ_D:
17783 case AArch64::SADDWT_ZZZ_H:
17784 case AArch64::SADDWT_ZZZ_S:
17785 case AArch64::SM4EKEY_ZZZ_S:
17786 case AArch64::SMULLB_ZZZ_D:
17787 case AArch64::SMULLB_ZZZ_H:
17788 case AArch64::SMULLB_ZZZ_S:
17789 case AArch64::SMULLT_ZZZ_D:
17790 case AArch64::SMULLT_ZZZ_H:
17791 case AArch64::SMULLT_ZZZ_S:
17792 case AArch64::SQDMULLB_ZZZ_D:
17793 case AArch64::SQDMULLB_ZZZ_H:
17794 case AArch64::SQDMULLB_ZZZ_S:
17795 case AArch64::SQDMULLT_ZZZ_D:
17796 case AArch64::SQDMULLT_ZZZ_H:
17797 case AArch64::SQDMULLT_ZZZ_S:
17798 case AArch64::SSUBLBT_ZZZ_D:
17799 case AArch64::SSUBLBT_ZZZ_H:
17800 case AArch64::SSUBLBT_ZZZ_S:
17801 case AArch64::SSUBLB_ZZZ_D:
17802 case AArch64::SSUBLB_ZZZ_H:
17803 case AArch64::SSUBLB_ZZZ_S:
17804 case AArch64::SSUBLTB_ZZZ_D:
17805 case AArch64::SSUBLTB_ZZZ_H:
17806 case AArch64::SSUBLTB_ZZZ_S:
17807 case AArch64::SSUBLT_ZZZ_D:
17808 case AArch64::SSUBLT_ZZZ_H:
17809 case AArch64::SSUBLT_ZZZ_S:
17810 case AArch64::SSUBWB_ZZZ_D:
17811 case AArch64::SSUBWB_ZZZ_H:
17812 case AArch64::SSUBWB_ZZZ_S:
17813 case AArch64::SSUBWT_ZZZ_D:
17814 case AArch64::SSUBWT_ZZZ_H:
17815 case AArch64::SSUBWT_ZZZ_S:
17816 case AArch64::SUBHNB_ZZZ_B:
17817 case AArch64::SUBHNB_ZZZ_H:
17818 case AArch64::SUBHNB_ZZZ_S:
17819 case AArch64::TBLQ_ZZZ_B:
17820 case AArch64::TBLQ_ZZZ_D:
17821 case AArch64::TBLQ_ZZZ_H:
17822 case AArch64::TBLQ_ZZZ_S:
17823 case AArch64::UABDLB_ZZZ_D:
17824 case AArch64::UABDLB_ZZZ_H:
17825 case AArch64::UABDLB_ZZZ_S:
17826 case AArch64::UABDLT_ZZZ_D:
17827 case AArch64::UABDLT_ZZZ_H:
17828 case AArch64::UABDLT_ZZZ_S:
17829 case AArch64::UADDLB_ZZZ_D:
17830 case AArch64::UADDLB_ZZZ_H:
17831 case AArch64::UADDLB_ZZZ_S:
17832 case AArch64::UADDLT_ZZZ_D:
17833 case AArch64::UADDLT_ZZZ_H:
17834 case AArch64::UADDLT_ZZZ_S:
17835 case AArch64::UADDWB_ZZZ_D:
17836 case AArch64::UADDWB_ZZZ_H:
17837 case AArch64::UADDWB_ZZZ_S:
17838 case AArch64::UADDWT_ZZZ_D:
17839 case AArch64::UADDWT_ZZZ_H:
17840 case AArch64::UADDWT_ZZZ_S:
17841 case AArch64::UMULLB_ZZZ_D:
17842 case AArch64::UMULLB_ZZZ_H:
17843 case AArch64::UMULLB_ZZZ_S:
17844 case AArch64::UMULLT_ZZZ_D:
17845 case AArch64::UMULLT_ZZZ_H:
17846 case AArch64::UMULLT_ZZZ_S:
17847 case AArch64::USUBLB_ZZZ_D:
17848 case AArch64::USUBLB_ZZZ_H:
17849 case AArch64::USUBLB_ZZZ_S:
17850 case AArch64::USUBLT_ZZZ_D:
17851 case AArch64::USUBLT_ZZZ_H:
17852 case AArch64::USUBLT_ZZZ_S:
17853 case AArch64::USUBWB_ZZZ_D:
17854 case AArch64::USUBWB_ZZZ_H:
17855 case AArch64::USUBWB_ZZZ_S:
17856 case AArch64::USUBWT_ZZZ_D:
17857 case AArch64::USUBWT_ZZZ_H:
17858 case AArch64::USUBWT_ZZZ_S:
17859 case AArch64::UZPQ1_ZZZ_B:
17860 case AArch64::UZPQ1_ZZZ_D:
17861 case AArch64::UZPQ1_ZZZ_H:
17862 case AArch64::UZPQ1_ZZZ_S:
17863 case AArch64::UZPQ2_ZZZ_B:
17864 case AArch64::UZPQ2_ZZZ_D:
17865 case AArch64::UZPQ2_ZZZ_H:
17866 case AArch64::UZPQ2_ZZZ_S:
17867 case AArch64::ZIPQ1_ZZZ_B:
17868 case AArch64::ZIPQ1_ZZZ_D:
17869 case AArch64::ZIPQ1_ZZZ_H:
17870 case AArch64::ZIPQ1_ZZZ_S:
17871 case AArch64::ZIPQ2_ZZZ_B:
17872 case AArch64::ZIPQ2_ZZZ_D:
17873 case AArch64::ZIPQ2_ZZZ_H:
17874 case AArch64::ZIPQ2_ZZZ_S: {
17875 // op: Zd
17876 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17877 Value |= (op & 0x1f);
17878 // op: Zn
17879 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17880 Value |= (op & 0x1f) << 5;
17881 // op: Zm
17882 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17883 Value |= (op & 0x1f) << 16;
17884 break;
17885 }
17886 case AArch64::LUTI4_ZZZI_B:
17887 case AArch64::LUTI6_Z2ZZI_H: {
17888 // op: Zd
17889 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17890 Value |= (op & 0x1f);
17891 // op: Zn
17892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17893 Value |= (op & 0x1f) << 5;
17894 // op: Zm
17895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17896 Value |= (op & 0x1f) << 16;
17897 // op: idx
17898 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17899 Value |= (op & 0x1) << 23;
17900 break;
17901 }
17902 case AArch64::LUTI2_ZZZI_B:
17903 case AArch64::LUTI4_Z2ZZI:
17904 case AArch64::LUTI4_ZZZI_H: {
17905 // op: Zd
17906 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17907 Value |= (op & 0x1f);
17908 // op: Zn
17909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17910 Value |= (op & 0x1f) << 5;
17911 // op: Zm
17912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17913 Value |= (op & 0x1f) << 16;
17914 // op: idx
17915 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17916 Value |= (op & 0x3) << 22;
17917 break;
17918 }
17919 case AArch64::LUTI2_ZZZI_H: {
17920 // op: Zd
17921 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17922 Value |= (op & 0x1f);
17923 // op: Zn
17924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17925 Value |= (op & 0x1f) << 5;
17926 // op: Zm
17927 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17928 Value |= (op & 0x1f) << 16;
17929 // op: idx
17930 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17931 Value |= (op & 0x6) << 21;
17932 Value |= (op & 0x1) << 12;
17933 break;
17934 }
17935 case AArch64::FMUL_ZZZI_S:
17936 case AArch64::MUL_ZZZI_S:
17937 case AArch64::SQDMULH_ZZZI_S:
17938 case AArch64::SQRDMULH_ZZZI_S: {
17939 // op: Zd
17940 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17941 Value |= (op & 0x1f);
17942 // op: Zn
17943 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17944 Value |= (op & 0x1f) << 5;
17945 // op: Zm
17946 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17947 Value |= (op & 0x7) << 16;
17948 // op: iop
17949 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17950 Value |= (op & 0x3) << 19;
17951 break;
17952 }
17953 case AArch64::BFMUL_ZZZI:
17954 case AArch64::FMUL_ZZZI_H:
17955 case AArch64::MUL_ZZZI_H:
17956 case AArch64::SQDMULH_ZZZI_H:
17957 case AArch64::SQRDMULH_ZZZI_H: {
17958 // op: Zd
17959 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17960 Value |= (op & 0x1f);
17961 // op: Zn
17962 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17963 Value |= (op & 0x1f) << 5;
17964 // op: Zm
17965 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17966 Value |= (op & 0x7) << 16;
17967 // op: iop
17968 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17969 Value |= (op & 0x4) << 20;
17970 Value |= (op & 0x3) << 19;
17971 break;
17972 }
17973 case AArch64::SMULLB_ZZZI_S:
17974 case AArch64::SMULLT_ZZZI_S:
17975 case AArch64::SQDMULLB_ZZZI_S:
17976 case AArch64::SQDMULLT_ZZZI_S:
17977 case AArch64::UMULLB_ZZZI_S:
17978 case AArch64::UMULLT_ZZZI_S: {
17979 // op: Zd
17980 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17981 Value |= (op & 0x1f);
17982 // op: Zn
17983 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17984 Value |= (op & 0x1f) << 5;
17985 // op: Zm
17986 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17987 Value |= (op & 0x7) << 16;
17988 // op: iop
17989 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17990 Value |= (op & 0x6) << 18;
17991 Value |= (op & 0x1) << 11;
17992 break;
17993 }
17994 case AArch64::FMUL_ZZZI_D:
17995 case AArch64::MUL_ZZZI_D:
17996 case AArch64::SQDMULH_ZZZI_D:
17997 case AArch64::SQRDMULH_ZZZI_D: {
17998 // op: Zd
17999 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18000 Value |= (op & 0x1f);
18001 // op: Zn
18002 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18003 Value |= (op & 0x1f) << 5;
18004 // op: Zm
18005 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18006 Value |= (op & 0xf) << 16;
18007 // op: iop
18008 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18009 Value |= (op & 0x1) << 20;
18010 break;
18011 }
18012 case AArch64::SMULLB_ZZZI_D:
18013 case AArch64::SMULLT_ZZZI_D:
18014 case AArch64::SQDMULLB_ZZZI_D:
18015 case AArch64::SQDMULLT_ZZZI_D:
18016 case AArch64::UMULLB_ZZZI_D:
18017 case AArch64::UMULLT_ZZZI_D: {
18018 // op: Zd
18019 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18020 Value |= (op & 0x1f);
18021 // op: Zn
18022 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18023 Value |= (op & 0x1f) << 5;
18024 // op: Zm
18025 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18026 Value |= (op & 0xf) << 16;
18027 // op: iop
18028 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18029 Value |= (op & 0x2) << 19;
18030 Value |= (op & 0x1) << 11;
18031 break;
18032 }
18033 case AArch64::DUP_ZZI_H: {
18034 // op: Zd
18035 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18036 Value |= (op & 0x1f);
18037 // op: Zn
18038 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18039 Value |= (op & 0x1f) << 5;
18040 // op: idx
18041 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18042 Value |= (op & 0x18) << 19;
18043 Value |= (op & 0x7) << 18;
18044 break;
18045 }
18046 case AArch64::DUP_ZZI_Q: {
18047 // op: Zd
18048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18049 Value |= (op & 0x1f);
18050 // op: Zn
18051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18052 Value |= (op & 0x1f) << 5;
18053 // op: idx
18054 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18055 Value |= (op & 0x3) << 22;
18056 break;
18057 }
18058 case AArch64::DUP_ZZI_B: {
18059 // op: Zd
18060 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18061 Value |= (op & 0x1f);
18062 // op: Zn
18063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18064 Value |= (op & 0x1f) << 5;
18065 // op: idx
18066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18067 Value |= (op & 0x30) << 18;
18068 Value |= (op & 0xf) << 17;
18069 break;
18070 }
18071 case AArch64::DUP_ZZI_D: {
18072 // op: Zd
18073 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18074 Value |= (op & 0x1f);
18075 // op: Zn
18076 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18077 Value |= (op & 0x1f) << 5;
18078 // op: idx
18079 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18080 Value |= (op & 0x6) << 21;
18081 Value |= (op & 0x1) << 20;
18082 break;
18083 }
18084 case AArch64::DUP_ZZI_S: {
18085 // op: Zd
18086 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18087 Value |= (op & 0x1f);
18088 // op: Zn
18089 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18090 Value |= (op & 0x1f) << 5;
18091 // op: idx
18092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18093 Value |= (op & 0xc) << 20;
18094 Value |= (op & 0x3) << 19;
18095 break;
18096 }
18097 case AArch64::LSL_ZZI_H:
18098 case AArch64::SSHLLB_ZZI_S:
18099 case AArch64::SSHLLT_ZZI_S:
18100 case AArch64::USHLLB_ZZI_S:
18101 case AArch64::USHLLT_ZZI_S: {
18102 // op: Zd
18103 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18104 Value |= (op & 0x1f);
18105 // op: Zn
18106 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18107 Value |= (op & 0x1f) << 5;
18108 // op: imm
18109 op = getVecShiftL16OpValue(MI, OpIdx: 2, Fixups, STI);
18110 Value |= (op & 0xf) << 16;
18111 break;
18112 }
18113 case AArch64::LSL_ZZI_S:
18114 case AArch64::SSHLLB_ZZI_D:
18115 case AArch64::SSHLLT_ZZI_D:
18116 case AArch64::USHLLB_ZZI_D:
18117 case AArch64::USHLLT_ZZI_D: {
18118 // op: Zd
18119 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18120 Value |= (op & 0x1f);
18121 // op: Zn
18122 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18123 Value |= (op & 0x1f) << 5;
18124 // op: imm
18125 op = getVecShiftL32OpValue(MI, OpIdx: 2, Fixups, STI);
18126 Value |= (op & 0x1f) << 16;
18127 break;
18128 }
18129 case AArch64::LSL_ZZI_D: {
18130 // op: Zd
18131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18132 Value |= (op & 0x1f);
18133 // op: Zn
18134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18135 Value |= (op & 0x1f) << 5;
18136 // op: imm
18137 op = getVecShiftL64OpValue(MI, OpIdx: 2, Fixups, STI);
18138 Value |= (op & 0x20) << 17;
18139 Value |= (op & 0x1f) << 16;
18140 break;
18141 }
18142 case AArch64::LSL_ZZI_B:
18143 case AArch64::SSHLLB_ZZI_H:
18144 case AArch64::SSHLLT_ZZI_H:
18145 case AArch64::USHLLB_ZZI_H:
18146 case AArch64::USHLLT_ZZI_H: {
18147 // op: Zd
18148 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18149 Value |= (op & 0x1f);
18150 // op: Zn
18151 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18152 Value |= (op & 0x1f) << 5;
18153 // op: imm
18154 op = getVecShiftL8OpValue(MI, OpIdx: 2, Fixups, STI);
18155 Value |= (op & 0x7) << 16;
18156 break;
18157 }
18158 case AArch64::ASR_ZZI_H:
18159 case AArch64::LSR_ZZI_H:
18160 case AArch64::RSHRNB_ZZI_H:
18161 case AArch64::SHRNB_ZZI_H:
18162 case AArch64::SQRSHRNB_ZZI_H:
18163 case AArch64::SQRSHRUNB_ZZI_H:
18164 case AArch64::SQSHRNB_ZZI_H:
18165 case AArch64::SQSHRUNB_ZZI_H:
18166 case AArch64::UQRSHRNB_ZZI_H:
18167 case AArch64::UQSHRNB_ZZI_H: {
18168 // op: Zd
18169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18170 Value |= (op & 0x1f);
18171 // op: Zn
18172 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18173 Value |= (op & 0x1f) << 5;
18174 // op: imm
18175 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
18176 Value |= (op & 0xf) << 16;
18177 break;
18178 }
18179 case AArch64::ASR_ZZI_S:
18180 case AArch64::LSR_ZZI_S:
18181 case AArch64::RSHRNB_ZZI_S:
18182 case AArch64::SHRNB_ZZI_S:
18183 case AArch64::SQRSHRNB_ZZI_S:
18184 case AArch64::SQRSHRUNB_ZZI_S:
18185 case AArch64::SQSHRNB_ZZI_S:
18186 case AArch64::SQSHRUNB_ZZI_S:
18187 case AArch64::UQRSHRNB_ZZI_S:
18188 case AArch64::UQSHRNB_ZZI_S: {
18189 // op: Zd
18190 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18191 Value |= (op & 0x1f);
18192 // op: Zn
18193 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18194 Value |= (op & 0x1f) << 5;
18195 // op: imm
18196 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
18197 Value |= (op & 0x1f) << 16;
18198 break;
18199 }
18200 case AArch64::ASR_ZZI_D:
18201 case AArch64::LSR_ZZI_D: {
18202 // op: Zd
18203 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18204 Value |= (op & 0x1f);
18205 // op: Zn
18206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18207 Value |= (op & 0x1f) << 5;
18208 // op: imm
18209 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
18210 Value |= (op & 0x20) << 17;
18211 Value |= (op & 0x1f) << 16;
18212 break;
18213 }
18214 case AArch64::ASR_ZZI_B:
18215 case AArch64::LSR_ZZI_B:
18216 case AArch64::RSHRNB_ZZI_B:
18217 case AArch64::SHRNB_ZZI_B:
18218 case AArch64::SQRSHRNB_ZZI_B:
18219 case AArch64::SQRSHRUNB_ZZI_B:
18220 case AArch64::SQSHRNB_ZZI_B:
18221 case AArch64::SQSHRUNB_ZZI_B:
18222 case AArch64::UQRSHRNB_ZZI_B:
18223 case AArch64::UQSHRNB_ZZI_B: {
18224 // op: Zd
18225 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18226 Value |= (op & 0x1f);
18227 // op: Zn
18228 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18229 Value |= (op & 0x1f) << 5;
18230 // op: imm
18231 op = getVecShiftR8OpValue(MI, OpIdx: 2, Fixups, STI);
18232 Value |= (op & 0x7) << 16;
18233 break;
18234 }
18235 case AArch64::EXT_ZZI_B: {
18236 // op: Zd
18237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18238 Value |= (op & 0x1f);
18239 // op: Zn
18240 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18241 Value |= (op & 0x1f) << 5;
18242 // op: imm8
18243 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18244 Value |= (op & 0xf8) << 13;
18245 Value |= (op & 0x7) << 10;
18246 break;
18247 }
18248 case AArch64::DUPQ_ZZI_D: {
18249 // op: Zd
18250 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18251 Value |= (op & 0x1f);
18252 // op: Zn
18253 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18254 Value |= (op & 0x1f) << 5;
18255 // op: index
18256 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18257 Value |= (op & 0x1) << 20;
18258 break;
18259 }
18260 case AArch64::DUPQ_ZZI_S: {
18261 // op: Zd
18262 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18263 Value |= (op & 0x1f);
18264 // op: Zn
18265 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18266 Value |= (op & 0x1f) << 5;
18267 // op: index
18268 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18269 Value |= (op & 0x3) << 19;
18270 break;
18271 }
18272 case AArch64::DUPQ_ZZI_H: {
18273 // op: Zd
18274 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18275 Value |= (op & 0x1f);
18276 // op: Zn
18277 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18278 Value |= (op & 0x1f) << 5;
18279 // op: index
18280 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18281 Value |= (op & 0x7) << 18;
18282 break;
18283 }
18284 case AArch64::DUPQ_ZZI_B: {
18285 // op: Zd
18286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18287 Value |= (op & 0x1f);
18288 // op: Zn
18289 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18290 Value |= (op & 0x1f) << 5;
18291 // op: index
18292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18293 Value |= (op & 0xf) << 17;
18294 break;
18295 }
18296 case AArch64::LUTI6_ZTZ:
18297 case AArch64::SQXTNT_ZZ_B:
18298 case AArch64::SQXTNT_ZZ_H:
18299 case AArch64::SQXTNT_ZZ_S:
18300 case AArch64::SQXTUNT_ZZ_B:
18301 case AArch64::SQXTUNT_ZZ_H:
18302 case AArch64::SQXTUNT_ZZ_S:
18303 case AArch64::UQXTNT_ZZ_B:
18304 case AArch64::UQXTNT_ZZ_H:
18305 case AArch64::UQXTNT_ZZ_S: {
18306 // op: Zd
18307 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18308 Value |= (op & 0x1f);
18309 // op: Zn
18310 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18311 Value |= (op & 0x1f) << 5;
18312 break;
18313 }
18314 case AArch64::FCVTLT_ZPzZ_HtoS:
18315 case AArch64::FCVTLT_ZPzZ_StoD: {
18316 // op: Zd
18317 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18318 Value |= (op & 0x1f);
18319 // op: Zn
18320 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18321 Value |= (op & 0x1f) << 5;
18322 // op: Pg
18323 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18324 Value |= (op & 0x7) << 10;
18325 break;
18326 }
18327 case AArch64::HISTCNT_ZPzZZ_D:
18328 case AArch64::HISTCNT_ZPzZZ_S: {
18329 // op: Zd
18330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18331 Value |= (op & 0x1f);
18332 // op: Zn
18333 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18334 Value |= (op & 0x1f) << 5;
18335 // op: Pg
18336 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18337 Value |= (op & 0x7) << 10;
18338 // op: Zm
18339 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18340 Value |= (op & 0x1f) << 16;
18341 break;
18342 }
18343 case AArch64::ADDHNT_ZZZ_B:
18344 case AArch64::ADDHNT_ZZZ_H:
18345 case AArch64::ADDHNT_ZZZ_S:
18346 case AArch64::EORBT_ZZZ_B:
18347 case AArch64::EORBT_ZZZ_D:
18348 case AArch64::EORBT_ZZZ_H:
18349 case AArch64::EORBT_ZZZ_S:
18350 case AArch64::EORTB_ZZZ_B:
18351 case AArch64::EORTB_ZZZ_D:
18352 case AArch64::EORTB_ZZZ_H:
18353 case AArch64::EORTB_ZZZ_S:
18354 case AArch64::RADDHNT_ZZZ_B:
18355 case AArch64::RADDHNT_ZZZ_H:
18356 case AArch64::RADDHNT_ZZZ_S:
18357 case AArch64::RSUBHNT_ZZZ_B:
18358 case AArch64::RSUBHNT_ZZZ_H:
18359 case AArch64::RSUBHNT_ZZZ_S:
18360 case AArch64::SUBHNT_ZZZ_B:
18361 case AArch64::SUBHNT_ZZZ_H:
18362 case AArch64::SUBHNT_ZZZ_S: {
18363 // op: Zd
18364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18365 Value |= (op & 0x1f);
18366 // op: Zn
18367 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18368 Value |= (op & 0x1f) << 5;
18369 // op: Zm
18370 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18371 Value |= (op & 0x1f) << 16;
18372 break;
18373 }
18374 case AArch64::SLI_ZZI_H: {
18375 // op: Zd
18376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18377 Value |= (op & 0x1f);
18378 // op: Zn
18379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18380 Value |= (op & 0x1f) << 5;
18381 // op: imm
18382 op = getVecShiftL16OpValue(MI, OpIdx: 3, Fixups, STI);
18383 Value |= (op & 0xf) << 16;
18384 break;
18385 }
18386 case AArch64::SLI_ZZI_S: {
18387 // op: Zd
18388 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18389 Value |= (op & 0x1f);
18390 // op: Zn
18391 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18392 Value |= (op & 0x1f) << 5;
18393 // op: imm
18394 op = getVecShiftL32OpValue(MI, OpIdx: 3, Fixups, STI);
18395 Value |= (op & 0x1f) << 16;
18396 break;
18397 }
18398 case AArch64::SLI_ZZI_D: {
18399 // op: Zd
18400 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18401 Value |= (op & 0x1f);
18402 // op: Zn
18403 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18404 Value |= (op & 0x1f) << 5;
18405 // op: imm
18406 op = getVecShiftL64OpValue(MI, OpIdx: 3, Fixups, STI);
18407 Value |= (op & 0x20) << 17;
18408 Value |= (op & 0x1f) << 16;
18409 break;
18410 }
18411 case AArch64::SLI_ZZI_B: {
18412 // op: Zd
18413 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18414 Value |= (op & 0x1f);
18415 // op: Zn
18416 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18417 Value |= (op & 0x1f) << 5;
18418 // op: imm
18419 op = getVecShiftL8OpValue(MI, OpIdx: 3, Fixups, STI);
18420 Value |= (op & 0x7) << 16;
18421 break;
18422 }
18423 case AArch64::RSHRNT_ZZI_H:
18424 case AArch64::SHRNT_ZZI_H:
18425 case AArch64::SQRSHRNT_ZZI_H:
18426 case AArch64::SQRSHRUNT_ZZI_H:
18427 case AArch64::SQSHRNT_ZZI_H:
18428 case AArch64::SQSHRUNT_ZZI_H:
18429 case AArch64::SRI_ZZI_H:
18430 case AArch64::UQRSHRNT_ZZI_H:
18431 case AArch64::UQSHRNT_ZZI_H: {
18432 // op: Zd
18433 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18434 Value |= (op & 0x1f);
18435 // op: Zn
18436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18437 Value |= (op & 0x1f) << 5;
18438 // op: imm
18439 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
18440 Value |= (op & 0xf) << 16;
18441 break;
18442 }
18443 case AArch64::RSHRNT_ZZI_S:
18444 case AArch64::SHRNT_ZZI_S:
18445 case AArch64::SQRSHRNT_ZZI_S:
18446 case AArch64::SQRSHRUNT_ZZI_S:
18447 case AArch64::SQSHRNT_ZZI_S:
18448 case AArch64::SQSHRUNT_ZZI_S:
18449 case AArch64::SRI_ZZI_S:
18450 case AArch64::UQRSHRNT_ZZI_S:
18451 case AArch64::UQSHRNT_ZZI_S: {
18452 // op: Zd
18453 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18454 Value |= (op & 0x1f);
18455 // op: Zn
18456 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18457 Value |= (op & 0x1f) << 5;
18458 // op: imm
18459 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
18460 Value |= (op & 0x1f) << 16;
18461 break;
18462 }
18463 case AArch64::SRI_ZZI_D: {
18464 // op: Zd
18465 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18466 Value |= (op & 0x1f);
18467 // op: Zn
18468 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18469 Value |= (op & 0x1f) << 5;
18470 // op: imm
18471 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
18472 Value |= (op & 0x20) << 17;
18473 Value |= (op & 0x1f) << 16;
18474 break;
18475 }
18476 case AArch64::RSHRNT_ZZI_B:
18477 case AArch64::SHRNT_ZZI_B:
18478 case AArch64::SQRSHRNT_ZZI_B:
18479 case AArch64::SQRSHRUNT_ZZI_B:
18480 case AArch64::SQSHRNT_ZZI_B:
18481 case AArch64::SQSHRUNT_ZZI_B:
18482 case AArch64::SRI_ZZI_B:
18483 case AArch64::UQRSHRNT_ZZI_B:
18484 case AArch64::UQSHRNT_ZZI_B: {
18485 // op: Zd
18486 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18487 Value |= (op & 0x1f);
18488 // op: Zn
18489 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18490 Value |= (op & 0x1f) << 5;
18491 // op: imm
18492 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
18493 Value |= (op & 0x7) << 16;
18494 break;
18495 }
18496 case AArch64::BFCVTNT_ZPmZ:
18497 case AArch64::BFCVTNT_ZPzZ_StoH:
18498 case AArch64::FCVTLT_ZPmZ_HtoS:
18499 case AArch64::FCVTLT_ZPmZ_StoD:
18500 case AArch64::FCVTNT_ZPmZ_DtoS:
18501 case AArch64::FCVTNT_ZPmZ_StoH:
18502 case AArch64::FCVTNT_ZPzZ_DtoS:
18503 case AArch64::FCVTNT_ZPzZ_StoH:
18504 case AArch64::FCVTXNT_ZPmZ_DtoS:
18505 case AArch64::FCVTXNT_ZPzZ_StoD: {
18506 // op: Zd
18507 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18508 Value |= (op & 0x1f);
18509 // op: Zn
18510 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18511 Value |= (op & 0x1f) << 5;
18512 // op: Pg
18513 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18514 Value |= (op & 0x7) << 10;
18515 break;
18516 }
18517 case AArch64::DUP_ZI_B:
18518 case AArch64::DUP_ZI_D:
18519 case AArch64::DUP_ZI_H:
18520 case AArch64::DUP_ZI_S: {
18521 // op: Zd
18522 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18523 Value |= (op & 0x1f);
18524 // op: imm
18525 op = getImm8OptLsl(MI, OpIdx: 1, Fixups, STI);
18526 Value |= (op & 0x1ff) << 5;
18527 break;
18528 }
18529 case AArch64::INDEX_II_B:
18530 case AArch64::INDEX_II_D:
18531 case AArch64::INDEX_II_H:
18532 case AArch64::INDEX_II_S: {
18533 // op: Zd
18534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18535 Value |= (op & 0x1f);
18536 // op: imm5
18537 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18538 Value |= (op & 0x1f) << 5;
18539 // op: imm5b
18540 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18541 Value |= (op & 0x1f) << 16;
18542 break;
18543 }
18544 case AArch64::FDUP_ZI_D:
18545 case AArch64::FDUP_ZI_H:
18546 case AArch64::FDUP_ZI_S: {
18547 // op: Zd
18548 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18549 Value |= (op & 0x1f);
18550 // op: imm8
18551 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18552 Value |= (op & 0xff) << 5;
18553 break;
18554 }
18555 case AArch64::DUPM_ZI: {
18556 // op: Zd
18557 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18558 Value |= (op & 0x1f);
18559 // op: imms
18560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18561 Value |= (op & 0x1fff) << 5;
18562 break;
18563 }
18564 case AArch64::FCMLA_ZPmZZ_D:
18565 case AArch64::FCMLA_ZPmZZ_H:
18566 case AArch64::FCMLA_ZPmZZ_S: {
18567 // op: Zda
18568 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18569 Value |= (op & 0x1f);
18570 // op: Pg
18571 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18572 Value |= (op & 0x7) << 10;
18573 // op: Zn
18574 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18575 Value |= (op & 0x1f) << 5;
18576 // op: Zm
18577 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18578 Value |= (op & 0x1f) << 16;
18579 // op: imm
18580 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
18581 Value |= (op & 0x3) << 13;
18582 break;
18583 }
18584 case AArch64::ADCLB_ZZZ_D:
18585 case AArch64::ADCLB_ZZZ_S:
18586 case AArch64::ADCLT_ZZZ_D:
18587 case AArch64::ADCLT_ZZZ_S:
18588 case AArch64::BFDOT_ZZZ:
18589 case AArch64::BFMLALB_ZZZ:
18590 case AArch64::BFMLALT_ZZZ:
18591 case AArch64::BFMLSLB_ZZZ_S:
18592 case AArch64::BFMLSLT_ZZZ_S:
18593 case AArch64::BFMMLA_ZZZ_H:
18594 case AArch64::BFMMLA_ZZZ_HtoS:
18595 case AArch64::FDOT_ZZZ_BtoH:
18596 case AArch64::FDOT_ZZZ_BtoS:
18597 case AArch64::FDOT_ZZZ_S:
18598 case AArch64::FMLALB_ZZZ:
18599 case AArch64::FMLALB_ZZZ_SHH:
18600 case AArch64::FMLALLBB_ZZZ:
18601 case AArch64::FMLALLBT_ZZZ:
18602 case AArch64::FMLALLTB_ZZZ:
18603 case AArch64::FMLALLTT_ZZZ:
18604 case AArch64::FMLALT_ZZZ:
18605 case AArch64::FMLALT_ZZZ_SHH:
18606 case AArch64::FMLLA_ZZZ_HtoS:
18607 case AArch64::FMLSLB_ZZZ_SHH:
18608 case AArch64::FMLSLT_ZZZ_SHH:
18609 case AArch64::FMMLA_ZZZ_BtoH:
18610 case AArch64::FMMLA_ZZZ_BtoS:
18611 case AArch64::FMMLA_ZZZ_D:
18612 case AArch64::FMMLA_ZZZ_H:
18613 case AArch64::FMMLA_ZZZ_S:
18614 case AArch64::MLA_CPA:
18615 case AArch64::SABALB_ZZZ_D:
18616 case AArch64::SABALB_ZZZ_H:
18617 case AArch64::SABALB_ZZZ_S:
18618 case AArch64::SABALT_ZZZ_D:
18619 case AArch64::SABALT_ZZZ_H:
18620 case AArch64::SABALT_ZZZ_S:
18621 case AArch64::SABAL_ZZZ_BtoH:
18622 case AArch64::SABAL_ZZZ_HtoS:
18623 case AArch64::SABAL_ZZZ_StoD:
18624 case AArch64::SABA_ZZZ_B:
18625 case AArch64::SABA_ZZZ_D:
18626 case AArch64::SABA_ZZZ_H:
18627 case AArch64::SABA_ZZZ_S:
18628 case AArch64::SBCLB_ZZZ_D:
18629 case AArch64::SBCLB_ZZZ_S:
18630 case AArch64::SBCLT_ZZZ_D:
18631 case AArch64::SBCLT_ZZZ_S:
18632 case AArch64::SDOT_ZZZ_BtoH:
18633 case AArch64::SDOT_ZZZ_BtoS:
18634 case AArch64::SDOT_ZZZ_HtoD:
18635 case AArch64::SDOT_ZZZ_HtoS:
18636 case AArch64::SMLALB_ZZZ_D:
18637 case AArch64::SMLALB_ZZZ_H:
18638 case AArch64::SMLALB_ZZZ_S:
18639 case AArch64::SMLALT_ZZZ_D:
18640 case AArch64::SMLALT_ZZZ_H:
18641 case AArch64::SMLALT_ZZZ_S:
18642 case AArch64::SMLSLB_ZZZ_D:
18643 case AArch64::SMLSLB_ZZZ_H:
18644 case AArch64::SMLSLB_ZZZ_S:
18645 case AArch64::SMLSLT_ZZZ_D:
18646 case AArch64::SMLSLT_ZZZ_H:
18647 case AArch64::SMLSLT_ZZZ_S:
18648 case AArch64::SMMLA_ZZZ:
18649 case AArch64::SQDMLALBT_ZZZ_D:
18650 case AArch64::SQDMLALBT_ZZZ_H:
18651 case AArch64::SQDMLALBT_ZZZ_S:
18652 case AArch64::SQDMLALB_ZZZ_D:
18653 case AArch64::SQDMLALB_ZZZ_H:
18654 case AArch64::SQDMLALB_ZZZ_S:
18655 case AArch64::SQDMLALT_ZZZ_D:
18656 case AArch64::SQDMLALT_ZZZ_H:
18657 case AArch64::SQDMLALT_ZZZ_S:
18658 case AArch64::SQDMLSLBT_ZZZ_D:
18659 case AArch64::SQDMLSLBT_ZZZ_H:
18660 case AArch64::SQDMLSLBT_ZZZ_S:
18661 case AArch64::SQDMLSLB_ZZZ_D:
18662 case AArch64::SQDMLSLB_ZZZ_H:
18663 case AArch64::SQDMLSLB_ZZZ_S:
18664 case AArch64::SQDMLSLT_ZZZ_D:
18665 case AArch64::SQDMLSLT_ZZZ_H:
18666 case AArch64::SQDMLSLT_ZZZ_S:
18667 case AArch64::SQRDMLAH_ZZZ_B:
18668 case AArch64::SQRDMLAH_ZZZ_D:
18669 case AArch64::SQRDMLAH_ZZZ_H:
18670 case AArch64::SQRDMLAH_ZZZ_S:
18671 case AArch64::SQRDMLSH_ZZZ_B:
18672 case AArch64::SQRDMLSH_ZZZ_D:
18673 case AArch64::SQRDMLSH_ZZZ_H:
18674 case AArch64::SQRDMLSH_ZZZ_S:
18675 case AArch64::UABALB_ZZZ_D:
18676 case AArch64::UABALB_ZZZ_H:
18677 case AArch64::UABALB_ZZZ_S:
18678 case AArch64::UABALT_ZZZ_D:
18679 case AArch64::UABALT_ZZZ_H:
18680 case AArch64::UABALT_ZZZ_S:
18681 case AArch64::UABAL_ZZZ_BtoH:
18682 case AArch64::UABAL_ZZZ_HtoS:
18683 case AArch64::UABAL_ZZZ_StoD:
18684 case AArch64::UABA_ZZZ_B:
18685 case AArch64::UABA_ZZZ_D:
18686 case AArch64::UABA_ZZZ_H:
18687 case AArch64::UABA_ZZZ_S:
18688 case AArch64::UDOT_ZZZ_BtoH:
18689 case AArch64::UDOT_ZZZ_BtoS:
18690 case AArch64::UDOT_ZZZ_HtoD:
18691 case AArch64::UDOT_ZZZ_HtoS:
18692 case AArch64::UMLALB_ZZZ_D:
18693 case AArch64::UMLALB_ZZZ_H:
18694 case AArch64::UMLALB_ZZZ_S:
18695 case AArch64::UMLALT_ZZZ_D:
18696 case AArch64::UMLALT_ZZZ_H:
18697 case AArch64::UMLALT_ZZZ_S:
18698 case AArch64::UMLSLB_ZZZ_D:
18699 case AArch64::UMLSLB_ZZZ_H:
18700 case AArch64::UMLSLB_ZZZ_S:
18701 case AArch64::UMLSLT_ZZZ_D:
18702 case AArch64::UMLSLT_ZZZ_H:
18703 case AArch64::UMLSLT_ZZZ_S:
18704 case AArch64::UMMLA_ZZZ:
18705 case AArch64::USDOT_ZZZ:
18706 case AArch64::USMMLA_ZZZ: {
18707 // op: Zda
18708 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18709 Value |= (op & 0x1f);
18710 // op: Zn
18711 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18712 Value |= (op & 0x1f) << 5;
18713 // op: Zm
18714 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18715 Value |= (op & 0x1f) << 16;
18716 break;
18717 }
18718 case AArch64::CDOT_ZZZ_D:
18719 case AArch64::CDOT_ZZZ_S:
18720 case AArch64::CMLA_ZZZ_B:
18721 case AArch64::CMLA_ZZZ_D:
18722 case AArch64::CMLA_ZZZ_H:
18723 case AArch64::CMLA_ZZZ_S:
18724 case AArch64::SQRDCMLAH_ZZZ_B:
18725 case AArch64::SQRDCMLAH_ZZZ_D:
18726 case AArch64::SQRDCMLAH_ZZZ_H:
18727 case AArch64::SQRDCMLAH_ZZZ_S: {
18728 // op: Zda
18729 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18730 Value |= (op & 0x1f);
18731 // op: Zn
18732 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18733 Value |= (op & 0x1f) << 5;
18734 // op: Zm
18735 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18736 Value |= (op & 0x1f) << 16;
18737 // op: rot
18738 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18739 Value |= (op & 0x3) << 10;
18740 break;
18741 }
18742 case AArch64::SDOT_ZZZI_HtoS:
18743 case AArch64::UDOT_ZZZI_HtoS: {
18744 // op: Zda
18745 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18746 Value |= (op & 0x1f);
18747 // op: Zn
18748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18749 Value |= (op & 0x1f) << 5;
18750 // op: Zm
18751 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18752 Value |= (op & 0x7) << 16;
18753 // op: i2
18754 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18755 Value |= (op & 0x3) << 19;
18756 break;
18757 }
18758 case AArch64::SUDOT_ZZZI:
18759 case AArch64::USDOT_ZZZI: {
18760 // op: Zda
18761 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18762 Value |= (op & 0x1f);
18763 // op: Zn
18764 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18765 Value |= (op & 0x1f) << 5;
18766 // op: Zm
18767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18768 Value |= (op & 0x7) << 16;
18769 // op: idx
18770 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18771 Value |= (op & 0x3) << 19;
18772 break;
18773 }
18774 case AArch64::FMLALB_ZZZI:
18775 case AArch64::FMLALLBB_ZZZI:
18776 case AArch64::FMLALLBT_ZZZI:
18777 case AArch64::FMLALLTB_ZZZI:
18778 case AArch64::FMLALLTT_ZZZI:
18779 case AArch64::FMLALT_ZZZI: {
18780 // op: Zda
18781 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18782 Value |= (op & 0x1f);
18783 // op: Zn
18784 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18785 Value |= (op & 0x1f) << 5;
18786 // op: Zm
18787 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18788 Value |= (op & 0x7) << 16;
18789 // op: imm4
18790 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18791 Value |= (op & 0xc) << 17;
18792 Value |= (op & 0x3) << 10;
18793 break;
18794 }
18795 case AArch64::BFDOT_ZZI:
18796 case AArch64::FDOT_ZZZI_BtoS:
18797 case AArch64::FDOT_ZZZI_S:
18798 case AArch64::FMLA_ZZZI_S:
18799 case AArch64::FMLS_ZZZI_S:
18800 case AArch64::MLA_ZZZI_S:
18801 case AArch64::MLS_ZZZI_S:
18802 case AArch64::SQRDMLAH_ZZZI_S:
18803 case AArch64::SQRDMLSH_ZZZI_S: {
18804 // op: Zda
18805 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18806 Value |= (op & 0x1f);
18807 // op: Zn
18808 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18809 Value |= (op & 0x1f) << 5;
18810 // op: Zm
18811 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18812 Value |= (op & 0x7) << 16;
18813 // op: iop
18814 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18815 Value |= (op & 0x3) << 19;
18816 break;
18817 }
18818 case AArch64::BFMLA_ZZZI:
18819 case AArch64::BFMLS_ZZZI:
18820 case AArch64::FMLA_ZZZI_H:
18821 case AArch64::FMLS_ZZZI_H:
18822 case AArch64::MLA_ZZZI_H:
18823 case AArch64::MLS_ZZZI_H:
18824 case AArch64::SQRDMLAH_ZZZI_H:
18825 case AArch64::SQRDMLSH_ZZZI_H: {
18826 // op: Zda
18827 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18828 Value |= (op & 0x1f);
18829 // op: Zn
18830 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18831 Value |= (op & 0x1f) << 5;
18832 // op: Zm
18833 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18834 Value |= (op & 0x7) << 16;
18835 // op: iop
18836 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18837 Value |= (op & 0x4) << 20;
18838 Value |= (op & 0x3) << 19;
18839 break;
18840 }
18841 case AArch64::BFMLALB_ZZZI:
18842 case AArch64::BFMLALT_ZZZI:
18843 case AArch64::BFMLSLB_ZZZI_S:
18844 case AArch64::BFMLSLT_ZZZI_S:
18845 case AArch64::FDOT_ZZZI_BtoH:
18846 case AArch64::FMLALB_ZZZI_SHH:
18847 case AArch64::FMLALT_ZZZI_SHH:
18848 case AArch64::FMLSLB_ZZZI_SHH:
18849 case AArch64::FMLSLT_ZZZI_SHH:
18850 case AArch64::SMLALB_ZZZI_S:
18851 case AArch64::SMLALT_ZZZI_S:
18852 case AArch64::SMLSLB_ZZZI_S:
18853 case AArch64::SMLSLT_ZZZI_S:
18854 case AArch64::SQDMLALB_ZZZI_S:
18855 case AArch64::SQDMLALT_ZZZI_S:
18856 case AArch64::SQDMLSLB_ZZZI_S:
18857 case AArch64::SQDMLSLT_ZZZI_S:
18858 case AArch64::UMLALB_ZZZI_S:
18859 case AArch64::UMLALT_ZZZI_S:
18860 case AArch64::UMLSLB_ZZZI_S:
18861 case AArch64::UMLSLT_ZZZI_S: {
18862 // op: Zda
18863 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18864 Value |= (op & 0x1f);
18865 // op: Zn
18866 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18867 Value |= (op & 0x1f) << 5;
18868 // op: Zm
18869 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18870 Value |= (op & 0x7) << 16;
18871 // op: iop
18872 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18873 Value |= (op & 0x6) << 18;
18874 Value |= (op & 0x1) << 11;
18875 break;
18876 }
18877 case AArch64::FMLA_ZZZI_D:
18878 case AArch64::FMLS_ZZZI_D:
18879 case AArch64::MLA_ZZZI_D:
18880 case AArch64::MLS_ZZZI_D:
18881 case AArch64::SQRDMLAH_ZZZI_D:
18882 case AArch64::SQRDMLSH_ZZZI_D: {
18883 // op: Zda
18884 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18885 Value |= (op & 0x1f);
18886 // op: Zn
18887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18888 Value |= (op & 0x1f) << 5;
18889 // op: Zm
18890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18891 Value |= (op & 0xf) << 16;
18892 // op: iop
18893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18894 Value |= (op & 0x1) << 20;
18895 break;
18896 }
18897 case AArch64::SMLALB_ZZZI_D:
18898 case AArch64::SMLALT_ZZZI_D:
18899 case AArch64::SMLSLB_ZZZI_D:
18900 case AArch64::SMLSLT_ZZZI_D:
18901 case AArch64::SQDMLALB_ZZZI_D:
18902 case AArch64::SQDMLALT_ZZZI_D:
18903 case AArch64::SQDMLSLB_ZZZI_D:
18904 case AArch64::SQDMLSLT_ZZZI_D:
18905 case AArch64::UMLALB_ZZZI_D:
18906 case AArch64::UMLALT_ZZZI_D:
18907 case AArch64::UMLSLB_ZZZI_D:
18908 case AArch64::UMLSLT_ZZZI_D: {
18909 // op: Zda
18910 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18911 Value |= (op & 0x1f);
18912 // op: Zn
18913 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18914 Value |= (op & 0x1f) << 5;
18915 // op: Zm
18916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18917 Value |= (op & 0xf) << 16;
18918 // op: iop
18919 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18920 Value |= (op & 0x2) << 19;
18921 Value |= (op & 0x1) << 11;
18922 break;
18923 }
18924 case AArch64::FCMLA_ZZZI_H: {
18925 // op: Zda
18926 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18927 Value |= (op & 0x1f);
18928 // op: Zn
18929 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18930 Value |= (op & 0x1f) << 5;
18931 // op: imm
18932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
18933 Value |= (op & 0x3) << 10;
18934 // op: Zm
18935 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18936 Value |= (op & 0x7) << 16;
18937 // op: iop
18938 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18939 Value |= (op & 0x3) << 19;
18940 break;
18941 }
18942 case AArch64::FCMLA_ZZZI_S: {
18943 // op: Zda
18944 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18945 Value |= (op & 0x1f);
18946 // op: Zn
18947 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18948 Value |= (op & 0x1f) << 5;
18949 // op: imm
18950 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
18951 Value |= (op & 0x3) << 10;
18952 // op: Zm
18953 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18954 Value |= (op & 0xf) << 16;
18955 // op: iop
18956 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18957 Value |= (op & 0x1) << 20;
18958 break;
18959 }
18960 case AArch64::SRSRA_ZZI_H:
18961 case AArch64::SSRA_ZZI_H:
18962 case AArch64::URSRA_ZZI_H:
18963 case AArch64::USRA_ZZI_H: {
18964 // op: Zda
18965 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18966 Value |= (op & 0x1f);
18967 // op: Zn
18968 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18969 Value |= (op & 0x1f) << 5;
18970 // op: imm
18971 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
18972 Value |= (op & 0xf) << 16;
18973 break;
18974 }
18975 case AArch64::SRSRA_ZZI_S:
18976 case AArch64::SSRA_ZZI_S:
18977 case AArch64::URSRA_ZZI_S:
18978 case AArch64::USRA_ZZI_S: {
18979 // op: Zda
18980 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18981 Value |= (op & 0x1f);
18982 // op: Zn
18983 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18984 Value |= (op & 0x1f) << 5;
18985 // op: imm
18986 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
18987 Value |= (op & 0x1f) << 16;
18988 break;
18989 }
18990 case AArch64::SRSRA_ZZI_D:
18991 case AArch64::SSRA_ZZI_D:
18992 case AArch64::URSRA_ZZI_D:
18993 case AArch64::USRA_ZZI_D: {
18994 // op: Zda
18995 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18996 Value |= (op & 0x1f);
18997 // op: Zn
18998 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18999 Value |= (op & 0x1f) << 5;
19000 // op: imm
19001 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
19002 Value |= (op & 0x20) << 17;
19003 Value |= (op & 0x1f) << 16;
19004 break;
19005 }
19006 case AArch64::SRSRA_ZZI_B:
19007 case AArch64::SSRA_ZZI_B:
19008 case AArch64::URSRA_ZZI_B:
19009 case AArch64::USRA_ZZI_B: {
19010 // op: Zda
19011 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19012 Value |= (op & 0x1f);
19013 // op: Zn
19014 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19015 Value |= (op & 0x1f) << 5;
19016 // op: imm
19017 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
19018 Value |= (op & 0x7) << 16;
19019 break;
19020 }
19021 case AArch64::SDOT_ZZZI_HtoD:
19022 case AArch64::UDOT_ZZZI_HtoD: {
19023 // op: Zda
19024 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19025 Value |= (op & 0x1f);
19026 // op: Zn
19027 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19028 Value |= (op & 0x1f) << 5;
19029 // op: iop
19030 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19031 Value |= (op & 0x1) << 20;
19032 // op: Zm
19033 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19034 Value |= (op & 0xf) << 16;
19035 break;
19036 }
19037 case AArch64::SDOT_ZZZI_BtoS:
19038 case AArch64::UDOT_ZZZI_BtoS: {
19039 // op: Zda
19040 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19041 Value |= (op & 0x1f);
19042 // op: Zn
19043 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19044 Value |= (op & 0x1f) << 5;
19045 // op: iop
19046 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19047 Value |= (op & 0x3) << 19;
19048 // op: Zm
19049 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19050 Value |= (op & 0x7) << 16;
19051 break;
19052 }
19053 case AArch64::SDOT_ZZZI_BtoH:
19054 case AArch64::UDOT_ZZZI_BtoH: {
19055 // op: Zda
19056 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19057 Value |= (op & 0x1f);
19058 // op: Zn
19059 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19060 Value |= (op & 0x1f) << 5;
19061 // op: iop
19062 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19063 Value |= (op & 0x4) << 20;
19064 Value |= (op & 0x3) << 19;
19065 // op: Zm
19066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19067 Value |= (op & 0x7) << 16;
19068 break;
19069 }
19070 case AArch64::CDOT_ZZZI_D:
19071 case AArch64::CMLA_ZZZI_S:
19072 case AArch64::SQRDCMLAH_ZZZI_S: {
19073 // op: Zda
19074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19075 Value |= (op & 0x1f);
19076 // op: Zn
19077 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19078 Value |= (op & 0x1f) << 5;
19079 // op: rot
19080 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19081 Value |= (op & 0x3) << 10;
19082 // op: iop
19083 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19084 Value |= (op & 0x1) << 20;
19085 // op: Zm
19086 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19087 Value |= (op & 0xf) << 16;
19088 break;
19089 }
19090 case AArch64::CDOT_ZZZI_S:
19091 case AArch64::CMLA_ZZZI_H:
19092 case AArch64::SQRDCMLAH_ZZZI_H: {
19093 // op: Zda
19094 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19095 Value |= (op & 0x1f);
19096 // op: Zn
19097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19098 Value |= (op & 0x1f) << 5;
19099 // op: rot
19100 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19101 Value |= (op & 0x3) << 10;
19102 // op: iop
19103 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19104 Value |= (op & 0x3) << 19;
19105 // op: Zm
19106 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19107 Value |= (op & 0x7) << 16;
19108 break;
19109 }
19110 case AArch64::AESIMC_ZZ_B:
19111 case AArch64::AESMC_ZZ_B: {
19112 // op: Zdn
19113 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19114 Value |= (op & 0x1f);
19115 break;
19116 }
19117 case AArch64::BCAX_ZZZZ:
19118 case AArch64::BSL1N_ZZZZ:
19119 case AArch64::BSL2N_ZZZZ:
19120 case AArch64::BSL_ZZZZ:
19121 case AArch64::EOR3_ZZZZ:
19122 case AArch64::NBSL_ZZZZ: {
19123 // op: Zdn
19124 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19125 Value |= (op & 0x1f);
19126 // op: Zk
19127 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19128 Value |= (op & 0x1f) << 5;
19129 // op: Zm
19130 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19131 Value |= (op & 0x1f) << 16;
19132 break;
19133 }
19134 case AArch64::MAD_CPA: {
19135 // op: Zdn
19136 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19137 Value |= (op & 0x1f);
19138 // op: Zm
19139 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19140 Value |= (op & 0x1f) << 16;
19141 // op: Za
19142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19143 Value |= (op & 0x1f) << 5;
19144 break;
19145 }
19146 case AArch64::AESD_ZZZ_B:
19147 case AArch64::AESE_ZZZ_B:
19148 case AArch64::SM4E_ZZZ_S: {
19149 // op: Zdn
19150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19151 Value |= (op & 0x1f);
19152 // op: Zm
19153 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19154 Value |= (op & 0x1f) << 5;
19155 break;
19156 }
19157 case AArch64::XAR_ZZZI_H: {
19158 // op: Zdn
19159 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19160 Value |= (op & 0x1f);
19161 // op: Zm
19162 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19163 Value |= (op & 0x1f) << 5;
19164 // op: imm
19165 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
19166 Value |= (op & 0xf) << 16;
19167 break;
19168 }
19169 case AArch64::XAR_ZZZI_S: {
19170 // op: Zdn
19171 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19172 Value |= (op & 0x1f);
19173 // op: Zm
19174 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19175 Value |= (op & 0x1f) << 5;
19176 // op: imm
19177 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
19178 Value |= (op & 0x1f) << 16;
19179 break;
19180 }
19181 case AArch64::XAR_ZZZI_D: {
19182 // op: Zdn
19183 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19184 Value |= (op & 0x1f);
19185 // op: Zm
19186 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19187 Value |= (op & 0x1f) << 5;
19188 // op: imm
19189 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
19190 Value |= (op & 0x20) << 17;
19191 Value |= (op & 0x1f) << 16;
19192 break;
19193 }
19194 case AArch64::XAR_ZZZI_B: {
19195 // op: Zdn
19196 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19197 Value |= (op & 0x1f);
19198 // op: Zm
19199 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19200 Value |= (op & 0x1f) << 5;
19201 // op: imm
19202 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
19203 Value |= (op & 0x7) << 16;
19204 break;
19205 }
19206 case AArch64::FTMAD_ZZI_D:
19207 case AArch64::FTMAD_ZZI_H:
19208 case AArch64::FTMAD_ZZI_S: {
19209 // op: Zdn
19210 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19211 Value |= (op & 0x1f);
19212 // op: Zm
19213 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19214 Value |= (op & 0x1f) << 5;
19215 // op: imm3
19216 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19217 Value |= (op & 0x7) << 16;
19218 break;
19219 }
19220 case AArch64::EXTQ_ZZI: {
19221 // op: Zdn
19222 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19223 Value |= (op & 0x1f);
19224 // op: Zm
19225 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19226 Value |= (op & 0x1f) << 5;
19227 // op: imm4
19228 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19229 Value |= (op & 0xf) << 16;
19230 break;
19231 }
19232 case AArch64::EXT_ZZI: {
19233 // op: Zdn
19234 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19235 Value |= (op & 0x1f);
19236 // op: Zm
19237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19238 Value |= (op & 0x1f) << 5;
19239 // op: imm8
19240 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19241 Value |= (op & 0xf8) << 13;
19242 Value |= (op & 0x7) << 10;
19243 break;
19244 }
19245 case AArch64::CADD_ZZI_B:
19246 case AArch64::CADD_ZZI_D:
19247 case AArch64::CADD_ZZI_H:
19248 case AArch64::CADD_ZZI_S:
19249 case AArch64::SQCADD_ZZI_B:
19250 case AArch64::SQCADD_ZZI_D:
19251 case AArch64::SQCADD_ZZI_H:
19252 case AArch64::SQCADD_ZZI_S: {
19253 // op: Zdn
19254 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19255 Value |= (op & 0x1f);
19256 // op: Zm
19257 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19258 Value |= (op & 0x1f) << 5;
19259 // op: rot
19260 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19261 Value |= (op & 0x1) << 10;
19262 break;
19263 }
19264 case AArch64::FCADD_ZPmZ_D:
19265 case AArch64::FCADD_ZPmZ_H:
19266 case AArch64::FCADD_ZPmZ_S: {
19267 // op: Zdn
19268 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19269 Value |= (op & 0x1f);
19270 // op: Zm
19271 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19272 Value |= (op & 0x1f) << 5;
19273 // op: Pg
19274 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
19275 Value |= (op & 0x7) << 10;
19276 // op: imm
19277 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19278 Value |= (op & 0x1) << 16;
19279 break;
19280 }
19281 case AArch64::ADD_ZI_B:
19282 case AArch64::ADD_ZI_D:
19283 case AArch64::ADD_ZI_H:
19284 case AArch64::ADD_ZI_S:
19285 case AArch64::SQADD_ZI_B:
19286 case AArch64::SQADD_ZI_D:
19287 case AArch64::SQADD_ZI_H:
19288 case AArch64::SQADD_ZI_S:
19289 case AArch64::SQSUB_ZI_B:
19290 case AArch64::SQSUB_ZI_D:
19291 case AArch64::SQSUB_ZI_H:
19292 case AArch64::SQSUB_ZI_S:
19293 case AArch64::SUBR_ZI_B:
19294 case AArch64::SUBR_ZI_D:
19295 case AArch64::SUBR_ZI_H:
19296 case AArch64::SUBR_ZI_S:
19297 case AArch64::SUB_ZI_B:
19298 case AArch64::SUB_ZI_D:
19299 case AArch64::SUB_ZI_H:
19300 case AArch64::SUB_ZI_S:
19301 case AArch64::UQADD_ZI_B:
19302 case AArch64::UQADD_ZI_D:
19303 case AArch64::UQADD_ZI_H:
19304 case AArch64::UQADD_ZI_S:
19305 case AArch64::UQSUB_ZI_B:
19306 case AArch64::UQSUB_ZI_D:
19307 case AArch64::UQSUB_ZI_H:
19308 case AArch64::UQSUB_ZI_S: {
19309 // op: Zdn
19310 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19311 Value |= (op & 0x1f);
19312 // op: imm
19313 op = getImm8OptLsl(MI, OpIdx: 2, Fixups, STI);
19314 Value |= (op & 0x1ff) << 5;
19315 break;
19316 }
19317 case AArch64::MUL_ZI_B:
19318 case AArch64::MUL_ZI_D:
19319 case AArch64::MUL_ZI_H:
19320 case AArch64::MUL_ZI_S:
19321 case AArch64::SMAX_ZI_B:
19322 case AArch64::SMAX_ZI_D:
19323 case AArch64::SMAX_ZI_H:
19324 case AArch64::SMAX_ZI_S:
19325 case AArch64::SMIN_ZI_B:
19326 case AArch64::SMIN_ZI_D:
19327 case AArch64::SMIN_ZI_H:
19328 case AArch64::SMIN_ZI_S:
19329 case AArch64::UMAX_ZI_B:
19330 case AArch64::UMAX_ZI_D:
19331 case AArch64::UMAX_ZI_H:
19332 case AArch64::UMAX_ZI_S:
19333 case AArch64::UMIN_ZI_B:
19334 case AArch64::UMIN_ZI_D:
19335 case AArch64::UMIN_ZI_H:
19336 case AArch64::UMIN_ZI_S: {
19337 // op: Zdn
19338 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19339 Value |= (op & 0x1f);
19340 // op: imm
19341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19342 Value |= (op & 0xff) << 5;
19343 break;
19344 }
19345 case AArch64::AND_ZI:
19346 case AArch64::EOR_ZI:
19347 case AArch64::ORR_ZI: {
19348 // op: Zdn
19349 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19350 Value |= (op & 0x1f);
19351 // op: imms13
19352 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19353 Value |= (op & 0x1fff) << 5;
19354 break;
19355 }
19356 case AArch64::DECD_ZPiI:
19357 case AArch64::DECH_ZPiI:
19358 case AArch64::DECW_ZPiI:
19359 case AArch64::INCD_ZPiI:
19360 case AArch64::INCH_ZPiI:
19361 case AArch64::INCW_ZPiI:
19362 case AArch64::SQDECD_ZPiI:
19363 case AArch64::SQDECH_ZPiI:
19364 case AArch64::SQDECW_ZPiI:
19365 case AArch64::SQINCD_ZPiI:
19366 case AArch64::SQINCH_ZPiI:
19367 case AArch64::SQINCW_ZPiI:
19368 case AArch64::UQDECD_ZPiI:
19369 case AArch64::UQDECH_ZPiI:
19370 case AArch64::UQDECW_ZPiI:
19371 case AArch64::UQINCD_ZPiI:
19372 case AArch64::UQINCH_ZPiI:
19373 case AArch64::UQINCW_ZPiI: {
19374 // op: Zdn
19375 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19376 Value |= (op & 0x1f);
19377 // op: pattern
19378 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19379 Value |= (op & 0x1f) << 5;
19380 // op: imm4
19381 op = getSVEIncDecImm(MI, OpIdx: 3, Fixups, STI);
19382 Value |= (op & 0xf) << 16;
19383 break;
19384 }
19385 case AArch64::BFMAXNM_VG2_2Z2Z_H:
19386 case AArch64::BFMAX_VG2_2Z2Z_H:
19387 case AArch64::BFMINNM_VG2_2Z2Z_H:
19388 case AArch64::BFMIN_VG2_2Z2Z_H:
19389 case AArch64::BFSCALE_2Z2Z:
19390 case AArch64::FAMAX_2Z2Z_D:
19391 case AArch64::FAMAX_2Z2Z_H:
19392 case AArch64::FAMAX_2Z2Z_S:
19393 case AArch64::FAMIN_2Z2Z_D:
19394 case AArch64::FAMIN_2Z2Z_H:
19395 case AArch64::FAMIN_2Z2Z_S:
19396 case AArch64::FMAXNM_VG2_2Z2Z_D:
19397 case AArch64::FMAXNM_VG2_2Z2Z_H:
19398 case AArch64::FMAXNM_VG2_2Z2Z_S:
19399 case AArch64::FMAX_VG2_2Z2Z_D:
19400 case AArch64::FMAX_VG2_2Z2Z_H:
19401 case AArch64::FMAX_VG2_2Z2Z_S:
19402 case AArch64::FMINNM_VG2_2Z2Z_D:
19403 case AArch64::FMINNM_VG2_2Z2Z_H:
19404 case AArch64::FMINNM_VG2_2Z2Z_S:
19405 case AArch64::FMIN_VG2_2Z2Z_D:
19406 case AArch64::FMIN_VG2_2Z2Z_H:
19407 case AArch64::FMIN_VG2_2Z2Z_S:
19408 case AArch64::FSCALE_2Z2Z_D:
19409 case AArch64::FSCALE_2Z2Z_H:
19410 case AArch64::FSCALE_2Z2Z_S:
19411 case AArch64::SMAX_VG2_2Z2Z_B:
19412 case AArch64::SMAX_VG2_2Z2Z_D:
19413 case AArch64::SMAX_VG2_2Z2Z_H:
19414 case AArch64::SMAX_VG2_2Z2Z_S:
19415 case AArch64::SMIN_VG2_2Z2Z_B:
19416 case AArch64::SMIN_VG2_2Z2Z_D:
19417 case AArch64::SMIN_VG2_2Z2Z_H:
19418 case AArch64::SMIN_VG2_2Z2Z_S:
19419 case AArch64::SQDMULH_VG2_2Z2Z_B:
19420 case AArch64::SQDMULH_VG2_2Z2Z_D:
19421 case AArch64::SQDMULH_VG2_2Z2Z_H:
19422 case AArch64::SQDMULH_VG2_2Z2Z_S:
19423 case AArch64::SRSHL_VG2_2Z2Z_B:
19424 case AArch64::SRSHL_VG2_2Z2Z_D:
19425 case AArch64::SRSHL_VG2_2Z2Z_H:
19426 case AArch64::SRSHL_VG2_2Z2Z_S:
19427 case AArch64::UMAX_VG2_2Z2Z_B:
19428 case AArch64::UMAX_VG2_2Z2Z_D:
19429 case AArch64::UMAX_VG2_2Z2Z_H:
19430 case AArch64::UMAX_VG2_2Z2Z_S:
19431 case AArch64::UMIN_VG2_2Z2Z_B:
19432 case AArch64::UMIN_VG2_2Z2Z_D:
19433 case AArch64::UMIN_VG2_2Z2Z_H:
19434 case AArch64::UMIN_VG2_2Z2Z_S:
19435 case AArch64::URSHL_VG2_2Z2Z_B:
19436 case AArch64::URSHL_VG2_2Z2Z_D:
19437 case AArch64::URSHL_VG2_2Z2Z_H:
19438 case AArch64::URSHL_VG2_2Z2Z_S: {
19439 // op: Zm
19440 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
19441 Value |= (op & 0xf) << 17;
19442 // op: Zdn
19443 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19444 Value |= (op & 0xf) << 1;
19445 break;
19446 }
19447 case AArch64::FMLALL_VG2_M2Z2Z_BtoS:
19448 case AArch64::SMLALL_VG2_M2Z2Z_BtoS:
19449 case AArch64::SMLALL_VG2_M2Z2Z_HtoD:
19450 case AArch64::SMLSLL_VG2_M2Z2Z_BtoS:
19451 case AArch64::SMLSLL_VG2_M2Z2Z_HtoD:
19452 case AArch64::UMLALL_VG2_M2Z2Z_BtoS:
19453 case AArch64::UMLALL_VG2_M2Z2Z_HtoD:
19454 case AArch64::UMLSLL_VG2_M2Z2Z_BtoS:
19455 case AArch64::UMLSLL_VG2_M2Z2Z_HtoD:
19456 case AArch64::USMLALL_VG2_M2Z2Z_BtoS: {
19457 // op: Zm
19458 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 5, Fixups, STI);
19459 Value |= (op & 0xf) << 17;
19460 // op: Rv
19461 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19462 Value |= (op & 0x3) << 13;
19463 // op: Zn
19464 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19465 Value |= (op & 0xf) << 6;
19466 // op: imm
19467 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19468 Value |= (op & 0x1);
19469 break;
19470 }
19471 case AArch64::ADD_VG2_M2Z2Z_D:
19472 case AArch64::ADD_VG2_M2Z2Z_S:
19473 case AArch64::BFDOT_VG2_M2Z2Z_HtoS:
19474 case AArch64::BFMLA_VG2_M2Z2Z:
19475 case AArch64::BFMLS_VG2_M2Z2Z:
19476 case AArch64::FDOT_VG2_M2Z2Z_BtoH:
19477 case AArch64::FDOT_VG2_M2Z2Z_BtoS:
19478 case AArch64::FDOT_VG2_M2Z2Z_HtoS:
19479 case AArch64::FMLA_VG2_M2Z2Z_D:
19480 case AArch64::FMLA_VG2_M2Z2Z_H:
19481 case AArch64::FMLA_VG2_M2Z2Z_S:
19482 case AArch64::FMLS_VG2_M2Z2Z_D:
19483 case AArch64::FMLS_VG2_M2Z2Z_H:
19484 case AArch64::FMLS_VG2_M2Z2Z_S:
19485 case AArch64::SDOT_VG2_M2Z2Z_BtoS:
19486 case AArch64::SDOT_VG2_M2Z2Z_HtoD:
19487 case AArch64::SDOT_VG2_M2Z2Z_HtoS:
19488 case AArch64::SUB_VG2_M2Z2Z_D:
19489 case AArch64::SUB_VG2_M2Z2Z_S:
19490 case AArch64::UDOT_VG2_M2Z2Z_BtoS:
19491 case AArch64::UDOT_VG2_M2Z2Z_HtoD:
19492 case AArch64::UDOT_VG2_M2Z2Z_HtoS:
19493 case AArch64::USDOT_VG2_M2Z2Z_BToS: {
19494 // op: Zm
19495 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 5, Fixups, STI);
19496 Value |= (op & 0xf) << 17;
19497 // op: Zn
19498 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19499 Value |= (op & 0xf) << 6;
19500 // op: Rv
19501 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19502 Value |= (op & 0x3) << 13;
19503 // op: imm3
19504 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19505 Value |= (op & 0x7);
19506 break;
19507 }
19508 case AArch64::BFMAXNM_VG4_4Z2Z_H:
19509 case AArch64::BFMAX_VG4_4Z2Z_H:
19510 case AArch64::BFMINNM_VG4_4Z2Z_H:
19511 case AArch64::BFMIN_VG4_4Z2Z_H:
19512 case AArch64::BFSCALE_4Z4Z:
19513 case AArch64::FAMAX_4Z4Z_D:
19514 case AArch64::FAMAX_4Z4Z_H:
19515 case AArch64::FAMAX_4Z4Z_S:
19516 case AArch64::FAMIN_4Z4Z_D:
19517 case AArch64::FAMIN_4Z4Z_H:
19518 case AArch64::FAMIN_4Z4Z_S:
19519 case AArch64::FMAXNM_VG4_4Z4Z_D:
19520 case AArch64::FMAXNM_VG4_4Z4Z_H:
19521 case AArch64::FMAXNM_VG4_4Z4Z_S:
19522 case AArch64::FMAX_VG4_4Z4Z_D:
19523 case AArch64::FMAX_VG4_4Z4Z_H:
19524 case AArch64::FMAX_VG4_4Z4Z_S:
19525 case AArch64::FMINNM_VG4_4Z4Z_D:
19526 case AArch64::FMINNM_VG4_4Z4Z_H:
19527 case AArch64::FMINNM_VG4_4Z4Z_S:
19528 case AArch64::FMIN_VG4_4Z4Z_D:
19529 case AArch64::FMIN_VG4_4Z4Z_H:
19530 case AArch64::FMIN_VG4_4Z4Z_S:
19531 case AArch64::FSCALE_4Z4Z_D:
19532 case AArch64::FSCALE_4Z4Z_H:
19533 case AArch64::FSCALE_4Z4Z_S:
19534 case AArch64::SMAX_VG4_4Z4Z_B:
19535 case AArch64::SMAX_VG4_4Z4Z_D:
19536 case AArch64::SMAX_VG4_4Z4Z_H:
19537 case AArch64::SMAX_VG4_4Z4Z_S:
19538 case AArch64::SMIN_VG4_4Z4Z_B:
19539 case AArch64::SMIN_VG4_4Z4Z_D:
19540 case AArch64::SMIN_VG4_4Z4Z_H:
19541 case AArch64::SMIN_VG4_4Z4Z_S:
19542 case AArch64::SQDMULH_VG4_4Z4Z_B:
19543 case AArch64::SQDMULH_VG4_4Z4Z_D:
19544 case AArch64::SQDMULH_VG4_4Z4Z_H:
19545 case AArch64::SQDMULH_VG4_4Z4Z_S:
19546 case AArch64::SRSHL_VG4_4Z4Z_B:
19547 case AArch64::SRSHL_VG4_4Z4Z_D:
19548 case AArch64::SRSHL_VG4_4Z4Z_H:
19549 case AArch64::SRSHL_VG4_4Z4Z_S:
19550 case AArch64::UMAX_VG4_4Z4Z_B:
19551 case AArch64::UMAX_VG4_4Z4Z_D:
19552 case AArch64::UMAX_VG4_4Z4Z_H:
19553 case AArch64::UMAX_VG4_4Z4Z_S:
19554 case AArch64::UMIN_VG4_4Z4Z_B:
19555 case AArch64::UMIN_VG4_4Z4Z_D:
19556 case AArch64::UMIN_VG4_4Z4Z_H:
19557 case AArch64::UMIN_VG4_4Z4Z_S:
19558 case AArch64::URSHL_VG4_4Z4Z_B:
19559 case AArch64::URSHL_VG4_4Z4Z_D:
19560 case AArch64::URSHL_VG4_4Z4Z_H:
19561 case AArch64::URSHL_VG4_4Z4Z_S: {
19562 // op: Zm
19563 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 2, Fixups, STI);
19564 Value |= (op & 0x7) << 18;
19565 // op: Zdn
19566 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19567 Value |= (op & 0x7) << 2;
19568 break;
19569 }
19570 case AArch64::FMLALL_VG4_M4Z4Z_BtoS:
19571 case AArch64::SMLALL_VG4_M4Z4Z_BtoS:
19572 case AArch64::SMLALL_VG4_M4Z4Z_HtoD:
19573 case AArch64::SMLSLL_VG4_M4Z4Z_BtoS:
19574 case AArch64::SMLSLL_VG4_M4Z4Z_HtoD:
19575 case AArch64::UMLALL_VG4_M4Z4Z_BtoS:
19576 case AArch64::UMLALL_VG4_M4Z4Z_HtoD:
19577 case AArch64::UMLSLL_VG4_M4Z4Z_BtoS:
19578 case AArch64::UMLSLL_VG4_M4Z4Z_HtoD:
19579 case AArch64::USMLALL_VG4_M4Z4Z_BtoS: {
19580 // op: Zm
19581 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 5, Fixups, STI);
19582 Value |= (op & 0x7) << 18;
19583 // op: Rv
19584 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19585 Value |= (op & 0x3) << 13;
19586 // op: Zn
19587 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
19588 Value |= (op & 0x7) << 7;
19589 // op: imm
19590 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19591 Value |= (op & 0x1);
19592 break;
19593 }
19594 case AArch64::ADD_VG4_M4Z4Z_D:
19595 case AArch64::ADD_VG4_M4Z4Z_S:
19596 case AArch64::BFDOT_VG4_M4Z4Z_HtoS:
19597 case AArch64::BFMLA_VG4_M4Z4Z:
19598 case AArch64::BFMLS_VG4_M4Z4Z:
19599 case AArch64::FDOT_VG4_M4Z4Z_BtoH:
19600 case AArch64::FDOT_VG4_M4Z4Z_BtoS:
19601 case AArch64::FDOT_VG4_M4Z4Z_HtoS:
19602 case AArch64::FMLA_VG4_M4Z4Z_D:
19603 case AArch64::FMLA_VG4_M4Z4Z_H:
19604 case AArch64::FMLA_VG4_M4Z4Z_S:
19605 case AArch64::FMLS_VG4_M4Z4Z_D:
19606 case AArch64::FMLS_VG4_M4Z4Z_H:
19607 case AArch64::FMLS_VG4_M4Z4Z_S:
19608 case AArch64::SDOT_VG4_M4Z4Z_BtoS:
19609 case AArch64::SDOT_VG4_M4Z4Z_HtoD:
19610 case AArch64::SDOT_VG4_M4Z4Z_HtoS:
19611 case AArch64::SUB_VG4_M4Z4Z_D:
19612 case AArch64::SUB_VG4_M4Z4Z_S:
19613 case AArch64::UDOT_VG4_M4Z4Z_BtoS:
19614 case AArch64::UDOT_VG4_M4Z4Z_HtoD:
19615 case AArch64::UDOT_VG4_M4Z4Z_HtoS:
19616 case AArch64::USDOT_VG4_M4Z4Z_BToS: {
19617 // op: Zm
19618 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 5, Fixups, STI);
19619 Value |= (op & 0x7) << 18;
19620 // op: Zn
19621 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
19622 Value |= (op & 0x7) << 7;
19623 // op: Rv
19624 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19625 Value |= (op & 0x3) << 13;
19626 // op: imm3
19627 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19628 Value |= (op & 0x7);
19629 break;
19630 }
19631 case AArch64::PMULL_2ZZZ_Q: {
19632 // op: Zm
19633 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19634 Value |= (op & 0x1f) << 16;
19635 // op: Zn
19636 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
19637 Value |= (op & 0x1f) << 5;
19638 // op: Zd
19639 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19640 Value |= (op & 0xf) << 1;
19641 break;
19642 }
19643 case AArch64::AESDIMC_2ZZI_B:
19644 case AArch64::AESD_2ZZI_B:
19645 case AArch64::AESEMC_2ZZI_B:
19646 case AArch64::AESE_2ZZI_B: {
19647 // op: Zm
19648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19649 Value |= (op & 0x1f) << 5;
19650 // op: Zdn
19651 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19652 Value |= (op & 0xf) << 1;
19653 // op: imm2
19654 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19655 Value |= (op & 0x3) << 19;
19656 break;
19657 }
19658 case AArch64::AESDIMC_4ZZI_B:
19659 case AArch64::AESD_4ZZI_B:
19660 case AArch64::AESEMC_4ZZI_B:
19661 case AArch64::AESE_4ZZI_B: {
19662 // op: Zm
19663 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19664 Value |= (op & 0x1f) << 5;
19665 // op: Zdn
19666 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19667 Value |= (op & 0x7) << 2;
19668 // op: imm2
19669 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19670 Value |= (op & 0x3) << 19;
19671 break;
19672 }
19673 case AArch64::ADD_VG2_2ZZ_B:
19674 case AArch64::ADD_VG2_2ZZ_D:
19675 case AArch64::ADD_VG2_2ZZ_H:
19676 case AArch64::ADD_VG2_2ZZ_S:
19677 case AArch64::BFMAXNM_VG2_2ZZ_H:
19678 case AArch64::BFMAX_VG2_2ZZ_H:
19679 case AArch64::BFMINNM_VG2_2ZZ_H:
19680 case AArch64::BFMIN_VG2_2ZZ_H:
19681 case AArch64::BFSCALE_2ZZ:
19682 case AArch64::FMAXNM_VG2_2ZZ_D:
19683 case AArch64::FMAXNM_VG2_2ZZ_H:
19684 case AArch64::FMAXNM_VG2_2ZZ_S:
19685 case AArch64::FMAX_VG2_2ZZ_D:
19686 case AArch64::FMAX_VG2_2ZZ_H:
19687 case AArch64::FMAX_VG2_2ZZ_S:
19688 case AArch64::FMINNM_VG2_2ZZ_D:
19689 case AArch64::FMINNM_VG2_2ZZ_H:
19690 case AArch64::FMINNM_VG2_2ZZ_S:
19691 case AArch64::FMIN_VG2_2ZZ_D:
19692 case AArch64::FMIN_VG2_2ZZ_H:
19693 case AArch64::FMIN_VG2_2ZZ_S:
19694 case AArch64::FSCALE_2ZZ_D:
19695 case AArch64::FSCALE_2ZZ_H:
19696 case AArch64::FSCALE_2ZZ_S:
19697 case AArch64::SMAX_VG2_2ZZ_B:
19698 case AArch64::SMAX_VG2_2ZZ_D:
19699 case AArch64::SMAX_VG2_2ZZ_H:
19700 case AArch64::SMAX_VG2_2ZZ_S:
19701 case AArch64::SMIN_VG2_2ZZ_B:
19702 case AArch64::SMIN_VG2_2ZZ_D:
19703 case AArch64::SMIN_VG2_2ZZ_H:
19704 case AArch64::SMIN_VG2_2ZZ_S:
19705 case AArch64::SQDMULH_VG2_2ZZ_B:
19706 case AArch64::SQDMULH_VG2_2ZZ_D:
19707 case AArch64::SQDMULH_VG2_2ZZ_H:
19708 case AArch64::SQDMULH_VG2_2ZZ_S:
19709 case AArch64::SRSHL_VG2_2ZZ_B:
19710 case AArch64::SRSHL_VG2_2ZZ_D:
19711 case AArch64::SRSHL_VG2_2ZZ_H:
19712 case AArch64::SRSHL_VG2_2ZZ_S:
19713 case AArch64::UMAX_VG2_2ZZ_B:
19714 case AArch64::UMAX_VG2_2ZZ_D:
19715 case AArch64::UMAX_VG2_2ZZ_H:
19716 case AArch64::UMAX_VG2_2ZZ_S:
19717 case AArch64::UMIN_VG2_2ZZ_B:
19718 case AArch64::UMIN_VG2_2ZZ_D:
19719 case AArch64::UMIN_VG2_2ZZ_H:
19720 case AArch64::UMIN_VG2_2ZZ_S:
19721 case AArch64::URSHL_VG2_2ZZ_B:
19722 case AArch64::URSHL_VG2_2ZZ_D:
19723 case AArch64::URSHL_VG2_2ZZ_H:
19724 case AArch64::URSHL_VG2_2ZZ_S: {
19725 // op: Zm
19726 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19727 Value |= (op & 0xf) << 16;
19728 // op: Zdn
19729 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19730 Value |= (op & 0xf) << 1;
19731 break;
19732 }
19733 case AArch64::ADD_VG4_4ZZ_B:
19734 case AArch64::ADD_VG4_4ZZ_D:
19735 case AArch64::ADD_VG4_4ZZ_H:
19736 case AArch64::ADD_VG4_4ZZ_S:
19737 case AArch64::BFMAXNM_VG4_4ZZ_H:
19738 case AArch64::BFMAX_VG4_4ZZ_H:
19739 case AArch64::BFMINNM_VG4_4ZZ_H:
19740 case AArch64::BFMIN_VG4_4ZZ_H:
19741 case AArch64::BFSCALE_4ZZ:
19742 case AArch64::FMAXNM_VG4_4ZZ_D:
19743 case AArch64::FMAXNM_VG4_4ZZ_H:
19744 case AArch64::FMAXNM_VG4_4ZZ_S:
19745 case AArch64::FMAX_VG4_4ZZ_D:
19746 case AArch64::FMAX_VG4_4ZZ_H:
19747 case AArch64::FMAX_VG4_4ZZ_S:
19748 case AArch64::FMINNM_VG4_4ZZ_D:
19749 case AArch64::FMINNM_VG4_4ZZ_H:
19750 case AArch64::FMINNM_VG4_4ZZ_S:
19751 case AArch64::FMIN_VG4_4ZZ_D:
19752 case AArch64::FMIN_VG4_4ZZ_H:
19753 case AArch64::FMIN_VG4_4ZZ_S:
19754 case AArch64::FSCALE_4ZZ_D:
19755 case AArch64::FSCALE_4ZZ_H:
19756 case AArch64::FSCALE_4ZZ_S:
19757 case AArch64::SMAX_VG4_4ZZ_B:
19758 case AArch64::SMAX_VG4_4ZZ_D:
19759 case AArch64::SMAX_VG4_4ZZ_H:
19760 case AArch64::SMAX_VG4_4ZZ_S:
19761 case AArch64::SMIN_VG4_4ZZ_B:
19762 case AArch64::SMIN_VG4_4ZZ_D:
19763 case AArch64::SMIN_VG4_4ZZ_H:
19764 case AArch64::SMIN_VG4_4ZZ_S:
19765 case AArch64::SQDMULH_VG4_4ZZ_B:
19766 case AArch64::SQDMULH_VG4_4ZZ_D:
19767 case AArch64::SQDMULH_VG4_4ZZ_H:
19768 case AArch64::SQDMULH_VG4_4ZZ_S:
19769 case AArch64::SRSHL_VG4_4ZZ_B:
19770 case AArch64::SRSHL_VG4_4ZZ_D:
19771 case AArch64::SRSHL_VG4_4ZZ_H:
19772 case AArch64::SRSHL_VG4_4ZZ_S:
19773 case AArch64::UMAX_VG4_4ZZ_B:
19774 case AArch64::UMAX_VG4_4ZZ_D:
19775 case AArch64::UMAX_VG4_4ZZ_H:
19776 case AArch64::UMAX_VG4_4ZZ_S:
19777 case AArch64::UMIN_VG4_4ZZ_B:
19778 case AArch64::UMIN_VG4_4ZZ_D:
19779 case AArch64::UMIN_VG4_4ZZ_H:
19780 case AArch64::UMIN_VG4_4ZZ_S:
19781 case AArch64::URSHL_VG4_4ZZ_B:
19782 case AArch64::URSHL_VG4_4ZZ_D:
19783 case AArch64::URSHL_VG4_4ZZ_H:
19784 case AArch64::URSHL_VG4_4ZZ_S: {
19785 // op: Zm
19786 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19787 Value |= (op & 0xf) << 16;
19788 // op: Zdn
19789 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19790 Value |= (op & 0x7) << 2;
19791 break;
19792 }
19793 case AArch64::BFCLAMP_VG2_2ZZZ_H:
19794 case AArch64::FCLAMP_VG2_2Z2Z_D:
19795 case AArch64::FCLAMP_VG2_2Z2Z_H:
19796 case AArch64::FCLAMP_VG2_2Z2Z_S:
19797 case AArch64::SCLAMP_VG2_2Z2Z_B:
19798 case AArch64::SCLAMP_VG2_2Z2Z_D:
19799 case AArch64::SCLAMP_VG2_2Z2Z_H:
19800 case AArch64::SCLAMP_VG2_2Z2Z_S:
19801 case AArch64::UCLAMP_VG2_2Z2Z_B:
19802 case AArch64::UCLAMP_VG2_2Z2Z_D:
19803 case AArch64::UCLAMP_VG2_2Z2Z_H:
19804 case AArch64::UCLAMP_VG2_2Z2Z_S: {
19805 // op: Zm
19806 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19807 Value |= (op & 0x1f) << 16;
19808 // op: Zn
19809 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19810 Value |= (op & 0x1f) << 5;
19811 // op: Zd
19812 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19813 Value |= (op & 0xf) << 1;
19814 break;
19815 }
19816 case AArch64::BFCLAMP_VG4_4ZZZ_H:
19817 case AArch64::FCLAMP_VG4_4Z4Z_D:
19818 case AArch64::FCLAMP_VG4_4Z4Z_H:
19819 case AArch64::FCLAMP_VG4_4Z4Z_S:
19820 case AArch64::SCLAMP_VG4_4Z4Z_B:
19821 case AArch64::SCLAMP_VG4_4Z4Z_D:
19822 case AArch64::SCLAMP_VG4_4Z4Z_H:
19823 case AArch64::SCLAMP_VG4_4Z4Z_S:
19824 case AArch64::UCLAMP_VG4_4Z4Z_B:
19825 case AArch64::UCLAMP_VG4_4Z4Z_D:
19826 case AArch64::UCLAMP_VG4_4Z4Z_H:
19827 case AArch64::UCLAMP_VG4_4Z4Z_S: {
19828 // op: Zm
19829 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19830 Value |= (op & 0x1f) << 16;
19831 // op: Zn
19832 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19833 Value |= (op & 0x1f) << 5;
19834 // op: Zd
19835 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19836 Value |= (op & 0x7) << 2;
19837 break;
19838 }
19839 case AArch64::BFCLAMP_ZZZ:
19840 case AArch64::FCLAMP_ZZZ_D:
19841 case AArch64::FCLAMP_ZZZ_H:
19842 case AArch64::FCLAMP_ZZZ_S:
19843 case AArch64::SCLAMP_ZZZ_B:
19844 case AArch64::SCLAMP_ZZZ_D:
19845 case AArch64::SCLAMP_ZZZ_H:
19846 case AArch64::SCLAMP_ZZZ_S:
19847 case AArch64::UCLAMP_ZZZ_B:
19848 case AArch64::UCLAMP_ZZZ_D:
19849 case AArch64::UCLAMP_ZZZ_H:
19850 case AArch64::UCLAMP_ZZZ_S: {
19851 // op: Zm
19852 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19853 Value |= (op & 0x1f) << 16;
19854 // op: Zn
19855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19856 Value |= (op & 0x1f) << 5;
19857 // op: Zd
19858 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19859 Value |= (op & 0x1f);
19860 break;
19861 }
19862 case AArch64::PMLAL_2ZZZ_Q: {
19863 // op: Zm
19864 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19865 Value |= (op & 0x1f) << 16;
19866 // op: Zn
19867 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19868 Value |= (op & 0x1f) << 5;
19869 // op: Zda
19870 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19871 Value |= (op & 0xf) << 1;
19872 break;
19873 }
19874 case AArch64::BFMOPA_MPPZZ_H:
19875 case AArch64::BFMOPS_MPPZZ_H:
19876 case AArch64::FMOPA_MPPZZ_BtoH:
19877 case AArch64::FMOPA_MPPZZ_H:
19878 case AArch64::FMOPS_MPPZZ_H: {
19879 // op: Zm
19880 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19881 Value |= (op & 0x1f) << 16;
19882 // op: Pm
19883 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19884 Value |= (op & 0x7) << 13;
19885 // op: Pn
19886 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19887 Value |= (op & 0x7) << 10;
19888 // op: Zn
19889 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19890 Value |= (op & 0x1f) << 5;
19891 // op: ZAda
19892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19893 Value |= (op & 0x1);
19894 break;
19895 }
19896 case AArch64::BFMOPA_MPPZZ:
19897 case AArch64::BFMOPS_MPPZZ:
19898 case AArch64::BMOPA_MPPZZ_S:
19899 case AArch64::BMOPS_MPPZZ_S:
19900 case AArch64::FMOPAL_MPPZZ:
19901 case AArch64::FMOPA_MPPZZ_BtoS:
19902 case AArch64::FMOPA_MPPZZ_S:
19903 case AArch64::FMOPSL_MPPZZ:
19904 case AArch64::FMOPS_MPPZZ_S:
19905 case AArch64::SMOPA_MPPZZ_HtoS:
19906 case AArch64::SMOPA_MPPZZ_S:
19907 case AArch64::SMOPS_MPPZZ_HtoS:
19908 case AArch64::SMOPS_MPPZZ_S:
19909 case AArch64::SUMOPA_MPPZZ_S:
19910 case AArch64::SUMOPS_MPPZZ_S:
19911 case AArch64::UMOPA_MPPZZ_HtoS:
19912 case AArch64::UMOPA_MPPZZ_S:
19913 case AArch64::UMOPS_MPPZZ_HtoS:
19914 case AArch64::UMOPS_MPPZZ_S:
19915 case AArch64::USMOPA_MPPZZ_S:
19916 case AArch64::USMOPS_MPPZZ_S: {
19917 // op: Zm
19918 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19919 Value |= (op & 0x1f) << 16;
19920 // op: Pm
19921 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19922 Value |= (op & 0x7) << 13;
19923 // op: Pn
19924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19925 Value |= (op & 0x7) << 10;
19926 // op: Zn
19927 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19928 Value |= (op & 0x1f) << 5;
19929 // op: ZAda
19930 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19931 Value |= (op & 0x3);
19932 break;
19933 }
19934 case AArch64::FMOPA_MPPZZ_D:
19935 case AArch64::FMOPS_MPPZZ_D:
19936 case AArch64::SMOPA_MPPZZ_D:
19937 case AArch64::SMOPS_MPPZZ_D:
19938 case AArch64::SUMOPA_MPPZZ_D:
19939 case AArch64::SUMOPS_MPPZZ_D:
19940 case AArch64::UMOPA_MPPZZ_D:
19941 case AArch64::UMOPS_MPPZZ_D:
19942 case AArch64::USMOPA_MPPZZ_D:
19943 case AArch64::USMOPS_MPPZZ_D: {
19944 // op: Zm
19945 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19946 Value |= (op & 0x1f) << 16;
19947 // op: Pm
19948 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19949 Value |= (op & 0x7) << 13;
19950 // op: Pn
19951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19952 Value |= (op & 0x7) << 10;
19953 // op: Zn
19954 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19955 Value |= (op & 0x1f) << 5;
19956 // op: ZAda
19957 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19958 Value |= (op & 0x7);
19959 break;
19960 }
19961 case AArch64::FVDOTB_VG4_M2ZZI_BtoS:
19962 case AArch64::FVDOTT_VG4_M2ZZI_BtoS: {
19963 // op: Zm
19964 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19965 Value |= (op & 0xf) << 16;
19966 // op: Rv
19967 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19968 Value |= (op & 0x3) << 13;
19969 // op: Zn
19970 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19971 Value |= (op & 0xf) << 6;
19972 // op: imm3
19973 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19974 Value |= (op & 0x7);
19975 // op: i
19976 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
19977 Value |= (op & 0x2) << 9;
19978 Value |= (op & 0x1) << 3;
19979 break;
19980 }
19981 case AArch64::BFDOT_VG2_M2ZZI_HtoS:
19982 case AArch64::BFVDOT_VG2_M2ZZI_HtoS:
19983 case AArch64::FDOT_VG2_M2ZZI_BtoS:
19984 case AArch64::FDOT_VG2_M2ZZI_HtoS:
19985 case AArch64::FMLA_VG2_M2ZZI_S:
19986 case AArch64::FMLS_VG2_M2ZZI_S:
19987 case AArch64::FVDOT_VG2_M2ZZI_HtoS:
19988 case AArch64::SDOT_VG2_M2ZZI_BToS:
19989 case AArch64::SDOT_VG2_M2ZZI_HToS:
19990 case AArch64::SUDOT_VG2_M2ZZI_BToS:
19991 case AArch64::SVDOT_VG2_M2ZZI_HtoS:
19992 case AArch64::UDOT_VG2_M2ZZI_BToS:
19993 case AArch64::UDOT_VG2_M2ZZI_HToS:
19994 case AArch64::USDOT_VG2_M2ZZI_BToS:
19995 case AArch64::UVDOT_VG2_M2ZZI_HtoS: {
19996 // op: Zm
19997 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19998 Value |= (op & 0xf) << 16;
19999 // op: Rv
20000 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20001 Value |= (op & 0x3) << 13;
20002 // op: Zn
20003 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20004 Value |= (op & 0xf) << 6;
20005 // op: imm3
20006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20007 Value |= (op & 0x7);
20008 // op: i
20009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20010 Value |= (op & 0x3) << 10;
20011 break;
20012 }
20013 case AArch64::BFMLA_VG2_M2ZZI:
20014 case AArch64::BFMLS_VG2_M2ZZI:
20015 case AArch64::FDOT_VG2_M2ZZI_BtoH:
20016 case AArch64::FMLA_VG2_M2ZZI_H:
20017 case AArch64::FMLS_VG2_M2ZZI_H:
20018 case AArch64::FVDOT_VG2_M2ZZI_BtoH: {
20019 // op: Zm
20020 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20021 Value |= (op & 0xf) << 16;
20022 // op: Rv
20023 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20024 Value |= (op & 0x3) << 13;
20025 // op: Zn
20026 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20027 Value |= (op & 0xf) << 6;
20028 // op: imm3
20029 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20030 Value |= (op & 0x7);
20031 // op: i
20032 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20033 Value |= (op & 0x6) << 9;
20034 Value |= (op & 0x1) << 3;
20035 break;
20036 }
20037 case AArch64::BFDOT_VG4_M4ZZI_HtoS:
20038 case AArch64::FDOT_VG4_M4ZZI_BtoS:
20039 case AArch64::FDOT_VG4_M4ZZI_HtoS:
20040 case AArch64::FMLA_VG4_M4ZZI_S:
20041 case AArch64::FMLS_VG4_M4ZZI_S:
20042 case AArch64::SDOT_VG4_M4ZZI_BToS:
20043 case AArch64::SDOT_VG4_M4ZZI_HToS:
20044 case AArch64::SUDOT_VG4_M4ZZI_BToS:
20045 case AArch64::SUVDOT_VG4_M4ZZI_BToS:
20046 case AArch64::SVDOT_VG4_M4ZZI_BtoS:
20047 case AArch64::UDOT_VG4_M4ZZI_BtoS:
20048 case AArch64::UDOT_VG4_M4ZZI_HToS:
20049 case AArch64::USDOT_VG4_M4ZZI_BToS:
20050 case AArch64::USVDOT_VG4_M4ZZI_BToS:
20051 case AArch64::UVDOT_VG4_M4ZZI_BtoS: {
20052 // op: Zm
20053 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20054 Value |= (op & 0xf) << 16;
20055 // op: Rv
20056 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20057 Value |= (op & 0x3) << 13;
20058 // op: Zn
20059 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20060 Value |= (op & 0x7) << 7;
20061 // op: imm3
20062 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20063 Value |= (op & 0x7);
20064 // op: i
20065 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20066 Value |= (op & 0x3) << 10;
20067 break;
20068 }
20069 case AArch64::BFMLA_VG4_M4ZZI:
20070 case AArch64::BFMLS_VG4_M4ZZI:
20071 case AArch64::FDOT_VG4_M4ZZI_BtoH:
20072 case AArch64::FMLA_VG4_M4ZZI_H:
20073 case AArch64::FMLS_VG4_M4ZZI_H: {
20074 // op: Zm
20075 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20076 Value |= (op & 0xf) << 16;
20077 // op: Rv
20078 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20079 Value |= (op & 0x3) << 13;
20080 // op: Zn
20081 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20082 Value |= (op & 0x7) << 7;
20083 // op: imm3
20084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20085 Value |= (op & 0x7);
20086 // op: i
20087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20088 Value |= (op & 0x6) << 9;
20089 Value |= (op & 0x1) << 3;
20090 break;
20091 }
20092 case AArch64::FMLALL_VG2_M2ZZ_BtoS:
20093 case AArch64::FMLALL_VG4_M4ZZ_BtoS:
20094 case AArch64::SMLALL_VG2_M2ZZ_BtoS:
20095 case AArch64::SMLALL_VG2_M2ZZ_HtoD:
20096 case AArch64::SMLALL_VG4_M4ZZ_BtoS:
20097 case AArch64::SMLALL_VG4_M4ZZ_HtoD:
20098 case AArch64::SMLSLL_VG2_M2ZZ_BtoS:
20099 case AArch64::SMLSLL_VG2_M2ZZ_HtoD:
20100 case AArch64::SMLSLL_VG4_M4ZZ_BtoS:
20101 case AArch64::SMLSLL_VG4_M4ZZ_HtoD:
20102 case AArch64::SUMLALL_VG2_M2ZZ_BtoS:
20103 case AArch64::SUMLALL_VG4_M4ZZ_BtoS:
20104 case AArch64::UMLALL_VG2_M2ZZ_BtoS:
20105 case AArch64::UMLALL_VG2_M2ZZ_HtoD:
20106 case AArch64::UMLALL_VG4_M4ZZ_BtoS:
20107 case AArch64::UMLALL_VG4_M4ZZ_HtoD:
20108 case AArch64::UMLSLL_VG2_M2ZZ_BtoS:
20109 case AArch64::UMLSLL_VG2_M2ZZ_HtoD:
20110 case AArch64::UMLSLL_VG4_M4ZZ_BtoS:
20111 case AArch64::UMLSLL_VG4_M4ZZ_HtoD:
20112 case AArch64::USMLALL_VG2_M2ZZ_BtoS:
20113 case AArch64::USMLALL_VG4_M4ZZ_BtoS: {
20114 // op: Zm
20115 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20116 Value |= (op & 0xf) << 16;
20117 // op: Rv
20118 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20119 Value |= (op & 0x3) << 13;
20120 // op: Zn
20121 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20122 Value |= (op & 0x1f) << 5;
20123 // op: imm
20124 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20125 Value |= (op & 0x1);
20126 break;
20127 }
20128 case AArch64::FMLALL_MZZ_BtoS:
20129 case AArch64::SMLALL_MZZ_BtoS:
20130 case AArch64::SMLALL_MZZ_HtoD:
20131 case AArch64::SMLSLL_MZZ_BtoS:
20132 case AArch64::SMLSLL_MZZ_HtoD:
20133 case AArch64::UMLALL_MZZ_BtoS:
20134 case AArch64::UMLALL_MZZ_HtoD:
20135 case AArch64::UMLSLL_MZZ_BtoS:
20136 case AArch64::UMLSLL_MZZ_HtoD:
20137 case AArch64::USMLALL_MZZ_BtoS: {
20138 // op: Zm
20139 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20140 Value |= (op & 0xf) << 16;
20141 // op: Rv
20142 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20143 Value |= (op & 0x3) << 13;
20144 // op: Zn
20145 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20146 Value |= (op & 0x1f) << 5;
20147 // op: imm
20148 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20149 Value |= (op & 0x3);
20150 break;
20151 }
20152 case AArch64::SMLALL_MZZI_HtoD:
20153 case AArch64::SMLSLL_MZZI_HtoD:
20154 case AArch64::UMLALL_MZZI_HtoD:
20155 case AArch64::UMLSLL_MZZI_HtoD: {
20156 // op: Zm
20157 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20158 Value |= (op & 0xf) << 16;
20159 // op: Rv
20160 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20161 Value |= (op & 0x3) << 13;
20162 // op: i
20163 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20164 Value |= (op & 0x4) << 13;
20165 Value |= (op & 0x3) << 10;
20166 // op: Zn
20167 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20168 Value |= (op & 0x1f) << 5;
20169 // op: imm2
20170 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20171 Value |= (op & 0x3);
20172 break;
20173 }
20174 case AArch64::SMLALL_VG2_M2ZZI_HtoD:
20175 case AArch64::SMLSLL_VG2_M2ZZI_HtoD:
20176 case AArch64::UMLALL_VG2_M2ZZI_HtoD:
20177 case AArch64::UMLSLL_VG2_M2ZZI_HtoD: {
20178 // op: Zm
20179 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20180 Value |= (op & 0xf) << 16;
20181 // op: Rv
20182 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20183 Value |= (op & 0x3) << 13;
20184 // op: i
20185 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20186 Value |= (op & 0x4) << 8;
20187 Value |= (op & 0x3) << 1;
20188 // op: imm
20189 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20190 Value |= (op & 0x1);
20191 // op: Zn
20192 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20193 Value |= (op & 0xf) << 6;
20194 break;
20195 }
20196 case AArch64::SMLALL_VG4_M4ZZI_HtoD:
20197 case AArch64::SMLSLL_VG4_M4ZZI_HtoD:
20198 case AArch64::UMLALL_VG4_M4ZZI_HtoD:
20199 case AArch64::UMLSLL_VG4_M4ZZI_HtoD: {
20200 // op: Zm
20201 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20202 Value |= (op & 0xf) << 16;
20203 // op: Rv
20204 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20205 Value |= (op & 0x3) << 13;
20206 // op: i
20207 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20208 Value |= (op & 0x4) << 8;
20209 Value |= (op & 0x3) << 1;
20210 // op: imm
20211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20212 Value |= (op & 0x1);
20213 // op: Zn
20214 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20215 Value |= (op & 0x7) << 7;
20216 break;
20217 }
20218 case AArch64::FMLAL_MZZI_BtoH: {
20219 // op: Zm
20220 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20221 Value |= (op & 0xf) << 16;
20222 // op: Rv
20223 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20224 Value |= (op & 0x3) << 13;
20225 // op: i
20226 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20227 Value |= (op & 0x8) << 12;
20228 Value |= (op & 0x6) << 9;
20229 Value |= (op & 0x1) << 3;
20230 // op: Zn
20231 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20232 Value |= (op & 0x1f) << 5;
20233 // op: imm3
20234 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20235 Value |= (op & 0x7);
20236 break;
20237 }
20238 case AArch64::FMLALL_MZZI_BtoS:
20239 case AArch64::SMLALL_MZZI_BtoS:
20240 case AArch64::SMLSLL_MZZI_BtoS:
20241 case AArch64::SUMLALL_MZZI_BtoS:
20242 case AArch64::UMLALL_MZZI_BtoS:
20243 case AArch64::UMLSLL_MZZI_BtoS:
20244 case AArch64::USMLALL_MZZI_BtoS: {
20245 // op: Zm
20246 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20247 Value |= (op & 0xf) << 16;
20248 // op: Rv
20249 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20250 Value |= (op & 0x3) << 13;
20251 // op: i
20252 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20253 Value |= (op & 0x8) << 12;
20254 Value |= (op & 0x7) << 10;
20255 // op: Zn
20256 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20257 Value |= (op & 0x1f) << 5;
20258 // op: imm2
20259 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20260 Value |= (op & 0x3);
20261 break;
20262 }
20263 case AArch64::FMLALL_VG2_M2ZZI_BtoS:
20264 case AArch64::SMLALL_VG2_M2ZZI_BtoS:
20265 case AArch64::SMLSLL_VG2_M2ZZI_BtoS:
20266 case AArch64::SUMLALL_VG2_M2ZZI_BtoS:
20267 case AArch64::UMLALL_VG2_M2ZZI_BtoS:
20268 case AArch64::UMLSLL_VG2_M2ZZI_BtoS:
20269 case AArch64::USMLALL_VG2_M2ZZI_BtoS: {
20270 // op: Zm
20271 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20272 Value |= (op & 0xf) << 16;
20273 // op: Rv
20274 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20275 Value |= (op & 0x3) << 13;
20276 // op: i
20277 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20278 Value |= (op & 0xc) << 8;
20279 Value |= (op & 0x3) << 1;
20280 // op: imm
20281 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20282 Value |= (op & 0x1);
20283 // op: Zn
20284 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20285 Value |= (op & 0xf) << 6;
20286 break;
20287 }
20288 case AArch64::FMLALL_VG4_M4ZZI_BtoS:
20289 case AArch64::SMLALL_VG4_M4ZZI_BtoS:
20290 case AArch64::SMLSLL_VG4_M4ZZI_BtoS:
20291 case AArch64::SUMLALL_VG4_M4ZZI_BtoS:
20292 case AArch64::UMLALL_VG4_M4ZZI_BtoS:
20293 case AArch64::UMLSLL_VG4_M4ZZI_BtoS:
20294 case AArch64::USMLALL_VG4_M4ZZI_BtoS: {
20295 // op: Zm
20296 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20297 Value |= (op & 0xf) << 16;
20298 // op: Rv
20299 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20300 Value |= (op & 0x3) << 13;
20301 // op: i
20302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20303 Value |= (op & 0xc) << 8;
20304 Value |= (op & 0x3) << 1;
20305 // op: imm
20306 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20307 Value |= (op & 0x1);
20308 // op: Zn
20309 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20310 Value |= (op & 0x7) << 7;
20311 break;
20312 }
20313 case AArch64::FMLAL_VG2_M2ZZI_BtoH: {
20314 // op: Zm
20315 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20316 Value |= (op & 0xf) << 16;
20317 // op: Rv
20318 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20319 Value |= (op & 0x3) << 13;
20320 // op: i
20321 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20322 Value |= (op & 0xc) << 8;
20323 Value |= (op & 0x3) << 2;
20324 // op: imm2
20325 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20326 Value |= (op & 0x3);
20327 // op: Zn
20328 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20329 Value |= (op & 0xf) << 6;
20330 break;
20331 }
20332 case AArch64::FMLAL_VG4_M4ZZI_BtoH: {
20333 // op: Zm
20334 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20335 Value |= (op & 0xf) << 16;
20336 // op: Rv
20337 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20338 Value |= (op & 0x3) << 13;
20339 // op: i
20340 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20341 Value |= (op & 0xc) << 8;
20342 Value |= (op & 0x3) << 2;
20343 // op: imm2
20344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20345 Value |= (op & 0x3);
20346 // op: Zn
20347 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20348 Value |= (op & 0x7) << 7;
20349 break;
20350 }
20351 case AArch64::FMLA_VG2_M2ZZI_D:
20352 case AArch64::FMLS_VG2_M2ZZI_D:
20353 case AArch64::SDOT_VG2_M2ZZI_HtoD:
20354 case AArch64::UDOT_VG2_M2ZZI_HtoD: {
20355 // op: Zm
20356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20357 Value |= (op & 0xf) << 16;
20358 // op: Rv
20359 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20360 Value |= (op & 0x3) << 13;
20361 // op: i1
20362 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20363 Value |= (op & 0x1) << 10;
20364 // op: Zn
20365 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20366 Value |= (op & 0xf) << 6;
20367 // op: imm3
20368 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20369 Value |= (op & 0x7);
20370 break;
20371 }
20372 case AArch64::FMLA_VG4_M4ZZI_D:
20373 case AArch64::FMLS_VG4_M4ZZI_D:
20374 case AArch64::SDOT_VG4_M4ZZI_HtoD:
20375 case AArch64::SVDOT_VG4_M4ZZI_HtoD:
20376 case AArch64::UDOT_VG4_M4ZZI_HtoD:
20377 case AArch64::UVDOT_VG4_M4ZZI_HtoD: {
20378 // op: Zm
20379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20380 Value |= (op & 0xf) << 16;
20381 // op: Rv
20382 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20383 Value |= (op & 0x3) << 13;
20384 // op: i1
20385 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20386 Value |= (op & 0x1) << 10;
20387 // op: Zn
20388 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20389 Value |= (op & 0x7) << 7;
20390 // op: imm3
20391 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20392 Value |= (op & 0x7);
20393 break;
20394 }
20395 case AArch64::BFMLAL_MZZI_HtoS:
20396 case AArch64::BFMLSL_MZZI_HtoS:
20397 case AArch64::FMLAL_MZZI_HtoS:
20398 case AArch64::FMLSL_MZZI_HtoS:
20399 case AArch64::SMLAL_MZZI_HtoS:
20400 case AArch64::SMLSL_MZZI_HtoS:
20401 case AArch64::UMLAL_MZZI_HtoS:
20402 case AArch64::UMLSL_MZZI_HtoS: {
20403 // op: Zm
20404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20405 Value |= (op & 0xf) << 16;
20406 // op: Rv
20407 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20408 Value |= (op & 0x3) << 13;
20409 // op: i3
20410 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20411 Value |= (op & 0x4) << 13;
20412 Value |= (op & 0x3) << 10;
20413 // op: Zn
20414 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20415 Value |= (op & 0x1f) << 5;
20416 // op: imm
20417 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20418 Value |= (op & 0x7);
20419 break;
20420 }
20421 case AArch64::BFMLAL_VG2_M2ZZI_HtoS:
20422 case AArch64::BFMLSL_VG2_M2ZZI_HtoS:
20423 case AArch64::FMLAL_VG2_M2ZZI_HtoS:
20424 case AArch64::FMLSL_VG2_M2ZZI_HtoS:
20425 case AArch64::SMLAL_VG2_M2ZZI_S:
20426 case AArch64::SMLSL_VG2_M2ZZI_S:
20427 case AArch64::UMLAL_VG2_M2ZZI_S:
20428 case AArch64::UMLSL_VG2_M2ZZI_S: {
20429 // op: Zm
20430 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20431 Value |= (op & 0xf) << 16;
20432 // op: Rv
20433 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20434 Value |= (op & 0x3) << 13;
20435 // op: i3
20436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20437 Value |= (op & 0x6) << 9;
20438 Value |= (op & 0x1) << 2;
20439 // op: Zn
20440 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20441 Value |= (op & 0xf) << 6;
20442 // op: imm
20443 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20444 Value |= (op & 0x3);
20445 break;
20446 }
20447 case AArch64::BFMLAL_VG4_M4ZZI_HtoS:
20448 case AArch64::BFMLSL_VG4_M4ZZI_HtoS:
20449 case AArch64::FMLAL_VG4_M4ZZI_HtoS:
20450 case AArch64::FMLSL_VG4_M4ZZI_HtoS:
20451 case AArch64::SMLAL_VG4_M4ZZI_HtoS:
20452 case AArch64::SMLSL_VG4_M4ZZI_HtoS:
20453 case AArch64::UMLAL_VG4_M4ZZI_HtoS:
20454 case AArch64::UMLSL_VG4_M4ZZI_HtoS: {
20455 // op: Zm
20456 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20457 Value |= (op & 0xf) << 16;
20458 // op: Rv
20459 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20460 Value |= (op & 0x3) << 13;
20461 // op: i3
20462 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20463 Value |= (op & 0x6) << 9;
20464 Value |= (op & 0x1) << 2;
20465 // op: Zn
20466 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20467 Value |= (op & 0x7) << 7;
20468 // op: imm
20469 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20470 Value |= (op & 0x3);
20471 break;
20472 }
20473 case AArch64::ADD_VG2_M2ZZ_D:
20474 case AArch64::ADD_VG2_M2ZZ_S:
20475 case AArch64::ADD_VG4_M4ZZ_D:
20476 case AArch64::ADD_VG4_M4ZZ_S:
20477 case AArch64::BFDOT_VG2_M2ZZ_HtoS:
20478 case AArch64::BFDOT_VG4_M4ZZ_HtoS:
20479 case AArch64::BFMLA_VG2_M2ZZ:
20480 case AArch64::BFMLA_VG4_M4ZZ:
20481 case AArch64::BFMLS_VG2_M2ZZ:
20482 case AArch64::BFMLS_VG4_M4ZZ:
20483 case AArch64::FDOT_VG2_M2ZZ_BtoH:
20484 case AArch64::FDOT_VG2_M2ZZ_BtoS:
20485 case AArch64::FDOT_VG2_M2ZZ_HtoS:
20486 case AArch64::FDOT_VG4_M4ZZ_BtoH:
20487 case AArch64::FDOT_VG4_M4ZZ_BtoS:
20488 case AArch64::FDOT_VG4_M4ZZ_HtoS:
20489 case AArch64::FMLA_VG2_M2ZZ_D:
20490 case AArch64::FMLA_VG2_M2ZZ_H:
20491 case AArch64::FMLA_VG2_M2ZZ_S:
20492 case AArch64::FMLA_VG4_M4ZZ_D:
20493 case AArch64::FMLA_VG4_M4ZZ_H:
20494 case AArch64::FMLA_VG4_M4ZZ_S:
20495 case AArch64::FMLS_VG2_M2ZZ_D:
20496 case AArch64::FMLS_VG2_M2ZZ_H:
20497 case AArch64::FMLS_VG2_M2ZZ_S:
20498 case AArch64::FMLS_VG4_M4ZZ_D:
20499 case AArch64::FMLS_VG4_M4ZZ_H:
20500 case AArch64::FMLS_VG4_M4ZZ_S:
20501 case AArch64::SDOT_VG2_M2ZZ_BtoS:
20502 case AArch64::SDOT_VG2_M2ZZ_HtoD:
20503 case AArch64::SDOT_VG2_M2ZZ_HtoS:
20504 case AArch64::SDOT_VG4_M4ZZ_BtoS:
20505 case AArch64::SDOT_VG4_M4ZZ_HtoD:
20506 case AArch64::SDOT_VG4_M4ZZ_HtoS:
20507 case AArch64::SUB_VG2_M2ZZ_D:
20508 case AArch64::SUB_VG2_M2ZZ_S:
20509 case AArch64::SUB_VG4_M4ZZ_D:
20510 case AArch64::SUB_VG4_M4ZZ_S:
20511 case AArch64::SUDOT_VG2_M2ZZ_BToS:
20512 case AArch64::SUDOT_VG4_M4ZZ_BToS:
20513 case AArch64::UDOT_VG2_M2ZZ_BtoS:
20514 case AArch64::UDOT_VG2_M2ZZ_HtoD:
20515 case AArch64::UDOT_VG2_M2ZZ_HtoS:
20516 case AArch64::UDOT_VG4_M4ZZ_BtoS:
20517 case AArch64::UDOT_VG4_M4ZZ_HtoD:
20518 case AArch64::UDOT_VG4_M4ZZ_HtoS:
20519 case AArch64::USDOT_VG2_M2ZZ_BToS:
20520 case AArch64::USDOT_VG4_M4ZZ_BToS: {
20521 // op: Zm
20522 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20523 Value |= (op & 0xf) << 16;
20524 // op: Zn
20525 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20526 Value |= (op & 0x1f) << 5;
20527 // op: Rv
20528 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20529 Value |= (op & 0x3) << 13;
20530 // op: imm3
20531 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20532 Value |= (op & 0x7);
20533 break;
20534 }
20535 case AArch64::FCVTZS_2Z2Z_StoS:
20536 case AArch64::FCVTZU_2Z2Z_StoS:
20537 case AArch64::FRINTA_2Z2Z_S:
20538 case AArch64::FRINTM_2Z2Z_S:
20539 case AArch64::FRINTN_2Z2Z_S:
20540 case AArch64::FRINTP_2Z2Z_S:
20541 case AArch64::SCVTF_2Z2Z_StoS:
20542 case AArch64::UCVTF_2Z2Z_StoS: {
20543 // op: Zn
20544 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
20545 Value |= (op & 0xf) << 6;
20546 // op: Zd
20547 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20548 Value |= (op & 0xf) << 1;
20549 break;
20550 }
20551 case AArch64::SUNPK_VG4_4Z2Z_D:
20552 case AArch64::SUNPK_VG4_4Z2Z_H:
20553 case AArch64::SUNPK_VG4_4Z2Z_S:
20554 case AArch64::UUNPK_VG4_4Z2Z_D:
20555 case AArch64::UUNPK_VG4_4Z2Z_H:
20556 case AArch64::UUNPK_VG4_4Z2Z_S: {
20557 // op: Zn
20558 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
20559 Value |= (op & 0xf) << 6;
20560 // op: Zd
20561 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20562 Value |= (op & 0x7) << 2;
20563 break;
20564 }
20565 case AArch64::BFCVTN_Z2Z_StoH:
20566 case AArch64::BFCVT_Z2Z_HtoB:
20567 case AArch64::BFCVT_Z2Z_StoH:
20568 case AArch64::FCVTN_Z2Z_StoH:
20569 case AArch64::FCVT_Z2Z_HtoB:
20570 case AArch64::FCVT_Z2Z_StoH:
20571 case AArch64::SQCVTU_Z2Z_StoH:
20572 case AArch64::SQCVT_Z2Z_StoH:
20573 case AArch64::UQCVT_Z2Z_StoH: {
20574 // op: Zn
20575 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
20576 Value |= (op & 0xf) << 6;
20577 // op: Zd
20578 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20579 Value |= (op & 0x1f);
20580 break;
20581 }
20582 case AArch64::LUTI4_4ZZT2Z: {
20583 // op: Zn
20584 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
20585 Value |= (op & 0xf) << 6;
20586 // op: Zd
20587 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20588 Value |= (op & 0x7) << 2;
20589 break;
20590 }
20591 case AArch64::LUTI4_S_4ZZT2Z: {
20592 // op: Zn
20593 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
20594 Value |= (op & 0xf) << 6;
20595 // op: Zd
20596 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20597 Value |= (op & 0x4) << 2;
20598 Value |= (op & 0x3);
20599 break;
20600 }
20601 case AArch64::FCVTZS_4Z4Z_StoS:
20602 case AArch64::FCVTZU_4Z4Z_StoS:
20603 case AArch64::FRINTA_4Z4Z_S:
20604 case AArch64::FRINTM_4Z4Z_S:
20605 case AArch64::FRINTN_4Z4Z_S:
20606 case AArch64::FRINTP_4Z4Z_S:
20607 case AArch64::SCVTF_4Z4Z_StoS:
20608 case AArch64::UCVTF_4Z4Z_StoS:
20609 case AArch64::UZP_VG4_4Z4Z_B:
20610 case AArch64::UZP_VG4_4Z4Z_D:
20611 case AArch64::UZP_VG4_4Z4Z_H:
20612 case AArch64::UZP_VG4_4Z4Z_Q:
20613 case AArch64::UZP_VG4_4Z4Z_S:
20614 case AArch64::ZIP_VG4_4Z4Z_B:
20615 case AArch64::ZIP_VG4_4Z4Z_D:
20616 case AArch64::ZIP_VG4_4Z4Z_H:
20617 case AArch64::ZIP_VG4_4Z4Z_Q:
20618 case AArch64::ZIP_VG4_4Z4Z_S: {
20619 // op: Zn
20620 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20621 Value |= (op & 0x7) << 7;
20622 // op: Zd
20623 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20624 Value |= (op & 0x7) << 2;
20625 break;
20626 }
20627 case AArch64::FCVTN_Z4Z_StoB:
20628 case AArch64::FCVT_Z4Z_StoB:
20629 case AArch64::SQCVTN_Z4Z_DtoH:
20630 case AArch64::SQCVTN_Z4Z_StoB:
20631 case AArch64::SQCVTUN_Z4Z_DtoH:
20632 case AArch64::SQCVTUN_Z4Z_StoB:
20633 case AArch64::SQCVTU_Z4Z_DtoH:
20634 case AArch64::SQCVTU_Z4Z_StoB:
20635 case AArch64::SQCVT_Z4Z_DtoH:
20636 case AArch64::SQCVT_Z4Z_StoB:
20637 case AArch64::UQCVTN_Z4Z_DtoH:
20638 case AArch64::UQCVTN_Z4Z_StoB:
20639 case AArch64::UQCVT_Z4Z_DtoH:
20640 case AArch64::UQCVT_Z4Z_StoB: {
20641 // op: Zn
20642 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20643 Value |= (op & 0x7) << 7;
20644 // op: Zd
20645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20646 Value |= (op & 0x1f);
20647 break;
20648 }
20649 case AArch64::SQRSHRN_VG4_Z4ZI_B:
20650 case AArch64::SQRSHRUN_VG4_Z4ZI_B:
20651 case AArch64::SQRSHRU_VG4_Z4ZI_B:
20652 case AArch64::SQRSHR_VG4_Z4ZI_B:
20653 case AArch64::UQRSHRN_VG4_Z4ZI_B:
20654 case AArch64::UQRSHR_VG4_Z4ZI_B: {
20655 // op: Zn
20656 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20657 Value |= (op & 0x7) << 7;
20658 // op: Zd
20659 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20660 Value |= (op & 0x1f);
20661 // op: imm
20662 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
20663 Value |= (op & 0x1f) << 16;
20664 break;
20665 }
20666 case AArch64::SQRSHRN_VG4_Z4ZI_H:
20667 case AArch64::SQRSHRUN_VG4_Z4ZI_H:
20668 case AArch64::SQRSHRU_VG4_Z4ZI_H:
20669 case AArch64::SQRSHR_VG4_Z4ZI_H:
20670 case AArch64::UQRSHRN_VG4_Z4ZI_H:
20671 case AArch64::UQRSHR_VG4_Z4ZI_H: {
20672 // op: Zn
20673 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20674 Value |= (op & 0x7) << 7;
20675 // op: Zd
20676 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20677 Value |= (op & 0x1f);
20678 // op: imm
20679 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
20680 Value |= (op & 0x20) << 17;
20681 Value |= (op & 0x1f) << 16;
20682 break;
20683 }
20684 case AArch64::BF1CVTL_2ZZ_BtoH:
20685 case AArch64::BF1CVT_2ZZ_BtoH:
20686 case AArch64::BF2CVTL_2ZZ_BtoH:
20687 case AArch64::BF2CVT_2ZZ_BtoH:
20688 case AArch64::F1CVTL_2ZZ_BtoH:
20689 case AArch64::F1CVT_2ZZ_BtoH:
20690 case AArch64::F2CVTL_2ZZ_BtoH:
20691 case AArch64::F2CVT_2ZZ_BtoH:
20692 case AArch64::FCVTL_2ZZ_H_S:
20693 case AArch64::FCVT_2ZZ_H_S:
20694 case AArch64::SUNPK_VG2_2ZZ_D:
20695 case AArch64::SUNPK_VG2_2ZZ_H:
20696 case AArch64::SUNPK_VG2_2ZZ_S:
20697 case AArch64::UUNPK_VG2_2ZZ_D:
20698 case AArch64::UUNPK_VG2_2ZZ_H:
20699 case AArch64::UUNPK_VG2_2ZZ_S: {
20700 // op: Zn
20701 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
20702 Value |= (op & 0x1f) << 5;
20703 // op: Zd
20704 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20705 Value |= (op & 0xf) << 1;
20706 break;
20707 }
20708 case AArch64::FADDV_VPZ_D:
20709 case AArch64::FADDV_VPZ_H:
20710 case AArch64::FADDV_VPZ_S:
20711 case AArch64::FMAXNMV_VPZ_D:
20712 case AArch64::FMAXNMV_VPZ_H:
20713 case AArch64::FMAXNMV_VPZ_S:
20714 case AArch64::FMAXV_VPZ_D:
20715 case AArch64::FMAXV_VPZ_H:
20716 case AArch64::FMAXV_VPZ_S:
20717 case AArch64::FMINNMV_VPZ_D:
20718 case AArch64::FMINNMV_VPZ_H:
20719 case AArch64::FMINNMV_VPZ_S:
20720 case AArch64::FMINV_VPZ_D:
20721 case AArch64::FMINV_VPZ_H:
20722 case AArch64::FMINV_VPZ_S: {
20723 // op: Zn
20724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20725 Value |= (op & 0x1f) << 5;
20726 // op: Vd
20727 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20728 Value |= (op & 0x1f);
20729 // op: Pg
20730 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
20731 Value |= (op & 0x7) << 10;
20732 break;
20733 }
20734 case AArch64::LUTI4_2ZTZI_B:
20735 case AArch64::LUTI4_2ZTZI_H:
20736 case AArch64::LUTI4_2ZTZI_S: {
20737 // op: Zn
20738 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20739 Value |= (op & 0x1f) << 5;
20740 // op: Zd
20741 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20742 Value |= (op & 0xf) << 1;
20743 // op: i
20744 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20745 Value |= (op & 0x3) << 15;
20746 break;
20747 }
20748 case AArch64::LUTI2_2ZTZI_B:
20749 case AArch64::LUTI2_2ZTZI_H:
20750 case AArch64::LUTI2_2ZTZI_S: {
20751 // op: Zn
20752 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20753 Value |= (op & 0x1f) << 5;
20754 // op: Zd
20755 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20756 Value |= (op & 0xf) << 1;
20757 // op: i
20758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20759 Value |= (op & 0x7) << 15;
20760 break;
20761 }
20762 case AArch64::LUTI4_4ZTZI_H:
20763 case AArch64::LUTI4_4ZTZI_S: {
20764 // op: Zn
20765 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20766 Value |= (op & 0x1f) << 5;
20767 // op: Zd
20768 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20769 Value |= (op & 0x7) << 2;
20770 // op: i
20771 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20772 Value |= (op & 0x1) << 16;
20773 break;
20774 }
20775 case AArch64::LUTI2_4ZTZI_B:
20776 case AArch64::LUTI2_4ZTZI_H:
20777 case AArch64::LUTI2_4ZTZI_S: {
20778 // op: Zn
20779 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20780 Value |= (op & 0x1f) << 5;
20781 // op: Zd
20782 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20783 Value |= (op & 0x7) << 2;
20784 // op: i
20785 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20786 Value |= (op & 0x3) << 16;
20787 break;
20788 }
20789 case AArch64::LUTI4_S_2ZTZI_B:
20790 case AArch64::LUTI4_S_2ZTZI_H: {
20791 // op: Zn
20792 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20793 Value |= (op & 0x1f) << 5;
20794 // op: Zd
20795 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20796 Value |= (op & 0x8) << 1;
20797 Value |= (op & 0x7);
20798 // op: i
20799 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20800 Value |= (op & 0x3) << 15;
20801 break;
20802 }
20803 case AArch64::LUTI2_S_2ZTZI_B:
20804 case AArch64::LUTI2_S_2ZTZI_H: {
20805 // op: Zn
20806 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20807 Value |= (op & 0x1f) << 5;
20808 // op: Zd
20809 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20810 Value |= (op & 0x8) << 1;
20811 Value |= (op & 0x7);
20812 // op: i
20813 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20814 Value |= (op & 0x7) << 15;
20815 break;
20816 }
20817 case AArch64::LUTI4_S_4ZTZI_H: {
20818 // op: Zn
20819 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20820 Value |= (op & 0x1f) << 5;
20821 // op: Zd
20822 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20823 Value |= (op & 0x4) << 2;
20824 Value |= (op & 0x3);
20825 // op: i
20826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20827 Value |= (op & 0x1) << 16;
20828 break;
20829 }
20830 case AArch64::LUTI2_S_4ZTZI_B:
20831 case AArch64::LUTI2_S_4ZTZI_H: {
20832 // op: Zn
20833 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20834 Value |= (op & 0x1f) << 5;
20835 // op: Zd
20836 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20837 Value |= (op & 0x4) << 2;
20838 Value |= (op & 0x3);
20839 // op: i
20840 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20841 Value |= (op & 0x3) << 16;
20842 break;
20843 }
20844 case AArch64::LUTI4_ZTZI_B:
20845 case AArch64::LUTI4_ZTZI_H:
20846 case AArch64::LUTI4_ZTZI_S: {
20847 // op: Zn
20848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20849 Value |= (op & 0x1f) << 5;
20850 // op: Zd
20851 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20852 Value |= (op & 0x1f);
20853 // op: i
20854 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20855 Value |= (op & 0x7) << 14;
20856 break;
20857 }
20858 case AArch64::LUTI2_ZTZI_B:
20859 case AArch64::LUTI2_ZTZI_H:
20860 case AArch64::LUTI2_ZTZI_S: {
20861 // op: Zn
20862 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20863 Value |= (op & 0x1f) << 5;
20864 // op: Zd
20865 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20866 Value |= (op & 0x1f);
20867 // op: i
20868 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20869 Value |= (op & 0xf) << 14;
20870 break;
20871 }
20872 case AArch64::LD1B_2Z:
20873 case AArch64::LD1D_2Z:
20874 case AArch64::LD1H_2Z:
20875 case AArch64::LD1W_2Z:
20876 case AArch64::LDNT1B_2Z:
20877 case AArch64::LDNT1D_2Z:
20878 case AArch64::LDNT1H_2Z:
20879 case AArch64::LDNT1W_2Z:
20880 case AArch64::ST1B_2Z:
20881 case AArch64::ST1D_2Z:
20882 case AArch64::ST1H_2Z:
20883 case AArch64::ST1W_2Z:
20884 case AArch64::STNT1B_2Z:
20885 case AArch64::STNT1D_2Z:
20886 case AArch64::STNT1H_2Z:
20887 case AArch64::STNT1W_2Z: {
20888 // op: Zt
20889 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20890 Value |= (op & 0xf) << 1;
20891 // op: Rm
20892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20893 Value |= (op & 0x1f) << 16;
20894 // op: Rn
20895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20896 Value |= (op & 0x1f) << 5;
20897 // op: PNg
20898 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20899 Value |= (op & 0x7) << 10;
20900 break;
20901 }
20902 case AArch64::LD1B_2Z_IMM:
20903 case AArch64::LD1D_2Z_IMM:
20904 case AArch64::LD1H_2Z_IMM:
20905 case AArch64::LD1W_2Z_IMM:
20906 case AArch64::LDNT1B_2Z_IMM:
20907 case AArch64::LDNT1D_2Z_IMM:
20908 case AArch64::LDNT1H_2Z_IMM:
20909 case AArch64::LDNT1W_2Z_IMM:
20910 case AArch64::ST1B_2Z_IMM:
20911 case AArch64::ST1D_2Z_IMM:
20912 case AArch64::ST1H_2Z_IMM:
20913 case AArch64::ST1W_2Z_IMM:
20914 case AArch64::STNT1B_2Z_IMM:
20915 case AArch64::STNT1D_2Z_IMM:
20916 case AArch64::STNT1H_2Z_IMM:
20917 case AArch64::STNT1W_2Z_IMM: {
20918 // op: Zt
20919 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20920 Value |= (op & 0xf) << 1;
20921 // op: Rn
20922 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20923 Value |= (op & 0x1f) << 5;
20924 // op: PNg
20925 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20926 Value |= (op & 0x7) << 10;
20927 // op: imm4
20928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20929 Value |= (op & 0xf) << 16;
20930 break;
20931 }
20932 case AArch64::LD1B_4Z:
20933 case AArch64::LD1D_4Z:
20934 case AArch64::LD1H_4Z:
20935 case AArch64::LD1W_4Z:
20936 case AArch64::LDNT1B_4Z:
20937 case AArch64::LDNT1D_4Z:
20938 case AArch64::LDNT1H_4Z:
20939 case AArch64::LDNT1W_4Z:
20940 case AArch64::ST1B_4Z:
20941 case AArch64::ST1D_4Z:
20942 case AArch64::ST1H_4Z:
20943 case AArch64::ST1W_4Z:
20944 case AArch64::STNT1B_4Z:
20945 case AArch64::STNT1D_4Z:
20946 case AArch64::STNT1H_4Z:
20947 case AArch64::STNT1W_4Z: {
20948 // op: Zt
20949 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20950 Value |= (op & 0x7) << 2;
20951 // op: Rm
20952 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20953 Value |= (op & 0x1f) << 16;
20954 // op: Rn
20955 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20956 Value |= (op & 0x1f) << 5;
20957 // op: PNg
20958 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20959 Value |= (op & 0x7) << 10;
20960 break;
20961 }
20962 case AArch64::LD1B_4Z_IMM:
20963 case AArch64::LD1D_4Z_IMM:
20964 case AArch64::LD1H_4Z_IMM:
20965 case AArch64::LD1W_4Z_IMM:
20966 case AArch64::LDNT1B_4Z_IMM:
20967 case AArch64::LDNT1D_4Z_IMM:
20968 case AArch64::LDNT1H_4Z_IMM:
20969 case AArch64::LDNT1W_4Z_IMM:
20970 case AArch64::ST1B_4Z_IMM:
20971 case AArch64::ST1D_4Z_IMM:
20972 case AArch64::ST1H_4Z_IMM:
20973 case AArch64::ST1W_4Z_IMM:
20974 case AArch64::STNT1B_4Z_IMM:
20975 case AArch64::STNT1D_4Z_IMM:
20976 case AArch64::STNT1H_4Z_IMM:
20977 case AArch64::STNT1W_4Z_IMM: {
20978 // op: Zt
20979 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20980 Value |= (op & 0x7) << 2;
20981 // op: Rn
20982 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20983 Value |= (op & 0x1f) << 5;
20984 // op: PNg
20985 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20986 Value |= (op & 0x7) << 10;
20987 // op: imm4
20988 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20989 Value |= (op & 0xf) << 16;
20990 break;
20991 }
20992 case AArch64::LD1B:
20993 case AArch64::LD1B_D:
20994 case AArch64::LD1B_H:
20995 case AArch64::LD1B_S:
20996 case AArch64::LD1D:
20997 case AArch64::LD1H:
20998 case AArch64::LD1H_D:
20999 case AArch64::LD1H_S:
21000 case AArch64::LD1SB_D:
21001 case AArch64::LD1SB_H:
21002 case AArch64::LD1SB_S:
21003 case AArch64::LD1SH_D:
21004 case AArch64::LD1SH_S:
21005 case AArch64::LD1SW_D:
21006 case AArch64::LD1W:
21007 case AArch64::LD1W_D:
21008 case AArch64::LDFF1B:
21009 case AArch64::LDFF1B_D:
21010 case AArch64::LDFF1B_H:
21011 case AArch64::LDFF1B_S:
21012 case AArch64::LDFF1D:
21013 case AArch64::LDFF1H:
21014 case AArch64::LDFF1H_D:
21015 case AArch64::LDFF1H_S:
21016 case AArch64::LDFF1SB_D:
21017 case AArch64::LDFF1SB_H:
21018 case AArch64::LDFF1SB_S:
21019 case AArch64::LDFF1SH_D:
21020 case AArch64::LDFF1SH_S:
21021 case AArch64::LDFF1SW_D:
21022 case AArch64::LDFF1W:
21023 case AArch64::LDFF1W_D: {
21024 // op: Zt
21025 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21026 Value |= (op & 0x1f);
21027 // op: Pg
21028 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21029 Value |= (op & 0x7) << 10;
21030 // op: Rm
21031 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21032 Value |= (op & 0x1f) << 16;
21033 // op: Rn
21034 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21035 Value |= (op & 0x1f) << 5;
21036 break;
21037 }
21038 case AArch64::LD1RO_B:
21039 case AArch64::LD1RO_D:
21040 case AArch64::LD1RO_H:
21041 case AArch64::LD1RO_W:
21042 case AArch64::LD1RQ_B:
21043 case AArch64::LD1RQ_D:
21044 case AArch64::LD1RQ_H:
21045 case AArch64::LD1RQ_W: {
21046 // op: Zt
21047 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21048 Value |= (op & 0x1f);
21049 // op: Pg
21050 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21051 Value |= (op & 0x7) << 10;
21052 // op: Rn
21053 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21054 Value |= (op & 0x1f) << 5;
21055 // op: Rm
21056 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21057 Value |= (op & 0x1f) << 16;
21058 break;
21059 }
21060 case AArch64::LD2B_IMM:
21061 case AArch64::LD2D_IMM:
21062 case AArch64::LD2H_IMM:
21063 case AArch64::LD2Q_IMM:
21064 case AArch64::LD2W_IMM:
21065 case AArch64::LD3B_IMM:
21066 case AArch64::LD3D_IMM:
21067 case AArch64::LD3H_IMM:
21068 case AArch64::LD3Q_IMM:
21069 case AArch64::LD3W_IMM:
21070 case AArch64::LD4B_IMM:
21071 case AArch64::LD4D_IMM:
21072 case AArch64::LD4H_IMM:
21073 case AArch64::LD4Q_IMM:
21074 case AArch64::LD4W_IMM:
21075 case AArch64::LDNT1B_ZRI:
21076 case AArch64::LDNT1D_ZRI:
21077 case AArch64::LDNT1H_ZRI:
21078 case AArch64::LDNT1W_ZRI: {
21079 // op: Zt
21080 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21081 Value |= (op & 0x1f);
21082 // op: Pg
21083 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21084 Value |= (op & 0x7) << 10;
21085 // op: Rn
21086 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21087 Value |= (op & 0x1f) << 5;
21088 // op: imm4
21089 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21090 Value |= (op & 0xf) << 16;
21091 break;
21092 }
21093 case AArch64::LDAPRO_ZXI:
21094 case AArch64::STLRO_ZXI: {
21095 // op: Zt
21096 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21097 Value |= (op & 0x1f);
21098 // op: Rn
21099 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21100 Value |= (op & 0x1f) << 5;
21101 // op: imm
21102 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21103 Value |= (op & 0xf8) << 13;
21104 Value |= (op & 0x7) << 10;
21105 break;
21106 }
21107 case AArch64::LD1D_Q:
21108 case AArch64::LD1W_Q:
21109 case AArch64::ST2Q:
21110 case AArch64::ST3Q:
21111 case AArch64::ST4Q: {
21112 // op: Zt
21113 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21114 Value |= (op & 0x1f);
21115 // op: Rn
21116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21117 Value |= (op & 0x1f) << 5;
21118 // op: Pg
21119 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21120 Value |= (op & 0x7) << 10;
21121 // op: Rm
21122 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21123 Value |= (op & 0x1f) << 16;
21124 break;
21125 }
21126 case AArch64::LD1D_Q_IMM:
21127 case AArch64::LD1RO_B_IMM:
21128 case AArch64::LD1RO_D_IMM:
21129 case AArch64::LD1RO_H_IMM:
21130 case AArch64::LD1RO_W_IMM:
21131 case AArch64::LD1RQ_B_IMM:
21132 case AArch64::LD1RQ_D_IMM:
21133 case AArch64::LD1RQ_H_IMM:
21134 case AArch64::LD1RQ_W_IMM:
21135 case AArch64::LD1W_Q_IMM:
21136 case AArch64::ST2Q_IMM:
21137 case AArch64::ST3Q_IMM:
21138 case AArch64::ST4Q_IMM: {
21139 // op: Zt
21140 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21141 Value |= (op & 0x1f);
21142 // op: Rn
21143 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21144 Value |= (op & 0x1f) << 5;
21145 // op: Pg
21146 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21147 Value |= (op & 0x7) << 10;
21148 // op: imm4
21149 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21150 Value |= (op & 0xf) << 16;
21151 break;
21152 }
21153 case AArch64::GLD1Q:
21154 case AArch64::SST1Q: {
21155 // op: Zt
21156 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21157 Value |= (op & 0x1f);
21158 // op: Zn
21159 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21160 Value |= (op & 0x1f) << 5;
21161 // op: Pg
21162 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21163 Value |= (op & 0x7) << 10;
21164 // op: Rm
21165 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21166 Value |= (op & 0x1f) << 16;
21167 break;
21168 }
21169 case AArch64::MOVT_TIZ: {
21170 // op: Zt
21171 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21172 Value |= (op & 0x1f);
21173 // op: off2
21174 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21175 Value |= (op & 0x3) << 12;
21176 break;
21177 }
21178 case AArch64::B:
21179 case AArch64::BL: {
21180 // op: addr
21181 op = getBranchTargetOpValue(MI, OpIdx: 0, Fixups, STI);
21182 Value |= (op & 0x3ffffff);
21183 break;
21184 }
21185 case AArch64::FLTcc: {
21186 // op: cond
21187 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21188 Value |= (op & 0xf);
21189 // op: imm
21190 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21191 Value |= (op & 0xffff) << 5;
21192 break;
21193 }
21194 case AArch64::BCcc:
21195 case AArch64::Bcc: {
21196 // op: cond
21197 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21198 Value |= (op & 0xf);
21199 // op: target
21200 op = getCondBranchTargetOpValue(MI, OpIdx: 1, Fixups, STI);
21201 Value |= (op & 0x7ffff) << 5;
21202 break;
21203 }
21204 case AArch64::DUPi64: {
21205 // op: dst
21206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21207 Value |= (op & 0x1f);
21208 // op: src
21209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21210 Value |= (op & 0x1f) << 5;
21211 // op: idx
21212 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21213 Value |= (op & 0x1) << 20;
21214 break;
21215 }
21216 case AArch64::DUPi32: {
21217 // op: dst
21218 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21219 Value |= (op & 0x1f);
21220 // op: src
21221 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21222 Value |= (op & 0x1f) << 5;
21223 // op: idx
21224 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21225 Value |= (op & 0x3) << 19;
21226 break;
21227 }
21228 case AArch64::DUPi16: {
21229 // op: dst
21230 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21231 Value |= (op & 0x1f);
21232 // op: src
21233 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21234 Value |= (op & 0x1f) << 5;
21235 // op: idx
21236 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21237 Value |= (op & 0x7) << 18;
21238 break;
21239 }
21240 case AArch64::DUPi8: {
21241 // op: dst
21242 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21243 Value |= (op & 0x1f);
21244 // op: src
21245 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21246 Value |= (op & 0x1f) << 5;
21247 // op: idx
21248 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21249 Value |= (op & 0xf) << 17;
21250 break;
21251 }
21252 case AArch64::ZERO_M: {
21253 // op: imm
21254 op = EncodeMatrixTileListRegisterClass(MI, OpIdx: 0, Fixups, STI);
21255 Value |= (op & 0xff);
21256 break;
21257 }
21258 case AArch64::HINT: {
21259 // op: imm
21260 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21261 Value |= (op & 0x7f) << 5;
21262 break;
21263 }
21264 case AArch64::TENTER: {
21265 // op: imm
21266 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21267 Value |= (op & 0x7f) << 5;
21268 // op: nb
21269 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21270 Value |= (op & 0x1) << 17;
21271 break;
21272 }
21273 case AArch64::BRK:
21274 case AArch64::DCPS1:
21275 case AArch64::DCPS2:
21276 case AArch64::DCPS3:
21277 case AArch64::HLT:
21278 case AArch64::HVC:
21279 case AArch64::SMC:
21280 case AArch64::SVC: {
21281 // op: imm
21282 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21283 Value |= (op & 0xffff) << 5;
21284 break;
21285 }
21286 case AArch64::UDF: {
21287 // op: imm
21288 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21289 Value |= (op & 0xffff);
21290 break;
21291 }
21292 case AArch64::HINTE: {
21293 // op: imm16
21294 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21295 Value |= (op & 0x8000) << 6;
21296 Value |= (op & 0x7000) << 4;
21297 Value |= (op & 0xfff);
21298 break;
21299 }
21300 case AArch64::MOVT_TIX: {
21301 // op: imm3
21302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21303 Value |= (op & 0x7) << 12;
21304 // op: Rt
21305 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21306 Value |= (op & 0x1f);
21307 break;
21308 }
21309 case AArch64::MOVT_XTI: {
21310 // op: imm3
21311 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21312 Value |= (op & 0x7) << 12;
21313 // op: Rt
21314 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21315 Value |= (op & 0x1f);
21316 break;
21317 }
21318 case AArch64::LD1B_2Z_STRIDED_IMM:
21319 case AArch64::LD1D_2Z_STRIDED_IMM:
21320 case AArch64::LD1H_2Z_STRIDED_IMM:
21321 case AArch64::LD1W_2Z_STRIDED_IMM:
21322 case AArch64::LDNT1B_2Z_STRIDED_IMM:
21323 case AArch64::LDNT1D_2Z_STRIDED_IMM:
21324 case AArch64::LDNT1H_2Z_STRIDED_IMM:
21325 case AArch64::LDNT1W_2Z_STRIDED_IMM:
21326 case AArch64::ST1B_2Z_STRIDED_IMM:
21327 case AArch64::ST1D_2Z_STRIDED_IMM:
21328 case AArch64::ST1H_2Z_STRIDED_IMM:
21329 case AArch64::ST1W_2Z_STRIDED_IMM:
21330 case AArch64::STNT1B_2Z_STRIDED_IMM:
21331 case AArch64::STNT1D_2Z_STRIDED_IMM:
21332 case AArch64::STNT1H_2Z_STRIDED_IMM:
21333 case AArch64::STNT1W_2Z_STRIDED_IMM: {
21334 // op: imm4
21335 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21336 Value |= (op & 0xf) << 16;
21337 // op: PNg
21338 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
21339 Value |= (op & 0x7) << 10;
21340 // op: Rn
21341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21342 Value |= (op & 0x1f) << 5;
21343 // op: Zt
21344 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
21345 Value |= (op & 0x8) << 1;
21346 Value |= (op & 0x7);
21347 break;
21348 }
21349 case AArch64::LD1B_4Z_STRIDED_IMM:
21350 case AArch64::LD1D_4Z_STRIDED_IMM:
21351 case AArch64::LD1H_4Z_STRIDED_IMM:
21352 case AArch64::LD1W_4Z_STRIDED_IMM:
21353 case AArch64::LDNT1B_4Z_STRIDED_IMM:
21354 case AArch64::LDNT1D_4Z_STRIDED_IMM:
21355 case AArch64::LDNT1H_4Z_STRIDED_IMM:
21356 case AArch64::LDNT1W_4Z_STRIDED_IMM:
21357 case AArch64::ST1B_4Z_STRIDED_IMM:
21358 case AArch64::ST1D_4Z_STRIDED_IMM:
21359 case AArch64::ST1H_4Z_STRIDED_IMM:
21360 case AArch64::ST1W_4Z_STRIDED_IMM:
21361 case AArch64::STNT1B_4Z_STRIDED_IMM:
21362 case AArch64::STNT1D_4Z_STRIDED_IMM:
21363 case AArch64::STNT1H_4Z_STRIDED_IMM:
21364 case AArch64::STNT1W_4Z_STRIDED_IMM: {
21365 // op: imm4
21366 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21367 Value |= (op & 0xf) << 16;
21368 // op: PNg
21369 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
21370 Value |= (op & 0x7) << 10;
21371 // op: Rn
21372 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21373 Value |= (op & 0x1f) << 5;
21374 // op: Zt
21375 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
21376 Value |= (op & 0x4) << 2;
21377 Value |= (op & 0x3);
21378 break;
21379 }
21380 case AArch64::SQRSHRU_VG2_Z2ZI_H:
21381 case AArch64::SQRSHR_VG2_Z2ZI_H:
21382 case AArch64::UQRSHR_VG2_Z2ZI_H: {
21383 // op: imm4
21384 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
21385 Value |= (op & 0xf) << 16;
21386 // op: Zn
21387 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
21388 Value |= (op & 0xf) << 6;
21389 // op: Zd
21390 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21391 Value |= (op & 0x1f);
21392 break;
21393 }
21394 case AArch64::AUTIASPPCi:
21395 case AArch64::AUTIBSPPCi:
21396 case AArch64::RETAASPPCi:
21397 case AArch64::RETABSPPCi: {
21398 // op: label
21399 op = getPAuthPCRelOpValue(MI, OpIdx: 0, Fixups, STI);
21400 Value |= (op & 0xffff) << 5;
21401 break;
21402 }
21403 case AArch64::TEXIT: {
21404 // op: nb
21405 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21406 Value |= (op & 0x1) << 10;
21407 break;
21408 }
21409 case AArch64::LDRAAindexed:
21410 case AArch64::LDRABindexed: {
21411 // op: offset
21412 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21413 Value |= (op & 0x200) << 13;
21414 Value |= (op & 0x1ff) << 12;
21415 // op: Rn
21416 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21417 Value |= (op & 0x1f) << 5;
21418 // op: Rt
21419 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21420 Value |= (op & 0x1f);
21421 break;
21422 }
21423 case AArch64::LDRAAwriteback:
21424 case AArch64::LDRABwriteback: {
21425 // op: offset
21426 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21427 Value |= (op & 0x200) << 13;
21428 Value |= (op & 0x1ff) << 12;
21429 // op: Rn
21430 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21431 Value |= (op & 0x1f) << 5;
21432 // op: Rt
21433 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21434 Value |= (op & 0x1f);
21435 break;
21436 }
21437 case AArch64::SYSPxt_XZR: {
21438 // op: op1
21439 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21440 Value |= (op & 0x7) << 16;
21441 // op: Cn
21442 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21443 Value |= (op & 0xf) << 12;
21444 // op: Cm
21445 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21446 Value |= (op & 0xf) << 8;
21447 // op: op2
21448 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21449 Value |= (op & 0x7) << 5;
21450 break;
21451 }
21452 case AArch64::MSRpstateImm1: {
21453 // op: pstatefield
21454 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21455 Value |= (op & 0x38) << 13;
21456 Value |= (op & 0x1c0) << 3;
21457 Value |= (op & 0x7) << 5;
21458 // op: imm
21459 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21460 Value |= (op & 0x1) << 8;
21461 break;
21462 }
21463 case AArch64::MSRpstateImm4: {
21464 // op: pstatefield
21465 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21466 Value |= (op & 0x38) << 13;
21467 Value |= (op & 0x7) << 5;
21468 // op: imm
21469 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21470 Value |= (op & 0xf) << 8;
21471 break;
21472 }
21473 case AArch64::MSRpstatesvcrImm1: {
21474 // op: pstatefield
21475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21476 Value |= (op & 0x7) << 9;
21477 // op: imm
21478 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21479 Value |= (op & 0x1) << 8;
21480 break;
21481 }
21482 case AArch64::CFLTEQWr:
21483 case AArch64::CFLTEQXr:
21484 case AArch64::CFLTGEWr:
21485 case AArch64::CFLTGEXr:
21486 case AArch64::CFLTGTWr:
21487 case AArch64::CFLTGTXr:
21488 case AArch64::CFLTHIWr:
21489 case AArch64::CFLTHIXr:
21490 case AArch64::CFLTHSWr:
21491 case AArch64::CFLTHSXr:
21492 case AArch64::CFLTNEWr:
21493 case AArch64::CFLTNEXr: {
21494 // op: reason
21495 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21496 Value |= (op & 0x3) << 10;
21497 // op: Rt
21498 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21499 Value |= (op & 0x1f);
21500 // op: Rm
21501 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21502 Value |= (op & 0x1f) << 16;
21503 break;
21504 }
21505 case AArch64::TFLTNZ:
21506 case AArch64::TFLTZ: {
21507 // op: reason
21508 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21509 Value |= (op & 0x3) << 10;
21510 // op: Rt
21511 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21512 Value |= (op & 0x1f);
21513 // op: bit_off
21514 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21515 Value |= (op & 0x20) << 26;
21516 Value |= (op & 0x1f) << 19;
21517 break;
21518 }
21519 case AArch64::CFLTEQWi:
21520 case AArch64::CFLTEQXi:
21521 case AArch64::CFLTGTWi:
21522 case AArch64::CFLTGTXi:
21523 case AArch64::CFLTHIWi:
21524 case AArch64::CFLTHIXi:
21525 case AArch64::CFLTLOWi:
21526 case AArch64::CFLTLOXi:
21527 case AArch64::CFLTLTWi:
21528 case AArch64::CFLTLTXi:
21529 case AArch64::CFLTNEWi:
21530 case AArch64::CFLTNEXi: {
21531 // op: reason
21532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21533 Value |= (op & 0x3) << 10;
21534 // op: Rt
21535 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21536 Value |= (op & 0x1f);
21537 // op: imm
21538 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21539 Value |= (op & 0x1f0) << 12;
21540 Value |= (op & 0xf) << 5;
21541 break;
21542 }
21543 default:
21544 reportUnsupportedInst(Inst: MI);
21545 }
21546 return Value;
21547}
21548
21549#ifdef GET_OPERAND_BIT_OFFSET
21550#undef GET_OPERAND_BIT_OFFSET
21551
21552uint32_t AArch64MCCodeEmitter::getOperandBitOffset(const MCInst &MI,
21553 unsigned OpNum,
21554 const MCSubtargetInfo &STI) const {
21555 switch (MI.getOpcode()) {
21556 case AArch64::AUTIA1716:
21557 case AArch64::AUTIA171615:
21558 case AArch64::AUTIASP:
21559 case AArch64::AUTIAZ:
21560 case AArch64::AUTIB1716:
21561 case AArch64::AUTIB171615:
21562 case AArch64::AUTIBSP:
21563 case AArch64::AUTIBZ:
21564 case AArch64::AXFLAG:
21565 case AArch64::CFINV:
21566 case AArch64::CHKFEAT:
21567 case AArch64::DRPS:
21568 case AArch64::ERET:
21569 case AArch64::ERETAA:
21570 case AArch64::ERETAB:
21571 case AArch64::GCSPOPCX:
21572 case AArch64::GCSPOPX:
21573 case AArch64::GCSPUSHX:
21574 case AArch64::NOP:
21575 case AArch64::PACIA1716:
21576 case AArch64::PACIA171615:
21577 case AArch64::PACIASP:
21578 case AArch64::PACIASPPC:
21579 case AArch64::PACIAZ:
21580 case AArch64::PACIB1716:
21581 case AArch64::PACIB171615:
21582 case AArch64::PACIBSP:
21583 case AArch64::PACIBSPPC:
21584 case AArch64::PACIBZ:
21585 case AArch64::PACM:
21586 case AArch64::PACNBIASPPC:
21587 case AArch64::PACNBIBSPPC:
21588 case AArch64::RETAA:
21589 case AArch64::RETAB:
21590 case AArch64::SB:
21591 case AArch64::SETFFR:
21592 case AArch64::XAFLAG:
21593 case AArch64::XPACLRI:
21594 case AArch64::ZERO_T: {
21595 break;
21596 }
21597 case AArch64::DSBnXS: {
21598 switch (OpNum) {
21599 case 0:
21600 // op: CRm
21601 return 10;
21602 }
21603 break;
21604 }
21605 case AArch64::CLREX:
21606 case AArch64::DMB:
21607 case AArch64::DSB:
21608 case AArch64::ISB: {
21609 switch (OpNum) {
21610 case 0:
21611 // op: CRm
21612 return 8;
21613 }
21614 break;
21615 }
21616 case AArch64::WHILEGE_CXX_B:
21617 case AArch64::WHILEGE_CXX_D:
21618 case AArch64::WHILEGE_CXX_H:
21619 case AArch64::WHILEGE_CXX_S:
21620 case AArch64::WHILEGT_CXX_B:
21621 case AArch64::WHILEGT_CXX_D:
21622 case AArch64::WHILEGT_CXX_H:
21623 case AArch64::WHILEGT_CXX_S:
21624 case AArch64::WHILEHI_CXX_B:
21625 case AArch64::WHILEHI_CXX_D:
21626 case AArch64::WHILEHI_CXX_H:
21627 case AArch64::WHILEHI_CXX_S:
21628 case AArch64::WHILEHS_CXX_B:
21629 case AArch64::WHILEHS_CXX_D:
21630 case AArch64::WHILEHS_CXX_H:
21631 case AArch64::WHILEHS_CXX_S:
21632 case AArch64::WHILELE_CXX_B:
21633 case AArch64::WHILELE_CXX_D:
21634 case AArch64::WHILELE_CXX_H:
21635 case AArch64::WHILELE_CXX_S:
21636 case AArch64::WHILELO_CXX_B:
21637 case AArch64::WHILELO_CXX_D:
21638 case AArch64::WHILELO_CXX_H:
21639 case AArch64::WHILELO_CXX_S:
21640 case AArch64::WHILELS_CXX_B:
21641 case AArch64::WHILELS_CXX_D:
21642 case AArch64::WHILELS_CXX_H:
21643 case AArch64::WHILELS_CXX_S:
21644 case AArch64::WHILELT_CXX_B:
21645 case AArch64::WHILELT_CXX_D:
21646 case AArch64::WHILELT_CXX_H:
21647 case AArch64::WHILELT_CXX_S: {
21648 switch (OpNum) {
21649 case 0:
21650 // op: PNd
21651 return 0;
21652 case 1:
21653 // op: Rn
21654 return 5;
21655 case 3:
21656 // op: vl
21657 return 13;
21658 case 2:
21659 // op: Rm
21660 return 16;
21661 }
21662 break;
21663 }
21664 case AArch64::PTRUE_C_B:
21665 case AArch64::PTRUE_C_D:
21666 case AArch64::PTRUE_C_H:
21667 case AArch64::PTRUE_C_S: {
21668 switch (OpNum) {
21669 case 0:
21670 // op: PNd
21671 return 0;
21672 }
21673 break;
21674 }
21675 case AArch64::PEXT_2PCI_B:
21676 case AArch64::PEXT_2PCI_D:
21677 case AArch64::PEXT_2PCI_H:
21678 case AArch64::PEXT_2PCI_S:
21679 case AArch64::PEXT_PCI_B:
21680 case AArch64::PEXT_PCI_D:
21681 case AArch64::PEXT_PCI_H:
21682 case AArch64::PEXT_PCI_S: {
21683 switch (OpNum) {
21684 case 0:
21685 // op: Pd
21686 return 0;
21687 case 1:
21688 // op: PNn
21689 return 5;
21690 case 2:
21691 // op: index
21692 return 8;
21693 }
21694 break;
21695 }
21696 case AArch64::BRKAS_PPzP:
21697 case AArch64::BRKA_PPzP:
21698 case AArch64::BRKBS_PPzP:
21699 case AArch64::BRKB_PPzP: {
21700 switch (OpNum) {
21701 case 0:
21702 // op: Pd
21703 return 0;
21704 case 1:
21705 // op: Pg
21706 return 10;
21707 case 2:
21708 // op: Pn
21709 return 5;
21710 }
21711 break;
21712 }
21713 case AArch64::CMPEQ_PPzZI_B:
21714 case AArch64::CMPEQ_PPzZI_D:
21715 case AArch64::CMPEQ_PPzZI_H:
21716 case AArch64::CMPEQ_PPzZI_S:
21717 case AArch64::CMPGE_PPzZI_B:
21718 case AArch64::CMPGE_PPzZI_D:
21719 case AArch64::CMPGE_PPzZI_H:
21720 case AArch64::CMPGE_PPzZI_S:
21721 case AArch64::CMPGT_PPzZI_B:
21722 case AArch64::CMPGT_PPzZI_D:
21723 case AArch64::CMPGT_PPzZI_H:
21724 case AArch64::CMPGT_PPzZI_S:
21725 case AArch64::CMPLE_PPzZI_B:
21726 case AArch64::CMPLE_PPzZI_D:
21727 case AArch64::CMPLE_PPzZI_H:
21728 case AArch64::CMPLE_PPzZI_S:
21729 case AArch64::CMPLT_PPzZI_B:
21730 case AArch64::CMPLT_PPzZI_D:
21731 case AArch64::CMPLT_PPzZI_H:
21732 case AArch64::CMPLT_PPzZI_S:
21733 case AArch64::CMPNE_PPzZI_B:
21734 case AArch64::CMPNE_PPzZI_D:
21735 case AArch64::CMPNE_PPzZI_H:
21736 case AArch64::CMPNE_PPzZI_S: {
21737 switch (OpNum) {
21738 case 0:
21739 // op: Pd
21740 return 0;
21741 case 1:
21742 // op: Pg
21743 return 10;
21744 case 2:
21745 // op: Zn
21746 return 5;
21747 case 3:
21748 // op: imm5
21749 return 16;
21750 }
21751 break;
21752 }
21753 case AArch64::CMPHI_PPzZI_B:
21754 case AArch64::CMPHI_PPzZI_D:
21755 case AArch64::CMPHI_PPzZI_H:
21756 case AArch64::CMPHI_PPzZI_S:
21757 case AArch64::CMPHS_PPzZI_B:
21758 case AArch64::CMPHS_PPzZI_D:
21759 case AArch64::CMPHS_PPzZI_H:
21760 case AArch64::CMPHS_PPzZI_S:
21761 case AArch64::CMPLO_PPzZI_B:
21762 case AArch64::CMPLO_PPzZI_D:
21763 case AArch64::CMPLO_PPzZI_H:
21764 case AArch64::CMPLO_PPzZI_S:
21765 case AArch64::CMPLS_PPzZI_B:
21766 case AArch64::CMPLS_PPzZI_D:
21767 case AArch64::CMPLS_PPzZI_H:
21768 case AArch64::CMPLS_PPzZI_S: {
21769 switch (OpNum) {
21770 case 0:
21771 // op: Pd
21772 return 0;
21773 case 1:
21774 // op: Pg
21775 return 10;
21776 case 2:
21777 // op: Zn
21778 return 5;
21779 case 3:
21780 // op: imm7
21781 return 14;
21782 }
21783 break;
21784 }
21785 case AArch64::FCMEQ_PPzZ0_D:
21786 case AArch64::FCMEQ_PPzZ0_H:
21787 case AArch64::FCMEQ_PPzZ0_S:
21788 case AArch64::FCMGE_PPzZ0_D:
21789 case AArch64::FCMGE_PPzZ0_H:
21790 case AArch64::FCMGE_PPzZ0_S:
21791 case AArch64::FCMGT_PPzZ0_D:
21792 case AArch64::FCMGT_PPzZ0_H:
21793 case AArch64::FCMGT_PPzZ0_S:
21794 case AArch64::FCMLE_PPzZ0_D:
21795 case AArch64::FCMLE_PPzZ0_H:
21796 case AArch64::FCMLE_PPzZ0_S:
21797 case AArch64::FCMLT_PPzZ0_D:
21798 case AArch64::FCMLT_PPzZ0_H:
21799 case AArch64::FCMLT_PPzZ0_S:
21800 case AArch64::FCMNE_PPzZ0_D:
21801 case AArch64::FCMNE_PPzZ0_H:
21802 case AArch64::FCMNE_PPzZ0_S: {
21803 switch (OpNum) {
21804 case 0:
21805 // op: Pd
21806 return 0;
21807 case 1:
21808 // op: Pg
21809 return 10;
21810 case 2:
21811 // op: Zn
21812 return 5;
21813 }
21814 break;
21815 }
21816 case AArch64::ANDS_PPzPP:
21817 case AArch64::AND_PPzPP:
21818 case AArch64::BICS_PPzPP:
21819 case AArch64::BIC_PPzPP:
21820 case AArch64::BRKPAS_PPzPP:
21821 case AArch64::BRKPA_PPzPP:
21822 case AArch64::BRKPBS_PPzPP:
21823 case AArch64::BRKPB_PPzPP:
21824 case AArch64::EORS_PPzPP:
21825 case AArch64::EOR_PPzPP:
21826 case AArch64::NANDS_PPzPP:
21827 case AArch64::NAND_PPzPP:
21828 case AArch64::NORS_PPzPP:
21829 case AArch64::NOR_PPzPP:
21830 case AArch64::ORNS_PPzPP:
21831 case AArch64::ORN_PPzPP:
21832 case AArch64::ORRS_PPzPP:
21833 case AArch64::ORR_PPzPP:
21834 case AArch64::SEL_PPPP: {
21835 switch (OpNum) {
21836 case 0:
21837 // op: Pd
21838 return 0;
21839 case 1:
21840 // op: Pg
21841 return 10;
21842 case 3:
21843 // op: Pm
21844 return 16;
21845 case 2:
21846 // op: Pn
21847 return 5;
21848 }
21849 break;
21850 }
21851 case AArch64::CMPEQ_PPzZZ_B:
21852 case AArch64::CMPEQ_PPzZZ_D:
21853 case AArch64::CMPEQ_PPzZZ_H:
21854 case AArch64::CMPEQ_PPzZZ_S:
21855 case AArch64::CMPEQ_WIDE_PPzZZ_B:
21856 case AArch64::CMPEQ_WIDE_PPzZZ_H:
21857 case AArch64::CMPEQ_WIDE_PPzZZ_S:
21858 case AArch64::CMPGE_PPzZZ_B:
21859 case AArch64::CMPGE_PPzZZ_D:
21860 case AArch64::CMPGE_PPzZZ_H:
21861 case AArch64::CMPGE_PPzZZ_S:
21862 case AArch64::CMPGE_WIDE_PPzZZ_B:
21863 case AArch64::CMPGE_WIDE_PPzZZ_H:
21864 case AArch64::CMPGE_WIDE_PPzZZ_S:
21865 case AArch64::CMPGT_PPzZZ_B:
21866 case AArch64::CMPGT_PPzZZ_D:
21867 case AArch64::CMPGT_PPzZZ_H:
21868 case AArch64::CMPGT_PPzZZ_S:
21869 case AArch64::CMPGT_WIDE_PPzZZ_B:
21870 case AArch64::CMPGT_WIDE_PPzZZ_H:
21871 case AArch64::CMPGT_WIDE_PPzZZ_S:
21872 case AArch64::CMPHI_PPzZZ_B:
21873 case AArch64::CMPHI_PPzZZ_D:
21874 case AArch64::CMPHI_PPzZZ_H:
21875 case AArch64::CMPHI_PPzZZ_S:
21876 case AArch64::CMPHI_WIDE_PPzZZ_B:
21877 case AArch64::CMPHI_WIDE_PPzZZ_H:
21878 case AArch64::CMPHI_WIDE_PPzZZ_S:
21879 case AArch64::CMPHS_PPzZZ_B:
21880 case AArch64::CMPHS_PPzZZ_D:
21881 case AArch64::CMPHS_PPzZZ_H:
21882 case AArch64::CMPHS_PPzZZ_S:
21883 case AArch64::CMPHS_WIDE_PPzZZ_B:
21884 case AArch64::CMPHS_WIDE_PPzZZ_H:
21885 case AArch64::CMPHS_WIDE_PPzZZ_S:
21886 case AArch64::CMPLE_WIDE_PPzZZ_B:
21887 case AArch64::CMPLE_WIDE_PPzZZ_H:
21888 case AArch64::CMPLE_WIDE_PPzZZ_S:
21889 case AArch64::CMPLO_WIDE_PPzZZ_B:
21890 case AArch64::CMPLO_WIDE_PPzZZ_H:
21891 case AArch64::CMPLO_WIDE_PPzZZ_S:
21892 case AArch64::CMPLS_WIDE_PPzZZ_B:
21893 case AArch64::CMPLS_WIDE_PPzZZ_H:
21894 case AArch64::CMPLS_WIDE_PPzZZ_S:
21895 case AArch64::CMPLT_WIDE_PPzZZ_B:
21896 case AArch64::CMPLT_WIDE_PPzZZ_H:
21897 case AArch64::CMPLT_WIDE_PPzZZ_S:
21898 case AArch64::CMPNE_PPzZZ_B:
21899 case AArch64::CMPNE_PPzZZ_D:
21900 case AArch64::CMPNE_PPzZZ_H:
21901 case AArch64::CMPNE_PPzZZ_S:
21902 case AArch64::CMPNE_WIDE_PPzZZ_B:
21903 case AArch64::CMPNE_WIDE_PPzZZ_H:
21904 case AArch64::CMPNE_WIDE_PPzZZ_S:
21905 case AArch64::FACGE_PPzZZ_D:
21906 case AArch64::FACGE_PPzZZ_H:
21907 case AArch64::FACGE_PPzZZ_S:
21908 case AArch64::FACGT_PPzZZ_D:
21909 case AArch64::FACGT_PPzZZ_H:
21910 case AArch64::FACGT_PPzZZ_S:
21911 case AArch64::FCMEQ_PPzZZ_D:
21912 case AArch64::FCMEQ_PPzZZ_H:
21913 case AArch64::FCMEQ_PPzZZ_S:
21914 case AArch64::FCMGE_PPzZZ_D:
21915 case AArch64::FCMGE_PPzZZ_H:
21916 case AArch64::FCMGE_PPzZZ_S:
21917 case AArch64::FCMGT_PPzZZ_D:
21918 case AArch64::FCMGT_PPzZZ_H:
21919 case AArch64::FCMGT_PPzZZ_S:
21920 case AArch64::FCMNE_PPzZZ_D:
21921 case AArch64::FCMNE_PPzZZ_H:
21922 case AArch64::FCMNE_PPzZZ_S:
21923 case AArch64::FCMUO_PPzZZ_D:
21924 case AArch64::FCMUO_PPzZZ_H:
21925 case AArch64::FCMUO_PPzZZ_S:
21926 case AArch64::MATCH_PPzZZ_B:
21927 case AArch64::MATCH_PPzZZ_H:
21928 case AArch64::NMATCH_PPzZZ_B:
21929 case AArch64::NMATCH_PPzZZ_H: {
21930 switch (OpNum) {
21931 case 0:
21932 // op: Pd
21933 return 0;
21934 case 1:
21935 // op: Pg
21936 return 10;
21937 case 3:
21938 // op: Zm
21939 return 16;
21940 case 2:
21941 // op: Zn
21942 return 5;
21943 }
21944 break;
21945 }
21946 case AArch64::RDFFRS_PPz:
21947 case AArch64::RDFFR_PPz: {
21948 switch (OpNum) {
21949 case 0:
21950 // op: Pd
21951 return 0;
21952 case 1:
21953 // op: Pg
21954 return 5;
21955 }
21956 break;
21957 }
21958 case AArch64::PUNPKHI_PP:
21959 case AArch64::PUNPKLO_PP:
21960 case AArch64::REV_PP_B:
21961 case AArch64::REV_PP_D:
21962 case AArch64::REV_PP_H:
21963 case AArch64::REV_PP_S: {
21964 switch (OpNum) {
21965 case 0:
21966 // op: Pd
21967 return 0;
21968 case 1:
21969 // op: Pn
21970 return 5;
21971 }
21972 break;
21973 }
21974 case AArch64::PMOV_PZI_D:
21975 case AArch64::PMOV_PZI_H:
21976 case AArch64::PMOV_PZI_S: {
21977 switch (OpNum) {
21978 case 0:
21979 // op: Pd
21980 return 0;
21981 case 1:
21982 // op: Zn
21983 return 5;
21984 case 2:
21985 // op: index
21986 return 17;
21987 }
21988 break;
21989 }
21990 case AArch64::PMOV_PZI_B: {
21991 switch (OpNum) {
21992 case 0:
21993 // op: Pd
21994 return 0;
21995 case 1:
21996 // op: Zn
21997 return 5;
21998 }
21999 break;
22000 }
22001 case AArch64::PTRUES_B:
22002 case AArch64::PTRUES_D:
22003 case AArch64::PTRUES_H:
22004 case AArch64::PTRUES_S:
22005 case AArch64::PTRUE_B:
22006 case AArch64::PTRUE_D:
22007 case AArch64::PTRUE_H:
22008 case AArch64::PTRUE_S: {
22009 switch (OpNum) {
22010 case 0:
22011 // op: Pd
22012 return 0;
22013 case 1:
22014 // op: pattern
22015 return 5;
22016 }
22017 break;
22018 }
22019 case AArch64::BRKA_PPmP:
22020 case AArch64::BRKB_PPmP: {
22021 switch (OpNum) {
22022 case 0:
22023 // op: Pd
22024 return 0;
22025 case 2:
22026 // op: Pg
22027 return 10;
22028 case 3:
22029 // op: Pn
22030 return 5;
22031 }
22032 break;
22033 }
22034 case AArch64::TRN1_PPP_B:
22035 case AArch64::TRN1_PPP_D:
22036 case AArch64::TRN1_PPP_H:
22037 case AArch64::TRN1_PPP_S:
22038 case AArch64::TRN2_PPP_B:
22039 case AArch64::TRN2_PPP_D:
22040 case AArch64::TRN2_PPP_H:
22041 case AArch64::TRN2_PPP_S:
22042 case AArch64::UZP1_PPP_B:
22043 case AArch64::UZP1_PPP_D:
22044 case AArch64::UZP1_PPP_H:
22045 case AArch64::UZP1_PPP_S:
22046 case AArch64::UZP2_PPP_B:
22047 case AArch64::UZP2_PPP_D:
22048 case AArch64::UZP2_PPP_H:
22049 case AArch64::UZP2_PPP_S:
22050 case AArch64::ZIP1_PPP_B:
22051 case AArch64::ZIP1_PPP_D:
22052 case AArch64::ZIP1_PPP_H:
22053 case AArch64::ZIP1_PPP_S:
22054 case AArch64::ZIP2_PPP_B:
22055 case AArch64::ZIP2_PPP_D:
22056 case AArch64::ZIP2_PPP_H:
22057 case AArch64::ZIP2_PPP_S: {
22058 switch (OpNum) {
22059 case 0:
22060 // op: Pd
22061 return 0;
22062 case 2:
22063 // op: Pm
22064 return 16;
22065 case 1:
22066 // op: Pn
22067 return 5;
22068 }
22069 break;
22070 }
22071 case AArch64::WHILEGE_PWW_B:
22072 case AArch64::WHILEGE_PWW_D:
22073 case AArch64::WHILEGE_PWW_H:
22074 case AArch64::WHILEGE_PWW_S:
22075 case AArch64::WHILEGE_PXX_B:
22076 case AArch64::WHILEGE_PXX_D:
22077 case AArch64::WHILEGE_PXX_H:
22078 case AArch64::WHILEGE_PXX_S:
22079 case AArch64::WHILEGT_PWW_B:
22080 case AArch64::WHILEGT_PWW_D:
22081 case AArch64::WHILEGT_PWW_H:
22082 case AArch64::WHILEGT_PWW_S:
22083 case AArch64::WHILEGT_PXX_B:
22084 case AArch64::WHILEGT_PXX_D:
22085 case AArch64::WHILEGT_PXX_H:
22086 case AArch64::WHILEGT_PXX_S:
22087 case AArch64::WHILEHI_PWW_B:
22088 case AArch64::WHILEHI_PWW_D:
22089 case AArch64::WHILEHI_PWW_H:
22090 case AArch64::WHILEHI_PWW_S:
22091 case AArch64::WHILEHI_PXX_B:
22092 case AArch64::WHILEHI_PXX_D:
22093 case AArch64::WHILEHI_PXX_H:
22094 case AArch64::WHILEHI_PXX_S:
22095 case AArch64::WHILEHS_PWW_B:
22096 case AArch64::WHILEHS_PWW_D:
22097 case AArch64::WHILEHS_PWW_H:
22098 case AArch64::WHILEHS_PWW_S:
22099 case AArch64::WHILEHS_PXX_B:
22100 case AArch64::WHILEHS_PXX_D:
22101 case AArch64::WHILEHS_PXX_H:
22102 case AArch64::WHILEHS_PXX_S:
22103 case AArch64::WHILELE_PWW_B:
22104 case AArch64::WHILELE_PWW_D:
22105 case AArch64::WHILELE_PWW_H:
22106 case AArch64::WHILELE_PWW_S:
22107 case AArch64::WHILELE_PXX_B:
22108 case AArch64::WHILELE_PXX_D:
22109 case AArch64::WHILELE_PXX_H:
22110 case AArch64::WHILELE_PXX_S:
22111 case AArch64::WHILELO_PWW_B:
22112 case AArch64::WHILELO_PWW_D:
22113 case AArch64::WHILELO_PWW_H:
22114 case AArch64::WHILELO_PWW_S:
22115 case AArch64::WHILELO_PXX_B:
22116 case AArch64::WHILELO_PXX_D:
22117 case AArch64::WHILELO_PXX_H:
22118 case AArch64::WHILELO_PXX_S:
22119 case AArch64::WHILELS_PWW_B:
22120 case AArch64::WHILELS_PWW_D:
22121 case AArch64::WHILELS_PWW_H:
22122 case AArch64::WHILELS_PWW_S:
22123 case AArch64::WHILELS_PXX_B:
22124 case AArch64::WHILELS_PXX_D:
22125 case AArch64::WHILELS_PXX_H:
22126 case AArch64::WHILELS_PXX_S:
22127 case AArch64::WHILELT_PWW_B:
22128 case AArch64::WHILELT_PWW_D:
22129 case AArch64::WHILELT_PWW_H:
22130 case AArch64::WHILELT_PWW_S:
22131 case AArch64::WHILELT_PXX_B:
22132 case AArch64::WHILELT_PXX_D:
22133 case AArch64::WHILELT_PXX_H:
22134 case AArch64::WHILELT_PXX_S:
22135 case AArch64::WHILERW_PXX_B:
22136 case AArch64::WHILERW_PXX_D:
22137 case AArch64::WHILERW_PXX_H:
22138 case AArch64::WHILERW_PXX_S:
22139 case AArch64::WHILEWR_PXX_B:
22140 case AArch64::WHILEWR_PXX_D:
22141 case AArch64::WHILEWR_PXX_H:
22142 case AArch64::WHILEWR_PXX_S: {
22143 switch (OpNum) {
22144 case 0:
22145 // op: Pd
22146 return 0;
22147 case 2:
22148 // op: Rm
22149 return 16;
22150 case 1:
22151 // op: Rn
22152 return 5;
22153 }
22154 break;
22155 }
22156 case AArch64::PFALSE:
22157 case AArch64::RDFFR_P: {
22158 switch (OpNum) {
22159 case 0:
22160 // op: Pd
22161 return 0;
22162 }
22163 break;
22164 }
22165 case AArch64::WHILEGE_2PXX_B:
22166 case AArch64::WHILEGE_2PXX_D:
22167 case AArch64::WHILEGE_2PXX_H:
22168 case AArch64::WHILEGE_2PXX_S:
22169 case AArch64::WHILEGT_2PXX_B:
22170 case AArch64::WHILEGT_2PXX_D:
22171 case AArch64::WHILEGT_2PXX_H:
22172 case AArch64::WHILEGT_2PXX_S:
22173 case AArch64::WHILEHI_2PXX_B:
22174 case AArch64::WHILEHI_2PXX_D:
22175 case AArch64::WHILEHI_2PXX_H:
22176 case AArch64::WHILEHI_2PXX_S:
22177 case AArch64::WHILEHS_2PXX_B:
22178 case AArch64::WHILEHS_2PXX_D:
22179 case AArch64::WHILEHS_2PXX_H:
22180 case AArch64::WHILEHS_2PXX_S:
22181 case AArch64::WHILELE_2PXX_B:
22182 case AArch64::WHILELE_2PXX_D:
22183 case AArch64::WHILELE_2PXX_H:
22184 case AArch64::WHILELE_2PXX_S:
22185 case AArch64::WHILELO_2PXX_B:
22186 case AArch64::WHILELO_2PXX_D:
22187 case AArch64::WHILELO_2PXX_H:
22188 case AArch64::WHILELO_2PXX_S:
22189 case AArch64::WHILELS_2PXX_B:
22190 case AArch64::WHILELS_2PXX_D:
22191 case AArch64::WHILELS_2PXX_H:
22192 case AArch64::WHILELS_2PXX_S:
22193 case AArch64::WHILELT_2PXX_B:
22194 case AArch64::WHILELT_2PXX_D:
22195 case AArch64::WHILELT_2PXX_H:
22196 case AArch64::WHILELT_2PXX_S: {
22197 switch (OpNum) {
22198 case 0:
22199 // op: Pd
22200 return 1;
22201 case 1:
22202 // op: Rn
22203 return 5;
22204 case 2:
22205 // op: Rm
22206 return 16;
22207 }
22208 break;
22209 }
22210 case AArch64::BRKNS_PPzP:
22211 case AArch64::BRKN_PPzP: {
22212 switch (OpNum) {
22213 case 0:
22214 // op: Pdm
22215 return 0;
22216 case 1:
22217 // op: Pg
22218 return 10;
22219 case 2:
22220 // op: Pn
22221 return 5;
22222 }
22223 break;
22224 }
22225 case AArch64::PFIRST_B:
22226 case AArch64::PNEXT_B:
22227 case AArch64::PNEXT_D:
22228 case AArch64::PNEXT_H:
22229 case AArch64::PNEXT_S: {
22230 switch (OpNum) {
22231 case 0:
22232 // op: Pdn
22233 return 0;
22234 case 1:
22235 // op: Pg
22236 return 5;
22237 }
22238 break;
22239 }
22240 case AArch64::PTEST_PP: {
22241 switch (OpNum) {
22242 case 0:
22243 // op: Pg
22244 return 10;
22245 case 1:
22246 // op: Pn
22247 return 5;
22248 }
22249 break;
22250 }
22251 case AArch64::WRFFR: {
22252 switch (OpNum) {
22253 case 0:
22254 // op: Pn
22255 return 5;
22256 }
22257 break;
22258 }
22259 case AArch64::LDR_PXI:
22260 case AArch64::STR_PXI: {
22261 switch (OpNum) {
22262 case 0:
22263 // op: Pt
22264 return 0;
22265 case 1:
22266 // op: Rn
22267 return 5;
22268 case 2:
22269 // op: imm9
22270 return 10;
22271 }
22272 break;
22273 }
22274 case AArch64::CNTP_XCI_B:
22275 case AArch64::CNTP_XCI_D:
22276 case AArch64::CNTP_XCI_H:
22277 case AArch64::CNTP_XCI_S: {
22278 switch (OpNum) {
22279 case 0:
22280 // op: Rd
22281 return 0;
22282 case 1:
22283 // op: PNn
22284 return 5;
22285 case 2:
22286 // op: vl
22287 return 10;
22288 }
22289 break;
22290 }
22291 case AArch64::ADDPL_XXI:
22292 case AArch64::ADDSPL_XXI:
22293 case AArch64::ADDSVL_XXI:
22294 case AArch64::ADDVL_XXI: {
22295 switch (OpNum) {
22296 case 0:
22297 // op: Rd
22298 return 0;
22299 case 1:
22300 // op: Rn
22301 return 16;
22302 case 2:
22303 // op: imm6
22304 return 5;
22305 }
22306 break;
22307 }
22308 case AArch64::FMADDDrrr:
22309 case AArch64::FMADDHrrr:
22310 case AArch64::FMADDSrrr:
22311 case AArch64::FMSUBDrrr:
22312 case AArch64::FMSUBHrrr:
22313 case AArch64::FMSUBSrrr:
22314 case AArch64::FNMADDDrrr:
22315 case AArch64::FNMADDHrrr:
22316 case AArch64::FNMADDSrrr:
22317 case AArch64::FNMSUBDrrr:
22318 case AArch64::FNMSUBHrrr:
22319 case AArch64::FNMSUBSrrr:
22320 case AArch64::MADDPT:
22321 case AArch64::MADDWrrr:
22322 case AArch64::MADDXrrr:
22323 case AArch64::MSUBPT:
22324 case AArch64::MSUBWrrr:
22325 case AArch64::MSUBXrrr:
22326 case AArch64::SMADDLrrr:
22327 case AArch64::SMSUBLrrr:
22328 case AArch64::UMADDLrrr:
22329 case AArch64::UMSUBLrrr: {
22330 switch (OpNum) {
22331 case 0:
22332 // op: Rd
22333 return 0;
22334 case 1:
22335 // op: Rn
22336 return 5;
22337 case 2:
22338 // op: Rm
22339 return 16;
22340 case 3:
22341 // op: Ra
22342 return 10;
22343 }
22344 break;
22345 }
22346 case AArch64::CSELWr:
22347 case AArch64::CSELXr:
22348 case AArch64::CSINCWr:
22349 case AArch64::CSINCXr:
22350 case AArch64::CSINVWr:
22351 case AArch64::CSINVXr:
22352 case AArch64::CSNEGWr:
22353 case AArch64::CSNEGXr:
22354 case AArch64::FCSELDrrr:
22355 case AArch64::FCSELHrrr:
22356 case AArch64::FCSELSrrr: {
22357 switch (OpNum) {
22358 case 0:
22359 // op: Rd
22360 return 0;
22361 case 1:
22362 // op: Rn
22363 return 5;
22364 case 2:
22365 // op: Rm
22366 return 16;
22367 case 3:
22368 // op: cond
22369 return 12;
22370 }
22371 break;
22372 }
22373 case AArch64::ADDSXrx64:
22374 case AArch64::ADDXrx64:
22375 case AArch64::SUBSXrx64:
22376 case AArch64::SUBXrx64: {
22377 switch (OpNum) {
22378 case 0:
22379 // op: Rd
22380 return 0;
22381 case 1:
22382 // op: Rn
22383 return 5;
22384 case 2:
22385 // op: Rm
22386 return 16;
22387 case 3:
22388 // op: ext
22389 return 10;
22390 }
22391 break;
22392 }
22393 case AArch64::ADDSWrx:
22394 case AArch64::ADDSXrx:
22395 case AArch64::ADDWrx:
22396 case AArch64::ADDXrx:
22397 case AArch64::SUBSWrx:
22398 case AArch64::SUBSXrx:
22399 case AArch64::SUBWrx:
22400 case AArch64::SUBXrx: {
22401 switch (OpNum) {
22402 case 0:
22403 // op: Rd
22404 return 0;
22405 case 1:
22406 // op: Rn
22407 return 5;
22408 case 2:
22409 // op: Rm
22410 return 16;
22411 case 3:
22412 // op: extend
22413 return 10;
22414 }
22415 break;
22416 }
22417 case AArch64::FMULXv1i16_indexed:
22418 case AArch64::FMULXv1i32_indexed:
22419 case AArch64::FMULXv1i64_indexed:
22420 case AArch64::FMULXv2i32_indexed:
22421 case AArch64::FMULXv2i64_indexed:
22422 case AArch64::FMULXv4i16_indexed:
22423 case AArch64::FMULXv4i32_indexed:
22424 case AArch64::FMULXv8i16_indexed:
22425 case AArch64::FMULv1i16_indexed:
22426 case AArch64::FMULv1i32_indexed:
22427 case AArch64::FMULv1i64_indexed:
22428 case AArch64::FMULv2i32_indexed:
22429 case AArch64::FMULv2i64_indexed:
22430 case AArch64::FMULv4i16_indexed:
22431 case AArch64::FMULv4i32_indexed:
22432 case AArch64::FMULv8i16_indexed:
22433 case AArch64::MULv2i32_indexed:
22434 case AArch64::MULv4i16_indexed:
22435 case AArch64::MULv4i32_indexed:
22436 case AArch64::MULv8i16_indexed:
22437 case AArch64::SMULLv2i32_indexed:
22438 case AArch64::SMULLv4i16_indexed:
22439 case AArch64::SMULLv4i32_indexed:
22440 case AArch64::SMULLv8i16_indexed:
22441 case AArch64::SQDMULHv1i16_indexed:
22442 case AArch64::SQDMULHv1i32_indexed:
22443 case AArch64::SQDMULHv2i32_indexed:
22444 case AArch64::SQDMULHv4i16_indexed:
22445 case AArch64::SQDMULHv4i32_indexed:
22446 case AArch64::SQDMULHv8i16_indexed:
22447 case AArch64::SQDMULLv1i32_indexed:
22448 case AArch64::SQDMULLv1i64_indexed:
22449 case AArch64::SQDMULLv2i32_indexed:
22450 case AArch64::SQDMULLv4i16_indexed:
22451 case AArch64::SQDMULLv4i32_indexed:
22452 case AArch64::SQDMULLv8i16_indexed:
22453 case AArch64::SQRDMULHv1i16_indexed:
22454 case AArch64::SQRDMULHv1i32_indexed:
22455 case AArch64::SQRDMULHv2i32_indexed:
22456 case AArch64::SQRDMULHv4i16_indexed:
22457 case AArch64::SQRDMULHv4i32_indexed:
22458 case AArch64::SQRDMULHv8i16_indexed:
22459 case AArch64::UMULLv2i32_indexed:
22460 case AArch64::UMULLv4i16_indexed:
22461 case AArch64::UMULLv4i32_indexed:
22462 case AArch64::UMULLv8i16_indexed: {
22463 switch (OpNum) {
22464 case 0:
22465 // op: Rd
22466 return 0;
22467 case 1:
22468 // op: Rn
22469 return 5;
22470 case 2:
22471 // op: Rm
22472 return 16;
22473 case 3:
22474 // op: idx
22475 return 11;
22476 }
22477 break;
22478 }
22479 case AArch64::LUT2_H: {
22480 switch (OpNum) {
22481 case 0:
22482 // op: Rd
22483 return 0;
22484 case 1:
22485 // op: Rn
22486 return 5;
22487 case 2:
22488 // op: Rm
22489 return 16;
22490 case 3:
22491 // op: idx
22492 return 12;
22493 }
22494 break;
22495 }
22496 case AArch64::LUT2_B:
22497 case AArch64::LUT4_H: {
22498 switch (OpNum) {
22499 case 0:
22500 // op: Rd
22501 return 0;
22502 case 1:
22503 // op: Rn
22504 return 5;
22505 case 2:
22506 // op: Rm
22507 return 16;
22508 case 3:
22509 // op: idx
22510 return 13;
22511 }
22512 break;
22513 }
22514 case AArch64::LUT4_B: {
22515 switch (OpNum) {
22516 case 0:
22517 // op: Rd
22518 return 0;
22519 case 1:
22520 // op: Rn
22521 return 5;
22522 case 2:
22523 // op: Rm
22524 return 16;
22525 case 3:
22526 // op: idx
22527 return 14;
22528 }
22529 break;
22530 }
22531 case AArch64::EXTRWrri:
22532 case AArch64::EXTRXrri: {
22533 switch (OpNum) {
22534 case 0:
22535 // op: Rd
22536 return 0;
22537 case 1:
22538 // op: Rn
22539 return 5;
22540 case 2:
22541 // op: Rm
22542 return 16;
22543 case 3:
22544 // op: imm
22545 return 10;
22546 }
22547 break;
22548 }
22549 case AArch64::EXTv16i8:
22550 case AArch64::EXTv8i8: {
22551 switch (OpNum) {
22552 case 0:
22553 // op: Rd
22554 return 0;
22555 case 1:
22556 // op: Rn
22557 return 5;
22558 case 2:
22559 // op: Rm
22560 return 16;
22561 case 3:
22562 // op: imm
22563 return 11;
22564 }
22565 break;
22566 }
22567 case AArch64::FCADDv2f32:
22568 case AArch64::FCADDv2f64:
22569 case AArch64::FCADDv4f16:
22570 case AArch64::FCADDv4f32:
22571 case AArch64::FCADDv8f16: {
22572 switch (OpNum) {
22573 case 0:
22574 // op: Rd
22575 return 0;
22576 case 1:
22577 // op: Rn
22578 return 5;
22579 case 2:
22580 // op: Rm
22581 return 16;
22582 case 3:
22583 // op: rot
22584 return 12;
22585 }
22586 break;
22587 }
22588 case AArch64::ADDSWrs:
22589 case AArch64::ADDSXrs:
22590 case AArch64::ADDWrs:
22591 case AArch64::ADDXrs:
22592 case AArch64::ANDSWrs:
22593 case AArch64::ANDSXrs:
22594 case AArch64::ANDWrs:
22595 case AArch64::ANDXrs:
22596 case AArch64::BICSWrs:
22597 case AArch64::BICSXrs:
22598 case AArch64::BICWrs:
22599 case AArch64::BICXrs:
22600 case AArch64::EONWrs:
22601 case AArch64::EONXrs:
22602 case AArch64::EORWrs:
22603 case AArch64::EORXrs:
22604 case AArch64::ORNWrs:
22605 case AArch64::ORNXrs:
22606 case AArch64::ORRWrs:
22607 case AArch64::ORRXrs:
22608 case AArch64::SUBSWrs:
22609 case AArch64::SUBSXrs:
22610 case AArch64::SUBWrs:
22611 case AArch64::SUBXrs: {
22612 switch (OpNum) {
22613 case 0:
22614 // op: Rd
22615 return 0;
22616 case 1:
22617 // op: Rn
22618 return 5;
22619 case 2:
22620 // op: Rm
22621 return 16;
22622 case 3:
22623 // op: shift
22624 return 10;
22625 }
22626 break;
22627 }
22628 case AArch64::ADDPT_shift:
22629 case AArch64::SUBPT_shift: {
22630 switch (OpNum) {
22631 case 0:
22632 // op: Rd
22633 return 0;
22634 case 1:
22635 // op: Rn
22636 return 5;
22637 case 2:
22638 // op: Rm
22639 return 16;
22640 case 3:
22641 // op: shift_imm
22642 return 10;
22643 }
22644 break;
22645 }
22646 case AArch64::ADCSWr:
22647 case AArch64::ADCSXr:
22648 case AArch64::ADCWr:
22649 case AArch64::ADCXr:
22650 case AArch64::ADDHNv2i64_v2i32:
22651 case AArch64::ADDHNv4i32_v4i16:
22652 case AArch64::ADDHNv8i16_v8i8:
22653 case AArch64::ADDPv16i8:
22654 case AArch64::ADDPv2i32:
22655 case AArch64::ADDPv2i64:
22656 case AArch64::ADDPv4i16:
22657 case AArch64::ADDPv4i32:
22658 case AArch64::ADDPv8i16:
22659 case AArch64::ADDPv8i8:
22660 case AArch64::ADDv16i8:
22661 case AArch64::ADDv1i64:
22662 case AArch64::ADDv2i32:
22663 case AArch64::ADDv2i64:
22664 case AArch64::ADDv4i16:
22665 case AArch64::ADDv4i32:
22666 case AArch64::ADDv8i16:
22667 case AArch64::ADDv8i8:
22668 case AArch64::ANDv16i8:
22669 case AArch64::ANDv8i8:
22670 case AArch64::ASRVWr:
22671 case AArch64::ASRVXr:
22672 case AArch64::BICv16i8:
22673 case AArch64::BICv8i8:
22674 case AArch64::CMEQv16i8:
22675 case AArch64::CMEQv1i64:
22676 case AArch64::CMEQv2i32:
22677 case AArch64::CMEQv2i64:
22678 case AArch64::CMEQv4i16:
22679 case AArch64::CMEQv4i32:
22680 case AArch64::CMEQv8i16:
22681 case AArch64::CMEQv8i8:
22682 case AArch64::CMGEv16i8:
22683 case AArch64::CMGEv1i64:
22684 case AArch64::CMGEv2i32:
22685 case AArch64::CMGEv2i64:
22686 case AArch64::CMGEv4i16:
22687 case AArch64::CMGEv4i32:
22688 case AArch64::CMGEv8i16:
22689 case AArch64::CMGEv8i8:
22690 case AArch64::CMGTv16i8:
22691 case AArch64::CMGTv1i64:
22692 case AArch64::CMGTv2i32:
22693 case AArch64::CMGTv2i64:
22694 case AArch64::CMGTv4i16:
22695 case AArch64::CMGTv4i32:
22696 case AArch64::CMGTv8i16:
22697 case AArch64::CMGTv8i8:
22698 case AArch64::CMHIv16i8:
22699 case AArch64::CMHIv1i64:
22700 case AArch64::CMHIv2i32:
22701 case AArch64::CMHIv2i64:
22702 case AArch64::CMHIv4i16:
22703 case AArch64::CMHIv4i32:
22704 case AArch64::CMHIv8i16:
22705 case AArch64::CMHIv8i8:
22706 case AArch64::CMHSv16i8:
22707 case AArch64::CMHSv1i64:
22708 case AArch64::CMHSv2i32:
22709 case AArch64::CMHSv2i64:
22710 case AArch64::CMHSv4i16:
22711 case AArch64::CMHSv4i32:
22712 case AArch64::CMHSv8i16:
22713 case AArch64::CMHSv8i8:
22714 case AArch64::CMTSTv16i8:
22715 case AArch64::CMTSTv1i64:
22716 case AArch64::CMTSTv2i32:
22717 case AArch64::CMTSTv2i64:
22718 case AArch64::CMTSTv4i16:
22719 case AArch64::CMTSTv4i32:
22720 case AArch64::CMTSTv8i16:
22721 case AArch64::CMTSTv8i8:
22722 case AArch64::CRC32Brr:
22723 case AArch64::CRC32CBrr:
22724 case AArch64::CRC32CHrr:
22725 case AArch64::CRC32CWrr:
22726 case AArch64::CRC32CXrr:
22727 case AArch64::CRC32Hrr:
22728 case AArch64::CRC32Wrr:
22729 case AArch64::CRC32Xrr:
22730 case AArch64::EORv16i8:
22731 case AArch64::EORv8i8:
22732 case AArch64::FABD16:
22733 case AArch64::FABD32:
22734 case AArch64::FABD64:
22735 case AArch64::FABDv2f32:
22736 case AArch64::FABDv2f64:
22737 case AArch64::FABDv4f16:
22738 case AArch64::FABDv4f32:
22739 case AArch64::FABDv8f16:
22740 case AArch64::FACGE16:
22741 case AArch64::FACGE32:
22742 case AArch64::FACGE64:
22743 case AArch64::FACGEv2f32:
22744 case AArch64::FACGEv2f64:
22745 case AArch64::FACGEv4f16:
22746 case AArch64::FACGEv4f32:
22747 case AArch64::FACGEv8f16:
22748 case AArch64::FACGT16:
22749 case AArch64::FACGT32:
22750 case AArch64::FACGT64:
22751 case AArch64::FACGTv2f32:
22752 case AArch64::FACGTv2f64:
22753 case AArch64::FACGTv4f16:
22754 case AArch64::FACGTv4f32:
22755 case AArch64::FACGTv8f16:
22756 case AArch64::FADDDrr:
22757 case AArch64::FADDHrr:
22758 case AArch64::FADDPv2f32:
22759 case AArch64::FADDPv2f64:
22760 case AArch64::FADDPv4f16:
22761 case AArch64::FADDPv4f32:
22762 case AArch64::FADDPv8f16:
22763 case AArch64::FADDSrr:
22764 case AArch64::FADDv2f32:
22765 case AArch64::FADDv2f64:
22766 case AArch64::FADDv4f16:
22767 case AArch64::FADDv4f32:
22768 case AArch64::FADDv8f16:
22769 case AArch64::FAMAXv2f32:
22770 case AArch64::FAMAXv2f64:
22771 case AArch64::FAMAXv4f16:
22772 case AArch64::FAMAXv4f32:
22773 case AArch64::FAMAXv8f16:
22774 case AArch64::FAMINv2f32:
22775 case AArch64::FAMINv2f64:
22776 case AArch64::FAMINv4f16:
22777 case AArch64::FAMINv4f32:
22778 case AArch64::FAMINv8f16:
22779 case AArch64::FCMEQ16:
22780 case AArch64::FCMEQ32:
22781 case AArch64::FCMEQ64:
22782 case AArch64::FCMEQv2f32:
22783 case AArch64::FCMEQv2f64:
22784 case AArch64::FCMEQv4f16:
22785 case AArch64::FCMEQv4f32:
22786 case AArch64::FCMEQv8f16:
22787 case AArch64::FCMGE16:
22788 case AArch64::FCMGE32:
22789 case AArch64::FCMGE64:
22790 case AArch64::FCMGEv2f32:
22791 case AArch64::FCMGEv2f64:
22792 case AArch64::FCMGEv4f16:
22793 case AArch64::FCMGEv4f32:
22794 case AArch64::FCMGEv8f16:
22795 case AArch64::FCMGT16:
22796 case AArch64::FCMGT32:
22797 case AArch64::FCMGT64:
22798 case AArch64::FCMGTv2f32:
22799 case AArch64::FCMGTv2f64:
22800 case AArch64::FCMGTv4f16:
22801 case AArch64::FCMGTv4f32:
22802 case AArch64::FCMGTv8f16:
22803 case AArch64::FCVTN_F16v16f8:
22804 case AArch64::FCVTN_F16v8f8:
22805 case AArch64::FCVTN_F32v8f8:
22806 case AArch64::FDIVDrr:
22807 case AArch64::FDIVHrr:
22808 case AArch64::FDIVSrr:
22809 case AArch64::FDIVv2f32:
22810 case AArch64::FDIVv2f64:
22811 case AArch64::FDIVv4f16:
22812 case AArch64::FDIVv4f32:
22813 case AArch64::FDIVv8f16:
22814 case AArch64::FMAXDrr:
22815 case AArch64::FMAXHrr:
22816 case AArch64::FMAXNMDrr:
22817 case AArch64::FMAXNMHrr:
22818 case AArch64::FMAXNMPv2f32:
22819 case AArch64::FMAXNMPv2f64:
22820 case AArch64::FMAXNMPv4f16:
22821 case AArch64::FMAXNMPv4f32:
22822 case AArch64::FMAXNMPv8f16:
22823 case AArch64::FMAXNMSrr:
22824 case AArch64::FMAXNMv2f32:
22825 case AArch64::FMAXNMv2f64:
22826 case AArch64::FMAXNMv4f16:
22827 case AArch64::FMAXNMv4f32:
22828 case AArch64::FMAXNMv8f16:
22829 case AArch64::FMAXPv2f32:
22830 case AArch64::FMAXPv2f64:
22831 case AArch64::FMAXPv4f16:
22832 case AArch64::FMAXPv4f32:
22833 case AArch64::FMAXPv8f16:
22834 case AArch64::FMAXSrr:
22835 case AArch64::FMAXv2f32:
22836 case AArch64::FMAXv2f64:
22837 case AArch64::FMAXv4f16:
22838 case AArch64::FMAXv4f32:
22839 case AArch64::FMAXv8f16:
22840 case AArch64::FMINDrr:
22841 case AArch64::FMINHrr:
22842 case AArch64::FMINNMDrr:
22843 case AArch64::FMINNMHrr:
22844 case AArch64::FMINNMPv2f32:
22845 case AArch64::FMINNMPv2f64:
22846 case AArch64::FMINNMPv4f16:
22847 case AArch64::FMINNMPv4f32:
22848 case AArch64::FMINNMPv8f16:
22849 case AArch64::FMINNMSrr:
22850 case AArch64::FMINNMv2f32:
22851 case AArch64::FMINNMv2f64:
22852 case AArch64::FMINNMv4f16:
22853 case AArch64::FMINNMv4f32:
22854 case AArch64::FMINNMv8f16:
22855 case AArch64::FMINPv2f32:
22856 case AArch64::FMINPv2f64:
22857 case AArch64::FMINPv4f16:
22858 case AArch64::FMINPv4f32:
22859 case AArch64::FMINPv8f16:
22860 case AArch64::FMINSrr:
22861 case AArch64::FMINv2f32:
22862 case AArch64::FMINv2f64:
22863 case AArch64::FMINv4f16:
22864 case AArch64::FMINv4f32:
22865 case AArch64::FMINv8f16:
22866 case AArch64::FMULDrr:
22867 case AArch64::FMULHrr:
22868 case AArch64::FMULSrr:
22869 case AArch64::FMULX16:
22870 case AArch64::FMULX32:
22871 case AArch64::FMULX64:
22872 case AArch64::FMULXv2f32:
22873 case AArch64::FMULXv2f64:
22874 case AArch64::FMULXv4f16:
22875 case AArch64::FMULXv4f32:
22876 case AArch64::FMULXv8f16:
22877 case AArch64::FMULv2f32:
22878 case AArch64::FMULv2f64:
22879 case AArch64::FMULv4f16:
22880 case AArch64::FMULv4f32:
22881 case AArch64::FMULv8f16:
22882 case AArch64::FNMULDrr:
22883 case AArch64::FNMULHrr:
22884 case AArch64::FNMULSrr:
22885 case AArch64::FRECPS16:
22886 case AArch64::FRECPS32:
22887 case AArch64::FRECPS64:
22888 case AArch64::FRECPSv2f32:
22889 case AArch64::FRECPSv2f64:
22890 case AArch64::FRECPSv4f16:
22891 case AArch64::FRECPSv4f32:
22892 case AArch64::FRECPSv8f16:
22893 case AArch64::FRSQRTS16:
22894 case AArch64::FRSQRTS32:
22895 case AArch64::FRSQRTS64:
22896 case AArch64::FRSQRTSv2f32:
22897 case AArch64::FRSQRTSv2f64:
22898 case AArch64::FRSQRTSv4f16:
22899 case AArch64::FRSQRTSv4f32:
22900 case AArch64::FRSQRTSv8f16:
22901 case AArch64::FSCALEv2f32:
22902 case AArch64::FSCALEv2f64:
22903 case AArch64::FSCALEv4f16:
22904 case AArch64::FSCALEv4f32:
22905 case AArch64::FSCALEv8f16:
22906 case AArch64::FSUBDrr:
22907 case AArch64::FSUBHrr:
22908 case AArch64::FSUBSrr:
22909 case AArch64::FSUBv2f32:
22910 case AArch64::FSUBv2f64:
22911 case AArch64::FSUBv4f16:
22912 case AArch64::FSUBv4f32:
22913 case AArch64::FSUBv8f16:
22914 case AArch64::GMI:
22915 case AArch64::IRG:
22916 case AArch64::LSLVWr:
22917 case AArch64::LSLVXr:
22918 case AArch64::LSRVWr:
22919 case AArch64::LSRVXr:
22920 case AArch64::MULv16i8:
22921 case AArch64::MULv2i32:
22922 case AArch64::MULv4i16:
22923 case AArch64::MULv4i32:
22924 case AArch64::MULv8i16:
22925 case AArch64::MULv8i8:
22926 case AArch64::ORNv16i8:
22927 case AArch64::ORNv8i8:
22928 case AArch64::ORRv16i8:
22929 case AArch64::ORRv8i8:
22930 case AArch64::PACGA:
22931 case AArch64::PMULLv16i8:
22932 case AArch64::PMULLv1i64:
22933 case AArch64::PMULLv2i64:
22934 case AArch64::PMULLv8i8:
22935 case AArch64::PMULv16i8:
22936 case AArch64::PMULv8i8:
22937 case AArch64::RADDHNv2i64_v2i32:
22938 case AArch64::RADDHNv4i32_v4i16:
22939 case AArch64::RADDHNv8i16_v8i8:
22940 case AArch64::RORVWr:
22941 case AArch64::RORVXr:
22942 case AArch64::RSUBHNv2i64_v2i32:
22943 case AArch64::RSUBHNv4i32_v4i16:
22944 case AArch64::RSUBHNv8i16_v8i8:
22945 case AArch64::SABDLv16i8_v8i16:
22946 case AArch64::SABDLv2i32_v2i64:
22947 case AArch64::SABDLv4i16_v4i32:
22948 case AArch64::SABDLv4i32_v2i64:
22949 case AArch64::SABDLv8i16_v4i32:
22950 case AArch64::SABDLv8i8_v8i16:
22951 case AArch64::SABDv16i8:
22952 case AArch64::SABDv2i32:
22953 case AArch64::SABDv4i16:
22954 case AArch64::SABDv4i32:
22955 case AArch64::SABDv8i16:
22956 case AArch64::SABDv8i8:
22957 case AArch64::SADDLv16i8_v8i16:
22958 case AArch64::SADDLv2i32_v2i64:
22959 case AArch64::SADDLv4i16_v4i32:
22960 case AArch64::SADDLv4i32_v2i64:
22961 case AArch64::SADDLv8i16_v4i32:
22962 case AArch64::SADDLv8i8_v8i16:
22963 case AArch64::SADDWv16i8_v8i16:
22964 case AArch64::SADDWv2i32_v2i64:
22965 case AArch64::SADDWv4i16_v4i32:
22966 case AArch64::SADDWv4i32_v2i64:
22967 case AArch64::SADDWv8i16_v4i32:
22968 case AArch64::SADDWv8i8_v8i16:
22969 case AArch64::SBCSWr:
22970 case AArch64::SBCSXr:
22971 case AArch64::SBCWr:
22972 case AArch64::SBCXr:
22973 case AArch64::SDIVWr:
22974 case AArch64::SDIVXr:
22975 case AArch64::SHADDv16i8:
22976 case AArch64::SHADDv2i32:
22977 case AArch64::SHADDv4i16:
22978 case AArch64::SHADDv4i32:
22979 case AArch64::SHADDv8i16:
22980 case AArch64::SHADDv8i8:
22981 case AArch64::SHSUBv16i8:
22982 case AArch64::SHSUBv2i32:
22983 case AArch64::SHSUBv4i16:
22984 case AArch64::SHSUBv4i32:
22985 case AArch64::SHSUBv8i16:
22986 case AArch64::SHSUBv8i8:
22987 case AArch64::SMAXPv16i8:
22988 case AArch64::SMAXPv2i32:
22989 case AArch64::SMAXPv4i16:
22990 case AArch64::SMAXPv4i32:
22991 case AArch64::SMAXPv8i16:
22992 case AArch64::SMAXPv8i8:
22993 case AArch64::SMAXWrr:
22994 case AArch64::SMAXXrr:
22995 case AArch64::SMAXv16i8:
22996 case AArch64::SMAXv2i32:
22997 case AArch64::SMAXv4i16:
22998 case AArch64::SMAXv4i32:
22999 case AArch64::SMAXv8i16:
23000 case AArch64::SMAXv8i8:
23001 case AArch64::SMINPv16i8:
23002 case AArch64::SMINPv2i32:
23003 case AArch64::SMINPv4i16:
23004 case AArch64::SMINPv4i32:
23005 case AArch64::SMINPv8i16:
23006 case AArch64::SMINPv8i8:
23007 case AArch64::SMINWrr:
23008 case AArch64::SMINXrr:
23009 case AArch64::SMINv16i8:
23010 case AArch64::SMINv2i32:
23011 case AArch64::SMINv4i16:
23012 case AArch64::SMINv4i32:
23013 case AArch64::SMINv8i16:
23014 case AArch64::SMINv8i8:
23015 case AArch64::SMULHrr:
23016 case AArch64::SMULLv16i8_v8i16:
23017 case AArch64::SMULLv2i32_v2i64:
23018 case AArch64::SMULLv4i16_v4i32:
23019 case AArch64::SMULLv4i32_v2i64:
23020 case AArch64::SMULLv8i16_v4i32:
23021 case AArch64::SMULLv8i8_v8i16:
23022 case AArch64::SQADDv16i8:
23023 case AArch64::SQADDv1i16:
23024 case AArch64::SQADDv1i32:
23025 case AArch64::SQADDv1i64:
23026 case AArch64::SQADDv1i8:
23027 case AArch64::SQADDv2i32:
23028 case AArch64::SQADDv2i64:
23029 case AArch64::SQADDv4i16:
23030 case AArch64::SQADDv4i32:
23031 case AArch64::SQADDv8i16:
23032 case AArch64::SQADDv8i8:
23033 case AArch64::SQDMULHv1i16:
23034 case AArch64::SQDMULHv1i32:
23035 case AArch64::SQDMULHv2i32:
23036 case AArch64::SQDMULHv4i16:
23037 case AArch64::SQDMULHv4i32:
23038 case AArch64::SQDMULHv8i16:
23039 case AArch64::SQDMULLi16:
23040 case AArch64::SQDMULLi32:
23041 case AArch64::SQDMULLv2i32_v2i64:
23042 case AArch64::SQDMULLv4i16_v4i32:
23043 case AArch64::SQDMULLv4i32_v2i64:
23044 case AArch64::SQDMULLv8i16_v4i32:
23045 case AArch64::SQRDMULHv1i16:
23046 case AArch64::SQRDMULHv1i32:
23047 case AArch64::SQRDMULHv2i32:
23048 case AArch64::SQRDMULHv4i16:
23049 case AArch64::SQRDMULHv4i32:
23050 case AArch64::SQRDMULHv8i16:
23051 case AArch64::SQRSHLv16i8:
23052 case AArch64::SQRSHLv1i16:
23053 case AArch64::SQRSHLv1i32:
23054 case AArch64::SQRSHLv1i64:
23055 case AArch64::SQRSHLv1i8:
23056 case AArch64::SQRSHLv2i32:
23057 case AArch64::SQRSHLv2i64:
23058 case AArch64::SQRSHLv4i16:
23059 case AArch64::SQRSHLv4i32:
23060 case AArch64::SQRSHLv8i16:
23061 case AArch64::SQRSHLv8i8:
23062 case AArch64::SQSHLv16i8:
23063 case AArch64::SQSHLv1i16:
23064 case AArch64::SQSHLv1i32:
23065 case AArch64::SQSHLv1i64:
23066 case AArch64::SQSHLv1i8:
23067 case AArch64::SQSHLv2i32:
23068 case AArch64::SQSHLv2i64:
23069 case AArch64::SQSHLv4i16:
23070 case AArch64::SQSHLv4i32:
23071 case AArch64::SQSHLv8i16:
23072 case AArch64::SQSHLv8i8:
23073 case AArch64::SQSUBv16i8:
23074 case AArch64::SQSUBv1i16:
23075 case AArch64::SQSUBv1i32:
23076 case AArch64::SQSUBv1i64:
23077 case AArch64::SQSUBv1i8:
23078 case AArch64::SQSUBv2i32:
23079 case AArch64::SQSUBv2i64:
23080 case AArch64::SQSUBv4i16:
23081 case AArch64::SQSUBv4i32:
23082 case AArch64::SQSUBv8i16:
23083 case AArch64::SQSUBv8i8:
23084 case AArch64::SRHADDv16i8:
23085 case AArch64::SRHADDv2i32:
23086 case AArch64::SRHADDv4i16:
23087 case AArch64::SRHADDv4i32:
23088 case AArch64::SRHADDv8i16:
23089 case AArch64::SRHADDv8i8:
23090 case AArch64::SRSHLv16i8:
23091 case AArch64::SRSHLv1i64:
23092 case AArch64::SRSHLv2i32:
23093 case AArch64::SRSHLv2i64:
23094 case AArch64::SRSHLv4i16:
23095 case AArch64::SRSHLv4i32:
23096 case AArch64::SRSHLv8i16:
23097 case AArch64::SRSHLv8i8:
23098 case AArch64::SSHLv16i8:
23099 case AArch64::SSHLv1i64:
23100 case AArch64::SSHLv2i32:
23101 case AArch64::SSHLv2i64:
23102 case AArch64::SSHLv4i16:
23103 case AArch64::SSHLv4i32:
23104 case AArch64::SSHLv8i16:
23105 case AArch64::SSHLv8i8:
23106 case AArch64::SSUBLv16i8_v8i16:
23107 case AArch64::SSUBLv2i32_v2i64:
23108 case AArch64::SSUBLv4i16_v4i32:
23109 case AArch64::SSUBLv4i32_v2i64:
23110 case AArch64::SSUBLv8i16_v4i32:
23111 case AArch64::SSUBLv8i8_v8i16:
23112 case AArch64::SSUBWv16i8_v8i16:
23113 case AArch64::SSUBWv2i32_v2i64:
23114 case AArch64::SSUBWv4i16_v4i32:
23115 case AArch64::SSUBWv4i32_v2i64:
23116 case AArch64::SSUBWv8i16_v4i32:
23117 case AArch64::SSUBWv8i8_v8i16:
23118 case AArch64::SUBHNv2i64_v2i32:
23119 case AArch64::SUBHNv4i32_v4i16:
23120 case AArch64::SUBHNv8i16_v8i8:
23121 case AArch64::SUBP:
23122 case AArch64::SUBPS:
23123 case AArch64::SUBv16i8:
23124 case AArch64::SUBv1i64:
23125 case AArch64::SUBv2i32:
23126 case AArch64::SUBv2i64:
23127 case AArch64::SUBv4i16:
23128 case AArch64::SUBv4i32:
23129 case AArch64::SUBv8i16:
23130 case AArch64::SUBv8i8:
23131 case AArch64::TRN1v16i8:
23132 case AArch64::TRN1v2i32:
23133 case AArch64::TRN1v2i64:
23134 case AArch64::TRN1v4i16:
23135 case AArch64::TRN1v4i32:
23136 case AArch64::TRN1v8i16:
23137 case AArch64::TRN1v8i8:
23138 case AArch64::TRN2v16i8:
23139 case AArch64::TRN2v2i32:
23140 case AArch64::TRN2v2i64:
23141 case AArch64::TRN2v4i16:
23142 case AArch64::TRN2v4i32:
23143 case AArch64::TRN2v8i16:
23144 case AArch64::TRN2v8i8:
23145 case AArch64::UABDLv16i8_v8i16:
23146 case AArch64::UABDLv2i32_v2i64:
23147 case AArch64::UABDLv4i16_v4i32:
23148 case AArch64::UABDLv4i32_v2i64:
23149 case AArch64::UABDLv8i16_v4i32:
23150 case AArch64::UABDLv8i8_v8i16:
23151 case AArch64::UABDv16i8:
23152 case AArch64::UABDv2i32:
23153 case AArch64::UABDv4i16:
23154 case AArch64::UABDv4i32:
23155 case AArch64::UABDv8i16:
23156 case AArch64::UABDv8i8:
23157 case AArch64::UADDLv16i8_v8i16:
23158 case AArch64::UADDLv2i32_v2i64:
23159 case AArch64::UADDLv4i16_v4i32:
23160 case AArch64::UADDLv4i32_v2i64:
23161 case AArch64::UADDLv8i16_v4i32:
23162 case AArch64::UADDLv8i8_v8i16:
23163 case AArch64::UADDWv16i8_v8i16:
23164 case AArch64::UADDWv2i32_v2i64:
23165 case AArch64::UADDWv4i16_v4i32:
23166 case AArch64::UADDWv4i32_v2i64:
23167 case AArch64::UADDWv8i16_v4i32:
23168 case AArch64::UADDWv8i8_v8i16:
23169 case AArch64::UDIVWr:
23170 case AArch64::UDIVXr:
23171 case AArch64::UHADDv16i8:
23172 case AArch64::UHADDv2i32:
23173 case AArch64::UHADDv4i16:
23174 case AArch64::UHADDv4i32:
23175 case AArch64::UHADDv8i16:
23176 case AArch64::UHADDv8i8:
23177 case AArch64::UHSUBv16i8:
23178 case AArch64::UHSUBv2i32:
23179 case AArch64::UHSUBv4i16:
23180 case AArch64::UHSUBv4i32:
23181 case AArch64::UHSUBv8i16:
23182 case AArch64::UHSUBv8i8:
23183 case AArch64::UMAXPv16i8:
23184 case AArch64::UMAXPv2i32:
23185 case AArch64::UMAXPv4i16:
23186 case AArch64::UMAXPv4i32:
23187 case AArch64::UMAXPv8i16:
23188 case AArch64::UMAXPv8i8:
23189 case AArch64::UMAXWrr:
23190 case AArch64::UMAXXrr:
23191 case AArch64::UMAXv16i8:
23192 case AArch64::UMAXv2i32:
23193 case AArch64::UMAXv4i16:
23194 case AArch64::UMAXv4i32:
23195 case AArch64::UMAXv8i16:
23196 case AArch64::UMAXv8i8:
23197 case AArch64::UMINPv16i8:
23198 case AArch64::UMINPv2i32:
23199 case AArch64::UMINPv4i16:
23200 case AArch64::UMINPv4i32:
23201 case AArch64::UMINPv8i16:
23202 case AArch64::UMINPv8i8:
23203 case AArch64::UMINWrr:
23204 case AArch64::UMINXrr:
23205 case AArch64::UMINv16i8:
23206 case AArch64::UMINv2i32:
23207 case AArch64::UMINv4i16:
23208 case AArch64::UMINv4i32:
23209 case AArch64::UMINv8i16:
23210 case AArch64::UMINv8i8:
23211 case AArch64::UMULHrr:
23212 case AArch64::UMULLv16i8_v8i16:
23213 case AArch64::UMULLv2i32_v2i64:
23214 case AArch64::UMULLv4i16_v4i32:
23215 case AArch64::UMULLv4i32_v2i64:
23216 case AArch64::UMULLv8i16_v4i32:
23217 case AArch64::UMULLv8i8_v8i16:
23218 case AArch64::UQADDv16i8:
23219 case AArch64::UQADDv1i16:
23220 case AArch64::UQADDv1i32:
23221 case AArch64::UQADDv1i64:
23222 case AArch64::UQADDv1i8:
23223 case AArch64::UQADDv2i32:
23224 case AArch64::UQADDv2i64:
23225 case AArch64::UQADDv4i16:
23226 case AArch64::UQADDv4i32:
23227 case AArch64::UQADDv8i16:
23228 case AArch64::UQADDv8i8:
23229 case AArch64::UQRSHLv16i8:
23230 case AArch64::UQRSHLv1i16:
23231 case AArch64::UQRSHLv1i32:
23232 case AArch64::UQRSHLv1i64:
23233 case AArch64::UQRSHLv1i8:
23234 case AArch64::UQRSHLv2i32:
23235 case AArch64::UQRSHLv2i64:
23236 case AArch64::UQRSHLv4i16:
23237 case AArch64::UQRSHLv4i32:
23238 case AArch64::UQRSHLv8i16:
23239 case AArch64::UQRSHLv8i8:
23240 case AArch64::UQSHLv16i8:
23241 case AArch64::UQSHLv1i16:
23242 case AArch64::UQSHLv1i32:
23243 case AArch64::UQSHLv1i64:
23244 case AArch64::UQSHLv1i8:
23245 case AArch64::UQSHLv2i32:
23246 case AArch64::UQSHLv2i64:
23247 case AArch64::UQSHLv4i16:
23248 case AArch64::UQSHLv4i32:
23249 case AArch64::UQSHLv8i16:
23250 case AArch64::UQSHLv8i8:
23251 case AArch64::UQSUBv16i8:
23252 case AArch64::UQSUBv1i16:
23253 case AArch64::UQSUBv1i32:
23254 case AArch64::UQSUBv1i64:
23255 case AArch64::UQSUBv1i8:
23256 case AArch64::UQSUBv2i32:
23257 case AArch64::UQSUBv2i64:
23258 case AArch64::UQSUBv4i16:
23259 case AArch64::UQSUBv4i32:
23260 case AArch64::UQSUBv8i16:
23261 case AArch64::UQSUBv8i8:
23262 case AArch64::URHADDv16i8:
23263 case AArch64::URHADDv2i32:
23264 case AArch64::URHADDv4i16:
23265 case AArch64::URHADDv4i32:
23266 case AArch64::URHADDv8i16:
23267 case AArch64::URHADDv8i8:
23268 case AArch64::URSHLv16i8:
23269 case AArch64::URSHLv1i64:
23270 case AArch64::URSHLv2i32:
23271 case AArch64::URSHLv2i64:
23272 case AArch64::URSHLv4i16:
23273 case AArch64::URSHLv4i32:
23274 case AArch64::URSHLv8i16:
23275 case AArch64::URSHLv8i8:
23276 case AArch64::USHLv16i8:
23277 case AArch64::USHLv1i64:
23278 case AArch64::USHLv2i32:
23279 case AArch64::USHLv2i64:
23280 case AArch64::USHLv4i16:
23281 case AArch64::USHLv4i32:
23282 case AArch64::USHLv8i16:
23283 case AArch64::USHLv8i8:
23284 case AArch64::USUBLv16i8_v8i16:
23285 case AArch64::USUBLv2i32_v2i64:
23286 case AArch64::USUBLv4i16_v4i32:
23287 case AArch64::USUBLv4i32_v2i64:
23288 case AArch64::USUBLv8i16_v4i32:
23289 case AArch64::USUBLv8i8_v8i16:
23290 case AArch64::USUBWv16i8_v8i16:
23291 case AArch64::USUBWv2i32_v2i64:
23292 case AArch64::USUBWv4i16_v4i32:
23293 case AArch64::USUBWv4i32_v2i64:
23294 case AArch64::USUBWv8i16_v4i32:
23295 case AArch64::USUBWv8i8_v8i16:
23296 case AArch64::UZP1v16i8:
23297 case AArch64::UZP1v2i32:
23298 case AArch64::UZP1v2i64:
23299 case AArch64::UZP1v4i16:
23300 case AArch64::UZP1v4i32:
23301 case AArch64::UZP1v8i16:
23302 case AArch64::UZP1v8i8:
23303 case AArch64::UZP2v16i8:
23304 case AArch64::UZP2v2i32:
23305 case AArch64::UZP2v2i64:
23306 case AArch64::UZP2v4i16:
23307 case AArch64::UZP2v4i32:
23308 case AArch64::UZP2v8i16:
23309 case AArch64::UZP2v8i8:
23310 case AArch64::ZIP1v16i8:
23311 case AArch64::ZIP1v2i32:
23312 case AArch64::ZIP1v2i64:
23313 case AArch64::ZIP1v4i16:
23314 case AArch64::ZIP1v4i32:
23315 case AArch64::ZIP1v8i16:
23316 case AArch64::ZIP1v8i8:
23317 case AArch64::ZIP2v16i8:
23318 case AArch64::ZIP2v2i32:
23319 case AArch64::ZIP2v2i64:
23320 case AArch64::ZIP2v4i16:
23321 case AArch64::ZIP2v4i32:
23322 case AArch64::ZIP2v8i16:
23323 case AArch64::ZIP2v8i8: {
23324 switch (OpNum) {
23325 case 0:
23326 // op: Rd
23327 return 0;
23328 case 1:
23329 // op: Rn
23330 return 5;
23331 case 2:
23332 // op: Rm
23333 return 16;
23334 }
23335 break;
23336 }
23337 case AArch64::DUPv16i8lane:
23338 case AArch64::DUPv8i8lane:
23339 case AArch64::SMOVvi8to32:
23340 case AArch64::SMOVvi8to64:
23341 case AArch64::UMOVvi8: {
23342 switch (OpNum) {
23343 case 0:
23344 // op: Rd
23345 return 0;
23346 case 1:
23347 // op: Rn
23348 return 5;
23349 case 2:
23350 // op: idx
23351 return 17;
23352 }
23353 break;
23354 }
23355 case AArch64::DUPv4i16lane:
23356 case AArch64::DUPv8i16lane:
23357 case AArch64::SMOVvi16to32:
23358 case AArch64::SMOVvi16to64:
23359 case AArch64::UMOVvi16: {
23360 switch (OpNum) {
23361 case 0:
23362 // op: Rd
23363 return 0;
23364 case 1:
23365 // op: Rn
23366 return 5;
23367 case 2:
23368 // op: idx
23369 return 18;
23370 }
23371 break;
23372 }
23373 case AArch64::DUPv2i32lane:
23374 case AArch64::DUPv4i32lane:
23375 case AArch64::SMOVvi32to64:
23376 case AArch64::UMOVvi32: {
23377 switch (OpNum) {
23378 case 0:
23379 // op: Rd
23380 return 0;
23381 case 1:
23382 // op: Rn
23383 return 5;
23384 case 2:
23385 // op: idx
23386 return 19;
23387 }
23388 break;
23389 }
23390 case AArch64::DUPv2i64lane:
23391 case AArch64::UMOVvi64: {
23392 switch (OpNum) {
23393 case 0:
23394 // op: Rd
23395 return 0;
23396 case 1:
23397 // op: Rn
23398 return 5;
23399 case 2:
23400 // op: idx
23401 return 20;
23402 }
23403 break;
23404 }
23405 case AArch64::ADDSWri:
23406 case AArch64::ADDSXri:
23407 case AArch64::ADDWri:
23408 case AArch64::ADDXri:
23409 case AArch64::ANDSWri:
23410 case AArch64::ANDSXri:
23411 case AArch64::ANDWri:
23412 case AArch64::ANDXri:
23413 case AArch64::EORWri:
23414 case AArch64::EORXri:
23415 case AArch64::ORRWri:
23416 case AArch64::ORRXri:
23417 case AArch64::SMAXWri:
23418 case AArch64::SMAXXri:
23419 case AArch64::SMINWri:
23420 case AArch64::SMINXri:
23421 case AArch64::SUBSWri:
23422 case AArch64::SUBSXri:
23423 case AArch64::SUBWri:
23424 case AArch64::SUBXri:
23425 case AArch64::UMAXWri:
23426 case AArch64::UMAXXri:
23427 case AArch64::UMINWri:
23428 case AArch64::UMINXri: {
23429 switch (OpNum) {
23430 case 0:
23431 // op: Rd
23432 return 0;
23433 case 1:
23434 // op: Rn
23435 return 5;
23436 case 2:
23437 // op: imm
23438 return 10;
23439 }
23440 break;
23441 }
23442 case AArch64::FCVTZSd:
23443 case AArch64::FCVTZSh:
23444 case AArch64::FCVTZSs:
23445 case AArch64::FCVTZSv2i32_shift:
23446 case AArch64::FCVTZSv2i64_shift:
23447 case AArch64::FCVTZSv4i16_shift:
23448 case AArch64::FCVTZSv4i32_shift:
23449 case AArch64::FCVTZSv8i16_shift:
23450 case AArch64::FCVTZUd:
23451 case AArch64::FCVTZUh:
23452 case AArch64::FCVTZUs:
23453 case AArch64::FCVTZUv2i32_shift:
23454 case AArch64::FCVTZUv2i64_shift:
23455 case AArch64::FCVTZUv4i16_shift:
23456 case AArch64::FCVTZUv4i32_shift:
23457 case AArch64::FCVTZUv8i16_shift:
23458 case AArch64::RSHRNv2i32_shift:
23459 case AArch64::RSHRNv4i16_shift:
23460 case AArch64::RSHRNv8i8_shift:
23461 case AArch64::SCVTFd:
23462 case AArch64::SCVTFh:
23463 case AArch64::SCVTFs:
23464 case AArch64::SCVTFv2i32_shift:
23465 case AArch64::SCVTFv2i64_shift:
23466 case AArch64::SCVTFv4i16_shift:
23467 case AArch64::SCVTFv4i32_shift:
23468 case AArch64::SCVTFv8i16_shift:
23469 case AArch64::SHLd:
23470 case AArch64::SHLv16i8_shift:
23471 case AArch64::SHLv2i32_shift:
23472 case AArch64::SHLv2i64_shift:
23473 case AArch64::SHLv4i16_shift:
23474 case AArch64::SHLv4i32_shift:
23475 case AArch64::SHLv8i16_shift:
23476 case AArch64::SHLv8i8_shift:
23477 case AArch64::SHRNv2i32_shift:
23478 case AArch64::SHRNv4i16_shift:
23479 case AArch64::SHRNv8i8_shift:
23480 case AArch64::SQRSHRNb:
23481 case AArch64::SQRSHRNh:
23482 case AArch64::SQRSHRNs:
23483 case AArch64::SQRSHRNv2i32_shift:
23484 case AArch64::SQRSHRNv4i16_shift:
23485 case AArch64::SQRSHRNv8i8_shift:
23486 case AArch64::SQRSHRUNb:
23487 case AArch64::SQRSHRUNh:
23488 case AArch64::SQRSHRUNs:
23489 case AArch64::SQRSHRUNv2i32_shift:
23490 case AArch64::SQRSHRUNv4i16_shift:
23491 case AArch64::SQRSHRUNv8i8_shift:
23492 case AArch64::SQSHLUb:
23493 case AArch64::SQSHLUd:
23494 case AArch64::SQSHLUh:
23495 case AArch64::SQSHLUs:
23496 case AArch64::SQSHLUv16i8_shift:
23497 case AArch64::SQSHLUv2i32_shift:
23498 case AArch64::SQSHLUv2i64_shift:
23499 case AArch64::SQSHLUv4i16_shift:
23500 case AArch64::SQSHLUv4i32_shift:
23501 case AArch64::SQSHLUv8i16_shift:
23502 case AArch64::SQSHLUv8i8_shift:
23503 case AArch64::SQSHLb:
23504 case AArch64::SQSHLd:
23505 case AArch64::SQSHLh:
23506 case AArch64::SQSHLs:
23507 case AArch64::SQSHLv16i8_shift:
23508 case AArch64::SQSHLv2i32_shift:
23509 case AArch64::SQSHLv2i64_shift:
23510 case AArch64::SQSHLv4i16_shift:
23511 case AArch64::SQSHLv4i32_shift:
23512 case AArch64::SQSHLv8i16_shift:
23513 case AArch64::SQSHLv8i8_shift:
23514 case AArch64::SQSHRNb:
23515 case AArch64::SQSHRNh:
23516 case AArch64::SQSHRNs:
23517 case AArch64::SQSHRNv2i32_shift:
23518 case AArch64::SQSHRNv4i16_shift:
23519 case AArch64::SQSHRNv8i8_shift:
23520 case AArch64::SQSHRUNb:
23521 case AArch64::SQSHRUNh:
23522 case AArch64::SQSHRUNs:
23523 case AArch64::SQSHRUNv2i32_shift:
23524 case AArch64::SQSHRUNv4i16_shift:
23525 case AArch64::SQSHRUNv8i8_shift:
23526 case AArch64::SRSHRd:
23527 case AArch64::SRSHRv16i8_shift:
23528 case AArch64::SRSHRv2i32_shift:
23529 case AArch64::SRSHRv2i64_shift:
23530 case AArch64::SRSHRv4i16_shift:
23531 case AArch64::SRSHRv4i32_shift:
23532 case AArch64::SRSHRv8i16_shift:
23533 case AArch64::SRSHRv8i8_shift:
23534 case AArch64::SSHLLv16i8_shift:
23535 case AArch64::SSHLLv2i32_shift:
23536 case AArch64::SSHLLv4i16_shift:
23537 case AArch64::SSHLLv4i32_shift:
23538 case AArch64::SSHLLv8i16_shift:
23539 case AArch64::SSHLLv8i8_shift:
23540 case AArch64::SSHRd:
23541 case AArch64::SSHRv16i8_shift:
23542 case AArch64::SSHRv2i32_shift:
23543 case AArch64::SSHRv2i64_shift:
23544 case AArch64::SSHRv4i16_shift:
23545 case AArch64::SSHRv4i32_shift:
23546 case AArch64::SSHRv8i16_shift:
23547 case AArch64::SSHRv8i8_shift:
23548 case AArch64::UCVTFd:
23549 case AArch64::UCVTFh:
23550 case AArch64::UCVTFs:
23551 case AArch64::UCVTFv2i32_shift:
23552 case AArch64::UCVTFv2i64_shift:
23553 case AArch64::UCVTFv4i16_shift:
23554 case AArch64::UCVTFv4i32_shift:
23555 case AArch64::UCVTFv8i16_shift:
23556 case AArch64::UQRSHRNb:
23557 case AArch64::UQRSHRNh:
23558 case AArch64::UQRSHRNs:
23559 case AArch64::UQRSHRNv2i32_shift:
23560 case AArch64::UQRSHRNv4i16_shift:
23561 case AArch64::UQRSHRNv8i8_shift:
23562 case AArch64::UQSHLb:
23563 case AArch64::UQSHLd:
23564 case AArch64::UQSHLh:
23565 case AArch64::UQSHLs:
23566 case AArch64::UQSHLv16i8_shift:
23567 case AArch64::UQSHLv2i32_shift:
23568 case AArch64::UQSHLv2i64_shift:
23569 case AArch64::UQSHLv4i16_shift:
23570 case AArch64::UQSHLv4i32_shift:
23571 case AArch64::UQSHLv8i16_shift:
23572 case AArch64::UQSHLv8i8_shift:
23573 case AArch64::UQSHRNb:
23574 case AArch64::UQSHRNh:
23575 case AArch64::UQSHRNs:
23576 case AArch64::UQSHRNv2i32_shift:
23577 case AArch64::UQSHRNv4i16_shift:
23578 case AArch64::UQSHRNv8i8_shift:
23579 case AArch64::URSHRd:
23580 case AArch64::URSHRv16i8_shift:
23581 case AArch64::URSHRv2i32_shift:
23582 case AArch64::URSHRv2i64_shift:
23583 case AArch64::URSHRv4i16_shift:
23584 case AArch64::URSHRv4i32_shift:
23585 case AArch64::URSHRv8i16_shift:
23586 case AArch64::URSHRv8i8_shift:
23587 case AArch64::USHLLv16i8_shift:
23588 case AArch64::USHLLv2i32_shift:
23589 case AArch64::USHLLv4i16_shift:
23590 case AArch64::USHLLv4i32_shift:
23591 case AArch64::USHLLv8i16_shift:
23592 case AArch64::USHLLv8i8_shift:
23593 case AArch64::USHRd:
23594 case AArch64::USHRv16i8_shift:
23595 case AArch64::USHRv2i32_shift:
23596 case AArch64::USHRv2i64_shift:
23597 case AArch64::USHRv4i16_shift:
23598 case AArch64::USHRv4i32_shift:
23599 case AArch64::USHRv8i16_shift:
23600 case AArch64::USHRv8i8_shift: {
23601 switch (OpNum) {
23602 case 0:
23603 // op: Rd
23604 return 0;
23605 case 1:
23606 // op: Rn
23607 return 5;
23608 case 2:
23609 // op: imm
23610 return 16;
23611 }
23612 break;
23613 }
23614 case AArch64::ADDG:
23615 case AArch64::SUBG: {
23616 switch (OpNum) {
23617 case 0:
23618 // op: Rd
23619 return 0;
23620 case 1:
23621 // op: Rn
23622 return 5;
23623 case 2:
23624 // op: imm6
23625 return 16;
23626 case 3:
23627 // op: imm4
23628 return 10;
23629 }
23630 break;
23631 }
23632 case AArch64::SBFMWri:
23633 case AArch64::SBFMXri:
23634 case AArch64::UBFMWri:
23635 case AArch64::UBFMXri: {
23636 switch (OpNum) {
23637 case 0:
23638 // op: Rd
23639 return 0;
23640 case 1:
23641 // op: Rn
23642 return 5;
23643 case 2:
23644 // op: immr
23645 return 16;
23646 case 3:
23647 // op: imms
23648 return 10;
23649 }
23650 break;
23651 }
23652 case AArch64::FCVTZSSWDri:
23653 case AArch64::FCVTZSSWHri:
23654 case AArch64::FCVTZSSWSri:
23655 case AArch64::FCVTZSSXDri:
23656 case AArch64::FCVTZSSXHri:
23657 case AArch64::FCVTZSSXSri:
23658 case AArch64::FCVTZUSWDri:
23659 case AArch64::FCVTZUSWHri:
23660 case AArch64::FCVTZUSWSri:
23661 case AArch64::FCVTZUSXDri:
23662 case AArch64::FCVTZUSXHri:
23663 case AArch64::FCVTZUSXSri:
23664 case AArch64::SCVTFSWDri:
23665 case AArch64::SCVTFSWHri:
23666 case AArch64::SCVTFSWSri:
23667 case AArch64::SCVTFSXDri:
23668 case AArch64::SCVTFSXHri:
23669 case AArch64::SCVTFSXSri:
23670 case AArch64::UCVTFSWDri:
23671 case AArch64::UCVTFSWHri:
23672 case AArch64::UCVTFSWSri:
23673 case AArch64::UCVTFSXDri:
23674 case AArch64::UCVTFSXHri:
23675 case AArch64::UCVTFSXSri: {
23676 switch (OpNum) {
23677 case 0:
23678 // op: Rd
23679 return 0;
23680 case 1:
23681 // op: Rn
23682 return 5;
23683 case 2:
23684 // op: scale
23685 return 10;
23686 }
23687 break;
23688 }
23689 case AArch64::ABSWr:
23690 case AArch64::ABSXr:
23691 case AArch64::ABSv16i8:
23692 case AArch64::ABSv1i64:
23693 case AArch64::ABSv2i32:
23694 case AArch64::ABSv2i64:
23695 case AArch64::ABSv4i16:
23696 case AArch64::ABSv4i32:
23697 case AArch64::ABSv8i16:
23698 case AArch64::ABSv8i8:
23699 case AArch64::ADDPv2i64p:
23700 case AArch64::ADDVv16i8v:
23701 case AArch64::ADDVv4i16v:
23702 case AArch64::ADDVv4i32v:
23703 case AArch64::ADDVv8i16v:
23704 case AArch64::ADDVv8i8v:
23705 case AArch64::AESIMCrr:
23706 case AArch64::AESMCrr:
23707 case AArch64::BF1CVTL:
23708 case AArch64::BF1CVTL2:
23709 case AArch64::BF2CVTL:
23710 case AArch64::BF2CVTL2:
23711 case AArch64::BFCVT:
23712 case AArch64::BFCVTN:
23713 case AArch64::CLSWr:
23714 case AArch64::CLSXr:
23715 case AArch64::CLSv16i8:
23716 case AArch64::CLSv2i32:
23717 case AArch64::CLSv4i16:
23718 case AArch64::CLSv4i32:
23719 case AArch64::CLSv8i16:
23720 case AArch64::CLSv8i8:
23721 case AArch64::CLZWr:
23722 case AArch64::CLZXr:
23723 case AArch64::CLZv16i8:
23724 case AArch64::CLZv2i32:
23725 case AArch64::CLZv4i16:
23726 case AArch64::CLZv4i32:
23727 case AArch64::CLZv8i16:
23728 case AArch64::CLZv8i8:
23729 case AArch64::CMEQv16i8rz:
23730 case AArch64::CMEQv1i64rz:
23731 case AArch64::CMEQv2i32rz:
23732 case AArch64::CMEQv2i64rz:
23733 case AArch64::CMEQv4i16rz:
23734 case AArch64::CMEQv4i32rz:
23735 case AArch64::CMEQv8i16rz:
23736 case AArch64::CMEQv8i8rz:
23737 case AArch64::CMGEv16i8rz:
23738 case AArch64::CMGEv1i64rz:
23739 case AArch64::CMGEv2i32rz:
23740 case AArch64::CMGEv2i64rz:
23741 case AArch64::CMGEv4i16rz:
23742 case AArch64::CMGEv4i32rz:
23743 case AArch64::CMGEv8i16rz:
23744 case AArch64::CMGEv8i8rz:
23745 case AArch64::CMGTv16i8rz:
23746 case AArch64::CMGTv1i64rz:
23747 case AArch64::CMGTv2i32rz:
23748 case AArch64::CMGTv2i64rz:
23749 case AArch64::CMGTv4i16rz:
23750 case AArch64::CMGTv4i32rz:
23751 case AArch64::CMGTv8i16rz:
23752 case AArch64::CMGTv8i8rz:
23753 case AArch64::CMLEv16i8rz:
23754 case AArch64::CMLEv1i64rz:
23755 case AArch64::CMLEv2i32rz:
23756 case AArch64::CMLEv2i64rz:
23757 case AArch64::CMLEv4i16rz:
23758 case AArch64::CMLEv4i32rz:
23759 case AArch64::CMLEv8i16rz:
23760 case AArch64::CMLEv8i8rz:
23761 case AArch64::CMLTv16i8rz:
23762 case AArch64::CMLTv1i64rz:
23763 case AArch64::CMLTv2i32rz:
23764 case AArch64::CMLTv2i64rz:
23765 case AArch64::CMLTv4i16rz:
23766 case AArch64::CMLTv4i32rz:
23767 case AArch64::CMLTv8i16rz:
23768 case AArch64::CMLTv8i8rz:
23769 case AArch64::CNTWr:
23770 case AArch64::CNTXr:
23771 case AArch64::CNTv16i8:
23772 case AArch64::CNTv8i8:
23773 case AArch64::CTZWr:
23774 case AArch64::CTZXr:
23775 case AArch64::DUPv16i8gpr:
23776 case AArch64::DUPv2i32gpr:
23777 case AArch64::DUPv2i64gpr:
23778 case AArch64::DUPv4i16gpr:
23779 case AArch64::DUPv4i32gpr:
23780 case AArch64::DUPv8i16gpr:
23781 case AArch64::DUPv8i8gpr:
23782 case AArch64::F1CVTL:
23783 case AArch64::F1CVTL2:
23784 case AArch64::F2CVTL:
23785 case AArch64::F2CVTL2:
23786 case AArch64::FABSDr:
23787 case AArch64::FABSHr:
23788 case AArch64::FABSSr:
23789 case AArch64::FABSv2f32:
23790 case AArch64::FABSv2f64:
23791 case AArch64::FABSv4f16:
23792 case AArch64::FABSv4f32:
23793 case AArch64::FABSv8f16:
23794 case AArch64::FADDPv2i16p:
23795 case AArch64::FADDPv2i32p:
23796 case AArch64::FADDPv2i64p:
23797 case AArch64::FCMEQv1i16rz:
23798 case AArch64::FCMEQv1i32rz:
23799 case AArch64::FCMEQv1i64rz:
23800 case AArch64::FCMEQv2i32rz:
23801 case AArch64::FCMEQv2i64rz:
23802 case AArch64::FCMEQv4i16rz:
23803 case AArch64::FCMEQv4i32rz:
23804 case AArch64::FCMEQv8i16rz:
23805 case AArch64::FCMGEv1i16rz:
23806 case AArch64::FCMGEv1i32rz:
23807 case AArch64::FCMGEv1i64rz:
23808 case AArch64::FCMGEv2i32rz:
23809 case AArch64::FCMGEv2i64rz:
23810 case AArch64::FCMGEv4i16rz:
23811 case AArch64::FCMGEv4i32rz:
23812 case AArch64::FCMGEv8i16rz:
23813 case AArch64::FCMGTv1i16rz:
23814 case AArch64::FCMGTv1i32rz:
23815 case AArch64::FCMGTv1i64rz:
23816 case AArch64::FCMGTv2i32rz:
23817 case AArch64::FCMGTv2i64rz:
23818 case AArch64::FCMGTv4i16rz:
23819 case AArch64::FCMGTv4i32rz:
23820 case AArch64::FCMGTv8i16rz:
23821 case AArch64::FCMLEv1i16rz:
23822 case AArch64::FCMLEv1i32rz:
23823 case AArch64::FCMLEv1i64rz:
23824 case AArch64::FCMLEv2i32rz:
23825 case AArch64::FCMLEv2i64rz:
23826 case AArch64::FCMLEv4i16rz:
23827 case AArch64::FCMLEv4i32rz:
23828 case AArch64::FCMLEv8i16rz:
23829 case AArch64::FCMLTv1i16rz:
23830 case AArch64::FCMLTv1i32rz:
23831 case AArch64::FCMLTv1i64rz:
23832 case AArch64::FCMLTv2i32rz:
23833 case AArch64::FCMLTv2i64rz:
23834 case AArch64::FCMLTv4i16rz:
23835 case AArch64::FCMLTv4i32rz:
23836 case AArch64::FCMLTv8i16rz:
23837 case AArch64::FCVTASDHr:
23838 case AArch64::FCVTASDSr:
23839 case AArch64::FCVTASSDr:
23840 case AArch64::FCVTASSHr:
23841 case AArch64::FCVTASUWDr:
23842 case AArch64::FCVTASUWHr:
23843 case AArch64::FCVTASUWSr:
23844 case AArch64::FCVTASUXDr:
23845 case AArch64::FCVTASUXHr:
23846 case AArch64::FCVTASUXSr:
23847 case AArch64::FCVTASv1f16:
23848 case AArch64::FCVTASv1i32:
23849 case AArch64::FCVTASv1i64:
23850 case AArch64::FCVTASv2f32:
23851 case AArch64::FCVTASv2f64:
23852 case AArch64::FCVTASv4f16:
23853 case AArch64::FCVTASv4f32:
23854 case AArch64::FCVTASv8f16:
23855 case AArch64::FCVTAUDHr:
23856 case AArch64::FCVTAUDSr:
23857 case AArch64::FCVTAUSDr:
23858 case AArch64::FCVTAUSHr:
23859 case AArch64::FCVTAUUWDr:
23860 case AArch64::FCVTAUUWHr:
23861 case AArch64::FCVTAUUWSr:
23862 case AArch64::FCVTAUUXDr:
23863 case AArch64::FCVTAUUXHr:
23864 case AArch64::FCVTAUUXSr:
23865 case AArch64::FCVTAUv1f16:
23866 case AArch64::FCVTAUv1i32:
23867 case AArch64::FCVTAUv1i64:
23868 case AArch64::FCVTAUv2f32:
23869 case AArch64::FCVTAUv2f64:
23870 case AArch64::FCVTAUv4f16:
23871 case AArch64::FCVTAUv4f32:
23872 case AArch64::FCVTAUv8f16:
23873 case AArch64::FCVTDHr:
23874 case AArch64::FCVTDSr:
23875 case AArch64::FCVTHDr:
23876 case AArch64::FCVTHSr:
23877 case AArch64::FCVTLv2i32:
23878 case AArch64::FCVTLv4i16:
23879 case AArch64::FCVTLv4i32:
23880 case AArch64::FCVTLv8i16:
23881 case AArch64::FCVTMSDHr:
23882 case AArch64::FCVTMSDSr:
23883 case AArch64::FCVTMSSDr:
23884 case AArch64::FCVTMSSHr:
23885 case AArch64::FCVTMSUWDr:
23886 case AArch64::FCVTMSUWHr:
23887 case AArch64::FCVTMSUWSr:
23888 case AArch64::FCVTMSUXDr:
23889 case AArch64::FCVTMSUXHr:
23890 case AArch64::FCVTMSUXSr:
23891 case AArch64::FCVTMSv1f16:
23892 case AArch64::FCVTMSv1i32:
23893 case AArch64::FCVTMSv1i64:
23894 case AArch64::FCVTMSv2f32:
23895 case AArch64::FCVTMSv2f64:
23896 case AArch64::FCVTMSv4f16:
23897 case AArch64::FCVTMSv4f32:
23898 case AArch64::FCVTMSv8f16:
23899 case AArch64::FCVTMUDHr:
23900 case AArch64::FCVTMUDSr:
23901 case AArch64::FCVTMUSDr:
23902 case AArch64::FCVTMUSHr:
23903 case AArch64::FCVTMUUWDr:
23904 case AArch64::FCVTMUUWHr:
23905 case AArch64::FCVTMUUWSr:
23906 case AArch64::FCVTMUUXDr:
23907 case AArch64::FCVTMUUXHr:
23908 case AArch64::FCVTMUUXSr:
23909 case AArch64::FCVTMUv1f16:
23910 case AArch64::FCVTMUv1i32:
23911 case AArch64::FCVTMUv1i64:
23912 case AArch64::FCVTMUv2f32:
23913 case AArch64::FCVTMUv2f64:
23914 case AArch64::FCVTMUv4f16:
23915 case AArch64::FCVTMUv4f32:
23916 case AArch64::FCVTMUv8f16:
23917 case AArch64::FCVTNSDHr:
23918 case AArch64::FCVTNSDSr:
23919 case AArch64::FCVTNSSDr:
23920 case AArch64::FCVTNSSHr:
23921 case AArch64::FCVTNSUWDr:
23922 case AArch64::FCVTNSUWHr:
23923 case AArch64::FCVTNSUWSr:
23924 case AArch64::FCVTNSUXDr:
23925 case AArch64::FCVTNSUXHr:
23926 case AArch64::FCVTNSUXSr:
23927 case AArch64::FCVTNSv1f16:
23928 case AArch64::FCVTNSv1i32:
23929 case AArch64::FCVTNSv1i64:
23930 case AArch64::FCVTNSv2f32:
23931 case AArch64::FCVTNSv2f64:
23932 case AArch64::FCVTNSv4f16:
23933 case AArch64::FCVTNSv4f32:
23934 case AArch64::FCVTNSv8f16:
23935 case AArch64::FCVTNUDHr:
23936 case AArch64::FCVTNUDSr:
23937 case AArch64::FCVTNUSDr:
23938 case AArch64::FCVTNUSHr:
23939 case AArch64::FCVTNUUWDr:
23940 case AArch64::FCVTNUUWHr:
23941 case AArch64::FCVTNUUWSr:
23942 case AArch64::FCVTNUUXDr:
23943 case AArch64::FCVTNUUXHr:
23944 case AArch64::FCVTNUUXSr:
23945 case AArch64::FCVTNUv1f16:
23946 case AArch64::FCVTNUv1i32:
23947 case AArch64::FCVTNUv1i64:
23948 case AArch64::FCVTNUv2f32:
23949 case AArch64::FCVTNUv2f64:
23950 case AArch64::FCVTNUv4f16:
23951 case AArch64::FCVTNUv4f32:
23952 case AArch64::FCVTNUv8f16:
23953 case AArch64::FCVTNv2i32:
23954 case AArch64::FCVTNv4i16:
23955 case AArch64::FCVTPSDHr:
23956 case AArch64::FCVTPSDSr:
23957 case AArch64::FCVTPSSDr:
23958 case AArch64::FCVTPSSHr:
23959 case AArch64::FCVTPSUWDr:
23960 case AArch64::FCVTPSUWHr:
23961 case AArch64::FCVTPSUWSr:
23962 case AArch64::FCVTPSUXDr:
23963 case AArch64::FCVTPSUXHr:
23964 case AArch64::FCVTPSUXSr:
23965 case AArch64::FCVTPSv1f16:
23966 case AArch64::FCVTPSv1i32:
23967 case AArch64::FCVTPSv1i64:
23968 case AArch64::FCVTPSv2f32:
23969 case AArch64::FCVTPSv2f64:
23970 case AArch64::FCVTPSv4f16:
23971 case AArch64::FCVTPSv4f32:
23972 case AArch64::FCVTPSv8f16:
23973 case AArch64::FCVTPUDHr:
23974 case AArch64::FCVTPUDSr:
23975 case AArch64::FCVTPUSDr:
23976 case AArch64::FCVTPUSHr:
23977 case AArch64::FCVTPUUWDr:
23978 case AArch64::FCVTPUUWHr:
23979 case AArch64::FCVTPUUWSr:
23980 case AArch64::FCVTPUUXDr:
23981 case AArch64::FCVTPUUXHr:
23982 case AArch64::FCVTPUUXSr:
23983 case AArch64::FCVTPUv1f16:
23984 case AArch64::FCVTPUv1i32:
23985 case AArch64::FCVTPUv1i64:
23986 case AArch64::FCVTPUv2f32:
23987 case AArch64::FCVTPUv2f64:
23988 case AArch64::FCVTPUv4f16:
23989 case AArch64::FCVTPUv4f32:
23990 case AArch64::FCVTPUv8f16:
23991 case AArch64::FCVTSDr:
23992 case AArch64::FCVTSHr:
23993 case AArch64::FCVTXNv1i64:
23994 case AArch64::FCVTXNv2f32:
23995 case AArch64::FCVTZSDHr:
23996 case AArch64::FCVTZSDSr:
23997 case AArch64::FCVTZSSDr:
23998 case AArch64::FCVTZSSHr:
23999 case AArch64::FCVTZSUWDr:
24000 case AArch64::FCVTZSUWHr:
24001 case AArch64::FCVTZSUWSr:
24002 case AArch64::FCVTZSUXDr:
24003 case AArch64::FCVTZSUXHr:
24004 case AArch64::FCVTZSUXSr:
24005 case AArch64::FCVTZSv1f16:
24006 case AArch64::FCVTZSv1i32:
24007 case AArch64::FCVTZSv1i64:
24008 case AArch64::FCVTZSv2f32:
24009 case AArch64::FCVTZSv2f64:
24010 case AArch64::FCVTZSv4f16:
24011 case AArch64::FCVTZSv4f32:
24012 case AArch64::FCVTZSv8f16:
24013 case AArch64::FCVTZUDHr:
24014 case AArch64::FCVTZUDSr:
24015 case AArch64::FCVTZUSDr:
24016 case AArch64::FCVTZUSHr:
24017 case AArch64::FCVTZUUWDr:
24018 case AArch64::FCVTZUUWHr:
24019 case AArch64::FCVTZUUWSr:
24020 case AArch64::FCVTZUUXDr:
24021 case AArch64::FCVTZUUXHr:
24022 case AArch64::FCVTZUUXSr:
24023 case AArch64::FCVTZUv1f16:
24024 case AArch64::FCVTZUv1i32:
24025 case AArch64::FCVTZUv1i64:
24026 case AArch64::FCVTZUv2f32:
24027 case AArch64::FCVTZUv2f64:
24028 case AArch64::FCVTZUv4f16:
24029 case AArch64::FCVTZUv4f32:
24030 case AArch64::FCVTZUv8f16:
24031 case AArch64::FJCVTZS:
24032 case AArch64::FMAXNMPv2i16p:
24033 case AArch64::FMAXNMPv2i32p:
24034 case AArch64::FMAXNMPv2i64p:
24035 case AArch64::FMAXNMVv4i16v:
24036 case AArch64::FMAXNMVv4i32v:
24037 case AArch64::FMAXNMVv8i16v:
24038 case AArch64::FMAXPv2i16p:
24039 case AArch64::FMAXPv2i32p:
24040 case AArch64::FMAXPv2i64p:
24041 case AArch64::FMAXVv4i16v:
24042 case AArch64::FMAXVv4i32v:
24043 case AArch64::FMAXVv8i16v:
24044 case AArch64::FMINNMPv2i16p:
24045 case AArch64::FMINNMPv2i32p:
24046 case AArch64::FMINNMPv2i64p:
24047 case AArch64::FMINNMVv4i16v:
24048 case AArch64::FMINNMVv4i32v:
24049 case AArch64::FMINNMVv8i16v:
24050 case AArch64::FMINPv2i16p:
24051 case AArch64::FMINPv2i32p:
24052 case AArch64::FMINPv2i64p:
24053 case AArch64::FMINVv4i16v:
24054 case AArch64::FMINVv4i32v:
24055 case AArch64::FMINVv8i16v:
24056 case AArch64::FMOVDXHighr:
24057 case AArch64::FMOVDXr:
24058 case AArch64::FMOVDr:
24059 case AArch64::FMOVHWr:
24060 case AArch64::FMOVHXr:
24061 case AArch64::FMOVHr:
24062 case AArch64::FMOVSWr:
24063 case AArch64::FMOVSr:
24064 case AArch64::FMOVWHr:
24065 case AArch64::FMOVWSr:
24066 case AArch64::FMOVXDHighr:
24067 case AArch64::FMOVXDr:
24068 case AArch64::FMOVXHr:
24069 case AArch64::FNEGDr:
24070 case AArch64::FNEGHr:
24071 case AArch64::FNEGSr:
24072 case AArch64::FNEGv2f32:
24073 case AArch64::FNEGv2f64:
24074 case AArch64::FNEGv4f16:
24075 case AArch64::FNEGv4f32:
24076 case AArch64::FNEGv8f16:
24077 case AArch64::FRECPEv1f16:
24078 case AArch64::FRECPEv1i32:
24079 case AArch64::FRECPEv1i64:
24080 case AArch64::FRECPEv2f32:
24081 case AArch64::FRECPEv2f64:
24082 case AArch64::FRECPEv4f16:
24083 case AArch64::FRECPEv4f32:
24084 case AArch64::FRECPEv8f16:
24085 case AArch64::FRECPXv1f16:
24086 case AArch64::FRECPXv1i32:
24087 case AArch64::FRECPXv1i64:
24088 case AArch64::FRINT32XDr:
24089 case AArch64::FRINT32XSr:
24090 case AArch64::FRINT32Xv2f32:
24091 case AArch64::FRINT32Xv2f64:
24092 case AArch64::FRINT32Xv4f32:
24093 case AArch64::FRINT32ZDr:
24094 case AArch64::FRINT32ZSr:
24095 case AArch64::FRINT32Zv2f32:
24096 case AArch64::FRINT32Zv2f64:
24097 case AArch64::FRINT32Zv4f32:
24098 case AArch64::FRINT64XDr:
24099 case AArch64::FRINT64XSr:
24100 case AArch64::FRINT64Xv2f32:
24101 case AArch64::FRINT64Xv2f64:
24102 case AArch64::FRINT64Xv4f32:
24103 case AArch64::FRINT64ZDr:
24104 case AArch64::FRINT64ZSr:
24105 case AArch64::FRINT64Zv2f32:
24106 case AArch64::FRINT64Zv2f64:
24107 case AArch64::FRINT64Zv4f32:
24108 case AArch64::FRINTADr:
24109 case AArch64::FRINTAHr:
24110 case AArch64::FRINTASr:
24111 case AArch64::FRINTAv2f32:
24112 case AArch64::FRINTAv2f64:
24113 case AArch64::FRINTAv4f16:
24114 case AArch64::FRINTAv4f32:
24115 case AArch64::FRINTAv8f16:
24116 case AArch64::FRINTIDr:
24117 case AArch64::FRINTIHr:
24118 case AArch64::FRINTISr:
24119 case AArch64::FRINTIv2f32:
24120 case AArch64::FRINTIv2f64:
24121 case AArch64::FRINTIv4f16:
24122 case AArch64::FRINTIv4f32:
24123 case AArch64::FRINTIv8f16:
24124 case AArch64::FRINTMDr:
24125 case AArch64::FRINTMHr:
24126 case AArch64::FRINTMSr:
24127 case AArch64::FRINTMv2f32:
24128 case AArch64::FRINTMv2f64:
24129 case AArch64::FRINTMv4f16:
24130 case AArch64::FRINTMv4f32:
24131 case AArch64::FRINTMv8f16:
24132 case AArch64::FRINTNDr:
24133 case AArch64::FRINTNHr:
24134 case AArch64::FRINTNSr:
24135 case AArch64::FRINTNv2f32:
24136 case AArch64::FRINTNv2f64:
24137 case AArch64::FRINTNv4f16:
24138 case AArch64::FRINTNv4f32:
24139 case AArch64::FRINTNv8f16:
24140 case AArch64::FRINTPDr:
24141 case AArch64::FRINTPHr:
24142 case AArch64::FRINTPSr:
24143 case AArch64::FRINTPv2f32:
24144 case AArch64::FRINTPv2f64:
24145 case AArch64::FRINTPv4f16:
24146 case AArch64::FRINTPv4f32:
24147 case AArch64::FRINTPv8f16:
24148 case AArch64::FRINTXDr:
24149 case AArch64::FRINTXHr:
24150 case AArch64::FRINTXSr:
24151 case AArch64::FRINTXv2f32:
24152 case AArch64::FRINTXv2f64:
24153 case AArch64::FRINTXv4f16:
24154 case AArch64::FRINTXv4f32:
24155 case AArch64::FRINTXv8f16:
24156 case AArch64::FRINTZDr:
24157 case AArch64::FRINTZHr:
24158 case AArch64::FRINTZSr:
24159 case AArch64::FRINTZv2f32:
24160 case AArch64::FRINTZv2f64:
24161 case AArch64::FRINTZv4f16:
24162 case AArch64::FRINTZv4f32:
24163 case AArch64::FRINTZv8f16:
24164 case AArch64::FRSQRTEv1f16:
24165 case AArch64::FRSQRTEv1i32:
24166 case AArch64::FRSQRTEv1i64:
24167 case AArch64::FRSQRTEv2f32:
24168 case AArch64::FRSQRTEv2f64:
24169 case AArch64::FRSQRTEv4f16:
24170 case AArch64::FRSQRTEv4f32:
24171 case AArch64::FRSQRTEv8f16:
24172 case AArch64::FSQRTDr:
24173 case AArch64::FSQRTHr:
24174 case AArch64::FSQRTSr:
24175 case AArch64::FSQRTv2f32:
24176 case AArch64::FSQRTv2f64:
24177 case AArch64::FSQRTv4f16:
24178 case AArch64::FSQRTv4f32:
24179 case AArch64::FSQRTv8f16:
24180 case AArch64::NEGv16i8:
24181 case AArch64::NEGv1i64:
24182 case AArch64::NEGv2i32:
24183 case AArch64::NEGv2i64:
24184 case AArch64::NEGv4i16:
24185 case AArch64::NEGv4i32:
24186 case AArch64::NEGv8i16:
24187 case AArch64::NEGv8i8:
24188 case AArch64::NOTv16i8:
24189 case AArch64::NOTv8i8:
24190 case AArch64::RBITWr:
24191 case AArch64::RBITXr:
24192 case AArch64::RBITv16i8:
24193 case AArch64::RBITv8i8:
24194 case AArch64::REV16Wr:
24195 case AArch64::REV16Xr:
24196 case AArch64::REV16v16i8:
24197 case AArch64::REV16v8i8:
24198 case AArch64::REV32Xr:
24199 case AArch64::REV32v16i8:
24200 case AArch64::REV32v4i16:
24201 case AArch64::REV32v8i16:
24202 case AArch64::REV32v8i8:
24203 case AArch64::REV64v16i8:
24204 case AArch64::REV64v2i32:
24205 case AArch64::REV64v4i16:
24206 case AArch64::REV64v4i32:
24207 case AArch64::REV64v8i16:
24208 case AArch64::REV64v8i8:
24209 case AArch64::REVWr:
24210 case AArch64::REVXr:
24211 case AArch64::SADDLPv16i8_v8i16:
24212 case AArch64::SADDLPv2i32_v1i64:
24213 case AArch64::SADDLPv4i16_v2i32:
24214 case AArch64::SADDLPv4i32_v2i64:
24215 case AArch64::SADDLPv8i16_v4i32:
24216 case AArch64::SADDLPv8i8_v4i16:
24217 case AArch64::SADDLVv16i8v:
24218 case AArch64::SADDLVv4i16v:
24219 case AArch64::SADDLVv4i32v:
24220 case AArch64::SADDLVv8i16v:
24221 case AArch64::SADDLVv8i8v:
24222 case AArch64::SCVTFDSr:
24223 case AArch64::SCVTFHDr:
24224 case AArch64::SCVTFHSr:
24225 case AArch64::SCVTFSDr:
24226 case AArch64::SCVTFUWDri:
24227 case AArch64::SCVTFUWHri:
24228 case AArch64::SCVTFUWSri:
24229 case AArch64::SCVTFUXDri:
24230 case AArch64::SCVTFUXHri:
24231 case AArch64::SCVTFUXSri:
24232 case AArch64::SCVTFv1i16:
24233 case AArch64::SCVTFv1i32:
24234 case AArch64::SCVTFv1i64:
24235 case AArch64::SCVTFv2f32:
24236 case AArch64::SCVTFv2f64:
24237 case AArch64::SCVTFv4f16:
24238 case AArch64::SCVTFv4f32:
24239 case AArch64::SCVTFv8f16:
24240 case AArch64::SHA1Hrr:
24241 case AArch64::SHLLv16i8:
24242 case AArch64::SHLLv2i32:
24243 case AArch64::SHLLv4i16:
24244 case AArch64::SHLLv4i32:
24245 case AArch64::SHLLv8i16:
24246 case AArch64::SHLLv8i8:
24247 case AArch64::SMAXVv16i8v:
24248 case AArch64::SMAXVv4i16v:
24249 case AArch64::SMAXVv4i32v:
24250 case AArch64::SMAXVv8i16v:
24251 case AArch64::SMAXVv8i8v:
24252 case AArch64::SMINVv16i8v:
24253 case AArch64::SMINVv4i16v:
24254 case AArch64::SMINVv4i32v:
24255 case AArch64::SMINVv8i16v:
24256 case AArch64::SMINVv8i8v:
24257 case AArch64::SMOVvi16to32_idx0:
24258 case AArch64::SMOVvi16to64_idx0:
24259 case AArch64::SMOVvi32to64_idx0:
24260 case AArch64::SMOVvi8to32_idx0:
24261 case AArch64::SMOVvi8to64_idx0:
24262 case AArch64::SQABSv16i8:
24263 case AArch64::SQABSv1i16:
24264 case AArch64::SQABSv1i32:
24265 case AArch64::SQABSv1i64:
24266 case AArch64::SQABSv1i8:
24267 case AArch64::SQABSv2i32:
24268 case AArch64::SQABSv2i64:
24269 case AArch64::SQABSv4i16:
24270 case AArch64::SQABSv4i32:
24271 case AArch64::SQABSv8i16:
24272 case AArch64::SQABSv8i8:
24273 case AArch64::SQNEGv16i8:
24274 case AArch64::SQNEGv1i16:
24275 case AArch64::SQNEGv1i32:
24276 case AArch64::SQNEGv1i64:
24277 case AArch64::SQNEGv1i8:
24278 case AArch64::SQNEGv2i32:
24279 case AArch64::SQNEGv2i64:
24280 case AArch64::SQNEGv4i16:
24281 case AArch64::SQNEGv4i32:
24282 case AArch64::SQNEGv8i16:
24283 case AArch64::SQNEGv8i8:
24284 case AArch64::SQXTNv1i16:
24285 case AArch64::SQXTNv1i32:
24286 case AArch64::SQXTNv1i8:
24287 case AArch64::SQXTNv2i32:
24288 case AArch64::SQXTNv4i16:
24289 case AArch64::SQXTNv8i8:
24290 case AArch64::SQXTUNv1i16:
24291 case AArch64::SQXTUNv1i32:
24292 case AArch64::SQXTUNv1i8:
24293 case AArch64::SQXTUNv2i32:
24294 case AArch64::SQXTUNv4i16:
24295 case AArch64::SQXTUNv8i8:
24296 case AArch64::UADDLPv16i8_v8i16:
24297 case AArch64::UADDLPv2i32_v1i64:
24298 case AArch64::UADDLPv4i16_v2i32:
24299 case AArch64::UADDLPv4i32_v2i64:
24300 case AArch64::UADDLPv8i16_v4i32:
24301 case AArch64::UADDLPv8i8_v4i16:
24302 case AArch64::UADDLVv16i8v:
24303 case AArch64::UADDLVv4i16v:
24304 case AArch64::UADDLVv4i32v:
24305 case AArch64::UADDLVv8i16v:
24306 case AArch64::UADDLVv8i8v:
24307 case AArch64::UCVTFDSr:
24308 case AArch64::UCVTFHDr:
24309 case AArch64::UCVTFHSr:
24310 case AArch64::UCVTFSDr:
24311 case AArch64::UCVTFUWDri:
24312 case AArch64::UCVTFUWHri:
24313 case AArch64::UCVTFUWSri:
24314 case AArch64::UCVTFUXDri:
24315 case AArch64::UCVTFUXHri:
24316 case AArch64::UCVTFUXSri:
24317 case AArch64::UCVTFv1i16:
24318 case AArch64::UCVTFv1i32:
24319 case AArch64::UCVTFv1i64:
24320 case AArch64::UCVTFv2f32:
24321 case AArch64::UCVTFv2f64:
24322 case AArch64::UCVTFv4f16:
24323 case AArch64::UCVTFv4f32:
24324 case AArch64::UCVTFv8f16:
24325 case AArch64::UMAXVv16i8v:
24326 case AArch64::UMAXVv4i16v:
24327 case AArch64::UMAXVv4i32v:
24328 case AArch64::UMAXVv8i16v:
24329 case AArch64::UMAXVv8i8v:
24330 case AArch64::UMINVv16i8v:
24331 case AArch64::UMINVv4i16v:
24332 case AArch64::UMINVv4i32v:
24333 case AArch64::UMINVv8i16v:
24334 case AArch64::UMINVv8i8v:
24335 case AArch64::UMOVvi16_idx0:
24336 case AArch64::UMOVvi32_idx0:
24337 case AArch64::UMOVvi64_idx0:
24338 case AArch64::UMOVvi8_idx0:
24339 case AArch64::UQXTNv1i16:
24340 case AArch64::UQXTNv1i32:
24341 case AArch64::UQXTNv1i8:
24342 case AArch64::UQXTNv2i32:
24343 case AArch64::UQXTNv4i16:
24344 case AArch64::UQXTNv8i8:
24345 case AArch64::URECPEv2i32:
24346 case AArch64::URECPEv4i32:
24347 case AArch64::URSQRTEv2i32:
24348 case AArch64::URSQRTEv4i32:
24349 case AArch64::XTNv2i32:
24350 case AArch64::XTNv4i16:
24351 case AArch64::XTNv8i8: {
24352 switch (OpNum) {
24353 case 0:
24354 // op: Rd
24355 return 0;
24356 case 1:
24357 // op: Rn
24358 return 5;
24359 }
24360 break;
24361 }
24362 case AArch64::FMOVDi:
24363 case AArch64::FMOVHi:
24364 case AArch64::FMOVSi: {
24365 switch (OpNum) {
24366 case 0:
24367 // op: Rd
24368 return 0;
24369 case 1:
24370 // op: imm
24371 return 13;
24372 }
24373 break;
24374 }
24375 case AArch64::MOVNWi:
24376 case AArch64::MOVNXi:
24377 case AArch64::MOVZWi:
24378 case AArch64::MOVZXi: {
24379 switch (OpNum) {
24380 case 0:
24381 // op: Rd
24382 return 0;
24383 case 1:
24384 // op: imm
24385 return 5;
24386 case 2:
24387 // op: shift
24388 return 21;
24389 }
24390 break;
24391 }
24392 case AArch64::RDSVLI_XI:
24393 case AArch64::RDVLI_XI: {
24394 switch (OpNum) {
24395 case 0:
24396 // op: Rd
24397 return 0;
24398 case 1:
24399 // op: imm6
24400 return 5;
24401 }
24402 break;
24403 }
24404 case AArch64::MOVIv2s_msl:
24405 case AArch64::MOVIv4s_msl:
24406 case AArch64::MVNIv2s_msl:
24407 case AArch64::MVNIv4s_msl: {
24408 switch (OpNum) {
24409 case 0:
24410 // op: Rd
24411 return 0;
24412 case 1:
24413 // op: imm8
24414 return 5;
24415 case 2:
24416 // op: shift
24417 return 12;
24418 }
24419 break;
24420 }
24421 case AArch64::MOVIv2i32:
24422 case AArch64::MOVIv4i16:
24423 case AArch64::MOVIv4i32:
24424 case AArch64::MOVIv8i16:
24425 case AArch64::MVNIv2i32:
24426 case AArch64::MVNIv4i16:
24427 case AArch64::MVNIv4i32:
24428 case AArch64::MVNIv8i16: {
24429 switch (OpNum) {
24430 case 0:
24431 // op: Rd
24432 return 0;
24433 case 1:
24434 // op: imm8
24435 return 5;
24436 case 2:
24437 // op: shift
24438 return 13;
24439 }
24440 break;
24441 }
24442 case AArch64::FMOVv2f32_ns:
24443 case AArch64::FMOVv2f64_ns:
24444 case AArch64::FMOVv4f16_ns:
24445 case AArch64::FMOVv4f32_ns:
24446 case AArch64::FMOVv8f16_ns:
24447 case AArch64::MOVID:
24448 case AArch64::MOVIv16b_ns:
24449 case AArch64::MOVIv2d_ns:
24450 case AArch64::MOVIv8b_ns: {
24451 switch (OpNum) {
24452 case 0:
24453 // op: Rd
24454 return 0;
24455 case 1:
24456 // op: imm8
24457 return 5;
24458 }
24459 break;
24460 }
24461 case AArch64::BFMWri:
24462 case AArch64::BFMXri: {
24463 switch (OpNum) {
24464 case 0:
24465 // op: Rd
24466 return 0;
24467 case 2:
24468 // op: Rn
24469 return 5;
24470 case 3:
24471 // op: immr
24472 return 16;
24473 case 4:
24474 // op: imms
24475 return 10;
24476 }
24477 break;
24478 }
24479 case AArch64::MOVKWi:
24480 case AArch64::MOVKXi: {
24481 switch (OpNum) {
24482 case 0:
24483 // op: Rd
24484 return 0;
24485 case 2:
24486 // op: imm
24487 return 5;
24488 case 3:
24489 // op: shift
24490 return 21;
24491 }
24492 break;
24493 }
24494 case AArch64::CNTB_XPiI:
24495 case AArch64::CNTD_XPiI:
24496 case AArch64::CNTH_XPiI:
24497 case AArch64::CNTW_XPiI: {
24498 switch (OpNum) {
24499 case 0:
24500 // op: Rd
24501 return 0;
24502 case 2:
24503 // op: imm4
24504 return 16;
24505 case 1:
24506 // op: pattern
24507 return 5;
24508 }
24509 break;
24510 }
24511 case AArch64::XPACD:
24512 case AArch64::XPACI: {
24513 switch (OpNum) {
24514 case 0:
24515 // op: Rd
24516 return 0;
24517 }
24518 break;
24519 }
24520 case AArch64::DECP_XP_B:
24521 case AArch64::DECP_XP_D:
24522 case AArch64::DECP_XP_H:
24523 case AArch64::DECP_XP_S:
24524 case AArch64::INCP_XP_B:
24525 case AArch64::INCP_XP_D:
24526 case AArch64::INCP_XP_H:
24527 case AArch64::INCP_XP_S:
24528 case AArch64::SQDECP_XPWd_B:
24529 case AArch64::SQDECP_XPWd_D:
24530 case AArch64::SQDECP_XPWd_H:
24531 case AArch64::SQDECP_XPWd_S:
24532 case AArch64::SQDECP_XP_B:
24533 case AArch64::SQDECP_XP_D:
24534 case AArch64::SQDECP_XP_H:
24535 case AArch64::SQDECP_XP_S:
24536 case AArch64::SQINCP_XPWd_B:
24537 case AArch64::SQINCP_XPWd_D:
24538 case AArch64::SQINCP_XPWd_H:
24539 case AArch64::SQINCP_XPWd_S:
24540 case AArch64::SQINCP_XP_B:
24541 case AArch64::SQINCP_XP_D:
24542 case AArch64::SQINCP_XP_H:
24543 case AArch64::SQINCP_XP_S:
24544 case AArch64::UQDECP_WP_B:
24545 case AArch64::UQDECP_WP_D:
24546 case AArch64::UQDECP_WP_H:
24547 case AArch64::UQDECP_WP_S:
24548 case AArch64::UQDECP_XP_B:
24549 case AArch64::UQDECP_XP_D:
24550 case AArch64::UQDECP_XP_H:
24551 case AArch64::UQDECP_XP_S:
24552 case AArch64::UQINCP_WP_B:
24553 case AArch64::UQINCP_WP_D:
24554 case AArch64::UQINCP_WP_H:
24555 case AArch64::UQINCP_WP_S:
24556 case AArch64::UQINCP_XP_B:
24557 case AArch64::UQINCP_XP_D:
24558 case AArch64::UQINCP_XP_H:
24559 case AArch64::UQINCP_XP_S: {
24560 switch (OpNum) {
24561 case 0:
24562 // op: Rdn
24563 return 0;
24564 case 1:
24565 // op: Pg
24566 return 5;
24567 }
24568 break;
24569 }
24570 case AArch64::DECB_XPiI:
24571 case AArch64::DECD_XPiI:
24572 case AArch64::DECH_XPiI:
24573 case AArch64::DECW_XPiI:
24574 case AArch64::INCB_XPiI:
24575 case AArch64::INCD_XPiI:
24576 case AArch64::INCH_XPiI:
24577 case AArch64::INCW_XPiI:
24578 case AArch64::SQDECB_XPiI:
24579 case AArch64::SQDECB_XPiWdI:
24580 case AArch64::SQDECD_XPiI:
24581 case AArch64::SQDECD_XPiWdI:
24582 case AArch64::SQDECH_XPiI:
24583 case AArch64::SQDECH_XPiWdI:
24584 case AArch64::SQDECW_XPiI:
24585 case AArch64::SQDECW_XPiWdI:
24586 case AArch64::SQINCB_XPiI:
24587 case AArch64::SQINCB_XPiWdI:
24588 case AArch64::SQINCD_XPiI:
24589 case AArch64::SQINCD_XPiWdI:
24590 case AArch64::SQINCH_XPiI:
24591 case AArch64::SQINCH_XPiWdI:
24592 case AArch64::SQINCW_XPiI:
24593 case AArch64::SQINCW_XPiWdI:
24594 case AArch64::UQDECB_WPiI:
24595 case AArch64::UQDECB_XPiI:
24596 case AArch64::UQDECD_WPiI:
24597 case AArch64::UQDECD_XPiI:
24598 case AArch64::UQDECH_WPiI:
24599 case AArch64::UQDECH_XPiI:
24600 case AArch64::UQDECW_WPiI:
24601 case AArch64::UQDECW_XPiI:
24602 case AArch64::UQINCB_WPiI:
24603 case AArch64::UQINCB_XPiI:
24604 case AArch64::UQINCD_WPiI:
24605 case AArch64::UQINCD_XPiI:
24606 case AArch64::UQINCH_WPiI:
24607 case AArch64::UQINCH_XPiI:
24608 case AArch64::UQINCW_WPiI:
24609 case AArch64::UQINCW_XPiI: {
24610 switch (OpNum) {
24611 case 0:
24612 // op: Rdn
24613 return 0;
24614 case 2:
24615 // op: pattern
24616 return 5;
24617 case 3:
24618 // op: imm4
24619 return 16;
24620 }
24621 break;
24622 }
24623 case AArch64::RETAASPPCr:
24624 case AArch64::RETABSPPCr: {
24625 switch (OpNum) {
24626 case 0:
24627 // op: Rm
24628 return 0;
24629 }
24630 break;
24631 }
24632 case AArch64::BLRAA:
24633 case AArch64::BLRAB:
24634 case AArch64::BRAA:
24635 case AArch64::BRAB: {
24636 switch (OpNum) {
24637 case 0:
24638 // op: Rn
24639 return 5;
24640 case 1:
24641 // op: Rm
24642 return 0;
24643 }
24644 break;
24645 }
24646 case AArch64::CCMNWr:
24647 case AArch64::CCMNXr:
24648 case AArch64::CCMPWr:
24649 case AArch64::CCMPXr:
24650 case AArch64::FCCMPDrr:
24651 case AArch64::FCCMPEDrr:
24652 case AArch64::FCCMPEHrr:
24653 case AArch64::FCCMPESrr:
24654 case AArch64::FCCMPHrr:
24655 case AArch64::FCCMPSrr: {
24656 switch (OpNum) {
24657 case 0:
24658 // op: Rn
24659 return 5;
24660 case 1:
24661 // op: Rm
24662 return 16;
24663 case 2:
24664 // op: nzcv
24665 return 0;
24666 case 3:
24667 // op: cond
24668 return 12;
24669 }
24670 break;
24671 }
24672 case AArch64::RMIF: {
24673 switch (OpNum) {
24674 case 0:
24675 // op: Rn
24676 return 5;
24677 case 1:
24678 // op: imm
24679 return 15;
24680 case 2:
24681 // op: mask
24682 return 0;
24683 }
24684 break;
24685 }
24686 case AArch64::CCMNWi:
24687 case AArch64::CCMNXi:
24688 case AArch64::CCMPWi:
24689 case AArch64::CCMPXi: {
24690 switch (OpNum) {
24691 case 0:
24692 // op: Rn
24693 return 5;
24694 case 1:
24695 // op: imm
24696 return 16;
24697 case 2:
24698 // op: nzcv
24699 return 0;
24700 case 3:
24701 // op: cond
24702 return 12;
24703 }
24704 break;
24705 }
24706 case AArch64::AUTIASPPCr:
24707 case AArch64::AUTIBSPPCr:
24708 case AArch64::BLR:
24709 case AArch64::BLRAAZ:
24710 case AArch64::BLRABZ:
24711 case AArch64::BR:
24712 case AArch64::BRAAZ:
24713 case AArch64::BRABZ:
24714 case AArch64::FCMPDri:
24715 case AArch64::FCMPEDri:
24716 case AArch64::FCMPEHri:
24717 case AArch64::FCMPESri:
24718 case AArch64::FCMPHri:
24719 case AArch64::FCMPSri:
24720 case AArch64::RET:
24721 case AArch64::SETF16:
24722 case AArch64::SETF8: {
24723 switch (OpNum) {
24724 case 0:
24725 // op: Rn
24726 return 5;
24727 }
24728 break;
24729 }
24730 case AArch64::STBFADD:
24731 case AArch64::STBFADDL:
24732 case AArch64::STBFMAX:
24733 case AArch64::STBFMAXL:
24734 case AArch64::STBFMAXNM:
24735 case AArch64::STBFMAXNML:
24736 case AArch64::STBFMIN:
24737 case AArch64::STBFMINL:
24738 case AArch64::STBFMINNM:
24739 case AArch64::STBFMINNML:
24740 case AArch64::STFADDD:
24741 case AArch64::STFADDH:
24742 case AArch64::STFADDLD:
24743 case AArch64::STFADDLH:
24744 case AArch64::STFADDLS:
24745 case AArch64::STFADDS:
24746 case AArch64::STFMAXD:
24747 case AArch64::STFMAXH:
24748 case AArch64::STFMAXLD:
24749 case AArch64::STFMAXLH:
24750 case AArch64::STFMAXLS:
24751 case AArch64::STFMAXNMD:
24752 case AArch64::STFMAXNMH:
24753 case AArch64::STFMAXNMLD:
24754 case AArch64::STFMAXNMLH:
24755 case AArch64::STFMAXNMLS:
24756 case AArch64::STFMAXNMS:
24757 case AArch64::STFMAXS:
24758 case AArch64::STFMIND:
24759 case AArch64::STFMINH:
24760 case AArch64::STFMINLD:
24761 case AArch64::STFMINLH:
24762 case AArch64::STFMINLS:
24763 case AArch64::STFMINNMD:
24764 case AArch64::STFMINNMH:
24765 case AArch64::STFMINNMLD:
24766 case AArch64::STFMINNMLH:
24767 case AArch64::STFMINNMLS:
24768 case AArch64::STFMINNMS:
24769 case AArch64::STFMINS: {
24770 switch (OpNum) {
24771 case 0:
24772 // op: Rs
24773 return 16;
24774 case 1:
24775 // op: Rn
24776 return 5;
24777 }
24778 break;
24779 }
24780 case AArch64::LDRBBroW:
24781 case AArch64::LDRBBroX:
24782 case AArch64::LDRBroW:
24783 case AArch64::LDRBroX:
24784 case AArch64::LDRDroW:
24785 case AArch64::LDRDroX:
24786 case AArch64::LDRHHroW:
24787 case AArch64::LDRHHroX:
24788 case AArch64::LDRHroW:
24789 case AArch64::LDRHroX:
24790 case AArch64::LDRQroW:
24791 case AArch64::LDRQroX:
24792 case AArch64::LDRSBWroW:
24793 case AArch64::LDRSBWroX:
24794 case AArch64::LDRSBXroW:
24795 case AArch64::LDRSBXroX:
24796 case AArch64::LDRSHWroW:
24797 case AArch64::LDRSHWroX:
24798 case AArch64::LDRSHXroW:
24799 case AArch64::LDRSHXroX:
24800 case AArch64::LDRSWroW:
24801 case AArch64::LDRSWroX:
24802 case AArch64::LDRSroW:
24803 case AArch64::LDRSroX:
24804 case AArch64::LDRWroW:
24805 case AArch64::LDRWroX:
24806 case AArch64::LDRXroW:
24807 case AArch64::LDRXroX:
24808 case AArch64::PRFMroW:
24809 case AArch64::PRFMroX:
24810 case AArch64::STRBBroW:
24811 case AArch64::STRBBroX:
24812 case AArch64::STRBroW:
24813 case AArch64::STRBroX:
24814 case AArch64::STRDroW:
24815 case AArch64::STRDroX:
24816 case AArch64::STRHHroW:
24817 case AArch64::STRHHroX:
24818 case AArch64::STRHroW:
24819 case AArch64::STRHroX:
24820 case AArch64::STRQroW:
24821 case AArch64::STRQroX:
24822 case AArch64::STRSroW:
24823 case AArch64::STRSroX:
24824 case AArch64::STRWroW:
24825 case AArch64::STRWroX:
24826 case AArch64::STRXroW:
24827 case AArch64::STRXroX: {
24828 switch (OpNum) {
24829 case 0:
24830 // op: Rt
24831 return 0;
24832 case 1:
24833 // op: Rn
24834 return 5;
24835 case 2:
24836 // op: Rm
24837 return 16;
24838 case 3:
24839 // op: extend
24840 return 12;
24841 }
24842 break;
24843 }
24844 case AArch64::LDRBBui:
24845 case AArch64::LDRBui:
24846 case AArch64::LDRDui:
24847 case AArch64::LDRHHui:
24848 case AArch64::LDRHui:
24849 case AArch64::LDRQui:
24850 case AArch64::LDRSBWui:
24851 case AArch64::LDRSBXui:
24852 case AArch64::LDRSHWui:
24853 case AArch64::LDRSHXui:
24854 case AArch64::LDRSWui:
24855 case AArch64::LDRSui:
24856 case AArch64::LDRWui:
24857 case AArch64::LDRXui:
24858 case AArch64::PRFMui:
24859 case AArch64::STRBBui:
24860 case AArch64::STRBui:
24861 case AArch64::STRDui:
24862 case AArch64::STRHHui:
24863 case AArch64::STRHui:
24864 case AArch64::STRQui:
24865 case AArch64::STRSui:
24866 case AArch64::STRWui:
24867 case AArch64::STRXui: {
24868 switch (OpNum) {
24869 case 0:
24870 // op: Rt
24871 return 0;
24872 case 1:
24873 // op: Rn
24874 return 5;
24875 case 2:
24876 // op: offset
24877 return 10;
24878 }
24879 break;
24880 }
24881 case AArch64::LDAPURBi:
24882 case AArch64::LDAPURHi:
24883 case AArch64::LDAPURSBWi:
24884 case AArch64::LDAPURSBXi:
24885 case AArch64::LDAPURSHWi:
24886 case AArch64::LDAPURSHXi:
24887 case AArch64::LDAPURSWi:
24888 case AArch64::LDAPURXi:
24889 case AArch64::LDAPURi:
24890 case AArch64::LDTRBi:
24891 case AArch64::LDTRHi:
24892 case AArch64::LDTRSBWi:
24893 case AArch64::LDTRSBXi:
24894 case AArch64::LDTRSHWi:
24895 case AArch64::LDTRSHXi:
24896 case AArch64::LDTRSWi:
24897 case AArch64::LDTRWi:
24898 case AArch64::LDTRXi:
24899 case AArch64::LDURBBi:
24900 case AArch64::LDURBi:
24901 case AArch64::LDURDi:
24902 case AArch64::LDURHHi:
24903 case AArch64::LDURHi:
24904 case AArch64::LDURQi:
24905 case AArch64::LDURSBWi:
24906 case AArch64::LDURSBXi:
24907 case AArch64::LDURSHWi:
24908 case AArch64::LDURSHXi:
24909 case AArch64::LDURSWi:
24910 case AArch64::LDURSi:
24911 case AArch64::LDURWi:
24912 case AArch64::LDURXi:
24913 case AArch64::PRFUMi:
24914 case AArch64::STLURBi:
24915 case AArch64::STLURHi:
24916 case AArch64::STLURWi:
24917 case AArch64::STLURXi:
24918 case AArch64::STTRBi:
24919 case AArch64::STTRHi:
24920 case AArch64::STTRWi:
24921 case AArch64::STTRXi:
24922 case AArch64::STURBBi:
24923 case AArch64::STURBi:
24924 case AArch64::STURDi:
24925 case AArch64::STURHHi:
24926 case AArch64::STURHi:
24927 case AArch64::STURQi:
24928 case AArch64::STURSi:
24929 case AArch64::STURWi:
24930 case AArch64::STURXi: {
24931 switch (OpNum) {
24932 case 0:
24933 // op: Rt
24934 return 0;
24935 case 1:
24936 // op: Rn
24937 return 5;
24938 case 2:
24939 // op: offset
24940 return 12;
24941 }
24942 break;
24943 }
24944 case AArch64::LDAPURbi:
24945 case AArch64::LDAPURdi:
24946 case AArch64::LDAPURhi:
24947 case AArch64::LDAPURqi:
24948 case AArch64::LDAPURsi:
24949 case AArch64::STLURbi:
24950 case AArch64::STLURdi:
24951 case AArch64::STLURhi:
24952 case AArch64::STLURqi:
24953 case AArch64::STLURsi: {
24954 switch (OpNum) {
24955 case 0:
24956 // op: Rt
24957 return 0;
24958 case 1:
24959 // op: Rn
24960 return 5;
24961 case 2:
24962 // op: simm
24963 return 12;
24964 }
24965 break;
24966 }
24967 case AArch64::GCSSTR:
24968 case AArch64::GCSSTTR:
24969 case AArch64::LD64B:
24970 case AArch64::LDA64B:
24971 case AArch64::LDARB:
24972 case AArch64::LDARH:
24973 case AArch64::LDARW:
24974 case AArch64::LDARX:
24975 case AArch64::LDATXRW:
24976 case AArch64::LDATXRX:
24977 case AArch64::LDAXRB:
24978 case AArch64::LDAXRH:
24979 case AArch64::LDAXRW:
24980 case AArch64::LDAXRX:
24981 case AArch64::LDLARB:
24982 case AArch64::LDLARH:
24983 case AArch64::LDLARW:
24984 case AArch64::LDLARX:
24985 case AArch64::LDTXRWr:
24986 case AArch64::LDTXRXr:
24987 case AArch64::LDXRB:
24988 case AArch64::LDXRH:
24989 case AArch64::LDXRW:
24990 case AArch64::LDXRX:
24991 case AArch64::ST64B:
24992 case AArch64::STL64B:
24993 case AArch64::STLLRB:
24994 case AArch64::STLLRH:
24995 case AArch64::STLLRW:
24996 case AArch64::STLLRX:
24997 case AArch64::STLRB:
24998 case AArch64::STLRH:
24999 case AArch64::STLRW:
25000 case AArch64::STLRX: {
25001 switch (OpNum) {
25002 case 0:
25003 // op: Rt
25004 return 0;
25005 case 1:
25006 // op: Rn
25007 return 5;
25008 }
25009 break;
25010 }
25011 case AArch64::LDBFADD:
25012 case AArch64::LDBFADDA:
25013 case AArch64::LDBFADDAL:
25014 case AArch64::LDBFADDL:
25015 case AArch64::LDBFMAX:
25016 case AArch64::LDBFMAXA:
25017 case AArch64::LDBFMAXAL:
25018 case AArch64::LDBFMAXL:
25019 case AArch64::LDBFMAXNM:
25020 case AArch64::LDBFMAXNMA:
25021 case AArch64::LDBFMAXNMAL:
25022 case AArch64::LDBFMAXNML:
25023 case AArch64::LDBFMIN:
25024 case AArch64::LDBFMINA:
25025 case AArch64::LDBFMINAL:
25026 case AArch64::LDBFMINL:
25027 case AArch64::LDBFMINNM:
25028 case AArch64::LDBFMINNMA:
25029 case AArch64::LDBFMINNMAL:
25030 case AArch64::LDBFMINNML:
25031 case AArch64::LDFADDAD:
25032 case AArch64::LDFADDAH:
25033 case AArch64::LDFADDALD:
25034 case AArch64::LDFADDALH:
25035 case AArch64::LDFADDALS:
25036 case AArch64::LDFADDAS:
25037 case AArch64::LDFADDD:
25038 case AArch64::LDFADDH:
25039 case AArch64::LDFADDLD:
25040 case AArch64::LDFADDLH:
25041 case AArch64::LDFADDLS:
25042 case AArch64::LDFADDS:
25043 case AArch64::LDFMAXAD:
25044 case AArch64::LDFMAXAH:
25045 case AArch64::LDFMAXALD:
25046 case AArch64::LDFMAXALH:
25047 case AArch64::LDFMAXALS:
25048 case AArch64::LDFMAXAS:
25049 case AArch64::LDFMAXD:
25050 case AArch64::LDFMAXH:
25051 case AArch64::LDFMAXLD:
25052 case AArch64::LDFMAXLH:
25053 case AArch64::LDFMAXLS:
25054 case AArch64::LDFMAXNMAD:
25055 case AArch64::LDFMAXNMAH:
25056 case AArch64::LDFMAXNMALD:
25057 case AArch64::LDFMAXNMALH:
25058 case AArch64::LDFMAXNMALS:
25059 case AArch64::LDFMAXNMAS:
25060 case AArch64::LDFMAXNMD:
25061 case AArch64::LDFMAXNMH:
25062 case AArch64::LDFMAXNMLD:
25063 case AArch64::LDFMAXNMLH:
25064 case AArch64::LDFMAXNMLS:
25065 case AArch64::LDFMAXNMS:
25066 case AArch64::LDFMAXS:
25067 case AArch64::LDFMINAD:
25068 case AArch64::LDFMINAH:
25069 case AArch64::LDFMINALD:
25070 case AArch64::LDFMINALH:
25071 case AArch64::LDFMINALS:
25072 case AArch64::LDFMINAS:
25073 case AArch64::LDFMIND:
25074 case AArch64::LDFMINH:
25075 case AArch64::LDFMINLD:
25076 case AArch64::LDFMINLH:
25077 case AArch64::LDFMINLS:
25078 case AArch64::LDFMINNMAD:
25079 case AArch64::LDFMINNMAH:
25080 case AArch64::LDFMINNMALD:
25081 case AArch64::LDFMINNMALH:
25082 case AArch64::LDFMINNMALS:
25083 case AArch64::LDFMINNMAS:
25084 case AArch64::LDFMINNMD:
25085 case AArch64::LDFMINNMH:
25086 case AArch64::LDFMINNMLD:
25087 case AArch64::LDFMINNMLH:
25088 case AArch64::LDFMINNMLS:
25089 case AArch64::LDFMINNMS:
25090 case AArch64::LDFMINS: {
25091 switch (OpNum) {
25092 case 0:
25093 // op: Rt
25094 return 0;
25095 case 1:
25096 // op: Rs
25097 return 16;
25098 case 2:
25099 // op: Rn
25100 return 5;
25101 }
25102 break;
25103 }
25104 case AArch64::LDNPDi:
25105 case AArch64::LDNPQi:
25106 case AArch64::LDNPSi:
25107 case AArch64::LDNPWi:
25108 case AArch64::LDNPXi:
25109 case AArch64::LDPDi:
25110 case AArch64::LDPQi:
25111 case AArch64::LDPSWi:
25112 case AArch64::LDPSi:
25113 case AArch64::LDPWi:
25114 case AArch64::LDPXi:
25115 case AArch64::LDTNPQi:
25116 case AArch64::LDTNPXi:
25117 case AArch64::LDTPQi:
25118 case AArch64::LDTPi:
25119 case AArch64::STGPi:
25120 case AArch64::STNPDi:
25121 case AArch64::STNPQi:
25122 case AArch64::STNPSi:
25123 case AArch64::STNPWi:
25124 case AArch64::STNPXi:
25125 case AArch64::STPDi:
25126 case AArch64::STPQi:
25127 case AArch64::STPSi:
25128 case AArch64::STPWi:
25129 case AArch64::STPXi:
25130 case AArch64::STTNPQi:
25131 case AArch64::STTNPXi:
25132 case AArch64::STTPQi:
25133 case AArch64::STTPi: {
25134 switch (OpNum) {
25135 case 0:
25136 // op: Rt
25137 return 0;
25138 case 1:
25139 // op: Rt2
25140 return 10;
25141 case 2:
25142 // op: Rn
25143 return 5;
25144 case 3:
25145 // op: offset
25146 return 15;
25147 }
25148 break;
25149 }
25150 case AArch64::LDAXPW:
25151 case AArch64::LDAXPX:
25152 case AArch64::LDXPW:
25153 case AArch64::LDXPX: {
25154 switch (OpNum) {
25155 case 0:
25156 // op: Rt
25157 return 0;
25158 case 1:
25159 // op: Rt2
25160 return 10;
25161 case 2:
25162 // op: Rn
25163 return 5;
25164 }
25165 break;
25166 }
25167 case AArch64::LDAPPi:
25168 case AArch64::LDAPi:
25169 case AArch64::STLPi: {
25170 switch (OpNum) {
25171 case 0:
25172 // op: Rt
25173 return 0;
25174 case 1:
25175 // op: Rt2
25176 return 16;
25177 case 2:
25178 // op: Rn
25179 return 5;
25180 }
25181 break;
25182 }
25183 case AArch64::TBNZW:
25184 case AArch64::TBNZX:
25185 case AArch64::TBZW:
25186 case AArch64::TBZX: {
25187 switch (OpNum) {
25188 case 0:
25189 // op: Rt
25190 return 0;
25191 case 1:
25192 // op: bit_off
25193 return 19;
25194 case 2:
25195 // op: target
25196 return 5;
25197 }
25198 break;
25199 }
25200 case AArch64::CBEQWri:
25201 case AArch64::CBEQXri:
25202 case AArch64::CBGTWri:
25203 case AArch64::CBGTXri:
25204 case AArch64::CBHIWri:
25205 case AArch64::CBHIXri:
25206 case AArch64::CBLOWri:
25207 case AArch64::CBLOXri:
25208 case AArch64::CBLTWri:
25209 case AArch64::CBLTXri:
25210 case AArch64::CBNEWri:
25211 case AArch64::CBNEXri: {
25212 switch (OpNum) {
25213 case 0:
25214 // op: Rt
25215 return 0;
25216 case 1:
25217 // op: imm
25218 return 15;
25219 case 2:
25220 // op: target
25221 return 5;
25222 }
25223 break;
25224 }
25225 case AArch64::LDRDl:
25226 case AArch64::LDRQl:
25227 case AArch64::LDRSWl:
25228 case AArch64::LDRSl:
25229 case AArch64::LDRWl:
25230 case AArch64::LDRXl:
25231 case AArch64::PRFMl: {
25232 switch (OpNum) {
25233 case 0:
25234 // op: Rt
25235 return 0;
25236 case 1:
25237 // op: label
25238 return 5;
25239 }
25240 break;
25241 }
25242 case AArch64::SYSLxt: {
25243 switch (OpNum) {
25244 case 0:
25245 // op: Rt
25246 return 0;
25247 case 1:
25248 // op: op1
25249 return 16;
25250 case 2:
25251 // op: Cn
25252 return 12;
25253 case 3:
25254 // op: Cm
25255 return 8;
25256 case 4:
25257 // op: op2
25258 return 5;
25259 }
25260 break;
25261 }
25262 case AArch64::MRRS:
25263 case AArch64::MRS: {
25264 switch (OpNum) {
25265 case 0:
25266 // op: Rt
25267 return 0;
25268 case 1:
25269 // op: systemreg
25270 return 5;
25271 }
25272 break;
25273 }
25274 case AArch64::CBNZW:
25275 case AArch64::CBNZX:
25276 case AArch64::CBZW:
25277 case AArch64::CBZX: {
25278 switch (OpNum) {
25279 case 0:
25280 // op: Rt
25281 return 0;
25282 case 1:
25283 // op: target
25284 return 5;
25285 }
25286 break;
25287 }
25288 case AArch64::RPRFM: {
25289 switch (OpNum) {
25290 case 0:
25291 // op: Rt
25292 return 0;
25293 case 2:
25294 // op: Rn
25295 return 5;
25296 case 1:
25297 // op: Rm
25298 return 16;
25299 }
25300 break;
25301 }
25302 case AArch64::LDIAPPW:
25303 case AArch64::LDIAPPX:
25304 case AArch64::STILPW:
25305 case AArch64::STILPX: {
25306 switch (OpNum) {
25307 case 0:
25308 // op: Rt
25309 return 0;
25310 case 2:
25311 // op: Rn
25312 return 5;
25313 case 1:
25314 // op: Rt2
25315 return 16;
25316 }
25317 break;
25318 }
25319 case AArch64::GCSPOPM:
25320 case AArch64::GCSPUSHM:
25321 case AArch64::GCSSS1:
25322 case AArch64::GCSSS2:
25323 case AArch64::WFET:
25324 case AArch64::WFIT: {
25325 switch (OpNum) {
25326 case 0:
25327 // op: Rt
25328 return 0;
25329 }
25330 break;
25331 }
25332 case AArch64::BCAX:
25333 case AArch64::EOR3:
25334 case AArch64::SM3SS1: {
25335 switch (OpNum) {
25336 case 0:
25337 // op: Vd
25338 return 0;
25339 case 1:
25340 // op: Vn
25341 return 5;
25342 case 2:
25343 // op: Vm
25344 return 16;
25345 case 3:
25346 // op: Va
25347 return 10;
25348 }
25349 break;
25350 }
25351 case AArch64::RAX1:
25352 case AArch64::SM4ENCKEY:
25353 case AArch64::TBLv16i8Four:
25354 case AArch64::TBLv16i8One:
25355 case AArch64::TBLv16i8Three:
25356 case AArch64::TBLv16i8Two:
25357 case AArch64::TBLv8i8Four:
25358 case AArch64::TBLv8i8One:
25359 case AArch64::TBLv8i8Three:
25360 case AArch64::TBLv8i8Two: {
25361 switch (OpNum) {
25362 case 0:
25363 // op: Vd
25364 return 0;
25365 case 1:
25366 // op: Vn
25367 return 5;
25368 case 2:
25369 // op: Vm
25370 return 16;
25371 }
25372 break;
25373 }
25374 case AArch64::XAR: {
25375 switch (OpNum) {
25376 case 0:
25377 // op: Vd
25378 return 0;
25379 case 1:
25380 // op: Vn
25381 return 5;
25382 case 3:
25383 // op: imm
25384 return 10;
25385 case 2:
25386 // op: Vm
25387 return 16;
25388 }
25389 break;
25390 }
25391 case AArch64::ADDQV_VPZ_B:
25392 case AArch64::ADDQV_VPZ_D:
25393 case AArch64::ADDQV_VPZ_H:
25394 case AArch64::ADDQV_VPZ_S:
25395 case AArch64::ANDQV_VPZ_B:
25396 case AArch64::ANDQV_VPZ_D:
25397 case AArch64::ANDQV_VPZ_H:
25398 case AArch64::ANDQV_VPZ_S:
25399 case AArch64::EORQV_VPZ_B:
25400 case AArch64::EORQV_VPZ_D:
25401 case AArch64::EORQV_VPZ_H:
25402 case AArch64::EORQV_VPZ_S:
25403 case AArch64::FADDQV_D:
25404 case AArch64::FADDQV_H:
25405 case AArch64::FADDQV_S:
25406 case AArch64::FMAXNMQV_D:
25407 case AArch64::FMAXNMQV_H:
25408 case AArch64::FMAXNMQV_S:
25409 case AArch64::FMAXQV_D:
25410 case AArch64::FMAXQV_H:
25411 case AArch64::FMAXQV_S:
25412 case AArch64::FMINNMQV_D:
25413 case AArch64::FMINNMQV_H:
25414 case AArch64::FMINNMQV_S:
25415 case AArch64::FMINQV_D:
25416 case AArch64::FMINQV_H:
25417 case AArch64::FMINQV_S:
25418 case AArch64::ORQV_VPZ_B:
25419 case AArch64::ORQV_VPZ_D:
25420 case AArch64::ORQV_VPZ_H:
25421 case AArch64::ORQV_VPZ_S:
25422 case AArch64::SMAXQV_VPZ_B:
25423 case AArch64::SMAXQV_VPZ_D:
25424 case AArch64::SMAXQV_VPZ_H:
25425 case AArch64::SMAXQV_VPZ_S:
25426 case AArch64::SMINQV_VPZ_B:
25427 case AArch64::SMINQV_VPZ_D:
25428 case AArch64::SMINQV_VPZ_H:
25429 case AArch64::SMINQV_VPZ_S:
25430 case AArch64::UMAXQV_VPZ_B:
25431 case AArch64::UMAXQV_VPZ_D:
25432 case AArch64::UMAXQV_VPZ_H:
25433 case AArch64::UMAXQV_VPZ_S:
25434 case AArch64::UMINQV_VPZ_B:
25435 case AArch64::UMINQV_VPZ_D:
25436 case AArch64::UMINQV_VPZ_H:
25437 case AArch64::UMINQV_VPZ_S: {
25438 switch (OpNum) {
25439 case 0:
25440 // op: Vd
25441 return 0;
25442 case 2:
25443 // op: Zn
25444 return 5;
25445 case 1:
25446 // op: Pg
25447 return 10;
25448 }
25449 break;
25450 }
25451 case AArch64::LD1Fourv16b:
25452 case AArch64::LD1Fourv1d:
25453 case AArch64::LD1Fourv2d:
25454 case AArch64::LD1Fourv2s:
25455 case AArch64::LD1Fourv4h:
25456 case AArch64::LD1Fourv4s:
25457 case AArch64::LD1Fourv8b:
25458 case AArch64::LD1Fourv8h:
25459 case AArch64::LD1Onev16b:
25460 case AArch64::LD1Onev1d:
25461 case AArch64::LD1Onev2d:
25462 case AArch64::LD1Onev2s:
25463 case AArch64::LD1Onev4h:
25464 case AArch64::LD1Onev4s:
25465 case AArch64::LD1Onev8b:
25466 case AArch64::LD1Onev8h:
25467 case AArch64::LD1Rv16b:
25468 case AArch64::LD1Rv1d:
25469 case AArch64::LD1Rv2d:
25470 case AArch64::LD1Rv2s:
25471 case AArch64::LD1Rv4h:
25472 case AArch64::LD1Rv4s:
25473 case AArch64::LD1Rv8b:
25474 case AArch64::LD1Rv8h:
25475 case AArch64::LD1Threev16b:
25476 case AArch64::LD1Threev1d:
25477 case AArch64::LD1Threev2d:
25478 case AArch64::LD1Threev2s:
25479 case AArch64::LD1Threev4h:
25480 case AArch64::LD1Threev4s:
25481 case AArch64::LD1Threev8b:
25482 case AArch64::LD1Threev8h:
25483 case AArch64::LD1Twov16b:
25484 case AArch64::LD1Twov1d:
25485 case AArch64::LD1Twov2d:
25486 case AArch64::LD1Twov2s:
25487 case AArch64::LD1Twov4h:
25488 case AArch64::LD1Twov4s:
25489 case AArch64::LD1Twov8b:
25490 case AArch64::LD1Twov8h:
25491 case AArch64::LD2Rv16b:
25492 case AArch64::LD2Rv1d:
25493 case AArch64::LD2Rv2d:
25494 case AArch64::LD2Rv2s:
25495 case AArch64::LD2Rv4h:
25496 case AArch64::LD2Rv4s:
25497 case AArch64::LD2Rv8b:
25498 case AArch64::LD2Rv8h:
25499 case AArch64::LD2Twov16b:
25500 case AArch64::LD2Twov2d:
25501 case AArch64::LD2Twov2s:
25502 case AArch64::LD2Twov4h:
25503 case AArch64::LD2Twov4s:
25504 case AArch64::LD2Twov8b:
25505 case AArch64::LD2Twov8h:
25506 case AArch64::LD3Rv16b:
25507 case AArch64::LD3Rv1d:
25508 case AArch64::LD3Rv2d:
25509 case AArch64::LD3Rv2s:
25510 case AArch64::LD3Rv4h:
25511 case AArch64::LD3Rv4s:
25512 case AArch64::LD3Rv8b:
25513 case AArch64::LD3Rv8h:
25514 case AArch64::LD3Threev16b:
25515 case AArch64::LD3Threev2d:
25516 case AArch64::LD3Threev2s:
25517 case AArch64::LD3Threev4h:
25518 case AArch64::LD3Threev4s:
25519 case AArch64::LD3Threev8b:
25520 case AArch64::LD3Threev8h:
25521 case AArch64::LD4Fourv16b:
25522 case AArch64::LD4Fourv2d:
25523 case AArch64::LD4Fourv2s:
25524 case AArch64::LD4Fourv4h:
25525 case AArch64::LD4Fourv4s:
25526 case AArch64::LD4Fourv8b:
25527 case AArch64::LD4Fourv8h:
25528 case AArch64::LD4Rv16b:
25529 case AArch64::LD4Rv1d:
25530 case AArch64::LD4Rv2d:
25531 case AArch64::LD4Rv2s:
25532 case AArch64::LD4Rv4h:
25533 case AArch64::LD4Rv4s:
25534 case AArch64::LD4Rv8b:
25535 case AArch64::LD4Rv8h:
25536 case AArch64::ST1Fourv16b:
25537 case AArch64::ST1Fourv1d:
25538 case AArch64::ST1Fourv2d:
25539 case AArch64::ST1Fourv2s:
25540 case AArch64::ST1Fourv4h:
25541 case AArch64::ST1Fourv4s:
25542 case AArch64::ST1Fourv8b:
25543 case AArch64::ST1Fourv8h:
25544 case AArch64::ST1Onev16b:
25545 case AArch64::ST1Onev1d:
25546 case AArch64::ST1Onev2d:
25547 case AArch64::ST1Onev2s:
25548 case AArch64::ST1Onev4h:
25549 case AArch64::ST1Onev4s:
25550 case AArch64::ST1Onev8b:
25551 case AArch64::ST1Onev8h:
25552 case AArch64::ST1Threev16b:
25553 case AArch64::ST1Threev1d:
25554 case AArch64::ST1Threev2d:
25555 case AArch64::ST1Threev2s:
25556 case AArch64::ST1Threev4h:
25557 case AArch64::ST1Threev4s:
25558 case AArch64::ST1Threev8b:
25559 case AArch64::ST1Threev8h:
25560 case AArch64::ST1Twov16b:
25561 case AArch64::ST1Twov1d:
25562 case AArch64::ST1Twov2d:
25563 case AArch64::ST1Twov2s:
25564 case AArch64::ST1Twov4h:
25565 case AArch64::ST1Twov4s:
25566 case AArch64::ST1Twov8b:
25567 case AArch64::ST1Twov8h:
25568 case AArch64::ST2Twov16b:
25569 case AArch64::ST2Twov2d:
25570 case AArch64::ST2Twov2s:
25571 case AArch64::ST2Twov4h:
25572 case AArch64::ST2Twov4s:
25573 case AArch64::ST2Twov8b:
25574 case AArch64::ST2Twov8h:
25575 case AArch64::ST3Threev16b:
25576 case AArch64::ST3Threev2d:
25577 case AArch64::ST3Threev2s:
25578 case AArch64::ST3Threev4h:
25579 case AArch64::ST3Threev4s:
25580 case AArch64::ST3Threev8b:
25581 case AArch64::ST3Threev8h:
25582 case AArch64::ST4Fourv16b:
25583 case AArch64::ST4Fourv2d:
25584 case AArch64::ST4Fourv2s:
25585 case AArch64::ST4Fourv4h:
25586 case AArch64::ST4Fourv4s:
25587 case AArch64::ST4Fourv8b:
25588 case AArch64::ST4Fourv8h: {
25589 switch (OpNum) {
25590 case 0:
25591 // op: Vt
25592 return 0;
25593 case 1:
25594 // op: Rn
25595 return 5;
25596 }
25597 break;
25598 }
25599 case AArch64::STL1: {
25600 switch (OpNum) {
25601 case 0:
25602 // op: Vt
25603 return 0;
25604 case 2:
25605 // op: Rn
25606 return 5;
25607 case 1:
25608 // op: Q
25609 return 30;
25610 }
25611 break;
25612 }
25613 case AArch64::ST1i8:
25614 case AArch64::ST2i8:
25615 case AArch64::ST3i8:
25616 case AArch64::ST4i8: {
25617 switch (OpNum) {
25618 case 0:
25619 // op: Vt
25620 return 0;
25621 case 2:
25622 // op: Rn
25623 return 5;
25624 case 1:
25625 // op: idx
25626 return 10;
25627 }
25628 break;
25629 }
25630 case AArch64::ST1i16:
25631 case AArch64::ST2i16:
25632 case AArch64::ST3i16:
25633 case AArch64::ST4i16: {
25634 switch (OpNum) {
25635 case 0:
25636 // op: Vt
25637 return 0;
25638 case 2:
25639 // op: Rn
25640 return 5;
25641 case 1:
25642 // op: idx
25643 return 11;
25644 }
25645 break;
25646 }
25647 case AArch64::ST1i32:
25648 case AArch64::ST2i32:
25649 case AArch64::ST3i32:
25650 case AArch64::ST4i32: {
25651 switch (OpNum) {
25652 case 0:
25653 // op: Vt
25654 return 0;
25655 case 2:
25656 // op: Rn
25657 return 5;
25658 case 1:
25659 // op: idx
25660 return 12;
25661 }
25662 break;
25663 }
25664 case AArch64::ST1i64:
25665 case AArch64::ST2i64:
25666 case AArch64::ST3i64:
25667 case AArch64::ST4i64: {
25668 switch (OpNum) {
25669 case 0:
25670 // op: Vt
25671 return 0;
25672 case 2:
25673 // op: Rn
25674 return 5;
25675 case 1:
25676 // op: idx
25677 return 30;
25678 }
25679 break;
25680 }
25681 case AArch64::STLTXRW:
25682 case AArch64::STLTXRX:
25683 case AArch64::STLXRB:
25684 case AArch64::STLXRH:
25685 case AArch64::STLXRW:
25686 case AArch64::STLXRX:
25687 case AArch64::STXRB:
25688 case AArch64::STXRH:
25689 case AArch64::STXRW:
25690 case AArch64::STXRX: {
25691 switch (OpNum) {
25692 case 0:
25693 // op: Ws
25694 return 16;
25695 case 1:
25696 // op: Rt
25697 return 0;
25698 case 2:
25699 // op: Rn
25700 return 5;
25701 }
25702 break;
25703 }
25704 case AArch64::STLXPW:
25705 case AArch64::STLXPX:
25706 case AArch64::STXPW:
25707 case AArch64::STXPX: {
25708 switch (OpNum) {
25709 case 0:
25710 // op: Ws
25711 return 16;
25712 case 1:
25713 // op: Rt
25714 return 0;
25715 case 2:
25716 // op: Rt2
25717 return 10;
25718 case 3:
25719 // op: Rn
25720 return 5;
25721 }
25722 break;
25723 }
25724 case AArch64::TCHANGEBrr:
25725 case AArch64::TCHANGEFrr: {
25726 switch (OpNum) {
25727 case 0:
25728 // op: Xd
25729 return 0;
25730 case 1:
25731 // op: Xn
25732 return 5;
25733 case 2:
25734 // op: nb
25735 return 17;
25736 }
25737 break;
25738 }
25739 case AArch64::TCHANGEBri:
25740 case AArch64::TCHANGEFri: {
25741 switch (OpNum) {
25742 case 0:
25743 // op: Xd
25744 return 0;
25745 case 1:
25746 // op: imm
25747 return 5;
25748 case 2:
25749 // op: nb
25750 return 17;
25751 }
25752 break;
25753 }
25754 case AArch64::ADR:
25755 case AArch64::ADRP: {
25756 switch (OpNum) {
25757 case 0:
25758 // op: Xd
25759 return 0;
25760 case 1:
25761 // op: label
25762 return 5;
25763 }
25764 break;
25765 }
25766 case AArch64::BFTMOPA_M2ZZZI_HtoH:
25767 case AArch64::BFTMOPA_M2ZZZI_HtoS:
25768 case AArch64::FTMOPA_M2ZZZI_BtoH:
25769 case AArch64::FTMOPA_M2ZZZI_BtoS:
25770 case AArch64::FTMOPA_M2ZZZI_HtoH:
25771 case AArch64::FTMOPA_M2ZZZI_HtoS:
25772 case AArch64::FTMOPA_M2ZZZI_StoS:
25773 case AArch64::STMOPA_M2ZZZI_BtoS:
25774 case AArch64::STMOPA_M2ZZZI_HtoS:
25775 case AArch64::SUTMOPA_M2ZZZI_BtoS:
25776 case AArch64::USTMOPA_M2ZZZI_BtoS:
25777 case AArch64::UTMOPA_M2ZZZI_BtoS:
25778 case AArch64::UTMOPA_M2ZZZI_HtoS: {
25779 switch (OpNum) {
25780 case 0:
25781 // op: ZAda
25782 return 0;
25783 case 2:
25784 // op: Zn
25785 return 6;
25786 case 3:
25787 // op: Zm
25788 return 16;
25789 case 4:
25790 // op: Zk
25791 return 10;
25792 case 5:
25793 // op: imm
25794 return 4;
25795 }
25796 break;
25797 }
25798 case AArch64::BFMOP4A_M2Z2Z_H:
25799 case AArch64::BFMOP4A_M2Z2Z_S:
25800 case AArch64::BFMOP4A_M2ZZ_H:
25801 case AArch64::BFMOP4A_M2ZZ_S:
25802 case AArch64::BFMOP4A_MZ2Z_H:
25803 case AArch64::BFMOP4A_MZ2Z_S:
25804 case AArch64::BFMOP4A_MZZ_H:
25805 case AArch64::BFMOP4A_MZZ_S:
25806 case AArch64::BFMOP4S_M2Z2Z_H:
25807 case AArch64::BFMOP4S_M2Z2Z_S:
25808 case AArch64::BFMOP4S_M2ZZ_H:
25809 case AArch64::BFMOP4S_M2ZZ_S:
25810 case AArch64::BFMOP4S_MZ2Z_H:
25811 case AArch64::BFMOP4S_MZ2Z_S:
25812 case AArch64::BFMOP4S_MZZ_H:
25813 case AArch64::BFMOP4S_MZZ_S:
25814 case AArch64::FMOP4A_M2Z2Z_BtoH:
25815 case AArch64::FMOP4A_M2Z2Z_BtoS:
25816 case AArch64::FMOP4A_M2Z2Z_D:
25817 case AArch64::FMOP4A_M2Z2Z_H:
25818 case AArch64::FMOP4A_M2Z2Z_HtoS:
25819 case AArch64::FMOP4A_M2Z2Z_S:
25820 case AArch64::FMOP4A_M2ZZ_BtoH:
25821 case AArch64::FMOP4A_M2ZZ_BtoS:
25822 case AArch64::FMOP4A_M2ZZ_D:
25823 case AArch64::FMOP4A_M2ZZ_H:
25824 case AArch64::FMOP4A_M2ZZ_HtoS:
25825 case AArch64::FMOP4A_M2ZZ_S:
25826 case AArch64::FMOP4A_MZ2Z_BtoH:
25827 case AArch64::FMOP4A_MZ2Z_BtoS:
25828 case AArch64::FMOP4A_MZ2Z_D:
25829 case AArch64::FMOP4A_MZ2Z_H:
25830 case AArch64::FMOP4A_MZ2Z_HtoS:
25831 case AArch64::FMOP4A_MZ2Z_S:
25832 case AArch64::FMOP4A_MZZ_BtoH:
25833 case AArch64::FMOP4A_MZZ_BtoS:
25834 case AArch64::FMOP4A_MZZ_D:
25835 case AArch64::FMOP4A_MZZ_H:
25836 case AArch64::FMOP4A_MZZ_HtoS:
25837 case AArch64::FMOP4A_MZZ_S:
25838 case AArch64::FMOP4S_M2Z2Z_D:
25839 case AArch64::FMOP4S_M2Z2Z_H:
25840 case AArch64::FMOP4S_M2Z2Z_HtoS:
25841 case AArch64::FMOP4S_M2Z2Z_S:
25842 case AArch64::FMOP4S_M2ZZ_D:
25843 case AArch64::FMOP4S_M2ZZ_H:
25844 case AArch64::FMOP4S_M2ZZ_HtoS:
25845 case AArch64::FMOP4S_M2ZZ_S:
25846 case AArch64::FMOP4S_MZ2Z_D:
25847 case AArch64::FMOP4S_MZ2Z_H:
25848 case AArch64::FMOP4S_MZ2Z_HtoS:
25849 case AArch64::FMOP4S_MZ2Z_S:
25850 case AArch64::FMOP4S_MZZ_D:
25851 case AArch64::FMOP4S_MZZ_H:
25852 case AArch64::FMOP4S_MZZ_HtoS:
25853 case AArch64::FMOP4S_MZZ_S:
25854 case AArch64::SMOP4A_M2Z2Z_BToS:
25855 case AArch64::SMOP4A_M2Z2Z_HToS:
25856 case AArch64::SMOP4A_M2Z2Z_HtoD:
25857 case AArch64::SMOP4A_M2ZZ_BToS:
25858 case AArch64::SMOP4A_M2ZZ_HToS:
25859 case AArch64::SMOP4A_M2ZZ_HtoD:
25860 case AArch64::SMOP4A_MZ2Z_BToS:
25861 case AArch64::SMOP4A_MZ2Z_HToS:
25862 case AArch64::SMOP4A_MZ2Z_HtoD:
25863 case AArch64::SMOP4A_MZZ_BToS:
25864 case AArch64::SMOP4A_MZZ_HToS:
25865 case AArch64::SMOP4A_MZZ_HtoD:
25866 case AArch64::SMOP4S_M2Z2Z_BToS:
25867 case AArch64::SMOP4S_M2Z2Z_HToS:
25868 case AArch64::SMOP4S_M2Z2Z_HtoD:
25869 case AArch64::SMOP4S_M2ZZ_BToS:
25870 case AArch64::SMOP4S_M2ZZ_HToS:
25871 case AArch64::SMOP4S_M2ZZ_HtoD:
25872 case AArch64::SMOP4S_MZ2Z_BToS:
25873 case AArch64::SMOP4S_MZ2Z_HToS:
25874 case AArch64::SMOP4S_MZ2Z_HtoD:
25875 case AArch64::SMOP4S_MZZ_BToS:
25876 case AArch64::SMOP4S_MZZ_HToS:
25877 case AArch64::SMOP4S_MZZ_HtoD:
25878 case AArch64::SUMOP4A_M2Z2Z_BToS:
25879 case AArch64::SUMOP4A_M2Z2Z_HtoD:
25880 case AArch64::SUMOP4A_M2ZZ_BToS:
25881 case AArch64::SUMOP4A_M2ZZ_HtoD:
25882 case AArch64::SUMOP4A_MZ2Z_BToS:
25883 case AArch64::SUMOP4A_MZ2Z_HtoD:
25884 case AArch64::SUMOP4A_MZZ_BToS:
25885 case AArch64::SUMOP4A_MZZ_HtoD:
25886 case AArch64::SUMOP4S_M2Z2Z_BToS:
25887 case AArch64::SUMOP4S_M2Z2Z_HtoD:
25888 case AArch64::SUMOP4S_M2ZZ_BToS:
25889 case AArch64::SUMOP4S_M2ZZ_HtoD:
25890 case AArch64::SUMOP4S_MZ2Z_BToS:
25891 case AArch64::SUMOP4S_MZ2Z_HtoD:
25892 case AArch64::SUMOP4S_MZZ_BToS:
25893 case AArch64::SUMOP4S_MZZ_HtoD:
25894 case AArch64::UMOP4A_M2Z2Z_BToS:
25895 case AArch64::UMOP4A_M2Z2Z_HToS:
25896 case AArch64::UMOP4A_M2Z2Z_HtoD:
25897 case AArch64::UMOP4A_M2ZZ_BToS:
25898 case AArch64::UMOP4A_M2ZZ_HToS:
25899 case AArch64::UMOP4A_M2ZZ_HtoD:
25900 case AArch64::UMOP4A_MZ2Z_BToS:
25901 case AArch64::UMOP4A_MZ2Z_HToS:
25902 case AArch64::UMOP4A_MZ2Z_HtoD:
25903 case AArch64::UMOP4A_MZZ_BToS:
25904 case AArch64::UMOP4A_MZZ_HToS:
25905 case AArch64::UMOP4A_MZZ_HtoD:
25906 case AArch64::UMOP4S_M2Z2Z_BToS:
25907 case AArch64::UMOP4S_M2Z2Z_HToS:
25908 case AArch64::UMOP4S_M2Z2Z_HtoD:
25909 case AArch64::UMOP4S_M2ZZ_BToS:
25910 case AArch64::UMOP4S_M2ZZ_HToS:
25911 case AArch64::UMOP4S_M2ZZ_HtoD:
25912 case AArch64::UMOP4S_MZ2Z_BToS:
25913 case AArch64::UMOP4S_MZ2Z_HToS:
25914 case AArch64::UMOP4S_MZ2Z_HtoD:
25915 case AArch64::UMOP4S_MZZ_BToS:
25916 case AArch64::UMOP4S_MZZ_HToS:
25917 case AArch64::UMOP4S_MZZ_HtoD:
25918 case AArch64::USMOP4A_M2Z2Z_BToS:
25919 case AArch64::USMOP4A_M2Z2Z_HtoD:
25920 case AArch64::USMOP4A_M2ZZ_BToS:
25921 case AArch64::USMOP4A_M2ZZ_HtoD:
25922 case AArch64::USMOP4A_MZ2Z_BToS:
25923 case AArch64::USMOP4A_MZ2Z_HtoD:
25924 case AArch64::USMOP4A_MZZ_BToS:
25925 case AArch64::USMOP4A_MZZ_HtoD:
25926 case AArch64::USMOP4S_M2Z2Z_BToS:
25927 case AArch64::USMOP4S_M2Z2Z_HtoD:
25928 case AArch64::USMOP4S_M2ZZ_BToS:
25929 case AArch64::USMOP4S_M2ZZ_HtoD:
25930 case AArch64::USMOP4S_MZ2Z_BToS:
25931 case AArch64::USMOP4S_MZ2Z_HtoD:
25932 case AArch64::USMOP4S_MZZ_BToS:
25933 case AArch64::USMOP4S_MZZ_HtoD: {
25934 switch (OpNum) {
25935 case 0:
25936 // op: ZAda
25937 return 0;
25938 case 2:
25939 // op: Zn
25940 return 6;
25941 case 3:
25942 // op: Zm
25943 return 17;
25944 }
25945 break;
25946 }
25947 case AArch64::RBIT_ZPzZ_B:
25948 case AArch64::RBIT_ZPzZ_D:
25949 case AArch64::RBIT_ZPzZ_H:
25950 case AArch64::RBIT_ZPzZ_S:
25951 case AArch64::REVB_ZPzZ_D:
25952 case AArch64::REVB_ZPzZ_H:
25953 case AArch64::REVB_ZPzZ_S:
25954 case AArch64::REVD_ZPzZ:
25955 case AArch64::REVH_ZPzZ_D:
25956 case AArch64::REVH_ZPzZ_S:
25957 case AArch64::REVW_ZPzZ_D: {
25958 switch (OpNum) {
25959 case 0:
25960 // op: Zd
25961 return 0;
25962 case 1:
25963 // op: Pg
25964 return 10;
25965 case 2:
25966 // op: Zn
25967 return 5;
25968 }
25969 break;
25970 }
25971 case AArch64::CPY_ZPzI_B:
25972 case AArch64::CPY_ZPzI_D:
25973 case AArch64::CPY_ZPzI_H:
25974 case AArch64::CPY_ZPzI_S: {
25975 switch (OpNum) {
25976 case 0:
25977 // op: Zd
25978 return 0;
25979 case 1:
25980 // op: Pg
25981 return 16;
25982 case 2:
25983 // op: imm
25984 return 5;
25985 }
25986 break;
25987 }
25988 case AArch64::LUTI6_S_4Z2Z2ZI: {
25989 switch (OpNum) {
25990 case 0:
25991 // op: Zd
25992 return 0;
25993 case 1:
25994 // op: Zn
25995 return 5;
25996 case 2:
25997 // op: Zm
25998 return 16;
25999 case 3:
26000 // op: i1
26001 return 22;
26002 }
26003 break;
26004 }
26005 case AArch64::LUTI2_ZZZI_H: {
26006 switch (OpNum) {
26007 case 0:
26008 // op: Zd
26009 return 0;
26010 case 1:
26011 // op: Zn
26012 return 5;
26013 case 2:
26014 // op: Zm
26015 return 16;
26016 case 3:
26017 // op: idx
26018 return 12;
26019 }
26020 break;
26021 }
26022 case AArch64::LUTI2_ZZZI_B:
26023 case AArch64::LUTI4_Z2ZZI:
26024 case AArch64::LUTI4_ZZZI_H: {
26025 switch (OpNum) {
26026 case 0:
26027 // op: Zd
26028 return 0;
26029 case 1:
26030 // op: Zn
26031 return 5;
26032 case 2:
26033 // op: Zm
26034 return 16;
26035 case 3:
26036 // op: idx
26037 return 22;
26038 }
26039 break;
26040 }
26041 case AArch64::LUTI4_ZZZI_B:
26042 case AArch64::LUTI6_Z2ZZI_H: {
26043 switch (OpNum) {
26044 case 0:
26045 // op: Zd
26046 return 0;
26047 case 1:
26048 // op: Zn
26049 return 5;
26050 case 2:
26051 // op: Zm
26052 return 16;
26053 case 3:
26054 // op: idx
26055 return 23;
26056 }
26057 break;
26058 }
26059 case AArch64::SMULLB_ZZZI_D:
26060 case AArch64::SMULLB_ZZZI_S:
26061 case AArch64::SMULLT_ZZZI_D:
26062 case AArch64::SMULLT_ZZZI_S:
26063 case AArch64::SQDMULLB_ZZZI_D:
26064 case AArch64::SQDMULLB_ZZZI_S:
26065 case AArch64::SQDMULLT_ZZZI_D:
26066 case AArch64::SQDMULLT_ZZZI_S:
26067 case AArch64::UMULLB_ZZZI_D:
26068 case AArch64::UMULLB_ZZZI_S:
26069 case AArch64::UMULLT_ZZZI_D:
26070 case AArch64::UMULLT_ZZZI_S: {
26071 switch (OpNum) {
26072 case 0:
26073 // op: Zd
26074 return 0;
26075 case 1:
26076 // op: Zn
26077 return 5;
26078 case 2:
26079 // op: Zm
26080 return 16;
26081 case 3:
26082 // op: iop
26083 return 11;
26084 }
26085 break;
26086 }
26087 case AArch64::BFMUL_ZZZI:
26088 case AArch64::FMUL_ZZZI_H:
26089 case AArch64::FMUL_ZZZI_S:
26090 case AArch64::MUL_ZZZI_H:
26091 case AArch64::MUL_ZZZI_S:
26092 case AArch64::SQDMULH_ZZZI_H:
26093 case AArch64::SQDMULH_ZZZI_S:
26094 case AArch64::SQRDMULH_ZZZI_H:
26095 case AArch64::SQRDMULH_ZZZI_S: {
26096 switch (OpNum) {
26097 case 0:
26098 // op: Zd
26099 return 0;
26100 case 1:
26101 // op: Zn
26102 return 5;
26103 case 2:
26104 // op: Zm
26105 return 16;
26106 case 3:
26107 // op: iop
26108 return 19;
26109 }
26110 break;
26111 }
26112 case AArch64::FMUL_ZZZI_D:
26113 case AArch64::MUL_ZZZI_D:
26114 case AArch64::SQDMULH_ZZZI_D:
26115 case AArch64::SQRDMULH_ZZZI_D: {
26116 switch (OpNum) {
26117 case 0:
26118 // op: Zd
26119 return 0;
26120 case 1:
26121 // op: Zn
26122 return 5;
26123 case 2:
26124 // op: Zm
26125 return 16;
26126 case 3:
26127 // op: iop
26128 return 20;
26129 }
26130 break;
26131 }
26132 case AArch64::ADDHNB_ZZZ_B:
26133 case AArch64::ADDHNB_ZZZ_H:
26134 case AArch64::ADDHNB_ZZZ_S:
26135 case AArch64::ADR_LSL_ZZZ_D_0:
26136 case AArch64::ADR_LSL_ZZZ_D_1:
26137 case AArch64::ADR_LSL_ZZZ_D_2:
26138 case AArch64::ADR_LSL_ZZZ_D_3:
26139 case AArch64::ADR_LSL_ZZZ_S_0:
26140 case AArch64::ADR_LSL_ZZZ_S_1:
26141 case AArch64::ADR_LSL_ZZZ_S_2:
26142 case AArch64::ADR_LSL_ZZZ_S_3:
26143 case AArch64::ADR_SXTW_ZZZ_D_0:
26144 case AArch64::ADR_SXTW_ZZZ_D_1:
26145 case AArch64::ADR_SXTW_ZZZ_D_2:
26146 case AArch64::ADR_SXTW_ZZZ_D_3:
26147 case AArch64::ADR_UXTW_ZZZ_D_0:
26148 case AArch64::ADR_UXTW_ZZZ_D_1:
26149 case AArch64::ADR_UXTW_ZZZ_D_2:
26150 case AArch64::ADR_UXTW_ZZZ_D_3:
26151 case AArch64::BDEP_ZZZ_B:
26152 case AArch64::BDEP_ZZZ_D:
26153 case AArch64::BDEP_ZZZ_H:
26154 case AArch64::BDEP_ZZZ_S:
26155 case AArch64::BEXT_ZZZ_B:
26156 case AArch64::BEXT_ZZZ_D:
26157 case AArch64::BEXT_ZZZ_H:
26158 case AArch64::BEXT_ZZZ_S:
26159 case AArch64::BGRP_ZZZ_B:
26160 case AArch64::BGRP_ZZZ_D:
26161 case AArch64::BGRP_ZZZ_H:
26162 case AArch64::BGRP_ZZZ_S:
26163 case AArch64::HISTSEG_ZZZ:
26164 case AArch64::LUTI6_Z2ZZ:
26165 case AArch64::PMULLB_ZZZ_D:
26166 case AArch64::PMULLB_ZZZ_H:
26167 case AArch64::PMULLB_ZZZ_Q:
26168 case AArch64::PMULLT_ZZZ_D:
26169 case AArch64::PMULLT_ZZZ_H:
26170 case AArch64::PMULLT_ZZZ_Q:
26171 case AArch64::RADDHNB_ZZZ_B:
26172 case AArch64::RADDHNB_ZZZ_H:
26173 case AArch64::RADDHNB_ZZZ_S:
26174 case AArch64::RAX1_ZZZ_D:
26175 case AArch64::RSUBHNB_ZZZ_B:
26176 case AArch64::RSUBHNB_ZZZ_H:
26177 case AArch64::RSUBHNB_ZZZ_S:
26178 case AArch64::SABDLB_ZZZ_D:
26179 case AArch64::SABDLB_ZZZ_H:
26180 case AArch64::SABDLB_ZZZ_S:
26181 case AArch64::SABDLT_ZZZ_D:
26182 case AArch64::SABDLT_ZZZ_H:
26183 case AArch64::SABDLT_ZZZ_S:
26184 case AArch64::SADDLBT_ZZZ_D:
26185 case AArch64::SADDLBT_ZZZ_H:
26186 case AArch64::SADDLBT_ZZZ_S:
26187 case AArch64::SADDLB_ZZZ_D:
26188 case AArch64::SADDLB_ZZZ_H:
26189 case AArch64::SADDLB_ZZZ_S:
26190 case AArch64::SADDLT_ZZZ_D:
26191 case AArch64::SADDLT_ZZZ_H:
26192 case AArch64::SADDLT_ZZZ_S:
26193 case AArch64::SADDWB_ZZZ_D:
26194 case AArch64::SADDWB_ZZZ_H:
26195 case AArch64::SADDWB_ZZZ_S:
26196 case AArch64::SADDWT_ZZZ_D:
26197 case AArch64::SADDWT_ZZZ_H:
26198 case AArch64::SADDWT_ZZZ_S:
26199 case AArch64::SM4EKEY_ZZZ_S:
26200 case AArch64::SMULLB_ZZZ_D:
26201 case AArch64::SMULLB_ZZZ_H:
26202 case AArch64::SMULLB_ZZZ_S:
26203 case AArch64::SMULLT_ZZZ_D:
26204 case AArch64::SMULLT_ZZZ_H:
26205 case AArch64::SMULLT_ZZZ_S:
26206 case AArch64::SQDMULLB_ZZZ_D:
26207 case AArch64::SQDMULLB_ZZZ_H:
26208 case AArch64::SQDMULLB_ZZZ_S:
26209 case AArch64::SQDMULLT_ZZZ_D:
26210 case AArch64::SQDMULLT_ZZZ_H:
26211 case AArch64::SQDMULLT_ZZZ_S:
26212 case AArch64::SSUBLBT_ZZZ_D:
26213 case AArch64::SSUBLBT_ZZZ_H:
26214 case AArch64::SSUBLBT_ZZZ_S:
26215 case AArch64::SSUBLB_ZZZ_D:
26216 case AArch64::SSUBLB_ZZZ_H:
26217 case AArch64::SSUBLB_ZZZ_S:
26218 case AArch64::SSUBLTB_ZZZ_D:
26219 case AArch64::SSUBLTB_ZZZ_H:
26220 case AArch64::SSUBLTB_ZZZ_S:
26221 case AArch64::SSUBLT_ZZZ_D:
26222 case AArch64::SSUBLT_ZZZ_H:
26223 case AArch64::SSUBLT_ZZZ_S:
26224 case AArch64::SSUBWB_ZZZ_D:
26225 case AArch64::SSUBWB_ZZZ_H:
26226 case AArch64::SSUBWB_ZZZ_S:
26227 case AArch64::SSUBWT_ZZZ_D:
26228 case AArch64::SSUBWT_ZZZ_H:
26229 case AArch64::SSUBWT_ZZZ_S:
26230 case AArch64::SUBHNB_ZZZ_B:
26231 case AArch64::SUBHNB_ZZZ_H:
26232 case AArch64::SUBHNB_ZZZ_S:
26233 case AArch64::TBLQ_ZZZ_B:
26234 case AArch64::TBLQ_ZZZ_D:
26235 case AArch64::TBLQ_ZZZ_H:
26236 case AArch64::TBLQ_ZZZ_S:
26237 case AArch64::UABDLB_ZZZ_D:
26238 case AArch64::UABDLB_ZZZ_H:
26239 case AArch64::UABDLB_ZZZ_S:
26240 case AArch64::UABDLT_ZZZ_D:
26241 case AArch64::UABDLT_ZZZ_H:
26242 case AArch64::UABDLT_ZZZ_S:
26243 case AArch64::UADDLB_ZZZ_D:
26244 case AArch64::UADDLB_ZZZ_H:
26245 case AArch64::UADDLB_ZZZ_S:
26246 case AArch64::UADDLT_ZZZ_D:
26247 case AArch64::UADDLT_ZZZ_H:
26248 case AArch64::UADDLT_ZZZ_S:
26249 case AArch64::UADDWB_ZZZ_D:
26250 case AArch64::UADDWB_ZZZ_H:
26251 case AArch64::UADDWB_ZZZ_S:
26252 case AArch64::UADDWT_ZZZ_D:
26253 case AArch64::UADDWT_ZZZ_H:
26254 case AArch64::UADDWT_ZZZ_S:
26255 case AArch64::UMULLB_ZZZ_D:
26256 case AArch64::UMULLB_ZZZ_H:
26257 case AArch64::UMULLB_ZZZ_S:
26258 case AArch64::UMULLT_ZZZ_D:
26259 case AArch64::UMULLT_ZZZ_H:
26260 case AArch64::UMULLT_ZZZ_S:
26261 case AArch64::USUBLB_ZZZ_D:
26262 case AArch64::USUBLB_ZZZ_H:
26263 case AArch64::USUBLB_ZZZ_S:
26264 case AArch64::USUBLT_ZZZ_D:
26265 case AArch64::USUBLT_ZZZ_H:
26266 case AArch64::USUBLT_ZZZ_S:
26267 case AArch64::USUBWB_ZZZ_D:
26268 case AArch64::USUBWB_ZZZ_H:
26269 case AArch64::USUBWB_ZZZ_S:
26270 case AArch64::USUBWT_ZZZ_D:
26271 case AArch64::USUBWT_ZZZ_H:
26272 case AArch64::USUBWT_ZZZ_S:
26273 case AArch64::UZPQ1_ZZZ_B:
26274 case AArch64::UZPQ1_ZZZ_D:
26275 case AArch64::UZPQ1_ZZZ_H:
26276 case AArch64::UZPQ1_ZZZ_S:
26277 case AArch64::UZPQ2_ZZZ_B:
26278 case AArch64::UZPQ2_ZZZ_D:
26279 case AArch64::UZPQ2_ZZZ_H:
26280 case AArch64::UZPQ2_ZZZ_S:
26281 case AArch64::ZIPQ1_ZZZ_B:
26282 case AArch64::ZIPQ1_ZZZ_D:
26283 case AArch64::ZIPQ1_ZZZ_H:
26284 case AArch64::ZIPQ1_ZZZ_S:
26285 case AArch64::ZIPQ2_ZZZ_B:
26286 case AArch64::ZIPQ2_ZZZ_D:
26287 case AArch64::ZIPQ2_ZZZ_H:
26288 case AArch64::ZIPQ2_ZZZ_S: {
26289 switch (OpNum) {
26290 case 0:
26291 // op: Zd
26292 return 0;
26293 case 1:
26294 // op: Zn
26295 return 5;
26296 case 2:
26297 // op: Zm
26298 return 16;
26299 }
26300 break;
26301 }
26302 case AArch64::DUP_ZZI_B: {
26303 switch (OpNum) {
26304 case 0:
26305 // op: Zd
26306 return 0;
26307 case 1:
26308 // op: Zn
26309 return 5;
26310 case 2:
26311 // op: idx
26312 return 17;
26313 }
26314 break;
26315 }
26316 case AArch64::DUP_ZZI_H: {
26317 switch (OpNum) {
26318 case 0:
26319 // op: Zd
26320 return 0;
26321 case 1:
26322 // op: Zn
26323 return 5;
26324 case 2:
26325 // op: idx
26326 return 18;
26327 }
26328 break;
26329 }
26330 case AArch64::DUP_ZZI_S: {
26331 switch (OpNum) {
26332 case 0:
26333 // op: Zd
26334 return 0;
26335 case 1:
26336 // op: Zn
26337 return 5;
26338 case 2:
26339 // op: idx
26340 return 19;
26341 }
26342 break;
26343 }
26344 case AArch64::DUP_ZZI_D: {
26345 switch (OpNum) {
26346 case 0:
26347 // op: Zd
26348 return 0;
26349 case 1:
26350 // op: Zn
26351 return 5;
26352 case 2:
26353 // op: idx
26354 return 20;
26355 }
26356 break;
26357 }
26358 case AArch64::DUP_ZZI_Q: {
26359 switch (OpNum) {
26360 case 0:
26361 // op: Zd
26362 return 0;
26363 case 1:
26364 // op: Zn
26365 return 5;
26366 case 2:
26367 // op: idx
26368 return 22;
26369 }
26370 break;
26371 }
26372 case AArch64::ASR_ZZI_B:
26373 case AArch64::ASR_ZZI_D:
26374 case AArch64::ASR_ZZI_H:
26375 case AArch64::ASR_ZZI_S:
26376 case AArch64::LSL_ZZI_B:
26377 case AArch64::LSL_ZZI_D:
26378 case AArch64::LSL_ZZI_H:
26379 case AArch64::LSL_ZZI_S:
26380 case AArch64::LSR_ZZI_B:
26381 case AArch64::LSR_ZZI_D:
26382 case AArch64::LSR_ZZI_H:
26383 case AArch64::LSR_ZZI_S:
26384 case AArch64::RSHRNB_ZZI_B:
26385 case AArch64::RSHRNB_ZZI_H:
26386 case AArch64::RSHRNB_ZZI_S:
26387 case AArch64::SHRNB_ZZI_B:
26388 case AArch64::SHRNB_ZZI_H:
26389 case AArch64::SHRNB_ZZI_S:
26390 case AArch64::SQRSHRNB_ZZI_B:
26391 case AArch64::SQRSHRNB_ZZI_H:
26392 case AArch64::SQRSHRNB_ZZI_S:
26393 case AArch64::SQRSHRUNB_ZZI_B:
26394 case AArch64::SQRSHRUNB_ZZI_H:
26395 case AArch64::SQRSHRUNB_ZZI_S:
26396 case AArch64::SQSHRNB_ZZI_B:
26397 case AArch64::SQSHRNB_ZZI_H:
26398 case AArch64::SQSHRNB_ZZI_S:
26399 case AArch64::SQSHRUNB_ZZI_B:
26400 case AArch64::SQSHRUNB_ZZI_H:
26401 case AArch64::SQSHRUNB_ZZI_S:
26402 case AArch64::SSHLLB_ZZI_D:
26403 case AArch64::SSHLLB_ZZI_H:
26404 case AArch64::SSHLLB_ZZI_S:
26405 case AArch64::SSHLLT_ZZI_D:
26406 case AArch64::SSHLLT_ZZI_H:
26407 case AArch64::SSHLLT_ZZI_S:
26408 case AArch64::UQRSHRNB_ZZI_B:
26409 case AArch64::UQRSHRNB_ZZI_H:
26410 case AArch64::UQRSHRNB_ZZI_S:
26411 case AArch64::UQSHRNB_ZZI_B:
26412 case AArch64::UQSHRNB_ZZI_H:
26413 case AArch64::UQSHRNB_ZZI_S:
26414 case AArch64::USHLLB_ZZI_D:
26415 case AArch64::USHLLB_ZZI_H:
26416 case AArch64::USHLLB_ZZI_S:
26417 case AArch64::USHLLT_ZZI_D:
26418 case AArch64::USHLLT_ZZI_H:
26419 case AArch64::USHLLT_ZZI_S: {
26420 switch (OpNum) {
26421 case 0:
26422 // op: Zd
26423 return 0;
26424 case 1:
26425 // op: Zn
26426 return 5;
26427 case 2:
26428 // op: imm
26429 return 16;
26430 }
26431 break;
26432 }
26433 case AArch64::EXT_ZZI_B: {
26434 switch (OpNum) {
26435 case 0:
26436 // op: Zd
26437 return 0;
26438 case 1:
26439 // op: Zn
26440 return 5;
26441 case 2:
26442 // op: imm8
26443 return 10;
26444 }
26445 break;
26446 }
26447 case AArch64::DUPQ_ZZI_B: {
26448 switch (OpNum) {
26449 case 0:
26450 // op: Zd
26451 return 0;
26452 case 1:
26453 // op: Zn
26454 return 5;
26455 case 2:
26456 // op: index
26457 return 17;
26458 }
26459 break;
26460 }
26461 case AArch64::DUPQ_ZZI_H: {
26462 switch (OpNum) {
26463 case 0:
26464 // op: Zd
26465 return 0;
26466 case 1:
26467 // op: Zn
26468 return 5;
26469 case 2:
26470 // op: index
26471 return 18;
26472 }
26473 break;
26474 }
26475 case AArch64::DUPQ_ZZI_S: {
26476 switch (OpNum) {
26477 case 0:
26478 // op: Zd
26479 return 0;
26480 case 1:
26481 // op: Zn
26482 return 5;
26483 case 2:
26484 // op: index
26485 return 19;
26486 }
26487 break;
26488 }
26489 case AArch64::DUPQ_ZZI_D: {
26490 switch (OpNum) {
26491 case 0:
26492 // op: Zd
26493 return 0;
26494 case 1:
26495 // op: Zn
26496 return 5;
26497 case 2:
26498 // op: index
26499 return 20;
26500 }
26501 break;
26502 }
26503 case AArch64::BF1CVTLT_ZZ_BtoH:
26504 case AArch64::BF1CVT_ZZ_BtoH:
26505 case AArch64::BF2CVTLT_ZZ_BtoH:
26506 case AArch64::BF2CVT_ZZ_BtoH:
26507 case AArch64::F1CVTLT_ZZ_BtoH:
26508 case AArch64::F1CVT_ZZ_BtoH:
26509 case AArch64::F2CVTLT_ZZ_BtoH:
26510 case AArch64::F2CVT_ZZ_BtoH:
26511 case AArch64::FEXPA_ZZ_D:
26512 case AArch64::FEXPA_ZZ_H:
26513 case AArch64::FEXPA_ZZ_S:
26514 case AArch64::FRECPE_ZZ_D:
26515 case AArch64::FRECPE_ZZ_H:
26516 case AArch64::FRECPE_ZZ_S:
26517 case AArch64::FRSQRTE_ZZ_D:
26518 case AArch64::FRSQRTE_ZZ_H:
26519 case AArch64::FRSQRTE_ZZ_S:
26520 case AArch64::MOVPRFX_ZZ:
26521 case AArch64::REV_ZZ_B:
26522 case AArch64::REV_ZZ_D:
26523 case AArch64::REV_ZZ_H:
26524 case AArch64::REV_ZZ_S:
26525 case AArch64::SCVTFLT_ZZ_BtoH:
26526 case AArch64::SCVTFLT_ZZ_HtoS:
26527 case AArch64::SCVTFLT_ZZ_StoD:
26528 case AArch64::SCVTF_ZZ_BtoH:
26529 case AArch64::SCVTF_ZZ_HtoS:
26530 case AArch64::SCVTF_ZZ_StoD:
26531 case AArch64::SQXTNB_ZZ_B:
26532 case AArch64::SQXTNB_ZZ_H:
26533 case AArch64::SQXTNB_ZZ_S:
26534 case AArch64::SQXTUNB_ZZ_B:
26535 case AArch64::SQXTUNB_ZZ_H:
26536 case AArch64::SQXTUNB_ZZ_S:
26537 case AArch64::SUNPKHI_ZZ_D:
26538 case AArch64::SUNPKHI_ZZ_H:
26539 case AArch64::SUNPKHI_ZZ_S:
26540 case AArch64::SUNPKLO_ZZ_D:
26541 case AArch64::SUNPKLO_ZZ_H:
26542 case AArch64::SUNPKLO_ZZ_S:
26543 case AArch64::UCVTFLT_ZZ_BtoH:
26544 case AArch64::UCVTFLT_ZZ_HtoS:
26545 case AArch64::UCVTFLT_ZZ_StoD:
26546 case AArch64::UCVTF_ZZ_BtoH:
26547 case AArch64::UCVTF_ZZ_HtoS:
26548 case AArch64::UCVTF_ZZ_StoD:
26549 case AArch64::UQXTNB_ZZ_B:
26550 case AArch64::UQXTNB_ZZ_H:
26551 case AArch64::UQXTNB_ZZ_S:
26552 case AArch64::UUNPKHI_ZZ_D:
26553 case AArch64::UUNPKHI_ZZ_H:
26554 case AArch64::UUNPKHI_ZZ_S:
26555 case AArch64::UUNPKLO_ZZ_D:
26556 case AArch64::UUNPKLO_ZZ_H:
26557 case AArch64::UUNPKLO_ZZ_S: {
26558 switch (OpNum) {
26559 case 0:
26560 // op: Zd
26561 return 0;
26562 case 1:
26563 // op: Zn
26564 return 5;
26565 }
26566 break;
26567 }
26568 case AArch64::SQRSHRN_Z2ZI_HtoB:
26569 case AArch64::SQRSHRN_Z2ZI_StoH:
26570 case AArch64::SQRSHRUN_Z2ZI_HtoB:
26571 case AArch64::SQRSHRUN_Z2ZI_StoH:
26572 case AArch64::SQSHRN_Z2ZI_HtoB:
26573 case AArch64::SQSHRN_Z2ZI_StoH:
26574 case AArch64::SQSHRUN_Z2ZI_HtoB:
26575 case AArch64::SQSHRUN_Z2ZI_StoH:
26576 case AArch64::UQRSHRN_Z2ZI_HtoB:
26577 case AArch64::UQRSHRN_Z2ZI_StoH:
26578 case AArch64::UQSHRN_Z2ZI_HtoB:
26579 case AArch64::UQSHRN_Z2ZI_StoH: {
26580 switch (OpNum) {
26581 case 0:
26582 // op: Zd
26583 return 0;
26584 case 1:
26585 // op: Zn
26586 return 6;
26587 case 2:
26588 // op: imm
26589 return 16;
26590 }
26591 break;
26592 }
26593 case AArch64::BFCVTN_Z2Z_HtoB:
26594 case AArch64::FCVTNB_Z2Z_StoB:
26595 case AArch64::FCVTN_Z2Z_HtoB:
26596 case AArch64::FCVTZSN_Z2Z_DtoS:
26597 case AArch64::FCVTZSN_Z2Z_HtoB:
26598 case AArch64::FCVTZSN_Z2Z_StoH:
26599 case AArch64::FCVTZUN_Z2Z_DtoS:
26600 case AArch64::FCVTZUN_Z2Z_HtoB:
26601 case AArch64::FCVTZUN_Z2Z_StoH:
26602 case AArch64::SQCVTN_Z2Z_StoH:
26603 case AArch64::SQCVTUN_Z2Z_StoH:
26604 case AArch64::UQCVTN_Z2Z_StoH: {
26605 switch (OpNum) {
26606 case 0:
26607 // op: Zd
26608 return 0;
26609 case 1:
26610 // op: Zn
26611 return 6;
26612 }
26613 break;
26614 }
26615 case AArch64::DUP_ZI_B:
26616 case AArch64::DUP_ZI_D:
26617 case AArch64::DUP_ZI_H:
26618 case AArch64::DUP_ZI_S: {
26619 switch (OpNum) {
26620 case 0:
26621 // op: Zd
26622 return 0;
26623 case 1:
26624 // op: imm
26625 return 5;
26626 }
26627 break;
26628 }
26629 case AArch64::INDEX_II_B:
26630 case AArch64::INDEX_II_D:
26631 case AArch64::INDEX_II_H:
26632 case AArch64::INDEX_II_S: {
26633 switch (OpNum) {
26634 case 0:
26635 // op: Zd
26636 return 0;
26637 case 1:
26638 // op: imm5
26639 return 5;
26640 case 2:
26641 // op: imm5b
26642 return 16;
26643 }
26644 break;
26645 }
26646 case AArch64::FDUP_ZI_D:
26647 case AArch64::FDUP_ZI_H:
26648 case AArch64::FDUP_ZI_S: {
26649 switch (OpNum) {
26650 case 0:
26651 // op: Zd
26652 return 0;
26653 case 1:
26654 // op: imm8
26655 return 5;
26656 }
26657 break;
26658 }
26659 case AArch64::DUPM_ZI: {
26660 switch (OpNum) {
26661 case 0:
26662 // op: Zd
26663 return 0;
26664 case 1:
26665 // op: imms
26666 return 5;
26667 }
26668 break;
26669 }
26670 case AArch64::RBIT_ZPmZ_B:
26671 case AArch64::RBIT_ZPmZ_D:
26672 case AArch64::RBIT_ZPmZ_H:
26673 case AArch64::RBIT_ZPmZ_S:
26674 case AArch64::REVB_ZPmZ_D:
26675 case AArch64::REVB_ZPmZ_H:
26676 case AArch64::REVB_ZPmZ_S:
26677 case AArch64::REVD_ZPmZ:
26678 case AArch64::REVH_ZPmZ_D:
26679 case AArch64::REVH_ZPmZ_S:
26680 case AArch64::REVW_ZPmZ_D: {
26681 switch (OpNum) {
26682 case 0:
26683 // op: Zd
26684 return 0;
26685 case 2:
26686 // op: Pg
26687 return 10;
26688 case 3:
26689 // op: Zn
26690 return 5;
26691 }
26692 break;
26693 }
26694 case AArch64::CPY_ZPmI_B:
26695 case AArch64::CPY_ZPmI_D:
26696 case AArch64::CPY_ZPmI_H:
26697 case AArch64::CPY_ZPmI_S: {
26698 switch (OpNum) {
26699 case 0:
26700 // op: Zd
26701 return 0;
26702 case 2:
26703 // op: Pg
26704 return 16;
26705 case 3:
26706 // op: imm
26707 return 5;
26708 }
26709 break;
26710 }
26711 case AArch64::INDEX_RR_B:
26712 case AArch64::INDEX_RR_D:
26713 case AArch64::INDEX_RR_H:
26714 case AArch64::INDEX_RR_S: {
26715 switch (OpNum) {
26716 case 0:
26717 // op: Zd
26718 return 0;
26719 case 2:
26720 // op: Rm
26721 return 16;
26722 case 1:
26723 // op: Rn
26724 return 5;
26725 }
26726 break;
26727 }
26728 case AArch64::ADDQP_ZZZ_B:
26729 case AArch64::ADDQP_ZZZ_D:
26730 case AArch64::ADDQP_ZZZ_H:
26731 case AArch64::ADDQP_ZZZ_S:
26732 case AArch64::ADDSUBP_ZZZ_B:
26733 case AArch64::ADDSUBP_ZZZ_D:
26734 case AArch64::ADDSUBP_ZZZ_H:
26735 case AArch64::ADDSUBP_ZZZ_S:
26736 case AArch64::ADD_ZZZ_B:
26737 case AArch64::ADD_ZZZ_CPA:
26738 case AArch64::ADD_ZZZ_D:
26739 case AArch64::ADD_ZZZ_H:
26740 case AArch64::ADD_ZZZ_S:
26741 case AArch64::AND_ZZZ:
26742 case AArch64::ASR_WIDE_ZZZ_B:
26743 case AArch64::ASR_WIDE_ZZZ_H:
26744 case AArch64::ASR_WIDE_ZZZ_S:
26745 case AArch64::BFADD_ZZZ:
26746 case AArch64::BFMUL_ZZZ:
26747 case AArch64::BFSUB_ZZZ:
26748 case AArch64::BIC_ZZZ:
26749 case AArch64::EOR_ZZZ:
26750 case AArch64::FADD_ZZZ_D:
26751 case AArch64::FADD_ZZZ_H:
26752 case AArch64::FADD_ZZZ_S:
26753 case AArch64::FMUL_ZZZ_D:
26754 case AArch64::FMUL_ZZZ_H:
26755 case AArch64::FMUL_ZZZ_S:
26756 case AArch64::FRECPS_ZZZ_D:
26757 case AArch64::FRECPS_ZZZ_H:
26758 case AArch64::FRECPS_ZZZ_S:
26759 case AArch64::FRSQRTS_ZZZ_D:
26760 case AArch64::FRSQRTS_ZZZ_H:
26761 case AArch64::FRSQRTS_ZZZ_S:
26762 case AArch64::FSUB_ZZZ_D:
26763 case AArch64::FSUB_ZZZ_H:
26764 case AArch64::FSUB_ZZZ_S:
26765 case AArch64::FTSMUL_ZZZ_D:
26766 case AArch64::FTSMUL_ZZZ_H:
26767 case AArch64::FTSMUL_ZZZ_S:
26768 case AArch64::FTSSEL_ZZZ_D:
26769 case AArch64::FTSSEL_ZZZ_H:
26770 case AArch64::FTSSEL_ZZZ_S:
26771 case AArch64::LSL_WIDE_ZZZ_B:
26772 case AArch64::LSL_WIDE_ZZZ_H:
26773 case AArch64::LSL_WIDE_ZZZ_S:
26774 case AArch64::LSR_WIDE_ZZZ_B:
26775 case AArch64::LSR_WIDE_ZZZ_H:
26776 case AArch64::LSR_WIDE_ZZZ_S:
26777 case AArch64::MUL_ZZZ_B:
26778 case AArch64::MUL_ZZZ_D:
26779 case AArch64::MUL_ZZZ_H:
26780 case AArch64::MUL_ZZZ_S:
26781 case AArch64::ORR_ZZZ:
26782 case AArch64::PMUL_ZZZ_B:
26783 case AArch64::SMULH_ZZZ_B:
26784 case AArch64::SMULH_ZZZ_D:
26785 case AArch64::SMULH_ZZZ_H:
26786 case AArch64::SMULH_ZZZ_S:
26787 case AArch64::SQADD_ZZZ_B:
26788 case AArch64::SQADD_ZZZ_D:
26789 case AArch64::SQADD_ZZZ_H:
26790 case AArch64::SQADD_ZZZ_S:
26791 case AArch64::SQDMULH_ZZZ_B:
26792 case AArch64::SQDMULH_ZZZ_D:
26793 case AArch64::SQDMULH_ZZZ_H:
26794 case AArch64::SQDMULH_ZZZ_S:
26795 case AArch64::SQRDMULH_ZZZ_B:
26796 case AArch64::SQRDMULH_ZZZ_D:
26797 case AArch64::SQRDMULH_ZZZ_H:
26798 case AArch64::SQRDMULH_ZZZ_S:
26799 case AArch64::SQSUB_ZZZ_B:
26800 case AArch64::SQSUB_ZZZ_D:
26801 case AArch64::SQSUB_ZZZ_H:
26802 case AArch64::SQSUB_ZZZ_S:
26803 case AArch64::SUB_ZZZ_B:
26804 case AArch64::SUB_ZZZ_CPA:
26805 case AArch64::SUB_ZZZ_D:
26806 case AArch64::SUB_ZZZ_H:
26807 case AArch64::SUB_ZZZ_S:
26808 case AArch64::TBL_ZZZZ_B:
26809 case AArch64::TBL_ZZZZ_D:
26810 case AArch64::TBL_ZZZZ_H:
26811 case AArch64::TBL_ZZZZ_S:
26812 case AArch64::TBL_ZZZ_B:
26813 case AArch64::TBL_ZZZ_D:
26814 case AArch64::TBL_ZZZ_H:
26815 case AArch64::TBL_ZZZ_S:
26816 case AArch64::TRN1_ZZZ_B:
26817 case AArch64::TRN1_ZZZ_D:
26818 case AArch64::TRN1_ZZZ_H:
26819 case AArch64::TRN1_ZZZ_Q:
26820 case AArch64::TRN1_ZZZ_S:
26821 case AArch64::TRN2_ZZZ_B:
26822 case AArch64::TRN2_ZZZ_D:
26823 case AArch64::TRN2_ZZZ_H:
26824 case AArch64::TRN2_ZZZ_Q:
26825 case AArch64::TRN2_ZZZ_S:
26826 case AArch64::UMULH_ZZZ_B:
26827 case AArch64::UMULH_ZZZ_D:
26828 case AArch64::UMULH_ZZZ_H:
26829 case AArch64::UMULH_ZZZ_S:
26830 case AArch64::UQADD_ZZZ_B:
26831 case AArch64::UQADD_ZZZ_D:
26832 case AArch64::UQADD_ZZZ_H:
26833 case AArch64::UQADD_ZZZ_S:
26834 case AArch64::UQSUB_ZZZ_B:
26835 case AArch64::UQSUB_ZZZ_D:
26836 case AArch64::UQSUB_ZZZ_H:
26837 case AArch64::UQSUB_ZZZ_S:
26838 case AArch64::UZP1_ZZZ_B:
26839 case AArch64::UZP1_ZZZ_D:
26840 case AArch64::UZP1_ZZZ_H:
26841 case AArch64::UZP1_ZZZ_Q:
26842 case AArch64::UZP1_ZZZ_S:
26843 case AArch64::UZP2_ZZZ_B:
26844 case AArch64::UZP2_ZZZ_D:
26845 case AArch64::UZP2_ZZZ_H:
26846 case AArch64::UZP2_ZZZ_Q:
26847 case AArch64::UZP2_ZZZ_S:
26848 case AArch64::ZIP1_ZZZ_B:
26849 case AArch64::ZIP1_ZZZ_D:
26850 case AArch64::ZIP1_ZZZ_H:
26851 case AArch64::ZIP1_ZZZ_Q:
26852 case AArch64::ZIP1_ZZZ_S:
26853 case AArch64::ZIP2_ZZZ_B:
26854 case AArch64::ZIP2_ZZZ_D:
26855 case AArch64::ZIP2_ZZZ_H:
26856 case AArch64::ZIP2_ZZZ_Q:
26857 case AArch64::ZIP2_ZZZ_S: {
26858 switch (OpNum) {
26859 case 0:
26860 // op: Zd
26861 return 0;
26862 case 2:
26863 // op: Zm
26864 return 16;
26865 case 1:
26866 // op: Zn
26867 return 5;
26868 }
26869 break;
26870 }
26871 case AArch64::HISTCNT_ZPzZZ_D:
26872 case AArch64::HISTCNT_ZPzZZ_S: {
26873 switch (OpNum) {
26874 case 0:
26875 // op: Zd
26876 return 0;
26877 case 2:
26878 // op: Zn
26879 return 5;
26880 case 1:
26881 // op: Pg
26882 return 10;
26883 case 3:
26884 // op: Zm
26885 return 16;
26886 }
26887 break;
26888 }
26889 case AArch64::FCVTLT_ZPzZ_HtoS:
26890 case AArch64::FCVTLT_ZPzZ_StoD: {
26891 switch (OpNum) {
26892 case 0:
26893 // op: Zd
26894 return 0;
26895 case 2:
26896 // op: Zn
26897 return 5;
26898 case 1:
26899 // op: Pg
26900 return 10;
26901 }
26902 break;
26903 }
26904 case AArch64::ADDHNT_ZZZ_B:
26905 case AArch64::ADDHNT_ZZZ_H:
26906 case AArch64::ADDHNT_ZZZ_S:
26907 case AArch64::EORBT_ZZZ_B:
26908 case AArch64::EORBT_ZZZ_D:
26909 case AArch64::EORBT_ZZZ_H:
26910 case AArch64::EORBT_ZZZ_S:
26911 case AArch64::EORTB_ZZZ_B:
26912 case AArch64::EORTB_ZZZ_D:
26913 case AArch64::EORTB_ZZZ_H:
26914 case AArch64::EORTB_ZZZ_S:
26915 case AArch64::RADDHNT_ZZZ_B:
26916 case AArch64::RADDHNT_ZZZ_H:
26917 case AArch64::RADDHNT_ZZZ_S:
26918 case AArch64::RSUBHNT_ZZZ_B:
26919 case AArch64::RSUBHNT_ZZZ_H:
26920 case AArch64::RSUBHNT_ZZZ_S:
26921 case AArch64::SUBHNT_ZZZ_B:
26922 case AArch64::SUBHNT_ZZZ_H:
26923 case AArch64::SUBHNT_ZZZ_S: {
26924 switch (OpNum) {
26925 case 0:
26926 // op: Zd
26927 return 0;
26928 case 2:
26929 // op: Zn
26930 return 5;
26931 case 3:
26932 // op: Zm
26933 return 16;
26934 }
26935 break;
26936 }
26937 case AArch64::RSHRNT_ZZI_B:
26938 case AArch64::RSHRNT_ZZI_H:
26939 case AArch64::RSHRNT_ZZI_S:
26940 case AArch64::SHRNT_ZZI_B:
26941 case AArch64::SHRNT_ZZI_H:
26942 case AArch64::SHRNT_ZZI_S:
26943 case AArch64::SLI_ZZI_B:
26944 case AArch64::SLI_ZZI_D:
26945 case AArch64::SLI_ZZI_H:
26946 case AArch64::SLI_ZZI_S:
26947 case AArch64::SQRSHRNT_ZZI_B:
26948 case AArch64::SQRSHRNT_ZZI_H:
26949 case AArch64::SQRSHRNT_ZZI_S:
26950 case AArch64::SQRSHRUNT_ZZI_B:
26951 case AArch64::SQRSHRUNT_ZZI_H:
26952 case AArch64::SQRSHRUNT_ZZI_S:
26953 case AArch64::SQSHRNT_ZZI_B:
26954 case AArch64::SQSHRNT_ZZI_H:
26955 case AArch64::SQSHRNT_ZZI_S:
26956 case AArch64::SQSHRUNT_ZZI_B:
26957 case AArch64::SQSHRUNT_ZZI_H:
26958 case AArch64::SQSHRUNT_ZZI_S:
26959 case AArch64::SRI_ZZI_B:
26960 case AArch64::SRI_ZZI_D:
26961 case AArch64::SRI_ZZI_H:
26962 case AArch64::SRI_ZZI_S:
26963 case AArch64::UQRSHRNT_ZZI_B:
26964 case AArch64::UQRSHRNT_ZZI_H:
26965 case AArch64::UQRSHRNT_ZZI_S:
26966 case AArch64::UQSHRNT_ZZI_B:
26967 case AArch64::UQSHRNT_ZZI_H:
26968 case AArch64::UQSHRNT_ZZI_S: {
26969 switch (OpNum) {
26970 case 0:
26971 // op: Zd
26972 return 0;
26973 case 2:
26974 // op: Zn
26975 return 5;
26976 case 3:
26977 // op: imm
26978 return 16;
26979 }
26980 break;
26981 }
26982 case AArch64::LUTI6_ZTZ:
26983 case AArch64::SQXTNT_ZZ_B:
26984 case AArch64::SQXTNT_ZZ_H:
26985 case AArch64::SQXTNT_ZZ_S:
26986 case AArch64::SQXTUNT_ZZ_B:
26987 case AArch64::SQXTUNT_ZZ_H:
26988 case AArch64::SQXTUNT_ZZ_S:
26989 case AArch64::UQXTNT_ZZ_B:
26990 case AArch64::UQXTNT_ZZ_H:
26991 case AArch64::UQXTNT_ZZ_S: {
26992 switch (OpNum) {
26993 case 0:
26994 // op: Zd
26995 return 0;
26996 case 2:
26997 // op: Zn
26998 return 5;
26999 }
27000 break;
27001 }
27002 case AArch64::FCVTNT_Z2Z_StoB: {
27003 switch (OpNum) {
27004 case 0:
27005 // op: Zd
27006 return 0;
27007 case 2:
27008 // op: Zn
27009 return 6;
27010 }
27011 break;
27012 }
27013 case AArch64::LUTI6_S_4ZT3Z: {
27014 switch (OpNum) {
27015 case 0:
27016 // op: Zd
27017 return 0;
27018 case 2:
27019 // op: Zn
27020 return 7;
27021 }
27022 break;
27023 }
27024 case AArch64::PMOV_ZIP_D:
27025 case AArch64::PMOV_ZIP_H:
27026 case AArch64::PMOV_ZIP_S: {
27027 switch (OpNum) {
27028 case 0:
27029 // op: Zd
27030 return 0;
27031 case 3:
27032 // op: Pn
27033 return 5;
27034 case 2:
27035 // op: index
27036 return 17;
27037 }
27038 break;
27039 }
27040 case AArch64::PMOV_ZIP_B: {
27041 switch (OpNum) {
27042 case 0:
27043 // op: Zd
27044 return 0;
27045 case 3:
27046 // op: Pn
27047 return 5;
27048 }
27049 break;
27050 }
27051 case AArch64::TBXQ_ZZZ_B:
27052 case AArch64::TBXQ_ZZZ_D:
27053 case AArch64::TBXQ_ZZZ_H:
27054 case AArch64::TBXQ_ZZZ_S:
27055 case AArch64::TBX_ZZZ_B:
27056 case AArch64::TBX_ZZZ_D:
27057 case AArch64::TBX_ZZZ_H:
27058 case AArch64::TBX_ZZZ_S: {
27059 switch (OpNum) {
27060 case 0:
27061 // op: Zd
27062 return 0;
27063 case 3:
27064 // op: Zm
27065 return 16;
27066 case 2:
27067 // op: Zn
27068 return 5;
27069 }
27070 break;
27071 }
27072 case AArch64::BFCVTNT_ZPmZ:
27073 case AArch64::BFCVTNT_ZPzZ_StoH:
27074 case AArch64::FCVTLT_ZPmZ_HtoS:
27075 case AArch64::FCVTLT_ZPmZ_StoD:
27076 case AArch64::FCVTNT_ZPmZ_DtoS:
27077 case AArch64::FCVTNT_ZPmZ_StoH:
27078 case AArch64::FCVTNT_ZPzZ_DtoS:
27079 case AArch64::FCVTNT_ZPzZ_StoH:
27080 case AArch64::FCVTXNT_ZPmZ_DtoS:
27081 case AArch64::FCVTXNT_ZPzZ_StoD: {
27082 switch (OpNum) {
27083 case 0:
27084 // op: Zd
27085 return 0;
27086 case 3:
27087 // op: Zn
27088 return 5;
27089 case 2:
27090 // op: Pg
27091 return 10;
27092 }
27093 break;
27094 }
27095 case AArch64::BFMUL_2Z2Z:
27096 case AArch64::BFMUL_2ZZ:
27097 case AArch64::FMUL_2Z2Z_D:
27098 case AArch64::FMUL_2Z2Z_H:
27099 case AArch64::FMUL_2Z2Z_S:
27100 case AArch64::FMUL_2ZZ_D:
27101 case AArch64::FMUL_2ZZ_H:
27102 case AArch64::FMUL_2ZZ_S: {
27103 switch (OpNum) {
27104 case 0:
27105 // op: Zd
27106 return 1;
27107 case 1:
27108 // op: Zn
27109 return 6;
27110 case 2:
27111 // op: Zm
27112 return 17;
27113 }
27114 break;
27115 }
27116 case AArch64::MOVA_2ZMXI_H_D:
27117 case AArch64::MOVA_2ZMXI_V_D: {
27118 switch (OpNum) {
27119 case 0:
27120 // op: Zd
27121 return 1;
27122 case 2:
27123 // op: Rs
27124 return 13;
27125 case 1:
27126 // op: ZAn
27127 return 5;
27128 }
27129 break;
27130 }
27131 case AArch64::MOVA_2ZMXI_H_S:
27132 case AArch64::MOVA_2ZMXI_V_S: {
27133 switch (OpNum) {
27134 case 0:
27135 // op: Zd
27136 return 1;
27137 case 2:
27138 // op: Rs
27139 return 13;
27140 case 1:
27141 // op: ZAn
27142 return 6;
27143 case 3:
27144 // op: imm
27145 return 5;
27146 }
27147 break;
27148 }
27149 case AArch64::MOVA_2ZMXI_H_H:
27150 case AArch64::MOVA_2ZMXI_V_H: {
27151 switch (OpNum) {
27152 case 0:
27153 // op: Zd
27154 return 1;
27155 case 2:
27156 // op: Rs
27157 return 13;
27158 case 1:
27159 // op: ZAn
27160 return 7;
27161 case 3:
27162 // op: imm
27163 return 5;
27164 }
27165 break;
27166 }
27167 case AArch64::MOVA_2ZMXI_H_B:
27168 case AArch64::MOVA_2ZMXI_V_B: {
27169 switch (OpNum) {
27170 case 0:
27171 // op: Zd
27172 return 1;
27173 case 2:
27174 // op: Rs
27175 return 13;
27176 case 3:
27177 // op: imm
27178 return 5;
27179 }
27180 break;
27181 }
27182 case AArch64::UZP_VG2_2ZZZ_B:
27183 case AArch64::UZP_VG2_2ZZZ_D:
27184 case AArch64::UZP_VG2_2ZZZ_H:
27185 case AArch64::UZP_VG2_2ZZZ_Q:
27186 case AArch64::UZP_VG2_2ZZZ_S:
27187 case AArch64::ZIP_VG2_2ZZZ_B:
27188 case AArch64::ZIP_VG2_2ZZZ_D:
27189 case AArch64::ZIP_VG2_2ZZZ_H:
27190 case AArch64::ZIP_VG2_2ZZZ_Q:
27191 case AArch64::ZIP_VG2_2ZZZ_S: {
27192 switch (OpNum) {
27193 case 0:
27194 // op: Zd
27195 return 1;
27196 case 2:
27197 // op: Zm
27198 return 16;
27199 case 1:
27200 // op: Zn
27201 return 5;
27202 }
27203 break;
27204 }
27205 case AArch64::MOVAZ_2ZMI_H_D:
27206 case AArch64::MOVAZ_2ZMI_V_D: {
27207 switch (OpNum) {
27208 case 0:
27209 // op: Zd
27210 return 1;
27211 case 3:
27212 // op: Rs
27213 return 13;
27214 case 2:
27215 // op: ZAn
27216 return 5;
27217 }
27218 break;
27219 }
27220 case AArch64::MOVAZ_2ZMI_H_S:
27221 case AArch64::MOVAZ_2ZMI_V_S: {
27222 switch (OpNum) {
27223 case 0:
27224 // op: Zd
27225 return 1;
27226 case 3:
27227 // op: Rs
27228 return 13;
27229 case 2:
27230 // op: ZAn
27231 return 6;
27232 case 4:
27233 // op: imm
27234 return 5;
27235 }
27236 break;
27237 }
27238 case AArch64::MOVAZ_2ZMI_H_H:
27239 case AArch64::MOVAZ_2ZMI_V_H: {
27240 switch (OpNum) {
27241 case 0:
27242 // op: Zd
27243 return 1;
27244 case 3:
27245 // op: Rs
27246 return 13;
27247 case 2:
27248 // op: ZAn
27249 return 7;
27250 case 4:
27251 // op: imm
27252 return 5;
27253 }
27254 break;
27255 }
27256 case AArch64::MOVAZ_2ZMI_H_B:
27257 case AArch64::MOVAZ_2ZMI_V_B: {
27258 switch (OpNum) {
27259 case 0:
27260 // op: Zd
27261 return 1;
27262 case 3:
27263 // op: Rs
27264 return 13;
27265 case 4:
27266 // op: imm
27267 return 5;
27268 }
27269 break;
27270 }
27271 case AArch64::LUTI6_4Z2Z2ZI: {
27272 switch (OpNum) {
27273 case 0:
27274 // op: Zd
27275 return 2;
27276 case 1:
27277 // op: Zn
27278 return 5;
27279 case 2:
27280 // op: Zm
27281 return 16;
27282 case 3:
27283 // op: i1
27284 return 22;
27285 }
27286 break;
27287 }
27288 case AArch64::BFMUL_4ZZ:
27289 case AArch64::FMUL_4ZZ_D:
27290 case AArch64::FMUL_4ZZ_H:
27291 case AArch64::FMUL_4ZZ_S: {
27292 switch (OpNum) {
27293 case 0:
27294 // op: Zd
27295 return 2;
27296 case 1:
27297 // op: Zn
27298 return 7;
27299 case 2:
27300 // op: Zm
27301 return 17;
27302 }
27303 break;
27304 }
27305 case AArch64::BFMUL_4Z4Z:
27306 case AArch64::FMUL_4Z4Z_D:
27307 case AArch64::FMUL_4Z4Z_H:
27308 case AArch64::FMUL_4Z4Z_S: {
27309 switch (OpNum) {
27310 case 0:
27311 // op: Zd
27312 return 2;
27313 case 1:
27314 // op: Zn
27315 return 7;
27316 case 2:
27317 // op: Zm
27318 return 18;
27319 }
27320 break;
27321 }
27322 case AArch64::MOVA_4ZMXI_H_D:
27323 case AArch64::MOVA_4ZMXI_H_S:
27324 case AArch64::MOVA_4ZMXI_V_D:
27325 case AArch64::MOVA_4ZMXI_V_S: {
27326 switch (OpNum) {
27327 case 0:
27328 // op: Zd
27329 return 2;
27330 case 2:
27331 // op: Rs
27332 return 13;
27333 case 1:
27334 // op: ZAn
27335 return 5;
27336 }
27337 break;
27338 }
27339 case AArch64::MOVA_4ZMXI_H_H:
27340 case AArch64::MOVA_4ZMXI_V_H: {
27341 switch (OpNum) {
27342 case 0:
27343 // op: Zd
27344 return 2;
27345 case 2:
27346 // op: Rs
27347 return 13;
27348 case 1:
27349 // op: ZAn
27350 return 6;
27351 case 3:
27352 // op: imm
27353 return 5;
27354 }
27355 break;
27356 }
27357 case AArch64::MOVA_4ZMXI_H_B:
27358 case AArch64::MOVA_4ZMXI_V_B: {
27359 switch (OpNum) {
27360 case 0:
27361 // op: Zd
27362 return 2;
27363 case 2:
27364 // op: Rs
27365 return 13;
27366 case 3:
27367 // op: imm
27368 return 5;
27369 }
27370 break;
27371 }
27372 case AArch64::LUTI6_4ZT3Z: {
27373 switch (OpNum) {
27374 case 0:
27375 // op: Zd
27376 return 2;
27377 case 2:
27378 // op: Zn
27379 return 7;
27380 }
27381 break;
27382 }
27383 case AArch64::MOVAZ_4ZMI_H_D:
27384 case AArch64::MOVAZ_4ZMI_H_S:
27385 case AArch64::MOVAZ_4ZMI_V_D:
27386 case AArch64::MOVAZ_4ZMI_V_S: {
27387 switch (OpNum) {
27388 case 0:
27389 // op: Zd
27390 return 2;
27391 case 3:
27392 // op: Rs
27393 return 13;
27394 case 2:
27395 // op: ZAn
27396 return 5;
27397 }
27398 break;
27399 }
27400 case AArch64::MOVAZ_4ZMI_H_H:
27401 case AArch64::MOVAZ_4ZMI_V_H: {
27402 switch (OpNum) {
27403 case 0:
27404 // op: Zd
27405 return 2;
27406 case 3:
27407 // op: Rs
27408 return 13;
27409 case 2:
27410 // op: ZAn
27411 return 6;
27412 case 4:
27413 // op: imm
27414 return 5;
27415 }
27416 break;
27417 }
27418 case AArch64::MOVAZ_4ZMI_H_B:
27419 case AArch64::MOVAZ_4ZMI_V_B: {
27420 switch (OpNum) {
27421 case 0:
27422 // op: Zd
27423 return 2;
27424 case 3:
27425 // op: Rs
27426 return 13;
27427 case 4:
27428 // op: imm
27429 return 5;
27430 }
27431 break;
27432 }
27433 case AArch64::FCMLA_ZPmZZ_D:
27434 case AArch64::FCMLA_ZPmZZ_H:
27435 case AArch64::FCMLA_ZPmZZ_S: {
27436 switch (OpNum) {
27437 case 0:
27438 // op: Zda
27439 return 0;
27440 case 1:
27441 // op: Pg
27442 return 10;
27443 case 3:
27444 // op: Zn
27445 return 5;
27446 case 4:
27447 // op: Zm
27448 return 16;
27449 case 5:
27450 // op: imm
27451 return 13;
27452 }
27453 break;
27454 }
27455 case AArch64::SDOT_ZZZI_HtoS:
27456 case AArch64::UDOT_ZZZI_HtoS: {
27457 switch (OpNum) {
27458 case 0:
27459 // op: Zda
27460 return 0;
27461 case 2:
27462 // op: Zn
27463 return 5;
27464 case 3:
27465 // op: Zm
27466 return 16;
27467 case 4:
27468 // op: i2
27469 return 19;
27470 }
27471 break;
27472 }
27473 case AArch64::SUDOT_ZZZI:
27474 case AArch64::USDOT_ZZZI: {
27475 switch (OpNum) {
27476 case 0:
27477 // op: Zda
27478 return 0;
27479 case 2:
27480 // op: Zn
27481 return 5;
27482 case 3:
27483 // op: Zm
27484 return 16;
27485 case 4:
27486 // op: idx
27487 return 19;
27488 }
27489 break;
27490 }
27491 case AArch64::FMLALB_ZZZI:
27492 case AArch64::FMLALLBB_ZZZI:
27493 case AArch64::FMLALLBT_ZZZI:
27494 case AArch64::FMLALLTB_ZZZI:
27495 case AArch64::FMLALLTT_ZZZI:
27496 case AArch64::FMLALT_ZZZI: {
27497 switch (OpNum) {
27498 case 0:
27499 // op: Zda
27500 return 0;
27501 case 2:
27502 // op: Zn
27503 return 5;
27504 case 3:
27505 // op: Zm
27506 return 16;
27507 case 4:
27508 // op: imm4
27509 return 10;
27510 }
27511 break;
27512 }
27513 case AArch64::BFMLALB_ZZZI:
27514 case AArch64::BFMLALT_ZZZI:
27515 case AArch64::BFMLSLB_ZZZI_S:
27516 case AArch64::BFMLSLT_ZZZI_S:
27517 case AArch64::FDOT_ZZZI_BtoH:
27518 case AArch64::FMLALB_ZZZI_SHH:
27519 case AArch64::FMLALT_ZZZI_SHH:
27520 case AArch64::FMLSLB_ZZZI_SHH:
27521 case AArch64::FMLSLT_ZZZI_SHH:
27522 case AArch64::SMLALB_ZZZI_D:
27523 case AArch64::SMLALB_ZZZI_S:
27524 case AArch64::SMLALT_ZZZI_D:
27525 case AArch64::SMLALT_ZZZI_S:
27526 case AArch64::SMLSLB_ZZZI_D:
27527 case AArch64::SMLSLB_ZZZI_S:
27528 case AArch64::SMLSLT_ZZZI_D:
27529 case AArch64::SMLSLT_ZZZI_S:
27530 case AArch64::SQDMLALB_ZZZI_D:
27531 case AArch64::SQDMLALB_ZZZI_S:
27532 case AArch64::SQDMLALT_ZZZI_D:
27533 case AArch64::SQDMLALT_ZZZI_S:
27534 case AArch64::SQDMLSLB_ZZZI_D:
27535 case AArch64::SQDMLSLB_ZZZI_S:
27536 case AArch64::SQDMLSLT_ZZZI_D:
27537 case AArch64::SQDMLSLT_ZZZI_S:
27538 case AArch64::UMLALB_ZZZI_D:
27539 case AArch64::UMLALB_ZZZI_S:
27540 case AArch64::UMLALT_ZZZI_D:
27541 case AArch64::UMLALT_ZZZI_S:
27542 case AArch64::UMLSLB_ZZZI_D:
27543 case AArch64::UMLSLB_ZZZI_S:
27544 case AArch64::UMLSLT_ZZZI_D:
27545 case AArch64::UMLSLT_ZZZI_S: {
27546 switch (OpNum) {
27547 case 0:
27548 // op: Zda
27549 return 0;
27550 case 2:
27551 // op: Zn
27552 return 5;
27553 case 3:
27554 // op: Zm
27555 return 16;
27556 case 4:
27557 // op: iop
27558 return 11;
27559 }
27560 break;
27561 }
27562 case AArch64::BFDOT_ZZI:
27563 case AArch64::BFMLA_ZZZI:
27564 case AArch64::BFMLS_ZZZI:
27565 case AArch64::FDOT_ZZZI_BtoS:
27566 case AArch64::FDOT_ZZZI_S:
27567 case AArch64::FMLA_ZZZI_H:
27568 case AArch64::FMLA_ZZZI_S:
27569 case AArch64::FMLS_ZZZI_H:
27570 case AArch64::FMLS_ZZZI_S:
27571 case AArch64::MLA_ZZZI_H:
27572 case AArch64::MLA_ZZZI_S:
27573 case AArch64::MLS_ZZZI_H:
27574 case AArch64::MLS_ZZZI_S:
27575 case AArch64::SQRDMLAH_ZZZI_H:
27576 case AArch64::SQRDMLAH_ZZZI_S:
27577 case AArch64::SQRDMLSH_ZZZI_H:
27578 case AArch64::SQRDMLSH_ZZZI_S: {
27579 switch (OpNum) {
27580 case 0:
27581 // op: Zda
27582 return 0;
27583 case 2:
27584 // op: Zn
27585 return 5;
27586 case 3:
27587 // op: Zm
27588 return 16;
27589 case 4:
27590 // op: iop
27591 return 19;
27592 }
27593 break;
27594 }
27595 case AArch64::FMLA_ZZZI_D:
27596 case AArch64::FMLS_ZZZI_D:
27597 case AArch64::MLA_ZZZI_D:
27598 case AArch64::MLS_ZZZI_D:
27599 case AArch64::SQRDMLAH_ZZZI_D:
27600 case AArch64::SQRDMLSH_ZZZI_D: {
27601 switch (OpNum) {
27602 case 0:
27603 // op: Zda
27604 return 0;
27605 case 2:
27606 // op: Zn
27607 return 5;
27608 case 3:
27609 // op: Zm
27610 return 16;
27611 case 4:
27612 // op: iop
27613 return 20;
27614 }
27615 break;
27616 }
27617 case AArch64::CDOT_ZZZ_D:
27618 case AArch64::CDOT_ZZZ_S:
27619 case AArch64::CMLA_ZZZ_B:
27620 case AArch64::CMLA_ZZZ_D:
27621 case AArch64::CMLA_ZZZ_H:
27622 case AArch64::CMLA_ZZZ_S:
27623 case AArch64::SQRDCMLAH_ZZZ_B:
27624 case AArch64::SQRDCMLAH_ZZZ_D:
27625 case AArch64::SQRDCMLAH_ZZZ_H:
27626 case AArch64::SQRDCMLAH_ZZZ_S: {
27627 switch (OpNum) {
27628 case 0:
27629 // op: Zda
27630 return 0;
27631 case 2:
27632 // op: Zn
27633 return 5;
27634 case 3:
27635 // op: Zm
27636 return 16;
27637 case 4:
27638 // op: rot
27639 return 10;
27640 }
27641 break;
27642 }
27643 case AArch64::ADCLB_ZZZ_D:
27644 case AArch64::ADCLB_ZZZ_S:
27645 case AArch64::ADCLT_ZZZ_D:
27646 case AArch64::ADCLT_ZZZ_S:
27647 case AArch64::BFDOT_ZZZ:
27648 case AArch64::BFMLALB_ZZZ:
27649 case AArch64::BFMLALT_ZZZ:
27650 case AArch64::BFMLSLB_ZZZ_S:
27651 case AArch64::BFMLSLT_ZZZ_S:
27652 case AArch64::BFMMLA_ZZZ_H:
27653 case AArch64::BFMMLA_ZZZ_HtoS:
27654 case AArch64::FDOT_ZZZ_BtoH:
27655 case AArch64::FDOT_ZZZ_BtoS:
27656 case AArch64::FDOT_ZZZ_S:
27657 case AArch64::FMLALB_ZZZ:
27658 case AArch64::FMLALB_ZZZ_SHH:
27659 case AArch64::FMLALLBB_ZZZ:
27660 case AArch64::FMLALLBT_ZZZ:
27661 case AArch64::FMLALLTB_ZZZ:
27662 case AArch64::FMLALLTT_ZZZ:
27663 case AArch64::FMLALT_ZZZ:
27664 case AArch64::FMLALT_ZZZ_SHH:
27665 case AArch64::FMLLA_ZZZ_HtoS:
27666 case AArch64::FMLSLB_ZZZ_SHH:
27667 case AArch64::FMLSLT_ZZZ_SHH:
27668 case AArch64::FMMLA_ZZZ_BtoH:
27669 case AArch64::FMMLA_ZZZ_BtoS:
27670 case AArch64::FMMLA_ZZZ_D:
27671 case AArch64::FMMLA_ZZZ_H:
27672 case AArch64::FMMLA_ZZZ_S:
27673 case AArch64::MLA_CPA:
27674 case AArch64::SABALB_ZZZ_D:
27675 case AArch64::SABALB_ZZZ_H:
27676 case AArch64::SABALB_ZZZ_S:
27677 case AArch64::SABALT_ZZZ_D:
27678 case AArch64::SABALT_ZZZ_H:
27679 case AArch64::SABALT_ZZZ_S:
27680 case AArch64::SABAL_ZZZ_BtoH:
27681 case AArch64::SABAL_ZZZ_HtoS:
27682 case AArch64::SABAL_ZZZ_StoD:
27683 case AArch64::SABA_ZZZ_B:
27684 case AArch64::SABA_ZZZ_D:
27685 case AArch64::SABA_ZZZ_H:
27686 case AArch64::SABA_ZZZ_S:
27687 case AArch64::SBCLB_ZZZ_D:
27688 case AArch64::SBCLB_ZZZ_S:
27689 case AArch64::SBCLT_ZZZ_D:
27690 case AArch64::SBCLT_ZZZ_S:
27691 case AArch64::SDOT_ZZZ_BtoH:
27692 case AArch64::SDOT_ZZZ_BtoS:
27693 case AArch64::SDOT_ZZZ_HtoD:
27694 case AArch64::SDOT_ZZZ_HtoS:
27695 case AArch64::SMLALB_ZZZ_D:
27696 case AArch64::SMLALB_ZZZ_H:
27697 case AArch64::SMLALB_ZZZ_S:
27698 case AArch64::SMLALT_ZZZ_D:
27699 case AArch64::SMLALT_ZZZ_H:
27700 case AArch64::SMLALT_ZZZ_S:
27701 case AArch64::SMLSLB_ZZZ_D:
27702 case AArch64::SMLSLB_ZZZ_H:
27703 case AArch64::SMLSLB_ZZZ_S:
27704 case AArch64::SMLSLT_ZZZ_D:
27705 case AArch64::SMLSLT_ZZZ_H:
27706 case AArch64::SMLSLT_ZZZ_S:
27707 case AArch64::SMMLA_ZZZ:
27708 case AArch64::SQDMLALBT_ZZZ_D:
27709 case AArch64::SQDMLALBT_ZZZ_H:
27710 case AArch64::SQDMLALBT_ZZZ_S:
27711 case AArch64::SQDMLALB_ZZZ_D:
27712 case AArch64::SQDMLALB_ZZZ_H:
27713 case AArch64::SQDMLALB_ZZZ_S:
27714 case AArch64::SQDMLALT_ZZZ_D:
27715 case AArch64::SQDMLALT_ZZZ_H:
27716 case AArch64::SQDMLALT_ZZZ_S:
27717 case AArch64::SQDMLSLBT_ZZZ_D:
27718 case AArch64::SQDMLSLBT_ZZZ_H:
27719 case AArch64::SQDMLSLBT_ZZZ_S:
27720 case AArch64::SQDMLSLB_ZZZ_D:
27721 case AArch64::SQDMLSLB_ZZZ_H:
27722 case AArch64::SQDMLSLB_ZZZ_S:
27723 case AArch64::SQDMLSLT_ZZZ_D:
27724 case AArch64::SQDMLSLT_ZZZ_H:
27725 case AArch64::SQDMLSLT_ZZZ_S:
27726 case AArch64::SQRDMLAH_ZZZ_B:
27727 case AArch64::SQRDMLAH_ZZZ_D:
27728 case AArch64::SQRDMLAH_ZZZ_H:
27729 case AArch64::SQRDMLAH_ZZZ_S:
27730 case AArch64::SQRDMLSH_ZZZ_B:
27731 case AArch64::SQRDMLSH_ZZZ_D:
27732 case AArch64::SQRDMLSH_ZZZ_H:
27733 case AArch64::SQRDMLSH_ZZZ_S:
27734 case AArch64::UABALB_ZZZ_D:
27735 case AArch64::UABALB_ZZZ_H:
27736 case AArch64::UABALB_ZZZ_S:
27737 case AArch64::UABALT_ZZZ_D:
27738 case AArch64::UABALT_ZZZ_H:
27739 case AArch64::UABALT_ZZZ_S:
27740 case AArch64::UABAL_ZZZ_BtoH:
27741 case AArch64::UABAL_ZZZ_HtoS:
27742 case AArch64::UABAL_ZZZ_StoD:
27743 case AArch64::UABA_ZZZ_B:
27744 case AArch64::UABA_ZZZ_D:
27745 case AArch64::UABA_ZZZ_H:
27746 case AArch64::UABA_ZZZ_S:
27747 case AArch64::UDOT_ZZZ_BtoH:
27748 case AArch64::UDOT_ZZZ_BtoS:
27749 case AArch64::UDOT_ZZZ_HtoD:
27750 case AArch64::UDOT_ZZZ_HtoS:
27751 case AArch64::UMLALB_ZZZ_D:
27752 case AArch64::UMLALB_ZZZ_H:
27753 case AArch64::UMLALB_ZZZ_S:
27754 case AArch64::UMLALT_ZZZ_D:
27755 case AArch64::UMLALT_ZZZ_H:
27756 case AArch64::UMLALT_ZZZ_S:
27757 case AArch64::UMLSLB_ZZZ_D:
27758 case AArch64::UMLSLB_ZZZ_H:
27759 case AArch64::UMLSLB_ZZZ_S:
27760 case AArch64::UMLSLT_ZZZ_D:
27761 case AArch64::UMLSLT_ZZZ_H:
27762 case AArch64::UMLSLT_ZZZ_S:
27763 case AArch64::UMMLA_ZZZ:
27764 case AArch64::USDOT_ZZZ:
27765 case AArch64::USMMLA_ZZZ: {
27766 switch (OpNum) {
27767 case 0:
27768 // op: Zda
27769 return 0;
27770 case 2:
27771 // op: Zn
27772 return 5;
27773 case 3:
27774 // op: Zm
27775 return 16;
27776 }
27777 break;
27778 }
27779 case AArch64::SRSRA_ZZI_B:
27780 case AArch64::SRSRA_ZZI_D:
27781 case AArch64::SRSRA_ZZI_H:
27782 case AArch64::SRSRA_ZZI_S:
27783 case AArch64::SSRA_ZZI_B:
27784 case AArch64::SSRA_ZZI_D:
27785 case AArch64::SSRA_ZZI_H:
27786 case AArch64::SSRA_ZZI_S:
27787 case AArch64::URSRA_ZZI_B:
27788 case AArch64::URSRA_ZZI_D:
27789 case AArch64::URSRA_ZZI_H:
27790 case AArch64::URSRA_ZZI_S:
27791 case AArch64::USRA_ZZI_B:
27792 case AArch64::USRA_ZZI_D:
27793 case AArch64::USRA_ZZI_H:
27794 case AArch64::USRA_ZZI_S: {
27795 switch (OpNum) {
27796 case 0:
27797 // op: Zda
27798 return 0;
27799 case 2:
27800 // op: Zn
27801 return 5;
27802 case 3:
27803 // op: imm
27804 return 16;
27805 }
27806 break;
27807 }
27808 case AArch64::SDOT_ZZZI_BtoH:
27809 case AArch64::SDOT_ZZZI_BtoS:
27810 case AArch64::UDOT_ZZZI_BtoH:
27811 case AArch64::UDOT_ZZZI_BtoS: {
27812 switch (OpNum) {
27813 case 0:
27814 // op: Zda
27815 return 0;
27816 case 2:
27817 // op: Zn
27818 return 5;
27819 case 4:
27820 // op: iop
27821 return 19;
27822 case 3:
27823 // op: Zm
27824 return 16;
27825 }
27826 break;
27827 }
27828 case AArch64::SDOT_ZZZI_HtoD:
27829 case AArch64::UDOT_ZZZI_HtoD: {
27830 switch (OpNum) {
27831 case 0:
27832 // op: Zda
27833 return 0;
27834 case 2:
27835 // op: Zn
27836 return 5;
27837 case 4:
27838 // op: iop
27839 return 20;
27840 case 3:
27841 // op: Zm
27842 return 16;
27843 }
27844 break;
27845 }
27846 case AArch64::FCMLA_ZZZI_H: {
27847 switch (OpNum) {
27848 case 0:
27849 // op: Zda
27850 return 0;
27851 case 2:
27852 // op: Zn
27853 return 5;
27854 case 5:
27855 // op: imm
27856 return 10;
27857 case 3:
27858 // op: Zm
27859 return 16;
27860 case 4:
27861 // op: iop
27862 return 19;
27863 }
27864 break;
27865 }
27866 case AArch64::FCMLA_ZZZI_S: {
27867 switch (OpNum) {
27868 case 0:
27869 // op: Zda
27870 return 0;
27871 case 2:
27872 // op: Zn
27873 return 5;
27874 case 5:
27875 // op: imm
27876 return 10;
27877 case 3:
27878 // op: Zm
27879 return 16;
27880 case 4:
27881 // op: iop
27882 return 20;
27883 }
27884 break;
27885 }
27886 case AArch64::CDOT_ZZZI_S:
27887 case AArch64::CMLA_ZZZI_H:
27888 case AArch64::SQRDCMLAH_ZZZI_H: {
27889 switch (OpNum) {
27890 case 0:
27891 // op: Zda
27892 return 0;
27893 case 2:
27894 // op: Zn
27895 return 5;
27896 case 5:
27897 // op: rot
27898 return 10;
27899 case 4:
27900 // op: iop
27901 return 19;
27902 case 3:
27903 // op: Zm
27904 return 16;
27905 }
27906 break;
27907 }
27908 case AArch64::CDOT_ZZZI_D:
27909 case AArch64::CMLA_ZZZI_S:
27910 case AArch64::SQRDCMLAH_ZZZI_S: {
27911 switch (OpNum) {
27912 case 0:
27913 // op: Zda
27914 return 0;
27915 case 2:
27916 // op: Zn
27917 return 5;
27918 case 5:
27919 // op: rot
27920 return 10;
27921 case 4:
27922 // op: iop
27923 return 20;
27924 case 3:
27925 // op: Zm
27926 return 16;
27927 }
27928 break;
27929 }
27930 case AArch64::MAD_CPA: {
27931 switch (OpNum) {
27932 case 0:
27933 // op: Zdn
27934 return 0;
27935 case 2:
27936 // op: Zm
27937 return 16;
27938 case 3:
27939 // op: Za
27940 return 5;
27941 }
27942 break;
27943 }
27944 case AArch64::XAR_ZZZI_B:
27945 case AArch64::XAR_ZZZI_D:
27946 case AArch64::XAR_ZZZI_H:
27947 case AArch64::XAR_ZZZI_S: {
27948 switch (OpNum) {
27949 case 0:
27950 // op: Zdn
27951 return 0;
27952 case 2:
27953 // op: Zm
27954 return 5;
27955 case 3:
27956 // op: imm
27957 return 16;
27958 }
27959 break;
27960 }
27961 case AArch64::FTMAD_ZZI_D:
27962 case AArch64::FTMAD_ZZI_H:
27963 case AArch64::FTMAD_ZZI_S: {
27964 switch (OpNum) {
27965 case 0:
27966 // op: Zdn
27967 return 0;
27968 case 2:
27969 // op: Zm
27970 return 5;
27971 case 3:
27972 // op: imm3
27973 return 16;
27974 }
27975 break;
27976 }
27977 case AArch64::EXTQ_ZZI: {
27978 switch (OpNum) {
27979 case 0:
27980 // op: Zdn
27981 return 0;
27982 case 2:
27983 // op: Zm
27984 return 5;
27985 case 3:
27986 // op: imm4
27987 return 16;
27988 }
27989 break;
27990 }
27991 case AArch64::EXT_ZZI: {
27992 switch (OpNum) {
27993 case 0:
27994 // op: Zdn
27995 return 0;
27996 case 2:
27997 // op: Zm
27998 return 5;
27999 case 3:
28000 // op: imm8
28001 return 10;
28002 }
28003 break;
28004 }
28005 case AArch64::CADD_ZZI_B:
28006 case AArch64::CADD_ZZI_D:
28007 case AArch64::CADD_ZZI_H:
28008 case AArch64::CADD_ZZI_S:
28009 case AArch64::SQCADD_ZZI_B:
28010 case AArch64::SQCADD_ZZI_D:
28011 case AArch64::SQCADD_ZZI_H:
28012 case AArch64::SQCADD_ZZI_S: {
28013 switch (OpNum) {
28014 case 0:
28015 // op: Zdn
28016 return 0;
28017 case 2:
28018 // op: Zm
28019 return 5;
28020 case 3:
28021 // op: rot
28022 return 10;
28023 }
28024 break;
28025 }
28026 case AArch64::AESD_ZZZ_B:
28027 case AArch64::AESE_ZZZ_B:
28028 case AArch64::SM4E_ZZZ_S: {
28029 switch (OpNum) {
28030 case 0:
28031 // op: Zdn
28032 return 0;
28033 case 2:
28034 // op: Zm
28035 return 5;
28036 }
28037 break;
28038 }
28039 case AArch64::ADD_ZI_B:
28040 case AArch64::ADD_ZI_D:
28041 case AArch64::ADD_ZI_H:
28042 case AArch64::ADD_ZI_S:
28043 case AArch64::MUL_ZI_B:
28044 case AArch64::MUL_ZI_D:
28045 case AArch64::MUL_ZI_H:
28046 case AArch64::MUL_ZI_S:
28047 case AArch64::SMAX_ZI_B:
28048 case AArch64::SMAX_ZI_D:
28049 case AArch64::SMAX_ZI_H:
28050 case AArch64::SMAX_ZI_S:
28051 case AArch64::SMIN_ZI_B:
28052 case AArch64::SMIN_ZI_D:
28053 case AArch64::SMIN_ZI_H:
28054 case AArch64::SMIN_ZI_S:
28055 case AArch64::SQADD_ZI_B:
28056 case AArch64::SQADD_ZI_D:
28057 case AArch64::SQADD_ZI_H:
28058 case AArch64::SQADD_ZI_S:
28059 case AArch64::SQSUB_ZI_B:
28060 case AArch64::SQSUB_ZI_D:
28061 case AArch64::SQSUB_ZI_H:
28062 case AArch64::SQSUB_ZI_S:
28063 case AArch64::SUBR_ZI_B:
28064 case AArch64::SUBR_ZI_D:
28065 case AArch64::SUBR_ZI_H:
28066 case AArch64::SUBR_ZI_S:
28067 case AArch64::SUB_ZI_B:
28068 case AArch64::SUB_ZI_D:
28069 case AArch64::SUB_ZI_H:
28070 case AArch64::SUB_ZI_S:
28071 case AArch64::UMAX_ZI_B:
28072 case AArch64::UMAX_ZI_D:
28073 case AArch64::UMAX_ZI_H:
28074 case AArch64::UMAX_ZI_S:
28075 case AArch64::UMIN_ZI_B:
28076 case AArch64::UMIN_ZI_D:
28077 case AArch64::UMIN_ZI_H:
28078 case AArch64::UMIN_ZI_S:
28079 case AArch64::UQADD_ZI_B:
28080 case AArch64::UQADD_ZI_D:
28081 case AArch64::UQADD_ZI_H:
28082 case AArch64::UQADD_ZI_S:
28083 case AArch64::UQSUB_ZI_B:
28084 case AArch64::UQSUB_ZI_D:
28085 case AArch64::UQSUB_ZI_H:
28086 case AArch64::UQSUB_ZI_S: {
28087 switch (OpNum) {
28088 case 0:
28089 // op: Zdn
28090 return 0;
28091 case 2:
28092 // op: imm
28093 return 5;
28094 }
28095 break;
28096 }
28097 case AArch64::AND_ZI:
28098 case AArch64::EOR_ZI:
28099 case AArch64::ORR_ZI: {
28100 switch (OpNum) {
28101 case 0:
28102 // op: Zdn
28103 return 0;
28104 case 2:
28105 // op: imms13
28106 return 5;
28107 }
28108 break;
28109 }
28110 case AArch64::DECD_ZPiI:
28111 case AArch64::DECH_ZPiI:
28112 case AArch64::DECW_ZPiI:
28113 case AArch64::INCD_ZPiI:
28114 case AArch64::INCH_ZPiI:
28115 case AArch64::INCW_ZPiI:
28116 case AArch64::SQDECD_ZPiI:
28117 case AArch64::SQDECH_ZPiI:
28118 case AArch64::SQDECW_ZPiI:
28119 case AArch64::SQINCD_ZPiI:
28120 case AArch64::SQINCH_ZPiI:
28121 case AArch64::SQINCW_ZPiI:
28122 case AArch64::UQDECD_ZPiI:
28123 case AArch64::UQDECH_ZPiI:
28124 case AArch64::UQDECW_ZPiI:
28125 case AArch64::UQINCD_ZPiI:
28126 case AArch64::UQINCH_ZPiI:
28127 case AArch64::UQINCW_ZPiI: {
28128 switch (OpNum) {
28129 case 0:
28130 // op: Zdn
28131 return 0;
28132 case 2:
28133 // op: pattern
28134 return 5;
28135 case 3:
28136 // op: imm4
28137 return 16;
28138 }
28139 break;
28140 }
28141 case AArch64::BCAX_ZZZZ:
28142 case AArch64::BSL1N_ZZZZ:
28143 case AArch64::BSL2N_ZZZZ:
28144 case AArch64::BSL_ZZZZ:
28145 case AArch64::EOR3_ZZZZ:
28146 case AArch64::NBSL_ZZZZ: {
28147 switch (OpNum) {
28148 case 0:
28149 // op: Zdn
28150 return 0;
28151 case 3:
28152 // op: Zk
28153 return 5;
28154 case 2:
28155 // op: Zm
28156 return 16;
28157 }
28158 break;
28159 }
28160 case AArch64::FCADD_ZPmZ_D:
28161 case AArch64::FCADD_ZPmZ_H:
28162 case AArch64::FCADD_ZPmZ_S: {
28163 switch (OpNum) {
28164 case 0:
28165 // op: Zdn
28166 return 0;
28167 case 3:
28168 // op: Zm
28169 return 5;
28170 case 1:
28171 // op: Pg
28172 return 10;
28173 case 4:
28174 // op: imm
28175 return 16;
28176 }
28177 break;
28178 }
28179 case AArch64::AESIMC_ZZ_B:
28180 case AArch64::AESMC_ZZ_B: {
28181 switch (OpNum) {
28182 case 0:
28183 // op: Zdn
28184 return 0;
28185 }
28186 break;
28187 }
28188 case AArch64::LD1RO_B:
28189 case AArch64::LD1RO_D:
28190 case AArch64::LD1RO_H:
28191 case AArch64::LD1RO_W:
28192 case AArch64::LD1RQ_B:
28193 case AArch64::LD1RQ_D:
28194 case AArch64::LD1RQ_H:
28195 case AArch64::LD1RQ_W: {
28196 switch (OpNum) {
28197 case 0:
28198 // op: Zt
28199 return 0;
28200 case 1:
28201 // op: Pg
28202 return 10;
28203 case 2:
28204 // op: Rn
28205 return 5;
28206 case 3:
28207 // op: Rm
28208 return 16;
28209 }
28210 break;
28211 }
28212 case AArch64::LD2B_IMM:
28213 case AArch64::LD2D_IMM:
28214 case AArch64::LD2H_IMM:
28215 case AArch64::LD2Q_IMM:
28216 case AArch64::LD2W_IMM:
28217 case AArch64::LD3B_IMM:
28218 case AArch64::LD3D_IMM:
28219 case AArch64::LD3H_IMM:
28220 case AArch64::LD3Q_IMM:
28221 case AArch64::LD3W_IMM:
28222 case AArch64::LD4B_IMM:
28223 case AArch64::LD4D_IMM:
28224 case AArch64::LD4H_IMM:
28225 case AArch64::LD4Q_IMM:
28226 case AArch64::LD4W_IMM:
28227 case AArch64::LDNT1B_ZRI:
28228 case AArch64::LDNT1D_ZRI:
28229 case AArch64::LDNT1H_ZRI:
28230 case AArch64::LDNT1W_ZRI: {
28231 switch (OpNum) {
28232 case 0:
28233 // op: Zt
28234 return 0;
28235 case 1:
28236 // op: Pg
28237 return 10;
28238 case 2:
28239 // op: Rn
28240 return 5;
28241 case 3:
28242 // op: imm4
28243 return 16;
28244 }
28245 break;
28246 }
28247 case AArch64::LD1B:
28248 case AArch64::LD1B_D:
28249 case AArch64::LD1B_H:
28250 case AArch64::LD1B_S:
28251 case AArch64::LD1D:
28252 case AArch64::LD1H:
28253 case AArch64::LD1H_D:
28254 case AArch64::LD1H_S:
28255 case AArch64::LD1SB_D:
28256 case AArch64::LD1SB_H:
28257 case AArch64::LD1SB_S:
28258 case AArch64::LD1SH_D:
28259 case AArch64::LD1SH_S:
28260 case AArch64::LD1SW_D:
28261 case AArch64::LD1W:
28262 case AArch64::LD1W_D:
28263 case AArch64::LDFF1B:
28264 case AArch64::LDFF1B_D:
28265 case AArch64::LDFF1B_H:
28266 case AArch64::LDFF1B_S:
28267 case AArch64::LDFF1D:
28268 case AArch64::LDFF1H:
28269 case AArch64::LDFF1H_D:
28270 case AArch64::LDFF1H_S:
28271 case AArch64::LDFF1SB_D:
28272 case AArch64::LDFF1SB_H:
28273 case AArch64::LDFF1SB_S:
28274 case AArch64::LDFF1SH_D:
28275 case AArch64::LDFF1SH_S:
28276 case AArch64::LDFF1SW_D:
28277 case AArch64::LDFF1W:
28278 case AArch64::LDFF1W_D: {
28279 switch (OpNum) {
28280 case 0:
28281 // op: Zt
28282 return 0;
28283 case 1:
28284 // op: Pg
28285 return 10;
28286 case 3:
28287 // op: Rm
28288 return 16;
28289 case 2:
28290 // op: Rn
28291 return 5;
28292 }
28293 break;
28294 }
28295 case AArch64::LDAPRO_ZXI:
28296 case AArch64::STLRO_ZXI: {
28297 switch (OpNum) {
28298 case 0:
28299 // op: Zt
28300 return 0;
28301 case 1:
28302 // op: Rn
28303 return 5;
28304 case 2:
28305 // op: imm
28306 return 10;
28307 }
28308 break;
28309 }
28310 case AArch64::LD1D_Q:
28311 case AArch64::LD1W_Q:
28312 case AArch64::ST2Q:
28313 case AArch64::ST3Q:
28314 case AArch64::ST4Q: {
28315 switch (OpNum) {
28316 case 0:
28317 // op: Zt
28318 return 0;
28319 case 2:
28320 // op: Rn
28321 return 5;
28322 case 1:
28323 // op: Pg
28324 return 10;
28325 case 3:
28326 // op: Rm
28327 return 16;
28328 }
28329 break;
28330 }
28331 case AArch64::LD1D_Q_IMM:
28332 case AArch64::LD1RO_B_IMM:
28333 case AArch64::LD1RO_D_IMM:
28334 case AArch64::LD1RO_H_IMM:
28335 case AArch64::LD1RO_W_IMM:
28336 case AArch64::LD1RQ_B_IMM:
28337 case AArch64::LD1RQ_D_IMM:
28338 case AArch64::LD1RQ_H_IMM:
28339 case AArch64::LD1RQ_W_IMM:
28340 case AArch64::LD1W_Q_IMM:
28341 case AArch64::ST2Q_IMM:
28342 case AArch64::ST3Q_IMM:
28343 case AArch64::ST4Q_IMM: {
28344 switch (OpNum) {
28345 case 0:
28346 // op: Zt
28347 return 0;
28348 case 2:
28349 // op: Rn
28350 return 5;
28351 case 1:
28352 // op: Pg
28353 return 10;
28354 case 3:
28355 // op: imm4
28356 return 16;
28357 }
28358 break;
28359 }
28360 case AArch64::GLD1Q:
28361 case AArch64::SST1Q: {
28362 switch (OpNum) {
28363 case 0:
28364 // op: Zt
28365 return 0;
28366 case 2:
28367 // op: Zn
28368 return 5;
28369 case 1:
28370 // op: Pg
28371 return 10;
28372 case 3:
28373 // op: Rm
28374 return 16;
28375 }
28376 break;
28377 }
28378 case AArch64::LD1B_2Z_IMM:
28379 case AArch64::LD1D_2Z_IMM:
28380 case AArch64::LD1H_2Z_IMM:
28381 case AArch64::LD1W_2Z_IMM:
28382 case AArch64::LDNT1B_2Z_IMM:
28383 case AArch64::LDNT1D_2Z_IMM:
28384 case AArch64::LDNT1H_2Z_IMM:
28385 case AArch64::LDNT1W_2Z_IMM:
28386 case AArch64::ST1B_2Z_IMM:
28387 case AArch64::ST1D_2Z_IMM:
28388 case AArch64::ST1H_2Z_IMM:
28389 case AArch64::ST1W_2Z_IMM:
28390 case AArch64::STNT1B_2Z_IMM:
28391 case AArch64::STNT1D_2Z_IMM:
28392 case AArch64::STNT1H_2Z_IMM:
28393 case AArch64::STNT1W_2Z_IMM: {
28394 switch (OpNum) {
28395 case 0:
28396 // op: Zt
28397 return 1;
28398 case 2:
28399 // op: Rn
28400 return 5;
28401 case 1:
28402 // op: PNg
28403 return 10;
28404 case 3:
28405 // op: imm4
28406 return 16;
28407 }
28408 break;
28409 }
28410 case AArch64::LD1B_2Z:
28411 case AArch64::LD1D_2Z:
28412 case AArch64::LD1H_2Z:
28413 case AArch64::LD1W_2Z:
28414 case AArch64::LDNT1B_2Z:
28415 case AArch64::LDNT1D_2Z:
28416 case AArch64::LDNT1H_2Z:
28417 case AArch64::LDNT1W_2Z:
28418 case AArch64::ST1B_2Z:
28419 case AArch64::ST1D_2Z:
28420 case AArch64::ST1H_2Z:
28421 case AArch64::ST1W_2Z:
28422 case AArch64::STNT1B_2Z:
28423 case AArch64::STNT1D_2Z:
28424 case AArch64::STNT1H_2Z:
28425 case AArch64::STNT1W_2Z: {
28426 switch (OpNum) {
28427 case 0:
28428 // op: Zt
28429 return 1;
28430 case 3:
28431 // op: Rm
28432 return 16;
28433 case 2:
28434 // op: Rn
28435 return 5;
28436 case 1:
28437 // op: PNg
28438 return 10;
28439 }
28440 break;
28441 }
28442 case AArch64::LD1B_4Z_IMM:
28443 case AArch64::LD1D_4Z_IMM:
28444 case AArch64::LD1H_4Z_IMM:
28445 case AArch64::LD1W_4Z_IMM:
28446 case AArch64::LDNT1B_4Z_IMM:
28447 case AArch64::LDNT1D_4Z_IMM:
28448 case AArch64::LDNT1H_4Z_IMM:
28449 case AArch64::LDNT1W_4Z_IMM:
28450 case AArch64::ST1B_4Z_IMM:
28451 case AArch64::ST1D_4Z_IMM:
28452 case AArch64::ST1H_4Z_IMM:
28453 case AArch64::ST1W_4Z_IMM:
28454 case AArch64::STNT1B_4Z_IMM:
28455 case AArch64::STNT1D_4Z_IMM:
28456 case AArch64::STNT1H_4Z_IMM:
28457 case AArch64::STNT1W_4Z_IMM: {
28458 switch (OpNum) {
28459 case 0:
28460 // op: Zt
28461 return 2;
28462 case 2:
28463 // op: Rn
28464 return 5;
28465 case 1:
28466 // op: PNg
28467 return 10;
28468 case 3:
28469 // op: imm4
28470 return 16;
28471 }
28472 break;
28473 }
28474 case AArch64::LD1B_4Z:
28475 case AArch64::LD1D_4Z:
28476 case AArch64::LD1H_4Z:
28477 case AArch64::LD1W_4Z:
28478 case AArch64::LDNT1B_4Z:
28479 case AArch64::LDNT1D_4Z:
28480 case AArch64::LDNT1H_4Z:
28481 case AArch64::LDNT1W_4Z:
28482 case AArch64::ST1B_4Z:
28483 case AArch64::ST1D_4Z:
28484 case AArch64::ST1H_4Z:
28485 case AArch64::ST1W_4Z:
28486 case AArch64::STNT1B_4Z:
28487 case AArch64::STNT1D_4Z:
28488 case AArch64::STNT1H_4Z:
28489 case AArch64::STNT1W_4Z: {
28490 switch (OpNum) {
28491 case 0:
28492 // op: Zt
28493 return 2;
28494 case 3:
28495 // op: Rm
28496 return 16;
28497 case 2:
28498 // op: Rn
28499 return 5;
28500 case 1:
28501 // op: PNg
28502 return 10;
28503 }
28504 break;
28505 }
28506 case AArch64::B:
28507 case AArch64::BL: {
28508 switch (OpNum) {
28509 case 0:
28510 // op: addr
28511 return 0;
28512 }
28513 break;
28514 }
28515 case AArch64::FLTcc: {
28516 switch (OpNum) {
28517 case 0:
28518 // op: cond
28519 return 0;
28520 case 1:
28521 // op: imm
28522 return 5;
28523 }
28524 break;
28525 }
28526 case AArch64::BCcc:
28527 case AArch64::Bcc: {
28528 switch (OpNum) {
28529 case 0:
28530 // op: cond
28531 return 0;
28532 case 1:
28533 // op: target
28534 return 5;
28535 }
28536 break;
28537 }
28538 case AArch64::DUPi8: {
28539 switch (OpNum) {
28540 case 0:
28541 // op: dst
28542 return 0;
28543 case 1:
28544 // op: src
28545 return 5;
28546 case 2:
28547 // op: idx
28548 return 17;
28549 }
28550 break;
28551 }
28552 case AArch64::DUPi16: {
28553 switch (OpNum) {
28554 case 0:
28555 // op: dst
28556 return 0;
28557 case 1:
28558 // op: src
28559 return 5;
28560 case 2:
28561 // op: idx
28562 return 18;
28563 }
28564 break;
28565 }
28566 case AArch64::DUPi32: {
28567 switch (OpNum) {
28568 case 0:
28569 // op: dst
28570 return 0;
28571 case 1:
28572 // op: src
28573 return 5;
28574 case 2:
28575 // op: idx
28576 return 19;
28577 }
28578 break;
28579 }
28580 case AArch64::DUPi64: {
28581 switch (OpNum) {
28582 case 0:
28583 // op: dst
28584 return 0;
28585 case 1:
28586 // op: src
28587 return 5;
28588 case 2:
28589 // op: idx
28590 return 20;
28591 }
28592 break;
28593 }
28594 case AArch64::UDF:
28595 case AArch64::ZERO_M: {
28596 switch (OpNum) {
28597 case 0:
28598 // op: imm
28599 return 0;
28600 }
28601 break;
28602 }
28603 case AArch64::TENTER: {
28604 switch (OpNum) {
28605 case 0:
28606 // op: imm
28607 return 5;
28608 case 1:
28609 // op: nb
28610 return 17;
28611 }
28612 break;
28613 }
28614 case AArch64::BRK:
28615 case AArch64::DCPS1:
28616 case AArch64::DCPS2:
28617 case AArch64::DCPS3:
28618 case AArch64::HINT:
28619 case AArch64::HLT:
28620 case AArch64::HVC:
28621 case AArch64::SMC:
28622 case AArch64::SVC: {
28623 switch (OpNum) {
28624 case 0:
28625 // op: imm
28626 return 5;
28627 }
28628 break;
28629 }
28630 case AArch64::HINTE: {
28631 switch (OpNum) {
28632 case 0:
28633 // op: imm16
28634 return 0;
28635 }
28636 break;
28637 }
28638 case AArch64::AUTIASPPCi:
28639 case AArch64::AUTIBSPPCi:
28640 case AArch64::RETAASPPCi:
28641 case AArch64::RETABSPPCi: {
28642 switch (OpNum) {
28643 case 0:
28644 // op: label
28645 return 5;
28646 }
28647 break;
28648 }
28649 case AArch64::TEXIT: {
28650 switch (OpNum) {
28651 case 0:
28652 // op: nb
28653 return 10;
28654 }
28655 break;
28656 }
28657 case AArch64::SYSPxt_XZR: {
28658 switch (OpNum) {
28659 case 0:
28660 // op: op1
28661 return 16;
28662 case 1:
28663 // op: Cn
28664 return 12;
28665 case 2:
28666 // op: Cm
28667 return 8;
28668 case 3:
28669 // op: op2
28670 return 5;
28671 }
28672 break;
28673 }
28674 case AArch64::MSRpstateImm1:
28675 case AArch64::MSRpstateImm4: {
28676 switch (OpNum) {
28677 case 0:
28678 // op: pstatefield
28679 return 5;
28680 case 1:
28681 // op: imm
28682 return 8;
28683 }
28684 break;
28685 }
28686 case AArch64::MSRpstatesvcrImm1: {
28687 switch (OpNum) {
28688 case 0:
28689 // op: pstatefield
28690 return 9;
28691 case 1:
28692 // op: imm
28693 return 8;
28694 }
28695 break;
28696 }
28697 case AArch64::CFLTEQWr:
28698 case AArch64::CFLTEQXr:
28699 case AArch64::CFLTGEWr:
28700 case AArch64::CFLTGEXr:
28701 case AArch64::CFLTGTWr:
28702 case AArch64::CFLTGTXr:
28703 case AArch64::CFLTHIWr:
28704 case AArch64::CFLTHIXr:
28705 case AArch64::CFLTHSWr:
28706 case AArch64::CFLTHSXr:
28707 case AArch64::CFLTNEWr:
28708 case AArch64::CFLTNEXr: {
28709 switch (OpNum) {
28710 case 0:
28711 // op: reason
28712 return 10;
28713 case 1:
28714 // op: Rt
28715 return 0;
28716 case 2:
28717 // op: Rm
28718 return 16;
28719 }
28720 break;
28721 }
28722 case AArch64::TFLTNZ:
28723 case AArch64::TFLTZ: {
28724 switch (OpNum) {
28725 case 0:
28726 // op: reason
28727 return 10;
28728 case 1:
28729 // op: Rt
28730 return 0;
28731 case 2:
28732 // op: bit_off
28733 return 19;
28734 }
28735 break;
28736 }
28737 case AArch64::CFLTEQWi:
28738 case AArch64::CFLTEQXi:
28739 case AArch64::CFLTGTWi:
28740 case AArch64::CFLTGTXi:
28741 case AArch64::CFLTHIWi:
28742 case AArch64::CFLTHIXi:
28743 case AArch64::CFLTLOWi:
28744 case AArch64::CFLTLOXi:
28745 case AArch64::CFLTLTWi:
28746 case AArch64::CFLTLTXi:
28747 case AArch64::CFLTNEWi:
28748 case AArch64::CFLTNEXi: {
28749 switch (OpNum) {
28750 case 0:
28751 // op: reason
28752 return 10;
28753 case 1:
28754 // op: Rt
28755 return 0;
28756 case 2:
28757 // op: imm
28758 return 5;
28759 }
28760 break;
28761 }
28762 case AArch64::SEL_VG2_2ZC2Z2Z_B:
28763 case AArch64::SEL_VG2_2ZC2Z2Z_D:
28764 case AArch64::SEL_VG2_2ZC2Z2Z_H:
28765 case AArch64::SEL_VG2_2ZC2Z2Z_S: {
28766 switch (OpNum) {
28767 case 1:
28768 // op: PNg
28769 return 10;
28770 case 3:
28771 // op: Zm
28772 return 17;
28773 case 2:
28774 // op: Zn
28775 return 6;
28776 case 0:
28777 // op: Zd
28778 return 1;
28779 }
28780 break;
28781 }
28782 case AArch64::SEL_VG4_4ZC4Z4Z_B:
28783 case AArch64::SEL_VG4_4ZC4Z4Z_D:
28784 case AArch64::SEL_VG4_4ZC4Z4Z_H:
28785 case AArch64::SEL_VG4_4ZC4Z4Z_S: {
28786 switch (OpNum) {
28787 case 1:
28788 // op: PNg
28789 return 10;
28790 case 3:
28791 // op: Zm
28792 return 18;
28793 case 2:
28794 // op: Zn
28795 return 7;
28796 case 0:
28797 // op: Zd
28798 return 2;
28799 }
28800 break;
28801 }
28802 case AArch64::LASTA_RPZ_B:
28803 case AArch64::LASTA_RPZ_D:
28804 case AArch64::LASTA_RPZ_H:
28805 case AArch64::LASTA_RPZ_S:
28806 case AArch64::LASTB_RPZ_B:
28807 case AArch64::LASTB_RPZ_D:
28808 case AArch64::LASTB_RPZ_H:
28809 case AArch64::LASTB_RPZ_S: {
28810 switch (OpNum) {
28811 case 1:
28812 // op: Pg
28813 return 10;
28814 case 0:
28815 // op: Rd
28816 return 0;
28817 case 2:
28818 // op: Zn
28819 return 5;
28820 }
28821 break;
28822 }
28823 case AArch64::CLASTA_RPZ_B:
28824 case AArch64::CLASTA_RPZ_D:
28825 case AArch64::CLASTA_RPZ_H:
28826 case AArch64::CLASTA_RPZ_S:
28827 case AArch64::CLASTB_RPZ_B:
28828 case AArch64::CLASTB_RPZ_D:
28829 case AArch64::CLASTB_RPZ_H:
28830 case AArch64::CLASTB_RPZ_S: {
28831 switch (OpNum) {
28832 case 1:
28833 // op: Pg
28834 return 10;
28835 case 0:
28836 // op: Rdn
28837 return 0;
28838 case 3:
28839 // op: Zm
28840 return 5;
28841 }
28842 break;
28843 }
28844 case AArch64::ANDV_VPZ_B:
28845 case AArch64::ANDV_VPZ_D:
28846 case AArch64::ANDV_VPZ_H:
28847 case AArch64::ANDV_VPZ_S:
28848 case AArch64::EORV_VPZ_B:
28849 case AArch64::EORV_VPZ_D:
28850 case AArch64::EORV_VPZ_H:
28851 case AArch64::EORV_VPZ_S:
28852 case AArch64::LASTA_VPZ_B:
28853 case AArch64::LASTA_VPZ_D:
28854 case AArch64::LASTA_VPZ_H:
28855 case AArch64::LASTA_VPZ_S:
28856 case AArch64::LASTB_VPZ_B:
28857 case AArch64::LASTB_VPZ_D:
28858 case AArch64::LASTB_VPZ_H:
28859 case AArch64::LASTB_VPZ_S:
28860 case AArch64::ORV_VPZ_B:
28861 case AArch64::ORV_VPZ_D:
28862 case AArch64::ORV_VPZ_H:
28863 case AArch64::ORV_VPZ_S:
28864 case AArch64::SADDV_VPZ_B:
28865 case AArch64::SADDV_VPZ_H:
28866 case AArch64::SADDV_VPZ_S:
28867 case AArch64::SMAXV_VPZ_B:
28868 case AArch64::SMAXV_VPZ_D:
28869 case AArch64::SMAXV_VPZ_H:
28870 case AArch64::SMAXV_VPZ_S:
28871 case AArch64::SMINV_VPZ_B:
28872 case AArch64::SMINV_VPZ_D:
28873 case AArch64::SMINV_VPZ_H:
28874 case AArch64::SMINV_VPZ_S:
28875 case AArch64::UADDV_VPZ_B:
28876 case AArch64::UADDV_VPZ_D:
28877 case AArch64::UADDV_VPZ_H:
28878 case AArch64::UADDV_VPZ_S:
28879 case AArch64::UMAXV_VPZ_B:
28880 case AArch64::UMAXV_VPZ_D:
28881 case AArch64::UMAXV_VPZ_H:
28882 case AArch64::UMAXV_VPZ_S:
28883 case AArch64::UMINV_VPZ_B:
28884 case AArch64::UMINV_VPZ_D:
28885 case AArch64::UMINV_VPZ_H:
28886 case AArch64::UMINV_VPZ_S: {
28887 switch (OpNum) {
28888 case 1:
28889 // op: Pg
28890 return 10;
28891 case 0:
28892 // op: Vd
28893 return 0;
28894 case 2:
28895 // op: Zn
28896 return 5;
28897 }
28898 break;
28899 }
28900 case AArch64::CLASTA_VPZ_B:
28901 case AArch64::CLASTA_VPZ_D:
28902 case AArch64::CLASTA_VPZ_H:
28903 case AArch64::CLASTA_VPZ_S:
28904 case AArch64::CLASTB_VPZ_B:
28905 case AArch64::CLASTB_VPZ_D:
28906 case AArch64::CLASTB_VPZ_H:
28907 case AArch64::CLASTB_VPZ_S:
28908 case AArch64::FADDA_VPZ_D:
28909 case AArch64::FADDA_VPZ_H:
28910 case AArch64::FADDA_VPZ_S: {
28911 switch (OpNum) {
28912 case 1:
28913 // op: Pg
28914 return 10;
28915 case 0:
28916 // op: Vdn
28917 return 0;
28918 case 3:
28919 // op: Zm
28920 return 5;
28921 }
28922 break;
28923 }
28924 case AArch64::ABS_ZPzZ_B:
28925 case AArch64::ABS_ZPzZ_D:
28926 case AArch64::ABS_ZPzZ_H:
28927 case AArch64::ABS_ZPzZ_S:
28928 case AArch64::BFCVT_ZPzZ_StoH:
28929 case AArch64::CLS_ZPzZ_B:
28930 case AArch64::CLS_ZPzZ_D:
28931 case AArch64::CLS_ZPzZ_H:
28932 case AArch64::CLS_ZPzZ_S:
28933 case AArch64::CLZ_ZPzZ_B:
28934 case AArch64::CLZ_ZPzZ_D:
28935 case AArch64::CLZ_ZPzZ_H:
28936 case AArch64::CLZ_ZPzZ_S:
28937 case AArch64::CNOT_ZPzZ_B:
28938 case AArch64::CNOT_ZPzZ_D:
28939 case AArch64::CNOT_ZPzZ_H:
28940 case AArch64::CNOT_ZPzZ_S:
28941 case AArch64::CNT_ZPzZ_B:
28942 case AArch64::CNT_ZPzZ_D:
28943 case AArch64::CNT_ZPzZ_H:
28944 case AArch64::CNT_ZPzZ_S:
28945 case AArch64::COMPACT_ZPZ_B:
28946 case AArch64::COMPACT_ZPZ_D:
28947 case AArch64::COMPACT_ZPZ_H:
28948 case AArch64::COMPACT_ZPZ_S:
28949 case AArch64::FABS_ZPzZ_D:
28950 case AArch64::FABS_ZPzZ_H:
28951 case AArch64::FABS_ZPzZ_S:
28952 case AArch64::FCVTX_ZPzZ_DtoS:
28953 case AArch64::FCVTZS_ZPzZ_DtoD:
28954 case AArch64::FCVTZS_ZPzZ_DtoS:
28955 case AArch64::FCVTZS_ZPzZ_HtoD:
28956 case AArch64::FCVTZS_ZPzZ_HtoH:
28957 case AArch64::FCVTZS_ZPzZ_HtoS:
28958 case AArch64::FCVTZS_ZPzZ_StoD:
28959 case AArch64::FCVTZS_ZPzZ_StoS:
28960 case AArch64::FCVTZU_ZPzZ_DtoD:
28961 case AArch64::FCVTZU_ZPzZ_DtoS:
28962 case AArch64::FCVTZU_ZPzZ_HtoD:
28963 case AArch64::FCVTZU_ZPzZ_HtoH:
28964 case AArch64::FCVTZU_ZPzZ_HtoS:
28965 case AArch64::FCVTZU_ZPzZ_StoD:
28966 case AArch64::FCVTZU_ZPzZ_StoS:
28967 case AArch64::FCVT_ZPzZ_DtoH:
28968 case AArch64::FCVT_ZPzZ_DtoS:
28969 case AArch64::FCVT_ZPzZ_HtoD:
28970 case AArch64::FCVT_ZPzZ_HtoS:
28971 case AArch64::FCVT_ZPzZ_StoD:
28972 case AArch64::FCVT_ZPzZ_StoH:
28973 case AArch64::FLOGB_ZPzZ_D:
28974 case AArch64::FLOGB_ZPzZ_H:
28975 case AArch64::FLOGB_ZPzZ_S:
28976 case AArch64::FNEG_ZPzZ_D:
28977 case AArch64::FNEG_ZPzZ_H:
28978 case AArch64::FNEG_ZPzZ_S:
28979 case AArch64::FRECPX_ZPzZ_D:
28980 case AArch64::FRECPX_ZPzZ_H:
28981 case AArch64::FRECPX_ZPzZ_S:
28982 case AArch64::FRINT32X_ZPzZ_D:
28983 case AArch64::FRINT32X_ZPzZ_S:
28984 case AArch64::FRINT32Z_ZPzZ_D:
28985 case AArch64::FRINT32Z_ZPzZ_S:
28986 case AArch64::FRINT64X_ZPzZ_D:
28987 case AArch64::FRINT64X_ZPzZ_S:
28988 case AArch64::FRINT64Z_ZPzZ_D:
28989 case AArch64::FRINT64Z_ZPzZ_S:
28990 case AArch64::FRINTA_ZPzZ_D:
28991 case AArch64::FRINTA_ZPzZ_H:
28992 case AArch64::FRINTA_ZPzZ_S:
28993 case AArch64::FRINTI_ZPzZ_D:
28994 case AArch64::FRINTI_ZPzZ_H:
28995 case AArch64::FRINTI_ZPzZ_S:
28996 case AArch64::FRINTM_ZPzZ_D:
28997 case AArch64::FRINTM_ZPzZ_H:
28998 case AArch64::FRINTM_ZPzZ_S:
28999 case AArch64::FRINTN_ZPzZ_D:
29000 case AArch64::FRINTN_ZPzZ_H:
29001 case AArch64::FRINTN_ZPzZ_S:
29002 case AArch64::FRINTP_ZPzZ_D:
29003 case AArch64::FRINTP_ZPzZ_H:
29004 case AArch64::FRINTP_ZPzZ_S:
29005 case AArch64::FRINTX_ZPzZ_D:
29006 case AArch64::FRINTX_ZPzZ_H:
29007 case AArch64::FRINTX_ZPzZ_S:
29008 case AArch64::FRINTZ_ZPzZ_D:
29009 case AArch64::FRINTZ_ZPzZ_H:
29010 case AArch64::FRINTZ_ZPzZ_S:
29011 case AArch64::FSQRT_ZPZz_D:
29012 case AArch64::FSQRT_ZPZz_H:
29013 case AArch64::FSQRT_ZPZz_S:
29014 case AArch64::MOVPRFX_ZPzZ_B:
29015 case AArch64::MOVPRFX_ZPzZ_D:
29016 case AArch64::MOVPRFX_ZPzZ_H:
29017 case AArch64::MOVPRFX_ZPzZ_S:
29018 case AArch64::NEG_ZPzZ_B:
29019 case AArch64::NEG_ZPzZ_D:
29020 case AArch64::NEG_ZPzZ_H:
29021 case AArch64::NEG_ZPzZ_S:
29022 case AArch64::NOT_ZPzZ_B:
29023 case AArch64::NOT_ZPzZ_D:
29024 case AArch64::NOT_ZPzZ_H:
29025 case AArch64::NOT_ZPzZ_S:
29026 case AArch64::SCVTF_ZPzZ_DtoD:
29027 case AArch64::SCVTF_ZPzZ_DtoH:
29028 case AArch64::SCVTF_ZPzZ_DtoS:
29029 case AArch64::SCVTF_ZPzZ_HtoH:
29030 case AArch64::SCVTF_ZPzZ_StoD:
29031 case AArch64::SCVTF_ZPzZ_StoH:
29032 case AArch64::SCVTF_ZPzZ_StoS:
29033 case AArch64::SQABS_ZPzZ_B:
29034 case AArch64::SQABS_ZPzZ_D:
29035 case AArch64::SQABS_ZPzZ_H:
29036 case AArch64::SQABS_ZPzZ_S:
29037 case AArch64::SQNEG_ZPzZ_B:
29038 case AArch64::SQNEG_ZPzZ_D:
29039 case AArch64::SQNEG_ZPzZ_H:
29040 case AArch64::SQNEG_ZPzZ_S:
29041 case AArch64::SXTB_ZPzZ_D:
29042 case AArch64::SXTB_ZPzZ_H:
29043 case AArch64::SXTB_ZPzZ_S:
29044 case AArch64::SXTH_ZPzZ_D:
29045 case AArch64::SXTH_ZPzZ_S:
29046 case AArch64::SXTW_ZPzZ_D:
29047 case AArch64::UCVTF_ZPzZ_DtoD:
29048 case AArch64::UCVTF_ZPzZ_DtoH:
29049 case AArch64::UCVTF_ZPzZ_DtoS:
29050 case AArch64::UCVTF_ZPzZ_HtoH:
29051 case AArch64::UCVTF_ZPzZ_StoD:
29052 case AArch64::UCVTF_ZPzZ_StoH:
29053 case AArch64::UCVTF_ZPzZ_StoS:
29054 case AArch64::URECPE_ZPzZ_S:
29055 case AArch64::URSQRTE_ZPzZ_S:
29056 case AArch64::UXTB_ZPzZ_D:
29057 case AArch64::UXTB_ZPzZ_H:
29058 case AArch64::UXTB_ZPzZ_S:
29059 case AArch64::UXTH_ZPzZ_D:
29060 case AArch64::UXTH_ZPzZ_S:
29061 case AArch64::UXTW_ZPzZ_D: {
29062 switch (OpNum) {
29063 case 1:
29064 // op: Pg
29065 return 10;
29066 case 0:
29067 // op: Zd
29068 return 0;
29069 case 2:
29070 // op: Zn
29071 return 5;
29072 }
29073 break;
29074 }
29075 case AArch64::SEL_ZPZZ_B:
29076 case AArch64::SEL_ZPZZ_D:
29077 case AArch64::SEL_ZPZZ_H:
29078 case AArch64::SEL_ZPZZ_S: {
29079 switch (OpNum) {
29080 case 1:
29081 // op: Pg
29082 return 10;
29083 case 0:
29084 // op: Zd
29085 return 0;
29086 case 3:
29087 // op: Zm
29088 return 16;
29089 case 2:
29090 // op: Zn
29091 return 5;
29092 }
29093 break;
29094 }
29095 case AArch64::BFMLA_ZPmZZ:
29096 case AArch64::BFMLS_ZPmZZ:
29097 case AArch64::FMLA_ZPmZZ_D:
29098 case AArch64::FMLA_ZPmZZ_H:
29099 case AArch64::FMLA_ZPmZZ_S:
29100 case AArch64::FMLS_ZPmZZ_D:
29101 case AArch64::FMLS_ZPmZZ_H:
29102 case AArch64::FMLS_ZPmZZ_S:
29103 case AArch64::FNMLA_ZPmZZ_D:
29104 case AArch64::FNMLA_ZPmZZ_H:
29105 case AArch64::FNMLA_ZPmZZ_S:
29106 case AArch64::FNMLS_ZPmZZ_D:
29107 case AArch64::FNMLS_ZPmZZ_H:
29108 case AArch64::FNMLS_ZPmZZ_S:
29109 case AArch64::MLA_ZPmZZ_B:
29110 case AArch64::MLA_ZPmZZ_D:
29111 case AArch64::MLA_ZPmZZ_H:
29112 case AArch64::MLA_ZPmZZ_S:
29113 case AArch64::MLS_ZPmZZ_B:
29114 case AArch64::MLS_ZPmZZ_D:
29115 case AArch64::MLS_ZPmZZ_H:
29116 case AArch64::MLS_ZPmZZ_S: {
29117 switch (OpNum) {
29118 case 1:
29119 // op: Pg
29120 return 10;
29121 case 0:
29122 // op: Zda
29123 return 0;
29124 case 4:
29125 // op: Zm
29126 return 16;
29127 case 3:
29128 // op: Zn
29129 return 5;
29130 }
29131 break;
29132 }
29133 case AArch64::ADD_ZPmZ_B:
29134 case AArch64::ADD_ZPmZ_CPA:
29135 case AArch64::ADD_ZPmZ_D:
29136 case AArch64::ADD_ZPmZ_H:
29137 case AArch64::ADD_ZPmZ_S:
29138 case AArch64::AND_ZPmZ_B:
29139 case AArch64::AND_ZPmZ_D:
29140 case AArch64::AND_ZPmZ_H:
29141 case AArch64::AND_ZPmZ_S:
29142 case AArch64::ASRR_ZPmZ_B:
29143 case AArch64::ASRR_ZPmZ_D:
29144 case AArch64::ASRR_ZPmZ_H:
29145 case AArch64::ASRR_ZPmZ_S:
29146 case AArch64::ASR_WIDE_ZPmZ_B:
29147 case AArch64::ASR_WIDE_ZPmZ_H:
29148 case AArch64::ASR_WIDE_ZPmZ_S:
29149 case AArch64::ASR_ZPmZ_B:
29150 case AArch64::ASR_ZPmZ_D:
29151 case AArch64::ASR_ZPmZ_H:
29152 case AArch64::ASR_ZPmZ_S:
29153 case AArch64::BFADD_ZPmZ:
29154 case AArch64::BFMAXNM_ZPmZ:
29155 case AArch64::BFMAX_ZPmZ:
29156 case AArch64::BFMINNM_ZPmZ:
29157 case AArch64::BFMIN_ZPmZ:
29158 case AArch64::BFMUL_ZPmZ:
29159 case AArch64::BFSCALE_ZPmZ:
29160 case AArch64::BFSUB_ZPmZ:
29161 case AArch64::BIC_ZPmZ_B:
29162 case AArch64::BIC_ZPmZ_D:
29163 case AArch64::BIC_ZPmZ_H:
29164 case AArch64::BIC_ZPmZ_S:
29165 case AArch64::CLASTA_ZPZ_B:
29166 case AArch64::CLASTA_ZPZ_D:
29167 case AArch64::CLASTA_ZPZ_H:
29168 case AArch64::CLASTA_ZPZ_S:
29169 case AArch64::CLASTB_ZPZ_B:
29170 case AArch64::CLASTB_ZPZ_D:
29171 case AArch64::CLASTB_ZPZ_H:
29172 case AArch64::CLASTB_ZPZ_S:
29173 case AArch64::EOR_ZPmZ_B:
29174 case AArch64::EOR_ZPmZ_D:
29175 case AArch64::EOR_ZPmZ_H:
29176 case AArch64::EOR_ZPmZ_S:
29177 case AArch64::FABD_ZPmZ_D:
29178 case AArch64::FABD_ZPmZ_H:
29179 case AArch64::FABD_ZPmZ_S:
29180 case AArch64::FADD_ZPmZ_D:
29181 case AArch64::FADD_ZPmZ_H:
29182 case AArch64::FADD_ZPmZ_S:
29183 case AArch64::FAMAX_ZPmZ_D:
29184 case AArch64::FAMAX_ZPmZ_H:
29185 case AArch64::FAMAX_ZPmZ_S:
29186 case AArch64::FAMIN_ZPmZ_D:
29187 case AArch64::FAMIN_ZPmZ_H:
29188 case AArch64::FAMIN_ZPmZ_S:
29189 case AArch64::FDIVR_ZPmZ_D:
29190 case AArch64::FDIVR_ZPmZ_H:
29191 case AArch64::FDIVR_ZPmZ_S:
29192 case AArch64::FDIV_ZPmZ_D:
29193 case AArch64::FDIV_ZPmZ_H:
29194 case AArch64::FDIV_ZPmZ_S:
29195 case AArch64::FMAXNM_ZPmZ_D:
29196 case AArch64::FMAXNM_ZPmZ_H:
29197 case AArch64::FMAXNM_ZPmZ_S:
29198 case AArch64::FMAX_ZPmZ_D:
29199 case AArch64::FMAX_ZPmZ_H:
29200 case AArch64::FMAX_ZPmZ_S:
29201 case AArch64::FMINNM_ZPmZ_D:
29202 case AArch64::FMINNM_ZPmZ_H:
29203 case AArch64::FMINNM_ZPmZ_S:
29204 case AArch64::FMIN_ZPmZ_D:
29205 case AArch64::FMIN_ZPmZ_H:
29206 case AArch64::FMIN_ZPmZ_S:
29207 case AArch64::FMULX_ZPmZ_D:
29208 case AArch64::FMULX_ZPmZ_H:
29209 case AArch64::FMULX_ZPmZ_S:
29210 case AArch64::FMUL_ZPmZ_D:
29211 case AArch64::FMUL_ZPmZ_H:
29212 case AArch64::FMUL_ZPmZ_S:
29213 case AArch64::FSCALE_ZPmZ_D:
29214 case AArch64::FSCALE_ZPmZ_H:
29215 case AArch64::FSCALE_ZPmZ_S:
29216 case AArch64::FSUBR_ZPmZ_D:
29217 case AArch64::FSUBR_ZPmZ_H:
29218 case AArch64::FSUBR_ZPmZ_S:
29219 case AArch64::FSUB_ZPmZ_D:
29220 case AArch64::FSUB_ZPmZ_H:
29221 case AArch64::FSUB_ZPmZ_S:
29222 case AArch64::LSLR_ZPmZ_B:
29223 case AArch64::LSLR_ZPmZ_D:
29224 case AArch64::LSLR_ZPmZ_H:
29225 case AArch64::LSLR_ZPmZ_S:
29226 case AArch64::LSL_WIDE_ZPmZ_B:
29227 case AArch64::LSL_WIDE_ZPmZ_H:
29228 case AArch64::LSL_WIDE_ZPmZ_S:
29229 case AArch64::LSL_ZPmZ_B:
29230 case AArch64::LSL_ZPmZ_D:
29231 case AArch64::LSL_ZPmZ_H:
29232 case AArch64::LSL_ZPmZ_S:
29233 case AArch64::LSRR_ZPmZ_B:
29234 case AArch64::LSRR_ZPmZ_D:
29235 case AArch64::LSRR_ZPmZ_H:
29236 case AArch64::LSRR_ZPmZ_S:
29237 case AArch64::LSR_WIDE_ZPmZ_B:
29238 case AArch64::LSR_WIDE_ZPmZ_H:
29239 case AArch64::LSR_WIDE_ZPmZ_S:
29240 case AArch64::LSR_ZPmZ_B:
29241 case AArch64::LSR_ZPmZ_D:
29242 case AArch64::LSR_ZPmZ_H:
29243 case AArch64::LSR_ZPmZ_S:
29244 case AArch64::MUL_ZPmZ_B:
29245 case AArch64::MUL_ZPmZ_D:
29246 case AArch64::MUL_ZPmZ_H:
29247 case AArch64::MUL_ZPmZ_S:
29248 case AArch64::ORR_ZPmZ_B:
29249 case AArch64::ORR_ZPmZ_D:
29250 case AArch64::ORR_ZPmZ_H:
29251 case AArch64::ORR_ZPmZ_S:
29252 case AArch64::SABD_ZPmZ_B:
29253 case AArch64::SABD_ZPmZ_D:
29254 case AArch64::SABD_ZPmZ_H:
29255 case AArch64::SABD_ZPmZ_S:
29256 case AArch64::SDIVR_ZPmZ_D:
29257 case AArch64::SDIVR_ZPmZ_S:
29258 case AArch64::SDIV_ZPmZ_D:
29259 case AArch64::SDIV_ZPmZ_S:
29260 case AArch64::SMAX_ZPmZ_B:
29261 case AArch64::SMAX_ZPmZ_D:
29262 case AArch64::SMAX_ZPmZ_H:
29263 case AArch64::SMAX_ZPmZ_S:
29264 case AArch64::SMIN_ZPmZ_B:
29265 case AArch64::SMIN_ZPmZ_D:
29266 case AArch64::SMIN_ZPmZ_H:
29267 case AArch64::SMIN_ZPmZ_S:
29268 case AArch64::SMULH_ZPmZ_B:
29269 case AArch64::SMULH_ZPmZ_D:
29270 case AArch64::SMULH_ZPmZ_H:
29271 case AArch64::SMULH_ZPmZ_S:
29272 case AArch64::SPLICE_ZPZ_B:
29273 case AArch64::SPLICE_ZPZ_D:
29274 case AArch64::SPLICE_ZPZ_H:
29275 case AArch64::SPLICE_ZPZ_S:
29276 case AArch64::SUBR_ZPmZ_B:
29277 case AArch64::SUBR_ZPmZ_D:
29278 case AArch64::SUBR_ZPmZ_H:
29279 case AArch64::SUBR_ZPmZ_S:
29280 case AArch64::SUB_ZPmZ_B:
29281 case AArch64::SUB_ZPmZ_CPA:
29282 case AArch64::SUB_ZPmZ_D:
29283 case AArch64::SUB_ZPmZ_H:
29284 case AArch64::SUB_ZPmZ_S:
29285 case AArch64::UABD_ZPmZ_B:
29286 case AArch64::UABD_ZPmZ_D:
29287 case AArch64::UABD_ZPmZ_H:
29288 case AArch64::UABD_ZPmZ_S:
29289 case AArch64::UDIVR_ZPmZ_D:
29290 case AArch64::UDIVR_ZPmZ_S:
29291 case AArch64::UDIV_ZPmZ_D:
29292 case AArch64::UDIV_ZPmZ_S:
29293 case AArch64::UMAX_ZPmZ_B:
29294 case AArch64::UMAX_ZPmZ_D:
29295 case AArch64::UMAX_ZPmZ_H:
29296 case AArch64::UMAX_ZPmZ_S:
29297 case AArch64::UMIN_ZPmZ_B:
29298 case AArch64::UMIN_ZPmZ_D:
29299 case AArch64::UMIN_ZPmZ_H:
29300 case AArch64::UMIN_ZPmZ_S:
29301 case AArch64::UMULH_ZPmZ_B:
29302 case AArch64::UMULH_ZPmZ_D:
29303 case AArch64::UMULH_ZPmZ_H:
29304 case AArch64::UMULH_ZPmZ_S: {
29305 switch (OpNum) {
29306 case 1:
29307 // op: Pg
29308 return 10;
29309 case 0:
29310 // op: Zdn
29311 return 0;
29312 case 3:
29313 // op: Zm
29314 return 5;
29315 }
29316 break;
29317 }
29318 case AArch64::FADD_ZPmI_D:
29319 case AArch64::FADD_ZPmI_H:
29320 case AArch64::FADD_ZPmI_S:
29321 case AArch64::FMAXNM_ZPmI_D:
29322 case AArch64::FMAXNM_ZPmI_H:
29323 case AArch64::FMAXNM_ZPmI_S:
29324 case AArch64::FMAX_ZPmI_D:
29325 case AArch64::FMAX_ZPmI_H:
29326 case AArch64::FMAX_ZPmI_S:
29327 case AArch64::FMINNM_ZPmI_D:
29328 case AArch64::FMINNM_ZPmI_H:
29329 case AArch64::FMINNM_ZPmI_S:
29330 case AArch64::FMIN_ZPmI_D:
29331 case AArch64::FMIN_ZPmI_H:
29332 case AArch64::FMIN_ZPmI_S:
29333 case AArch64::FMUL_ZPmI_D:
29334 case AArch64::FMUL_ZPmI_H:
29335 case AArch64::FMUL_ZPmI_S:
29336 case AArch64::FSUBR_ZPmI_D:
29337 case AArch64::FSUBR_ZPmI_H:
29338 case AArch64::FSUBR_ZPmI_S:
29339 case AArch64::FSUB_ZPmI_D:
29340 case AArch64::FSUB_ZPmI_H:
29341 case AArch64::FSUB_ZPmI_S: {
29342 switch (OpNum) {
29343 case 1:
29344 // op: Pg
29345 return 10;
29346 case 0:
29347 // op: Zdn
29348 return 0;
29349 case 3:
29350 // op: i1
29351 return 5;
29352 }
29353 break;
29354 }
29355 case AArch64::ASRD_ZPmI_B:
29356 case AArch64::ASRD_ZPmI_D:
29357 case AArch64::ASRD_ZPmI_H:
29358 case AArch64::ASRD_ZPmI_S:
29359 case AArch64::ASR_ZPmI_B:
29360 case AArch64::ASR_ZPmI_D:
29361 case AArch64::ASR_ZPmI_H:
29362 case AArch64::ASR_ZPmI_S:
29363 case AArch64::LSL_ZPmI_B:
29364 case AArch64::LSL_ZPmI_D:
29365 case AArch64::LSL_ZPmI_H:
29366 case AArch64::LSL_ZPmI_S:
29367 case AArch64::LSR_ZPmI_B:
29368 case AArch64::LSR_ZPmI_D:
29369 case AArch64::LSR_ZPmI_H:
29370 case AArch64::LSR_ZPmI_S:
29371 case AArch64::SQSHLU_ZPmI_B:
29372 case AArch64::SQSHLU_ZPmI_D:
29373 case AArch64::SQSHLU_ZPmI_H:
29374 case AArch64::SQSHLU_ZPmI_S:
29375 case AArch64::SQSHL_ZPmI_B:
29376 case AArch64::SQSHL_ZPmI_D:
29377 case AArch64::SQSHL_ZPmI_H:
29378 case AArch64::SQSHL_ZPmI_S:
29379 case AArch64::SRSHR_ZPmI_B:
29380 case AArch64::SRSHR_ZPmI_D:
29381 case AArch64::SRSHR_ZPmI_H:
29382 case AArch64::SRSHR_ZPmI_S:
29383 case AArch64::UQSHL_ZPmI_B:
29384 case AArch64::UQSHL_ZPmI_D:
29385 case AArch64::UQSHL_ZPmI_H:
29386 case AArch64::UQSHL_ZPmI_S:
29387 case AArch64::URSHR_ZPmI_B:
29388 case AArch64::URSHR_ZPmI_D:
29389 case AArch64::URSHR_ZPmI_H:
29390 case AArch64::URSHR_ZPmI_S: {
29391 switch (OpNum) {
29392 case 1:
29393 // op: Pg
29394 return 10;
29395 case 0:
29396 // op: Zdn
29397 return 0;
29398 case 3:
29399 // op: imm
29400 return 5;
29401 }
29402 break;
29403 }
29404 case AArch64::MAD_ZPmZZ_B:
29405 case AArch64::MAD_ZPmZZ_D:
29406 case AArch64::MAD_ZPmZZ_H:
29407 case AArch64::MAD_ZPmZZ_S:
29408 case AArch64::MSB_ZPmZZ_B:
29409 case AArch64::MSB_ZPmZZ_D:
29410 case AArch64::MSB_ZPmZZ_H:
29411 case AArch64::MSB_ZPmZZ_S: {
29412 switch (OpNum) {
29413 case 1:
29414 // op: Pg
29415 return 10;
29416 case 0:
29417 // op: Zdn
29418 return 0;
29419 case 4:
29420 // op: Za
29421 return 5;
29422 case 3:
29423 // op: Zm
29424 return 16;
29425 }
29426 break;
29427 }
29428 case AArch64::CNTP_XPP_B:
29429 case AArch64::CNTP_XPP_D:
29430 case AArch64::CNTP_XPP_H:
29431 case AArch64::CNTP_XPP_S:
29432 case AArch64::FIRSTP_XPP_B:
29433 case AArch64::FIRSTP_XPP_D:
29434 case AArch64::FIRSTP_XPP_H:
29435 case AArch64::FIRSTP_XPP_S:
29436 case AArch64::LASTP_XPP_B:
29437 case AArch64::LASTP_XPP_D:
29438 case AArch64::LASTP_XPP_H:
29439 case AArch64::LASTP_XPP_S: {
29440 switch (OpNum) {
29441 case 1:
29442 // op: Pg
29443 return 10;
29444 case 2:
29445 // op: Pn
29446 return 5;
29447 case 0:
29448 // op: Rd
29449 return 0;
29450 }
29451 break;
29452 }
29453 case AArch64::LD1B_D_IMM:
29454 case AArch64::LD1B_H_IMM:
29455 case AArch64::LD1B_IMM:
29456 case AArch64::LD1B_S_IMM:
29457 case AArch64::LD1D_IMM:
29458 case AArch64::LD1H_D_IMM:
29459 case AArch64::LD1H_IMM:
29460 case AArch64::LD1H_S_IMM:
29461 case AArch64::LD1SB_D_IMM:
29462 case AArch64::LD1SB_H_IMM:
29463 case AArch64::LD1SB_S_IMM:
29464 case AArch64::LD1SH_D_IMM:
29465 case AArch64::LD1SH_S_IMM:
29466 case AArch64::LD1SW_D_IMM:
29467 case AArch64::LD1W_D_IMM:
29468 case AArch64::LD1W_IMM:
29469 case AArch64::LDNF1B_D_IMM:
29470 case AArch64::LDNF1B_H_IMM:
29471 case AArch64::LDNF1B_IMM:
29472 case AArch64::LDNF1B_S_IMM:
29473 case AArch64::LDNF1D_IMM:
29474 case AArch64::LDNF1H_D_IMM:
29475 case AArch64::LDNF1H_IMM:
29476 case AArch64::LDNF1H_S_IMM:
29477 case AArch64::LDNF1SB_D_IMM:
29478 case AArch64::LDNF1SB_H_IMM:
29479 case AArch64::LDNF1SB_S_IMM:
29480 case AArch64::LDNF1SH_D_IMM:
29481 case AArch64::LDNF1SH_S_IMM:
29482 case AArch64::LDNF1SW_D_IMM:
29483 case AArch64::LDNF1W_D_IMM:
29484 case AArch64::LDNF1W_IMM:
29485 case AArch64::ST1B_D_IMM:
29486 case AArch64::ST1B_H_IMM:
29487 case AArch64::ST1B_IMM:
29488 case AArch64::ST1B_S_IMM:
29489 case AArch64::ST1D_IMM:
29490 case AArch64::ST1D_Q_IMM:
29491 case AArch64::ST1H_D_IMM:
29492 case AArch64::ST1H_IMM:
29493 case AArch64::ST1H_S_IMM:
29494 case AArch64::ST1W_D_IMM:
29495 case AArch64::ST1W_IMM:
29496 case AArch64::ST1W_Q_IMM:
29497 case AArch64::ST2B_IMM:
29498 case AArch64::ST2D_IMM:
29499 case AArch64::ST2H_IMM:
29500 case AArch64::ST2W_IMM:
29501 case AArch64::ST3B_IMM:
29502 case AArch64::ST3D_IMM:
29503 case AArch64::ST3H_IMM:
29504 case AArch64::ST3W_IMM:
29505 case AArch64::ST4B_IMM:
29506 case AArch64::ST4D_IMM:
29507 case AArch64::ST4H_IMM:
29508 case AArch64::ST4W_IMM:
29509 case AArch64::STNT1B_ZRI:
29510 case AArch64::STNT1D_ZRI:
29511 case AArch64::STNT1H_ZRI:
29512 case AArch64::STNT1W_ZRI: {
29513 switch (OpNum) {
29514 case 1:
29515 // op: Pg
29516 return 10;
29517 case 2:
29518 // op: Rn
29519 return 5;
29520 case 0:
29521 // op: Zt
29522 return 0;
29523 case 3:
29524 // op: imm4
29525 return 16;
29526 }
29527 break;
29528 }
29529 case AArch64::LD1RB_D_IMM:
29530 case AArch64::LD1RB_H_IMM:
29531 case AArch64::LD1RB_IMM:
29532 case AArch64::LD1RB_S_IMM:
29533 case AArch64::LD1RD_IMM:
29534 case AArch64::LD1RH_D_IMM:
29535 case AArch64::LD1RH_IMM:
29536 case AArch64::LD1RH_S_IMM:
29537 case AArch64::LD1RSB_D_IMM:
29538 case AArch64::LD1RSB_H_IMM:
29539 case AArch64::LD1RSB_S_IMM:
29540 case AArch64::LD1RSH_D_IMM:
29541 case AArch64::LD1RSH_S_IMM:
29542 case AArch64::LD1RSW_IMM:
29543 case AArch64::LD1RW_D_IMM:
29544 case AArch64::LD1RW_IMM: {
29545 switch (OpNum) {
29546 case 1:
29547 // op: Pg
29548 return 10;
29549 case 2:
29550 // op: Rn
29551 return 5;
29552 case 0:
29553 // op: Zt
29554 return 0;
29555 case 3:
29556 // op: imm6
29557 return 16;
29558 }
29559 break;
29560 }
29561 case AArch64::GLD1B_D:
29562 case AArch64::GLD1B_D_SXTW:
29563 case AArch64::GLD1B_D_UXTW:
29564 case AArch64::GLD1B_S_SXTW:
29565 case AArch64::GLD1B_S_UXTW:
29566 case AArch64::GLD1D:
29567 case AArch64::GLD1D_SCALED:
29568 case AArch64::GLD1D_SXTW:
29569 case AArch64::GLD1D_SXTW_SCALED:
29570 case AArch64::GLD1D_UXTW:
29571 case AArch64::GLD1D_UXTW_SCALED:
29572 case AArch64::GLD1H_D:
29573 case AArch64::GLD1H_D_SCALED:
29574 case AArch64::GLD1H_D_SXTW:
29575 case AArch64::GLD1H_D_SXTW_SCALED:
29576 case AArch64::GLD1H_D_UXTW:
29577 case AArch64::GLD1H_D_UXTW_SCALED:
29578 case AArch64::GLD1H_S_SXTW:
29579 case AArch64::GLD1H_S_SXTW_SCALED:
29580 case AArch64::GLD1H_S_UXTW:
29581 case AArch64::GLD1H_S_UXTW_SCALED:
29582 case AArch64::GLD1SB_D:
29583 case AArch64::GLD1SB_D_SXTW:
29584 case AArch64::GLD1SB_D_UXTW:
29585 case AArch64::GLD1SB_S_SXTW:
29586 case AArch64::GLD1SB_S_UXTW:
29587 case AArch64::GLD1SH_D:
29588 case AArch64::GLD1SH_D_SCALED:
29589 case AArch64::GLD1SH_D_SXTW:
29590 case AArch64::GLD1SH_D_SXTW_SCALED:
29591 case AArch64::GLD1SH_D_UXTW:
29592 case AArch64::GLD1SH_D_UXTW_SCALED:
29593 case AArch64::GLD1SH_S_SXTW:
29594 case AArch64::GLD1SH_S_SXTW_SCALED:
29595 case AArch64::GLD1SH_S_UXTW:
29596 case AArch64::GLD1SH_S_UXTW_SCALED:
29597 case AArch64::GLD1SW_D:
29598 case AArch64::GLD1SW_D_SCALED:
29599 case AArch64::GLD1SW_D_SXTW:
29600 case AArch64::GLD1SW_D_SXTW_SCALED:
29601 case AArch64::GLD1SW_D_UXTW:
29602 case AArch64::GLD1SW_D_UXTW_SCALED:
29603 case AArch64::GLD1W_D:
29604 case AArch64::GLD1W_D_SCALED:
29605 case AArch64::GLD1W_D_SXTW:
29606 case AArch64::GLD1W_D_SXTW_SCALED:
29607 case AArch64::GLD1W_D_UXTW:
29608 case AArch64::GLD1W_D_UXTW_SCALED:
29609 case AArch64::GLD1W_SXTW:
29610 case AArch64::GLD1W_SXTW_SCALED:
29611 case AArch64::GLD1W_UXTW:
29612 case AArch64::GLD1W_UXTW_SCALED:
29613 case AArch64::GLDFF1B_D:
29614 case AArch64::GLDFF1B_D_SXTW:
29615 case AArch64::GLDFF1B_D_UXTW:
29616 case AArch64::GLDFF1B_S_SXTW:
29617 case AArch64::GLDFF1B_S_UXTW:
29618 case AArch64::GLDFF1D:
29619 case AArch64::GLDFF1D_SCALED:
29620 case AArch64::GLDFF1D_SXTW:
29621 case AArch64::GLDFF1D_SXTW_SCALED:
29622 case AArch64::GLDFF1D_UXTW:
29623 case AArch64::GLDFF1D_UXTW_SCALED:
29624 case AArch64::GLDFF1H_D:
29625 case AArch64::GLDFF1H_D_SCALED:
29626 case AArch64::GLDFF1H_D_SXTW:
29627 case AArch64::GLDFF1H_D_SXTW_SCALED:
29628 case AArch64::GLDFF1H_D_UXTW:
29629 case AArch64::GLDFF1H_D_UXTW_SCALED:
29630 case AArch64::GLDFF1H_S_SXTW:
29631 case AArch64::GLDFF1H_S_SXTW_SCALED:
29632 case AArch64::GLDFF1H_S_UXTW:
29633 case AArch64::GLDFF1H_S_UXTW_SCALED:
29634 case AArch64::GLDFF1SB_D:
29635 case AArch64::GLDFF1SB_D_SXTW:
29636 case AArch64::GLDFF1SB_D_UXTW:
29637 case AArch64::GLDFF1SB_S_SXTW:
29638 case AArch64::GLDFF1SB_S_UXTW:
29639 case AArch64::GLDFF1SH_D:
29640 case AArch64::GLDFF1SH_D_SCALED:
29641 case AArch64::GLDFF1SH_D_SXTW:
29642 case AArch64::GLDFF1SH_D_SXTW_SCALED:
29643 case AArch64::GLDFF1SH_D_UXTW:
29644 case AArch64::GLDFF1SH_D_UXTW_SCALED:
29645 case AArch64::GLDFF1SH_S_SXTW:
29646 case AArch64::GLDFF1SH_S_SXTW_SCALED:
29647 case AArch64::GLDFF1SH_S_UXTW:
29648 case AArch64::GLDFF1SH_S_UXTW_SCALED:
29649 case AArch64::GLDFF1SW_D:
29650 case AArch64::GLDFF1SW_D_SCALED:
29651 case AArch64::GLDFF1SW_D_SXTW:
29652 case AArch64::GLDFF1SW_D_SXTW_SCALED:
29653 case AArch64::GLDFF1SW_D_UXTW:
29654 case AArch64::GLDFF1SW_D_UXTW_SCALED:
29655 case AArch64::GLDFF1W_D:
29656 case AArch64::GLDFF1W_D_SCALED:
29657 case AArch64::GLDFF1W_D_SXTW:
29658 case AArch64::GLDFF1W_D_SXTW_SCALED:
29659 case AArch64::GLDFF1W_D_UXTW:
29660 case AArch64::GLDFF1W_D_UXTW_SCALED:
29661 case AArch64::GLDFF1W_SXTW:
29662 case AArch64::GLDFF1W_SXTW_SCALED:
29663 case AArch64::GLDFF1W_UXTW:
29664 case AArch64::GLDFF1W_UXTW_SCALED:
29665 case AArch64::SST1B_D:
29666 case AArch64::SST1B_D_SXTW:
29667 case AArch64::SST1B_D_UXTW:
29668 case AArch64::SST1B_S_SXTW:
29669 case AArch64::SST1B_S_UXTW:
29670 case AArch64::SST1D:
29671 case AArch64::SST1D_SCALED:
29672 case AArch64::SST1D_SXTW:
29673 case AArch64::SST1D_SXTW_SCALED:
29674 case AArch64::SST1D_UXTW:
29675 case AArch64::SST1D_UXTW_SCALED:
29676 case AArch64::SST1H_D:
29677 case AArch64::SST1H_D_SCALED:
29678 case AArch64::SST1H_D_SXTW:
29679 case AArch64::SST1H_D_SXTW_SCALED:
29680 case AArch64::SST1H_D_UXTW:
29681 case AArch64::SST1H_D_UXTW_SCALED:
29682 case AArch64::SST1H_S_SXTW:
29683 case AArch64::SST1H_S_SXTW_SCALED:
29684 case AArch64::SST1H_S_UXTW:
29685 case AArch64::SST1H_S_UXTW_SCALED:
29686 case AArch64::SST1W_D:
29687 case AArch64::SST1W_D_SCALED:
29688 case AArch64::SST1W_D_SXTW:
29689 case AArch64::SST1W_D_SXTW_SCALED:
29690 case AArch64::SST1W_D_UXTW:
29691 case AArch64::SST1W_D_UXTW_SCALED:
29692 case AArch64::SST1W_SXTW:
29693 case AArch64::SST1W_SXTW_SCALED:
29694 case AArch64::SST1W_UXTW:
29695 case AArch64::SST1W_UXTW_SCALED: {
29696 switch (OpNum) {
29697 case 1:
29698 // op: Pg
29699 return 10;
29700 case 2:
29701 // op: Rn
29702 return 5;
29703 case 3:
29704 // op: Zm
29705 return 16;
29706 case 0:
29707 // op: Zt
29708 return 0;
29709 }
29710 break;
29711 }
29712 case AArch64::PRFB_D_SCALED:
29713 case AArch64::PRFB_D_SXTW_SCALED:
29714 case AArch64::PRFB_D_UXTW_SCALED:
29715 case AArch64::PRFB_S_SXTW_SCALED:
29716 case AArch64::PRFB_S_UXTW_SCALED:
29717 case AArch64::PRFD_D_SCALED:
29718 case AArch64::PRFD_D_SXTW_SCALED:
29719 case AArch64::PRFD_D_UXTW_SCALED:
29720 case AArch64::PRFD_S_SXTW_SCALED:
29721 case AArch64::PRFD_S_UXTW_SCALED:
29722 case AArch64::PRFH_D_SCALED:
29723 case AArch64::PRFH_D_SXTW_SCALED:
29724 case AArch64::PRFH_D_UXTW_SCALED:
29725 case AArch64::PRFH_S_SXTW_SCALED:
29726 case AArch64::PRFH_S_UXTW_SCALED:
29727 case AArch64::PRFW_D_SCALED:
29728 case AArch64::PRFW_D_SXTW_SCALED:
29729 case AArch64::PRFW_D_UXTW_SCALED:
29730 case AArch64::PRFW_S_SXTW_SCALED:
29731 case AArch64::PRFW_S_UXTW_SCALED: {
29732 switch (OpNum) {
29733 case 1:
29734 // op: Pg
29735 return 10;
29736 case 2:
29737 // op: Rn
29738 return 5;
29739 case 3:
29740 // op: Zm
29741 return 16;
29742 case 0:
29743 // op: prfop
29744 return 0;
29745 }
29746 break;
29747 }
29748 case AArch64::EXPAND_ZPZ_B:
29749 case AArch64::EXPAND_ZPZ_D:
29750 case AArch64::EXPAND_ZPZ_H:
29751 case AArch64::EXPAND_ZPZ_S:
29752 case AArch64::SPLICE_ZPZZ_B:
29753 case AArch64::SPLICE_ZPZZ_D:
29754 case AArch64::SPLICE_ZPZZ_H:
29755 case AArch64::SPLICE_ZPZZ_S: {
29756 switch (OpNum) {
29757 case 1:
29758 // op: Pg
29759 return 10;
29760 case 2:
29761 // op: Zn
29762 return 5;
29763 case 0:
29764 // op: Zd
29765 return 0;
29766 }
29767 break;
29768 }
29769 case AArch64::GLD1B_D_IMM:
29770 case AArch64::GLD1B_S_IMM:
29771 case AArch64::GLD1D_IMM:
29772 case AArch64::GLD1H_D_IMM:
29773 case AArch64::GLD1H_S_IMM:
29774 case AArch64::GLD1SB_D_IMM:
29775 case AArch64::GLD1SB_S_IMM:
29776 case AArch64::GLD1SH_D_IMM:
29777 case AArch64::GLD1SH_S_IMM:
29778 case AArch64::GLD1SW_D_IMM:
29779 case AArch64::GLD1W_D_IMM:
29780 case AArch64::GLD1W_IMM:
29781 case AArch64::GLDFF1B_D_IMM:
29782 case AArch64::GLDFF1B_S_IMM:
29783 case AArch64::GLDFF1D_IMM:
29784 case AArch64::GLDFF1H_D_IMM:
29785 case AArch64::GLDFF1H_S_IMM:
29786 case AArch64::GLDFF1SB_D_IMM:
29787 case AArch64::GLDFF1SB_S_IMM:
29788 case AArch64::GLDFF1SH_D_IMM:
29789 case AArch64::GLDFF1SH_S_IMM:
29790 case AArch64::GLDFF1SW_D_IMM:
29791 case AArch64::GLDFF1W_D_IMM:
29792 case AArch64::GLDFF1W_IMM: {
29793 switch (OpNum) {
29794 case 1:
29795 // op: Pg
29796 return 10;
29797 case 2:
29798 // op: Zn
29799 return 5;
29800 case 0:
29801 // op: Zt
29802 return 0;
29803 case 3:
29804 // op: imm5
29805 return 16;
29806 }
29807 break;
29808 }
29809 case AArch64::PRFB_D_PZI:
29810 case AArch64::PRFB_S_PZI:
29811 case AArch64::PRFD_D_PZI:
29812 case AArch64::PRFD_S_PZI:
29813 case AArch64::PRFH_D_PZI:
29814 case AArch64::PRFH_S_PZI:
29815 case AArch64::PRFW_D_PZI:
29816 case AArch64::PRFW_S_PZI: {
29817 switch (OpNum) {
29818 case 1:
29819 // op: Pg
29820 return 10;
29821 case 2:
29822 // op: Zn
29823 return 5;
29824 case 3:
29825 // op: imm5
29826 return 16;
29827 case 0:
29828 // op: prfop
29829 return 0;
29830 }
29831 break;
29832 }
29833 case AArch64::LD2B:
29834 case AArch64::LD2D:
29835 case AArch64::LD2H:
29836 case AArch64::LD2Q:
29837 case AArch64::LD2W:
29838 case AArch64::LD3B:
29839 case AArch64::LD3D:
29840 case AArch64::LD3H:
29841 case AArch64::LD3Q:
29842 case AArch64::LD3W:
29843 case AArch64::LD4B:
29844 case AArch64::LD4D:
29845 case AArch64::LD4H:
29846 case AArch64::LD4Q:
29847 case AArch64::LD4W:
29848 case AArch64::LDNT1B_ZRR:
29849 case AArch64::LDNT1D_ZRR:
29850 case AArch64::LDNT1H_ZRR:
29851 case AArch64::LDNT1W_ZRR:
29852 case AArch64::ST1B:
29853 case AArch64::ST1B_D:
29854 case AArch64::ST1B_H:
29855 case AArch64::ST1B_S:
29856 case AArch64::ST1D:
29857 case AArch64::ST1D_Q:
29858 case AArch64::ST1H:
29859 case AArch64::ST1H_D:
29860 case AArch64::ST1H_S:
29861 case AArch64::ST1W:
29862 case AArch64::ST1W_D:
29863 case AArch64::ST1W_Q:
29864 case AArch64::ST2B:
29865 case AArch64::ST2D:
29866 case AArch64::ST2H:
29867 case AArch64::ST2W:
29868 case AArch64::ST3B:
29869 case AArch64::ST3D:
29870 case AArch64::ST3H:
29871 case AArch64::ST3W:
29872 case AArch64::ST4B:
29873 case AArch64::ST4D:
29874 case AArch64::ST4H:
29875 case AArch64::ST4W:
29876 case AArch64::STNT1B_ZRR:
29877 case AArch64::STNT1D_ZRR:
29878 case AArch64::STNT1H_ZRR:
29879 case AArch64::STNT1W_ZRR: {
29880 switch (OpNum) {
29881 case 1:
29882 // op: Pg
29883 return 10;
29884 case 3:
29885 // op: Rm
29886 return 16;
29887 case 2:
29888 // op: Rn
29889 return 5;
29890 case 0:
29891 // op: Zt
29892 return 0;
29893 }
29894 break;
29895 }
29896 case AArch64::LDNT1B_ZZR_D:
29897 case AArch64::LDNT1B_ZZR_S:
29898 case AArch64::LDNT1D_ZZR_D:
29899 case AArch64::LDNT1H_ZZR_D:
29900 case AArch64::LDNT1H_ZZR_S:
29901 case AArch64::LDNT1SB_ZZR_D:
29902 case AArch64::LDNT1SB_ZZR_S:
29903 case AArch64::LDNT1SH_ZZR_D:
29904 case AArch64::LDNT1SH_ZZR_S:
29905 case AArch64::LDNT1SW_ZZR_D:
29906 case AArch64::LDNT1W_ZZR_D:
29907 case AArch64::LDNT1W_ZZR_S:
29908 case AArch64::STNT1B_ZZR_D:
29909 case AArch64::STNT1B_ZZR_S:
29910 case AArch64::STNT1D_ZZR_D:
29911 case AArch64::STNT1H_ZZR_D:
29912 case AArch64::STNT1H_ZZR_S:
29913 case AArch64::STNT1W_ZZR_D:
29914 case AArch64::STNT1W_ZZR_S: {
29915 switch (OpNum) {
29916 case 1:
29917 // op: Pg
29918 return 10;
29919 case 3:
29920 // op: Rm
29921 return 16;
29922 case 2:
29923 // op: Zn
29924 return 5;
29925 case 0:
29926 // op: Zt
29927 return 0;
29928 }
29929 break;
29930 }
29931 case AArch64::ADDP_ZPmZ_B:
29932 case AArch64::ADDP_ZPmZ_D:
29933 case AArch64::ADDP_ZPmZ_H:
29934 case AArch64::ADDP_ZPmZ_S:
29935 case AArch64::FADDP_ZPmZZ_D:
29936 case AArch64::FADDP_ZPmZZ_H:
29937 case AArch64::FADDP_ZPmZZ_S:
29938 case AArch64::FMAXNMP_ZPmZZ_D:
29939 case AArch64::FMAXNMP_ZPmZZ_H:
29940 case AArch64::FMAXNMP_ZPmZZ_S:
29941 case AArch64::FMAXP_ZPmZZ_D:
29942 case AArch64::FMAXP_ZPmZZ_H:
29943 case AArch64::FMAXP_ZPmZZ_S:
29944 case AArch64::FMINNMP_ZPmZZ_D:
29945 case AArch64::FMINNMP_ZPmZZ_H:
29946 case AArch64::FMINNMP_ZPmZZ_S:
29947 case AArch64::FMINP_ZPmZZ_D:
29948 case AArch64::FMINP_ZPmZZ_H:
29949 case AArch64::FMINP_ZPmZZ_S:
29950 case AArch64::SHADD_ZPmZ_B:
29951 case AArch64::SHADD_ZPmZ_D:
29952 case AArch64::SHADD_ZPmZ_H:
29953 case AArch64::SHADD_ZPmZ_S:
29954 case AArch64::SHSUBR_ZPmZ_B:
29955 case AArch64::SHSUBR_ZPmZ_D:
29956 case AArch64::SHSUBR_ZPmZ_H:
29957 case AArch64::SHSUBR_ZPmZ_S:
29958 case AArch64::SHSUB_ZPmZ_B:
29959 case AArch64::SHSUB_ZPmZ_D:
29960 case AArch64::SHSUB_ZPmZ_H:
29961 case AArch64::SHSUB_ZPmZ_S:
29962 case AArch64::SMAXP_ZPmZ_B:
29963 case AArch64::SMAXP_ZPmZ_D:
29964 case AArch64::SMAXP_ZPmZ_H:
29965 case AArch64::SMAXP_ZPmZ_S:
29966 case AArch64::SMINP_ZPmZ_B:
29967 case AArch64::SMINP_ZPmZ_D:
29968 case AArch64::SMINP_ZPmZ_H:
29969 case AArch64::SMINP_ZPmZ_S:
29970 case AArch64::SQADD_ZPmZ_B:
29971 case AArch64::SQADD_ZPmZ_D:
29972 case AArch64::SQADD_ZPmZ_H:
29973 case AArch64::SQADD_ZPmZ_S:
29974 case AArch64::SQRSHLR_ZPmZ_B:
29975 case AArch64::SQRSHLR_ZPmZ_D:
29976 case AArch64::SQRSHLR_ZPmZ_H:
29977 case AArch64::SQRSHLR_ZPmZ_S:
29978 case AArch64::SQRSHL_ZPmZ_B:
29979 case AArch64::SQRSHL_ZPmZ_D:
29980 case AArch64::SQRSHL_ZPmZ_H:
29981 case AArch64::SQRSHL_ZPmZ_S:
29982 case AArch64::SQSHLR_ZPmZ_B:
29983 case AArch64::SQSHLR_ZPmZ_D:
29984 case AArch64::SQSHLR_ZPmZ_H:
29985 case AArch64::SQSHLR_ZPmZ_S:
29986 case AArch64::SQSHL_ZPmZ_B:
29987 case AArch64::SQSHL_ZPmZ_D:
29988 case AArch64::SQSHL_ZPmZ_H:
29989 case AArch64::SQSHL_ZPmZ_S:
29990 case AArch64::SQSUBR_ZPmZ_B:
29991 case AArch64::SQSUBR_ZPmZ_D:
29992 case AArch64::SQSUBR_ZPmZ_H:
29993 case AArch64::SQSUBR_ZPmZ_S:
29994 case AArch64::SQSUB_ZPmZ_B:
29995 case AArch64::SQSUB_ZPmZ_D:
29996 case AArch64::SQSUB_ZPmZ_H:
29997 case AArch64::SQSUB_ZPmZ_S:
29998 case AArch64::SRHADD_ZPmZ_B:
29999 case AArch64::SRHADD_ZPmZ_D:
30000 case AArch64::SRHADD_ZPmZ_H:
30001 case AArch64::SRHADD_ZPmZ_S:
30002 case AArch64::SRSHLR_ZPmZ_B:
30003 case AArch64::SRSHLR_ZPmZ_D:
30004 case AArch64::SRSHLR_ZPmZ_H:
30005 case AArch64::SRSHLR_ZPmZ_S:
30006 case AArch64::SRSHL_ZPmZ_B:
30007 case AArch64::SRSHL_ZPmZ_D:
30008 case AArch64::SRSHL_ZPmZ_H:
30009 case AArch64::SRSHL_ZPmZ_S:
30010 case AArch64::SUBP_ZPmZZ_B:
30011 case AArch64::SUBP_ZPmZZ_D:
30012 case AArch64::SUBP_ZPmZZ_H:
30013 case AArch64::SUBP_ZPmZZ_S:
30014 case AArch64::SUQADD_ZPmZ_B:
30015 case AArch64::SUQADD_ZPmZ_D:
30016 case AArch64::SUQADD_ZPmZ_H:
30017 case AArch64::SUQADD_ZPmZ_S:
30018 case AArch64::UHADD_ZPmZ_B:
30019 case AArch64::UHADD_ZPmZ_D:
30020 case AArch64::UHADD_ZPmZ_H:
30021 case AArch64::UHADD_ZPmZ_S:
30022 case AArch64::UHSUBR_ZPmZ_B:
30023 case AArch64::UHSUBR_ZPmZ_D:
30024 case AArch64::UHSUBR_ZPmZ_H:
30025 case AArch64::UHSUBR_ZPmZ_S:
30026 case AArch64::UHSUB_ZPmZ_B:
30027 case AArch64::UHSUB_ZPmZ_D:
30028 case AArch64::UHSUB_ZPmZ_H:
30029 case AArch64::UHSUB_ZPmZ_S:
30030 case AArch64::UMAXP_ZPmZ_B:
30031 case AArch64::UMAXP_ZPmZ_D:
30032 case AArch64::UMAXP_ZPmZ_H:
30033 case AArch64::UMAXP_ZPmZ_S:
30034 case AArch64::UMINP_ZPmZ_B:
30035 case AArch64::UMINP_ZPmZ_D:
30036 case AArch64::UMINP_ZPmZ_H:
30037 case AArch64::UMINP_ZPmZ_S:
30038 case AArch64::UQADD_ZPmZ_B:
30039 case AArch64::UQADD_ZPmZ_D:
30040 case AArch64::UQADD_ZPmZ_H:
30041 case AArch64::UQADD_ZPmZ_S:
30042 case AArch64::UQRSHLR_ZPmZ_B:
30043 case AArch64::UQRSHLR_ZPmZ_D:
30044 case AArch64::UQRSHLR_ZPmZ_H:
30045 case AArch64::UQRSHLR_ZPmZ_S:
30046 case AArch64::UQRSHL_ZPmZ_B:
30047 case AArch64::UQRSHL_ZPmZ_D:
30048 case AArch64::UQRSHL_ZPmZ_H:
30049 case AArch64::UQRSHL_ZPmZ_S:
30050 case AArch64::UQSHLR_ZPmZ_B:
30051 case AArch64::UQSHLR_ZPmZ_D:
30052 case AArch64::UQSHLR_ZPmZ_H:
30053 case AArch64::UQSHLR_ZPmZ_S:
30054 case AArch64::UQSHL_ZPmZ_B:
30055 case AArch64::UQSHL_ZPmZ_D:
30056 case AArch64::UQSHL_ZPmZ_H:
30057 case AArch64::UQSHL_ZPmZ_S:
30058 case AArch64::UQSUBR_ZPmZ_B:
30059 case AArch64::UQSUBR_ZPmZ_D:
30060 case AArch64::UQSUBR_ZPmZ_H:
30061 case AArch64::UQSUBR_ZPmZ_S:
30062 case AArch64::UQSUB_ZPmZ_B:
30063 case AArch64::UQSUB_ZPmZ_D:
30064 case AArch64::UQSUB_ZPmZ_H:
30065 case AArch64::UQSUB_ZPmZ_S:
30066 case AArch64::URHADD_ZPmZ_B:
30067 case AArch64::URHADD_ZPmZ_D:
30068 case AArch64::URHADD_ZPmZ_H:
30069 case AArch64::URHADD_ZPmZ_S:
30070 case AArch64::URSHLR_ZPmZ_B:
30071 case AArch64::URSHLR_ZPmZ_D:
30072 case AArch64::URSHLR_ZPmZ_H:
30073 case AArch64::URSHLR_ZPmZ_S:
30074 case AArch64::URSHL_ZPmZ_B:
30075 case AArch64::URSHL_ZPmZ_D:
30076 case AArch64::URSHL_ZPmZ_H:
30077 case AArch64::URSHL_ZPmZ_S:
30078 case AArch64::USQADD_ZPmZ_B:
30079 case AArch64::USQADD_ZPmZ_D:
30080 case AArch64::USQADD_ZPmZ_H:
30081 case AArch64::USQADD_ZPmZ_S: {
30082 switch (OpNum) {
30083 case 1:
30084 // op: Pg
30085 return 10;
30086 case 3:
30087 // op: Zm
30088 return 5;
30089 case 0:
30090 // op: Zdn
30091 return 0;
30092 }
30093 break;
30094 }
30095 case AArch64::SADALP_ZPmZ_D:
30096 case AArch64::SADALP_ZPmZ_H:
30097 case AArch64::SADALP_ZPmZ_S:
30098 case AArch64::UADALP_ZPmZ_D:
30099 case AArch64::UADALP_ZPmZ_H:
30100 case AArch64::UADALP_ZPmZ_S: {
30101 switch (OpNum) {
30102 case 1:
30103 // op: Pg
30104 return 10;
30105 case 3:
30106 // op: Zn
30107 return 5;
30108 case 0:
30109 // op: Zda
30110 return 0;
30111 }
30112 break;
30113 }
30114 case AArch64::SST1B_D_IMM:
30115 case AArch64::SST1B_S_IMM:
30116 case AArch64::SST1D_IMM:
30117 case AArch64::SST1H_D_IMM:
30118 case AArch64::SST1H_S_IMM:
30119 case AArch64::SST1W_D_IMM:
30120 case AArch64::SST1W_IMM: {
30121 switch (OpNum) {
30122 case 1:
30123 // op: Pg
30124 return 10;
30125 case 3:
30126 // op: imm5
30127 return 16;
30128 case 2:
30129 // op: Zn
30130 return 5;
30131 case 0:
30132 // op: Zt
30133 return 0;
30134 }
30135 break;
30136 }
30137 case AArch64::FMAD_ZPmZZ_D:
30138 case AArch64::FMAD_ZPmZZ_H:
30139 case AArch64::FMAD_ZPmZZ_S:
30140 case AArch64::FMSB_ZPmZZ_D:
30141 case AArch64::FMSB_ZPmZZ_H:
30142 case AArch64::FMSB_ZPmZZ_S:
30143 case AArch64::FNMAD_ZPmZZ_D:
30144 case AArch64::FNMAD_ZPmZZ_H:
30145 case AArch64::FNMAD_ZPmZZ_S:
30146 case AArch64::FNMSB_ZPmZZ_D:
30147 case AArch64::FNMSB_ZPmZZ_H:
30148 case AArch64::FNMSB_ZPmZZ_S: {
30149 switch (OpNum) {
30150 case 1:
30151 // op: Pg
30152 return 10;
30153 case 4:
30154 // op: Za
30155 return 16;
30156 case 0:
30157 // op: Zdn
30158 return 0;
30159 case 3:
30160 // op: Zm
30161 return 5;
30162 }
30163 break;
30164 }
30165 case AArch64::BF16DOTlanev4bf16:
30166 case AArch64::BF16DOTlanev8bf16:
30167 case AArch64::BFMLALBIdx:
30168 case AArch64::BFMLALTIdx:
30169 case AArch64::FDOTlanev2f32:
30170 case AArch64::FDOTlanev4f16:
30171 case AArch64::FDOTlanev4f16_v2f32:
30172 case AArch64::FDOTlanev4f32:
30173 case AArch64::FDOTlanev8f16:
30174 case AArch64::FDOTlanev8f16_v4f32:
30175 case AArch64::FMLAL2lanev4f16:
30176 case AArch64::FMLAL2lanev8f16:
30177 case AArch64::FMLALBlanev8f16:
30178 case AArch64::FMLALLBBlanev4f32:
30179 case AArch64::FMLALLBTlanev4f32:
30180 case AArch64::FMLALLTBlanev4f32:
30181 case AArch64::FMLALLTTlanev4f32:
30182 case AArch64::FMLALTlanev8f16:
30183 case AArch64::FMLALlanev4f16:
30184 case AArch64::FMLALlanev8f16:
30185 case AArch64::FMLAv1i16_indexed:
30186 case AArch64::FMLAv1i32_indexed:
30187 case AArch64::FMLAv1i64_indexed:
30188 case AArch64::FMLAv2i32_indexed:
30189 case AArch64::FMLAv2i64_indexed:
30190 case AArch64::FMLAv4i16_indexed:
30191 case AArch64::FMLAv4i32_indexed:
30192 case AArch64::FMLAv8i16_indexed:
30193 case AArch64::FMLSL2lanev4f16:
30194 case AArch64::FMLSL2lanev8f16:
30195 case AArch64::FMLSLlanev4f16:
30196 case AArch64::FMLSLlanev8f16:
30197 case AArch64::FMLSv1i16_indexed:
30198 case AArch64::FMLSv1i32_indexed:
30199 case AArch64::FMLSv1i64_indexed:
30200 case AArch64::FMLSv2i32_indexed:
30201 case AArch64::FMLSv2i64_indexed:
30202 case AArch64::FMLSv4i16_indexed:
30203 case AArch64::FMLSv4i32_indexed:
30204 case AArch64::FMLSv8i16_indexed:
30205 case AArch64::MLAv2i32_indexed:
30206 case AArch64::MLAv4i16_indexed:
30207 case AArch64::MLAv4i32_indexed:
30208 case AArch64::MLAv8i16_indexed:
30209 case AArch64::MLSv2i32_indexed:
30210 case AArch64::MLSv4i16_indexed:
30211 case AArch64::MLSv4i32_indexed:
30212 case AArch64::MLSv8i16_indexed:
30213 case AArch64::SDOTlanev16i8:
30214 case AArch64::SDOTlanev8i8:
30215 case AArch64::SMLALv2i32_indexed:
30216 case AArch64::SMLALv4i16_indexed:
30217 case AArch64::SMLALv4i32_indexed:
30218 case AArch64::SMLALv8i16_indexed:
30219 case AArch64::SMLSLv2i32_indexed:
30220 case AArch64::SMLSLv4i16_indexed:
30221 case AArch64::SMLSLv4i32_indexed:
30222 case AArch64::SMLSLv8i16_indexed:
30223 case AArch64::SQDMLALv1i32_indexed:
30224 case AArch64::SQDMLALv1i64_indexed:
30225 case AArch64::SQDMLALv2i32_indexed:
30226 case AArch64::SQDMLALv4i16_indexed:
30227 case AArch64::SQDMLALv4i32_indexed:
30228 case AArch64::SQDMLALv8i16_indexed:
30229 case AArch64::SQDMLSLv1i32_indexed:
30230 case AArch64::SQDMLSLv1i64_indexed:
30231 case AArch64::SQDMLSLv2i32_indexed:
30232 case AArch64::SQDMLSLv4i16_indexed:
30233 case AArch64::SQDMLSLv4i32_indexed:
30234 case AArch64::SQDMLSLv8i16_indexed:
30235 case AArch64::SQRDMLAHv1i16_indexed:
30236 case AArch64::SQRDMLAHv1i32_indexed:
30237 case AArch64::SQRDMLAHv2i32_indexed:
30238 case AArch64::SQRDMLAHv4i16_indexed:
30239 case AArch64::SQRDMLAHv4i32_indexed:
30240 case AArch64::SQRDMLAHv8i16_indexed:
30241 case AArch64::SQRDMLSHv1i16_indexed:
30242 case AArch64::SQRDMLSHv1i32_indexed:
30243 case AArch64::SQRDMLSHv2i32_indexed:
30244 case AArch64::SQRDMLSHv4i16_indexed:
30245 case AArch64::SQRDMLSHv4i32_indexed:
30246 case AArch64::SQRDMLSHv8i16_indexed:
30247 case AArch64::SUDOTlanev16i8:
30248 case AArch64::SUDOTlanev8i8:
30249 case AArch64::UDOTlanev16i8:
30250 case AArch64::UDOTlanev8i8:
30251 case AArch64::UMLALv2i32_indexed:
30252 case AArch64::UMLALv4i16_indexed:
30253 case AArch64::UMLALv4i32_indexed:
30254 case AArch64::UMLALv8i16_indexed:
30255 case AArch64::UMLSLv2i32_indexed:
30256 case AArch64::UMLSLv4i16_indexed:
30257 case AArch64::UMLSLv4i32_indexed:
30258 case AArch64::UMLSLv8i16_indexed:
30259 case AArch64::USDOTlanev16i8:
30260 case AArch64::USDOTlanev8i8: {
30261 switch (OpNum) {
30262 case 1:
30263 // op: Rd
30264 return 0;
30265 case 2:
30266 // op: Rn
30267 return 5;
30268 case 3:
30269 // op: Rm
30270 return 16;
30271 case 4:
30272 // op: idx
30273 return 11;
30274 }
30275 break;
30276 }
30277 case AArch64::FCMLAv2f32:
30278 case AArch64::FCMLAv2f64:
30279 case AArch64::FCMLAv4f16:
30280 case AArch64::FCMLAv4f32:
30281 case AArch64::FCMLAv8f16: {
30282 switch (OpNum) {
30283 case 1:
30284 // op: Rd
30285 return 0;
30286 case 2:
30287 // op: Rn
30288 return 5;
30289 case 3:
30290 // op: Rm
30291 return 16;
30292 case 4:
30293 // op: rot
30294 return 11;
30295 }
30296 break;
30297 }
30298 case AArch64::FCMLAv4f32_indexed:
30299 case AArch64::FCMLAv8f16_indexed: {
30300 switch (OpNum) {
30301 case 1:
30302 // op: Rd
30303 return 0;
30304 case 2:
30305 // op: Rn
30306 return 5;
30307 case 3:
30308 // op: Rm
30309 return 16;
30310 case 5:
30311 // op: rot
30312 return 13;
30313 case 4:
30314 // op: idx
30315 return 11;
30316 }
30317 break;
30318 }
30319 case AArch64::FCMLAv4f16_indexed: {
30320 switch (OpNum) {
30321 case 1:
30322 // op: Rd
30323 return 0;
30324 case 2:
30325 // op: Rn
30326 return 5;
30327 case 3:
30328 // op: Rm
30329 return 16;
30330 case 5:
30331 // op: rot
30332 return 13;
30333 case 4:
30334 // op: idx
30335 return 21;
30336 }
30337 break;
30338 }
30339 case AArch64::ADDHNv2i64_v4i32:
30340 case AArch64::ADDHNv4i32_v8i16:
30341 case AArch64::ADDHNv8i16_v16i8:
30342 case AArch64::BFDOTv4bf16:
30343 case AArch64::BFDOTv8bf16:
30344 case AArch64::BFMLALB:
30345 case AArch64::BFMLALT:
30346 case AArch64::BFMMLA:
30347 case AArch64::BIFv16i8:
30348 case AArch64::BIFv8i8:
30349 case AArch64::BITv16i8:
30350 case AArch64::BITv8i8:
30351 case AArch64::BSLv16i8:
30352 case AArch64::BSLv8i8:
30353 case AArch64::FCVTN_F322v16f8:
30354 case AArch64::FDOTv2f32:
30355 case AArch64::FDOTv4f16:
30356 case AArch64::FDOTv4f16_v2f32:
30357 case AArch64::FDOTv4f32:
30358 case AArch64::FDOTv8f16:
30359 case AArch64::FDOTv8f16_v4f32:
30360 case AArch64::FMLAL2v4f16:
30361 case AArch64::FMLAL2v8f16:
30362 case AArch64::FMLALBv16i8_v8f16:
30363 case AArch64::FMLALLBBv4f32:
30364 case AArch64::FMLALLBTv4f32:
30365 case AArch64::FMLALLTBv4f32:
30366 case AArch64::FMLALLTTv4f32:
30367 case AArch64::FMLALTv16i8_v8f16:
30368 case AArch64::FMLALv4f16:
30369 case AArch64::FMLALv8f16:
30370 case AArch64::FMLAv2f32:
30371 case AArch64::FMLAv2f64:
30372 case AArch64::FMLAv4f16:
30373 case AArch64::FMLAv4f32:
30374 case AArch64::FMLAv8f16:
30375 case AArch64::FMLSL2v4f16:
30376 case AArch64::FMLSL2v8f16:
30377 case AArch64::FMLSLv4f16:
30378 case AArch64::FMLSLv8f16:
30379 case AArch64::FMLSv2f32:
30380 case AArch64::FMLSv2f64:
30381 case AArch64::FMLSv4f16:
30382 case AArch64::FMLSv4f32:
30383 case AArch64::FMLSv8f16:
30384 case AArch64::FMMLAv4f32:
30385 case AArch64::FMMLAv8f16:
30386 case AArch64::FMMLAv8f16_v4f32:
30387 case AArch64::FMMLAv8f16_v8f16:
30388 case AArch64::MLAv16i8:
30389 case AArch64::MLAv2i32:
30390 case AArch64::MLAv4i16:
30391 case AArch64::MLAv4i32:
30392 case AArch64::MLAv8i16:
30393 case AArch64::MLAv8i8:
30394 case AArch64::MLSv16i8:
30395 case AArch64::MLSv2i32:
30396 case AArch64::MLSv4i16:
30397 case AArch64::MLSv4i32:
30398 case AArch64::MLSv8i16:
30399 case AArch64::MLSv8i8:
30400 case AArch64::RADDHNv2i64_v4i32:
30401 case AArch64::RADDHNv4i32_v8i16:
30402 case AArch64::RADDHNv8i16_v16i8:
30403 case AArch64::RSUBHNv2i64_v4i32:
30404 case AArch64::RSUBHNv4i32_v8i16:
30405 case AArch64::RSUBHNv8i16_v16i8:
30406 case AArch64::SABALv16i8_v8i16:
30407 case AArch64::SABALv2i32_v2i64:
30408 case AArch64::SABALv4i16_v4i32:
30409 case AArch64::SABALv4i32_v2i64:
30410 case AArch64::SABALv8i16_v4i32:
30411 case AArch64::SABALv8i8_v8i16:
30412 case AArch64::SABAv16i8:
30413 case AArch64::SABAv2i32:
30414 case AArch64::SABAv4i16:
30415 case AArch64::SABAv4i32:
30416 case AArch64::SABAv8i16:
30417 case AArch64::SABAv8i8:
30418 case AArch64::SDOTv16i8:
30419 case AArch64::SDOTv8i8:
30420 case AArch64::SHA1Crrr:
30421 case AArch64::SHA1Mrrr:
30422 case AArch64::SHA1Prrr:
30423 case AArch64::SHA1SU0rrr:
30424 case AArch64::SHA256H2rrr:
30425 case AArch64::SHA256Hrrr:
30426 case AArch64::SHA256SU1rrr:
30427 case AArch64::SMLALv16i8_v8i16:
30428 case AArch64::SMLALv2i32_v2i64:
30429 case AArch64::SMLALv4i16_v4i32:
30430 case AArch64::SMLALv4i32_v2i64:
30431 case AArch64::SMLALv8i16_v4i32:
30432 case AArch64::SMLALv8i8_v8i16:
30433 case AArch64::SMLSLv16i8_v8i16:
30434 case AArch64::SMLSLv2i32_v2i64:
30435 case AArch64::SMLSLv4i16_v4i32:
30436 case AArch64::SMLSLv4i32_v2i64:
30437 case AArch64::SMLSLv8i16_v4i32:
30438 case AArch64::SMLSLv8i8_v8i16:
30439 case AArch64::SMMLA:
30440 case AArch64::SQDMLALi16:
30441 case AArch64::SQDMLALi32:
30442 case AArch64::SQDMLALv2i32_v2i64:
30443 case AArch64::SQDMLALv4i16_v4i32:
30444 case AArch64::SQDMLALv4i32_v2i64:
30445 case AArch64::SQDMLALv8i16_v4i32:
30446 case AArch64::SQDMLSLi16:
30447 case AArch64::SQDMLSLi32:
30448 case AArch64::SQDMLSLv2i32_v2i64:
30449 case AArch64::SQDMLSLv4i16_v4i32:
30450 case AArch64::SQDMLSLv4i32_v2i64:
30451 case AArch64::SQDMLSLv8i16_v4i32:
30452 case AArch64::SQRDMLAHv1i16:
30453 case AArch64::SQRDMLAHv1i32:
30454 case AArch64::SQRDMLAHv2i32:
30455 case AArch64::SQRDMLAHv4i16:
30456 case AArch64::SQRDMLAHv4i32:
30457 case AArch64::SQRDMLAHv8i16:
30458 case AArch64::SQRDMLSHv1i16:
30459 case AArch64::SQRDMLSHv1i32:
30460 case AArch64::SQRDMLSHv2i32:
30461 case AArch64::SQRDMLSHv4i16:
30462 case AArch64::SQRDMLSHv4i32:
30463 case AArch64::SQRDMLSHv8i16:
30464 case AArch64::SUBHNv2i64_v4i32:
30465 case AArch64::SUBHNv4i32_v8i16:
30466 case AArch64::SUBHNv8i16_v16i8:
30467 case AArch64::UABALv16i8_v8i16:
30468 case AArch64::UABALv2i32_v2i64:
30469 case AArch64::UABALv4i16_v4i32:
30470 case AArch64::UABALv4i32_v2i64:
30471 case AArch64::UABALv8i16_v4i32:
30472 case AArch64::UABALv8i8_v8i16:
30473 case AArch64::UABAv16i8:
30474 case AArch64::UABAv2i32:
30475 case AArch64::UABAv4i16:
30476 case AArch64::UABAv4i32:
30477 case AArch64::UABAv8i16:
30478 case AArch64::UABAv8i8:
30479 case AArch64::UDOTv16i8:
30480 case AArch64::UDOTv8i8:
30481 case AArch64::UMLALv16i8_v8i16:
30482 case AArch64::UMLALv2i32_v2i64:
30483 case AArch64::UMLALv4i16_v4i32:
30484 case AArch64::UMLALv4i32_v2i64:
30485 case AArch64::UMLALv8i16_v4i32:
30486 case AArch64::UMLALv8i8_v8i16:
30487 case AArch64::UMLSLv16i8_v8i16:
30488 case AArch64::UMLSLv2i32_v2i64:
30489 case AArch64::UMLSLv4i16_v4i32:
30490 case AArch64::UMLSLv4i32_v2i64:
30491 case AArch64::UMLSLv8i16_v4i32:
30492 case AArch64::UMLSLv8i8_v8i16:
30493 case AArch64::UMMLA:
30494 case AArch64::USDOTv16i8:
30495 case AArch64::USDOTv8i8:
30496 case AArch64::USMMLA: {
30497 switch (OpNum) {
30498 case 1:
30499 // op: Rd
30500 return 0;
30501 case 2:
30502 // op: Rn
30503 return 5;
30504 case 3:
30505 // op: Rm
30506 return 16;
30507 }
30508 break;
30509 }
30510 case AArch64::RSHRNv16i8_shift:
30511 case AArch64::RSHRNv4i32_shift:
30512 case AArch64::RSHRNv8i16_shift:
30513 case AArch64::SHRNv16i8_shift:
30514 case AArch64::SHRNv4i32_shift:
30515 case AArch64::SHRNv8i16_shift:
30516 case AArch64::SLId:
30517 case AArch64::SLIv16i8_shift:
30518 case AArch64::SLIv2i32_shift:
30519 case AArch64::SLIv2i64_shift:
30520 case AArch64::SLIv4i16_shift:
30521 case AArch64::SLIv4i32_shift:
30522 case AArch64::SLIv8i16_shift:
30523 case AArch64::SLIv8i8_shift:
30524 case AArch64::SQRSHRNv16i8_shift:
30525 case AArch64::SQRSHRNv4i32_shift:
30526 case AArch64::SQRSHRNv8i16_shift:
30527 case AArch64::SQRSHRUNv16i8_shift:
30528 case AArch64::SQRSHRUNv4i32_shift:
30529 case AArch64::SQRSHRUNv8i16_shift:
30530 case AArch64::SQSHRNv16i8_shift:
30531 case AArch64::SQSHRNv4i32_shift:
30532 case AArch64::SQSHRNv8i16_shift:
30533 case AArch64::SQSHRUNv16i8_shift:
30534 case AArch64::SQSHRUNv4i32_shift:
30535 case AArch64::SQSHRUNv8i16_shift:
30536 case AArch64::SRId:
30537 case AArch64::SRIv16i8_shift:
30538 case AArch64::SRIv2i32_shift:
30539 case AArch64::SRIv2i64_shift:
30540 case AArch64::SRIv4i16_shift:
30541 case AArch64::SRIv4i32_shift:
30542 case AArch64::SRIv8i16_shift:
30543 case AArch64::SRIv8i8_shift:
30544 case AArch64::SRSRAd:
30545 case AArch64::SRSRAv16i8_shift:
30546 case AArch64::SRSRAv2i32_shift:
30547 case AArch64::SRSRAv2i64_shift:
30548 case AArch64::SRSRAv4i16_shift:
30549 case AArch64::SRSRAv4i32_shift:
30550 case AArch64::SRSRAv8i16_shift:
30551 case AArch64::SRSRAv8i8_shift:
30552 case AArch64::SSRAd:
30553 case AArch64::SSRAv16i8_shift:
30554 case AArch64::SSRAv2i32_shift:
30555 case AArch64::SSRAv2i64_shift:
30556 case AArch64::SSRAv4i16_shift:
30557 case AArch64::SSRAv4i32_shift:
30558 case AArch64::SSRAv8i16_shift:
30559 case AArch64::SSRAv8i8_shift:
30560 case AArch64::UQRSHRNv16i8_shift:
30561 case AArch64::UQRSHRNv4i32_shift:
30562 case AArch64::UQRSHRNv8i16_shift:
30563 case AArch64::UQSHRNv16i8_shift:
30564 case AArch64::UQSHRNv4i32_shift:
30565 case AArch64::UQSHRNv8i16_shift:
30566 case AArch64::URSRAd:
30567 case AArch64::URSRAv16i8_shift:
30568 case AArch64::URSRAv2i32_shift:
30569 case AArch64::URSRAv2i64_shift:
30570 case AArch64::URSRAv4i16_shift:
30571 case AArch64::URSRAv4i32_shift:
30572 case AArch64::URSRAv8i16_shift:
30573 case AArch64::URSRAv8i8_shift:
30574 case AArch64::USRAd:
30575 case AArch64::USRAv16i8_shift:
30576 case AArch64::USRAv2i32_shift:
30577 case AArch64::USRAv2i64_shift:
30578 case AArch64::USRAv4i16_shift:
30579 case AArch64::USRAv4i32_shift:
30580 case AArch64::USRAv8i16_shift:
30581 case AArch64::USRAv8i8_shift: {
30582 switch (OpNum) {
30583 case 1:
30584 // op: Rd
30585 return 0;
30586 case 2:
30587 // op: Rn
30588 return 5;
30589 case 3:
30590 // op: imm
30591 return 16;
30592 }
30593 break;
30594 }
30595 case AArch64::AESDrr:
30596 case AArch64::AESErr:
30597 case AArch64::AUTDA:
30598 case AArch64::AUTDB:
30599 case AArch64::AUTIA:
30600 case AArch64::AUTIB:
30601 case AArch64::BFCVTN2:
30602 case AArch64::FCVTNv4i32:
30603 case AArch64::FCVTNv8i16:
30604 case AArch64::FCVTXNv4f32:
30605 case AArch64::PACDA:
30606 case AArch64::PACDB:
30607 case AArch64::PACIA:
30608 case AArch64::PACIB:
30609 case AArch64::SADALPv16i8_v8i16:
30610 case AArch64::SADALPv2i32_v1i64:
30611 case AArch64::SADALPv4i16_v2i32:
30612 case AArch64::SADALPv4i32_v2i64:
30613 case AArch64::SADALPv8i16_v4i32:
30614 case AArch64::SADALPv8i8_v4i16:
30615 case AArch64::SHA1SU1rr:
30616 case AArch64::SHA256SU0rr:
30617 case AArch64::SQXTNv16i8:
30618 case AArch64::SQXTNv4i32:
30619 case AArch64::SQXTNv8i16:
30620 case AArch64::SQXTUNv16i8:
30621 case AArch64::SQXTUNv4i32:
30622 case AArch64::SQXTUNv8i16:
30623 case AArch64::SUQADDv16i8:
30624 case AArch64::SUQADDv1i16:
30625 case AArch64::SUQADDv1i32:
30626 case AArch64::SUQADDv1i64:
30627 case AArch64::SUQADDv1i8:
30628 case AArch64::SUQADDv2i32:
30629 case AArch64::SUQADDv2i64:
30630 case AArch64::SUQADDv4i16:
30631 case AArch64::SUQADDv4i32:
30632 case AArch64::SUQADDv8i16:
30633 case AArch64::SUQADDv8i8:
30634 case AArch64::UADALPv16i8_v8i16:
30635 case AArch64::UADALPv2i32_v1i64:
30636 case AArch64::UADALPv4i16_v2i32:
30637 case AArch64::UADALPv4i32_v2i64:
30638 case AArch64::UADALPv8i16_v4i32:
30639 case AArch64::UADALPv8i8_v4i16:
30640 case AArch64::UQXTNv16i8:
30641 case AArch64::UQXTNv4i32:
30642 case AArch64::UQXTNv8i16:
30643 case AArch64::USQADDv16i8:
30644 case AArch64::USQADDv1i16:
30645 case AArch64::USQADDv1i32:
30646 case AArch64::USQADDv1i64:
30647 case AArch64::USQADDv1i8:
30648 case AArch64::USQADDv2i32:
30649 case AArch64::USQADDv2i64:
30650 case AArch64::USQADDv4i16:
30651 case AArch64::USQADDv4i32:
30652 case AArch64::USQADDv8i16:
30653 case AArch64::USQADDv8i8:
30654 case AArch64::XTNv16i8:
30655 case AArch64::XTNv4i32:
30656 case AArch64::XTNv8i16: {
30657 switch (OpNum) {
30658 case 1:
30659 // op: Rd
30660 return 0;
30661 case 2:
30662 // op: Rn
30663 return 5;
30664 }
30665 break;
30666 }
30667 case AArch64::BICv2i32:
30668 case AArch64::BICv4i16:
30669 case AArch64::BICv4i32:
30670 case AArch64::BICv8i16:
30671 case AArch64::ORRv2i32:
30672 case AArch64::ORRv4i16:
30673 case AArch64::ORRv4i32:
30674 case AArch64::ORRv8i16: {
30675 switch (OpNum) {
30676 case 1:
30677 // op: Rd
30678 return 0;
30679 case 2:
30680 // op: imm8
30681 return 5;
30682 case 3:
30683 // op: shift
30684 return 13;
30685 }
30686 break;
30687 }
30688 case AArch64::INSvi8lane: {
30689 switch (OpNum) {
30690 case 1:
30691 // op: Rd
30692 return 0;
30693 case 3:
30694 // op: Rn
30695 return 5;
30696 case 2:
30697 // op: idx
30698 return 17;
30699 case 4:
30700 // op: idx2
30701 return 11;
30702 }
30703 break;
30704 }
30705 case AArch64::INSvi8gpr: {
30706 switch (OpNum) {
30707 case 1:
30708 // op: Rd
30709 return 0;
30710 case 3:
30711 // op: Rn
30712 return 5;
30713 case 2:
30714 // op: idx
30715 return 17;
30716 }
30717 break;
30718 }
30719 case AArch64::INSvi16lane: {
30720 switch (OpNum) {
30721 case 1:
30722 // op: Rd
30723 return 0;
30724 case 3:
30725 // op: Rn
30726 return 5;
30727 case 2:
30728 // op: idx
30729 return 18;
30730 case 4:
30731 // op: idx2
30732 return 12;
30733 }
30734 break;
30735 }
30736 case AArch64::INSvi16gpr: {
30737 switch (OpNum) {
30738 case 1:
30739 // op: Rd
30740 return 0;
30741 case 3:
30742 // op: Rn
30743 return 5;
30744 case 2:
30745 // op: idx
30746 return 18;
30747 }
30748 break;
30749 }
30750 case AArch64::INSvi32lane: {
30751 switch (OpNum) {
30752 case 1:
30753 // op: Rd
30754 return 0;
30755 case 3:
30756 // op: Rn
30757 return 5;
30758 case 2:
30759 // op: idx
30760 return 19;
30761 case 4:
30762 // op: idx2
30763 return 13;
30764 }
30765 break;
30766 }
30767 case AArch64::INSvi32gpr: {
30768 switch (OpNum) {
30769 case 1:
30770 // op: Rd
30771 return 0;
30772 case 3:
30773 // op: Rn
30774 return 5;
30775 case 2:
30776 // op: idx
30777 return 19;
30778 }
30779 break;
30780 }
30781 case AArch64::INSvi64lane: {
30782 switch (OpNum) {
30783 case 1:
30784 // op: Rd
30785 return 0;
30786 case 3:
30787 // op: Rn
30788 return 5;
30789 case 2:
30790 // op: idx
30791 return 20;
30792 case 4:
30793 // op: idx2
30794 return 14;
30795 }
30796 break;
30797 }
30798 case AArch64::INSvi64gpr: {
30799 switch (OpNum) {
30800 case 1:
30801 // op: Rd
30802 return 0;
30803 case 3:
30804 // op: Rn
30805 return 5;
30806 case 2:
30807 // op: idx
30808 return 20;
30809 }
30810 break;
30811 }
30812 case AArch64::AUTDZA:
30813 case AArch64::AUTDZB:
30814 case AArch64::AUTIZA:
30815 case AArch64::AUTIZB:
30816 case AArch64::PACDZA:
30817 case AArch64::PACDZB:
30818 case AArch64::PACIZA:
30819 case AArch64::PACIZB: {
30820 switch (OpNum) {
30821 case 1:
30822 // op: Rd
30823 return 0;
30824 }
30825 break;
30826 }
30827 case AArch64::CTERMEQ_WW:
30828 case AArch64::CTERMEQ_XX:
30829 case AArch64::CTERMNE_WW:
30830 case AArch64::CTERMNE_XX:
30831 case AArch64::FCMPDrr:
30832 case AArch64::FCMPEDrr:
30833 case AArch64::FCMPEHrr:
30834 case AArch64::FCMPESrr:
30835 case AArch64::FCMPHrr:
30836 case AArch64::FCMPSrr: {
30837 switch (OpNum) {
30838 case 1:
30839 // op: Rm
30840 return 16;
30841 case 0:
30842 // op: Rn
30843 return 5;
30844 }
30845 break;
30846 }
30847 case AArch64::CBBEQWrr:
30848 case AArch64::CBBGEWrr:
30849 case AArch64::CBBGTWrr:
30850 case AArch64::CBBHIWrr:
30851 case AArch64::CBBHSWrr:
30852 case AArch64::CBBNEWrr:
30853 case AArch64::CBEQWrr:
30854 case AArch64::CBEQXrr:
30855 case AArch64::CBGEWrr:
30856 case AArch64::CBGEXrr:
30857 case AArch64::CBGTWrr:
30858 case AArch64::CBGTXrr:
30859 case AArch64::CBHEQWrr:
30860 case AArch64::CBHGEWrr:
30861 case AArch64::CBHGTWrr:
30862 case AArch64::CBHHIWrr:
30863 case AArch64::CBHHSWrr:
30864 case AArch64::CBHIWrr:
30865 case AArch64::CBHIXrr:
30866 case AArch64::CBHNEWrr:
30867 case AArch64::CBHSWrr:
30868 case AArch64::CBHSXrr:
30869 case AArch64::CBNEWrr:
30870 case AArch64::CBNEXrr: {
30871 switch (OpNum) {
30872 case 1:
30873 // op: Rm
30874 return 16;
30875 case 0:
30876 // op: Rt
30877 return 0;
30878 case 2:
30879 // op: target
30880 return 5;
30881 }
30882 break;
30883 }
30884 case AArch64::ST2Gi:
30885 case AArch64::STGi:
30886 case AArch64::STZ2Gi:
30887 case AArch64::STZGi: {
30888 switch (OpNum) {
30889 case 1:
30890 // op: Rn
30891 return 5;
30892 case 0:
30893 // op: Rt
30894 return 0;
30895 case 2:
30896 // op: offset
30897 return 12;
30898 }
30899 break;
30900 }
30901 case AArch64::LDAPRB:
30902 case AArch64::LDAPRH:
30903 case AArch64::LDAPRW:
30904 case AArch64::LDAPRX:
30905 case AArch64::LDGM:
30906 case AArch64::STGM:
30907 case AArch64::STZGM: {
30908 switch (OpNum) {
30909 case 1:
30910 // op: Rn
30911 return 5;
30912 case 0:
30913 // op: Rt
30914 return 0;
30915 }
30916 break;
30917 }
30918 case AArch64::INDEX_RI_B:
30919 case AArch64::INDEX_RI_D:
30920 case AArch64::INDEX_RI_H:
30921 case AArch64::INDEX_RI_S: {
30922 switch (OpNum) {
30923 case 1:
30924 // op: Rn
30925 return 5;
30926 case 0:
30927 // op: Zd
30928 return 0;
30929 case 2:
30930 // op: imm5
30931 return 16;
30932 }
30933 break;
30934 }
30935 case AArch64::DUP_ZR_B:
30936 case AArch64::DUP_ZR_D:
30937 case AArch64::DUP_ZR_H:
30938 case AArch64::DUP_ZR_S: {
30939 switch (OpNum) {
30940 case 1:
30941 // op: Rn
30942 return 5;
30943 case 0:
30944 // op: Zd
30945 return 0;
30946 }
30947 break;
30948 }
30949 case AArch64::LDR_ZXI:
30950 case AArch64::STR_ZXI: {
30951 switch (OpNum) {
30952 case 1:
30953 // op: Rn
30954 return 5;
30955 case 0:
30956 // op: Zt
30957 return 0;
30958 case 2:
30959 // op: imm9
30960 return 10;
30961 }
30962 break;
30963 }
30964 case AArch64::LDR_TX:
30965 case AArch64::STR_TX: {
30966 switch (OpNum) {
30967 case 1:
30968 // op: Rn
30969 return 5;
30970 }
30971 break;
30972 }
30973 case AArch64::LDADDAB:
30974 case AArch64::LDADDAH:
30975 case AArch64::LDADDALB:
30976 case AArch64::LDADDALH:
30977 case AArch64::LDADDALW:
30978 case AArch64::LDADDALX:
30979 case AArch64::LDADDAW:
30980 case AArch64::LDADDAX:
30981 case AArch64::LDADDB:
30982 case AArch64::LDADDH:
30983 case AArch64::LDADDLB:
30984 case AArch64::LDADDLH:
30985 case AArch64::LDADDLW:
30986 case AArch64::LDADDLX:
30987 case AArch64::LDADDW:
30988 case AArch64::LDADDX:
30989 case AArch64::LDCLRAB:
30990 case AArch64::LDCLRAH:
30991 case AArch64::LDCLRALB:
30992 case AArch64::LDCLRALH:
30993 case AArch64::LDCLRALW:
30994 case AArch64::LDCLRALX:
30995 case AArch64::LDCLRAW:
30996 case AArch64::LDCLRAX:
30997 case AArch64::LDCLRB:
30998 case AArch64::LDCLRH:
30999 case AArch64::LDCLRLB:
31000 case AArch64::LDCLRLH:
31001 case AArch64::LDCLRLW:
31002 case AArch64::LDCLRLX:
31003 case AArch64::LDCLRW:
31004 case AArch64::LDCLRX:
31005 case AArch64::LDEORAB:
31006 case AArch64::LDEORAH:
31007 case AArch64::LDEORALB:
31008 case AArch64::LDEORALH:
31009 case AArch64::LDEORALW:
31010 case AArch64::LDEORALX:
31011 case AArch64::LDEORAW:
31012 case AArch64::LDEORAX:
31013 case AArch64::LDEORB:
31014 case AArch64::LDEORH:
31015 case AArch64::LDEORLB:
31016 case AArch64::LDEORLH:
31017 case AArch64::LDEORLW:
31018 case AArch64::LDEORLX:
31019 case AArch64::LDEORW:
31020 case AArch64::LDEORX:
31021 case AArch64::LDSETAB:
31022 case AArch64::LDSETAH:
31023 case AArch64::LDSETALB:
31024 case AArch64::LDSETALH:
31025 case AArch64::LDSETALW:
31026 case AArch64::LDSETALX:
31027 case AArch64::LDSETAW:
31028 case AArch64::LDSETAX:
31029 case AArch64::LDSETB:
31030 case AArch64::LDSETH:
31031 case AArch64::LDSETLB:
31032 case AArch64::LDSETLH:
31033 case AArch64::LDSETLW:
31034 case AArch64::LDSETLX:
31035 case AArch64::LDSETW:
31036 case AArch64::LDSETX:
31037 case AArch64::LDSMAXAB:
31038 case AArch64::LDSMAXAH:
31039 case AArch64::LDSMAXALB:
31040 case AArch64::LDSMAXALH:
31041 case AArch64::LDSMAXALW:
31042 case AArch64::LDSMAXALX:
31043 case AArch64::LDSMAXAW:
31044 case AArch64::LDSMAXAX:
31045 case AArch64::LDSMAXB:
31046 case AArch64::LDSMAXH:
31047 case AArch64::LDSMAXLB:
31048 case AArch64::LDSMAXLH:
31049 case AArch64::LDSMAXLW:
31050 case AArch64::LDSMAXLX:
31051 case AArch64::LDSMAXW:
31052 case AArch64::LDSMAXX:
31053 case AArch64::LDSMINAB:
31054 case AArch64::LDSMINAH:
31055 case AArch64::LDSMINALB:
31056 case AArch64::LDSMINALH:
31057 case AArch64::LDSMINALW:
31058 case AArch64::LDSMINALX:
31059 case AArch64::LDSMINAW:
31060 case AArch64::LDSMINAX:
31061 case AArch64::LDSMINB:
31062 case AArch64::LDSMINH:
31063 case AArch64::LDSMINLB:
31064 case AArch64::LDSMINLH:
31065 case AArch64::LDSMINLW:
31066 case AArch64::LDSMINLX:
31067 case AArch64::LDSMINW:
31068 case AArch64::LDSMINX:
31069 case AArch64::LDTADDALW:
31070 case AArch64::LDTADDALX:
31071 case AArch64::LDTADDAW:
31072 case AArch64::LDTADDAX:
31073 case AArch64::LDTADDLW:
31074 case AArch64::LDTADDLX:
31075 case AArch64::LDTADDW:
31076 case AArch64::LDTADDX:
31077 case AArch64::LDTCLRALW:
31078 case AArch64::LDTCLRALX:
31079 case AArch64::LDTCLRAW:
31080 case AArch64::LDTCLRAX:
31081 case AArch64::LDTCLRLW:
31082 case AArch64::LDTCLRLX:
31083 case AArch64::LDTCLRW:
31084 case AArch64::LDTCLRX:
31085 case AArch64::LDTSETALW:
31086 case AArch64::LDTSETALX:
31087 case AArch64::LDTSETAW:
31088 case AArch64::LDTSETAX:
31089 case AArch64::LDTSETLW:
31090 case AArch64::LDTSETLX:
31091 case AArch64::LDTSETW:
31092 case AArch64::LDTSETX:
31093 case AArch64::LDUMAXAB:
31094 case AArch64::LDUMAXAH:
31095 case AArch64::LDUMAXALB:
31096 case AArch64::LDUMAXALH:
31097 case AArch64::LDUMAXALW:
31098 case AArch64::LDUMAXALX:
31099 case AArch64::LDUMAXAW:
31100 case AArch64::LDUMAXAX:
31101 case AArch64::LDUMAXB:
31102 case AArch64::LDUMAXH:
31103 case AArch64::LDUMAXLB:
31104 case AArch64::LDUMAXLH:
31105 case AArch64::LDUMAXLW:
31106 case AArch64::LDUMAXLX:
31107 case AArch64::LDUMAXW:
31108 case AArch64::LDUMAXX:
31109 case AArch64::LDUMINAB:
31110 case AArch64::LDUMINAH:
31111 case AArch64::LDUMINALB:
31112 case AArch64::LDUMINALH:
31113 case AArch64::LDUMINALW:
31114 case AArch64::LDUMINALX:
31115 case AArch64::LDUMINAW:
31116 case AArch64::LDUMINAX:
31117 case AArch64::LDUMINB:
31118 case AArch64::LDUMINH:
31119 case AArch64::LDUMINLB:
31120 case AArch64::LDUMINLH:
31121 case AArch64::LDUMINLW:
31122 case AArch64::LDUMINLX:
31123 case AArch64::LDUMINW:
31124 case AArch64::LDUMINX:
31125 case AArch64::RCWCLR:
31126 case AArch64::RCWCLRA:
31127 case AArch64::RCWCLRAL:
31128 case AArch64::RCWCLRL:
31129 case AArch64::RCWCLRS:
31130 case AArch64::RCWCLRSA:
31131 case AArch64::RCWCLRSAL:
31132 case AArch64::RCWCLRSL:
31133 case AArch64::RCWSET:
31134 case AArch64::RCWSETA:
31135 case AArch64::RCWSETAL:
31136 case AArch64::RCWSETL:
31137 case AArch64::RCWSETS:
31138 case AArch64::RCWSETSA:
31139 case AArch64::RCWSETSAL:
31140 case AArch64::RCWSETSL:
31141 case AArch64::RCWSWP:
31142 case AArch64::RCWSWPA:
31143 case AArch64::RCWSWPAL:
31144 case AArch64::RCWSWPL:
31145 case AArch64::RCWSWPS:
31146 case AArch64::RCWSWPSA:
31147 case AArch64::RCWSWPSAL:
31148 case AArch64::RCWSWPSL:
31149 case AArch64::SWPAB:
31150 case AArch64::SWPAH:
31151 case AArch64::SWPALB:
31152 case AArch64::SWPALH:
31153 case AArch64::SWPALW:
31154 case AArch64::SWPALX:
31155 case AArch64::SWPAW:
31156 case AArch64::SWPAX:
31157 case AArch64::SWPB:
31158 case AArch64::SWPH:
31159 case AArch64::SWPLB:
31160 case AArch64::SWPLH:
31161 case AArch64::SWPLW:
31162 case AArch64::SWPLX:
31163 case AArch64::SWPTALW:
31164 case AArch64::SWPTALX:
31165 case AArch64::SWPTAW:
31166 case AArch64::SWPTAX:
31167 case AArch64::SWPTLW:
31168 case AArch64::SWPTLX:
31169 case AArch64::SWPTW:
31170 case AArch64::SWPTX:
31171 case AArch64::SWPW:
31172 case AArch64::SWPX: {
31173 switch (OpNum) {
31174 case 1:
31175 // op: Rs
31176 return 16;
31177 case 2:
31178 // op: Rn
31179 return 5;
31180 case 0:
31181 // op: Rt
31182 return 0;
31183 }
31184 break;
31185 }
31186 case AArch64::CASAB:
31187 case AArch64::CASAH:
31188 case AArch64::CASALB:
31189 case AArch64::CASALH:
31190 case AArch64::CASALTX:
31191 case AArch64::CASALW:
31192 case AArch64::CASALX:
31193 case AArch64::CASATX:
31194 case AArch64::CASAW:
31195 case AArch64::CASAX:
31196 case AArch64::CASB:
31197 case AArch64::CASH:
31198 case AArch64::CASLB:
31199 case AArch64::CASLH:
31200 case AArch64::CASLTX:
31201 case AArch64::CASLW:
31202 case AArch64::CASLX:
31203 case AArch64::CASPALTX:
31204 case AArch64::CASPALW:
31205 case AArch64::CASPALX:
31206 case AArch64::CASPATX:
31207 case AArch64::CASPAW:
31208 case AArch64::CASPAX:
31209 case AArch64::CASPLTX:
31210 case AArch64::CASPLW:
31211 case AArch64::CASPLX:
31212 case AArch64::CASPTX:
31213 case AArch64::CASPW:
31214 case AArch64::CASPX:
31215 case AArch64::CASTX:
31216 case AArch64::CASW:
31217 case AArch64::CASX:
31218 case AArch64::RCWCAS:
31219 case AArch64::RCWCASA:
31220 case AArch64::RCWCASAL:
31221 case AArch64::RCWCASL:
31222 case AArch64::RCWCASP:
31223 case AArch64::RCWCASPA:
31224 case AArch64::RCWCASPAL:
31225 case AArch64::RCWCASPL:
31226 case AArch64::RCWSCAS:
31227 case AArch64::RCWSCASA:
31228 case AArch64::RCWSCASAL:
31229 case AArch64::RCWSCASL:
31230 case AArch64::RCWSCASP:
31231 case AArch64::RCWSCASPA:
31232 case AArch64::RCWSCASPAL:
31233 case AArch64::RCWSCASPL: {
31234 switch (OpNum) {
31235 case 1:
31236 // op: Rs
31237 return 16;
31238 case 3:
31239 // op: Rn
31240 return 5;
31241 case 2:
31242 // op: Rt
31243 return 0;
31244 }
31245 break;
31246 }
31247 case AArch64::MSR:
31248 case AArch64::MSRR: {
31249 switch (OpNum) {
31250 case 1:
31251 // op: Rt
31252 return 0;
31253 case 0:
31254 // op: systemreg
31255 return 5;
31256 }
31257 break;
31258 }
31259 case AArch64::ST64BV:
31260 case AArch64::ST64BV0:
31261 case AArch64::STL64BV:
31262 case AArch64::STL64BV0: {
31263 switch (OpNum) {
31264 case 1:
31265 // op: Rt
31266 return 0;
31267 case 2:
31268 // op: Rn
31269 return 5;
31270 case 0:
31271 // op: Rs
31272 return 16;
31273 }
31274 break;
31275 }
31276 case AArch64::STTXRWr:
31277 case AArch64::STTXRXr: {
31278 switch (OpNum) {
31279 case 1:
31280 // op: Rt
31281 return 0;
31282 case 2:
31283 // op: Rn
31284 return 5;
31285 case 0:
31286 // op: Ws
31287 return 16;
31288 }
31289 break;
31290 }
31291 case AArch64::LDRBBpost:
31292 case AArch64::LDRBBpre:
31293 case AArch64::LDRBpost:
31294 case AArch64::LDRBpre:
31295 case AArch64::LDRDpost:
31296 case AArch64::LDRDpre:
31297 case AArch64::LDRHHpost:
31298 case AArch64::LDRHHpre:
31299 case AArch64::LDRHpost:
31300 case AArch64::LDRHpre:
31301 case AArch64::LDRQpost:
31302 case AArch64::LDRQpre:
31303 case AArch64::LDRSBWpost:
31304 case AArch64::LDRSBWpre:
31305 case AArch64::LDRSBXpost:
31306 case AArch64::LDRSBXpre:
31307 case AArch64::LDRSHWpost:
31308 case AArch64::LDRSHWpre:
31309 case AArch64::LDRSHXpost:
31310 case AArch64::LDRSHXpre:
31311 case AArch64::LDRSWpost:
31312 case AArch64::LDRSWpre:
31313 case AArch64::LDRSpost:
31314 case AArch64::LDRSpre:
31315 case AArch64::LDRWpost:
31316 case AArch64::LDRWpre:
31317 case AArch64::LDRXpost:
31318 case AArch64::LDRXpre:
31319 case AArch64::STRBBpost:
31320 case AArch64::STRBBpre:
31321 case AArch64::STRBpost:
31322 case AArch64::STRBpre:
31323 case AArch64::STRDpost:
31324 case AArch64::STRDpre:
31325 case AArch64::STRHHpost:
31326 case AArch64::STRHHpre:
31327 case AArch64::STRHpost:
31328 case AArch64::STRHpre:
31329 case AArch64::STRQpost:
31330 case AArch64::STRQpre:
31331 case AArch64::STRSpost:
31332 case AArch64::STRSpre:
31333 case AArch64::STRWpost:
31334 case AArch64::STRWpre:
31335 case AArch64::STRXpost:
31336 case AArch64::STRXpre: {
31337 switch (OpNum) {
31338 case 1:
31339 // op: Rt
31340 return 0;
31341 case 2:
31342 // op: Rn
31343 return 5;
31344 case 3:
31345 // op: offset
31346 return 12;
31347 }
31348 break;
31349 }
31350 case AArch64::LDAPRWpost:
31351 case AArch64::LDAPRXpost:
31352 case AArch64::STLRWpre:
31353 case AArch64::STLRXpre: {
31354 switch (OpNum) {
31355 case 1:
31356 // op: Rt
31357 return 0;
31358 case 2:
31359 // op: Rn
31360 return 5;
31361 }
31362 break;
31363 }
31364 case AArch64::LDPDpost:
31365 case AArch64::LDPDpre:
31366 case AArch64::LDPQpost:
31367 case AArch64::LDPQpre:
31368 case AArch64::LDPSWpost:
31369 case AArch64::LDPSWpre:
31370 case AArch64::LDPSpost:
31371 case AArch64::LDPSpre:
31372 case AArch64::LDPWpost:
31373 case AArch64::LDPWpre:
31374 case AArch64::LDPXpost:
31375 case AArch64::LDPXpre:
31376 case AArch64::LDTPQpost:
31377 case AArch64::LDTPQpre:
31378 case AArch64::LDTPpost:
31379 case AArch64::LDTPpre:
31380 case AArch64::STGPpost:
31381 case AArch64::STGPpre:
31382 case AArch64::STPDpost:
31383 case AArch64::STPDpre:
31384 case AArch64::STPQpost:
31385 case AArch64::STPQpre:
31386 case AArch64::STPSpost:
31387 case AArch64::STPSpre:
31388 case AArch64::STPWpost:
31389 case AArch64::STPWpre:
31390 case AArch64::STPXpost:
31391 case AArch64::STPXpre:
31392 case AArch64::STTPQpost:
31393 case AArch64::STTPQpre:
31394 case AArch64::STTPpost:
31395 case AArch64::STTPpre: {
31396 switch (OpNum) {
31397 case 1:
31398 // op: Rt
31399 return 0;
31400 case 2:
31401 // op: Rt2
31402 return 10;
31403 case 3:
31404 // op: Rn
31405 return 5;
31406 case 4:
31407 // op: offset
31408 return 15;
31409 }
31410 break;
31411 }
31412 case AArch64::LDIAPPWpost:
31413 case AArch64::LDIAPPXpost:
31414 case AArch64::STILPWpre:
31415 case AArch64::STILPXpre: {
31416 switch (OpNum) {
31417 case 1:
31418 // op: Rt
31419 return 0;
31420 case 3:
31421 // op: Rn
31422 return 5;
31423 case 2:
31424 // op: Rt2
31425 return 16;
31426 }
31427 break;
31428 }
31429 case AArch64::LDR_ZA:
31430 case AArch64::STR_ZA: {
31431 switch (OpNum) {
31432 case 1:
31433 // op: Rv
31434 return 13;
31435 case 3:
31436 // op: Rn
31437 return 5;
31438 case 2:
31439 // op: imm4
31440 return 0;
31441 }
31442 break;
31443 }
31444 case AArch64::SHA512H:
31445 case AArch64::SHA512H2:
31446 case AArch64::SHA512SU1:
31447 case AArch64::SM3PARTW1:
31448 case AArch64::SM3PARTW2:
31449 case AArch64::TBXv16i8Four:
31450 case AArch64::TBXv16i8One:
31451 case AArch64::TBXv16i8Three:
31452 case AArch64::TBXv16i8Two:
31453 case AArch64::TBXv8i8Four:
31454 case AArch64::TBXv8i8One:
31455 case AArch64::TBXv8i8Three:
31456 case AArch64::TBXv8i8Two: {
31457 switch (OpNum) {
31458 case 1:
31459 // op: Vd
31460 return 0;
31461 case 2:
31462 // op: Vn
31463 return 5;
31464 case 3:
31465 // op: Vm
31466 return 16;
31467 }
31468 break;
31469 }
31470 case AArch64::SM3TT1A:
31471 case AArch64::SM3TT1B:
31472 case AArch64::SM3TT2A:
31473 case AArch64::SM3TT2B: {
31474 switch (OpNum) {
31475 case 1:
31476 // op: Vd
31477 return 0;
31478 case 2:
31479 // op: Vn
31480 return 5;
31481 case 4:
31482 // op: imm
31483 return 12;
31484 case 3:
31485 // op: Vm
31486 return 16;
31487 }
31488 break;
31489 }
31490 case AArch64::SHA512SU0:
31491 case AArch64::SM4E: {
31492 switch (OpNum) {
31493 case 1:
31494 // op: Vd
31495 return 0;
31496 case 2:
31497 // op: Vn
31498 return 5;
31499 }
31500 break;
31501 }
31502 case AArch64::LD1Fourv16b_POST:
31503 case AArch64::LD1Fourv1d_POST:
31504 case AArch64::LD1Fourv2d_POST:
31505 case AArch64::LD1Fourv2s_POST:
31506 case AArch64::LD1Fourv4h_POST:
31507 case AArch64::LD1Fourv4s_POST:
31508 case AArch64::LD1Fourv8b_POST:
31509 case AArch64::LD1Fourv8h_POST:
31510 case AArch64::LD1Onev16b_POST:
31511 case AArch64::LD1Onev1d_POST:
31512 case AArch64::LD1Onev2d_POST:
31513 case AArch64::LD1Onev2s_POST:
31514 case AArch64::LD1Onev4h_POST:
31515 case AArch64::LD1Onev4s_POST:
31516 case AArch64::LD1Onev8b_POST:
31517 case AArch64::LD1Onev8h_POST:
31518 case AArch64::LD1Rv16b_POST:
31519 case AArch64::LD1Rv1d_POST:
31520 case AArch64::LD1Rv2d_POST:
31521 case AArch64::LD1Rv2s_POST:
31522 case AArch64::LD1Rv4h_POST:
31523 case AArch64::LD1Rv4s_POST:
31524 case AArch64::LD1Rv8b_POST:
31525 case AArch64::LD1Rv8h_POST:
31526 case AArch64::LD1Threev16b_POST:
31527 case AArch64::LD1Threev1d_POST:
31528 case AArch64::LD1Threev2d_POST:
31529 case AArch64::LD1Threev2s_POST:
31530 case AArch64::LD1Threev4h_POST:
31531 case AArch64::LD1Threev4s_POST:
31532 case AArch64::LD1Threev8b_POST:
31533 case AArch64::LD1Threev8h_POST:
31534 case AArch64::LD1Twov16b_POST:
31535 case AArch64::LD1Twov1d_POST:
31536 case AArch64::LD1Twov2d_POST:
31537 case AArch64::LD1Twov2s_POST:
31538 case AArch64::LD1Twov4h_POST:
31539 case AArch64::LD1Twov4s_POST:
31540 case AArch64::LD1Twov8b_POST:
31541 case AArch64::LD1Twov8h_POST:
31542 case AArch64::LD2Rv16b_POST:
31543 case AArch64::LD2Rv1d_POST:
31544 case AArch64::LD2Rv2d_POST:
31545 case AArch64::LD2Rv2s_POST:
31546 case AArch64::LD2Rv4h_POST:
31547 case AArch64::LD2Rv4s_POST:
31548 case AArch64::LD2Rv8b_POST:
31549 case AArch64::LD2Rv8h_POST:
31550 case AArch64::LD2Twov16b_POST:
31551 case AArch64::LD2Twov2d_POST:
31552 case AArch64::LD2Twov2s_POST:
31553 case AArch64::LD2Twov4h_POST:
31554 case AArch64::LD2Twov4s_POST:
31555 case AArch64::LD2Twov8b_POST:
31556 case AArch64::LD2Twov8h_POST:
31557 case AArch64::LD3Rv16b_POST:
31558 case AArch64::LD3Rv1d_POST:
31559 case AArch64::LD3Rv2d_POST:
31560 case AArch64::LD3Rv2s_POST:
31561 case AArch64::LD3Rv4h_POST:
31562 case AArch64::LD3Rv4s_POST:
31563 case AArch64::LD3Rv8b_POST:
31564 case AArch64::LD3Rv8h_POST:
31565 case AArch64::LD3Threev16b_POST:
31566 case AArch64::LD3Threev2d_POST:
31567 case AArch64::LD3Threev2s_POST:
31568 case AArch64::LD3Threev4h_POST:
31569 case AArch64::LD3Threev4s_POST:
31570 case AArch64::LD3Threev8b_POST:
31571 case AArch64::LD3Threev8h_POST:
31572 case AArch64::LD4Fourv16b_POST:
31573 case AArch64::LD4Fourv2d_POST:
31574 case AArch64::LD4Fourv2s_POST:
31575 case AArch64::LD4Fourv4h_POST:
31576 case AArch64::LD4Fourv4s_POST:
31577 case AArch64::LD4Fourv8b_POST:
31578 case AArch64::LD4Fourv8h_POST:
31579 case AArch64::LD4Rv16b_POST:
31580 case AArch64::LD4Rv1d_POST:
31581 case AArch64::LD4Rv2d_POST:
31582 case AArch64::LD4Rv2s_POST:
31583 case AArch64::LD4Rv4h_POST:
31584 case AArch64::LD4Rv4s_POST:
31585 case AArch64::LD4Rv8b_POST:
31586 case AArch64::LD4Rv8h_POST:
31587 case AArch64::ST1Fourv16b_POST:
31588 case AArch64::ST1Fourv1d_POST:
31589 case AArch64::ST1Fourv2d_POST:
31590 case AArch64::ST1Fourv2s_POST:
31591 case AArch64::ST1Fourv4h_POST:
31592 case AArch64::ST1Fourv4s_POST:
31593 case AArch64::ST1Fourv8b_POST:
31594 case AArch64::ST1Fourv8h_POST:
31595 case AArch64::ST1Onev16b_POST:
31596 case AArch64::ST1Onev1d_POST:
31597 case AArch64::ST1Onev2d_POST:
31598 case AArch64::ST1Onev2s_POST:
31599 case AArch64::ST1Onev4h_POST:
31600 case AArch64::ST1Onev4s_POST:
31601 case AArch64::ST1Onev8b_POST:
31602 case AArch64::ST1Onev8h_POST:
31603 case AArch64::ST1Threev16b_POST:
31604 case AArch64::ST1Threev1d_POST:
31605 case AArch64::ST1Threev2d_POST:
31606 case AArch64::ST1Threev2s_POST:
31607 case AArch64::ST1Threev4h_POST:
31608 case AArch64::ST1Threev4s_POST:
31609 case AArch64::ST1Threev8b_POST:
31610 case AArch64::ST1Threev8h_POST:
31611 case AArch64::ST1Twov16b_POST:
31612 case AArch64::ST1Twov1d_POST:
31613 case AArch64::ST1Twov2d_POST:
31614 case AArch64::ST1Twov2s_POST:
31615 case AArch64::ST1Twov4h_POST:
31616 case AArch64::ST1Twov4s_POST:
31617 case AArch64::ST1Twov8b_POST:
31618 case AArch64::ST1Twov8h_POST:
31619 case AArch64::ST2Twov16b_POST:
31620 case AArch64::ST2Twov2d_POST:
31621 case AArch64::ST2Twov2s_POST:
31622 case AArch64::ST2Twov4h_POST:
31623 case AArch64::ST2Twov4s_POST:
31624 case AArch64::ST2Twov8b_POST:
31625 case AArch64::ST2Twov8h_POST:
31626 case AArch64::ST3Threev16b_POST:
31627 case AArch64::ST3Threev2d_POST:
31628 case AArch64::ST3Threev2s_POST:
31629 case AArch64::ST3Threev4h_POST:
31630 case AArch64::ST3Threev4s_POST:
31631 case AArch64::ST3Threev8b_POST:
31632 case AArch64::ST3Threev8h_POST:
31633 case AArch64::ST4Fourv16b_POST:
31634 case AArch64::ST4Fourv2d_POST:
31635 case AArch64::ST4Fourv2s_POST:
31636 case AArch64::ST4Fourv4h_POST:
31637 case AArch64::ST4Fourv4s_POST:
31638 case AArch64::ST4Fourv8b_POST:
31639 case AArch64::ST4Fourv8h_POST: {
31640 switch (OpNum) {
31641 case 1:
31642 // op: Vt
31643 return 0;
31644 case 2:
31645 // op: Rn
31646 return 5;
31647 case 3:
31648 // op: Xm
31649 return 16;
31650 }
31651 break;
31652 }
31653 case AArch64::LDAP1: {
31654 switch (OpNum) {
31655 case 1:
31656 // op: Vt
31657 return 0;
31658 case 3:
31659 // op: Rn
31660 return 5;
31661 case 2:
31662 // op: Q
31663 return 30;
31664 }
31665 break;
31666 }
31667 case AArch64::ST1i8_POST:
31668 case AArch64::ST2i8_POST:
31669 case AArch64::ST3i8_POST:
31670 case AArch64::ST4i8_POST: {
31671 switch (OpNum) {
31672 case 1:
31673 // op: Vt
31674 return 0;
31675 case 3:
31676 // op: Rn
31677 return 5;
31678 case 2:
31679 // op: idx
31680 return 10;
31681 case 4:
31682 // op: Xm
31683 return 16;
31684 }
31685 break;
31686 }
31687 case AArch64::LD1i8:
31688 case AArch64::LD2i8:
31689 case AArch64::LD3i8:
31690 case AArch64::LD4i8: {
31691 switch (OpNum) {
31692 case 1:
31693 // op: Vt
31694 return 0;
31695 case 3:
31696 // op: Rn
31697 return 5;
31698 case 2:
31699 // op: idx
31700 return 10;
31701 }
31702 break;
31703 }
31704 case AArch64::ST1i16_POST:
31705 case AArch64::ST2i16_POST:
31706 case AArch64::ST3i16_POST:
31707 case AArch64::ST4i16_POST: {
31708 switch (OpNum) {
31709 case 1:
31710 // op: Vt
31711 return 0;
31712 case 3:
31713 // op: Rn
31714 return 5;
31715 case 2:
31716 // op: idx
31717 return 11;
31718 case 4:
31719 // op: Xm
31720 return 16;
31721 }
31722 break;
31723 }
31724 case AArch64::LD1i16:
31725 case AArch64::LD2i16:
31726 case AArch64::LD3i16:
31727 case AArch64::LD4i16: {
31728 switch (OpNum) {
31729 case 1:
31730 // op: Vt
31731 return 0;
31732 case 3:
31733 // op: Rn
31734 return 5;
31735 case 2:
31736 // op: idx
31737 return 11;
31738 }
31739 break;
31740 }
31741 case AArch64::ST1i32_POST:
31742 case AArch64::ST2i32_POST:
31743 case AArch64::ST3i32_POST:
31744 case AArch64::ST4i32_POST: {
31745 switch (OpNum) {
31746 case 1:
31747 // op: Vt
31748 return 0;
31749 case 3:
31750 // op: Rn
31751 return 5;
31752 case 2:
31753 // op: idx
31754 return 12;
31755 case 4:
31756 // op: Xm
31757 return 16;
31758 }
31759 break;
31760 }
31761 case AArch64::LD1i32:
31762 case AArch64::LD2i32:
31763 case AArch64::LD3i32:
31764 case AArch64::LD4i32: {
31765 switch (OpNum) {
31766 case 1:
31767 // op: Vt
31768 return 0;
31769 case 3:
31770 // op: Rn
31771 return 5;
31772 case 2:
31773 // op: idx
31774 return 12;
31775 }
31776 break;
31777 }
31778 case AArch64::ST1i64_POST:
31779 case AArch64::ST2i64_POST:
31780 case AArch64::ST3i64_POST:
31781 case AArch64::ST4i64_POST: {
31782 switch (OpNum) {
31783 case 1:
31784 // op: Vt
31785 return 0;
31786 case 3:
31787 // op: Rn
31788 return 5;
31789 case 2:
31790 // op: idx
31791 return 30;
31792 case 4:
31793 // op: Xm
31794 return 16;
31795 }
31796 break;
31797 }
31798 case AArch64::LD1i64:
31799 case AArch64::LD2i64:
31800 case AArch64::LD3i64:
31801 case AArch64::LD4i64: {
31802 switch (OpNum) {
31803 case 1:
31804 // op: Vt
31805 return 0;
31806 case 3:
31807 // op: Rn
31808 return 5;
31809 case 2:
31810 // op: idx
31811 return 30;
31812 }
31813 break;
31814 }
31815 case AArch64::BF1CVTL_2ZZ_BtoH:
31816 case AArch64::BF1CVT_2ZZ_BtoH:
31817 case AArch64::BF2CVTL_2ZZ_BtoH:
31818 case AArch64::BF2CVT_2ZZ_BtoH:
31819 case AArch64::F1CVTL_2ZZ_BtoH:
31820 case AArch64::F1CVT_2ZZ_BtoH:
31821 case AArch64::F2CVTL_2ZZ_BtoH:
31822 case AArch64::F2CVT_2ZZ_BtoH:
31823 case AArch64::FCVTL_2ZZ_H_S:
31824 case AArch64::FCVT_2ZZ_H_S:
31825 case AArch64::SUNPK_VG2_2ZZ_D:
31826 case AArch64::SUNPK_VG2_2ZZ_H:
31827 case AArch64::SUNPK_VG2_2ZZ_S:
31828 case AArch64::UUNPK_VG2_2ZZ_D:
31829 case AArch64::UUNPK_VG2_2ZZ_H:
31830 case AArch64::UUNPK_VG2_2ZZ_S: {
31831 switch (OpNum) {
31832 case 1:
31833 // op: Zn
31834 return 5;
31835 case 0:
31836 // op: Zd
31837 return 1;
31838 }
31839 break;
31840 }
31841 case AArch64::BFCVTN_Z2Z_StoH:
31842 case AArch64::BFCVT_Z2Z_HtoB:
31843 case AArch64::BFCVT_Z2Z_StoH:
31844 case AArch64::FCVTN_Z2Z_StoH:
31845 case AArch64::FCVT_Z2Z_HtoB:
31846 case AArch64::FCVT_Z2Z_StoH:
31847 case AArch64::SQCVTU_Z2Z_StoH:
31848 case AArch64::SQCVT_Z2Z_StoH:
31849 case AArch64::UQCVT_Z2Z_StoH: {
31850 switch (OpNum) {
31851 case 1:
31852 // op: Zn
31853 return 6;
31854 case 0:
31855 // op: Zd
31856 return 0;
31857 }
31858 break;
31859 }
31860 case AArch64::FCVTZS_2Z2Z_StoS:
31861 case AArch64::FCVTZU_2Z2Z_StoS:
31862 case AArch64::FRINTA_2Z2Z_S:
31863 case AArch64::FRINTM_2Z2Z_S:
31864 case AArch64::FRINTN_2Z2Z_S:
31865 case AArch64::FRINTP_2Z2Z_S:
31866 case AArch64::SCVTF_2Z2Z_StoS:
31867 case AArch64::UCVTF_2Z2Z_StoS: {
31868 switch (OpNum) {
31869 case 1:
31870 // op: Zn
31871 return 6;
31872 case 0:
31873 // op: Zd
31874 return 1;
31875 }
31876 break;
31877 }
31878 case AArch64::SUNPK_VG4_4Z2Z_D:
31879 case AArch64::SUNPK_VG4_4Z2Z_H:
31880 case AArch64::SUNPK_VG4_4Z2Z_S:
31881 case AArch64::UUNPK_VG4_4Z2Z_D:
31882 case AArch64::UUNPK_VG4_4Z2Z_H:
31883 case AArch64::UUNPK_VG4_4Z2Z_S: {
31884 switch (OpNum) {
31885 case 1:
31886 // op: Zn
31887 return 6;
31888 case 0:
31889 // op: Zd
31890 return 2;
31891 }
31892 break;
31893 }
31894 case AArch64::SQRSHRN_VG4_Z4ZI_B:
31895 case AArch64::SQRSHRN_VG4_Z4ZI_H:
31896 case AArch64::SQRSHRUN_VG4_Z4ZI_B:
31897 case AArch64::SQRSHRUN_VG4_Z4ZI_H:
31898 case AArch64::SQRSHRU_VG4_Z4ZI_B:
31899 case AArch64::SQRSHRU_VG4_Z4ZI_H:
31900 case AArch64::SQRSHR_VG4_Z4ZI_B:
31901 case AArch64::SQRSHR_VG4_Z4ZI_H:
31902 case AArch64::UQRSHRN_VG4_Z4ZI_B:
31903 case AArch64::UQRSHRN_VG4_Z4ZI_H:
31904 case AArch64::UQRSHR_VG4_Z4ZI_B:
31905 case AArch64::UQRSHR_VG4_Z4ZI_H: {
31906 switch (OpNum) {
31907 case 1:
31908 // op: Zn
31909 return 7;
31910 case 0:
31911 // op: Zd
31912 return 0;
31913 case 2:
31914 // op: imm
31915 return 16;
31916 }
31917 break;
31918 }
31919 case AArch64::FCVTN_Z4Z_StoB:
31920 case AArch64::FCVT_Z4Z_StoB:
31921 case AArch64::SQCVTN_Z4Z_DtoH:
31922 case AArch64::SQCVTN_Z4Z_StoB:
31923 case AArch64::SQCVTUN_Z4Z_DtoH:
31924 case AArch64::SQCVTUN_Z4Z_StoB:
31925 case AArch64::SQCVTU_Z4Z_DtoH:
31926 case AArch64::SQCVTU_Z4Z_StoB:
31927 case AArch64::SQCVT_Z4Z_DtoH:
31928 case AArch64::SQCVT_Z4Z_StoB:
31929 case AArch64::UQCVTN_Z4Z_DtoH:
31930 case AArch64::UQCVTN_Z4Z_StoB:
31931 case AArch64::UQCVT_Z4Z_DtoH:
31932 case AArch64::UQCVT_Z4Z_StoB: {
31933 switch (OpNum) {
31934 case 1:
31935 // op: Zn
31936 return 7;
31937 case 0:
31938 // op: Zd
31939 return 0;
31940 }
31941 break;
31942 }
31943 case AArch64::FCVTZS_4Z4Z_StoS:
31944 case AArch64::FCVTZU_4Z4Z_StoS:
31945 case AArch64::FRINTA_4Z4Z_S:
31946 case AArch64::FRINTM_4Z4Z_S:
31947 case AArch64::FRINTN_4Z4Z_S:
31948 case AArch64::FRINTP_4Z4Z_S:
31949 case AArch64::SCVTF_4Z4Z_StoS:
31950 case AArch64::UCVTF_4Z4Z_StoS:
31951 case AArch64::UZP_VG4_4Z4Z_B:
31952 case AArch64::UZP_VG4_4Z4Z_D:
31953 case AArch64::UZP_VG4_4Z4Z_H:
31954 case AArch64::UZP_VG4_4Z4Z_Q:
31955 case AArch64::UZP_VG4_4Z4Z_S:
31956 case AArch64::ZIP_VG4_4Z4Z_B:
31957 case AArch64::ZIP_VG4_4Z4Z_D:
31958 case AArch64::ZIP_VG4_4Z4Z_H:
31959 case AArch64::ZIP_VG4_4Z4Z_Q:
31960 case AArch64::ZIP_VG4_4Z4Z_S: {
31961 switch (OpNum) {
31962 case 1:
31963 // op: Zn
31964 return 7;
31965 case 0:
31966 // op: Zd
31967 return 2;
31968 }
31969 break;
31970 }
31971 case AArch64::MOVT_TIX: {
31972 switch (OpNum) {
31973 case 1:
31974 // op: imm3
31975 return 12;
31976 case 2:
31977 // op: Rt
31978 return 0;
31979 }
31980 break;
31981 }
31982 case AArch64::ABS_ZPmZ_B:
31983 case AArch64::ABS_ZPmZ_D:
31984 case AArch64::ABS_ZPmZ_H:
31985 case AArch64::ABS_ZPmZ_S:
31986 case AArch64::BFCVT_ZPmZ:
31987 case AArch64::CLS_ZPmZ_B:
31988 case AArch64::CLS_ZPmZ_D:
31989 case AArch64::CLS_ZPmZ_H:
31990 case AArch64::CLS_ZPmZ_S:
31991 case AArch64::CLZ_ZPmZ_B:
31992 case AArch64::CLZ_ZPmZ_D:
31993 case AArch64::CLZ_ZPmZ_H:
31994 case AArch64::CLZ_ZPmZ_S:
31995 case AArch64::CNOT_ZPmZ_B:
31996 case AArch64::CNOT_ZPmZ_D:
31997 case AArch64::CNOT_ZPmZ_H:
31998 case AArch64::CNOT_ZPmZ_S:
31999 case AArch64::CNT_ZPmZ_B:
32000 case AArch64::CNT_ZPmZ_D:
32001 case AArch64::CNT_ZPmZ_H:
32002 case AArch64::CNT_ZPmZ_S:
32003 case AArch64::FABS_ZPmZ_D:
32004 case AArch64::FABS_ZPmZ_H:
32005 case AArch64::FABS_ZPmZ_S:
32006 case AArch64::FCVTX_ZPmZ_DtoS:
32007 case AArch64::FCVTZS_ZPmZ_DtoD:
32008 case AArch64::FCVTZS_ZPmZ_DtoS:
32009 case AArch64::FCVTZS_ZPmZ_HtoD:
32010 case AArch64::FCVTZS_ZPmZ_HtoH:
32011 case AArch64::FCVTZS_ZPmZ_HtoS:
32012 case AArch64::FCVTZS_ZPmZ_StoD:
32013 case AArch64::FCVTZS_ZPmZ_StoS:
32014 case AArch64::FCVTZU_ZPmZ_DtoD:
32015 case AArch64::FCVTZU_ZPmZ_DtoS:
32016 case AArch64::FCVTZU_ZPmZ_HtoD:
32017 case AArch64::FCVTZU_ZPmZ_HtoH:
32018 case AArch64::FCVTZU_ZPmZ_HtoS:
32019 case AArch64::FCVTZU_ZPmZ_StoD:
32020 case AArch64::FCVTZU_ZPmZ_StoS:
32021 case AArch64::FCVT_ZPmZ_DtoH:
32022 case AArch64::FCVT_ZPmZ_DtoS:
32023 case AArch64::FCVT_ZPmZ_HtoD:
32024 case AArch64::FCVT_ZPmZ_HtoS:
32025 case AArch64::FCVT_ZPmZ_StoD:
32026 case AArch64::FCVT_ZPmZ_StoH:
32027 case AArch64::FLOGB_ZPmZ_D:
32028 case AArch64::FLOGB_ZPmZ_H:
32029 case AArch64::FLOGB_ZPmZ_S:
32030 case AArch64::FNEG_ZPmZ_D:
32031 case AArch64::FNEG_ZPmZ_H:
32032 case AArch64::FNEG_ZPmZ_S:
32033 case AArch64::FRECPX_ZPmZ_D:
32034 case AArch64::FRECPX_ZPmZ_H:
32035 case AArch64::FRECPX_ZPmZ_S:
32036 case AArch64::FRINT32X_ZPmZ_D:
32037 case AArch64::FRINT32X_ZPmZ_S:
32038 case AArch64::FRINT32Z_ZPmZ_D:
32039 case AArch64::FRINT32Z_ZPmZ_S:
32040 case AArch64::FRINT64X_ZPmZ_D:
32041 case AArch64::FRINT64X_ZPmZ_S:
32042 case AArch64::FRINT64Z_ZPmZ_D:
32043 case AArch64::FRINT64Z_ZPmZ_S:
32044 case AArch64::FRINTA_ZPmZ_D:
32045 case AArch64::FRINTA_ZPmZ_H:
32046 case AArch64::FRINTA_ZPmZ_S:
32047 case AArch64::FRINTI_ZPmZ_D:
32048 case AArch64::FRINTI_ZPmZ_H:
32049 case AArch64::FRINTI_ZPmZ_S:
32050 case AArch64::FRINTM_ZPmZ_D:
32051 case AArch64::FRINTM_ZPmZ_H:
32052 case AArch64::FRINTM_ZPmZ_S:
32053 case AArch64::FRINTN_ZPmZ_D:
32054 case AArch64::FRINTN_ZPmZ_H:
32055 case AArch64::FRINTN_ZPmZ_S:
32056 case AArch64::FRINTP_ZPmZ_D:
32057 case AArch64::FRINTP_ZPmZ_H:
32058 case AArch64::FRINTP_ZPmZ_S:
32059 case AArch64::FRINTX_ZPmZ_D:
32060 case AArch64::FRINTX_ZPmZ_H:
32061 case AArch64::FRINTX_ZPmZ_S:
32062 case AArch64::FRINTZ_ZPmZ_D:
32063 case AArch64::FRINTZ_ZPmZ_H:
32064 case AArch64::FRINTZ_ZPmZ_S:
32065 case AArch64::FSQRT_ZPmZ_D:
32066 case AArch64::FSQRT_ZPmZ_H:
32067 case AArch64::FSQRT_ZPmZ_S:
32068 case AArch64::MOVPRFX_ZPmZ_B:
32069 case AArch64::MOVPRFX_ZPmZ_D:
32070 case AArch64::MOVPRFX_ZPmZ_H:
32071 case AArch64::MOVPRFX_ZPmZ_S:
32072 case AArch64::NEG_ZPmZ_B:
32073 case AArch64::NEG_ZPmZ_D:
32074 case AArch64::NEG_ZPmZ_H:
32075 case AArch64::NEG_ZPmZ_S:
32076 case AArch64::NOT_ZPmZ_B:
32077 case AArch64::NOT_ZPmZ_D:
32078 case AArch64::NOT_ZPmZ_H:
32079 case AArch64::NOT_ZPmZ_S:
32080 case AArch64::SCVTF_ZPmZ_DtoD:
32081 case AArch64::SCVTF_ZPmZ_DtoH:
32082 case AArch64::SCVTF_ZPmZ_DtoS:
32083 case AArch64::SCVTF_ZPmZ_HtoH:
32084 case AArch64::SCVTF_ZPmZ_StoD:
32085 case AArch64::SCVTF_ZPmZ_StoH:
32086 case AArch64::SCVTF_ZPmZ_StoS:
32087 case AArch64::SQABS_ZPmZ_B:
32088 case AArch64::SQABS_ZPmZ_D:
32089 case AArch64::SQABS_ZPmZ_H:
32090 case AArch64::SQABS_ZPmZ_S:
32091 case AArch64::SQNEG_ZPmZ_B:
32092 case AArch64::SQNEG_ZPmZ_D:
32093 case AArch64::SQNEG_ZPmZ_H:
32094 case AArch64::SQNEG_ZPmZ_S:
32095 case AArch64::SXTB_ZPmZ_D:
32096 case AArch64::SXTB_ZPmZ_H:
32097 case AArch64::SXTB_ZPmZ_S:
32098 case AArch64::SXTH_ZPmZ_D:
32099 case AArch64::SXTH_ZPmZ_S:
32100 case AArch64::SXTW_ZPmZ_D:
32101 case AArch64::UCVTF_ZPmZ_DtoD:
32102 case AArch64::UCVTF_ZPmZ_DtoH:
32103 case AArch64::UCVTF_ZPmZ_DtoS:
32104 case AArch64::UCVTF_ZPmZ_HtoH:
32105 case AArch64::UCVTF_ZPmZ_StoD:
32106 case AArch64::UCVTF_ZPmZ_StoH:
32107 case AArch64::UCVTF_ZPmZ_StoS:
32108 case AArch64::URECPE_ZPmZ_S:
32109 case AArch64::URSQRTE_ZPmZ_S:
32110 case AArch64::UXTB_ZPmZ_D:
32111 case AArch64::UXTB_ZPmZ_H:
32112 case AArch64::UXTB_ZPmZ_S:
32113 case AArch64::UXTH_ZPmZ_D:
32114 case AArch64::UXTH_ZPmZ_S:
32115 case AArch64::UXTW_ZPmZ_D: {
32116 switch (OpNum) {
32117 case 2:
32118 // op: Pg
32119 return 10;
32120 case 0:
32121 // op: Zd
32122 return 0;
32123 case 3:
32124 // op: Zn
32125 return 5;
32126 }
32127 break;
32128 }
32129 case AArch64::CPY_ZPmR_B:
32130 case AArch64::CPY_ZPmR_D:
32131 case AArch64::CPY_ZPmR_H:
32132 case AArch64::CPY_ZPmR_S: {
32133 switch (OpNum) {
32134 case 2:
32135 // op: Pg
32136 return 10;
32137 case 3:
32138 // op: Rn
32139 return 5;
32140 case 0:
32141 // op: Zd
32142 return 0;
32143 }
32144 break;
32145 }
32146 case AArch64::CPY_ZPmV_B:
32147 case AArch64::CPY_ZPmV_D:
32148 case AArch64::CPY_ZPmV_H:
32149 case AArch64::CPY_ZPmV_S: {
32150 switch (OpNum) {
32151 case 2:
32152 // op: Pg
32153 return 10;
32154 case 3:
32155 // op: Vn
32156 return 5;
32157 case 0:
32158 // op: Zd
32159 return 0;
32160 }
32161 break;
32162 }
32163 case AArch64::FCPY_ZPmI_D:
32164 case AArch64::FCPY_ZPmI_H:
32165 case AArch64::FCPY_ZPmI_S: {
32166 switch (OpNum) {
32167 case 2:
32168 // op: Pg
32169 return 16;
32170 case 0:
32171 // op: Zd
32172 return 0;
32173 case 3:
32174 // op: imm8
32175 return 5;
32176 }
32177 break;
32178 }
32179 case AArch64::DECP_ZP_D:
32180 case AArch64::DECP_ZP_H:
32181 case AArch64::DECP_ZP_S:
32182 case AArch64::INCP_ZP_D:
32183 case AArch64::INCP_ZP_H:
32184 case AArch64::INCP_ZP_S:
32185 case AArch64::SQDECP_ZP_D:
32186 case AArch64::SQDECP_ZP_H:
32187 case AArch64::SQDECP_ZP_S:
32188 case AArch64::SQINCP_ZP_D:
32189 case AArch64::SQINCP_ZP_H:
32190 case AArch64::SQINCP_ZP_S:
32191 case AArch64::UQDECP_ZP_D:
32192 case AArch64::UQDECP_ZP_H:
32193 case AArch64::UQDECP_ZP_S:
32194 case AArch64::UQINCP_ZP_D:
32195 case AArch64::UQINCP_ZP_H:
32196 case AArch64::UQINCP_ZP_S: {
32197 switch (OpNum) {
32198 case 2:
32199 // op: Pm
32200 return 5;
32201 case 0:
32202 // op: Zdn
32203 return 0;
32204 }
32205 break;
32206 }
32207 case AArch64::MOPSSETGE:
32208 case AArch64::MOPSSETGEN:
32209 case AArch64::MOPSSETGET:
32210 case AArch64::MOPSSETGETN:
32211 case AArch64::SETE:
32212 case AArch64::SETEN:
32213 case AArch64::SETET:
32214 case AArch64::SETETN:
32215 case AArch64::SETGM:
32216 case AArch64::SETGMN:
32217 case AArch64::SETGMT:
32218 case AArch64::SETGMTN:
32219 case AArch64::SETGP:
32220 case AArch64::SETGPN:
32221 case AArch64::SETGPT:
32222 case AArch64::SETGPTN:
32223 case AArch64::SETM:
32224 case AArch64::SETMN:
32225 case AArch64::SETMT:
32226 case AArch64::SETMTN:
32227 case AArch64::SETP:
32228 case AArch64::SETPN:
32229 case AArch64::SETPT:
32230 case AArch64::SETPTN: {
32231 switch (OpNum) {
32232 case 2:
32233 // op: Rd
32234 return 0;
32235 case 3:
32236 // op: Rn
32237 return 5;
32238 case 4:
32239 // op: Rm
32240 return 16;
32241 }
32242 break;
32243 }
32244 case AArch64::SETGOE:
32245 case AArch64::SETGOEN:
32246 case AArch64::SETGOET:
32247 case AArch64::SETGOETN:
32248 case AArch64::SETGOM:
32249 case AArch64::SETGOMN:
32250 case AArch64::SETGOMT:
32251 case AArch64::SETGOMTN:
32252 case AArch64::SETGOP:
32253 case AArch64::SETGOPN:
32254 case AArch64::SETGOPT:
32255 case AArch64::SETGOPTN: {
32256 switch (OpNum) {
32257 case 2:
32258 // op: Rd
32259 return 0;
32260 case 3:
32261 // op: Rn
32262 return 5;
32263 }
32264 break;
32265 }
32266 case AArch64::INDEX_IR_B:
32267 case AArch64::INDEX_IR_D:
32268 case AArch64::INDEX_IR_H:
32269 case AArch64::INDEX_IR_S: {
32270 switch (OpNum) {
32271 case 2:
32272 // op: Rm
32273 return 16;
32274 case 0:
32275 // op: Zd
32276 return 0;
32277 case 1:
32278 // op: imm5
32279 return 5;
32280 }
32281 break;
32282 }
32283 case AArch64::INSR_ZR_B:
32284 case AArch64::INSR_ZR_D:
32285 case AArch64::INSR_ZR_H:
32286 case AArch64::INSR_ZR_S: {
32287 switch (OpNum) {
32288 case 2:
32289 // op: Rm
32290 return 5;
32291 case 0:
32292 // op: Zdn
32293 return 0;
32294 }
32295 break;
32296 }
32297 case AArch64::PRFB_PRI:
32298 case AArch64::PRFD_PRI:
32299 case AArch64::PRFH_PRI:
32300 case AArch64::PRFW_PRI: {
32301 switch (OpNum) {
32302 case 2:
32303 // op: Rn
32304 return 5;
32305 case 1:
32306 // op: Pg
32307 return 10;
32308 case 3:
32309 // op: imm6
32310 return 16;
32311 case 0:
32312 // op: prfop
32313 return 0;
32314 }
32315 break;
32316 }
32317 case AArch64::LDG:
32318 case AArch64::ST2GPostIndex:
32319 case AArch64::ST2GPreIndex:
32320 case AArch64::STGPostIndex:
32321 case AArch64::STGPreIndex:
32322 case AArch64::STZ2GPostIndex:
32323 case AArch64::STZ2GPreIndex:
32324 case AArch64::STZGPostIndex:
32325 case AArch64::STZGPreIndex: {
32326 switch (OpNum) {
32327 case 2:
32328 // op: Rn
32329 return 5;
32330 case 1:
32331 // op: Rt
32332 return 0;
32333 case 3:
32334 // op: offset
32335 return 12;
32336 }
32337 break;
32338 }
32339 case AArch64::MOVA_VG2_MXI2Z: {
32340 switch (OpNum) {
32341 case 2:
32342 // op: Rs
32343 return 13;
32344 case 3:
32345 // op: imm
32346 return 0;
32347 case 4:
32348 // op: Zn
32349 return 6;
32350 }
32351 break;
32352 }
32353 case AArch64::MOVA_VG4_MXI4Z: {
32354 switch (OpNum) {
32355 case 2:
32356 // op: Rs
32357 return 13;
32358 case 3:
32359 // op: imm
32360 return 0;
32361 case 4:
32362 // op: Zn
32363 return 7;
32364 }
32365 break;
32366 }
32367 case AArch64::MOVA_VG2_2ZMXI: {
32368 switch (OpNum) {
32369 case 2:
32370 // op: Rs
32371 return 13;
32372 case 3:
32373 // op: imm
32374 return 5;
32375 case 0:
32376 // op: Zd
32377 return 1;
32378 }
32379 break;
32380 }
32381 case AArch64::MOVA_VG4_4ZMXI: {
32382 switch (OpNum) {
32383 case 2:
32384 // op: Rs
32385 return 13;
32386 case 3:
32387 // op: imm
32388 return 5;
32389 case 0:
32390 // op: Zd
32391 return 2;
32392 }
32393 break;
32394 }
32395 case AArch64::MOVA_MXI2Z_H_D:
32396 case AArch64::MOVA_MXI2Z_V_D: {
32397 switch (OpNum) {
32398 case 2:
32399 // op: Rs
32400 return 13;
32401 case 4:
32402 // op: Zn
32403 return 6;
32404 case 0:
32405 // op: ZAd
32406 return 0;
32407 }
32408 break;
32409 }
32410 case AArch64::MOVA_MXI2Z_H_S:
32411 case AArch64::MOVA_MXI2Z_V_S: {
32412 switch (OpNum) {
32413 case 2:
32414 // op: Rs
32415 return 13;
32416 case 4:
32417 // op: Zn
32418 return 6;
32419 case 0:
32420 // op: ZAd
32421 return 1;
32422 case 3:
32423 // op: imm
32424 return 0;
32425 }
32426 break;
32427 }
32428 case AArch64::MOVA_MXI2Z_H_H:
32429 case AArch64::MOVA_MXI2Z_V_H: {
32430 switch (OpNum) {
32431 case 2:
32432 // op: Rs
32433 return 13;
32434 case 4:
32435 // op: Zn
32436 return 6;
32437 case 0:
32438 // op: ZAd
32439 return 2;
32440 case 3:
32441 // op: imm
32442 return 0;
32443 }
32444 break;
32445 }
32446 case AArch64::MOVA_MXI2Z_H_B:
32447 case AArch64::MOVA_MXI2Z_V_B: {
32448 switch (OpNum) {
32449 case 2:
32450 // op: Rs
32451 return 13;
32452 case 4:
32453 // op: Zn
32454 return 6;
32455 case 3:
32456 // op: imm
32457 return 0;
32458 }
32459 break;
32460 }
32461 case AArch64::MOVA_MXI4Z_H_D:
32462 case AArch64::MOVA_MXI4Z_H_S:
32463 case AArch64::MOVA_MXI4Z_V_D:
32464 case AArch64::MOVA_MXI4Z_V_S: {
32465 switch (OpNum) {
32466 case 2:
32467 // op: Rs
32468 return 13;
32469 case 4:
32470 // op: Zn
32471 return 7;
32472 case 0:
32473 // op: ZAd
32474 return 0;
32475 }
32476 break;
32477 }
32478 case AArch64::MOVA_MXI4Z_H_H:
32479 case AArch64::MOVA_MXI4Z_V_H: {
32480 switch (OpNum) {
32481 case 2:
32482 // op: Rs
32483 return 13;
32484 case 4:
32485 // op: Zn
32486 return 7;
32487 case 0:
32488 // op: ZAd
32489 return 1;
32490 case 3:
32491 // op: imm
32492 return 0;
32493 }
32494 break;
32495 }
32496 case AArch64::MOVA_MXI4Z_H_B:
32497 case AArch64::MOVA_MXI4Z_V_B: {
32498 switch (OpNum) {
32499 case 2:
32500 // op: Rs
32501 return 13;
32502 case 4:
32503 // op: Zn
32504 return 7;
32505 case 3:
32506 // op: imm
32507 return 0;
32508 }
32509 break;
32510 }
32511 case AArch64::LDCLRP:
32512 case AArch64::LDCLRPA:
32513 case AArch64::LDCLRPAL:
32514 case AArch64::LDCLRPL:
32515 case AArch64::LDSETP:
32516 case AArch64::LDSETPA:
32517 case AArch64::LDSETPAL:
32518 case AArch64::LDSETPL:
32519 case AArch64::SWPP:
32520 case AArch64::SWPPA:
32521 case AArch64::SWPPAL:
32522 case AArch64::SWPPL: {
32523 switch (OpNum) {
32524 case 2:
32525 // op: Rt
32526 return 0;
32527 case 3:
32528 // op: Rt2
32529 return 16;
32530 case 4:
32531 // op: Rn
32532 return 5;
32533 }
32534 break;
32535 }
32536 case AArch64::ZERO_MXI_2Z:
32537 case AArch64::ZERO_MXI_4Z:
32538 case AArch64::ZERO_MXI_VG2_2Z:
32539 case AArch64::ZERO_MXI_VG2_4Z:
32540 case AArch64::ZERO_MXI_VG2_Z:
32541 case AArch64::ZERO_MXI_VG4_2Z:
32542 case AArch64::ZERO_MXI_VG4_4Z:
32543 case AArch64::ZERO_MXI_VG4_Z: {
32544 switch (OpNum) {
32545 case 2:
32546 // op: Rv
32547 return 13;
32548 case 3:
32549 // op: imm
32550 return 0;
32551 }
32552 break;
32553 }
32554 case AArch64::ADD_VG2_M2Z_D:
32555 case AArch64::ADD_VG2_M2Z_S:
32556 case AArch64::BFADD_VG2_M2Z_H:
32557 case AArch64::BFSUB_VG2_M2Z_H:
32558 case AArch64::FADD_VG2_M2Z_D:
32559 case AArch64::FADD_VG2_M2Z_H:
32560 case AArch64::FADD_VG2_M2Z_S:
32561 case AArch64::FSUB_VG2_M2Z_D:
32562 case AArch64::FSUB_VG2_M2Z_H:
32563 case AArch64::FSUB_VG2_M2Z_S:
32564 case AArch64::SUB_VG2_M2Z_D:
32565 case AArch64::SUB_VG2_M2Z_S: {
32566 switch (OpNum) {
32567 case 2:
32568 // op: Rv
32569 return 13;
32570 case 3:
32571 // op: imm3
32572 return 0;
32573 case 4:
32574 // op: Zm
32575 return 6;
32576 }
32577 break;
32578 }
32579 case AArch64::ADD_VG4_M4Z_D:
32580 case AArch64::ADD_VG4_M4Z_S:
32581 case AArch64::BFADD_VG4_M4Z_H:
32582 case AArch64::BFSUB_VG4_M4Z_H:
32583 case AArch64::FADD_VG4_M4Z_D:
32584 case AArch64::FADD_VG4_M4Z_H:
32585 case AArch64::FADD_VG4_M4Z_S:
32586 case AArch64::FSUB_VG4_M4Z_D:
32587 case AArch64::FSUB_VG4_M4Z_H:
32588 case AArch64::FSUB_VG4_M4Z_S:
32589 case AArch64::SUB_VG4_M4Z_D:
32590 case AArch64::SUB_VG4_M4Z_S: {
32591 switch (OpNum) {
32592 case 2:
32593 // op: Rv
32594 return 13;
32595 case 3:
32596 // op: imm3
32597 return 0;
32598 case 4:
32599 // op: Zm
32600 return 7;
32601 }
32602 break;
32603 }
32604 case AArch64::INSERT_MXIPZ_H_Q:
32605 case AArch64::INSERT_MXIPZ_V_Q: {
32606 switch (OpNum) {
32607 case 2:
32608 // op: Rv
32609 return 13;
32610 case 4:
32611 // op: Pg
32612 return 10;
32613 case 5:
32614 // op: Zn
32615 return 5;
32616 case 0:
32617 // op: ZAd
32618 return 0;
32619 }
32620 break;
32621 }
32622 case AArch64::INSERT_MXIPZ_H_D:
32623 case AArch64::INSERT_MXIPZ_V_D: {
32624 switch (OpNum) {
32625 case 2:
32626 // op: Rv
32627 return 13;
32628 case 4:
32629 // op: Pg
32630 return 10;
32631 case 5:
32632 // op: Zn
32633 return 5;
32634 case 0:
32635 // op: ZAd
32636 return 1;
32637 case 3:
32638 // op: imm
32639 return 0;
32640 }
32641 break;
32642 }
32643 case AArch64::INSERT_MXIPZ_H_S:
32644 case AArch64::INSERT_MXIPZ_V_S: {
32645 switch (OpNum) {
32646 case 2:
32647 // op: Rv
32648 return 13;
32649 case 4:
32650 // op: Pg
32651 return 10;
32652 case 5:
32653 // op: Zn
32654 return 5;
32655 case 0:
32656 // op: ZAd
32657 return 2;
32658 case 3:
32659 // op: imm
32660 return 0;
32661 }
32662 break;
32663 }
32664 case AArch64::INSERT_MXIPZ_H_H:
32665 case AArch64::INSERT_MXIPZ_V_H: {
32666 switch (OpNum) {
32667 case 2:
32668 // op: Rv
32669 return 13;
32670 case 4:
32671 // op: Pg
32672 return 10;
32673 case 5:
32674 // op: Zn
32675 return 5;
32676 case 0:
32677 // op: ZAd
32678 return 3;
32679 case 3:
32680 // op: imm
32681 return 0;
32682 }
32683 break;
32684 }
32685 case AArch64::INSERT_MXIPZ_H_B:
32686 case AArch64::INSERT_MXIPZ_V_B: {
32687 switch (OpNum) {
32688 case 2:
32689 // op: Rv
32690 return 13;
32691 case 4:
32692 // op: Pg
32693 return 10;
32694 case 5:
32695 // op: Zn
32696 return 5;
32697 case 3:
32698 // op: imm
32699 return 0;
32700 }
32701 break;
32702 }
32703 case AArch64::BFMLAL_MZZ_HtoS:
32704 case AArch64::BFMLAL_VG2_M2ZZ_HtoS:
32705 case AArch64::BFMLAL_VG4_M4ZZ_HtoS:
32706 case AArch64::BFMLSL_MZZ_HtoS:
32707 case AArch64::BFMLSL_VG2_M2ZZ_HtoS:
32708 case AArch64::BFMLSL_VG4_M4ZZ_HtoS:
32709 case AArch64::FMLAL_MZZ_HtoS:
32710 case AArch64::FMLAL_VG2_M2ZZ_BtoH:
32711 case AArch64::FMLAL_VG2_M2ZZ_HtoS:
32712 case AArch64::FMLAL_VG2_MZZ_BtoH:
32713 case AArch64::FMLAL_VG4_M4ZZ_BtoH:
32714 case AArch64::FMLAL_VG4_M4ZZ_HtoS:
32715 case AArch64::FMLSL_MZZ_HtoS:
32716 case AArch64::FMLSL_VG2_M2ZZ_HtoS:
32717 case AArch64::FMLSL_VG4_M4ZZ_HtoS:
32718 case AArch64::SMLAL_MZZ_HtoS:
32719 case AArch64::SMLAL_VG2_M2ZZ_HtoS:
32720 case AArch64::SMLAL_VG4_M4ZZ_HtoS:
32721 case AArch64::SMLSL_MZZ_HtoS:
32722 case AArch64::SMLSL_VG2_M2ZZ_HtoS:
32723 case AArch64::SMLSL_VG4_M4ZZ_HtoS:
32724 case AArch64::UMLAL_MZZ_HtoS:
32725 case AArch64::UMLAL_VG2_M2ZZ_HtoS:
32726 case AArch64::UMLAL_VG4_M4ZZ_HtoS:
32727 case AArch64::UMLSL_MZZ_HtoS:
32728 case AArch64::UMLSL_VG2_M2ZZ_HtoS:
32729 case AArch64::UMLSL_VG4_M4ZZ_HtoS: {
32730 switch (OpNum) {
32731 case 2:
32732 // op: Rv
32733 return 13;
32734 case 5:
32735 // op: Zm
32736 return 16;
32737 case 4:
32738 // op: Zn
32739 return 5;
32740 case 3:
32741 // op: imm
32742 return 0;
32743 }
32744 break;
32745 }
32746 case AArch64::BFMLAL_VG2_M2Z2Z_HtoS:
32747 case AArch64::BFMLSL_VG2_M2Z2Z_HtoS:
32748 case AArch64::FMLAL_VG2_M2Z2Z_BtoH:
32749 case AArch64::FMLAL_VG2_M2Z2Z_HtoS:
32750 case AArch64::FMLSL_VG2_M2Z2Z_HtoS:
32751 case AArch64::SMLAL_VG2_M2Z2Z_HtoS:
32752 case AArch64::SMLSL_VG2_M2Z2Z_HtoS:
32753 case AArch64::UMLAL_VG2_M2Z2Z_HtoS:
32754 case AArch64::UMLSL_VG2_M2Z2Z_HtoS: {
32755 switch (OpNum) {
32756 case 2:
32757 // op: Rv
32758 return 13;
32759 case 5:
32760 // op: Zm
32761 return 17;
32762 case 4:
32763 // op: Zn
32764 return 6;
32765 case 3:
32766 // op: imm
32767 return 0;
32768 }
32769 break;
32770 }
32771 case AArch64::BFMLAL_VG4_M4Z4Z_HtoS:
32772 case AArch64::BFMLSL_VG4_M4Z4Z_HtoS:
32773 case AArch64::FMLAL_VG4_M4Z4Z_BtoH:
32774 case AArch64::FMLAL_VG4_M4Z4Z_HtoS:
32775 case AArch64::FMLSL_VG4_M4Z4Z_HtoS:
32776 case AArch64::SMLAL_VG4_M4Z4Z_HtoS:
32777 case AArch64::SMLSL_VG4_M4Z4Z_HtoS:
32778 case AArch64::UMLAL_VG4_M4Z4Z_HtoS:
32779 case AArch64::UMLSL_VG4_M4Z4Z_HtoS: {
32780 switch (OpNum) {
32781 case 2:
32782 // op: Rv
32783 return 13;
32784 case 5:
32785 // op: Zm
32786 return 18;
32787 case 4:
32788 // op: Zn
32789 return 7;
32790 case 3:
32791 // op: imm
32792 return 0;
32793 }
32794 break;
32795 }
32796 case AArch64::INSR_ZV_B:
32797 case AArch64::INSR_ZV_D:
32798 case AArch64::INSR_ZV_H:
32799 case AArch64::INSR_ZV_S: {
32800 switch (OpNum) {
32801 case 2:
32802 // op: Vm
32803 return 5;
32804 case 0:
32805 // op: Zdn
32806 return 0;
32807 }
32808 break;
32809 }
32810 case AArch64::LD1i8_POST:
32811 case AArch64::LD2i8_POST:
32812 case AArch64::LD3i8_POST:
32813 case AArch64::LD4i8_POST: {
32814 switch (OpNum) {
32815 case 2:
32816 // op: Vt
32817 return 0;
32818 case 4:
32819 // op: Rn
32820 return 5;
32821 case 3:
32822 // op: idx
32823 return 10;
32824 case 5:
32825 // op: Xm
32826 return 16;
32827 }
32828 break;
32829 }
32830 case AArch64::LD1i16_POST:
32831 case AArch64::LD2i16_POST:
32832 case AArch64::LD3i16_POST:
32833 case AArch64::LD4i16_POST: {
32834 switch (OpNum) {
32835 case 2:
32836 // op: Vt
32837 return 0;
32838 case 4:
32839 // op: Rn
32840 return 5;
32841 case 3:
32842 // op: idx
32843 return 11;
32844 case 5:
32845 // op: Xm
32846 return 16;
32847 }
32848 break;
32849 }
32850 case AArch64::LD1i32_POST:
32851 case AArch64::LD2i32_POST:
32852 case AArch64::LD3i32_POST:
32853 case AArch64::LD4i32_POST: {
32854 switch (OpNum) {
32855 case 2:
32856 // op: Vt
32857 return 0;
32858 case 4:
32859 // op: Rn
32860 return 5;
32861 case 3:
32862 // op: idx
32863 return 12;
32864 case 5:
32865 // op: Xm
32866 return 16;
32867 }
32868 break;
32869 }
32870 case AArch64::LD1i64_POST:
32871 case AArch64::LD2i64_POST:
32872 case AArch64::LD3i64_POST:
32873 case AArch64::LD4i64_POST: {
32874 switch (OpNum) {
32875 case 2:
32876 // op: Vt
32877 return 0;
32878 case 4:
32879 // op: Rn
32880 return 5;
32881 case 3:
32882 // op: idx
32883 return 30;
32884 case 5:
32885 // op: Xm
32886 return 16;
32887 }
32888 break;
32889 }
32890 case AArch64::ADD_VG2_2ZZ_B:
32891 case AArch64::ADD_VG2_2ZZ_D:
32892 case AArch64::ADD_VG2_2ZZ_H:
32893 case AArch64::ADD_VG2_2ZZ_S:
32894 case AArch64::BFMAXNM_VG2_2ZZ_H:
32895 case AArch64::BFMAX_VG2_2ZZ_H:
32896 case AArch64::BFMINNM_VG2_2ZZ_H:
32897 case AArch64::BFMIN_VG2_2ZZ_H:
32898 case AArch64::BFSCALE_2ZZ:
32899 case AArch64::FMAXNM_VG2_2ZZ_D:
32900 case AArch64::FMAXNM_VG2_2ZZ_H:
32901 case AArch64::FMAXNM_VG2_2ZZ_S:
32902 case AArch64::FMAX_VG2_2ZZ_D:
32903 case AArch64::FMAX_VG2_2ZZ_H:
32904 case AArch64::FMAX_VG2_2ZZ_S:
32905 case AArch64::FMINNM_VG2_2ZZ_D:
32906 case AArch64::FMINNM_VG2_2ZZ_H:
32907 case AArch64::FMINNM_VG2_2ZZ_S:
32908 case AArch64::FMIN_VG2_2ZZ_D:
32909 case AArch64::FMIN_VG2_2ZZ_H:
32910 case AArch64::FMIN_VG2_2ZZ_S:
32911 case AArch64::FSCALE_2ZZ_D:
32912 case AArch64::FSCALE_2ZZ_H:
32913 case AArch64::FSCALE_2ZZ_S:
32914 case AArch64::SMAX_VG2_2ZZ_B:
32915 case AArch64::SMAX_VG2_2ZZ_D:
32916 case AArch64::SMAX_VG2_2ZZ_H:
32917 case AArch64::SMAX_VG2_2ZZ_S:
32918 case AArch64::SMIN_VG2_2ZZ_B:
32919 case AArch64::SMIN_VG2_2ZZ_D:
32920 case AArch64::SMIN_VG2_2ZZ_H:
32921 case AArch64::SMIN_VG2_2ZZ_S:
32922 case AArch64::SQDMULH_VG2_2ZZ_B:
32923 case AArch64::SQDMULH_VG2_2ZZ_D:
32924 case AArch64::SQDMULH_VG2_2ZZ_H:
32925 case AArch64::SQDMULH_VG2_2ZZ_S:
32926 case AArch64::SRSHL_VG2_2ZZ_B:
32927 case AArch64::SRSHL_VG2_2ZZ_D:
32928 case AArch64::SRSHL_VG2_2ZZ_H:
32929 case AArch64::SRSHL_VG2_2ZZ_S:
32930 case AArch64::UMAX_VG2_2ZZ_B:
32931 case AArch64::UMAX_VG2_2ZZ_D:
32932 case AArch64::UMAX_VG2_2ZZ_H:
32933 case AArch64::UMAX_VG2_2ZZ_S:
32934 case AArch64::UMIN_VG2_2ZZ_B:
32935 case AArch64::UMIN_VG2_2ZZ_D:
32936 case AArch64::UMIN_VG2_2ZZ_H:
32937 case AArch64::UMIN_VG2_2ZZ_S:
32938 case AArch64::URSHL_VG2_2ZZ_B:
32939 case AArch64::URSHL_VG2_2ZZ_D:
32940 case AArch64::URSHL_VG2_2ZZ_H:
32941 case AArch64::URSHL_VG2_2ZZ_S: {
32942 switch (OpNum) {
32943 case 2:
32944 // op: Zm
32945 return 16;
32946 case 0:
32947 // op: Zdn
32948 return 1;
32949 }
32950 break;
32951 }
32952 case AArch64::ADD_VG4_4ZZ_B:
32953 case AArch64::ADD_VG4_4ZZ_D:
32954 case AArch64::ADD_VG4_4ZZ_H:
32955 case AArch64::ADD_VG4_4ZZ_S:
32956 case AArch64::BFMAXNM_VG4_4ZZ_H:
32957 case AArch64::BFMAX_VG4_4ZZ_H:
32958 case AArch64::BFMINNM_VG4_4ZZ_H:
32959 case AArch64::BFMIN_VG4_4ZZ_H:
32960 case AArch64::BFSCALE_4ZZ:
32961 case AArch64::FMAXNM_VG4_4ZZ_D:
32962 case AArch64::FMAXNM_VG4_4ZZ_H:
32963 case AArch64::FMAXNM_VG4_4ZZ_S:
32964 case AArch64::FMAX_VG4_4ZZ_D:
32965 case AArch64::FMAX_VG4_4ZZ_H:
32966 case AArch64::FMAX_VG4_4ZZ_S:
32967 case AArch64::FMINNM_VG4_4ZZ_D:
32968 case AArch64::FMINNM_VG4_4ZZ_H:
32969 case AArch64::FMINNM_VG4_4ZZ_S:
32970 case AArch64::FMIN_VG4_4ZZ_D:
32971 case AArch64::FMIN_VG4_4ZZ_H:
32972 case AArch64::FMIN_VG4_4ZZ_S:
32973 case AArch64::FSCALE_4ZZ_D:
32974 case AArch64::FSCALE_4ZZ_H:
32975 case AArch64::FSCALE_4ZZ_S:
32976 case AArch64::SMAX_VG4_4ZZ_B:
32977 case AArch64::SMAX_VG4_4ZZ_D:
32978 case AArch64::SMAX_VG4_4ZZ_H:
32979 case AArch64::SMAX_VG4_4ZZ_S:
32980 case AArch64::SMIN_VG4_4ZZ_B:
32981 case AArch64::SMIN_VG4_4ZZ_D:
32982 case AArch64::SMIN_VG4_4ZZ_H:
32983 case AArch64::SMIN_VG4_4ZZ_S:
32984 case AArch64::SQDMULH_VG4_4ZZ_B:
32985 case AArch64::SQDMULH_VG4_4ZZ_D:
32986 case AArch64::SQDMULH_VG4_4ZZ_H:
32987 case AArch64::SQDMULH_VG4_4ZZ_S:
32988 case AArch64::SRSHL_VG4_4ZZ_B:
32989 case AArch64::SRSHL_VG4_4ZZ_D:
32990 case AArch64::SRSHL_VG4_4ZZ_H:
32991 case AArch64::SRSHL_VG4_4ZZ_S:
32992 case AArch64::UMAX_VG4_4ZZ_B:
32993 case AArch64::UMAX_VG4_4ZZ_D:
32994 case AArch64::UMAX_VG4_4ZZ_H:
32995 case AArch64::UMAX_VG4_4ZZ_S:
32996 case AArch64::UMIN_VG4_4ZZ_B:
32997 case AArch64::UMIN_VG4_4ZZ_D:
32998 case AArch64::UMIN_VG4_4ZZ_H:
32999 case AArch64::UMIN_VG4_4ZZ_S:
33000 case AArch64::URSHL_VG4_4ZZ_B:
33001 case AArch64::URSHL_VG4_4ZZ_D:
33002 case AArch64::URSHL_VG4_4ZZ_H:
33003 case AArch64::URSHL_VG4_4ZZ_S: {
33004 switch (OpNum) {
33005 case 2:
33006 // op: Zm
33007 return 16;
33008 case 0:
33009 // op: Zdn
33010 return 2;
33011 }
33012 break;
33013 }
33014 case AArch64::PMULL_2ZZZ_Q: {
33015 switch (OpNum) {
33016 case 2:
33017 // op: Zm
33018 return 16;
33019 case 1:
33020 // op: Zn
33021 return 5;
33022 case 0:
33023 // op: Zd
33024 return 1;
33025 }
33026 break;
33027 }
33028 case AArch64::BFMAXNM_VG2_2Z2Z_H:
33029 case AArch64::BFMAX_VG2_2Z2Z_H:
33030 case AArch64::BFMINNM_VG2_2Z2Z_H:
33031 case AArch64::BFMIN_VG2_2Z2Z_H:
33032 case AArch64::BFSCALE_2Z2Z:
33033 case AArch64::FAMAX_2Z2Z_D:
33034 case AArch64::FAMAX_2Z2Z_H:
33035 case AArch64::FAMAX_2Z2Z_S:
33036 case AArch64::FAMIN_2Z2Z_D:
33037 case AArch64::FAMIN_2Z2Z_H:
33038 case AArch64::FAMIN_2Z2Z_S:
33039 case AArch64::FMAXNM_VG2_2Z2Z_D:
33040 case AArch64::FMAXNM_VG2_2Z2Z_H:
33041 case AArch64::FMAXNM_VG2_2Z2Z_S:
33042 case AArch64::FMAX_VG2_2Z2Z_D:
33043 case AArch64::FMAX_VG2_2Z2Z_H:
33044 case AArch64::FMAX_VG2_2Z2Z_S:
33045 case AArch64::FMINNM_VG2_2Z2Z_D:
33046 case AArch64::FMINNM_VG2_2Z2Z_H:
33047 case AArch64::FMINNM_VG2_2Z2Z_S:
33048 case AArch64::FMIN_VG2_2Z2Z_D:
33049 case AArch64::FMIN_VG2_2Z2Z_H:
33050 case AArch64::FMIN_VG2_2Z2Z_S:
33051 case AArch64::FSCALE_2Z2Z_D:
33052 case AArch64::FSCALE_2Z2Z_H:
33053 case AArch64::FSCALE_2Z2Z_S:
33054 case AArch64::SMAX_VG2_2Z2Z_B:
33055 case AArch64::SMAX_VG2_2Z2Z_D:
33056 case AArch64::SMAX_VG2_2Z2Z_H:
33057 case AArch64::SMAX_VG2_2Z2Z_S:
33058 case AArch64::SMIN_VG2_2Z2Z_B:
33059 case AArch64::SMIN_VG2_2Z2Z_D:
33060 case AArch64::SMIN_VG2_2Z2Z_H:
33061 case AArch64::SMIN_VG2_2Z2Z_S:
33062 case AArch64::SQDMULH_VG2_2Z2Z_B:
33063 case AArch64::SQDMULH_VG2_2Z2Z_D:
33064 case AArch64::SQDMULH_VG2_2Z2Z_H:
33065 case AArch64::SQDMULH_VG2_2Z2Z_S:
33066 case AArch64::SRSHL_VG2_2Z2Z_B:
33067 case AArch64::SRSHL_VG2_2Z2Z_D:
33068 case AArch64::SRSHL_VG2_2Z2Z_H:
33069 case AArch64::SRSHL_VG2_2Z2Z_S:
33070 case AArch64::UMAX_VG2_2Z2Z_B:
33071 case AArch64::UMAX_VG2_2Z2Z_D:
33072 case AArch64::UMAX_VG2_2Z2Z_H:
33073 case AArch64::UMAX_VG2_2Z2Z_S:
33074 case AArch64::UMIN_VG2_2Z2Z_B:
33075 case AArch64::UMIN_VG2_2Z2Z_D:
33076 case AArch64::UMIN_VG2_2Z2Z_H:
33077 case AArch64::UMIN_VG2_2Z2Z_S:
33078 case AArch64::URSHL_VG2_2Z2Z_B:
33079 case AArch64::URSHL_VG2_2Z2Z_D:
33080 case AArch64::URSHL_VG2_2Z2Z_H:
33081 case AArch64::URSHL_VG2_2Z2Z_S: {
33082 switch (OpNum) {
33083 case 2:
33084 // op: Zm
33085 return 17;
33086 case 0:
33087 // op: Zdn
33088 return 1;
33089 }
33090 break;
33091 }
33092 case AArch64::BFMAXNM_VG4_4Z2Z_H:
33093 case AArch64::BFMAX_VG4_4Z2Z_H:
33094 case AArch64::BFMINNM_VG4_4Z2Z_H:
33095 case AArch64::BFMIN_VG4_4Z2Z_H:
33096 case AArch64::BFSCALE_4Z4Z:
33097 case AArch64::FAMAX_4Z4Z_D:
33098 case AArch64::FAMAX_4Z4Z_H:
33099 case AArch64::FAMAX_4Z4Z_S:
33100 case AArch64::FAMIN_4Z4Z_D:
33101 case AArch64::FAMIN_4Z4Z_H:
33102 case AArch64::FAMIN_4Z4Z_S:
33103 case AArch64::FMAXNM_VG4_4Z4Z_D:
33104 case AArch64::FMAXNM_VG4_4Z4Z_H:
33105 case AArch64::FMAXNM_VG4_4Z4Z_S:
33106 case AArch64::FMAX_VG4_4Z4Z_D:
33107 case AArch64::FMAX_VG4_4Z4Z_H:
33108 case AArch64::FMAX_VG4_4Z4Z_S:
33109 case AArch64::FMINNM_VG4_4Z4Z_D:
33110 case AArch64::FMINNM_VG4_4Z4Z_H:
33111 case AArch64::FMINNM_VG4_4Z4Z_S:
33112 case AArch64::FMIN_VG4_4Z4Z_D:
33113 case AArch64::FMIN_VG4_4Z4Z_H:
33114 case AArch64::FMIN_VG4_4Z4Z_S:
33115 case AArch64::FSCALE_4Z4Z_D:
33116 case AArch64::FSCALE_4Z4Z_H:
33117 case AArch64::FSCALE_4Z4Z_S:
33118 case AArch64::SMAX_VG4_4Z4Z_B:
33119 case AArch64::SMAX_VG4_4Z4Z_D:
33120 case AArch64::SMAX_VG4_4Z4Z_H:
33121 case AArch64::SMAX_VG4_4Z4Z_S:
33122 case AArch64::SMIN_VG4_4Z4Z_B:
33123 case AArch64::SMIN_VG4_4Z4Z_D:
33124 case AArch64::SMIN_VG4_4Z4Z_H:
33125 case AArch64::SMIN_VG4_4Z4Z_S:
33126 case AArch64::SQDMULH_VG4_4Z4Z_B:
33127 case AArch64::SQDMULH_VG4_4Z4Z_D:
33128 case AArch64::SQDMULH_VG4_4Z4Z_H:
33129 case AArch64::SQDMULH_VG4_4Z4Z_S:
33130 case AArch64::SRSHL_VG4_4Z4Z_B:
33131 case AArch64::SRSHL_VG4_4Z4Z_D:
33132 case AArch64::SRSHL_VG4_4Z4Z_H:
33133 case AArch64::SRSHL_VG4_4Z4Z_S:
33134 case AArch64::UMAX_VG4_4Z4Z_B:
33135 case AArch64::UMAX_VG4_4Z4Z_D:
33136 case AArch64::UMAX_VG4_4Z4Z_H:
33137 case AArch64::UMAX_VG4_4Z4Z_S:
33138 case AArch64::UMIN_VG4_4Z4Z_B:
33139 case AArch64::UMIN_VG4_4Z4Z_D:
33140 case AArch64::UMIN_VG4_4Z4Z_H:
33141 case AArch64::UMIN_VG4_4Z4Z_S:
33142 case AArch64::URSHL_VG4_4Z4Z_B:
33143 case AArch64::URSHL_VG4_4Z4Z_D:
33144 case AArch64::URSHL_VG4_4Z4Z_H:
33145 case AArch64::URSHL_VG4_4Z4Z_S: {
33146 switch (OpNum) {
33147 case 2:
33148 // op: Zm
33149 return 18;
33150 case 0:
33151 // op: Zdn
33152 return 2;
33153 }
33154 break;
33155 }
33156 case AArch64::AESDIMC_2ZZI_B:
33157 case AArch64::AESD_2ZZI_B:
33158 case AArch64::AESEMC_2ZZI_B:
33159 case AArch64::AESE_2ZZI_B: {
33160 switch (OpNum) {
33161 case 2:
33162 // op: Zm
33163 return 5;
33164 case 0:
33165 // op: Zdn
33166 return 1;
33167 case 3:
33168 // op: imm2
33169 return 19;
33170 }
33171 break;
33172 }
33173 case AArch64::AESDIMC_4ZZI_B:
33174 case AArch64::AESD_4ZZI_B:
33175 case AArch64::AESEMC_4ZZI_B:
33176 case AArch64::AESE_4ZZI_B: {
33177 switch (OpNum) {
33178 case 2:
33179 // op: Zm
33180 return 5;
33181 case 0:
33182 // op: Zdn
33183 return 2;
33184 case 3:
33185 // op: imm2
33186 return 19;
33187 }
33188 break;
33189 }
33190 case AArch64::FADDV_VPZ_D:
33191 case AArch64::FADDV_VPZ_H:
33192 case AArch64::FADDV_VPZ_S:
33193 case AArch64::FMAXNMV_VPZ_D:
33194 case AArch64::FMAXNMV_VPZ_H:
33195 case AArch64::FMAXNMV_VPZ_S:
33196 case AArch64::FMAXV_VPZ_D:
33197 case AArch64::FMAXV_VPZ_H:
33198 case AArch64::FMAXV_VPZ_S:
33199 case AArch64::FMINNMV_VPZ_D:
33200 case AArch64::FMINNMV_VPZ_H:
33201 case AArch64::FMINNMV_VPZ_S:
33202 case AArch64::FMINV_VPZ_D:
33203 case AArch64::FMINV_VPZ_H:
33204 case AArch64::FMINV_VPZ_S: {
33205 switch (OpNum) {
33206 case 2:
33207 // op: Zn
33208 return 5;
33209 case 0:
33210 // op: Vd
33211 return 0;
33212 case 1:
33213 // op: Pg
33214 return 10;
33215 }
33216 break;
33217 }
33218 case AArch64::LUTI2_ZTZI_B:
33219 case AArch64::LUTI2_ZTZI_H:
33220 case AArch64::LUTI2_ZTZI_S:
33221 case AArch64::LUTI4_ZTZI_B:
33222 case AArch64::LUTI4_ZTZI_H:
33223 case AArch64::LUTI4_ZTZI_S: {
33224 switch (OpNum) {
33225 case 2:
33226 // op: Zn
33227 return 5;
33228 case 0:
33229 // op: Zd
33230 return 0;
33231 case 3:
33232 // op: i
33233 return 14;
33234 }
33235 break;
33236 }
33237 case AArch64::LUTI2_S_2ZTZI_B:
33238 case AArch64::LUTI2_S_2ZTZI_H:
33239 case AArch64::LUTI4_S_2ZTZI_B:
33240 case AArch64::LUTI4_S_2ZTZI_H: {
33241 switch (OpNum) {
33242 case 2:
33243 // op: Zn
33244 return 5;
33245 case 0:
33246 // op: Zd
33247 return 0;
33248 case 3:
33249 // op: i
33250 return 15;
33251 }
33252 break;
33253 }
33254 case AArch64::LUTI2_S_4ZTZI_B:
33255 case AArch64::LUTI2_S_4ZTZI_H:
33256 case AArch64::LUTI4_S_4ZTZI_H: {
33257 switch (OpNum) {
33258 case 2:
33259 // op: Zn
33260 return 5;
33261 case 0:
33262 // op: Zd
33263 return 0;
33264 case 3:
33265 // op: i
33266 return 16;
33267 }
33268 break;
33269 }
33270 case AArch64::LUTI2_2ZTZI_B:
33271 case AArch64::LUTI2_2ZTZI_H:
33272 case AArch64::LUTI2_2ZTZI_S:
33273 case AArch64::LUTI4_2ZTZI_B:
33274 case AArch64::LUTI4_2ZTZI_H:
33275 case AArch64::LUTI4_2ZTZI_S: {
33276 switch (OpNum) {
33277 case 2:
33278 // op: Zn
33279 return 5;
33280 case 0:
33281 // op: Zd
33282 return 1;
33283 case 3:
33284 // op: i
33285 return 15;
33286 }
33287 break;
33288 }
33289 case AArch64::LUTI2_4ZTZI_B:
33290 case AArch64::LUTI2_4ZTZI_H:
33291 case AArch64::LUTI2_4ZTZI_S:
33292 case AArch64::LUTI4_4ZTZI_H:
33293 case AArch64::LUTI4_4ZTZI_S: {
33294 switch (OpNum) {
33295 case 2:
33296 // op: Zn
33297 return 5;
33298 case 0:
33299 // op: Zd
33300 return 2;
33301 case 3:
33302 // op: i
33303 return 16;
33304 }
33305 break;
33306 }
33307 case AArch64::LUTI4_S_4ZZT2Z: {
33308 switch (OpNum) {
33309 case 2:
33310 // op: Zn
33311 return 6;
33312 case 0:
33313 // op: Zd
33314 return 0;
33315 }
33316 break;
33317 }
33318 case AArch64::LUTI4_4ZZT2Z: {
33319 switch (OpNum) {
33320 case 2:
33321 // op: Zn
33322 return 6;
33323 case 0:
33324 // op: Zd
33325 return 2;
33326 }
33327 break;
33328 }
33329 case AArch64::MOVT_TIZ: {
33330 switch (OpNum) {
33331 case 2:
33332 // op: Zt
33333 return 0;
33334 case 1:
33335 // op: off2
33336 return 12;
33337 }
33338 break;
33339 }
33340 case AArch64::MOVT_XTI: {
33341 switch (OpNum) {
33342 case 2:
33343 // op: imm3
33344 return 12;
33345 case 0:
33346 // op: Rt
33347 return 0;
33348 }
33349 break;
33350 }
33351 case AArch64::SQRSHRU_VG2_Z2ZI_H:
33352 case AArch64::SQRSHR_VG2_Z2ZI_H:
33353 case AArch64::UQRSHR_VG2_Z2ZI_H: {
33354 switch (OpNum) {
33355 case 2:
33356 // op: imm4
33357 return 16;
33358 case 1:
33359 // op: Zn
33360 return 6;
33361 case 0:
33362 // op: Zd
33363 return 0;
33364 }
33365 break;
33366 }
33367 case AArch64::LDRAAindexed:
33368 case AArch64::LDRABindexed: {
33369 switch (OpNum) {
33370 case 2:
33371 // op: offset
33372 return 12;
33373 case 1:
33374 // op: Rn
33375 return 5;
33376 case 0:
33377 // op: Rt
33378 return 0;
33379 }
33380 break;
33381 }
33382 case AArch64::ADDHA_MPPZ_D:
33383 case AArch64::ADDHA_MPPZ_S:
33384 case AArch64::ADDVA_MPPZ_D:
33385 case AArch64::ADDVA_MPPZ_S: {
33386 switch (OpNum) {
33387 case 3:
33388 // op: Pm
33389 return 13;
33390 case 2:
33391 // op: Pn
33392 return 10;
33393 case 4:
33394 // op: Zn
33395 return 5;
33396 case 0:
33397 // op: ZAda
33398 return 0;
33399 }
33400 break;
33401 }
33402 case AArch64::CPYE:
33403 case AArch64::CPYEN:
33404 case AArch64::CPYERN:
33405 case AArch64::CPYERT:
33406 case AArch64::CPYERTN:
33407 case AArch64::CPYERTRN:
33408 case AArch64::CPYERTWN:
33409 case AArch64::CPYET:
33410 case AArch64::CPYETN:
33411 case AArch64::CPYETRN:
33412 case AArch64::CPYETWN:
33413 case AArch64::CPYEWN:
33414 case AArch64::CPYEWT:
33415 case AArch64::CPYEWTN:
33416 case AArch64::CPYEWTRN:
33417 case AArch64::CPYEWTWN:
33418 case AArch64::CPYFE:
33419 case AArch64::CPYFEN:
33420 case AArch64::CPYFERN:
33421 case AArch64::CPYFERT:
33422 case AArch64::CPYFERTN:
33423 case AArch64::CPYFERTRN:
33424 case AArch64::CPYFERTWN:
33425 case AArch64::CPYFET:
33426 case AArch64::CPYFETN:
33427 case AArch64::CPYFETRN:
33428 case AArch64::CPYFETWN:
33429 case AArch64::CPYFEWN:
33430 case AArch64::CPYFEWT:
33431 case AArch64::CPYFEWTN:
33432 case AArch64::CPYFEWTRN:
33433 case AArch64::CPYFEWTWN:
33434 case AArch64::CPYFM:
33435 case AArch64::CPYFMN:
33436 case AArch64::CPYFMRN:
33437 case AArch64::CPYFMRT:
33438 case AArch64::CPYFMRTN:
33439 case AArch64::CPYFMRTRN:
33440 case AArch64::CPYFMRTWN:
33441 case AArch64::CPYFMT:
33442 case AArch64::CPYFMTN:
33443 case AArch64::CPYFMTRN:
33444 case AArch64::CPYFMTWN:
33445 case AArch64::CPYFMWN:
33446 case AArch64::CPYFMWT:
33447 case AArch64::CPYFMWTN:
33448 case AArch64::CPYFMWTRN:
33449 case AArch64::CPYFMWTWN:
33450 case AArch64::CPYFP:
33451 case AArch64::CPYFPN:
33452 case AArch64::CPYFPRN:
33453 case AArch64::CPYFPRT:
33454 case AArch64::CPYFPRTN:
33455 case AArch64::CPYFPRTRN:
33456 case AArch64::CPYFPRTWN:
33457 case AArch64::CPYFPT:
33458 case AArch64::CPYFPTN:
33459 case AArch64::CPYFPTRN:
33460 case AArch64::CPYFPTWN:
33461 case AArch64::CPYFPWN:
33462 case AArch64::CPYFPWT:
33463 case AArch64::CPYFPWTN:
33464 case AArch64::CPYFPWTRN:
33465 case AArch64::CPYFPWTWN:
33466 case AArch64::CPYM:
33467 case AArch64::CPYMN:
33468 case AArch64::CPYMRN:
33469 case AArch64::CPYMRT:
33470 case AArch64::CPYMRTN:
33471 case AArch64::CPYMRTRN:
33472 case AArch64::CPYMRTWN:
33473 case AArch64::CPYMT:
33474 case AArch64::CPYMTN:
33475 case AArch64::CPYMTRN:
33476 case AArch64::CPYMTWN:
33477 case AArch64::CPYMWN:
33478 case AArch64::CPYMWT:
33479 case AArch64::CPYMWTN:
33480 case AArch64::CPYMWTRN:
33481 case AArch64::CPYMWTWN:
33482 case AArch64::CPYP:
33483 case AArch64::CPYPN:
33484 case AArch64::CPYPRN:
33485 case AArch64::CPYPRT:
33486 case AArch64::CPYPRTN:
33487 case AArch64::CPYPRTRN:
33488 case AArch64::CPYPRTWN:
33489 case AArch64::CPYPT:
33490 case AArch64::CPYPTN:
33491 case AArch64::CPYPTRN:
33492 case AArch64::CPYPTWN:
33493 case AArch64::CPYPWN:
33494 case AArch64::CPYPWT:
33495 case AArch64::CPYPWTN:
33496 case AArch64::CPYPWTRN:
33497 case AArch64::CPYPWTWN: {
33498 switch (OpNum) {
33499 case 3:
33500 // op: Rd
33501 return 0;
33502 case 4:
33503 // op: Rs
33504 return 16;
33505 case 5:
33506 // op: Rn
33507 return 5;
33508 }
33509 break;
33510 }
33511 case AArch64::LD1B_2Z_STRIDED:
33512 case AArch64::LD1B_4Z_STRIDED:
33513 case AArch64::LD1D_2Z_STRIDED:
33514 case AArch64::LD1D_4Z_STRIDED:
33515 case AArch64::LD1H_2Z_STRIDED:
33516 case AArch64::LD1H_4Z_STRIDED:
33517 case AArch64::LD1W_2Z_STRIDED:
33518 case AArch64::LD1W_4Z_STRIDED:
33519 case AArch64::LDNT1B_2Z_STRIDED:
33520 case AArch64::LDNT1B_4Z_STRIDED:
33521 case AArch64::LDNT1D_2Z_STRIDED:
33522 case AArch64::LDNT1D_4Z_STRIDED:
33523 case AArch64::LDNT1H_2Z_STRIDED:
33524 case AArch64::LDNT1H_4Z_STRIDED:
33525 case AArch64::LDNT1W_2Z_STRIDED:
33526 case AArch64::LDNT1W_4Z_STRIDED:
33527 case AArch64::ST1B_2Z_STRIDED:
33528 case AArch64::ST1B_4Z_STRIDED:
33529 case AArch64::ST1D_2Z_STRIDED:
33530 case AArch64::ST1D_4Z_STRIDED:
33531 case AArch64::ST1H_2Z_STRIDED:
33532 case AArch64::ST1H_4Z_STRIDED:
33533 case AArch64::ST1W_2Z_STRIDED:
33534 case AArch64::ST1W_4Z_STRIDED:
33535 case AArch64::STNT1B_2Z_STRIDED:
33536 case AArch64::STNT1B_4Z_STRIDED:
33537 case AArch64::STNT1D_2Z_STRIDED:
33538 case AArch64::STNT1D_4Z_STRIDED:
33539 case AArch64::STNT1H_2Z_STRIDED:
33540 case AArch64::STNT1H_4Z_STRIDED:
33541 case AArch64::STNT1W_2Z_STRIDED:
33542 case AArch64::STNT1W_4Z_STRIDED: {
33543 switch (OpNum) {
33544 case 3:
33545 // op: Rm
33546 return 16;
33547 case 1:
33548 // op: PNg
33549 return 10;
33550 case 2:
33551 // op: Rn
33552 return 5;
33553 case 0:
33554 // op: Zt
33555 return 0;
33556 }
33557 break;
33558 }
33559 case AArch64::PRFB_PRR:
33560 case AArch64::PRFD_PRR:
33561 case AArch64::PRFH_PRR:
33562 case AArch64::PRFW_PRR: {
33563 switch (OpNum) {
33564 case 3:
33565 // op: Rm
33566 return 16;
33567 case 2:
33568 // op: Rn
33569 return 5;
33570 case 1:
33571 // op: Pg
33572 return 10;
33573 case 0:
33574 // op: prfop
33575 return 0;
33576 }
33577 break;
33578 }
33579 case AArch64::MOVAZ_ZMI_H_Q:
33580 case AArch64::MOVAZ_ZMI_V_Q: {
33581 switch (OpNum) {
33582 case 3:
33583 // op: Rs
33584 return 13;
33585 case 0:
33586 // op: Zd
33587 return 0;
33588 case 1:
33589 // op: ZAn
33590 return 5;
33591 }
33592 break;
33593 }
33594 case AArch64::MOVAZ_ZMI_H_D:
33595 case AArch64::MOVAZ_ZMI_V_D: {
33596 switch (OpNum) {
33597 case 3:
33598 // op: Rs
33599 return 13;
33600 case 0:
33601 // op: Zd
33602 return 0;
33603 case 1:
33604 // op: ZAn
33605 return 6;
33606 case 4:
33607 // op: imm
33608 return 5;
33609 }
33610 break;
33611 }
33612 case AArch64::MOVAZ_ZMI_H_S:
33613 case AArch64::MOVAZ_ZMI_V_S: {
33614 switch (OpNum) {
33615 case 3:
33616 // op: Rs
33617 return 13;
33618 case 0:
33619 // op: Zd
33620 return 0;
33621 case 1:
33622 // op: ZAn
33623 return 7;
33624 case 4:
33625 // op: imm
33626 return 5;
33627 }
33628 break;
33629 }
33630 case AArch64::MOVAZ_ZMI_H_H:
33631 case AArch64::MOVAZ_ZMI_V_H: {
33632 switch (OpNum) {
33633 case 3:
33634 // op: Rs
33635 return 13;
33636 case 0:
33637 // op: Zd
33638 return 0;
33639 case 1:
33640 // op: ZAn
33641 return 8;
33642 case 4:
33643 // op: imm
33644 return 5;
33645 }
33646 break;
33647 }
33648 case AArch64::MOVAZ_ZMI_H_B:
33649 case AArch64::MOVAZ_ZMI_V_B: {
33650 switch (OpNum) {
33651 case 3:
33652 // op: Rs
33653 return 13;
33654 case 0:
33655 // op: Zd
33656 return 0;
33657 case 4:
33658 // op: imm
33659 return 5;
33660 }
33661 break;
33662 }
33663 case AArch64::MOVAZ_VG2_2ZMXI: {
33664 switch (OpNum) {
33665 case 3:
33666 // op: Rs
33667 return 13;
33668 case 4:
33669 // op: imm
33670 return 5;
33671 case 0:
33672 // op: Zd
33673 return 1;
33674 }
33675 break;
33676 }
33677 case AArch64::MOVAZ_VG4_4ZMXI: {
33678 switch (OpNum) {
33679 case 3:
33680 // op: Rs
33681 return 13;
33682 case 4:
33683 // op: imm
33684 return 5;
33685 case 0:
33686 // op: Zd
33687 return 2;
33688 }
33689 break;
33690 }
33691 case AArch64::RCWCLRP:
33692 case AArch64::RCWCLRPA:
33693 case AArch64::RCWCLRPAL:
33694 case AArch64::RCWCLRPL:
33695 case AArch64::RCWCLRSP:
33696 case AArch64::RCWCLRSPA:
33697 case AArch64::RCWCLRSPAL:
33698 case AArch64::RCWCLRSPL:
33699 case AArch64::RCWSETP:
33700 case AArch64::RCWSETPA:
33701 case AArch64::RCWSETPAL:
33702 case AArch64::RCWSETPL:
33703 case AArch64::RCWSETSP:
33704 case AArch64::RCWSETSPA:
33705 case AArch64::RCWSETSPAL:
33706 case AArch64::RCWSETSPL:
33707 case AArch64::RCWSWPP:
33708 case AArch64::RCWSWPPA:
33709 case AArch64::RCWSWPPAL:
33710 case AArch64::RCWSWPPL:
33711 case AArch64::RCWSWPSP:
33712 case AArch64::RCWSWPSPA:
33713 case AArch64::RCWSWPSPAL:
33714 case AArch64::RCWSWPSPL: {
33715 switch (OpNum) {
33716 case 3:
33717 // op: Rt2
33718 return 16;
33719 case 4:
33720 // op: Rn
33721 return 5;
33722 case 2:
33723 // op: Rt
33724 return 0;
33725 }
33726 break;
33727 }
33728 case AArch64::PSEL_PPPRI_B: {
33729 switch (OpNum) {
33730 case 3:
33731 // op: Rv
33732 return 16;
33733 case 1:
33734 // op: Pn
33735 return 10;
33736 case 2:
33737 // op: Pm
33738 return 5;
33739 case 0:
33740 // op: Pd
33741 return 0;
33742 case 4:
33743 // op: imm
33744 return 19;
33745 }
33746 break;
33747 }
33748 case AArch64::PSEL_PPPRI_H: {
33749 switch (OpNum) {
33750 case 3:
33751 // op: Rv
33752 return 16;
33753 case 1:
33754 // op: Pn
33755 return 10;
33756 case 2:
33757 // op: Pm
33758 return 5;
33759 case 0:
33760 // op: Pd
33761 return 0;
33762 case 4:
33763 // op: imm
33764 return 20;
33765 }
33766 break;
33767 }
33768 case AArch64::PSEL_PPPRI_S: {
33769 switch (OpNum) {
33770 case 3:
33771 // op: Rv
33772 return 16;
33773 case 1:
33774 // op: Pn
33775 return 10;
33776 case 2:
33777 // op: Pm
33778 return 5;
33779 case 0:
33780 // op: Pd
33781 return 0;
33782 case 4:
33783 // op: imm
33784 return 22;
33785 }
33786 break;
33787 }
33788 case AArch64::PSEL_PPPRI_D: {
33789 switch (OpNum) {
33790 case 3:
33791 // op: Rv
33792 return 16;
33793 case 1:
33794 // op: Pn
33795 return 10;
33796 case 2:
33797 // op: Pm
33798 return 5;
33799 case 0:
33800 // op: Pd
33801 return 0;
33802 case 4:
33803 // op: imm
33804 return 23;
33805 }
33806 break;
33807 }
33808 case AArch64::BFCLAMP_ZZZ:
33809 case AArch64::FCLAMP_ZZZ_D:
33810 case AArch64::FCLAMP_ZZZ_H:
33811 case AArch64::FCLAMP_ZZZ_S:
33812 case AArch64::SCLAMP_ZZZ_B:
33813 case AArch64::SCLAMP_ZZZ_D:
33814 case AArch64::SCLAMP_ZZZ_H:
33815 case AArch64::SCLAMP_ZZZ_S:
33816 case AArch64::UCLAMP_ZZZ_B:
33817 case AArch64::UCLAMP_ZZZ_D:
33818 case AArch64::UCLAMP_ZZZ_H:
33819 case AArch64::UCLAMP_ZZZ_S: {
33820 switch (OpNum) {
33821 case 3:
33822 // op: Zm
33823 return 16;
33824 case 2:
33825 // op: Zn
33826 return 5;
33827 case 0:
33828 // op: Zd
33829 return 0;
33830 }
33831 break;
33832 }
33833 case AArch64::BFCLAMP_VG2_2ZZZ_H:
33834 case AArch64::FCLAMP_VG2_2Z2Z_D:
33835 case AArch64::FCLAMP_VG2_2Z2Z_H:
33836 case AArch64::FCLAMP_VG2_2Z2Z_S:
33837 case AArch64::SCLAMP_VG2_2Z2Z_B:
33838 case AArch64::SCLAMP_VG2_2Z2Z_D:
33839 case AArch64::SCLAMP_VG2_2Z2Z_H:
33840 case AArch64::SCLAMP_VG2_2Z2Z_S:
33841 case AArch64::UCLAMP_VG2_2Z2Z_B:
33842 case AArch64::UCLAMP_VG2_2Z2Z_D:
33843 case AArch64::UCLAMP_VG2_2Z2Z_H:
33844 case AArch64::UCLAMP_VG2_2Z2Z_S: {
33845 switch (OpNum) {
33846 case 3:
33847 // op: Zm
33848 return 16;
33849 case 2:
33850 // op: Zn
33851 return 5;
33852 case 0:
33853 // op: Zd
33854 return 1;
33855 }
33856 break;
33857 }
33858 case AArch64::BFCLAMP_VG4_4ZZZ_H:
33859 case AArch64::FCLAMP_VG4_4Z4Z_D:
33860 case AArch64::FCLAMP_VG4_4Z4Z_H:
33861 case AArch64::FCLAMP_VG4_4Z4Z_S:
33862 case AArch64::SCLAMP_VG4_4Z4Z_B:
33863 case AArch64::SCLAMP_VG4_4Z4Z_D:
33864 case AArch64::SCLAMP_VG4_4Z4Z_H:
33865 case AArch64::SCLAMP_VG4_4Z4Z_S:
33866 case AArch64::UCLAMP_VG4_4Z4Z_B:
33867 case AArch64::UCLAMP_VG4_4Z4Z_D:
33868 case AArch64::UCLAMP_VG4_4Z4Z_H:
33869 case AArch64::UCLAMP_VG4_4Z4Z_S: {
33870 switch (OpNum) {
33871 case 3:
33872 // op: Zm
33873 return 16;
33874 case 2:
33875 // op: Zn
33876 return 5;
33877 case 0:
33878 // op: Zd
33879 return 2;
33880 }
33881 break;
33882 }
33883 case AArch64::PMLAL_2ZZZ_Q: {
33884 switch (OpNum) {
33885 case 3:
33886 // op: Zm
33887 return 16;
33888 case 2:
33889 // op: Zn
33890 return 5;
33891 case 0:
33892 // op: Zda
33893 return 1;
33894 }
33895 break;
33896 }
33897 case AArch64::LD1B_2Z_STRIDED_IMM:
33898 case AArch64::LD1B_4Z_STRIDED_IMM:
33899 case AArch64::LD1D_2Z_STRIDED_IMM:
33900 case AArch64::LD1D_4Z_STRIDED_IMM:
33901 case AArch64::LD1H_2Z_STRIDED_IMM:
33902 case AArch64::LD1H_4Z_STRIDED_IMM:
33903 case AArch64::LD1W_2Z_STRIDED_IMM:
33904 case AArch64::LD1W_4Z_STRIDED_IMM:
33905 case AArch64::LDNT1B_2Z_STRIDED_IMM:
33906 case AArch64::LDNT1B_4Z_STRIDED_IMM:
33907 case AArch64::LDNT1D_2Z_STRIDED_IMM:
33908 case AArch64::LDNT1D_4Z_STRIDED_IMM:
33909 case AArch64::LDNT1H_2Z_STRIDED_IMM:
33910 case AArch64::LDNT1H_4Z_STRIDED_IMM:
33911 case AArch64::LDNT1W_2Z_STRIDED_IMM:
33912 case AArch64::LDNT1W_4Z_STRIDED_IMM:
33913 case AArch64::ST1B_2Z_STRIDED_IMM:
33914 case AArch64::ST1B_4Z_STRIDED_IMM:
33915 case AArch64::ST1D_2Z_STRIDED_IMM:
33916 case AArch64::ST1D_4Z_STRIDED_IMM:
33917 case AArch64::ST1H_2Z_STRIDED_IMM:
33918 case AArch64::ST1H_4Z_STRIDED_IMM:
33919 case AArch64::ST1W_2Z_STRIDED_IMM:
33920 case AArch64::ST1W_4Z_STRIDED_IMM:
33921 case AArch64::STNT1B_2Z_STRIDED_IMM:
33922 case AArch64::STNT1B_4Z_STRIDED_IMM:
33923 case AArch64::STNT1D_2Z_STRIDED_IMM:
33924 case AArch64::STNT1D_4Z_STRIDED_IMM:
33925 case AArch64::STNT1H_2Z_STRIDED_IMM:
33926 case AArch64::STNT1H_4Z_STRIDED_IMM:
33927 case AArch64::STNT1W_2Z_STRIDED_IMM:
33928 case AArch64::STNT1W_4Z_STRIDED_IMM: {
33929 switch (OpNum) {
33930 case 3:
33931 // op: imm4
33932 return 16;
33933 case 1:
33934 // op: PNg
33935 return 10;
33936 case 2:
33937 // op: Rn
33938 return 5;
33939 case 0:
33940 // op: Zt
33941 return 0;
33942 }
33943 break;
33944 }
33945 case AArch64::LDRAAwriteback:
33946 case AArch64::LDRABwriteback: {
33947 switch (OpNum) {
33948 case 3:
33949 // op: offset
33950 return 12;
33951 case 2:
33952 // op: Rn
33953 return 5;
33954 case 1:
33955 // op: Rt
33956 return 0;
33957 }
33958 break;
33959 }
33960 case AArch64::SYSPxt:
33961 case AArch64::SYSxt: {
33962 switch (OpNum) {
33963 case 4:
33964 // op: Rt
33965 return 0;
33966 case 0:
33967 // op: op1
33968 return 16;
33969 case 1:
33970 // op: Cn
33971 return 12;
33972 case 2:
33973 // op: Cm
33974 return 8;
33975 case 3:
33976 // op: op2
33977 return 5;
33978 }
33979 break;
33980 }
33981 case AArch64::EXTRACT_ZPMXI_H_Q:
33982 case AArch64::EXTRACT_ZPMXI_V_Q: {
33983 switch (OpNum) {
33984 case 4:
33985 // op: Rv
33986 return 13;
33987 case 2:
33988 // op: Pg
33989 return 10;
33990 case 0:
33991 // op: Zd
33992 return 0;
33993 case 3:
33994 // op: ZAn
33995 return 5;
33996 }
33997 break;
33998 }
33999 case AArch64::EXTRACT_ZPMXI_H_D:
34000 case AArch64::EXTRACT_ZPMXI_V_D: {
34001 switch (OpNum) {
34002 case 4:
34003 // op: Rv
34004 return 13;
34005 case 2:
34006 // op: Pg
34007 return 10;
34008 case 0:
34009 // op: Zd
34010 return 0;
34011 case 3:
34012 // op: ZAn
34013 return 6;
34014 case 5:
34015 // op: imm
34016 return 5;
34017 }
34018 break;
34019 }
34020 case AArch64::EXTRACT_ZPMXI_H_S:
34021 case AArch64::EXTRACT_ZPMXI_V_S: {
34022 switch (OpNum) {
34023 case 4:
34024 // op: Rv
34025 return 13;
34026 case 2:
34027 // op: Pg
34028 return 10;
34029 case 0:
34030 // op: Zd
34031 return 0;
34032 case 3:
34033 // op: ZAn
34034 return 7;
34035 case 5:
34036 // op: imm
34037 return 5;
34038 }
34039 break;
34040 }
34041 case AArch64::EXTRACT_ZPMXI_H_H:
34042 case AArch64::EXTRACT_ZPMXI_V_H: {
34043 switch (OpNum) {
34044 case 4:
34045 // op: Rv
34046 return 13;
34047 case 2:
34048 // op: Pg
34049 return 10;
34050 case 0:
34051 // op: Zd
34052 return 0;
34053 case 3:
34054 // op: ZAn
34055 return 8;
34056 case 5:
34057 // op: imm
34058 return 5;
34059 }
34060 break;
34061 }
34062 case AArch64::EXTRACT_ZPMXI_H_B:
34063 case AArch64::EXTRACT_ZPMXI_V_B: {
34064 switch (OpNum) {
34065 case 4:
34066 // op: Rv
34067 return 13;
34068 case 2:
34069 // op: Pg
34070 return 10;
34071 case 0:
34072 // op: Zd
34073 return 0;
34074 case 5:
34075 // op: imm
34076 return 5;
34077 }
34078 break;
34079 }
34080 case AArch64::LD1_MXIPXX_H_Q:
34081 case AArch64::LD1_MXIPXX_V_Q:
34082 case AArch64::ST1_MXIPXX_H_Q:
34083 case AArch64::ST1_MXIPXX_V_Q: {
34084 switch (OpNum) {
34085 case 5:
34086 // op: Rm
34087 return 16;
34088 case 1:
34089 // op: Rv
34090 return 13;
34091 case 3:
34092 // op: Pg
34093 return 10;
34094 case 4:
34095 // op: Rn
34096 return 5;
34097 case 0:
34098 // op: ZAt
34099 return 0;
34100 }
34101 break;
34102 }
34103 case AArch64::LD1_MXIPXX_H_D:
34104 case AArch64::LD1_MXIPXX_V_D:
34105 case AArch64::ST1_MXIPXX_H_D:
34106 case AArch64::ST1_MXIPXX_V_D: {
34107 switch (OpNum) {
34108 case 5:
34109 // op: Rm
34110 return 16;
34111 case 1:
34112 // op: Rv
34113 return 13;
34114 case 3:
34115 // op: Pg
34116 return 10;
34117 case 4:
34118 // op: Rn
34119 return 5;
34120 case 0:
34121 // op: ZAt
34122 return 1;
34123 case 2:
34124 // op: imm
34125 return 0;
34126 }
34127 break;
34128 }
34129 case AArch64::LD1_MXIPXX_H_S:
34130 case AArch64::LD1_MXIPXX_V_S:
34131 case AArch64::ST1_MXIPXX_H_S:
34132 case AArch64::ST1_MXIPXX_V_S: {
34133 switch (OpNum) {
34134 case 5:
34135 // op: Rm
34136 return 16;
34137 case 1:
34138 // op: Rv
34139 return 13;
34140 case 3:
34141 // op: Pg
34142 return 10;
34143 case 4:
34144 // op: Rn
34145 return 5;
34146 case 0:
34147 // op: ZAt
34148 return 2;
34149 case 2:
34150 // op: imm
34151 return 0;
34152 }
34153 break;
34154 }
34155 case AArch64::LD1_MXIPXX_H_H:
34156 case AArch64::LD1_MXIPXX_V_H:
34157 case AArch64::ST1_MXIPXX_H_H:
34158 case AArch64::ST1_MXIPXX_V_H: {
34159 switch (OpNum) {
34160 case 5:
34161 // op: Rm
34162 return 16;
34163 case 1:
34164 // op: Rv
34165 return 13;
34166 case 3:
34167 // op: Pg
34168 return 10;
34169 case 4:
34170 // op: Rn
34171 return 5;
34172 case 0:
34173 // op: ZAt
34174 return 3;
34175 case 2:
34176 // op: imm
34177 return 0;
34178 }
34179 break;
34180 }
34181 case AArch64::LD1_MXIPXX_H_B:
34182 case AArch64::LD1_MXIPXX_V_B:
34183 case AArch64::ST1_MXIPXX_H_B:
34184 case AArch64::ST1_MXIPXX_V_B: {
34185 switch (OpNum) {
34186 case 5:
34187 // op: Rm
34188 return 16;
34189 case 1:
34190 // op: Rv
34191 return 13;
34192 case 3:
34193 // op: Pg
34194 return 10;
34195 case 4:
34196 // op: Rn
34197 return 5;
34198 case 2:
34199 // op: imm
34200 return 0;
34201 }
34202 break;
34203 }
34204 case AArch64::FMLALL_MZZ_BtoS:
34205 case AArch64::FMLALL_VG2_M2ZZ_BtoS:
34206 case AArch64::FMLALL_VG4_M4ZZ_BtoS:
34207 case AArch64::SMLALL_MZZ_BtoS:
34208 case AArch64::SMLALL_MZZ_HtoD:
34209 case AArch64::SMLALL_VG2_M2ZZ_BtoS:
34210 case AArch64::SMLALL_VG2_M2ZZ_HtoD:
34211 case AArch64::SMLALL_VG4_M4ZZ_BtoS:
34212 case AArch64::SMLALL_VG4_M4ZZ_HtoD:
34213 case AArch64::SMLSLL_MZZ_BtoS:
34214 case AArch64::SMLSLL_MZZ_HtoD:
34215 case AArch64::SMLSLL_VG2_M2ZZ_BtoS:
34216 case AArch64::SMLSLL_VG2_M2ZZ_HtoD:
34217 case AArch64::SMLSLL_VG4_M4ZZ_BtoS:
34218 case AArch64::SMLSLL_VG4_M4ZZ_HtoD:
34219 case AArch64::SUMLALL_VG2_M2ZZ_BtoS:
34220 case AArch64::SUMLALL_VG4_M4ZZ_BtoS:
34221 case AArch64::UMLALL_MZZ_BtoS:
34222 case AArch64::UMLALL_MZZ_HtoD:
34223 case AArch64::UMLALL_VG2_M2ZZ_BtoS:
34224 case AArch64::UMLALL_VG2_M2ZZ_HtoD:
34225 case AArch64::UMLALL_VG4_M4ZZ_BtoS:
34226 case AArch64::UMLALL_VG4_M4ZZ_HtoD:
34227 case AArch64::UMLSLL_MZZ_BtoS:
34228 case AArch64::UMLSLL_MZZ_HtoD:
34229 case AArch64::UMLSLL_VG2_M2ZZ_BtoS:
34230 case AArch64::UMLSLL_VG2_M2ZZ_HtoD:
34231 case AArch64::UMLSLL_VG4_M4ZZ_BtoS:
34232 case AArch64::UMLSLL_VG4_M4ZZ_HtoD:
34233 case AArch64::USMLALL_MZZ_BtoS:
34234 case AArch64::USMLALL_VG2_M2ZZ_BtoS:
34235 case AArch64::USMLALL_VG4_M4ZZ_BtoS: {
34236 switch (OpNum) {
34237 case 5:
34238 // op: Zm
34239 return 16;
34240 case 2:
34241 // op: Rv
34242 return 13;
34243 case 4:
34244 // op: Zn
34245 return 5;
34246 case 3:
34247 // op: imm
34248 return 0;
34249 }
34250 break;
34251 }
34252 case AArch64::BFDOT_VG2_M2ZZI_HtoS:
34253 case AArch64::BFVDOT_VG2_M2ZZI_HtoS:
34254 case AArch64::FDOT_VG2_M2ZZI_BtoS:
34255 case AArch64::FDOT_VG2_M2ZZI_HtoS:
34256 case AArch64::FMLA_VG2_M2ZZI_S:
34257 case AArch64::FMLS_VG2_M2ZZI_S:
34258 case AArch64::FVDOT_VG2_M2ZZI_HtoS:
34259 case AArch64::SDOT_VG2_M2ZZI_BToS:
34260 case AArch64::SDOT_VG2_M2ZZI_HToS:
34261 case AArch64::SUDOT_VG2_M2ZZI_BToS:
34262 case AArch64::SVDOT_VG2_M2ZZI_HtoS:
34263 case AArch64::UDOT_VG2_M2ZZI_BToS:
34264 case AArch64::UDOT_VG2_M2ZZI_HToS:
34265 case AArch64::USDOT_VG2_M2ZZI_BToS:
34266 case AArch64::UVDOT_VG2_M2ZZI_HtoS: {
34267 switch (OpNum) {
34268 case 5:
34269 // op: Zm
34270 return 16;
34271 case 2:
34272 // op: Rv
34273 return 13;
34274 case 4:
34275 // op: Zn
34276 return 6;
34277 case 3:
34278 // op: imm3
34279 return 0;
34280 case 6:
34281 // op: i
34282 return 10;
34283 }
34284 break;
34285 }
34286 case AArch64::BFMLA_VG2_M2ZZI:
34287 case AArch64::BFMLS_VG2_M2ZZI:
34288 case AArch64::FDOT_VG2_M2ZZI_BtoH:
34289 case AArch64::FMLA_VG2_M2ZZI_H:
34290 case AArch64::FMLS_VG2_M2ZZI_H:
34291 case AArch64::FVDOTB_VG4_M2ZZI_BtoS:
34292 case AArch64::FVDOTT_VG4_M2ZZI_BtoS:
34293 case AArch64::FVDOT_VG2_M2ZZI_BtoH: {
34294 switch (OpNum) {
34295 case 5:
34296 // op: Zm
34297 return 16;
34298 case 2:
34299 // op: Rv
34300 return 13;
34301 case 4:
34302 // op: Zn
34303 return 6;
34304 case 3:
34305 // op: imm3
34306 return 0;
34307 case 6:
34308 // op: i
34309 return 3;
34310 }
34311 break;
34312 }
34313 case AArch64::BFDOT_VG4_M4ZZI_HtoS:
34314 case AArch64::FDOT_VG4_M4ZZI_BtoS:
34315 case AArch64::FDOT_VG4_M4ZZI_HtoS:
34316 case AArch64::FMLA_VG4_M4ZZI_S:
34317 case AArch64::FMLS_VG4_M4ZZI_S:
34318 case AArch64::SDOT_VG4_M4ZZI_BToS:
34319 case AArch64::SDOT_VG4_M4ZZI_HToS:
34320 case AArch64::SUDOT_VG4_M4ZZI_BToS:
34321 case AArch64::SUVDOT_VG4_M4ZZI_BToS:
34322 case AArch64::SVDOT_VG4_M4ZZI_BtoS:
34323 case AArch64::UDOT_VG4_M4ZZI_BtoS:
34324 case AArch64::UDOT_VG4_M4ZZI_HToS:
34325 case AArch64::USDOT_VG4_M4ZZI_BToS:
34326 case AArch64::USVDOT_VG4_M4ZZI_BToS:
34327 case AArch64::UVDOT_VG4_M4ZZI_BtoS: {
34328 switch (OpNum) {
34329 case 5:
34330 // op: Zm
34331 return 16;
34332 case 2:
34333 // op: Rv
34334 return 13;
34335 case 4:
34336 // op: Zn
34337 return 7;
34338 case 3:
34339 // op: imm3
34340 return 0;
34341 case 6:
34342 // op: i
34343 return 10;
34344 }
34345 break;
34346 }
34347 case AArch64::BFMLA_VG4_M4ZZI:
34348 case AArch64::BFMLS_VG4_M4ZZI:
34349 case AArch64::FDOT_VG4_M4ZZI_BtoH:
34350 case AArch64::FMLA_VG4_M4ZZI_H:
34351 case AArch64::FMLS_VG4_M4ZZI_H: {
34352 switch (OpNum) {
34353 case 5:
34354 // op: Zm
34355 return 16;
34356 case 2:
34357 // op: Rv
34358 return 13;
34359 case 4:
34360 // op: Zn
34361 return 7;
34362 case 3:
34363 // op: imm3
34364 return 0;
34365 case 6:
34366 // op: i
34367 return 3;
34368 }
34369 break;
34370 }
34371 case AArch64::FMLALL_MZZI_BtoS:
34372 case AArch64::SMLALL_MZZI_BtoS:
34373 case AArch64::SMLALL_MZZI_HtoD:
34374 case AArch64::SMLSLL_MZZI_BtoS:
34375 case AArch64::SMLSLL_MZZI_HtoD:
34376 case AArch64::SUMLALL_MZZI_BtoS:
34377 case AArch64::UMLALL_MZZI_BtoS:
34378 case AArch64::UMLALL_MZZI_HtoD:
34379 case AArch64::UMLSLL_MZZI_BtoS:
34380 case AArch64::UMLSLL_MZZI_HtoD:
34381 case AArch64::USMLALL_MZZI_BtoS: {
34382 switch (OpNum) {
34383 case 5:
34384 // op: Zm
34385 return 16;
34386 case 2:
34387 // op: Rv
34388 return 13;
34389 case 6:
34390 // op: i
34391 return 10;
34392 case 4:
34393 // op: Zn
34394 return 5;
34395 case 3:
34396 // op: imm2
34397 return 0;
34398 }
34399 break;
34400 }
34401 case AArch64::FMLALL_VG2_M2ZZI_BtoS:
34402 case AArch64::SMLALL_VG2_M2ZZI_BtoS:
34403 case AArch64::SMLALL_VG2_M2ZZI_HtoD:
34404 case AArch64::SMLSLL_VG2_M2ZZI_BtoS:
34405 case AArch64::SMLSLL_VG2_M2ZZI_HtoD:
34406 case AArch64::SUMLALL_VG2_M2ZZI_BtoS:
34407 case AArch64::UMLALL_VG2_M2ZZI_BtoS:
34408 case AArch64::UMLALL_VG2_M2ZZI_HtoD:
34409 case AArch64::UMLSLL_VG2_M2ZZI_BtoS:
34410 case AArch64::UMLSLL_VG2_M2ZZI_HtoD:
34411 case AArch64::USMLALL_VG2_M2ZZI_BtoS: {
34412 switch (OpNum) {
34413 case 5:
34414 // op: Zm
34415 return 16;
34416 case 2:
34417 // op: Rv
34418 return 13;
34419 case 6:
34420 // op: i
34421 return 1;
34422 case 3:
34423 // op: imm
34424 return 0;
34425 case 4:
34426 // op: Zn
34427 return 6;
34428 }
34429 break;
34430 }
34431 case AArch64::FMLALL_VG4_M4ZZI_BtoS:
34432 case AArch64::SMLALL_VG4_M4ZZI_BtoS:
34433 case AArch64::SMLALL_VG4_M4ZZI_HtoD:
34434 case AArch64::SMLSLL_VG4_M4ZZI_BtoS:
34435 case AArch64::SMLSLL_VG4_M4ZZI_HtoD:
34436 case AArch64::SUMLALL_VG4_M4ZZI_BtoS:
34437 case AArch64::UMLALL_VG4_M4ZZI_BtoS:
34438 case AArch64::UMLALL_VG4_M4ZZI_HtoD:
34439 case AArch64::UMLSLL_VG4_M4ZZI_BtoS:
34440 case AArch64::UMLSLL_VG4_M4ZZI_HtoD:
34441 case AArch64::USMLALL_VG4_M4ZZI_BtoS: {
34442 switch (OpNum) {
34443 case 5:
34444 // op: Zm
34445 return 16;
34446 case 2:
34447 // op: Rv
34448 return 13;
34449 case 6:
34450 // op: i
34451 return 1;
34452 case 3:
34453 // op: imm
34454 return 0;
34455 case 4:
34456 // op: Zn
34457 return 7;
34458 }
34459 break;
34460 }
34461 case AArch64::FMLAL_VG2_M2ZZI_BtoH: {
34462 switch (OpNum) {
34463 case 5:
34464 // op: Zm
34465 return 16;
34466 case 2:
34467 // op: Rv
34468 return 13;
34469 case 6:
34470 // op: i
34471 return 2;
34472 case 3:
34473 // op: imm2
34474 return 0;
34475 case 4:
34476 // op: Zn
34477 return 6;
34478 }
34479 break;
34480 }
34481 case AArch64::FMLAL_VG4_M4ZZI_BtoH: {
34482 switch (OpNum) {
34483 case 5:
34484 // op: Zm
34485 return 16;
34486 case 2:
34487 // op: Rv
34488 return 13;
34489 case 6:
34490 // op: i
34491 return 2;
34492 case 3:
34493 // op: imm2
34494 return 0;
34495 case 4:
34496 // op: Zn
34497 return 7;
34498 }
34499 break;
34500 }
34501 case AArch64::FMLAL_MZZI_BtoH: {
34502 switch (OpNum) {
34503 case 5:
34504 // op: Zm
34505 return 16;
34506 case 2:
34507 // op: Rv
34508 return 13;
34509 case 6:
34510 // op: i
34511 return 3;
34512 case 4:
34513 // op: Zn
34514 return 5;
34515 case 3:
34516 // op: imm3
34517 return 0;
34518 }
34519 break;
34520 }
34521 case AArch64::FMLA_VG2_M2ZZI_D:
34522 case AArch64::FMLS_VG2_M2ZZI_D:
34523 case AArch64::SDOT_VG2_M2ZZI_HtoD:
34524 case AArch64::UDOT_VG2_M2ZZI_HtoD: {
34525 switch (OpNum) {
34526 case 5:
34527 // op: Zm
34528 return 16;
34529 case 2:
34530 // op: Rv
34531 return 13;
34532 case 6:
34533 // op: i1
34534 return 10;
34535 case 4:
34536 // op: Zn
34537 return 6;
34538 case 3:
34539 // op: imm3
34540 return 0;
34541 }
34542 break;
34543 }
34544 case AArch64::FMLA_VG4_M4ZZI_D:
34545 case AArch64::FMLS_VG4_M4ZZI_D:
34546 case AArch64::SDOT_VG4_M4ZZI_HtoD:
34547 case AArch64::SVDOT_VG4_M4ZZI_HtoD:
34548 case AArch64::UDOT_VG4_M4ZZI_HtoD:
34549 case AArch64::UVDOT_VG4_M4ZZI_HtoD: {
34550 switch (OpNum) {
34551 case 5:
34552 // op: Zm
34553 return 16;
34554 case 2:
34555 // op: Rv
34556 return 13;
34557 case 6:
34558 // op: i1
34559 return 10;
34560 case 4:
34561 // op: Zn
34562 return 7;
34563 case 3:
34564 // op: imm3
34565 return 0;
34566 }
34567 break;
34568 }
34569 case AArch64::BFMLAL_MZZI_HtoS:
34570 case AArch64::BFMLSL_MZZI_HtoS:
34571 case AArch64::FMLAL_MZZI_HtoS:
34572 case AArch64::FMLSL_MZZI_HtoS:
34573 case AArch64::SMLAL_MZZI_HtoS:
34574 case AArch64::SMLSL_MZZI_HtoS:
34575 case AArch64::UMLAL_MZZI_HtoS:
34576 case AArch64::UMLSL_MZZI_HtoS: {
34577 switch (OpNum) {
34578 case 5:
34579 // op: Zm
34580 return 16;
34581 case 2:
34582 // op: Rv
34583 return 13;
34584 case 6:
34585 // op: i3
34586 return 10;
34587 case 4:
34588 // op: Zn
34589 return 5;
34590 case 3:
34591 // op: imm
34592 return 0;
34593 }
34594 break;
34595 }
34596 case AArch64::BFMLAL_VG2_M2ZZI_HtoS:
34597 case AArch64::BFMLSL_VG2_M2ZZI_HtoS:
34598 case AArch64::FMLAL_VG2_M2ZZI_HtoS:
34599 case AArch64::FMLSL_VG2_M2ZZI_HtoS:
34600 case AArch64::SMLAL_VG2_M2ZZI_S:
34601 case AArch64::SMLSL_VG2_M2ZZI_S:
34602 case AArch64::UMLAL_VG2_M2ZZI_S:
34603 case AArch64::UMLSL_VG2_M2ZZI_S: {
34604 switch (OpNum) {
34605 case 5:
34606 // op: Zm
34607 return 16;
34608 case 2:
34609 // op: Rv
34610 return 13;
34611 case 6:
34612 // op: i3
34613 return 2;
34614 case 4:
34615 // op: Zn
34616 return 6;
34617 case 3:
34618 // op: imm
34619 return 0;
34620 }
34621 break;
34622 }
34623 case AArch64::BFMLAL_VG4_M4ZZI_HtoS:
34624 case AArch64::BFMLSL_VG4_M4ZZI_HtoS:
34625 case AArch64::FMLAL_VG4_M4ZZI_HtoS:
34626 case AArch64::FMLSL_VG4_M4ZZI_HtoS:
34627 case AArch64::SMLAL_VG4_M4ZZI_HtoS:
34628 case AArch64::SMLSL_VG4_M4ZZI_HtoS:
34629 case AArch64::UMLAL_VG4_M4ZZI_HtoS:
34630 case AArch64::UMLSL_VG4_M4ZZI_HtoS: {
34631 switch (OpNum) {
34632 case 5:
34633 // op: Zm
34634 return 16;
34635 case 2:
34636 // op: Rv
34637 return 13;
34638 case 6:
34639 // op: i3
34640 return 2;
34641 case 4:
34642 // op: Zn
34643 return 7;
34644 case 3:
34645 // op: imm
34646 return 0;
34647 }
34648 break;
34649 }
34650 case AArch64::BFMOPA_MPPZZ:
34651 case AArch64::BFMOPA_MPPZZ_H:
34652 case AArch64::BFMOPS_MPPZZ:
34653 case AArch64::BFMOPS_MPPZZ_H:
34654 case AArch64::BMOPA_MPPZZ_S:
34655 case AArch64::BMOPS_MPPZZ_S:
34656 case AArch64::FMOPAL_MPPZZ:
34657 case AArch64::FMOPA_MPPZZ_BtoH:
34658 case AArch64::FMOPA_MPPZZ_BtoS:
34659 case AArch64::FMOPA_MPPZZ_D:
34660 case AArch64::FMOPA_MPPZZ_H:
34661 case AArch64::FMOPA_MPPZZ_S:
34662 case AArch64::FMOPSL_MPPZZ:
34663 case AArch64::FMOPS_MPPZZ_D:
34664 case AArch64::FMOPS_MPPZZ_H:
34665 case AArch64::FMOPS_MPPZZ_S:
34666 case AArch64::SMOPA_MPPZZ_D:
34667 case AArch64::SMOPA_MPPZZ_HtoS:
34668 case AArch64::SMOPA_MPPZZ_S:
34669 case AArch64::SMOPS_MPPZZ_D:
34670 case AArch64::SMOPS_MPPZZ_HtoS:
34671 case AArch64::SMOPS_MPPZZ_S:
34672 case AArch64::SUMOPA_MPPZZ_D:
34673 case AArch64::SUMOPA_MPPZZ_S:
34674 case AArch64::SUMOPS_MPPZZ_D:
34675 case AArch64::SUMOPS_MPPZZ_S:
34676 case AArch64::UMOPA_MPPZZ_D:
34677 case AArch64::UMOPA_MPPZZ_HtoS:
34678 case AArch64::UMOPA_MPPZZ_S:
34679 case AArch64::UMOPS_MPPZZ_D:
34680 case AArch64::UMOPS_MPPZZ_HtoS:
34681 case AArch64::UMOPS_MPPZZ_S:
34682 case AArch64::USMOPA_MPPZZ_D:
34683 case AArch64::USMOPA_MPPZZ_S:
34684 case AArch64::USMOPS_MPPZZ_D:
34685 case AArch64::USMOPS_MPPZZ_S: {
34686 switch (OpNum) {
34687 case 5:
34688 // op: Zm
34689 return 16;
34690 case 3:
34691 // op: Pm
34692 return 13;
34693 case 2:
34694 // op: Pn
34695 return 10;
34696 case 4:
34697 // op: Zn
34698 return 5;
34699 case 0:
34700 // op: ZAda
34701 return 0;
34702 }
34703 break;
34704 }
34705 case AArch64::ADD_VG2_M2ZZ_D:
34706 case AArch64::ADD_VG2_M2ZZ_S:
34707 case AArch64::ADD_VG4_M4ZZ_D:
34708 case AArch64::ADD_VG4_M4ZZ_S:
34709 case AArch64::BFDOT_VG2_M2ZZ_HtoS:
34710 case AArch64::BFDOT_VG4_M4ZZ_HtoS:
34711 case AArch64::BFMLA_VG2_M2ZZ:
34712 case AArch64::BFMLA_VG4_M4ZZ:
34713 case AArch64::BFMLS_VG2_M2ZZ:
34714 case AArch64::BFMLS_VG4_M4ZZ:
34715 case AArch64::FDOT_VG2_M2ZZ_BtoH:
34716 case AArch64::FDOT_VG2_M2ZZ_BtoS:
34717 case AArch64::FDOT_VG2_M2ZZ_HtoS:
34718 case AArch64::FDOT_VG4_M4ZZ_BtoH:
34719 case AArch64::FDOT_VG4_M4ZZ_BtoS:
34720 case AArch64::FDOT_VG4_M4ZZ_HtoS:
34721 case AArch64::FMLA_VG2_M2ZZ_D:
34722 case AArch64::FMLA_VG2_M2ZZ_H:
34723 case AArch64::FMLA_VG2_M2ZZ_S:
34724 case AArch64::FMLA_VG4_M4ZZ_D:
34725 case AArch64::FMLA_VG4_M4ZZ_H:
34726 case AArch64::FMLA_VG4_M4ZZ_S:
34727 case AArch64::FMLS_VG2_M2ZZ_D:
34728 case AArch64::FMLS_VG2_M2ZZ_H:
34729 case AArch64::FMLS_VG2_M2ZZ_S:
34730 case AArch64::FMLS_VG4_M4ZZ_D:
34731 case AArch64::FMLS_VG4_M4ZZ_H:
34732 case AArch64::FMLS_VG4_M4ZZ_S:
34733 case AArch64::SDOT_VG2_M2ZZ_BtoS:
34734 case AArch64::SDOT_VG2_M2ZZ_HtoD:
34735 case AArch64::SDOT_VG2_M2ZZ_HtoS:
34736 case AArch64::SDOT_VG4_M4ZZ_BtoS:
34737 case AArch64::SDOT_VG4_M4ZZ_HtoD:
34738 case AArch64::SDOT_VG4_M4ZZ_HtoS:
34739 case AArch64::SUB_VG2_M2ZZ_D:
34740 case AArch64::SUB_VG2_M2ZZ_S:
34741 case AArch64::SUB_VG4_M4ZZ_D:
34742 case AArch64::SUB_VG4_M4ZZ_S:
34743 case AArch64::SUDOT_VG2_M2ZZ_BToS:
34744 case AArch64::SUDOT_VG4_M4ZZ_BToS:
34745 case AArch64::UDOT_VG2_M2ZZ_BtoS:
34746 case AArch64::UDOT_VG2_M2ZZ_HtoD:
34747 case AArch64::UDOT_VG2_M2ZZ_HtoS:
34748 case AArch64::UDOT_VG4_M4ZZ_BtoS:
34749 case AArch64::UDOT_VG4_M4ZZ_HtoD:
34750 case AArch64::UDOT_VG4_M4ZZ_HtoS:
34751 case AArch64::USDOT_VG2_M2ZZ_BToS:
34752 case AArch64::USDOT_VG4_M4ZZ_BToS: {
34753 switch (OpNum) {
34754 case 5:
34755 // op: Zm
34756 return 16;
34757 case 4:
34758 // op: Zn
34759 return 5;
34760 case 2:
34761 // op: Rv
34762 return 13;
34763 case 3:
34764 // op: imm3
34765 return 0;
34766 }
34767 break;
34768 }
34769 case AArch64::FMLALL_VG2_M2Z2Z_BtoS:
34770 case AArch64::SMLALL_VG2_M2Z2Z_BtoS:
34771 case AArch64::SMLALL_VG2_M2Z2Z_HtoD:
34772 case AArch64::SMLSLL_VG2_M2Z2Z_BtoS:
34773 case AArch64::SMLSLL_VG2_M2Z2Z_HtoD:
34774 case AArch64::UMLALL_VG2_M2Z2Z_BtoS:
34775 case AArch64::UMLALL_VG2_M2Z2Z_HtoD:
34776 case AArch64::UMLSLL_VG2_M2Z2Z_BtoS:
34777 case AArch64::UMLSLL_VG2_M2Z2Z_HtoD:
34778 case AArch64::USMLALL_VG2_M2Z2Z_BtoS: {
34779 switch (OpNum) {
34780 case 5:
34781 // op: Zm
34782 return 17;
34783 case 2:
34784 // op: Rv
34785 return 13;
34786 case 4:
34787 // op: Zn
34788 return 6;
34789 case 3:
34790 // op: imm
34791 return 0;
34792 }
34793 break;
34794 }
34795 case AArch64::ADD_VG2_M2Z2Z_D:
34796 case AArch64::ADD_VG2_M2Z2Z_S:
34797 case AArch64::BFDOT_VG2_M2Z2Z_HtoS:
34798 case AArch64::BFMLA_VG2_M2Z2Z:
34799 case AArch64::BFMLS_VG2_M2Z2Z:
34800 case AArch64::FDOT_VG2_M2Z2Z_BtoH:
34801 case AArch64::FDOT_VG2_M2Z2Z_BtoS:
34802 case AArch64::FDOT_VG2_M2Z2Z_HtoS:
34803 case AArch64::FMLA_VG2_M2Z2Z_D:
34804 case AArch64::FMLA_VG2_M2Z2Z_H:
34805 case AArch64::FMLA_VG2_M2Z2Z_S:
34806 case AArch64::FMLS_VG2_M2Z2Z_D:
34807 case AArch64::FMLS_VG2_M2Z2Z_H:
34808 case AArch64::FMLS_VG2_M2Z2Z_S:
34809 case AArch64::SDOT_VG2_M2Z2Z_BtoS:
34810 case AArch64::SDOT_VG2_M2Z2Z_HtoD:
34811 case AArch64::SDOT_VG2_M2Z2Z_HtoS:
34812 case AArch64::SUB_VG2_M2Z2Z_D:
34813 case AArch64::SUB_VG2_M2Z2Z_S:
34814 case AArch64::UDOT_VG2_M2Z2Z_BtoS:
34815 case AArch64::UDOT_VG2_M2Z2Z_HtoD:
34816 case AArch64::UDOT_VG2_M2Z2Z_HtoS:
34817 case AArch64::USDOT_VG2_M2Z2Z_BToS: {
34818 switch (OpNum) {
34819 case 5:
34820 // op: Zm
34821 return 17;
34822 case 4:
34823 // op: Zn
34824 return 6;
34825 case 2:
34826 // op: Rv
34827 return 13;
34828 case 3:
34829 // op: imm3
34830 return 0;
34831 }
34832 break;
34833 }
34834 case AArch64::FMLALL_VG4_M4Z4Z_BtoS:
34835 case AArch64::SMLALL_VG4_M4Z4Z_BtoS:
34836 case AArch64::SMLALL_VG4_M4Z4Z_HtoD:
34837 case AArch64::SMLSLL_VG4_M4Z4Z_BtoS:
34838 case AArch64::SMLSLL_VG4_M4Z4Z_HtoD:
34839 case AArch64::UMLALL_VG4_M4Z4Z_BtoS:
34840 case AArch64::UMLALL_VG4_M4Z4Z_HtoD:
34841 case AArch64::UMLSLL_VG4_M4Z4Z_BtoS:
34842 case AArch64::UMLSLL_VG4_M4Z4Z_HtoD:
34843 case AArch64::USMLALL_VG4_M4Z4Z_BtoS: {
34844 switch (OpNum) {
34845 case 5:
34846 // op: Zm
34847 return 18;
34848 case 2:
34849 // op: Rv
34850 return 13;
34851 case 4:
34852 // op: Zn
34853 return 7;
34854 case 3:
34855 // op: imm
34856 return 0;
34857 }
34858 break;
34859 }
34860 case AArch64::ADD_VG4_M4Z4Z_D:
34861 case AArch64::ADD_VG4_M4Z4Z_S:
34862 case AArch64::BFDOT_VG4_M4Z4Z_HtoS:
34863 case AArch64::BFMLA_VG4_M4Z4Z:
34864 case AArch64::BFMLS_VG4_M4Z4Z:
34865 case AArch64::FDOT_VG4_M4Z4Z_BtoH:
34866 case AArch64::FDOT_VG4_M4Z4Z_BtoS:
34867 case AArch64::FDOT_VG4_M4Z4Z_HtoS:
34868 case AArch64::FMLA_VG4_M4Z4Z_D:
34869 case AArch64::FMLA_VG4_M4Z4Z_H:
34870 case AArch64::FMLA_VG4_M4Z4Z_S:
34871 case AArch64::FMLS_VG4_M4Z4Z_D:
34872 case AArch64::FMLS_VG4_M4Z4Z_H:
34873 case AArch64::FMLS_VG4_M4Z4Z_S:
34874 case AArch64::SDOT_VG4_M4Z4Z_BtoS:
34875 case AArch64::SDOT_VG4_M4Z4Z_HtoD:
34876 case AArch64::SDOT_VG4_M4Z4Z_HtoS:
34877 case AArch64::SUB_VG4_M4Z4Z_D:
34878 case AArch64::SUB_VG4_M4Z4Z_S:
34879 case AArch64::UDOT_VG4_M4Z4Z_BtoS:
34880 case AArch64::UDOT_VG4_M4Z4Z_HtoD:
34881 case AArch64::UDOT_VG4_M4Z4Z_HtoS:
34882 case AArch64::USDOT_VG4_M4Z4Z_BToS: {
34883 switch (OpNum) {
34884 case 5:
34885 // op: Zm
34886 return 18;
34887 case 4:
34888 // op: Zn
34889 return 7;
34890 case 2:
34891 // op: Rv
34892 return 13;
34893 case 3:
34894 // op: imm3
34895 return 0;
34896 }
34897 break;
34898 }
34899 default:
34900 reportUnsupportedInst(MI);
34901 }
34902 reportUnsupportedOperand(MI, OpNum);
34903}
34904
34905#endif // GET_OPERAND_BIT_OFFSET
34906
34907