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(3574493184), // APAS
207 UINT64_C(67404032), // ASRD_ZPmI_B
208 UINT64_C(75792384), // ASRD_ZPmI_D
209 UINT64_C(67404288), // ASRD_ZPmI_H
210 UINT64_C(71598080), // ASRD_ZPmI_S
211 UINT64_C(68452352), // ASRR_ZPmZ_B
212 UINT64_C(81035264), // ASRR_ZPmZ_D
213 UINT64_C(72646656), // ASRR_ZPmZ_H
214 UINT64_C(76840960), // ASRR_ZPmZ_S
215 UINT64_C(448800768), // ASRVWr
216 UINT64_C(2596284416), // ASRVXr
217 UINT64_C(68714496), // ASR_WIDE_ZPmZ_B
218 UINT64_C(72908800), // ASR_WIDE_ZPmZ_H
219 UINT64_C(77103104), // ASR_WIDE_ZPmZ_S
220 UINT64_C(69238784), // ASR_WIDE_ZZZ_B
221 UINT64_C(73433088), // ASR_WIDE_ZZZ_H
222 UINT64_C(77627392), // ASR_WIDE_ZZZ_S
223 UINT64_C(67141888), // ASR_ZPmI_B
224 UINT64_C(75530240), // ASR_ZPmI_D
225 UINT64_C(67142144), // ASR_ZPmI_H
226 UINT64_C(71335936), // ASR_ZPmI_S
227 UINT64_C(68190208), // ASR_ZPmZ_B
228 UINT64_C(80773120), // ASR_ZPmZ_D
229 UINT64_C(72384512), // ASR_ZPmZ_H
230 UINT64_C(76578816), // ASR_ZPmZ_S
231 UINT64_C(69767168), // ASR_ZZI_B
232 UINT64_C(77631488), // ASR_ZZI_D
233 UINT64_C(70291456), // ASR_ZZI_H
234 UINT64_C(73437184), // ASR_ZZI_S
235 UINT64_C(3670087680), // AUTDA
236 UINT64_C(3670088704), // AUTDB
237 UINT64_C(3670096864), // AUTDZA
238 UINT64_C(3670097888), // AUTDZB
239 UINT64_C(3670085632), // AUTIA
240 UINT64_C(3573752223), // AUTIA1716
241 UINT64_C(3670129662), // AUTIA171615
242 UINT64_C(3573752767), // AUTIASP
243 UINT64_C(4085252127), // AUTIASPPCi
244 UINT64_C(3670118430), // AUTIASPPCr
245 UINT64_C(3573752735), // AUTIAZ
246 UINT64_C(3670086656), // AUTIB
247 UINT64_C(3573752287), // AUTIB1716
248 UINT64_C(3670130686), // AUTIB171615
249 UINT64_C(3573752831), // AUTIBSP
250 UINT64_C(4087349279), // AUTIBSPPCi
251 UINT64_C(3670119454), // AUTIBSPPCr
252 UINT64_C(3573752799), // AUTIBZ
253 UINT64_C(3670094816), // AUTIZA
254 UINT64_C(3670095840), // AUTIZB
255 UINT64_C(3573563487), // AXFLAG
256 UINT64_C(335544320), // B
257 UINT64_C(3458203648), // BCAX
258 UINT64_C(73414656), // BCAX_ZZZZ
259 UINT64_C(1409286160), // BCcc
260 UINT64_C(1157673984), // BDEP_ZZZ_B
261 UINT64_C(1170256896), // BDEP_ZZZ_D
262 UINT64_C(1161868288), // BDEP_ZZZ_H
263 UINT64_C(1166062592), // BDEP_ZZZ_S
264 UINT64_C(1157672960), // BEXT_ZZZ_B
265 UINT64_C(1170255872), // BEXT_ZZZ_D
266 UINT64_C(1161867264), // BEXT_ZZZ_H
267 UINT64_C(1166061568), // BEXT_ZZZ_S
268 UINT64_C(255913984), // BF16DOTlanev4bf16
269 UINT64_C(1329655808), // BF16DOTlanev8bf16
270 UINT64_C(782333952), // BF1CVTL
271 UINT64_C(1856075776), // BF1CVTL2
272 UINT64_C(1695102976), // BF1CVTLT_ZZ_BtoH
273 UINT64_C(3244744705), // BF1CVTL_2ZZ_BtoH
274 UINT64_C(3244744704), // BF1CVT_2ZZ_BtoH
275 UINT64_C(1695037440), // BF1CVT_ZZ_BtoH
276 UINT64_C(786528256), // BF2CVTL
277 UINT64_C(1860270080), // BF2CVTL2
278 UINT64_C(1695104000), // BF2CVTLT_ZZ_BtoH
279 UINT64_C(3253133313), // BF2CVTL_2ZZ_BtoH
280 UINT64_C(3253133312), // BF2CVT_2ZZ_BtoH
281 UINT64_C(1695038464), // BF2CVT_ZZ_BtoH
282 UINT64_C(3252952064), // BFADD_VG2_M2Z_H
283 UINT64_C(3253017600), // BFADD_VG4_M4Z_H
284 UINT64_C(1694531584), // BFADD_ZPmZZ
285 UINT64_C(1694498816), // BFADD_ZZZ
286 UINT64_C(3240148992), // BFCLAMP_VG2_2ZZZ_H
287 UINT64_C(3240151040), // BFCLAMP_VG4_4ZZZ_H
288 UINT64_C(1679827968), // BFCLAMP_ZZZ
289 UINT64_C(509820928), // BFCVT
290 UINT64_C(245458944), // BFCVTN
291 UINT64_C(1319200768), // BFCVTN2
292 UINT64_C(1686806528), // BFCVTNT_ZPmZ
293 UINT64_C(1686282240), // BFCVTNT_ZPzZ_StoH
294 UINT64_C(1695168512), // BFCVTN_Z2Z_HtoB
295 UINT64_C(3244351520), // BFCVTN_Z2Z_StoH
296 UINT64_C(3244613632), // BFCVT_Z2Z_HtoB
297 UINT64_C(3244351488), // BFCVT_Z2Z_StoH
298 UINT64_C(1703583744), // BFCVT_ZPmZ
299 UINT64_C(1687863296), // BFCVT_ZPzZ_StoH
300 UINT64_C(3248492560), // BFDOT_VG2_M2Z2Z_HtoS
301 UINT64_C(3243249688), // BFDOT_VG2_M2ZZI_HtoS
302 UINT64_C(3240103952), // BFDOT_VG2_M2ZZ_HtoS
303 UINT64_C(3248558096), // BFDOT_VG4_M4Z4Z_HtoS
304 UINT64_C(3243282456), // BFDOT_VG4_M4ZZI_HtoS
305 UINT64_C(3241152528), // BFDOT_VG4_M4ZZ_HtoS
306 UINT64_C(1684029440), // BFDOT_ZZI
307 UINT64_C(1684045824), // BFDOT_ZZZ
308 UINT64_C(776010752), // BFDOTv4bf16
309 UINT64_C(1849752576), // BFDOTv8bf16
310 UINT64_C(3240145184), // BFMAXNM_VG2_2Z2Z_H
311 UINT64_C(3240141088), // BFMAXNM_VG2_2ZZ_H
312 UINT64_C(3240147232), // BFMAXNM_VG4_4Z2Z_H
313 UINT64_C(3240143136), // BFMAXNM_VG4_4ZZ_H
314 UINT64_C(1694793728), // BFMAXNM_ZPmZZ
315 UINT64_C(3240145152), // BFMAX_VG2_2Z2Z_H
316 UINT64_C(3240141056), // BFMAX_VG2_2ZZ_H
317 UINT64_C(3240147200), // BFMAX_VG4_4Z2Z_H
318 UINT64_C(3240143104), // BFMAX_VG4_4ZZ_H
319 UINT64_C(1694924800), // BFMAX_ZPmZZ
320 UINT64_C(3240145185), // BFMINNM_VG2_2Z2Z_H
321 UINT64_C(3240141089), // BFMINNM_VG2_2ZZ_H
322 UINT64_C(3240147233), // BFMINNM_VG4_4Z2Z_H
323 UINT64_C(3240143137), // BFMINNM_VG4_4ZZ_H
324 UINT64_C(1694859264), // BFMINNM_ZPmZZ
325 UINT64_C(3240145153), // BFMIN_VG2_2Z2Z_H
326 UINT64_C(3240141057), // BFMIN_VG2_2ZZ_H
327 UINT64_C(3240147201), // BFMIN_VG4_4Z2Z_H
328 UINT64_C(3240143105), // BFMIN_VG4_4ZZ_H
329 UINT64_C(1694990336), // BFMIN_ZPmZZ
330 UINT64_C(784399360), // BFMLALB
331 UINT64_C(264302592), // BFMLALBIdx
332 UINT64_C(1692434432), // BFMLALB_ZZZ
333 UINT64_C(1692418048), // BFMLALB_ZZZI
334 UINT64_C(1858141184), // BFMLALT
335 UINT64_C(1338044416), // BFMLALTIdx
336 UINT64_C(1692435456), // BFMLALT_ZZZ
337 UINT64_C(1692419072), // BFMLALT_ZZZI
338 UINT64_C(3246395408), // BFMLAL_MZZI_HtoS
339 UINT64_C(3240102928), // BFMLAL_MZZ_HtoS
340 UINT64_C(3248490512), // BFMLAL_VG2_M2Z2Z_HtoS
341 UINT64_C(3247443984), // BFMLAL_VG2_M2ZZI_HtoS
342 UINT64_C(3240101904), // BFMLAL_VG2_M2ZZ_HtoS
343 UINT64_C(3248556048), // BFMLAL_VG4_M4Z4Z_HtoS
344 UINT64_C(3247476752), // BFMLAL_VG4_M4ZZI_HtoS
345 UINT64_C(3241150480), // BFMLAL_VG4_M4ZZ_HtoS
346 UINT64_C(3252686856), // BFMLA_VG2_M2Z2Z
347 UINT64_C(3244301312), // BFMLA_VG2_M2ZZ
348 UINT64_C(3239055392), // BFMLA_VG2_M2ZZI
349 UINT64_C(3252752392), // BFMLA_VG4_M4Z4Z
350 UINT64_C(3245349888), // BFMLA_VG4_M4ZZ
351 UINT64_C(3239088160), // BFMLA_VG4_M4ZZI
352 UINT64_C(1696595968), // BFMLA_ZPmZZ
353 UINT64_C(1679820800), // BFMLA_ZZZI
354 UINT64_C(1692426240), // BFMLSLB_ZZZI_S
355 UINT64_C(1692442624), // BFMLSLB_ZZZ_S
356 UINT64_C(1692427264), // BFMLSLT_ZZZI_S
357 UINT64_C(1692443648), // BFMLSLT_ZZZ_S
358 UINT64_C(3246395416), // BFMLSL_MZZI_HtoS
359 UINT64_C(3240102936), // BFMLSL_MZZ_HtoS
360 UINT64_C(3248490520), // BFMLSL_VG2_M2Z2Z_HtoS
361 UINT64_C(3247443992), // BFMLSL_VG2_M2ZZI_HtoS
362 UINT64_C(3240101912), // BFMLSL_VG2_M2ZZ_HtoS
363 UINT64_C(3248556056), // BFMLSL_VG4_M4Z4Z_HtoS
364 UINT64_C(3247476760), // BFMLSL_VG4_M4ZZI_HtoS
365 UINT64_C(3241150488), // BFMLSL_VG4_M4ZZ_HtoS
366 UINT64_C(3252686872), // BFMLS_VG2_M2Z2Z
367 UINT64_C(3244301320), // BFMLS_VG2_M2ZZ
368 UINT64_C(3239055408), // BFMLS_VG2_M2ZZI
369 UINT64_C(3252752408), // BFMLS_VG4_M4Z4Z
370 UINT64_C(3245349896), // BFMLS_VG4_M4ZZ
371 UINT64_C(3239088176), // BFMLS_VG4_M4ZZI
372 UINT64_C(1696604160), // BFMLS_ZPmZZ
373 UINT64_C(1679821824), // BFMLS_ZZZI
374 UINT64_C(1849748480), // BFMMLA
375 UINT64_C(1692459008), // BFMMLA_ZZZ_H
376 UINT64_C(1684071424), // BFMMLA_ZZZ_HtoS
377 UINT64_C(2167407112), // BFMOP4A_M2Z2Z_H
378 UINT64_C(2165309952), // BFMOP4A_M2Z2Z_S
379 UINT64_C(2166358536), // BFMOP4A_M2ZZ_H
380 UINT64_C(2164261376), // BFMOP4A_M2ZZ_S
381 UINT64_C(2167406600), // BFMOP4A_MZ2Z_H
382 UINT64_C(2165309440), // BFMOP4A_MZ2Z_S
383 UINT64_C(2166358024), // BFMOP4A_MZZ_H
384 UINT64_C(2164260864), // BFMOP4A_MZZ_S
385 UINT64_C(2167407128), // BFMOP4S_M2Z2Z_H
386 UINT64_C(2165309968), // BFMOP4S_M2Z2Z_S
387 UINT64_C(2166358552), // BFMOP4S_M2ZZ_H
388 UINT64_C(2164261392), // BFMOP4S_M2ZZ_S
389 UINT64_C(2167406616), // BFMOP4S_MZ2Z_H
390 UINT64_C(2165309456), // BFMOP4S_MZ2Z_S
391 UINT64_C(2166358040), // BFMOP4S_MZZ_H
392 UINT64_C(2164260880), // BFMOP4S_MZZ_S
393 UINT64_C(2172649472), // BFMOPA_MPPZZ
394 UINT64_C(2174746632), // BFMOPA_MPPZZ_H
395 UINT64_C(2172649488), // BFMOPS_MPPZZ
396 UINT64_C(2174746648), // BFMOPS_MPPZZ_H
397 UINT64_C(3240158208), // BFMUL_2Z2Z
398 UINT64_C(3240159232), // BFMUL_2ZZ
399 UINT64_C(3240223744), // BFMUL_4Z4Z
400 UINT64_C(3240224768), // BFMUL_4ZZ
401 UINT64_C(1694662656), // BFMUL_ZPmZZ
402 UINT64_C(1694500864), // BFMUL_ZZZ
403 UINT64_C(1679828992), // BFMUL_ZZZI
404 UINT64_C(855638016), // BFMWri
405 UINT64_C(3007315968), // BFMXri
406 UINT64_C(3240145280), // BFSCALE_2Z2Z
407 UINT64_C(3240141184), // BFSCALE_2ZZ
408 UINT64_C(3240147328), // BFSCALE_4Z4Z
409 UINT64_C(3240143232), // BFSCALE_4ZZ
410 UINT64_C(1695121408), // BFSCALE_ZPZZ_H
411 UINT64_C(3252952072), // BFSUB_VG2_M2Z_H
412 UINT64_C(3253017608), // BFSUB_VG4_M4Z_H
413 UINT64_C(1694597120), // BFSUB_ZPmZZ
414 UINT64_C(1694499840), // BFSUB_ZZZ
415 UINT64_C(2170552328), // BFTMOPA_M2ZZZI_HtoH
416 UINT64_C(2168455168), // BFTMOPA_M2ZZZI_HtoS
417 UINT64_C(3243245592), // BFVDOT_VG2_M2ZZI_HtoS
418 UINT64_C(1157675008), // BGRP_ZZZ_B
419 UINT64_C(1170257920), // BGRP_ZZZ_D
420 UINT64_C(1161869312), // BGRP_ZZZ_H
421 UINT64_C(1166063616), // BGRP_ZZZ_S
422 UINT64_C(1780482048), // BICSWrs
423 UINT64_C(3927965696), // BICSXrs
424 UINT64_C(624967696), // BICS_PPzPP
425 UINT64_C(169869312), // BICWrs
426 UINT64_C(2317352960), // BICXrs
427 UINT64_C(620773392), // BIC_PPzPP
428 UINT64_C(68878336), // BIC_ZPmZ_B
429 UINT64_C(81461248), // BIC_ZPmZ_D
430 UINT64_C(73072640), // BIC_ZPmZ_H
431 UINT64_C(77266944), // BIC_ZPmZ_S
432 UINT64_C(81801216), // BIC_ZZZ
433 UINT64_C(1314921472), // BICv16i8
434 UINT64_C(788534272), // BICv2i32
435 UINT64_C(788567040), // BICv4i16
436 UINT64_C(1862276096), // BICv4i32
437 UINT64_C(1862308864), // BICv8i16
438 UINT64_C(241179648), // BICv8i8
439 UINT64_C(1860180992), // BIFv16i8
440 UINT64_C(786439168), // BIFv8i8
441 UINT64_C(1855986688), // BITv16i8
442 UINT64_C(782244864), // BITv8i8
443 UINT64_C(2483027968), // BL
444 UINT64_C(3594452992), // BLR
445 UINT64_C(3611232256), // BLRAA
446 UINT64_C(3594455071), // BLRAAZ
447 UINT64_C(3611233280), // BLRAB
448 UINT64_C(3594456095), // BLRABZ
449 UINT64_C(2155872264), // BMOPA_MPPZZ_S
450 UINT64_C(2155872280), // BMOPS_MPPZZ_S
451 UINT64_C(3592355840), // BR
452 UINT64_C(3609135104), // BRAA
453 UINT64_C(3592357919), // BRAAZ
454 UINT64_C(3609136128), // BRAB
455 UINT64_C(3592358943), // BRABZ
456 UINT64_C(3574166175), // BRB_IALL
457 UINT64_C(3574166207), // BRB_INJ
458 UINT64_C(3558866944), // BRK
459 UINT64_C(626016256), // BRKAS_PPzP
460 UINT64_C(621821968), // BRKA_PPmP
461 UINT64_C(621821952), // BRKA_PPzP
462 UINT64_C(634404864), // BRKBS_PPzP
463 UINT64_C(630210576), // BRKB_PPmP
464 UINT64_C(630210560), // BRKB_PPzP
465 UINT64_C(626540544), // BRKNS_PPzP
466 UINT64_C(622346240), // BRKN_PPzP
467 UINT64_C(625000448), // BRKPAS_PPzPP
468 UINT64_C(620806144), // BRKPA_PPzPP
469 UINT64_C(625000464), // BRKPBS_PPzPP
470 UINT64_C(620806160), // BRKPB_PPzPP
471 UINT64_C(73415680), // BSL1N_ZZZZ
472 UINT64_C(77609984), // BSL2N_ZZZZ
473 UINT64_C(69221376), // BSL_ZZZZ
474 UINT64_C(1851792384), // BSLv16i8
475 UINT64_C(778050560), // BSLv8i8
476 UINT64_C(1409286144), // Bcc
477 UINT64_C(1157683200), // CADD_ZZI_B
478 UINT64_C(1170266112), // CADD_ZZI_D
479 UINT64_C(1161877504), // CADD_ZZI_H
480 UINT64_C(1166071808), // CADD_ZZI_S
481 UINT64_C(148929536), // CASAB
482 UINT64_C(1222671360), // CASAH
483 UINT64_C(148962304), // CASALB
484 UINT64_C(1222704128), // CASALH
485 UINT64_C(3384867840), // CASALTX
486 UINT64_C(2296445952), // CASALW
487 UINT64_C(3370187776), // CASALX
488 UINT64_C(3384835072), // CASATX
489 UINT64_C(2296413184), // CASAW
490 UINT64_C(3370155008), // CASAX
491 UINT64_C(144735232), // CASB
492 UINT64_C(1218477056), // CASH
493 UINT64_C(144768000), // CASLB
494 UINT64_C(1218509824), // CASLH
495 UINT64_C(3380673536), // CASLTX
496 UINT64_C(2292251648), // CASLW
497 UINT64_C(3365993472), // CASLX
498 UINT64_C(1237384192), // CASPALTX
499 UINT64_C(140573696), // CASPALW
500 UINT64_C(1214315520), // CASPALX
501 UINT64_C(1237351424), // CASPATX
502 UINT64_C(140540928), // CASPAW
503 UINT64_C(1214282752), // CASPAX
504 UINT64_C(1233189888), // CASPLTX
505 UINT64_C(136379392), // CASPLW
506 UINT64_C(1210121216), // CASPLX
507 UINT64_C(1233157120), // CASPTX
508 UINT64_C(136346624), // CASPW
509 UINT64_C(1210088448), // CASPX
510 UINT64_C(3380640768), // CASTX
511 UINT64_C(2292218880), // CASW
512 UINT64_C(3365960704), // CASX
513 UINT64_C(1958772736), // CBBEQWrr
514 UINT64_C(1948286976), // CBBGEWrr
515 UINT64_C(1946189824), // CBBGTWrr
516 UINT64_C(1950384128), // CBBHIWrr
517 UINT64_C(1952481280), // CBBHSWrr
518 UINT64_C(1960869888), // CBBNEWrr
519 UINT64_C(1975517184), // CBEQWri
520 UINT64_C(1958739968), // CBEQWrr
521 UINT64_C(4123000832), // CBEQXri
522 UINT64_C(4106223616), // CBEQXrr
523 UINT64_C(1948254208), // CBGEWrr
524 UINT64_C(4095737856), // CBGEXrr
525 UINT64_C(1962934272), // CBGTWri
526 UINT64_C(1946157056), // CBGTWrr
527 UINT64_C(4110417920), // CBGTXri
528 UINT64_C(4093640704), // CBGTXrr
529 UINT64_C(1958789120), // CBHEQWrr
530 UINT64_C(1948303360), // CBHGEWrr
531 UINT64_C(1946206208), // CBHGTWrr
532 UINT64_C(1950400512), // CBHHIWrr
533 UINT64_C(1952497664), // CBHHSWrr
534 UINT64_C(1967128576), // CBHIWri
535 UINT64_C(1950351360), // CBHIWrr
536 UINT64_C(4114612224), // CBHIXri
537 UINT64_C(4097835008), // CBHIXrr
538 UINT64_C(1960886272), // CBHNEWrr
539 UINT64_C(1952448512), // CBHSWrr
540 UINT64_C(4099932160), // CBHSXrr
541 UINT64_C(1969225728), // CBLOWri
542 UINT64_C(4116709376), // CBLOXri
543 UINT64_C(1965031424), // CBLTWri
544 UINT64_C(4112515072), // CBLTXri
545 UINT64_C(1977614336), // CBNEWri
546 UINT64_C(1960837120), // CBNEWrr
547 UINT64_C(4125097984), // CBNEXri
548 UINT64_C(4108320768), // CBNEXrr
549 UINT64_C(889192448), // CBNZW
550 UINT64_C(3036676096), // CBNZX
551 UINT64_C(872415232), // CBZW
552 UINT64_C(3019898880), // CBZX
553 UINT64_C(977274880), // CCMNWi
554 UINT64_C(977272832), // CCMNWr
555 UINT64_C(3124758528), // CCMNXi
556 UINT64_C(3124756480), // CCMNXr
557 UINT64_C(2051016704), // CCMPWi
558 UINT64_C(2051014656), // CCMPWr
559 UINT64_C(4198500352), // CCMPXi
560 UINT64_C(4198498304), // CCMPXr
561 UINT64_C(1155547136), // CDOT_ZZZI_D
562 UINT64_C(1151352832), // CDOT_ZZZI_S
563 UINT64_C(1153437696), // CDOT_ZZZ_D
564 UINT64_C(1149243392), // CDOT_ZZZ_S
565 UINT64_C(3573563423), // CFINV
566 UINT64_C(3573753119), // CHKFEAT
567 UINT64_C(87072768), // CLASTA_RPZ_B
568 UINT64_C(99655680), // CLASTA_RPZ_D
569 UINT64_C(91267072), // CLASTA_RPZ_H
570 UINT64_C(95461376), // CLASTA_RPZ_S
571 UINT64_C(86671360), // CLASTA_VPZ_B
572 UINT64_C(99254272), // CLASTA_VPZ_D
573 UINT64_C(90865664), // CLASTA_VPZ_H
574 UINT64_C(95059968), // CLASTA_VPZ_S
575 UINT64_C(86540288), // CLASTA_ZPZ_B
576 UINT64_C(99123200), // CLASTA_ZPZ_D
577 UINT64_C(90734592), // CLASTA_ZPZ_H
578 UINT64_C(94928896), // CLASTA_ZPZ_S
579 UINT64_C(87138304), // CLASTB_RPZ_B
580 UINT64_C(99721216), // CLASTB_RPZ_D
581 UINT64_C(91332608), // CLASTB_RPZ_H
582 UINT64_C(95526912), // CLASTB_RPZ_S
583 UINT64_C(86736896), // CLASTB_VPZ_B
584 UINT64_C(99319808), // CLASTB_VPZ_D
585 UINT64_C(90931200), // CLASTB_VPZ_H
586 UINT64_C(95125504), // CLASTB_VPZ_S
587 UINT64_C(86605824), // CLASTB_ZPZ_B
588 UINT64_C(99188736), // CLASTB_ZPZ_D
589 UINT64_C(90800128), // CLASTB_ZPZ_H
590 UINT64_C(94994432), // CLASTB_ZPZ_S
591 UINT64_C(3573755999), // CLREX
592 UINT64_C(1522537472), // CLSWr
593 UINT64_C(3670021120), // CLSXr
594 UINT64_C(68722688), // CLS_ZPmZ_B
595 UINT64_C(81305600), // CLS_ZPmZ_D
596 UINT64_C(72916992), // CLS_ZPmZ_H
597 UINT64_C(77111296), // CLS_ZPmZ_S
598 UINT64_C(67674112), // CLS_ZPzZ_B
599 UINT64_C(80257024), // CLS_ZPzZ_D
600 UINT64_C(71868416), // CLS_ZPzZ_H
601 UINT64_C(76062720), // CLS_ZPzZ_S
602 UINT64_C(1310738432), // CLSv16i8
603 UINT64_C(245385216), // CLSv2i32
604 UINT64_C(241190912), // CLSv4i16
605 UINT64_C(1319127040), // CLSv4i32
606 UINT64_C(1314932736), // CLSv8i16
607 UINT64_C(236996608), // CLSv8i8
608 UINT64_C(1522536448), // CLZWr
609 UINT64_C(3670020096), // CLZXr
610 UINT64_C(68788224), // CLZ_ZPmZ_B
611 UINT64_C(81371136), // CLZ_ZPmZ_D
612 UINT64_C(72982528), // CLZ_ZPmZ_H
613 UINT64_C(77176832), // CLZ_ZPmZ_S
614 UINT64_C(67739648), // CLZ_ZPzZ_B
615 UINT64_C(80322560), // CLZ_ZPzZ_D
616 UINT64_C(71933952), // CLZ_ZPzZ_H
617 UINT64_C(76128256), // CLZ_ZPzZ_S
618 UINT64_C(1847609344), // CLZv16i8
619 UINT64_C(782256128), // CLZv2i32
620 UINT64_C(778061824), // CLZv4i16
621 UINT64_C(1855997952), // CLZv4i32
622 UINT64_C(1851803648), // CLZv8i16
623 UINT64_C(773867520), // CLZv8i8
624 UINT64_C(1847626752), // CMEQv16i8
625 UINT64_C(1310758912), // CMEQv16i8rz
626 UINT64_C(2128645120), // CMEQv1i64
627 UINT64_C(1591777280), // CMEQv1i64rz
628 UINT64_C(782273536), // CMEQv2i32
629 UINT64_C(245405696), // CMEQv2i32rz
630 UINT64_C(1860209664), // CMEQv2i64
631 UINT64_C(1323341824), // CMEQv2i64rz
632 UINT64_C(778079232), // CMEQv4i16
633 UINT64_C(241211392), // CMEQv4i16rz
634 UINT64_C(1856015360), // CMEQv4i32
635 UINT64_C(1319147520), // CMEQv4i32rz
636 UINT64_C(1851821056), // CMEQv8i16
637 UINT64_C(1314953216), // CMEQv8i16rz
638 UINT64_C(773884928), // CMEQv8i8
639 UINT64_C(237017088), // CMEQv8i8rz
640 UINT64_C(1310735360), // CMGEv16i8
641 UINT64_C(1847625728), // CMGEv16i8rz
642 UINT64_C(1591753728), // CMGEv1i64
643 UINT64_C(2128644096), // CMGEv1i64rz
644 UINT64_C(245382144), // CMGEv2i32
645 UINT64_C(782272512), // CMGEv2i32rz
646 UINT64_C(1323318272), // CMGEv2i64
647 UINT64_C(1860208640), // CMGEv2i64rz
648 UINT64_C(241187840), // CMGEv4i16
649 UINT64_C(778078208), // CMGEv4i16rz
650 UINT64_C(1319123968), // CMGEv4i32
651 UINT64_C(1856014336), // CMGEv4i32rz
652 UINT64_C(1314929664), // CMGEv8i16
653 UINT64_C(1851820032), // CMGEv8i16rz
654 UINT64_C(236993536), // CMGEv8i8
655 UINT64_C(773883904), // CMGEv8i8rz
656 UINT64_C(1310733312), // CMGTv16i8
657 UINT64_C(1310754816), // CMGTv16i8rz
658 UINT64_C(1591751680), // CMGTv1i64
659 UINT64_C(1591773184), // CMGTv1i64rz
660 UINT64_C(245380096), // CMGTv2i32
661 UINT64_C(245401600), // CMGTv2i32rz
662 UINT64_C(1323316224), // CMGTv2i64
663 UINT64_C(1323337728), // CMGTv2i64rz
664 UINT64_C(241185792), // CMGTv4i16
665 UINT64_C(241207296), // CMGTv4i16rz
666 UINT64_C(1319121920), // CMGTv4i32
667 UINT64_C(1319143424), // CMGTv4i32rz
668 UINT64_C(1314927616), // CMGTv8i16
669 UINT64_C(1314949120), // CMGTv8i16rz
670 UINT64_C(236991488), // CMGTv8i8
671 UINT64_C(237012992), // CMGTv8i8rz
672 UINT64_C(1847604224), // CMHIv16i8
673 UINT64_C(2128622592), // CMHIv1i64
674 UINT64_C(782251008), // CMHIv2i32
675 UINT64_C(1860187136), // CMHIv2i64
676 UINT64_C(778056704), // CMHIv4i16
677 UINT64_C(1855992832), // CMHIv4i32
678 UINT64_C(1851798528), // CMHIv8i16
679 UINT64_C(773862400), // CMHIv8i8
680 UINT64_C(1847606272), // CMHSv16i8
681 UINT64_C(2128624640), // CMHSv1i64
682 UINT64_C(782253056), // CMHSv2i32
683 UINT64_C(1860189184), // CMHSv2i64
684 UINT64_C(778058752), // CMHSv4i16
685 UINT64_C(1855994880), // CMHSv4i32
686 UINT64_C(1851800576), // CMHSv8i16
687 UINT64_C(773864448), // CMHSv8i8
688 UINT64_C(1151361024), // CMLA_ZZZI_H
689 UINT64_C(1155555328), // CMLA_ZZZI_S
690 UINT64_C(1140858880), // CMLA_ZZZ_B
691 UINT64_C(1153441792), // CMLA_ZZZ_D
692 UINT64_C(1145053184), // CMLA_ZZZ_H
693 UINT64_C(1149247488), // CMLA_ZZZ_S
694 UINT64_C(1847629824), // CMLEv16i8rz
695 UINT64_C(2128648192), // CMLEv1i64rz
696 UINT64_C(782276608), // CMLEv2i32rz
697 UINT64_C(1860212736), // CMLEv2i64rz
698 UINT64_C(778082304), // CMLEv4i16rz
699 UINT64_C(1856018432), // CMLEv4i32rz
700 UINT64_C(1851824128), // CMLEv8i16rz
701 UINT64_C(773888000), // CMLEv8i8rz
702 UINT64_C(1310763008), // CMLTv16i8rz
703 UINT64_C(1591781376), // CMLTv1i64rz
704 UINT64_C(245409792), // CMLTv2i32rz
705 UINT64_C(1323345920), // CMLTv2i64rz
706 UINT64_C(241215488), // CMLTv4i16rz
707 UINT64_C(1319151616), // CMLTv4i32rz
708 UINT64_C(1314957312), // CMLTv8i16rz
709 UINT64_C(237021184), // CMLTv8i8rz
710 UINT64_C(620789760), // CMPEQ_PPzZI_B
711 UINT64_C(633372672), // CMPEQ_PPzZI_D
712 UINT64_C(624984064), // CMPEQ_PPzZI_H
713 UINT64_C(629178368), // CMPEQ_PPzZI_S
714 UINT64_C(604020736), // CMPEQ_PPzZZ_B
715 UINT64_C(616603648), // CMPEQ_PPzZZ_D
716 UINT64_C(608215040), // CMPEQ_PPzZZ_H
717 UINT64_C(612409344), // CMPEQ_PPzZZ_S
718 UINT64_C(603987968), // CMPEQ_WIDE_PPzZZ_B
719 UINT64_C(608182272), // CMPEQ_WIDE_PPzZZ_H
720 UINT64_C(612376576), // CMPEQ_WIDE_PPzZZ_S
721 UINT64_C(620756992), // CMPGE_PPzZI_B
722 UINT64_C(633339904), // CMPGE_PPzZI_D
723 UINT64_C(624951296), // CMPGE_PPzZI_H
724 UINT64_C(629145600), // CMPGE_PPzZI_S
725 UINT64_C(604012544), // CMPGE_PPzZZ_B
726 UINT64_C(616595456), // CMPGE_PPzZZ_D
727 UINT64_C(608206848), // CMPGE_PPzZZ_H
728 UINT64_C(612401152), // CMPGE_PPzZZ_S
729 UINT64_C(603996160), // CMPGE_WIDE_PPzZZ_B
730 UINT64_C(608190464), // CMPGE_WIDE_PPzZZ_H
731 UINT64_C(612384768), // CMPGE_WIDE_PPzZZ_S
732 UINT64_C(620757008), // CMPGT_PPzZI_B
733 UINT64_C(633339920), // CMPGT_PPzZI_D
734 UINT64_C(624951312), // CMPGT_PPzZI_H
735 UINT64_C(629145616), // CMPGT_PPzZI_S
736 UINT64_C(604012560), // CMPGT_PPzZZ_B
737 UINT64_C(616595472), // CMPGT_PPzZZ_D
738 UINT64_C(608206864), // CMPGT_PPzZZ_H
739 UINT64_C(612401168), // CMPGT_PPzZZ_S
740 UINT64_C(603996176), // CMPGT_WIDE_PPzZZ_B
741 UINT64_C(608190480), // CMPGT_WIDE_PPzZZ_H
742 UINT64_C(612384784), // CMPGT_WIDE_PPzZZ_S
743 UINT64_C(606076944), // CMPHI_PPzZI_B
744 UINT64_C(618659856), // CMPHI_PPzZI_D
745 UINT64_C(610271248), // CMPHI_PPzZI_H
746 UINT64_C(614465552), // CMPHI_PPzZI_S
747 UINT64_C(603979792), // CMPHI_PPzZZ_B
748 UINT64_C(616562704), // CMPHI_PPzZZ_D
749 UINT64_C(608174096), // CMPHI_PPzZZ_H
750 UINT64_C(612368400), // CMPHI_PPzZZ_S
751 UINT64_C(604028944), // CMPHI_WIDE_PPzZZ_B
752 UINT64_C(608223248), // CMPHI_WIDE_PPzZZ_H
753 UINT64_C(612417552), // CMPHI_WIDE_PPzZZ_S
754 UINT64_C(606076928), // CMPHS_PPzZI_B
755 UINT64_C(618659840), // CMPHS_PPzZI_D
756 UINT64_C(610271232), // CMPHS_PPzZI_H
757 UINT64_C(614465536), // CMPHS_PPzZI_S
758 UINT64_C(603979776), // CMPHS_PPzZZ_B
759 UINT64_C(616562688), // CMPHS_PPzZZ_D
760 UINT64_C(608174080), // CMPHS_PPzZZ_H
761 UINT64_C(612368384), // CMPHS_PPzZZ_S
762 UINT64_C(604028928), // CMPHS_WIDE_PPzZZ_B
763 UINT64_C(608223232), // CMPHS_WIDE_PPzZZ_H
764 UINT64_C(612417536), // CMPHS_WIDE_PPzZZ_S
765 UINT64_C(620765200), // CMPLE_PPzZI_B
766 UINT64_C(633348112), // CMPLE_PPzZI_D
767 UINT64_C(624959504), // CMPLE_PPzZI_H
768 UINT64_C(629153808), // CMPLE_PPzZI_S
769 UINT64_C(604004368), // CMPLE_WIDE_PPzZZ_B
770 UINT64_C(608198672), // CMPLE_WIDE_PPzZZ_H
771 UINT64_C(612392976), // CMPLE_WIDE_PPzZZ_S
772 UINT64_C(606085120), // CMPLO_PPzZI_B
773 UINT64_C(618668032), // CMPLO_PPzZI_D
774 UINT64_C(610279424), // CMPLO_PPzZI_H
775 UINT64_C(614473728), // CMPLO_PPzZI_S
776 UINT64_C(604037120), // CMPLO_WIDE_PPzZZ_B
777 UINT64_C(608231424), // CMPLO_WIDE_PPzZZ_H
778 UINT64_C(612425728), // CMPLO_WIDE_PPzZZ_S
779 UINT64_C(606085136), // CMPLS_PPzZI_B
780 UINT64_C(618668048), // CMPLS_PPzZI_D
781 UINT64_C(610279440), // CMPLS_PPzZI_H
782 UINT64_C(614473744), // CMPLS_PPzZI_S
783 UINT64_C(604037136), // CMPLS_WIDE_PPzZZ_B
784 UINT64_C(608231440), // CMPLS_WIDE_PPzZZ_H
785 UINT64_C(612425744), // CMPLS_WIDE_PPzZZ_S
786 UINT64_C(620765184), // CMPLT_PPzZI_B
787 UINT64_C(633348096), // CMPLT_PPzZI_D
788 UINT64_C(624959488), // CMPLT_PPzZI_H
789 UINT64_C(629153792), // CMPLT_PPzZI_S
790 UINT64_C(604004352), // CMPLT_WIDE_PPzZZ_B
791 UINT64_C(608198656), // CMPLT_WIDE_PPzZZ_H
792 UINT64_C(612392960), // CMPLT_WIDE_PPzZZ_S
793 UINT64_C(620789776), // CMPNE_PPzZI_B
794 UINT64_C(633372688), // CMPNE_PPzZI_D
795 UINT64_C(624984080), // CMPNE_PPzZI_H
796 UINT64_C(629178384), // CMPNE_PPzZI_S
797 UINT64_C(604020752), // CMPNE_PPzZZ_B
798 UINT64_C(616603664), // CMPNE_PPzZZ_D
799 UINT64_C(608215056), // CMPNE_PPzZZ_H
800 UINT64_C(612409360), // CMPNE_PPzZZ_S
801 UINT64_C(603987984), // CMPNE_WIDE_PPzZZ_B
802 UINT64_C(608182288), // CMPNE_WIDE_PPzZZ_H
803 UINT64_C(612376592), // CMPNE_WIDE_PPzZZ_S
804 UINT64_C(1310755840), // CMTSTv16i8
805 UINT64_C(1591774208), // CMTSTv1i64
806 UINT64_C(245402624), // CMTSTv2i32
807 UINT64_C(1323338752), // CMTSTv2i64
808 UINT64_C(241208320), // CMTSTv4i16
809 UINT64_C(1319144448), // CMTSTv4i32
810 UINT64_C(1314950144), // CMTSTv8i16
811 UINT64_C(237014016), // CMTSTv8i8
812 UINT64_C(68919296), // CNOT_ZPmZ_B
813 UINT64_C(81502208), // CNOT_ZPmZ_D
814 UINT64_C(73113600), // CNOT_ZPmZ_H
815 UINT64_C(77307904), // CNOT_ZPmZ_S
816 UINT64_C(67870720), // CNOT_ZPzZ_B
817 UINT64_C(80453632), // CNOT_ZPzZ_D
818 UINT64_C(72065024), // CNOT_ZPzZ_H
819 UINT64_C(76259328), // CNOT_ZPzZ_S
820 UINT64_C(69263360), // CNTB_XPiI
821 UINT64_C(81846272), // CNTD_XPiI
822 UINT64_C(73457664), // CNTH_XPiI
823 UINT64_C(622887424), // CNTP_XCI_B
824 UINT64_C(635470336), // CNTP_XCI_D
825 UINT64_C(627081728), // CNTP_XCI_H
826 UINT64_C(631276032), // CNTP_XCI_S
827 UINT64_C(622886912), // CNTP_XPP_B
828 UINT64_C(635469824), // CNTP_XPP_D
829 UINT64_C(627081216), // CNTP_XPP_H
830 UINT64_C(631275520), // CNTP_XPP_S
831 UINT64_C(77651968), // CNTW_XPiI
832 UINT64_C(1522539520), // CNTWr
833 UINT64_C(3670023168), // CNTXr
834 UINT64_C(68853760), // CNT_ZPmZ_B
835 UINT64_C(81436672), // CNT_ZPmZ_D
836 UINT64_C(73048064), // CNT_ZPmZ_H
837 UINT64_C(77242368), // CNT_ZPmZ_S
838 UINT64_C(67805184), // CNT_ZPzZ_B
839 UINT64_C(80388096), // CNT_ZPzZ_D
840 UINT64_C(71999488), // CNT_ZPzZ_H
841 UINT64_C(76193792), // CNT_ZPzZ_S
842 UINT64_C(1310742528), // CNTv16i8
843 UINT64_C(237000704), // CNTv8i8
844 UINT64_C(86081536), // COMPACT_ZPZ_B
845 UINT64_C(98664448), // COMPACT_ZPZ_D
846 UINT64_C(90275840), // COMPACT_ZPZ_H
847 UINT64_C(94470144), // COMPACT_ZPZ_S
848 UINT64_C(494928896), // CPYE
849 UINT64_C(494978048), // CPYEN
850 UINT64_C(494961664), // CPYERN
851 UINT64_C(494937088), // CPYERT
852 UINT64_C(494986240), // CPYERTN
853 UINT64_C(494969856), // CPYERTRN
854 UINT64_C(494953472), // CPYERTWN
855 UINT64_C(494941184), // CPYET
856 UINT64_C(494990336), // CPYETN
857 UINT64_C(494973952), // CPYETRN
858 UINT64_C(494957568), // CPYETWN
859 UINT64_C(494945280), // CPYEWN
860 UINT64_C(494932992), // CPYEWT
861 UINT64_C(494982144), // CPYEWTN
862 UINT64_C(494965760), // CPYEWTRN
863 UINT64_C(494949376), // CPYEWTWN
864 UINT64_C(427820032), // CPYFE
865 UINT64_C(427869184), // CPYFEN
866 UINT64_C(427852800), // CPYFERN
867 UINT64_C(427828224), // CPYFERT
868 UINT64_C(427877376), // CPYFERTN
869 UINT64_C(427860992), // CPYFERTRN
870 UINT64_C(427844608), // CPYFERTWN
871 UINT64_C(427832320), // CPYFET
872 UINT64_C(427881472), // CPYFETN
873 UINT64_C(427865088), // CPYFETRN
874 UINT64_C(427848704), // CPYFETWN
875 UINT64_C(427836416), // CPYFEWN
876 UINT64_C(427824128), // CPYFEWT
877 UINT64_C(427873280), // CPYFEWTN
878 UINT64_C(427856896), // CPYFEWTRN
879 UINT64_C(427840512), // CPYFEWTWN
880 UINT64_C(423625728), // CPYFM
881 UINT64_C(423674880), // CPYFMN
882 UINT64_C(423658496), // CPYFMRN
883 UINT64_C(423633920), // CPYFMRT
884 UINT64_C(423683072), // CPYFMRTN
885 UINT64_C(423666688), // CPYFMRTRN
886 UINT64_C(423650304), // CPYFMRTWN
887 UINT64_C(423638016), // CPYFMT
888 UINT64_C(423687168), // CPYFMTN
889 UINT64_C(423670784), // CPYFMTRN
890 UINT64_C(423654400), // CPYFMTWN
891 UINT64_C(423642112), // CPYFMWN
892 UINT64_C(423629824), // CPYFMWT
893 UINT64_C(423678976), // CPYFMWTN
894 UINT64_C(423662592), // CPYFMWTRN
895 UINT64_C(423646208), // CPYFMWTWN
896 UINT64_C(419431424), // CPYFP
897 UINT64_C(419480576), // CPYFPN
898 UINT64_C(419464192), // CPYFPRN
899 UINT64_C(419439616), // CPYFPRT
900 UINT64_C(419488768), // CPYFPRTN
901 UINT64_C(419472384), // CPYFPRTRN
902 UINT64_C(419456000), // CPYFPRTWN
903 UINT64_C(419443712), // CPYFPT
904 UINT64_C(419492864), // CPYFPTN
905 UINT64_C(419476480), // CPYFPTRN
906 UINT64_C(419460096), // CPYFPTWN
907 UINT64_C(419447808), // CPYFPWN
908 UINT64_C(419435520), // CPYFPWT
909 UINT64_C(419484672), // CPYFPWTN
910 UINT64_C(419468288), // CPYFPWTRN
911 UINT64_C(419451904), // CPYFPWTWN
912 UINT64_C(490734592), // CPYM
913 UINT64_C(490783744), // CPYMN
914 UINT64_C(490767360), // CPYMRN
915 UINT64_C(490742784), // CPYMRT
916 UINT64_C(490791936), // CPYMRTN
917 UINT64_C(490775552), // CPYMRTRN
918 UINT64_C(490759168), // CPYMRTWN
919 UINT64_C(490746880), // CPYMT
920 UINT64_C(490796032), // CPYMTN
921 UINT64_C(490779648), // CPYMTRN
922 UINT64_C(490763264), // CPYMTWN
923 UINT64_C(490750976), // CPYMWN
924 UINT64_C(490738688), // CPYMWT
925 UINT64_C(490787840), // CPYMWTN
926 UINT64_C(490771456), // CPYMWTRN
927 UINT64_C(490755072), // CPYMWTWN
928 UINT64_C(486540288), // CPYP
929 UINT64_C(486589440), // CPYPN
930 UINT64_C(486573056), // CPYPRN
931 UINT64_C(486548480), // CPYPRT
932 UINT64_C(486597632), // CPYPRTN
933 UINT64_C(486581248), // CPYPRTRN
934 UINT64_C(486564864), // CPYPRTWN
935 UINT64_C(486552576), // CPYPT
936 UINT64_C(486601728), // CPYPTN
937 UINT64_C(486585344), // CPYPTRN
938 UINT64_C(486568960), // CPYPTWN
939 UINT64_C(486556672), // CPYPWN
940 UINT64_C(486544384), // CPYPWT
941 UINT64_C(486593536), // CPYPWTN
942 UINT64_C(486577152), // CPYPWTRN
943 UINT64_C(486560768), // CPYPWTWN
944 UINT64_C(84951040), // CPY_ZPmI_B
945 UINT64_C(97533952), // CPY_ZPmI_D
946 UINT64_C(89145344), // CPY_ZPmI_H
947 UINT64_C(93339648), // CPY_ZPmI_S
948 UINT64_C(86548480), // CPY_ZPmR_B
949 UINT64_C(99131392), // CPY_ZPmR_D
950 UINT64_C(90742784), // CPY_ZPmR_H
951 UINT64_C(94937088), // CPY_ZPmR_S
952 UINT64_C(86016000), // CPY_ZPmV_B
953 UINT64_C(98598912), // CPY_ZPmV_D
954 UINT64_C(90210304), // CPY_ZPmV_H
955 UINT64_C(94404608), // CPY_ZPmV_S
956 UINT64_C(84934656), // CPY_ZPzI_B
957 UINT64_C(97517568), // CPY_ZPzI_D
958 UINT64_C(89128960), // CPY_ZPzI_H
959 UINT64_C(93323264), // CPY_ZPzI_S
960 UINT64_C(448806912), // CRC32Brr
961 UINT64_C(448811008), // CRC32CBrr
962 UINT64_C(448812032), // CRC32CHrr
963 UINT64_C(448813056), // CRC32CWrr
964 UINT64_C(2596297728), // CRC32CXrr
965 UINT64_C(448807936), // CRC32Hrr
966 UINT64_C(448808960), // CRC32Wrr
967 UINT64_C(2596293632), // CRC32Xrr
968 UINT64_C(444596224), // CSELWr
969 UINT64_C(2592079872), // CSELXr
970 UINT64_C(444597248), // CSINCWr
971 UINT64_C(2592080896), // CSINCXr
972 UINT64_C(1518338048), // CSINVWr
973 UINT64_C(3665821696), // CSINVXr
974 UINT64_C(1518339072), // CSNEGWr
975 UINT64_C(3665822720), // CSNEGXr
976 UINT64_C(631250944), // CTERMEQ_WW
977 UINT64_C(635445248), // CTERMEQ_XX
978 UINT64_C(631250960), // CTERMNE_WW
979 UINT64_C(635445264), // CTERMNE_XX
980 UINT64_C(1522538496), // CTZWr
981 UINT64_C(3670022144), // CTZXr
982 UINT64_C(3567255553), // DCPS1
983 UINT64_C(3567255554), // DCPS2
984 UINT64_C(3567255555), // DCPS3
985 UINT64_C(70312960), // DECB_XPiI
986 UINT64_C(82895872), // DECD_XPiI
987 UINT64_C(82887680), // DECD_ZPiI
988 UINT64_C(74507264), // DECH_XPiI
989 UINT64_C(74499072), // DECH_ZPiI
990 UINT64_C(623740928), // DECP_XP_B
991 UINT64_C(636323840), // DECP_XP_D
992 UINT64_C(627935232), // DECP_XP_H
993 UINT64_C(632129536), // DECP_XP_S
994 UINT64_C(636321792), // DECP_ZP_D
995 UINT64_C(627933184), // DECP_ZP_H
996 UINT64_C(632127488), // DECP_ZP_S
997 UINT64_C(78701568), // DECW_XPiI
998 UINT64_C(78693376), // DECW_ZPiI
999 UINT64_C(3573756095), // DMB
1000 UINT64_C(3602842592), // DRPS
1001 UINT64_C(3573756063), // DSB
1002 UINT64_C(3573756479), // DSBnXS
1003 UINT64_C(96468992), // DUPM_ZI
1004 UINT64_C(86057984), // DUPQ_ZZI_B
1005 UINT64_C(86516736), // DUPQ_ZZI_D
1006 UINT64_C(86123520), // DUPQ_ZZI_H
1007 UINT64_C(86254592), // DUPQ_ZZI_S
1008 UINT64_C(624476160), // DUP_ZI_B
1009 UINT64_C(637059072), // DUP_ZI_D
1010 UINT64_C(628670464), // DUP_ZI_H
1011 UINT64_C(632864768), // DUP_ZI_S
1012 UINT64_C(85997568), // DUP_ZR_B
1013 UINT64_C(98580480), // DUP_ZR_D
1014 UINT64_C(90191872), // DUP_ZR_H
1015 UINT64_C(94386176), // DUP_ZR_S
1016 UINT64_C(86056960), // DUP_ZZI_B
1017 UINT64_C(86515712), // DUP_ZZI_D
1018 UINT64_C(86122496), // DUP_ZZI_H
1019 UINT64_C(87040000), // DUP_ZZI_Q
1020 UINT64_C(86253568), // DUP_ZZI_S
1021 UINT64_C(1577190400), // DUPi16
1022 UINT64_C(1577321472), // DUPi32
1023 UINT64_C(1577583616), // DUPi64
1024 UINT64_C(1577124864), // DUPi8
1025 UINT64_C(1308691456), // DUPv16i8gpr
1026 UINT64_C(1308689408), // DUPv16i8lane
1027 UINT64_C(235146240), // DUPv2i32gpr
1028 UINT64_C(235144192), // DUPv2i32lane
1029 UINT64_C(1309150208), // DUPv2i64gpr
1030 UINT64_C(1309148160), // DUPv2i64lane
1031 UINT64_C(235015168), // DUPv4i16gpr
1032 UINT64_C(235013120), // DUPv4i16lane
1033 UINT64_C(1308888064), // DUPv4i32gpr
1034 UINT64_C(1308886016), // DUPv4i32lane
1035 UINT64_C(1308756992), // DUPv8i16gpr
1036 UINT64_C(1308754944), // DUPv8i16lane
1037 UINT64_C(234949632), // DUPv8i8gpr
1038 UINT64_C(234947584), // DUPv8i8lane
1039 UINT64_C(1243611136), // EONWrs
1040 UINT64_C(3391094784), // EONXrs
1041 UINT64_C(3456106496), // EOR3
1042 UINT64_C(69220352), // EOR3_ZZZZ
1043 UINT64_C(1157664768), // EORBT_ZZZ_B
1044 UINT64_C(1170247680), // EORBT_ZZZ_D
1045 UINT64_C(1161859072), // EORBT_ZZZ_H
1046 UINT64_C(1166053376), // EORBT_ZZZ_S
1047 UINT64_C(69017600), // EORQV_VPZ_B
1048 UINT64_C(81600512), // EORQV_VPZ_D
1049 UINT64_C(73211904), // EORQV_VPZ_H
1050 UINT64_C(77406208), // EORQV_VPZ_S
1051 UINT64_C(624968192), // EORS_PPzPP
1052 UINT64_C(1157665792), // EORTB_ZZZ_B
1053 UINT64_C(1170248704), // EORTB_ZZZ_D
1054 UINT64_C(1161860096), // EORTB_ZZZ_H
1055 UINT64_C(1166054400), // EORTB_ZZZ_S
1056 UINT64_C(68755456), // EORV_VPZ_B
1057 UINT64_C(81338368), // EORV_VPZ_D
1058 UINT64_C(72949760), // EORV_VPZ_H
1059 UINT64_C(77144064), // EORV_VPZ_S
1060 UINT64_C(1375731712), // EORWri
1061 UINT64_C(1241513984), // EORWrs
1062 UINT64_C(3523215360), // EORXri
1063 UINT64_C(3388997632), // EORXrs
1064 UINT64_C(620773888), // EOR_PPzPP
1065 UINT64_C(88080384), // EOR_ZI
1066 UINT64_C(68747264), // EOR_ZPmZ_B
1067 UINT64_C(81330176), // EOR_ZPmZ_D
1068 UINT64_C(72941568), // EOR_ZPmZ_H
1069 UINT64_C(77135872), // EOR_ZPmZ_S
1070 UINT64_C(77606912), // EOR_ZZZ
1071 UINT64_C(1847598080), // EORv16i8
1072 UINT64_C(773856256), // EORv8i8
1073 UINT64_C(3600745440), // ERET
1074 UINT64_C(3600747519), // ERETAA
1075 UINT64_C(3600748543), // ERETAB
1076 UINT64_C(87130112), // EXPAND_ZPZ_B
1077 UINT64_C(99713024), // EXPAND_ZPZ_D
1078 UINT64_C(91324416), // EXPAND_ZPZ_H
1079 UINT64_C(95518720), // EXPAND_ZPZ_S
1080 UINT64_C(90186752), // EXTQ_ZZI
1081 UINT64_C(3221356544), // EXTRACT_ZPMXI_H_B
1082 UINT64_C(3233939456), // EXTRACT_ZPMXI_H_D
1083 UINT64_C(3225550848), // EXTRACT_ZPMXI_H_H
1084 UINT64_C(3234004992), // EXTRACT_ZPMXI_H_Q
1085 UINT64_C(3229745152), // EXTRACT_ZPMXI_H_S
1086 UINT64_C(3221389312), // EXTRACT_ZPMXI_V_B
1087 UINT64_C(3233972224), // EXTRACT_ZPMXI_V_D
1088 UINT64_C(3225583616), // EXTRACT_ZPMXI_V_H
1089 UINT64_C(3234037760), // EXTRACT_ZPMXI_V_Q
1090 UINT64_C(3229777920), // EXTRACT_ZPMXI_V_S
1091 UINT64_C(327155712), // EXTRWrri
1092 UINT64_C(2478833664), // EXTRXrri
1093 UINT64_C(85983232), // EXT_ZZI
1094 UINT64_C(90177536), // EXT_ZZI_B
1095 UINT64_C(1845493760), // EXTv16i8
1096 UINT64_C(771751936), // EXTv8i8
1097 UINT64_C(773945344), // F1CVTL
1098 UINT64_C(1847687168), // F1CVTL2
1099 UINT64_C(1695100928), // F1CVTLT_ZZ_BtoH
1100 UINT64_C(3240550401), // F1CVTL_2ZZ_BtoH
1101 UINT64_C(3240550400), // F1CVT_2ZZ_BtoH
1102 UINT64_C(1695035392), // F1CVT_ZZ_BtoH
1103 UINT64_C(778139648), // F2CVTL
1104 UINT64_C(1851881472), // F2CVTL2
1105 UINT64_C(1695101952), // F2CVTLT_ZZ_BtoH
1106 UINT64_C(3248939009), // F2CVTL_2ZZ_BtoH
1107 UINT64_C(3248939008), // F2CVT_2ZZ_BtoH
1108 UINT64_C(1695036416), // F2CVT_ZZ_BtoH
1109 UINT64_C(2126517248), // FABD16
1110 UINT64_C(2124469248), // FABD32
1111 UINT64_C(2128663552), // FABD64
1112 UINT64_C(1707638784), // FABD_ZPmZ_D
1113 UINT64_C(1699250176), // FABD_ZPmZ_H
1114 UINT64_C(1703444480), // FABD_ZPmZ_S
1115 UINT64_C(782291968), // FABDv2f32
1116 UINT64_C(1860228096), // FABDv2f64
1117 UINT64_C(784339968), // FABDv4f16
1118 UINT64_C(1856033792), // FABDv4f32
1119 UINT64_C(1858081792), // FABDv8f16
1120 UINT64_C(509657088), // FABSDr
1121 UINT64_C(518045696), // FABSHr
1122 UINT64_C(505462784), // FABSSr
1123 UINT64_C(81567744), // FABS_ZPmZ_D
1124 UINT64_C(73179136), // FABS_ZPmZ_H
1125 UINT64_C(77373440), // FABS_ZPmZ_S
1126 UINT64_C(80519168), // FABS_ZPzZ_D
1127 UINT64_C(72130560), // FABS_ZPzZ_H
1128 UINT64_C(76324864), // FABS_ZPzZ_S
1129 UINT64_C(245430272), // FABSv2f32
1130 UINT64_C(1323366400), // FABSv2f64
1131 UINT64_C(251197440), // FABSv4f16
1132 UINT64_C(1319172096), // FABSv4f32
1133 UINT64_C(1324939264), // FABSv8f16
1134 UINT64_C(2118134784), // FACGE16
1135 UINT64_C(2116086784), // FACGE32
1136 UINT64_C(2120281088), // FACGE64
1137 UINT64_C(1707130896), // FACGE_PPzZZ_D
1138 UINT64_C(1698742288), // FACGE_PPzZZ_H
1139 UINT64_C(1702936592), // FACGE_PPzZZ_S
1140 UINT64_C(773909504), // FACGEv2f32
1141 UINT64_C(1851845632), // FACGEv2f64
1142 UINT64_C(775957504), // FACGEv4f16
1143 UINT64_C(1847651328), // FACGEv4f32
1144 UINT64_C(1849699328), // FACGEv8f16
1145 UINT64_C(2126523392), // FACGT16
1146 UINT64_C(2124475392), // FACGT32
1147 UINT64_C(2128669696), // FACGT64
1148 UINT64_C(1707139088), // FACGT_PPzZZ_D
1149 UINT64_C(1698750480), // FACGT_PPzZZ_H
1150 UINT64_C(1702944784), // FACGT_PPzZZ_S
1151 UINT64_C(782298112), // FACGTv2f32
1152 UINT64_C(1860234240), // FACGTv2f64
1153 UINT64_C(784346112), // FACGTv4f16
1154 UINT64_C(1856039936), // FACGTv4f32
1155 UINT64_C(1858087936), // FACGTv8f16
1156 UINT64_C(1708662784), // FADDA_VPZ_D
1157 UINT64_C(1700274176), // FADDA_VPZ_H
1158 UINT64_C(1704468480), // FADDA_VPZ_S
1159 UINT64_C(509618176), // FADDDrr
1160 UINT64_C(518006784), // FADDHrr
1161 UINT64_C(1691385856), // FADDP_ZPmZZ_D
1162 UINT64_C(1682997248), // FADDP_ZPmZZ_H
1163 UINT64_C(1687191552), // FADDP_ZPmZZ_S
1164 UINT64_C(773903360), // FADDPv2f32
1165 UINT64_C(1851839488), // FADDPv2f64
1166 UINT64_C(1580259328), // FADDPv2i16p
1167 UINT64_C(2117130240), // FADDPv2i32p
1168 UINT64_C(2121324544), // FADDPv2i64p
1169 UINT64_C(775951360), // FADDPv4f16
1170 UINT64_C(1847645184), // FADDPv4f32
1171 UINT64_C(1849693184), // FADDPv8f16
1172 UINT64_C(1691394048), // FADDQV_D
1173 UINT64_C(1683005440), // FADDQV_H
1174 UINT64_C(1687199744), // FADDQV_S
1175 UINT64_C(505423872), // FADDSrr
1176 UINT64_C(1707089920), // FADDV_VPZ_D
1177 UINT64_C(1698701312), // FADDV_VPZ_H
1178 UINT64_C(1702895616), // FADDV_VPZ_S
1179 UINT64_C(3252689920), // FADD_VG2_M2Z_D
1180 UINT64_C(3248757760), // FADD_VG2_M2Z_H
1181 UINT64_C(3248495616), // FADD_VG2_M2Z_S
1182 UINT64_C(3252755456), // FADD_VG4_M4Z_D
1183 UINT64_C(3248823296), // FADD_VG4_M4Z_H
1184 UINT64_C(3248561152), // FADD_VG4_M4Z_S
1185 UINT64_C(1708687360), // FADD_ZPmI_D
1186 UINT64_C(1700298752), // FADD_ZPmI_H
1187 UINT64_C(1704493056), // FADD_ZPmI_S
1188 UINT64_C(1707114496), // FADD_ZPmZ_D
1189 UINT64_C(1698725888), // FADD_ZPmZ_H
1190 UINT64_C(1702920192), // FADD_ZPmZ_S
1191 UINT64_C(1707081728), // FADD_ZZZ_D
1192 UINT64_C(1698693120), // FADD_ZZZ_H
1193 UINT64_C(1702887424), // FADD_ZZZ_S
1194 UINT64_C(237032448), // FADDv2f32
1195 UINT64_C(1314968576), // FADDv2f64
1196 UINT64_C(239080448), // FADDv4f16
1197 UINT64_C(1310774272), // FADDv4f32
1198 UINT64_C(1312822272), // FADDv8f16
1199 UINT64_C(3252728128), // FAMAX_2Z2Z_D
1200 UINT64_C(3244339520), // FAMAX_2Z2Z_H
1201 UINT64_C(3248533824), // FAMAX_2Z2Z_S
1202 UINT64_C(3252730176), // FAMAX_4Z4Z_D
1203 UINT64_C(3244341568), // FAMAX_4Z4Z_H
1204 UINT64_C(3248535872), // FAMAX_4Z4Z_S
1205 UINT64_C(1708032000), // FAMAX_ZPmZ_D
1206 UINT64_C(1699643392), // FAMAX_ZPmZ_H
1207 UINT64_C(1703837696), // FAMAX_ZPmZ_S
1208 UINT64_C(245423104), // FAMAXv2f32
1209 UINT64_C(1323359232), // FAMAXv2f64
1210 UINT64_C(247471104), // FAMAXv4f16
1211 UINT64_C(1319164928), // FAMAXv4f32
1212 UINT64_C(1321212928), // FAMAXv8f16
1213 UINT64_C(3252728129), // FAMIN_2Z2Z_D
1214 UINT64_C(3244339521), // FAMIN_2Z2Z_H
1215 UINT64_C(3248533825), // FAMIN_2Z2Z_S
1216 UINT64_C(3252730177), // FAMIN_4Z4Z_D
1217 UINT64_C(3244341569), // FAMIN_4Z4Z_H
1218 UINT64_C(3248535873), // FAMIN_4Z4Z_S
1219 UINT64_C(1708097536), // FAMIN_ZPmZ_D
1220 UINT64_C(1699708928), // FAMIN_ZPmZ_H
1221 UINT64_C(1703903232), // FAMIN_ZPmZ_S
1222 UINT64_C(782294016), // FAMINv2f32
1223 UINT64_C(1860230144), // FAMINv2f64
1224 UINT64_C(784342016), // FAMINv4f16
1225 UINT64_C(1856035840), // FAMINv4f32
1226 UINT64_C(1858083840), // FAMINv8f16
1227 UINT64_C(1690337280), // FCADD_ZPmZ_D
1228 UINT64_C(1681948672), // FCADD_ZPmZ_H
1229 UINT64_C(1686142976), // FCADD_ZPmZ_S
1230 UINT64_C(780198912), // FCADDv2f32
1231 UINT64_C(1858135040), // FCADDv2f64
1232 UINT64_C(776004608), // FCADDv4f16
1233 UINT64_C(1853940736), // FCADDv4f32
1234 UINT64_C(1849746432), // FCADDv8f16
1235 UINT64_C(509608960), // FCCMPDrr
1236 UINT64_C(509608976), // FCCMPEDrr
1237 UINT64_C(517997584), // FCCMPEHrr
1238 UINT64_C(505414672), // FCCMPESrr
1239 UINT64_C(517997568), // FCCMPHrr
1240 UINT64_C(505414656), // FCCMPSrr
1241 UINT64_C(3252731904), // FCLAMP_VG2_2Z2Z_D
1242 UINT64_C(3244343296), // FCLAMP_VG2_2Z2Z_H
1243 UINT64_C(3248537600), // FCLAMP_VG2_2Z2Z_S
1244 UINT64_C(3252733952), // FCLAMP_VG4_4Z4Z_D
1245 UINT64_C(3244345344), // FCLAMP_VG4_4Z4Z_H
1246 UINT64_C(3248539648), // FCLAMP_VG4_4Z4Z_S
1247 UINT64_C(1692410880), // FCLAMP_ZZZ_D
1248 UINT64_C(1684022272), // FCLAMP_ZZZ_H
1249 UINT64_C(1688216576), // FCLAMP_ZZZ_S
1250 UINT64_C(1581261824), // FCMEQ16
1251 UINT64_C(1579213824), // FCMEQ32
1252 UINT64_C(1583408128), // FCMEQ64
1253 UINT64_C(1708269568), // FCMEQ_PPzZ0_D
1254 UINT64_C(1699880960), // FCMEQ_PPzZ0_H
1255 UINT64_C(1704075264), // FCMEQ_PPzZ0_S
1256 UINT64_C(1707106304), // FCMEQ_PPzZZ_D
1257 UINT64_C(1698717696), // FCMEQ_PPzZZ_H
1258 UINT64_C(1702912000), // FCMEQ_PPzZZ_S
1259 UINT64_C(1593366528), // FCMEQv1i16rz
1260 UINT64_C(1587599360), // FCMEQv1i32rz
1261 UINT64_C(1591793664), // FCMEQv1i64rz
1262 UINT64_C(237036544), // FCMEQv2f32
1263 UINT64_C(1314972672), // FCMEQv2f64
1264 UINT64_C(245422080), // FCMEQv2i32rz
1265 UINT64_C(1323358208), // FCMEQv2i64rz
1266 UINT64_C(239084544), // FCMEQv4f16
1267 UINT64_C(1310778368), // FCMEQv4f32
1268 UINT64_C(251189248), // FCMEQv4i16rz
1269 UINT64_C(1319163904), // FCMEQv4i32rz
1270 UINT64_C(1312826368), // FCMEQv8f16
1271 UINT64_C(1324931072), // FCMEQv8i16rz
1272 UINT64_C(2118132736), // FCMGE16
1273 UINT64_C(2116084736), // FCMGE32
1274 UINT64_C(2120279040), // FCMGE64
1275 UINT64_C(1708138496), // FCMGE_PPzZ0_D
1276 UINT64_C(1699749888), // FCMGE_PPzZ0_H
1277 UINT64_C(1703944192), // FCMGE_PPzZ0_S
1278 UINT64_C(1707098112), // FCMGE_PPzZZ_D
1279 UINT64_C(1698709504), // FCMGE_PPzZZ_H
1280 UINT64_C(1702903808), // FCMGE_PPzZZ_S
1281 UINT64_C(2130233344), // FCMGEv1i16rz
1282 UINT64_C(2124466176), // FCMGEv1i32rz
1283 UINT64_C(2128660480), // FCMGEv1i64rz
1284 UINT64_C(773907456), // FCMGEv2f32
1285 UINT64_C(1851843584), // FCMGEv2f64
1286 UINT64_C(782288896), // FCMGEv2i32rz
1287 UINT64_C(1860225024), // FCMGEv2i64rz
1288 UINT64_C(775955456), // FCMGEv4f16
1289 UINT64_C(1847649280), // FCMGEv4f32
1290 UINT64_C(788056064), // FCMGEv4i16rz
1291 UINT64_C(1856030720), // FCMGEv4i32rz
1292 UINT64_C(1849697280), // FCMGEv8f16
1293 UINT64_C(1861797888), // FCMGEv8i16rz
1294 UINT64_C(2126521344), // FCMGT16
1295 UINT64_C(2124473344), // FCMGT32
1296 UINT64_C(2128667648), // FCMGT64
1297 UINT64_C(1708138512), // FCMGT_PPzZ0_D
1298 UINT64_C(1699749904), // FCMGT_PPzZ0_H
1299 UINT64_C(1703944208), // FCMGT_PPzZ0_S
1300 UINT64_C(1707098128), // FCMGT_PPzZZ_D
1301 UINT64_C(1698709520), // FCMGT_PPzZZ_H
1302 UINT64_C(1702903824), // FCMGT_PPzZZ_S
1303 UINT64_C(1593362432), // FCMGTv1i16rz
1304 UINT64_C(1587595264), // FCMGTv1i32rz
1305 UINT64_C(1591789568), // FCMGTv1i64rz
1306 UINT64_C(782296064), // FCMGTv2f32
1307 UINT64_C(1860232192), // FCMGTv2f64
1308 UINT64_C(245417984), // FCMGTv2i32rz
1309 UINT64_C(1323354112), // FCMGTv2i64rz
1310 UINT64_C(784344064), // FCMGTv4f16
1311 UINT64_C(1856037888), // FCMGTv4f32
1312 UINT64_C(251185152), // FCMGTv4i16rz
1313 UINT64_C(1319159808), // FCMGTv4i32rz
1314 UINT64_C(1858085888), // FCMGTv8f16
1315 UINT64_C(1324926976), // FCMGTv8i16rz
1316 UINT64_C(1690304512), // FCMLA_ZPmZZ_D
1317 UINT64_C(1681915904), // FCMLA_ZPmZZ_H
1318 UINT64_C(1686110208), // FCMLA_ZPmZZ_S
1319 UINT64_C(1688211456), // FCMLA_ZZZI_H
1320 UINT64_C(1692405760), // FCMLA_ZZZI_S
1321 UINT64_C(780190720), // FCMLAv2f32
1322 UINT64_C(1858126848), // FCMLAv2f64
1323 UINT64_C(775996416), // FCMLAv4f16
1324 UINT64_C(792727552), // FCMLAv4f16_indexed
1325 UINT64_C(1853932544), // FCMLAv4f32
1326 UINT64_C(1870663680), // FCMLAv4f32_indexed
1327 UINT64_C(1849738240), // FCMLAv8f16
1328 UINT64_C(1866469376), // FCMLAv8f16_indexed
1329 UINT64_C(1708204048), // FCMLE_PPzZ0_D
1330 UINT64_C(1699815440), // FCMLE_PPzZ0_H
1331 UINT64_C(1704009744), // FCMLE_PPzZ0_S
1332 UINT64_C(2130237440), // FCMLEv1i16rz
1333 UINT64_C(2124470272), // FCMLEv1i32rz
1334 UINT64_C(2128664576), // FCMLEv1i64rz
1335 UINT64_C(782292992), // FCMLEv2i32rz
1336 UINT64_C(1860229120), // FCMLEv2i64rz
1337 UINT64_C(788060160), // FCMLEv4i16rz
1338 UINT64_C(1856034816), // FCMLEv4i32rz
1339 UINT64_C(1861801984), // FCMLEv8i16rz
1340 UINT64_C(1708204032), // FCMLT_PPzZ0_D
1341 UINT64_C(1699815424), // FCMLT_PPzZ0_H
1342 UINT64_C(1704009728), // FCMLT_PPzZ0_S
1343 UINT64_C(1593370624), // FCMLTv1i16rz
1344 UINT64_C(1587603456), // FCMLTv1i32rz
1345 UINT64_C(1591797760), // FCMLTv1i64rz
1346 UINT64_C(245426176), // FCMLTv2i32rz
1347 UINT64_C(1323362304), // FCMLTv2i64rz
1348 UINT64_C(251193344), // FCMLTv4i16rz
1349 UINT64_C(1319168000), // FCMLTv4i32rz
1350 UINT64_C(1324935168), // FCMLTv8i16rz
1351 UINT64_C(1708335104), // FCMNE_PPzZ0_D
1352 UINT64_C(1699946496), // FCMNE_PPzZ0_H
1353 UINT64_C(1704140800), // FCMNE_PPzZ0_S
1354 UINT64_C(1707106320), // FCMNE_PPzZZ_D
1355 UINT64_C(1698717712), // FCMNE_PPzZZ_H
1356 UINT64_C(1702912016), // FCMNE_PPzZZ_S
1357 UINT64_C(509616136), // FCMPDri
1358 UINT64_C(509616128), // FCMPDrr
1359 UINT64_C(509616152), // FCMPEDri
1360 UINT64_C(509616144), // FCMPEDrr
1361 UINT64_C(518004760), // FCMPEHri
1362 UINT64_C(518004752), // FCMPEHrr
1363 UINT64_C(505421848), // FCMPESri
1364 UINT64_C(505421840), // FCMPESrr
1365 UINT64_C(518004744), // FCMPHri
1366 UINT64_C(518004736), // FCMPHrr
1367 UINT64_C(505421832), // FCMPSri
1368 UINT64_C(505421824), // FCMPSrr
1369 UINT64_C(1707130880), // FCMUO_PPzZZ_D
1370 UINT64_C(1698742272), // FCMUO_PPzZZ_H
1371 UINT64_C(1702936576), // FCMUO_PPzZZ_S
1372 UINT64_C(97566720), // FCPY_ZPmI_D
1373 UINT64_C(89178112), // FCPY_ZPmI_H
1374 UINT64_C(93372416), // FCPY_ZPmI_S
1375 UINT64_C(509611008), // FCSELDrrr
1376 UINT64_C(517999616), // FCSELHrrr
1377 UINT64_C(505416704), // FCSELSrrr
1378 UINT64_C(2667184128), // FCVTASDHr
1379 UINT64_C(2654601216), // FCVTASDSr
1380 UINT64_C(511311872), // FCVTASSDr
1381 UINT64_C(519700480), // FCVTASSHr
1382 UINT64_C(509870080), // FCVTASUWDr
1383 UINT64_C(518258688), // FCVTASUWHr
1384 UINT64_C(505675776), // FCVTASUWSr
1385 UINT64_C(2657353728), // FCVTASUXDr
1386 UINT64_C(2665742336), // FCVTASUXHr
1387 UINT64_C(2653159424), // FCVTASUXSr
1388 UINT64_C(1585039360), // FCVTASv1f16
1389 UINT64_C(1579272192), // FCVTASv1i32
1390 UINT64_C(1583466496), // FCVTASv1i64
1391 UINT64_C(237094912), // FCVTASv2f32
1392 UINT64_C(1315031040), // FCVTASv2f64
1393 UINT64_C(242862080), // FCVTASv4f16
1394 UINT64_C(1310836736), // FCVTASv4f32
1395 UINT64_C(1316603904), // FCVTASv8f16
1396 UINT64_C(2667249664), // FCVTAUDHr
1397 UINT64_C(2654666752), // FCVTAUDSr
1398 UINT64_C(511377408), // FCVTAUSDr
1399 UINT64_C(519766016), // FCVTAUSHr
1400 UINT64_C(509935616), // FCVTAUUWDr
1401 UINT64_C(518324224), // FCVTAUUWHr
1402 UINT64_C(505741312), // FCVTAUUWSr
1403 UINT64_C(2657419264), // FCVTAUUXDr
1404 UINT64_C(2665807872), // FCVTAUUXHr
1405 UINT64_C(2653224960), // FCVTAUUXSr
1406 UINT64_C(2121910272), // FCVTAUv1f16
1407 UINT64_C(2116143104), // FCVTAUv1i32
1408 UINT64_C(2120337408), // FCVTAUv1i64
1409 UINT64_C(773965824), // FCVTAUv2f32
1410 UINT64_C(1851901952), // FCVTAUv2f64
1411 UINT64_C(779732992), // FCVTAUv4f16
1412 UINT64_C(1847707648), // FCVTAUv4f32
1413 UINT64_C(1853474816), // FCVTAUv8f16
1414 UINT64_C(518176768), // FCVTDHr
1415 UINT64_C(505593856), // FCVTDSr
1416 UINT64_C(509853696), // FCVTHDr
1417 UINT64_C(505659392), // FCVTHSr
1418 UINT64_C(1686740992), // FCVTLT_ZPmZ_HtoS
1419 UINT64_C(1691066368), // FCVTLT_ZPmZ_StoD
1420 UINT64_C(1686216704), // FCVTLT_ZPzZ_HtoS
1421 UINT64_C(1690542080), // FCVTLT_ZPzZ_StoD
1422 UINT64_C(3248545793), // FCVTL_2ZZ_H_S
1423 UINT64_C(241268736), // FCVTLv2i32
1424 UINT64_C(237074432), // FCVTLv4i16
1425 UINT64_C(1315010560), // FCVTLv4i32
1426 UINT64_C(1310816256), // FCVTLv8i16
1427 UINT64_C(2666790912), // FCVTMSDHr
1428 UINT64_C(2654208000), // FCVTMSDSr
1429 UINT64_C(510918656), // FCVTMSSDr
1430 UINT64_C(519307264), // FCVTMSSHr
1431 UINT64_C(510656512), // FCVTMSUWDr
1432 UINT64_C(519045120), // FCVTMSUWHr
1433 UINT64_C(506462208), // FCVTMSUWSr
1434 UINT64_C(2658140160), // FCVTMSUXDr
1435 UINT64_C(2666528768), // FCVTMSUXHr
1436 UINT64_C(2653945856), // FCVTMSUXSr
1437 UINT64_C(1585035264), // FCVTMSv1f16
1438 UINT64_C(1579268096), // FCVTMSv1i32
1439 UINT64_C(1583462400), // FCVTMSv1i64
1440 UINT64_C(237090816), // FCVTMSv2f32
1441 UINT64_C(1315026944), // FCVTMSv2f64
1442 UINT64_C(242857984), // FCVTMSv4f16
1443 UINT64_C(1310832640), // FCVTMSv4f32
1444 UINT64_C(1316599808), // FCVTMSv8f16
1445 UINT64_C(2666856448), // FCVTMUDHr
1446 UINT64_C(2654273536), // FCVTMUDSr
1447 UINT64_C(510984192), // FCVTMUSDr
1448 UINT64_C(519372800), // FCVTMUSHr
1449 UINT64_C(510722048), // FCVTMUUWDr
1450 UINT64_C(519110656), // FCVTMUUWHr
1451 UINT64_C(506527744), // FCVTMUUWSr
1452 UINT64_C(2658205696), // FCVTMUUXDr
1453 UINT64_C(2666594304), // FCVTMUUXHr
1454 UINT64_C(2654011392), // FCVTMUUXSr
1455 UINT64_C(2121906176), // FCVTMUv1f16
1456 UINT64_C(2116139008), // FCVTMUv1i32
1457 UINT64_C(2120333312), // FCVTMUv1i64
1458 UINT64_C(773961728), // FCVTMUv2f32
1459 UINT64_C(1851897856), // FCVTMUv2f64
1460 UINT64_C(779728896), // FCVTMUv4f16
1461 UINT64_C(1847703552), // FCVTMUv4f32
1462 UINT64_C(1853470720), // FCVTMUv8f16
1463 UINT64_C(1695167488), // FCVTNB_Z2Z_StoB
1464 UINT64_C(2666135552), // FCVTNSDHr
1465 UINT64_C(2653552640), // FCVTNSDSr
1466 UINT64_C(510263296), // FCVTNSSDr
1467 UINT64_C(518651904), // FCVTNSSHr
1468 UINT64_C(509607936), // FCVTNSUWDr
1469 UINT64_C(517996544), // FCVTNSUWHr
1470 UINT64_C(505413632), // FCVTNSUWSr
1471 UINT64_C(2657091584), // FCVTNSUXDr
1472 UINT64_C(2665480192), // FCVTNSUXHr
1473 UINT64_C(2652897280), // FCVTNSUXSr
1474 UINT64_C(1585031168), // FCVTNSv1f16
1475 UINT64_C(1579264000), // FCVTNSv1i32
1476 UINT64_C(1583458304), // FCVTNSv1i64
1477 UINT64_C(237086720), // FCVTNSv2f32
1478 UINT64_C(1315022848), // FCVTNSv2f64
1479 UINT64_C(242853888), // FCVTNSv4f16
1480 UINT64_C(1310828544), // FCVTNSv4f32
1481 UINT64_C(1316595712), // FCVTNSv8f16
1482 UINT64_C(1695169536), // FCVTNT_Z2Z_StoB
1483 UINT64_C(1691000832), // FCVTNT_ZPmZ_DtoS
1484 UINT64_C(1686675456), // FCVTNT_ZPmZ_StoH
1485 UINT64_C(1690476544), // FCVTNT_ZPzZ_DtoS
1486 UINT64_C(1686151168), // FCVTNT_ZPzZ_StoH
1487 UINT64_C(2666201088), // FCVTNUDHr
1488 UINT64_C(2653618176), // FCVTNUDSr
1489 UINT64_C(510328832), // FCVTNUSDr
1490 UINT64_C(518717440), // FCVTNUSHr
1491 UINT64_C(509673472), // FCVTNUUWDr
1492 UINT64_C(518062080), // FCVTNUUWHr
1493 UINT64_C(505479168), // FCVTNUUWSr
1494 UINT64_C(2657157120), // FCVTNUUXDr
1495 UINT64_C(2665545728), // FCVTNUUXHr
1496 UINT64_C(2652962816), // FCVTNUUXSr
1497 UINT64_C(2121902080), // FCVTNUv1f16
1498 UINT64_C(2116134912), // FCVTNUv1i32
1499 UINT64_C(2120329216), // FCVTNUv1i64
1500 UINT64_C(773957632), // FCVTNUv2f32
1501 UINT64_C(1851893760), // FCVTNUv2f64
1502 UINT64_C(779724800), // FCVTNUv4f16
1503 UINT64_C(1847699456), // FCVTNUv4f32
1504 UINT64_C(1853466624), // FCVTNUv8f16
1505 UINT64_C(1312879616), // FCVTN_F16v16f8
1506 UINT64_C(239137792), // FCVTN_F16v8f8
1507 UINT64_C(1308685312), // FCVTN_F322v16f8
1508 UINT64_C(234943488), // FCVTN_F32v8f8
1509 UINT64_C(1695166464), // FCVTN_Z2Z_HtoB
1510 UINT64_C(3240157216), // FCVTN_Z2Z_StoH
1511 UINT64_C(3241467936), // FCVTN_Z4Z_StoB
1512 UINT64_C(241264640), // FCVTNv2i32
1513 UINT64_C(237070336), // FCVTNv4i16
1514 UINT64_C(1315006464), // FCVTNv4i32
1515 UINT64_C(1310812160), // FCVTNv8i16
1516 UINT64_C(2666659840), // FCVTPSDHr
1517 UINT64_C(2654076928), // FCVTPSDSr
1518 UINT64_C(510787584), // FCVTPSSDr
1519 UINT64_C(519176192), // FCVTPSSHr
1520 UINT64_C(510132224), // FCVTPSUWDr
1521 UINT64_C(518520832), // FCVTPSUWHr
1522 UINT64_C(505937920), // FCVTPSUWSr
1523 UINT64_C(2657615872), // FCVTPSUXDr
1524 UINT64_C(2666004480), // FCVTPSUXHr
1525 UINT64_C(2653421568), // FCVTPSUXSr
1526 UINT64_C(1593419776), // FCVTPSv1f16
1527 UINT64_C(1587652608), // FCVTPSv1i32
1528 UINT64_C(1591846912), // FCVTPSv1i64
1529 UINT64_C(245475328), // FCVTPSv2f32
1530 UINT64_C(1323411456), // FCVTPSv2f64
1531 UINT64_C(251242496), // FCVTPSv4f16
1532 UINT64_C(1319217152), // FCVTPSv4f32
1533 UINT64_C(1324984320), // FCVTPSv8f16
1534 UINT64_C(2666725376), // FCVTPUDHr
1535 UINT64_C(2654142464), // FCVTPUDSr
1536 UINT64_C(510853120), // FCVTPUSDr
1537 UINT64_C(519241728), // FCVTPUSHr
1538 UINT64_C(510197760), // FCVTPUUWDr
1539 UINT64_C(518586368), // FCVTPUUWHr
1540 UINT64_C(506003456), // FCVTPUUWSr
1541 UINT64_C(2657681408), // FCVTPUUXDr
1542 UINT64_C(2666070016), // FCVTPUUXHr
1543 UINT64_C(2653487104), // FCVTPUUXSr
1544 UINT64_C(2130290688), // FCVTPUv1f16
1545 UINT64_C(2124523520), // FCVTPUv1i32
1546 UINT64_C(2128717824), // FCVTPUv1i64
1547 UINT64_C(782346240), // FCVTPUv2f32
1548 UINT64_C(1860282368), // FCVTPUv2f64
1549 UINT64_C(788113408), // FCVTPUv4f16
1550 UINT64_C(1856088064), // FCVTPUv4f32
1551 UINT64_C(1861855232), // FCVTPUv8f16
1552 UINT64_C(509755392), // FCVTSDr
1553 UINT64_C(518144000), // FCVTSHr
1554 UINT64_C(1678417920), // FCVTXNT_ZPmZ_DtoS
1555 UINT64_C(1677893632), // FCVTXNT_ZPzZ_StoD
1556 UINT64_C(2120312832), // FCVTXNv1i64
1557 UINT64_C(778135552), // FCVTXNv2f32
1558 UINT64_C(1851877376), // FCVTXNv4f32
1559 UINT64_C(1695195136), // FCVTX_ZPmZ_DtoS
1560 UINT64_C(1679474688), // FCVTX_ZPzZ_DtoS
1561 UINT64_C(2666921984), // FCVTZSDHr
1562 UINT64_C(2654339072), // FCVTZSDSr
1563 UINT64_C(1707945984), // FCVTZSN_Z2Z_DtoS
1564 UINT64_C(1699557376), // FCVTZSN_Z2Z_HtoB
1565 UINT64_C(1703751680), // FCVTZSN_Z2Z_StoH
1566 UINT64_C(511049728), // FCVTZSSDr
1567 UINT64_C(519438336), // FCVTZSSHr
1568 UINT64_C(509116416), // FCVTZSSWDri
1569 UINT64_C(517505024), // FCVTZSSWHri
1570 UINT64_C(504922112), // FCVTZSSWSri
1571 UINT64_C(2656567296), // FCVTZSSXDri
1572 UINT64_C(2664955904), // FCVTZSSXHri
1573 UINT64_C(2652372992), // FCVTZSSXSri
1574 UINT64_C(511180800), // FCVTZSUWDr
1575 UINT64_C(519569408), // FCVTZSUWHr
1576 UINT64_C(506986496), // FCVTZSUWSr
1577 UINT64_C(2658664448), // FCVTZSUXDr
1578 UINT64_C(2667053056), // FCVTZSUXHr
1579 UINT64_C(2654470144), // FCVTZSUXSr
1580 UINT64_C(3240222720), // FCVTZS_2Z2Z_StoS
1581 UINT64_C(3241271296), // FCVTZS_4Z4Z_StoS
1582 UINT64_C(1709088768), // FCVTZS_ZPmZ_DtoD
1583 UINT64_C(1708695552), // FCVTZS_ZPmZ_DtoS
1584 UINT64_C(1700700160), // FCVTZS_ZPmZ_HtoD
1585 UINT64_C(1700438016), // FCVTZS_ZPmZ_HtoH
1586 UINT64_C(1700569088), // FCVTZS_ZPmZ_HtoS
1587 UINT64_C(1708957696), // FCVTZS_ZPmZ_StoD
1588 UINT64_C(1704763392), // FCVTZS_ZPmZ_StoS
1589 UINT64_C(1692385280), // FCVTZS_ZPzZ_DtoD
1590 UINT64_C(1692303360), // FCVTZS_ZPzZ_DtoS
1591 UINT64_C(1683996672), // FCVTZS_ZPzZ_HtoD
1592 UINT64_C(1683931136), // FCVTZS_ZPzZ_HtoH
1593 UINT64_C(1683980288), // FCVTZS_ZPzZ_HtoS
1594 UINT64_C(1692368896), // FCVTZS_ZPzZ_StoD
1595 UINT64_C(1688174592), // FCVTZS_ZPzZ_StoS
1596 UINT64_C(1598094336), // FCVTZSd
1597 UINT64_C(1594948608), // FCVTZSh
1598 UINT64_C(1595997184), // FCVTZSs
1599 UINT64_C(1593423872), // FCVTZSv1f16
1600 UINT64_C(1587656704), // FCVTZSv1i32
1601 UINT64_C(1591851008), // FCVTZSv1i64
1602 UINT64_C(245479424), // FCVTZSv2f32
1603 UINT64_C(1323415552), // FCVTZSv2f64
1604 UINT64_C(253819904), // FCVTZSv2i32_shift
1605 UINT64_C(1329658880), // FCVTZSv2i64_shift
1606 UINT64_C(251246592), // FCVTZSv4f16
1607 UINT64_C(1319221248), // FCVTZSv4f32
1608 UINT64_C(252771328), // FCVTZSv4i16_shift
1609 UINT64_C(1327561728), // FCVTZSv4i32_shift
1610 UINT64_C(1324988416), // FCVTZSv8f16
1611 UINT64_C(1326513152), // FCVTZSv8i16_shift
1612 UINT64_C(2666987520), // FCVTZUDHr
1613 UINT64_C(2654404608), // FCVTZUDSr
1614 UINT64_C(1707947008), // FCVTZUN_Z2Z_DtoS
1615 UINT64_C(1699558400), // FCVTZUN_Z2Z_HtoB
1616 UINT64_C(1703752704), // FCVTZUN_Z2Z_StoH
1617 UINT64_C(511115264), // FCVTZUSDr
1618 UINT64_C(519503872), // FCVTZUSHr
1619 UINT64_C(509181952), // FCVTZUSWDri
1620 UINT64_C(517570560), // FCVTZUSWHri
1621 UINT64_C(504987648), // FCVTZUSWSri
1622 UINT64_C(2656632832), // FCVTZUSXDri
1623 UINT64_C(2665021440), // FCVTZUSXHri
1624 UINT64_C(2652438528), // FCVTZUSXSri
1625 UINT64_C(511246336), // FCVTZUUWDr
1626 UINT64_C(519634944), // FCVTZUUWHr
1627 UINT64_C(507052032), // FCVTZUUWSr
1628 UINT64_C(2658729984), // FCVTZUUXDr
1629 UINT64_C(2667118592), // FCVTZUUXHr
1630 UINT64_C(2654535680), // FCVTZUUXSr
1631 UINT64_C(3240222752), // FCVTZU_2Z2Z_StoS
1632 UINT64_C(3241271328), // FCVTZU_4Z4Z_StoS
1633 UINT64_C(1709154304), // FCVTZU_ZPmZ_DtoD
1634 UINT64_C(1708761088), // FCVTZU_ZPmZ_DtoS
1635 UINT64_C(1700765696), // FCVTZU_ZPmZ_HtoD
1636 UINT64_C(1700503552), // FCVTZU_ZPmZ_HtoH
1637 UINT64_C(1700634624), // FCVTZU_ZPmZ_HtoS
1638 UINT64_C(1709023232), // FCVTZU_ZPmZ_StoD
1639 UINT64_C(1704828928), // FCVTZU_ZPmZ_StoS
1640 UINT64_C(1692393472), // FCVTZU_ZPzZ_DtoD
1641 UINT64_C(1692311552), // FCVTZU_ZPzZ_DtoS
1642 UINT64_C(1684004864), // FCVTZU_ZPzZ_HtoD
1643 UINT64_C(1683939328), // FCVTZU_ZPzZ_HtoH
1644 UINT64_C(1683988480), // FCVTZU_ZPzZ_HtoS
1645 UINT64_C(1692377088), // FCVTZU_ZPzZ_StoD
1646 UINT64_C(1688182784), // FCVTZU_ZPzZ_StoS
1647 UINT64_C(2134965248), // FCVTZUd
1648 UINT64_C(2131819520), // FCVTZUh
1649 UINT64_C(2132868096), // FCVTZUs
1650 UINT64_C(2130294784), // FCVTZUv1f16
1651 UINT64_C(2124527616), // FCVTZUv1i32
1652 UINT64_C(2128721920), // FCVTZUv1i64
1653 UINT64_C(782350336), // FCVTZUv2f32
1654 UINT64_C(1860286464), // FCVTZUv2f64
1655 UINT64_C(790690816), // FCVTZUv2i32_shift
1656 UINT64_C(1866529792), // FCVTZUv2i64_shift
1657 UINT64_C(788117504), // FCVTZUv4f16
1658 UINT64_C(1856092160), // FCVTZUv4f32
1659 UINT64_C(789642240), // FCVTZUv4i16_shift
1660 UINT64_C(1864432640), // FCVTZUv4i32_shift
1661 UINT64_C(1861859328), // FCVTZUv8f16
1662 UINT64_C(1863384064), // FCVTZUv8i16_shift
1663 UINT64_C(3248545792), // FCVT_2ZZ_H_S
1664 UINT64_C(3240419328), // FCVT_Z2Z_HtoB
1665 UINT64_C(3240157184), // FCVT_Z2Z_StoH
1666 UINT64_C(3241467904), // FCVT_Z4Z_StoB
1667 UINT64_C(1707646976), // FCVT_ZPmZ_DtoH
1668 UINT64_C(1707778048), // FCVT_ZPmZ_DtoS
1669 UINT64_C(1707712512), // FCVT_ZPmZ_HtoD
1670 UINT64_C(1703518208), // FCVT_ZPmZ_HtoS
1671 UINT64_C(1707843584), // FCVT_ZPmZ_StoD
1672 UINT64_C(1703452672), // FCVT_ZPmZ_StoH
1673 UINT64_C(1692041216), // FCVT_ZPzZ_DtoH
1674 UINT64_C(1692057600), // FCVT_ZPzZ_DtoS
1675 UINT64_C(1692049408), // FCVT_ZPzZ_HtoD
1676 UINT64_C(1687855104), // FCVT_ZPzZ_HtoS
1677 UINT64_C(1692065792), // FCVT_ZPzZ_StoD
1678 UINT64_C(1687846912), // FCVT_ZPzZ_StoH
1679 UINT64_C(509614080), // FDIVDrr
1680 UINT64_C(518002688), // FDIVHrr
1681 UINT64_C(1707900928), // FDIVR_ZPmZ_D
1682 UINT64_C(1699512320), // FDIVR_ZPmZ_H
1683 UINT64_C(1703706624), // FDIVR_ZPmZ_S
1684 UINT64_C(505419776), // FDIVSrr
1685 UINT64_C(1707966464), // FDIV_ZPmZ_D
1686 UINT64_C(1699577856), // FDIV_ZPmZ_H
1687 UINT64_C(1703772160), // FDIV_ZPmZ_S
1688 UINT64_C(773913600), // FDIVv2f32
1689 UINT64_C(1851849728), // FDIVv2f64
1690 UINT64_C(775961600), // FDIVv4f16
1691 UINT64_C(1847655424), // FDIVv4f32
1692 UINT64_C(1849703424), // FDIVv8f16
1693 UINT64_C(3248492576), // FDOT_VG2_M2Z2Z_BtoH
1694 UINT64_C(3248492592), // FDOT_VG2_M2Z2Z_BtoS
1695 UINT64_C(3248492544), // FDOT_VG2_M2Z2Z_HtoS
1696 UINT64_C(3251634208), // FDOT_VG2_M2ZZI_BtoH
1697 UINT64_C(3243245624), // FDOT_VG2_M2ZZI_BtoS
1698 UINT64_C(3243249672), // FDOT_VG2_M2ZZI_HtoS
1699 UINT64_C(3240103944), // FDOT_VG2_M2ZZ_BtoH
1700 UINT64_C(3240103960), // FDOT_VG2_M2ZZ_BtoS
1701 UINT64_C(3240103936), // FDOT_VG2_M2ZZ_HtoS
1702 UINT64_C(3248558112), // FDOT_VG4_M4Z4Z_BtoH
1703 UINT64_C(3248558128), // FDOT_VG4_M4Z4Z_BtoS
1704 UINT64_C(3248558080), // FDOT_VG4_M4Z4Z_HtoS
1705 UINT64_C(3239088192), // FDOT_VG4_M4ZZI_BtoH
1706 UINT64_C(3243278344), // FDOT_VG4_M4ZZI_BtoS
1707 UINT64_C(3243282440), // FDOT_VG4_M4ZZI_HtoS
1708 UINT64_C(3241152520), // FDOT_VG4_M4ZZ_BtoH
1709 UINT64_C(3241152536), // FDOT_VG4_M4ZZ_BtoS
1710 UINT64_C(3241152512), // FDOT_VG4_M4ZZ_HtoS
1711 UINT64_C(1679836160), // FDOT_ZZZI_BtoH
1712 UINT64_C(1684030464), // FDOT_ZZZI_BtoS
1713 UINT64_C(1679835136), // FDOT_ZZZI_S
1714 UINT64_C(1679852544), // FDOT_ZZZ_BtoH
1715 UINT64_C(1684046848), // FDOT_ZZZ_BtoS
1716 UINT64_C(1679851520), // FDOT_ZZZ_S
1717 UINT64_C(251658240), // FDOTlanev2f32
1718 UINT64_C(255852544), // FDOTlanev4f16
1719 UINT64_C(255889408), // FDOTlanev4f16_v2f32
1720 UINT64_C(1325400064), // FDOTlanev4f32
1721 UINT64_C(1329594368), // FDOTlanev8f16
1722 UINT64_C(1329631232), // FDOTlanev8f16_v4f32
1723 UINT64_C(234945536), // FDOTv2f32
1724 UINT64_C(239139840), // FDOTv4f16
1725 UINT64_C(243334144), // FDOTv4f16_v2f32
1726 UINT64_C(1308687360), // FDOTv4f32
1727 UINT64_C(1312881664), // FDOTv8f16
1728 UINT64_C(1317075968), // FDOTv8f16_v4f32
1729 UINT64_C(637124608), // FDUP_ZI_D
1730 UINT64_C(628736000), // FDUP_ZI_H
1731 UINT64_C(632930304), // FDUP_ZI_S
1732 UINT64_C(81836032), // FEXPA_ZZ_D
1733 UINT64_C(73447424), // FEXPA_ZZ_H
1734 UINT64_C(77641728), // FEXPA_ZZ_S
1735 UINT64_C(622952448), // FIRSTP_XPP_B
1736 UINT64_C(635535360), // FIRSTP_XPP_D
1737 UINT64_C(627146752), // FIRSTP_XPP_H
1738 UINT64_C(631341056), // FIRSTP_XPP_S
1739 UINT64_C(511574016), // FJCVTZS
1740 UINT64_C(1696505856), // FLOGB_ZPmZ_D
1741 UINT64_C(1696243712), // FLOGB_ZPmZ_H
1742 UINT64_C(1696374784), // FLOGB_ZPmZ_S
1743 UINT64_C(1679745024), // FLOGB_ZPzZ_D
1744 UINT64_C(1679728640), // FLOGB_ZPzZ_H
1745 UINT64_C(1679736832), // FLOGB_ZPzZ_S
1746 UINT64_C(524288000), // FMADDDrrr
1747 UINT64_C(532676608), // FMADDHrrr
1748 UINT64_C(520093696), // FMADDSrrr
1749 UINT64_C(1709211648), // FMAD_ZPmZZ_D
1750 UINT64_C(1700823040), // FMAD_ZPmZZ_H
1751 UINT64_C(1705017344), // FMAD_ZPmZZ_S
1752 UINT64_C(509626368), // FMAXDrr
1753 UINT64_C(518014976), // FMAXHrr
1754 UINT64_C(509634560), // FMAXNMDrr
1755 UINT64_C(518023168), // FMAXNMHrr
1756 UINT64_C(1691648000), // FMAXNMP_ZPmZZ_D
1757 UINT64_C(1683259392), // FMAXNMP_ZPmZZ_H
1758 UINT64_C(1687453696), // FMAXNMP_ZPmZZ_S
1759 UINT64_C(773899264), // FMAXNMPv2f32
1760 UINT64_C(1851835392), // FMAXNMPv2f64
1761 UINT64_C(1580255232), // FMAXNMPv2i16p
1762 UINT64_C(2117126144), // FMAXNMPv2i32p
1763 UINT64_C(2121320448), // FMAXNMPv2i64p
1764 UINT64_C(775947264), // FMAXNMPv4f16
1765 UINT64_C(1847641088), // FMAXNMPv4f32
1766 UINT64_C(1849689088), // FMAXNMPv8f16
1767 UINT64_C(1691656192), // FMAXNMQV_D
1768 UINT64_C(1683267584), // FMAXNMQV_H
1769 UINT64_C(1687461888), // FMAXNMQV_S
1770 UINT64_C(505440256), // FMAXNMSrr
1771 UINT64_C(1707352064), // FMAXNMV_VPZ_D
1772 UINT64_C(1698963456), // FMAXNMV_VPZ_H
1773 UINT64_C(1703157760), // FMAXNMV_VPZ_S
1774 UINT64_C(238077952), // FMAXNMVv4i16v
1775 UINT64_C(1848690688), // FMAXNMVv4i32v
1776 UINT64_C(1311819776), // FMAXNMVv8i16v
1777 UINT64_C(3252728096), // FMAXNM_VG2_2Z2Z_D
1778 UINT64_C(3244339488), // FMAXNM_VG2_2Z2Z_H
1779 UINT64_C(3248533792), // FMAXNM_VG2_2Z2Z_S
1780 UINT64_C(3252724000), // FMAXNM_VG2_2ZZ_D
1781 UINT64_C(3244335392), // FMAXNM_VG2_2ZZ_H
1782 UINT64_C(3248529696), // FMAXNM_VG2_2ZZ_S
1783 UINT64_C(3252730144), // FMAXNM_VG4_4Z4Z_D
1784 UINT64_C(3244341536), // FMAXNM_VG4_4Z4Z_H
1785 UINT64_C(3248535840), // FMAXNM_VG4_4Z4Z_S
1786 UINT64_C(3252726048), // FMAXNM_VG4_4ZZ_D
1787 UINT64_C(3244337440), // FMAXNM_VG4_4ZZ_H
1788 UINT64_C(3248531744), // FMAXNM_VG4_4ZZ_S
1789 UINT64_C(1708949504), // FMAXNM_ZPmI_D
1790 UINT64_C(1700560896), // FMAXNM_ZPmI_H
1791 UINT64_C(1704755200), // FMAXNM_ZPmI_S
1792 UINT64_C(1707376640), // FMAXNM_ZPmZ_D
1793 UINT64_C(1698988032), // FMAXNM_ZPmZ_H
1794 UINT64_C(1703182336), // FMAXNM_ZPmZ_S
1795 UINT64_C(237028352), // FMAXNMv2f32
1796 UINT64_C(1314964480), // FMAXNMv2f64
1797 UINT64_C(239076352), // FMAXNMv4f16
1798 UINT64_C(1310770176), // FMAXNMv4f32
1799 UINT64_C(1312818176), // FMAXNMv8f16
1800 UINT64_C(1691779072), // FMAXP_ZPmZZ_D
1801 UINT64_C(1683390464), // FMAXP_ZPmZZ_H
1802 UINT64_C(1687584768), // FMAXP_ZPmZZ_S
1803 UINT64_C(773911552), // FMAXPv2f32
1804 UINT64_C(1851847680), // FMAXPv2f64
1805 UINT64_C(1580267520), // FMAXPv2i16p
1806 UINT64_C(2117138432), // FMAXPv2i32p
1807 UINT64_C(2121332736), // FMAXPv2i64p
1808 UINT64_C(775959552), // FMAXPv4f16
1809 UINT64_C(1847653376), // FMAXPv4f32
1810 UINT64_C(1849701376), // FMAXPv8f16
1811 UINT64_C(1691787264), // FMAXQV_D
1812 UINT64_C(1683398656), // FMAXQV_H
1813 UINT64_C(1687592960), // FMAXQV_S
1814 UINT64_C(505432064), // FMAXSrr
1815 UINT64_C(1707483136), // FMAXV_VPZ_D
1816 UINT64_C(1699094528), // FMAXV_VPZ_H
1817 UINT64_C(1703288832), // FMAXV_VPZ_S
1818 UINT64_C(238090240), // FMAXVv4i16v
1819 UINT64_C(1848702976), // FMAXVv4i32v
1820 UINT64_C(1311832064), // FMAXVv8i16v
1821 UINT64_C(3252728064), // FMAX_VG2_2Z2Z_D
1822 UINT64_C(3244339456), // FMAX_VG2_2Z2Z_H
1823 UINT64_C(3248533760), // FMAX_VG2_2Z2Z_S
1824 UINT64_C(3252723968), // FMAX_VG2_2ZZ_D
1825 UINT64_C(3244335360), // FMAX_VG2_2ZZ_H
1826 UINT64_C(3248529664), // FMAX_VG2_2ZZ_S
1827 UINT64_C(3252730112), // FMAX_VG4_4Z4Z_D
1828 UINT64_C(3244341504), // FMAX_VG4_4Z4Z_H
1829 UINT64_C(3248535808), // FMAX_VG4_4Z4Z_S
1830 UINT64_C(3252726016), // FMAX_VG4_4ZZ_D
1831 UINT64_C(3244337408), // FMAX_VG4_4ZZ_H
1832 UINT64_C(3248531712), // FMAX_VG4_4ZZ_S
1833 UINT64_C(1709080576), // FMAX_ZPmI_D
1834 UINT64_C(1700691968), // FMAX_ZPmI_H
1835 UINT64_C(1704886272), // FMAX_ZPmI_S
1836 UINT64_C(1707507712), // FMAX_ZPmZ_D
1837 UINT64_C(1699119104), // FMAX_ZPmZ_H
1838 UINT64_C(1703313408), // FMAX_ZPmZ_S
1839 UINT64_C(237040640), // FMAXv2f32
1840 UINT64_C(1314976768), // FMAXv2f64
1841 UINT64_C(239088640), // FMAXv4f16
1842 UINT64_C(1310782464), // FMAXv4f32
1843 UINT64_C(1312830464), // FMAXv8f16
1844 UINT64_C(509630464), // FMINDrr
1845 UINT64_C(518019072), // FMINHrr
1846 UINT64_C(509638656), // FMINNMDrr
1847 UINT64_C(518027264), // FMINNMHrr
1848 UINT64_C(1691713536), // FMINNMP_ZPmZZ_D
1849 UINT64_C(1683324928), // FMINNMP_ZPmZZ_H
1850 UINT64_C(1687519232), // FMINNMP_ZPmZZ_S
1851 UINT64_C(782287872), // FMINNMPv2f32
1852 UINT64_C(1860224000), // FMINNMPv2f64
1853 UINT64_C(1588643840), // FMINNMPv2i16p
1854 UINT64_C(2125514752), // FMINNMPv2i32p
1855 UINT64_C(2129709056), // FMINNMPv2i64p
1856 UINT64_C(784335872), // FMINNMPv4f16
1857 UINT64_C(1856029696), // FMINNMPv4f32
1858 UINT64_C(1858077696), // FMINNMPv8f16
1859 UINT64_C(1691721728), // FMINNMQV_D
1860 UINT64_C(1683333120), // FMINNMQV_H
1861 UINT64_C(1687527424), // FMINNMQV_S
1862 UINT64_C(505444352), // FMINNMSrr
1863 UINT64_C(1707417600), // FMINNMV_VPZ_D
1864 UINT64_C(1699028992), // FMINNMV_VPZ_H
1865 UINT64_C(1703223296), // FMINNMV_VPZ_S
1866 UINT64_C(246466560), // FMINNMVv4i16v
1867 UINT64_C(1857079296), // FMINNMVv4i32v
1868 UINT64_C(1320208384), // FMINNMVv8i16v
1869 UINT64_C(3252728097), // FMINNM_VG2_2Z2Z_D
1870 UINT64_C(3244339489), // FMINNM_VG2_2Z2Z_H
1871 UINT64_C(3248533793), // FMINNM_VG2_2Z2Z_S
1872 UINT64_C(3252724001), // FMINNM_VG2_2ZZ_D
1873 UINT64_C(3244335393), // FMINNM_VG2_2ZZ_H
1874 UINT64_C(3248529697), // FMINNM_VG2_2ZZ_S
1875 UINT64_C(3252730145), // FMINNM_VG4_4Z4Z_D
1876 UINT64_C(3244341537), // FMINNM_VG4_4Z4Z_H
1877 UINT64_C(3248535841), // FMINNM_VG4_4Z4Z_S
1878 UINT64_C(3252726049), // FMINNM_VG4_4ZZ_D
1879 UINT64_C(3244337441), // FMINNM_VG4_4ZZ_H
1880 UINT64_C(3248531745), // FMINNM_VG4_4ZZ_S
1881 UINT64_C(1709015040), // FMINNM_ZPmI_D
1882 UINT64_C(1700626432), // FMINNM_ZPmI_H
1883 UINT64_C(1704820736), // FMINNM_ZPmI_S
1884 UINT64_C(1707442176), // FMINNM_ZPmZ_D
1885 UINT64_C(1699053568), // FMINNM_ZPmZ_H
1886 UINT64_C(1703247872), // FMINNM_ZPmZ_S
1887 UINT64_C(245416960), // FMINNMv2f32
1888 UINT64_C(1323353088), // FMINNMv2f64
1889 UINT64_C(247464960), // FMINNMv4f16
1890 UINT64_C(1319158784), // FMINNMv4f32
1891 UINT64_C(1321206784), // FMINNMv8f16
1892 UINT64_C(1691844608), // FMINP_ZPmZZ_D
1893 UINT64_C(1683456000), // FMINP_ZPmZZ_H
1894 UINT64_C(1687650304), // FMINP_ZPmZZ_S
1895 UINT64_C(782300160), // FMINPv2f32
1896 UINT64_C(1860236288), // FMINPv2f64
1897 UINT64_C(1588656128), // FMINPv2i16p
1898 UINT64_C(2125527040), // FMINPv2i32p
1899 UINT64_C(2129721344), // FMINPv2i64p
1900 UINT64_C(784348160), // FMINPv4f16
1901 UINT64_C(1856041984), // FMINPv4f32
1902 UINT64_C(1858089984), // FMINPv8f16
1903 UINT64_C(1691852800), // FMINQV_D
1904 UINT64_C(1683464192), // FMINQV_H
1905 UINT64_C(1687658496), // FMINQV_S
1906 UINT64_C(505436160), // FMINSrr
1907 UINT64_C(1707548672), // FMINV_VPZ_D
1908 UINT64_C(1699160064), // FMINV_VPZ_H
1909 UINT64_C(1703354368), // FMINV_VPZ_S
1910 UINT64_C(246478848), // FMINVv4i16v
1911 UINT64_C(1857091584), // FMINVv4i32v
1912 UINT64_C(1320220672), // FMINVv8i16v
1913 UINT64_C(3252728065), // FMIN_VG2_2Z2Z_D
1914 UINT64_C(3244339457), // FMIN_VG2_2Z2Z_H
1915 UINT64_C(3248533761), // FMIN_VG2_2Z2Z_S
1916 UINT64_C(3252723969), // FMIN_VG2_2ZZ_D
1917 UINT64_C(3244335361), // FMIN_VG2_2ZZ_H
1918 UINT64_C(3248529665), // FMIN_VG2_2ZZ_S
1919 UINT64_C(3252730113), // FMIN_VG4_4Z4Z_D
1920 UINT64_C(3244341505), // FMIN_VG4_4Z4Z_H
1921 UINT64_C(3248535809), // FMIN_VG4_4Z4Z_S
1922 UINT64_C(3252726017), // FMIN_VG4_4ZZ_D
1923 UINT64_C(3244337409), // FMIN_VG4_4ZZ_H
1924 UINT64_C(3248531713), // FMIN_VG4_4ZZ_S
1925 UINT64_C(1709146112), // FMIN_ZPmI_D
1926 UINT64_C(1700757504), // FMIN_ZPmI_H
1927 UINT64_C(1704951808), // FMIN_ZPmI_S
1928 UINT64_C(1707573248), // FMIN_ZPmZ_D
1929 UINT64_C(1699184640), // FMIN_ZPmZ_H
1930 UINT64_C(1703378944), // FMIN_ZPmZ_S
1931 UINT64_C(245429248), // FMINv2f32
1932 UINT64_C(1323365376), // FMINv2f64
1933 UINT64_C(247477248), // FMINv4f16
1934 UINT64_C(1319171072), // FMINv4f32
1935 UINT64_C(1321219072), // FMINv8f16
1936 UINT64_C(796950528), // FMLAL2lanev4f16
1937 UINT64_C(1870692352), // FMLAL2lanev8f16
1938 UINT64_C(773901312), // FMLAL2v4f16
1939 UINT64_C(1847643136), // FMLAL2v8f16
1940 UINT64_C(1688242176), // FMLALB_ZZZ
1941 UINT64_C(1679839232), // FMLALB_ZZZI
1942 UINT64_C(1688223744), // FMLALB_ZZZI_SHH
1943 UINT64_C(1688240128), // FMLALB_ZZZ_SHH
1944 UINT64_C(264241152), // FMLALBlanev8f16
1945 UINT64_C(247528448), // FMLALBv16i8_v8f16
1946 UINT64_C(1679853568), // FMLALLBB_ZZZ
1947 UINT64_C(1679867904), // FMLALLBB_ZZZI
1948 UINT64_C(788561920), // FMLALLBBlanev4f32
1949 UINT64_C(234931200), // FMLALLBBv4f32
1950 UINT64_C(1679857664), // FMLALLBT_ZZZ
1951 UINT64_C(1684062208), // FMLALLBT_ZZZI
1952 UINT64_C(792756224), // FMLALLBTlanev4f32
1953 UINT64_C(239125504), // FMLALLBTv4f32
1954 UINT64_C(1679861760), // FMLALLTB_ZZZ
1955 UINT64_C(1688256512), // FMLALLTB_ZZZI
1956 UINT64_C(1862303744), // FMLALLTBlanev4f32
1957 UINT64_C(1308673024), // FMLALLTBv4f32
1958 UINT64_C(1679865856), // FMLALLTT_ZZZ
1959 UINT64_C(1692450816), // FMLALLTT_ZZZI
1960 UINT64_C(1866498048), // FMLALLTTlanev4f32
1961 UINT64_C(1312867328), // FMLALLTTv4f32
1962 UINT64_C(3242196992), // FMLALL_MZZI_BtoS
1963 UINT64_C(3241149440), // FMLALL_MZZ_BtoS
1964 UINT64_C(3248488480), // FMLALL_VG2_M2Z2Z_BtoS
1965 UINT64_C(3247439904), // FMLALL_VG2_M2ZZI_BtoS
1966 UINT64_C(3240099842), // FMLALL_VG2_M2ZZ_BtoS
1967 UINT64_C(3248554016), // FMLALL_VG4_M4Z4Z_BtoS
1968 UINT64_C(3239084096), // FMLALL_VG4_M4ZZI_BtoS
1969 UINT64_C(3241148418), // FMLALL_VG4_M4ZZ_BtoS
1970 UINT64_C(1688246272), // FMLALT_ZZZ
1971 UINT64_C(1688227840), // FMLALT_ZZZI
1972 UINT64_C(1688224768), // FMLALT_ZZZI_SHH
1973 UINT64_C(1688241152), // FMLALT_ZZZ_SHH
1974 UINT64_C(1337982976), // FMLALTlanev8f16
1975 UINT64_C(1321270272), // FMLALTv16i8_v8f16
1976 UINT64_C(3250585600), // FMLAL_MZZI_BtoH
1977 UINT64_C(3246395392), // FMLAL_MZZI_HtoS
1978 UINT64_C(3240102912), // FMLAL_MZZ_HtoS
1979 UINT64_C(3248490528), // FMLAL_VG2_M2Z2Z_BtoH
1980 UINT64_C(3248490496), // FMLAL_VG2_M2Z2Z_HtoS
1981 UINT64_C(3247444016), // FMLAL_VG2_M2ZZI_BtoH
1982 UINT64_C(3247443968), // FMLAL_VG2_M2ZZI_HtoS
1983 UINT64_C(3240101892), // FMLAL_VG2_M2ZZ_BtoH
1984 UINT64_C(3240101888), // FMLAL_VG2_M2ZZ_HtoS
1985 UINT64_C(3241151488), // FMLAL_VG2_MZZ_BtoH
1986 UINT64_C(3248556064), // FMLAL_VG4_M4Z4Z_BtoH
1987 UINT64_C(3248556032), // FMLAL_VG4_M4Z4Z_HtoS
1988 UINT64_C(3247476768), // FMLAL_VG4_M4ZZI_BtoH
1989 UINT64_C(3247476736), // FMLAL_VG4_M4ZZI_HtoS
1990 UINT64_C(3241150468), // FMLAL_VG4_M4ZZ_BtoH
1991 UINT64_C(3241150464), // FMLAL_VG4_M4ZZ_HtoS
1992 UINT64_C(260046848), // FMLALlanev4f16
1993 UINT64_C(1333788672), // FMLALlanev8f16
1994 UINT64_C(237038592), // FMLALv4f16
1995 UINT64_C(1310780416), // FMLALv8f16
1996 UINT64_C(3252688896), // FMLA_VG2_M2Z2Z_D
1997 UINT64_C(3248492552), // FMLA_VG2_M2Z2Z_H
1998 UINT64_C(3248494592), // FMLA_VG2_M2Z2Z_S
1999 UINT64_C(3251634176), // FMLA_VG2_M2ZZI_D
2000 UINT64_C(3239055360), // FMLA_VG2_M2ZZI_H
2001 UINT64_C(3243245568), // FMLA_VG2_M2ZZI_S
2002 UINT64_C(3244300288), // FMLA_VG2_M2ZZ_D
2003 UINT64_C(3240107008), // FMLA_VG2_M2ZZ_H
2004 UINT64_C(3240105984), // FMLA_VG2_M2ZZ_S
2005 UINT64_C(3252754432), // FMLA_VG4_M4Z4Z_D
2006 UINT64_C(3248558088), // FMLA_VG4_M4Z4Z_H
2007 UINT64_C(3248560128), // FMLA_VG4_M4Z4Z_S
2008 UINT64_C(3251666944), // FMLA_VG4_M4ZZI_D
2009 UINT64_C(3239088128), // FMLA_VG4_M4ZZI_H
2010 UINT64_C(3243278336), // FMLA_VG4_M4ZZI_S
2011 UINT64_C(3245348864), // FMLA_VG4_M4ZZ_D
2012 UINT64_C(3241155584), // FMLA_VG4_M4ZZ_H
2013 UINT64_C(3241154560), // FMLA_VG4_M4ZZ_S
2014 UINT64_C(1709178880), // FMLA_ZPmZZ_D
2015 UINT64_C(1700790272), // FMLA_ZPmZZ_H
2016 UINT64_C(1704984576), // FMLA_ZPmZZ_S
2017 UINT64_C(1692401664), // FMLA_ZZZI_D
2018 UINT64_C(1679818752), // FMLA_ZZZI_H
2019 UINT64_C(1688207360), // FMLA_ZZZI_S
2020 UINT64_C(1593839616), // FMLAv1i16_indexed
2021 UINT64_C(1602228224), // FMLAv1i32_indexed
2022 UINT64_C(1606422528), // FMLAv1i64_indexed
2023 UINT64_C(237030400), // FMLAv2f32
2024 UINT64_C(1314966528), // FMLAv2f64
2025 UINT64_C(260050944), // FMLAv2i32_indexed
2026 UINT64_C(1337987072), // FMLAv2i64_indexed
2027 UINT64_C(239078400), // FMLAv4f16
2028 UINT64_C(1310772224), // FMLAv4f32
2029 UINT64_C(251662336), // FMLAv4i16_indexed
2030 UINT64_C(1333792768), // FMLAv4i32_indexed
2031 UINT64_C(1312820224), // FMLAv8f16
2032 UINT64_C(1325404160), // FMLAv8i16_indexed
2033 UINT64_C(1679877120), // FMLLA_ZZZ_HtoS
2034 UINT64_C(796966912), // FMLSL2lanev4f16
2035 UINT64_C(1870708736), // FMLSL2lanev8f16
2036 UINT64_C(782289920), // FMLSL2v4f16
2037 UINT64_C(1856031744), // FMLSL2v8f16
2038 UINT64_C(1688231936), // FMLSLB_ZZZI_SHH
2039 UINT64_C(1688248320), // FMLSLB_ZZZ_SHH
2040 UINT64_C(1688232960), // FMLSLT_ZZZI_SHH
2041 UINT64_C(1688249344), // FMLSLT_ZZZ_SHH
2042 UINT64_C(3246395400), // FMLSL_MZZI_HtoS
2043 UINT64_C(3240102920), // FMLSL_MZZ_HtoS
2044 UINT64_C(3248490504), // FMLSL_VG2_M2Z2Z_HtoS
2045 UINT64_C(3247443976), // FMLSL_VG2_M2ZZI_HtoS
2046 UINT64_C(3240101896), // FMLSL_VG2_M2ZZ_HtoS
2047 UINT64_C(3248556040), // FMLSL_VG4_M4Z4Z_HtoS
2048 UINT64_C(3247476744), // FMLSL_VG4_M4ZZI_HtoS
2049 UINT64_C(3241150472), // FMLSL_VG4_M4ZZ_HtoS
2050 UINT64_C(260063232), // FMLSLlanev4f16
2051 UINT64_C(1333805056), // FMLSLlanev8f16
2052 UINT64_C(245427200), // FMLSLv4f16
2053 UINT64_C(1319169024), // FMLSLv8f16
2054 UINT64_C(3252688904), // FMLS_VG2_M2Z2Z_D
2055 UINT64_C(3248492568), // FMLS_VG2_M2Z2Z_H
2056 UINT64_C(3248494600), // FMLS_VG2_M2Z2Z_S
2057 UINT64_C(3251634192), // FMLS_VG2_M2ZZI_D
2058 UINT64_C(3239055376), // FMLS_VG2_M2ZZI_H
2059 UINT64_C(3243245584), // FMLS_VG2_M2ZZI_S
2060 UINT64_C(3244300296), // FMLS_VG2_M2ZZ_D
2061 UINT64_C(3240107016), // FMLS_VG2_M2ZZ_H
2062 UINT64_C(3240105992), // FMLS_VG2_M2ZZ_S
2063 UINT64_C(3252754440), // FMLS_VG4_M4Z4Z_D
2064 UINT64_C(3248558104), // FMLS_VG4_M4Z4Z_H
2065 UINT64_C(3248560136), // FMLS_VG4_M4Z4Z_S
2066 UINT64_C(3251666960), // FMLS_VG4_M4ZZI_D
2067 UINT64_C(3239088144), // FMLS_VG4_M4ZZI_H
2068 UINT64_C(3243278352), // FMLS_VG4_M4ZZI_S
2069 UINT64_C(3245348872), // FMLS_VG4_M4ZZ_D
2070 UINT64_C(3241155592), // FMLS_VG4_M4ZZ_H
2071 UINT64_C(3241154568), // FMLS_VG4_M4ZZ_S
2072 UINT64_C(1709187072), // FMLS_ZPmZZ_D
2073 UINT64_C(1700798464), // FMLS_ZPmZZ_H
2074 UINT64_C(1704992768), // FMLS_ZPmZZ_S
2075 UINT64_C(1692402688), // FMLS_ZZZI_D
2076 UINT64_C(1679819776), // FMLS_ZZZI_H
2077 UINT64_C(1688208384), // FMLS_ZZZI_S
2078 UINT64_C(1593856000), // FMLSv1i16_indexed
2079 UINT64_C(1602244608), // FMLSv1i32_indexed
2080 UINT64_C(1606438912), // FMLSv1i64_indexed
2081 UINT64_C(245419008), // FMLSv2f32
2082 UINT64_C(1323355136), // FMLSv2f64
2083 UINT64_C(260067328), // FMLSv2i32_indexed
2084 UINT64_C(1338003456), // FMLSv2i64_indexed
2085 UINT64_C(247467008), // FMLSv4f16
2086 UINT64_C(1319160832), // FMLSv4f32
2087 UINT64_C(251678720), // FMLSv4i16_indexed
2088 UINT64_C(1333809152), // FMLSv4i32_indexed
2089 UINT64_C(1321208832), // FMLSv8f16
2090 UINT64_C(1325420544), // FMLSv8i16_indexed
2091 UINT64_C(1684070400), // FMMLA_ZZZ_BtoH
2092 UINT64_C(1679876096), // FMMLA_ZZZ_BtoS
2093 UINT64_C(1692460032), // FMMLA_ZZZ_D
2094 UINT64_C(1688264704), // FMMLA_ZZZ_H
2095 UINT64_C(1688265728), // FMMLA_ZZZ_S
2096 UINT64_C(1853942784), // FMMLAv4f32
2097 UINT64_C(1845554176), // FMMLAv8f16
2098 UINT64_C(1312877568), // FMMLAv8f16_v4f32
2099 UINT64_C(1321266176), // FMMLAv8f16_v8f16
2100 UINT64_C(2150629896), // FMOP4A_M2Z2Z_BtoH
2101 UINT64_C(2150629888), // FMOP4A_M2Z2Z_BtoS
2102 UINT64_C(2161115656), // FMOP4A_M2Z2Z_D
2103 UINT64_C(2165309960), // FMOP4A_M2Z2Z_H
2104 UINT64_C(2167407104), // FMOP4A_M2Z2Z_HtoS
2105 UINT64_C(2148532736), // FMOP4A_M2Z2Z_S
2106 UINT64_C(2149581320), // FMOP4A_M2ZZ_BtoH
2107 UINT64_C(2149581312), // FMOP4A_M2ZZ_BtoS
2108 UINT64_C(2160067080), // FMOP4A_M2ZZ_D
2109 UINT64_C(2164261384), // FMOP4A_M2ZZ_H
2110 UINT64_C(2166358528), // FMOP4A_M2ZZ_HtoS
2111 UINT64_C(2147484160), // FMOP4A_M2ZZ_S
2112 UINT64_C(2150629384), // FMOP4A_MZ2Z_BtoH
2113 UINT64_C(2150629376), // FMOP4A_MZ2Z_BtoS
2114 UINT64_C(2161115144), // FMOP4A_MZ2Z_D
2115 UINT64_C(2165309448), // FMOP4A_MZ2Z_H
2116 UINT64_C(2167406592), // FMOP4A_MZ2Z_HtoS
2117 UINT64_C(2148532224), // FMOP4A_MZ2Z_S
2118 UINT64_C(2149580808), // FMOP4A_MZZ_BtoH
2119 UINT64_C(2149580800), // FMOP4A_MZZ_BtoS
2120 UINT64_C(2160066568), // FMOP4A_MZZ_D
2121 UINT64_C(2164260872), // FMOP4A_MZZ_H
2122 UINT64_C(2166358016), // FMOP4A_MZZ_HtoS
2123 UINT64_C(2147483648), // FMOP4A_MZZ_S
2124 UINT64_C(2161115672), // FMOP4S_M2Z2Z_D
2125 UINT64_C(2165309976), // FMOP4S_M2Z2Z_H
2126 UINT64_C(2167407120), // FMOP4S_M2Z2Z_HtoS
2127 UINT64_C(2148532752), // FMOP4S_M2Z2Z_S
2128 UINT64_C(2160067096), // FMOP4S_M2ZZ_D
2129 UINT64_C(2164261400), // FMOP4S_M2ZZ_H
2130 UINT64_C(2166358544), // FMOP4S_M2ZZ_HtoS
2131 UINT64_C(2147484176), // FMOP4S_M2ZZ_S
2132 UINT64_C(2161115160), // FMOP4S_MZ2Z_D
2133 UINT64_C(2165309464), // FMOP4S_MZ2Z_H
2134 UINT64_C(2167406608), // FMOP4S_MZ2Z_HtoS
2135 UINT64_C(2148532240), // FMOP4S_MZ2Z_S
2136 UINT64_C(2160066584), // FMOP4S_MZZ_D
2137 UINT64_C(2164260888), // FMOP4S_MZZ_H
2138 UINT64_C(2166358032), // FMOP4S_MZZ_HtoS
2139 UINT64_C(2147483664), // FMOP4S_MZZ_S
2140 UINT64_C(2174746624), // FMOPAL_MPPZZ
2141 UINT64_C(2157969416), // FMOPA_MPPZZ_BtoH
2142 UINT64_C(2157969408), // FMOPA_MPPZZ_BtoS
2143 UINT64_C(2160066560), // FMOPA_MPPZZ_D
2144 UINT64_C(2172649480), // FMOPA_MPPZZ_H
2145 UINT64_C(2155872256), // FMOPA_MPPZZ_S
2146 UINT64_C(2174746640), // FMOPSL_MPPZZ
2147 UINT64_C(2160066576), // FMOPS_MPPZZ_D
2148 UINT64_C(2172649496), // FMOPS_MPPZZ_H
2149 UINT64_C(2155872272), // FMOPS_MPPZZ_S
2150 UINT64_C(2662203392), // FMOVDXHighr
2151 UINT64_C(2657484800), // FMOVDXr
2152 UINT64_C(509612032), // FMOVDi
2153 UINT64_C(509624320), // FMOVDr
2154 UINT64_C(518389760), // FMOVHWr
2155 UINT64_C(2665873408), // FMOVHXr
2156 UINT64_C(518000640), // FMOVHi
2157 UINT64_C(518012928), // FMOVHr
2158 UINT64_C(505806848), // FMOVSWr
2159 UINT64_C(505417728), // FMOVSi
2160 UINT64_C(505430016), // FMOVSr
2161 UINT64_C(518455296), // FMOVWHr
2162 UINT64_C(505872384), // FMOVWSr
2163 UINT64_C(2662268928), // FMOVXDHighr
2164 UINT64_C(2657550336), // FMOVXDr
2165 UINT64_C(2665938944), // FMOVXHr
2166 UINT64_C(251720704), // FMOVv2f32_ns
2167 UINT64_C(1862333440), // FMOVv2f64_ns
2168 UINT64_C(251722752), // FMOVv4f16_ns
2169 UINT64_C(1325462528), // FMOVv4f32_ns
2170 UINT64_C(1325464576), // FMOVv8f16_ns
2171 UINT64_C(1709219840), // FMSB_ZPmZZ_D
2172 UINT64_C(1700831232), // FMSB_ZPmZZ_H
2173 UINT64_C(1705025536), // FMSB_ZPmZZ_S
2174 UINT64_C(524320768), // FMSUBDrrr
2175 UINT64_C(532709376), // FMSUBHrrr
2176 UINT64_C(520126464), // FMSUBSrrr
2177 UINT64_C(509609984), // FMULDrr
2178 UINT64_C(517998592), // FMULHrr
2179 UINT64_C(505415680), // FMULSrr
2180 UINT64_C(1581259776), // FMULX16
2181 UINT64_C(1579211776), // FMULX32
2182 UINT64_C(1583406080), // FMULX64
2183 UINT64_C(1707769856), // FMULX_ZPmZ_D
2184 UINT64_C(1699381248), // FMULX_ZPmZ_H
2185 UINT64_C(1703575552), // FMULX_ZPmZ_S
2186 UINT64_C(2130743296), // FMULXv1i16_indexed
2187 UINT64_C(2139131904), // FMULXv1i32_indexed
2188 UINT64_C(2143326208), // FMULXv1i64_indexed
2189 UINT64_C(237034496), // FMULXv2f32
2190 UINT64_C(1314970624), // FMULXv2f64
2191 UINT64_C(796954624), // FMULXv2i32_indexed
2192 UINT64_C(1874890752), // FMULXv2i64_indexed
2193 UINT64_C(239082496), // FMULXv4f16
2194 UINT64_C(1310776320), // FMULXv4f32
2195 UINT64_C(788566016), // FMULXv4i16_indexed
2196 UINT64_C(1870696448), // FMULXv4i32_indexed
2197 UINT64_C(1312824320), // FMULXv8f16
2198 UINT64_C(1862307840), // FMULXv8i16_indexed
2199 UINT64_C(3252741120), // FMUL_2Z2Z_D
2200 UINT64_C(3244352512), // FMUL_2Z2Z_H
2201 UINT64_C(3248546816), // FMUL_2Z2Z_S
2202 UINT64_C(3252742144), // FMUL_2ZZ_D
2203 UINT64_C(3244353536), // FMUL_2ZZ_H
2204 UINT64_C(3248547840), // FMUL_2ZZ_S
2205 UINT64_C(3252806656), // FMUL_4Z4Z_D
2206 UINT64_C(3244418048), // FMUL_4Z4Z_H
2207 UINT64_C(3248612352), // FMUL_4Z4Z_S
2208 UINT64_C(3252807680), // FMUL_4ZZ_D
2209 UINT64_C(3244419072), // FMUL_4ZZ_H
2210 UINT64_C(3248613376), // FMUL_4ZZ_S
2211 UINT64_C(1708818432), // FMUL_ZPmI_D
2212 UINT64_C(1700429824), // FMUL_ZPmI_H
2213 UINT64_C(1704624128), // FMUL_ZPmI_S
2214 UINT64_C(1707245568), // FMUL_ZPmZ_D
2215 UINT64_C(1698856960), // FMUL_ZPmZ_H
2216 UINT64_C(1703051264), // FMUL_ZPmZ_S
2217 UINT64_C(1692409856), // FMUL_ZZZI_D
2218 UINT64_C(1679826944), // FMUL_ZZZI_H
2219 UINT64_C(1688215552), // FMUL_ZZZI_S
2220 UINT64_C(1707083776), // FMUL_ZZZ_D
2221 UINT64_C(1698695168), // FMUL_ZZZ_H
2222 UINT64_C(1702889472), // FMUL_ZZZ_S
2223 UINT64_C(1593872384), // FMULv1i16_indexed
2224 UINT64_C(1602260992), // FMULv1i32_indexed
2225 UINT64_C(1606455296), // FMULv1i64_indexed
2226 UINT64_C(773905408), // FMULv2f32
2227 UINT64_C(1851841536), // FMULv2f64
2228 UINT64_C(260083712), // FMULv2i32_indexed
2229 UINT64_C(1338019840), // FMULv2i64_indexed
2230 UINT64_C(775953408), // FMULv4f16
2231 UINT64_C(1847647232), // FMULv4f32
2232 UINT64_C(251695104), // FMULv4i16_indexed
2233 UINT64_C(1333825536), // FMULv4i32_indexed
2234 UINT64_C(1849695232), // FMULv8f16
2235 UINT64_C(1325436928), // FMULv8i16_indexed
2236 UINT64_C(509689856), // FNEGDr
2237 UINT64_C(518078464), // FNEGHr
2238 UINT64_C(505495552), // FNEGSr
2239 UINT64_C(81633280), // FNEG_ZPmZ_D
2240 UINT64_C(73244672), // FNEG_ZPmZ_H
2241 UINT64_C(77438976), // FNEG_ZPmZ_S
2242 UINT64_C(80584704), // FNEG_ZPzZ_D
2243 UINT64_C(72196096), // FNEG_ZPzZ_H
2244 UINT64_C(76390400), // FNEG_ZPzZ_S
2245 UINT64_C(782301184), // FNEGv2f32
2246 UINT64_C(1860237312), // FNEGv2f64
2247 UINT64_C(788068352), // FNEGv4f16
2248 UINT64_C(1856043008), // FNEGv4f32
2249 UINT64_C(1861810176), // FNEGv8f16
2250 UINT64_C(526385152), // FNMADDDrrr
2251 UINT64_C(534773760), // FNMADDHrrr
2252 UINT64_C(522190848), // FNMADDSrrr
2253 UINT64_C(1709228032), // FNMAD_ZPmZZ_D
2254 UINT64_C(1700839424), // FNMAD_ZPmZZ_H
2255 UINT64_C(1705033728), // FNMAD_ZPmZZ_S
2256 UINT64_C(1709195264), // FNMLA_ZPmZZ_D
2257 UINT64_C(1700806656), // FNMLA_ZPmZZ_H
2258 UINT64_C(1705000960), // FNMLA_ZPmZZ_S
2259 UINT64_C(1709203456), // FNMLS_ZPmZZ_D
2260 UINT64_C(1700814848), // FNMLS_ZPmZZ_H
2261 UINT64_C(1705009152), // FNMLS_ZPmZZ_S
2262 UINT64_C(1709236224), // FNMSB_ZPmZZ_D
2263 UINT64_C(1700847616), // FNMSB_ZPmZZ_H
2264 UINT64_C(1705041920), // FNMSB_ZPmZZ_S
2265 UINT64_C(526417920), // FNMSUBDrrr
2266 UINT64_C(534806528), // FNMSUBHrrr
2267 UINT64_C(522223616), // FNMSUBSrrr
2268 UINT64_C(509642752), // FNMULDrr
2269 UINT64_C(518031360), // FNMULHrr
2270 UINT64_C(505448448), // FNMULSrr
2271 UINT64_C(1708011520), // FRECPE_ZZ_D
2272 UINT64_C(1699622912), // FRECPE_ZZ_H
2273 UINT64_C(1703817216), // FRECPE_ZZ_S
2274 UINT64_C(1593432064), // FRECPEv1f16
2275 UINT64_C(1587664896), // FRECPEv1i32
2276 UINT64_C(1591859200), // FRECPEv1i64
2277 UINT64_C(245487616), // FRECPEv2f32
2278 UINT64_C(1323423744), // FRECPEv2f64
2279 UINT64_C(251254784), // FRECPEv4f16
2280 UINT64_C(1319229440), // FRECPEv4f32
2281 UINT64_C(1324996608), // FRECPEv8f16
2282 UINT64_C(1581267968), // FRECPS16
2283 UINT64_C(1579219968), // FRECPS32
2284 UINT64_C(1583414272), // FRECPS64
2285 UINT64_C(1707087872), // FRECPS_ZZZ_D
2286 UINT64_C(1698699264), // FRECPS_ZZZ_H
2287 UINT64_C(1702893568), // FRECPS_ZZZ_S
2288 UINT64_C(237042688), // FRECPSv2f32
2289 UINT64_C(1314978816), // FRECPSv2f64
2290 UINT64_C(239090688), // FRECPSv4f16
2291 UINT64_C(1310784512), // FRECPSv4f32
2292 UINT64_C(1312832512), // FRECPSv8f16
2293 UINT64_C(1707909120), // FRECPX_ZPmZ_D
2294 UINT64_C(1699520512), // FRECPX_ZPmZ_H
2295 UINT64_C(1703714816), // FRECPX_ZPmZ_S
2296 UINT64_C(1692106752), // FRECPX_ZPzZ_D
2297 UINT64_C(1683718144), // FRECPX_ZPzZ_H
2298 UINT64_C(1687912448), // FRECPX_ZPzZ_S
2299 UINT64_C(1593440256), // FRECPXv1f16
2300 UINT64_C(1587673088), // FRECPXv1i32
2301 UINT64_C(1591867392), // FRECPXv1i64
2302 UINT64_C(510181376), // FRINT32XDr
2303 UINT64_C(505987072), // FRINT32XSr
2304 UINT64_C(1695784960), // FRINT32X_ZPmZ_D
2305 UINT64_C(1695653888), // FRINT32X_ZPmZ_S
2306 UINT64_C(1679613952), // FRINT32X_ZPzZ_D
2307 UINT64_C(1679597568), // FRINT32X_ZPzZ_S
2308 UINT64_C(773974016), // FRINT32Xv2f32
2309 UINT64_C(1851910144), // FRINT32Xv2f64
2310 UINT64_C(1847715840), // FRINT32Xv4f32
2311 UINT64_C(510148608), // FRINT32ZDr
2312 UINT64_C(505954304), // FRINT32ZSr
2313 UINT64_C(1695719424), // FRINT32Z_ZPmZ_D
2314 UINT64_C(1695588352), // FRINT32Z_ZPmZ_S
2315 UINT64_C(1679605760), // FRINT32Z_ZPzZ_D
2316 UINT64_C(1679589376), // FRINT32Z_ZPzZ_S
2317 UINT64_C(237103104), // FRINT32Zv2f32
2318 UINT64_C(1315039232), // FRINT32Zv2f64
2319 UINT64_C(1310844928), // FRINT32Zv4f32
2320 UINT64_C(510246912), // FRINT64XDr
2321 UINT64_C(506052608), // FRINT64XSr
2322 UINT64_C(1696047104), // FRINT64X_ZPmZ_D
2323 UINT64_C(1695916032), // FRINT64X_ZPmZ_S
2324 UINT64_C(1679679488), // FRINT64X_ZPzZ_D
2325 UINT64_C(1679663104), // FRINT64X_ZPzZ_S
2326 UINT64_C(773978112), // FRINT64Xv2f32
2327 UINT64_C(1851914240), // FRINT64Xv2f64
2328 UINT64_C(1847719936), // FRINT64Xv4f32
2329 UINT64_C(510214144), // FRINT64ZDr
2330 UINT64_C(506019840), // FRINT64ZSr
2331 UINT64_C(1695981568), // FRINT64Z_ZPmZ_D
2332 UINT64_C(1695850496), // FRINT64Z_ZPmZ_S
2333 UINT64_C(1679671296), // FRINT64Z_ZPzZ_D
2334 UINT64_C(1679654912), // FRINT64Z_ZPzZ_S
2335 UINT64_C(237107200), // FRINT64Zv2f32
2336 UINT64_C(1315043328), // FRINT64Zv2f64
2337 UINT64_C(1310849024), // FRINT64Zv4f32
2338 UINT64_C(510017536), // FRINTADr
2339 UINT64_C(518406144), // FRINTAHr
2340 UINT64_C(505823232), // FRINTASr
2341 UINT64_C(3249332224), // FRINTA_2Z2Z_S
2342 UINT64_C(3250380800), // FRINTA_4Z4Z_S
2343 UINT64_C(1707384832), // FRINTA_ZPmZ_D
2344 UINT64_C(1698996224), // FRINTA_ZPmZ_H
2345 UINT64_C(1703190528), // FRINTA_ZPmZ_S
2346 UINT64_C(1691975680), // FRINTA_ZPzZ_D
2347 UINT64_C(1683587072), // FRINTA_ZPzZ_H
2348 UINT64_C(1687781376), // FRINTA_ZPzZ_S
2349 UINT64_C(773949440), // FRINTAv2f32
2350 UINT64_C(1851885568), // FRINTAv2f64
2351 UINT64_C(779716608), // FRINTAv4f16
2352 UINT64_C(1847691264), // FRINTAv4f32
2353 UINT64_C(1853458432), // FRINTAv8f16
2354 UINT64_C(510115840), // FRINTIDr
2355 UINT64_C(518504448), // FRINTIHr
2356 UINT64_C(505921536), // FRINTISr
2357 UINT64_C(1707581440), // FRINTI_ZPmZ_D
2358 UINT64_C(1699192832), // FRINTI_ZPmZ_H
2359 UINT64_C(1703387136), // FRINTI_ZPmZ_S
2360 UINT64_C(1692000256), // FRINTI_ZPzZ_D
2361 UINT64_C(1683611648), // FRINTI_ZPzZ_H
2362 UINT64_C(1687805952), // FRINTI_ZPzZ_S
2363 UINT64_C(782342144), // FRINTIv2f32
2364 UINT64_C(1860278272), // FRINTIv2f64
2365 UINT64_C(788109312), // FRINTIv4f16
2366 UINT64_C(1856083968), // FRINTIv4f32
2367 UINT64_C(1861851136), // FRINTIv8f16
2368 UINT64_C(509952000), // FRINTMDr
2369 UINT64_C(518340608), // FRINTMHr
2370 UINT64_C(505757696), // FRINTMSr
2371 UINT64_C(3249201152), // FRINTM_2Z2Z_S
2372 UINT64_C(3250249728), // FRINTM_4Z4Z_S
2373 UINT64_C(1707253760), // FRINTM_ZPmZ_D
2374 UINT64_C(1698865152), // FRINTM_ZPmZ_H
2375 UINT64_C(1703059456), // FRINTM_ZPmZ_S
2376 UINT64_C(1691926528), // FRINTM_ZPzZ_D
2377 UINT64_C(1683537920), // FRINTM_ZPzZ_H
2378 UINT64_C(1687732224), // FRINTM_ZPzZ_S
2379 UINT64_C(237082624), // FRINTMv2f32
2380 UINT64_C(1315018752), // FRINTMv2f64
2381 UINT64_C(242849792), // FRINTMv4f16
2382 UINT64_C(1310824448), // FRINTMv4f32
2383 UINT64_C(1316591616), // FRINTMv8f16
2384 UINT64_C(509886464), // FRINTNDr
2385 UINT64_C(518275072), // FRINTNHr
2386 UINT64_C(505692160), // FRINTNSr
2387 UINT64_C(3249070080), // FRINTN_2Z2Z_S
2388 UINT64_C(3250118656), // FRINTN_4Z4Z_S
2389 UINT64_C(1707122688), // FRINTN_ZPmZ_D
2390 UINT64_C(1698734080), // FRINTN_ZPmZ_H
2391 UINT64_C(1702928384), // FRINTN_ZPmZ_S
2392 UINT64_C(1691910144), // FRINTN_ZPzZ_D
2393 UINT64_C(1683521536), // FRINTN_ZPzZ_H
2394 UINT64_C(1687715840), // FRINTN_ZPzZ_S
2395 UINT64_C(237078528), // FRINTNv2f32
2396 UINT64_C(1315014656), // FRINTNv2f64
2397 UINT64_C(242845696), // FRINTNv4f16
2398 UINT64_C(1310820352), // FRINTNv4f32
2399 UINT64_C(1316587520), // FRINTNv8f16
2400 UINT64_C(509919232), // FRINTPDr
2401 UINT64_C(518307840), // FRINTPHr
2402 UINT64_C(505724928), // FRINTPSr
2403 UINT64_C(3249135616), // FRINTP_2Z2Z_S
2404 UINT64_C(3250184192), // FRINTP_4Z4Z_S
2405 UINT64_C(1707188224), // FRINTP_ZPmZ_D
2406 UINT64_C(1698799616), // FRINTP_ZPmZ_H
2407 UINT64_C(1702993920), // FRINTP_ZPmZ_S
2408 UINT64_C(1691918336), // FRINTP_ZPzZ_D
2409 UINT64_C(1683529728), // FRINTP_ZPzZ_H
2410 UINT64_C(1687724032), // FRINTP_ZPzZ_S
2411 UINT64_C(245467136), // FRINTPv2f32
2412 UINT64_C(1323403264), // FRINTPv2f64
2413 UINT64_C(251234304), // FRINTPv4f16
2414 UINT64_C(1319208960), // FRINTPv4f32
2415 UINT64_C(1324976128), // FRINTPv8f16
2416 UINT64_C(510083072), // FRINTXDr
2417 UINT64_C(518471680), // FRINTXHr
2418 UINT64_C(505888768), // FRINTXSr
2419 UINT64_C(1707515904), // FRINTX_ZPmZ_D
2420 UINT64_C(1699127296), // FRINTX_ZPmZ_H
2421 UINT64_C(1703321600), // FRINTX_ZPmZ_S
2422 UINT64_C(1691992064), // FRINTX_ZPzZ_D
2423 UINT64_C(1683603456), // FRINTX_ZPzZ_H
2424 UINT64_C(1687797760), // FRINTX_ZPzZ_S
2425 UINT64_C(773953536), // FRINTXv2f32
2426 UINT64_C(1851889664), // FRINTXv2f64
2427 UINT64_C(779720704), // FRINTXv4f16
2428 UINT64_C(1847695360), // FRINTXv4f32
2429 UINT64_C(1853462528), // FRINTXv8f16
2430 UINT64_C(509984768), // FRINTZDr
2431 UINT64_C(518373376), // FRINTZHr
2432 UINT64_C(505790464), // FRINTZSr
2433 UINT64_C(1707319296), // FRINTZ_ZPmZ_D
2434 UINT64_C(1698930688), // FRINTZ_ZPmZ_H
2435 UINT64_C(1703124992), // FRINTZ_ZPmZ_S
2436 UINT64_C(1691934720), // FRINTZ_ZPzZ_D
2437 UINT64_C(1683546112), // FRINTZ_ZPzZ_H
2438 UINT64_C(1687740416), // FRINTZ_ZPzZ_S
2439 UINT64_C(245471232), // FRINTZv2f32
2440 UINT64_C(1323407360), // FRINTZv2f64
2441 UINT64_C(251238400), // FRINTZv4f16
2442 UINT64_C(1319213056), // FRINTZv4f32
2443 UINT64_C(1324980224), // FRINTZv8f16
2444 UINT64_C(1708077056), // FRSQRTE_ZZ_D
2445 UINT64_C(1699688448), // FRSQRTE_ZZ_H
2446 UINT64_C(1703882752), // FRSQRTE_ZZ_S
2447 UINT64_C(2130302976), // FRSQRTEv1f16
2448 UINT64_C(2124535808), // FRSQRTEv1i32
2449 UINT64_C(2128730112), // FRSQRTEv1i64
2450 UINT64_C(782358528), // FRSQRTEv2f32
2451 UINT64_C(1860294656), // FRSQRTEv2f64
2452 UINT64_C(788125696), // FRSQRTEv4f16
2453 UINT64_C(1856100352), // FRSQRTEv4f32
2454 UINT64_C(1861867520), // FRSQRTEv8f16
2455 UINT64_C(1589656576), // FRSQRTS16
2456 UINT64_C(1587608576), // FRSQRTS32
2457 UINT64_C(1591802880), // FRSQRTS64
2458 UINT64_C(1707088896), // FRSQRTS_ZZZ_D
2459 UINT64_C(1698700288), // FRSQRTS_ZZZ_H
2460 UINT64_C(1702894592), // FRSQRTS_ZZZ_S
2461 UINT64_C(245431296), // FRSQRTSv2f32
2462 UINT64_C(1323367424), // FRSQRTSv2f64
2463 UINT64_C(247479296), // FRSQRTSv4f16
2464 UINT64_C(1319173120), // FRSQRTSv4f32
2465 UINT64_C(1321221120), // FRSQRTSv8f16
2466 UINT64_C(3252728192), // FSCALE_2Z2Z_D
2467 UINT64_C(3244339584), // FSCALE_2Z2Z_H
2468 UINT64_C(3248533888), // FSCALE_2Z2Z_S
2469 UINT64_C(3252724096), // FSCALE_2ZZ_D
2470 UINT64_C(3244335488), // FSCALE_2ZZ_H
2471 UINT64_C(3248529792), // FSCALE_2ZZ_S
2472 UINT64_C(3252730240), // FSCALE_4Z4Z_D
2473 UINT64_C(3244341632), // FSCALE_4Z4Z_H
2474 UINT64_C(3248535936), // FSCALE_4Z4Z_S
2475 UINT64_C(3252726144), // FSCALE_4ZZ_D
2476 UINT64_C(3244337536), // FSCALE_4ZZ_H
2477 UINT64_C(3248531840), // FSCALE_4ZZ_S
2478 UINT64_C(1707704320), // FSCALE_ZPmZ_D
2479 UINT64_C(1699315712), // FSCALE_ZPmZ_H
2480 UINT64_C(1703510016), // FSCALE_ZPmZ_S
2481 UINT64_C(782302208), // FSCALEv2f32
2482 UINT64_C(1860238336), // FSCALEv2f64
2483 UINT64_C(784350208), // FSCALEv4f16
2484 UINT64_C(1856044032), // FSCALEv4f32
2485 UINT64_C(1858092032), // FSCALEv8f16
2486 UINT64_C(509722624), // FSQRTDr
2487 UINT64_C(518111232), // FSQRTHr
2488 UINT64_C(505528320), // FSQRTSr
2489 UINT64_C(1692114944), // FSQRT_ZPZz_D
2490 UINT64_C(1683726336), // FSQRT_ZPZz_H
2491 UINT64_C(1687920640), // FSQRT_ZPZz_S
2492 UINT64_C(1707974656), // FSQRT_ZPmZ_D
2493 UINT64_C(1699586048), // FSQRT_ZPmZ_H
2494 UINT64_C(1703780352), // FSQRT_ZPmZ_S
2495 UINT64_C(782366720), // FSQRTv2f32
2496 UINT64_C(1860302848), // FSQRTv2f64
2497 UINT64_C(788133888), // FSQRTv4f16
2498 UINT64_C(1856108544), // FSQRTv4f32
2499 UINT64_C(1861875712), // FSQRTv8f16
2500 UINT64_C(509622272), // FSUBDrr
2501 UINT64_C(518010880), // FSUBHrr
2502 UINT64_C(1708883968), // FSUBR_ZPmI_D
2503 UINT64_C(1700495360), // FSUBR_ZPmI_H
2504 UINT64_C(1704689664), // FSUBR_ZPmI_S
2505 UINT64_C(1707311104), // FSUBR_ZPmZ_D
2506 UINT64_C(1698922496), // FSUBR_ZPmZ_H
2507 UINT64_C(1703116800), // FSUBR_ZPmZ_S
2508 UINT64_C(505427968), // FSUBSrr
2509 UINT64_C(3252689928), // FSUB_VG2_M2Z_D
2510 UINT64_C(3248757768), // FSUB_VG2_M2Z_H
2511 UINT64_C(3248495624), // FSUB_VG2_M2Z_S
2512 UINT64_C(3252755464), // FSUB_VG4_M4Z_D
2513 UINT64_C(3248823304), // FSUB_VG4_M4Z_H
2514 UINT64_C(3248561160), // FSUB_VG4_M4Z_S
2515 UINT64_C(1708752896), // FSUB_ZPmI_D
2516 UINT64_C(1700364288), // FSUB_ZPmI_H
2517 UINT64_C(1704558592), // FSUB_ZPmI_S
2518 UINT64_C(1707180032), // FSUB_ZPmZ_D
2519 UINT64_C(1698791424), // FSUB_ZPmZ_H
2520 UINT64_C(1702985728), // FSUB_ZPmZ_S
2521 UINT64_C(1707082752), // FSUB_ZZZ_D
2522 UINT64_C(1698694144), // FSUB_ZZZ_H
2523 UINT64_C(1702888448), // FSUB_ZZZ_S
2524 UINT64_C(245421056), // FSUBv2f32
2525 UINT64_C(1323357184), // FSUBv2f64
2526 UINT64_C(247469056), // FSUBv4f16
2527 UINT64_C(1319162880), // FSUBv4f32
2528 UINT64_C(1321210880), // FSUBv8f16
2529 UINT64_C(1708163072), // FTMAD_ZZI_D
2530 UINT64_C(1699774464), // FTMAD_ZZI_H
2531 UINT64_C(1703968768), // FTMAD_ZZI_S
2532 UINT64_C(2153775112), // FTMOPA_M2ZZZI_BtoH
2533 UINT64_C(2153775104), // FTMOPA_M2ZZZI_BtoS
2534 UINT64_C(2168455176), // FTMOPA_M2ZZZI_HtoH
2535 UINT64_C(2170552320), // FTMOPA_M2ZZZI_HtoS
2536 UINT64_C(2151677952), // FTMOPA_M2ZZZI_StoS
2537 UINT64_C(1707084800), // FTSMUL_ZZZ_D
2538 UINT64_C(1698696192), // FTSMUL_ZZZ_H
2539 UINT64_C(1702890496), // FTSMUL_ZZZ_S
2540 UINT64_C(81833984), // FTSSEL_ZZZ_D
2541 UINT64_C(73445376), // FTSSEL_ZZZ_H
2542 UINT64_C(77639680), // FTSSEL_ZZZ_S
2543 UINT64_C(3251636224), // FVDOTB_VG4_M2ZZI_BtoS
2544 UINT64_C(3251636240), // FVDOTT_VG4_M2ZZI_BtoS
2545 UINT64_C(3251638304), // FVDOT_VG2_M2ZZI_BtoH
2546 UINT64_C(3243245576), // FVDOT_VG2_M2ZZI_HtoS
2547 UINT64_C(3574101951), // GCSPOPCX
2548 UINT64_C(3576395552), // GCSPOPM
2549 UINT64_C(3574101983), // GCSPOPX
2550 UINT64_C(3574298368), // GCSPUSHM
2551 UINT64_C(3574101919), // GCSPUSHX
2552 UINT64_C(3574298432), // GCSSS1
2553 UINT64_C(3576395616), // GCSSS2
2554 UINT64_C(3642690560), // GCSSTR
2555 UINT64_C(3642694656), // GCSSTTR
2556 UINT64_C(3292577792), // GLD1B_D
2557 UINT64_C(3290480640), // GLD1B_D_IMM
2558 UINT64_C(3292545024), // GLD1B_D_SXTW
2559 UINT64_C(3288350720), // GLD1B_D_UXTW
2560 UINT64_C(2216738816), // GLD1B_S_IMM
2561 UINT64_C(2218803200), // GLD1B_S_SXTW
2562 UINT64_C(2214608896), // GLD1B_S_UXTW
2563 UINT64_C(3317743616), // GLD1D
2564 UINT64_C(3315646464), // GLD1D_IMM
2565 UINT64_C(3319840768), // GLD1D_SCALED
2566 UINT64_C(3317710848), // GLD1D_SXTW
2567 UINT64_C(3319808000), // GLD1D_SXTW_SCALED
2568 UINT64_C(3313516544), // GLD1D_UXTW
2569 UINT64_C(3315613696), // GLD1D_UXTW_SCALED
2570 UINT64_C(3300966400), // GLD1H_D
2571 UINT64_C(3298869248), // GLD1H_D_IMM
2572 UINT64_C(3303063552), // GLD1H_D_SCALED
2573 UINT64_C(3300933632), // GLD1H_D_SXTW
2574 UINT64_C(3303030784), // GLD1H_D_SXTW_SCALED
2575 UINT64_C(3296739328), // GLD1H_D_UXTW
2576 UINT64_C(3298836480), // GLD1H_D_UXTW_SCALED
2577 UINT64_C(2225127424), // GLD1H_S_IMM
2578 UINT64_C(2227191808), // GLD1H_S_SXTW
2579 UINT64_C(2229288960), // GLD1H_S_SXTW_SCALED
2580 UINT64_C(2222997504), // GLD1H_S_UXTW
2581 UINT64_C(2225094656), // GLD1H_S_UXTW_SCALED
2582 UINT64_C(3288375296), // GLD1Q
2583 UINT64_C(3292561408), // GLD1SB_D
2584 UINT64_C(3290464256), // GLD1SB_D_IMM
2585 UINT64_C(3292528640), // GLD1SB_D_SXTW
2586 UINT64_C(3288334336), // GLD1SB_D_UXTW
2587 UINT64_C(2216722432), // GLD1SB_S_IMM
2588 UINT64_C(2218786816), // GLD1SB_S_SXTW
2589 UINT64_C(2214592512), // GLD1SB_S_UXTW
2590 UINT64_C(3300950016), // GLD1SH_D
2591 UINT64_C(3298852864), // GLD1SH_D_IMM
2592 UINT64_C(3303047168), // GLD1SH_D_SCALED
2593 UINT64_C(3300917248), // GLD1SH_D_SXTW
2594 UINT64_C(3303014400), // GLD1SH_D_SXTW_SCALED
2595 UINT64_C(3296722944), // GLD1SH_D_UXTW
2596 UINT64_C(3298820096), // GLD1SH_D_UXTW_SCALED
2597 UINT64_C(2225111040), // GLD1SH_S_IMM
2598 UINT64_C(2227175424), // GLD1SH_S_SXTW
2599 UINT64_C(2229272576), // GLD1SH_S_SXTW_SCALED
2600 UINT64_C(2222981120), // GLD1SH_S_UXTW
2601 UINT64_C(2225078272), // GLD1SH_S_UXTW_SCALED
2602 UINT64_C(3309338624), // GLD1SW_D
2603 UINT64_C(3307241472), // GLD1SW_D_IMM
2604 UINT64_C(3311435776), // GLD1SW_D_SCALED
2605 UINT64_C(3309305856), // GLD1SW_D_SXTW
2606 UINT64_C(3311403008), // GLD1SW_D_SXTW_SCALED
2607 UINT64_C(3305111552), // GLD1SW_D_UXTW
2608 UINT64_C(3307208704), // GLD1SW_D_UXTW_SCALED
2609 UINT64_C(3309355008), // GLD1W_D
2610 UINT64_C(3307257856), // GLD1W_D_IMM
2611 UINT64_C(3311452160), // GLD1W_D_SCALED
2612 UINT64_C(3309322240), // GLD1W_D_SXTW
2613 UINT64_C(3311419392), // GLD1W_D_SXTW_SCALED
2614 UINT64_C(3305127936), // GLD1W_D_UXTW
2615 UINT64_C(3307225088), // GLD1W_D_UXTW_SCALED
2616 UINT64_C(2233516032), // GLD1W_IMM
2617 UINT64_C(2235580416), // GLD1W_SXTW
2618 UINT64_C(2237677568), // GLD1W_SXTW_SCALED
2619 UINT64_C(2231386112), // GLD1W_UXTW
2620 UINT64_C(2233483264), // GLD1W_UXTW_SCALED
2621 UINT64_C(3292585984), // GLDFF1B_D
2622 UINT64_C(3290488832), // GLDFF1B_D_IMM
2623 UINT64_C(3292553216), // GLDFF1B_D_SXTW
2624 UINT64_C(3288358912), // GLDFF1B_D_UXTW
2625 UINT64_C(2216747008), // GLDFF1B_S_IMM
2626 UINT64_C(2218811392), // GLDFF1B_S_SXTW
2627 UINT64_C(2214617088), // GLDFF1B_S_UXTW
2628 UINT64_C(3317751808), // GLDFF1D
2629 UINT64_C(3315654656), // GLDFF1D_IMM
2630 UINT64_C(3319848960), // GLDFF1D_SCALED
2631 UINT64_C(3317719040), // GLDFF1D_SXTW
2632 UINT64_C(3319816192), // GLDFF1D_SXTW_SCALED
2633 UINT64_C(3313524736), // GLDFF1D_UXTW
2634 UINT64_C(3315621888), // GLDFF1D_UXTW_SCALED
2635 UINT64_C(3300974592), // GLDFF1H_D
2636 UINT64_C(3298877440), // GLDFF1H_D_IMM
2637 UINT64_C(3303071744), // GLDFF1H_D_SCALED
2638 UINT64_C(3300941824), // GLDFF1H_D_SXTW
2639 UINT64_C(3303038976), // GLDFF1H_D_SXTW_SCALED
2640 UINT64_C(3296747520), // GLDFF1H_D_UXTW
2641 UINT64_C(3298844672), // GLDFF1H_D_UXTW_SCALED
2642 UINT64_C(2225135616), // GLDFF1H_S_IMM
2643 UINT64_C(2227200000), // GLDFF1H_S_SXTW
2644 UINT64_C(2229297152), // GLDFF1H_S_SXTW_SCALED
2645 UINT64_C(2223005696), // GLDFF1H_S_UXTW
2646 UINT64_C(2225102848), // GLDFF1H_S_UXTW_SCALED
2647 UINT64_C(3292569600), // GLDFF1SB_D
2648 UINT64_C(3290472448), // GLDFF1SB_D_IMM
2649 UINT64_C(3292536832), // GLDFF1SB_D_SXTW
2650 UINT64_C(3288342528), // GLDFF1SB_D_UXTW
2651 UINT64_C(2216730624), // GLDFF1SB_S_IMM
2652 UINT64_C(2218795008), // GLDFF1SB_S_SXTW
2653 UINT64_C(2214600704), // GLDFF1SB_S_UXTW
2654 UINT64_C(3300958208), // GLDFF1SH_D
2655 UINT64_C(3298861056), // GLDFF1SH_D_IMM
2656 UINT64_C(3303055360), // GLDFF1SH_D_SCALED
2657 UINT64_C(3300925440), // GLDFF1SH_D_SXTW
2658 UINT64_C(3303022592), // GLDFF1SH_D_SXTW_SCALED
2659 UINT64_C(3296731136), // GLDFF1SH_D_UXTW
2660 UINT64_C(3298828288), // GLDFF1SH_D_UXTW_SCALED
2661 UINT64_C(2225119232), // GLDFF1SH_S_IMM
2662 UINT64_C(2227183616), // GLDFF1SH_S_SXTW
2663 UINT64_C(2229280768), // GLDFF1SH_S_SXTW_SCALED
2664 UINT64_C(2222989312), // GLDFF1SH_S_UXTW
2665 UINT64_C(2225086464), // GLDFF1SH_S_UXTW_SCALED
2666 UINT64_C(3309346816), // GLDFF1SW_D
2667 UINT64_C(3307249664), // GLDFF1SW_D_IMM
2668 UINT64_C(3311443968), // GLDFF1SW_D_SCALED
2669 UINT64_C(3309314048), // GLDFF1SW_D_SXTW
2670 UINT64_C(3311411200), // GLDFF1SW_D_SXTW_SCALED
2671 UINT64_C(3305119744), // GLDFF1SW_D_UXTW
2672 UINT64_C(3307216896), // GLDFF1SW_D_UXTW_SCALED
2673 UINT64_C(3309363200), // GLDFF1W_D
2674 UINT64_C(3307266048), // GLDFF1W_D_IMM
2675 UINT64_C(3311460352), // GLDFF1W_D_SCALED
2676 UINT64_C(3309330432), // GLDFF1W_D_SXTW
2677 UINT64_C(3311427584), // GLDFF1W_D_SXTW_SCALED
2678 UINT64_C(3305136128), // GLDFF1W_D_UXTW
2679 UINT64_C(3307233280), // GLDFF1W_D_UXTW_SCALED
2680 UINT64_C(2233524224), // GLDFF1W_IMM
2681 UINT64_C(2235588608), // GLDFF1W_SXTW
2682 UINT64_C(2237685760), // GLDFF1W_SXTW_SCALED
2683 UINT64_C(2231394304), // GLDFF1W_UXTW
2684 UINT64_C(2233491456), // GLDFF1W_UXTW_SCALED
2685 UINT64_C(2596279296), // GMI
2686 UINT64_C(3573751839), // HINT
2687 UINT64_C(1172357120), // HISTCNT_ZPzZZ_D
2688 UINT64_C(1168162816), // HISTCNT_ZPzZZ_S
2689 UINT64_C(1159766016), // HISTSEG_ZZZ
2690 UINT64_C(3560964096), // HLT
2691 UINT64_C(3556769794), // HVC
2692 UINT64_C(70311936), // INCB_XPiI
2693 UINT64_C(82894848), // INCD_XPiI
2694 UINT64_C(82886656), // INCD_ZPiI
2695 UINT64_C(74506240), // INCH_XPiI
2696 UINT64_C(74498048), // INCH_ZPiI
2697 UINT64_C(623675392), // INCP_XP_B
2698 UINT64_C(636258304), // INCP_XP_D
2699 UINT64_C(627869696), // INCP_XP_H
2700 UINT64_C(632064000), // INCP_XP_S
2701 UINT64_C(636256256), // INCP_ZP_D
2702 UINT64_C(627867648), // INCP_ZP_H
2703 UINT64_C(632061952), // INCP_ZP_S
2704 UINT64_C(78700544), // INCW_XPiI
2705 UINT64_C(78692352), // INCW_ZPiI
2706 UINT64_C(69222400), // INDEX_II_B
2707 UINT64_C(81805312), // INDEX_II_D
2708 UINT64_C(73416704), // INDEX_II_H
2709 UINT64_C(77611008), // INDEX_II_S
2710 UINT64_C(69224448), // INDEX_IR_B
2711 UINT64_C(81807360), // INDEX_IR_D
2712 UINT64_C(73418752), // INDEX_IR_H
2713 UINT64_C(77613056), // INDEX_IR_S
2714 UINT64_C(69223424), // INDEX_RI_B
2715 UINT64_C(81806336), // INDEX_RI_D
2716 UINT64_C(73417728), // INDEX_RI_H
2717 UINT64_C(77612032), // INDEX_RI_S
2718 UINT64_C(69225472), // INDEX_RR_B
2719 UINT64_C(81808384), // INDEX_RR_D
2720 UINT64_C(73419776), // INDEX_RR_H
2721 UINT64_C(77614080), // INDEX_RR_S
2722 UINT64_C(3221225472), // INSERT_MXIPZ_H_B
2723 UINT64_C(3233808384), // INSERT_MXIPZ_H_D
2724 UINT64_C(3225419776), // INSERT_MXIPZ_H_H
2725 UINT64_C(3233873920), // INSERT_MXIPZ_H_Q
2726 UINT64_C(3229614080), // INSERT_MXIPZ_H_S
2727 UINT64_C(3221258240), // INSERT_MXIPZ_V_B
2728 UINT64_C(3233841152), // INSERT_MXIPZ_V_D
2729 UINT64_C(3225452544), // INSERT_MXIPZ_V_H
2730 UINT64_C(3233906688), // INSERT_MXIPZ_V_Q
2731 UINT64_C(3229646848), // INSERT_MXIPZ_V_S
2732 UINT64_C(86259712), // INSR_ZR_B
2733 UINT64_C(98842624), // INSR_ZR_D
2734 UINT64_C(90454016), // INSR_ZR_H
2735 UINT64_C(94648320), // INSR_ZR_S
2736 UINT64_C(87308288), // INSR_ZV_B
2737 UINT64_C(99891200), // INSR_ZV_D
2738 UINT64_C(91502592), // INSR_ZV_H
2739 UINT64_C(95696896), // INSR_ZV_S
2740 UINT64_C(1308761088), // INSvi16gpr
2741 UINT64_C(1845625856), // INSvi16lane
2742 UINT64_C(1308892160), // INSvi32gpr
2743 UINT64_C(1845756928), // INSvi32lane
2744 UINT64_C(1309154304), // INSvi64gpr
2745 UINT64_C(1846019072), // INSvi64lane
2746 UINT64_C(1308695552), // INSvi8gpr
2747 UINT64_C(1845560320), // INSvi8lane
2748 UINT64_C(2596278272), // IRG
2749 UINT64_C(3573756127), // ISB
2750 UINT64_C(86024192), // LASTA_RPZ_B
2751 UINT64_C(98607104), // LASTA_RPZ_D
2752 UINT64_C(90218496), // LASTA_RPZ_H
2753 UINT64_C(94412800), // LASTA_RPZ_S
2754 UINT64_C(86147072), // LASTA_VPZ_B
2755 UINT64_C(98729984), // LASTA_VPZ_D
2756 UINT64_C(90341376), // LASTA_VPZ_H
2757 UINT64_C(94535680), // LASTA_VPZ_S
2758 UINT64_C(86089728), // LASTB_RPZ_B
2759 UINT64_C(98672640), // LASTB_RPZ_D
2760 UINT64_C(90284032), // LASTB_RPZ_H
2761 UINT64_C(94478336), // LASTB_RPZ_S
2762 UINT64_C(86212608), // LASTB_VPZ_B
2763 UINT64_C(98795520), // LASTB_VPZ_D
2764 UINT64_C(90406912), // LASTB_VPZ_H
2765 UINT64_C(94601216), // LASTB_VPZ_S
2766 UINT64_C(623017984), // LASTP_XPP_B
2767 UINT64_C(635600896), // LASTP_XPP_D
2768 UINT64_C(627212288), // LASTP_XPP_H
2769 UINT64_C(631406592), // LASTP_XPP_S
2770 UINT64_C(2751479808), // LD1B
2771 UINT64_C(2684354560), // LD1B_2Z
2772 UINT64_C(2688548864), // LD1B_2Z_IMM
2773 UINT64_C(2701131776), // LD1B_2Z_STRIDED
2774 UINT64_C(2705326080), // LD1B_2Z_STRIDED_IMM
2775 UINT64_C(2684387328), // LD1B_4Z
2776 UINT64_C(2688581632), // LD1B_4Z_IMM
2777 UINT64_C(2701164544), // LD1B_4Z_STRIDED
2778 UINT64_C(2705358848), // LD1B_4Z_STRIDED_IMM
2779 UINT64_C(2757771264), // LD1B_D
2780 UINT64_C(2757795840), // LD1B_D_IMM
2781 UINT64_C(2753576960), // LD1B_H
2782 UINT64_C(2753601536), // LD1B_H_IMM
2783 UINT64_C(2751504384), // LD1B_IMM
2784 UINT64_C(2755674112), // LD1B_S
2785 UINT64_C(2755698688), // LD1B_S_IMM
2786 UINT64_C(2782937088), // LD1D
2787 UINT64_C(2684379136), // LD1D_2Z
2788 UINT64_C(2688573440), // LD1D_2Z_IMM
2789 UINT64_C(2701156352), // LD1D_2Z_STRIDED
2790 UINT64_C(2705350656), // LD1D_2Z_STRIDED_IMM
2791 UINT64_C(2684411904), // LD1D_4Z
2792 UINT64_C(2688606208), // LD1D_4Z_IMM
2793 UINT64_C(2701189120), // LD1D_4Z_STRIDED
2794 UINT64_C(2705383424), // LD1D_4Z_STRIDED_IMM
2795 UINT64_C(2782961664), // LD1D_IMM
2796 UINT64_C(2776662016), // LD1D_Q
2797 UINT64_C(2777686016), // LD1D_Q_IMM
2798 UINT64_C(1279270912), // LD1Fourv16b
2799 UINT64_C(1287659520), // LD1Fourv16b_POST
2800 UINT64_C(205532160), // LD1Fourv1d
2801 UINT64_C(213920768), // LD1Fourv1d_POST
2802 UINT64_C(1279273984), // LD1Fourv2d
2803 UINT64_C(1287662592), // LD1Fourv2d_POST
2804 UINT64_C(205531136), // LD1Fourv2s
2805 UINT64_C(213919744), // LD1Fourv2s_POST
2806 UINT64_C(205530112), // LD1Fourv4h
2807 UINT64_C(213918720), // LD1Fourv4h_POST
2808 UINT64_C(1279272960), // LD1Fourv4s
2809 UINT64_C(1287661568), // LD1Fourv4s_POST
2810 UINT64_C(205529088), // LD1Fourv8b
2811 UINT64_C(213917696), // LD1Fourv8b_POST
2812 UINT64_C(1279271936), // LD1Fourv8h
2813 UINT64_C(1287660544), // LD1Fourv8h_POST
2814 UINT64_C(2761965568), // LD1H
2815 UINT64_C(2684362752), // LD1H_2Z
2816 UINT64_C(2688557056), // LD1H_2Z_IMM
2817 UINT64_C(2701139968), // LD1H_2Z_STRIDED
2818 UINT64_C(2705334272), // LD1H_2Z_STRIDED_IMM
2819 UINT64_C(2684395520), // LD1H_4Z
2820 UINT64_C(2688589824), // LD1H_4Z_IMM
2821 UINT64_C(2701172736), // LD1H_4Z_STRIDED
2822 UINT64_C(2705367040), // LD1H_4Z_STRIDED_IMM
2823 UINT64_C(2766159872), // LD1H_D
2824 UINT64_C(2766184448), // LD1H_D_IMM
2825 UINT64_C(2761990144), // LD1H_IMM
2826 UINT64_C(2764062720), // LD1H_S
2827 UINT64_C(2764087296), // LD1H_S_IMM
2828 UINT64_C(1279291392), // LD1Onev16b
2829 UINT64_C(1287680000), // LD1Onev16b_POST
2830 UINT64_C(205552640), // LD1Onev1d
2831 UINT64_C(213941248), // LD1Onev1d_POST
2832 UINT64_C(1279294464), // LD1Onev2d
2833 UINT64_C(1287683072), // LD1Onev2d_POST
2834 UINT64_C(205551616), // LD1Onev2s
2835 UINT64_C(213940224), // LD1Onev2s_POST
2836 UINT64_C(205550592), // LD1Onev4h
2837 UINT64_C(213939200), // LD1Onev4h_POST
2838 UINT64_C(1279293440), // LD1Onev4s
2839 UINT64_C(1287682048), // LD1Onev4s_POST
2840 UINT64_C(205549568), // LD1Onev8b
2841 UINT64_C(213938176), // LD1Onev8b_POST
2842 UINT64_C(1279292416), // LD1Onev8h
2843 UINT64_C(1287681024), // LD1Onev8h_POST
2844 UINT64_C(2218844160), // LD1RB_D_IMM
2845 UINT64_C(2218827776), // LD1RB_H_IMM
2846 UINT64_C(2218819584), // LD1RB_IMM
2847 UINT64_C(2218835968), // LD1RB_S_IMM
2848 UINT64_C(2244009984), // LD1RD_IMM
2849 UINT64_C(2227232768), // LD1RH_D_IMM
2850 UINT64_C(2227216384), // LD1RH_IMM
2851 UINT64_C(2227224576), // LD1RH_S_IMM
2852 UINT64_C(2753560576), // LD1RO_B
2853 UINT64_C(2753568768), // LD1RO_B_IMM
2854 UINT64_C(2778726400), // LD1RO_D
2855 UINT64_C(2778734592), // LD1RO_D_IMM
2856 UINT64_C(2761949184), // LD1RO_H
2857 UINT64_C(2761957376), // LD1RO_H_IMM
2858 UINT64_C(2770337792), // LD1RO_W
2859 UINT64_C(2770345984), // LD1RO_W_IMM
2860 UINT64_C(2751463424), // LD1RQ_B
2861 UINT64_C(2751471616), // LD1RQ_B_IMM
2862 UINT64_C(2776629248), // LD1RQ_D
2863 UINT64_C(2776637440), // LD1RQ_D_IMM
2864 UINT64_C(2759852032), // LD1RQ_H
2865 UINT64_C(2759860224), // LD1RQ_H_IMM
2866 UINT64_C(2768240640), // LD1RQ_W
2867 UINT64_C(2768248832), // LD1RQ_W_IMM
2868 UINT64_C(2243985408), // LD1RSB_D_IMM
2869 UINT64_C(2244001792), // LD1RSB_H_IMM
2870 UINT64_C(2243993600), // LD1RSB_S_IMM
2871 UINT64_C(2235596800), // LD1RSH_D_IMM
2872 UINT64_C(2235604992), // LD1RSH_S_IMM
2873 UINT64_C(2227208192), // LD1RSW_IMM
2874 UINT64_C(2235621376), // LD1RW_D_IMM
2875 UINT64_C(2235613184), // LD1RW_IMM
2876 UINT64_C(1296089088), // LD1Rv16b
2877 UINT64_C(1304477696), // LD1Rv16b_POST
2878 UINT64_C(222350336), // LD1Rv1d
2879 UINT64_C(230738944), // LD1Rv1d_POST
2880 UINT64_C(1296092160), // LD1Rv2d
2881 UINT64_C(1304480768), // LD1Rv2d_POST
2882 UINT64_C(222349312), // LD1Rv2s
2883 UINT64_C(230737920), // LD1Rv2s_POST
2884 UINT64_C(222348288), // LD1Rv4h
2885 UINT64_C(230736896), // LD1Rv4h_POST
2886 UINT64_C(1296091136), // LD1Rv4s
2887 UINT64_C(1304479744), // LD1Rv4s_POST
2888 UINT64_C(222347264), // LD1Rv8b
2889 UINT64_C(230735872), // LD1Rv8b_POST
2890 UINT64_C(1296090112), // LD1Rv8h
2891 UINT64_C(1304478720), // LD1Rv8h_POST
2892 UINT64_C(2776645632), // LD1SB_D
2893 UINT64_C(2776670208), // LD1SB_D_IMM
2894 UINT64_C(2780839936), // LD1SB_H
2895 UINT64_C(2780864512), // LD1SB_H_IMM
2896 UINT64_C(2778742784), // LD1SB_S
2897 UINT64_C(2778767360), // LD1SB_S_IMM
2898 UINT64_C(2768257024), // LD1SH_D
2899 UINT64_C(2768281600), // LD1SH_D_IMM
2900 UINT64_C(2770354176), // LD1SH_S
2901 UINT64_C(2770378752), // LD1SH_S_IMM
2902 UINT64_C(2759868416), // LD1SW_D
2903 UINT64_C(2759892992), // LD1SW_D_IMM
2904 UINT64_C(1279287296), // LD1Threev16b
2905 UINT64_C(1287675904), // LD1Threev16b_POST
2906 UINT64_C(205548544), // LD1Threev1d
2907 UINT64_C(213937152), // LD1Threev1d_POST
2908 UINT64_C(1279290368), // LD1Threev2d
2909 UINT64_C(1287678976), // LD1Threev2d_POST
2910 UINT64_C(205547520), // LD1Threev2s
2911 UINT64_C(213936128), // LD1Threev2s_POST
2912 UINT64_C(205546496), // LD1Threev4h
2913 UINT64_C(213935104), // LD1Threev4h_POST
2914 UINT64_C(1279289344), // LD1Threev4s
2915 UINT64_C(1287677952), // LD1Threev4s_POST
2916 UINT64_C(205545472), // LD1Threev8b
2917 UINT64_C(213934080), // LD1Threev8b_POST
2918 UINT64_C(1279288320), // LD1Threev8h
2919 UINT64_C(1287676928), // LD1Threev8h_POST
2920 UINT64_C(1279303680), // LD1Twov16b
2921 UINT64_C(1287692288), // LD1Twov16b_POST
2922 UINT64_C(205564928), // LD1Twov1d
2923 UINT64_C(213953536), // LD1Twov1d_POST
2924 UINT64_C(1279306752), // LD1Twov2d
2925 UINT64_C(1287695360), // LD1Twov2d_POST
2926 UINT64_C(205563904), // LD1Twov2s
2927 UINT64_C(213952512), // LD1Twov2s_POST
2928 UINT64_C(205562880), // LD1Twov4h
2929 UINT64_C(213951488), // LD1Twov4h_POST
2930 UINT64_C(1279305728), // LD1Twov4s
2931 UINT64_C(1287694336), // LD1Twov4s_POST
2932 UINT64_C(205561856), // LD1Twov8b
2933 UINT64_C(213950464), // LD1Twov8b_POST
2934 UINT64_C(1279304704), // LD1Twov8h
2935 UINT64_C(1287693312), // LD1Twov8h_POST
2936 UINT64_C(2772451328), // LD1W
2937 UINT64_C(2684370944), // LD1W_2Z
2938 UINT64_C(2688565248), // LD1W_2Z_IMM
2939 UINT64_C(2701148160), // LD1W_2Z_STRIDED
2940 UINT64_C(2705342464), // LD1W_2Z_STRIDED_IMM
2941 UINT64_C(2684403712), // LD1W_4Z
2942 UINT64_C(2688598016), // LD1W_4Z_IMM
2943 UINT64_C(2701180928), // LD1W_4Z_STRIDED
2944 UINT64_C(2705375232), // LD1W_4Z_STRIDED_IMM
2945 UINT64_C(2774548480), // LD1W_D
2946 UINT64_C(2774573056), // LD1W_D_IMM
2947 UINT64_C(2772475904), // LD1W_IMM
2948 UINT64_C(2768273408), // LD1W_Q
2949 UINT64_C(2769297408), // LD1W_Q_IMM
2950 UINT64_C(3758096384), // LD1_MXIPXX_H_B
2951 UINT64_C(3770679296), // LD1_MXIPXX_H_D
2952 UINT64_C(3762290688), // LD1_MXIPXX_H_H
2953 UINT64_C(3787456512), // LD1_MXIPXX_H_Q
2954 UINT64_C(3766484992), // LD1_MXIPXX_H_S
2955 UINT64_C(3758129152), // LD1_MXIPXX_V_B
2956 UINT64_C(3770712064), // LD1_MXIPXX_V_D
2957 UINT64_C(3762323456), // LD1_MXIPXX_V_H
2958 UINT64_C(3787489280), // LD1_MXIPXX_V_Q
2959 UINT64_C(3766517760), // LD1_MXIPXX_V_S
2960 UINT64_C(222314496), // LD1i16
2961 UINT64_C(230703104), // LD1i16_POST
2962 UINT64_C(222330880), // LD1i32
2963 UINT64_C(230719488), // LD1i32_POST
2964 UINT64_C(222331904), // LD1i64
2965 UINT64_C(230720512), // LD1i64_POST
2966 UINT64_C(222298112), // LD1i8
2967 UINT64_C(230686720), // LD1i8_POST
2968 UINT64_C(2753609728), // LD2B
2969 UINT64_C(2753617920), // LD2B_IMM
2970 UINT64_C(2778775552), // LD2D
2971 UINT64_C(2778783744), // LD2D_IMM
2972 UINT64_C(2761998336), // LD2H
2973 UINT64_C(2762006528), // LD2H_IMM
2974 UINT64_C(2761981952), // LD2Q
2975 UINT64_C(2760957952), // LD2Q_IMM
2976 UINT64_C(1298186240), // LD2Rv16b
2977 UINT64_C(1306574848), // LD2Rv16b_POST
2978 UINT64_C(224447488), // LD2Rv1d
2979 UINT64_C(232836096), // LD2Rv1d_POST
2980 UINT64_C(1298189312), // LD2Rv2d
2981 UINT64_C(1306577920), // LD2Rv2d_POST
2982 UINT64_C(224446464), // LD2Rv2s
2983 UINT64_C(232835072), // LD2Rv2s_POST
2984 UINT64_C(224445440), // LD2Rv4h
2985 UINT64_C(232834048), // LD2Rv4h_POST
2986 UINT64_C(1298188288), // LD2Rv4s
2987 UINT64_C(1306576896), // LD2Rv4s_POST
2988 UINT64_C(224444416), // LD2Rv8b
2989 UINT64_C(232833024), // LD2Rv8b_POST
2990 UINT64_C(1298187264), // LD2Rv8h
2991 UINT64_C(1306575872), // LD2Rv8h_POST
2992 UINT64_C(1279295488), // LD2Twov16b
2993 UINT64_C(1287684096), // LD2Twov16b_POST
2994 UINT64_C(1279298560), // LD2Twov2d
2995 UINT64_C(1287687168), // LD2Twov2d_POST
2996 UINT64_C(205555712), // LD2Twov2s
2997 UINT64_C(213944320), // LD2Twov2s_POST
2998 UINT64_C(205554688), // LD2Twov4h
2999 UINT64_C(213943296), // LD2Twov4h_POST
3000 UINT64_C(1279297536), // LD2Twov4s
3001 UINT64_C(1287686144), // LD2Twov4s_POST
3002 UINT64_C(205553664), // LD2Twov8b
3003 UINT64_C(213942272), // LD2Twov8b_POST
3004 UINT64_C(1279296512), // LD2Twov8h
3005 UINT64_C(1287685120), // LD2Twov8h_POST
3006 UINT64_C(2770386944), // LD2W
3007 UINT64_C(2770395136), // LD2W_IMM
3008 UINT64_C(224411648), // LD2i16
3009 UINT64_C(232800256), // LD2i16_POST
3010 UINT64_C(224428032), // LD2i32
3011 UINT64_C(232816640), // LD2i32_POST
3012 UINT64_C(224429056), // LD2i64
3013 UINT64_C(232817664), // LD2i64_POST
3014 UINT64_C(224395264), // LD2i8
3015 UINT64_C(232783872), // LD2i8_POST
3016 UINT64_C(2755706880), // LD3B
3017 UINT64_C(2755715072), // LD3B_IMM
3018 UINT64_C(2780872704), // LD3D
3019 UINT64_C(2780880896), // LD3D_IMM
3020 UINT64_C(2764095488), // LD3H
3021 UINT64_C(2764103680), // LD3H_IMM
3022 UINT64_C(2770370560), // LD3Q
3023 UINT64_C(2769346560), // LD3Q_IMM
3024 UINT64_C(1296097280), // LD3Rv16b
3025 UINT64_C(1304485888), // LD3Rv16b_POST
3026 UINT64_C(222358528), // LD3Rv1d
3027 UINT64_C(230747136), // LD3Rv1d_POST
3028 UINT64_C(1296100352), // LD3Rv2d
3029 UINT64_C(1304488960), // LD3Rv2d_POST
3030 UINT64_C(222357504), // LD3Rv2s
3031 UINT64_C(230746112), // LD3Rv2s_POST
3032 UINT64_C(222356480), // LD3Rv4h
3033 UINT64_C(230745088), // LD3Rv4h_POST
3034 UINT64_C(1296099328), // LD3Rv4s
3035 UINT64_C(1304487936), // LD3Rv4s_POST
3036 UINT64_C(222355456), // LD3Rv8b
3037 UINT64_C(230744064), // LD3Rv8b_POST
3038 UINT64_C(1296098304), // LD3Rv8h
3039 UINT64_C(1304486912), // LD3Rv8h_POST
3040 UINT64_C(1279279104), // LD3Threev16b
3041 UINT64_C(1287667712), // LD3Threev16b_POST
3042 UINT64_C(1279282176), // LD3Threev2d
3043 UINT64_C(1287670784), // LD3Threev2d_POST
3044 UINT64_C(205539328), // LD3Threev2s
3045 UINT64_C(213927936), // LD3Threev2s_POST
3046 UINT64_C(205538304), // LD3Threev4h
3047 UINT64_C(213926912), // LD3Threev4h_POST
3048 UINT64_C(1279281152), // LD3Threev4s
3049 UINT64_C(1287669760), // LD3Threev4s_POST
3050 UINT64_C(205537280), // LD3Threev8b
3051 UINT64_C(213925888), // LD3Threev8b_POST
3052 UINT64_C(1279280128), // LD3Threev8h
3053 UINT64_C(1287668736), // LD3Threev8h_POST
3054 UINT64_C(2772484096), // LD3W
3055 UINT64_C(2772492288), // LD3W_IMM
3056 UINT64_C(222322688), // LD3i16
3057 UINT64_C(230711296), // LD3i16_POST
3058 UINT64_C(222339072), // LD3i32
3059 UINT64_C(230727680), // LD3i32_POST
3060 UINT64_C(222340096), // LD3i64
3061 UINT64_C(230728704), // LD3i64_POST
3062 UINT64_C(222306304), // LD3i8
3063 UINT64_C(230694912), // LD3i8_POST
3064 UINT64_C(2757804032), // LD4B
3065 UINT64_C(2757812224), // LD4B_IMM
3066 UINT64_C(2782969856), // LD4D
3067 UINT64_C(2782978048), // LD4D_IMM
3068 UINT64_C(1279262720), // LD4Fourv16b
3069 UINT64_C(1287651328), // LD4Fourv16b_POST
3070 UINT64_C(1279265792), // LD4Fourv2d
3071 UINT64_C(1287654400), // LD4Fourv2d_POST
3072 UINT64_C(205522944), // LD4Fourv2s
3073 UINT64_C(213911552), // LD4Fourv2s_POST
3074 UINT64_C(205521920), // LD4Fourv4h
3075 UINT64_C(213910528), // LD4Fourv4h_POST
3076 UINT64_C(1279264768), // LD4Fourv4s
3077 UINT64_C(1287653376), // LD4Fourv4s_POST
3078 UINT64_C(205520896), // LD4Fourv8b
3079 UINT64_C(213909504), // LD4Fourv8b_POST
3080 UINT64_C(1279263744), // LD4Fourv8h
3081 UINT64_C(1287652352), // LD4Fourv8h_POST
3082 UINT64_C(2766192640), // LD4H
3083 UINT64_C(2766200832), // LD4H_IMM
3084 UINT64_C(2778759168), // LD4Q
3085 UINT64_C(2777735168), // LD4Q_IMM
3086 UINT64_C(1298194432), // LD4Rv16b
3087 UINT64_C(1306583040), // LD4Rv16b_POST
3088 UINT64_C(224455680), // LD4Rv1d
3089 UINT64_C(232844288), // LD4Rv1d_POST
3090 UINT64_C(1298197504), // LD4Rv2d
3091 UINT64_C(1306586112), // LD4Rv2d_POST
3092 UINT64_C(224454656), // LD4Rv2s
3093 UINT64_C(232843264), // LD4Rv2s_POST
3094 UINT64_C(224453632), // LD4Rv4h
3095 UINT64_C(232842240), // LD4Rv4h_POST
3096 UINT64_C(1298196480), // LD4Rv4s
3097 UINT64_C(1306585088), // LD4Rv4s_POST
3098 UINT64_C(224452608), // LD4Rv8b
3099 UINT64_C(232841216), // LD4Rv8b_POST
3100 UINT64_C(1298195456), // LD4Rv8h
3101 UINT64_C(1306584064), // LD4Rv8h_POST
3102 UINT64_C(2774581248), // LD4W
3103 UINT64_C(2774589440), // LD4W_IMM
3104 UINT64_C(224419840), // LD4i16
3105 UINT64_C(232808448), // LD4i16_POST
3106 UINT64_C(224436224), // LD4i32
3107 UINT64_C(232824832), // LD4i32_POST
3108 UINT64_C(224437248), // LD4i64
3109 UINT64_C(232825856), // LD4i64_POST
3110 UINT64_C(224403456), // LD4i8
3111 UINT64_C(232792064), // LD4i8_POST
3112 UINT64_C(4164931584), // LD64B
3113 UINT64_C(950009856), // LDADDAB
3114 UINT64_C(2023751680), // LDADDAH
3115 UINT64_C(954204160), // LDADDALB
3116 UINT64_C(2027945984), // LDADDALH
3117 UINT64_C(3101687808), // LDADDALW
3118 UINT64_C(4175429632), // LDADDALX
3119 UINT64_C(3097493504), // LDADDAW
3120 UINT64_C(4171235328), // LDADDAX
3121 UINT64_C(941621248), // LDADDB
3122 UINT64_C(2015363072), // LDADDH
3123 UINT64_C(945815552), // LDADDLB
3124 UINT64_C(2019557376), // LDADDLH
3125 UINT64_C(3093299200), // LDADDLW
3126 UINT64_C(4167041024), // LDADDLX
3127 UINT64_C(3089104896), // LDADDW
3128 UINT64_C(4162846720), // LDADDX
3129 UINT64_C(222397440), // LDAP1
3130 UINT64_C(3644880896), // LDAPPi
3131 UINT64_C(952090624), // LDAPRB
3132 UINT64_C(2025832448), // LDAPRH
3133 UINT64_C(3099574272), // LDAPRW
3134 UINT64_C(2579499008), // LDAPRWpost
3135 UINT64_C(4173316096), // LDAPRX
3136 UINT64_C(3653240832), // LDAPRXpost
3137 UINT64_C(423624704), // LDAPURBi
3138 UINT64_C(1497366528), // LDAPURHi
3139 UINT64_C(432013312), // LDAPURSBWi
3140 UINT64_C(427819008), // LDAPURSBXi
3141 UINT64_C(1505755136), // LDAPURSHWi
3142 UINT64_C(1501560832), // LDAPURSHXi
3143 UINT64_C(2575302656), // LDAPURSWi
3144 UINT64_C(3644850176), // LDAPURXi
3145 UINT64_C(490735616), // LDAPURbi
3146 UINT64_C(3711961088), // LDAPURdi
3147 UINT64_C(1564477440), // LDAPURhi
3148 UINT64_C(2571108352), // LDAPURi
3149 UINT64_C(499124224), // LDAPURqi
3150 UINT64_C(2638219264), // LDAPURsi
3151 UINT64_C(3644872704), // LDAPi
3152 UINT64_C(148896768), // LDARB
3153 UINT64_C(1222638592), // LDARH
3154 UINT64_C(2296380416), // LDARW
3155 UINT64_C(3370122240), // LDARX
3156 UINT64_C(2304769024), // LDATXRW
3157 UINT64_C(3378510848), // LDATXRX
3158 UINT64_C(2290057216), // LDAXPW
3159 UINT64_C(3363799040), // LDAXPX
3160 UINT64_C(140508160), // LDAXRB
3161 UINT64_C(1214249984), // LDAXRH
3162 UINT64_C(2287991808), // LDAXRW
3163 UINT64_C(3361733632), // LDAXRX
3164 UINT64_C(1008730112), // LDBFADD
3165 UINT64_C(1017118720), // LDBFADDA
3166 UINT64_C(1021313024), // LDBFADDAL
3167 UINT64_C(1012924416), // LDBFADDL
3168 UINT64_C(1008746496), // LDBFMAX
3169 UINT64_C(1017135104), // LDBFMAXA
3170 UINT64_C(1021329408), // LDBFMAXAL
3171 UINT64_C(1012940800), // LDBFMAXL
3172 UINT64_C(1008754688), // LDBFMAXNM
3173 UINT64_C(1017143296), // LDBFMAXNMA
3174 UINT64_C(1021337600), // LDBFMAXNMAL
3175 UINT64_C(1012948992), // LDBFMAXNML
3176 UINT64_C(1008750592), // LDBFMIN
3177 UINT64_C(1017139200), // LDBFMINA
3178 UINT64_C(1021333504), // LDBFMINAL
3179 UINT64_C(1012944896), // LDBFMINL
3180 UINT64_C(1008758784), // LDBFMINNM
3181 UINT64_C(1017147392), // LDBFMINNMA
3182 UINT64_C(1021341696), // LDBFMINNMAL
3183 UINT64_C(1012953088), // LDBFMINNML
3184 UINT64_C(950013952), // LDCLRAB
3185 UINT64_C(2023755776), // LDCLRAH
3186 UINT64_C(954208256), // LDCLRALB
3187 UINT64_C(2027950080), // LDCLRALH
3188 UINT64_C(3101691904), // LDCLRALW
3189 UINT64_C(4175433728), // LDCLRALX
3190 UINT64_C(3097497600), // LDCLRAW
3191 UINT64_C(4171239424), // LDCLRAX
3192 UINT64_C(941625344), // LDCLRB
3193 UINT64_C(2015367168), // LDCLRH
3194 UINT64_C(945819648), // LDCLRLB
3195 UINT64_C(2019561472), // LDCLRLH
3196 UINT64_C(3093303296), // LDCLRLW
3197 UINT64_C(4167045120), // LDCLRLX
3198 UINT64_C(421531648), // LDCLRP
3199 UINT64_C(429920256), // LDCLRPA
3200 UINT64_C(434114560), // LDCLRPAL
3201 UINT64_C(425725952), // LDCLRPL
3202 UINT64_C(3089108992), // LDCLRW
3203 UINT64_C(4162850816), // LDCLRX
3204 UINT64_C(950018048), // LDEORAB
3205 UINT64_C(2023759872), // LDEORAH
3206 UINT64_C(954212352), // LDEORALB
3207 UINT64_C(2027954176), // LDEORALH
3208 UINT64_C(3101696000), // LDEORALW
3209 UINT64_C(4175437824), // LDEORALX
3210 UINT64_C(3097501696), // LDEORAW
3211 UINT64_C(4171243520), // LDEORAX
3212 UINT64_C(941629440), // LDEORB
3213 UINT64_C(2015371264), // LDEORH
3214 UINT64_C(945823744), // LDEORLB
3215 UINT64_C(2019565568), // LDEORLH
3216 UINT64_C(3093307392), // LDEORLW
3217 UINT64_C(4167049216), // LDEORLX
3218 UINT64_C(3089113088), // LDEORW
3219 UINT64_C(4162854912), // LDEORX
3220 UINT64_C(4238344192), // LDFADDAD
3221 UINT64_C(2090860544), // LDFADDAH
3222 UINT64_C(4242538496), // LDFADDALD
3223 UINT64_C(2095054848), // LDFADDALH
3224 UINT64_C(3168796672), // LDFADDALS
3225 UINT64_C(3164602368), // LDFADDAS
3226 UINT64_C(4229955584), // LDFADDD
3227 UINT64_C(2082471936), // LDFADDH
3228 UINT64_C(4234149888), // LDFADDLD
3229 UINT64_C(2086666240), // LDFADDLH
3230 UINT64_C(3160408064), // LDFADDLS
3231 UINT64_C(3156213760), // LDFADDS
3232 UINT64_C(2751488000), // LDFF1B
3233 UINT64_C(2757779456), // LDFF1B_D
3234 UINT64_C(2753585152), // LDFF1B_H
3235 UINT64_C(2755682304), // LDFF1B_S
3236 UINT64_C(2782945280), // LDFF1D
3237 UINT64_C(2761973760), // LDFF1H
3238 UINT64_C(2766168064), // LDFF1H_D
3239 UINT64_C(2764070912), // LDFF1H_S
3240 UINT64_C(2776653824), // LDFF1SB_D
3241 UINT64_C(2780848128), // LDFF1SB_H
3242 UINT64_C(2778750976), // LDFF1SB_S
3243 UINT64_C(2768265216), // LDFF1SH_D
3244 UINT64_C(2770362368), // LDFF1SH_S
3245 UINT64_C(2759876608), // LDFF1SW_D
3246 UINT64_C(2772459520), // LDFF1W
3247 UINT64_C(2774556672), // LDFF1W_D
3248 UINT64_C(4238360576), // LDFMAXAD
3249 UINT64_C(2090876928), // LDFMAXAH
3250 UINT64_C(4242554880), // LDFMAXALD
3251 UINT64_C(2095071232), // LDFMAXALH
3252 UINT64_C(3168813056), // LDFMAXALS
3253 UINT64_C(3164618752), // LDFMAXAS
3254 UINT64_C(4229971968), // LDFMAXD
3255 UINT64_C(2082488320), // LDFMAXH
3256 UINT64_C(4234166272), // LDFMAXLD
3257 UINT64_C(2086682624), // LDFMAXLH
3258 UINT64_C(3160424448), // LDFMAXLS
3259 UINT64_C(4238368768), // LDFMAXNMAD
3260 UINT64_C(2090885120), // LDFMAXNMAH
3261 UINT64_C(4242563072), // LDFMAXNMALD
3262 UINT64_C(2095079424), // LDFMAXNMALH
3263 UINT64_C(3168821248), // LDFMAXNMALS
3264 UINT64_C(3164626944), // LDFMAXNMAS
3265 UINT64_C(4229980160), // LDFMAXNMD
3266 UINT64_C(2082496512), // LDFMAXNMH
3267 UINT64_C(4234174464), // LDFMAXNMLD
3268 UINT64_C(2086690816), // LDFMAXNMLH
3269 UINT64_C(3160432640), // LDFMAXNMLS
3270 UINT64_C(3156238336), // LDFMAXNMS
3271 UINT64_C(3156230144), // LDFMAXS
3272 UINT64_C(4238364672), // LDFMINAD
3273 UINT64_C(2090881024), // LDFMINAH
3274 UINT64_C(4242558976), // LDFMINALD
3275 UINT64_C(2095075328), // LDFMINALH
3276 UINT64_C(3168817152), // LDFMINALS
3277 UINT64_C(3164622848), // LDFMINAS
3278 UINT64_C(4229976064), // LDFMIND
3279 UINT64_C(2082492416), // LDFMINH
3280 UINT64_C(4234170368), // LDFMINLD
3281 UINT64_C(2086686720), // LDFMINLH
3282 UINT64_C(3160428544), // LDFMINLS
3283 UINT64_C(4238372864), // LDFMINNMAD
3284 UINT64_C(2090889216), // LDFMINNMAH
3285 UINT64_C(4242567168), // LDFMINNMALD
3286 UINT64_C(2095083520), // LDFMINNMALH
3287 UINT64_C(3168825344), // LDFMINNMALS
3288 UINT64_C(3164631040), // LDFMINNMAS
3289 UINT64_C(4229984256), // LDFMINNMD
3290 UINT64_C(2082500608), // LDFMINNMH
3291 UINT64_C(4234178560), // LDFMINNMLD
3292 UINT64_C(2086694912), // LDFMINNMLH
3293 UINT64_C(3160436736), // LDFMINNMLS
3294 UINT64_C(3156242432), // LDFMINNMS
3295 UINT64_C(3156234240), // LDFMINS
3296 UINT64_C(3646947328), // LDG
3297 UINT64_C(3655335936), // LDGM
3298 UINT64_C(2571114496), // LDIAPPW
3299 UINT64_C(2571110400), // LDIAPPWpost
3300 UINT64_C(3644856320), // LDIAPPX
3301 UINT64_C(3644852224), // LDIAPPXpost
3302 UINT64_C(148864000), // LDLARB
3303 UINT64_C(1222605824), // LDLARH
3304 UINT64_C(2296347648), // LDLARW
3305 UINT64_C(3370089472), // LDLARX
3306 UINT64_C(2758844416), // LDNF1B_D_IMM
3307 UINT64_C(2754650112), // LDNF1B_H_IMM
3308 UINT64_C(2752552960), // LDNF1B_IMM
3309 UINT64_C(2756747264), // LDNF1B_S_IMM
3310 UINT64_C(2784010240), // LDNF1D_IMM
3311 UINT64_C(2767233024), // LDNF1H_D_IMM
3312 UINT64_C(2763038720), // LDNF1H_IMM
3313 UINT64_C(2765135872), // LDNF1H_S_IMM
3314 UINT64_C(2777718784), // LDNF1SB_D_IMM
3315 UINT64_C(2781913088), // LDNF1SB_H_IMM
3316 UINT64_C(2779815936), // LDNF1SB_S_IMM
3317 UINT64_C(2769330176), // LDNF1SH_D_IMM
3318 UINT64_C(2771427328), // LDNF1SH_S_IMM
3319 UINT64_C(2760941568), // LDNF1SW_D_IMM
3320 UINT64_C(2775621632), // LDNF1W_D_IMM
3321 UINT64_C(2773524480), // LDNF1W_IMM
3322 UINT64_C(1816133632), // LDNPDi
3323 UINT64_C(2889875456), // LDNPQi
3324 UINT64_C(742391808), // LDNPSi
3325 UINT64_C(675282944), // LDNPWi
3326 UINT64_C(2822766592), // LDNPXi
3327 UINT64_C(2684354561), // LDNT1B_2Z
3328 UINT64_C(2688548865), // LDNT1B_2Z_IMM
3329 UINT64_C(2701131784), // LDNT1B_2Z_STRIDED
3330 UINT64_C(2705326088), // LDNT1B_2Z_STRIDED_IMM
3331 UINT64_C(2684387329), // LDNT1B_4Z
3332 UINT64_C(2688581633), // LDNT1B_4Z_IMM
3333 UINT64_C(2701164552), // LDNT1B_4Z_STRIDED
3334 UINT64_C(2705358856), // LDNT1B_4Z_STRIDED_IMM
3335 UINT64_C(2751520768), // LDNT1B_ZRI
3336 UINT64_C(2751512576), // LDNT1B_ZRR
3337 UINT64_C(3288383488), // LDNT1B_ZZR_D
3338 UINT64_C(2214633472), // LDNT1B_ZZR_S
3339 UINT64_C(2684379137), // LDNT1D_2Z
3340 UINT64_C(2688573441), // LDNT1D_2Z_IMM
3341 UINT64_C(2701156360), // LDNT1D_2Z_STRIDED
3342 UINT64_C(2705350664), // LDNT1D_2Z_STRIDED_IMM
3343 UINT64_C(2684411905), // LDNT1D_4Z
3344 UINT64_C(2688606209), // LDNT1D_4Z_IMM
3345 UINT64_C(2701189128), // LDNT1D_4Z_STRIDED
3346 UINT64_C(2705383432), // LDNT1D_4Z_STRIDED_IMM
3347 UINT64_C(2776686592), // LDNT1D_ZRI
3348 UINT64_C(2776678400), // LDNT1D_ZRR
3349 UINT64_C(3313549312), // LDNT1D_ZZR_D
3350 UINT64_C(2684362753), // LDNT1H_2Z
3351 UINT64_C(2688557057), // LDNT1H_2Z_IMM
3352 UINT64_C(2701139976), // LDNT1H_2Z_STRIDED
3353 UINT64_C(2705334280), // LDNT1H_2Z_STRIDED_IMM
3354 UINT64_C(2684395521), // LDNT1H_4Z
3355 UINT64_C(2688589825), // LDNT1H_4Z_IMM
3356 UINT64_C(2701172744), // LDNT1H_4Z_STRIDED
3357 UINT64_C(2705367048), // LDNT1H_4Z_STRIDED_IMM
3358 UINT64_C(2759909376), // LDNT1H_ZRI
3359 UINT64_C(2759901184), // LDNT1H_ZRR
3360 UINT64_C(3296772096), // LDNT1H_ZZR_D
3361 UINT64_C(2223022080), // LDNT1H_ZZR_S
3362 UINT64_C(3288367104), // LDNT1SB_ZZR_D
3363 UINT64_C(2214625280), // LDNT1SB_ZZR_S
3364 UINT64_C(3296755712), // LDNT1SH_ZZR_D
3365 UINT64_C(2223013888), // LDNT1SH_ZZR_S
3366 UINT64_C(3305144320), // LDNT1SW_ZZR_D
3367 UINT64_C(2684370945), // LDNT1W_2Z
3368 UINT64_C(2688565249), // LDNT1W_2Z_IMM
3369 UINT64_C(2701148168), // LDNT1W_2Z_STRIDED
3370 UINT64_C(2705342472), // LDNT1W_2Z_STRIDED_IMM
3371 UINT64_C(2684403713), // LDNT1W_4Z
3372 UINT64_C(2688598017), // LDNT1W_4Z_IMM
3373 UINT64_C(2701180936), // LDNT1W_4Z_STRIDED
3374 UINT64_C(2705375240), // LDNT1W_4Z_STRIDED_IMM
3375 UINT64_C(2768297984), // LDNT1W_ZRI
3376 UINT64_C(2768289792), // LDNT1W_ZRR
3377 UINT64_C(3305160704), // LDNT1W_ZZR_D
3378 UINT64_C(2231410688), // LDNT1W_ZZR_S
3379 UINT64_C(1832910848), // LDPDi
3380 UINT64_C(1824522240), // LDPDpost
3381 UINT64_C(1841299456), // LDPDpre
3382 UINT64_C(2906652672), // LDPQi
3383 UINT64_C(2898264064), // LDPQpost
3384 UINT64_C(2915041280), // LDPQpre
3385 UINT64_C(1765801984), // LDPSWi
3386 UINT64_C(1757413376), // LDPSWpost
3387 UINT64_C(1774190592), // LDPSWpre
3388 UINT64_C(759169024), // LDPSi
3389 UINT64_C(750780416), // LDPSpost
3390 UINT64_C(767557632), // LDPSpre
3391 UINT64_C(692060160), // LDPWi
3392 UINT64_C(683671552), // LDPWpost
3393 UINT64_C(700448768), // LDPWpre
3394 UINT64_C(2839543808), // LDPXi
3395 UINT64_C(2831155200), // LDPXpost
3396 UINT64_C(2847932416), // LDPXpre
3397 UINT64_C(4162847744), // LDRAAindexed
3398 UINT64_C(4162849792), // LDRAAwriteback
3399 UINT64_C(4171236352), // LDRABindexed
3400 UINT64_C(4171238400), // LDRABwriteback
3401 UINT64_C(943719424), // LDRBBpost
3402 UINT64_C(943721472), // LDRBBpre
3403 UINT64_C(945833984), // LDRBBroW
3404 UINT64_C(945842176), // LDRBBroX
3405 UINT64_C(960495616), // LDRBBui
3406 UINT64_C(1010828288), // LDRBpost
3407 UINT64_C(1010830336), // LDRBpre
3408 UINT64_C(1012942848), // LDRBroW
3409 UINT64_C(1012951040), // LDRBroX
3410 UINT64_C(1027604480), // LDRBui
3411 UINT64_C(1543503872), // LDRDl
3412 UINT64_C(4232053760), // LDRDpost
3413 UINT64_C(4232055808), // LDRDpre
3414 UINT64_C(4234168320), // LDRDroW
3415 UINT64_C(4234176512), // LDRDroX
3416 UINT64_C(4248829952), // LDRDui
3417 UINT64_C(2017461248), // LDRHHpost
3418 UINT64_C(2017463296), // LDRHHpre
3419 UINT64_C(2019575808), // LDRHHroW
3420 UINT64_C(2019584000), // LDRHHroX
3421 UINT64_C(2034237440), // LDRHHui
3422 UINT64_C(2084570112), // LDRHpost
3423 UINT64_C(2084572160), // LDRHpre
3424 UINT64_C(2086684672), // LDRHroW
3425 UINT64_C(2086692864), // LDRHroX
3426 UINT64_C(2101346304), // LDRHui
3427 UINT64_C(2617245696), // LDRQl
3428 UINT64_C(1019216896), // LDRQpost
3429 UINT64_C(1019218944), // LDRQpre
3430 UINT64_C(1021331456), // LDRQroW
3431 UINT64_C(1021339648), // LDRQroX
3432 UINT64_C(1035993088), // LDRQui
3433 UINT64_C(952108032), // LDRSBWpost
3434 UINT64_C(952110080), // LDRSBWpre
3435 UINT64_C(954222592), // LDRSBWroW
3436 UINT64_C(954230784), // LDRSBWroX
3437 UINT64_C(968884224), // LDRSBWui
3438 UINT64_C(947913728), // LDRSBXpost
3439 UINT64_C(947915776), // LDRSBXpre
3440 UINT64_C(950028288), // LDRSBXroW
3441 UINT64_C(950036480), // LDRSBXroX
3442 UINT64_C(964689920), // LDRSBXui
3443 UINT64_C(2025849856), // LDRSHWpost
3444 UINT64_C(2025851904), // LDRSHWpre
3445 UINT64_C(2027964416), // LDRSHWroW
3446 UINT64_C(2027972608), // LDRSHWroX
3447 UINT64_C(2042626048), // LDRSHWui
3448 UINT64_C(2021655552), // LDRSHXpost
3449 UINT64_C(2021657600), // LDRSHXpre
3450 UINT64_C(2023770112), // LDRSHXroW
3451 UINT64_C(2023778304), // LDRSHXroX
3452 UINT64_C(2038431744), // LDRSHXui
3453 UINT64_C(2550136832), // LDRSWl
3454 UINT64_C(3095397376), // LDRSWpost
3455 UINT64_C(3095399424), // LDRSWpre
3456 UINT64_C(3097511936), // LDRSWroW
3457 UINT64_C(3097520128), // LDRSWroX
3458 UINT64_C(3112173568), // LDRSWui
3459 UINT64_C(469762048), // LDRSl
3460 UINT64_C(3158311936), // LDRSpost
3461 UINT64_C(3158313984), // LDRSpre
3462 UINT64_C(3160426496), // LDRSroW
3463 UINT64_C(3160434688), // LDRSroX
3464 UINT64_C(3175088128), // LDRSui
3465 UINT64_C(402653184), // LDRWl
3466 UINT64_C(3091203072), // LDRWpost
3467 UINT64_C(3091205120), // LDRWpre
3468 UINT64_C(3093317632), // LDRWroW
3469 UINT64_C(3093325824), // LDRWroX
3470 UINT64_C(3107979264), // LDRWui
3471 UINT64_C(1476395008), // LDRXl
3472 UINT64_C(4164944896), // LDRXpost
3473 UINT64_C(4164946944), // LDRXpre
3474 UINT64_C(4167059456), // LDRXroW
3475 UINT64_C(4167067648), // LDRXroX
3476 UINT64_C(4181721088), // LDRXui
3477 UINT64_C(2239758336), // LDR_PXI
3478 UINT64_C(3776937984), // LDR_TX
3479 UINT64_C(3774873600), // LDR_ZA
3480 UINT64_C(2239774720), // LDR_ZXI
3481 UINT64_C(950022144), // LDSETAB
3482 UINT64_C(2023763968), // LDSETAH
3483 UINT64_C(954216448), // LDSETALB
3484 UINT64_C(2027958272), // LDSETALH
3485 UINT64_C(3101700096), // LDSETALW
3486 UINT64_C(4175441920), // LDSETALX
3487 UINT64_C(3097505792), // LDSETAW
3488 UINT64_C(4171247616), // LDSETAX
3489 UINT64_C(941633536), // LDSETB
3490 UINT64_C(2015375360), // LDSETH
3491 UINT64_C(945827840), // LDSETLB
3492 UINT64_C(2019569664), // LDSETLH
3493 UINT64_C(3093311488), // LDSETLW
3494 UINT64_C(4167053312), // LDSETLX
3495 UINT64_C(421539840), // LDSETP
3496 UINT64_C(429928448), // LDSETPA
3497 UINT64_C(434122752), // LDSETPAL
3498 UINT64_C(425734144), // LDSETPL
3499 UINT64_C(3089117184), // LDSETW
3500 UINT64_C(4162859008), // LDSETX
3501 UINT64_C(950026240), // LDSMAXAB
3502 UINT64_C(2023768064), // LDSMAXAH
3503 UINT64_C(954220544), // LDSMAXALB
3504 UINT64_C(2027962368), // LDSMAXALH
3505 UINT64_C(3101704192), // LDSMAXALW
3506 UINT64_C(4175446016), // LDSMAXALX
3507 UINT64_C(3097509888), // LDSMAXAW
3508 UINT64_C(4171251712), // LDSMAXAX
3509 UINT64_C(941637632), // LDSMAXB
3510 UINT64_C(2015379456), // LDSMAXH
3511 UINT64_C(945831936), // LDSMAXLB
3512 UINT64_C(2019573760), // LDSMAXLH
3513 UINT64_C(3093315584), // LDSMAXLW
3514 UINT64_C(4167057408), // LDSMAXLX
3515 UINT64_C(3089121280), // LDSMAXW
3516 UINT64_C(4162863104), // LDSMAXX
3517 UINT64_C(950030336), // LDSMINAB
3518 UINT64_C(2023772160), // LDSMINAH
3519 UINT64_C(954224640), // LDSMINALB
3520 UINT64_C(2027966464), // LDSMINALH
3521 UINT64_C(3101708288), // LDSMINALW
3522 UINT64_C(4175450112), // LDSMINALX
3523 UINT64_C(3097513984), // LDSMINAW
3524 UINT64_C(4171255808), // LDSMINAX
3525 UINT64_C(941641728), // LDSMINB
3526 UINT64_C(2015383552), // LDSMINH
3527 UINT64_C(945836032), // LDSMINLB
3528 UINT64_C(2019577856), // LDSMINLH
3529 UINT64_C(3093319680), // LDSMINLW
3530 UINT64_C(4167061504), // LDSMINLX
3531 UINT64_C(3089125376), // LDSMINW
3532 UINT64_C(4162867200), // LDSMINX
3533 UINT64_C(434111488), // LDTADDALW
3534 UINT64_C(1507853312), // LDTADDALX
3535 UINT64_C(429917184), // LDTADDAW
3536 UINT64_C(1503659008), // LDTADDAX
3537 UINT64_C(425722880), // LDTADDLW
3538 UINT64_C(1499464704), // LDTADDLX
3539 UINT64_C(421528576), // LDTADDW
3540 UINT64_C(1495270400), // LDTADDX
3541 UINT64_C(434115584), // LDTCLRALW
3542 UINT64_C(1507857408), // LDTCLRALX
3543 UINT64_C(429921280), // LDTCLRAW
3544 UINT64_C(1503663104), // LDTCLRAX
3545 UINT64_C(425726976), // LDTCLRLW
3546 UINT64_C(1499468800), // LDTCLRLX
3547 UINT64_C(421532672), // LDTCLRW
3548 UINT64_C(1495274496), // LDTCLRX
3549 UINT64_C(3963617280), // LDTNPQi
3550 UINT64_C(3896508416), // LDTNPXi
3551 UINT64_C(3980394496), // LDTPQi
3552 UINT64_C(3972005888), // LDTPQpost
3553 UINT64_C(3988783104), // LDTPQpre
3554 UINT64_C(3913285632), // LDTPi
3555 UINT64_C(3904897024), // LDTPpost
3556 UINT64_C(3921674240), // LDTPpre
3557 UINT64_C(943720448), // LDTRBi
3558 UINT64_C(2017462272), // LDTRHi
3559 UINT64_C(952109056), // LDTRSBWi
3560 UINT64_C(947914752), // LDTRSBXi
3561 UINT64_C(2025850880), // LDTRSHWi
3562 UINT64_C(2021656576), // LDTRSHXi
3563 UINT64_C(3095398400), // LDTRSWi
3564 UINT64_C(3091204096), // LDTRWi
3565 UINT64_C(4164945920), // LDTRXi
3566 UINT64_C(434123776), // LDTSETALW
3567 UINT64_C(1507865600), // LDTSETALX
3568 UINT64_C(429929472), // LDTSETAW
3569 UINT64_C(1503671296), // LDTSETAX
3570 UINT64_C(425735168), // LDTSETLW
3571 UINT64_C(1499476992), // LDTSETLX
3572 UINT64_C(421540864), // LDTSETW
3573 UINT64_C(1495282688), // LDTSETX
3574 UINT64_C(2304736256), // LDTXRWr
3575 UINT64_C(3378478080), // LDTXRXr
3576 UINT64_C(950034432), // LDUMAXAB
3577 UINT64_C(2023776256), // LDUMAXAH
3578 UINT64_C(954228736), // LDUMAXALB
3579 UINT64_C(2027970560), // LDUMAXALH
3580 UINT64_C(3101712384), // LDUMAXALW
3581 UINT64_C(4175454208), // LDUMAXALX
3582 UINT64_C(3097518080), // LDUMAXAW
3583 UINT64_C(4171259904), // LDUMAXAX
3584 UINT64_C(941645824), // LDUMAXB
3585 UINT64_C(2015387648), // LDUMAXH
3586 UINT64_C(945840128), // LDUMAXLB
3587 UINT64_C(2019581952), // LDUMAXLH
3588 UINT64_C(3093323776), // LDUMAXLW
3589 UINT64_C(4167065600), // LDUMAXLX
3590 UINT64_C(3089129472), // LDUMAXW
3591 UINT64_C(4162871296), // LDUMAXX
3592 UINT64_C(950038528), // LDUMINAB
3593 UINT64_C(2023780352), // LDUMINAH
3594 UINT64_C(954232832), // LDUMINALB
3595 UINT64_C(2027974656), // LDUMINALH
3596 UINT64_C(3101716480), // LDUMINALW
3597 UINT64_C(4175458304), // LDUMINALX
3598 UINT64_C(3097522176), // LDUMINAW
3599 UINT64_C(4171264000), // LDUMINAX
3600 UINT64_C(941649920), // LDUMINB
3601 UINT64_C(2015391744), // LDUMINH
3602 UINT64_C(945844224), // LDUMINLB
3603 UINT64_C(2019586048), // LDUMINLH
3604 UINT64_C(3093327872), // LDUMINLW
3605 UINT64_C(4167069696), // LDUMINLX
3606 UINT64_C(3089133568), // LDUMINW
3607 UINT64_C(4162875392), // LDUMINX
3608 UINT64_C(943718400), // LDURBBi
3609 UINT64_C(1010827264), // LDURBi
3610 UINT64_C(4232052736), // LDURDi
3611 UINT64_C(2017460224), // LDURHHi
3612 UINT64_C(2084569088), // LDURHi
3613 UINT64_C(1019215872), // LDURQi
3614 UINT64_C(952107008), // LDURSBWi
3615 UINT64_C(947912704), // LDURSBXi
3616 UINT64_C(2025848832), // LDURSHWi
3617 UINT64_C(2021654528), // LDURSHXi
3618 UINT64_C(3095396352), // LDURSWi
3619 UINT64_C(3158310912), // LDURSi
3620 UINT64_C(3091202048), // LDURWi
3621 UINT64_C(4164943872), // LDURXi
3622 UINT64_C(2290024448), // LDXPW
3623 UINT64_C(3363766272), // LDXPX
3624 UINT64_C(140475392), // LDXRB
3625 UINT64_C(1214217216), // LDXRH
3626 UINT64_C(2287959040), // LDXRW
3627 UINT64_C(3361700864), // LDXRX
3628 UINT64_C(68648960), // LSLR_ZPmZ_B
3629 UINT64_C(81231872), // LSLR_ZPmZ_D
3630 UINT64_C(72843264), // LSLR_ZPmZ_H
3631 UINT64_C(77037568), // LSLR_ZPmZ_S
3632 UINT64_C(448798720), // LSLVWr
3633 UINT64_C(2596282368), // LSLVXr
3634 UINT64_C(68911104), // LSL_WIDE_ZPmZ_B
3635 UINT64_C(73105408), // LSL_WIDE_ZPmZ_H
3636 UINT64_C(77299712), // LSL_WIDE_ZPmZ_S
3637 UINT64_C(69241856), // LSL_WIDE_ZZZ_B
3638 UINT64_C(73436160), // LSL_WIDE_ZZZ_H
3639 UINT64_C(77630464), // LSL_WIDE_ZZZ_S
3640 UINT64_C(67338496), // LSL_ZPmI_B
3641 UINT64_C(75726848), // LSL_ZPmI_D
3642 UINT64_C(67338752), // LSL_ZPmI_H
3643 UINT64_C(71532544), // LSL_ZPmI_S
3644 UINT64_C(68386816), // LSL_ZPmZ_B
3645 UINT64_C(80969728), // LSL_ZPmZ_D
3646 UINT64_C(72581120), // LSL_ZPmZ_H
3647 UINT64_C(76775424), // LSL_ZPmZ_S
3648 UINT64_C(69770240), // LSL_ZZI_B
3649 UINT64_C(77634560), // LSL_ZZI_D
3650 UINT64_C(70294528), // LSL_ZZI_H
3651 UINT64_C(73440256), // LSL_ZZI_S
3652 UINT64_C(68517888), // LSRR_ZPmZ_B
3653 UINT64_C(81100800), // LSRR_ZPmZ_D
3654 UINT64_C(72712192), // LSRR_ZPmZ_H
3655 UINT64_C(76906496), // LSRR_ZPmZ_S
3656 UINT64_C(448799744), // LSRVWr
3657 UINT64_C(2596283392), // LSRVXr
3658 UINT64_C(68780032), // LSR_WIDE_ZPmZ_B
3659 UINT64_C(72974336), // LSR_WIDE_ZPmZ_H
3660 UINT64_C(77168640), // LSR_WIDE_ZPmZ_S
3661 UINT64_C(69239808), // LSR_WIDE_ZZZ_B
3662 UINT64_C(73434112), // LSR_WIDE_ZZZ_H
3663 UINT64_C(77628416), // LSR_WIDE_ZZZ_S
3664 UINT64_C(67207424), // LSR_ZPmI_B
3665 UINT64_C(75595776), // LSR_ZPmI_D
3666 UINT64_C(67207680), // LSR_ZPmI_H
3667 UINT64_C(71401472), // LSR_ZPmI_S
3668 UINT64_C(68255744), // LSR_ZPmZ_B
3669 UINT64_C(80838656), // LSR_ZPmZ_D
3670 UINT64_C(72450048), // LSR_ZPmZ_H
3671 UINT64_C(76644352), // LSR_ZPmZ_S
3672 UINT64_C(69768192), // LSR_ZZI_B
3673 UINT64_C(77632512), // LSR_ZZI_D
3674 UINT64_C(70292480), // LSR_ZZI_H
3675 UINT64_C(73438208), // LSR_ZZI_S
3676 UINT64_C(1317015552), // LUT2_B
3677 UINT64_C(1321205760), // LUT2_H
3678 UINT64_C(1312825344), // LUT4_B
3679 UINT64_C(1312821248), // LUT4_H
3680 UINT64_C(3230416896), // LUTI2_2ZTZI_B
3681 UINT64_C(3230420992), // LUTI2_2ZTZI_H
3682 UINT64_C(3230425088), // LUTI2_2ZTZI_S
3683 UINT64_C(3230433280), // LUTI2_4ZTZI_B
3684 UINT64_C(3230437376), // LUTI2_4ZTZI_H
3685 UINT64_C(3230441472), // LUTI2_4ZTZI_S
3686 UINT64_C(3231465472), // LUTI2_S_2ZTZI_B
3687 UINT64_C(3231469568), // LUTI2_S_2ZTZI_H
3688 UINT64_C(3231481856), // LUTI2_S_4ZTZI_B
3689 UINT64_C(3231485952), // LUTI2_S_4ZTZI_H
3690 UINT64_C(3234594816), // LUTI2_ZTZI_B
3691 UINT64_C(3234598912), // LUTI2_ZTZI_H
3692 UINT64_C(3234603008), // LUTI2_ZTZI_S
3693 UINT64_C(1159770112), // LUTI2_ZZZI_B
3694 UINT64_C(1159768064), // LUTI2_ZZZI_H
3695 UINT64_C(3230285824), // LUTI4_2ZTZI_B
3696 UINT64_C(3230289920), // LUTI4_2ZTZI_H
3697 UINT64_C(3230294016), // LUTI4_2ZTZI_S
3698 UINT64_C(3230306304), // LUTI4_4ZTZI_H
3699 UINT64_C(3230310400), // LUTI4_4ZTZI_S
3700 UINT64_C(3230334976), // LUTI4_4ZZT2Z
3701 UINT64_C(3231334400), // LUTI4_S_2ZTZI_B
3702 UINT64_C(3231338496), // LUTI4_S_2ZTZI_H
3703 UINT64_C(3231354880), // LUTI4_S_4ZTZI_H
3704 UINT64_C(3231383552), // LUTI4_S_4ZZT2Z
3705 UINT64_C(1159771136), // LUTI4_Z2ZZI
3706 UINT64_C(3234463744), // LUTI4_ZTZI_B
3707 UINT64_C(3234467840), // LUTI4_ZTZI_H
3708 UINT64_C(3234471936), // LUTI4_ZTZI_S
3709 UINT64_C(1163961344), // LUTI4_ZZZI_B
3710 UINT64_C(1159773184), // LUTI4_ZZZI_H
3711 UINT64_C(3240162304), // LUTI6_4Z2Z2ZI
3712 UINT64_C(3230269440), // LUTI6_4ZT3Z
3713 UINT64_C(3240164352), // LUTI6_S_4Z2Z2ZI
3714 UINT64_C(3231318016), // LUTI6_S_4ZT3Z
3715 UINT64_C(1159769088), // LUTI6_Z2ZZ
3716 UINT64_C(1163963392), // LUTI6_Z2ZZI_H
3717 UINT64_C(3234349056), // LUTI6_ZTZ
3718 UINT64_C(2606759936), // MADDPT
3719 UINT64_C(452984832), // MADDWrrr
3720 UINT64_C(2600468480), // MADDXrrr
3721 UINT64_C(1153488896), // MAD_CPA
3722 UINT64_C(67158016), // MAD_ZPmZZ_B
3723 UINT64_C(79740928), // MAD_ZPmZZ_D
3724 UINT64_C(71352320), // MAD_ZPmZZ_H
3725 UINT64_C(75546624), // MAD_ZPmZZ_S
3726 UINT64_C(1159757824), // MATCH_PPzZZ_B
3727 UINT64_C(1163952128), // MATCH_PPzZZ_H
3728 UINT64_C(1153486848), // MLA_CPA
3729 UINT64_C(67125248), // MLA_ZPmZZ_B
3730 UINT64_C(79708160), // MLA_ZPmZZ_D
3731 UINT64_C(71319552), // MLA_ZPmZZ_H
3732 UINT64_C(75513856), // MLA_ZPmZZ_S
3733 UINT64_C(1155532800), // MLA_ZZZI_D
3734 UINT64_C(1142949888), // MLA_ZZZI_H
3735 UINT64_C(1151338496), // MLA_ZZZI_S
3736 UINT64_C(1310757888), // MLAv16i8
3737 UINT64_C(245404672), // MLAv2i32
3738 UINT64_C(796917760), // MLAv2i32_indexed
3739 UINT64_C(241210368), // MLAv4i16
3740 UINT64_C(792723456), // MLAv4i16_indexed
3741 UINT64_C(1319146496), // MLAv4i32
3742 UINT64_C(1870659584), // MLAv4i32_indexed
3743 UINT64_C(1314952192), // MLAv8i16
3744 UINT64_C(1866465280), // MLAv8i16_indexed
3745 UINT64_C(237016064), // MLAv8i8
3746 UINT64_C(67133440), // MLS_ZPmZZ_B
3747 UINT64_C(79716352), // MLS_ZPmZZ_D
3748 UINT64_C(71327744), // MLS_ZPmZZ_H
3749 UINT64_C(75522048), // MLS_ZPmZZ_S
3750 UINT64_C(1155533824), // MLS_ZZZI_D
3751 UINT64_C(1142950912), // MLS_ZZZI_H
3752 UINT64_C(1151339520), // MLS_ZZZI_S
3753 UINT64_C(1847628800), // MLSv16i8
3754 UINT64_C(782275584), // MLSv2i32
3755 UINT64_C(796934144), // MLSv2i32_indexed
3756 UINT64_C(778081280), // MLSv4i16
3757 UINT64_C(792739840), // MLSv4i16_indexed
3758 UINT64_C(1856017408), // MLSv4i32
3759 UINT64_C(1870675968), // MLSv4i32_indexed
3760 UINT64_C(1851823104), // MLSv8i16
3761 UINT64_C(1866481664), // MLSv8i16_indexed
3762 UINT64_C(773886976), // MLSv8i8
3763 UINT64_C(499155968), // MOPSSETGE
3764 UINT64_C(499164160), // MOPSSETGEN
3765 UINT64_C(499160064), // MOPSSETGET
3766 UINT64_C(499168256), // MOPSSETGETN
3767 UINT64_C(3221619200), // MOVAZ_2ZMI_H_B
3768 UINT64_C(3234202112), // MOVAZ_2ZMI_H_D
3769 UINT64_C(3225813504), // MOVAZ_2ZMI_H_H
3770 UINT64_C(3230007808), // MOVAZ_2ZMI_H_S
3771 UINT64_C(3221651968), // MOVAZ_2ZMI_V_B
3772 UINT64_C(3234234880), // MOVAZ_2ZMI_V_D
3773 UINT64_C(3225846272), // MOVAZ_2ZMI_V_H
3774 UINT64_C(3230040576), // MOVAZ_2ZMI_V_S
3775 UINT64_C(3221620224), // MOVAZ_4ZMI_H_B
3776 UINT64_C(3234203136), // MOVAZ_4ZMI_H_D
3777 UINT64_C(3225814528), // MOVAZ_4ZMI_H_H
3778 UINT64_C(3230008832), // MOVAZ_4ZMI_H_S
3779 UINT64_C(3221652992), // MOVAZ_4ZMI_V_B
3780 UINT64_C(3234235904), // MOVAZ_4ZMI_V_D
3781 UINT64_C(3225847296), // MOVAZ_4ZMI_V_H
3782 UINT64_C(3230041600), // MOVAZ_4ZMI_V_S
3783 UINT64_C(3221621248), // MOVAZ_VG2_2ZMXI
3784 UINT64_C(3221622272), // MOVAZ_VG4_4ZMXI
3785 UINT64_C(3221357056), // MOVAZ_ZMI_H_B
3786 UINT64_C(3233939968), // MOVAZ_ZMI_H_D
3787 UINT64_C(3225551360), // MOVAZ_ZMI_H_H
3788 UINT64_C(3234005504), // MOVAZ_ZMI_H_Q
3789 UINT64_C(3229745664), // MOVAZ_ZMI_H_S
3790 UINT64_C(3221389824), // MOVAZ_ZMI_V_B
3791 UINT64_C(3233972736), // MOVAZ_ZMI_V_D
3792 UINT64_C(3225584128), // MOVAZ_ZMI_V_H
3793 UINT64_C(3234038272), // MOVAZ_ZMI_V_Q
3794 UINT64_C(3229778432), // MOVAZ_ZMI_V_S
3795 UINT64_C(3221618688), // MOVA_2ZMXI_H_B
3796 UINT64_C(3234201600), // MOVA_2ZMXI_H_D
3797 UINT64_C(3225812992), // MOVA_2ZMXI_H_H
3798 UINT64_C(3230007296), // MOVA_2ZMXI_H_S
3799 UINT64_C(3221651456), // MOVA_2ZMXI_V_B
3800 UINT64_C(3234234368), // MOVA_2ZMXI_V_D
3801 UINT64_C(3225845760), // MOVA_2ZMXI_V_H
3802 UINT64_C(3230040064), // MOVA_2ZMXI_V_S
3803 UINT64_C(3221619712), // MOVA_4ZMXI_H_B
3804 UINT64_C(3234202624), // MOVA_4ZMXI_H_D
3805 UINT64_C(3225814016), // MOVA_4ZMXI_H_H
3806 UINT64_C(3230008320), // MOVA_4ZMXI_H_S
3807 UINT64_C(3221652480), // MOVA_4ZMXI_V_B
3808 UINT64_C(3234235392), // MOVA_4ZMXI_V_D
3809 UINT64_C(3225846784), // MOVA_4ZMXI_V_H
3810 UINT64_C(3230041088), // MOVA_4ZMXI_V_S
3811 UINT64_C(3221487616), // MOVA_MXI2Z_H_B
3812 UINT64_C(3234070528), // MOVA_MXI2Z_H_D
3813 UINT64_C(3225681920), // MOVA_MXI2Z_H_H
3814 UINT64_C(3229876224), // MOVA_MXI2Z_H_S
3815 UINT64_C(3221520384), // MOVA_MXI2Z_V_B
3816 UINT64_C(3234103296), // MOVA_MXI2Z_V_D
3817 UINT64_C(3225714688), // MOVA_MXI2Z_V_H
3818 UINT64_C(3229908992), // MOVA_MXI2Z_V_S
3819 UINT64_C(3221488640), // MOVA_MXI4Z_H_B
3820 UINT64_C(3234071552), // MOVA_MXI4Z_H_D
3821 UINT64_C(3225682944), // MOVA_MXI4Z_H_H
3822 UINT64_C(3229877248), // MOVA_MXI4Z_H_S
3823 UINT64_C(3221521408), // MOVA_MXI4Z_V_B
3824 UINT64_C(3234104320), // MOVA_MXI4Z_V_D
3825 UINT64_C(3225715712), // MOVA_MXI4Z_V_H
3826 UINT64_C(3229910016), // MOVA_MXI4Z_V_S
3827 UINT64_C(3221620736), // MOVA_VG2_2ZMXI
3828 UINT64_C(3221489664), // MOVA_VG2_MXI2Z
3829 UINT64_C(3221621760), // MOVA_VG4_4ZMXI
3830 UINT64_C(3221490688), // MOVA_VG4_MXI4Z
3831 UINT64_C(788587520), // MOVID
3832 UINT64_C(1325458432), // MOVIv16b_ns
3833 UINT64_C(1862329344), // MOVIv2d_ns
3834 UINT64_C(251659264), // MOVIv2i32
3835 UINT64_C(251708416), // MOVIv2s_msl
3836 UINT64_C(251692032), // MOVIv4i16
3837 UINT64_C(1325401088), // MOVIv4i32
3838 UINT64_C(1325450240), // MOVIv4s_msl
3839 UINT64_C(251716608), // MOVIv8b_ns
3840 UINT64_C(1325433856), // MOVIv8i16
3841 UINT64_C(1920991232), // MOVKWi
3842 UINT64_C(4068474880), // MOVKXi
3843 UINT64_C(310378496), // MOVNWi
3844 UINT64_C(2457862144), // MOVNXi
3845 UINT64_C(68231168), // MOVPRFX_ZPmZ_B
3846 UINT64_C(80814080), // MOVPRFX_ZPmZ_D
3847 UINT64_C(72425472), // MOVPRFX_ZPmZ_H
3848 UINT64_C(76619776), // MOVPRFX_ZPmZ_S
3849 UINT64_C(68165632), // MOVPRFX_ZPzZ_B
3850 UINT64_C(80748544), // MOVPRFX_ZPzZ_D
3851 UINT64_C(72359936), // MOVPRFX_ZPzZ_H
3852 UINT64_C(76554240), // MOVPRFX_ZPzZ_S
3853 UINT64_C(69254144), // MOVPRFX_ZZ
3854 UINT64_C(3226338272), // MOVT_TIX
3855 UINT64_C(3226403808), // MOVT_TIZ
3856 UINT64_C(3226207200), // MOVT_XTI
3857 UINT64_C(1384120320), // MOVZWi
3858 UINT64_C(3531603968), // MOVZXi
3859 UINT64_C(3579838464), // MRRS
3860 UINT64_C(3575644160), // MRS
3861 UINT64_C(67166208), // MSB_ZPmZZ_B
3862 UINT64_C(79749120), // MSB_ZPmZZ_D
3863 UINT64_C(71360512), // MSB_ZPmZZ_H
3864 UINT64_C(75554816), // MSB_ZPmZZ_S
3865 UINT64_C(3573547008), // MSR
3866 UINT64_C(3577741312), // MSRR
3867 UINT64_C(3573563423), // MSRpstateImm1
3868 UINT64_C(3573563423), // MSRpstateImm4
3869 UINT64_C(3573760127), // MSRpstatesvcrImm1
3870 UINT64_C(2606792704), // MSUBPT
3871 UINT64_C(453017600), // MSUBWrrr
3872 UINT64_C(2600501248), // MSUBXrrr
3873 UINT64_C(623951872), // MUL_ZI_B
3874 UINT64_C(636534784), // MUL_ZI_D
3875 UINT64_C(628146176), // MUL_ZI_H
3876 UINT64_C(632340480), // MUL_ZI_S
3877 UINT64_C(68157440), // MUL_ZPmZ_B
3878 UINT64_C(80740352), // MUL_ZPmZ_D
3879 UINT64_C(72351744), // MUL_ZPmZ_H
3880 UINT64_C(76546048), // MUL_ZPmZ_S
3881 UINT64_C(1155594240), // MUL_ZZZI_D
3882 UINT64_C(1143011328), // MUL_ZZZI_H
3883 UINT64_C(1151399936), // MUL_ZZZI_S
3884 UINT64_C(69230592), // MUL_ZZZ_B
3885 UINT64_C(81813504), // MUL_ZZZ_D
3886 UINT64_C(73424896), // MUL_ZZZ_H
3887 UINT64_C(77619200), // MUL_ZZZ_S
3888 UINT64_C(1310759936), // MULv16i8
3889 UINT64_C(245406720), // MULv2i32
3890 UINT64_C(260079616), // MULv2i32_indexed
3891 UINT64_C(241212416), // MULv4i16
3892 UINT64_C(255885312), // MULv4i16_indexed
3893 UINT64_C(1319148544), // MULv4i32
3894 UINT64_C(1333821440), // MULv4i32_indexed
3895 UINT64_C(1314954240), // MULv8i16
3896 UINT64_C(1329627136), // MULv8i16_indexed
3897 UINT64_C(237018112), // MULv8i8
3898 UINT64_C(788530176), // MVNIv2i32
3899 UINT64_C(788579328), // MVNIv2s_msl
3900 UINT64_C(788562944), // MVNIv4i16
3901 UINT64_C(1862272000), // MVNIv4i32
3902 UINT64_C(1862321152), // MVNIv4s_msl
3903 UINT64_C(1862304768), // MVNIv8i16
3904 UINT64_C(633356816), // NANDS_PPzPP
3905 UINT64_C(629162512), // NAND_PPzPP
3906 UINT64_C(81804288), // NBSL_ZZZZ
3907 UINT64_C(68657152), // NEG_ZPmZ_B
3908 UINT64_C(81240064), // NEG_ZPmZ_D
3909 UINT64_C(72851456), // NEG_ZPmZ_H
3910 UINT64_C(77045760), // NEG_ZPmZ_S
3911 UINT64_C(67608576), // NEG_ZPzZ_B
3912 UINT64_C(80191488), // NEG_ZPzZ_D
3913 UINT64_C(71802880), // NEG_ZPzZ_H
3914 UINT64_C(75997184), // NEG_ZPzZ_S
3915 UINT64_C(1847638016), // NEGv16i8
3916 UINT64_C(2128656384), // NEGv1i64
3917 UINT64_C(782284800), // NEGv2i32
3918 UINT64_C(1860220928), // NEGv2i64
3919 UINT64_C(778090496), // NEGv4i16
3920 UINT64_C(1856026624), // NEGv4i32
3921 UINT64_C(1851832320), // NEGv8i16
3922 UINT64_C(773896192), // NEGv8i8
3923 UINT64_C(1159757840), // NMATCH_PPzZZ_B
3924 UINT64_C(1163952144), // NMATCH_PPzZZ_H
3925 UINT64_C(3573751839), // NOP
3926 UINT64_C(633356800), // NORS_PPzPP
3927 UINT64_C(629162496), // NOR_PPzPP
3928 UINT64_C(69115904), // NOT_ZPmZ_B
3929 UINT64_C(81698816), // NOT_ZPmZ_D
3930 UINT64_C(73310208), // NOT_ZPmZ_H
3931 UINT64_C(77504512), // NOT_ZPmZ_S
3932 UINT64_C(68067328), // NOT_ZPzZ_B
3933 UINT64_C(80650240), // NOT_ZPzZ_D
3934 UINT64_C(72261632), // NOT_ZPzZ_H
3935 UINT64_C(76455936), // NOT_ZPzZ_S
3936 UINT64_C(1847613440), // NOTv16i8
3937 UINT64_C(773871616), // NOTv8i8
3938 UINT64_C(633356304), // ORNS_PPzPP
3939 UINT64_C(706740224), // ORNWrs
3940 UINT64_C(2854223872), // ORNXrs
3941 UINT64_C(629162000), // ORN_PPzPP
3942 UINT64_C(1323310080), // ORNv16i8
3943 UINT64_C(249568256), // ORNv8i8
3944 UINT64_C(68952064), // ORQV_VPZ_B
3945 UINT64_C(81534976), // ORQV_VPZ_D
3946 UINT64_C(73146368), // ORQV_VPZ_H
3947 UINT64_C(77340672), // ORQV_VPZ_S
3948 UINT64_C(633356288), // ORRS_PPzPP
3949 UINT64_C(838860800), // ORRWri
3950 UINT64_C(704643072), // ORRWrs
3951 UINT64_C(2986344448), // ORRXri
3952 UINT64_C(2852126720), // ORRXrs
3953 UINT64_C(629161984), // ORR_PPzPP
3954 UINT64_C(83886080), // ORR_ZI
3955 UINT64_C(68681728), // ORR_ZPmZ_B
3956 UINT64_C(81264640), // ORR_ZPmZ_D
3957 UINT64_C(72876032), // ORR_ZPmZ_H
3958 UINT64_C(77070336), // ORR_ZPmZ_S
3959 UINT64_C(73412608), // ORR_ZZZ
3960 UINT64_C(1319115776), // ORRv16i8
3961 UINT64_C(251663360), // ORRv2i32
3962 UINT64_C(251696128), // ORRv4i16
3963 UINT64_C(1325405184), // ORRv4i32
3964 UINT64_C(1325437952), // ORRv8i16
3965 UINT64_C(245373952), // ORRv8i8
3966 UINT64_C(68689920), // ORV_VPZ_B
3967 UINT64_C(81272832), // ORV_VPZ_D
3968 UINT64_C(72884224), // ORV_VPZ_H
3969 UINT64_C(77078528), // ORV_VPZ_S
3970 UINT64_C(3670083584), // PACDA
3971 UINT64_C(3670084608), // PACDB
3972 UINT64_C(3670092768), // PACDZA
3973 UINT64_C(3670093792), // PACDZB
3974 UINT64_C(2596286464), // PACGA
3975 UINT64_C(3670081536), // PACIA
3976 UINT64_C(3573752095), // PACIA1716
3977 UINT64_C(3670117374), // PACIA171615
3978 UINT64_C(3573752639), // PACIASP
3979 UINT64_C(3670123518), // PACIASPPC
3980 UINT64_C(3573752607), // PACIAZ
3981 UINT64_C(3670082560), // PACIB
3982 UINT64_C(3573752159), // PACIB1716
3983 UINT64_C(3670118398), // PACIB171615
3984 UINT64_C(3573752703), // PACIBSP
3985 UINT64_C(3670124542), // PACIBSPPC
3986 UINT64_C(3573752671), // PACIBZ
3987 UINT64_C(3670090720), // PACIZA
3988 UINT64_C(3670091744), // PACIZB
3989 UINT64_C(3573753087), // PACM
3990 UINT64_C(3670115326), // PACNBIASPPC
3991 UINT64_C(3670116350), // PACNBIBSPPC
3992 UINT64_C(622883856), // PEXT_2PCI_B
3993 UINT64_C(635466768), // PEXT_2PCI_D
3994 UINT64_C(627078160), // PEXT_2PCI_H
3995 UINT64_C(631272464), // PEXT_2PCI_S
3996 UINT64_C(622882832), // PEXT_PCI_B
3997 UINT64_C(635465744), // PEXT_PCI_D
3998 UINT64_C(627077136), // PEXT_PCI_H
3999 UINT64_C(631271440), // PEXT_PCI_S
4000 UINT64_C(622388224), // PFALSE
4001 UINT64_C(626573312), // PFIRST_B
4002 UINT64_C(1159789568), // PMLAL_2ZZZ_Q
4003 UINT64_C(86652928), // PMOV_PZI_B
4004 UINT64_C(94910464), // PMOV_PZI_D
4005 UINT64_C(86784000), // PMOV_PZI_H
4006 UINT64_C(90716160), // PMOV_PZI_S
4007 UINT64_C(86718464), // PMOV_ZIP_B
4008 UINT64_C(94976000), // PMOV_ZIP_D
4009 UINT64_C(86849536), // PMOV_ZIP_H
4010 UINT64_C(90781696), // PMOV_ZIP_S
4011 UINT64_C(1170237440), // PMULLB_ZZZ_D
4012 UINT64_C(1161848832), // PMULLB_ZZZ_H
4013 UINT64_C(1157654528), // PMULLB_ZZZ_Q
4014 UINT64_C(1170238464), // PMULLT_ZZZ_D
4015 UINT64_C(1161849856), // PMULLT_ZZZ_H
4016 UINT64_C(1157655552), // PMULLT_ZZZ_Q
4017 UINT64_C(1159788544), // PMULL_2ZZZ_Q
4018 UINT64_C(1310777344), // PMULLv16i8
4019 UINT64_C(249618432), // PMULLv1i64
4020 UINT64_C(1323360256), // PMULLv2i64
4021 UINT64_C(237035520), // PMULLv8i8
4022 UINT64_C(69231616), // PMUL_ZZZ_B
4023 UINT64_C(1847630848), // PMULv16i8
4024 UINT64_C(773889024), // PMULv8i8
4025 UINT64_C(622445568), // PNEXT_B
4026 UINT64_C(635028480), // PNEXT_D
4027 UINT64_C(626639872), // PNEXT_H
4028 UINT64_C(630834176), // PNEXT_S
4029 UINT64_C(3288391680), // PRFB_D_PZI
4030 UINT64_C(3294658560), // PRFB_D_SCALED
4031 UINT64_C(3294625792), // PRFB_D_SXTW_SCALED
4032 UINT64_C(3290431488), // PRFB_D_UXTW_SCALED
4033 UINT64_C(2243952640), // PRFB_PRI
4034 UINT64_C(2214641664), // PRFB_PRR
4035 UINT64_C(2214649856), // PRFB_S_PZI
4036 UINT64_C(2220883968), // PRFB_S_SXTW_SCALED
4037 UINT64_C(2216689664), // PRFB_S_UXTW_SCALED
4038 UINT64_C(3313557504), // PRFD_D_PZI
4039 UINT64_C(3294683136), // PRFD_D_SCALED
4040 UINT64_C(3294650368), // PRFD_D_SXTW_SCALED
4041 UINT64_C(3290456064), // PRFD_D_UXTW_SCALED
4042 UINT64_C(2243977216), // PRFD_PRI
4043 UINT64_C(2239807488), // PRFD_PRR
4044 UINT64_C(2239815680), // PRFD_S_PZI
4045 UINT64_C(2220908544), // PRFD_S_SXTW_SCALED
4046 UINT64_C(2216714240), // PRFD_S_UXTW_SCALED
4047 UINT64_C(3296780288), // PRFH_D_PZI
4048 UINT64_C(3294666752), // PRFH_D_SCALED
4049 UINT64_C(3294633984), // PRFH_D_SXTW_SCALED
4050 UINT64_C(3290439680), // PRFH_D_UXTW_SCALED
4051 UINT64_C(2243960832), // PRFH_PRI
4052 UINT64_C(2223030272), // PRFH_PRR
4053 UINT64_C(2223038464), // PRFH_S_PZI
4054 UINT64_C(2220892160), // PRFH_S_SXTW_SCALED
4055 UINT64_C(2216697856), // PRFH_S_UXTW_SCALED
4056 UINT64_C(3623878656), // PRFMl
4057 UINT64_C(4171253760), // PRFMroW
4058 UINT64_C(4171261952), // PRFMroX
4059 UINT64_C(4185915392), // PRFMui
4060 UINT64_C(4169138176), // PRFUMi
4061 UINT64_C(3305168896), // PRFW_D_PZI
4062 UINT64_C(3294674944), // PRFW_D_SCALED
4063 UINT64_C(3294642176), // PRFW_D_SXTW_SCALED
4064 UINT64_C(3290447872), // PRFW_D_UXTW_SCALED
4065 UINT64_C(2243969024), // PRFW_PRI
4066 UINT64_C(2231418880), // PRFW_PRR
4067 UINT64_C(2231427072), // PRFW_S_PZI
4068 UINT64_C(2220900352), // PRFW_S_SXTW_SCALED
4069 UINT64_C(2216706048), // PRFW_S_UXTW_SCALED
4070 UINT64_C(623132672), // PSEL_PPPRI_B
4071 UINT64_C(627064832), // PSEL_PPPRI_D
4072 UINT64_C(623394816), // PSEL_PPPRI_H
4073 UINT64_C(623919104), // PSEL_PPPRI_S
4074 UINT64_C(626049024), // PTEST_PP
4075 UINT64_C(622452736), // PTRUES_B
4076 UINT64_C(635035648), // PTRUES_D
4077 UINT64_C(626647040), // PTRUES_H
4078 UINT64_C(630841344), // PTRUES_S
4079 UINT64_C(622387200), // PTRUE_B
4080 UINT64_C(622884880), // PTRUE_C_B
4081 UINT64_C(635467792), // PTRUE_C_D
4082 UINT64_C(627079184), // PTRUE_C_H
4083 UINT64_C(631273488), // PTRUE_C_S
4084 UINT64_C(634970112), // PTRUE_D
4085 UINT64_C(626581504), // PTRUE_H
4086 UINT64_C(630775808), // PTRUE_S
4087 UINT64_C(87113728), // PUNPKHI_PP
4088 UINT64_C(87048192), // PUNPKLO_PP
4089 UINT64_C(1163945984), // RADDHNB_ZZZ_B
4090 UINT64_C(1168140288), // RADDHNB_ZZZ_H
4091 UINT64_C(1172334592), // RADDHNB_ZZZ_S
4092 UINT64_C(1163947008), // RADDHNT_ZZZ_B
4093 UINT64_C(1168141312), // RADDHNT_ZZZ_H
4094 UINT64_C(1172335616), // RADDHNT_ZZZ_S
4095 UINT64_C(782254080), // RADDHNv2i64_v2i32
4096 UINT64_C(1855995904), // RADDHNv2i64_v4i32
4097 UINT64_C(778059776), // RADDHNv4i32_v4i16
4098 UINT64_C(1851801600), // RADDHNv4i32_v8i16
4099 UINT64_C(1847607296), // RADDHNv8i16_v16i8
4100 UINT64_C(773865472), // RADDHNv8i16_v8i8
4101 UINT64_C(3462433792), // RAX1
4102 UINT64_C(1159787520), // RAX1_ZZZ_D
4103 UINT64_C(1522532352), // RBITWr
4104 UINT64_C(3670016000), // RBITXr
4105 UINT64_C(86474752), // RBIT_ZPmZ_B
4106 UINT64_C(99057664), // RBIT_ZPmZ_D
4107 UINT64_C(90669056), // RBIT_ZPmZ_H
4108 UINT64_C(94863360), // RBIT_ZPmZ_S
4109 UINT64_C(86482944), // RBIT_ZPzZ_B
4110 UINT64_C(99065856), // RBIT_ZPzZ_D
4111 UINT64_C(90677248), // RBIT_ZPzZ_H
4112 UINT64_C(94871552), // RBIT_ZPzZ_S
4113 UINT64_C(1851807744), // RBITv16i8
4114 UINT64_C(778065920), // RBITv8i8
4115 UINT64_C(421529600), // RCWCAS
4116 UINT64_C(429918208), // RCWCASA
4117 UINT64_C(434112512), // RCWCASAL
4118 UINT64_C(425723904), // RCWCASL
4119 UINT64_C(421530624), // RCWCASP
4120 UINT64_C(429919232), // RCWCASPA
4121 UINT64_C(434113536), // RCWCASPAL
4122 UINT64_C(425724928), // RCWCASPL
4123 UINT64_C(941658112), // RCWCLR
4124 UINT64_C(950046720), // RCWCLRA
4125 UINT64_C(954241024), // RCWCLRAL
4126 UINT64_C(945852416), // RCWCLRL
4127 UINT64_C(421564416), // RCWCLRP
4128 UINT64_C(429953024), // RCWCLRPA
4129 UINT64_C(434147328), // RCWCLRPAL
4130 UINT64_C(425758720), // RCWCLRPL
4131 UINT64_C(2015399936), // RCWCLRS
4132 UINT64_C(2023788544), // RCWCLRSA
4133 UINT64_C(2027982848), // RCWCLRSAL
4134 UINT64_C(2019594240), // RCWCLRSL
4135 UINT64_C(1495306240), // RCWCLRSP
4136 UINT64_C(1503694848), // RCWCLRSPA
4137 UINT64_C(1507889152), // RCWCLRSPAL
4138 UINT64_C(1499500544), // RCWCLRSPL
4139 UINT64_C(1495271424), // RCWSCAS
4140 UINT64_C(1503660032), // RCWSCASA
4141 UINT64_C(1507854336), // RCWSCASAL
4142 UINT64_C(1499465728), // RCWSCASL
4143 UINT64_C(1495272448), // RCWSCASP
4144 UINT64_C(1503661056), // RCWSCASPA
4145 UINT64_C(1507855360), // RCWSCASPAL
4146 UINT64_C(1499466752), // RCWSCASPL
4147 UINT64_C(941666304), // RCWSET
4148 UINT64_C(950054912), // RCWSETA
4149 UINT64_C(954249216), // RCWSETAL
4150 UINT64_C(945860608), // RCWSETL
4151 UINT64_C(421572608), // RCWSETP
4152 UINT64_C(429961216), // RCWSETPA
4153 UINT64_C(434155520), // RCWSETPAL
4154 UINT64_C(425766912), // RCWSETPL
4155 UINT64_C(2015408128), // RCWSETS
4156 UINT64_C(2023796736), // RCWSETSA
4157 UINT64_C(2027991040), // RCWSETSAL
4158 UINT64_C(2019602432), // RCWSETSL
4159 UINT64_C(1495314432), // RCWSETSP
4160 UINT64_C(1503703040), // RCWSETSPA
4161 UINT64_C(1507897344), // RCWSETSPAL
4162 UINT64_C(1499508736), // RCWSETSPL
4163 UINT64_C(941662208), // RCWSWP
4164 UINT64_C(950050816), // RCWSWPA
4165 UINT64_C(954245120), // RCWSWPAL
4166 UINT64_C(945856512), // RCWSWPL
4167 UINT64_C(421568512), // RCWSWPP
4168 UINT64_C(429957120), // RCWSWPPA
4169 UINT64_C(434151424), // RCWSWPPAL
4170 UINT64_C(425762816), // RCWSWPPL
4171 UINT64_C(2015404032), // RCWSWPS
4172 UINT64_C(2023792640), // RCWSWPSA
4173 UINT64_C(2027986944), // RCWSWPSAL
4174 UINT64_C(2019598336), // RCWSWPSL
4175 UINT64_C(1495310336), // RCWSWPSP
4176 UINT64_C(1503698944), // RCWSWPSPA
4177 UINT64_C(1507893248), // RCWSWPSPAL
4178 UINT64_C(1499504640), // RCWSWPSPL
4179 UINT64_C(626585600), // RDFFRS_PPz
4180 UINT64_C(622456832), // RDFFR_P
4181 UINT64_C(622391296), // RDFFR_PPz
4182 UINT64_C(79648768), // RDSVLI_XI
4183 UINT64_C(79646720), // RDVLI_XI
4184 UINT64_C(3596550144), // RET
4185 UINT64_C(3596553215), // RETAA
4186 UINT64_C(1426063391), // RETAASPPCi
4187 UINT64_C(3596553184), // RETAASPPCr
4188 UINT64_C(3596554239), // RETAB
4189 UINT64_C(1428160543), // RETABSPPCi
4190 UINT64_C(3596554208), // RETABSPPCr
4191 UINT64_C(1522533376), // REV16Wr
4192 UINT64_C(3670017024), // REV16Xr
4193 UINT64_C(1310726144), // REV16v16i8
4194 UINT64_C(236984320), // REV16v8i8
4195 UINT64_C(3670018048), // REV32Xr
4196 UINT64_C(1847592960), // REV32v16i8
4197 UINT64_C(778045440), // REV32v4i16
4198 UINT64_C(1851787264), // REV32v8i16
4199 UINT64_C(773851136), // REV32v8i8
4200 UINT64_C(1310722048), // REV64v16i8
4201 UINT64_C(245368832), // REV64v2i32
4202 UINT64_C(241174528), // REV64v4i16
4203 UINT64_C(1319110656), // REV64v4i32
4204 UINT64_C(1314916352), // REV64v8i16
4205 UINT64_C(236980224), // REV64v8i8
4206 UINT64_C(98861056), // REVB_ZPmZ_D
4207 UINT64_C(90472448), // REVB_ZPmZ_H
4208 UINT64_C(94666752), // REVB_ZPmZ_S
4209 UINT64_C(98869248), // REVB_ZPzZ_D
4210 UINT64_C(90480640), // REVB_ZPzZ_H
4211 UINT64_C(94674944), // REVB_ZPzZ_S
4212 UINT64_C(86933504), // REVD_ZPmZ
4213 UINT64_C(86941696), // REVD_ZPzZ
4214 UINT64_C(98926592), // REVH_ZPmZ_D
4215 UINT64_C(94732288), // REVH_ZPmZ_S
4216 UINT64_C(98934784), // REVH_ZPzZ_D
4217 UINT64_C(94740480), // REVH_ZPzZ_S
4218 UINT64_C(98992128), // REVW_ZPmZ_D
4219 UINT64_C(99000320), // REVW_ZPzZ_D
4220 UINT64_C(1522534400), // REVWr
4221 UINT64_C(3670019072), // REVXr
4222 UINT64_C(87310336), // REV_PP_B
4223 UINT64_C(99893248), // REV_PP_D
4224 UINT64_C(91504640), // REV_PP_H
4225 UINT64_C(95698944), // REV_PP_S
4226 UINT64_C(87570432), // REV_ZZ_B
4227 UINT64_C(100153344), // REV_ZZ_D
4228 UINT64_C(91764736), // REV_ZZ_H
4229 UINT64_C(95959040), // REV_ZZ_S
4230 UINT64_C(3120563200), // RMIF
4231 UINT64_C(448801792), // RORVWr
4232 UINT64_C(2596285440), // RORVXr
4233 UINT64_C(4171253784), // RPRFM
4234 UINT64_C(1160255488), // RSHRNB_ZZI_B
4235 UINT64_C(1160779776), // RSHRNB_ZZI_H
4236 UINT64_C(1163925504), // RSHRNB_ZZI_S
4237 UINT64_C(1160256512), // RSHRNT_ZZI_B
4238 UINT64_C(1160780800), // RSHRNT_ZZI_H
4239 UINT64_C(1163926528), // RSHRNT_ZZI_S
4240 UINT64_C(1325960192), // RSHRNv16i8_shift
4241 UINT64_C(253791232), // RSHRNv2i32_shift
4242 UINT64_C(252742656), // RSHRNv4i16_shift
4243 UINT64_C(1327533056), // RSHRNv4i32_shift
4244 UINT64_C(1326484480), // RSHRNv8i16_shift
4245 UINT64_C(252218368), // RSHRNv8i8_shift
4246 UINT64_C(1163950080), // RSUBHNB_ZZZ_B
4247 UINT64_C(1168144384), // RSUBHNB_ZZZ_H
4248 UINT64_C(1172338688), // RSUBHNB_ZZZ_S
4249 UINT64_C(1163951104), // RSUBHNT_ZZZ_B
4250 UINT64_C(1168145408), // RSUBHNT_ZZZ_H
4251 UINT64_C(1172339712), // RSUBHNT_ZZZ_S
4252 UINT64_C(782262272), // RSUBHNv2i64_v2i32
4253 UINT64_C(1856004096), // RSUBHNv2i64_v4i32
4254 UINT64_C(778067968), // RSUBHNv4i32_v4i16
4255 UINT64_C(1851809792), // RSUBHNv4i32_v8i16
4256 UINT64_C(1847615488), // RSUBHNv8i16_v16i8
4257 UINT64_C(773873664), // RSUBHNv8i16_v8i8
4258 UINT64_C(1170259968), // SABALB_ZZZ_D
4259 UINT64_C(1161871360), // SABALB_ZZZ_H
4260 UINT64_C(1166065664), // SABALB_ZZZ_S
4261 UINT64_C(1170260992), // SABALT_ZZZ_D
4262 UINT64_C(1161872384), // SABALT_ZZZ_H
4263 UINT64_C(1166066688), // SABALT_ZZZ_S
4264 UINT64_C(1145099264), // SABAL_ZZZ_BtoH
4265 UINT64_C(1149293568), // SABAL_ZZZ_HtoS
4266 UINT64_C(1153487872), // SABAL_ZZZ_StoD
4267 UINT64_C(1310740480), // SABALv16i8_v8i16
4268 UINT64_C(245387264), // SABALv2i32_v2i64
4269 UINT64_C(241192960), // SABALv4i16_v4i32
4270 UINT64_C(1319129088), // SABALv4i32_v2i64
4271 UINT64_C(1314934784), // SABALv8i16_v4i32
4272 UINT64_C(236998656), // SABALv8i8_v8i16
4273 UINT64_C(1157691392), // SABA_ZZZ_B
4274 UINT64_C(1170274304), // SABA_ZZZ_D
4275 UINT64_C(1161885696), // SABA_ZZZ_H
4276 UINT64_C(1166080000), // SABA_ZZZ_S
4277 UINT64_C(1310751744), // SABAv16i8
4278 UINT64_C(245398528), // SABAv2i32
4279 UINT64_C(241204224), // SABAv4i16
4280 UINT64_C(1319140352), // SABAv4i32
4281 UINT64_C(1314946048), // SABAv8i16
4282 UINT64_C(237009920), // SABAv8i8
4283 UINT64_C(1170223104), // SABDLB_ZZZ_D
4284 UINT64_C(1161834496), // SABDLB_ZZZ_H
4285 UINT64_C(1166028800), // SABDLB_ZZZ_S
4286 UINT64_C(1170224128), // SABDLT_ZZZ_D
4287 UINT64_C(1161835520), // SABDLT_ZZZ_H
4288 UINT64_C(1166029824), // SABDLT_ZZZ_S
4289 UINT64_C(1310748672), // SABDLv16i8_v8i16
4290 UINT64_C(245395456), // SABDLv2i32_v2i64
4291 UINT64_C(241201152), // SABDLv4i16_v4i32
4292 UINT64_C(1319137280), // SABDLv4i32_v2i64
4293 UINT64_C(1314942976), // SABDLv8i16_v4i32
4294 UINT64_C(237006848), // SABDLv8i8_v8i16
4295 UINT64_C(67895296), // SABD_ZPmZ_B
4296 UINT64_C(80478208), // SABD_ZPmZ_D
4297 UINT64_C(72089600), // SABD_ZPmZ_H
4298 UINT64_C(76283904), // SABD_ZPmZ_S
4299 UINT64_C(1310749696), // SABDv16i8
4300 UINT64_C(245396480), // SABDv2i32
4301 UINT64_C(241202176), // SABDv4i16
4302 UINT64_C(1319138304), // SABDv4i32
4303 UINT64_C(1314944000), // SABDv8i16
4304 UINT64_C(237007872), // SABDv8i8
4305 UINT64_C(1153736704), // SADALP_ZPmZ_D
4306 UINT64_C(1145348096), // SADALP_ZPmZ_H
4307 UINT64_C(1149542400), // SADALP_ZPmZ_S
4308 UINT64_C(1310746624), // SADALPv16i8_v8i16
4309 UINT64_C(245393408), // SADALPv2i32_v1i64
4310 UINT64_C(241199104), // SADALPv4i16_v2i32
4311 UINT64_C(1319135232), // SADALPv4i32_v2i64
4312 UINT64_C(1314940928), // SADALPv8i16_v4i32
4313 UINT64_C(237004800), // SADALPv8i8_v4i16
4314 UINT64_C(1170243584), // SADDLBT_ZZZ_D
4315 UINT64_C(1161854976), // SADDLBT_ZZZ_H
4316 UINT64_C(1166049280), // SADDLBT_ZZZ_S
4317 UINT64_C(1170210816), // SADDLB_ZZZ_D
4318 UINT64_C(1161822208), // SADDLB_ZZZ_H
4319 UINT64_C(1166016512), // SADDLB_ZZZ_S
4320 UINT64_C(1310730240), // SADDLPv16i8_v8i16
4321 UINT64_C(245377024), // SADDLPv2i32_v1i64
4322 UINT64_C(241182720), // SADDLPv4i16_v2i32
4323 UINT64_C(1319118848), // SADDLPv4i32_v2i64
4324 UINT64_C(1314924544), // SADDLPv8i16_v4i32
4325 UINT64_C(236988416), // SADDLPv8i8_v4i16
4326 UINT64_C(1170211840), // SADDLT_ZZZ_D
4327 UINT64_C(1161823232), // SADDLT_ZZZ_H
4328 UINT64_C(1166017536), // SADDLT_ZZZ_S
4329 UINT64_C(1311782912), // SADDLVv16i8v
4330 UINT64_C(242235392), // SADDLVv4i16v
4331 UINT64_C(1320171520), // SADDLVv4i32v
4332 UINT64_C(1315977216), // SADDLVv8i16v
4333 UINT64_C(238041088), // SADDLVv8i8v
4334 UINT64_C(1310720000), // SADDLv16i8_v8i16
4335 UINT64_C(245366784), // SADDLv2i32_v2i64
4336 UINT64_C(241172480), // SADDLv4i16_v4i32
4337 UINT64_C(1319108608), // SADDLv4i32_v2i64
4338 UINT64_C(1314914304), // SADDLv8i16_v4i32
4339 UINT64_C(236978176), // SADDLv8i8_v8i16
4340 UINT64_C(67117056), // SADDV_VPZ_B
4341 UINT64_C(71311360), // SADDV_VPZ_H
4342 UINT64_C(75505664), // SADDV_VPZ_S
4343 UINT64_C(1170227200), // SADDWB_ZZZ_D
4344 UINT64_C(1161838592), // SADDWB_ZZZ_H
4345 UINT64_C(1166032896), // SADDWB_ZZZ_S
4346 UINT64_C(1170228224), // SADDWT_ZZZ_D
4347 UINT64_C(1161839616), // SADDWT_ZZZ_H
4348 UINT64_C(1166033920), // SADDWT_ZZZ_S
4349 UINT64_C(1310724096), // SADDWv16i8_v8i16
4350 UINT64_C(245370880), // SADDWv2i32_v2i64
4351 UINT64_C(241176576), // SADDWv4i16_v4i32
4352 UINT64_C(1319112704), // SADDWv4i32_v2i64
4353 UINT64_C(1314918400), // SADDWv8i16_v4i32
4354 UINT64_C(236982272), // SADDWv8i8_v8i16
4355 UINT64_C(3573756159), // SB
4356 UINT64_C(1170264064), // SBCLB_ZZZ_D
4357 UINT64_C(1166069760), // SBCLB_ZZZ_S
4358 UINT64_C(1170265088), // SBCLT_ZZZ_D
4359 UINT64_C(1166070784), // SBCLT_ZZZ_S
4360 UINT64_C(2046820352), // SBCSWr
4361 UINT64_C(4194304000), // SBCSXr
4362 UINT64_C(1509949440), // SBCWr
4363 UINT64_C(3657433088), // SBCXr
4364 UINT64_C(318767104), // SBFMWri
4365 UINT64_C(2470445056), // SBFMXri
4366 UINT64_C(3240150016), // SCLAMP_VG2_2Z2Z_B
4367 UINT64_C(3252732928), // SCLAMP_VG2_2Z2Z_D
4368 UINT64_C(3244344320), // SCLAMP_VG2_2Z2Z_H
4369 UINT64_C(3248538624), // SCLAMP_VG2_2Z2Z_S
4370 UINT64_C(3240152064), // SCLAMP_VG4_4Z4Z_B
4371 UINT64_C(3252734976), // SCLAMP_VG4_4Z4Z_D
4372 UINT64_C(3244346368), // SCLAMP_VG4_4Z4Z_H
4373 UINT64_C(3248540672), // SCLAMP_VG4_4Z4Z_S
4374 UINT64_C(1140899840), // SCLAMP_ZZZ_B
4375 UINT64_C(1153482752), // SCLAMP_ZZZ_D
4376 UINT64_C(1145094144), // SCLAMP_ZZZ_H
4377 UINT64_C(1149288448), // SCLAMP_ZZZ_S
4378 UINT64_C(511442944), // SCVTFDSr
4379 UINT64_C(2667315200), // SCVTFHDr
4380 UINT64_C(519831552), // SCVTFHSr
4381 UINT64_C(1699493888), // SCVTFLT_ZZ_BtoH
4382 UINT64_C(1703688192), // SCVTFLT_ZZ_HtoS
4383 UINT64_C(1707882496), // SCVTFLT_ZZ_StoD
4384 UINT64_C(2654732288), // SCVTFSDr
4385 UINT64_C(507674624), // SCVTFSWDri
4386 UINT64_C(516063232), // SCVTFSWHri
4387 UINT64_C(503480320), // SCVTFSWSri
4388 UINT64_C(2655125504), // SCVTFSXDri
4389 UINT64_C(2663514112), // SCVTFSXHri
4390 UINT64_C(2650931200), // SCVTFSXSri
4391 UINT64_C(509739008), // SCVTFUWDri
4392 UINT64_C(518127616), // SCVTFUWHri
4393 UINT64_C(505544704), // SCVTFUWSri
4394 UINT64_C(2657222656), // SCVTFUXDri
4395 UINT64_C(2665611264), // SCVTFUXHri
4396 UINT64_C(2653028352), // SCVTFUXSri
4397 UINT64_C(3240288256), // SCVTF_2Z2Z_StoS
4398 UINT64_C(3241336832), // SCVTF_4Z4Z_StoS
4399 UINT64_C(1708564480), // SCVTF_ZPmZ_DtoD
4400 UINT64_C(1700175872), // SCVTF_ZPmZ_DtoH
4401 UINT64_C(1708433408), // SCVTF_ZPmZ_DtoS
4402 UINT64_C(1699913728), // SCVTF_ZPmZ_HtoH
4403 UINT64_C(1708171264), // SCVTF_ZPmZ_StoD
4404 UINT64_C(1700044800), // SCVTF_ZPmZ_StoH
4405 UINT64_C(1704239104), // SCVTF_ZPmZ_StoS
4406 UINT64_C(1692254208), // SCVTF_ZPzZ_DtoD
4407 UINT64_C(1683865600), // SCVTF_ZPzZ_DtoH
4408 UINT64_C(1692237824), // SCVTF_ZPzZ_DtoS
4409 UINT64_C(1683800064), // SCVTF_ZPzZ_HtoH
4410 UINT64_C(1692172288), // SCVTF_ZPzZ_StoD
4411 UINT64_C(1683849216), // SCVTF_ZPzZ_StoH
4412 UINT64_C(1688043520), // SCVTF_ZPzZ_StoS
4413 UINT64_C(1699491840), // SCVTF_ZZ_BtoH
4414 UINT64_C(1703686144), // SCVTF_ZZ_HtoS
4415 UINT64_C(1707880448), // SCVTF_ZZ_StoD
4416 UINT64_C(1598088192), // SCVTFd
4417 UINT64_C(1594942464), // SCVTFh
4418 UINT64_C(1595991040), // SCVTFs
4419 UINT64_C(1585043456), // SCVTFv1i16
4420 UINT64_C(1579276288), // SCVTFv1i32
4421 UINT64_C(1583470592), // SCVTFv1i64
4422 UINT64_C(237099008), // SCVTFv2f32
4423 UINT64_C(1315035136), // SCVTFv2f64
4424 UINT64_C(253813760), // SCVTFv2i32_shift
4425 UINT64_C(1329652736), // SCVTFv2i64_shift
4426 UINT64_C(242866176), // SCVTFv4f16
4427 UINT64_C(1310840832), // SCVTFv4f32
4428 UINT64_C(252765184), // SCVTFv4i16_shift
4429 UINT64_C(1327555584), // SCVTFv4i32_shift
4430 UINT64_C(1316608000), // SCVTFv8f16
4431 UINT64_C(1326507008), // SCVTFv8i16_shift
4432 UINT64_C(81133568), // SDIVR_ZPmZ_D
4433 UINT64_C(76939264), // SDIVR_ZPmZ_S
4434 UINT64_C(448793600), // SDIVWr
4435 UINT64_C(2596277248), // SDIVXr
4436 UINT64_C(81002496), // SDIV_ZPmZ_D
4437 UINT64_C(76808192), // SDIV_ZPmZ_S
4438 UINT64_C(3248493568), // SDOT_VG2_M2Z2Z_BtoS
4439 UINT64_C(3252687872), // SDOT_VG2_M2Z2Z_HtoD
4440 UINT64_C(3252687880), // SDOT_VG2_M2Z2Z_HtoS
4441 UINT64_C(3243249696), // SDOT_VG2_M2ZZI_BToS
4442 UINT64_C(3243249664), // SDOT_VG2_M2ZZI_HToS
4443 UINT64_C(3251634184), // SDOT_VG2_M2ZZI_HtoD
4444 UINT64_C(3240104960), // SDOT_VG2_M2ZZ_BtoS
4445 UINT64_C(3244299264), // SDOT_VG2_M2ZZ_HtoD
4446 UINT64_C(3244299272), // SDOT_VG2_M2ZZ_HtoS
4447 UINT64_C(3248559104), // SDOT_VG4_M4Z4Z_BtoS
4448 UINT64_C(3252753408), // SDOT_VG4_M4Z4Z_HtoD
4449 UINT64_C(3252753416), // SDOT_VG4_M4Z4Z_HtoS
4450 UINT64_C(3243282464), // SDOT_VG4_M4ZZI_BToS
4451 UINT64_C(3243282432), // SDOT_VG4_M4ZZI_HToS
4452 UINT64_C(3251666952), // SDOT_VG4_M4ZZI_HtoD
4453 UINT64_C(3241153536), // SDOT_VG4_M4ZZ_BtoS
4454 UINT64_C(3245347840), // SDOT_VG4_M4ZZ_HtoD
4455 UINT64_C(3245347848), // SDOT_VG4_M4ZZ_HtoS
4456 UINT64_C(1142947840), // SDOT_ZZZI_BtoH
4457 UINT64_C(1151336448), // SDOT_ZZZI_BtoS
4458 UINT64_C(1155530752), // SDOT_ZZZI_HtoD
4459 UINT64_C(1149290496), // SDOT_ZZZI_HtoS
4460 UINT64_C(1145044992), // SDOT_ZZZ_BtoH
4461 UINT64_C(1149239296), // SDOT_ZZZ_BtoS
4462 UINT64_C(1153433600), // SDOT_ZZZ_HtoD
4463 UINT64_C(1140901888), // SDOT_ZZZ_HtoS
4464 UINT64_C(1333846016), // SDOTlanev16i8
4465 UINT64_C(260104192), // SDOTlanev8i8
4466 UINT64_C(1317049344), // SDOTv16i8
4467 UINT64_C(243307520), // SDOTv8i8
4468 UINT64_C(620773904), // SEL_PPPP
4469 UINT64_C(3240132608), // SEL_VG2_2ZC2Z2Z_B
4470 UINT64_C(3252715520), // SEL_VG2_2ZC2Z2Z_D
4471 UINT64_C(3244326912), // SEL_VG2_2ZC2Z2Z_H
4472 UINT64_C(3248521216), // SEL_VG2_2ZC2Z2Z_S
4473 UINT64_C(3240198144), // SEL_VG4_4ZC4Z4Z_B
4474 UINT64_C(3252781056), // SEL_VG4_4ZC4Z4Z_D
4475 UINT64_C(3244392448), // SEL_VG4_4ZC4Z4Z_H
4476 UINT64_C(3248586752), // SEL_VG4_4ZC4Z4Z_S
4477 UINT64_C(86032384), // SEL_ZPZZ_B
4478 UINT64_C(98615296), // SEL_ZPZZ_D
4479 UINT64_C(90226688), // SEL_ZPZZ_H
4480 UINT64_C(94420992), // SEL_ZPZZ_S
4481 UINT64_C(432047104), // SETE
4482 UINT64_C(432055296), // SETEN
4483 UINT64_C(432051200), // SETET
4484 UINT64_C(432059392), // SETETN
4485 UINT64_C(973096973), // SETF16
4486 UINT64_C(973080589), // SETF8
4487 UINT64_C(623677440), // SETFFR
4488 UINT64_C(499139584), // SETGM
4489 UINT64_C(499147776), // SETGMN
4490 UINT64_C(499143680), // SETGMT
4491 UINT64_C(499151872), // SETGMTN
4492 UINT64_C(501186560), // SETGOE
4493 UINT64_C(501194752), // SETGOEN
4494 UINT64_C(501190656), // SETGOET
4495 UINT64_C(501198848), // SETGOETN
4496 UINT64_C(501170176), // SETGOM
4497 UINT64_C(501178368), // SETGOMN
4498 UINT64_C(501174272), // SETGOMT
4499 UINT64_C(501182464), // SETGOMTN
4500 UINT64_C(501153792), // SETGOP
4501 UINT64_C(501161984), // SETGOPN
4502 UINT64_C(501157888), // SETGOPT
4503 UINT64_C(501166080), // SETGOPTN
4504 UINT64_C(499123200), // SETGP
4505 UINT64_C(499131392), // SETGPN
4506 UINT64_C(499127296), // SETGPT
4507 UINT64_C(499135488), // SETGPTN
4508 UINT64_C(432030720), // SETM
4509 UINT64_C(432038912), // SETMN
4510 UINT64_C(432034816), // SETMT
4511 UINT64_C(432043008), // SETMTN
4512 UINT64_C(432014336), // SETP
4513 UINT64_C(432022528), // SETPN
4514 UINT64_C(432018432), // SETPT
4515 UINT64_C(432026624), // SETPTN
4516 UINT64_C(1577058304), // SHA1Crrr
4517 UINT64_C(1579681792), // SHA1Hrr
4518 UINT64_C(1577066496), // SHA1Mrrr
4519 UINT64_C(1577062400), // SHA1Prrr
4520 UINT64_C(1577070592), // SHA1SU0rrr
4521 UINT64_C(1579685888), // SHA1SU1rr
4522 UINT64_C(1577078784), // SHA256H2rrr
4523 UINT64_C(1577074688), // SHA256Hrrr
4524 UINT64_C(1579689984), // SHA256SU0rr
4525 UINT64_C(1577082880), // SHA256SU1rrr
4526 UINT64_C(3462430720), // SHA512H
4527 UINT64_C(3462431744), // SHA512H2
4528 UINT64_C(3468722176), // SHA512SU0
4529 UINT64_C(3462432768), // SHA512SU1
4530 UINT64_C(1141932032), // SHADD_ZPmZ_B
4531 UINT64_C(1154514944), // SHADD_ZPmZ_D
4532 UINT64_C(1146126336), // SHADD_ZPmZ_H
4533 UINT64_C(1150320640), // SHADD_ZPmZ_S
4534 UINT64_C(1310721024), // SHADDv16i8
4535 UINT64_C(245367808), // SHADDv2i32
4536 UINT64_C(241173504), // SHADDv4i16
4537 UINT64_C(1319109632), // SHADDv4i32
4538 UINT64_C(1314915328), // SHADDv8i16
4539 UINT64_C(236979200), // SHADDv8i8
4540 UINT64_C(1847670784), // SHLLv16i8
4541 UINT64_C(782317568), // SHLLv2i32
4542 UINT64_C(778123264), // SHLLv4i16
4543 UINT64_C(1856059392), // SHLLv4i32
4544 UINT64_C(1851865088), // SHLLv8i16
4545 UINT64_C(773928960), // SHLLv8i8
4546 UINT64_C(1598051328), // SHLd
4547 UINT64_C(1325945856), // SHLv16i8_shift
4548 UINT64_C(253776896), // SHLv2i32_shift
4549 UINT64_C(1329615872), // SHLv2i64_shift
4550 UINT64_C(252728320), // SHLv4i16_shift
4551 UINT64_C(1327518720), // SHLv4i32_shift
4552 UINT64_C(1326470144), // SHLv8i16_shift
4553 UINT64_C(252204032), // SHLv8i8_shift
4554 UINT64_C(1160253440), // SHRNB_ZZI_B
4555 UINT64_C(1160777728), // SHRNB_ZZI_H
4556 UINT64_C(1163923456), // SHRNB_ZZI_S
4557 UINT64_C(1160254464), // SHRNT_ZZI_B
4558 UINT64_C(1160778752), // SHRNT_ZZI_H
4559 UINT64_C(1163924480), // SHRNT_ZZI_S
4560 UINT64_C(1325958144), // SHRNv16i8_shift
4561 UINT64_C(253789184), // SHRNv2i32_shift
4562 UINT64_C(252740608), // SHRNv4i16_shift
4563 UINT64_C(1327531008), // SHRNv4i32_shift
4564 UINT64_C(1326482432), // SHRNv8i16_shift
4565 UINT64_C(252216320), // SHRNv8i8_shift
4566 UINT64_C(1142325248), // SHSUBR_ZPmZ_B
4567 UINT64_C(1154908160), // SHSUBR_ZPmZ_D
4568 UINT64_C(1146519552), // SHSUBR_ZPmZ_H
4569 UINT64_C(1150713856), // SHSUBR_ZPmZ_S
4570 UINT64_C(1142063104), // SHSUB_ZPmZ_B
4571 UINT64_C(1154646016), // SHSUB_ZPmZ_D
4572 UINT64_C(1146257408), // SHSUB_ZPmZ_H
4573 UINT64_C(1150451712), // SHSUB_ZPmZ_S
4574 UINT64_C(1310729216), // SHSUBv16i8
4575 UINT64_C(245376000), // SHSUBv2i32
4576 UINT64_C(241181696), // SHSUBv4i16
4577 UINT64_C(1319117824), // SHSUBv4i32
4578 UINT64_C(1314923520), // SHSUBv8i16
4579 UINT64_C(236987392), // SHSUBv8i8
4580 UINT64_C(3573753439), // SHUH
4581 UINT64_C(1158214656), // SLI_ZZI_B
4582 UINT64_C(1166078976), // SLI_ZZI_D
4583 UINT64_C(1158738944), // SLI_ZZI_H
4584 UINT64_C(1161884672), // SLI_ZZI_S
4585 UINT64_C(2134922240), // SLId
4586 UINT64_C(1862816768), // SLIv16i8_shift
4587 UINT64_C(790647808), // SLIv2i32_shift
4588 UINT64_C(1866486784), // SLIv2i64_shift
4589 UINT64_C(789599232), // SLIv4i16_shift
4590 UINT64_C(1864389632), // SLIv4i32_shift
4591 UINT64_C(1863341056), // SLIv8i16_shift
4592 UINT64_C(789074944), // SLIv8i8_shift
4593 UINT64_C(3462447104), // SM3PARTW1
4594 UINT64_C(3462448128), // SM3PARTW2
4595 UINT64_C(3460300800), // SM3SS1
4596 UINT64_C(3460333568), // SM3TT1A
4597 UINT64_C(3460334592), // SM3TT1B
4598 UINT64_C(3460335616), // SM3TT2A
4599 UINT64_C(3460336640), // SM3TT2B
4600 UINT64_C(3468723200), // SM4E
4601 UINT64_C(1159786496), // SM4EKEY_ZZZ_S
4602 UINT64_C(3462449152), // SM4ENCKEY
4603 UINT64_C(1159979008), // SM4E_ZZZ_S
4604 UINT64_C(2602565632), // SMADDLrrr
4605 UINT64_C(1142202368), // SMAXP_ZPmZ_B
4606 UINT64_C(1154785280), // SMAXP_ZPmZ_D
4607 UINT64_C(1146396672), // SMAXP_ZPmZ_H
4608 UINT64_C(1150590976), // SMAXP_ZPmZ_S
4609 UINT64_C(1310761984), // SMAXPv16i8
4610 UINT64_C(245408768), // SMAXPv2i32
4611 UINT64_C(241214464), // SMAXPv4i16
4612 UINT64_C(1319150592), // SMAXPv4i32
4613 UINT64_C(1314956288), // SMAXPv8i16
4614 UINT64_C(237020160), // SMAXPv8i8
4615 UINT64_C(67903488), // SMAXQV_VPZ_B
4616 UINT64_C(80486400), // SMAXQV_VPZ_D
4617 UINT64_C(72097792), // SMAXQV_VPZ_H
4618 UINT64_C(76292096), // SMAXQV_VPZ_S
4619 UINT64_C(67641344), // SMAXV_VPZ_B
4620 UINT64_C(80224256), // SMAXV_VPZ_D
4621 UINT64_C(71835648), // SMAXV_VPZ_H
4622 UINT64_C(76029952), // SMAXV_VPZ_S
4623 UINT64_C(1311811584), // SMAXVv16i8v
4624 UINT64_C(242264064), // SMAXVv4i16v
4625 UINT64_C(1320200192), // SMAXVv4i32v
4626 UINT64_C(1316005888), // SMAXVv8i16v
4627 UINT64_C(238069760), // SMAXVv8i8v
4628 UINT64_C(297795584), // SMAXWri
4629 UINT64_C(448815104), // SMAXWrr
4630 UINT64_C(2445279232), // SMAXXri
4631 UINT64_C(2596298752), // SMAXXrr
4632 UINT64_C(3240144896), // SMAX_VG2_2Z2Z_B
4633 UINT64_C(3252727808), // SMAX_VG2_2Z2Z_D
4634 UINT64_C(3244339200), // SMAX_VG2_2Z2Z_H
4635 UINT64_C(3248533504), // SMAX_VG2_2Z2Z_S
4636 UINT64_C(3240140800), // SMAX_VG2_2ZZ_B
4637 UINT64_C(3252723712), // SMAX_VG2_2ZZ_D
4638 UINT64_C(3244335104), // SMAX_VG2_2ZZ_H
4639 UINT64_C(3248529408), // SMAX_VG2_2ZZ_S
4640 UINT64_C(3240146944), // SMAX_VG4_4Z4Z_B
4641 UINT64_C(3252729856), // SMAX_VG4_4Z4Z_D
4642 UINT64_C(3244341248), // SMAX_VG4_4Z4Z_H
4643 UINT64_C(3248535552), // SMAX_VG4_4Z4Z_S
4644 UINT64_C(3240142848), // SMAX_VG4_4ZZ_B
4645 UINT64_C(3252725760), // SMAX_VG4_4ZZ_D
4646 UINT64_C(3244337152), // SMAX_VG4_4ZZ_H
4647 UINT64_C(3248531456), // SMAX_VG4_4ZZ_S
4648 UINT64_C(623427584), // SMAX_ZI_B
4649 UINT64_C(636010496), // SMAX_ZI_D
4650 UINT64_C(627621888), // SMAX_ZI_H
4651 UINT64_C(631816192), // SMAX_ZI_S
4652 UINT64_C(67633152), // SMAX_ZPmZ_B
4653 UINT64_C(80216064), // SMAX_ZPmZ_D
4654 UINT64_C(71827456), // SMAX_ZPmZ_H
4655 UINT64_C(76021760), // SMAX_ZPmZ_S
4656 UINT64_C(1310745600), // SMAXv16i8
4657 UINT64_C(245392384), // SMAXv2i32
4658 UINT64_C(241198080), // SMAXv4i16
4659 UINT64_C(1319134208), // SMAXv4i32
4660 UINT64_C(1314939904), // SMAXv8i16
4661 UINT64_C(237003776), // SMAXv8i8
4662 UINT64_C(3556769795), // SMC
4663 UINT64_C(1142333440), // SMINP_ZPmZ_B
4664 UINT64_C(1154916352), // SMINP_ZPmZ_D
4665 UINT64_C(1146527744), // SMINP_ZPmZ_H
4666 UINT64_C(1150722048), // SMINP_ZPmZ_S
4667 UINT64_C(1310764032), // SMINPv16i8
4668 UINT64_C(245410816), // SMINPv2i32
4669 UINT64_C(241216512), // SMINPv4i16
4670 UINT64_C(1319152640), // SMINPv4i32
4671 UINT64_C(1314958336), // SMINPv8i16
4672 UINT64_C(237022208), // SMINPv8i8
4673 UINT64_C(68034560), // SMINQV_VPZ_B
4674 UINT64_C(80617472), // SMINQV_VPZ_D
4675 UINT64_C(72228864), // SMINQV_VPZ_H
4676 UINT64_C(76423168), // SMINQV_VPZ_S
4677 UINT64_C(67772416), // SMINV_VPZ_B
4678 UINT64_C(80355328), // SMINV_VPZ_D
4679 UINT64_C(71966720), // SMINV_VPZ_H
4680 UINT64_C(76161024), // SMINV_VPZ_S
4681 UINT64_C(1311877120), // SMINVv16i8v
4682 UINT64_C(242329600), // SMINVv4i16v
4683 UINT64_C(1320265728), // SMINVv4i32v
4684 UINT64_C(1316071424), // SMINVv8i16v
4685 UINT64_C(238135296), // SMINVv8i8v
4686 UINT64_C(298319872), // SMINWri
4687 UINT64_C(448817152), // SMINWrr
4688 UINT64_C(2445803520), // SMINXri
4689 UINT64_C(2596300800), // SMINXrr
4690 UINT64_C(3240144928), // SMIN_VG2_2Z2Z_B
4691 UINT64_C(3252727840), // SMIN_VG2_2Z2Z_D
4692 UINT64_C(3244339232), // SMIN_VG2_2Z2Z_H
4693 UINT64_C(3248533536), // SMIN_VG2_2Z2Z_S
4694 UINT64_C(3240140832), // SMIN_VG2_2ZZ_B
4695 UINT64_C(3252723744), // SMIN_VG2_2ZZ_D
4696 UINT64_C(3244335136), // SMIN_VG2_2ZZ_H
4697 UINT64_C(3248529440), // SMIN_VG2_2ZZ_S
4698 UINT64_C(3240146976), // SMIN_VG4_4Z4Z_B
4699 UINT64_C(3252729888), // SMIN_VG4_4Z4Z_D
4700 UINT64_C(3244341280), // SMIN_VG4_4Z4Z_H
4701 UINT64_C(3248535584), // SMIN_VG4_4Z4Z_S
4702 UINT64_C(3240142880), // SMIN_VG4_4ZZ_B
4703 UINT64_C(3252725792), // SMIN_VG4_4ZZ_D
4704 UINT64_C(3244337184), // SMIN_VG4_4ZZ_H
4705 UINT64_C(3248531488), // SMIN_VG4_4ZZ_S
4706 UINT64_C(623558656), // SMIN_ZI_B
4707 UINT64_C(636141568), // SMIN_ZI_D
4708 UINT64_C(627752960), // SMIN_ZI_H
4709 UINT64_C(631947264), // SMIN_ZI_S
4710 UINT64_C(67764224), // SMIN_ZPmZ_B
4711 UINT64_C(80347136), // SMIN_ZPmZ_D
4712 UINT64_C(71958528), // SMIN_ZPmZ_H
4713 UINT64_C(76152832), // SMIN_ZPmZ_S
4714 UINT64_C(1310747648), // SMINv16i8
4715 UINT64_C(245394432), // SMINv2i32
4716 UINT64_C(241200128), // SMINv4i16
4717 UINT64_C(1319136256), // SMINv4i32
4718 UINT64_C(1314941952), // SMINv8i16
4719 UINT64_C(237005824), // SMINv8i8
4720 UINT64_C(1155563520), // SMLALB_ZZZI_D
4721 UINT64_C(1151369216), // SMLALB_ZZZI_S
4722 UINT64_C(1153449984), // SMLALB_ZZZ_D
4723 UINT64_C(1145061376), // SMLALB_ZZZ_H
4724 UINT64_C(1149255680), // SMLALB_ZZZ_S
4725 UINT64_C(3238002688), // SMLALL_MZZI_BtoS
4726 UINT64_C(3246391296), // SMLALL_MZZI_HtoD
4727 UINT64_C(3240100864), // SMLALL_MZZ_BtoS
4728 UINT64_C(3244295168), // SMLALL_MZZ_HtoD
4729 UINT64_C(3248488448), // SMLALL_VG2_M2Z2Z_BtoS
4730 UINT64_C(3252682752), // SMLALL_VG2_M2Z2Z_HtoD
4731 UINT64_C(3239051264), // SMLALL_VG2_M2ZZI_BtoS
4732 UINT64_C(3247439872), // SMLALL_VG2_M2ZZI_HtoD
4733 UINT64_C(3240099840), // SMLALL_VG2_M2ZZ_BtoS
4734 UINT64_C(3244294144), // SMLALL_VG2_M2ZZ_HtoD
4735 UINT64_C(3248553984), // SMLALL_VG4_M4Z4Z_BtoS
4736 UINT64_C(3252748288), // SMLALL_VG4_M4Z4Z_HtoD
4737 UINT64_C(3239084032), // SMLALL_VG4_M4ZZI_BtoS
4738 UINT64_C(3247472640), // SMLALL_VG4_M4ZZI_HtoD
4739 UINT64_C(3241148416), // SMLALL_VG4_M4ZZ_BtoS
4740 UINT64_C(3245342720), // SMLALL_VG4_M4ZZ_HtoD
4741 UINT64_C(1155564544), // SMLALT_ZZZI_D
4742 UINT64_C(1151370240), // SMLALT_ZZZI_S
4743 UINT64_C(1153451008), // SMLALT_ZZZ_D
4744 UINT64_C(1145062400), // SMLALT_ZZZ_H
4745 UINT64_C(1149256704), // SMLALT_ZZZ_S
4746 UINT64_C(3250589696), // SMLAL_MZZI_HtoS
4747 UINT64_C(3244297216), // SMLAL_MZZ_HtoS
4748 UINT64_C(3252684800), // SMLAL_VG2_M2Z2Z_HtoS
4749 UINT64_C(3251638272), // SMLAL_VG2_M2ZZI_S
4750 UINT64_C(3244296192), // SMLAL_VG2_M2ZZ_HtoS
4751 UINT64_C(3252750336), // SMLAL_VG4_M4Z4Z_HtoS
4752 UINT64_C(3251671040), // SMLAL_VG4_M4ZZI_HtoS
4753 UINT64_C(3245344768), // SMLAL_VG4_M4ZZ_HtoS
4754 UINT64_C(1310752768), // SMLALv16i8_v8i16
4755 UINT64_C(260055040), // SMLALv2i32_indexed
4756 UINT64_C(245399552), // SMLALv2i32_v2i64
4757 UINT64_C(255860736), // SMLALv4i16_indexed
4758 UINT64_C(241205248), // SMLALv4i16_v4i32
4759 UINT64_C(1333796864), // SMLALv4i32_indexed
4760 UINT64_C(1319141376), // SMLALv4i32_v2i64
4761 UINT64_C(1329602560), // SMLALv8i16_indexed
4762 UINT64_C(1314947072), // SMLALv8i16_v4i32
4763 UINT64_C(237010944), // SMLALv8i8_v8i16
4764 UINT64_C(1155571712), // SMLSLB_ZZZI_D
4765 UINT64_C(1151377408), // SMLSLB_ZZZI_S
4766 UINT64_C(1153454080), // SMLSLB_ZZZ_D
4767 UINT64_C(1145065472), // SMLSLB_ZZZ_H
4768 UINT64_C(1149259776), // SMLSLB_ZZZ_S
4769 UINT64_C(3238002696), // SMLSLL_MZZI_BtoS
4770 UINT64_C(3246391304), // SMLSLL_MZZI_HtoD
4771 UINT64_C(3240100872), // SMLSLL_MZZ_BtoS
4772 UINT64_C(3244295176), // SMLSLL_MZZ_HtoD
4773 UINT64_C(3248488456), // SMLSLL_VG2_M2Z2Z_BtoS
4774 UINT64_C(3252682760), // SMLSLL_VG2_M2Z2Z_HtoD
4775 UINT64_C(3239051272), // SMLSLL_VG2_M2ZZI_BtoS
4776 UINT64_C(3247439880), // SMLSLL_VG2_M2ZZI_HtoD
4777 UINT64_C(3240099848), // SMLSLL_VG2_M2ZZ_BtoS
4778 UINT64_C(3244294152), // SMLSLL_VG2_M2ZZ_HtoD
4779 UINT64_C(3248553992), // SMLSLL_VG4_M4Z4Z_BtoS
4780 UINT64_C(3252748296), // SMLSLL_VG4_M4Z4Z_HtoD
4781 UINT64_C(3239084040), // SMLSLL_VG4_M4ZZI_BtoS
4782 UINT64_C(3247472648), // SMLSLL_VG4_M4ZZI_HtoD
4783 UINT64_C(3241148424), // SMLSLL_VG4_M4ZZ_BtoS
4784 UINT64_C(3245342728), // SMLSLL_VG4_M4ZZ_HtoD
4785 UINT64_C(1155572736), // SMLSLT_ZZZI_D
4786 UINT64_C(1151378432), // SMLSLT_ZZZI_S
4787 UINT64_C(1153455104), // SMLSLT_ZZZ_D
4788 UINT64_C(1145066496), // SMLSLT_ZZZ_H
4789 UINT64_C(1149260800), // SMLSLT_ZZZ_S
4790 UINT64_C(3250589704), // SMLSL_MZZI_HtoS
4791 UINT64_C(3244297224), // SMLSL_MZZ_HtoS
4792 UINT64_C(3252684808), // SMLSL_VG2_M2Z2Z_HtoS
4793 UINT64_C(3251638280), // SMLSL_VG2_M2ZZI_S
4794 UINT64_C(3244296200), // SMLSL_VG2_M2ZZ_HtoS
4795 UINT64_C(3252750344), // SMLSL_VG4_M4Z4Z_HtoS
4796 UINT64_C(3251671048), // SMLSL_VG4_M4ZZI_HtoS
4797 UINT64_C(3245344776), // SMLSL_VG4_M4ZZ_HtoS
4798 UINT64_C(1310760960), // SMLSLv16i8_v8i16
4799 UINT64_C(260071424), // SMLSLv2i32_indexed
4800 UINT64_C(245407744), // SMLSLv2i32_v2i64
4801 UINT64_C(255877120), // SMLSLv4i16_indexed
4802 UINT64_C(241213440), // SMLSLv4i16_v4i32
4803 UINT64_C(1333813248), // SMLSLv4i32_indexed
4804 UINT64_C(1319149568), // SMLSLv4i32_v2i64
4805 UINT64_C(1329618944), // SMLSLv8i16_indexed
4806 UINT64_C(1314955264), // SMLSLv8i16_v4i32
4807 UINT64_C(237019136), // SMLSLv8i8_v8i16
4808 UINT64_C(1317053440), // SMMLA
4809 UINT64_C(1157666816), // SMMLA_ZZZ
4810 UINT64_C(2148565504), // SMOP4A_M2Z2Z_BToS
4811 UINT64_C(2148565512), // SMOP4A_M2Z2Z_HToS
4812 UINT64_C(2697986568), // SMOP4A_M2Z2Z_HtoD
4813 UINT64_C(2147516928), // SMOP4A_M2ZZ_BToS
4814 UINT64_C(2147516936), // SMOP4A_M2ZZ_HToS
4815 UINT64_C(2696937992), // SMOP4A_M2ZZ_HtoD
4816 UINT64_C(2148564992), // SMOP4A_MZ2Z_BToS
4817 UINT64_C(2148565000), // SMOP4A_MZ2Z_HToS
4818 UINT64_C(2697986056), // SMOP4A_MZ2Z_HtoD
4819 UINT64_C(2147516416), // SMOP4A_MZZ_BToS
4820 UINT64_C(2147516424), // SMOP4A_MZZ_HToS
4821 UINT64_C(2696937480), // SMOP4A_MZZ_HtoD
4822 UINT64_C(2148565520), // SMOP4S_M2Z2Z_BToS
4823 UINT64_C(2148565528), // SMOP4S_M2Z2Z_HToS
4824 UINT64_C(2697986584), // SMOP4S_M2Z2Z_HtoD
4825 UINT64_C(2147516944), // SMOP4S_M2ZZ_BToS
4826 UINT64_C(2147516952), // SMOP4S_M2ZZ_HToS
4827 UINT64_C(2696938008), // SMOP4S_M2ZZ_HtoD
4828 UINT64_C(2148565008), // SMOP4S_MZ2Z_BToS
4829 UINT64_C(2148565016), // SMOP4S_MZ2Z_HToS
4830 UINT64_C(2697986072), // SMOP4S_MZ2Z_HtoD
4831 UINT64_C(2147516432), // SMOP4S_MZZ_BToS
4832 UINT64_C(2147516440), // SMOP4S_MZZ_HToS
4833 UINT64_C(2696937496), // SMOP4S_MZZ_HtoD
4834 UINT64_C(2696937472), // SMOPA_MPPZZ_D
4835 UINT64_C(2692743176), // SMOPA_MPPZZ_HtoS
4836 UINT64_C(2692743168), // SMOPA_MPPZZ_S
4837 UINT64_C(2696937488), // SMOPS_MPPZZ_D
4838 UINT64_C(2692743192), // SMOPS_MPPZZ_HtoS
4839 UINT64_C(2692743184), // SMOPS_MPPZZ_S
4840 UINT64_C(235023360), // SMOVvi16to32
4841 UINT64_C(235023360), // SMOVvi16to32_idx0
4842 UINT64_C(1308765184), // SMOVvi16to64
4843 UINT64_C(1308765184), // SMOVvi16to64_idx0
4844 UINT64_C(1308896256), // SMOVvi32to64
4845 UINT64_C(1308896256), // SMOVvi32to64_idx0
4846 UINT64_C(234957824), // SMOVvi8to32
4847 UINT64_C(234957824), // SMOVvi8to32_idx0
4848 UINT64_C(1308699648), // SMOVvi8to64
4849 UINT64_C(1308699648), // SMOVvi8to64_idx0
4850 UINT64_C(2602598400), // SMSUBLrrr
4851 UINT64_C(68288512), // SMULH_ZPmZ_B
4852 UINT64_C(80871424), // SMULH_ZPmZ_D
4853 UINT64_C(72482816), // SMULH_ZPmZ_H
4854 UINT64_C(76677120), // SMULH_ZPmZ_S
4855 UINT64_C(69232640), // SMULH_ZZZ_B
4856 UINT64_C(81815552), // SMULH_ZZZ_D
4857 UINT64_C(73426944), // SMULH_ZZZ_H
4858 UINT64_C(77621248), // SMULH_ZZZ_S
4859 UINT64_C(2604694528), // SMULHrr
4860 UINT64_C(1155579904), // SMULLB_ZZZI_D
4861 UINT64_C(1151385600), // SMULLB_ZZZI_S
4862 UINT64_C(1170239488), // SMULLB_ZZZ_D
4863 UINT64_C(1161850880), // SMULLB_ZZZ_H
4864 UINT64_C(1166045184), // SMULLB_ZZZ_S
4865 UINT64_C(1155580928), // SMULLT_ZZZI_D
4866 UINT64_C(1151386624), // SMULLT_ZZZI_S
4867 UINT64_C(1170240512), // SMULLT_ZZZ_D
4868 UINT64_C(1161851904), // SMULLT_ZZZ_H
4869 UINT64_C(1166046208), // SMULLT_ZZZ_S
4870 UINT64_C(1310769152), // SMULLv16i8_v8i16
4871 UINT64_C(260087808), // SMULLv2i32_indexed
4872 UINT64_C(245415936), // SMULLv2i32_v2i64
4873 UINT64_C(255893504), // SMULLv4i16_indexed
4874 UINT64_C(241221632), // SMULLv4i16_v4i32
4875 UINT64_C(1333829632), // SMULLv4i32_indexed
4876 UINT64_C(1319157760), // SMULLv4i32_v2i64
4877 UINT64_C(1329635328), // SMULLv8i16_indexed
4878 UINT64_C(1314963456), // SMULLv8i16_v4i32
4879 UINT64_C(237027328), // SMULLv8i8_v8i16
4880 UINT64_C(86867968), // SPLICE_ZPZZ_B
4881 UINT64_C(99450880), // SPLICE_ZPZZ_D
4882 UINT64_C(91062272), // SPLICE_ZPZZ_H
4883 UINT64_C(95256576), // SPLICE_ZPZZ_S
4884 UINT64_C(86802432), // SPLICE_ZPZ_B
4885 UINT64_C(99385344), // SPLICE_ZPZ_D
4886 UINT64_C(90996736), // SPLICE_ZPZ_H
4887 UINT64_C(95191040), // SPLICE_ZPZ_S
4888 UINT64_C(1141415936), // SQABS_ZPmZ_B
4889 UINT64_C(1153998848), // SQABS_ZPmZ_D
4890 UINT64_C(1145610240), // SQABS_ZPmZ_H
4891 UINT64_C(1149804544), // SQABS_ZPmZ_S
4892 UINT64_C(1141547008), // SQABS_ZPzZ_B
4893 UINT64_C(1154129920), // SQABS_ZPzZ_D
4894 UINT64_C(1145741312), // SQABS_ZPzZ_H
4895 UINT64_C(1149935616), // SQABS_ZPzZ_S
4896 UINT64_C(1310750720), // SQABSv16i8
4897 UINT64_C(1583380480), // SQABSv1i16
4898 UINT64_C(1587574784), // SQABSv1i32
4899 UINT64_C(1591769088), // SQABSv1i64
4900 UINT64_C(1579186176), // SQABSv1i8
4901 UINT64_C(245397504), // SQABSv2i32
4902 UINT64_C(1323333632), // SQABSv2i64
4903 UINT64_C(241203200), // SQABSv4i16
4904 UINT64_C(1319139328), // SQABSv4i32
4905 UINT64_C(1314945024), // SQABSv8i16
4906 UINT64_C(237008896), // SQABSv8i8
4907 UINT64_C(623165440), // SQADD_ZI_B
4908 UINT64_C(635748352), // SQADD_ZI_D
4909 UINT64_C(627359744), // SQADD_ZI_H
4910 UINT64_C(631554048), // SQADD_ZI_S
4911 UINT64_C(1142456320), // SQADD_ZPmZ_B
4912 UINT64_C(1155039232), // SQADD_ZPmZ_D
4913 UINT64_C(1146650624), // SQADD_ZPmZ_H
4914 UINT64_C(1150844928), // SQADD_ZPmZ_S
4915 UINT64_C(69210112), // SQADD_ZZZ_B
4916 UINT64_C(81793024), // SQADD_ZZZ_D
4917 UINT64_C(73404416), // SQADD_ZZZ_H
4918 UINT64_C(77598720), // SQADD_ZZZ_S
4919 UINT64_C(1310723072), // SQADDv16i8
4920 UINT64_C(1583352832), // SQADDv1i16
4921 UINT64_C(1587547136), // SQADDv1i32
4922 UINT64_C(1591741440), // SQADDv1i64
4923 UINT64_C(1579158528), // SQADDv1i8
4924 UINT64_C(245369856), // SQADDv2i32
4925 UINT64_C(1323305984), // SQADDv2i64
4926 UINT64_C(241175552), // SQADDv4i16
4927 UINT64_C(1319111680), // SQADDv4i32
4928 UINT64_C(1314917376), // SQADDv8i16
4929 UINT64_C(236981248), // SQADDv8i8
4930 UINT64_C(1157748736), // SQCADD_ZZI_B
4931 UINT64_C(1170331648), // SQCADD_ZZI_D
4932 UINT64_C(1161943040), // SQCADD_ZZI_H
4933 UINT64_C(1166137344), // SQCADD_ZZI_S
4934 UINT64_C(1160855552), // SQCVTN_Z2Z_StoH
4935 UINT64_C(3249791040), // SQCVTN_Z4Z_DtoH
4936 UINT64_C(3241402432), // SQCVTN_Z4Z_StoB
4937 UINT64_C(1160859648), // SQCVTUN_Z2Z_StoH
4938 UINT64_C(3253985344), // SQCVTUN_Z4Z_DtoH
4939 UINT64_C(3245596736), // SQCVTUN_Z4Z_StoB
4940 UINT64_C(3244548096), // SQCVTU_Z2Z_StoH
4941 UINT64_C(3253985280), // SQCVTU_Z4Z_DtoH
4942 UINT64_C(3245596672), // SQCVTU_Z4Z_StoB
4943 UINT64_C(3240353792), // SQCVT_Z2Z_StoH
4944 UINT64_C(3249790976), // SQCVT_Z4Z_DtoH
4945 UINT64_C(3241402368), // SQCVT_Z4Z_StoB
4946 UINT64_C(70318080), // SQDECB_XPiI
4947 UINT64_C(69269504), // SQDECB_XPiWdI
4948 UINT64_C(82900992), // SQDECD_XPiI
4949 UINT64_C(81852416), // SQDECD_XPiWdI
4950 UINT64_C(81840128), // SQDECD_ZPiI
4951 UINT64_C(74512384), // SQDECH_XPiI
4952 UINT64_C(73463808), // SQDECH_XPiWdI
4953 UINT64_C(73451520), // SQDECH_ZPiI
4954 UINT64_C(623544320), // SQDECP_XPWd_B
4955 UINT64_C(636127232), // SQDECP_XPWd_D
4956 UINT64_C(627738624), // SQDECP_XPWd_H
4957 UINT64_C(631932928), // SQDECP_XPWd_S
4958 UINT64_C(623545344), // SQDECP_XP_B
4959 UINT64_C(636128256), // SQDECP_XP_D
4960 UINT64_C(627739648), // SQDECP_XP_H
4961 UINT64_C(631933952), // SQDECP_XP_S
4962 UINT64_C(636125184), // SQDECP_ZP_D
4963 UINT64_C(627736576), // SQDECP_ZP_H
4964 UINT64_C(631930880), // SQDECP_ZP_S
4965 UINT64_C(78706688), // SQDECW_XPiI
4966 UINT64_C(77658112), // SQDECW_XPiWdI
4967 UINT64_C(77645824), // SQDECW_ZPiI
4968 UINT64_C(1153435648), // SQDMLALBT_ZZZ_D
4969 UINT64_C(1145047040), // SQDMLALBT_ZZZ_H
4970 UINT64_C(1149241344), // SQDMLALBT_ZZZ_S
4971 UINT64_C(1155538944), // SQDMLALB_ZZZI_D
4972 UINT64_C(1151344640), // SQDMLALB_ZZZI_S
4973 UINT64_C(1153458176), // SQDMLALB_ZZZ_D
4974 UINT64_C(1145069568), // SQDMLALB_ZZZ_H
4975 UINT64_C(1149263872), // SQDMLALB_ZZZ_S
4976 UINT64_C(1155539968), // SQDMLALT_ZZZI_D
4977 UINT64_C(1151345664), // SQDMLALT_ZZZI_S
4978 UINT64_C(1153459200), // SQDMLALT_ZZZ_D
4979 UINT64_C(1145070592), // SQDMLALT_ZZZ_H
4980 UINT64_C(1149264896), // SQDMLALT_ZZZ_S
4981 UINT64_C(1583386624), // SQDMLALi16
4982 UINT64_C(1587580928), // SQDMLALi32
4983 UINT64_C(1598042112), // SQDMLALv1i32_indexed
4984 UINT64_C(1602236416), // SQDMLALv1i64_indexed
4985 UINT64_C(260059136), // SQDMLALv2i32_indexed
4986 UINT64_C(245403648), // SQDMLALv2i32_v2i64
4987 UINT64_C(255864832), // SQDMLALv4i16_indexed
4988 UINT64_C(241209344), // SQDMLALv4i16_v4i32
4989 UINT64_C(1333800960), // SQDMLALv4i32_indexed
4990 UINT64_C(1319145472), // SQDMLALv4i32_v2i64
4991 UINT64_C(1329606656), // SQDMLALv8i16_indexed
4992 UINT64_C(1314951168), // SQDMLALv8i16_v4i32
4993 UINT64_C(1153436672), // SQDMLSLBT_ZZZ_D
4994 UINT64_C(1145048064), // SQDMLSLBT_ZZZ_H
4995 UINT64_C(1149242368), // SQDMLSLBT_ZZZ_S
4996 UINT64_C(1155543040), // SQDMLSLB_ZZZI_D
4997 UINT64_C(1151348736), // SQDMLSLB_ZZZI_S
4998 UINT64_C(1153460224), // SQDMLSLB_ZZZ_D
4999 UINT64_C(1145071616), // SQDMLSLB_ZZZ_H
5000 UINT64_C(1149265920), // SQDMLSLB_ZZZ_S
5001 UINT64_C(1155544064), // SQDMLSLT_ZZZI_D
5002 UINT64_C(1151349760), // SQDMLSLT_ZZZI_S
5003 UINT64_C(1153461248), // SQDMLSLT_ZZZ_D
5004 UINT64_C(1145072640), // SQDMLSLT_ZZZ_H
5005 UINT64_C(1149266944), // SQDMLSLT_ZZZ_S
5006 UINT64_C(1583394816), // SQDMLSLi16
5007 UINT64_C(1587589120), // SQDMLSLi32
5008 UINT64_C(1598058496), // SQDMLSLv1i32_indexed
5009 UINT64_C(1602252800), // SQDMLSLv1i64_indexed
5010 UINT64_C(260075520), // SQDMLSLv2i32_indexed
5011 UINT64_C(245411840), // SQDMLSLv2i32_v2i64
5012 UINT64_C(255881216), // SQDMLSLv4i16_indexed
5013 UINT64_C(241217536), // SQDMLSLv4i16_v4i32
5014 UINT64_C(1333817344), // SQDMLSLv4i32_indexed
5015 UINT64_C(1319153664), // SQDMLSLv4i32_v2i64
5016 UINT64_C(1329623040), // SQDMLSLv8i16_indexed
5017 UINT64_C(1314959360), // SQDMLSLv8i16_v4i32
5018 UINT64_C(3240145920), // SQDMULH_VG2_2Z2Z_B
5019 UINT64_C(3252728832), // SQDMULH_VG2_2Z2Z_D
5020 UINT64_C(3244340224), // SQDMULH_VG2_2Z2Z_H
5021 UINT64_C(3248534528), // SQDMULH_VG2_2Z2Z_S
5022 UINT64_C(3240141824), // SQDMULH_VG2_2ZZ_B
5023 UINT64_C(3252724736), // SQDMULH_VG2_2ZZ_D
5024 UINT64_C(3244336128), // SQDMULH_VG2_2ZZ_H
5025 UINT64_C(3248530432), // SQDMULH_VG2_2ZZ_S
5026 UINT64_C(3240147968), // SQDMULH_VG4_4Z4Z_B
5027 UINT64_C(3252730880), // SQDMULH_VG4_4Z4Z_D
5028 UINT64_C(3244342272), // SQDMULH_VG4_4Z4Z_H
5029 UINT64_C(3248536576), // SQDMULH_VG4_4Z4Z_S
5030 UINT64_C(3240143872), // SQDMULH_VG4_4ZZ_B
5031 UINT64_C(3252726784), // SQDMULH_VG4_4ZZ_D
5032 UINT64_C(3244338176), // SQDMULH_VG4_4ZZ_H
5033 UINT64_C(3248532480), // SQDMULH_VG4_4ZZ_S
5034 UINT64_C(1155592192), // SQDMULH_ZZZI_D
5035 UINT64_C(1143009280), // SQDMULH_ZZZI_H
5036 UINT64_C(1151397888), // SQDMULH_ZZZI_S
5037 UINT64_C(69234688), // SQDMULH_ZZZ_B
5038 UINT64_C(81817600), // SQDMULH_ZZZ_D
5039 UINT64_C(73428992), // SQDMULH_ZZZ_H
5040 UINT64_C(77623296), // SQDMULH_ZZZ_S
5041 UINT64_C(1583395840), // SQDMULHv1i16
5042 UINT64_C(1598078976), // SQDMULHv1i16_indexed
5043 UINT64_C(1587590144), // SQDMULHv1i32
5044 UINT64_C(1602273280), // SQDMULHv1i32_indexed
5045 UINT64_C(245412864), // SQDMULHv2i32
5046 UINT64_C(260096000), // SQDMULHv2i32_indexed
5047 UINT64_C(241218560), // SQDMULHv4i16
5048 UINT64_C(255901696), // SQDMULHv4i16_indexed
5049 UINT64_C(1319154688), // SQDMULHv4i32
5050 UINT64_C(1333837824), // SQDMULHv4i32_indexed
5051 UINT64_C(1314960384), // SQDMULHv8i16
5052 UINT64_C(1329643520), // SQDMULHv8i16_indexed
5053 UINT64_C(1155588096), // SQDMULLB_ZZZI_D
5054 UINT64_C(1151393792), // SQDMULLB_ZZZI_S
5055 UINT64_C(1170235392), // SQDMULLB_ZZZ_D
5056 UINT64_C(1161846784), // SQDMULLB_ZZZ_H
5057 UINT64_C(1166041088), // SQDMULLB_ZZZ_S
5058 UINT64_C(1155589120), // SQDMULLT_ZZZI_D
5059 UINT64_C(1151394816), // SQDMULLT_ZZZI_S
5060 UINT64_C(1170236416), // SQDMULLT_ZZZ_D
5061 UINT64_C(1161847808), // SQDMULLT_ZZZ_H
5062 UINT64_C(1166042112), // SQDMULLT_ZZZ_S
5063 UINT64_C(1583403008), // SQDMULLi16
5064 UINT64_C(1587597312), // SQDMULLi32
5065 UINT64_C(1598074880), // SQDMULLv1i32_indexed
5066 UINT64_C(1602269184), // SQDMULLv1i64_indexed
5067 UINT64_C(260091904), // SQDMULLv2i32_indexed
5068 UINT64_C(245420032), // SQDMULLv2i32_v2i64
5069 UINT64_C(255897600), // SQDMULLv4i16_indexed
5070 UINT64_C(241225728), // SQDMULLv4i16_v4i32
5071 UINT64_C(1333833728), // SQDMULLv4i32_indexed
5072 UINT64_C(1319161856), // SQDMULLv4i32_v2i64
5073 UINT64_C(1329639424), // SQDMULLv8i16_indexed
5074 UINT64_C(1314967552), // SQDMULLv8i16_v4i32
5075 UINT64_C(70316032), // SQINCB_XPiI
5076 UINT64_C(69267456), // SQINCB_XPiWdI
5077 UINT64_C(82898944), // SQINCD_XPiI
5078 UINT64_C(81850368), // SQINCD_XPiWdI
5079 UINT64_C(81838080), // SQINCD_ZPiI
5080 UINT64_C(74510336), // SQINCH_XPiI
5081 UINT64_C(73461760), // SQINCH_XPiWdI
5082 UINT64_C(73449472), // SQINCH_ZPiI
5083 UINT64_C(623413248), // SQINCP_XPWd_B
5084 UINT64_C(635996160), // SQINCP_XPWd_D
5085 UINT64_C(627607552), // SQINCP_XPWd_H
5086 UINT64_C(631801856), // SQINCP_XPWd_S
5087 UINT64_C(623414272), // SQINCP_XP_B
5088 UINT64_C(635997184), // SQINCP_XP_D
5089 UINT64_C(627608576), // SQINCP_XP_H
5090 UINT64_C(631802880), // SQINCP_XP_S
5091 UINT64_C(635994112), // SQINCP_ZP_D
5092 UINT64_C(627605504), // SQINCP_ZP_H
5093 UINT64_C(631799808), // SQINCP_ZP_S
5094 UINT64_C(78704640), // SQINCW_XPiI
5095 UINT64_C(77656064), // SQINCW_XPiWdI
5096 UINT64_C(77643776), // SQINCW_ZPiI
5097 UINT64_C(1141481472), // SQNEG_ZPmZ_B
5098 UINT64_C(1154064384), // SQNEG_ZPmZ_D
5099 UINT64_C(1145675776), // SQNEG_ZPmZ_H
5100 UINT64_C(1149870080), // SQNEG_ZPmZ_S
5101 UINT64_C(1141612544), // SQNEG_ZPzZ_B
5102 UINT64_C(1154195456), // SQNEG_ZPzZ_D
5103 UINT64_C(1145806848), // SQNEG_ZPzZ_H
5104 UINT64_C(1150001152), // SQNEG_ZPzZ_S
5105 UINT64_C(1847621632), // SQNEGv16i8
5106 UINT64_C(2120251392), // SQNEGv1i16
5107 UINT64_C(2124445696), // SQNEGv1i32
5108 UINT64_C(2128640000), // SQNEGv1i64
5109 UINT64_C(2116057088), // SQNEGv1i8
5110 UINT64_C(782268416), // SQNEGv2i32
5111 UINT64_C(1860204544), // SQNEGv2i64
5112 UINT64_C(778074112), // SQNEGv4i16
5113 UINT64_C(1856010240), // SQNEGv4i32
5114 UINT64_C(1851815936), // SQNEGv8i16
5115 UINT64_C(773879808), // SQNEGv8i8
5116 UINT64_C(1151365120), // SQRDCMLAH_ZZZI_H
5117 UINT64_C(1155559424), // SQRDCMLAH_ZZZI_S
5118 UINT64_C(1140862976), // SQRDCMLAH_ZZZ_B
5119 UINT64_C(1153445888), // SQRDCMLAH_ZZZ_D
5120 UINT64_C(1145057280), // SQRDCMLAH_ZZZ_H
5121 UINT64_C(1149251584), // SQRDCMLAH_ZZZ_S
5122 UINT64_C(1155534848), // SQRDMLAH_ZZZI_D
5123 UINT64_C(1142951936), // SQRDMLAH_ZZZI_H
5124 UINT64_C(1151340544), // SQRDMLAH_ZZZI_S
5125 UINT64_C(1140879360), // SQRDMLAH_ZZZ_B
5126 UINT64_C(1153462272), // SQRDMLAH_ZZZ_D
5127 UINT64_C(1145073664), // SQRDMLAH_ZZZ_H
5128 UINT64_C(1149267968), // SQRDMLAH_ZZZ_S
5129 UINT64_C(2118157312), // SQRDMLAHv1i16
5130 UINT64_C(2134953984), // SQRDMLAHv1i16_indexed
5131 UINT64_C(2122351616), // SQRDMLAHv1i32
5132 UINT64_C(2139148288), // SQRDMLAHv1i32_indexed
5133 UINT64_C(780174336), // SQRDMLAHv2i32
5134 UINT64_C(796971008), // SQRDMLAHv2i32_indexed
5135 UINT64_C(775980032), // SQRDMLAHv4i16
5136 UINT64_C(792776704), // SQRDMLAHv4i16_indexed
5137 UINT64_C(1853916160), // SQRDMLAHv4i32
5138 UINT64_C(1870712832), // SQRDMLAHv4i32_indexed
5139 UINT64_C(1849721856), // SQRDMLAHv8i16
5140 UINT64_C(1866518528), // SQRDMLAHv8i16_indexed
5141 UINT64_C(1155535872), // SQRDMLSH_ZZZI_D
5142 UINT64_C(1142952960), // SQRDMLSH_ZZZI_H
5143 UINT64_C(1151341568), // SQRDMLSH_ZZZI_S
5144 UINT64_C(1140880384), // SQRDMLSH_ZZZ_B
5145 UINT64_C(1153463296), // SQRDMLSH_ZZZ_D
5146 UINT64_C(1145074688), // SQRDMLSH_ZZZ_H
5147 UINT64_C(1149268992), // SQRDMLSH_ZZZ_S
5148 UINT64_C(2118159360), // SQRDMLSHv1i16
5149 UINT64_C(2134962176), // SQRDMLSHv1i16_indexed
5150 UINT64_C(2122353664), // SQRDMLSHv1i32
5151 UINT64_C(2139156480), // SQRDMLSHv1i32_indexed
5152 UINT64_C(780176384), // SQRDMLSHv2i32
5153 UINT64_C(796979200), // SQRDMLSHv2i32_indexed
5154 UINT64_C(775982080), // SQRDMLSHv4i16
5155 UINT64_C(792784896), // SQRDMLSHv4i16_indexed
5156 UINT64_C(1853918208), // SQRDMLSHv4i32
5157 UINT64_C(1870721024), // SQRDMLSHv4i32_indexed
5158 UINT64_C(1849723904), // SQRDMLSHv8i16
5159 UINT64_C(1866526720), // SQRDMLSHv8i16_indexed
5160 UINT64_C(1155593216), // SQRDMULH_ZZZI_D
5161 UINT64_C(1143010304), // SQRDMULH_ZZZI_H
5162 UINT64_C(1151398912), // SQRDMULH_ZZZI_S
5163 UINT64_C(69235712), // SQRDMULH_ZZZ_B
5164 UINT64_C(81818624), // SQRDMULH_ZZZ_D
5165 UINT64_C(73430016), // SQRDMULH_ZZZ_H
5166 UINT64_C(77624320), // SQRDMULH_ZZZ_S
5167 UINT64_C(2120266752), // SQRDMULHv1i16
5168 UINT64_C(1598083072), // SQRDMULHv1i16_indexed
5169 UINT64_C(2124461056), // SQRDMULHv1i32
5170 UINT64_C(1602277376), // SQRDMULHv1i32_indexed
5171 UINT64_C(782283776), // SQRDMULHv2i32
5172 UINT64_C(260100096), // SQRDMULHv2i32_indexed
5173 UINT64_C(778089472), // SQRDMULHv4i16
5174 UINT64_C(255905792), // SQRDMULHv4i16_indexed
5175 UINT64_C(1856025600), // SQRDMULHv4i32
5176 UINT64_C(1333841920), // SQRDMULHv4i32_indexed
5177 UINT64_C(1851831296), // SQRDMULHv8i16
5178 UINT64_C(1329647616), // SQRDMULHv8i16_indexed
5179 UINT64_C(1141800960), // SQRSHLR_ZPmZ_B
5180 UINT64_C(1154383872), // SQRSHLR_ZPmZ_D
5181 UINT64_C(1145995264), // SQRSHLR_ZPmZ_H
5182 UINT64_C(1150189568), // SQRSHLR_ZPmZ_S
5183 UINT64_C(1141538816), // SQRSHL_ZPmZ_B
5184 UINT64_C(1154121728), // SQRSHL_ZPmZ_D
5185 UINT64_C(1145733120), // SQRSHL_ZPmZ_H
5186 UINT64_C(1149927424), // SQRSHL_ZPmZ_S
5187 UINT64_C(1310743552), // SQRSHLv16i8
5188 UINT64_C(1583373312), // SQRSHLv1i16
5189 UINT64_C(1587567616), // SQRSHLv1i32
5190 UINT64_C(1591761920), // SQRSHLv1i64
5191 UINT64_C(1579179008), // SQRSHLv1i8
5192 UINT64_C(245390336), // SQRSHLv2i32
5193 UINT64_C(1323326464), // SQRSHLv2i64
5194 UINT64_C(241196032), // SQRSHLv4i16
5195 UINT64_C(1319132160), // SQRSHLv4i32
5196 UINT64_C(1314937856), // SQRSHLv8i16
5197 UINT64_C(237001728), // SQRSHLv8i8
5198 UINT64_C(1160259584), // SQRSHRNB_ZZI_B
5199 UINT64_C(1160783872), // SQRSHRNB_ZZI_H
5200 UINT64_C(1163929600), // SQRSHRNB_ZZI_S
5201 UINT64_C(1160260608), // SQRSHRNT_ZZI_B
5202 UINT64_C(1160784896), // SQRSHRNT_ZZI_H
5203 UINT64_C(1163930624), // SQRSHRNT_ZZI_S
5204 UINT64_C(3244350464), // SQRSHRN_VG4_Z4ZI_B
5205 UINT64_C(3248544768), // SQRSHRN_VG4_Z4ZI_H
5206 UINT64_C(1168648192), // SQRSHRN_Z2ZI_HtoB
5207 UINT64_C(1169172480), // SQRSHRN_Z2ZI_StoH
5208 UINT64_C(1594399744), // SQRSHRNb
5209 UINT64_C(1594924032), // SQRSHRNh
5210 UINT64_C(1595972608), // SQRSHRNs
5211 UINT64_C(1325964288), // SQRSHRNv16i8_shift
5212 UINT64_C(253795328), // SQRSHRNv2i32_shift
5213 UINT64_C(252746752), // SQRSHRNv4i16_shift
5214 UINT64_C(1327537152), // SQRSHRNv4i32_shift
5215 UINT64_C(1326488576), // SQRSHRNv8i16_shift
5216 UINT64_C(252222464), // SQRSHRNv8i8_shift
5217 UINT64_C(1160251392), // SQRSHRUNB_ZZI_B
5218 UINT64_C(1160775680), // SQRSHRUNB_ZZI_H
5219 UINT64_C(1163921408), // SQRSHRUNB_ZZI_S
5220 UINT64_C(1160252416), // SQRSHRUNT_ZZI_B
5221 UINT64_C(1160776704), // SQRSHRUNT_ZZI_H
5222 UINT64_C(1163922432), // SQRSHRUNT_ZZI_S
5223 UINT64_C(3244350528), // SQRSHRUN_VG4_Z4ZI_B
5224 UINT64_C(3248544832), // SQRSHRUN_VG4_Z4ZI_H
5225 UINT64_C(1168640000), // SQRSHRUN_Z2ZI_HtoB
5226 UINT64_C(1169164288), // SQRSHRUN_Z2ZI_StoH
5227 UINT64_C(2131266560), // SQRSHRUNb
5228 UINT64_C(2131790848), // SQRSHRUNh
5229 UINT64_C(2132839424), // SQRSHRUNs
5230 UINT64_C(1862831104), // SQRSHRUNv16i8_shift
5231 UINT64_C(790662144), // SQRSHRUNv2i32_shift
5232 UINT64_C(789613568), // SQRSHRUNv4i16_shift
5233 UINT64_C(1864403968), // SQRSHRUNv4i32_shift
5234 UINT64_C(1863355392), // SQRSHRUNv8i16_shift
5235 UINT64_C(789089280), // SQRSHRUNv8i8_shift
5236 UINT64_C(3253785600), // SQRSHRU_VG2_Z2ZI_H
5237 UINT64_C(3244349504), // SQRSHRU_VG4_Z4ZI_B
5238 UINT64_C(3248543808), // SQRSHRU_VG4_Z4ZI_H
5239 UINT64_C(3252737024), // SQRSHR_VG2_Z2ZI_H
5240 UINT64_C(3244349440), // SQRSHR_VG4_Z4ZI_B
5241 UINT64_C(3248543744), // SQRSHR_VG4_Z4ZI_H
5242 UINT64_C(1141669888), // SQSHLR_ZPmZ_B
5243 UINT64_C(1154252800), // SQSHLR_ZPmZ_D
5244 UINT64_C(1145864192), // SQSHLR_ZPmZ_H
5245 UINT64_C(1150058496), // SQSHLR_ZPmZ_S
5246 UINT64_C(68124928), // SQSHLU_ZPmI_B
5247 UINT64_C(76513280), // SQSHLU_ZPmI_D
5248 UINT64_C(68125184), // SQSHLU_ZPmI_H
5249 UINT64_C(72318976), // SQSHLU_ZPmI_S
5250 UINT64_C(2131256320), // SQSHLUb
5251 UINT64_C(2134926336), // SQSHLUd
5252 UINT64_C(2131780608), // SQSHLUh
5253 UINT64_C(2132829184), // SQSHLUs
5254 UINT64_C(1862820864), // SQSHLUv16i8_shift
5255 UINT64_C(790651904), // SQSHLUv2i32_shift
5256 UINT64_C(1866490880), // SQSHLUv2i64_shift
5257 UINT64_C(789603328), // SQSHLUv4i16_shift
5258 UINT64_C(1864393728), // SQSHLUv4i32_shift
5259 UINT64_C(1863345152), // SQSHLUv8i16_shift
5260 UINT64_C(789079040), // SQSHLUv8i8_shift
5261 UINT64_C(67535104), // SQSHL_ZPmI_B
5262 UINT64_C(75923456), // SQSHL_ZPmI_D
5263 UINT64_C(67535360), // SQSHL_ZPmI_H
5264 UINT64_C(71729152), // SQSHL_ZPmI_S
5265 UINT64_C(1141407744), // SQSHL_ZPmZ_B
5266 UINT64_C(1153990656), // SQSHL_ZPmZ_D
5267 UINT64_C(1145602048), // SQSHL_ZPmZ_H
5268 UINT64_C(1149796352), // SQSHL_ZPmZ_S
5269 UINT64_C(1594389504), // SQSHLb
5270 UINT64_C(1598059520), // SQSHLd
5271 UINT64_C(1594913792), // SQSHLh
5272 UINT64_C(1595962368), // SQSHLs
5273 UINT64_C(1310739456), // SQSHLv16i8
5274 UINT64_C(1325954048), // SQSHLv16i8_shift
5275 UINT64_C(1583369216), // SQSHLv1i16
5276 UINT64_C(1587563520), // SQSHLv1i32
5277 UINT64_C(1591757824), // SQSHLv1i64
5278 UINT64_C(1579174912), // SQSHLv1i8
5279 UINT64_C(245386240), // SQSHLv2i32
5280 UINT64_C(253785088), // SQSHLv2i32_shift
5281 UINT64_C(1323322368), // SQSHLv2i64
5282 UINT64_C(1329624064), // SQSHLv2i64_shift
5283 UINT64_C(241191936), // SQSHLv4i16
5284 UINT64_C(252736512), // SQSHLv4i16_shift
5285 UINT64_C(1319128064), // SQSHLv4i32
5286 UINT64_C(1327526912), // SQSHLv4i32_shift
5287 UINT64_C(1314933760), // SQSHLv8i16
5288 UINT64_C(1326478336), // SQSHLv8i16_shift
5289 UINT64_C(236997632), // SQSHLv8i8
5290 UINT64_C(252212224), // SQSHLv8i8_shift
5291 UINT64_C(1160257536), // SQSHRNB_ZZI_B
5292 UINT64_C(1160781824), // SQSHRNB_ZZI_H
5293 UINT64_C(1163927552), // SQSHRNB_ZZI_S
5294 UINT64_C(1160258560), // SQSHRNT_ZZI_B
5295 UINT64_C(1160782848), // SQSHRNT_ZZI_H
5296 UINT64_C(1163928576), // SQSHRNT_ZZI_S
5297 UINT64_C(1168637952), // SQSHRN_Z2ZI_HtoB
5298 UINT64_C(1169162240), // SQSHRN_Z2ZI_StoH
5299 UINT64_C(1594397696), // SQSHRNb
5300 UINT64_C(1594921984), // SQSHRNh
5301 UINT64_C(1595970560), // SQSHRNs
5302 UINT64_C(1325962240), // SQSHRNv16i8_shift
5303 UINT64_C(253793280), // SQSHRNv2i32_shift
5304 UINT64_C(252744704), // SQSHRNv4i16_shift
5305 UINT64_C(1327535104), // SQSHRNv4i32_shift
5306 UINT64_C(1326486528), // SQSHRNv8i16_shift
5307 UINT64_C(252220416), // SQSHRNv8i8_shift
5308 UINT64_C(1160249344), // SQSHRUNB_ZZI_B
5309 UINT64_C(1160773632), // SQSHRUNB_ZZI_H
5310 UINT64_C(1163919360), // SQSHRUNB_ZZI_S
5311 UINT64_C(1160250368), // SQSHRUNT_ZZI_B
5312 UINT64_C(1160774656), // SQSHRUNT_ZZI_H
5313 UINT64_C(1163920384), // SQSHRUNT_ZZI_S
5314 UINT64_C(1168646144), // SQSHRUN_Z2ZI_HtoB
5315 UINT64_C(1169170432), // SQSHRUN_Z2ZI_StoH
5316 UINT64_C(2131264512), // SQSHRUNb
5317 UINT64_C(2131788800), // SQSHRUNh
5318 UINT64_C(2132837376), // SQSHRUNs
5319 UINT64_C(1862829056), // SQSHRUNv16i8_shift
5320 UINT64_C(790660096), // SQSHRUNv2i32_shift
5321 UINT64_C(789611520), // SQSHRUNv4i16_shift
5322 UINT64_C(1864401920), // SQSHRUNv4i32_shift
5323 UINT64_C(1863353344), // SQSHRUNv8i16_shift
5324 UINT64_C(789087232), // SQSHRUNv8i8_shift
5325 UINT64_C(1142849536), // SQSUBR_ZPmZ_B
5326 UINT64_C(1155432448), // SQSUBR_ZPmZ_D
5327 UINT64_C(1147043840), // SQSUBR_ZPmZ_H
5328 UINT64_C(1151238144), // SQSUBR_ZPmZ_S
5329 UINT64_C(623296512), // SQSUB_ZI_B
5330 UINT64_C(635879424), // SQSUB_ZI_D
5331 UINT64_C(627490816), // SQSUB_ZI_H
5332 UINT64_C(631685120), // SQSUB_ZI_S
5333 UINT64_C(1142587392), // SQSUB_ZPmZ_B
5334 UINT64_C(1155170304), // SQSUB_ZPmZ_D
5335 UINT64_C(1146781696), // SQSUB_ZPmZ_H
5336 UINT64_C(1150976000), // SQSUB_ZPmZ_S
5337 UINT64_C(69212160), // SQSUB_ZZZ_B
5338 UINT64_C(81795072), // SQSUB_ZZZ_D
5339 UINT64_C(73406464), // SQSUB_ZZZ_H
5340 UINT64_C(77600768), // SQSUB_ZZZ_S
5341 UINT64_C(1310731264), // SQSUBv16i8
5342 UINT64_C(1583361024), // SQSUBv1i16
5343 UINT64_C(1587555328), // SQSUBv1i32
5344 UINT64_C(1591749632), // SQSUBv1i64
5345 UINT64_C(1579166720), // SQSUBv1i8
5346 UINT64_C(245378048), // SQSUBv2i32
5347 UINT64_C(1323314176), // SQSUBv2i64
5348 UINT64_C(241183744), // SQSUBv4i16
5349 UINT64_C(1319119872), // SQSUBv4i32
5350 UINT64_C(1314925568), // SQSUBv8i16
5351 UINT64_C(236989440), // SQSUBv8i8
5352 UINT64_C(1160265728), // SQXTNB_ZZ_B
5353 UINT64_C(1160790016), // SQXTNB_ZZ_H
5354 UINT64_C(1163935744), // SQXTNB_ZZ_S
5355 UINT64_C(1160266752), // SQXTNT_ZZ_B
5356 UINT64_C(1160791040), // SQXTNT_ZZ_H
5357 UINT64_C(1163936768), // SQXTNT_ZZ_S
5358 UINT64_C(1310803968), // SQXTNv16i8
5359 UINT64_C(1583433728), // SQXTNv1i16
5360 UINT64_C(1587628032), // SQXTNv1i32
5361 UINT64_C(1579239424), // SQXTNv1i8
5362 UINT64_C(245450752), // SQXTNv2i32
5363 UINT64_C(241256448), // SQXTNv4i16
5364 UINT64_C(1319192576), // SQXTNv4i32
5365 UINT64_C(1314998272), // SQXTNv8i16
5366 UINT64_C(237062144), // SQXTNv8i8
5367 UINT64_C(1160269824), // SQXTUNB_ZZ_B
5368 UINT64_C(1160794112), // SQXTUNB_ZZ_H
5369 UINT64_C(1163939840), // SQXTUNB_ZZ_S
5370 UINT64_C(1160270848), // SQXTUNT_ZZ_B
5371 UINT64_C(1160795136), // SQXTUNT_ZZ_H
5372 UINT64_C(1163940864), // SQXTUNT_ZZ_S
5373 UINT64_C(1847666688), // SQXTUNv16i8
5374 UINT64_C(2120296448), // SQXTUNv1i16
5375 UINT64_C(2124490752), // SQXTUNv1i32
5376 UINT64_C(2116102144), // SQXTUNv1i8
5377 UINT64_C(782313472), // SQXTUNv2i32
5378 UINT64_C(778119168), // SQXTUNv4i16
5379 UINT64_C(1856055296), // SQXTUNv4i32
5380 UINT64_C(1851860992), // SQXTUNv8i16
5381 UINT64_C(773924864), // SQXTUNv8i8
5382 UINT64_C(1142194176), // SRHADD_ZPmZ_B
5383 UINT64_C(1154777088), // SRHADD_ZPmZ_D
5384 UINT64_C(1146388480), // SRHADD_ZPmZ_H
5385 UINT64_C(1150582784), // SRHADD_ZPmZ_S
5386 UINT64_C(1310725120), // SRHADDv16i8
5387 UINT64_C(245371904), // SRHADDv2i32
5388 UINT64_C(241177600), // SRHADDv4i16
5389 UINT64_C(1319113728), // SRHADDv4i32
5390 UINT64_C(1314919424), // SRHADDv8i16
5391 UINT64_C(236983296), // SRHADDv8i8
5392 UINT64_C(1158213632), // SRI_ZZI_B
5393 UINT64_C(1166077952), // SRI_ZZI_D
5394 UINT64_C(1158737920), // SRI_ZZI_H
5395 UINT64_C(1161883648), // SRI_ZZI_S
5396 UINT64_C(2134918144), // SRId
5397 UINT64_C(1862812672), // SRIv16i8_shift
5398 UINT64_C(790643712), // SRIv2i32_shift
5399 UINT64_C(1866482688), // SRIv2i64_shift
5400 UINT64_C(789595136), // SRIv4i16_shift
5401 UINT64_C(1864385536), // SRIv4i32_shift
5402 UINT64_C(1863336960), // SRIv8i16_shift
5403 UINT64_C(789070848), // SRIv8i8_shift
5404 UINT64_C(1141276672), // SRSHLR_ZPmZ_B
5405 UINT64_C(1153859584), // SRSHLR_ZPmZ_D
5406 UINT64_C(1145470976), // SRSHLR_ZPmZ_H
5407 UINT64_C(1149665280), // SRSHLR_ZPmZ_S
5408 UINT64_C(3240145440), // SRSHL_VG2_2Z2Z_B
5409 UINT64_C(3252728352), // SRSHL_VG2_2Z2Z_D
5410 UINT64_C(3244339744), // SRSHL_VG2_2Z2Z_H
5411 UINT64_C(3248534048), // SRSHL_VG2_2Z2Z_S
5412 UINT64_C(3240141344), // SRSHL_VG2_2ZZ_B
5413 UINT64_C(3252724256), // SRSHL_VG2_2ZZ_D
5414 UINT64_C(3244335648), // SRSHL_VG2_2ZZ_H
5415 UINT64_C(3248529952), // SRSHL_VG2_2ZZ_S
5416 UINT64_C(3240147488), // SRSHL_VG4_4Z4Z_B
5417 UINT64_C(3252730400), // SRSHL_VG4_4Z4Z_D
5418 UINT64_C(3244341792), // SRSHL_VG4_4Z4Z_H
5419 UINT64_C(3248536096), // SRSHL_VG4_4Z4Z_S
5420 UINT64_C(3240143392), // SRSHL_VG4_4ZZ_B
5421 UINT64_C(3252726304), // SRSHL_VG4_4ZZ_D
5422 UINT64_C(3244337696), // SRSHL_VG4_4ZZ_H
5423 UINT64_C(3248532000), // SRSHL_VG4_4ZZ_S
5424 UINT64_C(1141014528), // SRSHL_ZPmZ_B
5425 UINT64_C(1153597440), // SRSHL_ZPmZ_D
5426 UINT64_C(1145208832), // SRSHL_ZPmZ_H
5427 UINT64_C(1149403136), // SRSHL_ZPmZ_S
5428 UINT64_C(1310741504), // SRSHLv16i8
5429 UINT64_C(1591759872), // SRSHLv1i64
5430 UINT64_C(245388288), // SRSHLv2i32
5431 UINT64_C(1323324416), // SRSHLv2i64
5432 UINT64_C(241193984), // SRSHLv4i16
5433 UINT64_C(1319130112), // SRSHLv4i32
5434 UINT64_C(1314935808), // SRSHLv8i16
5435 UINT64_C(236999680), // SRSHLv8i8
5436 UINT64_C(67928320), // SRSHR_ZPmI_B
5437 UINT64_C(76316672), // SRSHR_ZPmI_D
5438 UINT64_C(67928576), // SRSHR_ZPmI_H
5439 UINT64_C(72122368), // SRSHR_ZPmI_S
5440 UINT64_C(1598039040), // SRSHRd
5441 UINT64_C(1325933568), // SRSHRv16i8_shift
5442 UINT64_C(253764608), // SRSHRv2i32_shift
5443 UINT64_C(1329603584), // SRSHRv2i64_shift
5444 UINT64_C(252716032), // SRSHRv4i16_shift
5445 UINT64_C(1327506432), // SRSHRv4i32_shift
5446 UINT64_C(1326457856), // SRSHRv8i16_shift
5447 UINT64_C(252191744), // SRSHRv8i8_shift
5448 UINT64_C(1158211584), // SRSRA_ZZI_B
5449 UINT64_C(1166075904), // SRSRA_ZZI_D
5450 UINT64_C(1158735872), // SRSRA_ZZI_H
5451 UINT64_C(1161881600), // SRSRA_ZZI_S
5452 UINT64_C(1598043136), // SRSRAd
5453 UINT64_C(1325937664), // SRSRAv16i8_shift
5454 UINT64_C(253768704), // SRSRAv2i32_shift
5455 UINT64_C(1329607680), // SRSRAv2i64_shift
5456 UINT64_C(252720128), // SRSRAv4i16_shift
5457 UINT64_C(1327510528), // SRSRAv4i32_shift
5458 UINT64_C(1326461952), // SRSRAv8i16_shift
5459 UINT64_C(252195840), // SRSRAv8i8_shift
5460 UINT64_C(1161863168), // SSHLLB_ZZI_D
5461 UINT64_C(1158193152), // SSHLLB_ZZI_H
5462 UINT64_C(1158717440), // SSHLLB_ZZI_S
5463 UINT64_C(1161864192), // SSHLLT_ZZI_D
5464 UINT64_C(1158194176), // SSHLLT_ZZI_H
5465 UINT64_C(1158718464), // SSHLLT_ZZI_S
5466 UINT64_C(1325966336), // SSHLLv16i8_shift
5467 UINT64_C(253797376), // SSHLLv2i32_shift
5468 UINT64_C(252748800), // SSHLLv4i16_shift
5469 UINT64_C(1327539200), // SSHLLv4i32_shift
5470 UINT64_C(1326490624), // SSHLLv8i16_shift
5471 UINT64_C(252224512), // SSHLLv8i8_shift
5472 UINT64_C(1310737408), // SSHLv16i8
5473 UINT64_C(1591755776), // SSHLv1i64
5474 UINT64_C(245384192), // SSHLv2i32
5475 UINT64_C(1323320320), // SSHLv2i64
5476 UINT64_C(241189888), // SSHLv4i16
5477 UINT64_C(1319126016), // SSHLv4i32
5478 UINT64_C(1314931712), // SSHLv8i16
5479 UINT64_C(236995584), // SSHLv8i8
5480 UINT64_C(1598030848), // SSHRd
5481 UINT64_C(1325925376), // SSHRv16i8_shift
5482 UINT64_C(253756416), // SSHRv2i32_shift
5483 UINT64_C(1329595392), // SSHRv2i64_shift
5484 UINT64_C(252707840), // SSHRv4i16_shift
5485 UINT64_C(1327498240), // SSHRv4i32_shift
5486 UINT64_C(1326449664), // SSHRv8i16_shift
5487 UINT64_C(252183552), // SSHRv8i8_shift
5488 UINT64_C(1158209536), // SSRA_ZZI_B
5489 UINT64_C(1166073856), // SSRA_ZZI_D
5490 UINT64_C(1158733824), // SSRA_ZZI_H
5491 UINT64_C(1161879552), // SSRA_ZZI_S
5492 UINT64_C(1598034944), // SSRAd
5493 UINT64_C(1325929472), // SSRAv16i8_shift
5494 UINT64_C(253760512), // SSRAv2i32_shift
5495 UINT64_C(1329599488), // SSRAv2i64_shift
5496 UINT64_C(252711936), // SSRAv4i16_shift
5497 UINT64_C(1327502336), // SSRAv4i32_shift
5498 UINT64_C(1326453760), // SSRAv8i16_shift
5499 UINT64_C(252187648), // SSRAv8i8_shift
5500 UINT64_C(3825246208), // SST1B_D
5501 UINT64_C(3829440512), // SST1B_D_IMM
5502 UINT64_C(3825254400), // SST1B_D_SXTW
5503 UINT64_C(3825238016), // SST1B_D_UXTW
5504 UINT64_C(3831537664), // SST1B_S_IMM
5505 UINT64_C(3829448704), // SST1B_S_SXTW
5506 UINT64_C(3829432320), // SST1B_S_UXTW
5507 UINT64_C(3850412032), // SST1D
5508 UINT64_C(3854606336), // SST1D_IMM
5509 UINT64_C(3852509184), // SST1D_SCALED
5510 UINT64_C(3850420224), // SST1D_SXTW
5511 UINT64_C(3852517376), // SST1D_SXTW_SCALED
5512 UINT64_C(3850403840), // SST1D_UXTW
5513 UINT64_C(3852500992), // SST1D_UXTW_SCALED
5514 UINT64_C(3833634816), // SST1H_D
5515 UINT64_C(3837829120), // SST1H_D_IMM
5516 UINT64_C(3835731968), // SST1H_D_SCALED
5517 UINT64_C(3833643008), // SST1H_D_SXTW
5518 UINT64_C(3835740160), // SST1H_D_SXTW_SCALED
5519 UINT64_C(3833626624), // SST1H_D_UXTW
5520 UINT64_C(3835723776), // SST1H_D_UXTW_SCALED
5521 UINT64_C(3839926272), // SST1H_S_IMM
5522 UINT64_C(3837837312), // SST1H_S_SXTW
5523 UINT64_C(3839934464), // SST1H_S_SXTW_SCALED
5524 UINT64_C(3837820928), // SST1H_S_UXTW
5525 UINT64_C(3839918080), // SST1H_S_UXTW_SCALED
5526 UINT64_C(3827310592), // SST1Q
5527 UINT64_C(3842023424), // SST1W_D
5528 UINT64_C(3846217728), // SST1W_D_IMM
5529 UINT64_C(3844120576), // SST1W_D_SCALED
5530 UINT64_C(3842031616), // SST1W_D_SXTW
5531 UINT64_C(3844128768), // SST1W_D_SXTW_SCALED
5532 UINT64_C(3842015232), // SST1W_D_UXTW
5533 UINT64_C(3844112384), // SST1W_D_UXTW_SCALED
5534 UINT64_C(3848314880), // SST1W_IMM
5535 UINT64_C(3846225920), // SST1W_SXTW
5536 UINT64_C(3848323072), // SST1W_SXTW_SCALED
5537 UINT64_C(3846209536), // SST1W_UXTW
5538 UINT64_C(3848306688), // SST1W_UXTW_SCALED
5539 UINT64_C(1170245632), // SSUBLBT_ZZZ_D
5540 UINT64_C(1161857024), // SSUBLBT_ZZZ_H
5541 UINT64_C(1166051328), // SSUBLBT_ZZZ_S
5542 UINT64_C(1170214912), // SSUBLB_ZZZ_D
5543 UINT64_C(1161826304), // SSUBLB_ZZZ_H
5544 UINT64_C(1166020608), // SSUBLB_ZZZ_S
5545 UINT64_C(1170246656), // SSUBLTB_ZZZ_D
5546 UINT64_C(1161858048), // SSUBLTB_ZZZ_H
5547 UINT64_C(1166052352), // SSUBLTB_ZZZ_S
5548 UINT64_C(1170215936), // SSUBLT_ZZZ_D
5549 UINT64_C(1161827328), // SSUBLT_ZZZ_H
5550 UINT64_C(1166021632), // SSUBLT_ZZZ_S
5551 UINT64_C(1310728192), // SSUBLv16i8_v8i16
5552 UINT64_C(245374976), // SSUBLv2i32_v2i64
5553 UINT64_C(241180672), // SSUBLv4i16_v4i32
5554 UINT64_C(1319116800), // SSUBLv4i32_v2i64
5555 UINT64_C(1314922496), // SSUBLv8i16_v4i32
5556 UINT64_C(236986368), // SSUBLv8i8_v8i16
5557 UINT64_C(1170231296), // SSUBWB_ZZZ_D
5558 UINT64_C(1161842688), // SSUBWB_ZZZ_H
5559 UINT64_C(1166036992), // SSUBWB_ZZZ_S
5560 UINT64_C(1170232320), // SSUBWT_ZZZ_D
5561 UINT64_C(1161843712), // SSUBWT_ZZZ_H
5562 UINT64_C(1166038016), // SSUBWT_ZZZ_S
5563 UINT64_C(1310732288), // SSUBWv16i8_v8i16
5564 UINT64_C(245379072), // SSUBWv2i32_v2i64
5565 UINT64_C(241184768), // SSUBWv4i16_v4i32
5566 UINT64_C(1319120896), // SSUBWv4i32_v2i64
5567 UINT64_C(1314926592), // SSUBWv8i16_v4i32
5568 UINT64_C(236990464), // SSUBWv8i8_v8i16
5569 UINT64_C(3825221632), // ST1B
5570 UINT64_C(2686451712), // ST1B_2Z
5571 UINT64_C(2690646016), // ST1B_2Z_IMM
5572 UINT64_C(2703228928), // ST1B_2Z_STRIDED
5573 UINT64_C(2707423232), // ST1B_2Z_STRIDED_IMM
5574 UINT64_C(2686484480), // ST1B_4Z
5575 UINT64_C(2690678784), // ST1B_4Z_IMM
5576 UINT64_C(2703261696), // ST1B_4Z_STRIDED
5577 UINT64_C(2707456000), // ST1B_4Z_STRIDED_IMM
5578 UINT64_C(3831513088), // ST1B_D
5579 UINT64_C(3831554048), // ST1B_D_IMM
5580 UINT64_C(3827318784), // ST1B_H
5581 UINT64_C(3827359744), // ST1B_H_IMM
5582 UINT64_C(3825262592), // ST1B_IMM
5583 UINT64_C(3829415936), // ST1B_S
5584 UINT64_C(3829456896), // ST1B_S_IMM
5585 UINT64_C(3856678912), // ST1D
5586 UINT64_C(2686476288), // ST1D_2Z
5587 UINT64_C(2690670592), // ST1D_2Z_IMM
5588 UINT64_C(2703253504), // ST1D_2Z_STRIDED
5589 UINT64_C(2707447808), // ST1D_2Z_STRIDED_IMM
5590 UINT64_C(2686509056), // ST1D_4Z
5591 UINT64_C(2690703360), // ST1D_4Z_IMM
5592 UINT64_C(2703286272), // ST1D_4Z_STRIDED
5593 UINT64_C(2707480576), // ST1D_4Z_STRIDED_IMM
5594 UINT64_C(3856719872), // ST1D_IMM
5595 UINT64_C(3854581760), // ST1D_Q
5596 UINT64_C(3854622720), // ST1D_Q_IMM
5597 UINT64_C(1275076608), // ST1Fourv16b
5598 UINT64_C(1283465216), // ST1Fourv16b_POST
5599 UINT64_C(201337856), // ST1Fourv1d
5600 UINT64_C(209726464), // ST1Fourv1d_POST
5601 UINT64_C(1275079680), // ST1Fourv2d
5602 UINT64_C(1283468288), // ST1Fourv2d_POST
5603 UINT64_C(201336832), // ST1Fourv2s
5604 UINT64_C(209725440), // ST1Fourv2s_POST
5605 UINT64_C(201335808), // ST1Fourv4h
5606 UINT64_C(209724416), // ST1Fourv4h_POST
5607 UINT64_C(1275078656), // ST1Fourv4s
5608 UINT64_C(1283467264), // ST1Fourv4s_POST
5609 UINT64_C(201334784), // ST1Fourv8b
5610 UINT64_C(209723392), // ST1Fourv8b_POST
5611 UINT64_C(1275077632), // ST1Fourv8h
5612 UINT64_C(1283466240), // ST1Fourv8h_POST
5613 UINT64_C(3835707392), // ST1H
5614 UINT64_C(2686459904), // ST1H_2Z
5615 UINT64_C(2690654208), // ST1H_2Z_IMM
5616 UINT64_C(2703237120), // ST1H_2Z_STRIDED
5617 UINT64_C(2707431424), // ST1H_2Z_STRIDED_IMM
5618 UINT64_C(2686492672), // ST1H_4Z
5619 UINT64_C(2690686976), // ST1H_4Z_IMM
5620 UINT64_C(2703269888), // ST1H_4Z_STRIDED
5621 UINT64_C(2707464192), // ST1H_4Z_STRIDED_IMM
5622 UINT64_C(3839901696), // ST1H_D
5623 UINT64_C(3839942656), // ST1H_D_IMM
5624 UINT64_C(3835748352), // ST1H_IMM
5625 UINT64_C(3837804544), // ST1H_S
5626 UINT64_C(3837845504), // ST1H_S_IMM
5627 UINT64_C(1275097088), // ST1Onev16b
5628 UINT64_C(1283485696), // ST1Onev16b_POST
5629 UINT64_C(201358336), // ST1Onev1d
5630 UINT64_C(209746944), // ST1Onev1d_POST
5631 UINT64_C(1275100160), // ST1Onev2d
5632 UINT64_C(1283488768), // ST1Onev2d_POST
5633 UINT64_C(201357312), // ST1Onev2s
5634 UINT64_C(209745920), // ST1Onev2s_POST
5635 UINT64_C(201356288), // ST1Onev4h
5636 UINT64_C(209744896), // ST1Onev4h_POST
5637 UINT64_C(1275099136), // ST1Onev4s
5638 UINT64_C(1283487744), // ST1Onev4s_POST
5639 UINT64_C(201355264), // ST1Onev8b
5640 UINT64_C(209743872), // ST1Onev8b_POST
5641 UINT64_C(1275098112), // ST1Onev8h
5642 UINT64_C(1283486720), // ST1Onev8h_POST
5643 UINT64_C(1275092992), // ST1Threev16b
5644 UINT64_C(1283481600), // ST1Threev16b_POST
5645 UINT64_C(201354240), // ST1Threev1d
5646 UINT64_C(209742848), // ST1Threev1d_POST
5647 UINT64_C(1275096064), // ST1Threev2d
5648 UINT64_C(1283484672), // ST1Threev2d_POST
5649 UINT64_C(201353216), // ST1Threev2s
5650 UINT64_C(209741824), // ST1Threev2s_POST
5651 UINT64_C(201352192), // ST1Threev4h
5652 UINT64_C(209740800), // ST1Threev4h_POST
5653 UINT64_C(1275095040), // ST1Threev4s
5654 UINT64_C(1283483648), // ST1Threev4s_POST
5655 UINT64_C(201351168), // ST1Threev8b
5656 UINT64_C(209739776), // ST1Threev8b_POST
5657 UINT64_C(1275094016), // ST1Threev8h
5658 UINT64_C(1283482624), // ST1Threev8h_POST
5659 UINT64_C(1275109376), // ST1Twov16b
5660 UINT64_C(1283497984), // ST1Twov16b_POST
5661 UINT64_C(201370624), // ST1Twov1d
5662 UINT64_C(209759232), // ST1Twov1d_POST
5663 UINT64_C(1275112448), // ST1Twov2d
5664 UINT64_C(1283501056), // ST1Twov2d_POST
5665 UINT64_C(201369600), // ST1Twov2s
5666 UINT64_C(209758208), // ST1Twov2s_POST
5667 UINT64_C(201368576), // ST1Twov4h
5668 UINT64_C(209757184), // ST1Twov4h_POST
5669 UINT64_C(1275111424), // ST1Twov4s
5670 UINT64_C(1283500032), // ST1Twov4s_POST
5671 UINT64_C(201367552), // ST1Twov8b
5672 UINT64_C(209756160), // ST1Twov8b_POST
5673 UINT64_C(1275110400), // ST1Twov8h
5674 UINT64_C(1283499008), // ST1Twov8h_POST
5675 UINT64_C(3846193152), // ST1W
5676 UINT64_C(2686468096), // ST1W_2Z
5677 UINT64_C(2690662400), // ST1W_2Z_IMM
5678 UINT64_C(2703245312), // ST1W_2Z_STRIDED
5679 UINT64_C(2707439616), // ST1W_2Z_STRIDED_IMM
5680 UINT64_C(2686500864), // ST1W_4Z
5681 UINT64_C(2690695168), // ST1W_4Z_IMM
5682 UINT64_C(2703278080), // ST1W_4Z_STRIDED
5683 UINT64_C(2707472384), // ST1W_4Z_STRIDED_IMM
5684 UINT64_C(3848290304), // ST1W_D
5685 UINT64_C(3848331264), // ST1W_D_IMM
5686 UINT64_C(3846234112), // ST1W_IMM
5687 UINT64_C(3841998848), // ST1W_Q
5688 UINT64_C(3842039808), // ST1W_Q_IMM
5689 UINT64_C(3760193536), // ST1_MXIPXX_H_B
5690 UINT64_C(3772776448), // ST1_MXIPXX_H_D
5691 UINT64_C(3764387840), // ST1_MXIPXX_H_H
5692 UINT64_C(3789553664), // ST1_MXIPXX_H_Q
5693 UINT64_C(3768582144), // ST1_MXIPXX_H_S
5694 UINT64_C(3760226304), // ST1_MXIPXX_V_B
5695 UINT64_C(3772809216), // ST1_MXIPXX_V_D
5696 UINT64_C(3764420608), // ST1_MXIPXX_V_H
5697 UINT64_C(3789586432), // ST1_MXIPXX_V_Q
5698 UINT64_C(3768614912), // ST1_MXIPXX_V_S
5699 UINT64_C(218120192), // ST1i16
5700 UINT64_C(226508800), // ST1i16_POST
5701 UINT64_C(218136576), // ST1i32
5702 UINT64_C(226525184), // ST1i32_POST
5703 UINT64_C(218137600), // ST1i64
5704 UINT64_C(226526208), // ST1i64_POST
5705 UINT64_C(218103808), // ST1i8
5706 UINT64_C(226492416), // ST1i8_POST
5707 UINT64_C(3827326976), // ST2B
5708 UINT64_C(3828408320), // ST2B_IMM
5709 UINT64_C(3852492800), // ST2D
5710 UINT64_C(3853574144), // ST2D_IMM
5711 UINT64_C(3651142656), // ST2GPostIndex
5712 UINT64_C(3651144704), // ST2GPreIndex
5713 UINT64_C(3651143680), // ST2Gi
5714 UINT64_C(3835715584), // ST2H
5715 UINT64_C(3836796928), // ST2H_IMM
5716 UINT64_C(3831496704), // ST2Q
5717 UINT64_C(3829399552), // ST2Q_IMM
5718 UINT64_C(1275101184), // ST2Twov16b
5719 UINT64_C(1283489792), // ST2Twov16b_POST
5720 UINT64_C(1275104256), // ST2Twov2d
5721 UINT64_C(1283492864), // ST2Twov2d_POST
5722 UINT64_C(201361408), // ST2Twov2s
5723 UINT64_C(209750016), // ST2Twov2s_POST
5724 UINT64_C(201360384), // ST2Twov4h
5725 UINT64_C(209748992), // ST2Twov4h_POST
5726 UINT64_C(1275103232), // ST2Twov4s
5727 UINT64_C(1283491840), // ST2Twov4s_POST
5728 UINT64_C(201359360), // ST2Twov8b
5729 UINT64_C(209747968), // ST2Twov8b_POST
5730 UINT64_C(1275102208), // ST2Twov8h
5731 UINT64_C(1283490816), // ST2Twov8h_POST
5732 UINT64_C(3844104192), // ST2W
5733 UINT64_C(3845185536), // ST2W_IMM
5734 UINT64_C(220217344), // ST2i16
5735 UINT64_C(228605952), // ST2i16_POST
5736 UINT64_C(220233728), // ST2i32
5737 UINT64_C(228622336), // ST2i32_POST
5738 UINT64_C(220234752), // ST2i64
5739 UINT64_C(228623360), // ST2i64_POST
5740 UINT64_C(220200960), // ST2i8
5741 UINT64_C(228589568), // ST2i8_POST
5742 UINT64_C(3829424128), // ST3B
5743 UINT64_C(3830505472), // ST3B_IMM
5744 UINT64_C(3854589952), // ST3D
5745 UINT64_C(3855671296), // ST3D_IMM
5746 UINT64_C(3837812736), // ST3H
5747 UINT64_C(3838894080), // ST3H_IMM
5748 UINT64_C(3835691008), // ST3Q
5749 UINT64_C(3833593856), // ST3Q_IMM
5750 UINT64_C(1275084800), // ST3Threev16b
5751 UINT64_C(1283473408), // ST3Threev16b_POST
5752 UINT64_C(1275087872), // ST3Threev2d
5753 UINT64_C(1283476480), // ST3Threev2d_POST
5754 UINT64_C(201345024), // ST3Threev2s
5755 UINT64_C(209733632), // ST3Threev2s_POST
5756 UINT64_C(201344000), // ST3Threev4h
5757 UINT64_C(209732608), // ST3Threev4h_POST
5758 UINT64_C(1275086848), // ST3Threev4s
5759 UINT64_C(1283475456), // ST3Threev4s_POST
5760 UINT64_C(201342976), // ST3Threev8b
5761 UINT64_C(209731584), // ST3Threev8b_POST
5762 UINT64_C(1275085824), // ST3Threev8h
5763 UINT64_C(1283474432), // ST3Threev8h_POST
5764 UINT64_C(3846201344), // ST3W
5765 UINT64_C(3847282688), // ST3W_IMM
5766 UINT64_C(218128384), // ST3i16
5767 UINT64_C(226516992), // ST3i16_POST
5768 UINT64_C(218144768), // ST3i32
5769 UINT64_C(226533376), // ST3i32_POST
5770 UINT64_C(218145792), // ST3i64
5771 UINT64_C(226534400), // ST3i64_POST
5772 UINT64_C(218112000), // ST3i8
5773 UINT64_C(226500608), // ST3i8_POST
5774 UINT64_C(3831521280), // ST4B
5775 UINT64_C(3832602624), // ST4B_IMM
5776 UINT64_C(3856687104), // ST4D
5777 UINT64_C(3857768448), // ST4D_IMM
5778 UINT64_C(1275068416), // ST4Fourv16b
5779 UINT64_C(1283457024), // ST4Fourv16b_POST
5780 UINT64_C(1275071488), // ST4Fourv2d
5781 UINT64_C(1283460096), // ST4Fourv2d_POST
5782 UINT64_C(201328640), // ST4Fourv2s
5783 UINT64_C(209717248), // ST4Fourv2s_POST
5784 UINT64_C(201327616), // ST4Fourv4h
5785 UINT64_C(209716224), // ST4Fourv4h_POST
5786 UINT64_C(1275070464), // ST4Fourv4s
5787 UINT64_C(1283459072), // ST4Fourv4s_POST
5788 UINT64_C(201326592), // ST4Fourv8b
5789 UINT64_C(209715200), // ST4Fourv8b_POST
5790 UINT64_C(1275069440), // ST4Fourv8h
5791 UINT64_C(1283458048), // ST4Fourv8h_POST
5792 UINT64_C(3839909888), // ST4H
5793 UINT64_C(3840991232), // ST4H_IMM
5794 UINT64_C(3839885312), // ST4Q
5795 UINT64_C(3837788160), // ST4Q_IMM
5796 UINT64_C(3848298496), // ST4W
5797 UINT64_C(3849379840), // ST4W_IMM
5798 UINT64_C(220225536), // ST4i16
5799 UINT64_C(228614144), // ST4i16_POST
5800 UINT64_C(220241920), // ST4i32
5801 UINT64_C(228630528), // ST4i32_POST
5802 UINT64_C(220242944), // ST4i64
5803 UINT64_C(228631552), // ST4i64_POST
5804 UINT64_C(220209152), // ST4i8
5805 UINT64_C(228597760), // ST4i8_POST
5806 UINT64_C(4164915200), // ST64B
5807 UINT64_C(4162891776), // ST64BV
5808 UINT64_C(4162887680), // ST64BV0
5809 UINT64_C(1008762911), // STBFADD
5810 UINT64_C(1012957215), // STBFADDL
5811 UINT64_C(1008779295), // STBFMAX
5812 UINT64_C(1012973599), // STBFMAXL
5813 UINT64_C(1008787487), // STBFMAXNM
5814 UINT64_C(1012981791), // STBFMAXNML
5815 UINT64_C(1008783391), // STBFMIN
5816 UINT64_C(1012977695), // STBFMINL
5817 UINT64_C(1008791583), // STBFMINNM
5818 UINT64_C(1012985887), // STBFMINNML
5819 UINT64_C(3573753503), // STCPH
5820 UINT64_C(4229988383), // STFADDD
5821 UINT64_C(2082504735), // STFADDH
5822 UINT64_C(4234182687), // STFADDLD
5823 UINT64_C(2086699039), // STFADDLH
5824 UINT64_C(3160440863), // STFADDLS
5825 UINT64_C(3156246559), // STFADDS
5826 UINT64_C(4230004767), // STFMAXD
5827 UINT64_C(2082521119), // STFMAXH
5828 UINT64_C(4234199071), // STFMAXLD
5829 UINT64_C(2086715423), // STFMAXLH
5830 UINT64_C(3160457247), // STFMAXLS
5831 UINT64_C(4230012959), // STFMAXNMD
5832 UINT64_C(2082529311), // STFMAXNMH
5833 UINT64_C(4234207263), // STFMAXNMLD
5834 UINT64_C(2086723615), // STFMAXNMLH
5835 UINT64_C(3160465439), // STFMAXNMLS
5836 UINT64_C(3156271135), // STFMAXNMS
5837 UINT64_C(3156262943), // STFMAXS
5838 UINT64_C(4230008863), // STFMIND
5839 UINT64_C(2082525215), // STFMINH
5840 UINT64_C(4234203167), // STFMINLD
5841 UINT64_C(2086719519), // STFMINLH
5842 UINT64_C(3160461343), // STFMINLS
5843 UINT64_C(4230017055), // STFMINNMD
5844 UINT64_C(2082533407), // STFMINNMH
5845 UINT64_C(4234211359), // STFMINNMLD
5846 UINT64_C(2086727711), // STFMINNMLH
5847 UINT64_C(3160469535), // STFMINNMLS
5848 UINT64_C(3156275231), // STFMINNMS
5849 UINT64_C(3156267039), // STFMINS
5850 UINT64_C(3651141632), // STGM
5851 UINT64_C(1761607680), // STGPi
5852 UINT64_C(3642754048), // STGPostIndex
5853 UINT64_C(1753219072), // STGPpost
5854 UINT64_C(1769996288), // STGPpre
5855 UINT64_C(3642756096), // STGPreIndex
5856 UINT64_C(3642755072), // STGi
5857 UINT64_C(2566920192), // STILPW
5858 UINT64_C(2566916096), // STILPWpre
5859 UINT64_C(3640662016), // STILPX
5860 UINT64_C(3640657920), // STILPXpre
5861 UINT64_C(218203136), // STL1
5862 UINT64_C(144669696), // STLLRB
5863 UINT64_C(1218411520), // STLLRH
5864 UINT64_C(2292153344), // STLLRW
5865 UINT64_C(3365895168), // STLLRX
5866 UINT64_C(3640678400), // STLPi
5867 UINT64_C(144702464), // STLRB
5868 UINT64_C(1218444288), // STLRH
5869 UINT64_C(2292186112), // STLRW
5870 UINT64_C(2575304704), // STLRWpre
5871 UINT64_C(3365927936), // STLRX
5872 UINT64_C(3649046528), // STLRXpre
5873 UINT64_C(2298543104), // STLTXRW
5874 UINT64_C(3372284928), // STLTXRX
5875 UINT64_C(419430400), // STLURBi
5876 UINT64_C(1493172224), // STLURHi
5877 UINT64_C(2566914048), // STLURWi
5878 UINT64_C(3640655872), // STLURXi
5879 UINT64_C(486541312), // STLURbi
5880 UINT64_C(3707766784), // STLURdi
5881 UINT64_C(1560283136), // STLURhi
5882 UINT64_C(494929920), // STLURqi
5883 UINT64_C(2634024960), // STLURsi
5884 UINT64_C(2283831296), // STLXPW
5885 UINT64_C(3357573120), // STLXPX
5886 UINT64_C(134250496), // STLXRB
5887 UINT64_C(1207992320), // STLXRH
5888 UINT64_C(2281734144), // STLXRW
5889 UINT64_C(3355475968), // STLXRX
5890 UINT64_C(2151710720), // STMOPA_M2ZZZI_BtoS
5891 UINT64_C(2151710728), // STMOPA_M2ZZZI_HtoS
5892 UINT64_C(1811939328), // STNPDi
5893 UINT64_C(2885681152), // STNPQi
5894 UINT64_C(738197504), // STNPSi
5895 UINT64_C(671088640), // STNPWi
5896 UINT64_C(2818572288), // STNPXi
5897 UINT64_C(2686451713), // STNT1B_2Z
5898 UINT64_C(2690646017), // STNT1B_2Z_IMM
5899 UINT64_C(2703228936), // STNT1B_2Z_STRIDED
5900 UINT64_C(2707423240), // STNT1B_2Z_STRIDED_IMM
5901 UINT64_C(2686484481), // STNT1B_4Z
5902 UINT64_C(2690678785), // STNT1B_4Z_IMM
5903 UINT64_C(2703261704), // STNT1B_4Z_STRIDED
5904 UINT64_C(2707456008), // STNT1B_4Z_STRIDED_IMM
5905 UINT64_C(3826311168), // STNT1B_ZRI
5906 UINT64_C(3825229824), // STNT1B_ZRR
5907 UINT64_C(3825213440), // STNT1B_ZZR_D
5908 UINT64_C(3829407744), // STNT1B_ZZR_S
5909 UINT64_C(2686476289), // STNT1D_2Z
5910 UINT64_C(2690670593), // STNT1D_2Z_IMM
5911 UINT64_C(2703253512), // STNT1D_2Z_STRIDED
5912 UINT64_C(2707447816), // STNT1D_2Z_STRIDED_IMM
5913 UINT64_C(2686509057), // STNT1D_4Z
5914 UINT64_C(2690703361), // STNT1D_4Z_IMM
5915 UINT64_C(2703286280), // STNT1D_4Z_STRIDED
5916 UINT64_C(2707480584), // STNT1D_4Z_STRIDED_IMM
5917 UINT64_C(3851476992), // STNT1D_ZRI
5918 UINT64_C(3850395648), // STNT1D_ZRR
5919 UINT64_C(3850379264), // STNT1D_ZZR_D
5920 UINT64_C(2686459905), // STNT1H_2Z
5921 UINT64_C(2690654209), // STNT1H_2Z_IMM
5922 UINT64_C(2703237128), // STNT1H_2Z_STRIDED
5923 UINT64_C(2707431432), // STNT1H_2Z_STRIDED_IMM
5924 UINT64_C(2686492673), // STNT1H_4Z
5925 UINT64_C(2690686977), // STNT1H_4Z_IMM
5926 UINT64_C(2703269896), // STNT1H_4Z_STRIDED
5927 UINT64_C(2707464200), // STNT1H_4Z_STRIDED_IMM
5928 UINT64_C(3834699776), // STNT1H_ZRI
5929 UINT64_C(3833618432), // STNT1H_ZRR
5930 UINT64_C(3833602048), // STNT1H_ZZR_D
5931 UINT64_C(3837796352), // STNT1H_ZZR_S
5932 UINT64_C(2686468097), // STNT1W_2Z
5933 UINT64_C(2690662401), // STNT1W_2Z_IMM
5934 UINT64_C(2703245320), // STNT1W_2Z_STRIDED
5935 UINT64_C(2707439624), // STNT1W_2Z_STRIDED_IMM
5936 UINT64_C(2686500865), // STNT1W_4Z
5937 UINT64_C(2690695169), // STNT1W_4Z_IMM
5938 UINT64_C(2703278088), // STNT1W_4Z_STRIDED
5939 UINT64_C(2707472392), // STNT1W_4Z_STRIDED_IMM
5940 UINT64_C(3843088384), // STNT1W_ZRI
5941 UINT64_C(3842007040), // STNT1W_ZRR
5942 UINT64_C(3841990656), // STNT1W_ZZR_D
5943 UINT64_C(3846184960), // STNT1W_ZZR_S
5944 UINT64_C(1828716544), // STPDi
5945 UINT64_C(1820327936), // STPDpost
5946 UINT64_C(1837105152), // STPDpre
5947 UINT64_C(2902458368), // STPQi
5948 UINT64_C(2894069760), // STPQpost
5949 UINT64_C(2910846976), // STPQpre
5950 UINT64_C(754974720), // STPSi
5951 UINT64_C(746586112), // STPSpost
5952 UINT64_C(763363328), // STPSpre
5953 UINT64_C(687865856), // STPWi
5954 UINT64_C(679477248), // STPWpost
5955 UINT64_C(696254464), // STPWpre
5956 UINT64_C(2835349504), // STPXi
5957 UINT64_C(2826960896), // STPXpost
5958 UINT64_C(2843738112), // STPXpre
5959 UINT64_C(939525120), // STRBBpost
5960 UINT64_C(939527168), // STRBBpre
5961 UINT64_C(941639680), // STRBBroW
5962 UINT64_C(941647872), // STRBBroX
5963 UINT64_C(956301312), // STRBBui
5964 UINT64_C(1006633984), // STRBpost
5965 UINT64_C(1006636032), // STRBpre
5966 UINT64_C(1008748544), // STRBroW
5967 UINT64_C(1008756736), // STRBroX
5968 UINT64_C(1023410176), // STRBui
5969 UINT64_C(4227859456), // STRDpost
5970 UINT64_C(4227861504), // STRDpre
5971 UINT64_C(4229974016), // STRDroW
5972 UINT64_C(4229982208), // STRDroX
5973 UINT64_C(4244635648), // STRDui
5974 UINT64_C(2013266944), // STRHHpost
5975 UINT64_C(2013268992), // STRHHpre
5976 UINT64_C(2015381504), // STRHHroW
5977 UINT64_C(2015389696), // STRHHroX
5978 UINT64_C(2030043136), // STRHHui
5979 UINT64_C(2080375808), // STRHpost
5980 UINT64_C(2080377856), // STRHpre
5981 UINT64_C(2082490368), // STRHroW
5982 UINT64_C(2082498560), // STRHroX
5983 UINT64_C(2097152000), // STRHui
5984 UINT64_C(1015022592), // STRQpost
5985 UINT64_C(1015024640), // STRQpre
5986 UINT64_C(1017137152), // STRQroW
5987 UINT64_C(1017145344), // STRQroX
5988 UINT64_C(1031798784), // STRQui
5989 UINT64_C(3154117632), // STRSpost
5990 UINT64_C(3154119680), // STRSpre
5991 UINT64_C(3156232192), // STRSroW
5992 UINT64_C(3156240384), // STRSroX
5993 UINT64_C(3170893824), // STRSui
5994 UINT64_C(3087008768), // STRWpost
5995 UINT64_C(3087010816), // STRWpre
5996 UINT64_C(3089123328), // STRWroW
5997 UINT64_C(3089131520), // STRWroX
5998 UINT64_C(3103784960), // STRWui
5999 UINT64_C(4160750592), // STRXpost
6000 UINT64_C(4160752640), // STRXpre
6001 UINT64_C(4162865152), // STRXroW
6002 UINT64_C(4162873344), // STRXroX
6003 UINT64_C(4177526784), // STRXui
6004 UINT64_C(3850371072), // STR_PXI
6005 UINT64_C(3779035136), // STR_TX
6006 UINT64_C(3776970752), // STR_ZA
6007 UINT64_C(3850387456), // STR_ZXI
6008 UINT64_C(3573650975), // STSHH
6009 UINT64_C(3959422976), // STTNPQi
6010 UINT64_C(3892314112), // STTNPXi
6011 UINT64_C(3976200192), // STTPQi
6012 UINT64_C(3967811584), // STTPQpost
6013 UINT64_C(3984588800), // STTPQpre
6014 UINT64_C(3909091328), // STTPi
6015 UINT64_C(3900702720), // STTPpost
6016 UINT64_C(3917479936), // STTPpre
6017 UINT64_C(939526144), // STTRBi
6018 UINT64_C(2013267968), // STTRHi
6019 UINT64_C(3087009792), // STTRWi
6020 UINT64_C(4160751616), // STTRXi
6021 UINT64_C(2298510336), // STTXRWr
6022 UINT64_C(3372252160), // STTXRXr
6023 UINT64_C(939524096), // STURBBi
6024 UINT64_C(1006632960), // STURBi
6025 UINT64_C(4227858432), // STURDi
6026 UINT64_C(2013265920), // STURHHi
6027 UINT64_C(2080374784), // STURHi
6028 UINT64_C(1015021568), // STURQi
6029 UINT64_C(3154116608), // STURSi
6030 UINT64_C(3087007744), // STURWi
6031 UINT64_C(4160749568), // STURXi
6032 UINT64_C(2283798528), // STXPW
6033 UINT64_C(3357540352), // STXPX
6034 UINT64_C(134217728), // STXRB
6035 UINT64_C(1207959552), // STXRH
6036 UINT64_C(2281701376), // STXRW
6037 UINT64_C(3355443200), // STXRX
6038 UINT64_C(3655336960), // STZ2GPostIndex
6039 UINT64_C(3655339008), // STZ2GPreIndex
6040 UINT64_C(3655337984), // STZ2Gi
6041 UINT64_C(3642753024), // STZGM
6042 UINT64_C(3646948352), // STZGPostIndex
6043 UINT64_C(3646950400), // STZGPreIndex
6044 UINT64_C(3646949376), // STZGi
6045 UINT64_C(3514826752), // SUBG
6046 UINT64_C(1163948032), // SUBHNB_ZZZ_B
6047 UINT64_C(1168142336), // SUBHNB_ZZZ_H
6048 UINT64_C(1172336640), // SUBHNB_ZZZ_S
6049 UINT64_C(1163949056), // SUBHNT_ZZZ_B
6050 UINT64_C(1168143360), // SUBHNT_ZZZ_H
6051 UINT64_C(1172337664), // SUBHNT_ZZZ_S
6052 UINT64_C(245391360), // SUBHNv2i64_v2i32
6053 UINT64_C(1319133184), // SUBHNv2i64_v4i32
6054 UINT64_C(241197056), // SUBHNv4i32_v4i16
6055 UINT64_C(1314938880), // SUBHNv4i32_v8i16
6056 UINT64_C(1310744576), // SUBHNv8i16_v16i8
6057 UINT64_C(237002752), // SUBHNv8i16_v8i8
6058 UINT64_C(2596274176), // SUBP
6059 UINT64_C(3133145088), // SUBPS
6060 UINT64_C(3657441280), // SUBPT_shift
6061 UINT64_C(1141940224), // SUBP_ZPmZZ_B
6062 UINT64_C(1154523136), // SUBP_ZPmZZ_D
6063 UINT64_C(1146134528), // SUBP_ZPmZZ_H
6064 UINT64_C(1150328832), // SUBP_ZPmZZ_S
6065 UINT64_C(623099904), // SUBR_ZI_B
6066 UINT64_C(635682816), // SUBR_ZI_D
6067 UINT64_C(627294208), // SUBR_ZI_H
6068 UINT64_C(631488512), // SUBR_ZI_S
6069 UINT64_C(67305472), // SUBR_ZPmZ_B
6070 UINT64_C(79888384), // SUBR_ZPmZ_D
6071 UINT64_C(71499776), // SUBR_ZPmZ_H
6072 UINT64_C(75694080), // SUBR_ZPmZ_S
6073 UINT64_C(1895825408), // SUBSWri
6074 UINT64_C(1795162112), // SUBSWrs
6075 UINT64_C(1797259264), // SUBSWrx
6076 UINT64_C(4043309056), // SUBSXri
6077 UINT64_C(3942645760), // SUBSXrs
6078 UINT64_C(3944742912), // SUBSXrx
6079 UINT64_C(3944767488), // SUBSXrx64
6080 UINT64_C(1358954496), // SUBWri
6081 UINT64_C(1258291200), // SUBWrs
6082 UINT64_C(1260388352), // SUBWrx
6083 UINT64_C(3506438144), // SUBXri
6084 UINT64_C(3405774848), // SUBXrs
6085 UINT64_C(3407872000), // SUBXrx
6086 UINT64_C(3407896576), // SUBXrx64
6087 UINT64_C(3252688920), // SUB_VG2_M2Z2Z_D
6088 UINT64_C(3248494616), // SUB_VG2_M2Z2Z_S
6089 UINT64_C(3244300312), // SUB_VG2_M2ZZ_D
6090 UINT64_C(3240106008), // SUB_VG2_M2ZZ_S
6091 UINT64_C(3252689944), // SUB_VG2_M2Z_D
6092 UINT64_C(3248495640), // SUB_VG2_M2Z_S
6093 UINT64_C(3252754456), // SUB_VG4_M4Z4Z_D
6094 UINT64_C(3248560152), // SUB_VG4_M4Z4Z_S
6095 UINT64_C(3245348888), // SUB_VG4_M4ZZ_D
6096 UINT64_C(3241154584), // SUB_VG4_M4ZZ_S
6097 UINT64_C(3252755480), // SUB_VG4_M4Z_D
6098 UINT64_C(3248561176), // SUB_VG4_M4Z_S
6099 UINT64_C(622968832), // SUB_ZI_B
6100 UINT64_C(635551744), // SUB_ZI_D
6101 UINT64_C(627163136), // SUB_ZI_H
6102 UINT64_C(631357440), // SUB_ZI_S
6103 UINT64_C(67174400), // SUB_ZPmZ_B
6104 UINT64_C(80019456), // SUB_ZPmZ_CPA
6105 UINT64_C(79757312), // SUB_ZPmZ_D
6106 UINT64_C(71368704), // SUB_ZPmZ_H
6107 UINT64_C(75563008), // SUB_ZPmZ_S
6108 UINT64_C(69207040), // SUB_ZZZ_B
6109 UINT64_C(81792000), // SUB_ZZZ_CPA
6110 UINT64_C(81789952), // SUB_ZZZ_D
6111 UINT64_C(73401344), // SUB_ZZZ_H
6112 UINT64_C(77595648), // SUB_ZZZ_S
6113 UINT64_C(1847624704), // SUBv16i8
6114 UINT64_C(2128643072), // SUBv1i64
6115 UINT64_C(782271488), // SUBv2i32
6116 UINT64_C(1860207616), // SUBv2i64
6117 UINT64_C(778077184), // SUBv4i16
6118 UINT64_C(1856013312), // SUBv4i32
6119 UINT64_C(1851819008), // SUBv8i16
6120 UINT64_C(773882880), // SUBv8i8
6121 UINT64_C(3243249720), // SUDOT_VG2_M2ZZI_BToS
6122 UINT64_C(3240104984), // SUDOT_VG2_M2ZZ_BToS
6123 UINT64_C(3243282488), // SUDOT_VG4_M4ZZI_BToS
6124 UINT64_C(3241153560), // SUDOT_VG4_M4ZZ_BToS
6125 UINT64_C(1151343616), // SUDOT_ZZZI
6126 UINT64_C(1325461504), // SUDOTlanev16i8
6127 UINT64_C(251719680), // SUDOTlanev8i8
6128 UINT64_C(3238002708), // SUMLALL_MZZI_BtoS
6129 UINT64_C(3239051312), // SUMLALL_VG2_M2ZZI_BtoS
6130 UINT64_C(3240099860), // SUMLALL_VG2_M2ZZ_BtoS
6131 UINT64_C(3239084080), // SUMLALL_VG4_M4ZZI_BtoS
6132 UINT64_C(3241148436), // SUMLALL_VG4_M4ZZ_BtoS
6133 UINT64_C(2150662656), // SUMOP4A_M2Z2Z_BToS
6134 UINT64_C(2700083720), // SUMOP4A_M2Z2Z_HtoD
6135 UINT64_C(2149614080), // SUMOP4A_M2ZZ_BToS
6136 UINT64_C(2699035144), // SUMOP4A_M2ZZ_HtoD
6137 UINT64_C(2150662144), // SUMOP4A_MZ2Z_BToS
6138 UINT64_C(2700083208), // SUMOP4A_MZ2Z_HtoD
6139 UINT64_C(2149613568), // SUMOP4A_MZZ_BToS
6140 UINT64_C(2699034632), // SUMOP4A_MZZ_HtoD
6141 UINT64_C(2150662672), // SUMOP4S_M2Z2Z_BToS
6142 UINT64_C(2700083736), // SUMOP4S_M2Z2Z_HtoD
6143 UINT64_C(2149614096), // SUMOP4S_M2ZZ_BToS
6144 UINT64_C(2699035160), // SUMOP4S_M2ZZ_HtoD
6145 UINT64_C(2150662160), // SUMOP4S_MZ2Z_BToS
6146 UINT64_C(2700083224), // SUMOP4S_MZ2Z_HtoD
6147 UINT64_C(2149613584), // SUMOP4S_MZZ_BToS
6148 UINT64_C(2699034648), // SUMOP4S_MZZ_HtoD
6149 UINT64_C(2699034624), // SUMOPA_MPPZZ_D
6150 UINT64_C(2694840320), // SUMOPA_MPPZZ_S
6151 UINT64_C(2699034640), // SUMOPS_MPPZZ_D
6152 UINT64_C(2694840336), // SUMOPS_MPPZZ_S
6153 UINT64_C(99694592), // SUNPKHI_ZZ_D
6154 UINT64_C(91305984), // SUNPKHI_ZZ_H
6155 UINT64_C(95500288), // SUNPKHI_ZZ_S
6156 UINT64_C(99629056), // SUNPKLO_ZZ_D
6157 UINT64_C(91240448), // SUNPKLO_ZZ_H
6158 UINT64_C(95434752), // SUNPKLO_ZZ_S
6159 UINT64_C(3253067776), // SUNPK_VG2_2ZZ_D
6160 UINT64_C(3244679168), // SUNPK_VG2_2ZZ_H
6161 UINT64_C(3248873472), // SUNPK_VG2_2ZZ_S
6162 UINT64_C(3254116352), // SUNPK_VG4_4Z2Z_D
6163 UINT64_C(3245727744), // SUNPK_VG4_4Z2Z_H
6164 UINT64_C(3249922048), // SUNPK_VG4_4Z2Z_S
6165 UINT64_C(1142718464), // SUQADD_ZPmZ_B
6166 UINT64_C(1155301376), // SUQADD_ZPmZ_D
6167 UINT64_C(1146912768), // SUQADD_ZPmZ_H
6168 UINT64_C(1151107072), // SUQADD_ZPmZ_S
6169 UINT64_C(1310734336), // SUQADDv16i8
6170 UINT64_C(1583364096), // SUQADDv1i16
6171 UINT64_C(1587558400), // SUQADDv1i32
6172 UINT64_C(1591752704), // SUQADDv1i64
6173 UINT64_C(1579169792), // SUQADDv1i8
6174 UINT64_C(245381120), // SUQADDv2i32
6175 UINT64_C(1323317248), // SUQADDv2i64
6176 UINT64_C(241186816), // SUQADDv4i16
6177 UINT64_C(1319122944), // SUQADDv4i32
6178 UINT64_C(1314928640), // SUQADDv8i16
6179 UINT64_C(236992512), // SUQADDv8i8
6180 UINT64_C(2153807872), // SUTMOPA_M2ZZZI_BtoS
6181 UINT64_C(3243278392), // SUVDOT_VG4_M4ZZI_BToS
6182 UINT64_C(3556769793), // SVC
6183 UINT64_C(3243245600), // SVDOT_VG2_M2ZZI_HtoS
6184 UINT64_C(3243278368), // SVDOT_VG4_M4ZZI_BtoS
6185 UINT64_C(3251669000), // SVDOT_VG4_M4ZZI_HtoD
6186 UINT64_C(950042624), // SWPAB
6187 UINT64_C(2023784448), // SWPAH
6188 UINT64_C(954236928), // SWPALB
6189 UINT64_C(2027978752), // SWPALH
6190 UINT64_C(3101720576), // SWPALW
6191 UINT64_C(4175462400), // SWPALX
6192 UINT64_C(3097526272), // SWPAW
6193 UINT64_C(4171268096), // SWPAX
6194 UINT64_C(941654016), // SWPB
6195 UINT64_C(2015395840), // SWPH
6196 UINT64_C(945848320), // SWPLB
6197 UINT64_C(2019590144), // SWPLH
6198 UINT64_C(3093331968), // SWPLW
6199 UINT64_C(4167073792), // SWPLX
6200 UINT64_C(421560320), // SWPP
6201 UINT64_C(429948928), // SWPPA
6202 UINT64_C(434143232), // SWPPAL
6203 UINT64_C(425754624), // SWPPL
6204 UINT64_C(434144256), // SWPTALW
6205 UINT64_C(1507886080), // SWPTALX
6206 UINT64_C(429949952), // SWPTAW
6207 UINT64_C(1503691776), // SWPTAX
6208 UINT64_C(425755648), // SWPTLW
6209 UINT64_C(1499497472), // SWPTLX
6210 UINT64_C(421561344), // SWPTW
6211 UINT64_C(1495303168), // SWPTX
6212 UINT64_C(3089137664), // SWPW
6213 UINT64_C(4162879488), // SWPX
6214 UINT64_C(80781312), // SXTB_ZPmZ_D
6215 UINT64_C(72392704), // SXTB_ZPmZ_H
6216 UINT64_C(76587008), // SXTB_ZPmZ_S
6217 UINT64_C(79732736), // SXTB_ZPzZ_D
6218 UINT64_C(71344128), // SXTB_ZPzZ_H
6219 UINT64_C(75538432), // SXTB_ZPzZ_S
6220 UINT64_C(80912384), // SXTH_ZPmZ_D
6221 UINT64_C(76718080), // SXTH_ZPmZ_S
6222 UINT64_C(79863808), // SXTH_ZPzZ_D
6223 UINT64_C(75669504), // SXTH_ZPzZ_S
6224 UINT64_C(81043456), // SXTW_ZPmZ_D
6225 UINT64_C(79994880), // SXTW_ZPzZ_D
6226 UINT64_C(3576168448), // SYSLxt
6227 UINT64_C(3578265600), // SYSPxt
6228 UINT64_C(3578265631), // SYSPxt_XZR
6229 UINT64_C(3574071296), // SYSxt
6230 UINT64_C(1140914176), // TBLQ_ZZZ_B
6231 UINT64_C(1153497088), // TBLQ_ZZZ_D
6232 UINT64_C(1145108480), // TBLQ_ZZZ_H
6233 UINT64_C(1149302784), // TBLQ_ZZZ_S
6234 UINT64_C(85993472), // TBL_ZZZZ_B
6235 UINT64_C(98576384), // TBL_ZZZZ_D
6236 UINT64_C(90187776), // TBL_ZZZZ_H
6237 UINT64_C(94382080), // TBL_ZZZZ_S
6238 UINT64_C(85995520), // TBL_ZZZ_B
6239 UINT64_C(98578432), // TBL_ZZZ_D
6240 UINT64_C(90189824), // TBL_ZZZ_H
6241 UINT64_C(94384128), // TBL_ZZZ_S
6242 UINT64_C(1308647424), // TBLv16i8Four
6243 UINT64_C(1308622848), // TBLv16i8One
6244 UINT64_C(1308639232), // TBLv16i8Three
6245 UINT64_C(1308631040), // TBLv16i8Two
6246 UINT64_C(234905600), // TBLv8i8Four
6247 UINT64_C(234881024), // TBLv8i8One
6248 UINT64_C(234897408), // TBLv8i8Three
6249 UINT64_C(234889216), // TBLv8i8Two
6250 UINT64_C(922746880), // TBNZW
6251 UINT64_C(3070230528), // TBNZX
6252 UINT64_C(85996544), // TBXQ_ZZZ_B
6253 UINT64_C(98579456), // TBXQ_ZZZ_D
6254 UINT64_C(90190848), // TBXQ_ZZZ_H
6255 UINT64_C(94385152), // TBXQ_ZZZ_S
6256 UINT64_C(85994496), // TBX_ZZZ_B
6257 UINT64_C(98577408), // TBX_ZZZ_D
6258 UINT64_C(90188800), // TBX_ZZZ_H
6259 UINT64_C(94383104), // TBX_ZZZ_S
6260 UINT64_C(1308651520), // TBXv16i8Four
6261 UINT64_C(1308626944), // TBXv16i8One
6262 UINT64_C(1308643328), // TBXv16i8Three
6263 UINT64_C(1308635136), // TBXv16i8Two
6264 UINT64_C(234909696), // TBXv8i8Four
6265 UINT64_C(234885120), // TBXv8i8One
6266 UINT64_C(234901504), // TBXv8i8Three
6267 UINT64_C(234893312), // TBXv8i8Two
6268 UINT64_C(905969664), // TBZW
6269 UINT64_C(3053453312), // TBZX
6270 UINT64_C(3583246336), // TCHANGEBri
6271 UINT64_C(3582197760), // TCHANGEBrr
6272 UINT64_C(3582984192), // TCHANGEFri
6273 UINT64_C(3581935616), // TCHANGEFrr
6274 UINT64_C(3571449856), // TENTER
6275 UINT64_C(3607036896), // TEXIT
6276 UINT64_C(3574297312), // TRCIT
6277 UINT64_C(86003712), // TRN1_PPP_B
6278 UINT64_C(98586624), // TRN1_PPP_D
6279 UINT64_C(90198016), // TRN1_PPP_H
6280 UINT64_C(94392320), // TRN1_PPP_S
6281 UINT64_C(86011904), // TRN1_ZZZ_B
6282 UINT64_C(98594816), // TRN1_ZZZ_D
6283 UINT64_C(90206208), // TRN1_ZZZ_H
6284 UINT64_C(94377984), // TRN1_ZZZ_Q
6285 UINT64_C(94400512), // TRN1_ZZZ_S
6286 UINT64_C(1308633088), // TRN1v16i8
6287 UINT64_C(243279872), // TRN1v2i32
6288 UINT64_C(1321216000), // TRN1v2i64
6289 UINT64_C(239085568), // TRN1v4i16
6290 UINT64_C(1317021696), // TRN1v4i32
6291 UINT64_C(1312827392), // TRN1v8i16
6292 UINT64_C(234891264), // TRN1v8i8
6293 UINT64_C(86004736), // TRN2_PPP_B
6294 UINT64_C(98587648), // TRN2_PPP_D
6295 UINT64_C(90199040), // TRN2_PPP_H
6296 UINT64_C(94393344), // TRN2_PPP_S
6297 UINT64_C(86012928), // TRN2_ZZZ_B
6298 UINT64_C(98595840), // TRN2_ZZZ_D
6299 UINT64_C(90207232), // TRN2_ZZZ_H
6300 UINT64_C(94379008), // TRN2_ZZZ_Q
6301 UINT64_C(94401536), // TRN2_ZZZ_S
6302 UINT64_C(1308649472), // TRN2v16i8
6303 UINT64_C(243296256), // TRN2v2i32
6304 UINT64_C(1321232384), // TRN2v2i64
6305 UINT64_C(239101952), // TRN2v4i16
6306 UINT64_C(1317038080), // TRN2v4i32
6307 UINT64_C(1312843776), // TRN2v8i16
6308 UINT64_C(234907648), // TRN2v8i8
6309 UINT64_C(3573752415), // TSB
6310 UINT64_C(1170262016), // UABALB_ZZZ_D
6311 UINT64_C(1161873408), // UABALB_ZZZ_H
6312 UINT64_C(1166067712), // UABALB_ZZZ_S
6313 UINT64_C(1170263040), // UABALT_ZZZ_D
6314 UINT64_C(1161874432), // UABALT_ZZZ_H
6315 UINT64_C(1166068736), // UABALT_ZZZ_S
6316 UINT64_C(1145101312), // UABAL_ZZZ_BtoH
6317 UINT64_C(1149295616), // UABAL_ZZZ_HtoS
6318 UINT64_C(1153489920), // UABAL_ZZZ_StoD
6319 UINT64_C(1847611392), // UABALv16i8_v8i16
6320 UINT64_C(782258176), // UABALv2i32_v2i64
6321 UINT64_C(778063872), // UABALv4i16_v4i32
6322 UINT64_C(1856000000), // UABALv4i32_v2i64
6323 UINT64_C(1851805696), // UABALv8i16_v4i32
6324 UINT64_C(773869568), // UABALv8i8_v8i16
6325 UINT64_C(1157692416), // UABA_ZZZ_B
6326 UINT64_C(1170275328), // UABA_ZZZ_D
6327 UINT64_C(1161886720), // UABA_ZZZ_H
6328 UINT64_C(1166081024), // UABA_ZZZ_S
6329 UINT64_C(1847622656), // UABAv16i8
6330 UINT64_C(782269440), // UABAv2i32
6331 UINT64_C(778075136), // UABAv4i16
6332 UINT64_C(1856011264), // UABAv4i32
6333 UINT64_C(1851816960), // UABAv8i16
6334 UINT64_C(773880832), // UABAv8i8
6335 UINT64_C(1170225152), // UABDLB_ZZZ_D
6336 UINT64_C(1161836544), // UABDLB_ZZZ_H
6337 UINT64_C(1166030848), // UABDLB_ZZZ_S
6338 UINT64_C(1170226176), // UABDLT_ZZZ_D
6339 UINT64_C(1161837568), // UABDLT_ZZZ_H
6340 UINT64_C(1166031872), // UABDLT_ZZZ_S
6341 UINT64_C(1847619584), // UABDLv16i8_v8i16
6342 UINT64_C(782266368), // UABDLv2i32_v2i64
6343 UINT64_C(778072064), // UABDLv4i16_v4i32
6344 UINT64_C(1856008192), // UABDLv4i32_v2i64
6345 UINT64_C(1851813888), // UABDLv8i16_v4i32
6346 UINT64_C(773877760), // UABDLv8i8_v8i16
6347 UINT64_C(67960832), // UABD_ZPmZ_B
6348 UINT64_C(80543744), // UABD_ZPmZ_D
6349 UINT64_C(72155136), // UABD_ZPmZ_H
6350 UINT64_C(76349440), // UABD_ZPmZ_S
6351 UINT64_C(1847620608), // UABDv16i8
6352 UINT64_C(782267392), // UABDv2i32
6353 UINT64_C(778073088), // UABDv4i16
6354 UINT64_C(1856009216), // UABDv4i32
6355 UINT64_C(1851814912), // UABDv8i16
6356 UINT64_C(773878784), // UABDv8i8
6357 UINT64_C(1153802240), // UADALP_ZPmZ_D
6358 UINT64_C(1145413632), // UADALP_ZPmZ_H
6359 UINT64_C(1149607936), // UADALP_ZPmZ_S
6360 UINT64_C(1847617536), // UADALPv16i8_v8i16
6361 UINT64_C(782264320), // UADALPv2i32_v1i64
6362 UINT64_C(778070016), // UADALPv4i16_v2i32
6363 UINT64_C(1856006144), // UADALPv4i32_v2i64
6364 UINT64_C(1851811840), // UADALPv8i16_v4i32
6365 UINT64_C(773875712), // UADALPv8i8_v4i16
6366 UINT64_C(1170212864), // UADDLB_ZZZ_D
6367 UINT64_C(1161824256), // UADDLB_ZZZ_H
6368 UINT64_C(1166018560), // UADDLB_ZZZ_S
6369 UINT64_C(1847601152), // UADDLPv16i8_v8i16
6370 UINT64_C(782247936), // UADDLPv2i32_v1i64
6371 UINT64_C(778053632), // UADDLPv4i16_v2i32
6372 UINT64_C(1855989760), // UADDLPv4i32_v2i64
6373 UINT64_C(1851795456), // UADDLPv8i16_v4i32
6374 UINT64_C(773859328), // UADDLPv8i8_v4i16
6375 UINT64_C(1170213888), // UADDLT_ZZZ_D
6376 UINT64_C(1161825280), // UADDLT_ZZZ_H
6377 UINT64_C(1166019584), // UADDLT_ZZZ_S
6378 UINT64_C(1848653824), // UADDLVv16i8v
6379 UINT64_C(779106304), // UADDLVv4i16v
6380 UINT64_C(1857042432), // UADDLVv4i32v
6381 UINT64_C(1852848128), // UADDLVv8i16v
6382 UINT64_C(774912000), // UADDLVv8i8v
6383 UINT64_C(1847590912), // UADDLv16i8_v8i16
6384 UINT64_C(782237696), // UADDLv2i32_v2i64
6385 UINT64_C(778043392), // UADDLv4i16_v4i32
6386 UINT64_C(1855979520), // UADDLv4i32_v2i64
6387 UINT64_C(1851785216), // UADDLv8i16_v4i32
6388 UINT64_C(773849088), // UADDLv8i8_v8i16
6389 UINT64_C(67182592), // UADDV_VPZ_B
6390 UINT64_C(79765504), // UADDV_VPZ_D
6391 UINT64_C(71376896), // UADDV_VPZ_H
6392 UINT64_C(75571200), // UADDV_VPZ_S
6393 UINT64_C(1170229248), // UADDWB_ZZZ_D
6394 UINT64_C(1161840640), // UADDWB_ZZZ_H
6395 UINT64_C(1166034944), // UADDWB_ZZZ_S
6396 UINT64_C(1170230272), // UADDWT_ZZZ_D
6397 UINT64_C(1161841664), // UADDWT_ZZZ_H
6398 UINT64_C(1166035968), // UADDWT_ZZZ_S
6399 UINT64_C(1847595008), // UADDWv16i8_v8i16
6400 UINT64_C(782241792), // UADDWv2i32_v2i64
6401 UINT64_C(778047488), // UADDWv4i16_v4i32
6402 UINT64_C(1855983616), // UADDWv4i32_v2i64
6403 UINT64_C(1851789312), // UADDWv8i16_v4i32
6404 UINT64_C(773853184), // UADDWv8i8_v8i16
6405 UINT64_C(1392508928), // UBFMWri
6406 UINT64_C(3544186880), // UBFMXri
6407 UINT64_C(3240150017), // UCLAMP_VG2_2Z2Z_B
6408 UINT64_C(3252732929), // UCLAMP_VG2_2Z2Z_D
6409 UINT64_C(3244344321), // UCLAMP_VG2_2Z2Z_H
6410 UINT64_C(3248538625), // UCLAMP_VG2_2Z2Z_S
6411 UINT64_C(3240152065), // UCLAMP_VG4_4Z4Z_B
6412 UINT64_C(3252734977), // UCLAMP_VG4_4Z4Z_D
6413 UINT64_C(3244346369), // UCLAMP_VG4_4Z4Z_H
6414 UINT64_C(3248540673), // UCLAMP_VG4_4Z4Z_S
6415 UINT64_C(1140900864), // UCLAMP_ZZZ_B
6416 UINT64_C(1153483776), // UCLAMP_ZZZ_D
6417 UINT64_C(1145095168), // UCLAMP_ZZZ_H
6418 UINT64_C(1149289472), // UCLAMP_ZZZ_S
6419 UINT64_C(511508480), // UCVTFDSr
6420 UINT64_C(2667380736), // UCVTFHDr
6421 UINT64_C(519897088), // UCVTFHSr
6422 UINT64_C(1699494912), // UCVTFLT_ZZ_BtoH
6423 UINT64_C(1703689216), // UCVTFLT_ZZ_HtoS
6424 UINT64_C(1707883520), // UCVTFLT_ZZ_StoD
6425 UINT64_C(2654797824), // UCVTFSDr
6426 UINT64_C(507740160), // UCVTFSWDri
6427 UINT64_C(516128768), // UCVTFSWHri
6428 UINT64_C(503545856), // UCVTFSWSri
6429 UINT64_C(2655191040), // UCVTFSXDri
6430 UINT64_C(2663579648), // UCVTFSXHri
6431 UINT64_C(2650996736), // UCVTFSXSri
6432 UINT64_C(509804544), // UCVTFUWDri
6433 UINT64_C(518193152), // UCVTFUWHri
6434 UINT64_C(505610240), // UCVTFUWSri
6435 UINT64_C(2657288192), // UCVTFUXDri
6436 UINT64_C(2665676800), // UCVTFUXHri
6437 UINT64_C(2653093888), // UCVTFUXSri
6438 UINT64_C(3240288288), // UCVTF_2Z2Z_StoS
6439 UINT64_C(3241336864), // UCVTF_4Z4Z_StoS
6440 UINT64_C(1708630016), // UCVTF_ZPmZ_DtoD
6441 UINT64_C(1700241408), // UCVTF_ZPmZ_DtoH
6442 UINT64_C(1708498944), // UCVTF_ZPmZ_DtoS
6443 UINT64_C(1699979264), // UCVTF_ZPmZ_HtoH
6444 UINT64_C(1708236800), // UCVTF_ZPmZ_StoD
6445 UINT64_C(1700110336), // UCVTF_ZPmZ_StoH
6446 UINT64_C(1704304640), // UCVTF_ZPmZ_StoS
6447 UINT64_C(1692262400), // UCVTF_ZPzZ_DtoD
6448 UINT64_C(1683873792), // UCVTF_ZPzZ_DtoH
6449 UINT64_C(1692246016), // UCVTF_ZPzZ_DtoS
6450 UINT64_C(1683808256), // UCVTF_ZPzZ_HtoH
6451 UINT64_C(1692180480), // UCVTF_ZPzZ_StoD
6452 UINT64_C(1683857408), // UCVTF_ZPzZ_StoH
6453 UINT64_C(1688051712), // UCVTF_ZPzZ_StoS
6454 UINT64_C(1699492864), // UCVTF_ZZ_BtoH
6455 UINT64_C(1703687168), // UCVTF_ZZ_HtoS
6456 UINT64_C(1707881472), // UCVTF_ZZ_StoD
6457 UINT64_C(2134959104), // UCVTFd
6458 UINT64_C(2131813376), // UCVTFh
6459 UINT64_C(2132861952), // UCVTFs
6460 UINT64_C(2121914368), // UCVTFv1i16
6461 UINT64_C(2116147200), // UCVTFv1i32
6462 UINT64_C(2120341504), // UCVTFv1i64
6463 UINT64_C(773969920), // UCVTFv2f32
6464 UINT64_C(1851906048), // UCVTFv2f64
6465 UINT64_C(790684672), // UCVTFv2i32_shift
6466 UINT64_C(1866523648), // UCVTFv2i64_shift
6467 UINT64_C(779737088), // UCVTFv4f16
6468 UINT64_C(1847711744), // UCVTFv4f32
6469 UINT64_C(789636096), // UCVTFv4i16_shift
6470 UINT64_C(1864426496), // UCVTFv4i32_shift
6471 UINT64_C(1853478912), // UCVTFv8f16
6472 UINT64_C(1863377920), // UCVTFv8i16_shift
6473 UINT64_C(0), // UDF
6474 UINT64_C(81199104), // UDIVR_ZPmZ_D
6475 UINT64_C(77004800), // UDIVR_ZPmZ_S
6476 UINT64_C(448792576), // UDIVWr
6477 UINT64_C(2596276224), // UDIVXr
6478 UINT64_C(81068032), // UDIV_ZPmZ_D
6479 UINT64_C(76873728), // UDIV_ZPmZ_S
6480 UINT64_C(3248493584), // UDOT_VG2_M2Z2Z_BtoS
6481 UINT64_C(3252687888), // UDOT_VG2_M2Z2Z_HtoD
6482 UINT64_C(3252687896), // UDOT_VG2_M2Z2Z_HtoS
6483 UINT64_C(3243249712), // UDOT_VG2_M2ZZI_BToS
6484 UINT64_C(3243249680), // UDOT_VG2_M2ZZI_HToS
6485 UINT64_C(3251634200), // UDOT_VG2_M2ZZI_HtoD
6486 UINT64_C(3240104976), // UDOT_VG2_M2ZZ_BtoS
6487 UINT64_C(3244299280), // UDOT_VG2_M2ZZ_HtoD
6488 UINT64_C(3244299288), // UDOT_VG2_M2ZZ_HtoS
6489 UINT64_C(3248559120), // UDOT_VG4_M4Z4Z_BtoS
6490 UINT64_C(3252753424), // UDOT_VG4_M4Z4Z_HtoD
6491 UINT64_C(3252753432), // UDOT_VG4_M4Z4Z_HtoS
6492 UINT64_C(3243282480), // UDOT_VG4_M4ZZI_BtoS
6493 UINT64_C(3243282448), // UDOT_VG4_M4ZZI_HToS
6494 UINT64_C(3251666968), // UDOT_VG4_M4ZZI_HtoD
6495 UINT64_C(3241153552), // UDOT_VG4_M4ZZ_BtoS
6496 UINT64_C(3245347856), // UDOT_VG4_M4ZZ_HtoD
6497 UINT64_C(3245347864), // UDOT_VG4_M4ZZ_HtoS
6498 UINT64_C(1142948864), // UDOT_ZZZI_BtoH
6499 UINT64_C(1151337472), // UDOT_ZZZI_BtoS
6500 UINT64_C(1155531776), // UDOT_ZZZI_HtoD
6501 UINT64_C(1149291520), // UDOT_ZZZI_HtoS
6502 UINT64_C(1145046016), // UDOT_ZZZ_BtoH
6503 UINT64_C(1149240320), // UDOT_ZZZ_BtoS
6504 UINT64_C(1153434624), // UDOT_ZZZ_HtoD
6505 UINT64_C(1140902912), // UDOT_ZZZ_HtoS
6506 UINT64_C(1870716928), // UDOTlanev16i8
6507 UINT64_C(796975104), // UDOTlanev8i8
6508 UINT64_C(1853920256), // UDOTv16i8
6509 UINT64_C(780178432), // UDOTv8i8
6510 UINT64_C(1141997568), // UHADD_ZPmZ_B
6511 UINT64_C(1154580480), // UHADD_ZPmZ_D
6512 UINT64_C(1146191872), // UHADD_ZPmZ_H
6513 UINT64_C(1150386176), // UHADD_ZPmZ_S
6514 UINT64_C(1847591936), // UHADDv16i8
6515 UINT64_C(782238720), // UHADDv2i32
6516 UINT64_C(778044416), // UHADDv4i16
6517 UINT64_C(1855980544), // UHADDv4i32
6518 UINT64_C(1851786240), // UHADDv8i16
6519 UINT64_C(773850112), // UHADDv8i8
6520 UINT64_C(1142390784), // UHSUBR_ZPmZ_B
6521 UINT64_C(1154973696), // UHSUBR_ZPmZ_D
6522 UINT64_C(1146585088), // UHSUBR_ZPmZ_H
6523 UINT64_C(1150779392), // UHSUBR_ZPmZ_S
6524 UINT64_C(1142128640), // UHSUB_ZPmZ_B
6525 UINT64_C(1154711552), // UHSUB_ZPmZ_D
6526 UINT64_C(1146322944), // UHSUB_ZPmZ_H
6527 UINT64_C(1150517248), // UHSUB_ZPmZ_S
6528 UINT64_C(1847600128), // UHSUBv16i8
6529 UINT64_C(782246912), // UHSUBv2i32
6530 UINT64_C(778052608), // UHSUBv4i16
6531 UINT64_C(1855988736), // UHSUBv4i32
6532 UINT64_C(1851794432), // UHSUBv8i16
6533 UINT64_C(773858304), // UHSUBv8i8
6534 UINT64_C(2610954240), // UMADDLrrr
6535 UINT64_C(1142267904), // UMAXP_ZPmZ_B
6536 UINT64_C(1154850816), // UMAXP_ZPmZ_D
6537 UINT64_C(1146462208), // UMAXP_ZPmZ_H
6538 UINT64_C(1150656512), // UMAXP_ZPmZ_S
6539 UINT64_C(1847632896), // UMAXPv16i8
6540 UINT64_C(782279680), // UMAXPv2i32
6541 UINT64_C(778085376), // UMAXPv4i16
6542 UINT64_C(1856021504), // UMAXPv4i32
6543 UINT64_C(1851827200), // UMAXPv8i16
6544 UINT64_C(773891072), // UMAXPv8i8
6545 UINT64_C(67969024), // UMAXQV_VPZ_B
6546 UINT64_C(80551936), // UMAXQV_VPZ_D
6547 UINT64_C(72163328), // UMAXQV_VPZ_H
6548 UINT64_C(76357632), // UMAXQV_VPZ_S
6549 UINT64_C(67706880), // UMAXV_VPZ_B
6550 UINT64_C(80289792), // UMAXV_VPZ_D
6551 UINT64_C(71901184), // UMAXV_VPZ_H
6552 UINT64_C(76095488), // UMAXV_VPZ_S
6553 UINT64_C(1848682496), // UMAXVv16i8v
6554 UINT64_C(779134976), // UMAXVv4i16v
6555 UINT64_C(1857071104), // UMAXVv4i32v
6556 UINT64_C(1852876800), // UMAXVv8i16v
6557 UINT64_C(774940672), // UMAXVv8i8v
6558 UINT64_C(298057728), // UMAXWri
6559 UINT64_C(448816128), // UMAXWrr
6560 UINT64_C(2445541376), // UMAXXri
6561 UINT64_C(2596299776), // UMAXXrr
6562 UINT64_C(3240144897), // UMAX_VG2_2Z2Z_B
6563 UINT64_C(3252727809), // UMAX_VG2_2Z2Z_D
6564 UINT64_C(3244339201), // UMAX_VG2_2Z2Z_H
6565 UINT64_C(3248533505), // UMAX_VG2_2Z2Z_S
6566 UINT64_C(3240140801), // UMAX_VG2_2ZZ_B
6567 UINT64_C(3252723713), // UMAX_VG2_2ZZ_D
6568 UINT64_C(3244335105), // UMAX_VG2_2ZZ_H
6569 UINT64_C(3248529409), // UMAX_VG2_2ZZ_S
6570 UINT64_C(3240146945), // UMAX_VG4_4Z4Z_B
6571 UINT64_C(3252729857), // UMAX_VG4_4Z4Z_D
6572 UINT64_C(3244341249), // UMAX_VG4_4Z4Z_H
6573 UINT64_C(3248535553), // UMAX_VG4_4Z4Z_S
6574 UINT64_C(3240142849), // UMAX_VG4_4ZZ_B
6575 UINT64_C(3252725761), // UMAX_VG4_4ZZ_D
6576 UINT64_C(3244337153), // UMAX_VG4_4ZZ_H
6577 UINT64_C(3248531457), // UMAX_VG4_4ZZ_S
6578 UINT64_C(623493120), // UMAX_ZI_B
6579 UINT64_C(636076032), // UMAX_ZI_D
6580 UINT64_C(627687424), // UMAX_ZI_H
6581 UINT64_C(631881728), // UMAX_ZI_S
6582 UINT64_C(67698688), // UMAX_ZPmZ_B
6583 UINT64_C(80281600), // UMAX_ZPmZ_D
6584 UINT64_C(71892992), // UMAX_ZPmZ_H
6585 UINT64_C(76087296), // UMAX_ZPmZ_S
6586 UINT64_C(1847616512), // UMAXv16i8
6587 UINT64_C(782263296), // UMAXv2i32
6588 UINT64_C(778068992), // UMAXv4i16
6589 UINT64_C(1856005120), // UMAXv4i32
6590 UINT64_C(1851810816), // UMAXv8i16
6591 UINT64_C(773874688), // UMAXv8i8
6592 UINT64_C(1142398976), // UMINP_ZPmZ_B
6593 UINT64_C(1154981888), // UMINP_ZPmZ_D
6594 UINT64_C(1146593280), // UMINP_ZPmZ_H
6595 UINT64_C(1150787584), // UMINP_ZPmZ_S
6596 UINT64_C(1847634944), // UMINPv16i8
6597 UINT64_C(782281728), // UMINPv2i32
6598 UINT64_C(778087424), // UMINPv4i16
6599 UINT64_C(1856023552), // UMINPv4i32
6600 UINT64_C(1851829248), // UMINPv8i16
6601 UINT64_C(773893120), // UMINPv8i8
6602 UINT64_C(68100096), // UMINQV_VPZ_B
6603 UINT64_C(80683008), // UMINQV_VPZ_D
6604 UINT64_C(72294400), // UMINQV_VPZ_H
6605 UINT64_C(76488704), // UMINQV_VPZ_S
6606 UINT64_C(67837952), // UMINV_VPZ_B
6607 UINT64_C(80420864), // UMINV_VPZ_D
6608 UINT64_C(72032256), // UMINV_VPZ_H
6609 UINT64_C(76226560), // UMINV_VPZ_S
6610 UINT64_C(1848748032), // UMINVv16i8v
6611 UINT64_C(779200512), // UMINVv4i16v
6612 UINT64_C(1857136640), // UMINVv4i32v
6613 UINT64_C(1852942336), // UMINVv8i16v
6614 UINT64_C(775006208), // UMINVv8i8v
6615 UINT64_C(298582016), // UMINWri
6616 UINT64_C(448818176), // UMINWrr
6617 UINT64_C(2446065664), // UMINXri
6618 UINT64_C(2596301824), // UMINXrr
6619 UINT64_C(3240144929), // UMIN_VG2_2Z2Z_B
6620 UINT64_C(3252727841), // UMIN_VG2_2Z2Z_D
6621 UINT64_C(3244339233), // UMIN_VG2_2Z2Z_H
6622 UINT64_C(3248533537), // UMIN_VG2_2Z2Z_S
6623 UINT64_C(3240140833), // UMIN_VG2_2ZZ_B
6624 UINT64_C(3252723745), // UMIN_VG2_2ZZ_D
6625 UINT64_C(3244335137), // UMIN_VG2_2ZZ_H
6626 UINT64_C(3248529441), // UMIN_VG2_2ZZ_S
6627 UINT64_C(3240146977), // UMIN_VG4_4Z4Z_B
6628 UINT64_C(3252729889), // UMIN_VG4_4Z4Z_D
6629 UINT64_C(3244341281), // UMIN_VG4_4Z4Z_H
6630 UINT64_C(3248535585), // UMIN_VG4_4Z4Z_S
6631 UINT64_C(3240142881), // UMIN_VG4_4ZZ_B
6632 UINT64_C(3252725793), // UMIN_VG4_4ZZ_D
6633 UINT64_C(3244337185), // UMIN_VG4_4ZZ_H
6634 UINT64_C(3248531489), // UMIN_VG4_4ZZ_S
6635 UINT64_C(623624192), // UMIN_ZI_B
6636 UINT64_C(636207104), // UMIN_ZI_D
6637 UINT64_C(627818496), // UMIN_ZI_H
6638 UINT64_C(632012800), // UMIN_ZI_S
6639 UINT64_C(67829760), // UMIN_ZPmZ_B
6640 UINT64_C(80412672), // UMIN_ZPmZ_D
6641 UINT64_C(72024064), // UMIN_ZPmZ_H
6642 UINT64_C(76218368), // UMIN_ZPmZ_S
6643 UINT64_C(1847618560), // UMINv16i8
6644 UINT64_C(782265344), // UMINv2i32
6645 UINT64_C(778071040), // UMINv4i16
6646 UINT64_C(1856007168), // UMINv4i32
6647 UINT64_C(1851812864), // UMINv8i16
6648 UINT64_C(773876736), // UMINv8i8
6649 UINT64_C(1155567616), // UMLALB_ZZZI_D
6650 UINT64_C(1151373312), // UMLALB_ZZZI_S
6651 UINT64_C(1153452032), // UMLALB_ZZZ_D
6652 UINT64_C(1145063424), // UMLALB_ZZZ_H
6653 UINT64_C(1149257728), // UMLALB_ZZZ_S
6654 UINT64_C(3238002704), // UMLALL_MZZI_BtoS
6655 UINT64_C(3246391312), // UMLALL_MZZI_HtoD
6656 UINT64_C(3240100880), // UMLALL_MZZ_BtoS
6657 UINT64_C(3244295184), // UMLALL_MZZ_HtoD
6658 UINT64_C(3248488464), // UMLALL_VG2_M2Z2Z_BtoS
6659 UINT64_C(3252682768), // UMLALL_VG2_M2Z2Z_HtoD
6660 UINT64_C(3239051280), // UMLALL_VG2_M2ZZI_BtoS
6661 UINT64_C(3247439888), // UMLALL_VG2_M2ZZI_HtoD
6662 UINT64_C(3240099856), // UMLALL_VG2_M2ZZ_BtoS
6663 UINT64_C(3244294160), // UMLALL_VG2_M2ZZ_HtoD
6664 UINT64_C(3248554000), // UMLALL_VG4_M4Z4Z_BtoS
6665 UINT64_C(3252748304), // UMLALL_VG4_M4Z4Z_HtoD
6666 UINT64_C(3239084048), // UMLALL_VG4_M4ZZI_BtoS
6667 UINT64_C(3247472656), // UMLALL_VG4_M4ZZI_HtoD
6668 UINT64_C(3241148432), // UMLALL_VG4_M4ZZ_BtoS
6669 UINT64_C(3245342736), // UMLALL_VG4_M4ZZ_HtoD
6670 UINT64_C(1155568640), // UMLALT_ZZZI_D
6671 UINT64_C(1151374336), // UMLALT_ZZZI_S
6672 UINT64_C(1153453056), // UMLALT_ZZZ_D
6673 UINT64_C(1145064448), // UMLALT_ZZZ_H
6674 UINT64_C(1149258752), // UMLALT_ZZZ_S
6675 UINT64_C(3250589712), // UMLAL_MZZI_HtoS
6676 UINT64_C(3244297232), // UMLAL_MZZ_HtoS
6677 UINT64_C(3252684816), // UMLAL_VG2_M2Z2Z_HtoS
6678 UINT64_C(3251638288), // UMLAL_VG2_M2ZZI_S
6679 UINT64_C(3244296208), // UMLAL_VG2_M2ZZ_HtoS
6680 UINT64_C(3252750352), // UMLAL_VG4_M4Z4Z_HtoS
6681 UINT64_C(3251671056), // UMLAL_VG4_M4ZZI_HtoS
6682 UINT64_C(3245344784), // UMLAL_VG4_M4ZZ_HtoS
6683 UINT64_C(1847623680), // UMLALv16i8_v8i16
6684 UINT64_C(796925952), // UMLALv2i32_indexed
6685 UINT64_C(782270464), // UMLALv2i32_v2i64
6686 UINT64_C(792731648), // UMLALv4i16_indexed
6687 UINT64_C(778076160), // UMLALv4i16_v4i32
6688 UINT64_C(1870667776), // UMLALv4i32_indexed
6689 UINT64_C(1856012288), // UMLALv4i32_v2i64
6690 UINT64_C(1866473472), // UMLALv8i16_indexed
6691 UINT64_C(1851817984), // UMLALv8i16_v4i32
6692 UINT64_C(773881856), // UMLALv8i8_v8i16
6693 UINT64_C(1155575808), // UMLSLB_ZZZI_D
6694 UINT64_C(1151381504), // UMLSLB_ZZZI_S
6695 UINT64_C(1153456128), // UMLSLB_ZZZ_D
6696 UINT64_C(1145067520), // UMLSLB_ZZZ_H
6697 UINT64_C(1149261824), // UMLSLB_ZZZ_S
6698 UINT64_C(3238002712), // UMLSLL_MZZI_BtoS
6699 UINT64_C(3246391320), // UMLSLL_MZZI_HtoD
6700 UINT64_C(3240100888), // UMLSLL_MZZ_BtoS
6701 UINT64_C(3244295192), // UMLSLL_MZZ_HtoD
6702 UINT64_C(3248488472), // UMLSLL_VG2_M2Z2Z_BtoS
6703 UINT64_C(3252682776), // UMLSLL_VG2_M2Z2Z_HtoD
6704 UINT64_C(3239051288), // UMLSLL_VG2_M2ZZI_BtoS
6705 UINT64_C(3247439896), // UMLSLL_VG2_M2ZZI_HtoD
6706 UINT64_C(3240099864), // UMLSLL_VG2_M2ZZ_BtoS
6707 UINT64_C(3244294168), // UMLSLL_VG2_M2ZZ_HtoD
6708 UINT64_C(3248554008), // UMLSLL_VG4_M4Z4Z_BtoS
6709 UINT64_C(3252748312), // UMLSLL_VG4_M4Z4Z_HtoD
6710 UINT64_C(3239084056), // UMLSLL_VG4_M4ZZI_BtoS
6711 UINT64_C(3247472664), // UMLSLL_VG4_M4ZZI_HtoD
6712 UINT64_C(3241148440), // UMLSLL_VG4_M4ZZ_BtoS
6713 UINT64_C(3245342744), // UMLSLL_VG4_M4ZZ_HtoD
6714 UINT64_C(1155576832), // UMLSLT_ZZZI_D
6715 UINT64_C(1151382528), // UMLSLT_ZZZI_S
6716 UINT64_C(1153457152), // UMLSLT_ZZZ_D
6717 UINT64_C(1145068544), // UMLSLT_ZZZ_H
6718 UINT64_C(1149262848), // UMLSLT_ZZZ_S
6719 UINT64_C(3250589720), // UMLSL_MZZI_HtoS
6720 UINT64_C(3244297240), // UMLSL_MZZ_HtoS
6721 UINT64_C(3252684824), // UMLSL_VG2_M2Z2Z_HtoS
6722 UINT64_C(3251638296), // UMLSL_VG2_M2ZZI_S
6723 UINT64_C(3244296216), // UMLSL_VG2_M2ZZ_HtoS
6724 UINT64_C(3252750360), // UMLSL_VG4_M4Z4Z_HtoS
6725 UINT64_C(3251671064), // UMLSL_VG4_M4ZZI_HtoS
6726 UINT64_C(3245344792), // UMLSL_VG4_M4ZZ_HtoS
6727 UINT64_C(1847631872), // UMLSLv16i8_v8i16
6728 UINT64_C(796942336), // UMLSLv2i32_indexed
6729 UINT64_C(782278656), // UMLSLv2i32_v2i64
6730 UINT64_C(792748032), // UMLSLv4i16_indexed
6731 UINT64_C(778084352), // UMLSLv4i16_v4i32
6732 UINT64_C(1870684160), // UMLSLv4i32_indexed
6733 UINT64_C(1856020480), // UMLSLv4i32_v2i64
6734 UINT64_C(1866489856), // UMLSLv8i16_indexed
6735 UINT64_C(1851826176), // UMLSLv8i16_v4i32
6736 UINT64_C(773890048), // UMLSLv8i8_v8i16
6737 UINT64_C(1853924352), // UMMLA
6738 UINT64_C(1170249728), // UMMLA_ZZZ
6739 UINT64_C(2167439872), // UMOP4A_M2Z2Z_BToS
6740 UINT64_C(2165342728), // UMOP4A_M2Z2Z_HToS
6741 UINT64_C(2716860936), // UMOP4A_M2Z2Z_HtoD
6742 UINT64_C(2166391296), // UMOP4A_M2ZZ_BToS
6743 UINT64_C(2164294152), // UMOP4A_M2ZZ_HToS
6744 UINT64_C(2715812360), // UMOP4A_M2ZZ_HtoD
6745 UINT64_C(2167439360), // UMOP4A_MZ2Z_BToS
6746 UINT64_C(2165342216), // UMOP4A_MZ2Z_HToS
6747 UINT64_C(2716860424), // UMOP4A_MZ2Z_HtoD
6748 UINT64_C(2166390784), // UMOP4A_MZZ_BToS
6749 UINT64_C(2164293640), // UMOP4A_MZZ_HToS
6750 UINT64_C(2715811848), // UMOP4A_MZZ_HtoD
6751 UINT64_C(2167439888), // UMOP4S_M2Z2Z_BToS
6752 UINT64_C(2165342744), // UMOP4S_M2Z2Z_HToS
6753 UINT64_C(2716860952), // UMOP4S_M2Z2Z_HtoD
6754 UINT64_C(2166391312), // UMOP4S_M2ZZ_BToS
6755 UINT64_C(2164294168), // UMOP4S_M2ZZ_HToS
6756 UINT64_C(2715812376), // UMOP4S_M2ZZ_HtoD
6757 UINT64_C(2167439376), // UMOP4S_MZ2Z_BToS
6758 UINT64_C(2165342232), // UMOP4S_MZ2Z_HToS
6759 UINT64_C(2716860440), // UMOP4S_MZ2Z_HtoD
6760 UINT64_C(2166390800), // UMOP4S_MZZ_BToS
6761 UINT64_C(2164293656), // UMOP4S_MZZ_HToS
6762 UINT64_C(2715811864), // UMOP4S_MZZ_HtoD
6763 UINT64_C(2715811840), // UMOPA_MPPZZ_D
6764 UINT64_C(2709520392), // UMOPA_MPPZZ_HtoS
6765 UINT64_C(2711617536), // UMOPA_MPPZZ_S
6766 UINT64_C(2715811856), // UMOPS_MPPZZ_D
6767 UINT64_C(2709520408), // UMOPS_MPPZZ_HtoS
6768 UINT64_C(2711617552), // UMOPS_MPPZZ_S
6769 UINT64_C(235027456), // UMOVvi16
6770 UINT64_C(235027456), // UMOVvi16_idx0
6771 UINT64_C(235158528), // UMOVvi32
6772 UINT64_C(235158528), // UMOVvi32_idx0
6773 UINT64_C(1309162496), // UMOVvi64
6774 UINT64_C(1309162496), // UMOVvi64_idx0
6775 UINT64_C(234961920), // UMOVvi8
6776 UINT64_C(234961920), // UMOVvi8_idx0
6777 UINT64_C(2610987008), // UMSUBLrrr
6778 UINT64_C(68354048), // UMULH_ZPmZ_B
6779 UINT64_C(80936960), // UMULH_ZPmZ_D
6780 UINT64_C(72548352), // UMULH_ZPmZ_H
6781 UINT64_C(76742656), // UMULH_ZPmZ_S
6782 UINT64_C(69233664), // UMULH_ZZZ_B
6783 UINT64_C(81816576), // UMULH_ZZZ_D
6784 UINT64_C(73427968), // UMULH_ZZZ_H
6785 UINT64_C(77622272), // UMULH_ZZZ_S
6786 UINT64_C(2613083136), // UMULHrr
6787 UINT64_C(1155584000), // UMULLB_ZZZI_D
6788 UINT64_C(1151389696), // UMULLB_ZZZI_S
6789 UINT64_C(1170241536), // UMULLB_ZZZ_D
6790 UINT64_C(1161852928), // UMULLB_ZZZ_H
6791 UINT64_C(1166047232), // UMULLB_ZZZ_S
6792 UINT64_C(1155585024), // UMULLT_ZZZI_D
6793 UINT64_C(1151390720), // UMULLT_ZZZI_S
6794 UINT64_C(1170242560), // UMULLT_ZZZ_D
6795 UINT64_C(1161853952), // UMULLT_ZZZ_H
6796 UINT64_C(1166048256), // UMULLT_ZZZ_S
6797 UINT64_C(1847640064), // UMULLv16i8_v8i16
6798 UINT64_C(796958720), // UMULLv2i32_indexed
6799 UINT64_C(782286848), // UMULLv2i32_v2i64
6800 UINT64_C(792764416), // UMULLv4i16_indexed
6801 UINT64_C(778092544), // UMULLv4i16_v4i32
6802 UINT64_C(1870700544), // UMULLv4i32_indexed
6803 UINT64_C(1856028672), // UMULLv4i32_v2i64
6804 UINT64_C(1866506240), // UMULLv8i16_indexed
6805 UINT64_C(1851834368), // UMULLv8i16_v4i32
6806 UINT64_C(773898240), // UMULLv8i8_v8i16
6807 UINT64_C(623230976), // UQADD_ZI_B
6808 UINT64_C(635813888), // UQADD_ZI_D
6809 UINT64_C(627425280), // UQADD_ZI_H
6810 UINT64_C(631619584), // UQADD_ZI_S
6811 UINT64_C(1142521856), // UQADD_ZPmZ_B
6812 UINT64_C(1155104768), // UQADD_ZPmZ_D
6813 UINT64_C(1146716160), // UQADD_ZPmZ_H
6814 UINT64_C(1150910464), // UQADD_ZPmZ_S
6815 UINT64_C(69211136), // UQADD_ZZZ_B
6816 UINT64_C(81794048), // UQADD_ZZZ_D
6817 UINT64_C(73405440), // UQADD_ZZZ_H
6818 UINT64_C(77599744), // UQADD_ZZZ_S
6819 UINT64_C(1847593984), // UQADDv16i8
6820 UINT64_C(2120223744), // UQADDv1i16
6821 UINT64_C(2124418048), // UQADDv1i32
6822 UINT64_C(2128612352), // UQADDv1i64
6823 UINT64_C(2116029440), // UQADDv1i8
6824 UINT64_C(782240768), // UQADDv2i32
6825 UINT64_C(1860176896), // UQADDv2i64
6826 UINT64_C(778046464), // UQADDv4i16
6827 UINT64_C(1855982592), // UQADDv4i32
6828 UINT64_C(1851788288), // UQADDv8i16
6829 UINT64_C(773852160), // UQADDv8i8
6830 UINT64_C(1160857600), // UQCVTN_Z2Z_StoH
6831 UINT64_C(3249791072), // UQCVTN_Z4Z_DtoH
6832 UINT64_C(3241402464), // UQCVTN_Z4Z_StoB
6833 UINT64_C(3240353824), // UQCVT_Z2Z_StoH
6834 UINT64_C(3249791008), // UQCVT_Z4Z_DtoH
6835 UINT64_C(3241402400), // UQCVT_Z4Z_StoB
6836 UINT64_C(69270528), // UQDECB_WPiI
6837 UINT64_C(70319104), // UQDECB_XPiI
6838 UINT64_C(81853440), // UQDECD_WPiI
6839 UINT64_C(82902016), // UQDECD_XPiI
6840 UINT64_C(81841152), // UQDECD_ZPiI
6841 UINT64_C(73464832), // UQDECH_WPiI
6842 UINT64_C(74513408), // UQDECH_XPiI
6843 UINT64_C(73452544), // UQDECH_ZPiI
6844 UINT64_C(623609856), // UQDECP_WP_B
6845 UINT64_C(636192768), // UQDECP_WP_D
6846 UINT64_C(627804160), // UQDECP_WP_H
6847 UINT64_C(631998464), // UQDECP_WP_S
6848 UINT64_C(623610880), // UQDECP_XP_B
6849 UINT64_C(636193792), // UQDECP_XP_D
6850 UINT64_C(627805184), // UQDECP_XP_H
6851 UINT64_C(631999488), // UQDECP_XP_S
6852 UINT64_C(636190720), // UQDECP_ZP_D
6853 UINT64_C(627802112), // UQDECP_ZP_H
6854 UINT64_C(631996416), // UQDECP_ZP_S
6855 UINT64_C(77659136), // UQDECW_WPiI
6856 UINT64_C(78707712), // UQDECW_XPiI
6857 UINT64_C(77646848), // UQDECW_ZPiI
6858 UINT64_C(69268480), // UQINCB_WPiI
6859 UINT64_C(70317056), // UQINCB_XPiI
6860 UINT64_C(81851392), // UQINCD_WPiI
6861 UINT64_C(82899968), // UQINCD_XPiI
6862 UINT64_C(81839104), // UQINCD_ZPiI
6863 UINT64_C(73462784), // UQINCH_WPiI
6864 UINT64_C(74511360), // UQINCH_XPiI
6865 UINT64_C(73450496), // UQINCH_ZPiI
6866 UINT64_C(623478784), // UQINCP_WP_B
6867 UINT64_C(636061696), // UQINCP_WP_D
6868 UINT64_C(627673088), // UQINCP_WP_H
6869 UINT64_C(631867392), // UQINCP_WP_S
6870 UINT64_C(623479808), // UQINCP_XP_B
6871 UINT64_C(636062720), // UQINCP_XP_D
6872 UINT64_C(627674112), // UQINCP_XP_H
6873 UINT64_C(631868416), // UQINCP_XP_S
6874 UINT64_C(636059648), // UQINCP_ZP_D
6875 UINT64_C(627671040), // UQINCP_ZP_H
6876 UINT64_C(631865344), // UQINCP_ZP_S
6877 UINT64_C(77657088), // UQINCW_WPiI
6878 UINT64_C(78705664), // UQINCW_XPiI
6879 UINT64_C(77644800), // UQINCW_ZPiI
6880 UINT64_C(1141866496), // UQRSHLR_ZPmZ_B
6881 UINT64_C(1154449408), // UQRSHLR_ZPmZ_D
6882 UINT64_C(1146060800), // UQRSHLR_ZPmZ_H
6883 UINT64_C(1150255104), // UQRSHLR_ZPmZ_S
6884 UINT64_C(1141604352), // UQRSHL_ZPmZ_B
6885 UINT64_C(1154187264), // UQRSHL_ZPmZ_D
6886 UINT64_C(1145798656), // UQRSHL_ZPmZ_H
6887 UINT64_C(1149992960), // UQRSHL_ZPmZ_S
6888 UINT64_C(1847614464), // UQRSHLv16i8
6889 UINT64_C(2120244224), // UQRSHLv1i16
6890 UINT64_C(2124438528), // UQRSHLv1i32
6891 UINT64_C(2128632832), // UQRSHLv1i64
6892 UINT64_C(2116049920), // UQRSHLv1i8
6893 UINT64_C(782261248), // UQRSHLv2i32
6894 UINT64_C(1860197376), // UQRSHLv2i64
6895 UINT64_C(778066944), // UQRSHLv4i16
6896 UINT64_C(1856003072), // UQRSHLv4i32
6897 UINT64_C(1851808768), // UQRSHLv8i16
6898 UINT64_C(773872640), // UQRSHLv8i8
6899 UINT64_C(1160263680), // UQRSHRNB_ZZI_B
6900 UINT64_C(1160787968), // UQRSHRNB_ZZI_H
6901 UINT64_C(1163933696), // UQRSHRNB_ZZI_S
6902 UINT64_C(1160264704), // UQRSHRNT_ZZI_B
6903 UINT64_C(1160788992), // UQRSHRNT_ZZI_H
6904 UINT64_C(1163934720), // UQRSHRNT_ZZI_S
6905 UINT64_C(3244350496), // UQRSHRN_VG4_Z4ZI_B
6906 UINT64_C(3248544800), // UQRSHRN_VG4_Z4ZI_H
6907 UINT64_C(1168652288), // UQRSHRN_Z2ZI_HtoB
6908 UINT64_C(1169176576), // UQRSHRN_Z2ZI_StoH
6909 UINT64_C(2131270656), // UQRSHRNb
6910 UINT64_C(2131794944), // UQRSHRNh
6911 UINT64_C(2132843520), // UQRSHRNs
6912 UINT64_C(1862835200), // UQRSHRNv16i8_shift
6913 UINT64_C(790666240), // UQRSHRNv2i32_shift
6914 UINT64_C(789617664), // UQRSHRNv4i16_shift
6915 UINT64_C(1864408064), // UQRSHRNv4i32_shift
6916 UINT64_C(1863359488), // UQRSHRNv8i16_shift
6917 UINT64_C(789093376), // UQRSHRNv8i8_shift
6918 UINT64_C(3252737056), // UQRSHR_VG2_Z2ZI_H
6919 UINT64_C(3244349472), // UQRSHR_VG4_Z4ZI_B
6920 UINT64_C(3248543776), // UQRSHR_VG4_Z4ZI_H
6921 UINT64_C(1141735424), // UQSHLR_ZPmZ_B
6922 UINT64_C(1154318336), // UQSHLR_ZPmZ_D
6923 UINT64_C(1145929728), // UQSHLR_ZPmZ_H
6924 UINT64_C(1150124032), // UQSHLR_ZPmZ_S
6925 UINT64_C(67600640), // UQSHL_ZPmI_B
6926 UINT64_C(75988992), // UQSHL_ZPmI_D
6927 UINT64_C(67600896), // UQSHL_ZPmI_H
6928 UINT64_C(71794688), // UQSHL_ZPmI_S
6929 UINT64_C(1141473280), // UQSHL_ZPmZ_B
6930 UINT64_C(1154056192), // UQSHL_ZPmZ_D
6931 UINT64_C(1145667584), // UQSHL_ZPmZ_H
6932 UINT64_C(1149861888), // UQSHL_ZPmZ_S
6933 UINT64_C(2131260416), // UQSHLb
6934 UINT64_C(2134930432), // UQSHLd
6935 UINT64_C(2131784704), // UQSHLh
6936 UINT64_C(2132833280), // UQSHLs
6937 UINT64_C(1847610368), // UQSHLv16i8
6938 UINT64_C(1862824960), // UQSHLv16i8_shift
6939 UINT64_C(2120240128), // UQSHLv1i16
6940 UINT64_C(2124434432), // UQSHLv1i32
6941 UINT64_C(2128628736), // UQSHLv1i64
6942 UINT64_C(2116045824), // UQSHLv1i8
6943 UINT64_C(782257152), // UQSHLv2i32
6944 UINT64_C(790656000), // UQSHLv2i32_shift
6945 UINT64_C(1860193280), // UQSHLv2i64
6946 UINT64_C(1866494976), // UQSHLv2i64_shift
6947 UINT64_C(778062848), // UQSHLv4i16
6948 UINT64_C(789607424), // UQSHLv4i16_shift
6949 UINT64_C(1855998976), // UQSHLv4i32
6950 UINT64_C(1864397824), // UQSHLv4i32_shift
6951 UINT64_C(1851804672), // UQSHLv8i16
6952 UINT64_C(1863349248), // UQSHLv8i16_shift
6953 UINT64_C(773868544), // UQSHLv8i8
6954 UINT64_C(789083136), // UQSHLv8i8_shift
6955 UINT64_C(1160261632), // UQSHRNB_ZZI_B
6956 UINT64_C(1160785920), // UQSHRNB_ZZI_H
6957 UINT64_C(1163931648), // UQSHRNB_ZZI_S
6958 UINT64_C(1160262656), // UQSHRNT_ZZI_B
6959 UINT64_C(1160786944), // UQSHRNT_ZZI_H
6960 UINT64_C(1163932672), // UQSHRNT_ZZI_S
6961 UINT64_C(1168642048), // UQSHRN_Z2ZI_HtoB
6962 UINT64_C(1169166336), // UQSHRN_Z2ZI_StoH
6963 UINT64_C(2131268608), // UQSHRNb
6964 UINT64_C(2131792896), // UQSHRNh
6965 UINT64_C(2132841472), // UQSHRNs
6966 UINT64_C(1862833152), // UQSHRNv16i8_shift
6967 UINT64_C(790664192), // UQSHRNv2i32_shift
6968 UINT64_C(789615616), // UQSHRNv4i16_shift
6969 UINT64_C(1864406016), // UQSHRNv4i32_shift
6970 UINT64_C(1863357440), // UQSHRNv8i16_shift
6971 UINT64_C(789091328), // UQSHRNv8i8_shift
6972 UINT64_C(1142915072), // UQSUBR_ZPmZ_B
6973 UINT64_C(1155497984), // UQSUBR_ZPmZ_D
6974 UINT64_C(1147109376), // UQSUBR_ZPmZ_H
6975 UINT64_C(1151303680), // UQSUBR_ZPmZ_S
6976 UINT64_C(623362048), // UQSUB_ZI_B
6977 UINT64_C(635944960), // UQSUB_ZI_D
6978 UINT64_C(627556352), // UQSUB_ZI_H
6979 UINT64_C(631750656), // UQSUB_ZI_S
6980 UINT64_C(1142652928), // UQSUB_ZPmZ_B
6981 UINT64_C(1155235840), // UQSUB_ZPmZ_D
6982 UINT64_C(1146847232), // UQSUB_ZPmZ_H
6983 UINT64_C(1151041536), // UQSUB_ZPmZ_S
6984 UINT64_C(69213184), // UQSUB_ZZZ_B
6985 UINT64_C(81796096), // UQSUB_ZZZ_D
6986 UINT64_C(73407488), // UQSUB_ZZZ_H
6987 UINT64_C(77601792), // UQSUB_ZZZ_S
6988 UINT64_C(1847602176), // UQSUBv16i8
6989 UINT64_C(2120231936), // UQSUBv1i16
6990 UINT64_C(2124426240), // UQSUBv1i32
6991 UINT64_C(2128620544), // UQSUBv1i64
6992 UINT64_C(2116037632), // UQSUBv1i8
6993 UINT64_C(782248960), // UQSUBv2i32
6994 UINT64_C(1860185088), // UQSUBv2i64
6995 UINT64_C(778054656), // UQSUBv4i16
6996 UINT64_C(1855990784), // UQSUBv4i32
6997 UINT64_C(1851796480), // UQSUBv8i16
6998 UINT64_C(773860352), // UQSUBv8i8
6999 UINT64_C(1160267776), // UQXTNB_ZZ_B
7000 UINT64_C(1160792064), // UQXTNB_ZZ_H
7001 UINT64_C(1163937792), // UQXTNB_ZZ_S
7002 UINT64_C(1160268800), // UQXTNT_ZZ_B
7003 UINT64_C(1160793088), // UQXTNT_ZZ_H
7004 UINT64_C(1163938816), // UQXTNT_ZZ_S
7005 UINT64_C(1847674880), // UQXTNv16i8
7006 UINT64_C(2120304640), // UQXTNv1i16
7007 UINT64_C(2124498944), // UQXTNv1i32
7008 UINT64_C(2116110336), // UQXTNv1i8
7009 UINT64_C(782321664), // UQXTNv2i32
7010 UINT64_C(778127360), // UQXTNv4i16
7011 UINT64_C(1856063488), // UQXTNv4i32
7012 UINT64_C(1851869184), // UQXTNv8i16
7013 UINT64_C(773933056), // UQXTNv8i8
7014 UINT64_C(1149280256), // URECPE_ZPmZ_S
7015 UINT64_C(1149411328), // URECPE_ZPzZ_S
7016 UINT64_C(245483520), // URECPEv2i32
7017 UINT64_C(1319225344), // URECPEv4i32
7018 UINT64_C(1142259712), // URHADD_ZPmZ_B
7019 UINT64_C(1154842624), // URHADD_ZPmZ_D
7020 UINT64_C(1146454016), // URHADD_ZPmZ_H
7021 UINT64_C(1150648320), // URHADD_ZPmZ_S
7022 UINT64_C(1847596032), // URHADDv16i8
7023 UINT64_C(782242816), // URHADDv2i32
7024 UINT64_C(778048512), // URHADDv4i16
7025 UINT64_C(1855984640), // URHADDv4i32
7026 UINT64_C(1851790336), // URHADDv8i16
7027 UINT64_C(773854208), // URHADDv8i8
7028 UINT64_C(1141342208), // URSHLR_ZPmZ_B
7029 UINT64_C(1153925120), // URSHLR_ZPmZ_D
7030 UINT64_C(1145536512), // URSHLR_ZPmZ_H
7031 UINT64_C(1149730816), // URSHLR_ZPmZ_S
7032 UINT64_C(3240145441), // URSHL_VG2_2Z2Z_B
7033 UINT64_C(3252728353), // URSHL_VG2_2Z2Z_D
7034 UINT64_C(3244339745), // URSHL_VG2_2Z2Z_H
7035 UINT64_C(3248534049), // URSHL_VG2_2Z2Z_S
7036 UINT64_C(3240141345), // URSHL_VG2_2ZZ_B
7037 UINT64_C(3252724257), // URSHL_VG2_2ZZ_D
7038 UINT64_C(3244335649), // URSHL_VG2_2ZZ_H
7039 UINT64_C(3248529953), // URSHL_VG2_2ZZ_S
7040 UINT64_C(3240147489), // URSHL_VG4_4Z4Z_B
7041 UINT64_C(3252730401), // URSHL_VG4_4Z4Z_D
7042 UINT64_C(3244341793), // URSHL_VG4_4Z4Z_H
7043 UINT64_C(3248536097), // URSHL_VG4_4Z4Z_S
7044 UINT64_C(3240143393), // URSHL_VG4_4ZZ_B
7045 UINT64_C(3252726305), // URSHL_VG4_4ZZ_D
7046 UINT64_C(3244337697), // URSHL_VG4_4ZZ_H
7047 UINT64_C(3248532001), // URSHL_VG4_4ZZ_S
7048 UINT64_C(1141080064), // URSHL_ZPmZ_B
7049 UINT64_C(1153662976), // URSHL_ZPmZ_D
7050 UINT64_C(1145274368), // URSHL_ZPmZ_H
7051 UINT64_C(1149468672), // URSHL_ZPmZ_S
7052 UINT64_C(1847612416), // URSHLv16i8
7053 UINT64_C(2128630784), // URSHLv1i64
7054 UINT64_C(782259200), // URSHLv2i32
7055 UINT64_C(1860195328), // URSHLv2i64
7056 UINT64_C(778064896), // URSHLv4i16
7057 UINT64_C(1856001024), // URSHLv4i32
7058 UINT64_C(1851806720), // URSHLv8i16
7059 UINT64_C(773870592), // URSHLv8i8
7060 UINT64_C(67993856), // URSHR_ZPmI_B
7061 UINT64_C(76382208), // URSHR_ZPmI_D
7062 UINT64_C(67994112), // URSHR_ZPmI_H
7063 UINT64_C(72187904), // URSHR_ZPmI_S
7064 UINT64_C(2134909952), // URSHRd
7065 UINT64_C(1862804480), // URSHRv16i8_shift
7066 UINT64_C(790635520), // URSHRv2i32_shift
7067 UINT64_C(1866474496), // URSHRv2i64_shift
7068 UINT64_C(789586944), // URSHRv4i16_shift
7069 UINT64_C(1864377344), // URSHRv4i32_shift
7070 UINT64_C(1863328768), // URSHRv8i16_shift
7071 UINT64_C(789062656), // URSHRv8i8_shift
7072 UINT64_C(1149345792), // URSQRTE_ZPmZ_S
7073 UINT64_C(1149476864), // URSQRTE_ZPzZ_S
7074 UINT64_C(782354432), // URSQRTEv2i32
7075 UINT64_C(1856096256), // URSQRTEv4i32
7076 UINT64_C(1158212608), // URSRA_ZZI_B
7077 UINT64_C(1166076928), // URSRA_ZZI_D
7078 UINT64_C(1158736896), // URSRA_ZZI_H
7079 UINT64_C(1161882624), // URSRA_ZZI_S
7080 UINT64_C(2134914048), // URSRAd
7081 UINT64_C(1862808576), // URSRAv16i8_shift
7082 UINT64_C(790639616), // URSRAv2i32_shift
7083 UINT64_C(1866478592), // URSRAv2i64_shift
7084 UINT64_C(789591040), // URSRAv4i16_shift
7085 UINT64_C(1864381440), // URSRAv4i32_shift
7086 UINT64_C(1863332864), // URSRAv8i16_shift
7087 UINT64_C(789066752), // URSRAv8i8_shift
7088 UINT64_C(3248493576), // USDOT_VG2_M2Z2Z_BToS
7089 UINT64_C(3243249704), // USDOT_VG2_M2ZZI_BToS
7090 UINT64_C(3240104968), // USDOT_VG2_M2ZZ_BToS
7091 UINT64_C(3248559112), // USDOT_VG4_M4Z4Z_BToS
7092 UINT64_C(3243282472), // USDOT_VG4_M4ZZI_BToS
7093 UINT64_C(3241153544), // USDOT_VG4_M4ZZ_BToS
7094 UINT64_C(1149270016), // USDOT_ZZZ
7095 UINT64_C(1151342592), // USDOT_ZZZI
7096 UINT64_C(1333850112), // USDOTlanev16i8
7097 UINT64_C(260108288), // USDOTlanev8i8
7098 UINT64_C(1317051392), // USDOTv16i8
7099 UINT64_C(243309568), // USDOTv8i8
7100 UINT64_C(1161865216), // USHLLB_ZZI_D
7101 UINT64_C(1158195200), // USHLLB_ZZI_H
7102 UINT64_C(1158719488), // USHLLB_ZZI_S
7103 UINT64_C(1161866240), // USHLLT_ZZI_D
7104 UINT64_C(1158196224), // USHLLT_ZZI_H
7105 UINT64_C(1158720512), // USHLLT_ZZI_S
7106 UINT64_C(1862837248), // USHLLv16i8_shift
7107 UINT64_C(790668288), // USHLLv2i32_shift
7108 UINT64_C(789619712), // USHLLv4i16_shift
7109 UINT64_C(1864410112), // USHLLv4i32_shift
7110 UINT64_C(1863361536), // USHLLv8i16_shift
7111 UINT64_C(789095424), // USHLLv8i8_shift
7112 UINT64_C(1847608320), // USHLv16i8
7113 UINT64_C(2128626688), // USHLv1i64
7114 UINT64_C(782255104), // USHLv2i32
7115 UINT64_C(1860191232), // USHLv2i64
7116 UINT64_C(778060800), // USHLv4i16
7117 UINT64_C(1855996928), // USHLv4i32
7118 UINT64_C(1851802624), // USHLv8i16
7119 UINT64_C(773866496), // USHLv8i8
7120 UINT64_C(2134901760), // USHRd
7121 UINT64_C(1862796288), // USHRv16i8_shift
7122 UINT64_C(790627328), // USHRv2i32_shift
7123 UINT64_C(1866466304), // USHRv2i64_shift
7124 UINT64_C(789578752), // USHRv4i16_shift
7125 UINT64_C(1864369152), // USHRv4i32_shift
7126 UINT64_C(1863320576), // USHRv8i16_shift
7127 UINT64_C(789054464), // USHRv8i8_shift
7128 UINT64_C(3238002692), // USMLALL_MZZI_BtoS
7129 UINT64_C(3240100868), // USMLALL_MZZ_BtoS
7130 UINT64_C(3248488452), // USMLALL_VG2_M2Z2Z_BtoS
7131 UINT64_C(3239051296), // USMLALL_VG2_M2ZZI_BtoS
7132 UINT64_C(3240099844), // USMLALL_VG2_M2ZZ_BtoS
7133 UINT64_C(3248553988), // USMLALL_VG4_M4Z4Z_BtoS
7134 UINT64_C(3239084064), // USMLALL_VG4_M4ZZI_BtoS
7135 UINT64_C(3241148420), // USMLALL_VG4_M4ZZ_BtoS
7136 UINT64_C(1317055488), // USMMLA
7137 UINT64_C(1166055424), // USMMLA_ZZZ
7138 UINT64_C(2165342720), // USMOP4A_M2Z2Z_BToS
7139 UINT64_C(2714763784), // USMOP4A_M2Z2Z_HtoD
7140 UINT64_C(2164294144), // USMOP4A_M2ZZ_BToS
7141 UINT64_C(2713715208), // USMOP4A_M2ZZ_HtoD
7142 UINT64_C(2165342208), // USMOP4A_MZ2Z_BToS
7143 UINT64_C(2714763272), // USMOP4A_MZ2Z_HtoD
7144 UINT64_C(2164293632), // USMOP4A_MZZ_BToS
7145 UINT64_C(2713714696), // USMOP4A_MZZ_HtoD
7146 UINT64_C(2165342736), // USMOP4S_M2Z2Z_BToS
7147 UINT64_C(2714763800), // USMOP4S_M2Z2Z_HtoD
7148 UINT64_C(2164294160), // USMOP4S_M2ZZ_BToS
7149 UINT64_C(2713715224), // USMOP4S_M2ZZ_HtoD
7150 UINT64_C(2165342224), // USMOP4S_MZ2Z_BToS
7151 UINT64_C(2714763288), // USMOP4S_MZ2Z_HtoD
7152 UINT64_C(2164293648), // USMOP4S_MZZ_BToS
7153 UINT64_C(2713714712), // USMOP4S_MZZ_HtoD
7154 UINT64_C(2713714688), // USMOPA_MPPZZ_D
7155 UINT64_C(2709520384), // USMOPA_MPPZZ_S
7156 UINT64_C(2713714704), // USMOPS_MPPZZ_D
7157 UINT64_C(2709520400), // USMOPS_MPPZZ_S
7158 UINT64_C(1142784000), // USQADD_ZPmZ_B
7159 UINT64_C(1155366912), // USQADD_ZPmZ_D
7160 UINT64_C(1146978304), // USQADD_ZPmZ_H
7161 UINT64_C(1151172608), // USQADD_ZPmZ_S
7162 UINT64_C(1847605248), // USQADDv16i8
7163 UINT64_C(2120235008), // USQADDv1i16
7164 UINT64_C(2124429312), // USQADDv1i32
7165 UINT64_C(2128623616), // USQADDv1i64
7166 UINT64_C(2116040704), // USQADDv1i8
7167 UINT64_C(782252032), // USQADDv2i32
7168 UINT64_C(1860188160), // USQADDv2i64
7169 UINT64_C(778057728), // USQADDv4i16
7170 UINT64_C(1855993856), // USQADDv4i32
7171 UINT64_C(1851799552), // USQADDv8i16
7172 UINT64_C(773863424), // USQADDv8i8
7173 UINT64_C(1158210560), // USRA_ZZI_B
7174 UINT64_C(1166074880), // USRA_ZZI_D
7175 UINT64_C(1158734848), // USRA_ZZI_H
7176 UINT64_C(1161880576), // USRA_ZZI_S
7177 UINT64_C(2134905856), // USRAd
7178 UINT64_C(1862800384), // USRAv16i8_shift
7179 UINT64_C(790631424), // USRAv2i32_shift
7180 UINT64_C(1866470400), // USRAv2i64_shift
7181 UINT64_C(789582848), // USRAv4i16_shift
7182 UINT64_C(1864373248), // USRAv4i32_shift
7183 UINT64_C(1863324672), // USRAv8i16_shift
7184 UINT64_C(789058560), // USRAv8i8_shift
7185 UINT64_C(2168487936), // USTMOPA_M2ZZZI_BtoS
7186 UINT64_C(1170216960), // USUBLB_ZZZ_D
7187 UINT64_C(1161828352), // USUBLB_ZZZ_H
7188 UINT64_C(1166022656), // USUBLB_ZZZ_S
7189 UINT64_C(1170217984), // USUBLT_ZZZ_D
7190 UINT64_C(1161829376), // USUBLT_ZZZ_H
7191 UINT64_C(1166023680), // USUBLT_ZZZ_S
7192 UINT64_C(1847599104), // USUBLv16i8_v8i16
7193 UINT64_C(782245888), // USUBLv2i32_v2i64
7194 UINT64_C(778051584), // USUBLv4i16_v4i32
7195 UINT64_C(1855987712), // USUBLv4i32_v2i64
7196 UINT64_C(1851793408), // USUBLv8i16_v4i32
7197 UINT64_C(773857280), // USUBLv8i8_v8i16
7198 UINT64_C(1170233344), // USUBWB_ZZZ_D
7199 UINT64_C(1161844736), // USUBWB_ZZZ_H
7200 UINT64_C(1166039040), // USUBWB_ZZZ_S
7201 UINT64_C(1170234368), // USUBWT_ZZZ_D
7202 UINT64_C(1161845760), // USUBWT_ZZZ_H
7203 UINT64_C(1166040064), // USUBWT_ZZZ_S
7204 UINT64_C(1847603200), // USUBWv16i8_v8i16
7205 UINT64_C(782249984), // USUBWv2i32_v2i64
7206 UINT64_C(778055680), // USUBWv4i16_v4i32
7207 UINT64_C(1855991808), // USUBWv4i32_v2i64
7208 UINT64_C(1851797504), // USUBWv8i16_v4i32
7209 UINT64_C(773861376), // USUBWv8i8_v8i16
7210 UINT64_C(3243278376), // USVDOT_VG4_M4ZZI_BToS
7211 UINT64_C(2170585088), // UTMOPA_M2ZZZI_BtoS
7212 UINT64_C(2168487944), // UTMOPA_M2ZZZI_HtoS
7213 UINT64_C(99825664), // UUNPKHI_ZZ_D
7214 UINT64_C(91437056), // UUNPKHI_ZZ_H
7215 UINT64_C(95631360), // UUNPKHI_ZZ_S
7216 UINT64_C(99760128), // UUNPKLO_ZZ_D
7217 UINT64_C(91371520), // UUNPKLO_ZZ_H
7218 UINT64_C(95565824), // UUNPKLO_ZZ_S
7219 UINT64_C(3253067777), // UUNPK_VG2_2ZZ_D
7220 UINT64_C(3244679169), // UUNPK_VG2_2ZZ_H
7221 UINT64_C(3248873473), // UUNPK_VG2_2ZZ_S
7222 UINT64_C(3254116353), // UUNPK_VG4_4Z2Z_D
7223 UINT64_C(3245727745), // UUNPK_VG4_4Z2Z_H
7224 UINT64_C(3249922049), // UUNPK_VG4_4Z2Z_S
7225 UINT64_C(3243245616), // UVDOT_VG2_M2ZZI_HtoS
7226 UINT64_C(3243278384), // UVDOT_VG4_M4ZZI_BtoS
7227 UINT64_C(3251669016), // UVDOT_VG4_M4ZZI_HtoD
7228 UINT64_C(80846848), // UXTB_ZPmZ_D
7229 UINT64_C(72458240), // UXTB_ZPmZ_H
7230 UINT64_C(76652544), // UXTB_ZPmZ_S
7231 UINT64_C(79798272), // UXTB_ZPzZ_D
7232 UINT64_C(71409664), // UXTB_ZPzZ_H
7233 UINT64_C(75603968), // UXTB_ZPzZ_S
7234 UINT64_C(80977920), // UXTH_ZPmZ_D
7235 UINT64_C(76783616), // UXTH_ZPmZ_S
7236 UINT64_C(79929344), // UXTH_ZPzZ_D
7237 UINT64_C(75735040), // UXTH_ZPzZ_S
7238 UINT64_C(81108992), // UXTW_ZPmZ_D
7239 UINT64_C(80060416), // UXTW_ZPzZ_D
7240 UINT64_C(86001664), // UZP1_PPP_B
7241 UINT64_C(98584576), // UZP1_PPP_D
7242 UINT64_C(90195968), // UZP1_PPP_H
7243 UINT64_C(94390272), // UZP1_PPP_S
7244 UINT64_C(86009856), // UZP1_ZZZ_B
7245 UINT64_C(98592768), // UZP1_ZZZ_D
7246 UINT64_C(90204160), // UZP1_ZZZ_H
7247 UINT64_C(94373888), // UZP1_ZZZ_Q
7248 UINT64_C(94398464), // UZP1_ZZZ_S
7249 UINT64_C(1308628992), // UZP1v16i8
7250 UINT64_C(243275776), // UZP1v2i32
7251 UINT64_C(1321211904), // UZP1v2i64
7252 UINT64_C(239081472), // UZP1v4i16
7253 UINT64_C(1317017600), // UZP1v4i32
7254 UINT64_C(1312823296), // UZP1v8i16
7255 UINT64_C(234887168), // UZP1v8i8
7256 UINT64_C(86002688), // UZP2_PPP_B
7257 UINT64_C(98585600), // UZP2_PPP_D
7258 UINT64_C(90196992), // UZP2_PPP_H
7259 UINT64_C(94391296), // UZP2_PPP_S
7260 UINT64_C(86010880), // UZP2_ZZZ_B
7261 UINT64_C(98593792), // UZP2_ZZZ_D
7262 UINT64_C(90205184), // UZP2_ZZZ_H
7263 UINT64_C(94374912), // UZP2_ZZZ_Q
7264 UINT64_C(94399488), // UZP2_ZZZ_S
7265 UINT64_C(1308645376), // UZP2v16i8
7266 UINT64_C(243292160), // UZP2v2i32
7267 UINT64_C(1321228288), // UZP2v2i64
7268 UINT64_C(239097856), // UZP2v4i16
7269 UINT64_C(1317033984), // UZP2v4i32
7270 UINT64_C(1312839680), // UZP2v8i16
7271 UINT64_C(234903552), // UZP2v8i8
7272 UINT64_C(1140910080), // UZPQ1_ZZZ_B
7273 UINT64_C(1153492992), // UZPQ1_ZZZ_D
7274 UINT64_C(1145104384), // UZPQ1_ZZZ_H
7275 UINT64_C(1149298688), // UZPQ1_ZZZ_S
7276 UINT64_C(1140911104), // UZPQ2_ZZZ_B
7277 UINT64_C(1153494016), // UZPQ2_ZZZ_D
7278 UINT64_C(1145105408), // UZPQ2_ZZZ_H
7279 UINT64_C(1149299712), // UZPQ2_ZZZ_S
7280 UINT64_C(3240153089), // UZP_VG2_2ZZZ_B
7281 UINT64_C(3252736001), // UZP_VG2_2ZZZ_D
7282 UINT64_C(3244347393), // UZP_VG2_2ZZZ_H
7283 UINT64_C(3240154113), // UZP_VG2_2ZZZ_Q
7284 UINT64_C(3248541697), // UZP_VG2_2ZZZ_S
7285 UINT64_C(3241598978), // UZP_VG4_4Z4Z_B
7286 UINT64_C(3254181890), // UZP_VG4_4Z4Z_D
7287 UINT64_C(3245793282), // UZP_VG4_4Z4Z_H
7288 UINT64_C(3241664514), // UZP_VG4_4Z4Z_Q
7289 UINT64_C(3249987586), // UZP_VG4_4Z4Z_S
7290 UINT64_C(3573747712), // WFET
7291 UINT64_C(3573747744), // WFIT
7292 UINT64_C(622874640), // WHILEGE_2PXX_B
7293 UINT64_C(635457552), // WHILEGE_2PXX_D
7294 UINT64_C(627068944), // WHILEGE_2PXX_H
7295 UINT64_C(631263248), // WHILEGE_2PXX_S
7296 UINT64_C(622870544), // WHILEGE_CXX_B
7297 UINT64_C(635453456), // WHILEGE_CXX_D
7298 UINT64_C(627064848), // WHILEGE_CXX_H
7299 UINT64_C(631259152), // WHILEGE_CXX_S
7300 UINT64_C(622854144), // WHILEGE_PWW_B
7301 UINT64_C(635437056), // WHILEGE_PWW_D
7302 UINT64_C(627048448), // WHILEGE_PWW_H
7303 UINT64_C(631242752), // WHILEGE_PWW_S
7304 UINT64_C(622858240), // WHILEGE_PXX_B
7305 UINT64_C(635441152), // WHILEGE_PXX_D
7306 UINT64_C(627052544), // WHILEGE_PXX_H
7307 UINT64_C(631246848), // WHILEGE_PXX_S
7308 UINT64_C(622874641), // WHILEGT_2PXX_B
7309 UINT64_C(635457553), // WHILEGT_2PXX_D
7310 UINT64_C(627068945), // WHILEGT_2PXX_H
7311 UINT64_C(631263249), // WHILEGT_2PXX_S
7312 UINT64_C(622870552), // WHILEGT_CXX_B
7313 UINT64_C(635453464), // WHILEGT_CXX_D
7314 UINT64_C(627064856), // WHILEGT_CXX_H
7315 UINT64_C(631259160), // WHILEGT_CXX_S
7316 UINT64_C(622854160), // WHILEGT_PWW_B
7317 UINT64_C(635437072), // WHILEGT_PWW_D
7318 UINT64_C(627048464), // WHILEGT_PWW_H
7319 UINT64_C(631242768), // WHILEGT_PWW_S
7320 UINT64_C(622858256), // WHILEGT_PXX_B
7321 UINT64_C(635441168), // WHILEGT_PXX_D
7322 UINT64_C(627052560), // WHILEGT_PXX_H
7323 UINT64_C(631246864), // WHILEGT_PXX_S
7324 UINT64_C(622876689), // WHILEHI_2PXX_B
7325 UINT64_C(635459601), // WHILEHI_2PXX_D
7326 UINT64_C(627070993), // WHILEHI_2PXX_H
7327 UINT64_C(631265297), // WHILEHI_2PXX_S
7328 UINT64_C(622872600), // WHILEHI_CXX_B
7329 UINT64_C(635455512), // WHILEHI_CXX_D
7330 UINT64_C(627066904), // WHILEHI_CXX_H
7331 UINT64_C(631261208), // WHILEHI_CXX_S
7332 UINT64_C(622856208), // WHILEHI_PWW_B
7333 UINT64_C(635439120), // WHILEHI_PWW_D
7334 UINT64_C(627050512), // WHILEHI_PWW_H
7335 UINT64_C(631244816), // WHILEHI_PWW_S
7336 UINT64_C(622860304), // WHILEHI_PXX_B
7337 UINT64_C(635443216), // WHILEHI_PXX_D
7338 UINT64_C(627054608), // WHILEHI_PXX_H
7339 UINT64_C(631248912), // WHILEHI_PXX_S
7340 UINT64_C(622876688), // WHILEHS_2PXX_B
7341 UINT64_C(635459600), // WHILEHS_2PXX_D
7342 UINT64_C(627070992), // WHILEHS_2PXX_H
7343 UINT64_C(631265296), // WHILEHS_2PXX_S
7344 UINT64_C(622872592), // WHILEHS_CXX_B
7345 UINT64_C(635455504), // WHILEHS_CXX_D
7346 UINT64_C(627066896), // WHILEHS_CXX_H
7347 UINT64_C(631261200), // WHILEHS_CXX_S
7348 UINT64_C(622856192), // WHILEHS_PWW_B
7349 UINT64_C(635439104), // WHILEHS_PWW_D
7350 UINT64_C(627050496), // WHILEHS_PWW_H
7351 UINT64_C(631244800), // WHILEHS_PWW_S
7352 UINT64_C(622860288), // WHILEHS_PXX_B
7353 UINT64_C(635443200), // WHILEHS_PXX_D
7354 UINT64_C(627054592), // WHILEHS_PXX_H
7355 UINT64_C(631248896), // WHILEHS_PXX_S
7356 UINT64_C(622875665), // WHILELE_2PXX_B
7357 UINT64_C(635458577), // WHILELE_2PXX_D
7358 UINT64_C(627069969), // WHILELE_2PXX_H
7359 UINT64_C(631264273), // WHILELE_2PXX_S
7360 UINT64_C(622871576), // WHILELE_CXX_B
7361 UINT64_C(635454488), // WHILELE_CXX_D
7362 UINT64_C(627065880), // WHILELE_CXX_H
7363 UINT64_C(631260184), // WHILELE_CXX_S
7364 UINT64_C(622855184), // WHILELE_PWW_B
7365 UINT64_C(635438096), // WHILELE_PWW_D
7366 UINT64_C(627049488), // WHILELE_PWW_H
7367 UINT64_C(631243792), // WHILELE_PWW_S
7368 UINT64_C(622859280), // WHILELE_PXX_B
7369 UINT64_C(635442192), // WHILELE_PXX_D
7370 UINT64_C(627053584), // WHILELE_PXX_H
7371 UINT64_C(631247888), // WHILELE_PXX_S
7372 UINT64_C(622877712), // WHILELO_2PXX_B
7373 UINT64_C(635460624), // WHILELO_2PXX_D
7374 UINT64_C(627072016), // WHILELO_2PXX_H
7375 UINT64_C(631266320), // WHILELO_2PXX_S
7376 UINT64_C(622873616), // WHILELO_CXX_B
7377 UINT64_C(635456528), // WHILELO_CXX_D
7378 UINT64_C(627067920), // WHILELO_CXX_H
7379 UINT64_C(631262224), // WHILELO_CXX_S
7380 UINT64_C(622857216), // WHILELO_PWW_B
7381 UINT64_C(635440128), // WHILELO_PWW_D
7382 UINT64_C(627051520), // WHILELO_PWW_H
7383 UINT64_C(631245824), // WHILELO_PWW_S
7384 UINT64_C(622861312), // WHILELO_PXX_B
7385 UINT64_C(635444224), // WHILELO_PXX_D
7386 UINT64_C(627055616), // WHILELO_PXX_H
7387 UINT64_C(631249920), // WHILELO_PXX_S
7388 UINT64_C(622877713), // WHILELS_2PXX_B
7389 UINT64_C(635460625), // WHILELS_2PXX_D
7390 UINT64_C(627072017), // WHILELS_2PXX_H
7391 UINT64_C(631266321), // WHILELS_2PXX_S
7392 UINT64_C(622873624), // WHILELS_CXX_B
7393 UINT64_C(635456536), // WHILELS_CXX_D
7394 UINT64_C(627067928), // WHILELS_CXX_H
7395 UINT64_C(631262232), // WHILELS_CXX_S
7396 UINT64_C(622857232), // WHILELS_PWW_B
7397 UINT64_C(635440144), // WHILELS_PWW_D
7398 UINT64_C(627051536), // WHILELS_PWW_H
7399 UINT64_C(631245840), // WHILELS_PWW_S
7400 UINT64_C(622861328), // WHILELS_PXX_B
7401 UINT64_C(635444240), // WHILELS_PXX_D
7402 UINT64_C(627055632), // WHILELS_PXX_H
7403 UINT64_C(631249936), // WHILELS_PXX_S
7404 UINT64_C(622875664), // WHILELT_2PXX_B
7405 UINT64_C(635458576), // WHILELT_2PXX_D
7406 UINT64_C(627069968), // WHILELT_2PXX_H
7407 UINT64_C(631264272), // WHILELT_2PXX_S
7408 UINT64_C(622871568), // WHILELT_CXX_B
7409 UINT64_C(635454480), // WHILELT_CXX_D
7410 UINT64_C(627065872), // WHILELT_CXX_H
7411 UINT64_C(631260176), // WHILELT_CXX_S
7412 UINT64_C(622855168), // WHILELT_PWW_B
7413 UINT64_C(635438080), // WHILELT_PWW_D
7414 UINT64_C(627049472), // WHILELT_PWW_H
7415 UINT64_C(631243776), // WHILELT_PWW_S
7416 UINT64_C(622859264), // WHILELT_PXX_B
7417 UINT64_C(635442176), // WHILELT_PXX_D
7418 UINT64_C(627053568), // WHILELT_PXX_H
7419 UINT64_C(631247872), // WHILELT_PXX_S
7420 UINT64_C(622866448), // WHILERW_PXX_B
7421 UINT64_C(635449360), // WHILERW_PXX_D
7422 UINT64_C(627060752), // WHILERW_PXX_H
7423 UINT64_C(631255056), // WHILERW_PXX_S
7424 UINT64_C(622866432), // WHILEWR_PXX_B
7425 UINT64_C(635449344), // WHILEWR_PXX_D
7426 UINT64_C(627060736), // WHILEWR_PXX_H
7427 UINT64_C(631255040), // WHILEWR_PXX_S
7428 UINT64_C(623415296), // WRFFR
7429 UINT64_C(3573563455), // XAFLAG
7430 UINT64_C(3464495104), // XAR
7431 UINT64_C(69743616), // XAR_ZZZI_B
7432 UINT64_C(77607936), // XAR_ZZZI_D
7433 UINT64_C(70267904), // XAR_ZZZI_H
7434 UINT64_C(73413632), // XAR_ZZZI_S
7435 UINT64_C(3670099936), // XPACD
7436 UINT64_C(3670098912), // XPACI
7437 UINT64_C(3573752063), // XPACLRI
7438 UINT64_C(1310795776), // XTNv16i8
7439 UINT64_C(245442560), // XTNv2i32
7440 UINT64_C(241248256), // XTNv4i16
7441 UINT64_C(1319184384), // XTNv4i32
7442 UINT64_C(1314990080), // XTNv8i16
7443 UINT64_C(237053952), // XTNv8i8
7444 UINT64_C(3221749760), // ZERO_M
7445 UINT64_C(3222044672), // ZERO_MXI_2Z
7446 UINT64_C(3222175744), // ZERO_MXI_4Z
7447 UINT64_C(3222077440), // ZERO_MXI_VG2_2Z
7448 UINT64_C(3222208512), // ZERO_MXI_VG2_4Z
7449 UINT64_C(3222011904), // ZERO_MXI_VG2_Z
7450 UINT64_C(3222110208), // ZERO_MXI_VG4_2Z
7451 UINT64_C(3222241280), // ZERO_MXI_VG4_4Z
7452 UINT64_C(3222142976), // ZERO_MXI_VG4_Z
7453 UINT64_C(3225944065), // ZERO_T
7454 UINT64_C(85999616), // ZIP1_PPP_B
7455 UINT64_C(98582528), // ZIP1_PPP_D
7456 UINT64_C(90193920), // ZIP1_PPP_H
7457 UINT64_C(94388224), // ZIP1_PPP_S
7458 UINT64_C(86007808), // ZIP1_ZZZ_B
7459 UINT64_C(98590720), // ZIP1_ZZZ_D
7460 UINT64_C(90202112), // ZIP1_ZZZ_H
7461 UINT64_C(94371840), // ZIP1_ZZZ_Q
7462 UINT64_C(94396416), // ZIP1_ZZZ_S
7463 UINT64_C(1308637184), // ZIP1v16i8
7464 UINT64_C(243283968), // ZIP1v2i32
7465 UINT64_C(1321220096), // ZIP1v2i64
7466 UINT64_C(239089664), // ZIP1v4i16
7467 UINT64_C(1317025792), // ZIP1v4i32
7468 UINT64_C(1312831488), // ZIP1v8i16
7469 UINT64_C(234895360), // ZIP1v8i8
7470 UINT64_C(86000640), // ZIP2_PPP_B
7471 UINT64_C(98583552), // ZIP2_PPP_D
7472 UINT64_C(90194944), // ZIP2_PPP_H
7473 UINT64_C(94389248), // ZIP2_PPP_S
7474 UINT64_C(86008832), // ZIP2_ZZZ_B
7475 UINT64_C(98591744), // ZIP2_ZZZ_D
7476 UINT64_C(90203136), // ZIP2_ZZZ_H
7477 UINT64_C(94372864), // ZIP2_ZZZ_Q
7478 UINT64_C(94397440), // ZIP2_ZZZ_S
7479 UINT64_C(1308653568), // ZIP2v16i8
7480 UINT64_C(243300352), // ZIP2v2i32
7481 UINT64_C(1321236480), // ZIP2v2i64
7482 UINT64_C(239106048), // ZIP2v4i16
7483 UINT64_C(1317042176), // ZIP2v4i32
7484 UINT64_C(1312847872), // ZIP2v8i16
7485 UINT64_C(234911744), // ZIP2v8i8
7486 UINT64_C(1140908032), // ZIPQ1_ZZZ_B
7487 UINT64_C(1153490944), // ZIPQ1_ZZZ_D
7488 UINT64_C(1145102336), // ZIPQ1_ZZZ_H
7489 UINT64_C(1149296640), // ZIPQ1_ZZZ_S
7490 UINT64_C(1140909056), // ZIPQ2_ZZZ_B
7491 UINT64_C(1153491968), // ZIPQ2_ZZZ_D
7492 UINT64_C(1145103360), // ZIPQ2_ZZZ_H
7493 UINT64_C(1149297664), // ZIPQ2_ZZZ_S
7494 UINT64_C(3240153088), // ZIP_VG2_2ZZZ_B
7495 UINT64_C(3252736000), // ZIP_VG2_2ZZZ_D
7496 UINT64_C(3244347392), // ZIP_VG2_2ZZZ_H
7497 UINT64_C(3240154112), // ZIP_VG2_2ZZZ_Q
7498 UINT64_C(3248541696), // ZIP_VG2_2ZZZ_S
7499 UINT64_C(3241598976), // ZIP_VG4_4Z4Z_B
7500 UINT64_C(3254181888), // ZIP_VG4_4Z4Z_D
7501 UINT64_C(3245793280), // ZIP_VG4_4Z4Z_H
7502 UINT64_C(3241664512), // ZIP_VG4_4Z4Z_Q
7503 UINT64_C(3249987584), // ZIP_VG4_4Z4Z_S
7504 };
7505 constexpr unsigned FirstSupportedOpcode = 1646;
7506
7507 const unsigned opcode = MI.getOpcode();
7508 if (opcode < FirstSupportedOpcode)
7509 reportUnsupportedInst(Inst: MI);
7510 unsigned TableIndex = opcode - FirstSupportedOpcode;
7511 uint64_t Value = InstBits[TableIndex];
7512 uint64_t op = 0;
7513 (void)op; // suppress warning
7514 switch (opcode) {
7515 case AArch64::AUTIA1716:
7516 case AArch64::AUTIA171615:
7517 case AArch64::AUTIASP:
7518 case AArch64::AUTIAZ:
7519 case AArch64::AUTIB1716:
7520 case AArch64::AUTIB171615:
7521 case AArch64::AUTIBSP:
7522 case AArch64::AUTIBZ:
7523 case AArch64::AXFLAG:
7524 case AArch64::BRB_IALL:
7525 case AArch64::BRB_INJ:
7526 case AArch64::CFINV:
7527 case AArch64::CHKFEAT:
7528 case AArch64::DRPS:
7529 case AArch64::ERET:
7530 case AArch64::ERETAA:
7531 case AArch64::ERETAB:
7532 case AArch64::GCSPOPCX:
7533 case AArch64::GCSPOPX:
7534 case AArch64::GCSPUSHX:
7535 case AArch64::NOP:
7536 case AArch64::PACIA1716:
7537 case AArch64::PACIA171615:
7538 case AArch64::PACIASP:
7539 case AArch64::PACIASPPC:
7540 case AArch64::PACIAZ:
7541 case AArch64::PACIB1716:
7542 case AArch64::PACIB171615:
7543 case AArch64::PACIBSP:
7544 case AArch64::PACIBSPPC:
7545 case AArch64::PACIBZ:
7546 case AArch64::PACM:
7547 case AArch64::PACNBIASPPC:
7548 case AArch64::PACNBIBSPPC:
7549 case AArch64::RETAA:
7550 case AArch64::RETAB:
7551 case AArch64::SB:
7552 case AArch64::SETFFR:
7553 case AArch64::STCPH:
7554 case AArch64::TSB:
7555 case AArch64::XAFLAG:
7556 case AArch64::XPACLRI:
7557 case AArch64::ZERO_T: {
7558 break;
7559 }
7560 case AArch64::DSBnXS: {
7561 // op: CRm
7562 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7563 Value |= (op & 0xc) << 8;
7564 break;
7565 }
7566 case AArch64::CLREX:
7567 case AArch64::DMB:
7568 case AArch64::DSB:
7569 case AArch64::ISB: {
7570 // op: CRm
7571 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7572 Value |= (op & 0xf) << 8;
7573 break;
7574 }
7575 case AArch64::PTRUE_C_B:
7576 case AArch64::PTRUE_C_D:
7577 case AArch64::PTRUE_C_H:
7578 case AArch64::PTRUE_C_S: {
7579 // op: PNd
7580 op = EncodePNR_p8to15(MI, OpIdx: 0, Fixups, STI);
7581 Value |= (op & 0x7);
7582 break;
7583 }
7584 case AArch64::WHILEGE_CXX_B:
7585 case AArch64::WHILEGE_CXX_D:
7586 case AArch64::WHILEGE_CXX_H:
7587 case AArch64::WHILEGE_CXX_S:
7588 case AArch64::WHILEGT_CXX_B:
7589 case AArch64::WHILEGT_CXX_D:
7590 case AArch64::WHILEGT_CXX_H:
7591 case AArch64::WHILEGT_CXX_S:
7592 case AArch64::WHILEHI_CXX_B:
7593 case AArch64::WHILEHI_CXX_D:
7594 case AArch64::WHILEHI_CXX_H:
7595 case AArch64::WHILEHI_CXX_S:
7596 case AArch64::WHILEHS_CXX_B:
7597 case AArch64::WHILEHS_CXX_D:
7598 case AArch64::WHILEHS_CXX_H:
7599 case AArch64::WHILEHS_CXX_S:
7600 case AArch64::WHILELE_CXX_B:
7601 case AArch64::WHILELE_CXX_D:
7602 case AArch64::WHILELE_CXX_H:
7603 case AArch64::WHILELE_CXX_S:
7604 case AArch64::WHILELO_CXX_B:
7605 case AArch64::WHILELO_CXX_D:
7606 case AArch64::WHILELO_CXX_H:
7607 case AArch64::WHILELO_CXX_S:
7608 case AArch64::WHILELS_CXX_B:
7609 case AArch64::WHILELS_CXX_D:
7610 case AArch64::WHILELS_CXX_H:
7611 case AArch64::WHILELS_CXX_S:
7612 case AArch64::WHILELT_CXX_B:
7613 case AArch64::WHILELT_CXX_D:
7614 case AArch64::WHILELT_CXX_H:
7615 case AArch64::WHILELT_CXX_S: {
7616 // op: PNd
7617 op = EncodePNR_p8to15(MI, OpIdx: 0, Fixups, STI);
7618 Value |= (op & 0x7);
7619 // op: Rn
7620 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7621 Value |= (op & 0x1f) << 5;
7622 // op: vl
7623 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7624 Value |= (op & 0x1) << 13;
7625 // op: Rm
7626 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7627 Value |= (op & 0x1f) << 16;
7628 break;
7629 }
7630 case AArch64::SEL_VG2_2ZC2Z2Z_B:
7631 case AArch64::SEL_VG2_2ZC2Z2Z_D:
7632 case AArch64::SEL_VG2_2ZC2Z2Z_H:
7633 case AArch64::SEL_VG2_2ZC2Z2Z_S: {
7634 // op: PNg
7635 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7636 Value |= (op & 0x7) << 10;
7637 // op: Zm
7638 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 3, Fixups, STI);
7639 Value |= (op & 0xf) << 17;
7640 // op: Zn
7641 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
7642 Value |= (op & 0xf) << 6;
7643 // op: Zd
7644 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
7645 Value |= (op & 0xf) << 1;
7646 break;
7647 }
7648 case AArch64::SEL_VG4_4ZC4Z4Z_B:
7649 case AArch64::SEL_VG4_4ZC4Z4Z_D:
7650 case AArch64::SEL_VG4_4ZC4Z4Z_H:
7651 case AArch64::SEL_VG4_4ZC4Z4Z_S: {
7652 // op: PNg
7653 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7654 Value |= (op & 0x7) << 10;
7655 // op: Zm
7656 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 3, Fixups, STI);
7657 Value |= (op & 0x7) << 18;
7658 // op: Zn
7659 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 2, Fixups, STI);
7660 Value |= (op & 0x7) << 7;
7661 // op: Zd
7662 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
7663 Value |= (op & 0x7) << 2;
7664 break;
7665 }
7666 case AArch64::WHILEGE_2PXX_B:
7667 case AArch64::WHILEGE_2PXX_D:
7668 case AArch64::WHILEGE_2PXX_H:
7669 case AArch64::WHILEGE_2PXX_S:
7670 case AArch64::WHILEGT_2PXX_B:
7671 case AArch64::WHILEGT_2PXX_D:
7672 case AArch64::WHILEGT_2PXX_H:
7673 case AArch64::WHILEGT_2PXX_S:
7674 case AArch64::WHILEHI_2PXX_B:
7675 case AArch64::WHILEHI_2PXX_D:
7676 case AArch64::WHILEHI_2PXX_H:
7677 case AArch64::WHILEHI_2PXX_S:
7678 case AArch64::WHILEHS_2PXX_B:
7679 case AArch64::WHILEHS_2PXX_D:
7680 case AArch64::WHILEHS_2PXX_H:
7681 case AArch64::WHILEHS_2PXX_S:
7682 case AArch64::WHILELE_2PXX_B:
7683 case AArch64::WHILELE_2PXX_D:
7684 case AArch64::WHILELE_2PXX_H:
7685 case AArch64::WHILELE_2PXX_S:
7686 case AArch64::WHILELO_2PXX_B:
7687 case AArch64::WHILELO_2PXX_D:
7688 case AArch64::WHILELO_2PXX_H:
7689 case AArch64::WHILELO_2PXX_S:
7690 case AArch64::WHILELS_2PXX_B:
7691 case AArch64::WHILELS_2PXX_D:
7692 case AArch64::WHILELS_2PXX_H:
7693 case AArch64::WHILELS_2PXX_S:
7694 case AArch64::WHILELT_2PXX_B:
7695 case AArch64::WHILELT_2PXX_D:
7696 case AArch64::WHILELT_2PXX_H:
7697 case AArch64::WHILELT_2PXX_S: {
7698 // op: Pd
7699 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 0, Fixups, STI);
7700 Value |= (op & 0x7) << 1;
7701 // op: Rn
7702 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7703 Value |= (op & 0x1f) << 5;
7704 // op: Rm
7705 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7706 Value |= (op & 0x1f) << 16;
7707 break;
7708 }
7709 case AArch64::PFALSE:
7710 case AArch64::RDFFR_P: {
7711 // op: Pd
7712 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7713 Value |= (op & 0xf);
7714 break;
7715 }
7716 case AArch64::PEXT_2PCI_B:
7717 case AArch64::PEXT_2PCI_D:
7718 case AArch64::PEXT_2PCI_H:
7719 case AArch64::PEXT_2PCI_S: {
7720 // op: Pd
7721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7722 Value |= (op & 0xf);
7723 // op: PNn
7724 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7725 Value |= (op & 0x7) << 5;
7726 // op: index
7727 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7728 Value |= (op & 0x1) << 8;
7729 break;
7730 }
7731 case AArch64::PEXT_PCI_B:
7732 case AArch64::PEXT_PCI_D:
7733 case AArch64::PEXT_PCI_H:
7734 case AArch64::PEXT_PCI_S: {
7735 // op: Pd
7736 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7737 Value |= (op & 0xf);
7738 // op: PNn
7739 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7740 Value |= (op & 0x7) << 5;
7741 // op: index
7742 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7743 Value |= (op & 0x3) << 8;
7744 break;
7745 }
7746 case AArch64::CMPEQ_PPzZZ_B:
7747 case AArch64::CMPEQ_PPzZZ_D:
7748 case AArch64::CMPEQ_PPzZZ_H:
7749 case AArch64::CMPEQ_PPzZZ_S:
7750 case AArch64::CMPEQ_WIDE_PPzZZ_B:
7751 case AArch64::CMPEQ_WIDE_PPzZZ_H:
7752 case AArch64::CMPEQ_WIDE_PPzZZ_S:
7753 case AArch64::CMPGE_PPzZZ_B:
7754 case AArch64::CMPGE_PPzZZ_D:
7755 case AArch64::CMPGE_PPzZZ_H:
7756 case AArch64::CMPGE_PPzZZ_S:
7757 case AArch64::CMPGE_WIDE_PPzZZ_B:
7758 case AArch64::CMPGE_WIDE_PPzZZ_H:
7759 case AArch64::CMPGE_WIDE_PPzZZ_S:
7760 case AArch64::CMPGT_PPzZZ_B:
7761 case AArch64::CMPGT_PPzZZ_D:
7762 case AArch64::CMPGT_PPzZZ_H:
7763 case AArch64::CMPGT_PPzZZ_S:
7764 case AArch64::CMPGT_WIDE_PPzZZ_B:
7765 case AArch64::CMPGT_WIDE_PPzZZ_H:
7766 case AArch64::CMPGT_WIDE_PPzZZ_S:
7767 case AArch64::CMPHI_PPzZZ_B:
7768 case AArch64::CMPHI_PPzZZ_D:
7769 case AArch64::CMPHI_PPzZZ_H:
7770 case AArch64::CMPHI_PPzZZ_S:
7771 case AArch64::CMPHI_WIDE_PPzZZ_B:
7772 case AArch64::CMPHI_WIDE_PPzZZ_H:
7773 case AArch64::CMPHI_WIDE_PPzZZ_S:
7774 case AArch64::CMPHS_PPzZZ_B:
7775 case AArch64::CMPHS_PPzZZ_D:
7776 case AArch64::CMPHS_PPzZZ_H:
7777 case AArch64::CMPHS_PPzZZ_S:
7778 case AArch64::CMPHS_WIDE_PPzZZ_B:
7779 case AArch64::CMPHS_WIDE_PPzZZ_H:
7780 case AArch64::CMPHS_WIDE_PPzZZ_S:
7781 case AArch64::CMPLE_WIDE_PPzZZ_B:
7782 case AArch64::CMPLE_WIDE_PPzZZ_H:
7783 case AArch64::CMPLE_WIDE_PPzZZ_S:
7784 case AArch64::CMPLO_WIDE_PPzZZ_B:
7785 case AArch64::CMPLO_WIDE_PPzZZ_H:
7786 case AArch64::CMPLO_WIDE_PPzZZ_S:
7787 case AArch64::CMPLS_WIDE_PPzZZ_B:
7788 case AArch64::CMPLS_WIDE_PPzZZ_H:
7789 case AArch64::CMPLS_WIDE_PPzZZ_S:
7790 case AArch64::CMPLT_WIDE_PPzZZ_B:
7791 case AArch64::CMPLT_WIDE_PPzZZ_H:
7792 case AArch64::CMPLT_WIDE_PPzZZ_S:
7793 case AArch64::CMPNE_PPzZZ_B:
7794 case AArch64::CMPNE_PPzZZ_D:
7795 case AArch64::CMPNE_PPzZZ_H:
7796 case AArch64::CMPNE_PPzZZ_S:
7797 case AArch64::CMPNE_WIDE_PPzZZ_B:
7798 case AArch64::CMPNE_WIDE_PPzZZ_H:
7799 case AArch64::CMPNE_WIDE_PPzZZ_S:
7800 case AArch64::FACGE_PPzZZ_D:
7801 case AArch64::FACGE_PPzZZ_H:
7802 case AArch64::FACGE_PPzZZ_S:
7803 case AArch64::FACGT_PPzZZ_D:
7804 case AArch64::FACGT_PPzZZ_H:
7805 case AArch64::FACGT_PPzZZ_S:
7806 case AArch64::FCMEQ_PPzZZ_D:
7807 case AArch64::FCMEQ_PPzZZ_H:
7808 case AArch64::FCMEQ_PPzZZ_S:
7809 case AArch64::FCMGE_PPzZZ_D:
7810 case AArch64::FCMGE_PPzZZ_H:
7811 case AArch64::FCMGE_PPzZZ_S:
7812 case AArch64::FCMGT_PPzZZ_D:
7813 case AArch64::FCMGT_PPzZZ_H:
7814 case AArch64::FCMGT_PPzZZ_S:
7815 case AArch64::FCMNE_PPzZZ_D:
7816 case AArch64::FCMNE_PPzZZ_H:
7817 case AArch64::FCMNE_PPzZZ_S:
7818 case AArch64::FCMUO_PPzZZ_D:
7819 case AArch64::FCMUO_PPzZZ_H:
7820 case AArch64::FCMUO_PPzZZ_S:
7821 case AArch64::MATCH_PPzZZ_B:
7822 case AArch64::MATCH_PPzZZ_H:
7823 case AArch64::NMATCH_PPzZZ_B:
7824 case AArch64::NMATCH_PPzZZ_H: {
7825 // op: Pd
7826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7827 Value |= (op & 0xf);
7828 // op: Pg
7829 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7830 Value |= (op & 0x7) << 10;
7831 // op: Zm
7832 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7833 Value |= (op & 0x1f) << 16;
7834 // op: Zn
7835 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7836 Value |= (op & 0x1f) << 5;
7837 break;
7838 }
7839 case AArch64::FCMEQ_PPzZ0_D:
7840 case AArch64::FCMEQ_PPzZ0_H:
7841 case AArch64::FCMEQ_PPzZ0_S:
7842 case AArch64::FCMGE_PPzZ0_D:
7843 case AArch64::FCMGE_PPzZ0_H:
7844 case AArch64::FCMGE_PPzZ0_S:
7845 case AArch64::FCMGT_PPzZ0_D:
7846 case AArch64::FCMGT_PPzZ0_H:
7847 case AArch64::FCMGT_PPzZ0_S:
7848 case AArch64::FCMLE_PPzZ0_D:
7849 case AArch64::FCMLE_PPzZ0_H:
7850 case AArch64::FCMLE_PPzZ0_S:
7851 case AArch64::FCMLT_PPzZ0_D:
7852 case AArch64::FCMLT_PPzZ0_H:
7853 case AArch64::FCMLT_PPzZ0_S:
7854 case AArch64::FCMNE_PPzZ0_D:
7855 case AArch64::FCMNE_PPzZ0_H:
7856 case AArch64::FCMNE_PPzZ0_S: {
7857 // op: Pd
7858 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7859 Value |= (op & 0xf);
7860 // op: Pg
7861 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7862 Value |= (op & 0x7) << 10;
7863 // op: Zn
7864 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7865 Value |= (op & 0x1f) << 5;
7866 break;
7867 }
7868 case AArch64::CMPEQ_PPzZI_B:
7869 case AArch64::CMPEQ_PPzZI_D:
7870 case AArch64::CMPEQ_PPzZI_H:
7871 case AArch64::CMPEQ_PPzZI_S:
7872 case AArch64::CMPGE_PPzZI_B:
7873 case AArch64::CMPGE_PPzZI_D:
7874 case AArch64::CMPGE_PPzZI_H:
7875 case AArch64::CMPGE_PPzZI_S:
7876 case AArch64::CMPGT_PPzZI_B:
7877 case AArch64::CMPGT_PPzZI_D:
7878 case AArch64::CMPGT_PPzZI_H:
7879 case AArch64::CMPGT_PPzZI_S:
7880 case AArch64::CMPLE_PPzZI_B:
7881 case AArch64::CMPLE_PPzZI_D:
7882 case AArch64::CMPLE_PPzZI_H:
7883 case AArch64::CMPLE_PPzZI_S:
7884 case AArch64::CMPLT_PPzZI_B:
7885 case AArch64::CMPLT_PPzZI_D:
7886 case AArch64::CMPLT_PPzZI_H:
7887 case AArch64::CMPLT_PPzZI_S:
7888 case AArch64::CMPNE_PPzZI_B:
7889 case AArch64::CMPNE_PPzZI_D:
7890 case AArch64::CMPNE_PPzZI_H:
7891 case AArch64::CMPNE_PPzZI_S: {
7892 // op: Pd
7893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7894 Value |= (op & 0xf);
7895 // op: Pg
7896 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7897 Value |= (op & 0x7) << 10;
7898 // op: Zn
7899 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7900 Value |= (op & 0x1f) << 5;
7901 // op: imm5
7902 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7903 Value |= (op & 0x1f) << 16;
7904 break;
7905 }
7906 case AArch64::CMPHI_PPzZI_B:
7907 case AArch64::CMPHI_PPzZI_D:
7908 case AArch64::CMPHI_PPzZI_H:
7909 case AArch64::CMPHI_PPzZI_S:
7910 case AArch64::CMPHS_PPzZI_B:
7911 case AArch64::CMPHS_PPzZI_D:
7912 case AArch64::CMPHS_PPzZI_H:
7913 case AArch64::CMPHS_PPzZI_S:
7914 case AArch64::CMPLO_PPzZI_B:
7915 case AArch64::CMPLO_PPzZI_D:
7916 case AArch64::CMPLO_PPzZI_H:
7917 case AArch64::CMPLO_PPzZI_S:
7918 case AArch64::CMPLS_PPzZI_B:
7919 case AArch64::CMPLS_PPzZI_D:
7920 case AArch64::CMPLS_PPzZI_H:
7921 case AArch64::CMPLS_PPzZI_S: {
7922 // op: Pd
7923 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7924 Value |= (op & 0xf);
7925 // op: Pg
7926 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7927 Value |= (op & 0x7) << 10;
7928 // op: Zn
7929 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7930 Value |= (op & 0x1f) << 5;
7931 // op: imm7
7932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7933 Value |= (op & 0x7f) << 14;
7934 break;
7935 }
7936 case AArch64::ANDS_PPzPP:
7937 case AArch64::AND_PPzPP:
7938 case AArch64::BICS_PPzPP:
7939 case AArch64::BIC_PPzPP:
7940 case AArch64::BRKPAS_PPzPP:
7941 case AArch64::BRKPA_PPzPP:
7942 case AArch64::BRKPBS_PPzPP:
7943 case AArch64::BRKPB_PPzPP:
7944 case AArch64::EORS_PPzPP:
7945 case AArch64::EOR_PPzPP:
7946 case AArch64::NANDS_PPzPP:
7947 case AArch64::NAND_PPzPP:
7948 case AArch64::NORS_PPzPP:
7949 case AArch64::NOR_PPzPP:
7950 case AArch64::ORNS_PPzPP:
7951 case AArch64::ORN_PPzPP:
7952 case AArch64::ORRS_PPzPP:
7953 case AArch64::ORR_PPzPP:
7954 case AArch64::SEL_PPPP: {
7955 // op: Pd
7956 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7957 Value |= (op & 0xf);
7958 // op: Pg
7959 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7960 Value |= (op & 0xf) << 10;
7961 // op: Pm
7962 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7963 Value |= (op & 0xf) << 16;
7964 // op: Pn
7965 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7966 Value |= (op & 0xf) << 5;
7967 break;
7968 }
7969 case AArch64::BRKAS_PPzP:
7970 case AArch64::BRKA_PPzP:
7971 case AArch64::BRKBS_PPzP:
7972 case AArch64::BRKB_PPzP: {
7973 // op: Pd
7974 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7975 Value |= (op & 0xf);
7976 // op: Pg
7977 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7978 Value |= (op & 0xf) << 10;
7979 // op: Pn
7980 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7981 Value |= (op & 0xf) << 5;
7982 break;
7983 }
7984 case AArch64::RDFFRS_PPz:
7985 case AArch64::RDFFR_PPz: {
7986 // op: Pd
7987 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7988 Value |= (op & 0xf);
7989 // op: Pg
7990 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7991 Value |= (op & 0xf) << 5;
7992 break;
7993 }
7994 case AArch64::BRKA_PPmP:
7995 case AArch64::BRKB_PPmP: {
7996 // op: Pd
7997 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7998 Value |= (op & 0xf);
7999 // op: Pg
8000 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8001 Value |= (op & 0xf) << 10;
8002 // op: Pn
8003 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8004 Value |= (op & 0xf) << 5;
8005 break;
8006 }
8007 case AArch64::TRN1_PPP_B:
8008 case AArch64::TRN1_PPP_D:
8009 case AArch64::TRN1_PPP_H:
8010 case AArch64::TRN1_PPP_S:
8011 case AArch64::TRN2_PPP_B:
8012 case AArch64::TRN2_PPP_D:
8013 case AArch64::TRN2_PPP_H:
8014 case AArch64::TRN2_PPP_S:
8015 case AArch64::UZP1_PPP_B:
8016 case AArch64::UZP1_PPP_D:
8017 case AArch64::UZP1_PPP_H:
8018 case AArch64::UZP1_PPP_S:
8019 case AArch64::UZP2_PPP_B:
8020 case AArch64::UZP2_PPP_D:
8021 case AArch64::UZP2_PPP_H:
8022 case AArch64::UZP2_PPP_S:
8023 case AArch64::ZIP1_PPP_B:
8024 case AArch64::ZIP1_PPP_D:
8025 case AArch64::ZIP1_PPP_H:
8026 case AArch64::ZIP1_PPP_S:
8027 case AArch64::ZIP2_PPP_B:
8028 case AArch64::ZIP2_PPP_D:
8029 case AArch64::ZIP2_PPP_H:
8030 case AArch64::ZIP2_PPP_S: {
8031 // op: Pd
8032 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8033 Value |= (op & 0xf);
8034 // op: Pm
8035 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8036 Value |= (op & 0xf) << 16;
8037 // op: Pn
8038 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8039 Value |= (op & 0xf) << 5;
8040 break;
8041 }
8042 case AArch64::PUNPKHI_PP:
8043 case AArch64::PUNPKLO_PP:
8044 case AArch64::REV_PP_B:
8045 case AArch64::REV_PP_D:
8046 case AArch64::REV_PP_H:
8047 case AArch64::REV_PP_S: {
8048 // op: Pd
8049 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8050 Value |= (op & 0xf);
8051 // op: Pn
8052 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8053 Value |= (op & 0xf) << 5;
8054 break;
8055 }
8056 case AArch64::WHILEGE_PWW_B:
8057 case AArch64::WHILEGE_PWW_D:
8058 case AArch64::WHILEGE_PWW_H:
8059 case AArch64::WHILEGE_PWW_S:
8060 case AArch64::WHILEGE_PXX_B:
8061 case AArch64::WHILEGE_PXX_D:
8062 case AArch64::WHILEGE_PXX_H:
8063 case AArch64::WHILEGE_PXX_S:
8064 case AArch64::WHILEGT_PWW_B:
8065 case AArch64::WHILEGT_PWW_D:
8066 case AArch64::WHILEGT_PWW_H:
8067 case AArch64::WHILEGT_PWW_S:
8068 case AArch64::WHILEGT_PXX_B:
8069 case AArch64::WHILEGT_PXX_D:
8070 case AArch64::WHILEGT_PXX_H:
8071 case AArch64::WHILEGT_PXX_S:
8072 case AArch64::WHILEHI_PWW_B:
8073 case AArch64::WHILEHI_PWW_D:
8074 case AArch64::WHILEHI_PWW_H:
8075 case AArch64::WHILEHI_PWW_S:
8076 case AArch64::WHILEHI_PXX_B:
8077 case AArch64::WHILEHI_PXX_D:
8078 case AArch64::WHILEHI_PXX_H:
8079 case AArch64::WHILEHI_PXX_S:
8080 case AArch64::WHILEHS_PWW_B:
8081 case AArch64::WHILEHS_PWW_D:
8082 case AArch64::WHILEHS_PWW_H:
8083 case AArch64::WHILEHS_PWW_S:
8084 case AArch64::WHILEHS_PXX_B:
8085 case AArch64::WHILEHS_PXX_D:
8086 case AArch64::WHILEHS_PXX_H:
8087 case AArch64::WHILEHS_PXX_S:
8088 case AArch64::WHILELE_PWW_B:
8089 case AArch64::WHILELE_PWW_D:
8090 case AArch64::WHILELE_PWW_H:
8091 case AArch64::WHILELE_PWW_S:
8092 case AArch64::WHILELE_PXX_B:
8093 case AArch64::WHILELE_PXX_D:
8094 case AArch64::WHILELE_PXX_H:
8095 case AArch64::WHILELE_PXX_S:
8096 case AArch64::WHILELO_PWW_B:
8097 case AArch64::WHILELO_PWW_D:
8098 case AArch64::WHILELO_PWW_H:
8099 case AArch64::WHILELO_PWW_S:
8100 case AArch64::WHILELO_PXX_B:
8101 case AArch64::WHILELO_PXX_D:
8102 case AArch64::WHILELO_PXX_H:
8103 case AArch64::WHILELO_PXX_S:
8104 case AArch64::WHILELS_PWW_B:
8105 case AArch64::WHILELS_PWW_D:
8106 case AArch64::WHILELS_PWW_H:
8107 case AArch64::WHILELS_PWW_S:
8108 case AArch64::WHILELS_PXX_B:
8109 case AArch64::WHILELS_PXX_D:
8110 case AArch64::WHILELS_PXX_H:
8111 case AArch64::WHILELS_PXX_S:
8112 case AArch64::WHILELT_PWW_B:
8113 case AArch64::WHILELT_PWW_D:
8114 case AArch64::WHILELT_PWW_H:
8115 case AArch64::WHILELT_PWW_S:
8116 case AArch64::WHILELT_PXX_B:
8117 case AArch64::WHILELT_PXX_D:
8118 case AArch64::WHILELT_PXX_H:
8119 case AArch64::WHILELT_PXX_S:
8120 case AArch64::WHILERW_PXX_B:
8121 case AArch64::WHILERW_PXX_D:
8122 case AArch64::WHILERW_PXX_H:
8123 case AArch64::WHILERW_PXX_S:
8124 case AArch64::WHILEWR_PXX_B:
8125 case AArch64::WHILEWR_PXX_D:
8126 case AArch64::WHILEWR_PXX_H:
8127 case AArch64::WHILEWR_PXX_S: {
8128 // op: Pd
8129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8130 Value |= (op & 0xf);
8131 // op: Rm
8132 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8133 Value |= (op & 0x1f) << 16;
8134 // op: Rn
8135 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8136 Value |= (op & 0x1f) << 5;
8137 break;
8138 }
8139 case AArch64::PMOV_PZI_B: {
8140 // op: Pd
8141 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8142 Value |= (op & 0xf);
8143 // op: Zn
8144 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8145 Value |= (op & 0x1f) << 5;
8146 break;
8147 }
8148 case AArch64::PMOV_PZI_H: {
8149 // op: Pd
8150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8151 Value |= (op & 0xf);
8152 // op: Zn
8153 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8154 Value |= (op & 0x1f) << 5;
8155 // op: index
8156 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8157 Value |= (op & 0x1) << 17;
8158 break;
8159 }
8160 case AArch64::PMOV_PZI_S: {
8161 // op: Pd
8162 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8163 Value |= (op & 0xf);
8164 // op: Zn
8165 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8166 Value |= (op & 0x1f) << 5;
8167 // op: index
8168 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8169 Value |= (op & 0x3) << 17;
8170 break;
8171 }
8172 case AArch64::PMOV_PZI_D: {
8173 // op: Pd
8174 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8175 Value |= (op & 0xf);
8176 // op: Zn
8177 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8178 Value |= (op & 0x1f) << 5;
8179 // op: index
8180 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8181 Value |= (op & 0x4) << 20;
8182 Value |= (op & 0x3) << 17;
8183 break;
8184 }
8185 case AArch64::PTRUES_B:
8186 case AArch64::PTRUES_D:
8187 case AArch64::PTRUES_H:
8188 case AArch64::PTRUES_S:
8189 case AArch64::PTRUE_B:
8190 case AArch64::PTRUE_D:
8191 case AArch64::PTRUE_H:
8192 case AArch64::PTRUE_S: {
8193 // op: Pd
8194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8195 Value |= (op & 0xf);
8196 // op: pattern
8197 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8198 Value |= (op & 0x1f) << 5;
8199 break;
8200 }
8201 case AArch64::BRKNS_PPzP:
8202 case AArch64::BRKN_PPzP: {
8203 // op: Pdm
8204 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8205 Value |= (op & 0xf);
8206 // op: Pg
8207 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8208 Value |= (op & 0xf) << 10;
8209 // op: Pn
8210 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8211 Value |= (op & 0xf) << 5;
8212 break;
8213 }
8214 case AArch64::PFIRST_B:
8215 case AArch64::PNEXT_B:
8216 case AArch64::PNEXT_D:
8217 case AArch64::PNEXT_H:
8218 case AArch64::PNEXT_S: {
8219 // op: Pdn
8220 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8221 Value |= (op & 0xf);
8222 // op: Pg
8223 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8224 Value |= (op & 0xf) << 5;
8225 break;
8226 }
8227 case AArch64::PTEST_PP: {
8228 // op: Pg
8229 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8230 Value |= (op & 0xf) << 10;
8231 // op: Pn
8232 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8233 Value |= (op & 0xf) << 5;
8234 break;
8235 }
8236 case AArch64::LASTA_RPZ_B:
8237 case AArch64::LASTA_RPZ_D:
8238 case AArch64::LASTA_RPZ_H:
8239 case AArch64::LASTA_RPZ_S:
8240 case AArch64::LASTB_RPZ_B:
8241 case AArch64::LASTB_RPZ_D:
8242 case AArch64::LASTB_RPZ_H:
8243 case AArch64::LASTB_RPZ_S: {
8244 // op: Pg
8245 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8246 Value |= (op & 0x7) << 10;
8247 // op: Rd
8248 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8249 Value |= (op & 0x1f);
8250 // op: Zn
8251 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8252 Value |= (op & 0x1f) << 5;
8253 break;
8254 }
8255 case AArch64::CLASTA_RPZ_B:
8256 case AArch64::CLASTA_RPZ_D:
8257 case AArch64::CLASTA_RPZ_H:
8258 case AArch64::CLASTA_RPZ_S:
8259 case AArch64::CLASTB_RPZ_B:
8260 case AArch64::CLASTB_RPZ_D:
8261 case AArch64::CLASTB_RPZ_H:
8262 case AArch64::CLASTB_RPZ_S: {
8263 // op: Pg
8264 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8265 Value |= (op & 0x7) << 10;
8266 // op: Rdn
8267 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8268 Value |= (op & 0x1f);
8269 // op: Zm
8270 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8271 Value |= (op & 0x1f) << 5;
8272 break;
8273 }
8274 case AArch64::LD2B:
8275 case AArch64::LD2D:
8276 case AArch64::LD2H:
8277 case AArch64::LD2Q:
8278 case AArch64::LD2W:
8279 case AArch64::LD3B:
8280 case AArch64::LD3D:
8281 case AArch64::LD3H:
8282 case AArch64::LD3Q:
8283 case AArch64::LD3W:
8284 case AArch64::LD4B:
8285 case AArch64::LD4D:
8286 case AArch64::LD4H:
8287 case AArch64::LD4Q:
8288 case AArch64::LD4W:
8289 case AArch64::LDNT1B_ZRR:
8290 case AArch64::LDNT1D_ZRR:
8291 case AArch64::LDNT1H_ZRR:
8292 case AArch64::LDNT1W_ZRR:
8293 case AArch64::ST1B:
8294 case AArch64::ST1B_D:
8295 case AArch64::ST1B_H:
8296 case AArch64::ST1B_S:
8297 case AArch64::ST1D:
8298 case AArch64::ST1D_Q:
8299 case AArch64::ST1H:
8300 case AArch64::ST1H_D:
8301 case AArch64::ST1H_S:
8302 case AArch64::ST1W:
8303 case AArch64::ST1W_D:
8304 case AArch64::ST1W_Q:
8305 case AArch64::ST2B:
8306 case AArch64::ST2D:
8307 case AArch64::ST2H:
8308 case AArch64::ST2W:
8309 case AArch64::ST3B:
8310 case AArch64::ST3D:
8311 case AArch64::ST3H:
8312 case AArch64::ST3W:
8313 case AArch64::ST4B:
8314 case AArch64::ST4D:
8315 case AArch64::ST4H:
8316 case AArch64::ST4W:
8317 case AArch64::STNT1B_ZRR:
8318 case AArch64::STNT1D_ZRR:
8319 case AArch64::STNT1H_ZRR:
8320 case AArch64::STNT1W_ZRR: {
8321 // op: Pg
8322 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8323 Value |= (op & 0x7) << 10;
8324 // op: Rm
8325 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8326 Value |= (op & 0x1f) << 16;
8327 // op: Rn
8328 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8329 Value |= (op & 0x1f) << 5;
8330 // op: Zt
8331 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8332 Value |= (op & 0x1f);
8333 break;
8334 }
8335 case AArch64::LDNT1B_ZZR_D:
8336 case AArch64::LDNT1B_ZZR_S:
8337 case AArch64::LDNT1D_ZZR_D:
8338 case AArch64::LDNT1H_ZZR_D:
8339 case AArch64::LDNT1H_ZZR_S:
8340 case AArch64::LDNT1SB_ZZR_D:
8341 case AArch64::LDNT1SB_ZZR_S:
8342 case AArch64::LDNT1SH_ZZR_D:
8343 case AArch64::LDNT1SH_ZZR_S:
8344 case AArch64::LDNT1SW_ZZR_D:
8345 case AArch64::LDNT1W_ZZR_D:
8346 case AArch64::LDNT1W_ZZR_S:
8347 case AArch64::STNT1B_ZZR_D:
8348 case AArch64::STNT1B_ZZR_S:
8349 case AArch64::STNT1D_ZZR_D:
8350 case AArch64::STNT1H_ZZR_D:
8351 case AArch64::STNT1H_ZZR_S:
8352 case AArch64::STNT1W_ZZR_D:
8353 case AArch64::STNT1W_ZZR_S: {
8354 // op: Pg
8355 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8356 Value |= (op & 0x7) << 10;
8357 // op: Rm
8358 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8359 Value |= (op & 0x1f) << 16;
8360 // op: Zn
8361 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8362 Value |= (op & 0x1f) << 5;
8363 // op: Zt
8364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8365 Value |= (op & 0x1f);
8366 break;
8367 }
8368 case AArch64::GLD1B_D:
8369 case AArch64::GLD1B_D_SXTW:
8370 case AArch64::GLD1B_D_UXTW:
8371 case AArch64::GLD1B_S_SXTW:
8372 case AArch64::GLD1B_S_UXTW:
8373 case AArch64::GLD1D:
8374 case AArch64::GLD1D_SCALED:
8375 case AArch64::GLD1D_SXTW:
8376 case AArch64::GLD1D_SXTW_SCALED:
8377 case AArch64::GLD1D_UXTW:
8378 case AArch64::GLD1D_UXTW_SCALED:
8379 case AArch64::GLD1H_D:
8380 case AArch64::GLD1H_D_SCALED:
8381 case AArch64::GLD1H_D_SXTW:
8382 case AArch64::GLD1H_D_SXTW_SCALED:
8383 case AArch64::GLD1H_D_UXTW:
8384 case AArch64::GLD1H_D_UXTW_SCALED:
8385 case AArch64::GLD1H_S_SXTW:
8386 case AArch64::GLD1H_S_SXTW_SCALED:
8387 case AArch64::GLD1H_S_UXTW:
8388 case AArch64::GLD1H_S_UXTW_SCALED:
8389 case AArch64::GLD1SB_D:
8390 case AArch64::GLD1SB_D_SXTW:
8391 case AArch64::GLD1SB_D_UXTW:
8392 case AArch64::GLD1SB_S_SXTW:
8393 case AArch64::GLD1SB_S_UXTW:
8394 case AArch64::GLD1SH_D:
8395 case AArch64::GLD1SH_D_SCALED:
8396 case AArch64::GLD1SH_D_SXTW:
8397 case AArch64::GLD1SH_D_SXTW_SCALED:
8398 case AArch64::GLD1SH_D_UXTW:
8399 case AArch64::GLD1SH_D_UXTW_SCALED:
8400 case AArch64::GLD1SH_S_SXTW:
8401 case AArch64::GLD1SH_S_SXTW_SCALED:
8402 case AArch64::GLD1SH_S_UXTW:
8403 case AArch64::GLD1SH_S_UXTW_SCALED:
8404 case AArch64::GLD1SW_D:
8405 case AArch64::GLD1SW_D_SCALED:
8406 case AArch64::GLD1SW_D_SXTW:
8407 case AArch64::GLD1SW_D_SXTW_SCALED:
8408 case AArch64::GLD1SW_D_UXTW:
8409 case AArch64::GLD1SW_D_UXTW_SCALED:
8410 case AArch64::GLD1W_D:
8411 case AArch64::GLD1W_D_SCALED:
8412 case AArch64::GLD1W_D_SXTW:
8413 case AArch64::GLD1W_D_SXTW_SCALED:
8414 case AArch64::GLD1W_D_UXTW:
8415 case AArch64::GLD1W_D_UXTW_SCALED:
8416 case AArch64::GLD1W_SXTW:
8417 case AArch64::GLD1W_SXTW_SCALED:
8418 case AArch64::GLD1W_UXTW:
8419 case AArch64::GLD1W_UXTW_SCALED:
8420 case AArch64::GLDFF1B_D:
8421 case AArch64::GLDFF1B_D_SXTW:
8422 case AArch64::GLDFF1B_D_UXTW:
8423 case AArch64::GLDFF1B_S_SXTW:
8424 case AArch64::GLDFF1B_S_UXTW:
8425 case AArch64::GLDFF1D:
8426 case AArch64::GLDFF1D_SCALED:
8427 case AArch64::GLDFF1D_SXTW:
8428 case AArch64::GLDFF1D_SXTW_SCALED:
8429 case AArch64::GLDFF1D_UXTW:
8430 case AArch64::GLDFF1D_UXTW_SCALED:
8431 case AArch64::GLDFF1H_D:
8432 case AArch64::GLDFF1H_D_SCALED:
8433 case AArch64::GLDFF1H_D_SXTW:
8434 case AArch64::GLDFF1H_D_SXTW_SCALED:
8435 case AArch64::GLDFF1H_D_UXTW:
8436 case AArch64::GLDFF1H_D_UXTW_SCALED:
8437 case AArch64::GLDFF1H_S_SXTW:
8438 case AArch64::GLDFF1H_S_SXTW_SCALED:
8439 case AArch64::GLDFF1H_S_UXTW:
8440 case AArch64::GLDFF1H_S_UXTW_SCALED:
8441 case AArch64::GLDFF1SB_D:
8442 case AArch64::GLDFF1SB_D_SXTW:
8443 case AArch64::GLDFF1SB_D_UXTW:
8444 case AArch64::GLDFF1SB_S_SXTW:
8445 case AArch64::GLDFF1SB_S_UXTW:
8446 case AArch64::GLDFF1SH_D:
8447 case AArch64::GLDFF1SH_D_SCALED:
8448 case AArch64::GLDFF1SH_D_SXTW:
8449 case AArch64::GLDFF1SH_D_SXTW_SCALED:
8450 case AArch64::GLDFF1SH_D_UXTW:
8451 case AArch64::GLDFF1SH_D_UXTW_SCALED:
8452 case AArch64::GLDFF1SH_S_SXTW:
8453 case AArch64::GLDFF1SH_S_SXTW_SCALED:
8454 case AArch64::GLDFF1SH_S_UXTW:
8455 case AArch64::GLDFF1SH_S_UXTW_SCALED:
8456 case AArch64::GLDFF1SW_D:
8457 case AArch64::GLDFF1SW_D_SCALED:
8458 case AArch64::GLDFF1SW_D_SXTW:
8459 case AArch64::GLDFF1SW_D_SXTW_SCALED:
8460 case AArch64::GLDFF1SW_D_UXTW:
8461 case AArch64::GLDFF1SW_D_UXTW_SCALED:
8462 case AArch64::GLDFF1W_D:
8463 case AArch64::GLDFF1W_D_SCALED:
8464 case AArch64::GLDFF1W_D_SXTW:
8465 case AArch64::GLDFF1W_D_SXTW_SCALED:
8466 case AArch64::GLDFF1W_D_UXTW:
8467 case AArch64::GLDFF1W_D_UXTW_SCALED:
8468 case AArch64::GLDFF1W_SXTW:
8469 case AArch64::GLDFF1W_SXTW_SCALED:
8470 case AArch64::GLDFF1W_UXTW:
8471 case AArch64::GLDFF1W_UXTW_SCALED:
8472 case AArch64::SST1B_D:
8473 case AArch64::SST1B_D_SXTW:
8474 case AArch64::SST1B_D_UXTW:
8475 case AArch64::SST1B_S_SXTW:
8476 case AArch64::SST1B_S_UXTW:
8477 case AArch64::SST1D:
8478 case AArch64::SST1D_SCALED:
8479 case AArch64::SST1D_SXTW:
8480 case AArch64::SST1D_SXTW_SCALED:
8481 case AArch64::SST1D_UXTW:
8482 case AArch64::SST1D_UXTW_SCALED:
8483 case AArch64::SST1H_D:
8484 case AArch64::SST1H_D_SCALED:
8485 case AArch64::SST1H_D_SXTW:
8486 case AArch64::SST1H_D_SXTW_SCALED:
8487 case AArch64::SST1H_D_UXTW:
8488 case AArch64::SST1H_D_UXTW_SCALED:
8489 case AArch64::SST1H_S_SXTW:
8490 case AArch64::SST1H_S_SXTW_SCALED:
8491 case AArch64::SST1H_S_UXTW:
8492 case AArch64::SST1H_S_UXTW_SCALED:
8493 case AArch64::SST1W_D:
8494 case AArch64::SST1W_D_SCALED:
8495 case AArch64::SST1W_D_SXTW:
8496 case AArch64::SST1W_D_SXTW_SCALED:
8497 case AArch64::SST1W_D_UXTW:
8498 case AArch64::SST1W_D_UXTW_SCALED:
8499 case AArch64::SST1W_SXTW:
8500 case AArch64::SST1W_SXTW_SCALED:
8501 case AArch64::SST1W_UXTW:
8502 case AArch64::SST1W_UXTW_SCALED: {
8503 // op: Pg
8504 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8505 Value |= (op & 0x7) << 10;
8506 // op: Rn
8507 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8508 Value |= (op & 0x1f) << 5;
8509 // op: Zm
8510 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8511 Value |= (op & 0x1f) << 16;
8512 // op: Zt
8513 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8514 Value |= (op & 0x1f);
8515 break;
8516 }
8517 case AArch64::PRFB_D_SCALED:
8518 case AArch64::PRFB_D_SXTW_SCALED:
8519 case AArch64::PRFB_D_UXTW_SCALED:
8520 case AArch64::PRFB_S_SXTW_SCALED:
8521 case AArch64::PRFB_S_UXTW_SCALED:
8522 case AArch64::PRFD_D_SCALED:
8523 case AArch64::PRFD_D_SXTW_SCALED:
8524 case AArch64::PRFD_D_UXTW_SCALED:
8525 case AArch64::PRFD_S_SXTW_SCALED:
8526 case AArch64::PRFD_S_UXTW_SCALED:
8527 case AArch64::PRFH_D_SCALED:
8528 case AArch64::PRFH_D_SXTW_SCALED:
8529 case AArch64::PRFH_D_UXTW_SCALED:
8530 case AArch64::PRFH_S_SXTW_SCALED:
8531 case AArch64::PRFH_S_UXTW_SCALED:
8532 case AArch64::PRFW_D_SCALED:
8533 case AArch64::PRFW_D_SXTW_SCALED:
8534 case AArch64::PRFW_D_UXTW_SCALED:
8535 case AArch64::PRFW_S_SXTW_SCALED:
8536 case AArch64::PRFW_S_UXTW_SCALED: {
8537 // op: Pg
8538 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8539 Value |= (op & 0x7) << 10;
8540 // op: Rn
8541 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8542 Value |= (op & 0x1f) << 5;
8543 // op: Zm
8544 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8545 Value |= (op & 0x1f) << 16;
8546 // op: prfop
8547 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8548 Value |= (op & 0xf);
8549 break;
8550 }
8551 case AArch64::LD1B_D_IMM:
8552 case AArch64::LD1B_H_IMM:
8553 case AArch64::LD1B_IMM:
8554 case AArch64::LD1B_S_IMM:
8555 case AArch64::LD1D_IMM:
8556 case AArch64::LD1H_D_IMM:
8557 case AArch64::LD1H_IMM:
8558 case AArch64::LD1H_S_IMM:
8559 case AArch64::LD1SB_D_IMM:
8560 case AArch64::LD1SB_H_IMM:
8561 case AArch64::LD1SB_S_IMM:
8562 case AArch64::LD1SH_D_IMM:
8563 case AArch64::LD1SH_S_IMM:
8564 case AArch64::LD1SW_D_IMM:
8565 case AArch64::LD1W_D_IMM:
8566 case AArch64::LD1W_IMM:
8567 case AArch64::LDNF1B_D_IMM:
8568 case AArch64::LDNF1B_H_IMM:
8569 case AArch64::LDNF1B_IMM:
8570 case AArch64::LDNF1B_S_IMM:
8571 case AArch64::LDNF1D_IMM:
8572 case AArch64::LDNF1H_D_IMM:
8573 case AArch64::LDNF1H_IMM:
8574 case AArch64::LDNF1H_S_IMM:
8575 case AArch64::LDNF1SB_D_IMM:
8576 case AArch64::LDNF1SB_H_IMM:
8577 case AArch64::LDNF1SB_S_IMM:
8578 case AArch64::LDNF1SH_D_IMM:
8579 case AArch64::LDNF1SH_S_IMM:
8580 case AArch64::LDNF1SW_D_IMM:
8581 case AArch64::LDNF1W_D_IMM:
8582 case AArch64::LDNF1W_IMM:
8583 case AArch64::ST1B_D_IMM:
8584 case AArch64::ST1B_H_IMM:
8585 case AArch64::ST1B_IMM:
8586 case AArch64::ST1B_S_IMM:
8587 case AArch64::ST1D_IMM:
8588 case AArch64::ST1D_Q_IMM:
8589 case AArch64::ST1H_D_IMM:
8590 case AArch64::ST1H_IMM:
8591 case AArch64::ST1H_S_IMM:
8592 case AArch64::ST1W_D_IMM:
8593 case AArch64::ST1W_IMM:
8594 case AArch64::ST1W_Q_IMM:
8595 case AArch64::ST2B_IMM:
8596 case AArch64::ST2D_IMM:
8597 case AArch64::ST2H_IMM:
8598 case AArch64::ST2W_IMM:
8599 case AArch64::ST3B_IMM:
8600 case AArch64::ST3D_IMM:
8601 case AArch64::ST3H_IMM:
8602 case AArch64::ST3W_IMM:
8603 case AArch64::ST4B_IMM:
8604 case AArch64::ST4D_IMM:
8605 case AArch64::ST4H_IMM:
8606 case AArch64::ST4W_IMM:
8607 case AArch64::STNT1B_ZRI:
8608 case AArch64::STNT1D_ZRI:
8609 case AArch64::STNT1H_ZRI:
8610 case AArch64::STNT1W_ZRI: {
8611 // op: Pg
8612 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8613 Value |= (op & 0x7) << 10;
8614 // op: Rn
8615 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8616 Value |= (op & 0x1f) << 5;
8617 // op: Zt
8618 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8619 Value |= (op & 0x1f);
8620 // op: imm4
8621 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8622 Value |= (op & 0xf) << 16;
8623 break;
8624 }
8625 case AArch64::LD1RB_D_IMM:
8626 case AArch64::LD1RB_H_IMM:
8627 case AArch64::LD1RB_IMM:
8628 case AArch64::LD1RB_S_IMM:
8629 case AArch64::LD1RD_IMM:
8630 case AArch64::LD1RH_D_IMM:
8631 case AArch64::LD1RH_IMM:
8632 case AArch64::LD1RH_S_IMM:
8633 case AArch64::LD1RSB_D_IMM:
8634 case AArch64::LD1RSB_H_IMM:
8635 case AArch64::LD1RSB_S_IMM:
8636 case AArch64::LD1RSH_D_IMM:
8637 case AArch64::LD1RSH_S_IMM:
8638 case AArch64::LD1RSW_IMM:
8639 case AArch64::LD1RW_D_IMM:
8640 case AArch64::LD1RW_IMM: {
8641 // op: Pg
8642 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8643 Value |= (op & 0x7) << 10;
8644 // op: Rn
8645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8646 Value |= (op & 0x1f) << 5;
8647 // op: Zt
8648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8649 Value |= (op & 0x1f);
8650 // op: imm6
8651 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8652 Value |= (op & 0x3f) << 16;
8653 break;
8654 }
8655 case AArch64::ANDV_VPZ_B:
8656 case AArch64::ANDV_VPZ_D:
8657 case AArch64::ANDV_VPZ_H:
8658 case AArch64::ANDV_VPZ_S:
8659 case AArch64::EORV_VPZ_B:
8660 case AArch64::EORV_VPZ_D:
8661 case AArch64::EORV_VPZ_H:
8662 case AArch64::EORV_VPZ_S:
8663 case AArch64::LASTA_VPZ_B:
8664 case AArch64::LASTA_VPZ_D:
8665 case AArch64::LASTA_VPZ_H:
8666 case AArch64::LASTA_VPZ_S:
8667 case AArch64::LASTB_VPZ_B:
8668 case AArch64::LASTB_VPZ_D:
8669 case AArch64::LASTB_VPZ_H:
8670 case AArch64::LASTB_VPZ_S:
8671 case AArch64::ORV_VPZ_B:
8672 case AArch64::ORV_VPZ_D:
8673 case AArch64::ORV_VPZ_H:
8674 case AArch64::ORV_VPZ_S:
8675 case AArch64::SADDV_VPZ_B:
8676 case AArch64::SADDV_VPZ_H:
8677 case AArch64::SADDV_VPZ_S:
8678 case AArch64::SMAXV_VPZ_B:
8679 case AArch64::SMAXV_VPZ_D:
8680 case AArch64::SMAXV_VPZ_H:
8681 case AArch64::SMAXV_VPZ_S:
8682 case AArch64::SMINV_VPZ_B:
8683 case AArch64::SMINV_VPZ_D:
8684 case AArch64::SMINV_VPZ_H:
8685 case AArch64::SMINV_VPZ_S:
8686 case AArch64::UADDV_VPZ_B:
8687 case AArch64::UADDV_VPZ_D:
8688 case AArch64::UADDV_VPZ_H:
8689 case AArch64::UADDV_VPZ_S:
8690 case AArch64::UMAXV_VPZ_B:
8691 case AArch64::UMAXV_VPZ_D:
8692 case AArch64::UMAXV_VPZ_H:
8693 case AArch64::UMAXV_VPZ_S:
8694 case AArch64::UMINV_VPZ_B:
8695 case AArch64::UMINV_VPZ_D:
8696 case AArch64::UMINV_VPZ_H:
8697 case AArch64::UMINV_VPZ_S: {
8698 // op: Pg
8699 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8700 Value |= (op & 0x7) << 10;
8701 // op: Vd
8702 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8703 Value |= (op & 0x1f);
8704 // op: Zn
8705 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8706 Value |= (op & 0x1f) << 5;
8707 break;
8708 }
8709 case AArch64::CLASTA_VPZ_B:
8710 case AArch64::CLASTA_VPZ_D:
8711 case AArch64::CLASTA_VPZ_H:
8712 case AArch64::CLASTA_VPZ_S:
8713 case AArch64::CLASTB_VPZ_B:
8714 case AArch64::CLASTB_VPZ_D:
8715 case AArch64::CLASTB_VPZ_H:
8716 case AArch64::CLASTB_VPZ_S:
8717 case AArch64::FADDA_VPZ_D:
8718 case AArch64::FADDA_VPZ_H:
8719 case AArch64::FADDA_VPZ_S: {
8720 // op: Pg
8721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8722 Value |= (op & 0x7) << 10;
8723 // op: Vdn
8724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8725 Value |= (op & 0x1f);
8726 // op: Zm
8727 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8728 Value |= (op & 0x1f) << 5;
8729 break;
8730 }
8731 case AArch64::FMAD_ZPmZZ_D:
8732 case AArch64::FMAD_ZPmZZ_H:
8733 case AArch64::FMAD_ZPmZZ_S:
8734 case AArch64::FMSB_ZPmZZ_D:
8735 case AArch64::FMSB_ZPmZZ_H:
8736 case AArch64::FMSB_ZPmZZ_S:
8737 case AArch64::FNMAD_ZPmZZ_D:
8738 case AArch64::FNMAD_ZPmZZ_H:
8739 case AArch64::FNMAD_ZPmZZ_S:
8740 case AArch64::FNMSB_ZPmZZ_D:
8741 case AArch64::FNMSB_ZPmZZ_H:
8742 case AArch64::FNMSB_ZPmZZ_S: {
8743 // op: Pg
8744 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8745 Value |= (op & 0x7) << 10;
8746 // op: Za
8747 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8748 Value |= (op & 0x1f) << 16;
8749 // op: Zdn
8750 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8751 Value |= (op & 0x1f);
8752 // op: Zm
8753 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8754 Value |= (op & 0x1f) << 5;
8755 break;
8756 }
8757 case AArch64::ABS_ZPzZ_B:
8758 case AArch64::ABS_ZPzZ_D:
8759 case AArch64::ABS_ZPzZ_H:
8760 case AArch64::ABS_ZPzZ_S:
8761 case AArch64::BFCVT_ZPzZ_StoH:
8762 case AArch64::CLS_ZPzZ_B:
8763 case AArch64::CLS_ZPzZ_D:
8764 case AArch64::CLS_ZPzZ_H:
8765 case AArch64::CLS_ZPzZ_S:
8766 case AArch64::CLZ_ZPzZ_B:
8767 case AArch64::CLZ_ZPzZ_D:
8768 case AArch64::CLZ_ZPzZ_H:
8769 case AArch64::CLZ_ZPzZ_S:
8770 case AArch64::CNOT_ZPzZ_B:
8771 case AArch64::CNOT_ZPzZ_D:
8772 case AArch64::CNOT_ZPzZ_H:
8773 case AArch64::CNOT_ZPzZ_S:
8774 case AArch64::CNT_ZPzZ_B:
8775 case AArch64::CNT_ZPzZ_D:
8776 case AArch64::CNT_ZPzZ_H:
8777 case AArch64::CNT_ZPzZ_S:
8778 case AArch64::COMPACT_ZPZ_B:
8779 case AArch64::COMPACT_ZPZ_D:
8780 case AArch64::COMPACT_ZPZ_H:
8781 case AArch64::COMPACT_ZPZ_S:
8782 case AArch64::FABS_ZPzZ_D:
8783 case AArch64::FABS_ZPzZ_H:
8784 case AArch64::FABS_ZPzZ_S:
8785 case AArch64::FCVTX_ZPzZ_DtoS:
8786 case AArch64::FCVTZS_ZPzZ_DtoD:
8787 case AArch64::FCVTZS_ZPzZ_DtoS:
8788 case AArch64::FCVTZS_ZPzZ_HtoD:
8789 case AArch64::FCVTZS_ZPzZ_HtoH:
8790 case AArch64::FCVTZS_ZPzZ_HtoS:
8791 case AArch64::FCVTZS_ZPzZ_StoD:
8792 case AArch64::FCVTZS_ZPzZ_StoS:
8793 case AArch64::FCVTZU_ZPzZ_DtoD:
8794 case AArch64::FCVTZU_ZPzZ_DtoS:
8795 case AArch64::FCVTZU_ZPzZ_HtoD:
8796 case AArch64::FCVTZU_ZPzZ_HtoH:
8797 case AArch64::FCVTZU_ZPzZ_HtoS:
8798 case AArch64::FCVTZU_ZPzZ_StoD:
8799 case AArch64::FCVTZU_ZPzZ_StoS:
8800 case AArch64::FCVT_ZPzZ_DtoH:
8801 case AArch64::FCVT_ZPzZ_DtoS:
8802 case AArch64::FCVT_ZPzZ_HtoD:
8803 case AArch64::FCVT_ZPzZ_HtoS:
8804 case AArch64::FCVT_ZPzZ_StoD:
8805 case AArch64::FCVT_ZPzZ_StoH:
8806 case AArch64::FLOGB_ZPzZ_D:
8807 case AArch64::FLOGB_ZPzZ_H:
8808 case AArch64::FLOGB_ZPzZ_S:
8809 case AArch64::FNEG_ZPzZ_D:
8810 case AArch64::FNEG_ZPzZ_H:
8811 case AArch64::FNEG_ZPzZ_S:
8812 case AArch64::FRECPX_ZPzZ_D:
8813 case AArch64::FRECPX_ZPzZ_H:
8814 case AArch64::FRECPX_ZPzZ_S:
8815 case AArch64::FRINT32X_ZPzZ_D:
8816 case AArch64::FRINT32X_ZPzZ_S:
8817 case AArch64::FRINT32Z_ZPzZ_D:
8818 case AArch64::FRINT32Z_ZPzZ_S:
8819 case AArch64::FRINT64X_ZPzZ_D:
8820 case AArch64::FRINT64X_ZPzZ_S:
8821 case AArch64::FRINT64Z_ZPzZ_D:
8822 case AArch64::FRINT64Z_ZPzZ_S:
8823 case AArch64::FRINTA_ZPzZ_D:
8824 case AArch64::FRINTA_ZPzZ_H:
8825 case AArch64::FRINTA_ZPzZ_S:
8826 case AArch64::FRINTI_ZPzZ_D:
8827 case AArch64::FRINTI_ZPzZ_H:
8828 case AArch64::FRINTI_ZPzZ_S:
8829 case AArch64::FRINTM_ZPzZ_D:
8830 case AArch64::FRINTM_ZPzZ_H:
8831 case AArch64::FRINTM_ZPzZ_S:
8832 case AArch64::FRINTN_ZPzZ_D:
8833 case AArch64::FRINTN_ZPzZ_H:
8834 case AArch64::FRINTN_ZPzZ_S:
8835 case AArch64::FRINTP_ZPzZ_D:
8836 case AArch64::FRINTP_ZPzZ_H:
8837 case AArch64::FRINTP_ZPzZ_S:
8838 case AArch64::FRINTX_ZPzZ_D:
8839 case AArch64::FRINTX_ZPzZ_H:
8840 case AArch64::FRINTX_ZPzZ_S:
8841 case AArch64::FRINTZ_ZPzZ_D:
8842 case AArch64::FRINTZ_ZPzZ_H:
8843 case AArch64::FRINTZ_ZPzZ_S:
8844 case AArch64::FSQRT_ZPZz_D:
8845 case AArch64::FSQRT_ZPZz_H:
8846 case AArch64::FSQRT_ZPZz_S:
8847 case AArch64::MOVPRFX_ZPzZ_B:
8848 case AArch64::MOVPRFX_ZPzZ_D:
8849 case AArch64::MOVPRFX_ZPzZ_H:
8850 case AArch64::MOVPRFX_ZPzZ_S:
8851 case AArch64::NEG_ZPzZ_B:
8852 case AArch64::NEG_ZPzZ_D:
8853 case AArch64::NEG_ZPzZ_H:
8854 case AArch64::NEG_ZPzZ_S:
8855 case AArch64::NOT_ZPzZ_B:
8856 case AArch64::NOT_ZPzZ_D:
8857 case AArch64::NOT_ZPzZ_H:
8858 case AArch64::NOT_ZPzZ_S:
8859 case AArch64::SCVTF_ZPzZ_DtoD:
8860 case AArch64::SCVTF_ZPzZ_DtoH:
8861 case AArch64::SCVTF_ZPzZ_DtoS:
8862 case AArch64::SCVTF_ZPzZ_HtoH:
8863 case AArch64::SCVTF_ZPzZ_StoD:
8864 case AArch64::SCVTF_ZPzZ_StoH:
8865 case AArch64::SCVTF_ZPzZ_StoS:
8866 case AArch64::SQABS_ZPzZ_B:
8867 case AArch64::SQABS_ZPzZ_D:
8868 case AArch64::SQABS_ZPzZ_H:
8869 case AArch64::SQABS_ZPzZ_S:
8870 case AArch64::SQNEG_ZPzZ_B:
8871 case AArch64::SQNEG_ZPzZ_D:
8872 case AArch64::SQNEG_ZPzZ_H:
8873 case AArch64::SQNEG_ZPzZ_S:
8874 case AArch64::SXTB_ZPzZ_D:
8875 case AArch64::SXTB_ZPzZ_H:
8876 case AArch64::SXTB_ZPzZ_S:
8877 case AArch64::SXTH_ZPzZ_D:
8878 case AArch64::SXTH_ZPzZ_S:
8879 case AArch64::SXTW_ZPzZ_D:
8880 case AArch64::UCVTF_ZPzZ_DtoD:
8881 case AArch64::UCVTF_ZPzZ_DtoH:
8882 case AArch64::UCVTF_ZPzZ_DtoS:
8883 case AArch64::UCVTF_ZPzZ_HtoH:
8884 case AArch64::UCVTF_ZPzZ_StoD:
8885 case AArch64::UCVTF_ZPzZ_StoH:
8886 case AArch64::UCVTF_ZPzZ_StoS:
8887 case AArch64::URECPE_ZPzZ_S:
8888 case AArch64::URSQRTE_ZPzZ_S:
8889 case AArch64::UXTB_ZPzZ_D:
8890 case AArch64::UXTB_ZPzZ_H:
8891 case AArch64::UXTB_ZPzZ_S:
8892 case AArch64::UXTH_ZPzZ_D:
8893 case AArch64::UXTH_ZPzZ_S:
8894 case AArch64::UXTW_ZPzZ_D: {
8895 // op: Pg
8896 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8897 Value |= (op & 0x7) << 10;
8898 // op: Zd
8899 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8900 Value |= (op & 0x1f);
8901 // op: Zn
8902 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8903 Value |= (op & 0x1f) << 5;
8904 break;
8905 }
8906 case AArch64::BFMLA_ZPmZZ:
8907 case AArch64::BFMLS_ZPmZZ:
8908 case AArch64::FMLA_ZPmZZ_D:
8909 case AArch64::FMLA_ZPmZZ_H:
8910 case AArch64::FMLA_ZPmZZ_S:
8911 case AArch64::FMLS_ZPmZZ_D:
8912 case AArch64::FMLS_ZPmZZ_H:
8913 case AArch64::FMLS_ZPmZZ_S:
8914 case AArch64::FNMLA_ZPmZZ_D:
8915 case AArch64::FNMLA_ZPmZZ_H:
8916 case AArch64::FNMLA_ZPmZZ_S:
8917 case AArch64::FNMLS_ZPmZZ_D:
8918 case AArch64::FNMLS_ZPmZZ_H:
8919 case AArch64::FNMLS_ZPmZZ_S:
8920 case AArch64::MLA_ZPmZZ_B:
8921 case AArch64::MLA_ZPmZZ_D:
8922 case AArch64::MLA_ZPmZZ_H:
8923 case AArch64::MLA_ZPmZZ_S:
8924 case AArch64::MLS_ZPmZZ_B:
8925 case AArch64::MLS_ZPmZZ_D:
8926 case AArch64::MLS_ZPmZZ_H:
8927 case AArch64::MLS_ZPmZZ_S: {
8928 // op: Pg
8929 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8930 Value |= (op & 0x7) << 10;
8931 // op: Zda
8932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8933 Value |= (op & 0x1f);
8934 // op: Zm
8935 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8936 Value |= (op & 0x1f) << 16;
8937 // op: Zn
8938 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8939 Value |= (op & 0x1f) << 5;
8940 break;
8941 }
8942 case AArch64::MAD_ZPmZZ_B:
8943 case AArch64::MAD_ZPmZZ_D:
8944 case AArch64::MAD_ZPmZZ_H:
8945 case AArch64::MAD_ZPmZZ_S:
8946 case AArch64::MSB_ZPmZZ_B:
8947 case AArch64::MSB_ZPmZZ_D:
8948 case AArch64::MSB_ZPmZZ_H:
8949 case AArch64::MSB_ZPmZZ_S: {
8950 // op: Pg
8951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8952 Value |= (op & 0x7) << 10;
8953 // op: Zdn
8954 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8955 Value |= (op & 0x1f);
8956 // op: Za
8957 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8958 Value |= (op & 0x1f) << 5;
8959 // op: Zm
8960 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8961 Value |= (op & 0x1f) << 16;
8962 break;
8963 }
8964 case AArch64::ADD_ZPmZ_B:
8965 case AArch64::ADD_ZPmZ_CPA:
8966 case AArch64::ADD_ZPmZ_D:
8967 case AArch64::ADD_ZPmZ_H:
8968 case AArch64::ADD_ZPmZ_S:
8969 case AArch64::AND_ZPmZ_B:
8970 case AArch64::AND_ZPmZ_D:
8971 case AArch64::AND_ZPmZ_H:
8972 case AArch64::AND_ZPmZ_S:
8973 case AArch64::ASRR_ZPmZ_B:
8974 case AArch64::ASRR_ZPmZ_D:
8975 case AArch64::ASRR_ZPmZ_H:
8976 case AArch64::ASRR_ZPmZ_S:
8977 case AArch64::ASR_WIDE_ZPmZ_B:
8978 case AArch64::ASR_WIDE_ZPmZ_H:
8979 case AArch64::ASR_WIDE_ZPmZ_S:
8980 case AArch64::ASR_ZPmZ_B:
8981 case AArch64::ASR_ZPmZ_D:
8982 case AArch64::ASR_ZPmZ_H:
8983 case AArch64::ASR_ZPmZ_S:
8984 case AArch64::BFADD_ZPmZZ:
8985 case AArch64::BFMAXNM_ZPmZZ:
8986 case AArch64::BFMAX_ZPmZZ:
8987 case AArch64::BFMINNM_ZPmZZ:
8988 case AArch64::BFMIN_ZPmZZ:
8989 case AArch64::BFMUL_ZPmZZ:
8990 case AArch64::BFSCALE_ZPZZ_H:
8991 case AArch64::BFSUB_ZPmZZ:
8992 case AArch64::BIC_ZPmZ_B:
8993 case AArch64::BIC_ZPmZ_D:
8994 case AArch64::BIC_ZPmZ_H:
8995 case AArch64::BIC_ZPmZ_S:
8996 case AArch64::CLASTA_ZPZ_B:
8997 case AArch64::CLASTA_ZPZ_D:
8998 case AArch64::CLASTA_ZPZ_H:
8999 case AArch64::CLASTA_ZPZ_S:
9000 case AArch64::CLASTB_ZPZ_B:
9001 case AArch64::CLASTB_ZPZ_D:
9002 case AArch64::CLASTB_ZPZ_H:
9003 case AArch64::CLASTB_ZPZ_S:
9004 case AArch64::EOR_ZPmZ_B:
9005 case AArch64::EOR_ZPmZ_D:
9006 case AArch64::EOR_ZPmZ_H:
9007 case AArch64::EOR_ZPmZ_S:
9008 case AArch64::FABD_ZPmZ_D:
9009 case AArch64::FABD_ZPmZ_H:
9010 case AArch64::FABD_ZPmZ_S:
9011 case AArch64::FADD_ZPmZ_D:
9012 case AArch64::FADD_ZPmZ_H:
9013 case AArch64::FADD_ZPmZ_S:
9014 case AArch64::FAMAX_ZPmZ_D:
9015 case AArch64::FAMAX_ZPmZ_H:
9016 case AArch64::FAMAX_ZPmZ_S:
9017 case AArch64::FAMIN_ZPmZ_D:
9018 case AArch64::FAMIN_ZPmZ_H:
9019 case AArch64::FAMIN_ZPmZ_S:
9020 case AArch64::FDIVR_ZPmZ_D:
9021 case AArch64::FDIVR_ZPmZ_H:
9022 case AArch64::FDIVR_ZPmZ_S:
9023 case AArch64::FDIV_ZPmZ_D:
9024 case AArch64::FDIV_ZPmZ_H:
9025 case AArch64::FDIV_ZPmZ_S:
9026 case AArch64::FMAXNM_ZPmZ_D:
9027 case AArch64::FMAXNM_ZPmZ_H:
9028 case AArch64::FMAXNM_ZPmZ_S:
9029 case AArch64::FMAX_ZPmZ_D:
9030 case AArch64::FMAX_ZPmZ_H:
9031 case AArch64::FMAX_ZPmZ_S:
9032 case AArch64::FMINNM_ZPmZ_D:
9033 case AArch64::FMINNM_ZPmZ_H:
9034 case AArch64::FMINNM_ZPmZ_S:
9035 case AArch64::FMIN_ZPmZ_D:
9036 case AArch64::FMIN_ZPmZ_H:
9037 case AArch64::FMIN_ZPmZ_S:
9038 case AArch64::FMULX_ZPmZ_D:
9039 case AArch64::FMULX_ZPmZ_H:
9040 case AArch64::FMULX_ZPmZ_S:
9041 case AArch64::FMUL_ZPmZ_D:
9042 case AArch64::FMUL_ZPmZ_H:
9043 case AArch64::FMUL_ZPmZ_S:
9044 case AArch64::FSCALE_ZPmZ_D:
9045 case AArch64::FSCALE_ZPmZ_H:
9046 case AArch64::FSCALE_ZPmZ_S:
9047 case AArch64::FSUBR_ZPmZ_D:
9048 case AArch64::FSUBR_ZPmZ_H:
9049 case AArch64::FSUBR_ZPmZ_S:
9050 case AArch64::FSUB_ZPmZ_D:
9051 case AArch64::FSUB_ZPmZ_H:
9052 case AArch64::FSUB_ZPmZ_S:
9053 case AArch64::LSLR_ZPmZ_B:
9054 case AArch64::LSLR_ZPmZ_D:
9055 case AArch64::LSLR_ZPmZ_H:
9056 case AArch64::LSLR_ZPmZ_S:
9057 case AArch64::LSL_WIDE_ZPmZ_B:
9058 case AArch64::LSL_WIDE_ZPmZ_H:
9059 case AArch64::LSL_WIDE_ZPmZ_S:
9060 case AArch64::LSL_ZPmZ_B:
9061 case AArch64::LSL_ZPmZ_D:
9062 case AArch64::LSL_ZPmZ_H:
9063 case AArch64::LSL_ZPmZ_S:
9064 case AArch64::LSRR_ZPmZ_B:
9065 case AArch64::LSRR_ZPmZ_D:
9066 case AArch64::LSRR_ZPmZ_H:
9067 case AArch64::LSRR_ZPmZ_S:
9068 case AArch64::LSR_WIDE_ZPmZ_B:
9069 case AArch64::LSR_WIDE_ZPmZ_H:
9070 case AArch64::LSR_WIDE_ZPmZ_S:
9071 case AArch64::LSR_ZPmZ_B:
9072 case AArch64::LSR_ZPmZ_D:
9073 case AArch64::LSR_ZPmZ_H:
9074 case AArch64::LSR_ZPmZ_S:
9075 case AArch64::MUL_ZPmZ_B:
9076 case AArch64::MUL_ZPmZ_D:
9077 case AArch64::MUL_ZPmZ_H:
9078 case AArch64::MUL_ZPmZ_S:
9079 case AArch64::ORR_ZPmZ_B:
9080 case AArch64::ORR_ZPmZ_D:
9081 case AArch64::ORR_ZPmZ_H:
9082 case AArch64::ORR_ZPmZ_S:
9083 case AArch64::SABD_ZPmZ_B:
9084 case AArch64::SABD_ZPmZ_D:
9085 case AArch64::SABD_ZPmZ_H:
9086 case AArch64::SABD_ZPmZ_S:
9087 case AArch64::SDIVR_ZPmZ_D:
9088 case AArch64::SDIVR_ZPmZ_S:
9089 case AArch64::SDIV_ZPmZ_D:
9090 case AArch64::SDIV_ZPmZ_S:
9091 case AArch64::SMAX_ZPmZ_B:
9092 case AArch64::SMAX_ZPmZ_D:
9093 case AArch64::SMAX_ZPmZ_H:
9094 case AArch64::SMAX_ZPmZ_S:
9095 case AArch64::SMIN_ZPmZ_B:
9096 case AArch64::SMIN_ZPmZ_D:
9097 case AArch64::SMIN_ZPmZ_H:
9098 case AArch64::SMIN_ZPmZ_S:
9099 case AArch64::SMULH_ZPmZ_B:
9100 case AArch64::SMULH_ZPmZ_D:
9101 case AArch64::SMULH_ZPmZ_H:
9102 case AArch64::SMULH_ZPmZ_S:
9103 case AArch64::SPLICE_ZPZ_B:
9104 case AArch64::SPLICE_ZPZ_D:
9105 case AArch64::SPLICE_ZPZ_H:
9106 case AArch64::SPLICE_ZPZ_S:
9107 case AArch64::SUBR_ZPmZ_B:
9108 case AArch64::SUBR_ZPmZ_D:
9109 case AArch64::SUBR_ZPmZ_H:
9110 case AArch64::SUBR_ZPmZ_S:
9111 case AArch64::SUB_ZPmZ_B:
9112 case AArch64::SUB_ZPmZ_CPA:
9113 case AArch64::SUB_ZPmZ_D:
9114 case AArch64::SUB_ZPmZ_H:
9115 case AArch64::SUB_ZPmZ_S:
9116 case AArch64::UABD_ZPmZ_B:
9117 case AArch64::UABD_ZPmZ_D:
9118 case AArch64::UABD_ZPmZ_H:
9119 case AArch64::UABD_ZPmZ_S:
9120 case AArch64::UDIVR_ZPmZ_D:
9121 case AArch64::UDIVR_ZPmZ_S:
9122 case AArch64::UDIV_ZPmZ_D:
9123 case AArch64::UDIV_ZPmZ_S:
9124 case AArch64::UMAX_ZPmZ_B:
9125 case AArch64::UMAX_ZPmZ_D:
9126 case AArch64::UMAX_ZPmZ_H:
9127 case AArch64::UMAX_ZPmZ_S:
9128 case AArch64::UMIN_ZPmZ_B:
9129 case AArch64::UMIN_ZPmZ_D:
9130 case AArch64::UMIN_ZPmZ_H:
9131 case AArch64::UMIN_ZPmZ_S:
9132 case AArch64::UMULH_ZPmZ_B:
9133 case AArch64::UMULH_ZPmZ_D:
9134 case AArch64::UMULH_ZPmZ_H:
9135 case AArch64::UMULH_ZPmZ_S: {
9136 // op: Pg
9137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9138 Value |= (op & 0x7) << 10;
9139 // op: Zdn
9140 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9141 Value |= (op & 0x1f);
9142 // op: Zm
9143 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9144 Value |= (op & 0x1f) << 5;
9145 break;
9146 }
9147 case AArch64::FADD_ZPmI_D:
9148 case AArch64::FADD_ZPmI_H:
9149 case AArch64::FADD_ZPmI_S:
9150 case AArch64::FMAXNM_ZPmI_D:
9151 case AArch64::FMAXNM_ZPmI_H:
9152 case AArch64::FMAXNM_ZPmI_S:
9153 case AArch64::FMAX_ZPmI_D:
9154 case AArch64::FMAX_ZPmI_H:
9155 case AArch64::FMAX_ZPmI_S:
9156 case AArch64::FMINNM_ZPmI_D:
9157 case AArch64::FMINNM_ZPmI_H:
9158 case AArch64::FMINNM_ZPmI_S:
9159 case AArch64::FMIN_ZPmI_D:
9160 case AArch64::FMIN_ZPmI_H:
9161 case AArch64::FMIN_ZPmI_S:
9162 case AArch64::FMUL_ZPmI_D:
9163 case AArch64::FMUL_ZPmI_H:
9164 case AArch64::FMUL_ZPmI_S:
9165 case AArch64::FSUBR_ZPmI_D:
9166 case AArch64::FSUBR_ZPmI_H:
9167 case AArch64::FSUBR_ZPmI_S:
9168 case AArch64::FSUB_ZPmI_D:
9169 case AArch64::FSUB_ZPmI_H:
9170 case AArch64::FSUB_ZPmI_S: {
9171 // op: Pg
9172 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9173 Value |= (op & 0x7) << 10;
9174 // op: Zdn
9175 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9176 Value |= (op & 0x1f);
9177 // op: i1
9178 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9179 Value |= (op & 0x1) << 5;
9180 break;
9181 }
9182 case AArch64::LSL_ZPmI_H:
9183 case AArch64::SQSHLU_ZPmI_H:
9184 case AArch64::SQSHL_ZPmI_H:
9185 case AArch64::UQSHL_ZPmI_H: {
9186 // op: Pg
9187 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9188 Value |= (op & 0x7) << 10;
9189 // op: Zdn
9190 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9191 Value |= (op & 0x1f);
9192 // op: imm
9193 op = getVecShiftL16OpValue(MI, OpIdx: 3, Fixups, STI);
9194 Value |= (op & 0xf) << 5;
9195 break;
9196 }
9197 case AArch64::LSL_ZPmI_S:
9198 case AArch64::SQSHLU_ZPmI_S:
9199 case AArch64::SQSHL_ZPmI_S:
9200 case AArch64::UQSHL_ZPmI_S: {
9201 // op: Pg
9202 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9203 Value |= (op & 0x7) << 10;
9204 // op: Zdn
9205 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9206 Value |= (op & 0x1f);
9207 // op: imm
9208 op = getVecShiftL32OpValue(MI, OpIdx: 3, Fixups, STI);
9209 Value |= (op & 0x1f) << 5;
9210 break;
9211 }
9212 case AArch64::LSL_ZPmI_D:
9213 case AArch64::SQSHLU_ZPmI_D:
9214 case AArch64::SQSHL_ZPmI_D:
9215 case AArch64::UQSHL_ZPmI_D: {
9216 // op: Pg
9217 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9218 Value |= (op & 0x7) << 10;
9219 // op: Zdn
9220 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9221 Value |= (op & 0x1f);
9222 // op: imm
9223 op = getVecShiftL64OpValue(MI, OpIdx: 3, Fixups, STI);
9224 Value |= (op & 0x20) << 17;
9225 Value |= (op & 0x1f) << 5;
9226 break;
9227 }
9228 case AArch64::LSL_ZPmI_B:
9229 case AArch64::SQSHLU_ZPmI_B:
9230 case AArch64::SQSHL_ZPmI_B:
9231 case AArch64::UQSHL_ZPmI_B: {
9232 // op: Pg
9233 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9234 Value |= (op & 0x7) << 10;
9235 // op: Zdn
9236 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9237 Value |= (op & 0x1f);
9238 // op: imm
9239 op = getVecShiftL8OpValue(MI, OpIdx: 3, Fixups, STI);
9240 Value |= (op & 0x7) << 5;
9241 break;
9242 }
9243 case AArch64::ASRD_ZPmI_H:
9244 case AArch64::ASR_ZPmI_H:
9245 case AArch64::LSR_ZPmI_H:
9246 case AArch64::SRSHR_ZPmI_H:
9247 case AArch64::URSHR_ZPmI_H: {
9248 // op: Pg
9249 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9250 Value |= (op & 0x7) << 10;
9251 // op: Zdn
9252 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9253 Value |= (op & 0x1f);
9254 // op: imm
9255 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
9256 Value |= (op & 0xf) << 5;
9257 break;
9258 }
9259 case AArch64::ASRD_ZPmI_S:
9260 case AArch64::ASR_ZPmI_S:
9261 case AArch64::LSR_ZPmI_S:
9262 case AArch64::SRSHR_ZPmI_S:
9263 case AArch64::URSHR_ZPmI_S: {
9264 // op: Pg
9265 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9266 Value |= (op & 0x7) << 10;
9267 // op: Zdn
9268 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9269 Value |= (op & 0x1f);
9270 // op: imm
9271 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
9272 Value |= (op & 0x1f) << 5;
9273 break;
9274 }
9275 case AArch64::ASRD_ZPmI_D:
9276 case AArch64::ASR_ZPmI_D:
9277 case AArch64::LSR_ZPmI_D:
9278 case AArch64::SRSHR_ZPmI_D:
9279 case AArch64::URSHR_ZPmI_D: {
9280 // op: Pg
9281 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9282 Value |= (op & 0x7) << 10;
9283 // op: Zdn
9284 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9285 Value |= (op & 0x1f);
9286 // op: imm
9287 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
9288 Value |= (op & 0x20) << 17;
9289 Value |= (op & 0x1f) << 5;
9290 break;
9291 }
9292 case AArch64::ASRD_ZPmI_B:
9293 case AArch64::ASR_ZPmI_B:
9294 case AArch64::LSR_ZPmI_B:
9295 case AArch64::SRSHR_ZPmI_B:
9296 case AArch64::URSHR_ZPmI_B: {
9297 // op: Pg
9298 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9299 Value |= (op & 0x7) << 10;
9300 // op: Zdn
9301 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9302 Value |= (op & 0x1f);
9303 // op: imm
9304 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
9305 Value |= (op & 0x7) << 5;
9306 break;
9307 }
9308 case AArch64::ADDP_ZPmZ_B:
9309 case AArch64::ADDP_ZPmZ_D:
9310 case AArch64::ADDP_ZPmZ_H:
9311 case AArch64::ADDP_ZPmZ_S:
9312 case AArch64::FADDP_ZPmZZ_D:
9313 case AArch64::FADDP_ZPmZZ_H:
9314 case AArch64::FADDP_ZPmZZ_S:
9315 case AArch64::FMAXNMP_ZPmZZ_D:
9316 case AArch64::FMAXNMP_ZPmZZ_H:
9317 case AArch64::FMAXNMP_ZPmZZ_S:
9318 case AArch64::FMAXP_ZPmZZ_D:
9319 case AArch64::FMAXP_ZPmZZ_H:
9320 case AArch64::FMAXP_ZPmZZ_S:
9321 case AArch64::FMINNMP_ZPmZZ_D:
9322 case AArch64::FMINNMP_ZPmZZ_H:
9323 case AArch64::FMINNMP_ZPmZZ_S:
9324 case AArch64::FMINP_ZPmZZ_D:
9325 case AArch64::FMINP_ZPmZZ_H:
9326 case AArch64::FMINP_ZPmZZ_S:
9327 case AArch64::SHADD_ZPmZ_B:
9328 case AArch64::SHADD_ZPmZ_D:
9329 case AArch64::SHADD_ZPmZ_H:
9330 case AArch64::SHADD_ZPmZ_S:
9331 case AArch64::SHSUBR_ZPmZ_B:
9332 case AArch64::SHSUBR_ZPmZ_D:
9333 case AArch64::SHSUBR_ZPmZ_H:
9334 case AArch64::SHSUBR_ZPmZ_S:
9335 case AArch64::SHSUB_ZPmZ_B:
9336 case AArch64::SHSUB_ZPmZ_D:
9337 case AArch64::SHSUB_ZPmZ_H:
9338 case AArch64::SHSUB_ZPmZ_S:
9339 case AArch64::SMAXP_ZPmZ_B:
9340 case AArch64::SMAXP_ZPmZ_D:
9341 case AArch64::SMAXP_ZPmZ_H:
9342 case AArch64::SMAXP_ZPmZ_S:
9343 case AArch64::SMINP_ZPmZ_B:
9344 case AArch64::SMINP_ZPmZ_D:
9345 case AArch64::SMINP_ZPmZ_H:
9346 case AArch64::SMINP_ZPmZ_S:
9347 case AArch64::SQADD_ZPmZ_B:
9348 case AArch64::SQADD_ZPmZ_D:
9349 case AArch64::SQADD_ZPmZ_H:
9350 case AArch64::SQADD_ZPmZ_S:
9351 case AArch64::SQRSHLR_ZPmZ_B:
9352 case AArch64::SQRSHLR_ZPmZ_D:
9353 case AArch64::SQRSHLR_ZPmZ_H:
9354 case AArch64::SQRSHLR_ZPmZ_S:
9355 case AArch64::SQRSHL_ZPmZ_B:
9356 case AArch64::SQRSHL_ZPmZ_D:
9357 case AArch64::SQRSHL_ZPmZ_H:
9358 case AArch64::SQRSHL_ZPmZ_S:
9359 case AArch64::SQSHLR_ZPmZ_B:
9360 case AArch64::SQSHLR_ZPmZ_D:
9361 case AArch64::SQSHLR_ZPmZ_H:
9362 case AArch64::SQSHLR_ZPmZ_S:
9363 case AArch64::SQSHL_ZPmZ_B:
9364 case AArch64::SQSHL_ZPmZ_D:
9365 case AArch64::SQSHL_ZPmZ_H:
9366 case AArch64::SQSHL_ZPmZ_S:
9367 case AArch64::SQSUBR_ZPmZ_B:
9368 case AArch64::SQSUBR_ZPmZ_D:
9369 case AArch64::SQSUBR_ZPmZ_H:
9370 case AArch64::SQSUBR_ZPmZ_S:
9371 case AArch64::SQSUB_ZPmZ_B:
9372 case AArch64::SQSUB_ZPmZ_D:
9373 case AArch64::SQSUB_ZPmZ_H:
9374 case AArch64::SQSUB_ZPmZ_S:
9375 case AArch64::SRHADD_ZPmZ_B:
9376 case AArch64::SRHADD_ZPmZ_D:
9377 case AArch64::SRHADD_ZPmZ_H:
9378 case AArch64::SRHADD_ZPmZ_S:
9379 case AArch64::SRSHLR_ZPmZ_B:
9380 case AArch64::SRSHLR_ZPmZ_D:
9381 case AArch64::SRSHLR_ZPmZ_H:
9382 case AArch64::SRSHLR_ZPmZ_S:
9383 case AArch64::SRSHL_ZPmZ_B:
9384 case AArch64::SRSHL_ZPmZ_D:
9385 case AArch64::SRSHL_ZPmZ_H:
9386 case AArch64::SRSHL_ZPmZ_S:
9387 case AArch64::SUBP_ZPmZZ_B:
9388 case AArch64::SUBP_ZPmZZ_D:
9389 case AArch64::SUBP_ZPmZZ_H:
9390 case AArch64::SUBP_ZPmZZ_S:
9391 case AArch64::SUQADD_ZPmZ_B:
9392 case AArch64::SUQADD_ZPmZ_D:
9393 case AArch64::SUQADD_ZPmZ_H:
9394 case AArch64::SUQADD_ZPmZ_S:
9395 case AArch64::UHADD_ZPmZ_B:
9396 case AArch64::UHADD_ZPmZ_D:
9397 case AArch64::UHADD_ZPmZ_H:
9398 case AArch64::UHADD_ZPmZ_S:
9399 case AArch64::UHSUBR_ZPmZ_B:
9400 case AArch64::UHSUBR_ZPmZ_D:
9401 case AArch64::UHSUBR_ZPmZ_H:
9402 case AArch64::UHSUBR_ZPmZ_S:
9403 case AArch64::UHSUB_ZPmZ_B:
9404 case AArch64::UHSUB_ZPmZ_D:
9405 case AArch64::UHSUB_ZPmZ_H:
9406 case AArch64::UHSUB_ZPmZ_S:
9407 case AArch64::UMAXP_ZPmZ_B:
9408 case AArch64::UMAXP_ZPmZ_D:
9409 case AArch64::UMAXP_ZPmZ_H:
9410 case AArch64::UMAXP_ZPmZ_S:
9411 case AArch64::UMINP_ZPmZ_B:
9412 case AArch64::UMINP_ZPmZ_D:
9413 case AArch64::UMINP_ZPmZ_H:
9414 case AArch64::UMINP_ZPmZ_S:
9415 case AArch64::UQADD_ZPmZ_B:
9416 case AArch64::UQADD_ZPmZ_D:
9417 case AArch64::UQADD_ZPmZ_H:
9418 case AArch64::UQADD_ZPmZ_S:
9419 case AArch64::UQRSHLR_ZPmZ_B:
9420 case AArch64::UQRSHLR_ZPmZ_D:
9421 case AArch64::UQRSHLR_ZPmZ_H:
9422 case AArch64::UQRSHLR_ZPmZ_S:
9423 case AArch64::UQRSHL_ZPmZ_B:
9424 case AArch64::UQRSHL_ZPmZ_D:
9425 case AArch64::UQRSHL_ZPmZ_H:
9426 case AArch64::UQRSHL_ZPmZ_S:
9427 case AArch64::UQSHLR_ZPmZ_B:
9428 case AArch64::UQSHLR_ZPmZ_D:
9429 case AArch64::UQSHLR_ZPmZ_H:
9430 case AArch64::UQSHLR_ZPmZ_S:
9431 case AArch64::UQSHL_ZPmZ_B:
9432 case AArch64::UQSHL_ZPmZ_D:
9433 case AArch64::UQSHL_ZPmZ_H:
9434 case AArch64::UQSHL_ZPmZ_S:
9435 case AArch64::UQSUBR_ZPmZ_B:
9436 case AArch64::UQSUBR_ZPmZ_D:
9437 case AArch64::UQSUBR_ZPmZ_H:
9438 case AArch64::UQSUBR_ZPmZ_S:
9439 case AArch64::UQSUB_ZPmZ_B:
9440 case AArch64::UQSUB_ZPmZ_D:
9441 case AArch64::UQSUB_ZPmZ_H:
9442 case AArch64::UQSUB_ZPmZ_S:
9443 case AArch64::URHADD_ZPmZ_B:
9444 case AArch64::URHADD_ZPmZ_D:
9445 case AArch64::URHADD_ZPmZ_H:
9446 case AArch64::URHADD_ZPmZ_S:
9447 case AArch64::URSHLR_ZPmZ_B:
9448 case AArch64::URSHLR_ZPmZ_D:
9449 case AArch64::URSHLR_ZPmZ_H:
9450 case AArch64::URSHLR_ZPmZ_S:
9451 case AArch64::URSHL_ZPmZ_B:
9452 case AArch64::URSHL_ZPmZ_D:
9453 case AArch64::URSHL_ZPmZ_H:
9454 case AArch64::URSHL_ZPmZ_S:
9455 case AArch64::USQADD_ZPmZ_B:
9456 case AArch64::USQADD_ZPmZ_D:
9457 case AArch64::USQADD_ZPmZ_H:
9458 case AArch64::USQADD_ZPmZ_S: {
9459 // op: Pg
9460 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9461 Value |= (op & 0x7) << 10;
9462 // op: Zm
9463 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9464 Value |= (op & 0x1f) << 5;
9465 // op: Zdn
9466 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9467 Value |= (op & 0x1f);
9468 break;
9469 }
9470 case AArch64::EXPAND_ZPZ_B:
9471 case AArch64::EXPAND_ZPZ_D:
9472 case AArch64::EXPAND_ZPZ_H:
9473 case AArch64::EXPAND_ZPZ_S:
9474 case AArch64::SPLICE_ZPZZ_B:
9475 case AArch64::SPLICE_ZPZZ_D:
9476 case AArch64::SPLICE_ZPZZ_H:
9477 case AArch64::SPLICE_ZPZZ_S: {
9478 // op: Pg
9479 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9480 Value |= (op & 0x7) << 10;
9481 // op: Zn
9482 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9483 Value |= (op & 0x1f) << 5;
9484 // op: Zd
9485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9486 Value |= (op & 0x1f);
9487 break;
9488 }
9489 case AArch64::GLD1B_D_IMM:
9490 case AArch64::GLD1B_S_IMM:
9491 case AArch64::GLD1D_IMM:
9492 case AArch64::GLD1H_D_IMM:
9493 case AArch64::GLD1H_S_IMM:
9494 case AArch64::GLD1SB_D_IMM:
9495 case AArch64::GLD1SB_S_IMM:
9496 case AArch64::GLD1SH_D_IMM:
9497 case AArch64::GLD1SH_S_IMM:
9498 case AArch64::GLD1SW_D_IMM:
9499 case AArch64::GLD1W_D_IMM:
9500 case AArch64::GLD1W_IMM:
9501 case AArch64::GLDFF1B_D_IMM:
9502 case AArch64::GLDFF1B_S_IMM:
9503 case AArch64::GLDFF1D_IMM:
9504 case AArch64::GLDFF1H_D_IMM:
9505 case AArch64::GLDFF1H_S_IMM:
9506 case AArch64::GLDFF1SB_D_IMM:
9507 case AArch64::GLDFF1SB_S_IMM:
9508 case AArch64::GLDFF1SH_D_IMM:
9509 case AArch64::GLDFF1SH_S_IMM:
9510 case AArch64::GLDFF1SW_D_IMM:
9511 case AArch64::GLDFF1W_D_IMM:
9512 case AArch64::GLDFF1W_IMM: {
9513 // op: Pg
9514 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9515 Value |= (op & 0x7) << 10;
9516 // op: Zn
9517 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9518 Value |= (op & 0x1f) << 5;
9519 // op: Zt
9520 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9521 Value |= (op & 0x1f);
9522 // op: imm5
9523 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9524 Value |= (op & 0x1f) << 16;
9525 break;
9526 }
9527 case AArch64::PRFB_D_PZI:
9528 case AArch64::PRFB_S_PZI:
9529 case AArch64::PRFD_D_PZI:
9530 case AArch64::PRFD_S_PZI:
9531 case AArch64::PRFH_D_PZI:
9532 case AArch64::PRFH_S_PZI:
9533 case AArch64::PRFW_D_PZI:
9534 case AArch64::PRFW_S_PZI: {
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: imm5
9542 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9543 Value |= (op & 0x1f) << 16;
9544 // op: prfop
9545 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9546 Value |= (op & 0xf);
9547 break;
9548 }
9549 case AArch64::SADALP_ZPmZ_D:
9550 case AArch64::SADALP_ZPmZ_H:
9551 case AArch64::SADALP_ZPmZ_S:
9552 case AArch64::UADALP_ZPmZ_D:
9553 case AArch64::UADALP_ZPmZ_H:
9554 case AArch64::UADALP_ZPmZ_S: {
9555 // op: Pg
9556 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9557 Value |= (op & 0x7) << 10;
9558 // op: Zn
9559 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9560 Value |= (op & 0x1f) << 5;
9561 // op: Zda
9562 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9563 Value |= (op & 0x1f);
9564 break;
9565 }
9566 case AArch64::SST1B_D_IMM:
9567 case AArch64::SST1B_S_IMM:
9568 case AArch64::SST1D_IMM:
9569 case AArch64::SST1H_D_IMM:
9570 case AArch64::SST1H_S_IMM:
9571 case AArch64::SST1W_D_IMM:
9572 case AArch64::SST1W_IMM: {
9573 // op: Pg
9574 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9575 Value |= (op & 0x7) << 10;
9576 // op: imm5
9577 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9578 Value |= (op & 0x1f) << 16;
9579 // op: Zn
9580 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9581 Value |= (op & 0x1f) << 5;
9582 // op: Zt
9583 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9584 Value |= (op & 0x1f);
9585 break;
9586 }
9587 case AArch64::CNTP_XPP_B:
9588 case AArch64::CNTP_XPP_D:
9589 case AArch64::CNTP_XPP_H:
9590 case AArch64::CNTP_XPP_S:
9591 case AArch64::FIRSTP_XPP_B:
9592 case AArch64::FIRSTP_XPP_D:
9593 case AArch64::FIRSTP_XPP_H:
9594 case AArch64::FIRSTP_XPP_S:
9595 case AArch64::LASTP_XPP_B:
9596 case AArch64::LASTP_XPP_D:
9597 case AArch64::LASTP_XPP_H:
9598 case AArch64::LASTP_XPP_S: {
9599 // op: Pg
9600 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9601 Value |= (op & 0xf) << 10;
9602 // op: Pn
9603 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9604 Value |= (op & 0xf) << 5;
9605 // op: Rd
9606 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9607 Value |= (op & 0x1f);
9608 break;
9609 }
9610 case AArch64::SEL_ZPZZ_B:
9611 case AArch64::SEL_ZPZZ_D:
9612 case AArch64::SEL_ZPZZ_H:
9613 case AArch64::SEL_ZPZZ_S: {
9614 // op: Pg
9615 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9616 Value |= (op & 0xf) << 10;
9617 // op: Zd
9618 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9619 Value |= (op & 0x1f);
9620 // op: Zm
9621 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9622 Value |= (op & 0x1f) << 16;
9623 // op: Zn
9624 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9625 Value |= (op & 0x1f) << 5;
9626 break;
9627 }
9628 case AArch64::CPY_ZPmR_B:
9629 case AArch64::CPY_ZPmR_D:
9630 case AArch64::CPY_ZPmR_H:
9631 case AArch64::CPY_ZPmR_S: {
9632 // op: Pg
9633 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9634 Value |= (op & 0x7) << 10;
9635 // op: Rn
9636 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9637 Value |= (op & 0x1f) << 5;
9638 // op: Zd
9639 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9640 Value |= (op & 0x1f);
9641 break;
9642 }
9643 case AArch64::CPY_ZPmV_B:
9644 case AArch64::CPY_ZPmV_D:
9645 case AArch64::CPY_ZPmV_H:
9646 case AArch64::CPY_ZPmV_S: {
9647 // op: Pg
9648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9649 Value |= (op & 0x7) << 10;
9650 // op: Vn
9651 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9652 Value |= (op & 0x1f) << 5;
9653 // op: Zd
9654 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9655 Value |= (op & 0x1f);
9656 break;
9657 }
9658 case AArch64::ABS_ZPmZ_B:
9659 case AArch64::ABS_ZPmZ_D:
9660 case AArch64::ABS_ZPmZ_H:
9661 case AArch64::ABS_ZPmZ_S:
9662 case AArch64::BFCVT_ZPmZ:
9663 case AArch64::CLS_ZPmZ_B:
9664 case AArch64::CLS_ZPmZ_D:
9665 case AArch64::CLS_ZPmZ_H:
9666 case AArch64::CLS_ZPmZ_S:
9667 case AArch64::CLZ_ZPmZ_B:
9668 case AArch64::CLZ_ZPmZ_D:
9669 case AArch64::CLZ_ZPmZ_H:
9670 case AArch64::CLZ_ZPmZ_S:
9671 case AArch64::CNOT_ZPmZ_B:
9672 case AArch64::CNOT_ZPmZ_D:
9673 case AArch64::CNOT_ZPmZ_H:
9674 case AArch64::CNOT_ZPmZ_S:
9675 case AArch64::CNT_ZPmZ_B:
9676 case AArch64::CNT_ZPmZ_D:
9677 case AArch64::CNT_ZPmZ_H:
9678 case AArch64::CNT_ZPmZ_S:
9679 case AArch64::FABS_ZPmZ_D:
9680 case AArch64::FABS_ZPmZ_H:
9681 case AArch64::FABS_ZPmZ_S:
9682 case AArch64::FCVTX_ZPmZ_DtoS:
9683 case AArch64::FCVTZS_ZPmZ_DtoD:
9684 case AArch64::FCVTZS_ZPmZ_DtoS:
9685 case AArch64::FCVTZS_ZPmZ_HtoD:
9686 case AArch64::FCVTZS_ZPmZ_HtoH:
9687 case AArch64::FCVTZS_ZPmZ_HtoS:
9688 case AArch64::FCVTZS_ZPmZ_StoD:
9689 case AArch64::FCVTZS_ZPmZ_StoS:
9690 case AArch64::FCVTZU_ZPmZ_DtoD:
9691 case AArch64::FCVTZU_ZPmZ_DtoS:
9692 case AArch64::FCVTZU_ZPmZ_HtoD:
9693 case AArch64::FCVTZU_ZPmZ_HtoH:
9694 case AArch64::FCVTZU_ZPmZ_HtoS:
9695 case AArch64::FCVTZU_ZPmZ_StoD:
9696 case AArch64::FCVTZU_ZPmZ_StoS:
9697 case AArch64::FCVT_ZPmZ_DtoH:
9698 case AArch64::FCVT_ZPmZ_DtoS:
9699 case AArch64::FCVT_ZPmZ_HtoD:
9700 case AArch64::FCVT_ZPmZ_HtoS:
9701 case AArch64::FCVT_ZPmZ_StoD:
9702 case AArch64::FCVT_ZPmZ_StoH:
9703 case AArch64::FLOGB_ZPmZ_D:
9704 case AArch64::FLOGB_ZPmZ_H:
9705 case AArch64::FLOGB_ZPmZ_S:
9706 case AArch64::FNEG_ZPmZ_D:
9707 case AArch64::FNEG_ZPmZ_H:
9708 case AArch64::FNEG_ZPmZ_S:
9709 case AArch64::FRECPX_ZPmZ_D:
9710 case AArch64::FRECPX_ZPmZ_H:
9711 case AArch64::FRECPX_ZPmZ_S:
9712 case AArch64::FRINT32X_ZPmZ_D:
9713 case AArch64::FRINT32X_ZPmZ_S:
9714 case AArch64::FRINT32Z_ZPmZ_D:
9715 case AArch64::FRINT32Z_ZPmZ_S:
9716 case AArch64::FRINT64X_ZPmZ_D:
9717 case AArch64::FRINT64X_ZPmZ_S:
9718 case AArch64::FRINT64Z_ZPmZ_D:
9719 case AArch64::FRINT64Z_ZPmZ_S:
9720 case AArch64::FRINTA_ZPmZ_D:
9721 case AArch64::FRINTA_ZPmZ_H:
9722 case AArch64::FRINTA_ZPmZ_S:
9723 case AArch64::FRINTI_ZPmZ_D:
9724 case AArch64::FRINTI_ZPmZ_H:
9725 case AArch64::FRINTI_ZPmZ_S:
9726 case AArch64::FRINTM_ZPmZ_D:
9727 case AArch64::FRINTM_ZPmZ_H:
9728 case AArch64::FRINTM_ZPmZ_S:
9729 case AArch64::FRINTN_ZPmZ_D:
9730 case AArch64::FRINTN_ZPmZ_H:
9731 case AArch64::FRINTN_ZPmZ_S:
9732 case AArch64::FRINTP_ZPmZ_D:
9733 case AArch64::FRINTP_ZPmZ_H:
9734 case AArch64::FRINTP_ZPmZ_S:
9735 case AArch64::FRINTX_ZPmZ_D:
9736 case AArch64::FRINTX_ZPmZ_H:
9737 case AArch64::FRINTX_ZPmZ_S:
9738 case AArch64::FRINTZ_ZPmZ_D:
9739 case AArch64::FRINTZ_ZPmZ_H:
9740 case AArch64::FRINTZ_ZPmZ_S:
9741 case AArch64::FSQRT_ZPmZ_D:
9742 case AArch64::FSQRT_ZPmZ_H:
9743 case AArch64::FSQRT_ZPmZ_S:
9744 case AArch64::MOVPRFX_ZPmZ_B:
9745 case AArch64::MOVPRFX_ZPmZ_D:
9746 case AArch64::MOVPRFX_ZPmZ_H:
9747 case AArch64::MOVPRFX_ZPmZ_S:
9748 case AArch64::NEG_ZPmZ_B:
9749 case AArch64::NEG_ZPmZ_D:
9750 case AArch64::NEG_ZPmZ_H:
9751 case AArch64::NEG_ZPmZ_S:
9752 case AArch64::NOT_ZPmZ_B:
9753 case AArch64::NOT_ZPmZ_D:
9754 case AArch64::NOT_ZPmZ_H:
9755 case AArch64::NOT_ZPmZ_S:
9756 case AArch64::SCVTF_ZPmZ_DtoD:
9757 case AArch64::SCVTF_ZPmZ_DtoH:
9758 case AArch64::SCVTF_ZPmZ_DtoS:
9759 case AArch64::SCVTF_ZPmZ_HtoH:
9760 case AArch64::SCVTF_ZPmZ_StoD:
9761 case AArch64::SCVTF_ZPmZ_StoH:
9762 case AArch64::SCVTF_ZPmZ_StoS:
9763 case AArch64::SQABS_ZPmZ_B:
9764 case AArch64::SQABS_ZPmZ_D:
9765 case AArch64::SQABS_ZPmZ_H:
9766 case AArch64::SQABS_ZPmZ_S:
9767 case AArch64::SQNEG_ZPmZ_B:
9768 case AArch64::SQNEG_ZPmZ_D:
9769 case AArch64::SQNEG_ZPmZ_H:
9770 case AArch64::SQNEG_ZPmZ_S:
9771 case AArch64::SXTB_ZPmZ_D:
9772 case AArch64::SXTB_ZPmZ_H:
9773 case AArch64::SXTB_ZPmZ_S:
9774 case AArch64::SXTH_ZPmZ_D:
9775 case AArch64::SXTH_ZPmZ_S:
9776 case AArch64::SXTW_ZPmZ_D:
9777 case AArch64::UCVTF_ZPmZ_DtoD:
9778 case AArch64::UCVTF_ZPmZ_DtoH:
9779 case AArch64::UCVTF_ZPmZ_DtoS:
9780 case AArch64::UCVTF_ZPmZ_HtoH:
9781 case AArch64::UCVTF_ZPmZ_StoD:
9782 case AArch64::UCVTF_ZPmZ_StoH:
9783 case AArch64::UCVTF_ZPmZ_StoS:
9784 case AArch64::URECPE_ZPmZ_S:
9785 case AArch64::URSQRTE_ZPmZ_S:
9786 case AArch64::UXTB_ZPmZ_D:
9787 case AArch64::UXTB_ZPmZ_H:
9788 case AArch64::UXTB_ZPmZ_S:
9789 case AArch64::UXTH_ZPmZ_D:
9790 case AArch64::UXTH_ZPmZ_S:
9791 case AArch64::UXTW_ZPmZ_D: {
9792 // op: Pg
9793 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9794 Value |= (op & 0x7) << 10;
9795 // op: Zd
9796 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9797 Value |= (op & 0x1f);
9798 // op: Zn
9799 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9800 Value |= (op & 0x1f) << 5;
9801 break;
9802 }
9803 case AArch64::FCPY_ZPmI_D:
9804 case AArch64::FCPY_ZPmI_H:
9805 case AArch64::FCPY_ZPmI_S: {
9806 // op: Pg
9807 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9808 Value |= (op & 0xf) << 16;
9809 // op: Zd
9810 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9811 Value |= (op & 0x1f);
9812 // op: imm8
9813 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9814 Value |= (op & 0xff) << 5;
9815 break;
9816 }
9817 case AArch64::DECP_ZP_D:
9818 case AArch64::DECP_ZP_H:
9819 case AArch64::DECP_ZP_S:
9820 case AArch64::INCP_ZP_D:
9821 case AArch64::INCP_ZP_H:
9822 case AArch64::INCP_ZP_S:
9823 case AArch64::SQDECP_ZP_D:
9824 case AArch64::SQDECP_ZP_H:
9825 case AArch64::SQDECP_ZP_S:
9826 case AArch64::SQINCP_ZP_D:
9827 case AArch64::SQINCP_ZP_H:
9828 case AArch64::SQINCP_ZP_S:
9829 case AArch64::UQDECP_ZP_D:
9830 case AArch64::UQDECP_ZP_H:
9831 case AArch64::UQDECP_ZP_S:
9832 case AArch64::UQINCP_ZP_D:
9833 case AArch64::UQINCP_ZP_H:
9834 case AArch64::UQINCP_ZP_S: {
9835 // op: Pm
9836 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9837 Value |= (op & 0xf) << 5;
9838 // op: Zdn
9839 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9840 Value |= (op & 0x1f);
9841 break;
9842 }
9843 case AArch64::ADDHA_MPPZ_S:
9844 case AArch64::ADDVA_MPPZ_S: {
9845 // op: Pm
9846 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9847 Value |= (op & 0x7) << 13;
9848 // op: Pn
9849 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9850 Value |= (op & 0x7) << 10;
9851 // op: Zn
9852 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9853 Value |= (op & 0x1f) << 5;
9854 // op: ZAda
9855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9856 Value |= (op & 0x3);
9857 break;
9858 }
9859 case AArch64::ADDHA_MPPZ_D:
9860 case AArch64::ADDVA_MPPZ_D: {
9861 // op: Pm
9862 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9863 Value |= (op & 0x7) << 13;
9864 // op: Pn
9865 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9866 Value |= (op & 0x7) << 10;
9867 // op: Zn
9868 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9869 Value |= (op & 0x1f) << 5;
9870 // op: ZAda
9871 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9872 Value |= (op & 0x7);
9873 break;
9874 }
9875 case AArch64::WRFFR: {
9876 // op: Pn
9877 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9878 Value |= (op & 0xf) << 5;
9879 break;
9880 }
9881 case AArch64::LDR_PXI:
9882 case AArch64::STR_PXI: {
9883 // op: Pt
9884 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9885 Value |= (op & 0xf);
9886 // op: Rn
9887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9888 Value |= (op & 0x1f) << 5;
9889 // op: imm9
9890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9891 Value |= (op & 0x1f8) << 13;
9892 Value |= (op & 0x7) << 10;
9893 break;
9894 }
9895 case AArch64::XPACD:
9896 case AArch64::XPACI: {
9897 // op: Rd
9898 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9899 Value |= (op & 0x1f);
9900 break;
9901 }
9902 case AArch64::CNTP_XCI_B:
9903 case AArch64::CNTP_XCI_D:
9904 case AArch64::CNTP_XCI_H:
9905 case AArch64::CNTP_XCI_S: {
9906 // op: Rd
9907 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9908 Value |= (op & 0x1f);
9909 // op: PNn
9910 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9911 Value |= (op & 0xf) << 5;
9912 // op: vl
9913 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9914 Value |= (op & 0x1) << 10;
9915 break;
9916 }
9917 case AArch64::ADDPL_XXI:
9918 case AArch64::ADDSPL_XXI:
9919 case AArch64::ADDSVL_XXI:
9920 case AArch64::ADDVL_XXI: {
9921 // op: Rd
9922 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9923 Value |= (op & 0x1f);
9924 // op: Rn
9925 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9926 Value |= (op & 0x1f) << 16;
9927 // op: imm6
9928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9929 Value |= (op & 0x3f) << 5;
9930 break;
9931 }
9932 case AArch64::ABSWr:
9933 case AArch64::ABSXr:
9934 case AArch64::ABSv16i8:
9935 case AArch64::ABSv1i64:
9936 case AArch64::ABSv2i32:
9937 case AArch64::ABSv2i64:
9938 case AArch64::ABSv4i16:
9939 case AArch64::ABSv4i32:
9940 case AArch64::ABSv8i16:
9941 case AArch64::ABSv8i8:
9942 case AArch64::ADDPv2i64p:
9943 case AArch64::ADDVv16i8v:
9944 case AArch64::ADDVv4i16v:
9945 case AArch64::ADDVv4i32v:
9946 case AArch64::ADDVv8i16v:
9947 case AArch64::ADDVv8i8v:
9948 case AArch64::AESIMCrr:
9949 case AArch64::AESMCrr:
9950 case AArch64::BF1CVTL:
9951 case AArch64::BF1CVTL2:
9952 case AArch64::BF2CVTL:
9953 case AArch64::BF2CVTL2:
9954 case AArch64::BFCVT:
9955 case AArch64::BFCVTN:
9956 case AArch64::CLSWr:
9957 case AArch64::CLSXr:
9958 case AArch64::CLSv16i8:
9959 case AArch64::CLSv2i32:
9960 case AArch64::CLSv4i16:
9961 case AArch64::CLSv4i32:
9962 case AArch64::CLSv8i16:
9963 case AArch64::CLSv8i8:
9964 case AArch64::CLZWr:
9965 case AArch64::CLZXr:
9966 case AArch64::CLZv16i8:
9967 case AArch64::CLZv2i32:
9968 case AArch64::CLZv4i16:
9969 case AArch64::CLZv4i32:
9970 case AArch64::CLZv8i16:
9971 case AArch64::CLZv8i8:
9972 case AArch64::CMEQv16i8rz:
9973 case AArch64::CMEQv1i64rz:
9974 case AArch64::CMEQv2i32rz:
9975 case AArch64::CMEQv2i64rz:
9976 case AArch64::CMEQv4i16rz:
9977 case AArch64::CMEQv4i32rz:
9978 case AArch64::CMEQv8i16rz:
9979 case AArch64::CMEQv8i8rz:
9980 case AArch64::CMGEv16i8rz:
9981 case AArch64::CMGEv1i64rz:
9982 case AArch64::CMGEv2i32rz:
9983 case AArch64::CMGEv2i64rz:
9984 case AArch64::CMGEv4i16rz:
9985 case AArch64::CMGEv4i32rz:
9986 case AArch64::CMGEv8i16rz:
9987 case AArch64::CMGEv8i8rz:
9988 case AArch64::CMGTv16i8rz:
9989 case AArch64::CMGTv1i64rz:
9990 case AArch64::CMGTv2i32rz:
9991 case AArch64::CMGTv2i64rz:
9992 case AArch64::CMGTv4i16rz:
9993 case AArch64::CMGTv4i32rz:
9994 case AArch64::CMGTv8i16rz:
9995 case AArch64::CMGTv8i8rz:
9996 case AArch64::CMLEv16i8rz:
9997 case AArch64::CMLEv1i64rz:
9998 case AArch64::CMLEv2i32rz:
9999 case AArch64::CMLEv2i64rz:
10000 case AArch64::CMLEv4i16rz:
10001 case AArch64::CMLEv4i32rz:
10002 case AArch64::CMLEv8i16rz:
10003 case AArch64::CMLEv8i8rz:
10004 case AArch64::CMLTv16i8rz:
10005 case AArch64::CMLTv1i64rz:
10006 case AArch64::CMLTv2i32rz:
10007 case AArch64::CMLTv2i64rz:
10008 case AArch64::CMLTv4i16rz:
10009 case AArch64::CMLTv4i32rz:
10010 case AArch64::CMLTv8i16rz:
10011 case AArch64::CMLTv8i8rz:
10012 case AArch64::CNTWr:
10013 case AArch64::CNTXr:
10014 case AArch64::CNTv16i8:
10015 case AArch64::CNTv8i8:
10016 case AArch64::CTZWr:
10017 case AArch64::CTZXr:
10018 case AArch64::DUPv16i8gpr:
10019 case AArch64::DUPv2i32gpr:
10020 case AArch64::DUPv2i64gpr:
10021 case AArch64::DUPv4i16gpr:
10022 case AArch64::DUPv4i32gpr:
10023 case AArch64::DUPv8i16gpr:
10024 case AArch64::DUPv8i8gpr:
10025 case AArch64::F1CVTL:
10026 case AArch64::F1CVTL2:
10027 case AArch64::F2CVTL:
10028 case AArch64::F2CVTL2:
10029 case AArch64::FABSDr:
10030 case AArch64::FABSHr:
10031 case AArch64::FABSSr:
10032 case AArch64::FABSv2f32:
10033 case AArch64::FABSv2f64:
10034 case AArch64::FABSv4f16:
10035 case AArch64::FABSv4f32:
10036 case AArch64::FABSv8f16:
10037 case AArch64::FADDPv2i16p:
10038 case AArch64::FADDPv2i32p:
10039 case AArch64::FADDPv2i64p:
10040 case AArch64::FCMEQv1i16rz:
10041 case AArch64::FCMEQv1i32rz:
10042 case AArch64::FCMEQv1i64rz:
10043 case AArch64::FCMEQv2i32rz:
10044 case AArch64::FCMEQv2i64rz:
10045 case AArch64::FCMEQv4i16rz:
10046 case AArch64::FCMEQv4i32rz:
10047 case AArch64::FCMEQv8i16rz:
10048 case AArch64::FCMGEv1i16rz:
10049 case AArch64::FCMGEv1i32rz:
10050 case AArch64::FCMGEv1i64rz:
10051 case AArch64::FCMGEv2i32rz:
10052 case AArch64::FCMGEv2i64rz:
10053 case AArch64::FCMGEv4i16rz:
10054 case AArch64::FCMGEv4i32rz:
10055 case AArch64::FCMGEv8i16rz:
10056 case AArch64::FCMGTv1i16rz:
10057 case AArch64::FCMGTv1i32rz:
10058 case AArch64::FCMGTv1i64rz:
10059 case AArch64::FCMGTv2i32rz:
10060 case AArch64::FCMGTv2i64rz:
10061 case AArch64::FCMGTv4i16rz:
10062 case AArch64::FCMGTv4i32rz:
10063 case AArch64::FCMGTv8i16rz:
10064 case AArch64::FCMLEv1i16rz:
10065 case AArch64::FCMLEv1i32rz:
10066 case AArch64::FCMLEv1i64rz:
10067 case AArch64::FCMLEv2i32rz:
10068 case AArch64::FCMLEv2i64rz:
10069 case AArch64::FCMLEv4i16rz:
10070 case AArch64::FCMLEv4i32rz:
10071 case AArch64::FCMLEv8i16rz:
10072 case AArch64::FCMLTv1i16rz:
10073 case AArch64::FCMLTv1i32rz:
10074 case AArch64::FCMLTv1i64rz:
10075 case AArch64::FCMLTv2i32rz:
10076 case AArch64::FCMLTv2i64rz:
10077 case AArch64::FCMLTv4i16rz:
10078 case AArch64::FCMLTv4i32rz:
10079 case AArch64::FCMLTv8i16rz:
10080 case AArch64::FCVTASDHr:
10081 case AArch64::FCVTASDSr:
10082 case AArch64::FCVTASSDr:
10083 case AArch64::FCVTASSHr:
10084 case AArch64::FCVTASUWDr:
10085 case AArch64::FCVTASUWHr:
10086 case AArch64::FCVTASUWSr:
10087 case AArch64::FCVTASUXDr:
10088 case AArch64::FCVTASUXHr:
10089 case AArch64::FCVTASUXSr:
10090 case AArch64::FCVTASv1f16:
10091 case AArch64::FCVTASv1i32:
10092 case AArch64::FCVTASv1i64:
10093 case AArch64::FCVTASv2f32:
10094 case AArch64::FCVTASv2f64:
10095 case AArch64::FCVTASv4f16:
10096 case AArch64::FCVTASv4f32:
10097 case AArch64::FCVTASv8f16:
10098 case AArch64::FCVTAUDHr:
10099 case AArch64::FCVTAUDSr:
10100 case AArch64::FCVTAUSDr:
10101 case AArch64::FCVTAUSHr:
10102 case AArch64::FCVTAUUWDr:
10103 case AArch64::FCVTAUUWHr:
10104 case AArch64::FCVTAUUWSr:
10105 case AArch64::FCVTAUUXDr:
10106 case AArch64::FCVTAUUXHr:
10107 case AArch64::FCVTAUUXSr:
10108 case AArch64::FCVTAUv1f16:
10109 case AArch64::FCVTAUv1i32:
10110 case AArch64::FCVTAUv1i64:
10111 case AArch64::FCVTAUv2f32:
10112 case AArch64::FCVTAUv2f64:
10113 case AArch64::FCVTAUv4f16:
10114 case AArch64::FCVTAUv4f32:
10115 case AArch64::FCVTAUv8f16:
10116 case AArch64::FCVTDHr:
10117 case AArch64::FCVTDSr:
10118 case AArch64::FCVTHDr:
10119 case AArch64::FCVTHSr:
10120 case AArch64::FCVTLv2i32:
10121 case AArch64::FCVTLv4i16:
10122 case AArch64::FCVTLv4i32:
10123 case AArch64::FCVTLv8i16:
10124 case AArch64::FCVTMSDHr:
10125 case AArch64::FCVTMSDSr:
10126 case AArch64::FCVTMSSDr:
10127 case AArch64::FCVTMSSHr:
10128 case AArch64::FCVTMSUWDr:
10129 case AArch64::FCVTMSUWHr:
10130 case AArch64::FCVTMSUWSr:
10131 case AArch64::FCVTMSUXDr:
10132 case AArch64::FCVTMSUXHr:
10133 case AArch64::FCVTMSUXSr:
10134 case AArch64::FCVTMSv1f16:
10135 case AArch64::FCVTMSv1i32:
10136 case AArch64::FCVTMSv1i64:
10137 case AArch64::FCVTMSv2f32:
10138 case AArch64::FCVTMSv2f64:
10139 case AArch64::FCVTMSv4f16:
10140 case AArch64::FCVTMSv4f32:
10141 case AArch64::FCVTMSv8f16:
10142 case AArch64::FCVTMUDHr:
10143 case AArch64::FCVTMUDSr:
10144 case AArch64::FCVTMUSDr:
10145 case AArch64::FCVTMUSHr:
10146 case AArch64::FCVTMUUWDr:
10147 case AArch64::FCVTMUUWHr:
10148 case AArch64::FCVTMUUWSr:
10149 case AArch64::FCVTMUUXDr:
10150 case AArch64::FCVTMUUXHr:
10151 case AArch64::FCVTMUUXSr:
10152 case AArch64::FCVTMUv1f16:
10153 case AArch64::FCVTMUv1i32:
10154 case AArch64::FCVTMUv1i64:
10155 case AArch64::FCVTMUv2f32:
10156 case AArch64::FCVTMUv2f64:
10157 case AArch64::FCVTMUv4f16:
10158 case AArch64::FCVTMUv4f32:
10159 case AArch64::FCVTMUv8f16:
10160 case AArch64::FCVTNSDHr:
10161 case AArch64::FCVTNSDSr:
10162 case AArch64::FCVTNSSDr:
10163 case AArch64::FCVTNSSHr:
10164 case AArch64::FCVTNSUWDr:
10165 case AArch64::FCVTNSUWHr:
10166 case AArch64::FCVTNSUWSr:
10167 case AArch64::FCVTNSUXDr:
10168 case AArch64::FCVTNSUXHr:
10169 case AArch64::FCVTNSUXSr:
10170 case AArch64::FCVTNSv1f16:
10171 case AArch64::FCVTNSv1i32:
10172 case AArch64::FCVTNSv1i64:
10173 case AArch64::FCVTNSv2f32:
10174 case AArch64::FCVTNSv2f64:
10175 case AArch64::FCVTNSv4f16:
10176 case AArch64::FCVTNSv4f32:
10177 case AArch64::FCVTNSv8f16:
10178 case AArch64::FCVTNUDHr:
10179 case AArch64::FCVTNUDSr:
10180 case AArch64::FCVTNUSDr:
10181 case AArch64::FCVTNUSHr:
10182 case AArch64::FCVTNUUWDr:
10183 case AArch64::FCVTNUUWHr:
10184 case AArch64::FCVTNUUWSr:
10185 case AArch64::FCVTNUUXDr:
10186 case AArch64::FCVTNUUXHr:
10187 case AArch64::FCVTNUUXSr:
10188 case AArch64::FCVTNUv1f16:
10189 case AArch64::FCVTNUv1i32:
10190 case AArch64::FCVTNUv1i64:
10191 case AArch64::FCVTNUv2f32:
10192 case AArch64::FCVTNUv2f64:
10193 case AArch64::FCVTNUv4f16:
10194 case AArch64::FCVTNUv4f32:
10195 case AArch64::FCVTNUv8f16:
10196 case AArch64::FCVTNv2i32:
10197 case AArch64::FCVTNv4i16:
10198 case AArch64::FCVTPSDHr:
10199 case AArch64::FCVTPSDSr:
10200 case AArch64::FCVTPSSDr:
10201 case AArch64::FCVTPSSHr:
10202 case AArch64::FCVTPSUWDr:
10203 case AArch64::FCVTPSUWHr:
10204 case AArch64::FCVTPSUWSr:
10205 case AArch64::FCVTPSUXDr:
10206 case AArch64::FCVTPSUXHr:
10207 case AArch64::FCVTPSUXSr:
10208 case AArch64::FCVTPSv1f16:
10209 case AArch64::FCVTPSv1i32:
10210 case AArch64::FCVTPSv1i64:
10211 case AArch64::FCVTPSv2f32:
10212 case AArch64::FCVTPSv2f64:
10213 case AArch64::FCVTPSv4f16:
10214 case AArch64::FCVTPSv4f32:
10215 case AArch64::FCVTPSv8f16:
10216 case AArch64::FCVTPUDHr:
10217 case AArch64::FCVTPUDSr:
10218 case AArch64::FCVTPUSDr:
10219 case AArch64::FCVTPUSHr:
10220 case AArch64::FCVTPUUWDr:
10221 case AArch64::FCVTPUUWHr:
10222 case AArch64::FCVTPUUWSr:
10223 case AArch64::FCVTPUUXDr:
10224 case AArch64::FCVTPUUXHr:
10225 case AArch64::FCVTPUUXSr:
10226 case AArch64::FCVTPUv1f16:
10227 case AArch64::FCVTPUv1i32:
10228 case AArch64::FCVTPUv1i64:
10229 case AArch64::FCVTPUv2f32:
10230 case AArch64::FCVTPUv2f64:
10231 case AArch64::FCVTPUv4f16:
10232 case AArch64::FCVTPUv4f32:
10233 case AArch64::FCVTPUv8f16:
10234 case AArch64::FCVTSDr:
10235 case AArch64::FCVTSHr:
10236 case AArch64::FCVTXNv1i64:
10237 case AArch64::FCVTXNv2f32:
10238 case AArch64::FCVTZSDHr:
10239 case AArch64::FCVTZSDSr:
10240 case AArch64::FCVTZSSDr:
10241 case AArch64::FCVTZSSHr:
10242 case AArch64::FCVTZSUWDr:
10243 case AArch64::FCVTZSUWHr:
10244 case AArch64::FCVTZSUWSr:
10245 case AArch64::FCVTZSUXDr:
10246 case AArch64::FCVTZSUXHr:
10247 case AArch64::FCVTZSUXSr:
10248 case AArch64::FCVTZSv1f16:
10249 case AArch64::FCVTZSv1i32:
10250 case AArch64::FCVTZSv1i64:
10251 case AArch64::FCVTZSv2f32:
10252 case AArch64::FCVTZSv2f64:
10253 case AArch64::FCVTZSv4f16:
10254 case AArch64::FCVTZSv4f32:
10255 case AArch64::FCVTZSv8f16:
10256 case AArch64::FCVTZUDHr:
10257 case AArch64::FCVTZUDSr:
10258 case AArch64::FCVTZUSDr:
10259 case AArch64::FCVTZUSHr:
10260 case AArch64::FCVTZUUWDr:
10261 case AArch64::FCVTZUUWHr:
10262 case AArch64::FCVTZUUWSr:
10263 case AArch64::FCVTZUUXDr:
10264 case AArch64::FCVTZUUXHr:
10265 case AArch64::FCVTZUUXSr:
10266 case AArch64::FCVTZUv1f16:
10267 case AArch64::FCVTZUv1i32:
10268 case AArch64::FCVTZUv1i64:
10269 case AArch64::FCVTZUv2f32:
10270 case AArch64::FCVTZUv2f64:
10271 case AArch64::FCVTZUv4f16:
10272 case AArch64::FCVTZUv4f32:
10273 case AArch64::FCVTZUv8f16:
10274 case AArch64::FJCVTZS:
10275 case AArch64::FMAXNMPv2i16p:
10276 case AArch64::FMAXNMPv2i32p:
10277 case AArch64::FMAXNMPv2i64p:
10278 case AArch64::FMAXNMVv4i16v:
10279 case AArch64::FMAXNMVv4i32v:
10280 case AArch64::FMAXNMVv8i16v:
10281 case AArch64::FMAXPv2i16p:
10282 case AArch64::FMAXPv2i32p:
10283 case AArch64::FMAXPv2i64p:
10284 case AArch64::FMAXVv4i16v:
10285 case AArch64::FMAXVv4i32v:
10286 case AArch64::FMAXVv8i16v:
10287 case AArch64::FMINNMPv2i16p:
10288 case AArch64::FMINNMPv2i32p:
10289 case AArch64::FMINNMPv2i64p:
10290 case AArch64::FMINNMVv4i16v:
10291 case AArch64::FMINNMVv4i32v:
10292 case AArch64::FMINNMVv8i16v:
10293 case AArch64::FMINPv2i16p:
10294 case AArch64::FMINPv2i32p:
10295 case AArch64::FMINPv2i64p:
10296 case AArch64::FMINVv4i16v:
10297 case AArch64::FMINVv4i32v:
10298 case AArch64::FMINVv8i16v:
10299 case AArch64::FMOVDXHighr:
10300 case AArch64::FMOVDXr:
10301 case AArch64::FMOVDr:
10302 case AArch64::FMOVHWr:
10303 case AArch64::FMOVHXr:
10304 case AArch64::FMOVHr:
10305 case AArch64::FMOVSWr:
10306 case AArch64::FMOVSr:
10307 case AArch64::FMOVWHr:
10308 case AArch64::FMOVWSr:
10309 case AArch64::FMOVXDHighr:
10310 case AArch64::FMOVXDr:
10311 case AArch64::FMOVXHr:
10312 case AArch64::FNEGDr:
10313 case AArch64::FNEGHr:
10314 case AArch64::FNEGSr:
10315 case AArch64::FNEGv2f32:
10316 case AArch64::FNEGv2f64:
10317 case AArch64::FNEGv4f16:
10318 case AArch64::FNEGv4f32:
10319 case AArch64::FNEGv8f16:
10320 case AArch64::FRECPEv1f16:
10321 case AArch64::FRECPEv1i32:
10322 case AArch64::FRECPEv1i64:
10323 case AArch64::FRECPEv2f32:
10324 case AArch64::FRECPEv2f64:
10325 case AArch64::FRECPEv4f16:
10326 case AArch64::FRECPEv4f32:
10327 case AArch64::FRECPEv8f16:
10328 case AArch64::FRECPXv1f16:
10329 case AArch64::FRECPXv1i32:
10330 case AArch64::FRECPXv1i64:
10331 case AArch64::FRINT32XDr:
10332 case AArch64::FRINT32XSr:
10333 case AArch64::FRINT32Xv2f32:
10334 case AArch64::FRINT32Xv2f64:
10335 case AArch64::FRINT32Xv4f32:
10336 case AArch64::FRINT32ZDr:
10337 case AArch64::FRINT32ZSr:
10338 case AArch64::FRINT32Zv2f32:
10339 case AArch64::FRINT32Zv2f64:
10340 case AArch64::FRINT32Zv4f32:
10341 case AArch64::FRINT64XDr:
10342 case AArch64::FRINT64XSr:
10343 case AArch64::FRINT64Xv2f32:
10344 case AArch64::FRINT64Xv2f64:
10345 case AArch64::FRINT64Xv4f32:
10346 case AArch64::FRINT64ZDr:
10347 case AArch64::FRINT64ZSr:
10348 case AArch64::FRINT64Zv2f32:
10349 case AArch64::FRINT64Zv2f64:
10350 case AArch64::FRINT64Zv4f32:
10351 case AArch64::FRINTADr:
10352 case AArch64::FRINTAHr:
10353 case AArch64::FRINTASr:
10354 case AArch64::FRINTAv2f32:
10355 case AArch64::FRINTAv2f64:
10356 case AArch64::FRINTAv4f16:
10357 case AArch64::FRINTAv4f32:
10358 case AArch64::FRINTAv8f16:
10359 case AArch64::FRINTIDr:
10360 case AArch64::FRINTIHr:
10361 case AArch64::FRINTISr:
10362 case AArch64::FRINTIv2f32:
10363 case AArch64::FRINTIv2f64:
10364 case AArch64::FRINTIv4f16:
10365 case AArch64::FRINTIv4f32:
10366 case AArch64::FRINTIv8f16:
10367 case AArch64::FRINTMDr:
10368 case AArch64::FRINTMHr:
10369 case AArch64::FRINTMSr:
10370 case AArch64::FRINTMv2f32:
10371 case AArch64::FRINTMv2f64:
10372 case AArch64::FRINTMv4f16:
10373 case AArch64::FRINTMv4f32:
10374 case AArch64::FRINTMv8f16:
10375 case AArch64::FRINTNDr:
10376 case AArch64::FRINTNHr:
10377 case AArch64::FRINTNSr:
10378 case AArch64::FRINTNv2f32:
10379 case AArch64::FRINTNv2f64:
10380 case AArch64::FRINTNv4f16:
10381 case AArch64::FRINTNv4f32:
10382 case AArch64::FRINTNv8f16:
10383 case AArch64::FRINTPDr:
10384 case AArch64::FRINTPHr:
10385 case AArch64::FRINTPSr:
10386 case AArch64::FRINTPv2f32:
10387 case AArch64::FRINTPv2f64:
10388 case AArch64::FRINTPv4f16:
10389 case AArch64::FRINTPv4f32:
10390 case AArch64::FRINTPv8f16:
10391 case AArch64::FRINTXDr:
10392 case AArch64::FRINTXHr:
10393 case AArch64::FRINTXSr:
10394 case AArch64::FRINTXv2f32:
10395 case AArch64::FRINTXv2f64:
10396 case AArch64::FRINTXv4f16:
10397 case AArch64::FRINTXv4f32:
10398 case AArch64::FRINTXv8f16:
10399 case AArch64::FRINTZDr:
10400 case AArch64::FRINTZHr:
10401 case AArch64::FRINTZSr:
10402 case AArch64::FRINTZv2f32:
10403 case AArch64::FRINTZv2f64:
10404 case AArch64::FRINTZv4f16:
10405 case AArch64::FRINTZv4f32:
10406 case AArch64::FRINTZv8f16:
10407 case AArch64::FRSQRTEv1f16:
10408 case AArch64::FRSQRTEv1i32:
10409 case AArch64::FRSQRTEv1i64:
10410 case AArch64::FRSQRTEv2f32:
10411 case AArch64::FRSQRTEv2f64:
10412 case AArch64::FRSQRTEv4f16:
10413 case AArch64::FRSQRTEv4f32:
10414 case AArch64::FRSQRTEv8f16:
10415 case AArch64::FSQRTDr:
10416 case AArch64::FSQRTHr:
10417 case AArch64::FSQRTSr:
10418 case AArch64::FSQRTv2f32:
10419 case AArch64::FSQRTv2f64:
10420 case AArch64::FSQRTv4f16:
10421 case AArch64::FSQRTv4f32:
10422 case AArch64::FSQRTv8f16:
10423 case AArch64::NEGv16i8:
10424 case AArch64::NEGv1i64:
10425 case AArch64::NEGv2i32:
10426 case AArch64::NEGv2i64:
10427 case AArch64::NEGv4i16:
10428 case AArch64::NEGv4i32:
10429 case AArch64::NEGv8i16:
10430 case AArch64::NEGv8i8:
10431 case AArch64::NOTv16i8:
10432 case AArch64::NOTv8i8:
10433 case AArch64::RBITWr:
10434 case AArch64::RBITXr:
10435 case AArch64::RBITv16i8:
10436 case AArch64::RBITv8i8:
10437 case AArch64::REV16Wr:
10438 case AArch64::REV16Xr:
10439 case AArch64::REV16v16i8:
10440 case AArch64::REV16v8i8:
10441 case AArch64::REV32Xr:
10442 case AArch64::REV32v16i8:
10443 case AArch64::REV32v4i16:
10444 case AArch64::REV32v8i16:
10445 case AArch64::REV32v8i8:
10446 case AArch64::REV64v16i8:
10447 case AArch64::REV64v2i32:
10448 case AArch64::REV64v4i16:
10449 case AArch64::REV64v4i32:
10450 case AArch64::REV64v8i16:
10451 case AArch64::REV64v8i8:
10452 case AArch64::REVWr:
10453 case AArch64::REVXr:
10454 case AArch64::SADDLPv16i8_v8i16:
10455 case AArch64::SADDLPv2i32_v1i64:
10456 case AArch64::SADDLPv4i16_v2i32:
10457 case AArch64::SADDLPv4i32_v2i64:
10458 case AArch64::SADDLPv8i16_v4i32:
10459 case AArch64::SADDLPv8i8_v4i16:
10460 case AArch64::SADDLVv16i8v:
10461 case AArch64::SADDLVv4i16v:
10462 case AArch64::SADDLVv4i32v:
10463 case AArch64::SADDLVv8i16v:
10464 case AArch64::SADDLVv8i8v:
10465 case AArch64::SCVTFDSr:
10466 case AArch64::SCVTFHDr:
10467 case AArch64::SCVTFHSr:
10468 case AArch64::SCVTFSDr:
10469 case AArch64::SCVTFUWDri:
10470 case AArch64::SCVTFUWHri:
10471 case AArch64::SCVTFUWSri:
10472 case AArch64::SCVTFUXDri:
10473 case AArch64::SCVTFUXHri:
10474 case AArch64::SCVTFUXSri:
10475 case AArch64::SCVTFv1i16:
10476 case AArch64::SCVTFv1i32:
10477 case AArch64::SCVTFv1i64:
10478 case AArch64::SCVTFv2f32:
10479 case AArch64::SCVTFv2f64:
10480 case AArch64::SCVTFv4f16:
10481 case AArch64::SCVTFv4f32:
10482 case AArch64::SCVTFv8f16:
10483 case AArch64::SHA1Hrr:
10484 case AArch64::SHLLv16i8:
10485 case AArch64::SHLLv2i32:
10486 case AArch64::SHLLv4i16:
10487 case AArch64::SHLLv4i32:
10488 case AArch64::SHLLv8i16:
10489 case AArch64::SHLLv8i8:
10490 case AArch64::SMAXVv16i8v:
10491 case AArch64::SMAXVv4i16v:
10492 case AArch64::SMAXVv4i32v:
10493 case AArch64::SMAXVv8i16v:
10494 case AArch64::SMAXVv8i8v:
10495 case AArch64::SMINVv16i8v:
10496 case AArch64::SMINVv4i16v:
10497 case AArch64::SMINVv4i32v:
10498 case AArch64::SMINVv8i16v:
10499 case AArch64::SMINVv8i8v:
10500 case AArch64::SMOVvi16to32_idx0:
10501 case AArch64::SMOVvi16to64_idx0:
10502 case AArch64::SMOVvi32to64_idx0:
10503 case AArch64::SMOVvi8to32_idx0:
10504 case AArch64::SMOVvi8to64_idx0:
10505 case AArch64::SQABSv16i8:
10506 case AArch64::SQABSv1i16:
10507 case AArch64::SQABSv1i32:
10508 case AArch64::SQABSv1i64:
10509 case AArch64::SQABSv1i8:
10510 case AArch64::SQABSv2i32:
10511 case AArch64::SQABSv2i64:
10512 case AArch64::SQABSv4i16:
10513 case AArch64::SQABSv4i32:
10514 case AArch64::SQABSv8i16:
10515 case AArch64::SQABSv8i8:
10516 case AArch64::SQNEGv16i8:
10517 case AArch64::SQNEGv1i16:
10518 case AArch64::SQNEGv1i32:
10519 case AArch64::SQNEGv1i64:
10520 case AArch64::SQNEGv1i8:
10521 case AArch64::SQNEGv2i32:
10522 case AArch64::SQNEGv2i64:
10523 case AArch64::SQNEGv4i16:
10524 case AArch64::SQNEGv4i32:
10525 case AArch64::SQNEGv8i16:
10526 case AArch64::SQNEGv8i8:
10527 case AArch64::SQXTNv1i16:
10528 case AArch64::SQXTNv1i32:
10529 case AArch64::SQXTNv1i8:
10530 case AArch64::SQXTNv2i32:
10531 case AArch64::SQXTNv4i16:
10532 case AArch64::SQXTNv8i8:
10533 case AArch64::SQXTUNv1i16:
10534 case AArch64::SQXTUNv1i32:
10535 case AArch64::SQXTUNv1i8:
10536 case AArch64::SQXTUNv2i32:
10537 case AArch64::SQXTUNv4i16:
10538 case AArch64::SQXTUNv8i8:
10539 case AArch64::UADDLPv16i8_v8i16:
10540 case AArch64::UADDLPv2i32_v1i64:
10541 case AArch64::UADDLPv4i16_v2i32:
10542 case AArch64::UADDLPv4i32_v2i64:
10543 case AArch64::UADDLPv8i16_v4i32:
10544 case AArch64::UADDLPv8i8_v4i16:
10545 case AArch64::UADDLVv16i8v:
10546 case AArch64::UADDLVv4i16v:
10547 case AArch64::UADDLVv4i32v:
10548 case AArch64::UADDLVv8i16v:
10549 case AArch64::UADDLVv8i8v:
10550 case AArch64::UCVTFDSr:
10551 case AArch64::UCVTFHDr:
10552 case AArch64::UCVTFHSr:
10553 case AArch64::UCVTFSDr:
10554 case AArch64::UCVTFUWDri:
10555 case AArch64::UCVTFUWHri:
10556 case AArch64::UCVTFUWSri:
10557 case AArch64::UCVTFUXDri:
10558 case AArch64::UCVTFUXHri:
10559 case AArch64::UCVTFUXSri:
10560 case AArch64::UCVTFv1i16:
10561 case AArch64::UCVTFv1i32:
10562 case AArch64::UCVTFv1i64:
10563 case AArch64::UCVTFv2f32:
10564 case AArch64::UCVTFv2f64:
10565 case AArch64::UCVTFv4f16:
10566 case AArch64::UCVTFv4f32:
10567 case AArch64::UCVTFv8f16:
10568 case AArch64::UMAXVv16i8v:
10569 case AArch64::UMAXVv4i16v:
10570 case AArch64::UMAXVv4i32v:
10571 case AArch64::UMAXVv8i16v:
10572 case AArch64::UMAXVv8i8v:
10573 case AArch64::UMINVv16i8v:
10574 case AArch64::UMINVv4i16v:
10575 case AArch64::UMINVv4i32v:
10576 case AArch64::UMINVv8i16v:
10577 case AArch64::UMINVv8i8v:
10578 case AArch64::UMOVvi16_idx0:
10579 case AArch64::UMOVvi32_idx0:
10580 case AArch64::UMOVvi64_idx0:
10581 case AArch64::UMOVvi8_idx0:
10582 case AArch64::UQXTNv1i16:
10583 case AArch64::UQXTNv1i32:
10584 case AArch64::UQXTNv1i8:
10585 case AArch64::UQXTNv2i32:
10586 case AArch64::UQXTNv4i16:
10587 case AArch64::UQXTNv8i8:
10588 case AArch64::URECPEv2i32:
10589 case AArch64::URECPEv4i32:
10590 case AArch64::URSQRTEv2i32:
10591 case AArch64::URSQRTEv4i32:
10592 case AArch64::XTNv2i32:
10593 case AArch64::XTNv4i16:
10594 case AArch64::XTNv8i8: {
10595 // op: Rd
10596 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10597 Value |= (op & 0x1f);
10598 // op: Rn
10599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10600 Value |= (op & 0x1f) << 5;
10601 break;
10602 }
10603 case AArch64::ADCSWr:
10604 case AArch64::ADCSXr:
10605 case AArch64::ADCWr:
10606 case AArch64::ADCXr:
10607 case AArch64::ADDHNv2i64_v2i32:
10608 case AArch64::ADDHNv4i32_v4i16:
10609 case AArch64::ADDHNv8i16_v8i8:
10610 case AArch64::ADDPv16i8:
10611 case AArch64::ADDPv2i32:
10612 case AArch64::ADDPv2i64:
10613 case AArch64::ADDPv4i16:
10614 case AArch64::ADDPv4i32:
10615 case AArch64::ADDPv8i16:
10616 case AArch64::ADDPv8i8:
10617 case AArch64::ADDv16i8:
10618 case AArch64::ADDv1i64:
10619 case AArch64::ADDv2i32:
10620 case AArch64::ADDv2i64:
10621 case AArch64::ADDv4i16:
10622 case AArch64::ADDv4i32:
10623 case AArch64::ADDv8i16:
10624 case AArch64::ADDv8i8:
10625 case AArch64::ANDv16i8:
10626 case AArch64::ANDv8i8:
10627 case AArch64::ASRVWr:
10628 case AArch64::ASRVXr:
10629 case AArch64::BICv16i8:
10630 case AArch64::BICv8i8:
10631 case AArch64::CMEQv16i8:
10632 case AArch64::CMEQv1i64:
10633 case AArch64::CMEQv2i32:
10634 case AArch64::CMEQv2i64:
10635 case AArch64::CMEQv4i16:
10636 case AArch64::CMEQv4i32:
10637 case AArch64::CMEQv8i16:
10638 case AArch64::CMEQv8i8:
10639 case AArch64::CMGEv16i8:
10640 case AArch64::CMGEv1i64:
10641 case AArch64::CMGEv2i32:
10642 case AArch64::CMGEv2i64:
10643 case AArch64::CMGEv4i16:
10644 case AArch64::CMGEv4i32:
10645 case AArch64::CMGEv8i16:
10646 case AArch64::CMGEv8i8:
10647 case AArch64::CMGTv16i8:
10648 case AArch64::CMGTv1i64:
10649 case AArch64::CMGTv2i32:
10650 case AArch64::CMGTv2i64:
10651 case AArch64::CMGTv4i16:
10652 case AArch64::CMGTv4i32:
10653 case AArch64::CMGTv8i16:
10654 case AArch64::CMGTv8i8:
10655 case AArch64::CMHIv16i8:
10656 case AArch64::CMHIv1i64:
10657 case AArch64::CMHIv2i32:
10658 case AArch64::CMHIv2i64:
10659 case AArch64::CMHIv4i16:
10660 case AArch64::CMHIv4i32:
10661 case AArch64::CMHIv8i16:
10662 case AArch64::CMHIv8i8:
10663 case AArch64::CMHSv16i8:
10664 case AArch64::CMHSv1i64:
10665 case AArch64::CMHSv2i32:
10666 case AArch64::CMHSv2i64:
10667 case AArch64::CMHSv4i16:
10668 case AArch64::CMHSv4i32:
10669 case AArch64::CMHSv8i16:
10670 case AArch64::CMHSv8i8:
10671 case AArch64::CMTSTv16i8:
10672 case AArch64::CMTSTv1i64:
10673 case AArch64::CMTSTv2i32:
10674 case AArch64::CMTSTv2i64:
10675 case AArch64::CMTSTv4i16:
10676 case AArch64::CMTSTv4i32:
10677 case AArch64::CMTSTv8i16:
10678 case AArch64::CMTSTv8i8:
10679 case AArch64::CRC32Brr:
10680 case AArch64::CRC32CBrr:
10681 case AArch64::CRC32CHrr:
10682 case AArch64::CRC32CWrr:
10683 case AArch64::CRC32CXrr:
10684 case AArch64::CRC32Hrr:
10685 case AArch64::CRC32Wrr:
10686 case AArch64::CRC32Xrr:
10687 case AArch64::EORv16i8:
10688 case AArch64::EORv8i8:
10689 case AArch64::FABD16:
10690 case AArch64::FABD32:
10691 case AArch64::FABD64:
10692 case AArch64::FABDv2f32:
10693 case AArch64::FABDv2f64:
10694 case AArch64::FABDv4f16:
10695 case AArch64::FABDv4f32:
10696 case AArch64::FABDv8f16:
10697 case AArch64::FACGE16:
10698 case AArch64::FACGE32:
10699 case AArch64::FACGE64:
10700 case AArch64::FACGEv2f32:
10701 case AArch64::FACGEv2f64:
10702 case AArch64::FACGEv4f16:
10703 case AArch64::FACGEv4f32:
10704 case AArch64::FACGEv8f16:
10705 case AArch64::FACGT16:
10706 case AArch64::FACGT32:
10707 case AArch64::FACGT64:
10708 case AArch64::FACGTv2f32:
10709 case AArch64::FACGTv2f64:
10710 case AArch64::FACGTv4f16:
10711 case AArch64::FACGTv4f32:
10712 case AArch64::FACGTv8f16:
10713 case AArch64::FADDDrr:
10714 case AArch64::FADDHrr:
10715 case AArch64::FADDPv2f32:
10716 case AArch64::FADDPv2f64:
10717 case AArch64::FADDPv4f16:
10718 case AArch64::FADDPv4f32:
10719 case AArch64::FADDPv8f16:
10720 case AArch64::FADDSrr:
10721 case AArch64::FADDv2f32:
10722 case AArch64::FADDv2f64:
10723 case AArch64::FADDv4f16:
10724 case AArch64::FADDv4f32:
10725 case AArch64::FADDv8f16:
10726 case AArch64::FAMAXv2f32:
10727 case AArch64::FAMAXv2f64:
10728 case AArch64::FAMAXv4f16:
10729 case AArch64::FAMAXv4f32:
10730 case AArch64::FAMAXv8f16:
10731 case AArch64::FAMINv2f32:
10732 case AArch64::FAMINv2f64:
10733 case AArch64::FAMINv4f16:
10734 case AArch64::FAMINv4f32:
10735 case AArch64::FAMINv8f16:
10736 case AArch64::FCMEQ16:
10737 case AArch64::FCMEQ32:
10738 case AArch64::FCMEQ64:
10739 case AArch64::FCMEQv2f32:
10740 case AArch64::FCMEQv2f64:
10741 case AArch64::FCMEQv4f16:
10742 case AArch64::FCMEQv4f32:
10743 case AArch64::FCMEQv8f16:
10744 case AArch64::FCMGE16:
10745 case AArch64::FCMGE32:
10746 case AArch64::FCMGE64:
10747 case AArch64::FCMGEv2f32:
10748 case AArch64::FCMGEv2f64:
10749 case AArch64::FCMGEv4f16:
10750 case AArch64::FCMGEv4f32:
10751 case AArch64::FCMGEv8f16:
10752 case AArch64::FCMGT16:
10753 case AArch64::FCMGT32:
10754 case AArch64::FCMGT64:
10755 case AArch64::FCMGTv2f32:
10756 case AArch64::FCMGTv2f64:
10757 case AArch64::FCMGTv4f16:
10758 case AArch64::FCMGTv4f32:
10759 case AArch64::FCMGTv8f16:
10760 case AArch64::FCVTN_F16v16f8:
10761 case AArch64::FCVTN_F16v8f8:
10762 case AArch64::FCVTN_F32v8f8:
10763 case AArch64::FDIVDrr:
10764 case AArch64::FDIVHrr:
10765 case AArch64::FDIVSrr:
10766 case AArch64::FDIVv2f32:
10767 case AArch64::FDIVv2f64:
10768 case AArch64::FDIVv4f16:
10769 case AArch64::FDIVv4f32:
10770 case AArch64::FDIVv8f16:
10771 case AArch64::FMAXDrr:
10772 case AArch64::FMAXHrr:
10773 case AArch64::FMAXNMDrr:
10774 case AArch64::FMAXNMHrr:
10775 case AArch64::FMAXNMPv2f32:
10776 case AArch64::FMAXNMPv2f64:
10777 case AArch64::FMAXNMPv4f16:
10778 case AArch64::FMAXNMPv4f32:
10779 case AArch64::FMAXNMPv8f16:
10780 case AArch64::FMAXNMSrr:
10781 case AArch64::FMAXNMv2f32:
10782 case AArch64::FMAXNMv2f64:
10783 case AArch64::FMAXNMv4f16:
10784 case AArch64::FMAXNMv4f32:
10785 case AArch64::FMAXNMv8f16:
10786 case AArch64::FMAXPv2f32:
10787 case AArch64::FMAXPv2f64:
10788 case AArch64::FMAXPv4f16:
10789 case AArch64::FMAXPv4f32:
10790 case AArch64::FMAXPv8f16:
10791 case AArch64::FMAXSrr:
10792 case AArch64::FMAXv2f32:
10793 case AArch64::FMAXv2f64:
10794 case AArch64::FMAXv4f16:
10795 case AArch64::FMAXv4f32:
10796 case AArch64::FMAXv8f16:
10797 case AArch64::FMINDrr:
10798 case AArch64::FMINHrr:
10799 case AArch64::FMINNMDrr:
10800 case AArch64::FMINNMHrr:
10801 case AArch64::FMINNMPv2f32:
10802 case AArch64::FMINNMPv2f64:
10803 case AArch64::FMINNMPv4f16:
10804 case AArch64::FMINNMPv4f32:
10805 case AArch64::FMINNMPv8f16:
10806 case AArch64::FMINNMSrr:
10807 case AArch64::FMINNMv2f32:
10808 case AArch64::FMINNMv2f64:
10809 case AArch64::FMINNMv4f16:
10810 case AArch64::FMINNMv4f32:
10811 case AArch64::FMINNMv8f16:
10812 case AArch64::FMINPv2f32:
10813 case AArch64::FMINPv2f64:
10814 case AArch64::FMINPv4f16:
10815 case AArch64::FMINPv4f32:
10816 case AArch64::FMINPv8f16:
10817 case AArch64::FMINSrr:
10818 case AArch64::FMINv2f32:
10819 case AArch64::FMINv2f64:
10820 case AArch64::FMINv4f16:
10821 case AArch64::FMINv4f32:
10822 case AArch64::FMINv8f16:
10823 case AArch64::FMULDrr:
10824 case AArch64::FMULHrr:
10825 case AArch64::FMULSrr:
10826 case AArch64::FMULX16:
10827 case AArch64::FMULX32:
10828 case AArch64::FMULX64:
10829 case AArch64::FMULXv2f32:
10830 case AArch64::FMULXv2f64:
10831 case AArch64::FMULXv4f16:
10832 case AArch64::FMULXv4f32:
10833 case AArch64::FMULXv8f16:
10834 case AArch64::FMULv2f32:
10835 case AArch64::FMULv2f64:
10836 case AArch64::FMULv4f16:
10837 case AArch64::FMULv4f32:
10838 case AArch64::FMULv8f16:
10839 case AArch64::FNMULDrr:
10840 case AArch64::FNMULHrr:
10841 case AArch64::FNMULSrr:
10842 case AArch64::FRECPS16:
10843 case AArch64::FRECPS32:
10844 case AArch64::FRECPS64:
10845 case AArch64::FRECPSv2f32:
10846 case AArch64::FRECPSv2f64:
10847 case AArch64::FRECPSv4f16:
10848 case AArch64::FRECPSv4f32:
10849 case AArch64::FRECPSv8f16:
10850 case AArch64::FRSQRTS16:
10851 case AArch64::FRSQRTS32:
10852 case AArch64::FRSQRTS64:
10853 case AArch64::FRSQRTSv2f32:
10854 case AArch64::FRSQRTSv2f64:
10855 case AArch64::FRSQRTSv4f16:
10856 case AArch64::FRSQRTSv4f32:
10857 case AArch64::FRSQRTSv8f16:
10858 case AArch64::FSCALEv2f32:
10859 case AArch64::FSCALEv2f64:
10860 case AArch64::FSCALEv4f16:
10861 case AArch64::FSCALEv4f32:
10862 case AArch64::FSCALEv8f16:
10863 case AArch64::FSUBDrr:
10864 case AArch64::FSUBHrr:
10865 case AArch64::FSUBSrr:
10866 case AArch64::FSUBv2f32:
10867 case AArch64::FSUBv2f64:
10868 case AArch64::FSUBv4f16:
10869 case AArch64::FSUBv4f32:
10870 case AArch64::FSUBv8f16:
10871 case AArch64::GMI:
10872 case AArch64::IRG:
10873 case AArch64::LSLVWr:
10874 case AArch64::LSLVXr:
10875 case AArch64::LSRVWr:
10876 case AArch64::LSRVXr:
10877 case AArch64::MULv16i8:
10878 case AArch64::MULv2i32:
10879 case AArch64::MULv4i16:
10880 case AArch64::MULv4i32:
10881 case AArch64::MULv8i16:
10882 case AArch64::MULv8i8:
10883 case AArch64::ORNv16i8:
10884 case AArch64::ORNv8i8:
10885 case AArch64::ORRv16i8:
10886 case AArch64::ORRv8i8:
10887 case AArch64::PACGA:
10888 case AArch64::PMULLv16i8:
10889 case AArch64::PMULLv1i64:
10890 case AArch64::PMULLv2i64:
10891 case AArch64::PMULLv8i8:
10892 case AArch64::PMULv16i8:
10893 case AArch64::PMULv8i8:
10894 case AArch64::RADDHNv2i64_v2i32:
10895 case AArch64::RADDHNv4i32_v4i16:
10896 case AArch64::RADDHNv8i16_v8i8:
10897 case AArch64::RORVWr:
10898 case AArch64::RORVXr:
10899 case AArch64::RSUBHNv2i64_v2i32:
10900 case AArch64::RSUBHNv4i32_v4i16:
10901 case AArch64::RSUBHNv8i16_v8i8:
10902 case AArch64::SABDLv16i8_v8i16:
10903 case AArch64::SABDLv2i32_v2i64:
10904 case AArch64::SABDLv4i16_v4i32:
10905 case AArch64::SABDLv4i32_v2i64:
10906 case AArch64::SABDLv8i16_v4i32:
10907 case AArch64::SABDLv8i8_v8i16:
10908 case AArch64::SABDv16i8:
10909 case AArch64::SABDv2i32:
10910 case AArch64::SABDv4i16:
10911 case AArch64::SABDv4i32:
10912 case AArch64::SABDv8i16:
10913 case AArch64::SABDv8i8:
10914 case AArch64::SADDLv16i8_v8i16:
10915 case AArch64::SADDLv2i32_v2i64:
10916 case AArch64::SADDLv4i16_v4i32:
10917 case AArch64::SADDLv4i32_v2i64:
10918 case AArch64::SADDLv8i16_v4i32:
10919 case AArch64::SADDLv8i8_v8i16:
10920 case AArch64::SADDWv16i8_v8i16:
10921 case AArch64::SADDWv2i32_v2i64:
10922 case AArch64::SADDWv4i16_v4i32:
10923 case AArch64::SADDWv4i32_v2i64:
10924 case AArch64::SADDWv8i16_v4i32:
10925 case AArch64::SADDWv8i8_v8i16:
10926 case AArch64::SBCSWr:
10927 case AArch64::SBCSXr:
10928 case AArch64::SBCWr:
10929 case AArch64::SBCXr:
10930 case AArch64::SDIVWr:
10931 case AArch64::SDIVXr:
10932 case AArch64::SHADDv16i8:
10933 case AArch64::SHADDv2i32:
10934 case AArch64::SHADDv4i16:
10935 case AArch64::SHADDv4i32:
10936 case AArch64::SHADDv8i16:
10937 case AArch64::SHADDv8i8:
10938 case AArch64::SHSUBv16i8:
10939 case AArch64::SHSUBv2i32:
10940 case AArch64::SHSUBv4i16:
10941 case AArch64::SHSUBv4i32:
10942 case AArch64::SHSUBv8i16:
10943 case AArch64::SHSUBv8i8:
10944 case AArch64::SMAXPv16i8:
10945 case AArch64::SMAXPv2i32:
10946 case AArch64::SMAXPv4i16:
10947 case AArch64::SMAXPv4i32:
10948 case AArch64::SMAXPv8i16:
10949 case AArch64::SMAXPv8i8:
10950 case AArch64::SMAXWrr:
10951 case AArch64::SMAXXrr:
10952 case AArch64::SMAXv16i8:
10953 case AArch64::SMAXv2i32:
10954 case AArch64::SMAXv4i16:
10955 case AArch64::SMAXv4i32:
10956 case AArch64::SMAXv8i16:
10957 case AArch64::SMAXv8i8:
10958 case AArch64::SMINPv16i8:
10959 case AArch64::SMINPv2i32:
10960 case AArch64::SMINPv4i16:
10961 case AArch64::SMINPv4i32:
10962 case AArch64::SMINPv8i16:
10963 case AArch64::SMINPv8i8:
10964 case AArch64::SMINWrr:
10965 case AArch64::SMINXrr:
10966 case AArch64::SMINv16i8:
10967 case AArch64::SMINv2i32:
10968 case AArch64::SMINv4i16:
10969 case AArch64::SMINv4i32:
10970 case AArch64::SMINv8i16:
10971 case AArch64::SMINv8i8:
10972 case AArch64::SMULLv16i8_v8i16:
10973 case AArch64::SMULLv2i32_v2i64:
10974 case AArch64::SMULLv4i16_v4i32:
10975 case AArch64::SMULLv4i32_v2i64:
10976 case AArch64::SMULLv8i16_v4i32:
10977 case AArch64::SMULLv8i8_v8i16:
10978 case AArch64::SQADDv16i8:
10979 case AArch64::SQADDv1i16:
10980 case AArch64::SQADDv1i32:
10981 case AArch64::SQADDv1i64:
10982 case AArch64::SQADDv1i8:
10983 case AArch64::SQADDv2i32:
10984 case AArch64::SQADDv2i64:
10985 case AArch64::SQADDv4i16:
10986 case AArch64::SQADDv4i32:
10987 case AArch64::SQADDv8i16:
10988 case AArch64::SQADDv8i8:
10989 case AArch64::SQDMULHv1i16:
10990 case AArch64::SQDMULHv1i32:
10991 case AArch64::SQDMULHv2i32:
10992 case AArch64::SQDMULHv4i16:
10993 case AArch64::SQDMULHv4i32:
10994 case AArch64::SQDMULHv8i16:
10995 case AArch64::SQDMULLi16:
10996 case AArch64::SQDMULLi32:
10997 case AArch64::SQDMULLv2i32_v2i64:
10998 case AArch64::SQDMULLv4i16_v4i32:
10999 case AArch64::SQDMULLv4i32_v2i64:
11000 case AArch64::SQDMULLv8i16_v4i32:
11001 case AArch64::SQRDMULHv1i16:
11002 case AArch64::SQRDMULHv1i32:
11003 case AArch64::SQRDMULHv2i32:
11004 case AArch64::SQRDMULHv4i16:
11005 case AArch64::SQRDMULHv4i32:
11006 case AArch64::SQRDMULHv8i16:
11007 case AArch64::SQRSHLv16i8:
11008 case AArch64::SQRSHLv1i16:
11009 case AArch64::SQRSHLv1i32:
11010 case AArch64::SQRSHLv1i64:
11011 case AArch64::SQRSHLv1i8:
11012 case AArch64::SQRSHLv2i32:
11013 case AArch64::SQRSHLv2i64:
11014 case AArch64::SQRSHLv4i16:
11015 case AArch64::SQRSHLv4i32:
11016 case AArch64::SQRSHLv8i16:
11017 case AArch64::SQRSHLv8i8:
11018 case AArch64::SQSHLv16i8:
11019 case AArch64::SQSHLv1i16:
11020 case AArch64::SQSHLv1i32:
11021 case AArch64::SQSHLv1i64:
11022 case AArch64::SQSHLv1i8:
11023 case AArch64::SQSHLv2i32:
11024 case AArch64::SQSHLv2i64:
11025 case AArch64::SQSHLv4i16:
11026 case AArch64::SQSHLv4i32:
11027 case AArch64::SQSHLv8i16:
11028 case AArch64::SQSHLv8i8:
11029 case AArch64::SQSUBv16i8:
11030 case AArch64::SQSUBv1i16:
11031 case AArch64::SQSUBv1i32:
11032 case AArch64::SQSUBv1i64:
11033 case AArch64::SQSUBv1i8:
11034 case AArch64::SQSUBv2i32:
11035 case AArch64::SQSUBv2i64:
11036 case AArch64::SQSUBv4i16:
11037 case AArch64::SQSUBv4i32:
11038 case AArch64::SQSUBv8i16:
11039 case AArch64::SQSUBv8i8:
11040 case AArch64::SRHADDv16i8:
11041 case AArch64::SRHADDv2i32:
11042 case AArch64::SRHADDv4i16:
11043 case AArch64::SRHADDv4i32:
11044 case AArch64::SRHADDv8i16:
11045 case AArch64::SRHADDv8i8:
11046 case AArch64::SRSHLv16i8:
11047 case AArch64::SRSHLv1i64:
11048 case AArch64::SRSHLv2i32:
11049 case AArch64::SRSHLv2i64:
11050 case AArch64::SRSHLv4i16:
11051 case AArch64::SRSHLv4i32:
11052 case AArch64::SRSHLv8i16:
11053 case AArch64::SRSHLv8i8:
11054 case AArch64::SSHLv16i8:
11055 case AArch64::SSHLv1i64:
11056 case AArch64::SSHLv2i32:
11057 case AArch64::SSHLv2i64:
11058 case AArch64::SSHLv4i16:
11059 case AArch64::SSHLv4i32:
11060 case AArch64::SSHLv8i16:
11061 case AArch64::SSHLv8i8:
11062 case AArch64::SSUBLv16i8_v8i16:
11063 case AArch64::SSUBLv2i32_v2i64:
11064 case AArch64::SSUBLv4i16_v4i32:
11065 case AArch64::SSUBLv4i32_v2i64:
11066 case AArch64::SSUBLv8i16_v4i32:
11067 case AArch64::SSUBLv8i8_v8i16:
11068 case AArch64::SSUBWv16i8_v8i16:
11069 case AArch64::SSUBWv2i32_v2i64:
11070 case AArch64::SSUBWv4i16_v4i32:
11071 case AArch64::SSUBWv4i32_v2i64:
11072 case AArch64::SSUBWv8i16_v4i32:
11073 case AArch64::SSUBWv8i8_v8i16:
11074 case AArch64::SUBHNv2i64_v2i32:
11075 case AArch64::SUBHNv4i32_v4i16:
11076 case AArch64::SUBHNv8i16_v8i8:
11077 case AArch64::SUBP:
11078 case AArch64::SUBPS:
11079 case AArch64::SUBv16i8:
11080 case AArch64::SUBv1i64:
11081 case AArch64::SUBv2i32:
11082 case AArch64::SUBv2i64:
11083 case AArch64::SUBv4i16:
11084 case AArch64::SUBv4i32:
11085 case AArch64::SUBv8i16:
11086 case AArch64::SUBv8i8:
11087 case AArch64::TRN1v16i8:
11088 case AArch64::TRN1v2i32:
11089 case AArch64::TRN1v2i64:
11090 case AArch64::TRN1v4i16:
11091 case AArch64::TRN1v4i32:
11092 case AArch64::TRN1v8i16:
11093 case AArch64::TRN1v8i8:
11094 case AArch64::TRN2v16i8:
11095 case AArch64::TRN2v2i32:
11096 case AArch64::TRN2v2i64:
11097 case AArch64::TRN2v4i16:
11098 case AArch64::TRN2v4i32:
11099 case AArch64::TRN2v8i16:
11100 case AArch64::TRN2v8i8:
11101 case AArch64::UABDLv16i8_v8i16:
11102 case AArch64::UABDLv2i32_v2i64:
11103 case AArch64::UABDLv4i16_v4i32:
11104 case AArch64::UABDLv4i32_v2i64:
11105 case AArch64::UABDLv8i16_v4i32:
11106 case AArch64::UABDLv8i8_v8i16:
11107 case AArch64::UABDv16i8:
11108 case AArch64::UABDv2i32:
11109 case AArch64::UABDv4i16:
11110 case AArch64::UABDv4i32:
11111 case AArch64::UABDv8i16:
11112 case AArch64::UABDv8i8:
11113 case AArch64::UADDLv16i8_v8i16:
11114 case AArch64::UADDLv2i32_v2i64:
11115 case AArch64::UADDLv4i16_v4i32:
11116 case AArch64::UADDLv4i32_v2i64:
11117 case AArch64::UADDLv8i16_v4i32:
11118 case AArch64::UADDLv8i8_v8i16:
11119 case AArch64::UADDWv16i8_v8i16:
11120 case AArch64::UADDWv2i32_v2i64:
11121 case AArch64::UADDWv4i16_v4i32:
11122 case AArch64::UADDWv4i32_v2i64:
11123 case AArch64::UADDWv8i16_v4i32:
11124 case AArch64::UADDWv8i8_v8i16:
11125 case AArch64::UDIVWr:
11126 case AArch64::UDIVXr:
11127 case AArch64::UHADDv16i8:
11128 case AArch64::UHADDv2i32:
11129 case AArch64::UHADDv4i16:
11130 case AArch64::UHADDv4i32:
11131 case AArch64::UHADDv8i16:
11132 case AArch64::UHADDv8i8:
11133 case AArch64::UHSUBv16i8:
11134 case AArch64::UHSUBv2i32:
11135 case AArch64::UHSUBv4i16:
11136 case AArch64::UHSUBv4i32:
11137 case AArch64::UHSUBv8i16:
11138 case AArch64::UHSUBv8i8:
11139 case AArch64::UMAXPv16i8:
11140 case AArch64::UMAXPv2i32:
11141 case AArch64::UMAXPv4i16:
11142 case AArch64::UMAXPv4i32:
11143 case AArch64::UMAXPv8i16:
11144 case AArch64::UMAXPv8i8:
11145 case AArch64::UMAXWrr:
11146 case AArch64::UMAXXrr:
11147 case AArch64::UMAXv16i8:
11148 case AArch64::UMAXv2i32:
11149 case AArch64::UMAXv4i16:
11150 case AArch64::UMAXv4i32:
11151 case AArch64::UMAXv8i16:
11152 case AArch64::UMAXv8i8:
11153 case AArch64::UMINPv16i8:
11154 case AArch64::UMINPv2i32:
11155 case AArch64::UMINPv4i16:
11156 case AArch64::UMINPv4i32:
11157 case AArch64::UMINPv8i16:
11158 case AArch64::UMINPv8i8:
11159 case AArch64::UMINWrr:
11160 case AArch64::UMINXrr:
11161 case AArch64::UMINv16i8:
11162 case AArch64::UMINv2i32:
11163 case AArch64::UMINv4i16:
11164 case AArch64::UMINv4i32:
11165 case AArch64::UMINv8i16:
11166 case AArch64::UMINv8i8:
11167 case AArch64::UMULLv16i8_v8i16:
11168 case AArch64::UMULLv2i32_v2i64:
11169 case AArch64::UMULLv4i16_v4i32:
11170 case AArch64::UMULLv4i32_v2i64:
11171 case AArch64::UMULLv8i16_v4i32:
11172 case AArch64::UMULLv8i8_v8i16:
11173 case AArch64::UQADDv16i8:
11174 case AArch64::UQADDv1i16:
11175 case AArch64::UQADDv1i32:
11176 case AArch64::UQADDv1i64:
11177 case AArch64::UQADDv1i8:
11178 case AArch64::UQADDv2i32:
11179 case AArch64::UQADDv2i64:
11180 case AArch64::UQADDv4i16:
11181 case AArch64::UQADDv4i32:
11182 case AArch64::UQADDv8i16:
11183 case AArch64::UQADDv8i8:
11184 case AArch64::UQRSHLv16i8:
11185 case AArch64::UQRSHLv1i16:
11186 case AArch64::UQRSHLv1i32:
11187 case AArch64::UQRSHLv1i64:
11188 case AArch64::UQRSHLv1i8:
11189 case AArch64::UQRSHLv2i32:
11190 case AArch64::UQRSHLv2i64:
11191 case AArch64::UQRSHLv4i16:
11192 case AArch64::UQRSHLv4i32:
11193 case AArch64::UQRSHLv8i16:
11194 case AArch64::UQRSHLv8i8:
11195 case AArch64::UQSHLv16i8:
11196 case AArch64::UQSHLv1i16:
11197 case AArch64::UQSHLv1i32:
11198 case AArch64::UQSHLv1i64:
11199 case AArch64::UQSHLv1i8:
11200 case AArch64::UQSHLv2i32:
11201 case AArch64::UQSHLv2i64:
11202 case AArch64::UQSHLv4i16:
11203 case AArch64::UQSHLv4i32:
11204 case AArch64::UQSHLv8i16:
11205 case AArch64::UQSHLv8i8:
11206 case AArch64::UQSUBv16i8:
11207 case AArch64::UQSUBv1i16:
11208 case AArch64::UQSUBv1i32:
11209 case AArch64::UQSUBv1i64:
11210 case AArch64::UQSUBv1i8:
11211 case AArch64::UQSUBv2i32:
11212 case AArch64::UQSUBv2i64:
11213 case AArch64::UQSUBv4i16:
11214 case AArch64::UQSUBv4i32:
11215 case AArch64::UQSUBv8i16:
11216 case AArch64::UQSUBv8i8:
11217 case AArch64::URHADDv16i8:
11218 case AArch64::URHADDv2i32:
11219 case AArch64::URHADDv4i16:
11220 case AArch64::URHADDv4i32:
11221 case AArch64::URHADDv8i16:
11222 case AArch64::URHADDv8i8:
11223 case AArch64::URSHLv16i8:
11224 case AArch64::URSHLv1i64:
11225 case AArch64::URSHLv2i32:
11226 case AArch64::URSHLv2i64:
11227 case AArch64::URSHLv4i16:
11228 case AArch64::URSHLv4i32:
11229 case AArch64::URSHLv8i16:
11230 case AArch64::URSHLv8i8:
11231 case AArch64::USHLv16i8:
11232 case AArch64::USHLv1i64:
11233 case AArch64::USHLv2i32:
11234 case AArch64::USHLv2i64:
11235 case AArch64::USHLv4i16:
11236 case AArch64::USHLv4i32:
11237 case AArch64::USHLv8i16:
11238 case AArch64::USHLv8i8:
11239 case AArch64::USUBLv16i8_v8i16:
11240 case AArch64::USUBLv2i32_v2i64:
11241 case AArch64::USUBLv4i16_v4i32:
11242 case AArch64::USUBLv4i32_v2i64:
11243 case AArch64::USUBLv8i16_v4i32:
11244 case AArch64::USUBLv8i8_v8i16:
11245 case AArch64::USUBWv16i8_v8i16:
11246 case AArch64::USUBWv2i32_v2i64:
11247 case AArch64::USUBWv4i16_v4i32:
11248 case AArch64::USUBWv4i32_v2i64:
11249 case AArch64::USUBWv8i16_v4i32:
11250 case AArch64::USUBWv8i8_v8i16:
11251 case AArch64::UZP1v16i8:
11252 case AArch64::UZP1v2i32:
11253 case AArch64::UZP1v2i64:
11254 case AArch64::UZP1v4i16:
11255 case AArch64::UZP1v4i32:
11256 case AArch64::UZP1v8i16:
11257 case AArch64::UZP1v8i8:
11258 case AArch64::UZP2v16i8:
11259 case AArch64::UZP2v2i32:
11260 case AArch64::UZP2v2i64:
11261 case AArch64::UZP2v4i16:
11262 case AArch64::UZP2v4i32:
11263 case AArch64::UZP2v8i16:
11264 case AArch64::UZP2v8i8:
11265 case AArch64::ZIP1v16i8:
11266 case AArch64::ZIP1v2i32:
11267 case AArch64::ZIP1v2i64:
11268 case AArch64::ZIP1v4i16:
11269 case AArch64::ZIP1v4i32:
11270 case AArch64::ZIP1v8i16:
11271 case AArch64::ZIP1v8i8:
11272 case AArch64::ZIP2v16i8:
11273 case AArch64::ZIP2v2i32:
11274 case AArch64::ZIP2v2i64:
11275 case AArch64::ZIP2v4i16:
11276 case AArch64::ZIP2v4i32:
11277 case AArch64::ZIP2v8i16:
11278 case AArch64::ZIP2v8i8: {
11279 // op: Rd
11280 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11281 Value |= (op & 0x1f);
11282 // op: Rn
11283 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11284 Value |= (op & 0x1f) << 5;
11285 // op: Rm
11286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11287 Value |= (op & 0x1f) << 16;
11288 break;
11289 }
11290 case AArch64::FMADDDrrr:
11291 case AArch64::FMADDHrrr:
11292 case AArch64::FMADDSrrr:
11293 case AArch64::FMSUBDrrr:
11294 case AArch64::FMSUBHrrr:
11295 case AArch64::FMSUBSrrr:
11296 case AArch64::FNMADDDrrr:
11297 case AArch64::FNMADDHrrr:
11298 case AArch64::FNMADDSrrr:
11299 case AArch64::FNMSUBDrrr:
11300 case AArch64::FNMSUBHrrr:
11301 case AArch64::FNMSUBSrrr:
11302 case AArch64::MADDPT:
11303 case AArch64::MADDWrrr:
11304 case AArch64::MADDXrrr:
11305 case AArch64::MSUBPT:
11306 case AArch64::MSUBWrrr:
11307 case AArch64::MSUBXrrr:
11308 case AArch64::SMADDLrrr:
11309 case AArch64::SMSUBLrrr:
11310 case AArch64::UMADDLrrr:
11311 case AArch64::UMSUBLrrr: {
11312 // op: Rd
11313 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11314 Value |= (op & 0x1f);
11315 // op: Rn
11316 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11317 Value |= (op & 0x1f) << 5;
11318 // op: Rm
11319 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11320 Value |= (op & 0x1f) << 16;
11321 // op: Ra
11322 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11323 Value |= (op & 0x1f) << 10;
11324 break;
11325 }
11326 case AArch64::CSELWr:
11327 case AArch64::CSELXr:
11328 case AArch64::CSINCWr:
11329 case AArch64::CSINCXr:
11330 case AArch64::CSINVWr:
11331 case AArch64::CSINVXr:
11332 case AArch64::CSNEGWr:
11333 case AArch64::CSNEGXr:
11334 case AArch64::FCSELDrrr:
11335 case AArch64::FCSELHrrr:
11336 case AArch64::FCSELSrrr: {
11337 // op: Rd
11338 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11339 Value |= (op & 0x1f);
11340 // op: Rn
11341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11342 Value |= (op & 0x1f) << 5;
11343 // op: Rm
11344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11345 Value |= (op & 0x1f) << 16;
11346 // op: cond
11347 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11348 Value |= (op & 0xf) << 12;
11349 break;
11350 }
11351 case AArch64::ADDSXrx64:
11352 case AArch64::ADDXrx64:
11353 case AArch64::SUBSXrx64:
11354 case AArch64::SUBXrx64: {
11355 // op: Rd
11356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11357 Value |= (op & 0x1f);
11358 // op: Rn
11359 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11360 Value |= (op & 0x1f) << 5;
11361 // op: Rm
11362 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11363 Value |= (op & 0x1f) << 16;
11364 // op: ext
11365 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11366 Value |= (op & 0x20) << 10;
11367 Value |= (op & 0x7) << 10;
11368 break;
11369 }
11370 case AArch64::ADDSWrx:
11371 case AArch64::ADDSXrx:
11372 case AArch64::ADDWrx:
11373 case AArch64::ADDXrx:
11374 case AArch64::SUBSWrx:
11375 case AArch64::SUBSXrx:
11376 case AArch64::SUBWrx:
11377 case AArch64::SUBXrx: {
11378 // op: Rd
11379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11380 Value |= (op & 0x1f);
11381 // op: Rn
11382 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11383 Value |= (op & 0x1f) << 5;
11384 // op: Rm
11385 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11386 Value |= (op & 0x1f) << 16;
11387 // op: extend
11388 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11389 Value |= (op & 0x3f) << 10;
11390 break;
11391 }
11392 case AArch64::FMULXv1i64_indexed:
11393 case AArch64::FMULXv2i64_indexed:
11394 case AArch64::FMULv1i64_indexed:
11395 case AArch64::FMULv2i64_indexed: {
11396 // op: Rd
11397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11398 Value |= (op & 0x1f);
11399 // op: Rn
11400 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11401 Value |= (op & 0x1f) << 5;
11402 // op: Rm
11403 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11404 Value |= (op & 0x1f) << 16;
11405 // op: idx
11406 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11407 Value |= (op & 0x1) << 11;
11408 break;
11409 }
11410 case AArch64::LUT4_B: {
11411 // op: Rd
11412 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11413 Value |= (op & 0x1f);
11414 // op: Rn
11415 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11416 Value |= (op & 0x1f) << 5;
11417 // op: Rm
11418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11419 Value |= (op & 0x1f) << 16;
11420 // op: idx
11421 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11422 Value |= (op & 0x1) << 14;
11423 break;
11424 }
11425 case AArch64::FMULXv1i32_indexed:
11426 case AArch64::FMULXv2i32_indexed:
11427 case AArch64::FMULXv4i32_indexed:
11428 case AArch64::FMULv1i32_indexed:
11429 case AArch64::FMULv2i32_indexed:
11430 case AArch64::FMULv4i32_indexed:
11431 case AArch64::MULv2i32_indexed:
11432 case AArch64::MULv4i32_indexed:
11433 case AArch64::SMULLv2i32_indexed:
11434 case AArch64::SMULLv4i32_indexed:
11435 case AArch64::SQDMULHv1i32_indexed:
11436 case AArch64::SQDMULHv2i32_indexed:
11437 case AArch64::SQDMULHv4i32_indexed:
11438 case AArch64::SQDMULLv1i64_indexed:
11439 case AArch64::SQDMULLv2i32_indexed:
11440 case AArch64::SQDMULLv4i32_indexed:
11441 case AArch64::SQRDMULHv1i32_indexed:
11442 case AArch64::SQRDMULHv2i32_indexed:
11443 case AArch64::SQRDMULHv4i32_indexed:
11444 case AArch64::UMULLv2i32_indexed:
11445 case AArch64::UMULLv4i32_indexed: {
11446 // op: Rd
11447 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11448 Value |= (op & 0x1f);
11449 // op: Rn
11450 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11451 Value |= (op & 0x1f) << 5;
11452 // op: Rm
11453 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11454 Value |= (op & 0x1f) << 16;
11455 // op: idx
11456 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11457 Value |= (op & 0x1) << 21;
11458 Value |= (op & 0x2) << 10;
11459 break;
11460 }
11461 case AArch64::LUT2_B:
11462 case AArch64::LUT4_H: {
11463 // op: Rd
11464 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11465 Value |= (op & 0x1f);
11466 // op: Rn
11467 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11468 Value |= (op & 0x1f) << 5;
11469 // op: Rm
11470 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11471 Value |= (op & 0x1f) << 16;
11472 // op: idx
11473 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11474 Value |= (op & 0x3) << 13;
11475 break;
11476 }
11477 case AArch64::LUT2_H: {
11478 // op: Rd
11479 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11480 Value |= (op & 0x1f);
11481 // op: Rn
11482 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11483 Value |= (op & 0x1f) << 5;
11484 // op: Rm
11485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11486 Value |= (op & 0x1f) << 16;
11487 // op: idx
11488 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11489 Value |= (op & 0x7) << 12;
11490 break;
11491 }
11492 case AArch64::EXTRWrri: {
11493 // op: Rd
11494 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11495 Value |= (op & 0x1f);
11496 // op: Rn
11497 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11498 Value |= (op & 0x1f) << 5;
11499 // op: Rm
11500 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11501 Value |= (op & 0x1f) << 16;
11502 // op: imm
11503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11504 Value |= (op & 0x1f) << 10;
11505 break;
11506 }
11507 case AArch64::EXTRXrri: {
11508 // op: Rd
11509 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11510 Value |= (op & 0x1f);
11511 // op: Rn
11512 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11513 Value |= (op & 0x1f) << 5;
11514 // op: Rm
11515 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11516 Value |= (op & 0x1f) << 16;
11517 // op: imm
11518 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11519 Value |= (op & 0x3f) << 10;
11520 break;
11521 }
11522 case AArch64::EXTv8i8: {
11523 // op: Rd
11524 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11525 Value |= (op & 0x1f);
11526 // op: Rn
11527 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11528 Value |= (op & 0x1f) << 5;
11529 // op: Rm
11530 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11531 Value |= (op & 0x1f) << 16;
11532 // op: imm
11533 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11534 Value |= (op & 0x7) << 11;
11535 break;
11536 }
11537 case AArch64::EXTv16i8: {
11538 // op: Rd
11539 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11540 Value |= (op & 0x1f);
11541 // op: Rn
11542 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11543 Value |= (op & 0x1f) << 5;
11544 // op: Rm
11545 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11546 Value |= (op & 0x1f) << 16;
11547 // op: imm
11548 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11549 Value |= (op & 0xf) << 11;
11550 break;
11551 }
11552 case AArch64::FCADDv2f32:
11553 case AArch64::FCADDv2f64:
11554 case AArch64::FCADDv4f16:
11555 case AArch64::FCADDv4f32:
11556 case AArch64::FCADDv8f16: {
11557 // op: Rd
11558 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11559 Value |= (op & 0x1f);
11560 // op: Rn
11561 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11562 Value |= (op & 0x1f) << 5;
11563 // op: Rm
11564 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11565 Value |= (op & 0x1f) << 16;
11566 // op: rot
11567 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11568 Value |= (op & 0x1) << 12;
11569 break;
11570 }
11571 case AArch64::ADDSWrs:
11572 case AArch64::ADDSXrs:
11573 case AArch64::ADDWrs:
11574 case AArch64::ADDXrs:
11575 case AArch64::ANDSWrs:
11576 case AArch64::ANDSXrs:
11577 case AArch64::ANDWrs:
11578 case AArch64::ANDXrs:
11579 case AArch64::BICSWrs:
11580 case AArch64::BICSXrs:
11581 case AArch64::BICWrs:
11582 case AArch64::BICXrs:
11583 case AArch64::EONWrs:
11584 case AArch64::EONXrs:
11585 case AArch64::EORWrs:
11586 case AArch64::EORXrs:
11587 case AArch64::ORNWrs:
11588 case AArch64::ORNXrs:
11589 case AArch64::ORRWrs:
11590 case AArch64::ORRXrs:
11591 case AArch64::SUBSWrs:
11592 case AArch64::SUBSXrs:
11593 case AArch64::SUBWrs:
11594 case AArch64::SUBXrs: {
11595 // op: Rd
11596 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11597 Value |= (op & 0x1f);
11598 // op: Rn
11599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11600 Value |= (op & 0x1f) << 5;
11601 // op: Rm
11602 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11603 Value |= (op & 0x1f) << 16;
11604 // op: shift
11605 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11606 Value |= (op & 0xc0) << 16;
11607 Value |= (op & 0x3f) << 10;
11608 break;
11609 }
11610 case AArch64::ADDPT_shift:
11611 case AArch64::SUBPT_shift: {
11612 // op: Rd
11613 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11614 Value |= (op & 0x1f);
11615 // op: Rn
11616 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11617 Value |= (op & 0x1f) << 5;
11618 // op: Rm
11619 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11620 Value |= (op & 0x1f) << 16;
11621 // op: shift_imm
11622 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11623 Value |= (op & 0x7) << 10;
11624 break;
11625 }
11626 case AArch64::SMULHrr:
11627 case AArch64::UMULHrr: {
11628 // op: Rd
11629 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11630 Value |= (op & 0x1f);
11631 // op: Rn
11632 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11633 Value |= (op & 0x1f) << 5;
11634 // op: Rm
11635 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11636 Value |= (op & 0x1f) << 16;
11637 Value = fixMulHigh(MI, EncodedValue: Value, STI);
11638 break;
11639 }
11640 case AArch64::FMULXv1i16_indexed:
11641 case AArch64::FMULXv4i16_indexed:
11642 case AArch64::FMULXv8i16_indexed:
11643 case AArch64::FMULv1i16_indexed:
11644 case AArch64::FMULv4i16_indexed:
11645 case AArch64::FMULv8i16_indexed:
11646 case AArch64::MULv4i16_indexed:
11647 case AArch64::MULv8i16_indexed:
11648 case AArch64::SMULLv4i16_indexed:
11649 case AArch64::SMULLv8i16_indexed:
11650 case AArch64::SQDMULHv1i16_indexed:
11651 case AArch64::SQDMULHv4i16_indexed:
11652 case AArch64::SQDMULHv8i16_indexed:
11653 case AArch64::SQDMULLv1i32_indexed:
11654 case AArch64::SQDMULLv4i16_indexed:
11655 case AArch64::SQDMULLv8i16_indexed:
11656 case AArch64::SQRDMULHv1i16_indexed:
11657 case AArch64::SQRDMULHv4i16_indexed:
11658 case AArch64::SQRDMULHv8i16_indexed:
11659 case AArch64::UMULLv4i16_indexed:
11660 case AArch64::UMULLv8i16_indexed: {
11661 // op: Rd
11662 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11663 Value |= (op & 0x1f);
11664 // op: Rn
11665 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11666 Value |= (op & 0x1f) << 5;
11667 // op: Rm
11668 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11669 Value |= (op & 0xf) << 16;
11670 // op: idx
11671 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11672 Value |= (op & 0x3) << 20;
11673 Value |= (op & 0x4) << 9;
11674 break;
11675 }
11676 case AArch64::DUPv2i64lane:
11677 case AArch64::UMOVvi64: {
11678 // op: Rd
11679 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11680 Value |= (op & 0x1f);
11681 // op: Rn
11682 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11683 Value |= (op & 0x1f) << 5;
11684 // op: idx
11685 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11686 Value |= (op & 0x1) << 20;
11687 break;
11688 }
11689 case AArch64::DUPv2i32lane:
11690 case AArch64::DUPv4i32lane:
11691 case AArch64::SMOVvi32to64:
11692 case AArch64::UMOVvi32: {
11693 // op: Rd
11694 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11695 Value |= (op & 0x1f);
11696 // op: Rn
11697 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11698 Value |= (op & 0x1f) << 5;
11699 // op: idx
11700 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11701 Value |= (op & 0x3) << 19;
11702 break;
11703 }
11704 case AArch64::DUPv4i16lane:
11705 case AArch64::DUPv8i16lane:
11706 case AArch64::SMOVvi16to32:
11707 case AArch64::SMOVvi16to64:
11708 case AArch64::UMOVvi16: {
11709 // op: Rd
11710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11711 Value |= (op & 0x1f);
11712 // op: Rn
11713 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11714 Value |= (op & 0x1f) << 5;
11715 // op: idx
11716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11717 Value |= (op & 0x7) << 18;
11718 break;
11719 }
11720 case AArch64::DUPv16i8lane:
11721 case AArch64::DUPv8i8lane:
11722 case AArch64::SMOVvi8to32:
11723 case AArch64::SMOVvi8to64:
11724 case AArch64::UMOVvi8: {
11725 // op: Rd
11726 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11727 Value |= (op & 0x1f);
11728 // op: Rn
11729 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11730 Value |= (op & 0x1f) << 5;
11731 // op: idx
11732 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11733 Value |= (op & 0xf) << 17;
11734 break;
11735 }
11736 case AArch64::ADDSWri:
11737 case AArch64::ADDSXri:
11738 case AArch64::ADDWri:
11739 case AArch64::ADDXri:
11740 case AArch64::SUBSWri:
11741 case AArch64::SUBSXri:
11742 case AArch64::SUBWri:
11743 case AArch64::SUBXri: {
11744 // op: Rd
11745 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11746 Value |= (op & 0x1f);
11747 // op: Rn
11748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11749 Value |= (op & 0x1f) << 5;
11750 // op: imm
11751 op = getAddSubImmOpValue(MI, OpIdx: 2, Fixups, STI);
11752 Value |= (op & 0x3fff) << 10;
11753 break;
11754 }
11755 case AArch64::ANDSXri:
11756 case AArch64::ANDXri:
11757 case AArch64::EORXri:
11758 case AArch64::ORRXri: {
11759 // op: Rd
11760 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11761 Value |= (op & 0x1f);
11762 // op: Rn
11763 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11764 Value |= (op & 0x1f) << 5;
11765 // op: imm
11766 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11767 Value |= (op & 0x1fff) << 10;
11768 break;
11769 }
11770 case AArch64::SMAXWri:
11771 case AArch64::SMAXXri:
11772 case AArch64::SMINWri:
11773 case AArch64::SMINXri:
11774 case AArch64::UMAXWri:
11775 case AArch64::UMAXXri:
11776 case AArch64::UMINWri:
11777 case AArch64::UMINXri: {
11778 // op: Rd
11779 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11780 Value |= (op & 0x1f);
11781 // op: Rn
11782 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11783 Value |= (op & 0x1f) << 5;
11784 // op: imm
11785 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11786 Value |= (op & 0xff) << 10;
11787 break;
11788 }
11789 case AArch64::ANDSWri:
11790 case AArch64::ANDWri:
11791 case AArch64::EORWri:
11792 case AArch64::ORRWri: {
11793 // op: Rd
11794 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11795 Value |= (op & 0x1f);
11796 // op: Rn
11797 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11798 Value |= (op & 0x1f) << 5;
11799 // op: imm
11800 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11801 Value |= (op & 0xfff) << 10;
11802 break;
11803 }
11804 case AArch64::SHLv4i16_shift:
11805 case AArch64::SHLv8i16_shift:
11806 case AArch64::SQSHLUh:
11807 case AArch64::SQSHLUv4i16_shift:
11808 case AArch64::SQSHLUv8i16_shift:
11809 case AArch64::SQSHLh:
11810 case AArch64::SQSHLv4i16_shift:
11811 case AArch64::SQSHLv8i16_shift:
11812 case AArch64::SSHLLv4i16_shift:
11813 case AArch64::SSHLLv8i16_shift:
11814 case AArch64::UQSHLh:
11815 case AArch64::UQSHLv4i16_shift:
11816 case AArch64::UQSHLv8i16_shift:
11817 case AArch64::USHLLv4i16_shift:
11818 case AArch64::USHLLv8i16_shift: {
11819 // op: Rd
11820 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11821 Value |= (op & 0x1f);
11822 // op: Rn
11823 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11824 Value |= (op & 0x1f) << 5;
11825 // op: imm
11826 op = getVecShiftL16OpValue(MI, OpIdx: 2, Fixups, STI);
11827 Value |= (op & 0xf) << 16;
11828 break;
11829 }
11830 case AArch64::SHLv2i32_shift:
11831 case AArch64::SHLv4i32_shift:
11832 case AArch64::SQSHLUs:
11833 case AArch64::SQSHLUv2i32_shift:
11834 case AArch64::SQSHLUv4i32_shift:
11835 case AArch64::SQSHLs:
11836 case AArch64::SQSHLv2i32_shift:
11837 case AArch64::SQSHLv4i32_shift:
11838 case AArch64::SSHLLv2i32_shift:
11839 case AArch64::SSHLLv4i32_shift:
11840 case AArch64::UQSHLs:
11841 case AArch64::UQSHLv2i32_shift:
11842 case AArch64::UQSHLv4i32_shift:
11843 case AArch64::USHLLv2i32_shift:
11844 case AArch64::USHLLv4i32_shift: {
11845 // op: Rd
11846 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11847 Value |= (op & 0x1f);
11848 // op: Rn
11849 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11850 Value |= (op & 0x1f) << 5;
11851 // op: imm
11852 op = getVecShiftL32OpValue(MI, OpIdx: 2, Fixups, STI);
11853 Value |= (op & 0x1f) << 16;
11854 break;
11855 }
11856 case AArch64::SHLd:
11857 case AArch64::SHLv2i64_shift:
11858 case AArch64::SQSHLUd:
11859 case AArch64::SQSHLUv2i64_shift:
11860 case AArch64::SQSHLd:
11861 case AArch64::SQSHLv2i64_shift:
11862 case AArch64::UQSHLd:
11863 case AArch64::UQSHLv2i64_shift: {
11864 // op: Rd
11865 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11866 Value |= (op & 0x1f);
11867 // op: Rn
11868 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11869 Value |= (op & 0x1f) << 5;
11870 // op: imm
11871 op = getVecShiftL64OpValue(MI, OpIdx: 2, Fixups, STI);
11872 Value |= (op & 0x3f) << 16;
11873 break;
11874 }
11875 case AArch64::SHLv16i8_shift:
11876 case AArch64::SHLv8i8_shift:
11877 case AArch64::SQSHLUb:
11878 case AArch64::SQSHLUv16i8_shift:
11879 case AArch64::SQSHLUv8i8_shift:
11880 case AArch64::SQSHLb:
11881 case AArch64::SQSHLv16i8_shift:
11882 case AArch64::SQSHLv8i8_shift:
11883 case AArch64::SSHLLv16i8_shift:
11884 case AArch64::SSHLLv8i8_shift:
11885 case AArch64::UQSHLb:
11886 case AArch64::UQSHLv16i8_shift:
11887 case AArch64::UQSHLv8i8_shift:
11888 case AArch64::USHLLv16i8_shift:
11889 case AArch64::USHLLv8i8_shift: {
11890 // op: Rd
11891 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11892 Value |= (op & 0x1f);
11893 // op: Rn
11894 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11895 Value |= (op & 0x1f) << 5;
11896 // op: imm
11897 op = getVecShiftL8OpValue(MI, OpIdx: 2, Fixups, STI);
11898 Value |= (op & 0x7) << 16;
11899 break;
11900 }
11901 case AArch64::RSHRNv8i8_shift:
11902 case AArch64::SHRNv8i8_shift:
11903 case AArch64::SQRSHRNv8i8_shift:
11904 case AArch64::SQRSHRUNv8i8_shift:
11905 case AArch64::SQSHRNv8i8_shift:
11906 case AArch64::SQSHRUNv8i8_shift:
11907 case AArch64::UQRSHRNv8i8_shift:
11908 case AArch64::UQSHRNv8i8_shift: {
11909 // op: Rd
11910 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11911 Value |= (op & 0x1f);
11912 // op: Rn
11913 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11914 Value |= (op & 0x1f) << 5;
11915 // op: imm
11916 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
11917 Value |= (op & 0x7) << 16;
11918 break;
11919 }
11920 case AArch64::FCVTZSh:
11921 case AArch64::FCVTZSv4i16_shift:
11922 case AArch64::FCVTZSv8i16_shift:
11923 case AArch64::FCVTZUh:
11924 case AArch64::FCVTZUv4i16_shift:
11925 case AArch64::FCVTZUv8i16_shift:
11926 case AArch64::SCVTFh:
11927 case AArch64::SCVTFv4i16_shift:
11928 case AArch64::SCVTFv8i16_shift:
11929 case AArch64::SQRSHRNh:
11930 case AArch64::SQRSHRUNh:
11931 case AArch64::SQSHRNh:
11932 case AArch64::SQSHRUNh:
11933 case AArch64::SRSHRv4i16_shift:
11934 case AArch64::SRSHRv8i16_shift:
11935 case AArch64::SSHRv4i16_shift:
11936 case AArch64::SSHRv8i16_shift:
11937 case AArch64::UCVTFh:
11938 case AArch64::UCVTFv4i16_shift:
11939 case AArch64::UCVTFv8i16_shift:
11940 case AArch64::UQRSHRNh:
11941 case AArch64::UQSHRNh:
11942 case AArch64::URSHRv4i16_shift:
11943 case AArch64::URSHRv8i16_shift:
11944 case AArch64::USHRv4i16_shift:
11945 case AArch64::USHRv8i16_shift: {
11946 // op: Rd
11947 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11948 Value |= (op & 0x1f);
11949 // op: Rn
11950 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11951 Value |= (op & 0x1f) << 5;
11952 // op: imm
11953 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
11954 Value |= (op & 0xf) << 16;
11955 break;
11956 }
11957 case AArch64::FCVTZSs:
11958 case AArch64::FCVTZSv2i32_shift:
11959 case AArch64::FCVTZSv4i32_shift:
11960 case AArch64::FCVTZUs:
11961 case AArch64::FCVTZUv2i32_shift:
11962 case AArch64::FCVTZUv4i32_shift:
11963 case AArch64::SCVTFs:
11964 case AArch64::SCVTFv2i32_shift:
11965 case AArch64::SCVTFv4i32_shift:
11966 case AArch64::SQRSHRNs:
11967 case AArch64::SQRSHRUNs:
11968 case AArch64::SQSHRNs:
11969 case AArch64::SQSHRUNs:
11970 case AArch64::SRSHRv2i32_shift:
11971 case AArch64::SRSHRv4i32_shift:
11972 case AArch64::SSHRv2i32_shift:
11973 case AArch64::SSHRv4i32_shift:
11974 case AArch64::UCVTFs:
11975 case AArch64::UCVTFv2i32_shift:
11976 case AArch64::UCVTFv4i32_shift:
11977 case AArch64::UQRSHRNs:
11978 case AArch64::UQSHRNs:
11979 case AArch64::URSHRv2i32_shift:
11980 case AArch64::URSHRv4i32_shift:
11981 case AArch64::USHRv2i32_shift:
11982 case AArch64::USHRv4i32_shift: {
11983 // op: Rd
11984 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11985 Value |= (op & 0x1f);
11986 // op: Rn
11987 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11988 Value |= (op & 0x1f) << 5;
11989 // op: imm
11990 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
11991 Value |= (op & 0x1f) << 16;
11992 break;
11993 }
11994 case AArch64::RSHRNv4i16_shift:
11995 case AArch64::SHRNv4i16_shift:
11996 case AArch64::SQRSHRNv4i16_shift:
11997 case AArch64::SQRSHRUNv4i16_shift:
11998 case AArch64::SQSHRNv4i16_shift:
11999 case AArch64::SQSHRUNv4i16_shift:
12000 case AArch64::UQRSHRNv4i16_shift:
12001 case AArch64::UQSHRNv4i16_shift: {
12002 // op: Rd
12003 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12004 Value |= (op & 0x1f);
12005 // op: Rn
12006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12007 Value |= (op & 0x1f) << 5;
12008 // op: imm
12009 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
12010 Value |= (op & 0xf) << 16;
12011 break;
12012 }
12013 case AArch64::RSHRNv2i32_shift:
12014 case AArch64::SHRNv2i32_shift:
12015 case AArch64::SQRSHRNv2i32_shift:
12016 case AArch64::SQRSHRUNv2i32_shift:
12017 case AArch64::SQSHRNv2i32_shift:
12018 case AArch64::SQSHRUNv2i32_shift:
12019 case AArch64::UQRSHRNv2i32_shift:
12020 case AArch64::UQSHRNv2i32_shift: {
12021 // op: Rd
12022 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12023 Value |= (op & 0x1f);
12024 // op: Rn
12025 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12026 Value |= (op & 0x1f) << 5;
12027 // op: imm
12028 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
12029 Value |= (op & 0x1f) << 16;
12030 break;
12031 }
12032 case AArch64::FCVTZSd:
12033 case AArch64::FCVTZSv2i64_shift:
12034 case AArch64::FCVTZUd:
12035 case AArch64::FCVTZUv2i64_shift:
12036 case AArch64::SCVTFd:
12037 case AArch64::SCVTFv2i64_shift:
12038 case AArch64::SRSHRd:
12039 case AArch64::SRSHRv2i64_shift:
12040 case AArch64::SSHRd:
12041 case AArch64::SSHRv2i64_shift:
12042 case AArch64::UCVTFd:
12043 case AArch64::UCVTFv2i64_shift:
12044 case AArch64::URSHRd:
12045 case AArch64::URSHRv2i64_shift:
12046 case AArch64::USHRd:
12047 case AArch64::USHRv2i64_shift: {
12048 // op: Rd
12049 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12050 Value |= (op & 0x1f);
12051 // op: Rn
12052 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12053 Value |= (op & 0x1f) << 5;
12054 // op: imm
12055 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
12056 Value |= (op & 0x3f) << 16;
12057 break;
12058 }
12059 case AArch64::SQRSHRNb:
12060 case AArch64::SQRSHRUNb:
12061 case AArch64::SQSHRNb:
12062 case AArch64::SQSHRUNb:
12063 case AArch64::SRSHRv16i8_shift:
12064 case AArch64::SRSHRv8i8_shift:
12065 case AArch64::SSHRv16i8_shift:
12066 case AArch64::SSHRv8i8_shift:
12067 case AArch64::UQRSHRNb:
12068 case AArch64::UQSHRNb:
12069 case AArch64::URSHRv16i8_shift:
12070 case AArch64::URSHRv8i8_shift:
12071 case AArch64::USHRv16i8_shift:
12072 case AArch64::USHRv8i8_shift: {
12073 // op: Rd
12074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12075 Value |= (op & 0x1f);
12076 // op: Rn
12077 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12078 Value |= (op & 0x1f) << 5;
12079 // op: imm
12080 op = getVecShiftR8OpValue(MI, OpIdx: 2, Fixups, STI);
12081 Value |= (op & 0x7) << 16;
12082 break;
12083 }
12084 case AArch64::ADDG:
12085 case AArch64::SUBG: {
12086 // op: Rd
12087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12088 Value |= (op & 0x1f);
12089 // op: Rn
12090 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12091 Value |= (op & 0x1f) << 5;
12092 // op: imm6
12093 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12094 Value |= (op & 0x3f) << 16;
12095 // op: imm4
12096 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12097 Value |= (op & 0xf) << 10;
12098 break;
12099 }
12100 case AArch64::SBFMWri:
12101 case AArch64::UBFMWri: {
12102 // op: Rd
12103 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12104 Value |= (op & 0x1f);
12105 // op: Rn
12106 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12107 Value |= (op & 0x1f) << 5;
12108 // op: immr
12109 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12110 Value |= (op & 0x1f) << 16;
12111 // op: imms
12112 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12113 Value |= (op & 0x1f) << 10;
12114 break;
12115 }
12116 case AArch64::SBFMXri:
12117 case AArch64::UBFMXri: {
12118 // op: Rd
12119 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12120 Value |= (op & 0x1f);
12121 // op: Rn
12122 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12123 Value |= (op & 0x1f) << 5;
12124 // op: immr
12125 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12126 Value |= (op & 0x3f) << 16;
12127 // op: imms
12128 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12129 Value |= (op & 0x3f) << 10;
12130 break;
12131 }
12132 case AArch64::FCVTZSSWDri:
12133 case AArch64::FCVTZSSWHri:
12134 case AArch64::FCVTZSSWSri:
12135 case AArch64::FCVTZUSWDri:
12136 case AArch64::FCVTZUSWHri:
12137 case AArch64::FCVTZUSWSri:
12138 case AArch64::SCVTFSWDri:
12139 case AArch64::SCVTFSWHri:
12140 case AArch64::SCVTFSWSri:
12141 case AArch64::UCVTFSWDri:
12142 case AArch64::UCVTFSWHri:
12143 case AArch64::UCVTFSWSri: {
12144 // op: Rd
12145 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12146 Value |= (op & 0x1f);
12147 // op: Rn
12148 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12149 Value |= (op & 0x1f) << 5;
12150 // op: scale
12151 op = getFixedPointScaleOpValue(MI, OpIdx: 2, Fixups, STI);
12152 Value |= (op & 0x1f) << 10;
12153 break;
12154 }
12155 case AArch64::FCVTZSSXDri:
12156 case AArch64::FCVTZSSXHri:
12157 case AArch64::FCVTZSSXSri:
12158 case AArch64::FCVTZUSXDri:
12159 case AArch64::FCVTZUSXHri:
12160 case AArch64::FCVTZUSXSri:
12161 case AArch64::SCVTFSXDri:
12162 case AArch64::SCVTFSXHri:
12163 case AArch64::SCVTFSXSri:
12164 case AArch64::UCVTFSXDri:
12165 case AArch64::UCVTFSXHri:
12166 case AArch64::UCVTFSXSri: {
12167 // op: Rd
12168 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12169 Value |= (op & 0x1f);
12170 // op: Rn
12171 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12172 Value |= (op & 0x1f) << 5;
12173 // op: scale
12174 op = getFixedPointScaleOpValue(MI, OpIdx: 2, Fixups, STI);
12175 Value |= (op & 0x3f) << 10;
12176 break;
12177 }
12178 case AArch64::BFMWri: {
12179 // op: Rd
12180 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12181 Value |= (op & 0x1f);
12182 // op: Rn
12183 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12184 Value |= (op & 0x1f) << 5;
12185 // op: immr
12186 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12187 Value |= (op & 0x1f) << 16;
12188 // op: imms
12189 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12190 Value |= (op & 0x1f) << 10;
12191 break;
12192 }
12193 case AArch64::BFMXri: {
12194 // op: Rd
12195 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12196 Value |= (op & 0x1f);
12197 // op: Rn
12198 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12199 Value |= (op & 0x1f) << 5;
12200 // op: immr
12201 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12202 Value |= (op & 0x3f) << 16;
12203 // op: imms
12204 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12205 Value |= (op & 0x3f) << 10;
12206 break;
12207 }
12208 case AArch64::FMOVDi:
12209 case AArch64::FMOVHi:
12210 case AArch64::FMOVSi: {
12211 // op: Rd
12212 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12213 Value |= (op & 0x1f);
12214 // op: imm
12215 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12216 Value |= (op & 0xff) << 13;
12217 break;
12218 }
12219 case AArch64::MOVNWi:
12220 case AArch64::MOVNXi: {
12221 // op: Rd
12222 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12223 Value |= (op & 0x1f);
12224 // op: imm
12225 op = getMoveWideImmOpValue(MI, OpIdx: 1, Fixups, STI);
12226 Value |= (op & 0xffff) << 5;
12227 // op: shift
12228 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12229 Value |= (op & 0x30) << 17;
12230 break;
12231 }
12232 case AArch64::MOVZWi:
12233 case AArch64::MOVZXi: {
12234 // op: Rd
12235 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12236 Value |= (op & 0x1f);
12237 // op: imm
12238 op = getMoveWideImmOpValue(MI, OpIdx: 1, Fixups, STI);
12239 Value |= (op & 0xffff) << 5;
12240 // op: shift
12241 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12242 Value |= (op & 0x30) << 17;
12243 Value = fixMOVZ(MI, EncodedValue: Value, STI);
12244 break;
12245 }
12246 case AArch64::MOVKWi:
12247 case AArch64::MOVKXi: {
12248 // op: Rd
12249 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12250 Value |= (op & 0x1f);
12251 // op: imm
12252 op = getMoveWideImmOpValue(MI, OpIdx: 2, Fixups, STI);
12253 Value |= (op & 0xffff) << 5;
12254 // op: shift
12255 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12256 Value |= (op & 0x30) << 17;
12257 break;
12258 }
12259 case AArch64::CNTB_XPiI:
12260 case AArch64::CNTD_XPiI:
12261 case AArch64::CNTH_XPiI:
12262 case AArch64::CNTW_XPiI: {
12263 // op: Rd
12264 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12265 Value |= (op & 0x1f);
12266 // op: imm4
12267 op = getSVEIncDecImm(MI, OpIdx: 2, Fixups, STI);
12268 Value |= (op & 0xf) << 16;
12269 // op: pattern
12270 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12271 Value |= (op & 0x1f) << 5;
12272 break;
12273 }
12274 case AArch64::RDSVLI_XI:
12275 case AArch64::RDVLI_XI: {
12276 // op: Rd
12277 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12278 Value |= (op & 0x1f);
12279 // op: imm6
12280 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12281 Value |= (op & 0x3f) << 5;
12282 break;
12283 }
12284 case AArch64::FMOVv2f32_ns:
12285 case AArch64::FMOVv2f64_ns:
12286 case AArch64::FMOVv4f16_ns:
12287 case AArch64::FMOVv4f32_ns:
12288 case AArch64::FMOVv8f16_ns:
12289 case AArch64::MOVID:
12290 case AArch64::MOVIv16b_ns:
12291 case AArch64::MOVIv2d_ns:
12292 case AArch64::MOVIv8b_ns: {
12293 // op: Rd
12294 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12295 Value |= (op & 0x1f);
12296 // op: imm8
12297 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12298 Value |= (op & 0xe0) << 11;
12299 Value |= (op & 0x1f) << 5;
12300 break;
12301 }
12302 case AArch64::MOVIv2s_msl:
12303 case AArch64::MOVIv4s_msl:
12304 case AArch64::MVNIv2s_msl:
12305 case AArch64::MVNIv4s_msl: {
12306 // op: Rd
12307 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12308 Value |= (op & 0x1f);
12309 // op: imm8
12310 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12311 Value |= (op & 0xe0) << 11;
12312 Value |= (op & 0x1f) << 5;
12313 // op: shift
12314 op = getMoveVecShifterOpValue(MI, OpIdx: 2, Fixups, STI);
12315 Value |= (op & 0x1) << 12;
12316 break;
12317 }
12318 case AArch64::MOVIv4i16:
12319 case AArch64::MOVIv8i16:
12320 case AArch64::MVNIv4i16:
12321 case AArch64::MVNIv8i16: {
12322 // op: Rd
12323 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12324 Value |= (op & 0x1f);
12325 // op: imm8
12326 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12327 Value |= (op & 0xe0) << 11;
12328 Value |= (op & 0x1f) << 5;
12329 // op: shift
12330 op = getVecShifterOpValue(MI, OpIdx: 2, Fixups, STI);
12331 Value |= (op & 0x1) << 13;
12332 break;
12333 }
12334 case AArch64::MOVIv2i32:
12335 case AArch64::MOVIv4i32:
12336 case AArch64::MVNIv2i32:
12337 case AArch64::MVNIv4i32: {
12338 // op: Rd
12339 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12340 Value |= (op & 0x1f);
12341 // op: imm8
12342 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12343 Value |= (op & 0xe0) << 11;
12344 Value |= (op & 0x1f) << 5;
12345 // op: shift
12346 op = getVecShifterOpValue(MI, OpIdx: 2, Fixups, STI);
12347 Value |= (op & 0x3) << 13;
12348 break;
12349 }
12350 case AArch64::AUTDZA:
12351 case AArch64::AUTDZB:
12352 case AArch64::AUTIZA:
12353 case AArch64::AUTIZB:
12354 case AArch64::PACDZA:
12355 case AArch64::PACDZB:
12356 case AArch64::PACIZA:
12357 case AArch64::PACIZB: {
12358 // op: Rd
12359 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12360 Value |= (op & 0x1f);
12361 break;
12362 }
12363 case AArch64::AESDrr:
12364 case AArch64::AESErr:
12365 case AArch64::AUTDA:
12366 case AArch64::AUTDB:
12367 case AArch64::AUTIA:
12368 case AArch64::AUTIB:
12369 case AArch64::BFCVTN2:
12370 case AArch64::FCVTNv4i32:
12371 case AArch64::FCVTNv8i16:
12372 case AArch64::FCVTXNv4f32:
12373 case AArch64::PACDA:
12374 case AArch64::PACDB:
12375 case AArch64::PACIA:
12376 case AArch64::PACIB:
12377 case AArch64::SADALPv16i8_v8i16:
12378 case AArch64::SADALPv2i32_v1i64:
12379 case AArch64::SADALPv4i16_v2i32:
12380 case AArch64::SADALPv4i32_v2i64:
12381 case AArch64::SADALPv8i16_v4i32:
12382 case AArch64::SADALPv8i8_v4i16:
12383 case AArch64::SHA1SU1rr:
12384 case AArch64::SHA256SU0rr:
12385 case AArch64::SQXTNv16i8:
12386 case AArch64::SQXTNv4i32:
12387 case AArch64::SQXTNv8i16:
12388 case AArch64::SQXTUNv16i8:
12389 case AArch64::SQXTUNv4i32:
12390 case AArch64::SQXTUNv8i16:
12391 case AArch64::SUQADDv16i8:
12392 case AArch64::SUQADDv1i16:
12393 case AArch64::SUQADDv1i32:
12394 case AArch64::SUQADDv1i64:
12395 case AArch64::SUQADDv1i8:
12396 case AArch64::SUQADDv2i32:
12397 case AArch64::SUQADDv2i64:
12398 case AArch64::SUQADDv4i16:
12399 case AArch64::SUQADDv4i32:
12400 case AArch64::SUQADDv8i16:
12401 case AArch64::SUQADDv8i8:
12402 case AArch64::UADALPv16i8_v8i16:
12403 case AArch64::UADALPv2i32_v1i64:
12404 case AArch64::UADALPv4i16_v2i32:
12405 case AArch64::UADALPv4i32_v2i64:
12406 case AArch64::UADALPv8i16_v4i32:
12407 case AArch64::UADALPv8i8_v4i16:
12408 case AArch64::UQXTNv16i8:
12409 case AArch64::UQXTNv4i32:
12410 case AArch64::UQXTNv8i16:
12411 case AArch64::USQADDv16i8:
12412 case AArch64::USQADDv1i16:
12413 case AArch64::USQADDv1i32:
12414 case AArch64::USQADDv1i64:
12415 case AArch64::USQADDv1i8:
12416 case AArch64::USQADDv2i32:
12417 case AArch64::USQADDv2i64:
12418 case AArch64::USQADDv4i16:
12419 case AArch64::USQADDv4i32:
12420 case AArch64::USQADDv8i16:
12421 case AArch64::USQADDv8i8:
12422 case AArch64::XTNv16i8:
12423 case AArch64::XTNv4i32:
12424 case AArch64::XTNv8i16: {
12425 // op: Rd
12426 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12427 Value |= (op & 0x1f);
12428 // op: Rn
12429 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12430 Value |= (op & 0x1f) << 5;
12431 break;
12432 }
12433 case AArch64::ADDHNv2i64_v4i32:
12434 case AArch64::ADDHNv4i32_v8i16:
12435 case AArch64::ADDHNv8i16_v16i8:
12436 case AArch64::BFDOTv4bf16:
12437 case AArch64::BFDOTv8bf16:
12438 case AArch64::BFMLALB:
12439 case AArch64::BFMLALT:
12440 case AArch64::BFMMLA:
12441 case AArch64::BIFv16i8:
12442 case AArch64::BIFv8i8:
12443 case AArch64::BITv16i8:
12444 case AArch64::BITv8i8:
12445 case AArch64::BSLv16i8:
12446 case AArch64::BSLv8i8:
12447 case AArch64::FCVTN_F322v16f8:
12448 case AArch64::FDOTv2f32:
12449 case AArch64::FDOTv4f16:
12450 case AArch64::FDOTv4f16_v2f32:
12451 case AArch64::FDOTv4f32:
12452 case AArch64::FDOTv8f16:
12453 case AArch64::FDOTv8f16_v4f32:
12454 case AArch64::FMLAL2v4f16:
12455 case AArch64::FMLAL2v8f16:
12456 case AArch64::FMLALBv16i8_v8f16:
12457 case AArch64::FMLALLBBv4f32:
12458 case AArch64::FMLALLBTv4f32:
12459 case AArch64::FMLALLTBv4f32:
12460 case AArch64::FMLALLTTv4f32:
12461 case AArch64::FMLALTv16i8_v8f16:
12462 case AArch64::FMLALv4f16:
12463 case AArch64::FMLALv8f16:
12464 case AArch64::FMLAv2f32:
12465 case AArch64::FMLAv2f64:
12466 case AArch64::FMLAv4f16:
12467 case AArch64::FMLAv4f32:
12468 case AArch64::FMLAv8f16:
12469 case AArch64::FMLSL2v4f16:
12470 case AArch64::FMLSL2v8f16:
12471 case AArch64::FMLSLv4f16:
12472 case AArch64::FMLSLv8f16:
12473 case AArch64::FMLSv2f32:
12474 case AArch64::FMLSv2f64:
12475 case AArch64::FMLSv4f16:
12476 case AArch64::FMLSv4f32:
12477 case AArch64::FMLSv8f16:
12478 case AArch64::FMMLAv4f32:
12479 case AArch64::FMMLAv8f16:
12480 case AArch64::FMMLAv8f16_v4f32:
12481 case AArch64::FMMLAv8f16_v8f16:
12482 case AArch64::MLAv16i8:
12483 case AArch64::MLAv2i32:
12484 case AArch64::MLAv4i16:
12485 case AArch64::MLAv4i32:
12486 case AArch64::MLAv8i16:
12487 case AArch64::MLAv8i8:
12488 case AArch64::MLSv16i8:
12489 case AArch64::MLSv2i32:
12490 case AArch64::MLSv4i16:
12491 case AArch64::MLSv4i32:
12492 case AArch64::MLSv8i16:
12493 case AArch64::MLSv8i8:
12494 case AArch64::RADDHNv2i64_v4i32:
12495 case AArch64::RADDHNv4i32_v8i16:
12496 case AArch64::RADDHNv8i16_v16i8:
12497 case AArch64::RSUBHNv2i64_v4i32:
12498 case AArch64::RSUBHNv4i32_v8i16:
12499 case AArch64::RSUBHNv8i16_v16i8:
12500 case AArch64::SABALv16i8_v8i16:
12501 case AArch64::SABALv2i32_v2i64:
12502 case AArch64::SABALv4i16_v4i32:
12503 case AArch64::SABALv4i32_v2i64:
12504 case AArch64::SABALv8i16_v4i32:
12505 case AArch64::SABALv8i8_v8i16:
12506 case AArch64::SABAv16i8:
12507 case AArch64::SABAv2i32:
12508 case AArch64::SABAv4i16:
12509 case AArch64::SABAv4i32:
12510 case AArch64::SABAv8i16:
12511 case AArch64::SABAv8i8:
12512 case AArch64::SDOTv16i8:
12513 case AArch64::SDOTv8i8:
12514 case AArch64::SHA1Crrr:
12515 case AArch64::SHA1Mrrr:
12516 case AArch64::SHA1Prrr:
12517 case AArch64::SHA1SU0rrr:
12518 case AArch64::SHA256H2rrr:
12519 case AArch64::SHA256Hrrr:
12520 case AArch64::SHA256SU1rrr:
12521 case AArch64::SMLALv16i8_v8i16:
12522 case AArch64::SMLALv2i32_v2i64:
12523 case AArch64::SMLALv4i16_v4i32:
12524 case AArch64::SMLALv4i32_v2i64:
12525 case AArch64::SMLALv8i16_v4i32:
12526 case AArch64::SMLALv8i8_v8i16:
12527 case AArch64::SMLSLv16i8_v8i16:
12528 case AArch64::SMLSLv2i32_v2i64:
12529 case AArch64::SMLSLv4i16_v4i32:
12530 case AArch64::SMLSLv4i32_v2i64:
12531 case AArch64::SMLSLv8i16_v4i32:
12532 case AArch64::SMLSLv8i8_v8i16:
12533 case AArch64::SMMLA:
12534 case AArch64::SQDMLALi16:
12535 case AArch64::SQDMLALi32:
12536 case AArch64::SQDMLALv2i32_v2i64:
12537 case AArch64::SQDMLALv4i16_v4i32:
12538 case AArch64::SQDMLALv4i32_v2i64:
12539 case AArch64::SQDMLALv8i16_v4i32:
12540 case AArch64::SQDMLSLi16:
12541 case AArch64::SQDMLSLi32:
12542 case AArch64::SQDMLSLv2i32_v2i64:
12543 case AArch64::SQDMLSLv4i16_v4i32:
12544 case AArch64::SQDMLSLv4i32_v2i64:
12545 case AArch64::SQDMLSLv8i16_v4i32:
12546 case AArch64::SQRDMLAHv1i16:
12547 case AArch64::SQRDMLAHv1i32:
12548 case AArch64::SQRDMLAHv2i32:
12549 case AArch64::SQRDMLAHv4i16:
12550 case AArch64::SQRDMLAHv4i32:
12551 case AArch64::SQRDMLAHv8i16:
12552 case AArch64::SQRDMLSHv1i16:
12553 case AArch64::SQRDMLSHv1i32:
12554 case AArch64::SQRDMLSHv2i32:
12555 case AArch64::SQRDMLSHv4i16:
12556 case AArch64::SQRDMLSHv4i32:
12557 case AArch64::SQRDMLSHv8i16:
12558 case AArch64::SUBHNv2i64_v4i32:
12559 case AArch64::SUBHNv4i32_v8i16:
12560 case AArch64::SUBHNv8i16_v16i8:
12561 case AArch64::UABALv16i8_v8i16:
12562 case AArch64::UABALv2i32_v2i64:
12563 case AArch64::UABALv4i16_v4i32:
12564 case AArch64::UABALv4i32_v2i64:
12565 case AArch64::UABALv8i16_v4i32:
12566 case AArch64::UABALv8i8_v8i16:
12567 case AArch64::UABAv16i8:
12568 case AArch64::UABAv2i32:
12569 case AArch64::UABAv4i16:
12570 case AArch64::UABAv4i32:
12571 case AArch64::UABAv8i16:
12572 case AArch64::UABAv8i8:
12573 case AArch64::UDOTv16i8:
12574 case AArch64::UDOTv8i8:
12575 case AArch64::UMLALv16i8_v8i16:
12576 case AArch64::UMLALv2i32_v2i64:
12577 case AArch64::UMLALv4i16_v4i32:
12578 case AArch64::UMLALv4i32_v2i64:
12579 case AArch64::UMLALv8i16_v4i32:
12580 case AArch64::UMLALv8i8_v8i16:
12581 case AArch64::UMLSLv16i8_v8i16:
12582 case AArch64::UMLSLv2i32_v2i64:
12583 case AArch64::UMLSLv4i16_v4i32:
12584 case AArch64::UMLSLv4i32_v2i64:
12585 case AArch64::UMLSLv8i16_v4i32:
12586 case AArch64::UMLSLv8i8_v8i16:
12587 case AArch64::UMMLA:
12588 case AArch64::USDOTv16i8:
12589 case AArch64::USDOTv8i8:
12590 case AArch64::USMMLA: {
12591 // op: Rd
12592 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12593 Value |= (op & 0x1f);
12594 // op: Rn
12595 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12596 Value |= (op & 0x1f) << 5;
12597 // op: Rm
12598 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12599 Value |= (op & 0x1f) << 16;
12600 break;
12601 }
12602 case AArch64::FMLAv1i64_indexed:
12603 case AArch64::FMLAv2i64_indexed:
12604 case AArch64::FMLSv1i64_indexed:
12605 case AArch64::FMLSv2i64_indexed: {
12606 // op: Rd
12607 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12608 Value |= (op & 0x1f);
12609 // op: Rn
12610 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12611 Value |= (op & 0x1f) << 5;
12612 // op: Rm
12613 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12614 Value |= (op & 0x1f) << 16;
12615 // op: idx
12616 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12617 Value |= (op & 0x1) << 11;
12618 break;
12619 }
12620 case AArch64::BF16DOTlanev4bf16:
12621 case AArch64::BF16DOTlanev8bf16:
12622 case AArch64::FDOTlanev2f32:
12623 case AArch64::FDOTlanev4f16_v2f32:
12624 case AArch64::FDOTlanev4f32:
12625 case AArch64::FDOTlanev8f16_v4f32:
12626 case AArch64::FMLAv1i32_indexed:
12627 case AArch64::FMLAv2i32_indexed:
12628 case AArch64::FMLAv4i32_indexed:
12629 case AArch64::FMLSv1i32_indexed:
12630 case AArch64::FMLSv2i32_indexed:
12631 case AArch64::FMLSv4i32_indexed:
12632 case AArch64::MLAv2i32_indexed:
12633 case AArch64::MLAv4i32_indexed:
12634 case AArch64::MLSv2i32_indexed:
12635 case AArch64::MLSv4i32_indexed:
12636 case AArch64::SDOTlanev16i8:
12637 case AArch64::SDOTlanev8i8:
12638 case AArch64::SMLALv2i32_indexed:
12639 case AArch64::SMLALv4i32_indexed:
12640 case AArch64::SMLSLv2i32_indexed:
12641 case AArch64::SMLSLv4i32_indexed:
12642 case AArch64::SQDMLALv1i64_indexed:
12643 case AArch64::SQDMLALv2i32_indexed:
12644 case AArch64::SQDMLALv4i32_indexed:
12645 case AArch64::SQDMLSLv1i64_indexed:
12646 case AArch64::SQDMLSLv2i32_indexed:
12647 case AArch64::SQDMLSLv4i32_indexed:
12648 case AArch64::SQRDMLAHv1i32_indexed:
12649 case AArch64::SQRDMLAHv2i32_indexed:
12650 case AArch64::SQRDMLAHv4i32_indexed:
12651 case AArch64::SQRDMLSHv1i32_indexed:
12652 case AArch64::SQRDMLSHv2i32_indexed:
12653 case AArch64::SQRDMLSHv4i32_indexed:
12654 case AArch64::SUDOTlanev16i8:
12655 case AArch64::SUDOTlanev8i8:
12656 case AArch64::UDOTlanev16i8:
12657 case AArch64::UDOTlanev8i8:
12658 case AArch64::UMLALv2i32_indexed:
12659 case AArch64::UMLALv4i32_indexed:
12660 case AArch64::UMLSLv2i32_indexed:
12661 case AArch64::UMLSLv4i32_indexed:
12662 case AArch64::USDOTlanev16i8:
12663 case AArch64::USDOTlanev8i8: {
12664 // op: Rd
12665 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12666 Value |= (op & 0x1f);
12667 // op: Rn
12668 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12669 Value |= (op & 0x1f) << 5;
12670 // op: Rm
12671 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12672 Value |= (op & 0x1f) << 16;
12673 // op: idx
12674 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12675 Value |= (op & 0x1) << 21;
12676 Value |= (op & 0x2) << 10;
12677 break;
12678 }
12679 case AArch64::FCMLAv2f32:
12680 case AArch64::FCMLAv2f64:
12681 case AArch64::FCMLAv4f16:
12682 case AArch64::FCMLAv4f32:
12683 case AArch64::FCMLAv8f16: {
12684 // op: Rd
12685 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12686 Value |= (op & 0x1f);
12687 // op: Rn
12688 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12689 Value |= (op & 0x1f) << 5;
12690 // op: Rm
12691 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12692 Value |= (op & 0x1f) << 16;
12693 // op: rot
12694 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12695 Value |= (op & 0x3) << 11;
12696 break;
12697 }
12698 case AArch64::FCMLAv4f32_indexed: {
12699 // op: Rd
12700 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12701 Value |= (op & 0x1f);
12702 // op: Rn
12703 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12704 Value |= (op & 0x1f) << 5;
12705 // op: Rm
12706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12707 Value |= (op & 0x1f) << 16;
12708 // op: rot
12709 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12710 Value |= (op & 0x3) << 13;
12711 // op: idx
12712 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12713 Value |= (op & 0x1) << 11;
12714 break;
12715 }
12716 case AArch64::FCMLAv4f16_indexed: {
12717 // op: Rd
12718 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12719 Value |= (op & 0x1f);
12720 // op: Rn
12721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12722 Value |= (op & 0x1f) << 5;
12723 // op: Rm
12724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12725 Value |= (op & 0x1f) << 16;
12726 // op: rot
12727 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12728 Value |= (op & 0x3) << 13;
12729 // op: idx
12730 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12731 Value |= (op & 0x1) << 21;
12732 break;
12733 }
12734 case AArch64::FCMLAv8f16_indexed: {
12735 // op: Rd
12736 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12737 Value |= (op & 0x1f);
12738 // op: Rn
12739 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12740 Value |= (op & 0x1f) << 5;
12741 // op: Rm
12742 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12743 Value |= (op & 0x1f) << 16;
12744 // op: rot
12745 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12746 Value |= (op & 0x3) << 13;
12747 // op: idx
12748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12749 Value |= (op & 0x1) << 21;
12750 Value |= (op & 0x2) << 10;
12751 break;
12752 }
12753 case AArch64::FMLALBlanev8f16:
12754 case AArch64::FMLALLBBlanev4f32:
12755 case AArch64::FMLALLBTlanev4f32:
12756 case AArch64::FMLALLTBlanev4f32:
12757 case AArch64::FMLALLTTlanev4f32:
12758 case AArch64::FMLALTlanev8f16: {
12759 // op: Rd
12760 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12761 Value |= (op & 0x1f);
12762 // op: Rn
12763 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12764 Value |= (op & 0x1f) << 5;
12765 // op: Rm
12766 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12767 Value |= (op & 0x7) << 16;
12768 // op: idx
12769 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12770 Value |= (op & 0x7) << 19;
12771 Value |= (op & 0x8) << 8;
12772 break;
12773 }
12774 case AArch64::BFMLALBIdx:
12775 case AArch64::BFMLALTIdx:
12776 case AArch64::FDOTlanev4f16:
12777 case AArch64::FDOTlanev8f16:
12778 case AArch64::FMLAL2lanev4f16:
12779 case AArch64::FMLAL2lanev8f16:
12780 case AArch64::FMLALlanev4f16:
12781 case AArch64::FMLALlanev8f16:
12782 case AArch64::FMLAv1i16_indexed:
12783 case AArch64::FMLAv4i16_indexed:
12784 case AArch64::FMLAv8i16_indexed:
12785 case AArch64::FMLSL2lanev4f16:
12786 case AArch64::FMLSL2lanev8f16:
12787 case AArch64::FMLSLlanev4f16:
12788 case AArch64::FMLSLlanev8f16:
12789 case AArch64::FMLSv1i16_indexed:
12790 case AArch64::FMLSv4i16_indexed:
12791 case AArch64::FMLSv8i16_indexed:
12792 case AArch64::MLAv4i16_indexed:
12793 case AArch64::MLAv8i16_indexed:
12794 case AArch64::MLSv4i16_indexed:
12795 case AArch64::MLSv8i16_indexed:
12796 case AArch64::SMLALv4i16_indexed:
12797 case AArch64::SMLALv8i16_indexed:
12798 case AArch64::SMLSLv4i16_indexed:
12799 case AArch64::SMLSLv8i16_indexed:
12800 case AArch64::SQDMLALv1i32_indexed:
12801 case AArch64::SQDMLALv4i16_indexed:
12802 case AArch64::SQDMLALv8i16_indexed:
12803 case AArch64::SQDMLSLv1i32_indexed:
12804 case AArch64::SQDMLSLv4i16_indexed:
12805 case AArch64::SQDMLSLv8i16_indexed:
12806 case AArch64::SQRDMLAHv1i16_indexed:
12807 case AArch64::SQRDMLAHv4i16_indexed:
12808 case AArch64::SQRDMLAHv8i16_indexed:
12809 case AArch64::SQRDMLSHv1i16_indexed:
12810 case AArch64::SQRDMLSHv4i16_indexed:
12811 case AArch64::SQRDMLSHv8i16_indexed:
12812 case AArch64::UMLALv4i16_indexed:
12813 case AArch64::UMLALv8i16_indexed:
12814 case AArch64::UMLSLv4i16_indexed:
12815 case AArch64::UMLSLv8i16_indexed: {
12816 // op: Rd
12817 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12818 Value |= (op & 0x1f);
12819 // op: Rn
12820 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12821 Value |= (op & 0x1f) << 5;
12822 // op: Rm
12823 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12824 Value |= (op & 0xf) << 16;
12825 // op: idx
12826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12827 Value |= (op & 0x3) << 20;
12828 Value |= (op & 0x4) << 9;
12829 break;
12830 }
12831 case AArch64::SLIv4i16_shift:
12832 case AArch64::SLIv8i16_shift: {
12833 // op: Rd
12834 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12835 Value |= (op & 0x1f);
12836 // op: Rn
12837 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12838 Value |= (op & 0x1f) << 5;
12839 // op: imm
12840 op = getVecShiftL16OpValue(MI, OpIdx: 3, Fixups, STI);
12841 Value |= (op & 0xf) << 16;
12842 break;
12843 }
12844 case AArch64::SLIv2i32_shift:
12845 case AArch64::SLIv4i32_shift: {
12846 // op: Rd
12847 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12848 Value |= (op & 0x1f);
12849 // op: Rn
12850 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12851 Value |= (op & 0x1f) << 5;
12852 // op: imm
12853 op = getVecShiftL32OpValue(MI, OpIdx: 3, Fixups, STI);
12854 Value |= (op & 0x1f) << 16;
12855 break;
12856 }
12857 case AArch64::SLId:
12858 case AArch64::SLIv2i64_shift: {
12859 // op: Rd
12860 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12861 Value |= (op & 0x1f);
12862 // op: Rn
12863 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12864 Value |= (op & 0x1f) << 5;
12865 // op: imm
12866 op = getVecShiftL64OpValue(MI, OpIdx: 3, Fixups, STI);
12867 Value |= (op & 0x3f) << 16;
12868 break;
12869 }
12870 case AArch64::SLIv16i8_shift:
12871 case AArch64::SLIv8i8_shift: {
12872 // op: Rd
12873 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12874 Value |= (op & 0x1f);
12875 // op: Rn
12876 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12877 Value |= (op & 0x1f) << 5;
12878 // op: imm
12879 op = getVecShiftL8OpValue(MI, OpIdx: 3, Fixups, STI);
12880 Value |= (op & 0x7) << 16;
12881 break;
12882 }
12883 case AArch64::RSHRNv16i8_shift:
12884 case AArch64::SHRNv16i8_shift:
12885 case AArch64::SQRSHRNv16i8_shift:
12886 case AArch64::SQRSHRUNv16i8_shift:
12887 case AArch64::SQSHRNv16i8_shift:
12888 case AArch64::SQSHRUNv16i8_shift:
12889 case AArch64::UQRSHRNv16i8_shift:
12890 case AArch64::UQSHRNv16i8_shift: {
12891 // op: Rd
12892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12893 Value |= (op & 0x1f);
12894 // op: Rn
12895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12896 Value |= (op & 0x1f) << 5;
12897 // op: imm
12898 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
12899 Value |= (op & 0x7) << 16;
12900 break;
12901 }
12902 case AArch64::SRIv4i16_shift:
12903 case AArch64::SRIv8i16_shift:
12904 case AArch64::SRSRAv4i16_shift:
12905 case AArch64::SRSRAv8i16_shift:
12906 case AArch64::SSRAv4i16_shift:
12907 case AArch64::SSRAv8i16_shift:
12908 case AArch64::URSRAv4i16_shift:
12909 case AArch64::URSRAv8i16_shift:
12910 case AArch64::USRAv4i16_shift:
12911 case AArch64::USRAv8i16_shift: {
12912 // op: Rd
12913 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12914 Value |= (op & 0x1f);
12915 // op: Rn
12916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12917 Value |= (op & 0x1f) << 5;
12918 // op: imm
12919 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
12920 Value |= (op & 0xf) << 16;
12921 break;
12922 }
12923 case AArch64::SRIv2i32_shift:
12924 case AArch64::SRIv4i32_shift:
12925 case AArch64::SRSRAv2i32_shift:
12926 case AArch64::SRSRAv4i32_shift:
12927 case AArch64::SSRAv2i32_shift:
12928 case AArch64::SSRAv4i32_shift:
12929 case AArch64::URSRAv2i32_shift:
12930 case AArch64::URSRAv4i32_shift:
12931 case AArch64::USRAv2i32_shift:
12932 case AArch64::USRAv4i32_shift: {
12933 // op: Rd
12934 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12935 Value |= (op & 0x1f);
12936 // op: Rn
12937 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12938 Value |= (op & 0x1f) << 5;
12939 // op: imm
12940 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
12941 Value |= (op & 0x1f) << 16;
12942 break;
12943 }
12944 case AArch64::RSHRNv8i16_shift:
12945 case AArch64::SHRNv8i16_shift:
12946 case AArch64::SQRSHRNv8i16_shift:
12947 case AArch64::SQRSHRUNv8i16_shift:
12948 case AArch64::SQSHRNv8i16_shift:
12949 case AArch64::SQSHRUNv8i16_shift:
12950 case AArch64::UQRSHRNv8i16_shift:
12951 case AArch64::UQSHRNv8i16_shift: {
12952 // op: Rd
12953 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12954 Value |= (op & 0x1f);
12955 // op: Rn
12956 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12957 Value |= (op & 0x1f) << 5;
12958 // op: imm
12959 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
12960 Value |= (op & 0xf) << 16;
12961 break;
12962 }
12963 case AArch64::RSHRNv4i32_shift:
12964 case AArch64::SHRNv4i32_shift:
12965 case AArch64::SQRSHRNv4i32_shift:
12966 case AArch64::SQRSHRUNv4i32_shift:
12967 case AArch64::SQSHRNv4i32_shift:
12968 case AArch64::SQSHRUNv4i32_shift:
12969 case AArch64::UQRSHRNv4i32_shift:
12970 case AArch64::UQSHRNv4i32_shift: {
12971 // op: Rd
12972 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12973 Value |= (op & 0x1f);
12974 // op: Rn
12975 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12976 Value |= (op & 0x1f) << 5;
12977 // op: imm
12978 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
12979 Value |= (op & 0x1f) << 16;
12980 break;
12981 }
12982 case AArch64::SRId:
12983 case AArch64::SRIv2i64_shift:
12984 case AArch64::SRSRAd:
12985 case AArch64::SRSRAv2i64_shift:
12986 case AArch64::SSRAd:
12987 case AArch64::SSRAv2i64_shift:
12988 case AArch64::URSRAd:
12989 case AArch64::URSRAv2i64_shift:
12990 case AArch64::USRAd:
12991 case AArch64::USRAv2i64_shift: {
12992 // op: Rd
12993 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12994 Value |= (op & 0x1f);
12995 // op: Rn
12996 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12997 Value |= (op & 0x1f) << 5;
12998 // op: imm
12999 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
13000 Value |= (op & 0x3f) << 16;
13001 break;
13002 }
13003 case AArch64::SRIv16i8_shift:
13004 case AArch64::SRIv8i8_shift:
13005 case AArch64::SRSRAv16i8_shift:
13006 case AArch64::SRSRAv8i8_shift:
13007 case AArch64::SSRAv16i8_shift:
13008 case AArch64::SSRAv8i8_shift:
13009 case AArch64::URSRAv16i8_shift:
13010 case AArch64::URSRAv8i8_shift:
13011 case AArch64::USRAv16i8_shift:
13012 case AArch64::USRAv8i8_shift: {
13013 // op: Rd
13014 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13015 Value |= (op & 0x1f);
13016 // op: Rn
13017 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13018 Value |= (op & 0x1f) << 5;
13019 // op: imm
13020 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
13021 Value |= (op & 0x7) << 16;
13022 break;
13023 }
13024 case AArch64::INSvi64gpr: {
13025 // op: Rd
13026 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13027 Value |= (op & 0x1f);
13028 // op: Rn
13029 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13030 Value |= (op & 0x1f) << 5;
13031 // op: idx
13032 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13033 Value |= (op & 0x1) << 20;
13034 break;
13035 }
13036 case AArch64::INSvi64lane: {
13037 // op: Rd
13038 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13039 Value |= (op & 0x1f);
13040 // op: Rn
13041 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13042 Value |= (op & 0x1f) << 5;
13043 // op: idx
13044 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13045 Value |= (op & 0x1) << 20;
13046 // op: idx2
13047 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13048 Value |= (op & 0x1) << 14;
13049 break;
13050 }
13051 case AArch64::INSvi32gpr: {
13052 // op: Rd
13053 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13054 Value |= (op & 0x1f);
13055 // op: Rn
13056 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13057 Value |= (op & 0x1f) << 5;
13058 // op: idx
13059 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13060 Value |= (op & 0x3) << 19;
13061 break;
13062 }
13063 case AArch64::INSvi32lane: {
13064 // op: Rd
13065 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13066 Value |= (op & 0x1f);
13067 // op: Rn
13068 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13069 Value |= (op & 0x1f) << 5;
13070 // op: idx
13071 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13072 Value |= (op & 0x3) << 19;
13073 // op: idx2
13074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13075 Value |= (op & 0x3) << 13;
13076 break;
13077 }
13078 case AArch64::INSvi16gpr: {
13079 // op: Rd
13080 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13081 Value |= (op & 0x1f);
13082 // op: Rn
13083 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13084 Value |= (op & 0x1f) << 5;
13085 // op: idx
13086 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13087 Value |= (op & 0x7) << 18;
13088 break;
13089 }
13090 case AArch64::INSvi16lane: {
13091 // op: Rd
13092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13093 Value |= (op & 0x1f);
13094 // op: Rn
13095 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13096 Value |= (op & 0x1f) << 5;
13097 // op: idx
13098 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13099 Value |= (op & 0x7) << 18;
13100 // op: idx2
13101 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13102 Value |= (op & 0x7) << 12;
13103 break;
13104 }
13105 case AArch64::INSvi8gpr: {
13106 // op: Rd
13107 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13108 Value |= (op & 0x1f);
13109 // op: Rn
13110 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13111 Value |= (op & 0x1f) << 5;
13112 // op: idx
13113 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13114 Value |= (op & 0xf) << 17;
13115 break;
13116 }
13117 case AArch64::INSvi8lane: {
13118 // op: Rd
13119 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13120 Value |= (op & 0x1f);
13121 // op: Rn
13122 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13123 Value |= (op & 0x1f) << 5;
13124 // op: idx
13125 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13126 Value |= (op & 0xf) << 17;
13127 // op: idx2
13128 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13129 Value |= (op & 0xf) << 11;
13130 break;
13131 }
13132 case AArch64::BICv4i16:
13133 case AArch64::BICv8i16:
13134 case AArch64::ORRv4i16:
13135 case AArch64::ORRv8i16: {
13136 // op: Rd
13137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13138 Value |= (op & 0x1f);
13139 // op: imm8
13140 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13141 Value |= (op & 0xe0) << 11;
13142 Value |= (op & 0x1f) << 5;
13143 // op: shift
13144 op = getVecShifterOpValue(MI, OpIdx: 3, Fixups, STI);
13145 Value |= (op & 0x1) << 13;
13146 break;
13147 }
13148 case AArch64::BICv2i32:
13149 case AArch64::BICv4i32:
13150 case AArch64::ORRv2i32:
13151 case AArch64::ORRv4i32: {
13152 // op: Rd
13153 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13154 Value |= (op & 0x1f);
13155 // op: imm8
13156 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13157 Value |= (op & 0xe0) << 11;
13158 Value |= (op & 0x1f) << 5;
13159 // op: shift
13160 op = getVecShifterOpValue(MI, OpIdx: 3, Fixups, STI);
13161 Value |= (op & 0x3) << 13;
13162 break;
13163 }
13164 case AArch64::SETGOE:
13165 case AArch64::SETGOEN:
13166 case AArch64::SETGOET:
13167 case AArch64::SETGOETN:
13168 case AArch64::SETGOM:
13169 case AArch64::SETGOMN:
13170 case AArch64::SETGOMT:
13171 case AArch64::SETGOMTN:
13172 case AArch64::SETGOP:
13173 case AArch64::SETGOPN:
13174 case AArch64::SETGOPT:
13175 case AArch64::SETGOPTN: {
13176 // op: Rd
13177 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13178 Value |= (op & 0x1f);
13179 // op: Rn
13180 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13181 Value |= (op & 0x1f) << 5;
13182 break;
13183 }
13184 case AArch64::MOPSSETGE:
13185 case AArch64::MOPSSETGEN:
13186 case AArch64::MOPSSETGET:
13187 case AArch64::MOPSSETGETN:
13188 case AArch64::SETE:
13189 case AArch64::SETEN:
13190 case AArch64::SETET:
13191 case AArch64::SETETN:
13192 case AArch64::SETGM:
13193 case AArch64::SETGMN:
13194 case AArch64::SETGMT:
13195 case AArch64::SETGMTN:
13196 case AArch64::SETGP:
13197 case AArch64::SETGPN:
13198 case AArch64::SETGPT:
13199 case AArch64::SETGPTN:
13200 case AArch64::SETM:
13201 case AArch64::SETMN:
13202 case AArch64::SETMT:
13203 case AArch64::SETMTN:
13204 case AArch64::SETP:
13205 case AArch64::SETPN:
13206 case AArch64::SETPT:
13207 case AArch64::SETPTN: {
13208 // op: Rd
13209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13210 Value |= (op & 0x1f);
13211 // op: Rn
13212 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13213 Value |= (op & 0x1f) << 5;
13214 // op: Rm
13215 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13216 Value |= (op & 0x1f) << 16;
13217 break;
13218 }
13219 case AArch64::CPYE:
13220 case AArch64::CPYEN:
13221 case AArch64::CPYERN:
13222 case AArch64::CPYERT:
13223 case AArch64::CPYERTN:
13224 case AArch64::CPYERTRN:
13225 case AArch64::CPYERTWN:
13226 case AArch64::CPYET:
13227 case AArch64::CPYETN:
13228 case AArch64::CPYETRN:
13229 case AArch64::CPYETWN:
13230 case AArch64::CPYEWN:
13231 case AArch64::CPYEWT:
13232 case AArch64::CPYEWTN:
13233 case AArch64::CPYEWTRN:
13234 case AArch64::CPYEWTWN:
13235 case AArch64::CPYFE:
13236 case AArch64::CPYFEN:
13237 case AArch64::CPYFERN:
13238 case AArch64::CPYFERT:
13239 case AArch64::CPYFERTN:
13240 case AArch64::CPYFERTRN:
13241 case AArch64::CPYFERTWN:
13242 case AArch64::CPYFET:
13243 case AArch64::CPYFETN:
13244 case AArch64::CPYFETRN:
13245 case AArch64::CPYFETWN:
13246 case AArch64::CPYFEWN:
13247 case AArch64::CPYFEWT:
13248 case AArch64::CPYFEWTN:
13249 case AArch64::CPYFEWTRN:
13250 case AArch64::CPYFEWTWN:
13251 case AArch64::CPYFM:
13252 case AArch64::CPYFMN:
13253 case AArch64::CPYFMRN:
13254 case AArch64::CPYFMRT:
13255 case AArch64::CPYFMRTN:
13256 case AArch64::CPYFMRTRN:
13257 case AArch64::CPYFMRTWN:
13258 case AArch64::CPYFMT:
13259 case AArch64::CPYFMTN:
13260 case AArch64::CPYFMTRN:
13261 case AArch64::CPYFMTWN:
13262 case AArch64::CPYFMWN:
13263 case AArch64::CPYFMWT:
13264 case AArch64::CPYFMWTN:
13265 case AArch64::CPYFMWTRN:
13266 case AArch64::CPYFMWTWN:
13267 case AArch64::CPYFP:
13268 case AArch64::CPYFPN:
13269 case AArch64::CPYFPRN:
13270 case AArch64::CPYFPRT:
13271 case AArch64::CPYFPRTN:
13272 case AArch64::CPYFPRTRN:
13273 case AArch64::CPYFPRTWN:
13274 case AArch64::CPYFPT:
13275 case AArch64::CPYFPTN:
13276 case AArch64::CPYFPTRN:
13277 case AArch64::CPYFPTWN:
13278 case AArch64::CPYFPWN:
13279 case AArch64::CPYFPWT:
13280 case AArch64::CPYFPWTN:
13281 case AArch64::CPYFPWTRN:
13282 case AArch64::CPYFPWTWN:
13283 case AArch64::CPYM:
13284 case AArch64::CPYMN:
13285 case AArch64::CPYMRN:
13286 case AArch64::CPYMRT:
13287 case AArch64::CPYMRTN:
13288 case AArch64::CPYMRTRN:
13289 case AArch64::CPYMRTWN:
13290 case AArch64::CPYMT:
13291 case AArch64::CPYMTN:
13292 case AArch64::CPYMTRN:
13293 case AArch64::CPYMTWN:
13294 case AArch64::CPYMWN:
13295 case AArch64::CPYMWT:
13296 case AArch64::CPYMWTN:
13297 case AArch64::CPYMWTRN:
13298 case AArch64::CPYMWTWN:
13299 case AArch64::CPYP:
13300 case AArch64::CPYPN:
13301 case AArch64::CPYPRN:
13302 case AArch64::CPYPRT:
13303 case AArch64::CPYPRTN:
13304 case AArch64::CPYPRTRN:
13305 case AArch64::CPYPRTWN:
13306 case AArch64::CPYPT:
13307 case AArch64::CPYPTN:
13308 case AArch64::CPYPTRN:
13309 case AArch64::CPYPTWN:
13310 case AArch64::CPYPWN:
13311 case AArch64::CPYPWT:
13312 case AArch64::CPYPWTN:
13313 case AArch64::CPYPWTRN:
13314 case AArch64::CPYPWTWN: {
13315 // op: Rd
13316 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13317 Value |= (op & 0x1f);
13318 // op: Rs
13319 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13320 Value |= (op & 0x1f) << 16;
13321 // op: Rn
13322 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13323 Value |= (op & 0x1f) << 5;
13324 break;
13325 }
13326 case AArch64::DECP_XP_B:
13327 case AArch64::DECP_XP_D:
13328 case AArch64::DECP_XP_H:
13329 case AArch64::DECP_XP_S:
13330 case AArch64::INCP_XP_B:
13331 case AArch64::INCP_XP_D:
13332 case AArch64::INCP_XP_H:
13333 case AArch64::INCP_XP_S:
13334 case AArch64::SQDECP_XPWd_B:
13335 case AArch64::SQDECP_XPWd_D:
13336 case AArch64::SQDECP_XPWd_H:
13337 case AArch64::SQDECP_XPWd_S:
13338 case AArch64::SQDECP_XP_B:
13339 case AArch64::SQDECP_XP_D:
13340 case AArch64::SQDECP_XP_H:
13341 case AArch64::SQDECP_XP_S:
13342 case AArch64::SQINCP_XPWd_B:
13343 case AArch64::SQINCP_XPWd_D:
13344 case AArch64::SQINCP_XPWd_H:
13345 case AArch64::SQINCP_XPWd_S:
13346 case AArch64::SQINCP_XP_B:
13347 case AArch64::SQINCP_XP_D:
13348 case AArch64::SQINCP_XP_H:
13349 case AArch64::SQINCP_XP_S:
13350 case AArch64::UQDECP_WP_B:
13351 case AArch64::UQDECP_WP_D:
13352 case AArch64::UQDECP_WP_H:
13353 case AArch64::UQDECP_WP_S:
13354 case AArch64::UQDECP_XP_B:
13355 case AArch64::UQDECP_XP_D:
13356 case AArch64::UQDECP_XP_H:
13357 case AArch64::UQDECP_XP_S:
13358 case AArch64::UQINCP_WP_B:
13359 case AArch64::UQINCP_WP_D:
13360 case AArch64::UQINCP_WP_H:
13361 case AArch64::UQINCP_WP_S:
13362 case AArch64::UQINCP_XP_B:
13363 case AArch64::UQINCP_XP_D:
13364 case AArch64::UQINCP_XP_H:
13365 case AArch64::UQINCP_XP_S: {
13366 // op: Rdn
13367 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13368 Value |= (op & 0x1f);
13369 // op: Pg
13370 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13371 Value |= (op & 0xf) << 5;
13372 break;
13373 }
13374 case AArch64::DECB_XPiI:
13375 case AArch64::DECD_XPiI:
13376 case AArch64::DECH_XPiI:
13377 case AArch64::DECW_XPiI:
13378 case AArch64::INCB_XPiI:
13379 case AArch64::INCD_XPiI:
13380 case AArch64::INCH_XPiI:
13381 case AArch64::INCW_XPiI:
13382 case AArch64::SQDECB_XPiI:
13383 case AArch64::SQDECB_XPiWdI:
13384 case AArch64::SQDECD_XPiI:
13385 case AArch64::SQDECD_XPiWdI:
13386 case AArch64::SQDECH_XPiI:
13387 case AArch64::SQDECH_XPiWdI:
13388 case AArch64::SQDECW_XPiI:
13389 case AArch64::SQDECW_XPiWdI:
13390 case AArch64::SQINCB_XPiI:
13391 case AArch64::SQINCB_XPiWdI:
13392 case AArch64::SQINCD_XPiI:
13393 case AArch64::SQINCD_XPiWdI:
13394 case AArch64::SQINCH_XPiI:
13395 case AArch64::SQINCH_XPiWdI:
13396 case AArch64::SQINCW_XPiI:
13397 case AArch64::SQINCW_XPiWdI:
13398 case AArch64::UQDECB_WPiI:
13399 case AArch64::UQDECB_XPiI:
13400 case AArch64::UQDECD_WPiI:
13401 case AArch64::UQDECD_XPiI:
13402 case AArch64::UQDECH_WPiI:
13403 case AArch64::UQDECH_XPiI:
13404 case AArch64::UQDECW_WPiI:
13405 case AArch64::UQDECW_XPiI:
13406 case AArch64::UQINCB_WPiI:
13407 case AArch64::UQINCB_XPiI:
13408 case AArch64::UQINCD_WPiI:
13409 case AArch64::UQINCD_XPiI:
13410 case AArch64::UQINCH_WPiI:
13411 case AArch64::UQINCH_XPiI:
13412 case AArch64::UQINCW_WPiI:
13413 case AArch64::UQINCW_XPiI: {
13414 // op: Rdn
13415 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13416 Value |= (op & 0x1f);
13417 // op: pattern
13418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13419 Value |= (op & 0x1f) << 5;
13420 // op: imm4
13421 op = getSVEIncDecImm(MI, OpIdx: 3, Fixups, STI);
13422 Value |= (op & 0xf) << 16;
13423 break;
13424 }
13425 case AArch64::RETAASPPCr:
13426 case AArch64::RETABSPPCr: {
13427 // op: Rm
13428 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13429 Value |= (op & 0x1f);
13430 break;
13431 }
13432 case AArch64::CTERMEQ_WW:
13433 case AArch64::CTERMEQ_XX:
13434 case AArch64::CTERMNE_WW:
13435 case AArch64::CTERMNE_XX:
13436 case AArch64::FCMPDrr:
13437 case AArch64::FCMPEDrr:
13438 case AArch64::FCMPEHrr:
13439 case AArch64::FCMPESrr:
13440 case AArch64::FCMPHrr:
13441 case AArch64::FCMPSrr: {
13442 // op: Rm
13443 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13444 Value |= (op & 0x1f) << 16;
13445 // op: Rn
13446 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13447 Value |= (op & 0x1f) << 5;
13448 break;
13449 }
13450 case AArch64::CBBEQWrr:
13451 case AArch64::CBBGEWrr:
13452 case AArch64::CBBGTWrr:
13453 case AArch64::CBBHIWrr:
13454 case AArch64::CBBHSWrr:
13455 case AArch64::CBBNEWrr:
13456 case AArch64::CBEQWrr:
13457 case AArch64::CBEQXrr:
13458 case AArch64::CBGEWrr:
13459 case AArch64::CBGEXrr:
13460 case AArch64::CBGTWrr:
13461 case AArch64::CBGTXrr:
13462 case AArch64::CBHEQWrr:
13463 case AArch64::CBHGEWrr:
13464 case AArch64::CBHGTWrr:
13465 case AArch64::CBHHIWrr:
13466 case AArch64::CBHHSWrr:
13467 case AArch64::CBHIWrr:
13468 case AArch64::CBHIXrr:
13469 case AArch64::CBHNEWrr:
13470 case AArch64::CBHSWrr:
13471 case AArch64::CBHSXrr:
13472 case AArch64::CBNEWrr:
13473 case AArch64::CBNEXrr: {
13474 // op: Rm
13475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13476 Value |= (op & 0x1f) << 16;
13477 // op: Rt
13478 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13479 Value |= (op & 0x1f);
13480 // op: target
13481 op = getCondCompBranchTargetOpValue(MI, OpIdx: 2, Fixups, STI);
13482 Value |= (op & 0x1ff) << 5;
13483 break;
13484 }
13485 case AArch64::INDEX_IR_B:
13486 case AArch64::INDEX_IR_D:
13487 case AArch64::INDEX_IR_H:
13488 case AArch64::INDEX_IR_S: {
13489 // op: Rm
13490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13491 Value |= (op & 0x1f) << 16;
13492 // op: Zd
13493 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13494 Value |= (op & 0x1f);
13495 // op: imm5
13496 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13497 Value |= (op & 0x1f) << 5;
13498 break;
13499 }
13500 case AArch64::INSR_ZR_B:
13501 case AArch64::INSR_ZR_D:
13502 case AArch64::INSR_ZR_H:
13503 case AArch64::INSR_ZR_S: {
13504 // op: Rm
13505 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13506 Value |= (op & 0x1f) << 5;
13507 // op: Zdn
13508 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13509 Value |= (op & 0x1f);
13510 break;
13511 }
13512 case AArch64::LD1B_2Z_STRIDED:
13513 case AArch64::LD1D_2Z_STRIDED:
13514 case AArch64::LD1H_2Z_STRIDED:
13515 case AArch64::LD1W_2Z_STRIDED:
13516 case AArch64::LDNT1B_2Z_STRIDED:
13517 case AArch64::LDNT1D_2Z_STRIDED:
13518 case AArch64::LDNT1H_2Z_STRIDED:
13519 case AArch64::LDNT1W_2Z_STRIDED:
13520 case AArch64::ST1B_2Z_STRIDED:
13521 case AArch64::ST1D_2Z_STRIDED:
13522 case AArch64::ST1H_2Z_STRIDED:
13523 case AArch64::ST1W_2Z_STRIDED:
13524 case AArch64::STNT1B_2Z_STRIDED:
13525 case AArch64::STNT1D_2Z_STRIDED:
13526 case AArch64::STNT1H_2Z_STRIDED:
13527 case AArch64::STNT1W_2Z_STRIDED: {
13528 // op: Rm
13529 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13530 Value |= (op & 0x1f) << 16;
13531 // op: PNg
13532 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
13533 Value |= (op & 0x7) << 10;
13534 // op: Rn
13535 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13536 Value |= (op & 0x1f) << 5;
13537 // op: Zt
13538 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
13539 Value |= (op & 0x8) << 1;
13540 Value |= (op & 0x7);
13541 break;
13542 }
13543 case AArch64::LD1B_4Z_STRIDED:
13544 case AArch64::LD1D_4Z_STRIDED:
13545 case AArch64::LD1H_4Z_STRIDED:
13546 case AArch64::LD1W_4Z_STRIDED:
13547 case AArch64::LDNT1B_4Z_STRIDED:
13548 case AArch64::LDNT1D_4Z_STRIDED:
13549 case AArch64::LDNT1H_4Z_STRIDED:
13550 case AArch64::LDNT1W_4Z_STRIDED:
13551 case AArch64::ST1B_4Z_STRIDED:
13552 case AArch64::ST1D_4Z_STRIDED:
13553 case AArch64::ST1H_4Z_STRIDED:
13554 case AArch64::ST1W_4Z_STRIDED:
13555 case AArch64::STNT1B_4Z_STRIDED:
13556 case AArch64::STNT1D_4Z_STRIDED:
13557 case AArch64::STNT1H_4Z_STRIDED:
13558 case AArch64::STNT1W_4Z_STRIDED: {
13559 // op: Rm
13560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13561 Value |= (op & 0x1f) << 16;
13562 // op: PNg
13563 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
13564 Value |= (op & 0x7) << 10;
13565 // op: Rn
13566 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13567 Value |= (op & 0x1f) << 5;
13568 // op: Zt
13569 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
13570 Value |= (op & 0x4) << 2;
13571 Value |= (op & 0x3);
13572 break;
13573 }
13574 case AArch64::PRFB_PRR:
13575 case AArch64::PRFD_PRR:
13576 case AArch64::PRFH_PRR:
13577 case AArch64::PRFW_PRR: {
13578 // op: Rm
13579 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13580 Value |= (op & 0x1f) << 16;
13581 // op: Rn
13582 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13583 Value |= (op & 0x1f) << 5;
13584 // op: Pg
13585 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13586 Value |= (op & 0x7) << 10;
13587 // op: prfop
13588 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13589 Value |= (op & 0xf);
13590 break;
13591 }
13592 case AArch64::LD1_MXIPXX_H_H:
13593 case AArch64::LD1_MXIPXX_V_H:
13594 case AArch64::ST1_MXIPXX_H_H:
13595 case AArch64::ST1_MXIPXX_V_H: {
13596 // op: Rm
13597 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13598 Value |= (op & 0x1f) << 16;
13599 // op: Rv
13600 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13601 Value |= (op & 0x3) << 13;
13602 // op: Pg
13603 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13604 Value |= (op & 0x7) << 10;
13605 // op: Rn
13606 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13607 Value |= (op & 0x1f) << 5;
13608 // op: ZAt
13609 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13610 Value |= (op & 0x1) << 3;
13611 // op: imm
13612 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13613 Value |= (op & 0x7);
13614 break;
13615 }
13616 case AArch64::LD1_MXIPXX_H_S:
13617 case AArch64::LD1_MXIPXX_V_S:
13618 case AArch64::ST1_MXIPXX_H_S:
13619 case AArch64::ST1_MXIPXX_V_S: {
13620 // op: Rm
13621 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13622 Value |= (op & 0x1f) << 16;
13623 // op: Rv
13624 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13625 Value |= (op & 0x3) << 13;
13626 // op: Pg
13627 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13628 Value |= (op & 0x7) << 10;
13629 // op: Rn
13630 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13631 Value |= (op & 0x1f) << 5;
13632 // op: ZAt
13633 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13634 Value |= (op & 0x3) << 2;
13635 // op: imm
13636 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13637 Value |= (op & 0x3);
13638 break;
13639 }
13640 case AArch64::LD1_MXIPXX_H_D:
13641 case AArch64::LD1_MXIPXX_V_D:
13642 case AArch64::ST1_MXIPXX_H_D:
13643 case AArch64::ST1_MXIPXX_V_D: {
13644 // op: Rm
13645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13646 Value |= (op & 0x1f) << 16;
13647 // op: Rv
13648 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13649 Value |= (op & 0x3) << 13;
13650 // op: Pg
13651 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13652 Value |= (op & 0x7) << 10;
13653 // op: Rn
13654 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13655 Value |= (op & 0x1f) << 5;
13656 // op: ZAt
13657 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13658 Value |= (op & 0x7) << 1;
13659 // op: imm
13660 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13661 Value |= (op & 0x1);
13662 break;
13663 }
13664 case AArch64::LD1_MXIPXX_H_Q:
13665 case AArch64::LD1_MXIPXX_V_Q:
13666 case AArch64::ST1_MXIPXX_H_Q:
13667 case AArch64::ST1_MXIPXX_V_Q: {
13668 // op: Rm
13669 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13670 Value |= (op & 0x1f) << 16;
13671 // op: Rv
13672 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13673 Value |= (op & 0x3) << 13;
13674 // op: Pg
13675 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13676 Value |= (op & 0x7) << 10;
13677 // op: Rn
13678 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13679 Value |= (op & 0x1f) << 5;
13680 // op: ZAt
13681 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13682 Value |= (op & 0xf);
13683 break;
13684 }
13685 case AArch64::LD1_MXIPXX_H_B:
13686 case AArch64::LD1_MXIPXX_V_B:
13687 case AArch64::ST1_MXIPXX_H_B:
13688 case AArch64::ST1_MXIPXX_V_B: {
13689 // op: Rm
13690 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13691 Value |= (op & 0x1f) << 16;
13692 // op: Rv
13693 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13694 Value |= (op & 0x3) << 13;
13695 // op: Pg
13696 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13697 Value |= (op & 0x7) << 10;
13698 // op: Rn
13699 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13700 Value |= (op & 0x1f) << 5;
13701 // op: imm
13702 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13703 Value |= (op & 0xf);
13704 break;
13705 }
13706 case AArch64::AUTIASPPCr:
13707 case AArch64::AUTIBSPPCr:
13708 case AArch64::BLR:
13709 case AArch64::BLRAAZ:
13710 case AArch64::BLRABZ:
13711 case AArch64::BR:
13712 case AArch64::BRAAZ:
13713 case AArch64::BRABZ:
13714 case AArch64::RET:
13715 case AArch64::SETF16:
13716 case AArch64::SETF8: {
13717 // op: Rn
13718 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13719 Value |= (op & 0x1f) << 5;
13720 break;
13721 }
13722 case AArch64::CCMNWr:
13723 case AArch64::CCMNXr:
13724 case AArch64::CCMPWr:
13725 case AArch64::CCMPXr:
13726 case AArch64::FCCMPDrr:
13727 case AArch64::FCCMPEDrr:
13728 case AArch64::FCCMPEHrr:
13729 case AArch64::FCCMPESrr:
13730 case AArch64::FCCMPHrr:
13731 case AArch64::FCCMPSrr: {
13732 // op: Rn
13733 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13734 Value |= (op & 0x1f) << 5;
13735 // op: Rm
13736 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13737 Value |= (op & 0x1f) << 16;
13738 // op: nzcv
13739 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13740 Value |= (op & 0xf);
13741 // op: cond
13742 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13743 Value |= (op & 0xf) << 12;
13744 break;
13745 }
13746 case AArch64::BLRAA:
13747 case AArch64::BLRAB:
13748 case AArch64::BRAA:
13749 case AArch64::BRAB: {
13750 // op: Rn
13751 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13752 Value |= (op & 0x1f) << 5;
13753 // op: Rm
13754 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13755 Value |= (op & 0x1f);
13756 break;
13757 }
13758 case AArch64::CCMNWi:
13759 case AArch64::CCMNXi:
13760 case AArch64::CCMPWi:
13761 case AArch64::CCMPXi: {
13762 // op: Rn
13763 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13764 Value |= (op & 0x1f) << 5;
13765 // op: imm
13766 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13767 Value |= (op & 0x1f) << 16;
13768 // op: nzcv
13769 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13770 Value |= (op & 0xf);
13771 // op: cond
13772 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13773 Value |= (op & 0xf) << 12;
13774 break;
13775 }
13776 case AArch64::RMIF: {
13777 // op: Rn
13778 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13779 Value |= (op & 0x1f) << 5;
13780 // op: imm
13781 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13782 Value |= (op & 0x3f) << 15;
13783 // op: mask
13784 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13785 Value |= (op & 0xf);
13786 break;
13787 }
13788 case AArch64::FCMPDri:
13789 case AArch64::FCMPEDri:
13790 case AArch64::FCMPEHri:
13791 case AArch64::FCMPESri:
13792 case AArch64::FCMPHri:
13793 case AArch64::FCMPSri: {
13794 // op: Rn
13795 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13796 Value |= (op & 0x1f) << 5;
13797 Value = fixOneOperandFPComparison(MI, EncodedValue: Value, STI);
13798 break;
13799 }
13800 case AArch64::LDR_TX:
13801 case AArch64::STR_TX: {
13802 // op: Rn
13803 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13804 Value |= (op & 0x1f) << 5;
13805 break;
13806 }
13807 case AArch64::LDAPRB:
13808 case AArch64::LDAPRH:
13809 case AArch64::LDAPRW:
13810 case AArch64::LDAPRX:
13811 case AArch64::LDGM:
13812 case AArch64::STGM:
13813 case AArch64::STZGM: {
13814 // op: Rn
13815 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13816 Value |= (op & 0x1f) << 5;
13817 // op: Rt
13818 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13819 Value |= (op & 0x1f);
13820 break;
13821 }
13822 case AArch64::ST2Gi:
13823 case AArch64::STGi:
13824 case AArch64::STZ2Gi:
13825 case AArch64::STZGi: {
13826 // op: Rn
13827 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13828 Value |= (op & 0x1f) << 5;
13829 // op: Rt
13830 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13831 Value |= (op & 0x1f);
13832 // op: offset
13833 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13834 Value |= (op & 0x1ff) << 12;
13835 break;
13836 }
13837 case AArch64::DUP_ZR_B:
13838 case AArch64::DUP_ZR_D:
13839 case AArch64::DUP_ZR_H:
13840 case AArch64::DUP_ZR_S: {
13841 // op: Rn
13842 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13843 Value |= (op & 0x1f) << 5;
13844 // op: Zd
13845 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13846 Value |= (op & 0x1f);
13847 break;
13848 }
13849 case AArch64::INDEX_RI_B:
13850 case AArch64::INDEX_RI_D:
13851 case AArch64::INDEX_RI_H:
13852 case AArch64::INDEX_RI_S: {
13853 // op: Rn
13854 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13855 Value |= (op & 0x1f) << 5;
13856 // op: Zd
13857 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13858 Value |= (op & 0x1f);
13859 // op: imm5
13860 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13861 Value |= (op & 0x1f) << 16;
13862 break;
13863 }
13864 case AArch64::LDR_ZXI:
13865 case AArch64::STR_ZXI: {
13866 // op: Rn
13867 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13868 Value |= (op & 0x1f) << 5;
13869 // op: Zt
13870 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13871 Value |= (op & 0x1f);
13872 // op: imm9
13873 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13874 Value |= (op & 0x1f8) << 13;
13875 Value |= (op & 0x7) << 10;
13876 break;
13877 }
13878 case AArch64::PRFB_PRI:
13879 case AArch64::PRFD_PRI:
13880 case AArch64::PRFH_PRI:
13881 case AArch64::PRFW_PRI: {
13882 // op: Rn
13883 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13884 Value |= (op & 0x1f) << 5;
13885 // op: Pg
13886 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13887 Value |= (op & 0x7) << 10;
13888 // op: imm6
13889 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13890 Value |= (op & 0x3f) << 16;
13891 // op: prfop
13892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13893 Value |= (op & 0xf);
13894 break;
13895 }
13896 case AArch64::LDG:
13897 case AArch64::ST2GPostIndex:
13898 case AArch64::ST2GPreIndex:
13899 case AArch64::STGPostIndex:
13900 case AArch64::STGPreIndex:
13901 case AArch64::STZ2GPostIndex:
13902 case AArch64::STZ2GPreIndex:
13903 case AArch64::STZGPostIndex:
13904 case AArch64::STZGPreIndex: {
13905 // op: Rn
13906 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13907 Value |= (op & 0x1f) << 5;
13908 // op: Rt
13909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13910 Value |= (op & 0x1f);
13911 // op: offset
13912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13913 Value |= (op & 0x1ff) << 12;
13914 break;
13915 }
13916 case AArch64::MOVA_MXI2Z_H_H:
13917 case AArch64::MOVA_MXI2Z_V_H: {
13918 // op: Rs
13919 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13920 Value |= (op & 0x3) << 13;
13921 // op: Zn
13922 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13923 Value |= (op & 0xf) << 6;
13924 // op: ZAd
13925 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13926 Value |= (op & 0x1) << 2;
13927 // op: imm
13928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13929 Value |= (op & 0x3);
13930 break;
13931 }
13932 case AArch64::MOVA_MXI2Z_H_S:
13933 case AArch64::MOVA_MXI2Z_V_S: {
13934 // op: Rs
13935 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13936 Value |= (op & 0x3) << 13;
13937 // op: Zn
13938 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13939 Value |= (op & 0xf) << 6;
13940 // op: ZAd
13941 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13942 Value |= (op & 0x3) << 1;
13943 // op: imm
13944 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13945 Value |= (op & 0x1);
13946 break;
13947 }
13948 case AArch64::MOVA_MXI2Z_H_D:
13949 case AArch64::MOVA_MXI2Z_V_D: {
13950 // op: Rs
13951 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13952 Value |= (op & 0x3) << 13;
13953 // op: Zn
13954 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13955 Value |= (op & 0xf) << 6;
13956 // op: ZAd
13957 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13958 Value |= (op & 0x7);
13959 break;
13960 }
13961 case AArch64::MOVA_MXI2Z_H_B:
13962 case AArch64::MOVA_MXI2Z_V_B: {
13963 // op: Rs
13964 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13965 Value |= (op & 0x3) << 13;
13966 // op: Zn
13967 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13968 Value |= (op & 0xf) << 6;
13969 // op: imm
13970 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13971 Value |= (op & 0x7);
13972 break;
13973 }
13974 case AArch64::MOVA_MXI4Z_H_H:
13975 case AArch64::MOVA_MXI4Z_V_H: {
13976 // op: Rs
13977 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13978 Value |= (op & 0x3) << 13;
13979 // op: Zn
13980 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
13981 Value |= (op & 0x7) << 7;
13982 // op: ZAd
13983 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13984 Value |= (op & 0x1) << 1;
13985 // op: imm
13986 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13987 Value |= (op & 0x1);
13988 break;
13989 }
13990 case AArch64::MOVA_MXI4Z_H_S:
13991 case AArch64::MOVA_MXI4Z_V_S: {
13992 // op: Rs
13993 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13994 Value |= (op & 0x3) << 13;
13995 // op: Zn
13996 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
13997 Value |= (op & 0x7) << 7;
13998 // op: ZAd
13999 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14000 Value |= (op & 0x3);
14001 break;
14002 }
14003 case AArch64::MOVA_MXI4Z_H_D:
14004 case AArch64::MOVA_MXI4Z_V_D: {
14005 // op: Rs
14006 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
14007 Value |= (op & 0x3) << 13;
14008 // op: Zn
14009 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14010 Value |= (op & 0x7) << 7;
14011 // op: ZAd
14012 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14013 Value |= (op & 0x7);
14014 break;
14015 }
14016 case AArch64::MOVA_MXI4Z_H_B:
14017 case AArch64::MOVA_MXI4Z_V_B: {
14018 // op: Rs
14019 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
14020 Value |= (op & 0x3) << 13;
14021 // op: Zn
14022 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14023 Value |= (op & 0x7) << 7;
14024 // op: imm
14025 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14026 Value |= (op & 0x3);
14027 break;
14028 }
14029 case AArch64::MOVAZ_ZMI_H_H:
14030 case AArch64::MOVAZ_ZMI_V_H: {
14031 // op: Rs
14032 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14033 Value |= (op & 0x3) << 13;
14034 // op: Zd
14035 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14036 Value |= (op & 0x1f);
14037 // op: ZAn
14038 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14039 Value |= (op & 0x1) << 8;
14040 // op: imm
14041 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14042 Value |= (op & 0x7) << 5;
14043 break;
14044 }
14045 case AArch64::MOVAZ_ZMI_H_S:
14046 case AArch64::MOVAZ_ZMI_V_S: {
14047 // op: Rs
14048 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14049 Value |= (op & 0x3) << 13;
14050 // op: Zd
14051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14052 Value |= (op & 0x1f);
14053 // op: ZAn
14054 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14055 Value |= (op & 0x3) << 7;
14056 // op: imm
14057 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14058 Value |= (op & 0x3) << 5;
14059 break;
14060 }
14061 case AArch64::MOVAZ_ZMI_H_D:
14062 case AArch64::MOVAZ_ZMI_V_D: {
14063 // op: Rs
14064 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14065 Value |= (op & 0x3) << 13;
14066 // op: Zd
14067 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14068 Value |= (op & 0x1f);
14069 // op: ZAn
14070 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14071 Value |= (op & 0x7) << 6;
14072 // op: imm
14073 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14074 Value |= (op & 0x1) << 5;
14075 break;
14076 }
14077 case AArch64::MOVAZ_ZMI_H_Q:
14078 case AArch64::MOVAZ_ZMI_V_Q: {
14079 // op: Rs
14080 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14081 Value |= (op & 0x3) << 13;
14082 // op: Zd
14083 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14084 Value |= (op & 0x1f);
14085 // op: ZAn
14086 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14087 Value |= (op & 0xf) << 5;
14088 break;
14089 }
14090 case AArch64::MOVAZ_ZMI_H_B:
14091 case AArch64::MOVAZ_ZMI_V_B: {
14092 // op: Rs
14093 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14094 Value |= (op & 0x3) << 13;
14095 // op: Zd
14096 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14097 Value |= (op & 0x1f);
14098 // op: imm
14099 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14100 Value |= (op & 0xf) << 5;
14101 break;
14102 }
14103 case AArch64::MOVA_VG2_2ZMXI: {
14104 // op: Rs
14105 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14106 Value |= (op & 0x3) << 13;
14107 // op: imm
14108 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14109 Value |= (op & 0x7) << 5;
14110 // op: Zd
14111 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
14112 Value |= (op & 0xf) << 1;
14113 break;
14114 }
14115 case AArch64::MOVA_VG4_4ZMXI: {
14116 // op: Rs
14117 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14118 Value |= (op & 0x3) << 13;
14119 // op: imm
14120 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14121 Value |= (op & 0x7) << 5;
14122 // op: Zd
14123 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
14124 Value |= (op & 0x7) << 2;
14125 break;
14126 }
14127 case AArch64::MOVA_VG2_MXI2Z: {
14128 // op: Rs
14129 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14130 Value |= (op & 0x3) << 13;
14131 // op: imm
14132 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14133 Value |= (op & 0x7);
14134 // op: Zn
14135 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
14136 Value |= (op & 0xf) << 6;
14137 break;
14138 }
14139 case AArch64::MOVA_VG4_MXI4Z: {
14140 // op: Rs
14141 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14142 Value |= (op & 0x3) << 13;
14143 // op: imm
14144 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14145 Value |= (op & 0x7);
14146 // op: Zn
14147 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14148 Value |= (op & 0x7) << 7;
14149 break;
14150 }
14151 case AArch64::MOVAZ_VG2_2ZMXI: {
14152 // op: Rs
14153 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 3, Fixups, STI);
14154 Value |= (op & 0x3) << 13;
14155 // op: imm
14156 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14157 Value |= (op & 0x7) << 5;
14158 // op: Zd
14159 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
14160 Value |= (op & 0xf) << 1;
14161 break;
14162 }
14163 case AArch64::MOVAZ_VG4_4ZMXI: {
14164 // op: Rs
14165 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 3, Fixups, STI);
14166 Value |= (op & 0x3) << 13;
14167 // op: imm
14168 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14169 Value |= (op & 0x7) << 5;
14170 // op: Zd
14171 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
14172 Value |= (op & 0x7) << 2;
14173 break;
14174 }
14175 case AArch64::STBFADD:
14176 case AArch64::STBFADDL:
14177 case AArch64::STBFMAX:
14178 case AArch64::STBFMAXL:
14179 case AArch64::STBFMAXNM:
14180 case AArch64::STBFMAXNML:
14181 case AArch64::STBFMIN:
14182 case AArch64::STBFMINL:
14183 case AArch64::STBFMINNM:
14184 case AArch64::STBFMINNML:
14185 case AArch64::STFADDD:
14186 case AArch64::STFADDH:
14187 case AArch64::STFADDLD:
14188 case AArch64::STFADDLH:
14189 case AArch64::STFADDLS:
14190 case AArch64::STFADDS:
14191 case AArch64::STFMAXD:
14192 case AArch64::STFMAXH:
14193 case AArch64::STFMAXLD:
14194 case AArch64::STFMAXLH:
14195 case AArch64::STFMAXLS:
14196 case AArch64::STFMAXNMD:
14197 case AArch64::STFMAXNMH:
14198 case AArch64::STFMAXNMLD:
14199 case AArch64::STFMAXNMLH:
14200 case AArch64::STFMAXNMLS:
14201 case AArch64::STFMAXNMS:
14202 case AArch64::STFMAXS:
14203 case AArch64::STFMIND:
14204 case AArch64::STFMINH:
14205 case AArch64::STFMINLD:
14206 case AArch64::STFMINLH:
14207 case AArch64::STFMINLS:
14208 case AArch64::STFMINNMD:
14209 case AArch64::STFMINNMH:
14210 case AArch64::STFMINNMLD:
14211 case AArch64::STFMINNMLH:
14212 case AArch64::STFMINNMLS:
14213 case AArch64::STFMINNMS:
14214 case AArch64::STFMINS: {
14215 // op: Rs
14216 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14217 Value |= (op & 0x1f) << 16;
14218 // op: Rn
14219 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14220 Value |= (op & 0x1f) << 5;
14221 break;
14222 }
14223 case AArch64::LDADDAB:
14224 case AArch64::LDADDAH:
14225 case AArch64::LDADDALB:
14226 case AArch64::LDADDALH:
14227 case AArch64::LDADDALW:
14228 case AArch64::LDADDALX:
14229 case AArch64::LDADDAW:
14230 case AArch64::LDADDAX:
14231 case AArch64::LDADDB:
14232 case AArch64::LDADDH:
14233 case AArch64::LDADDLB:
14234 case AArch64::LDADDLH:
14235 case AArch64::LDADDLW:
14236 case AArch64::LDADDLX:
14237 case AArch64::LDADDW:
14238 case AArch64::LDADDX:
14239 case AArch64::LDCLRAB:
14240 case AArch64::LDCLRAH:
14241 case AArch64::LDCLRALB:
14242 case AArch64::LDCLRALH:
14243 case AArch64::LDCLRALW:
14244 case AArch64::LDCLRALX:
14245 case AArch64::LDCLRAW:
14246 case AArch64::LDCLRAX:
14247 case AArch64::LDCLRB:
14248 case AArch64::LDCLRH:
14249 case AArch64::LDCLRLB:
14250 case AArch64::LDCLRLH:
14251 case AArch64::LDCLRLW:
14252 case AArch64::LDCLRLX:
14253 case AArch64::LDCLRW:
14254 case AArch64::LDCLRX:
14255 case AArch64::LDEORAB:
14256 case AArch64::LDEORAH:
14257 case AArch64::LDEORALB:
14258 case AArch64::LDEORALH:
14259 case AArch64::LDEORALW:
14260 case AArch64::LDEORALX:
14261 case AArch64::LDEORAW:
14262 case AArch64::LDEORAX:
14263 case AArch64::LDEORB:
14264 case AArch64::LDEORH:
14265 case AArch64::LDEORLB:
14266 case AArch64::LDEORLH:
14267 case AArch64::LDEORLW:
14268 case AArch64::LDEORLX:
14269 case AArch64::LDEORW:
14270 case AArch64::LDEORX:
14271 case AArch64::LDSETAB:
14272 case AArch64::LDSETAH:
14273 case AArch64::LDSETALB:
14274 case AArch64::LDSETALH:
14275 case AArch64::LDSETALW:
14276 case AArch64::LDSETALX:
14277 case AArch64::LDSETAW:
14278 case AArch64::LDSETAX:
14279 case AArch64::LDSETB:
14280 case AArch64::LDSETH:
14281 case AArch64::LDSETLB:
14282 case AArch64::LDSETLH:
14283 case AArch64::LDSETLW:
14284 case AArch64::LDSETLX:
14285 case AArch64::LDSETW:
14286 case AArch64::LDSETX:
14287 case AArch64::LDSMAXAB:
14288 case AArch64::LDSMAXAH:
14289 case AArch64::LDSMAXALB:
14290 case AArch64::LDSMAXALH:
14291 case AArch64::LDSMAXALW:
14292 case AArch64::LDSMAXALX:
14293 case AArch64::LDSMAXAW:
14294 case AArch64::LDSMAXAX:
14295 case AArch64::LDSMAXB:
14296 case AArch64::LDSMAXH:
14297 case AArch64::LDSMAXLB:
14298 case AArch64::LDSMAXLH:
14299 case AArch64::LDSMAXLW:
14300 case AArch64::LDSMAXLX:
14301 case AArch64::LDSMAXW:
14302 case AArch64::LDSMAXX:
14303 case AArch64::LDSMINAB:
14304 case AArch64::LDSMINAH:
14305 case AArch64::LDSMINALB:
14306 case AArch64::LDSMINALH:
14307 case AArch64::LDSMINALW:
14308 case AArch64::LDSMINALX:
14309 case AArch64::LDSMINAW:
14310 case AArch64::LDSMINAX:
14311 case AArch64::LDSMINB:
14312 case AArch64::LDSMINH:
14313 case AArch64::LDSMINLB:
14314 case AArch64::LDSMINLH:
14315 case AArch64::LDSMINLW:
14316 case AArch64::LDSMINLX:
14317 case AArch64::LDSMINW:
14318 case AArch64::LDSMINX:
14319 case AArch64::LDTADDALW:
14320 case AArch64::LDTADDALX:
14321 case AArch64::LDTADDAW:
14322 case AArch64::LDTADDAX:
14323 case AArch64::LDTADDLW:
14324 case AArch64::LDTADDLX:
14325 case AArch64::LDTADDW:
14326 case AArch64::LDTADDX:
14327 case AArch64::LDTCLRALW:
14328 case AArch64::LDTCLRALX:
14329 case AArch64::LDTCLRAW:
14330 case AArch64::LDTCLRAX:
14331 case AArch64::LDTCLRLW:
14332 case AArch64::LDTCLRLX:
14333 case AArch64::LDTCLRW:
14334 case AArch64::LDTCLRX:
14335 case AArch64::LDTSETALW:
14336 case AArch64::LDTSETALX:
14337 case AArch64::LDTSETAW:
14338 case AArch64::LDTSETAX:
14339 case AArch64::LDTSETLW:
14340 case AArch64::LDTSETLX:
14341 case AArch64::LDTSETW:
14342 case AArch64::LDTSETX:
14343 case AArch64::LDUMAXAB:
14344 case AArch64::LDUMAXAH:
14345 case AArch64::LDUMAXALB:
14346 case AArch64::LDUMAXALH:
14347 case AArch64::LDUMAXALW:
14348 case AArch64::LDUMAXALX:
14349 case AArch64::LDUMAXAW:
14350 case AArch64::LDUMAXAX:
14351 case AArch64::LDUMAXB:
14352 case AArch64::LDUMAXH:
14353 case AArch64::LDUMAXLB:
14354 case AArch64::LDUMAXLH:
14355 case AArch64::LDUMAXLW:
14356 case AArch64::LDUMAXLX:
14357 case AArch64::LDUMAXW:
14358 case AArch64::LDUMAXX:
14359 case AArch64::LDUMINAB:
14360 case AArch64::LDUMINAH:
14361 case AArch64::LDUMINALB:
14362 case AArch64::LDUMINALH:
14363 case AArch64::LDUMINALW:
14364 case AArch64::LDUMINALX:
14365 case AArch64::LDUMINAW:
14366 case AArch64::LDUMINAX:
14367 case AArch64::LDUMINB:
14368 case AArch64::LDUMINH:
14369 case AArch64::LDUMINLB:
14370 case AArch64::LDUMINLH:
14371 case AArch64::LDUMINLW:
14372 case AArch64::LDUMINLX:
14373 case AArch64::LDUMINW:
14374 case AArch64::LDUMINX:
14375 case AArch64::RCWCLR:
14376 case AArch64::RCWCLRA:
14377 case AArch64::RCWCLRAL:
14378 case AArch64::RCWCLRL:
14379 case AArch64::RCWCLRS:
14380 case AArch64::RCWCLRSA:
14381 case AArch64::RCWCLRSAL:
14382 case AArch64::RCWCLRSL:
14383 case AArch64::RCWSET:
14384 case AArch64::RCWSETA:
14385 case AArch64::RCWSETAL:
14386 case AArch64::RCWSETL:
14387 case AArch64::RCWSETS:
14388 case AArch64::RCWSETSA:
14389 case AArch64::RCWSETSAL:
14390 case AArch64::RCWSETSL:
14391 case AArch64::RCWSWP:
14392 case AArch64::RCWSWPA:
14393 case AArch64::RCWSWPAL:
14394 case AArch64::RCWSWPL:
14395 case AArch64::RCWSWPS:
14396 case AArch64::RCWSWPSA:
14397 case AArch64::RCWSWPSAL:
14398 case AArch64::RCWSWPSL:
14399 case AArch64::SWPAB:
14400 case AArch64::SWPAH:
14401 case AArch64::SWPALB:
14402 case AArch64::SWPALH:
14403 case AArch64::SWPALW:
14404 case AArch64::SWPALX:
14405 case AArch64::SWPAW:
14406 case AArch64::SWPAX:
14407 case AArch64::SWPB:
14408 case AArch64::SWPH:
14409 case AArch64::SWPLB:
14410 case AArch64::SWPLH:
14411 case AArch64::SWPLW:
14412 case AArch64::SWPLX:
14413 case AArch64::SWPTALW:
14414 case AArch64::SWPTALX:
14415 case AArch64::SWPTAW:
14416 case AArch64::SWPTAX:
14417 case AArch64::SWPTLW:
14418 case AArch64::SWPTLX:
14419 case AArch64::SWPTW:
14420 case AArch64::SWPTX:
14421 case AArch64::SWPW:
14422 case AArch64::SWPX: {
14423 // op: Rs
14424 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14425 Value |= (op & 0x1f) << 16;
14426 // op: Rn
14427 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14428 Value |= (op & 0x1f) << 5;
14429 // op: Rt
14430 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14431 Value |= (op & 0x1f);
14432 break;
14433 }
14434 case AArch64::CASAB:
14435 case AArch64::CASAH:
14436 case AArch64::CASALB:
14437 case AArch64::CASALH:
14438 case AArch64::CASALTX:
14439 case AArch64::CASALW:
14440 case AArch64::CASALX:
14441 case AArch64::CASATX:
14442 case AArch64::CASAW:
14443 case AArch64::CASAX:
14444 case AArch64::CASB:
14445 case AArch64::CASH:
14446 case AArch64::CASLB:
14447 case AArch64::CASLH:
14448 case AArch64::CASLTX:
14449 case AArch64::CASLW:
14450 case AArch64::CASLX:
14451 case AArch64::CASPALTX:
14452 case AArch64::CASPALW:
14453 case AArch64::CASPALX:
14454 case AArch64::CASPATX:
14455 case AArch64::CASPAW:
14456 case AArch64::CASPAX:
14457 case AArch64::CASPLTX:
14458 case AArch64::CASPLW:
14459 case AArch64::CASPLX:
14460 case AArch64::CASPTX:
14461 case AArch64::CASPW:
14462 case AArch64::CASPX:
14463 case AArch64::CASTX:
14464 case AArch64::CASW:
14465 case AArch64::CASX:
14466 case AArch64::RCWCAS:
14467 case AArch64::RCWCASA:
14468 case AArch64::RCWCASAL:
14469 case AArch64::RCWCASL:
14470 case AArch64::RCWCASP:
14471 case AArch64::RCWCASPA:
14472 case AArch64::RCWCASPAL:
14473 case AArch64::RCWCASPL:
14474 case AArch64::RCWSCAS:
14475 case AArch64::RCWSCASA:
14476 case AArch64::RCWSCASAL:
14477 case AArch64::RCWSCASL:
14478 case AArch64::RCWSCASP:
14479 case AArch64::RCWSCASPA:
14480 case AArch64::RCWSCASPAL:
14481 case AArch64::RCWSCASPL: {
14482 // op: Rs
14483 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14484 Value |= (op & 0x1f) << 16;
14485 // op: Rn
14486 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14487 Value |= (op & 0x1f) << 5;
14488 // op: Rt
14489 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14490 Value |= (op & 0x1f);
14491 break;
14492 }
14493 case AArch64::GCSPOPM:
14494 case AArch64::GCSPUSHM:
14495 case AArch64::GCSSS1:
14496 case AArch64::GCSSS2:
14497 case AArch64::TRCIT:
14498 case AArch64::WFET:
14499 case AArch64::WFIT: {
14500 // op: Rt
14501 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14502 Value |= (op & 0x1f);
14503 break;
14504 }
14505 case AArch64::GCSSTR:
14506 case AArch64::GCSSTTR:
14507 case AArch64::LD64B:
14508 case AArch64::ST64B: {
14509 // op: Rt
14510 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14511 Value |= (op & 0x1f);
14512 // op: Rn
14513 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14514 Value |= (op & 0x1f) << 5;
14515 break;
14516 }
14517 case AArch64::LDRBBroW:
14518 case AArch64::LDRBBroX:
14519 case AArch64::LDRBroW:
14520 case AArch64::LDRBroX:
14521 case AArch64::LDRDroW:
14522 case AArch64::LDRDroX:
14523 case AArch64::LDRHHroW:
14524 case AArch64::LDRHHroX:
14525 case AArch64::LDRHroW:
14526 case AArch64::LDRHroX:
14527 case AArch64::LDRQroW:
14528 case AArch64::LDRQroX:
14529 case AArch64::LDRSBWroW:
14530 case AArch64::LDRSBWroX:
14531 case AArch64::LDRSBXroW:
14532 case AArch64::LDRSBXroX:
14533 case AArch64::LDRSHWroW:
14534 case AArch64::LDRSHWroX:
14535 case AArch64::LDRSHXroW:
14536 case AArch64::LDRSHXroX:
14537 case AArch64::LDRSWroW:
14538 case AArch64::LDRSWroX:
14539 case AArch64::LDRSroW:
14540 case AArch64::LDRSroX:
14541 case AArch64::LDRWroW:
14542 case AArch64::LDRWroX:
14543 case AArch64::LDRXroW:
14544 case AArch64::LDRXroX:
14545 case AArch64::PRFMroW:
14546 case AArch64::PRFMroX:
14547 case AArch64::STRBBroW:
14548 case AArch64::STRBBroX:
14549 case AArch64::STRBroW:
14550 case AArch64::STRBroX:
14551 case AArch64::STRDroW:
14552 case AArch64::STRDroX:
14553 case AArch64::STRHHroW:
14554 case AArch64::STRHHroX:
14555 case AArch64::STRHroW:
14556 case AArch64::STRHroX:
14557 case AArch64::STRQroW:
14558 case AArch64::STRQroX:
14559 case AArch64::STRSroW:
14560 case AArch64::STRSroX:
14561 case AArch64::STRWroW:
14562 case AArch64::STRWroX:
14563 case AArch64::STRXroW:
14564 case AArch64::STRXroX: {
14565 // op: Rt
14566 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14567 Value |= (op & 0x1f);
14568 // op: Rn
14569 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14570 Value |= (op & 0x1f) << 5;
14571 // op: Rm
14572 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14573 Value |= (op & 0x1f) << 16;
14574 // op: extend
14575 op = getMemExtendOpValue(MI, OpIdx: 3, Fixups, STI);
14576 Value |= (op & 0x2) << 14;
14577 Value |= (op & 0x1) << 12;
14578 break;
14579 }
14580 case AArch64::LDRQui:
14581 case AArch64::STRQui: {
14582 // op: Rt
14583 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14584 Value |= (op & 0x1f);
14585 // op: Rn
14586 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14587 Value |= (op & 0x1f) << 5;
14588 // op: offset
14589 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale16>(MI, OpIdx: 2, Fixups, STI);
14590 Value |= (op & 0xfff) << 10;
14591 break;
14592 }
14593 case AArch64::LDRBBui:
14594 case AArch64::LDRBui:
14595 case AArch64::LDRSBWui:
14596 case AArch64::LDRSBXui:
14597 case AArch64::STRBBui:
14598 case AArch64::STRBui: {
14599 // op: Rt
14600 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14601 Value |= (op & 0x1f);
14602 // op: Rn
14603 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14604 Value |= (op & 0x1f) << 5;
14605 // op: offset
14606 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale1>(MI, OpIdx: 2, Fixups, STI);
14607 Value |= (op & 0xfff) << 10;
14608 break;
14609 }
14610 case AArch64::LDRHHui:
14611 case AArch64::LDRHui:
14612 case AArch64::LDRSHWui:
14613 case AArch64::LDRSHXui:
14614 case AArch64::STRHHui:
14615 case AArch64::STRHui: {
14616 // op: Rt
14617 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14618 Value |= (op & 0x1f);
14619 // op: Rn
14620 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14621 Value |= (op & 0x1f) << 5;
14622 // op: offset
14623 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale2>(MI, OpIdx: 2, Fixups, STI);
14624 Value |= (op & 0xfff) << 10;
14625 break;
14626 }
14627 case AArch64::LDRSWui:
14628 case AArch64::LDRSui:
14629 case AArch64::LDRWui:
14630 case AArch64::STRSui:
14631 case AArch64::STRWui: {
14632 // op: Rt
14633 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14634 Value |= (op & 0x1f);
14635 // op: Rn
14636 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14637 Value |= (op & 0x1f) << 5;
14638 // op: offset
14639 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale4>(MI, OpIdx: 2, Fixups, STI);
14640 Value |= (op & 0xfff) << 10;
14641 break;
14642 }
14643 case AArch64::LDRDui:
14644 case AArch64::LDRXui:
14645 case AArch64::PRFMui:
14646 case AArch64::STRDui:
14647 case AArch64::STRXui: {
14648 // op: Rt
14649 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14650 Value |= (op & 0x1f);
14651 // op: Rn
14652 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14653 Value |= (op & 0x1f) << 5;
14654 // op: offset
14655 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale8>(MI, OpIdx: 2, Fixups, STI);
14656 Value |= (op & 0xfff) << 10;
14657 break;
14658 }
14659 case AArch64::LDAPURBi:
14660 case AArch64::LDAPURHi:
14661 case AArch64::LDAPURSBWi:
14662 case AArch64::LDAPURSBXi:
14663 case AArch64::LDAPURSHWi:
14664 case AArch64::LDAPURSHXi:
14665 case AArch64::LDAPURSWi:
14666 case AArch64::LDAPURXi:
14667 case AArch64::LDAPURi:
14668 case AArch64::LDTRBi:
14669 case AArch64::LDTRHi:
14670 case AArch64::LDTRSBWi:
14671 case AArch64::LDTRSBXi:
14672 case AArch64::LDTRSHWi:
14673 case AArch64::LDTRSHXi:
14674 case AArch64::LDTRSWi:
14675 case AArch64::LDTRWi:
14676 case AArch64::LDTRXi:
14677 case AArch64::LDURBBi:
14678 case AArch64::LDURBi:
14679 case AArch64::LDURDi:
14680 case AArch64::LDURHHi:
14681 case AArch64::LDURHi:
14682 case AArch64::LDURQi:
14683 case AArch64::LDURSBWi:
14684 case AArch64::LDURSBXi:
14685 case AArch64::LDURSHWi:
14686 case AArch64::LDURSHXi:
14687 case AArch64::LDURSWi:
14688 case AArch64::LDURSi:
14689 case AArch64::LDURWi:
14690 case AArch64::LDURXi:
14691 case AArch64::PRFUMi:
14692 case AArch64::STLURBi:
14693 case AArch64::STLURHi:
14694 case AArch64::STLURWi:
14695 case AArch64::STLURXi:
14696 case AArch64::STTRBi:
14697 case AArch64::STTRHi:
14698 case AArch64::STTRWi:
14699 case AArch64::STTRXi:
14700 case AArch64::STURBBi:
14701 case AArch64::STURBi:
14702 case AArch64::STURDi:
14703 case AArch64::STURHHi:
14704 case AArch64::STURHi:
14705 case AArch64::STURQi:
14706 case AArch64::STURSi:
14707 case AArch64::STURWi:
14708 case AArch64::STURXi: {
14709 // op: Rt
14710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14711 Value |= (op & 0x1f);
14712 // op: Rn
14713 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14714 Value |= (op & 0x1f) << 5;
14715 // op: offset
14716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14717 Value |= (op & 0x1ff) << 12;
14718 break;
14719 }
14720 case AArch64::LDAPURbi:
14721 case AArch64::LDAPURdi:
14722 case AArch64::LDAPURhi:
14723 case AArch64::LDAPURqi:
14724 case AArch64::LDAPURsi:
14725 case AArch64::STLURbi:
14726 case AArch64::STLURdi:
14727 case AArch64::STLURhi:
14728 case AArch64::STLURqi:
14729 case AArch64::STLURsi: {
14730 // op: Rt
14731 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14732 Value |= (op & 0x1f);
14733 // op: Rn
14734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14735 Value |= (op & 0x1f) << 5;
14736 // op: simm
14737 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14738 Value |= (op & 0x1ff) << 12;
14739 break;
14740 }
14741 case AArch64::LDARB:
14742 case AArch64::LDARH:
14743 case AArch64::LDARW:
14744 case AArch64::LDARX:
14745 case AArch64::LDATXRW:
14746 case AArch64::LDATXRX:
14747 case AArch64::LDAXRB:
14748 case AArch64::LDAXRH:
14749 case AArch64::LDAXRW:
14750 case AArch64::LDAXRX:
14751 case AArch64::LDLARB:
14752 case AArch64::LDLARH:
14753 case AArch64::LDLARW:
14754 case AArch64::LDLARX:
14755 case AArch64::LDTXRWr:
14756 case AArch64::LDTXRXr:
14757 case AArch64::LDXRB:
14758 case AArch64::LDXRH:
14759 case AArch64::LDXRW:
14760 case AArch64::LDXRX:
14761 case AArch64::STLLRB:
14762 case AArch64::STLLRH:
14763 case AArch64::STLLRW:
14764 case AArch64::STLLRX:
14765 case AArch64::STLRB:
14766 case AArch64::STLRH:
14767 case AArch64::STLRW:
14768 case AArch64::STLRX: {
14769 // op: Rt
14770 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14771 Value |= (op & 0x1f);
14772 // op: Rn
14773 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14774 Value |= (op & 0x1f) << 5;
14775 Value = fixLoadStoreExclusive<0,0>(MI, EncodedValue: Value, STI);
14776 break;
14777 }
14778 case AArch64::LDIAPPW:
14779 case AArch64::LDIAPPX:
14780 case AArch64::STILPW:
14781 case AArch64::STILPX: {
14782 // op: Rt
14783 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14784 Value |= (op & 0x1f);
14785 // op: Rn
14786 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14787 Value |= (op & 0x1f) << 5;
14788 // op: Rt2
14789 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14790 Value |= (op & 0x1f) << 16;
14791 break;
14792 }
14793 case AArch64::LDBFADD:
14794 case AArch64::LDBFADDA:
14795 case AArch64::LDBFADDAL:
14796 case AArch64::LDBFADDL:
14797 case AArch64::LDBFMAX:
14798 case AArch64::LDBFMAXA:
14799 case AArch64::LDBFMAXAL:
14800 case AArch64::LDBFMAXL:
14801 case AArch64::LDBFMAXNM:
14802 case AArch64::LDBFMAXNMA:
14803 case AArch64::LDBFMAXNMAL:
14804 case AArch64::LDBFMAXNML:
14805 case AArch64::LDBFMIN:
14806 case AArch64::LDBFMINA:
14807 case AArch64::LDBFMINAL:
14808 case AArch64::LDBFMINL:
14809 case AArch64::LDBFMINNM:
14810 case AArch64::LDBFMINNMA:
14811 case AArch64::LDBFMINNMAL:
14812 case AArch64::LDBFMINNML:
14813 case AArch64::LDFADDAD:
14814 case AArch64::LDFADDAH:
14815 case AArch64::LDFADDALD:
14816 case AArch64::LDFADDALH:
14817 case AArch64::LDFADDALS:
14818 case AArch64::LDFADDAS:
14819 case AArch64::LDFADDD:
14820 case AArch64::LDFADDH:
14821 case AArch64::LDFADDLD:
14822 case AArch64::LDFADDLH:
14823 case AArch64::LDFADDLS:
14824 case AArch64::LDFADDS:
14825 case AArch64::LDFMAXAD:
14826 case AArch64::LDFMAXAH:
14827 case AArch64::LDFMAXALD:
14828 case AArch64::LDFMAXALH:
14829 case AArch64::LDFMAXALS:
14830 case AArch64::LDFMAXAS:
14831 case AArch64::LDFMAXD:
14832 case AArch64::LDFMAXH:
14833 case AArch64::LDFMAXLD:
14834 case AArch64::LDFMAXLH:
14835 case AArch64::LDFMAXLS:
14836 case AArch64::LDFMAXNMAD:
14837 case AArch64::LDFMAXNMAH:
14838 case AArch64::LDFMAXNMALD:
14839 case AArch64::LDFMAXNMALH:
14840 case AArch64::LDFMAXNMALS:
14841 case AArch64::LDFMAXNMAS:
14842 case AArch64::LDFMAXNMD:
14843 case AArch64::LDFMAXNMH:
14844 case AArch64::LDFMAXNMLD:
14845 case AArch64::LDFMAXNMLH:
14846 case AArch64::LDFMAXNMLS:
14847 case AArch64::LDFMAXNMS:
14848 case AArch64::LDFMAXS:
14849 case AArch64::LDFMINAD:
14850 case AArch64::LDFMINAH:
14851 case AArch64::LDFMINALD:
14852 case AArch64::LDFMINALH:
14853 case AArch64::LDFMINALS:
14854 case AArch64::LDFMINAS:
14855 case AArch64::LDFMIND:
14856 case AArch64::LDFMINH:
14857 case AArch64::LDFMINLD:
14858 case AArch64::LDFMINLH:
14859 case AArch64::LDFMINLS:
14860 case AArch64::LDFMINNMAD:
14861 case AArch64::LDFMINNMAH:
14862 case AArch64::LDFMINNMALD:
14863 case AArch64::LDFMINNMALH:
14864 case AArch64::LDFMINNMALS:
14865 case AArch64::LDFMINNMAS:
14866 case AArch64::LDFMINNMD:
14867 case AArch64::LDFMINNMH:
14868 case AArch64::LDFMINNMLD:
14869 case AArch64::LDFMINNMLH:
14870 case AArch64::LDFMINNMLS:
14871 case AArch64::LDFMINNMS:
14872 case AArch64::LDFMINS: {
14873 // op: Rt
14874 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14875 Value |= (op & 0x1f);
14876 // op: Rs
14877 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14878 Value |= (op & 0x1f) << 16;
14879 // op: Rn
14880 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14881 Value |= (op & 0x1f) << 5;
14882 break;
14883 }
14884 case AArch64::LDNPDi:
14885 case AArch64::LDNPQi:
14886 case AArch64::LDNPSi:
14887 case AArch64::LDNPWi:
14888 case AArch64::LDNPXi:
14889 case AArch64::LDPDi:
14890 case AArch64::LDPQi:
14891 case AArch64::LDPSWi:
14892 case AArch64::LDPSi:
14893 case AArch64::LDPWi:
14894 case AArch64::LDPXi:
14895 case AArch64::LDTNPQi:
14896 case AArch64::LDTNPXi:
14897 case AArch64::LDTPQi:
14898 case AArch64::LDTPi:
14899 case AArch64::STGPi:
14900 case AArch64::STNPDi:
14901 case AArch64::STNPQi:
14902 case AArch64::STNPSi:
14903 case AArch64::STNPWi:
14904 case AArch64::STNPXi:
14905 case AArch64::STPDi:
14906 case AArch64::STPQi:
14907 case AArch64::STPSi:
14908 case AArch64::STPWi:
14909 case AArch64::STPXi:
14910 case AArch64::STTNPQi:
14911 case AArch64::STTNPXi:
14912 case AArch64::STTPQi:
14913 case AArch64::STTPi: {
14914 // op: Rt
14915 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14916 Value |= (op & 0x1f);
14917 // op: Rt2
14918 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14919 Value |= (op & 0x1f) << 10;
14920 // op: Rn
14921 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14922 Value |= (op & 0x1f) << 5;
14923 // op: offset
14924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14925 Value |= (op & 0x7f) << 15;
14926 break;
14927 }
14928 case AArch64::LDAXPW:
14929 case AArch64::LDAXPX:
14930 case AArch64::LDXPW:
14931 case AArch64::LDXPX: {
14932 // op: Rt
14933 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14934 Value |= (op & 0x1f);
14935 // op: Rt2
14936 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14937 Value |= (op & 0x1f) << 10;
14938 // op: Rn
14939 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14940 Value |= (op & 0x1f) << 5;
14941 Value = fixLoadStoreExclusive<0,1>(MI, EncodedValue: Value, STI);
14942 break;
14943 }
14944 case AArch64::LDAPPi:
14945 case AArch64::LDAPi:
14946 case AArch64::STLPi: {
14947 // op: Rt
14948 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14949 Value |= (op & 0x1f);
14950 // op: Rt2
14951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14952 Value |= (op & 0x1f) << 16;
14953 // op: Rn
14954 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14955 Value |= (op & 0x1f) << 5;
14956 break;
14957 }
14958 case AArch64::TBNZW:
14959 case AArch64::TBNZX:
14960 case AArch64::TBZW:
14961 case AArch64::TBZX: {
14962 // op: Rt
14963 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14964 Value |= (op & 0x1f);
14965 // op: bit_off
14966 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14967 Value |= (op & 0x1f) << 19;
14968 // op: target
14969 op = getTestBranchTargetOpValue(MI, OpIdx: 2, Fixups, STI);
14970 Value |= (op & 0x3fff) << 5;
14971 break;
14972 }
14973 case AArch64::CBEQWri:
14974 case AArch64::CBEQXri:
14975 case AArch64::CBGTWri:
14976 case AArch64::CBGTXri:
14977 case AArch64::CBHIWri:
14978 case AArch64::CBHIXri:
14979 case AArch64::CBLOWri:
14980 case AArch64::CBLOXri:
14981 case AArch64::CBLTWri:
14982 case AArch64::CBLTXri:
14983 case AArch64::CBNEWri:
14984 case AArch64::CBNEXri: {
14985 // op: Rt
14986 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14987 Value |= (op & 0x1f);
14988 // op: imm
14989 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14990 Value |= (op & 0x3f) << 15;
14991 // op: target
14992 op = getCondCompBranchTargetOpValue(MI, OpIdx: 2, Fixups, STI);
14993 Value |= (op & 0x1ff) << 5;
14994 break;
14995 }
14996 case AArch64::LDRDl:
14997 case AArch64::LDRQl:
14998 case AArch64::LDRSWl:
14999 case AArch64::LDRSl:
15000 case AArch64::LDRWl:
15001 case AArch64::LDRXl:
15002 case AArch64::PRFMl: {
15003 // op: Rt
15004 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15005 Value |= (op & 0x1f);
15006 // op: label
15007 op = getLoadLiteralOpValue(MI, OpIdx: 1, Fixups, STI);
15008 Value |= (op & 0x7ffff) << 5;
15009 break;
15010 }
15011 case AArch64::SYSLxt: {
15012 // op: Rt
15013 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15014 Value |= (op & 0x1f);
15015 // op: op1
15016 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15017 Value |= (op & 0x7) << 16;
15018 // op: Cn
15019 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15020 Value |= (op & 0xf) << 12;
15021 // op: Cm
15022 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15023 Value |= (op & 0xf) << 8;
15024 // op: op2
15025 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15026 Value |= (op & 0x7) << 5;
15027 break;
15028 }
15029 case AArch64::MRRS:
15030 case AArch64::MRS: {
15031 // op: Rt
15032 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15033 Value |= (op & 0x1f);
15034 // op: systemreg
15035 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15036 Value |= (op & 0xffff) << 5;
15037 break;
15038 }
15039 case AArch64::CBNZW:
15040 case AArch64::CBNZX:
15041 case AArch64::CBZW:
15042 case AArch64::CBZX: {
15043 // op: Rt
15044 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15045 Value |= (op & 0x1f);
15046 // op: target
15047 op = getCondBranchTargetOpValue(MI, OpIdx: 1, Fixups, STI);
15048 Value |= (op & 0x7ffff) << 5;
15049 break;
15050 }
15051 case AArch64::RPRFM: {
15052 // op: Rt
15053 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15054 Value |= (op & 0x20) << 10;
15055 Value |= (op & 0x18) << 9;
15056 Value |= (op & 0x7);
15057 // op: Rn
15058 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15059 Value |= (op & 0x1f) << 5;
15060 // op: Rm
15061 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15062 Value |= (op & 0x1f) << 16;
15063 break;
15064 }
15065 case AArch64::LDAPRWpost:
15066 case AArch64::LDAPRXpost:
15067 case AArch64::STLRWpre:
15068 case AArch64::STLRXpre: {
15069 // op: Rt
15070 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15071 Value |= (op & 0x1f);
15072 // op: Rn
15073 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15074 Value |= (op & 0x1f) << 5;
15075 break;
15076 }
15077 case AArch64::ST64BV:
15078 case AArch64::ST64BV0: {
15079 // op: Rt
15080 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15081 Value |= (op & 0x1f);
15082 // op: Rn
15083 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15084 Value |= (op & 0x1f) << 5;
15085 // op: Rs
15086 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15087 Value |= (op & 0x1f) << 16;
15088 break;
15089 }
15090 case AArch64::STTXRWr:
15091 case AArch64::STTXRXr: {
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 // op: Ws
15099 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15100 Value |= (op & 0x1f) << 16;
15101 Value = fixLoadStoreExclusive<1,0>(MI, EncodedValue: Value, STI);
15102 break;
15103 }
15104 case AArch64::LDRBBpost:
15105 case AArch64::LDRBBpre:
15106 case AArch64::LDRBpost:
15107 case AArch64::LDRBpre:
15108 case AArch64::LDRDpost:
15109 case AArch64::LDRDpre:
15110 case AArch64::LDRHHpost:
15111 case AArch64::LDRHHpre:
15112 case AArch64::LDRHpost:
15113 case AArch64::LDRHpre:
15114 case AArch64::LDRQpost:
15115 case AArch64::LDRQpre:
15116 case AArch64::LDRSBWpost:
15117 case AArch64::LDRSBWpre:
15118 case AArch64::LDRSBXpost:
15119 case AArch64::LDRSBXpre:
15120 case AArch64::LDRSHWpost:
15121 case AArch64::LDRSHWpre:
15122 case AArch64::LDRSHXpost:
15123 case AArch64::LDRSHXpre:
15124 case AArch64::LDRSWpost:
15125 case AArch64::LDRSWpre:
15126 case AArch64::LDRSpost:
15127 case AArch64::LDRSpre:
15128 case AArch64::LDRWpost:
15129 case AArch64::LDRWpre:
15130 case AArch64::LDRXpost:
15131 case AArch64::LDRXpre:
15132 case AArch64::STRBBpost:
15133 case AArch64::STRBBpre:
15134 case AArch64::STRBpost:
15135 case AArch64::STRBpre:
15136 case AArch64::STRDpost:
15137 case AArch64::STRDpre:
15138 case AArch64::STRHHpost:
15139 case AArch64::STRHHpre:
15140 case AArch64::STRHpost:
15141 case AArch64::STRHpre:
15142 case AArch64::STRQpost:
15143 case AArch64::STRQpre:
15144 case AArch64::STRSpost:
15145 case AArch64::STRSpre:
15146 case AArch64::STRWpost:
15147 case AArch64::STRWpre:
15148 case AArch64::STRXpost:
15149 case AArch64::STRXpre: {
15150 // op: Rt
15151 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15152 Value |= (op & 0x1f);
15153 // op: Rn
15154 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15155 Value |= (op & 0x1f) << 5;
15156 // op: offset
15157 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15158 Value |= (op & 0x1ff) << 12;
15159 break;
15160 }
15161 case AArch64::LDIAPPWpost:
15162 case AArch64::LDIAPPXpost:
15163 case AArch64::STILPWpre:
15164 case AArch64::STILPXpre: {
15165 // op: Rt
15166 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15167 Value |= (op & 0x1f);
15168 // op: Rn
15169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15170 Value |= (op & 0x1f) << 5;
15171 // op: Rt2
15172 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15173 Value |= (op & 0x1f) << 16;
15174 break;
15175 }
15176 case AArch64::LDPDpost:
15177 case AArch64::LDPDpre:
15178 case AArch64::LDPQpost:
15179 case AArch64::LDPQpre:
15180 case AArch64::LDPSWpost:
15181 case AArch64::LDPSWpre:
15182 case AArch64::LDPSpost:
15183 case AArch64::LDPSpre:
15184 case AArch64::LDPWpost:
15185 case AArch64::LDPWpre:
15186 case AArch64::LDPXpost:
15187 case AArch64::LDPXpre:
15188 case AArch64::LDTPQpost:
15189 case AArch64::LDTPQpre:
15190 case AArch64::LDTPpost:
15191 case AArch64::LDTPpre:
15192 case AArch64::STGPpost:
15193 case AArch64::STGPpre:
15194 case AArch64::STPDpost:
15195 case AArch64::STPDpre:
15196 case AArch64::STPQpost:
15197 case AArch64::STPQpre:
15198 case AArch64::STPSpost:
15199 case AArch64::STPSpre:
15200 case AArch64::STPWpost:
15201 case AArch64::STPWpre:
15202 case AArch64::STPXpost:
15203 case AArch64::STPXpre:
15204 case AArch64::STTPQpost:
15205 case AArch64::STTPQpre:
15206 case AArch64::STTPpost:
15207 case AArch64::STTPpre: {
15208 // op: Rt
15209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15210 Value |= (op & 0x1f);
15211 // op: Rt2
15212 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15213 Value |= (op & 0x1f) << 10;
15214 // op: Rn
15215 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15216 Value |= (op & 0x1f) << 5;
15217 // op: offset
15218 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15219 Value |= (op & 0x7f) << 15;
15220 break;
15221 }
15222 case AArch64::MSR:
15223 case AArch64::MSRR: {
15224 // op: Rt
15225 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15226 Value |= (op & 0x1f);
15227 // op: systemreg
15228 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15229 Value |= (op & 0xffff) << 5;
15230 break;
15231 }
15232 case AArch64::LDCLRP:
15233 case AArch64::LDCLRPA:
15234 case AArch64::LDCLRPAL:
15235 case AArch64::LDCLRPL:
15236 case AArch64::LDSETP:
15237 case AArch64::LDSETPA:
15238 case AArch64::LDSETPAL:
15239 case AArch64::LDSETPL:
15240 case AArch64::SWPP:
15241 case AArch64::SWPPA:
15242 case AArch64::SWPPAL:
15243 case AArch64::SWPPL: {
15244 // op: Rt
15245 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15246 Value |= (op & 0x1f);
15247 // op: Rt2
15248 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15249 Value |= (op & 0x1f) << 16;
15250 // op: Rn
15251 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15252 Value |= (op & 0x1f) << 5;
15253 break;
15254 }
15255 case AArch64::SYSPxt:
15256 case AArch64::SYSxt: {
15257 // op: Rt
15258 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15259 Value |= (op & 0x1f);
15260 // op: op1
15261 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15262 Value |= (op & 0x7) << 16;
15263 // op: Cn
15264 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15265 Value |= (op & 0xf) << 12;
15266 // op: Cm
15267 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15268 Value |= (op & 0xf) << 8;
15269 // op: op2
15270 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15271 Value |= (op & 0x7) << 5;
15272 break;
15273 }
15274 case AArch64::RCWCLRP:
15275 case AArch64::RCWCLRPA:
15276 case AArch64::RCWCLRPAL:
15277 case AArch64::RCWCLRPL:
15278 case AArch64::RCWCLRSP:
15279 case AArch64::RCWCLRSPA:
15280 case AArch64::RCWCLRSPAL:
15281 case AArch64::RCWCLRSPL:
15282 case AArch64::RCWSETP:
15283 case AArch64::RCWSETPA:
15284 case AArch64::RCWSETPAL:
15285 case AArch64::RCWSETPL:
15286 case AArch64::RCWSETSP:
15287 case AArch64::RCWSETSPA:
15288 case AArch64::RCWSETSPAL:
15289 case AArch64::RCWSETSPL:
15290 case AArch64::RCWSWPP:
15291 case AArch64::RCWSWPPA:
15292 case AArch64::RCWSWPPAL:
15293 case AArch64::RCWSWPPL:
15294 case AArch64::RCWSWPSP:
15295 case AArch64::RCWSWPSPA:
15296 case AArch64::RCWSWPSPAL:
15297 case AArch64::RCWSWPSPL: {
15298 // op: Rt2
15299 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15300 Value |= (op & 0x1f) << 16;
15301 // op: Rn
15302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15303 Value |= (op & 0x1f) << 5;
15304 // op: Rt
15305 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15306 Value |= (op & 0x1f);
15307 break;
15308 }
15309 case AArch64::LDR_ZA:
15310 case AArch64::STR_ZA: {
15311 // op: Rv
15312 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
15313 Value |= (op & 0x3) << 13;
15314 // op: Rn
15315 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15316 Value |= (op & 0x1f) << 5;
15317 // op: imm4
15318 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15319 Value |= (op & 0xf);
15320 break;
15321 }
15322 case AArch64::INSERT_MXIPZ_H_H:
15323 case AArch64::INSERT_MXIPZ_V_H: {
15324 // op: Rv
15325 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15326 Value |= (op & 0x3) << 13;
15327 // op: Pg
15328 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15329 Value |= (op & 0x7) << 10;
15330 // op: Zn
15331 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15332 Value |= (op & 0x1f) << 5;
15333 // op: ZAd
15334 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15335 Value |= (op & 0x1) << 3;
15336 // op: imm
15337 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15338 Value |= (op & 0x7);
15339 break;
15340 }
15341 case AArch64::INSERT_MXIPZ_H_S:
15342 case AArch64::INSERT_MXIPZ_V_S: {
15343 // op: Rv
15344 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15345 Value |= (op & 0x3) << 13;
15346 // op: Pg
15347 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15348 Value |= (op & 0x7) << 10;
15349 // op: Zn
15350 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15351 Value |= (op & 0x1f) << 5;
15352 // op: ZAd
15353 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15354 Value |= (op & 0x3) << 2;
15355 // op: imm
15356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15357 Value |= (op & 0x3);
15358 break;
15359 }
15360 case AArch64::INSERT_MXIPZ_H_D:
15361 case AArch64::INSERT_MXIPZ_V_D: {
15362 // op: Rv
15363 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15364 Value |= (op & 0x3) << 13;
15365 // op: Pg
15366 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15367 Value |= (op & 0x7) << 10;
15368 // op: Zn
15369 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15370 Value |= (op & 0x1f) << 5;
15371 // op: ZAd
15372 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15373 Value |= (op & 0x7) << 1;
15374 // op: imm
15375 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15376 Value |= (op & 0x1);
15377 break;
15378 }
15379 case AArch64::INSERT_MXIPZ_H_Q:
15380 case AArch64::INSERT_MXIPZ_V_Q: {
15381 // op: Rv
15382 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15383 Value |= (op & 0x3) << 13;
15384 // op: Pg
15385 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15386 Value |= (op & 0x7) << 10;
15387 // op: Zn
15388 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15389 Value |= (op & 0x1f) << 5;
15390 // op: ZAd
15391 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15392 Value |= (op & 0xf);
15393 break;
15394 }
15395 case AArch64::INSERT_MXIPZ_H_B:
15396 case AArch64::INSERT_MXIPZ_V_B: {
15397 // op: Rv
15398 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15399 Value |= (op & 0x3) << 13;
15400 // op: Pg
15401 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15402 Value |= (op & 0x7) << 10;
15403 // op: Zn
15404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15405 Value |= (op & 0x1f) << 5;
15406 // op: imm
15407 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15408 Value |= (op & 0xf);
15409 break;
15410 }
15411 case AArch64::PSEL_PPPRI_D: {
15412 // op: Rv
15413 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15414 Value |= (op & 0x3) << 16;
15415 // op: Pn
15416 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15417 Value |= (op & 0xf) << 10;
15418 // op: Pm
15419 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15420 Value |= (op & 0xf) << 5;
15421 // op: Pd
15422 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15423 Value |= (op & 0xf);
15424 // op: imm
15425 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15426 Value |= (op & 0x1) << 23;
15427 break;
15428 }
15429 case AArch64::PSEL_PPPRI_S: {
15430 // op: Rv
15431 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15432 Value |= (op & 0x3) << 16;
15433 // op: Pn
15434 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15435 Value |= (op & 0xf) << 10;
15436 // op: Pm
15437 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15438 Value |= (op & 0xf) << 5;
15439 // op: Pd
15440 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15441 Value |= (op & 0xf);
15442 // op: imm
15443 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15444 Value |= (op & 0x3) << 22;
15445 break;
15446 }
15447 case AArch64::PSEL_PPPRI_H: {
15448 // op: Rv
15449 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15450 Value |= (op & 0x3) << 16;
15451 // op: Pn
15452 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15453 Value |= (op & 0xf) << 10;
15454 // op: Pm
15455 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15456 Value |= (op & 0xf) << 5;
15457 // op: Pd
15458 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15459 Value |= (op & 0xf);
15460 // op: imm
15461 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15462 Value |= (op & 0x6) << 21;
15463 Value |= (op & 0x1) << 20;
15464 break;
15465 }
15466 case AArch64::PSEL_PPPRI_B: {
15467 // op: Rv
15468 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15469 Value |= (op & 0x3) << 16;
15470 // op: Pn
15471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15472 Value |= (op & 0xf) << 10;
15473 // op: Pm
15474 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15475 Value |= (op & 0xf) << 5;
15476 // op: Pd
15477 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15478 Value |= (op & 0xf);
15479 // op: imm
15480 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15481 Value |= (op & 0xc) << 20;
15482 Value |= (op & 0x3) << 19;
15483 break;
15484 }
15485 case AArch64::EXTRACT_ZPMXI_H_H:
15486 case AArch64::EXTRACT_ZPMXI_V_H: {
15487 // op: Rv
15488 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15489 Value |= (op & 0x3) << 13;
15490 // op: Pg
15491 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15492 Value |= (op & 0x7) << 10;
15493 // op: Zd
15494 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15495 Value |= (op & 0x1f);
15496 // op: ZAn
15497 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15498 Value |= (op & 0x1) << 8;
15499 // op: imm
15500 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15501 Value |= (op & 0x7) << 5;
15502 break;
15503 }
15504 case AArch64::EXTRACT_ZPMXI_H_S:
15505 case AArch64::EXTRACT_ZPMXI_V_S: {
15506 // op: Rv
15507 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15508 Value |= (op & 0x3) << 13;
15509 // op: Pg
15510 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15511 Value |= (op & 0x7) << 10;
15512 // op: Zd
15513 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15514 Value |= (op & 0x1f);
15515 // op: ZAn
15516 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15517 Value |= (op & 0x3) << 7;
15518 // op: imm
15519 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15520 Value |= (op & 0x3) << 5;
15521 break;
15522 }
15523 case AArch64::EXTRACT_ZPMXI_H_D:
15524 case AArch64::EXTRACT_ZPMXI_V_D: {
15525 // op: Rv
15526 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15527 Value |= (op & 0x3) << 13;
15528 // op: Pg
15529 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15530 Value |= (op & 0x7) << 10;
15531 // op: Zd
15532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15533 Value |= (op & 0x1f);
15534 // op: ZAn
15535 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15536 Value |= (op & 0x7) << 6;
15537 // op: imm
15538 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15539 Value |= (op & 0x1) << 5;
15540 break;
15541 }
15542 case AArch64::EXTRACT_ZPMXI_H_Q:
15543 case AArch64::EXTRACT_ZPMXI_V_Q: {
15544 // op: Rv
15545 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15546 Value |= (op & 0x3) << 13;
15547 // op: Pg
15548 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15549 Value |= (op & 0x7) << 10;
15550 // op: Zd
15551 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15552 Value |= (op & 0x1f);
15553 // op: ZAn
15554 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15555 Value |= (op & 0xf) << 5;
15556 break;
15557 }
15558 case AArch64::EXTRACT_ZPMXI_H_B:
15559 case AArch64::EXTRACT_ZPMXI_V_B: {
15560 // op: Rv
15561 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15562 Value |= (op & 0x3) << 13;
15563 // op: Pg
15564 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15565 Value |= (op & 0x7) << 10;
15566 // op: Zd
15567 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15568 Value |= (op & 0x1f);
15569 // op: imm
15570 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15571 Value |= (op & 0xf) << 5;
15572 break;
15573 }
15574 case AArch64::BFMLAL_VG2_M2Z2Z_HtoS:
15575 case AArch64::BFMLSL_VG2_M2Z2Z_HtoS:
15576 case AArch64::FMLAL_VG2_M2Z2Z_BtoH:
15577 case AArch64::FMLAL_VG2_M2Z2Z_HtoS:
15578 case AArch64::FMLSL_VG2_M2Z2Z_HtoS:
15579 case AArch64::SMLAL_VG2_M2Z2Z_HtoS:
15580 case AArch64::SMLSL_VG2_M2Z2Z_HtoS:
15581 case AArch64::UMLAL_VG2_M2Z2Z_HtoS:
15582 case AArch64::UMLSL_VG2_M2Z2Z_HtoS: {
15583 // op: Rv
15584 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15585 Value |= (op & 0x3) << 13;
15586 // op: Zm
15587 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 5, Fixups, STI);
15588 Value |= (op & 0xf) << 17;
15589 // op: Zn
15590 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
15591 Value |= (op & 0xf) << 6;
15592 // op: imm
15593 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15594 Value |= (op & 0x3);
15595 break;
15596 }
15597 case AArch64::BFMLAL_VG4_M4Z4Z_HtoS:
15598 case AArch64::BFMLSL_VG4_M4Z4Z_HtoS:
15599 case AArch64::FMLAL_VG4_M4Z4Z_BtoH:
15600 case AArch64::FMLAL_VG4_M4Z4Z_HtoS:
15601 case AArch64::FMLSL_VG4_M4Z4Z_HtoS:
15602 case AArch64::SMLAL_VG4_M4Z4Z_HtoS:
15603 case AArch64::SMLSL_VG4_M4Z4Z_HtoS:
15604 case AArch64::UMLAL_VG4_M4Z4Z_HtoS:
15605 case AArch64::UMLSL_VG4_M4Z4Z_HtoS: {
15606 // op: Rv
15607 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15608 Value |= (op & 0x3) << 13;
15609 // op: Zm
15610 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 5, Fixups, STI);
15611 Value |= (op & 0x7) << 18;
15612 // op: Zn
15613 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
15614 Value |= (op & 0x7) << 7;
15615 // op: imm
15616 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15617 Value |= (op & 0x3);
15618 break;
15619 }
15620 case AArch64::BFMLAL_VG2_M2ZZ_HtoS:
15621 case AArch64::BFMLAL_VG4_M4ZZ_HtoS:
15622 case AArch64::BFMLSL_VG2_M2ZZ_HtoS:
15623 case AArch64::BFMLSL_VG4_M4ZZ_HtoS:
15624 case AArch64::FMLAL_VG2_M2ZZ_BtoH:
15625 case AArch64::FMLAL_VG2_M2ZZ_HtoS:
15626 case AArch64::FMLAL_VG4_M4ZZ_BtoH:
15627 case AArch64::FMLAL_VG4_M4ZZ_HtoS:
15628 case AArch64::FMLSL_VG2_M2ZZ_HtoS:
15629 case AArch64::FMLSL_VG4_M4ZZ_HtoS:
15630 case AArch64::SMLAL_VG2_M2ZZ_HtoS:
15631 case AArch64::SMLAL_VG4_M4ZZ_HtoS:
15632 case AArch64::SMLSL_VG2_M2ZZ_HtoS:
15633 case AArch64::SMLSL_VG4_M4ZZ_HtoS:
15634 case AArch64::UMLAL_VG2_M2ZZ_HtoS:
15635 case AArch64::UMLAL_VG4_M4ZZ_HtoS:
15636 case AArch64::UMLSL_VG2_M2ZZ_HtoS:
15637 case AArch64::UMLSL_VG4_M4ZZ_HtoS: {
15638 // op: Rv
15639 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15640 Value |= (op & 0x3) << 13;
15641 // op: Zm
15642 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15643 Value |= (op & 0xf) << 16;
15644 // op: Zn
15645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15646 Value |= (op & 0x1f) << 5;
15647 // op: imm
15648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15649 Value |= (op & 0x3);
15650 break;
15651 }
15652 case AArch64::BFMLAL_MZZ_HtoS:
15653 case AArch64::BFMLSL_MZZ_HtoS:
15654 case AArch64::FMLAL_MZZ_HtoS:
15655 case AArch64::FMLAL_VG2_MZZ_BtoH:
15656 case AArch64::FMLSL_MZZ_HtoS:
15657 case AArch64::SMLAL_MZZ_HtoS:
15658 case AArch64::SMLSL_MZZ_HtoS:
15659 case AArch64::UMLAL_MZZ_HtoS:
15660 case AArch64::UMLSL_MZZ_HtoS: {
15661 // op: Rv
15662 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15663 Value |= (op & 0x3) << 13;
15664 // op: Zm
15665 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15666 Value |= (op & 0xf) << 16;
15667 // op: Zn
15668 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15669 Value |= (op & 0x1f) << 5;
15670 // op: imm
15671 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15672 Value |= (op & 0x7);
15673 break;
15674 }
15675 case AArch64::ZERO_MXI_VG2_4Z:
15676 case AArch64::ZERO_MXI_VG4_4Z: {
15677 // op: Rv
15678 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15679 Value |= (op & 0x3) << 13;
15680 // op: imm
15681 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15682 Value |= (op & 0x1);
15683 break;
15684 }
15685 case AArch64::ZERO_MXI_4Z:
15686 case AArch64::ZERO_MXI_VG2_2Z:
15687 case AArch64::ZERO_MXI_VG4_2Z: {
15688 // op: Rv
15689 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15690 Value |= (op & 0x3) << 13;
15691 // op: imm
15692 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15693 Value |= (op & 0x3);
15694 break;
15695 }
15696 case AArch64::ZERO_MXI_2Z:
15697 case AArch64::ZERO_MXI_VG2_Z:
15698 case AArch64::ZERO_MXI_VG4_Z: {
15699 // op: Rv
15700 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15701 Value |= (op & 0x3) << 13;
15702 // op: imm
15703 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15704 Value |= (op & 0x7);
15705 break;
15706 }
15707 case AArch64::ADD_VG2_M2Z_D:
15708 case AArch64::ADD_VG2_M2Z_S:
15709 case AArch64::BFADD_VG2_M2Z_H:
15710 case AArch64::BFSUB_VG2_M2Z_H:
15711 case AArch64::FADD_VG2_M2Z_D:
15712 case AArch64::FADD_VG2_M2Z_H:
15713 case AArch64::FADD_VG2_M2Z_S:
15714 case AArch64::FSUB_VG2_M2Z_D:
15715 case AArch64::FSUB_VG2_M2Z_H:
15716 case AArch64::FSUB_VG2_M2Z_S:
15717 case AArch64::SUB_VG2_M2Z_D:
15718 case AArch64::SUB_VG2_M2Z_S: {
15719 // op: Rv
15720 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15721 Value |= (op & 0x3) << 13;
15722 // op: imm3
15723 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15724 Value |= (op & 0x7);
15725 // op: Zm
15726 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
15727 Value |= (op & 0xf) << 6;
15728 break;
15729 }
15730 case AArch64::ADD_VG4_M4Z_D:
15731 case AArch64::ADD_VG4_M4Z_S:
15732 case AArch64::BFADD_VG4_M4Z_H:
15733 case AArch64::BFSUB_VG4_M4Z_H:
15734 case AArch64::FADD_VG4_M4Z_D:
15735 case AArch64::FADD_VG4_M4Z_H:
15736 case AArch64::FADD_VG4_M4Z_S:
15737 case AArch64::FSUB_VG4_M4Z_D:
15738 case AArch64::FSUB_VG4_M4Z_H:
15739 case AArch64::FSUB_VG4_M4Z_S:
15740 case AArch64::SUB_VG4_M4Z_D:
15741 case AArch64::SUB_VG4_M4Z_S: {
15742 // op: Rv
15743 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15744 Value |= (op & 0x3) << 13;
15745 // op: imm3
15746 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15747 Value |= (op & 0x7);
15748 // op: Zm
15749 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
15750 Value |= (op & 0x7) << 7;
15751 break;
15752 }
15753 case AArch64::RAX1:
15754 case AArch64::SM4ENCKEY:
15755 case AArch64::TBLv16i8Four:
15756 case AArch64::TBLv16i8One:
15757 case AArch64::TBLv16i8Three:
15758 case AArch64::TBLv16i8Two:
15759 case AArch64::TBLv8i8Four:
15760 case AArch64::TBLv8i8One:
15761 case AArch64::TBLv8i8Three:
15762 case AArch64::TBLv8i8Two: {
15763 // op: Vd
15764 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15765 Value |= (op & 0x1f);
15766 // op: Vn
15767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15768 Value |= (op & 0x1f) << 5;
15769 // op: Vm
15770 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15771 Value |= (op & 0x1f) << 16;
15772 break;
15773 }
15774 case AArch64::BCAX:
15775 case AArch64::EOR3:
15776 case AArch64::SM3SS1: {
15777 // op: Vd
15778 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15779 Value |= (op & 0x1f);
15780 // op: Vn
15781 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15782 Value |= (op & 0x1f) << 5;
15783 // op: Vm
15784 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15785 Value |= (op & 0x1f) << 16;
15786 // op: Va
15787 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15788 Value |= (op & 0x1f) << 10;
15789 break;
15790 }
15791 case AArch64::XAR: {
15792 // op: Vd
15793 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15794 Value |= (op & 0x1f);
15795 // op: Vn
15796 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15797 Value |= (op & 0x1f) << 5;
15798 // op: imm
15799 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15800 Value |= (op & 0x3f) << 10;
15801 // op: Vm
15802 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15803 Value |= (op & 0x1f) << 16;
15804 break;
15805 }
15806 case AArch64::ADDQV_VPZ_B:
15807 case AArch64::ADDQV_VPZ_D:
15808 case AArch64::ADDQV_VPZ_H:
15809 case AArch64::ADDQV_VPZ_S:
15810 case AArch64::ANDQV_VPZ_B:
15811 case AArch64::ANDQV_VPZ_D:
15812 case AArch64::ANDQV_VPZ_H:
15813 case AArch64::ANDQV_VPZ_S:
15814 case AArch64::EORQV_VPZ_B:
15815 case AArch64::EORQV_VPZ_D:
15816 case AArch64::EORQV_VPZ_H:
15817 case AArch64::EORQV_VPZ_S:
15818 case AArch64::FADDQV_D:
15819 case AArch64::FADDQV_H:
15820 case AArch64::FADDQV_S:
15821 case AArch64::FMAXNMQV_D:
15822 case AArch64::FMAXNMQV_H:
15823 case AArch64::FMAXNMQV_S:
15824 case AArch64::FMAXQV_D:
15825 case AArch64::FMAXQV_H:
15826 case AArch64::FMAXQV_S:
15827 case AArch64::FMINNMQV_D:
15828 case AArch64::FMINNMQV_H:
15829 case AArch64::FMINNMQV_S:
15830 case AArch64::FMINQV_D:
15831 case AArch64::FMINQV_H:
15832 case AArch64::FMINQV_S:
15833 case AArch64::ORQV_VPZ_B:
15834 case AArch64::ORQV_VPZ_D:
15835 case AArch64::ORQV_VPZ_H:
15836 case AArch64::ORQV_VPZ_S:
15837 case AArch64::SMAXQV_VPZ_B:
15838 case AArch64::SMAXQV_VPZ_D:
15839 case AArch64::SMAXQV_VPZ_H:
15840 case AArch64::SMAXQV_VPZ_S:
15841 case AArch64::SMINQV_VPZ_B:
15842 case AArch64::SMINQV_VPZ_D:
15843 case AArch64::SMINQV_VPZ_H:
15844 case AArch64::SMINQV_VPZ_S:
15845 case AArch64::UMAXQV_VPZ_B:
15846 case AArch64::UMAXQV_VPZ_D:
15847 case AArch64::UMAXQV_VPZ_H:
15848 case AArch64::UMAXQV_VPZ_S:
15849 case AArch64::UMINQV_VPZ_B:
15850 case AArch64::UMINQV_VPZ_D:
15851 case AArch64::UMINQV_VPZ_H:
15852 case AArch64::UMINQV_VPZ_S: {
15853 // op: Vd
15854 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15855 Value |= (op & 0x1f);
15856 // op: Zn
15857 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15858 Value |= (op & 0x1f) << 5;
15859 // op: Pg
15860 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15861 Value |= (op & 0x7) << 10;
15862 break;
15863 }
15864 case AArch64::SHA512SU0:
15865 case AArch64::SM4E: {
15866 // op: Vd
15867 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15868 Value |= (op & 0x1f);
15869 // op: Vn
15870 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15871 Value |= (op & 0x1f) << 5;
15872 break;
15873 }
15874 case AArch64::SHA512H:
15875 case AArch64::SHA512H2:
15876 case AArch64::SHA512SU1:
15877 case AArch64::SM3PARTW1:
15878 case AArch64::SM3PARTW2:
15879 case AArch64::TBXv16i8Four:
15880 case AArch64::TBXv16i8One:
15881 case AArch64::TBXv16i8Three:
15882 case AArch64::TBXv16i8Two:
15883 case AArch64::TBXv8i8Four:
15884 case AArch64::TBXv8i8One:
15885 case AArch64::TBXv8i8Three:
15886 case AArch64::TBXv8i8Two: {
15887 // op: Vd
15888 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15889 Value |= (op & 0x1f);
15890 // op: Vn
15891 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15892 Value |= (op & 0x1f) << 5;
15893 // op: Vm
15894 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15895 Value |= (op & 0x1f) << 16;
15896 break;
15897 }
15898 case AArch64::SM3TT1A:
15899 case AArch64::SM3TT1B:
15900 case AArch64::SM3TT2A:
15901 case AArch64::SM3TT2B: {
15902 // op: Vd
15903 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15904 Value |= (op & 0x1f);
15905 // op: Vn
15906 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15907 Value |= (op & 0x1f) << 5;
15908 // op: imm
15909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15910 Value |= (op & 0x3) << 12;
15911 // op: Vm
15912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15913 Value |= (op & 0x1f) << 16;
15914 break;
15915 }
15916 case AArch64::INSR_ZV_B:
15917 case AArch64::INSR_ZV_D:
15918 case AArch64::INSR_ZV_H:
15919 case AArch64::INSR_ZV_S: {
15920 // op: Vm
15921 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15922 Value |= (op & 0x1f) << 5;
15923 // op: Zdn
15924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15925 Value |= (op & 0x1f);
15926 break;
15927 }
15928 case AArch64::LD1Fourv16b:
15929 case AArch64::LD1Fourv1d:
15930 case AArch64::LD1Fourv2d:
15931 case AArch64::LD1Fourv2s:
15932 case AArch64::LD1Fourv4h:
15933 case AArch64::LD1Fourv4s:
15934 case AArch64::LD1Fourv8b:
15935 case AArch64::LD1Fourv8h:
15936 case AArch64::LD1Onev16b:
15937 case AArch64::LD1Onev1d:
15938 case AArch64::LD1Onev2d:
15939 case AArch64::LD1Onev2s:
15940 case AArch64::LD1Onev4h:
15941 case AArch64::LD1Onev4s:
15942 case AArch64::LD1Onev8b:
15943 case AArch64::LD1Onev8h:
15944 case AArch64::LD1Rv16b:
15945 case AArch64::LD1Rv1d:
15946 case AArch64::LD1Rv2d:
15947 case AArch64::LD1Rv2s:
15948 case AArch64::LD1Rv4h:
15949 case AArch64::LD1Rv4s:
15950 case AArch64::LD1Rv8b:
15951 case AArch64::LD1Rv8h:
15952 case AArch64::LD1Threev16b:
15953 case AArch64::LD1Threev1d:
15954 case AArch64::LD1Threev2d:
15955 case AArch64::LD1Threev2s:
15956 case AArch64::LD1Threev4h:
15957 case AArch64::LD1Threev4s:
15958 case AArch64::LD1Threev8b:
15959 case AArch64::LD1Threev8h:
15960 case AArch64::LD1Twov16b:
15961 case AArch64::LD1Twov1d:
15962 case AArch64::LD1Twov2d:
15963 case AArch64::LD1Twov2s:
15964 case AArch64::LD1Twov4h:
15965 case AArch64::LD1Twov4s:
15966 case AArch64::LD1Twov8b:
15967 case AArch64::LD1Twov8h:
15968 case AArch64::LD2Rv16b:
15969 case AArch64::LD2Rv1d:
15970 case AArch64::LD2Rv2d:
15971 case AArch64::LD2Rv2s:
15972 case AArch64::LD2Rv4h:
15973 case AArch64::LD2Rv4s:
15974 case AArch64::LD2Rv8b:
15975 case AArch64::LD2Rv8h:
15976 case AArch64::LD2Twov16b:
15977 case AArch64::LD2Twov2d:
15978 case AArch64::LD2Twov2s:
15979 case AArch64::LD2Twov4h:
15980 case AArch64::LD2Twov4s:
15981 case AArch64::LD2Twov8b:
15982 case AArch64::LD2Twov8h:
15983 case AArch64::LD3Rv16b:
15984 case AArch64::LD3Rv1d:
15985 case AArch64::LD3Rv2d:
15986 case AArch64::LD3Rv2s:
15987 case AArch64::LD3Rv4h:
15988 case AArch64::LD3Rv4s:
15989 case AArch64::LD3Rv8b:
15990 case AArch64::LD3Rv8h:
15991 case AArch64::LD3Threev16b:
15992 case AArch64::LD3Threev2d:
15993 case AArch64::LD3Threev2s:
15994 case AArch64::LD3Threev4h:
15995 case AArch64::LD3Threev4s:
15996 case AArch64::LD3Threev8b:
15997 case AArch64::LD3Threev8h:
15998 case AArch64::LD4Fourv16b:
15999 case AArch64::LD4Fourv2d:
16000 case AArch64::LD4Fourv2s:
16001 case AArch64::LD4Fourv4h:
16002 case AArch64::LD4Fourv4s:
16003 case AArch64::LD4Fourv8b:
16004 case AArch64::LD4Fourv8h:
16005 case AArch64::LD4Rv16b:
16006 case AArch64::LD4Rv1d:
16007 case AArch64::LD4Rv2d:
16008 case AArch64::LD4Rv2s:
16009 case AArch64::LD4Rv4h:
16010 case AArch64::LD4Rv4s:
16011 case AArch64::LD4Rv8b:
16012 case AArch64::LD4Rv8h:
16013 case AArch64::ST1Fourv16b:
16014 case AArch64::ST1Fourv1d:
16015 case AArch64::ST1Fourv2d:
16016 case AArch64::ST1Fourv2s:
16017 case AArch64::ST1Fourv4h:
16018 case AArch64::ST1Fourv4s:
16019 case AArch64::ST1Fourv8b:
16020 case AArch64::ST1Fourv8h:
16021 case AArch64::ST1Onev16b:
16022 case AArch64::ST1Onev1d:
16023 case AArch64::ST1Onev2d:
16024 case AArch64::ST1Onev2s:
16025 case AArch64::ST1Onev4h:
16026 case AArch64::ST1Onev4s:
16027 case AArch64::ST1Onev8b:
16028 case AArch64::ST1Onev8h:
16029 case AArch64::ST1Threev16b:
16030 case AArch64::ST1Threev1d:
16031 case AArch64::ST1Threev2d:
16032 case AArch64::ST1Threev2s:
16033 case AArch64::ST1Threev4h:
16034 case AArch64::ST1Threev4s:
16035 case AArch64::ST1Threev8b:
16036 case AArch64::ST1Threev8h:
16037 case AArch64::ST1Twov16b:
16038 case AArch64::ST1Twov1d:
16039 case AArch64::ST1Twov2d:
16040 case AArch64::ST1Twov2s:
16041 case AArch64::ST1Twov4h:
16042 case AArch64::ST1Twov4s:
16043 case AArch64::ST1Twov8b:
16044 case AArch64::ST1Twov8h:
16045 case AArch64::ST2Twov16b:
16046 case AArch64::ST2Twov2d:
16047 case AArch64::ST2Twov2s:
16048 case AArch64::ST2Twov4h:
16049 case AArch64::ST2Twov4s:
16050 case AArch64::ST2Twov8b:
16051 case AArch64::ST2Twov8h:
16052 case AArch64::ST3Threev16b:
16053 case AArch64::ST3Threev2d:
16054 case AArch64::ST3Threev2s:
16055 case AArch64::ST3Threev4h:
16056 case AArch64::ST3Threev4s:
16057 case AArch64::ST3Threev8b:
16058 case AArch64::ST3Threev8h:
16059 case AArch64::ST4Fourv16b:
16060 case AArch64::ST4Fourv2d:
16061 case AArch64::ST4Fourv2s:
16062 case AArch64::ST4Fourv4h:
16063 case AArch64::ST4Fourv4s:
16064 case AArch64::ST4Fourv8b:
16065 case AArch64::ST4Fourv8h: {
16066 // op: Vt
16067 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16068 Value |= (op & 0x1f);
16069 // op: Rn
16070 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16071 Value |= (op & 0x1f) << 5;
16072 break;
16073 }
16074 case AArch64::STL1: {
16075 // op: Vt
16076 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16077 Value |= (op & 0x1f);
16078 // op: Rn
16079 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16080 Value |= (op & 0x1f) << 5;
16081 // op: Q
16082 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16083 Value |= (op & 0x1) << 30;
16084 break;
16085 }
16086 case AArch64::ST1i64:
16087 case AArch64::ST2i64:
16088 case AArch64::ST3i64:
16089 case AArch64::ST4i64: {
16090 // op: Vt
16091 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16092 Value |= (op & 0x1f);
16093 // op: Rn
16094 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16095 Value |= (op & 0x1f) << 5;
16096 // op: idx
16097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16098 Value |= (op & 0x1) << 30;
16099 break;
16100 }
16101 case AArch64::ST1i32:
16102 case AArch64::ST2i32:
16103 case AArch64::ST3i32:
16104 case AArch64::ST4i32: {
16105 // op: Vt
16106 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16107 Value |= (op & 0x1f);
16108 // op: Rn
16109 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16110 Value |= (op & 0x1f) << 5;
16111 // op: idx
16112 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16113 Value |= (op & 0x2) << 29;
16114 Value |= (op & 0x1) << 12;
16115 break;
16116 }
16117 case AArch64::ST1i16:
16118 case AArch64::ST2i16:
16119 case AArch64::ST3i16:
16120 case AArch64::ST4i16: {
16121 // op: Vt
16122 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16123 Value |= (op & 0x1f);
16124 // op: Rn
16125 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16126 Value |= (op & 0x1f) << 5;
16127 // op: idx
16128 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16129 Value |= (op & 0x4) << 28;
16130 Value |= (op & 0x3) << 11;
16131 break;
16132 }
16133 case AArch64::ST1i8:
16134 case AArch64::ST2i8:
16135 case AArch64::ST3i8:
16136 case AArch64::ST4i8: {
16137 // op: Vt
16138 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16139 Value |= (op & 0x1f);
16140 // op: Rn
16141 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16142 Value |= (op & 0x1f) << 5;
16143 // op: idx
16144 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16145 Value |= (op & 0x8) << 27;
16146 Value |= (op & 0x7) << 10;
16147 break;
16148 }
16149 case AArch64::LD1Fourv16b_POST:
16150 case AArch64::LD1Fourv1d_POST:
16151 case AArch64::LD1Fourv2d_POST:
16152 case AArch64::LD1Fourv2s_POST:
16153 case AArch64::LD1Fourv4h_POST:
16154 case AArch64::LD1Fourv4s_POST:
16155 case AArch64::LD1Fourv8b_POST:
16156 case AArch64::LD1Fourv8h_POST:
16157 case AArch64::LD1Onev16b_POST:
16158 case AArch64::LD1Onev1d_POST:
16159 case AArch64::LD1Onev2d_POST:
16160 case AArch64::LD1Onev2s_POST:
16161 case AArch64::LD1Onev4h_POST:
16162 case AArch64::LD1Onev4s_POST:
16163 case AArch64::LD1Onev8b_POST:
16164 case AArch64::LD1Onev8h_POST:
16165 case AArch64::LD1Rv16b_POST:
16166 case AArch64::LD1Rv1d_POST:
16167 case AArch64::LD1Rv2d_POST:
16168 case AArch64::LD1Rv2s_POST:
16169 case AArch64::LD1Rv4h_POST:
16170 case AArch64::LD1Rv4s_POST:
16171 case AArch64::LD1Rv8b_POST:
16172 case AArch64::LD1Rv8h_POST:
16173 case AArch64::LD1Threev16b_POST:
16174 case AArch64::LD1Threev1d_POST:
16175 case AArch64::LD1Threev2d_POST:
16176 case AArch64::LD1Threev2s_POST:
16177 case AArch64::LD1Threev4h_POST:
16178 case AArch64::LD1Threev4s_POST:
16179 case AArch64::LD1Threev8b_POST:
16180 case AArch64::LD1Threev8h_POST:
16181 case AArch64::LD1Twov16b_POST:
16182 case AArch64::LD1Twov1d_POST:
16183 case AArch64::LD1Twov2d_POST:
16184 case AArch64::LD1Twov2s_POST:
16185 case AArch64::LD1Twov4h_POST:
16186 case AArch64::LD1Twov4s_POST:
16187 case AArch64::LD1Twov8b_POST:
16188 case AArch64::LD1Twov8h_POST:
16189 case AArch64::LD2Rv16b_POST:
16190 case AArch64::LD2Rv1d_POST:
16191 case AArch64::LD2Rv2d_POST:
16192 case AArch64::LD2Rv2s_POST:
16193 case AArch64::LD2Rv4h_POST:
16194 case AArch64::LD2Rv4s_POST:
16195 case AArch64::LD2Rv8b_POST:
16196 case AArch64::LD2Rv8h_POST:
16197 case AArch64::LD2Twov16b_POST:
16198 case AArch64::LD2Twov2d_POST:
16199 case AArch64::LD2Twov2s_POST:
16200 case AArch64::LD2Twov4h_POST:
16201 case AArch64::LD2Twov4s_POST:
16202 case AArch64::LD2Twov8b_POST:
16203 case AArch64::LD2Twov8h_POST:
16204 case AArch64::LD3Rv16b_POST:
16205 case AArch64::LD3Rv1d_POST:
16206 case AArch64::LD3Rv2d_POST:
16207 case AArch64::LD3Rv2s_POST:
16208 case AArch64::LD3Rv4h_POST:
16209 case AArch64::LD3Rv4s_POST:
16210 case AArch64::LD3Rv8b_POST:
16211 case AArch64::LD3Rv8h_POST:
16212 case AArch64::LD3Threev16b_POST:
16213 case AArch64::LD3Threev2d_POST:
16214 case AArch64::LD3Threev2s_POST:
16215 case AArch64::LD3Threev4h_POST:
16216 case AArch64::LD3Threev4s_POST:
16217 case AArch64::LD3Threev8b_POST:
16218 case AArch64::LD3Threev8h_POST:
16219 case AArch64::LD4Fourv16b_POST:
16220 case AArch64::LD4Fourv2d_POST:
16221 case AArch64::LD4Fourv2s_POST:
16222 case AArch64::LD4Fourv4h_POST:
16223 case AArch64::LD4Fourv4s_POST:
16224 case AArch64::LD4Fourv8b_POST:
16225 case AArch64::LD4Fourv8h_POST:
16226 case AArch64::LD4Rv16b_POST:
16227 case AArch64::LD4Rv1d_POST:
16228 case AArch64::LD4Rv2d_POST:
16229 case AArch64::LD4Rv2s_POST:
16230 case AArch64::LD4Rv4h_POST:
16231 case AArch64::LD4Rv4s_POST:
16232 case AArch64::LD4Rv8b_POST:
16233 case AArch64::LD4Rv8h_POST:
16234 case AArch64::ST1Fourv16b_POST:
16235 case AArch64::ST1Fourv1d_POST:
16236 case AArch64::ST1Fourv2d_POST:
16237 case AArch64::ST1Fourv2s_POST:
16238 case AArch64::ST1Fourv4h_POST:
16239 case AArch64::ST1Fourv4s_POST:
16240 case AArch64::ST1Fourv8b_POST:
16241 case AArch64::ST1Fourv8h_POST:
16242 case AArch64::ST1Onev16b_POST:
16243 case AArch64::ST1Onev1d_POST:
16244 case AArch64::ST1Onev2d_POST:
16245 case AArch64::ST1Onev2s_POST:
16246 case AArch64::ST1Onev4h_POST:
16247 case AArch64::ST1Onev4s_POST:
16248 case AArch64::ST1Onev8b_POST:
16249 case AArch64::ST1Onev8h_POST:
16250 case AArch64::ST1Threev16b_POST:
16251 case AArch64::ST1Threev1d_POST:
16252 case AArch64::ST1Threev2d_POST:
16253 case AArch64::ST1Threev2s_POST:
16254 case AArch64::ST1Threev4h_POST:
16255 case AArch64::ST1Threev4s_POST:
16256 case AArch64::ST1Threev8b_POST:
16257 case AArch64::ST1Threev8h_POST:
16258 case AArch64::ST1Twov16b_POST:
16259 case AArch64::ST1Twov1d_POST:
16260 case AArch64::ST1Twov2d_POST:
16261 case AArch64::ST1Twov2s_POST:
16262 case AArch64::ST1Twov4h_POST:
16263 case AArch64::ST1Twov4s_POST:
16264 case AArch64::ST1Twov8b_POST:
16265 case AArch64::ST1Twov8h_POST:
16266 case AArch64::ST2Twov16b_POST:
16267 case AArch64::ST2Twov2d_POST:
16268 case AArch64::ST2Twov2s_POST:
16269 case AArch64::ST2Twov4h_POST:
16270 case AArch64::ST2Twov4s_POST:
16271 case AArch64::ST2Twov8b_POST:
16272 case AArch64::ST2Twov8h_POST:
16273 case AArch64::ST3Threev16b_POST:
16274 case AArch64::ST3Threev2d_POST:
16275 case AArch64::ST3Threev2s_POST:
16276 case AArch64::ST3Threev4h_POST:
16277 case AArch64::ST3Threev4s_POST:
16278 case AArch64::ST3Threev8b_POST:
16279 case AArch64::ST3Threev8h_POST:
16280 case AArch64::ST4Fourv16b_POST:
16281 case AArch64::ST4Fourv2d_POST:
16282 case AArch64::ST4Fourv2s_POST:
16283 case AArch64::ST4Fourv4h_POST:
16284 case AArch64::ST4Fourv4s_POST:
16285 case AArch64::ST4Fourv8b_POST:
16286 case AArch64::ST4Fourv8h_POST: {
16287 // op: Vt
16288 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16289 Value |= (op & 0x1f);
16290 // op: Rn
16291 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16292 Value |= (op & 0x1f) << 5;
16293 // op: Xm
16294 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16295 Value |= (op & 0x1f) << 16;
16296 break;
16297 }
16298 case AArch64::LDAP1: {
16299 // op: Vt
16300 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16301 Value |= (op & 0x1f);
16302 // op: Rn
16303 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16304 Value |= (op & 0x1f) << 5;
16305 // op: Q
16306 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16307 Value |= (op & 0x1) << 30;
16308 break;
16309 }
16310 case AArch64::LD1i64:
16311 case AArch64::LD2i64:
16312 case AArch64::LD3i64:
16313 case AArch64::LD4i64: {
16314 // op: Vt
16315 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16316 Value |= (op & 0x1f);
16317 // op: Rn
16318 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16319 Value |= (op & 0x1f) << 5;
16320 // op: idx
16321 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16322 Value |= (op & 0x1) << 30;
16323 break;
16324 }
16325 case AArch64::ST1i64_POST:
16326 case AArch64::ST2i64_POST:
16327 case AArch64::ST3i64_POST:
16328 case AArch64::ST4i64_POST: {
16329 // op: Vt
16330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16331 Value |= (op & 0x1f);
16332 // op: Rn
16333 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16334 Value |= (op & 0x1f) << 5;
16335 // op: idx
16336 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16337 Value |= (op & 0x1) << 30;
16338 // op: Xm
16339 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16340 Value |= (op & 0x1f) << 16;
16341 break;
16342 }
16343 case AArch64::LD1i32:
16344 case AArch64::LD2i32:
16345 case AArch64::LD3i32:
16346 case AArch64::LD4i32: {
16347 // op: Vt
16348 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16349 Value |= (op & 0x1f);
16350 // op: Rn
16351 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16352 Value |= (op & 0x1f) << 5;
16353 // op: idx
16354 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16355 Value |= (op & 0x2) << 29;
16356 Value |= (op & 0x1) << 12;
16357 break;
16358 }
16359 case AArch64::ST1i32_POST:
16360 case AArch64::ST2i32_POST:
16361 case AArch64::ST3i32_POST:
16362 case AArch64::ST4i32_POST: {
16363 // op: Vt
16364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16365 Value |= (op & 0x1f);
16366 // op: Rn
16367 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16368 Value |= (op & 0x1f) << 5;
16369 // op: idx
16370 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16371 Value |= (op & 0x2) << 29;
16372 Value |= (op & 0x1) << 12;
16373 // op: Xm
16374 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16375 Value |= (op & 0x1f) << 16;
16376 break;
16377 }
16378 case AArch64::LD1i16:
16379 case AArch64::LD2i16:
16380 case AArch64::LD3i16:
16381 case AArch64::LD4i16: {
16382 // op: Vt
16383 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16384 Value |= (op & 0x1f);
16385 // op: Rn
16386 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16387 Value |= (op & 0x1f) << 5;
16388 // op: idx
16389 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16390 Value |= (op & 0x4) << 28;
16391 Value |= (op & 0x3) << 11;
16392 break;
16393 }
16394 case AArch64::ST1i16_POST:
16395 case AArch64::ST2i16_POST:
16396 case AArch64::ST3i16_POST:
16397 case AArch64::ST4i16_POST: {
16398 // op: Vt
16399 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16400 Value |= (op & 0x1f);
16401 // op: Rn
16402 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16403 Value |= (op & 0x1f) << 5;
16404 // op: idx
16405 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16406 Value |= (op & 0x4) << 28;
16407 Value |= (op & 0x3) << 11;
16408 // op: Xm
16409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16410 Value |= (op & 0x1f) << 16;
16411 break;
16412 }
16413 case AArch64::LD1i8:
16414 case AArch64::LD2i8:
16415 case AArch64::LD3i8:
16416 case AArch64::LD4i8: {
16417 // op: Vt
16418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16419 Value |= (op & 0x1f);
16420 // op: Rn
16421 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16422 Value |= (op & 0x1f) << 5;
16423 // op: idx
16424 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16425 Value |= (op & 0x8) << 27;
16426 Value |= (op & 0x7) << 10;
16427 break;
16428 }
16429 case AArch64::ST1i8_POST:
16430 case AArch64::ST2i8_POST:
16431 case AArch64::ST3i8_POST:
16432 case AArch64::ST4i8_POST: {
16433 // op: Vt
16434 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16435 Value |= (op & 0x1f);
16436 // op: Rn
16437 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16438 Value |= (op & 0x1f) << 5;
16439 // op: idx
16440 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16441 Value |= (op & 0x8) << 27;
16442 Value |= (op & 0x7) << 10;
16443 // op: Xm
16444 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16445 Value |= (op & 0x1f) << 16;
16446 break;
16447 }
16448 case AArch64::LD1i64_POST:
16449 case AArch64::LD2i64_POST:
16450 case AArch64::LD3i64_POST:
16451 case AArch64::LD4i64_POST: {
16452 // op: Vt
16453 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16454 Value |= (op & 0x1f);
16455 // op: Rn
16456 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16457 Value |= (op & 0x1f) << 5;
16458 // op: idx
16459 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16460 Value |= (op & 0x1) << 30;
16461 // op: Xm
16462 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16463 Value |= (op & 0x1f) << 16;
16464 break;
16465 }
16466 case AArch64::LD1i32_POST:
16467 case AArch64::LD2i32_POST:
16468 case AArch64::LD3i32_POST:
16469 case AArch64::LD4i32_POST: {
16470 // op: Vt
16471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16472 Value |= (op & 0x1f);
16473 // op: Rn
16474 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16475 Value |= (op & 0x1f) << 5;
16476 // op: idx
16477 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16478 Value |= (op & 0x2) << 29;
16479 Value |= (op & 0x1) << 12;
16480 // op: Xm
16481 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16482 Value |= (op & 0x1f) << 16;
16483 break;
16484 }
16485 case AArch64::LD1i16_POST:
16486 case AArch64::LD2i16_POST:
16487 case AArch64::LD3i16_POST:
16488 case AArch64::LD4i16_POST: {
16489 // op: Vt
16490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16491 Value |= (op & 0x1f);
16492 // op: Rn
16493 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16494 Value |= (op & 0x1f) << 5;
16495 // op: idx
16496 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16497 Value |= (op & 0x4) << 28;
16498 Value |= (op & 0x3) << 11;
16499 // op: Xm
16500 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16501 Value |= (op & 0x1f) << 16;
16502 break;
16503 }
16504 case AArch64::LD1i8_POST:
16505 case AArch64::LD2i8_POST:
16506 case AArch64::LD3i8_POST:
16507 case AArch64::LD4i8_POST: {
16508 // op: Vt
16509 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16510 Value |= (op & 0x1f);
16511 // op: Rn
16512 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16513 Value |= (op & 0x1f) << 5;
16514 // op: idx
16515 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16516 Value |= (op & 0x8) << 27;
16517 Value |= (op & 0x7) << 10;
16518 // op: Xm
16519 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16520 Value |= (op & 0x1f) << 16;
16521 break;
16522 }
16523 case AArch64::STLTXRW:
16524 case AArch64::STLTXRX:
16525 case AArch64::STLXRB:
16526 case AArch64::STLXRH:
16527 case AArch64::STLXRW:
16528 case AArch64::STLXRX:
16529 case AArch64::STXRB:
16530 case AArch64::STXRH:
16531 case AArch64::STXRW:
16532 case AArch64::STXRX: {
16533 // op: Ws
16534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16535 Value |= (op & 0x1f) << 16;
16536 // op: Rt
16537 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16538 Value |= (op & 0x1f);
16539 // op: Rn
16540 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16541 Value |= (op & 0x1f) << 5;
16542 Value = fixLoadStoreExclusive<1,0>(MI, EncodedValue: Value, STI);
16543 break;
16544 }
16545 case AArch64::STLXPW:
16546 case AArch64::STLXPX:
16547 case AArch64::STXPW:
16548 case AArch64::STXPX: {
16549 // op: Ws
16550 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16551 Value |= (op & 0x1f) << 16;
16552 // op: Rt
16553 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16554 Value |= (op & 0x1f);
16555 // op: Rt2
16556 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16557 Value |= (op & 0x1f) << 10;
16558 // op: Rn
16559 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16560 Value |= (op & 0x1f) << 5;
16561 break;
16562 }
16563 case AArch64::TCHANGEBrr:
16564 case AArch64::TCHANGEFrr: {
16565 // op: Xd
16566 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16567 Value |= (op & 0x1f);
16568 // op: Xn
16569 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16570 Value |= (op & 0x1f) << 5;
16571 // op: nb
16572 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16573 Value |= (op & 0x1) << 17;
16574 break;
16575 }
16576 case AArch64::TCHANGEBri:
16577 case AArch64::TCHANGEFri: {
16578 // op: Xd
16579 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16580 Value |= (op & 0x1f);
16581 // op: imm
16582 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16583 Value |= (op & 0x7f) << 5;
16584 // op: nb
16585 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16586 Value |= (op & 0x1) << 17;
16587 break;
16588 }
16589 case AArch64::ADR:
16590 case AArch64::ADRP: {
16591 // op: Xd
16592 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16593 Value |= (op & 0x1f);
16594 // op: label
16595 op = getAdrLabelOpValue(MI, OpIdx: 1, Fixups, STI);
16596 Value |= (op & 0x3) << 29;
16597 Value |= (op & 0x1ffffc) << 3;
16598 break;
16599 }
16600 case AArch64::APAS: {
16601 // op: Xt
16602 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16603 Value |= (op & 0x1f);
16604 break;
16605 }
16606 case AArch64::BFMOP4A_M2Z2Z_H:
16607 case AArch64::BFMOP4S_M2Z2Z_H:
16608 case AArch64::FMOP4A_M2Z2Z_BtoH:
16609 case AArch64::FMOP4A_M2Z2Z_H:
16610 case AArch64::FMOP4S_M2Z2Z_H: {
16611 // op: ZAda
16612 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16613 Value |= (op & 0x1);
16614 // op: Zn
16615 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16616 Value |= (op & 0x7) << 6;
16617 // op: Zm
16618 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16619 Value |= (op & 0x7) << 17;
16620 break;
16621 }
16622 case AArch64::BFMOP4A_M2ZZ_H:
16623 case AArch64::BFMOP4S_M2ZZ_H:
16624 case AArch64::FMOP4A_M2ZZ_BtoH:
16625 case AArch64::FMOP4A_M2ZZ_H:
16626 case AArch64::FMOP4S_M2ZZ_H: {
16627 // op: ZAda
16628 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16629 Value |= (op & 0x1);
16630 // op: Zn
16631 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16632 Value |= (op & 0x7) << 6;
16633 // op: Zm
16634 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16635 Value |= (op & 0x7) << 17;
16636 break;
16637 }
16638 case AArch64::BFTMOPA_M2ZZZI_HtoH:
16639 case AArch64::FTMOPA_M2ZZZI_BtoH:
16640 case AArch64::FTMOPA_M2ZZZI_HtoH: {
16641 // op: ZAda
16642 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16643 Value |= (op & 0x1);
16644 // op: Zn
16645 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
16646 Value |= (op & 0xf) << 6;
16647 // op: Zm
16648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16649 Value |= (op & 0x1f) << 16;
16650 // op: Zk
16651 op = EncodeZK(MI, OpIdx: 4, Fixups, STI);
16652 Value |= (op & 0x7) << 10;
16653 // op: imm
16654 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16655 Value |= (op & 0x3) << 4;
16656 break;
16657 }
16658 case AArch64::BFMOP4A_MZ2Z_H:
16659 case AArch64::BFMOP4S_MZ2Z_H:
16660 case AArch64::FMOP4A_MZ2Z_BtoH:
16661 case AArch64::FMOP4A_MZ2Z_H:
16662 case AArch64::FMOP4S_MZ2Z_H: {
16663 // op: ZAda
16664 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16665 Value |= (op & 0x1);
16666 // op: Zn
16667 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16668 Value |= (op & 0x7) << 6;
16669 // op: Zm
16670 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16671 Value |= (op & 0x7) << 17;
16672 break;
16673 }
16674 case AArch64::BFMOP4A_MZZ_H:
16675 case AArch64::BFMOP4S_MZZ_H:
16676 case AArch64::FMOP4A_MZZ_BtoH:
16677 case AArch64::FMOP4A_MZZ_H:
16678 case AArch64::FMOP4S_MZZ_H: {
16679 // op: ZAda
16680 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16681 Value |= (op & 0x1);
16682 // op: Zn
16683 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16684 Value |= (op & 0x7) << 6;
16685 // op: Zm
16686 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16687 Value |= (op & 0x7) << 17;
16688 break;
16689 }
16690 case AArch64::BFMOP4A_M2Z2Z_S:
16691 case AArch64::BFMOP4S_M2Z2Z_S:
16692 case AArch64::FMOP4A_M2Z2Z_BtoS:
16693 case AArch64::FMOP4A_M2Z2Z_HtoS:
16694 case AArch64::FMOP4A_M2Z2Z_S:
16695 case AArch64::FMOP4S_M2Z2Z_HtoS:
16696 case AArch64::FMOP4S_M2Z2Z_S:
16697 case AArch64::SMOP4A_M2Z2Z_BToS:
16698 case AArch64::SMOP4A_M2Z2Z_HToS:
16699 case AArch64::SMOP4S_M2Z2Z_BToS:
16700 case AArch64::SMOP4S_M2Z2Z_HToS:
16701 case AArch64::SUMOP4A_M2Z2Z_BToS:
16702 case AArch64::SUMOP4S_M2Z2Z_BToS:
16703 case AArch64::UMOP4A_M2Z2Z_BToS:
16704 case AArch64::UMOP4A_M2Z2Z_HToS:
16705 case AArch64::UMOP4S_M2Z2Z_BToS:
16706 case AArch64::UMOP4S_M2Z2Z_HToS:
16707 case AArch64::USMOP4A_M2Z2Z_BToS:
16708 case AArch64::USMOP4S_M2Z2Z_BToS: {
16709 // op: ZAda
16710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16711 Value |= (op & 0x3);
16712 // op: Zn
16713 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16714 Value |= (op & 0x7) << 6;
16715 // op: Zm
16716 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16717 Value |= (op & 0x7) << 17;
16718 break;
16719 }
16720 case AArch64::BFMOP4A_M2ZZ_S:
16721 case AArch64::BFMOP4S_M2ZZ_S:
16722 case AArch64::FMOP4A_M2ZZ_BtoS:
16723 case AArch64::FMOP4A_M2ZZ_HtoS:
16724 case AArch64::FMOP4A_M2ZZ_S:
16725 case AArch64::FMOP4S_M2ZZ_HtoS:
16726 case AArch64::FMOP4S_M2ZZ_S:
16727 case AArch64::SMOP4A_M2ZZ_BToS:
16728 case AArch64::SMOP4A_M2ZZ_HToS:
16729 case AArch64::SMOP4S_M2ZZ_BToS:
16730 case AArch64::SMOP4S_M2ZZ_HToS:
16731 case AArch64::SUMOP4A_M2ZZ_BToS:
16732 case AArch64::SUMOP4S_M2ZZ_BToS:
16733 case AArch64::UMOP4A_M2ZZ_BToS:
16734 case AArch64::UMOP4A_M2ZZ_HToS:
16735 case AArch64::UMOP4S_M2ZZ_BToS:
16736 case AArch64::UMOP4S_M2ZZ_HToS:
16737 case AArch64::USMOP4A_M2ZZ_BToS:
16738 case AArch64::USMOP4S_M2ZZ_BToS: {
16739 // op: ZAda
16740 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16741 Value |= (op & 0x3);
16742 // op: Zn
16743 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16744 Value |= (op & 0x7) << 6;
16745 // op: Zm
16746 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16747 Value |= (op & 0x7) << 17;
16748 break;
16749 }
16750 case AArch64::BFTMOPA_M2ZZZI_HtoS:
16751 case AArch64::FTMOPA_M2ZZZI_BtoS:
16752 case AArch64::FTMOPA_M2ZZZI_HtoS:
16753 case AArch64::FTMOPA_M2ZZZI_StoS:
16754 case AArch64::STMOPA_M2ZZZI_BtoS:
16755 case AArch64::STMOPA_M2ZZZI_HtoS:
16756 case AArch64::SUTMOPA_M2ZZZI_BtoS:
16757 case AArch64::USTMOPA_M2ZZZI_BtoS:
16758 case AArch64::UTMOPA_M2ZZZI_BtoS:
16759 case AArch64::UTMOPA_M2ZZZI_HtoS: {
16760 // op: ZAda
16761 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16762 Value |= (op & 0x3);
16763 // op: Zn
16764 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
16765 Value |= (op & 0xf) << 6;
16766 // op: Zm
16767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16768 Value |= (op & 0x1f) << 16;
16769 // op: Zk
16770 op = EncodeZK(MI, OpIdx: 4, Fixups, STI);
16771 Value |= (op & 0x7) << 10;
16772 // op: imm
16773 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16774 Value |= (op & 0x3) << 4;
16775 break;
16776 }
16777 case AArch64::BFMOP4A_MZ2Z_S:
16778 case AArch64::BFMOP4S_MZ2Z_S:
16779 case AArch64::FMOP4A_MZ2Z_BtoS:
16780 case AArch64::FMOP4A_MZ2Z_HtoS:
16781 case AArch64::FMOP4A_MZ2Z_S:
16782 case AArch64::FMOP4S_MZ2Z_HtoS:
16783 case AArch64::FMOP4S_MZ2Z_S:
16784 case AArch64::SMOP4A_MZ2Z_BToS:
16785 case AArch64::SMOP4A_MZ2Z_HToS:
16786 case AArch64::SMOP4S_MZ2Z_BToS:
16787 case AArch64::SMOP4S_MZ2Z_HToS:
16788 case AArch64::SUMOP4A_MZ2Z_BToS:
16789 case AArch64::SUMOP4S_MZ2Z_BToS:
16790 case AArch64::UMOP4A_MZ2Z_BToS:
16791 case AArch64::UMOP4A_MZ2Z_HToS:
16792 case AArch64::UMOP4S_MZ2Z_BToS:
16793 case AArch64::UMOP4S_MZ2Z_HToS:
16794 case AArch64::USMOP4A_MZ2Z_BToS:
16795 case AArch64::USMOP4S_MZ2Z_BToS: {
16796 // op: ZAda
16797 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16798 Value |= (op & 0x3);
16799 // op: Zn
16800 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16801 Value |= (op & 0x7) << 6;
16802 // op: Zm
16803 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16804 Value |= (op & 0x7) << 17;
16805 break;
16806 }
16807 case AArch64::BFMOP4A_MZZ_S:
16808 case AArch64::BFMOP4S_MZZ_S:
16809 case AArch64::FMOP4A_MZZ_BtoS:
16810 case AArch64::FMOP4A_MZZ_HtoS:
16811 case AArch64::FMOP4A_MZZ_S:
16812 case AArch64::FMOP4S_MZZ_HtoS:
16813 case AArch64::FMOP4S_MZZ_S:
16814 case AArch64::SMOP4A_MZZ_BToS:
16815 case AArch64::SMOP4A_MZZ_HToS:
16816 case AArch64::SMOP4S_MZZ_BToS:
16817 case AArch64::SMOP4S_MZZ_HToS:
16818 case AArch64::SUMOP4A_MZZ_BToS:
16819 case AArch64::SUMOP4S_MZZ_BToS:
16820 case AArch64::UMOP4A_MZZ_BToS:
16821 case AArch64::UMOP4A_MZZ_HToS:
16822 case AArch64::UMOP4S_MZZ_BToS:
16823 case AArch64::UMOP4S_MZZ_HToS:
16824 case AArch64::USMOP4A_MZZ_BToS:
16825 case AArch64::USMOP4S_MZZ_BToS: {
16826 // op: ZAda
16827 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16828 Value |= (op & 0x3);
16829 // op: Zn
16830 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16831 Value |= (op & 0x7) << 6;
16832 // op: Zm
16833 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16834 Value |= (op & 0x7) << 17;
16835 break;
16836 }
16837 case AArch64::FMOP4A_M2Z2Z_D:
16838 case AArch64::FMOP4S_M2Z2Z_D:
16839 case AArch64::SMOP4A_M2Z2Z_HtoD:
16840 case AArch64::SMOP4S_M2Z2Z_HtoD:
16841 case AArch64::SUMOP4A_M2Z2Z_HtoD:
16842 case AArch64::SUMOP4S_M2Z2Z_HtoD:
16843 case AArch64::UMOP4A_M2Z2Z_HtoD:
16844 case AArch64::UMOP4S_M2Z2Z_HtoD:
16845 case AArch64::USMOP4A_M2Z2Z_HtoD:
16846 case AArch64::USMOP4S_M2Z2Z_HtoD: {
16847 // op: ZAda
16848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16849 Value |= (op & 0x7);
16850 // op: Zn
16851 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16852 Value |= (op & 0x7) << 6;
16853 // op: Zm
16854 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16855 Value |= (op & 0x7) << 17;
16856 break;
16857 }
16858 case AArch64::FMOP4A_M2ZZ_D:
16859 case AArch64::FMOP4S_M2ZZ_D:
16860 case AArch64::SMOP4A_M2ZZ_HtoD:
16861 case AArch64::SMOP4S_M2ZZ_HtoD:
16862 case AArch64::SUMOP4A_M2ZZ_HtoD:
16863 case AArch64::SUMOP4S_M2ZZ_HtoD:
16864 case AArch64::UMOP4A_M2ZZ_HtoD:
16865 case AArch64::UMOP4S_M2ZZ_HtoD:
16866 case AArch64::USMOP4A_M2ZZ_HtoD:
16867 case AArch64::USMOP4S_M2ZZ_HtoD: {
16868 // op: ZAda
16869 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16870 Value |= (op & 0x7);
16871 // op: Zn
16872 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16873 Value |= (op & 0x7) << 6;
16874 // op: Zm
16875 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16876 Value |= (op & 0x7) << 17;
16877 break;
16878 }
16879 case AArch64::FMOP4A_MZ2Z_D:
16880 case AArch64::FMOP4S_MZ2Z_D:
16881 case AArch64::SMOP4A_MZ2Z_HtoD:
16882 case AArch64::SMOP4S_MZ2Z_HtoD:
16883 case AArch64::SUMOP4A_MZ2Z_HtoD:
16884 case AArch64::SUMOP4S_MZ2Z_HtoD:
16885 case AArch64::UMOP4A_MZ2Z_HtoD:
16886 case AArch64::UMOP4S_MZ2Z_HtoD:
16887 case AArch64::USMOP4A_MZ2Z_HtoD:
16888 case AArch64::USMOP4S_MZ2Z_HtoD: {
16889 // op: ZAda
16890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16891 Value |= (op & 0x7);
16892 // op: Zn
16893 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16894 Value |= (op & 0x7) << 6;
16895 // op: Zm
16896 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16897 Value |= (op & 0x7) << 17;
16898 break;
16899 }
16900 case AArch64::FMOP4A_MZZ_D:
16901 case AArch64::FMOP4S_MZZ_D:
16902 case AArch64::SMOP4A_MZZ_HtoD:
16903 case AArch64::SMOP4S_MZZ_HtoD:
16904 case AArch64::SUMOP4A_MZZ_HtoD:
16905 case AArch64::SUMOP4S_MZZ_HtoD:
16906 case AArch64::UMOP4A_MZZ_HtoD:
16907 case AArch64::UMOP4S_MZZ_HtoD:
16908 case AArch64::USMOP4A_MZZ_HtoD:
16909 case AArch64::USMOP4S_MZZ_HtoD: {
16910 // op: ZAda
16911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16912 Value |= (op & 0x7);
16913 // op: Zn
16914 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16915 Value |= (op & 0x7) << 6;
16916 // op: Zm
16917 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16918 Value |= (op & 0x7) << 17;
16919 break;
16920 }
16921 case AArch64::MOVA_2ZMXI_H_H:
16922 case AArch64::MOVA_2ZMXI_V_H: {
16923 // op: Zd
16924 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16925 Value |= (op & 0xf) << 1;
16926 // op: Rs
16927 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16928 Value |= (op & 0x3) << 13;
16929 // op: ZAn
16930 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16931 Value |= (op & 0x1) << 7;
16932 // op: imm
16933 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16934 Value |= (op & 0x3) << 5;
16935 break;
16936 }
16937 case AArch64::MOVA_2ZMXI_H_S:
16938 case AArch64::MOVA_2ZMXI_V_S: {
16939 // op: Zd
16940 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16941 Value |= (op & 0xf) << 1;
16942 // op: Rs
16943 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16944 Value |= (op & 0x3) << 13;
16945 // op: ZAn
16946 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16947 Value |= (op & 0x3) << 6;
16948 // op: imm
16949 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16950 Value |= (op & 0x1) << 5;
16951 break;
16952 }
16953 case AArch64::MOVA_2ZMXI_H_D:
16954 case AArch64::MOVA_2ZMXI_V_D: {
16955 // op: Zd
16956 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16957 Value |= (op & 0xf) << 1;
16958 // op: Rs
16959 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16960 Value |= (op & 0x3) << 13;
16961 // op: ZAn
16962 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16963 Value |= (op & 0x7) << 5;
16964 break;
16965 }
16966 case AArch64::MOVA_2ZMXI_H_B:
16967 case AArch64::MOVA_2ZMXI_V_B: {
16968 // op: Zd
16969 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16970 Value |= (op & 0xf) << 1;
16971 // op: Rs
16972 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16973 Value |= (op & 0x3) << 13;
16974 // op: imm
16975 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16976 Value |= (op & 0x7) << 5;
16977 break;
16978 }
16979 case AArch64::MOVAZ_2ZMI_H_H:
16980 case AArch64::MOVAZ_2ZMI_V_H: {
16981 // op: Zd
16982 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16983 Value |= (op & 0xf) << 1;
16984 // op: Rs
16985 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
16986 Value |= (op & 0x3) << 13;
16987 // op: ZAn
16988 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16989 Value |= (op & 0x1) << 7;
16990 // op: imm
16991 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16992 Value |= (op & 0x3) << 5;
16993 break;
16994 }
16995 case AArch64::MOVAZ_2ZMI_H_S:
16996 case AArch64::MOVAZ_2ZMI_V_S: {
16997 // op: Zd
16998 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16999 Value |= (op & 0xf) << 1;
17000 // op: Rs
17001 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17002 Value |= (op & 0x3) << 13;
17003 // op: ZAn
17004 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17005 Value |= (op & 0x3) << 6;
17006 // op: imm
17007 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17008 Value |= (op & 0x1) << 5;
17009 break;
17010 }
17011 case AArch64::MOVAZ_2ZMI_H_D:
17012 case AArch64::MOVAZ_2ZMI_V_D: {
17013 // op: Zd
17014 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17015 Value |= (op & 0xf) << 1;
17016 // op: Rs
17017 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17018 Value |= (op & 0x3) << 13;
17019 // op: ZAn
17020 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17021 Value |= (op & 0x7) << 5;
17022 break;
17023 }
17024 case AArch64::MOVAZ_2ZMI_H_B:
17025 case AArch64::MOVAZ_2ZMI_V_B: {
17026 // op: Zd
17027 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17028 Value |= (op & 0xf) << 1;
17029 // op: Rs
17030 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17031 Value |= (op & 0x3) << 13;
17032 // op: imm
17033 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17034 Value |= (op & 0x7) << 5;
17035 break;
17036 }
17037 case AArch64::UZP_VG2_2ZZZ_B:
17038 case AArch64::UZP_VG2_2ZZZ_D:
17039 case AArch64::UZP_VG2_2ZZZ_H:
17040 case AArch64::UZP_VG2_2ZZZ_Q:
17041 case AArch64::UZP_VG2_2ZZZ_S:
17042 case AArch64::ZIP_VG2_2ZZZ_B:
17043 case AArch64::ZIP_VG2_2ZZZ_D:
17044 case AArch64::ZIP_VG2_2ZZZ_H:
17045 case AArch64::ZIP_VG2_2ZZZ_Q:
17046 case AArch64::ZIP_VG2_2ZZZ_S: {
17047 // op: Zd
17048 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17049 Value |= (op & 0xf) << 1;
17050 // op: Zm
17051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17052 Value |= (op & 0x1f) << 16;
17053 // op: Zn
17054 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17055 Value |= (op & 0x1f) << 5;
17056 break;
17057 }
17058 case AArch64::BFMUL_2Z2Z:
17059 case AArch64::FMUL_2Z2Z_D:
17060 case AArch64::FMUL_2Z2Z_H:
17061 case AArch64::FMUL_2Z2Z_S: {
17062 // op: Zd
17063 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17064 Value |= (op & 0xf) << 1;
17065 // op: Zn
17066 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17067 Value |= (op & 0xf) << 6;
17068 // op: Zm
17069 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
17070 Value |= (op & 0xf) << 17;
17071 break;
17072 }
17073 case AArch64::BFMUL_2ZZ:
17074 case AArch64::FMUL_2ZZ_D:
17075 case AArch64::FMUL_2ZZ_H:
17076 case AArch64::FMUL_2ZZ_S: {
17077 // op: Zd
17078 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17079 Value |= (op & 0xf) << 1;
17080 // op: Zn
17081 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17082 Value |= (op & 0xf) << 6;
17083 // op: Zm
17084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17085 Value |= (op & 0xf) << 17;
17086 break;
17087 }
17088 case AArch64::MOVA_4ZMXI_H_H:
17089 case AArch64::MOVA_4ZMXI_V_H: {
17090 // op: Zd
17091 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17092 Value |= (op & 0x7) << 2;
17093 // op: Rs
17094 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17095 Value |= (op & 0x3) << 13;
17096 // op: ZAn
17097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17098 Value |= (op & 0x1) << 6;
17099 // op: imm
17100 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17101 Value |= (op & 0x1) << 5;
17102 break;
17103 }
17104 case AArch64::MOVA_4ZMXI_H_S:
17105 case AArch64::MOVA_4ZMXI_V_S: {
17106 // op: Zd
17107 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17108 Value |= (op & 0x7) << 2;
17109 // op: Rs
17110 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17111 Value |= (op & 0x3) << 13;
17112 // op: ZAn
17113 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17114 Value |= (op & 0x3) << 5;
17115 break;
17116 }
17117 case AArch64::MOVA_4ZMXI_H_D:
17118 case AArch64::MOVA_4ZMXI_V_D: {
17119 // op: Zd
17120 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17121 Value |= (op & 0x7) << 2;
17122 // op: Rs
17123 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17124 Value |= (op & 0x3) << 13;
17125 // op: ZAn
17126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17127 Value |= (op & 0x7) << 5;
17128 break;
17129 }
17130 case AArch64::MOVA_4ZMXI_H_B:
17131 case AArch64::MOVA_4ZMXI_V_B: {
17132 // op: Zd
17133 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17134 Value |= (op & 0x7) << 2;
17135 // op: Rs
17136 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17137 Value |= (op & 0x3) << 13;
17138 // op: imm
17139 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17140 Value |= (op & 0x3) << 5;
17141 break;
17142 }
17143 case AArch64::MOVAZ_4ZMI_H_H:
17144 case AArch64::MOVAZ_4ZMI_V_H: {
17145 // op: Zd
17146 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17147 Value |= (op & 0x7) << 2;
17148 // op: Rs
17149 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17150 Value |= (op & 0x3) << 13;
17151 // op: ZAn
17152 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17153 Value |= (op & 0x1) << 6;
17154 // op: imm
17155 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17156 Value |= (op & 0x1) << 5;
17157 break;
17158 }
17159 case AArch64::MOVAZ_4ZMI_H_S:
17160 case AArch64::MOVAZ_4ZMI_V_S: {
17161 // op: Zd
17162 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17163 Value |= (op & 0x7) << 2;
17164 // op: Rs
17165 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17166 Value |= (op & 0x3) << 13;
17167 // op: ZAn
17168 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17169 Value |= (op & 0x3) << 5;
17170 break;
17171 }
17172 case AArch64::MOVAZ_4ZMI_H_D:
17173 case AArch64::MOVAZ_4ZMI_V_D: {
17174 // op: Zd
17175 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17176 Value |= (op & 0x7) << 2;
17177 // op: Rs
17178 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17179 Value |= (op & 0x3) << 13;
17180 // op: ZAn
17181 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17182 Value |= (op & 0x7) << 5;
17183 break;
17184 }
17185 case AArch64::MOVAZ_4ZMI_H_B:
17186 case AArch64::MOVAZ_4ZMI_V_B: {
17187 // op: Zd
17188 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17189 Value |= (op & 0x7) << 2;
17190 // op: Rs
17191 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17192 Value |= (op & 0x3) << 13;
17193 // op: imm
17194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17195 Value |= (op & 0x3) << 5;
17196 break;
17197 }
17198 case AArch64::BFMUL_4Z4Z:
17199 case AArch64::FMUL_4Z4Z_D:
17200 case AArch64::FMUL_4Z4Z_H:
17201 case AArch64::FMUL_4Z4Z_S: {
17202 // op: Zd
17203 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17204 Value |= (op & 0x7) << 2;
17205 // op: Zn
17206 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
17207 Value |= (op & 0x7) << 7;
17208 // op: Zm
17209 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 2, Fixups, STI);
17210 Value |= (op & 0x7) << 18;
17211 break;
17212 }
17213 case AArch64::BFMUL_4ZZ:
17214 case AArch64::FMUL_4ZZ_D:
17215 case AArch64::FMUL_4ZZ_H:
17216 case AArch64::FMUL_4ZZ_S: {
17217 // op: Zd
17218 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17219 Value |= (op & 0x7) << 2;
17220 // op: Zn
17221 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
17222 Value |= (op & 0x7) << 7;
17223 // op: Zm
17224 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17225 Value |= (op & 0xf) << 17;
17226 break;
17227 }
17228 case AArch64::LUTI6_4Z2Z2ZI: {
17229 // op: Zd
17230 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17231 Value |= (op & 0x7) << 2;
17232 // op: Zn
17233 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17234 Value |= (op & 0x1f) << 5;
17235 // op: Zm
17236 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17237 Value |= (op & 0x1f) << 16;
17238 // op: i1
17239 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17240 Value |= (op & 0x1) << 22;
17241 break;
17242 }
17243 case AArch64::LUTI6_4ZT3Z: {
17244 // op: Zd
17245 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17246 Value |= (op & 0x7) << 2;
17247 // op: Zn
17248 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17249 Value |= (op & 0x7) << 7;
17250 break;
17251 }
17252 case AArch64::LUTI6_S_4Z2Z2ZI: {
17253 // op: Zd
17254 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
17255 Value |= (op & 0x4) << 2;
17256 Value |= (op & 0x3);
17257 // op: Zn
17258 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17259 Value |= (op & 0x1f) << 5;
17260 // op: Zm
17261 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17262 Value |= (op & 0x1f) << 16;
17263 // op: i1
17264 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17265 Value |= (op & 0x1) << 22;
17266 break;
17267 }
17268 case AArch64::LUTI6_S_4ZT3Z: {
17269 // op: Zd
17270 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
17271 Value |= (op & 0x4) << 2;
17272 Value |= (op & 0x3);
17273 // op: Zn
17274 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17275 Value |= (op & 0x7) << 7;
17276 break;
17277 }
17278 case AArch64::RBIT_ZPzZ_B:
17279 case AArch64::RBIT_ZPzZ_D:
17280 case AArch64::RBIT_ZPzZ_H:
17281 case AArch64::RBIT_ZPzZ_S:
17282 case AArch64::REVB_ZPzZ_D:
17283 case AArch64::REVB_ZPzZ_H:
17284 case AArch64::REVB_ZPzZ_S:
17285 case AArch64::REVD_ZPzZ:
17286 case AArch64::REVH_ZPzZ_D:
17287 case AArch64::REVH_ZPzZ_S:
17288 case AArch64::REVW_ZPzZ_D: {
17289 // op: Zd
17290 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17291 Value |= (op & 0x1f);
17292 // op: Pg
17293 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17294 Value |= (op & 0x7) << 10;
17295 // op: Zn
17296 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17297 Value |= (op & 0x1f) << 5;
17298 break;
17299 }
17300 case AArch64::CPY_ZPzI_B:
17301 case AArch64::CPY_ZPzI_D:
17302 case AArch64::CPY_ZPzI_H:
17303 case AArch64::CPY_ZPzI_S: {
17304 // op: Zd
17305 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17306 Value |= (op & 0x1f);
17307 // op: Pg
17308 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17309 Value |= (op & 0xf) << 16;
17310 // op: imm
17311 op = getImm8OptLsl(MI, OpIdx: 2, Fixups, STI);
17312 Value |= (op & 0x1ff) << 5;
17313 break;
17314 }
17315 case AArch64::RBIT_ZPmZ_B:
17316 case AArch64::RBIT_ZPmZ_D:
17317 case AArch64::RBIT_ZPmZ_H:
17318 case AArch64::RBIT_ZPmZ_S:
17319 case AArch64::REVB_ZPmZ_D:
17320 case AArch64::REVB_ZPmZ_H:
17321 case AArch64::REVB_ZPmZ_S:
17322 case AArch64::REVD_ZPmZ:
17323 case AArch64::REVH_ZPmZ_D:
17324 case AArch64::REVH_ZPmZ_S:
17325 case AArch64::REVW_ZPmZ_D: {
17326 // op: Zd
17327 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17328 Value |= (op & 0x1f);
17329 // op: Pg
17330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17331 Value |= (op & 0x7) << 10;
17332 // op: Zn
17333 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17334 Value |= (op & 0x1f) << 5;
17335 break;
17336 }
17337 case AArch64::CPY_ZPmI_B:
17338 case AArch64::CPY_ZPmI_D:
17339 case AArch64::CPY_ZPmI_H:
17340 case AArch64::CPY_ZPmI_S: {
17341 // op: Zd
17342 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17343 Value |= (op & 0x1f);
17344 // op: Pg
17345 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17346 Value |= (op & 0xf) << 16;
17347 // op: imm
17348 op = getImm8OptLsl(MI, OpIdx: 3, Fixups, STI);
17349 Value |= (op & 0x1ff) << 5;
17350 break;
17351 }
17352 case AArch64::PMOV_ZIP_B: {
17353 // op: Zd
17354 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17355 Value |= (op & 0x1f);
17356 // op: Pn
17357 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17358 Value |= (op & 0xf) << 5;
17359 break;
17360 }
17361 case AArch64::PMOV_ZIP_H: {
17362 // op: Zd
17363 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17364 Value |= (op & 0x1f);
17365 // op: Pn
17366 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17367 Value |= (op & 0xf) << 5;
17368 // op: index
17369 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17370 Value |= (op & 0x1) << 17;
17371 break;
17372 }
17373 case AArch64::PMOV_ZIP_S: {
17374 // op: Zd
17375 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17376 Value |= (op & 0x1f);
17377 // op: Pn
17378 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17379 Value |= (op & 0xf) << 5;
17380 // op: index
17381 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17382 Value |= (op & 0x3) << 17;
17383 break;
17384 }
17385 case AArch64::PMOV_ZIP_D: {
17386 // op: Zd
17387 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17388 Value |= (op & 0x1f);
17389 // op: Pn
17390 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17391 Value |= (op & 0xf) << 5;
17392 // op: index
17393 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17394 Value |= (op & 0x4) << 20;
17395 Value |= (op & 0x3) << 17;
17396 break;
17397 }
17398 case AArch64::INDEX_RR_B:
17399 case AArch64::INDEX_RR_D:
17400 case AArch64::INDEX_RR_H:
17401 case AArch64::INDEX_RR_S: {
17402 // op: Zd
17403 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17404 Value |= (op & 0x1f);
17405 // op: Rm
17406 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17407 Value |= (op & 0x1f) << 16;
17408 // op: Rn
17409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17410 Value |= (op & 0x1f) << 5;
17411 break;
17412 }
17413 case AArch64::ADDQP_ZZZ_B:
17414 case AArch64::ADDQP_ZZZ_D:
17415 case AArch64::ADDQP_ZZZ_H:
17416 case AArch64::ADDQP_ZZZ_S:
17417 case AArch64::ADDSUBP_ZZZ_B:
17418 case AArch64::ADDSUBP_ZZZ_D:
17419 case AArch64::ADDSUBP_ZZZ_H:
17420 case AArch64::ADDSUBP_ZZZ_S:
17421 case AArch64::ADD_ZZZ_B:
17422 case AArch64::ADD_ZZZ_CPA:
17423 case AArch64::ADD_ZZZ_D:
17424 case AArch64::ADD_ZZZ_H:
17425 case AArch64::ADD_ZZZ_S:
17426 case AArch64::AND_ZZZ:
17427 case AArch64::ASR_WIDE_ZZZ_B:
17428 case AArch64::ASR_WIDE_ZZZ_H:
17429 case AArch64::ASR_WIDE_ZZZ_S:
17430 case AArch64::BFADD_ZZZ:
17431 case AArch64::BFMUL_ZZZ:
17432 case AArch64::BFSUB_ZZZ:
17433 case AArch64::BIC_ZZZ:
17434 case AArch64::EOR_ZZZ:
17435 case AArch64::FADD_ZZZ_D:
17436 case AArch64::FADD_ZZZ_H:
17437 case AArch64::FADD_ZZZ_S:
17438 case AArch64::FMUL_ZZZ_D:
17439 case AArch64::FMUL_ZZZ_H:
17440 case AArch64::FMUL_ZZZ_S:
17441 case AArch64::FRECPS_ZZZ_D:
17442 case AArch64::FRECPS_ZZZ_H:
17443 case AArch64::FRECPS_ZZZ_S:
17444 case AArch64::FRSQRTS_ZZZ_D:
17445 case AArch64::FRSQRTS_ZZZ_H:
17446 case AArch64::FRSQRTS_ZZZ_S:
17447 case AArch64::FSUB_ZZZ_D:
17448 case AArch64::FSUB_ZZZ_H:
17449 case AArch64::FSUB_ZZZ_S:
17450 case AArch64::FTSMUL_ZZZ_D:
17451 case AArch64::FTSMUL_ZZZ_H:
17452 case AArch64::FTSMUL_ZZZ_S:
17453 case AArch64::FTSSEL_ZZZ_D:
17454 case AArch64::FTSSEL_ZZZ_H:
17455 case AArch64::FTSSEL_ZZZ_S:
17456 case AArch64::LSL_WIDE_ZZZ_B:
17457 case AArch64::LSL_WIDE_ZZZ_H:
17458 case AArch64::LSL_WIDE_ZZZ_S:
17459 case AArch64::LSR_WIDE_ZZZ_B:
17460 case AArch64::LSR_WIDE_ZZZ_H:
17461 case AArch64::LSR_WIDE_ZZZ_S:
17462 case AArch64::MUL_ZZZ_B:
17463 case AArch64::MUL_ZZZ_D:
17464 case AArch64::MUL_ZZZ_H:
17465 case AArch64::MUL_ZZZ_S:
17466 case AArch64::ORR_ZZZ:
17467 case AArch64::PMUL_ZZZ_B:
17468 case AArch64::SMULH_ZZZ_B:
17469 case AArch64::SMULH_ZZZ_D:
17470 case AArch64::SMULH_ZZZ_H:
17471 case AArch64::SMULH_ZZZ_S:
17472 case AArch64::SQADD_ZZZ_B:
17473 case AArch64::SQADD_ZZZ_D:
17474 case AArch64::SQADD_ZZZ_H:
17475 case AArch64::SQADD_ZZZ_S:
17476 case AArch64::SQDMULH_ZZZ_B:
17477 case AArch64::SQDMULH_ZZZ_D:
17478 case AArch64::SQDMULH_ZZZ_H:
17479 case AArch64::SQDMULH_ZZZ_S:
17480 case AArch64::SQRDMULH_ZZZ_B:
17481 case AArch64::SQRDMULH_ZZZ_D:
17482 case AArch64::SQRDMULH_ZZZ_H:
17483 case AArch64::SQRDMULH_ZZZ_S:
17484 case AArch64::SQSUB_ZZZ_B:
17485 case AArch64::SQSUB_ZZZ_D:
17486 case AArch64::SQSUB_ZZZ_H:
17487 case AArch64::SQSUB_ZZZ_S:
17488 case AArch64::SUB_ZZZ_B:
17489 case AArch64::SUB_ZZZ_CPA:
17490 case AArch64::SUB_ZZZ_D:
17491 case AArch64::SUB_ZZZ_H:
17492 case AArch64::SUB_ZZZ_S:
17493 case AArch64::TBL_ZZZZ_B:
17494 case AArch64::TBL_ZZZZ_D:
17495 case AArch64::TBL_ZZZZ_H:
17496 case AArch64::TBL_ZZZZ_S:
17497 case AArch64::TBL_ZZZ_B:
17498 case AArch64::TBL_ZZZ_D:
17499 case AArch64::TBL_ZZZ_H:
17500 case AArch64::TBL_ZZZ_S:
17501 case AArch64::TRN1_ZZZ_B:
17502 case AArch64::TRN1_ZZZ_D:
17503 case AArch64::TRN1_ZZZ_H:
17504 case AArch64::TRN1_ZZZ_Q:
17505 case AArch64::TRN1_ZZZ_S:
17506 case AArch64::TRN2_ZZZ_B:
17507 case AArch64::TRN2_ZZZ_D:
17508 case AArch64::TRN2_ZZZ_H:
17509 case AArch64::TRN2_ZZZ_Q:
17510 case AArch64::TRN2_ZZZ_S:
17511 case AArch64::UMULH_ZZZ_B:
17512 case AArch64::UMULH_ZZZ_D:
17513 case AArch64::UMULH_ZZZ_H:
17514 case AArch64::UMULH_ZZZ_S:
17515 case AArch64::UQADD_ZZZ_B:
17516 case AArch64::UQADD_ZZZ_D:
17517 case AArch64::UQADD_ZZZ_H:
17518 case AArch64::UQADD_ZZZ_S:
17519 case AArch64::UQSUB_ZZZ_B:
17520 case AArch64::UQSUB_ZZZ_D:
17521 case AArch64::UQSUB_ZZZ_H:
17522 case AArch64::UQSUB_ZZZ_S:
17523 case AArch64::UZP1_ZZZ_B:
17524 case AArch64::UZP1_ZZZ_D:
17525 case AArch64::UZP1_ZZZ_H:
17526 case AArch64::UZP1_ZZZ_Q:
17527 case AArch64::UZP1_ZZZ_S:
17528 case AArch64::UZP2_ZZZ_B:
17529 case AArch64::UZP2_ZZZ_D:
17530 case AArch64::UZP2_ZZZ_H:
17531 case AArch64::UZP2_ZZZ_Q:
17532 case AArch64::UZP2_ZZZ_S:
17533 case AArch64::ZIP1_ZZZ_B:
17534 case AArch64::ZIP1_ZZZ_D:
17535 case AArch64::ZIP1_ZZZ_H:
17536 case AArch64::ZIP1_ZZZ_Q:
17537 case AArch64::ZIP1_ZZZ_S:
17538 case AArch64::ZIP2_ZZZ_B:
17539 case AArch64::ZIP2_ZZZ_D:
17540 case AArch64::ZIP2_ZZZ_H:
17541 case AArch64::ZIP2_ZZZ_Q:
17542 case AArch64::ZIP2_ZZZ_S: {
17543 // op: Zd
17544 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17545 Value |= (op & 0x1f);
17546 // op: Zm
17547 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17548 Value |= (op & 0x1f) << 16;
17549 // op: Zn
17550 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17551 Value |= (op & 0x1f) << 5;
17552 break;
17553 }
17554 case AArch64::TBXQ_ZZZ_B:
17555 case AArch64::TBXQ_ZZZ_D:
17556 case AArch64::TBXQ_ZZZ_H:
17557 case AArch64::TBXQ_ZZZ_S:
17558 case AArch64::TBX_ZZZ_B:
17559 case AArch64::TBX_ZZZ_D:
17560 case AArch64::TBX_ZZZ_H:
17561 case AArch64::TBX_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: 3), Fixups, STI);
17567 Value |= (op & 0x1f) << 16;
17568 // op: Zn
17569 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17570 Value |= (op & 0x1f) << 5;
17571 break;
17572 }
17573 case AArch64::BFCVTN_Z2Z_HtoB:
17574 case AArch64::FCVTNB_Z2Z_StoB:
17575 case AArch64::FCVTN_Z2Z_HtoB:
17576 case AArch64::FCVTZSN_Z2Z_DtoS:
17577 case AArch64::FCVTZSN_Z2Z_HtoB:
17578 case AArch64::FCVTZSN_Z2Z_StoH:
17579 case AArch64::FCVTZUN_Z2Z_DtoS:
17580 case AArch64::FCVTZUN_Z2Z_HtoB:
17581 case AArch64::FCVTZUN_Z2Z_StoH:
17582 case AArch64::SQCVTN_Z2Z_StoH:
17583 case AArch64::SQCVTUN_Z2Z_StoH:
17584 case AArch64::UQCVTN_Z2Z_StoH: {
17585 // op: Zd
17586 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17587 Value |= (op & 0x1f);
17588 // op: Zn
17589 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17590 Value |= (op & 0xf) << 6;
17591 break;
17592 }
17593 case AArch64::SQRSHRN_Z2ZI_StoH:
17594 case AArch64::SQRSHRUN_Z2ZI_StoH:
17595 case AArch64::SQSHRN_Z2ZI_StoH:
17596 case AArch64::SQSHRUN_Z2ZI_StoH:
17597 case AArch64::UQRSHRN_Z2ZI_StoH:
17598 case AArch64::UQSHRN_Z2ZI_StoH: {
17599 // op: Zd
17600 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17601 Value |= (op & 0x1f);
17602 // op: Zn
17603 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17604 Value |= (op & 0xf) << 6;
17605 // op: imm
17606 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
17607 Value |= (op & 0xf) << 16;
17608 break;
17609 }
17610 case AArch64::SQRSHRN_Z2ZI_HtoB:
17611 case AArch64::SQRSHRUN_Z2ZI_HtoB:
17612 case AArch64::SQSHRN_Z2ZI_HtoB:
17613 case AArch64::SQSHRUN_Z2ZI_HtoB:
17614 case AArch64::UQRSHRN_Z2ZI_HtoB:
17615 case AArch64::UQSHRN_Z2ZI_HtoB: {
17616 // op: Zd
17617 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17618 Value |= (op & 0x1f);
17619 // op: Zn
17620 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17621 Value |= (op & 0xf) << 6;
17622 // op: imm
17623 op = getVecShiftR8OpValue(MI, OpIdx: 2, Fixups, STI);
17624 Value |= (op & 0x7) << 16;
17625 break;
17626 }
17627 case AArch64::FCVTNT_Z2Z_StoB: {
17628 // op: Zd
17629 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17630 Value |= (op & 0x1f);
17631 // op: Zn
17632 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
17633 Value |= (op & 0xf) << 6;
17634 break;
17635 }
17636 case AArch64::BF1CVTLT_ZZ_BtoH:
17637 case AArch64::BF1CVT_ZZ_BtoH:
17638 case AArch64::BF2CVTLT_ZZ_BtoH:
17639 case AArch64::BF2CVT_ZZ_BtoH:
17640 case AArch64::F1CVTLT_ZZ_BtoH:
17641 case AArch64::F1CVT_ZZ_BtoH:
17642 case AArch64::F2CVTLT_ZZ_BtoH:
17643 case AArch64::F2CVT_ZZ_BtoH:
17644 case AArch64::FEXPA_ZZ_D:
17645 case AArch64::FEXPA_ZZ_H:
17646 case AArch64::FEXPA_ZZ_S:
17647 case AArch64::FRECPE_ZZ_D:
17648 case AArch64::FRECPE_ZZ_H:
17649 case AArch64::FRECPE_ZZ_S:
17650 case AArch64::FRSQRTE_ZZ_D:
17651 case AArch64::FRSQRTE_ZZ_H:
17652 case AArch64::FRSQRTE_ZZ_S:
17653 case AArch64::MOVPRFX_ZZ:
17654 case AArch64::REV_ZZ_B:
17655 case AArch64::REV_ZZ_D:
17656 case AArch64::REV_ZZ_H:
17657 case AArch64::REV_ZZ_S:
17658 case AArch64::SCVTFLT_ZZ_BtoH:
17659 case AArch64::SCVTFLT_ZZ_HtoS:
17660 case AArch64::SCVTFLT_ZZ_StoD:
17661 case AArch64::SCVTF_ZZ_BtoH:
17662 case AArch64::SCVTF_ZZ_HtoS:
17663 case AArch64::SCVTF_ZZ_StoD:
17664 case AArch64::SQXTNB_ZZ_B:
17665 case AArch64::SQXTNB_ZZ_H:
17666 case AArch64::SQXTNB_ZZ_S:
17667 case AArch64::SQXTUNB_ZZ_B:
17668 case AArch64::SQXTUNB_ZZ_H:
17669 case AArch64::SQXTUNB_ZZ_S:
17670 case AArch64::SUNPKHI_ZZ_D:
17671 case AArch64::SUNPKHI_ZZ_H:
17672 case AArch64::SUNPKHI_ZZ_S:
17673 case AArch64::SUNPKLO_ZZ_D:
17674 case AArch64::SUNPKLO_ZZ_H:
17675 case AArch64::SUNPKLO_ZZ_S:
17676 case AArch64::UCVTFLT_ZZ_BtoH:
17677 case AArch64::UCVTFLT_ZZ_HtoS:
17678 case AArch64::UCVTFLT_ZZ_StoD:
17679 case AArch64::UCVTF_ZZ_BtoH:
17680 case AArch64::UCVTF_ZZ_HtoS:
17681 case AArch64::UCVTF_ZZ_StoD:
17682 case AArch64::UQXTNB_ZZ_B:
17683 case AArch64::UQXTNB_ZZ_H:
17684 case AArch64::UQXTNB_ZZ_S:
17685 case AArch64::UUNPKHI_ZZ_D:
17686 case AArch64::UUNPKHI_ZZ_H:
17687 case AArch64::UUNPKHI_ZZ_S:
17688 case AArch64::UUNPKLO_ZZ_D:
17689 case AArch64::UUNPKLO_ZZ_H:
17690 case AArch64::UUNPKLO_ZZ_S: {
17691 // op: Zd
17692 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17693 Value |= (op & 0x1f);
17694 // op: Zn
17695 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17696 Value |= (op & 0x1f) << 5;
17697 break;
17698 }
17699 case AArch64::ADDHNB_ZZZ_B:
17700 case AArch64::ADDHNB_ZZZ_H:
17701 case AArch64::ADDHNB_ZZZ_S:
17702 case AArch64::ADR_LSL_ZZZ_D_0:
17703 case AArch64::ADR_LSL_ZZZ_D_1:
17704 case AArch64::ADR_LSL_ZZZ_D_2:
17705 case AArch64::ADR_LSL_ZZZ_D_3:
17706 case AArch64::ADR_LSL_ZZZ_S_0:
17707 case AArch64::ADR_LSL_ZZZ_S_1:
17708 case AArch64::ADR_LSL_ZZZ_S_2:
17709 case AArch64::ADR_LSL_ZZZ_S_3:
17710 case AArch64::ADR_SXTW_ZZZ_D_0:
17711 case AArch64::ADR_SXTW_ZZZ_D_1:
17712 case AArch64::ADR_SXTW_ZZZ_D_2:
17713 case AArch64::ADR_SXTW_ZZZ_D_3:
17714 case AArch64::ADR_UXTW_ZZZ_D_0:
17715 case AArch64::ADR_UXTW_ZZZ_D_1:
17716 case AArch64::ADR_UXTW_ZZZ_D_2:
17717 case AArch64::ADR_UXTW_ZZZ_D_3:
17718 case AArch64::BDEP_ZZZ_B:
17719 case AArch64::BDEP_ZZZ_D:
17720 case AArch64::BDEP_ZZZ_H:
17721 case AArch64::BDEP_ZZZ_S:
17722 case AArch64::BEXT_ZZZ_B:
17723 case AArch64::BEXT_ZZZ_D:
17724 case AArch64::BEXT_ZZZ_H:
17725 case AArch64::BEXT_ZZZ_S:
17726 case AArch64::BGRP_ZZZ_B:
17727 case AArch64::BGRP_ZZZ_D:
17728 case AArch64::BGRP_ZZZ_H:
17729 case AArch64::BGRP_ZZZ_S:
17730 case AArch64::HISTSEG_ZZZ:
17731 case AArch64::LUTI6_Z2ZZ:
17732 case AArch64::PMULLB_ZZZ_D:
17733 case AArch64::PMULLB_ZZZ_H:
17734 case AArch64::PMULLB_ZZZ_Q:
17735 case AArch64::PMULLT_ZZZ_D:
17736 case AArch64::PMULLT_ZZZ_H:
17737 case AArch64::PMULLT_ZZZ_Q:
17738 case AArch64::RADDHNB_ZZZ_B:
17739 case AArch64::RADDHNB_ZZZ_H:
17740 case AArch64::RADDHNB_ZZZ_S:
17741 case AArch64::RAX1_ZZZ_D:
17742 case AArch64::RSUBHNB_ZZZ_B:
17743 case AArch64::RSUBHNB_ZZZ_H:
17744 case AArch64::RSUBHNB_ZZZ_S:
17745 case AArch64::SABDLB_ZZZ_D:
17746 case AArch64::SABDLB_ZZZ_H:
17747 case AArch64::SABDLB_ZZZ_S:
17748 case AArch64::SABDLT_ZZZ_D:
17749 case AArch64::SABDLT_ZZZ_H:
17750 case AArch64::SABDLT_ZZZ_S:
17751 case AArch64::SADDLBT_ZZZ_D:
17752 case AArch64::SADDLBT_ZZZ_H:
17753 case AArch64::SADDLBT_ZZZ_S:
17754 case AArch64::SADDLB_ZZZ_D:
17755 case AArch64::SADDLB_ZZZ_H:
17756 case AArch64::SADDLB_ZZZ_S:
17757 case AArch64::SADDLT_ZZZ_D:
17758 case AArch64::SADDLT_ZZZ_H:
17759 case AArch64::SADDLT_ZZZ_S:
17760 case AArch64::SADDWB_ZZZ_D:
17761 case AArch64::SADDWB_ZZZ_H:
17762 case AArch64::SADDWB_ZZZ_S:
17763 case AArch64::SADDWT_ZZZ_D:
17764 case AArch64::SADDWT_ZZZ_H:
17765 case AArch64::SADDWT_ZZZ_S:
17766 case AArch64::SM4EKEY_ZZZ_S:
17767 case AArch64::SMULLB_ZZZ_D:
17768 case AArch64::SMULLB_ZZZ_H:
17769 case AArch64::SMULLB_ZZZ_S:
17770 case AArch64::SMULLT_ZZZ_D:
17771 case AArch64::SMULLT_ZZZ_H:
17772 case AArch64::SMULLT_ZZZ_S:
17773 case AArch64::SQDMULLB_ZZZ_D:
17774 case AArch64::SQDMULLB_ZZZ_H:
17775 case AArch64::SQDMULLB_ZZZ_S:
17776 case AArch64::SQDMULLT_ZZZ_D:
17777 case AArch64::SQDMULLT_ZZZ_H:
17778 case AArch64::SQDMULLT_ZZZ_S:
17779 case AArch64::SSUBLBT_ZZZ_D:
17780 case AArch64::SSUBLBT_ZZZ_H:
17781 case AArch64::SSUBLBT_ZZZ_S:
17782 case AArch64::SSUBLB_ZZZ_D:
17783 case AArch64::SSUBLB_ZZZ_H:
17784 case AArch64::SSUBLB_ZZZ_S:
17785 case AArch64::SSUBLTB_ZZZ_D:
17786 case AArch64::SSUBLTB_ZZZ_H:
17787 case AArch64::SSUBLTB_ZZZ_S:
17788 case AArch64::SSUBLT_ZZZ_D:
17789 case AArch64::SSUBLT_ZZZ_H:
17790 case AArch64::SSUBLT_ZZZ_S:
17791 case AArch64::SSUBWB_ZZZ_D:
17792 case AArch64::SSUBWB_ZZZ_H:
17793 case AArch64::SSUBWB_ZZZ_S:
17794 case AArch64::SSUBWT_ZZZ_D:
17795 case AArch64::SSUBWT_ZZZ_H:
17796 case AArch64::SSUBWT_ZZZ_S:
17797 case AArch64::SUBHNB_ZZZ_B:
17798 case AArch64::SUBHNB_ZZZ_H:
17799 case AArch64::SUBHNB_ZZZ_S:
17800 case AArch64::TBLQ_ZZZ_B:
17801 case AArch64::TBLQ_ZZZ_D:
17802 case AArch64::TBLQ_ZZZ_H:
17803 case AArch64::TBLQ_ZZZ_S:
17804 case AArch64::UABDLB_ZZZ_D:
17805 case AArch64::UABDLB_ZZZ_H:
17806 case AArch64::UABDLB_ZZZ_S:
17807 case AArch64::UABDLT_ZZZ_D:
17808 case AArch64::UABDLT_ZZZ_H:
17809 case AArch64::UABDLT_ZZZ_S:
17810 case AArch64::UADDLB_ZZZ_D:
17811 case AArch64::UADDLB_ZZZ_H:
17812 case AArch64::UADDLB_ZZZ_S:
17813 case AArch64::UADDLT_ZZZ_D:
17814 case AArch64::UADDLT_ZZZ_H:
17815 case AArch64::UADDLT_ZZZ_S:
17816 case AArch64::UADDWB_ZZZ_D:
17817 case AArch64::UADDWB_ZZZ_H:
17818 case AArch64::UADDWB_ZZZ_S:
17819 case AArch64::UADDWT_ZZZ_D:
17820 case AArch64::UADDWT_ZZZ_H:
17821 case AArch64::UADDWT_ZZZ_S:
17822 case AArch64::UMULLB_ZZZ_D:
17823 case AArch64::UMULLB_ZZZ_H:
17824 case AArch64::UMULLB_ZZZ_S:
17825 case AArch64::UMULLT_ZZZ_D:
17826 case AArch64::UMULLT_ZZZ_H:
17827 case AArch64::UMULLT_ZZZ_S:
17828 case AArch64::USUBLB_ZZZ_D:
17829 case AArch64::USUBLB_ZZZ_H:
17830 case AArch64::USUBLB_ZZZ_S:
17831 case AArch64::USUBLT_ZZZ_D:
17832 case AArch64::USUBLT_ZZZ_H:
17833 case AArch64::USUBLT_ZZZ_S:
17834 case AArch64::USUBWB_ZZZ_D:
17835 case AArch64::USUBWB_ZZZ_H:
17836 case AArch64::USUBWB_ZZZ_S:
17837 case AArch64::USUBWT_ZZZ_D:
17838 case AArch64::USUBWT_ZZZ_H:
17839 case AArch64::USUBWT_ZZZ_S:
17840 case AArch64::UZPQ1_ZZZ_B:
17841 case AArch64::UZPQ1_ZZZ_D:
17842 case AArch64::UZPQ1_ZZZ_H:
17843 case AArch64::UZPQ1_ZZZ_S:
17844 case AArch64::UZPQ2_ZZZ_B:
17845 case AArch64::UZPQ2_ZZZ_D:
17846 case AArch64::UZPQ2_ZZZ_H:
17847 case AArch64::UZPQ2_ZZZ_S:
17848 case AArch64::ZIPQ1_ZZZ_B:
17849 case AArch64::ZIPQ1_ZZZ_D:
17850 case AArch64::ZIPQ1_ZZZ_H:
17851 case AArch64::ZIPQ1_ZZZ_S:
17852 case AArch64::ZIPQ2_ZZZ_B:
17853 case AArch64::ZIPQ2_ZZZ_D:
17854 case AArch64::ZIPQ2_ZZZ_H:
17855 case AArch64::ZIPQ2_ZZZ_S: {
17856 // op: Zd
17857 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17858 Value |= (op & 0x1f);
17859 // op: Zn
17860 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17861 Value |= (op & 0x1f) << 5;
17862 // op: Zm
17863 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17864 Value |= (op & 0x1f) << 16;
17865 break;
17866 }
17867 case AArch64::LUTI4_ZZZI_B:
17868 case AArch64::LUTI6_Z2ZZI_H: {
17869 // op: Zd
17870 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17871 Value |= (op & 0x1f);
17872 // op: Zn
17873 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17874 Value |= (op & 0x1f) << 5;
17875 // op: Zm
17876 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17877 Value |= (op & 0x1f) << 16;
17878 // op: idx
17879 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17880 Value |= (op & 0x1) << 23;
17881 break;
17882 }
17883 case AArch64::LUTI2_ZZZI_B:
17884 case AArch64::LUTI4_Z2ZZI:
17885 case AArch64::LUTI4_ZZZI_H: {
17886 // op: Zd
17887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17888 Value |= (op & 0x1f);
17889 // op: Zn
17890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17891 Value |= (op & 0x1f) << 5;
17892 // op: Zm
17893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17894 Value |= (op & 0x1f) << 16;
17895 // op: idx
17896 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17897 Value |= (op & 0x3) << 22;
17898 break;
17899 }
17900 case AArch64::LUTI2_ZZZI_H: {
17901 // op: Zd
17902 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17903 Value |= (op & 0x1f);
17904 // op: Zn
17905 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17906 Value |= (op & 0x1f) << 5;
17907 // op: Zm
17908 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17909 Value |= (op & 0x1f) << 16;
17910 // op: idx
17911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17912 Value |= (op & 0x6) << 21;
17913 Value |= (op & 0x1) << 12;
17914 break;
17915 }
17916 case AArch64::FMUL_ZZZI_S:
17917 case AArch64::MUL_ZZZI_S:
17918 case AArch64::SQDMULH_ZZZI_S:
17919 case AArch64::SQRDMULH_ZZZI_S: {
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 & 0x7) << 16;
17929 // op: iop
17930 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17931 Value |= (op & 0x3) << 19;
17932 break;
17933 }
17934 case AArch64::BFMUL_ZZZI:
17935 case AArch64::FMUL_ZZZI_H:
17936 case AArch64::MUL_ZZZI_H:
17937 case AArch64::SQDMULH_ZZZI_H:
17938 case AArch64::SQRDMULH_ZZZI_H: {
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 & 0x4) << 20;
17951 Value |= (op & 0x3) << 19;
17952 break;
17953 }
17954 case AArch64::SMULLB_ZZZI_S:
17955 case AArch64::SMULLT_ZZZI_S:
17956 case AArch64::SQDMULLB_ZZZI_S:
17957 case AArch64::SQDMULLT_ZZZI_S:
17958 case AArch64::UMULLB_ZZZI_S:
17959 case AArch64::UMULLT_ZZZI_S: {
17960 // op: Zd
17961 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17962 Value |= (op & 0x1f);
17963 // op: Zn
17964 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17965 Value |= (op & 0x1f) << 5;
17966 // op: Zm
17967 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17968 Value |= (op & 0x7) << 16;
17969 // op: iop
17970 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17971 Value |= (op & 0x6) << 18;
17972 Value |= (op & 0x1) << 11;
17973 break;
17974 }
17975 case AArch64::FMUL_ZZZI_D:
17976 case AArch64::MUL_ZZZI_D:
17977 case AArch64::SQDMULH_ZZZI_D:
17978 case AArch64::SQRDMULH_ZZZI_D: {
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 & 0xf) << 16;
17988 // op: iop
17989 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17990 Value |= (op & 0x1) << 20;
17991 break;
17992 }
17993 case AArch64::SMULLB_ZZZI_D:
17994 case AArch64::SMULLT_ZZZI_D:
17995 case AArch64::SQDMULLB_ZZZI_D:
17996 case AArch64::SQDMULLT_ZZZI_D:
17997 case AArch64::UMULLB_ZZZI_D:
17998 case AArch64::UMULLT_ZZZI_D: {
17999 // op: Zd
18000 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18001 Value |= (op & 0x1f);
18002 // op: Zn
18003 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18004 Value |= (op & 0x1f) << 5;
18005 // op: Zm
18006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18007 Value |= (op & 0xf) << 16;
18008 // op: iop
18009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18010 Value |= (op & 0x2) << 19;
18011 Value |= (op & 0x1) << 11;
18012 break;
18013 }
18014 case AArch64::DUP_ZZI_H: {
18015 // op: Zd
18016 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18017 Value |= (op & 0x1f);
18018 // op: Zn
18019 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18020 Value |= (op & 0x1f) << 5;
18021 // op: idx
18022 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18023 Value |= (op & 0x18) << 19;
18024 Value |= (op & 0x7) << 18;
18025 break;
18026 }
18027 case AArch64::DUP_ZZI_Q: {
18028 // op: Zd
18029 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18030 Value |= (op & 0x1f);
18031 // op: Zn
18032 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18033 Value |= (op & 0x1f) << 5;
18034 // op: idx
18035 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18036 Value |= (op & 0x3) << 22;
18037 break;
18038 }
18039 case AArch64::DUP_ZZI_B: {
18040 // op: Zd
18041 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18042 Value |= (op & 0x1f);
18043 // op: Zn
18044 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18045 Value |= (op & 0x1f) << 5;
18046 // op: idx
18047 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18048 Value |= (op & 0x30) << 18;
18049 Value |= (op & 0xf) << 17;
18050 break;
18051 }
18052 case AArch64::DUP_ZZI_D: {
18053 // op: Zd
18054 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18055 Value |= (op & 0x1f);
18056 // op: Zn
18057 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18058 Value |= (op & 0x1f) << 5;
18059 // op: idx
18060 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18061 Value |= (op & 0x6) << 21;
18062 Value |= (op & 0x1) << 20;
18063 break;
18064 }
18065 case AArch64::DUP_ZZI_S: {
18066 // op: Zd
18067 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18068 Value |= (op & 0x1f);
18069 // op: Zn
18070 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18071 Value |= (op & 0x1f) << 5;
18072 // op: idx
18073 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18074 Value |= (op & 0xc) << 20;
18075 Value |= (op & 0x3) << 19;
18076 break;
18077 }
18078 case AArch64::LSL_ZZI_H:
18079 case AArch64::SSHLLB_ZZI_S:
18080 case AArch64::SSHLLT_ZZI_S:
18081 case AArch64::USHLLB_ZZI_S:
18082 case AArch64::USHLLT_ZZI_S: {
18083 // op: Zd
18084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18085 Value |= (op & 0x1f);
18086 // op: Zn
18087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18088 Value |= (op & 0x1f) << 5;
18089 // op: imm
18090 op = getVecShiftL16OpValue(MI, OpIdx: 2, Fixups, STI);
18091 Value |= (op & 0xf) << 16;
18092 break;
18093 }
18094 case AArch64::LSL_ZZI_S:
18095 case AArch64::SSHLLB_ZZI_D:
18096 case AArch64::SSHLLT_ZZI_D:
18097 case AArch64::USHLLB_ZZI_D:
18098 case AArch64::USHLLT_ZZI_D: {
18099 // op: Zd
18100 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18101 Value |= (op & 0x1f);
18102 // op: Zn
18103 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18104 Value |= (op & 0x1f) << 5;
18105 // op: imm
18106 op = getVecShiftL32OpValue(MI, OpIdx: 2, Fixups, STI);
18107 Value |= (op & 0x1f) << 16;
18108 break;
18109 }
18110 case AArch64::LSL_ZZI_D: {
18111 // op: Zd
18112 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18113 Value |= (op & 0x1f);
18114 // op: Zn
18115 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18116 Value |= (op & 0x1f) << 5;
18117 // op: imm
18118 op = getVecShiftL64OpValue(MI, OpIdx: 2, Fixups, STI);
18119 Value |= (op & 0x20) << 17;
18120 Value |= (op & 0x1f) << 16;
18121 break;
18122 }
18123 case AArch64::LSL_ZZI_B:
18124 case AArch64::SSHLLB_ZZI_H:
18125 case AArch64::SSHLLT_ZZI_H:
18126 case AArch64::USHLLB_ZZI_H:
18127 case AArch64::USHLLT_ZZI_H: {
18128 // op: Zd
18129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18130 Value |= (op & 0x1f);
18131 // op: Zn
18132 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18133 Value |= (op & 0x1f) << 5;
18134 // op: imm
18135 op = getVecShiftL8OpValue(MI, OpIdx: 2, Fixups, STI);
18136 Value |= (op & 0x7) << 16;
18137 break;
18138 }
18139 case AArch64::ASR_ZZI_H:
18140 case AArch64::LSR_ZZI_H:
18141 case AArch64::RSHRNB_ZZI_H:
18142 case AArch64::SHRNB_ZZI_H:
18143 case AArch64::SQRSHRNB_ZZI_H:
18144 case AArch64::SQRSHRUNB_ZZI_H:
18145 case AArch64::SQSHRNB_ZZI_H:
18146 case AArch64::SQSHRUNB_ZZI_H:
18147 case AArch64::UQRSHRNB_ZZI_H:
18148 case AArch64::UQSHRNB_ZZI_H: {
18149 // op: Zd
18150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18151 Value |= (op & 0x1f);
18152 // op: Zn
18153 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18154 Value |= (op & 0x1f) << 5;
18155 // op: imm
18156 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
18157 Value |= (op & 0xf) << 16;
18158 break;
18159 }
18160 case AArch64::ASR_ZZI_S:
18161 case AArch64::LSR_ZZI_S:
18162 case AArch64::RSHRNB_ZZI_S:
18163 case AArch64::SHRNB_ZZI_S:
18164 case AArch64::SQRSHRNB_ZZI_S:
18165 case AArch64::SQRSHRUNB_ZZI_S:
18166 case AArch64::SQSHRNB_ZZI_S:
18167 case AArch64::SQSHRUNB_ZZI_S:
18168 case AArch64::UQRSHRNB_ZZI_S:
18169 case AArch64::UQSHRNB_ZZI_S: {
18170 // op: Zd
18171 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18172 Value |= (op & 0x1f);
18173 // op: Zn
18174 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18175 Value |= (op & 0x1f) << 5;
18176 // op: imm
18177 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
18178 Value |= (op & 0x1f) << 16;
18179 break;
18180 }
18181 case AArch64::ASR_ZZI_D:
18182 case AArch64::LSR_ZZI_D: {
18183 // op: Zd
18184 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18185 Value |= (op & 0x1f);
18186 // op: Zn
18187 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18188 Value |= (op & 0x1f) << 5;
18189 // op: imm
18190 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
18191 Value |= (op & 0x20) << 17;
18192 Value |= (op & 0x1f) << 16;
18193 break;
18194 }
18195 case AArch64::ASR_ZZI_B:
18196 case AArch64::LSR_ZZI_B:
18197 case AArch64::RSHRNB_ZZI_B:
18198 case AArch64::SHRNB_ZZI_B:
18199 case AArch64::SQRSHRNB_ZZI_B:
18200 case AArch64::SQRSHRUNB_ZZI_B:
18201 case AArch64::SQSHRNB_ZZI_B:
18202 case AArch64::SQSHRUNB_ZZI_B:
18203 case AArch64::UQRSHRNB_ZZI_B:
18204 case AArch64::UQSHRNB_ZZI_B: {
18205 // op: Zd
18206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18207 Value |= (op & 0x1f);
18208 // op: Zn
18209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18210 Value |= (op & 0x1f) << 5;
18211 // op: imm
18212 op = getVecShiftR8OpValue(MI, OpIdx: 2, Fixups, STI);
18213 Value |= (op & 0x7) << 16;
18214 break;
18215 }
18216 case AArch64::EXT_ZZI_B: {
18217 // op: Zd
18218 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18219 Value |= (op & 0x1f);
18220 // op: Zn
18221 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18222 Value |= (op & 0x1f) << 5;
18223 // op: imm8
18224 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18225 Value |= (op & 0xf8) << 13;
18226 Value |= (op & 0x7) << 10;
18227 break;
18228 }
18229 case AArch64::DUPQ_ZZI_D: {
18230 // op: Zd
18231 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18232 Value |= (op & 0x1f);
18233 // op: Zn
18234 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18235 Value |= (op & 0x1f) << 5;
18236 // op: index
18237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18238 Value |= (op & 0x1) << 20;
18239 break;
18240 }
18241 case AArch64::DUPQ_ZZI_S: {
18242 // op: Zd
18243 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18244 Value |= (op & 0x1f);
18245 // op: Zn
18246 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18247 Value |= (op & 0x1f) << 5;
18248 // op: index
18249 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18250 Value |= (op & 0x3) << 19;
18251 break;
18252 }
18253 case AArch64::DUPQ_ZZI_H: {
18254 // op: Zd
18255 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18256 Value |= (op & 0x1f);
18257 // op: Zn
18258 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18259 Value |= (op & 0x1f) << 5;
18260 // op: index
18261 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18262 Value |= (op & 0x7) << 18;
18263 break;
18264 }
18265 case AArch64::DUPQ_ZZI_B: {
18266 // op: Zd
18267 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18268 Value |= (op & 0x1f);
18269 // op: Zn
18270 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18271 Value |= (op & 0x1f) << 5;
18272 // op: index
18273 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18274 Value |= (op & 0xf) << 17;
18275 break;
18276 }
18277 case AArch64::LUTI6_ZTZ:
18278 case AArch64::SQXTNT_ZZ_B:
18279 case AArch64::SQXTNT_ZZ_H:
18280 case AArch64::SQXTNT_ZZ_S:
18281 case AArch64::SQXTUNT_ZZ_B:
18282 case AArch64::SQXTUNT_ZZ_H:
18283 case AArch64::SQXTUNT_ZZ_S:
18284 case AArch64::UQXTNT_ZZ_B:
18285 case AArch64::UQXTNT_ZZ_H:
18286 case AArch64::UQXTNT_ZZ_S: {
18287 // op: Zd
18288 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18289 Value |= (op & 0x1f);
18290 // op: Zn
18291 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18292 Value |= (op & 0x1f) << 5;
18293 break;
18294 }
18295 case AArch64::FCVTLT_ZPzZ_HtoS:
18296 case AArch64::FCVTLT_ZPzZ_StoD: {
18297 // op: Zd
18298 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18299 Value |= (op & 0x1f);
18300 // op: Zn
18301 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18302 Value |= (op & 0x1f) << 5;
18303 // op: Pg
18304 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18305 Value |= (op & 0x7) << 10;
18306 break;
18307 }
18308 case AArch64::HISTCNT_ZPzZZ_D:
18309 case AArch64::HISTCNT_ZPzZZ_S: {
18310 // op: Zd
18311 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18312 Value |= (op & 0x1f);
18313 // op: Zn
18314 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18315 Value |= (op & 0x1f) << 5;
18316 // op: Pg
18317 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18318 Value |= (op & 0x7) << 10;
18319 // op: Zm
18320 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18321 Value |= (op & 0x1f) << 16;
18322 break;
18323 }
18324 case AArch64::ADDHNT_ZZZ_B:
18325 case AArch64::ADDHNT_ZZZ_H:
18326 case AArch64::ADDHNT_ZZZ_S:
18327 case AArch64::EORBT_ZZZ_B:
18328 case AArch64::EORBT_ZZZ_D:
18329 case AArch64::EORBT_ZZZ_H:
18330 case AArch64::EORBT_ZZZ_S:
18331 case AArch64::EORTB_ZZZ_B:
18332 case AArch64::EORTB_ZZZ_D:
18333 case AArch64::EORTB_ZZZ_H:
18334 case AArch64::EORTB_ZZZ_S:
18335 case AArch64::RADDHNT_ZZZ_B:
18336 case AArch64::RADDHNT_ZZZ_H:
18337 case AArch64::RADDHNT_ZZZ_S:
18338 case AArch64::RSUBHNT_ZZZ_B:
18339 case AArch64::RSUBHNT_ZZZ_H:
18340 case AArch64::RSUBHNT_ZZZ_S:
18341 case AArch64::SUBHNT_ZZZ_B:
18342 case AArch64::SUBHNT_ZZZ_H:
18343 case AArch64::SUBHNT_ZZZ_S: {
18344 // op: Zd
18345 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18346 Value |= (op & 0x1f);
18347 // op: Zn
18348 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18349 Value |= (op & 0x1f) << 5;
18350 // op: Zm
18351 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18352 Value |= (op & 0x1f) << 16;
18353 break;
18354 }
18355 case AArch64::SLI_ZZI_H: {
18356 // op: Zd
18357 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18358 Value |= (op & 0x1f);
18359 // op: Zn
18360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18361 Value |= (op & 0x1f) << 5;
18362 // op: imm
18363 op = getVecShiftL16OpValue(MI, OpIdx: 3, Fixups, STI);
18364 Value |= (op & 0xf) << 16;
18365 break;
18366 }
18367 case AArch64::SLI_ZZI_S: {
18368 // op: Zd
18369 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18370 Value |= (op & 0x1f);
18371 // op: Zn
18372 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18373 Value |= (op & 0x1f) << 5;
18374 // op: imm
18375 op = getVecShiftL32OpValue(MI, OpIdx: 3, Fixups, STI);
18376 Value |= (op & 0x1f) << 16;
18377 break;
18378 }
18379 case AArch64::SLI_ZZI_D: {
18380 // op: Zd
18381 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18382 Value |= (op & 0x1f);
18383 // op: Zn
18384 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18385 Value |= (op & 0x1f) << 5;
18386 // op: imm
18387 op = getVecShiftL64OpValue(MI, OpIdx: 3, Fixups, STI);
18388 Value |= (op & 0x20) << 17;
18389 Value |= (op & 0x1f) << 16;
18390 break;
18391 }
18392 case AArch64::SLI_ZZI_B: {
18393 // op: Zd
18394 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18395 Value |= (op & 0x1f);
18396 // op: Zn
18397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18398 Value |= (op & 0x1f) << 5;
18399 // op: imm
18400 op = getVecShiftL8OpValue(MI, OpIdx: 3, Fixups, STI);
18401 Value |= (op & 0x7) << 16;
18402 break;
18403 }
18404 case AArch64::RSHRNT_ZZI_H:
18405 case AArch64::SHRNT_ZZI_H:
18406 case AArch64::SQRSHRNT_ZZI_H:
18407 case AArch64::SQRSHRUNT_ZZI_H:
18408 case AArch64::SQSHRNT_ZZI_H:
18409 case AArch64::SQSHRUNT_ZZI_H:
18410 case AArch64::SRI_ZZI_H:
18411 case AArch64::UQRSHRNT_ZZI_H:
18412 case AArch64::UQSHRNT_ZZI_H: {
18413 // op: Zd
18414 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18415 Value |= (op & 0x1f);
18416 // op: Zn
18417 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18418 Value |= (op & 0x1f) << 5;
18419 // op: imm
18420 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
18421 Value |= (op & 0xf) << 16;
18422 break;
18423 }
18424 case AArch64::RSHRNT_ZZI_S:
18425 case AArch64::SHRNT_ZZI_S:
18426 case AArch64::SQRSHRNT_ZZI_S:
18427 case AArch64::SQRSHRUNT_ZZI_S:
18428 case AArch64::SQSHRNT_ZZI_S:
18429 case AArch64::SQSHRUNT_ZZI_S:
18430 case AArch64::SRI_ZZI_S:
18431 case AArch64::UQRSHRNT_ZZI_S:
18432 case AArch64::UQSHRNT_ZZI_S: {
18433 // op: Zd
18434 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18435 Value |= (op & 0x1f);
18436 // op: Zn
18437 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18438 Value |= (op & 0x1f) << 5;
18439 // op: imm
18440 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
18441 Value |= (op & 0x1f) << 16;
18442 break;
18443 }
18444 case AArch64::SRI_ZZI_D: {
18445 // op: Zd
18446 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18447 Value |= (op & 0x1f);
18448 // op: Zn
18449 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18450 Value |= (op & 0x1f) << 5;
18451 // op: imm
18452 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
18453 Value |= (op & 0x20) << 17;
18454 Value |= (op & 0x1f) << 16;
18455 break;
18456 }
18457 case AArch64::RSHRNT_ZZI_B:
18458 case AArch64::SHRNT_ZZI_B:
18459 case AArch64::SQRSHRNT_ZZI_B:
18460 case AArch64::SQRSHRUNT_ZZI_B:
18461 case AArch64::SQSHRNT_ZZI_B:
18462 case AArch64::SQSHRUNT_ZZI_B:
18463 case AArch64::SRI_ZZI_B:
18464 case AArch64::UQRSHRNT_ZZI_B:
18465 case AArch64::UQSHRNT_ZZI_B: {
18466 // op: Zd
18467 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18468 Value |= (op & 0x1f);
18469 // op: Zn
18470 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18471 Value |= (op & 0x1f) << 5;
18472 // op: imm
18473 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
18474 Value |= (op & 0x7) << 16;
18475 break;
18476 }
18477 case AArch64::BFCVTNT_ZPmZ:
18478 case AArch64::BFCVTNT_ZPzZ_StoH:
18479 case AArch64::FCVTLT_ZPmZ_HtoS:
18480 case AArch64::FCVTLT_ZPmZ_StoD:
18481 case AArch64::FCVTNT_ZPmZ_DtoS:
18482 case AArch64::FCVTNT_ZPmZ_StoH:
18483 case AArch64::FCVTNT_ZPzZ_DtoS:
18484 case AArch64::FCVTNT_ZPzZ_StoH:
18485 case AArch64::FCVTXNT_ZPmZ_DtoS:
18486 case AArch64::FCVTXNT_ZPzZ_StoD: {
18487 // op: Zd
18488 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18489 Value |= (op & 0x1f);
18490 // op: Zn
18491 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18492 Value |= (op & 0x1f) << 5;
18493 // op: Pg
18494 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18495 Value |= (op & 0x7) << 10;
18496 break;
18497 }
18498 case AArch64::DUP_ZI_B:
18499 case AArch64::DUP_ZI_D:
18500 case AArch64::DUP_ZI_H:
18501 case AArch64::DUP_ZI_S: {
18502 // op: Zd
18503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18504 Value |= (op & 0x1f);
18505 // op: imm
18506 op = getImm8OptLsl(MI, OpIdx: 1, Fixups, STI);
18507 Value |= (op & 0x1ff) << 5;
18508 break;
18509 }
18510 case AArch64::INDEX_II_B:
18511 case AArch64::INDEX_II_D:
18512 case AArch64::INDEX_II_H:
18513 case AArch64::INDEX_II_S: {
18514 // op: Zd
18515 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18516 Value |= (op & 0x1f);
18517 // op: imm5
18518 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18519 Value |= (op & 0x1f) << 5;
18520 // op: imm5b
18521 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18522 Value |= (op & 0x1f) << 16;
18523 break;
18524 }
18525 case AArch64::FDUP_ZI_D:
18526 case AArch64::FDUP_ZI_H:
18527 case AArch64::FDUP_ZI_S: {
18528 // op: Zd
18529 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18530 Value |= (op & 0x1f);
18531 // op: imm8
18532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18533 Value |= (op & 0xff) << 5;
18534 break;
18535 }
18536 case AArch64::DUPM_ZI: {
18537 // op: Zd
18538 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18539 Value |= (op & 0x1f);
18540 // op: imms
18541 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18542 Value |= (op & 0x1fff) << 5;
18543 break;
18544 }
18545 case AArch64::FCMLA_ZPmZZ_D:
18546 case AArch64::FCMLA_ZPmZZ_H:
18547 case AArch64::FCMLA_ZPmZZ_S: {
18548 // op: Zda
18549 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18550 Value |= (op & 0x1f);
18551 // op: Pg
18552 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18553 Value |= (op & 0x7) << 10;
18554 // op: Zn
18555 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18556 Value |= (op & 0x1f) << 5;
18557 // op: Zm
18558 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18559 Value |= (op & 0x1f) << 16;
18560 // op: imm
18561 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
18562 Value |= (op & 0x3) << 13;
18563 break;
18564 }
18565 case AArch64::ADCLB_ZZZ_D:
18566 case AArch64::ADCLB_ZZZ_S:
18567 case AArch64::ADCLT_ZZZ_D:
18568 case AArch64::ADCLT_ZZZ_S:
18569 case AArch64::BFDOT_ZZZ:
18570 case AArch64::BFMLALB_ZZZ:
18571 case AArch64::BFMLALT_ZZZ:
18572 case AArch64::BFMLSLB_ZZZ_S:
18573 case AArch64::BFMLSLT_ZZZ_S:
18574 case AArch64::BFMMLA_ZZZ_H:
18575 case AArch64::BFMMLA_ZZZ_HtoS:
18576 case AArch64::FDOT_ZZZ_BtoH:
18577 case AArch64::FDOT_ZZZ_BtoS:
18578 case AArch64::FDOT_ZZZ_S:
18579 case AArch64::FMLALB_ZZZ:
18580 case AArch64::FMLALB_ZZZ_SHH:
18581 case AArch64::FMLALLBB_ZZZ:
18582 case AArch64::FMLALLBT_ZZZ:
18583 case AArch64::FMLALLTB_ZZZ:
18584 case AArch64::FMLALLTT_ZZZ:
18585 case AArch64::FMLALT_ZZZ:
18586 case AArch64::FMLALT_ZZZ_SHH:
18587 case AArch64::FMLLA_ZZZ_HtoS:
18588 case AArch64::FMLSLB_ZZZ_SHH:
18589 case AArch64::FMLSLT_ZZZ_SHH:
18590 case AArch64::FMMLA_ZZZ_BtoH:
18591 case AArch64::FMMLA_ZZZ_BtoS:
18592 case AArch64::FMMLA_ZZZ_D:
18593 case AArch64::FMMLA_ZZZ_H:
18594 case AArch64::FMMLA_ZZZ_S:
18595 case AArch64::MLA_CPA:
18596 case AArch64::SABALB_ZZZ_D:
18597 case AArch64::SABALB_ZZZ_H:
18598 case AArch64::SABALB_ZZZ_S:
18599 case AArch64::SABALT_ZZZ_D:
18600 case AArch64::SABALT_ZZZ_H:
18601 case AArch64::SABALT_ZZZ_S:
18602 case AArch64::SABAL_ZZZ_BtoH:
18603 case AArch64::SABAL_ZZZ_HtoS:
18604 case AArch64::SABAL_ZZZ_StoD:
18605 case AArch64::SABA_ZZZ_B:
18606 case AArch64::SABA_ZZZ_D:
18607 case AArch64::SABA_ZZZ_H:
18608 case AArch64::SABA_ZZZ_S:
18609 case AArch64::SBCLB_ZZZ_D:
18610 case AArch64::SBCLB_ZZZ_S:
18611 case AArch64::SBCLT_ZZZ_D:
18612 case AArch64::SBCLT_ZZZ_S:
18613 case AArch64::SDOT_ZZZ_BtoH:
18614 case AArch64::SDOT_ZZZ_BtoS:
18615 case AArch64::SDOT_ZZZ_HtoD:
18616 case AArch64::SDOT_ZZZ_HtoS:
18617 case AArch64::SMLALB_ZZZ_D:
18618 case AArch64::SMLALB_ZZZ_H:
18619 case AArch64::SMLALB_ZZZ_S:
18620 case AArch64::SMLALT_ZZZ_D:
18621 case AArch64::SMLALT_ZZZ_H:
18622 case AArch64::SMLALT_ZZZ_S:
18623 case AArch64::SMLSLB_ZZZ_D:
18624 case AArch64::SMLSLB_ZZZ_H:
18625 case AArch64::SMLSLB_ZZZ_S:
18626 case AArch64::SMLSLT_ZZZ_D:
18627 case AArch64::SMLSLT_ZZZ_H:
18628 case AArch64::SMLSLT_ZZZ_S:
18629 case AArch64::SMMLA_ZZZ:
18630 case AArch64::SQDMLALBT_ZZZ_D:
18631 case AArch64::SQDMLALBT_ZZZ_H:
18632 case AArch64::SQDMLALBT_ZZZ_S:
18633 case AArch64::SQDMLALB_ZZZ_D:
18634 case AArch64::SQDMLALB_ZZZ_H:
18635 case AArch64::SQDMLALB_ZZZ_S:
18636 case AArch64::SQDMLALT_ZZZ_D:
18637 case AArch64::SQDMLALT_ZZZ_H:
18638 case AArch64::SQDMLALT_ZZZ_S:
18639 case AArch64::SQDMLSLBT_ZZZ_D:
18640 case AArch64::SQDMLSLBT_ZZZ_H:
18641 case AArch64::SQDMLSLBT_ZZZ_S:
18642 case AArch64::SQDMLSLB_ZZZ_D:
18643 case AArch64::SQDMLSLB_ZZZ_H:
18644 case AArch64::SQDMLSLB_ZZZ_S:
18645 case AArch64::SQDMLSLT_ZZZ_D:
18646 case AArch64::SQDMLSLT_ZZZ_H:
18647 case AArch64::SQDMLSLT_ZZZ_S:
18648 case AArch64::SQRDMLAH_ZZZ_B:
18649 case AArch64::SQRDMLAH_ZZZ_D:
18650 case AArch64::SQRDMLAH_ZZZ_H:
18651 case AArch64::SQRDMLAH_ZZZ_S:
18652 case AArch64::SQRDMLSH_ZZZ_B:
18653 case AArch64::SQRDMLSH_ZZZ_D:
18654 case AArch64::SQRDMLSH_ZZZ_H:
18655 case AArch64::SQRDMLSH_ZZZ_S:
18656 case AArch64::UABALB_ZZZ_D:
18657 case AArch64::UABALB_ZZZ_H:
18658 case AArch64::UABALB_ZZZ_S:
18659 case AArch64::UABALT_ZZZ_D:
18660 case AArch64::UABALT_ZZZ_H:
18661 case AArch64::UABALT_ZZZ_S:
18662 case AArch64::UABAL_ZZZ_BtoH:
18663 case AArch64::UABAL_ZZZ_HtoS:
18664 case AArch64::UABAL_ZZZ_StoD:
18665 case AArch64::UABA_ZZZ_B:
18666 case AArch64::UABA_ZZZ_D:
18667 case AArch64::UABA_ZZZ_H:
18668 case AArch64::UABA_ZZZ_S:
18669 case AArch64::UDOT_ZZZ_BtoH:
18670 case AArch64::UDOT_ZZZ_BtoS:
18671 case AArch64::UDOT_ZZZ_HtoD:
18672 case AArch64::UDOT_ZZZ_HtoS:
18673 case AArch64::UMLALB_ZZZ_D:
18674 case AArch64::UMLALB_ZZZ_H:
18675 case AArch64::UMLALB_ZZZ_S:
18676 case AArch64::UMLALT_ZZZ_D:
18677 case AArch64::UMLALT_ZZZ_H:
18678 case AArch64::UMLALT_ZZZ_S:
18679 case AArch64::UMLSLB_ZZZ_D:
18680 case AArch64::UMLSLB_ZZZ_H:
18681 case AArch64::UMLSLB_ZZZ_S:
18682 case AArch64::UMLSLT_ZZZ_D:
18683 case AArch64::UMLSLT_ZZZ_H:
18684 case AArch64::UMLSLT_ZZZ_S:
18685 case AArch64::UMMLA_ZZZ:
18686 case AArch64::USDOT_ZZZ:
18687 case AArch64::USMMLA_ZZZ: {
18688 // op: Zda
18689 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18690 Value |= (op & 0x1f);
18691 // op: Zn
18692 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18693 Value |= (op & 0x1f) << 5;
18694 // op: Zm
18695 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18696 Value |= (op & 0x1f) << 16;
18697 break;
18698 }
18699 case AArch64::CDOT_ZZZ_D:
18700 case AArch64::CDOT_ZZZ_S:
18701 case AArch64::CMLA_ZZZ_B:
18702 case AArch64::CMLA_ZZZ_D:
18703 case AArch64::CMLA_ZZZ_H:
18704 case AArch64::CMLA_ZZZ_S:
18705 case AArch64::SQRDCMLAH_ZZZ_B:
18706 case AArch64::SQRDCMLAH_ZZZ_D:
18707 case AArch64::SQRDCMLAH_ZZZ_H:
18708 case AArch64::SQRDCMLAH_ZZZ_S: {
18709 // op: Zda
18710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18711 Value |= (op & 0x1f);
18712 // op: Zn
18713 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18714 Value |= (op & 0x1f) << 5;
18715 // op: Zm
18716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18717 Value |= (op & 0x1f) << 16;
18718 // op: rot
18719 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18720 Value |= (op & 0x3) << 10;
18721 break;
18722 }
18723 case AArch64::SDOT_ZZZI_HtoS:
18724 case AArch64::UDOT_ZZZI_HtoS: {
18725 // op: Zda
18726 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18727 Value |= (op & 0x1f);
18728 // op: Zn
18729 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18730 Value |= (op & 0x1f) << 5;
18731 // op: Zm
18732 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18733 Value |= (op & 0x7) << 16;
18734 // op: i2
18735 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18736 Value |= (op & 0x3) << 19;
18737 break;
18738 }
18739 case AArch64::SUDOT_ZZZI:
18740 case AArch64::USDOT_ZZZI: {
18741 // op: Zda
18742 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18743 Value |= (op & 0x1f);
18744 // op: Zn
18745 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18746 Value |= (op & 0x1f) << 5;
18747 // op: Zm
18748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18749 Value |= (op & 0x7) << 16;
18750 // op: idx
18751 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18752 Value |= (op & 0x3) << 19;
18753 break;
18754 }
18755 case AArch64::FMLALB_ZZZI:
18756 case AArch64::FMLALLBB_ZZZI:
18757 case AArch64::FMLALLBT_ZZZI:
18758 case AArch64::FMLALLTB_ZZZI:
18759 case AArch64::FMLALLTT_ZZZI:
18760 case AArch64::FMLALT_ZZZI: {
18761 // op: Zda
18762 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18763 Value |= (op & 0x1f);
18764 // op: Zn
18765 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18766 Value |= (op & 0x1f) << 5;
18767 // op: Zm
18768 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18769 Value |= (op & 0x7) << 16;
18770 // op: imm4
18771 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18772 Value |= (op & 0xc) << 17;
18773 Value |= (op & 0x3) << 10;
18774 break;
18775 }
18776 case AArch64::BFDOT_ZZI:
18777 case AArch64::FDOT_ZZZI_BtoS:
18778 case AArch64::FDOT_ZZZI_S:
18779 case AArch64::FMLA_ZZZI_S:
18780 case AArch64::FMLS_ZZZI_S:
18781 case AArch64::MLA_ZZZI_S:
18782 case AArch64::MLS_ZZZI_S:
18783 case AArch64::SQRDMLAH_ZZZI_S:
18784 case AArch64::SQRDMLSH_ZZZI_S: {
18785 // op: Zda
18786 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18787 Value |= (op & 0x1f);
18788 // op: Zn
18789 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18790 Value |= (op & 0x1f) << 5;
18791 // op: Zm
18792 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18793 Value |= (op & 0x7) << 16;
18794 // op: iop
18795 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18796 Value |= (op & 0x3) << 19;
18797 break;
18798 }
18799 case AArch64::BFMLA_ZZZI:
18800 case AArch64::BFMLS_ZZZI:
18801 case AArch64::FMLA_ZZZI_H:
18802 case AArch64::FMLS_ZZZI_H:
18803 case AArch64::MLA_ZZZI_H:
18804 case AArch64::MLS_ZZZI_H:
18805 case AArch64::SQRDMLAH_ZZZI_H:
18806 case AArch64::SQRDMLSH_ZZZI_H: {
18807 // op: Zda
18808 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18809 Value |= (op & 0x1f);
18810 // op: Zn
18811 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18812 Value |= (op & 0x1f) << 5;
18813 // op: Zm
18814 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18815 Value |= (op & 0x7) << 16;
18816 // op: iop
18817 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18818 Value |= (op & 0x4) << 20;
18819 Value |= (op & 0x3) << 19;
18820 break;
18821 }
18822 case AArch64::BFMLALB_ZZZI:
18823 case AArch64::BFMLALT_ZZZI:
18824 case AArch64::BFMLSLB_ZZZI_S:
18825 case AArch64::BFMLSLT_ZZZI_S:
18826 case AArch64::FDOT_ZZZI_BtoH:
18827 case AArch64::FMLALB_ZZZI_SHH:
18828 case AArch64::FMLALT_ZZZI_SHH:
18829 case AArch64::FMLSLB_ZZZI_SHH:
18830 case AArch64::FMLSLT_ZZZI_SHH:
18831 case AArch64::SMLALB_ZZZI_S:
18832 case AArch64::SMLALT_ZZZI_S:
18833 case AArch64::SMLSLB_ZZZI_S:
18834 case AArch64::SMLSLT_ZZZI_S:
18835 case AArch64::SQDMLALB_ZZZI_S:
18836 case AArch64::SQDMLALT_ZZZI_S:
18837 case AArch64::SQDMLSLB_ZZZI_S:
18838 case AArch64::SQDMLSLT_ZZZI_S:
18839 case AArch64::UMLALB_ZZZI_S:
18840 case AArch64::UMLALT_ZZZI_S:
18841 case AArch64::UMLSLB_ZZZI_S:
18842 case AArch64::UMLSLT_ZZZI_S: {
18843 // op: Zda
18844 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18845 Value |= (op & 0x1f);
18846 // op: Zn
18847 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18848 Value |= (op & 0x1f) << 5;
18849 // op: Zm
18850 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18851 Value |= (op & 0x7) << 16;
18852 // op: iop
18853 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18854 Value |= (op & 0x6) << 18;
18855 Value |= (op & 0x1) << 11;
18856 break;
18857 }
18858 case AArch64::FMLA_ZZZI_D:
18859 case AArch64::FMLS_ZZZI_D:
18860 case AArch64::MLA_ZZZI_D:
18861 case AArch64::MLS_ZZZI_D:
18862 case AArch64::SQRDMLAH_ZZZI_D:
18863 case AArch64::SQRDMLSH_ZZZI_D: {
18864 // op: Zda
18865 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18866 Value |= (op & 0x1f);
18867 // op: Zn
18868 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18869 Value |= (op & 0x1f) << 5;
18870 // op: Zm
18871 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18872 Value |= (op & 0xf) << 16;
18873 // op: iop
18874 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18875 Value |= (op & 0x1) << 20;
18876 break;
18877 }
18878 case AArch64::SMLALB_ZZZI_D:
18879 case AArch64::SMLALT_ZZZI_D:
18880 case AArch64::SMLSLB_ZZZI_D:
18881 case AArch64::SMLSLT_ZZZI_D:
18882 case AArch64::SQDMLALB_ZZZI_D:
18883 case AArch64::SQDMLALT_ZZZI_D:
18884 case AArch64::SQDMLSLB_ZZZI_D:
18885 case AArch64::SQDMLSLT_ZZZI_D:
18886 case AArch64::UMLALB_ZZZI_D:
18887 case AArch64::UMLALT_ZZZI_D:
18888 case AArch64::UMLSLB_ZZZI_D:
18889 case AArch64::UMLSLT_ZZZI_D: {
18890 // op: Zda
18891 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18892 Value |= (op & 0x1f);
18893 // op: Zn
18894 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18895 Value |= (op & 0x1f) << 5;
18896 // op: Zm
18897 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18898 Value |= (op & 0xf) << 16;
18899 // op: iop
18900 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18901 Value |= (op & 0x2) << 19;
18902 Value |= (op & 0x1) << 11;
18903 break;
18904 }
18905 case AArch64::FCMLA_ZZZI_H: {
18906 // op: Zda
18907 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18908 Value |= (op & 0x1f);
18909 // op: Zn
18910 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18911 Value |= (op & 0x1f) << 5;
18912 // op: imm
18913 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
18914 Value |= (op & 0x3) << 10;
18915 // op: Zm
18916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18917 Value |= (op & 0x7) << 16;
18918 // op: iop
18919 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18920 Value |= (op & 0x3) << 19;
18921 break;
18922 }
18923 case AArch64::FCMLA_ZZZI_S: {
18924 // op: Zda
18925 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18926 Value |= (op & 0x1f);
18927 // op: Zn
18928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18929 Value |= (op & 0x1f) << 5;
18930 // op: imm
18931 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
18932 Value |= (op & 0x3) << 10;
18933 // op: Zm
18934 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18935 Value |= (op & 0xf) << 16;
18936 // op: iop
18937 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18938 Value |= (op & 0x1) << 20;
18939 break;
18940 }
18941 case AArch64::SRSRA_ZZI_H:
18942 case AArch64::SSRA_ZZI_H:
18943 case AArch64::URSRA_ZZI_H:
18944 case AArch64::USRA_ZZI_H: {
18945 // op: Zda
18946 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18947 Value |= (op & 0x1f);
18948 // op: Zn
18949 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18950 Value |= (op & 0x1f) << 5;
18951 // op: imm
18952 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
18953 Value |= (op & 0xf) << 16;
18954 break;
18955 }
18956 case AArch64::SRSRA_ZZI_S:
18957 case AArch64::SSRA_ZZI_S:
18958 case AArch64::URSRA_ZZI_S:
18959 case AArch64::USRA_ZZI_S: {
18960 // op: Zda
18961 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18962 Value |= (op & 0x1f);
18963 // op: Zn
18964 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18965 Value |= (op & 0x1f) << 5;
18966 // op: imm
18967 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
18968 Value |= (op & 0x1f) << 16;
18969 break;
18970 }
18971 case AArch64::SRSRA_ZZI_D:
18972 case AArch64::SSRA_ZZI_D:
18973 case AArch64::URSRA_ZZI_D:
18974 case AArch64::USRA_ZZI_D: {
18975 // op: Zda
18976 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18977 Value |= (op & 0x1f);
18978 // op: Zn
18979 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18980 Value |= (op & 0x1f) << 5;
18981 // op: imm
18982 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
18983 Value |= (op & 0x20) << 17;
18984 Value |= (op & 0x1f) << 16;
18985 break;
18986 }
18987 case AArch64::SRSRA_ZZI_B:
18988 case AArch64::SSRA_ZZI_B:
18989 case AArch64::URSRA_ZZI_B:
18990 case AArch64::USRA_ZZI_B: {
18991 // op: Zda
18992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18993 Value |= (op & 0x1f);
18994 // op: Zn
18995 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18996 Value |= (op & 0x1f) << 5;
18997 // op: imm
18998 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
18999 Value |= (op & 0x7) << 16;
19000 break;
19001 }
19002 case AArch64::SDOT_ZZZI_HtoD:
19003 case AArch64::UDOT_ZZZI_HtoD: {
19004 // op: Zda
19005 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19006 Value |= (op & 0x1f);
19007 // op: Zn
19008 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19009 Value |= (op & 0x1f) << 5;
19010 // op: iop
19011 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19012 Value |= (op & 0x1) << 20;
19013 // op: Zm
19014 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19015 Value |= (op & 0xf) << 16;
19016 break;
19017 }
19018 case AArch64::SDOT_ZZZI_BtoS:
19019 case AArch64::UDOT_ZZZI_BtoS: {
19020 // op: Zda
19021 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19022 Value |= (op & 0x1f);
19023 // op: Zn
19024 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19025 Value |= (op & 0x1f) << 5;
19026 // op: iop
19027 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19028 Value |= (op & 0x3) << 19;
19029 // op: Zm
19030 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19031 Value |= (op & 0x7) << 16;
19032 break;
19033 }
19034 case AArch64::SDOT_ZZZI_BtoH:
19035 case AArch64::UDOT_ZZZI_BtoH: {
19036 // op: Zda
19037 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19038 Value |= (op & 0x1f);
19039 // op: Zn
19040 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19041 Value |= (op & 0x1f) << 5;
19042 // op: iop
19043 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19044 Value |= (op & 0x4) << 20;
19045 Value |= (op & 0x3) << 19;
19046 // op: Zm
19047 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19048 Value |= (op & 0x7) << 16;
19049 break;
19050 }
19051 case AArch64::CDOT_ZZZI_D:
19052 case AArch64::CMLA_ZZZI_S:
19053 case AArch64::SQRDCMLAH_ZZZI_S: {
19054 // op: Zda
19055 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19056 Value |= (op & 0x1f);
19057 // op: Zn
19058 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19059 Value |= (op & 0x1f) << 5;
19060 // op: rot
19061 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19062 Value |= (op & 0x3) << 10;
19063 // op: iop
19064 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19065 Value |= (op & 0x1) << 20;
19066 // op: Zm
19067 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19068 Value |= (op & 0xf) << 16;
19069 break;
19070 }
19071 case AArch64::CDOT_ZZZI_S:
19072 case AArch64::CMLA_ZZZI_H:
19073 case AArch64::SQRDCMLAH_ZZZI_H: {
19074 // op: Zda
19075 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19076 Value |= (op & 0x1f);
19077 // op: Zn
19078 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19079 Value |= (op & 0x1f) << 5;
19080 // op: rot
19081 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19082 Value |= (op & 0x3) << 10;
19083 // op: iop
19084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19085 Value |= (op & 0x3) << 19;
19086 // op: Zm
19087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19088 Value |= (op & 0x7) << 16;
19089 break;
19090 }
19091 case AArch64::AESIMC_ZZ_B:
19092 case AArch64::AESMC_ZZ_B: {
19093 // op: Zdn
19094 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19095 Value |= (op & 0x1f);
19096 break;
19097 }
19098 case AArch64::BCAX_ZZZZ:
19099 case AArch64::BSL1N_ZZZZ:
19100 case AArch64::BSL2N_ZZZZ:
19101 case AArch64::BSL_ZZZZ:
19102 case AArch64::EOR3_ZZZZ:
19103 case AArch64::NBSL_ZZZZ: {
19104 // op: Zdn
19105 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19106 Value |= (op & 0x1f);
19107 // op: Zk
19108 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19109 Value |= (op & 0x1f) << 5;
19110 // op: Zm
19111 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19112 Value |= (op & 0x1f) << 16;
19113 break;
19114 }
19115 case AArch64::MAD_CPA: {
19116 // op: Zdn
19117 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19118 Value |= (op & 0x1f);
19119 // op: Zm
19120 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19121 Value |= (op & 0x1f) << 16;
19122 // op: Za
19123 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19124 Value |= (op & 0x1f) << 5;
19125 break;
19126 }
19127 case AArch64::AESD_ZZZ_B:
19128 case AArch64::AESE_ZZZ_B:
19129 case AArch64::SM4E_ZZZ_S: {
19130 // op: Zdn
19131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19132 Value |= (op & 0x1f);
19133 // op: Zm
19134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19135 Value |= (op & 0x1f) << 5;
19136 break;
19137 }
19138 case AArch64::XAR_ZZZI_H: {
19139 // op: Zdn
19140 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19141 Value |= (op & 0x1f);
19142 // op: Zm
19143 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19144 Value |= (op & 0x1f) << 5;
19145 // op: imm
19146 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
19147 Value |= (op & 0xf) << 16;
19148 break;
19149 }
19150 case AArch64::XAR_ZZZI_S: {
19151 // op: Zdn
19152 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19153 Value |= (op & 0x1f);
19154 // op: Zm
19155 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19156 Value |= (op & 0x1f) << 5;
19157 // op: imm
19158 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
19159 Value |= (op & 0x1f) << 16;
19160 break;
19161 }
19162 case AArch64::XAR_ZZZI_D: {
19163 // op: Zdn
19164 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19165 Value |= (op & 0x1f);
19166 // op: Zm
19167 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19168 Value |= (op & 0x1f) << 5;
19169 // op: imm
19170 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
19171 Value |= (op & 0x20) << 17;
19172 Value |= (op & 0x1f) << 16;
19173 break;
19174 }
19175 case AArch64::XAR_ZZZI_B: {
19176 // op: Zdn
19177 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19178 Value |= (op & 0x1f);
19179 // op: Zm
19180 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19181 Value |= (op & 0x1f) << 5;
19182 // op: imm
19183 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
19184 Value |= (op & 0x7) << 16;
19185 break;
19186 }
19187 case AArch64::FTMAD_ZZI_D:
19188 case AArch64::FTMAD_ZZI_H:
19189 case AArch64::FTMAD_ZZI_S: {
19190 // op: Zdn
19191 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19192 Value |= (op & 0x1f);
19193 // op: Zm
19194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19195 Value |= (op & 0x1f) << 5;
19196 // op: imm3
19197 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19198 Value |= (op & 0x7) << 16;
19199 break;
19200 }
19201 case AArch64::EXTQ_ZZI: {
19202 // op: Zdn
19203 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19204 Value |= (op & 0x1f);
19205 // op: Zm
19206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19207 Value |= (op & 0x1f) << 5;
19208 // op: imm4
19209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19210 Value |= (op & 0xf) << 16;
19211 break;
19212 }
19213 case AArch64::EXT_ZZI: {
19214 // op: Zdn
19215 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19216 Value |= (op & 0x1f);
19217 // op: Zm
19218 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19219 Value |= (op & 0x1f) << 5;
19220 // op: imm8
19221 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19222 Value |= (op & 0xf8) << 13;
19223 Value |= (op & 0x7) << 10;
19224 break;
19225 }
19226 case AArch64::CADD_ZZI_B:
19227 case AArch64::CADD_ZZI_D:
19228 case AArch64::CADD_ZZI_H:
19229 case AArch64::CADD_ZZI_S:
19230 case AArch64::SQCADD_ZZI_B:
19231 case AArch64::SQCADD_ZZI_D:
19232 case AArch64::SQCADD_ZZI_H:
19233 case AArch64::SQCADD_ZZI_S: {
19234 // op: Zdn
19235 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19236 Value |= (op & 0x1f);
19237 // op: Zm
19238 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19239 Value |= (op & 0x1f) << 5;
19240 // op: rot
19241 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19242 Value |= (op & 0x1) << 10;
19243 break;
19244 }
19245 case AArch64::FCADD_ZPmZ_D:
19246 case AArch64::FCADD_ZPmZ_H:
19247 case AArch64::FCADD_ZPmZ_S: {
19248 // op: Zdn
19249 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19250 Value |= (op & 0x1f);
19251 // op: Zm
19252 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19253 Value |= (op & 0x1f) << 5;
19254 // op: Pg
19255 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
19256 Value |= (op & 0x7) << 10;
19257 // op: imm
19258 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19259 Value |= (op & 0x1) << 16;
19260 break;
19261 }
19262 case AArch64::ADD_ZI_B:
19263 case AArch64::ADD_ZI_D:
19264 case AArch64::ADD_ZI_H:
19265 case AArch64::ADD_ZI_S:
19266 case AArch64::SQADD_ZI_B:
19267 case AArch64::SQADD_ZI_D:
19268 case AArch64::SQADD_ZI_H:
19269 case AArch64::SQADD_ZI_S:
19270 case AArch64::SQSUB_ZI_B:
19271 case AArch64::SQSUB_ZI_D:
19272 case AArch64::SQSUB_ZI_H:
19273 case AArch64::SQSUB_ZI_S:
19274 case AArch64::SUBR_ZI_B:
19275 case AArch64::SUBR_ZI_D:
19276 case AArch64::SUBR_ZI_H:
19277 case AArch64::SUBR_ZI_S:
19278 case AArch64::SUB_ZI_B:
19279 case AArch64::SUB_ZI_D:
19280 case AArch64::SUB_ZI_H:
19281 case AArch64::SUB_ZI_S:
19282 case AArch64::UQADD_ZI_B:
19283 case AArch64::UQADD_ZI_D:
19284 case AArch64::UQADD_ZI_H:
19285 case AArch64::UQADD_ZI_S:
19286 case AArch64::UQSUB_ZI_B:
19287 case AArch64::UQSUB_ZI_D:
19288 case AArch64::UQSUB_ZI_H:
19289 case AArch64::UQSUB_ZI_S: {
19290 // op: Zdn
19291 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19292 Value |= (op & 0x1f);
19293 // op: imm
19294 op = getImm8OptLsl(MI, OpIdx: 2, Fixups, STI);
19295 Value |= (op & 0x1ff) << 5;
19296 break;
19297 }
19298 case AArch64::MUL_ZI_B:
19299 case AArch64::MUL_ZI_D:
19300 case AArch64::MUL_ZI_H:
19301 case AArch64::MUL_ZI_S:
19302 case AArch64::SMAX_ZI_B:
19303 case AArch64::SMAX_ZI_D:
19304 case AArch64::SMAX_ZI_H:
19305 case AArch64::SMAX_ZI_S:
19306 case AArch64::SMIN_ZI_B:
19307 case AArch64::SMIN_ZI_D:
19308 case AArch64::SMIN_ZI_H:
19309 case AArch64::SMIN_ZI_S:
19310 case AArch64::UMAX_ZI_B:
19311 case AArch64::UMAX_ZI_D:
19312 case AArch64::UMAX_ZI_H:
19313 case AArch64::UMAX_ZI_S:
19314 case AArch64::UMIN_ZI_B:
19315 case AArch64::UMIN_ZI_D:
19316 case AArch64::UMIN_ZI_H:
19317 case AArch64::UMIN_ZI_S: {
19318 // op: Zdn
19319 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19320 Value |= (op & 0x1f);
19321 // op: imm
19322 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19323 Value |= (op & 0xff) << 5;
19324 break;
19325 }
19326 case AArch64::AND_ZI:
19327 case AArch64::EOR_ZI:
19328 case AArch64::ORR_ZI: {
19329 // op: Zdn
19330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19331 Value |= (op & 0x1f);
19332 // op: imms13
19333 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19334 Value |= (op & 0x1fff) << 5;
19335 break;
19336 }
19337 case AArch64::DECD_ZPiI:
19338 case AArch64::DECH_ZPiI:
19339 case AArch64::DECW_ZPiI:
19340 case AArch64::INCD_ZPiI:
19341 case AArch64::INCH_ZPiI:
19342 case AArch64::INCW_ZPiI:
19343 case AArch64::SQDECD_ZPiI:
19344 case AArch64::SQDECH_ZPiI:
19345 case AArch64::SQDECW_ZPiI:
19346 case AArch64::SQINCD_ZPiI:
19347 case AArch64::SQINCH_ZPiI:
19348 case AArch64::SQINCW_ZPiI:
19349 case AArch64::UQDECD_ZPiI:
19350 case AArch64::UQDECH_ZPiI:
19351 case AArch64::UQDECW_ZPiI:
19352 case AArch64::UQINCD_ZPiI:
19353 case AArch64::UQINCH_ZPiI:
19354 case AArch64::UQINCW_ZPiI: {
19355 // op: Zdn
19356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19357 Value |= (op & 0x1f);
19358 // op: pattern
19359 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19360 Value |= (op & 0x1f) << 5;
19361 // op: imm4
19362 op = getSVEIncDecImm(MI, OpIdx: 3, Fixups, STI);
19363 Value |= (op & 0xf) << 16;
19364 break;
19365 }
19366 case AArch64::BFMAXNM_VG2_2Z2Z_H:
19367 case AArch64::BFMAX_VG2_2Z2Z_H:
19368 case AArch64::BFMINNM_VG2_2Z2Z_H:
19369 case AArch64::BFMIN_VG2_2Z2Z_H:
19370 case AArch64::BFSCALE_2Z2Z:
19371 case AArch64::FAMAX_2Z2Z_D:
19372 case AArch64::FAMAX_2Z2Z_H:
19373 case AArch64::FAMAX_2Z2Z_S:
19374 case AArch64::FAMIN_2Z2Z_D:
19375 case AArch64::FAMIN_2Z2Z_H:
19376 case AArch64::FAMIN_2Z2Z_S:
19377 case AArch64::FMAXNM_VG2_2Z2Z_D:
19378 case AArch64::FMAXNM_VG2_2Z2Z_H:
19379 case AArch64::FMAXNM_VG2_2Z2Z_S:
19380 case AArch64::FMAX_VG2_2Z2Z_D:
19381 case AArch64::FMAX_VG2_2Z2Z_H:
19382 case AArch64::FMAX_VG2_2Z2Z_S:
19383 case AArch64::FMINNM_VG2_2Z2Z_D:
19384 case AArch64::FMINNM_VG2_2Z2Z_H:
19385 case AArch64::FMINNM_VG2_2Z2Z_S:
19386 case AArch64::FMIN_VG2_2Z2Z_D:
19387 case AArch64::FMIN_VG2_2Z2Z_H:
19388 case AArch64::FMIN_VG2_2Z2Z_S:
19389 case AArch64::FSCALE_2Z2Z_D:
19390 case AArch64::FSCALE_2Z2Z_H:
19391 case AArch64::FSCALE_2Z2Z_S:
19392 case AArch64::SMAX_VG2_2Z2Z_B:
19393 case AArch64::SMAX_VG2_2Z2Z_D:
19394 case AArch64::SMAX_VG2_2Z2Z_H:
19395 case AArch64::SMAX_VG2_2Z2Z_S:
19396 case AArch64::SMIN_VG2_2Z2Z_B:
19397 case AArch64::SMIN_VG2_2Z2Z_D:
19398 case AArch64::SMIN_VG2_2Z2Z_H:
19399 case AArch64::SMIN_VG2_2Z2Z_S:
19400 case AArch64::SQDMULH_VG2_2Z2Z_B:
19401 case AArch64::SQDMULH_VG2_2Z2Z_D:
19402 case AArch64::SQDMULH_VG2_2Z2Z_H:
19403 case AArch64::SQDMULH_VG2_2Z2Z_S:
19404 case AArch64::SRSHL_VG2_2Z2Z_B:
19405 case AArch64::SRSHL_VG2_2Z2Z_D:
19406 case AArch64::SRSHL_VG2_2Z2Z_H:
19407 case AArch64::SRSHL_VG2_2Z2Z_S:
19408 case AArch64::UMAX_VG2_2Z2Z_B:
19409 case AArch64::UMAX_VG2_2Z2Z_D:
19410 case AArch64::UMAX_VG2_2Z2Z_H:
19411 case AArch64::UMAX_VG2_2Z2Z_S:
19412 case AArch64::UMIN_VG2_2Z2Z_B:
19413 case AArch64::UMIN_VG2_2Z2Z_D:
19414 case AArch64::UMIN_VG2_2Z2Z_H:
19415 case AArch64::UMIN_VG2_2Z2Z_S:
19416 case AArch64::URSHL_VG2_2Z2Z_B:
19417 case AArch64::URSHL_VG2_2Z2Z_D:
19418 case AArch64::URSHL_VG2_2Z2Z_H:
19419 case AArch64::URSHL_VG2_2Z2Z_S: {
19420 // op: Zm
19421 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
19422 Value |= (op & 0xf) << 17;
19423 // op: Zdn
19424 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19425 Value |= (op & 0xf) << 1;
19426 break;
19427 }
19428 case AArch64::FMLALL_VG2_M2Z2Z_BtoS:
19429 case AArch64::SMLALL_VG2_M2Z2Z_BtoS:
19430 case AArch64::SMLALL_VG2_M2Z2Z_HtoD:
19431 case AArch64::SMLSLL_VG2_M2Z2Z_BtoS:
19432 case AArch64::SMLSLL_VG2_M2Z2Z_HtoD:
19433 case AArch64::UMLALL_VG2_M2Z2Z_BtoS:
19434 case AArch64::UMLALL_VG2_M2Z2Z_HtoD:
19435 case AArch64::UMLSLL_VG2_M2Z2Z_BtoS:
19436 case AArch64::UMLSLL_VG2_M2Z2Z_HtoD:
19437 case AArch64::USMLALL_VG2_M2Z2Z_BtoS: {
19438 // op: Zm
19439 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 5, Fixups, STI);
19440 Value |= (op & 0xf) << 17;
19441 // op: Rv
19442 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19443 Value |= (op & 0x3) << 13;
19444 // op: Zn
19445 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19446 Value |= (op & 0xf) << 6;
19447 // op: imm
19448 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19449 Value |= (op & 0x1);
19450 break;
19451 }
19452 case AArch64::ADD_VG2_M2Z2Z_D:
19453 case AArch64::ADD_VG2_M2Z2Z_S:
19454 case AArch64::BFDOT_VG2_M2Z2Z_HtoS:
19455 case AArch64::BFMLA_VG2_M2Z2Z:
19456 case AArch64::BFMLS_VG2_M2Z2Z:
19457 case AArch64::FDOT_VG2_M2Z2Z_BtoH:
19458 case AArch64::FDOT_VG2_M2Z2Z_BtoS:
19459 case AArch64::FDOT_VG2_M2Z2Z_HtoS:
19460 case AArch64::FMLA_VG2_M2Z2Z_D:
19461 case AArch64::FMLA_VG2_M2Z2Z_H:
19462 case AArch64::FMLA_VG2_M2Z2Z_S:
19463 case AArch64::FMLS_VG2_M2Z2Z_D:
19464 case AArch64::FMLS_VG2_M2Z2Z_H:
19465 case AArch64::FMLS_VG2_M2Z2Z_S:
19466 case AArch64::SDOT_VG2_M2Z2Z_BtoS:
19467 case AArch64::SDOT_VG2_M2Z2Z_HtoD:
19468 case AArch64::SDOT_VG2_M2Z2Z_HtoS:
19469 case AArch64::SUB_VG2_M2Z2Z_D:
19470 case AArch64::SUB_VG2_M2Z2Z_S:
19471 case AArch64::UDOT_VG2_M2Z2Z_BtoS:
19472 case AArch64::UDOT_VG2_M2Z2Z_HtoD:
19473 case AArch64::UDOT_VG2_M2Z2Z_HtoS:
19474 case AArch64::USDOT_VG2_M2Z2Z_BToS: {
19475 // op: Zm
19476 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 5, Fixups, STI);
19477 Value |= (op & 0xf) << 17;
19478 // op: Zn
19479 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19480 Value |= (op & 0xf) << 6;
19481 // op: Rv
19482 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19483 Value |= (op & 0x3) << 13;
19484 // op: imm3
19485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19486 Value |= (op & 0x7);
19487 break;
19488 }
19489 case AArch64::BFMAXNM_VG4_4Z2Z_H:
19490 case AArch64::BFMAX_VG4_4Z2Z_H:
19491 case AArch64::BFMINNM_VG4_4Z2Z_H:
19492 case AArch64::BFMIN_VG4_4Z2Z_H:
19493 case AArch64::BFSCALE_4Z4Z:
19494 case AArch64::FAMAX_4Z4Z_D:
19495 case AArch64::FAMAX_4Z4Z_H:
19496 case AArch64::FAMAX_4Z4Z_S:
19497 case AArch64::FAMIN_4Z4Z_D:
19498 case AArch64::FAMIN_4Z4Z_H:
19499 case AArch64::FAMIN_4Z4Z_S:
19500 case AArch64::FMAXNM_VG4_4Z4Z_D:
19501 case AArch64::FMAXNM_VG4_4Z4Z_H:
19502 case AArch64::FMAXNM_VG4_4Z4Z_S:
19503 case AArch64::FMAX_VG4_4Z4Z_D:
19504 case AArch64::FMAX_VG4_4Z4Z_H:
19505 case AArch64::FMAX_VG4_4Z4Z_S:
19506 case AArch64::FMINNM_VG4_4Z4Z_D:
19507 case AArch64::FMINNM_VG4_4Z4Z_H:
19508 case AArch64::FMINNM_VG4_4Z4Z_S:
19509 case AArch64::FMIN_VG4_4Z4Z_D:
19510 case AArch64::FMIN_VG4_4Z4Z_H:
19511 case AArch64::FMIN_VG4_4Z4Z_S:
19512 case AArch64::FSCALE_4Z4Z_D:
19513 case AArch64::FSCALE_4Z4Z_H:
19514 case AArch64::FSCALE_4Z4Z_S:
19515 case AArch64::SMAX_VG4_4Z4Z_B:
19516 case AArch64::SMAX_VG4_4Z4Z_D:
19517 case AArch64::SMAX_VG4_4Z4Z_H:
19518 case AArch64::SMAX_VG4_4Z4Z_S:
19519 case AArch64::SMIN_VG4_4Z4Z_B:
19520 case AArch64::SMIN_VG4_4Z4Z_D:
19521 case AArch64::SMIN_VG4_4Z4Z_H:
19522 case AArch64::SMIN_VG4_4Z4Z_S:
19523 case AArch64::SQDMULH_VG4_4Z4Z_B:
19524 case AArch64::SQDMULH_VG4_4Z4Z_D:
19525 case AArch64::SQDMULH_VG4_4Z4Z_H:
19526 case AArch64::SQDMULH_VG4_4Z4Z_S:
19527 case AArch64::SRSHL_VG4_4Z4Z_B:
19528 case AArch64::SRSHL_VG4_4Z4Z_D:
19529 case AArch64::SRSHL_VG4_4Z4Z_H:
19530 case AArch64::SRSHL_VG4_4Z4Z_S:
19531 case AArch64::UMAX_VG4_4Z4Z_B:
19532 case AArch64::UMAX_VG4_4Z4Z_D:
19533 case AArch64::UMAX_VG4_4Z4Z_H:
19534 case AArch64::UMAX_VG4_4Z4Z_S:
19535 case AArch64::UMIN_VG4_4Z4Z_B:
19536 case AArch64::UMIN_VG4_4Z4Z_D:
19537 case AArch64::UMIN_VG4_4Z4Z_H:
19538 case AArch64::UMIN_VG4_4Z4Z_S:
19539 case AArch64::URSHL_VG4_4Z4Z_B:
19540 case AArch64::URSHL_VG4_4Z4Z_D:
19541 case AArch64::URSHL_VG4_4Z4Z_H:
19542 case AArch64::URSHL_VG4_4Z4Z_S: {
19543 // op: Zm
19544 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 2, Fixups, STI);
19545 Value |= (op & 0x7) << 18;
19546 // op: Zdn
19547 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19548 Value |= (op & 0x7) << 2;
19549 break;
19550 }
19551 case AArch64::FMLALL_VG4_M4Z4Z_BtoS:
19552 case AArch64::SMLALL_VG4_M4Z4Z_BtoS:
19553 case AArch64::SMLALL_VG4_M4Z4Z_HtoD:
19554 case AArch64::SMLSLL_VG4_M4Z4Z_BtoS:
19555 case AArch64::SMLSLL_VG4_M4Z4Z_HtoD:
19556 case AArch64::UMLALL_VG4_M4Z4Z_BtoS:
19557 case AArch64::UMLALL_VG4_M4Z4Z_HtoD:
19558 case AArch64::UMLSLL_VG4_M4Z4Z_BtoS:
19559 case AArch64::UMLSLL_VG4_M4Z4Z_HtoD:
19560 case AArch64::USMLALL_VG4_M4Z4Z_BtoS: {
19561 // op: Zm
19562 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 5, Fixups, STI);
19563 Value |= (op & 0x7) << 18;
19564 // op: Rv
19565 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19566 Value |= (op & 0x3) << 13;
19567 // op: Zn
19568 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
19569 Value |= (op & 0x7) << 7;
19570 // op: imm
19571 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19572 Value |= (op & 0x1);
19573 break;
19574 }
19575 case AArch64::ADD_VG4_M4Z4Z_D:
19576 case AArch64::ADD_VG4_M4Z4Z_S:
19577 case AArch64::BFDOT_VG4_M4Z4Z_HtoS:
19578 case AArch64::BFMLA_VG4_M4Z4Z:
19579 case AArch64::BFMLS_VG4_M4Z4Z:
19580 case AArch64::FDOT_VG4_M4Z4Z_BtoH:
19581 case AArch64::FDOT_VG4_M4Z4Z_BtoS:
19582 case AArch64::FDOT_VG4_M4Z4Z_HtoS:
19583 case AArch64::FMLA_VG4_M4Z4Z_D:
19584 case AArch64::FMLA_VG4_M4Z4Z_H:
19585 case AArch64::FMLA_VG4_M4Z4Z_S:
19586 case AArch64::FMLS_VG4_M4Z4Z_D:
19587 case AArch64::FMLS_VG4_M4Z4Z_H:
19588 case AArch64::FMLS_VG4_M4Z4Z_S:
19589 case AArch64::SDOT_VG4_M4Z4Z_BtoS:
19590 case AArch64::SDOT_VG4_M4Z4Z_HtoD:
19591 case AArch64::SDOT_VG4_M4Z4Z_HtoS:
19592 case AArch64::SUB_VG4_M4Z4Z_D:
19593 case AArch64::SUB_VG4_M4Z4Z_S:
19594 case AArch64::UDOT_VG4_M4Z4Z_BtoS:
19595 case AArch64::UDOT_VG4_M4Z4Z_HtoD:
19596 case AArch64::UDOT_VG4_M4Z4Z_HtoS:
19597 case AArch64::USDOT_VG4_M4Z4Z_BToS: {
19598 // op: Zm
19599 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 5, Fixups, STI);
19600 Value |= (op & 0x7) << 18;
19601 // op: Zn
19602 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
19603 Value |= (op & 0x7) << 7;
19604 // op: Rv
19605 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19606 Value |= (op & 0x3) << 13;
19607 // op: imm3
19608 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19609 Value |= (op & 0x7);
19610 break;
19611 }
19612 case AArch64::PMULL_2ZZZ_Q: {
19613 // op: Zm
19614 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19615 Value |= (op & 0x1f) << 16;
19616 // op: Zn
19617 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
19618 Value |= (op & 0x1f) << 5;
19619 // op: Zd
19620 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19621 Value |= (op & 0xf) << 1;
19622 break;
19623 }
19624 case AArch64::AESDIMC_2ZZI_B:
19625 case AArch64::AESD_2ZZI_B:
19626 case AArch64::AESEMC_2ZZI_B:
19627 case AArch64::AESE_2ZZI_B: {
19628 // op: Zm
19629 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19630 Value |= (op & 0x1f) << 5;
19631 // op: Zdn
19632 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19633 Value |= (op & 0xf) << 1;
19634 // op: imm2
19635 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19636 Value |= (op & 0x3) << 19;
19637 break;
19638 }
19639 case AArch64::AESDIMC_4ZZI_B:
19640 case AArch64::AESD_4ZZI_B:
19641 case AArch64::AESEMC_4ZZI_B:
19642 case AArch64::AESE_4ZZI_B: {
19643 // op: Zm
19644 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19645 Value |= (op & 0x1f) << 5;
19646 // op: Zdn
19647 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19648 Value |= (op & 0x7) << 2;
19649 // op: imm2
19650 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19651 Value |= (op & 0x3) << 19;
19652 break;
19653 }
19654 case AArch64::ADD_VG2_2ZZ_B:
19655 case AArch64::ADD_VG2_2ZZ_D:
19656 case AArch64::ADD_VG2_2ZZ_H:
19657 case AArch64::ADD_VG2_2ZZ_S:
19658 case AArch64::BFMAXNM_VG2_2ZZ_H:
19659 case AArch64::BFMAX_VG2_2ZZ_H:
19660 case AArch64::BFMINNM_VG2_2ZZ_H:
19661 case AArch64::BFMIN_VG2_2ZZ_H:
19662 case AArch64::BFSCALE_2ZZ:
19663 case AArch64::FMAXNM_VG2_2ZZ_D:
19664 case AArch64::FMAXNM_VG2_2ZZ_H:
19665 case AArch64::FMAXNM_VG2_2ZZ_S:
19666 case AArch64::FMAX_VG2_2ZZ_D:
19667 case AArch64::FMAX_VG2_2ZZ_H:
19668 case AArch64::FMAX_VG2_2ZZ_S:
19669 case AArch64::FMINNM_VG2_2ZZ_D:
19670 case AArch64::FMINNM_VG2_2ZZ_H:
19671 case AArch64::FMINNM_VG2_2ZZ_S:
19672 case AArch64::FMIN_VG2_2ZZ_D:
19673 case AArch64::FMIN_VG2_2ZZ_H:
19674 case AArch64::FMIN_VG2_2ZZ_S:
19675 case AArch64::FSCALE_2ZZ_D:
19676 case AArch64::FSCALE_2ZZ_H:
19677 case AArch64::FSCALE_2ZZ_S:
19678 case AArch64::SMAX_VG2_2ZZ_B:
19679 case AArch64::SMAX_VG2_2ZZ_D:
19680 case AArch64::SMAX_VG2_2ZZ_H:
19681 case AArch64::SMAX_VG2_2ZZ_S:
19682 case AArch64::SMIN_VG2_2ZZ_B:
19683 case AArch64::SMIN_VG2_2ZZ_D:
19684 case AArch64::SMIN_VG2_2ZZ_H:
19685 case AArch64::SMIN_VG2_2ZZ_S:
19686 case AArch64::SQDMULH_VG2_2ZZ_B:
19687 case AArch64::SQDMULH_VG2_2ZZ_D:
19688 case AArch64::SQDMULH_VG2_2ZZ_H:
19689 case AArch64::SQDMULH_VG2_2ZZ_S:
19690 case AArch64::SRSHL_VG2_2ZZ_B:
19691 case AArch64::SRSHL_VG2_2ZZ_D:
19692 case AArch64::SRSHL_VG2_2ZZ_H:
19693 case AArch64::SRSHL_VG2_2ZZ_S:
19694 case AArch64::UMAX_VG2_2ZZ_B:
19695 case AArch64::UMAX_VG2_2ZZ_D:
19696 case AArch64::UMAX_VG2_2ZZ_H:
19697 case AArch64::UMAX_VG2_2ZZ_S:
19698 case AArch64::UMIN_VG2_2ZZ_B:
19699 case AArch64::UMIN_VG2_2ZZ_D:
19700 case AArch64::UMIN_VG2_2ZZ_H:
19701 case AArch64::UMIN_VG2_2ZZ_S:
19702 case AArch64::URSHL_VG2_2ZZ_B:
19703 case AArch64::URSHL_VG2_2ZZ_D:
19704 case AArch64::URSHL_VG2_2ZZ_H:
19705 case AArch64::URSHL_VG2_2ZZ_S: {
19706 // op: Zm
19707 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19708 Value |= (op & 0xf) << 16;
19709 // op: Zdn
19710 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19711 Value |= (op & 0xf) << 1;
19712 break;
19713 }
19714 case AArch64::ADD_VG4_4ZZ_B:
19715 case AArch64::ADD_VG4_4ZZ_D:
19716 case AArch64::ADD_VG4_4ZZ_H:
19717 case AArch64::ADD_VG4_4ZZ_S:
19718 case AArch64::BFMAXNM_VG4_4ZZ_H:
19719 case AArch64::BFMAX_VG4_4ZZ_H:
19720 case AArch64::BFMINNM_VG4_4ZZ_H:
19721 case AArch64::BFMIN_VG4_4ZZ_H:
19722 case AArch64::BFSCALE_4ZZ:
19723 case AArch64::FMAXNM_VG4_4ZZ_D:
19724 case AArch64::FMAXNM_VG4_4ZZ_H:
19725 case AArch64::FMAXNM_VG4_4ZZ_S:
19726 case AArch64::FMAX_VG4_4ZZ_D:
19727 case AArch64::FMAX_VG4_4ZZ_H:
19728 case AArch64::FMAX_VG4_4ZZ_S:
19729 case AArch64::FMINNM_VG4_4ZZ_D:
19730 case AArch64::FMINNM_VG4_4ZZ_H:
19731 case AArch64::FMINNM_VG4_4ZZ_S:
19732 case AArch64::FMIN_VG4_4ZZ_D:
19733 case AArch64::FMIN_VG4_4ZZ_H:
19734 case AArch64::FMIN_VG4_4ZZ_S:
19735 case AArch64::FSCALE_4ZZ_D:
19736 case AArch64::FSCALE_4ZZ_H:
19737 case AArch64::FSCALE_4ZZ_S:
19738 case AArch64::SMAX_VG4_4ZZ_B:
19739 case AArch64::SMAX_VG4_4ZZ_D:
19740 case AArch64::SMAX_VG4_4ZZ_H:
19741 case AArch64::SMAX_VG4_4ZZ_S:
19742 case AArch64::SMIN_VG4_4ZZ_B:
19743 case AArch64::SMIN_VG4_4ZZ_D:
19744 case AArch64::SMIN_VG4_4ZZ_H:
19745 case AArch64::SMIN_VG4_4ZZ_S:
19746 case AArch64::SQDMULH_VG4_4ZZ_B:
19747 case AArch64::SQDMULH_VG4_4ZZ_D:
19748 case AArch64::SQDMULH_VG4_4ZZ_H:
19749 case AArch64::SQDMULH_VG4_4ZZ_S:
19750 case AArch64::SRSHL_VG4_4ZZ_B:
19751 case AArch64::SRSHL_VG4_4ZZ_D:
19752 case AArch64::SRSHL_VG4_4ZZ_H:
19753 case AArch64::SRSHL_VG4_4ZZ_S:
19754 case AArch64::UMAX_VG4_4ZZ_B:
19755 case AArch64::UMAX_VG4_4ZZ_D:
19756 case AArch64::UMAX_VG4_4ZZ_H:
19757 case AArch64::UMAX_VG4_4ZZ_S:
19758 case AArch64::UMIN_VG4_4ZZ_B:
19759 case AArch64::UMIN_VG4_4ZZ_D:
19760 case AArch64::UMIN_VG4_4ZZ_H:
19761 case AArch64::UMIN_VG4_4ZZ_S:
19762 case AArch64::URSHL_VG4_4ZZ_B:
19763 case AArch64::URSHL_VG4_4ZZ_D:
19764 case AArch64::URSHL_VG4_4ZZ_H:
19765 case AArch64::URSHL_VG4_4ZZ_S: {
19766 // op: Zm
19767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19768 Value |= (op & 0xf) << 16;
19769 // op: Zdn
19770 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19771 Value |= (op & 0x7) << 2;
19772 break;
19773 }
19774 case AArch64::BFCLAMP_VG2_2ZZZ_H:
19775 case AArch64::FCLAMP_VG2_2Z2Z_D:
19776 case AArch64::FCLAMP_VG2_2Z2Z_H:
19777 case AArch64::FCLAMP_VG2_2Z2Z_S:
19778 case AArch64::SCLAMP_VG2_2Z2Z_B:
19779 case AArch64::SCLAMP_VG2_2Z2Z_D:
19780 case AArch64::SCLAMP_VG2_2Z2Z_H:
19781 case AArch64::SCLAMP_VG2_2Z2Z_S:
19782 case AArch64::UCLAMP_VG2_2Z2Z_B:
19783 case AArch64::UCLAMP_VG2_2Z2Z_D:
19784 case AArch64::UCLAMP_VG2_2Z2Z_H:
19785 case AArch64::UCLAMP_VG2_2Z2Z_S: {
19786 // op: Zm
19787 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19788 Value |= (op & 0x1f) << 16;
19789 // op: Zn
19790 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19791 Value |= (op & 0x1f) << 5;
19792 // op: Zd
19793 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19794 Value |= (op & 0xf) << 1;
19795 break;
19796 }
19797 case AArch64::BFCLAMP_VG4_4ZZZ_H:
19798 case AArch64::FCLAMP_VG4_4Z4Z_D:
19799 case AArch64::FCLAMP_VG4_4Z4Z_H:
19800 case AArch64::FCLAMP_VG4_4Z4Z_S:
19801 case AArch64::SCLAMP_VG4_4Z4Z_B:
19802 case AArch64::SCLAMP_VG4_4Z4Z_D:
19803 case AArch64::SCLAMP_VG4_4Z4Z_H:
19804 case AArch64::SCLAMP_VG4_4Z4Z_S:
19805 case AArch64::UCLAMP_VG4_4Z4Z_B:
19806 case AArch64::UCLAMP_VG4_4Z4Z_D:
19807 case AArch64::UCLAMP_VG4_4Z4Z_H:
19808 case AArch64::UCLAMP_VG4_4Z4Z_S: {
19809 // op: Zm
19810 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19811 Value |= (op & 0x1f) << 16;
19812 // op: Zn
19813 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19814 Value |= (op & 0x1f) << 5;
19815 // op: Zd
19816 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19817 Value |= (op & 0x7) << 2;
19818 break;
19819 }
19820 case AArch64::BFCLAMP_ZZZ:
19821 case AArch64::FCLAMP_ZZZ_D:
19822 case AArch64::FCLAMP_ZZZ_H:
19823 case AArch64::FCLAMP_ZZZ_S:
19824 case AArch64::SCLAMP_ZZZ_B:
19825 case AArch64::SCLAMP_ZZZ_D:
19826 case AArch64::SCLAMP_ZZZ_H:
19827 case AArch64::SCLAMP_ZZZ_S:
19828 case AArch64::UCLAMP_ZZZ_B:
19829 case AArch64::UCLAMP_ZZZ_D:
19830 case AArch64::UCLAMP_ZZZ_H:
19831 case AArch64::UCLAMP_ZZZ_S: {
19832 // op: Zm
19833 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19834 Value |= (op & 0x1f) << 16;
19835 // op: Zn
19836 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19837 Value |= (op & 0x1f) << 5;
19838 // op: Zd
19839 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19840 Value |= (op & 0x1f);
19841 break;
19842 }
19843 case AArch64::PMLAL_2ZZZ_Q: {
19844 // op: Zm
19845 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19846 Value |= (op & 0x1f) << 16;
19847 // op: Zn
19848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19849 Value |= (op & 0x1f) << 5;
19850 // op: Zda
19851 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19852 Value |= (op & 0xf) << 1;
19853 break;
19854 }
19855 case AArch64::BFMOPA_MPPZZ_H:
19856 case AArch64::BFMOPS_MPPZZ_H:
19857 case AArch64::FMOPA_MPPZZ_BtoH:
19858 case AArch64::FMOPA_MPPZZ_H:
19859 case AArch64::FMOPS_MPPZZ_H: {
19860 // op: Zm
19861 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19862 Value |= (op & 0x1f) << 16;
19863 // op: Pm
19864 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19865 Value |= (op & 0x7) << 13;
19866 // op: Pn
19867 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19868 Value |= (op & 0x7) << 10;
19869 // op: Zn
19870 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19871 Value |= (op & 0x1f) << 5;
19872 // op: ZAda
19873 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19874 Value |= (op & 0x1);
19875 break;
19876 }
19877 case AArch64::BFMOPA_MPPZZ:
19878 case AArch64::BFMOPS_MPPZZ:
19879 case AArch64::BMOPA_MPPZZ_S:
19880 case AArch64::BMOPS_MPPZZ_S:
19881 case AArch64::FMOPAL_MPPZZ:
19882 case AArch64::FMOPA_MPPZZ_BtoS:
19883 case AArch64::FMOPA_MPPZZ_S:
19884 case AArch64::FMOPSL_MPPZZ:
19885 case AArch64::FMOPS_MPPZZ_S:
19886 case AArch64::SMOPA_MPPZZ_HtoS:
19887 case AArch64::SMOPA_MPPZZ_S:
19888 case AArch64::SMOPS_MPPZZ_HtoS:
19889 case AArch64::SMOPS_MPPZZ_S:
19890 case AArch64::SUMOPA_MPPZZ_S:
19891 case AArch64::SUMOPS_MPPZZ_S:
19892 case AArch64::UMOPA_MPPZZ_HtoS:
19893 case AArch64::UMOPA_MPPZZ_S:
19894 case AArch64::UMOPS_MPPZZ_HtoS:
19895 case AArch64::UMOPS_MPPZZ_S:
19896 case AArch64::USMOPA_MPPZZ_S:
19897 case AArch64::USMOPS_MPPZZ_S: {
19898 // op: Zm
19899 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19900 Value |= (op & 0x1f) << 16;
19901 // op: Pm
19902 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19903 Value |= (op & 0x7) << 13;
19904 // op: Pn
19905 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19906 Value |= (op & 0x7) << 10;
19907 // op: Zn
19908 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19909 Value |= (op & 0x1f) << 5;
19910 // op: ZAda
19911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19912 Value |= (op & 0x3);
19913 break;
19914 }
19915 case AArch64::FMOPA_MPPZZ_D:
19916 case AArch64::FMOPS_MPPZZ_D:
19917 case AArch64::SMOPA_MPPZZ_D:
19918 case AArch64::SMOPS_MPPZZ_D:
19919 case AArch64::SUMOPA_MPPZZ_D:
19920 case AArch64::SUMOPS_MPPZZ_D:
19921 case AArch64::UMOPA_MPPZZ_D:
19922 case AArch64::UMOPS_MPPZZ_D:
19923 case AArch64::USMOPA_MPPZZ_D:
19924 case AArch64::USMOPS_MPPZZ_D: {
19925 // op: Zm
19926 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19927 Value |= (op & 0x1f) << 16;
19928 // op: Pm
19929 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19930 Value |= (op & 0x7) << 13;
19931 // op: Pn
19932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19933 Value |= (op & 0x7) << 10;
19934 // op: Zn
19935 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19936 Value |= (op & 0x1f) << 5;
19937 // op: ZAda
19938 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19939 Value |= (op & 0x7);
19940 break;
19941 }
19942 case AArch64::FVDOTB_VG4_M2ZZI_BtoS:
19943 case AArch64::FVDOTT_VG4_M2ZZI_BtoS: {
19944 // op: Zm
19945 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19946 Value |= (op & 0xf) << 16;
19947 // op: Rv
19948 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19949 Value |= (op & 0x3) << 13;
19950 // op: Zn
19951 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19952 Value |= (op & 0xf) << 6;
19953 // op: imm3
19954 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19955 Value |= (op & 0x7);
19956 // op: i
19957 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
19958 Value |= (op & 0x2) << 9;
19959 Value |= (op & 0x1) << 3;
19960 break;
19961 }
19962 case AArch64::BFDOT_VG2_M2ZZI_HtoS:
19963 case AArch64::BFVDOT_VG2_M2ZZI_HtoS:
19964 case AArch64::FDOT_VG2_M2ZZI_BtoS:
19965 case AArch64::FDOT_VG2_M2ZZI_HtoS:
19966 case AArch64::FMLA_VG2_M2ZZI_S:
19967 case AArch64::FMLS_VG2_M2ZZI_S:
19968 case AArch64::FVDOT_VG2_M2ZZI_HtoS:
19969 case AArch64::SDOT_VG2_M2ZZI_BToS:
19970 case AArch64::SDOT_VG2_M2ZZI_HToS:
19971 case AArch64::SUDOT_VG2_M2ZZI_BToS:
19972 case AArch64::SVDOT_VG2_M2ZZI_HtoS:
19973 case AArch64::UDOT_VG2_M2ZZI_BToS:
19974 case AArch64::UDOT_VG2_M2ZZI_HToS:
19975 case AArch64::USDOT_VG2_M2ZZI_BToS:
19976 case AArch64::UVDOT_VG2_M2ZZI_HtoS: {
19977 // op: Zm
19978 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19979 Value |= (op & 0xf) << 16;
19980 // op: Rv
19981 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19982 Value |= (op & 0x3) << 13;
19983 // op: Zn
19984 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19985 Value |= (op & 0xf) << 6;
19986 // op: imm3
19987 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19988 Value |= (op & 0x7);
19989 // op: i
19990 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
19991 Value |= (op & 0x3) << 10;
19992 break;
19993 }
19994 case AArch64::BFMLA_VG2_M2ZZI:
19995 case AArch64::BFMLS_VG2_M2ZZI:
19996 case AArch64::FDOT_VG2_M2ZZI_BtoH:
19997 case AArch64::FMLA_VG2_M2ZZI_H:
19998 case AArch64::FMLS_VG2_M2ZZI_H:
19999 case AArch64::FVDOT_VG2_M2ZZI_BtoH: {
20000 // op: Zm
20001 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20002 Value |= (op & 0xf) << 16;
20003 // op: Rv
20004 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20005 Value |= (op & 0x3) << 13;
20006 // op: Zn
20007 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20008 Value |= (op & 0xf) << 6;
20009 // op: imm3
20010 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20011 Value |= (op & 0x7);
20012 // op: i
20013 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20014 Value |= (op & 0x6) << 9;
20015 Value |= (op & 0x1) << 3;
20016 break;
20017 }
20018 case AArch64::BFDOT_VG4_M4ZZI_HtoS:
20019 case AArch64::FDOT_VG4_M4ZZI_BtoS:
20020 case AArch64::FDOT_VG4_M4ZZI_HtoS:
20021 case AArch64::FMLA_VG4_M4ZZI_S:
20022 case AArch64::FMLS_VG4_M4ZZI_S:
20023 case AArch64::SDOT_VG4_M4ZZI_BToS:
20024 case AArch64::SDOT_VG4_M4ZZI_HToS:
20025 case AArch64::SUDOT_VG4_M4ZZI_BToS:
20026 case AArch64::SUVDOT_VG4_M4ZZI_BToS:
20027 case AArch64::SVDOT_VG4_M4ZZI_BtoS:
20028 case AArch64::UDOT_VG4_M4ZZI_BtoS:
20029 case AArch64::UDOT_VG4_M4ZZI_HToS:
20030 case AArch64::USDOT_VG4_M4ZZI_BToS:
20031 case AArch64::USVDOT_VG4_M4ZZI_BToS:
20032 case AArch64::UVDOT_VG4_M4ZZI_BtoS: {
20033 // op: Zm
20034 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20035 Value |= (op & 0xf) << 16;
20036 // op: Rv
20037 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20038 Value |= (op & 0x3) << 13;
20039 // op: Zn
20040 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20041 Value |= (op & 0x7) << 7;
20042 // op: imm3
20043 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20044 Value |= (op & 0x7);
20045 // op: i
20046 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20047 Value |= (op & 0x3) << 10;
20048 break;
20049 }
20050 case AArch64::BFMLA_VG4_M4ZZI:
20051 case AArch64::BFMLS_VG4_M4ZZI:
20052 case AArch64::FDOT_VG4_M4ZZI_BtoH:
20053 case AArch64::FMLA_VG4_M4ZZI_H:
20054 case AArch64::FMLS_VG4_M4ZZI_H: {
20055 // op: Zm
20056 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20057 Value |= (op & 0xf) << 16;
20058 // op: Rv
20059 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20060 Value |= (op & 0x3) << 13;
20061 // op: Zn
20062 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20063 Value |= (op & 0x7) << 7;
20064 // op: imm3
20065 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20066 Value |= (op & 0x7);
20067 // op: i
20068 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20069 Value |= (op & 0x6) << 9;
20070 Value |= (op & 0x1) << 3;
20071 break;
20072 }
20073 case AArch64::FMLALL_VG2_M2ZZ_BtoS:
20074 case AArch64::FMLALL_VG4_M4ZZ_BtoS:
20075 case AArch64::SMLALL_VG2_M2ZZ_BtoS:
20076 case AArch64::SMLALL_VG2_M2ZZ_HtoD:
20077 case AArch64::SMLALL_VG4_M4ZZ_BtoS:
20078 case AArch64::SMLALL_VG4_M4ZZ_HtoD:
20079 case AArch64::SMLSLL_VG2_M2ZZ_BtoS:
20080 case AArch64::SMLSLL_VG2_M2ZZ_HtoD:
20081 case AArch64::SMLSLL_VG4_M4ZZ_BtoS:
20082 case AArch64::SMLSLL_VG4_M4ZZ_HtoD:
20083 case AArch64::SUMLALL_VG2_M2ZZ_BtoS:
20084 case AArch64::SUMLALL_VG4_M4ZZ_BtoS:
20085 case AArch64::UMLALL_VG2_M2ZZ_BtoS:
20086 case AArch64::UMLALL_VG2_M2ZZ_HtoD:
20087 case AArch64::UMLALL_VG4_M4ZZ_BtoS:
20088 case AArch64::UMLALL_VG4_M4ZZ_HtoD:
20089 case AArch64::UMLSLL_VG2_M2ZZ_BtoS:
20090 case AArch64::UMLSLL_VG2_M2ZZ_HtoD:
20091 case AArch64::UMLSLL_VG4_M4ZZ_BtoS:
20092 case AArch64::UMLSLL_VG4_M4ZZ_HtoD:
20093 case AArch64::USMLALL_VG2_M2ZZ_BtoS:
20094 case AArch64::USMLALL_VG4_M4ZZ_BtoS: {
20095 // op: Zm
20096 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20097 Value |= (op & 0xf) << 16;
20098 // op: Rv
20099 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20100 Value |= (op & 0x3) << 13;
20101 // op: Zn
20102 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20103 Value |= (op & 0x1f) << 5;
20104 // op: imm
20105 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20106 Value |= (op & 0x1);
20107 break;
20108 }
20109 case AArch64::FMLALL_MZZ_BtoS:
20110 case AArch64::SMLALL_MZZ_BtoS:
20111 case AArch64::SMLALL_MZZ_HtoD:
20112 case AArch64::SMLSLL_MZZ_BtoS:
20113 case AArch64::SMLSLL_MZZ_HtoD:
20114 case AArch64::UMLALL_MZZ_BtoS:
20115 case AArch64::UMLALL_MZZ_HtoD:
20116 case AArch64::UMLSLL_MZZ_BtoS:
20117 case AArch64::UMLSLL_MZZ_HtoD:
20118 case AArch64::USMLALL_MZZ_BtoS: {
20119 // op: Zm
20120 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20121 Value |= (op & 0xf) << 16;
20122 // op: Rv
20123 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20124 Value |= (op & 0x3) << 13;
20125 // op: Zn
20126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20127 Value |= (op & 0x1f) << 5;
20128 // op: imm
20129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20130 Value |= (op & 0x3);
20131 break;
20132 }
20133 case AArch64::SMLALL_MZZI_HtoD:
20134 case AArch64::SMLSLL_MZZI_HtoD:
20135 case AArch64::UMLALL_MZZI_HtoD:
20136 case AArch64::UMLSLL_MZZI_HtoD: {
20137 // op: Zm
20138 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20139 Value |= (op & 0xf) << 16;
20140 // op: Rv
20141 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20142 Value |= (op & 0x3) << 13;
20143 // op: i
20144 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20145 Value |= (op & 0x4) << 13;
20146 Value |= (op & 0x3) << 10;
20147 // op: Zn
20148 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20149 Value |= (op & 0x1f) << 5;
20150 // op: imm2
20151 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20152 Value |= (op & 0x3);
20153 break;
20154 }
20155 case AArch64::SMLALL_VG2_M2ZZI_HtoD:
20156 case AArch64::SMLSLL_VG2_M2ZZI_HtoD:
20157 case AArch64::UMLALL_VG2_M2ZZI_HtoD:
20158 case AArch64::UMLSLL_VG2_M2ZZI_HtoD: {
20159 // op: Zm
20160 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20161 Value |= (op & 0xf) << 16;
20162 // op: Rv
20163 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20164 Value |= (op & 0x3) << 13;
20165 // op: i
20166 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20167 Value |= (op & 0x4) << 8;
20168 Value |= (op & 0x3) << 1;
20169 // op: imm
20170 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20171 Value |= (op & 0x1);
20172 // op: Zn
20173 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20174 Value |= (op & 0xf) << 6;
20175 break;
20176 }
20177 case AArch64::SMLALL_VG4_M4ZZI_HtoD:
20178 case AArch64::SMLSLL_VG4_M4ZZI_HtoD:
20179 case AArch64::UMLALL_VG4_M4ZZI_HtoD:
20180 case AArch64::UMLSLL_VG4_M4ZZI_HtoD: {
20181 // op: Zm
20182 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20183 Value |= (op & 0xf) << 16;
20184 // op: Rv
20185 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20186 Value |= (op & 0x3) << 13;
20187 // op: i
20188 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20189 Value |= (op & 0x4) << 8;
20190 Value |= (op & 0x3) << 1;
20191 // op: imm
20192 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20193 Value |= (op & 0x1);
20194 // op: Zn
20195 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20196 Value |= (op & 0x7) << 7;
20197 break;
20198 }
20199 case AArch64::FMLAL_MZZI_BtoH: {
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 & 0x8) << 12;
20209 Value |= (op & 0x6) << 9;
20210 Value |= (op & 0x1) << 3;
20211 // op: Zn
20212 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20213 Value |= (op & 0x1f) << 5;
20214 // op: imm3
20215 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20216 Value |= (op & 0x7);
20217 break;
20218 }
20219 case AArch64::FMLALL_MZZI_BtoS:
20220 case AArch64::SMLALL_MZZI_BtoS:
20221 case AArch64::SMLSLL_MZZI_BtoS:
20222 case AArch64::SUMLALL_MZZI_BtoS:
20223 case AArch64::UMLALL_MZZI_BtoS:
20224 case AArch64::UMLSLL_MZZI_BtoS:
20225 case AArch64::USMLALL_MZZI_BtoS: {
20226 // op: Zm
20227 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20228 Value |= (op & 0xf) << 16;
20229 // op: Rv
20230 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20231 Value |= (op & 0x3) << 13;
20232 // op: i
20233 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20234 Value |= (op & 0x8) << 12;
20235 Value |= (op & 0x7) << 10;
20236 // op: Zn
20237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20238 Value |= (op & 0x1f) << 5;
20239 // op: imm2
20240 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20241 Value |= (op & 0x3);
20242 break;
20243 }
20244 case AArch64::FMLALL_VG2_M2ZZI_BtoS:
20245 case AArch64::SMLALL_VG2_M2ZZI_BtoS:
20246 case AArch64::SMLSLL_VG2_M2ZZI_BtoS:
20247 case AArch64::SUMLALL_VG2_M2ZZI_BtoS:
20248 case AArch64::UMLALL_VG2_M2ZZI_BtoS:
20249 case AArch64::UMLSLL_VG2_M2ZZI_BtoS:
20250 case AArch64::USMLALL_VG2_M2ZZI_BtoS: {
20251 // op: Zm
20252 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20253 Value |= (op & 0xf) << 16;
20254 // op: Rv
20255 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20256 Value |= (op & 0x3) << 13;
20257 // op: i
20258 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20259 Value |= (op & 0xc) << 8;
20260 Value |= (op & 0x3) << 1;
20261 // op: imm
20262 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20263 Value |= (op & 0x1);
20264 // op: Zn
20265 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20266 Value |= (op & 0xf) << 6;
20267 break;
20268 }
20269 case AArch64::FMLALL_VG4_M4ZZI_BtoS:
20270 case AArch64::SMLALL_VG4_M4ZZI_BtoS:
20271 case AArch64::SMLSLL_VG4_M4ZZI_BtoS:
20272 case AArch64::SUMLALL_VG4_M4ZZI_BtoS:
20273 case AArch64::UMLALL_VG4_M4ZZI_BtoS:
20274 case AArch64::UMLSLL_VG4_M4ZZI_BtoS:
20275 case AArch64::USMLALL_VG4_M4ZZI_BtoS: {
20276 // op: Zm
20277 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20278 Value |= (op & 0xf) << 16;
20279 // op: Rv
20280 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20281 Value |= (op & 0x3) << 13;
20282 // op: i
20283 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20284 Value |= (op & 0xc) << 8;
20285 Value |= (op & 0x3) << 1;
20286 // op: imm
20287 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20288 Value |= (op & 0x1);
20289 // op: Zn
20290 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20291 Value |= (op & 0x7) << 7;
20292 break;
20293 }
20294 case AArch64::FMLAL_VG2_M2ZZI_BtoH: {
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) << 2;
20305 // op: imm2
20306 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20307 Value |= (op & 0x3);
20308 // op: Zn
20309 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20310 Value |= (op & 0xf) << 6;
20311 break;
20312 }
20313 case AArch64::FMLAL_VG4_M4ZZI_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<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20329 Value |= (op & 0x7) << 7;
20330 break;
20331 }
20332 case AArch64::FMLA_VG2_M2ZZI_D:
20333 case AArch64::FMLS_VG2_M2ZZI_D:
20334 case AArch64::SDOT_VG2_M2ZZI_HtoD:
20335 case AArch64::UDOT_VG2_M2ZZI_HtoD: {
20336 // op: Zm
20337 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20338 Value |= (op & 0xf) << 16;
20339 // op: Rv
20340 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20341 Value |= (op & 0x3) << 13;
20342 // op: i1
20343 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20344 Value |= (op & 0x1) << 10;
20345 // op: Zn
20346 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20347 Value |= (op & 0xf) << 6;
20348 // op: imm3
20349 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20350 Value |= (op & 0x7);
20351 break;
20352 }
20353 case AArch64::FMLA_VG4_M4ZZI_D:
20354 case AArch64::FMLS_VG4_M4ZZI_D:
20355 case AArch64::SDOT_VG4_M4ZZI_HtoD:
20356 case AArch64::SVDOT_VG4_M4ZZI_HtoD:
20357 case AArch64::UDOT_VG4_M4ZZI_HtoD:
20358 case AArch64::UVDOT_VG4_M4ZZI_HtoD: {
20359 // op: Zm
20360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20361 Value |= (op & 0xf) << 16;
20362 // op: Rv
20363 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20364 Value |= (op & 0x3) << 13;
20365 // op: i1
20366 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20367 Value |= (op & 0x1) << 10;
20368 // op: Zn
20369 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20370 Value |= (op & 0x7) << 7;
20371 // op: imm3
20372 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20373 Value |= (op & 0x7);
20374 break;
20375 }
20376 case AArch64::BFMLAL_MZZI_HtoS:
20377 case AArch64::BFMLSL_MZZI_HtoS:
20378 case AArch64::FMLAL_MZZI_HtoS:
20379 case AArch64::FMLSL_MZZI_HtoS:
20380 case AArch64::SMLAL_MZZI_HtoS:
20381 case AArch64::SMLSL_MZZI_HtoS:
20382 case AArch64::UMLAL_MZZI_HtoS:
20383 case AArch64::UMLSL_MZZI_HtoS: {
20384 // op: Zm
20385 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20386 Value |= (op & 0xf) << 16;
20387 // op: Rv
20388 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20389 Value |= (op & 0x3) << 13;
20390 // op: i3
20391 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20392 Value |= (op & 0x4) << 13;
20393 Value |= (op & 0x3) << 10;
20394 // op: Zn
20395 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20396 Value |= (op & 0x1f) << 5;
20397 // op: imm
20398 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20399 Value |= (op & 0x7);
20400 break;
20401 }
20402 case AArch64::BFMLAL_VG2_M2ZZI_HtoS:
20403 case AArch64::BFMLSL_VG2_M2ZZI_HtoS:
20404 case AArch64::FMLAL_VG2_M2ZZI_HtoS:
20405 case AArch64::FMLSL_VG2_M2ZZI_HtoS:
20406 case AArch64::SMLAL_VG2_M2ZZI_S:
20407 case AArch64::SMLSL_VG2_M2ZZI_S:
20408 case AArch64::UMLAL_VG2_M2ZZI_S:
20409 case AArch64::UMLSL_VG2_M2ZZI_S: {
20410 // op: Zm
20411 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20412 Value |= (op & 0xf) << 16;
20413 // op: Rv
20414 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20415 Value |= (op & 0x3) << 13;
20416 // op: i3
20417 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20418 Value |= (op & 0x6) << 9;
20419 Value |= (op & 0x1) << 2;
20420 // op: Zn
20421 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20422 Value |= (op & 0xf) << 6;
20423 // op: imm
20424 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20425 Value |= (op & 0x3);
20426 break;
20427 }
20428 case AArch64::BFMLAL_VG4_M4ZZI_HtoS:
20429 case AArch64::BFMLSL_VG4_M4ZZI_HtoS:
20430 case AArch64::FMLAL_VG4_M4ZZI_HtoS:
20431 case AArch64::FMLSL_VG4_M4ZZI_HtoS:
20432 case AArch64::SMLAL_VG4_M4ZZI_HtoS:
20433 case AArch64::SMLSL_VG4_M4ZZI_HtoS:
20434 case AArch64::UMLAL_VG4_M4ZZI_HtoS:
20435 case AArch64::UMLSL_VG4_M4ZZI_HtoS: {
20436 // op: Zm
20437 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20438 Value |= (op & 0xf) << 16;
20439 // op: Rv
20440 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20441 Value |= (op & 0x3) << 13;
20442 // op: i3
20443 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20444 Value |= (op & 0x6) << 9;
20445 Value |= (op & 0x1) << 2;
20446 // op: Zn
20447 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20448 Value |= (op & 0x7) << 7;
20449 // op: imm
20450 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20451 Value |= (op & 0x3);
20452 break;
20453 }
20454 case AArch64::ADD_VG2_M2ZZ_D:
20455 case AArch64::ADD_VG2_M2ZZ_S:
20456 case AArch64::ADD_VG4_M4ZZ_D:
20457 case AArch64::ADD_VG4_M4ZZ_S:
20458 case AArch64::BFDOT_VG2_M2ZZ_HtoS:
20459 case AArch64::BFDOT_VG4_M4ZZ_HtoS:
20460 case AArch64::BFMLA_VG2_M2ZZ:
20461 case AArch64::BFMLA_VG4_M4ZZ:
20462 case AArch64::BFMLS_VG2_M2ZZ:
20463 case AArch64::BFMLS_VG4_M4ZZ:
20464 case AArch64::FDOT_VG2_M2ZZ_BtoH:
20465 case AArch64::FDOT_VG2_M2ZZ_BtoS:
20466 case AArch64::FDOT_VG2_M2ZZ_HtoS:
20467 case AArch64::FDOT_VG4_M4ZZ_BtoH:
20468 case AArch64::FDOT_VG4_M4ZZ_BtoS:
20469 case AArch64::FDOT_VG4_M4ZZ_HtoS:
20470 case AArch64::FMLA_VG2_M2ZZ_D:
20471 case AArch64::FMLA_VG2_M2ZZ_H:
20472 case AArch64::FMLA_VG2_M2ZZ_S:
20473 case AArch64::FMLA_VG4_M4ZZ_D:
20474 case AArch64::FMLA_VG4_M4ZZ_H:
20475 case AArch64::FMLA_VG4_M4ZZ_S:
20476 case AArch64::FMLS_VG2_M2ZZ_D:
20477 case AArch64::FMLS_VG2_M2ZZ_H:
20478 case AArch64::FMLS_VG2_M2ZZ_S:
20479 case AArch64::FMLS_VG4_M4ZZ_D:
20480 case AArch64::FMLS_VG4_M4ZZ_H:
20481 case AArch64::FMLS_VG4_M4ZZ_S:
20482 case AArch64::SDOT_VG2_M2ZZ_BtoS:
20483 case AArch64::SDOT_VG2_M2ZZ_HtoD:
20484 case AArch64::SDOT_VG2_M2ZZ_HtoS:
20485 case AArch64::SDOT_VG4_M4ZZ_BtoS:
20486 case AArch64::SDOT_VG4_M4ZZ_HtoD:
20487 case AArch64::SDOT_VG4_M4ZZ_HtoS:
20488 case AArch64::SUB_VG2_M2ZZ_D:
20489 case AArch64::SUB_VG2_M2ZZ_S:
20490 case AArch64::SUB_VG4_M4ZZ_D:
20491 case AArch64::SUB_VG4_M4ZZ_S:
20492 case AArch64::SUDOT_VG2_M2ZZ_BToS:
20493 case AArch64::SUDOT_VG4_M4ZZ_BToS:
20494 case AArch64::UDOT_VG2_M2ZZ_BtoS:
20495 case AArch64::UDOT_VG2_M2ZZ_HtoD:
20496 case AArch64::UDOT_VG2_M2ZZ_HtoS:
20497 case AArch64::UDOT_VG4_M4ZZ_BtoS:
20498 case AArch64::UDOT_VG4_M4ZZ_HtoD:
20499 case AArch64::UDOT_VG4_M4ZZ_HtoS:
20500 case AArch64::USDOT_VG2_M2ZZ_BToS:
20501 case AArch64::USDOT_VG4_M4ZZ_BToS: {
20502 // op: Zm
20503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20504 Value |= (op & 0xf) << 16;
20505 // op: Zn
20506 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20507 Value |= (op & 0x1f) << 5;
20508 // op: Rv
20509 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20510 Value |= (op & 0x3) << 13;
20511 // op: imm3
20512 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20513 Value |= (op & 0x7);
20514 break;
20515 }
20516 case AArch64::FCVTZS_2Z2Z_StoS:
20517 case AArch64::FCVTZU_2Z2Z_StoS:
20518 case AArch64::FRINTA_2Z2Z_S:
20519 case AArch64::FRINTM_2Z2Z_S:
20520 case AArch64::FRINTN_2Z2Z_S:
20521 case AArch64::FRINTP_2Z2Z_S:
20522 case AArch64::SCVTF_2Z2Z_StoS:
20523 case AArch64::UCVTF_2Z2Z_StoS: {
20524 // op: Zn
20525 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
20526 Value |= (op & 0xf) << 6;
20527 // op: Zd
20528 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20529 Value |= (op & 0xf) << 1;
20530 break;
20531 }
20532 case AArch64::SUNPK_VG4_4Z2Z_D:
20533 case AArch64::SUNPK_VG4_4Z2Z_H:
20534 case AArch64::SUNPK_VG4_4Z2Z_S:
20535 case AArch64::UUNPK_VG4_4Z2Z_D:
20536 case AArch64::UUNPK_VG4_4Z2Z_H:
20537 case AArch64::UUNPK_VG4_4Z2Z_S: {
20538 // op: Zn
20539 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
20540 Value |= (op & 0xf) << 6;
20541 // op: Zd
20542 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20543 Value |= (op & 0x7) << 2;
20544 break;
20545 }
20546 case AArch64::BFCVTN_Z2Z_StoH:
20547 case AArch64::BFCVT_Z2Z_HtoB:
20548 case AArch64::BFCVT_Z2Z_StoH:
20549 case AArch64::FCVTN_Z2Z_StoH:
20550 case AArch64::FCVT_Z2Z_HtoB:
20551 case AArch64::FCVT_Z2Z_StoH:
20552 case AArch64::SQCVTU_Z2Z_StoH:
20553 case AArch64::SQCVT_Z2Z_StoH:
20554 case AArch64::UQCVT_Z2Z_StoH: {
20555 // op: Zn
20556 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
20557 Value |= (op & 0xf) << 6;
20558 // op: Zd
20559 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20560 Value |= (op & 0x1f);
20561 break;
20562 }
20563 case AArch64::LUTI4_4ZZT2Z: {
20564 // op: Zn
20565 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
20566 Value |= (op & 0xf) << 6;
20567 // op: Zd
20568 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20569 Value |= (op & 0x7) << 2;
20570 break;
20571 }
20572 case AArch64::LUTI4_S_4ZZT2Z: {
20573 // op: Zn
20574 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
20575 Value |= (op & 0xf) << 6;
20576 // op: Zd
20577 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20578 Value |= (op & 0x4) << 2;
20579 Value |= (op & 0x3);
20580 break;
20581 }
20582 case AArch64::FCVTZS_4Z4Z_StoS:
20583 case AArch64::FCVTZU_4Z4Z_StoS:
20584 case AArch64::FRINTA_4Z4Z_S:
20585 case AArch64::FRINTM_4Z4Z_S:
20586 case AArch64::FRINTN_4Z4Z_S:
20587 case AArch64::FRINTP_4Z4Z_S:
20588 case AArch64::SCVTF_4Z4Z_StoS:
20589 case AArch64::UCVTF_4Z4Z_StoS:
20590 case AArch64::UZP_VG4_4Z4Z_B:
20591 case AArch64::UZP_VG4_4Z4Z_D:
20592 case AArch64::UZP_VG4_4Z4Z_H:
20593 case AArch64::UZP_VG4_4Z4Z_Q:
20594 case AArch64::UZP_VG4_4Z4Z_S:
20595 case AArch64::ZIP_VG4_4Z4Z_B:
20596 case AArch64::ZIP_VG4_4Z4Z_D:
20597 case AArch64::ZIP_VG4_4Z4Z_H:
20598 case AArch64::ZIP_VG4_4Z4Z_Q:
20599 case AArch64::ZIP_VG4_4Z4Z_S: {
20600 // op: Zn
20601 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20602 Value |= (op & 0x7) << 7;
20603 // op: Zd
20604 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20605 Value |= (op & 0x7) << 2;
20606 break;
20607 }
20608 case AArch64::FCVTN_Z4Z_StoB:
20609 case AArch64::FCVT_Z4Z_StoB:
20610 case AArch64::SQCVTN_Z4Z_DtoH:
20611 case AArch64::SQCVTN_Z4Z_StoB:
20612 case AArch64::SQCVTUN_Z4Z_DtoH:
20613 case AArch64::SQCVTUN_Z4Z_StoB:
20614 case AArch64::SQCVTU_Z4Z_DtoH:
20615 case AArch64::SQCVTU_Z4Z_StoB:
20616 case AArch64::SQCVT_Z4Z_DtoH:
20617 case AArch64::SQCVT_Z4Z_StoB:
20618 case AArch64::UQCVTN_Z4Z_DtoH:
20619 case AArch64::UQCVTN_Z4Z_StoB:
20620 case AArch64::UQCVT_Z4Z_DtoH:
20621 case AArch64::UQCVT_Z4Z_StoB: {
20622 // op: Zn
20623 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20624 Value |= (op & 0x7) << 7;
20625 // op: Zd
20626 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20627 Value |= (op & 0x1f);
20628 break;
20629 }
20630 case AArch64::SQRSHRN_VG4_Z4ZI_B:
20631 case AArch64::SQRSHRUN_VG4_Z4ZI_B:
20632 case AArch64::SQRSHRU_VG4_Z4ZI_B:
20633 case AArch64::SQRSHR_VG4_Z4ZI_B:
20634 case AArch64::UQRSHRN_VG4_Z4ZI_B:
20635 case AArch64::UQRSHR_VG4_Z4ZI_B: {
20636 // op: Zn
20637 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20638 Value |= (op & 0x7) << 7;
20639 // op: Zd
20640 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20641 Value |= (op & 0x1f);
20642 // op: imm
20643 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
20644 Value |= (op & 0x1f) << 16;
20645 break;
20646 }
20647 case AArch64::SQRSHRN_VG4_Z4ZI_H:
20648 case AArch64::SQRSHRUN_VG4_Z4ZI_H:
20649 case AArch64::SQRSHRU_VG4_Z4ZI_H:
20650 case AArch64::SQRSHR_VG4_Z4ZI_H:
20651 case AArch64::UQRSHRN_VG4_Z4ZI_H:
20652 case AArch64::UQRSHR_VG4_Z4ZI_H: {
20653 // op: Zn
20654 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20655 Value |= (op & 0x7) << 7;
20656 // op: Zd
20657 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20658 Value |= (op & 0x1f);
20659 // op: imm
20660 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
20661 Value |= (op & 0x20) << 17;
20662 Value |= (op & 0x1f) << 16;
20663 break;
20664 }
20665 case AArch64::BF1CVTL_2ZZ_BtoH:
20666 case AArch64::BF1CVT_2ZZ_BtoH:
20667 case AArch64::BF2CVTL_2ZZ_BtoH:
20668 case AArch64::BF2CVT_2ZZ_BtoH:
20669 case AArch64::F1CVTL_2ZZ_BtoH:
20670 case AArch64::F1CVT_2ZZ_BtoH:
20671 case AArch64::F2CVTL_2ZZ_BtoH:
20672 case AArch64::F2CVT_2ZZ_BtoH:
20673 case AArch64::FCVTL_2ZZ_H_S:
20674 case AArch64::FCVT_2ZZ_H_S:
20675 case AArch64::SUNPK_VG2_2ZZ_D:
20676 case AArch64::SUNPK_VG2_2ZZ_H:
20677 case AArch64::SUNPK_VG2_2ZZ_S:
20678 case AArch64::UUNPK_VG2_2ZZ_D:
20679 case AArch64::UUNPK_VG2_2ZZ_H:
20680 case AArch64::UUNPK_VG2_2ZZ_S: {
20681 // op: Zn
20682 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
20683 Value |= (op & 0x1f) << 5;
20684 // op: Zd
20685 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20686 Value |= (op & 0xf) << 1;
20687 break;
20688 }
20689 case AArch64::FADDV_VPZ_D:
20690 case AArch64::FADDV_VPZ_H:
20691 case AArch64::FADDV_VPZ_S:
20692 case AArch64::FMAXNMV_VPZ_D:
20693 case AArch64::FMAXNMV_VPZ_H:
20694 case AArch64::FMAXNMV_VPZ_S:
20695 case AArch64::FMAXV_VPZ_D:
20696 case AArch64::FMAXV_VPZ_H:
20697 case AArch64::FMAXV_VPZ_S:
20698 case AArch64::FMINNMV_VPZ_D:
20699 case AArch64::FMINNMV_VPZ_H:
20700 case AArch64::FMINNMV_VPZ_S:
20701 case AArch64::FMINV_VPZ_D:
20702 case AArch64::FMINV_VPZ_H:
20703 case AArch64::FMINV_VPZ_S: {
20704 // op: Zn
20705 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20706 Value |= (op & 0x1f) << 5;
20707 // op: Vd
20708 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20709 Value |= (op & 0x1f);
20710 // op: Pg
20711 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
20712 Value |= (op & 0x7) << 10;
20713 break;
20714 }
20715 case AArch64::LUTI4_2ZTZI_B:
20716 case AArch64::LUTI4_2ZTZI_H:
20717 case AArch64::LUTI4_2ZTZI_S: {
20718 // op: Zn
20719 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20720 Value |= (op & 0x1f) << 5;
20721 // op: Zd
20722 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20723 Value |= (op & 0xf) << 1;
20724 // op: i
20725 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20726 Value |= (op & 0x3) << 15;
20727 break;
20728 }
20729 case AArch64::LUTI2_2ZTZI_B:
20730 case AArch64::LUTI2_2ZTZI_H:
20731 case AArch64::LUTI2_2ZTZI_S: {
20732 // op: Zn
20733 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20734 Value |= (op & 0x1f) << 5;
20735 // op: Zd
20736 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20737 Value |= (op & 0xf) << 1;
20738 // op: i
20739 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20740 Value |= (op & 0x7) << 15;
20741 break;
20742 }
20743 case AArch64::LUTI4_4ZTZI_H:
20744 case AArch64::LUTI4_4ZTZI_S: {
20745 // op: Zn
20746 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20747 Value |= (op & 0x1f) << 5;
20748 // op: Zd
20749 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20750 Value |= (op & 0x7) << 2;
20751 // op: i
20752 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20753 Value |= (op & 0x1) << 16;
20754 break;
20755 }
20756 case AArch64::LUTI2_4ZTZI_B:
20757 case AArch64::LUTI2_4ZTZI_H:
20758 case AArch64::LUTI2_4ZTZI_S: {
20759 // op: Zn
20760 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20761 Value |= (op & 0x1f) << 5;
20762 // op: Zd
20763 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20764 Value |= (op & 0x7) << 2;
20765 // op: i
20766 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20767 Value |= (op & 0x3) << 16;
20768 break;
20769 }
20770 case AArch64::LUTI4_S_2ZTZI_B:
20771 case AArch64::LUTI4_S_2ZTZI_H: {
20772 // op: Zn
20773 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20774 Value |= (op & 0x1f) << 5;
20775 // op: Zd
20776 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20777 Value |= (op & 0x8) << 1;
20778 Value |= (op & 0x7);
20779 // op: i
20780 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20781 Value |= (op & 0x3) << 15;
20782 break;
20783 }
20784 case AArch64::LUTI2_S_2ZTZI_B:
20785 case AArch64::LUTI2_S_2ZTZI_H: {
20786 // op: Zn
20787 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20788 Value |= (op & 0x1f) << 5;
20789 // op: Zd
20790 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20791 Value |= (op & 0x8) << 1;
20792 Value |= (op & 0x7);
20793 // op: i
20794 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20795 Value |= (op & 0x7) << 15;
20796 break;
20797 }
20798 case AArch64::LUTI4_S_4ZTZI_H: {
20799 // op: Zn
20800 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20801 Value |= (op & 0x1f) << 5;
20802 // op: Zd
20803 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20804 Value |= (op & 0x4) << 2;
20805 Value |= (op & 0x3);
20806 // op: i
20807 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20808 Value |= (op & 0x1) << 16;
20809 break;
20810 }
20811 case AArch64::LUTI2_S_4ZTZI_B:
20812 case AArch64::LUTI2_S_4ZTZI_H: {
20813 // op: Zn
20814 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20815 Value |= (op & 0x1f) << 5;
20816 // op: Zd
20817 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20818 Value |= (op & 0x4) << 2;
20819 Value |= (op & 0x3);
20820 // op: i
20821 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20822 Value |= (op & 0x3) << 16;
20823 break;
20824 }
20825 case AArch64::LUTI4_ZTZI_B:
20826 case AArch64::LUTI4_ZTZI_H:
20827 case AArch64::LUTI4_ZTZI_S: {
20828 // op: Zn
20829 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20830 Value |= (op & 0x1f) << 5;
20831 // op: Zd
20832 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20833 Value |= (op & 0x1f);
20834 // op: i
20835 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20836 Value |= (op & 0x7) << 14;
20837 break;
20838 }
20839 case AArch64::LUTI2_ZTZI_B:
20840 case AArch64::LUTI2_ZTZI_H:
20841 case AArch64::LUTI2_ZTZI_S: {
20842 // op: Zn
20843 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20844 Value |= (op & 0x1f) << 5;
20845 // op: Zd
20846 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20847 Value |= (op & 0x1f);
20848 // op: i
20849 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20850 Value |= (op & 0xf) << 14;
20851 break;
20852 }
20853 case AArch64::LD1B_2Z:
20854 case AArch64::LD1D_2Z:
20855 case AArch64::LD1H_2Z:
20856 case AArch64::LD1W_2Z:
20857 case AArch64::LDNT1B_2Z:
20858 case AArch64::LDNT1D_2Z:
20859 case AArch64::LDNT1H_2Z:
20860 case AArch64::LDNT1W_2Z:
20861 case AArch64::ST1B_2Z:
20862 case AArch64::ST1D_2Z:
20863 case AArch64::ST1H_2Z:
20864 case AArch64::ST1W_2Z:
20865 case AArch64::STNT1B_2Z:
20866 case AArch64::STNT1D_2Z:
20867 case AArch64::STNT1H_2Z:
20868 case AArch64::STNT1W_2Z: {
20869 // op: Zt
20870 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20871 Value |= (op & 0xf) << 1;
20872 // op: Rm
20873 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20874 Value |= (op & 0x1f) << 16;
20875 // op: Rn
20876 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20877 Value |= (op & 0x1f) << 5;
20878 // op: PNg
20879 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20880 Value |= (op & 0x7) << 10;
20881 break;
20882 }
20883 case AArch64::LD1B_2Z_IMM:
20884 case AArch64::LD1D_2Z_IMM:
20885 case AArch64::LD1H_2Z_IMM:
20886 case AArch64::LD1W_2Z_IMM:
20887 case AArch64::LDNT1B_2Z_IMM:
20888 case AArch64::LDNT1D_2Z_IMM:
20889 case AArch64::LDNT1H_2Z_IMM:
20890 case AArch64::LDNT1W_2Z_IMM:
20891 case AArch64::ST1B_2Z_IMM:
20892 case AArch64::ST1D_2Z_IMM:
20893 case AArch64::ST1H_2Z_IMM:
20894 case AArch64::ST1W_2Z_IMM:
20895 case AArch64::STNT1B_2Z_IMM:
20896 case AArch64::STNT1D_2Z_IMM:
20897 case AArch64::STNT1H_2Z_IMM:
20898 case AArch64::STNT1W_2Z_IMM: {
20899 // op: Zt
20900 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20901 Value |= (op & 0xf) << 1;
20902 // op: Rn
20903 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20904 Value |= (op & 0x1f) << 5;
20905 // op: PNg
20906 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20907 Value |= (op & 0x7) << 10;
20908 // op: imm4
20909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20910 Value |= (op & 0xf) << 16;
20911 break;
20912 }
20913 case AArch64::LD1B_4Z:
20914 case AArch64::LD1D_4Z:
20915 case AArch64::LD1H_4Z:
20916 case AArch64::LD1W_4Z:
20917 case AArch64::LDNT1B_4Z:
20918 case AArch64::LDNT1D_4Z:
20919 case AArch64::LDNT1H_4Z:
20920 case AArch64::LDNT1W_4Z:
20921 case AArch64::ST1B_4Z:
20922 case AArch64::ST1D_4Z:
20923 case AArch64::ST1H_4Z:
20924 case AArch64::ST1W_4Z:
20925 case AArch64::STNT1B_4Z:
20926 case AArch64::STNT1D_4Z:
20927 case AArch64::STNT1H_4Z:
20928 case AArch64::STNT1W_4Z: {
20929 // op: Zt
20930 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20931 Value |= (op & 0x7) << 2;
20932 // op: Rm
20933 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20934 Value |= (op & 0x1f) << 16;
20935 // op: Rn
20936 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20937 Value |= (op & 0x1f) << 5;
20938 // op: PNg
20939 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20940 Value |= (op & 0x7) << 10;
20941 break;
20942 }
20943 case AArch64::LD1B_4Z_IMM:
20944 case AArch64::LD1D_4Z_IMM:
20945 case AArch64::LD1H_4Z_IMM:
20946 case AArch64::LD1W_4Z_IMM:
20947 case AArch64::LDNT1B_4Z_IMM:
20948 case AArch64::LDNT1D_4Z_IMM:
20949 case AArch64::LDNT1H_4Z_IMM:
20950 case AArch64::LDNT1W_4Z_IMM:
20951 case AArch64::ST1B_4Z_IMM:
20952 case AArch64::ST1D_4Z_IMM:
20953 case AArch64::ST1H_4Z_IMM:
20954 case AArch64::ST1W_4Z_IMM:
20955 case AArch64::STNT1B_4Z_IMM:
20956 case AArch64::STNT1D_4Z_IMM:
20957 case AArch64::STNT1H_4Z_IMM:
20958 case AArch64::STNT1W_4Z_IMM: {
20959 // op: Zt
20960 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20961 Value |= (op & 0x7) << 2;
20962 // op: Rn
20963 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20964 Value |= (op & 0x1f) << 5;
20965 // op: PNg
20966 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20967 Value |= (op & 0x7) << 10;
20968 // op: imm4
20969 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20970 Value |= (op & 0xf) << 16;
20971 break;
20972 }
20973 case AArch64::LD1B:
20974 case AArch64::LD1B_D:
20975 case AArch64::LD1B_H:
20976 case AArch64::LD1B_S:
20977 case AArch64::LD1D:
20978 case AArch64::LD1H:
20979 case AArch64::LD1H_D:
20980 case AArch64::LD1H_S:
20981 case AArch64::LD1SB_D:
20982 case AArch64::LD1SB_H:
20983 case AArch64::LD1SB_S:
20984 case AArch64::LD1SH_D:
20985 case AArch64::LD1SH_S:
20986 case AArch64::LD1SW_D:
20987 case AArch64::LD1W:
20988 case AArch64::LD1W_D:
20989 case AArch64::LDFF1B:
20990 case AArch64::LDFF1B_D:
20991 case AArch64::LDFF1B_H:
20992 case AArch64::LDFF1B_S:
20993 case AArch64::LDFF1D:
20994 case AArch64::LDFF1H:
20995 case AArch64::LDFF1H_D:
20996 case AArch64::LDFF1H_S:
20997 case AArch64::LDFF1SB_D:
20998 case AArch64::LDFF1SB_H:
20999 case AArch64::LDFF1SB_S:
21000 case AArch64::LDFF1SH_D:
21001 case AArch64::LDFF1SH_S:
21002 case AArch64::LDFF1SW_D:
21003 case AArch64::LDFF1W:
21004 case AArch64::LDFF1W_D: {
21005 // op: Zt
21006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21007 Value |= (op & 0x1f);
21008 // op: Pg
21009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21010 Value |= (op & 0x7) << 10;
21011 // op: Rm
21012 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21013 Value |= (op & 0x1f) << 16;
21014 // op: Rn
21015 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21016 Value |= (op & 0x1f) << 5;
21017 break;
21018 }
21019 case AArch64::LD1RO_B:
21020 case AArch64::LD1RO_D:
21021 case AArch64::LD1RO_H:
21022 case AArch64::LD1RO_W:
21023 case AArch64::LD1RQ_B:
21024 case AArch64::LD1RQ_D:
21025 case AArch64::LD1RQ_H:
21026 case AArch64::LD1RQ_W: {
21027 // op: Zt
21028 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21029 Value |= (op & 0x1f);
21030 // op: Pg
21031 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21032 Value |= (op & 0x7) << 10;
21033 // op: Rn
21034 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21035 Value |= (op & 0x1f) << 5;
21036 // op: Rm
21037 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21038 Value |= (op & 0x1f) << 16;
21039 break;
21040 }
21041 case AArch64::LD2B_IMM:
21042 case AArch64::LD2D_IMM:
21043 case AArch64::LD2H_IMM:
21044 case AArch64::LD2Q_IMM:
21045 case AArch64::LD2W_IMM:
21046 case AArch64::LD3B_IMM:
21047 case AArch64::LD3D_IMM:
21048 case AArch64::LD3H_IMM:
21049 case AArch64::LD3Q_IMM:
21050 case AArch64::LD3W_IMM:
21051 case AArch64::LD4B_IMM:
21052 case AArch64::LD4D_IMM:
21053 case AArch64::LD4H_IMM:
21054 case AArch64::LD4Q_IMM:
21055 case AArch64::LD4W_IMM:
21056 case AArch64::LDNT1B_ZRI:
21057 case AArch64::LDNT1D_ZRI:
21058 case AArch64::LDNT1H_ZRI:
21059 case AArch64::LDNT1W_ZRI: {
21060 // op: Zt
21061 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21062 Value |= (op & 0x1f);
21063 // op: Pg
21064 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21065 Value |= (op & 0x7) << 10;
21066 // op: Rn
21067 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21068 Value |= (op & 0x1f) << 5;
21069 // op: imm4
21070 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21071 Value |= (op & 0xf) << 16;
21072 break;
21073 }
21074 case AArch64::LD1D_Q:
21075 case AArch64::LD1W_Q:
21076 case AArch64::ST2Q:
21077 case AArch64::ST3Q:
21078 case AArch64::ST4Q: {
21079 // op: Zt
21080 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21081 Value |= (op & 0x1f);
21082 // op: Rn
21083 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21084 Value |= (op & 0x1f) << 5;
21085 // op: Pg
21086 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21087 Value |= (op & 0x7) << 10;
21088 // op: Rm
21089 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21090 Value |= (op & 0x1f) << 16;
21091 break;
21092 }
21093 case AArch64::LD1D_Q_IMM:
21094 case AArch64::LD1RO_B_IMM:
21095 case AArch64::LD1RO_D_IMM:
21096 case AArch64::LD1RO_H_IMM:
21097 case AArch64::LD1RO_W_IMM:
21098 case AArch64::LD1RQ_B_IMM:
21099 case AArch64::LD1RQ_D_IMM:
21100 case AArch64::LD1RQ_H_IMM:
21101 case AArch64::LD1RQ_W_IMM:
21102 case AArch64::LD1W_Q_IMM:
21103 case AArch64::ST2Q_IMM:
21104 case AArch64::ST3Q_IMM:
21105 case AArch64::ST4Q_IMM: {
21106 // op: Zt
21107 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21108 Value |= (op & 0x1f);
21109 // op: Rn
21110 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21111 Value |= (op & 0x1f) << 5;
21112 // op: Pg
21113 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21114 Value |= (op & 0x7) << 10;
21115 // op: imm4
21116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21117 Value |= (op & 0xf) << 16;
21118 break;
21119 }
21120 case AArch64::GLD1Q:
21121 case AArch64::SST1Q: {
21122 // op: Zt
21123 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21124 Value |= (op & 0x1f);
21125 // op: Zn
21126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21127 Value |= (op & 0x1f) << 5;
21128 // op: Pg
21129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21130 Value |= (op & 0x7) << 10;
21131 // op: Rm
21132 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21133 Value |= (op & 0x1f) << 16;
21134 break;
21135 }
21136 case AArch64::MOVT_TIZ: {
21137 // op: Zt
21138 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21139 Value |= (op & 0x1f);
21140 // op: off2
21141 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21142 Value |= (op & 0x3) << 12;
21143 break;
21144 }
21145 case AArch64::B:
21146 case AArch64::BL: {
21147 // op: addr
21148 op = getBranchTargetOpValue(MI, OpIdx: 0, Fixups, STI);
21149 Value |= (op & 0x3ffffff);
21150 break;
21151 }
21152 case AArch64::BCcc:
21153 case AArch64::Bcc: {
21154 // op: cond
21155 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21156 Value |= (op & 0xf);
21157 // op: target
21158 op = getCondBranchTargetOpValue(MI, OpIdx: 1, Fixups, STI);
21159 Value |= (op & 0x7ffff) << 5;
21160 break;
21161 }
21162 case AArch64::DUPi64: {
21163 // op: dst
21164 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21165 Value |= (op & 0x1f);
21166 // op: src
21167 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21168 Value |= (op & 0x1f) << 5;
21169 // op: idx
21170 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21171 Value |= (op & 0x1) << 20;
21172 break;
21173 }
21174 case AArch64::DUPi32: {
21175 // op: dst
21176 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21177 Value |= (op & 0x1f);
21178 // op: src
21179 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21180 Value |= (op & 0x1f) << 5;
21181 // op: idx
21182 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21183 Value |= (op & 0x3) << 19;
21184 break;
21185 }
21186 case AArch64::DUPi16: {
21187 // op: dst
21188 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21189 Value |= (op & 0x1f);
21190 // op: src
21191 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21192 Value |= (op & 0x1f) << 5;
21193 // op: idx
21194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21195 Value |= (op & 0x7) << 18;
21196 break;
21197 }
21198 case AArch64::DUPi8: {
21199 // op: dst
21200 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21201 Value |= (op & 0x1f);
21202 // op: src
21203 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21204 Value |= (op & 0x1f) << 5;
21205 // op: idx
21206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21207 Value |= (op & 0xf) << 17;
21208 break;
21209 }
21210 case AArch64::ZERO_M: {
21211 // op: imm
21212 op = EncodeMatrixTileListRegisterClass(MI, OpIdx: 0, Fixups, STI);
21213 Value |= (op & 0xff);
21214 break;
21215 }
21216 case AArch64::HINT: {
21217 // op: imm
21218 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21219 Value |= (op & 0x7f) << 5;
21220 break;
21221 }
21222 case AArch64::TENTER: {
21223 // op: imm
21224 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21225 Value |= (op & 0x7f) << 5;
21226 // op: nb
21227 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21228 Value |= (op & 0x1) << 17;
21229 break;
21230 }
21231 case AArch64::BRK:
21232 case AArch64::DCPS1:
21233 case AArch64::DCPS2:
21234 case AArch64::DCPS3:
21235 case AArch64::HLT:
21236 case AArch64::HVC:
21237 case AArch64::SMC:
21238 case AArch64::SVC: {
21239 // op: imm
21240 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21241 Value |= (op & 0xffff) << 5;
21242 break;
21243 }
21244 case AArch64::UDF: {
21245 // op: imm
21246 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21247 Value |= (op & 0xffff);
21248 break;
21249 }
21250 case AArch64::MOVT_TIX: {
21251 // op: imm3
21252 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21253 Value |= (op & 0x7) << 12;
21254 // op: Rt
21255 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21256 Value |= (op & 0x1f);
21257 break;
21258 }
21259 case AArch64::MOVT_XTI: {
21260 // op: imm3
21261 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21262 Value |= (op & 0x7) << 12;
21263 // op: Rt
21264 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21265 Value |= (op & 0x1f);
21266 break;
21267 }
21268 case AArch64::LD1B_2Z_STRIDED_IMM:
21269 case AArch64::LD1D_2Z_STRIDED_IMM:
21270 case AArch64::LD1H_2Z_STRIDED_IMM:
21271 case AArch64::LD1W_2Z_STRIDED_IMM:
21272 case AArch64::LDNT1B_2Z_STRIDED_IMM:
21273 case AArch64::LDNT1D_2Z_STRIDED_IMM:
21274 case AArch64::LDNT1H_2Z_STRIDED_IMM:
21275 case AArch64::LDNT1W_2Z_STRIDED_IMM:
21276 case AArch64::ST1B_2Z_STRIDED_IMM:
21277 case AArch64::ST1D_2Z_STRIDED_IMM:
21278 case AArch64::ST1H_2Z_STRIDED_IMM:
21279 case AArch64::ST1W_2Z_STRIDED_IMM:
21280 case AArch64::STNT1B_2Z_STRIDED_IMM:
21281 case AArch64::STNT1D_2Z_STRIDED_IMM:
21282 case AArch64::STNT1H_2Z_STRIDED_IMM:
21283 case AArch64::STNT1W_2Z_STRIDED_IMM: {
21284 // op: imm4
21285 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21286 Value |= (op & 0xf) << 16;
21287 // op: PNg
21288 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
21289 Value |= (op & 0x7) << 10;
21290 // op: Rn
21291 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21292 Value |= (op & 0x1f) << 5;
21293 // op: Zt
21294 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
21295 Value |= (op & 0x8) << 1;
21296 Value |= (op & 0x7);
21297 break;
21298 }
21299 case AArch64::LD1B_4Z_STRIDED_IMM:
21300 case AArch64::LD1D_4Z_STRIDED_IMM:
21301 case AArch64::LD1H_4Z_STRIDED_IMM:
21302 case AArch64::LD1W_4Z_STRIDED_IMM:
21303 case AArch64::LDNT1B_4Z_STRIDED_IMM:
21304 case AArch64::LDNT1D_4Z_STRIDED_IMM:
21305 case AArch64::LDNT1H_4Z_STRIDED_IMM:
21306 case AArch64::LDNT1W_4Z_STRIDED_IMM:
21307 case AArch64::ST1B_4Z_STRIDED_IMM:
21308 case AArch64::ST1D_4Z_STRIDED_IMM:
21309 case AArch64::ST1H_4Z_STRIDED_IMM:
21310 case AArch64::ST1W_4Z_STRIDED_IMM:
21311 case AArch64::STNT1B_4Z_STRIDED_IMM:
21312 case AArch64::STNT1D_4Z_STRIDED_IMM:
21313 case AArch64::STNT1H_4Z_STRIDED_IMM:
21314 case AArch64::STNT1W_4Z_STRIDED_IMM: {
21315 // op: imm4
21316 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21317 Value |= (op & 0xf) << 16;
21318 // op: PNg
21319 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
21320 Value |= (op & 0x7) << 10;
21321 // op: Rn
21322 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21323 Value |= (op & 0x1f) << 5;
21324 // op: Zt
21325 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
21326 Value |= (op & 0x4) << 2;
21327 Value |= (op & 0x3);
21328 break;
21329 }
21330 case AArch64::SQRSHRU_VG2_Z2ZI_H:
21331 case AArch64::SQRSHR_VG2_Z2ZI_H:
21332 case AArch64::UQRSHR_VG2_Z2ZI_H: {
21333 // op: imm4
21334 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
21335 Value |= (op & 0xf) << 16;
21336 // op: Zn
21337 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
21338 Value |= (op & 0xf) << 6;
21339 // op: Zd
21340 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21341 Value |= (op & 0x1f);
21342 break;
21343 }
21344 case AArch64::AUTIASPPCi:
21345 case AArch64::AUTIBSPPCi:
21346 case AArch64::RETAASPPCi:
21347 case AArch64::RETABSPPCi: {
21348 // op: label
21349 op = getPAuthPCRelOpValue(MI, OpIdx: 0, Fixups, STI);
21350 Value |= (op & 0xffff) << 5;
21351 break;
21352 }
21353 case AArch64::TEXIT: {
21354 // op: nb
21355 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21356 Value |= (op & 0x1) << 10;
21357 break;
21358 }
21359 case AArch64::LDRAAindexed:
21360 case AArch64::LDRABindexed: {
21361 // op: offset
21362 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21363 Value |= (op & 0x200) << 13;
21364 Value |= (op & 0x1ff) << 12;
21365 // op: Rn
21366 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21367 Value |= (op & 0x1f) << 5;
21368 // op: Rt
21369 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21370 Value |= (op & 0x1f);
21371 break;
21372 }
21373 case AArch64::LDRAAwriteback:
21374 case AArch64::LDRABwriteback: {
21375 // op: offset
21376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21377 Value |= (op & 0x200) << 13;
21378 Value |= (op & 0x1ff) << 12;
21379 // op: Rn
21380 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21381 Value |= (op & 0x1f) << 5;
21382 // op: Rt
21383 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21384 Value |= (op & 0x1f);
21385 break;
21386 }
21387 case AArch64::SYSPxt_XZR: {
21388 // op: op1
21389 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21390 Value |= (op & 0x7) << 16;
21391 // op: Cn
21392 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21393 Value |= (op & 0xf) << 12;
21394 // op: Cm
21395 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21396 Value |= (op & 0xf) << 8;
21397 // op: op2
21398 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21399 Value |= (op & 0x7) << 5;
21400 break;
21401 }
21402 case AArch64::STSHH: {
21403 // op: policy
21404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21405 Value |= (op & 0x7) << 5;
21406 break;
21407 }
21408 case AArch64::SHUH: {
21409 // op: priority
21410 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21411 Value |= (op & 0x1) << 5;
21412 break;
21413 }
21414 case AArch64::MSRpstateImm1: {
21415 // op: pstatefield
21416 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21417 Value |= (op & 0x38) << 13;
21418 Value |= (op & 0x1c0) << 3;
21419 Value |= (op & 0x7) << 5;
21420 // op: imm
21421 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21422 Value |= (op & 0x1) << 8;
21423 break;
21424 }
21425 case AArch64::MSRpstateImm4: {
21426 // op: pstatefield
21427 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21428 Value |= (op & 0x38) << 13;
21429 Value |= (op & 0x7) << 5;
21430 // op: imm
21431 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21432 Value |= (op & 0xf) << 8;
21433 break;
21434 }
21435 case AArch64::MSRpstatesvcrImm1: {
21436 // op: pstatefield
21437 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21438 Value |= (op & 0x7) << 9;
21439 // op: imm
21440 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21441 Value |= (op & 0x1) << 8;
21442 break;
21443 }
21444 default:
21445 reportUnsupportedInst(Inst: MI);
21446 }
21447 return Value;
21448}
21449
21450#ifdef GET_OPERAND_BIT_OFFSET
21451#undef GET_OPERAND_BIT_OFFSET
21452
21453uint32_t AArch64MCCodeEmitter::getOperandBitOffset(const MCInst &MI,
21454 unsigned OpNum,
21455 const MCSubtargetInfo &STI) const {
21456 switch (MI.getOpcode()) {
21457 case AArch64::AUTIA1716:
21458 case AArch64::AUTIA171615:
21459 case AArch64::AUTIASP:
21460 case AArch64::AUTIAZ:
21461 case AArch64::AUTIB1716:
21462 case AArch64::AUTIB171615:
21463 case AArch64::AUTIBSP:
21464 case AArch64::AUTIBZ:
21465 case AArch64::AXFLAG:
21466 case AArch64::BRB_IALL:
21467 case AArch64::BRB_INJ:
21468 case AArch64::CFINV:
21469 case AArch64::CHKFEAT:
21470 case AArch64::DRPS:
21471 case AArch64::ERET:
21472 case AArch64::ERETAA:
21473 case AArch64::ERETAB:
21474 case AArch64::GCSPOPCX:
21475 case AArch64::GCSPOPX:
21476 case AArch64::GCSPUSHX:
21477 case AArch64::NOP:
21478 case AArch64::PACIA1716:
21479 case AArch64::PACIA171615:
21480 case AArch64::PACIASP:
21481 case AArch64::PACIASPPC:
21482 case AArch64::PACIAZ:
21483 case AArch64::PACIB1716:
21484 case AArch64::PACIB171615:
21485 case AArch64::PACIBSP:
21486 case AArch64::PACIBSPPC:
21487 case AArch64::PACIBZ:
21488 case AArch64::PACM:
21489 case AArch64::PACNBIASPPC:
21490 case AArch64::PACNBIBSPPC:
21491 case AArch64::RETAA:
21492 case AArch64::RETAB:
21493 case AArch64::SB:
21494 case AArch64::SETFFR:
21495 case AArch64::STCPH:
21496 case AArch64::TSB:
21497 case AArch64::XAFLAG:
21498 case AArch64::XPACLRI:
21499 case AArch64::ZERO_T: {
21500 break;
21501 }
21502 case AArch64::DSBnXS: {
21503 switch (OpNum) {
21504 case 0:
21505 // op: CRm
21506 return 10;
21507 }
21508 break;
21509 }
21510 case AArch64::CLREX:
21511 case AArch64::DMB:
21512 case AArch64::DSB:
21513 case AArch64::ISB: {
21514 switch (OpNum) {
21515 case 0:
21516 // op: CRm
21517 return 8;
21518 }
21519 break;
21520 }
21521 case AArch64::WHILEGE_CXX_B:
21522 case AArch64::WHILEGE_CXX_D:
21523 case AArch64::WHILEGE_CXX_H:
21524 case AArch64::WHILEGE_CXX_S:
21525 case AArch64::WHILEGT_CXX_B:
21526 case AArch64::WHILEGT_CXX_D:
21527 case AArch64::WHILEGT_CXX_H:
21528 case AArch64::WHILEGT_CXX_S:
21529 case AArch64::WHILEHI_CXX_B:
21530 case AArch64::WHILEHI_CXX_D:
21531 case AArch64::WHILEHI_CXX_H:
21532 case AArch64::WHILEHI_CXX_S:
21533 case AArch64::WHILEHS_CXX_B:
21534 case AArch64::WHILEHS_CXX_D:
21535 case AArch64::WHILEHS_CXX_H:
21536 case AArch64::WHILEHS_CXX_S:
21537 case AArch64::WHILELE_CXX_B:
21538 case AArch64::WHILELE_CXX_D:
21539 case AArch64::WHILELE_CXX_H:
21540 case AArch64::WHILELE_CXX_S:
21541 case AArch64::WHILELO_CXX_B:
21542 case AArch64::WHILELO_CXX_D:
21543 case AArch64::WHILELO_CXX_H:
21544 case AArch64::WHILELO_CXX_S:
21545 case AArch64::WHILELS_CXX_B:
21546 case AArch64::WHILELS_CXX_D:
21547 case AArch64::WHILELS_CXX_H:
21548 case AArch64::WHILELS_CXX_S:
21549 case AArch64::WHILELT_CXX_B:
21550 case AArch64::WHILELT_CXX_D:
21551 case AArch64::WHILELT_CXX_H:
21552 case AArch64::WHILELT_CXX_S: {
21553 switch (OpNum) {
21554 case 0:
21555 // op: PNd
21556 return 0;
21557 case 1:
21558 // op: Rn
21559 return 5;
21560 case 3:
21561 // op: vl
21562 return 13;
21563 case 2:
21564 // op: Rm
21565 return 16;
21566 }
21567 break;
21568 }
21569 case AArch64::PTRUE_C_B:
21570 case AArch64::PTRUE_C_D:
21571 case AArch64::PTRUE_C_H:
21572 case AArch64::PTRUE_C_S: {
21573 switch (OpNum) {
21574 case 0:
21575 // op: PNd
21576 return 0;
21577 }
21578 break;
21579 }
21580 case AArch64::PEXT_2PCI_B:
21581 case AArch64::PEXT_2PCI_D:
21582 case AArch64::PEXT_2PCI_H:
21583 case AArch64::PEXT_2PCI_S:
21584 case AArch64::PEXT_PCI_B:
21585 case AArch64::PEXT_PCI_D:
21586 case AArch64::PEXT_PCI_H:
21587 case AArch64::PEXT_PCI_S: {
21588 switch (OpNum) {
21589 case 0:
21590 // op: Pd
21591 return 0;
21592 case 1:
21593 // op: PNn
21594 return 5;
21595 case 2:
21596 // op: index
21597 return 8;
21598 }
21599 break;
21600 }
21601 case AArch64::BRKAS_PPzP:
21602 case AArch64::BRKA_PPzP:
21603 case AArch64::BRKBS_PPzP:
21604 case AArch64::BRKB_PPzP: {
21605 switch (OpNum) {
21606 case 0:
21607 // op: Pd
21608 return 0;
21609 case 1:
21610 // op: Pg
21611 return 10;
21612 case 2:
21613 // op: Pn
21614 return 5;
21615 }
21616 break;
21617 }
21618 case AArch64::CMPEQ_PPzZI_B:
21619 case AArch64::CMPEQ_PPzZI_D:
21620 case AArch64::CMPEQ_PPzZI_H:
21621 case AArch64::CMPEQ_PPzZI_S:
21622 case AArch64::CMPGE_PPzZI_B:
21623 case AArch64::CMPGE_PPzZI_D:
21624 case AArch64::CMPGE_PPzZI_H:
21625 case AArch64::CMPGE_PPzZI_S:
21626 case AArch64::CMPGT_PPzZI_B:
21627 case AArch64::CMPGT_PPzZI_D:
21628 case AArch64::CMPGT_PPzZI_H:
21629 case AArch64::CMPGT_PPzZI_S:
21630 case AArch64::CMPLE_PPzZI_B:
21631 case AArch64::CMPLE_PPzZI_D:
21632 case AArch64::CMPLE_PPzZI_H:
21633 case AArch64::CMPLE_PPzZI_S:
21634 case AArch64::CMPLT_PPzZI_B:
21635 case AArch64::CMPLT_PPzZI_D:
21636 case AArch64::CMPLT_PPzZI_H:
21637 case AArch64::CMPLT_PPzZI_S:
21638 case AArch64::CMPNE_PPzZI_B:
21639 case AArch64::CMPNE_PPzZI_D:
21640 case AArch64::CMPNE_PPzZI_H:
21641 case AArch64::CMPNE_PPzZI_S: {
21642 switch (OpNum) {
21643 case 0:
21644 // op: Pd
21645 return 0;
21646 case 1:
21647 // op: Pg
21648 return 10;
21649 case 2:
21650 // op: Zn
21651 return 5;
21652 case 3:
21653 // op: imm5
21654 return 16;
21655 }
21656 break;
21657 }
21658 case AArch64::CMPHI_PPzZI_B:
21659 case AArch64::CMPHI_PPzZI_D:
21660 case AArch64::CMPHI_PPzZI_H:
21661 case AArch64::CMPHI_PPzZI_S:
21662 case AArch64::CMPHS_PPzZI_B:
21663 case AArch64::CMPHS_PPzZI_D:
21664 case AArch64::CMPHS_PPzZI_H:
21665 case AArch64::CMPHS_PPzZI_S:
21666 case AArch64::CMPLO_PPzZI_B:
21667 case AArch64::CMPLO_PPzZI_D:
21668 case AArch64::CMPLO_PPzZI_H:
21669 case AArch64::CMPLO_PPzZI_S:
21670 case AArch64::CMPLS_PPzZI_B:
21671 case AArch64::CMPLS_PPzZI_D:
21672 case AArch64::CMPLS_PPzZI_H:
21673 case AArch64::CMPLS_PPzZI_S: {
21674 switch (OpNum) {
21675 case 0:
21676 // op: Pd
21677 return 0;
21678 case 1:
21679 // op: Pg
21680 return 10;
21681 case 2:
21682 // op: Zn
21683 return 5;
21684 case 3:
21685 // op: imm7
21686 return 14;
21687 }
21688 break;
21689 }
21690 case AArch64::FCMEQ_PPzZ0_D:
21691 case AArch64::FCMEQ_PPzZ0_H:
21692 case AArch64::FCMEQ_PPzZ0_S:
21693 case AArch64::FCMGE_PPzZ0_D:
21694 case AArch64::FCMGE_PPzZ0_H:
21695 case AArch64::FCMGE_PPzZ0_S:
21696 case AArch64::FCMGT_PPzZ0_D:
21697 case AArch64::FCMGT_PPzZ0_H:
21698 case AArch64::FCMGT_PPzZ0_S:
21699 case AArch64::FCMLE_PPzZ0_D:
21700 case AArch64::FCMLE_PPzZ0_H:
21701 case AArch64::FCMLE_PPzZ0_S:
21702 case AArch64::FCMLT_PPzZ0_D:
21703 case AArch64::FCMLT_PPzZ0_H:
21704 case AArch64::FCMLT_PPzZ0_S:
21705 case AArch64::FCMNE_PPzZ0_D:
21706 case AArch64::FCMNE_PPzZ0_H:
21707 case AArch64::FCMNE_PPzZ0_S: {
21708 switch (OpNum) {
21709 case 0:
21710 // op: Pd
21711 return 0;
21712 case 1:
21713 // op: Pg
21714 return 10;
21715 case 2:
21716 // op: Zn
21717 return 5;
21718 }
21719 break;
21720 }
21721 case AArch64::ANDS_PPzPP:
21722 case AArch64::AND_PPzPP:
21723 case AArch64::BICS_PPzPP:
21724 case AArch64::BIC_PPzPP:
21725 case AArch64::BRKPAS_PPzPP:
21726 case AArch64::BRKPA_PPzPP:
21727 case AArch64::BRKPBS_PPzPP:
21728 case AArch64::BRKPB_PPzPP:
21729 case AArch64::EORS_PPzPP:
21730 case AArch64::EOR_PPzPP:
21731 case AArch64::NANDS_PPzPP:
21732 case AArch64::NAND_PPzPP:
21733 case AArch64::NORS_PPzPP:
21734 case AArch64::NOR_PPzPP:
21735 case AArch64::ORNS_PPzPP:
21736 case AArch64::ORN_PPzPP:
21737 case AArch64::ORRS_PPzPP:
21738 case AArch64::ORR_PPzPP:
21739 case AArch64::SEL_PPPP: {
21740 switch (OpNum) {
21741 case 0:
21742 // op: Pd
21743 return 0;
21744 case 1:
21745 // op: Pg
21746 return 10;
21747 case 3:
21748 // op: Pm
21749 return 16;
21750 case 2:
21751 // op: Pn
21752 return 5;
21753 }
21754 break;
21755 }
21756 case AArch64::CMPEQ_PPzZZ_B:
21757 case AArch64::CMPEQ_PPzZZ_D:
21758 case AArch64::CMPEQ_PPzZZ_H:
21759 case AArch64::CMPEQ_PPzZZ_S:
21760 case AArch64::CMPEQ_WIDE_PPzZZ_B:
21761 case AArch64::CMPEQ_WIDE_PPzZZ_H:
21762 case AArch64::CMPEQ_WIDE_PPzZZ_S:
21763 case AArch64::CMPGE_PPzZZ_B:
21764 case AArch64::CMPGE_PPzZZ_D:
21765 case AArch64::CMPGE_PPzZZ_H:
21766 case AArch64::CMPGE_PPzZZ_S:
21767 case AArch64::CMPGE_WIDE_PPzZZ_B:
21768 case AArch64::CMPGE_WIDE_PPzZZ_H:
21769 case AArch64::CMPGE_WIDE_PPzZZ_S:
21770 case AArch64::CMPGT_PPzZZ_B:
21771 case AArch64::CMPGT_PPzZZ_D:
21772 case AArch64::CMPGT_PPzZZ_H:
21773 case AArch64::CMPGT_PPzZZ_S:
21774 case AArch64::CMPGT_WIDE_PPzZZ_B:
21775 case AArch64::CMPGT_WIDE_PPzZZ_H:
21776 case AArch64::CMPGT_WIDE_PPzZZ_S:
21777 case AArch64::CMPHI_PPzZZ_B:
21778 case AArch64::CMPHI_PPzZZ_D:
21779 case AArch64::CMPHI_PPzZZ_H:
21780 case AArch64::CMPHI_PPzZZ_S:
21781 case AArch64::CMPHI_WIDE_PPzZZ_B:
21782 case AArch64::CMPHI_WIDE_PPzZZ_H:
21783 case AArch64::CMPHI_WIDE_PPzZZ_S:
21784 case AArch64::CMPHS_PPzZZ_B:
21785 case AArch64::CMPHS_PPzZZ_D:
21786 case AArch64::CMPHS_PPzZZ_H:
21787 case AArch64::CMPHS_PPzZZ_S:
21788 case AArch64::CMPHS_WIDE_PPzZZ_B:
21789 case AArch64::CMPHS_WIDE_PPzZZ_H:
21790 case AArch64::CMPHS_WIDE_PPzZZ_S:
21791 case AArch64::CMPLE_WIDE_PPzZZ_B:
21792 case AArch64::CMPLE_WIDE_PPzZZ_H:
21793 case AArch64::CMPLE_WIDE_PPzZZ_S:
21794 case AArch64::CMPLO_WIDE_PPzZZ_B:
21795 case AArch64::CMPLO_WIDE_PPzZZ_H:
21796 case AArch64::CMPLO_WIDE_PPzZZ_S:
21797 case AArch64::CMPLS_WIDE_PPzZZ_B:
21798 case AArch64::CMPLS_WIDE_PPzZZ_H:
21799 case AArch64::CMPLS_WIDE_PPzZZ_S:
21800 case AArch64::CMPLT_WIDE_PPzZZ_B:
21801 case AArch64::CMPLT_WIDE_PPzZZ_H:
21802 case AArch64::CMPLT_WIDE_PPzZZ_S:
21803 case AArch64::CMPNE_PPzZZ_B:
21804 case AArch64::CMPNE_PPzZZ_D:
21805 case AArch64::CMPNE_PPzZZ_H:
21806 case AArch64::CMPNE_PPzZZ_S:
21807 case AArch64::CMPNE_WIDE_PPzZZ_B:
21808 case AArch64::CMPNE_WIDE_PPzZZ_H:
21809 case AArch64::CMPNE_WIDE_PPzZZ_S:
21810 case AArch64::FACGE_PPzZZ_D:
21811 case AArch64::FACGE_PPzZZ_H:
21812 case AArch64::FACGE_PPzZZ_S:
21813 case AArch64::FACGT_PPzZZ_D:
21814 case AArch64::FACGT_PPzZZ_H:
21815 case AArch64::FACGT_PPzZZ_S:
21816 case AArch64::FCMEQ_PPzZZ_D:
21817 case AArch64::FCMEQ_PPzZZ_H:
21818 case AArch64::FCMEQ_PPzZZ_S:
21819 case AArch64::FCMGE_PPzZZ_D:
21820 case AArch64::FCMGE_PPzZZ_H:
21821 case AArch64::FCMGE_PPzZZ_S:
21822 case AArch64::FCMGT_PPzZZ_D:
21823 case AArch64::FCMGT_PPzZZ_H:
21824 case AArch64::FCMGT_PPzZZ_S:
21825 case AArch64::FCMNE_PPzZZ_D:
21826 case AArch64::FCMNE_PPzZZ_H:
21827 case AArch64::FCMNE_PPzZZ_S:
21828 case AArch64::FCMUO_PPzZZ_D:
21829 case AArch64::FCMUO_PPzZZ_H:
21830 case AArch64::FCMUO_PPzZZ_S:
21831 case AArch64::MATCH_PPzZZ_B:
21832 case AArch64::MATCH_PPzZZ_H:
21833 case AArch64::NMATCH_PPzZZ_B:
21834 case AArch64::NMATCH_PPzZZ_H: {
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: Zm
21844 return 16;
21845 case 2:
21846 // op: Zn
21847 return 5;
21848 }
21849 break;
21850 }
21851 case AArch64::RDFFRS_PPz:
21852 case AArch64::RDFFR_PPz: {
21853 switch (OpNum) {
21854 case 0:
21855 // op: Pd
21856 return 0;
21857 case 1:
21858 // op: Pg
21859 return 5;
21860 }
21861 break;
21862 }
21863 case AArch64::PUNPKHI_PP:
21864 case AArch64::PUNPKLO_PP:
21865 case AArch64::REV_PP_B:
21866 case AArch64::REV_PP_D:
21867 case AArch64::REV_PP_H:
21868 case AArch64::REV_PP_S: {
21869 switch (OpNum) {
21870 case 0:
21871 // op: Pd
21872 return 0;
21873 case 1:
21874 // op: Pn
21875 return 5;
21876 }
21877 break;
21878 }
21879 case AArch64::PMOV_PZI_D:
21880 case AArch64::PMOV_PZI_H:
21881 case AArch64::PMOV_PZI_S: {
21882 switch (OpNum) {
21883 case 0:
21884 // op: Pd
21885 return 0;
21886 case 1:
21887 // op: Zn
21888 return 5;
21889 case 2:
21890 // op: index
21891 return 17;
21892 }
21893 break;
21894 }
21895 case AArch64::PMOV_PZI_B: {
21896 switch (OpNum) {
21897 case 0:
21898 // op: Pd
21899 return 0;
21900 case 1:
21901 // op: Zn
21902 return 5;
21903 }
21904 break;
21905 }
21906 case AArch64::PTRUES_B:
21907 case AArch64::PTRUES_D:
21908 case AArch64::PTRUES_H:
21909 case AArch64::PTRUES_S:
21910 case AArch64::PTRUE_B:
21911 case AArch64::PTRUE_D:
21912 case AArch64::PTRUE_H:
21913 case AArch64::PTRUE_S: {
21914 switch (OpNum) {
21915 case 0:
21916 // op: Pd
21917 return 0;
21918 case 1:
21919 // op: pattern
21920 return 5;
21921 }
21922 break;
21923 }
21924 case AArch64::BRKA_PPmP:
21925 case AArch64::BRKB_PPmP: {
21926 switch (OpNum) {
21927 case 0:
21928 // op: Pd
21929 return 0;
21930 case 2:
21931 // op: Pg
21932 return 10;
21933 case 3:
21934 // op: Pn
21935 return 5;
21936 }
21937 break;
21938 }
21939 case AArch64::TRN1_PPP_B:
21940 case AArch64::TRN1_PPP_D:
21941 case AArch64::TRN1_PPP_H:
21942 case AArch64::TRN1_PPP_S:
21943 case AArch64::TRN2_PPP_B:
21944 case AArch64::TRN2_PPP_D:
21945 case AArch64::TRN2_PPP_H:
21946 case AArch64::TRN2_PPP_S:
21947 case AArch64::UZP1_PPP_B:
21948 case AArch64::UZP1_PPP_D:
21949 case AArch64::UZP1_PPP_H:
21950 case AArch64::UZP1_PPP_S:
21951 case AArch64::UZP2_PPP_B:
21952 case AArch64::UZP2_PPP_D:
21953 case AArch64::UZP2_PPP_H:
21954 case AArch64::UZP2_PPP_S:
21955 case AArch64::ZIP1_PPP_B:
21956 case AArch64::ZIP1_PPP_D:
21957 case AArch64::ZIP1_PPP_H:
21958 case AArch64::ZIP1_PPP_S:
21959 case AArch64::ZIP2_PPP_B:
21960 case AArch64::ZIP2_PPP_D:
21961 case AArch64::ZIP2_PPP_H:
21962 case AArch64::ZIP2_PPP_S: {
21963 switch (OpNum) {
21964 case 0:
21965 // op: Pd
21966 return 0;
21967 case 2:
21968 // op: Pm
21969 return 16;
21970 case 1:
21971 // op: Pn
21972 return 5;
21973 }
21974 break;
21975 }
21976 case AArch64::WHILEGE_PWW_B:
21977 case AArch64::WHILEGE_PWW_D:
21978 case AArch64::WHILEGE_PWW_H:
21979 case AArch64::WHILEGE_PWW_S:
21980 case AArch64::WHILEGE_PXX_B:
21981 case AArch64::WHILEGE_PXX_D:
21982 case AArch64::WHILEGE_PXX_H:
21983 case AArch64::WHILEGE_PXX_S:
21984 case AArch64::WHILEGT_PWW_B:
21985 case AArch64::WHILEGT_PWW_D:
21986 case AArch64::WHILEGT_PWW_H:
21987 case AArch64::WHILEGT_PWW_S:
21988 case AArch64::WHILEGT_PXX_B:
21989 case AArch64::WHILEGT_PXX_D:
21990 case AArch64::WHILEGT_PXX_H:
21991 case AArch64::WHILEGT_PXX_S:
21992 case AArch64::WHILEHI_PWW_B:
21993 case AArch64::WHILEHI_PWW_D:
21994 case AArch64::WHILEHI_PWW_H:
21995 case AArch64::WHILEHI_PWW_S:
21996 case AArch64::WHILEHI_PXX_B:
21997 case AArch64::WHILEHI_PXX_D:
21998 case AArch64::WHILEHI_PXX_H:
21999 case AArch64::WHILEHI_PXX_S:
22000 case AArch64::WHILEHS_PWW_B:
22001 case AArch64::WHILEHS_PWW_D:
22002 case AArch64::WHILEHS_PWW_H:
22003 case AArch64::WHILEHS_PWW_S:
22004 case AArch64::WHILEHS_PXX_B:
22005 case AArch64::WHILEHS_PXX_D:
22006 case AArch64::WHILEHS_PXX_H:
22007 case AArch64::WHILEHS_PXX_S:
22008 case AArch64::WHILELE_PWW_B:
22009 case AArch64::WHILELE_PWW_D:
22010 case AArch64::WHILELE_PWW_H:
22011 case AArch64::WHILELE_PWW_S:
22012 case AArch64::WHILELE_PXX_B:
22013 case AArch64::WHILELE_PXX_D:
22014 case AArch64::WHILELE_PXX_H:
22015 case AArch64::WHILELE_PXX_S:
22016 case AArch64::WHILELO_PWW_B:
22017 case AArch64::WHILELO_PWW_D:
22018 case AArch64::WHILELO_PWW_H:
22019 case AArch64::WHILELO_PWW_S:
22020 case AArch64::WHILELO_PXX_B:
22021 case AArch64::WHILELO_PXX_D:
22022 case AArch64::WHILELO_PXX_H:
22023 case AArch64::WHILELO_PXX_S:
22024 case AArch64::WHILELS_PWW_B:
22025 case AArch64::WHILELS_PWW_D:
22026 case AArch64::WHILELS_PWW_H:
22027 case AArch64::WHILELS_PWW_S:
22028 case AArch64::WHILELS_PXX_B:
22029 case AArch64::WHILELS_PXX_D:
22030 case AArch64::WHILELS_PXX_H:
22031 case AArch64::WHILELS_PXX_S:
22032 case AArch64::WHILELT_PWW_B:
22033 case AArch64::WHILELT_PWW_D:
22034 case AArch64::WHILELT_PWW_H:
22035 case AArch64::WHILELT_PWW_S:
22036 case AArch64::WHILELT_PXX_B:
22037 case AArch64::WHILELT_PXX_D:
22038 case AArch64::WHILELT_PXX_H:
22039 case AArch64::WHILELT_PXX_S:
22040 case AArch64::WHILERW_PXX_B:
22041 case AArch64::WHILERW_PXX_D:
22042 case AArch64::WHILERW_PXX_H:
22043 case AArch64::WHILERW_PXX_S:
22044 case AArch64::WHILEWR_PXX_B:
22045 case AArch64::WHILEWR_PXX_D:
22046 case AArch64::WHILEWR_PXX_H:
22047 case AArch64::WHILEWR_PXX_S: {
22048 switch (OpNum) {
22049 case 0:
22050 // op: Pd
22051 return 0;
22052 case 2:
22053 // op: Rm
22054 return 16;
22055 case 1:
22056 // op: Rn
22057 return 5;
22058 }
22059 break;
22060 }
22061 case AArch64::PFALSE:
22062 case AArch64::RDFFR_P: {
22063 switch (OpNum) {
22064 case 0:
22065 // op: Pd
22066 return 0;
22067 }
22068 break;
22069 }
22070 case AArch64::WHILEGE_2PXX_B:
22071 case AArch64::WHILEGE_2PXX_D:
22072 case AArch64::WHILEGE_2PXX_H:
22073 case AArch64::WHILEGE_2PXX_S:
22074 case AArch64::WHILEGT_2PXX_B:
22075 case AArch64::WHILEGT_2PXX_D:
22076 case AArch64::WHILEGT_2PXX_H:
22077 case AArch64::WHILEGT_2PXX_S:
22078 case AArch64::WHILEHI_2PXX_B:
22079 case AArch64::WHILEHI_2PXX_D:
22080 case AArch64::WHILEHI_2PXX_H:
22081 case AArch64::WHILEHI_2PXX_S:
22082 case AArch64::WHILEHS_2PXX_B:
22083 case AArch64::WHILEHS_2PXX_D:
22084 case AArch64::WHILEHS_2PXX_H:
22085 case AArch64::WHILEHS_2PXX_S:
22086 case AArch64::WHILELE_2PXX_B:
22087 case AArch64::WHILELE_2PXX_D:
22088 case AArch64::WHILELE_2PXX_H:
22089 case AArch64::WHILELE_2PXX_S:
22090 case AArch64::WHILELO_2PXX_B:
22091 case AArch64::WHILELO_2PXX_D:
22092 case AArch64::WHILELO_2PXX_H:
22093 case AArch64::WHILELO_2PXX_S:
22094 case AArch64::WHILELS_2PXX_B:
22095 case AArch64::WHILELS_2PXX_D:
22096 case AArch64::WHILELS_2PXX_H:
22097 case AArch64::WHILELS_2PXX_S:
22098 case AArch64::WHILELT_2PXX_B:
22099 case AArch64::WHILELT_2PXX_D:
22100 case AArch64::WHILELT_2PXX_H:
22101 case AArch64::WHILELT_2PXX_S: {
22102 switch (OpNum) {
22103 case 0:
22104 // op: Pd
22105 return 1;
22106 case 1:
22107 // op: Rn
22108 return 5;
22109 case 2:
22110 // op: Rm
22111 return 16;
22112 }
22113 break;
22114 }
22115 case AArch64::BRKNS_PPzP:
22116 case AArch64::BRKN_PPzP: {
22117 switch (OpNum) {
22118 case 0:
22119 // op: Pdm
22120 return 0;
22121 case 1:
22122 // op: Pg
22123 return 10;
22124 case 2:
22125 // op: Pn
22126 return 5;
22127 }
22128 break;
22129 }
22130 case AArch64::PFIRST_B:
22131 case AArch64::PNEXT_B:
22132 case AArch64::PNEXT_D:
22133 case AArch64::PNEXT_H:
22134 case AArch64::PNEXT_S: {
22135 switch (OpNum) {
22136 case 0:
22137 // op: Pdn
22138 return 0;
22139 case 1:
22140 // op: Pg
22141 return 5;
22142 }
22143 break;
22144 }
22145 case AArch64::PTEST_PP: {
22146 switch (OpNum) {
22147 case 0:
22148 // op: Pg
22149 return 10;
22150 case 1:
22151 // op: Pn
22152 return 5;
22153 }
22154 break;
22155 }
22156 case AArch64::WRFFR: {
22157 switch (OpNum) {
22158 case 0:
22159 // op: Pn
22160 return 5;
22161 }
22162 break;
22163 }
22164 case AArch64::LDR_PXI:
22165 case AArch64::STR_PXI: {
22166 switch (OpNum) {
22167 case 0:
22168 // op: Pt
22169 return 0;
22170 case 1:
22171 // op: Rn
22172 return 5;
22173 case 2:
22174 // op: imm9
22175 return 10;
22176 }
22177 break;
22178 }
22179 case AArch64::CNTP_XCI_B:
22180 case AArch64::CNTP_XCI_D:
22181 case AArch64::CNTP_XCI_H:
22182 case AArch64::CNTP_XCI_S: {
22183 switch (OpNum) {
22184 case 0:
22185 // op: Rd
22186 return 0;
22187 case 1:
22188 // op: PNn
22189 return 5;
22190 case 2:
22191 // op: vl
22192 return 10;
22193 }
22194 break;
22195 }
22196 case AArch64::ADDPL_XXI:
22197 case AArch64::ADDSPL_XXI:
22198 case AArch64::ADDSVL_XXI:
22199 case AArch64::ADDVL_XXI: {
22200 switch (OpNum) {
22201 case 0:
22202 // op: Rd
22203 return 0;
22204 case 1:
22205 // op: Rn
22206 return 16;
22207 case 2:
22208 // op: imm6
22209 return 5;
22210 }
22211 break;
22212 }
22213 case AArch64::FMADDDrrr:
22214 case AArch64::FMADDHrrr:
22215 case AArch64::FMADDSrrr:
22216 case AArch64::FMSUBDrrr:
22217 case AArch64::FMSUBHrrr:
22218 case AArch64::FMSUBSrrr:
22219 case AArch64::FNMADDDrrr:
22220 case AArch64::FNMADDHrrr:
22221 case AArch64::FNMADDSrrr:
22222 case AArch64::FNMSUBDrrr:
22223 case AArch64::FNMSUBHrrr:
22224 case AArch64::FNMSUBSrrr:
22225 case AArch64::MADDPT:
22226 case AArch64::MADDWrrr:
22227 case AArch64::MADDXrrr:
22228 case AArch64::MSUBPT:
22229 case AArch64::MSUBWrrr:
22230 case AArch64::MSUBXrrr:
22231 case AArch64::SMADDLrrr:
22232 case AArch64::SMSUBLrrr:
22233 case AArch64::UMADDLrrr:
22234 case AArch64::UMSUBLrrr: {
22235 switch (OpNum) {
22236 case 0:
22237 // op: Rd
22238 return 0;
22239 case 1:
22240 // op: Rn
22241 return 5;
22242 case 2:
22243 // op: Rm
22244 return 16;
22245 case 3:
22246 // op: Ra
22247 return 10;
22248 }
22249 break;
22250 }
22251 case AArch64::CSELWr:
22252 case AArch64::CSELXr:
22253 case AArch64::CSINCWr:
22254 case AArch64::CSINCXr:
22255 case AArch64::CSINVWr:
22256 case AArch64::CSINVXr:
22257 case AArch64::CSNEGWr:
22258 case AArch64::CSNEGXr:
22259 case AArch64::FCSELDrrr:
22260 case AArch64::FCSELHrrr:
22261 case AArch64::FCSELSrrr: {
22262 switch (OpNum) {
22263 case 0:
22264 // op: Rd
22265 return 0;
22266 case 1:
22267 // op: Rn
22268 return 5;
22269 case 2:
22270 // op: Rm
22271 return 16;
22272 case 3:
22273 // op: cond
22274 return 12;
22275 }
22276 break;
22277 }
22278 case AArch64::ADDSXrx64:
22279 case AArch64::ADDXrx64:
22280 case AArch64::SUBSXrx64:
22281 case AArch64::SUBXrx64: {
22282 switch (OpNum) {
22283 case 0:
22284 // op: Rd
22285 return 0;
22286 case 1:
22287 // op: Rn
22288 return 5;
22289 case 2:
22290 // op: Rm
22291 return 16;
22292 case 3:
22293 // op: ext
22294 return 10;
22295 }
22296 break;
22297 }
22298 case AArch64::ADDSWrx:
22299 case AArch64::ADDSXrx:
22300 case AArch64::ADDWrx:
22301 case AArch64::ADDXrx:
22302 case AArch64::SUBSWrx:
22303 case AArch64::SUBSXrx:
22304 case AArch64::SUBWrx:
22305 case AArch64::SUBXrx: {
22306 switch (OpNum) {
22307 case 0:
22308 // op: Rd
22309 return 0;
22310 case 1:
22311 // op: Rn
22312 return 5;
22313 case 2:
22314 // op: Rm
22315 return 16;
22316 case 3:
22317 // op: extend
22318 return 10;
22319 }
22320 break;
22321 }
22322 case AArch64::FMULXv1i16_indexed:
22323 case AArch64::FMULXv1i32_indexed:
22324 case AArch64::FMULXv1i64_indexed:
22325 case AArch64::FMULXv2i32_indexed:
22326 case AArch64::FMULXv2i64_indexed:
22327 case AArch64::FMULXv4i16_indexed:
22328 case AArch64::FMULXv4i32_indexed:
22329 case AArch64::FMULXv8i16_indexed:
22330 case AArch64::FMULv1i16_indexed:
22331 case AArch64::FMULv1i32_indexed:
22332 case AArch64::FMULv1i64_indexed:
22333 case AArch64::FMULv2i32_indexed:
22334 case AArch64::FMULv2i64_indexed:
22335 case AArch64::FMULv4i16_indexed:
22336 case AArch64::FMULv4i32_indexed:
22337 case AArch64::FMULv8i16_indexed:
22338 case AArch64::MULv2i32_indexed:
22339 case AArch64::MULv4i16_indexed:
22340 case AArch64::MULv4i32_indexed:
22341 case AArch64::MULv8i16_indexed:
22342 case AArch64::SMULLv2i32_indexed:
22343 case AArch64::SMULLv4i16_indexed:
22344 case AArch64::SMULLv4i32_indexed:
22345 case AArch64::SMULLv8i16_indexed:
22346 case AArch64::SQDMULHv1i16_indexed:
22347 case AArch64::SQDMULHv1i32_indexed:
22348 case AArch64::SQDMULHv2i32_indexed:
22349 case AArch64::SQDMULHv4i16_indexed:
22350 case AArch64::SQDMULHv4i32_indexed:
22351 case AArch64::SQDMULHv8i16_indexed:
22352 case AArch64::SQDMULLv1i32_indexed:
22353 case AArch64::SQDMULLv1i64_indexed:
22354 case AArch64::SQDMULLv2i32_indexed:
22355 case AArch64::SQDMULLv4i16_indexed:
22356 case AArch64::SQDMULLv4i32_indexed:
22357 case AArch64::SQDMULLv8i16_indexed:
22358 case AArch64::SQRDMULHv1i16_indexed:
22359 case AArch64::SQRDMULHv1i32_indexed:
22360 case AArch64::SQRDMULHv2i32_indexed:
22361 case AArch64::SQRDMULHv4i16_indexed:
22362 case AArch64::SQRDMULHv4i32_indexed:
22363 case AArch64::SQRDMULHv8i16_indexed:
22364 case AArch64::UMULLv2i32_indexed:
22365 case AArch64::UMULLv4i16_indexed:
22366 case AArch64::UMULLv4i32_indexed:
22367 case AArch64::UMULLv8i16_indexed: {
22368 switch (OpNum) {
22369 case 0:
22370 // op: Rd
22371 return 0;
22372 case 1:
22373 // op: Rn
22374 return 5;
22375 case 2:
22376 // op: Rm
22377 return 16;
22378 case 3:
22379 // op: idx
22380 return 11;
22381 }
22382 break;
22383 }
22384 case AArch64::LUT2_H: {
22385 switch (OpNum) {
22386 case 0:
22387 // op: Rd
22388 return 0;
22389 case 1:
22390 // op: Rn
22391 return 5;
22392 case 2:
22393 // op: Rm
22394 return 16;
22395 case 3:
22396 // op: idx
22397 return 12;
22398 }
22399 break;
22400 }
22401 case AArch64::LUT2_B:
22402 case AArch64::LUT4_H: {
22403 switch (OpNum) {
22404 case 0:
22405 // op: Rd
22406 return 0;
22407 case 1:
22408 // op: Rn
22409 return 5;
22410 case 2:
22411 // op: Rm
22412 return 16;
22413 case 3:
22414 // op: idx
22415 return 13;
22416 }
22417 break;
22418 }
22419 case AArch64::LUT4_B: {
22420 switch (OpNum) {
22421 case 0:
22422 // op: Rd
22423 return 0;
22424 case 1:
22425 // op: Rn
22426 return 5;
22427 case 2:
22428 // op: Rm
22429 return 16;
22430 case 3:
22431 // op: idx
22432 return 14;
22433 }
22434 break;
22435 }
22436 case AArch64::EXTRWrri:
22437 case AArch64::EXTRXrri: {
22438 switch (OpNum) {
22439 case 0:
22440 // op: Rd
22441 return 0;
22442 case 1:
22443 // op: Rn
22444 return 5;
22445 case 2:
22446 // op: Rm
22447 return 16;
22448 case 3:
22449 // op: imm
22450 return 10;
22451 }
22452 break;
22453 }
22454 case AArch64::EXTv16i8:
22455 case AArch64::EXTv8i8: {
22456 switch (OpNum) {
22457 case 0:
22458 // op: Rd
22459 return 0;
22460 case 1:
22461 // op: Rn
22462 return 5;
22463 case 2:
22464 // op: Rm
22465 return 16;
22466 case 3:
22467 // op: imm
22468 return 11;
22469 }
22470 break;
22471 }
22472 case AArch64::FCADDv2f32:
22473 case AArch64::FCADDv2f64:
22474 case AArch64::FCADDv4f16:
22475 case AArch64::FCADDv4f32:
22476 case AArch64::FCADDv8f16: {
22477 switch (OpNum) {
22478 case 0:
22479 // op: Rd
22480 return 0;
22481 case 1:
22482 // op: Rn
22483 return 5;
22484 case 2:
22485 // op: Rm
22486 return 16;
22487 case 3:
22488 // op: rot
22489 return 12;
22490 }
22491 break;
22492 }
22493 case AArch64::ADDSWrs:
22494 case AArch64::ADDSXrs:
22495 case AArch64::ADDWrs:
22496 case AArch64::ADDXrs:
22497 case AArch64::ANDSWrs:
22498 case AArch64::ANDSXrs:
22499 case AArch64::ANDWrs:
22500 case AArch64::ANDXrs:
22501 case AArch64::BICSWrs:
22502 case AArch64::BICSXrs:
22503 case AArch64::BICWrs:
22504 case AArch64::BICXrs:
22505 case AArch64::EONWrs:
22506 case AArch64::EONXrs:
22507 case AArch64::EORWrs:
22508 case AArch64::EORXrs:
22509 case AArch64::ORNWrs:
22510 case AArch64::ORNXrs:
22511 case AArch64::ORRWrs:
22512 case AArch64::ORRXrs:
22513 case AArch64::SUBSWrs:
22514 case AArch64::SUBSXrs:
22515 case AArch64::SUBWrs:
22516 case AArch64::SUBXrs: {
22517 switch (OpNum) {
22518 case 0:
22519 // op: Rd
22520 return 0;
22521 case 1:
22522 // op: Rn
22523 return 5;
22524 case 2:
22525 // op: Rm
22526 return 16;
22527 case 3:
22528 // op: shift
22529 return 10;
22530 }
22531 break;
22532 }
22533 case AArch64::ADDPT_shift:
22534 case AArch64::SUBPT_shift: {
22535 switch (OpNum) {
22536 case 0:
22537 // op: Rd
22538 return 0;
22539 case 1:
22540 // op: Rn
22541 return 5;
22542 case 2:
22543 // op: Rm
22544 return 16;
22545 case 3:
22546 // op: shift_imm
22547 return 10;
22548 }
22549 break;
22550 }
22551 case AArch64::ADCSWr:
22552 case AArch64::ADCSXr:
22553 case AArch64::ADCWr:
22554 case AArch64::ADCXr:
22555 case AArch64::ADDHNv2i64_v2i32:
22556 case AArch64::ADDHNv4i32_v4i16:
22557 case AArch64::ADDHNv8i16_v8i8:
22558 case AArch64::ADDPv16i8:
22559 case AArch64::ADDPv2i32:
22560 case AArch64::ADDPv2i64:
22561 case AArch64::ADDPv4i16:
22562 case AArch64::ADDPv4i32:
22563 case AArch64::ADDPv8i16:
22564 case AArch64::ADDPv8i8:
22565 case AArch64::ADDv16i8:
22566 case AArch64::ADDv1i64:
22567 case AArch64::ADDv2i32:
22568 case AArch64::ADDv2i64:
22569 case AArch64::ADDv4i16:
22570 case AArch64::ADDv4i32:
22571 case AArch64::ADDv8i16:
22572 case AArch64::ADDv8i8:
22573 case AArch64::ANDv16i8:
22574 case AArch64::ANDv8i8:
22575 case AArch64::ASRVWr:
22576 case AArch64::ASRVXr:
22577 case AArch64::BICv16i8:
22578 case AArch64::BICv8i8:
22579 case AArch64::CMEQv16i8:
22580 case AArch64::CMEQv1i64:
22581 case AArch64::CMEQv2i32:
22582 case AArch64::CMEQv2i64:
22583 case AArch64::CMEQv4i16:
22584 case AArch64::CMEQv4i32:
22585 case AArch64::CMEQv8i16:
22586 case AArch64::CMEQv8i8:
22587 case AArch64::CMGEv16i8:
22588 case AArch64::CMGEv1i64:
22589 case AArch64::CMGEv2i32:
22590 case AArch64::CMGEv2i64:
22591 case AArch64::CMGEv4i16:
22592 case AArch64::CMGEv4i32:
22593 case AArch64::CMGEv8i16:
22594 case AArch64::CMGEv8i8:
22595 case AArch64::CMGTv16i8:
22596 case AArch64::CMGTv1i64:
22597 case AArch64::CMGTv2i32:
22598 case AArch64::CMGTv2i64:
22599 case AArch64::CMGTv4i16:
22600 case AArch64::CMGTv4i32:
22601 case AArch64::CMGTv8i16:
22602 case AArch64::CMGTv8i8:
22603 case AArch64::CMHIv16i8:
22604 case AArch64::CMHIv1i64:
22605 case AArch64::CMHIv2i32:
22606 case AArch64::CMHIv2i64:
22607 case AArch64::CMHIv4i16:
22608 case AArch64::CMHIv4i32:
22609 case AArch64::CMHIv8i16:
22610 case AArch64::CMHIv8i8:
22611 case AArch64::CMHSv16i8:
22612 case AArch64::CMHSv1i64:
22613 case AArch64::CMHSv2i32:
22614 case AArch64::CMHSv2i64:
22615 case AArch64::CMHSv4i16:
22616 case AArch64::CMHSv4i32:
22617 case AArch64::CMHSv8i16:
22618 case AArch64::CMHSv8i8:
22619 case AArch64::CMTSTv16i8:
22620 case AArch64::CMTSTv1i64:
22621 case AArch64::CMTSTv2i32:
22622 case AArch64::CMTSTv2i64:
22623 case AArch64::CMTSTv4i16:
22624 case AArch64::CMTSTv4i32:
22625 case AArch64::CMTSTv8i16:
22626 case AArch64::CMTSTv8i8:
22627 case AArch64::CRC32Brr:
22628 case AArch64::CRC32CBrr:
22629 case AArch64::CRC32CHrr:
22630 case AArch64::CRC32CWrr:
22631 case AArch64::CRC32CXrr:
22632 case AArch64::CRC32Hrr:
22633 case AArch64::CRC32Wrr:
22634 case AArch64::CRC32Xrr:
22635 case AArch64::EORv16i8:
22636 case AArch64::EORv8i8:
22637 case AArch64::FABD16:
22638 case AArch64::FABD32:
22639 case AArch64::FABD64:
22640 case AArch64::FABDv2f32:
22641 case AArch64::FABDv2f64:
22642 case AArch64::FABDv4f16:
22643 case AArch64::FABDv4f32:
22644 case AArch64::FABDv8f16:
22645 case AArch64::FACGE16:
22646 case AArch64::FACGE32:
22647 case AArch64::FACGE64:
22648 case AArch64::FACGEv2f32:
22649 case AArch64::FACGEv2f64:
22650 case AArch64::FACGEv4f16:
22651 case AArch64::FACGEv4f32:
22652 case AArch64::FACGEv8f16:
22653 case AArch64::FACGT16:
22654 case AArch64::FACGT32:
22655 case AArch64::FACGT64:
22656 case AArch64::FACGTv2f32:
22657 case AArch64::FACGTv2f64:
22658 case AArch64::FACGTv4f16:
22659 case AArch64::FACGTv4f32:
22660 case AArch64::FACGTv8f16:
22661 case AArch64::FADDDrr:
22662 case AArch64::FADDHrr:
22663 case AArch64::FADDPv2f32:
22664 case AArch64::FADDPv2f64:
22665 case AArch64::FADDPv4f16:
22666 case AArch64::FADDPv4f32:
22667 case AArch64::FADDPv8f16:
22668 case AArch64::FADDSrr:
22669 case AArch64::FADDv2f32:
22670 case AArch64::FADDv2f64:
22671 case AArch64::FADDv4f16:
22672 case AArch64::FADDv4f32:
22673 case AArch64::FADDv8f16:
22674 case AArch64::FAMAXv2f32:
22675 case AArch64::FAMAXv2f64:
22676 case AArch64::FAMAXv4f16:
22677 case AArch64::FAMAXv4f32:
22678 case AArch64::FAMAXv8f16:
22679 case AArch64::FAMINv2f32:
22680 case AArch64::FAMINv2f64:
22681 case AArch64::FAMINv4f16:
22682 case AArch64::FAMINv4f32:
22683 case AArch64::FAMINv8f16:
22684 case AArch64::FCMEQ16:
22685 case AArch64::FCMEQ32:
22686 case AArch64::FCMEQ64:
22687 case AArch64::FCMEQv2f32:
22688 case AArch64::FCMEQv2f64:
22689 case AArch64::FCMEQv4f16:
22690 case AArch64::FCMEQv4f32:
22691 case AArch64::FCMEQv8f16:
22692 case AArch64::FCMGE16:
22693 case AArch64::FCMGE32:
22694 case AArch64::FCMGE64:
22695 case AArch64::FCMGEv2f32:
22696 case AArch64::FCMGEv2f64:
22697 case AArch64::FCMGEv4f16:
22698 case AArch64::FCMGEv4f32:
22699 case AArch64::FCMGEv8f16:
22700 case AArch64::FCMGT16:
22701 case AArch64::FCMGT32:
22702 case AArch64::FCMGT64:
22703 case AArch64::FCMGTv2f32:
22704 case AArch64::FCMGTv2f64:
22705 case AArch64::FCMGTv4f16:
22706 case AArch64::FCMGTv4f32:
22707 case AArch64::FCMGTv8f16:
22708 case AArch64::FCVTN_F16v16f8:
22709 case AArch64::FCVTN_F16v8f8:
22710 case AArch64::FCVTN_F32v8f8:
22711 case AArch64::FDIVDrr:
22712 case AArch64::FDIVHrr:
22713 case AArch64::FDIVSrr:
22714 case AArch64::FDIVv2f32:
22715 case AArch64::FDIVv2f64:
22716 case AArch64::FDIVv4f16:
22717 case AArch64::FDIVv4f32:
22718 case AArch64::FDIVv8f16:
22719 case AArch64::FMAXDrr:
22720 case AArch64::FMAXHrr:
22721 case AArch64::FMAXNMDrr:
22722 case AArch64::FMAXNMHrr:
22723 case AArch64::FMAXNMPv2f32:
22724 case AArch64::FMAXNMPv2f64:
22725 case AArch64::FMAXNMPv4f16:
22726 case AArch64::FMAXNMPv4f32:
22727 case AArch64::FMAXNMPv8f16:
22728 case AArch64::FMAXNMSrr:
22729 case AArch64::FMAXNMv2f32:
22730 case AArch64::FMAXNMv2f64:
22731 case AArch64::FMAXNMv4f16:
22732 case AArch64::FMAXNMv4f32:
22733 case AArch64::FMAXNMv8f16:
22734 case AArch64::FMAXPv2f32:
22735 case AArch64::FMAXPv2f64:
22736 case AArch64::FMAXPv4f16:
22737 case AArch64::FMAXPv4f32:
22738 case AArch64::FMAXPv8f16:
22739 case AArch64::FMAXSrr:
22740 case AArch64::FMAXv2f32:
22741 case AArch64::FMAXv2f64:
22742 case AArch64::FMAXv4f16:
22743 case AArch64::FMAXv4f32:
22744 case AArch64::FMAXv8f16:
22745 case AArch64::FMINDrr:
22746 case AArch64::FMINHrr:
22747 case AArch64::FMINNMDrr:
22748 case AArch64::FMINNMHrr:
22749 case AArch64::FMINNMPv2f32:
22750 case AArch64::FMINNMPv2f64:
22751 case AArch64::FMINNMPv4f16:
22752 case AArch64::FMINNMPv4f32:
22753 case AArch64::FMINNMPv8f16:
22754 case AArch64::FMINNMSrr:
22755 case AArch64::FMINNMv2f32:
22756 case AArch64::FMINNMv2f64:
22757 case AArch64::FMINNMv4f16:
22758 case AArch64::FMINNMv4f32:
22759 case AArch64::FMINNMv8f16:
22760 case AArch64::FMINPv2f32:
22761 case AArch64::FMINPv2f64:
22762 case AArch64::FMINPv4f16:
22763 case AArch64::FMINPv4f32:
22764 case AArch64::FMINPv8f16:
22765 case AArch64::FMINSrr:
22766 case AArch64::FMINv2f32:
22767 case AArch64::FMINv2f64:
22768 case AArch64::FMINv4f16:
22769 case AArch64::FMINv4f32:
22770 case AArch64::FMINv8f16:
22771 case AArch64::FMULDrr:
22772 case AArch64::FMULHrr:
22773 case AArch64::FMULSrr:
22774 case AArch64::FMULX16:
22775 case AArch64::FMULX32:
22776 case AArch64::FMULX64:
22777 case AArch64::FMULXv2f32:
22778 case AArch64::FMULXv2f64:
22779 case AArch64::FMULXv4f16:
22780 case AArch64::FMULXv4f32:
22781 case AArch64::FMULXv8f16:
22782 case AArch64::FMULv2f32:
22783 case AArch64::FMULv2f64:
22784 case AArch64::FMULv4f16:
22785 case AArch64::FMULv4f32:
22786 case AArch64::FMULv8f16:
22787 case AArch64::FNMULDrr:
22788 case AArch64::FNMULHrr:
22789 case AArch64::FNMULSrr:
22790 case AArch64::FRECPS16:
22791 case AArch64::FRECPS32:
22792 case AArch64::FRECPS64:
22793 case AArch64::FRECPSv2f32:
22794 case AArch64::FRECPSv2f64:
22795 case AArch64::FRECPSv4f16:
22796 case AArch64::FRECPSv4f32:
22797 case AArch64::FRECPSv8f16:
22798 case AArch64::FRSQRTS16:
22799 case AArch64::FRSQRTS32:
22800 case AArch64::FRSQRTS64:
22801 case AArch64::FRSQRTSv2f32:
22802 case AArch64::FRSQRTSv2f64:
22803 case AArch64::FRSQRTSv4f16:
22804 case AArch64::FRSQRTSv4f32:
22805 case AArch64::FRSQRTSv8f16:
22806 case AArch64::FSCALEv2f32:
22807 case AArch64::FSCALEv2f64:
22808 case AArch64::FSCALEv4f16:
22809 case AArch64::FSCALEv4f32:
22810 case AArch64::FSCALEv8f16:
22811 case AArch64::FSUBDrr:
22812 case AArch64::FSUBHrr:
22813 case AArch64::FSUBSrr:
22814 case AArch64::FSUBv2f32:
22815 case AArch64::FSUBv2f64:
22816 case AArch64::FSUBv4f16:
22817 case AArch64::FSUBv4f32:
22818 case AArch64::FSUBv8f16:
22819 case AArch64::GMI:
22820 case AArch64::IRG:
22821 case AArch64::LSLVWr:
22822 case AArch64::LSLVXr:
22823 case AArch64::LSRVWr:
22824 case AArch64::LSRVXr:
22825 case AArch64::MULv16i8:
22826 case AArch64::MULv2i32:
22827 case AArch64::MULv4i16:
22828 case AArch64::MULv4i32:
22829 case AArch64::MULv8i16:
22830 case AArch64::MULv8i8:
22831 case AArch64::ORNv16i8:
22832 case AArch64::ORNv8i8:
22833 case AArch64::ORRv16i8:
22834 case AArch64::ORRv8i8:
22835 case AArch64::PACGA:
22836 case AArch64::PMULLv16i8:
22837 case AArch64::PMULLv1i64:
22838 case AArch64::PMULLv2i64:
22839 case AArch64::PMULLv8i8:
22840 case AArch64::PMULv16i8:
22841 case AArch64::PMULv8i8:
22842 case AArch64::RADDHNv2i64_v2i32:
22843 case AArch64::RADDHNv4i32_v4i16:
22844 case AArch64::RADDHNv8i16_v8i8:
22845 case AArch64::RORVWr:
22846 case AArch64::RORVXr:
22847 case AArch64::RSUBHNv2i64_v2i32:
22848 case AArch64::RSUBHNv4i32_v4i16:
22849 case AArch64::RSUBHNv8i16_v8i8:
22850 case AArch64::SABDLv16i8_v8i16:
22851 case AArch64::SABDLv2i32_v2i64:
22852 case AArch64::SABDLv4i16_v4i32:
22853 case AArch64::SABDLv4i32_v2i64:
22854 case AArch64::SABDLv8i16_v4i32:
22855 case AArch64::SABDLv8i8_v8i16:
22856 case AArch64::SABDv16i8:
22857 case AArch64::SABDv2i32:
22858 case AArch64::SABDv4i16:
22859 case AArch64::SABDv4i32:
22860 case AArch64::SABDv8i16:
22861 case AArch64::SABDv8i8:
22862 case AArch64::SADDLv16i8_v8i16:
22863 case AArch64::SADDLv2i32_v2i64:
22864 case AArch64::SADDLv4i16_v4i32:
22865 case AArch64::SADDLv4i32_v2i64:
22866 case AArch64::SADDLv8i16_v4i32:
22867 case AArch64::SADDLv8i8_v8i16:
22868 case AArch64::SADDWv16i8_v8i16:
22869 case AArch64::SADDWv2i32_v2i64:
22870 case AArch64::SADDWv4i16_v4i32:
22871 case AArch64::SADDWv4i32_v2i64:
22872 case AArch64::SADDWv8i16_v4i32:
22873 case AArch64::SADDWv8i8_v8i16:
22874 case AArch64::SBCSWr:
22875 case AArch64::SBCSXr:
22876 case AArch64::SBCWr:
22877 case AArch64::SBCXr:
22878 case AArch64::SDIVWr:
22879 case AArch64::SDIVXr:
22880 case AArch64::SHADDv16i8:
22881 case AArch64::SHADDv2i32:
22882 case AArch64::SHADDv4i16:
22883 case AArch64::SHADDv4i32:
22884 case AArch64::SHADDv8i16:
22885 case AArch64::SHADDv8i8:
22886 case AArch64::SHSUBv16i8:
22887 case AArch64::SHSUBv2i32:
22888 case AArch64::SHSUBv4i16:
22889 case AArch64::SHSUBv4i32:
22890 case AArch64::SHSUBv8i16:
22891 case AArch64::SHSUBv8i8:
22892 case AArch64::SMAXPv16i8:
22893 case AArch64::SMAXPv2i32:
22894 case AArch64::SMAXPv4i16:
22895 case AArch64::SMAXPv4i32:
22896 case AArch64::SMAXPv8i16:
22897 case AArch64::SMAXPv8i8:
22898 case AArch64::SMAXWrr:
22899 case AArch64::SMAXXrr:
22900 case AArch64::SMAXv16i8:
22901 case AArch64::SMAXv2i32:
22902 case AArch64::SMAXv4i16:
22903 case AArch64::SMAXv4i32:
22904 case AArch64::SMAXv8i16:
22905 case AArch64::SMAXv8i8:
22906 case AArch64::SMINPv16i8:
22907 case AArch64::SMINPv2i32:
22908 case AArch64::SMINPv4i16:
22909 case AArch64::SMINPv4i32:
22910 case AArch64::SMINPv8i16:
22911 case AArch64::SMINPv8i8:
22912 case AArch64::SMINWrr:
22913 case AArch64::SMINXrr:
22914 case AArch64::SMINv16i8:
22915 case AArch64::SMINv2i32:
22916 case AArch64::SMINv4i16:
22917 case AArch64::SMINv4i32:
22918 case AArch64::SMINv8i16:
22919 case AArch64::SMINv8i8:
22920 case AArch64::SMULHrr:
22921 case AArch64::SMULLv16i8_v8i16:
22922 case AArch64::SMULLv2i32_v2i64:
22923 case AArch64::SMULLv4i16_v4i32:
22924 case AArch64::SMULLv4i32_v2i64:
22925 case AArch64::SMULLv8i16_v4i32:
22926 case AArch64::SMULLv8i8_v8i16:
22927 case AArch64::SQADDv16i8:
22928 case AArch64::SQADDv1i16:
22929 case AArch64::SQADDv1i32:
22930 case AArch64::SQADDv1i64:
22931 case AArch64::SQADDv1i8:
22932 case AArch64::SQADDv2i32:
22933 case AArch64::SQADDv2i64:
22934 case AArch64::SQADDv4i16:
22935 case AArch64::SQADDv4i32:
22936 case AArch64::SQADDv8i16:
22937 case AArch64::SQADDv8i8:
22938 case AArch64::SQDMULHv1i16:
22939 case AArch64::SQDMULHv1i32:
22940 case AArch64::SQDMULHv2i32:
22941 case AArch64::SQDMULHv4i16:
22942 case AArch64::SQDMULHv4i32:
22943 case AArch64::SQDMULHv8i16:
22944 case AArch64::SQDMULLi16:
22945 case AArch64::SQDMULLi32:
22946 case AArch64::SQDMULLv2i32_v2i64:
22947 case AArch64::SQDMULLv4i16_v4i32:
22948 case AArch64::SQDMULLv4i32_v2i64:
22949 case AArch64::SQDMULLv8i16_v4i32:
22950 case AArch64::SQRDMULHv1i16:
22951 case AArch64::SQRDMULHv1i32:
22952 case AArch64::SQRDMULHv2i32:
22953 case AArch64::SQRDMULHv4i16:
22954 case AArch64::SQRDMULHv4i32:
22955 case AArch64::SQRDMULHv8i16:
22956 case AArch64::SQRSHLv16i8:
22957 case AArch64::SQRSHLv1i16:
22958 case AArch64::SQRSHLv1i32:
22959 case AArch64::SQRSHLv1i64:
22960 case AArch64::SQRSHLv1i8:
22961 case AArch64::SQRSHLv2i32:
22962 case AArch64::SQRSHLv2i64:
22963 case AArch64::SQRSHLv4i16:
22964 case AArch64::SQRSHLv4i32:
22965 case AArch64::SQRSHLv8i16:
22966 case AArch64::SQRSHLv8i8:
22967 case AArch64::SQSHLv16i8:
22968 case AArch64::SQSHLv1i16:
22969 case AArch64::SQSHLv1i32:
22970 case AArch64::SQSHLv1i64:
22971 case AArch64::SQSHLv1i8:
22972 case AArch64::SQSHLv2i32:
22973 case AArch64::SQSHLv2i64:
22974 case AArch64::SQSHLv4i16:
22975 case AArch64::SQSHLv4i32:
22976 case AArch64::SQSHLv8i16:
22977 case AArch64::SQSHLv8i8:
22978 case AArch64::SQSUBv16i8:
22979 case AArch64::SQSUBv1i16:
22980 case AArch64::SQSUBv1i32:
22981 case AArch64::SQSUBv1i64:
22982 case AArch64::SQSUBv1i8:
22983 case AArch64::SQSUBv2i32:
22984 case AArch64::SQSUBv2i64:
22985 case AArch64::SQSUBv4i16:
22986 case AArch64::SQSUBv4i32:
22987 case AArch64::SQSUBv8i16:
22988 case AArch64::SQSUBv8i8:
22989 case AArch64::SRHADDv16i8:
22990 case AArch64::SRHADDv2i32:
22991 case AArch64::SRHADDv4i16:
22992 case AArch64::SRHADDv4i32:
22993 case AArch64::SRHADDv8i16:
22994 case AArch64::SRHADDv8i8:
22995 case AArch64::SRSHLv16i8:
22996 case AArch64::SRSHLv1i64:
22997 case AArch64::SRSHLv2i32:
22998 case AArch64::SRSHLv2i64:
22999 case AArch64::SRSHLv4i16:
23000 case AArch64::SRSHLv4i32:
23001 case AArch64::SRSHLv8i16:
23002 case AArch64::SRSHLv8i8:
23003 case AArch64::SSHLv16i8:
23004 case AArch64::SSHLv1i64:
23005 case AArch64::SSHLv2i32:
23006 case AArch64::SSHLv2i64:
23007 case AArch64::SSHLv4i16:
23008 case AArch64::SSHLv4i32:
23009 case AArch64::SSHLv8i16:
23010 case AArch64::SSHLv8i8:
23011 case AArch64::SSUBLv16i8_v8i16:
23012 case AArch64::SSUBLv2i32_v2i64:
23013 case AArch64::SSUBLv4i16_v4i32:
23014 case AArch64::SSUBLv4i32_v2i64:
23015 case AArch64::SSUBLv8i16_v4i32:
23016 case AArch64::SSUBLv8i8_v8i16:
23017 case AArch64::SSUBWv16i8_v8i16:
23018 case AArch64::SSUBWv2i32_v2i64:
23019 case AArch64::SSUBWv4i16_v4i32:
23020 case AArch64::SSUBWv4i32_v2i64:
23021 case AArch64::SSUBWv8i16_v4i32:
23022 case AArch64::SSUBWv8i8_v8i16:
23023 case AArch64::SUBHNv2i64_v2i32:
23024 case AArch64::SUBHNv4i32_v4i16:
23025 case AArch64::SUBHNv8i16_v8i8:
23026 case AArch64::SUBP:
23027 case AArch64::SUBPS:
23028 case AArch64::SUBv16i8:
23029 case AArch64::SUBv1i64:
23030 case AArch64::SUBv2i32:
23031 case AArch64::SUBv2i64:
23032 case AArch64::SUBv4i16:
23033 case AArch64::SUBv4i32:
23034 case AArch64::SUBv8i16:
23035 case AArch64::SUBv8i8:
23036 case AArch64::TRN1v16i8:
23037 case AArch64::TRN1v2i32:
23038 case AArch64::TRN1v2i64:
23039 case AArch64::TRN1v4i16:
23040 case AArch64::TRN1v4i32:
23041 case AArch64::TRN1v8i16:
23042 case AArch64::TRN1v8i8:
23043 case AArch64::TRN2v16i8:
23044 case AArch64::TRN2v2i32:
23045 case AArch64::TRN2v2i64:
23046 case AArch64::TRN2v4i16:
23047 case AArch64::TRN2v4i32:
23048 case AArch64::TRN2v8i16:
23049 case AArch64::TRN2v8i8:
23050 case AArch64::UABDLv16i8_v8i16:
23051 case AArch64::UABDLv2i32_v2i64:
23052 case AArch64::UABDLv4i16_v4i32:
23053 case AArch64::UABDLv4i32_v2i64:
23054 case AArch64::UABDLv8i16_v4i32:
23055 case AArch64::UABDLv8i8_v8i16:
23056 case AArch64::UABDv16i8:
23057 case AArch64::UABDv2i32:
23058 case AArch64::UABDv4i16:
23059 case AArch64::UABDv4i32:
23060 case AArch64::UABDv8i16:
23061 case AArch64::UABDv8i8:
23062 case AArch64::UADDLv16i8_v8i16:
23063 case AArch64::UADDLv2i32_v2i64:
23064 case AArch64::UADDLv4i16_v4i32:
23065 case AArch64::UADDLv4i32_v2i64:
23066 case AArch64::UADDLv8i16_v4i32:
23067 case AArch64::UADDLv8i8_v8i16:
23068 case AArch64::UADDWv16i8_v8i16:
23069 case AArch64::UADDWv2i32_v2i64:
23070 case AArch64::UADDWv4i16_v4i32:
23071 case AArch64::UADDWv4i32_v2i64:
23072 case AArch64::UADDWv8i16_v4i32:
23073 case AArch64::UADDWv8i8_v8i16:
23074 case AArch64::UDIVWr:
23075 case AArch64::UDIVXr:
23076 case AArch64::UHADDv16i8:
23077 case AArch64::UHADDv2i32:
23078 case AArch64::UHADDv4i16:
23079 case AArch64::UHADDv4i32:
23080 case AArch64::UHADDv8i16:
23081 case AArch64::UHADDv8i8:
23082 case AArch64::UHSUBv16i8:
23083 case AArch64::UHSUBv2i32:
23084 case AArch64::UHSUBv4i16:
23085 case AArch64::UHSUBv4i32:
23086 case AArch64::UHSUBv8i16:
23087 case AArch64::UHSUBv8i8:
23088 case AArch64::UMAXPv16i8:
23089 case AArch64::UMAXPv2i32:
23090 case AArch64::UMAXPv4i16:
23091 case AArch64::UMAXPv4i32:
23092 case AArch64::UMAXPv8i16:
23093 case AArch64::UMAXPv8i8:
23094 case AArch64::UMAXWrr:
23095 case AArch64::UMAXXrr:
23096 case AArch64::UMAXv16i8:
23097 case AArch64::UMAXv2i32:
23098 case AArch64::UMAXv4i16:
23099 case AArch64::UMAXv4i32:
23100 case AArch64::UMAXv8i16:
23101 case AArch64::UMAXv8i8:
23102 case AArch64::UMINPv16i8:
23103 case AArch64::UMINPv2i32:
23104 case AArch64::UMINPv4i16:
23105 case AArch64::UMINPv4i32:
23106 case AArch64::UMINPv8i16:
23107 case AArch64::UMINPv8i8:
23108 case AArch64::UMINWrr:
23109 case AArch64::UMINXrr:
23110 case AArch64::UMINv16i8:
23111 case AArch64::UMINv2i32:
23112 case AArch64::UMINv4i16:
23113 case AArch64::UMINv4i32:
23114 case AArch64::UMINv8i16:
23115 case AArch64::UMINv8i8:
23116 case AArch64::UMULHrr:
23117 case AArch64::UMULLv16i8_v8i16:
23118 case AArch64::UMULLv2i32_v2i64:
23119 case AArch64::UMULLv4i16_v4i32:
23120 case AArch64::UMULLv4i32_v2i64:
23121 case AArch64::UMULLv8i16_v4i32:
23122 case AArch64::UMULLv8i8_v8i16:
23123 case AArch64::UQADDv16i8:
23124 case AArch64::UQADDv1i16:
23125 case AArch64::UQADDv1i32:
23126 case AArch64::UQADDv1i64:
23127 case AArch64::UQADDv1i8:
23128 case AArch64::UQADDv2i32:
23129 case AArch64::UQADDv2i64:
23130 case AArch64::UQADDv4i16:
23131 case AArch64::UQADDv4i32:
23132 case AArch64::UQADDv8i16:
23133 case AArch64::UQADDv8i8:
23134 case AArch64::UQRSHLv16i8:
23135 case AArch64::UQRSHLv1i16:
23136 case AArch64::UQRSHLv1i32:
23137 case AArch64::UQRSHLv1i64:
23138 case AArch64::UQRSHLv1i8:
23139 case AArch64::UQRSHLv2i32:
23140 case AArch64::UQRSHLv2i64:
23141 case AArch64::UQRSHLv4i16:
23142 case AArch64::UQRSHLv4i32:
23143 case AArch64::UQRSHLv8i16:
23144 case AArch64::UQRSHLv8i8:
23145 case AArch64::UQSHLv16i8:
23146 case AArch64::UQSHLv1i16:
23147 case AArch64::UQSHLv1i32:
23148 case AArch64::UQSHLv1i64:
23149 case AArch64::UQSHLv1i8:
23150 case AArch64::UQSHLv2i32:
23151 case AArch64::UQSHLv2i64:
23152 case AArch64::UQSHLv4i16:
23153 case AArch64::UQSHLv4i32:
23154 case AArch64::UQSHLv8i16:
23155 case AArch64::UQSHLv8i8:
23156 case AArch64::UQSUBv16i8:
23157 case AArch64::UQSUBv1i16:
23158 case AArch64::UQSUBv1i32:
23159 case AArch64::UQSUBv1i64:
23160 case AArch64::UQSUBv1i8:
23161 case AArch64::UQSUBv2i32:
23162 case AArch64::UQSUBv2i64:
23163 case AArch64::UQSUBv4i16:
23164 case AArch64::UQSUBv4i32:
23165 case AArch64::UQSUBv8i16:
23166 case AArch64::UQSUBv8i8:
23167 case AArch64::URHADDv16i8:
23168 case AArch64::URHADDv2i32:
23169 case AArch64::URHADDv4i16:
23170 case AArch64::URHADDv4i32:
23171 case AArch64::URHADDv8i16:
23172 case AArch64::URHADDv8i8:
23173 case AArch64::URSHLv16i8:
23174 case AArch64::URSHLv1i64:
23175 case AArch64::URSHLv2i32:
23176 case AArch64::URSHLv2i64:
23177 case AArch64::URSHLv4i16:
23178 case AArch64::URSHLv4i32:
23179 case AArch64::URSHLv8i16:
23180 case AArch64::URSHLv8i8:
23181 case AArch64::USHLv16i8:
23182 case AArch64::USHLv1i64:
23183 case AArch64::USHLv2i32:
23184 case AArch64::USHLv2i64:
23185 case AArch64::USHLv4i16:
23186 case AArch64::USHLv4i32:
23187 case AArch64::USHLv8i16:
23188 case AArch64::USHLv8i8:
23189 case AArch64::USUBLv16i8_v8i16:
23190 case AArch64::USUBLv2i32_v2i64:
23191 case AArch64::USUBLv4i16_v4i32:
23192 case AArch64::USUBLv4i32_v2i64:
23193 case AArch64::USUBLv8i16_v4i32:
23194 case AArch64::USUBLv8i8_v8i16:
23195 case AArch64::USUBWv16i8_v8i16:
23196 case AArch64::USUBWv2i32_v2i64:
23197 case AArch64::USUBWv4i16_v4i32:
23198 case AArch64::USUBWv4i32_v2i64:
23199 case AArch64::USUBWv8i16_v4i32:
23200 case AArch64::USUBWv8i8_v8i16:
23201 case AArch64::UZP1v16i8:
23202 case AArch64::UZP1v2i32:
23203 case AArch64::UZP1v2i64:
23204 case AArch64::UZP1v4i16:
23205 case AArch64::UZP1v4i32:
23206 case AArch64::UZP1v8i16:
23207 case AArch64::UZP1v8i8:
23208 case AArch64::UZP2v16i8:
23209 case AArch64::UZP2v2i32:
23210 case AArch64::UZP2v2i64:
23211 case AArch64::UZP2v4i16:
23212 case AArch64::UZP2v4i32:
23213 case AArch64::UZP2v8i16:
23214 case AArch64::UZP2v8i8:
23215 case AArch64::ZIP1v16i8:
23216 case AArch64::ZIP1v2i32:
23217 case AArch64::ZIP1v2i64:
23218 case AArch64::ZIP1v4i16:
23219 case AArch64::ZIP1v4i32:
23220 case AArch64::ZIP1v8i16:
23221 case AArch64::ZIP1v8i8:
23222 case AArch64::ZIP2v16i8:
23223 case AArch64::ZIP2v2i32:
23224 case AArch64::ZIP2v2i64:
23225 case AArch64::ZIP2v4i16:
23226 case AArch64::ZIP2v4i32:
23227 case AArch64::ZIP2v8i16:
23228 case AArch64::ZIP2v8i8: {
23229 switch (OpNum) {
23230 case 0:
23231 // op: Rd
23232 return 0;
23233 case 1:
23234 // op: Rn
23235 return 5;
23236 case 2:
23237 // op: Rm
23238 return 16;
23239 }
23240 break;
23241 }
23242 case AArch64::DUPv16i8lane:
23243 case AArch64::DUPv8i8lane:
23244 case AArch64::SMOVvi8to32:
23245 case AArch64::SMOVvi8to64:
23246 case AArch64::UMOVvi8: {
23247 switch (OpNum) {
23248 case 0:
23249 // op: Rd
23250 return 0;
23251 case 1:
23252 // op: Rn
23253 return 5;
23254 case 2:
23255 // op: idx
23256 return 17;
23257 }
23258 break;
23259 }
23260 case AArch64::DUPv4i16lane:
23261 case AArch64::DUPv8i16lane:
23262 case AArch64::SMOVvi16to32:
23263 case AArch64::SMOVvi16to64:
23264 case AArch64::UMOVvi16: {
23265 switch (OpNum) {
23266 case 0:
23267 // op: Rd
23268 return 0;
23269 case 1:
23270 // op: Rn
23271 return 5;
23272 case 2:
23273 // op: idx
23274 return 18;
23275 }
23276 break;
23277 }
23278 case AArch64::DUPv2i32lane:
23279 case AArch64::DUPv4i32lane:
23280 case AArch64::SMOVvi32to64:
23281 case AArch64::UMOVvi32: {
23282 switch (OpNum) {
23283 case 0:
23284 // op: Rd
23285 return 0;
23286 case 1:
23287 // op: Rn
23288 return 5;
23289 case 2:
23290 // op: idx
23291 return 19;
23292 }
23293 break;
23294 }
23295 case AArch64::DUPv2i64lane:
23296 case AArch64::UMOVvi64: {
23297 switch (OpNum) {
23298 case 0:
23299 // op: Rd
23300 return 0;
23301 case 1:
23302 // op: Rn
23303 return 5;
23304 case 2:
23305 // op: idx
23306 return 20;
23307 }
23308 break;
23309 }
23310 case AArch64::ADDSWri:
23311 case AArch64::ADDSXri:
23312 case AArch64::ADDWri:
23313 case AArch64::ADDXri:
23314 case AArch64::ANDSWri:
23315 case AArch64::ANDSXri:
23316 case AArch64::ANDWri:
23317 case AArch64::ANDXri:
23318 case AArch64::EORWri:
23319 case AArch64::EORXri:
23320 case AArch64::ORRWri:
23321 case AArch64::ORRXri:
23322 case AArch64::SMAXWri:
23323 case AArch64::SMAXXri:
23324 case AArch64::SMINWri:
23325 case AArch64::SMINXri:
23326 case AArch64::SUBSWri:
23327 case AArch64::SUBSXri:
23328 case AArch64::SUBWri:
23329 case AArch64::SUBXri:
23330 case AArch64::UMAXWri:
23331 case AArch64::UMAXXri:
23332 case AArch64::UMINWri:
23333 case AArch64::UMINXri: {
23334 switch (OpNum) {
23335 case 0:
23336 // op: Rd
23337 return 0;
23338 case 1:
23339 // op: Rn
23340 return 5;
23341 case 2:
23342 // op: imm
23343 return 10;
23344 }
23345 break;
23346 }
23347 case AArch64::FCVTZSd:
23348 case AArch64::FCVTZSh:
23349 case AArch64::FCVTZSs:
23350 case AArch64::FCVTZSv2i32_shift:
23351 case AArch64::FCVTZSv2i64_shift:
23352 case AArch64::FCVTZSv4i16_shift:
23353 case AArch64::FCVTZSv4i32_shift:
23354 case AArch64::FCVTZSv8i16_shift:
23355 case AArch64::FCVTZUd:
23356 case AArch64::FCVTZUh:
23357 case AArch64::FCVTZUs:
23358 case AArch64::FCVTZUv2i32_shift:
23359 case AArch64::FCVTZUv2i64_shift:
23360 case AArch64::FCVTZUv4i16_shift:
23361 case AArch64::FCVTZUv4i32_shift:
23362 case AArch64::FCVTZUv8i16_shift:
23363 case AArch64::RSHRNv2i32_shift:
23364 case AArch64::RSHRNv4i16_shift:
23365 case AArch64::RSHRNv8i8_shift:
23366 case AArch64::SCVTFd:
23367 case AArch64::SCVTFh:
23368 case AArch64::SCVTFs:
23369 case AArch64::SCVTFv2i32_shift:
23370 case AArch64::SCVTFv2i64_shift:
23371 case AArch64::SCVTFv4i16_shift:
23372 case AArch64::SCVTFv4i32_shift:
23373 case AArch64::SCVTFv8i16_shift:
23374 case AArch64::SHLd:
23375 case AArch64::SHLv16i8_shift:
23376 case AArch64::SHLv2i32_shift:
23377 case AArch64::SHLv2i64_shift:
23378 case AArch64::SHLv4i16_shift:
23379 case AArch64::SHLv4i32_shift:
23380 case AArch64::SHLv8i16_shift:
23381 case AArch64::SHLv8i8_shift:
23382 case AArch64::SHRNv2i32_shift:
23383 case AArch64::SHRNv4i16_shift:
23384 case AArch64::SHRNv8i8_shift:
23385 case AArch64::SQRSHRNb:
23386 case AArch64::SQRSHRNh:
23387 case AArch64::SQRSHRNs:
23388 case AArch64::SQRSHRNv2i32_shift:
23389 case AArch64::SQRSHRNv4i16_shift:
23390 case AArch64::SQRSHRNv8i8_shift:
23391 case AArch64::SQRSHRUNb:
23392 case AArch64::SQRSHRUNh:
23393 case AArch64::SQRSHRUNs:
23394 case AArch64::SQRSHRUNv2i32_shift:
23395 case AArch64::SQRSHRUNv4i16_shift:
23396 case AArch64::SQRSHRUNv8i8_shift:
23397 case AArch64::SQSHLUb:
23398 case AArch64::SQSHLUd:
23399 case AArch64::SQSHLUh:
23400 case AArch64::SQSHLUs:
23401 case AArch64::SQSHLUv16i8_shift:
23402 case AArch64::SQSHLUv2i32_shift:
23403 case AArch64::SQSHLUv2i64_shift:
23404 case AArch64::SQSHLUv4i16_shift:
23405 case AArch64::SQSHLUv4i32_shift:
23406 case AArch64::SQSHLUv8i16_shift:
23407 case AArch64::SQSHLUv8i8_shift:
23408 case AArch64::SQSHLb:
23409 case AArch64::SQSHLd:
23410 case AArch64::SQSHLh:
23411 case AArch64::SQSHLs:
23412 case AArch64::SQSHLv16i8_shift:
23413 case AArch64::SQSHLv2i32_shift:
23414 case AArch64::SQSHLv2i64_shift:
23415 case AArch64::SQSHLv4i16_shift:
23416 case AArch64::SQSHLv4i32_shift:
23417 case AArch64::SQSHLv8i16_shift:
23418 case AArch64::SQSHLv8i8_shift:
23419 case AArch64::SQSHRNb:
23420 case AArch64::SQSHRNh:
23421 case AArch64::SQSHRNs:
23422 case AArch64::SQSHRNv2i32_shift:
23423 case AArch64::SQSHRNv4i16_shift:
23424 case AArch64::SQSHRNv8i8_shift:
23425 case AArch64::SQSHRUNb:
23426 case AArch64::SQSHRUNh:
23427 case AArch64::SQSHRUNs:
23428 case AArch64::SQSHRUNv2i32_shift:
23429 case AArch64::SQSHRUNv4i16_shift:
23430 case AArch64::SQSHRUNv8i8_shift:
23431 case AArch64::SRSHRd:
23432 case AArch64::SRSHRv16i8_shift:
23433 case AArch64::SRSHRv2i32_shift:
23434 case AArch64::SRSHRv2i64_shift:
23435 case AArch64::SRSHRv4i16_shift:
23436 case AArch64::SRSHRv4i32_shift:
23437 case AArch64::SRSHRv8i16_shift:
23438 case AArch64::SRSHRv8i8_shift:
23439 case AArch64::SSHLLv16i8_shift:
23440 case AArch64::SSHLLv2i32_shift:
23441 case AArch64::SSHLLv4i16_shift:
23442 case AArch64::SSHLLv4i32_shift:
23443 case AArch64::SSHLLv8i16_shift:
23444 case AArch64::SSHLLv8i8_shift:
23445 case AArch64::SSHRd:
23446 case AArch64::SSHRv16i8_shift:
23447 case AArch64::SSHRv2i32_shift:
23448 case AArch64::SSHRv2i64_shift:
23449 case AArch64::SSHRv4i16_shift:
23450 case AArch64::SSHRv4i32_shift:
23451 case AArch64::SSHRv8i16_shift:
23452 case AArch64::SSHRv8i8_shift:
23453 case AArch64::UCVTFd:
23454 case AArch64::UCVTFh:
23455 case AArch64::UCVTFs:
23456 case AArch64::UCVTFv2i32_shift:
23457 case AArch64::UCVTFv2i64_shift:
23458 case AArch64::UCVTFv4i16_shift:
23459 case AArch64::UCVTFv4i32_shift:
23460 case AArch64::UCVTFv8i16_shift:
23461 case AArch64::UQRSHRNb:
23462 case AArch64::UQRSHRNh:
23463 case AArch64::UQRSHRNs:
23464 case AArch64::UQRSHRNv2i32_shift:
23465 case AArch64::UQRSHRNv4i16_shift:
23466 case AArch64::UQRSHRNv8i8_shift:
23467 case AArch64::UQSHLb:
23468 case AArch64::UQSHLd:
23469 case AArch64::UQSHLh:
23470 case AArch64::UQSHLs:
23471 case AArch64::UQSHLv16i8_shift:
23472 case AArch64::UQSHLv2i32_shift:
23473 case AArch64::UQSHLv2i64_shift:
23474 case AArch64::UQSHLv4i16_shift:
23475 case AArch64::UQSHLv4i32_shift:
23476 case AArch64::UQSHLv8i16_shift:
23477 case AArch64::UQSHLv8i8_shift:
23478 case AArch64::UQSHRNb:
23479 case AArch64::UQSHRNh:
23480 case AArch64::UQSHRNs:
23481 case AArch64::UQSHRNv2i32_shift:
23482 case AArch64::UQSHRNv4i16_shift:
23483 case AArch64::UQSHRNv8i8_shift:
23484 case AArch64::URSHRd:
23485 case AArch64::URSHRv16i8_shift:
23486 case AArch64::URSHRv2i32_shift:
23487 case AArch64::URSHRv2i64_shift:
23488 case AArch64::URSHRv4i16_shift:
23489 case AArch64::URSHRv4i32_shift:
23490 case AArch64::URSHRv8i16_shift:
23491 case AArch64::URSHRv8i8_shift:
23492 case AArch64::USHLLv16i8_shift:
23493 case AArch64::USHLLv2i32_shift:
23494 case AArch64::USHLLv4i16_shift:
23495 case AArch64::USHLLv4i32_shift:
23496 case AArch64::USHLLv8i16_shift:
23497 case AArch64::USHLLv8i8_shift:
23498 case AArch64::USHRd:
23499 case AArch64::USHRv16i8_shift:
23500 case AArch64::USHRv2i32_shift:
23501 case AArch64::USHRv2i64_shift:
23502 case AArch64::USHRv4i16_shift:
23503 case AArch64::USHRv4i32_shift:
23504 case AArch64::USHRv8i16_shift:
23505 case AArch64::USHRv8i8_shift: {
23506 switch (OpNum) {
23507 case 0:
23508 // op: Rd
23509 return 0;
23510 case 1:
23511 // op: Rn
23512 return 5;
23513 case 2:
23514 // op: imm
23515 return 16;
23516 }
23517 break;
23518 }
23519 case AArch64::ADDG:
23520 case AArch64::SUBG: {
23521 switch (OpNum) {
23522 case 0:
23523 // op: Rd
23524 return 0;
23525 case 1:
23526 // op: Rn
23527 return 5;
23528 case 2:
23529 // op: imm6
23530 return 16;
23531 case 3:
23532 // op: imm4
23533 return 10;
23534 }
23535 break;
23536 }
23537 case AArch64::SBFMWri:
23538 case AArch64::SBFMXri:
23539 case AArch64::UBFMWri:
23540 case AArch64::UBFMXri: {
23541 switch (OpNum) {
23542 case 0:
23543 // op: Rd
23544 return 0;
23545 case 1:
23546 // op: Rn
23547 return 5;
23548 case 2:
23549 // op: immr
23550 return 16;
23551 case 3:
23552 // op: imms
23553 return 10;
23554 }
23555 break;
23556 }
23557 case AArch64::FCVTZSSWDri:
23558 case AArch64::FCVTZSSWHri:
23559 case AArch64::FCVTZSSWSri:
23560 case AArch64::FCVTZSSXDri:
23561 case AArch64::FCVTZSSXHri:
23562 case AArch64::FCVTZSSXSri:
23563 case AArch64::FCVTZUSWDri:
23564 case AArch64::FCVTZUSWHri:
23565 case AArch64::FCVTZUSWSri:
23566 case AArch64::FCVTZUSXDri:
23567 case AArch64::FCVTZUSXHri:
23568 case AArch64::FCVTZUSXSri:
23569 case AArch64::SCVTFSWDri:
23570 case AArch64::SCVTFSWHri:
23571 case AArch64::SCVTFSWSri:
23572 case AArch64::SCVTFSXDri:
23573 case AArch64::SCVTFSXHri:
23574 case AArch64::SCVTFSXSri:
23575 case AArch64::UCVTFSWDri:
23576 case AArch64::UCVTFSWHri:
23577 case AArch64::UCVTFSWSri:
23578 case AArch64::UCVTFSXDri:
23579 case AArch64::UCVTFSXHri:
23580 case AArch64::UCVTFSXSri: {
23581 switch (OpNum) {
23582 case 0:
23583 // op: Rd
23584 return 0;
23585 case 1:
23586 // op: Rn
23587 return 5;
23588 case 2:
23589 // op: scale
23590 return 10;
23591 }
23592 break;
23593 }
23594 case AArch64::ABSWr:
23595 case AArch64::ABSXr:
23596 case AArch64::ABSv16i8:
23597 case AArch64::ABSv1i64:
23598 case AArch64::ABSv2i32:
23599 case AArch64::ABSv2i64:
23600 case AArch64::ABSv4i16:
23601 case AArch64::ABSv4i32:
23602 case AArch64::ABSv8i16:
23603 case AArch64::ABSv8i8:
23604 case AArch64::ADDPv2i64p:
23605 case AArch64::ADDVv16i8v:
23606 case AArch64::ADDVv4i16v:
23607 case AArch64::ADDVv4i32v:
23608 case AArch64::ADDVv8i16v:
23609 case AArch64::ADDVv8i8v:
23610 case AArch64::AESIMCrr:
23611 case AArch64::AESMCrr:
23612 case AArch64::BF1CVTL:
23613 case AArch64::BF1CVTL2:
23614 case AArch64::BF2CVTL:
23615 case AArch64::BF2CVTL2:
23616 case AArch64::BFCVT:
23617 case AArch64::BFCVTN:
23618 case AArch64::CLSWr:
23619 case AArch64::CLSXr:
23620 case AArch64::CLSv16i8:
23621 case AArch64::CLSv2i32:
23622 case AArch64::CLSv4i16:
23623 case AArch64::CLSv4i32:
23624 case AArch64::CLSv8i16:
23625 case AArch64::CLSv8i8:
23626 case AArch64::CLZWr:
23627 case AArch64::CLZXr:
23628 case AArch64::CLZv16i8:
23629 case AArch64::CLZv2i32:
23630 case AArch64::CLZv4i16:
23631 case AArch64::CLZv4i32:
23632 case AArch64::CLZv8i16:
23633 case AArch64::CLZv8i8:
23634 case AArch64::CMEQv16i8rz:
23635 case AArch64::CMEQv1i64rz:
23636 case AArch64::CMEQv2i32rz:
23637 case AArch64::CMEQv2i64rz:
23638 case AArch64::CMEQv4i16rz:
23639 case AArch64::CMEQv4i32rz:
23640 case AArch64::CMEQv8i16rz:
23641 case AArch64::CMEQv8i8rz:
23642 case AArch64::CMGEv16i8rz:
23643 case AArch64::CMGEv1i64rz:
23644 case AArch64::CMGEv2i32rz:
23645 case AArch64::CMGEv2i64rz:
23646 case AArch64::CMGEv4i16rz:
23647 case AArch64::CMGEv4i32rz:
23648 case AArch64::CMGEv8i16rz:
23649 case AArch64::CMGEv8i8rz:
23650 case AArch64::CMGTv16i8rz:
23651 case AArch64::CMGTv1i64rz:
23652 case AArch64::CMGTv2i32rz:
23653 case AArch64::CMGTv2i64rz:
23654 case AArch64::CMGTv4i16rz:
23655 case AArch64::CMGTv4i32rz:
23656 case AArch64::CMGTv8i16rz:
23657 case AArch64::CMGTv8i8rz:
23658 case AArch64::CMLEv16i8rz:
23659 case AArch64::CMLEv1i64rz:
23660 case AArch64::CMLEv2i32rz:
23661 case AArch64::CMLEv2i64rz:
23662 case AArch64::CMLEv4i16rz:
23663 case AArch64::CMLEv4i32rz:
23664 case AArch64::CMLEv8i16rz:
23665 case AArch64::CMLEv8i8rz:
23666 case AArch64::CMLTv16i8rz:
23667 case AArch64::CMLTv1i64rz:
23668 case AArch64::CMLTv2i32rz:
23669 case AArch64::CMLTv2i64rz:
23670 case AArch64::CMLTv4i16rz:
23671 case AArch64::CMLTv4i32rz:
23672 case AArch64::CMLTv8i16rz:
23673 case AArch64::CMLTv8i8rz:
23674 case AArch64::CNTWr:
23675 case AArch64::CNTXr:
23676 case AArch64::CNTv16i8:
23677 case AArch64::CNTv8i8:
23678 case AArch64::CTZWr:
23679 case AArch64::CTZXr:
23680 case AArch64::DUPv16i8gpr:
23681 case AArch64::DUPv2i32gpr:
23682 case AArch64::DUPv2i64gpr:
23683 case AArch64::DUPv4i16gpr:
23684 case AArch64::DUPv4i32gpr:
23685 case AArch64::DUPv8i16gpr:
23686 case AArch64::DUPv8i8gpr:
23687 case AArch64::F1CVTL:
23688 case AArch64::F1CVTL2:
23689 case AArch64::F2CVTL:
23690 case AArch64::F2CVTL2:
23691 case AArch64::FABSDr:
23692 case AArch64::FABSHr:
23693 case AArch64::FABSSr:
23694 case AArch64::FABSv2f32:
23695 case AArch64::FABSv2f64:
23696 case AArch64::FABSv4f16:
23697 case AArch64::FABSv4f32:
23698 case AArch64::FABSv8f16:
23699 case AArch64::FADDPv2i16p:
23700 case AArch64::FADDPv2i32p:
23701 case AArch64::FADDPv2i64p:
23702 case AArch64::FCMEQv1i16rz:
23703 case AArch64::FCMEQv1i32rz:
23704 case AArch64::FCMEQv1i64rz:
23705 case AArch64::FCMEQv2i32rz:
23706 case AArch64::FCMEQv2i64rz:
23707 case AArch64::FCMEQv4i16rz:
23708 case AArch64::FCMEQv4i32rz:
23709 case AArch64::FCMEQv8i16rz:
23710 case AArch64::FCMGEv1i16rz:
23711 case AArch64::FCMGEv1i32rz:
23712 case AArch64::FCMGEv1i64rz:
23713 case AArch64::FCMGEv2i32rz:
23714 case AArch64::FCMGEv2i64rz:
23715 case AArch64::FCMGEv4i16rz:
23716 case AArch64::FCMGEv4i32rz:
23717 case AArch64::FCMGEv8i16rz:
23718 case AArch64::FCMGTv1i16rz:
23719 case AArch64::FCMGTv1i32rz:
23720 case AArch64::FCMGTv1i64rz:
23721 case AArch64::FCMGTv2i32rz:
23722 case AArch64::FCMGTv2i64rz:
23723 case AArch64::FCMGTv4i16rz:
23724 case AArch64::FCMGTv4i32rz:
23725 case AArch64::FCMGTv8i16rz:
23726 case AArch64::FCMLEv1i16rz:
23727 case AArch64::FCMLEv1i32rz:
23728 case AArch64::FCMLEv1i64rz:
23729 case AArch64::FCMLEv2i32rz:
23730 case AArch64::FCMLEv2i64rz:
23731 case AArch64::FCMLEv4i16rz:
23732 case AArch64::FCMLEv4i32rz:
23733 case AArch64::FCMLEv8i16rz:
23734 case AArch64::FCMLTv1i16rz:
23735 case AArch64::FCMLTv1i32rz:
23736 case AArch64::FCMLTv1i64rz:
23737 case AArch64::FCMLTv2i32rz:
23738 case AArch64::FCMLTv2i64rz:
23739 case AArch64::FCMLTv4i16rz:
23740 case AArch64::FCMLTv4i32rz:
23741 case AArch64::FCMLTv8i16rz:
23742 case AArch64::FCVTASDHr:
23743 case AArch64::FCVTASDSr:
23744 case AArch64::FCVTASSDr:
23745 case AArch64::FCVTASSHr:
23746 case AArch64::FCVTASUWDr:
23747 case AArch64::FCVTASUWHr:
23748 case AArch64::FCVTASUWSr:
23749 case AArch64::FCVTASUXDr:
23750 case AArch64::FCVTASUXHr:
23751 case AArch64::FCVTASUXSr:
23752 case AArch64::FCVTASv1f16:
23753 case AArch64::FCVTASv1i32:
23754 case AArch64::FCVTASv1i64:
23755 case AArch64::FCVTASv2f32:
23756 case AArch64::FCVTASv2f64:
23757 case AArch64::FCVTASv4f16:
23758 case AArch64::FCVTASv4f32:
23759 case AArch64::FCVTASv8f16:
23760 case AArch64::FCVTAUDHr:
23761 case AArch64::FCVTAUDSr:
23762 case AArch64::FCVTAUSDr:
23763 case AArch64::FCVTAUSHr:
23764 case AArch64::FCVTAUUWDr:
23765 case AArch64::FCVTAUUWHr:
23766 case AArch64::FCVTAUUWSr:
23767 case AArch64::FCVTAUUXDr:
23768 case AArch64::FCVTAUUXHr:
23769 case AArch64::FCVTAUUXSr:
23770 case AArch64::FCVTAUv1f16:
23771 case AArch64::FCVTAUv1i32:
23772 case AArch64::FCVTAUv1i64:
23773 case AArch64::FCVTAUv2f32:
23774 case AArch64::FCVTAUv2f64:
23775 case AArch64::FCVTAUv4f16:
23776 case AArch64::FCVTAUv4f32:
23777 case AArch64::FCVTAUv8f16:
23778 case AArch64::FCVTDHr:
23779 case AArch64::FCVTDSr:
23780 case AArch64::FCVTHDr:
23781 case AArch64::FCVTHSr:
23782 case AArch64::FCVTLv2i32:
23783 case AArch64::FCVTLv4i16:
23784 case AArch64::FCVTLv4i32:
23785 case AArch64::FCVTLv8i16:
23786 case AArch64::FCVTMSDHr:
23787 case AArch64::FCVTMSDSr:
23788 case AArch64::FCVTMSSDr:
23789 case AArch64::FCVTMSSHr:
23790 case AArch64::FCVTMSUWDr:
23791 case AArch64::FCVTMSUWHr:
23792 case AArch64::FCVTMSUWSr:
23793 case AArch64::FCVTMSUXDr:
23794 case AArch64::FCVTMSUXHr:
23795 case AArch64::FCVTMSUXSr:
23796 case AArch64::FCVTMSv1f16:
23797 case AArch64::FCVTMSv1i32:
23798 case AArch64::FCVTMSv1i64:
23799 case AArch64::FCVTMSv2f32:
23800 case AArch64::FCVTMSv2f64:
23801 case AArch64::FCVTMSv4f16:
23802 case AArch64::FCVTMSv4f32:
23803 case AArch64::FCVTMSv8f16:
23804 case AArch64::FCVTMUDHr:
23805 case AArch64::FCVTMUDSr:
23806 case AArch64::FCVTMUSDr:
23807 case AArch64::FCVTMUSHr:
23808 case AArch64::FCVTMUUWDr:
23809 case AArch64::FCVTMUUWHr:
23810 case AArch64::FCVTMUUWSr:
23811 case AArch64::FCVTMUUXDr:
23812 case AArch64::FCVTMUUXHr:
23813 case AArch64::FCVTMUUXSr:
23814 case AArch64::FCVTMUv1f16:
23815 case AArch64::FCVTMUv1i32:
23816 case AArch64::FCVTMUv1i64:
23817 case AArch64::FCVTMUv2f32:
23818 case AArch64::FCVTMUv2f64:
23819 case AArch64::FCVTMUv4f16:
23820 case AArch64::FCVTMUv4f32:
23821 case AArch64::FCVTMUv8f16:
23822 case AArch64::FCVTNSDHr:
23823 case AArch64::FCVTNSDSr:
23824 case AArch64::FCVTNSSDr:
23825 case AArch64::FCVTNSSHr:
23826 case AArch64::FCVTNSUWDr:
23827 case AArch64::FCVTNSUWHr:
23828 case AArch64::FCVTNSUWSr:
23829 case AArch64::FCVTNSUXDr:
23830 case AArch64::FCVTNSUXHr:
23831 case AArch64::FCVTNSUXSr:
23832 case AArch64::FCVTNSv1f16:
23833 case AArch64::FCVTNSv1i32:
23834 case AArch64::FCVTNSv1i64:
23835 case AArch64::FCVTNSv2f32:
23836 case AArch64::FCVTNSv2f64:
23837 case AArch64::FCVTNSv4f16:
23838 case AArch64::FCVTNSv4f32:
23839 case AArch64::FCVTNSv8f16:
23840 case AArch64::FCVTNUDHr:
23841 case AArch64::FCVTNUDSr:
23842 case AArch64::FCVTNUSDr:
23843 case AArch64::FCVTNUSHr:
23844 case AArch64::FCVTNUUWDr:
23845 case AArch64::FCVTNUUWHr:
23846 case AArch64::FCVTNUUWSr:
23847 case AArch64::FCVTNUUXDr:
23848 case AArch64::FCVTNUUXHr:
23849 case AArch64::FCVTNUUXSr:
23850 case AArch64::FCVTNUv1f16:
23851 case AArch64::FCVTNUv1i32:
23852 case AArch64::FCVTNUv1i64:
23853 case AArch64::FCVTNUv2f32:
23854 case AArch64::FCVTNUv2f64:
23855 case AArch64::FCVTNUv4f16:
23856 case AArch64::FCVTNUv4f32:
23857 case AArch64::FCVTNUv8f16:
23858 case AArch64::FCVTNv2i32:
23859 case AArch64::FCVTNv4i16:
23860 case AArch64::FCVTPSDHr:
23861 case AArch64::FCVTPSDSr:
23862 case AArch64::FCVTPSSDr:
23863 case AArch64::FCVTPSSHr:
23864 case AArch64::FCVTPSUWDr:
23865 case AArch64::FCVTPSUWHr:
23866 case AArch64::FCVTPSUWSr:
23867 case AArch64::FCVTPSUXDr:
23868 case AArch64::FCVTPSUXHr:
23869 case AArch64::FCVTPSUXSr:
23870 case AArch64::FCVTPSv1f16:
23871 case AArch64::FCVTPSv1i32:
23872 case AArch64::FCVTPSv1i64:
23873 case AArch64::FCVTPSv2f32:
23874 case AArch64::FCVTPSv2f64:
23875 case AArch64::FCVTPSv4f16:
23876 case AArch64::FCVTPSv4f32:
23877 case AArch64::FCVTPSv8f16:
23878 case AArch64::FCVTPUDHr:
23879 case AArch64::FCVTPUDSr:
23880 case AArch64::FCVTPUSDr:
23881 case AArch64::FCVTPUSHr:
23882 case AArch64::FCVTPUUWDr:
23883 case AArch64::FCVTPUUWHr:
23884 case AArch64::FCVTPUUWSr:
23885 case AArch64::FCVTPUUXDr:
23886 case AArch64::FCVTPUUXHr:
23887 case AArch64::FCVTPUUXSr:
23888 case AArch64::FCVTPUv1f16:
23889 case AArch64::FCVTPUv1i32:
23890 case AArch64::FCVTPUv1i64:
23891 case AArch64::FCVTPUv2f32:
23892 case AArch64::FCVTPUv2f64:
23893 case AArch64::FCVTPUv4f16:
23894 case AArch64::FCVTPUv4f32:
23895 case AArch64::FCVTPUv8f16:
23896 case AArch64::FCVTSDr:
23897 case AArch64::FCVTSHr:
23898 case AArch64::FCVTXNv1i64:
23899 case AArch64::FCVTXNv2f32:
23900 case AArch64::FCVTZSDHr:
23901 case AArch64::FCVTZSDSr:
23902 case AArch64::FCVTZSSDr:
23903 case AArch64::FCVTZSSHr:
23904 case AArch64::FCVTZSUWDr:
23905 case AArch64::FCVTZSUWHr:
23906 case AArch64::FCVTZSUWSr:
23907 case AArch64::FCVTZSUXDr:
23908 case AArch64::FCVTZSUXHr:
23909 case AArch64::FCVTZSUXSr:
23910 case AArch64::FCVTZSv1f16:
23911 case AArch64::FCVTZSv1i32:
23912 case AArch64::FCVTZSv1i64:
23913 case AArch64::FCVTZSv2f32:
23914 case AArch64::FCVTZSv2f64:
23915 case AArch64::FCVTZSv4f16:
23916 case AArch64::FCVTZSv4f32:
23917 case AArch64::FCVTZSv8f16:
23918 case AArch64::FCVTZUDHr:
23919 case AArch64::FCVTZUDSr:
23920 case AArch64::FCVTZUSDr:
23921 case AArch64::FCVTZUSHr:
23922 case AArch64::FCVTZUUWDr:
23923 case AArch64::FCVTZUUWHr:
23924 case AArch64::FCVTZUUWSr:
23925 case AArch64::FCVTZUUXDr:
23926 case AArch64::FCVTZUUXHr:
23927 case AArch64::FCVTZUUXSr:
23928 case AArch64::FCVTZUv1f16:
23929 case AArch64::FCVTZUv1i32:
23930 case AArch64::FCVTZUv1i64:
23931 case AArch64::FCVTZUv2f32:
23932 case AArch64::FCVTZUv2f64:
23933 case AArch64::FCVTZUv4f16:
23934 case AArch64::FCVTZUv4f32:
23935 case AArch64::FCVTZUv8f16:
23936 case AArch64::FJCVTZS:
23937 case AArch64::FMAXNMPv2i16p:
23938 case AArch64::FMAXNMPv2i32p:
23939 case AArch64::FMAXNMPv2i64p:
23940 case AArch64::FMAXNMVv4i16v:
23941 case AArch64::FMAXNMVv4i32v:
23942 case AArch64::FMAXNMVv8i16v:
23943 case AArch64::FMAXPv2i16p:
23944 case AArch64::FMAXPv2i32p:
23945 case AArch64::FMAXPv2i64p:
23946 case AArch64::FMAXVv4i16v:
23947 case AArch64::FMAXVv4i32v:
23948 case AArch64::FMAXVv8i16v:
23949 case AArch64::FMINNMPv2i16p:
23950 case AArch64::FMINNMPv2i32p:
23951 case AArch64::FMINNMPv2i64p:
23952 case AArch64::FMINNMVv4i16v:
23953 case AArch64::FMINNMVv4i32v:
23954 case AArch64::FMINNMVv8i16v:
23955 case AArch64::FMINPv2i16p:
23956 case AArch64::FMINPv2i32p:
23957 case AArch64::FMINPv2i64p:
23958 case AArch64::FMINVv4i16v:
23959 case AArch64::FMINVv4i32v:
23960 case AArch64::FMINVv8i16v:
23961 case AArch64::FMOVDXHighr:
23962 case AArch64::FMOVDXr:
23963 case AArch64::FMOVDr:
23964 case AArch64::FMOVHWr:
23965 case AArch64::FMOVHXr:
23966 case AArch64::FMOVHr:
23967 case AArch64::FMOVSWr:
23968 case AArch64::FMOVSr:
23969 case AArch64::FMOVWHr:
23970 case AArch64::FMOVWSr:
23971 case AArch64::FMOVXDHighr:
23972 case AArch64::FMOVXDr:
23973 case AArch64::FMOVXHr:
23974 case AArch64::FNEGDr:
23975 case AArch64::FNEGHr:
23976 case AArch64::FNEGSr:
23977 case AArch64::FNEGv2f32:
23978 case AArch64::FNEGv2f64:
23979 case AArch64::FNEGv4f16:
23980 case AArch64::FNEGv4f32:
23981 case AArch64::FNEGv8f16:
23982 case AArch64::FRECPEv1f16:
23983 case AArch64::FRECPEv1i32:
23984 case AArch64::FRECPEv1i64:
23985 case AArch64::FRECPEv2f32:
23986 case AArch64::FRECPEv2f64:
23987 case AArch64::FRECPEv4f16:
23988 case AArch64::FRECPEv4f32:
23989 case AArch64::FRECPEv8f16:
23990 case AArch64::FRECPXv1f16:
23991 case AArch64::FRECPXv1i32:
23992 case AArch64::FRECPXv1i64:
23993 case AArch64::FRINT32XDr:
23994 case AArch64::FRINT32XSr:
23995 case AArch64::FRINT32Xv2f32:
23996 case AArch64::FRINT32Xv2f64:
23997 case AArch64::FRINT32Xv4f32:
23998 case AArch64::FRINT32ZDr:
23999 case AArch64::FRINT32ZSr:
24000 case AArch64::FRINT32Zv2f32:
24001 case AArch64::FRINT32Zv2f64:
24002 case AArch64::FRINT32Zv4f32:
24003 case AArch64::FRINT64XDr:
24004 case AArch64::FRINT64XSr:
24005 case AArch64::FRINT64Xv2f32:
24006 case AArch64::FRINT64Xv2f64:
24007 case AArch64::FRINT64Xv4f32:
24008 case AArch64::FRINT64ZDr:
24009 case AArch64::FRINT64ZSr:
24010 case AArch64::FRINT64Zv2f32:
24011 case AArch64::FRINT64Zv2f64:
24012 case AArch64::FRINT64Zv4f32:
24013 case AArch64::FRINTADr:
24014 case AArch64::FRINTAHr:
24015 case AArch64::FRINTASr:
24016 case AArch64::FRINTAv2f32:
24017 case AArch64::FRINTAv2f64:
24018 case AArch64::FRINTAv4f16:
24019 case AArch64::FRINTAv4f32:
24020 case AArch64::FRINTAv8f16:
24021 case AArch64::FRINTIDr:
24022 case AArch64::FRINTIHr:
24023 case AArch64::FRINTISr:
24024 case AArch64::FRINTIv2f32:
24025 case AArch64::FRINTIv2f64:
24026 case AArch64::FRINTIv4f16:
24027 case AArch64::FRINTIv4f32:
24028 case AArch64::FRINTIv8f16:
24029 case AArch64::FRINTMDr:
24030 case AArch64::FRINTMHr:
24031 case AArch64::FRINTMSr:
24032 case AArch64::FRINTMv2f32:
24033 case AArch64::FRINTMv2f64:
24034 case AArch64::FRINTMv4f16:
24035 case AArch64::FRINTMv4f32:
24036 case AArch64::FRINTMv8f16:
24037 case AArch64::FRINTNDr:
24038 case AArch64::FRINTNHr:
24039 case AArch64::FRINTNSr:
24040 case AArch64::FRINTNv2f32:
24041 case AArch64::FRINTNv2f64:
24042 case AArch64::FRINTNv4f16:
24043 case AArch64::FRINTNv4f32:
24044 case AArch64::FRINTNv8f16:
24045 case AArch64::FRINTPDr:
24046 case AArch64::FRINTPHr:
24047 case AArch64::FRINTPSr:
24048 case AArch64::FRINTPv2f32:
24049 case AArch64::FRINTPv2f64:
24050 case AArch64::FRINTPv4f16:
24051 case AArch64::FRINTPv4f32:
24052 case AArch64::FRINTPv8f16:
24053 case AArch64::FRINTXDr:
24054 case AArch64::FRINTXHr:
24055 case AArch64::FRINTXSr:
24056 case AArch64::FRINTXv2f32:
24057 case AArch64::FRINTXv2f64:
24058 case AArch64::FRINTXv4f16:
24059 case AArch64::FRINTXv4f32:
24060 case AArch64::FRINTXv8f16:
24061 case AArch64::FRINTZDr:
24062 case AArch64::FRINTZHr:
24063 case AArch64::FRINTZSr:
24064 case AArch64::FRINTZv2f32:
24065 case AArch64::FRINTZv2f64:
24066 case AArch64::FRINTZv4f16:
24067 case AArch64::FRINTZv4f32:
24068 case AArch64::FRINTZv8f16:
24069 case AArch64::FRSQRTEv1f16:
24070 case AArch64::FRSQRTEv1i32:
24071 case AArch64::FRSQRTEv1i64:
24072 case AArch64::FRSQRTEv2f32:
24073 case AArch64::FRSQRTEv2f64:
24074 case AArch64::FRSQRTEv4f16:
24075 case AArch64::FRSQRTEv4f32:
24076 case AArch64::FRSQRTEv8f16:
24077 case AArch64::FSQRTDr:
24078 case AArch64::FSQRTHr:
24079 case AArch64::FSQRTSr:
24080 case AArch64::FSQRTv2f32:
24081 case AArch64::FSQRTv2f64:
24082 case AArch64::FSQRTv4f16:
24083 case AArch64::FSQRTv4f32:
24084 case AArch64::FSQRTv8f16:
24085 case AArch64::NEGv16i8:
24086 case AArch64::NEGv1i64:
24087 case AArch64::NEGv2i32:
24088 case AArch64::NEGv2i64:
24089 case AArch64::NEGv4i16:
24090 case AArch64::NEGv4i32:
24091 case AArch64::NEGv8i16:
24092 case AArch64::NEGv8i8:
24093 case AArch64::NOTv16i8:
24094 case AArch64::NOTv8i8:
24095 case AArch64::RBITWr:
24096 case AArch64::RBITXr:
24097 case AArch64::RBITv16i8:
24098 case AArch64::RBITv8i8:
24099 case AArch64::REV16Wr:
24100 case AArch64::REV16Xr:
24101 case AArch64::REV16v16i8:
24102 case AArch64::REV16v8i8:
24103 case AArch64::REV32Xr:
24104 case AArch64::REV32v16i8:
24105 case AArch64::REV32v4i16:
24106 case AArch64::REV32v8i16:
24107 case AArch64::REV32v8i8:
24108 case AArch64::REV64v16i8:
24109 case AArch64::REV64v2i32:
24110 case AArch64::REV64v4i16:
24111 case AArch64::REV64v4i32:
24112 case AArch64::REV64v8i16:
24113 case AArch64::REV64v8i8:
24114 case AArch64::REVWr:
24115 case AArch64::REVXr:
24116 case AArch64::SADDLPv16i8_v8i16:
24117 case AArch64::SADDLPv2i32_v1i64:
24118 case AArch64::SADDLPv4i16_v2i32:
24119 case AArch64::SADDLPv4i32_v2i64:
24120 case AArch64::SADDLPv8i16_v4i32:
24121 case AArch64::SADDLPv8i8_v4i16:
24122 case AArch64::SADDLVv16i8v:
24123 case AArch64::SADDLVv4i16v:
24124 case AArch64::SADDLVv4i32v:
24125 case AArch64::SADDLVv8i16v:
24126 case AArch64::SADDLVv8i8v:
24127 case AArch64::SCVTFDSr:
24128 case AArch64::SCVTFHDr:
24129 case AArch64::SCVTFHSr:
24130 case AArch64::SCVTFSDr:
24131 case AArch64::SCVTFUWDri:
24132 case AArch64::SCVTFUWHri:
24133 case AArch64::SCVTFUWSri:
24134 case AArch64::SCVTFUXDri:
24135 case AArch64::SCVTFUXHri:
24136 case AArch64::SCVTFUXSri:
24137 case AArch64::SCVTFv1i16:
24138 case AArch64::SCVTFv1i32:
24139 case AArch64::SCVTFv1i64:
24140 case AArch64::SCVTFv2f32:
24141 case AArch64::SCVTFv2f64:
24142 case AArch64::SCVTFv4f16:
24143 case AArch64::SCVTFv4f32:
24144 case AArch64::SCVTFv8f16:
24145 case AArch64::SHA1Hrr:
24146 case AArch64::SHLLv16i8:
24147 case AArch64::SHLLv2i32:
24148 case AArch64::SHLLv4i16:
24149 case AArch64::SHLLv4i32:
24150 case AArch64::SHLLv8i16:
24151 case AArch64::SHLLv8i8:
24152 case AArch64::SMAXVv16i8v:
24153 case AArch64::SMAXVv4i16v:
24154 case AArch64::SMAXVv4i32v:
24155 case AArch64::SMAXVv8i16v:
24156 case AArch64::SMAXVv8i8v:
24157 case AArch64::SMINVv16i8v:
24158 case AArch64::SMINVv4i16v:
24159 case AArch64::SMINVv4i32v:
24160 case AArch64::SMINVv8i16v:
24161 case AArch64::SMINVv8i8v:
24162 case AArch64::SMOVvi16to32_idx0:
24163 case AArch64::SMOVvi16to64_idx0:
24164 case AArch64::SMOVvi32to64_idx0:
24165 case AArch64::SMOVvi8to32_idx0:
24166 case AArch64::SMOVvi8to64_idx0:
24167 case AArch64::SQABSv16i8:
24168 case AArch64::SQABSv1i16:
24169 case AArch64::SQABSv1i32:
24170 case AArch64::SQABSv1i64:
24171 case AArch64::SQABSv1i8:
24172 case AArch64::SQABSv2i32:
24173 case AArch64::SQABSv2i64:
24174 case AArch64::SQABSv4i16:
24175 case AArch64::SQABSv4i32:
24176 case AArch64::SQABSv8i16:
24177 case AArch64::SQABSv8i8:
24178 case AArch64::SQNEGv16i8:
24179 case AArch64::SQNEGv1i16:
24180 case AArch64::SQNEGv1i32:
24181 case AArch64::SQNEGv1i64:
24182 case AArch64::SQNEGv1i8:
24183 case AArch64::SQNEGv2i32:
24184 case AArch64::SQNEGv2i64:
24185 case AArch64::SQNEGv4i16:
24186 case AArch64::SQNEGv4i32:
24187 case AArch64::SQNEGv8i16:
24188 case AArch64::SQNEGv8i8:
24189 case AArch64::SQXTNv1i16:
24190 case AArch64::SQXTNv1i32:
24191 case AArch64::SQXTNv1i8:
24192 case AArch64::SQXTNv2i32:
24193 case AArch64::SQXTNv4i16:
24194 case AArch64::SQXTNv8i8:
24195 case AArch64::SQXTUNv1i16:
24196 case AArch64::SQXTUNv1i32:
24197 case AArch64::SQXTUNv1i8:
24198 case AArch64::SQXTUNv2i32:
24199 case AArch64::SQXTUNv4i16:
24200 case AArch64::SQXTUNv8i8:
24201 case AArch64::UADDLPv16i8_v8i16:
24202 case AArch64::UADDLPv2i32_v1i64:
24203 case AArch64::UADDLPv4i16_v2i32:
24204 case AArch64::UADDLPv4i32_v2i64:
24205 case AArch64::UADDLPv8i16_v4i32:
24206 case AArch64::UADDLPv8i8_v4i16:
24207 case AArch64::UADDLVv16i8v:
24208 case AArch64::UADDLVv4i16v:
24209 case AArch64::UADDLVv4i32v:
24210 case AArch64::UADDLVv8i16v:
24211 case AArch64::UADDLVv8i8v:
24212 case AArch64::UCVTFDSr:
24213 case AArch64::UCVTFHDr:
24214 case AArch64::UCVTFHSr:
24215 case AArch64::UCVTFSDr:
24216 case AArch64::UCVTFUWDri:
24217 case AArch64::UCVTFUWHri:
24218 case AArch64::UCVTFUWSri:
24219 case AArch64::UCVTFUXDri:
24220 case AArch64::UCVTFUXHri:
24221 case AArch64::UCVTFUXSri:
24222 case AArch64::UCVTFv1i16:
24223 case AArch64::UCVTFv1i32:
24224 case AArch64::UCVTFv1i64:
24225 case AArch64::UCVTFv2f32:
24226 case AArch64::UCVTFv2f64:
24227 case AArch64::UCVTFv4f16:
24228 case AArch64::UCVTFv4f32:
24229 case AArch64::UCVTFv8f16:
24230 case AArch64::UMAXVv16i8v:
24231 case AArch64::UMAXVv4i16v:
24232 case AArch64::UMAXVv4i32v:
24233 case AArch64::UMAXVv8i16v:
24234 case AArch64::UMAXVv8i8v:
24235 case AArch64::UMINVv16i8v:
24236 case AArch64::UMINVv4i16v:
24237 case AArch64::UMINVv4i32v:
24238 case AArch64::UMINVv8i16v:
24239 case AArch64::UMINVv8i8v:
24240 case AArch64::UMOVvi16_idx0:
24241 case AArch64::UMOVvi32_idx0:
24242 case AArch64::UMOVvi64_idx0:
24243 case AArch64::UMOVvi8_idx0:
24244 case AArch64::UQXTNv1i16:
24245 case AArch64::UQXTNv1i32:
24246 case AArch64::UQXTNv1i8:
24247 case AArch64::UQXTNv2i32:
24248 case AArch64::UQXTNv4i16:
24249 case AArch64::UQXTNv8i8:
24250 case AArch64::URECPEv2i32:
24251 case AArch64::URECPEv4i32:
24252 case AArch64::URSQRTEv2i32:
24253 case AArch64::URSQRTEv4i32:
24254 case AArch64::XTNv2i32:
24255 case AArch64::XTNv4i16:
24256 case AArch64::XTNv8i8: {
24257 switch (OpNum) {
24258 case 0:
24259 // op: Rd
24260 return 0;
24261 case 1:
24262 // op: Rn
24263 return 5;
24264 }
24265 break;
24266 }
24267 case AArch64::FMOVDi:
24268 case AArch64::FMOVHi:
24269 case AArch64::FMOVSi: {
24270 switch (OpNum) {
24271 case 0:
24272 // op: Rd
24273 return 0;
24274 case 1:
24275 // op: imm
24276 return 13;
24277 }
24278 break;
24279 }
24280 case AArch64::MOVNWi:
24281 case AArch64::MOVNXi:
24282 case AArch64::MOVZWi:
24283 case AArch64::MOVZXi: {
24284 switch (OpNum) {
24285 case 0:
24286 // op: Rd
24287 return 0;
24288 case 1:
24289 // op: imm
24290 return 5;
24291 case 2:
24292 // op: shift
24293 return 21;
24294 }
24295 break;
24296 }
24297 case AArch64::RDSVLI_XI:
24298 case AArch64::RDVLI_XI: {
24299 switch (OpNum) {
24300 case 0:
24301 // op: Rd
24302 return 0;
24303 case 1:
24304 // op: imm6
24305 return 5;
24306 }
24307 break;
24308 }
24309 case AArch64::MOVIv2s_msl:
24310 case AArch64::MOVIv4s_msl:
24311 case AArch64::MVNIv2s_msl:
24312 case AArch64::MVNIv4s_msl: {
24313 switch (OpNum) {
24314 case 0:
24315 // op: Rd
24316 return 0;
24317 case 1:
24318 // op: imm8
24319 return 5;
24320 case 2:
24321 // op: shift
24322 return 12;
24323 }
24324 break;
24325 }
24326 case AArch64::MOVIv2i32:
24327 case AArch64::MOVIv4i16:
24328 case AArch64::MOVIv4i32:
24329 case AArch64::MOVIv8i16:
24330 case AArch64::MVNIv2i32:
24331 case AArch64::MVNIv4i16:
24332 case AArch64::MVNIv4i32:
24333 case AArch64::MVNIv8i16: {
24334 switch (OpNum) {
24335 case 0:
24336 // op: Rd
24337 return 0;
24338 case 1:
24339 // op: imm8
24340 return 5;
24341 case 2:
24342 // op: shift
24343 return 13;
24344 }
24345 break;
24346 }
24347 case AArch64::FMOVv2f32_ns:
24348 case AArch64::FMOVv2f64_ns:
24349 case AArch64::FMOVv4f16_ns:
24350 case AArch64::FMOVv4f32_ns:
24351 case AArch64::FMOVv8f16_ns:
24352 case AArch64::MOVID:
24353 case AArch64::MOVIv16b_ns:
24354 case AArch64::MOVIv2d_ns:
24355 case AArch64::MOVIv8b_ns: {
24356 switch (OpNum) {
24357 case 0:
24358 // op: Rd
24359 return 0;
24360 case 1:
24361 // op: imm8
24362 return 5;
24363 }
24364 break;
24365 }
24366 case AArch64::BFMWri:
24367 case AArch64::BFMXri: {
24368 switch (OpNum) {
24369 case 0:
24370 // op: Rd
24371 return 0;
24372 case 2:
24373 // op: Rn
24374 return 5;
24375 case 3:
24376 // op: immr
24377 return 16;
24378 case 4:
24379 // op: imms
24380 return 10;
24381 }
24382 break;
24383 }
24384 case AArch64::MOVKWi:
24385 case AArch64::MOVKXi: {
24386 switch (OpNum) {
24387 case 0:
24388 // op: Rd
24389 return 0;
24390 case 2:
24391 // op: imm
24392 return 5;
24393 case 3:
24394 // op: shift
24395 return 21;
24396 }
24397 break;
24398 }
24399 case AArch64::CNTB_XPiI:
24400 case AArch64::CNTD_XPiI:
24401 case AArch64::CNTH_XPiI:
24402 case AArch64::CNTW_XPiI: {
24403 switch (OpNum) {
24404 case 0:
24405 // op: Rd
24406 return 0;
24407 case 2:
24408 // op: imm4
24409 return 16;
24410 case 1:
24411 // op: pattern
24412 return 5;
24413 }
24414 break;
24415 }
24416 case AArch64::XPACD:
24417 case AArch64::XPACI: {
24418 switch (OpNum) {
24419 case 0:
24420 // op: Rd
24421 return 0;
24422 }
24423 break;
24424 }
24425 case AArch64::DECP_XP_B:
24426 case AArch64::DECP_XP_D:
24427 case AArch64::DECP_XP_H:
24428 case AArch64::DECP_XP_S:
24429 case AArch64::INCP_XP_B:
24430 case AArch64::INCP_XP_D:
24431 case AArch64::INCP_XP_H:
24432 case AArch64::INCP_XP_S:
24433 case AArch64::SQDECP_XPWd_B:
24434 case AArch64::SQDECP_XPWd_D:
24435 case AArch64::SQDECP_XPWd_H:
24436 case AArch64::SQDECP_XPWd_S:
24437 case AArch64::SQDECP_XP_B:
24438 case AArch64::SQDECP_XP_D:
24439 case AArch64::SQDECP_XP_H:
24440 case AArch64::SQDECP_XP_S:
24441 case AArch64::SQINCP_XPWd_B:
24442 case AArch64::SQINCP_XPWd_D:
24443 case AArch64::SQINCP_XPWd_H:
24444 case AArch64::SQINCP_XPWd_S:
24445 case AArch64::SQINCP_XP_B:
24446 case AArch64::SQINCP_XP_D:
24447 case AArch64::SQINCP_XP_H:
24448 case AArch64::SQINCP_XP_S:
24449 case AArch64::UQDECP_WP_B:
24450 case AArch64::UQDECP_WP_D:
24451 case AArch64::UQDECP_WP_H:
24452 case AArch64::UQDECP_WP_S:
24453 case AArch64::UQDECP_XP_B:
24454 case AArch64::UQDECP_XP_D:
24455 case AArch64::UQDECP_XP_H:
24456 case AArch64::UQDECP_XP_S:
24457 case AArch64::UQINCP_WP_B:
24458 case AArch64::UQINCP_WP_D:
24459 case AArch64::UQINCP_WP_H:
24460 case AArch64::UQINCP_WP_S:
24461 case AArch64::UQINCP_XP_B:
24462 case AArch64::UQINCP_XP_D:
24463 case AArch64::UQINCP_XP_H:
24464 case AArch64::UQINCP_XP_S: {
24465 switch (OpNum) {
24466 case 0:
24467 // op: Rdn
24468 return 0;
24469 case 1:
24470 // op: Pg
24471 return 5;
24472 }
24473 break;
24474 }
24475 case AArch64::DECB_XPiI:
24476 case AArch64::DECD_XPiI:
24477 case AArch64::DECH_XPiI:
24478 case AArch64::DECW_XPiI:
24479 case AArch64::INCB_XPiI:
24480 case AArch64::INCD_XPiI:
24481 case AArch64::INCH_XPiI:
24482 case AArch64::INCW_XPiI:
24483 case AArch64::SQDECB_XPiI:
24484 case AArch64::SQDECB_XPiWdI:
24485 case AArch64::SQDECD_XPiI:
24486 case AArch64::SQDECD_XPiWdI:
24487 case AArch64::SQDECH_XPiI:
24488 case AArch64::SQDECH_XPiWdI:
24489 case AArch64::SQDECW_XPiI:
24490 case AArch64::SQDECW_XPiWdI:
24491 case AArch64::SQINCB_XPiI:
24492 case AArch64::SQINCB_XPiWdI:
24493 case AArch64::SQINCD_XPiI:
24494 case AArch64::SQINCD_XPiWdI:
24495 case AArch64::SQINCH_XPiI:
24496 case AArch64::SQINCH_XPiWdI:
24497 case AArch64::SQINCW_XPiI:
24498 case AArch64::SQINCW_XPiWdI:
24499 case AArch64::UQDECB_WPiI:
24500 case AArch64::UQDECB_XPiI:
24501 case AArch64::UQDECD_WPiI:
24502 case AArch64::UQDECD_XPiI:
24503 case AArch64::UQDECH_WPiI:
24504 case AArch64::UQDECH_XPiI:
24505 case AArch64::UQDECW_WPiI:
24506 case AArch64::UQDECW_XPiI:
24507 case AArch64::UQINCB_WPiI:
24508 case AArch64::UQINCB_XPiI:
24509 case AArch64::UQINCD_WPiI:
24510 case AArch64::UQINCD_XPiI:
24511 case AArch64::UQINCH_WPiI:
24512 case AArch64::UQINCH_XPiI:
24513 case AArch64::UQINCW_WPiI:
24514 case AArch64::UQINCW_XPiI: {
24515 switch (OpNum) {
24516 case 0:
24517 // op: Rdn
24518 return 0;
24519 case 2:
24520 // op: pattern
24521 return 5;
24522 case 3:
24523 // op: imm4
24524 return 16;
24525 }
24526 break;
24527 }
24528 case AArch64::RETAASPPCr:
24529 case AArch64::RETABSPPCr: {
24530 switch (OpNum) {
24531 case 0:
24532 // op: Rm
24533 return 0;
24534 }
24535 break;
24536 }
24537 case AArch64::BLRAA:
24538 case AArch64::BLRAB:
24539 case AArch64::BRAA:
24540 case AArch64::BRAB: {
24541 switch (OpNum) {
24542 case 0:
24543 // op: Rn
24544 return 5;
24545 case 1:
24546 // op: Rm
24547 return 0;
24548 }
24549 break;
24550 }
24551 case AArch64::CCMNWr:
24552 case AArch64::CCMNXr:
24553 case AArch64::CCMPWr:
24554 case AArch64::CCMPXr:
24555 case AArch64::FCCMPDrr:
24556 case AArch64::FCCMPEDrr:
24557 case AArch64::FCCMPEHrr:
24558 case AArch64::FCCMPESrr:
24559 case AArch64::FCCMPHrr:
24560 case AArch64::FCCMPSrr: {
24561 switch (OpNum) {
24562 case 0:
24563 // op: Rn
24564 return 5;
24565 case 1:
24566 // op: Rm
24567 return 16;
24568 case 2:
24569 // op: nzcv
24570 return 0;
24571 case 3:
24572 // op: cond
24573 return 12;
24574 }
24575 break;
24576 }
24577 case AArch64::RMIF: {
24578 switch (OpNum) {
24579 case 0:
24580 // op: Rn
24581 return 5;
24582 case 1:
24583 // op: imm
24584 return 15;
24585 case 2:
24586 // op: mask
24587 return 0;
24588 }
24589 break;
24590 }
24591 case AArch64::CCMNWi:
24592 case AArch64::CCMNXi:
24593 case AArch64::CCMPWi:
24594 case AArch64::CCMPXi: {
24595 switch (OpNum) {
24596 case 0:
24597 // op: Rn
24598 return 5;
24599 case 1:
24600 // op: imm
24601 return 16;
24602 case 2:
24603 // op: nzcv
24604 return 0;
24605 case 3:
24606 // op: cond
24607 return 12;
24608 }
24609 break;
24610 }
24611 case AArch64::AUTIASPPCr:
24612 case AArch64::AUTIBSPPCr:
24613 case AArch64::BLR:
24614 case AArch64::BLRAAZ:
24615 case AArch64::BLRABZ:
24616 case AArch64::BR:
24617 case AArch64::BRAAZ:
24618 case AArch64::BRABZ:
24619 case AArch64::FCMPDri:
24620 case AArch64::FCMPEDri:
24621 case AArch64::FCMPEHri:
24622 case AArch64::FCMPESri:
24623 case AArch64::FCMPHri:
24624 case AArch64::FCMPSri:
24625 case AArch64::RET:
24626 case AArch64::SETF16:
24627 case AArch64::SETF8: {
24628 switch (OpNum) {
24629 case 0:
24630 // op: Rn
24631 return 5;
24632 }
24633 break;
24634 }
24635 case AArch64::STBFADD:
24636 case AArch64::STBFADDL:
24637 case AArch64::STBFMAX:
24638 case AArch64::STBFMAXL:
24639 case AArch64::STBFMAXNM:
24640 case AArch64::STBFMAXNML:
24641 case AArch64::STBFMIN:
24642 case AArch64::STBFMINL:
24643 case AArch64::STBFMINNM:
24644 case AArch64::STBFMINNML:
24645 case AArch64::STFADDD:
24646 case AArch64::STFADDH:
24647 case AArch64::STFADDLD:
24648 case AArch64::STFADDLH:
24649 case AArch64::STFADDLS:
24650 case AArch64::STFADDS:
24651 case AArch64::STFMAXD:
24652 case AArch64::STFMAXH:
24653 case AArch64::STFMAXLD:
24654 case AArch64::STFMAXLH:
24655 case AArch64::STFMAXLS:
24656 case AArch64::STFMAXNMD:
24657 case AArch64::STFMAXNMH:
24658 case AArch64::STFMAXNMLD:
24659 case AArch64::STFMAXNMLH:
24660 case AArch64::STFMAXNMLS:
24661 case AArch64::STFMAXNMS:
24662 case AArch64::STFMAXS:
24663 case AArch64::STFMIND:
24664 case AArch64::STFMINH:
24665 case AArch64::STFMINLD:
24666 case AArch64::STFMINLH:
24667 case AArch64::STFMINLS:
24668 case AArch64::STFMINNMD:
24669 case AArch64::STFMINNMH:
24670 case AArch64::STFMINNMLD:
24671 case AArch64::STFMINNMLH:
24672 case AArch64::STFMINNMLS:
24673 case AArch64::STFMINNMS:
24674 case AArch64::STFMINS: {
24675 switch (OpNum) {
24676 case 0:
24677 // op: Rs
24678 return 16;
24679 case 1:
24680 // op: Rn
24681 return 5;
24682 }
24683 break;
24684 }
24685 case AArch64::LDRBBroW:
24686 case AArch64::LDRBBroX:
24687 case AArch64::LDRBroW:
24688 case AArch64::LDRBroX:
24689 case AArch64::LDRDroW:
24690 case AArch64::LDRDroX:
24691 case AArch64::LDRHHroW:
24692 case AArch64::LDRHHroX:
24693 case AArch64::LDRHroW:
24694 case AArch64::LDRHroX:
24695 case AArch64::LDRQroW:
24696 case AArch64::LDRQroX:
24697 case AArch64::LDRSBWroW:
24698 case AArch64::LDRSBWroX:
24699 case AArch64::LDRSBXroW:
24700 case AArch64::LDRSBXroX:
24701 case AArch64::LDRSHWroW:
24702 case AArch64::LDRSHWroX:
24703 case AArch64::LDRSHXroW:
24704 case AArch64::LDRSHXroX:
24705 case AArch64::LDRSWroW:
24706 case AArch64::LDRSWroX:
24707 case AArch64::LDRSroW:
24708 case AArch64::LDRSroX:
24709 case AArch64::LDRWroW:
24710 case AArch64::LDRWroX:
24711 case AArch64::LDRXroW:
24712 case AArch64::LDRXroX:
24713 case AArch64::PRFMroW:
24714 case AArch64::PRFMroX:
24715 case AArch64::STRBBroW:
24716 case AArch64::STRBBroX:
24717 case AArch64::STRBroW:
24718 case AArch64::STRBroX:
24719 case AArch64::STRDroW:
24720 case AArch64::STRDroX:
24721 case AArch64::STRHHroW:
24722 case AArch64::STRHHroX:
24723 case AArch64::STRHroW:
24724 case AArch64::STRHroX:
24725 case AArch64::STRQroW:
24726 case AArch64::STRQroX:
24727 case AArch64::STRSroW:
24728 case AArch64::STRSroX:
24729 case AArch64::STRWroW:
24730 case AArch64::STRWroX:
24731 case AArch64::STRXroW:
24732 case AArch64::STRXroX: {
24733 switch (OpNum) {
24734 case 0:
24735 // op: Rt
24736 return 0;
24737 case 1:
24738 // op: Rn
24739 return 5;
24740 case 2:
24741 // op: Rm
24742 return 16;
24743 case 3:
24744 // op: extend
24745 return 12;
24746 }
24747 break;
24748 }
24749 case AArch64::LDRBBui:
24750 case AArch64::LDRBui:
24751 case AArch64::LDRDui:
24752 case AArch64::LDRHHui:
24753 case AArch64::LDRHui:
24754 case AArch64::LDRQui:
24755 case AArch64::LDRSBWui:
24756 case AArch64::LDRSBXui:
24757 case AArch64::LDRSHWui:
24758 case AArch64::LDRSHXui:
24759 case AArch64::LDRSWui:
24760 case AArch64::LDRSui:
24761 case AArch64::LDRWui:
24762 case AArch64::LDRXui:
24763 case AArch64::PRFMui:
24764 case AArch64::STRBBui:
24765 case AArch64::STRBui:
24766 case AArch64::STRDui:
24767 case AArch64::STRHHui:
24768 case AArch64::STRHui:
24769 case AArch64::STRQui:
24770 case AArch64::STRSui:
24771 case AArch64::STRWui:
24772 case AArch64::STRXui: {
24773 switch (OpNum) {
24774 case 0:
24775 // op: Rt
24776 return 0;
24777 case 1:
24778 // op: Rn
24779 return 5;
24780 case 2:
24781 // op: offset
24782 return 10;
24783 }
24784 break;
24785 }
24786 case AArch64::LDAPURBi:
24787 case AArch64::LDAPURHi:
24788 case AArch64::LDAPURSBWi:
24789 case AArch64::LDAPURSBXi:
24790 case AArch64::LDAPURSHWi:
24791 case AArch64::LDAPURSHXi:
24792 case AArch64::LDAPURSWi:
24793 case AArch64::LDAPURXi:
24794 case AArch64::LDAPURi:
24795 case AArch64::LDTRBi:
24796 case AArch64::LDTRHi:
24797 case AArch64::LDTRSBWi:
24798 case AArch64::LDTRSBXi:
24799 case AArch64::LDTRSHWi:
24800 case AArch64::LDTRSHXi:
24801 case AArch64::LDTRSWi:
24802 case AArch64::LDTRWi:
24803 case AArch64::LDTRXi:
24804 case AArch64::LDURBBi:
24805 case AArch64::LDURBi:
24806 case AArch64::LDURDi:
24807 case AArch64::LDURHHi:
24808 case AArch64::LDURHi:
24809 case AArch64::LDURQi:
24810 case AArch64::LDURSBWi:
24811 case AArch64::LDURSBXi:
24812 case AArch64::LDURSHWi:
24813 case AArch64::LDURSHXi:
24814 case AArch64::LDURSWi:
24815 case AArch64::LDURSi:
24816 case AArch64::LDURWi:
24817 case AArch64::LDURXi:
24818 case AArch64::PRFUMi:
24819 case AArch64::STLURBi:
24820 case AArch64::STLURHi:
24821 case AArch64::STLURWi:
24822 case AArch64::STLURXi:
24823 case AArch64::STTRBi:
24824 case AArch64::STTRHi:
24825 case AArch64::STTRWi:
24826 case AArch64::STTRXi:
24827 case AArch64::STURBBi:
24828 case AArch64::STURBi:
24829 case AArch64::STURDi:
24830 case AArch64::STURHHi:
24831 case AArch64::STURHi:
24832 case AArch64::STURQi:
24833 case AArch64::STURSi:
24834 case AArch64::STURWi:
24835 case AArch64::STURXi: {
24836 switch (OpNum) {
24837 case 0:
24838 // op: Rt
24839 return 0;
24840 case 1:
24841 // op: Rn
24842 return 5;
24843 case 2:
24844 // op: offset
24845 return 12;
24846 }
24847 break;
24848 }
24849 case AArch64::LDAPURbi:
24850 case AArch64::LDAPURdi:
24851 case AArch64::LDAPURhi:
24852 case AArch64::LDAPURqi:
24853 case AArch64::LDAPURsi:
24854 case AArch64::STLURbi:
24855 case AArch64::STLURdi:
24856 case AArch64::STLURhi:
24857 case AArch64::STLURqi:
24858 case AArch64::STLURsi: {
24859 switch (OpNum) {
24860 case 0:
24861 // op: Rt
24862 return 0;
24863 case 1:
24864 // op: Rn
24865 return 5;
24866 case 2:
24867 // op: simm
24868 return 12;
24869 }
24870 break;
24871 }
24872 case AArch64::GCSSTR:
24873 case AArch64::GCSSTTR:
24874 case AArch64::LD64B:
24875 case AArch64::LDARB:
24876 case AArch64::LDARH:
24877 case AArch64::LDARW:
24878 case AArch64::LDARX:
24879 case AArch64::LDATXRW:
24880 case AArch64::LDATXRX:
24881 case AArch64::LDAXRB:
24882 case AArch64::LDAXRH:
24883 case AArch64::LDAXRW:
24884 case AArch64::LDAXRX:
24885 case AArch64::LDLARB:
24886 case AArch64::LDLARH:
24887 case AArch64::LDLARW:
24888 case AArch64::LDLARX:
24889 case AArch64::LDTXRWr:
24890 case AArch64::LDTXRXr:
24891 case AArch64::LDXRB:
24892 case AArch64::LDXRH:
24893 case AArch64::LDXRW:
24894 case AArch64::LDXRX:
24895 case AArch64::ST64B:
24896 case AArch64::STLLRB:
24897 case AArch64::STLLRH:
24898 case AArch64::STLLRW:
24899 case AArch64::STLLRX:
24900 case AArch64::STLRB:
24901 case AArch64::STLRH:
24902 case AArch64::STLRW:
24903 case AArch64::STLRX: {
24904 switch (OpNum) {
24905 case 0:
24906 // op: Rt
24907 return 0;
24908 case 1:
24909 // op: Rn
24910 return 5;
24911 }
24912 break;
24913 }
24914 case AArch64::LDBFADD:
24915 case AArch64::LDBFADDA:
24916 case AArch64::LDBFADDAL:
24917 case AArch64::LDBFADDL:
24918 case AArch64::LDBFMAX:
24919 case AArch64::LDBFMAXA:
24920 case AArch64::LDBFMAXAL:
24921 case AArch64::LDBFMAXL:
24922 case AArch64::LDBFMAXNM:
24923 case AArch64::LDBFMAXNMA:
24924 case AArch64::LDBFMAXNMAL:
24925 case AArch64::LDBFMAXNML:
24926 case AArch64::LDBFMIN:
24927 case AArch64::LDBFMINA:
24928 case AArch64::LDBFMINAL:
24929 case AArch64::LDBFMINL:
24930 case AArch64::LDBFMINNM:
24931 case AArch64::LDBFMINNMA:
24932 case AArch64::LDBFMINNMAL:
24933 case AArch64::LDBFMINNML:
24934 case AArch64::LDFADDAD:
24935 case AArch64::LDFADDAH:
24936 case AArch64::LDFADDALD:
24937 case AArch64::LDFADDALH:
24938 case AArch64::LDFADDALS:
24939 case AArch64::LDFADDAS:
24940 case AArch64::LDFADDD:
24941 case AArch64::LDFADDH:
24942 case AArch64::LDFADDLD:
24943 case AArch64::LDFADDLH:
24944 case AArch64::LDFADDLS:
24945 case AArch64::LDFADDS:
24946 case AArch64::LDFMAXAD:
24947 case AArch64::LDFMAXAH:
24948 case AArch64::LDFMAXALD:
24949 case AArch64::LDFMAXALH:
24950 case AArch64::LDFMAXALS:
24951 case AArch64::LDFMAXAS:
24952 case AArch64::LDFMAXD:
24953 case AArch64::LDFMAXH:
24954 case AArch64::LDFMAXLD:
24955 case AArch64::LDFMAXLH:
24956 case AArch64::LDFMAXLS:
24957 case AArch64::LDFMAXNMAD:
24958 case AArch64::LDFMAXNMAH:
24959 case AArch64::LDFMAXNMALD:
24960 case AArch64::LDFMAXNMALH:
24961 case AArch64::LDFMAXNMALS:
24962 case AArch64::LDFMAXNMAS:
24963 case AArch64::LDFMAXNMD:
24964 case AArch64::LDFMAXNMH:
24965 case AArch64::LDFMAXNMLD:
24966 case AArch64::LDFMAXNMLH:
24967 case AArch64::LDFMAXNMLS:
24968 case AArch64::LDFMAXNMS:
24969 case AArch64::LDFMAXS:
24970 case AArch64::LDFMINAD:
24971 case AArch64::LDFMINAH:
24972 case AArch64::LDFMINALD:
24973 case AArch64::LDFMINALH:
24974 case AArch64::LDFMINALS:
24975 case AArch64::LDFMINAS:
24976 case AArch64::LDFMIND:
24977 case AArch64::LDFMINH:
24978 case AArch64::LDFMINLD:
24979 case AArch64::LDFMINLH:
24980 case AArch64::LDFMINLS:
24981 case AArch64::LDFMINNMAD:
24982 case AArch64::LDFMINNMAH:
24983 case AArch64::LDFMINNMALD:
24984 case AArch64::LDFMINNMALH:
24985 case AArch64::LDFMINNMALS:
24986 case AArch64::LDFMINNMAS:
24987 case AArch64::LDFMINNMD:
24988 case AArch64::LDFMINNMH:
24989 case AArch64::LDFMINNMLD:
24990 case AArch64::LDFMINNMLH:
24991 case AArch64::LDFMINNMLS:
24992 case AArch64::LDFMINNMS:
24993 case AArch64::LDFMINS: {
24994 switch (OpNum) {
24995 case 0:
24996 // op: Rt
24997 return 0;
24998 case 1:
24999 // op: Rs
25000 return 16;
25001 case 2:
25002 // op: Rn
25003 return 5;
25004 }
25005 break;
25006 }
25007 case AArch64::LDNPDi:
25008 case AArch64::LDNPQi:
25009 case AArch64::LDNPSi:
25010 case AArch64::LDNPWi:
25011 case AArch64::LDNPXi:
25012 case AArch64::LDPDi:
25013 case AArch64::LDPQi:
25014 case AArch64::LDPSWi:
25015 case AArch64::LDPSi:
25016 case AArch64::LDPWi:
25017 case AArch64::LDPXi:
25018 case AArch64::LDTNPQi:
25019 case AArch64::LDTNPXi:
25020 case AArch64::LDTPQi:
25021 case AArch64::LDTPi:
25022 case AArch64::STGPi:
25023 case AArch64::STNPDi:
25024 case AArch64::STNPQi:
25025 case AArch64::STNPSi:
25026 case AArch64::STNPWi:
25027 case AArch64::STNPXi:
25028 case AArch64::STPDi:
25029 case AArch64::STPQi:
25030 case AArch64::STPSi:
25031 case AArch64::STPWi:
25032 case AArch64::STPXi:
25033 case AArch64::STTNPQi:
25034 case AArch64::STTNPXi:
25035 case AArch64::STTPQi:
25036 case AArch64::STTPi: {
25037 switch (OpNum) {
25038 case 0:
25039 // op: Rt
25040 return 0;
25041 case 1:
25042 // op: Rt2
25043 return 10;
25044 case 2:
25045 // op: Rn
25046 return 5;
25047 case 3:
25048 // op: offset
25049 return 15;
25050 }
25051 break;
25052 }
25053 case AArch64::LDAXPW:
25054 case AArch64::LDAXPX:
25055 case AArch64::LDXPW:
25056 case AArch64::LDXPX: {
25057 switch (OpNum) {
25058 case 0:
25059 // op: Rt
25060 return 0;
25061 case 1:
25062 // op: Rt2
25063 return 10;
25064 case 2:
25065 // op: Rn
25066 return 5;
25067 }
25068 break;
25069 }
25070 case AArch64::LDAPPi:
25071 case AArch64::LDAPi:
25072 case AArch64::STLPi: {
25073 switch (OpNum) {
25074 case 0:
25075 // op: Rt
25076 return 0;
25077 case 1:
25078 // op: Rt2
25079 return 16;
25080 case 2:
25081 // op: Rn
25082 return 5;
25083 }
25084 break;
25085 }
25086 case AArch64::TBNZW:
25087 case AArch64::TBNZX:
25088 case AArch64::TBZW:
25089 case AArch64::TBZX: {
25090 switch (OpNum) {
25091 case 0:
25092 // op: Rt
25093 return 0;
25094 case 1:
25095 // op: bit_off
25096 return 19;
25097 case 2:
25098 // op: target
25099 return 5;
25100 }
25101 break;
25102 }
25103 case AArch64::CBEQWri:
25104 case AArch64::CBEQXri:
25105 case AArch64::CBGTWri:
25106 case AArch64::CBGTXri:
25107 case AArch64::CBHIWri:
25108 case AArch64::CBHIXri:
25109 case AArch64::CBLOWri:
25110 case AArch64::CBLOXri:
25111 case AArch64::CBLTWri:
25112 case AArch64::CBLTXri:
25113 case AArch64::CBNEWri:
25114 case AArch64::CBNEXri: {
25115 switch (OpNum) {
25116 case 0:
25117 // op: Rt
25118 return 0;
25119 case 1:
25120 // op: imm
25121 return 15;
25122 case 2:
25123 // op: target
25124 return 5;
25125 }
25126 break;
25127 }
25128 case AArch64::LDRDl:
25129 case AArch64::LDRQl:
25130 case AArch64::LDRSWl:
25131 case AArch64::LDRSl:
25132 case AArch64::LDRWl:
25133 case AArch64::LDRXl:
25134 case AArch64::PRFMl: {
25135 switch (OpNum) {
25136 case 0:
25137 // op: Rt
25138 return 0;
25139 case 1:
25140 // op: label
25141 return 5;
25142 }
25143 break;
25144 }
25145 case AArch64::SYSLxt: {
25146 switch (OpNum) {
25147 case 0:
25148 // op: Rt
25149 return 0;
25150 case 1:
25151 // op: op1
25152 return 16;
25153 case 2:
25154 // op: Cn
25155 return 12;
25156 case 3:
25157 // op: Cm
25158 return 8;
25159 case 4:
25160 // op: op2
25161 return 5;
25162 }
25163 break;
25164 }
25165 case AArch64::MRRS:
25166 case AArch64::MRS: {
25167 switch (OpNum) {
25168 case 0:
25169 // op: Rt
25170 return 0;
25171 case 1:
25172 // op: systemreg
25173 return 5;
25174 }
25175 break;
25176 }
25177 case AArch64::CBNZW:
25178 case AArch64::CBNZX:
25179 case AArch64::CBZW:
25180 case AArch64::CBZX: {
25181 switch (OpNum) {
25182 case 0:
25183 // op: Rt
25184 return 0;
25185 case 1:
25186 // op: target
25187 return 5;
25188 }
25189 break;
25190 }
25191 case AArch64::RPRFM: {
25192 switch (OpNum) {
25193 case 0:
25194 // op: Rt
25195 return 0;
25196 case 2:
25197 // op: Rn
25198 return 5;
25199 case 1:
25200 // op: Rm
25201 return 16;
25202 }
25203 break;
25204 }
25205 case AArch64::LDIAPPW:
25206 case AArch64::LDIAPPX:
25207 case AArch64::STILPW:
25208 case AArch64::STILPX: {
25209 switch (OpNum) {
25210 case 0:
25211 // op: Rt
25212 return 0;
25213 case 2:
25214 // op: Rn
25215 return 5;
25216 case 1:
25217 // op: Rt2
25218 return 16;
25219 }
25220 break;
25221 }
25222 case AArch64::GCSPOPM:
25223 case AArch64::GCSPUSHM:
25224 case AArch64::GCSSS1:
25225 case AArch64::GCSSS2:
25226 case AArch64::TRCIT:
25227 case AArch64::WFET:
25228 case AArch64::WFIT: {
25229 switch (OpNum) {
25230 case 0:
25231 // op: Rt
25232 return 0;
25233 }
25234 break;
25235 }
25236 case AArch64::BCAX:
25237 case AArch64::EOR3:
25238 case AArch64::SM3SS1: {
25239 switch (OpNum) {
25240 case 0:
25241 // op: Vd
25242 return 0;
25243 case 1:
25244 // op: Vn
25245 return 5;
25246 case 2:
25247 // op: Vm
25248 return 16;
25249 case 3:
25250 // op: Va
25251 return 10;
25252 }
25253 break;
25254 }
25255 case AArch64::RAX1:
25256 case AArch64::SM4ENCKEY:
25257 case AArch64::TBLv16i8Four:
25258 case AArch64::TBLv16i8One:
25259 case AArch64::TBLv16i8Three:
25260 case AArch64::TBLv16i8Two:
25261 case AArch64::TBLv8i8Four:
25262 case AArch64::TBLv8i8One:
25263 case AArch64::TBLv8i8Three:
25264 case AArch64::TBLv8i8Two: {
25265 switch (OpNum) {
25266 case 0:
25267 // op: Vd
25268 return 0;
25269 case 1:
25270 // op: Vn
25271 return 5;
25272 case 2:
25273 // op: Vm
25274 return 16;
25275 }
25276 break;
25277 }
25278 case AArch64::XAR: {
25279 switch (OpNum) {
25280 case 0:
25281 // op: Vd
25282 return 0;
25283 case 1:
25284 // op: Vn
25285 return 5;
25286 case 3:
25287 // op: imm
25288 return 10;
25289 case 2:
25290 // op: Vm
25291 return 16;
25292 }
25293 break;
25294 }
25295 case AArch64::ADDQV_VPZ_B:
25296 case AArch64::ADDQV_VPZ_D:
25297 case AArch64::ADDQV_VPZ_H:
25298 case AArch64::ADDQV_VPZ_S:
25299 case AArch64::ANDQV_VPZ_B:
25300 case AArch64::ANDQV_VPZ_D:
25301 case AArch64::ANDQV_VPZ_H:
25302 case AArch64::ANDQV_VPZ_S:
25303 case AArch64::EORQV_VPZ_B:
25304 case AArch64::EORQV_VPZ_D:
25305 case AArch64::EORQV_VPZ_H:
25306 case AArch64::EORQV_VPZ_S:
25307 case AArch64::FADDQV_D:
25308 case AArch64::FADDQV_H:
25309 case AArch64::FADDQV_S:
25310 case AArch64::FMAXNMQV_D:
25311 case AArch64::FMAXNMQV_H:
25312 case AArch64::FMAXNMQV_S:
25313 case AArch64::FMAXQV_D:
25314 case AArch64::FMAXQV_H:
25315 case AArch64::FMAXQV_S:
25316 case AArch64::FMINNMQV_D:
25317 case AArch64::FMINNMQV_H:
25318 case AArch64::FMINNMQV_S:
25319 case AArch64::FMINQV_D:
25320 case AArch64::FMINQV_H:
25321 case AArch64::FMINQV_S:
25322 case AArch64::ORQV_VPZ_B:
25323 case AArch64::ORQV_VPZ_D:
25324 case AArch64::ORQV_VPZ_H:
25325 case AArch64::ORQV_VPZ_S:
25326 case AArch64::SMAXQV_VPZ_B:
25327 case AArch64::SMAXQV_VPZ_D:
25328 case AArch64::SMAXQV_VPZ_H:
25329 case AArch64::SMAXQV_VPZ_S:
25330 case AArch64::SMINQV_VPZ_B:
25331 case AArch64::SMINQV_VPZ_D:
25332 case AArch64::SMINQV_VPZ_H:
25333 case AArch64::SMINQV_VPZ_S:
25334 case AArch64::UMAXQV_VPZ_B:
25335 case AArch64::UMAXQV_VPZ_D:
25336 case AArch64::UMAXQV_VPZ_H:
25337 case AArch64::UMAXQV_VPZ_S:
25338 case AArch64::UMINQV_VPZ_B:
25339 case AArch64::UMINQV_VPZ_D:
25340 case AArch64::UMINQV_VPZ_H:
25341 case AArch64::UMINQV_VPZ_S: {
25342 switch (OpNum) {
25343 case 0:
25344 // op: Vd
25345 return 0;
25346 case 2:
25347 // op: Zn
25348 return 5;
25349 case 1:
25350 // op: Pg
25351 return 10;
25352 }
25353 break;
25354 }
25355 case AArch64::LD1Fourv16b:
25356 case AArch64::LD1Fourv1d:
25357 case AArch64::LD1Fourv2d:
25358 case AArch64::LD1Fourv2s:
25359 case AArch64::LD1Fourv4h:
25360 case AArch64::LD1Fourv4s:
25361 case AArch64::LD1Fourv8b:
25362 case AArch64::LD1Fourv8h:
25363 case AArch64::LD1Onev16b:
25364 case AArch64::LD1Onev1d:
25365 case AArch64::LD1Onev2d:
25366 case AArch64::LD1Onev2s:
25367 case AArch64::LD1Onev4h:
25368 case AArch64::LD1Onev4s:
25369 case AArch64::LD1Onev8b:
25370 case AArch64::LD1Onev8h:
25371 case AArch64::LD1Rv16b:
25372 case AArch64::LD1Rv1d:
25373 case AArch64::LD1Rv2d:
25374 case AArch64::LD1Rv2s:
25375 case AArch64::LD1Rv4h:
25376 case AArch64::LD1Rv4s:
25377 case AArch64::LD1Rv8b:
25378 case AArch64::LD1Rv8h:
25379 case AArch64::LD1Threev16b:
25380 case AArch64::LD1Threev1d:
25381 case AArch64::LD1Threev2d:
25382 case AArch64::LD1Threev2s:
25383 case AArch64::LD1Threev4h:
25384 case AArch64::LD1Threev4s:
25385 case AArch64::LD1Threev8b:
25386 case AArch64::LD1Threev8h:
25387 case AArch64::LD1Twov16b:
25388 case AArch64::LD1Twov1d:
25389 case AArch64::LD1Twov2d:
25390 case AArch64::LD1Twov2s:
25391 case AArch64::LD1Twov4h:
25392 case AArch64::LD1Twov4s:
25393 case AArch64::LD1Twov8b:
25394 case AArch64::LD1Twov8h:
25395 case AArch64::LD2Rv16b:
25396 case AArch64::LD2Rv1d:
25397 case AArch64::LD2Rv2d:
25398 case AArch64::LD2Rv2s:
25399 case AArch64::LD2Rv4h:
25400 case AArch64::LD2Rv4s:
25401 case AArch64::LD2Rv8b:
25402 case AArch64::LD2Rv8h:
25403 case AArch64::LD2Twov16b:
25404 case AArch64::LD2Twov2d:
25405 case AArch64::LD2Twov2s:
25406 case AArch64::LD2Twov4h:
25407 case AArch64::LD2Twov4s:
25408 case AArch64::LD2Twov8b:
25409 case AArch64::LD2Twov8h:
25410 case AArch64::LD3Rv16b:
25411 case AArch64::LD3Rv1d:
25412 case AArch64::LD3Rv2d:
25413 case AArch64::LD3Rv2s:
25414 case AArch64::LD3Rv4h:
25415 case AArch64::LD3Rv4s:
25416 case AArch64::LD3Rv8b:
25417 case AArch64::LD3Rv8h:
25418 case AArch64::LD3Threev16b:
25419 case AArch64::LD3Threev2d:
25420 case AArch64::LD3Threev2s:
25421 case AArch64::LD3Threev4h:
25422 case AArch64::LD3Threev4s:
25423 case AArch64::LD3Threev8b:
25424 case AArch64::LD3Threev8h:
25425 case AArch64::LD4Fourv16b:
25426 case AArch64::LD4Fourv2d:
25427 case AArch64::LD4Fourv2s:
25428 case AArch64::LD4Fourv4h:
25429 case AArch64::LD4Fourv4s:
25430 case AArch64::LD4Fourv8b:
25431 case AArch64::LD4Fourv8h:
25432 case AArch64::LD4Rv16b:
25433 case AArch64::LD4Rv1d:
25434 case AArch64::LD4Rv2d:
25435 case AArch64::LD4Rv2s:
25436 case AArch64::LD4Rv4h:
25437 case AArch64::LD4Rv4s:
25438 case AArch64::LD4Rv8b:
25439 case AArch64::LD4Rv8h:
25440 case AArch64::ST1Fourv16b:
25441 case AArch64::ST1Fourv1d:
25442 case AArch64::ST1Fourv2d:
25443 case AArch64::ST1Fourv2s:
25444 case AArch64::ST1Fourv4h:
25445 case AArch64::ST1Fourv4s:
25446 case AArch64::ST1Fourv8b:
25447 case AArch64::ST1Fourv8h:
25448 case AArch64::ST1Onev16b:
25449 case AArch64::ST1Onev1d:
25450 case AArch64::ST1Onev2d:
25451 case AArch64::ST1Onev2s:
25452 case AArch64::ST1Onev4h:
25453 case AArch64::ST1Onev4s:
25454 case AArch64::ST1Onev8b:
25455 case AArch64::ST1Onev8h:
25456 case AArch64::ST1Threev16b:
25457 case AArch64::ST1Threev1d:
25458 case AArch64::ST1Threev2d:
25459 case AArch64::ST1Threev2s:
25460 case AArch64::ST1Threev4h:
25461 case AArch64::ST1Threev4s:
25462 case AArch64::ST1Threev8b:
25463 case AArch64::ST1Threev8h:
25464 case AArch64::ST1Twov16b:
25465 case AArch64::ST1Twov1d:
25466 case AArch64::ST1Twov2d:
25467 case AArch64::ST1Twov2s:
25468 case AArch64::ST1Twov4h:
25469 case AArch64::ST1Twov4s:
25470 case AArch64::ST1Twov8b:
25471 case AArch64::ST1Twov8h:
25472 case AArch64::ST2Twov16b:
25473 case AArch64::ST2Twov2d:
25474 case AArch64::ST2Twov2s:
25475 case AArch64::ST2Twov4h:
25476 case AArch64::ST2Twov4s:
25477 case AArch64::ST2Twov8b:
25478 case AArch64::ST2Twov8h:
25479 case AArch64::ST3Threev16b:
25480 case AArch64::ST3Threev2d:
25481 case AArch64::ST3Threev2s:
25482 case AArch64::ST3Threev4h:
25483 case AArch64::ST3Threev4s:
25484 case AArch64::ST3Threev8b:
25485 case AArch64::ST3Threev8h:
25486 case AArch64::ST4Fourv16b:
25487 case AArch64::ST4Fourv2d:
25488 case AArch64::ST4Fourv2s:
25489 case AArch64::ST4Fourv4h:
25490 case AArch64::ST4Fourv4s:
25491 case AArch64::ST4Fourv8b:
25492 case AArch64::ST4Fourv8h: {
25493 switch (OpNum) {
25494 case 0:
25495 // op: Vt
25496 return 0;
25497 case 1:
25498 // op: Rn
25499 return 5;
25500 }
25501 break;
25502 }
25503 case AArch64::STL1: {
25504 switch (OpNum) {
25505 case 0:
25506 // op: Vt
25507 return 0;
25508 case 2:
25509 // op: Rn
25510 return 5;
25511 case 1:
25512 // op: Q
25513 return 30;
25514 }
25515 break;
25516 }
25517 case AArch64::ST1i8:
25518 case AArch64::ST2i8:
25519 case AArch64::ST3i8:
25520 case AArch64::ST4i8: {
25521 switch (OpNum) {
25522 case 0:
25523 // op: Vt
25524 return 0;
25525 case 2:
25526 // op: Rn
25527 return 5;
25528 case 1:
25529 // op: idx
25530 return 10;
25531 }
25532 break;
25533 }
25534 case AArch64::ST1i16:
25535 case AArch64::ST2i16:
25536 case AArch64::ST3i16:
25537 case AArch64::ST4i16: {
25538 switch (OpNum) {
25539 case 0:
25540 // op: Vt
25541 return 0;
25542 case 2:
25543 // op: Rn
25544 return 5;
25545 case 1:
25546 // op: idx
25547 return 11;
25548 }
25549 break;
25550 }
25551 case AArch64::ST1i32:
25552 case AArch64::ST2i32:
25553 case AArch64::ST3i32:
25554 case AArch64::ST4i32: {
25555 switch (OpNum) {
25556 case 0:
25557 // op: Vt
25558 return 0;
25559 case 2:
25560 // op: Rn
25561 return 5;
25562 case 1:
25563 // op: idx
25564 return 12;
25565 }
25566 break;
25567 }
25568 case AArch64::ST1i64:
25569 case AArch64::ST2i64:
25570 case AArch64::ST3i64:
25571 case AArch64::ST4i64: {
25572 switch (OpNum) {
25573 case 0:
25574 // op: Vt
25575 return 0;
25576 case 2:
25577 // op: Rn
25578 return 5;
25579 case 1:
25580 // op: idx
25581 return 30;
25582 }
25583 break;
25584 }
25585 case AArch64::STLTXRW:
25586 case AArch64::STLTXRX:
25587 case AArch64::STLXRB:
25588 case AArch64::STLXRH:
25589 case AArch64::STLXRW:
25590 case AArch64::STLXRX:
25591 case AArch64::STXRB:
25592 case AArch64::STXRH:
25593 case AArch64::STXRW:
25594 case AArch64::STXRX: {
25595 switch (OpNum) {
25596 case 0:
25597 // op: Ws
25598 return 16;
25599 case 1:
25600 // op: Rt
25601 return 0;
25602 case 2:
25603 // op: Rn
25604 return 5;
25605 }
25606 break;
25607 }
25608 case AArch64::STLXPW:
25609 case AArch64::STLXPX:
25610 case AArch64::STXPW:
25611 case AArch64::STXPX: {
25612 switch (OpNum) {
25613 case 0:
25614 // op: Ws
25615 return 16;
25616 case 1:
25617 // op: Rt
25618 return 0;
25619 case 2:
25620 // op: Rt2
25621 return 10;
25622 case 3:
25623 // op: Rn
25624 return 5;
25625 }
25626 break;
25627 }
25628 case AArch64::TCHANGEBrr:
25629 case AArch64::TCHANGEFrr: {
25630 switch (OpNum) {
25631 case 0:
25632 // op: Xd
25633 return 0;
25634 case 1:
25635 // op: Xn
25636 return 5;
25637 case 2:
25638 // op: nb
25639 return 17;
25640 }
25641 break;
25642 }
25643 case AArch64::TCHANGEBri:
25644 case AArch64::TCHANGEFri: {
25645 switch (OpNum) {
25646 case 0:
25647 // op: Xd
25648 return 0;
25649 case 1:
25650 // op: imm
25651 return 5;
25652 case 2:
25653 // op: nb
25654 return 17;
25655 }
25656 break;
25657 }
25658 case AArch64::ADR:
25659 case AArch64::ADRP: {
25660 switch (OpNum) {
25661 case 0:
25662 // op: Xd
25663 return 0;
25664 case 1:
25665 // op: label
25666 return 5;
25667 }
25668 break;
25669 }
25670 case AArch64::APAS: {
25671 switch (OpNum) {
25672 case 0:
25673 // op: Xt
25674 return 0;
25675 }
25676 break;
25677 }
25678 case AArch64::BFTMOPA_M2ZZZI_HtoH:
25679 case AArch64::BFTMOPA_M2ZZZI_HtoS:
25680 case AArch64::FTMOPA_M2ZZZI_BtoH:
25681 case AArch64::FTMOPA_M2ZZZI_BtoS:
25682 case AArch64::FTMOPA_M2ZZZI_HtoH:
25683 case AArch64::FTMOPA_M2ZZZI_HtoS:
25684 case AArch64::FTMOPA_M2ZZZI_StoS:
25685 case AArch64::STMOPA_M2ZZZI_BtoS:
25686 case AArch64::STMOPA_M2ZZZI_HtoS:
25687 case AArch64::SUTMOPA_M2ZZZI_BtoS:
25688 case AArch64::USTMOPA_M2ZZZI_BtoS:
25689 case AArch64::UTMOPA_M2ZZZI_BtoS:
25690 case AArch64::UTMOPA_M2ZZZI_HtoS: {
25691 switch (OpNum) {
25692 case 0:
25693 // op: ZAda
25694 return 0;
25695 case 2:
25696 // op: Zn
25697 return 6;
25698 case 3:
25699 // op: Zm
25700 return 16;
25701 case 4:
25702 // op: Zk
25703 return 10;
25704 case 5:
25705 // op: imm
25706 return 4;
25707 }
25708 break;
25709 }
25710 case AArch64::BFMOP4A_M2Z2Z_H:
25711 case AArch64::BFMOP4A_M2Z2Z_S:
25712 case AArch64::BFMOP4A_M2ZZ_H:
25713 case AArch64::BFMOP4A_M2ZZ_S:
25714 case AArch64::BFMOP4A_MZ2Z_H:
25715 case AArch64::BFMOP4A_MZ2Z_S:
25716 case AArch64::BFMOP4A_MZZ_H:
25717 case AArch64::BFMOP4A_MZZ_S:
25718 case AArch64::BFMOP4S_M2Z2Z_H:
25719 case AArch64::BFMOP4S_M2Z2Z_S:
25720 case AArch64::BFMOP4S_M2ZZ_H:
25721 case AArch64::BFMOP4S_M2ZZ_S:
25722 case AArch64::BFMOP4S_MZ2Z_H:
25723 case AArch64::BFMOP4S_MZ2Z_S:
25724 case AArch64::BFMOP4S_MZZ_H:
25725 case AArch64::BFMOP4S_MZZ_S:
25726 case AArch64::FMOP4A_M2Z2Z_BtoH:
25727 case AArch64::FMOP4A_M2Z2Z_BtoS:
25728 case AArch64::FMOP4A_M2Z2Z_D:
25729 case AArch64::FMOP4A_M2Z2Z_H:
25730 case AArch64::FMOP4A_M2Z2Z_HtoS:
25731 case AArch64::FMOP4A_M2Z2Z_S:
25732 case AArch64::FMOP4A_M2ZZ_BtoH:
25733 case AArch64::FMOP4A_M2ZZ_BtoS:
25734 case AArch64::FMOP4A_M2ZZ_D:
25735 case AArch64::FMOP4A_M2ZZ_H:
25736 case AArch64::FMOP4A_M2ZZ_HtoS:
25737 case AArch64::FMOP4A_M2ZZ_S:
25738 case AArch64::FMOP4A_MZ2Z_BtoH:
25739 case AArch64::FMOP4A_MZ2Z_BtoS:
25740 case AArch64::FMOP4A_MZ2Z_D:
25741 case AArch64::FMOP4A_MZ2Z_H:
25742 case AArch64::FMOP4A_MZ2Z_HtoS:
25743 case AArch64::FMOP4A_MZ2Z_S:
25744 case AArch64::FMOP4A_MZZ_BtoH:
25745 case AArch64::FMOP4A_MZZ_BtoS:
25746 case AArch64::FMOP4A_MZZ_D:
25747 case AArch64::FMOP4A_MZZ_H:
25748 case AArch64::FMOP4A_MZZ_HtoS:
25749 case AArch64::FMOP4A_MZZ_S:
25750 case AArch64::FMOP4S_M2Z2Z_D:
25751 case AArch64::FMOP4S_M2Z2Z_H:
25752 case AArch64::FMOP4S_M2Z2Z_HtoS:
25753 case AArch64::FMOP4S_M2Z2Z_S:
25754 case AArch64::FMOP4S_M2ZZ_D:
25755 case AArch64::FMOP4S_M2ZZ_H:
25756 case AArch64::FMOP4S_M2ZZ_HtoS:
25757 case AArch64::FMOP4S_M2ZZ_S:
25758 case AArch64::FMOP4S_MZ2Z_D:
25759 case AArch64::FMOP4S_MZ2Z_H:
25760 case AArch64::FMOP4S_MZ2Z_HtoS:
25761 case AArch64::FMOP4S_MZ2Z_S:
25762 case AArch64::FMOP4S_MZZ_D:
25763 case AArch64::FMOP4S_MZZ_H:
25764 case AArch64::FMOP4S_MZZ_HtoS:
25765 case AArch64::FMOP4S_MZZ_S:
25766 case AArch64::SMOP4A_M2Z2Z_BToS:
25767 case AArch64::SMOP4A_M2Z2Z_HToS:
25768 case AArch64::SMOP4A_M2Z2Z_HtoD:
25769 case AArch64::SMOP4A_M2ZZ_BToS:
25770 case AArch64::SMOP4A_M2ZZ_HToS:
25771 case AArch64::SMOP4A_M2ZZ_HtoD:
25772 case AArch64::SMOP4A_MZ2Z_BToS:
25773 case AArch64::SMOP4A_MZ2Z_HToS:
25774 case AArch64::SMOP4A_MZ2Z_HtoD:
25775 case AArch64::SMOP4A_MZZ_BToS:
25776 case AArch64::SMOP4A_MZZ_HToS:
25777 case AArch64::SMOP4A_MZZ_HtoD:
25778 case AArch64::SMOP4S_M2Z2Z_BToS:
25779 case AArch64::SMOP4S_M2Z2Z_HToS:
25780 case AArch64::SMOP4S_M2Z2Z_HtoD:
25781 case AArch64::SMOP4S_M2ZZ_BToS:
25782 case AArch64::SMOP4S_M2ZZ_HToS:
25783 case AArch64::SMOP4S_M2ZZ_HtoD:
25784 case AArch64::SMOP4S_MZ2Z_BToS:
25785 case AArch64::SMOP4S_MZ2Z_HToS:
25786 case AArch64::SMOP4S_MZ2Z_HtoD:
25787 case AArch64::SMOP4S_MZZ_BToS:
25788 case AArch64::SMOP4S_MZZ_HToS:
25789 case AArch64::SMOP4S_MZZ_HtoD:
25790 case AArch64::SUMOP4A_M2Z2Z_BToS:
25791 case AArch64::SUMOP4A_M2Z2Z_HtoD:
25792 case AArch64::SUMOP4A_M2ZZ_BToS:
25793 case AArch64::SUMOP4A_M2ZZ_HtoD:
25794 case AArch64::SUMOP4A_MZ2Z_BToS:
25795 case AArch64::SUMOP4A_MZ2Z_HtoD:
25796 case AArch64::SUMOP4A_MZZ_BToS:
25797 case AArch64::SUMOP4A_MZZ_HtoD:
25798 case AArch64::SUMOP4S_M2Z2Z_BToS:
25799 case AArch64::SUMOP4S_M2Z2Z_HtoD:
25800 case AArch64::SUMOP4S_M2ZZ_BToS:
25801 case AArch64::SUMOP4S_M2ZZ_HtoD:
25802 case AArch64::SUMOP4S_MZ2Z_BToS:
25803 case AArch64::SUMOP4S_MZ2Z_HtoD:
25804 case AArch64::SUMOP4S_MZZ_BToS:
25805 case AArch64::SUMOP4S_MZZ_HtoD:
25806 case AArch64::UMOP4A_M2Z2Z_BToS:
25807 case AArch64::UMOP4A_M2Z2Z_HToS:
25808 case AArch64::UMOP4A_M2Z2Z_HtoD:
25809 case AArch64::UMOP4A_M2ZZ_BToS:
25810 case AArch64::UMOP4A_M2ZZ_HToS:
25811 case AArch64::UMOP4A_M2ZZ_HtoD:
25812 case AArch64::UMOP4A_MZ2Z_BToS:
25813 case AArch64::UMOP4A_MZ2Z_HToS:
25814 case AArch64::UMOP4A_MZ2Z_HtoD:
25815 case AArch64::UMOP4A_MZZ_BToS:
25816 case AArch64::UMOP4A_MZZ_HToS:
25817 case AArch64::UMOP4A_MZZ_HtoD:
25818 case AArch64::UMOP4S_M2Z2Z_BToS:
25819 case AArch64::UMOP4S_M2Z2Z_HToS:
25820 case AArch64::UMOP4S_M2Z2Z_HtoD:
25821 case AArch64::UMOP4S_M2ZZ_BToS:
25822 case AArch64::UMOP4S_M2ZZ_HToS:
25823 case AArch64::UMOP4S_M2ZZ_HtoD:
25824 case AArch64::UMOP4S_MZ2Z_BToS:
25825 case AArch64::UMOP4S_MZ2Z_HToS:
25826 case AArch64::UMOP4S_MZ2Z_HtoD:
25827 case AArch64::UMOP4S_MZZ_BToS:
25828 case AArch64::UMOP4S_MZZ_HToS:
25829 case AArch64::UMOP4S_MZZ_HtoD:
25830 case AArch64::USMOP4A_M2Z2Z_BToS:
25831 case AArch64::USMOP4A_M2Z2Z_HtoD:
25832 case AArch64::USMOP4A_M2ZZ_BToS:
25833 case AArch64::USMOP4A_M2ZZ_HtoD:
25834 case AArch64::USMOP4A_MZ2Z_BToS:
25835 case AArch64::USMOP4A_MZ2Z_HtoD:
25836 case AArch64::USMOP4A_MZZ_BToS:
25837 case AArch64::USMOP4A_MZZ_HtoD:
25838 case AArch64::USMOP4S_M2Z2Z_BToS:
25839 case AArch64::USMOP4S_M2Z2Z_HtoD:
25840 case AArch64::USMOP4S_M2ZZ_BToS:
25841 case AArch64::USMOP4S_M2ZZ_HtoD:
25842 case AArch64::USMOP4S_MZ2Z_BToS:
25843 case AArch64::USMOP4S_MZ2Z_HtoD:
25844 case AArch64::USMOP4S_MZZ_BToS:
25845 case AArch64::USMOP4S_MZZ_HtoD: {
25846 switch (OpNum) {
25847 case 0:
25848 // op: ZAda
25849 return 0;
25850 case 2:
25851 // op: Zn
25852 return 6;
25853 case 3:
25854 // op: Zm
25855 return 17;
25856 }
25857 break;
25858 }
25859 case AArch64::RBIT_ZPzZ_B:
25860 case AArch64::RBIT_ZPzZ_D:
25861 case AArch64::RBIT_ZPzZ_H:
25862 case AArch64::RBIT_ZPzZ_S:
25863 case AArch64::REVB_ZPzZ_D:
25864 case AArch64::REVB_ZPzZ_H:
25865 case AArch64::REVB_ZPzZ_S:
25866 case AArch64::REVD_ZPzZ:
25867 case AArch64::REVH_ZPzZ_D:
25868 case AArch64::REVH_ZPzZ_S:
25869 case AArch64::REVW_ZPzZ_D: {
25870 switch (OpNum) {
25871 case 0:
25872 // op: Zd
25873 return 0;
25874 case 1:
25875 // op: Pg
25876 return 10;
25877 case 2:
25878 // op: Zn
25879 return 5;
25880 }
25881 break;
25882 }
25883 case AArch64::CPY_ZPzI_B:
25884 case AArch64::CPY_ZPzI_D:
25885 case AArch64::CPY_ZPzI_H:
25886 case AArch64::CPY_ZPzI_S: {
25887 switch (OpNum) {
25888 case 0:
25889 // op: Zd
25890 return 0;
25891 case 1:
25892 // op: Pg
25893 return 16;
25894 case 2:
25895 // op: imm
25896 return 5;
25897 }
25898 break;
25899 }
25900 case AArch64::LUTI6_S_4Z2Z2ZI: {
25901 switch (OpNum) {
25902 case 0:
25903 // op: Zd
25904 return 0;
25905 case 1:
25906 // op: Zn
25907 return 5;
25908 case 2:
25909 // op: Zm
25910 return 16;
25911 case 3:
25912 // op: i1
25913 return 22;
25914 }
25915 break;
25916 }
25917 case AArch64::LUTI2_ZZZI_H: {
25918 switch (OpNum) {
25919 case 0:
25920 // op: Zd
25921 return 0;
25922 case 1:
25923 // op: Zn
25924 return 5;
25925 case 2:
25926 // op: Zm
25927 return 16;
25928 case 3:
25929 // op: idx
25930 return 12;
25931 }
25932 break;
25933 }
25934 case AArch64::LUTI2_ZZZI_B:
25935 case AArch64::LUTI4_Z2ZZI:
25936 case AArch64::LUTI4_ZZZI_H: {
25937 switch (OpNum) {
25938 case 0:
25939 // op: Zd
25940 return 0;
25941 case 1:
25942 // op: Zn
25943 return 5;
25944 case 2:
25945 // op: Zm
25946 return 16;
25947 case 3:
25948 // op: idx
25949 return 22;
25950 }
25951 break;
25952 }
25953 case AArch64::LUTI4_ZZZI_B:
25954 case AArch64::LUTI6_Z2ZZI_H: {
25955 switch (OpNum) {
25956 case 0:
25957 // op: Zd
25958 return 0;
25959 case 1:
25960 // op: Zn
25961 return 5;
25962 case 2:
25963 // op: Zm
25964 return 16;
25965 case 3:
25966 // op: idx
25967 return 23;
25968 }
25969 break;
25970 }
25971 case AArch64::SMULLB_ZZZI_D:
25972 case AArch64::SMULLB_ZZZI_S:
25973 case AArch64::SMULLT_ZZZI_D:
25974 case AArch64::SMULLT_ZZZI_S:
25975 case AArch64::SQDMULLB_ZZZI_D:
25976 case AArch64::SQDMULLB_ZZZI_S:
25977 case AArch64::SQDMULLT_ZZZI_D:
25978 case AArch64::SQDMULLT_ZZZI_S:
25979 case AArch64::UMULLB_ZZZI_D:
25980 case AArch64::UMULLB_ZZZI_S:
25981 case AArch64::UMULLT_ZZZI_D:
25982 case AArch64::UMULLT_ZZZI_S: {
25983 switch (OpNum) {
25984 case 0:
25985 // op: Zd
25986 return 0;
25987 case 1:
25988 // op: Zn
25989 return 5;
25990 case 2:
25991 // op: Zm
25992 return 16;
25993 case 3:
25994 // op: iop
25995 return 11;
25996 }
25997 break;
25998 }
25999 case AArch64::BFMUL_ZZZI:
26000 case AArch64::FMUL_ZZZI_H:
26001 case AArch64::FMUL_ZZZI_S:
26002 case AArch64::MUL_ZZZI_H:
26003 case AArch64::MUL_ZZZI_S:
26004 case AArch64::SQDMULH_ZZZI_H:
26005 case AArch64::SQDMULH_ZZZI_S:
26006 case AArch64::SQRDMULH_ZZZI_H:
26007 case AArch64::SQRDMULH_ZZZI_S: {
26008 switch (OpNum) {
26009 case 0:
26010 // op: Zd
26011 return 0;
26012 case 1:
26013 // op: Zn
26014 return 5;
26015 case 2:
26016 // op: Zm
26017 return 16;
26018 case 3:
26019 // op: iop
26020 return 19;
26021 }
26022 break;
26023 }
26024 case AArch64::FMUL_ZZZI_D:
26025 case AArch64::MUL_ZZZI_D:
26026 case AArch64::SQDMULH_ZZZI_D:
26027 case AArch64::SQRDMULH_ZZZI_D: {
26028 switch (OpNum) {
26029 case 0:
26030 // op: Zd
26031 return 0;
26032 case 1:
26033 // op: Zn
26034 return 5;
26035 case 2:
26036 // op: Zm
26037 return 16;
26038 case 3:
26039 // op: iop
26040 return 20;
26041 }
26042 break;
26043 }
26044 case AArch64::ADDHNB_ZZZ_B:
26045 case AArch64::ADDHNB_ZZZ_H:
26046 case AArch64::ADDHNB_ZZZ_S:
26047 case AArch64::ADR_LSL_ZZZ_D_0:
26048 case AArch64::ADR_LSL_ZZZ_D_1:
26049 case AArch64::ADR_LSL_ZZZ_D_2:
26050 case AArch64::ADR_LSL_ZZZ_D_3:
26051 case AArch64::ADR_LSL_ZZZ_S_0:
26052 case AArch64::ADR_LSL_ZZZ_S_1:
26053 case AArch64::ADR_LSL_ZZZ_S_2:
26054 case AArch64::ADR_LSL_ZZZ_S_3:
26055 case AArch64::ADR_SXTW_ZZZ_D_0:
26056 case AArch64::ADR_SXTW_ZZZ_D_1:
26057 case AArch64::ADR_SXTW_ZZZ_D_2:
26058 case AArch64::ADR_SXTW_ZZZ_D_3:
26059 case AArch64::ADR_UXTW_ZZZ_D_0:
26060 case AArch64::ADR_UXTW_ZZZ_D_1:
26061 case AArch64::ADR_UXTW_ZZZ_D_2:
26062 case AArch64::ADR_UXTW_ZZZ_D_3:
26063 case AArch64::BDEP_ZZZ_B:
26064 case AArch64::BDEP_ZZZ_D:
26065 case AArch64::BDEP_ZZZ_H:
26066 case AArch64::BDEP_ZZZ_S:
26067 case AArch64::BEXT_ZZZ_B:
26068 case AArch64::BEXT_ZZZ_D:
26069 case AArch64::BEXT_ZZZ_H:
26070 case AArch64::BEXT_ZZZ_S:
26071 case AArch64::BGRP_ZZZ_B:
26072 case AArch64::BGRP_ZZZ_D:
26073 case AArch64::BGRP_ZZZ_H:
26074 case AArch64::BGRP_ZZZ_S:
26075 case AArch64::HISTSEG_ZZZ:
26076 case AArch64::LUTI6_Z2ZZ:
26077 case AArch64::PMULLB_ZZZ_D:
26078 case AArch64::PMULLB_ZZZ_H:
26079 case AArch64::PMULLB_ZZZ_Q:
26080 case AArch64::PMULLT_ZZZ_D:
26081 case AArch64::PMULLT_ZZZ_H:
26082 case AArch64::PMULLT_ZZZ_Q:
26083 case AArch64::RADDHNB_ZZZ_B:
26084 case AArch64::RADDHNB_ZZZ_H:
26085 case AArch64::RADDHNB_ZZZ_S:
26086 case AArch64::RAX1_ZZZ_D:
26087 case AArch64::RSUBHNB_ZZZ_B:
26088 case AArch64::RSUBHNB_ZZZ_H:
26089 case AArch64::RSUBHNB_ZZZ_S:
26090 case AArch64::SABDLB_ZZZ_D:
26091 case AArch64::SABDLB_ZZZ_H:
26092 case AArch64::SABDLB_ZZZ_S:
26093 case AArch64::SABDLT_ZZZ_D:
26094 case AArch64::SABDLT_ZZZ_H:
26095 case AArch64::SABDLT_ZZZ_S:
26096 case AArch64::SADDLBT_ZZZ_D:
26097 case AArch64::SADDLBT_ZZZ_H:
26098 case AArch64::SADDLBT_ZZZ_S:
26099 case AArch64::SADDLB_ZZZ_D:
26100 case AArch64::SADDLB_ZZZ_H:
26101 case AArch64::SADDLB_ZZZ_S:
26102 case AArch64::SADDLT_ZZZ_D:
26103 case AArch64::SADDLT_ZZZ_H:
26104 case AArch64::SADDLT_ZZZ_S:
26105 case AArch64::SADDWB_ZZZ_D:
26106 case AArch64::SADDWB_ZZZ_H:
26107 case AArch64::SADDWB_ZZZ_S:
26108 case AArch64::SADDWT_ZZZ_D:
26109 case AArch64::SADDWT_ZZZ_H:
26110 case AArch64::SADDWT_ZZZ_S:
26111 case AArch64::SM4EKEY_ZZZ_S:
26112 case AArch64::SMULLB_ZZZ_D:
26113 case AArch64::SMULLB_ZZZ_H:
26114 case AArch64::SMULLB_ZZZ_S:
26115 case AArch64::SMULLT_ZZZ_D:
26116 case AArch64::SMULLT_ZZZ_H:
26117 case AArch64::SMULLT_ZZZ_S:
26118 case AArch64::SQDMULLB_ZZZ_D:
26119 case AArch64::SQDMULLB_ZZZ_H:
26120 case AArch64::SQDMULLB_ZZZ_S:
26121 case AArch64::SQDMULLT_ZZZ_D:
26122 case AArch64::SQDMULLT_ZZZ_H:
26123 case AArch64::SQDMULLT_ZZZ_S:
26124 case AArch64::SSUBLBT_ZZZ_D:
26125 case AArch64::SSUBLBT_ZZZ_H:
26126 case AArch64::SSUBLBT_ZZZ_S:
26127 case AArch64::SSUBLB_ZZZ_D:
26128 case AArch64::SSUBLB_ZZZ_H:
26129 case AArch64::SSUBLB_ZZZ_S:
26130 case AArch64::SSUBLTB_ZZZ_D:
26131 case AArch64::SSUBLTB_ZZZ_H:
26132 case AArch64::SSUBLTB_ZZZ_S:
26133 case AArch64::SSUBLT_ZZZ_D:
26134 case AArch64::SSUBLT_ZZZ_H:
26135 case AArch64::SSUBLT_ZZZ_S:
26136 case AArch64::SSUBWB_ZZZ_D:
26137 case AArch64::SSUBWB_ZZZ_H:
26138 case AArch64::SSUBWB_ZZZ_S:
26139 case AArch64::SSUBWT_ZZZ_D:
26140 case AArch64::SSUBWT_ZZZ_H:
26141 case AArch64::SSUBWT_ZZZ_S:
26142 case AArch64::SUBHNB_ZZZ_B:
26143 case AArch64::SUBHNB_ZZZ_H:
26144 case AArch64::SUBHNB_ZZZ_S:
26145 case AArch64::TBLQ_ZZZ_B:
26146 case AArch64::TBLQ_ZZZ_D:
26147 case AArch64::TBLQ_ZZZ_H:
26148 case AArch64::TBLQ_ZZZ_S:
26149 case AArch64::UABDLB_ZZZ_D:
26150 case AArch64::UABDLB_ZZZ_H:
26151 case AArch64::UABDLB_ZZZ_S:
26152 case AArch64::UABDLT_ZZZ_D:
26153 case AArch64::UABDLT_ZZZ_H:
26154 case AArch64::UABDLT_ZZZ_S:
26155 case AArch64::UADDLB_ZZZ_D:
26156 case AArch64::UADDLB_ZZZ_H:
26157 case AArch64::UADDLB_ZZZ_S:
26158 case AArch64::UADDLT_ZZZ_D:
26159 case AArch64::UADDLT_ZZZ_H:
26160 case AArch64::UADDLT_ZZZ_S:
26161 case AArch64::UADDWB_ZZZ_D:
26162 case AArch64::UADDWB_ZZZ_H:
26163 case AArch64::UADDWB_ZZZ_S:
26164 case AArch64::UADDWT_ZZZ_D:
26165 case AArch64::UADDWT_ZZZ_H:
26166 case AArch64::UADDWT_ZZZ_S:
26167 case AArch64::UMULLB_ZZZ_D:
26168 case AArch64::UMULLB_ZZZ_H:
26169 case AArch64::UMULLB_ZZZ_S:
26170 case AArch64::UMULLT_ZZZ_D:
26171 case AArch64::UMULLT_ZZZ_H:
26172 case AArch64::UMULLT_ZZZ_S:
26173 case AArch64::USUBLB_ZZZ_D:
26174 case AArch64::USUBLB_ZZZ_H:
26175 case AArch64::USUBLB_ZZZ_S:
26176 case AArch64::USUBLT_ZZZ_D:
26177 case AArch64::USUBLT_ZZZ_H:
26178 case AArch64::USUBLT_ZZZ_S:
26179 case AArch64::USUBWB_ZZZ_D:
26180 case AArch64::USUBWB_ZZZ_H:
26181 case AArch64::USUBWB_ZZZ_S:
26182 case AArch64::USUBWT_ZZZ_D:
26183 case AArch64::USUBWT_ZZZ_H:
26184 case AArch64::USUBWT_ZZZ_S:
26185 case AArch64::UZPQ1_ZZZ_B:
26186 case AArch64::UZPQ1_ZZZ_D:
26187 case AArch64::UZPQ1_ZZZ_H:
26188 case AArch64::UZPQ1_ZZZ_S:
26189 case AArch64::UZPQ2_ZZZ_B:
26190 case AArch64::UZPQ2_ZZZ_D:
26191 case AArch64::UZPQ2_ZZZ_H:
26192 case AArch64::UZPQ2_ZZZ_S:
26193 case AArch64::ZIPQ1_ZZZ_B:
26194 case AArch64::ZIPQ1_ZZZ_D:
26195 case AArch64::ZIPQ1_ZZZ_H:
26196 case AArch64::ZIPQ1_ZZZ_S:
26197 case AArch64::ZIPQ2_ZZZ_B:
26198 case AArch64::ZIPQ2_ZZZ_D:
26199 case AArch64::ZIPQ2_ZZZ_H:
26200 case AArch64::ZIPQ2_ZZZ_S: {
26201 switch (OpNum) {
26202 case 0:
26203 // op: Zd
26204 return 0;
26205 case 1:
26206 // op: Zn
26207 return 5;
26208 case 2:
26209 // op: Zm
26210 return 16;
26211 }
26212 break;
26213 }
26214 case AArch64::DUP_ZZI_B: {
26215 switch (OpNum) {
26216 case 0:
26217 // op: Zd
26218 return 0;
26219 case 1:
26220 // op: Zn
26221 return 5;
26222 case 2:
26223 // op: idx
26224 return 17;
26225 }
26226 break;
26227 }
26228 case AArch64::DUP_ZZI_H: {
26229 switch (OpNum) {
26230 case 0:
26231 // op: Zd
26232 return 0;
26233 case 1:
26234 // op: Zn
26235 return 5;
26236 case 2:
26237 // op: idx
26238 return 18;
26239 }
26240 break;
26241 }
26242 case AArch64::DUP_ZZI_S: {
26243 switch (OpNum) {
26244 case 0:
26245 // op: Zd
26246 return 0;
26247 case 1:
26248 // op: Zn
26249 return 5;
26250 case 2:
26251 // op: idx
26252 return 19;
26253 }
26254 break;
26255 }
26256 case AArch64::DUP_ZZI_D: {
26257 switch (OpNum) {
26258 case 0:
26259 // op: Zd
26260 return 0;
26261 case 1:
26262 // op: Zn
26263 return 5;
26264 case 2:
26265 // op: idx
26266 return 20;
26267 }
26268 break;
26269 }
26270 case AArch64::DUP_ZZI_Q: {
26271 switch (OpNum) {
26272 case 0:
26273 // op: Zd
26274 return 0;
26275 case 1:
26276 // op: Zn
26277 return 5;
26278 case 2:
26279 // op: idx
26280 return 22;
26281 }
26282 break;
26283 }
26284 case AArch64::ASR_ZZI_B:
26285 case AArch64::ASR_ZZI_D:
26286 case AArch64::ASR_ZZI_H:
26287 case AArch64::ASR_ZZI_S:
26288 case AArch64::LSL_ZZI_B:
26289 case AArch64::LSL_ZZI_D:
26290 case AArch64::LSL_ZZI_H:
26291 case AArch64::LSL_ZZI_S:
26292 case AArch64::LSR_ZZI_B:
26293 case AArch64::LSR_ZZI_D:
26294 case AArch64::LSR_ZZI_H:
26295 case AArch64::LSR_ZZI_S:
26296 case AArch64::RSHRNB_ZZI_B:
26297 case AArch64::RSHRNB_ZZI_H:
26298 case AArch64::RSHRNB_ZZI_S:
26299 case AArch64::SHRNB_ZZI_B:
26300 case AArch64::SHRNB_ZZI_H:
26301 case AArch64::SHRNB_ZZI_S:
26302 case AArch64::SQRSHRNB_ZZI_B:
26303 case AArch64::SQRSHRNB_ZZI_H:
26304 case AArch64::SQRSHRNB_ZZI_S:
26305 case AArch64::SQRSHRUNB_ZZI_B:
26306 case AArch64::SQRSHRUNB_ZZI_H:
26307 case AArch64::SQRSHRUNB_ZZI_S:
26308 case AArch64::SQSHRNB_ZZI_B:
26309 case AArch64::SQSHRNB_ZZI_H:
26310 case AArch64::SQSHRNB_ZZI_S:
26311 case AArch64::SQSHRUNB_ZZI_B:
26312 case AArch64::SQSHRUNB_ZZI_H:
26313 case AArch64::SQSHRUNB_ZZI_S:
26314 case AArch64::SSHLLB_ZZI_D:
26315 case AArch64::SSHLLB_ZZI_H:
26316 case AArch64::SSHLLB_ZZI_S:
26317 case AArch64::SSHLLT_ZZI_D:
26318 case AArch64::SSHLLT_ZZI_H:
26319 case AArch64::SSHLLT_ZZI_S:
26320 case AArch64::UQRSHRNB_ZZI_B:
26321 case AArch64::UQRSHRNB_ZZI_H:
26322 case AArch64::UQRSHRNB_ZZI_S:
26323 case AArch64::UQSHRNB_ZZI_B:
26324 case AArch64::UQSHRNB_ZZI_H:
26325 case AArch64::UQSHRNB_ZZI_S:
26326 case AArch64::USHLLB_ZZI_D:
26327 case AArch64::USHLLB_ZZI_H:
26328 case AArch64::USHLLB_ZZI_S:
26329 case AArch64::USHLLT_ZZI_D:
26330 case AArch64::USHLLT_ZZI_H:
26331 case AArch64::USHLLT_ZZI_S: {
26332 switch (OpNum) {
26333 case 0:
26334 // op: Zd
26335 return 0;
26336 case 1:
26337 // op: Zn
26338 return 5;
26339 case 2:
26340 // op: imm
26341 return 16;
26342 }
26343 break;
26344 }
26345 case AArch64::EXT_ZZI_B: {
26346 switch (OpNum) {
26347 case 0:
26348 // op: Zd
26349 return 0;
26350 case 1:
26351 // op: Zn
26352 return 5;
26353 case 2:
26354 // op: imm8
26355 return 10;
26356 }
26357 break;
26358 }
26359 case AArch64::DUPQ_ZZI_B: {
26360 switch (OpNum) {
26361 case 0:
26362 // op: Zd
26363 return 0;
26364 case 1:
26365 // op: Zn
26366 return 5;
26367 case 2:
26368 // op: index
26369 return 17;
26370 }
26371 break;
26372 }
26373 case AArch64::DUPQ_ZZI_H: {
26374 switch (OpNum) {
26375 case 0:
26376 // op: Zd
26377 return 0;
26378 case 1:
26379 // op: Zn
26380 return 5;
26381 case 2:
26382 // op: index
26383 return 18;
26384 }
26385 break;
26386 }
26387 case AArch64::DUPQ_ZZI_S: {
26388 switch (OpNum) {
26389 case 0:
26390 // op: Zd
26391 return 0;
26392 case 1:
26393 // op: Zn
26394 return 5;
26395 case 2:
26396 // op: index
26397 return 19;
26398 }
26399 break;
26400 }
26401 case AArch64::DUPQ_ZZI_D: {
26402 switch (OpNum) {
26403 case 0:
26404 // op: Zd
26405 return 0;
26406 case 1:
26407 // op: Zn
26408 return 5;
26409 case 2:
26410 // op: index
26411 return 20;
26412 }
26413 break;
26414 }
26415 case AArch64::BF1CVTLT_ZZ_BtoH:
26416 case AArch64::BF1CVT_ZZ_BtoH:
26417 case AArch64::BF2CVTLT_ZZ_BtoH:
26418 case AArch64::BF2CVT_ZZ_BtoH:
26419 case AArch64::F1CVTLT_ZZ_BtoH:
26420 case AArch64::F1CVT_ZZ_BtoH:
26421 case AArch64::F2CVTLT_ZZ_BtoH:
26422 case AArch64::F2CVT_ZZ_BtoH:
26423 case AArch64::FEXPA_ZZ_D:
26424 case AArch64::FEXPA_ZZ_H:
26425 case AArch64::FEXPA_ZZ_S:
26426 case AArch64::FRECPE_ZZ_D:
26427 case AArch64::FRECPE_ZZ_H:
26428 case AArch64::FRECPE_ZZ_S:
26429 case AArch64::FRSQRTE_ZZ_D:
26430 case AArch64::FRSQRTE_ZZ_H:
26431 case AArch64::FRSQRTE_ZZ_S:
26432 case AArch64::MOVPRFX_ZZ:
26433 case AArch64::REV_ZZ_B:
26434 case AArch64::REV_ZZ_D:
26435 case AArch64::REV_ZZ_H:
26436 case AArch64::REV_ZZ_S:
26437 case AArch64::SCVTFLT_ZZ_BtoH:
26438 case AArch64::SCVTFLT_ZZ_HtoS:
26439 case AArch64::SCVTFLT_ZZ_StoD:
26440 case AArch64::SCVTF_ZZ_BtoH:
26441 case AArch64::SCVTF_ZZ_HtoS:
26442 case AArch64::SCVTF_ZZ_StoD:
26443 case AArch64::SQXTNB_ZZ_B:
26444 case AArch64::SQXTNB_ZZ_H:
26445 case AArch64::SQXTNB_ZZ_S:
26446 case AArch64::SQXTUNB_ZZ_B:
26447 case AArch64::SQXTUNB_ZZ_H:
26448 case AArch64::SQXTUNB_ZZ_S:
26449 case AArch64::SUNPKHI_ZZ_D:
26450 case AArch64::SUNPKHI_ZZ_H:
26451 case AArch64::SUNPKHI_ZZ_S:
26452 case AArch64::SUNPKLO_ZZ_D:
26453 case AArch64::SUNPKLO_ZZ_H:
26454 case AArch64::SUNPKLO_ZZ_S:
26455 case AArch64::UCVTFLT_ZZ_BtoH:
26456 case AArch64::UCVTFLT_ZZ_HtoS:
26457 case AArch64::UCVTFLT_ZZ_StoD:
26458 case AArch64::UCVTF_ZZ_BtoH:
26459 case AArch64::UCVTF_ZZ_HtoS:
26460 case AArch64::UCVTF_ZZ_StoD:
26461 case AArch64::UQXTNB_ZZ_B:
26462 case AArch64::UQXTNB_ZZ_H:
26463 case AArch64::UQXTNB_ZZ_S:
26464 case AArch64::UUNPKHI_ZZ_D:
26465 case AArch64::UUNPKHI_ZZ_H:
26466 case AArch64::UUNPKHI_ZZ_S:
26467 case AArch64::UUNPKLO_ZZ_D:
26468 case AArch64::UUNPKLO_ZZ_H:
26469 case AArch64::UUNPKLO_ZZ_S: {
26470 switch (OpNum) {
26471 case 0:
26472 // op: Zd
26473 return 0;
26474 case 1:
26475 // op: Zn
26476 return 5;
26477 }
26478 break;
26479 }
26480 case AArch64::SQRSHRN_Z2ZI_HtoB:
26481 case AArch64::SQRSHRN_Z2ZI_StoH:
26482 case AArch64::SQRSHRUN_Z2ZI_HtoB:
26483 case AArch64::SQRSHRUN_Z2ZI_StoH:
26484 case AArch64::SQSHRN_Z2ZI_HtoB:
26485 case AArch64::SQSHRN_Z2ZI_StoH:
26486 case AArch64::SQSHRUN_Z2ZI_HtoB:
26487 case AArch64::SQSHRUN_Z2ZI_StoH:
26488 case AArch64::UQRSHRN_Z2ZI_HtoB:
26489 case AArch64::UQRSHRN_Z2ZI_StoH:
26490 case AArch64::UQSHRN_Z2ZI_HtoB:
26491 case AArch64::UQSHRN_Z2ZI_StoH: {
26492 switch (OpNum) {
26493 case 0:
26494 // op: Zd
26495 return 0;
26496 case 1:
26497 // op: Zn
26498 return 6;
26499 case 2:
26500 // op: imm
26501 return 16;
26502 }
26503 break;
26504 }
26505 case AArch64::BFCVTN_Z2Z_HtoB:
26506 case AArch64::FCVTNB_Z2Z_StoB:
26507 case AArch64::FCVTN_Z2Z_HtoB:
26508 case AArch64::FCVTZSN_Z2Z_DtoS:
26509 case AArch64::FCVTZSN_Z2Z_HtoB:
26510 case AArch64::FCVTZSN_Z2Z_StoH:
26511 case AArch64::FCVTZUN_Z2Z_DtoS:
26512 case AArch64::FCVTZUN_Z2Z_HtoB:
26513 case AArch64::FCVTZUN_Z2Z_StoH:
26514 case AArch64::SQCVTN_Z2Z_StoH:
26515 case AArch64::SQCVTUN_Z2Z_StoH:
26516 case AArch64::UQCVTN_Z2Z_StoH: {
26517 switch (OpNum) {
26518 case 0:
26519 // op: Zd
26520 return 0;
26521 case 1:
26522 // op: Zn
26523 return 6;
26524 }
26525 break;
26526 }
26527 case AArch64::DUP_ZI_B:
26528 case AArch64::DUP_ZI_D:
26529 case AArch64::DUP_ZI_H:
26530 case AArch64::DUP_ZI_S: {
26531 switch (OpNum) {
26532 case 0:
26533 // op: Zd
26534 return 0;
26535 case 1:
26536 // op: imm
26537 return 5;
26538 }
26539 break;
26540 }
26541 case AArch64::INDEX_II_B:
26542 case AArch64::INDEX_II_D:
26543 case AArch64::INDEX_II_H:
26544 case AArch64::INDEX_II_S: {
26545 switch (OpNum) {
26546 case 0:
26547 // op: Zd
26548 return 0;
26549 case 1:
26550 // op: imm5
26551 return 5;
26552 case 2:
26553 // op: imm5b
26554 return 16;
26555 }
26556 break;
26557 }
26558 case AArch64::FDUP_ZI_D:
26559 case AArch64::FDUP_ZI_H:
26560 case AArch64::FDUP_ZI_S: {
26561 switch (OpNum) {
26562 case 0:
26563 // op: Zd
26564 return 0;
26565 case 1:
26566 // op: imm8
26567 return 5;
26568 }
26569 break;
26570 }
26571 case AArch64::DUPM_ZI: {
26572 switch (OpNum) {
26573 case 0:
26574 // op: Zd
26575 return 0;
26576 case 1:
26577 // op: imms
26578 return 5;
26579 }
26580 break;
26581 }
26582 case AArch64::RBIT_ZPmZ_B:
26583 case AArch64::RBIT_ZPmZ_D:
26584 case AArch64::RBIT_ZPmZ_H:
26585 case AArch64::RBIT_ZPmZ_S:
26586 case AArch64::REVB_ZPmZ_D:
26587 case AArch64::REVB_ZPmZ_H:
26588 case AArch64::REVB_ZPmZ_S:
26589 case AArch64::REVD_ZPmZ:
26590 case AArch64::REVH_ZPmZ_D:
26591 case AArch64::REVH_ZPmZ_S:
26592 case AArch64::REVW_ZPmZ_D: {
26593 switch (OpNum) {
26594 case 0:
26595 // op: Zd
26596 return 0;
26597 case 2:
26598 // op: Pg
26599 return 10;
26600 case 3:
26601 // op: Zn
26602 return 5;
26603 }
26604 break;
26605 }
26606 case AArch64::CPY_ZPmI_B:
26607 case AArch64::CPY_ZPmI_D:
26608 case AArch64::CPY_ZPmI_H:
26609 case AArch64::CPY_ZPmI_S: {
26610 switch (OpNum) {
26611 case 0:
26612 // op: Zd
26613 return 0;
26614 case 2:
26615 // op: Pg
26616 return 16;
26617 case 3:
26618 // op: imm
26619 return 5;
26620 }
26621 break;
26622 }
26623 case AArch64::INDEX_RR_B:
26624 case AArch64::INDEX_RR_D:
26625 case AArch64::INDEX_RR_H:
26626 case AArch64::INDEX_RR_S: {
26627 switch (OpNum) {
26628 case 0:
26629 // op: Zd
26630 return 0;
26631 case 2:
26632 // op: Rm
26633 return 16;
26634 case 1:
26635 // op: Rn
26636 return 5;
26637 }
26638 break;
26639 }
26640 case AArch64::ADDQP_ZZZ_B:
26641 case AArch64::ADDQP_ZZZ_D:
26642 case AArch64::ADDQP_ZZZ_H:
26643 case AArch64::ADDQP_ZZZ_S:
26644 case AArch64::ADDSUBP_ZZZ_B:
26645 case AArch64::ADDSUBP_ZZZ_D:
26646 case AArch64::ADDSUBP_ZZZ_H:
26647 case AArch64::ADDSUBP_ZZZ_S:
26648 case AArch64::ADD_ZZZ_B:
26649 case AArch64::ADD_ZZZ_CPA:
26650 case AArch64::ADD_ZZZ_D:
26651 case AArch64::ADD_ZZZ_H:
26652 case AArch64::ADD_ZZZ_S:
26653 case AArch64::AND_ZZZ:
26654 case AArch64::ASR_WIDE_ZZZ_B:
26655 case AArch64::ASR_WIDE_ZZZ_H:
26656 case AArch64::ASR_WIDE_ZZZ_S:
26657 case AArch64::BFADD_ZZZ:
26658 case AArch64::BFMUL_ZZZ:
26659 case AArch64::BFSUB_ZZZ:
26660 case AArch64::BIC_ZZZ:
26661 case AArch64::EOR_ZZZ:
26662 case AArch64::FADD_ZZZ_D:
26663 case AArch64::FADD_ZZZ_H:
26664 case AArch64::FADD_ZZZ_S:
26665 case AArch64::FMUL_ZZZ_D:
26666 case AArch64::FMUL_ZZZ_H:
26667 case AArch64::FMUL_ZZZ_S:
26668 case AArch64::FRECPS_ZZZ_D:
26669 case AArch64::FRECPS_ZZZ_H:
26670 case AArch64::FRECPS_ZZZ_S:
26671 case AArch64::FRSQRTS_ZZZ_D:
26672 case AArch64::FRSQRTS_ZZZ_H:
26673 case AArch64::FRSQRTS_ZZZ_S:
26674 case AArch64::FSUB_ZZZ_D:
26675 case AArch64::FSUB_ZZZ_H:
26676 case AArch64::FSUB_ZZZ_S:
26677 case AArch64::FTSMUL_ZZZ_D:
26678 case AArch64::FTSMUL_ZZZ_H:
26679 case AArch64::FTSMUL_ZZZ_S:
26680 case AArch64::FTSSEL_ZZZ_D:
26681 case AArch64::FTSSEL_ZZZ_H:
26682 case AArch64::FTSSEL_ZZZ_S:
26683 case AArch64::LSL_WIDE_ZZZ_B:
26684 case AArch64::LSL_WIDE_ZZZ_H:
26685 case AArch64::LSL_WIDE_ZZZ_S:
26686 case AArch64::LSR_WIDE_ZZZ_B:
26687 case AArch64::LSR_WIDE_ZZZ_H:
26688 case AArch64::LSR_WIDE_ZZZ_S:
26689 case AArch64::MUL_ZZZ_B:
26690 case AArch64::MUL_ZZZ_D:
26691 case AArch64::MUL_ZZZ_H:
26692 case AArch64::MUL_ZZZ_S:
26693 case AArch64::ORR_ZZZ:
26694 case AArch64::PMUL_ZZZ_B:
26695 case AArch64::SMULH_ZZZ_B:
26696 case AArch64::SMULH_ZZZ_D:
26697 case AArch64::SMULH_ZZZ_H:
26698 case AArch64::SMULH_ZZZ_S:
26699 case AArch64::SQADD_ZZZ_B:
26700 case AArch64::SQADD_ZZZ_D:
26701 case AArch64::SQADD_ZZZ_H:
26702 case AArch64::SQADD_ZZZ_S:
26703 case AArch64::SQDMULH_ZZZ_B:
26704 case AArch64::SQDMULH_ZZZ_D:
26705 case AArch64::SQDMULH_ZZZ_H:
26706 case AArch64::SQDMULH_ZZZ_S:
26707 case AArch64::SQRDMULH_ZZZ_B:
26708 case AArch64::SQRDMULH_ZZZ_D:
26709 case AArch64::SQRDMULH_ZZZ_H:
26710 case AArch64::SQRDMULH_ZZZ_S:
26711 case AArch64::SQSUB_ZZZ_B:
26712 case AArch64::SQSUB_ZZZ_D:
26713 case AArch64::SQSUB_ZZZ_H:
26714 case AArch64::SQSUB_ZZZ_S:
26715 case AArch64::SUB_ZZZ_B:
26716 case AArch64::SUB_ZZZ_CPA:
26717 case AArch64::SUB_ZZZ_D:
26718 case AArch64::SUB_ZZZ_H:
26719 case AArch64::SUB_ZZZ_S:
26720 case AArch64::TBL_ZZZZ_B:
26721 case AArch64::TBL_ZZZZ_D:
26722 case AArch64::TBL_ZZZZ_H:
26723 case AArch64::TBL_ZZZZ_S:
26724 case AArch64::TBL_ZZZ_B:
26725 case AArch64::TBL_ZZZ_D:
26726 case AArch64::TBL_ZZZ_H:
26727 case AArch64::TBL_ZZZ_S:
26728 case AArch64::TRN1_ZZZ_B:
26729 case AArch64::TRN1_ZZZ_D:
26730 case AArch64::TRN1_ZZZ_H:
26731 case AArch64::TRN1_ZZZ_Q:
26732 case AArch64::TRN1_ZZZ_S:
26733 case AArch64::TRN2_ZZZ_B:
26734 case AArch64::TRN2_ZZZ_D:
26735 case AArch64::TRN2_ZZZ_H:
26736 case AArch64::TRN2_ZZZ_Q:
26737 case AArch64::TRN2_ZZZ_S:
26738 case AArch64::UMULH_ZZZ_B:
26739 case AArch64::UMULH_ZZZ_D:
26740 case AArch64::UMULH_ZZZ_H:
26741 case AArch64::UMULH_ZZZ_S:
26742 case AArch64::UQADD_ZZZ_B:
26743 case AArch64::UQADD_ZZZ_D:
26744 case AArch64::UQADD_ZZZ_H:
26745 case AArch64::UQADD_ZZZ_S:
26746 case AArch64::UQSUB_ZZZ_B:
26747 case AArch64::UQSUB_ZZZ_D:
26748 case AArch64::UQSUB_ZZZ_H:
26749 case AArch64::UQSUB_ZZZ_S:
26750 case AArch64::UZP1_ZZZ_B:
26751 case AArch64::UZP1_ZZZ_D:
26752 case AArch64::UZP1_ZZZ_H:
26753 case AArch64::UZP1_ZZZ_Q:
26754 case AArch64::UZP1_ZZZ_S:
26755 case AArch64::UZP2_ZZZ_B:
26756 case AArch64::UZP2_ZZZ_D:
26757 case AArch64::UZP2_ZZZ_H:
26758 case AArch64::UZP2_ZZZ_Q:
26759 case AArch64::UZP2_ZZZ_S:
26760 case AArch64::ZIP1_ZZZ_B:
26761 case AArch64::ZIP1_ZZZ_D:
26762 case AArch64::ZIP1_ZZZ_H:
26763 case AArch64::ZIP1_ZZZ_Q:
26764 case AArch64::ZIP1_ZZZ_S:
26765 case AArch64::ZIP2_ZZZ_B:
26766 case AArch64::ZIP2_ZZZ_D:
26767 case AArch64::ZIP2_ZZZ_H:
26768 case AArch64::ZIP2_ZZZ_Q:
26769 case AArch64::ZIP2_ZZZ_S: {
26770 switch (OpNum) {
26771 case 0:
26772 // op: Zd
26773 return 0;
26774 case 2:
26775 // op: Zm
26776 return 16;
26777 case 1:
26778 // op: Zn
26779 return 5;
26780 }
26781 break;
26782 }
26783 case AArch64::HISTCNT_ZPzZZ_D:
26784 case AArch64::HISTCNT_ZPzZZ_S: {
26785 switch (OpNum) {
26786 case 0:
26787 // op: Zd
26788 return 0;
26789 case 2:
26790 // op: Zn
26791 return 5;
26792 case 1:
26793 // op: Pg
26794 return 10;
26795 case 3:
26796 // op: Zm
26797 return 16;
26798 }
26799 break;
26800 }
26801 case AArch64::FCVTLT_ZPzZ_HtoS:
26802 case AArch64::FCVTLT_ZPzZ_StoD: {
26803 switch (OpNum) {
26804 case 0:
26805 // op: Zd
26806 return 0;
26807 case 2:
26808 // op: Zn
26809 return 5;
26810 case 1:
26811 // op: Pg
26812 return 10;
26813 }
26814 break;
26815 }
26816 case AArch64::ADDHNT_ZZZ_B:
26817 case AArch64::ADDHNT_ZZZ_H:
26818 case AArch64::ADDHNT_ZZZ_S:
26819 case AArch64::EORBT_ZZZ_B:
26820 case AArch64::EORBT_ZZZ_D:
26821 case AArch64::EORBT_ZZZ_H:
26822 case AArch64::EORBT_ZZZ_S:
26823 case AArch64::EORTB_ZZZ_B:
26824 case AArch64::EORTB_ZZZ_D:
26825 case AArch64::EORTB_ZZZ_H:
26826 case AArch64::EORTB_ZZZ_S:
26827 case AArch64::RADDHNT_ZZZ_B:
26828 case AArch64::RADDHNT_ZZZ_H:
26829 case AArch64::RADDHNT_ZZZ_S:
26830 case AArch64::RSUBHNT_ZZZ_B:
26831 case AArch64::RSUBHNT_ZZZ_H:
26832 case AArch64::RSUBHNT_ZZZ_S:
26833 case AArch64::SUBHNT_ZZZ_B:
26834 case AArch64::SUBHNT_ZZZ_H:
26835 case AArch64::SUBHNT_ZZZ_S: {
26836 switch (OpNum) {
26837 case 0:
26838 // op: Zd
26839 return 0;
26840 case 2:
26841 // op: Zn
26842 return 5;
26843 case 3:
26844 // op: Zm
26845 return 16;
26846 }
26847 break;
26848 }
26849 case AArch64::RSHRNT_ZZI_B:
26850 case AArch64::RSHRNT_ZZI_H:
26851 case AArch64::RSHRNT_ZZI_S:
26852 case AArch64::SHRNT_ZZI_B:
26853 case AArch64::SHRNT_ZZI_H:
26854 case AArch64::SHRNT_ZZI_S:
26855 case AArch64::SLI_ZZI_B:
26856 case AArch64::SLI_ZZI_D:
26857 case AArch64::SLI_ZZI_H:
26858 case AArch64::SLI_ZZI_S:
26859 case AArch64::SQRSHRNT_ZZI_B:
26860 case AArch64::SQRSHRNT_ZZI_H:
26861 case AArch64::SQRSHRNT_ZZI_S:
26862 case AArch64::SQRSHRUNT_ZZI_B:
26863 case AArch64::SQRSHRUNT_ZZI_H:
26864 case AArch64::SQRSHRUNT_ZZI_S:
26865 case AArch64::SQSHRNT_ZZI_B:
26866 case AArch64::SQSHRNT_ZZI_H:
26867 case AArch64::SQSHRNT_ZZI_S:
26868 case AArch64::SQSHRUNT_ZZI_B:
26869 case AArch64::SQSHRUNT_ZZI_H:
26870 case AArch64::SQSHRUNT_ZZI_S:
26871 case AArch64::SRI_ZZI_B:
26872 case AArch64::SRI_ZZI_D:
26873 case AArch64::SRI_ZZI_H:
26874 case AArch64::SRI_ZZI_S:
26875 case AArch64::UQRSHRNT_ZZI_B:
26876 case AArch64::UQRSHRNT_ZZI_H:
26877 case AArch64::UQRSHRNT_ZZI_S:
26878 case AArch64::UQSHRNT_ZZI_B:
26879 case AArch64::UQSHRNT_ZZI_H:
26880 case AArch64::UQSHRNT_ZZI_S: {
26881 switch (OpNum) {
26882 case 0:
26883 // op: Zd
26884 return 0;
26885 case 2:
26886 // op: Zn
26887 return 5;
26888 case 3:
26889 // op: imm
26890 return 16;
26891 }
26892 break;
26893 }
26894 case AArch64::LUTI6_ZTZ:
26895 case AArch64::SQXTNT_ZZ_B:
26896 case AArch64::SQXTNT_ZZ_H:
26897 case AArch64::SQXTNT_ZZ_S:
26898 case AArch64::SQXTUNT_ZZ_B:
26899 case AArch64::SQXTUNT_ZZ_H:
26900 case AArch64::SQXTUNT_ZZ_S:
26901 case AArch64::UQXTNT_ZZ_B:
26902 case AArch64::UQXTNT_ZZ_H:
26903 case AArch64::UQXTNT_ZZ_S: {
26904 switch (OpNum) {
26905 case 0:
26906 // op: Zd
26907 return 0;
26908 case 2:
26909 // op: Zn
26910 return 5;
26911 }
26912 break;
26913 }
26914 case AArch64::FCVTNT_Z2Z_StoB: {
26915 switch (OpNum) {
26916 case 0:
26917 // op: Zd
26918 return 0;
26919 case 2:
26920 // op: Zn
26921 return 6;
26922 }
26923 break;
26924 }
26925 case AArch64::LUTI6_S_4ZT3Z: {
26926 switch (OpNum) {
26927 case 0:
26928 // op: Zd
26929 return 0;
26930 case 2:
26931 // op: Zn
26932 return 7;
26933 }
26934 break;
26935 }
26936 case AArch64::PMOV_ZIP_D:
26937 case AArch64::PMOV_ZIP_H:
26938 case AArch64::PMOV_ZIP_S: {
26939 switch (OpNum) {
26940 case 0:
26941 // op: Zd
26942 return 0;
26943 case 3:
26944 // op: Pn
26945 return 5;
26946 case 2:
26947 // op: index
26948 return 17;
26949 }
26950 break;
26951 }
26952 case AArch64::PMOV_ZIP_B: {
26953 switch (OpNum) {
26954 case 0:
26955 // op: Zd
26956 return 0;
26957 case 3:
26958 // op: Pn
26959 return 5;
26960 }
26961 break;
26962 }
26963 case AArch64::TBXQ_ZZZ_B:
26964 case AArch64::TBXQ_ZZZ_D:
26965 case AArch64::TBXQ_ZZZ_H:
26966 case AArch64::TBXQ_ZZZ_S:
26967 case AArch64::TBX_ZZZ_B:
26968 case AArch64::TBX_ZZZ_D:
26969 case AArch64::TBX_ZZZ_H:
26970 case AArch64::TBX_ZZZ_S: {
26971 switch (OpNum) {
26972 case 0:
26973 // op: Zd
26974 return 0;
26975 case 3:
26976 // op: Zm
26977 return 16;
26978 case 2:
26979 // op: Zn
26980 return 5;
26981 }
26982 break;
26983 }
26984 case AArch64::BFCVTNT_ZPmZ:
26985 case AArch64::BFCVTNT_ZPzZ_StoH:
26986 case AArch64::FCVTLT_ZPmZ_HtoS:
26987 case AArch64::FCVTLT_ZPmZ_StoD:
26988 case AArch64::FCVTNT_ZPmZ_DtoS:
26989 case AArch64::FCVTNT_ZPmZ_StoH:
26990 case AArch64::FCVTNT_ZPzZ_DtoS:
26991 case AArch64::FCVTNT_ZPzZ_StoH:
26992 case AArch64::FCVTXNT_ZPmZ_DtoS:
26993 case AArch64::FCVTXNT_ZPzZ_StoD: {
26994 switch (OpNum) {
26995 case 0:
26996 // op: Zd
26997 return 0;
26998 case 3:
26999 // op: Zn
27000 return 5;
27001 case 2:
27002 // op: Pg
27003 return 10;
27004 }
27005 break;
27006 }
27007 case AArch64::BFMUL_2Z2Z:
27008 case AArch64::BFMUL_2ZZ:
27009 case AArch64::FMUL_2Z2Z_D:
27010 case AArch64::FMUL_2Z2Z_H:
27011 case AArch64::FMUL_2Z2Z_S:
27012 case AArch64::FMUL_2ZZ_D:
27013 case AArch64::FMUL_2ZZ_H:
27014 case AArch64::FMUL_2ZZ_S: {
27015 switch (OpNum) {
27016 case 0:
27017 // op: Zd
27018 return 1;
27019 case 1:
27020 // op: Zn
27021 return 6;
27022 case 2:
27023 // op: Zm
27024 return 17;
27025 }
27026 break;
27027 }
27028 case AArch64::MOVA_2ZMXI_H_D:
27029 case AArch64::MOVA_2ZMXI_V_D: {
27030 switch (OpNum) {
27031 case 0:
27032 // op: Zd
27033 return 1;
27034 case 2:
27035 // op: Rs
27036 return 13;
27037 case 1:
27038 // op: ZAn
27039 return 5;
27040 }
27041 break;
27042 }
27043 case AArch64::MOVA_2ZMXI_H_S:
27044 case AArch64::MOVA_2ZMXI_V_S: {
27045 switch (OpNum) {
27046 case 0:
27047 // op: Zd
27048 return 1;
27049 case 2:
27050 // op: Rs
27051 return 13;
27052 case 1:
27053 // op: ZAn
27054 return 6;
27055 case 3:
27056 // op: imm
27057 return 5;
27058 }
27059 break;
27060 }
27061 case AArch64::MOVA_2ZMXI_H_H:
27062 case AArch64::MOVA_2ZMXI_V_H: {
27063 switch (OpNum) {
27064 case 0:
27065 // op: Zd
27066 return 1;
27067 case 2:
27068 // op: Rs
27069 return 13;
27070 case 1:
27071 // op: ZAn
27072 return 7;
27073 case 3:
27074 // op: imm
27075 return 5;
27076 }
27077 break;
27078 }
27079 case AArch64::MOVA_2ZMXI_H_B:
27080 case AArch64::MOVA_2ZMXI_V_B: {
27081 switch (OpNum) {
27082 case 0:
27083 // op: Zd
27084 return 1;
27085 case 2:
27086 // op: Rs
27087 return 13;
27088 case 3:
27089 // op: imm
27090 return 5;
27091 }
27092 break;
27093 }
27094 case AArch64::UZP_VG2_2ZZZ_B:
27095 case AArch64::UZP_VG2_2ZZZ_D:
27096 case AArch64::UZP_VG2_2ZZZ_H:
27097 case AArch64::UZP_VG2_2ZZZ_Q:
27098 case AArch64::UZP_VG2_2ZZZ_S:
27099 case AArch64::ZIP_VG2_2ZZZ_B:
27100 case AArch64::ZIP_VG2_2ZZZ_D:
27101 case AArch64::ZIP_VG2_2ZZZ_H:
27102 case AArch64::ZIP_VG2_2ZZZ_Q:
27103 case AArch64::ZIP_VG2_2ZZZ_S: {
27104 switch (OpNum) {
27105 case 0:
27106 // op: Zd
27107 return 1;
27108 case 2:
27109 // op: Zm
27110 return 16;
27111 case 1:
27112 // op: Zn
27113 return 5;
27114 }
27115 break;
27116 }
27117 case AArch64::MOVAZ_2ZMI_H_D:
27118 case AArch64::MOVAZ_2ZMI_V_D: {
27119 switch (OpNum) {
27120 case 0:
27121 // op: Zd
27122 return 1;
27123 case 3:
27124 // op: Rs
27125 return 13;
27126 case 2:
27127 // op: ZAn
27128 return 5;
27129 }
27130 break;
27131 }
27132 case AArch64::MOVAZ_2ZMI_H_S:
27133 case AArch64::MOVAZ_2ZMI_V_S: {
27134 switch (OpNum) {
27135 case 0:
27136 // op: Zd
27137 return 1;
27138 case 3:
27139 // op: Rs
27140 return 13;
27141 case 2:
27142 // op: ZAn
27143 return 6;
27144 case 4:
27145 // op: imm
27146 return 5;
27147 }
27148 break;
27149 }
27150 case AArch64::MOVAZ_2ZMI_H_H:
27151 case AArch64::MOVAZ_2ZMI_V_H: {
27152 switch (OpNum) {
27153 case 0:
27154 // op: Zd
27155 return 1;
27156 case 3:
27157 // op: Rs
27158 return 13;
27159 case 2:
27160 // op: ZAn
27161 return 7;
27162 case 4:
27163 // op: imm
27164 return 5;
27165 }
27166 break;
27167 }
27168 case AArch64::MOVAZ_2ZMI_H_B:
27169 case AArch64::MOVAZ_2ZMI_V_B: {
27170 switch (OpNum) {
27171 case 0:
27172 // op: Zd
27173 return 1;
27174 case 3:
27175 // op: Rs
27176 return 13;
27177 case 4:
27178 // op: imm
27179 return 5;
27180 }
27181 break;
27182 }
27183 case AArch64::LUTI6_4Z2Z2ZI: {
27184 switch (OpNum) {
27185 case 0:
27186 // op: Zd
27187 return 2;
27188 case 1:
27189 // op: Zn
27190 return 5;
27191 case 2:
27192 // op: Zm
27193 return 16;
27194 case 3:
27195 // op: i1
27196 return 22;
27197 }
27198 break;
27199 }
27200 case AArch64::BFMUL_4ZZ:
27201 case AArch64::FMUL_4ZZ_D:
27202 case AArch64::FMUL_4ZZ_H:
27203 case AArch64::FMUL_4ZZ_S: {
27204 switch (OpNum) {
27205 case 0:
27206 // op: Zd
27207 return 2;
27208 case 1:
27209 // op: Zn
27210 return 7;
27211 case 2:
27212 // op: Zm
27213 return 17;
27214 }
27215 break;
27216 }
27217 case AArch64::BFMUL_4Z4Z:
27218 case AArch64::FMUL_4Z4Z_D:
27219 case AArch64::FMUL_4Z4Z_H:
27220 case AArch64::FMUL_4Z4Z_S: {
27221 switch (OpNum) {
27222 case 0:
27223 // op: Zd
27224 return 2;
27225 case 1:
27226 // op: Zn
27227 return 7;
27228 case 2:
27229 // op: Zm
27230 return 18;
27231 }
27232 break;
27233 }
27234 case AArch64::MOVA_4ZMXI_H_D:
27235 case AArch64::MOVA_4ZMXI_H_S:
27236 case AArch64::MOVA_4ZMXI_V_D:
27237 case AArch64::MOVA_4ZMXI_V_S: {
27238 switch (OpNum) {
27239 case 0:
27240 // op: Zd
27241 return 2;
27242 case 2:
27243 // op: Rs
27244 return 13;
27245 case 1:
27246 // op: ZAn
27247 return 5;
27248 }
27249 break;
27250 }
27251 case AArch64::MOVA_4ZMXI_H_H:
27252 case AArch64::MOVA_4ZMXI_V_H: {
27253 switch (OpNum) {
27254 case 0:
27255 // op: Zd
27256 return 2;
27257 case 2:
27258 // op: Rs
27259 return 13;
27260 case 1:
27261 // op: ZAn
27262 return 6;
27263 case 3:
27264 // op: imm
27265 return 5;
27266 }
27267 break;
27268 }
27269 case AArch64::MOVA_4ZMXI_H_B:
27270 case AArch64::MOVA_4ZMXI_V_B: {
27271 switch (OpNum) {
27272 case 0:
27273 // op: Zd
27274 return 2;
27275 case 2:
27276 // op: Rs
27277 return 13;
27278 case 3:
27279 // op: imm
27280 return 5;
27281 }
27282 break;
27283 }
27284 case AArch64::LUTI6_4ZT3Z: {
27285 switch (OpNum) {
27286 case 0:
27287 // op: Zd
27288 return 2;
27289 case 2:
27290 // op: Zn
27291 return 7;
27292 }
27293 break;
27294 }
27295 case AArch64::MOVAZ_4ZMI_H_D:
27296 case AArch64::MOVAZ_4ZMI_H_S:
27297 case AArch64::MOVAZ_4ZMI_V_D:
27298 case AArch64::MOVAZ_4ZMI_V_S: {
27299 switch (OpNum) {
27300 case 0:
27301 // op: Zd
27302 return 2;
27303 case 3:
27304 // op: Rs
27305 return 13;
27306 case 2:
27307 // op: ZAn
27308 return 5;
27309 }
27310 break;
27311 }
27312 case AArch64::MOVAZ_4ZMI_H_H:
27313 case AArch64::MOVAZ_4ZMI_V_H: {
27314 switch (OpNum) {
27315 case 0:
27316 // op: Zd
27317 return 2;
27318 case 3:
27319 // op: Rs
27320 return 13;
27321 case 2:
27322 // op: ZAn
27323 return 6;
27324 case 4:
27325 // op: imm
27326 return 5;
27327 }
27328 break;
27329 }
27330 case AArch64::MOVAZ_4ZMI_H_B:
27331 case AArch64::MOVAZ_4ZMI_V_B: {
27332 switch (OpNum) {
27333 case 0:
27334 // op: Zd
27335 return 2;
27336 case 3:
27337 // op: Rs
27338 return 13;
27339 case 4:
27340 // op: imm
27341 return 5;
27342 }
27343 break;
27344 }
27345 case AArch64::FCMLA_ZPmZZ_D:
27346 case AArch64::FCMLA_ZPmZZ_H:
27347 case AArch64::FCMLA_ZPmZZ_S: {
27348 switch (OpNum) {
27349 case 0:
27350 // op: Zda
27351 return 0;
27352 case 1:
27353 // op: Pg
27354 return 10;
27355 case 3:
27356 // op: Zn
27357 return 5;
27358 case 4:
27359 // op: Zm
27360 return 16;
27361 case 5:
27362 // op: imm
27363 return 13;
27364 }
27365 break;
27366 }
27367 case AArch64::SDOT_ZZZI_HtoS:
27368 case AArch64::UDOT_ZZZI_HtoS: {
27369 switch (OpNum) {
27370 case 0:
27371 // op: Zda
27372 return 0;
27373 case 2:
27374 // op: Zn
27375 return 5;
27376 case 3:
27377 // op: Zm
27378 return 16;
27379 case 4:
27380 // op: i2
27381 return 19;
27382 }
27383 break;
27384 }
27385 case AArch64::SUDOT_ZZZI:
27386 case AArch64::USDOT_ZZZI: {
27387 switch (OpNum) {
27388 case 0:
27389 // op: Zda
27390 return 0;
27391 case 2:
27392 // op: Zn
27393 return 5;
27394 case 3:
27395 // op: Zm
27396 return 16;
27397 case 4:
27398 // op: idx
27399 return 19;
27400 }
27401 break;
27402 }
27403 case AArch64::FMLALB_ZZZI:
27404 case AArch64::FMLALLBB_ZZZI:
27405 case AArch64::FMLALLBT_ZZZI:
27406 case AArch64::FMLALLTB_ZZZI:
27407 case AArch64::FMLALLTT_ZZZI:
27408 case AArch64::FMLALT_ZZZI: {
27409 switch (OpNum) {
27410 case 0:
27411 // op: Zda
27412 return 0;
27413 case 2:
27414 // op: Zn
27415 return 5;
27416 case 3:
27417 // op: Zm
27418 return 16;
27419 case 4:
27420 // op: imm4
27421 return 10;
27422 }
27423 break;
27424 }
27425 case AArch64::BFMLALB_ZZZI:
27426 case AArch64::BFMLALT_ZZZI:
27427 case AArch64::BFMLSLB_ZZZI_S:
27428 case AArch64::BFMLSLT_ZZZI_S:
27429 case AArch64::FDOT_ZZZI_BtoH:
27430 case AArch64::FMLALB_ZZZI_SHH:
27431 case AArch64::FMLALT_ZZZI_SHH:
27432 case AArch64::FMLSLB_ZZZI_SHH:
27433 case AArch64::FMLSLT_ZZZI_SHH:
27434 case AArch64::SMLALB_ZZZI_D:
27435 case AArch64::SMLALB_ZZZI_S:
27436 case AArch64::SMLALT_ZZZI_D:
27437 case AArch64::SMLALT_ZZZI_S:
27438 case AArch64::SMLSLB_ZZZI_D:
27439 case AArch64::SMLSLB_ZZZI_S:
27440 case AArch64::SMLSLT_ZZZI_D:
27441 case AArch64::SMLSLT_ZZZI_S:
27442 case AArch64::SQDMLALB_ZZZI_D:
27443 case AArch64::SQDMLALB_ZZZI_S:
27444 case AArch64::SQDMLALT_ZZZI_D:
27445 case AArch64::SQDMLALT_ZZZI_S:
27446 case AArch64::SQDMLSLB_ZZZI_D:
27447 case AArch64::SQDMLSLB_ZZZI_S:
27448 case AArch64::SQDMLSLT_ZZZI_D:
27449 case AArch64::SQDMLSLT_ZZZI_S:
27450 case AArch64::UMLALB_ZZZI_D:
27451 case AArch64::UMLALB_ZZZI_S:
27452 case AArch64::UMLALT_ZZZI_D:
27453 case AArch64::UMLALT_ZZZI_S:
27454 case AArch64::UMLSLB_ZZZI_D:
27455 case AArch64::UMLSLB_ZZZI_S:
27456 case AArch64::UMLSLT_ZZZI_D:
27457 case AArch64::UMLSLT_ZZZI_S: {
27458 switch (OpNum) {
27459 case 0:
27460 // op: Zda
27461 return 0;
27462 case 2:
27463 // op: Zn
27464 return 5;
27465 case 3:
27466 // op: Zm
27467 return 16;
27468 case 4:
27469 // op: iop
27470 return 11;
27471 }
27472 break;
27473 }
27474 case AArch64::BFDOT_ZZI:
27475 case AArch64::BFMLA_ZZZI:
27476 case AArch64::BFMLS_ZZZI:
27477 case AArch64::FDOT_ZZZI_BtoS:
27478 case AArch64::FDOT_ZZZI_S:
27479 case AArch64::FMLA_ZZZI_H:
27480 case AArch64::FMLA_ZZZI_S:
27481 case AArch64::FMLS_ZZZI_H:
27482 case AArch64::FMLS_ZZZI_S:
27483 case AArch64::MLA_ZZZI_H:
27484 case AArch64::MLA_ZZZI_S:
27485 case AArch64::MLS_ZZZI_H:
27486 case AArch64::MLS_ZZZI_S:
27487 case AArch64::SQRDMLAH_ZZZI_H:
27488 case AArch64::SQRDMLAH_ZZZI_S:
27489 case AArch64::SQRDMLSH_ZZZI_H:
27490 case AArch64::SQRDMLSH_ZZZI_S: {
27491 switch (OpNum) {
27492 case 0:
27493 // op: Zda
27494 return 0;
27495 case 2:
27496 // op: Zn
27497 return 5;
27498 case 3:
27499 // op: Zm
27500 return 16;
27501 case 4:
27502 // op: iop
27503 return 19;
27504 }
27505 break;
27506 }
27507 case AArch64::FMLA_ZZZI_D:
27508 case AArch64::FMLS_ZZZI_D:
27509 case AArch64::MLA_ZZZI_D:
27510 case AArch64::MLS_ZZZI_D:
27511 case AArch64::SQRDMLAH_ZZZI_D:
27512 case AArch64::SQRDMLSH_ZZZI_D: {
27513 switch (OpNum) {
27514 case 0:
27515 // op: Zda
27516 return 0;
27517 case 2:
27518 // op: Zn
27519 return 5;
27520 case 3:
27521 // op: Zm
27522 return 16;
27523 case 4:
27524 // op: iop
27525 return 20;
27526 }
27527 break;
27528 }
27529 case AArch64::CDOT_ZZZ_D:
27530 case AArch64::CDOT_ZZZ_S:
27531 case AArch64::CMLA_ZZZ_B:
27532 case AArch64::CMLA_ZZZ_D:
27533 case AArch64::CMLA_ZZZ_H:
27534 case AArch64::CMLA_ZZZ_S:
27535 case AArch64::SQRDCMLAH_ZZZ_B:
27536 case AArch64::SQRDCMLAH_ZZZ_D:
27537 case AArch64::SQRDCMLAH_ZZZ_H:
27538 case AArch64::SQRDCMLAH_ZZZ_S: {
27539 switch (OpNum) {
27540 case 0:
27541 // op: Zda
27542 return 0;
27543 case 2:
27544 // op: Zn
27545 return 5;
27546 case 3:
27547 // op: Zm
27548 return 16;
27549 case 4:
27550 // op: rot
27551 return 10;
27552 }
27553 break;
27554 }
27555 case AArch64::ADCLB_ZZZ_D:
27556 case AArch64::ADCLB_ZZZ_S:
27557 case AArch64::ADCLT_ZZZ_D:
27558 case AArch64::ADCLT_ZZZ_S:
27559 case AArch64::BFDOT_ZZZ:
27560 case AArch64::BFMLALB_ZZZ:
27561 case AArch64::BFMLALT_ZZZ:
27562 case AArch64::BFMLSLB_ZZZ_S:
27563 case AArch64::BFMLSLT_ZZZ_S:
27564 case AArch64::BFMMLA_ZZZ_H:
27565 case AArch64::BFMMLA_ZZZ_HtoS:
27566 case AArch64::FDOT_ZZZ_BtoH:
27567 case AArch64::FDOT_ZZZ_BtoS:
27568 case AArch64::FDOT_ZZZ_S:
27569 case AArch64::FMLALB_ZZZ:
27570 case AArch64::FMLALB_ZZZ_SHH:
27571 case AArch64::FMLALLBB_ZZZ:
27572 case AArch64::FMLALLBT_ZZZ:
27573 case AArch64::FMLALLTB_ZZZ:
27574 case AArch64::FMLALLTT_ZZZ:
27575 case AArch64::FMLALT_ZZZ:
27576 case AArch64::FMLALT_ZZZ_SHH:
27577 case AArch64::FMLLA_ZZZ_HtoS:
27578 case AArch64::FMLSLB_ZZZ_SHH:
27579 case AArch64::FMLSLT_ZZZ_SHH:
27580 case AArch64::FMMLA_ZZZ_BtoH:
27581 case AArch64::FMMLA_ZZZ_BtoS:
27582 case AArch64::FMMLA_ZZZ_D:
27583 case AArch64::FMMLA_ZZZ_H:
27584 case AArch64::FMMLA_ZZZ_S:
27585 case AArch64::MLA_CPA:
27586 case AArch64::SABALB_ZZZ_D:
27587 case AArch64::SABALB_ZZZ_H:
27588 case AArch64::SABALB_ZZZ_S:
27589 case AArch64::SABALT_ZZZ_D:
27590 case AArch64::SABALT_ZZZ_H:
27591 case AArch64::SABALT_ZZZ_S:
27592 case AArch64::SABAL_ZZZ_BtoH:
27593 case AArch64::SABAL_ZZZ_HtoS:
27594 case AArch64::SABAL_ZZZ_StoD:
27595 case AArch64::SABA_ZZZ_B:
27596 case AArch64::SABA_ZZZ_D:
27597 case AArch64::SABA_ZZZ_H:
27598 case AArch64::SABA_ZZZ_S:
27599 case AArch64::SBCLB_ZZZ_D:
27600 case AArch64::SBCLB_ZZZ_S:
27601 case AArch64::SBCLT_ZZZ_D:
27602 case AArch64::SBCLT_ZZZ_S:
27603 case AArch64::SDOT_ZZZ_BtoH:
27604 case AArch64::SDOT_ZZZ_BtoS:
27605 case AArch64::SDOT_ZZZ_HtoD:
27606 case AArch64::SDOT_ZZZ_HtoS:
27607 case AArch64::SMLALB_ZZZ_D:
27608 case AArch64::SMLALB_ZZZ_H:
27609 case AArch64::SMLALB_ZZZ_S:
27610 case AArch64::SMLALT_ZZZ_D:
27611 case AArch64::SMLALT_ZZZ_H:
27612 case AArch64::SMLALT_ZZZ_S:
27613 case AArch64::SMLSLB_ZZZ_D:
27614 case AArch64::SMLSLB_ZZZ_H:
27615 case AArch64::SMLSLB_ZZZ_S:
27616 case AArch64::SMLSLT_ZZZ_D:
27617 case AArch64::SMLSLT_ZZZ_H:
27618 case AArch64::SMLSLT_ZZZ_S:
27619 case AArch64::SMMLA_ZZZ:
27620 case AArch64::SQDMLALBT_ZZZ_D:
27621 case AArch64::SQDMLALBT_ZZZ_H:
27622 case AArch64::SQDMLALBT_ZZZ_S:
27623 case AArch64::SQDMLALB_ZZZ_D:
27624 case AArch64::SQDMLALB_ZZZ_H:
27625 case AArch64::SQDMLALB_ZZZ_S:
27626 case AArch64::SQDMLALT_ZZZ_D:
27627 case AArch64::SQDMLALT_ZZZ_H:
27628 case AArch64::SQDMLALT_ZZZ_S:
27629 case AArch64::SQDMLSLBT_ZZZ_D:
27630 case AArch64::SQDMLSLBT_ZZZ_H:
27631 case AArch64::SQDMLSLBT_ZZZ_S:
27632 case AArch64::SQDMLSLB_ZZZ_D:
27633 case AArch64::SQDMLSLB_ZZZ_H:
27634 case AArch64::SQDMLSLB_ZZZ_S:
27635 case AArch64::SQDMLSLT_ZZZ_D:
27636 case AArch64::SQDMLSLT_ZZZ_H:
27637 case AArch64::SQDMLSLT_ZZZ_S:
27638 case AArch64::SQRDMLAH_ZZZ_B:
27639 case AArch64::SQRDMLAH_ZZZ_D:
27640 case AArch64::SQRDMLAH_ZZZ_H:
27641 case AArch64::SQRDMLAH_ZZZ_S:
27642 case AArch64::SQRDMLSH_ZZZ_B:
27643 case AArch64::SQRDMLSH_ZZZ_D:
27644 case AArch64::SQRDMLSH_ZZZ_H:
27645 case AArch64::SQRDMLSH_ZZZ_S:
27646 case AArch64::UABALB_ZZZ_D:
27647 case AArch64::UABALB_ZZZ_H:
27648 case AArch64::UABALB_ZZZ_S:
27649 case AArch64::UABALT_ZZZ_D:
27650 case AArch64::UABALT_ZZZ_H:
27651 case AArch64::UABALT_ZZZ_S:
27652 case AArch64::UABAL_ZZZ_BtoH:
27653 case AArch64::UABAL_ZZZ_HtoS:
27654 case AArch64::UABAL_ZZZ_StoD:
27655 case AArch64::UABA_ZZZ_B:
27656 case AArch64::UABA_ZZZ_D:
27657 case AArch64::UABA_ZZZ_H:
27658 case AArch64::UABA_ZZZ_S:
27659 case AArch64::UDOT_ZZZ_BtoH:
27660 case AArch64::UDOT_ZZZ_BtoS:
27661 case AArch64::UDOT_ZZZ_HtoD:
27662 case AArch64::UDOT_ZZZ_HtoS:
27663 case AArch64::UMLALB_ZZZ_D:
27664 case AArch64::UMLALB_ZZZ_H:
27665 case AArch64::UMLALB_ZZZ_S:
27666 case AArch64::UMLALT_ZZZ_D:
27667 case AArch64::UMLALT_ZZZ_H:
27668 case AArch64::UMLALT_ZZZ_S:
27669 case AArch64::UMLSLB_ZZZ_D:
27670 case AArch64::UMLSLB_ZZZ_H:
27671 case AArch64::UMLSLB_ZZZ_S:
27672 case AArch64::UMLSLT_ZZZ_D:
27673 case AArch64::UMLSLT_ZZZ_H:
27674 case AArch64::UMLSLT_ZZZ_S:
27675 case AArch64::UMMLA_ZZZ:
27676 case AArch64::USDOT_ZZZ:
27677 case AArch64::USMMLA_ZZZ: {
27678 switch (OpNum) {
27679 case 0:
27680 // op: Zda
27681 return 0;
27682 case 2:
27683 // op: Zn
27684 return 5;
27685 case 3:
27686 // op: Zm
27687 return 16;
27688 }
27689 break;
27690 }
27691 case AArch64::SRSRA_ZZI_B:
27692 case AArch64::SRSRA_ZZI_D:
27693 case AArch64::SRSRA_ZZI_H:
27694 case AArch64::SRSRA_ZZI_S:
27695 case AArch64::SSRA_ZZI_B:
27696 case AArch64::SSRA_ZZI_D:
27697 case AArch64::SSRA_ZZI_H:
27698 case AArch64::SSRA_ZZI_S:
27699 case AArch64::URSRA_ZZI_B:
27700 case AArch64::URSRA_ZZI_D:
27701 case AArch64::URSRA_ZZI_H:
27702 case AArch64::URSRA_ZZI_S:
27703 case AArch64::USRA_ZZI_B:
27704 case AArch64::USRA_ZZI_D:
27705 case AArch64::USRA_ZZI_H:
27706 case AArch64::USRA_ZZI_S: {
27707 switch (OpNum) {
27708 case 0:
27709 // op: Zda
27710 return 0;
27711 case 2:
27712 // op: Zn
27713 return 5;
27714 case 3:
27715 // op: imm
27716 return 16;
27717 }
27718 break;
27719 }
27720 case AArch64::SDOT_ZZZI_BtoH:
27721 case AArch64::SDOT_ZZZI_BtoS:
27722 case AArch64::UDOT_ZZZI_BtoH:
27723 case AArch64::UDOT_ZZZI_BtoS: {
27724 switch (OpNum) {
27725 case 0:
27726 // op: Zda
27727 return 0;
27728 case 2:
27729 // op: Zn
27730 return 5;
27731 case 4:
27732 // op: iop
27733 return 19;
27734 case 3:
27735 // op: Zm
27736 return 16;
27737 }
27738 break;
27739 }
27740 case AArch64::SDOT_ZZZI_HtoD:
27741 case AArch64::UDOT_ZZZI_HtoD: {
27742 switch (OpNum) {
27743 case 0:
27744 // op: Zda
27745 return 0;
27746 case 2:
27747 // op: Zn
27748 return 5;
27749 case 4:
27750 // op: iop
27751 return 20;
27752 case 3:
27753 // op: Zm
27754 return 16;
27755 }
27756 break;
27757 }
27758 case AArch64::FCMLA_ZZZI_H: {
27759 switch (OpNum) {
27760 case 0:
27761 // op: Zda
27762 return 0;
27763 case 2:
27764 // op: Zn
27765 return 5;
27766 case 5:
27767 // op: imm
27768 return 10;
27769 case 3:
27770 // op: Zm
27771 return 16;
27772 case 4:
27773 // op: iop
27774 return 19;
27775 }
27776 break;
27777 }
27778 case AArch64::FCMLA_ZZZI_S: {
27779 switch (OpNum) {
27780 case 0:
27781 // op: Zda
27782 return 0;
27783 case 2:
27784 // op: Zn
27785 return 5;
27786 case 5:
27787 // op: imm
27788 return 10;
27789 case 3:
27790 // op: Zm
27791 return 16;
27792 case 4:
27793 // op: iop
27794 return 20;
27795 }
27796 break;
27797 }
27798 case AArch64::CDOT_ZZZI_S:
27799 case AArch64::CMLA_ZZZI_H:
27800 case AArch64::SQRDCMLAH_ZZZI_H: {
27801 switch (OpNum) {
27802 case 0:
27803 // op: Zda
27804 return 0;
27805 case 2:
27806 // op: Zn
27807 return 5;
27808 case 5:
27809 // op: rot
27810 return 10;
27811 case 4:
27812 // op: iop
27813 return 19;
27814 case 3:
27815 // op: Zm
27816 return 16;
27817 }
27818 break;
27819 }
27820 case AArch64::CDOT_ZZZI_D:
27821 case AArch64::CMLA_ZZZI_S:
27822 case AArch64::SQRDCMLAH_ZZZI_S: {
27823 switch (OpNum) {
27824 case 0:
27825 // op: Zda
27826 return 0;
27827 case 2:
27828 // op: Zn
27829 return 5;
27830 case 5:
27831 // op: rot
27832 return 10;
27833 case 4:
27834 // op: iop
27835 return 20;
27836 case 3:
27837 // op: Zm
27838 return 16;
27839 }
27840 break;
27841 }
27842 case AArch64::MAD_CPA: {
27843 switch (OpNum) {
27844 case 0:
27845 // op: Zdn
27846 return 0;
27847 case 2:
27848 // op: Zm
27849 return 16;
27850 case 3:
27851 // op: Za
27852 return 5;
27853 }
27854 break;
27855 }
27856 case AArch64::XAR_ZZZI_B:
27857 case AArch64::XAR_ZZZI_D:
27858 case AArch64::XAR_ZZZI_H:
27859 case AArch64::XAR_ZZZI_S: {
27860 switch (OpNum) {
27861 case 0:
27862 // op: Zdn
27863 return 0;
27864 case 2:
27865 // op: Zm
27866 return 5;
27867 case 3:
27868 // op: imm
27869 return 16;
27870 }
27871 break;
27872 }
27873 case AArch64::FTMAD_ZZI_D:
27874 case AArch64::FTMAD_ZZI_H:
27875 case AArch64::FTMAD_ZZI_S: {
27876 switch (OpNum) {
27877 case 0:
27878 // op: Zdn
27879 return 0;
27880 case 2:
27881 // op: Zm
27882 return 5;
27883 case 3:
27884 // op: imm3
27885 return 16;
27886 }
27887 break;
27888 }
27889 case AArch64::EXTQ_ZZI: {
27890 switch (OpNum) {
27891 case 0:
27892 // op: Zdn
27893 return 0;
27894 case 2:
27895 // op: Zm
27896 return 5;
27897 case 3:
27898 // op: imm4
27899 return 16;
27900 }
27901 break;
27902 }
27903 case AArch64::EXT_ZZI: {
27904 switch (OpNum) {
27905 case 0:
27906 // op: Zdn
27907 return 0;
27908 case 2:
27909 // op: Zm
27910 return 5;
27911 case 3:
27912 // op: imm8
27913 return 10;
27914 }
27915 break;
27916 }
27917 case AArch64::CADD_ZZI_B:
27918 case AArch64::CADD_ZZI_D:
27919 case AArch64::CADD_ZZI_H:
27920 case AArch64::CADD_ZZI_S:
27921 case AArch64::SQCADD_ZZI_B:
27922 case AArch64::SQCADD_ZZI_D:
27923 case AArch64::SQCADD_ZZI_H:
27924 case AArch64::SQCADD_ZZI_S: {
27925 switch (OpNum) {
27926 case 0:
27927 // op: Zdn
27928 return 0;
27929 case 2:
27930 // op: Zm
27931 return 5;
27932 case 3:
27933 // op: rot
27934 return 10;
27935 }
27936 break;
27937 }
27938 case AArch64::AESD_ZZZ_B:
27939 case AArch64::AESE_ZZZ_B:
27940 case AArch64::SM4E_ZZZ_S: {
27941 switch (OpNum) {
27942 case 0:
27943 // op: Zdn
27944 return 0;
27945 case 2:
27946 // op: Zm
27947 return 5;
27948 }
27949 break;
27950 }
27951 case AArch64::ADD_ZI_B:
27952 case AArch64::ADD_ZI_D:
27953 case AArch64::ADD_ZI_H:
27954 case AArch64::ADD_ZI_S:
27955 case AArch64::MUL_ZI_B:
27956 case AArch64::MUL_ZI_D:
27957 case AArch64::MUL_ZI_H:
27958 case AArch64::MUL_ZI_S:
27959 case AArch64::SMAX_ZI_B:
27960 case AArch64::SMAX_ZI_D:
27961 case AArch64::SMAX_ZI_H:
27962 case AArch64::SMAX_ZI_S:
27963 case AArch64::SMIN_ZI_B:
27964 case AArch64::SMIN_ZI_D:
27965 case AArch64::SMIN_ZI_H:
27966 case AArch64::SMIN_ZI_S:
27967 case AArch64::SQADD_ZI_B:
27968 case AArch64::SQADD_ZI_D:
27969 case AArch64::SQADD_ZI_H:
27970 case AArch64::SQADD_ZI_S:
27971 case AArch64::SQSUB_ZI_B:
27972 case AArch64::SQSUB_ZI_D:
27973 case AArch64::SQSUB_ZI_H:
27974 case AArch64::SQSUB_ZI_S:
27975 case AArch64::SUBR_ZI_B:
27976 case AArch64::SUBR_ZI_D:
27977 case AArch64::SUBR_ZI_H:
27978 case AArch64::SUBR_ZI_S:
27979 case AArch64::SUB_ZI_B:
27980 case AArch64::SUB_ZI_D:
27981 case AArch64::SUB_ZI_H:
27982 case AArch64::SUB_ZI_S:
27983 case AArch64::UMAX_ZI_B:
27984 case AArch64::UMAX_ZI_D:
27985 case AArch64::UMAX_ZI_H:
27986 case AArch64::UMAX_ZI_S:
27987 case AArch64::UMIN_ZI_B:
27988 case AArch64::UMIN_ZI_D:
27989 case AArch64::UMIN_ZI_H:
27990 case AArch64::UMIN_ZI_S:
27991 case AArch64::UQADD_ZI_B:
27992 case AArch64::UQADD_ZI_D:
27993 case AArch64::UQADD_ZI_H:
27994 case AArch64::UQADD_ZI_S:
27995 case AArch64::UQSUB_ZI_B:
27996 case AArch64::UQSUB_ZI_D:
27997 case AArch64::UQSUB_ZI_H:
27998 case AArch64::UQSUB_ZI_S: {
27999 switch (OpNum) {
28000 case 0:
28001 // op: Zdn
28002 return 0;
28003 case 2:
28004 // op: imm
28005 return 5;
28006 }
28007 break;
28008 }
28009 case AArch64::AND_ZI:
28010 case AArch64::EOR_ZI:
28011 case AArch64::ORR_ZI: {
28012 switch (OpNum) {
28013 case 0:
28014 // op: Zdn
28015 return 0;
28016 case 2:
28017 // op: imms13
28018 return 5;
28019 }
28020 break;
28021 }
28022 case AArch64::DECD_ZPiI:
28023 case AArch64::DECH_ZPiI:
28024 case AArch64::DECW_ZPiI:
28025 case AArch64::INCD_ZPiI:
28026 case AArch64::INCH_ZPiI:
28027 case AArch64::INCW_ZPiI:
28028 case AArch64::SQDECD_ZPiI:
28029 case AArch64::SQDECH_ZPiI:
28030 case AArch64::SQDECW_ZPiI:
28031 case AArch64::SQINCD_ZPiI:
28032 case AArch64::SQINCH_ZPiI:
28033 case AArch64::SQINCW_ZPiI:
28034 case AArch64::UQDECD_ZPiI:
28035 case AArch64::UQDECH_ZPiI:
28036 case AArch64::UQDECW_ZPiI:
28037 case AArch64::UQINCD_ZPiI:
28038 case AArch64::UQINCH_ZPiI:
28039 case AArch64::UQINCW_ZPiI: {
28040 switch (OpNum) {
28041 case 0:
28042 // op: Zdn
28043 return 0;
28044 case 2:
28045 // op: pattern
28046 return 5;
28047 case 3:
28048 // op: imm4
28049 return 16;
28050 }
28051 break;
28052 }
28053 case AArch64::BCAX_ZZZZ:
28054 case AArch64::BSL1N_ZZZZ:
28055 case AArch64::BSL2N_ZZZZ:
28056 case AArch64::BSL_ZZZZ:
28057 case AArch64::EOR3_ZZZZ:
28058 case AArch64::NBSL_ZZZZ: {
28059 switch (OpNum) {
28060 case 0:
28061 // op: Zdn
28062 return 0;
28063 case 3:
28064 // op: Zk
28065 return 5;
28066 case 2:
28067 // op: Zm
28068 return 16;
28069 }
28070 break;
28071 }
28072 case AArch64::FCADD_ZPmZ_D:
28073 case AArch64::FCADD_ZPmZ_H:
28074 case AArch64::FCADD_ZPmZ_S: {
28075 switch (OpNum) {
28076 case 0:
28077 // op: Zdn
28078 return 0;
28079 case 3:
28080 // op: Zm
28081 return 5;
28082 case 1:
28083 // op: Pg
28084 return 10;
28085 case 4:
28086 // op: imm
28087 return 16;
28088 }
28089 break;
28090 }
28091 case AArch64::AESIMC_ZZ_B:
28092 case AArch64::AESMC_ZZ_B: {
28093 switch (OpNum) {
28094 case 0:
28095 // op: Zdn
28096 return 0;
28097 }
28098 break;
28099 }
28100 case AArch64::LD1RO_B:
28101 case AArch64::LD1RO_D:
28102 case AArch64::LD1RO_H:
28103 case AArch64::LD1RO_W:
28104 case AArch64::LD1RQ_B:
28105 case AArch64::LD1RQ_D:
28106 case AArch64::LD1RQ_H:
28107 case AArch64::LD1RQ_W: {
28108 switch (OpNum) {
28109 case 0:
28110 // op: Zt
28111 return 0;
28112 case 1:
28113 // op: Pg
28114 return 10;
28115 case 2:
28116 // op: Rn
28117 return 5;
28118 case 3:
28119 // op: Rm
28120 return 16;
28121 }
28122 break;
28123 }
28124 case AArch64::LD2B_IMM:
28125 case AArch64::LD2D_IMM:
28126 case AArch64::LD2H_IMM:
28127 case AArch64::LD2Q_IMM:
28128 case AArch64::LD2W_IMM:
28129 case AArch64::LD3B_IMM:
28130 case AArch64::LD3D_IMM:
28131 case AArch64::LD3H_IMM:
28132 case AArch64::LD3Q_IMM:
28133 case AArch64::LD3W_IMM:
28134 case AArch64::LD4B_IMM:
28135 case AArch64::LD4D_IMM:
28136 case AArch64::LD4H_IMM:
28137 case AArch64::LD4Q_IMM:
28138 case AArch64::LD4W_IMM:
28139 case AArch64::LDNT1B_ZRI:
28140 case AArch64::LDNT1D_ZRI:
28141 case AArch64::LDNT1H_ZRI:
28142 case AArch64::LDNT1W_ZRI: {
28143 switch (OpNum) {
28144 case 0:
28145 // op: Zt
28146 return 0;
28147 case 1:
28148 // op: Pg
28149 return 10;
28150 case 2:
28151 // op: Rn
28152 return 5;
28153 case 3:
28154 // op: imm4
28155 return 16;
28156 }
28157 break;
28158 }
28159 case AArch64::LD1B:
28160 case AArch64::LD1B_D:
28161 case AArch64::LD1B_H:
28162 case AArch64::LD1B_S:
28163 case AArch64::LD1D:
28164 case AArch64::LD1H:
28165 case AArch64::LD1H_D:
28166 case AArch64::LD1H_S:
28167 case AArch64::LD1SB_D:
28168 case AArch64::LD1SB_H:
28169 case AArch64::LD1SB_S:
28170 case AArch64::LD1SH_D:
28171 case AArch64::LD1SH_S:
28172 case AArch64::LD1SW_D:
28173 case AArch64::LD1W:
28174 case AArch64::LD1W_D:
28175 case AArch64::LDFF1B:
28176 case AArch64::LDFF1B_D:
28177 case AArch64::LDFF1B_H:
28178 case AArch64::LDFF1B_S:
28179 case AArch64::LDFF1D:
28180 case AArch64::LDFF1H:
28181 case AArch64::LDFF1H_D:
28182 case AArch64::LDFF1H_S:
28183 case AArch64::LDFF1SB_D:
28184 case AArch64::LDFF1SB_H:
28185 case AArch64::LDFF1SB_S:
28186 case AArch64::LDFF1SH_D:
28187 case AArch64::LDFF1SH_S:
28188 case AArch64::LDFF1SW_D:
28189 case AArch64::LDFF1W:
28190 case AArch64::LDFF1W_D: {
28191 switch (OpNum) {
28192 case 0:
28193 // op: Zt
28194 return 0;
28195 case 1:
28196 // op: Pg
28197 return 10;
28198 case 3:
28199 // op: Rm
28200 return 16;
28201 case 2:
28202 // op: Rn
28203 return 5;
28204 }
28205 break;
28206 }
28207 case AArch64::LD1D_Q:
28208 case AArch64::LD1W_Q:
28209 case AArch64::ST2Q:
28210 case AArch64::ST3Q:
28211 case AArch64::ST4Q: {
28212 switch (OpNum) {
28213 case 0:
28214 // op: Zt
28215 return 0;
28216 case 2:
28217 // op: Rn
28218 return 5;
28219 case 1:
28220 // op: Pg
28221 return 10;
28222 case 3:
28223 // op: Rm
28224 return 16;
28225 }
28226 break;
28227 }
28228 case AArch64::LD1D_Q_IMM:
28229 case AArch64::LD1RO_B_IMM:
28230 case AArch64::LD1RO_D_IMM:
28231 case AArch64::LD1RO_H_IMM:
28232 case AArch64::LD1RO_W_IMM:
28233 case AArch64::LD1RQ_B_IMM:
28234 case AArch64::LD1RQ_D_IMM:
28235 case AArch64::LD1RQ_H_IMM:
28236 case AArch64::LD1RQ_W_IMM:
28237 case AArch64::LD1W_Q_IMM:
28238 case AArch64::ST2Q_IMM:
28239 case AArch64::ST3Q_IMM:
28240 case AArch64::ST4Q_IMM: {
28241 switch (OpNum) {
28242 case 0:
28243 // op: Zt
28244 return 0;
28245 case 2:
28246 // op: Rn
28247 return 5;
28248 case 1:
28249 // op: Pg
28250 return 10;
28251 case 3:
28252 // op: imm4
28253 return 16;
28254 }
28255 break;
28256 }
28257 case AArch64::GLD1Q:
28258 case AArch64::SST1Q: {
28259 switch (OpNum) {
28260 case 0:
28261 // op: Zt
28262 return 0;
28263 case 2:
28264 // op: Zn
28265 return 5;
28266 case 1:
28267 // op: Pg
28268 return 10;
28269 case 3:
28270 // op: Rm
28271 return 16;
28272 }
28273 break;
28274 }
28275 case AArch64::LD1B_2Z_IMM:
28276 case AArch64::LD1D_2Z_IMM:
28277 case AArch64::LD1H_2Z_IMM:
28278 case AArch64::LD1W_2Z_IMM:
28279 case AArch64::LDNT1B_2Z_IMM:
28280 case AArch64::LDNT1D_2Z_IMM:
28281 case AArch64::LDNT1H_2Z_IMM:
28282 case AArch64::LDNT1W_2Z_IMM:
28283 case AArch64::ST1B_2Z_IMM:
28284 case AArch64::ST1D_2Z_IMM:
28285 case AArch64::ST1H_2Z_IMM:
28286 case AArch64::ST1W_2Z_IMM:
28287 case AArch64::STNT1B_2Z_IMM:
28288 case AArch64::STNT1D_2Z_IMM:
28289 case AArch64::STNT1H_2Z_IMM:
28290 case AArch64::STNT1W_2Z_IMM: {
28291 switch (OpNum) {
28292 case 0:
28293 // op: Zt
28294 return 1;
28295 case 2:
28296 // op: Rn
28297 return 5;
28298 case 1:
28299 // op: PNg
28300 return 10;
28301 case 3:
28302 // op: imm4
28303 return 16;
28304 }
28305 break;
28306 }
28307 case AArch64::LD1B_2Z:
28308 case AArch64::LD1D_2Z:
28309 case AArch64::LD1H_2Z:
28310 case AArch64::LD1W_2Z:
28311 case AArch64::LDNT1B_2Z:
28312 case AArch64::LDNT1D_2Z:
28313 case AArch64::LDNT1H_2Z:
28314 case AArch64::LDNT1W_2Z:
28315 case AArch64::ST1B_2Z:
28316 case AArch64::ST1D_2Z:
28317 case AArch64::ST1H_2Z:
28318 case AArch64::ST1W_2Z:
28319 case AArch64::STNT1B_2Z:
28320 case AArch64::STNT1D_2Z:
28321 case AArch64::STNT1H_2Z:
28322 case AArch64::STNT1W_2Z: {
28323 switch (OpNum) {
28324 case 0:
28325 // op: Zt
28326 return 1;
28327 case 3:
28328 // op: Rm
28329 return 16;
28330 case 2:
28331 // op: Rn
28332 return 5;
28333 case 1:
28334 // op: PNg
28335 return 10;
28336 }
28337 break;
28338 }
28339 case AArch64::LD1B_4Z_IMM:
28340 case AArch64::LD1D_4Z_IMM:
28341 case AArch64::LD1H_4Z_IMM:
28342 case AArch64::LD1W_4Z_IMM:
28343 case AArch64::LDNT1B_4Z_IMM:
28344 case AArch64::LDNT1D_4Z_IMM:
28345 case AArch64::LDNT1H_4Z_IMM:
28346 case AArch64::LDNT1W_4Z_IMM:
28347 case AArch64::ST1B_4Z_IMM:
28348 case AArch64::ST1D_4Z_IMM:
28349 case AArch64::ST1H_4Z_IMM:
28350 case AArch64::ST1W_4Z_IMM:
28351 case AArch64::STNT1B_4Z_IMM:
28352 case AArch64::STNT1D_4Z_IMM:
28353 case AArch64::STNT1H_4Z_IMM:
28354 case AArch64::STNT1W_4Z_IMM: {
28355 switch (OpNum) {
28356 case 0:
28357 // op: Zt
28358 return 2;
28359 case 2:
28360 // op: Rn
28361 return 5;
28362 case 1:
28363 // op: PNg
28364 return 10;
28365 case 3:
28366 // op: imm4
28367 return 16;
28368 }
28369 break;
28370 }
28371 case AArch64::LD1B_4Z:
28372 case AArch64::LD1D_4Z:
28373 case AArch64::LD1H_4Z:
28374 case AArch64::LD1W_4Z:
28375 case AArch64::LDNT1B_4Z:
28376 case AArch64::LDNT1D_4Z:
28377 case AArch64::LDNT1H_4Z:
28378 case AArch64::LDNT1W_4Z:
28379 case AArch64::ST1B_4Z:
28380 case AArch64::ST1D_4Z:
28381 case AArch64::ST1H_4Z:
28382 case AArch64::ST1W_4Z:
28383 case AArch64::STNT1B_4Z:
28384 case AArch64::STNT1D_4Z:
28385 case AArch64::STNT1H_4Z:
28386 case AArch64::STNT1W_4Z: {
28387 switch (OpNum) {
28388 case 0:
28389 // op: Zt
28390 return 2;
28391 case 3:
28392 // op: Rm
28393 return 16;
28394 case 2:
28395 // op: Rn
28396 return 5;
28397 case 1:
28398 // op: PNg
28399 return 10;
28400 }
28401 break;
28402 }
28403 case AArch64::B:
28404 case AArch64::BL: {
28405 switch (OpNum) {
28406 case 0:
28407 // op: addr
28408 return 0;
28409 }
28410 break;
28411 }
28412 case AArch64::BCcc:
28413 case AArch64::Bcc: {
28414 switch (OpNum) {
28415 case 0:
28416 // op: cond
28417 return 0;
28418 case 1:
28419 // op: target
28420 return 5;
28421 }
28422 break;
28423 }
28424 case AArch64::DUPi8: {
28425 switch (OpNum) {
28426 case 0:
28427 // op: dst
28428 return 0;
28429 case 1:
28430 // op: src
28431 return 5;
28432 case 2:
28433 // op: idx
28434 return 17;
28435 }
28436 break;
28437 }
28438 case AArch64::DUPi16: {
28439 switch (OpNum) {
28440 case 0:
28441 // op: dst
28442 return 0;
28443 case 1:
28444 // op: src
28445 return 5;
28446 case 2:
28447 // op: idx
28448 return 18;
28449 }
28450 break;
28451 }
28452 case AArch64::DUPi32: {
28453 switch (OpNum) {
28454 case 0:
28455 // op: dst
28456 return 0;
28457 case 1:
28458 // op: src
28459 return 5;
28460 case 2:
28461 // op: idx
28462 return 19;
28463 }
28464 break;
28465 }
28466 case AArch64::DUPi64: {
28467 switch (OpNum) {
28468 case 0:
28469 // op: dst
28470 return 0;
28471 case 1:
28472 // op: src
28473 return 5;
28474 case 2:
28475 // op: idx
28476 return 20;
28477 }
28478 break;
28479 }
28480 case AArch64::UDF:
28481 case AArch64::ZERO_M: {
28482 switch (OpNum) {
28483 case 0:
28484 // op: imm
28485 return 0;
28486 }
28487 break;
28488 }
28489 case AArch64::TENTER: {
28490 switch (OpNum) {
28491 case 0:
28492 // op: imm
28493 return 5;
28494 case 1:
28495 // op: nb
28496 return 17;
28497 }
28498 break;
28499 }
28500 case AArch64::BRK:
28501 case AArch64::DCPS1:
28502 case AArch64::DCPS2:
28503 case AArch64::DCPS3:
28504 case AArch64::HINT:
28505 case AArch64::HLT:
28506 case AArch64::HVC:
28507 case AArch64::SMC:
28508 case AArch64::SVC: {
28509 switch (OpNum) {
28510 case 0:
28511 // op: imm
28512 return 5;
28513 }
28514 break;
28515 }
28516 case AArch64::AUTIASPPCi:
28517 case AArch64::AUTIBSPPCi:
28518 case AArch64::RETAASPPCi:
28519 case AArch64::RETABSPPCi: {
28520 switch (OpNum) {
28521 case 0:
28522 // op: label
28523 return 5;
28524 }
28525 break;
28526 }
28527 case AArch64::TEXIT: {
28528 switch (OpNum) {
28529 case 0:
28530 // op: nb
28531 return 10;
28532 }
28533 break;
28534 }
28535 case AArch64::SYSPxt_XZR: {
28536 switch (OpNum) {
28537 case 0:
28538 // op: op1
28539 return 16;
28540 case 1:
28541 // op: Cn
28542 return 12;
28543 case 2:
28544 // op: Cm
28545 return 8;
28546 case 3:
28547 // op: op2
28548 return 5;
28549 }
28550 break;
28551 }
28552 case AArch64::STSHH: {
28553 switch (OpNum) {
28554 case 0:
28555 // op: policy
28556 return 5;
28557 }
28558 break;
28559 }
28560 case AArch64::SHUH: {
28561 switch (OpNum) {
28562 case 0:
28563 // op: priority
28564 return 5;
28565 }
28566 break;
28567 }
28568 case AArch64::MSRpstateImm1:
28569 case AArch64::MSRpstateImm4: {
28570 switch (OpNum) {
28571 case 0:
28572 // op: pstatefield
28573 return 5;
28574 case 1:
28575 // op: imm
28576 return 8;
28577 }
28578 break;
28579 }
28580 case AArch64::MSRpstatesvcrImm1: {
28581 switch (OpNum) {
28582 case 0:
28583 // op: pstatefield
28584 return 9;
28585 case 1:
28586 // op: imm
28587 return 8;
28588 }
28589 break;
28590 }
28591 case AArch64::SEL_VG2_2ZC2Z2Z_B:
28592 case AArch64::SEL_VG2_2ZC2Z2Z_D:
28593 case AArch64::SEL_VG2_2ZC2Z2Z_H:
28594 case AArch64::SEL_VG2_2ZC2Z2Z_S: {
28595 switch (OpNum) {
28596 case 1:
28597 // op: PNg
28598 return 10;
28599 case 3:
28600 // op: Zm
28601 return 17;
28602 case 2:
28603 // op: Zn
28604 return 6;
28605 case 0:
28606 // op: Zd
28607 return 1;
28608 }
28609 break;
28610 }
28611 case AArch64::SEL_VG4_4ZC4Z4Z_B:
28612 case AArch64::SEL_VG4_4ZC4Z4Z_D:
28613 case AArch64::SEL_VG4_4ZC4Z4Z_H:
28614 case AArch64::SEL_VG4_4ZC4Z4Z_S: {
28615 switch (OpNum) {
28616 case 1:
28617 // op: PNg
28618 return 10;
28619 case 3:
28620 // op: Zm
28621 return 18;
28622 case 2:
28623 // op: Zn
28624 return 7;
28625 case 0:
28626 // op: Zd
28627 return 2;
28628 }
28629 break;
28630 }
28631 case AArch64::LASTA_RPZ_B:
28632 case AArch64::LASTA_RPZ_D:
28633 case AArch64::LASTA_RPZ_H:
28634 case AArch64::LASTA_RPZ_S:
28635 case AArch64::LASTB_RPZ_B:
28636 case AArch64::LASTB_RPZ_D:
28637 case AArch64::LASTB_RPZ_H:
28638 case AArch64::LASTB_RPZ_S: {
28639 switch (OpNum) {
28640 case 1:
28641 // op: Pg
28642 return 10;
28643 case 0:
28644 // op: Rd
28645 return 0;
28646 case 2:
28647 // op: Zn
28648 return 5;
28649 }
28650 break;
28651 }
28652 case AArch64::CLASTA_RPZ_B:
28653 case AArch64::CLASTA_RPZ_D:
28654 case AArch64::CLASTA_RPZ_H:
28655 case AArch64::CLASTA_RPZ_S:
28656 case AArch64::CLASTB_RPZ_B:
28657 case AArch64::CLASTB_RPZ_D:
28658 case AArch64::CLASTB_RPZ_H:
28659 case AArch64::CLASTB_RPZ_S: {
28660 switch (OpNum) {
28661 case 1:
28662 // op: Pg
28663 return 10;
28664 case 0:
28665 // op: Rdn
28666 return 0;
28667 case 3:
28668 // op: Zm
28669 return 5;
28670 }
28671 break;
28672 }
28673 case AArch64::ANDV_VPZ_B:
28674 case AArch64::ANDV_VPZ_D:
28675 case AArch64::ANDV_VPZ_H:
28676 case AArch64::ANDV_VPZ_S:
28677 case AArch64::EORV_VPZ_B:
28678 case AArch64::EORV_VPZ_D:
28679 case AArch64::EORV_VPZ_H:
28680 case AArch64::EORV_VPZ_S:
28681 case AArch64::LASTA_VPZ_B:
28682 case AArch64::LASTA_VPZ_D:
28683 case AArch64::LASTA_VPZ_H:
28684 case AArch64::LASTA_VPZ_S:
28685 case AArch64::LASTB_VPZ_B:
28686 case AArch64::LASTB_VPZ_D:
28687 case AArch64::LASTB_VPZ_H:
28688 case AArch64::LASTB_VPZ_S:
28689 case AArch64::ORV_VPZ_B:
28690 case AArch64::ORV_VPZ_D:
28691 case AArch64::ORV_VPZ_H:
28692 case AArch64::ORV_VPZ_S:
28693 case AArch64::SADDV_VPZ_B:
28694 case AArch64::SADDV_VPZ_H:
28695 case AArch64::SADDV_VPZ_S:
28696 case AArch64::SMAXV_VPZ_B:
28697 case AArch64::SMAXV_VPZ_D:
28698 case AArch64::SMAXV_VPZ_H:
28699 case AArch64::SMAXV_VPZ_S:
28700 case AArch64::SMINV_VPZ_B:
28701 case AArch64::SMINV_VPZ_D:
28702 case AArch64::SMINV_VPZ_H:
28703 case AArch64::SMINV_VPZ_S:
28704 case AArch64::UADDV_VPZ_B:
28705 case AArch64::UADDV_VPZ_D:
28706 case AArch64::UADDV_VPZ_H:
28707 case AArch64::UADDV_VPZ_S:
28708 case AArch64::UMAXV_VPZ_B:
28709 case AArch64::UMAXV_VPZ_D:
28710 case AArch64::UMAXV_VPZ_H:
28711 case AArch64::UMAXV_VPZ_S:
28712 case AArch64::UMINV_VPZ_B:
28713 case AArch64::UMINV_VPZ_D:
28714 case AArch64::UMINV_VPZ_H:
28715 case AArch64::UMINV_VPZ_S: {
28716 switch (OpNum) {
28717 case 1:
28718 // op: Pg
28719 return 10;
28720 case 0:
28721 // op: Vd
28722 return 0;
28723 case 2:
28724 // op: Zn
28725 return 5;
28726 }
28727 break;
28728 }
28729 case AArch64::CLASTA_VPZ_B:
28730 case AArch64::CLASTA_VPZ_D:
28731 case AArch64::CLASTA_VPZ_H:
28732 case AArch64::CLASTA_VPZ_S:
28733 case AArch64::CLASTB_VPZ_B:
28734 case AArch64::CLASTB_VPZ_D:
28735 case AArch64::CLASTB_VPZ_H:
28736 case AArch64::CLASTB_VPZ_S:
28737 case AArch64::FADDA_VPZ_D:
28738 case AArch64::FADDA_VPZ_H:
28739 case AArch64::FADDA_VPZ_S: {
28740 switch (OpNum) {
28741 case 1:
28742 // op: Pg
28743 return 10;
28744 case 0:
28745 // op: Vdn
28746 return 0;
28747 case 3:
28748 // op: Zm
28749 return 5;
28750 }
28751 break;
28752 }
28753 case AArch64::ABS_ZPzZ_B:
28754 case AArch64::ABS_ZPzZ_D:
28755 case AArch64::ABS_ZPzZ_H:
28756 case AArch64::ABS_ZPzZ_S:
28757 case AArch64::BFCVT_ZPzZ_StoH:
28758 case AArch64::CLS_ZPzZ_B:
28759 case AArch64::CLS_ZPzZ_D:
28760 case AArch64::CLS_ZPzZ_H:
28761 case AArch64::CLS_ZPzZ_S:
28762 case AArch64::CLZ_ZPzZ_B:
28763 case AArch64::CLZ_ZPzZ_D:
28764 case AArch64::CLZ_ZPzZ_H:
28765 case AArch64::CLZ_ZPzZ_S:
28766 case AArch64::CNOT_ZPzZ_B:
28767 case AArch64::CNOT_ZPzZ_D:
28768 case AArch64::CNOT_ZPzZ_H:
28769 case AArch64::CNOT_ZPzZ_S:
28770 case AArch64::CNT_ZPzZ_B:
28771 case AArch64::CNT_ZPzZ_D:
28772 case AArch64::CNT_ZPzZ_H:
28773 case AArch64::CNT_ZPzZ_S:
28774 case AArch64::COMPACT_ZPZ_B:
28775 case AArch64::COMPACT_ZPZ_D:
28776 case AArch64::COMPACT_ZPZ_H:
28777 case AArch64::COMPACT_ZPZ_S:
28778 case AArch64::FABS_ZPzZ_D:
28779 case AArch64::FABS_ZPzZ_H:
28780 case AArch64::FABS_ZPzZ_S:
28781 case AArch64::FCVTX_ZPzZ_DtoS:
28782 case AArch64::FCVTZS_ZPzZ_DtoD:
28783 case AArch64::FCVTZS_ZPzZ_DtoS:
28784 case AArch64::FCVTZS_ZPzZ_HtoD:
28785 case AArch64::FCVTZS_ZPzZ_HtoH:
28786 case AArch64::FCVTZS_ZPzZ_HtoS:
28787 case AArch64::FCVTZS_ZPzZ_StoD:
28788 case AArch64::FCVTZS_ZPzZ_StoS:
28789 case AArch64::FCVTZU_ZPzZ_DtoD:
28790 case AArch64::FCVTZU_ZPzZ_DtoS:
28791 case AArch64::FCVTZU_ZPzZ_HtoD:
28792 case AArch64::FCVTZU_ZPzZ_HtoH:
28793 case AArch64::FCVTZU_ZPzZ_HtoS:
28794 case AArch64::FCVTZU_ZPzZ_StoD:
28795 case AArch64::FCVTZU_ZPzZ_StoS:
28796 case AArch64::FCVT_ZPzZ_DtoH:
28797 case AArch64::FCVT_ZPzZ_DtoS:
28798 case AArch64::FCVT_ZPzZ_HtoD:
28799 case AArch64::FCVT_ZPzZ_HtoS:
28800 case AArch64::FCVT_ZPzZ_StoD:
28801 case AArch64::FCVT_ZPzZ_StoH:
28802 case AArch64::FLOGB_ZPzZ_D:
28803 case AArch64::FLOGB_ZPzZ_H:
28804 case AArch64::FLOGB_ZPzZ_S:
28805 case AArch64::FNEG_ZPzZ_D:
28806 case AArch64::FNEG_ZPzZ_H:
28807 case AArch64::FNEG_ZPzZ_S:
28808 case AArch64::FRECPX_ZPzZ_D:
28809 case AArch64::FRECPX_ZPzZ_H:
28810 case AArch64::FRECPX_ZPzZ_S:
28811 case AArch64::FRINT32X_ZPzZ_D:
28812 case AArch64::FRINT32X_ZPzZ_S:
28813 case AArch64::FRINT32Z_ZPzZ_D:
28814 case AArch64::FRINT32Z_ZPzZ_S:
28815 case AArch64::FRINT64X_ZPzZ_D:
28816 case AArch64::FRINT64X_ZPzZ_S:
28817 case AArch64::FRINT64Z_ZPzZ_D:
28818 case AArch64::FRINT64Z_ZPzZ_S:
28819 case AArch64::FRINTA_ZPzZ_D:
28820 case AArch64::FRINTA_ZPzZ_H:
28821 case AArch64::FRINTA_ZPzZ_S:
28822 case AArch64::FRINTI_ZPzZ_D:
28823 case AArch64::FRINTI_ZPzZ_H:
28824 case AArch64::FRINTI_ZPzZ_S:
28825 case AArch64::FRINTM_ZPzZ_D:
28826 case AArch64::FRINTM_ZPzZ_H:
28827 case AArch64::FRINTM_ZPzZ_S:
28828 case AArch64::FRINTN_ZPzZ_D:
28829 case AArch64::FRINTN_ZPzZ_H:
28830 case AArch64::FRINTN_ZPzZ_S:
28831 case AArch64::FRINTP_ZPzZ_D:
28832 case AArch64::FRINTP_ZPzZ_H:
28833 case AArch64::FRINTP_ZPzZ_S:
28834 case AArch64::FRINTX_ZPzZ_D:
28835 case AArch64::FRINTX_ZPzZ_H:
28836 case AArch64::FRINTX_ZPzZ_S:
28837 case AArch64::FRINTZ_ZPzZ_D:
28838 case AArch64::FRINTZ_ZPzZ_H:
28839 case AArch64::FRINTZ_ZPzZ_S:
28840 case AArch64::FSQRT_ZPZz_D:
28841 case AArch64::FSQRT_ZPZz_H:
28842 case AArch64::FSQRT_ZPZz_S:
28843 case AArch64::MOVPRFX_ZPzZ_B:
28844 case AArch64::MOVPRFX_ZPzZ_D:
28845 case AArch64::MOVPRFX_ZPzZ_H:
28846 case AArch64::MOVPRFX_ZPzZ_S:
28847 case AArch64::NEG_ZPzZ_B:
28848 case AArch64::NEG_ZPzZ_D:
28849 case AArch64::NEG_ZPzZ_H:
28850 case AArch64::NEG_ZPzZ_S:
28851 case AArch64::NOT_ZPzZ_B:
28852 case AArch64::NOT_ZPzZ_D:
28853 case AArch64::NOT_ZPzZ_H:
28854 case AArch64::NOT_ZPzZ_S:
28855 case AArch64::SCVTF_ZPzZ_DtoD:
28856 case AArch64::SCVTF_ZPzZ_DtoH:
28857 case AArch64::SCVTF_ZPzZ_DtoS:
28858 case AArch64::SCVTF_ZPzZ_HtoH:
28859 case AArch64::SCVTF_ZPzZ_StoD:
28860 case AArch64::SCVTF_ZPzZ_StoH:
28861 case AArch64::SCVTF_ZPzZ_StoS:
28862 case AArch64::SQABS_ZPzZ_B:
28863 case AArch64::SQABS_ZPzZ_D:
28864 case AArch64::SQABS_ZPzZ_H:
28865 case AArch64::SQABS_ZPzZ_S:
28866 case AArch64::SQNEG_ZPzZ_B:
28867 case AArch64::SQNEG_ZPzZ_D:
28868 case AArch64::SQNEG_ZPzZ_H:
28869 case AArch64::SQNEG_ZPzZ_S:
28870 case AArch64::SXTB_ZPzZ_D:
28871 case AArch64::SXTB_ZPzZ_H:
28872 case AArch64::SXTB_ZPzZ_S:
28873 case AArch64::SXTH_ZPzZ_D:
28874 case AArch64::SXTH_ZPzZ_S:
28875 case AArch64::SXTW_ZPzZ_D:
28876 case AArch64::UCVTF_ZPzZ_DtoD:
28877 case AArch64::UCVTF_ZPzZ_DtoH:
28878 case AArch64::UCVTF_ZPzZ_DtoS:
28879 case AArch64::UCVTF_ZPzZ_HtoH:
28880 case AArch64::UCVTF_ZPzZ_StoD:
28881 case AArch64::UCVTF_ZPzZ_StoH:
28882 case AArch64::UCVTF_ZPzZ_StoS:
28883 case AArch64::URECPE_ZPzZ_S:
28884 case AArch64::URSQRTE_ZPzZ_S:
28885 case AArch64::UXTB_ZPzZ_D:
28886 case AArch64::UXTB_ZPzZ_H:
28887 case AArch64::UXTB_ZPzZ_S:
28888 case AArch64::UXTH_ZPzZ_D:
28889 case AArch64::UXTH_ZPzZ_S:
28890 case AArch64::UXTW_ZPzZ_D: {
28891 switch (OpNum) {
28892 case 1:
28893 // op: Pg
28894 return 10;
28895 case 0:
28896 // op: Zd
28897 return 0;
28898 case 2:
28899 // op: Zn
28900 return 5;
28901 }
28902 break;
28903 }
28904 case AArch64::SEL_ZPZZ_B:
28905 case AArch64::SEL_ZPZZ_D:
28906 case AArch64::SEL_ZPZZ_H:
28907 case AArch64::SEL_ZPZZ_S: {
28908 switch (OpNum) {
28909 case 1:
28910 // op: Pg
28911 return 10;
28912 case 0:
28913 // op: Zd
28914 return 0;
28915 case 3:
28916 // op: Zm
28917 return 16;
28918 case 2:
28919 // op: Zn
28920 return 5;
28921 }
28922 break;
28923 }
28924 case AArch64::BFMLA_ZPmZZ:
28925 case AArch64::BFMLS_ZPmZZ:
28926 case AArch64::FMLA_ZPmZZ_D:
28927 case AArch64::FMLA_ZPmZZ_H:
28928 case AArch64::FMLA_ZPmZZ_S:
28929 case AArch64::FMLS_ZPmZZ_D:
28930 case AArch64::FMLS_ZPmZZ_H:
28931 case AArch64::FMLS_ZPmZZ_S:
28932 case AArch64::FNMLA_ZPmZZ_D:
28933 case AArch64::FNMLA_ZPmZZ_H:
28934 case AArch64::FNMLA_ZPmZZ_S:
28935 case AArch64::FNMLS_ZPmZZ_D:
28936 case AArch64::FNMLS_ZPmZZ_H:
28937 case AArch64::FNMLS_ZPmZZ_S:
28938 case AArch64::MLA_ZPmZZ_B:
28939 case AArch64::MLA_ZPmZZ_D:
28940 case AArch64::MLA_ZPmZZ_H:
28941 case AArch64::MLA_ZPmZZ_S:
28942 case AArch64::MLS_ZPmZZ_B:
28943 case AArch64::MLS_ZPmZZ_D:
28944 case AArch64::MLS_ZPmZZ_H:
28945 case AArch64::MLS_ZPmZZ_S: {
28946 switch (OpNum) {
28947 case 1:
28948 // op: Pg
28949 return 10;
28950 case 0:
28951 // op: Zda
28952 return 0;
28953 case 4:
28954 // op: Zm
28955 return 16;
28956 case 3:
28957 // op: Zn
28958 return 5;
28959 }
28960 break;
28961 }
28962 case AArch64::ADD_ZPmZ_B:
28963 case AArch64::ADD_ZPmZ_CPA:
28964 case AArch64::ADD_ZPmZ_D:
28965 case AArch64::ADD_ZPmZ_H:
28966 case AArch64::ADD_ZPmZ_S:
28967 case AArch64::AND_ZPmZ_B:
28968 case AArch64::AND_ZPmZ_D:
28969 case AArch64::AND_ZPmZ_H:
28970 case AArch64::AND_ZPmZ_S:
28971 case AArch64::ASRR_ZPmZ_B:
28972 case AArch64::ASRR_ZPmZ_D:
28973 case AArch64::ASRR_ZPmZ_H:
28974 case AArch64::ASRR_ZPmZ_S:
28975 case AArch64::ASR_WIDE_ZPmZ_B:
28976 case AArch64::ASR_WIDE_ZPmZ_H:
28977 case AArch64::ASR_WIDE_ZPmZ_S:
28978 case AArch64::ASR_ZPmZ_B:
28979 case AArch64::ASR_ZPmZ_D:
28980 case AArch64::ASR_ZPmZ_H:
28981 case AArch64::ASR_ZPmZ_S:
28982 case AArch64::BFADD_ZPmZZ:
28983 case AArch64::BFMAXNM_ZPmZZ:
28984 case AArch64::BFMAX_ZPmZZ:
28985 case AArch64::BFMINNM_ZPmZZ:
28986 case AArch64::BFMIN_ZPmZZ:
28987 case AArch64::BFMUL_ZPmZZ:
28988 case AArch64::BFSCALE_ZPZZ_H:
28989 case AArch64::BFSUB_ZPmZZ:
28990 case AArch64::BIC_ZPmZ_B:
28991 case AArch64::BIC_ZPmZ_D:
28992 case AArch64::BIC_ZPmZ_H:
28993 case AArch64::BIC_ZPmZ_S:
28994 case AArch64::CLASTA_ZPZ_B:
28995 case AArch64::CLASTA_ZPZ_D:
28996 case AArch64::CLASTA_ZPZ_H:
28997 case AArch64::CLASTA_ZPZ_S:
28998 case AArch64::CLASTB_ZPZ_B:
28999 case AArch64::CLASTB_ZPZ_D:
29000 case AArch64::CLASTB_ZPZ_H:
29001 case AArch64::CLASTB_ZPZ_S:
29002 case AArch64::EOR_ZPmZ_B:
29003 case AArch64::EOR_ZPmZ_D:
29004 case AArch64::EOR_ZPmZ_H:
29005 case AArch64::EOR_ZPmZ_S:
29006 case AArch64::FABD_ZPmZ_D:
29007 case AArch64::FABD_ZPmZ_H:
29008 case AArch64::FABD_ZPmZ_S:
29009 case AArch64::FADD_ZPmZ_D:
29010 case AArch64::FADD_ZPmZ_H:
29011 case AArch64::FADD_ZPmZ_S:
29012 case AArch64::FAMAX_ZPmZ_D:
29013 case AArch64::FAMAX_ZPmZ_H:
29014 case AArch64::FAMAX_ZPmZ_S:
29015 case AArch64::FAMIN_ZPmZ_D:
29016 case AArch64::FAMIN_ZPmZ_H:
29017 case AArch64::FAMIN_ZPmZ_S:
29018 case AArch64::FDIVR_ZPmZ_D:
29019 case AArch64::FDIVR_ZPmZ_H:
29020 case AArch64::FDIVR_ZPmZ_S:
29021 case AArch64::FDIV_ZPmZ_D:
29022 case AArch64::FDIV_ZPmZ_H:
29023 case AArch64::FDIV_ZPmZ_S:
29024 case AArch64::FMAXNM_ZPmZ_D:
29025 case AArch64::FMAXNM_ZPmZ_H:
29026 case AArch64::FMAXNM_ZPmZ_S:
29027 case AArch64::FMAX_ZPmZ_D:
29028 case AArch64::FMAX_ZPmZ_H:
29029 case AArch64::FMAX_ZPmZ_S:
29030 case AArch64::FMINNM_ZPmZ_D:
29031 case AArch64::FMINNM_ZPmZ_H:
29032 case AArch64::FMINNM_ZPmZ_S:
29033 case AArch64::FMIN_ZPmZ_D:
29034 case AArch64::FMIN_ZPmZ_H:
29035 case AArch64::FMIN_ZPmZ_S:
29036 case AArch64::FMULX_ZPmZ_D:
29037 case AArch64::FMULX_ZPmZ_H:
29038 case AArch64::FMULX_ZPmZ_S:
29039 case AArch64::FMUL_ZPmZ_D:
29040 case AArch64::FMUL_ZPmZ_H:
29041 case AArch64::FMUL_ZPmZ_S:
29042 case AArch64::FSCALE_ZPmZ_D:
29043 case AArch64::FSCALE_ZPmZ_H:
29044 case AArch64::FSCALE_ZPmZ_S:
29045 case AArch64::FSUBR_ZPmZ_D:
29046 case AArch64::FSUBR_ZPmZ_H:
29047 case AArch64::FSUBR_ZPmZ_S:
29048 case AArch64::FSUB_ZPmZ_D:
29049 case AArch64::FSUB_ZPmZ_H:
29050 case AArch64::FSUB_ZPmZ_S:
29051 case AArch64::LSLR_ZPmZ_B:
29052 case AArch64::LSLR_ZPmZ_D:
29053 case AArch64::LSLR_ZPmZ_H:
29054 case AArch64::LSLR_ZPmZ_S:
29055 case AArch64::LSL_WIDE_ZPmZ_B:
29056 case AArch64::LSL_WIDE_ZPmZ_H:
29057 case AArch64::LSL_WIDE_ZPmZ_S:
29058 case AArch64::LSL_ZPmZ_B:
29059 case AArch64::LSL_ZPmZ_D:
29060 case AArch64::LSL_ZPmZ_H:
29061 case AArch64::LSL_ZPmZ_S:
29062 case AArch64::LSRR_ZPmZ_B:
29063 case AArch64::LSRR_ZPmZ_D:
29064 case AArch64::LSRR_ZPmZ_H:
29065 case AArch64::LSRR_ZPmZ_S:
29066 case AArch64::LSR_WIDE_ZPmZ_B:
29067 case AArch64::LSR_WIDE_ZPmZ_H:
29068 case AArch64::LSR_WIDE_ZPmZ_S:
29069 case AArch64::LSR_ZPmZ_B:
29070 case AArch64::LSR_ZPmZ_D:
29071 case AArch64::LSR_ZPmZ_H:
29072 case AArch64::LSR_ZPmZ_S:
29073 case AArch64::MUL_ZPmZ_B:
29074 case AArch64::MUL_ZPmZ_D:
29075 case AArch64::MUL_ZPmZ_H:
29076 case AArch64::MUL_ZPmZ_S:
29077 case AArch64::ORR_ZPmZ_B:
29078 case AArch64::ORR_ZPmZ_D:
29079 case AArch64::ORR_ZPmZ_H:
29080 case AArch64::ORR_ZPmZ_S:
29081 case AArch64::SABD_ZPmZ_B:
29082 case AArch64::SABD_ZPmZ_D:
29083 case AArch64::SABD_ZPmZ_H:
29084 case AArch64::SABD_ZPmZ_S:
29085 case AArch64::SDIVR_ZPmZ_D:
29086 case AArch64::SDIVR_ZPmZ_S:
29087 case AArch64::SDIV_ZPmZ_D:
29088 case AArch64::SDIV_ZPmZ_S:
29089 case AArch64::SMAX_ZPmZ_B:
29090 case AArch64::SMAX_ZPmZ_D:
29091 case AArch64::SMAX_ZPmZ_H:
29092 case AArch64::SMAX_ZPmZ_S:
29093 case AArch64::SMIN_ZPmZ_B:
29094 case AArch64::SMIN_ZPmZ_D:
29095 case AArch64::SMIN_ZPmZ_H:
29096 case AArch64::SMIN_ZPmZ_S:
29097 case AArch64::SMULH_ZPmZ_B:
29098 case AArch64::SMULH_ZPmZ_D:
29099 case AArch64::SMULH_ZPmZ_H:
29100 case AArch64::SMULH_ZPmZ_S:
29101 case AArch64::SPLICE_ZPZ_B:
29102 case AArch64::SPLICE_ZPZ_D:
29103 case AArch64::SPLICE_ZPZ_H:
29104 case AArch64::SPLICE_ZPZ_S:
29105 case AArch64::SUBR_ZPmZ_B:
29106 case AArch64::SUBR_ZPmZ_D:
29107 case AArch64::SUBR_ZPmZ_H:
29108 case AArch64::SUBR_ZPmZ_S:
29109 case AArch64::SUB_ZPmZ_B:
29110 case AArch64::SUB_ZPmZ_CPA:
29111 case AArch64::SUB_ZPmZ_D:
29112 case AArch64::SUB_ZPmZ_H:
29113 case AArch64::SUB_ZPmZ_S:
29114 case AArch64::UABD_ZPmZ_B:
29115 case AArch64::UABD_ZPmZ_D:
29116 case AArch64::UABD_ZPmZ_H:
29117 case AArch64::UABD_ZPmZ_S:
29118 case AArch64::UDIVR_ZPmZ_D:
29119 case AArch64::UDIVR_ZPmZ_S:
29120 case AArch64::UDIV_ZPmZ_D:
29121 case AArch64::UDIV_ZPmZ_S:
29122 case AArch64::UMAX_ZPmZ_B:
29123 case AArch64::UMAX_ZPmZ_D:
29124 case AArch64::UMAX_ZPmZ_H:
29125 case AArch64::UMAX_ZPmZ_S:
29126 case AArch64::UMIN_ZPmZ_B:
29127 case AArch64::UMIN_ZPmZ_D:
29128 case AArch64::UMIN_ZPmZ_H:
29129 case AArch64::UMIN_ZPmZ_S:
29130 case AArch64::UMULH_ZPmZ_B:
29131 case AArch64::UMULH_ZPmZ_D:
29132 case AArch64::UMULH_ZPmZ_H:
29133 case AArch64::UMULH_ZPmZ_S: {
29134 switch (OpNum) {
29135 case 1:
29136 // op: Pg
29137 return 10;
29138 case 0:
29139 // op: Zdn
29140 return 0;
29141 case 3:
29142 // op: Zm
29143 return 5;
29144 }
29145 break;
29146 }
29147 case AArch64::FADD_ZPmI_D:
29148 case AArch64::FADD_ZPmI_H:
29149 case AArch64::FADD_ZPmI_S:
29150 case AArch64::FMAXNM_ZPmI_D:
29151 case AArch64::FMAXNM_ZPmI_H:
29152 case AArch64::FMAXNM_ZPmI_S:
29153 case AArch64::FMAX_ZPmI_D:
29154 case AArch64::FMAX_ZPmI_H:
29155 case AArch64::FMAX_ZPmI_S:
29156 case AArch64::FMINNM_ZPmI_D:
29157 case AArch64::FMINNM_ZPmI_H:
29158 case AArch64::FMINNM_ZPmI_S:
29159 case AArch64::FMIN_ZPmI_D:
29160 case AArch64::FMIN_ZPmI_H:
29161 case AArch64::FMIN_ZPmI_S:
29162 case AArch64::FMUL_ZPmI_D:
29163 case AArch64::FMUL_ZPmI_H:
29164 case AArch64::FMUL_ZPmI_S:
29165 case AArch64::FSUBR_ZPmI_D:
29166 case AArch64::FSUBR_ZPmI_H:
29167 case AArch64::FSUBR_ZPmI_S:
29168 case AArch64::FSUB_ZPmI_D:
29169 case AArch64::FSUB_ZPmI_H:
29170 case AArch64::FSUB_ZPmI_S: {
29171 switch (OpNum) {
29172 case 1:
29173 // op: Pg
29174 return 10;
29175 case 0:
29176 // op: Zdn
29177 return 0;
29178 case 3:
29179 // op: i1
29180 return 5;
29181 }
29182 break;
29183 }
29184 case AArch64::ASRD_ZPmI_B:
29185 case AArch64::ASRD_ZPmI_D:
29186 case AArch64::ASRD_ZPmI_H:
29187 case AArch64::ASRD_ZPmI_S:
29188 case AArch64::ASR_ZPmI_B:
29189 case AArch64::ASR_ZPmI_D:
29190 case AArch64::ASR_ZPmI_H:
29191 case AArch64::ASR_ZPmI_S:
29192 case AArch64::LSL_ZPmI_B:
29193 case AArch64::LSL_ZPmI_D:
29194 case AArch64::LSL_ZPmI_H:
29195 case AArch64::LSL_ZPmI_S:
29196 case AArch64::LSR_ZPmI_B:
29197 case AArch64::LSR_ZPmI_D:
29198 case AArch64::LSR_ZPmI_H:
29199 case AArch64::LSR_ZPmI_S:
29200 case AArch64::SQSHLU_ZPmI_B:
29201 case AArch64::SQSHLU_ZPmI_D:
29202 case AArch64::SQSHLU_ZPmI_H:
29203 case AArch64::SQSHLU_ZPmI_S:
29204 case AArch64::SQSHL_ZPmI_B:
29205 case AArch64::SQSHL_ZPmI_D:
29206 case AArch64::SQSHL_ZPmI_H:
29207 case AArch64::SQSHL_ZPmI_S:
29208 case AArch64::SRSHR_ZPmI_B:
29209 case AArch64::SRSHR_ZPmI_D:
29210 case AArch64::SRSHR_ZPmI_H:
29211 case AArch64::SRSHR_ZPmI_S:
29212 case AArch64::UQSHL_ZPmI_B:
29213 case AArch64::UQSHL_ZPmI_D:
29214 case AArch64::UQSHL_ZPmI_H:
29215 case AArch64::UQSHL_ZPmI_S:
29216 case AArch64::URSHR_ZPmI_B:
29217 case AArch64::URSHR_ZPmI_D:
29218 case AArch64::URSHR_ZPmI_H:
29219 case AArch64::URSHR_ZPmI_S: {
29220 switch (OpNum) {
29221 case 1:
29222 // op: Pg
29223 return 10;
29224 case 0:
29225 // op: Zdn
29226 return 0;
29227 case 3:
29228 // op: imm
29229 return 5;
29230 }
29231 break;
29232 }
29233 case AArch64::MAD_ZPmZZ_B:
29234 case AArch64::MAD_ZPmZZ_D:
29235 case AArch64::MAD_ZPmZZ_H:
29236 case AArch64::MAD_ZPmZZ_S:
29237 case AArch64::MSB_ZPmZZ_B:
29238 case AArch64::MSB_ZPmZZ_D:
29239 case AArch64::MSB_ZPmZZ_H:
29240 case AArch64::MSB_ZPmZZ_S: {
29241 switch (OpNum) {
29242 case 1:
29243 // op: Pg
29244 return 10;
29245 case 0:
29246 // op: Zdn
29247 return 0;
29248 case 4:
29249 // op: Za
29250 return 5;
29251 case 3:
29252 // op: Zm
29253 return 16;
29254 }
29255 break;
29256 }
29257 case AArch64::CNTP_XPP_B:
29258 case AArch64::CNTP_XPP_D:
29259 case AArch64::CNTP_XPP_H:
29260 case AArch64::CNTP_XPP_S:
29261 case AArch64::FIRSTP_XPP_B:
29262 case AArch64::FIRSTP_XPP_D:
29263 case AArch64::FIRSTP_XPP_H:
29264 case AArch64::FIRSTP_XPP_S:
29265 case AArch64::LASTP_XPP_B:
29266 case AArch64::LASTP_XPP_D:
29267 case AArch64::LASTP_XPP_H:
29268 case AArch64::LASTP_XPP_S: {
29269 switch (OpNum) {
29270 case 1:
29271 // op: Pg
29272 return 10;
29273 case 2:
29274 // op: Pn
29275 return 5;
29276 case 0:
29277 // op: Rd
29278 return 0;
29279 }
29280 break;
29281 }
29282 case AArch64::LD1B_D_IMM:
29283 case AArch64::LD1B_H_IMM:
29284 case AArch64::LD1B_IMM:
29285 case AArch64::LD1B_S_IMM:
29286 case AArch64::LD1D_IMM:
29287 case AArch64::LD1H_D_IMM:
29288 case AArch64::LD1H_IMM:
29289 case AArch64::LD1H_S_IMM:
29290 case AArch64::LD1SB_D_IMM:
29291 case AArch64::LD1SB_H_IMM:
29292 case AArch64::LD1SB_S_IMM:
29293 case AArch64::LD1SH_D_IMM:
29294 case AArch64::LD1SH_S_IMM:
29295 case AArch64::LD1SW_D_IMM:
29296 case AArch64::LD1W_D_IMM:
29297 case AArch64::LD1W_IMM:
29298 case AArch64::LDNF1B_D_IMM:
29299 case AArch64::LDNF1B_H_IMM:
29300 case AArch64::LDNF1B_IMM:
29301 case AArch64::LDNF1B_S_IMM:
29302 case AArch64::LDNF1D_IMM:
29303 case AArch64::LDNF1H_D_IMM:
29304 case AArch64::LDNF1H_IMM:
29305 case AArch64::LDNF1H_S_IMM:
29306 case AArch64::LDNF1SB_D_IMM:
29307 case AArch64::LDNF1SB_H_IMM:
29308 case AArch64::LDNF1SB_S_IMM:
29309 case AArch64::LDNF1SH_D_IMM:
29310 case AArch64::LDNF1SH_S_IMM:
29311 case AArch64::LDNF1SW_D_IMM:
29312 case AArch64::LDNF1W_D_IMM:
29313 case AArch64::LDNF1W_IMM:
29314 case AArch64::ST1B_D_IMM:
29315 case AArch64::ST1B_H_IMM:
29316 case AArch64::ST1B_IMM:
29317 case AArch64::ST1B_S_IMM:
29318 case AArch64::ST1D_IMM:
29319 case AArch64::ST1D_Q_IMM:
29320 case AArch64::ST1H_D_IMM:
29321 case AArch64::ST1H_IMM:
29322 case AArch64::ST1H_S_IMM:
29323 case AArch64::ST1W_D_IMM:
29324 case AArch64::ST1W_IMM:
29325 case AArch64::ST1W_Q_IMM:
29326 case AArch64::ST2B_IMM:
29327 case AArch64::ST2D_IMM:
29328 case AArch64::ST2H_IMM:
29329 case AArch64::ST2W_IMM:
29330 case AArch64::ST3B_IMM:
29331 case AArch64::ST3D_IMM:
29332 case AArch64::ST3H_IMM:
29333 case AArch64::ST3W_IMM:
29334 case AArch64::ST4B_IMM:
29335 case AArch64::ST4D_IMM:
29336 case AArch64::ST4H_IMM:
29337 case AArch64::ST4W_IMM:
29338 case AArch64::STNT1B_ZRI:
29339 case AArch64::STNT1D_ZRI:
29340 case AArch64::STNT1H_ZRI:
29341 case AArch64::STNT1W_ZRI: {
29342 switch (OpNum) {
29343 case 1:
29344 // op: Pg
29345 return 10;
29346 case 2:
29347 // op: Rn
29348 return 5;
29349 case 0:
29350 // op: Zt
29351 return 0;
29352 case 3:
29353 // op: imm4
29354 return 16;
29355 }
29356 break;
29357 }
29358 case AArch64::LD1RB_D_IMM:
29359 case AArch64::LD1RB_H_IMM:
29360 case AArch64::LD1RB_IMM:
29361 case AArch64::LD1RB_S_IMM:
29362 case AArch64::LD1RD_IMM:
29363 case AArch64::LD1RH_D_IMM:
29364 case AArch64::LD1RH_IMM:
29365 case AArch64::LD1RH_S_IMM:
29366 case AArch64::LD1RSB_D_IMM:
29367 case AArch64::LD1RSB_H_IMM:
29368 case AArch64::LD1RSB_S_IMM:
29369 case AArch64::LD1RSH_D_IMM:
29370 case AArch64::LD1RSH_S_IMM:
29371 case AArch64::LD1RSW_IMM:
29372 case AArch64::LD1RW_D_IMM:
29373 case AArch64::LD1RW_IMM: {
29374 switch (OpNum) {
29375 case 1:
29376 // op: Pg
29377 return 10;
29378 case 2:
29379 // op: Rn
29380 return 5;
29381 case 0:
29382 // op: Zt
29383 return 0;
29384 case 3:
29385 // op: imm6
29386 return 16;
29387 }
29388 break;
29389 }
29390 case AArch64::GLD1B_D:
29391 case AArch64::GLD1B_D_SXTW:
29392 case AArch64::GLD1B_D_UXTW:
29393 case AArch64::GLD1B_S_SXTW:
29394 case AArch64::GLD1B_S_UXTW:
29395 case AArch64::GLD1D:
29396 case AArch64::GLD1D_SCALED:
29397 case AArch64::GLD1D_SXTW:
29398 case AArch64::GLD1D_SXTW_SCALED:
29399 case AArch64::GLD1D_UXTW:
29400 case AArch64::GLD1D_UXTW_SCALED:
29401 case AArch64::GLD1H_D:
29402 case AArch64::GLD1H_D_SCALED:
29403 case AArch64::GLD1H_D_SXTW:
29404 case AArch64::GLD1H_D_SXTW_SCALED:
29405 case AArch64::GLD1H_D_UXTW:
29406 case AArch64::GLD1H_D_UXTW_SCALED:
29407 case AArch64::GLD1H_S_SXTW:
29408 case AArch64::GLD1H_S_SXTW_SCALED:
29409 case AArch64::GLD1H_S_UXTW:
29410 case AArch64::GLD1H_S_UXTW_SCALED:
29411 case AArch64::GLD1SB_D:
29412 case AArch64::GLD1SB_D_SXTW:
29413 case AArch64::GLD1SB_D_UXTW:
29414 case AArch64::GLD1SB_S_SXTW:
29415 case AArch64::GLD1SB_S_UXTW:
29416 case AArch64::GLD1SH_D:
29417 case AArch64::GLD1SH_D_SCALED:
29418 case AArch64::GLD1SH_D_SXTW:
29419 case AArch64::GLD1SH_D_SXTW_SCALED:
29420 case AArch64::GLD1SH_D_UXTW:
29421 case AArch64::GLD1SH_D_UXTW_SCALED:
29422 case AArch64::GLD1SH_S_SXTW:
29423 case AArch64::GLD1SH_S_SXTW_SCALED:
29424 case AArch64::GLD1SH_S_UXTW:
29425 case AArch64::GLD1SH_S_UXTW_SCALED:
29426 case AArch64::GLD1SW_D:
29427 case AArch64::GLD1SW_D_SCALED:
29428 case AArch64::GLD1SW_D_SXTW:
29429 case AArch64::GLD1SW_D_SXTW_SCALED:
29430 case AArch64::GLD1SW_D_UXTW:
29431 case AArch64::GLD1SW_D_UXTW_SCALED:
29432 case AArch64::GLD1W_D:
29433 case AArch64::GLD1W_D_SCALED:
29434 case AArch64::GLD1W_D_SXTW:
29435 case AArch64::GLD1W_D_SXTW_SCALED:
29436 case AArch64::GLD1W_D_UXTW:
29437 case AArch64::GLD1W_D_UXTW_SCALED:
29438 case AArch64::GLD1W_SXTW:
29439 case AArch64::GLD1W_SXTW_SCALED:
29440 case AArch64::GLD1W_UXTW:
29441 case AArch64::GLD1W_UXTW_SCALED:
29442 case AArch64::GLDFF1B_D:
29443 case AArch64::GLDFF1B_D_SXTW:
29444 case AArch64::GLDFF1B_D_UXTW:
29445 case AArch64::GLDFF1B_S_SXTW:
29446 case AArch64::GLDFF1B_S_UXTW:
29447 case AArch64::GLDFF1D:
29448 case AArch64::GLDFF1D_SCALED:
29449 case AArch64::GLDFF1D_SXTW:
29450 case AArch64::GLDFF1D_SXTW_SCALED:
29451 case AArch64::GLDFF1D_UXTW:
29452 case AArch64::GLDFF1D_UXTW_SCALED:
29453 case AArch64::GLDFF1H_D:
29454 case AArch64::GLDFF1H_D_SCALED:
29455 case AArch64::GLDFF1H_D_SXTW:
29456 case AArch64::GLDFF1H_D_SXTW_SCALED:
29457 case AArch64::GLDFF1H_D_UXTW:
29458 case AArch64::GLDFF1H_D_UXTW_SCALED:
29459 case AArch64::GLDFF1H_S_SXTW:
29460 case AArch64::GLDFF1H_S_SXTW_SCALED:
29461 case AArch64::GLDFF1H_S_UXTW:
29462 case AArch64::GLDFF1H_S_UXTW_SCALED:
29463 case AArch64::GLDFF1SB_D:
29464 case AArch64::GLDFF1SB_D_SXTW:
29465 case AArch64::GLDFF1SB_D_UXTW:
29466 case AArch64::GLDFF1SB_S_SXTW:
29467 case AArch64::GLDFF1SB_S_UXTW:
29468 case AArch64::GLDFF1SH_D:
29469 case AArch64::GLDFF1SH_D_SCALED:
29470 case AArch64::GLDFF1SH_D_SXTW:
29471 case AArch64::GLDFF1SH_D_SXTW_SCALED:
29472 case AArch64::GLDFF1SH_D_UXTW:
29473 case AArch64::GLDFF1SH_D_UXTW_SCALED:
29474 case AArch64::GLDFF1SH_S_SXTW:
29475 case AArch64::GLDFF1SH_S_SXTW_SCALED:
29476 case AArch64::GLDFF1SH_S_UXTW:
29477 case AArch64::GLDFF1SH_S_UXTW_SCALED:
29478 case AArch64::GLDFF1SW_D:
29479 case AArch64::GLDFF1SW_D_SCALED:
29480 case AArch64::GLDFF1SW_D_SXTW:
29481 case AArch64::GLDFF1SW_D_SXTW_SCALED:
29482 case AArch64::GLDFF1SW_D_UXTW:
29483 case AArch64::GLDFF1SW_D_UXTW_SCALED:
29484 case AArch64::GLDFF1W_D:
29485 case AArch64::GLDFF1W_D_SCALED:
29486 case AArch64::GLDFF1W_D_SXTW:
29487 case AArch64::GLDFF1W_D_SXTW_SCALED:
29488 case AArch64::GLDFF1W_D_UXTW:
29489 case AArch64::GLDFF1W_D_UXTW_SCALED:
29490 case AArch64::GLDFF1W_SXTW:
29491 case AArch64::GLDFF1W_SXTW_SCALED:
29492 case AArch64::GLDFF1W_UXTW:
29493 case AArch64::GLDFF1W_UXTW_SCALED:
29494 case AArch64::SST1B_D:
29495 case AArch64::SST1B_D_SXTW:
29496 case AArch64::SST1B_D_UXTW:
29497 case AArch64::SST1B_S_SXTW:
29498 case AArch64::SST1B_S_UXTW:
29499 case AArch64::SST1D:
29500 case AArch64::SST1D_SCALED:
29501 case AArch64::SST1D_SXTW:
29502 case AArch64::SST1D_SXTW_SCALED:
29503 case AArch64::SST1D_UXTW:
29504 case AArch64::SST1D_UXTW_SCALED:
29505 case AArch64::SST1H_D:
29506 case AArch64::SST1H_D_SCALED:
29507 case AArch64::SST1H_D_SXTW:
29508 case AArch64::SST1H_D_SXTW_SCALED:
29509 case AArch64::SST1H_D_UXTW:
29510 case AArch64::SST1H_D_UXTW_SCALED:
29511 case AArch64::SST1H_S_SXTW:
29512 case AArch64::SST1H_S_SXTW_SCALED:
29513 case AArch64::SST1H_S_UXTW:
29514 case AArch64::SST1H_S_UXTW_SCALED:
29515 case AArch64::SST1W_D:
29516 case AArch64::SST1W_D_SCALED:
29517 case AArch64::SST1W_D_SXTW:
29518 case AArch64::SST1W_D_SXTW_SCALED:
29519 case AArch64::SST1W_D_UXTW:
29520 case AArch64::SST1W_D_UXTW_SCALED:
29521 case AArch64::SST1W_SXTW:
29522 case AArch64::SST1W_SXTW_SCALED:
29523 case AArch64::SST1W_UXTW:
29524 case AArch64::SST1W_UXTW_SCALED: {
29525 switch (OpNum) {
29526 case 1:
29527 // op: Pg
29528 return 10;
29529 case 2:
29530 // op: Rn
29531 return 5;
29532 case 3:
29533 // op: Zm
29534 return 16;
29535 case 0:
29536 // op: Zt
29537 return 0;
29538 }
29539 break;
29540 }
29541 case AArch64::PRFB_D_SCALED:
29542 case AArch64::PRFB_D_SXTW_SCALED:
29543 case AArch64::PRFB_D_UXTW_SCALED:
29544 case AArch64::PRFB_S_SXTW_SCALED:
29545 case AArch64::PRFB_S_UXTW_SCALED:
29546 case AArch64::PRFD_D_SCALED:
29547 case AArch64::PRFD_D_SXTW_SCALED:
29548 case AArch64::PRFD_D_UXTW_SCALED:
29549 case AArch64::PRFD_S_SXTW_SCALED:
29550 case AArch64::PRFD_S_UXTW_SCALED:
29551 case AArch64::PRFH_D_SCALED:
29552 case AArch64::PRFH_D_SXTW_SCALED:
29553 case AArch64::PRFH_D_UXTW_SCALED:
29554 case AArch64::PRFH_S_SXTW_SCALED:
29555 case AArch64::PRFH_S_UXTW_SCALED:
29556 case AArch64::PRFW_D_SCALED:
29557 case AArch64::PRFW_D_SXTW_SCALED:
29558 case AArch64::PRFW_D_UXTW_SCALED:
29559 case AArch64::PRFW_S_SXTW_SCALED:
29560 case AArch64::PRFW_S_UXTW_SCALED: {
29561 switch (OpNum) {
29562 case 1:
29563 // op: Pg
29564 return 10;
29565 case 2:
29566 // op: Rn
29567 return 5;
29568 case 3:
29569 // op: Zm
29570 return 16;
29571 case 0:
29572 // op: prfop
29573 return 0;
29574 }
29575 break;
29576 }
29577 case AArch64::EXPAND_ZPZ_B:
29578 case AArch64::EXPAND_ZPZ_D:
29579 case AArch64::EXPAND_ZPZ_H:
29580 case AArch64::EXPAND_ZPZ_S:
29581 case AArch64::SPLICE_ZPZZ_B:
29582 case AArch64::SPLICE_ZPZZ_D:
29583 case AArch64::SPLICE_ZPZZ_H:
29584 case AArch64::SPLICE_ZPZZ_S: {
29585 switch (OpNum) {
29586 case 1:
29587 // op: Pg
29588 return 10;
29589 case 2:
29590 // op: Zn
29591 return 5;
29592 case 0:
29593 // op: Zd
29594 return 0;
29595 }
29596 break;
29597 }
29598 case AArch64::GLD1B_D_IMM:
29599 case AArch64::GLD1B_S_IMM:
29600 case AArch64::GLD1D_IMM:
29601 case AArch64::GLD1H_D_IMM:
29602 case AArch64::GLD1H_S_IMM:
29603 case AArch64::GLD1SB_D_IMM:
29604 case AArch64::GLD1SB_S_IMM:
29605 case AArch64::GLD1SH_D_IMM:
29606 case AArch64::GLD1SH_S_IMM:
29607 case AArch64::GLD1SW_D_IMM:
29608 case AArch64::GLD1W_D_IMM:
29609 case AArch64::GLD1W_IMM:
29610 case AArch64::GLDFF1B_D_IMM:
29611 case AArch64::GLDFF1B_S_IMM:
29612 case AArch64::GLDFF1D_IMM:
29613 case AArch64::GLDFF1H_D_IMM:
29614 case AArch64::GLDFF1H_S_IMM:
29615 case AArch64::GLDFF1SB_D_IMM:
29616 case AArch64::GLDFF1SB_S_IMM:
29617 case AArch64::GLDFF1SH_D_IMM:
29618 case AArch64::GLDFF1SH_S_IMM:
29619 case AArch64::GLDFF1SW_D_IMM:
29620 case AArch64::GLDFF1W_D_IMM:
29621 case AArch64::GLDFF1W_IMM: {
29622 switch (OpNum) {
29623 case 1:
29624 // op: Pg
29625 return 10;
29626 case 2:
29627 // op: Zn
29628 return 5;
29629 case 0:
29630 // op: Zt
29631 return 0;
29632 case 3:
29633 // op: imm5
29634 return 16;
29635 }
29636 break;
29637 }
29638 case AArch64::PRFB_D_PZI:
29639 case AArch64::PRFB_S_PZI:
29640 case AArch64::PRFD_D_PZI:
29641 case AArch64::PRFD_S_PZI:
29642 case AArch64::PRFH_D_PZI:
29643 case AArch64::PRFH_S_PZI:
29644 case AArch64::PRFW_D_PZI:
29645 case AArch64::PRFW_S_PZI: {
29646 switch (OpNum) {
29647 case 1:
29648 // op: Pg
29649 return 10;
29650 case 2:
29651 // op: Zn
29652 return 5;
29653 case 3:
29654 // op: imm5
29655 return 16;
29656 case 0:
29657 // op: prfop
29658 return 0;
29659 }
29660 break;
29661 }
29662 case AArch64::LD2B:
29663 case AArch64::LD2D:
29664 case AArch64::LD2H:
29665 case AArch64::LD2Q:
29666 case AArch64::LD2W:
29667 case AArch64::LD3B:
29668 case AArch64::LD3D:
29669 case AArch64::LD3H:
29670 case AArch64::LD3Q:
29671 case AArch64::LD3W:
29672 case AArch64::LD4B:
29673 case AArch64::LD4D:
29674 case AArch64::LD4H:
29675 case AArch64::LD4Q:
29676 case AArch64::LD4W:
29677 case AArch64::LDNT1B_ZRR:
29678 case AArch64::LDNT1D_ZRR:
29679 case AArch64::LDNT1H_ZRR:
29680 case AArch64::LDNT1W_ZRR:
29681 case AArch64::ST1B:
29682 case AArch64::ST1B_D:
29683 case AArch64::ST1B_H:
29684 case AArch64::ST1B_S:
29685 case AArch64::ST1D:
29686 case AArch64::ST1D_Q:
29687 case AArch64::ST1H:
29688 case AArch64::ST1H_D:
29689 case AArch64::ST1H_S:
29690 case AArch64::ST1W:
29691 case AArch64::ST1W_D:
29692 case AArch64::ST1W_Q:
29693 case AArch64::ST2B:
29694 case AArch64::ST2D:
29695 case AArch64::ST2H:
29696 case AArch64::ST2W:
29697 case AArch64::ST3B:
29698 case AArch64::ST3D:
29699 case AArch64::ST3H:
29700 case AArch64::ST3W:
29701 case AArch64::ST4B:
29702 case AArch64::ST4D:
29703 case AArch64::ST4H:
29704 case AArch64::ST4W:
29705 case AArch64::STNT1B_ZRR:
29706 case AArch64::STNT1D_ZRR:
29707 case AArch64::STNT1H_ZRR:
29708 case AArch64::STNT1W_ZRR: {
29709 switch (OpNum) {
29710 case 1:
29711 // op: Pg
29712 return 10;
29713 case 3:
29714 // op: Rm
29715 return 16;
29716 case 2:
29717 // op: Rn
29718 return 5;
29719 case 0:
29720 // op: Zt
29721 return 0;
29722 }
29723 break;
29724 }
29725 case AArch64::LDNT1B_ZZR_D:
29726 case AArch64::LDNT1B_ZZR_S:
29727 case AArch64::LDNT1D_ZZR_D:
29728 case AArch64::LDNT1H_ZZR_D:
29729 case AArch64::LDNT1H_ZZR_S:
29730 case AArch64::LDNT1SB_ZZR_D:
29731 case AArch64::LDNT1SB_ZZR_S:
29732 case AArch64::LDNT1SH_ZZR_D:
29733 case AArch64::LDNT1SH_ZZR_S:
29734 case AArch64::LDNT1SW_ZZR_D:
29735 case AArch64::LDNT1W_ZZR_D:
29736 case AArch64::LDNT1W_ZZR_S:
29737 case AArch64::STNT1B_ZZR_D:
29738 case AArch64::STNT1B_ZZR_S:
29739 case AArch64::STNT1D_ZZR_D:
29740 case AArch64::STNT1H_ZZR_D:
29741 case AArch64::STNT1H_ZZR_S:
29742 case AArch64::STNT1W_ZZR_D:
29743 case AArch64::STNT1W_ZZR_S: {
29744 switch (OpNum) {
29745 case 1:
29746 // op: Pg
29747 return 10;
29748 case 3:
29749 // op: Rm
29750 return 16;
29751 case 2:
29752 // op: Zn
29753 return 5;
29754 case 0:
29755 // op: Zt
29756 return 0;
29757 }
29758 break;
29759 }
29760 case AArch64::ADDP_ZPmZ_B:
29761 case AArch64::ADDP_ZPmZ_D:
29762 case AArch64::ADDP_ZPmZ_H:
29763 case AArch64::ADDP_ZPmZ_S:
29764 case AArch64::FADDP_ZPmZZ_D:
29765 case AArch64::FADDP_ZPmZZ_H:
29766 case AArch64::FADDP_ZPmZZ_S:
29767 case AArch64::FMAXNMP_ZPmZZ_D:
29768 case AArch64::FMAXNMP_ZPmZZ_H:
29769 case AArch64::FMAXNMP_ZPmZZ_S:
29770 case AArch64::FMAXP_ZPmZZ_D:
29771 case AArch64::FMAXP_ZPmZZ_H:
29772 case AArch64::FMAXP_ZPmZZ_S:
29773 case AArch64::FMINNMP_ZPmZZ_D:
29774 case AArch64::FMINNMP_ZPmZZ_H:
29775 case AArch64::FMINNMP_ZPmZZ_S:
29776 case AArch64::FMINP_ZPmZZ_D:
29777 case AArch64::FMINP_ZPmZZ_H:
29778 case AArch64::FMINP_ZPmZZ_S:
29779 case AArch64::SHADD_ZPmZ_B:
29780 case AArch64::SHADD_ZPmZ_D:
29781 case AArch64::SHADD_ZPmZ_H:
29782 case AArch64::SHADD_ZPmZ_S:
29783 case AArch64::SHSUBR_ZPmZ_B:
29784 case AArch64::SHSUBR_ZPmZ_D:
29785 case AArch64::SHSUBR_ZPmZ_H:
29786 case AArch64::SHSUBR_ZPmZ_S:
29787 case AArch64::SHSUB_ZPmZ_B:
29788 case AArch64::SHSUB_ZPmZ_D:
29789 case AArch64::SHSUB_ZPmZ_H:
29790 case AArch64::SHSUB_ZPmZ_S:
29791 case AArch64::SMAXP_ZPmZ_B:
29792 case AArch64::SMAXP_ZPmZ_D:
29793 case AArch64::SMAXP_ZPmZ_H:
29794 case AArch64::SMAXP_ZPmZ_S:
29795 case AArch64::SMINP_ZPmZ_B:
29796 case AArch64::SMINP_ZPmZ_D:
29797 case AArch64::SMINP_ZPmZ_H:
29798 case AArch64::SMINP_ZPmZ_S:
29799 case AArch64::SQADD_ZPmZ_B:
29800 case AArch64::SQADD_ZPmZ_D:
29801 case AArch64::SQADD_ZPmZ_H:
29802 case AArch64::SQADD_ZPmZ_S:
29803 case AArch64::SQRSHLR_ZPmZ_B:
29804 case AArch64::SQRSHLR_ZPmZ_D:
29805 case AArch64::SQRSHLR_ZPmZ_H:
29806 case AArch64::SQRSHLR_ZPmZ_S:
29807 case AArch64::SQRSHL_ZPmZ_B:
29808 case AArch64::SQRSHL_ZPmZ_D:
29809 case AArch64::SQRSHL_ZPmZ_H:
29810 case AArch64::SQRSHL_ZPmZ_S:
29811 case AArch64::SQSHLR_ZPmZ_B:
29812 case AArch64::SQSHLR_ZPmZ_D:
29813 case AArch64::SQSHLR_ZPmZ_H:
29814 case AArch64::SQSHLR_ZPmZ_S:
29815 case AArch64::SQSHL_ZPmZ_B:
29816 case AArch64::SQSHL_ZPmZ_D:
29817 case AArch64::SQSHL_ZPmZ_H:
29818 case AArch64::SQSHL_ZPmZ_S:
29819 case AArch64::SQSUBR_ZPmZ_B:
29820 case AArch64::SQSUBR_ZPmZ_D:
29821 case AArch64::SQSUBR_ZPmZ_H:
29822 case AArch64::SQSUBR_ZPmZ_S:
29823 case AArch64::SQSUB_ZPmZ_B:
29824 case AArch64::SQSUB_ZPmZ_D:
29825 case AArch64::SQSUB_ZPmZ_H:
29826 case AArch64::SQSUB_ZPmZ_S:
29827 case AArch64::SRHADD_ZPmZ_B:
29828 case AArch64::SRHADD_ZPmZ_D:
29829 case AArch64::SRHADD_ZPmZ_H:
29830 case AArch64::SRHADD_ZPmZ_S:
29831 case AArch64::SRSHLR_ZPmZ_B:
29832 case AArch64::SRSHLR_ZPmZ_D:
29833 case AArch64::SRSHLR_ZPmZ_H:
29834 case AArch64::SRSHLR_ZPmZ_S:
29835 case AArch64::SRSHL_ZPmZ_B:
29836 case AArch64::SRSHL_ZPmZ_D:
29837 case AArch64::SRSHL_ZPmZ_H:
29838 case AArch64::SRSHL_ZPmZ_S:
29839 case AArch64::SUBP_ZPmZZ_B:
29840 case AArch64::SUBP_ZPmZZ_D:
29841 case AArch64::SUBP_ZPmZZ_H:
29842 case AArch64::SUBP_ZPmZZ_S:
29843 case AArch64::SUQADD_ZPmZ_B:
29844 case AArch64::SUQADD_ZPmZ_D:
29845 case AArch64::SUQADD_ZPmZ_H:
29846 case AArch64::SUQADD_ZPmZ_S:
29847 case AArch64::UHADD_ZPmZ_B:
29848 case AArch64::UHADD_ZPmZ_D:
29849 case AArch64::UHADD_ZPmZ_H:
29850 case AArch64::UHADD_ZPmZ_S:
29851 case AArch64::UHSUBR_ZPmZ_B:
29852 case AArch64::UHSUBR_ZPmZ_D:
29853 case AArch64::UHSUBR_ZPmZ_H:
29854 case AArch64::UHSUBR_ZPmZ_S:
29855 case AArch64::UHSUB_ZPmZ_B:
29856 case AArch64::UHSUB_ZPmZ_D:
29857 case AArch64::UHSUB_ZPmZ_H:
29858 case AArch64::UHSUB_ZPmZ_S:
29859 case AArch64::UMAXP_ZPmZ_B:
29860 case AArch64::UMAXP_ZPmZ_D:
29861 case AArch64::UMAXP_ZPmZ_H:
29862 case AArch64::UMAXP_ZPmZ_S:
29863 case AArch64::UMINP_ZPmZ_B:
29864 case AArch64::UMINP_ZPmZ_D:
29865 case AArch64::UMINP_ZPmZ_H:
29866 case AArch64::UMINP_ZPmZ_S:
29867 case AArch64::UQADD_ZPmZ_B:
29868 case AArch64::UQADD_ZPmZ_D:
29869 case AArch64::UQADD_ZPmZ_H:
29870 case AArch64::UQADD_ZPmZ_S:
29871 case AArch64::UQRSHLR_ZPmZ_B:
29872 case AArch64::UQRSHLR_ZPmZ_D:
29873 case AArch64::UQRSHLR_ZPmZ_H:
29874 case AArch64::UQRSHLR_ZPmZ_S:
29875 case AArch64::UQRSHL_ZPmZ_B:
29876 case AArch64::UQRSHL_ZPmZ_D:
29877 case AArch64::UQRSHL_ZPmZ_H:
29878 case AArch64::UQRSHL_ZPmZ_S:
29879 case AArch64::UQSHLR_ZPmZ_B:
29880 case AArch64::UQSHLR_ZPmZ_D:
29881 case AArch64::UQSHLR_ZPmZ_H:
29882 case AArch64::UQSHLR_ZPmZ_S:
29883 case AArch64::UQSHL_ZPmZ_B:
29884 case AArch64::UQSHL_ZPmZ_D:
29885 case AArch64::UQSHL_ZPmZ_H:
29886 case AArch64::UQSHL_ZPmZ_S:
29887 case AArch64::UQSUBR_ZPmZ_B:
29888 case AArch64::UQSUBR_ZPmZ_D:
29889 case AArch64::UQSUBR_ZPmZ_H:
29890 case AArch64::UQSUBR_ZPmZ_S:
29891 case AArch64::UQSUB_ZPmZ_B:
29892 case AArch64::UQSUB_ZPmZ_D:
29893 case AArch64::UQSUB_ZPmZ_H:
29894 case AArch64::UQSUB_ZPmZ_S:
29895 case AArch64::URHADD_ZPmZ_B:
29896 case AArch64::URHADD_ZPmZ_D:
29897 case AArch64::URHADD_ZPmZ_H:
29898 case AArch64::URHADD_ZPmZ_S:
29899 case AArch64::URSHLR_ZPmZ_B:
29900 case AArch64::URSHLR_ZPmZ_D:
29901 case AArch64::URSHLR_ZPmZ_H:
29902 case AArch64::URSHLR_ZPmZ_S:
29903 case AArch64::URSHL_ZPmZ_B:
29904 case AArch64::URSHL_ZPmZ_D:
29905 case AArch64::URSHL_ZPmZ_H:
29906 case AArch64::URSHL_ZPmZ_S:
29907 case AArch64::USQADD_ZPmZ_B:
29908 case AArch64::USQADD_ZPmZ_D:
29909 case AArch64::USQADD_ZPmZ_H:
29910 case AArch64::USQADD_ZPmZ_S: {
29911 switch (OpNum) {
29912 case 1:
29913 // op: Pg
29914 return 10;
29915 case 3:
29916 // op: Zm
29917 return 5;
29918 case 0:
29919 // op: Zdn
29920 return 0;
29921 }
29922 break;
29923 }
29924 case AArch64::SADALP_ZPmZ_D:
29925 case AArch64::SADALP_ZPmZ_H:
29926 case AArch64::SADALP_ZPmZ_S:
29927 case AArch64::UADALP_ZPmZ_D:
29928 case AArch64::UADALP_ZPmZ_H:
29929 case AArch64::UADALP_ZPmZ_S: {
29930 switch (OpNum) {
29931 case 1:
29932 // op: Pg
29933 return 10;
29934 case 3:
29935 // op: Zn
29936 return 5;
29937 case 0:
29938 // op: Zda
29939 return 0;
29940 }
29941 break;
29942 }
29943 case AArch64::SST1B_D_IMM:
29944 case AArch64::SST1B_S_IMM:
29945 case AArch64::SST1D_IMM:
29946 case AArch64::SST1H_D_IMM:
29947 case AArch64::SST1H_S_IMM:
29948 case AArch64::SST1W_D_IMM:
29949 case AArch64::SST1W_IMM: {
29950 switch (OpNum) {
29951 case 1:
29952 // op: Pg
29953 return 10;
29954 case 3:
29955 // op: imm5
29956 return 16;
29957 case 2:
29958 // op: Zn
29959 return 5;
29960 case 0:
29961 // op: Zt
29962 return 0;
29963 }
29964 break;
29965 }
29966 case AArch64::FMAD_ZPmZZ_D:
29967 case AArch64::FMAD_ZPmZZ_H:
29968 case AArch64::FMAD_ZPmZZ_S:
29969 case AArch64::FMSB_ZPmZZ_D:
29970 case AArch64::FMSB_ZPmZZ_H:
29971 case AArch64::FMSB_ZPmZZ_S:
29972 case AArch64::FNMAD_ZPmZZ_D:
29973 case AArch64::FNMAD_ZPmZZ_H:
29974 case AArch64::FNMAD_ZPmZZ_S:
29975 case AArch64::FNMSB_ZPmZZ_D:
29976 case AArch64::FNMSB_ZPmZZ_H:
29977 case AArch64::FNMSB_ZPmZZ_S: {
29978 switch (OpNum) {
29979 case 1:
29980 // op: Pg
29981 return 10;
29982 case 4:
29983 // op: Za
29984 return 16;
29985 case 0:
29986 // op: Zdn
29987 return 0;
29988 case 3:
29989 // op: Zm
29990 return 5;
29991 }
29992 break;
29993 }
29994 case AArch64::BF16DOTlanev4bf16:
29995 case AArch64::BF16DOTlanev8bf16:
29996 case AArch64::BFMLALBIdx:
29997 case AArch64::BFMLALTIdx:
29998 case AArch64::FDOTlanev2f32:
29999 case AArch64::FDOTlanev4f16:
30000 case AArch64::FDOTlanev4f16_v2f32:
30001 case AArch64::FDOTlanev4f32:
30002 case AArch64::FDOTlanev8f16:
30003 case AArch64::FDOTlanev8f16_v4f32:
30004 case AArch64::FMLAL2lanev4f16:
30005 case AArch64::FMLAL2lanev8f16:
30006 case AArch64::FMLALBlanev8f16:
30007 case AArch64::FMLALLBBlanev4f32:
30008 case AArch64::FMLALLBTlanev4f32:
30009 case AArch64::FMLALLTBlanev4f32:
30010 case AArch64::FMLALLTTlanev4f32:
30011 case AArch64::FMLALTlanev8f16:
30012 case AArch64::FMLALlanev4f16:
30013 case AArch64::FMLALlanev8f16:
30014 case AArch64::FMLAv1i16_indexed:
30015 case AArch64::FMLAv1i32_indexed:
30016 case AArch64::FMLAv1i64_indexed:
30017 case AArch64::FMLAv2i32_indexed:
30018 case AArch64::FMLAv2i64_indexed:
30019 case AArch64::FMLAv4i16_indexed:
30020 case AArch64::FMLAv4i32_indexed:
30021 case AArch64::FMLAv8i16_indexed:
30022 case AArch64::FMLSL2lanev4f16:
30023 case AArch64::FMLSL2lanev8f16:
30024 case AArch64::FMLSLlanev4f16:
30025 case AArch64::FMLSLlanev8f16:
30026 case AArch64::FMLSv1i16_indexed:
30027 case AArch64::FMLSv1i32_indexed:
30028 case AArch64::FMLSv1i64_indexed:
30029 case AArch64::FMLSv2i32_indexed:
30030 case AArch64::FMLSv2i64_indexed:
30031 case AArch64::FMLSv4i16_indexed:
30032 case AArch64::FMLSv4i32_indexed:
30033 case AArch64::FMLSv8i16_indexed:
30034 case AArch64::MLAv2i32_indexed:
30035 case AArch64::MLAv4i16_indexed:
30036 case AArch64::MLAv4i32_indexed:
30037 case AArch64::MLAv8i16_indexed:
30038 case AArch64::MLSv2i32_indexed:
30039 case AArch64::MLSv4i16_indexed:
30040 case AArch64::MLSv4i32_indexed:
30041 case AArch64::MLSv8i16_indexed:
30042 case AArch64::SDOTlanev16i8:
30043 case AArch64::SDOTlanev8i8:
30044 case AArch64::SMLALv2i32_indexed:
30045 case AArch64::SMLALv4i16_indexed:
30046 case AArch64::SMLALv4i32_indexed:
30047 case AArch64::SMLALv8i16_indexed:
30048 case AArch64::SMLSLv2i32_indexed:
30049 case AArch64::SMLSLv4i16_indexed:
30050 case AArch64::SMLSLv4i32_indexed:
30051 case AArch64::SMLSLv8i16_indexed:
30052 case AArch64::SQDMLALv1i32_indexed:
30053 case AArch64::SQDMLALv1i64_indexed:
30054 case AArch64::SQDMLALv2i32_indexed:
30055 case AArch64::SQDMLALv4i16_indexed:
30056 case AArch64::SQDMLALv4i32_indexed:
30057 case AArch64::SQDMLALv8i16_indexed:
30058 case AArch64::SQDMLSLv1i32_indexed:
30059 case AArch64::SQDMLSLv1i64_indexed:
30060 case AArch64::SQDMLSLv2i32_indexed:
30061 case AArch64::SQDMLSLv4i16_indexed:
30062 case AArch64::SQDMLSLv4i32_indexed:
30063 case AArch64::SQDMLSLv8i16_indexed:
30064 case AArch64::SQRDMLAHv1i16_indexed:
30065 case AArch64::SQRDMLAHv1i32_indexed:
30066 case AArch64::SQRDMLAHv2i32_indexed:
30067 case AArch64::SQRDMLAHv4i16_indexed:
30068 case AArch64::SQRDMLAHv4i32_indexed:
30069 case AArch64::SQRDMLAHv8i16_indexed:
30070 case AArch64::SQRDMLSHv1i16_indexed:
30071 case AArch64::SQRDMLSHv1i32_indexed:
30072 case AArch64::SQRDMLSHv2i32_indexed:
30073 case AArch64::SQRDMLSHv4i16_indexed:
30074 case AArch64::SQRDMLSHv4i32_indexed:
30075 case AArch64::SQRDMLSHv8i16_indexed:
30076 case AArch64::SUDOTlanev16i8:
30077 case AArch64::SUDOTlanev8i8:
30078 case AArch64::UDOTlanev16i8:
30079 case AArch64::UDOTlanev8i8:
30080 case AArch64::UMLALv2i32_indexed:
30081 case AArch64::UMLALv4i16_indexed:
30082 case AArch64::UMLALv4i32_indexed:
30083 case AArch64::UMLALv8i16_indexed:
30084 case AArch64::UMLSLv2i32_indexed:
30085 case AArch64::UMLSLv4i16_indexed:
30086 case AArch64::UMLSLv4i32_indexed:
30087 case AArch64::UMLSLv8i16_indexed:
30088 case AArch64::USDOTlanev16i8:
30089 case AArch64::USDOTlanev8i8: {
30090 switch (OpNum) {
30091 case 1:
30092 // op: Rd
30093 return 0;
30094 case 2:
30095 // op: Rn
30096 return 5;
30097 case 3:
30098 // op: Rm
30099 return 16;
30100 case 4:
30101 // op: idx
30102 return 11;
30103 }
30104 break;
30105 }
30106 case AArch64::FCMLAv2f32:
30107 case AArch64::FCMLAv2f64:
30108 case AArch64::FCMLAv4f16:
30109 case AArch64::FCMLAv4f32:
30110 case AArch64::FCMLAv8f16: {
30111 switch (OpNum) {
30112 case 1:
30113 // op: Rd
30114 return 0;
30115 case 2:
30116 // op: Rn
30117 return 5;
30118 case 3:
30119 // op: Rm
30120 return 16;
30121 case 4:
30122 // op: rot
30123 return 11;
30124 }
30125 break;
30126 }
30127 case AArch64::FCMLAv4f32_indexed:
30128 case AArch64::FCMLAv8f16_indexed: {
30129 switch (OpNum) {
30130 case 1:
30131 // op: Rd
30132 return 0;
30133 case 2:
30134 // op: Rn
30135 return 5;
30136 case 3:
30137 // op: Rm
30138 return 16;
30139 case 5:
30140 // op: rot
30141 return 13;
30142 case 4:
30143 // op: idx
30144 return 11;
30145 }
30146 break;
30147 }
30148 case AArch64::FCMLAv4f16_indexed: {
30149 switch (OpNum) {
30150 case 1:
30151 // op: Rd
30152 return 0;
30153 case 2:
30154 // op: Rn
30155 return 5;
30156 case 3:
30157 // op: Rm
30158 return 16;
30159 case 5:
30160 // op: rot
30161 return 13;
30162 case 4:
30163 // op: idx
30164 return 21;
30165 }
30166 break;
30167 }
30168 case AArch64::ADDHNv2i64_v4i32:
30169 case AArch64::ADDHNv4i32_v8i16:
30170 case AArch64::ADDHNv8i16_v16i8:
30171 case AArch64::BFDOTv4bf16:
30172 case AArch64::BFDOTv8bf16:
30173 case AArch64::BFMLALB:
30174 case AArch64::BFMLALT:
30175 case AArch64::BFMMLA:
30176 case AArch64::BIFv16i8:
30177 case AArch64::BIFv8i8:
30178 case AArch64::BITv16i8:
30179 case AArch64::BITv8i8:
30180 case AArch64::BSLv16i8:
30181 case AArch64::BSLv8i8:
30182 case AArch64::FCVTN_F322v16f8:
30183 case AArch64::FDOTv2f32:
30184 case AArch64::FDOTv4f16:
30185 case AArch64::FDOTv4f16_v2f32:
30186 case AArch64::FDOTv4f32:
30187 case AArch64::FDOTv8f16:
30188 case AArch64::FDOTv8f16_v4f32:
30189 case AArch64::FMLAL2v4f16:
30190 case AArch64::FMLAL2v8f16:
30191 case AArch64::FMLALBv16i8_v8f16:
30192 case AArch64::FMLALLBBv4f32:
30193 case AArch64::FMLALLBTv4f32:
30194 case AArch64::FMLALLTBv4f32:
30195 case AArch64::FMLALLTTv4f32:
30196 case AArch64::FMLALTv16i8_v8f16:
30197 case AArch64::FMLALv4f16:
30198 case AArch64::FMLALv8f16:
30199 case AArch64::FMLAv2f32:
30200 case AArch64::FMLAv2f64:
30201 case AArch64::FMLAv4f16:
30202 case AArch64::FMLAv4f32:
30203 case AArch64::FMLAv8f16:
30204 case AArch64::FMLSL2v4f16:
30205 case AArch64::FMLSL2v8f16:
30206 case AArch64::FMLSLv4f16:
30207 case AArch64::FMLSLv8f16:
30208 case AArch64::FMLSv2f32:
30209 case AArch64::FMLSv2f64:
30210 case AArch64::FMLSv4f16:
30211 case AArch64::FMLSv4f32:
30212 case AArch64::FMLSv8f16:
30213 case AArch64::FMMLAv4f32:
30214 case AArch64::FMMLAv8f16:
30215 case AArch64::FMMLAv8f16_v4f32:
30216 case AArch64::FMMLAv8f16_v8f16:
30217 case AArch64::MLAv16i8:
30218 case AArch64::MLAv2i32:
30219 case AArch64::MLAv4i16:
30220 case AArch64::MLAv4i32:
30221 case AArch64::MLAv8i16:
30222 case AArch64::MLAv8i8:
30223 case AArch64::MLSv16i8:
30224 case AArch64::MLSv2i32:
30225 case AArch64::MLSv4i16:
30226 case AArch64::MLSv4i32:
30227 case AArch64::MLSv8i16:
30228 case AArch64::MLSv8i8:
30229 case AArch64::RADDHNv2i64_v4i32:
30230 case AArch64::RADDHNv4i32_v8i16:
30231 case AArch64::RADDHNv8i16_v16i8:
30232 case AArch64::RSUBHNv2i64_v4i32:
30233 case AArch64::RSUBHNv4i32_v8i16:
30234 case AArch64::RSUBHNv8i16_v16i8:
30235 case AArch64::SABALv16i8_v8i16:
30236 case AArch64::SABALv2i32_v2i64:
30237 case AArch64::SABALv4i16_v4i32:
30238 case AArch64::SABALv4i32_v2i64:
30239 case AArch64::SABALv8i16_v4i32:
30240 case AArch64::SABALv8i8_v8i16:
30241 case AArch64::SABAv16i8:
30242 case AArch64::SABAv2i32:
30243 case AArch64::SABAv4i16:
30244 case AArch64::SABAv4i32:
30245 case AArch64::SABAv8i16:
30246 case AArch64::SABAv8i8:
30247 case AArch64::SDOTv16i8:
30248 case AArch64::SDOTv8i8:
30249 case AArch64::SHA1Crrr:
30250 case AArch64::SHA1Mrrr:
30251 case AArch64::SHA1Prrr:
30252 case AArch64::SHA1SU0rrr:
30253 case AArch64::SHA256H2rrr:
30254 case AArch64::SHA256Hrrr:
30255 case AArch64::SHA256SU1rrr:
30256 case AArch64::SMLALv16i8_v8i16:
30257 case AArch64::SMLALv2i32_v2i64:
30258 case AArch64::SMLALv4i16_v4i32:
30259 case AArch64::SMLALv4i32_v2i64:
30260 case AArch64::SMLALv8i16_v4i32:
30261 case AArch64::SMLALv8i8_v8i16:
30262 case AArch64::SMLSLv16i8_v8i16:
30263 case AArch64::SMLSLv2i32_v2i64:
30264 case AArch64::SMLSLv4i16_v4i32:
30265 case AArch64::SMLSLv4i32_v2i64:
30266 case AArch64::SMLSLv8i16_v4i32:
30267 case AArch64::SMLSLv8i8_v8i16:
30268 case AArch64::SMMLA:
30269 case AArch64::SQDMLALi16:
30270 case AArch64::SQDMLALi32:
30271 case AArch64::SQDMLALv2i32_v2i64:
30272 case AArch64::SQDMLALv4i16_v4i32:
30273 case AArch64::SQDMLALv4i32_v2i64:
30274 case AArch64::SQDMLALv8i16_v4i32:
30275 case AArch64::SQDMLSLi16:
30276 case AArch64::SQDMLSLi32:
30277 case AArch64::SQDMLSLv2i32_v2i64:
30278 case AArch64::SQDMLSLv4i16_v4i32:
30279 case AArch64::SQDMLSLv4i32_v2i64:
30280 case AArch64::SQDMLSLv8i16_v4i32:
30281 case AArch64::SQRDMLAHv1i16:
30282 case AArch64::SQRDMLAHv1i32:
30283 case AArch64::SQRDMLAHv2i32:
30284 case AArch64::SQRDMLAHv4i16:
30285 case AArch64::SQRDMLAHv4i32:
30286 case AArch64::SQRDMLAHv8i16:
30287 case AArch64::SQRDMLSHv1i16:
30288 case AArch64::SQRDMLSHv1i32:
30289 case AArch64::SQRDMLSHv2i32:
30290 case AArch64::SQRDMLSHv4i16:
30291 case AArch64::SQRDMLSHv4i32:
30292 case AArch64::SQRDMLSHv8i16:
30293 case AArch64::SUBHNv2i64_v4i32:
30294 case AArch64::SUBHNv4i32_v8i16:
30295 case AArch64::SUBHNv8i16_v16i8:
30296 case AArch64::UABALv16i8_v8i16:
30297 case AArch64::UABALv2i32_v2i64:
30298 case AArch64::UABALv4i16_v4i32:
30299 case AArch64::UABALv4i32_v2i64:
30300 case AArch64::UABALv8i16_v4i32:
30301 case AArch64::UABALv8i8_v8i16:
30302 case AArch64::UABAv16i8:
30303 case AArch64::UABAv2i32:
30304 case AArch64::UABAv4i16:
30305 case AArch64::UABAv4i32:
30306 case AArch64::UABAv8i16:
30307 case AArch64::UABAv8i8:
30308 case AArch64::UDOTv16i8:
30309 case AArch64::UDOTv8i8:
30310 case AArch64::UMLALv16i8_v8i16:
30311 case AArch64::UMLALv2i32_v2i64:
30312 case AArch64::UMLALv4i16_v4i32:
30313 case AArch64::UMLALv4i32_v2i64:
30314 case AArch64::UMLALv8i16_v4i32:
30315 case AArch64::UMLALv8i8_v8i16:
30316 case AArch64::UMLSLv16i8_v8i16:
30317 case AArch64::UMLSLv2i32_v2i64:
30318 case AArch64::UMLSLv4i16_v4i32:
30319 case AArch64::UMLSLv4i32_v2i64:
30320 case AArch64::UMLSLv8i16_v4i32:
30321 case AArch64::UMLSLv8i8_v8i16:
30322 case AArch64::UMMLA:
30323 case AArch64::USDOTv16i8:
30324 case AArch64::USDOTv8i8:
30325 case AArch64::USMMLA: {
30326 switch (OpNum) {
30327 case 1:
30328 // op: Rd
30329 return 0;
30330 case 2:
30331 // op: Rn
30332 return 5;
30333 case 3:
30334 // op: Rm
30335 return 16;
30336 }
30337 break;
30338 }
30339 case AArch64::RSHRNv16i8_shift:
30340 case AArch64::RSHRNv4i32_shift:
30341 case AArch64::RSHRNv8i16_shift:
30342 case AArch64::SHRNv16i8_shift:
30343 case AArch64::SHRNv4i32_shift:
30344 case AArch64::SHRNv8i16_shift:
30345 case AArch64::SLId:
30346 case AArch64::SLIv16i8_shift:
30347 case AArch64::SLIv2i32_shift:
30348 case AArch64::SLIv2i64_shift:
30349 case AArch64::SLIv4i16_shift:
30350 case AArch64::SLIv4i32_shift:
30351 case AArch64::SLIv8i16_shift:
30352 case AArch64::SLIv8i8_shift:
30353 case AArch64::SQRSHRNv16i8_shift:
30354 case AArch64::SQRSHRNv4i32_shift:
30355 case AArch64::SQRSHRNv8i16_shift:
30356 case AArch64::SQRSHRUNv16i8_shift:
30357 case AArch64::SQRSHRUNv4i32_shift:
30358 case AArch64::SQRSHRUNv8i16_shift:
30359 case AArch64::SQSHRNv16i8_shift:
30360 case AArch64::SQSHRNv4i32_shift:
30361 case AArch64::SQSHRNv8i16_shift:
30362 case AArch64::SQSHRUNv16i8_shift:
30363 case AArch64::SQSHRUNv4i32_shift:
30364 case AArch64::SQSHRUNv8i16_shift:
30365 case AArch64::SRId:
30366 case AArch64::SRIv16i8_shift:
30367 case AArch64::SRIv2i32_shift:
30368 case AArch64::SRIv2i64_shift:
30369 case AArch64::SRIv4i16_shift:
30370 case AArch64::SRIv4i32_shift:
30371 case AArch64::SRIv8i16_shift:
30372 case AArch64::SRIv8i8_shift:
30373 case AArch64::SRSRAd:
30374 case AArch64::SRSRAv16i8_shift:
30375 case AArch64::SRSRAv2i32_shift:
30376 case AArch64::SRSRAv2i64_shift:
30377 case AArch64::SRSRAv4i16_shift:
30378 case AArch64::SRSRAv4i32_shift:
30379 case AArch64::SRSRAv8i16_shift:
30380 case AArch64::SRSRAv8i8_shift:
30381 case AArch64::SSRAd:
30382 case AArch64::SSRAv16i8_shift:
30383 case AArch64::SSRAv2i32_shift:
30384 case AArch64::SSRAv2i64_shift:
30385 case AArch64::SSRAv4i16_shift:
30386 case AArch64::SSRAv4i32_shift:
30387 case AArch64::SSRAv8i16_shift:
30388 case AArch64::SSRAv8i8_shift:
30389 case AArch64::UQRSHRNv16i8_shift:
30390 case AArch64::UQRSHRNv4i32_shift:
30391 case AArch64::UQRSHRNv8i16_shift:
30392 case AArch64::UQSHRNv16i8_shift:
30393 case AArch64::UQSHRNv4i32_shift:
30394 case AArch64::UQSHRNv8i16_shift:
30395 case AArch64::URSRAd:
30396 case AArch64::URSRAv16i8_shift:
30397 case AArch64::URSRAv2i32_shift:
30398 case AArch64::URSRAv2i64_shift:
30399 case AArch64::URSRAv4i16_shift:
30400 case AArch64::URSRAv4i32_shift:
30401 case AArch64::URSRAv8i16_shift:
30402 case AArch64::URSRAv8i8_shift:
30403 case AArch64::USRAd:
30404 case AArch64::USRAv16i8_shift:
30405 case AArch64::USRAv2i32_shift:
30406 case AArch64::USRAv2i64_shift:
30407 case AArch64::USRAv4i16_shift:
30408 case AArch64::USRAv4i32_shift:
30409 case AArch64::USRAv8i16_shift:
30410 case AArch64::USRAv8i8_shift: {
30411 switch (OpNum) {
30412 case 1:
30413 // op: Rd
30414 return 0;
30415 case 2:
30416 // op: Rn
30417 return 5;
30418 case 3:
30419 // op: imm
30420 return 16;
30421 }
30422 break;
30423 }
30424 case AArch64::AESDrr:
30425 case AArch64::AESErr:
30426 case AArch64::AUTDA:
30427 case AArch64::AUTDB:
30428 case AArch64::AUTIA:
30429 case AArch64::AUTIB:
30430 case AArch64::BFCVTN2:
30431 case AArch64::FCVTNv4i32:
30432 case AArch64::FCVTNv8i16:
30433 case AArch64::FCVTXNv4f32:
30434 case AArch64::PACDA:
30435 case AArch64::PACDB:
30436 case AArch64::PACIA:
30437 case AArch64::PACIB:
30438 case AArch64::SADALPv16i8_v8i16:
30439 case AArch64::SADALPv2i32_v1i64:
30440 case AArch64::SADALPv4i16_v2i32:
30441 case AArch64::SADALPv4i32_v2i64:
30442 case AArch64::SADALPv8i16_v4i32:
30443 case AArch64::SADALPv8i8_v4i16:
30444 case AArch64::SHA1SU1rr:
30445 case AArch64::SHA256SU0rr:
30446 case AArch64::SQXTNv16i8:
30447 case AArch64::SQXTNv4i32:
30448 case AArch64::SQXTNv8i16:
30449 case AArch64::SQXTUNv16i8:
30450 case AArch64::SQXTUNv4i32:
30451 case AArch64::SQXTUNv8i16:
30452 case AArch64::SUQADDv16i8:
30453 case AArch64::SUQADDv1i16:
30454 case AArch64::SUQADDv1i32:
30455 case AArch64::SUQADDv1i64:
30456 case AArch64::SUQADDv1i8:
30457 case AArch64::SUQADDv2i32:
30458 case AArch64::SUQADDv2i64:
30459 case AArch64::SUQADDv4i16:
30460 case AArch64::SUQADDv4i32:
30461 case AArch64::SUQADDv8i16:
30462 case AArch64::SUQADDv8i8:
30463 case AArch64::UADALPv16i8_v8i16:
30464 case AArch64::UADALPv2i32_v1i64:
30465 case AArch64::UADALPv4i16_v2i32:
30466 case AArch64::UADALPv4i32_v2i64:
30467 case AArch64::UADALPv8i16_v4i32:
30468 case AArch64::UADALPv8i8_v4i16:
30469 case AArch64::UQXTNv16i8:
30470 case AArch64::UQXTNv4i32:
30471 case AArch64::UQXTNv8i16:
30472 case AArch64::USQADDv16i8:
30473 case AArch64::USQADDv1i16:
30474 case AArch64::USQADDv1i32:
30475 case AArch64::USQADDv1i64:
30476 case AArch64::USQADDv1i8:
30477 case AArch64::USQADDv2i32:
30478 case AArch64::USQADDv2i64:
30479 case AArch64::USQADDv4i16:
30480 case AArch64::USQADDv4i32:
30481 case AArch64::USQADDv8i16:
30482 case AArch64::USQADDv8i8:
30483 case AArch64::XTNv16i8:
30484 case AArch64::XTNv4i32:
30485 case AArch64::XTNv8i16: {
30486 switch (OpNum) {
30487 case 1:
30488 // op: Rd
30489 return 0;
30490 case 2:
30491 // op: Rn
30492 return 5;
30493 }
30494 break;
30495 }
30496 case AArch64::BICv2i32:
30497 case AArch64::BICv4i16:
30498 case AArch64::BICv4i32:
30499 case AArch64::BICv8i16:
30500 case AArch64::ORRv2i32:
30501 case AArch64::ORRv4i16:
30502 case AArch64::ORRv4i32:
30503 case AArch64::ORRv8i16: {
30504 switch (OpNum) {
30505 case 1:
30506 // op: Rd
30507 return 0;
30508 case 2:
30509 // op: imm8
30510 return 5;
30511 case 3:
30512 // op: shift
30513 return 13;
30514 }
30515 break;
30516 }
30517 case AArch64::INSvi8lane: {
30518 switch (OpNum) {
30519 case 1:
30520 // op: Rd
30521 return 0;
30522 case 3:
30523 // op: Rn
30524 return 5;
30525 case 2:
30526 // op: idx
30527 return 17;
30528 case 4:
30529 // op: idx2
30530 return 11;
30531 }
30532 break;
30533 }
30534 case AArch64::INSvi8gpr: {
30535 switch (OpNum) {
30536 case 1:
30537 // op: Rd
30538 return 0;
30539 case 3:
30540 // op: Rn
30541 return 5;
30542 case 2:
30543 // op: idx
30544 return 17;
30545 }
30546 break;
30547 }
30548 case AArch64::INSvi16lane: {
30549 switch (OpNum) {
30550 case 1:
30551 // op: Rd
30552 return 0;
30553 case 3:
30554 // op: Rn
30555 return 5;
30556 case 2:
30557 // op: idx
30558 return 18;
30559 case 4:
30560 // op: idx2
30561 return 12;
30562 }
30563 break;
30564 }
30565 case AArch64::INSvi16gpr: {
30566 switch (OpNum) {
30567 case 1:
30568 // op: Rd
30569 return 0;
30570 case 3:
30571 // op: Rn
30572 return 5;
30573 case 2:
30574 // op: idx
30575 return 18;
30576 }
30577 break;
30578 }
30579 case AArch64::INSvi32lane: {
30580 switch (OpNum) {
30581 case 1:
30582 // op: Rd
30583 return 0;
30584 case 3:
30585 // op: Rn
30586 return 5;
30587 case 2:
30588 // op: idx
30589 return 19;
30590 case 4:
30591 // op: idx2
30592 return 13;
30593 }
30594 break;
30595 }
30596 case AArch64::INSvi32gpr: {
30597 switch (OpNum) {
30598 case 1:
30599 // op: Rd
30600 return 0;
30601 case 3:
30602 // op: Rn
30603 return 5;
30604 case 2:
30605 // op: idx
30606 return 19;
30607 }
30608 break;
30609 }
30610 case AArch64::INSvi64lane: {
30611 switch (OpNum) {
30612 case 1:
30613 // op: Rd
30614 return 0;
30615 case 3:
30616 // op: Rn
30617 return 5;
30618 case 2:
30619 // op: idx
30620 return 20;
30621 case 4:
30622 // op: idx2
30623 return 14;
30624 }
30625 break;
30626 }
30627 case AArch64::INSvi64gpr: {
30628 switch (OpNum) {
30629 case 1:
30630 // op: Rd
30631 return 0;
30632 case 3:
30633 // op: Rn
30634 return 5;
30635 case 2:
30636 // op: idx
30637 return 20;
30638 }
30639 break;
30640 }
30641 case AArch64::AUTDZA:
30642 case AArch64::AUTDZB:
30643 case AArch64::AUTIZA:
30644 case AArch64::AUTIZB:
30645 case AArch64::PACDZA:
30646 case AArch64::PACDZB:
30647 case AArch64::PACIZA:
30648 case AArch64::PACIZB: {
30649 switch (OpNum) {
30650 case 1:
30651 // op: Rd
30652 return 0;
30653 }
30654 break;
30655 }
30656 case AArch64::CTERMEQ_WW:
30657 case AArch64::CTERMEQ_XX:
30658 case AArch64::CTERMNE_WW:
30659 case AArch64::CTERMNE_XX:
30660 case AArch64::FCMPDrr:
30661 case AArch64::FCMPEDrr:
30662 case AArch64::FCMPEHrr:
30663 case AArch64::FCMPESrr:
30664 case AArch64::FCMPHrr:
30665 case AArch64::FCMPSrr: {
30666 switch (OpNum) {
30667 case 1:
30668 // op: Rm
30669 return 16;
30670 case 0:
30671 // op: Rn
30672 return 5;
30673 }
30674 break;
30675 }
30676 case AArch64::CBBEQWrr:
30677 case AArch64::CBBGEWrr:
30678 case AArch64::CBBGTWrr:
30679 case AArch64::CBBHIWrr:
30680 case AArch64::CBBHSWrr:
30681 case AArch64::CBBNEWrr:
30682 case AArch64::CBEQWrr:
30683 case AArch64::CBEQXrr:
30684 case AArch64::CBGEWrr:
30685 case AArch64::CBGEXrr:
30686 case AArch64::CBGTWrr:
30687 case AArch64::CBGTXrr:
30688 case AArch64::CBHEQWrr:
30689 case AArch64::CBHGEWrr:
30690 case AArch64::CBHGTWrr:
30691 case AArch64::CBHHIWrr:
30692 case AArch64::CBHHSWrr:
30693 case AArch64::CBHIWrr:
30694 case AArch64::CBHIXrr:
30695 case AArch64::CBHNEWrr:
30696 case AArch64::CBHSWrr:
30697 case AArch64::CBHSXrr:
30698 case AArch64::CBNEWrr:
30699 case AArch64::CBNEXrr: {
30700 switch (OpNum) {
30701 case 1:
30702 // op: Rm
30703 return 16;
30704 case 0:
30705 // op: Rt
30706 return 0;
30707 case 2:
30708 // op: target
30709 return 5;
30710 }
30711 break;
30712 }
30713 case AArch64::ST2Gi:
30714 case AArch64::STGi:
30715 case AArch64::STZ2Gi:
30716 case AArch64::STZGi: {
30717 switch (OpNum) {
30718 case 1:
30719 // op: Rn
30720 return 5;
30721 case 0:
30722 // op: Rt
30723 return 0;
30724 case 2:
30725 // op: offset
30726 return 12;
30727 }
30728 break;
30729 }
30730 case AArch64::LDAPRB:
30731 case AArch64::LDAPRH:
30732 case AArch64::LDAPRW:
30733 case AArch64::LDAPRX:
30734 case AArch64::LDGM:
30735 case AArch64::STGM:
30736 case AArch64::STZGM: {
30737 switch (OpNum) {
30738 case 1:
30739 // op: Rn
30740 return 5;
30741 case 0:
30742 // op: Rt
30743 return 0;
30744 }
30745 break;
30746 }
30747 case AArch64::INDEX_RI_B:
30748 case AArch64::INDEX_RI_D:
30749 case AArch64::INDEX_RI_H:
30750 case AArch64::INDEX_RI_S: {
30751 switch (OpNum) {
30752 case 1:
30753 // op: Rn
30754 return 5;
30755 case 0:
30756 // op: Zd
30757 return 0;
30758 case 2:
30759 // op: imm5
30760 return 16;
30761 }
30762 break;
30763 }
30764 case AArch64::DUP_ZR_B:
30765 case AArch64::DUP_ZR_D:
30766 case AArch64::DUP_ZR_H:
30767 case AArch64::DUP_ZR_S: {
30768 switch (OpNum) {
30769 case 1:
30770 // op: Rn
30771 return 5;
30772 case 0:
30773 // op: Zd
30774 return 0;
30775 }
30776 break;
30777 }
30778 case AArch64::LDR_ZXI:
30779 case AArch64::STR_ZXI: {
30780 switch (OpNum) {
30781 case 1:
30782 // op: Rn
30783 return 5;
30784 case 0:
30785 // op: Zt
30786 return 0;
30787 case 2:
30788 // op: imm9
30789 return 10;
30790 }
30791 break;
30792 }
30793 case AArch64::LDR_TX:
30794 case AArch64::STR_TX: {
30795 switch (OpNum) {
30796 case 1:
30797 // op: Rn
30798 return 5;
30799 }
30800 break;
30801 }
30802 case AArch64::LDADDAB:
30803 case AArch64::LDADDAH:
30804 case AArch64::LDADDALB:
30805 case AArch64::LDADDALH:
30806 case AArch64::LDADDALW:
30807 case AArch64::LDADDALX:
30808 case AArch64::LDADDAW:
30809 case AArch64::LDADDAX:
30810 case AArch64::LDADDB:
30811 case AArch64::LDADDH:
30812 case AArch64::LDADDLB:
30813 case AArch64::LDADDLH:
30814 case AArch64::LDADDLW:
30815 case AArch64::LDADDLX:
30816 case AArch64::LDADDW:
30817 case AArch64::LDADDX:
30818 case AArch64::LDCLRAB:
30819 case AArch64::LDCLRAH:
30820 case AArch64::LDCLRALB:
30821 case AArch64::LDCLRALH:
30822 case AArch64::LDCLRALW:
30823 case AArch64::LDCLRALX:
30824 case AArch64::LDCLRAW:
30825 case AArch64::LDCLRAX:
30826 case AArch64::LDCLRB:
30827 case AArch64::LDCLRH:
30828 case AArch64::LDCLRLB:
30829 case AArch64::LDCLRLH:
30830 case AArch64::LDCLRLW:
30831 case AArch64::LDCLRLX:
30832 case AArch64::LDCLRW:
30833 case AArch64::LDCLRX:
30834 case AArch64::LDEORAB:
30835 case AArch64::LDEORAH:
30836 case AArch64::LDEORALB:
30837 case AArch64::LDEORALH:
30838 case AArch64::LDEORALW:
30839 case AArch64::LDEORALX:
30840 case AArch64::LDEORAW:
30841 case AArch64::LDEORAX:
30842 case AArch64::LDEORB:
30843 case AArch64::LDEORH:
30844 case AArch64::LDEORLB:
30845 case AArch64::LDEORLH:
30846 case AArch64::LDEORLW:
30847 case AArch64::LDEORLX:
30848 case AArch64::LDEORW:
30849 case AArch64::LDEORX:
30850 case AArch64::LDSETAB:
30851 case AArch64::LDSETAH:
30852 case AArch64::LDSETALB:
30853 case AArch64::LDSETALH:
30854 case AArch64::LDSETALW:
30855 case AArch64::LDSETALX:
30856 case AArch64::LDSETAW:
30857 case AArch64::LDSETAX:
30858 case AArch64::LDSETB:
30859 case AArch64::LDSETH:
30860 case AArch64::LDSETLB:
30861 case AArch64::LDSETLH:
30862 case AArch64::LDSETLW:
30863 case AArch64::LDSETLX:
30864 case AArch64::LDSETW:
30865 case AArch64::LDSETX:
30866 case AArch64::LDSMAXAB:
30867 case AArch64::LDSMAXAH:
30868 case AArch64::LDSMAXALB:
30869 case AArch64::LDSMAXALH:
30870 case AArch64::LDSMAXALW:
30871 case AArch64::LDSMAXALX:
30872 case AArch64::LDSMAXAW:
30873 case AArch64::LDSMAXAX:
30874 case AArch64::LDSMAXB:
30875 case AArch64::LDSMAXH:
30876 case AArch64::LDSMAXLB:
30877 case AArch64::LDSMAXLH:
30878 case AArch64::LDSMAXLW:
30879 case AArch64::LDSMAXLX:
30880 case AArch64::LDSMAXW:
30881 case AArch64::LDSMAXX:
30882 case AArch64::LDSMINAB:
30883 case AArch64::LDSMINAH:
30884 case AArch64::LDSMINALB:
30885 case AArch64::LDSMINALH:
30886 case AArch64::LDSMINALW:
30887 case AArch64::LDSMINALX:
30888 case AArch64::LDSMINAW:
30889 case AArch64::LDSMINAX:
30890 case AArch64::LDSMINB:
30891 case AArch64::LDSMINH:
30892 case AArch64::LDSMINLB:
30893 case AArch64::LDSMINLH:
30894 case AArch64::LDSMINLW:
30895 case AArch64::LDSMINLX:
30896 case AArch64::LDSMINW:
30897 case AArch64::LDSMINX:
30898 case AArch64::LDTADDALW:
30899 case AArch64::LDTADDALX:
30900 case AArch64::LDTADDAW:
30901 case AArch64::LDTADDAX:
30902 case AArch64::LDTADDLW:
30903 case AArch64::LDTADDLX:
30904 case AArch64::LDTADDW:
30905 case AArch64::LDTADDX:
30906 case AArch64::LDTCLRALW:
30907 case AArch64::LDTCLRALX:
30908 case AArch64::LDTCLRAW:
30909 case AArch64::LDTCLRAX:
30910 case AArch64::LDTCLRLW:
30911 case AArch64::LDTCLRLX:
30912 case AArch64::LDTCLRW:
30913 case AArch64::LDTCLRX:
30914 case AArch64::LDTSETALW:
30915 case AArch64::LDTSETALX:
30916 case AArch64::LDTSETAW:
30917 case AArch64::LDTSETAX:
30918 case AArch64::LDTSETLW:
30919 case AArch64::LDTSETLX:
30920 case AArch64::LDTSETW:
30921 case AArch64::LDTSETX:
30922 case AArch64::LDUMAXAB:
30923 case AArch64::LDUMAXAH:
30924 case AArch64::LDUMAXALB:
30925 case AArch64::LDUMAXALH:
30926 case AArch64::LDUMAXALW:
30927 case AArch64::LDUMAXALX:
30928 case AArch64::LDUMAXAW:
30929 case AArch64::LDUMAXAX:
30930 case AArch64::LDUMAXB:
30931 case AArch64::LDUMAXH:
30932 case AArch64::LDUMAXLB:
30933 case AArch64::LDUMAXLH:
30934 case AArch64::LDUMAXLW:
30935 case AArch64::LDUMAXLX:
30936 case AArch64::LDUMAXW:
30937 case AArch64::LDUMAXX:
30938 case AArch64::LDUMINAB:
30939 case AArch64::LDUMINAH:
30940 case AArch64::LDUMINALB:
30941 case AArch64::LDUMINALH:
30942 case AArch64::LDUMINALW:
30943 case AArch64::LDUMINALX:
30944 case AArch64::LDUMINAW:
30945 case AArch64::LDUMINAX:
30946 case AArch64::LDUMINB:
30947 case AArch64::LDUMINH:
30948 case AArch64::LDUMINLB:
30949 case AArch64::LDUMINLH:
30950 case AArch64::LDUMINLW:
30951 case AArch64::LDUMINLX:
30952 case AArch64::LDUMINW:
30953 case AArch64::LDUMINX:
30954 case AArch64::RCWCLR:
30955 case AArch64::RCWCLRA:
30956 case AArch64::RCWCLRAL:
30957 case AArch64::RCWCLRL:
30958 case AArch64::RCWCLRS:
30959 case AArch64::RCWCLRSA:
30960 case AArch64::RCWCLRSAL:
30961 case AArch64::RCWCLRSL:
30962 case AArch64::RCWSET:
30963 case AArch64::RCWSETA:
30964 case AArch64::RCWSETAL:
30965 case AArch64::RCWSETL:
30966 case AArch64::RCWSETS:
30967 case AArch64::RCWSETSA:
30968 case AArch64::RCWSETSAL:
30969 case AArch64::RCWSETSL:
30970 case AArch64::RCWSWP:
30971 case AArch64::RCWSWPA:
30972 case AArch64::RCWSWPAL:
30973 case AArch64::RCWSWPL:
30974 case AArch64::RCWSWPS:
30975 case AArch64::RCWSWPSA:
30976 case AArch64::RCWSWPSAL:
30977 case AArch64::RCWSWPSL:
30978 case AArch64::SWPAB:
30979 case AArch64::SWPAH:
30980 case AArch64::SWPALB:
30981 case AArch64::SWPALH:
30982 case AArch64::SWPALW:
30983 case AArch64::SWPALX:
30984 case AArch64::SWPAW:
30985 case AArch64::SWPAX:
30986 case AArch64::SWPB:
30987 case AArch64::SWPH:
30988 case AArch64::SWPLB:
30989 case AArch64::SWPLH:
30990 case AArch64::SWPLW:
30991 case AArch64::SWPLX:
30992 case AArch64::SWPTALW:
30993 case AArch64::SWPTALX:
30994 case AArch64::SWPTAW:
30995 case AArch64::SWPTAX:
30996 case AArch64::SWPTLW:
30997 case AArch64::SWPTLX:
30998 case AArch64::SWPTW:
30999 case AArch64::SWPTX:
31000 case AArch64::SWPW:
31001 case AArch64::SWPX: {
31002 switch (OpNum) {
31003 case 1:
31004 // op: Rs
31005 return 16;
31006 case 2:
31007 // op: Rn
31008 return 5;
31009 case 0:
31010 // op: Rt
31011 return 0;
31012 }
31013 break;
31014 }
31015 case AArch64::CASAB:
31016 case AArch64::CASAH:
31017 case AArch64::CASALB:
31018 case AArch64::CASALH:
31019 case AArch64::CASALTX:
31020 case AArch64::CASALW:
31021 case AArch64::CASALX:
31022 case AArch64::CASATX:
31023 case AArch64::CASAW:
31024 case AArch64::CASAX:
31025 case AArch64::CASB:
31026 case AArch64::CASH:
31027 case AArch64::CASLB:
31028 case AArch64::CASLH:
31029 case AArch64::CASLTX:
31030 case AArch64::CASLW:
31031 case AArch64::CASLX:
31032 case AArch64::CASPALTX:
31033 case AArch64::CASPALW:
31034 case AArch64::CASPALX:
31035 case AArch64::CASPATX:
31036 case AArch64::CASPAW:
31037 case AArch64::CASPAX:
31038 case AArch64::CASPLTX:
31039 case AArch64::CASPLW:
31040 case AArch64::CASPLX:
31041 case AArch64::CASPTX:
31042 case AArch64::CASPW:
31043 case AArch64::CASPX:
31044 case AArch64::CASTX:
31045 case AArch64::CASW:
31046 case AArch64::CASX:
31047 case AArch64::RCWCAS:
31048 case AArch64::RCWCASA:
31049 case AArch64::RCWCASAL:
31050 case AArch64::RCWCASL:
31051 case AArch64::RCWCASP:
31052 case AArch64::RCWCASPA:
31053 case AArch64::RCWCASPAL:
31054 case AArch64::RCWCASPL:
31055 case AArch64::RCWSCAS:
31056 case AArch64::RCWSCASA:
31057 case AArch64::RCWSCASAL:
31058 case AArch64::RCWSCASL:
31059 case AArch64::RCWSCASP:
31060 case AArch64::RCWSCASPA:
31061 case AArch64::RCWSCASPAL:
31062 case AArch64::RCWSCASPL: {
31063 switch (OpNum) {
31064 case 1:
31065 // op: Rs
31066 return 16;
31067 case 3:
31068 // op: Rn
31069 return 5;
31070 case 2:
31071 // op: Rt
31072 return 0;
31073 }
31074 break;
31075 }
31076 case AArch64::MSR:
31077 case AArch64::MSRR: {
31078 switch (OpNum) {
31079 case 1:
31080 // op: Rt
31081 return 0;
31082 case 0:
31083 // op: systemreg
31084 return 5;
31085 }
31086 break;
31087 }
31088 case AArch64::ST64BV:
31089 case AArch64::ST64BV0: {
31090 switch (OpNum) {
31091 case 1:
31092 // op: Rt
31093 return 0;
31094 case 2:
31095 // op: Rn
31096 return 5;
31097 case 0:
31098 // op: Rs
31099 return 16;
31100 }
31101 break;
31102 }
31103 case AArch64::STTXRWr:
31104 case AArch64::STTXRXr: {
31105 switch (OpNum) {
31106 case 1:
31107 // op: Rt
31108 return 0;
31109 case 2:
31110 // op: Rn
31111 return 5;
31112 case 0:
31113 // op: Ws
31114 return 16;
31115 }
31116 break;
31117 }
31118 case AArch64::LDRBBpost:
31119 case AArch64::LDRBBpre:
31120 case AArch64::LDRBpost:
31121 case AArch64::LDRBpre:
31122 case AArch64::LDRDpost:
31123 case AArch64::LDRDpre:
31124 case AArch64::LDRHHpost:
31125 case AArch64::LDRHHpre:
31126 case AArch64::LDRHpost:
31127 case AArch64::LDRHpre:
31128 case AArch64::LDRQpost:
31129 case AArch64::LDRQpre:
31130 case AArch64::LDRSBWpost:
31131 case AArch64::LDRSBWpre:
31132 case AArch64::LDRSBXpost:
31133 case AArch64::LDRSBXpre:
31134 case AArch64::LDRSHWpost:
31135 case AArch64::LDRSHWpre:
31136 case AArch64::LDRSHXpost:
31137 case AArch64::LDRSHXpre:
31138 case AArch64::LDRSWpost:
31139 case AArch64::LDRSWpre:
31140 case AArch64::LDRSpost:
31141 case AArch64::LDRSpre:
31142 case AArch64::LDRWpost:
31143 case AArch64::LDRWpre:
31144 case AArch64::LDRXpost:
31145 case AArch64::LDRXpre:
31146 case AArch64::STRBBpost:
31147 case AArch64::STRBBpre:
31148 case AArch64::STRBpost:
31149 case AArch64::STRBpre:
31150 case AArch64::STRDpost:
31151 case AArch64::STRDpre:
31152 case AArch64::STRHHpost:
31153 case AArch64::STRHHpre:
31154 case AArch64::STRHpost:
31155 case AArch64::STRHpre:
31156 case AArch64::STRQpost:
31157 case AArch64::STRQpre:
31158 case AArch64::STRSpost:
31159 case AArch64::STRSpre:
31160 case AArch64::STRWpost:
31161 case AArch64::STRWpre:
31162 case AArch64::STRXpost:
31163 case AArch64::STRXpre: {
31164 switch (OpNum) {
31165 case 1:
31166 // op: Rt
31167 return 0;
31168 case 2:
31169 // op: Rn
31170 return 5;
31171 case 3:
31172 // op: offset
31173 return 12;
31174 }
31175 break;
31176 }
31177 case AArch64::LDAPRWpost:
31178 case AArch64::LDAPRXpost:
31179 case AArch64::STLRWpre:
31180 case AArch64::STLRXpre: {
31181 switch (OpNum) {
31182 case 1:
31183 // op: Rt
31184 return 0;
31185 case 2:
31186 // op: Rn
31187 return 5;
31188 }
31189 break;
31190 }
31191 case AArch64::LDPDpost:
31192 case AArch64::LDPDpre:
31193 case AArch64::LDPQpost:
31194 case AArch64::LDPQpre:
31195 case AArch64::LDPSWpost:
31196 case AArch64::LDPSWpre:
31197 case AArch64::LDPSpost:
31198 case AArch64::LDPSpre:
31199 case AArch64::LDPWpost:
31200 case AArch64::LDPWpre:
31201 case AArch64::LDPXpost:
31202 case AArch64::LDPXpre:
31203 case AArch64::LDTPQpost:
31204 case AArch64::LDTPQpre:
31205 case AArch64::LDTPpost:
31206 case AArch64::LDTPpre:
31207 case AArch64::STGPpost:
31208 case AArch64::STGPpre:
31209 case AArch64::STPDpost:
31210 case AArch64::STPDpre:
31211 case AArch64::STPQpost:
31212 case AArch64::STPQpre:
31213 case AArch64::STPSpost:
31214 case AArch64::STPSpre:
31215 case AArch64::STPWpost:
31216 case AArch64::STPWpre:
31217 case AArch64::STPXpost:
31218 case AArch64::STPXpre:
31219 case AArch64::STTPQpost:
31220 case AArch64::STTPQpre:
31221 case AArch64::STTPpost:
31222 case AArch64::STTPpre: {
31223 switch (OpNum) {
31224 case 1:
31225 // op: Rt
31226 return 0;
31227 case 2:
31228 // op: Rt2
31229 return 10;
31230 case 3:
31231 // op: Rn
31232 return 5;
31233 case 4:
31234 // op: offset
31235 return 15;
31236 }
31237 break;
31238 }
31239 case AArch64::LDIAPPWpost:
31240 case AArch64::LDIAPPXpost:
31241 case AArch64::STILPWpre:
31242 case AArch64::STILPXpre: {
31243 switch (OpNum) {
31244 case 1:
31245 // op: Rt
31246 return 0;
31247 case 3:
31248 // op: Rn
31249 return 5;
31250 case 2:
31251 // op: Rt2
31252 return 16;
31253 }
31254 break;
31255 }
31256 case AArch64::LDR_ZA:
31257 case AArch64::STR_ZA: {
31258 switch (OpNum) {
31259 case 1:
31260 // op: Rv
31261 return 13;
31262 case 3:
31263 // op: Rn
31264 return 5;
31265 case 2:
31266 // op: imm4
31267 return 0;
31268 }
31269 break;
31270 }
31271 case AArch64::SHA512H:
31272 case AArch64::SHA512H2:
31273 case AArch64::SHA512SU1:
31274 case AArch64::SM3PARTW1:
31275 case AArch64::SM3PARTW2:
31276 case AArch64::TBXv16i8Four:
31277 case AArch64::TBXv16i8One:
31278 case AArch64::TBXv16i8Three:
31279 case AArch64::TBXv16i8Two:
31280 case AArch64::TBXv8i8Four:
31281 case AArch64::TBXv8i8One:
31282 case AArch64::TBXv8i8Three:
31283 case AArch64::TBXv8i8Two: {
31284 switch (OpNum) {
31285 case 1:
31286 // op: Vd
31287 return 0;
31288 case 2:
31289 // op: Vn
31290 return 5;
31291 case 3:
31292 // op: Vm
31293 return 16;
31294 }
31295 break;
31296 }
31297 case AArch64::SM3TT1A:
31298 case AArch64::SM3TT1B:
31299 case AArch64::SM3TT2A:
31300 case AArch64::SM3TT2B: {
31301 switch (OpNum) {
31302 case 1:
31303 // op: Vd
31304 return 0;
31305 case 2:
31306 // op: Vn
31307 return 5;
31308 case 4:
31309 // op: imm
31310 return 12;
31311 case 3:
31312 // op: Vm
31313 return 16;
31314 }
31315 break;
31316 }
31317 case AArch64::SHA512SU0:
31318 case AArch64::SM4E: {
31319 switch (OpNum) {
31320 case 1:
31321 // op: Vd
31322 return 0;
31323 case 2:
31324 // op: Vn
31325 return 5;
31326 }
31327 break;
31328 }
31329 case AArch64::LD1Fourv16b_POST:
31330 case AArch64::LD1Fourv1d_POST:
31331 case AArch64::LD1Fourv2d_POST:
31332 case AArch64::LD1Fourv2s_POST:
31333 case AArch64::LD1Fourv4h_POST:
31334 case AArch64::LD1Fourv4s_POST:
31335 case AArch64::LD1Fourv8b_POST:
31336 case AArch64::LD1Fourv8h_POST:
31337 case AArch64::LD1Onev16b_POST:
31338 case AArch64::LD1Onev1d_POST:
31339 case AArch64::LD1Onev2d_POST:
31340 case AArch64::LD1Onev2s_POST:
31341 case AArch64::LD1Onev4h_POST:
31342 case AArch64::LD1Onev4s_POST:
31343 case AArch64::LD1Onev8b_POST:
31344 case AArch64::LD1Onev8h_POST:
31345 case AArch64::LD1Rv16b_POST:
31346 case AArch64::LD1Rv1d_POST:
31347 case AArch64::LD1Rv2d_POST:
31348 case AArch64::LD1Rv2s_POST:
31349 case AArch64::LD1Rv4h_POST:
31350 case AArch64::LD1Rv4s_POST:
31351 case AArch64::LD1Rv8b_POST:
31352 case AArch64::LD1Rv8h_POST:
31353 case AArch64::LD1Threev16b_POST:
31354 case AArch64::LD1Threev1d_POST:
31355 case AArch64::LD1Threev2d_POST:
31356 case AArch64::LD1Threev2s_POST:
31357 case AArch64::LD1Threev4h_POST:
31358 case AArch64::LD1Threev4s_POST:
31359 case AArch64::LD1Threev8b_POST:
31360 case AArch64::LD1Threev8h_POST:
31361 case AArch64::LD1Twov16b_POST:
31362 case AArch64::LD1Twov1d_POST:
31363 case AArch64::LD1Twov2d_POST:
31364 case AArch64::LD1Twov2s_POST:
31365 case AArch64::LD1Twov4h_POST:
31366 case AArch64::LD1Twov4s_POST:
31367 case AArch64::LD1Twov8b_POST:
31368 case AArch64::LD1Twov8h_POST:
31369 case AArch64::LD2Rv16b_POST:
31370 case AArch64::LD2Rv1d_POST:
31371 case AArch64::LD2Rv2d_POST:
31372 case AArch64::LD2Rv2s_POST:
31373 case AArch64::LD2Rv4h_POST:
31374 case AArch64::LD2Rv4s_POST:
31375 case AArch64::LD2Rv8b_POST:
31376 case AArch64::LD2Rv8h_POST:
31377 case AArch64::LD2Twov16b_POST:
31378 case AArch64::LD2Twov2d_POST:
31379 case AArch64::LD2Twov2s_POST:
31380 case AArch64::LD2Twov4h_POST:
31381 case AArch64::LD2Twov4s_POST:
31382 case AArch64::LD2Twov8b_POST:
31383 case AArch64::LD2Twov8h_POST:
31384 case AArch64::LD3Rv16b_POST:
31385 case AArch64::LD3Rv1d_POST:
31386 case AArch64::LD3Rv2d_POST:
31387 case AArch64::LD3Rv2s_POST:
31388 case AArch64::LD3Rv4h_POST:
31389 case AArch64::LD3Rv4s_POST:
31390 case AArch64::LD3Rv8b_POST:
31391 case AArch64::LD3Rv8h_POST:
31392 case AArch64::LD3Threev16b_POST:
31393 case AArch64::LD3Threev2d_POST:
31394 case AArch64::LD3Threev2s_POST:
31395 case AArch64::LD3Threev4h_POST:
31396 case AArch64::LD3Threev4s_POST:
31397 case AArch64::LD3Threev8b_POST:
31398 case AArch64::LD3Threev8h_POST:
31399 case AArch64::LD4Fourv16b_POST:
31400 case AArch64::LD4Fourv2d_POST:
31401 case AArch64::LD4Fourv2s_POST:
31402 case AArch64::LD4Fourv4h_POST:
31403 case AArch64::LD4Fourv4s_POST:
31404 case AArch64::LD4Fourv8b_POST:
31405 case AArch64::LD4Fourv8h_POST:
31406 case AArch64::LD4Rv16b_POST:
31407 case AArch64::LD4Rv1d_POST:
31408 case AArch64::LD4Rv2d_POST:
31409 case AArch64::LD4Rv2s_POST:
31410 case AArch64::LD4Rv4h_POST:
31411 case AArch64::LD4Rv4s_POST:
31412 case AArch64::LD4Rv8b_POST:
31413 case AArch64::LD4Rv8h_POST:
31414 case AArch64::ST1Fourv16b_POST:
31415 case AArch64::ST1Fourv1d_POST:
31416 case AArch64::ST1Fourv2d_POST:
31417 case AArch64::ST1Fourv2s_POST:
31418 case AArch64::ST1Fourv4h_POST:
31419 case AArch64::ST1Fourv4s_POST:
31420 case AArch64::ST1Fourv8b_POST:
31421 case AArch64::ST1Fourv8h_POST:
31422 case AArch64::ST1Onev16b_POST:
31423 case AArch64::ST1Onev1d_POST:
31424 case AArch64::ST1Onev2d_POST:
31425 case AArch64::ST1Onev2s_POST:
31426 case AArch64::ST1Onev4h_POST:
31427 case AArch64::ST1Onev4s_POST:
31428 case AArch64::ST1Onev8b_POST:
31429 case AArch64::ST1Onev8h_POST:
31430 case AArch64::ST1Threev16b_POST:
31431 case AArch64::ST1Threev1d_POST:
31432 case AArch64::ST1Threev2d_POST:
31433 case AArch64::ST1Threev2s_POST:
31434 case AArch64::ST1Threev4h_POST:
31435 case AArch64::ST1Threev4s_POST:
31436 case AArch64::ST1Threev8b_POST:
31437 case AArch64::ST1Threev8h_POST:
31438 case AArch64::ST1Twov16b_POST:
31439 case AArch64::ST1Twov1d_POST:
31440 case AArch64::ST1Twov2d_POST:
31441 case AArch64::ST1Twov2s_POST:
31442 case AArch64::ST1Twov4h_POST:
31443 case AArch64::ST1Twov4s_POST:
31444 case AArch64::ST1Twov8b_POST:
31445 case AArch64::ST1Twov8h_POST:
31446 case AArch64::ST2Twov16b_POST:
31447 case AArch64::ST2Twov2d_POST:
31448 case AArch64::ST2Twov2s_POST:
31449 case AArch64::ST2Twov4h_POST:
31450 case AArch64::ST2Twov4s_POST:
31451 case AArch64::ST2Twov8b_POST:
31452 case AArch64::ST2Twov8h_POST:
31453 case AArch64::ST3Threev16b_POST:
31454 case AArch64::ST3Threev2d_POST:
31455 case AArch64::ST3Threev2s_POST:
31456 case AArch64::ST3Threev4h_POST:
31457 case AArch64::ST3Threev4s_POST:
31458 case AArch64::ST3Threev8b_POST:
31459 case AArch64::ST3Threev8h_POST:
31460 case AArch64::ST4Fourv16b_POST:
31461 case AArch64::ST4Fourv2d_POST:
31462 case AArch64::ST4Fourv2s_POST:
31463 case AArch64::ST4Fourv4h_POST:
31464 case AArch64::ST4Fourv4s_POST:
31465 case AArch64::ST4Fourv8b_POST:
31466 case AArch64::ST4Fourv8h_POST: {
31467 switch (OpNum) {
31468 case 1:
31469 // op: Vt
31470 return 0;
31471 case 2:
31472 // op: Rn
31473 return 5;
31474 case 3:
31475 // op: Xm
31476 return 16;
31477 }
31478 break;
31479 }
31480 case AArch64::LDAP1: {
31481 switch (OpNum) {
31482 case 1:
31483 // op: Vt
31484 return 0;
31485 case 3:
31486 // op: Rn
31487 return 5;
31488 case 2:
31489 // op: Q
31490 return 30;
31491 }
31492 break;
31493 }
31494 case AArch64::ST1i8_POST:
31495 case AArch64::ST2i8_POST:
31496 case AArch64::ST3i8_POST:
31497 case AArch64::ST4i8_POST: {
31498 switch (OpNum) {
31499 case 1:
31500 // op: Vt
31501 return 0;
31502 case 3:
31503 // op: Rn
31504 return 5;
31505 case 2:
31506 // op: idx
31507 return 10;
31508 case 4:
31509 // op: Xm
31510 return 16;
31511 }
31512 break;
31513 }
31514 case AArch64::LD1i8:
31515 case AArch64::LD2i8:
31516 case AArch64::LD3i8:
31517 case AArch64::LD4i8: {
31518 switch (OpNum) {
31519 case 1:
31520 // op: Vt
31521 return 0;
31522 case 3:
31523 // op: Rn
31524 return 5;
31525 case 2:
31526 // op: idx
31527 return 10;
31528 }
31529 break;
31530 }
31531 case AArch64::ST1i16_POST:
31532 case AArch64::ST2i16_POST:
31533 case AArch64::ST3i16_POST:
31534 case AArch64::ST4i16_POST: {
31535 switch (OpNum) {
31536 case 1:
31537 // op: Vt
31538 return 0;
31539 case 3:
31540 // op: Rn
31541 return 5;
31542 case 2:
31543 // op: idx
31544 return 11;
31545 case 4:
31546 // op: Xm
31547 return 16;
31548 }
31549 break;
31550 }
31551 case AArch64::LD1i16:
31552 case AArch64::LD2i16:
31553 case AArch64::LD3i16:
31554 case AArch64::LD4i16: {
31555 switch (OpNum) {
31556 case 1:
31557 // op: Vt
31558 return 0;
31559 case 3:
31560 // op: Rn
31561 return 5;
31562 case 2:
31563 // op: idx
31564 return 11;
31565 }
31566 break;
31567 }
31568 case AArch64::ST1i32_POST:
31569 case AArch64::ST2i32_POST:
31570 case AArch64::ST3i32_POST:
31571 case AArch64::ST4i32_POST: {
31572 switch (OpNum) {
31573 case 1:
31574 // op: Vt
31575 return 0;
31576 case 3:
31577 // op: Rn
31578 return 5;
31579 case 2:
31580 // op: idx
31581 return 12;
31582 case 4:
31583 // op: Xm
31584 return 16;
31585 }
31586 break;
31587 }
31588 case AArch64::LD1i32:
31589 case AArch64::LD2i32:
31590 case AArch64::LD3i32:
31591 case AArch64::LD4i32: {
31592 switch (OpNum) {
31593 case 1:
31594 // op: Vt
31595 return 0;
31596 case 3:
31597 // op: Rn
31598 return 5;
31599 case 2:
31600 // op: idx
31601 return 12;
31602 }
31603 break;
31604 }
31605 case AArch64::ST1i64_POST:
31606 case AArch64::ST2i64_POST:
31607 case AArch64::ST3i64_POST:
31608 case AArch64::ST4i64_POST: {
31609 switch (OpNum) {
31610 case 1:
31611 // op: Vt
31612 return 0;
31613 case 3:
31614 // op: Rn
31615 return 5;
31616 case 2:
31617 // op: idx
31618 return 30;
31619 case 4:
31620 // op: Xm
31621 return 16;
31622 }
31623 break;
31624 }
31625 case AArch64::LD1i64:
31626 case AArch64::LD2i64:
31627 case AArch64::LD3i64:
31628 case AArch64::LD4i64: {
31629 switch (OpNum) {
31630 case 1:
31631 // op: Vt
31632 return 0;
31633 case 3:
31634 // op: Rn
31635 return 5;
31636 case 2:
31637 // op: idx
31638 return 30;
31639 }
31640 break;
31641 }
31642 case AArch64::BF1CVTL_2ZZ_BtoH:
31643 case AArch64::BF1CVT_2ZZ_BtoH:
31644 case AArch64::BF2CVTL_2ZZ_BtoH:
31645 case AArch64::BF2CVT_2ZZ_BtoH:
31646 case AArch64::F1CVTL_2ZZ_BtoH:
31647 case AArch64::F1CVT_2ZZ_BtoH:
31648 case AArch64::F2CVTL_2ZZ_BtoH:
31649 case AArch64::F2CVT_2ZZ_BtoH:
31650 case AArch64::FCVTL_2ZZ_H_S:
31651 case AArch64::FCVT_2ZZ_H_S:
31652 case AArch64::SUNPK_VG2_2ZZ_D:
31653 case AArch64::SUNPK_VG2_2ZZ_H:
31654 case AArch64::SUNPK_VG2_2ZZ_S:
31655 case AArch64::UUNPK_VG2_2ZZ_D:
31656 case AArch64::UUNPK_VG2_2ZZ_H:
31657 case AArch64::UUNPK_VG2_2ZZ_S: {
31658 switch (OpNum) {
31659 case 1:
31660 // op: Zn
31661 return 5;
31662 case 0:
31663 // op: Zd
31664 return 1;
31665 }
31666 break;
31667 }
31668 case AArch64::BFCVTN_Z2Z_StoH:
31669 case AArch64::BFCVT_Z2Z_HtoB:
31670 case AArch64::BFCVT_Z2Z_StoH:
31671 case AArch64::FCVTN_Z2Z_StoH:
31672 case AArch64::FCVT_Z2Z_HtoB:
31673 case AArch64::FCVT_Z2Z_StoH:
31674 case AArch64::SQCVTU_Z2Z_StoH:
31675 case AArch64::SQCVT_Z2Z_StoH:
31676 case AArch64::UQCVT_Z2Z_StoH: {
31677 switch (OpNum) {
31678 case 1:
31679 // op: Zn
31680 return 6;
31681 case 0:
31682 // op: Zd
31683 return 0;
31684 }
31685 break;
31686 }
31687 case AArch64::FCVTZS_2Z2Z_StoS:
31688 case AArch64::FCVTZU_2Z2Z_StoS:
31689 case AArch64::FRINTA_2Z2Z_S:
31690 case AArch64::FRINTM_2Z2Z_S:
31691 case AArch64::FRINTN_2Z2Z_S:
31692 case AArch64::FRINTP_2Z2Z_S:
31693 case AArch64::SCVTF_2Z2Z_StoS:
31694 case AArch64::UCVTF_2Z2Z_StoS: {
31695 switch (OpNum) {
31696 case 1:
31697 // op: Zn
31698 return 6;
31699 case 0:
31700 // op: Zd
31701 return 1;
31702 }
31703 break;
31704 }
31705 case AArch64::SUNPK_VG4_4Z2Z_D:
31706 case AArch64::SUNPK_VG4_4Z2Z_H:
31707 case AArch64::SUNPK_VG4_4Z2Z_S:
31708 case AArch64::UUNPK_VG4_4Z2Z_D:
31709 case AArch64::UUNPK_VG4_4Z2Z_H:
31710 case AArch64::UUNPK_VG4_4Z2Z_S: {
31711 switch (OpNum) {
31712 case 1:
31713 // op: Zn
31714 return 6;
31715 case 0:
31716 // op: Zd
31717 return 2;
31718 }
31719 break;
31720 }
31721 case AArch64::SQRSHRN_VG4_Z4ZI_B:
31722 case AArch64::SQRSHRN_VG4_Z4ZI_H:
31723 case AArch64::SQRSHRUN_VG4_Z4ZI_B:
31724 case AArch64::SQRSHRUN_VG4_Z4ZI_H:
31725 case AArch64::SQRSHRU_VG4_Z4ZI_B:
31726 case AArch64::SQRSHRU_VG4_Z4ZI_H:
31727 case AArch64::SQRSHR_VG4_Z4ZI_B:
31728 case AArch64::SQRSHR_VG4_Z4ZI_H:
31729 case AArch64::UQRSHRN_VG4_Z4ZI_B:
31730 case AArch64::UQRSHRN_VG4_Z4ZI_H:
31731 case AArch64::UQRSHR_VG4_Z4ZI_B:
31732 case AArch64::UQRSHR_VG4_Z4ZI_H: {
31733 switch (OpNum) {
31734 case 1:
31735 // op: Zn
31736 return 7;
31737 case 0:
31738 // op: Zd
31739 return 0;
31740 case 2:
31741 // op: imm
31742 return 16;
31743 }
31744 break;
31745 }
31746 case AArch64::FCVTN_Z4Z_StoB:
31747 case AArch64::FCVT_Z4Z_StoB:
31748 case AArch64::SQCVTN_Z4Z_DtoH:
31749 case AArch64::SQCVTN_Z4Z_StoB:
31750 case AArch64::SQCVTUN_Z4Z_DtoH:
31751 case AArch64::SQCVTUN_Z4Z_StoB:
31752 case AArch64::SQCVTU_Z4Z_DtoH:
31753 case AArch64::SQCVTU_Z4Z_StoB:
31754 case AArch64::SQCVT_Z4Z_DtoH:
31755 case AArch64::SQCVT_Z4Z_StoB:
31756 case AArch64::UQCVTN_Z4Z_DtoH:
31757 case AArch64::UQCVTN_Z4Z_StoB:
31758 case AArch64::UQCVT_Z4Z_DtoH:
31759 case AArch64::UQCVT_Z4Z_StoB: {
31760 switch (OpNum) {
31761 case 1:
31762 // op: Zn
31763 return 7;
31764 case 0:
31765 // op: Zd
31766 return 0;
31767 }
31768 break;
31769 }
31770 case AArch64::FCVTZS_4Z4Z_StoS:
31771 case AArch64::FCVTZU_4Z4Z_StoS:
31772 case AArch64::FRINTA_4Z4Z_S:
31773 case AArch64::FRINTM_4Z4Z_S:
31774 case AArch64::FRINTN_4Z4Z_S:
31775 case AArch64::FRINTP_4Z4Z_S:
31776 case AArch64::SCVTF_4Z4Z_StoS:
31777 case AArch64::UCVTF_4Z4Z_StoS:
31778 case AArch64::UZP_VG4_4Z4Z_B:
31779 case AArch64::UZP_VG4_4Z4Z_D:
31780 case AArch64::UZP_VG4_4Z4Z_H:
31781 case AArch64::UZP_VG4_4Z4Z_Q:
31782 case AArch64::UZP_VG4_4Z4Z_S:
31783 case AArch64::ZIP_VG4_4Z4Z_B:
31784 case AArch64::ZIP_VG4_4Z4Z_D:
31785 case AArch64::ZIP_VG4_4Z4Z_H:
31786 case AArch64::ZIP_VG4_4Z4Z_Q:
31787 case AArch64::ZIP_VG4_4Z4Z_S: {
31788 switch (OpNum) {
31789 case 1:
31790 // op: Zn
31791 return 7;
31792 case 0:
31793 // op: Zd
31794 return 2;
31795 }
31796 break;
31797 }
31798 case AArch64::MOVT_TIX: {
31799 switch (OpNum) {
31800 case 1:
31801 // op: imm3
31802 return 12;
31803 case 2:
31804 // op: Rt
31805 return 0;
31806 }
31807 break;
31808 }
31809 case AArch64::ABS_ZPmZ_B:
31810 case AArch64::ABS_ZPmZ_D:
31811 case AArch64::ABS_ZPmZ_H:
31812 case AArch64::ABS_ZPmZ_S:
31813 case AArch64::BFCVT_ZPmZ:
31814 case AArch64::CLS_ZPmZ_B:
31815 case AArch64::CLS_ZPmZ_D:
31816 case AArch64::CLS_ZPmZ_H:
31817 case AArch64::CLS_ZPmZ_S:
31818 case AArch64::CLZ_ZPmZ_B:
31819 case AArch64::CLZ_ZPmZ_D:
31820 case AArch64::CLZ_ZPmZ_H:
31821 case AArch64::CLZ_ZPmZ_S:
31822 case AArch64::CNOT_ZPmZ_B:
31823 case AArch64::CNOT_ZPmZ_D:
31824 case AArch64::CNOT_ZPmZ_H:
31825 case AArch64::CNOT_ZPmZ_S:
31826 case AArch64::CNT_ZPmZ_B:
31827 case AArch64::CNT_ZPmZ_D:
31828 case AArch64::CNT_ZPmZ_H:
31829 case AArch64::CNT_ZPmZ_S:
31830 case AArch64::FABS_ZPmZ_D:
31831 case AArch64::FABS_ZPmZ_H:
31832 case AArch64::FABS_ZPmZ_S:
31833 case AArch64::FCVTX_ZPmZ_DtoS:
31834 case AArch64::FCVTZS_ZPmZ_DtoD:
31835 case AArch64::FCVTZS_ZPmZ_DtoS:
31836 case AArch64::FCVTZS_ZPmZ_HtoD:
31837 case AArch64::FCVTZS_ZPmZ_HtoH:
31838 case AArch64::FCVTZS_ZPmZ_HtoS:
31839 case AArch64::FCVTZS_ZPmZ_StoD:
31840 case AArch64::FCVTZS_ZPmZ_StoS:
31841 case AArch64::FCVTZU_ZPmZ_DtoD:
31842 case AArch64::FCVTZU_ZPmZ_DtoS:
31843 case AArch64::FCVTZU_ZPmZ_HtoD:
31844 case AArch64::FCVTZU_ZPmZ_HtoH:
31845 case AArch64::FCVTZU_ZPmZ_HtoS:
31846 case AArch64::FCVTZU_ZPmZ_StoD:
31847 case AArch64::FCVTZU_ZPmZ_StoS:
31848 case AArch64::FCVT_ZPmZ_DtoH:
31849 case AArch64::FCVT_ZPmZ_DtoS:
31850 case AArch64::FCVT_ZPmZ_HtoD:
31851 case AArch64::FCVT_ZPmZ_HtoS:
31852 case AArch64::FCVT_ZPmZ_StoD:
31853 case AArch64::FCVT_ZPmZ_StoH:
31854 case AArch64::FLOGB_ZPmZ_D:
31855 case AArch64::FLOGB_ZPmZ_H:
31856 case AArch64::FLOGB_ZPmZ_S:
31857 case AArch64::FNEG_ZPmZ_D:
31858 case AArch64::FNEG_ZPmZ_H:
31859 case AArch64::FNEG_ZPmZ_S:
31860 case AArch64::FRECPX_ZPmZ_D:
31861 case AArch64::FRECPX_ZPmZ_H:
31862 case AArch64::FRECPX_ZPmZ_S:
31863 case AArch64::FRINT32X_ZPmZ_D:
31864 case AArch64::FRINT32X_ZPmZ_S:
31865 case AArch64::FRINT32Z_ZPmZ_D:
31866 case AArch64::FRINT32Z_ZPmZ_S:
31867 case AArch64::FRINT64X_ZPmZ_D:
31868 case AArch64::FRINT64X_ZPmZ_S:
31869 case AArch64::FRINT64Z_ZPmZ_D:
31870 case AArch64::FRINT64Z_ZPmZ_S:
31871 case AArch64::FRINTA_ZPmZ_D:
31872 case AArch64::FRINTA_ZPmZ_H:
31873 case AArch64::FRINTA_ZPmZ_S:
31874 case AArch64::FRINTI_ZPmZ_D:
31875 case AArch64::FRINTI_ZPmZ_H:
31876 case AArch64::FRINTI_ZPmZ_S:
31877 case AArch64::FRINTM_ZPmZ_D:
31878 case AArch64::FRINTM_ZPmZ_H:
31879 case AArch64::FRINTM_ZPmZ_S:
31880 case AArch64::FRINTN_ZPmZ_D:
31881 case AArch64::FRINTN_ZPmZ_H:
31882 case AArch64::FRINTN_ZPmZ_S:
31883 case AArch64::FRINTP_ZPmZ_D:
31884 case AArch64::FRINTP_ZPmZ_H:
31885 case AArch64::FRINTP_ZPmZ_S:
31886 case AArch64::FRINTX_ZPmZ_D:
31887 case AArch64::FRINTX_ZPmZ_H:
31888 case AArch64::FRINTX_ZPmZ_S:
31889 case AArch64::FRINTZ_ZPmZ_D:
31890 case AArch64::FRINTZ_ZPmZ_H:
31891 case AArch64::FRINTZ_ZPmZ_S:
31892 case AArch64::FSQRT_ZPmZ_D:
31893 case AArch64::FSQRT_ZPmZ_H:
31894 case AArch64::FSQRT_ZPmZ_S:
31895 case AArch64::MOVPRFX_ZPmZ_B:
31896 case AArch64::MOVPRFX_ZPmZ_D:
31897 case AArch64::MOVPRFX_ZPmZ_H:
31898 case AArch64::MOVPRFX_ZPmZ_S:
31899 case AArch64::NEG_ZPmZ_B:
31900 case AArch64::NEG_ZPmZ_D:
31901 case AArch64::NEG_ZPmZ_H:
31902 case AArch64::NEG_ZPmZ_S:
31903 case AArch64::NOT_ZPmZ_B:
31904 case AArch64::NOT_ZPmZ_D:
31905 case AArch64::NOT_ZPmZ_H:
31906 case AArch64::NOT_ZPmZ_S:
31907 case AArch64::SCVTF_ZPmZ_DtoD:
31908 case AArch64::SCVTF_ZPmZ_DtoH:
31909 case AArch64::SCVTF_ZPmZ_DtoS:
31910 case AArch64::SCVTF_ZPmZ_HtoH:
31911 case AArch64::SCVTF_ZPmZ_StoD:
31912 case AArch64::SCVTF_ZPmZ_StoH:
31913 case AArch64::SCVTF_ZPmZ_StoS:
31914 case AArch64::SQABS_ZPmZ_B:
31915 case AArch64::SQABS_ZPmZ_D:
31916 case AArch64::SQABS_ZPmZ_H:
31917 case AArch64::SQABS_ZPmZ_S:
31918 case AArch64::SQNEG_ZPmZ_B:
31919 case AArch64::SQNEG_ZPmZ_D:
31920 case AArch64::SQNEG_ZPmZ_H:
31921 case AArch64::SQNEG_ZPmZ_S:
31922 case AArch64::SXTB_ZPmZ_D:
31923 case AArch64::SXTB_ZPmZ_H:
31924 case AArch64::SXTB_ZPmZ_S:
31925 case AArch64::SXTH_ZPmZ_D:
31926 case AArch64::SXTH_ZPmZ_S:
31927 case AArch64::SXTW_ZPmZ_D:
31928 case AArch64::UCVTF_ZPmZ_DtoD:
31929 case AArch64::UCVTF_ZPmZ_DtoH:
31930 case AArch64::UCVTF_ZPmZ_DtoS:
31931 case AArch64::UCVTF_ZPmZ_HtoH:
31932 case AArch64::UCVTF_ZPmZ_StoD:
31933 case AArch64::UCVTF_ZPmZ_StoH:
31934 case AArch64::UCVTF_ZPmZ_StoS:
31935 case AArch64::URECPE_ZPmZ_S:
31936 case AArch64::URSQRTE_ZPmZ_S:
31937 case AArch64::UXTB_ZPmZ_D:
31938 case AArch64::UXTB_ZPmZ_H:
31939 case AArch64::UXTB_ZPmZ_S:
31940 case AArch64::UXTH_ZPmZ_D:
31941 case AArch64::UXTH_ZPmZ_S:
31942 case AArch64::UXTW_ZPmZ_D: {
31943 switch (OpNum) {
31944 case 2:
31945 // op: Pg
31946 return 10;
31947 case 0:
31948 // op: Zd
31949 return 0;
31950 case 3:
31951 // op: Zn
31952 return 5;
31953 }
31954 break;
31955 }
31956 case AArch64::CPY_ZPmR_B:
31957 case AArch64::CPY_ZPmR_D:
31958 case AArch64::CPY_ZPmR_H:
31959 case AArch64::CPY_ZPmR_S: {
31960 switch (OpNum) {
31961 case 2:
31962 // op: Pg
31963 return 10;
31964 case 3:
31965 // op: Rn
31966 return 5;
31967 case 0:
31968 // op: Zd
31969 return 0;
31970 }
31971 break;
31972 }
31973 case AArch64::CPY_ZPmV_B:
31974 case AArch64::CPY_ZPmV_D:
31975 case AArch64::CPY_ZPmV_H:
31976 case AArch64::CPY_ZPmV_S: {
31977 switch (OpNum) {
31978 case 2:
31979 // op: Pg
31980 return 10;
31981 case 3:
31982 // op: Vn
31983 return 5;
31984 case 0:
31985 // op: Zd
31986 return 0;
31987 }
31988 break;
31989 }
31990 case AArch64::FCPY_ZPmI_D:
31991 case AArch64::FCPY_ZPmI_H:
31992 case AArch64::FCPY_ZPmI_S: {
31993 switch (OpNum) {
31994 case 2:
31995 // op: Pg
31996 return 16;
31997 case 0:
31998 // op: Zd
31999 return 0;
32000 case 3:
32001 // op: imm8
32002 return 5;
32003 }
32004 break;
32005 }
32006 case AArch64::DECP_ZP_D:
32007 case AArch64::DECP_ZP_H:
32008 case AArch64::DECP_ZP_S:
32009 case AArch64::INCP_ZP_D:
32010 case AArch64::INCP_ZP_H:
32011 case AArch64::INCP_ZP_S:
32012 case AArch64::SQDECP_ZP_D:
32013 case AArch64::SQDECP_ZP_H:
32014 case AArch64::SQDECP_ZP_S:
32015 case AArch64::SQINCP_ZP_D:
32016 case AArch64::SQINCP_ZP_H:
32017 case AArch64::SQINCP_ZP_S:
32018 case AArch64::UQDECP_ZP_D:
32019 case AArch64::UQDECP_ZP_H:
32020 case AArch64::UQDECP_ZP_S:
32021 case AArch64::UQINCP_ZP_D:
32022 case AArch64::UQINCP_ZP_H:
32023 case AArch64::UQINCP_ZP_S: {
32024 switch (OpNum) {
32025 case 2:
32026 // op: Pm
32027 return 5;
32028 case 0:
32029 // op: Zdn
32030 return 0;
32031 }
32032 break;
32033 }
32034 case AArch64::MOPSSETGE:
32035 case AArch64::MOPSSETGEN:
32036 case AArch64::MOPSSETGET:
32037 case AArch64::MOPSSETGETN:
32038 case AArch64::SETE:
32039 case AArch64::SETEN:
32040 case AArch64::SETET:
32041 case AArch64::SETETN:
32042 case AArch64::SETGM:
32043 case AArch64::SETGMN:
32044 case AArch64::SETGMT:
32045 case AArch64::SETGMTN:
32046 case AArch64::SETGP:
32047 case AArch64::SETGPN:
32048 case AArch64::SETGPT:
32049 case AArch64::SETGPTN:
32050 case AArch64::SETM:
32051 case AArch64::SETMN:
32052 case AArch64::SETMT:
32053 case AArch64::SETMTN:
32054 case AArch64::SETP:
32055 case AArch64::SETPN:
32056 case AArch64::SETPT:
32057 case AArch64::SETPTN: {
32058 switch (OpNum) {
32059 case 2:
32060 // op: Rd
32061 return 0;
32062 case 3:
32063 // op: Rn
32064 return 5;
32065 case 4:
32066 // op: Rm
32067 return 16;
32068 }
32069 break;
32070 }
32071 case AArch64::SETGOE:
32072 case AArch64::SETGOEN:
32073 case AArch64::SETGOET:
32074 case AArch64::SETGOETN:
32075 case AArch64::SETGOM:
32076 case AArch64::SETGOMN:
32077 case AArch64::SETGOMT:
32078 case AArch64::SETGOMTN:
32079 case AArch64::SETGOP:
32080 case AArch64::SETGOPN:
32081 case AArch64::SETGOPT:
32082 case AArch64::SETGOPTN: {
32083 switch (OpNum) {
32084 case 2:
32085 // op: Rd
32086 return 0;
32087 case 3:
32088 // op: Rn
32089 return 5;
32090 }
32091 break;
32092 }
32093 case AArch64::INDEX_IR_B:
32094 case AArch64::INDEX_IR_D:
32095 case AArch64::INDEX_IR_H:
32096 case AArch64::INDEX_IR_S: {
32097 switch (OpNum) {
32098 case 2:
32099 // op: Rm
32100 return 16;
32101 case 0:
32102 // op: Zd
32103 return 0;
32104 case 1:
32105 // op: imm5
32106 return 5;
32107 }
32108 break;
32109 }
32110 case AArch64::INSR_ZR_B:
32111 case AArch64::INSR_ZR_D:
32112 case AArch64::INSR_ZR_H:
32113 case AArch64::INSR_ZR_S: {
32114 switch (OpNum) {
32115 case 2:
32116 // op: Rm
32117 return 5;
32118 case 0:
32119 // op: Zdn
32120 return 0;
32121 }
32122 break;
32123 }
32124 case AArch64::PRFB_PRI:
32125 case AArch64::PRFD_PRI:
32126 case AArch64::PRFH_PRI:
32127 case AArch64::PRFW_PRI: {
32128 switch (OpNum) {
32129 case 2:
32130 // op: Rn
32131 return 5;
32132 case 1:
32133 // op: Pg
32134 return 10;
32135 case 3:
32136 // op: imm6
32137 return 16;
32138 case 0:
32139 // op: prfop
32140 return 0;
32141 }
32142 break;
32143 }
32144 case AArch64::LDG:
32145 case AArch64::ST2GPostIndex:
32146 case AArch64::ST2GPreIndex:
32147 case AArch64::STGPostIndex:
32148 case AArch64::STGPreIndex:
32149 case AArch64::STZ2GPostIndex:
32150 case AArch64::STZ2GPreIndex:
32151 case AArch64::STZGPostIndex:
32152 case AArch64::STZGPreIndex: {
32153 switch (OpNum) {
32154 case 2:
32155 // op: Rn
32156 return 5;
32157 case 1:
32158 // op: Rt
32159 return 0;
32160 case 3:
32161 // op: offset
32162 return 12;
32163 }
32164 break;
32165 }
32166 case AArch64::MOVA_VG2_MXI2Z: {
32167 switch (OpNum) {
32168 case 2:
32169 // op: Rs
32170 return 13;
32171 case 3:
32172 // op: imm
32173 return 0;
32174 case 4:
32175 // op: Zn
32176 return 6;
32177 }
32178 break;
32179 }
32180 case AArch64::MOVA_VG4_MXI4Z: {
32181 switch (OpNum) {
32182 case 2:
32183 // op: Rs
32184 return 13;
32185 case 3:
32186 // op: imm
32187 return 0;
32188 case 4:
32189 // op: Zn
32190 return 7;
32191 }
32192 break;
32193 }
32194 case AArch64::MOVA_VG2_2ZMXI: {
32195 switch (OpNum) {
32196 case 2:
32197 // op: Rs
32198 return 13;
32199 case 3:
32200 // op: imm
32201 return 5;
32202 case 0:
32203 // op: Zd
32204 return 1;
32205 }
32206 break;
32207 }
32208 case AArch64::MOVA_VG4_4ZMXI: {
32209 switch (OpNum) {
32210 case 2:
32211 // op: Rs
32212 return 13;
32213 case 3:
32214 // op: imm
32215 return 5;
32216 case 0:
32217 // op: Zd
32218 return 2;
32219 }
32220 break;
32221 }
32222 case AArch64::MOVA_MXI2Z_H_D:
32223 case AArch64::MOVA_MXI2Z_V_D: {
32224 switch (OpNum) {
32225 case 2:
32226 // op: Rs
32227 return 13;
32228 case 4:
32229 // op: Zn
32230 return 6;
32231 case 0:
32232 // op: ZAd
32233 return 0;
32234 }
32235 break;
32236 }
32237 case AArch64::MOVA_MXI2Z_H_S:
32238 case AArch64::MOVA_MXI2Z_V_S: {
32239 switch (OpNum) {
32240 case 2:
32241 // op: Rs
32242 return 13;
32243 case 4:
32244 // op: Zn
32245 return 6;
32246 case 0:
32247 // op: ZAd
32248 return 1;
32249 case 3:
32250 // op: imm
32251 return 0;
32252 }
32253 break;
32254 }
32255 case AArch64::MOVA_MXI2Z_H_H:
32256 case AArch64::MOVA_MXI2Z_V_H: {
32257 switch (OpNum) {
32258 case 2:
32259 // op: Rs
32260 return 13;
32261 case 4:
32262 // op: Zn
32263 return 6;
32264 case 0:
32265 // op: ZAd
32266 return 2;
32267 case 3:
32268 // op: imm
32269 return 0;
32270 }
32271 break;
32272 }
32273 case AArch64::MOVA_MXI2Z_H_B:
32274 case AArch64::MOVA_MXI2Z_V_B: {
32275 switch (OpNum) {
32276 case 2:
32277 // op: Rs
32278 return 13;
32279 case 4:
32280 // op: Zn
32281 return 6;
32282 case 3:
32283 // op: imm
32284 return 0;
32285 }
32286 break;
32287 }
32288 case AArch64::MOVA_MXI4Z_H_D:
32289 case AArch64::MOVA_MXI4Z_H_S:
32290 case AArch64::MOVA_MXI4Z_V_D:
32291 case AArch64::MOVA_MXI4Z_V_S: {
32292 switch (OpNum) {
32293 case 2:
32294 // op: Rs
32295 return 13;
32296 case 4:
32297 // op: Zn
32298 return 7;
32299 case 0:
32300 // op: ZAd
32301 return 0;
32302 }
32303 break;
32304 }
32305 case AArch64::MOVA_MXI4Z_H_H:
32306 case AArch64::MOVA_MXI4Z_V_H: {
32307 switch (OpNum) {
32308 case 2:
32309 // op: Rs
32310 return 13;
32311 case 4:
32312 // op: Zn
32313 return 7;
32314 case 0:
32315 // op: ZAd
32316 return 1;
32317 case 3:
32318 // op: imm
32319 return 0;
32320 }
32321 break;
32322 }
32323 case AArch64::MOVA_MXI4Z_H_B:
32324 case AArch64::MOVA_MXI4Z_V_B: {
32325 switch (OpNum) {
32326 case 2:
32327 // op: Rs
32328 return 13;
32329 case 4:
32330 // op: Zn
32331 return 7;
32332 case 3:
32333 // op: imm
32334 return 0;
32335 }
32336 break;
32337 }
32338 case AArch64::LDCLRP:
32339 case AArch64::LDCLRPA:
32340 case AArch64::LDCLRPAL:
32341 case AArch64::LDCLRPL:
32342 case AArch64::LDSETP:
32343 case AArch64::LDSETPA:
32344 case AArch64::LDSETPAL:
32345 case AArch64::LDSETPL:
32346 case AArch64::SWPP:
32347 case AArch64::SWPPA:
32348 case AArch64::SWPPAL:
32349 case AArch64::SWPPL: {
32350 switch (OpNum) {
32351 case 2:
32352 // op: Rt
32353 return 0;
32354 case 3:
32355 // op: Rt2
32356 return 16;
32357 case 4:
32358 // op: Rn
32359 return 5;
32360 }
32361 break;
32362 }
32363 case AArch64::ZERO_MXI_2Z:
32364 case AArch64::ZERO_MXI_4Z:
32365 case AArch64::ZERO_MXI_VG2_2Z:
32366 case AArch64::ZERO_MXI_VG2_4Z:
32367 case AArch64::ZERO_MXI_VG2_Z:
32368 case AArch64::ZERO_MXI_VG4_2Z:
32369 case AArch64::ZERO_MXI_VG4_4Z:
32370 case AArch64::ZERO_MXI_VG4_Z: {
32371 switch (OpNum) {
32372 case 2:
32373 // op: Rv
32374 return 13;
32375 case 3:
32376 // op: imm
32377 return 0;
32378 }
32379 break;
32380 }
32381 case AArch64::ADD_VG2_M2Z_D:
32382 case AArch64::ADD_VG2_M2Z_S:
32383 case AArch64::BFADD_VG2_M2Z_H:
32384 case AArch64::BFSUB_VG2_M2Z_H:
32385 case AArch64::FADD_VG2_M2Z_D:
32386 case AArch64::FADD_VG2_M2Z_H:
32387 case AArch64::FADD_VG2_M2Z_S:
32388 case AArch64::FSUB_VG2_M2Z_D:
32389 case AArch64::FSUB_VG2_M2Z_H:
32390 case AArch64::FSUB_VG2_M2Z_S:
32391 case AArch64::SUB_VG2_M2Z_D:
32392 case AArch64::SUB_VG2_M2Z_S: {
32393 switch (OpNum) {
32394 case 2:
32395 // op: Rv
32396 return 13;
32397 case 3:
32398 // op: imm3
32399 return 0;
32400 case 4:
32401 // op: Zm
32402 return 6;
32403 }
32404 break;
32405 }
32406 case AArch64::ADD_VG4_M4Z_D:
32407 case AArch64::ADD_VG4_M4Z_S:
32408 case AArch64::BFADD_VG4_M4Z_H:
32409 case AArch64::BFSUB_VG4_M4Z_H:
32410 case AArch64::FADD_VG4_M4Z_D:
32411 case AArch64::FADD_VG4_M4Z_H:
32412 case AArch64::FADD_VG4_M4Z_S:
32413 case AArch64::FSUB_VG4_M4Z_D:
32414 case AArch64::FSUB_VG4_M4Z_H:
32415 case AArch64::FSUB_VG4_M4Z_S:
32416 case AArch64::SUB_VG4_M4Z_D:
32417 case AArch64::SUB_VG4_M4Z_S: {
32418 switch (OpNum) {
32419 case 2:
32420 // op: Rv
32421 return 13;
32422 case 3:
32423 // op: imm3
32424 return 0;
32425 case 4:
32426 // op: Zm
32427 return 7;
32428 }
32429 break;
32430 }
32431 case AArch64::INSERT_MXIPZ_H_Q:
32432 case AArch64::INSERT_MXIPZ_V_Q: {
32433 switch (OpNum) {
32434 case 2:
32435 // op: Rv
32436 return 13;
32437 case 4:
32438 // op: Pg
32439 return 10;
32440 case 5:
32441 // op: Zn
32442 return 5;
32443 case 0:
32444 // op: ZAd
32445 return 0;
32446 }
32447 break;
32448 }
32449 case AArch64::INSERT_MXIPZ_H_D:
32450 case AArch64::INSERT_MXIPZ_V_D: {
32451 switch (OpNum) {
32452 case 2:
32453 // op: Rv
32454 return 13;
32455 case 4:
32456 // op: Pg
32457 return 10;
32458 case 5:
32459 // op: Zn
32460 return 5;
32461 case 0:
32462 // op: ZAd
32463 return 1;
32464 case 3:
32465 // op: imm
32466 return 0;
32467 }
32468 break;
32469 }
32470 case AArch64::INSERT_MXIPZ_H_S:
32471 case AArch64::INSERT_MXIPZ_V_S: {
32472 switch (OpNum) {
32473 case 2:
32474 // op: Rv
32475 return 13;
32476 case 4:
32477 // op: Pg
32478 return 10;
32479 case 5:
32480 // op: Zn
32481 return 5;
32482 case 0:
32483 // op: ZAd
32484 return 2;
32485 case 3:
32486 // op: imm
32487 return 0;
32488 }
32489 break;
32490 }
32491 case AArch64::INSERT_MXIPZ_H_H:
32492 case AArch64::INSERT_MXIPZ_V_H: {
32493 switch (OpNum) {
32494 case 2:
32495 // op: Rv
32496 return 13;
32497 case 4:
32498 // op: Pg
32499 return 10;
32500 case 5:
32501 // op: Zn
32502 return 5;
32503 case 0:
32504 // op: ZAd
32505 return 3;
32506 case 3:
32507 // op: imm
32508 return 0;
32509 }
32510 break;
32511 }
32512 case AArch64::INSERT_MXIPZ_H_B:
32513 case AArch64::INSERT_MXIPZ_V_B: {
32514 switch (OpNum) {
32515 case 2:
32516 // op: Rv
32517 return 13;
32518 case 4:
32519 // op: Pg
32520 return 10;
32521 case 5:
32522 // op: Zn
32523 return 5;
32524 case 3:
32525 // op: imm
32526 return 0;
32527 }
32528 break;
32529 }
32530 case AArch64::BFMLAL_MZZ_HtoS:
32531 case AArch64::BFMLAL_VG2_M2ZZ_HtoS:
32532 case AArch64::BFMLAL_VG4_M4ZZ_HtoS:
32533 case AArch64::BFMLSL_MZZ_HtoS:
32534 case AArch64::BFMLSL_VG2_M2ZZ_HtoS:
32535 case AArch64::BFMLSL_VG4_M4ZZ_HtoS:
32536 case AArch64::FMLAL_MZZ_HtoS:
32537 case AArch64::FMLAL_VG2_M2ZZ_BtoH:
32538 case AArch64::FMLAL_VG2_M2ZZ_HtoS:
32539 case AArch64::FMLAL_VG2_MZZ_BtoH:
32540 case AArch64::FMLAL_VG4_M4ZZ_BtoH:
32541 case AArch64::FMLAL_VG4_M4ZZ_HtoS:
32542 case AArch64::FMLSL_MZZ_HtoS:
32543 case AArch64::FMLSL_VG2_M2ZZ_HtoS:
32544 case AArch64::FMLSL_VG4_M4ZZ_HtoS:
32545 case AArch64::SMLAL_MZZ_HtoS:
32546 case AArch64::SMLAL_VG2_M2ZZ_HtoS:
32547 case AArch64::SMLAL_VG4_M4ZZ_HtoS:
32548 case AArch64::SMLSL_MZZ_HtoS:
32549 case AArch64::SMLSL_VG2_M2ZZ_HtoS:
32550 case AArch64::SMLSL_VG4_M4ZZ_HtoS:
32551 case AArch64::UMLAL_MZZ_HtoS:
32552 case AArch64::UMLAL_VG2_M2ZZ_HtoS:
32553 case AArch64::UMLAL_VG4_M4ZZ_HtoS:
32554 case AArch64::UMLSL_MZZ_HtoS:
32555 case AArch64::UMLSL_VG2_M2ZZ_HtoS:
32556 case AArch64::UMLSL_VG4_M4ZZ_HtoS: {
32557 switch (OpNum) {
32558 case 2:
32559 // op: Rv
32560 return 13;
32561 case 5:
32562 // op: Zm
32563 return 16;
32564 case 4:
32565 // op: Zn
32566 return 5;
32567 case 3:
32568 // op: imm
32569 return 0;
32570 }
32571 break;
32572 }
32573 case AArch64::BFMLAL_VG2_M2Z2Z_HtoS:
32574 case AArch64::BFMLSL_VG2_M2Z2Z_HtoS:
32575 case AArch64::FMLAL_VG2_M2Z2Z_BtoH:
32576 case AArch64::FMLAL_VG2_M2Z2Z_HtoS:
32577 case AArch64::FMLSL_VG2_M2Z2Z_HtoS:
32578 case AArch64::SMLAL_VG2_M2Z2Z_HtoS:
32579 case AArch64::SMLSL_VG2_M2Z2Z_HtoS:
32580 case AArch64::UMLAL_VG2_M2Z2Z_HtoS:
32581 case AArch64::UMLSL_VG2_M2Z2Z_HtoS: {
32582 switch (OpNum) {
32583 case 2:
32584 // op: Rv
32585 return 13;
32586 case 5:
32587 // op: Zm
32588 return 17;
32589 case 4:
32590 // op: Zn
32591 return 6;
32592 case 3:
32593 // op: imm
32594 return 0;
32595 }
32596 break;
32597 }
32598 case AArch64::BFMLAL_VG4_M4Z4Z_HtoS:
32599 case AArch64::BFMLSL_VG4_M4Z4Z_HtoS:
32600 case AArch64::FMLAL_VG4_M4Z4Z_BtoH:
32601 case AArch64::FMLAL_VG4_M4Z4Z_HtoS:
32602 case AArch64::FMLSL_VG4_M4Z4Z_HtoS:
32603 case AArch64::SMLAL_VG4_M4Z4Z_HtoS:
32604 case AArch64::SMLSL_VG4_M4Z4Z_HtoS:
32605 case AArch64::UMLAL_VG4_M4Z4Z_HtoS:
32606 case AArch64::UMLSL_VG4_M4Z4Z_HtoS: {
32607 switch (OpNum) {
32608 case 2:
32609 // op: Rv
32610 return 13;
32611 case 5:
32612 // op: Zm
32613 return 18;
32614 case 4:
32615 // op: Zn
32616 return 7;
32617 case 3:
32618 // op: imm
32619 return 0;
32620 }
32621 break;
32622 }
32623 case AArch64::INSR_ZV_B:
32624 case AArch64::INSR_ZV_D:
32625 case AArch64::INSR_ZV_H:
32626 case AArch64::INSR_ZV_S: {
32627 switch (OpNum) {
32628 case 2:
32629 // op: Vm
32630 return 5;
32631 case 0:
32632 // op: Zdn
32633 return 0;
32634 }
32635 break;
32636 }
32637 case AArch64::LD1i8_POST:
32638 case AArch64::LD2i8_POST:
32639 case AArch64::LD3i8_POST:
32640 case AArch64::LD4i8_POST: {
32641 switch (OpNum) {
32642 case 2:
32643 // op: Vt
32644 return 0;
32645 case 4:
32646 // op: Rn
32647 return 5;
32648 case 3:
32649 // op: idx
32650 return 10;
32651 case 5:
32652 // op: Xm
32653 return 16;
32654 }
32655 break;
32656 }
32657 case AArch64::LD1i16_POST:
32658 case AArch64::LD2i16_POST:
32659 case AArch64::LD3i16_POST:
32660 case AArch64::LD4i16_POST: {
32661 switch (OpNum) {
32662 case 2:
32663 // op: Vt
32664 return 0;
32665 case 4:
32666 // op: Rn
32667 return 5;
32668 case 3:
32669 // op: idx
32670 return 11;
32671 case 5:
32672 // op: Xm
32673 return 16;
32674 }
32675 break;
32676 }
32677 case AArch64::LD1i32_POST:
32678 case AArch64::LD2i32_POST:
32679 case AArch64::LD3i32_POST:
32680 case AArch64::LD4i32_POST: {
32681 switch (OpNum) {
32682 case 2:
32683 // op: Vt
32684 return 0;
32685 case 4:
32686 // op: Rn
32687 return 5;
32688 case 3:
32689 // op: idx
32690 return 12;
32691 case 5:
32692 // op: Xm
32693 return 16;
32694 }
32695 break;
32696 }
32697 case AArch64::LD1i64_POST:
32698 case AArch64::LD2i64_POST:
32699 case AArch64::LD3i64_POST:
32700 case AArch64::LD4i64_POST: {
32701 switch (OpNum) {
32702 case 2:
32703 // op: Vt
32704 return 0;
32705 case 4:
32706 // op: Rn
32707 return 5;
32708 case 3:
32709 // op: idx
32710 return 30;
32711 case 5:
32712 // op: Xm
32713 return 16;
32714 }
32715 break;
32716 }
32717 case AArch64::ADD_VG2_2ZZ_B:
32718 case AArch64::ADD_VG2_2ZZ_D:
32719 case AArch64::ADD_VG2_2ZZ_H:
32720 case AArch64::ADD_VG2_2ZZ_S:
32721 case AArch64::BFMAXNM_VG2_2ZZ_H:
32722 case AArch64::BFMAX_VG2_2ZZ_H:
32723 case AArch64::BFMINNM_VG2_2ZZ_H:
32724 case AArch64::BFMIN_VG2_2ZZ_H:
32725 case AArch64::BFSCALE_2ZZ:
32726 case AArch64::FMAXNM_VG2_2ZZ_D:
32727 case AArch64::FMAXNM_VG2_2ZZ_H:
32728 case AArch64::FMAXNM_VG2_2ZZ_S:
32729 case AArch64::FMAX_VG2_2ZZ_D:
32730 case AArch64::FMAX_VG2_2ZZ_H:
32731 case AArch64::FMAX_VG2_2ZZ_S:
32732 case AArch64::FMINNM_VG2_2ZZ_D:
32733 case AArch64::FMINNM_VG2_2ZZ_H:
32734 case AArch64::FMINNM_VG2_2ZZ_S:
32735 case AArch64::FMIN_VG2_2ZZ_D:
32736 case AArch64::FMIN_VG2_2ZZ_H:
32737 case AArch64::FMIN_VG2_2ZZ_S:
32738 case AArch64::FSCALE_2ZZ_D:
32739 case AArch64::FSCALE_2ZZ_H:
32740 case AArch64::FSCALE_2ZZ_S:
32741 case AArch64::SMAX_VG2_2ZZ_B:
32742 case AArch64::SMAX_VG2_2ZZ_D:
32743 case AArch64::SMAX_VG2_2ZZ_H:
32744 case AArch64::SMAX_VG2_2ZZ_S:
32745 case AArch64::SMIN_VG2_2ZZ_B:
32746 case AArch64::SMIN_VG2_2ZZ_D:
32747 case AArch64::SMIN_VG2_2ZZ_H:
32748 case AArch64::SMIN_VG2_2ZZ_S:
32749 case AArch64::SQDMULH_VG2_2ZZ_B:
32750 case AArch64::SQDMULH_VG2_2ZZ_D:
32751 case AArch64::SQDMULH_VG2_2ZZ_H:
32752 case AArch64::SQDMULH_VG2_2ZZ_S:
32753 case AArch64::SRSHL_VG2_2ZZ_B:
32754 case AArch64::SRSHL_VG2_2ZZ_D:
32755 case AArch64::SRSHL_VG2_2ZZ_H:
32756 case AArch64::SRSHL_VG2_2ZZ_S:
32757 case AArch64::UMAX_VG2_2ZZ_B:
32758 case AArch64::UMAX_VG2_2ZZ_D:
32759 case AArch64::UMAX_VG2_2ZZ_H:
32760 case AArch64::UMAX_VG2_2ZZ_S:
32761 case AArch64::UMIN_VG2_2ZZ_B:
32762 case AArch64::UMIN_VG2_2ZZ_D:
32763 case AArch64::UMIN_VG2_2ZZ_H:
32764 case AArch64::UMIN_VG2_2ZZ_S:
32765 case AArch64::URSHL_VG2_2ZZ_B:
32766 case AArch64::URSHL_VG2_2ZZ_D:
32767 case AArch64::URSHL_VG2_2ZZ_H:
32768 case AArch64::URSHL_VG2_2ZZ_S: {
32769 switch (OpNum) {
32770 case 2:
32771 // op: Zm
32772 return 16;
32773 case 0:
32774 // op: Zdn
32775 return 1;
32776 }
32777 break;
32778 }
32779 case AArch64::ADD_VG4_4ZZ_B:
32780 case AArch64::ADD_VG4_4ZZ_D:
32781 case AArch64::ADD_VG4_4ZZ_H:
32782 case AArch64::ADD_VG4_4ZZ_S:
32783 case AArch64::BFMAXNM_VG4_4ZZ_H:
32784 case AArch64::BFMAX_VG4_4ZZ_H:
32785 case AArch64::BFMINNM_VG4_4ZZ_H:
32786 case AArch64::BFMIN_VG4_4ZZ_H:
32787 case AArch64::BFSCALE_4ZZ:
32788 case AArch64::FMAXNM_VG4_4ZZ_D:
32789 case AArch64::FMAXNM_VG4_4ZZ_H:
32790 case AArch64::FMAXNM_VG4_4ZZ_S:
32791 case AArch64::FMAX_VG4_4ZZ_D:
32792 case AArch64::FMAX_VG4_4ZZ_H:
32793 case AArch64::FMAX_VG4_4ZZ_S:
32794 case AArch64::FMINNM_VG4_4ZZ_D:
32795 case AArch64::FMINNM_VG4_4ZZ_H:
32796 case AArch64::FMINNM_VG4_4ZZ_S:
32797 case AArch64::FMIN_VG4_4ZZ_D:
32798 case AArch64::FMIN_VG4_4ZZ_H:
32799 case AArch64::FMIN_VG4_4ZZ_S:
32800 case AArch64::FSCALE_4ZZ_D:
32801 case AArch64::FSCALE_4ZZ_H:
32802 case AArch64::FSCALE_4ZZ_S:
32803 case AArch64::SMAX_VG4_4ZZ_B:
32804 case AArch64::SMAX_VG4_4ZZ_D:
32805 case AArch64::SMAX_VG4_4ZZ_H:
32806 case AArch64::SMAX_VG4_4ZZ_S:
32807 case AArch64::SMIN_VG4_4ZZ_B:
32808 case AArch64::SMIN_VG4_4ZZ_D:
32809 case AArch64::SMIN_VG4_4ZZ_H:
32810 case AArch64::SMIN_VG4_4ZZ_S:
32811 case AArch64::SQDMULH_VG4_4ZZ_B:
32812 case AArch64::SQDMULH_VG4_4ZZ_D:
32813 case AArch64::SQDMULH_VG4_4ZZ_H:
32814 case AArch64::SQDMULH_VG4_4ZZ_S:
32815 case AArch64::SRSHL_VG4_4ZZ_B:
32816 case AArch64::SRSHL_VG4_4ZZ_D:
32817 case AArch64::SRSHL_VG4_4ZZ_H:
32818 case AArch64::SRSHL_VG4_4ZZ_S:
32819 case AArch64::UMAX_VG4_4ZZ_B:
32820 case AArch64::UMAX_VG4_4ZZ_D:
32821 case AArch64::UMAX_VG4_4ZZ_H:
32822 case AArch64::UMAX_VG4_4ZZ_S:
32823 case AArch64::UMIN_VG4_4ZZ_B:
32824 case AArch64::UMIN_VG4_4ZZ_D:
32825 case AArch64::UMIN_VG4_4ZZ_H:
32826 case AArch64::UMIN_VG4_4ZZ_S:
32827 case AArch64::URSHL_VG4_4ZZ_B:
32828 case AArch64::URSHL_VG4_4ZZ_D:
32829 case AArch64::URSHL_VG4_4ZZ_H:
32830 case AArch64::URSHL_VG4_4ZZ_S: {
32831 switch (OpNum) {
32832 case 2:
32833 // op: Zm
32834 return 16;
32835 case 0:
32836 // op: Zdn
32837 return 2;
32838 }
32839 break;
32840 }
32841 case AArch64::PMULL_2ZZZ_Q: {
32842 switch (OpNum) {
32843 case 2:
32844 // op: Zm
32845 return 16;
32846 case 1:
32847 // op: Zn
32848 return 5;
32849 case 0:
32850 // op: Zd
32851 return 1;
32852 }
32853 break;
32854 }
32855 case AArch64::BFMAXNM_VG2_2Z2Z_H:
32856 case AArch64::BFMAX_VG2_2Z2Z_H:
32857 case AArch64::BFMINNM_VG2_2Z2Z_H:
32858 case AArch64::BFMIN_VG2_2Z2Z_H:
32859 case AArch64::BFSCALE_2Z2Z:
32860 case AArch64::FAMAX_2Z2Z_D:
32861 case AArch64::FAMAX_2Z2Z_H:
32862 case AArch64::FAMAX_2Z2Z_S:
32863 case AArch64::FAMIN_2Z2Z_D:
32864 case AArch64::FAMIN_2Z2Z_H:
32865 case AArch64::FAMIN_2Z2Z_S:
32866 case AArch64::FMAXNM_VG2_2Z2Z_D:
32867 case AArch64::FMAXNM_VG2_2Z2Z_H:
32868 case AArch64::FMAXNM_VG2_2Z2Z_S:
32869 case AArch64::FMAX_VG2_2Z2Z_D:
32870 case AArch64::FMAX_VG2_2Z2Z_H:
32871 case AArch64::FMAX_VG2_2Z2Z_S:
32872 case AArch64::FMINNM_VG2_2Z2Z_D:
32873 case AArch64::FMINNM_VG2_2Z2Z_H:
32874 case AArch64::FMINNM_VG2_2Z2Z_S:
32875 case AArch64::FMIN_VG2_2Z2Z_D:
32876 case AArch64::FMIN_VG2_2Z2Z_H:
32877 case AArch64::FMIN_VG2_2Z2Z_S:
32878 case AArch64::FSCALE_2Z2Z_D:
32879 case AArch64::FSCALE_2Z2Z_H:
32880 case AArch64::FSCALE_2Z2Z_S:
32881 case AArch64::SMAX_VG2_2Z2Z_B:
32882 case AArch64::SMAX_VG2_2Z2Z_D:
32883 case AArch64::SMAX_VG2_2Z2Z_H:
32884 case AArch64::SMAX_VG2_2Z2Z_S:
32885 case AArch64::SMIN_VG2_2Z2Z_B:
32886 case AArch64::SMIN_VG2_2Z2Z_D:
32887 case AArch64::SMIN_VG2_2Z2Z_H:
32888 case AArch64::SMIN_VG2_2Z2Z_S:
32889 case AArch64::SQDMULH_VG2_2Z2Z_B:
32890 case AArch64::SQDMULH_VG2_2Z2Z_D:
32891 case AArch64::SQDMULH_VG2_2Z2Z_H:
32892 case AArch64::SQDMULH_VG2_2Z2Z_S:
32893 case AArch64::SRSHL_VG2_2Z2Z_B:
32894 case AArch64::SRSHL_VG2_2Z2Z_D:
32895 case AArch64::SRSHL_VG2_2Z2Z_H:
32896 case AArch64::SRSHL_VG2_2Z2Z_S:
32897 case AArch64::UMAX_VG2_2Z2Z_B:
32898 case AArch64::UMAX_VG2_2Z2Z_D:
32899 case AArch64::UMAX_VG2_2Z2Z_H:
32900 case AArch64::UMAX_VG2_2Z2Z_S:
32901 case AArch64::UMIN_VG2_2Z2Z_B:
32902 case AArch64::UMIN_VG2_2Z2Z_D:
32903 case AArch64::UMIN_VG2_2Z2Z_H:
32904 case AArch64::UMIN_VG2_2Z2Z_S:
32905 case AArch64::URSHL_VG2_2Z2Z_B:
32906 case AArch64::URSHL_VG2_2Z2Z_D:
32907 case AArch64::URSHL_VG2_2Z2Z_H:
32908 case AArch64::URSHL_VG2_2Z2Z_S: {
32909 switch (OpNum) {
32910 case 2:
32911 // op: Zm
32912 return 17;
32913 case 0:
32914 // op: Zdn
32915 return 1;
32916 }
32917 break;
32918 }
32919 case AArch64::BFMAXNM_VG4_4Z2Z_H:
32920 case AArch64::BFMAX_VG4_4Z2Z_H:
32921 case AArch64::BFMINNM_VG4_4Z2Z_H:
32922 case AArch64::BFMIN_VG4_4Z2Z_H:
32923 case AArch64::BFSCALE_4Z4Z:
32924 case AArch64::FAMAX_4Z4Z_D:
32925 case AArch64::FAMAX_4Z4Z_H:
32926 case AArch64::FAMAX_4Z4Z_S:
32927 case AArch64::FAMIN_4Z4Z_D:
32928 case AArch64::FAMIN_4Z4Z_H:
32929 case AArch64::FAMIN_4Z4Z_S:
32930 case AArch64::FMAXNM_VG4_4Z4Z_D:
32931 case AArch64::FMAXNM_VG4_4Z4Z_H:
32932 case AArch64::FMAXNM_VG4_4Z4Z_S:
32933 case AArch64::FMAX_VG4_4Z4Z_D:
32934 case AArch64::FMAX_VG4_4Z4Z_H:
32935 case AArch64::FMAX_VG4_4Z4Z_S:
32936 case AArch64::FMINNM_VG4_4Z4Z_D:
32937 case AArch64::FMINNM_VG4_4Z4Z_H:
32938 case AArch64::FMINNM_VG4_4Z4Z_S:
32939 case AArch64::FMIN_VG4_4Z4Z_D:
32940 case AArch64::FMIN_VG4_4Z4Z_H:
32941 case AArch64::FMIN_VG4_4Z4Z_S:
32942 case AArch64::FSCALE_4Z4Z_D:
32943 case AArch64::FSCALE_4Z4Z_H:
32944 case AArch64::FSCALE_4Z4Z_S:
32945 case AArch64::SMAX_VG4_4Z4Z_B:
32946 case AArch64::SMAX_VG4_4Z4Z_D:
32947 case AArch64::SMAX_VG4_4Z4Z_H:
32948 case AArch64::SMAX_VG4_4Z4Z_S:
32949 case AArch64::SMIN_VG4_4Z4Z_B:
32950 case AArch64::SMIN_VG4_4Z4Z_D:
32951 case AArch64::SMIN_VG4_4Z4Z_H:
32952 case AArch64::SMIN_VG4_4Z4Z_S:
32953 case AArch64::SQDMULH_VG4_4Z4Z_B:
32954 case AArch64::SQDMULH_VG4_4Z4Z_D:
32955 case AArch64::SQDMULH_VG4_4Z4Z_H:
32956 case AArch64::SQDMULH_VG4_4Z4Z_S:
32957 case AArch64::SRSHL_VG4_4Z4Z_B:
32958 case AArch64::SRSHL_VG4_4Z4Z_D:
32959 case AArch64::SRSHL_VG4_4Z4Z_H:
32960 case AArch64::SRSHL_VG4_4Z4Z_S:
32961 case AArch64::UMAX_VG4_4Z4Z_B:
32962 case AArch64::UMAX_VG4_4Z4Z_D:
32963 case AArch64::UMAX_VG4_4Z4Z_H:
32964 case AArch64::UMAX_VG4_4Z4Z_S:
32965 case AArch64::UMIN_VG4_4Z4Z_B:
32966 case AArch64::UMIN_VG4_4Z4Z_D:
32967 case AArch64::UMIN_VG4_4Z4Z_H:
32968 case AArch64::UMIN_VG4_4Z4Z_S:
32969 case AArch64::URSHL_VG4_4Z4Z_B:
32970 case AArch64::URSHL_VG4_4Z4Z_D:
32971 case AArch64::URSHL_VG4_4Z4Z_H:
32972 case AArch64::URSHL_VG4_4Z4Z_S: {
32973 switch (OpNum) {
32974 case 2:
32975 // op: Zm
32976 return 18;
32977 case 0:
32978 // op: Zdn
32979 return 2;
32980 }
32981 break;
32982 }
32983 case AArch64::AESDIMC_2ZZI_B:
32984 case AArch64::AESD_2ZZI_B:
32985 case AArch64::AESEMC_2ZZI_B:
32986 case AArch64::AESE_2ZZI_B: {
32987 switch (OpNum) {
32988 case 2:
32989 // op: Zm
32990 return 5;
32991 case 0:
32992 // op: Zdn
32993 return 1;
32994 case 3:
32995 // op: imm2
32996 return 19;
32997 }
32998 break;
32999 }
33000 case AArch64::AESDIMC_4ZZI_B:
33001 case AArch64::AESD_4ZZI_B:
33002 case AArch64::AESEMC_4ZZI_B:
33003 case AArch64::AESE_4ZZI_B: {
33004 switch (OpNum) {
33005 case 2:
33006 // op: Zm
33007 return 5;
33008 case 0:
33009 // op: Zdn
33010 return 2;
33011 case 3:
33012 // op: imm2
33013 return 19;
33014 }
33015 break;
33016 }
33017 case AArch64::FADDV_VPZ_D:
33018 case AArch64::FADDV_VPZ_H:
33019 case AArch64::FADDV_VPZ_S:
33020 case AArch64::FMAXNMV_VPZ_D:
33021 case AArch64::FMAXNMV_VPZ_H:
33022 case AArch64::FMAXNMV_VPZ_S:
33023 case AArch64::FMAXV_VPZ_D:
33024 case AArch64::FMAXV_VPZ_H:
33025 case AArch64::FMAXV_VPZ_S:
33026 case AArch64::FMINNMV_VPZ_D:
33027 case AArch64::FMINNMV_VPZ_H:
33028 case AArch64::FMINNMV_VPZ_S:
33029 case AArch64::FMINV_VPZ_D:
33030 case AArch64::FMINV_VPZ_H:
33031 case AArch64::FMINV_VPZ_S: {
33032 switch (OpNum) {
33033 case 2:
33034 // op: Zn
33035 return 5;
33036 case 0:
33037 // op: Vd
33038 return 0;
33039 case 1:
33040 // op: Pg
33041 return 10;
33042 }
33043 break;
33044 }
33045 case AArch64::LUTI2_ZTZI_B:
33046 case AArch64::LUTI2_ZTZI_H:
33047 case AArch64::LUTI2_ZTZI_S:
33048 case AArch64::LUTI4_ZTZI_B:
33049 case AArch64::LUTI4_ZTZI_H:
33050 case AArch64::LUTI4_ZTZI_S: {
33051 switch (OpNum) {
33052 case 2:
33053 // op: Zn
33054 return 5;
33055 case 0:
33056 // op: Zd
33057 return 0;
33058 case 3:
33059 // op: i
33060 return 14;
33061 }
33062 break;
33063 }
33064 case AArch64::LUTI2_S_2ZTZI_B:
33065 case AArch64::LUTI2_S_2ZTZI_H:
33066 case AArch64::LUTI4_S_2ZTZI_B:
33067 case AArch64::LUTI4_S_2ZTZI_H: {
33068 switch (OpNum) {
33069 case 2:
33070 // op: Zn
33071 return 5;
33072 case 0:
33073 // op: Zd
33074 return 0;
33075 case 3:
33076 // op: i
33077 return 15;
33078 }
33079 break;
33080 }
33081 case AArch64::LUTI2_S_4ZTZI_B:
33082 case AArch64::LUTI2_S_4ZTZI_H:
33083 case AArch64::LUTI4_S_4ZTZI_H: {
33084 switch (OpNum) {
33085 case 2:
33086 // op: Zn
33087 return 5;
33088 case 0:
33089 // op: Zd
33090 return 0;
33091 case 3:
33092 // op: i
33093 return 16;
33094 }
33095 break;
33096 }
33097 case AArch64::LUTI2_2ZTZI_B:
33098 case AArch64::LUTI2_2ZTZI_H:
33099 case AArch64::LUTI2_2ZTZI_S:
33100 case AArch64::LUTI4_2ZTZI_B:
33101 case AArch64::LUTI4_2ZTZI_H:
33102 case AArch64::LUTI4_2ZTZI_S: {
33103 switch (OpNum) {
33104 case 2:
33105 // op: Zn
33106 return 5;
33107 case 0:
33108 // op: Zd
33109 return 1;
33110 case 3:
33111 // op: i
33112 return 15;
33113 }
33114 break;
33115 }
33116 case AArch64::LUTI2_4ZTZI_B:
33117 case AArch64::LUTI2_4ZTZI_H:
33118 case AArch64::LUTI2_4ZTZI_S:
33119 case AArch64::LUTI4_4ZTZI_H:
33120 case AArch64::LUTI4_4ZTZI_S: {
33121 switch (OpNum) {
33122 case 2:
33123 // op: Zn
33124 return 5;
33125 case 0:
33126 // op: Zd
33127 return 2;
33128 case 3:
33129 // op: i
33130 return 16;
33131 }
33132 break;
33133 }
33134 case AArch64::LUTI4_S_4ZZT2Z: {
33135 switch (OpNum) {
33136 case 2:
33137 // op: Zn
33138 return 6;
33139 case 0:
33140 // op: Zd
33141 return 0;
33142 }
33143 break;
33144 }
33145 case AArch64::LUTI4_4ZZT2Z: {
33146 switch (OpNum) {
33147 case 2:
33148 // op: Zn
33149 return 6;
33150 case 0:
33151 // op: Zd
33152 return 2;
33153 }
33154 break;
33155 }
33156 case AArch64::MOVT_TIZ: {
33157 switch (OpNum) {
33158 case 2:
33159 // op: Zt
33160 return 0;
33161 case 1:
33162 // op: off2
33163 return 12;
33164 }
33165 break;
33166 }
33167 case AArch64::MOVT_XTI: {
33168 switch (OpNum) {
33169 case 2:
33170 // op: imm3
33171 return 12;
33172 case 0:
33173 // op: Rt
33174 return 0;
33175 }
33176 break;
33177 }
33178 case AArch64::SQRSHRU_VG2_Z2ZI_H:
33179 case AArch64::SQRSHR_VG2_Z2ZI_H:
33180 case AArch64::UQRSHR_VG2_Z2ZI_H: {
33181 switch (OpNum) {
33182 case 2:
33183 // op: imm4
33184 return 16;
33185 case 1:
33186 // op: Zn
33187 return 6;
33188 case 0:
33189 // op: Zd
33190 return 0;
33191 }
33192 break;
33193 }
33194 case AArch64::LDRAAindexed:
33195 case AArch64::LDRABindexed: {
33196 switch (OpNum) {
33197 case 2:
33198 // op: offset
33199 return 12;
33200 case 1:
33201 // op: Rn
33202 return 5;
33203 case 0:
33204 // op: Rt
33205 return 0;
33206 }
33207 break;
33208 }
33209 case AArch64::ADDHA_MPPZ_D:
33210 case AArch64::ADDHA_MPPZ_S:
33211 case AArch64::ADDVA_MPPZ_D:
33212 case AArch64::ADDVA_MPPZ_S: {
33213 switch (OpNum) {
33214 case 3:
33215 // op: Pm
33216 return 13;
33217 case 2:
33218 // op: Pn
33219 return 10;
33220 case 4:
33221 // op: Zn
33222 return 5;
33223 case 0:
33224 // op: ZAda
33225 return 0;
33226 }
33227 break;
33228 }
33229 case AArch64::CPYE:
33230 case AArch64::CPYEN:
33231 case AArch64::CPYERN:
33232 case AArch64::CPYERT:
33233 case AArch64::CPYERTN:
33234 case AArch64::CPYERTRN:
33235 case AArch64::CPYERTWN:
33236 case AArch64::CPYET:
33237 case AArch64::CPYETN:
33238 case AArch64::CPYETRN:
33239 case AArch64::CPYETWN:
33240 case AArch64::CPYEWN:
33241 case AArch64::CPYEWT:
33242 case AArch64::CPYEWTN:
33243 case AArch64::CPYEWTRN:
33244 case AArch64::CPYEWTWN:
33245 case AArch64::CPYFE:
33246 case AArch64::CPYFEN:
33247 case AArch64::CPYFERN:
33248 case AArch64::CPYFERT:
33249 case AArch64::CPYFERTN:
33250 case AArch64::CPYFERTRN:
33251 case AArch64::CPYFERTWN:
33252 case AArch64::CPYFET:
33253 case AArch64::CPYFETN:
33254 case AArch64::CPYFETRN:
33255 case AArch64::CPYFETWN:
33256 case AArch64::CPYFEWN:
33257 case AArch64::CPYFEWT:
33258 case AArch64::CPYFEWTN:
33259 case AArch64::CPYFEWTRN:
33260 case AArch64::CPYFEWTWN:
33261 case AArch64::CPYFM:
33262 case AArch64::CPYFMN:
33263 case AArch64::CPYFMRN:
33264 case AArch64::CPYFMRT:
33265 case AArch64::CPYFMRTN:
33266 case AArch64::CPYFMRTRN:
33267 case AArch64::CPYFMRTWN:
33268 case AArch64::CPYFMT:
33269 case AArch64::CPYFMTN:
33270 case AArch64::CPYFMTRN:
33271 case AArch64::CPYFMTWN:
33272 case AArch64::CPYFMWN:
33273 case AArch64::CPYFMWT:
33274 case AArch64::CPYFMWTN:
33275 case AArch64::CPYFMWTRN:
33276 case AArch64::CPYFMWTWN:
33277 case AArch64::CPYFP:
33278 case AArch64::CPYFPN:
33279 case AArch64::CPYFPRN:
33280 case AArch64::CPYFPRT:
33281 case AArch64::CPYFPRTN:
33282 case AArch64::CPYFPRTRN:
33283 case AArch64::CPYFPRTWN:
33284 case AArch64::CPYFPT:
33285 case AArch64::CPYFPTN:
33286 case AArch64::CPYFPTRN:
33287 case AArch64::CPYFPTWN:
33288 case AArch64::CPYFPWN:
33289 case AArch64::CPYFPWT:
33290 case AArch64::CPYFPWTN:
33291 case AArch64::CPYFPWTRN:
33292 case AArch64::CPYFPWTWN:
33293 case AArch64::CPYM:
33294 case AArch64::CPYMN:
33295 case AArch64::CPYMRN:
33296 case AArch64::CPYMRT:
33297 case AArch64::CPYMRTN:
33298 case AArch64::CPYMRTRN:
33299 case AArch64::CPYMRTWN:
33300 case AArch64::CPYMT:
33301 case AArch64::CPYMTN:
33302 case AArch64::CPYMTRN:
33303 case AArch64::CPYMTWN:
33304 case AArch64::CPYMWN:
33305 case AArch64::CPYMWT:
33306 case AArch64::CPYMWTN:
33307 case AArch64::CPYMWTRN:
33308 case AArch64::CPYMWTWN:
33309 case AArch64::CPYP:
33310 case AArch64::CPYPN:
33311 case AArch64::CPYPRN:
33312 case AArch64::CPYPRT:
33313 case AArch64::CPYPRTN:
33314 case AArch64::CPYPRTRN:
33315 case AArch64::CPYPRTWN:
33316 case AArch64::CPYPT:
33317 case AArch64::CPYPTN:
33318 case AArch64::CPYPTRN:
33319 case AArch64::CPYPTWN:
33320 case AArch64::CPYPWN:
33321 case AArch64::CPYPWT:
33322 case AArch64::CPYPWTN:
33323 case AArch64::CPYPWTRN:
33324 case AArch64::CPYPWTWN: {
33325 switch (OpNum) {
33326 case 3:
33327 // op: Rd
33328 return 0;
33329 case 4:
33330 // op: Rs
33331 return 16;
33332 case 5:
33333 // op: Rn
33334 return 5;
33335 }
33336 break;
33337 }
33338 case AArch64::LD1B_2Z_STRIDED:
33339 case AArch64::LD1B_4Z_STRIDED:
33340 case AArch64::LD1D_2Z_STRIDED:
33341 case AArch64::LD1D_4Z_STRIDED:
33342 case AArch64::LD1H_2Z_STRIDED:
33343 case AArch64::LD1H_4Z_STRIDED:
33344 case AArch64::LD1W_2Z_STRIDED:
33345 case AArch64::LD1W_4Z_STRIDED:
33346 case AArch64::LDNT1B_2Z_STRIDED:
33347 case AArch64::LDNT1B_4Z_STRIDED:
33348 case AArch64::LDNT1D_2Z_STRIDED:
33349 case AArch64::LDNT1D_4Z_STRIDED:
33350 case AArch64::LDNT1H_2Z_STRIDED:
33351 case AArch64::LDNT1H_4Z_STRIDED:
33352 case AArch64::LDNT1W_2Z_STRIDED:
33353 case AArch64::LDNT1W_4Z_STRIDED:
33354 case AArch64::ST1B_2Z_STRIDED:
33355 case AArch64::ST1B_4Z_STRIDED:
33356 case AArch64::ST1D_2Z_STRIDED:
33357 case AArch64::ST1D_4Z_STRIDED:
33358 case AArch64::ST1H_2Z_STRIDED:
33359 case AArch64::ST1H_4Z_STRIDED:
33360 case AArch64::ST1W_2Z_STRIDED:
33361 case AArch64::ST1W_4Z_STRIDED:
33362 case AArch64::STNT1B_2Z_STRIDED:
33363 case AArch64::STNT1B_4Z_STRIDED:
33364 case AArch64::STNT1D_2Z_STRIDED:
33365 case AArch64::STNT1D_4Z_STRIDED:
33366 case AArch64::STNT1H_2Z_STRIDED:
33367 case AArch64::STNT1H_4Z_STRIDED:
33368 case AArch64::STNT1W_2Z_STRIDED:
33369 case AArch64::STNT1W_4Z_STRIDED: {
33370 switch (OpNum) {
33371 case 3:
33372 // op: Rm
33373 return 16;
33374 case 1:
33375 // op: PNg
33376 return 10;
33377 case 2:
33378 // op: Rn
33379 return 5;
33380 case 0:
33381 // op: Zt
33382 return 0;
33383 }
33384 break;
33385 }
33386 case AArch64::PRFB_PRR:
33387 case AArch64::PRFD_PRR:
33388 case AArch64::PRFH_PRR:
33389 case AArch64::PRFW_PRR: {
33390 switch (OpNum) {
33391 case 3:
33392 // op: Rm
33393 return 16;
33394 case 2:
33395 // op: Rn
33396 return 5;
33397 case 1:
33398 // op: Pg
33399 return 10;
33400 case 0:
33401 // op: prfop
33402 return 0;
33403 }
33404 break;
33405 }
33406 case AArch64::MOVAZ_ZMI_H_Q:
33407 case AArch64::MOVAZ_ZMI_V_Q: {
33408 switch (OpNum) {
33409 case 3:
33410 // op: Rs
33411 return 13;
33412 case 0:
33413 // op: Zd
33414 return 0;
33415 case 1:
33416 // op: ZAn
33417 return 5;
33418 }
33419 break;
33420 }
33421 case AArch64::MOVAZ_ZMI_H_D:
33422 case AArch64::MOVAZ_ZMI_V_D: {
33423 switch (OpNum) {
33424 case 3:
33425 // op: Rs
33426 return 13;
33427 case 0:
33428 // op: Zd
33429 return 0;
33430 case 1:
33431 // op: ZAn
33432 return 6;
33433 case 4:
33434 // op: imm
33435 return 5;
33436 }
33437 break;
33438 }
33439 case AArch64::MOVAZ_ZMI_H_S:
33440 case AArch64::MOVAZ_ZMI_V_S: {
33441 switch (OpNum) {
33442 case 3:
33443 // op: Rs
33444 return 13;
33445 case 0:
33446 // op: Zd
33447 return 0;
33448 case 1:
33449 // op: ZAn
33450 return 7;
33451 case 4:
33452 // op: imm
33453 return 5;
33454 }
33455 break;
33456 }
33457 case AArch64::MOVAZ_ZMI_H_H:
33458 case AArch64::MOVAZ_ZMI_V_H: {
33459 switch (OpNum) {
33460 case 3:
33461 // op: Rs
33462 return 13;
33463 case 0:
33464 // op: Zd
33465 return 0;
33466 case 1:
33467 // op: ZAn
33468 return 8;
33469 case 4:
33470 // op: imm
33471 return 5;
33472 }
33473 break;
33474 }
33475 case AArch64::MOVAZ_ZMI_H_B:
33476 case AArch64::MOVAZ_ZMI_V_B: {
33477 switch (OpNum) {
33478 case 3:
33479 // op: Rs
33480 return 13;
33481 case 0:
33482 // op: Zd
33483 return 0;
33484 case 4:
33485 // op: imm
33486 return 5;
33487 }
33488 break;
33489 }
33490 case AArch64::MOVAZ_VG2_2ZMXI: {
33491 switch (OpNum) {
33492 case 3:
33493 // op: Rs
33494 return 13;
33495 case 4:
33496 // op: imm
33497 return 5;
33498 case 0:
33499 // op: Zd
33500 return 1;
33501 }
33502 break;
33503 }
33504 case AArch64::MOVAZ_VG4_4ZMXI: {
33505 switch (OpNum) {
33506 case 3:
33507 // op: Rs
33508 return 13;
33509 case 4:
33510 // op: imm
33511 return 5;
33512 case 0:
33513 // op: Zd
33514 return 2;
33515 }
33516 break;
33517 }
33518 case AArch64::RCWCLRP:
33519 case AArch64::RCWCLRPA:
33520 case AArch64::RCWCLRPAL:
33521 case AArch64::RCWCLRPL:
33522 case AArch64::RCWCLRSP:
33523 case AArch64::RCWCLRSPA:
33524 case AArch64::RCWCLRSPAL:
33525 case AArch64::RCWCLRSPL:
33526 case AArch64::RCWSETP:
33527 case AArch64::RCWSETPA:
33528 case AArch64::RCWSETPAL:
33529 case AArch64::RCWSETPL:
33530 case AArch64::RCWSETSP:
33531 case AArch64::RCWSETSPA:
33532 case AArch64::RCWSETSPAL:
33533 case AArch64::RCWSETSPL:
33534 case AArch64::RCWSWPP:
33535 case AArch64::RCWSWPPA:
33536 case AArch64::RCWSWPPAL:
33537 case AArch64::RCWSWPPL:
33538 case AArch64::RCWSWPSP:
33539 case AArch64::RCWSWPSPA:
33540 case AArch64::RCWSWPSPAL:
33541 case AArch64::RCWSWPSPL: {
33542 switch (OpNum) {
33543 case 3:
33544 // op: Rt2
33545 return 16;
33546 case 4:
33547 // op: Rn
33548 return 5;
33549 case 2:
33550 // op: Rt
33551 return 0;
33552 }
33553 break;
33554 }
33555 case AArch64::PSEL_PPPRI_B: {
33556 switch (OpNum) {
33557 case 3:
33558 // op: Rv
33559 return 16;
33560 case 1:
33561 // op: Pn
33562 return 10;
33563 case 2:
33564 // op: Pm
33565 return 5;
33566 case 0:
33567 // op: Pd
33568 return 0;
33569 case 4:
33570 // op: imm
33571 return 19;
33572 }
33573 break;
33574 }
33575 case AArch64::PSEL_PPPRI_H: {
33576 switch (OpNum) {
33577 case 3:
33578 // op: Rv
33579 return 16;
33580 case 1:
33581 // op: Pn
33582 return 10;
33583 case 2:
33584 // op: Pm
33585 return 5;
33586 case 0:
33587 // op: Pd
33588 return 0;
33589 case 4:
33590 // op: imm
33591 return 20;
33592 }
33593 break;
33594 }
33595 case AArch64::PSEL_PPPRI_S: {
33596 switch (OpNum) {
33597 case 3:
33598 // op: Rv
33599 return 16;
33600 case 1:
33601 // op: Pn
33602 return 10;
33603 case 2:
33604 // op: Pm
33605 return 5;
33606 case 0:
33607 // op: Pd
33608 return 0;
33609 case 4:
33610 // op: imm
33611 return 22;
33612 }
33613 break;
33614 }
33615 case AArch64::PSEL_PPPRI_D: {
33616 switch (OpNum) {
33617 case 3:
33618 // op: Rv
33619 return 16;
33620 case 1:
33621 // op: Pn
33622 return 10;
33623 case 2:
33624 // op: Pm
33625 return 5;
33626 case 0:
33627 // op: Pd
33628 return 0;
33629 case 4:
33630 // op: imm
33631 return 23;
33632 }
33633 break;
33634 }
33635 case AArch64::BFCLAMP_ZZZ:
33636 case AArch64::FCLAMP_ZZZ_D:
33637 case AArch64::FCLAMP_ZZZ_H:
33638 case AArch64::FCLAMP_ZZZ_S:
33639 case AArch64::SCLAMP_ZZZ_B:
33640 case AArch64::SCLAMP_ZZZ_D:
33641 case AArch64::SCLAMP_ZZZ_H:
33642 case AArch64::SCLAMP_ZZZ_S:
33643 case AArch64::UCLAMP_ZZZ_B:
33644 case AArch64::UCLAMP_ZZZ_D:
33645 case AArch64::UCLAMP_ZZZ_H:
33646 case AArch64::UCLAMP_ZZZ_S: {
33647 switch (OpNum) {
33648 case 3:
33649 // op: Zm
33650 return 16;
33651 case 2:
33652 // op: Zn
33653 return 5;
33654 case 0:
33655 // op: Zd
33656 return 0;
33657 }
33658 break;
33659 }
33660 case AArch64::BFCLAMP_VG2_2ZZZ_H:
33661 case AArch64::FCLAMP_VG2_2Z2Z_D:
33662 case AArch64::FCLAMP_VG2_2Z2Z_H:
33663 case AArch64::FCLAMP_VG2_2Z2Z_S:
33664 case AArch64::SCLAMP_VG2_2Z2Z_B:
33665 case AArch64::SCLAMP_VG2_2Z2Z_D:
33666 case AArch64::SCLAMP_VG2_2Z2Z_H:
33667 case AArch64::SCLAMP_VG2_2Z2Z_S:
33668 case AArch64::UCLAMP_VG2_2Z2Z_B:
33669 case AArch64::UCLAMP_VG2_2Z2Z_D:
33670 case AArch64::UCLAMP_VG2_2Z2Z_H:
33671 case AArch64::UCLAMP_VG2_2Z2Z_S: {
33672 switch (OpNum) {
33673 case 3:
33674 // op: Zm
33675 return 16;
33676 case 2:
33677 // op: Zn
33678 return 5;
33679 case 0:
33680 // op: Zd
33681 return 1;
33682 }
33683 break;
33684 }
33685 case AArch64::BFCLAMP_VG4_4ZZZ_H:
33686 case AArch64::FCLAMP_VG4_4Z4Z_D:
33687 case AArch64::FCLAMP_VG4_4Z4Z_H:
33688 case AArch64::FCLAMP_VG4_4Z4Z_S:
33689 case AArch64::SCLAMP_VG4_4Z4Z_B:
33690 case AArch64::SCLAMP_VG4_4Z4Z_D:
33691 case AArch64::SCLAMP_VG4_4Z4Z_H:
33692 case AArch64::SCLAMP_VG4_4Z4Z_S:
33693 case AArch64::UCLAMP_VG4_4Z4Z_B:
33694 case AArch64::UCLAMP_VG4_4Z4Z_D:
33695 case AArch64::UCLAMP_VG4_4Z4Z_H:
33696 case AArch64::UCLAMP_VG4_4Z4Z_S: {
33697 switch (OpNum) {
33698 case 3:
33699 // op: Zm
33700 return 16;
33701 case 2:
33702 // op: Zn
33703 return 5;
33704 case 0:
33705 // op: Zd
33706 return 2;
33707 }
33708 break;
33709 }
33710 case AArch64::PMLAL_2ZZZ_Q: {
33711 switch (OpNum) {
33712 case 3:
33713 // op: Zm
33714 return 16;
33715 case 2:
33716 // op: Zn
33717 return 5;
33718 case 0:
33719 // op: Zda
33720 return 1;
33721 }
33722 break;
33723 }
33724 case AArch64::LD1B_2Z_STRIDED_IMM:
33725 case AArch64::LD1B_4Z_STRIDED_IMM:
33726 case AArch64::LD1D_2Z_STRIDED_IMM:
33727 case AArch64::LD1D_4Z_STRIDED_IMM:
33728 case AArch64::LD1H_2Z_STRIDED_IMM:
33729 case AArch64::LD1H_4Z_STRIDED_IMM:
33730 case AArch64::LD1W_2Z_STRIDED_IMM:
33731 case AArch64::LD1W_4Z_STRIDED_IMM:
33732 case AArch64::LDNT1B_2Z_STRIDED_IMM:
33733 case AArch64::LDNT1B_4Z_STRIDED_IMM:
33734 case AArch64::LDNT1D_2Z_STRIDED_IMM:
33735 case AArch64::LDNT1D_4Z_STRIDED_IMM:
33736 case AArch64::LDNT1H_2Z_STRIDED_IMM:
33737 case AArch64::LDNT1H_4Z_STRIDED_IMM:
33738 case AArch64::LDNT1W_2Z_STRIDED_IMM:
33739 case AArch64::LDNT1W_4Z_STRIDED_IMM:
33740 case AArch64::ST1B_2Z_STRIDED_IMM:
33741 case AArch64::ST1B_4Z_STRIDED_IMM:
33742 case AArch64::ST1D_2Z_STRIDED_IMM:
33743 case AArch64::ST1D_4Z_STRIDED_IMM:
33744 case AArch64::ST1H_2Z_STRIDED_IMM:
33745 case AArch64::ST1H_4Z_STRIDED_IMM:
33746 case AArch64::ST1W_2Z_STRIDED_IMM:
33747 case AArch64::ST1W_4Z_STRIDED_IMM:
33748 case AArch64::STNT1B_2Z_STRIDED_IMM:
33749 case AArch64::STNT1B_4Z_STRIDED_IMM:
33750 case AArch64::STNT1D_2Z_STRIDED_IMM:
33751 case AArch64::STNT1D_4Z_STRIDED_IMM:
33752 case AArch64::STNT1H_2Z_STRIDED_IMM:
33753 case AArch64::STNT1H_4Z_STRIDED_IMM:
33754 case AArch64::STNT1W_2Z_STRIDED_IMM:
33755 case AArch64::STNT1W_4Z_STRIDED_IMM: {
33756 switch (OpNum) {
33757 case 3:
33758 // op: imm4
33759 return 16;
33760 case 1:
33761 // op: PNg
33762 return 10;
33763 case 2:
33764 // op: Rn
33765 return 5;
33766 case 0:
33767 // op: Zt
33768 return 0;
33769 }
33770 break;
33771 }
33772 case AArch64::LDRAAwriteback:
33773 case AArch64::LDRABwriteback: {
33774 switch (OpNum) {
33775 case 3:
33776 // op: offset
33777 return 12;
33778 case 2:
33779 // op: Rn
33780 return 5;
33781 case 1:
33782 // op: Rt
33783 return 0;
33784 }
33785 break;
33786 }
33787 case AArch64::SYSPxt:
33788 case AArch64::SYSxt: {
33789 switch (OpNum) {
33790 case 4:
33791 // op: Rt
33792 return 0;
33793 case 0:
33794 // op: op1
33795 return 16;
33796 case 1:
33797 // op: Cn
33798 return 12;
33799 case 2:
33800 // op: Cm
33801 return 8;
33802 case 3:
33803 // op: op2
33804 return 5;
33805 }
33806 break;
33807 }
33808 case AArch64::EXTRACT_ZPMXI_H_Q:
33809 case AArch64::EXTRACT_ZPMXI_V_Q: {
33810 switch (OpNum) {
33811 case 4:
33812 // op: Rv
33813 return 13;
33814 case 2:
33815 // op: Pg
33816 return 10;
33817 case 0:
33818 // op: Zd
33819 return 0;
33820 case 3:
33821 // op: ZAn
33822 return 5;
33823 }
33824 break;
33825 }
33826 case AArch64::EXTRACT_ZPMXI_H_D:
33827 case AArch64::EXTRACT_ZPMXI_V_D: {
33828 switch (OpNum) {
33829 case 4:
33830 // op: Rv
33831 return 13;
33832 case 2:
33833 // op: Pg
33834 return 10;
33835 case 0:
33836 // op: Zd
33837 return 0;
33838 case 3:
33839 // op: ZAn
33840 return 6;
33841 case 5:
33842 // op: imm
33843 return 5;
33844 }
33845 break;
33846 }
33847 case AArch64::EXTRACT_ZPMXI_H_S:
33848 case AArch64::EXTRACT_ZPMXI_V_S: {
33849 switch (OpNum) {
33850 case 4:
33851 // op: Rv
33852 return 13;
33853 case 2:
33854 // op: Pg
33855 return 10;
33856 case 0:
33857 // op: Zd
33858 return 0;
33859 case 3:
33860 // op: ZAn
33861 return 7;
33862 case 5:
33863 // op: imm
33864 return 5;
33865 }
33866 break;
33867 }
33868 case AArch64::EXTRACT_ZPMXI_H_H:
33869 case AArch64::EXTRACT_ZPMXI_V_H: {
33870 switch (OpNum) {
33871 case 4:
33872 // op: Rv
33873 return 13;
33874 case 2:
33875 // op: Pg
33876 return 10;
33877 case 0:
33878 // op: Zd
33879 return 0;
33880 case 3:
33881 // op: ZAn
33882 return 8;
33883 case 5:
33884 // op: imm
33885 return 5;
33886 }
33887 break;
33888 }
33889 case AArch64::EXTRACT_ZPMXI_H_B:
33890 case AArch64::EXTRACT_ZPMXI_V_B: {
33891 switch (OpNum) {
33892 case 4:
33893 // op: Rv
33894 return 13;
33895 case 2:
33896 // op: Pg
33897 return 10;
33898 case 0:
33899 // op: Zd
33900 return 0;
33901 case 5:
33902 // op: imm
33903 return 5;
33904 }
33905 break;
33906 }
33907 case AArch64::LD1_MXIPXX_H_Q:
33908 case AArch64::LD1_MXIPXX_V_Q:
33909 case AArch64::ST1_MXIPXX_H_Q:
33910 case AArch64::ST1_MXIPXX_V_Q: {
33911 switch (OpNum) {
33912 case 5:
33913 // op: Rm
33914 return 16;
33915 case 1:
33916 // op: Rv
33917 return 13;
33918 case 3:
33919 // op: Pg
33920 return 10;
33921 case 4:
33922 // op: Rn
33923 return 5;
33924 case 0:
33925 // op: ZAt
33926 return 0;
33927 }
33928 break;
33929 }
33930 case AArch64::LD1_MXIPXX_H_D:
33931 case AArch64::LD1_MXIPXX_V_D:
33932 case AArch64::ST1_MXIPXX_H_D:
33933 case AArch64::ST1_MXIPXX_V_D: {
33934 switch (OpNum) {
33935 case 5:
33936 // op: Rm
33937 return 16;
33938 case 1:
33939 // op: Rv
33940 return 13;
33941 case 3:
33942 // op: Pg
33943 return 10;
33944 case 4:
33945 // op: Rn
33946 return 5;
33947 case 0:
33948 // op: ZAt
33949 return 1;
33950 case 2:
33951 // op: imm
33952 return 0;
33953 }
33954 break;
33955 }
33956 case AArch64::LD1_MXIPXX_H_S:
33957 case AArch64::LD1_MXIPXX_V_S:
33958 case AArch64::ST1_MXIPXX_H_S:
33959 case AArch64::ST1_MXIPXX_V_S: {
33960 switch (OpNum) {
33961 case 5:
33962 // op: Rm
33963 return 16;
33964 case 1:
33965 // op: Rv
33966 return 13;
33967 case 3:
33968 // op: Pg
33969 return 10;
33970 case 4:
33971 // op: Rn
33972 return 5;
33973 case 0:
33974 // op: ZAt
33975 return 2;
33976 case 2:
33977 // op: imm
33978 return 0;
33979 }
33980 break;
33981 }
33982 case AArch64::LD1_MXIPXX_H_H:
33983 case AArch64::LD1_MXIPXX_V_H:
33984 case AArch64::ST1_MXIPXX_H_H:
33985 case AArch64::ST1_MXIPXX_V_H: {
33986 switch (OpNum) {
33987 case 5:
33988 // op: Rm
33989 return 16;
33990 case 1:
33991 // op: Rv
33992 return 13;
33993 case 3:
33994 // op: Pg
33995 return 10;
33996 case 4:
33997 // op: Rn
33998 return 5;
33999 case 0:
34000 // op: ZAt
34001 return 3;
34002 case 2:
34003 // op: imm
34004 return 0;
34005 }
34006 break;
34007 }
34008 case AArch64::LD1_MXIPXX_H_B:
34009 case AArch64::LD1_MXIPXX_V_B:
34010 case AArch64::ST1_MXIPXX_H_B:
34011 case AArch64::ST1_MXIPXX_V_B: {
34012 switch (OpNum) {
34013 case 5:
34014 // op: Rm
34015 return 16;
34016 case 1:
34017 // op: Rv
34018 return 13;
34019 case 3:
34020 // op: Pg
34021 return 10;
34022 case 4:
34023 // op: Rn
34024 return 5;
34025 case 2:
34026 // op: imm
34027 return 0;
34028 }
34029 break;
34030 }
34031 case AArch64::FMLALL_MZZ_BtoS:
34032 case AArch64::FMLALL_VG2_M2ZZ_BtoS:
34033 case AArch64::FMLALL_VG4_M4ZZ_BtoS:
34034 case AArch64::SMLALL_MZZ_BtoS:
34035 case AArch64::SMLALL_MZZ_HtoD:
34036 case AArch64::SMLALL_VG2_M2ZZ_BtoS:
34037 case AArch64::SMLALL_VG2_M2ZZ_HtoD:
34038 case AArch64::SMLALL_VG4_M4ZZ_BtoS:
34039 case AArch64::SMLALL_VG4_M4ZZ_HtoD:
34040 case AArch64::SMLSLL_MZZ_BtoS:
34041 case AArch64::SMLSLL_MZZ_HtoD:
34042 case AArch64::SMLSLL_VG2_M2ZZ_BtoS:
34043 case AArch64::SMLSLL_VG2_M2ZZ_HtoD:
34044 case AArch64::SMLSLL_VG4_M4ZZ_BtoS:
34045 case AArch64::SMLSLL_VG4_M4ZZ_HtoD:
34046 case AArch64::SUMLALL_VG2_M2ZZ_BtoS:
34047 case AArch64::SUMLALL_VG4_M4ZZ_BtoS:
34048 case AArch64::UMLALL_MZZ_BtoS:
34049 case AArch64::UMLALL_MZZ_HtoD:
34050 case AArch64::UMLALL_VG2_M2ZZ_BtoS:
34051 case AArch64::UMLALL_VG2_M2ZZ_HtoD:
34052 case AArch64::UMLALL_VG4_M4ZZ_BtoS:
34053 case AArch64::UMLALL_VG4_M4ZZ_HtoD:
34054 case AArch64::UMLSLL_MZZ_BtoS:
34055 case AArch64::UMLSLL_MZZ_HtoD:
34056 case AArch64::UMLSLL_VG2_M2ZZ_BtoS:
34057 case AArch64::UMLSLL_VG2_M2ZZ_HtoD:
34058 case AArch64::UMLSLL_VG4_M4ZZ_BtoS:
34059 case AArch64::UMLSLL_VG4_M4ZZ_HtoD:
34060 case AArch64::USMLALL_MZZ_BtoS:
34061 case AArch64::USMLALL_VG2_M2ZZ_BtoS:
34062 case AArch64::USMLALL_VG4_M4ZZ_BtoS: {
34063 switch (OpNum) {
34064 case 5:
34065 // op: Zm
34066 return 16;
34067 case 2:
34068 // op: Rv
34069 return 13;
34070 case 4:
34071 // op: Zn
34072 return 5;
34073 case 3:
34074 // op: imm
34075 return 0;
34076 }
34077 break;
34078 }
34079 case AArch64::BFDOT_VG2_M2ZZI_HtoS:
34080 case AArch64::BFVDOT_VG2_M2ZZI_HtoS:
34081 case AArch64::FDOT_VG2_M2ZZI_BtoS:
34082 case AArch64::FDOT_VG2_M2ZZI_HtoS:
34083 case AArch64::FMLA_VG2_M2ZZI_S:
34084 case AArch64::FMLS_VG2_M2ZZI_S:
34085 case AArch64::FVDOT_VG2_M2ZZI_HtoS:
34086 case AArch64::SDOT_VG2_M2ZZI_BToS:
34087 case AArch64::SDOT_VG2_M2ZZI_HToS:
34088 case AArch64::SUDOT_VG2_M2ZZI_BToS:
34089 case AArch64::SVDOT_VG2_M2ZZI_HtoS:
34090 case AArch64::UDOT_VG2_M2ZZI_BToS:
34091 case AArch64::UDOT_VG2_M2ZZI_HToS:
34092 case AArch64::USDOT_VG2_M2ZZI_BToS:
34093 case AArch64::UVDOT_VG2_M2ZZI_HtoS: {
34094 switch (OpNum) {
34095 case 5:
34096 // op: Zm
34097 return 16;
34098 case 2:
34099 // op: Rv
34100 return 13;
34101 case 4:
34102 // op: Zn
34103 return 6;
34104 case 3:
34105 // op: imm3
34106 return 0;
34107 case 6:
34108 // op: i
34109 return 10;
34110 }
34111 break;
34112 }
34113 case AArch64::BFMLA_VG2_M2ZZI:
34114 case AArch64::BFMLS_VG2_M2ZZI:
34115 case AArch64::FDOT_VG2_M2ZZI_BtoH:
34116 case AArch64::FMLA_VG2_M2ZZI_H:
34117 case AArch64::FMLS_VG2_M2ZZI_H:
34118 case AArch64::FVDOTB_VG4_M2ZZI_BtoS:
34119 case AArch64::FVDOTT_VG4_M2ZZI_BtoS:
34120 case AArch64::FVDOT_VG2_M2ZZI_BtoH: {
34121 switch (OpNum) {
34122 case 5:
34123 // op: Zm
34124 return 16;
34125 case 2:
34126 // op: Rv
34127 return 13;
34128 case 4:
34129 // op: Zn
34130 return 6;
34131 case 3:
34132 // op: imm3
34133 return 0;
34134 case 6:
34135 // op: i
34136 return 3;
34137 }
34138 break;
34139 }
34140 case AArch64::BFDOT_VG4_M4ZZI_HtoS:
34141 case AArch64::FDOT_VG4_M4ZZI_BtoS:
34142 case AArch64::FDOT_VG4_M4ZZI_HtoS:
34143 case AArch64::FMLA_VG4_M4ZZI_S:
34144 case AArch64::FMLS_VG4_M4ZZI_S:
34145 case AArch64::SDOT_VG4_M4ZZI_BToS:
34146 case AArch64::SDOT_VG4_M4ZZI_HToS:
34147 case AArch64::SUDOT_VG4_M4ZZI_BToS:
34148 case AArch64::SUVDOT_VG4_M4ZZI_BToS:
34149 case AArch64::SVDOT_VG4_M4ZZI_BtoS:
34150 case AArch64::UDOT_VG4_M4ZZI_BtoS:
34151 case AArch64::UDOT_VG4_M4ZZI_HToS:
34152 case AArch64::USDOT_VG4_M4ZZI_BToS:
34153 case AArch64::USVDOT_VG4_M4ZZI_BToS:
34154 case AArch64::UVDOT_VG4_M4ZZI_BtoS: {
34155 switch (OpNum) {
34156 case 5:
34157 // op: Zm
34158 return 16;
34159 case 2:
34160 // op: Rv
34161 return 13;
34162 case 4:
34163 // op: Zn
34164 return 7;
34165 case 3:
34166 // op: imm3
34167 return 0;
34168 case 6:
34169 // op: i
34170 return 10;
34171 }
34172 break;
34173 }
34174 case AArch64::BFMLA_VG4_M4ZZI:
34175 case AArch64::BFMLS_VG4_M4ZZI:
34176 case AArch64::FDOT_VG4_M4ZZI_BtoH:
34177 case AArch64::FMLA_VG4_M4ZZI_H:
34178 case AArch64::FMLS_VG4_M4ZZI_H: {
34179 switch (OpNum) {
34180 case 5:
34181 // op: Zm
34182 return 16;
34183 case 2:
34184 // op: Rv
34185 return 13;
34186 case 4:
34187 // op: Zn
34188 return 7;
34189 case 3:
34190 // op: imm3
34191 return 0;
34192 case 6:
34193 // op: i
34194 return 3;
34195 }
34196 break;
34197 }
34198 case AArch64::FMLALL_MZZI_BtoS:
34199 case AArch64::SMLALL_MZZI_BtoS:
34200 case AArch64::SMLALL_MZZI_HtoD:
34201 case AArch64::SMLSLL_MZZI_BtoS:
34202 case AArch64::SMLSLL_MZZI_HtoD:
34203 case AArch64::SUMLALL_MZZI_BtoS:
34204 case AArch64::UMLALL_MZZI_BtoS:
34205 case AArch64::UMLALL_MZZI_HtoD:
34206 case AArch64::UMLSLL_MZZI_BtoS:
34207 case AArch64::UMLSLL_MZZI_HtoD:
34208 case AArch64::USMLALL_MZZI_BtoS: {
34209 switch (OpNum) {
34210 case 5:
34211 // op: Zm
34212 return 16;
34213 case 2:
34214 // op: Rv
34215 return 13;
34216 case 6:
34217 // op: i
34218 return 10;
34219 case 4:
34220 // op: Zn
34221 return 5;
34222 case 3:
34223 // op: imm2
34224 return 0;
34225 }
34226 break;
34227 }
34228 case AArch64::FMLALL_VG2_M2ZZI_BtoS:
34229 case AArch64::SMLALL_VG2_M2ZZI_BtoS:
34230 case AArch64::SMLALL_VG2_M2ZZI_HtoD:
34231 case AArch64::SMLSLL_VG2_M2ZZI_BtoS:
34232 case AArch64::SMLSLL_VG2_M2ZZI_HtoD:
34233 case AArch64::SUMLALL_VG2_M2ZZI_BtoS:
34234 case AArch64::UMLALL_VG2_M2ZZI_BtoS:
34235 case AArch64::UMLALL_VG2_M2ZZI_HtoD:
34236 case AArch64::UMLSLL_VG2_M2ZZI_BtoS:
34237 case AArch64::UMLSLL_VG2_M2ZZI_HtoD:
34238 case AArch64::USMLALL_VG2_M2ZZI_BtoS: {
34239 switch (OpNum) {
34240 case 5:
34241 // op: Zm
34242 return 16;
34243 case 2:
34244 // op: Rv
34245 return 13;
34246 case 6:
34247 // op: i
34248 return 1;
34249 case 3:
34250 // op: imm
34251 return 0;
34252 case 4:
34253 // op: Zn
34254 return 6;
34255 }
34256 break;
34257 }
34258 case AArch64::FMLALL_VG4_M4ZZI_BtoS:
34259 case AArch64::SMLALL_VG4_M4ZZI_BtoS:
34260 case AArch64::SMLALL_VG4_M4ZZI_HtoD:
34261 case AArch64::SMLSLL_VG4_M4ZZI_BtoS:
34262 case AArch64::SMLSLL_VG4_M4ZZI_HtoD:
34263 case AArch64::SUMLALL_VG4_M4ZZI_BtoS:
34264 case AArch64::UMLALL_VG4_M4ZZI_BtoS:
34265 case AArch64::UMLALL_VG4_M4ZZI_HtoD:
34266 case AArch64::UMLSLL_VG4_M4ZZI_BtoS:
34267 case AArch64::UMLSLL_VG4_M4ZZI_HtoD:
34268 case AArch64::USMLALL_VG4_M4ZZI_BtoS: {
34269 switch (OpNum) {
34270 case 5:
34271 // op: Zm
34272 return 16;
34273 case 2:
34274 // op: Rv
34275 return 13;
34276 case 6:
34277 // op: i
34278 return 1;
34279 case 3:
34280 // op: imm
34281 return 0;
34282 case 4:
34283 // op: Zn
34284 return 7;
34285 }
34286 break;
34287 }
34288 case AArch64::FMLAL_VG2_M2ZZI_BtoH: {
34289 switch (OpNum) {
34290 case 5:
34291 // op: Zm
34292 return 16;
34293 case 2:
34294 // op: Rv
34295 return 13;
34296 case 6:
34297 // op: i
34298 return 2;
34299 case 3:
34300 // op: imm2
34301 return 0;
34302 case 4:
34303 // op: Zn
34304 return 6;
34305 }
34306 break;
34307 }
34308 case AArch64::FMLAL_VG4_M4ZZI_BtoH: {
34309 switch (OpNum) {
34310 case 5:
34311 // op: Zm
34312 return 16;
34313 case 2:
34314 // op: Rv
34315 return 13;
34316 case 6:
34317 // op: i
34318 return 2;
34319 case 3:
34320 // op: imm2
34321 return 0;
34322 case 4:
34323 // op: Zn
34324 return 7;
34325 }
34326 break;
34327 }
34328 case AArch64::FMLAL_MZZI_BtoH: {
34329 switch (OpNum) {
34330 case 5:
34331 // op: Zm
34332 return 16;
34333 case 2:
34334 // op: Rv
34335 return 13;
34336 case 6:
34337 // op: i
34338 return 3;
34339 case 4:
34340 // op: Zn
34341 return 5;
34342 case 3:
34343 // op: imm3
34344 return 0;
34345 }
34346 break;
34347 }
34348 case AArch64::FMLA_VG2_M2ZZI_D:
34349 case AArch64::FMLS_VG2_M2ZZI_D:
34350 case AArch64::SDOT_VG2_M2ZZI_HtoD:
34351 case AArch64::UDOT_VG2_M2ZZI_HtoD: {
34352 switch (OpNum) {
34353 case 5:
34354 // op: Zm
34355 return 16;
34356 case 2:
34357 // op: Rv
34358 return 13;
34359 case 6:
34360 // op: i1
34361 return 10;
34362 case 4:
34363 // op: Zn
34364 return 6;
34365 case 3:
34366 // op: imm3
34367 return 0;
34368 }
34369 break;
34370 }
34371 case AArch64::FMLA_VG4_M4ZZI_D:
34372 case AArch64::FMLS_VG4_M4ZZI_D:
34373 case AArch64::SDOT_VG4_M4ZZI_HtoD:
34374 case AArch64::SVDOT_VG4_M4ZZI_HtoD:
34375 case AArch64::UDOT_VG4_M4ZZI_HtoD:
34376 case AArch64::UVDOT_VG4_M4ZZI_HtoD: {
34377 switch (OpNum) {
34378 case 5:
34379 // op: Zm
34380 return 16;
34381 case 2:
34382 // op: Rv
34383 return 13;
34384 case 6:
34385 // op: i1
34386 return 10;
34387 case 4:
34388 // op: Zn
34389 return 7;
34390 case 3:
34391 // op: imm3
34392 return 0;
34393 }
34394 break;
34395 }
34396 case AArch64::BFMLAL_MZZI_HtoS:
34397 case AArch64::BFMLSL_MZZI_HtoS:
34398 case AArch64::FMLAL_MZZI_HtoS:
34399 case AArch64::FMLSL_MZZI_HtoS:
34400 case AArch64::SMLAL_MZZI_HtoS:
34401 case AArch64::SMLSL_MZZI_HtoS:
34402 case AArch64::UMLAL_MZZI_HtoS:
34403 case AArch64::UMLSL_MZZI_HtoS: {
34404 switch (OpNum) {
34405 case 5:
34406 // op: Zm
34407 return 16;
34408 case 2:
34409 // op: Rv
34410 return 13;
34411 case 6:
34412 // op: i3
34413 return 10;
34414 case 4:
34415 // op: Zn
34416 return 5;
34417 case 3:
34418 // op: imm
34419 return 0;
34420 }
34421 break;
34422 }
34423 case AArch64::BFMLAL_VG2_M2ZZI_HtoS:
34424 case AArch64::BFMLSL_VG2_M2ZZI_HtoS:
34425 case AArch64::FMLAL_VG2_M2ZZI_HtoS:
34426 case AArch64::FMLSL_VG2_M2ZZI_HtoS:
34427 case AArch64::SMLAL_VG2_M2ZZI_S:
34428 case AArch64::SMLSL_VG2_M2ZZI_S:
34429 case AArch64::UMLAL_VG2_M2ZZI_S:
34430 case AArch64::UMLSL_VG2_M2ZZI_S: {
34431 switch (OpNum) {
34432 case 5:
34433 // op: Zm
34434 return 16;
34435 case 2:
34436 // op: Rv
34437 return 13;
34438 case 6:
34439 // op: i3
34440 return 2;
34441 case 4:
34442 // op: Zn
34443 return 6;
34444 case 3:
34445 // op: imm
34446 return 0;
34447 }
34448 break;
34449 }
34450 case AArch64::BFMLAL_VG4_M4ZZI_HtoS:
34451 case AArch64::BFMLSL_VG4_M4ZZI_HtoS:
34452 case AArch64::FMLAL_VG4_M4ZZI_HtoS:
34453 case AArch64::FMLSL_VG4_M4ZZI_HtoS:
34454 case AArch64::SMLAL_VG4_M4ZZI_HtoS:
34455 case AArch64::SMLSL_VG4_M4ZZI_HtoS:
34456 case AArch64::UMLAL_VG4_M4ZZI_HtoS:
34457 case AArch64::UMLSL_VG4_M4ZZI_HtoS: {
34458 switch (OpNum) {
34459 case 5:
34460 // op: Zm
34461 return 16;
34462 case 2:
34463 // op: Rv
34464 return 13;
34465 case 6:
34466 // op: i3
34467 return 2;
34468 case 4:
34469 // op: Zn
34470 return 7;
34471 case 3:
34472 // op: imm
34473 return 0;
34474 }
34475 break;
34476 }
34477 case AArch64::BFMOPA_MPPZZ:
34478 case AArch64::BFMOPA_MPPZZ_H:
34479 case AArch64::BFMOPS_MPPZZ:
34480 case AArch64::BFMOPS_MPPZZ_H:
34481 case AArch64::BMOPA_MPPZZ_S:
34482 case AArch64::BMOPS_MPPZZ_S:
34483 case AArch64::FMOPAL_MPPZZ:
34484 case AArch64::FMOPA_MPPZZ_BtoH:
34485 case AArch64::FMOPA_MPPZZ_BtoS:
34486 case AArch64::FMOPA_MPPZZ_D:
34487 case AArch64::FMOPA_MPPZZ_H:
34488 case AArch64::FMOPA_MPPZZ_S:
34489 case AArch64::FMOPSL_MPPZZ:
34490 case AArch64::FMOPS_MPPZZ_D:
34491 case AArch64::FMOPS_MPPZZ_H:
34492 case AArch64::FMOPS_MPPZZ_S:
34493 case AArch64::SMOPA_MPPZZ_D:
34494 case AArch64::SMOPA_MPPZZ_HtoS:
34495 case AArch64::SMOPA_MPPZZ_S:
34496 case AArch64::SMOPS_MPPZZ_D:
34497 case AArch64::SMOPS_MPPZZ_HtoS:
34498 case AArch64::SMOPS_MPPZZ_S:
34499 case AArch64::SUMOPA_MPPZZ_D:
34500 case AArch64::SUMOPA_MPPZZ_S:
34501 case AArch64::SUMOPS_MPPZZ_D:
34502 case AArch64::SUMOPS_MPPZZ_S:
34503 case AArch64::UMOPA_MPPZZ_D:
34504 case AArch64::UMOPA_MPPZZ_HtoS:
34505 case AArch64::UMOPA_MPPZZ_S:
34506 case AArch64::UMOPS_MPPZZ_D:
34507 case AArch64::UMOPS_MPPZZ_HtoS:
34508 case AArch64::UMOPS_MPPZZ_S:
34509 case AArch64::USMOPA_MPPZZ_D:
34510 case AArch64::USMOPA_MPPZZ_S:
34511 case AArch64::USMOPS_MPPZZ_D:
34512 case AArch64::USMOPS_MPPZZ_S: {
34513 switch (OpNum) {
34514 case 5:
34515 // op: Zm
34516 return 16;
34517 case 3:
34518 // op: Pm
34519 return 13;
34520 case 2:
34521 // op: Pn
34522 return 10;
34523 case 4:
34524 // op: Zn
34525 return 5;
34526 case 0:
34527 // op: ZAda
34528 return 0;
34529 }
34530 break;
34531 }
34532 case AArch64::ADD_VG2_M2ZZ_D:
34533 case AArch64::ADD_VG2_M2ZZ_S:
34534 case AArch64::ADD_VG4_M4ZZ_D:
34535 case AArch64::ADD_VG4_M4ZZ_S:
34536 case AArch64::BFDOT_VG2_M2ZZ_HtoS:
34537 case AArch64::BFDOT_VG4_M4ZZ_HtoS:
34538 case AArch64::BFMLA_VG2_M2ZZ:
34539 case AArch64::BFMLA_VG4_M4ZZ:
34540 case AArch64::BFMLS_VG2_M2ZZ:
34541 case AArch64::BFMLS_VG4_M4ZZ:
34542 case AArch64::FDOT_VG2_M2ZZ_BtoH:
34543 case AArch64::FDOT_VG2_M2ZZ_BtoS:
34544 case AArch64::FDOT_VG2_M2ZZ_HtoS:
34545 case AArch64::FDOT_VG4_M4ZZ_BtoH:
34546 case AArch64::FDOT_VG4_M4ZZ_BtoS:
34547 case AArch64::FDOT_VG4_M4ZZ_HtoS:
34548 case AArch64::FMLA_VG2_M2ZZ_D:
34549 case AArch64::FMLA_VG2_M2ZZ_H:
34550 case AArch64::FMLA_VG2_M2ZZ_S:
34551 case AArch64::FMLA_VG4_M4ZZ_D:
34552 case AArch64::FMLA_VG4_M4ZZ_H:
34553 case AArch64::FMLA_VG4_M4ZZ_S:
34554 case AArch64::FMLS_VG2_M2ZZ_D:
34555 case AArch64::FMLS_VG2_M2ZZ_H:
34556 case AArch64::FMLS_VG2_M2ZZ_S:
34557 case AArch64::FMLS_VG4_M4ZZ_D:
34558 case AArch64::FMLS_VG4_M4ZZ_H:
34559 case AArch64::FMLS_VG4_M4ZZ_S:
34560 case AArch64::SDOT_VG2_M2ZZ_BtoS:
34561 case AArch64::SDOT_VG2_M2ZZ_HtoD:
34562 case AArch64::SDOT_VG2_M2ZZ_HtoS:
34563 case AArch64::SDOT_VG4_M4ZZ_BtoS:
34564 case AArch64::SDOT_VG4_M4ZZ_HtoD:
34565 case AArch64::SDOT_VG4_M4ZZ_HtoS:
34566 case AArch64::SUB_VG2_M2ZZ_D:
34567 case AArch64::SUB_VG2_M2ZZ_S:
34568 case AArch64::SUB_VG4_M4ZZ_D:
34569 case AArch64::SUB_VG4_M4ZZ_S:
34570 case AArch64::SUDOT_VG2_M2ZZ_BToS:
34571 case AArch64::SUDOT_VG4_M4ZZ_BToS:
34572 case AArch64::UDOT_VG2_M2ZZ_BtoS:
34573 case AArch64::UDOT_VG2_M2ZZ_HtoD:
34574 case AArch64::UDOT_VG2_M2ZZ_HtoS:
34575 case AArch64::UDOT_VG4_M4ZZ_BtoS:
34576 case AArch64::UDOT_VG4_M4ZZ_HtoD:
34577 case AArch64::UDOT_VG4_M4ZZ_HtoS:
34578 case AArch64::USDOT_VG2_M2ZZ_BToS:
34579 case AArch64::USDOT_VG4_M4ZZ_BToS: {
34580 switch (OpNum) {
34581 case 5:
34582 // op: Zm
34583 return 16;
34584 case 4:
34585 // op: Zn
34586 return 5;
34587 case 2:
34588 // op: Rv
34589 return 13;
34590 case 3:
34591 // op: imm3
34592 return 0;
34593 }
34594 break;
34595 }
34596 case AArch64::FMLALL_VG2_M2Z2Z_BtoS:
34597 case AArch64::SMLALL_VG2_M2Z2Z_BtoS:
34598 case AArch64::SMLALL_VG2_M2Z2Z_HtoD:
34599 case AArch64::SMLSLL_VG2_M2Z2Z_BtoS:
34600 case AArch64::SMLSLL_VG2_M2Z2Z_HtoD:
34601 case AArch64::UMLALL_VG2_M2Z2Z_BtoS:
34602 case AArch64::UMLALL_VG2_M2Z2Z_HtoD:
34603 case AArch64::UMLSLL_VG2_M2Z2Z_BtoS:
34604 case AArch64::UMLSLL_VG2_M2Z2Z_HtoD:
34605 case AArch64::USMLALL_VG2_M2Z2Z_BtoS: {
34606 switch (OpNum) {
34607 case 5:
34608 // op: Zm
34609 return 17;
34610 case 2:
34611 // op: Rv
34612 return 13;
34613 case 4:
34614 // op: Zn
34615 return 6;
34616 case 3:
34617 // op: imm
34618 return 0;
34619 }
34620 break;
34621 }
34622 case AArch64::ADD_VG2_M2Z2Z_D:
34623 case AArch64::ADD_VG2_M2Z2Z_S:
34624 case AArch64::BFDOT_VG2_M2Z2Z_HtoS:
34625 case AArch64::BFMLA_VG2_M2Z2Z:
34626 case AArch64::BFMLS_VG2_M2Z2Z:
34627 case AArch64::FDOT_VG2_M2Z2Z_BtoH:
34628 case AArch64::FDOT_VG2_M2Z2Z_BtoS:
34629 case AArch64::FDOT_VG2_M2Z2Z_HtoS:
34630 case AArch64::FMLA_VG2_M2Z2Z_D:
34631 case AArch64::FMLA_VG2_M2Z2Z_H:
34632 case AArch64::FMLA_VG2_M2Z2Z_S:
34633 case AArch64::FMLS_VG2_M2Z2Z_D:
34634 case AArch64::FMLS_VG2_M2Z2Z_H:
34635 case AArch64::FMLS_VG2_M2Z2Z_S:
34636 case AArch64::SDOT_VG2_M2Z2Z_BtoS:
34637 case AArch64::SDOT_VG2_M2Z2Z_HtoD:
34638 case AArch64::SDOT_VG2_M2Z2Z_HtoS:
34639 case AArch64::SUB_VG2_M2Z2Z_D:
34640 case AArch64::SUB_VG2_M2Z2Z_S:
34641 case AArch64::UDOT_VG2_M2Z2Z_BtoS:
34642 case AArch64::UDOT_VG2_M2Z2Z_HtoD:
34643 case AArch64::UDOT_VG2_M2Z2Z_HtoS:
34644 case AArch64::USDOT_VG2_M2Z2Z_BToS: {
34645 switch (OpNum) {
34646 case 5:
34647 // op: Zm
34648 return 17;
34649 case 4:
34650 // op: Zn
34651 return 6;
34652 case 2:
34653 // op: Rv
34654 return 13;
34655 case 3:
34656 // op: imm3
34657 return 0;
34658 }
34659 break;
34660 }
34661 case AArch64::FMLALL_VG4_M4Z4Z_BtoS:
34662 case AArch64::SMLALL_VG4_M4Z4Z_BtoS:
34663 case AArch64::SMLALL_VG4_M4Z4Z_HtoD:
34664 case AArch64::SMLSLL_VG4_M4Z4Z_BtoS:
34665 case AArch64::SMLSLL_VG4_M4Z4Z_HtoD:
34666 case AArch64::UMLALL_VG4_M4Z4Z_BtoS:
34667 case AArch64::UMLALL_VG4_M4Z4Z_HtoD:
34668 case AArch64::UMLSLL_VG4_M4Z4Z_BtoS:
34669 case AArch64::UMLSLL_VG4_M4Z4Z_HtoD:
34670 case AArch64::USMLALL_VG4_M4Z4Z_BtoS: {
34671 switch (OpNum) {
34672 case 5:
34673 // op: Zm
34674 return 18;
34675 case 2:
34676 // op: Rv
34677 return 13;
34678 case 4:
34679 // op: Zn
34680 return 7;
34681 case 3:
34682 // op: imm
34683 return 0;
34684 }
34685 break;
34686 }
34687 case AArch64::ADD_VG4_M4Z4Z_D:
34688 case AArch64::ADD_VG4_M4Z4Z_S:
34689 case AArch64::BFDOT_VG4_M4Z4Z_HtoS:
34690 case AArch64::BFMLA_VG4_M4Z4Z:
34691 case AArch64::BFMLS_VG4_M4Z4Z:
34692 case AArch64::FDOT_VG4_M4Z4Z_BtoH:
34693 case AArch64::FDOT_VG4_M4Z4Z_BtoS:
34694 case AArch64::FDOT_VG4_M4Z4Z_HtoS:
34695 case AArch64::FMLA_VG4_M4Z4Z_D:
34696 case AArch64::FMLA_VG4_M4Z4Z_H:
34697 case AArch64::FMLA_VG4_M4Z4Z_S:
34698 case AArch64::FMLS_VG4_M4Z4Z_D:
34699 case AArch64::FMLS_VG4_M4Z4Z_H:
34700 case AArch64::FMLS_VG4_M4Z4Z_S:
34701 case AArch64::SDOT_VG4_M4Z4Z_BtoS:
34702 case AArch64::SDOT_VG4_M4Z4Z_HtoD:
34703 case AArch64::SDOT_VG4_M4Z4Z_HtoS:
34704 case AArch64::SUB_VG4_M4Z4Z_D:
34705 case AArch64::SUB_VG4_M4Z4Z_S:
34706 case AArch64::UDOT_VG4_M4Z4Z_BtoS:
34707 case AArch64::UDOT_VG4_M4Z4Z_HtoD:
34708 case AArch64::UDOT_VG4_M4Z4Z_HtoS:
34709 case AArch64::USDOT_VG4_M4Z4Z_BToS: {
34710 switch (OpNum) {
34711 case 5:
34712 // op: Zm
34713 return 18;
34714 case 4:
34715 // op: Zn
34716 return 7;
34717 case 2:
34718 // op: Rv
34719 return 13;
34720 case 3:
34721 // op: imm3
34722 return 0;
34723 }
34724 break;
34725 }
34726 default:
34727 reportUnsupportedInst(MI);
34728 }
34729 reportUnsupportedOperand(MI, OpNum);
34730}
34731
34732#endif // GET_OPERAND_BIT_OFFSET
34733
34734