1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Machine Code Emitter *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9uint64_t AArch64MCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
10 SmallVectorImpl<MCFixup> &Fixups,
11 const MCSubtargetInfo &STI) const {
12 static const uint64_t InstBits[] = {
13 UINT64_C(1522540544), // ABSWr
14 UINT64_C(3670024192), // ABSXr
15 UINT64_C(68591616), // ABS_ZPmZ_B
16 UINT64_C(81174528), // ABS_ZPmZ_D
17 UINT64_C(72785920), // ABS_ZPmZ_H
18 UINT64_C(76980224), // ABS_ZPmZ_S
19 UINT64_C(67543040), // ABS_ZPzZ_B
20 UINT64_C(80125952), // ABS_ZPzZ_D
21 UINT64_C(71737344), // ABS_ZPzZ_H
22 UINT64_C(75931648), // ABS_ZPzZ_S
23 UINT64_C(1310767104), // ABSv16i8
24 UINT64_C(1591785472), // ABSv1i64
25 UINT64_C(245413888), // ABSv2i32
26 UINT64_C(1323350016), // ABSv2i64
27 UINT64_C(241219584), // ABSv4i16
28 UINT64_C(1319155712), // ABSv4i32
29 UINT64_C(1314961408), // ABSv8i16
30 UINT64_C(237025280), // ABSv8i8
31 UINT64_C(1161875456), // ADCLB_ZZZ_D
32 UINT64_C(1157681152), // ADCLB_ZZZ_S
33 UINT64_C(1161876480), // ADCLT_ZZZ_D
34 UINT64_C(1157682176), // ADCLT_ZZZ_S
35 UINT64_C(973078528), // ADCSWr
36 UINT64_C(3120562176), // ADCSXr
37 UINT64_C(436207616), // ADCWr
38 UINT64_C(2583691264), // ADCXr
39 UINT64_C(2441084928), // ADDG
40 UINT64_C(3234856960), // ADDHA_MPPZ_D
41 UINT64_C(3230662656), // ADDHA_MPPZ_S
42 UINT64_C(1163943936), // ADDHNB_ZZZ_B
43 UINT64_C(1168138240), // ADDHNB_ZZZ_H
44 UINT64_C(1172332544), // ADDHNB_ZZZ_S
45 UINT64_C(1163944960), // ADDHNT_ZZZ_B
46 UINT64_C(1168139264), // ADDHNT_ZZZ_H
47 UINT64_C(1172333568), // ADDHNT_ZZZ_S
48 UINT64_C(245383168), // ADDHNv2i64_v2i32
49 UINT64_C(1319124992), // ADDHNv2i64_v4i32
50 UINT64_C(241188864), // ADDHNv4i32_v4i16
51 UINT64_C(1314930688), // ADDHNv4i32_v8i16
52 UINT64_C(1310736384), // ADDHNv8i16_v16i8
53 UINT64_C(236994560), // ADDHNv8i16_v8i8
54 UINT64_C(73420800), // ADDPL_XXI
55 UINT64_C(2583699456), // ADDPT_shift
56 UINT64_C(1142005760), // ADDP_ZPmZ_B
57 UINT64_C(1154588672), // ADDP_ZPmZ_D
58 UINT64_C(1146200064), // ADDP_ZPmZ_H
59 UINT64_C(1150394368), // ADDP_ZPmZ_S
60 UINT64_C(1310768128), // ADDPv16i8
61 UINT64_C(245414912), // ADDPv2i32
62 UINT64_C(1323351040), // ADDPv2i64
63 UINT64_C(1592899584), // ADDPv2i64p
64 UINT64_C(241220608), // ADDPv4i16
65 UINT64_C(1319156736), // ADDPv4i32
66 UINT64_C(1314962432), // ADDPv8i16
67 UINT64_C(237026304), // ADDPv8i8
68 UINT64_C(69236736), // ADDQP_ZZZ_B
69 UINT64_C(81819648), // ADDQP_ZZZ_D
70 UINT64_C(73431040), // ADDQP_ZZZ_H
71 UINT64_C(77625344), // ADDQP_ZZZ_S
72 UINT64_C(67444736), // ADDQV_VPZ_B
73 UINT64_C(80027648), // ADDQV_VPZ_D
74 UINT64_C(71639040), // ADDQV_VPZ_H
75 UINT64_C(75833344), // ADDQV_VPZ_S
76 UINT64_C(73422848), // ADDSPL_XXI
77 UINT64_C(69237760), // ADDSUBP_ZZZ_B
78 UINT64_C(81820672), // ADDSUBP_ZZZ_D
79 UINT64_C(73432064), // ADDSUBP_ZZZ_H
80 UINT64_C(77626368), // ADDSUBP_ZZZ_S
81 UINT64_C(69228544), // ADDSVL_XXI
82 UINT64_C(822083584), // ADDSWri
83 UINT64_C(721420288), // ADDSWrs
84 UINT64_C(723517440), // ADDSWrx
85 UINT64_C(2969567232), // ADDSXri
86 UINT64_C(2868903936), // ADDSXrs
87 UINT64_C(2871001088), // ADDSXrx
88 UINT64_C(2871025664), // ADDSXrx64
89 UINT64_C(3234922496), // ADDVA_MPPZ_D
90 UINT64_C(3230728192), // ADDVA_MPPZ_S
91 UINT64_C(69226496), // ADDVL_XXI
92 UINT64_C(1311881216), // ADDVv16i8v
93 UINT64_C(242333696), // ADDVv4i16v
94 UINT64_C(1320269824), // ADDVv4i32v
95 UINT64_C(1316075520), // ADDVv8i16v
96 UINT64_C(238139392), // ADDVv8i8v
97 UINT64_C(285212672), // ADDWri
98 UINT64_C(184549376), // ADDWrs
99 UINT64_C(186646528), // ADDWrx
100 UINT64_C(2432696320), // ADDXri
101 UINT64_C(2332033024), // ADDXrs
102 UINT64_C(2334130176), // ADDXrx
103 UINT64_C(2334154752), // ADDXrx64
104 UINT64_C(3240141568), // ADD_VG2_2ZZ_B
105 UINT64_C(3252724480), // ADD_VG2_2ZZ_D
106 UINT64_C(3244335872), // ADD_VG2_2ZZ_H
107 UINT64_C(3248530176), // ADD_VG2_2ZZ_S
108 UINT64_C(3252688912), // ADD_VG2_M2Z2Z_D
109 UINT64_C(3248494608), // ADD_VG2_M2Z2Z_S
110 UINT64_C(3244300304), // ADD_VG2_M2ZZ_D
111 UINT64_C(3240106000), // ADD_VG2_M2ZZ_S
112 UINT64_C(3252689936), // ADD_VG2_M2Z_D
113 UINT64_C(3248495632), // ADD_VG2_M2Z_S
114 UINT64_C(3240143616), // ADD_VG4_4ZZ_B
115 UINT64_C(3252726528), // ADD_VG4_4ZZ_D
116 UINT64_C(3244337920), // ADD_VG4_4ZZ_H
117 UINT64_C(3248532224), // ADD_VG4_4ZZ_S
118 UINT64_C(3252754448), // ADD_VG4_M4Z4Z_D
119 UINT64_C(3248560144), // ADD_VG4_M4Z4Z_S
120 UINT64_C(3245348880), // ADD_VG4_M4ZZ_D
121 UINT64_C(3241154576), // ADD_VG4_M4ZZ_S
122 UINT64_C(3252755472), // ADD_VG4_M4Z_D
123 UINT64_C(3248561168), // ADD_VG4_M4Z_S
124 UINT64_C(622903296), // ADD_ZI_B
125 UINT64_C(635486208), // ADD_ZI_D
126 UINT64_C(627097600), // ADD_ZI_H
127 UINT64_C(631291904), // ADD_ZI_S
128 UINT64_C(67108864), // ADD_ZPmZ_B
129 UINT64_C(79953920), // ADD_ZPmZ_CPA
130 UINT64_C(79691776), // ADD_ZPmZ_D
131 UINT64_C(71303168), // ADD_ZPmZ_H
132 UINT64_C(75497472), // ADD_ZPmZ_S
133 UINT64_C(69206016), // ADD_ZZZ_B
134 UINT64_C(81790976), // ADD_ZZZ_CPA
135 UINT64_C(81788928), // ADD_ZZZ_D
136 UINT64_C(73400320), // ADD_ZZZ_H
137 UINT64_C(77594624), // ADD_ZZZ_S
138 UINT64_C(1310753792), // ADDv16i8
139 UINT64_C(1591772160), // ADDv1i64
140 UINT64_C(245400576), // ADDv2i32
141 UINT64_C(1323336704), // ADDv2i64
142 UINT64_C(241206272), // ADDv4i16
143 UINT64_C(1319142400), // ADDv4i32
144 UINT64_C(1314948096), // ADDv8i16
145 UINT64_C(237011968), // ADDv8i8
146 UINT64_C(268435456), // ADR
147 UINT64_C(2415919104), // ADRP
148 UINT64_C(81829888), // ADR_LSL_ZZZ_D_0
149 UINT64_C(81830912), // ADR_LSL_ZZZ_D_1
150 UINT64_C(81831936), // ADR_LSL_ZZZ_D_2
151 UINT64_C(81832960), // ADR_LSL_ZZZ_D_3
152 UINT64_C(77635584), // ADR_LSL_ZZZ_S_0
153 UINT64_C(77636608), // ADR_LSL_ZZZ_S_1
154 UINT64_C(77637632), // ADR_LSL_ZZZ_S_2
155 UINT64_C(77638656), // ADR_LSL_ZZZ_S_3
156 UINT64_C(69246976), // ADR_SXTW_ZZZ_D_0
157 UINT64_C(69248000), // ADR_SXTW_ZZZ_D_1
158 UINT64_C(69249024), // ADR_SXTW_ZZZ_D_2
159 UINT64_C(69250048), // ADR_SXTW_ZZZ_D_3
160 UINT64_C(73441280), // ADR_UXTW_ZZZ_D_0
161 UINT64_C(73442304), // ADR_UXTW_ZZZ_D_1
162 UINT64_C(73443328), // ADR_UXTW_ZZZ_D_2
163 UINT64_C(73444352), // ADR_UXTW_ZZZ_D_3
164 UINT64_C(1159982080), // AESDIMC_2ZZI_B
165 UINT64_C(1160244224), // AESDIMC_4ZZI_B
166 UINT64_C(1159916544), // AESD_2ZZI_B
167 UINT64_C(1160178688), // AESD_4ZZI_B
168 UINT64_C(1159914496), // AESD_ZZZ_B
169 UINT64_C(1311266816), // AESDrr
170 UINT64_C(1159981056), // AESEMC_2ZZI_B
171 UINT64_C(1160243200), // AESEMC_4ZZI_B
172 UINT64_C(1159915520), // AESE_2ZZI_B
173 UINT64_C(1160177664), // AESE_4ZZI_B
174 UINT64_C(1159913472), // AESE_ZZZ_B
175 UINT64_C(1311262720), // AESErr
176 UINT64_C(1159783424), // AESIMC_ZZ_B
177 UINT64_C(1311275008), // AESIMCrr
178 UINT64_C(1159782400), // AESMC_ZZ_B
179 UINT64_C(1311270912), // AESMCrr
180 UINT64_C(69083136), // ANDQV_VPZ_B
181 UINT64_C(81666048), // ANDQV_VPZ_D
182 UINT64_C(73277440), // ANDQV_VPZ_H
183 UINT64_C(77471744), // ANDQV_VPZ_S
184 UINT64_C(1912602624), // ANDSWri
185 UINT64_C(1778384896), // ANDSWrs
186 UINT64_C(4060086272), // ANDSXri
187 UINT64_C(3925868544), // ANDSXrs
188 UINT64_C(624967680), // ANDS_PPzPP
189 UINT64_C(68820992), // ANDV_VPZ_B
190 UINT64_C(81403904), // ANDV_VPZ_D
191 UINT64_C(73015296), // ANDV_VPZ_H
192 UINT64_C(77209600), // ANDV_VPZ_S
193 UINT64_C(301989888), // ANDWri
194 UINT64_C(167772160), // ANDWrs
195 UINT64_C(2449473536), // ANDXri
196 UINT64_C(2315255808), // ANDXrs
197 UINT64_C(620773376), // AND_PPzPP
198 UINT64_C(92274688), // AND_ZI
199 UINT64_C(68812800), // AND_ZPmZ_B
200 UINT64_C(81395712), // AND_ZPmZ_D
201 UINT64_C(73007104), // AND_ZPmZ_H
202 UINT64_C(77201408), // AND_ZPmZ_S
203 UINT64_C(69218304), // AND_ZZZ
204 UINT64_C(1310727168), // ANDv16i8
205 UINT64_C(236985344), // ANDv8i8
206 UINT64_C(67404032), // ASRD_ZPmI_B
207 UINT64_C(75792384), // ASRD_ZPmI_D
208 UINT64_C(67404288), // ASRD_ZPmI_H
209 UINT64_C(71598080), // ASRD_ZPmI_S
210 UINT64_C(68452352), // ASRR_ZPmZ_B
211 UINT64_C(81035264), // ASRR_ZPmZ_D
212 UINT64_C(72646656), // ASRR_ZPmZ_H
213 UINT64_C(76840960), // ASRR_ZPmZ_S
214 UINT64_C(448800768), // ASRVWr
215 UINT64_C(2596284416), // ASRVXr
216 UINT64_C(68714496), // ASR_WIDE_ZPmZ_B
217 UINT64_C(72908800), // ASR_WIDE_ZPmZ_H
218 UINT64_C(77103104), // ASR_WIDE_ZPmZ_S
219 UINT64_C(69238784), // ASR_WIDE_ZZZ_B
220 UINT64_C(73433088), // ASR_WIDE_ZZZ_H
221 UINT64_C(77627392), // ASR_WIDE_ZZZ_S
222 UINT64_C(67141888), // ASR_ZPmI_B
223 UINT64_C(75530240), // ASR_ZPmI_D
224 UINT64_C(67142144), // ASR_ZPmI_H
225 UINT64_C(71335936), // ASR_ZPmI_S
226 UINT64_C(68190208), // ASR_ZPmZ_B
227 UINT64_C(80773120), // ASR_ZPmZ_D
228 UINT64_C(72384512), // ASR_ZPmZ_H
229 UINT64_C(76578816), // ASR_ZPmZ_S
230 UINT64_C(69767168), // ASR_ZZI_B
231 UINT64_C(77631488), // ASR_ZZI_D
232 UINT64_C(70291456), // ASR_ZZI_H
233 UINT64_C(73437184), // ASR_ZZI_S
234 UINT64_C(3670087680), // AUTDA
235 UINT64_C(3670088704), // AUTDB
236 UINT64_C(3670096864), // AUTDZA
237 UINT64_C(3670097888), // AUTDZB
238 UINT64_C(3670085632), // AUTIA
239 UINT64_C(3573752223), // AUTIA1716
240 UINT64_C(3670129662), // AUTIA171615
241 UINT64_C(3573752767), // AUTIASP
242 UINT64_C(4085252127), // AUTIASPPCi
243 UINT64_C(3670118430), // AUTIASPPCr
244 UINT64_C(3573752735), // AUTIAZ
245 UINT64_C(3670086656), // AUTIB
246 UINT64_C(3573752287), // AUTIB1716
247 UINT64_C(3670130686), // AUTIB171615
248 UINT64_C(3573752831), // AUTIBSP
249 UINT64_C(4087349279), // AUTIBSPPCi
250 UINT64_C(3670119454), // AUTIBSPPCr
251 UINT64_C(3573752799), // AUTIBZ
252 UINT64_C(3670094816), // AUTIZA
253 UINT64_C(3670095840), // AUTIZB
254 UINT64_C(3573563487), // AXFLAG
255 UINT64_C(335544320), // B
256 UINT64_C(3458203648), // BCAX
257 UINT64_C(73414656), // BCAX_ZZZZ
258 UINT64_C(1409286160), // BCcc
259 UINT64_C(1157673984), // BDEP_ZZZ_B
260 UINT64_C(1170256896), // BDEP_ZZZ_D
261 UINT64_C(1161868288), // BDEP_ZZZ_H
262 UINT64_C(1166062592), // BDEP_ZZZ_S
263 UINT64_C(1157672960), // BEXT_ZZZ_B
264 UINT64_C(1170255872), // BEXT_ZZZ_D
265 UINT64_C(1161867264), // BEXT_ZZZ_H
266 UINT64_C(1166061568), // BEXT_ZZZ_S
267 UINT64_C(255913984), // BF16DOTlanev4bf16
268 UINT64_C(1329655808), // BF16DOTlanev8bf16
269 UINT64_C(782333952), // BF1CVTL
270 UINT64_C(1856075776), // BF1CVTL2
271 UINT64_C(1695102976), // BF1CVTLT_ZZ_BtoH
272 UINT64_C(3244744705), // BF1CVTL_2ZZ_BtoH
273 UINT64_C(3244744704), // BF1CVT_2ZZ_BtoH
274 UINT64_C(1695037440), // BF1CVT_ZZ_BtoH
275 UINT64_C(786528256), // BF2CVTL
276 UINT64_C(1860270080), // BF2CVTL2
277 UINT64_C(1695104000), // BF2CVTLT_ZZ_BtoH
278 UINT64_C(3253133313), // BF2CVTL_2ZZ_BtoH
279 UINT64_C(3253133312), // BF2CVT_2ZZ_BtoH
280 UINT64_C(1695038464), // BF2CVT_ZZ_BtoH
281 UINT64_C(3252952064), // BFADD_VG2_M2Z_H
282 UINT64_C(3253017600), // BFADD_VG4_M4Z_H
283 UINT64_C(1694531584), // BFADD_ZPmZZ
284 UINT64_C(1694498816), // BFADD_ZZZ
285 UINT64_C(3240148992), // BFCLAMP_VG2_2ZZZ_H
286 UINT64_C(3240151040), // BFCLAMP_VG4_4ZZZ_H
287 UINT64_C(1679827968), // BFCLAMP_ZZZ
288 UINT64_C(509820928), // BFCVT
289 UINT64_C(245458944), // BFCVTN
290 UINT64_C(1319200768), // BFCVTN2
291 UINT64_C(1686806528), // BFCVTNT_ZPmZ
292 UINT64_C(1686282240), // BFCVTNT_ZPzZ_StoH
293 UINT64_C(1695168512), // BFCVTN_Z2Z_HtoB
294 UINT64_C(3244351520), // BFCVTN_Z2Z_StoH
295 UINT64_C(3244613632), // BFCVT_Z2Z_HtoB
296 UINT64_C(3244351488), // BFCVT_Z2Z_StoH
297 UINT64_C(1703583744), // BFCVT_ZPmZ
298 UINT64_C(1687863296), // BFCVT_ZPzZ_StoH
299 UINT64_C(3248492560), // BFDOT_VG2_M2Z2Z_HtoS
300 UINT64_C(3243249688), // BFDOT_VG2_M2ZZI_HtoS
301 UINT64_C(3240103952), // BFDOT_VG2_M2ZZ_HtoS
302 UINT64_C(3248558096), // BFDOT_VG4_M4Z4Z_HtoS
303 UINT64_C(3243282456), // BFDOT_VG4_M4ZZI_HtoS
304 UINT64_C(3241152528), // BFDOT_VG4_M4ZZ_HtoS
305 UINT64_C(1684029440), // BFDOT_ZZI
306 UINT64_C(1684045824), // BFDOT_ZZZ
307 UINT64_C(776010752), // BFDOTv4bf16
308 UINT64_C(1849752576), // BFDOTv8bf16
309 UINT64_C(3240145184), // BFMAXNM_VG2_2Z2Z_H
310 UINT64_C(3240141088), // BFMAXNM_VG2_2ZZ_H
311 UINT64_C(3240147232), // BFMAXNM_VG4_4Z2Z_H
312 UINT64_C(3240143136), // BFMAXNM_VG4_4ZZ_H
313 UINT64_C(1694793728), // BFMAXNM_ZPmZZ
314 UINT64_C(3240145152), // BFMAX_VG2_2Z2Z_H
315 UINT64_C(3240141056), // BFMAX_VG2_2ZZ_H
316 UINT64_C(3240147200), // BFMAX_VG4_4Z2Z_H
317 UINT64_C(3240143104), // BFMAX_VG4_4ZZ_H
318 UINT64_C(1694924800), // BFMAX_ZPmZZ
319 UINT64_C(3240145185), // BFMINNM_VG2_2Z2Z_H
320 UINT64_C(3240141089), // BFMINNM_VG2_2ZZ_H
321 UINT64_C(3240147233), // BFMINNM_VG4_4Z2Z_H
322 UINT64_C(3240143137), // BFMINNM_VG4_4ZZ_H
323 UINT64_C(1694859264), // BFMINNM_ZPmZZ
324 UINT64_C(3240145153), // BFMIN_VG2_2Z2Z_H
325 UINT64_C(3240141057), // BFMIN_VG2_2ZZ_H
326 UINT64_C(3240147201), // BFMIN_VG4_4Z2Z_H
327 UINT64_C(3240143105), // BFMIN_VG4_4ZZ_H
328 UINT64_C(1694990336), // BFMIN_ZPmZZ
329 UINT64_C(784399360), // BFMLALB
330 UINT64_C(264302592), // BFMLALBIdx
331 UINT64_C(1692434432), // BFMLALB_ZZZ
332 UINT64_C(1692418048), // BFMLALB_ZZZI
333 UINT64_C(1858141184), // BFMLALT
334 UINT64_C(1338044416), // BFMLALTIdx
335 UINT64_C(1692435456), // BFMLALT_ZZZ
336 UINT64_C(1692419072), // BFMLALT_ZZZI
337 UINT64_C(3246395408), // BFMLAL_MZZI_HtoS
338 UINT64_C(3240102928), // BFMLAL_MZZ_HtoS
339 UINT64_C(3248490512), // BFMLAL_VG2_M2Z2Z_HtoS
340 UINT64_C(3247443984), // BFMLAL_VG2_M2ZZI_HtoS
341 UINT64_C(3240101904), // BFMLAL_VG2_M2ZZ_HtoS
342 UINT64_C(3248556048), // BFMLAL_VG4_M4Z4Z_HtoS
343 UINT64_C(3247476752), // BFMLAL_VG4_M4ZZI_HtoS
344 UINT64_C(3241150480), // BFMLAL_VG4_M4ZZ_HtoS
345 UINT64_C(3252686856), // BFMLA_VG2_M2Z2Z
346 UINT64_C(3244301312), // BFMLA_VG2_M2ZZ
347 UINT64_C(3239055392), // BFMLA_VG2_M2ZZI
348 UINT64_C(3252752392), // BFMLA_VG4_M4Z4Z
349 UINT64_C(3245349888), // BFMLA_VG4_M4ZZ
350 UINT64_C(3239088160), // BFMLA_VG4_M4ZZI
351 UINT64_C(1696595968), // BFMLA_ZPmZZ
352 UINT64_C(1679820800), // BFMLA_ZZZI
353 UINT64_C(1692426240), // BFMLSLB_ZZZI_S
354 UINT64_C(1692442624), // BFMLSLB_ZZZ_S
355 UINT64_C(1692427264), // BFMLSLT_ZZZI_S
356 UINT64_C(1692443648), // BFMLSLT_ZZZ_S
357 UINT64_C(3246395416), // BFMLSL_MZZI_HtoS
358 UINT64_C(3240102936), // BFMLSL_MZZ_HtoS
359 UINT64_C(3248490520), // BFMLSL_VG2_M2Z2Z_HtoS
360 UINT64_C(3247443992), // BFMLSL_VG2_M2ZZI_HtoS
361 UINT64_C(3240101912), // BFMLSL_VG2_M2ZZ_HtoS
362 UINT64_C(3248556056), // BFMLSL_VG4_M4Z4Z_HtoS
363 UINT64_C(3247476760), // BFMLSL_VG4_M4ZZI_HtoS
364 UINT64_C(3241150488), // BFMLSL_VG4_M4ZZ_HtoS
365 UINT64_C(3252686872), // BFMLS_VG2_M2Z2Z
366 UINT64_C(3244301320), // BFMLS_VG2_M2ZZ
367 UINT64_C(3239055408), // BFMLS_VG2_M2ZZI
368 UINT64_C(3252752408), // BFMLS_VG4_M4Z4Z
369 UINT64_C(3245349896), // BFMLS_VG4_M4ZZ
370 UINT64_C(3239088176), // BFMLS_VG4_M4ZZI
371 UINT64_C(1696604160), // BFMLS_ZPmZZ
372 UINT64_C(1679821824), // BFMLS_ZZZI
373 UINT64_C(1849748480), // BFMMLA
374 UINT64_C(1692459008), // BFMMLA_ZZZ_H
375 UINT64_C(1684071424), // BFMMLA_ZZZ_HtoS
376 UINT64_C(2167407112), // BFMOP4A_M2Z2Z_H
377 UINT64_C(2165309952), // BFMOP4A_M2Z2Z_S
378 UINT64_C(2166358536), // BFMOP4A_M2ZZ_H
379 UINT64_C(2164261376), // BFMOP4A_M2ZZ_S
380 UINT64_C(2167406600), // BFMOP4A_MZ2Z_H
381 UINT64_C(2165309440), // BFMOP4A_MZ2Z_S
382 UINT64_C(2166358024), // BFMOP4A_MZZ_H
383 UINT64_C(2164260864), // BFMOP4A_MZZ_S
384 UINT64_C(2167407128), // BFMOP4S_M2Z2Z_H
385 UINT64_C(2165309968), // BFMOP4S_M2Z2Z_S
386 UINT64_C(2166358552), // BFMOP4S_M2ZZ_H
387 UINT64_C(2164261392), // BFMOP4S_M2ZZ_S
388 UINT64_C(2167406616), // BFMOP4S_MZ2Z_H
389 UINT64_C(2165309456), // BFMOP4S_MZ2Z_S
390 UINT64_C(2166358040), // BFMOP4S_MZZ_H
391 UINT64_C(2164260880), // BFMOP4S_MZZ_S
392 UINT64_C(2172649472), // BFMOPA_MPPZZ
393 UINT64_C(2174746632), // BFMOPA_MPPZZ_H
394 UINT64_C(2172649488), // BFMOPS_MPPZZ
395 UINT64_C(2174746648), // BFMOPS_MPPZZ_H
396 UINT64_C(3240158208), // BFMUL_2Z2Z
397 UINT64_C(3240159232), // BFMUL_2ZZ
398 UINT64_C(3240223744), // BFMUL_4Z4Z
399 UINT64_C(3240224768), // BFMUL_4ZZ
400 UINT64_C(1694662656), // BFMUL_ZPmZZ
401 UINT64_C(1694500864), // BFMUL_ZZZ
402 UINT64_C(1679828992), // BFMUL_ZZZI
403 UINT64_C(855638016), // BFMWri
404 UINT64_C(3007315968), // BFMXri
405 UINT64_C(3240145280), // BFSCALE_2Z2Z
406 UINT64_C(3240141184), // BFSCALE_2ZZ
407 UINT64_C(3240147328), // BFSCALE_4Z4Z
408 UINT64_C(3240143232), // BFSCALE_4ZZ
409 UINT64_C(1695121408), // BFSCALE_ZPZZ_H
410 UINT64_C(3252952072), // BFSUB_VG2_M2Z_H
411 UINT64_C(3253017608), // BFSUB_VG4_M4Z_H
412 UINT64_C(1694597120), // BFSUB_ZPmZZ
413 UINT64_C(1694499840), // BFSUB_ZZZ
414 UINT64_C(2170552328), // BFTMOPA_M2ZZZI_HtoH
415 UINT64_C(2168455168), // BFTMOPA_M2ZZZI_HtoS
416 UINT64_C(3243245592), // BFVDOT_VG2_M2ZZI_HtoS
417 UINT64_C(1157675008), // BGRP_ZZZ_B
418 UINT64_C(1170257920), // BGRP_ZZZ_D
419 UINT64_C(1161869312), // BGRP_ZZZ_H
420 UINT64_C(1166063616), // BGRP_ZZZ_S
421 UINT64_C(1780482048), // BICSWrs
422 UINT64_C(3927965696), // BICSXrs
423 UINT64_C(624967696), // BICS_PPzPP
424 UINT64_C(169869312), // BICWrs
425 UINT64_C(2317352960), // BICXrs
426 UINT64_C(620773392), // BIC_PPzPP
427 UINT64_C(68878336), // BIC_ZPmZ_B
428 UINT64_C(81461248), // BIC_ZPmZ_D
429 UINT64_C(73072640), // BIC_ZPmZ_H
430 UINT64_C(77266944), // BIC_ZPmZ_S
431 UINT64_C(81801216), // BIC_ZZZ
432 UINT64_C(1314921472), // BICv16i8
433 UINT64_C(788534272), // BICv2i32
434 UINT64_C(788567040), // BICv4i16
435 UINT64_C(1862276096), // BICv4i32
436 UINT64_C(1862308864), // BICv8i16
437 UINT64_C(241179648), // BICv8i8
438 UINT64_C(1860180992), // BIFv16i8
439 UINT64_C(786439168), // BIFv8i8
440 UINT64_C(1855986688), // BITv16i8
441 UINT64_C(782244864), // BITv8i8
442 UINT64_C(2483027968), // BL
443 UINT64_C(3594452992), // BLR
444 UINT64_C(3611232256), // BLRAA
445 UINT64_C(3594455071), // BLRAAZ
446 UINT64_C(3611233280), // BLRAB
447 UINT64_C(3594456095), // BLRABZ
448 UINT64_C(2155872264), // BMOPA_MPPZZ_S
449 UINT64_C(2155872280), // BMOPS_MPPZZ_S
450 UINT64_C(3592355840), // BR
451 UINT64_C(3609135104), // BRAA
452 UINT64_C(3592357919), // BRAAZ
453 UINT64_C(3609136128), // BRAB
454 UINT64_C(3592358943), // BRABZ
455 UINT64_C(3558866944), // BRK
456 UINT64_C(626016256), // BRKAS_PPzP
457 UINT64_C(621821968), // BRKA_PPmP
458 UINT64_C(621821952), // BRKA_PPzP
459 UINT64_C(634404864), // BRKBS_PPzP
460 UINT64_C(630210576), // BRKB_PPmP
461 UINT64_C(630210560), // BRKB_PPzP
462 UINT64_C(626540544), // BRKNS_PPzP
463 UINT64_C(622346240), // BRKN_PPzP
464 UINT64_C(625000448), // BRKPAS_PPzPP
465 UINT64_C(620806144), // BRKPA_PPzPP
466 UINT64_C(625000464), // BRKPBS_PPzPP
467 UINT64_C(620806160), // BRKPB_PPzPP
468 UINT64_C(73415680), // BSL1N_ZZZZ
469 UINT64_C(77609984), // BSL2N_ZZZZ
470 UINT64_C(69221376), // BSL_ZZZZ
471 UINT64_C(1851792384), // BSLv16i8
472 UINT64_C(778050560), // BSLv8i8
473 UINT64_C(1409286144), // Bcc
474 UINT64_C(1157683200), // CADD_ZZI_B
475 UINT64_C(1170266112), // CADD_ZZI_D
476 UINT64_C(1161877504), // CADD_ZZI_H
477 UINT64_C(1166071808), // CADD_ZZI_S
478 UINT64_C(148929536), // CASAB
479 UINT64_C(1222671360), // CASAH
480 UINT64_C(148962304), // CASALB
481 UINT64_C(1222704128), // CASALH
482 UINT64_C(3384867840), // CASALTX
483 UINT64_C(2296445952), // CASALW
484 UINT64_C(3370187776), // CASALX
485 UINT64_C(3384835072), // CASATX
486 UINT64_C(2296413184), // CASAW
487 UINT64_C(3370155008), // CASAX
488 UINT64_C(144735232), // CASB
489 UINT64_C(1218477056), // CASH
490 UINT64_C(144768000), // CASLB
491 UINT64_C(1218509824), // CASLH
492 UINT64_C(3380673536), // CASLTX
493 UINT64_C(2292251648), // CASLW
494 UINT64_C(3365993472), // CASLX
495 UINT64_C(1237384192), // CASPALTX
496 UINT64_C(140573696), // CASPALW
497 UINT64_C(1214315520), // CASPALX
498 UINT64_C(1237351424), // CASPATX
499 UINT64_C(140540928), // CASPAW
500 UINT64_C(1214282752), // CASPAX
501 UINT64_C(1233189888), // CASPLTX
502 UINT64_C(136379392), // CASPLW
503 UINT64_C(1210121216), // CASPLX
504 UINT64_C(1233157120), // CASPTX
505 UINT64_C(136346624), // CASPW
506 UINT64_C(1210088448), // CASPX
507 UINT64_C(3380640768), // CASTX
508 UINT64_C(2292218880), // CASW
509 UINT64_C(3365960704), // CASX
510 UINT64_C(1958772736), // CBBEQWrr
511 UINT64_C(1948286976), // CBBGEWrr
512 UINT64_C(1946189824), // CBBGTWrr
513 UINT64_C(1950384128), // CBBHIWrr
514 UINT64_C(1952481280), // CBBHSWrr
515 UINT64_C(1960869888), // CBBNEWrr
516 UINT64_C(1975517184), // CBEQWri
517 UINT64_C(1958739968), // CBEQWrr
518 UINT64_C(4123000832), // CBEQXri
519 UINT64_C(4106223616), // CBEQXrr
520 UINT64_C(1948254208), // CBGEWrr
521 UINT64_C(4095737856), // CBGEXrr
522 UINT64_C(1962934272), // CBGTWri
523 UINT64_C(1946157056), // CBGTWrr
524 UINT64_C(4110417920), // CBGTXri
525 UINT64_C(4093640704), // CBGTXrr
526 UINT64_C(1958789120), // CBHEQWrr
527 UINT64_C(1948303360), // CBHGEWrr
528 UINT64_C(1946206208), // CBHGTWrr
529 UINT64_C(1950400512), // CBHHIWrr
530 UINT64_C(1952497664), // CBHHSWrr
531 UINT64_C(1967128576), // CBHIWri
532 UINT64_C(1950351360), // CBHIWrr
533 UINT64_C(4114612224), // CBHIXri
534 UINT64_C(4097835008), // CBHIXrr
535 UINT64_C(1960886272), // CBHNEWrr
536 UINT64_C(1952448512), // CBHSWrr
537 UINT64_C(4099932160), // CBHSXrr
538 UINT64_C(1969225728), // CBLOWri
539 UINT64_C(4116709376), // CBLOXri
540 UINT64_C(1965031424), // CBLTWri
541 UINT64_C(4112515072), // CBLTXri
542 UINT64_C(1977614336), // CBNEWri
543 UINT64_C(1960837120), // CBNEWrr
544 UINT64_C(4125097984), // CBNEXri
545 UINT64_C(4108320768), // CBNEXrr
546 UINT64_C(889192448), // CBNZW
547 UINT64_C(3036676096), // CBNZX
548 UINT64_C(872415232), // CBZW
549 UINT64_C(3019898880), // CBZX
550 UINT64_C(977274880), // CCMNWi
551 UINT64_C(977272832), // CCMNWr
552 UINT64_C(3124758528), // CCMNXi
553 UINT64_C(3124756480), // CCMNXr
554 UINT64_C(2051016704), // CCMPWi
555 UINT64_C(2051014656), // CCMPWr
556 UINT64_C(4198500352), // CCMPXi
557 UINT64_C(4198498304), // CCMPXr
558 UINT64_C(1155547136), // CDOT_ZZZI_D
559 UINT64_C(1151352832), // CDOT_ZZZI_S
560 UINT64_C(1153437696), // CDOT_ZZZ_D
561 UINT64_C(1149243392), // CDOT_ZZZ_S
562 UINT64_C(3573563423), // CFINV
563 UINT64_C(3573753119), // CHKFEAT
564 UINT64_C(87072768), // CLASTA_RPZ_B
565 UINT64_C(99655680), // CLASTA_RPZ_D
566 UINT64_C(91267072), // CLASTA_RPZ_H
567 UINT64_C(95461376), // CLASTA_RPZ_S
568 UINT64_C(86671360), // CLASTA_VPZ_B
569 UINT64_C(99254272), // CLASTA_VPZ_D
570 UINT64_C(90865664), // CLASTA_VPZ_H
571 UINT64_C(95059968), // CLASTA_VPZ_S
572 UINT64_C(86540288), // CLASTA_ZPZ_B
573 UINT64_C(99123200), // CLASTA_ZPZ_D
574 UINT64_C(90734592), // CLASTA_ZPZ_H
575 UINT64_C(94928896), // CLASTA_ZPZ_S
576 UINT64_C(87138304), // CLASTB_RPZ_B
577 UINT64_C(99721216), // CLASTB_RPZ_D
578 UINT64_C(91332608), // CLASTB_RPZ_H
579 UINT64_C(95526912), // CLASTB_RPZ_S
580 UINT64_C(86736896), // CLASTB_VPZ_B
581 UINT64_C(99319808), // CLASTB_VPZ_D
582 UINT64_C(90931200), // CLASTB_VPZ_H
583 UINT64_C(95125504), // CLASTB_VPZ_S
584 UINT64_C(86605824), // CLASTB_ZPZ_B
585 UINT64_C(99188736), // CLASTB_ZPZ_D
586 UINT64_C(90800128), // CLASTB_ZPZ_H
587 UINT64_C(94994432), // CLASTB_ZPZ_S
588 UINT64_C(3573755999), // CLREX
589 UINT64_C(1522537472), // CLSWr
590 UINT64_C(3670021120), // CLSXr
591 UINT64_C(68722688), // CLS_ZPmZ_B
592 UINT64_C(81305600), // CLS_ZPmZ_D
593 UINT64_C(72916992), // CLS_ZPmZ_H
594 UINT64_C(77111296), // CLS_ZPmZ_S
595 UINT64_C(67674112), // CLS_ZPzZ_B
596 UINT64_C(80257024), // CLS_ZPzZ_D
597 UINT64_C(71868416), // CLS_ZPzZ_H
598 UINT64_C(76062720), // CLS_ZPzZ_S
599 UINT64_C(1310738432), // CLSv16i8
600 UINT64_C(245385216), // CLSv2i32
601 UINT64_C(241190912), // CLSv4i16
602 UINT64_C(1319127040), // CLSv4i32
603 UINT64_C(1314932736), // CLSv8i16
604 UINT64_C(236996608), // CLSv8i8
605 UINT64_C(1522536448), // CLZWr
606 UINT64_C(3670020096), // CLZXr
607 UINT64_C(68788224), // CLZ_ZPmZ_B
608 UINT64_C(81371136), // CLZ_ZPmZ_D
609 UINT64_C(72982528), // CLZ_ZPmZ_H
610 UINT64_C(77176832), // CLZ_ZPmZ_S
611 UINT64_C(67739648), // CLZ_ZPzZ_B
612 UINT64_C(80322560), // CLZ_ZPzZ_D
613 UINT64_C(71933952), // CLZ_ZPzZ_H
614 UINT64_C(76128256), // CLZ_ZPzZ_S
615 UINT64_C(1847609344), // CLZv16i8
616 UINT64_C(782256128), // CLZv2i32
617 UINT64_C(778061824), // CLZv4i16
618 UINT64_C(1855997952), // CLZv4i32
619 UINT64_C(1851803648), // CLZv8i16
620 UINT64_C(773867520), // CLZv8i8
621 UINT64_C(1847626752), // CMEQv16i8
622 UINT64_C(1310758912), // CMEQv16i8rz
623 UINT64_C(2128645120), // CMEQv1i64
624 UINT64_C(1591777280), // CMEQv1i64rz
625 UINT64_C(782273536), // CMEQv2i32
626 UINT64_C(245405696), // CMEQv2i32rz
627 UINT64_C(1860209664), // CMEQv2i64
628 UINT64_C(1323341824), // CMEQv2i64rz
629 UINT64_C(778079232), // CMEQv4i16
630 UINT64_C(241211392), // CMEQv4i16rz
631 UINT64_C(1856015360), // CMEQv4i32
632 UINT64_C(1319147520), // CMEQv4i32rz
633 UINT64_C(1851821056), // CMEQv8i16
634 UINT64_C(1314953216), // CMEQv8i16rz
635 UINT64_C(773884928), // CMEQv8i8
636 UINT64_C(237017088), // CMEQv8i8rz
637 UINT64_C(1310735360), // CMGEv16i8
638 UINT64_C(1847625728), // CMGEv16i8rz
639 UINT64_C(1591753728), // CMGEv1i64
640 UINT64_C(2128644096), // CMGEv1i64rz
641 UINT64_C(245382144), // CMGEv2i32
642 UINT64_C(782272512), // CMGEv2i32rz
643 UINT64_C(1323318272), // CMGEv2i64
644 UINT64_C(1860208640), // CMGEv2i64rz
645 UINT64_C(241187840), // CMGEv4i16
646 UINT64_C(778078208), // CMGEv4i16rz
647 UINT64_C(1319123968), // CMGEv4i32
648 UINT64_C(1856014336), // CMGEv4i32rz
649 UINT64_C(1314929664), // CMGEv8i16
650 UINT64_C(1851820032), // CMGEv8i16rz
651 UINT64_C(236993536), // CMGEv8i8
652 UINT64_C(773883904), // CMGEv8i8rz
653 UINT64_C(1310733312), // CMGTv16i8
654 UINT64_C(1310754816), // CMGTv16i8rz
655 UINT64_C(1591751680), // CMGTv1i64
656 UINT64_C(1591773184), // CMGTv1i64rz
657 UINT64_C(245380096), // CMGTv2i32
658 UINT64_C(245401600), // CMGTv2i32rz
659 UINT64_C(1323316224), // CMGTv2i64
660 UINT64_C(1323337728), // CMGTv2i64rz
661 UINT64_C(241185792), // CMGTv4i16
662 UINT64_C(241207296), // CMGTv4i16rz
663 UINT64_C(1319121920), // CMGTv4i32
664 UINT64_C(1319143424), // CMGTv4i32rz
665 UINT64_C(1314927616), // CMGTv8i16
666 UINT64_C(1314949120), // CMGTv8i16rz
667 UINT64_C(236991488), // CMGTv8i8
668 UINT64_C(237012992), // CMGTv8i8rz
669 UINT64_C(1847604224), // CMHIv16i8
670 UINT64_C(2128622592), // CMHIv1i64
671 UINT64_C(782251008), // CMHIv2i32
672 UINT64_C(1860187136), // CMHIv2i64
673 UINT64_C(778056704), // CMHIv4i16
674 UINT64_C(1855992832), // CMHIv4i32
675 UINT64_C(1851798528), // CMHIv8i16
676 UINT64_C(773862400), // CMHIv8i8
677 UINT64_C(1847606272), // CMHSv16i8
678 UINT64_C(2128624640), // CMHSv1i64
679 UINT64_C(782253056), // CMHSv2i32
680 UINT64_C(1860189184), // CMHSv2i64
681 UINT64_C(778058752), // CMHSv4i16
682 UINT64_C(1855994880), // CMHSv4i32
683 UINT64_C(1851800576), // CMHSv8i16
684 UINT64_C(773864448), // CMHSv8i8
685 UINT64_C(1151361024), // CMLA_ZZZI_H
686 UINT64_C(1155555328), // CMLA_ZZZI_S
687 UINT64_C(1140858880), // CMLA_ZZZ_B
688 UINT64_C(1153441792), // CMLA_ZZZ_D
689 UINT64_C(1145053184), // CMLA_ZZZ_H
690 UINT64_C(1149247488), // CMLA_ZZZ_S
691 UINT64_C(1847629824), // CMLEv16i8rz
692 UINT64_C(2128648192), // CMLEv1i64rz
693 UINT64_C(782276608), // CMLEv2i32rz
694 UINT64_C(1860212736), // CMLEv2i64rz
695 UINT64_C(778082304), // CMLEv4i16rz
696 UINT64_C(1856018432), // CMLEv4i32rz
697 UINT64_C(1851824128), // CMLEv8i16rz
698 UINT64_C(773888000), // CMLEv8i8rz
699 UINT64_C(1310763008), // CMLTv16i8rz
700 UINT64_C(1591781376), // CMLTv1i64rz
701 UINT64_C(245409792), // CMLTv2i32rz
702 UINT64_C(1323345920), // CMLTv2i64rz
703 UINT64_C(241215488), // CMLTv4i16rz
704 UINT64_C(1319151616), // CMLTv4i32rz
705 UINT64_C(1314957312), // CMLTv8i16rz
706 UINT64_C(237021184), // CMLTv8i8rz
707 UINT64_C(620789760), // CMPEQ_PPzZI_B
708 UINT64_C(633372672), // CMPEQ_PPzZI_D
709 UINT64_C(624984064), // CMPEQ_PPzZI_H
710 UINT64_C(629178368), // CMPEQ_PPzZI_S
711 UINT64_C(604020736), // CMPEQ_PPzZZ_B
712 UINT64_C(616603648), // CMPEQ_PPzZZ_D
713 UINT64_C(608215040), // CMPEQ_PPzZZ_H
714 UINT64_C(612409344), // CMPEQ_PPzZZ_S
715 UINT64_C(603987968), // CMPEQ_WIDE_PPzZZ_B
716 UINT64_C(608182272), // CMPEQ_WIDE_PPzZZ_H
717 UINT64_C(612376576), // CMPEQ_WIDE_PPzZZ_S
718 UINT64_C(620756992), // CMPGE_PPzZI_B
719 UINT64_C(633339904), // CMPGE_PPzZI_D
720 UINT64_C(624951296), // CMPGE_PPzZI_H
721 UINT64_C(629145600), // CMPGE_PPzZI_S
722 UINT64_C(604012544), // CMPGE_PPzZZ_B
723 UINT64_C(616595456), // CMPGE_PPzZZ_D
724 UINT64_C(608206848), // CMPGE_PPzZZ_H
725 UINT64_C(612401152), // CMPGE_PPzZZ_S
726 UINT64_C(603996160), // CMPGE_WIDE_PPzZZ_B
727 UINT64_C(608190464), // CMPGE_WIDE_PPzZZ_H
728 UINT64_C(612384768), // CMPGE_WIDE_PPzZZ_S
729 UINT64_C(620757008), // CMPGT_PPzZI_B
730 UINT64_C(633339920), // CMPGT_PPzZI_D
731 UINT64_C(624951312), // CMPGT_PPzZI_H
732 UINT64_C(629145616), // CMPGT_PPzZI_S
733 UINT64_C(604012560), // CMPGT_PPzZZ_B
734 UINT64_C(616595472), // CMPGT_PPzZZ_D
735 UINT64_C(608206864), // CMPGT_PPzZZ_H
736 UINT64_C(612401168), // CMPGT_PPzZZ_S
737 UINT64_C(603996176), // CMPGT_WIDE_PPzZZ_B
738 UINT64_C(608190480), // CMPGT_WIDE_PPzZZ_H
739 UINT64_C(612384784), // CMPGT_WIDE_PPzZZ_S
740 UINT64_C(606076944), // CMPHI_PPzZI_B
741 UINT64_C(618659856), // CMPHI_PPzZI_D
742 UINT64_C(610271248), // CMPHI_PPzZI_H
743 UINT64_C(614465552), // CMPHI_PPzZI_S
744 UINT64_C(603979792), // CMPHI_PPzZZ_B
745 UINT64_C(616562704), // CMPHI_PPzZZ_D
746 UINT64_C(608174096), // CMPHI_PPzZZ_H
747 UINT64_C(612368400), // CMPHI_PPzZZ_S
748 UINT64_C(604028944), // CMPHI_WIDE_PPzZZ_B
749 UINT64_C(608223248), // CMPHI_WIDE_PPzZZ_H
750 UINT64_C(612417552), // CMPHI_WIDE_PPzZZ_S
751 UINT64_C(606076928), // CMPHS_PPzZI_B
752 UINT64_C(618659840), // CMPHS_PPzZI_D
753 UINT64_C(610271232), // CMPHS_PPzZI_H
754 UINT64_C(614465536), // CMPHS_PPzZI_S
755 UINT64_C(603979776), // CMPHS_PPzZZ_B
756 UINT64_C(616562688), // CMPHS_PPzZZ_D
757 UINT64_C(608174080), // CMPHS_PPzZZ_H
758 UINT64_C(612368384), // CMPHS_PPzZZ_S
759 UINT64_C(604028928), // CMPHS_WIDE_PPzZZ_B
760 UINT64_C(608223232), // CMPHS_WIDE_PPzZZ_H
761 UINT64_C(612417536), // CMPHS_WIDE_PPzZZ_S
762 UINT64_C(620765200), // CMPLE_PPzZI_B
763 UINT64_C(633348112), // CMPLE_PPzZI_D
764 UINT64_C(624959504), // CMPLE_PPzZI_H
765 UINT64_C(629153808), // CMPLE_PPzZI_S
766 UINT64_C(604004368), // CMPLE_WIDE_PPzZZ_B
767 UINT64_C(608198672), // CMPLE_WIDE_PPzZZ_H
768 UINT64_C(612392976), // CMPLE_WIDE_PPzZZ_S
769 UINT64_C(606085120), // CMPLO_PPzZI_B
770 UINT64_C(618668032), // CMPLO_PPzZI_D
771 UINT64_C(610279424), // CMPLO_PPzZI_H
772 UINT64_C(614473728), // CMPLO_PPzZI_S
773 UINT64_C(604037120), // CMPLO_WIDE_PPzZZ_B
774 UINT64_C(608231424), // CMPLO_WIDE_PPzZZ_H
775 UINT64_C(612425728), // CMPLO_WIDE_PPzZZ_S
776 UINT64_C(606085136), // CMPLS_PPzZI_B
777 UINT64_C(618668048), // CMPLS_PPzZI_D
778 UINT64_C(610279440), // CMPLS_PPzZI_H
779 UINT64_C(614473744), // CMPLS_PPzZI_S
780 UINT64_C(604037136), // CMPLS_WIDE_PPzZZ_B
781 UINT64_C(608231440), // CMPLS_WIDE_PPzZZ_H
782 UINT64_C(612425744), // CMPLS_WIDE_PPzZZ_S
783 UINT64_C(620765184), // CMPLT_PPzZI_B
784 UINT64_C(633348096), // CMPLT_PPzZI_D
785 UINT64_C(624959488), // CMPLT_PPzZI_H
786 UINT64_C(629153792), // CMPLT_PPzZI_S
787 UINT64_C(604004352), // CMPLT_WIDE_PPzZZ_B
788 UINT64_C(608198656), // CMPLT_WIDE_PPzZZ_H
789 UINT64_C(612392960), // CMPLT_WIDE_PPzZZ_S
790 UINT64_C(620789776), // CMPNE_PPzZI_B
791 UINT64_C(633372688), // CMPNE_PPzZI_D
792 UINT64_C(624984080), // CMPNE_PPzZI_H
793 UINT64_C(629178384), // CMPNE_PPzZI_S
794 UINT64_C(604020752), // CMPNE_PPzZZ_B
795 UINT64_C(616603664), // CMPNE_PPzZZ_D
796 UINT64_C(608215056), // CMPNE_PPzZZ_H
797 UINT64_C(612409360), // CMPNE_PPzZZ_S
798 UINT64_C(603987984), // CMPNE_WIDE_PPzZZ_B
799 UINT64_C(608182288), // CMPNE_WIDE_PPzZZ_H
800 UINT64_C(612376592), // CMPNE_WIDE_PPzZZ_S
801 UINT64_C(1310755840), // CMTSTv16i8
802 UINT64_C(1591774208), // CMTSTv1i64
803 UINT64_C(245402624), // CMTSTv2i32
804 UINT64_C(1323338752), // CMTSTv2i64
805 UINT64_C(241208320), // CMTSTv4i16
806 UINT64_C(1319144448), // CMTSTv4i32
807 UINT64_C(1314950144), // CMTSTv8i16
808 UINT64_C(237014016), // CMTSTv8i8
809 UINT64_C(68919296), // CNOT_ZPmZ_B
810 UINT64_C(81502208), // CNOT_ZPmZ_D
811 UINT64_C(73113600), // CNOT_ZPmZ_H
812 UINT64_C(77307904), // CNOT_ZPmZ_S
813 UINT64_C(67870720), // CNOT_ZPzZ_B
814 UINT64_C(80453632), // CNOT_ZPzZ_D
815 UINT64_C(72065024), // CNOT_ZPzZ_H
816 UINT64_C(76259328), // CNOT_ZPzZ_S
817 UINT64_C(69263360), // CNTB_XPiI
818 UINT64_C(81846272), // CNTD_XPiI
819 UINT64_C(73457664), // CNTH_XPiI
820 UINT64_C(622887424), // CNTP_XCI_B
821 UINT64_C(635470336), // CNTP_XCI_D
822 UINT64_C(627081728), // CNTP_XCI_H
823 UINT64_C(631276032), // CNTP_XCI_S
824 UINT64_C(622886912), // CNTP_XPP_B
825 UINT64_C(635469824), // CNTP_XPP_D
826 UINT64_C(627081216), // CNTP_XPP_H
827 UINT64_C(631275520), // CNTP_XPP_S
828 UINT64_C(77651968), // CNTW_XPiI
829 UINT64_C(1522539520), // CNTWr
830 UINT64_C(3670023168), // CNTXr
831 UINT64_C(68853760), // CNT_ZPmZ_B
832 UINT64_C(81436672), // CNT_ZPmZ_D
833 UINT64_C(73048064), // CNT_ZPmZ_H
834 UINT64_C(77242368), // CNT_ZPmZ_S
835 UINT64_C(67805184), // CNT_ZPzZ_B
836 UINT64_C(80388096), // CNT_ZPzZ_D
837 UINT64_C(71999488), // CNT_ZPzZ_H
838 UINT64_C(76193792), // CNT_ZPzZ_S
839 UINT64_C(1310742528), // CNTv16i8
840 UINT64_C(237000704), // CNTv8i8
841 UINT64_C(86081536), // COMPACT_ZPZ_B
842 UINT64_C(98664448), // COMPACT_ZPZ_D
843 UINT64_C(90275840), // COMPACT_ZPZ_H
844 UINT64_C(94470144), // COMPACT_ZPZ_S
845 UINT64_C(494928896), // CPYE
846 UINT64_C(494978048), // CPYEN
847 UINT64_C(494961664), // CPYERN
848 UINT64_C(494937088), // CPYERT
849 UINT64_C(494986240), // CPYERTN
850 UINT64_C(494969856), // CPYERTRN
851 UINT64_C(494953472), // CPYERTWN
852 UINT64_C(494941184), // CPYET
853 UINT64_C(494990336), // CPYETN
854 UINT64_C(494973952), // CPYETRN
855 UINT64_C(494957568), // CPYETWN
856 UINT64_C(494945280), // CPYEWN
857 UINT64_C(494932992), // CPYEWT
858 UINT64_C(494982144), // CPYEWTN
859 UINT64_C(494965760), // CPYEWTRN
860 UINT64_C(494949376), // CPYEWTWN
861 UINT64_C(427820032), // CPYFE
862 UINT64_C(427869184), // CPYFEN
863 UINT64_C(427852800), // CPYFERN
864 UINT64_C(427828224), // CPYFERT
865 UINT64_C(427877376), // CPYFERTN
866 UINT64_C(427860992), // CPYFERTRN
867 UINT64_C(427844608), // CPYFERTWN
868 UINT64_C(427832320), // CPYFET
869 UINT64_C(427881472), // CPYFETN
870 UINT64_C(427865088), // CPYFETRN
871 UINT64_C(427848704), // CPYFETWN
872 UINT64_C(427836416), // CPYFEWN
873 UINT64_C(427824128), // CPYFEWT
874 UINT64_C(427873280), // CPYFEWTN
875 UINT64_C(427856896), // CPYFEWTRN
876 UINT64_C(427840512), // CPYFEWTWN
877 UINT64_C(423625728), // CPYFM
878 UINT64_C(423674880), // CPYFMN
879 UINT64_C(423658496), // CPYFMRN
880 UINT64_C(423633920), // CPYFMRT
881 UINT64_C(423683072), // CPYFMRTN
882 UINT64_C(423666688), // CPYFMRTRN
883 UINT64_C(423650304), // CPYFMRTWN
884 UINT64_C(423638016), // CPYFMT
885 UINT64_C(423687168), // CPYFMTN
886 UINT64_C(423670784), // CPYFMTRN
887 UINT64_C(423654400), // CPYFMTWN
888 UINT64_C(423642112), // CPYFMWN
889 UINT64_C(423629824), // CPYFMWT
890 UINT64_C(423678976), // CPYFMWTN
891 UINT64_C(423662592), // CPYFMWTRN
892 UINT64_C(423646208), // CPYFMWTWN
893 UINT64_C(419431424), // CPYFP
894 UINT64_C(419480576), // CPYFPN
895 UINT64_C(419464192), // CPYFPRN
896 UINT64_C(419439616), // CPYFPRT
897 UINT64_C(419488768), // CPYFPRTN
898 UINT64_C(419472384), // CPYFPRTRN
899 UINT64_C(419456000), // CPYFPRTWN
900 UINT64_C(419443712), // CPYFPT
901 UINT64_C(419492864), // CPYFPTN
902 UINT64_C(419476480), // CPYFPTRN
903 UINT64_C(419460096), // CPYFPTWN
904 UINT64_C(419447808), // CPYFPWN
905 UINT64_C(419435520), // CPYFPWT
906 UINT64_C(419484672), // CPYFPWTN
907 UINT64_C(419468288), // CPYFPWTRN
908 UINT64_C(419451904), // CPYFPWTWN
909 UINT64_C(490734592), // CPYM
910 UINT64_C(490783744), // CPYMN
911 UINT64_C(490767360), // CPYMRN
912 UINT64_C(490742784), // CPYMRT
913 UINT64_C(490791936), // CPYMRTN
914 UINT64_C(490775552), // CPYMRTRN
915 UINT64_C(490759168), // CPYMRTWN
916 UINT64_C(490746880), // CPYMT
917 UINT64_C(490796032), // CPYMTN
918 UINT64_C(490779648), // CPYMTRN
919 UINT64_C(490763264), // CPYMTWN
920 UINT64_C(490750976), // CPYMWN
921 UINT64_C(490738688), // CPYMWT
922 UINT64_C(490787840), // CPYMWTN
923 UINT64_C(490771456), // CPYMWTRN
924 UINT64_C(490755072), // CPYMWTWN
925 UINT64_C(486540288), // CPYP
926 UINT64_C(486589440), // CPYPN
927 UINT64_C(486573056), // CPYPRN
928 UINT64_C(486548480), // CPYPRT
929 UINT64_C(486597632), // CPYPRTN
930 UINT64_C(486581248), // CPYPRTRN
931 UINT64_C(486564864), // CPYPRTWN
932 UINT64_C(486552576), // CPYPT
933 UINT64_C(486601728), // CPYPTN
934 UINT64_C(486585344), // CPYPTRN
935 UINT64_C(486568960), // CPYPTWN
936 UINT64_C(486556672), // CPYPWN
937 UINT64_C(486544384), // CPYPWT
938 UINT64_C(486593536), // CPYPWTN
939 UINT64_C(486577152), // CPYPWTRN
940 UINT64_C(486560768), // CPYPWTWN
941 UINT64_C(84951040), // CPY_ZPmI_B
942 UINT64_C(97533952), // CPY_ZPmI_D
943 UINT64_C(89145344), // CPY_ZPmI_H
944 UINT64_C(93339648), // CPY_ZPmI_S
945 UINT64_C(86548480), // CPY_ZPmR_B
946 UINT64_C(99131392), // CPY_ZPmR_D
947 UINT64_C(90742784), // CPY_ZPmR_H
948 UINT64_C(94937088), // CPY_ZPmR_S
949 UINT64_C(86016000), // CPY_ZPmV_B
950 UINT64_C(98598912), // CPY_ZPmV_D
951 UINT64_C(90210304), // CPY_ZPmV_H
952 UINT64_C(94404608), // CPY_ZPmV_S
953 UINT64_C(84934656), // CPY_ZPzI_B
954 UINT64_C(97517568), // CPY_ZPzI_D
955 UINT64_C(89128960), // CPY_ZPzI_H
956 UINT64_C(93323264), // CPY_ZPzI_S
957 UINT64_C(448806912), // CRC32Brr
958 UINT64_C(448811008), // CRC32CBrr
959 UINT64_C(448812032), // CRC32CHrr
960 UINT64_C(448813056), // CRC32CWrr
961 UINT64_C(2596297728), // CRC32CXrr
962 UINT64_C(448807936), // CRC32Hrr
963 UINT64_C(448808960), // CRC32Wrr
964 UINT64_C(2596293632), // CRC32Xrr
965 UINT64_C(444596224), // CSELWr
966 UINT64_C(2592079872), // CSELXr
967 UINT64_C(444597248), // CSINCWr
968 UINT64_C(2592080896), // CSINCXr
969 UINT64_C(1518338048), // CSINVWr
970 UINT64_C(3665821696), // CSINVXr
971 UINT64_C(1518339072), // CSNEGWr
972 UINT64_C(3665822720), // CSNEGXr
973 UINT64_C(631250944), // CTERMEQ_WW
974 UINT64_C(635445248), // CTERMEQ_XX
975 UINT64_C(631250960), // CTERMNE_WW
976 UINT64_C(635445264), // CTERMNE_XX
977 UINT64_C(1522538496), // CTZWr
978 UINT64_C(3670022144), // CTZXr
979 UINT64_C(3567255553), // DCPS1
980 UINT64_C(3567255554), // DCPS2
981 UINT64_C(3567255555), // DCPS3
982 UINT64_C(70312960), // DECB_XPiI
983 UINT64_C(82895872), // DECD_XPiI
984 UINT64_C(82887680), // DECD_ZPiI
985 UINT64_C(74507264), // DECH_XPiI
986 UINT64_C(74499072), // DECH_ZPiI
987 UINT64_C(623740928), // DECP_XP_B
988 UINT64_C(636323840), // DECP_XP_D
989 UINT64_C(627935232), // DECP_XP_H
990 UINT64_C(632129536), // DECP_XP_S
991 UINT64_C(636321792), // DECP_ZP_D
992 UINT64_C(627933184), // DECP_ZP_H
993 UINT64_C(632127488), // DECP_ZP_S
994 UINT64_C(78701568), // DECW_XPiI
995 UINT64_C(78693376), // DECW_ZPiI
996 UINT64_C(3573756095), // DMB
997 UINT64_C(3602842592), // DRPS
998 UINT64_C(3573756063), // DSB
999 UINT64_C(3573756479), // DSBnXS
1000 UINT64_C(96468992), // DUPM_ZI
1001 UINT64_C(86057984), // DUPQ_ZZI_B
1002 UINT64_C(86516736), // DUPQ_ZZI_D
1003 UINT64_C(86123520), // DUPQ_ZZI_H
1004 UINT64_C(86254592), // DUPQ_ZZI_S
1005 UINT64_C(624476160), // DUP_ZI_B
1006 UINT64_C(637059072), // DUP_ZI_D
1007 UINT64_C(628670464), // DUP_ZI_H
1008 UINT64_C(632864768), // DUP_ZI_S
1009 UINT64_C(85997568), // DUP_ZR_B
1010 UINT64_C(98580480), // DUP_ZR_D
1011 UINT64_C(90191872), // DUP_ZR_H
1012 UINT64_C(94386176), // DUP_ZR_S
1013 UINT64_C(86056960), // DUP_ZZI_B
1014 UINT64_C(86515712), // DUP_ZZI_D
1015 UINT64_C(86122496), // DUP_ZZI_H
1016 UINT64_C(87040000), // DUP_ZZI_Q
1017 UINT64_C(86253568), // DUP_ZZI_S
1018 UINT64_C(1577190400), // DUPi16
1019 UINT64_C(1577321472), // DUPi32
1020 UINT64_C(1577583616), // DUPi64
1021 UINT64_C(1577124864), // DUPi8
1022 UINT64_C(1308691456), // DUPv16i8gpr
1023 UINT64_C(1308689408), // DUPv16i8lane
1024 UINT64_C(235146240), // DUPv2i32gpr
1025 UINT64_C(235144192), // DUPv2i32lane
1026 UINT64_C(1309150208), // DUPv2i64gpr
1027 UINT64_C(1309148160), // DUPv2i64lane
1028 UINT64_C(235015168), // DUPv4i16gpr
1029 UINT64_C(235013120), // DUPv4i16lane
1030 UINT64_C(1308888064), // DUPv4i32gpr
1031 UINT64_C(1308886016), // DUPv4i32lane
1032 UINT64_C(1308756992), // DUPv8i16gpr
1033 UINT64_C(1308754944), // DUPv8i16lane
1034 UINT64_C(234949632), // DUPv8i8gpr
1035 UINT64_C(234947584), // DUPv8i8lane
1036 UINT64_C(1243611136), // EONWrs
1037 UINT64_C(3391094784), // EONXrs
1038 UINT64_C(3456106496), // EOR3
1039 UINT64_C(69220352), // EOR3_ZZZZ
1040 UINT64_C(1157664768), // EORBT_ZZZ_B
1041 UINT64_C(1170247680), // EORBT_ZZZ_D
1042 UINT64_C(1161859072), // EORBT_ZZZ_H
1043 UINT64_C(1166053376), // EORBT_ZZZ_S
1044 UINT64_C(69017600), // EORQV_VPZ_B
1045 UINT64_C(81600512), // EORQV_VPZ_D
1046 UINT64_C(73211904), // EORQV_VPZ_H
1047 UINT64_C(77406208), // EORQV_VPZ_S
1048 UINT64_C(624968192), // EORS_PPzPP
1049 UINT64_C(1157665792), // EORTB_ZZZ_B
1050 UINT64_C(1170248704), // EORTB_ZZZ_D
1051 UINT64_C(1161860096), // EORTB_ZZZ_H
1052 UINT64_C(1166054400), // EORTB_ZZZ_S
1053 UINT64_C(68755456), // EORV_VPZ_B
1054 UINT64_C(81338368), // EORV_VPZ_D
1055 UINT64_C(72949760), // EORV_VPZ_H
1056 UINT64_C(77144064), // EORV_VPZ_S
1057 UINT64_C(1375731712), // EORWri
1058 UINT64_C(1241513984), // EORWrs
1059 UINT64_C(3523215360), // EORXri
1060 UINT64_C(3388997632), // EORXrs
1061 UINT64_C(620773888), // EOR_PPzPP
1062 UINT64_C(88080384), // EOR_ZI
1063 UINT64_C(68747264), // EOR_ZPmZ_B
1064 UINT64_C(81330176), // EOR_ZPmZ_D
1065 UINT64_C(72941568), // EOR_ZPmZ_H
1066 UINT64_C(77135872), // EOR_ZPmZ_S
1067 UINT64_C(77606912), // EOR_ZZZ
1068 UINT64_C(1847598080), // EORv16i8
1069 UINT64_C(773856256), // EORv8i8
1070 UINT64_C(3600745440), // ERET
1071 UINT64_C(3600747519), // ERETAA
1072 UINT64_C(3600748543), // ERETAB
1073 UINT64_C(87130112), // EXPAND_ZPZ_B
1074 UINT64_C(99713024), // EXPAND_ZPZ_D
1075 UINT64_C(91324416), // EXPAND_ZPZ_H
1076 UINT64_C(95518720), // EXPAND_ZPZ_S
1077 UINT64_C(90186752), // EXTQ_ZZI
1078 UINT64_C(3221356544), // EXTRACT_ZPMXI_H_B
1079 UINT64_C(3233939456), // EXTRACT_ZPMXI_H_D
1080 UINT64_C(3225550848), // EXTRACT_ZPMXI_H_H
1081 UINT64_C(3234004992), // EXTRACT_ZPMXI_H_Q
1082 UINT64_C(3229745152), // EXTRACT_ZPMXI_H_S
1083 UINT64_C(3221389312), // EXTRACT_ZPMXI_V_B
1084 UINT64_C(3233972224), // EXTRACT_ZPMXI_V_D
1085 UINT64_C(3225583616), // EXTRACT_ZPMXI_V_H
1086 UINT64_C(3234037760), // EXTRACT_ZPMXI_V_Q
1087 UINT64_C(3229777920), // EXTRACT_ZPMXI_V_S
1088 UINT64_C(327155712), // EXTRWrri
1089 UINT64_C(2478833664), // EXTRXrri
1090 UINT64_C(85983232), // EXT_ZZI
1091 UINT64_C(90177536), // EXT_ZZI_B
1092 UINT64_C(1845493760), // EXTv16i8
1093 UINT64_C(771751936), // EXTv8i8
1094 UINT64_C(773945344), // F1CVTL
1095 UINT64_C(1847687168), // F1CVTL2
1096 UINT64_C(1695100928), // F1CVTLT_ZZ_BtoH
1097 UINT64_C(3240550401), // F1CVTL_2ZZ_BtoH
1098 UINT64_C(3240550400), // F1CVT_2ZZ_BtoH
1099 UINT64_C(1695035392), // F1CVT_ZZ_BtoH
1100 UINT64_C(778139648), // F2CVTL
1101 UINT64_C(1851881472), // F2CVTL2
1102 UINT64_C(1695101952), // F2CVTLT_ZZ_BtoH
1103 UINT64_C(3248939009), // F2CVTL_2ZZ_BtoH
1104 UINT64_C(3248939008), // F2CVT_2ZZ_BtoH
1105 UINT64_C(1695036416), // F2CVT_ZZ_BtoH
1106 UINT64_C(2126517248), // FABD16
1107 UINT64_C(2124469248), // FABD32
1108 UINT64_C(2128663552), // FABD64
1109 UINT64_C(1707638784), // FABD_ZPmZ_D
1110 UINT64_C(1699250176), // FABD_ZPmZ_H
1111 UINT64_C(1703444480), // FABD_ZPmZ_S
1112 UINT64_C(782291968), // FABDv2f32
1113 UINT64_C(1860228096), // FABDv2f64
1114 UINT64_C(784339968), // FABDv4f16
1115 UINT64_C(1856033792), // FABDv4f32
1116 UINT64_C(1858081792), // FABDv8f16
1117 UINT64_C(509657088), // FABSDr
1118 UINT64_C(518045696), // FABSHr
1119 UINT64_C(505462784), // FABSSr
1120 UINT64_C(81567744), // FABS_ZPmZ_D
1121 UINT64_C(73179136), // FABS_ZPmZ_H
1122 UINT64_C(77373440), // FABS_ZPmZ_S
1123 UINT64_C(80519168), // FABS_ZPzZ_D
1124 UINT64_C(72130560), // FABS_ZPzZ_H
1125 UINT64_C(76324864), // FABS_ZPzZ_S
1126 UINT64_C(245430272), // FABSv2f32
1127 UINT64_C(1323366400), // FABSv2f64
1128 UINT64_C(251197440), // FABSv4f16
1129 UINT64_C(1319172096), // FABSv4f32
1130 UINT64_C(1324939264), // FABSv8f16
1131 UINT64_C(2118134784), // FACGE16
1132 UINT64_C(2116086784), // FACGE32
1133 UINT64_C(2120281088), // FACGE64
1134 UINT64_C(1707130896), // FACGE_PPzZZ_D
1135 UINT64_C(1698742288), // FACGE_PPzZZ_H
1136 UINT64_C(1702936592), // FACGE_PPzZZ_S
1137 UINT64_C(773909504), // FACGEv2f32
1138 UINT64_C(1851845632), // FACGEv2f64
1139 UINT64_C(775957504), // FACGEv4f16
1140 UINT64_C(1847651328), // FACGEv4f32
1141 UINT64_C(1849699328), // FACGEv8f16
1142 UINT64_C(2126523392), // FACGT16
1143 UINT64_C(2124475392), // FACGT32
1144 UINT64_C(2128669696), // FACGT64
1145 UINT64_C(1707139088), // FACGT_PPzZZ_D
1146 UINT64_C(1698750480), // FACGT_PPzZZ_H
1147 UINT64_C(1702944784), // FACGT_PPzZZ_S
1148 UINT64_C(782298112), // FACGTv2f32
1149 UINT64_C(1860234240), // FACGTv2f64
1150 UINT64_C(784346112), // FACGTv4f16
1151 UINT64_C(1856039936), // FACGTv4f32
1152 UINT64_C(1858087936), // FACGTv8f16
1153 UINT64_C(1708662784), // FADDA_VPZ_D
1154 UINT64_C(1700274176), // FADDA_VPZ_H
1155 UINT64_C(1704468480), // FADDA_VPZ_S
1156 UINT64_C(509618176), // FADDDrr
1157 UINT64_C(518006784), // FADDHrr
1158 UINT64_C(1691385856), // FADDP_ZPmZZ_D
1159 UINT64_C(1682997248), // FADDP_ZPmZZ_H
1160 UINT64_C(1687191552), // FADDP_ZPmZZ_S
1161 UINT64_C(773903360), // FADDPv2f32
1162 UINT64_C(1851839488), // FADDPv2f64
1163 UINT64_C(1580259328), // FADDPv2i16p
1164 UINT64_C(2117130240), // FADDPv2i32p
1165 UINT64_C(2121324544), // FADDPv2i64p
1166 UINT64_C(775951360), // FADDPv4f16
1167 UINT64_C(1847645184), // FADDPv4f32
1168 UINT64_C(1849693184), // FADDPv8f16
1169 UINT64_C(1691394048), // FADDQV_D
1170 UINT64_C(1683005440), // FADDQV_H
1171 UINT64_C(1687199744), // FADDQV_S
1172 UINT64_C(505423872), // FADDSrr
1173 UINT64_C(1707089920), // FADDV_VPZ_D
1174 UINT64_C(1698701312), // FADDV_VPZ_H
1175 UINT64_C(1702895616), // FADDV_VPZ_S
1176 UINT64_C(3252689920), // FADD_VG2_M2Z_D
1177 UINT64_C(3248757760), // FADD_VG2_M2Z_H
1178 UINT64_C(3248495616), // FADD_VG2_M2Z_S
1179 UINT64_C(3252755456), // FADD_VG4_M4Z_D
1180 UINT64_C(3248823296), // FADD_VG4_M4Z_H
1181 UINT64_C(3248561152), // FADD_VG4_M4Z_S
1182 UINT64_C(1708687360), // FADD_ZPmI_D
1183 UINT64_C(1700298752), // FADD_ZPmI_H
1184 UINT64_C(1704493056), // FADD_ZPmI_S
1185 UINT64_C(1707114496), // FADD_ZPmZ_D
1186 UINT64_C(1698725888), // FADD_ZPmZ_H
1187 UINT64_C(1702920192), // FADD_ZPmZ_S
1188 UINT64_C(1707081728), // FADD_ZZZ_D
1189 UINT64_C(1698693120), // FADD_ZZZ_H
1190 UINT64_C(1702887424), // FADD_ZZZ_S
1191 UINT64_C(237032448), // FADDv2f32
1192 UINT64_C(1314968576), // FADDv2f64
1193 UINT64_C(239080448), // FADDv4f16
1194 UINT64_C(1310774272), // FADDv4f32
1195 UINT64_C(1312822272), // FADDv8f16
1196 UINT64_C(3252728128), // FAMAX_2Z2Z_D
1197 UINT64_C(3244339520), // FAMAX_2Z2Z_H
1198 UINT64_C(3248533824), // FAMAX_2Z2Z_S
1199 UINT64_C(3252730176), // FAMAX_4Z4Z_D
1200 UINT64_C(3244341568), // FAMAX_4Z4Z_H
1201 UINT64_C(3248535872), // FAMAX_4Z4Z_S
1202 UINT64_C(1708032000), // FAMAX_ZPmZ_D
1203 UINT64_C(1699643392), // FAMAX_ZPmZ_H
1204 UINT64_C(1703837696), // FAMAX_ZPmZ_S
1205 UINT64_C(245423104), // FAMAXv2f32
1206 UINT64_C(1323359232), // FAMAXv2f64
1207 UINT64_C(247471104), // FAMAXv4f16
1208 UINT64_C(1319164928), // FAMAXv4f32
1209 UINT64_C(1321212928), // FAMAXv8f16
1210 UINT64_C(3252728129), // FAMIN_2Z2Z_D
1211 UINT64_C(3244339521), // FAMIN_2Z2Z_H
1212 UINT64_C(3248533825), // FAMIN_2Z2Z_S
1213 UINT64_C(3252730177), // FAMIN_4Z4Z_D
1214 UINT64_C(3244341569), // FAMIN_4Z4Z_H
1215 UINT64_C(3248535873), // FAMIN_4Z4Z_S
1216 UINT64_C(1708097536), // FAMIN_ZPmZ_D
1217 UINT64_C(1699708928), // FAMIN_ZPmZ_H
1218 UINT64_C(1703903232), // FAMIN_ZPmZ_S
1219 UINT64_C(782294016), // FAMINv2f32
1220 UINT64_C(1860230144), // FAMINv2f64
1221 UINT64_C(784342016), // FAMINv4f16
1222 UINT64_C(1856035840), // FAMINv4f32
1223 UINT64_C(1858083840), // FAMINv8f16
1224 UINT64_C(1690337280), // FCADD_ZPmZ_D
1225 UINT64_C(1681948672), // FCADD_ZPmZ_H
1226 UINT64_C(1686142976), // FCADD_ZPmZ_S
1227 UINT64_C(780198912), // FCADDv2f32
1228 UINT64_C(1858135040), // FCADDv2f64
1229 UINT64_C(776004608), // FCADDv4f16
1230 UINT64_C(1853940736), // FCADDv4f32
1231 UINT64_C(1849746432), // FCADDv8f16
1232 UINT64_C(509608960), // FCCMPDrr
1233 UINT64_C(509608976), // FCCMPEDrr
1234 UINT64_C(517997584), // FCCMPEHrr
1235 UINT64_C(505414672), // FCCMPESrr
1236 UINT64_C(517997568), // FCCMPHrr
1237 UINT64_C(505414656), // FCCMPSrr
1238 UINT64_C(3252731904), // FCLAMP_VG2_2Z2Z_D
1239 UINT64_C(3244343296), // FCLAMP_VG2_2Z2Z_H
1240 UINT64_C(3248537600), // FCLAMP_VG2_2Z2Z_S
1241 UINT64_C(3252733952), // FCLAMP_VG4_4Z4Z_D
1242 UINT64_C(3244345344), // FCLAMP_VG4_4Z4Z_H
1243 UINT64_C(3248539648), // FCLAMP_VG4_4Z4Z_S
1244 UINT64_C(1692410880), // FCLAMP_ZZZ_D
1245 UINT64_C(1684022272), // FCLAMP_ZZZ_H
1246 UINT64_C(1688216576), // FCLAMP_ZZZ_S
1247 UINT64_C(1581261824), // FCMEQ16
1248 UINT64_C(1579213824), // FCMEQ32
1249 UINT64_C(1583408128), // FCMEQ64
1250 UINT64_C(1708269568), // FCMEQ_PPzZ0_D
1251 UINT64_C(1699880960), // FCMEQ_PPzZ0_H
1252 UINT64_C(1704075264), // FCMEQ_PPzZ0_S
1253 UINT64_C(1707106304), // FCMEQ_PPzZZ_D
1254 UINT64_C(1698717696), // FCMEQ_PPzZZ_H
1255 UINT64_C(1702912000), // FCMEQ_PPzZZ_S
1256 UINT64_C(1593366528), // FCMEQv1i16rz
1257 UINT64_C(1587599360), // FCMEQv1i32rz
1258 UINT64_C(1591793664), // FCMEQv1i64rz
1259 UINT64_C(237036544), // FCMEQv2f32
1260 UINT64_C(1314972672), // FCMEQv2f64
1261 UINT64_C(245422080), // FCMEQv2i32rz
1262 UINT64_C(1323358208), // FCMEQv2i64rz
1263 UINT64_C(239084544), // FCMEQv4f16
1264 UINT64_C(1310778368), // FCMEQv4f32
1265 UINT64_C(251189248), // FCMEQv4i16rz
1266 UINT64_C(1319163904), // FCMEQv4i32rz
1267 UINT64_C(1312826368), // FCMEQv8f16
1268 UINT64_C(1324931072), // FCMEQv8i16rz
1269 UINT64_C(2118132736), // FCMGE16
1270 UINT64_C(2116084736), // FCMGE32
1271 UINT64_C(2120279040), // FCMGE64
1272 UINT64_C(1708138496), // FCMGE_PPzZ0_D
1273 UINT64_C(1699749888), // FCMGE_PPzZ0_H
1274 UINT64_C(1703944192), // FCMGE_PPzZ0_S
1275 UINT64_C(1707098112), // FCMGE_PPzZZ_D
1276 UINT64_C(1698709504), // FCMGE_PPzZZ_H
1277 UINT64_C(1702903808), // FCMGE_PPzZZ_S
1278 UINT64_C(2130233344), // FCMGEv1i16rz
1279 UINT64_C(2124466176), // FCMGEv1i32rz
1280 UINT64_C(2128660480), // FCMGEv1i64rz
1281 UINT64_C(773907456), // FCMGEv2f32
1282 UINT64_C(1851843584), // FCMGEv2f64
1283 UINT64_C(782288896), // FCMGEv2i32rz
1284 UINT64_C(1860225024), // FCMGEv2i64rz
1285 UINT64_C(775955456), // FCMGEv4f16
1286 UINT64_C(1847649280), // FCMGEv4f32
1287 UINT64_C(788056064), // FCMGEv4i16rz
1288 UINT64_C(1856030720), // FCMGEv4i32rz
1289 UINT64_C(1849697280), // FCMGEv8f16
1290 UINT64_C(1861797888), // FCMGEv8i16rz
1291 UINT64_C(2126521344), // FCMGT16
1292 UINT64_C(2124473344), // FCMGT32
1293 UINT64_C(2128667648), // FCMGT64
1294 UINT64_C(1708138512), // FCMGT_PPzZ0_D
1295 UINT64_C(1699749904), // FCMGT_PPzZ0_H
1296 UINT64_C(1703944208), // FCMGT_PPzZ0_S
1297 UINT64_C(1707098128), // FCMGT_PPzZZ_D
1298 UINT64_C(1698709520), // FCMGT_PPzZZ_H
1299 UINT64_C(1702903824), // FCMGT_PPzZZ_S
1300 UINT64_C(1593362432), // FCMGTv1i16rz
1301 UINT64_C(1587595264), // FCMGTv1i32rz
1302 UINT64_C(1591789568), // FCMGTv1i64rz
1303 UINT64_C(782296064), // FCMGTv2f32
1304 UINT64_C(1860232192), // FCMGTv2f64
1305 UINT64_C(245417984), // FCMGTv2i32rz
1306 UINT64_C(1323354112), // FCMGTv2i64rz
1307 UINT64_C(784344064), // FCMGTv4f16
1308 UINT64_C(1856037888), // FCMGTv4f32
1309 UINT64_C(251185152), // FCMGTv4i16rz
1310 UINT64_C(1319159808), // FCMGTv4i32rz
1311 UINT64_C(1858085888), // FCMGTv8f16
1312 UINT64_C(1324926976), // FCMGTv8i16rz
1313 UINT64_C(1690304512), // FCMLA_ZPmZZ_D
1314 UINT64_C(1681915904), // FCMLA_ZPmZZ_H
1315 UINT64_C(1686110208), // FCMLA_ZPmZZ_S
1316 UINT64_C(1688211456), // FCMLA_ZZZI_H
1317 UINT64_C(1692405760), // FCMLA_ZZZI_S
1318 UINT64_C(780190720), // FCMLAv2f32
1319 UINT64_C(1858126848), // FCMLAv2f64
1320 UINT64_C(775996416), // FCMLAv4f16
1321 UINT64_C(792727552), // FCMLAv4f16_indexed
1322 UINT64_C(1853932544), // FCMLAv4f32
1323 UINT64_C(1870663680), // FCMLAv4f32_indexed
1324 UINT64_C(1849738240), // FCMLAv8f16
1325 UINT64_C(1866469376), // FCMLAv8f16_indexed
1326 UINT64_C(1708204048), // FCMLE_PPzZ0_D
1327 UINT64_C(1699815440), // FCMLE_PPzZ0_H
1328 UINT64_C(1704009744), // FCMLE_PPzZ0_S
1329 UINT64_C(2130237440), // FCMLEv1i16rz
1330 UINT64_C(2124470272), // FCMLEv1i32rz
1331 UINT64_C(2128664576), // FCMLEv1i64rz
1332 UINT64_C(782292992), // FCMLEv2i32rz
1333 UINT64_C(1860229120), // FCMLEv2i64rz
1334 UINT64_C(788060160), // FCMLEv4i16rz
1335 UINT64_C(1856034816), // FCMLEv4i32rz
1336 UINT64_C(1861801984), // FCMLEv8i16rz
1337 UINT64_C(1708204032), // FCMLT_PPzZ0_D
1338 UINT64_C(1699815424), // FCMLT_PPzZ0_H
1339 UINT64_C(1704009728), // FCMLT_PPzZ0_S
1340 UINT64_C(1593370624), // FCMLTv1i16rz
1341 UINT64_C(1587603456), // FCMLTv1i32rz
1342 UINT64_C(1591797760), // FCMLTv1i64rz
1343 UINT64_C(245426176), // FCMLTv2i32rz
1344 UINT64_C(1323362304), // FCMLTv2i64rz
1345 UINT64_C(251193344), // FCMLTv4i16rz
1346 UINT64_C(1319168000), // FCMLTv4i32rz
1347 UINT64_C(1324935168), // FCMLTv8i16rz
1348 UINT64_C(1708335104), // FCMNE_PPzZ0_D
1349 UINT64_C(1699946496), // FCMNE_PPzZ0_H
1350 UINT64_C(1704140800), // FCMNE_PPzZ0_S
1351 UINT64_C(1707106320), // FCMNE_PPzZZ_D
1352 UINT64_C(1698717712), // FCMNE_PPzZZ_H
1353 UINT64_C(1702912016), // FCMNE_PPzZZ_S
1354 UINT64_C(509616136), // FCMPDri
1355 UINT64_C(509616128), // FCMPDrr
1356 UINT64_C(509616152), // FCMPEDri
1357 UINT64_C(509616144), // FCMPEDrr
1358 UINT64_C(518004760), // FCMPEHri
1359 UINT64_C(518004752), // FCMPEHrr
1360 UINT64_C(505421848), // FCMPESri
1361 UINT64_C(505421840), // FCMPESrr
1362 UINT64_C(518004744), // FCMPHri
1363 UINT64_C(518004736), // FCMPHrr
1364 UINT64_C(505421832), // FCMPSri
1365 UINT64_C(505421824), // FCMPSrr
1366 UINT64_C(1707130880), // FCMUO_PPzZZ_D
1367 UINT64_C(1698742272), // FCMUO_PPzZZ_H
1368 UINT64_C(1702936576), // FCMUO_PPzZZ_S
1369 UINT64_C(97566720), // FCPY_ZPmI_D
1370 UINT64_C(89178112), // FCPY_ZPmI_H
1371 UINT64_C(93372416), // FCPY_ZPmI_S
1372 UINT64_C(509611008), // FCSELDrrr
1373 UINT64_C(517999616), // FCSELHrrr
1374 UINT64_C(505416704), // FCSELSrrr
1375 UINT64_C(2667184128), // FCVTASDHr
1376 UINT64_C(2654601216), // FCVTASDSr
1377 UINT64_C(511311872), // FCVTASSDr
1378 UINT64_C(519700480), // FCVTASSHr
1379 UINT64_C(509870080), // FCVTASUWDr
1380 UINT64_C(518258688), // FCVTASUWHr
1381 UINT64_C(505675776), // FCVTASUWSr
1382 UINT64_C(2657353728), // FCVTASUXDr
1383 UINT64_C(2665742336), // FCVTASUXHr
1384 UINT64_C(2653159424), // FCVTASUXSr
1385 UINT64_C(1585039360), // FCVTASv1f16
1386 UINT64_C(1579272192), // FCVTASv1i32
1387 UINT64_C(1583466496), // FCVTASv1i64
1388 UINT64_C(237094912), // FCVTASv2f32
1389 UINT64_C(1315031040), // FCVTASv2f64
1390 UINT64_C(242862080), // FCVTASv4f16
1391 UINT64_C(1310836736), // FCVTASv4f32
1392 UINT64_C(1316603904), // FCVTASv8f16
1393 UINT64_C(2667249664), // FCVTAUDHr
1394 UINT64_C(2654666752), // FCVTAUDSr
1395 UINT64_C(511377408), // FCVTAUSDr
1396 UINT64_C(519766016), // FCVTAUSHr
1397 UINT64_C(509935616), // FCVTAUUWDr
1398 UINT64_C(518324224), // FCVTAUUWHr
1399 UINT64_C(505741312), // FCVTAUUWSr
1400 UINT64_C(2657419264), // FCVTAUUXDr
1401 UINT64_C(2665807872), // FCVTAUUXHr
1402 UINT64_C(2653224960), // FCVTAUUXSr
1403 UINT64_C(2121910272), // FCVTAUv1f16
1404 UINT64_C(2116143104), // FCVTAUv1i32
1405 UINT64_C(2120337408), // FCVTAUv1i64
1406 UINT64_C(773965824), // FCVTAUv2f32
1407 UINT64_C(1851901952), // FCVTAUv2f64
1408 UINT64_C(779732992), // FCVTAUv4f16
1409 UINT64_C(1847707648), // FCVTAUv4f32
1410 UINT64_C(1853474816), // FCVTAUv8f16
1411 UINT64_C(518176768), // FCVTDHr
1412 UINT64_C(505593856), // FCVTDSr
1413 UINT64_C(509853696), // FCVTHDr
1414 UINT64_C(505659392), // FCVTHSr
1415 UINT64_C(1686740992), // FCVTLT_ZPmZ_HtoS
1416 UINT64_C(1691066368), // FCVTLT_ZPmZ_StoD
1417 UINT64_C(1686216704), // FCVTLT_ZPzZ_HtoS
1418 UINT64_C(1690542080), // FCVTLT_ZPzZ_StoD
1419 UINT64_C(3248545793), // FCVTL_2ZZ_H_S
1420 UINT64_C(241268736), // FCVTLv2i32
1421 UINT64_C(237074432), // FCVTLv4i16
1422 UINT64_C(1315010560), // FCVTLv4i32
1423 UINT64_C(1310816256), // FCVTLv8i16
1424 UINT64_C(2666790912), // FCVTMSDHr
1425 UINT64_C(2654208000), // FCVTMSDSr
1426 UINT64_C(510918656), // FCVTMSSDr
1427 UINT64_C(519307264), // FCVTMSSHr
1428 UINT64_C(510656512), // FCVTMSUWDr
1429 UINT64_C(519045120), // FCVTMSUWHr
1430 UINT64_C(506462208), // FCVTMSUWSr
1431 UINT64_C(2658140160), // FCVTMSUXDr
1432 UINT64_C(2666528768), // FCVTMSUXHr
1433 UINT64_C(2653945856), // FCVTMSUXSr
1434 UINT64_C(1585035264), // FCVTMSv1f16
1435 UINT64_C(1579268096), // FCVTMSv1i32
1436 UINT64_C(1583462400), // FCVTMSv1i64
1437 UINT64_C(237090816), // FCVTMSv2f32
1438 UINT64_C(1315026944), // FCVTMSv2f64
1439 UINT64_C(242857984), // FCVTMSv4f16
1440 UINT64_C(1310832640), // FCVTMSv4f32
1441 UINT64_C(1316599808), // FCVTMSv8f16
1442 UINT64_C(2666856448), // FCVTMUDHr
1443 UINT64_C(2654273536), // FCVTMUDSr
1444 UINT64_C(510984192), // FCVTMUSDr
1445 UINT64_C(519372800), // FCVTMUSHr
1446 UINT64_C(510722048), // FCVTMUUWDr
1447 UINT64_C(519110656), // FCVTMUUWHr
1448 UINT64_C(506527744), // FCVTMUUWSr
1449 UINT64_C(2658205696), // FCVTMUUXDr
1450 UINT64_C(2666594304), // FCVTMUUXHr
1451 UINT64_C(2654011392), // FCVTMUUXSr
1452 UINT64_C(2121906176), // FCVTMUv1f16
1453 UINT64_C(2116139008), // FCVTMUv1i32
1454 UINT64_C(2120333312), // FCVTMUv1i64
1455 UINT64_C(773961728), // FCVTMUv2f32
1456 UINT64_C(1851897856), // FCVTMUv2f64
1457 UINT64_C(779728896), // FCVTMUv4f16
1458 UINT64_C(1847703552), // FCVTMUv4f32
1459 UINT64_C(1853470720), // FCVTMUv8f16
1460 UINT64_C(1695167488), // FCVTNB_Z2Z_StoB
1461 UINT64_C(2666135552), // FCVTNSDHr
1462 UINT64_C(2653552640), // FCVTNSDSr
1463 UINT64_C(510263296), // FCVTNSSDr
1464 UINT64_C(518651904), // FCVTNSSHr
1465 UINT64_C(509607936), // FCVTNSUWDr
1466 UINT64_C(517996544), // FCVTNSUWHr
1467 UINT64_C(505413632), // FCVTNSUWSr
1468 UINT64_C(2657091584), // FCVTNSUXDr
1469 UINT64_C(2665480192), // FCVTNSUXHr
1470 UINT64_C(2652897280), // FCVTNSUXSr
1471 UINT64_C(1585031168), // FCVTNSv1f16
1472 UINT64_C(1579264000), // FCVTNSv1i32
1473 UINT64_C(1583458304), // FCVTNSv1i64
1474 UINT64_C(237086720), // FCVTNSv2f32
1475 UINT64_C(1315022848), // FCVTNSv2f64
1476 UINT64_C(242853888), // FCVTNSv4f16
1477 UINT64_C(1310828544), // FCVTNSv4f32
1478 UINT64_C(1316595712), // FCVTNSv8f16
1479 UINT64_C(1695169536), // FCVTNT_Z2Z_StoB
1480 UINT64_C(1691000832), // FCVTNT_ZPmZ_DtoS
1481 UINT64_C(1686675456), // FCVTNT_ZPmZ_StoH
1482 UINT64_C(1690476544), // FCVTNT_ZPzZ_DtoS
1483 UINT64_C(1686151168), // FCVTNT_ZPzZ_StoH
1484 UINT64_C(2666201088), // FCVTNUDHr
1485 UINT64_C(2653618176), // FCVTNUDSr
1486 UINT64_C(510328832), // FCVTNUSDr
1487 UINT64_C(518717440), // FCVTNUSHr
1488 UINT64_C(509673472), // FCVTNUUWDr
1489 UINT64_C(518062080), // FCVTNUUWHr
1490 UINT64_C(505479168), // FCVTNUUWSr
1491 UINT64_C(2657157120), // FCVTNUUXDr
1492 UINT64_C(2665545728), // FCVTNUUXHr
1493 UINT64_C(2652962816), // FCVTNUUXSr
1494 UINT64_C(2121902080), // FCVTNUv1f16
1495 UINT64_C(2116134912), // FCVTNUv1i32
1496 UINT64_C(2120329216), // FCVTNUv1i64
1497 UINT64_C(773957632), // FCVTNUv2f32
1498 UINT64_C(1851893760), // FCVTNUv2f64
1499 UINT64_C(779724800), // FCVTNUv4f16
1500 UINT64_C(1847699456), // FCVTNUv4f32
1501 UINT64_C(1853466624), // FCVTNUv8f16
1502 UINT64_C(1312879616), // FCVTN_F16v16f8
1503 UINT64_C(239137792), // FCVTN_F16v8f8
1504 UINT64_C(1308685312), // FCVTN_F322v16f8
1505 UINT64_C(234943488), // FCVTN_F32v8f8
1506 UINT64_C(1695166464), // FCVTN_Z2Z_HtoB
1507 UINT64_C(3240157216), // FCVTN_Z2Z_StoH
1508 UINT64_C(3241467936), // FCVTN_Z4Z_StoB
1509 UINT64_C(241264640), // FCVTNv2i32
1510 UINT64_C(237070336), // FCVTNv4i16
1511 UINT64_C(1315006464), // FCVTNv4i32
1512 UINT64_C(1310812160), // FCVTNv8i16
1513 UINT64_C(2666659840), // FCVTPSDHr
1514 UINT64_C(2654076928), // FCVTPSDSr
1515 UINT64_C(510787584), // FCVTPSSDr
1516 UINT64_C(519176192), // FCVTPSSHr
1517 UINT64_C(510132224), // FCVTPSUWDr
1518 UINT64_C(518520832), // FCVTPSUWHr
1519 UINT64_C(505937920), // FCVTPSUWSr
1520 UINT64_C(2657615872), // FCVTPSUXDr
1521 UINT64_C(2666004480), // FCVTPSUXHr
1522 UINT64_C(2653421568), // FCVTPSUXSr
1523 UINT64_C(1593419776), // FCVTPSv1f16
1524 UINT64_C(1587652608), // FCVTPSv1i32
1525 UINT64_C(1591846912), // FCVTPSv1i64
1526 UINT64_C(245475328), // FCVTPSv2f32
1527 UINT64_C(1323411456), // FCVTPSv2f64
1528 UINT64_C(251242496), // FCVTPSv4f16
1529 UINT64_C(1319217152), // FCVTPSv4f32
1530 UINT64_C(1324984320), // FCVTPSv8f16
1531 UINT64_C(2666725376), // FCVTPUDHr
1532 UINT64_C(2654142464), // FCVTPUDSr
1533 UINT64_C(510853120), // FCVTPUSDr
1534 UINT64_C(519241728), // FCVTPUSHr
1535 UINT64_C(510197760), // FCVTPUUWDr
1536 UINT64_C(518586368), // FCVTPUUWHr
1537 UINT64_C(506003456), // FCVTPUUWSr
1538 UINT64_C(2657681408), // FCVTPUUXDr
1539 UINT64_C(2666070016), // FCVTPUUXHr
1540 UINT64_C(2653487104), // FCVTPUUXSr
1541 UINT64_C(2130290688), // FCVTPUv1f16
1542 UINT64_C(2124523520), // FCVTPUv1i32
1543 UINT64_C(2128717824), // FCVTPUv1i64
1544 UINT64_C(782346240), // FCVTPUv2f32
1545 UINT64_C(1860282368), // FCVTPUv2f64
1546 UINT64_C(788113408), // FCVTPUv4f16
1547 UINT64_C(1856088064), // FCVTPUv4f32
1548 UINT64_C(1861855232), // FCVTPUv8f16
1549 UINT64_C(509755392), // FCVTSDr
1550 UINT64_C(518144000), // FCVTSHr
1551 UINT64_C(1678417920), // FCVTXNT_ZPmZ_DtoS
1552 UINT64_C(1677893632), // FCVTXNT_ZPzZ_StoD
1553 UINT64_C(2120312832), // FCVTXNv1i64
1554 UINT64_C(778135552), // FCVTXNv2f32
1555 UINT64_C(1851877376), // FCVTXNv4f32
1556 UINT64_C(1695195136), // FCVTX_ZPmZ_DtoS
1557 UINT64_C(1679474688), // FCVTX_ZPzZ_DtoS
1558 UINT64_C(2666921984), // FCVTZSDHr
1559 UINT64_C(2654339072), // FCVTZSDSr
1560 UINT64_C(1707945984), // FCVTZSN_Z2Z_DtoS
1561 UINT64_C(1699557376), // FCVTZSN_Z2Z_HtoB
1562 UINT64_C(1703751680), // FCVTZSN_Z2Z_StoH
1563 UINT64_C(511049728), // FCVTZSSDr
1564 UINT64_C(519438336), // FCVTZSSHr
1565 UINT64_C(509116416), // FCVTZSSWDri
1566 UINT64_C(517505024), // FCVTZSSWHri
1567 UINT64_C(504922112), // FCVTZSSWSri
1568 UINT64_C(2656567296), // FCVTZSSXDri
1569 UINT64_C(2664955904), // FCVTZSSXHri
1570 UINT64_C(2652372992), // FCVTZSSXSri
1571 UINT64_C(511180800), // FCVTZSUWDr
1572 UINT64_C(519569408), // FCVTZSUWHr
1573 UINT64_C(506986496), // FCVTZSUWSr
1574 UINT64_C(2658664448), // FCVTZSUXDr
1575 UINT64_C(2667053056), // FCVTZSUXHr
1576 UINT64_C(2654470144), // FCVTZSUXSr
1577 UINT64_C(3240222720), // FCVTZS_2Z2Z_StoS
1578 UINT64_C(3241271296), // FCVTZS_4Z4Z_StoS
1579 UINT64_C(1709088768), // FCVTZS_ZPmZ_DtoD
1580 UINT64_C(1708695552), // FCVTZS_ZPmZ_DtoS
1581 UINT64_C(1700700160), // FCVTZS_ZPmZ_HtoD
1582 UINT64_C(1700438016), // FCVTZS_ZPmZ_HtoH
1583 UINT64_C(1700569088), // FCVTZS_ZPmZ_HtoS
1584 UINT64_C(1708957696), // FCVTZS_ZPmZ_StoD
1585 UINT64_C(1704763392), // FCVTZS_ZPmZ_StoS
1586 UINT64_C(1692385280), // FCVTZS_ZPzZ_DtoD
1587 UINT64_C(1692303360), // FCVTZS_ZPzZ_DtoS
1588 UINT64_C(1683996672), // FCVTZS_ZPzZ_HtoD
1589 UINT64_C(1683931136), // FCVTZS_ZPzZ_HtoH
1590 UINT64_C(1683980288), // FCVTZS_ZPzZ_HtoS
1591 UINT64_C(1692368896), // FCVTZS_ZPzZ_StoD
1592 UINT64_C(1688174592), // FCVTZS_ZPzZ_StoS
1593 UINT64_C(1598094336), // FCVTZSd
1594 UINT64_C(1594948608), // FCVTZSh
1595 UINT64_C(1595997184), // FCVTZSs
1596 UINT64_C(1593423872), // FCVTZSv1f16
1597 UINT64_C(1587656704), // FCVTZSv1i32
1598 UINT64_C(1591851008), // FCVTZSv1i64
1599 UINT64_C(245479424), // FCVTZSv2f32
1600 UINT64_C(1323415552), // FCVTZSv2f64
1601 UINT64_C(253819904), // FCVTZSv2i32_shift
1602 UINT64_C(1329658880), // FCVTZSv2i64_shift
1603 UINT64_C(251246592), // FCVTZSv4f16
1604 UINT64_C(1319221248), // FCVTZSv4f32
1605 UINT64_C(252771328), // FCVTZSv4i16_shift
1606 UINT64_C(1327561728), // FCVTZSv4i32_shift
1607 UINT64_C(1324988416), // FCVTZSv8f16
1608 UINT64_C(1326513152), // FCVTZSv8i16_shift
1609 UINT64_C(2666987520), // FCVTZUDHr
1610 UINT64_C(2654404608), // FCVTZUDSr
1611 UINT64_C(1707947008), // FCVTZUN_Z2Z_DtoS
1612 UINT64_C(1699558400), // FCVTZUN_Z2Z_HtoB
1613 UINT64_C(1703752704), // FCVTZUN_Z2Z_StoH
1614 UINT64_C(511115264), // FCVTZUSDr
1615 UINT64_C(519503872), // FCVTZUSHr
1616 UINT64_C(509181952), // FCVTZUSWDri
1617 UINT64_C(517570560), // FCVTZUSWHri
1618 UINT64_C(504987648), // FCVTZUSWSri
1619 UINT64_C(2656632832), // FCVTZUSXDri
1620 UINT64_C(2665021440), // FCVTZUSXHri
1621 UINT64_C(2652438528), // FCVTZUSXSri
1622 UINT64_C(511246336), // FCVTZUUWDr
1623 UINT64_C(519634944), // FCVTZUUWHr
1624 UINT64_C(507052032), // FCVTZUUWSr
1625 UINT64_C(2658729984), // FCVTZUUXDr
1626 UINT64_C(2667118592), // FCVTZUUXHr
1627 UINT64_C(2654535680), // FCVTZUUXSr
1628 UINT64_C(3240222752), // FCVTZU_2Z2Z_StoS
1629 UINT64_C(3241271328), // FCVTZU_4Z4Z_StoS
1630 UINT64_C(1709154304), // FCVTZU_ZPmZ_DtoD
1631 UINT64_C(1708761088), // FCVTZU_ZPmZ_DtoS
1632 UINT64_C(1700765696), // FCVTZU_ZPmZ_HtoD
1633 UINT64_C(1700503552), // FCVTZU_ZPmZ_HtoH
1634 UINT64_C(1700634624), // FCVTZU_ZPmZ_HtoS
1635 UINT64_C(1709023232), // FCVTZU_ZPmZ_StoD
1636 UINT64_C(1704828928), // FCVTZU_ZPmZ_StoS
1637 UINT64_C(1692393472), // FCVTZU_ZPzZ_DtoD
1638 UINT64_C(1692311552), // FCVTZU_ZPzZ_DtoS
1639 UINT64_C(1684004864), // FCVTZU_ZPzZ_HtoD
1640 UINT64_C(1683939328), // FCVTZU_ZPzZ_HtoH
1641 UINT64_C(1683988480), // FCVTZU_ZPzZ_HtoS
1642 UINT64_C(1692377088), // FCVTZU_ZPzZ_StoD
1643 UINT64_C(1688182784), // FCVTZU_ZPzZ_StoS
1644 UINT64_C(2134965248), // FCVTZUd
1645 UINT64_C(2131819520), // FCVTZUh
1646 UINT64_C(2132868096), // FCVTZUs
1647 UINT64_C(2130294784), // FCVTZUv1f16
1648 UINT64_C(2124527616), // FCVTZUv1i32
1649 UINT64_C(2128721920), // FCVTZUv1i64
1650 UINT64_C(782350336), // FCVTZUv2f32
1651 UINT64_C(1860286464), // FCVTZUv2f64
1652 UINT64_C(790690816), // FCVTZUv2i32_shift
1653 UINT64_C(1866529792), // FCVTZUv2i64_shift
1654 UINT64_C(788117504), // FCVTZUv4f16
1655 UINT64_C(1856092160), // FCVTZUv4f32
1656 UINT64_C(789642240), // FCVTZUv4i16_shift
1657 UINT64_C(1864432640), // FCVTZUv4i32_shift
1658 UINT64_C(1861859328), // FCVTZUv8f16
1659 UINT64_C(1863384064), // FCVTZUv8i16_shift
1660 UINT64_C(3248545792), // FCVT_2ZZ_H_S
1661 UINT64_C(3240419328), // FCVT_Z2Z_HtoB
1662 UINT64_C(3240157184), // FCVT_Z2Z_StoH
1663 UINT64_C(3241467904), // FCVT_Z4Z_StoB
1664 UINT64_C(1707646976), // FCVT_ZPmZ_DtoH
1665 UINT64_C(1707778048), // FCVT_ZPmZ_DtoS
1666 UINT64_C(1707712512), // FCVT_ZPmZ_HtoD
1667 UINT64_C(1703518208), // FCVT_ZPmZ_HtoS
1668 UINT64_C(1707843584), // FCVT_ZPmZ_StoD
1669 UINT64_C(1703452672), // FCVT_ZPmZ_StoH
1670 UINT64_C(1692041216), // FCVT_ZPzZ_DtoH
1671 UINT64_C(1692057600), // FCVT_ZPzZ_DtoS
1672 UINT64_C(1692049408), // FCVT_ZPzZ_HtoD
1673 UINT64_C(1687855104), // FCVT_ZPzZ_HtoS
1674 UINT64_C(1692065792), // FCVT_ZPzZ_StoD
1675 UINT64_C(1687846912), // FCVT_ZPzZ_StoH
1676 UINT64_C(509614080), // FDIVDrr
1677 UINT64_C(518002688), // FDIVHrr
1678 UINT64_C(1707900928), // FDIVR_ZPmZ_D
1679 UINT64_C(1699512320), // FDIVR_ZPmZ_H
1680 UINT64_C(1703706624), // FDIVR_ZPmZ_S
1681 UINT64_C(505419776), // FDIVSrr
1682 UINT64_C(1707966464), // FDIV_ZPmZ_D
1683 UINT64_C(1699577856), // FDIV_ZPmZ_H
1684 UINT64_C(1703772160), // FDIV_ZPmZ_S
1685 UINT64_C(773913600), // FDIVv2f32
1686 UINT64_C(1851849728), // FDIVv2f64
1687 UINT64_C(775961600), // FDIVv4f16
1688 UINT64_C(1847655424), // FDIVv4f32
1689 UINT64_C(1849703424), // FDIVv8f16
1690 UINT64_C(3248492576), // FDOT_VG2_M2Z2Z_BtoH
1691 UINT64_C(3248492592), // FDOT_VG2_M2Z2Z_BtoS
1692 UINT64_C(3248492544), // FDOT_VG2_M2Z2Z_HtoS
1693 UINT64_C(3251634208), // FDOT_VG2_M2ZZI_BtoH
1694 UINT64_C(3243245624), // FDOT_VG2_M2ZZI_BtoS
1695 UINT64_C(3243249672), // FDOT_VG2_M2ZZI_HtoS
1696 UINT64_C(3240103944), // FDOT_VG2_M2ZZ_BtoH
1697 UINT64_C(3240103960), // FDOT_VG2_M2ZZ_BtoS
1698 UINT64_C(3240103936), // FDOT_VG2_M2ZZ_HtoS
1699 UINT64_C(3248558112), // FDOT_VG4_M4Z4Z_BtoH
1700 UINT64_C(3248558128), // FDOT_VG4_M4Z4Z_BtoS
1701 UINT64_C(3248558080), // FDOT_VG4_M4Z4Z_HtoS
1702 UINT64_C(3239088192), // FDOT_VG4_M4ZZI_BtoH
1703 UINT64_C(3243278344), // FDOT_VG4_M4ZZI_BtoS
1704 UINT64_C(3243282440), // FDOT_VG4_M4ZZI_HtoS
1705 UINT64_C(3241152520), // FDOT_VG4_M4ZZ_BtoH
1706 UINT64_C(3241152536), // FDOT_VG4_M4ZZ_BtoS
1707 UINT64_C(3241152512), // FDOT_VG4_M4ZZ_HtoS
1708 UINT64_C(1679836160), // FDOT_ZZZI_BtoH
1709 UINT64_C(1684030464), // FDOT_ZZZI_BtoS
1710 UINT64_C(1679835136), // FDOT_ZZZI_S
1711 UINT64_C(1679852544), // FDOT_ZZZ_BtoH
1712 UINT64_C(1684046848), // FDOT_ZZZ_BtoS
1713 UINT64_C(1679851520), // FDOT_ZZZ_S
1714 UINT64_C(251658240), // FDOTlanev2f32
1715 UINT64_C(255852544), // FDOTlanev4f16
1716 UINT64_C(255889408), // FDOTlanev4f16_v2f32
1717 UINT64_C(1325400064), // FDOTlanev4f32
1718 UINT64_C(1329594368), // FDOTlanev8f16
1719 UINT64_C(1329631232), // FDOTlanev8f16_v4f32
1720 UINT64_C(234945536), // FDOTv2f32
1721 UINT64_C(239139840), // FDOTv4f16
1722 UINT64_C(243334144), // FDOTv4f16_v2f32
1723 UINT64_C(1308687360), // FDOTv4f32
1724 UINT64_C(1312881664), // FDOTv8f16
1725 UINT64_C(1317075968), // FDOTv8f16_v4f32
1726 UINT64_C(637124608), // FDUP_ZI_D
1727 UINT64_C(628736000), // FDUP_ZI_H
1728 UINT64_C(632930304), // FDUP_ZI_S
1729 UINT64_C(81836032), // FEXPA_ZZ_D
1730 UINT64_C(73447424), // FEXPA_ZZ_H
1731 UINT64_C(77641728), // FEXPA_ZZ_S
1732 UINT64_C(622952448), // FIRSTP_XPP_B
1733 UINT64_C(635535360), // FIRSTP_XPP_D
1734 UINT64_C(627146752), // FIRSTP_XPP_H
1735 UINT64_C(631341056), // FIRSTP_XPP_S
1736 UINT64_C(511574016), // FJCVTZS
1737 UINT64_C(1696505856), // FLOGB_ZPmZ_D
1738 UINT64_C(1696243712), // FLOGB_ZPmZ_H
1739 UINT64_C(1696374784), // FLOGB_ZPmZ_S
1740 UINT64_C(1679745024), // FLOGB_ZPzZ_D
1741 UINT64_C(1679728640), // FLOGB_ZPzZ_H
1742 UINT64_C(1679736832), // FLOGB_ZPzZ_S
1743 UINT64_C(524288000), // FMADDDrrr
1744 UINT64_C(532676608), // FMADDHrrr
1745 UINT64_C(520093696), // FMADDSrrr
1746 UINT64_C(1709211648), // FMAD_ZPmZZ_D
1747 UINT64_C(1700823040), // FMAD_ZPmZZ_H
1748 UINT64_C(1705017344), // FMAD_ZPmZZ_S
1749 UINT64_C(509626368), // FMAXDrr
1750 UINT64_C(518014976), // FMAXHrr
1751 UINT64_C(509634560), // FMAXNMDrr
1752 UINT64_C(518023168), // FMAXNMHrr
1753 UINT64_C(1691648000), // FMAXNMP_ZPmZZ_D
1754 UINT64_C(1683259392), // FMAXNMP_ZPmZZ_H
1755 UINT64_C(1687453696), // FMAXNMP_ZPmZZ_S
1756 UINT64_C(773899264), // FMAXNMPv2f32
1757 UINT64_C(1851835392), // FMAXNMPv2f64
1758 UINT64_C(1580255232), // FMAXNMPv2i16p
1759 UINT64_C(2117126144), // FMAXNMPv2i32p
1760 UINT64_C(2121320448), // FMAXNMPv2i64p
1761 UINT64_C(775947264), // FMAXNMPv4f16
1762 UINT64_C(1847641088), // FMAXNMPv4f32
1763 UINT64_C(1849689088), // FMAXNMPv8f16
1764 UINT64_C(1691656192), // FMAXNMQV_D
1765 UINT64_C(1683267584), // FMAXNMQV_H
1766 UINT64_C(1687461888), // FMAXNMQV_S
1767 UINT64_C(505440256), // FMAXNMSrr
1768 UINT64_C(1707352064), // FMAXNMV_VPZ_D
1769 UINT64_C(1698963456), // FMAXNMV_VPZ_H
1770 UINT64_C(1703157760), // FMAXNMV_VPZ_S
1771 UINT64_C(238077952), // FMAXNMVv4i16v
1772 UINT64_C(1848690688), // FMAXNMVv4i32v
1773 UINT64_C(1311819776), // FMAXNMVv8i16v
1774 UINT64_C(3252728096), // FMAXNM_VG2_2Z2Z_D
1775 UINT64_C(3244339488), // FMAXNM_VG2_2Z2Z_H
1776 UINT64_C(3248533792), // FMAXNM_VG2_2Z2Z_S
1777 UINT64_C(3252724000), // FMAXNM_VG2_2ZZ_D
1778 UINT64_C(3244335392), // FMAXNM_VG2_2ZZ_H
1779 UINT64_C(3248529696), // FMAXNM_VG2_2ZZ_S
1780 UINT64_C(3252730144), // FMAXNM_VG4_4Z4Z_D
1781 UINT64_C(3244341536), // FMAXNM_VG4_4Z4Z_H
1782 UINT64_C(3248535840), // FMAXNM_VG4_4Z4Z_S
1783 UINT64_C(3252726048), // FMAXNM_VG4_4ZZ_D
1784 UINT64_C(3244337440), // FMAXNM_VG4_4ZZ_H
1785 UINT64_C(3248531744), // FMAXNM_VG4_4ZZ_S
1786 UINT64_C(1708949504), // FMAXNM_ZPmI_D
1787 UINT64_C(1700560896), // FMAXNM_ZPmI_H
1788 UINT64_C(1704755200), // FMAXNM_ZPmI_S
1789 UINT64_C(1707376640), // FMAXNM_ZPmZ_D
1790 UINT64_C(1698988032), // FMAXNM_ZPmZ_H
1791 UINT64_C(1703182336), // FMAXNM_ZPmZ_S
1792 UINT64_C(237028352), // FMAXNMv2f32
1793 UINT64_C(1314964480), // FMAXNMv2f64
1794 UINT64_C(239076352), // FMAXNMv4f16
1795 UINT64_C(1310770176), // FMAXNMv4f32
1796 UINT64_C(1312818176), // FMAXNMv8f16
1797 UINT64_C(1691779072), // FMAXP_ZPmZZ_D
1798 UINT64_C(1683390464), // FMAXP_ZPmZZ_H
1799 UINT64_C(1687584768), // FMAXP_ZPmZZ_S
1800 UINT64_C(773911552), // FMAXPv2f32
1801 UINT64_C(1851847680), // FMAXPv2f64
1802 UINT64_C(1580267520), // FMAXPv2i16p
1803 UINT64_C(2117138432), // FMAXPv2i32p
1804 UINT64_C(2121332736), // FMAXPv2i64p
1805 UINT64_C(775959552), // FMAXPv4f16
1806 UINT64_C(1847653376), // FMAXPv4f32
1807 UINT64_C(1849701376), // FMAXPv8f16
1808 UINT64_C(1691787264), // FMAXQV_D
1809 UINT64_C(1683398656), // FMAXQV_H
1810 UINT64_C(1687592960), // FMAXQV_S
1811 UINT64_C(505432064), // FMAXSrr
1812 UINT64_C(1707483136), // FMAXV_VPZ_D
1813 UINT64_C(1699094528), // FMAXV_VPZ_H
1814 UINT64_C(1703288832), // FMAXV_VPZ_S
1815 UINT64_C(238090240), // FMAXVv4i16v
1816 UINT64_C(1848702976), // FMAXVv4i32v
1817 UINT64_C(1311832064), // FMAXVv8i16v
1818 UINT64_C(3252728064), // FMAX_VG2_2Z2Z_D
1819 UINT64_C(3244339456), // FMAX_VG2_2Z2Z_H
1820 UINT64_C(3248533760), // FMAX_VG2_2Z2Z_S
1821 UINT64_C(3252723968), // FMAX_VG2_2ZZ_D
1822 UINT64_C(3244335360), // FMAX_VG2_2ZZ_H
1823 UINT64_C(3248529664), // FMAX_VG2_2ZZ_S
1824 UINT64_C(3252730112), // FMAX_VG4_4Z4Z_D
1825 UINT64_C(3244341504), // FMAX_VG4_4Z4Z_H
1826 UINT64_C(3248535808), // FMAX_VG4_4Z4Z_S
1827 UINT64_C(3252726016), // FMAX_VG4_4ZZ_D
1828 UINT64_C(3244337408), // FMAX_VG4_4ZZ_H
1829 UINT64_C(3248531712), // FMAX_VG4_4ZZ_S
1830 UINT64_C(1709080576), // FMAX_ZPmI_D
1831 UINT64_C(1700691968), // FMAX_ZPmI_H
1832 UINT64_C(1704886272), // FMAX_ZPmI_S
1833 UINT64_C(1707507712), // FMAX_ZPmZ_D
1834 UINT64_C(1699119104), // FMAX_ZPmZ_H
1835 UINT64_C(1703313408), // FMAX_ZPmZ_S
1836 UINT64_C(237040640), // FMAXv2f32
1837 UINT64_C(1314976768), // FMAXv2f64
1838 UINT64_C(239088640), // FMAXv4f16
1839 UINT64_C(1310782464), // FMAXv4f32
1840 UINT64_C(1312830464), // FMAXv8f16
1841 UINT64_C(509630464), // FMINDrr
1842 UINT64_C(518019072), // FMINHrr
1843 UINT64_C(509638656), // FMINNMDrr
1844 UINT64_C(518027264), // FMINNMHrr
1845 UINT64_C(1691713536), // FMINNMP_ZPmZZ_D
1846 UINT64_C(1683324928), // FMINNMP_ZPmZZ_H
1847 UINT64_C(1687519232), // FMINNMP_ZPmZZ_S
1848 UINT64_C(782287872), // FMINNMPv2f32
1849 UINT64_C(1860224000), // FMINNMPv2f64
1850 UINT64_C(1588643840), // FMINNMPv2i16p
1851 UINT64_C(2125514752), // FMINNMPv2i32p
1852 UINT64_C(2129709056), // FMINNMPv2i64p
1853 UINT64_C(784335872), // FMINNMPv4f16
1854 UINT64_C(1856029696), // FMINNMPv4f32
1855 UINT64_C(1858077696), // FMINNMPv8f16
1856 UINT64_C(1691721728), // FMINNMQV_D
1857 UINT64_C(1683333120), // FMINNMQV_H
1858 UINT64_C(1687527424), // FMINNMQV_S
1859 UINT64_C(505444352), // FMINNMSrr
1860 UINT64_C(1707417600), // FMINNMV_VPZ_D
1861 UINT64_C(1699028992), // FMINNMV_VPZ_H
1862 UINT64_C(1703223296), // FMINNMV_VPZ_S
1863 UINT64_C(246466560), // FMINNMVv4i16v
1864 UINT64_C(1857079296), // FMINNMVv4i32v
1865 UINT64_C(1320208384), // FMINNMVv8i16v
1866 UINT64_C(3252728097), // FMINNM_VG2_2Z2Z_D
1867 UINT64_C(3244339489), // FMINNM_VG2_2Z2Z_H
1868 UINT64_C(3248533793), // FMINNM_VG2_2Z2Z_S
1869 UINT64_C(3252724001), // FMINNM_VG2_2ZZ_D
1870 UINT64_C(3244335393), // FMINNM_VG2_2ZZ_H
1871 UINT64_C(3248529697), // FMINNM_VG2_2ZZ_S
1872 UINT64_C(3252730145), // FMINNM_VG4_4Z4Z_D
1873 UINT64_C(3244341537), // FMINNM_VG4_4Z4Z_H
1874 UINT64_C(3248535841), // FMINNM_VG4_4Z4Z_S
1875 UINT64_C(3252726049), // FMINNM_VG4_4ZZ_D
1876 UINT64_C(3244337441), // FMINNM_VG4_4ZZ_H
1877 UINT64_C(3248531745), // FMINNM_VG4_4ZZ_S
1878 UINT64_C(1709015040), // FMINNM_ZPmI_D
1879 UINT64_C(1700626432), // FMINNM_ZPmI_H
1880 UINT64_C(1704820736), // FMINNM_ZPmI_S
1881 UINT64_C(1707442176), // FMINNM_ZPmZ_D
1882 UINT64_C(1699053568), // FMINNM_ZPmZ_H
1883 UINT64_C(1703247872), // FMINNM_ZPmZ_S
1884 UINT64_C(245416960), // FMINNMv2f32
1885 UINT64_C(1323353088), // FMINNMv2f64
1886 UINT64_C(247464960), // FMINNMv4f16
1887 UINT64_C(1319158784), // FMINNMv4f32
1888 UINT64_C(1321206784), // FMINNMv8f16
1889 UINT64_C(1691844608), // FMINP_ZPmZZ_D
1890 UINT64_C(1683456000), // FMINP_ZPmZZ_H
1891 UINT64_C(1687650304), // FMINP_ZPmZZ_S
1892 UINT64_C(782300160), // FMINPv2f32
1893 UINT64_C(1860236288), // FMINPv2f64
1894 UINT64_C(1588656128), // FMINPv2i16p
1895 UINT64_C(2125527040), // FMINPv2i32p
1896 UINT64_C(2129721344), // FMINPv2i64p
1897 UINT64_C(784348160), // FMINPv4f16
1898 UINT64_C(1856041984), // FMINPv4f32
1899 UINT64_C(1858089984), // FMINPv8f16
1900 UINT64_C(1691852800), // FMINQV_D
1901 UINT64_C(1683464192), // FMINQV_H
1902 UINT64_C(1687658496), // FMINQV_S
1903 UINT64_C(505436160), // FMINSrr
1904 UINT64_C(1707548672), // FMINV_VPZ_D
1905 UINT64_C(1699160064), // FMINV_VPZ_H
1906 UINT64_C(1703354368), // FMINV_VPZ_S
1907 UINT64_C(246478848), // FMINVv4i16v
1908 UINT64_C(1857091584), // FMINVv4i32v
1909 UINT64_C(1320220672), // FMINVv8i16v
1910 UINT64_C(3252728065), // FMIN_VG2_2Z2Z_D
1911 UINT64_C(3244339457), // FMIN_VG2_2Z2Z_H
1912 UINT64_C(3248533761), // FMIN_VG2_2Z2Z_S
1913 UINT64_C(3252723969), // FMIN_VG2_2ZZ_D
1914 UINT64_C(3244335361), // FMIN_VG2_2ZZ_H
1915 UINT64_C(3248529665), // FMIN_VG2_2ZZ_S
1916 UINT64_C(3252730113), // FMIN_VG4_4Z4Z_D
1917 UINT64_C(3244341505), // FMIN_VG4_4Z4Z_H
1918 UINT64_C(3248535809), // FMIN_VG4_4Z4Z_S
1919 UINT64_C(3252726017), // FMIN_VG4_4ZZ_D
1920 UINT64_C(3244337409), // FMIN_VG4_4ZZ_H
1921 UINT64_C(3248531713), // FMIN_VG4_4ZZ_S
1922 UINT64_C(1709146112), // FMIN_ZPmI_D
1923 UINT64_C(1700757504), // FMIN_ZPmI_H
1924 UINT64_C(1704951808), // FMIN_ZPmI_S
1925 UINT64_C(1707573248), // FMIN_ZPmZ_D
1926 UINT64_C(1699184640), // FMIN_ZPmZ_H
1927 UINT64_C(1703378944), // FMIN_ZPmZ_S
1928 UINT64_C(245429248), // FMINv2f32
1929 UINT64_C(1323365376), // FMINv2f64
1930 UINT64_C(247477248), // FMINv4f16
1931 UINT64_C(1319171072), // FMINv4f32
1932 UINT64_C(1321219072), // FMINv8f16
1933 UINT64_C(796950528), // FMLAL2lanev4f16
1934 UINT64_C(1870692352), // FMLAL2lanev8f16
1935 UINT64_C(773901312), // FMLAL2v4f16
1936 UINT64_C(1847643136), // FMLAL2v8f16
1937 UINT64_C(1688242176), // FMLALB_ZZZ
1938 UINT64_C(1679839232), // FMLALB_ZZZI
1939 UINT64_C(1688223744), // FMLALB_ZZZI_SHH
1940 UINT64_C(1688240128), // FMLALB_ZZZ_SHH
1941 UINT64_C(264241152), // FMLALBlanev8f16
1942 UINT64_C(247528448), // FMLALBv16i8_v8f16
1943 UINT64_C(1679853568), // FMLALLBB_ZZZ
1944 UINT64_C(1679867904), // FMLALLBB_ZZZI
1945 UINT64_C(788561920), // FMLALLBBlanev4f32
1946 UINT64_C(234931200), // FMLALLBBv4f32
1947 UINT64_C(1679857664), // FMLALLBT_ZZZ
1948 UINT64_C(1684062208), // FMLALLBT_ZZZI
1949 UINT64_C(792756224), // FMLALLBTlanev4f32
1950 UINT64_C(239125504), // FMLALLBTv4f32
1951 UINT64_C(1679861760), // FMLALLTB_ZZZ
1952 UINT64_C(1688256512), // FMLALLTB_ZZZI
1953 UINT64_C(1862303744), // FMLALLTBlanev4f32
1954 UINT64_C(1308673024), // FMLALLTBv4f32
1955 UINT64_C(1679865856), // FMLALLTT_ZZZ
1956 UINT64_C(1692450816), // FMLALLTT_ZZZI
1957 UINT64_C(1866498048), // FMLALLTTlanev4f32
1958 UINT64_C(1312867328), // FMLALLTTv4f32
1959 UINT64_C(3242196992), // FMLALL_MZZI_BtoS
1960 UINT64_C(3241149440), // FMLALL_MZZ_BtoS
1961 UINT64_C(3248488480), // FMLALL_VG2_M2Z2Z_BtoS
1962 UINT64_C(3247439904), // FMLALL_VG2_M2ZZI_BtoS
1963 UINT64_C(3240099842), // FMLALL_VG2_M2ZZ_BtoS
1964 UINT64_C(3248554016), // FMLALL_VG4_M4Z4Z_BtoS
1965 UINT64_C(3239084096), // FMLALL_VG4_M4ZZI_BtoS
1966 UINT64_C(3241148418), // FMLALL_VG4_M4ZZ_BtoS
1967 UINT64_C(1688246272), // FMLALT_ZZZ
1968 UINT64_C(1688227840), // FMLALT_ZZZI
1969 UINT64_C(1688224768), // FMLALT_ZZZI_SHH
1970 UINT64_C(1688241152), // FMLALT_ZZZ_SHH
1971 UINT64_C(1337982976), // FMLALTlanev8f16
1972 UINT64_C(1321270272), // FMLALTv16i8_v8f16
1973 UINT64_C(3250585600), // FMLAL_MZZI_BtoH
1974 UINT64_C(3246395392), // FMLAL_MZZI_HtoS
1975 UINT64_C(3240102912), // FMLAL_MZZ_HtoS
1976 UINT64_C(3248490528), // FMLAL_VG2_M2Z2Z_BtoH
1977 UINT64_C(3248490496), // FMLAL_VG2_M2Z2Z_HtoS
1978 UINT64_C(3247444016), // FMLAL_VG2_M2ZZI_BtoH
1979 UINT64_C(3247443968), // FMLAL_VG2_M2ZZI_HtoS
1980 UINT64_C(3240101892), // FMLAL_VG2_M2ZZ_BtoH
1981 UINT64_C(3240101888), // FMLAL_VG2_M2ZZ_HtoS
1982 UINT64_C(3241151488), // FMLAL_VG2_MZZ_BtoH
1983 UINT64_C(3248556064), // FMLAL_VG4_M4Z4Z_BtoH
1984 UINT64_C(3248556032), // FMLAL_VG4_M4Z4Z_HtoS
1985 UINT64_C(3247476768), // FMLAL_VG4_M4ZZI_BtoH
1986 UINT64_C(3247476736), // FMLAL_VG4_M4ZZI_HtoS
1987 UINT64_C(3241150468), // FMLAL_VG4_M4ZZ_BtoH
1988 UINT64_C(3241150464), // FMLAL_VG4_M4ZZ_HtoS
1989 UINT64_C(260046848), // FMLALlanev4f16
1990 UINT64_C(1333788672), // FMLALlanev8f16
1991 UINT64_C(237038592), // FMLALv4f16
1992 UINT64_C(1310780416), // FMLALv8f16
1993 UINT64_C(3252688896), // FMLA_VG2_M2Z2Z_D
1994 UINT64_C(3248492552), // FMLA_VG2_M2Z2Z_H
1995 UINT64_C(3248494592), // FMLA_VG2_M2Z2Z_S
1996 UINT64_C(3251634176), // FMLA_VG2_M2ZZI_D
1997 UINT64_C(3239055360), // FMLA_VG2_M2ZZI_H
1998 UINT64_C(3243245568), // FMLA_VG2_M2ZZI_S
1999 UINT64_C(3244300288), // FMLA_VG2_M2ZZ_D
2000 UINT64_C(3240107008), // FMLA_VG2_M2ZZ_H
2001 UINT64_C(3240105984), // FMLA_VG2_M2ZZ_S
2002 UINT64_C(3252754432), // FMLA_VG4_M4Z4Z_D
2003 UINT64_C(3248558088), // FMLA_VG4_M4Z4Z_H
2004 UINT64_C(3248560128), // FMLA_VG4_M4Z4Z_S
2005 UINT64_C(3251666944), // FMLA_VG4_M4ZZI_D
2006 UINT64_C(3239088128), // FMLA_VG4_M4ZZI_H
2007 UINT64_C(3243278336), // FMLA_VG4_M4ZZI_S
2008 UINT64_C(3245348864), // FMLA_VG4_M4ZZ_D
2009 UINT64_C(3241155584), // FMLA_VG4_M4ZZ_H
2010 UINT64_C(3241154560), // FMLA_VG4_M4ZZ_S
2011 UINT64_C(1709178880), // FMLA_ZPmZZ_D
2012 UINT64_C(1700790272), // FMLA_ZPmZZ_H
2013 UINT64_C(1704984576), // FMLA_ZPmZZ_S
2014 UINT64_C(1692401664), // FMLA_ZZZI_D
2015 UINT64_C(1679818752), // FMLA_ZZZI_H
2016 UINT64_C(1688207360), // FMLA_ZZZI_S
2017 UINT64_C(1593839616), // FMLAv1i16_indexed
2018 UINT64_C(1602228224), // FMLAv1i32_indexed
2019 UINT64_C(1606422528), // FMLAv1i64_indexed
2020 UINT64_C(237030400), // FMLAv2f32
2021 UINT64_C(1314966528), // FMLAv2f64
2022 UINT64_C(260050944), // FMLAv2i32_indexed
2023 UINT64_C(1337987072), // FMLAv2i64_indexed
2024 UINT64_C(239078400), // FMLAv4f16
2025 UINT64_C(1310772224), // FMLAv4f32
2026 UINT64_C(251662336), // FMLAv4i16_indexed
2027 UINT64_C(1333792768), // FMLAv4i32_indexed
2028 UINT64_C(1312820224), // FMLAv8f16
2029 UINT64_C(1325404160), // FMLAv8i16_indexed
2030 UINT64_C(1679877120), // FMLLA_ZZZ_HtoS
2031 UINT64_C(796966912), // FMLSL2lanev4f16
2032 UINT64_C(1870708736), // FMLSL2lanev8f16
2033 UINT64_C(782289920), // FMLSL2v4f16
2034 UINT64_C(1856031744), // FMLSL2v8f16
2035 UINT64_C(1688231936), // FMLSLB_ZZZI_SHH
2036 UINT64_C(1688248320), // FMLSLB_ZZZ_SHH
2037 UINT64_C(1688232960), // FMLSLT_ZZZI_SHH
2038 UINT64_C(1688249344), // FMLSLT_ZZZ_SHH
2039 UINT64_C(3246395400), // FMLSL_MZZI_HtoS
2040 UINT64_C(3240102920), // FMLSL_MZZ_HtoS
2041 UINT64_C(3248490504), // FMLSL_VG2_M2Z2Z_HtoS
2042 UINT64_C(3247443976), // FMLSL_VG2_M2ZZI_HtoS
2043 UINT64_C(3240101896), // FMLSL_VG2_M2ZZ_HtoS
2044 UINT64_C(3248556040), // FMLSL_VG4_M4Z4Z_HtoS
2045 UINT64_C(3247476744), // FMLSL_VG4_M4ZZI_HtoS
2046 UINT64_C(3241150472), // FMLSL_VG4_M4ZZ_HtoS
2047 UINT64_C(260063232), // FMLSLlanev4f16
2048 UINT64_C(1333805056), // FMLSLlanev8f16
2049 UINT64_C(245427200), // FMLSLv4f16
2050 UINT64_C(1319169024), // FMLSLv8f16
2051 UINT64_C(3252688904), // FMLS_VG2_M2Z2Z_D
2052 UINT64_C(3248492568), // FMLS_VG2_M2Z2Z_H
2053 UINT64_C(3248494600), // FMLS_VG2_M2Z2Z_S
2054 UINT64_C(3251634192), // FMLS_VG2_M2ZZI_D
2055 UINT64_C(3239055376), // FMLS_VG2_M2ZZI_H
2056 UINT64_C(3243245584), // FMLS_VG2_M2ZZI_S
2057 UINT64_C(3244300296), // FMLS_VG2_M2ZZ_D
2058 UINT64_C(3240107016), // FMLS_VG2_M2ZZ_H
2059 UINT64_C(3240105992), // FMLS_VG2_M2ZZ_S
2060 UINT64_C(3252754440), // FMLS_VG4_M4Z4Z_D
2061 UINT64_C(3248558104), // FMLS_VG4_M4Z4Z_H
2062 UINT64_C(3248560136), // FMLS_VG4_M4Z4Z_S
2063 UINT64_C(3251666960), // FMLS_VG4_M4ZZI_D
2064 UINT64_C(3239088144), // FMLS_VG4_M4ZZI_H
2065 UINT64_C(3243278352), // FMLS_VG4_M4ZZI_S
2066 UINT64_C(3245348872), // FMLS_VG4_M4ZZ_D
2067 UINT64_C(3241155592), // FMLS_VG4_M4ZZ_H
2068 UINT64_C(3241154568), // FMLS_VG4_M4ZZ_S
2069 UINT64_C(1709187072), // FMLS_ZPmZZ_D
2070 UINT64_C(1700798464), // FMLS_ZPmZZ_H
2071 UINT64_C(1704992768), // FMLS_ZPmZZ_S
2072 UINT64_C(1692402688), // FMLS_ZZZI_D
2073 UINT64_C(1679819776), // FMLS_ZZZI_H
2074 UINT64_C(1688208384), // FMLS_ZZZI_S
2075 UINT64_C(1593856000), // FMLSv1i16_indexed
2076 UINT64_C(1602244608), // FMLSv1i32_indexed
2077 UINT64_C(1606438912), // FMLSv1i64_indexed
2078 UINT64_C(245419008), // FMLSv2f32
2079 UINT64_C(1323355136), // FMLSv2f64
2080 UINT64_C(260067328), // FMLSv2i32_indexed
2081 UINT64_C(1338003456), // FMLSv2i64_indexed
2082 UINT64_C(247467008), // FMLSv4f16
2083 UINT64_C(1319160832), // FMLSv4f32
2084 UINT64_C(251678720), // FMLSv4i16_indexed
2085 UINT64_C(1333809152), // FMLSv4i32_indexed
2086 UINT64_C(1321208832), // FMLSv8f16
2087 UINT64_C(1325420544), // FMLSv8i16_indexed
2088 UINT64_C(1684070400), // FMMLA_ZZZ_BtoH
2089 UINT64_C(1679876096), // FMMLA_ZZZ_BtoS
2090 UINT64_C(1692460032), // FMMLA_ZZZ_D
2091 UINT64_C(1688264704), // FMMLA_ZZZ_H
2092 UINT64_C(1688265728), // FMMLA_ZZZ_S
2093 UINT64_C(1853942784), // FMMLAv4f32
2094 UINT64_C(1845554176), // FMMLAv8f16
2095 UINT64_C(1312877568), // FMMLAv8f16_v4f32
2096 UINT64_C(1321266176), // FMMLAv8f16_v8f16
2097 UINT64_C(2150629896), // FMOP4A_M2Z2Z_BtoH
2098 UINT64_C(2150629888), // FMOP4A_M2Z2Z_BtoS
2099 UINT64_C(2161115656), // FMOP4A_M2Z2Z_D
2100 UINT64_C(2165309960), // FMOP4A_M2Z2Z_H
2101 UINT64_C(2167407104), // FMOP4A_M2Z2Z_HtoS
2102 UINT64_C(2148532736), // FMOP4A_M2Z2Z_S
2103 UINT64_C(2149581320), // FMOP4A_M2ZZ_BtoH
2104 UINT64_C(2149581312), // FMOP4A_M2ZZ_BtoS
2105 UINT64_C(2160067080), // FMOP4A_M2ZZ_D
2106 UINT64_C(2164261384), // FMOP4A_M2ZZ_H
2107 UINT64_C(2166358528), // FMOP4A_M2ZZ_HtoS
2108 UINT64_C(2147484160), // FMOP4A_M2ZZ_S
2109 UINT64_C(2150629384), // FMOP4A_MZ2Z_BtoH
2110 UINT64_C(2150629376), // FMOP4A_MZ2Z_BtoS
2111 UINT64_C(2161115144), // FMOP4A_MZ2Z_D
2112 UINT64_C(2165309448), // FMOP4A_MZ2Z_H
2113 UINT64_C(2167406592), // FMOP4A_MZ2Z_HtoS
2114 UINT64_C(2148532224), // FMOP4A_MZ2Z_S
2115 UINT64_C(2149580808), // FMOP4A_MZZ_BtoH
2116 UINT64_C(2149580800), // FMOP4A_MZZ_BtoS
2117 UINT64_C(2160066568), // FMOP4A_MZZ_D
2118 UINT64_C(2164260872), // FMOP4A_MZZ_H
2119 UINT64_C(2166358016), // FMOP4A_MZZ_HtoS
2120 UINT64_C(2147483648), // FMOP4A_MZZ_S
2121 UINT64_C(2161115672), // FMOP4S_M2Z2Z_D
2122 UINT64_C(2165309976), // FMOP4S_M2Z2Z_H
2123 UINT64_C(2167407120), // FMOP4S_M2Z2Z_HtoS
2124 UINT64_C(2148532752), // FMOP4S_M2Z2Z_S
2125 UINT64_C(2160067096), // FMOP4S_M2ZZ_D
2126 UINT64_C(2164261400), // FMOP4S_M2ZZ_H
2127 UINT64_C(2166358544), // FMOP4S_M2ZZ_HtoS
2128 UINT64_C(2147484176), // FMOP4S_M2ZZ_S
2129 UINT64_C(2161115160), // FMOP4S_MZ2Z_D
2130 UINT64_C(2165309464), // FMOP4S_MZ2Z_H
2131 UINT64_C(2167406608), // FMOP4S_MZ2Z_HtoS
2132 UINT64_C(2148532240), // FMOP4S_MZ2Z_S
2133 UINT64_C(2160066584), // FMOP4S_MZZ_D
2134 UINT64_C(2164260888), // FMOP4S_MZZ_H
2135 UINT64_C(2166358032), // FMOP4S_MZZ_HtoS
2136 UINT64_C(2147483664), // FMOP4S_MZZ_S
2137 UINT64_C(2174746624), // FMOPAL_MPPZZ
2138 UINT64_C(2157969416), // FMOPA_MPPZZ_BtoH
2139 UINT64_C(2157969408), // FMOPA_MPPZZ_BtoS
2140 UINT64_C(2160066560), // FMOPA_MPPZZ_D
2141 UINT64_C(2172649480), // FMOPA_MPPZZ_H
2142 UINT64_C(2155872256), // FMOPA_MPPZZ_S
2143 UINT64_C(2174746640), // FMOPSL_MPPZZ
2144 UINT64_C(2160066576), // FMOPS_MPPZZ_D
2145 UINT64_C(2172649496), // FMOPS_MPPZZ_H
2146 UINT64_C(2155872272), // FMOPS_MPPZZ_S
2147 UINT64_C(2662203392), // FMOVDXHighr
2148 UINT64_C(2657484800), // FMOVDXr
2149 UINT64_C(509612032), // FMOVDi
2150 UINT64_C(509624320), // FMOVDr
2151 UINT64_C(518389760), // FMOVHWr
2152 UINT64_C(2665873408), // FMOVHXr
2153 UINT64_C(518000640), // FMOVHi
2154 UINT64_C(518012928), // FMOVHr
2155 UINT64_C(505806848), // FMOVSWr
2156 UINT64_C(505417728), // FMOVSi
2157 UINT64_C(505430016), // FMOVSr
2158 UINT64_C(518455296), // FMOVWHr
2159 UINT64_C(505872384), // FMOVWSr
2160 UINT64_C(2662268928), // FMOVXDHighr
2161 UINT64_C(2657550336), // FMOVXDr
2162 UINT64_C(2665938944), // FMOVXHr
2163 UINT64_C(251720704), // FMOVv2f32_ns
2164 UINT64_C(1862333440), // FMOVv2f64_ns
2165 UINT64_C(251722752), // FMOVv4f16_ns
2166 UINT64_C(1325462528), // FMOVv4f32_ns
2167 UINT64_C(1325464576), // FMOVv8f16_ns
2168 UINT64_C(1709219840), // FMSB_ZPmZZ_D
2169 UINT64_C(1700831232), // FMSB_ZPmZZ_H
2170 UINT64_C(1705025536), // FMSB_ZPmZZ_S
2171 UINT64_C(524320768), // FMSUBDrrr
2172 UINT64_C(532709376), // FMSUBHrrr
2173 UINT64_C(520126464), // FMSUBSrrr
2174 UINT64_C(509609984), // FMULDrr
2175 UINT64_C(517998592), // FMULHrr
2176 UINT64_C(505415680), // FMULSrr
2177 UINT64_C(1581259776), // FMULX16
2178 UINT64_C(1579211776), // FMULX32
2179 UINT64_C(1583406080), // FMULX64
2180 UINT64_C(1707769856), // FMULX_ZPmZ_D
2181 UINT64_C(1699381248), // FMULX_ZPmZ_H
2182 UINT64_C(1703575552), // FMULX_ZPmZ_S
2183 UINT64_C(2130743296), // FMULXv1i16_indexed
2184 UINT64_C(2139131904), // FMULXv1i32_indexed
2185 UINT64_C(2143326208), // FMULXv1i64_indexed
2186 UINT64_C(237034496), // FMULXv2f32
2187 UINT64_C(1314970624), // FMULXv2f64
2188 UINT64_C(796954624), // FMULXv2i32_indexed
2189 UINT64_C(1874890752), // FMULXv2i64_indexed
2190 UINT64_C(239082496), // FMULXv4f16
2191 UINT64_C(1310776320), // FMULXv4f32
2192 UINT64_C(788566016), // FMULXv4i16_indexed
2193 UINT64_C(1870696448), // FMULXv4i32_indexed
2194 UINT64_C(1312824320), // FMULXv8f16
2195 UINT64_C(1862307840), // FMULXv8i16_indexed
2196 UINT64_C(3252741120), // FMUL_2Z2Z_D
2197 UINT64_C(3244352512), // FMUL_2Z2Z_H
2198 UINT64_C(3248546816), // FMUL_2Z2Z_S
2199 UINT64_C(3252742144), // FMUL_2ZZ_D
2200 UINT64_C(3244353536), // FMUL_2ZZ_H
2201 UINT64_C(3248547840), // FMUL_2ZZ_S
2202 UINT64_C(3252806656), // FMUL_4Z4Z_D
2203 UINT64_C(3244418048), // FMUL_4Z4Z_H
2204 UINT64_C(3248612352), // FMUL_4Z4Z_S
2205 UINT64_C(3252807680), // FMUL_4ZZ_D
2206 UINT64_C(3244419072), // FMUL_4ZZ_H
2207 UINT64_C(3248613376), // FMUL_4ZZ_S
2208 UINT64_C(1708818432), // FMUL_ZPmI_D
2209 UINT64_C(1700429824), // FMUL_ZPmI_H
2210 UINT64_C(1704624128), // FMUL_ZPmI_S
2211 UINT64_C(1707245568), // FMUL_ZPmZ_D
2212 UINT64_C(1698856960), // FMUL_ZPmZ_H
2213 UINT64_C(1703051264), // FMUL_ZPmZ_S
2214 UINT64_C(1692409856), // FMUL_ZZZI_D
2215 UINT64_C(1679826944), // FMUL_ZZZI_H
2216 UINT64_C(1688215552), // FMUL_ZZZI_S
2217 UINT64_C(1707083776), // FMUL_ZZZ_D
2218 UINT64_C(1698695168), // FMUL_ZZZ_H
2219 UINT64_C(1702889472), // FMUL_ZZZ_S
2220 UINT64_C(1593872384), // FMULv1i16_indexed
2221 UINT64_C(1602260992), // FMULv1i32_indexed
2222 UINT64_C(1606455296), // FMULv1i64_indexed
2223 UINT64_C(773905408), // FMULv2f32
2224 UINT64_C(1851841536), // FMULv2f64
2225 UINT64_C(260083712), // FMULv2i32_indexed
2226 UINT64_C(1338019840), // FMULv2i64_indexed
2227 UINT64_C(775953408), // FMULv4f16
2228 UINT64_C(1847647232), // FMULv4f32
2229 UINT64_C(251695104), // FMULv4i16_indexed
2230 UINT64_C(1333825536), // FMULv4i32_indexed
2231 UINT64_C(1849695232), // FMULv8f16
2232 UINT64_C(1325436928), // FMULv8i16_indexed
2233 UINT64_C(509689856), // FNEGDr
2234 UINT64_C(518078464), // FNEGHr
2235 UINT64_C(505495552), // FNEGSr
2236 UINT64_C(81633280), // FNEG_ZPmZ_D
2237 UINT64_C(73244672), // FNEG_ZPmZ_H
2238 UINT64_C(77438976), // FNEG_ZPmZ_S
2239 UINT64_C(80584704), // FNEG_ZPzZ_D
2240 UINT64_C(72196096), // FNEG_ZPzZ_H
2241 UINT64_C(76390400), // FNEG_ZPzZ_S
2242 UINT64_C(782301184), // FNEGv2f32
2243 UINT64_C(1860237312), // FNEGv2f64
2244 UINT64_C(788068352), // FNEGv4f16
2245 UINT64_C(1856043008), // FNEGv4f32
2246 UINT64_C(1861810176), // FNEGv8f16
2247 UINT64_C(526385152), // FNMADDDrrr
2248 UINT64_C(534773760), // FNMADDHrrr
2249 UINT64_C(522190848), // FNMADDSrrr
2250 UINT64_C(1709228032), // FNMAD_ZPmZZ_D
2251 UINT64_C(1700839424), // FNMAD_ZPmZZ_H
2252 UINT64_C(1705033728), // FNMAD_ZPmZZ_S
2253 UINT64_C(1709195264), // FNMLA_ZPmZZ_D
2254 UINT64_C(1700806656), // FNMLA_ZPmZZ_H
2255 UINT64_C(1705000960), // FNMLA_ZPmZZ_S
2256 UINT64_C(1709203456), // FNMLS_ZPmZZ_D
2257 UINT64_C(1700814848), // FNMLS_ZPmZZ_H
2258 UINT64_C(1705009152), // FNMLS_ZPmZZ_S
2259 UINT64_C(1709236224), // FNMSB_ZPmZZ_D
2260 UINT64_C(1700847616), // FNMSB_ZPmZZ_H
2261 UINT64_C(1705041920), // FNMSB_ZPmZZ_S
2262 UINT64_C(526417920), // FNMSUBDrrr
2263 UINT64_C(534806528), // FNMSUBHrrr
2264 UINT64_C(522223616), // FNMSUBSrrr
2265 UINT64_C(509642752), // FNMULDrr
2266 UINT64_C(518031360), // FNMULHrr
2267 UINT64_C(505448448), // FNMULSrr
2268 UINT64_C(1708011520), // FRECPE_ZZ_D
2269 UINT64_C(1699622912), // FRECPE_ZZ_H
2270 UINT64_C(1703817216), // FRECPE_ZZ_S
2271 UINT64_C(1593432064), // FRECPEv1f16
2272 UINT64_C(1587664896), // FRECPEv1i32
2273 UINT64_C(1591859200), // FRECPEv1i64
2274 UINT64_C(245487616), // FRECPEv2f32
2275 UINT64_C(1323423744), // FRECPEv2f64
2276 UINT64_C(251254784), // FRECPEv4f16
2277 UINT64_C(1319229440), // FRECPEv4f32
2278 UINT64_C(1324996608), // FRECPEv8f16
2279 UINT64_C(1581267968), // FRECPS16
2280 UINT64_C(1579219968), // FRECPS32
2281 UINT64_C(1583414272), // FRECPS64
2282 UINT64_C(1707087872), // FRECPS_ZZZ_D
2283 UINT64_C(1698699264), // FRECPS_ZZZ_H
2284 UINT64_C(1702893568), // FRECPS_ZZZ_S
2285 UINT64_C(237042688), // FRECPSv2f32
2286 UINT64_C(1314978816), // FRECPSv2f64
2287 UINT64_C(239090688), // FRECPSv4f16
2288 UINT64_C(1310784512), // FRECPSv4f32
2289 UINT64_C(1312832512), // FRECPSv8f16
2290 UINT64_C(1707909120), // FRECPX_ZPmZ_D
2291 UINT64_C(1699520512), // FRECPX_ZPmZ_H
2292 UINT64_C(1703714816), // FRECPX_ZPmZ_S
2293 UINT64_C(1692106752), // FRECPX_ZPzZ_D
2294 UINT64_C(1683718144), // FRECPX_ZPzZ_H
2295 UINT64_C(1687912448), // FRECPX_ZPzZ_S
2296 UINT64_C(1593440256), // FRECPXv1f16
2297 UINT64_C(1587673088), // FRECPXv1i32
2298 UINT64_C(1591867392), // FRECPXv1i64
2299 UINT64_C(510181376), // FRINT32XDr
2300 UINT64_C(505987072), // FRINT32XSr
2301 UINT64_C(1695784960), // FRINT32X_ZPmZ_D
2302 UINT64_C(1695653888), // FRINT32X_ZPmZ_S
2303 UINT64_C(1679613952), // FRINT32X_ZPzZ_D
2304 UINT64_C(1679597568), // FRINT32X_ZPzZ_S
2305 UINT64_C(773974016), // FRINT32Xv2f32
2306 UINT64_C(1851910144), // FRINT32Xv2f64
2307 UINT64_C(1847715840), // FRINT32Xv4f32
2308 UINT64_C(510148608), // FRINT32ZDr
2309 UINT64_C(505954304), // FRINT32ZSr
2310 UINT64_C(1695719424), // FRINT32Z_ZPmZ_D
2311 UINT64_C(1695588352), // FRINT32Z_ZPmZ_S
2312 UINT64_C(1679605760), // FRINT32Z_ZPzZ_D
2313 UINT64_C(1679589376), // FRINT32Z_ZPzZ_S
2314 UINT64_C(237103104), // FRINT32Zv2f32
2315 UINT64_C(1315039232), // FRINT32Zv2f64
2316 UINT64_C(1310844928), // FRINT32Zv4f32
2317 UINT64_C(510246912), // FRINT64XDr
2318 UINT64_C(506052608), // FRINT64XSr
2319 UINT64_C(1696047104), // FRINT64X_ZPmZ_D
2320 UINT64_C(1695916032), // FRINT64X_ZPmZ_S
2321 UINT64_C(1679679488), // FRINT64X_ZPzZ_D
2322 UINT64_C(1679663104), // FRINT64X_ZPzZ_S
2323 UINT64_C(773978112), // FRINT64Xv2f32
2324 UINT64_C(1851914240), // FRINT64Xv2f64
2325 UINT64_C(1847719936), // FRINT64Xv4f32
2326 UINT64_C(510214144), // FRINT64ZDr
2327 UINT64_C(506019840), // FRINT64ZSr
2328 UINT64_C(1695981568), // FRINT64Z_ZPmZ_D
2329 UINT64_C(1695850496), // FRINT64Z_ZPmZ_S
2330 UINT64_C(1679671296), // FRINT64Z_ZPzZ_D
2331 UINT64_C(1679654912), // FRINT64Z_ZPzZ_S
2332 UINT64_C(237107200), // FRINT64Zv2f32
2333 UINT64_C(1315043328), // FRINT64Zv2f64
2334 UINT64_C(1310849024), // FRINT64Zv4f32
2335 UINT64_C(510017536), // FRINTADr
2336 UINT64_C(518406144), // FRINTAHr
2337 UINT64_C(505823232), // FRINTASr
2338 UINT64_C(3249332224), // FRINTA_2Z2Z_S
2339 UINT64_C(3250380800), // FRINTA_4Z4Z_S
2340 UINT64_C(1707384832), // FRINTA_ZPmZ_D
2341 UINT64_C(1698996224), // FRINTA_ZPmZ_H
2342 UINT64_C(1703190528), // FRINTA_ZPmZ_S
2343 UINT64_C(1691975680), // FRINTA_ZPzZ_D
2344 UINT64_C(1683587072), // FRINTA_ZPzZ_H
2345 UINT64_C(1687781376), // FRINTA_ZPzZ_S
2346 UINT64_C(773949440), // FRINTAv2f32
2347 UINT64_C(1851885568), // FRINTAv2f64
2348 UINT64_C(779716608), // FRINTAv4f16
2349 UINT64_C(1847691264), // FRINTAv4f32
2350 UINT64_C(1853458432), // FRINTAv8f16
2351 UINT64_C(510115840), // FRINTIDr
2352 UINT64_C(518504448), // FRINTIHr
2353 UINT64_C(505921536), // FRINTISr
2354 UINT64_C(1707581440), // FRINTI_ZPmZ_D
2355 UINT64_C(1699192832), // FRINTI_ZPmZ_H
2356 UINT64_C(1703387136), // FRINTI_ZPmZ_S
2357 UINT64_C(1692000256), // FRINTI_ZPzZ_D
2358 UINT64_C(1683611648), // FRINTI_ZPzZ_H
2359 UINT64_C(1687805952), // FRINTI_ZPzZ_S
2360 UINT64_C(782342144), // FRINTIv2f32
2361 UINT64_C(1860278272), // FRINTIv2f64
2362 UINT64_C(788109312), // FRINTIv4f16
2363 UINT64_C(1856083968), // FRINTIv4f32
2364 UINT64_C(1861851136), // FRINTIv8f16
2365 UINT64_C(509952000), // FRINTMDr
2366 UINT64_C(518340608), // FRINTMHr
2367 UINT64_C(505757696), // FRINTMSr
2368 UINT64_C(3249201152), // FRINTM_2Z2Z_S
2369 UINT64_C(3250249728), // FRINTM_4Z4Z_S
2370 UINT64_C(1707253760), // FRINTM_ZPmZ_D
2371 UINT64_C(1698865152), // FRINTM_ZPmZ_H
2372 UINT64_C(1703059456), // FRINTM_ZPmZ_S
2373 UINT64_C(1691926528), // FRINTM_ZPzZ_D
2374 UINT64_C(1683537920), // FRINTM_ZPzZ_H
2375 UINT64_C(1687732224), // FRINTM_ZPzZ_S
2376 UINT64_C(237082624), // FRINTMv2f32
2377 UINT64_C(1315018752), // FRINTMv2f64
2378 UINT64_C(242849792), // FRINTMv4f16
2379 UINT64_C(1310824448), // FRINTMv4f32
2380 UINT64_C(1316591616), // FRINTMv8f16
2381 UINT64_C(509886464), // FRINTNDr
2382 UINT64_C(518275072), // FRINTNHr
2383 UINT64_C(505692160), // FRINTNSr
2384 UINT64_C(3249070080), // FRINTN_2Z2Z_S
2385 UINT64_C(3250118656), // FRINTN_4Z4Z_S
2386 UINT64_C(1707122688), // FRINTN_ZPmZ_D
2387 UINT64_C(1698734080), // FRINTN_ZPmZ_H
2388 UINT64_C(1702928384), // FRINTN_ZPmZ_S
2389 UINT64_C(1691910144), // FRINTN_ZPzZ_D
2390 UINT64_C(1683521536), // FRINTN_ZPzZ_H
2391 UINT64_C(1687715840), // FRINTN_ZPzZ_S
2392 UINT64_C(237078528), // FRINTNv2f32
2393 UINT64_C(1315014656), // FRINTNv2f64
2394 UINT64_C(242845696), // FRINTNv4f16
2395 UINT64_C(1310820352), // FRINTNv4f32
2396 UINT64_C(1316587520), // FRINTNv8f16
2397 UINT64_C(509919232), // FRINTPDr
2398 UINT64_C(518307840), // FRINTPHr
2399 UINT64_C(505724928), // FRINTPSr
2400 UINT64_C(3249135616), // FRINTP_2Z2Z_S
2401 UINT64_C(3250184192), // FRINTP_4Z4Z_S
2402 UINT64_C(1707188224), // FRINTP_ZPmZ_D
2403 UINT64_C(1698799616), // FRINTP_ZPmZ_H
2404 UINT64_C(1702993920), // FRINTP_ZPmZ_S
2405 UINT64_C(1691918336), // FRINTP_ZPzZ_D
2406 UINT64_C(1683529728), // FRINTP_ZPzZ_H
2407 UINT64_C(1687724032), // FRINTP_ZPzZ_S
2408 UINT64_C(245467136), // FRINTPv2f32
2409 UINT64_C(1323403264), // FRINTPv2f64
2410 UINT64_C(251234304), // FRINTPv4f16
2411 UINT64_C(1319208960), // FRINTPv4f32
2412 UINT64_C(1324976128), // FRINTPv8f16
2413 UINT64_C(510083072), // FRINTXDr
2414 UINT64_C(518471680), // FRINTXHr
2415 UINT64_C(505888768), // FRINTXSr
2416 UINT64_C(1707515904), // FRINTX_ZPmZ_D
2417 UINT64_C(1699127296), // FRINTX_ZPmZ_H
2418 UINT64_C(1703321600), // FRINTX_ZPmZ_S
2419 UINT64_C(1691992064), // FRINTX_ZPzZ_D
2420 UINT64_C(1683603456), // FRINTX_ZPzZ_H
2421 UINT64_C(1687797760), // FRINTX_ZPzZ_S
2422 UINT64_C(773953536), // FRINTXv2f32
2423 UINT64_C(1851889664), // FRINTXv2f64
2424 UINT64_C(779720704), // FRINTXv4f16
2425 UINT64_C(1847695360), // FRINTXv4f32
2426 UINT64_C(1853462528), // FRINTXv8f16
2427 UINT64_C(509984768), // FRINTZDr
2428 UINT64_C(518373376), // FRINTZHr
2429 UINT64_C(505790464), // FRINTZSr
2430 UINT64_C(1707319296), // FRINTZ_ZPmZ_D
2431 UINT64_C(1698930688), // FRINTZ_ZPmZ_H
2432 UINT64_C(1703124992), // FRINTZ_ZPmZ_S
2433 UINT64_C(1691934720), // FRINTZ_ZPzZ_D
2434 UINT64_C(1683546112), // FRINTZ_ZPzZ_H
2435 UINT64_C(1687740416), // FRINTZ_ZPzZ_S
2436 UINT64_C(245471232), // FRINTZv2f32
2437 UINT64_C(1323407360), // FRINTZv2f64
2438 UINT64_C(251238400), // FRINTZv4f16
2439 UINT64_C(1319213056), // FRINTZv4f32
2440 UINT64_C(1324980224), // FRINTZv8f16
2441 UINT64_C(1708077056), // FRSQRTE_ZZ_D
2442 UINT64_C(1699688448), // FRSQRTE_ZZ_H
2443 UINT64_C(1703882752), // FRSQRTE_ZZ_S
2444 UINT64_C(2130302976), // FRSQRTEv1f16
2445 UINT64_C(2124535808), // FRSQRTEv1i32
2446 UINT64_C(2128730112), // FRSQRTEv1i64
2447 UINT64_C(782358528), // FRSQRTEv2f32
2448 UINT64_C(1860294656), // FRSQRTEv2f64
2449 UINT64_C(788125696), // FRSQRTEv4f16
2450 UINT64_C(1856100352), // FRSQRTEv4f32
2451 UINT64_C(1861867520), // FRSQRTEv8f16
2452 UINT64_C(1589656576), // FRSQRTS16
2453 UINT64_C(1587608576), // FRSQRTS32
2454 UINT64_C(1591802880), // FRSQRTS64
2455 UINT64_C(1707088896), // FRSQRTS_ZZZ_D
2456 UINT64_C(1698700288), // FRSQRTS_ZZZ_H
2457 UINT64_C(1702894592), // FRSQRTS_ZZZ_S
2458 UINT64_C(245431296), // FRSQRTSv2f32
2459 UINT64_C(1323367424), // FRSQRTSv2f64
2460 UINT64_C(247479296), // FRSQRTSv4f16
2461 UINT64_C(1319173120), // FRSQRTSv4f32
2462 UINT64_C(1321221120), // FRSQRTSv8f16
2463 UINT64_C(3252728192), // FSCALE_2Z2Z_D
2464 UINT64_C(3244339584), // FSCALE_2Z2Z_H
2465 UINT64_C(3248533888), // FSCALE_2Z2Z_S
2466 UINT64_C(3252724096), // FSCALE_2ZZ_D
2467 UINT64_C(3244335488), // FSCALE_2ZZ_H
2468 UINT64_C(3248529792), // FSCALE_2ZZ_S
2469 UINT64_C(3252730240), // FSCALE_4Z4Z_D
2470 UINT64_C(3244341632), // FSCALE_4Z4Z_H
2471 UINT64_C(3248535936), // FSCALE_4Z4Z_S
2472 UINT64_C(3252726144), // FSCALE_4ZZ_D
2473 UINT64_C(3244337536), // FSCALE_4ZZ_H
2474 UINT64_C(3248531840), // FSCALE_4ZZ_S
2475 UINT64_C(1707704320), // FSCALE_ZPmZ_D
2476 UINT64_C(1699315712), // FSCALE_ZPmZ_H
2477 UINT64_C(1703510016), // FSCALE_ZPmZ_S
2478 UINT64_C(782302208), // FSCALEv2f32
2479 UINT64_C(1860238336), // FSCALEv2f64
2480 UINT64_C(784350208), // FSCALEv4f16
2481 UINT64_C(1856044032), // FSCALEv4f32
2482 UINT64_C(1858092032), // FSCALEv8f16
2483 UINT64_C(509722624), // FSQRTDr
2484 UINT64_C(518111232), // FSQRTHr
2485 UINT64_C(505528320), // FSQRTSr
2486 UINT64_C(1692114944), // FSQRT_ZPZz_D
2487 UINT64_C(1683726336), // FSQRT_ZPZz_H
2488 UINT64_C(1687920640), // FSQRT_ZPZz_S
2489 UINT64_C(1707974656), // FSQRT_ZPmZ_D
2490 UINT64_C(1699586048), // FSQRT_ZPmZ_H
2491 UINT64_C(1703780352), // FSQRT_ZPmZ_S
2492 UINT64_C(782366720), // FSQRTv2f32
2493 UINT64_C(1860302848), // FSQRTv2f64
2494 UINT64_C(788133888), // FSQRTv4f16
2495 UINT64_C(1856108544), // FSQRTv4f32
2496 UINT64_C(1861875712), // FSQRTv8f16
2497 UINT64_C(509622272), // FSUBDrr
2498 UINT64_C(518010880), // FSUBHrr
2499 UINT64_C(1708883968), // FSUBR_ZPmI_D
2500 UINT64_C(1700495360), // FSUBR_ZPmI_H
2501 UINT64_C(1704689664), // FSUBR_ZPmI_S
2502 UINT64_C(1707311104), // FSUBR_ZPmZ_D
2503 UINT64_C(1698922496), // FSUBR_ZPmZ_H
2504 UINT64_C(1703116800), // FSUBR_ZPmZ_S
2505 UINT64_C(505427968), // FSUBSrr
2506 UINT64_C(3252689928), // FSUB_VG2_M2Z_D
2507 UINT64_C(3248757768), // FSUB_VG2_M2Z_H
2508 UINT64_C(3248495624), // FSUB_VG2_M2Z_S
2509 UINT64_C(3252755464), // FSUB_VG4_M4Z_D
2510 UINT64_C(3248823304), // FSUB_VG4_M4Z_H
2511 UINT64_C(3248561160), // FSUB_VG4_M4Z_S
2512 UINT64_C(1708752896), // FSUB_ZPmI_D
2513 UINT64_C(1700364288), // FSUB_ZPmI_H
2514 UINT64_C(1704558592), // FSUB_ZPmI_S
2515 UINT64_C(1707180032), // FSUB_ZPmZ_D
2516 UINT64_C(1698791424), // FSUB_ZPmZ_H
2517 UINT64_C(1702985728), // FSUB_ZPmZ_S
2518 UINT64_C(1707082752), // FSUB_ZZZ_D
2519 UINT64_C(1698694144), // FSUB_ZZZ_H
2520 UINT64_C(1702888448), // FSUB_ZZZ_S
2521 UINT64_C(245421056), // FSUBv2f32
2522 UINT64_C(1323357184), // FSUBv2f64
2523 UINT64_C(247469056), // FSUBv4f16
2524 UINT64_C(1319162880), // FSUBv4f32
2525 UINT64_C(1321210880), // FSUBv8f16
2526 UINT64_C(1708163072), // FTMAD_ZZI_D
2527 UINT64_C(1699774464), // FTMAD_ZZI_H
2528 UINT64_C(1703968768), // FTMAD_ZZI_S
2529 UINT64_C(2153775112), // FTMOPA_M2ZZZI_BtoH
2530 UINT64_C(2153775104), // FTMOPA_M2ZZZI_BtoS
2531 UINT64_C(2168455176), // FTMOPA_M2ZZZI_HtoH
2532 UINT64_C(2170552320), // FTMOPA_M2ZZZI_HtoS
2533 UINT64_C(2151677952), // FTMOPA_M2ZZZI_StoS
2534 UINT64_C(1707084800), // FTSMUL_ZZZ_D
2535 UINT64_C(1698696192), // FTSMUL_ZZZ_H
2536 UINT64_C(1702890496), // FTSMUL_ZZZ_S
2537 UINT64_C(81833984), // FTSSEL_ZZZ_D
2538 UINT64_C(73445376), // FTSSEL_ZZZ_H
2539 UINT64_C(77639680), // FTSSEL_ZZZ_S
2540 UINT64_C(3251636224), // FVDOTB_VG4_M2ZZI_BtoS
2541 UINT64_C(3251636240), // FVDOTT_VG4_M2ZZI_BtoS
2542 UINT64_C(3251638304), // FVDOT_VG2_M2ZZI_BtoH
2543 UINT64_C(3243245576), // FVDOT_VG2_M2ZZI_HtoS
2544 UINT64_C(3574101951), // GCSPOPCX
2545 UINT64_C(3576395552), // GCSPOPM
2546 UINT64_C(3574101983), // GCSPOPX
2547 UINT64_C(3574298368), // GCSPUSHM
2548 UINT64_C(3574101919), // GCSPUSHX
2549 UINT64_C(3574298432), // GCSSS1
2550 UINT64_C(3576395616), // GCSSS2
2551 UINT64_C(3642690560), // GCSSTR
2552 UINT64_C(3642694656), // GCSSTTR
2553 UINT64_C(3292577792), // GLD1B_D
2554 UINT64_C(3290480640), // GLD1B_D_IMM
2555 UINT64_C(3292545024), // GLD1B_D_SXTW
2556 UINT64_C(3288350720), // GLD1B_D_UXTW
2557 UINT64_C(2216738816), // GLD1B_S_IMM
2558 UINT64_C(2218803200), // GLD1B_S_SXTW
2559 UINT64_C(2214608896), // GLD1B_S_UXTW
2560 UINT64_C(3317743616), // GLD1D
2561 UINT64_C(3315646464), // GLD1D_IMM
2562 UINT64_C(3319840768), // GLD1D_SCALED
2563 UINT64_C(3317710848), // GLD1D_SXTW
2564 UINT64_C(3319808000), // GLD1D_SXTW_SCALED
2565 UINT64_C(3313516544), // GLD1D_UXTW
2566 UINT64_C(3315613696), // GLD1D_UXTW_SCALED
2567 UINT64_C(3300966400), // GLD1H_D
2568 UINT64_C(3298869248), // GLD1H_D_IMM
2569 UINT64_C(3303063552), // GLD1H_D_SCALED
2570 UINT64_C(3300933632), // GLD1H_D_SXTW
2571 UINT64_C(3303030784), // GLD1H_D_SXTW_SCALED
2572 UINT64_C(3296739328), // GLD1H_D_UXTW
2573 UINT64_C(3298836480), // GLD1H_D_UXTW_SCALED
2574 UINT64_C(2225127424), // GLD1H_S_IMM
2575 UINT64_C(2227191808), // GLD1H_S_SXTW
2576 UINT64_C(2229288960), // GLD1H_S_SXTW_SCALED
2577 UINT64_C(2222997504), // GLD1H_S_UXTW
2578 UINT64_C(2225094656), // GLD1H_S_UXTW_SCALED
2579 UINT64_C(3288375296), // GLD1Q
2580 UINT64_C(3292561408), // GLD1SB_D
2581 UINT64_C(3290464256), // GLD1SB_D_IMM
2582 UINT64_C(3292528640), // GLD1SB_D_SXTW
2583 UINT64_C(3288334336), // GLD1SB_D_UXTW
2584 UINT64_C(2216722432), // GLD1SB_S_IMM
2585 UINT64_C(2218786816), // GLD1SB_S_SXTW
2586 UINT64_C(2214592512), // GLD1SB_S_UXTW
2587 UINT64_C(3300950016), // GLD1SH_D
2588 UINT64_C(3298852864), // GLD1SH_D_IMM
2589 UINT64_C(3303047168), // GLD1SH_D_SCALED
2590 UINT64_C(3300917248), // GLD1SH_D_SXTW
2591 UINT64_C(3303014400), // GLD1SH_D_SXTW_SCALED
2592 UINT64_C(3296722944), // GLD1SH_D_UXTW
2593 UINT64_C(3298820096), // GLD1SH_D_UXTW_SCALED
2594 UINT64_C(2225111040), // GLD1SH_S_IMM
2595 UINT64_C(2227175424), // GLD1SH_S_SXTW
2596 UINT64_C(2229272576), // GLD1SH_S_SXTW_SCALED
2597 UINT64_C(2222981120), // GLD1SH_S_UXTW
2598 UINT64_C(2225078272), // GLD1SH_S_UXTW_SCALED
2599 UINT64_C(3309338624), // GLD1SW_D
2600 UINT64_C(3307241472), // GLD1SW_D_IMM
2601 UINT64_C(3311435776), // GLD1SW_D_SCALED
2602 UINT64_C(3309305856), // GLD1SW_D_SXTW
2603 UINT64_C(3311403008), // GLD1SW_D_SXTW_SCALED
2604 UINT64_C(3305111552), // GLD1SW_D_UXTW
2605 UINT64_C(3307208704), // GLD1SW_D_UXTW_SCALED
2606 UINT64_C(3309355008), // GLD1W_D
2607 UINT64_C(3307257856), // GLD1W_D_IMM
2608 UINT64_C(3311452160), // GLD1W_D_SCALED
2609 UINT64_C(3309322240), // GLD1W_D_SXTW
2610 UINT64_C(3311419392), // GLD1W_D_SXTW_SCALED
2611 UINT64_C(3305127936), // GLD1W_D_UXTW
2612 UINT64_C(3307225088), // GLD1W_D_UXTW_SCALED
2613 UINT64_C(2233516032), // GLD1W_IMM
2614 UINT64_C(2235580416), // GLD1W_SXTW
2615 UINT64_C(2237677568), // GLD1W_SXTW_SCALED
2616 UINT64_C(2231386112), // GLD1W_UXTW
2617 UINT64_C(2233483264), // GLD1W_UXTW_SCALED
2618 UINT64_C(3292585984), // GLDFF1B_D
2619 UINT64_C(3290488832), // GLDFF1B_D_IMM
2620 UINT64_C(3292553216), // GLDFF1B_D_SXTW
2621 UINT64_C(3288358912), // GLDFF1B_D_UXTW
2622 UINT64_C(2216747008), // GLDFF1B_S_IMM
2623 UINT64_C(2218811392), // GLDFF1B_S_SXTW
2624 UINT64_C(2214617088), // GLDFF1B_S_UXTW
2625 UINT64_C(3317751808), // GLDFF1D
2626 UINT64_C(3315654656), // GLDFF1D_IMM
2627 UINT64_C(3319848960), // GLDFF1D_SCALED
2628 UINT64_C(3317719040), // GLDFF1D_SXTW
2629 UINT64_C(3319816192), // GLDFF1D_SXTW_SCALED
2630 UINT64_C(3313524736), // GLDFF1D_UXTW
2631 UINT64_C(3315621888), // GLDFF1D_UXTW_SCALED
2632 UINT64_C(3300974592), // GLDFF1H_D
2633 UINT64_C(3298877440), // GLDFF1H_D_IMM
2634 UINT64_C(3303071744), // GLDFF1H_D_SCALED
2635 UINT64_C(3300941824), // GLDFF1H_D_SXTW
2636 UINT64_C(3303038976), // GLDFF1H_D_SXTW_SCALED
2637 UINT64_C(3296747520), // GLDFF1H_D_UXTW
2638 UINT64_C(3298844672), // GLDFF1H_D_UXTW_SCALED
2639 UINT64_C(2225135616), // GLDFF1H_S_IMM
2640 UINT64_C(2227200000), // GLDFF1H_S_SXTW
2641 UINT64_C(2229297152), // GLDFF1H_S_SXTW_SCALED
2642 UINT64_C(2223005696), // GLDFF1H_S_UXTW
2643 UINT64_C(2225102848), // GLDFF1H_S_UXTW_SCALED
2644 UINT64_C(3292569600), // GLDFF1SB_D
2645 UINT64_C(3290472448), // GLDFF1SB_D_IMM
2646 UINT64_C(3292536832), // GLDFF1SB_D_SXTW
2647 UINT64_C(3288342528), // GLDFF1SB_D_UXTW
2648 UINT64_C(2216730624), // GLDFF1SB_S_IMM
2649 UINT64_C(2218795008), // GLDFF1SB_S_SXTW
2650 UINT64_C(2214600704), // GLDFF1SB_S_UXTW
2651 UINT64_C(3300958208), // GLDFF1SH_D
2652 UINT64_C(3298861056), // GLDFF1SH_D_IMM
2653 UINT64_C(3303055360), // GLDFF1SH_D_SCALED
2654 UINT64_C(3300925440), // GLDFF1SH_D_SXTW
2655 UINT64_C(3303022592), // GLDFF1SH_D_SXTW_SCALED
2656 UINT64_C(3296731136), // GLDFF1SH_D_UXTW
2657 UINT64_C(3298828288), // GLDFF1SH_D_UXTW_SCALED
2658 UINT64_C(2225119232), // GLDFF1SH_S_IMM
2659 UINT64_C(2227183616), // GLDFF1SH_S_SXTW
2660 UINT64_C(2229280768), // GLDFF1SH_S_SXTW_SCALED
2661 UINT64_C(2222989312), // GLDFF1SH_S_UXTW
2662 UINT64_C(2225086464), // GLDFF1SH_S_UXTW_SCALED
2663 UINT64_C(3309346816), // GLDFF1SW_D
2664 UINT64_C(3307249664), // GLDFF1SW_D_IMM
2665 UINT64_C(3311443968), // GLDFF1SW_D_SCALED
2666 UINT64_C(3309314048), // GLDFF1SW_D_SXTW
2667 UINT64_C(3311411200), // GLDFF1SW_D_SXTW_SCALED
2668 UINT64_C(3305119744), // GLDFF1SW_D_UXTW
2669 UINT64_C(3307216896), // GLDFF1SW_D_UXTW_SCALED
2670 UINT64_C(3309363200), // GLDFF1W_D
2671 UINT64_C(3307266048), // GLDFF1W_D_IMM
2672 UINT64_C(3311460352), // GLDFF1W_D_SCALED
2673 UINT64_C(3309330432), // GLDFF1W_D_SXTW
2674 UINT64_C(3311427584), // GLDFF1W_D_SXTW_SCALED
2675 UINT64_C(3305136128), // GLDFF1W_D_UXTW
2676 UINT64_C(3307233280), // GLDFF1W_D_UXTW_SCALED
2677 UINT64_C(2233524224), // GLDFF1W_IMM
2678 UINT64_C(2235588608), // GLDFF1W_SXTW
2679 UINT64_C(2237685760), // GLDFF1W_SXTW_SCALED
2680 UINT64_C(2231394304), // GLDFF1W_UXTW
2681 UINT64_C(2233491456), // GLDFF1W_UXTW_SCALED
2682 UINT64_C(2596279296), // GMI
2683 UINT64_C(3573751839), // HINT
2684 UINT64_C(1172357120), // HISTCNT_ZPzZZ_D
2685 UINT64_C(1168162816), // HISTCNT_ZPzZZ_S
2686 UINT64_C(1159766016), // HISTSEG_ZZZ
2687 UINT64_C(3560964096), // HLT
2688 UINT64_C(3556769794), // HVC
2689 UINT64_C(70311936), // INCB_XPiI
2690 UINT64_C(82894848), // INCD_XPiI
2691 UINT64_C(82886656), // INCD_ZPiI
2692 UINT64_C(74506240), // INCH_XPiI
2693 UINT64_C(74498048), // INCH_ZPiI
2694 UINT64_C(623675392), // INCP_XP_B
2695 UINT64_C(636258304), // INCP_XP_D
2696 UINT64_C(627869696), // INCP_XP_H
2697 UINT64_C(632064000), // INCP_XP_S
2698 UINT64_C(636256256), // INCP_ZP_D
2699 UINT64_C(627867648), // INCP_ZP_H
2700 UINT64_C(632061952), // INCP_ZP_S
2701 UINT64_C(78700544), // INCW_XPiI
2702 UINT64_C(78692352), // INCW_ZPiI
2703 UINT64_C(69222400), // INDEX_II_B
2704 UINT64_C(81805312), // INDEX_II_D
2705 UINT64_C(73416704), // INDEX_II_H
2706 UINT64_C(77611008), // INDEX_II_S
2707 UINT64_C(69224448), // INDEX_IR_B
2708 UINT64_C(81807360), // INDEX_IR_D
2709 UINT64_C(73418752), // INDEX_IR_H
2710 UINT64_C(77613056), // INDEX_IR_S
2711 UINT64_C(69223424), // INDEX_RI_B
2712 UINT64_C(81806336), // INDEX_RI_D
2713 UINT64_C(73417728), // INDEX_RI_H
2714 UINT64_C(77612032), // INDEX_RI_S
2715 UINT64_C(69225472), // INDEX_RR_B
2716 UINT64_C(81808384), // INDEX_RR_D
2717 UINT64_C(73419776), // INDEX_RR_H
2718 UINT64_C(77614080), // INDEX_RR_S
2719 UINT64_C(3221225472), // INSERT_MXIPZ_H_B
2720 UINT64_C(3233808384), // INSERT_MXIPZ_H_D
2721 UINT64_C(3225419776), // INSERT_MXIPZ_H_H
2722 UINT64_C(3233873920), // INSERT_MXIPZ_H_Q
2723 UINT64_C(3229614080), // INSERT_MXIPZ_H_S
2724 UINT64_C(3221258240), // INSERT_MXIPZ_V_B
2725 UINT64_C(3233841152), // INSERT_MXIPZ_V_D
2726 UINT64_C(3225452544), // INSERT_MXIPZ_V_H
2727 UINT64_C(3233906688), // INSERT_MXIPZ_V_Q
2728 UINT64_C(3229646848), // INSERT_MXIPZ_V_S
2729 UINT64_C(86259712), // INSR_ZR_B
2730 UINT64_C(98842624), // INSR_ZR_D
2731 UINT64_C(90454016), // INSR_ZR_H
2732 UINT64_C(94648320), // INSR_ZR_S
2733 UINT64_C(87308288), // INSR_ZV_B
2734 UINT64_C(99891200), // INSR_ZV_D
2735 UINT64_C(91502592), // INSR_ZV_H
2736 UINT64_C(95696896), // INSR_ZV_S
2737 UINT64_C(1308761088), // INSvi16gpr
2738 UINT64_C(1845625856), // INSvi16lane
2739 UINT64_C(1308892160), // INSvi32gpr
2740 UINT64_C(1845756928), // INSvi32lane
2741 UINT64_C(1309154304), // INSvi64gpr
2742 UINT64_C(1846019072), // INSvi64lane
2743 UINT64_C(1308695552), // INSvi8gpr
2744 UINT64_C(1845560320), // INSvi8lane
2745 UINT64_C(2596278272), // IRG
2746 UINT64_C(3573756127), // ISB
2747 UINT64_C(86024192), // LASTA_RPZ_B
2748 UINT64_C(98607104), // LASTA_RPZ_D
2749 UINT64_C(90218496), // LASTA_RPZ_H
2750 UINT64_C(94412800), // LASTA_RPZ_S
2751 UINT64_C(86147072), // LASTA_VPZ_B
2752 UINT64_C(98729984), // LASTA_VPZ_D
2753 UINT64_C(90341376), // LASTA_VPZ_H
2754 UINT64_C(94535680), // LASTA_VPZ_S
2755 UINT64_C(86089728), // LASTB_RPZ_B
2756 UINT64_C(98672640), // LASTB_RPZ_D
2757 UINT64_C(90284032), // LASTB_RPZ_H
2758 UINT64_C(94478336), // LASTB_RPZ_S
2759 UINT64_C(86212608), // LASTB_VPZ_B
2760 UINT64_C(98795520), // LASTB_VPZ_D
2761 UINT64_C(90406912), // LASTB_VPZ_H
2762 UINT64_C(94601216), // LASTB_VPZ_S
2763 UINT64_C(623017984), // LASTP_XPP_B
2764 UINT64_C(635600896), // LASTP_XPP_D
2765 UINT64_C(627212288), // LASTP_XPP_H
2766 UINT64_C(631406592), // LASTP_XPP_S
2767 UINT64_C(2751479808), // LD1B
2768 UINT64_C(2684354560), // LD1B_2Z
2769 UINT64_C(2688548864), // LD1B_2Z_IMM
2770 UINT64_C(2701131776), // LD1B_2Z_STRIDED
2771 UINT64_C(2705326080), // LD1B_2Z_STRIDED_IMM
2772 UINT64_C(2684387328), // LD1B_4Z
2773 UINT64_C(2688581632), // LD1B_4Z_IMM
2774 UINT64_C(2701164544), // LD1B_4Z_STRIDED
2775 UINT64_C(2705358848), // LD1B_4Z_STRIDED_IMM
2776 UINT64_C(2757771264), // LD1B_D
2777 UINT64_C(2757795840), // LD1B_D_IMM
2778 UINT64_C(2753576960), // LD1B_H
2779 UINT64_C(2753601536), // LD1B_H_IMM
2780 UINT64_C(2751504384), // LD1B_IMM
2781 UINT64_C(2755674112), // LD1B_S
2782 UINT64_C(2755698688), // LD1B_S_IMM
2783 UINT64_C(2782937088), // LD1D
2784 UINT64_C(2684379136), // LD1D_2Z
2785 UINT64_C(2688573440), // LD1D_2Z_IMM
2786 UINT64_C(2701156352), // LD1D_2Z_STRIDED
2787 UINT64_C(2705350656), // LD1D_2Z_STRIDED_IMM
2788 UINT64_C(2684411904), // LD1D_4Z
2789 UINT64_C(2688606208), // LD1D_4Z_IMM
2790 UINT64_C(2701189120), // LD1D_4Z_STRIDED
2791 UINT64_C(2705383424), // LD1D_4Z_STRIDED_IMM
2792 UINT64_C(2782961664), // LD1D_IMM
2793 UINT64_C(2776662016), // LD1D_Q
2794 UINT64_C(2777686016), // LD1D_Q_IMM
2795 UINT64_C(1279270912), // LD1Fourv16b
2796 UINT64_C(1287659520), // LD1Fourv16b_POST
2797 UINT64_C(205532160), // LD1Fourv1d
2798 UINT64_C(213920768), // LD1Fourv1d_POST
2799 UINT64_C(1279273984), // LD1Fourv2d
2800 UINT64_C(1287662592), // LD1Fourv2d_POST
2801 UINT64_C(205531136), // LD1Fourv2s
2802 UINT64_C(213919744), // LD1Fourv2s_POST
2803 UINT64_C(205530112), // LD1Fourv4h
2804 UINT64_C(213918720), // LD1Fourv4h_POST
2805 UINT64_C(1279272960), // LD1Fourv4s
2806 UINT64_C(1287661568), // LD1Fourv4s_POST
2807 UINT64_C(205529088), // LD1Fourv8b
2808 UINT64_C(213917696), // LD1Fourv8b_POST
2809 UINT64_C(1279271936), // LD1Fourv8h
2810 UINT64_C(1287660544), // LD1Fourv8h_POST
2811 UINT64_C(2761965568), // LD1H
2812 UINT64_C(2684362752), // LD1H_2Z
2813 UINT64_C(2688557056), // LD1H_2Z_IMM
2814 UINT64_C(2701139968), // LD1H_2Z_STRIDED
2815 UINT64_C(2705334272), // LD1H_2Z_STRIDED_IMM
2816 UINT64_C(2684395520), // LD1H_4Z
2817 UINT64_C(2688589824), // LD1H_4Z_IMM
2818 UINT64_C(2701172736), // LD1H_4Z_STRIDED
2819 UINT64_C(2705367040), // LD1H_4Z_STRIDED_IMM
2820 UINT64_C(2766159872), // LD1H_D
2821 UINT64_C(2766184448), // LD1H_D_IMM
2822 UINT64_C(2761990144), // LD1H_IMM
2823 UINT64_C(2764062720), // LD1H_S
2824 UINT64_C(2764087296), // LD1H_S_IMM
2825 UINT64_C(1279291392), // LD1Onev16b
2826 UINT64_C(1287680000), // LD1Onev16b_POST
2827 UINT64_C(205552640), // LD1Onev1d
2828 UINT64_C(213941248), // LD1Onev1d_POST
2829 UINT64_C(1279294464), // LD1Onev2d
2830 UINT64_C(1287683072), // LD1Onev2d_POST
2831 UINT64_C(205551616), // LD1Onev2s
2832 UINT64_C(213940224), // LD1Onev2s_POST
2833 UINT64_C(205550592), // LD1Onev4h
2834 UINT64_C(213939200), // LD1Onev4h_POST
2835 UINT64_C(1279293440), // LD1Onev4s
2836 UINT64_C(1287682048), // LD1Onev4s_POST
2837 UINT64_C(205549568), // LD1Onev8b
2838 UINT64_C(213938176), // LD1Onev8b_POST
2839 UINT64_C(1279292416), // LD1Onev8h
2840 UINT64_C(1287681024), // LD1Onev8h_POST
2841 UINT64_C(2218844160), // LD1RB_D_IMM
2842 UINT64_C(2218827776), // LD1RB_H_IMM
2843 UINT64_C(2218819584), // LD1RB_IMM
2844 UINT64_C(2218835968), // LD1RB_S_IMM
2845 UINT64_C(2244009984), // LD1RD_IMM
2846 UINT64_C(2227232768), // LD1RH_D_IMM
2847 UINT64_C(2227216384), // LD1RH_IMM
2848 UINT64_C(2227224576), // LD1RH_S_IMM
2849 UINT64_C(2753560576), // LD1RO_B
2850 UINT64_C(2753568768), // LD1RO_B_IMM
2851 UINT64_C(2778726400), // LD1RO_D
2852 UINT64_C(2778734592), // LD1RO_D_IMM
2853 UINT64_C(2761949184), // LD1RO_H
2854 UINT64_C(2761957376), // LD1RO_H_IMM
2855 UINT64_C(2770337792), // LD1RO_W
2856 UINT64_C(2770345984), // LD1RO_W_IMM
2857 UINT64_C(2751463424), // LD1RQ_B
2858 UINT64_C(2751471616), // LD1RQ_B_IMM
2859 UINT64_C(2776629248), // LD1RQ_D
2860 UINT64_C(2776637440), // LD1RQ_D_IMM
2861 UINT64_C(2759852032), // LD1RQ_H
2862 UINT64_C(2759860224), // LD1RQ_H_IMM
2863 UINT64_C(2768240640), // LD1RQ_W
2864 UINT64_C(2768248832), // LD1RQ_W_IMM
2865 UINT64_C(2243985408), // LD1RSB_D_IMM
2866 UINT64_C(2244001792), // LD1RSB_H_IMM
2867 UINT64_C(2243993600), // LD1RSB_S_IMM
2868 UINT64_C(2235596800), // LD1RSH_D_IMM
2869 UINT64_C(2235604992), // LD1RSH_S_IMM
2870 UINT64_C(2227208192), // LD1RSW_IMM
2871 UINT64_C(2235621376), // LD1RW_D_IMM
2872 UINT64_C(2235613184), // LD1RW_IMM
2873 UINT64_C(1296089088), // LD1Rv16b
2874 UINT64_C(1304477696), // LD1Rv16b_POST
2875 UINT64_C(222350336), // LD1Rv1d
2876 UINT64_C(230738944), // LD1Rv1d_POST
2877 UINT64_C(1296092160), // LD1Rv2d
2878 UINT64_C(1304480768), // LD1Rv2d_POST
2879 UINT64_C(222349312), // LD1Rv2s
2880 UINT64_C(230737920), // LD1Rv2s_POST
2881 UINT64_C(222348288), // LD1Rv4h
2882 UINT64_C(230736896), // LD1Rv4h_POST
2883 UINT64_C(1296091136), // LD1Rv4s
2884 UINT64_C(1304479744), // LD1Rv4s_POST
2885 UINT64_C(222347264), // LD1Rv8b
2886 UINT64_C(230735872), // LD1Rv8b_POST
2887 UINT64_C(1296090112), // LD1Rv8h
2888 UINT64_C(1304478720), // LD1Rv8h_POST
2889 UINT64_C(2776645632), // LD1SB_D
2890 UINT64_C(2776670208), // LD1SB_D_IMM
2891 UINT64_C(2780839936), // LD1SB_H
2892 UINT64_C(2780864512), // LD1SB_H_IMM
2893 UINT64_C(2778742784), // LD1SB_S
2894 UINT64_C(2778767360), // LD1SB_S_IMM
2895 UINT64_C(2768257024), // LD1SH_D
2896 UINT64_C(2768281600), // LD1SH_D_IMM
2897 UINT64_C(2770354176), // LD1SH_S
2898 UINT64_C(2770378752), // LD1SH_S_IMM
2899 UINT64_C(2759868416), // LD1SW_D
2900 UINT64_C(2759892992), // LD1SW_D_IMM
2901 UINT64_C(1279287296), // LD1Threev16b
2902 UINT64_C(1287675904), // LD1Threev16b_POST
2903 UINT64_C(205548544), // LD1Threev1d
2904 UINT64_C(213937152), // LD1Threev1d_POST
2905 UINT64_C(1279290368), // LD1Threev2d
2906 UINT64_C(1287678976), // LD1Threev2d_POST
2907 UINT64_C(205547520), // LD1Threev2s
2908 UINT64_C(213936128), // LD1Threev2s_POST
2909 UINT64_C(205546496), // LD1Threev4h
2910 UINT64_C(213935104), // LD1Threev4h_POST
2911 UINT64_C(1279289344), // LD1Threev4s
2912 UINT64_C(1287677952), // LD1Threev4s_POST
2913 UINT64_C(205545472), // LD1Threev8b
2914 UINT64_C(213934080), // LD1Threev8b_POST
2915 UINT64_C(1279288320), // LD1Threev8h
2916 UINT64_C(1287676928), // LD1Threev8h_POST
2917 UINT64_C(1279303680), // LD1Twov16b
2918 UINT64_C(1287692288), // LD1Twov16b_POST
2919 UINT64_C(205564928), // LD1Twov1d
2920 UINT64_C(213953536), // LD1Twov1d_POST
2921 UINT64_C(1279306752), // LD1Twov2d
2922 UINT64_C(1287695360), // LD1Twov2d_POST
2923 UINT64_C(205563904), // LD1Twov2s
2924 UINT64_C(213952512), // LD1Twov2s_POST
2925 UINT64_C(205562880), // LD1Twov4h
2926 UINT64_C(213951488), // LD1Twov4h_POST
2927 UINT64_C(1279305728), // LD1Twov4s
2928 UINT64_C(1287694336), // LD1Twov4s_POST
2929 UINT64_C(205561856), // LD1Twov8b
2930 UINT64_C(213950464), // LD1Twov8b_POST
2931 UINT64_C(1279304704), // LD1Twov8h
2932 UINT64_C(1287693312), // LD1Twov8h_POST
2933 UINT64_C(2772451328), // LD1W
2934 UINT64_C(2684370944), // LD1W_2Z
2935 UINT64_C(2688565248), // LD1W_2Z_IMM
2936 UINT64_C(2701148160), // LD1W_2Z_STRIDED
2937 UINT64_C(2705342464), // LD1W_2Z_STRIDED_IMM
2938 UINT64_C(2684403712), // LD1W_4Z
2939 UINT64_C(2688598016), // LD1W_4Z_IMM
2940 UINT64_C(2701180928), // LD1W_4Z_STRIDED
2941 UINT64_C(2705375232), // LD1W_4Z_STRIDED_IMM
2942 UINT64_C(2774548480), // LD1W_D
2943 UINT64_C(2774573056), // LD1W_D_IMM
2944 UINT64_C(2772475904), // LD1W_IMM
2945 UINT64_C(2768273408), // LD1W_Q
2946 UINT64_C(2769297408), // LD1W_Q_IMM
2947 UINT64_C(3758096384), // LD1_MXIPXX_H_B
2948 UINT64_C(3770679296), // LD1_MXIPXX_H_D
2949 UINT64_C(3762290688), // LD1_MXIPXX_H_H
2950 UINT64_C(3787456512), // LD1_MXIPXX_H_Q
2951 UINT64_C(3766484992), // LD1_MXIPXX_H_S
2952 UINT64_C(3758129152), // LD1_MXIPXX_V_B
2953 UINT64_C(3770712064), // LD1_MXIPXX_V_D
2954 UINT64_C(3762323456), // LD1_MXIPXX_V_H
2955 UINT64_C(3787489280), // LD1_MXIPXX_V_Q
2956 UINT64_C(3766517760), // LD1_MXIPXX_V_S
2957 UINT64_C(222314496), // LD1i16
2958 UINT64_C(230703104), // LD1i16_POST
2959 UINT64_C(222330880), // LD1i32
2960 UINT64_C(230719488), // LD1i32_POST
2961 UINT64_C(222331904), // LD1i64
2962 UINT64_C(230720512), // LD1i64_POST
2963 UINT64_C(222298112), // LD1i8
2964 UINT64_C(230686720), // LD1i8_POST
2965 UINT64_C(2753609728), // LD2B
2966 UINT64_C(2753617920), // LD2B_IMM
2967 UINT64_C(2778775552), // LD2D
2968 UINT64_C(2778783744), // LD2D_IMM
2969 UINT64_C(2761998336), // LD2H
2970 UINT64_C(2762006528), // LD2H_IMM
2971 UINT64_C(2761981952), // LD2Q
2972 UINT64_C(2760957952), // LD2Q_IMM
2973 UINT64_C(1298186240), // LD2Rv16b
2974 UINT64_C(1306574848), // LD2Rv16b_POST
2975 UINT64_C(224447488), // LD2Rv1d
2976 UINT64_C(232836096), // LD2Rv1d_POST
2977 UINT64_C(1298189312), // LD2Rv2d
2978 UINT64_C(1306577920), // LD2Rv2d_POST
2979 UINT64_C(224446464), // LD2Rv2s
2980 UINT64_C(232835072), // LD2Rv2s_POST
2981 UINT64_C(224445440), // LD2Rv4h
2982 UINT64_C(232834048), // LD2Rv4h_POST
2983 UINT64_C(1298188288), // LD2Rv4s
2984 UINT64_C(1306576896), // LD2Rv4s_POST
2985 UINT64_C(224444416), // LD2Rv8b
2986 UINT64_C(232833024), // LD2Rv8b_POST
2987 UINT64_C(1298187264), // LD2Rv8h
2988 UINT64_C(1306575872), // LD2Rv8h_POST
2989 UINT64_C(1279295488), // LD2Twov16b
2990 UINT64_C(1287684096), // LD2Twov16b_POST
2991 UINT64_C(1279298560), // LD2Twov2d
2992 UINT64_C(1287687168), // LD2Twov2d_POST
2993 UINT64_C(205555712), // LD2Twov2s
2994 UINT64_C(213944320), // LD2Twov2s_POST
2995 UINT64_C(205554688), // LD2Twov4h
2996 UINT64_C(213943296), // LD2Twov4h_POST
2997 UINT64_C(1279297536), // LD2Twov4s
2998 UINT64_C(1287686144), // LD2Twov4s_POST
2999 UINT64_C(205553664), // LD2Twov8b
3000 UINT64_C(213942272), // LD2Twov8b_POST
3001 UINT64_C(1279296512), // LD2Twov8h
3002 UINT64_C(1287685120), // LD2Twov8h_POST
3003 UINT64_C(2770386944), // LD2W
3004 UINT64_C(2770395136), // LD2W_IMM
3005 UINT64_C(224411648), // LD2i16
3006 UINT64_C(232800256), // LD2i16_POST
3007 UINT64_C(224428032), // LD2i32
3008 UINT64_C(232816640), // LD2i32_POST
3009 UINT64_C(224429056), // LD2i64
3010 UINT64_C(232817664), // LD2i64_POST
3011 UINT64_C(224395264), // LD2i8
3012 UINT64_C(232783872), // LD2i8_POST
3013 UINT64_C(2755706880), // LD3B
3014 UINT64_C(2755715072), // LD3B_IMM
3015 UINT64_C(2780872704), // LD3D
3016 UINT64_C(2780880896), // LD3D_IMM
3017 UINT64_C(2764095488), // LD3H
3018 UINT64_C(2764103680), // LD3H_IMM
3019 UINT64_C(2770370560), // LD3Q
3020 UINT64_C(2769346560), // LD3Q_IMM
3021 UINT64_C(1296097280), // LD3Rv16b
3022 UINT64_C(1304485888), // LD3Rv16b_POST
3023 UINT64_C(222358528), // LD3Rv1d
3024 UINT64_C(230747136), // LD3Rv1d_POST
3025 UINT64_C(1296100352), // LD3Rv2d
3026 UINT64_C(1304488960), // LD3Rv2d_POST
3027 UINT64_C(222357504), // LD3Rv2s
3028 UINT64_C(230746112), // LD3Rv2s_POST
3029 UINT64_C(222356480), // LD3Rv4h
3030 UINT64_C(230745088), // LD3Rv4h_POST
3031 UINT64_C(1296099328), // LD3Rv4s
3032 UINT64_C(1304487936), // LD3Rv4s_POST
3033 UINT64_C(222355456), // LD3Rv8b
3034 UINT64_C(230744064), // LD3Rv8b_POST
3035 UINT64_C(1296098304), // LD3Rv8h
3036 UINT64_C(1304486912), // LD3Rv8h_POST
3037 UINT64_C(1279279104), // LD3Threev16b
3038 UINT64_C(1287667712), // LD3Threev16b_POST
3039 UINT64_C(1279282176), // LD3Threev2d
3040 UINT64_C(1287670784), // LD3Threev2d_POST
3041 UINT64_C(205539328), // LD3Threev2s
3042 UINT64_C(213927936), // LD3Threev2s_POST
3043 UINT64_C(205538304), // LD3Threev4h
3044 UINT64_C(213926912), // LD3Threev4h_POST
3045 UINT64_C(1279281152), // LD3Threev4s
3046 UINT64_C(1287669760), // LD3Threev4s_POST
3047 UINT64_C(205537280), // LD3Threev8b
3048 UINT64_C(213925888), // LD3Threev8b_POST
3049 UINT64_C(1279280128), // LD3Threev8h
3050 UINT64_C(1287668736), // LD3Threev8h_POST
3051 UINT64_C(2772484096), // LD3W
3052 UINT64_C(2772492288), // LD3W_IMM
3053 UINT64_C(222322688), // LD3i16
3054 UINT64_C(230711296), // LD3i16_POST
3055 UINT64_C(222339072), // LD3i32
3056 UINT64_C(230727680), // LD3i32_POST
3057 UINT64_C(222340096), // LD3i64
3058 UINT64_C(230728704), // LD3i64_POST
3059 UINT64_C(222306304), // LD3i8
3060 UINT64_C(230694912), // LD3i8_POST
3061 UINT64_C(2757804032), // LD4B
3062 UINT64_C(2757812224), // LD4B_IMM
3063 UINT64_C(2782969856), // LD4D
3064 UINT64_C(2782978048), // LD4D_IMM
3065 UINT64_C(1279262720), // LD4Fourv16b
3066 UINT64_C(1287651328), // LD4Fourv16b_POST
3067 UINT64_C(1279265792), // LD4Fourv2d
3068 UINT64_C(1287654400), // LD4Fourv2d_POST
3069 UINT64_C(205522944), // LD4Fourv2s
3070 UINT64_C(213911552), // LD4Fourv2s_POST
3071 UINT64_C(205521920), // LD4Fourv4h
3072 UINT64_C(213910528), // LD4Fourv4h_POST
3073 UINT64_C(1279264768), // LD4Fourv4s
3074 UINT64_C(1287653376), // LD4Fourv4s_POST
3075 UINT64_C(205520896), // LD4Fourv8b
3076 UINT64_C(213909504), // LD4Fourv8b_POST
3077 UINT64_C(1279263744), // LD4Fourv8h
3078 UINT64_C(1287652352), // LD4Fourv8h_POST
3079 UINT64_C(2766192640), // LD4H
3080 UINT64_C(2766200832), // LD4H_IMM
3081 UINT64_C(2778759168), // LD4Q
3082 UINT64_C(2777735168), // LD4Q_IMM
3083 UINT64_C(1298194432), // LD4Rv16b
3084 UINT64_C(1306583040), // LD4Rv16b_POST
3085 UINT64_C(224455680), // LD4Rv1d
3086 UINT64_C(232844288), // LD4Rv1d_POST
3087 UINT64_C(1298197504), // LD4Rv2d
3088 UINT64_C(1306586112), // LD4Rv2d_POST
3089 UINT64_C(224454656), // LD4Rv2s
3090 UINT64_C(232843264), // LD4Rv2s_POST
3091 UINT64_C(224453632), // LD4Rv4h
3092 UINT64_C(232842240), // LD4Rv4h_POST
3093 UINT64_C(1298196480), // LD4Rv4s
3094 UINT64_C(1306585088), // LD4Rv4s_POST
3095 UINT64_C(224452608), // LD4Rv8b
3096 UINT64_C(232841216), // LD4Rv8b_POST
3097 UINT64_C(1298195456), // LD4Rv8h
3098 UINT64_C(1306584064), // LD4Rv8h_POST
3099 UINT64_C(2774581248), // LD4W
3100 UINT64_C(2774589440), // LD4W_IMM
3101 UINT64_C(224419840), // LD4i16
3102 UINT64_C(232808448), // LD4i16_POST
3103 UINT64_C(224436224), // LD4i32
3104 UINT64_C(232824832), // LD4i32_POST
3105 UINT64_C(224437248), // LD4i64
3106 UINT64_C(232825856), // LD4i64_POST
3107 UINT64_C(224403456), // LD4i8
3108 UINT64_C(232792064), // LD4i8_POST
3109 UINT64_C(4164931584), // LD64B
3110 UINT64_C(950009856), // LDADDAB
3111 UINT64_C(2023751680), // LDADDAH
3112 UINT64_C(954204160), // LDADDALB
3113 UINT64_C(2027945984), // LDADDALH
3114 UINT64_C(3101687808), // LDADDALW
3115 UINT64_C(4175429632), // LDADDALX
3116 UINT64_C(3097493504), // LDADDAW
3117 UINT64_C(4171235328), // LDADDAX
3118 UINT64_C(941621248), // LDADDB
3119 UINT64_C(2015363072), // LDADDH
3120 UINT64_C(945815552), // LDADDLB
3121 UINT64_C(2019557376), // LDADDLH
3122 UINT64_C(3093299200), // LDADDLW
3123 UINT64_C(4167041024), // LDADDLX
3124 UINT64_C(3089104896), // LDADDW
3125 UINT64_C(4162846720), // LDADDX
3126 UINT64_C(222397440), // LDAP1
3127 UINT64_C(3644880896), // LDAPPi
3128 UINT64_C(952090624), // LDAPRB
3129 UINT64_C(2025832448), // LDAPRH
3130 UINT64_C(3099574272), // LDAPRW
3131 UINT64_C(2579499008), // LDAPRWpost
3132 UINT64_C(4173316096), // LDAPRX
3133 UINT64_C(3653240832), // LDAPRXpost
3134 UINT64_C(423624704), // LDAPURBi
3135 UINT64_C(1497366528), // LDAPURHi
3136 UINT64_C(432013312), // LDAPURSBWi
3137 UINT64_C(427819008), // LDAPURSBXi
3138 UINT64_C(1505755136), // LDAPURSHWi
3139 UINT64_C(1501560832), // LDAPURSHXi
3140 UINT64_C(2575302656), // LDAPURSWi
3141 UINT64_C(3644850176), // LDAPURXi
3142 UINT64_C(490735616), // LDAPURbi
3143 UINT64_C(3711961088), // LDAPURdi
3144 UINT64_C(1564477440), // LDAPURhi
3145 UINT64_C(2571108352), // LDAPURi
3146 UINT64_C(499124224), // LDAPURqi
3147 UINT64_C(2638219264), // LDAPURsi
3148 UINT64_C(3644872704), // LDAPi
3149 UINT64_C(148896768), // LDARB
3150 UINT64_C(1222638592), // LDARH
3151 UINT64_C(2296380416), // LDARW
3152 UINT64_C(3370122240), // LDARX
3153 UINT64_C(2304769024), // LDATXRW
3154 UINT64_C(3378510848), // LDATXRX
3155 UINT64_C(2290057216), // LDAXPW
3156 UINT64_C(3363799040), // LDAXPX
3157 UINT64_C(140508160), // LDAXRB
3158 UINT64_C(1214249984), // LDAXRH
3159 UINT64_C(2287991808), // LDAXRW
3160 UINT64_C(3361733632), // LDAXRX
3161 UINT64_C(1008730112), // LDBFADD
3162 UINT64_C(1017118720), // LDBFADDA
3163 UINT64_C(1021313024), // LDBFADDAL
3164 UINT64_C(1012924416), // LDBFADDL
3165 UINT64_C(1008746496), // LDBFMAX
3166 UINT64_C(1017135104), // LDBFMAXA
3167 UINT64_C(1021329408), // LDBFMAXAL
3168 UINT64_C(1012940800), // LDBFMAXL
3169 UINT64_C(1008754688), // LDBFMAXNM
3170 UINT64_C(1017143296), // LDBFMAXNMA
3171 UINT64_C(1021337600), // LDBFMAXNMAL
3172 UINT64_C(1012948992), // LDBFMAXNML
3173 UINT64_C(1008750592), // LDBFMIN
3174 UINT64_C(1017139200), // LDBFMINA
3175 UINT64_C(1021333504), // LDBFMINAL
3176 UINT64_C(1012944896), // LDBFMINL
3177 UINT64_C(1008758784), // LDBFMINNM
3178 UINT64_C(1017147392), // LDBFMINNMA
3179 UINT64_C(1021341696), // LDBFMINNMAL
3180 UINT64_C(1012953088), // LDBFMINNML
3181 UINT64_C(950013952), // LDCLRAB
3182 UINT64_C(2023755776), // LDCLRAH
3183 UINT64_C(954208256), // LDCLRALB
3184 UINT64_C(2027950080), // LDCLRALH
3185 UINT64_C(3101691904), // LDCLRALW
3186 UINT64_C(4175433728), // LDCLRALX
3187 UINT64_C(3097497600), // LDCLRAW
3188 UINT64_C(4171239424), // LDCLRAX
3189 UINT64_C(941625344), // LDCLRB
3190 UINT64_C(2015367168), // LDCLRH
3191 UINT64_C(945819648), // LDCLRLB
3192 UINT64_C(2019561472), // LDCLRLH
3193 UINT64_C(3093303296), // LDCLRLW
3194 UINT64_C(4167045120), // LDCLRLX
3195 UINT64_C(421531648), // LDCLRP
3196 UINT64_C(429920256), // LDCLRPA
3197 UINT64_C(434114560), // LDCLRPAL
3198 UINT64_C(425725952), // LDCLRPL
3199 UINT64_C(3089108992), // LDCLRW
3200 UINT64_C(4162850816), // LDCLRX
3201 UINT64_C(950018048), // LDEORAB
3202 UINT64_C(2023759872), // LDEORAH
3203 UINT64_C(954212352), // LDEORALB
3204 UINT64_C(2027954176), // LDEORALH
3205 UINT64_C(3101696000), // LDEORALW
3206 UINT64_C(4175437824), // LDEORALX
3207 UINT64_C(3097501696), // LDEORAW
3208 UINT64_C(4171243520), // LDEORAX
3209 UINT64_C(941629440), // LDEORB
3210 UINT64_C(2015371264), // LDEORH
3211 UINT64_C(945823744), // LDEORLB
3212 UINT64_C(2019565568), // LDEORLH
3213 UINT64_C(3093307392), // LDEORLW
3214 UINT64_C(4167049216), // LDEORLX
3215 UINT64_C(3089113088), // LDEORW
3216 UINT64_C(4162854912), // LDEORX
3217 UINT64_C(4238344192), // LDFADDAD
3218 UINT64_C(2090860544), // LDFADDAH
3219 UINT64_C(4242538496), // LDFADDALD
3220 UINT64_C(2095054848), // LDFADDALH
3221 UINT64_C(3168796672), // LDFADDALS
3222 UINT64_C(3164602368), // LDFADDAS
3223 UINT64_C(4229955584), // LDFADDD
3224 UINT64_C(2082471936), // LDFADDH
3225 UINT64_C(4234149888), // LDFADDLD
3226 UINT64_C(2086666240), // LDFADDLH
3227 UINT64_C(3160408064), // LDFADDLS
3228 UINT64_C(3156213760), // LDFADDS
3229 UINT64_C(2751488000), // LDFF1B
3230 UINT64_C(2757779456), // LDFF1B_D
3231 UINT64_C(2753585152), // LDFF1B_H
3232 UINT64_C(2755682304), // LDFF1B_S
3233 UINT64_C(2782945280), // LDFF1D
3234 UINT64_C(2761973760), // LDFF1H
3235 UINT64_C(2766168064), // LDFF1H_D
3236 UINT64_C(2764070912), // LDFF1H_S
3237 UINT64_C(2776653824), // LDFF1SB_D
3238 UINT64_C(2780848128), // LDFF1SB_H
3239 UINT64_C(2778750976), // LDFF1SB_S
3240 UINT64_C(2768265216), // LDFF1SH_D
3241 UINT64_C(2770362368), // LDFF1SH_S
3242 UINT64_C(2759876608), // LDFF1SW_D
3243 UINT64_C(2772459520), // LDFF1W
3244 UINT64_C(2774556672), // LDFF1W_D
3245 UINT64_C(4238360576), // LDFMAXAD
3246 UINT64_C(2090876928), // LDFMAXAH
3247 UINT64_C(4242554880), // LDFMAXALD
3248 UINT64_C(2095071232), // LDFMAXALH
3249 UINT64_C(3168813056), // LDFMAXALS
3250 UINT64_C(3164618752), // LDFMAXAS
3251 UINT64_C(4229971968), // LDFMAXD
3252 UINT64_C(2082488320), // LDFMAXH
3253 UINT64_C(4234166272), // LDFMAXLD
3254 UINT64_C(2086682624), // LDFMAXLH
3255 UINT64_C(3160424448), // LDFMAXLS
3256 UINT64_C(4238368768), // LDFMAXNMAD
3257 UINT64_C(2090885120), // LDFMAXNMAH
3258 UINT64_C(4242563072), // LDFMAXNMALD
3259 UINT64_C(2095079424), // LDFMAXNMALH
3260 UINT64_C(3168821248), // LDFMAXNMALS
3261 UINT64_C(3164626944), // LDFMAXNMAS
3262 UINT64_C(4229980160), // LDFMAXNMD
3263 UINT64_C(2082496512), // LDFMAXNMH
3264 UINT64_C(4234174464), // LDFMAXNMLD
3265 UINT64_C(2086690816), // LDFMAXNMLH
3266 UINT64_C(3160432640), // LDFMAXNMLS
3267 UINT64_C(3156238336), // LDFMAXNMS
3268 UINT64_C(3156230144), // LDFMAXS
3269 UINT64_C(4238364672), // LDFMINAD
3270 UINT64_C(2090881024), // LDFMINAH
3271 UINT64_C(4242558976), // LDFMINALD
3272 UINT64_C(2095075328), // LDFMINALH
3273 UINT64_C(3168817152), // LDFMINALS
3274 UINT64_C(3164622848), // LDFMINAS
3275 UINT64_C(4229976064), // LDFMIND
3276 UINT64_C(2082492416), // LDFMINH
3277 UINT64_C(4234170368), // LDFMINLD
3278 UINT64_C(2086686720), // LDFMINLH
3279 UINT64_C(3160428544), // LDFMINLS
3280 UINT64_C(4238372864), // LDFMINNMAD
3281 UINT64_C(2090889216), // LDFMINNMAH
3282 UINT64_C(4242567168), // LDFMINNMALD
3283 UINT64_C(2095083520), // LDFMINNMALH
3284 UINT64_C(3168825344), // LDFMINNMALS
3285 UINT64_C(3164631040), // LDFMINNMAS
3286 UINT64_C(4229984256), // LDFMINNMD
3287 UINT64_C(2082500608), // LDFMINNMH
3288 UINT64_C(4234178560), // LDFMINNMLD
3289 UINT64_C(2086694912), // LDFMINNMLH
3290 UINT64_C(3160436736), // LDFMINNMLS
3291 UINT64_C(3156242432), // LDFMINNMS
3292 UINT64_C(3156234240), // LDFMINS
3293 UINT64_C(3646947328), // LDG
3294 UINT64_C(3655335936), // LDGM
3295 UINT64_C(2571114496), // LDIAPPW
3296 UINT64_C(2571110400), // LDIAPPWpost
3297 UINT64_C(3644856320), // LDIAPPX
3298 UINT64_C(3644852224), // LDIAPPXpost
3299 UINT64_C(148864000), // LDLARB
3300 UINT64_C(1222605824), // LDLARH
3301 UINT64_C(2296347648), // LDLARW
3302 UINT64_C(3370089472), // LDLARX
3303 UINT64_C(2758844416), // LDNF1B_D_IMM
3304 UINT64_C(2754650112), // LDNF1B_H_IMM
3305 UINT64_C(2752552960), // LDNF1B_IMM
3306 UINT64_C(2756747264), // LDNF1B_S_IMM
3307 UINT64_C(2784010240), // LDNF1D_IMM
3308 UINT64_C(2767233024), // LDNF1H_D_IMM
3309 UINT64_C(2763038720), // LDNF1H_IMM
3310 UINT64_C(2765135872), // LDNF1H_S_IMM
3311 UINT64_C(2777718784), // LDNF1SB_D_IMM
3312 UINT64_C(2781913088), // LDNF1SB_H_IMM
3313 UINT64_C(2779815936), // LDNF1SB_S_IMM
3314 UINT64_C(2769330176), // LDNF1SH_D_IMM
3315 UINT64_C(2771427328), // LDNF1SH_S_IMM
3316 UINT64_C(2760941568), // LDNF1SW_D_IMM
3317 UINT64_C(2775621632), // LDNF1W_D_IMM
3318 UINT64_C(2773524480), // LDNF1W_IMM
3319 UINT64_C(1816133632), // LDNPDi
3320 UINT64_C(2889875456), // LDNPQi
3321 UINT64_C(742391808), // LDNPSi
3322 UINT64_C(675282944), // LDNPWi
3323 UINT64_C(2822766592), // LDNPXi
3324 UINT64_C(2684354561), // LDNT1B_2Z
3325 UINT64_C(2688548865), // LDNT1B_2Z_IMM
3326 UINT64_C(2701131784), // LDNT1B_2Z_STRIDED
3327 UINT64_C(2705326088), // LDNT1B_2Z_STRIDED_IMM
3328 UINT64_C(2684387329), // LDNT1B_4Z
3329 UINT64_C(2688581633), // LDNT1B_4Z_IMM
3330 UINT64_C(2701164552), // LDNT1B_4Z_STRIDED
3331 UINT64_C(2705358856), // LDNT1B_4Z_STRIDED_IMM
3332 UINT64_C(2751520768), // LDNT1B_ZRI
3333 UINT64_C(2751512576), // LDNT1B_ZRR
3334 UINT64_C(3288383488), // LDNT1B_ZZR_D
3335 UINT64_C(2214633472), // LDNT1B_ZZR_S
3336 UINT64_C(2684379137), // LDNT1D_2Z
3337 UINT64_C(2688573441), // LDNT1D_2Z_IMM
3338 UINT64_C(2701156360), // LDNT1D_2Z_STRIDED
3339 UINT64_C(2705350664), // LDNT1D_2Z_STRIDED_IMM
3340 UINT64_C(2684411905), // LDNT1D_4Z
3341 UINT64_C(2688606209), // LDNT1D_4Z_IMM
3342 UINT64_C(2701189128), // LDNT1D_4Z_STRIDED
3343 UINT64_C(2705383432), // LDNT1D_4Z_STRIDED_IMM
3344 UINT64_C(2776686592), // LDNT1D_ZRI
3345 UINT64_C(2776678400), // LDNT1D_ZRR
3346 UINT64_C(3313549312), // LDNT1D_ZZR_D
3347 UINT64_C(2684362753), // LDNT1H_2Z
3348 UINT64_C(2688557057), // LDNT1H_2Z_IMM
3349 UINT64_C(2701139976), // LDNT1H_2Z_STRIDED
3350 UINT64_C(2705334280), // LDNT1H_2Z_STRIDED_IMM
3351 UINT64_C(2684395521), // LDNT1H_4Z
3352 UINT64_C(2688589825), // LDNT1H_4Z_IMM
3353 UINT64_C(2701172744), // LDNT1H_4Z_STRIDED
3354 UINT64_C(2705367048), // LDNT1H_4Z_STRIDED_IMM
3355 UINT64_C(2759909376), // LDNT1H_ZRI
3356 UINT64_C(2759901184), // LDNT1H_ZRR
3357 UINT64_C(3296772096), // LDNT1H_ZZR_D
3358 UINT64_C(2223022080), // LDNT1H_ZZR_S
3359 UINT64_C(3288367104), // LDNT1SB_ZZR_D
3360 UINT64_C(2214625280), // LDNT1SB_ZZR_S
3361 UINT64_C(3296755712), // LDNT1SH_ZZR_D
3362 UINT64_C(2223013888), // LDNT1SH_ZZR_S
3363 UINT64_C(3305144320), // LDNT1SW_ZZR_D
3364 UINT64_C(2684370945), // LDNT1W_2Z
3365 UINT64_C(2688565249), // LDNT1W_2Z_IMM
3366 UINT64_C(2701148168), // LDNT1W_2Z_STRIDED
3367 UINT64_C(2705342472), // LDNT1W_2Z_STRIDED_IMM
3368 UINT64_C(2684403713), // LDNT1W_4Z
3369 UINT64_C(2688598017), // LDNT1W_4Z_IMM
3370 UINT64_C(2701180936), // LDNT1W_4Z_STRIDED
3371 UINT64_C(2705375240), // LDNT1W_4Z_STRIDED_IMM
3372 UINT64_C(2768297984), // LDNT1W_ZRI
3373 UINT64_C(2768289792), // LDNT1W_ZRR
3374 UINT64_C(3305160704), // LDNT1W_ZZR_D
3375 UINT64_C(2231410688), // LDNT1W_ZZR_S
3376 UINT64_C(1832910848), // LDPDi
3377 UINT64_C(1824522240), // LDPDpost
3378 UINT64_C(1841299456), // LDPDpre
3379 UINT64_C(2906652672), // LDPQi
3380 UINT64_C(2898264064), // LDPQpost
3381 UINT64_C(2915041280), // LDPQpre
3382 UINT64_C(1765801984), // LDPSWi
3383 UINT64_C(1757413376), // LDPSWpost
3384 UINT64_C(1774190592), // LDPSWpre
3385 UINT64_C(759169024), // LDPSi
3386 UINT64_C(750780416), // LDPSpost
3387 UINT64_C(767557632), // LDPSpre
3388 UINT64_C(692060160), // LDPWi
3389 UINT64_C(683671552), // LDPWpost
3390 UINT64_C(700448768), // LDPWpre
3391 UINT64_C(2839543808), // LDPXi
3392 UINT64_C(2831155200), // LDPXpost
3393 UINT64_C(2847932416), // LDPXpre
3394 UINT64_C(4162847744), // LDRAAindexed
3395 UINT64_C(4162849792), // LDRAAwriteback
3396 UINT64_C(4171236352), // LDRABindexed
3397 UINT64_C(4171238400), // LDRABwriteback
3398 UINT64_C(943719424), // LDRBBpost
3399 UINT64_C(943721472), // LDRBBpre
3400 UINT64_C(945833984), // LDRBBroW
3401 UINT64_C(945842176), // LDRBBroX
3402 UINT64_C(960495616), // LDRBBui
3403 UINT64_C(1010828288), // LDRBpost
3404 UINT64_C(1010830336), // LDRBpre
3405 UINT64_C(1012942848), // LDRBroW
3406 UINT64_C(1012951040), // LDRBroX
3407 UINT64_C(1027604480), // LDRBui
3408 UINT64_C(1543503872), // LDRDl
3409 UINT64_C(4232053760), // LDRDpost
3410 UINT64_C(4232055808), // LDRDpre
3411 UINT64_C(4234168320), // LDRDroW
3412 UINT64_C(4234176512), // LDRDroX
3413 UINT64_C(4248829952), // LDRDui
3414 UINT64_C(2017461248), // LDRHHpost
3415 UINT64_C(2017463296), // LDRHHpre
3416 UINT64_C(2019575808), // LDRHHroW
3417 UINT64_C(2019584000), // LDRHHroX
3418 UINT64_C(2034237440), // LDRHHui
3419 UINT64_C(2084570112), // LDRHpost
3420 UINT64_C(2084572160), // LDRHpre
3421 UINT64_C(2086684672), // LDRHroW
3422 UINT64_C(2086692864), // LDRHroX
3423 UINT64_C(2101346304), // LDRHui
3424 UINT64_C(2617245696), // LDRQl
3425 UINT64_C(1019216896), // LDRQpost
3426 UINT64_C(1019218944), // LDRQpre
3427 UINT64_C(1021331456), // LDRQroW
3428 UINT64_C(1021339648), // LDRQroX
3429 UINT64_C(1035993088), // LDRQui
3430 UINT64_C(952108032), // LDRSBWpost
3431 UINT64_C(952110080), // LDRSBWpre
3432 UINT64_C(954222592), // LDRSBWroW
3433 UINT64_C(954230784), // LDRSBWroX
3434 UINT64_C(968884224), // LDRSBWui
3435 UINT64_C(947913728), // LDRSBXpost
3436 UINT64_C(947915776), // LDRSBXpre
3437 UINT64_C(950028288), // LDRSBXroW
3438 UINT64_C(950036480), // LDRSBXroX
3439 UINT64_C(964689920), // LDRSBXui
3440 UINT64_C(2025849856), // LDRSHWpost
3441 UINT64_C(2025851904), // LDRSHWpre
3442 UINT64_C(2027964416), // LDRSHWroW
3443 UINT64_C(2027972608), // LDRSHWroX
3444 UINT64_C(2042626048), // LDRSHWui
3445 UINT64_C(2021655552), // LDRSHXpost
3446 UINT64_C(2021657600), // LDRSHXpre
3447 UINT64_C(2023770112), // LDRSHXroW
3448 UINT64_C(2023778304), // LDRSHXroX
3449 UINT64_C(2038431744), // LDRSHXui
3450 UINT64_C(2550136832), // LDRSWl
3451 UINT64_C(3095397376), // LDRSWpost
3452 UINT64_C(3095399424), // LDRSWpre
3453 UINT64_C(3097511936), // LDRSWroW
3454 UINT64_C(3097520128), // LDRSWroX
3455 UINT64_C(3112173568), // LDRSWui
3456 UINT64_C(469762048), // LDRSl
3457 UINT64_C(3158311936), // LDRSpost
3458 UINT64_C(3158313984), // LDRSpre
3459 UINT64_C(3160426496), // LDRSroW
3460 UINT64_C(3160434688), // LDRSroX
3461 UINT64_C(3175088128), // LDRSui
3462 UINT64_C(402653184), // LDRWl
3463 UINT64_C(3091203072), // LDRWpost
3464 UINT64_C(3091205120), // LDRWpre
3465 UINT64_C(3093317632), // LDRWroW
3466 UINT64_C(3093325824), // LDRWroX
3467 UINT64_C(3107979264), // LDRWui
3468 UINT64_C(1476395008), // LDRXl
3469 UINT64_C(4164944896), // LDRXpost
3470 UINT64_C(4164946944), // LDRXpre
3471 UINT64_C(4167059456), // LDRXroW
3472 UINT64_C(4167067648), // LDRXroX
3473 UINT64_C(4181721088), // LDRXui
3474 UINT64_C(2239758336), // LDR_PXI
3475 UINT64_C(3776937984), // LDR_TX
3476 UINT64_C(3774873600), // LDR_ZA
3477 UINT64_C(2239774720), // LDR_ZXI
3478 UINT64_C(950022144), // LDSETAB
3479 UINT64_C(2023763968), // LDSETAH
3480 UINT64_C(954216448), // LDSETALB
3481 UINT64_C(2027958272), // LDSETALH
3482 UINT64_C(3101700096), // LDSETALW
3483 UINT64_C(4175441920), // LDSETALX
3484 UINT64_C(3097505792), // LDSETAW
3485 UINT64_C(4171247616), // LDSETAX
3486 UINT64_C(941633536), // LDSETB
3487 UINT64_C(2015375360), // LDSETH
3488 UINT64_C(945827840), // LDSETLB
3489 UINT64_C(2019569664), // LDSETLH
3490 UINT64_C(3093311488), // LDSETLW
3491 UINT64_C(4167053312), // LDSETLX
3492 UINT64_C(421539840), // LDSETP
3493 UINT64_C(429928448), // LDSETPA
3494 UINT64_C(434122752), // LDSETPAL
3495 UINT64_C(425734144), // LDSETPL
3496 UINT64_C(3089117184), // LDSETW
3497 UINT64_C(4162859008), // LDSETX
3498 UINT64_C(950026240), // LDSMAXAB
3499 UINT64_C(2023768064), // LDSMAXAH
3500 UINT64_C(954220544), // LDSMAXALB
3501 UINT64_C(2027962368), // LDSMAXALH
3502 UINT64_C(3101704192), // LDSMAXALW
3503 UINT64_C(4175446016), // LDSMAXALX
3504 UINT64_C(3097509888), // LDSMAXAW
3505 UINT64_C(4171251712), // LDSMAXAX
3506 UINT64_C(941637632), // LDSMAXB
3507 UINT64_C(2015379456), // LDSMAXH
3508 UINT64_C(945831936), // LDSMAXLB
3509 UINT64_C(2019573760), // LDSMAXLH
3510 UINT64_C(3093315584), // LDSMAXLW
3511 UINT64_C(4167057408), // LDSMAXLX
3512 UINT64_C(3089121280), // LDSMAXW
3513 UINT64_C(4162863104), // LDSMAXX
3514 UINT64_C(950030336), // LDSMINAB
3515 UINT64_C(2023772160), // LDSMINAH
3516 UINT64_C(954224640), // LDSMINALB
3517 UINT64_C(2027966464), // LDSMINALH
3518 UINT64_C(3101708288), // LDSMINALW
3519 UINT64_C(4175450112), // LDSMINALX
3520 UINT64_C(3097513984), // LDSMINAW
3521 UINT64_C(4171255808), // LDSMINAX
3522 UINT64_C(941641728), // LDSMINB
3523 UINT64_C(2015383552), // LDSMINH
3524 UINT64_C(945836032), // LDSMINLB
3525 UINT64_C(2019577856), // LDSMINLH
3526 UINT64_C(3093319680), // LDSMINLW
3527 UINT64_C(4167061504), // LDSMINLX
3528 UINT64_C(3089125376), // LDSMINW
3529 UINT64_C(4162867200), // LDSMINX
3530 UINT64_C(434111488), // LDTADDALW
3531 UINT64_C(1507853312), // LDTADDALX
3532 UINT64_C(429917184), // LDTADDAW
3533 UINT64_C(1503659008), // LDTADDAX
3534 UINT64_C(425722880), // LDTADDLW
3535 UINT64_C(1499464704), // LDTADDLX
3536 UINT64_C(421528576), // LDTADDW
3537 UINT64_C(1495270400), // LDTADDX
3538 UINT64_C(434115584), // LDTCLRALW
3539 UINT64_C(1507857408), // LDTCLRALX
3540 UINT64_C(429921280), // LDTCLRAW
3541 UINT64_C(1503663104), // LDTCLRAX
3542 UINT64_C(425726976), // LDTCLRLW
3543 UINT64_C(1499468800), // LDTCLRLX
3544 UINT64_C(421532672), // LDTCLRW
3545 UINT64_C(1495274496), // LDTCLRX
3546 UINT64_C(3963617280), // LDTNPQi
3547 UINT64_C(3896508416), // LDTNPXi
3548 UINT64_C(3980394496), // LDTPQi
3549 UINT64_C(3972005888), // LDTPQpost
3550 UINT64_C(3988783104), // LDTPQpre
3551 UINT64_C(3913285632), // LDTPi
3552 UINT64_C(3904897024), // LDTPpost
3553 UINT64_C(3921674240), // LDTPpre
3554 UINT64_C(943720448), // LDTRBi
3555 UINT64_C(2017462272), // LDTRHi
3556 UINT64_C(952109056), // LDTRSBWi
3557 UINT64_C(947914752), // LDTRSBXi
3558 UINT64_C(2025850880), // LDTRSHWi
3559 UINT64_C(2021656576), // LDTRSHXi
3560 UINT64_C(3095398400), // LDTRSWi
3561 UINT64_C(3091204096), // LDTRWi
3562 UINT64_C(4164945920), // LDTRXi
3563 UINT64_C(434123776), // LDTSETALW
3564 UINT64_C(1507865600), // LDTSETALX
3565 UINT64_C(429929472), // LDTSETAW
3566 UINT64_C(1503671296), // LDTSETAX
3567 UINT64_C(425735168), // LDTSETLW
3568 UINT64_C(1499476992), // LDTSETLX
3569 UINT64_C(421540864), // LDTSETW
3570 UINT64_C(1495282688), // LDTSETX
3571 UINT64_C(2304736256), // LDTXRWr
3572 UINT64_C(3378478080), // LDTXRXr
3573 UINT64_C(950034432), // LDUMAXAB
3574 UINT64_C(2023776256), // LDUMAXAH
3575 UINT64_C(954228736), // LDUMAXALB
3576 UINT64_C(2027970560), // LDUMAXALH
3577 UINT64_C(3101712384), // LDUMAXALW
3578 UINT64_C(4175454208), // LDUMAXALX
3579 UINT64_C(3097518080), // LDUMAXAW
3580 UINT64_C(4171259904), // LDUMAXAX
3581 UINT64_C(941645824), // LDUMAXB
3582 UINT64_C(2015387648), // LDUMAXH
3583 UINT64_C(945840128), // LDUMAXLB
3584 UINT64_C(2019581952), // LDUMAXLH
3585 UINT64_C(3093323776), // LDUMAXLW
3586 UINT64_C(4167065600), // LDUMAXLX
3587 UINT64_C(3089129472), // LDUMAXW
3588 UINT64_C(4162871296), // LDUMAXX
3589 UINT64_C(950038528), // LDUMINAB
3590 UINT64_C(2023780352), // LDUMINAH
3591 UINT64_C(954232832), // LDUMINALB
3592 UINT64_C(2027974656), // LDUMINALH
3593 UINT64_C(3101716480), // LDUMINALW
3594 UINT64_C(4175458304), // LDUMINALX
3595 UINT64_C(3097522176), // LDUMINAW
3596 UINT64_C(4171264000), // LDUMINAX
3597 UINT64_C(941649920), // LDUMINB
3598 UINT64_C(2015391744), // LDUMINH
3599 UINT64_C(945844224), // LDUMINLB
3600 UINT64_C(2019586048), // LDUMINLH
3601 UINT64_C(3093327872), // LDUMINLW
3602 UINT64_C(4167069696), // LDUMINLX
3603 UINT64_C(3089133568), // LDUMINW
3604 UINT64_C(4162875392), // LDUMINX
3605 UINT64_C(943718400), // LDURBBi
3606 UINT64_C(1010827264), // LDURBi
3607 UINT64_C(4232052736), // LDURDi
3608 UINT64_C(2017460224), // LDURHHi
3609 UINT64_C(2084569088), // LDURHi
3610 UINT64_C(1019215872), // LDURQi
3611 UINT64_C(952107008), // LDURSBWi
3612 UINT64_C(947912704), // LDURSBXi
3613 UINT64_C(2025848832), // LDURSHWi
3614 UINT64_C(2021654528), // LDURSHXi
3615 UINT64_C(3095396352), // LDURSWi
3616 UINT64_C(3158310912), // LDURSi
3617 UINT64_C(3091202048), // LDURWi
3618 UINT64_C(4164943872), // LDURXi
3619 UINT64_C(2290024448), // LDXPW
3620 UINT64_C(3363766272), // LDXPX
3621 UINT64_C(140475392), // LDXRB
3622 UINT64_C(1214217216), // LDXRH
3623 UINT64_C(2287959040), // LDXRW
3624 UINT64_C(3361700864), // LDXRX
3625 UINT64_C(68648960), // LSLR_ZPmZ_B
3626 UINT64_C(81231872), // LSLR_ZPmZ_D
3627 UINT64_C(72843264), // LSLR_ZPmZ_H
3628 UINT64_C(77037568), // LSLR_ZPmZ_S
3629 UINT64_C(448798720), // LSLVWr
3630 UINT64_C(2596282368), // LSLVXr
3631 UINT64_C(68911104), // LSL_WIDE_ZPmZ_B
3632 UINT64_C(73105408), // LSL_WIDE_ZPmZ_H
3633 UINT64_C(77299712), // LSL_WIDE_ZPmZ_S
3634 UINT64_C(69241856), // LSL_WIDE_ZZZ_B
3635 UINT64_C(73436160), // LSL_WIDE_ZZZ_H
3636 UINT64_C(77630464), // LSL_WIDE_ZZZ_S
3637 UINT64_C(67338496), // LSL_ZPmI_B
3638 UINT64_C(75726848), // LSL_ZPmI_D
3639 UINT64_C(67338752), // LSL_ZPmI_H
3640 UINT64_C(71532544), // LSL_ZPmI_S
3641 UINT64_C(68386816), // LSL_ZPmZ_B
3642 UINT64_C(80969728), // LSL_ZPmZ_D
3643 UINT64_C(72581120), // LSL_ZPmZ_H
3644 UINT64_C(76775424), // LSL_ZPmZ_S
3645 UINT64_C(69770240), // LSL_ZZI_B
3646 UINT64_C(77634560), // LSL_ZZI_D
3647 UINT64_C(70294528), // LSL_ZZI_H
3648 UINT64_C(73440256), // LSL_ZZI_S
3649 UINT64_C(68517888), // LSRR_ZPmZ_B
3650 UINT64_C(81100800), // LSRR_ZPmZ_D
3651 UINT64_C(72712192), // LSRR_ZPmZ_H
3652 UINT64_C(76906496), // LSRR_ZPmZ_S
3653 UINT64_C(448799744), // LSRVWr
3654 UINT64_C(2596283392), // LSRVXr
3655 UINT64_C(68780032), // LSR_WIDE_ZPmZ_B
3656 UINT64_C(72974336), // LSR_WIDE_ZPmZ_H
3657 UINT64_C(77168640), // LSR_WIDE_ZPmZ_S
3658 UINT64_C(69239808), // LSR_WIDE_ZZZ_B
3659 UINT64_C(73434112), // LSR_WIDE_ZZZ_H
3660 UINT64_C(77628416), // LSR_WIDE_ZZZ_S
3661 UINT64_C(67207424), // LSR_ZPmI_B
3662 UINT64_C(75595776), // LSR_ZPmI_D
3663 UINT64_C(67207680), // LSR_ZPmI_H
3664 UINT64_C(71401472), // LSR_ZPmI_S
3665 UINT64_C(68255744), // LSR_ZPmZ_B
3666 UINT64_C(80838656), // LSR_ZPmZ_D
3667 UINT64_C(72450048), // LSR_ZPmZ_H
3668 UINT64_C(76644352), // LSR_ZPmZ_S
3669 UINT64_C(69768192), // LSR_ZZI_B
3670 UINT64_C(77632512), // LSR_ZZI_D
3671 UINT64_C(70292480), // LSR_ZZI_H
3672 UINT64_C(73438208), // LSR_ZZI_S
3673 UINT64_C(1317015552), // LUT2_B
3674 UINT64_C(1321205760), // LUT2_H
3675 UINT64_C(1312825344), // LUT4_B
3676 UINT64_C(1312821248), // LUT4_H
3677 UINT64_C(3230416896), // LUTI2_2ZTZI_B
3678 UINT64_C(3230420992), // LUTI2_2ZTZI_H
3679 UINT64_C(3230425088), // LUTI2_2ZTZI_S
3680 UINT64_C(3230433280), // LUTI2_4ZTZI_B
3681 UINT64_C(3230437376), // LUTI2_4ZTZI_H
3682 UINT64_C(3230441472), // LUTI2_4ZTZI_S
3683 UINT64_C(3231465472), // LUTI2_S_2ZTZI_B
3684 UINT64_C(3231469568), // LUTI2_S_2ZTZI_H
3685 UINT64_C(3231481856), // LUTI2_S_4ZTZI_B
3686 UINT64_C(3231485952), // LUTI2_S_4ZTZI_H
3687 UINT64_C(3234594816), // LUTI2_ZTZI_B
3688 UINT64_C(3234598912), // LUTI2_ZTZI_H
3689 UINT64_C(3234603008), // LUTI2_ZTZI_S
3690 UINT64_C(1159770112), // LUTI2_ZZZI_B
3691 UINT64_C(1159768064), // LUTI2_ZZZI_H
3692 UINT64_C(3230285824), // LUTI4_2ZTZI_B
3693 UINT64_C(3230289920), // LUTI4_2ZTZI_H
3694 UINT64_C(3230294016), // LUTI4_2ZTZI_S
3695 UINT64_C(3230306304), // LUTI4_4ZTZI_H
3696 UINT64_C(3230310400), // LUTI4_4ZTZI_S
3697 UINT64_C(3230334976), // LUTI4_4ZZT2Z
3698 UINT64_C(3231334400), // LUTI4_S_2ZTZI_B
3699 UINT64_C(3231338496), // LUTI4_S_2ZTZI_H
3700 UINT64_C(3231354880), // LUTI4_S_4ZTZI_H
3701 UINT64_C(3231383552), // LUTI4_S_4ZZT2Z
3702 UINT64_C(1159771136), // LUTI4_Z2ZZI
3703 UINT64_C(3234463744), // LUTI4_ZTZI_B
3704 UINT64_C(3234467840), // LUTI4_ZTZI_H
3705 UINT64_C(3234471936), // LUTI4_ZTZI_S
3706 UINT64_C(1163961344), // LUTI4_ZZZI_B
3707 UINT64_C(1159773184), // LUTI4_ZZZI_H
3708 UINT64_C(3240162304), // LUTI6_4Z2Z2ZI
3709 UINT64_C(3230269440), // LUTI6_4ZT3Z
3710 UINT64_C(3240164352), // LUTI6_S_4Z2Z2ZI
3711 UINT64_C(3231318016), // LUTI6_S_4ZT3Z
3712 UINT64_C(1159769088), // LUTI6_Z2ZZ
3713 UINT64_C(1163963392), // LUTI6_Z2ZZI_H
3714 UINT64_C(3234349056), // LUTI6_ZTZ
3715 UINT64_C(2606759936), // MADDPT
3716 UINT64_C(452984832), // MADDWrrr
3717 UINT64_C(2600468480), // MADDXrrr
3718 UINT64_C(1153488896), // MAD_CPA
3719 UINT64_C(67158016), // MAD_ZPmZZ_B
3720 UINT64_C(79740928), // MAD_ZPmZZ_D
3721 UINT64_C(71352320), // MAD_ZPmZZ_H
3722 UINT64_C(75546624), // MAD_ZPmZZ_S
3723 UINT64_C(1159757824), // MATCH_PPzZZ_B
3724 UINT64_C(1163952128), // MATCH_PPzZZ_H
3725 UINT64_C(1153486848), // MLA_CPA
3726 UINT64_C(67125248), // MLA_ZPmZZ_B
3727 UINT64_C(79708160), // MLA_ZPmZZ_D
3728 UINT64_C(71319552), // MLA_ZPmZZ_H
3729 UINT64_C(75513856), // MLA_ZPmZZ_S
3730 UINT64_C(1155532800), // MLA_ZZZI_D
3731 UINT64_C(1142949888), // MLA_ZZZI_H
3732 UINT64_C(1151338496), // MLA_ZZZI_S
3733 UINT64_C(1310757888), // MLAv16i8
3734 UINT64_C(245404672), // MLAv2i32
3735 UINT64_C(796917760), // MLAv2i32_indexed
3736 UINT64_C(241210368), // MLAv4i16
3737 UINT64_C(792723456), // MLAv4i16_indexed
3738 UINT64_C(1319146496), // MLAv4i32
3739 UINT64_C(1870659584), // MLAv4i32_indexed
3740 UINT64_C(1314952192), // MLAv8i16
3741 UINT64_C(1866465280), // MLAv8i16_indexed
3742 UINT64_C(237016064), // MLAv8i8
3743 UINT64_C(67133440), // MLS_ZPmZZ_B
3744 UINT64_C(79716352), // MLS_ZPmZZ_D
3745 UINT64_C(71327744), // MLS_ZPmZZ_H
3746 UINT64_C(75522048), // MLS_ZPmZZ_S
3747 UINT64_C(1155533824), // MLS_ZZZI_D
3748 UINT64_C(1142950912), // MLS_ZZZI_H
3749 UINT64_C(1151339520), // MLS_ZZZI_S
3750 UINT64_C(1847628800), // MLSv16i8
3751 UINT64_C(782275584), // MLSv2i32
3752 UINT64_C(796934144), // MLSv2i32_indexed
3753 UINT64_C(778081280), // MLSv4i16
3754 UINT64_C(792739840), // MLSv4i16_indexed
3755 UINT64_C(1856017408), // MLSv4i32
3756 UINT64_C(1870675968), // MLSv4i32_indexed
3757 UINT64_C(1851823104), // MLSv8i16
3758 UINT64_C(1866481664), // MLSv8i16_indexed
3759 UINT64_C(773886976), // MLSv8i8
3760 UINT64_C(499155968), // MOPSSETGE
3761 UINT64_C(499164160), // MOPSSETGEN
3762 UINT64_C(499160064), // MOPSSETGET
3763 UINT64_C(499168256), // MOPSSETGETN
3764 UINT64_C(3221619200), // MOVAZ_2ZMI_H_B
3765 UINT64_C(3234202112), // MOVAZ_2ZMI_H_D
3766 UINT64_C(3225813504), // MOVAZ_2ZMI_H_H
3767 UINT64_C(3230007808), // MOVAZ_2ZMI_H_S
3768 UINT64_C(3221651968), // MOVAZ_2ZMI_V_B
3769 UINT64_C(3234234880), // MOVAZ_2ZMI_V_D
3770 UINT64_C(3225846272), // MOVAZ_2ZMI_V_H
3771 UINT64_C(3230040576), // MOVAZ_2ZMI_V_S
3772 UINT64_C(3221620224), // MOVAZ_4ZMI_H_B
3773 UINT64_C(3234203136), // MOVAZ_4ZMI_H_D
3774 UINT64_C(3225814528), // MOVAZ_4ZMI_H_H
3775 UINT64_C(3230008832), // MOVAZ_4ZMI_H_S
3776 UINT64_C(3221652992), // MOVAZ_4ZMI_V_B
3777 UINT64_C(3234235904), // MOVAZ_4ZMI_V_D
3778 UINT64_C(3225847296), // MOVAZ_4ZMI_V_H
3779 UINT64_C(3230041600), // MOVAZ_4ZMI_V_S
3780 UINT64_C(3221621248), // MOVAZ_VG2_2ZMXI
3781 UINT64_C(3221622272), // MOVAZ_VG4_4ZMXI
3782 UINT64_C(3221357056), // MOVAZ_ZMI_H_B
3783 UINT64_C(3233939968), // MOVAZ_ZMI_H_D
3784 UINT64_C(3225551360), // MOVAZ_ZMI_H_H
3785 UINT64_C(3234005504), // MOVAZ_ZMI_H_Q
3786 UINT64_C(3229745664), // MOVAZ_ZMI_H_S
3787 UINT64_C(3221389824), // MOVAZ_ZMI_V_B
3788 UINT64_C(3233972736), // MOVAZ_ZMI_V_D
3789 UINT64_C(3225584128), // MOVAZ_ZMI_V_H
3790 UINT64_C(3234038272), // MOVAZ_ZMI_V_Q
3791 UINT64_C(3229778432), // MOVAZ_ZMI_V_S
3792 UINT64_C(3221618688), // MOVA_2ZMXI_H_B
3793 UINT64_C(3234201600), // MOVA_2ZMXI_H_D
3794 UINT64_C(3225812992), // MOVA_2ZMXI_H_H
3795 UINT64_C(3230007296), // MOVA_2ZMXI_H_S
3796 UINT64_C(3221651456), // MOVA_2ZMXI_V_B
3797 UINT64_C(3234234368), // MOVA_2ZMXI_V_D
3798 UINT64_C(3225845760), // MOVA_2ZMXI_V_H
3799 UINT64_C(3230040064), // MOVA_2ZMXI_V_S
3800 UINT64_C(3221619712), // MOVA_4ZMXI_H_B
3801 UINT64_C(3234202624), // MOVA_4ZMXI_H_D
3802 UINT64_C(3225814016), // MOVA_4ZMXI_H_H
3803 UINT64_C(3230008320), // MOVA_4ZMXI_H_S
3804 UINT64_C(3221652480), // MOVA_4ZMXI_V_B
3805 UINT64_C(3234235392), // MOVA_4ZMXI_V_D
3806 UINT64_C(3225846784), // MOVA_4ZMXI_V_H
3807 UINT64_C(3230041088), // MOVA_4ZMXI_V_S
3808 UINT64_C(3221487616), // MOVA_MXI2Z_H_B
3809 UINT64_C(3234070528), // MOVA_MXI2Z_H_D
3810 UINT64_C(3225681920), // MOVA_MXI2Z_H_H
3811 UINT64_C(3229876224), // MOVA_MXI2Z_H_S
3812 UINT64_C(3221520384), // MOVA_MXI2Z_V_B
3813 UINT64_C(3234103296), // MOVA_MXI2Z_V_D
3814 UINT64_C(3225714688), // MOVA_MXI2Z_V_H
3815 UINT64_C(3229908992), // MOVA_MXI2Z_V_S
3816 UINT64_C(3221488640), // MOVA_MXI4Z_H_B
3817 UINT64_C(3234071552), // MOVA_MXI4Z_H_D
3818 UINT64_C(3225682944), // MOVA_MXI4Z_H_H
3819 UINT64_C(3229877248), // MOVA_MXI4Z_H_S
3820 UINT64_C(3221521408), // MOVA_MXI4Z_V_B
3821 UINT64_C(3234104320), // MOVA_MXI4Z_V_D
3822 UINT64_C(3225715712), // MOVA_MXI4Z_V_H
3823 UINT64_C(3229910016), // MOVA_MXI4Z_V_S
3824 UINT64_C(3221620736), // MOVA_VG2_2ZMXI
3825 UINT64_C(3221489664), // MOVA_VG2_MXI2Z
3826 UINT64_C(3221621760), // MOVA_VG4_4ZMXI
3827 UINT64_C(3221490688), // MOVA_VG4_MXI4Z
3828 UINT64_C(788587520), // MOVID
3829 UINT64_C(1325458432), // MOVIv16b_ns
3830 UINT64_C(1862329344), // MOVIv2d_ns
3831 UINT64_C(251659264), // MOVIv2i32
3832 UINT64_C(251708416), // MOVIv2s_msl
3833 UINT64_C(251692032), // MOVIv4i16
3834 UINT64_C(1325401088), // MOVIv4i32
3835 UINT64_C(1325450240), // MOVIv4s_msl
3836 UINT64_C(251716608), // MOVIv8b_ns
3837 UINT64_C(1325433856), // MOVIv8i16
3838 UINT64_C(1920991232), // MOVKWi
3839 UINT64_C(4068474880), // MOVKXi
3840 UINT64_C(310378496), // MOVNWi
3841 UINT64_C(2457862144), // MOVNXi
3842 UINT64_C(68231168), // MOVPRFX_ZPmZ_B
3843 UINT64_C(80814080), // MOVPRFX_ZPmZ_D
3844 UINT64_C(72425472), // MOVPRFX_ZPmZ_H
3845 UINT64_C(76619776), // MOVPRFX_ZPmZ_S
3846 UINT64_C(68165632), // MOVPRFX_ZPzZ_B
3847 UINT64_C(80748544), // MOVPRFX_ZPzZ_D
3848 UINT64_C(72359936), // MOVPRFX_ZPzZ_H
3849 UINT64_C(76554240), // MOVPRFX_ZPzZ_S
3850 UINT64_C(69254144), // MOVPRFX_ZZ
3851 UINT64_C(3226338272), // MOVT_TIX
3852 UINT64_C(3226403808), // MOVT_TIZ
3853 UINT64_C(3226207200), // MOVT_XTI
3854 UINT64_C(1384120320), // MOVZWi
3855 UINT64_C(3531603968), // MOVZXi
3856 UINT64_C(3579838464), // MRRS
3857 UINT64_C(3575644160), // MRS
3858 UINT64_C(67166208), // MSB_ZPmZZ_B
3859 UINT64_C(79749120), // MSB_ZPmZZ_D
3860 UINT64_C(71360512), // MSB_ZPmZZ_H
3861 UINT64_C(75554816), // MSB_ZPmZZ_S
3862 UINT64_C(3573547008), // MSR
3863 UINT64_C(3577741312), // MSRR
3864 UINT64_C(3573563423), // MSRpstateImm1
3865 UINT64_C(3573563423), // MSRpstateImm4
3866 UINT64_C(3573760127), // MSRpstatesvcrImm1
3867 UINT64_C(2606792704), // MSUBPT
3868 UINT64_C(453017600), // MSUBWrrr
3869 UINT64_C(2600501248), // MSUBXrrr
3870 UINT64_C(623951872), // MUL_ZI_B
3871 UINT64_C(636534784), // MUL_ZI_D
3872 UINT64_C(628146176), // MUL_ZI_H
3873 UINT64_C(632340480), // MUL_ZI_S
3874 UINT64_C(68157440), // MUL_ZPmZ_B
3875 UINT64_C(80740352), // MUL_ZPmZ_D
3876 UINT64_C(72351744), // MUL_ZPmZ_H
3877 UINT64_C(76546048), // MUL_ZPmZ_S
3878 UINT64_C(1155594240), // MUL_ZZZI_D
3879 UINT64_C(1143011328), // MUL_ZZZI_H
3880 UINT64_C(1151399936), // MUL_ZZZI_S
3881 UINT64_C(69230592), // MUL_ZZZ_B
3882 UINT64_C(81813504), // MUL_ZZZ_D
3883 UINT64_C(73424896), // MUL_ZZZ_H
3884 UINT64_C(77619200), // MUL_ZZZ_S
3885 UINT64_C(1310759936), // MULv16i8
3886 UINT64_C(245406720), // MULv2i32
3887 UINT64_C(260079616), // MULv2i32_indexed
3888 UINT64_C(241212416), // MULv4i16
3889 UINT64_C(255885312), // MULv4i16_indexed
3890 UINT64_C(1319148544), // MULv4i32
3891 UINT64_C(1333821440), // MULv4i32_indexed
3892 UINT64_C(1314954240), // MULv8i16
3893 UINT64_C(1329627136), // MULv8i16_indexed
3894 UINT64_C(237018112), // MULv8i8
3895 UINT64_C(788530176), // MVNIv2i32
3896 UINT64_C(788579328), // MVNIv2s_msl
3897 UINT64_C(788562944), // MVNIv4i16
3898 UINT64_C(1862272000), // MVNIv4i32
3899 UINT64_C(1862321152), // MVNIv4s_msl
3900 UINT64_C(1862304768), // MVNIv8i16
3901 UINT64_C(633356816), // NANDS_PPzPP
3902 UINT64_C(629162512), // NAND_PPzPP
3903 UINT64_C(81804288), // NBSL_ZZZZ
3904 UINT64_C(68657152), // NEG_ZPmZ_B
3905 UINT64_C(81240064), // NEG_ZPmZ_D
3906 UINT64_C(72851456), // NEG_ZPmZ_H
3907 UINT64_C(77045760), // NEG_ZPmZ_S
3908 UINT64_C(67608576), // NEG_ZPzZ_B
3909 UINT64_C(80191488), // NEG_ZPzZ_D
3910 UINT64_C(71802880), // NEG_ZPzZ_H
3911 UINT64_C(75997184), // NEG_ZPzZ_S
3912 UINT64_C(1847638016), // NEGv16i8
3913 UINT64_C(2128656384), // NEGv1i64
3914 UINT64_C(782284800), // NEGv2i32
3915 UINT64_C(1860220928), // NEGv2i64
3916 UINT64_C(778090496), // NEGv4i16
3917 UINT64_C(1856026624), // NEGv4i32
3918 UINT64_C(1851832320), // NEGv8i16
3919 UINT64_C(773896192), // NEGv8i8
3920 UINT64_C(1159757840), // NMATCH_PPzZZ_B
3921 UINT64_C(1163952144), // NMATCH_PPzZZ_H
3922 UINT64_C(3573751839), // NOP
3923 UINT64_C(633356800), // NORS_PPzPP
3924 UINT64_C(629162496), // NOR_PPzPP
3925 UINT64_C(69115904), // NOT_ZPmZ_B
3926 UINT64_C(81698816), // NOT_ZPmZ_D
3927 UINT64_C(73310208), // NOT_ZPmZ_H
3928 UINT64_C(77504512), // NOT_ZPmZ_S
3929 UINT64_C(68067328), // NOT_ZPzZ_B
3930 UINT64_C(80650240), // NOT_ZPzZ_D
3931 UINT64_C(72261632), // NOT_ZPzZ_H
3932 UINT64_C(76455936), // NOT_ZPzZ_S
3933 UINT64_C(1847613440), // NOTv16i8
3934 UINT64_C(773871616), // NOTv8i8
3935 UINT64_C(633356304), // ORNS_PPzPP
3936 UINT64_C(706740224), // ORNWrs
3937 UINT64_C(2854223872), // ORNXrs
3938 UINT64_C(629162000), // ORN_PPzPP
3939 UINT64_C(1323310080), // ORNv16i8
3940 UINT64_C(249568256), // ORNv8i8
3941 UINT64_C(68952064), // ORQV_VPZ_B
3942 UINT64_C(81534976), // ORQV_VPZ_D
3943 UINT64_C(73146368), // ORQV_VPZ_H
3944 UINT64_C(77340672), // ORQV_VPZ_S
3945 UINT64_C(633356288), // ORRS_PPzPP
3946 UINT64_C(838860800), // ORRWri
3947 UINT64_C(704643072), // ORRWrs
3948 UINT64_C(2986344448), // ORRXri
3949 UINT64_C(2852126720), // ORRXrs
3950 UINT64_C(629161984), // ORR_PPzPP
3951 UINT64_C(83886080), // ORR_ZI
3952 UINT64_C(68681728), // ORR_ZPmZ_B
3953 UINT64_C(81264640), // ORR_ZPmZ_D
3954 UINT64_C(72876032), // ORR_ZPmZ_H
3955 UINT64_C(77070336), // ORR_ZPmZ_S
3956 UINT64_C(73412608), // ORR_ZZZ
3957 UINT64_C(1319115776), // ORRv16i8
3958 UINT64_C(251663360), // ORRv2i32
3959 UINT64_C(251696128), // ORRv4i16
3960 UINT64_C(1325405184), // ORRv4i32
3961 UINT64_C(1325437952), // ORRv8i16
3962 UINT64_C(245373952), // ORRv8i8
3963 UINT64_C(68689920), // ORV_VPZ_B
3964 UINT64_C(81272832), // ORV_VPZ_D
3965 UINT64_C(72884224), // ORV_VPZ_H
3966 UINT64_C(77078528), // ORV_VPZ_S
3967 UINT64_C(3670083584), // PACDA
3968 UINT64_C(3670084608), // PACDB
3969 UINT64_C(3670092768), // PACDZA
3970 UINT64_C(3670093792), // PACDZB
3971 UINT64_C(2596286464), // PACGA
3972 UINT64_C(3670081536), // PACIA
3973 UINT64_C(3573752095), // PACIA1716
3974 UINT64_C(3670117374), // PACIA171615
3975 UINT64_C(3573752639), // PACIASP
3976 UINT64_C(3670123518), // PACIASPPC
3977 UINT64_C(3573752607), // PACIAZ
3978 UINT64_C(3670082560), // PACIB
3979 UINT64_C(3573752159), // PACIB1716
3980 UINT64_C(3670118398), // PACIB171615
3981 UINT64_C(3573752703), // PACIBSP
3982 UINT64_C(3670124542), // PACIBSPPC
3983 UINT64_C(3573752671), // PACIBZ
3984 UINT64_C(3670090720), // PACIZA
3985 UINT64_C(3670091744), // PACIZB
3986 UINT64_C(3573753087), // PACM
3987 UINT64_C(3670115326), // PACNBIASPPC
3988 UINT64_C(3670116350), // PACNBIBSPPC
3989 UINT64_C(622883856), // PEXT_2PCI_B
3990 UINT64_C(635466768), // PEXT_2PCI_D
3991 UINT64_C(627078160), // PEXT_2PCI_H
3992 UINT64_C(631272464), // PEXT_2PCI_S
3993 UINT64_C(622882832), // PEXT_PCI_B
3994 UINT64_C(635465744), // PEXT_PCI_D
3995 UINT64_C(627077136), // PEXT_PCI_H
3996 UINT64_C(631271440), // PEXT_PCI_S
3997 UINT64_C(622388224), // PFALSE
3998 UINT64_C(626573312), // PFIRST_B
3999 UINT64_C(1159789568), // PMLAL_2ZZZ_Q
4000 UINT64_C(86652928), // PMOV_PZI_B
4001 UINT64_C(94910464), // PMOV_PZI_D
4002 UINT64_C(86784000), // PMOV_PZI_H
4003 UINT64_C(90716160), // PMOV_PZI_S
4004 UINT64_C(86718464), // PMOV_ZIP_B
4005 UINT64_C(94976000), // PMOV_ZIP_D
4006 UINT64_C(86849536), // PMOV_ZIP_H
4007 UINT64_C(90781696), // PMOV_ZIP_S
4008 UINT64_C(1170237440), // PMULLB_ZZZ_D
4009 UINT64_C(1161848832), // PMULLB_ZZZ_H
4010 UINT64_C(1157654528), // PMULLB_ZZZ_Q
4011 UINT64_C(1170238464), // PMULLT_ZZZ_D
4012 UINT64_C(1161849856), // PMULLT_ZZZ_H
4013 UINT64_C(1157655552), // PMULLT_ZZZ_Q
4014 UINT64_C(1159788544), // PMULL_2ZZZ_Q
4015 UINT64_C(1310777344), // PMULLv16i8
4016 UINT64_C(249618432), // PMULLv1i64
4017 UINT64_C(1323360256), // PMULLv2i64
4018 UINT64_C(237035520), // PMULLv8i8
4019 UINT64_C(69231616), // PMUL_ZZZ_B
4020 UINT64_C(1847630848), // PMULv16i8
4021 UINT64_C(773889024), // PMULv8i8
4022 UINT64_C(622445568), // PNEXT_B
4023 UINT64_C(635028480), // PNEXT_D
4024 UINT64_C(626639872), // PNEXT_H
4025 UINT64_C(630834176), // PNEXT_S
4026 UINT64_C(3288391680), // PRFB_D_PZI
4027 UINT64_C(3294658560), // PRFB_D_SCALED
4028 UINT64_C(3294625792), // PRFB_D_SXTW_SCALED
4029 UINT64_C(3290431488), // PRFB_D_UXTW_SCALED
4030 UINT64_C(2243952640), // PRFB_PRI
4031 UINT64_C(2214641664), // PRFB_PRR
4032 UINT64_C(2214649856), // PRFB_S_PZI
4033 UINT64_C(2220883968), // PRFB_S_SXTW_SCALED
4034 UINT64_C(2216689664), // PRFB_S_UXTW_SCALED
4035 UINT64_C(3313557504), // PRFD_D_PZI
4036 UINT64_C(3294683136), // PRFD_D_SCALED
4037 UINT64_C(3294650368), // PRFD_D_SXTW_SCALED
4038 UINT64_C(3290456064), // PRFD_D_UXTW_SCALED
4039 UINT64_C(2243977216), // PRFD_PRI
4040 UINT64_C(2239807488), // PRFD_PRR
4041 UINT64_C(2239815680), // PRFD_S_PZI
4042 UINT64_C(2220908544), // PRFD_S_SXTW_SCALED
4043 UINT64_C(2216714240), // PRFD_S_UXTW_SCALED
4044 UINT64_C(3296780288), // PRFH_D_PZI
4045 UINT64_C(3294666752), // PRFH_D_SCALED
4046 UINT64_C(3294633984), // PRFH_D_SXTW_SCALED
4047 UINT64_C(3290439680), // PRFH_D_UXTW_SCALED
4048 UINT64_C(2243960832), // PRFH_PRI
4049 UINT64_C(2223030272), // PRFH_PRR
4050 UINT64_C(2223038464), // PRFH_S_PZI
4051 UINT64_C(2220892160), // PRFH_S_SXTW_SCALED
4052 UINT64_C(2216697856), // PRFH_S_UXTW_SCALED
4053 UINT64_C(3623878656), // PRFMl
4054 UINT64_C(4171253760), // PRFMroW
4055 UINT64_C(4171261952), // PRFMroX
4056 UINT64_C(4185915392), // PRFMui
4057 UINT64_C(4169138176), // PRFUMi
4058 UINT64_C(3305168896), // PRFW_D_PZI
4059 UINT64_C(3294674944), // PRFW_D_SCALED
4060 UINT64_C(3294642176), // PRFW_D_SXTW_SCALED
4061 UINT64_C(3290447872), // PRFW_D_UXTW_SCALED
4062 UINT64_C(2243969024), // PRFW_PRI
4063 UINT64_C(2231418880), // PRFW_PRR
4064 UINT64_C(2231427072), // PRFW_S_PZI
4065 UINT64_C(2220900352), // PRFW_S_SXTW_SCALED
4066 UINT64_C(2216706048), // PRFW_S_UXTW_SCALED
4067 UINT64_C(623132672), // PSEL_PPPRI_B
4068 UINT64_C(627064832), // PSEL_PPPRI_D
4069 UINT64_C(623394816), // PSEL_PPPRI_H
4070 UINT64_C(623919104), // PSEL_PPPRI_S
4071 UINT64_C(626049024), // PTEST_PP
4072 UINT64_C(622452736), // PTRUES_B
4073 UINT64_C(635035648), // PTRUES_D
4074 UINT64_C(626647040), // PTRUES_H
4075 UINT64_C(630841344), // PTRUES_S
4076 UINT64_C(622387200), // PTRUE_B
4077 UINT64_C(622884880), // PTRUE_C_B
4078 UINT64_C(635467792), // PTRUE_C_D
4079 UINT64_C(627079184), // PTRUE_C_H
4080 UINT64_C(631273488), // PTRUE_C_S
4081 UINT64_C(634970112), // PTRUE_D
4082 UINT64_C(626581504), // PTRUE_H
4083 UINT64_C(630775808), // PTRUE_S
4084 UINT64_C(87113728), // PUNPKHI_PP
4085 UINT64_C(87048192), // PUNPKLO_PP
4086 UINT64_C(1163945984), // RADDHNB_ZZZ_B
4087 UINT64_C(1168140288), // RADDHNB_ZZZ_H
4088 UINT64_C(1172334592), // RADDHNB_ZZZ_S
4089 UINT64_C(1163947008), // RADDHNT_ZZZ_B
4090 UINT64_C(1168141312), // RADDHNT_ZZZ_H
4091 UINT64_C(1172335616), // RADDHNT_ZZZ_S
4092 UINT64_C(782254080), // RADDHNv2i64_v2i32
4093 UINT64_C(1855995904), // RADDHNv2i64_v4i32
4094 UINT64_C(778059776), // RADDHNv4i32_v4i16
4095 UINT64_C(1851801600), // RADDHNv4i32_v8i16
4096 UINT64_C(1847607296), // RADDHNv8i16_v16i8
4097 UINT64_C(773865472), // RADDHNv8i16_v8i8
4098 UINT64_C(3462433792), // RAX1
4099 UINT64_C(1159787520), // RAX1_ZZZ_D
4100 UINT64_C(1522532352), // RBITWr
4101 UINT64_C(3670016000), // RBITXr
4102 UINT64_C(86474752), // RBIT_ZPmZ_B
4103 UINT64_C(99057664), // RBIT_ZPmZ_D
4104 UINT64_C(90669056), // RBIT_ZPmZ_H
4105 UINT64_C(94863360), // RBIT_ZPmZ_S
4106 UINT64_C(86482944), // RBIT_ZPzZ_B
4107 UINT64_C(99065856), // RBIT_ZPzZ_D
4108 UINT64_C(90677248), // RBIT_ZPzZ_H
4109 UINT64_C(94871552), // RBIT_ZPzZ_S
4110 UINT64_C(1851807744), // RBITv16i8
4111 UINT64_C(778065920), // RBITv8i8
4112 UINT64_C(421529600), // RCWCAS
4113 UINT64_C(429918208), // RCWCASA
4114 UINT64_C(434112512), // RCWCASAL
4115 UINT64_C(425723904), // RCWCASL
4116 UINT64_C(421530624), // RCWCASP
4117 UINT64_C(429919232), // RCWCASPA
4118 UINT64_C(434113536), // RCWCASPAL
4119 UINT64_C(425724928), // RCWCASPL
4120 UINT64_C(941658112), // RCWCLR
4121 UINT64_C(950046720), // RCWCLRA
4122 UINT64_C(954241024), // RCWCLRAL
4123 UINT64_C(945852416), // RCWCLRL
4124 UINT64_C(421564416), // RCWCLRP
4125 UINT64_C(429953024), // RCWCLRPA
4126 UINT64_C(434147328), // RCWCLRPAL
4127 UINT64_C(425758720), // RCWCLRPL
4128 UINT64_C(2015399936), // RCWCLRS
4129 UINT64_C(2023788544), // RCWCLRSA
4130 UINT64_C(2027982848), // RCWCLRSAL
4131 UINT64_C(2019594240), // RCWCLRSL
4132 UINT64_C(1495306240), // RCWCLRSP
4133 UINT64_C(1503694848), // RCWCLRSPA
4134 UINT64_C(1507889152), // RCWCLRSPAL
4135 UINT64_C(1499500544), // RCWCLRSPL
4136 UINT64_C(1495271424), // RCWSCAS
4137 UINT64_C(1503660032), // RCWSCASA
4138 UINT64_C(1507854336), // RCWSCASAL
4139 UINT64_C(1499465728), // RCWSCASL
4140 UINT64_C(1495272448), // RCWSCASP
4141 UINT64_C(1503661056), // RCWSCASPA
4142 UINT64_C(1507855360), // RCWSCASPAL
4143 UINT64_C(1499466752), // RCWSCASPL
4144 UINT64_C(941666304), // RCWSET
4145 UINT64_C(950054912), // RCWSETA
4146 UINT64_C(954249216), // RCWSETAL
4147 UINT64_C(945860608), // RCWSETL
4148 UINT64_C(421572608), // RCWSETP
4149 UINT64_C(429961216), // RCWSETPA
4150 UINT64_C(434155520), // RCWSETPAL
4151 UINT64_C(425766912), // RCWSETPL
4152 UINT64_C(2015408128), // RCWSETS
4153 UINT64_C(2023796736), // RCWSETSA
4154 UINT64_C(2027991040), // RCWSETSAL
4155 UINT64_C(2019602432), // RCWSETSL
4156 UINT64_C(1495314432), // RCWSETSP
4157 UINT64_C(1503703040), // RCWSETSPA
4158 UINT64_C(1507897344), // RCWSETSPAL
4159 UINT64_C(1499508736), // RCWSETSPL
4160 UINT64_C(941662208), // RCWSWP
4161 UINT64_C(950050816), // RCWSWPA
4162 UINT64_C(954245120), // RCWSWPAL
4163 UINT64_C(945856512), // RCWSWPL
4164 UINT64_C(421568512), // RCWSWPP
4165 UINT64_C(429957120), // RCWSWPPA
4166 UINT64_C(434151424), // RCWSWPPAL
4167 UINT64_C(425762816), // RCWSWPPL
4168 UINT64_C(2015404032), // RCWSWPS
4169 UINT64_C(2023792640), // RCWSWPSA
4170 UINT64_C(2027986944), // RCWSWPSAL
4171 UINT64_C(2019598336), // RCWSWPSL
4172 UINT64_C(1495310336), // RCWSWPSP
4173 UINT64_C(1503698944), // RCWSWPSPA
4174 UINT64_C(1507893248), // RCWSWPSPAL
4175 UINT64_C(1499504640), // RCWSWPSPL
4176 UINT64_C(626585600), // RDFFRS_PPz
4177 UINT64_C(622456832), // RDFFR_P
4178 UINT64_C(622391296), // RDFFR_PPz
4179 UINT64_C(79648768), // RDSVLI_XI
4180 UINT64_C(79646720), // RDVLI_XI
4181 UINT64_C(3596550144), // RET
4182 UINT64_C(3596553215), // RETAA
4183 UINT64_C(1426063391), // RETAASPPCi
4184 UINT64_C(3596553184), // RETAASPPCr
4185 UINT64_C(3596554239), // RETAB
4186 UINT64_C(1428160543), // RETABSPPCi
4187 UINT64_C(3596554208), // RETABSPPCr
4188 UINT64_C(1522533376), // REV16Wr
4189 UINT64_C(3670017024), // REV16Xr
4190 UINT64_C(1310726144), // REV16v16i8
4191 UINT64_C(236984320), // REV16v8i8
4192 UINT64_C(3670018048), // REV32Xr
4193 UINT64_C(1847592960), // REV32v16i8
4194 UINT64_C(778045440), // REV32v4i16
4195 UINT64_C(1851787264), // REV32v8i16
4196 UINT64_C(773851136), // REV32v8i8
4197 UINT64_C(1310722048), // REV64v16i8
4198 UINT64_C(245368832), // REV64v2i32
4199 UINT64_C(241174528), // REV64v4i16
4200 UINT64_C(1319110656), // REV64v4i32
4201 UINT64_C(1314916352), // REV64v8i16
4202 UINT64_C(236980224), // REV64v8i8
4203 UINT64_C(98861056), // REVB_ZPmZ_D
4204 UINT64_C(90472448), // REVB_ZPmZ_H
4205 UINT64_C(94666752), // REVB_ZPmZ_S
4206 UINT64_C(98869248), // REVB_ZPzZ_D
4207 UINT64_C(90480640), // REVB_ZPzZ_H
4208 UINT64_C(94674944), // REVB_ZPzZ_S
4209 UINT64_C(86933504), // REVD_ZPmZ
4210 UINT64_C(86941696), // REVD_ZPzZ
4211 UINT64_C(98926592), // REVH_ZPmZ_D
4212 UINT64_C(94732288), // REVH_ZPmZ_S
4213 UINT64_C(98934784), // REVH_ZPzZ_D
4214 UINT64_C(94740480), // REVH_ZPzZ_S
4215 UINT64_C(98992128), // REVW_ZPmZ_D
4216 UINT64_C(99000320), // REVW_ZPzZ_D
4217 UINT64_C(1522534400), // REVWr
4218 UINT64_C(3670019072), // REVXr
4219 UINT64_C(87310336), // REV_PP_B
4220 UINT64_C(99893248), // REV_PP_D
4221 UINT64_C(91504640), // REV_PP_H
4222 UINT64_C(95698944), // REV_PP_S
4223 UINT64_C(87570432), // REV_ZZ_B
4224 UINT64_C(100153344), // REV_ZZ_D
4225 UINT64_C(91764736), // REV_ZZ_H
4226 UINT64_C(95959040), // REV_ZZ_S
4227 UINT64_C(3120563200), // RMIF
4228 UINT64_C(448801792), // RORVWr
4229 UINT64_C(2596285440), // RORVXr
4230 UINT64_C(4171253784), // RPRFM
4231 UINT64_C(1160255488), // RSHRNB_ZZI_B
4232 UINT64_C(1160779776), // RSHRNB_ZZI_H
4233 UINT64_C(1163925504), // RSHRNB_ZZI_S
4234 UINT64_C(1160256512), // RSHRNT_ZZI_B
4235 UINT64_C(1160780800), // RSHRNT_ZZI_H
4236 UINT64_C(1163926528), // RSHRNT_ZZI_S
4237 UINT64_C(1325960192), // RSHRNv16i8_shift
4238 UINT64_C(253791232), // RSHRNv2i32_shift
4239 UINT64_C(252742656), // RSHRNv4i16_shift
4240 UINT64_C(1327533056), // RSHRNv4i32_shift
4241 UINT64_C(1326484480), // RSHRNv8i16_shift
4242 UINT64_C(252218368), // RSHRNv8i8_shift
4243 UINT64_C(1163950080), // RSUBHNB_ZZZ_B
4244 UINT64_C(1168144384), // RSUBHNB_ZZZ_H
4245 UINT64_C(1172338688), // RSUBHNB_ZZZ_S
4246 UINT64_C(1163951104), // RSUBHNT_ZZZ_B
4247 UINT64_C(1168145408), // RSUBHNT_ZZZ_H
4248 UINT64_C(1172339712), // RSUBHNT_ZZZ_S
4249 UINT64_C(782262272), // RSUBHNv2i64_v2i32
4250 UINT64_C(1856004096), // RSUBHNv2i64_v4i32
4251 UINT64_C(778067968), // RSUBHNv4i32_v4i16
4252 UINT64_C(1851809792), // RSUBHNv4i32_v8i16
4253 UINT64_C(1847615488), // RSUBHNv8i16_v16i8
4254 UINT64_C(773873664), // RSUBHNv8i16_v8i8
4255 UINT64_C(1170259968), // SABALB_ZZZ_D
4256 UINT64_C(1161871360), // SABALB_ZZZ_H
4257 UINT64_C(1166065664), // SABALB_ZZZ_S
4258 UINT64_C(1170260992), // SABALT_ZZZ_D
4259 UINT64_C(1161872384), // SABALT_ZZZ_H
4260 UINT64_C(1166066688), // SABALT_ZZZ_S
4261 UINT64_C(1145099264), // SABAL_ZZZ_BtoH
4262 UINT64_C(1149293568), // SABAL_ZZZ_HtoS
4263 UINT64_C(1153487872), // SABAL_ZZZ_StoD
4264 UINT64_C(1310740480), // SABALv16i8_v8i16
4265 UINT64_C(245387264), // SABALv2i32_v2i64
4266 UINT64_C(241192960), // SABALv4i16_v4i32
4267 UINT64_C(1319129088), // SABALv4i32_v2i64
4268 UINT64_C(1314934784), // SABALv8i16_v4i32
4269 UINT64_C(236998656), // SABALv8i8_v8i16
4270 UINT64_C(1157691392), // SABA_ZZZ_B
4271 UINT64_C(1170274304), // SABA_ZZZ_D
4272 UINT64_C(1161885696), // SABA_ZZZ_H
4273 UINT64_C(1166080000), // SABA_ZZZ_S
4274 UINT64_C(1310751744), // SABAv16i8
4275 UINT64_C(245398528), // SABAv2i32
4276 UINT64_C(241204224), // SABAv4i16
4277 UINT64_C(1319140352), // SABAv4i32
4278 UINT64_C(1314946048), // SABAv8i16
4279 UINT64_C(237009920), // SABAv8i8
4280 UINT64_C(1170223104), // SABDLB_ZZZ_D
4281 UINT64_C(1161834496), // SABDLB_ZZZ_H
4282 UINT64_C(1166028800), // SABDLB_ZZZ_S
4283 UINT64_C(1170224128), // SABDLT_ZZZ_D
4284 UINT64_C(1161835520), // SABDLT_ZZZ_H
4285 UINT64_C(1166029824), // SABDLT_ZZZ_S
4286 UINT64_C(1310748672), // SABDLv16i8_v8i16
4287 UINT64_C(245395456), // SABDLv2i32_v2i64
4288 UINT64_C(241201152), // SABDLv4i16_v4i32
4289 UINT64_C(1319137280), // SABDLv4i32_v2i64
4290 UINT64_C(1314942976), // SABDLv8i16_v4i32
4291 UINT64_C(237006848), // SABDLv8i8_v8i16
4292 UINT64_C(67895296), // SABD_ZPmZ_B
4293 UINT64_C(80478208), // SABD_ZPmZ_D
4294 UINT64_C(72089600), // SABD_ZPmZ_H
4295 UINT64_C(76283904), // SABD_ZPmZ_S
4296 UINT64_C(1310749696), // SABDv16i8
4297 UINT64_C(245396480), // SABDv2i32
4298 UINT64_C(241202176), // SABDv4i16
4299 UINT64_C(1319138304), // SABDv4i32
4300 UINT64_C(1314944000), // SABDv8i16
4301 UINT64_C(237007872), // SABDv8i8
4302 UINT64_C(1153736704), // SADALP_ZPmZ_D
4303 UINT64_C(1145348096), // SADALP_ZPmZ_H
4304 UINT64_C(1149542400), // SADALP_ZPmZ_S
4305 UINT64_C(1310746624), // SADALPv16i8_v8i16
4306 UINT64_C(245393408), // SADALPv2i32_v1i64
4307 UINT64_C(241199104), // SADALPv4i16_v2i32
4308 UINT64_C(1319135232), // SADALPv4i32_v2i64
4309 UINT64_C(1314940928), // SADALPv8i16_v4i32
4310 UINT64_C(237004800), // SADALPv8i8_v4i16
4311 UINT64_C(1170243584), // SADDLBT_ZZZ_D
4312 UINT64_C(1161854976), // SADDLBT_ZZZ_H
4313 UINT64_C(1166049280), // SADDLBT_ZZZ_S
4314 UINT64_C(1170210816), // SADDLB_ZZZ_D
4315 UINT64_C(1161822208), // SADDLB_ZZZ_H
4316 UINT64_C(1166016512), // SADDLB_ZZZ_S
4317 UINT64_C(1310730240), // SADDLPv16i8_v8i16
4318 UINT64_C(245377024), // SADDLPv2i32_v1i64
4319 UINT64_C(241182720), // SADDLPv4i16_v2i32
4320 UINT64_C(1319118848), // SADDLPv4i32_v2i64
4321 UINT64_C(1314924544), // SADDLPv8i16_v4i32
4322 UINT64_C(236988416), // SADDLPv8i8_v4i16
4323 UINT64_C(1170211840), // SADDLT_ZZZ_D
4324 UINT64_C(1161823232), // SADDLT_ZZZ_H
4325 UINT64_C(1166017536), // SADDLT_ZZZ_S
4326 UINT64_C(1311782912), // SADDLVv16i8v
4327 UINT64_C(242235392), // SADDLVv4i16v
4328 UINT64_C(1320171520), // SADDLVv4i32v
4329 UINT64_C(1315977216), // SADDLVv8i16v
4330 UINT64_C(238041088), // SADDLVv8i8v
4331 UINT64_C(1310720000), // SADDLv16i8_v8i16
4332 UINT64_C(245366784), // SADDLv2i32_v2i64
4333 UINT64_C(241172480), // SADDLv4i16_v4i32
4334 UINT64_C(1319108608), // SADDLv4i32_v2i64
4335 UINT64_C(1314914304), // SADDLv8i16_v4i32
4336 UINT64_C(236978176), // SADDLv8i8_v8i16
4337 UINT64_C(67117056), // SADDV_VPZ_B
4338 UINT64_C(71311360), // SADDV_VPZ_H
4339 UINT64_C(75505664), // SADDV_VPZ_S
4340 UINT64_C(1170227200), // SADDWB_ZZZ_D
4341 UINT64_C(1161838592), // SADDWB_ZZZ_H
4342 UINT64_C(1166032896), // SADDWB_ZZZ_S
4343 UINT64_C(1170228224), // SADDWT_ZZZ_D
4344 UINT64_C(1161839616), // SADDWT_ZZZ_H
4345 UINT64_C(1166033920), // SADDWT_ZZZ_S
4346 UINT64_C(1310724096), // SADDWv16i8_v8i16
4347 UINT64_C(245370880), // SADDWv2i32_v2i64
4348 UINT64_C(241176576), // SADDWv4i16_v4i32
4349 UINT64_C(1319112704), // SADDWv4i32_v2i64
4350 UINT64_C(1314918400), // SADDWv8i16_v4i32
4351 UINT64_C(236982272), // SADDWv8i8_v8i16
4352 UINT64_C(3573756159), // SB
4353 UINT64_C(1170264064), // SBCLB_ZZZ_D
4354 UINT64_C(1166069760), // SBCLB_ZZZ_S
4355 UINT64_C(1170265088), // SBCLT_ZZZ_D
4356 UINT64_C(1166070784), // SBCLT_ZZZ_S
4357 UINT64_C(2046820352), // SBCSWr
4358 UINT64_C(4194304000), // SBCSXr
4359 UINT64_C(1509949440), // SBCWr
4360 UINT64_C(3657433088), // SBCXr
4361 UINT64_C(318767104), // SBFMWri
4362 UINT64_C(2470445056), // SBFMXri
4363 UINT64_C(3240150016), // SCLAMP_VG2_2Z2Z_B
4364 UINT64_C(3252732928), // SCLAMP_VG2_2Z2Z_D
4365 UINT64_C(3244344320), // SCLAMP_VG2_2Z2Z_H
4366 UINT64_C(3248538624), // SCLAMP_VG2_2Z2Z_S
4367 UINT64_C(3240152064), // SCLAMP_VG4_4Z4Z_B
4368 UINT64_C(3252734976), // SCLAMP_VG4_4Z4Z_D
4369 UINT64_C(3244346368), // SCLAMP_VG4_4Z4Z_H
4370 UINT64_C(3248540672), // SCLAMP_VG4_4Z4Z_S
4371 UINT64_C(1140899840), // SCLAMP_ZZZ_B
4372 UINT64_C(1153482752), // SCLAMP_ZZZ_D
4373 UINT64_C(1145094144), // SCLAMP_ZZZ_H
4374 UINT64_C(1149288448), // SCLAMP_ZZZ_S
4375 UINT64_C(511442944), // SCVTFDSr
4376 UINT64_C(2667315200), // SCVTFHDr
4377 UINT64_C(519831552), // SCVTFHSr
4378 UINT64_C(1699493888), // SCVTFLT_ZZ_BtoH
4379 UINT64_C(1703688192), // SCVTFLT_ZZ_HtoS
4380 UINT64_C(1707882496), // SCVTFLT_ZZ_StoD
4381 UINT64_C(2654732288), // SCVTFSDr
4382 UINT64_C(507674624), // SCVTFSWDri
4383 UINT64_C(516063232), // SCVTFSWHri
4384 UINT64_C(503480320), // SCVTFSWSri
4385 UINT64_C(2655125504), // SCVTFSXDri
4386 UINT64_C(2663514112), // SCVTFSXHri
4387 UINT64_C(2650931200), // SCVTFSXSri
4388 UINT64_C(509739008), // SCVTFUWDri
4389 UINT64_C(518127616), // SCVTFUWHri
4390 UINT64_C(505544704), // SCVTFUWSri
4391 UINT64_C(2657222656), // SCVTFUXDri
4392 UINT64_C(2665611264), // SCVTFUXHri
4393 UINT64_C(2653028352), // SCVTFUXSri
4394 UINT64_C(3240288256), // SCVTF_2Z2Z_StoS
4395 UINT64_C(3241336832), // SCVTF_4Z4Z_StoS
4396 UINT64_C(1708564480), // SCVTF_ZPmZ_DtoD
4397 UINT64_C(1700175872), // SCVTF_ZPmZ_DtoH
4398 UINT64_C(1708433408), // SCVTF_ZPmZ_DtoS
4399 UINT64_C(1699913728), // SCVTF_ZPmZ_HtoH
4400 UINT64_C(1708171264), // SCVTF_ZPmZ_StoD
4401 UINT64_C(1700044800), // SCVTF_ZPmZ_StoH
4402 UINT64_C(1704239104), // SCVTF_ZPmZ_StoS
4403 UINT64_C(1692254208), // SCVTF_ZPzZ_DtoD
4404 UINT64_C(1683865600), // SCVTF_ZPzZ_DtoH
4405 UINT64_C(1692237824), // SCVTF_ZPzZ_DtoS
4406 UINT64_C(1683800064), // SCVTF_ZPzZ_HtoH
4407 UINT64_C(1692172288), // SCVTF_ZPzZ_StoD
4408 UINT64_C(1683849216), // SCVTF_ZPzZ_StoH
4409 UINT64_C(1688043520), // SCVTF_ZPzZ_StoS
4410 UINT64_C(1699491840), // SCVTF_ZZ_BtoH
4411 UINT64_C(1703686144), // SCVTF_ZZ_HtoS
4412 UINT64_C(1707880448), // SCVTF_ZZ_StoD
4413 UINT64_C(1598088192), // SCVTFd
4414 UINT64_C(1594942464), // SCVTFh
4415 UINT64_C(1595991040), // SCVTFs
4416 UINT64_C(1585043456), // SCVTFv1i16
4417 UINT64_C(1579276288), // SCVTFv1i32
4418 UINT64_C(1583470592), // SCVTFv1i64
4419 UINT64_C(237099008), // SCVTFv2f32
4420 UINT64_C(1315035136), // SCVTFv2f64
4421 UINT64_C(253813760), // SCVTFv2i32_shift
4422 UINT64_C(1329652736), // SCVTFv2i64_shift
4423 UINT64_C(242866176), // SCVTFv4f16
4424 UINT64_C(1310840832), // SCVTFv4f32
4425 UINT64_C(252765184), // SCVTFv4i16_shift
4426 UINT64_C(1327555584), // SCVTFv4i32_shift
4427 UINT64_C(1316608000), // SCVTFv8f16
4428 UINT64_C(1326507008), // SCVTFv8i16_shift
4429 UINT64_C(81133568), // SDIVR_ZPmZ_D
4430 UINT64_C(76939264), // SDIVR_ZPmZ_S
4431 UINT64_C(448793600), // SDIVWr
4432 UINT64_C(2596277248), // SDIVXr
4433 UINT64_C(81002496), // SDIV_ZPmZ_D
4434 UINT64_C(76808192), // SDIV_ZPmZ_S
4435 UINT64_C(3248493568), // SDOT_VG2_M2Z2Z_BtoS
4436 UINT64_C(3252687872), // SDOT_VG2_M2Z2Z_HtoD
4437 UINT64_C(3252687880), // SDOT_VG2_M2Z2Z_HtoS
4438 UINT64_C(3243249696), // SDOT_VG2_M2ZZI_BToS
4439 UINT64_C(3243249664), // SDOT_VG2_M2ZZI_HToS
4440 UINT64_C(3251634184), // SDOT_VG2_M2ZZI_HtoD
4441 UINT64_C(3240104960), // SDOT_VG2_M2ZZ_BtoS
4442 UINT64_C(3244299264), // SDOT_VG2_M2ZZ_HtoD
4443 UINT64_C(3244299272), // SDOT_VG2_M2ZZ_HtoS
4444 UINT64_C(3248559104), // SDOT_VG4_M4Z4Z_BtoS
4445 UINT64_C(3252753408), // SDOT_VG4_M4Z4Z_HtoD
4446 UINT64_C(3252753416), // SDOT_VG4_M4Z4Z_HtoS
4447 UINT64_C(3243282464), // SDOT_VG4_M4ZZI_BToS
4448 UINT64_C(3243282432), // SDOT_VG4_M4ZZI_HToS
4449 UINT64_C(3251666952), // SDOT_VG4_M4ZZI_HtoD
4450 UINT64_C(3241153536), // SDOT_VG4_M4ZZ_BtoS
4451 UINT64_C(3245347840), // SDOT_VG4_M4ZZ_HtoD
4452 UINT64_C(3245347848), // SDOT_VG4_M4ZZ_HtoS
4453 UINT64_C(1142947840), // SDOT_ZZZI_BtoH
4454 UINT64_C(1151336448), // SDOT_ZZZI_BtoS
4455 UINT64_C(1155530752), // SDOT_ZZZI_HtoD
4456 UINT64_C(1149290496), // SDOT_ZZZI_HtoS
4457 UINT64_C(1145044992), // SDOT_ZZZ_BtoH
4458 UINT64_C(1149239296), // SDOT_ZZZ_BtoS
4459 UINT64_C(1153433600), // SDOT_ZZZ_HtoD
4460 UINT64_C(1140901888), // SDOT_ZZZ_HtoS
4461 UINT64_C(1333846016), // SDOTlanev16i8
4462 UINT64_C(260104192), // SDOTlanev8i8
4463 UINT64_C(1317049344), // SDOTv16i8
4464 UINT64_C(243307520), // SDOTv8i8
4465 UINT64_C(620773904), // SEL_PPPP
4466 UINT64_C(3240132608), // SEL_VG2_2ZC2Z2Z_B
4467 UINT64_C(3252715520), // SEL_VG2_2ZC2Z2Z_D
4468 UINT64_C(3244326912), // SEL_VG2_2ZC2Z2Z_H
4469 UINT64_C(3248521216), // SEL_VG2_2ZC2Z2Z_S
4470 UINT64_C(3240198144), // SEL_VG4_4ZC4Z4Z_B
4471 UINT64_C(3252781056), // SEL_VG4_4ZC4Z4Z_D
4472 UINT64_C(3244392448), // SEL_VG4_4ZC4Z4Z_H
4473 UINT64_C(3248586752), // SEL_VG4_4ZC4Z4Z_S
4474 UINT64_C(86032384), // SEL_ZPZZ_B
4475 UINT64_C(98615296), // SEL_ZPZZ_D
4476 UINT64_C(90226688), // SEL_ZPZZ_H
4477 UINT64_C(94420992), // SEL_ZPZZ_S
4478 UINT64_C(432047104), // SETE
4479 UINT64_C(432055296), // SETEN
4480 UINT64_C(432051200), // SETET
4481 UINT64_C(432059392), // SETETN
4482 UINT64_C(973096973), // SETF16
4483 UINT64_C(973080589), // SETF8
4484 UINT64_C(623677440), // SETFFR
4485 UINT64_C(499139584), // SETGM
4486 UINT64_C(499147776), // SETGMN
4487 UINT64_C(499143680), // SETGMT
4488 UINT64_C(499151872), // SETGMTN
4489 UINT64_C(501186560), // SETGOE
4490 UINT64_C(501194752), // SETGOEN
4491 UINT64_C(501190656), // SETGOET
4492 UINT64_C(501198848), // SETGOETN
4493 UINT64_C(501170176), // SETGOM
4494 UINT64_C(501178368), // SETGOMN
4495 UINT64_C(501174272), // SETGOMT
4496 UINT64_C(501182464), // SETGOMTN
4497 UINT64_C(501153792), // SETGOP
4498 UINT64_C(501161984), // SETGOPN
4499 UINT64_C(501157888), // SETGOPT
4500 UINT64_C(501166080), // SETGOPTN
4501 UINT64_C(499123200), // SETGP
4502 UINT64_C(499131392), // SETGPN
4503 UINT64_C(499127296), // SETGPT
4504 UINT64_C(499135488), // SETGPTN
4505 UINT64_C(432030720), // SETM
4506 UINT64_C(432038912), // SETMN
4507 UINT64_C(432034816), // SETMT
4508 UINT64_C(432043008), // SETMTN
4509 UINT64_C(432014336), // SETP
4510 UINT64_C(432022528), // SETPN
4511 UINT64_C(432018432), // SETPT
4512 UINT64_C(432026624), // SETPTN
4513 UINT64_C(1577058304), // SHA1Crrr
4514 UINT64_C(1579681792), // SHA1Hrr
4515 UINT64_C(1577066496), // SHA1Mrrr
4516 UINT64_C(1577062400), // SHA1Prrr
4517 UINT64_C(1577070592), // SHA1SU0rrr
4518 UINT64_C(1579685888), // SHA1SU1rr
4519 UINT64_C(1577078784), // SHA256H2rrr
4520 UINT64_C(1577074688), // SHA256Hrrr
4521 UINT64_C(1579689984), // SHA256SU0rr
4522 UINT64_C(1577082880), // SHA256SU1rrr
4523 UINT64_C(3462430720), // SHA512H
4524 UINT64_C(3462431744), // SHA512H2
4525 UINT64_C(3468722176), // SHA512SU0
4526 UINT64_C(3462432768), // SHA512SU1
4527 UINT64_C(1141932032), // SHADD_ZPmZ_B
4528 UINT64_C(1154514944), // SHADD_ZPmZ_D
4529 UINT64_C(1146126336), // SHADD_ZPmZ_H
4530 UINT64_C(1150320640), // SHADD_ZPmZ_S
4531 UINT64_C(1310721024), // SHADDv16i8
4532 UINT64_C(245367808), // SHADDv2i32
4533 UINT64_C(241173504), // SHADDv4i16
4534 UINT64_C(1319109632), // SHADDv4i32
4535 UINT64_C(1314915328), // SHADDv8i16
4536 UINT64_C(236979200), // SHADDv8i8
4537 UINT64_C(1847670784), // SHLLv16i8
4538 UINT64_C(782317568), // SHLLv2i32
4539 UINT64_C(778123264), // SHLLv4i16
4540 UINT64_C(1856059392), // SHLLv4i32
4541 UINT64_C(1851865088), // SHLLv8i16
4542 UINT64_C(773928960), // SHLLv8i8
4543 UINT64_C(1598051328), // SHLd
4544 UINT64_C(1325945856), // SHLv16i8_shift
4545 UINT64_C(253776896), // SHLv2i32_shift
4546 UINT64_C(1329615872), // SHLv2i64_shift
4547 UINT64_C(252728320), // SHLv4i16_shift
4548 UINT64_C(1327518720), // SHLv4i32_shift
4549 UINT64_C(1326470144), // SHLv8i16_shift
4550 UINT64_C(252204032), // SHLv8i8_shift
4551 UINT64_C(1160253440), // SHRNB_ZZI_B
4552 UINT64_C(1160777728), // SHRNB_ZZI_H
4553 UINT64_C(1163923456), // SHRNB_ZZI_S
4554 UINT64_C(1160254464), // SHRNT_ZZI_B
4555 UINT64_C(1160778752), // SHRNT_ZZI_H
4556 UINT64_C(1163924480), // SHRNT_ZZI_S
4557 UINT64_C(1325958144), // SHRNv16i8_shift
4558 UINT64_C(253789184), // SHRNv2i32_shift
4559 UINT64_C(252740608), // SHRNv4i16_shift
4560 UINT64_C(1327531008), // SHRNv4i32_shift
4561 UINT64_C(1326482432), // SHRNv8i16_shift
4562 UINT64_C(252216320), // SHRNv8i8_shift
4563 UINT64_C(1142325248), // SHSUBR_ZPmZ_B
4564 UINT64_C(1154908160), // SHSUBR_ZPmZ_D
4565 UINT64_C(1146519552), // SHSUBR_ZPmZ_H
4566 UINT64_C(1150713856), // SHSUBR_ZPmZ_S
4567 UINT64_C(1142063104), // SHSUB_ZPmZ_B
4568 UINT64_C(1154646016), // SHSUB_ZPmZ_D
4569 UINT64_C(1146257408), // SHSUB_ZPmZ_H
4570 UINT64_C(1150451712), // SHSUB_ZPmZ_S
4571 UINT64_C(1310729216), // SHSUBv16i8
4572 UINT64_C(245376000), // SHSUBv2i32
4573 UINT64_C(241181696), // SHSUBv4i16
4574 UINT64_C(1319117824), // SHSUBv4i32
4575 UINT64_C(1314923520), // SHSUBv8i16
4576 UINT64_C(236987392), // SHSUBv8i8
4577 UINT64_C(3573753439), // SHUH
4578 UINT64_C(1158214656), // SLI_ZZI_B
4579 UINT64_C(1166078976), // SLI_ZZI_D
4580 UINT64_C(1158738944), // SLI_ZZI_H
4581 UINT64_C(1161884672), // SLI_ZZI_S
4582 UINT64_C(2134922240), // SLId
4583 UINT64_C(1862816768), // SLIv16i8_shift
4584 UINT64_C(790647808), // SLIv2i32_shift
4585 UINT64_C(1866486784), // SLIv2i64_shift
4586 UINT64_C(789599232), // SLIv4i16_shift
4587 UINT64_C(1864389632), // SLIv4i32_shift
4588 UINT64_C(1863341056), // SLIv8i16_shift
4589 UINT64_C(789074944), // SLIv8i8_shift
4590 UINT64_C(3462447104), // SM3PARTW1
4591 UINT64_C(3462448128), // SM3PARTW2
4592 UINT64_C(3460300800), // SM3SS1
4593 UINT64_C(3460333568), // SM3TT1A
4594 UINT64_C(3460334592), // SM3TT1B
4595 UINT64_C(3460335616), // SM3TT2A
4596 UINT64_C(3460336640), // SM3TT2B
4597 UINT64_C(3468723200), // SM4E
4598 UINT64_C(1159786496), // SM4EKEY_ZZZ_S
4599 UINT64_C(3462449152), // SM4ENCKEY
4600 UINT64_C(1159979008), // SM4E_ZZZ_S
4601 UINT64_C(2602565632), // SMADDLrrr
4602 UINT64_C(1142202368), // SMAXP_ZPmZ_B
4603 UINT64_C(1154785280), // SMAXP_ZPmZ_D
4604 UINT64_C(1146396672), // SMAXP_ZPmZ_H
4605 UINT64_C(1150590976), // SMAXP_ZPmZ_S
4606 UINT64_C(1310761984), // SMAXPv16i8
4607 UINT64_C(245408768), // SMAXPv2i32
4608 UINT64_C(241214464), // SMAXPv4i16
4609 UINT64_C(1319150592), // SMAXPv4i32
4610 UINT64_C(1314956288), // SMAXPv8i16
4611 UINT64_C(237020160), // SMAXPv8i8
4612 UINT64_C(67903488), // SMAXQV_VPZ_B
4613 UINT64_C(80486400), // SMAXQV_VPZ_D
4614 UINT64_C(72097792), // SMAXQV_VPZ_H
4615 UINT64_C(76292096), // SMAXQV_VPZ_S
4616 UINT64_C(67641344), // SMAXV_VPZ_B
4617 UINT64_C(80224256), // SMAXV_VPZ_D
4618 UINT64_C(71835648), // SMAXV_VPZ_H
4619 UINT64_C(76029952), // SMAXV_VPZ_S
4620 UINT64_C(1311811584), // SMAXVv16i8v
4621 UINT64_C(242264064), // SMAXVv4i16v
4622 UINT64_C(1320200192), // SMAXVv4i32v
4623 UINT64_C(1316005888), // SMAXVv8i16v
4624 UINT64_C(238069760), // SMAXVv8i8v
4625 UINT64_C(297795584), // SMAXWri
4626 UINT64_C(448815104), // SMAXWrr
4627 UINT64_C(2445279232), // SMAXXri
4628 UINT64_C(2596298752), // SMAXXrr
4629 UINT64_C(3240144896), // SMAX_VG2_2Z2Z_B
4630 UINT64_C(3252727808), // SMAX_VG2_2Z2Z_D
4631 UINT64_C(3244339200), // SMAX_VG2_2Z2Z_H
4632 UINT64_C(3248533504), // SMAX_VG2_2Z2Z_S
4633 UINT64_C(3240140800), // SMAX_VG2_2ZZ_B
4634 UINT64_C(3252723712), // SMAX_VG2_2ZZ_D
4635 UINT64_C(3244335104), // SMAX_VG2_2ZZ_H
4636 UINT64_C(3248529408), // SMAX_VG2_2ZZ_S
4637 UINT64_C(3240146944), // SMAX_VG4_4Z4Z_B
4638 UINT64_C(3252729856), // SMAX_VG4_4Z4Z_D
4639 UINT64_C(3244341248), // SMAX_VG4_4Z4Z_H
4640 UINT64_C(3248535552), // SMAX_VG4_4Z4Z_S
4641 UINT64_C(3240142848), // SMAX_VG4_4ZZ_B
4642 UINT64_C(3252725760), // SMAX_VG4_4ZZ_D
4643 UINT64_C(3244337152), // SMAX_VG4_4ZZ_H
4644 UINT64_C(3248531456), // SMAX_VG4_4ZZ_S
4645 UINT64_C(623427584), // SMAX_ZI_B
4646 UINT64_C(636010496), // SMAX_ZI_D
4647 UINT64_C(627621888), // SMAX_ZI_H
4648 UINT64_C(631816192), // SMAX_ZI_S
4649 UINT64_C(67633152), // SMAX_ZPmZ_B
4650 UINT64_C(80216064), // SMAX_ZPmZ_D
4651 UINT64_C(71827456), // SMAX_ZPmZ_H
4652 UINT64_C(76021760), // SMAX_ZPmZ_S
4653 UINT64_C(1310745600), // SMAXv16i8
4654 UINT64_C(245392384), // SMAXv2i32
4655 UINT64_C(241198080), // SMAXv4i16
4656 UINT64_C(1319134208), // SMAXv4i32
4657 UINT64_C(1314939904), // SMAXv8i16
4658 UINT64_C(237003776), // SMAXv8i8
4659 UINT64_C(3556769795), // SMC
4660 UINT64_C(1142333440), // SMINP_ZPmZ_B
4661 UINT64_C(1154916352), // SMINP_ZPmZ_D
4662 UINT64_C(1146527744), // SMINP_ZPmZ_H
4663 UINT64_C(1150722048), // SMINP_ZPmZ_S
4664 UINT64_C(1310764032), // SMINPv16i8
4665 UINT64_C(245410816), // SMINPv2i32
4666 UINT64_C(241216512), // SMINPv4i16
4667 UINT64_C(1319152640), // SMINPv4i32
4668 UINT64_C(1314958336), // SMINPv8i16
4669 UINT64_C(237022208), // SMINPv8i8
4670 UINT64_C(68034560), // SMINQV_VPZ_B
4671 UINT64_C(80617472), // SMINQV_VPZ_D
4672 UINT64_C(72228864), // SMINQV_VPZ_H
4673 UINT64_C(76423168), // SMINQV_VPZ_S
4674 UINT64_C(67772416), // SMINV_VPZ_B
4675 UINT64_C(80355328), // SMINV_VPZ_D
4676 UINT64_C(71966720), // SMINV_VPZ_H
4677 UINT64_C(76161024), // SMINV_VPZ_S
4678 UINT64_C(1311877120), // SMINVv16i8v
4679 UINT64_C(242329600), // SMINVv4i16v
4680 UINT64_C(1320265728), // SMINVv4i32v
4681 UINT64_C(1316071424), // SMINVv8i16v
4682 UINT64_C(238135296), // SMINVv8i8v
4683 UINT64_C(298319872), // SMINWri
4684 UINT64_C(448817152), // SMINWrr
4685 UINT64_C(2445803520), // SMINXri
4686 UINT64_C(2596300800), // SMINXrr
4687 UINT64_C(3240144928), // SMIN_VG2_2Z2Z_B
4688 UINT64_C(3252727840), // SMIN_VG2_2Z2Z_D
4689 UINT64_C(3244339232), // SMIN_VG2_2Z2Z_H
4690 UINT64_C(3248533536), // SMIN_VG2_2Z2Z_S
4691 UINT64_C(3240140832), // SMIN_VG2_2ZZ_B
4692 UINT64_C(3252723744), // SMIN_VG2_2ZZ_D
4693 UINT64_C(3244335136), // SMIN_VG2_2ZZ_H
4694 UINT64_C(3248529440), // SMIN_VG2_2ZZ_S
4695 UINT64_C(3240146976), // SMIN_VG4_4Z4Z_B
4696 UINT64_C(3252729888), // SMIN_VG4_4Z4Z_D
4697 UINT64_C(3244341280), // SMIN_VG4_4Z4Z_H
4698 UINT64_C(3248535584), // SMIN_VG4_4Z4Z_S
4699 UINT64_C(3240142880), // SMIN_VG4_4ZZ_B
4700 UINT64_C(3252725792), // SMIN_VG4_4ZZ_D
4701 UINT64_C(3244337184), // SMIN_VG4_4ZZ_H
4702 UINT64_C(3248531488), // SMIN_VG4_4ZZ_S
4703 UINT64_C(623558656), // SMIN_ZI_B
4704 UINT64_C(636141568), // SMIN_ZI_D
4705 UINT64_C(627752960), // SMIN_ZI_H
4706 UINT64_C(631947264), // SMIN_ZI_S
4707 UINT64_C(67764224), // SMIN_ZPmZ_B
4708 UINT64_C(80347136), // SMIN_ZPmZ_D
4709 UINT64_C(71958528), // SMIN_ZPmZ_H
4710 UINT64_C(76152832), // SMIN_ZPmZ_S
4711 UINT64_C(1310747648), // SMINv16i8
4712 UINT64_C(245394432), // SMINv2i32
4713 UINT64_C(241200128), // SMINv4i16
4714 UINT64_C(1319136256), // SMINv4i32
4715 UINT64_C(1314941952), // SMINv8i16
4716 UINT64_C(237005824), // SMINv8i8
4717 UINT64_C(1155563520), // SMLALB_ZZZI_D
4718 UINT64_C(1151369216), // SMLALB_ZZZI_S
4719 UINT64_C(1153449984), // SMLALB_ZZZ_D
4720 UINT64_C(1145061376), // SMLALB_ZZZ_H
4721 UINT64_C(1149255680), // SMLALB_ZZZ_S
4722 UINT64_C(3238002688), // SMLALL_MZZI_BtoS
4723 UINT64_C(3246391296), // SMLALL_MZZI_HtoD
4724 UINT64_C(3240100864), // SMLALL_MZZ_BtoS
4725 UINT64_C(3244295168), // SMLALL_MZZ_HtoD
4726 UINT64_C(3248488448), // SMLALL_VG2_M2Z2Z_BtoS
4727 UINT64_C(3252682752), // SMLALL_VG2_M2Z2Z_HtoD
4728 UINT64_C(3239051264), // SMLALL_VG2_M2ZZI_BtoS
4729 UINT64_C(3247439872), // SMLALL_VG2_M2ZZI_HtoD
4730 UINT64_C(3240099840), // SMLALL_VG2_M2ZZ_BtoS
4731 UINT64_C(3244294144), // SMLALL_VG2_M2ZZ_HtoD
4732 UINT64_C(3248553984), // SMLALL_VG4_M4Z4Z_BtoS
4733 UINT64_C(3252748288), // SMLALL_VG4_M4Z4Z_HtoD
4734 UINT64_C(3239084032), // SMLALL_VG4_M4ZZI_BtoS
4735 UINT64_C(3247472640), // SMLALL_VG4_M4ZZI_HtoD
4736 UINT64_C(3241148416), // SMLALL_VG4_M4ZZ_BtoS
4737 UINT64_C(3245342720), // SMLALL_VG4_M4ZZ_HtoD
4738 UINT64_C(1155564544), // SMLALT_ZZZI_D
4739 UINT64_C(1151370240), // SMLALT_ZZZI_S
4740 UINT64_C(1153451008), // SMLALT_ZZZ_D
4741 UINT64_C(1145062400), // SMLALT_ZZZ_H
4742 UINT64_C(1149256704), // SMLALT_ZZZ_S
4743 UINT64_C(3250589696), // SMLAL_MZZI_HtoS
4744 UINT64_C(3244297216), // SMLAL_MZZ_HtoS
4745 UINT64_C(3252684800), // SMLAL_VG2_M2Z2Z_HtoS
4746 UINT64_C(3251638272), // SMLAL_VG2_M2ZZI_S
4747 UINT64_C(3244296192), // SMLAL_VG2_M2ZZ_HtoS
4748 UINT64_C(3252750336), // SMLAL_VG4_M4Z4Z_HtoS
4749 UINT64_C(3251671040), // SMLAL_VG4_M4ZZI_HtoS
4750 UINT64_C(3245344768), // SMLAL_VG4_M4ZZ_HtoS
4751 UINT64_C(1310752768), // SMLALv16i8_v8i16
4752 UINT64_C(260055040), // SMLALv2i32_indexed
4753 UINT64_C(245399552), // SMLALv2i32_v2i64
4754 UINT64_C(255860736), // SMLALv4i16_indexed
4755 UINT64_C(241205248), // SMLALv4i16_v4i32
4756 UINT64_C(1333796864), // SMLALv4i32_indexed
4757 UINT64_C(1319141376), // SMLALv4i32_v2i64
4758 UINT64_C(1329602560), // SMLALv8i16_indexed
4759 UINT64_C(1314947072), // SMLALv8i16_v4i32
4760 UINT64_C(237010944), // SMLALv8i8_v8i16
4761 UINT64_C(1155571712), // SMLSLB_ZZZI_D
4762 UINT64_C(1151377408), // SMLSLB_ZZZI_S
4763 UINT64_C(1153454080), // SMLSLB_ZZZ_D
4764 UINT64_C(1145065472), // SMLSLB_ZZZ_H
4765 UINT64_C(1149259776), // SMLSLB_ZZZ_S
4766 UINT64_C(3238002696), // SMLSLL_MZZI_BtoS
4767 UINT64_C(3246391304), // SMLSLL_MZZI_HtoD
4768 UINT64_C(3240100872), // SMLSLL_MZZ_BtoS
4769 UINT64_C(3244295176), // SMLSLL_MZZ_HtoD
4770 UINT64_C(3248488456), // SMLSLL_VG2_M2Z2Z_BtoS
4771 UINT64_C(3252682760), // SMLSLL_VG2_M2Z2Z_HtoD
4772 UINT64_C(3239051272), // SMLSLL_VG2_M2ZZI_BtoS
4773 UINT64_C(3247439880), // SMLSLL_VG2_M2ZZI_HtoD
4774 UINT64_C(3240099848), // SMLSLL_VG2_M2ZZ_BtoS
4775 UINT64_C(3244294152), // SMLSLL_VG2_M2ZZ_HtoD
4776 UINT64_C(3248553992), // SMLSLL_VG4_M4Z4Z_BtoS
4777 UINT64_C(3252748296), // SMLSLL_VG4_M4Z4Z_HtoD
4778 UINT64_C(3239084040), // SMLSLL_VG4_M4ZZI_BtoS
4779 UINT64_C(3247472648), // SMLSLL_VG4_M4ZZI_HtoD
4780 UINT64_C(3241148424), // SMLSLL_VG4_M4ZZ_BtoS
4781 UINT64_C(3245342728), // SMLSLL_VG4_M4ZZ_HtoD
4782 UINT64_C(1155572736), // SMLSLT_ZZZI_D
4783 UINT64_C(1151378432), // SMLSLT_ZZZI_S
4784 UINT64_C(1153455104), // SMLSLT_ZZZ_D
4785 UINT64_C(1145066496), // SMLSLT_ZZZ_H
4786 UINT64_C(1149260800), // SMLSLT_ZZZ_S
4787 UINT64_C(3250589704), // SMLSL_MZZI_HtoS
4788 UINT64_C(3244297224), // SMLSL_MZZ_HtoS
4789 UINT64_C(3252684808), // SMLSL_VG2_M2Z2Z_HtoS
4790 UINT64_C(3251638280), // SMLSL_VG2_M2ZZI_S
4791 UINT64_C(3244296200), // SMLSL_VG2_M2ZZ_HtoS
4792 UINT64_C(3252750344), // SMLSL_VG4_M4Z4Z_HtoS
4793 UINT64_C(3251671048), // SMLSL_VG4_M4ZZI_HtoS
4794 UINT64_C(3245344776), // SMLSL_VG4_M4ZZ_HtoS
4795 UINT64_C(1310760960), // SMLSLv16i8_v8i16
4796 UINT64_C(260071424), // SMLSLv2i32_indexed
4797 UINT64_C(245407744), // SMLSLv2i32_v2i64
4798 UINT64_C(255877120), // SMLSLv4i16_indexed
4799 UINT64_C(241213440), // SMLSLv4i16_v4i32
4800 UINT64_C(1333813248), // SMLSLv4i32_indexed
4801 UINT64_C(1319149568), // SMLSLv4i32_v2i64
4802 UINT64_C(1329618944), // SMLSLv8i16_indexed
4803 UINT64_C(1314955264), // SMLSLv8i16_v4i32
4804 UINT64_C(237019136), // SMLSLv8i8_v8i16
4805 UINT64_C(1317053440), // SMMLA
4806 UINT64_C(1157666816), // SMMLA_ZZZ
4807 UINT64_C(2148565504), // SMOP4A_M2Z2Z_BToS
4808 UINT64_C(2148565512), // SMOP4A_M2Z2Z_HToS
4809 UINT64_C(2697986568), // SMOP4A_M2Z2Z_HtoD
4810 UINT64_C(2147516928), // SMOP4A_M2ZZ_BToS
4811 UINT64_C(2147516936), // SMOP4A_M2ZZ_HToS
4812 UINT64_C(2696937992), // SMOP4A_M2ZZ_HtoD
4813 UINT64_C(2148564992), // SMOP4A_MZ2Z_BToS
4814 UINT64_C(2148565000), // SMOP4A_MZ2Z_HToS
4815 UINT64_C(2697986056), // SMOP4A_MZ2Z_HtoD
4816 UINT64_C(2147516416), // SMOP4A_MZZ_BToS
4817 UINT64_C(2147516424), // SMOP4A_MZZ_HToS
4818 UINT64_C(2696937480), // SMOP4A_MZZ_HtoD
4819 UINT64_C(2148565520), // SMOP4S_M2Z2Z_BToS
4820 UINT64_C(2148565528), // SMOP4S_M2Z2Z_HToS
4821 UINT64_C(2697986584), // SMOP4S_M2Z2Z_HtoD
4822 UINT64_C(2147516944), // SMOP4S_M2ZZ_BToS
4823 UINT64_C(2147516952), // SMOP4S_M2ZZ_HToS
4824 UINT64_C(2696938008), // SMOP4S_M2ZZ_HtoD
4825 UINT64_C(2148565008), // SMOP4S_MZ2Z_BToS
4826 UINT64_C(2148565016), // SMOP4S_MZ2Z_HToS
4827 UINT64_C(2697986072), // SMOP4S_MZ2Z_HtoD
4828 UINT64_C(2147516432), // SMOP4S_MZZ_BToS
4829 UINT64_C(2147516440), // SMOP4S_MZZ_HToS
4830 UINT64_C(2696937496), // SMOP4S_MZZ_HtoD
4831 UINT64_C(2696937472), // SMOPA_MPPZZ_D
4832 UINT64_C(2692743176), // SMOPA_MPPZZ_HtoS
4833 UINT64_C(2692743168), // SMOPA_MPPZZ_S
4834 UINT64_C(2696937488), // SMOPS_MPPZZ_D
4835 UINT64_C(2692743192), // SMOPS_MPPZZ_HtoS
4836 UINT64_C(2692743184), // SMOPS_MPPZZ_S
4837 UINT64_C(235023360), // SMOVvi16to32
4838 UINT64_C(235023360), // SMOVvi16to32_idx0
4839 UINT64_C(1308765184), // SMOVvi16to64
4840 UINT64_C(1308765184), // SMOVvi16to64_idx0
4841 UINT64_C(1308896256), // SMOVvi32to64
4842 UINT64_C(1308896256), // SMOVvi32to64_idx0
4843 UINT64_C(234957824), // SMOVvi8to32
4844 UINT64_C(234957824), // SMOVvi8to32_idx0
4845 UINT64_C(1308699648), // SMOVvi8to64
4846 UINT64_C(1308699648), // SMOVvi8to64_idx0
4847 UINT64_C(2602598400), // SMSUBLrrr
4848 UINT64_C(68288512), // SMULH_ZPmZ_B
4849 UINT64_C(80871424), // SMULH_ZPmZ_D
4850 UINT64_C(72482816), // SMULH_ZPmZ_H
4851 UINT64_C(76677120), // SMULH_ZPmZ_S
4852 UINT64_C(69232640), // SMULH_ZZZ_B
4853 UINT64_C(81815552), // SMULH_ZZZ_D
4854 UINT64_C(73426944), // SMULH_ZZZ_H
4855 UINT64_C(77621248), // SMULH_ZZZ_S
4856 UINT64_C(2604694528), // SMULHrr
4857 UINT64_C(1155579904), // SMULLB_ZZZI_D
4858 UINT64_C(1151385600), // SMULLB_ZZZI_S
4859 UINT64_C(1170239488), // SMULLB_ZZZ_D
4860 UINT64_C(1161850880), // SMULLB_ZZZ_H
4861 UINT64_C(1166045184), // SMULLB_ZZZ_S
4862 UINT64_C(1155580928), // SMULLT_ZZZI_D
4863 UINT64_C(1151386624), // SMULLT_ZZZI_S
4864 UINT64_C(1170240512), // SMULLT_ZZZ_D
4865 UINT64_C(1161851904), // SMULLT_ZZZ_H
4866 UINT64_C(1166046208), // SMULLT_ZZZ_S
4867 UINT64_C(1310769152), // SMULLv16i8_v8i16
4868 UINT64_C(260087808), // SMULLv2i32_indexed
4869 UINT64_C(245415936), // SMULLv2i32_v2i64
4870 UINT64_C(255893504), // SMULLv4i16_indexed
4871 UINT64_C(241221632), // SMULLv4i16_v4i32
4872 UINT64_C(1333829632), // SMULLv4i32_indexed
4873 UINT64_C(1319157760), // SMULLv4i32_v2i64
4874 UINT64_C(1329635328), // SMULLv8i16_indexed
4875 UINT64_C(1314963456), // SMULLv8i16_v4i32
4876 UINT64_C(237027328), // SMULLv8i8_v8i16
4877 UINT64_C(86867968), // SPLICE_ZPZZ_B
4878 UINT64_C(99450880), // SPLICE_ZPZZ_D
4879 UINT64_C(91062272), // SPLICE_ZPZZ_H
4880 UINT64_C(95256576), // SPLICE_ZPZZ_S
4881 UINT64_C(86802432), // SPLICE_ZPZ_B
4882 UINT64_C(99385344), // SPLICE_ZPZ_D
4883 UINT64_C(90996736), // SPLICE_ZPZ_H
4884 UINT64_C(95191040), // SPLICE_ZPZ_S
4885 UINT64_C(1141415936), // SQABS_ZPmZ_B
4886 UINT64_C(1153998848), // SQABS_ZPmZ_D
4887 UINT64_C(1145610240), // SQABS_ZPmZ_H
4888 UINT64_C(1149804544), // SQABS_ZPmZ_S
4889 UINT64_C(1141547008), // SQABS_ZPzZ_B
4890 UINT64_C(1154129920), // SQABS_ZPzZ_D
4891 UINT64_C(1145741312), // SQABS_ZPzZ_H
4892 UINT64_C(1149935616), // SQABS_ZPzZ_S
4893 UINT64_C(1310750720), // SQABSv16i8
4894 UINT64_C(1583380480), // SQABSv1i16
4895 UINT64_C(1587574784), // SQABSv1i32
4896 UINT64_C(1591769088), // SQABSv1i64
4897 UINT64_C(1579186176), // SQABSv1i8
4898 UINT64_C(245397504), // SQABSv2i32
4899 UINT64_C(1323333632), // SQABSv2i64
4900 UINT64_C(241203200), // SQABSv4i16
4901 UINT64_C(1319139328), // SQABSv4i32
4902 UINT64_C(1314945024), // SQABSv8i16
4903 UINT64_C(237008896), // SQABSv8i8
4904 UINT64_C(623165440), // SQADD_ZI_B
4905 UINT64_C(635748352), // SQADD_ZI_D
4906 UINT64_C(627359744), // SQADD_ZI_H
4907 UINT64_C(631554048), // SQADD_ZI_S
4908 UINT64_C(1142456320), // SQADD_ZPmZ_B
4909 UINT64_C(1155039232), // SQADD_ZPmZ_D
4910 UINT64_C(1146650624), // SQADD_ZPmZ_H
4911 UINT64_C(1150844928), // SQADD_ZPmZ_S
4912 UINT64_C(69210112), // SQADD_ZZZ_B
4913 UINT64_C(81793024), // SQADD_ZZZ_D
4914 UINT64_C(73404416), // SQADD_ZZZ_H
4915 UINT64_C(77598720), // SQADD_ZZZ_S
4916 UINT64_C(1310723072), // SQADDv16i8
4917 UINT64_C(1583352832), // SQADDv1i16
4918 UINT64_C(1587547136), // SQADDv1i32
4919 UINT64_C(1591741440), // SQADDv1i64
4920 UINT64_C(1579158528), // SQADDv1i8
4921 UINT64_C(245369856), // SQADDv2i32
4922 UINT64_C(1323305984), // SQADDv2i64
4923 UINT64_C(241175552), // SQADDv4i16
4924 UINT64_C(1319111680), // SQADDv4i32
4925 UINT64_C(1314917376), // SQADDv8i16
4926 UINT64_C(236981248), // SQADDv8i8
4927 UINT64_C(1157748736), // SQCADD_ZZI_B
4928 UINT64_C(1170331648), // SQCADD_ZZI_D
4929 UINT64_C(1161943040), // SQCADD_ZZI_H
4930 UINT64_C(1166137344), // SQCADD_ZZI_S
4931 UINT64_C(1160855552), // SQCVTN_Z2Z_StoH
4932 UINT64_C(3249791040), // SQCVTN_Z4Z_DtoH
4933 UINT64_C(3241402432), // SQCVTN_Z4Z_StoB
4934 UINT64_C(1160859648), // SQCVTUN_Z2Z_StoH
4935 UINT64_C(3253985344), // SQCVTUN_Z4Z_DtoH
4936 UINT64_C(3245596736), // SQCVTUN_Z4Z_StoB
4937 UINT64_C(3244548096), // SQCVTU_Z2Z_StoH
4938 UINT64_C(3253985280), // SQCVTU_Z4Z_DtoH
4939 UINT64_C(3245596672), // SQCVTU_Z4Z_StoB
4940 UINT64_C(3240353792), // SQCVT_Z2Z_StoH
4941 UINT64_C(3249790976), // SQCVT_Z4Z_DtoH
4942 UINT64_C(3241402368), // SQCVT_Z4Z_StoB
4943 UINT64_C(70318080), // SQDECB_XPiI
4944 UINT64_C(69269504), // SQDECB_XPiWdI
4945 UINT64_C(82900992), // SQDECD_XPiI
4946 UINT64_C(81852416), // SQDECD_XPiWdI
4947 UINT64_C(81840128), // SQDECD_ZPiI
4948 UINT64_C(74512384), // SQDECH_XPiI
4949 UINT64_C(73463808), // SQDECH_XPiWdI
4950 UINT64_C(73451520), // SQDECH_ZPiI
4951 UINT64_C(623544320), // SQDECP_XPWd_B
4952 UINT64_C(636127232), // SQDECP_XPWd_D
4953 UINT64_C(627738624), // SQDECP_XPWd_H
4954 UINT64_C(631932928), // SQDECP_XPWd_S
4955 UINT64_C(623545344), // SQDECP_XP_B
4956 UINT64_C(636128256), // SQDECP_XP_D
4957 UINT64_C(627739648), // SQDECP_XP_H
4958 UINT64_C(631933952), // SQDECP_XP_S
4959 UINT64_C(636125184), // SQDECP_ZP_D
4960 UINT64_C(627736576), // SQDECP_ZP_H
4961 UINT64_C(631930880), // SQDECP_ZP_S
4962 UINT64_C(78706688), // SQDECW_XPiI
4963 UINT64_C(77658112), // SQDECW_XPiWdI
4964 UINT64_C(77645824), // SQDECW_ZPiI
4965 UINT64_C(1153435648), // SQDMLALBT_ZZZ_D
4966 UINT64_C(1145047040), // SQDMLALBT_ZZZ_H
4967 UINT64_C(1149241344), // SQDMLALBT_ZZZ_S
4968 UINT64_C(1155538944), // SQDMLALB_ZZZI_D
4969 UINT64_C(1151344640), // SQDMLALB_ZZZI_S
4970 UINT64_C(1153458176), // SQDMLALB_ZZZ_D
4971 UINT64_C(1145069568), // SQDMLALB_ZZZ_H
4972 UINT64_C(1149263872), // SQDMLALB_ZZZ_S
4973 UINT64_C(1155539968), // SQDMLALT_ZZZI_D
4974 UINT64_C(1151345664), // SQDMLALT_ZZZI_S
4975 UINT64_C(1153459200), // SQDMLALT_ZZZ_D
4976 UINT64_C(1145070592), // SQDMLALT_ZZZ_H
4977 UINT64_C(1149264896), // SQDMLALT_ZZZ_S
4978 UINT64_C(1583386624), // SQDMLALi16
4979 UINT64_C(1587580928), // SQDMLALi32
4980 UINT64_C(1598042112), // SQDMLALv1i32_indexed
4981 UINT64_C(1602236416), // SQDMLALv1i64_indexed
4982 UINT64_C(260059136), // SQDMLALv2i32_indexed
4983 UINT64_C(245403648), // SQDMLALv2i32_v2i64
4984 UINT64_C(255864832), // SQDMLALv4i16_indexed
4985 UINT64_C(241209344), // SQDMLALv4i16_v4i32
4986 UINT64_C(1333800960), // SQDMLALv4i32_indexed
4987 UINT64_C(1319145472), // SQDMLALv4i32_v2i64
4988 UINT64_C(1329606656), // SQDMLALv8i16_indexed
4989 UINT64_C(1314951168), // SQDMLALv8i16_v4i32
4990 UINT64_C(1153436672), // SQDMLSLBT_ZZZ_D
4991 UINT64_C(1145048064), // SQDMLSLBT_ZZZ_H
4992 UINT64_C(1149242368), // SQDMLSLBT_ZZZ_S
4993 UINT64_C(1155543040), // SQDMLSLB_ZZZI_D
4994 UINT64_C(1151348736), // SQDMLSLB_ZZZI_S
4995 UINT64_C(1153460224), // SQDMLSLB_ZZZ_D
4996 UINT64_C(1145071616), // SQDMLSLB_ZZZ_H
4997 UINT64_C(1149265920), // SQDMLSLB_ZZZ_S
4998 UINT64_C(1155544064), // SQDMLSLT_ZZZI_D
4999 UINT64_C(1151349760), // SQDMLSLT_ZZZI_S
5000 UINT64_C(1153461248), // SQDMLSLT_ZZZ_D
5001 UINT64_C(1145072640), // SQDMLSLT_ZZZ_H
5002 UINT64_C(1149266944), // SQDMLSLT_ZZZ_S
5003 UINT64_C(1583394816), // SQDMLSLi16
5004 UINT64_C(1587589120), // SQDMLSLi32
5005 UINT64_C(1598058496), // SQDMLSLv1i32_indexed
5006 UINT64_C(1602252800), // SQDMLSLv1i64_indexed
5007 UINT64_C(260075520), // SQDMLSLv2i32_indexed
5008 UINT64_C(245411840), // SQDMLSLv2i32_v2i64
5009 UINT64_C(255881216), // SQDMLSLv4i16_indexed
5010 UINT64_C(241217536), // SQDMLSLv4i16_v4i32
5011 UINT64_C(1333817344), // SQDMLSLv4i32_indexed
5012 UINT64_C(1319153664), // SQDMLSLv4i32_v2i64
5013 UINT64_C(1329623040), // SQDMLSLv8i16_indexed
5014 UINT64_C(1314959360), // SQDMLSLv8i16_v4i32
5015 UINT64_C(3240145920), // SQDMULH_VG2_2Z2Z_B
5016 UINT64_C(3252728832), // SQDMULH_VG2_2Z2Z_D
5017 UINT64_C(3244340224), // SQDMULH_VG2_2Z2Z_H
5018 UINT64_C(3248534528), // SQDMULH_VG2_2Z2Z_S
5019 UINT64_C(3240141824), // SQDMULH_VG2_2ZZ_B
5020 UINT64_C(3252724736), // SQDMULH_VG2_2ZZ_D
5021 UINT64_C(3244336128), // SQDMULH_VG2_2ZZ_H
5022 UINT64_C(3248530432), // SQDMULH_VG2_2ZZ_S
5023 UINT64_C(3240147968), // SQDMULH_VG4_4Z4Z_B
5024 UINT64_C(3252730880), // SQDMULH_VG4_4Z4Z_D
5025 UINT64_C(3244342272), // SQDMULH_VG4_4Z4Z_H
5026 UINT64_C(3248536576), // SQDMULH_VG4_4Z4Z_S
5027 UINT64_C(3240143872), // SQDMULH_VG4_4ZZ_B
5028 UINT64_C(3252726784), // SQDMULH_VG4_4ZZ_D
5029 UINT64_C(3244338176), // SQDMULH_VG4_4ZZ_H
5030 UINT64_C(3248532480), // SQDMULH_VG4_4ZZ_S
5031 UINT64_C(1155592192), // SQDMULH_ZZZI_D
5032 UINT64_C(1143009280), // SQDMULH_ZZZI_H
5033 UINT64_C(1151397888), // SQDMULH_ZZZI_S
5034 UINT64_C(69234688), // SQDMULH_ZZZ_B
5035 UINT64_C(81817600), // SQDMULH_ZZZ_D
5036 UINT64_C(73428992), // SQDMULH_ZZZ_H
5037 UINT64_C(77623296), // SQDMULH_ZZZ_S
5038 UINT64_C(1583395840), // SQDMULHv1i16
5039 UINT64_C(1598078976), // SQDMULHv1i16_indexed
5040 UINT64_C(1587590144), // SQDMULHv1i32
5041 UINT64_C(1602273280), // SQDMULHv1i32_indexed
5042 UINT64_C(245412864), // SQDMULHv2i32
5043 UINT64_C(260096000), // SQDMULHv2i32_indexed
5044 UINT64_C(241218560), // SQDMULHv4i16
5045 UINT64_C(255901696), // SQDMULHv4i16_indexed
5046 UINT64_C(1319154688), // SQDMULHv4i32
5047 UINT64_C(1333837824), // SQDMULHv4i32_indexed
5048 UINT64_C(1314960384), // SQDMULHv8i16
5049 UINT64_C(1329643520), // SQDMULHv8i16_indexed
5050 UINT64_C(1155588096), // SQDMULLB_ZZZI_D
5051 UINT64_C(1151393792), // SQDMULLB_ZZZI_S
5052 UINT64_C(1170235392), // SQDMULLB_ZZZ_D
5053 UINT64_C(1161846784), // SQDMULLB_ZZZ_H
5054 UINT64_C(1166041088), // SQDMULLB_ZZZ_S
5055 UINT64_C(1155589120), // SQDMULLT_ZZZI_D
5056 UINT64_C(1151394816), // SQDMULLT_ZZZI_S
5057 UINT64_C(1170236416), // SQDMULLT_ZZZ_D
5058 UINT64_C(1161847808), // SQDMULLT_ZZZ_H
5059 UINT64_C(1166042112), // SQDMULLT_ZZZ_S
5060 UINT64_C(1583403008), // SQDMULLi16
5061 UINT64_C(1587597312), // SQDMULLi32
5062 UINT64_C(1598074880), // SQDMULLv1i32_indexed
5063 UINT64_C(1602269184), // SQDMULLv1i64_indexed
5064 UINT64_C(260091904), // SQDMULLv2i32_indexed
5065 UINT64_C(245420032), // SQDMULLv2i32_v2i64
5066 UINT64_C(255897600), // SQDMULLv4i16_indexed
5067 UINT64_C(241225728), // SQDMULLv4i16_v4i32
5068 UINT64_C(1333833728), // SQDMULLv4i32_indexed
5069 UINT64_C(1319161856), // SQDMULLv4i32_v2i64
5070 UINT64_C(1329639424), // SQDMULLv8i16_indexed
5071 UINT64_C(1314967552), // SQDMULLv8i16_v4i32
5072 UINT64_C(70316032), // SQINCB_XPiI
5073 UINT64_C(69267456), // SQINCB_XPiWdI
5074 UINT64_C(82898944), // SQINCD_XPiI
5075 UINT64_C(81850368), // SQINCD_XPiWdI
5076 UINT64_C(81838080), // SQINCD_ZPiI
5077 UINT64_C(74510336), // SQINCH_XPiI
5078 UINT64_C(73461760), // SQINCH_XPiWdI
5079 UINT64_C(73449472), // SQINCH_ZPiI
5080 UINT64_C(623413248), // SQINCP_XPWd_B
5081 UINT64_C(635996160), // SQINCP_XPWd_D
5082 UINT64_C(627607552), // SQINCP_XPWd_H
5083 UINT64_C(631801856), // SQINCP_XPWd_S
5084 UINT64_C(623414272), // SQINCP_XP_B
5085 UINT64_C(635997184), // SQINCP_XP_D
5086 UINT64_C(627608576), // SQINCP_XP_H
5087 UINT64_C(631802880), // SQINCP_XP_S
5088 UINT64_C(635994112), // SQINCP_ZP_D
5089 UINT64_C(627605504), // SQINCP_ZP_H
5090 UINT64_C(631799808), // SQINCP_ZP_S
5091 UINT64_C(78704640), // SQINCW_XPiI
5092 UINT64_C(77656064), // SQINCW_XPiWdI
5093 UINT64_C(77643776), // SQINCW_ZPiI
5094 UINT64_C(1141481472), // SQNEG_ZPmZ_B
5095 UINT64_C(1154064384), // SQNEG_ZPmZ_D
5096 UINT64_C(1145675776), // SQNEG_ZPmZ_H
5097 UINT64_C(1149870080), // SQNEG_ZPmZ_S
5098 UINT64_C(1141612544), // SQNEG_ZPzZ_B
5099 UINT64_C(1154195456), // SQNEG_ZPzZ_D
5100 UINT64_C(1145806848), // SQNEG_ZPzZ_H
5101 UINT64_C(1150001152), // SQNEG_ZPzZ_S
5102 UINT64_C(1847621632), // SQNEGv16i8
5103 UINT64_C(2120251392), // SQNEGv1i16
5104 UINT64_C(2124445696), // SQNEGv1i32
5105 UINT64_C(2128640000), // SQNEGv1i64
5106 UINT64_C(2116057088), // SQNEGv1i8
5107 UINT64_C(782268416), // SQNEGv2i32
5108 UINT64_C(1860204544), // SQNEGv2i64
5109 UINT64_C(778074112), // SQNEGv4i16
5110 UINT64_C(1856010240), // SQNEGv4i32
5111 UINT64_C(1851815936), // SQNEGv8i16
5112 UINT64_C(773879808), // SQNEGv8i8
5113 UINT64_C(1151365120), // SQRDCMLAH_ZZZI_H
5114 UINT64_C(1155559424), // SQRDCMLAH_ZZZI_S
5115 UINT64_C(1140862976), // SQRDCMLAH_ZZZ_B
5116 UINT64_C(1153445888), // SQRDCMLAH_ZZZ_D
5117 UINT64_C(1145057280), // SQRDCMLAH_ZZZ_H
5118 UINT64_C(1149251584), // SQRDCMLAH_ZZZ_S
5119 UINT64_C(1155534848), // SQRDMLAH_ZZZI_D
5120 UINT64_C(1142951936), // SQRDMLAH_ZZZI_H
5121 UINT64_C(1151340544), // SQRDMLAH_ZZZI_S
5122 UINT64_C(1140879360), // SQRDMLAH_ZZZ_B
5123 UINT64_C(1153462272), // SQRDMLAH_ZZZ_D
5124 UINT64_C(1145073664), // SQRDMLAH_ZZZ_H
5125 UINT64_C(1149267968), // SQRDMLAH_ZZZ_S
5126 UINT64_C(2118157312), // SQRDMLAHv1i16
5127 UINT64_C(2134953984), // SQRDMLAHv1i16_indexed
5128 UINT64_C(2122351616), // SQRDMLAHv1i32
5129 UINT64_C(2139148288), // SQRDMLAHv1i32_indexed
5130 UINT64_C(780174336), // SQRDMLAHv2i32
5131 UINT64_C(796971008), // SQRDMLAHv2i32_indexed
5132 UINT64_C(775980032), // SQRDMLAHv4i16
5133 UINT64_C(792776704), // SQRDMLAHv4i16_indexed
5134 UINT64_C(1853916160), // SQRDMLAHv4i32
5135 UINT64_C(1870712832), // SQRDMLAHv4i32_indexed
5136 UINT64_C(1849721856), // SQRDMLAHv8i16
5137 UINT64_C(1866518528), // SQRDMLAHv8i16_indexed
5138 UINT64_C(1155535872), // SQRDMLSH_ZZZI_D
5139 UINT64_C(1142952960), // SQRDMLSH_ZZZI_H
5140 UINT64_C(1151341568), // SQRDMLSH_ZZZI_S
5141 UINT64_C(1140880384), // SQRDMLSH_ZZZ_B
5142 UINT64_C(1153463296), // SQRDMLSH_ZZZ_D
5143 UINT64_C(1145074688), // SQRDMLSH_ZZZ_H
5144 UINT64_C(1149268992), // SQRDMLSH_ZZZ_S
5145 UINT64_C(2118159360), // SQRDMLSHv1i16
5146 UINT64_C(2134962176), // SQRDMLSHv1i16_indexed
5147 UINT64_C(2122353664), // SQRDMLSHv1i32
5148 UINT64_C(2139156480), // SQRDMLSHv1i32_indexed
5149 UINT64_C(780176384), // SQRDMLSHv2i32
5150 UINT64_C(796979200), // SQRDMLSHv2i32_indexed
5151 UINT64_C(775982080), // SQRDMLSHv4i16
5152 UINT64_C(792784896), // SQRDMLSHv4i16_indexed
5153 UINT64_C(1853918208), // SQRDMLSHv4i32
5154 UINT64_C(1870721024), // SQRDMLSHv4i32_indexed
5155 UINT64_C(1849723904), // SQRDMLSHv8i16
5156 UINT64_C(1866526720), // SQRDMLSHv8i16_indexed
5157 UINT64_C(1155593216), // SQRDMULH_ZZZI_D
5158 UINT64_C(1143010304), // SQRDMULH_ZZZI_H
5159 UINT64_C(1151398912), // SQRDMULH_ZZZI_S
5160 UINT64_C(69235712), // SQRDMULH_ZZZ_B
5161 UINT64_C(81818624), // SQRDMULH_ZZZ_D
5162 UINT64_C(73430016), // SQRDMULH_ZZZ_H
5163 UINT64_C(77624320), // SQRDMULH_ZZZ_S
5164 UINT64_C(2120266752), // SQRDMULHv1i16
5165 UINT64_C(1598083072), // SQRDMULHv1i16_indexed
5166 UINT64_C(2124461056), // SQRDMULHv1i32
5167 UINT64_C(1602277376), // SQRDMULHv1i32_indexed
5168 UINT64_C(782283776), // SQRDMULHv2i32
5169 UINT64_C(260100096), // SQRDMULHv2i32_indexed
5170 UINT64_C(778089472), // SQRDMULHv4i16
5171 UINT64_C(255905792), // SQRDMULHv4i16_indexed
5172 UINT64_C(1856025600), // SQRDMULHv4i32
5173 UINT64_C(1333841920), // SQRDMULHv4i32_indexed
5174 UINT64_C(1851831296), // SQRDMULHv8i16
5175 UINT64_C(1329647616), // SQRDMULHv8i16_indexed
5176 UINT64_C(1141800960), // SQRSHLR_ZPmZ_B
5177 UINT64_C(1154383872), // SQRSHLR_ZPmZ_D
5178 UINT64_C(1145995264), // SQRSHLR_ZPmZ_H
5179 UINT64_C(1150189568), // SQRSHLR_ZPmZ_S
5180 UINT64_C(1141538816), // SQRSHL_ZPmZ_B
5181 UINT64_C(1154121728), // SQRSHL_ZPmZ_D
5182 UINT64_C(1145733120), // SQRSHL_ZPmZ_H
5183 UINT64_C(1149927424), // SQRSHL_ZPmZ_S
5184 UINT64_C(1310743552), // SQRSHLv16i8
5185 UINT64_C(1583373312), // SQRSHLv1i16
5186 UINT64_C(1587567616), // SQRSHLv1i32
5187 UINT64_C(1591761920), // SQRSHLv1i64
5188 UINT64_C(1579179008), // SQRSHLv1i8
5189 UINT64_C(245390336), // SQRSHLv2i32
5190 UINT64_C(1323326464), // SQRSHLv2i64
5191 UINT64_C(241196032), // SQRSHLv4i16
5192 UINT64_C(1319132160), // SQRSHLv4i32
5193 UINT64_C(1314937856), // SQRSHLv8i16
5194 UINT64_C(237001728), // SQRSHLv8i8
5195 UINT64_C(1160259584), // SQRSHRNB_ZZI_B
5196 UINT64_C(1160783872), // SQRSHRNB_ZZI_H
5197 UINT64_C(1163929600), // SQRSHRNB_ZZI_S
5198 UINT64_C(1160260608), // SQRSHRNT_ZZI_B
5199 UINT64_C(1160784896), // SQRSHRNT_ZZI_H
5200 UINT64_C(1163930624), // SQRSHRNT_ZZI_S
5201 UINT64_C(3244350464), // SQRSHRN_VG4_Z4ZI_B
5202 UINT64_C(3248544768), // SQRSHRN_VG4_Z4ZI_H
5203 UINT64_C(1168648192), // SQRSHRN_Z2ZI_HtoB
5204 UINT64_C(1169172480), // SQRSHRN_Z2ZI_StoH
5205 UINT64_C(1594399744), // SQRSHRNb
5206 UINT64_C(1594924032), // SQRSHRNh
5207 UINT64_C(1595972608), // SQRSHRNs
5208 UINT64_C(1325964288), // SQRSHRNv16i8_shift
5209 UINT64_C(253795328), // SQRSHRNv2i32_shift
5210 UINT64_C(252746752), // SQRSHRNv4i16_shift
5211 UINT64_C(1327537152), // SQRSHRNv4i32_shift
5212 UINT64_C(1326488576), // SQRSHRNv8i16_shift
5213 UINT64_C(252222464), // SQRSHRNv8i8_shift
5214 UINT64_C(1160251392), // SQRSHRUNB_ZZI_B
5215 UINT64_C(1160775680), // SQRSHRUNB_ZZI_H
5216 UINT64_C(1163921408), // SQRSHRUNB_ZZI_S
5217 UINT64_C(1160252416), // SQRSHRUNT_ZZI_B
5218 UINT64_C(1160776704), // SQRSHRUNT_ZZI_H
5219 UINT64_C(1163922432), // SQRSHRUNT_ZZI_S
5220 UINT64_C(3244350528), // SQRSHRUN_VG4_Z4ZI_B
5221 UINT64_C(3248544832), // SQRSHRUN_VG4_Z4ZI_H
5222 UINT64_C(1168640000), // SQRSHRUN_Z2ZI_HtoB
5223 UINT64_C(1169164288), // SQRSHRUN_Z2ZI_StoH
5224 UINT64_C(2131266560), // SQRSHRUNb
5225 UINT64_C(2131790848), // SQRSHRUNh
5226 UINT64_C(2132839424), // SQRSHRUNs
5227 UINT64_C(1862831104), // SQRSHRUNv16i8_shift
5228 UINT64_C(790662144), // SQRSHRUNv2i32_shift
5229 UINT64_C(789613568), // SQRSHRUNv4i16_shift
5230 UINT64_C(1864403968), // SQRSHRUNv4i32_shift
5231 UINT64_C(1863355392), // SQRSHRUNv8i16_shift
5232 UINT64_C(789089280), // SQRSHRUNv8i8_shift
5233 UINT64_C(3253785600), // SQRSHRU_VG2_Z2ZI_H
5234 UINT64_C(3244349504), // SQRSHRU_VG4_Z4ZI_B
5235 UINT64_C(3248543808), // SQRSHRU_VG4_Z4ZI_H
5236 UINT64_C(3252737024), // SQRSHR_VG2_Z2ZI_H
5237 UINT64_C(3244349440), // SQRSHR_VG4_Z4ZI_B
5238 UINT64_C(3248543744), // SQRSHR_VG4_Z4ZI_H
5239 UINT64_C(1141669888), // SQSHLR_ZPmZ_B
5240 UINT64_C(1154252800), // SQSHLR_ZPmZ_D
5241 UINT64_C(1145864192), // SQSHLR_ZPmZ_H
5242 UINT64_C(1150058496), // SQSHLR_ZPmZ_S
5243 UINT64_C(68124928), // SQSHLU_ZPmI_B
5244 UINT64_C(76513280), // SQSHLU_ZPmI_D
5245 UINT64_C(68125184), // SQSHLU_ZPmI_H
5246 UINT64_C(72318976), // SQSHLU_ZPmI_S
5247 UINT64_C(2131256320), // SQSHLUb
5248 UINT64_C(2134926336), // SQSHLUd
5249 UINT64_C(2131780608), // SQSHLUh
5250 UINT64_C(2132829184), // SQSHLUs
5251 UINT64_C(1862820864), // SQSHLUv16i8_shift
5252 UINT64_C(790651904), // SQSHLUv2i32_shift
5253 UINT64_C(1866490880), // SQSHLUv2i64_shift
5254 UINT64_C(789603328), // SQSHLUv4i16_shift
5255 UINT64_C(1864393728), // SQSHLUv4i32_shift
5256 UINT64_C(1863345152), // SQSHLUv8i16_shift
5257 UINT64_C(789079040), // SQSHLUv8i8_shift
5258 UINT64_C(67535104), // SQSHL_ZPmI_B
5259 UINT64_C(75923456), // SQSHL_ZPmI_D
5260 UINT64_C(67535360), // SQSHL_ZPmI_H
5261 UINT64_C(71729152), // SQSHL_ZPmI_S
5262 UINT64_C(1141407744), // SQSHL_ZPmZ_B
5263 UINT64_C(1153990656), // SQSHL_ZPmZ_D
5264 UINT64_C(1145602048), // SQSHL_ZPmZ_H
5265 UINT64_C(1149796352), // SQSHL_ZPmZ_S
5266 UINT64_C(1594389504), // SQSHLb
5267 UINT64_C(1598059520), // SQSHLd
5268 UINT64_C(1594913792), // SQSHLh
5269 UINT64_C(1595962368), // SQSHLs
5270 UINT64_C(1310739456), // SQSHLv16i8
5271 UINT64_C(1325954048), // SQSHLv16i8_shift
5272 UINT64_C(1583369216), // SQSHLv1i16
5273 UINT64_C(1587563520), // SQSHLv1i32
5274 UINT64_C(1591757824), // SQSHLv1i64
5275 UINT64_C(1579174912), // SQSHLv1i8
5276 UINT64_C(245386240), // SQSHLv2i32
5277 UINT64_C(253785088), // SQSHLv2i32_shift
5278 UINT64_C(1323322368), // SQSHLv2i64
5279 UINT64_C(1329624064), // SQSHLv2i64_shift
5280 UINT64_C(241191936), // SQSHLv4i16
5281 UINT64_C(252736512), // SQSHLv4i16_shift
5282 UINT64_C(1319128064), // SQSHLv4i32
5283 UINT64_C(1327526912), // SQSHLv4i32_shift
5284 UINT64_C(1314933760), // SQSHLv8i16
5285 UINT64_C(1326478336), // SQSHLv8i16_shift
5286 UINT64_C(236997632), // SQSHLv8i8
5287 UINT64_C(252212224), // SQSHLv8i8_shift
5288 UINT64_C(1160257536), // SQSHRNB_ZZI_B
5289 UINT64_C(1160781824), // SQSHRNB_ZZI_H
5290 UINT64_C(1163927552), // SQSHRNB_ZZI_S
5291 UINT64_C(1160258560), // SQSHRNT_ZZI_B
5292 UINT64_C(1160782848), // SQSHRNT_ZZI_H
5293 UINT64_C(1163928576), // SQSHRNT_ZZI_S
5294 UINT64_C(1168637952), // SQSHRN_Z2ZI_HtoB
5295 UINT64_C(1169162240), // SQSHRN_Z2ZI_StoH
5296 UINT64_C(1594397696), // SQSHRNb
5297 UINT64_C(1594921984), // SQSHRNh
5298 UINT64_C(1595970560), // SQSHRNs
5299 UINT64_C(1325962240), // SQSHRNv16i8_shift
5300 UINT64_C(253793280), // SQSHRNv2i32_shift
5301 UINT64_C(252744704), // SQSHRNv4i16_shift
5302 UINT64_C(1327535104), // SQSHRNv4i32_shift
5303 UINT64_C(1326486528), // SQSHRNv8i16_shift
5304 UINT64_C(252220416), // SQSHRNv8i8_shift
5305 UINT64_C(1160249344), // SQSHRUNB_ZZI_B
5306 UINT64_C(1160773632), // SQSHRUNB_ZZI_H
5307 UINT64_C(1163919360), // SQSHRUNB_ZZI_S
5308 UINT64_C(1160250368), // SQSHRUNT_ZZI_B
5309 UINT64_C(1160774656), // SQSHRUNT_ZZI_H
5310 UINT64_C(1163920384), // SQSHRUNT_ZZI_S
5311 UINT64_C(1168646144), // SQSHRUN_Z2ZI_HtoB
5312 UINT64_C(1169170432), // SQSHRUN_Z2ZI_StoH
5313 UINT64_C(2131264512), // SQSHRUNb
5314 UINT64_C(2131788800), // SQSHRUNh
5315 UINT64_C(2132837376), // SQSHRUNs
5316 UINT64_C(1862829056), // SQSHRUNv16i8_shift
5317 UINT64_C(790660096), // SQSHRUNv2i32_shift
5318 UINT64_C(789611520), // SQSHRUNv4i16_shift
5319 UINT64_C(1864401920), // SQSHRUNv4i32_shift
5320 UINT64_C(1863353344), // SQSHRUNv8i16_shift
5321 UINT64_C(789087232), // SQSHRUNv8i8_shift
5322 UINT64_C(1142849536), // SQSUBR_ZPmZ_B
5323 UINT64_C(1155432448), // SQSUBR_ZPmZ_D
5324 UINT64_C(1147043840), // SQSUBR_ZPmZ_H
5325 UINT64_C(1151238144), // SQSUBR_ZPmZ_S
5326 UINT64_C(623296512), // SQSUB_ZI_B
5327 UINT64_C(635879424), // SQSUB_ZI_D
5328 UINT64_C(627490816), // SQSUB_ZI_H
5329 UINT64_C(631685120), // SQSUB_ZI_S
5330 UINT64_C(1142587392), // SQSUB_ZPmZ_B
5331 UINT64_C(1155170304), // SQSUB_ZPmZ_D
5332 UINT64_C(1146781696), // SQSUB_ZPmZ_H
5333 UINT64_C(1150976000), // SQSUB_ZPmZ_S
5334 UINT64_C(69212160), // SQSUB_ZZZ_B
5335 UINT64_C(81795072), // SQSUB_ZZZ_D
5336 UINT64_C(73406464), // SQSUB_ZZZ_H
5337 UINT64_C(77600768), // SQSUB_ZZZ_S
5338 UINT64_C(1310731264), // SQSUBv16i8
5339 UINT64_C(1583361024), // SQSUBv1i16
5340 UINT64_C(1587555328), // SQSUBv1i32
5341 UINT64_C(1591749632), // SQSUBv1i64
5342 UINT64_C(1579166720), // SQSUBv1i8
5343 UINT64_C(245378048), // SQSUBv2i32
5344 UINT64_C(1323314176), // SQSUBv2i64
5345 UINT64_C(241183744), // SQSUBv4i16
5346 UINT64_C(1319119872), // SQSUBv4i32
5347 UINT64_C(1314925568), // SQSUBv8i16
5348 UINT64_C(236989440), // SQSUBv8i8
5349 UINT64_C(1160265728), // SQXTNB_ZZ_B
5350 UINT64_C(1160790016), // SQXTNB_ZZ_H
5351 UINT64_C(1163935744), // SQXTNB_ZZ_S
5352 UINT64_C(1160266752), // SQXTNT_ZZ_B
5353 UINT64_C(1160791040), // SQXTNT_ZZ_H
5354 UINT64_C(1163936768), // SQXTNT_ZZ_S
5355 UINT64_C(1310803968), // SQXTNv16i8
5356 UINT64_C(1583433728), // SQXTNv1i16
5357 UINT64_C(1587628032), // SQXTNv1i32
5358 UINT64_C(1579239424), // SQXTNv1i8
5359 UINT64_C(245450752), // SQXTNv2i32
5360 UINT64_C(241256448), // SQXTNv4i16
5361 UINT64_C(1319192576), // SQXTNv4i32
5362 UINT64_C(1314998272), // SQXTNv8i16
5363 UINT64_C(237062144), // SQXTNv8i8
5364 UINT64_C(1160269824), // SQXTUNB_ZZ_B
5365 UINT64_C(1160794112), // SQXTUNB_ZZ_H
5366 UINT64_C(1163939840), // SQXTUNB_ZZ_S
5367 UINT64_C(1160270848), // SQXTUNT_ZZ_B
5368 UINT64_C(1160795136), // SQXTUNT_ZZ_H
5369 UINT64_C(1163940864), // SQXTUNT_ZZ_S
5370 UINT64_C(1847666688), // SQXTUNv16i8
5371 UINT64_C(2120296448), // SQXTUNv1i16
5372 UINT64_C(2124490752), // SQXTUNv1i32
5373 UINT64_C(2116102144), // SQXTUNv1i8
5374 UINT64_C(782313472), // SQXTUNv2i32
5375 UINT64_C(778119168), // SQXTUNv4i16
5376 UINT64_C(1856055296), // SQXTUNv4i32
5377 UINT64_C(1851860992), // SQXTUNv8i16
5378 UINT64_C(773924864), // SQXTUNv8i8
5379 UINT64_C(1142194176), // SRHADD_ZPmZ_B
5380 UINT64_C(1154777088), // SRHADD_ZPmZ_D
5381 UINT64_C(1146388480), // SRHADD_ZPmZ_H
5382 UINT64_C(1150582784), // SRHADD_ZPmZ_S
5383 UINT64_C(1310725120), // SRHADDv16i8
5384 UINT64_C(245371904), // SRHADDv2i32
5385 UINT64_C(241177600), // SRHADDv4i16
5386 UINT64_C(1319113728), // SRHADDv4i32
5387 UINT64_C(1314919424), // SRHADDv8i16
5388 UINT64_C(236983296), // SRHADDv8i8
5389 UINT64_C(1158213632), // SRI_ZZI_B
5390 UINT64_C(1166077952), // SRI_ZZI_D
5391 UINT64_C(1158737920), // SRI_ZZI_H
5392 UINT64_C(1161883648), // SRI_ZZI_S
5393 UINT64_C(2134918144), // SRId
5394 UINT64_C(1862812672), // SRIv16i8_shift
5395 UINT64_C(790643712), // SRIv2i32_shift
5396 UINT64_C(1866482688), // SRIv2i64_shift
5397 UINT64_C(789595136), // SRIv4i16_shift
5398 UINT64_C(1864385536), // SRIv4i32_shift
5399 UINT64_C(1863336960), // SRIv8i16_shift
5400 UINT64_C(789070848), // SRIv8i8_shift
5401 UINT64_C(1141276672), // SRSHLR_ZPmZ_B
5402 UINT64_C(1153859584), // SRSHLR_ZPmZ_D
5403 UINT64_C(1145470976), // SRSHLR_ZPmZ_H
5404 UINT64_C(1149665280), // SRSHLR_ZPmZ_S
5405 UINT64_C(3240145440), // SRSHL_VG2_2Z2Z_B
5406 UINT64_C(3252728352), // SRSHL_VG2_2Z2Z_D
5407 UINT64_C(3244339744), // SRSHL_VG2_2Z2Z_H
5408 UINT64_C(3248534048), // SRSHL_VG2_2Z2Z_S
5409 UINT64_C(3240141344), // SRSHL_VG2_2ZZ_B
5410 UINT64_C(3252724256), // SRSHL_VG2_2ZZ_D
5411 UINT64_C(3244335648), // SRSHL_VG2_2ZZ_H
5412 UINT64_C(3248529952), // SRSHL_VG2_2ZZ_S
5413 UINT64_C(3240147488), // SRSHL_VG4_4Z4Z_B
5414 UINT64_C(3252730400), // SRSHL_VG4_4Z4Z_D
5415 UINT64_C(3244341792), // SRSHL_VG4_4Z4Z_H
5416 UINT64_C(3248536096), // SRSHL_VG4_4Z4Z_S
5417 UINT64_C(3240143392), // SRSHL_VG4_4ZZ_B
5418 UINT64_C(3252726304), // SRSHL_VG4_4ZZ_D
5419 UINT64_C(3244337696), // SRSHL_VG4_4ZZ_H
5420 UINT64_C(3248532000), // SRSHL_VG4_4ZZ_S
5421 UINT64_C(1141014528), // SRSHL_ZPmZ_B
5422 UINT64_C(1153597440), // SRSHL_ZPmZ_D
5423 UINT64_C(1145208832), // SRSHL_ZPmZ_H
5424 UINT64_C(1149403136), // SRSHL_ZPmZ_S
5425 UINT64_C(1310741504), // SRSHLv16i8
5426 UINT64_C(1591759872), // SRSHLv1i64
5427 UINT64_C(245388288), // SRSHLv2i32
5428 UINT64_C(1323324416), // SRSHLv2i64
5429 UINT64_C(241193984), // SRSHLv4i16
5430 UINT64_C(1319130112), // SRSHLv4i32
5431 UINT64_C(1314935808), // SRSHLv8i16
5432 UINT64_C(236999680), // SRSHLv8i8
5433 UINT64_C(67928320), // SRSHR_ZPmI_B
5434 UINT64_C(76316672), // SRSHR_ZPmI_D
5435 UINT64_C(67928576), // SRSHR_ZPmI_H
5436 UINT64_C(72122368), // SRSHR_ZPmI_S
5437 UINT64_C(1598039040), // SRSHRd
5438 UINT64_C(1325933568), // SRSHRv16i8_shift
5439 UINT64_C(253764608), // SRSHRv2i32_shift
5440 UINT64_C(1329603584), // SRSHRv2i64_shift
5441 UINT64_C(252716032), // SRSHRv4i16_shift
5442 UINT64_C(1327506432), // SRSHRv4i32_shift
5443 UINT64_C(1326457856), // SRSHRv8i16_shift
5444 UINT64_C(252191744), // SRSHRv8i8_shift
5445 UINT64_C(1158211584), // SRSRA_ZZI_B
5446 UINT64_C(1166075904), // SRSRA_ZZI_D
5447 UINT64_C(1158735872), // SRSRA_ZZI_H
5448 UINT64_C(1161881600), // SRSRA_ZZI_S
5449 UINT64_C(1598043136), // SRSRAd
5450 UINT64_C(1325937664), // SRSRAv16i8_shift
5451 UINT64_C(253768704), // SRSRAv2i32_shift
5452 UINT64_C(1329607680), // SRSRAv2i64_shift
5453 UINT64_C(252720128), // SRSRAv4i16_shift
5454 UINT64_C(1327510528), // SRSRAv4i32_shift
5455 UINT64_C(1326461952), // SRSRAv8i16_shift
5456 UINT64_C(252195840), // SRSRAv8i8_shift
5457 UINT64_C(1161863168), // SSHLLB_ZZI_D
5458 UINT64_C(1158193152), // SSHLLB_ZZI_H
5459 UINT64_C(1158717440), // SSHLLB_ZZI_S
5460 UINT64_C(1161864192), // SSHLLT_ZZI_D
5461 UINT64_C(1158194176), // SSHLLT_ZZI_H
5462 UINT64_C(1158718464), // SSHLLT_ZZI_S
5463 UINT64_C(1325966336), // SSHLLv16i8_shift
5464 UINT64_C(253797376), // SSHLLv2i32_shift
5465 UINT64_C(252748800), // SSHLLv4i16_shift
5466 UINT64_C(1327539200), // SSHLLv4i32_shift
5467 UINT64_C(1326490624), // SSHLLv8i16_shift
5468 UINT64_C(252224512), // SSHLLv8i8_shift
5469 UINT64_C(1310737408), // SSHLv16i8
5470 UINT64_C(1591755776), // SSHLv1i64
5471 UINT64_C(245384192), // SSHLv2i32
5472 UINT64_C(1323320320), // SSHLv2i64
5473 UINT64_C(241189888), // SSHLv4i16
5474 UINT64_C(1319126016), // SSHLv4i32
5475 UINT64_C(1314931712), // SSHLv8i16
5476 UINT64_C(236995584), // SSHLv8i8
5477 UINT64_C(1598030848), // SSHRd
5478 UINT64_C(1325925376), // SSHRv16i8_shift
5479 UINT64_C(253756416), // SSHRv2i32_shift
5480 UINT64_C(1329595392), // SSHRv2i64_shift
5481 UINT64_C(252707840), // SSHRv4i16_shift
5482 UINT64_C(1327498240), // SSHRv4i32_shift
5483 UINT64_C(1326449664), // SSHRv8i16_shift
5484 UINT64_C(252183552), // SSHRv8i8_shift
5485 UINT64_C(1158209536), // SSRA_ZZI_B
5486 UINT64_C(1166073856), // SSRA_ZZI_D
5487 UINT64_C(1158733824), // SSRA_ZZI_H
5488 UINT64_C(1161879552), // SSRA_ZZI_S
5489 UINT64_C(1598034944), // SSRAd
5490 UINT64_C(1325929472), // SSRAv16i8_shift
5491 UINT64_C(253760512), // SSRAv2i32_shift
5492 UINT64_C(1329599488), // SSRAv2i64_shift
5493 UINT64_C(252711936), // SSRAv4i16_shift
5494 UINT64_C(1327502336), // SSRAv4i32_shift
5495 UINT64_C(1326453760), // SSRAv8i16_shift
5496 UINT64_C(252187648), // SSRAv8i8_shift
5497 UINT64_C(3825246208), // SST1B_D
5498 UINT64_C(3829440512), // SST1B_D_IMM
5499 UINT64_C(3825254400), // SST1B_D_SXTW
5500 UINT64_C(3825238016), // SST1B_D_UXTW
5501 UINT64_C(3831537664), // SST1B_S_IMM
5502 UINT64_C(3829448704), // SST1B_S_SXTW
5503 UINT64_C(3829432320), // SST1B_S_UXTW
5504 UINT64_C(3850412032), // SST1D
5505 UINT64_C(3854606336), // SST1D_IMM
5506 UINT64_C(3852509184), // SST1D_SCALED
5507 UINT64_C(3850420224), // SST1D_SXTW
5508 UINT64_C(3852517376), // SST1D_SXTW_SCALED
5509 UINT64_C(3850403840), // SST1D_UXTW
5510 UINT64_C(3852500992), // SST1D_UXTW_SCALED
5511 UINT64_C(3833634816), // SST1H_D
5512 UINT64_C(3837829120), // SST1H_D_IMM
5513 UINT64_C(3835731968), // SST1H_D_SCALED
5514 UINT64_C(3833643008), // SST1H_D_SXTW
5515 UINT64_C(3835740160), // SST1H_D_SXTW_SCALED
5516 UINT64_C(3833626624), // SST1H_D_UXTW
5517 UINT64_C(3835723776), // SST1H_D_UXTW_SCALED
5518 UINT64_C(3839926272), // SST1H_S_IMM
5519 UINT64_C(3837837312), // SST1H_S_SXTW
5520 UINT64_C(3839934464), // SST1H_S_SXTW_SCALED
5521 UINT64_C(3837820928), // SST1H_S_UXTW
5522 UINT64_C(3839918080), // SST1H_S_UXTW_SCALED
5523 UINT64_C(3827310592), // SST1Q
5524 UINT64_C(3842023424), // SST1W_D
5525 UINT64_C(3846217728), // SST1W_D_IMM
5526 UINT64_C(3844120576), // SST1W_D_SCALED
5527 UINT64_C(3842031616), // SST1W_D_SXTW
5528 UINT64_C(3844128768), // SST1W_D_SXTW_SCALED
5529 UINT64_C(3842015232), // SST1W_D_UXTW
5530 UINT64_C(3844112384), // SST1W_D_UXTW_SCALED
5531 UINT64_C(3848314880), // SST1W_IMM
5532 UINT64_C(3846225920), // SST1W_SXTW
5533 UINT64_C(3848323072), // SST1W_SXTW_SCALED
5534 UINT64_C(3846209536), // SST1W_UXTW
5535 UINT64_C(3848306688), // SST1W_UXTW_SCALED
5536 UINT64_C(1170245632), // SSUBLBT_ZZZ_D
5537 UINT64_C(1161857024), // SSUBLBT_ZZZ_H
5538 UINT64_C(1166051328), // SSUBLBT_ZZZ_S
5539 UINT64_C(1170214912), // SSUBLB_ZZZ_D
5540 UINT64_C(1161826304), // SSUBLB_ZZZ_H
5541 UINT64_C(1166020608), // SSUBLB_ZZZ_S
5542 UINT64_C(1170246656), // SSUBLTB_ZZZ_D
5543 UINT64_C(1161858048), // SSUBLTB_ZZZ_H
5544 UINT64_C(1166052352), // SSUBLTB_ZZZ_S
5545 UINT64_C(1170215936), // SSUBLT_ZZZ_D
5546 UINT64_C(1161827328), // SSUBLT_ZZZ_H
5547 UINT64_C(1166021632), // SSUBLT_ZZZ_S
5548 UINT64_C(1310728192), // SSUBLv16i8_v8i16
5549 UINT64_C(245374976), // SSUBLv2i32_v2i64
5550 UINT64_C(241180672), // SSUBLv4i16_v4i32
5551 UINT64_C(1319116800), // SSUBLv4i32_v2i64
5552 UINT64_C(1314922496), // SSUBLv8i16_v4i32
5553 UINT64_C(236986368), // SSUBLv8i8_v8i16
5554 UINT64_C(1170231296), // SSUBWB_ZZZ_D
5555 UINT64_C(1161842688), // SSUBWB_ZZZ_H
5556 UINT64_C(1166036992), // SSUBWB_ZZZ_S
5557 UINT64_C(1170232320), // SSUBWT_ZZZ_D
5558 UINT64_C(1161843712), // SSUBWT_ZZZ_H
5559 UINT64_C(1166038016), // SSUBWT_ZZZ_S
5560 UINT64_C(1310732288), // SSUBWv16i8_v8i16
5561 UINT64_C(245379072), // SSUBWv2i32_v2i64
5562 UINT64_C(241184768), // SSUBWv4i16_v4i32
5563 UINT64_C(1319120896), // SSUBWv4i32_v2i64
5564 UINT64_C(1314926592), // SSUBWv8i16_v4i32
5565 UINT64_C(236990464), // SSUBWv8i8_v8i16
5566 UINT64_C(3825221632), // ST1B
5567 UINT64_C(2686451712), // ST1B_2Z
5568 UINT64_C(2690646016), // ST1B_2Z_IMM
5569 UINT64_C(2703228928), // ST1B_2Z_STRIDED
5570 UINT64_C(2707423232), // ST1B_2Z_STRIDED_IMM
5571 UINT64_C(2686484480), // ST1B_4Z
5572 UINT64_C(2690678784), // ST1B_4Z_IMM
5573 UINT64_C(2703261696), // ST1B_4Z_STRIDED
5574 UINT64_C(2707456000), // ST1B_4Z_STRIDED_IMM
5575 UINT64_C(3831513088), // ST1B_D
5576 UINT64_C(3831554048), // ST1B_D_IMM
5577 UINT64_C(3827318784), // ST1B_H
5578 UINT64_C(3827359744), // ST1B_H_IMM
5579 UINT64_C(3825262592), // ST1B_IMM
5580 UINT64_C(3829415936), // ST1B_S
5581 UINT64_C(3829456896), // ST1B_S_IMM
5582 UINT64_C(3856678912), // ST1D
5583 UINT64_C(2686476288), // ST1D_2Z
5584 UINT64_C(2690670592), // ST1D_2Z_IMM
5585 UINT64_C(2703253504), // ST1D_2Z_STRIDED
5586 UINT64_C(2707447808), // ST1D_2Z_STRIDED_IMM
5587 UINT64_C(2686509056), // ST1D_4Z
5588 UINT64_C(2690703360), // ST1D_4Z_IMM
5589 UINT64_C(2703286272), // ST1D_4Z_STRIDED
5590 UINT64_C(2707480576), // ST1D_4Z_STRIDED_IMM
5591 UINT64_C(3856719872), // ST1D_IMM
5592 UINT64_C(3854581760), // ST1D_Q
5593 UINT64_C(3854622720), // ST1D_Q_IMM
5594 UINT64_C(1275076608), // ST1Fourv16b
5595 UINT64_C(1283465216), // ST1Fourv16b_POST
5596 UINT64_C(201337856), // ST1Fourv1d
5597 UINT64_C(209726464), // ST1Fourv1d_POST
5598 UINT64_C(1275079680), // ST1Fourv2d
5599 UINT64_C(1283468288), // ST1Fourv2d_POST
5600 UINT64_C(201336832), // ST1Fourv2s
5601 UINT64_C(209725440), // ST1Fourv2s_POST
5602 UINT64_C(201335808), // ST1Fourv4h
5603 UINT64_C(209724416), // ST1Fourv4h_POST
5604 UINT64_C(1275078656), // ST1Fourv4s
5605 UINT64_C(1283467264), // ST1Fourv4s_POST
5606 UINT64_C(201334784), // ST1Fourv8b
5607 UINT64_C(209723392), // ST1Fourv8b_POST
5608 UINT64_C(1275077632), // ST1Fourv8h
5609 UINT64_C(1283466240), // ST1Fourv8h_POST
5610 UINT64_C(3835707392), // ST1H
5611 UINT64_C(2686459904), // ST1H_2Z
5612 UINT64_C(2690654208), // ST1H_2Z_IMM
5613 UINT64_C(2703237120), // ST1H_2Z_STRIDED
5614 UINT64_C(2707431424), // ST1H_2Z_STRIDED_IMM
5615 UINT64_C(2686492672), // ST1H_4Z
5616 UINT64_C(2690686976), // ST1H_4Z_IMM
5617 UINT64_C(2703269888), // ST1H_4Z_STRIDED
5618 UINT64_C(2707464192), // ST1H_4Z_STRIDED_IMM
5619 UINT64_C(3839901696), // ST1H_D
5620 UINT64_C(3839942656), // ST1H_D_IMM
5621 UINT64_C(3835748352), // ST1H_IMM
5622 UINT64_C(3837804544), // ST1H_S
5623 UINT64_C(3837845504), // ST1H_S_IMM
5624 UINT64_C(1275097088), // ST1Onev16b
5625 UINT64_C(1283485696), // ST1Onev16b_POST
5626 UINT64_C(201358336), // ST1Onev1d
5627 UINT64_C(209746944), // ST1Onev1d_POST
5628 UINT64_C(1275100160), // ST1Onev2d
5629 UINT64_C(1283488768), // ST1Onev2d_POST
5630 UINT64_C(201357312), // ST1Onev2s
5631 UINT64_C(209745920), // ST1Onev2s_POST
5632 UINT64_C(201356288), // ST1Onev4h
5633 UINT64_C(209744896), // ST1Onev4h_POST
5634 UINT64_C(1275099136), // ST1Onev4s
5635 UINT64_C(1283487744), // ST1Onev4s_POST
5636 UINT64_C(201355264), // ST1Onev8b
5637 UINT64_C(209743872), // ST1Onev8b_POST
5638 UINT64_C(1275098112), // ST1Onev8h
5639 UINT64_C(1283486720), // ST1Onev8h_POST
5640 UINT64_C(1275092992), // ST1Threev16b
5641 UINT64_C(1283481600), // ST1Threev16b_POST
5642 UINT64_C(201354240), // ST1Threev1d
5643 UINT64_C(209742848), // ST1Threev1d_POST
5644 UINT64_C(1275096064), // ST1Threev2d
5645 UINT64_C(1283484672), // ST1Threev2d_POST
5646 UINT64_C(201353216), // ST1Threev2s
5647 UINT64_C(209741824), // ST1Threev2s_POST
5648 UINT64_C(201352192), // ST1Threev4h
5649 UINT64_C(209740800), // ST1Threev4h_POST
5650 UINT64_C(1275095040), // ST1Threev4s
5651 UINT64_C(1283483648), // ST1Threev4s_POST
5652 UINT64_C(201351168), // ST1Threev8b
5653 UINT64_C(209739776), // ST1Threev8b_POST
5654 UINT64_C(1275094016), // ST1Threev8h
5655 UINT64_C(1283482624), // ST1Threev8h_POST
5656 UINT64_C(1275109376), // ST1Twov16b
5657 UINT64_C(1283497984), // ST1Twov16b_POST
5658 UINT64_C(201370624), // ST1Twov1d
5659 UINT64_C(209759232), // ST1Twov1d_POST
5660 UINT64_C(1275112448), // ST1Twov2d
5661 UINT64_C(1283501056), // ST1Twov2d_POST
5662 UINT64_C(201369600), // ST1Twov2s
5663 UINT64_C(209758208), // ST1Twov2s_POST
5664 UINT64_C(201368576), // ST1Twov4h
5665 UINT64_C(209757184), // ST1Twov4h_POST
5666 UINT64_C(1275111424), // ST1Twov4s
5667 UINT64_C(1283500032), // ST1Twov4s_POST
5668 UINT64_C(201367552), // ST1Twov8b
5669 UINT64_C(209756160), // ST1Twov8b_POST
5670 UINT64_C(1275110400), // ST1Twov8h
5671 UINT64_C(1283499008), // ST1Twov8h_POST
5672 UINT64_C(3846193152), // ST1W
5673 UINT64_C(2686468096), // ST1W_2Z
5674 UINT64_C(2690662400), // ST1W_2Z_IMM
5675 UINT64_C(2703245312), // ST1W_2Z_STRIDED
5676 UINT64_C(2707439616), // ST1W_2Z_STRIDED_IMM
5677 UINT64_C(2686500864), // ST1W_4Z
5678 UINT64_C(2690695168), // ST1W_4Z_IMM
5679 UINT64_C(2703278080), // ST1W_4Z_STRIDED
5680 UINT64_C(2707472384), // ST1W_4Z_STRIDED_IMM
5681 UINT64_C(3848290304), // ST1W_D
5682 UINT64_C(3848331264), // ST1W_D_IMM
5683 UINT64_C(3846234112), // ST1W_IMM
5684 UINT64_C(3841998848), // ST1W_Q
5685 UINT64_C(3842039808), // ST1W_Q_IMM
5686 UINT64_C(3760193536), // ST1_MXIPXX_H_B
5687 UINT64_C(3772776448), // ST1_MXIPXX_H_D
5688 UINT64_C(3764387840), // ST1_MXIPXX_H_H
5689 UINT64_C(3789553664), // ST1_MXIPXX_H_Q
5690 UINT64_C(3768582144), // ST1_MXIPXX_H_S
5691 UINT64_C(3760226304), // ST1_MXIPXX_V_B
5692 UINT64_C(3772809216), // ST1_MXIPXX_V_D
5693 UINT64_C(3764420608), // ST1_MXIPXX_V_H
5694 UINT64_C(3789586432), // ST1_MXIPXX_V_Q
5695 UINT64_C(3768614912), // ST1_MXIPXX_V_S
5696 UINT64_C(218120192), // ST1i16
5697 UINT64_C(226508800), // ST1i16_POST
5698 UINT64_C(218136576), // ST1i32
5699 UINT64_C(226525184), // ST1i32_POST
5700 UINT64_C(218137600), // ST1i64
5701 UINT64_C(226526208), // ST1i64_POST
5702 UINT64_C(218103808), // ST1i8
5703 UINT64_C(226492416), // ST1i8_POST
5704 UINT64_C(3827326976), // ST2B
5705 UINT64_C(3828408320), // ST2B_IMM
5706 UINT64_C(3852492800), // ST2D
5707 UINT64_C(3853574144), // ST2D_IMM
5708 UINT64_C(3651142656), // ST2GPostIndex
5709 UINT64_C(3651144704), // ST2GPreIndex
5710 UINT64_C(3651143680), // ST2Gi
5711 UINT64_C(3835715584), // ST2H
5712 UINT64_C(3836796928), // ST2H_IMM
5713 UINT64_C(3831496704), // ST2Q
5714 UINT64_C(3829399552), // ST2Q_IMM
5715 UINT64_C(1275101184), // ST2Twov16b
5716 UINT64_C(1283489792), // ST2Twov16b_POST
5717 UINT64_C(1275104256), // ST2Twov2d
5718 UINT64_C(1283492864), // ST2Twov2d_POST
5719 UINT64_C(201361408), // ST2Twov2s
5720 UINT64_C(209750016), // ST2Twov2s_POST
5721 UINT64_C(201360384), // ST2Twov4h
5722 UINT64_C(209748992), // ST2Twov4h_POST
5723 UINT64_C(1275103232), // ST2Twov4s
5724 UINT64_C(1283491840), // ST2Twov4s_POST
5725 UINT64_C(201359360), // ST2Twov8b
5726 UINT64_C(209747968), // ST2Twov8b_POST
5727 UINT64_C(1275102208), // ST2Twov8h
5728 UINT64_C(1283490816), // ST2Twov8h_POST
5729 UINT64_C(3844104192), // ST2W
5730 UINT64_C(3845185536), // ST2W_IMM
5731 UINT64_C(220217344), // ST2i16
5732 UINT64_C(228605952), // ST2i16_POST
5733 UINT64_C(220233728), // ST2i32
5734 UINT64_C(228622336), // ST2i32_POST
5735 UINT64_C(220234752), // ST2i64
5736 UINT64_C(228623360), // ST2i64_POST
5737 UINT64_C(220200960), // ST2i8
5738 UINT64_C(228589568), // ST2i8_POST
5739 UINT64_C(3829424128), // ST3B
5740 UINT64_C(3830505472), // ST3B_IMM
5741 UINT64_C(3854589952), // ST3D
5742 UINT64_C(3855671296), // ST3D_IMM
5743 UINT64_C(3837812736), // ST3H
5744 UINT64_C(3838894080), // ST3H_IMM
5745 UINT64_C(3835691008), // ST3Q
5746 UINT64_C(3833593856), // ST3Q_IMM
5747 UINT64_C(1275084800), // ST3Threev16b
5748 UINT64_C(1283473408), // ST3Threev16b_POST
5749 UINT64_C(1275087872), // ST3Threev2d
5750 UINT64_C(1283476480), // ST3Threev2d_POST
5751 UINT64_C(201345024), // ST3Threev2s
5752 UINT64_C(209733632), // ST3Threev2s_POST
5753 UINT64_C(201344000), // ST3Threev4h
5754 UINT64_C(209732608), // ST3Threev4h_POST
5755 UINT64_C(1275086848), // ST3Threev4s
5756 UINT64_C(1283475456), // ST3Threev4s_POST
5757 UINT64_C(201342976), // ST3Threev8b
5758 UINT64_C(209731584), // ST3Threev8b_POST
5759 UINT64_C(1275085824), // ST3Threev8h
5760 UINT64_C(1283474432), // ST3Threev8h_POST
5761 UINT64_C(3846201344), // ST3W
5762 UINT64_C(3847282688), // ST3W_IMM
5763 UINT64_C(218128384), // ST3i16
5764 UINT64_C(226516992), // ST3i16_POST
5765 UINT64_C(218144768), // ST3i32
5766 UINT64_C(226533376), // ST3i32_POST
5767 UINT64_C(218145792), // ST3i64
5768 UINT64_C(226534400), // ST3i64_POST
5769 UINT64_C(218112000), // ST3i8
5770 UINT64_C(226500608), // ST3i8_POST
5771 UINT64_C(3831521280), // ST4B
5772 UINT64_C(3832602624), // ST4B_IMM
5773 UINT64_C(3856687104), // ST4D
5774 UINT64_C(3857768448), // ST4D_IMM
5775 UINT64_C(1275068416), // ST4Fourv16b
5776 UINT64_C(1283457024), // ST4Fourv16b_POST
5777 UINT64_C(1275071488), // ST4Fourv2d
5778 UINT64_C(1283460096), // ST4Fourv2d_POST
5779 UINT64_C(201328640), // ST4Fourv2s
5780 UINT64_C(209717248), // ST4Fourv2s_POST
5781 UINT64_C(201327616), // ST4Fourv4h
5782 UINT64_C(209716224), // ST4Fourv4h_POST
5783 UINT64_C(1275070464), // ST4Fourv4s
5784 UINT64_C(1283459072), // ST4Fourv4s_POST
5785 UINT64_C(201326592), // ST4Fourv8b
5786 UINT64_C(209715200), // ST4Fourv8b_POST
5787 UINT64_C(1275069440), // ST4Fourv8h
5788 UINT64_C(1283458048), // ST4Fourv8h_POST
5789 UINT64_C(3839909888), // ST4H
5790 UINT64_C(3840991232), // ST4H_IMM
5791 UINT64_C(3839885312), // ST4Q
5792 UINT64_C(3837788160), // ST4Q_IMM
5793 UINT64_C(3848298496), // ST4W
5794 UINT64_C(3849379840), // ST4W_IMM
5795 UINT64_C(220225536), // ST4i16
5796 UINT64_C(228614144), // ST4i16_POST
5797 UINT64_C(220241920), // ST4i32
5798 UINT64_C(228630528), // ST4i32_POST
5799 UINT64_C(220242944), // ST4i64
5800 UINT64_C(228631552), // ST4i64_POST
5801 UINT64_C(220209152), // ST4i8
5802 UINT64_C(228597760), // ST4i8_POST
5803 UINT64_C(4164915200), // ST64B
5804 UINT64_C(4162891776), // ST64BV
5805 UINT64_C(4162887680), // ST64BV0
5806 UINT64_C(1008762911), // STBFADD
5807 UINT64_C(1012957215), // STBFADDL
5808 UINT64_C(1008779295), // STBFMAX
5809 UINT64_C(1012973599), // STBFMAXL
5810 UINT64_C(1008787487), // STBFMAXNM
5811 UINT64_C(1012981791), // STBFMAXNML
5812 UINT64_C(1008783391), // STBFMIN
5813 UINT64_C(1012977695), // STBFMINL
5814 UINT64_C(1008791583), // STBFMINNM
5815 UINT64_C(1012985887), // STBFMINNML
5816 UINT64_C(3573753503), // STCPH
5817 UINT64_C(4229988383), // STFADDD
5818 UINT64_C(2082504735), // STFADDH
5819 UINT64_C(4234182687), // STFADDLD
5820 UINT64_C(2086699039), // STFADDLH
5821 UINT64_C(3160440863), // STFADDLS
5822 UINT64_C(3156246559), // STFADDS
5823 UINT64_C(4230004767), // STFMAXD
5824 UINT64_C(2082521119), // STFMAXH
5825 UINT64_C(4234199071), // STFMAXLD
5826 UINT64_C(2086715423), // STFMAXLH
5827 UINT64_C(3160457247), // STFMAXLS
5828 UINT64_C(4230012959), // STFMAXNMD
5829 UINT64_C(2082529311), // STFMAXNMH
5830 UINT64_C(4234207263), // STFMAXNMLD
5831 UINT64_C(2086723615), // STFMAXNMLH
5832 UINT64_C(3160465439), // STFMAXNMLS
5833 UINT64_C(3156271135), // STFMAXNMS
5834 UINT64_C(3156262943), // STFMAXS
5835 UINT64_C(4230008863), // STFMIND
5836 UINT64_C(2082525215), // STFMINH
5837 UINT64_C(4234203167), // STFMINLD
5838 UINT64_C(2086719519), // STFMINLH
5839 UINT64_C(3160461343), // STFMINLS
5840 UINT64_C(4230017055), // STFMINNMD
5841 UINT64_C(2082533407), // STFMINNMH
5842 UINT64_C(4234211359), // STFMINNMLD
5843 UINT64_C(2086727711), // STFMINNMLH
5844 UINT64_C(3160469535), // STFMINNMLS
5845 UINT64_C(3156275231), // STFMINNMS
5846 UINT64_C(3156267039), // STFMINS
5847 UINT64_C(3651141632), // STGM
5848 UINT64_C(1761607680), // STGPi
5849 UINT64_C(3642754048), // STGPostIndex
5850 UINT64_C(1753219072), // STGPpost
5851 UINT64_C(1769996288), // STGPpre
5852 UINT64_C(3642756096), // STGPreIndex
5853 UINT64_C(3642755072), // STGi
5854 UINT64_C(2566920192), // STILPW
5855 UINT64_C(2566916096), // STILPWpre
5856 UINT64_C(3640662016), // STILPX
5857 UINT64_C(3640657920), // STILPXpre
5858 UINT64_C(218203136), // STL1
5859 UINT64_C(144669696), // STLLRB
5860 UINT64_C(1218411520), // STLLRH
5861 UINT64_C(2292153344), // STLLRW
5862 UINT64_C(3365895168), // STLLRX
5863 UINT64_C(3640678400), // STLPi
5864 UINT64_C(144702464), // STLRB
5865 UINT64_C(1218444288), // STLRH
5866 UINT64_C(2292186112), // STLRW
5867 UINT64_C(2575304704), // STLRWpre
5868 UINT64_C(3365927936), // STLRX
5869 UINT64_C(3649046528), // STLRXpre
5870 UINT64_C(2298543104), // STLTXRW
5871 UINT64_C(3372284928), // STLTXRX
5872 UINT64_C(419430400), // STLURBi
5873 UINT64_C(1493172224), // STLURHi
5874 UINT64_C(2566914048), // STLURWi
5875 UINT64_C(3640655872), // STLURXi
5876 UINT64_C(486541312), // STLURbi
5877 UINT64_C(3707766784), // STLURdi
5878 UINT64_C(1560283136), // STLURhi
5879 UINT64_C(494929920), // STLURqi
5880 UINT64_C(2634024960), // STLURsi
5881 UINT64_C(2283831296), // STLXPW
5882 UINT64_C(3357573120), // STLXPX
5883 UINT64_C(134282240), // STLXRB
5884 UINT64_C(1208024064), // STLXRH
5885 UINT64_C(2281765888), // STLXRW
5886 UINT64_C(3355507712), // STLXRX
5887 UINT64_C(2151710720), // STMOPA_M2ZZZI_BtoS
5888 UINT64_C(2151710728), // STMOPA_M2ZZZI_HtoS
5889 UINT64_C(1811939328), // STNPDi
5890 UINT64_C(2885681152), // STNPQi
5891 UINT64_C(738197504), // STNPSi
5892 UINT64_C(671088640), // STNPWi
5893 UINT64_C(2818572288), // STNPXi
5894 UINT64_C(2686451713), // STNT1B_2Z
5895 UINT64_C(2690646017), // STNT1B_2Z_IMM
5896 UINT64_C(2703228936), // STNT1B_2Z_STRIDED
5897 UINT64_C(2707423240), // STNT1B_2Z_STRIDED_IMM
5898 UINT64_C(2686484481), // STNT1B_4Z
5899 UINT64_C(2690678785), // STNT1B_4Z_IMM
5900 UINT64_C(2703261704), // STNT1B_4Z_STRIDED
5901 UINT64_C(2707456008), // STNT1B_4Z_STRIDED_IMM
5902 UINT64_C(3826311168), // STNT1B_ZRI
5903 UINT64_C(3825229824), // STNT1B_ZRR
5904 UINT64_C(3825213440), // STNT1B_ZZR_D
5905 UINT64_C(3829407744), // STNT1B_ZZR_S
5906 UINT64_C(2686476289), // STNT1D_2Z
5907 UINT64_C(2690670593), // STNT1D_2Z_IMM
5908 UINT64_C(2703253512), // STNT1D_2Z_STRIDED
5909 UINT64_C(2707447816), // STNT1D_2Z_STRIDED_IMM
5910 UINT64_C(2686509057), // STNT1D_4Z
5911 UINT64_C(2690703361), // STNT1D_4Z_IMM
5912 UINT64_C(2703286280), // STNT1D_4Z_STRIDED
5913 UINT64_C(2707480584), // STNT1D_4Z_STRIDED_IMM
5914 UINT64_C(3851476992), // STNT1D_ZRI
5915 UINT64_C(3850395648), // STNT1D_ZRR
5916 UINT64_C(3850379264), // STNT1D_ZZR_D
5917 UINT64_C(2686459905), // STNT1H_2Z
5918 UINT64_C(2690654209), // STNT1H_2Z_IMM
5919 UINT64_C(2703237128), // STNT1H_2Z_STRIDED
5920 UINT64_C(2707431432), // STNT1H_2Z_STRIDED_IMM
5921 UINT64_C(2686492673), // STNT1H_4Z
5922 UINT64_C(2690686977), // STNT1H_4Z_IMM
5923 UINT64_C(2703269896), // STNT1H_4Z_STRIDED
5924 UINT64_C(2707464200), // STNT1H_4Z_STRIDED_IMM
5925 UINT64_C(3834699776), // STNT1H_ZRI
5926 UINT64_C(3833618432), // STNT1H_ZRR
5927 UINT64_C(3833602048), // STNT1H_ZZR_D
5928 UINT64_C(3837796352), // STNT1H_ZZR_S
5929 UINT64_C(2686468097), // STNT1W_2Z
5930 UINT64_C(2690662401), // STNT1W_2Z_IMM
5931 UINT64_C(2703245320), // STNT1W_2Z_STRIDED
5932 UINT64_C(2707439624), // STNT1W_2Z_STRIDED_IMM
5933 UINT64_C(2686500865), // STNT1W_4Z
5934 UINT64_C(2690695169), // STNT1W_4Z_IMM
5935 UINT64_C(2703278088), // STNT1W_4Z_STRIDED
5936 UINT64_C(2707472392), // STNT1W_4Z_STRIDED_IMM
5937 UINT64_C(3843088384), // STNT1W_ZRI
5938 UINT64_C(3842007040), // STNT1W_ZRR
5939 UINT64_C(3841990656), // STNT1W_ZZR_D
5940 UINT64_C(3846184960), // STNT1W_ZZR_S
5941 UINT64_C(1828716544), // STPDi
5942 UINT64_C(1820327936), // STPDpost
5943 UINT64_C(1837105152), // STPDpre
5944 UINT64_C(2902458368), // STPQi
5945 UINT64_C(2894069760), // STPQpost
5946 UINT64_C(2910846976), // STPQpre
5947 UINT64_C(754974720), // STPSi
5948 UINT64_C(746586112), // STPSpost
5949 UINT64_C(763363328), // STPSpre
5950 UINT64_C(687865856), // STPWi
5951 UINT64_C(679477248), // STPWpost
5952 UINT64_C(696254464), // STPWpre
5953 UINT64_C(2835349504), // STPXi
5954 UINT64_C(2826960896), // STPXpost
5955 UINT64_C(2843738112), // STPXpre
5956 UINT64_C(939525120), // STRBBpost
5957 UINT64_C(939527168), // STRBBpre
5958 UINT64_C(941639680), // STRBBroW
5959 UINT64_C(941647872), // STRBBroX
5960 UINT64_C(956301312), // STRBBui
5961 UINT64_C(1006633984), // STRBpost
5962 UINT64_C(1006636032), // STRBpre
5963 UINT64_C(1008748544), // STRBroW
5964 UINT64_C(1008756736), // STRBroX
5965 UINT64_C(1023410176), // STRBui
5966 UINT64_C(4227859456), // STRDpost
5967 UINT64_C(4227861504), // STRDpre
5968 UINT64_C(4229974016), // STRDroW
5969 UINT64_C(4229982208), // STRDroX
5970 UINT64_C(4244635648), // STRDui
5971 UINT64_C(2013266944), // STRHHpost
5972 UINT64_C(2013268992), // STRHHpre
5973 UINT64_C(2015381504), // STRHHroW
5974 UINT64_C(2015389696), // STRHHroX
5975 UINT64_C(2030043136), // STRHHui
5976 UINT64_C(2080375808), // STRHpost
5977 UINT64_C(2080377856), // STRHpre
5978 UINT64_C(2082490368), // STRHroW
5979 UINT64_C(2082498560), // STRHroX
5980 UINT64_C(2097152000), // STRHui
5981 UINT64_C(1015022592), // STRQpost
5982 UINT64_C(1015024640), // STRQpre
5983 UINT64_C(1017137152), // STRQroW
5984 UINT64_C(1017145344), // STRQroX
5985 UINT64_C(1031798784), // STRQui
5986 UINT64_C(3154117632), // STRSpost
5987 UINT64_C(3154119680), // STRSpre
5988 UINT64_C(3156232192), // STRSroW
5989 UINT64_C(3156240384), // STRSroX
5990 UINT64_C(3170893824), // STRSui
5991 UINT64_C(3087008768), // STRWpost
5992 UINT64_C(3087010816), // STRWpre
5993 UINT64_C(3089123328), // STRWroW
5994 UINT64_C(3089131520), // STRWroX
5995 UINT64_C(3103784960), // STRWui
5996 UINT64_C(4160750592), // STRXpost
5997 UINT64_C(4160752640), // STRXpre
5998 UINT64_C(4162865152), // STRXroW
5999 UINT64_C(4162873344), // STRXroX
6000 UINT64_C(4177526784), // STRXui
6001 UINT64_C(3850371072), // STR_PXI
6002 UINT64_C(3779035136), // STR_TX
6003 UINT64_C(3776970752), // STR_ZA
6004 UINT64_C(3850387456), // STR_ZXI
6005 UINT64_C(3573753375), // STSHH
6006 UINT64_C(3959422976), // STTNPQi
6007 UINT64_C(3892314112), // STTNPXi
6008 UINT64_C(3976200192), // STTPQi
6009 UINT64_C(3967811584), // STTPQpost
6010 UINT64_C(3984588800), // STTPQpre
6011 UINT64_C(3909091328), // STTPi
6012 UINT64_C(3900702720), // STTPpost
6013 UINT64_C(3917479936), // STTPpre
6014 UINT64_C(939526144), // STTRBi
6015 UINT64_C(2013267968), // STTRHi
6016 UINT64_C(3087009792), // STTRWi
6017 UINT64_C(4160751616), // STTRXi
6018 UINT64_C(2298510336), // STTXRWr
6019 UINT64_C(3372252160), // STTXRXr
6020 UINT64_C(939524096), // STURBBi
6021 UINT64_C(1006632960), // STURBi
6022 UINT64_C(4227858432), // STURDi
6023 UINT64_C(2013265920), // STURHHi
6024 UINT64_C(2080374784), // STURHi
6025 UINT64_C(1015021568), // STURQi
6026 UINT64_C(3154116608), // STURSi
6027 UINT64_C(3087007744), // STURWi
6028 UINT64_C(4160749568), // STURXi
6029 UINT64_C(2283798528), // STXPW
6030 UINT64_C(3357540352), // STXPX
6031 UINT64_C(134249472), // STXRB
6032 UINT64_C(1207991296), // STXRH
6033 UINT64_C(2281733120), // STXRW
6034 UINT64_C(3355474944), // STXRX
6035 UINT64_C(3655336960), // STZ2GPostIndex
6036 UINT64_C(3655339008), // STZ2GPreIndex
6037 UINT64_C(3655337984), // STZ2Gi
6038 UINT64_C(3642753024), // STZGM
6039 UINT64_C(3646948352), // STZGPostIndex
6040 UINT64_C(3646950400), // STZGPreIndex
6041 UINT64_C(3646949376), // STZGi
6042 UINT64_C(3514826752), // SUBG
6043 UINT64_C(1163948032), // SUBHNB_ZZZ_B
6044 UINT64_C(1168142336), // SUBHNB_ZZZ_H
6045 UINT64_C(1172336640), // SUBHNB_ZZZ_S
6046 UINT64_C(1163949056), // SUBHNT_ZZZ_B
6047 UINT64_C(1168143360), // SUBHNT_ZZZ_H
6048 UINT64_C(1172337664), // SUBHNT_ZZZ_S
6049 UINT64_C(245391360), // SUBHNv2i64_v2i32
6050 UINT64_C(1319133184), // SUBHNv2i64_v4i32
6051 UINT64_C(241197056), // SUBHNv4i32_v4i16
6052 UINT64_C(1314938880), // SUBHNv4i32_v8i16
6053 UINT64_C(1310744576), // SUBHNv8i16_v16i8
6054 UINT64_C(237002752), // SUBHNv8i16_v8i8
6055 UINT64_C(2596274176), // SUBP
6056 UINT64_C(3133145088), // SUBPS
6057 UINT64_C(3657441280), // SUBPT_shift
6058 UINT64_C(1141940224), // SUBP_ZPmZZ_B
6059 UINT64_C(1154523136), // SUBP_ZPmZZ_D
6060 UINT64_C(1146134528), // SUBP_ZPmZZ_H
6061 UINT64_C(1150328832), // SUBP_ZPmZZ_S
6062 UINT64_C(623099904), // SUBR_ZI_B
6063 UINT64_C(635682816), // SUBR_ZI_D
6064 UINT64_C(627294208), // SUBR_ZI_H
6065 UINT64_C(631488512), // SUBR_ZI_S
6066 UINT64_C(67305472), // SUBR_ZPmZ_B
6067 UINT64_C(79888384), // SUBR_ZPmZ_D
6068 UINT64_C(71499776), // SUBR_ZPmZ_H
6069 UINT64_C(75694080), // SUBR_ZPmZ_S
6070 UINT64_C(1895825408), // SUBSWri
6071 UINT64_C(1795162112), // SUBSWrs
6072 UINT64_C(1797259264), // SUBSWrx
6073 UINT64_C(4043309056), // SUBSXri
6074 UINT64_C(3942645760), // SUBSXrs
6075 UINT64_C(3944742912), // SUBSXrx
6076 UINT64_C(3944767488), // SUBSXrx64
6077 UINT64_C(1358954496), // SUBWri
6078 UINT64_C(1258291200), // SUBWrs
6079 UINT64_C(1260388352), // SUBWrx
6080 UINT64_C(3506438144), // SUBXri
6081 UINT64_C(3405774848), // SUBXrs
6082 UINT64_C(3407872000), // SUBXrx
6083 UINT64_C(3407896576), // SUBXrx64
6084 UINT64_C(3252688920), // SUB_VG2_M2Z2Z_D
6085 UINT64_C(3248494616), // SUB_VG2_M2Z2Z_S
6086 UINT64_C(3244300312), // SUB_VG2_M2ZZ_D
6087 UINT64_C(3240106008), // SUB_VG2_M2ZZ_S
6088 UINT64_C(3252689944), // SUB_VG2_M2Z_D
6089 UINT64_C(3248495640), // SUB_VG2_M2Z_S
6090 UINT64_C(3252754456), // SUB_VG4_M4Z4Z_D
6091 UINT64_C(3248560152), // SUB_VG4_M4Z4Z_S
6092 UINT64_C(3245348888), // SUB_VG4_M4ZZ_D
6093 UINT64_C(3241154584), // SUB_VG4_M4ZZ_S
6094 UINT64_C(3252755480), // SUB_VG4_M4Z_D
6095 UINT64_C(3248561176), // SUB_VG4_M4Z_S
6096 UINT64_C(622968832), // SUB_ZI_B
6097 UINT64_C(635551744), // SUB_ZI_D
6098 UINT64_C(627163136), // SUB_ZI_H
6099 UINT64_C(631357440), // SUB_ZI_S
6100 UINT64_C(67174400), // SUB_ZPmZ_B
6101 UINT64_C(80019456), // SUB_ZPmZ_CPA
6102 UINT64_C(79757312), // SUB_ZPmZ_D
6103 UINT64_C(71368704), // SUB_ZPmZ_H
6104 UINT64_C(75563008), // SUB_ZPmZ_S
6105 UINT64_C(69207040), // SUB_ZZZ_B
6106 UINT64_C(81792000), // SUB_ZZZ_CPA
6107 UINT64_C(81789952), // SUB_ZZZ_D
6108 UINT64_C(73401344), // SUB_ZZZ_H
6109 UINT64_C(77595648), // SUB_ZZZ_S
6110 UINT64_C(1847624704), // SUBv16i8
6111 UINT64_C(2128643072), // SUBv1i64
6112 UINT64_C(782271488), // SUBv2i32
6113 UINT64_C(1860207616), // SUBv2i64
6114 UINT64_C(778077184), // SUBv4i16
6115 UINT64_C(1856013312), // SUBv4i32
6116 UINT64_C(1851819008), // SUBv8i16
6117 UINT64_C(773882880), // SUBv8i8
6118 UINT64_C(3243249720), // SUDOT_VG2_M2ZZI_BToS
6119 UINT64_C(3240104984), // SUDOT_VG2_M2ZZ_BToS
6120 UINT64_C(3243282488), // SUDOT_VG4_M4ZZI_BToS
6121 UINT64_C(3241153560), // SUDOT_VG4_M4ZZ_BToS
6122 UINT64_C(1151343616), // SUDOT_ZZZI
6123 UINT64_C(1325461504), // SUDOTlanev16i8
6124 UINT64_C(251719680), // SUDOTlanev8i8
6125 UINT64_C(3238002708), // SUMLALL_MZZI_BtoS
6126 UINT64_C(3239051312), // SUMLALL_VG2_M2ZZI_BtoS
6127 UINT64_C(3240099860), // SUMLALL_VG2_M2ZZ_BtoS
6128 UINT64_C(3239084080), // SUMLALL_VG4_M4ZZI_BtoS
6129 UINT64_C(3241148436), // SUMLALL_VG4_M4ZZ_BtoS
6130 UINT64_C(2150662656), // SUMOP4A_M2Z2Z_BToS
6131 UINT64_C(2700083720), // SUMOP4A_M2Z2Z_HtoD
6132 UINT64_C(2149614080), // SUMOP4A_M2ZZ_BToS
6133 UINT64_C(2699035144), // SUMOP4A_M2ZZ_HtoD
6134 UINT64_C(2150662144), // SUMOP4A_MZ2Z_BToS
6135 UINT64_C(2700083208), // SUMOP4A_MZ2Z_HtoD
6136 UINT64_C(2149613568), // SUMOP4A_MZZ_BToS
6137 UINT64_C(2699034632), // SUMOP4A_MZZ_HtoD
6138 UINT64_C(2150662672), // SUMOP4S_M2Z2Z_BToS
6139 UINT64_C(2700083736), // SUMOP4S_M2Z2Z_HtoD
6140 UINT64_C(2149614096), // SUMOP4S_M2ZZ_BToS
6141 UINT64_C(2699035160), // SUMOP4S_M2ZZ_HtoD
6142 UINT64_C(2150662160), // SUMOP4S_MZ2Z_BToS
6143 UINT64_C(2700083224), // SUMOP4S_MZ2Z_HtoD
6144 UINT64_C(2149613584), // SUMOP4S_MZZ_BToS
6145 UINT64_C(2699034648), // SUMOP4S_MZZ_HtoD
6146 UINT64_C(2699034624), // SUMOPA_MPPZZ_D
6147 UINT64_C(2694840320), // SUMOPA_MPPZZ_S
6148 UINT64_C(2699034640), // SUMOPS_MPPZZ_D
6149 UINT64_C(2694840336), // SUMOPS_MPPZZ_S
6150 UINT64_C(99694592), // SUNPKHI_ZZ_D
6151 UINT64_C(91305984), // SUNPKHI_ZZ_H
6152 UINT64_C(95500288), // SUNPKHI_ZZ_S
6153 UINT64_C(99629056), // SUNPKLO_ZZ_D
6154 UINT64_C(91240448), // SUNPKLO_ZZ_H
6155 UINT64_C(95434752), // SUNPKLO_ZZ_S
6156 UINT64_C(3253067776), // SUNPK_VG2_2ZZ_D
6157 UINT64_C(3244679168), // SUNPK_VG2_2ZZ_H
6158 UINT64_C(3248873472), // SUNPK_VG2_2ZZ_S
6159 UINT64_C(3254116352), // SUNPK_VG4_4Z2Z_D
6160 UINT64_C(3245727744), // SUNPK_VG4_4Z2Z_H
6161 UINT64_C(3249922048), // SUNPK_VG4_4Z2Z_S
6162 UINT64_C(1142718464), // SUQADD_ZPmZ_B
6163 UINT64_C(1155301376), // SUQADD_ZPmZ_D
6164 UINT64_C(1146912768), // SUQADD_ZPmZ_H
6165 UINT64_C(1151107072), // SUQADD_ZPmZ_S
6166 UINT64_C(1310734336), // SUQADDv16i8
6167 UINT64_C(1583364096), // SUQADDv1i16
6168 UINT64_C(1587558400), // SUQADDv1i32
6169 UINT64_C(1591752704), // SUQADDv1i64
6170 UINT64_C(1579169792), // SUQADDv1i8
6171 UINT64_C(245381120), // SUQADDv2i32
6172 UINT64_C(1323317248), // SUQADDv2i64
6173 UINT64_C(241186816), // SUQADDv4i16
6174 UINT64_C(1319122944), // SUQADDv4i32
6175 UINT64_C(1314928640), // SUQADDv8i16
6176 UINT64_C(236992512), // SUQADDv8i8
6177 UINT64_C(2153807872), // SUTMOPA_M2ZZZI_BtoS
6178 UINT64_C(3243278392), // SUVDOT_VG4_M4ZZI_BToS
6179 UINT64_C(3556769793), // SVC
6180 UINT64_C(3243245600), // SVDOT_VG2_M2ZZI_HtoS
6181 UINT64_C(3243278368), // SVDOT_VG4_M4ZZI_BtoS
6182 UINT64_C(3251669000), // SVDOT_VG4_M4ZZI_HtoD
6183 UINT64_C(950042624), // SWPAB
6184 UINT64_C(2023784448), // SWPAH
6185 UINT64_C(954236928), // SWPALB
6186 UINT64_C(2027978752), // SWPALH
6187 UINT64_C(3101720576), // SWPALW
6188 UINT64_C(4175462400), // SWPALX
6189 UINT64_C(3097526272), // SWPAW
6190 UINT64_C(4171268096), // SWPAX
6191 UINT64_C(941654016), // SWPB
6192 UINT64_C(2015395840), // SWPH
6193 UINT64_C(945848320), // SWPLB
6194 UINT64_C(2019590144), // SWPLH
6195 UINT64_C(3093331968), // SWPLW
6196 UINT64_C(4167073792), // SWPLX
6197 UINT64_C(421560320), // SWPP
6198 UINT64_C(429948928), // SWPPA
6199 UINT64_C(434143232), // SWPPAL
6200 UINT64_C(425754624), // SWPPL
6201 UINT64_C(434144256), // SWPTALW
6202 UINT64_C(1507886080), // SWPTALX
6203 UINT64_C(429949952), // SWPTAW
6204 UINT64_C(1503691776), // SWPTAX
6205 UINT64_C(425755648), // SWPTLW
6206 UINT64_C(1499497472), // SWPTLX
6207 UINT64_C(421561344), // SWPTW
6208 UINT64_C(1495303168), // SWPTX
6209 UINT64_C(3089137664), // SWPW
6210 UINT64_C(4162879488), // SWPX
6211 UINT64_C(80781312), // SXTB_ZPmZ_D
6212 UINT64_C(72392704), // SXTB_ZPmZ_H
6213 UINT64_C(76587008), // SXTB_ZPmZ_S
6214 UINT64_C(79732736), // SXTB_ZPzZ_D
6215 UINT64_C(71344128), // SXTB_ZPzZ_H
6216 UINT64_C(75538432), // SXTB_ZPzZ_S
6217 UINT64_C(80912384), // SXTH_ZPmZ_D
6218 UINT64_C(76718080), // SXTH_ZPmZ_S
6219 UINT64_C(79863808), // SXTH_ZPzZ_D
6220 UINT64_C(75669504), // SXTH_ZPzZ_S
6221 UINT64_C(81043456), // SXTW_ZPmZ_D
6222 UINT64_C(79994880), // SXTW_ZPzZ_D
6223 UINT64_C(3576168448), // SYSLxt
6224 UINT64_C(3578265600), // SYSPxt
6225 UINT64_C(3578265631), // SYSPxt_XZR
6226 UINT64_C(3574071296), // SYSxt
6227 UINT64_C(1140914176), // TBLQ_ZZZ_B
6228 UINT64_C(1153497088), // TBLQ_ZZZ_D
6229 UINT64_C(1145108480), // TBLQ_ZZZ_H
6230 UINT64_C(1149302784), // TBLQ_ZZZ_S
6231 UINT64_C(85993472), // TBL_ZZZZ_B
6232 UINT64_C(98576384), // TBL_ZZZZ_D
6233 UINT64_C(90187776), // TBL_ZZZZ_H
6234 UINT64_C(94382080), // TBL_ZZZZ_S
6235 UINT64_C(85995520), // TBL_ZZZ_B
6236 UINT64_C(98578432), // TBL_ZZZ_D
6237 UINT64_C(90189824), // TBL_ZZZ_H
6238 UINT64_C(94384128), // TBL_ZZZ_S
6239 UINT64_C(1308647424), // TBLv16i8Four
6240 UINT64_C(1308622848), // TBLv16i8One
6241 UINT64_C(1308639232), // TBLv16i8Three
6242 UINT64_C(1308631040), // TBLv16i8Two
6243 UINT64_C(234905600), // TBLv8i8Four
6244 UINT64_C(234881024), // TBLv8i8One
6245 UINT64_C(234897408), // TBLv8i8Three
6246 UINT64_C(234889216), // TBLv8i8Two
6247 UINT64_C(922746880), // TBNZW
6248 UINT64_C(3070230528), // TBNZX
6249 UINT64_C(85996544), // TBXQ_ZZZ_B
6250 UINT64_C(98579456), // TBXQ_ZZZ_D
6251 UINT64_C(90190848), // TBXQ_ZZZ_H
6252 UINT64_C(94385152), // TBXQ_ZZZ_S
6253 UINT64_C(85994496), // TBX_ZZZ_B
6254 UINT64_C(98577408), // TBX_ZZZ_D
6255 UINT64_C(90188800), // TBX_ZZZ_H
6256 UINT64_C(94383104), // TBX_ZZZ_S
6257 UINT64_C(1308651520), // TBXv16i8Four
6258 UINT64_C(1308626944), // TBXv16i8One
6259 UINT64_C(1308643328), // TBXv16i8Three
6260 UINT64_C(1308635136), // TBXv16i8Two
6261 UINT64_C(234909696), // TBXv8i8Four
6262 UINT64_C(234885120), // TBXv8i8One
6263 UINT64_C(234901504), // TBXv8i8Three
6264 UINT64_C(234893312), // TBXv8i8Two
6265 UINT64_C(905969664), // TBZW
6266 UINT64_C(3053453312), // TBZX
6267 UINT64_C(3583246336), // TCHANGEBri
6268 UINT64_C(3582197760), // TCHANGEBrr
6269 UINT64_C(3582984192), // TCHANGEFri
6270 UINT64_C(3581935616), // TCHANGEFrr
6271 UINT64_C(3571449856), // TENTER
6272 UINT64_C(3607036896), // TEXIT
6273 UINT64_C(86003712), // TRN1_PPP_B
6274 UINT64_C(98586624), // TRN1_PPP_D
6275 UINT64_C(90198016), // TRN1_PPP_H
6276 UINT64_C(94392320), // TRN1_PPP_S
6277 UINT64_C(86011904), // TRN1_ZZZ_B
6278 UINT64_C(98594816), // TRN1_ZZZ_D
6279 UINT64_C(90206208), // TRN1_ZZZ_H
6280 UINT64_C(94377984), // TRN1_ZZZ_Q
6281 UINT64_C(94400512), // TRN1_ZZZ_S
6282 UINT64_C(1308633088), // TRN1v16i8
6283 UINT64_C(243279872), // TRN1v2i32
6284 UINT64_C(1321216000), // TRN1v2i64
6285 UINT64_C(239085568), // TRN1v4i16
6286 UINT64_C(1317021696), // TRN1v4i32
6287 UINT64_C(1312827392), // TRN1v8i16
6288 UINT64_C(234891264), // TRN1v8i8
6289 UINT64_C(86004736), // TRN2_PPP_B
6290 UINT64_C(98587648), // TRN2_PPP_D
6291 UINT64_C(90199040), // TRN2_PPP_H
6292 UINT64_C(94393344), // TRN2_PPP_S
6293 UINT64_C(86012928), // TRN2_ZZZ_B
6294 UINT64_C(98595840), // TRN2_ZZZ_D
6295 UINT64_C(90207232), // TRN2_ZZZ_H
6296 UINT64_C(94379008), // TRN2_ZZZ_Q
6297 UINT64_C(94401536), // TRN2_ZZZ_S
6298 UINT64_C(1308649472), // TRN2v16i8
6299 UINT64_C(243296256), // TRN2v2i32
6300 UINT64_C(1321232384), // TRN2v2i64
6301 UINT64_C(239101952), // TRN2v4i16
6302 UINT64_C(1317038080), // TRN2v4i32
6303 UINT64_C(1312843776), // TRN2v8i16
6304 UINT64_C(234907648), // TRN2v8i8
6305 UINT64_C(3573752415), // TSB
6306 UINT64_C(1170262016), // UABALB_ZZZ_D
6307 UINT64_C(1161873408), // UABALB_ZZZ_H
6308 UINT64_C(1166067712), // UABALB_ZZZ_S
6309 UINT64_C(1170263040), // UABALT_ZZZ_D
6310 UINT64_C(1161874432), // UABALT_ZZZ_H
6311 UINT64_C(1166068736), // UABALT_ZZZ_S
6312 UINT64_C(1145101312), // UABAL_ZZZ_BtoH
6313 UINT64_C(1149295616), // UABAL_ZZZ_HtoS
6314 UINT64_C(1153489920), // UABAL_ZZZ_StoD
6315 UINT64_C(1847611392), // UABALv16i8_v8i16
6316 UINT64_C(782258176), // UABALv2i32_v2i64
6317 UINT64_C(778063872), // UABALv4i16_v4i32
6318 UINT64_C(1856000000), // UABALv4i32_v2i64
6319 UINT64_C(1851805696), // UABALv8i16_v4i32
6320 UINT64_C(773869568), // UABALv8i8_v8i16
6321 UINT64_C(1157692416), // UABA_ZZZ_B
6322 UINT64_C(1170275328), // UABA_ZZZ_D
6323 UINT64_C(1161886720), // UABA_ZZZ_H
6324 UINT64_C(1166081024), // UABA_ZZZ_S
6325 UINT64_C(1847622656), // UABAv16i8
6326 UINT64_C(782269440), // UABAv2i32
6327 UINT64_C(778075136), // UABAv4i16
6328 UINT64_C(1856011264), // UABAv4i32
6329 UINT64_C(1851816960), // UABAv8i16
6330 UINT64_C(773880832), // UABAv8i8
6331 UINT64_C(1170225152), // UABDLB_ZZZ_D
6332 UINT64_C(1161836544), // UABDLB_ZZZ_H
6333 UINT64_C(1166030848), // UABDLB_ZZZ_S
6334 UINT64_C(1170226176), // UABDLT_ZZZ_D
6335 UINT64_C(1161837568), // UABDLT_ZZZ_H
6336 UINT64_C(1166031872), // UABDLT_ZZZ_S
6337 UINT64_C(1847619584), // UABDLv16i8_v8i16
6338 UINT64_C(782266368), // UABDLv2i32_v2i64
6339 UINT64_C(778072064), // UABDLv4i16_v4i32
6340 UINT64_C(1856008192), // UABDLv4i32_v2i64
6341 UINT64_C(1851813888), // UABDLv8i16_v4i32
6342 UINT64_C(773877760), // UABDLv8i8_v8i16
6343 UINT64_C(67960832), // UABD_ZPmZ_B
6344 UINT64_C(80543744), // UABD_ZPmZ_D
6345 UINT64_C(72155136), // UABD_ZPmZ_H
6346 UINT64_C(76349440), // UABD_ZPmZ_S
6347 UINT64_C(1847620608), // UABDv16i8
6348 UINT64_C(782267392), // UABDv2i32
6349 UINT64_C(778073088), // UABDv4i16
6350 UINT64_C(1856009216), // UABDv4i32
6351 UINT64_C(1851814912), // UABDv8i16
6352 UINT64_C(773878784), // UABDv8i8
6353 UINT64_C(1153802240), // UADALP_ZPmZ_D
6354 UINT64_C(1145413632), // UADALP_ZPmZ_H
6355 UINT64_C(1149607936), // UADALP_ZPmZ_S
6356 UINT64_C(1847617536), // UADALPv16i8_v8i16
6357 UINT64_C(782264320), // UADALPv2i32_v1i64
6358 UINT64_C(778070016), // UADALPv4i16_v2i32
6359 UINT64_C(1856006144), // UADALPv4i32_v2i64
6360 UINT64_C(1851811840), // UADALPv8i16_v4i32
6361 UINT64_C(773875712), // UADALPv8i8_v4i16
6362 UINT64_C(1170212864), // UADDLB_ZZZ_D
6363 UINT64_C(1161824256), // UADDLB_ZZZ_H
6364 UINT64_C(1166018560), // UADDLB_ZZZ_S
6365 UINT64_C(1847601152), // UADDLPv16i8_v8i16
6366 UINT64_C(782247936), // UADDLPv2i32_v1i64
6367 UINT64_C(778053632), // UADDLPv4i16_v2i32
6368 UINT64_C(1855989760), // UADDLPv4i32_v2i64
6369 UINT64_C(1851795456), // UADDLPv8i16_v4i32
6370 UINT64_C(773859328), // UADDLPv8i8_v4i16
6371 UINT64_C(1170213888), // UADDLT_ZZZ_D
6372 UINT64_C(1161825280), // UADDLT_ZZZ_H
6373 UINT64_C(1166019584), // UADDLT_ZZZ_S
6374 UINT64_C(1848653824), // UADDLVv16i8v
6375 UINT64_C(779106304), // UADDLVv4i16v
6376 UINT64_C(1857042432), // UADDLVv4i32v
6377 UINT64_C(1852848128), // UADDLVv8i16v
6378 UINT64_C(774912000), // UADDLVv8i8v
6379 UINT64_C(1847590912), // UADDLv16i8_v8i16
6380 UINT64_C(782237696), // UADDLv2i32_v2i64
6381 UINT64_C(778043392), // UADDLv4i16_v4i32
6382 UINT64_C(1855979520), // UADDLv4i32_v2i64
6383 UINT64_C(1851785216), // UADDLv8i16_v4i32
6384 UINT64_C(773849088), // UADDLv8i8_v8i16
6385 UINT64_C(67182592), // UADDV_VPZ_B
6386 UINT64_C(79765504), // UADDV_VPZ_D
6387 UINT64_C(71376896), // UADDV_VPZ_H
6388 UINT64_C(75571200), // UADDV_VPZ_S
6389 UINT64_C(1170229248), // UADDWB_ZZZ_D
6390 UINT64_C(1161840640), // UADDWB_ZZZ_H
6391 UINT64_C(1166034944), // UADDWB_ZZZ_S
6392 UINT64_C(1170230272), // UADDWT_ZZZ_D
6393 UINT64_C(1161841664), // UADDWT_ZZZ_H
6394 UINT64_C(1166035968), // UADDWT_ZZZ_S
6395 UINT64_C(1847595008), // UADDWv16i8_v8i16
6396 UINT64_C(782241792), // UADDWv2i32_v2i64
6397 UINT64_C(778047488), // UADDWv4i16_v4i32
6398 UINT64_C(1855983616), // UADDWv4i32_v2i64
6399 UINT64_C(1851789312), // UADDWv8i16_v4i32
6400 UINT64_C(773853184), // UADDWv8i8_v8i16
6401 UINT64_C(1392508928), // UBFMWri
6402 UINT64_C(3544186880), // UBFMXri
6403 UINT64_C(3240150017), // UCLAMP_VG2_2Z2Z_B
6404 UINT64_C(3252732929), // UCLAMP_VG2_2Z2Z_D
6405 UINT64_C(3244344321), // UCLAMP_VG2_2Z2Z_H
6406 UINT64_C(3248538625), // UCLAMP_VG2_2Z2Z_S
6407 UINT64_C(3240152065), // UCLAMP_VG4_4Z4Z_B
6408 UINT64_C(3252734977), // UCLAMP_VG4_4Z4Z_D
6409 UINT64_C(3244346369), // UCLAMP_VG4_4Z4Z_H
6410 UINT64_C(3248540673), // UCLAMP_VG4_4Z4Z_S
6411 UINT64_C(1140900864), // UCLAMP_ZZZ_B
6412 UINT64_C(1153483776), // UCLAMP_ZZZ_D
6413 UINT64_C(1145095168), // UCLAMP_ZZZ_H
6414 UINT64_C(1149289472), // UCLAMP_ZZZ_S
6415 UINT64_C(511508480), // UCVTFDSr
6416 UINT64_C(2667380736), // UCVTFHDr
6417 UINT64_C(519897088), // UCVTFHSr
6418 UINT64_C(1699494912), // UCVTFLT_ZZ_BtoH
6419 UINT64_C(1703689216), // UCVTFLT_ZZ_HtoS
6420 UINT64_C(1707883520), // UCVTFLT_ZZ_StoD
6421 UINT64_C(2654797824), // UCVTFSDr
6422 UINT64_C(507740160), // UCVTFSWDri
6423 UINT64_C(516128768), // UCVTFSWHri
6424 UINT64_C(503545856), // UCVTFSWSri
6425 UINT64_C(2655191040), // UCVTFSXDri
6426 UINT64_C(2663579648), // UCVTFSXHri
6427 UINT64_C(2650996736), // UCVTFSXSri
6428 UINT64_C(509804544), // UCVTFUWDri
6429 UINT64_C(518193152), // UCVTFUWHri
6430 UINT64_C(505610240), // UCVTFUWSri
6431 UINT64_C(2657288192), // UCVTFUXDri
6432 UINT64_C(2665676800), // UCVTFUXHri
6433 UINT64_C(2653093888), // UCVTFUXSri
6434 UINT64_C(3240288288), // UCVTF_2Z2Z_StoS
6435 UINT64_C(3241336864), // UCVTF_4Z4Z_StoS
6436 UINT64_C(1708630016), // UCVTF_ZPmZ_DtoD
6437 UINT64_C(1700241408), // UCVTF_ZPmZ_DtoH
6438 UINT64_C(1708498944), // UCVTF_ZPmZ_DtoS
6439 UINT64_C(1699979264), // UCVTF_ZPmZ_HtoH
6440 UINT64_C(1708236800), // UCVTF_ZPmZ_StoD
6441 UINT64_C(1700110336), // UCVTF_ZPmZ_StoH
6442 UINT64_C(1704304640), // UCVTF_ZPmZ_StoS
6443 UINT64_C(1692262400), // UCVTF_ZPzZ_DtoD
6444 UINT64_C(1683873792), // UCVTF_ZPzZ_DtoH
6445 UINT64_C(1692246016), // UCVTF_ZPzZ_DtoS
6446 UINT64_C(1683808256), // UCVTF_ZPzZ_HtoH
6447 UINT64_C(1692180480), // UCVTF_ZPzZ_StoD
6448 UINT64_C(1683857408), // UCVTF_ZPzZ_StoH
6449 UINT64_C(1688051712), // UCVTF_ZPzZ_StoS
6450 UINT64_C(1699492864), // UCVTF_ZZ_BtoH
6451 UINT64_C(1703687168), // UCVTF_ZZ_HtoS
6452 UINT64_C(1707881472), // UCVTF_ZZ_StoD
6453 UINT64_C(2134959104), // UCVTFd
6454 UINT64_C(2131813376), // UCVTFh
6455 UINT64_C(2132861952), // UCVTFs
6456 UINT64_C(2121914368), // UCVTFv1i16
6457 UINT64_C(2116147200), // UCVTFv1i32
6458 UINT64_C(2120341504), // UCVTFv1i64
6459 UINT64_C(773969920), // UCVTFv2f32
6460 UINT64_C(1851906048), // UCVTFv2f64
6461 UINT64_C(790684672), // UCVTFv2i32_shift
6462 UINT64_C(1866523648), // UCVTFv2i64_shift
6463 UINT64_C(779737088), // UCVTFv4f16
6464 UINT64_C(1847711744), // UCVTFv4f32
6465 UINT64_C(789636096), // UCVTFv4i16_shift
6466 UINT64_C(1864426496), // UCVTFv4i32_shift
6467 UINT64_C(1853478912), // UCVTFv8f16
6468 UINT64_C(1863377920), // UCVTFv8i16_shift
6469 UINT64_C(0), // UDF
6470 UINT64_C(81199104), // UDIVR_ZPmZ_D
6471 UINT64_C(77004800), // UDIVR_ZPmZ_S
6472 UINT64_C(448792576), // UDIVWr
6473 UINT64_C(2596276224), // UDIVXr
6474 UINT64_C(81068032), // UDIV_ZPmZ_D
6475 UINT64_C(76873728), // UDIV_ZPmZ_S
6476 UINT64_C(3248493584), // UDOT_VG2_M2Z2Z_BtoS
6477 UINT64_C(3252687888), // UDOT_VG2_M2Z2Z_HtoD
6478 UINT64_C(3252687896), // UDOT_VG2_M2Z2Z_HtoS
6479 UINT64_C(3243249712), // UDOT_VG2_M2ZZI_BToS
6480 UINT64_C(3243249680), // UDOT_VG2_M2ZZI_HToS
6481 UINT64_C(3251634200), // UDOT_VG2_M2ZZI_HtoD
6482 UINT64_C(3240104976), // UDOT_VG2_M2ZZ_BtoS
6483 UINT64_C(3244299280), // UDOT_VG2_M2ZZ_HtoD
6484 UINT64_C(3244299288), // UDOT_VG2_M2ZZ_HtoS
6485 UINT64_C(3248559120), // UDOT_VG4_M4Z4Z_BtoS
6486 UINT64_C(3252753424), // UDOT_VG4_M4Z4Z_HtoD
6487 UINT64_C(3252753432), // UDOT_VG4_M4Z4Z_HtoS
6488 UINT64_C(3243282480), // UDOT_VG4_M4ZZI_BtoS
6489 UINT64_C(3243282448), // UDOT_VG4_M4ZZI_HToS
6490 UINT64_C(3251666968), // UDOT_VG4_M4ZZI_HtoD
6491 UINT64_C(3241153552), // UDOT_VG4_M4ZZ_BtoS
6492 UINT64_C(3245347856), // UDOT_VG4_M4ZZ_HtoD
6493 UINT64_C(3245347864), // UDOT_VG4_M4ZZ_HtoS
6494 UINT64_C(1142948864), // UDOT_ZZZI_BtoH
6495 UINT64_C(1151337472), // UDOT_ZZZI_BtoS
6496 UINT64_C(1155531776), // UDOT_ZZZI_HtoD
6497 UINT64_C(1149291520), // UDOT_ZZZI_HtoS
6498 UINT64_C(1145046016), // UDOT_ZZZ_BtoH
6499 UINT64_C(1149240320), // UDOT_ZZZ_BtoS
6500 UINT64_C(1153434624), // UDOT_ZZZ_HtoD
6501 UINT64_C(1140902912), // UDOT_ZZZ_HtoS
6502 UINT64_C(1870716928), // UDOTlanev16i8
6503 UINT64_C(796975104), // UDOTlanev8i8
6504 UINT64_C(1853920256), // UDOTv16i8
6505 UINT64_C(780178432), // UDOTv8i8
6506 UINT64_C(1141997568), // UHADD_ZPmZ_B
6507 UINT64_C(1154580480), // UHADD_ZPmZ_D
6508 UINT64_C(1146191872), // UHADD_ZPmZ_H
6509 UINT64_C(1150386176), // UHADD_ZPmZ_S
6510 UINT64_C(1847591936), // UHADDv16i8
6511 UINT64_C(782238720), // UHADDv2i32
6512 UINT64_C(778044416), // UHADDv4i16
6513 UINT64_C(1855980544), // UHADDv4i32
6514 UINT64_C(1851786240), // UHADDv8i16
6515 UINT64_C(773850112), // UHADDv8i8
6516 UINT64_C(1142390784), // UHSUBR_ZPmZ_B
6517 UINT64_C(1154973696), // UHSUBR_ZPmZ_D
6518 UINT64_C(1146585088), // UHSUBR_ZPmZ_H
6519 UINT64_C(1150779392), // UHSUBR_ZPmZ_S
6520 UINT64_C(1142128640), // UHSUB_ZPmZ_B
6521 UINT64_C(1154711552), // UHSUB_ZPmZ_D
6522 UINT64_C(1146322944), // UHSUB_ZPmZ_H
6523 UINT64_C(1150517248), // UHSUB_ZPmZ_S
6524 UINT64_C(1847600128), // UHSUBv16i8
6525 UINT64_C(782246912), // UHSUBv2i32
6526 UINT64_C(778052608), // UHSUBv4i16
6527 UINT64_C(1855988736), // UHSUBv4i32
6528 UINT64_C(1851794432), // UHSUBv8i16
6529 UINT64_C(773858304), // UHSUBv8i8
6530 UINT64_C(2610954240), // UMADDLrrr
6531 UINT64_C(1142267904), // UMAXP_ZPmZ_B
6532 UINT64_C(1154850816), // UMAXP_ZPmZ_D
6533 UINT64_C(1146462208), // UMAXP_ZPmZ_H
6534 UINT64_C(1150656512), // UMAXP_ZPmZ_S
6535 UINT64_C(1847632896), // UMAXPv16i8
6536 UINT64_C(782279680), // UMAXPv2i32
6537 UINT64_C(778085376), // UMAXPv4i16
6538 UINT64_C(1856021504), // UMAXPv4i32
6539 UINT64_C(1851827200), // UMAXPv8i16
6540 UINT64_C(773891072), // UMAXPv8i8
6541 UINT64_C(67969024), // UMAXQV_VPZ_B
6542 UINT64_C(80551936), // UMAXQV_VPZ_D
6543 UINT64_C(72163328), // UMAXQV_VPZ_H
6544 UINT64_C(76357632), // UMAXQV_VPZ_S
6545 UINT64_C(67706880), // UMAXV_VPZ_B
6546 UINT64_C(80289792), // UMAXV_VPZ_D
6547 UINT64_C(71901184), // UMAXV_VPZ_H
6548 UINT64_C(76095488), // UMAXV_VPZ_S
6549 UINT64_C(1848682496), // UMAXVv16i8v
6550 UINT64_C(779134976), // UMAXVv4i16v
6551 UINT64_C(1857071104), // UMAXVv4i32v
6552 UINT64_C(1852876800), // UMAXVv8i16v
6553 UINT64_C(774940672), // UMAXVv8i8v
6554 UINT64_C(298057728), // UMAXWri
6555 UINT64_C(448816128), // UMAXWrr
6556 UINT64_C(2445541376), // UMAXXri
6557 UINT64_C(2596299776), // UMAXXrr
6558 UINT64_C(3240144897), // UMAX_VG2_2Z2Z_B
6559 UINT64_C(3252727809), // UMAX_VG2_2Z2Z_D
6560 UINT64_C(3244339201), // UMAX_VG2_2Z2Z_H
6561 UINT64_C(3248533505), // UMAX_VG2_2Z2Z_S
6562 UINT64_C(3240140801), // UMAX_VG2_2ZZ_B
6563 UINT64_C(3252723713), // UMAX_VG2_2ZZ_D
6564 UINT64_C(3244335105), // UMAX_VG2_2ZZ_H
6565 UINT64_C(3248529409), // UMAX_VG2_2ZZ_S
6566 UINT64_C(3240146945), // UMAX_VG4_4Z4Z_B
6567 UINT64_C(3252729857), // UMAX_VG4_4Z4Z_D
6568 UINT64_C(3244341249), // UMAX_VG4_4Z4Z_H
6569 UINT64_C(3248535553), // UMAX_VG4_4Z4Z_S
6570 UINT64_C(3240142849), // UMAX_VG4_4ZZ_B
6571 UINT64_C(3252725761), // UMAX_VG4_4ZZ_D
6572 UINT64_C(3244337153), // UMAX_VG4_4ZZ_H
6573 UINT64_C(3248531457), // UMAX_VG4_4ZZ_S
6574 UINT64_C(623493120), // UMAX_ZI_B
6575 UINT64_C(636076032), // UMAX_ZI_D
6576 UINT64_C(627687424), // UMAX_ZI_H
6577 UINT64_C(631881728), // UMAX_ZI_S
6578 UINT64_C(67698688), // UMAX_ZPmZ_B
6579 UINT64_C(80281600), // UMAX_ZPmZ_D
6580 UINT64_C(71892992), // UMAX_ZPmZ_H
6581 UINT64_C(76087296), // UMAX_ZPmZ_S
6582 UINT64_C(1847616512), // UMAXv16i8
6583 UINT64_C(782263296), // UMAXv2i32
6584 UINT64_C(778068992), // UMAXv4i16
6585 UINT64_C(1856005120), // UMAXv4i32
6586 UINT64_C(1851810816), // UMAXv8i16
6587 UINT64_C(773874688), // UMAXv8i8
6588 UINT64_C(1142398976), // UMINP_ZPmZ_B
6589 UINT64_C(1154981888), // UMINP_ZPmZ_D
6590 UINT64_C(1146593280), // UMINP_ZPmZ_H
6591 UINT64_C(1150787584), // UMINP_ZPmZ_S
6592 UINT64_C(1847634944), // UMINPv16i8
6593 UINT64_C(782281728), // UMINPv2i32
6594 UINT64_C(778087424), // UMINPv4i16
6595 UINT64_C(1856023552), // UMINPv4i32
6596 UINT64_C(1851829248), // UMINPv8i16
6597 UINT64_C(773893120), // UMINPv8i8
6598 UINT64_C(68100096), // UMINQV_VPZ_B
6599 UINT64_C(80683008), // UMINQV_VPZ_D
6600 UINT64_C(72294400), // UMINQV_VPZ_H
6601 UINT64_C(76488704), // UMINQV_VPZ_S
6602 UINT64_C(67837952), // UMINV_VPZ_B
6603 UINT64_C(80420864), // UMINV_VPZ_D
6604 UINT64_C(72032256), // UMINV_VPZ_H
6605 UINT64_C(76226560), // UMINV_VPZ_S
6606 UINT64_C(1848748032), // UMINVv16i8v
6607 UINT64_C(779200512), // UMINVv4i16v
6608 UINT64_C(1857136640), // UMINVv4i32v
6609 UINT64_C(1852942336), // UMINVv8i16v
6610 UINT64_C(775006208), // UMINVv8i8v
6611 UINT64_C(298582016), // UMINWri
6612 UINT64_C(448818176), // UMINWrr
6613 UINT64_C(2446065664), // UMINXri
6614 UINT64_C(2596301824), // UMINXrr
6615 UINT64_C(3240144929), // UMIN_VG2_2Z2Z_B
6616 UINT64_C(3252727841), // UMIN_VG2_2Z2Z_D
6617 UINT64_C(3244339233), // UMIN_VG2_2Z2Z_H
6618 UINT64_C(3248533537), // UMIN_VG2_2Z2Z_S
6619 UINT64_C(3240140833), // UMIN_VG2_2ZZ_B
6620 UINT64_C(3252723745), // UMIN_VG2_2ZZ_D
6621 UINT64_C(3244335137), // UMIN_VG2_2ZZ_H
6622 UINT64_C(3248529441), // UMIN_VG2_2ZZ_S
6623 UINT64_C(3240146977), // UMIN_VG4_4Z4Z_B
6624 UINT64_C(3252729889), // UMIN_VG4_4Z4Z_D
6625 UINT64_C(3244341281), // UMIN_VG4_4Z4Z_H
6626 UINT64_C(3248535585), // UMIN_VG4_4Z4Z_S
6627 UINT64_C(3240142881), // UMIN_VG4_4ZZ_B
6628 UINT64_C(3252725793), // UMIN_VG4_4ZZ_D
6629 UINT64_C(3244337185), // UMIN_VG4_4ZZ_H
6630 UINT64_C(3248531489), // UMIN_VG4_4ZZ_S
6631 UINT64_C(623624192), // UMIN_ZI_B
6632 UINT64_C(636207104), // UMIN_ZI_D
6633 UINT64_C(627818496), // UMIN_ZI_H
6634 UINT64_C(632012800), // UMIN_ZI_S
6635 UINT64_C(67829760), // UMIN_ZPmZ_B
6636 UINT64_C(80412672), // UMIN_ZPmZ_D
6637 UINT64_C(72024064), // UMIN_ZPmZ_H
6638 UINT64_C(76218368), // UMIN_ZPmZ_S
6639 UINT64_C(1847618560), // UMINv16i8
6640 UINT64_C(782265344), // UMINv2i32
6641 UINT64_C(778071040), // UMINv4i16
6642 UINT64_C(1856007168), // UMINv4i32
6643 UINT64_C(1851812864), // UMINv8i16
6644 UINT64_C(773876736), // UMINv8i8
6645 UINT64_C(1155567616), // UMLALB_ZZZI_D
6646 UINT64_C(1151373312), // UMLALB_ZZZI_S
6647 UINT64_C(1153452032), // UMLALB_ZZZ_D
6648 UINT64_C(1145063424), // UMLALB_ZZZ_H
6649 UINT64_C(1149257728), // UMLALB_ZZZ_S
6650 UINT64_C(3238002704), // UMLALL_MZZI_BtoS
6651 UINT64_C(3246391312), // UMLALL_MZZI_HtoD
6652 UINT64_C(3240100880), // UMLALL_MZZ_BtoS
6653 UINT64_C(3244295184), // UMLALL_MZZ_HtoD
6654 UINT64_C(3248488464), // UMLALL_VG2_M2Z2Z_BtoS
6655 UINT64_C(3252682768), // UMLALL_VG2_M2Z2Z_HtoD
6656 UINT64_C(3239051280), // UMLALL_VG2_M2ZZI_BtoS
6657 UINT64_C(3247439888), // UMLALL_VG2_M2ZZI_HtoD
6658 UINT64_C(3240099856), // UMLALL_VG2_M2ZZ_BtoS
6659 UINT64_C(3244294160), // UMLALL_VG2_M2ZZ_HtoD
6660 UINT64_C(3248554000), // UMLALL_VG4_M4Z4Z_BtoS
6661 UINT64_C(3252748304), // UMLALL_VG4_M4Z4Z_HtoD
6662 UINT64_C(3239084048), // UMLALL_VG4_M4ZZI_BtoS
6663 UINT64_C(3247472656), // UMLALL_VG4_M4ZZI_HtoD
6664 UINT64_C(3241148432), // UMLALL_VG4_M4ZZ_BtoS
6665 UINT64_C(3245342736), // UMLALL_VG4_M4ZZ_HtoD
6666 UINT64_C(1155568640), // UMLALT_ZZZI_D
6667 UINT64_C(1151374336), // UMLALT_ZZZI_S
6668 UINT64_C(1153453056), // UMLALT_ZZZ_D
6669 UINT64_C(1145064448), // UMLALT_ZZZ_H
6670 UINT64_C(1149258752), // UMLALT_ZZZ_S
6671 UINT64_C(3250589712), // UMLAL_MZZI_HtoS
6672 UINT64_C(3244297232), // UMLAL_MZZ_HtoS
6673 UINT64_C(3252684816), // UMLAL_VG2_M2Z2Z_HtoS
6674 UINT64_C(3251638288), // UMLAL_VG2_M2ZZI_S
6675 UINT64_C(3244296208), // UMLAL_VG2_M2ZZ_HtoS
6676 UINT64_C(3252750352), // UMLAL_VG4_M4Z4Z_HtoS
6677 UINT64_C(3251671056), // UMLAL_VG4_M4ZZI_HtoS
6678 UINT64_C(3245344784), // UMLAL_VG4_M4ZZ_HtoS
6679 UINT64_C(1847623680), // UMLALv16i8_v8i16
6680 UINT64_C(796925952), // UMLALv2i32_indexed
6681 UINT64_C(782270464), // UMLALv2i32_v2i64
6682 UINT64_C(792731648), // UMLALv4i16_indexed
6683 UINT64_C(778076160), // UMLALv4i16_v4i32
6684 UINT64_C(1870667776), // UMLALv4i32_indexed
6685 UINT64_C(1856012288), // UMLALv4i32_v2i64
6686 UINT64_C(1866473472), // UMLALv8i16_indexed
6687 UINT64_C(1851817984), // UMLALv8i16_v4i32
6688 UINT64_C(773881856), // UMLALv8i8_v8i16
6689 UINT64_C(1155575808), // UMLSLB_ZZZI_D
6690 UINT64_C(1151381504), // UMLSLB_ZZZI_S
6691 UINT64_C(1153456128), // UMLSLB_ZZZ_D
6692 UINT64_C(1145067520), // UMLSLB_ZZZ_H
6693 UINT64_C(1149261824), // UMLSLB_ZZZ_S
6694 UINT64_C(3238002712), // UMLSLL_MZZI_BtoS
6695 UINT64_C(3246391320), // UMLSLL_MZZI_HtoD
6696 UINT64_C(3240100888), // UMLSLL_MZZ_BtoS
6697 UINT64_C(3244295192), // UMLSLL_MZZ_HtoD
6698 UINT64_C(3248488472), // UMLSLL_VG2_M2Z2Z_BtoS
6699 UINT64_C(3252682776), // UMLSLL_VG2_M2Z2Z_HtoD
6700 UINT64_C(3239051288), // UMLSLL_VG2_M2ZZI_BtoS
6701 UINT64_C(3247439896), // UMLSLL_VG2_M2ZZI_HtoD
6702 UINT64_C(3240099864), // UMLSLL_VG2_M2ZZ_BtoS
6703 UINT64_C(3244294168), // UMLSLL_VG2_M2ZZ_HtoD
6704 UINT64_C(3248554008), // UMLSLL_VG4_M4Z4Z_BtoS
6705 UINT64_C(3252748312), // UMLSLL_VG4_M4Z4Z_HtoD
6706 UINT64_C(3239084056), // UMLSLL_VG4_M4ZZI_BtoS
6707 UINT64_C(3247472664), // UMLSLL_VG4_M4ZZI_HtoD
6708 UINT64_C(3241148440), // UMLSLL_VG4_M4ZZ_BtoS
6709 UINT64_C(3245342744), // UMLSLL_VG4_M4ZZ_HtoD
6710 UINT64_C(1155576832), // UMLSLT_ZZZI_D
6711 UINT64_C(1151382528), // UMLSLT_ZZZI_S
6712 UINT64_C(1153457152), // UMLSLT_ZZZ_D
6713 UINT64_C(1145068544), // UMLSLT_ZZZ_H
6714 UINT64_C(1149262848), // UMLSLT_ZZZ_S
6715 UINT64_C(3250589720), // UMLSL_MZZI_HtoS
6716 UINT64_C(3244297240), // UMLSL_MZZ_HtoS
6717 UINT64_C(3252684824), // UMLSL_VG2_M2Z2Z_HtoS
6718 UINT64_C(3251638296), // UMLSL_VG2_M2ZZI_S
6719 UINT64_C(3244296216), // UMLSL_VG2_M2ZZ_HtoS
6720 UINT64_C(3252750360), // UMLSL_VG4_M4Z4Z_HtoS
6721 UINT64_C(3251671064), // UMLSL_VG4_M4ZZI_HtoS
6722 UINT64_C(3245344792), // UMLSL_VG4_M4ZZ_HtoS
6723 UINT64_C(1847631872), // UMLSLv16i8_v8i16
6724 UINT64_C(796942336), // UMLSLv2i32_indexed
6725 UINT64_C(782278656), // UMLSLv2i32_v2i64
6726 UINT64_C(792748032), // UMLSLv4i16_indexed
6727 UINT64_C(778084352), // UMLSLv4i16_v4i32
6728 UINT64_C(1870684160), // UMLSLv4i32_indexed
6729 UINT64_C(1856020480), // UMLSLv4i32_v2i64
6730 UINT64_C(1866489856), // UMLSLv8i16_indexed
6731 UINT64_C(1851826176), // UMLSLv8i16_v4i32
6732 UINT64_C(773890048), // UMLSLv8i8_v8i16
6733 UINT64_C(1853924352), // UMMLA
6734 UINT64_C(1170249728), // UMMLA_ZZZ
6735 UINT64_C(2167439872), // UMOP4A_M2Z2Z_BToS
6736 UINT64_C(2165342728), // UMOP4A_M2Z2Z_HToS
6737 UINT64_C(2716860936), // UMOP4A_M2Z2Z_HtoD
6738 UINT64_C(2166391296), // UMOP4A_M2ZZ_BToS
6739 UINT64_C(2164294152), // UMOP4A_M2ZZ_HToS
6740 UINT64_C(2715812360), // UMOP4A_M2ZZ_HtoD
6741 UINT64_C(2167439360), // UMOP4A_MZ2Z_BToS
6742 UINT64_C(2165342216), // UMOP4A_MZ2Z_HToS
6743 UINT64_C(2716860424), // UMOP4A_MZ2Z_HtoD
6744 UINT64_C(2166390784), // UMOP4A_MZZ_BToS
6745 UINT64_C(2164293640), // UMOP4A_MZZ_HToS
6746 UINT64_C(2715811848), // UMOP4A_MZZ_HtoD
6747 UINT64_C(2167439888), // UMOP4S_M2Z2Z_BToS
6748 UINT64_C(2165342744), // UMOP4S_M2Z2Z_HToS
6749 UINT64_C(2716860952), // UMOP4S_M2Z2Z_HtoD
6750 UINT64_C(2166391312), // UMOP4S_M2ZZ_BToS
6751 UINT64_C(2164294168), // UMOP4S_M2ZZ_HToS
6752 UINT64_C(2715812376), // UMOP4S_M2ZZ_HtoD
6753 UINT64_C(2167439376), // UMOP4S_MZ2Z_BToS
6754 UINT64_C(2165342232), // UMOP4S_MZ2Z_HToS
6755 UINT64_C(2716860440), // UMOP4S_MZ2Z_HtoD
6756 UINT64_C(2166390800), // UMOP4S_MZZ_BToS
6757 UINT64_C(2164293656), // UMOP4S_MZZ_HToS
6758 UINT64_C(2715811864), // UMOP4S_MZZ_HtoD
6759 UINT64_C(2715811840), // UMOPA_MPPZZ_D
6760 UINT64_C(2709520392), // UMOPA_MPPZZ_HtoS
6761 UINT64_C(2711617536), // UMOPA_MPPZZ_S
6762 UINT64_C(2715811856), // UMOPS_MPPZZ_D
6763 UINT64_C(2709520408), // UMOPS_MPPZZ_HtoS
6764 UINT64_C(2711617552), // UMOPS_MPPZZ_S
6765 UINT64_C(235027456), // UMOVvi16
6766 UINT64_C(235027456), // UMOVvi16_idx0
6767 UINT64_C(235158528), // UMOVvi32
6768 UINT64_C(235158528), // UMOVvi32_idx0
6769 UINT64_C(1309162496), // UMOVvi64
6770 UINT64_C(1309162496), // UMOVvi64_idx0
6771 UINT64_C(234961920), // UMOVvi8
6772 UINT64_C(234961920), // UMOVvi8_idx0
6773 UINT64_C(2610987008), // UMSUBLrrr
6774 UINT64_C(68354048), // UMULH_ZPmZ_B
6775 UINT64_C(80936960), // UMULH_ZPmZ_D
6776 UINT64_C(72548352), // UMULH_ZPmZ_H
6777 UINT64_C(76742656), // UMULH_ZPmZ_S
6778 UINT64_C(69233664), // UMULH_ZZZ_B
6779 UINT64_C(81816576), // UMULH_ZZZ_D
6780 UINT64_C(73427968), // UMULH_ZZZ_H
6781 UINT64_C(77622272), // UMULH_ZZZ_S
6782 UINT64_C(2613083136), // UMULHrr
6783 UINT64_C(1155584000), // UMULLB_ZZZI_D
6784 UINT64_C(1151389696), // UMULLB_ZZZI_S
6785 UINT64_C(1170241536), // UMULLB_ZZZ_D
6786 UINT64_C(1161852928), // UMULLB_ZZZ_H
6787 UINT64_C(1166047232), // UMULLB_ZZZ_S
6788 UINT64_C(1155585024), // UMULLT_ZZZI_D
6789 UINT64_C(1151390720), // UMULLT_ZZZI_S
6790 UINT64_C(1170242560), // UMULLT_ZZZ_D
6791 UINT64_C(1161853952), // UMULLT_ZZZ_H
6792 UINT64_C(1166048256), // UMULLT_ZZZ_S
6793 UINT64_C(1847640064), // UMULLv16i8_v8i16
6794 UINT64_C(796958720), // UMULLv2i32_indexed
6795 UINT64_C(782286848), // UMULLv2i32_v2i64
6796 UINT64_C(792764416), // UMULLv4i16_indexed
6797 UINT64_C(778092544), // UMULLv4i16_v4i32
6798 UINT64_C(1870700544), // UMULLv4i32_indexed
6799 UINT64_C(1856028672), // UMULLv4i32_v2i64
6800 UINT64_C(1866506240), // UMULLv8i16_indexed
6801 UINT64_C(1851834368), // UMULLv8i16_v4i32
6802 UINT64_C(773898240), // UMULLv8i8_v8i16
6803 UINT64_C(623230976), // UQADD_ZI_B
6804 UINT64_C(635813888), // UQADD_ZI_D
6805 UINT64_C(627425280), // UQADD_ZI_H
6806 UINT64_C(631619584), // UQADD_ZI_S
6807 UINT64_C(1142521856), // UQADD_ZPmZ_B
6808 UINT64_C(1155104768), // UQADD_ZPmZ_D
6809 UINT64_C(1146716160), // UQADD_ZPmZ_H
6810 UINT64_C(1150910464), // UQADD_ZPmZ_S
6811 UINT64_C(69211136), // UQADD_ZZZ_B
6812 UINT64_C(81794048), // UQADD_ZZZ_D
6813 UINT64_C(73405440), // UQADD_ZZZ_H
6814 UINT64_C(77599744), // UQADD_ZZZ_S
6815 UINT64_C(1847593984), // UQADDv16i8
6816 UINT64_C(2120223744), // UQADDv1i16
6817 UINT64_C(2124418048), // UQADDv1i32
6818 UINT64_C(2128612352), // UQADDv1i64
6819 UINT64_C(2116029440), // UQADDv1i8
6820 UINT64_C(782240768), // UQADDv2i32
6821 UINT64_C(1860176896), // UQADDv2i64
6822 UINT64_C(778046464), // UQADDv4i16
6823 UINT64_C(1855982592), // UQADDv4i32
6824 UINT64_C(1851788288), // UQADDv8i16
6825 UINT64_C(773852160), // UQADDv8i8
6826 UINT64_C(1160857600), // UQCVTN_Z2Z_StoH
6827 UINT64_C(3249791072), // UQCVTN_Z4Z_DtoH
6828 UINT64_C(3241402464), // UQCVTN_Z4Z_StoB
6829 UINT64_C(3240353824), // UQCVT_Z2Z_StoH
6830 UINT64_C(3249791008), // UQCVT_Z4Z_DtoH
6831 UINT64_C(3241402400), // UQCVT_Z4Z_StoB
6832 UINT64_C(69270528), // UQDECB_WPiI
6833 UINT64_C(70319104), // UQDECB_XPiI
6834 UINT64_C(81853440), // UQDECD_WPiI
6835 UINT64_C(82902016), // UQDECD_XPiI
6836 UINT64_C(81841152), // UQDECD_ZPiI
6837 UINT64_C(73464832), // UQDECH_WPiI
6838 UINT64_C(74513408), // UQDECH_XPiI
6839 UINT64_C(73452544), // UQDECH_ZPiI
6840 UINT64_C(623609856), // UQDECP_WP_B
6841 UINT64_C(636192768), // UQDECP_WP_D
6842 UINT64_C(627804160), // UQDECP_WP_H
6843 UINT64_C(631998464), // UQDECP_WP_S
6844 UINT64_C(623610880), // UQDECP_XP_B
6845 UINT64_C(636193792), // UQDECP_XP_D
6846 UINT64_C(627805184), // UQDECP_XP_H
6847 UINT64_C(631999488), // UQDECP_XP_S
6848 UINT64_C(636190720), // UQDECP_ZP_D
6849 UINT64_C(627802112), // UQDECP_ZP_H
6850 UINT64_C(631996416), // UQDECP_ZP_S
6851 UINT64_C(77659136), // UQDECW_WPiI
6852 UINT64_C(78707712), // UQDECW_XPiI
6853 UINT64_C(77646848), // UQDECW_ZPiI
6854 UINT64_C(69268480), // UQINCB_WPiI
6855 UINT64_C(70317056), // UQINCB_XPiI
6856 UINT64_C(81851392), // UQINCD_WPiI
6857 UINT64_C(82899968), // UQINCD_XPiI
6858 UINT64_C(81839104), // UQINCD_ZPiI
6859 UINT64_C(73462784), // UQINCH_WPiI
6860 UINT64_C(74511360), // UQINCH_XPiI
6861 UINT64_C(73450496), // UQINCH_ZPiI
6862 UINT64_C(623478784), // UQINCP_WP_B
6863 UINT64_C(636061696), // UQINCP_WP_D
6864 UINT64_C(627673088), // UQINCP_WP_H
6865 UINT64_C(631867392), // UQINCP_WP_S
6866 UINT64_C(623479808), // UQINCP_XP_B
6867 UINT64_C(636062720), // UQINCP_XP_D
6868 UINT64_C(627674112), // UQINCP_XP_H
6869 UINT64_C(631868416), // UQINCP_XP_S
6870 UINT64_C(636059648), // UQINCP_ZP_D
6871 UINT64_C(627671040), // UQINCP_ZP_H
6872 UINT64_C(631865344), // UQINCP_ZP_S
6873 UINT64_C(77657088), // UQINCW_WPiI
6874 UINT64_C(78705664), // UQINCW_XPiI
6875 UINT64_C(77644800), // UQINCW_ZPiI
6876 UINT64_C(1141866496), // UQRSHLR_ZPmZ_B
6877 UINT64_C(1154449408), // UQRSHLR_ZPmZ_D
6878 UINT64_C(1146060800), // UQRSHLR_ZPmZ_H
6879 UINT64_C(1150255104), // UQRSHLR_ZPmZ_S
6880 UINT64_C(1141604352), // UQRSHL_ZPmZ_B
6881 UINT64_C(1154187264), // UQRSHL_ZPmZ_D
6882 UINT64_C(1145798656), // UQRSHL_ZPmZ_H
6883 UINT64_C(1149992960), // UQRSHL_ZPmZ_S
6884 UINT64_C(1847614464), // UQRSHLv16i8
6885 UINT64_C(2120244224), // UQRSHLv1i16
6886 UINT64_C(2124438528), // UQRSHLv1i32
6887 UINT64_C(2128632832), // UQRSHLv1i64
6888 UINT64_C(2116049920), // UQRSHLv1i8
6889 UINT64_C(782261248), // UQRSHLv2i32
6890 UINT64_C(1860197376), // UQRSHLv2i64
6891 UINT64_C(778066944), // UQRSHLv4i16
6892 UINT64_C(1856003072), // UQRSHLv4i32
6893 UINT64_C(1851808768), // UQRSHLv8i16
6894 UINT64_C(773872640), // UQRSHLv8i8
6895 UINT64_C(1160263680), // UQRSHRNB_ZZI_B
6896 UINT64_C(1160787968), // UQRSHRNB_ZZI_H
6897 UINT64_C(1163933696), // UQRSHRNB_ZZI_S
6898 UINT64_C(1160264704), // UQRSHRNT_ZZI_B
6899 UINT64_C(1160788992), // UQRSHRNT_ZZI_H
6900 UINT64_C(1163934720), // UQRSHRNT_ZZI_S
6901 UINT64_C(3244350496), // UQRSHRN_VG4_Z4ZI_B
6902 UINT64_C(3248544800), // UQRSHRN_VG4_Z4ZI_H
6903 UINT64_C(1168652288), // UQRSHRN_Z2ZI_HtoB
6904 UINT64_C(1169176576), // UQRSHRN_Z2ZI_StoH
6905 UINT64_C(2131270656), // UQRSHRNb
6906 UINT64_C(2131794944), // UQRSHRNh
6907 UINT64_C(2132843520), // UQRSHRNs
6908 UINT64_C(1862835200), // UQRSHRNv16i8_shift
6909 UINT64_C(790666240), // UQRSHRNv2i32_shift
6910 UINT64_C(789617664), // UQRSHRNv4i16_shift
6911 UINT64_C(1864408064), // UQRSHRNv4i32_shift
6912 UINT64_C(1863359488), // UQRSHRNv8i16_shift
6913 UINT64_C(789093376), // UQRSHRNv8i8_shift
6914 UINT64_C(3252737056), // UQRSHR_VG2_Z2ZI_H
6915 UINT64_C(3244349472), // UQRSHR_VG4_Z4ZI_B
6916 UINT64_C(3248543776), // UQRSHR_VG4_Z4ZI_H
6917 UINT64_C(1141735424), // UQSHLR_ZPmZ_B
6918 UINT64_C(1154318336), // UQSHLR_ZPmZ_D
6919 UINT64_C(1145929728), // UQSHLR_ZPmZ_H
6920 UINT64_C(1150124032), // UQSHLR_ZPmZ_S
6921 UINT64_C(67600640), // UQSHL_ZPmI_B
6922 UINT64_C(75988992), // UQSHL_ZPmI_D
6923 UINT64_C(67600896), // UQSHL_ZPmI_H
6924 UINT64_C(71794688), // UQSHL_ZPmI_S
6925 UINT64_C(1141473280), // UQSHL_ZPmZ_B
6926 UINT64_C(1154056192), // UQSHL_ZPmZ_D
6927 UINT64_C(1145667584), // UQSHL_ZPmZ_H
6928 UINT64_C(1149861888), // UQSHL_ZPmZ_S
6929 UINT64_C(2131260416), // UQSHLb
6930 UINT64_C(2134930432), // UQSHLd
6931 UINT64_C(2131784704), // UQSHLh
6932 UINT64_C(2132833280), // UQSHLs
6933 UINT64_C(1847610368), // UQSHLv16i8
6934 UINT64_C(1862824960), // UQSHLv16i8_shift
6935 UINT64_C(2120240128), // UQSHLv1i16
6936 UINT64_C(2124434432), // UQSHLv1i32
6937 UINT64_C(2128628736), // UQSHLv1i64
6938 UINT64_C(2116045824), // UQSHLv1i8
6939 UINT64_C(782257152), // UQSHLv2i32
6940 UINT64_C(790656000), // UQSHLv2i32_shift
6941 UINT64_C(1860193280), // UQSHLv2i64
6942 UINT64_C(1866494976), // UQSHLv2i64_shift
6943 UINT64_C(778062848), // UQSHLv4i16
6944 UINT64_C(789607424), // UQSHLv4i16_shift
6945 UINT64_C(1855998976), // UQSHLv4i32
6946 UINT64_C(1864397824), // UQSHLv4i32_shift
6947 UINT64_C(1851804672), // UQSHLv8i16
6948 UINT64_C(1863349248), // UQSHLv8i16_shift
6949 UINT64_C(773868544), // UQSHLv8i8
6950 UINT64_C(789083136), // UQSHLv8i8_shift
6951 UINT64_C(1160261632), // UQSHRNB_ZZI_B
6952 UINT64_C(1160785920), // UQSHRNB_ZZI_H
6953 UINT64_C(1163931648), // UQSHRNB_ZZI_S
6954 UINT64_C(1160262656), // UQSHRNT_ZZI_B
6955 UINT64_C(1160786944), // UQSHRNT_ZZI_H
6956 UINT64_C(1163932672), // UQSHRNT_ZZI_S
6957 UINT64_C(1168642048), // UQSHRN_Z2ZI_HtoB
6958 UINT64_C(1169166336), // UQSHRN_Z2ZI_StoH
6959 UINT64_C(2131268608), // UQSHRNb
6960 UINT64_C(2131792896), // UQSHRNh
6961 UINT64_C(2132841472), // UQSHRNs
6962 UINT64_C(1862833152), // UQSHRNv16i8_shift
6963 UINT64_C(790664192), // UQSHRNv2i32_shift
6964 UINT64_C(789615616), // UQSHRNv4i16_shift
6965 UINT64_C(1864406016), // UQSHRNv4i32_shift
6966 UINT64_C(1863357440), // UQSHRNv8i16_shift
6967 UINT64_C(789091328), // UQSHRNv8i8_shift
6968 UINT64_C(1142915072), // UQSUBR_ZPmZ_B
6969 UINT64_C(1155497984), // UQSUBR_ZPmZ_D
6970 UINT64_C(1147109376), // UQSUBR_ZPmZ_H
6971 UINT64_C(1151303680), // UQSUBR_ZPmZ_S
6972 UINT64_C(623362048), // UQSUB_ZI_B
6973 UINT64_C(635944960), // UQSUB_ZI_D
6974 UINT64_C(627556352), // UQSUB_ZI_H
6975 UINT64_C(631750656), // UQSUB_ZI_S
6976 UINT64_C(1142652928), // UQSUB_ZPmZ_B
6977 UINT64_C(1155235840), // UQSUB_ZPmZ_D
6978 UINT64_C(1146847232), // UQSUB_ZPmZ_H
6979 UINT64_C(1151041536), // UQSUB_ZPmZ_S
6980 UINT64_C(69213184), // UQSUB_ZZZ_B
6981 UINT64_C(81796096), // UQSUB_ZZZ_D
6982 UINT64_C(73407488), // UQSUB_ZZZ_H
6983 UINT64_C(77601792), // UQSUB_ZZZ_S
6984 UINT64_C(1847602176), // UQSUBv16i8
6985 UINT64_C(2120231936), // UQSUBv1i16
6986 UINT64_C(2124426240), // UQSUBv1i32
6987 UINT64_C(2128620544), // UQSUBv1i64
6988 UINT64_C(2116037632), // UQSUBv1i8
6989 UINT64_C(782248960), // UQSUBv2i32
6990 UINT64_C(1860185088), // UQSUBv2i64
6991 UINT64_C(778054656), // UQSUBv4i16
6992 UINT64_C(1855990784), // UQSUBv4i32
6993 UINT64_C(1851796480), // UQSUBv8i16
6994 UINT64_C(773860352), // UQSUBv8i8
6995 UINT64_C(1160267776), // UQXTNB_ZZ_B
6996 UINT64_C(1160792064), // UQXTNB_ZZ_H
6997 UINT64_C(1163937792), // UQXTNB_ZZ_S
6998 UINT64_C(1160268800), // UQXTNT_ZZ_B
6999 UINT64_C(1160793088), // UQXTNT_ZZ_H
7000 UINT64_C(1163938816), // UQXTNT_ZZ_S
7001 UINT64_C(1847674880), // UQXTNv16i8
7002 UINT64_C(2120304640), // UQXTNv1i16
7003 UINT64_C(2124498944), // UQXTNv1i32
7004 UINT64_C(2116110336), // UQXTNv1i8
7005 UINT64_C(782321664), // UQXTNv2i32
7006 UINT64_C(778127360), // UQXTNv4i16
7007 UINT64_C(1856063488), // UQXTNv4i32
7008 UINT64_C(1851869184), // UQXTNv8i16
7009 UINT64_C(773933056), // UQXTNv8i8
7010 UINT64_C(1149280256), // URECPE_ZPmZ_S
7011 UINT64_C(1149411328), // URECPE_ZPzZ_S
7012 UINT64_C(245483520), // URECPEv2i32
7013 UINT64_C(1319225344), // URECPEv4i32
7014 UINT64_C(1142259712), // URHADD_ZPmZ_B
7015 UINT64_C(1154842624), // URHADD_ZPmZ_D
7016 UINT64_C(1146454016), // URHADD_ZPmZ_H
7017 UINT64_C(1150648320), // URHADD_ZPmZ_S
7018 UINT64_C(1847596032), // URHADDv16i8
7019 UINT64_C(782242816), // URHADDv2i32
7020 UINT64_C(778048512), // URHADDv4i16
7021 UINT64_C(1855984640), // URHADDv4i32
7022 UINT64_C(1851790336), // URHADDv8i16
7023 UINT64_C(773854208), // URHADDv8i8
7024 UINT64_C(1141342208), // URSHLR_ZPmZ_B
7025 UINT64_C(1153925120), // URSHLR_ZPmZ_D
7026 UINT64_C(1145536512), // URSHLR_ZPmZ_H
7027 UINT64_C(1149730816), // URSHLR_ZPmZ_S
7028 UINT64_C(3240145441), // URSHL_VG2_2Z2Z_B
7029 UINT64_C(3252728353), // URSHL_VG2_2Z2Z_D
7030 UINT64_C(3244339745), // URSHL_VG2_2Z2Z_H
7031 UINT64_C(3248534049), // URSHL_VG2_2Z2Z_S
7032 UINT64_C(3240141345), // URSHL_VG2_2ZZ_B
7033 UINT64_C(3252724257), // URSHL_VG2_2ZZ_D
7034 UINT64_C(3244335649), // URSHL_VG2_2ZZ_H
7035 UINT64_C(3248529953), // URSHL_VG2_2ZZ_S
7036 UINT64_C(3240147489), // URSHL_VG4_4Z4Z_B
7037 UINT64_C(3252730401), // URSHL_VG4_4Z4Z_D
7038 UINT64_C(3244341793), // URSHL_VG4_4Z4Z_H
7039 UINT64_C(3248536097), // URSHL_VG4_4Z4Z_S
7040 UINT64_C(3240143393), // URSHL_VG4_4ZZ_B
7041 UINT64_C(3252726305), // URSHL_VG4_4ZZ_D
7042 UINT64_C(3244337697), // URSHL_VG4_4ZZ_H
7043 UINT64_C(3248532001), // URSHL_VG4_4ZZ_S
7044 UINT64_C(1141080064), // URSHL_ZPmZ_B
7045 UINT64_C(1153662976), // URSHL_ZPmZ_D
7046 UINT64_C(1145274368), // URSHL_ZPmZ_H
7047 UINT64_C(1149468672), // URSHL_ZPmZ_S
7048 UINT64_C(1847612416), // URSHLv16i8
7049 UINT64_C(2128630784), // URSHLv1i64
7050 UINT64_C(782259200), // URSHLv2i32
7051 UINT64_C(1860195328), // URSHLv2i64
7052 UINT64_C(778064896), // URSHLv4i16
7053 UINT64_C(1856001024), // URSHLv4i32
7054 UINT64_C(1851806720), // URSHLv8i16
7055 UINT64_C(773870592), // URSHLv8i8
7056 UINT64_C(67993856), // URSHR_ZPmI_B
7057 UINT64_C(76382208), // URSHR_ZPmI_D
7058 UINT64_C(67994112), // URSHR_ZPmI_H
7059 UINT64_C(72187904), // URSHR_ZPmI_S
7060 UINT64_C(2134909952), // URSHRd
7061 UINT64_C(1862804480), // URSHRv16i8_shift
7062 UINT64_C(790635520), // URSHRv2i32_shift
7063 UINT64_C(1866474496), // URSHRv2i64_shift
7064 UINT64_C(789586944), // URSHRv4i16_shift
7065 UINT64_C(1864377344), // URSHRv4i32_shift
7066 UINT64_C(1863328768), // URSHRv8i16_shift
7067 UINT64_C(789062656), // URSHRv8i8_shift
7068 UINT64_C(1149345792), // URSQRTE_ZPmZ_S
7069 UINT64_C(1149476864), // URSQRTE_ZPzZ_S
7070 UINT64_C(782354432), // URSQRTEv2i32
7071 UINT64_C(1856096256), // URSQRTEv4i32
7072 UINT64_C(1158212608), // URSRA_ZZI_B
7073 UINT64_C(1166076928), // URSRA_ZZI_D
7074 UINT64_C(1158736896), // URSRA_ZZI_H
7075 UINT64_C(1161882624), // URSRA_ZZI_S
7076 UINT64_C(2134914048), // URSRAd
7077 UINT64_C(1862808576), // URSRAv16i8_shift
7078 UINT64_C(790639616), // URSRAv2i32_shift
7079 UINT64_C(1866478592), // URSRAv2i64_shift
7080 UINT64_C(789591040), // URSRAv4i16_shift
7081 UINT64_C(1864381440), // URSRAv4i32_shift
7082 UINT64_C(1863332864), // URSRAv8i16_shift
7083 UINT64_C(789066752), // URSRAv8i8_shift
7084 UINT64_C(3248493576), // USDOT_VG2_M2Z2Z_BToS
7085 UINT64_C(3243249704), // USDOT_VG2_M2ZZI_BToS
7086 UINT64_C(3240104968), // USDOT_VG2_M2ZZ_BToS
7087 UINT64_C(3248559112), // USDOT_VG4_M4Z4Z_BToS
7088 UINT64_C(3243282472), // USDOT_VG4_M4ZZI_BToS
7089 UINT64_C(3241153544), // USDOT_VG4_M4ZZ_BToS
7090 UINT64_C(1149270016), // USDOT_ZZZ
7091 UINT64_C(1151342592), // USDOT_ZZZI
7092 UINT64_C(1333850112), // USDOTlanev16i8
7093 UINT64_C(260108288), // USDOTlanev8i8
7094 UINT64_C(1317051392), // USDOTv16i8
7095 UINT64_C(243309568), // USDOTv8i8
7096 UINT64_C(1161865216), // USHLLB_ZZI_D
7097 UINT64_C(1158195200), // USHLLB_ZZI_H
7098 UINT64_C(1158719488), // USHLLB_ZZI_S
7099 UINT64_C(1161866240), // USHLLT_ZZI_D
7100 UINT64_C(1158196224), // USHLLT_ZZI_H
7101 UINT64_C(1158720512), // USHLLT_ZZI_S
7102 UINT64_C(1862837248), // USHLLv16i8_shift
7103 UINT64_C(790668288), // USHLLv2i32_shift
7104 UINT64_C(789619712), // USHLLv4i16_shift
7105 UINT64_C(1864410112), // USHLLv4i32_shift
7106 UINT64_C(1863361536), // USHLLv8i16_shift
7107 UINT64_C(789095424), // USHLLv8i8_shift
7108 UINT64_C(1847608320), // USHLv16i8
7109 UINT64_C(2128626688), // USHLv1i64
7110 UINT64_C(782255104), // USHLv2i32
7111 UINT64_C(1860191232), // USHLv2i64
7112 UINT64_C(778060800), // USHLv4i16
7113 UINT64_C(1855996928), // USHLv4i32
7114 UINT64_C(1851802624), // USHLv8i16
7115 UINT64_C(773866496), // USHLv8i8
7116 UINT64_C(2134901760), // USHRd
7117 UINT64_C(1862796288), // USHRv16i8_shift
7118 UINT64_C(790627328), // USHRv2i32_shift
7119 UINT64_C(1866466304), // USHRv2i64_shift
7120 UINT64_C(789578752), // USHRv4i16_shift
7121 UINT64_C(1864369152), // USHRv4i32_shift
7122 UINT64_C(1863320576), // USHRv8i16_shift
7123 UINT64_C(789054464), // USHRv8i8_shift
7124 UINT64_C(3238002692), // USMLALL_MZZI_BtoS
7125 UINT64_C(3240100868), // USMLALL_MZZ_BtoS
7126 UINT64_C(3248488452), // USMLALL_VG2_M2Z2Z_BtoS
7127 UINT64_C(3239051296), // USMLALL_VG2_M2ZZI_BtoS
7128 UINT64_C(3240099844), // USMLALL_VG2_M2ZZ_BtoS
7129 UINT64_C(3248553988), // USMLALL_VG4_M4Z4Z_BtoS
7130 UINT64_C(3239084064), // USMLALL_VG4_M4ZZI_BtoS
7131 UINT64_C(3241148420), // USMLALL_VG4_M4ZZ_BtoS
7132 UINT64_C(1317055488), // USMMLA
7133 UINT64_C(1166055424), // USMMLA_ZZZ
7134 UINT64_C(2165342720), // USMOP4A_M2Z2Z_BToS
7135 UINT64_C(2714763784), // USMOP4A_M2Z2Z_HtoD
7136 UINT64_C(2164294144), // USMOP4A_M2ZZ_BToS
7137 UINT64_C(2713715208), // USMOP4A_M2ZZ_HtoD
7138 UINT64_C(2165342208), // USMOP4A_MZ2Z_BToS
7139 UINT64_C(2714763272), // USMOP4A_MZ2Z_HtoD
7140 UINT64_C(2164293632), // USMOP4A_MZZ_BToS
7141 UINT64_C(2713714696), // USMOP4A_MZZ_HtoD
7142 UINT64_C(2165342736), // USMOP4S_M2Z2Z_BToS
7143 UINT64_C(2714763800), // USMOP4S_M2Z2Z_HtoD
7144 UINT64_C(2164294160), // USMOP4S_M2ZZ_BToS
7145 UINT64_C(2713715224), // USMOP4S_M2ZZ_HtoD
7146 UINT64_C(2165342224), // USMOP4S_MZ2Z_BToS
7147 UINT64_C(2714763288), // USMOP4S_MZ2Z_HtoD
7148 UINT64_C(2164293648), // USMOP4S_MZZ_BToS
7149 UINT64_C(2713714712), // USMOP4S_MZZ_HtoD
7150 UINT64_C(2713714688), // USMOPA_MPPZZ_D
7151 UINT64_C(2709520384), // USMOPA_MPPZZ_S
7152 UINT64_C(2713714704), // USMOPS_MPPZZ_D
7153 UINT64_C(2709520400), // USMOPS_MPPZZ_S
7154 UINT64_C(1142784000), // USQADD_ZPmZ_B
7155 UINT64_C(1155366912), // USQADD_ZPmZ_D
7156 UINT64_C(1146978304), // USQADD_ZPmZ_H
7157 UINT64_C(1151172608), // USQADD_ZPmZ_S
7158 UINT64_C(1847605248), // USQADDv16i8
7159 UINT64_C(2120235008), // USQADDv1i16
7160 UINT64_C(2124429312), // USQADDv1i32
7161 UINT64_C(2128623616), // USQADDv1i64
7162 UINT64_C(2116040704), // USQADDv1i8
7163 UINT64_C(782252032), // USQADDv2i32
7164 UINT64_C(1860188160), // USQADDv2i64
7165 UINT64_C(778057728), // USQADDv4i16
7166 UINT64_C(1855993856), // USQADDv4i32
7167 UINT64_C(1851799552), // USQADDv8i16
7168 UINT64_C(773863424), // USQADDv8i8
7169 UINT64_C(1158210560), // USRA_ZZI_B
7170 UINT64_C(1166074880), // USRA_ZZI_D
7171 UINT64_C(1158734848), // USRA_ZZI_H
7172 UINT64_C(1161880576), // USRA_ZZI_S
7173 UINT64_C(2134905856), // USRAd
7174 UINT64_C(1862800384), // USRAv16i8_shift
7175 UINT64_C(790631424), // USRAv2i32_shift
7176 UINT64_C(1866470400), // USRAv2i64_shift
7177 UINT64_C(789582848), // USRAv4i16_shift
7178 UINT64_C(1864373248), // USRAv4i32_shift
7179 UINT64_C(1863324672), // USRAv8i16_shift
7180 UINT64_C(789058560), // USRAv8i8_shift
7181 UINT64_C(2168487936), // USTMOPA_M2ZZZI_BtoS
7182 UINT64_C(1170216960), // USUBLB_ZZZ_D
7183 UINT64_C(1161828352), // USUBLB_ZZZ_H
7184 UINT64_C(1166022656), // USUBLB_ZZZ_S
7185 UINT64_C(1170217984), // USUBLT_ZZZ_D
7186 UINT64_C(1161829376), // USUBLT_ZZZ_H
7187 UINT64_C(1166023680), // USUBLT_ZZZ_S
7188 UINT64_C(1847599104), // USUBLv16i8_v8i16
7189 UINT64_C(782245888), // USUBLv2i32_v2i64
7190 UINT64_C(778051584), // USUBLv4i16_v4i32
7191 UINT64_C(1855987712), // USUBLv4i32_v2i64
7192 UINT64_C(1851793408), // USUBLv8i16_v4i32
7193 UINT64_C(773857280), // USUBLv8i8_v8i16
7194 UINT64_C(1170233344), // USUBWB_ZZZ_D
7195 UINT64_C(1161844736), // USUBWB_ZZZ_H
7196 UINT64_C(1166039040), // USUBWB_ZZZ_S
7197 UINT64_C(1170234368), // USUBWT_ZZZ_D
7198 UINT64_C(1161845760), // USUBWT_ZZZ_H
7199 UINT64_C(1166040064), // USUBWT_ZZZ_S
7200 UINT64_C(1847603200), // USUBWv16i8_v8i16
7201 UINT64_C(782249984), // USUBWv2i32_v2i64
7202 UINT64_C(778055680), // USUBWv4i16_v4i32
7203 UINT64_C(1855991808), // USUBWv4i32_v2i64
7204 UINT64_C(1851797504), // USUBWv8i16_v4i32
7205 UINT64_C(773861376), // USUBWv8i8_v8i16
7206 UINT64_C(3243278376), // USVDOT_VG4_M4ZZI_BToS
7207 UINT64_C(2170585088), // UTMOPA_M2ZZZI_BtoS
7208 UINT64_C(2168487944), // UTMOPA_M2ZZZI_HtoS
7209 UINT64_C(99825664), // UUNPKHI_ZZ_D
7210 UINT64_C(91437056), // UUNPKHI_ZZ_H
7211 UINT64_C(95631360), // UUNPKHI_ZZ_S
7212 UINT64_C(99760128), // UUNPKLO_ZZ_D
7213 UINT64_C(91371520), // UUNPKLO_ZZ_H
7214 UINT64_C(95565824), // UUNPKLO_ZZ_S
7215 UINT64_C(3253067777), // UUNPK_VG2_2ZZ_D
7216 UINT64_C(3244679169), // UUNPK_VG2_2ZZ_H
7217 UINT64_C(3248873473), // UUNPK_VG2_2ZZ_S
7218 UINT64_C(3254116353), // UUNPK_VG4_4Z2Z_D
7219 UINT64_C(3245727745), // UUNPK_VG4_4Z2Z_H
7220 UINT64_C(3249922049), // UUNPK_VG4_4Z2Z_S
7221 UINT64_C(3243245616), // UVDOT_VG2_M2ZZI_HtoS
7222 UINT64_C(3243278384), // UVDOT_VG4_M4ZZI_BtoS
7223 UINT64_C(3251669016), // UVDOT_VG4_M4ZZI_HtoD
7224 UINT64_C(80846848), // UXTB_ZPmZ_D
7225 UINT64_C(72458240), // UXTB_ZPmZ_H
7226 UINT64_C(76652544), // UXTB_ZPmZ_S
7227 UINT64_C(79798272), // UXTB_ZPzZ_D
7228 UINT64_C(71409664), // UXTB_ZPzZ_H
7229 UINT64_C(75603968), // UXTB_ZPzZ_S
7230 UINT64_C(80977920), // UXTH_ZPmZ_D
7231 UINT64_C(76783616), // UXTH_ZPmZ_S
7232 UINT64_C(79929344), // UXTH_ZPzZ_D
7233 UINT64_C(75735040), // UXTH_ZPzZ_S
7234 UINT64_C(81108992), // UXTW_ZPmZ_D
7235 UINT64_C(80060416), // UXTW_ZPzZ_D
7236 UINT64_C(86001664), // UZP1_PPP_B
7237 UINT64_C(98584576), // UZP1_PPP_D
7238 UINT64_C(90195968), // UZP1_PPP_H
7239 UINT64_C(94390272), // UZP1_PPP_S
7240 UINT64_C(86009856), // UZP1_ZZZ_B
7241 UINT64_C(98592768), // UZP1_ZZZ_D
7242 UINT64_C(90204160), // UZP1_ZZZ_H
7243 UINT64_C(94373888), // UZP1_ZZZ_Q
7244 UINT64_C(94398464), // UZP1_ZZZ_S
7245 UINT64_C(1308628992), // UZP1v16i8
7246 UINT64_C(243275776), // UZP1v2i32
7247 UINT64_C(1321211904), // UZP1v2i64
7248 UINT64_C(239081472), // UZP1v4i16
7249 UINT64_C(1317017600), // UZP1v4i32
7250 UINT64_C(1312823296), // UZP1v8i16
7251 UINT64_C(234887168), // UZP1v8i8
7252 UINT64_C(86002688), // UZP2_PPP_B
7253 UINT64_C(98585600), // UZP2_PPP_D
7254 UINT64_C(90196992), // UZP2_PPP_H
7255 UINT64_C(94391296), // UZP2_PPP_S
7256 UINT64_C(86010880), // UZP2_ZZZ_B
7257 UINT64_C(98593792), // UZP2_ZZZ_D
7258 UINT64_C(90205184), // UZP2_ZZZ_H
7259 UINT64_C(94374912), // UZP2_ZZZ_Q
7260 UINT64_C(94399488), // UZP2_ZZZ_S
7261 UINT64_C(1308645376), // UZP2v16i8
7262 UINT64_C(243292160), // UZP2v2i32
7263 UINT64_C(1321228288), // UZP2v2i64
7264 UINT64_C(239097856), // UZP2v4i16
7265 UINT64_C(1317033984), // UZP2v4i32
7266 UINT64_C(1312839680), // UZP2v8i16
7267 UINT64_C(234903552), // UZP2v8i8
7268 UINT64_C(1140910080), // UZPQ1_ZZZ_B
7269 UINT64_C(1153492992), // UZPQ1_ZZZ_D
7270 UINT64_C(1145104384), // UZPQ1_ZZZ_H
7271 UINT64_C(1149298688), // UZPQ1_ZZZ_S
7272 UINT64_C(1140911104), // UZPQ2_ZZZ_B
7273 UINT64_C(1153494016), // UZPQ2_ZZZ_D
7274 UINT64_C(1145105408), // UZPQ2_ZZZ_H
7275 UINT64_C(1149299712), // UZPQ2_ZZZ_S
7276 UINT64_C(3240153089), // UZP_VG2_2ZZZ_B
7277 UINT64_C(3252736001), // UZP_VG2_2ZZZ_D
7278 UINT64_C(3244347393), // UZP_VG2_2ZZZ_H
7279 UINT64_C(3240154113), // UZP_VG2_2ZZZ_Q
7280 UINT64_C(3248541697), // UZP_VG2_2ZZZ_S
7281 UINT64_C(3241598978), // UZP_VG4_4Z4Z_B
7282 UINT64_C(3254181890), // UZP_VG4_4Z4Z_D
7283 UINT64_C(3245793282), // UZP_VG4_4Z4Z_H
7284 UINT64_C(3241664514), // UZP_VG4_4Z4Z_Q
7285 UINT64_C(3249987586), // UZP_VG4_4Z4Z_S
7286 UINT64_C(3573747712), // WFET
7287 UINT64_C(3573747744), // WFIT
7288 UINT64_C(622874640), // WHILEGE_2PXX_B
7289 UINT64_C(635457552), // WHILEGE_2PXX_D
7290 UINT64_C(627068944), // WHILEGE_2PXX_H
7291 UINT64_C(631263248), // WHILEGE_2PXX_S
7292 UINT64_C(622870544), // WHILEGE_CXX_B
7293 UINT64_C(635453456), // WHILEGE_CXX_D
7294 UINT64_C(627064848), // WHILEGE_CXX_H
7295 UINT64_C(631259152), // WHILEGE_CXX_S
7296 UINT64_C(622854144), // WHILEGE_PWW_B
7297 UINT64_C(635437056), // WHILEGE_PWW_D
7298 UINT64_C(627048448), // WHILEGE_PWW_H
7299 UINT64_C(631242752), // WHILEGE_PWW_S
7300 UINT64_C(622858240), // WHILEGE_PXX_B
7301 UINT64_C(635441152), // WHILEGE_PXX_D
7302 UINT64_C(627052544), // WHILEGE_PXX_H
7303 UINT64_C(631246848), // WHILEGE_PXX_S
7304 UINT64_C(622874641), // WHILEGT_2PXX_B
7305 UINT64_C(635457553), // WHILEGT_2PXX_D
7306 UINT64_C(627068945), // WHILEGT_2PXX_H
7307 UINT64_C(631263249), // WHILEGT_2PXX_S
7308 UINT64_C(622870552), // WHILEGT_CXX_B
7309 UINT64_C(635453464), // WHILEGT_CXX_D
7310 UINT64_C(627064856), // WHILEGT_CXX_H
7311 UINT64_C(631259160), // WHILEGT_CXX_S
7312 UINT64_C(622854160), // WHILEGT_PWW_B
7313 UINT64_C(635437072), // WHILEGT_PWW_D
7314 UINT64_C(627048464), // WHILEGT_PWW_H
7315 UINT64_C(631242768), // WHILEGT_PWW_S
7316 UINT64_C(622858256), // WHILEGT_PXX_B
7317 UINT64_C(635441168), // WHILEGT_PXX_D
7318 UINT64_C(627052560), // WHILEGT_PXX_H
7319 UINT64_C(631246864), // WHILEGT_PXX_S
7320 UINT64_C(622876689), // WHILEHI_2PXX_B
7321 UINT64_C(635459601), // WHILEHI_2PXX_D
7322 UINT64_C(627070993), // WHILEHI_2PXX_H
7323 UINT64_C(631265297), // WHILEHI_2PXX_S
7324 UINT64_C(622872600), // WHILEHI_CXX_B
7325 UINT64_C(635455512), // WHILEHI_CXX_D
7326 UINT64_C(627066904), // WHILEHI_CXX_H
7327 UINT64_C(631261208), // WHILEHI_CXX_S
7328 UINT64_C(622856208), // WHILEHI_PWW_B
7329 UINT64_C(635439120), // WHILEHI_PWW_D
7330 UINT64_C(627050512), // WHILEHI_PWW_H
7331 UINT64_C(631244816), // WHILEHI_PWW_S
7332 UINT64_C(622860304), // WHILEHI_PXX_B
7333 UINT64_C(635443216), // WHILEHI_PXX_D
7334 UINT64_C(627054608), // WHILEHI_PXX_H
7335 UINT64_C(631248912), // WHILEHI_PXX_S
7336 UINT64_C(622876688), // WHILEHS_2PXX_B
7337 UINT64_C(635459600), // WHILEHS_2PXX_D
7338 UINT64_C(627070992), // WHILEHS_2PXX_H
7339 UINT64_C(631265296), // WHILEHS_2PXX_S
7340 UINT64_C(622872592), // WHILEHS_CXX_B
7341 UINT64_C(635455504), // WHILEHS_CXX_D
7342 UINT64_C(627066896), // WHILEHS_CXX_H
7343 UINT64_C(631261200), // WHILEHS_CXX_S
7344 UINT64_C(622856192), // WHILEHS_PWW_B
7345 UINT64_C(635439104), // WHILEHS_PWW_D
7346 UINT64_C(627050496), // WHILEHS_PWW_H
7347 UINT64_C(631244800), // WHILEHS_PWW_S
7348 UINT64_C(622860288), // WHILEHS_PXX_B
7349 UINT64_C(635443200), // WHILEHS_PXX_D
7350 UINT64_C(627054592), // WHILEHS_PXX_H
7351 UINT64_C(631248896), // WHILEHS_PXX_S
7352 UINT64_C(622875665), // WHILELE_2PXX_B
7353 UINT64_C(635458577), // WHILELE_2PXX_D
7354 UINT64_C(627069969), // WHILELE_2PXX_H
7355 UINT64_C(631264273), // WHILELE_2PXX_S
7356 UINT64_C(622871576), // WHILELE_CXX_B
7357 UINT64_C(635454488), // WHILELE_CXX_D
7358 UINT64_C(627065880), // WHILELE_CXX_H
7359 UINT64_C(631260184), // WHILELE_CXX_S
7360 UINT64_C(622855184), // WHILELE_PWW_B
7361 UINT64_C(635438096), // WHILELE_PWW_D
7362 UINT64_C(627049488), // WHILELE_PWW_H
7363 UINT64_C(631243792), // WHILELE_PWW_S
7364 UINT64_C(622859280), // WHILELE_PXX_B
7365 UINT64_C(635442192), // WHILELE_PXX_D
7366 UINT64_C(627053584), // WHILELE_PXX_H
7367 UINT64_C(631247888), // WHILELE_PXX_S
7368 UINT64_C(622877712), // WHILELO_2PXX_B
7369 UINT64_C(635460624), // WHILELO_2PXX_D
7370 UINT64_C(627072016), // WHILELO_2PXX_H
7371 UINT64_C(631266320), // WHILELO_2PXX_S
7372 UINT64_C(622873616), // WHILELO_CXX_B
7373 UINT64_C(635456528), // WHILELO_CXX_D
7374 UINT64_C(627067920), // WHILELO_CXX_H
7375 UINT64_C(631262224), // WHILELO_CXX_S
7376 UINT64_C(622857216), // WHILELO_PWW_B
7377 UINT64_C(635440128), // WHILELO_PWW_D
7378 UINT64_C(627051520), // WHILELO_PWW_H
7379 UINT64_C(631245824), // WHILELO_PWW_S
7380 UINT64_C(622861312), // WHILELO_PXX_B
7381 UINT64_C(635444224), // WHILELO_PXX_D
7382 UINT64_C(627055616), // WHILELO_PXX_H
7383 UINT64_C(631249920), // WHILELO_PXX_S
7384 UINT64_C(622877713), // WHILELS_2PXX_B
7385 UINT64_C(635460625), // WHILELS_2PXX_D
7386 UINT64_C(627072017), // WHILELS_2PXX_H
7387 UINT64_C(631266321), // WHILELS_2PXX_S
7388 UINT64_C(622873624), // WHILELS_CXX_B
7389 UINT64_C(635456536), // WHILELS_CXX_D
7390 UINT64_C(627067928), // WHILELS_CXX_H
7391 UINT64_C(631262232), // WHILELS_CXX_S
7392 UINT64_C(622857232), // WHILELS_PWW_B
7393 UINT64_C(635440144), // WHILELS_PWW_D
7394 UINT64_C(627051536), // WHILELS_PWW_H
7395 UINT64_C(631245840), // WHILELS_PWW_S
7396 UINT64_C(622861328), // WHILELS_PXX_B
7397 UINT64_C(635444240), // WHILELS_PXX_D
7398 UINT64_C(627055632), // WHILELS_PXX_H
7399 UINT64_C(631249936), // WHILELS_PXX_S
7400 UINT64_C(622875664), // WHILELT_2PXX_B
7401 UINT64_C(635458576), // WHILELT_2PXX_D
7402 UINT64_C(627069968), // WHILELT_2PXX_H
7403 UINT64_C(631264272), // WHILELT_2PXX_S
7404 UINT64_C(622871568), // WHILELT_CXX_B
7405 UINT64_C(635454480), // WHILELT_CXX_D
7406 UINT64_C(627065872), // WHILELT_CXX_H
7407 UINT64_C(631260176), // WHILELT_CXX_S
7408 UINT64_C(622855168), // WHILELT_PWW_B
7409 UINT64_C(635438080), // WHILELT_PWW_D
7410 UINT64_C(627049472), // WHILELT_PWW_H
7411 UINT64_C(631243776), // WHILELT_PWW_S
7412 UINT64_C(622859264), // WHILELT_PXX_B
7413 UINT64_C(635442176), // WHILELT_PXX_D
7414 UINT64_C(627053568), // WHILELT_PXX_H
7415 UINT64_C(631247872), // WHILELT_PXX_S
7416 UINT64_C(622866448), // WHILERW_PXX_B
7417 UINT64_C(635449360), // WHILERW_PXX_D
7418 UINT64_C(627060752), // WHILERW_PXX_H
7419 UINT64_C(631255056), // WHILERW_PXX_S
7420 UINT64_C(622866432), // WHILEWR_PXX_B
7421 UINT64_C(635449344), // WHILEWR_PXX_D
7422 UINT64_C(627060736), // WHILEWR_PXX_H
7423 UINT64_C(631255040), // WHILEWR_PXX_S
7424 UINT64_C(623415296), // WRFFR
7425 UINT64_C(3573563455), // XAFLAG
7426 UINT64_C(3464495104), // XAR
7427 UINT64_C(69743616), // XAR_ZZZI_B
7428 UINT64_C(77607936), // XAR_ZZZI_D
7429 UINT64_C(70267904), // XAR_ZZZI_H
7430 UINT64_C(73413632), // XAR_ZZZI_S
7431 UINT64_C(3670099936), // XPACD
7432 UINT64_C(3670098912), // XPACI
7433 UINT64_C(3573752063), // XPACLRI
7434 UINT64_C(1310795776), // XTNv16i8
7435 UINT64_C(245442560), // XTNv2i32
7436 UINT64_C(241248256), // XTNv4i16
7437 UINT64_C(1319184384), // XTNv4i32
7438 UINT64_C(1314990080), // XTNv8i16
7439 UINT64_C(237053952), // XTNv8i8
7440 UINT64_C(3221749760), // ZERO_M
7441 UINT64_C(3222044672), // ZERO_MXI_2Z
7442 UINT64_C(3222175744), // ZERO_MXI_4Z
7443 UINT64_C(3222077440), // ZERO_MXI_VG2_2Z
7444 UINT64_C(3222208512), // ZERO_MXI_VG2_4Z
7445 UINT64_C(3222011904), // ZERO_MXI_VG2_Z
7446 UINT64_C(3222110208), // ZERO_MXI_VG4_2Z
7447 UINT64_C(3222241280), // ZERO_MXI_VG4_4Z
7448 UINT64_C(3222142976), // ZERO_MXI_VG4_Z
7449 UINT64_C(3225944065), // ZERO_T
7450 UINT64_C(85999616), // ZIP1_PPP_B
7451 UINT64_C(98582528), // ZIP1_PPP_D
7452 UINT64_C(90193920), // ZIP1_PPP_H
7453 UINT64_C(94388224), // ZIP1_PPP_S
7454 UINT64_C(86007808), // ZIP1_ZZZ_B
7455 UINT64_C(98590720), // ZIP1_ZZZ_D
7456 UINT64_C(90202112), // ZIP1_ZZZ_H
7457 UINT64_C(94371840), // ZIP1_ZZZ_Q
7458 UINT64_C(94396416), // ZIP1_ZZZ_S
7459 UINT64_C(1308637184), // ZIP1v16i8
7460 UINT64_C(243283968), // ZIP1v2i32
7461 UINT64_C(1321220096), // ZIP1v2i64
7462 UINT64_C(239089664), // ZIP1v4i16
7463 UINT64_C(1317025792), // ZIP1v4i32
7464 UINT64_C(1312831488), // ZIP1v8i16
7465 UINT64_C(234895360), // ZIP1v8i8
7466 UINT64_C(86000640), // ZIP2_PPP_B
7467 UINT64_C(98583552), // ZIP2_PPP_D
7468 UINT64_C(90194944), // ZIP2_PPP_H
7469 UINT64_C(94389248), // ZIP2_PPP_S
7470 UINT64_C(86008832), // ZIP2_ZZZ_B
7471 UINT64_C(98591744), // ZIP2_ZZZ_D
7472 UINT64_C(90203136), // ZIP2_ZZZ_H
7473 UINT64_C(94372864), // ZIP2_ZZZ_Q
7474 UINT64_C(94397440), // ZIP2_ZZZ_S
7475 UINT64_C(1308653568), // ZIP2v16i8
7476 UINT64_C(243300352), // ZIP2v2i32
7477 UINT64_C(1321236480), // ZIP2v2i64
7478 UINT64_C(239106048), // ZIP2v4i16
7479 UINT64_C(1317042176), // ZIP2v4i32
7480 UINT64_C(1312847872), // ZIP2v8i16
7481 UINT64_C(234911744), // ZIP2v8i8
7482 UINT64_C(1140908032), // ZIPQ1_ZZZ_B
7483 UINT64_C(1153490944), // ZIPQ1_ZZZ_D
7484 UINT64_C(1145102336), // ZIPQ1_ZZZ_H
7485 UINT64_C(1149296640), // ZIPQ1_ZZZ_S
7486 UINT64_C(1140909056), // ZIPQ2_ZZZ_B
7487 UINT64_C(1153491968), // ZIPQ2_ZZZ_D
7488 UINT64_C(1145103360), // ZIPQ2_ZZZ_H
7489 UINT64_C(1149297664), // ZIPQ2_ZZZ_S
7490 UINT64_C(3240153088), // ZIP_VG2_2ZZZ_B
7491 UINT64_C(3252736000), // ZIP_VG2_2ZZZ_D
7492 UINT64_C(3244347392), // ZIP_VG2_2ZZZ_H
7493 UINT64_C(3240154112), // ZIP_VG2_2ZZZ_Q
7494 UINT64_C(3248541696), // ZIP_VG2_2ZZZ_S
7495 UINT64_C(3241598976), // ZIP_VG4_4Z4Z_B
7496 UINT64_C(3254181888), // ZIP_VG4_4Z4Z_D
7497 UINT64_C(3245793280), // ZIP_VG4_4Z4Z_H
7498 UINT64_C(3241664512), // ZIP_VG4_4Z4Z_Q
7499 UINT64_C(3249987584), // ZIP_VG4_4Z4Z_S
7500 };
7501 constexpr unsigned FirstSupportedOpcode = 1705;
7502
7503 const unsigned opcode = MI.getOpcode();
7504 if (opcode < FirstSupportedOpcode)
7505 reportUnsupportedInst(Inst: MI);
7506 unsigned TableIndex = opcode - FirstSupportedOpcode;
7507 uint64_t Value = InstBits[TableIndex];
7508 uint64_t op = 0;
7509 (void)op; // suppress warning
7510 switch (opcode) {
7511 case AArch64::AUTIA1716:
7512 case AArch64::AUTIA171615:
7513 case AArch64::AUTIASP:
7514 case AArch64::AUTIAZ:
7515 case AArch64::AUTIB1716:
7516 case AArch64::AUTIB171615:
7517 case AArch64::AUTIBSP:
7518 case AArch64::AUTIBZ:
7519 case AArch64::AXFLAG:
7520 case AArch64::CFINV:
7521 case AArch64::CHKFEAT:
7522 case AArch64::DRPS:
7523 case AArch64::ERET:
7524 case AArch64::ERETAA:
7525 case AArch64::ERETAB:
7526 case AArch64::GCSPOPCX:
7527 case AArch64::GCSPOPX:
7528 case AArch64::GCSPUSHX:
7529 case AArch64::NOP:
7530 case AArch64::PACIA1716:
7531 case AArch64::PACIA171615:
7532 case AArch64::PACIASP:
7533 case AArch64::PACIASPPC:
7534 case AArch64::PACIAZ:
7535 case AArch64::PACIB1716:
7536 case AArch64::PACIB171615:
7537 case AArch64::PACIBSP:
7538 case AArch64::PACIBSPPC:
7539 case AArch64::PACIBZ:
7540 case AArch64::PACM:
7541 case AArch64::PACNBIASPPC:
7542 case AArch64::PACNBIBSPPC:
7543 case AArch64::RETAA:
7544 case AArch64::RETAB:
7545 case AArch64::SB:
7546 case AArch64::SETFFR:
7547 case AArch64::STCPH:
7548 case AArch64::TSB:
7549 case AArch64::XAFLAG:
7550 case AArch64::XPACLRI:
7551 case AArch64::ZERO_T: {
7552 break;
7553 }
7554 case AArch64::DSBnXS: {
7555 // op: CRm
7556 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7557 Value |= (op & 0xc) << 8;
7558 break;
7559 }
7560 case AArch64::CLREX:
7561 case AArch64::DMB:
7562 case AArch64::DSB:
7563 case AArch64::ISB: {
7564 // op: CRm
7565 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7566 Value |= (op & 0xf) << 8;
7567 break;
7568 }
7569 case AArch64::PTRUE_C_B:
7570 case AArch64::PTRUE_C_D:
7571 case AArch64::PTRUE_C_H:
7572 case AArch64::PTRUE_C_S: {
7573 // op: PNd
7574 op = EncodePNR_p8to15(MI, OpIdx: 0, Fixups, STI);
7575 Value |= (op & 0x7);
7576 break;
7577 }
7578 case AArch64::WHILEGE_CXX_B:
7579 case AArch64::WHILEGE_CXX_D:
7580 case AArch64::WHILEGE_CXX_H:
7581 case AArch64::WHILEGE_CXX_S:
7582 case AArch64::WHILEGT_CXX_B:
7583 case AArch64::WHILEGT_CXX_D:
7584 case AArch64::WHILEGT_CXX_H:
7585 case AArch64::WHILEGT_CXX_S:
7586 case AArch64::WHILEHI_CXX_B:
7587 case AArch64::WHILEHI_CXX_D:
7588 case AArch64::WHILEHI_CXX_H:
7589 case AArch64::WHILEHI_CXX_S:
7590 case AArch64::WHILEHS_CXX_B:
7591 case AArch64::WHILEHS_CXX_D:
7592 case AArch64::WHILEHS_CXX_H:
7593 case AArch64::WHILEHS_CXX_S:
7594 case AArch64::WHILELE_CXX_B:
7595 case AArch64::WHILELE_CXX_D:
7596 case AArch64::WHILELE_CXX_H:
7597 case AArch64::WHILELE_CXX_S:
7598 case AArch64::WHILELO_CXX_B:
7599 case AArch64::WHILELO_CXX_D:
7600 case AArch64::WHILELO_CXX_H:
7601 case AArch64::WHILELO_CXX_S:
7602 case AArch64::WHILELS_CXX_B:
7603 case AArch64::WHILELS_CXX_D:
7604 case AArch64::WHILELS_CXX_H:
7605 case AArch64::WHILELS_CXX_S:
7606 case AArch64::WHILELT_CXX_B:
7607 case AArch64::WHILELT_CXX_D:
7608 case AArch64::WHILELT_CXX_H:
7609 case AArch64::WHILELT_CXX_S: {
7610 // op: PNd
7611 op = EncodePNR_p8to15(MI, OpIdx: 0, Fixups, STI);
7612 Value |= (op & 0x7);
7613 // op: Rn
7614 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7615 Value |= (op & 0x1f) << 5;
7616 // op: vl
7617 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7618 Value |= (op & 0x1) << 13;
7619 // op: Rm
7620 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7621 Value |= (op & 0x1f) << 16;
7622 break;
7623 }
7624 case AArch64::SEL_VG2_2ZC2Z2Z_B:
7625 case AArch64::SEL_VG2_2ZC2Z2Z_D:
7626 case AArch64::SEL_VG2_2ZC2Z2Z_H:
7627 case AArch64::SEL_VG2_2ZC2Z2Z_S: {
7628 // op: PNg
7629 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7630 Value |= (op & 0x7) << 10;
7631 // op: Zm
7632 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 3, Fixups, STI);
7633 Value |= (op & 0xf) << 17;
7634 // op: Zn
7635 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
7636 Value |= (op & 0xf) << 6;
7637 // op: Zd
7638 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
7639 Value |= (op & 0xf) << 1;
7640 break;
7641 }
7642 case AArch64::SEL_VG4_4ZC4Z4Z_B:
7643 case AArch64::SEL_VG4_4ZC4Z4Z_D:
7644 case AArch64::SEL_VG4_4ZC4Z4Z_H:
7645 case AArch64::SEL_VG4_4ZC4Z4Z_S: {
7646 // op: PNg
7647 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7648 Value |= (op & 0x7) << 10;
7649 // op: Zm
7650 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 3, Fixups, STI);
7651 Value |= (op & 0x7) << 18;
7652 // op: Zn
7653 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 2, Fixups, STI);
7654 Value |= (op & 0x7) << 7;
7655 // op: Zd
7656 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
7657 Value |= (op & 0x7) << 2;
7658 break;
7659 }
7660 case AArch64::WHILEGE_2PXX_B:
7661 case AArch64::WHILEGE_2PXX_D:
7662 case AArch64::WHILEGE_2PXX_H:
7663 case AArch64::WHILEGE_2PXX_S:
7664 case AArch64::WHILEGT_2PXX_B:
7665 case AArch64::WHILEGT_2PXX_D:
7666 case AArch64::WHILEGT_2PXX_H:
7667 case AArch64::WHILEGT_2PXX_S:
7668 case AArch64::WHILEHI_2PXX_B:
7669 case AArch64::WHILEHI_2PXX_D:
7670 case AArch64::WHILEHI_2PXX_H:
7671 case AArch64::WHILEHI_2PXX_S:
7672 case AArch64::WHILEHS_2PXX_B:
7673 case AArch64::WHILEHS_2PXX_D:
7674 case AArch64::WHILEHS_2PXX_H:
7675 case AArch64::WHILEHS_2PXX_S:
7676 case AArch64::WHILELE_2PXX_B:
7677 case AArch64::WHILELE_2PXX_D:
7678 case AArch64::WHILELE_2PXX_H:
7679 case AArch64::WHILELE_2PXX_S:
7680 case AArch64::WHILELO_2PXX_B:
7681 case AArch64::WHILELO_2PXX_D:
7682 case AArch64::WHILELO_2PXX_H:
7683 case AArch64::WHILELO_2PXX_S:
7684 case AArch64::WHILELS_2PXX_B:
7685 case AArch64::WHILELS_2PXX_D:
7686 case AArch64::WHILELS_2PXX_H:
7687 case AArch64::WHILELS_2PXX_S:
7688 case AArch64::WHILELT_2PXX_B:
7689 case AArch64::WHILELT_2PXX_D:
7690 case AArch64::WHILELT_2PXX_H:
7691 case AArch64::WHILELT_2PXX_S: {
7692 // op: Pd
7693 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 0, Fixups, STI);
7694 Value |= (op & 0x7) << 1;
7695 // op: Rn
7696 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7697 Value |= (op & 0x1f) << 5;
7698 // op: Rm
7699 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7700 Value |= (op & 0x1f) << 16;
7701 break;
7702 }
7703 case AArch64::PFALSE:
7704 case AArch64::RDFFR_P: {
7705 // op: Pd
7706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7707 Value |= (op & 0xf);
7708 break;
7709 }
7710 case AArch64::PEXT_2PCI_B:
7711 case AArch64::PEXT_2PCI_D:
7712 case AArch64::PEXT_2PCI_H:
7713 case AArch64::PEXT_2PCI_S: {
7714 // op: Pd
7715 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7716 Value |= (op & 0xf);
7717 // op: PNn
7718 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7719 Value |= (op & 0x7) << 5;
7720 // op: index
7721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7722 Value |= (op & 0x1) << 8;
7723 break;
7724 }
7725 case AArch64::PEXT_PCI_B:
7726 case AArch64::PEXT_PCI_D:
7727 case AArch64::PEXT_PCI_H:
7728 case AArch64::PEXT_PCI_S: {
7729 // op: Pd
7730 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7731 Value |= (op & 0xf);
7732 // op: PNn
7733 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7734 Value |= (op & 0x7) << 5;
7735 // op: index
7736 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7737 Value |= (op & 0x3) << 8;
7738 break;
7739 }
7740 case AArch64::CMPEQ_PPzZZ_B:
7741 case AArch64::CMPEQ_PPzZZ_D:
7742 case AArch64::CMPEQ_PPzZZ_H:
7743 case AArch64::CMPEQ_PPzZZ_S:
7744 case AArch64::CMPEQ_WIDE_PPzZZ_B:
7745 case AArch64::CMPEQ_WIDE_PPzZZ_H:
7746 case AArch64::CMPEQ_WIDE_PPzZZ_S:
7747 case AArch64::CMPGE_PPzZZ_B:
7748 case AArch64::CMPGE_PPzZZ_D:
7749 case AArch64::CMPGE_PPzZZ_H:
7750 case AArch64::CMPGE_PPzZZ_S:
7751 case AArch64::CMPGE_WIDE_PPzZZ_B:
7752 case AArch64::CMPGE_WIDE_PPzZZ_H:
7753 case AArch64::CMPGE_WIDE_PPzZZ_S:
7754 case AArch64::CMPGT_PPzZZ_B:
7755 case AArch64::CMPGT_PPzZZ_D:
7756 case AArch64::CMPGT_PPzZZ_H:
7757 case AArch64::CMPGT_PPzZZ_S:
7758 case AArch64::CMPGT_WIDE_PPzZZ_B:
7759 case AArch64::CMPGT_WIDE_PPzZZ_H:
7760 case AArch64::CMPGT_WIDE_PPzZZ_S:
7761 case AArch64::CMPHI_PPzZZ_B:
7762 case AArch64::CMPHI_PPzZZ_D:
7763 case AArch64::CMPHI_PPzZZ_H:
7764 case AArch64::CMPHI_PPzZZ_S:
7765 case AArch64::CMPHI_WIDE_PPzZZ_B:
7766 case AArch64::CMPHI_WIDE_PPzZZ_H:
7767 case AArch64::CMPHI_WIDE_PPzZZ_S:
7768 case AArch64::CMPHS_PPzZZ_B:
7769 case AArch64::CMPHS_PPzZZ_D:
7770 case AArch64::CMPHS_PPzZZ_H:
7771 case AArch64::CMPHS_PPzZZ_S:
7772 case AArch64::CMPHS_WIDE_PPzZZ_B:
7773 case AArch64::CMPHS_WIDE_PPzZZ_H:
7774 case AArch64::CMPHS_WIDE_PPzZZ_S:
7775 case AArch64::CMPLE_WIDE_PPzZZ_B:
7776 case AArch64::CMPLE_WIDE_PPzZZ_H:
7777 case AArch64::CMPLE_WIDE_PPzZZ_S:
7778 case AArch64::CMPLO_WIDE_PPzZZ_B:
7779 case AArch64::CMPLO_WIDE_PPzZZ_H:
7780 case AArch64::CMPLO_WIDE_PPzZZ_S:
7781 case AArch64::CMPLS_WIDE_PPzZZ_B:
7782 case AArch64::CMPLS_WIDE_PPzZZ_H:
7783 case AArch64::CMPLS_WIDE_PPzZZ_S:
7784 case AArch64::CMPLT_WIDE_PPzZZ_B:
7785 case AArch64::CMPLT_WIDE_PPzZZ_H:
7786 case AArch64::CMPLT_WIDE_PPzZZ_S:
7787 case AArch64::CMPNE_PPzZZ_B:
7788 case AArch64::CMPNE_PPzZZ_D:
7789 case AArch64::CMPNE_PPzZZ_H:
7790 case AArch64::CMPNE_PPzZZ_S:
7791 case AArch64::CMPNE_WIDE_PPzZZ_B:
7792 case AArch64::CMPNE_WIDE_PPzZZ_H:
7793 case AArch64::CMPNE_WIDE_PPzZZ_S:
7794 case AArch64::FACGE_PPzZZ_D:
7795 case AArch64::FACGE_PPzZZ_H:
7796 case AArch64::FACGE_PPzZZ_S:
7797 case AArch64::FACGT_PPzZZ_D:
7798 case AArch64::FACGT_PPzZZ_H:
7799 case AArch64::FACGT_PPzZZ_S:
7800 case AArch64::FCMEQ_PPzZZ_D:
7801 case AArch64::FCMEQ_PPzZZ_H:
7802 case AArch64::FCMEQ_PPzZZ_S:
7803 case AArch64::FCMGE_PPzZZ_D:
7804 case AArch64::FCMGE_PPzZZ_H:
7805 case AArch64::FCMGE_PPzZZ_S:
7806 case AArch64::FCMGT_PPzZZ_D:
7807 case AArch64::FCMGT_PPzZZ_H:
7808 case AArch64::FCMGT_PPzZZ_S:
7809 case AArch64::FCMNE_PPzZZ_D:
7810 case AArch64::FCMNE_PPzZZ_H:
7811 case AArch64::FCMNE_PPzZZ_S:
7812 case AArch64::FCMUO_PPzZZ_D:
7813 case AArch64::FCMUO_PPzZZ_H:
7814 case AArch64::FCMUO_PPzZZ_S:
7815 case AArch64::MATCH_PPzZZ_B:
7816 case AArch64::MATCH_PPzZZ_H:
7817 case AArch64::NMATCH_PPzZZ_B:
7818 case AArch64::NMATCH_PPzZZ_H: {
7819 // op: Pd
7820 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7821 Value |= (op & 0xf);
7822 // op: Pg
7823 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7824 Value |= (op & 0x7) << 10;
7825 // op: Zm
7826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7827 Value |= (op & 0x1f) << 16;
7828 // op: Zn
7829 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7830 Value |= (op & 0x1f) << 5;
7831 break;
7832 }
7833 case AArch64::FCMEQ_PPzZ0_D:
7834 case AArch64::FCMEQ_PPzZ0_H:
7835 case AArch64::FCMEQ_PPzZ0_S:
7836 case AArch64::FCMGE_PPzZ0_D:
7837 case AArch64::FCMGE_PPzZ0_H:
7838 case AArch64::FCMGE_PPzZ0_S:
7839 case AArch64::FCMGT_PPzZ0_D:
7840 case AArch64::FCMGT_PPzZ0_H:
7841 case AArch64::FCMGT_PPzZ0_S:
7842 case AArch64::FCMLE_PPzZ0_D:
7843 case AArch64::FCMLE_PPzZ0_H:
7844 case AArch64::FCMLE_PPzZ0_S:
7845 case AArch64::FCMLT_PPzZ0_D:
7846 case AArch64::FCMLT_PPzZ0_H:
7847 case AArch64::FCMLT_PPzZ0_S:
7848 case AArch64::FCMNE_PPzZ0_D:
7849 case AArch64::FCMNE_PPzZ0_H:
7850 case AArch64::FCMNE_PPzZ0_S: {
7851 // op: Pd
7852 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7853 Value |= (op & 0xf);
7854 // op: Pg
7855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7856 Value |= (op & 0x7) << 10;
7857 // op: Zn
7858 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7859 Value |= (op & 0x1f) << 5;
7860 break;
7861 }
7862 case AArch64::CMPEQ_PPzZI_B:
7863 case AArch64::CMPEQ_PPzZI_D:
7864 case AArch64::CMPEQ_PPzZI_H:
7865 case AArch64::CMPEQ_PPzZI_S:
7866 case AArch64::CMPGE_PPzZI_B:
7867 case AArch64::CMPGE_PPzZI_D:
7868 case AArch64::CMPGE_PPzZI_H:
7869 case AArch64::CMPGE_PPzZI_S:
7870 case AArch64::CMPGT_PPzZI_B:
7871 case AArch64::CMPGT_PPzZI_D:
7872 case AArch64::CMPGT_PPzZI_H:
7873 case AArch64::CMPGT_PPzZI_S:
7874 case AArch64::CMPLE_PPzZI_B:
7875 case AArch64::CMPLE_PPzZI_D:
7876 case AArch64::CMPLE_PPzZI_H:
7877 case AArch64::CMPLE_PPzZI_S:
7878 case AArch64::CMPLT_PPzZI_B:
7879 case AArch64::CMPLT_PPzZI_D:
7880 case AArch64::CMPLT_PPzZI_H:
7881 case AArch64::CMPLT_PPzZI_S:
7882 case AArch64::CMPNE_PPzZI_B:
7883 case AArch64::CMPNE_PPzZI_D:
7884 case AArch64::CMPNE_PPzZI_H:
7885 case AArch64::CMPNE_PPzZI_S: {
7886 // op: Pd
7887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7888 Value |= (op & 0xf);
7889 // op: Pg
7890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7891 Value |= (op & 0x7) << 10;
7892 // op: Zn
7893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7894 Value |= (op & 0x1f) << 5;
7895 // op: imm5
7896 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7897 Value |= (op & 0x1f) << 16;
7898 break;
7899 }
7900 case AArch64::CMPHI_PPzZI_B:
7901 case AArch64::CMPHI_PPzZI_D:
7902 case AArch64::CMPHI_PPzZI_H:
7903 case AArch64::CMPHI_PPzZI_S:
7904 case AArch64::CMPHS_PPzZI_B:
7905 case AArch64::CMPHS_PPzZI_D:
7906 case AArch64::CMPHS_PPzZI_H:
7907 case AArch64::CMPHS_PPzZI_S:
7908 case AArch64::CMPLO_PPzZI_B:
7909 case AArch64::CMPLO_PPzZI_D:
7910 case AArch64::CMPLO_PPzZI_H:
7911 case AArch64::CMPLO_PPzZI_S:
7912 case AArch64::CMPLS_PPzZI_B:
7913 case AArch64::CMPLS_PPzZI_D:
7914 case AArch64::CMPLS_PPzZI_H:
7915 case AArch64::CMPLS_PPzZI_S: {
7916 // op: Pd
7917 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7918 Value |= (op & 0xf);
7919 // op: Pg
7920 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7921 Value |= (op & 0x7) << 10;
7922 // op: Zn
7923 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7924 Value |= (op & 0x1f) << 5;
7925 // op: imm7
7926 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7927 Value |= (op & 0x7f) << 14;
7928 break;
7929 }
7930 case AArch64::ANDS_PPzPP:
7931 case AArch64::AND_PPzPP:
7932 case AArch64::BICS_PPzPP:
7933 case AArch64::BIC_PPzPP:
7934 case AArch64::BRKPAS_PPzPP:
7935 case AArch64::BRKPA_PPzPP:
7936 case AArch64::BRKPBS_PPzPP:
7937 case AArch64::BRKPB_PPzPP:
7938 case AArch64::EORS_PPzPP:
7939 case AArch64::EOR_PPzPP:
7940 case AArch64::NANDS_PPzPP:
7941 case AArch64::NAND_PPzPP:
7942 case AArch64::NORS_PPzPP:
7943 case AArch64::NOR_PPzPP:
7944 case AArch64::ORNS_PPzPP:
7945 case AArch64::ORN_PPzPP:
7946 case AArch64::ORRS_PPzPP:
7947 case AArch64::ORR_PPzPP:
7948 case AArch64::SEL_PPPP: {
7949 // op: Pd
7950 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7951 Value |= (op & 0xf);
7952 // op: Pg
7953 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7954 Value |= (op & 0xf) << 10;
7955 // op: Pm
7956 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7957 Value |= (op & 0xf) << 16;
7958 // op: Pn
7959 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7960 Value |= (op & 0xf) << 5;
7961 break;
7962 }
7963 case AArch64::BRKAS_PPzP:
7964 case AArch64::BRKA_PPzP:
7965 case AArch64::BRKBS_PPzP:
7966 case AArch64::BRKB_PPzP: {
7967 // op: Pd
7968 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7969 Value |= (op & 0xf);
7970 // op: Pg
7971 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7972 Value |= (op & 0xf) << 10;
7973 // op: Pn
7974 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7975 Value |= (op & 0xf) << 5;
7976 break;
7977 }
7978 case AArch64::RDFFRS_PPz:
7979 case AArch64::RDFFR_PPz: {
7980 // op: Pd
7981 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7982 Value |= (op & 0xf);
7983 // op: Pg
7984 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7985 Value |= (op & 0xf) << 5;
7986 break;
7987 }
7988 case AArch64::BRKA_PPmP:
7989 case AArch64::BRKB_PPmP: {
7990 // op: Pd
7991 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7992 Value |= (op & 0xf);
7993 // op: Pg
7994 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7995 Value |= (op & 0xf) << 10;
7996 // op: Pn
7997 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7998 Value |= (op & 0xf) << 5;
7999 break;
8000 }
8001 case AArch64::TRN1_PPP_B:
8002 case AArch64::TRN1_PPP_D:
8003 case AArch64::TRN1_PPP_H:
8004 case AArch64::TRN1_PPP_S:
8005 case AArch64::TRN2_PPP_B:
8006 case AArch64::TRN2_PPP_D:
8007 case AArch64::TRN2_PPP_H:
8008 case AArch64::TRN2_PPP_S:
8009 case AArch64::UZP1_PPP_B:
8010 case AArch64::UZP1_PPP_D:
8011 case AArch64::UZP1_PPP_H:
8012 case AArch64::UZP1_PPP_S:
8013 case AArch64::UZP2_PPP_B:
8014 case AArch64::UZP2_PPP_D:
8015 case AArch64::UZP2_PPP_H:
8016 case AArch64::UZP2_PPP_S:
8017 case AArch64::ZIP1_PPP_B:
8018 case AArch64::ZIP1_PPP_D:
8019 case AArch64::ZIP1_PPP_H:
8020 case AArch64::ZIP1_PPP_S:
8021 case AArch64::ZIP2_PPP_B:
8022 case AArch64::ZIP2_PPP_D:
8023 case AArch64::ZIP2_PPP_H:
8024 case AArch64::ZIP2_PPP_S: {
8025 // op: Pd
8026 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8027 Value |= (op & 0xf);
8028 // op: Pm
8029 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8030 Value |= (op & 0xf) << 16;
8031 // op: Pn
8032 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8033 Value |= (op & 0xf) << 5;
8034 break;
8035 }
8036 case AArch64::PUNPKHI_PP:
8037 case AArch64::PUNPKLO_PP:
8038 case AArch64::REV_PP_B:
8039 case AArch64::REV_PP_D:
8040 case AArch64::REV_PP_H:
8041 case AArch64::REV_PP_S: {
8042 // op: Pd
8043 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8044 Value |= (op & 0xf);
8045 // op: Pn
8046 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8047 Value |= (op & 0xf) << 5;
8048 break;
8049 }
8050 case AArch64::WHILEGE_PWW_B:
8051 case AArch64::WHILEGE_PWW_D:
8052 case AArch64::WHILEGE_PWW_H:
8053 case AArch64::WHILEGE_PWW_S:
8054 case AArch64::WHILEGE_PXX_B:
8055 case AArch64::WHILEGE_PXX_D:
8056 case AArch64::WHILEGE_PXX_H:
8057 case AArch64::WHILEGE_PXX_S:
8058 case AArch64::WHILEGT_PWW_B:
8059 case AArch64::WHILEGT_PWW_D:
8060 case AArch64::WHILEGT_PWW_H:
8061 case AArch64::WHILEGT_PWW_S:
8062 case AArch64::WHILEGT_PXX_B:
8063 case AArch64::WHILEGT_PXX_D:
8064 case AArch64::WHILEGT_PXX_H:
8065 case AArch64::WHILEGT_PXX_S:
8066 case AArch64::WHILEHI_PWW_B:
8067 case AArch64::WHILEHI_PWW_D:
8068 case AArch64::WHILEHI_PWW_H:
8069 case AArch64::WHILEHI_PWW_S:
8070 case AArch64::WHILEHI_PXX_B:
8071 case AArch64::WHILEHI_PXX_D:
8072 case AArch64::WHILEHI_PXX_H:
8073 case AArch64::WHILEHI_PXX_S:
8074 case AArch64::WHILEHS_PWW_B:
8075 case AArch64::WHILEHS_PWW_D:
8076 case AArch64::WHILEHS_PWW_H:
8077 case AArch64::WHILEHS_PWW_S:
8078 case AArch64::WHILEHS_PXX_B:
8079 case AArch64::WHILEHS_PXX_D:
8080 case AArch64::WHILEHS_PXX_H:
8081 case AArch64::WHILEHS_PXX_S:
8082 case AArch64::WHILELE_PWW_B:
8083 case AArch64::WHILELE_PWW_D:
8084 case AArch64::WHILELE_PWW_H:
8085 case AArch64::WHILELE_PWW_S:
8086 case AArch64::WHILELE_PXX_B:
8087 case AArch64::WHILELE_PXX_D:
8088 case AArch64::WHILELE_PXX_H:
8089 case AArch64::WHILELE_PXX_S:
8090 case AArch64::WHILELO_PWW_B:
8091 case AArch64::WHILELO_PWW_D:
8092 case AArch64::WHILELO_PWW_H:
8093 case AArch64::WHILELO_PWW_S:
8094 case AArch64::WHILELO_PXX_B:
8095 case AArch64::WHILELO_PXX_D:
8096 case AArch64::WHILELO_PXX_H:
8097 case AArch64::WHILELO_PXX_S:
8098 case AArch64::WHILELS_PWW_B:
8099 case AArch64::WHILELS_PWW_D:
8100 case AArch64::WHILELS_PWW_H:
8101 case AArch64::WHILELS_PWW_S:
8102 case AArch64::WHILELS_PXX_B:
8103 case AArch64::WHILELS_PXX_D:
8104 case AArch64::WHILELS_PXX_H:
8105 case AArch64::WHILELS_PXX_S:
8106 case AArch64::WHILELT_PWW_B:
8107 case AArch64::WHILELT_PWW_D:
8108 case AArch64::WHILELT_PWW_H:
8109 case AArch64::WHILELT_PWW_S:
8110 case AArch64::WHILELT_PXX_B:
8111 case AArch64::WHILELT_PXX_D:
8112 case AArch64::WHILELT_PXX_H:
8113 case AArch64::WHILELT_PXX_S:
8114 case AArch64::WHILERW_PXX_B:
8115 case AArch64::WHILERW_PXX_D:
8116 case AArch64::WHILERW_PXX_H:
8117 case AArch64::WHILERW_PXX_S:
8118 case AArch64::WHILEWR_PXX_B:
8119 case AArch64::WHILEWR_PXX_D:
8120 case AArch64::WHILEWR_PXX_H:
8121 case AArch64::WHILEWR_PXX_S: {
8122 // op: Pd
8123 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8124 Value |= (op & 0xf);
8125 // op: Rm
8126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8127 Value |= (op & 0x1f) << 16;
8128 // op: Rn
8129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8130 Value |= (op & 0x1f) << 5;
8131 break;
8132 }
8133 case AArch64::PMOV_PZI_B: {
8134 // op: Pd
8135 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8136 Value |= (op & 0xf);
8137 // op: Zn
8138 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8139 Value |= (op & 0x1f) << 5;
8140 break;
8141 }
8142 case AArch64::PMOV_PZI_H: {
8143 // op: Pd
8144 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8145 Value |= (op & 0xf);
8146 // op: Zn
8147 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8148 Value |= (op & 0x1f) << 5;
8149 // op: index
8150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8151 Value |= (op & 0x1) << 17;
8152 break;
8153 }
8154 case AArch64::PMOV_PZI_S: {
8155 // op: Pd
8156 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8157 Value |= (op & 0xf);
8158 // op: Zn
8159 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8160 Value |= (op & 0x1f) << 5;
8161 // op: index
8162 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8163 Value |= (op & 0x3) << 17;
8164 break;
8165 }
8166 case AArch64::PMOV_PZI_D: {
8167 // op: Pd
8168 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8169 Value |= (op & 0xf);
8170 // op: Zn
8171 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8172 Value |= (op & 0x1f) << 5;
8173 // op: index
8174 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8175 Value |= (op & 0x4) << 20;
8176 Value |= (op & 0x3) << 17;
8177 break;
8178 }
8179 case AArch64::PTRUES_B:
8180 case AArch64::PTRUES_D:
8181 case AArch64::PTRUES_H:
8182 case AArch64::PTRUES_S:
8183 case AArch64::PTRUE_B:
8184 case AArch64::PTRUE_D:
8185 case AArch64::PTRUE_H:
8186 case AArch64::PTRUE_S: {
8187 // op: Pd
8188 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8189 Value |= (op & 0xf);
8190 // op: pattern
8191 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8192 Value |= (op & 0x1f) << 5;
8193 break;
8194 }
8195 case AArch64::BRKNS_PPzP:
8196 case AArch64::BRKN_PPzP: {
8197 // op: Pdm
8198 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8199 Value |= (op & 0xf);
8200 // op: Pg
8201 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8202 Value |= (op & 0xf) << 10;
8203 // op: Pn
8204 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8205 Value |= (op & 0xf) << 5;
8206 break;
8207 }
8208 case AArch64::PFIRST_B:
8209 case AArch64::PNEXT_B:
8210 case AArch64::PNEXT_D:
8211 case AArch64::PNEXT_H:
8212 case AArch64::PNEXT_S: {
8213 // op: Pdn
8214 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8215 Value |= (op & 0xf);
8216 // op: Pg
8217 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8218 Value |= (op & 0xf) << 5;
8219 break;
8220 }
8221 case AArch64::PTEST_PP: {
8222 // op: Pg
8223 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8224 Value |= (op & 0xf) << 10;
8225 // op: Pn
8226 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8227 Value |= (op & 0xf) << 5;
8228 break;
8229 }
8230 case AArch64::LASTA_RPZ_B:
8231 case AArch64::LASTA_RPZ_D:
8232 case AArch64::LASTA_RPZ_H:
8233 case AArch64::LASTA_RPZ_S:
8234 case AArch64::LASTB_RPZ_B:
8235 case AArch64::LASTB_RPZ_D:
8236 case AArch64::LASTB_RPZ_H:
8237 case AArch64::LASTB_RPZ_S: {
8238 // op: Pg
8239 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8240 Value |= (op & 0x7) << 10;
8241 // op: Rd
8242 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8243 Value |= (op & 0x1f);
8244 // op: Zn
8245 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8246 Value |= (op & 0x1f) << 5;
8247 break;
8248 }
8249 case AArch64::CLASTA_RPZ_B:
8250 case AArch64::CLASTA_RPZ_D:
8251 case AArch64::CLASTA_RPZ_H:
8252 case AArch64::CLASTA_RPZ_S:
8253 case AArch64::CLASTB_RPZ_B:
8254 case AArch64::CLASTB_RPZ_D:
8255 case AArch64::CLASTB_RPZ_H:
8256 case AArch64::CLASTB_RPZ_S: {
8257 // op: Pg
8258 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8259 Value |= (op & 0x7) << 10;
8260 // op: Rdn
8261 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8262 Value |= (op & 0x1f);
8263 // op: Zm
8264 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8265 Value |= (op & 0x1f) << 5;
8266 break;
8267 }
8268 case AArch64::LD2B:
8269 case AArch64::LD2D:
8270 case AArch64::LD2H:
8271 case AArch64::LD2Q:
8272 case AArch64::LD2W:
8273 case AArch64::LD3B:
8274 case AArch64::LD3D:
8275 case AArch64::LD3H:
8276 case AArch64::LD3Q:
8277 case AArch64::LD3W:
8278 case AArch64::LD4B:
8279 case AArch64::LD4D:
8280 case AArch64::LD4H:
8281 case AArch64::LD4Q:
8282 case AArch64::LD4W:
8283 case AArch64::LDNT1B_ZRR:
8284 case AArch64::LDNT1D_ZRR:
8285 case AArch64::LDNT1H_ZRR:
8286 case AArch64::LDNT1W_ZRR:
8287 case AArch64::ST1B:
8288 case AArch64::ST1B_D:
8289 case AArch64::ST1B_H:
8290 case AArch64::ST1B_S:
8291 case AArch64::ST1D:
8292 case AArch64::ST1D_Q:
8293 case AArch64::ST1H:
8294 case AArch64::ST1H_D:
8295 case AArch64::ST1H_S:
8296 case AArch64::ST1W:
8297 case AArch64::ST1W_D:
8298 case AArch64::ST1W_Q:
8299 case AArch64::ST2B:
8300 case AArch64::ST2D:
8301 case AArch64::ST2H:
8302 case AArch64::ST2W:
8303 case AArch64::ST3B:
8304 case AArch64::ST3D:
8305 case AArch64::ST3H:
8306 case AArch64::ST3W:
8307 case AArch64::ST4B:
8308 case AArch64::ST4D:
8309 case AArch64::ST4H:
8310 case AArch64::ST4W:
8311 case AArch64::STNT1B_ZRR:
8312 case AArch64::STNT1D_ZRR:
8313 case AArch64::STNT1H_ZRR:
8314 case AArch64::STNT1W_ZRR: {
8315 // op: Pg
8316 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8317 Value |= (op & 0x7) << 10;
8318 // op: Rm
8319 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8320 Value |= (op & 0x1f) << 16;
8321 // op: Rn
8322 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8323 Value |= (op & 0x1f) << 5;
8324 // op: Zt
8325 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8326 Value |= (op & 0x1f);
8327 break;
8328 }
8329 case AArch64::LDNT1B_ZZR_D:
8330 case AArch64::LDNT1B_ZZR_S:
8331 case AArch64::LDNT1D_ZZR_D:
8332 case AArch64::LDNT1H_ZZR_D:
8333 case AArch64::LDNT1H_ZZR_S:
8334 case AArch64::LDNT1SB_ZZR_D:
8335 case AArch64::LDNT1SB_ZZR_S:
8336 case AArch64::LDNT1SH_ZZR_D:
8337 case AArch64::LDNT1SH_ZZR_S:
8338 case AArch64::LDNT1SW_ZZR_D:
8339 case AArch64::LDNT1W_ZZR_D:
8340 case AArch64::LDNT1W_ZZR_S:
8341 case AArch64::STNT1B_ZZR_D:
8342 case AArch64::STNT1B_ZZR_S:
8343 case AArch64::STNT1D_ZZR_D:
8344 case AArch64::STNT1H_ZZR_D:
8345 case AArch64::STNT1H_ZZR_S:
8346 case AArch64::STNT1W_ZZR_D:
8347 case AArch64::STNT1W_ZZR_S: {
8348 // op: Pg
8349 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8350 Value |= (op & 0x7) << 10;
8351 // op: Rm
8352 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8353 Value |= (op & 0x1f) << 16;
8354 // op: Zn
8355 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8356 Value |= (op & 0x1f) << 5;
8357 // op: Zt
8358 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8359 Value |= (op & 0x1f);
8360 break;
8361 }
8362 case AArch64::GLD1B_D:
8363 case AArch64::GLD1B_D_SXTW:
8364 case AArch64::GLD1B_D_UXTW:
8365 case AArch64::GLD1B_S_SXTW:
8366 case AArch64::GLD1B_S_UXTW:
8367 case AArch64::GLD1D:
8368 case AArch64::GLD1D_SCALED:
8369 case AArch64::GLD1D_SXTW:
8370 case AArch64::GLD1D_SXTW_SCALED:
8371 case AArch64::GLD1D_UXTW:
8372 case AArch64::GLD1D_UXTW_SCALED:
8373 case AArch64::GLD1H_D:
8374 case AArch64::GLD1H_D_SCALED:
8375 case AArch64::GLD1H_D_SXTW:
8376 case AArch64::GLD1H_D_SXTW_SCALED:
8377 case AArch64::GLD1H_D_UXTW:
8378 case AArch64::GLD1H_D_UXTW_SCALED:
8379 case AArch64::GLD1H_S_SXTW:
8380 case AArch64::GLD1H_S_SXTW_SCALED:
8381 case AArch64::GLD1H_S_UXTW:
8382 case AArch64::GLD1H_S_UXTW_SCALED:
8383 case AArch64::GLD1SB_D:
8384 case AArch64::GLD1SB_D_SXTW:
8385 case AArch64::GLD1SB_D_UXTW:
8386 case AArch64::GLD1SB_S_SXTW:
8387 case AArch64::GLD1SB_S_UXTW:
8388 case AArch64::GLD1SH_D:
8389 case AArch64::GLD1SH_D_SCALED:
8390 case AArch64::GLD1SH_D_SXTW:
8391 case AArch64::GLD1SH_D_SXTW_SCALED:
8392 case AArch64::GLD1SH_D_UXTW:
8393 case AArch64::GLD1SH_D_UXTW_SCALED:
8394 case AArch64::GLD1SH_S_SXTW:
8395 case AArch64::GLD1SH_S_SXTW_SCALED:
8396 case AArch64::GLD1SH_S_UXTW:
8397 case AArch64::GLD1SH_S_UXTW_SCALED:
8398 case AArch64::GLD1SW_D:
8399 case AArch64::GLD1SW_D_SCALED:
8400 case AArch64::GLD1SW_D_SXTW:
8401 case AArch64::GLD1SW_D_SXTW_SCALED:
8402 case AArch64::GLD1SW_D_UXTW:
8403 case AArch64::GLD1SW_D_UXTW_SCALED:
8404 case AArch64::GLD1W_D:
8405 case AArch64::GLD1W_D_SCALED:
8406 case AArch64::GLD1W_D_SXTW:
8407 case AArch64::GLD1W_D_SXTW_SCALED:
8408 case AArch64::GLD1W_D_UXTW:
8409 case AArch64::GLD1W_D_UXTW_SCALED:
8410 case AArch64::GLD1W_SXTW:
8411 case AArch64::GLD1W_SXTW_SCALED:
8412 case AArch64::GLD1W_UXTW:
8413 case AArch64::GLD1W_UXTW_SCALED:
8414 case AArch64::GLDFF1B_D:
8415 case AArch64::GLDFF1B_D_SXTW:
8416 case AArch64::GLDFF1B_D_UXTW:
8417 case AArch64::GLDFF1B_S_SXTW:
8418 case AArch64::GLDFF1B_S_UXTW:
8419 case AArch64::GLDFF1D:
8420 case AArch64::GLDFF1D_SCALED:
8421 case AArch64::GLDFF1D_SXTW:
8422 case AArch64::GLDFF1D_SXTW_SCALED:
8423 case AArch64::GLDFF1D_UXTW:
8424 case AArch64::GLDFF1D_UXTW_SCALED:
8425 case AArch64::GLDFF1H_D:
8426 case AArch64::GLDFF1H_D_SCALED:
8427 case AArch64::GLDFF1H_D_SXTW:
8428 case AArch64::GLDFF1H_D_SXTW_SCALED:
8429 case AArch64::GLDFF1H_D_UXTW:
8430 case AArch64::GLDFF1H_D_UXTW_SCALED:
8431 case AArch64::GLDFF1H_S_SXTW:
8432 case AArch64::GLDFF1H_S_SXTW_SCALED:
8433 case AArch64::GLDFF1H_S_UXTW:
8434 case AArch64::GLDFF1H_S_UXTW_SCALED:
8435 case AArch64::GLDFF1SB_D:
8436 case AArch64::GLDFF1SB_D_SXTW:
8437 case AArch64::GLDFF1SB_D_UXTW:
8438 case AArch64::GLDFF1SB_S_SXTW:
8439 case AArch64::GLDFF1SB_S_UXTW:
8440 case AArch64::GLDFF1SH_D:
8441 case AArch64::GLDFF1SH_D_SCALED:
8442 case AArch64::GLDFF1SH_D_SXTW:
8443 case AArch64::GLDFF1SH_D_SXTW_SCALED:
8444 case AArch64::GLDFF1SH_D_UXTW:
8445 case AArch64::GLDFF1SH_D_UXTW_SCALED:
8446 case AArch64::GLDFF1SH_S_SXTW:
8447 case AArch64::GLDFF1SH_S_SXTW_SCALED:
8448 case AArch64::GLDFF1SH_S_UXTW:
8449 case AArch64::GLDFF1SH_S_UXTW_SCALED:
8450 case AArch64::GLDFF1SW_D:
8451 case AArch64::GLDFF1SW_D_SCALED:
8452 case AArch64::GLDFF1SW_D_SXTW:
8453 case AArch64::GLDFF1SW_D_SXTW_SCALED:
8454 case AArch64::GLDFF1SW_D_UXTW:
8455 case AArch64::GLDFF1SW_D_UXTW_SCALED:
8456 case AArch64::GLDFF1W_D:
8457 case AArch64::GLDFF1W_D_SCALED:
8458 case AArch64::GLDFF1W_D_SXTW:
8459 case AArch64::GLDFF1W_D_SXTW_SCALED:
8460 case AArch64::GLDFF1W_D_UXTW:
8461 case AArch64::GLDFF1W_D_UXTW_SCALED:
8462 case AArch64::GLDFF1W_SXTW:
8463 case AArch64::GLDFF1W_SXTW_SCALED:
8464 case AArch64::GLDFF1W_UXTW:
8465 case AArch64::GLDFF1W_UXTW_SCALED:
8466 case AArch64::SST1B_D:
8467 case AArch64::SST1B_D_SXTW:
8468 case AArch64::SST1B_D_UXTW:
8469 case AArch64::SST1B_S_SXTW:
8470 case AArch64::SST1B_S_UXTW:
8471 case AArch64::SST1D:
8472 case AArch64::SST1D_SCALED:
8473 case AArch64::SST1D_SXTW:
8474 case AArch64::SST1D_SXTW_SCALED:
8475 case AArch64::SST1D_UXTW:
8476 case AArch64::SST1D_UXTW_SCALED:
8477 case AArch64::SST1H_D:
8478 case AArch64::SST1H_D_SCALED:
8479 case AArch64::SST1H_D_SXTW:
8480 case AArch64::SST1H_D_SXTW_SCALED:
8481 case AArch64::SST1H_D_UXTW:
8482 case AArch64::SST1H_D_UXTW_SCALED:
8483 case AArch64::SST1H_S_SXTW:
8484 case AArch64::SST1H_S_SXTW_SCALED:
8485 case AArch64::SST1H_S_UXTW:
8486 case AArch64::SST1H_S_UXTW_SCALED:
8487 case AArch64::SST1W_D:
8488 case AArch64::SST1W_D_SCALED:
8489 case AArch64::SST1W_D_SXTW:
8490 case AArch64::SST1W_D_SXTW_SCALED:
8491 case AArch64::SST1W_D_UXTW:
8492 case AArch64::SST1W_D_UXTW_SCALED:
8493 case AArch64::SST1W_SXTW:
8494 case AArch64::SST1W_SXTW_SCALED:
8495 case AArch64::SST1W_UXTW:
8496 case AArch64::SST1W_UXTW_SCALED: {
8497 // op: Pg
8498 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8499 Value |= (op & 0x7) << 10;
8500 // op: Rn
8501 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8502 Value |= (op & 0x1f) << 5;
8503 // op: Zm
8504 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8505 Value |= (op & 0x1f) << 16;
8506 // op: Zt
8507 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8508 Value |= (op & 0x1f);
8509 break;
8510 }
8511 case AArch64::PRFB_D_SCALED:
8512 case AArch64::PRFB_D_SXTW_SCALED:
8513 case AArch64::PRFB_D_UXTW_SCALED:
8514 case AArch64::PRFB_S_SXTW_SCALED:
8515 case AArch64::PRFB_S_UXTW_SCALED:
8516 case AArch64::PRFD_D_SCALED:
8517 case AArch64::PRFD_D_SXTW_SCALED:
8518 case AArch64::PRFD_D_UXTW_SCALED:
8519 case AArch64::PRFD_S_SXTW_SCALED:
8520 case AArch64::PRFD_S_UXTW_SCALED:
8521 case AArch64::PRFH_D_SCALED:
8522 case AArch64::PRFH_D_SXTW_SCALED:
8523 case AArch64::PRFH_D_UXTW_SCALED:
8524 case AArch64::PRFH_S_SXTW_SCALED:
8525 case AArch64::PRFH_S_UXTW_SCALED:
8526 case AArch64::PRFW_D_SCALED:
8527 case AArch64::PRFW_D_SXTW_SCALED:
8528 case AArch64::PRFW_D_UXTW_SCALED:
8529 case AArch64::PRFW_S_SXTW_SCALED:
8530 case AArch64::PRFW_S_UXTW_SCALED: {
8531 // op: Pg
8532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8533 Value |= (op & 0x7) << 10;
8534 // op: Rn
8535 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8536 Value |= (op & 0x1f) << 5;
8537 // op: Zm
8538 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8539 Value |= (op & 0x1f) << 16;
8540 // op: prfop
8541 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8542 Value |= (op & 0xf);
8543 break;
8544 }
8545 case AArch64::LD1B_D_IMM:
8546 case AArch64::LD1B_H_IMM:
8547 case AArch64::LD1B_IMM:
8548 case AArch64::LD1B_S_IMM:
8549 case AArch64::LD1D_IMM:
8550 case AArch64::LD1H_D_IMM:
8551 case AArch64::LD1H_IMM:
8552 case AArch64::LD1H_S_IMM:
8553 case AArch64::LD1SB_D_IMM:
8554 case AArch64::LD1SB_H_IMM:
8555 case AArch64::LD1SB_S_IMM:
8556 case AArch64::LD1SH_D_IMM:
8557 case AArch64::LD1SH_S_IMM:
8558 case AArch64::LD1SW_D_IMM:
8559 case AArch64::LD1W_D_IMM:
8560 case AArch64::LD1W_IMM:
8561 case AArch64::LDNF1B_D_IMM:
8562 case AArch64::LDNF1B_H_IMM:
8563 case AArch64::LDNF1B_IMM:
8564 case AArch64::LDNF1B_S_IMM:
8565 case AArch64::LDNF1D_IMM:
8566 case AArch64::LDNF1H_D_IMM:
8567 case AArch64::LDNF1H_IMM:
8568 case AArch64::LDNF1H_S_IMM:
8569 case AArch64::LDNF1SB_D_IMM:
8570 case AArch64::LDNF1SB_H_IMM:
8571 case AArch64::LDNF1SB_S_IMM:
8572 case AArch64::LDNF1SH_D_IMM:
8573 case AArch64::LDNF1SH_S_IMM:
8574 case AArch64::LDNF1SW_D_IMM:
8575 case AArch64::LDNF1W_D_IMM:
8576 case AArch64::LDNF1W_IMM:
8577 case AArch64::ST1B_D_IMM:
8578 case AArch64::ST1B_H_IMM:
8579 case AArch64::ST1B_IMM:
8580 case AArch64::ST1B_S_IMM:
8581 case AArch64::ST1D_IMM:
8582 case AArch64::ST1D_Q_IMM:
8583 case AArch64::ST1H_D_IMM:
8584 case AArch64::ST1H_IMM:
8585 case AArch64::ST1H_S_IMM:
8586 case AArch64::ST1W_D_IMM:
8587 case AArch64::ST1W_IMM:
8588 case AArch64::ST1W_Q_IMM:
8589 case AArch64::ST2B_IMM:
8590 case AArch64::ST2D_IMM:
8591 case AArch64::ST2H_IMM:
8592 case AArch64::ST2W_IMM:
8593 case AArch64::ST3B_IMM:
8594 case AArch64::ST3D_IMM:
8595 case AArch64::ST3H_IMM:
8596 case AArch64::ST3W_IMM:
8597 case AArch64::ST4B_IMM:
8598 case AArch64::ST4D_IMM:
8599 case AArch64::ST4H_IMM:
8600 case AArch64::ST4W_IMM:
8601 case AArch64::STNT1B_ZRI:
8602 case AArch64::STNT1D_ZRI:
8603 case AArch64::STNT1H_ZRI:
8604 case AArch64::STNT1W_ZRI: {
8605 // op: Pg
8606 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8607 Value |= (op & 0x7) << 10;
8608 // op: Rn
8609 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8610 Value |= (op & 0x1f) << 5;
8611 // op: Zt
8612 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8613 Value |= (op & 0x1f);
8614 // op: imm4
8615 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8616 Value |= (op & 0xf) << 16;
8617 break;
8618 }
8619 case AArch64::LD1RB_D_IMM:
8620 case AArch64::LD1RB_H_IMM:
8621 case AArch64::LD1RB_IMM:
8622 case AArch64::LD1RB_S_IMM:
8623 case AArch64::LD1RD_IMM:
8624 case AArch64::LD1RH_D_IMM:
8625 case AArch64::LD1RH_IMM:
8626 case AArch64::LD1RH_S_IMM:
8627 case AArch64::LD1RSB_D_IMM:
8628 case AArch64::LD1RSB_H_IMM:
8629 case AArch64::LD1RSB_S_IMM:
8630 case AArch64::LD1RSH_D_IMM:
8631 case AArch64::LD1RSH_S_IMM:
8632 case AArch64::LD1RSW_IMM:
8633 case AArch64::LD1RW_D_IMM:
8634 case AArch64::LD1RW_IMM: {
8635 // op: Pg
8636 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8637 Value |= (op & 0x7) << 10;
8638 // op: Rn
8639 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8640 Value |= (op & 0x1f) << 5;
8641 // op: Zt
8642 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8643 Value |= (op & 0x1f);
8644 // op: imm6
8645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8646 Value |= (op & 0x3f) << 16;
8647 break;
8648 }
8649 case AArch64::ANDV_VPZ_B:
8650 case AArch64::ANDV_VPZ_D:
8651 case AArch64::ANDV_VPZ_H:
8652 case AArch64::ANDV_VPZ_S:
8653 case AArch64::EORV_VPZ_B:
8654 case AArch64::EORV_VPZ_D:
8655 case AArch64::EORV_VPZ_H:
8656 case AArch64::EORV_VPZ_S:
8657 case AArch64::LASTA_VPZ_B:
8658 case AArch64::LASTA_VPZ_D:
8659 case AArch64::LASTA_VPZ_H:
8660 case AArch64::LASTA_VPZ_S:
8661 case AArch64::LASTB_VPZ_B:
8662 case AArch64::LASTB_VPZ_D:
8663 case AArch64::LASTB_VPZ_H:
8664 case AArch64::LASTB_VPZ_S:
8665 case AArch64::ORV_VPZ_B:
8666 case AArch64::ORV_VPZ_D:
8667 case AArch64::ORV_VPZ_H:
8668 case AArch64::ORV_VPZ_S:
8669 case AArch64::SADDV_VPZ_B:
8670 case AArch64::SADDV_VPZ_H:
8671 case AArch64::SADDV_VPZ_S:
8672 case AArch64::SMAXV_VPZ_B:
8673 case AArch64::SMAXV_VPZ_D:
8674 case AArch64::SMAXV_VPZ_H:
8675 case AArch64::SMAXV_VPZ_S:
8676 case AArch64::SMINV_VPZ_B:
8677 case AArch64::SMINV_VPZ_D:
8678 case AArch64::SMINV_VPZ_H:
8679 case AArch64::SMINV_VPZ_S:
8680 case AArch64::UADDV_VPZ_B:
8681 case AArch64::UADDV_VPZ_D:
8682 case AArch64::UADDV_VPZ_H:
8683 case AArch64::UADDV_VPZ_S:
8684 case AArch64::UMAXV_VPZ_B:
8685 case AArch64::UMAXV_VPZ_D:
8686 case AArch64::UMAXV_VPZ_H:
8687 case AArch64::UMAXV_VPZ_S:
8688 case AArch64::UMINV_VPZ_B:
8689 case AArch64::UMINV_VPZ_D:
8690 case AArch64::UMINV_VPZ_H:
8691 case AArch64::UMINV_VPZ_S: {
8692 // op: Pg
8693 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8694 Value |= (op & 0x7) << 10;
8695 // op: Vd
8696 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8697 Value |= (op & 0x1f);
8698 // op: Zn
8699 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8700 Value |= (op & 0x1f) << 5;
8701 break;
8702 }
8703 case AArch64::CLASTA_VPZ_B:
8704 case AArch64::CLASTA_VPZ_D:
8705 case AArch64::CLASTA_VPZ_H:
8706 case AArch64::CLASTA_VPZ_S:
8707 case AArch64::CLASTB_VPZ_B:
8708 case AArch64::CLASTB_VPZ_D:
8709 case AArch64::CLASTB_VPZ_H:
8710 case AArch64::CLASTB_VPZ_S:
8711 case AArch64::FADDA_VPZ_D:
8712 case AArch64::FADDA_VPZ_H:
8713 case AArch64::FADDA_VPZ_S: {
8714 // op: Pg
8715 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8716 Value |= (op & 0x7) << 10;
8717 // op: Vdn
8718 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8719 Value |= (op & 0x1f);
8720 // op: Zm
8721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8722 Value |= (op & 0x1f) << 5;
8723 break;
8724 }
8725 case AArch64::FMAD_ZPmZZ_D:
8726 case AArch64::FMAD_ZPmZZ_H:
8727 case AArch64::FMAD_ZPmZZ_S:
8728 case AArch64::FMSB_ZPmZZ_D:
8729 case AArch64::FMSB_ZPmZZ_H:
8730 case AArch64::FMSB_ZPmZZ_S:
8731 case AArch64::FNMAD_ZPmZZ_D:
8732 case AArch64::FNMAD_ZPmZZ_H:
8733 case AArch64::FNMAD_ZPmZZ_S:
8734 case AArch64::FNMSB_ZPmZZ_D:
8735 case AArch64::FNMSB_ZPmZZ_H:
8736 case AArch64::FNMSB_ZPmZZ_S: {
8737 // op: Pg
8738 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8739 Value |= (op & 0x7) << 10;
8740 // op: Za
8741 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8742 Value |= (op & 0x1f) << 16;
8743 // op: Zdn
8744 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8745 Value |= (op & 0x1f);
8746 // op: Zm
8747 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8748 Value |= (op & 0x1f) << 5;
8749 break;
8750 }
8751 case AArch64::ABS_ZPzZ_B:
8752 case AArch64::ABS_ZPzZ_D:
8753 case AArch64::ABS_ZPzZ_H:
8754 case AArch64::ABS_ZPzZ_S:
8755 case AArch64::BFCVT_ZPzZ_StoH:
8756 case AArch64::CLS_ZPzZ_B:
8757 case AArch64::CLS_ZPzZ_D:
8758 case AArch64::CLS_ZPzZ_H:
8759 case AArch64::CLS_ZPzZ_S:
8760 case AArch64::CLZ_ZPzZ_B:
8761 case AArch64::CLZ_ZPzZ_D:
8762 case AArch64::CLZ_ZPzZ_H:
8763 case AArch64::CLZ_ZPzZ_S:
8764 case AArch64::CNOT_ZPzZ_B:
8765 case AArch64::CNOT_ZPzZ_D:
8766 case AArch64::CNOT_ZPzZ_H:
8767 case AArch64::CNOT_ZPzZ_S:
8768 case AArch64::CNT_ZPzZ_B:
8769 case AArch64::CNT_ZPzZ_D:
8770 case AArch64::CNT_ZPzZ_H:
8771 case AArch64::CNT_ZPzZ_S:
8772 case AArch64::COMPACT_ZPZ_B:
8773 case AArch64::COMPACT_ZPZ_D:
8774 case AArch64::COMPACT_ZPZ_H:
8775 case AArch64::COMPACT_ZPZ_S:
8776 case AArch64::FABS_ZPzZ_D:
8777 case AArch64::FABS_ZPzZ_H:
8778 case AArch64::FABS_ZPzZ_S:
8779 case AArch64::FCVTX_ZPzZ_DtoS:
8780 case AArch64::FCVTZS_ZPzZ_DtoD:
8781 case AArch64::FCVTZS_ZPzZ_DtoS:
8782 case AArch64::FCVTZS_ZPzZ_HtoD:
8783 case AArch64::FCVTZS_ZPzZ_HtoH:
8784 case AArch64::FCVTZS_ZPzZ_HtoS:
8785 case AArch64::FCVTZS_ZPzZ_StoD:
8786 case AArch64::FCVTZS_ZPzZ_StoS:
8787 case AArch64::FCVTZU_ZPzZ_DtoD:
8788 case AArch64::FCVTZU_ZPzZ_DtoS:
8789 case AArch64::FCVTZU_ZPzZ_HtoD:
8790 case AArch64::FCVTZU_ZPzZ_HtoH:
8791 case AArch64::FCVTZU_ZPzZ_HtoS:
8792 case AArch64::FCVTZU_ZPzZ_StoD:
8793 case AArch64::FCVTZU_ZPzZ_StoS:
8794 case AArch64::FCVT_ZPzZ_DtoH:
8795 case AArch64::FCVT_ZPzZ_DtoS:
8796 case AArch64::FCVT_ZPzZ_HtoD:
8797 case AArch64::FCVT_ZPzZ_HtoS:
8798 case AArch64::FCVT_ZPzZ_StoD:
8799 case AArch64::FCVT_ZPzZ_StoH:
8800 case AArch64::FLOGB_ZPzZ_D:
8801 case AArch64::FLOGB_ZPzZ_H:
8802 case AArch64::FLOGB_ZPzZ_S:
8803 case AArch64::FNEG_ZPzZ_D:
8804 case AArch64::FNEG_ZPzZ_H:
8805 case AArch64::FNEG_ZPzZ_S:
8806 case AArch64::FRECPX_ZPzZ_D:
8807 case AArch64::FRECPX_ZPzZ_H:
8808 case AArch64::FRECPX_ZPzZ_S:
8809 case AArch64::FRINT32X_ZPzZ_D:
8810 case AArch64::FRINT32X_ZPzZ_S:
8811 case AArch64::FRINT32Z_ZPzZ_D:
8812 case AArch64::FRINT32Z_ZPzZ_S:
8813 case AArch64::FRINT64X_ZPzZ_D:
8814 case AArch64::FRINT64X_ZPzZ_S:
8815 case AArch64::FRINT64Z_ZPzZ_D:
8816 case AArch64::FRINT64Z_ZPzZ_S:
8817 case AArch64::FRINTA_ZPzZ_D:
8818 case AArch64::FRINTA_ZPzZ_H:
8819 case AArch64::FRINTA_ZPzZ_S:
8820 case AArch64::FRINTI_ZPzZ_D:
8821 case AArch64::FRINTI_ZPzZ_H:
8822 case AArch64::FRINTI_ZPzZ_S:
8823 case AArch64::FRINTM_ZPzZ_D:
8824 case AArch64::FRINTM_ZPzZ_H:
8825 case AArch64::FRINTM_ZPzZ_S:
8826 case AArch64::FRINTN_ZPzZ_D:
8827 case AArch64::FRINTN_ZPzZ_H:
8828 case AArch64::FRINTN_ZPzZ_S:
8829 case AArch64::FRINTP_ZPzZ_D:
8830 case AArch64::FRINTP_ZPzZ_H:
8831 case AArch64::FRINTP_ZPzZ_S:
8832 case AArch64::FRINTX_ZPzZ_D:
8833 case AArch64::FRINTX_ZPzZ_H:
8834 case AArch64::FRINTX_ZPzZ_S:
8835 case AArch64::FRINTZ_ZPzZ_D:
8836 case AArch64::FRINTZ_ZPzZ_H:
8837 case AArch64::FRINTZ_ZPzZ_S:
8838 case AArch64::FSQRT_ZPZz_D:
8839 case AArch64::FSQRT_ZPZz_H:
8840 case AArch64::FSQRT_ZPZz_S:
8841 case AArch64::MOVPRFX_ZPzZ_B:
8842 case AArch64::MOVPRFX_ZPzZ_D:
8843 case AArch64::MOVPRFX_ZPzZ_H:
8844 case AArch64::MOVPRFX_ZPzZ_S:
8845 case AArch64::NEG_ZPzZ_B:
8846 case AArch64::NEG_ZPzZ_D:
8847 case AArch64::NEG_ZPzZ_H:
8848 case AArch64::NEG_ZPzZ_S:
8849 case AArch64::NOT_ZPzZ_B:
8850 case AArch64::NOT_ZPzZ_D:
8851 case AArch64::NOT_ZPzZ_H:
8852 case AArch64::NOT_ZPzZ_S:
8853 case AArch64::SCVTF_ZPzZ_DtoD:
8854 case AArch64::SCVTF_ZPzZ_DtoH:
8855 case AArch64::SCVTF_ZPzZ_DtoS:
8856 case AArch64::SCVTF_ZPzZ_HtoH:
8857 case AArch64::SCVTF_ZPzZ_StoD:
8858 case AArch64::SCVTF_ZPzZ_StoH:
8859 case AArch64::SCVTF_ZPzZ_StoS:
8860 case AArch64::SQABS_ZPzZ_B:
8861 case AArch64::SQABS_ZPzZ_D:
8862 case AArch64::SQABS_ZPzZ_H:
8863 case AArch64::SQABS_ZPzZ_S:
8864 case AArch64::SQNEG_ZPzZ_B:
8865 case AArch64::SQNEG_ZPzZ_D:
8866 case AArch64::SQNEG_ZPzZ_H:
8867 case AArch64::SQNEG_ZPzZ_S:
8868 case AArch64::SXTB_ZPzZ_D:
8869 case AArch64::SXTB_ZPzZ_H:
8870 case AArch64::SXTB_ZPzZ_S:
8871 case AArch64::SXTH_ZPzZ_D:
8872 case AArch64::SXTH_ZPzZ_S:
8873 case AArch64::SXTW_ZPzZ_D:
8874 case AArch64::UCVTF_ZPzZ_DtoD:
8875 case AArch64::UCVTF_ZPzZ_DtoH:
8876 case AArch64::UCVTF_ZPzZ_DtoS:
8877 case AArch64::UCVTF_ZPzZ_HtoH:
8878 case AArch64::UCVTF_ZPzZ_StoD:
8879 case AArch64::UCVTF_ZPzZ_StoH:
8880 case AArch64::UCVTF_ZPzZ_StoS:
8881 case AArch64::URECPE_ZPzZ_S:
8882 case AArch64::URSQRTE_ZPzZ_S:
8883 case AArch64::UXTB_ZPzZ_D:
8884 case AArch64::UXTB_ZPzZ_H:
8885 case AArch64::UXTB_ZPzZ_S:
8886 case AArch64::UXTH_ZPzZ_D:
8887 case AArch64::UXTH_ZPzZ_S:
8888 case AArch64::UXTW_ZPzZ_D: {
8889 // op: Pg
8890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8891 Value |= (op & 0x7) << 10;
8892 // op: Zd
8893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8894 Value |= (op & 0x1f);
8895 // op: Zn
8896 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8897 Value |= (op & 0x1f) << 5;
8898 break;
8899 }
8900 case AArch64::BFMLA_ZPmZZ:
8901 case AArch64::BFMLS_ZPmZZ:
8902 case AArch64::FMLA_ZPmZZ_D:
8903 case AArch64::FMLA_ZPmZZ_H:
8904 case AArch64::FMLA_ZPmZZ_S:
8905 case AArch64::FMLS_ZPmZZ_D:
8906 case AArch64::FMLS_ZPmZZ_H:
8907 case AArch64::FMLS_ZPmZZ_S:
8908 case AArch64::FNMLA_ZPmZZ_D:
8909 case AArch64::FNMLA_ZPmZZ_H:
8910 case AArch64::FNMLA_ZPmZZ_S:
8911 case AArch64::FNMLS_ZPmZZ_D:
8912 case AArch64::FNMLS_ZPmZZ_H:
8913 case AArch64::FNMLS_ZPmZZ_S:
8914 case AArch64::MLA_ZPmZZ_B:
8915 case AArch64::MLA_ZPmZZ_D:
8916 case AArch64::MLA_ZPmZZ_H:
8917 case AArch64::MLA_ZPmZZ_S:
8918 case AArch64::MLS_ZPmZZ_B:
8919 case AArch64::MLS_ZPmZZ_D:
8920 case AArch64::MLS_ZPmZZ_H:
8921 case AArch64::MLS_ZPmZZ_S: {
8922 // op: Pg
8923 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8924 Value |= (op & 0x7) << 10;
8925 // op: Zda
8926 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8927 Value |= (op & 0x1f);
8928 // op: Zm
8929 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8930 Value |= (op & 0x1f) << 16;
8931 // op: Zn
8932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8933 Value |= (op & 0x1f) << 5;
8934 break;
8935 }
8936 case AArch64::MAD_ZPmZZ_B:
8937 case AArch64::MAD_ZPmZZ_D:
8938 case AArch64::MAD_ZPmZZ_H:
8939 case AArch64::MAD_ZPmZZ_S:
8940 case AArch64::MSB_ZPmZZ_B:
8941 case AArch64::MSB_ZPmZZ_D:
8942 case AArch64::MSB_ZPmZZ_H:
8943 case AArch64::MSB_ZPmZZ_S: {
8944 // op: Pg
8945 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8946 Value |= (op & 0x7) << 10;
8947 // op: Zdn
8948 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8949 Value |= (op & 0x1f);
8950 // op: Za
8951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8952 Value |= (op & 0x1f) << 5;
8953 // op: Zm
8954 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8955 Value |= (op & 0x1f) << 16;
8956 break;
8957 }
8958 case AArch64::ADD_ZPmZ_B:
8959 case AArch64::ADD_ZPmZ_CPA:
8960 case AArch64::ADD_ZPmZ_D:
8961 case AArch64::ADD_ZPmZ_H:
8962 case AArch64::ADD_ZPmZ_S:
8963 case AArch64::AND_ZPmZ_B:
8964 case AArch64::AND_ZPmZ_D:
8965 case AArch64::AND_ZPmZ_H:
8966 case AArch64::AND_ZPmZ_S:
8967 case AArch64::ASRR_ZPmZ_B:
8968 case AArch64::ASRR_ZPmZ_D:
8969 case AArch64::ASRR_ZPmZ_H:
8970 case AArch64::ASRR_ZPmZ_S:
8971 case AArch64::ASR_WIDE_ZPmZ_B:
8972 case AArch64::ASR_WIDE_ZPmZ_H:
8973 case AArch64::ASR_WIDE_ZPmZ_S:
8974 case AArch64::ASR_ZPmZ_B:
8975 case AArch64::ASR_ZPmZ_D:
8976 case AArch64::ASR_ZPmZ_H:
8977 case AArch64::ASR_ZPmZ_S:
8978 case AArch64::BFADD_ZPmZZ:
8979 case AArch64::BFMAXNM_ZPmZZ:
8980 case AArch64::BFMAX_ZPmZZ:
8981 case AArch64::BFMINNM_ZPmZZ:
8982 case AArch64::BFMIN_ZPmZZ:
8983 case AArch64::BFMUL_ZPmZZ:
8984 case AArch64::BFSCALE_ZPZZ_H:
8985 case AArch64::BFSUB_ZPmZZ:
8986 case AArch64::BIC_ZPmZ_B:
8987 case AArch64::BIC_ZPmZ_D:
8988 case AArch64::BIC_ZPmZ_H:
8989 case AArch64::BIC_ZPmZ_S:
8990 case AArch64::CLASTA_ZPZ_B:
8991 case AArch64::CLASTA_ZPZ_D:
8992 case AArch64::CLASTA_ZPZ_H:
8993 case AArch64::CLASTA_ZPZ_S:
8994 case AArch64::CLASTB_ZPZ_B:
8995 case AArch64::CLASTB_ZPZ_D:
8996 case AArch64::CLASTB_ZPZ_H:
8997 case AArch64::CLASTB_ZPZ_S:
8998 case AArch64::EOR_ZPmZ_B:
8999 case AArch64::EOR_ZPmZ_D:
9000 case AArch64::EOR_ZPmZ_H:
9001 case AArch64::EOR_ZPmZ_S:
9002 case AArch64::FABD_ZPmZ_D:
9003 case AArch64::FABD_ZPmZ_H:
9004 case AArch64::FABD_ZPmZ_S:
9005 case AArch64::FADD_ZPmZ_D:
9006 case AArch64::FADD_ZPmZ_H:
9007 case AArch64::FADD_ZPmZ_S:
9008 case AArch64::FAMAX_ZPmZ_D:
9009 case AArch64::FAMAX_ZPmZ_H:
9010 case AArch64::FAMAX_ZPmZ_S:
9011 case AArch64::FAMIN_ZPmZ_D:
9012 case AArch64::FAMIN_ZPmZ_H:
9013 case AArch64::FAMIN_ZPmZ_S:
9014 case AArch64::FDIVR_ZPmZ_D:
9015 case AArch64::FDIVR_ZPmZ_H:
9016 case AArch64::FDIVR_ZPmZ_S:
9017 case AArch64::FDIV_ZPmZ_D:
9018 case AArch64::FDIV_ZPmZ_H:
9019 case AArch64::FDIV_ZPmZ_S:
9020 case AArch64::FMAXNM_ZPmZ_D:
9021 case AArch64::FMAXNM_ZPmZ_H:
9022 case AArch64::FMAXNM_ZPmZ_S:
9023 case AArch64::FMAX_ZPmZ_D:
9024 case AArch64::FMAX_ZPmZ_H:
9025 case AArch64::FMAX_ZPmZ_S:
9026 case AArch64::FMINNM_ZPmZ_D:
9027 case AArch64::FMINNM_ZPmZ_H:
9028 case AArch64::FMINNM_ZPmZ_S:
9029 case AArch64::FMIN_ZPmZ_D:
9030 case AArch64::FMIN_ZPmZ_H:
9031 case AArch64::FMIN_ZPmZ_S:
9032 case AArch64::FMULX_ZPmZ_D:
9033 case AArch64::FMULX_ZPmZ_H:
9034 case AArch64::FMULX_ZPmZ_S:
9035 case AArch64::FMUL_ZPmZ_D:
9036 case AArch64::FMUL_ZPmZ_H:
9037 case AArch64::FMUL_ZPmZ_S:
9038 case AArch64::FSCALE_ZPmZ_D:
9039 case AArch64::FSCALE_ZPmZ_H:
9040 case AArch64::FSCALE_ZPmZ_S:
9041 case AArch64::FSUBR_ZPmZ_D:
9042 case AArch64::FSUBR_ZPmZ_H:
9043 case AArch64::FSUBR_ZPmZ_S:
9044 case AArch64::FSUB_ZPmZ_D:
9045 case AArch64::FSUB_ZPmZ_H:
9046 case AArch64::FSUB_ZPmZ_S:
9047 case AArch64::LSLR_ZPmZ_B:
9048 case AArch64::LSLR_ZPmZ_D:
9049 case AArch64::LSLR_ZPmZ_H:
9050 case AArch64::LSLR_ZPmZ_S:
9051 case AArch64::LSL_WIDE_ZPmZ_B:
9052 case AArch64::LSL_WIDE_ZPmZ_H:
9053 case AArch64::LSL_WIDE_ZPmZ_S:
9054 case AArch64::LSL_ZPmZ_B:
9055 case AArch64::LSL_ZPmZ_D:
9056 case AArch64::LSL_ZPmZ_H:
9057 case AArch64::LSL_ZPmZ_S:
9058 case AArch64::LSRR_ZPmZ_B:
9059 case AArch64::LSRR_ZPmZ_D:
9060 case AArch64::LSRR_ZPmZ_H:
9061 case AArch64::LSRR_ZPmZ_S:
9062 case AArch64::LSR_WIDE_ZPmZ_B:
9063 case AArch64::LSR_WIDE_ZPmZ_H:
9064 case AArch64::LSR_WIDE_ZPmZ_S:
9065 case AArch64::LSR_ZPmZ_B:
9066 case AArch64::LSR_ZPmZ_D:
9067 case AArch64::LSR_ZPmZ_H:
9068 case AArch64::LSR_ZPmZ_S:
9069 case AArch64::MUL_ZPmZ_B:
9070 case AArch64::MUL_ZPmZ_D:
9071 case AArch64::MUL_ZPmZ_H:
9072 case AArch64::MUL_ZPmZ_S:
9073 case AArch64::ORR_ZPmZ_B:
9074 case AArch64::ORR_ZPmZ_D:
9075 case AArch64::ORR_ZPmZ_H:
9076 case AArch64::ORR_ZPmZ_S:
9077 case AArch64::SABD_ZPmZ_B:
9078 case AArch64::SABD_ZPmZ_D:
9079 case AArch64::SABD_ZPmZ_H:
9080 case AArch64::SABD_ZPmZ_S:
9081 case AArch64::SDIVR_ZPmZ_D:
9082 case AArch64::SDIVR_ZPmZ_S:
9083 case AArch64::SDIV_ZPmZ_D:
9084 case AArch64::SDIV_ZPmZ_S:
9085 case AArch64::SMAX_ZPmZ_B:
9086 case AArch64::SMAX_ZPmZ_D:
9087 case AArch64::SMAX_ZPmZ_H:
9088 case AArch64::SMAX_ZPmZ_S:
9089 case AArch64::SMIN_ZPmZ_B:
9090 case AArch64::SMIN_ZPmZ_D:
9091 case AArch64::SMIN_ZPmZ_H:
9092 case AArch64::SMIN_ZPmZ_S:
9093 case AArch64::SMULH_ZPmZ_B:
9094 case AArch64::SMULH_ZPmZ_D:
9095 case AArch64::SMULH_ZPmZ_H:
9096 case AArch64::SMULH_ZPmZ_S:
9097 case AArch64::SPLICE_ZPZ_B:
9098 case AArch64::SPLICE_ZPZ_D:
9099 case AArch64::SPLICE_ZPZ_H:
9100 case AArch64::SPLICE_ZPZ_S:
9101 case AArch64::SUBR_ZPmZ_B:
9102 case AArch64::SUBR_ZPmZ_D:
9103 case AArch64::SUBR_ZPmZ_H:
9104 case AArch64::SUBR_ZPmZ_S:
9105 case AArch64::SUB_ZPmZ_B:
9106 case AArch64::SUB_ZPmZ_CPA:
9107 case AArch64::SUB_ZPmZ_D:
9108 case AArch64::SUB_ZPmZ_H:
9109 case AArch64::SUB_ZPmZ_S:
9110 case AArch64::UABD_ZPmZ_B:
9111 case AArch64::UABD_ZPmZ_D:
9112 case AArch64::UABD_ZPmZ_H:
9113 case AArch64::UABD_ZPmZ_S:
9114 case AArch64::UDIVR_ZPmZ_D:
9115 case AArch64::UDIVR_ZPmZ_S:
9116 case AArch64::UDIV_ZPmZ_D:
9117 case AArch64::UDIV_ZPmZ_S:
9118 case AArch64::UMAX_ZPmZ_B:
9119 case AArch64::UMAX_ZPmZ_D:
9120 case AArch64::UMAX_ZPmZ_H:
9121 case AArch64::UMAX_ZPmZ_S:
9122 case AArch64::UMIN_ZPmZ_B:
9123 case AArch64::UMIN_ZPmZ_D:
9124 case AArch64::UMIN_ZPmZ_H:
9125 case AArch64::UMIN_ZPmZ_S:
9126 case AArch64::UMULH_ZPmZ_B:
9127 case AArch64::UMULH_ZPmZ_D:
9128 case AArch64::UMULH_ZPmZ_H:
9129 case AArch64::UMULH_ZPmZ_S: {
9130 // op: Pg
9131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9132 Value |= (op & 0x7) << 10;
9133 // op: Zdn
9134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9135 Value |= (op & 0x1f);
9136 // op: Zm
9137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9138 Value |= (op & 0x1f) << 5;
9139 break;
9140 }
9141 case AArch64::FADD_ZPmI_D:
9142 case AArch64::FADD_ZPmI_H:
9143 case AArch64::FADD_ZPmI_S:
9144 case AArch64::FMAXNM_ZPmI_D:
9145 case AArch64::FMAXNM_ZPmI_H:
9146 case AArch64::FMAXNM_ZPmI_S:
9147 case AArch64::FMAX_ZPmI_D:
9148 case AArch64::FMAX_ZPmI_H:
9149 case AArch64::FMAX_ZPmI_S:
9150 case AArch64::FMINNM_ZPmI_D:
9151 case AArch64::FMINNM_ZPmI_H:
9152 case AArch64::FMINNM_ZPmI_S:
9153 case AArch64::FMIN_ZPmI_D:
9154 case AArch64::FMIN_ZPmI_H:
9155 case AArch64::FMIN_ZPmI_S:
9156 case AArch64::FMUL_ZPmI_D:
9157 case AArch64::FMUL_ZPmI_H:
9158 case AArch64::FMUL_ZPmI_S:
9159 case AArch64::FSUBR_ZPmI_D:
9160 case AArch64::FSUBR_ZPmI_H:
9161 case AArch64::FSUBR_ZPmI_S:
9162 case AArch64::FSUB_ZPmI_D:
9163 case AArch64::FSUB_ZPmI_H:
9164 case AArch64::FSUB_ZPmI_S: {
9165 // op: Pg
9166 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9167 Value |= (op & 0x7) << 10;
9168 // op: Zdn
9169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9170 Value |= (op & 0x1f);
9171 // op: i1
9172 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9173 Value |= (op & 0x1) << 5;
9174 break;
9175 }
9176 case AArch64::LSL_ZPmI_H:
9177 case AArch64::SQSHLU_ZPmI_H:
9178 case AArch64::SQSHL_ZPmI_H:
9179 case AArch64::UQSHL_ZPmI_H: {
9180 // op: Pg
9181 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9182 Value |= (op & 0x7) << 10;
9183 // op: Zdn
9184 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9185 Value |= (op & 0x1f);
9186 // op: imm
9187 op = getVecShiftL16OpValue(MI, OpIdx: 3, Fixups, STI);
9188 Value |= (op & 0xf) << 5;
9189 break;
9190 }
9191 case AArch64::LSL_ZPmI_S:
9192 case AArch64::SQSHLU_ZPmI_S:
9193 case AArch64::SQSHL_ZPmI_S:
9194 case AArch64::UQSHL_ZPmI_S: {
9195 // op: Pg
9196 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9197 Value |= (op & 0x7) << 10;
9198 // op: Zdn
9199 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9200 Value |= (op & 0x1f);
9201 // op: imm
9202 op = getVecShiftL32OpValue(MI, OpIdx: 3, Fixups, STI);
9203 Value |= (op & 0x1f) << 5;
9204 break;
9205 }
9206 case AArch64::LSL_ZPmI_D:
9207 case AArch64::SQSHLU_ZPmI_D:
9208 case AArch64::SQSHL_ZPmI_D:
9209 case AArch64::UQSHL_ZPmI_D: {
9210 // op: Pg
9211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9212 Value |= (op & 0x7) << 10;
9213 // op: Zdn
9214 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9215 Value |= (op & 0x1f);
9216 // op: imm
9217 op = getVecShiftL64OpValue(MI, OpIdx: 3, Fixups, STI);
9218 Value |= (op & 0x20) << 17;
9219 Value |= (op & 0x1f) << 5;
9220 break;
9221 }
9222 case AArch64::LSL_ZPmI_B:
9223 case AArch64::SQSHLU_ZPmI_B:
9224 case AArch64::SQSHL_ZPmI_B:
9225 case AArch64::UQSHL_ZPmI_B: {
9226 // op: Pg
9227 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9228 Value |= (op & 0x7) << 10;
9229 // op: Zdn
9230 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9231 Value |= (op & 0x1f);
9232 // op: imm
9233 op = getVecShiftL8OpValue(MI, OpIdx: 3, Fixups, STI);
9234 Value |= (op & 0x7) << 5;
9235 break;
9236 }
9237 case AArch64::ASRD_ZPmI_H:
9238 case AArch64::ASR_ZPmI_H:
9239 case AArch64::LSR_ZPmI_H:
9240 case AArch64::SRSHR_ZPmI_H:
9241 case AArch64::URSHR_ZPmI_H: {
9242 // op: Pg
9243 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9244 Value |= (op & 0x7) << 10;
9245 // op: Zdn
9246 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9247 Value |= (op & 0x1f);
9248 // op: imm
9249 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
9250 Value |= (op & 0xf) << 5;
9251 break;
9252 }
9253 case AArch64::ASRD_ZPmI_S:
9254 case AArch64::ASR_ZPmI_S:
9255 case AArch64::LSR_ZPmI_S:
9256 case AArch64::SRSHR_ZPmI_S:
9257 case AArch64::URSHR_ZPmI_S: {
9258 // op: Pg
9259 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9260 Value |= (op & 0x7) << 10;
9261 // op: Zdn
9262 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9263 Value |= (op & 0x1f);
9264 // op: imm
9265 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
9266 Value |= (op & 0x1f) << 5;
9267 break;
9268 }
9269 case AArch64::ASRD_ZPmI_D:
9270 case AArch64::ASR_ZPmI_D:
9271 case AArch64::LSR_ZPmI_D:
9272 case AArch64::SRSHR_ZPmI_D:
9273 case AArch64::URSHR_ZPmI_D: {
9274 // op: Pg
9275 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9276 Value |= (op & 0x7) << 10;
9277 // op: Zdn
9278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9279 Value |= (op & 0x1f);
9280 // op: imm
9281 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
9282 Value |= (op & 0x20) << 17;
9283 Value |= (op & 0x1f) << 5;
9284 break;
9285 }
9286 case AArch64::ASRD_ZPmI_B:
9287 case AArch64::ASR_ZPmI_B:
9288 case AArch64::LSR_ZPmI_B:
9289 case AArch64::SRSHR_ZPmI_B:
9290 case AArch64::URSHR_ZPmI_B: {
9291 // op: Pg
9292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9293 Value |= (op & 0x7) << 10;
9294 // op: Zdn
9295 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9296 Value |= (op & 0x1f);
9297 // op: imm
9298 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
9299 Value |= (op & 0x7) << 5;
9300 break;
9301 }
9302 case AArch64::ADDP_ZPmZ_B:
9303 case AArch64::ADDP_ZPmZ_D:
9304 case AArch64::ADDP_ZPmZ_H:
9305 case AArch64::ADDP_ZPmZ_S:
9306 case AArch64::FADDP_ZPmZZ_D:
9307 case AArch64::FADDP_ZPmZZ_H:
9308 case AArch64::FADDP_ZPmZZ_S:
9309 case AArch64::FMAXNMP_ZPmZZ_D:
9310 case AArch64::FMAXNMP_ZPmZZ_H:
9311 case AArch64::FMAXNMP_ZPmZZ_S:
9312 case AArch64::FMAXP_ZPmZZ_D:
9313 case AArch64::FMAXP_ZPmZZ_H:
9314 case AArch64::FMAXP_ZPmZZ_S:
9315 case AArch64::FMINNMP_ZPmZZ_D:
9316 case AArch64::FMINNMP_ZPmZZ_H:
9317 case AArch64::FMINNMP_ZPmZZ_S:
9318 case AArch64::FMINP_ZPmZZ_D:
9319 case AArch64::FMINP_ZPmZZ_H:
9320 case AArch64::FMINP_ZPmZZ_S:
9321 case AArch64::SHADD_ZPmZ_B:
9322 case AArch64::SHADD_ZPmZ_D:
9323 case AArch64::SHADD_ZPmZ_H:
9324 case AArch64::SHADD_ZPmZ_S:
9325 case AArch64::SHSUBR_ZPmZ_B:
9326 case AArch64::SHSUBR_ZPmZ_D:
9327 case AArch64::SHSUBR_ZPmZ_H:
9328 case AArch64::SHSUBR_ZPmZ_S:
9329 case AArch64::SHSUB_ZPmZ_B:
9330 case AArch64::SHSUB_ZPmZ_D:
9331 case AArch64::SHSUB_ZPmZ_H:
9332 case AArch64::SHSUB_ZPmZ_S:
9333 case AArch64::SMAXP_ZPmZ_B:
9334 case AArch64::SMAXP_ZPmZ_D:
9335 case AArch64::SMAXP_ZPmZ_H:
9336 case AArch64::SMAXP_ZPmZ_S:
9337 case AArch64::SMINP_ZPmZ_B:
9338 case AArch64::SMINP_ZPmZ_D:
9339 case AArch64::SMINP_ZPmZ_H:
9340 case AArch64::SMINP_ZPmZ_S:
9341 case AArch64::SQADD_ZPmZ_B:
9342 case AArch64::SQADD_ZPmZ_D:
9343 case AArch64::SQADD_ZPmZ_H:
9344 case AArch64::SQADD_ZPmZ_S:
9345 case AArch64::SQRSHLR_ZPmZ_B:
9346 case AArch64::SQRSHLR_ZPmZ_D:
9347 case AArch64::SQRSHLR_ZPmZ_H:
9348 case AArch64::SQRSHLR_ZPmZ_S:
9349 case AArch64::SQRSHL_ZPmZ_B:
9350 case AArch64::SQRSHL_ZPmZ_D:
9351 case AArch64::SQRSHL_ZPmZ_H:
9352 case AArch64::SQRSHL_ZPmZ_S:
9353 case AArch64::SQSHLR_ZPmZ_B:
9354 case AArch64::SQSHLR_ZPmZ_D:
9355 case AArch64::SQSHLR_ZPmZ_H:
9356 case AArch64::SQSHLR_ZPmZ_S:
9357 case AArch64::SQSHL_ZPmZ_B:
9358 case AArch64::SQSHL_ZPmZ_D:
9359 case AArch64::SQSHL_ZPmZ_H:
9360 case AArch64::SQSHL_ZPmZ_S:
9361 case AArch64::SQSUBR_ZPmZ_B:
9362 case AArch64::SQSUBR_ZPmZ_D:
9363 case AArch64::SQSUBR_ZPmZ_H:
9364 case AArch64::SQSUBR_ZPmZ_S:
9365 case AArch64::SQSUB_ZPmZ_B:
9366 case AArch64::SQSUB_ZPmZ_D:
9367 case AArch64::SQSUB_ZPmZ_H:
9368 case AArch64::SQSUB_ZPmZ_S:
9369 case AArch64::SRHADD_ZPmZ_B:
9370 case AArch64::SRHADD_ZPmZ_D:
9371 case AArch64::SRHADD_ZPmZ_H:
9372 case AArch64::SRHADD_ZPmZ_S:
9373 case AArch64::SRSHLR_ZPmZ_B:
9374 case AArch64::SRSHLR_ZPmZ_D:
9375 case AArch64::SRSHLR_ZPmZ_H:
9376 case AArch64::SRSHLR_ZPmZ_S:
9377 case AArch64::SRSHL_ZPmZ_B:
9378 case AArch64::SRSHL_ZPmZ_D:
9379 case AArch64::SRSHL_ZPmZ_H:
9380 case AArch64::SRSHL_ZPmZ_S:
9381 case AArch64::SUBP_ZPmZZ_B:
9382 case AArch64::SUBP_ZPmZZ_D:
9383 case AArch64::SUBP_ZPmZZ_H:
9384 case AArch64::SUBP_ZPmZZ_S:
9385 case AArch64::SUQADD_ZPmZ_B:
9386 case AArch64::SUQADD_ZPmZ_D:
9387 case AArch64::SUQADD_ZPmZ_H:
9388 case AArch64::SUQADD_ZPmZ_S:
9389 case AArch64::UHADD_ZPmZ_B:
9390 case AArch64::UHADD_ZPmZ_D:
9391 case AArch64::UHADD_ZPmZ_H:
9392 case AArch64::UHADD_ZPmZ_S:
9393 case AArch64::UHSUBR_ZPmZ_B:
9394 case AArch64::UHSUBR_ZPmZ_D:
9395 case AArch64::UHSUBR_ZPmZ_H:
9396 case AArch64::UHSUBR_ZPmZ_S:
9397 case AArch64::UHSUB_ZPmZ_B:
9398 case AArch64::UHSUB_ZPmZ_D:
9399 case AArch64::UHSUB_ZPmZ_H:
9400 case AArch64::UHSUB_ZPmZ_S:
9401 case AArch64::UMAXP_ZPmZ_B:
9402 case AArch64::UMAXP_ZPmZ_D:
9403 case AArch64::UMAXP_ZPmZ_H:
9404 case AArch64::UMAXP_ZPmZ_S:
9405 case AArch64::UMINP_ZPmZ_B:
9406 case AArch64::UMINP_ZPmZ_D:
9407 case AArch64::UMINP_ZPmZ_H:
9408 case AArch64::UMINP_ZPmZ_S:
9409 case AArch64::UQADD_ZPmZ_B:
9410 case AArch64::UQADD_ZPmZ_D:
9411 case AArch64::UQADD_ZPmZ_H:
9412 case AArch64::UQADD_ZPmZ_S:
9413 case AArch64::UQRSHLR_ZPmZ_B:
9414 case AArch64::UQRSHLR_ZPmZ_D:
9415 case AArch64::UQRSHLR_ZPmZ_H:
9416 case AArch64::UQRSHLR_ZPmZ_S:
9417 case AArch64::UQRSHL_ZPmZ_B:
9418 case AArch64::UQRSHL_ZPmZ_D:
9419 case AArch64::UQRSHL_ZPmZ_H:
9420 case AArch64::UQRSHL_ZPmZ_S:
9421 case AArch64::UQSHLR_ZPmZ_B:
9422 case AArch64::UQSHLR_ZPmZ_D:
9423 case AArch64::UQSHLR_ZPmZ_H:
9424 case AArch64::UQSHLR_ZPmZ_S:
9425 case AArch64::UQSHL_ZPmZ_B:
9426 case AArch64::UQSHL_ZPmZ_D:
9427 case AArch64::UQSHL_ZPmZ_H:
9428 case AArch64::UQSHL_ZPmZ_S:
9429 case AArch64::UQSUBR_ZPmZ_B:
9430 case AArch64::UQSUBR_ZPmZ_D:
9431 case AArch64::UQSUBR_ZPmZ_H:
9432 case AArch64::UQSUBR_ZPmZ_S:
9433 case AArch64::UQSUB_ZPmZ_B:
9434 case AArch64::UQSUB_ZPmZ_D:
9435 case AArch64::UQSUB_ZPmZ_H:
9436 case AArch64::UQSUB_ZPmZ_S:
9437 case AArch64::URHADD_ZPmZ_B:
9438 case AArch64::URHADD_ZPmZ_D:
9439 case AArch64::URHADD_ZPmZ_H:
9440 case AArch64::URHADD_ZPmZ_S:
9441 case AArch64::URSHLR_ZPmZ_B:
9442 case AArch64::URSHLR_ZPmZ_D:
9443 case AArch64::URSHLR_ZPmZ_H:
9444 case AArch64::URSHLR_ZPmZ_S:
9445 case AArch64::URSHL_ZPmZ_B:
9446 case AArch64::URSHL_ZPmZ_D:
9447 case AArch64::URSHL_ZPmZ_H:
9448 case AArch64::URSHL_ZPmZ_S:
9449 case AArch64::USQADD_ZPmZ_B:
9450 case AArch64::USQADD_ZPmZ_D:
9451 case AArch64::USQADD_ZPmZ_H:
9452 case AArch64::USQADD_ZPmZ_S: {
9453 // op: Pg
9454 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9455 Value |= (op & 0x7) << 10;
9456 // op: Zm
9457 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9458 Value |= (op & 0x1f) << 5;
9459 // op: Zdn
9460 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9461 Value |= (op & 0x1f);
9462 break;
9463 }
9464 case AArch64::EXPAND_ZPZ_B:
9465 case AArch64::EXPAND_ZPZ_D:
9466 case AArch64::EXPAND_ZPZ_H:
9467 case AArch64::EXPAND_ZPZ_S:
9468 case AArch64::SPLICE_ZPZZ_B:
9469 case AArch64::SPLICE_ZPZZ_D:
9470 case AArch64::SPLICE_ZPZZ_H:
9471 case AArch64::SPLICE_ZPZZ_S: {
9472 // op: Pg
9473 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9474 Value |= (op & 0x7) << 10;
9475 // op: Zn
9476 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9477 Value |= (op & 0x1f) << 5;
9478 // op: Zd
9479 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9480 Value |= (op & 0x1f);
9481 break;
9482 }
9483 case AArch64::GLD1B_D_IMM:
9484 case AArch64::GLD1B_S_IMM:
9485 case AArch64::GLD1D_IMM:
9486 case AArch64::GLD1H_D_IMM:
9487 case AArch64::GLD1H_S_IMM:
9488 case AArch64::GLD1SB_D_IMM:
9489 case AArch64::GLD1SB_S_IMM:
9490 case AArch64::GLD1SH_D_IMM:
9491 case AArch64::GLD1SH_S_IMM:
9492 case AArch64::GLD1SW_D_IMM:
9493 case AArch64::GLD1W_D_IMM:
9494 case AArch64::GLD1W_IMM:
9495 case AArch64::GLDFF1B_D_IMM:
9496 case AArch64::GLDFF1B_S_IMM:
9497 case AArch64::GLDFF1D_IMM:
9498 case AArch64::GLDFF1H_D_IMM:
9499 case AArch64::GLDFF1H_S_IMM:
9500 case AArch64::GLDFF1SB_D_IMM:
9501 case AArch64::GLDFF1SB_S_IMM:
9502 case AArch64::GLDFF1SH_D_IMM:
9503 case AArch64::GLDFF1SH_S_IMM:
9504 case AArch64::GLDFF1SW_D_IMM:
9505 case AArch64::GLDFF1W_D_IMM:
9506 case AArch64::GLDFF1W_IMM: {
9507 // op: Pg
9508 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9509 Value |= (op & 0x7) << 10;
9510 // op: Zn
9511 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9512 Value |= (op & 0x1f) << 5;
9513 // op: Zt
9514 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9515 Value |= (op & 0x1f);
9516 // op: imm5
9517 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9518 Value |= (op & 0x1f) << 16;
9519 break;
9520 }
9521 case AArch64::PRFB_D_PZI:
9522 case AArch64::PRFB_S_PZI:
9523 case AArch64::PRFD_D_PZI:
9524 case AArch64::PRFD_S_PZI:
9525 case AArch64::PRFH_D_PZI:
9526 case AArch64::PRFH_S_PZI:
9527 case AArch64::PRFW_D_PZI:
9528 case AArch64::PRFW_S_PZI: {
9529 // op: Pg
9530 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9531 Value |= (op & 0x7) << 10;
9532 // op: Zn
9533 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9534 Value |= (op & 0x1f) << 5;
9535 // op: imm5
9536 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9537 Value |= (op & 0x1f) << 16;
9538 // op: prfop
9539 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9540 Value |= (op & 0xf);
9541 break;
9542 }
9543 case AArch64::SADALP_ZPmZ_D:
9544 case AArch64::SADALP_ZPmZ_H:
9545 case AArch64::SADALP_ZPmZ_S:
9546 case AArch64::UADALP_ZPmZ_D:
9547 case AArch64::UADALP_ZPmZ_H:
9548 case AArch64::UADALP_ZPmZ_S: {
9549 // op: Pg
9550 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9551 Value |= (op & 0x7) << 10;
9552 // op: Zn
9553 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9554 Value |= (op & 0x1f) << 5;
9555 // op: Zda
9556 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9557 Value |= (op & 0x1f);
9558 break;
9559 }
9560 case AArch64::SST1B_D_IMM:
9561 case AArch64::SST1B_S_IMM:
9562 case AArch64::SST1D_IMM:
9563 case AArch64::SST1H_D_IMM:
9564 case AArch64::SST1H_S_IMM:
9565 case AArch64::SST1W_D_IMM:
9566 case AArch64::SST1W_IMM: {
9567 // op: Pg
9568 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9569 Value |= (op & 0x7) << 10;
9570 // op: imm5
9571 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9572 Value |= (op & 0x1f) << 16;
9573 // op: Zn
9574 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9575 Value |= (op & 0x1f) << 5;
9576 // op: Zt
9577 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9578 Value |= (op & 0x1f);
9579 break;
9580 }
9581 case AArch64::CNTP_XPP_B:
9582 case AArch64::CNTP_XPP_D:
9583 case AArch64::CNTP_XPP_H:
9584 case AArch64::CNTP_XPP_S:
9585 case AArch64::FIRSTP_XPP_B:
9586 case AArch64::FIRSTP_XPP_D:
9587 case AArch64::FIRSTP_XPP_H:
9588 case AArch64::FIRSTP_XPP_S:
9589 case AArch64::LASTP_XPP_B:
9590 case AArch64::LASTP_XPP_D:
9591 case AArch64::LASTP_XPP_H:
9592 case AArch64::LASTP_XPP_S: {
9593 // op: Pg
9594 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9595 Value |= (op & 0xf) << 10;
9596 // op: Pn
9597 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9598 Value |= (op & 0xf) << 5;
9599 // op: Rd
9600 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9601 Value |= (op & 0x1f);
9602 break;
9603 }
9604 case AArch64::SEL_ZPZZ_B:
9605 case AArch64::SEL_ZPZZ_D:
9606 case AArch64::SEL_ZPZZ_H:
9607 case AArch64::SEL_ZPZZ_S: {
9608 // op: Pg
9609 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9610 Value |= (op & 0xf) << 10;
9611 // op: Zd
9612 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9613 Value |= (op & 0x1f);
9614 // op: Zm
9615 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9616 Value |= (op & 0x1f) << 16;
9617 // op: Zn
9618 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9619 Value |= (op & 0x1f) << 5;
9620 break;
9621 }
9622 case AArch64::CPY_ZPmR_B:
9623 case AArch64::CPY_ZPmR_D:
9624 case AArch64::CPY_ZPmR_H:
9625 case AArch64::CPY_ZPmR_S: {
9626 // op: Pg
9627 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9628 Value |= (op & 0x7) << 10;
9629 // op: Rn
9630 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9631 Value |= (op & 0x1f) << 5;
9632 // op: Zd
9633 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9634 Value |= (op & 0x1f);
9635 break;
9636 }
9637 case AArch64::CPY_ZPmV_B:
9638 case AArch64::CPY_ZPmV_D:
9639 case AArch64::CPY_ZPmV_H:
9640 case AArch64::CPY_ZPmV_S: {
9641 // op: Pg
9642 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9643 Value |= (op & 0x7) << 10;
9644 // op: Vn
9645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9646 Value |= (op & 0x1f) << 5;
9647 // op: Zd
9648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9649 Value |= (op & 0x1f);
9650 break;
9651 }
9652 case AArch64::ABS_ZPmZ_B:
9653 case AArch64::ABS_ZPmZ_D:
9654 case AArch64::ABS_ZPmZ_H:
9655 case AArch64::ABS_ZPmZ_S:
9656 case AArch64::BFCVT_ZPmZ:
9657 case AArch64::CLS_ZPmZ_B:
9658 case AArch64::CLS_ZPmZ_D:
9659 case AArch64::CLS_ZPmZ_H:
9660 case AArch64::CLS_ZPmZ_S:
9661 case AArch64::CLZ_ZPmZ_B:
9662 case AArch64::CLZ_ZPmZ_D:
9663 case AArch64::CLZ_ZPmZ_H:
9664 case AArch64::CLZ_ZPmZ_S:
9665 case AArch64::CNOT_ZPmZ_B:
9666 case AArch64::CNOT_ZPmZ_D:
9667 case AArch64::CNOT_ZPmZ_H:
9668 case AArch64::CNOT_ZPmZ_S:
9669 case AArch64::CNT_ZPmZ_B:
9670 case AArch64::CNT_ZPmZ_D:
9671 case AArch64::CNT_ZPmZ_H:
9672 case AArch64::CNT_ZPmZ_S:
9673 case AArch64::FABS_ZPmZ_D:
9674 case AArch64::FABS_ZPmZ_H:
9675 case AArch64::FABS_ZPmZ_S:
9676 case AArch64::FCVTX_ZPmZ_DtoS:
9677 case AArch64::FCVTZS_ZPmZ_DtoD:
9678 case AArch64::FCVTZS_ZPmZ_DtoS:
9679 case AArch64::FCVTZS_ZPmZ_HtoD:
9680 case AArch64::FCVTZS_ZPmZ_HtoH:
9681 case AArch64::FCVTZS_ZPmZ_HtoS:
9682 case AArch64::FCVTZS_ZPmZ_StoD:
9683 case AArch64::FCVTZS_ZPmZ_StoS:
9684 case AArch64::FCVTZU_ZPmZ_DtoD:
9685 case AArch64::FCVTZU_ZPmZ_DtoS:
9686 case AArch64::FCVTZU_ZPmZ_HtoD:
9687 case AArch64::FCVTZU_ZPmZ_HtoH:
9688 case AArch64::FCVTZU_ZPmZ_HtoS:
9689 case AArch64::FCVTZU_ZPmZ_StoD:
9690 case AArch64::FCVTZU_ZPmZ_StoS:
9691 case AArch64::FCVT_ZPmZ_DtoH:
9692 case AArch64::FCVT_ZPmZ_DtoS:
9693 case AArch64::FCVT_ZPmZ_HtoD:
9694 case AArch64::FCVT_ZPmZ_HtoS:
9695 case AArch64::FCVT_ZPmZ_StoD:
9696 case AArch64::FCVT_ZPmZ_StoH:
9697 case AArch64::FLOGB_ZPmZ_D:
9698 case AArch64::FLOGB_ZPmZ_H:
9699 case AArch64::FLOGB_ZPmZ_S:
9700 case AArch64::FNEG_ZPmZ_D:
9701 case AArch64::FNEG_ZPmZ_H:
9702 case AArch64::FNEG_ZPmZ_S:
9703 case AArch64::FRECPX_ZPmZ_D:
9704 case AArch64::FRECPX_ZPmZ_H:
9705 case AArch64::FRECPX_ZPmZ_S:
9706 case AArch64::FRINT32X_ZPmZ_D:
9707 case AArch64::FRINT32X_ZPmZ_S:
9708 case AArch64::FRINT32Z_ZPmZ_D:
9709 case AArch64::FRINT32Z_ZPmZ_S:
9710 case AArch64::FRINT64X_ZPmZ_D:
9711 case AArch64::FRINT64X_ZPmZ_S:
9712 case AArch64::FRINT64Z_ZPmZ_D:
9713 case AArch64::FRINT64Z_ZPmZ_S:
9714 case AArch64::FRINTA_ZPmZ_D:
9715 case AArch64::FRINTA_ZPmZ_H:
9716 case AArch64::FRINTA_ZPmZ_S:
9717 case AArch64::FRINTI_ZPmZ_D:
9718 case AArch64::FRINTI_ZPmZ_H:
9719 case AArch64::FRINTI_ZPmZ_S:
9720 case AArch64::FRINTM_ZPmZ_D:
9721 case AArch64::FRINTM_ZPmZ_H:
9722 case AArch64::FRINTM_ZPmZ_S:
9723 case AArch64::FRINTN_ZPmZ_D:
9724 case AArch64::FRINTN_ZPmZ_H:
9725 case AArch64::FRINTN_ZPmZ_S:
9726 case AArch64::FRINTP_ZPmZ_D:
9727 case AArch64::FRINTP_ZPmZ_H:
9728 case AArch64::FRINTP_ZPmZ_S:
9729 case AArch64::FRINTX_ZPmZ_D:
9730 case AArch64::FRINTX_ZPmZ_H:
9731 case AArch64::FRINTX_ZPmZ_S:
9732 case AArch64::FRINTZ_ZPmZ_D:
9733 case AArch64::FRINTZ_ZPmZ_H:
9734 case AArch64::FRINTZ_ZPmZ_S:
9735 case AArch64::FSQRT_ZPmZ_D:
9736 case AArch64::FSQRT_ZPmZ_H:
9737 case AArch64::FSQRT_ZPmZ_S:
9738 case AArch64::MOVPRFX_ZPmZ_B:
9739 case AArch64::MOVPRFX_ZPmZ_D:
9740 case AArch64::MOVPRFX_ZPmZ_H:
9741 case AArch64::MOVPRFX_ZPmZ_S:
9742 case AArch64::NEG_ZPmZ_B:
9743 case AArch64::NEG_ZPmZ_D:
9744 case AArch64::NEG_ZPmZ_H:
9745 case AArch64::NEG_ZPmZ_S:
9746 case AArch64::NOT_ZPmZ_B:
9747 case AArch64::NOT_ZPmZ_D:
9748 case AArch64::NOT_ZPmZ_H:
9749 case AArch64::NOT_ZPmZ_S:
9750 case AArch64::SCVTF_ZPmZ_DtoD:
9751 case AArch64::SCVTF_ZPmZ_DtoH:
9752 case AArch64::SCVTF_ZPmZ_DtoS:
9753 case AArch64::SCVTF_ZPmZ_HtoH:
9754 case AArch64::SCVTF_ZPmZ_StoD:
9755 case AArch64::SCVTF_ZPmZ_StoH:
9756 case AArch64::SCVTF_ZPmZ_StoS:
9757 case AArch64::SQABS_ZPmZ_B:
9758 case AArch64::SQABS_ZPmZ_D:
9759 case AArch64::SQABS_ZPmZ_H:
9760 case AArch64::SQABS_ZPmZ_S:
9761 case AArch64::SQNEG_ZPmZ_B:
9762 case AArch64::SQNEG_ZPmZ_D:
9763 case AArch64::SQNEG_ZPmZ_H:
9764 case AArch64::SQNEG_ZPmZ_S:
9765 case AArch64::SXTB_ZPmZ_D:
9766 case AArch64::SXTB_ZPmZ_H:
9767 case AArch64::SXTB_ZPmZ_S:
9768 case AArch64::SXTH_ZPmZ_D:
9769 case AArch64::SXTH_ZPmZ_S:
9770 case AArch64::SXTW_ZPmZ_D:
9771 case AArch64::UCVTF_ZPmZ_DtoD:
9772 case AArch64::UCVTF_ZPmZ_DtoH:
9773 case AArch64::UCVTF_ZPmZ_DtoS:
9774 case AArch64::UCVTF_ZPmZ_HtoH:
9775 case AArch64::UCVTF_ZPmZ_StoD:
9776 case AArch64::UCVTF_ZPmZ_StoH:
9777 case AArch64::UCVTF_ZPmZ_StoS:
9778 case AArch64::URECPE_ZPmZ_S:
9779 case AArch64::URSQRTE_ZPmZ_S:
9780 case AArch64::UXTB_ZPmZ_D:
9781 case AArch64::UXTB_ZPmZ_H:
9782 case AArch64::UXTB_ZPmZ_S:
9783 case AArch64::UXTH_ZPmZ_D:
9784 case AArch64::UXTH_ZPmZ_S:
9785 case AArch64::UXTW_ZPmZ_D: {
9786 // op: Pg
9787 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9788 Value |= (op & 0x7) << 10;
9789 // op: Zd
9790 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9791 Value |= (op & 0x1f);
9792 // op: Zn
9793 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9794 Value |= (op & 0x1f) << 5;
9795 break;
9796 }
9797 case AArch64::FCPY_ZPmI_D:
9798 case AArch64::FCPY_ZPmI_H:
9799 case AArch64::FCPY_ZPmI_S: {
9800 // op: Pg
9801 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9802 Value |= (op & 0xf) << 16;
9803 // op: Zd
9804 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9805 Value |= (op & 0x1f);
9806 // op: imm8
9807 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9808 Value |= (op & 0xff) << 5;
9809 break;
9810 }
9811 case AArch64::DECP_ZP_D:
9812 case AArch64::DECP_ZP_H:
9813 case AArch64::DECP_ZP_S:
9814 case AArch64::INCP_ZP_D:
9815 case AArch64::INCP_ZP_H:
9816 case AArch64::INCP_ZP_S:
9817 case AArch64::SQDECP_ZP_D:
9818 case AArch64::SQDECP_ZP_H:
9819 case AArch64::SQDECP_ZP_S:
9820 case AArch64::SQINCP_ZP_D:
9821 case AArch64::SQINCP_ZP_H:
9822 case AArch64::SQINCP_ZP_S:
9823 case AArch64::UQDECP_ZP_D:
9824 case AArch64::UQDECP_ZP_H:
9825 case AArch64::UQDECP_ZP_S:
9826 case AArch64::UQINCP_ZP_D:
9827 case AArch64::UQINCP_ZP_H:
9828 case AArch64::UQINCP_ZP_S: {
9829 // op: Pm
9830 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9831 Value |= (op & 0xf) << 5;
9832 // op: Zdn
9833 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9834 Value |= (op & 0x1f);
9835 break;
9836 }
9837 case AArch64::ADDHA_MPPZ_S:
9838 case AArch64::ADDVA_MPPZ_S: {
9839 // op: Pm
9840 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9841 Value |= (op & 0x7) << 13;
9842 // op: Pn
9843 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9844 Value |= (op & 0x7) << 10;
9845 // op: Zn
9846 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9847 Value |= (op & 0x1f) << 5;
9848 // op: ZAda
9849 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9850 Value |= (op & 0x3);
9851 break;
9852 }
9853 case AArch64::ADDHA_MPPZ_D:
9854 case AArch64::ADDVA_MPPZ_D: {
9855 // op: Pm
9856 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9857 Value |= (op & 0x7) << 13;
9858 // op: Pn
9859 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9860 Value |= (op & 0x7) << 10;
9861 // op: Zn
9862 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9863 Value |= (op & 0x1f) << 5;
9864 // op: ZAda
9865 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9866 Value |= (op & 0x7);
9867 break;
9868 }
9869 case AArch64::WRFFR: {
9870 // op: Pn
9871 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9872 Value |= (op & 0xf) << 5;
9873 break;
9874 }
9875 case AArch64::LDR_PXI:
9876 case AArch64::STR_PXI: {
9877 // op: Pt
9878 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9879 Value |= (op & 0xf);
9880 // op: Rn
9881 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9882 Value |= (op & 0x1f) << 5;
9883 // op: imm9
9884 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9885 Value |= (op & 0x1f8) << 13;
9886 Value |= (op & 0x7) << 10;
9887 break;
9888 }
9889 case AArch64::XPACD:
9890 case AArch64::XPACI: {
9891 // op: Rd
9892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9893 Value |= (op & 0x1f);
9894 break;
9895 }
9896 case AArch64::CNTP_XCI_B:
9897 case AArch64::CNTP_XCI_D:
9898 case AArch64::CNTP_XCI_H:
9899 case AArch64::CNTP_XCI_S: {
9900 // op: Rd
9901 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9902 Value |= (op & 0x1f);
9903 // op: PNn
9904 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9905 Value |= (op & 0xf) << 5;
9906 // op: vl
9907 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9908 Value |= (op & 0x1) << 10;
9909 break;
9910 }
9911 case AArch64::ADDPL_XXI:
9912 case AArch64::ADDSPL_XXI:
9913 case AArch64::ADDSVL_XXI:
9914 case AArch64::ADDVL_XXI: {
9915 // op: Rd
9916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9917 Value |= (op & 0x1f);
9918 // op: Rn
9919 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9920 Value |= (op & 0x1f) << 16;
9921 // op: imm6
9922 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9923 Value |= (op & 0x3f) << 5;
9924 break;
9925 }
9926 case AArch64::ABSWr:
9927 case AArch64::ABSXr:
9928 case AArch64::ABSv16i8:
9929 case AArch64::ABSv1i64:
9930 case AArch64::ABSv2i32:
9931 case AArch64::ABSv2i64:
9932 case AArch64::ABSv4i16:
9933 case AArch64::ABSv4i32:
9934 case AArch64::ABSv8i16:
9935 case AArch64::ABSv8i8:
9936 case AArch64::ADDPv2i64p:
9937 case AArch64::ADDVv16i8v:
9938 case AArch64::ADDVv4i16v:
9939 case AArch64::ADDVv4i32v:
9940 case AArch64::ADDVv8i16v:
9941 case AArch64::ADDVv8i8v:
9942 case AArch64::AESIMCrr:
9943 case AArch64::AESMCrr:
9944 case AArch64::BF1CVTL:
9945 case AArch64::BF1CVTL2:
9946 case AArch64::BF2CVTL:
9947 case AArch64::BF2CVTL2:
9948 case AArch64::BFCVT:
9949 case AArch64::BFCVTN:
9950 case AArch64::CLSWr:
9951 case AArch64::CLSXr:
9952 case AArch64::CLSv16i8:
9953 case AArch64::CLSv2i32:
9954 case AArch64::CLSv4i16:
9955 case AArch64::CLSv4i32:
9956 case AArch64::CLSv8i16:
9957 case AArch64::CLSv8i8:
9958 case AArch64::CLZWr:
9959 case AArch64::CLZXr:
9960 case AArch64::CLZv16i8:
9961 case AArch64::CLZv2i32:
9962 case AArch64::CLZv4i16:
9963 case AArch64::CLZv4i32:
9964 case AArch64::CLZv8i16:
9965 case AArch64::CLZv8i8:
9966 case AArch64::CMEQv16i8rz:
9967 case AArch64::CMEQv1i64rz:
9968 case AArch64::CMEQv2i32rz:
9969 case AArch64::CMEQv2i64rz:
9970 case AArch64::CMEQv4i16rz:
9971 case AArch64::CMEQv4i32rz:
9972 case AArch64::CMEQv8i16rz:
9973 case AArch64::CMEQv8i8rz:
9974 case AArch64::CMGEv16i8rz:
9975 case AArch64::CMGEv1i64rz:
9976 case AArch64::CMGEv2i32rz:
9977 case AArch64::CMGEv2i64rz:
9978 case AArch64::CMGEv4i16rz:
9979 case AArch64::CMGEv4i32rz:
9980 case AArch64::CMGEv8i16rz:
9981 case AArch64::CMGEv8i8rz:
9982 case AArch64::CMGTv16i8rz:
9983 case AArch64::CMGTv1i64rz:
9984 case AArch64::CMGTv2i32rz:
9985 case AArch64::CMGTv2i64rz:
9986 case AArch64::CMGTv4i16rz:
9987 case AArch64::CMGTv4i32rz:
9988 case AArch64::CMGTv8i16rz:
9989 case AArch64::CMGTv8i8rz:
9990 case AArch64::CMLEv16i8rz:
9991 case AArch64::CMLEv1i64rz:
9992 case AArch64::CMLEv2i32rz:
9993 case AArch64::CMLEv2i64rz:
9994 case AArch64::CMLEv4i16rz:
9995 case AArch64::CMLEv4i32rz:
9996 case AArch64::CMLEv8i16rz:
9997 case AArch64::CMLEv8i8rz:
9998 case AArch64::CMLTv16i8rz:
9999 case AArch64::CMLTv1i64rz:
10000 case AArch64::CMLTv2i32rz:
10001 case AArch64::CMLTv2i64rz:
10002 case AArch64::CMLTv4i16rz:
10003 case AArch64::CMLTv4i32rz:
10004 case AArch64::CMLTv8i16rz:
10005 case AArch64::CMLTv8i8rz:
10006 case AArch64::CNTWr:
10007 case AArch64::CNTXr:
10008 case AArch64::CNTv16i8:
10009 case AArch64::CNTv8i8:
10010 case AArch64::CTZWr:
10011 case AArch64::CTZXr:
10012 case AArch64::DUPv16i8gpr:
10013 case AArch64::DUPv2i32gpr:
10014 case AArch64::DUPv2i64gpr:
10015 case AArch64::DUPv4i16gpr:
10016 case AArch64::DUPv4i32gpr:
10017 case AArch64::DUPv8i16gpr:
10018 case AArch64::DUPv8i8gpr:
10019 case AArch64::F1CVTL:
10020 case AArch64::F1CVTL2:
10021 case AArch64::F2CVTL:
10022 case AArch64::F2CVTL2:
10023 case AArch64::FABSDr:
10024 case AArch64::FABSHr:
10025 case AArch64::FABSSr:
10026 case AArch64::FABSv2f32:
10027 case AArch64::FABSv2f64:
10028 case AArch64::FABSv4f16:
10029 case AArch64::FABSv4f32:
10030 case AArch64::FABSv8f16:
10031 case AArch64::FADDPv2i16p:
10032 case AArch64::FADDPv2i32p:
10033 case AArch64::FADDPv2i64p:
10034 case AArch64::FCMEQv1i16rz:
10035 case AArch64::FCMEQv1i32rz:
10036 case AArch64::FCMEQv1i64rz:
10037 case AArch64::FCMEQv2i32rz:
10038 case AArch64::FCMEQv2i64rz:
10039 case AArch64::FCMEQv4i16rz:
10040 case AArch64::FCMEQv4i32rz:
10041 case AArch64::FCMEQv8i16rz:
10042 case AArch64::FCMGEv1i16rz:
10043 case AArch64::FCMGEv1i32rz:
10044 case AArch64::FCMGEv1i64rz:
10045 case AArch64::FCMGEv2i32rz:
10046 case AArch64::FCMGEv2i64rz:
10047 case AArch64::FCMGEv4i16rz:
10048 case AArch64::FCMGEv4i32rz:
10049 case AArch64::FCMGEv8i16rz:
10050 case AArch64::FCMGTv1i16rz:
10051 case AArch64::FCMGTv1i32rz:
10052 case AArch64::FCMGTv1i64rz:
10053 case AArch64::FCMGTv2i32rz:
10054 case AArch64::FCMGTv2i64rz:
10055 case AArch64::FCMGTv4i16rz:
10056 case AArch64::FCMGTv4i32rz:
10057 case AArch64::FCMGTv8i16rz:
10058 case AArch64::FCMLEv1i16rz:
10059 case AArch64::FCMLEv1i32rz:
10060 case AArch64::FCMLEv1i64rz:
10061 case AArch64::FCMLEv2i32rz:
10062 case AArch64::FCMLEv2i64rz:
10063 case AArch64::FCMLEv4i16rz:
10064 case AArch64::FCMLEv4i32rz:
10065 case AArch64::FCMLEv8i16rz:
10066 case AArch64::FCMLTv1i16rz:
10067 case AArch64::FCMLTv1i32rz:
10068 case AArch64::FCMLTv1i64rz:
10069 case AArch64::FCMLTv2i32rz:
10070 case AArch64::FCMLTv2i64rz:
10071 case AArch64::FCMLTv4i16rz:
10072 case AArch64::FCMLTv4i32rz:
10073 case AArch64::FCMLTv8i16rz:
10074 case AArch64::FCVTASDHr:
10075 case AArch64::FCVTASDSr:
10076 case AArch64::FCVTASSDr:
10077 case AArch64::FCVTASSHr:
10078 case AArch64::FCVTASUWDr:
10079 case AArch64::FCVTASUWHr:
10080 case AArch64::FCVTASUWSr:
10081 case AArch64::FCVTASUXDr:
10082 case AArch64::FCVTASUXHr:
10083 case AArch64::FCVTASUXSr:
10084 case AArch64::FCVTASv1f16:
10085 case AArch64::FCVTASv1i32:
10086 case AArch64::FCVTASv1i64:
10087 case AArch64::FCVTASv2f32:
10088 case AArch64::FCVTASv2f64:
10089 case AArch64::FCVTASv4f16:
10090 case AArch64::FCVTASv4f32:
10091 case AArch64::FCVTASv8f16:
10092 case AArch64::FCVTAUDHr:
10093 case AArch64::FCVTAUDSr:
10094 case AArch64::FCVTAUSDr:
10095 case AArch64::FCVTAUSHr:
10096 case AArch64::FCVTAUUWDr:
10097 case AArch64::FCVTAUUWHr:
10098 case AArch64::FCVTAUUWSr:
10099 case AArch64::FCVTAUUXDr:
10100 case AArch64::FCVTAUUXHr:
10101 case AArch64::FCVTAUUXSr:
10102 case AArch64::FCVTAUv1f16:
10103 case AArch64::FCVTAUv1i32:
10104 case AArch64::FCVTAUv1i64:
10105 case AArch64::FCVTAUv2f32:
10106 case AArch64::FCVTAUv2f64:
10107 case AArch64::FCVTAUv4f16:
10108 case AArch64::FCVTAUv4f32:
10109 case AArch64::FCVTAUv8f16:
10110 case AArch64::FCVTDHr:
10111 case AArch64::FCVTDSr:
10112 case AArch64::FCVTHDr:
10113 case AArch64::FCVTHSr:
10114 case AArch64::FCVTLv2i32:
10115 case AArch64::FCVTLv4i16:
10116 case AArch64::FCVTLv4i32:
10117 case AArch64::FCVTLv8i16:
10118 case AArch64::FCVTMSDHr:
10119 case AArch64::FCVTMSDSr:
10120 case AArch64::FCVTMSSDr:
10121 case AArch64::FCVTMSSHr:
10122 case AArch64::FCVTMSUWDr:
10123 case AArch64::FCVTMSUWHr:
10124 case AArch64::FCVTMSUWSr:
10125 case AArch64::FCVTMSUXDr:
10126 case AArch64::FCVTMSUXHr:
10127 case AArch64::FCVTMSUXSr:
10128 case AArch64::FCVTMSv1f16:
10129 case AArch64::FCVTMSv1i32:
10130 case AArch64::FCVTMSv1i64:
10131 case AArch64::FCVTMSv2f32:
10132 case AArch64::FCVTMSv2f64:
10133 case AArch64::FCVTMSv4f16:
10134 case AArch64::FCVTMSv4f32:
10135 case AArch64::FCVTMSv8f16:
10136 case AArch64::FCVTMUDHr:
10137 case AArch64::FCVTMUDSr:
10138 case AArch64::FCVTMUSDr:
10139 case AArch64::FCVTMUSHr:
10140 case AArch64::FCVTMUUWDr:
10141 case AArch64::FCVTMUUWHr:
10142 case AArch64::FCVTMUUWSr:
10143 case AArch64::FCVTMUUXDr:
10144 case AArch64::FCVTMUUXHr:
10145 case AArch64::FCVTMUUXSr:
10146 case AArch64::FCVTMUv1f16:
10147 case AArch64::FCVTMUv1i32:
10148 case AArch64::FCVTMUv1i64:
10149 case AArch64::FCVTMUv2f32:
10150 case AArch64::FCVTMUv2f64:
10151 case AArch64::FCVTMUv4f16:
10152 case AArch64::FCVTMUv4f32:
10153 case AArch64::FCVTMUv8f16:
10154 case AArch64::FCVTNSDHr:
10155 case AArch64::FCVTNSDSr:
10156 case AArch64::FCVTNSSDr:
10157 case AArch64::FCVTNSSHr:
10158 case AArch64::FCVTNSUWDr:
10159 case AArch64::FCVTNSUWHr:
10160 case AArch64::FCVTNSUWSr:
10161 case AArch64::FCVTNSUXDr:
10162 case AArch64::FCVTNSUXHr:
10163 case AArch64::FCVTNSUXSr:
10164 case AArch64::FCVTNSv1f16:
10165 case AArch64::FCVTNSv1i32:
10166 case AArch64::FCVTNSv1i64:
10167 case AArch64::FCVTNSv2f32:
10168 case AArch64::FCVTNSv2f64:
10169 case AArch64::FCVTNSv4f16:
10170 case AArch64::FCVTNSv4f32:
10171 case AArch64::FCVTNSv8f16:
10172 case AArch64::FCVTNUDHr:
10173 case AArch64::FCVTNUDSr:
10174 case AArch64::FCVTNUSDr:
10175 case AArch64::FCVTNUSHr:
10176 case AArch64::FCVTNUUWDr:
10177 case AArch64::FCVTNUUWHr:
10178 case AArch64::FCVTNUUWSr:
10179 case AArch64::FCVTNUUXDr:
10180 case AArch64::FCVTNUUXHr:
10181 case AArch64::FCVTNUUXSr:
10182 case AArch64::FCVTNUv1f16:
10183 case AArch64::FCVTNUv1i32:
10184 case AArch64::FCVTNUv1i64:
10185 case AArch64::FCVTNUv2f32:
10186 case AArch64::FCVTNUv2f64:
10187 case AArch64::FCVTNUv4f16:
10188 case AArch64::FCVTNUv4f32:
10189 case AArch64::FCVTNUv8f16:
10190 case AArch64::FCVTNv2i32:
10191 case AArch64::FCVTNv4i16:
10192 case AArch64::FCVTPSDHr:
10193 case AArch64::FCVTPSDSr:
10194 case AArch64::FCVTPSSDr:
10195 case AArch64::FCVTPSSHr:
10196 case AArch64::FCVTPSUWDr:
10197 case AArch64::FCVTPSUWHr:
10198 case AArch64::FCVTPSUWSr:
10199 case AArch64::FCVTPSUXDr:
10200 case AArch64::FCVTPSUXHr:
10201 case AArch64::FCVTPSUXSr:
10202 case AArch64::FCVTPSv1f16:
10203 case AArch64::FCVTPSv1i32:
10204 case AArch64::FCVTPSv1i64:
10205 case AArch64::FCVTPSv2f32:
10206 case AArch64::FCVTPSv2f64:
10207 case AArch64::FCVTPSv4f16:
10208 case AArch64::FCVTPSv4f32:
10209 case AArch64::FCVTPSv8f16:
10210 case AArch64::FCVTPUDHr:
10211 case AArch64::FCVTPUDSr:
10212 case AArch64::FCVTPUSDr:
10213 case AArch64::FCVTPUSHr:
10214 case AArch64::FCVTPUUWDr:
10215 case AArch64::FCVTPUUWHr:
10216 case AArch64::FCVTPUUWSr:
10217 case AArch64::FCVTPUUXDr:
10218 case AArch64::FCVTPUUXHr:
10219 case AArch64::FCVTPUUXSr:
10220 case AArch64::FCVTPUv1f16:
10221 case AArch64::FCVTPUv1i32:
10222 case AArch64::FCVTPUv1i64:
10223 case AArch64::FCVTPUv2f32:
10224 case AArch64::FCVTPUv2f64:
10225 case AArch64::FCVTPUv4f16:
10226 case AArch64::FCVTPUv4f32:
10227 case AArch64::FCVTPUv8f16:
10228 case AArch64::FCVTSDr:
10229 case AArch64::FCVTSHr:
10230 case AArch64::FCVTXNv1i64:
10231 case AArch64::FCVTXNv2f32:
10232 case AArch64::FCVTZSDHr:
10233 case AArch64::FCVTZSDSr:
10234 case AArch64::FCVTZSSDr:
10235 case AArch64::FCVTZSSHr:
10236 case AArch64::FCVTZSUWDr:
10237 case AArch64::FCVTZSUWHr:
10238 case AArch64::FCVTZSUWSr:
10239 case AArch64::FCVTZSUXDr:
10240 case AArch64::FCVTZSUXHr:
10241 case AArch64::FCVTZSUXSr:
10242 case AArch64::FCVTZSv1f16:
10243 case AArch64::FCVTZSv1i32:
10244 case AArch64::FCVTZSv1i64:
10245 case AArch64::FCVTZSv2f32:
10246 case AArch64::FCVTZSv2f64:
10247 case AArch64::FCVTZSv4f16:
10248 case AArch64::FCVTZSv4f32:
10249 case AArch64::FCVTZSv8f16:
10250 case AArch64::FCVTZUDHr:
10251 case AArch64::FCVTZUDSr:
10252 case AArch64::FCVTZUSDr:
10253 case AArch64::FCVTZUSHr:
10254 case AArch64::FCVTZUUWDr:
10255 case AArch64::FCVTZUUWHr:
10256 case AArch64::FCVTZUUWSr:
10257 case AArch64::FCVTZUUXDr:
10258 case AArch64::FCVTZUUXHr:
10259 case AArch64::FCVTZUUXSr:
10260 case AArch64::FCVTZUv1f16:
10261 case AArch64::FCVTZUv1i32:
10262 case AArch64::FCVTZUv1i64:
10263 case AArch64::FCVTZUv2f32:
10264 case AArch64::FCVTZUv2f64:
10265 case AArch64::FCVTZUv4f16:
10266 case AArch64::FCVTZUv4f32:
10267 case AArch64::FCVTZUv8f16:
10268 case AArch64::FJCVTZS:
10269 case AArch64::FMAXNMPv2i16p:
10270 case AArch64::FMAXNMPv2i32p:
10271 case AArch64::FMAXNMPv2i64p:
10272 case AArch64::FMAXNMVv4i16v:
10273 case AArch64::FMAXNMVv4i32v:
10274 case AArch64::FMAXNMVv8i16v:
10275 case AArch64::FMAXPv2i16p:
10276 case AArch64::FMAXPv2i32p:
10277 case AArch64::FMAXPv2i64p:
10278 case AArch64::FMAXVv4i16v:
10279 case AArch64::FMAXVv4i32v:
10280 case AArch64::FMAXVv8i16v:
10281 case AArch64::FMINNMPv2i16p:
10282 case AArch64::FMINNMPv2i32p:
10283 case AArch64::FMINNMPv2i64p:
10284 case AArch64::FMINNMVv4i16v:
10285 case AArch64::FMINNMVv4i32v:
10286 case AArch64::FMINNMVv8i16v:
10287 case AArch64::FMINPv2i16p:
10288 case AArch64::FMINPv2i32p:
10289 case AArch64::FMINPv2i64p:
10290 case AArch64::FMINVv4i16v:
10291 case AArch64::FMINVv4i32v:
10292 case AArch64::FMINVv8i16v:
10293 case AArch64::FMOVDXHighr:
10294 case AArch64::FMOVDXr:
10295 case AArch64::FMOVDr:
10296 case AArch64::FMOVHWr:
10297 case AArch64::FMOVHXr:
10298 case AArch64::FMOVHr:
10299 case AArch64::FMOVSWr:
10300 case AArch64::FMOVSr:
10301 case AArch64::FMOVWHr:
10302 case AArch64::FMOVWSr:
10303 case AArch64::FMOVXDHighr:
10304 case AArch64::FMOVXDr:
10305 case AArch64::FMOVXHr:
10306 case AArch64::FNEGDr:
10307 case AArch64::FNEGHr:
10308 case AArch64::FNEGSr:
10309 case AArch64::FNEGv2f32:
10310 case AArch64::FNEGv2f64:
10311 case AArch64::FNEGv4f16:
10312 case AArch64::FNEGv4f32:
10313 case AArch64::FNEGv8f16:
10314 case AArch64::FRECPEv1f16:
10315 case AArch64::FRECPEv1i32:
10316 case AArch64::FRECPEv1i64:
10317 case AArch64::FRECPEv2f32:
10318 case AArch64::FRECPEv2f64:
10319 case AArch64::FRECPEv4f16:
10320 case AArch64::FRECPEv4f32:
10321 case AArch64::FRECPEv8f16:
10322 case AArch64::FRECPXv1f16:
10323 case AArch64::FRECPXv1i32:
10324 case AArch64::FRECPXv1i64:
10325 case AArch64::FRINT32XDr:
10326 case AArch64::FRINT32XSr:
10327 case AArch64::FRINT32Xv2f32:
10328 case AArch64::FRINT32Xv2f64:
10329 case AArch64::FRINT32Xv4f32:
10330 case AArch64::FRINT32ZDr:
10331 case AArch64::FRINT32ZSr:
10332 case AArch64::FRINT32Zv2f32:
10333 case AArch64::FRINT32Zv2f64:
10334 case AArch64::FRINT32Zv4f32:
10335 case AArch64::FRINT64XDr:
10336 case AArch64::FRINT64XSr:
10337 case AArch64::FRINT64Xv2f32:
10338 case AArch64::FRINT64Xv2f64:
10339 case AArch64::FRINT64Xv4f32:
10340 case AArch64::FRINT64ZDr:
10341 case AArch64::FRINT64ZSr:
10342 case AArch64::FRINT64Zv2f32:
10343 case AArch64::FRINT64Zv2f64:
10344 case AArch64::FRINT64Zv4f32:
10345 case AArch64::FRINTADr:
10346 case AArch64::FRINTAHr:
10347 case AArch64::FRINTASr:
10348 case AArch64::FRINTAv2f32:
10349 case AArch64::FRINTAv2f64:
10350 case AArch64::FRINTAv4f16:
10351 case AArch64::FRINTAv4f32:
10352 case AArch64::FRINTAv8f16:
10353 case AArch64::FRINTIDr:
10354 case AArch64::FRINTIHr:
10355 case AArch64::FRINTISr:
10356 case AArch64::FRINTIv2f32:
10357 case AArch64::FRINTIv2f64:
10358 case AArch64::FRINTIv4f16:
10359 case AArch64::FRINTIv4f32:
10360 case AArch64::FRINTIv8f16:
10361 case AArch64::FRINTMDr:
10362 case AArch64::FRINTMHr:
10363 case AArch64::FRINTMSr:
10364 case AArch64::FRINTMv2f32:
10365 case AArch64::FRINTMv2f64:
10366 case AArch64::FRINTMv4f16:
10367 case AArch64::FRINTMv4f32:
10368 case AArch64::FRINTMv8f16:
10369 case AArch64::FRINTNDr:
10370 case AArch64::FRINTNHr:
10371 case AArch64::FRINTNSr:
10372 case AArch64::FRINTNv2f32:
10373 case AArch64::FRINTNv2f64:
10374 case AArch64::FRINTNv4f16:
10375 case AArch64::FRINTNv4f32:
10376 case AArch64::FRINTNv8f16:
10377 case AArch64::FRINTPDr:
10378 case AArch64::FRINTPHr:
10379 case AArch64::FRINTPSr:
10380 case AArch64::FRINTPv2f32:
10381 case AArch64::FRINTPv2f64:
10382 case AArch64::FRINTPv4f16:
10383 case AArch64::FRINTPv4f32:
10384 case AArch64::FRINTPv8f16:
10385 case AArch64::FRINTXDr:
10386 case AArch64::FRINTXHr:
10387 case AArch64::FRINTXSr:
10388 case AArch64::FRINTXv2f32:
10389 case AArch64::FRINTXv2f64:
10390 case AArch64::FRINTXv4f16:
10391 case AArch64::FRINTXv4f32:
10392 case AArch64::FRINTXv8f16:
10393 case AArch64::FRINTZDr:
10394 case AArch64::FRINTZHr:
10395 case AArch64::FRINTZSr:
10396 case AArch64::FRINTZv2f32:
10397 case AArch64::FRINTZv2f64:
10398 case AArch64::FRINTZv4f16:
10399 case AArch64::FRINTZv4f32:
10400 case AArch64::FRINTZv8f16:
10401 case AArch64::FRSQRTEv1f16:
10402 case AArch64::FRSQRTEv1i32:
10403 case AArch64::FRSQRTEv1i64:
10404 case AArch64::FRSQRTEv2f32:
10405 case AArch64::FRSQRTEv2f64:
10406 case AArch64::FRSQRTEv4f16:
10407 case AArch64::FRSQRTEv4f32:
10408 case AArch64::FRSQRTEv8f16:
10409 case AArch64::FSQRTDr:
10410 case AArch64::FSQRTHr:
10411 case AArch64::FSQRTSr:
10412 case AArch64::FSQRTv2f32:
10413 case AArch64::FSQRTv2f64:
10414 case AArch64::FSQRTv4f16:
10415 case AArch64::FSQRTv4f32:
10416 case AArch64::FSQRTv8f16:
10417 case AArch64::NEGv16i8:
10418 case AArch64::NEGv1i64:
10419 case AArch64::NEGv2i32:
10420 case AArch64::NEGv2i64:
10421 case AArch64::NEGv4i16:
10422 case AArch64::NEGv4i32:
10423 case AArch64::NEGv8i16:
10424 case AArch64::NEGv8i8:
10425 case AArch64::NOTv16i8:
10426 case AArch64::NOTv8i8:
10427 case AArch64::RBITWr:
10428 case AArch64::RBITXr:
10429 case AArch64::RBITv16i8:
10430 case AArch64::RBITv8i8:
10431 case AArch64::REV16Wr:
10432 case AArch64::REV16Xr:
10433 case AArch64::REV16v16i8:
10434 case AArch64::REV16v8i8:
10435 case AArch64::REV32Xr:
10436 case AArch64::REV32v16i8:
10437 case AArch64::REV32v4i16:
10438 case AArch64::REV32v8i16:
10439 case AArch64::REV32v8i8:
10440 case AArch64::REV64v16i8:
10441 case AArch64::REV64v2i32:
10442 case AArch64::REV64v4i16:
10443 case AArch64::REV64v4i32:
10444 case AArch64::REV64v8i16:
10445 case AArch64::REV64v8i8:
10446 case AArch64::REVWr:
10447 case AArch64::REVXr:
10448 case AArch64::SADDLPv16i8_v8i16:
10449 case AArch64::SADDLPv2i32_v1i64:
10450 case AArch64::SADDLPv4i16_v2i32:
10451 case AArch64::SADDLPv4i32_v2i64:
10452 case AArch64::SADDLPv8i16_v4i32:
10453 case AArch64::SADDLPv8i8_v4i16:
10454 case AArch64::SADDLVv16i8v:
10455 case AArch64::SADDLVv4i16v:
10456 case AArch64::SADDLVv4i32v:
10457 case AArch64::SADDLVv8i16v:
10458 case AArch64::SADDLVv8i8v:
10459 case AArch64::SCVTFDSr:
10460 case AArch64::SCVTFHDr:
10461 case AArch64::SCVTFHSr:
10462 case AArch64::SCVTFSDr:
10463 case AArch64::SCVTFUWDri:
10464 case AArch64::SCVTFUWHri:
10465 case AArch64::SCVTFUWSri:
10466 case AArch64::SCVTFUXDri:
10467 case AArch64::SCVTFUXHri:
10468 case AArch64::SCVTFUXSri:
10469 case AArch64::SCVTFv1i16:
10470 case AArch64::SCVTFv1i32:
10471 case AArch64::SCVTFv1i64:
10472 case AArch64::SCVTFv2f32:
10473 case AArch64::SCVTFv2f64:
10474 case AArch64::SCVTFv4f16:
10475 case AArch64::SCVTFv4f32:
10476 case AArch64::SCVTFv8f16:
10477 case AArch64::SHA1Hrr:
10478 case AArch64::SHLLv16i8:
10479 case AArch64::SHLLv2i32:
10480 case AArch64::SHLLv4i16:
10481 case AArch64::SHLLv4i32:
10482 case AArch64::SHLLv8i16:
10483 case AArch64::SHLLv8i8:
10484 case AArch64::SMAXVv16i8v:
10485 case AArch64::SMAXVv4i16v:
10486 case AArch64::SMAXVv4i32v:
10487 case AArch64::SMAXVv8i16v:
10488 case AArch64::SMAXVv8i8v:
10489 case AArch64::SMINVv16i8v:
10490 case AArch64::SMINVv4i16v:
10491 case AArch64::SMINVv4i32v:
10492 case AArch64::SMINVv8i16v:
10493 case AArch64::SMINVv8i8v:
10494 case AArch64::SMOVvi16to32_idx0:
10495 case AArch64::SMOVvi16to64_idx0:
10496 case AArch64::SMOVvi32to64_idx0:
10497 case AArch64::SMOVvi8to32_idx0:
10498 case AArch64::SMOVvi8to64_idx0:
10499 case AArch64::SQABSv16i8:
10500 case AArch64::SQABSv1i16:
10501 case AArch64::SQABSv1i32:
10502 case AArch64::SQABSv1i64:
10503 case AArch64::SQABSv1i8:
10504 case AArch64::SQABSv2i32:
10505 case AArch64::SQABSv2i64:
10506 case AArch64::SQABSv4i16:
10507 case AArch64::SQABSv4i32:
10508 case AArch64::SQABSv8i16:
10509 case AArch64::SQABSv8i8:
10510 case AArch64::SQNEGv16i8:
10511 case AArch64::SQNEGv1i16:
10512 case AArch64::SQNEGv1i32:
10513 case AArch64::SQNEGv1i64:
10514 case AArch64::SQNEGv1i8:
10515 case AArch64::SQNEGv2i32:
10516 case AArch64::SQNEGv2i64:
10517 case AArch64::SQNEGv4i16:
10518 case AArch64::SQNEGv4i32:
10519 case AArch64::SQNEGv8i16:
10520 case AArch64::SQNEGv8i8:
10521 case AArch64::SQXTNv1i16:
10522 case AArch64::SQXTNv1i32:
10523 case AArch64::SQXTNv1i8:
10524 case AArch64::SQXTNv2i32:
10525 case AArch64::SQXTNv4i16:
10526 case AArch64::SQXTNv8i8:
10527 case AArch64::SQXTUNv1i16:
10528 case AArch64::SQXTUNv1i32:
10529 case AArch64::SQXTUNv1i8:
10530 case AArch64::SQXTUNv2i32:
10531 case AArch64::SQXTUNv4i16:
10532 case AArch64::SQXTUNv8i8:
10533 case AArch64::UADDLPv16i8_v8i16:
10534 case AArch64::UADDLPv2i32_v1i64:
10535 case AArch64::UADDLPv4i16_v2i32:
10536 case AArch64::UADDLPv4i32_v2i64:
10537 case AArch64::UADDLPv8i16_v4i32:
10538 case AArch64::UADDLPv8i8_v4i16:
10539 case AArch64::UADDLVv16i8v:
10540 case AArch64::UADDLVv4i16v:
10541 case AArch64::UADDLVv4i32v:
10542 case AArch64::UADDLVv8i16v:
10543 case AArch64::UADDLVv8i8v:
10544 case AArch64::UCVTFDSr:
10545 case AArch64::UCVTFHDr:
10546 case AArch64::UCVTFHSr:
10547 case AArch64::UCVTFSDr:
10548 case AArch64::UCVTFUWDri:
10549 case AArch64::UCVTFUWHri:
10550 case AArch64::UCVTFUWSri:
10551 case AArch64::UCVTFUXDri:
10552 case AArch64::UCVTFUXHri:
10553 case AArch64::UCVTFUXSri:
10554 case AArch64::UCVTFv1i16:
10555 case AArch64::UCVTFv1i32:
10556 case AArch64::UCVTFv1i64:
10557 case AArch64::UCVTFv2f32:
10558 case AArch64::UCVTFv2f64:
10559 case AArch64::UCVTFv4f16:
10560 case AArch64::UCVTFv4f32:
10561 case AArch64::UCVTFv8f16:
10562 case AArch64::UMAXVv16i8v:
10563 case AArch64::UMAXVv4i16v:
10564 case AArch64::UMAXVv4i32v:
10565 case AArch64::UMAXVv8i16v:
10566 case AArch64::UMAXVv8i8v:
10567 case AArch64::UMINVv16i8v:
10568 case AArch64::UMINVv4i16v:
10569 case AArch64::UMINVv4i32v:
10570 case AArch64::UMINVv8i16v:
10571 case AArch64::UMINVv8i8v:
10572 case AArch64::UMOVvi16_idx0:
10573 case AArch64::UMOVvi32_idx0:
10574 case AArch64::UMOVvi64_idx0:
10575 case AArch64::UMOVvi8_idx0:
10576 case AArch64::UQXTNv1i16:
10577 case AArch64::UQXTNv1i32:
10578 case AArch64::UQXTNv1i8:
10579 case AArch64::UQXTNv2i32:
10580 case AArch64::UQXTNv4i16:
10581 case AArch64::UQXTNv8i8:
10582 case AArch64::URECPEv2i32:
10583 case AArch64::URECPEv4i32:
10584 case AArch64::URSQRTEv2i32:
10585 case AArch64::URSQRTEv4i32:
10586 case AArch64::XTNv2i32:
10587 case AArch64::XTNv4i16:
10588 case AArch64::XTNv8i8: {
10589 // op: Rd
10590 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10591 Value |= (op & 0x1f);
10592 // op: Rn
10593 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10594 Value |= (op & 0x1f) << 5;
10595 break;
10596 }
10597 case AArch64::ADCSWr:
10598 case AArch64::ADCSXr:
10599 case AArch64::ADCWr:
10600 case AArch64::ADCXr:
10601 case AArch64::ADDHNv2i64_v2i32:
10602 case AArch64::ADDHNv4i32_v4i16:
10603 case AArch64::ADDHNv8i16_v8i8:
10604 case AArch64::ADDPv16i8:
10605 case AArch64::ADDPv2i32:
10606 case AArch64::ADDPv2i64:
10607 case AArch64::ADDPv4i16:
10608 case AArch64::ADDPv4i32:
10609 case AArch64::ADDPv8i16:
10610 case AArch64::ADDPv8i8:
10611 case AArch64::ADDv16i8:
10612 case AArch64::ADDv1i64:
10613 case AArch64::ADDv2i32:
10614 case AArch64::ADDv2i64:
10615 case AArch64::ADDv4i16:
10616 case AArch64::ADDv4i32:
10617 case AArch64::ADDv8i16:
10618 case AArch64::ADDv8i8:
10619 case AArch64::ANDv16i8:
10620 case AArch64::ANDv8i8:
10621 case AArch64::ASRVWr:
10622 case AArch64::ASRVXr:
10623 case AArch64::BICv16i8:
10624 case AArch64::BICv8i8:
10625 case AArch64::CMEQv16i8:
10626 case AArch64::CMEQv1i64:
10627 case AArch64::CMEQv2i32:
10628 case AArch64::CMEQv2i64:
10629 case AArch64::CMEQv4i16:
10630 case AArch64::CMEQv4i32:
10631 case AArch64::CMEQv8i16:
10632 case AArch64::CMEQv8i8:
10633 case AArch64::CMGEv16i8:
10634 case AArch64::CMGEv1i64:
10635 case AArch64::CMGEv2i32:
10636 case AArch64::CMGEv2i64:
10637 case AArch64::CMGEv4i16:
10638 case AArch64::CMGEv4i32:
10639 case AArch64::CMGEv8i16:
10640 case AArch64::CMGEv8i8:
10641 case AArch64::CMGTv16i8:
10642 case AArch64::CMGTv1i64:
10643 case AArch64::CMGTv2i32:
10644 case AArch64::CMGTv2i64:
10645 case AArch64::CMGTv4i16:
10646 case AArch64::CMGTv4i32:
10647 case AArch64::CMGTv8i16:
10648 case AArch64::CMGTv8i8:
10649 case AArch64::CMHIv16i8:
10650 case AArch64::CMHIv1i64:
10651 case AArch64::CMHIv2i32:
10652 case AArch64::CMHIv2i64:
10653 case AArch64::CMHIv4i16:
10654 case AArch64::CMHIv4i32:
10655 case AArch64::CMHIv8i16:
10656 case AArch64::CMHIv8i8:
10657 case AArch64::CMHSv16i8:
10658 case AArch64::CMHSv1i64:
10659 case AArch64::CMHSv2i32:
10660 case AArch64::CMHSv2i64:
10661 case AArch64::CMHSv4i16:
10662 case AArch64::CMHSv4i32:
10663 case AArch64::CMHSv8i16:
10664 case AArch64::CMHSv8i8:
10665 case AArch64::CMTSTv16i8:
10666 case AArch64::CMTSTv1i64:
10667 case AArch64::CMTSTv2i32:
10668 case AArch64::CMTSTv2i64:
10669 case AArch64::CMTSTv4i16:
10670 case AArch64::CMTSTv4i32:
10671 case AArch64::CMTSTv8i16:
10672 case AArch64::CMTSTv8i8:
10673 case AArch64::CRC32Brr:
10674 case AArch64::CRC32CBrr:
10675 case AArch64::CRC32CHrr:
10676 case AArch64::CRC32CWrr:
10677 case AArch64::CRC32CXrr:
10678 case AArch64::CRC32Hrr:
10679 case AArch64::CRC32Wrr:
10680 case AArch64::CRC32Xrr:
10681 case AArch64::EORv16i8:
10682 case AArch64::EORv8i8:
10683 case AArch64::FABD16:
10684 case AArch64::FABD32:
10685 case AArch64::FABD64:
10686 case AArch64::FABDv2f32:
10687 case AArch64::FABDv2f64:
10688 case AArch64::FABDv4f16:
10689 case AArch64::FABDv4f32:
10690 case AArch64::FABDv8f16:
10691 case AArch64::FACGE16:
10692 case AArch64::FACGE32:
10693 case AArch64::FACGE64:
10694 case AArch64::FACGEv2f32:
10695 case AArch64::FACGEv2f64:
10696 case AArch64::FACGEv4f16:
10697 case AArch64::FACGEv4f32:
10698 case AArch64::FACGEv8f16:
10699 case AArch64::FACGT16:
10700 case AArch64::FACGT32:
10701 case AArch64::FACGT64:
10702 case AArch64::FACGTv2f32:
10703 case AArch64::FACGTv2f64:
10704 case AArch64::FACGTv4f16:
10705 case AArch64::FACGTv4f32:
10706 case AArch64::FACGTv8f16:
10707 case AArch64::FADDDrr:
10708 case AArch64::FADDHrr:
10709 case AArch64::FADDPv2f32:
10710 case AArch64::FADDPv2f64:
10711 case AArch64::FADDPv4f16:
10712 case AArch64::FADDPv4f32:
10713 case AArch64::FADDPv8f16:
10714 case AArch64::FADDSrr:
10715 case AArch64::FADDv2f32:
10716 case AArch64::FADDv2f64:
10717 case AArch64::FADDv4f16:
10718 case AArch64::FADDv4f32:
10719 case AArch64::FADDv8f16:
10720 case AArch64::FAMAXv2f32:
10721 case AArch64::FAMAXv2f64:
10722 case AArch64::FAMAXv4f16:
10723 case AArch64::FAMAXv4f32:
10724 case AArch64::FAMAXv8f16:
10725 case AArch64::FAMINv2f32:
10726 case AArch64::FAMINv2f64:
10727 case AArch64::FAMINv4f16:
10728 case AArch64::FAMINv4f32:
10729 case AArch64::FAMINv8f16:
10730 case AArch64::FCMEQ16:
10731 case AArch64::FCMEQ32:
10732 case AArch64::FCMEQ64:
10733 case AArch64::FCMEQv2f32:
10734 case AArch64::FCMEQv2f64:
10735 case AArch64::FCMEQv4f16:
10736 case AArch64::FCMEQv4f32:
10737 case AArch64::FCMEQv8f16:
10738 case AArch64::FCMGE16:
10739 case AArch64::FCMGE32:
10740 case AArch64::FCMGE64:
10741 case AArch64::FCMGEv2f32:
10742 case AArch64::FCMGEv2f64:
10743 case AArch64::FCMGEv4f16:
10744 case AArch64::FCMGEv4f32:
10745 case AArch64::FCMGEv8f16:
10746 case AArch64::FCMGT16:
10747 case AArch64::FCMGT32:
10748 case AArch64::FCMGT64:
10749 case AArch64::FCMGTv2f32:
10750 case AArch64::FCMGTv2f64:
10751 case AArch64::FCMGTv4f16:
10752 case AArch64::FCMGTv4f32:
10753 case AArch64::FCMGTv8f16:
10754 case AArch64::FCVTN_F16v16f8:
10755 case AArch64::FCVTN_F16v8f8:
10756 case AArch64::FCVTN_F32v8f8:
10757 case AArch64::FDIVDrr:
10758 case AArch64::FDIVHrr:
10759 case AArch64::FDIVSrr:
10760 case AArch64::FDIVv2f32:
10761 case AArch64::FDIVv2f64:
10762 case AArch64::FDIVv4f16:
10763 case AArch64::FDIVv4f32:
10764 case AArch64::FDIVv8f16:
10765 case AArch64::FMAXDrr:
10766 case AArch64::FMAXHrr:
10767 case AArch64::FMAXNMDrr:
10768 case AArch64::FMAXNMHrr:
10769 case AArch64::FMAXNMPv2f32:
10770 case AArch64::FMAXNMPv2f64:
10771 case AArch64::FMAXNMPv4f16:
10772 case AArch64::FMAXNMPv4f32:
10773 case AArch64::FMAXNMPv8f16:
10774 case AArch64::FMAXNMSrr:
10775 case AArch64::FMAXNMv2f32:
10776 case AArch64::FMAXNMv2f64:
10777 case AArch64::FMAXNMv4f16:
10778 case AArch64::FMAXNMv4f32:
10779 case AArch64::FMAXNMv8f16:
10780 case AArch64::FMAXPv2f32:
10781 case AArch64::FMAXPv2f64:
10782 case AArch64::FMAXPv4f16:
10783 case AArch64::FMAXPv4f32:
10784 case AArch64::FMAXPv8f16:
10785 case AArch64::FMAXSrr:
10786 case AArch64::FMAXv2f32:
10787 case AArch64::FMAXv2f64:
10788 case AArch64::FMAXv4f16:
10789 case AArch64::FMAXv4f32:
10790 case AArch64::FMAXv8f16:
10791 case AArch64::FMINDrr:
10792 case AArch64::FMINHrr:
10793 case AArch64::FMINNMDrr:
10794 case AArch64::FMINNMHrr:
10795 case AArch64::FMINNMPv2f32:
10796 case AArch64::FMINNMPv2f64:
10797 case AArch64::FMINNMPv4f16:
10798 case AArch64::FMINNMPv4f32:
10799 case AArch64::FMINNMPv8f16:
10800 case AArch64::FMINNMSrr:
10801 case AArch64::FMINNMv2f32:
10802 case AArch64::FMINNMv2f64:
10803 case AArch64::FMINNMv4f16:
10804 case AArch64::FMINNMv4f32:
10805 case AArch64::FMINNMv8f16:
10806 case AArch64::FMINPv2f32:
10807 case AArch64::FMINPv2f64:
10808 case AArch64::FMINPv4f16:
10809 case AArch64::FMINPv4f32:
10810 case AArch64::FMINPv8f16:
10811 case AArch64::FMINSrr:
10812 case AArch64::FMINv2f32:
10813 case AArch64::FMINv2f64:
10814 case AArch64::FMINv4f16:
10815 case AArch64::FMINv4f32:
10816 case AArch64::FMINv8f16:
10817 case AArch64::FMULDrr:
10818 case AArch64::FMULHrr:
10819 case AArch64::FMULSrr:
10820 case AArch64::FMULX16:
10821 case AArch64::FMULX32:
10822 case AArch64::FMULX64:
10823 case AArch64::FMULXv2f32:
10824 case AArch64::FMULXv2f64:
10825 case AArch64::FMULXv4f16:
10826 case AArch64::FMULXv4f32:
10827 case AArch64::FMULXv8f16:
10828 case AArch64::FMULv2f32:
10829 case AArch64::FMULv2f64:
10830 case AArch64::FMULv4f16:
10831 case AArch64::FMULv4f32:
10832 case AArch64::FMULv8f16:
10833 case AArch64::FNMULDrr:
10834 case AArch64::FNMULHrr:
10835 case AArch64::FNMULSrr:
10836 case AArch64::FRECPS16:
10837 case AArch64::FRECPS32:
10838 case AArch64::FRECPS64:
10839 case AArch64::FRECPSv2f32:
10840 case AArch64::FRECPSv2f64:
10841 case AArch64::FRECPSv4f16:
10842 case AArch64::FRECPSv4f32:
10843 case AArch64::FRECPSv8f16:
10844 case AArch64::FRSQRTS16:
10845 case AArch64::FRSQRTS32:
10846 case AArch64::FRSQRTS64:
10847 case AArch64::FRSQRTSv2f32:
10848 case AArch64::FRSQRTSv2f64:
10849 case AArch64::FRSQRTSv4f16:
10850 case AArch64::FRSQRTSv4f32:
10851 case AArch64::FRSQRTSv8f16:
10852 case AArch64::FSCALEv2f32:
10853 case AArch64::FSCALEv2f64:
10854 case AArch64::FSCALEv4f16:
10855 case AArch64::FSCALEv4f32:
10856 case AArch64::FSCALEv8f16:
10857 case AArch64::FSUBDrr:
10858 case AArch64::FSUBHrr:
10859 case AArch64::FSUBSrr:
10860 case AArch64::FSUBv2f32:
10861 case AArch64::FSUBv2f64:
10862 case AArch64::FSUBv4f16:
10863 case AArch64::FSUBv4f32:
10864 case AArch64::FSUBv8f16:
10865 case AArch64::GMI:
10866 case AArch64::IRG:
10867 case AArch64::LSLVWr:
10868 case AArch64::LSLVXr:
10869 case AArch64::LSRVWr:
10870 case AArch64::LSRVXr:
10871 case AArch64::MULv16i8:
10872 case AArch64::MULv2i32:
10873 case AArch64::MULv4i16:
10874 case AArch64::MULv4i32:
10875 case AArch64::MULv8i16:
10876 case AArch64::MULv8i8:
10877 case AArch64::ORNv16i8:
10878 case AArch64::ORNv8i8:
10879 case AArch64::ORRv16i8:
10880 case AArch64::ORRv8i8:
10881 case AArch64::PACGA:
10882 case AArch64::PMULLv16i8:
10883 case AArch64::PMULLv1i64:
10884 case AArch64::PMULLv2i64:
10885 case AArch64::PMULLv8i8:
10886 case AArch64::PMULv16i8:
10887 case AArch64::PMULv8i8:
10888 case AArch64::RADDHNv2i64_v2i32:
10889 case AArch64::RADDHNv4i32_v4i16:
10890 case AArch64::RADDHNv8i16_v8i8:
10891 case AArch64::RORVWr:
10892 case AArch64::RORVXr:
10893 case AArch64::RSUBHNv2i64_v2i32:
10894 case AArch64::RSUBHNv4i32_v4i16:
10895 case AArch64::RSUBHNv8i16_v8i8:
10896 case AArch64::SABDLv16i8_v8i16:
10897 case AArch64::SABDLv2i32_v2i64:
10898 case AArch64::SABDLv4i16_v4i32:
10899 case AArch64::SABDLv4i32_v2i64:
10900 case AArch64::SABDLv8i16_v4i32:
10901 case AArch64::SABDLv8i8_v8i16:
10902 case AArch64::SABDv16i8:
10903 case AArch64::SABDv2i32:
10904 case AArch64::SABDv4i16:
10905 case AArch64::SABDv4i32:
10906 case AArch64::SABDv8i16:
10907 case AArch64::SABDv8i8:
10908 case AArch64::SADDLv16i8_v8i16:
10909 case AArch64::SADDLv2i32_v2i64:
10910 case AArch64::SADDLv4i16_v4i32:
10911 case AArch64::SADDLv4i32_v2i64:
10912 case AArch64::SADDLv8i16_v4i32:
10913 case AArch64::SADDLv8i8_v8i16:
10914 case AArch64::SADDWv16i8_v8i16:
10915 case AArch64::SADDWv2i32_v2i64:
10916 case AArch64::SADDWv4i16_v4i32:
10917 case AArch64::SADDWv4i32_v2i64:
10918 case AArch64::SADDWv8i16_v4i32:
10919 case AArch64::SADDWv8i8_v8i16:
10920 case AArch64::SBCSWr:
10921 case AArch64::SBCSXr:
10922 case AArch64::SBCWr:
10923 case AArch64::SBCXr:
10924 case AArch64::SDIVWr:
10925 case AArch64::SDIVXr:
10926 case AArch64::SHADDv16i8:
10927 case AArch64::SHADDv2i32:
10928 case AArch64::SHADDv4i16:
10929 case AArch64::SHADDv4i32:
10930 case AArch64::SHADDv8i16:
10931 case AArch64::SHADDv8i8:
10932 case AArch64::SHSUBv16i8:
10933 case AArch64::SHSUBv2i32:
10934 case AArch64::SHSUBv4i16:
10935 case AArch64::SHSUBv4i32:
10936 case AArch64::SHSUBv8i16:
10937 case AArch64::SHSUBv8i8:
10938 case AArch64::SMAXPv16i8:
10939 case AArch64::SMAXPv2i32:
10940 case AArch64::SMAXPv4i16:
10941 case AArch64::SMAXPv4i32:
10942 case AArch64::SMAXPv8i16:
10943 case AArch64::SMAXPv8i8:
10944 case AArch64::SMAXWrr:
10945 case AArch64::SMAXXrr:
10946 case AArch64::SMAXv16i8:
10947 case AArch64::SMAXv2i32:
10948 case AArch64::SMAXv4i16:
10949 case AArch64::SMAXv4i32:
10950 case AArch64::SMAXv8i16:
10951 case AArch64::SMAXv8i8:
10952 case AArch64::SMINPv16i8:
10953 case AArch64::SMINPv2i32:
10954 case AArch64::SMINPv4i16:
10955 case AArch64::SMINPv4i32:
10956 case AArch64::SMINPv8i16:
10957 case AArch64::SMINPv8i8:
10958 case AArch64::SMINWrr:
10959 case AArch64::SMINXrr:
10960 case AArch64::SMINv16i8:
10961 case AArch64::SMINv2i32:
10962 case AArch64::SMINv4i16:
10963 case AArch64::SMINv4i32:
10964 case AArch64::SMINv8i16:
10965 case AArch64::SMINv8i8:
10966 case AArch64::SMULLv16i8_v8i16:
10967 case AArch64::SMULLv2i32_v2i64:
10968 case AArch64::SMULLv4i16_v4i32:
10969 case AArch64::SMULLv4i32_v2i64:
10970 case AArch64::SMULLv8i16_v4i32:
10971 case AArch64::SMULLv8i8_v8i16:
10972 case AArch64::SQADDv16i8:
10973 case AArch64::SQADDv1i16:
10974 case AArch64::SQADDv1i32:
10975 case AArch64::SQADDv1i64:
10976 case AArch64::SQADDv1i8:
10977 case AArch64::SQADDv2i32:
10978 case AArch64::SQADDv2i64:
10979 case AArch64::SQADDv4i16:
10980 case AArch64::SQADDv4i32:
10981 case AArch64::SQADDv8i16:
10982 case AArch64::SQADDv8i8:
10983 case AArch64::SQDMULHv1i16:
10984 case AArch64::SQDMULHv1i32:
10985 case AArch64::SQDMULHv2i32:
10986 case AArch64::SQDMULHv4i16:
10987 case AArch64::SQDMULHv4i32:
10988 case AArch64::SQDMULHv8i16:
10989 case AArch64::SQDMULLi16:
10990 case AArch64::SQDMULLi32:
10991 case AArch64::SQDMULLv2i32_v2i64:
10992 case AArch64::SQDMULLv4i16_v4i32:
10993 case AArch64::SQDMULLv4i32_v2i64:
10994 case AArch64::SQDMULLv8i16_v4i32:
10995 case AArch64::SQRDMULHv1i16:
10996 case AArch64::SQRDMULHv1i32:
10997 case AArch64::SQRDMULHv2i32:
10998 case AArch64::SQRDMULHv4i16:
10999 case AArch64::SQRDMULHv4i32:
11000 case AArch64::SQRDMULHv8i16:
11001 case AArch64::SQRSHLv16i8:
11002 case AArch64::SQRSHLv1i16:
11003 case AArch64::SQRSHLv1i32:
11004 case AArch64::SQRSHLv1i64:
11005 case AArch64::SQRSHLv1i8:
11006 case AArch64::SQRSHLv2i32:
11007 case AArch64::SQRSHLv2i64:
11008 case AArch64::SQRSHLv4i16:
11009 case AArch64::SQRSHLv4i32:
11010 case AArch64::SQRSHLv8i16:
11011 case AArch64::SQRSHLv8i8:
11012 case AArch64::SQSHLv16i8:
11013 case AArch64::SQSHLv1i16:
11014 case AArch64::SQSHLv1i32:
11015 case AArch64::SQSHLv1i64:
11016 case AArch64::SQSHLv1i8:
11017 case AArch64::SQSHLv2i32:
11018 case AArch64::SQSHLv2i64:
11019 case AArch64::SQSHLv4i16:
11020 case AArch64::SQSHLv4i32:
11021 case AArch64::SQSHLv8i16:
11022 case AArch64::SQSHLv8i8:
11023 case AArch64::SQSUBv16i8:
11024 case AArch64::SQSUBv1i16:
11025 case AArch64::SQSUBv1i32:
11026 case AArch64::SQSUBv1i64:
11027 case AArch64::SQSUBv1i8:
11028 case AArch64::SQSUBv2i32:
11029 case AArch64::SQSUBv2i64:
11030 case AArch64::SQSUBv4i16:
11031 case AArch64::SQSUBv4i32:
11032 case AArch64::SQSUBv8i16:
11033 case AArch64::SQSUBv8i8:
11034 case AArch64::SRHADDv16i8:
11035 case AArch64::SRHADDv2i32:
11036 case AArch64::SRHADDv4i16:
11037 case AArch64::SRHADDv4i32:
11038 case AArch64::SRHADDv8i16:
11039 case AArch64::SRHADDv8i8:
11040 case AArch64::SRSHLv16i8:
11041 case AArch64::SRSHLv1i64:
11042 case AArch64::SRSHLv2i32:
11043 case AArch64::SRSHLv2i64:
11044 case AArch64::SRSHLv4i16:
11045 case AArch64::SRSHLv4i32:
11046 case AArch64::SRSHLv8i16:
11047 case AArch64::SRSHLv8i8:
11048 case AArch64::SSHLv16i8:
11049 case AArch64::SSHLv1i64:
11050 case AArch64::SSHLv2i32:
11051 case AArch64::SSHLv2i64:
11052 case AArch64::SSHLv4i16:
11053 case AArch64::SSHLv4i32:
11054 case AArch64::SSHLv8i16:
11055 case AArch64::SSHLv8i8:
11056 case AArch64::SSUBLv16i8_v8i16:
11057 case AArch64::SSUBLv2i32_v2i64:
11058 case AArch64::SSUBLv4i16_v4i32:
11059 case AArch64::SSUBLv4i32_v2i64:
11060 case AArch64::SSUBLv8i16_v4i32:
11061 case AArch64::SSUBLv8i8_v8i16:
11062 case AArch64::SSUBWv16i8_v8i16:
11063 case AArch64::SSUBWv2i32_v2i64:
11064 case AArch64::SSUBWv4i16_v4i32:
11065 case AArch64::SSUBWv4i32_v2i64:
11066 case AArch64::SSUBWv8i16_v4i32:
11067 case AArch64::SSUBWv8i8_v8i16:
11068 case AArch64::SUBHNv2i64_v2i32:
11069 case AArch64::SUBHNv4i32_v4i16:
11070 case AArch64::SUBHNv8i16_v8i8:
11071 case AArch64::SUBP:
11072 case AArch64::SUBPS:
11073 case AArch64::SUBv16i8:
11074 case AArch64::SUBv1i64:
11075 case AArch64::SUBv2i32:
11076 case AArch64::SUBv2i64:
11077 case AArch64::SUBv4i16:
11078 case AArch64::SUBv4i32:
11079 case AArch64::SUBv8i16:
11080 case AArch64::SUBv8i8:
11081 case AArch64::TRN1v16i8:
11082 case AArch64::TRN1v2i32:
11083 case AArch64::TRN1v2i64:
11084 case AArch64::TRN1v4i16:
11085 case AArch64::TRN1v4i32:
11086 case AArch64::TRN1v8i16:
11087 case AArch64::TRN1v8i8:
11088 case AArch64::TRN2v16i8:
11089 case AArch64::TRN2v2i32:
11090 case AArch64::TRN2v2i64:
11091 case AArch64::TRN2v4i16:
11092 case AArch64::TRN2v4i32:
11093 case AArch64::TRN2v8i16:
11094 case AArch64::TRN2v8i8:
11095 case AArch64::UABDLv16i8_v8i16:
11096 case AArch64::UABDLv2i32_v2i64:
11097 case AArch64::UABDLv4i16_v4i32:
11098 case AArch64::UABDLv4i32_v2i64:
11099 case AArch64::UABDLv8i16_v4i32:
11100 case AArch64::UABDLv8i8_v8i16:
11101 case AArch64::UABDv16i8:
11102 case AArch64::UABDv2i32:
11103 case AArch64::UABDv4i16:
11104 case AArch64::UABDv4i32:
11105 case AArch64::UABDv8i16:
11106 case AArch64::UABDv8i8:
11107 case AArch64::UADDLv16i8_v8i16:
11108 case AArch64::UADDLv2i32_v2i64:
11109 case AArch64::UADDLv4i16_v4i32:
11110 case AArch64::UADDLv4i32_v2i64:
11111 case AArch64::UADDLv8i16_v4i32:
11112 case AArch64::UADDLv8i8_v8i16:
11113 case AArch64::UADDWv16i8_v8i16:
11114 case AArch64::UADDWv2i32_v2i64:
11115 case AArch64::UADDWv4i16_v4i32:
11116 case AArch64::UADDWv4i32_v2i64:
11117 case AArch64::UADDWv8i16_v4i32:
11118 case AArch64::UADDWv8i8_v8i16:
11119 case AArch64::UDIVWr:
11120 case AArch64::UDIVXr:
11121 case AArch64::UHADDv16i8:
11122 case AArch64::UHADDv2i32:
11123 case AArch64::UHADDv4i16:
11124 case AArch64::UHADDv4i32:
11125 case AArch64::UHADDv8i16:
11126 case AArch64::UHADDv8i8:
11127 case AArch64::UHSUBv16i8:
11128 case AArch64::UHSUBv2i32:
11129 case AArch64::UHSUBv4i16:
11130 case AArch64::UHSUBv4i32:
11131 case AArch64::UHSUBv8i16:
11132 case AArch64::UHSUBv8i8:
11133 case AArch64::UMAXPv16i8:
11134 case AArch64::UMAXPv2i32:
11135 case AArch64::UMAXPv4i16:
11136 case AArch64::UMAXPv4i32:
11137 case AArch64::UMAXPv8i16:
11138 case AArch64::UMAXPv8i8:
11139 case AArch64::UMAXWrr:
11140 case AArch64::UMAXXrr:
11141 case AArch64::UMAXv16i8:
11142 case AArch64::UMAXv2i32:
11143 case AArch64::UMAXv4i16:
11144 case AArch64::UMAXv4i32:
11145 case AArch64::UMAXv8i16:
11146 case AArch64::UMAXv8i8:
11147 case AArch64::UMINPv16i8:
11148 case AArch64::UMINPv2i32:
11149 case AArch64::UMINPv4i16:
11150 case AArch64::UMINPv4i32:
11151 case AArch64::UMINPv8i16:
11152 case AArch64::UMINPv8i8:
11153 case AArch64::UMINWrr:
11154 case AArch64::UMINXrr:
11155 case AArch64::UMINv16i8:
11156 case AArch64::UMINv2i32:
11157 case AArch64::UMINv4i16:
11158 case AArch64::UMINv4i32:
11159 case AArch64::UMINv8i16:
11160 case AArch64::UMINv8i8:
11161 case AArch64::UMULLv16i8_v8i16:
11162 case AArch64::UMULLv2i32_v2i64:
11163 case AArch64::UMULLv4i16_v4i32:
11164 case AArch64::UMULLv4i32_v2i64:
11165 case AArch64::UMULLv8i16_v4i32:
11166 case AArch64::UMULLv8i8_v8i16:
11167 case AArch64::UQADDv16i8:
11168 case AArch64::UQADDv1i16:
11169 case AArch64::UQADDv1i32:
11170 case AArch64::UQADDv1i64:
11171 case AArch64::UQADDv1i8:
11172 case AArch64::UQADDv2i32:
11173 case AArch64::UQADDv2i64:
11174 case AArch64::UQADDv4i16:
11175 case AArch64::UQADDv4i32:
11176 case AArch64::UQADDv8i16:
11177 case AArch64::UQADDv8i8:
11178 case AArch64::UQRSHLv16i8:
11179 case AArch64::UQRSHLv1i16:
11180 case AArch64::UQRSHLv1i32:
11181 case AArch64::UQRSHLv1i64:
11182 case AArch64::UQRSHLv1i8:
11183 case AArch64::UQRSHLv2i32:
11184 case AArch64::UQRSHLv2i64:
11185 case AArch64::UQRSHLv4i16:
11186 case AArch64::UQRSHLv4i32:
11187 case AArch64::UQRSHLv8i16:
11188 case AArch64::UQRSHLv8i8:
11189 case AArch64::UQSHLv16i8:
11190 case AArch64::UQSHLv1i16:
11191 case AArch64::UQSHLv1i32:
11192 case AArch64::UQSHLv1i64:
11193 case AArch64::UQSHLv1i8:
11194 case AArch64::UQSHLv2i32:
11195 case AArch64::UQSHLv2i64:
11196 case AArch64::UQSHLv4i16:
11197 case AArch64::UQSHLv4i32:
11198 case AArch64::UQSHLv8i16:
11199 case AArch64::UQSHLv8i8:
11200 case AArch64::UQSUBv16i8:
11201 case AArch64::UQSUBv1i16:
11202 case AArch64::UQSUBv1i32:
11203 case AArch64::UQSUBv1i64:
11204 case AArch64::UQSUBv1i8:
11205 case AArch64::UQSUBv2i32:
11206 case AArch64::UQSUBv2i64:
11207 case AArch64::UQSUBv4i16:
11208 case AArch64::UQSUBv4i32:
11209 case AArch64::UQSUBv8i16:
11210 case AArch64::UQSUBv8i8:
11211 case AArch64::URHADDv16i8:
11212 case AArch64::URHADDv2i32:
11213 case AArch64::URHADDv4i16:
11214 case AArch64::URHADDv4i32:
11215 case AArch64::URHADDv8i16:
11216 case AArch64::URHADDv8i8:
11217 case AArch64::URSHLv16i8:
11218 case AArch64::URSHLv1i64:
11219 case AArch64::URSHLv2i32:
11220 case AArch64::URSHLv2i64:
11221 case AArch64::URSHLv4i16:
11222 case AArch64::URSHLv4i32:
11223 case AArch64::URSHLv8i16:
11224 case AArch64::URSHLv8i8:
11225 case AArch64::USHLv16i8:
11226 case AArch64::USHLv1i64:
11227 case AArch64::USHLv2i32:
11228 case AArch64::USHLv2i64:
11229 case AArch64::USHLv4i16:
11230 case AArch64::USHLv4i32:
11231 case AArch64::USHLv8i16:
11232 case AArch64::USHLv8i8:
11233 case AArch64::USUBLv16i8_v8i16:
11234 case AArch64::USUBLv2i32_v2i64:
11235 case AArch64::USUBLv4i16_v4i32:
11236 case AArch64::USUBLv4i32_v2i64:
11237 case AArch64::USUBLv8i16_v4i32:
11238 case AArch64::USUBLv8i8_v8i16:
11239 case AArch64::USUBWv16i8_v8i16:
11240 case AArch64::USUBWv2i32_v2i64:
11241 case AArch64::USUBWv4i16_v4i32:
11242 case AArch64::USUBWv4i32_v2i64:
11243 case AArch64::USUBWv8i16_v4i32:
11244 case AArch64::USUBWv8i8_v8i16:
11245 case AArch64::UZP1v16i8:
11246 case AArch64::UZP1v2i32:
11247 case AArch64::UZP1v2i64:
11248 case AArch64::UZP1v4i16:
11249 case AArch64::UZP1v4i32:
11250 case AArch64::UZP1v8i16:
11251 case AArch64::UZP1v8i8:
11252 case AArch64::UZP2v16i8:
11253 case AArch64::UZP2v2i32:
11254 case AArch64::UZP2v2i64:
11255 case AArch64::UZP2v4i16:
11256 case AArch64::UZP2v4i32:
11257 case AArch64::UZP2v8i16:
11258 case AArch64::UZP2v8i8:
11259 case AArch64::ZIP1v16i8:
11260 case AArch64::ZIP1v2i32:
11261 case AArch64::ZIP1v2i64:
11262 case AArch64::ZIP1v4i16:
11263 case AArch64::ZIP1v4i32:
11264 case AArch64::ZIP1v8i16:
11265 case AArch64::ZIP1v8i8:
11266 case AArch64::ZIP2v16i8:
11267 case AArch64::ZIP2v2i32:
11268 case AArch64::ZIP2v2i64:
11269 case AArch64::ZIP2v4i16:
11270 case AArch64::ZIP2v4i32:
11271 case AArch64::ZIP2v8i16:
11272 case AArch64::ZIP2v8i8: {
11273 // op: Rd
11274 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11275 Value |= (op & 0x1f);
11276 // op: Rn
11277 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11278 Value |= (op & 0x1f) << 5;
11279 // op: Rm
11280 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11281 Value |= (op & 0x1f) << 16;
11282 break;
11283 }
11284 case AArch64::FMADDDrrr:
11285 case AArch64::FMADDHrrr:
11286 case AArch64::FMADDSrrr:
11287 case AArch64::FMSUBDrrr:
11288 case AArch64::FMSUBHrrr:
11289 case AArch64::FMSUBSrrr:
11290 case AArch64::FNMADDDrrr:
11291 case AArch64::FNMADDHrrr:
11292 case AArch64::FNMADDSrrr:
11293 case AArch64::FNMSUBDrrr:
11294 case AArch64::FNMSUBHrrr:
11295 case AArch64::FNMSUBSrrr:
11296 case AArch64::MADDPT:
11297 case AArch64::MADDWrrr:
11298 case AArch64::MADDXrrr:
11299 case AArch64::MSUBPT:
11300 case AArch64::MSUBWrrr:
11301 case AArch64::MSUBXrrr:
11302 case AArch64::SMADDLrrr:
11303 case AArch64::SMSUBLrrr:
11304 case AArch64::UMADDLrrr:
11305 case AArch64::UMSUBLrrr: {
11306 // op: Rd
11307 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11308 Value |= (op & 0x1f);
11309 // op: Rn
11310 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11311 Value |= (op & 0x1f) << 5;
11312 // op: Rm
11313 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11314 Value |= (op & 0x1f) << 16;
11315 // op: Ra
11316 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11317 Value |= (op & 0x1f) << 10;
11318 break;
11319 }
11320 case AArch64::CSELWr:
11321 case AArch64::CSELXr:
11322 case AArch64::CSINCWr:
11323 case AArch64::CSINCXr:
11324 case AArch64::CSINVWr:
11325 case AArch64::CSINVXr:
11326 case AArch64::CSNEGWr:
11327 case AArch64::CSNEGXr:
11328 case AArch64::FCSELDrrr:
11329 case AArch64::FCSELHrrr:
11330 case AArch64::FCSELSrrr: {
11331 // op: Rd
11332 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11333 Value |= (op & 0x1f);
11334 // op: Rn
11335 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11336 Value |= (op & 0x1f) << 5;
11337 // op: Rm
11338 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11339 Value |= (op & 0x1f) << 16;
11340 // op: cond
11341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11342 Value |= (op & 0xf) << 12;
11343 break;
11344 }
11345 case AArch64::ADDSXrx64:
11346 case AArch64::ADDXrx64:
11347 case AArch64::SUBSXrx64:
11348 case AArch64::SUBXrx64: {
11349 // op: Rd
11350 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11351 Value |= (op & 0x1f);
11352 // op: Rn
11353 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11354 Value |= (op & 0x1f) << 5;
11355 // op: Rm
11356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11357 Value |= (op & 0x1f) << 16;
11358 // op: ext
11359 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11360 Value |= (op & 0x20) << 10;
11361 Value |= (op & 0x7) << 10;
11362 break;
11363 }
11364 case AArch64::ADDSWrx:
11365 case AArch64::ADDSXrx:
11366 case AArch64::ADDWrx:
11367 case AArch64::ADDXrx:
11368 case AArch64::SUBSWrx:
11369 case AArch64::SUBSXrx:
11370 case AArch64::SUBWrx:
11371 case AArch64::SUBXrx: {
11372 // op: Rd
11373 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11374 Value |= (op & 0x1f);
11375 // op: Rn
11376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11377 Value |= (op & 0x1f) << 5;
11378 // op: Rm
11379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11380 Value |= (op & 0x1f) << 16;
11381 // op: extend
11382 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11383 Value |= (op & 0x3f) << 10;
11384 break;
11385 }
11386 case AArch64::FMULXv1i64_indexed:
11387 case AArch64::FMULXv2i64_indexed:
11388 case AArch64::FMULv1i64_indexed:
11389 case AArch64::FMULv2i64_indexed: {
11390 // op: Rd
11391 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11392 Value |= (op & 0x1f);
11393 // op: Rn
11394 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11395 Value |= (op & 0x1f) << 5;
11396 // op: Rm
11397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11398 Value |= (op & 0x1f) << 16;
11399 // op: idx
11400 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11401 Value |= (op & 0x1) << 11;
11402 break;
11403 }
11404 case AArch64::LUT4_B: {
11405 // op: Rd
11406 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11407 Value |= (op & 0x1f);
11408 // op: Rn
11409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11410 Value |= (op & 0x1f) << 5;
11411 // op: Rm
11412 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11413 Value |= (op & 0x1f) << 16;
11414 // op: idx
11415 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11416 Value |= (op & 0x1) << 14;
11417 break;
11418 }
11419 case AArch64::FMULXv1i32_indexed:
11420 case AArch64::FMULXv2i32_indexed:
11421 case AArch64::FMULXv4i32_indexed:
11422 case AArch64::FMULv1i32_indexed:
11423 case AArch64::FMULv2i32_indexed:
11424 case AArch64::FMULv4i32_indexed:
11425 case AArch64::MULv2i32_indexed:
11426 case AArch64::MULv4i32_indexed:
11427 case AArch64::SMULLv2i32_indexed:
11428 case AArch64::SMULLv4i32_indexed:
11429 case AArch64::SQDMULHv1i32_indexed:
11430 case AArch64::SQDMULHv2i32_indexed:
11431 case AArch64::SQDMULHv4i32_indexed:
11432 case AArch64::SQDMULLv1i64_indexed:
11433 case AArch64::SQDMULLv2i32_indexed:
11434 case AArch64::SQDMULLv4i32_indexed:
11435 case AArch64::SQRDMULHv1i32_indexed:
11436 case AArch64::SQRDMULHv2i32_indexed:
11437 case AArch64::SQRDMULHv4i32_indexed:
11438 case AArch64::UMULLv2i32_indexed:
11439 case AArch64::UMULLv4i32_indexed: {
11440 // op: Rd
11441 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11442 Value |= (op & 0x1f);
11443 // op: Rn
11444 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11445 Value |= (op & 0x1f) << 5;
11446 // op: Rm
11447 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11448 Value |= (op & 0x1f) << 16;
11449 // op: idx
11450 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11451 Value |= (op & 0x1) << 21;
11452 Value |= (op & 0x2) << 10;
11453 break;
11454 }
11455 case AArch64::LUT2_B:
11456 case AArch64::LUT4_H: {
11457 // op: Rd
11458 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11459 Value |= (op & 0x1f);
11460 // op: Rn
11461 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11462 Value |= (op & 0x1f) << 5;
11463 // op: Rm
11464 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11465 Value |= (op & 0x1f) << 16;
11466 // op: idx
11467 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11468 Value |= (op & 0x3) << 13;
11469 break;
11470 }
11471 case AArch64::LUT2_H: {
11472 // op: Rd
11473 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11474 Value |= (op & 0x1f);
11475 // op: Rn
11476 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11477 Value |= (op & 0x1f) << 5;
11478 // op: Rm
11479 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11480 Value |= (op & 0x1f) << 16;
11481 // op: idx
11482 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11483 Value |= (op & 0x7) << 12;
11484 break;
11485 }
11486 case AArch64::EXTRWrri: {
11487 // op: Rd
11488 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11489 Value |= (op & 0x1f);
11490 // op: Rn
11491 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11492 Value |= (op & 0x1f) << 5;
11493 // op: Rm
11494 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11495 Value |= (op & 0x1f) << 16;
11496 // op: imm
11497 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11498 Value |= (op & 0x1f) << 10;
11499 break;
11500 }
11501 case AArch64::EXTRXrri: {
11502 // op: Rd
11503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11504 Value |= (op & 0x1f);
11505 // op: Rn
11506 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11507 Value |= (op & 0x1f) << 5;
11508 // op: Rm
11509 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11510 Value |= (op & 0x1f) << 16;
11511 // op: imm
11512 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11513 Value |= (op & 0x3f) << 10;
11514 break;
11515 }
11516 case AArch64::EXTv8i8: {
11517 // op: Rd
11518 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11519 Value |= (op & 0x1f);
11520 // op: Rn
11521 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11522 Value |= (op & 0x1f) << 5;
11523 // op: Rm
11524 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11525 Value |= (op & 0x1f) << 16;
11526 // op: imm
11527 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11528 Value |= (op & 0x7) << 11;
11529 break;
11530 }
11531 case AArch64::EXTv16i8: {
11532 // op: Rd
11533 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11534 Value |= (op & 0x1f);
11535 // op: Rn
11536 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11537 Value |= (op & 0x1f) << 5;
11538 // op: Rm
11539 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11540 Value |= (op & 0x1f) << 16;
11541 // op: imm
11542 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11543 Value |= (op & 0xf) << 11;
11544 break;
11545 }
11546 case AArch64::FCADDv2f32:
11547 case AArch64::FCADDv2f64:
11548 case AArch64::FCADDv4f16:
11549 case AArch64::FCADDv4f32:
11550 case AArch64::FCADDv8f16: {
11551 // op: Rd
11552 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11553 Value |= (op & 0x1f);
11554 // op: Rn
11555 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11556 Value |= (op & 0x1f) << 5;
11557 // op: Rm
11558 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11559 Value |= (op & 0x1f) << 16;
11560 // op: rot
11561 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11562 Value |= (op & 0x1) << 12;
11563 break;
11564 }
11565 case AArch64::ADDSWrs:
11566 case AArch64::ADDSXrs:
11567 case AArch64::ADDWrs:
11568 case AArch64::ADDXrs:
11569 case AArch64::ANDSWrs:
11570 case AArch64::ANDSXrs:
11571 case AArch64::ANDWrs:
11572 case AArch64::ANDXrs:
11573 case AArch64::BICSWrs:
11574 case AArch64::BICSXrs:
11575 case AArch64::BICWrs:
11576 case AArch64::BICXrs:
11577 case AArch64::EONWrs:
11578 case AArch64::EONXrs:
11579 case AArch64::EORWrs:
11580 case AArch64::EORXrs:
11581 case AArch64::ORNWrs:
11582 case AArch64::ORNXrs:
11583 case AArch64::ORRWrs:
11584 case AArch64::ORRXrs:
11585 case AArch64::SUBSWrs:
11586 case AArch64::SUBSXrs:
11587 case AArch64::SUBWrs:
11588 case AArch64::SUBXrs: {
11589 // op: Rd
11590 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11591 Value |= (op & 0x1f);
11592 // op: Rn
11593 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11594 Value |= (op & 0x1f) << 5;
11595 // op: Rm
11596 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11597 Value |= (op & 0x1f) << 16;
11598 // op: shift
11599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11600 Value |= (op & 0xc0) << 16;
11601 Value |= (op & 0x3f) << 10;
11602 break;
11603 }
11604 case AArch64::ADDPT_shift:
11605 case AArch64::SUBPT_shift: {
11606 // op: Rd
11607 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11608 Value |= (op & 0x1f);
11609 // op: Rn
11610 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11611 Value |= (op & 0x1f) << 5;
11612 // op: Rm
11613 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11614 Value |= (op & 0x1f) << 16;
11615 // op: shift_imm
11616 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11617 Value |= (op & 0x7) << 10;
11618 break;
11619 }
11620 case AArch64::SMULHrr:
11621 case AArch64::UMULHrr: {
11622 // op: Rd
11623 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11624 Value |= (op & 0x1f);
11625 // op: Rn
11626 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11627 Value |= (op & 0x1f) << 5;
11628 // op: Rm
11629 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11630 Value |= (op & 0x1f) << 16;
11631 Value = fixMulHigh(MI, EncodedValue: Value, STI);
11632 break;
11633 }
11634 case AArch64::FMULXv1i16_indexed:
11635 case AArch64::FMULXv4i16_indexed:
11636 case AArch64::FMULXv8i16_indexed:
11637 case AArch64::FMULv1i16_indexed:
11638 case AArch64::FMULv4i16_indexed:
11639 case AArch64::FMULv8i16_indexed:
11640 case AArch64::MULv4i16_indexed:
11641 case AArch64::MULv8i16_indexed:
11642 case AArch64::SMULLv4i16_indexed:
11643 case AArch64::SMULLv8i16_indexed:
11644 case AArch64::SQDMULHv1i16_indexed:
11645 case AArch64::SQDMULHv4i16_indexed:
11646 case AArch64::SQDMULHv8i16_indexed:
11647 case AArch64::SQDMULLv1i32_indexed:
11648 case AArch64::SQDMULLv4i16_indexed:
11649 case AArch64::SQDMULLv8i16_indexed:
11650 case AArch64::SQRDMULHv1i16_indexed:
11651 case AArch64::SQRDMULHv4i16_indexed:
11652 case AArch64::SQRDMULHv8i16_indexed:
11653 case AArch64::UMULLv4i16_indexed:
11654 case AArch64::UMULLv8i16_indexed: {
11655 // op: Rd
11656 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11657 Value |= (op & 0x1f);
11658 // op: Rn
11659 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11660 Value |= (op & 0x1f) << 5;
11661 // op: Rm
11662 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11663 Value |= (op & 0xf) << 16;
11664 // op: idx
11665 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11666 Value |= (op & 0x3) << 20;
11667 Value |= (op & 0x4) << 9;
11668 break;
11669 }
11670 case AArch64::DUPv2i64lane:
11671 case AArch64::UMOVvi64: {
11672 // op: Rd
11673 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11674 Value |= (op & 0x1f);
11675 // op: Rn
11676 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11677 Value |= (op & 0x1f) << 5;
11678 // op: idx
11679 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11680 Value |= (op & 0x1) << 20;
11681 break;
11682 }
11683 case AArch64::DUPv2i32lane:
11684 case AArch64::DUPv4i32lane:
11685 case AArch64::SMOVvi32to64:
11686 case AArch64::UMOVvi32: {
11687 // op: Rd
11688 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11689 Value |= (op & 0x1f);
11690 // op: Rn
11691 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11692 Value |= (op & 0x1f) << 5;
11693 // op: idx
11694 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11695 Value |= (op & 0x3) << 19;
11696 break;
11697 }
11698 case AArch64::DUPv4i16lane:
11699 case AArch64::DUPv8i16lane:
11700 case AArch64::SMOVvi16to32:
11701 case AArch64::SMOVvi16to64:
11702 case AArch64::UMOVvi16: {
11703 // op: Rd
11704 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11705 Value |= (op & 0x1f);
11706 // op: Rn
11707 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11708 Value |= (op & 0x1f) << 5;
11709 // op: idx
11710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11711 Value |= (op & 0x7) << 18;
11712 break;
11713 }
11714 case AArch64::DUPv16i8lane:
11715 case AArch64::DUPv8i8lane:
11716 case AArch64::SMOVvi8to32:
11717 case AArch64::SMOVvi8to64:
11718 case AArch64::UMOVvi8: {
11719 // op: Rd
11720 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11721 Value |= (op & 0x1f);
11722 // op: Rn
11723 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11724 Value |= (op & 0x1f) << 5;
11725 // op: idx
11726 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11727 Value |= (op & 0xf) << 17;
11728 break;
11729 }
11730 case AArch64::ADDSWri:
11731 case AArch64::ADDSXri:
11732 case AArch64::ADDWri:
11733 case AArch64::ADDXri:
11734 case AArch64::SUBSWri:
11735 case AArch64::SUBSXri:
11736 case AArch64::SUBWri:
11737 case AArch64::SUBXri: {
11738 // op: Rd
11739 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11740 Value |= (op & 0x1f);
11741 // op: Rn
11742 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11743 Value |= (op & 0x1f) << 5;
11744 // op: imm
11745 op = getAddSubImmOpValue(MI, OpIdx: 2, Fixups, STI);
11746 Value |= (op & 0x3fff) << 10;
11747 break;
11748 }
11749 case AArch64::ANDSXri:
11750 case AArch64::ANDXri:
11751 case AArch64::EORXri:
11752 case AArch64::ORRXri: {
11753 // op: Rd
11754 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11755 Value |= (op & 0x1f);
11756 // op: Rn
11757 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11758 Value |= (op & 0x1f) << 5;
11759 // op: imm
11760 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11761 Value |= (op & 0x1fff) << 10;
11762 break;
11763 }
11764 case AArch64::SMAXWri:
11765 case AArch64::SMAXXri:
11766 case AArch64::SMINWri:
11767 case AArch64::SMINXri:
11768 case AArch64::UMAXWri:
11769 case AArch64::UMAXXri:
11770 case AArch64::UMINWri:
11771 case AArch64::UMINXri: {
11772 // op: Rd
11773 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11774 Value |= (op & 0x1f);
11775 // op: Rn
11776 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11777 Value |= (op & 0x1f) << 5;
11778 // op: imm
11779 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11780 Value |= (op & 0xff) << 10;
11781 break;
11782 }
11783 case AArch64::ANDSWri:
11784 case AArch64::ANDWri:
11785 case AArch64::EORWri:
11786 case AArch64::ORRWri: {
11787 // op: Rd
11788 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11789 Value |= (op & 0x1f);
11790 // op: Rn
11791 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11792 Value |= (op & 0x1f) << 5;
11793 // op: imm
11794 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11795 Value |= (op & 0xfff) << 10;
11796 break;
11797 }
11798 case AArch64::SHLv4i16_shift:
11799 case AArch64::SHLv8i16_shift:
11800 case AArch64::SQSHLUh:
11801 case AArch64::SQSHLUv4i16_shift:
11802 case AArch64::SQSHLUv8i16_shift:
11803 case AArch64::SQSHLh:
11804 case AArch64::SQSHLv4i16_shift:
11805 case AArch64::SQSHLv8i16_shift:
11806 case AArch64::SSHLLv4i16_shift:
11807 case AArch64::SSHLLv8i16_shift:
11808 case AArch64::UQSHLh:
11809 case AArch64::UQSHLv4i16_shift:
11810 case AArch64::UQSHLv8i16_shift:
11811 case AArch64::USHLLv4i16_shift:
11812 case AArch64::USHLLv8i16_shift: {
11813 // op: Rd
11814 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11815 Value |= (op & 0x1f);
11816 // op: Rn
11817 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11818 Value |= (op & 0x1f) << 5;
11819 // op: imm
11820 op = getVecShiftL16OpValue(MI, OpIdx: 2, Fixups, STI);
11821 Value |= (op & 0xf) << 16;
11822 break;
11823 }
11824 case AArch64::SHLv2i32_shift:
11825 case AArch64::SHLv4i32_shift:
11826 case AArch64::SQSHLUs:
11827 case AArch64::SQSHLUv2i32_shift:
11828 case AArch64::SQSHLUv4i32_shift:
11829 case AArch64::SQSHLs:
11830 case AArch64::SQSHLv2i32_shift:
11831 case AArch64::SQSHLv4i32_shift:
11832 case AArch64::SSHLLv2i32_shift:
11833 case AArch64::SSHLLv4i32_shift:
11834 case AArch64::UQSHLs:
11835 case AArch64::UQSHLv2i32_shift:
11836 case AArch64::UQSHLv4i32_shift:
11837 case AArch64::USHLLv2i32_shift:
11838 case AArch64::USHLLv4i32_shift: {
11839 // op: Rd
11840 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11841 Value |= (op & 0x1f);
11842 // op: Rn
11843 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11844 Value |= (op & 0x1f) << 5;
11845 // op: imm
11846 op = getVecShiftL32OpValue(MI, OpIdx: 2, Fixups, STI);
11847 Value |= (op & 0x1f) << 16;
11848 break;
11849 }
11850 case AArch64::SHLd:
11851 case AArch64::SHLv2i64_shift:
11852 case AArch64::SQSHLUd:
11853 case AArch64::SQSHLUv2i64_shift:
11854 case AArch64::SQSHLd:
11855 case AArch64::SQSHLv2i64_shift:
11856 case AArch64::UQSHLd:
11857 case AArch64::UQSHLv2i64_shift: {
11858 // op: Rd
11859 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11860 Value |= (op & 0x1f);
11861 // op: Rn
11862 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11863 Value |= (op & 0x1f) << 5;
11864 // op: imm
11865 op = getVecShiftL64OpValue(MI, OpIdx: 2, Fixups, STI);
11866 Value |= (op & 0x3f) << 16;
11867 break;
11868 }
11869 case AArch64::SHLv16i8_shift:
11870 case AArch64::SHLv8i8_shift:
11871 case AArch64::SQSHLUb:
11872 case AArch64::SQSHLUv16i8_shift:
11873 case AArch64::SQSHLUv8i8_shift:
11874 case AArch64::SQSHLb:
11875 case AArch64::SQSHLv16i8_shift:
11876 case AArch64::SQSHLv8i8_shift:
11877 case AArch64::SSHLLv16i8_shift:
11878 case AArch64::SSHLLv8i8_shift:
11879 case AArch64::UQSHLb:
11880 case AArch64::UQSHLv16i8_shift:
11881 case AArch64::UQSHLv8i8_shift:
11882 case AArch64::USHLLv16i8_shift:
11883 case AArch64::USHLLv8i8_shift: {
11884 // op: Rd
11885 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11886 Value |= (op & 0x1f);
11887 // op: Rn
11888 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11889 Value |= (op & 0x1f) << 5;
11890 // op: imm
11891 op = getVecShiftL8OpValue(MI, OpIdx: 2, Fixups, STI);
11892 Value |= (op & 0x7) << 16;
11893 break;
11894 }
11895 case AArch64::RSHRNv8i8_shift:
11896 case AArch64::SHRNv8i8_shift:
11897 case AArch64::SQRSHRNv8i8_shift:
11898 case AArch64::SQRSHRUNv8i8_shift:
11899 case AArch64::SQSHRNv8i8_shift:
11900 case AArch64::SQSHRUNv8i8_shift:
11901 case AArch64::UQRSHRNv8i8_shift:
11902 case AArch64::UQSHRNv8i8_shift: {
11903 // op: Rd
11904 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11905 Value |= (op & 0x1f);
11906 // op: Rn
11907 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11908 Value |= (op & 0x1f) << 5;
11909 // op: imm
11910 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
11911 Value |= (op & 0x7) << 16;
11912 break;
11913 }
11914 case AArch64::FCVTZSh:
11915 case AArch64::FCVTZSv4i16_shift:
11916 case AArch64::FCVTZSv8i16_shift:
11917 case AArch64::FCVTZUh:
11918 case AArch64::FCVTZUv4i16_shift:
11919 case AArch64::FCVTZUv8i16_shift:
11920 case AArch64::SCVTFh:
11921 case AArch64::SCVTFv4i16_shift:
11922 case AArch64::SCVTFv8i16_shift:
11923 case AArch64::SQRSHRNh:
11924 case AArch64::SQRSHRUNh:
11925 case AArch64::SQSHRNh:
11926 case AArch64::SQSHRUNh:
11927 case AArch64::SRSHRv4i16_shift:
11928 case AArch64::SRSHRv8i16_shift:
11929 case AArch64::SSHRv4i16_shift:
11930 case AArch64::SSHRv8i16_shift:
11931 case AArch64::UCVTFh:
11932 case AArch64::UCVTFv4i16_shift:
11933 case AArch64::UCVTFv8i16_shift:
11934 case AArch64::UQRSHRNh:
11935 case AArch64::UQSHRNh:
11936 case AArch64::URSHRv4i16_shift:
11937 case AArch64::URSHRv8i16_shift:
11938 case AArch64::USHRv4i16_shift:
11939 case AArch64::USHRv8i16_shift: {
11940 // op: Rd
11941 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11942 Value |= (op & 0x1f);
11943 // op: Rn
11944 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11945 Value |= (op & 0x1f) << 5;
11946 // op: imm
11947 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
11948 Value |= (op & 0xf) << 16;
11949 break;
11950 }
11951 case AArch64::FCVTZSs:
11952 case AArch64::FCVTZSv2i32_shift:
11953 case AArch64::FCVTZSv4i32_shift:
11954 case AArch64::FCVTZUs:
11955 case AArch64::FCVTZUv2i32_shift:
11956 case AArch64::FCVTZUv4i32_shift:
11957 case AArch64::SCVTFs:
11958 case AArch64::SCVTFv2i32_shift:
11959 case AArch64::SCVTFv4i32_shift:
11960 case AArch64::SQRSHRNs:
11961 case AArch64::SQRSHRUNs:
11962 case AArch64::SQSHRNs:
11963 case AArch64::SQSHRUNs:
11964 case AArch64::SRSHRv2i32_shift:
11965 case AArch64::SRSHRv4i32_shift:
11966 case AArch64::SSHRv2i32_shift:
11967 case AArch64::SSHRv4i32_shift:
11968 case AArch64::UCVTFs:
11969 case AArch64::UCVTFv2i32_shift:
11970 case AArch64::UCVTFv4i32_shift:
11971 case AArch64::UQRSHRNs:
11972 case AArch64::UQSHRNs:
11973 case AArch64::URSHRv2i32_shift:
11974 case AArch64::URSHRv4i32_shift:
11975 case AArch64::USHRv2i32_shift:
11976 case AArch64::USHRv4i32_shift: {
11977 // op: Rd
11978 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11979 Value |= (op & 0x1f);
11980 // op: Rn
11981 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11982 Value |= (op & 0x1f) << 5;
11983 // op: imm
11984 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
11985 Value |= (op & 0x1f) << 16;
11986 break;
11987 }
11988 case AArch64::RSHRNv4i16_shift:
11989 case AArch64::SHRNv4i16_shift:
11990 case AArch64::SQRSHRNv4i16_shift:
11991 case AArch64::SQRSHRUNv4i16_shift:
11992 case AArch64::SQSHRNv4i16_shift:
11993 case AArch64::SQSHRUNv4i16_shift:
11994 case AArch64::UQRSHRNv4i16_shift:
11995 case AArch64::UQSHRNv4i16_shift: {
11996 // op: Rd
11997 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11998 Value |= (op & 0x1f);
11999 // op: Rn
12000 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12001 Value |= (op & 0x1f) << 5;
12002 // op: imm
12003 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
12004 Value |= (op & 0xf) << 16;
12005 break;
12006 }
12007 case AArch64::RSHRNv2i32_shift:
12008 case AArch64::SHRNv2i32_shift:
12009 case AArch64::SQRSHRNv2i32_shift:
12010 case AArch64::SQRSHRUNv2i32_shift:
12011 case AArch64::SQSHRNv2i32_shift:
12012 case AArch64::SQSHRUNv2i32_shift:
12013 case AArch64::UQRSHRNv2i32_shift:
12014 case AArch64::UQSHRNv2i32_shift: {
12015 // op: Rd
12016 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12017 Value |= (op & 0x1f);
12018 // op: Rn
12019 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12020 Value |= (op & 0x1f) << 5;
12021 // op: imm
12022 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
12023 Value |= (op & 0x1f) << 16;
12024 break;
12025 }
12026 case AArch64::FCVTZSd:
12027 case AArch64::FCVTZSv2i64_shift:
12028 case AArch64::FCVTZUd:
12029 case AArch64::FCVTZUv2i64_shift:
12030 case AArch64::SCVTFd:
12031 case AArch64::SCVTFv2i64_shift:
12032 case AArch64::SRSHRd:
12033 case AArch64::SRSHRv2i64_shift:
12034 case AArch64::SSHRd:
12035 case AArch64::SSHRv2i64_shift:
12036 case AArch64::UCVTFd:
12037 case AArch64::UCVTFv2i64_shift:
12038 case AArch64::URSHRd:
12039 case AArch64::URSHRv2i64_shift:
12040 case AArch64::USHRd:
12041 case AArch64::USHRv2i64_shift: {
12042 // op: Rd
12043 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12044 Value |= (op & 0x1f);
12045 // op: Rn
12046 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12047 Value |= (op & 0x1f) << 5;
12048 // op: imm
12049 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
12050 Value |= (op & 0x3f) << 16;
12051 break;
12052 }
12053 case AArch64::SQRSHRNb:
12054 case AArch64::SQRSHRUNb:
12055 case AArch64::SQSHRNb:
12056 case AArch64::SQSHRUNb:
12057 case AArch64::SRSHRv16i8_shift:
12058 case AArch64::SRSHRv8i8_shift:
12059 case AArch64::SSHRv16i8_shift:
12060 case AArch64::SSHRv8i8_shift:
12061 case AArch64::UQRSHRNb:
12062 case AArch64::UQSHRNb:
12063 case AArch64::URSHRv16i8_shift:
12064 case AArch64::URSHRv8i8_shift:
12065 case AArch64::USHRv16i8_shift:
12066 case AArch64::USHRv8i8_shift: {
12067 // op: Rd
12068 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12069 Value |= (op & 0x1f);
12070 // op: Rn
12071 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12072 Value |= (op & 0x1f) << 5;
12073 // op: imm
12074 op = getVecShiftR8OpValue(MI, OpIdx: 2, Fixups, STI);
12075 Value |= (op & 0x7) << 16;
12076 break;
12077 }
12078 case AArch64::ADDG:
12079 case AArch64::SUBG: {
12080 // op: Rd
12081 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12082 Value |= (op & 0x1f);
12083 // op: Rn
12084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12085 Value |= (op & 0x1f) << 5;
12086 // op: imm6
12087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12088 Value |= (op & 0x3f) << 16;
12089 // op: imm4
12090 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12091 Value |= (op & 0xf) << 10;
12092 break;
12093 }
12094 case AArch64::SBFMWri:
12095 case AArch64::UBFMWri: {
12096 // op: Rd
12097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12098 Value |= (op & 0x1f);
12099 // op: Rn
12100 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12101 Value |= (op & 0x1f) << 5;
12102 // op: immr
12103 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12104 Value |= (op & 0x1f) << 16;
12105 // op: imms
12106 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12107 Value |= (op & 0x1f) << 10;
12108 break;
12109 }
12110 case AArch64::SBFMXri:
12111 case AArch64::UBFMXri: {
12112 // op: Rd
12113 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12114 Value |= (op & 0x1f);
12115 // op: Rn
12116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12117 Value |= (op & 0x1f) << 5;
12118 // op: immr
12119 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12120 Value |= (op & 0x3f) << 16;
12121 // op: imms
12122 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12123 Value |= (op & 0x3f) << 10;
12124 break;
12125 }
12126 case AArch64::FCVTZSSWDri:
12127 case AArch64::FCVTZSSWHri:
12128 case AArch64::FCVTZSSWSri:
12129 case AArch64::FCVTZUSWDri:
12130 case AArch64::FCVTZUSWHri:
12131 case AArch64::FCVTZUSWSri:
12132 case AArch64::SCVTFSWDri:
12133 case AArch64::SCVTFSWHri:
12134 case AArch64::SCVTFSWSri:
12135 case AArch64::UCVTFSWDri:
12136 case AArch64::UCVTFSWHri:
12137 case AArch64::UCVTFSWSri: {
12138 // op: Rd
12139 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12140 Value |= (op & 0x1f);
12141 // op: Rn
12142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12143 Value |= (op & 0x1f) << 5;
12144 // op: scale
12145 op = getFixedPointScaleOpValue(MI, OpIdx: 2, Fixups, STI);
12146 Value |= (op & 0x1f) << 10;
12147 break;
12148 }
12149 case AArch64::FCVTZSSXDri:
12150 case AArch64::FCVTZSSXHri:
12151 case AArch64::FCVTZSSXSri:
12152 case AArch64::FCVTZUSXDri:
12153 case AArch64::FCVTZUSXHri:
12154 case AArch64::FCVTZUSXSri:
12155 case AArch64::SCVTFSXDri:
12156 case AArch64::SCVTFSXHri:
12157 case AArch64::SCVTFSXSri:
12158 case AArch64::UCVTFSXDri:
12159 case AArch64::UCVTFSXHri:
12160 case AArch64::UCVTFSXSri: {
12161 // op: Rd
12162 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12163 Value |= (op & 0x1f);
12164 // op: Rn
12165 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12166 Value |= (op & 0x1f) << 5;
12167 // op: scale
12168 op = getFixedPointScaleOpValue(MI, OpIdx: 2, Fixups, STI);
12169 Value |= (op & 0x3f) << 10;
12170 break;
12171 }
12172 case AArch64::BFMWri: {
12173 // op: Rd
12174 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12175 Value |= (op & 0x1f);
12176 // op: Rn
12177 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12178 Value |= (op & 0x1f) << 5;
12179 // op: immr
12180 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12181 Value |= (op & 0x1f) << 16;
12182 // op: imms
12183 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12184 Value |= (op & 0x1f) << 10;
12185 break;
12186 }
12187 case AArch64::BFMXri: {
12188 // op: Rd
12189 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12190 Value |= (op & 0x1f);
12191 // op: Rn
12192 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12193 Value |= (op & 0x1f) << 5;
12194 // op: immr
12195 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12196 Value |= (op & 0x3f) << 16;
12197 // op: imms
12198 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12199 Value |= (op & 0x3f) << 10;
12200 break;
12201 }
12202 case AArch64::FMOVDi:
12203 case AArch64::FMOVHi:
12204 case AArch64::FMOVSi: {
12205 // op: Rd
12206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12207 Value |= (op & 0x1f);
12208 // op: imm
12209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12210 Value |= (op & 0xff) << 13;
12211 break;
12212 }
12213 case AArch64::MOVNWi:
12214 case AArch64::MOVNXi: {
12215 // op: Rd
12216 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12217 Value |= (op & 0x1f);
12218 // op: imm
12219 op = getMoveWideImmOpValue(MI, OpIdx: 1, Fixups, STI);
12220 Value |= (op & 0xffff) << 5;
12221 // op: shift
12222 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12223 Value |= (op & 0x30) << 17;
12224 break;
12225 }
12226 case AArch64::MOVZWi:
12227 case AArch64::MOVZXi: {
12228 // op: Rd
12229 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12230 Value |= (op & 0x1f);
12231 // op: imm
12232 op = getMoveWideImmOpValue(MI, OpIdx: 1, Fixups, STI);
12233 Value |= (op & 0xffff) << 5;
12234 // op: shift
12235 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12236 Value |= (op & 0x30) << 17;
12237 Value = fixMOVZ(MI, EncodedValue: Value, STI);
12238 break;
12239 }
12240 case AArch64::MOVKWi:
12241 case AArch64::MOVKXi: {
12242 // op: Rd
12243 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12244 Value |= (op & 0x1f);
12245 // op: imm
12246 op = getMoveWideImmOpValue(MI, OpIdx: 2, Fixups, STI);
12247 Value |= (op & 0xffff) << 5;
12248 // op: shift
12249 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12250 Value |= (op & 0x30) << 17;
12251 break;
12252 }
12253 case AArch64::CNTB_XPiI:
12254 case AArch64::CNTD_XPiI:
12255 case AArch64::CNTH_XPiI:
12256 case AArch64::CNTW_XPiI: {
12257 // op: Rd
12258 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12259 Value |= (op & 0x1f);
12260 // op: imm4
12261 op = getSVEIncDecImm(MI, OpIdx: 2, Fixups, STI);
12262 Value |= (op & 0xf) << 16;
12263 // op: pattern
12264 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12265 Value |= (op & 0x1f) << 5;
12266 break;
12267 }
12268 case AArch64::RDSVLI_XI:
12269 case AArch64::RDVLI_XI: {
12270 // op: Rd
12271 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12272 Value |= (op & 0x1f);
12273 // op: imm6
12274 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12275 Value |= (op & 0x3f) << 5;
12276 break;
12277 }
12278 case AArch64::FMOVv2f32_ns:
12279 case AArch64::FMOVv2f64_ns:
12280 case AArch64::FMOVv4f16_ns:
12281 case AArch64::FMOVv4f32_ns:
12282 case AArch64::FMOVv8f16_ns:
12283 case AArch64::MOVID:
12284 case AArch64::MOVIv16b_ns:
12285 case AArch64::MOVIv2d_ns:
12286 case AArch64::MOVIv8b_ns: {
12287 // op: Rd
12288 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12289 Value |= (op & 0x1f);
12290 // op: imm8
12291 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12292 Value |= (op & 0xe0) << 11;
12293 Value |= (op & 0x1f) << 5;
12294 break;
12295 }
12296 case AArch64::MOVIv2s_msl:
12297 case AArch64::MOVIv4s_msl:
12298 case AArch64::MVNIv2s_msl:
12299 case AArch64::MVNIv4s_msl: {
12300 // op: Rd
12301 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12302 Value |= (op & 0x1f);
12303 // op: imm8
12304 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12305 Value |= (op & 0xe0) << 11;
12306 Value |= (op & 0x1f) << 5;
12307 // op: shift
12308 op = getMoveVecShifterOpValue(MI, OpIdx: 2, Fixups, STI);
12309 Value |= (op & 0x1) << 12;
12310 break;
12311 }
12312 case AArch64::MOVIv4i16:
12313 case AArch64::MOVIv8i16:
12314 case AArch64::MVNIv4i16:
12315 case AArch64::MVNIv8i16: {
12316 // op: Rd
12317 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12318 Value |= (op & 0x1f);
12319 // op: imm8
12320 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12321 Value |= (op & 0xe0) << 11;
12322 Value |= (op & 0x1f) << 5;
12323 // op: shift
12324 op = getVecShifterOpValue(MI, OpIdx: 2, Fixups, STI);
12325 Value |= (op & 0x1) << 13;
12326 break;
12327 }
12328 case AArch64::MOVIv2i32:
12329 case AArch64::MOVIv4i32:
12330 case AArch64::MVNIv2i32:
12331 case AArch64::MVNIv4i32: {
12332 // op: Rd
12333 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12334 Value |= (op & 0x1f);
12335 // op: imm8
12336 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12337 Value |= (op & 0xe0) << 11;
12338 Value |= (op & 0x1f) << 5;
12339 // op: shift
12340 op = getVecShifterOpValue(MI, OpIdx: 2, Fixups, STI);
12341 Value |= (op & 0x3) << 13;
12342 break;
12343 }
12344 case AArch64::AUTDZA:
12345 case AArch64::AUTDZB:
12346 case AArch64::AUTIZA:
12347 case AArch64::AUTIZB:
12348 case AArch64::PACDZA:
12349 case AArch64::PACDZB:
12350 case AArch64::PACIZA:
12351 case AArch64::PACIZB: {
12352 // op: Rd
12353 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12354 Value |= (op & 0x1f);
12355 break;
12356 }
12357 case AArch64::AESDrr:
12358 case AArch64::AESErr:
12359 case AArch64::AUTDA:
12360 case AArch64::AUTDB:
12361 case AArch64::AUTIA:
12362 case AArch64::AUTIB:
12363 case AArch64::BFCVTN2:
12364 case AArch64::FCVTNv4i32:
12365 case AArch64::FCVTNv8i16:
12366 case AArch64::FCVTXNv4f32:
12367 case AArch64::PACDA:
12368 case AArch64::PACDB:
12369 case AArch64::PACIA:
12370 case AArch64::PACIB:
12371 case AArch64::SADALPv16i8_v8i16:
12372 case AArch64::SADALPv2i32_v1i64:
12373 case AArch64::SADALPv4i16_v2i32:
12374 case AArch64::SADALPv4i32_v2i64:
12375 case AArch64::SADALPv8i16_v4i32:
12376 case AArch64::SADALPv8i8_v4i16:
12377 case AArch64::SHA1SU1rr:
12378 case AArch64::SHA256SU0rr:
12379 case AArch64::SQXTNv16i8:
12380 case AArch64::SQXTNv4i32:
12381 case AArch64::SQXTNv8i16:
12382 case AArch64::SQXTUNv16i8:
12383 case AArch64::SQXTUNv4i32:
12384 case AArch64::SQXTUNv8i16:
12385 case AArch64::SUQADDv16i8:
12386 case AArch64::SUQADDv1i16:
12387 case AArch64::SUQADDv1i32:
12388 case AArch64::SUQADDv1i64:
12389 case AArch64::SUQADDv1i8:
12390 case AArch64::SUQADDv2i32:
12391 case AArch64::SUQADDv2i64:
12392 case AArch64::SUQADDv4i16:
12393 case AArch64::SUQADDv4i32:
12394 case AArch64::SUQADDv8i16:
12395 case AArch64::SUQADDv8i8:
12396 case AArch64::UADALPv16i8_v8i16:
12397 case AArch64::UADALPv2i32_v1i64:
12398 case AArch64::UADALPv4i16_v2i32:
12399 case AArch64::UADALPv4i32_v2i64:
12400 case AArch64::UADALPv8i16_v4i32:
12401 case AArch64::UADALPv8i8_v4i16:
12402 case AArch64::UQXTNv16i8:
12403 case AArch64::UQXTNv4i32:
12404 case AArch64::UQXTNv8i16:
12405 case AArch64::USQADDv16i8:
12406 case AArch64::USQADDv1i16:
12407 case AArch64::USQADDv1i32:
12408 case AArch64::USQADDv1i64:
12409 case AArch64::USQADDv1i8:
12410 case AArch64::USQADDv2i32:
12411 case AArch64::USQADDv2i64:
12412 case AArch64::USQADDv4i16:
12413 case AArch64::USQADDv4i32:
12414 case AArch64::USQADDv8i16:
12415 case AArch64::USQADDv8i8:
12416 case AArch64::XTNv16i8:
12417 case AArch64::XTNv4i32:
12418 case AArch64::XTNv8i16: {
12419 // op: Rd
12420 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12421 Value |= (op & 0x1f);
12422 // op: Rn
12423 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12424 Value |= (op & 0x1f) << 5;
12425 break;
12426 }
12427 case AArch64::ADDHNv2i64_v4i32:
12428 case AArch64::ADDHNv4i32_v8i16:
12429 case AArch64::ADDHNv8i16_v16i8:
12430 case AArch64::BFDOTv4bf16:
12431 case AArch64::BFDOTv8bf16:
12432 case AArch64::BFMLALB:
12433 case AArch64::BFMLALT:
12434 case AArch64::BFMMLA:
12435 case AArch64::BIFv16i8:
12436 case AArch64::BIFv8i8:
12437 case AArch64::BITv16i8:
12438 case AArch64::BITv8i8:
12439 case AArch64::BSLv16i8:
12440 case AArch64::BSLv8i8:
12441 case AArch64::FCVTN_F322v16f8:
12442 case AArch64::FDOTv2f32:
12443 case AArch64::FDOTv4f16:
12444 case AArch64::FDOTv4f16_v2f32:
12445 case AArch64::FDOTv4f32:
12446 case AArch64::FDOTv8f16:
12447 case AArch64::FDOTv8f16_v4f32:
12448 case AArch64::FMLAL2v4f16:
12449 case AArch64::FMLAL2v8f16:
12450 case AArch64::FMLALBv16i8_v8f16:
12451 case AArch64::FMLALLBBv4f32:
12452 case AArch64::FMLALLBTv4f32:
12453 case AArch64::FMLALLTBv4f32:
12454 case AArch64::FMLALLTTv4f32:
12455 case AArch64::FMLALTv16i8_v8f16:
12456 case AArch64::FMLALv4f16:
12457 case AArch64::FMLALv8f16:
12458 case AArch64::FMLAv2f32:
12459 case AArch64::FMLAv2f64:
12460 case AArch64::FMLAv4f16:
12461 case AArch64::FMLAv4f32:
12462 case AArch64::FMLAv8f16:
12463 case AArch64::FMLSL2v4f16:
12464 case AArch64::FMLSL2v8f16:
12465 case AArch64::FMLSLv4f16:
12466 case AArch64::FMLSLv8f16:
12467 case AArch64::FMLSv2f32:
12468 case AArch64::FMLSv2f64:
12469 case AArch64::FMLSv4f16:
12470 case AArch64::FMLSv4f32:
12471 case AArch64::FMLSv8f16:
12472 case AArch64::FMMLAv4f32:
12473 case AArch64::FMMLAv8f16:
12474 case AArch64::FMMLAv8f16_v4f32:
12475 case AArch64::FMMLAv8f16_v8f16:
12476 case AArch64::MLAv16i8:
12477 case AArch64::MLAv2i32:
12478 case AArch64::MLAv4i16:
12479 case AArch64::MLAv4i32:
12480 case AArch64::MLAv8i16:
12481 case AArch64::MLAv8i8:
12482 case AArch64::MLSv16i8:
12483 case AArch64::MLSv2i32:
12484 case AArch64::MLSv4i16:
12485 case AArch64::MLSv4i32:
12486 case AArch64::MLSv8i16:
12487 case AArch64::MLSv8i8:
12488 case AArch64::RADDHNv2i64_v4i32:
12489 case AArch64::RADDHNv4i32_v8i16:
12490 case AArch64::RADDHNv8i16_v16i8:
12491 case AArch64::RSUBHNv2i64_v4i32:
12492 case AArch64::RSUBHNv4i32_v8i16:
12493 case AArch64::RSUBHNv8i16_v16i8:
12494 case AArch64::SABALv16i8_v8i16:
12495 case AArch64::SABALv2i32_v2i64:
12496 case AArch64::SABALv4i16_v4i32:
12497 case AArch64::SABALv4i32_v2i64:
12498 case AArch64::SABALv8i16_v4i32:
12499 case AArch64::SABALv8i8_v8i16:
12500 case AArch64::SABAv16i8:
12501 case AArch64::SABAv2i32:
12502 case AArch64::SABAv4i16:
12503 case AArch64::SABAv4i32:
12504 case AArch64::SABAv8i16:
12505 case AArch64::SABAv8i8:
12506 case AArch64::SDOTv16i8:
12507 case AArch64::SDOTv8i8:
12508 case AArch64::SHA1Crrr:
12509 case AArch64::SHA1Mrrr:
12510 case AArch64::SHA1Prrr:
12511 case AArch64::SHA1SU0rrr:
12512 case AArch64::SHA256H2rrr:
12513 case AArch64::SHA256Hrrr:
12514 case AArch64::SHA256SU1rrr:
12515 case AArch64::SMLALv16i8_v8i16:
12516 case AArch64::SMLALv2i32_v2i64:
12517 case AArch64::SMLALv4i16_v4i32:
12518 case AArch64::SMLALv4i32_v2i64:
12519 case AArch64::SMLALv8i16_v4i32:
12520 case AArch64::SMLALv8i8_v8i16:
12521 case AArch64::SMLSLv16i8_v8i16:
12522 case AArch64::SMLSLv2i32_v2i64:
12523 case AArch64::SMLSLv4i16_v4i32:
12524 case AArch64::SMLSLv4i32_v2i64:
12525 case AArch64::SMLSLv8i16_v4i32:
12526 case AArch64::SMLSLv8i8_v8i16:
12527 case AArch64::SMMLA:
12528 case AArch64::SQDMLALi16:
12529 case AArch64::SQDMLALi32:
12530 case AArch64::SQDMLALv2i32_v2i64:
12531 case AArch64::SQDMLALv4i16_v4i32:
12532 case AArch64::SQDMLALv4i32_v2i64:
12533 case AArch64::SQDMLALv8i16_v4i32:
12534 case AArch64::SQDMLSLi16:
12535 case AArch64::SQDMLSLi32:
12536 case AArch64::SQDMLSLv2i32_v2i64:
12537 case AArch64::SQDMLSLv4i16_v4i32:
12538 case AArch64::SQDMLSLv4i32_v2i64:
12539 case AArch64::SQDMLSLv8i16_v4i32:
12540 case AArch64::SQRDMLAHv1i16:
12541 case AArch64::SQRDMLAHv1i32:
12542 case AArch64::SQRDMLAHv2i32:
12543 case AArch64::SQRDMLAHv4i16:
12544 case AArch64::SQRDMLAHv4i32:
12545 case AArch64::SQRDMLAHv8i16:
12546 case AArch64::SQRDMLSHv1i16:
12547 case AArch64::SQRDMLSHv1i32:
12548 case AArch64::SQRDMLSHv2i32:
12549 case AArch64::SQRDMLSHv4i16:
12550 case AArch64::SQRDMLSHv4i32:
12551 case AArch64::SQRDMLSHv8i16:
12552 case AArch64::SUBHNv2i64_v4i32:
12553 case AArch64::SUBHNv4i32_v8i16:
12554 case AArch64::SUBHNv8i16_v16i8:
12555 case AArch64::UABALv16i8_v8i16:
12556 case AArch64::UABALv2i32_v2i64:
12557 case AArch64::UABALv4i16_v4i32:
12558 case AArch64::UABALv4i32_v2i64:
12559 case AArch64::UABALv8i16_v4i32:
12560 case AArch64::UABALv8i8_v8i16:
12561 case AArch64::UABAv16i8:
12562 case AArch64::UABAv2i32:
12563 case AArch64::UABAv4i16:
12564 case AArch64::UABAv4i32:
12565 case AArch64::UABAv8i16:
12566 case AArch64::UABAv8i8:
12567 case AArch64::UDOTv16i8:
12568 case AArch64::UDOTv8i8:
12569 case AArch64::UMLALv16i8_v8i16:
12570 case AArch64::UMLALv2i32_v2i64:
12571 case AArch64::UMLALv4i16_v4i32:
12572 case AArch64::UMLALv4i32_v2i64:
12573 case AArch64::UMLALv8i16_v4i32:
12574 case AArch64::UMLALv8i8_v8i16:
12575 case AArch64::UMLSLv16i8_v8i16:
12576 case AArch64::UMLSLv2i32_v2i64:
12577 case AArch64::UMLSLv4i16_v4i32:
12578 case AArch64::UMLSLv4i32_v2i64:
12579 case AArch64::UMLSLv8i16_v4i32:
12580 case AArch64::UMLSLv8i8_v8i16:
12581 case AArch64::UMMLA:
12582 case AArch64::USDOTv16i8:
12583 case AArch64::USDOTv8i8:
12584 case AArch64::USMMLA: {
12585 // op: Rd
12586 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12587 Value |= (op & 0x1f);
12588 // op: Rn
12589 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12590 Value |= (op & 0x1f) << 5;
12591 // op: Rm
12592 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12593 Value |= (op & 0x1f) << 16;
12594 break;
12595 }
12596 case AArch64::FMLAv1i64_indexed:
12597 case AArch64::FMLAv2i64_indexed:
12598 case AArch64::FMLSv1i64_indexed:
12599 case AArch64::FMLSv2i64_indexed: {
12600 // op: Rd
12601 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12602 Value |= (op & 0x1f);
12603 // op: Rn
12604 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12605 Value |= (op & 0x1f) << 5;
12606 // op: Rm
12607 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12608 Value |= (op & 0x1f) << 16;
12609 // op: idx
12610 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12611 Value |= (op & 0x1) << 11;
12612 break;
12613 }
12614 case AArch64::BF16DOTlanev4bf16:
12615 case AArch64::BF16DOTlanev8bf16:
12616 case AArch64::FDOTlanev2f32:
12617 case AArch64::FDOTlanev4f16_v2f32:
12618 case AArch64::FDOTlanev4f32:
12619 case AArch64::FDOTlanev8f16_v4f32:
12620 case AArch64::FMLAv1i32_indexed:
12621 case AArch64::FMLAv2i32_indexed:
12622 case AArch64::FMLAv4i32_indexed:
12623 case AArch64::FMLSv1i32_indexed:
12624 case AArch64::FMLSv2i32_indexed:
12625 case AArch64::FMLSv4i32_indexed:
12626 case AArch64::MLAv2i32_indexed:
12627 case AArch64::MLAv4i32_indexed:
12628 case AArch64::MLSv2i32_indexed:
12629 case AArch64::MLSv4i32_indexed:
12630 case AArch64::SDOTlanev16i8:
12631 case AArch64::SDOTlanev8i8:
12632 case AArch64::SMLALv2i32_indexed:
12633 case AArch64::SMLALv4i32_indexed:
12634 case AArch64::SMLSLv2i32_indexed:
12635 case AArch64::SMLSLv4i32_indexed:
12636 case AArch64::SQDMLALv1i64_indexed:
12637 case AArch64::SQDMLALv2i32_indexed:
12638 case AArch64::SQDMLALv4i32_indexed:
12639 case AArch64::SQDMLSLv1i64_indexed:
12640 case AArch64::SQDMLSLv2i32_indexed:
12641 case AArch64::SQDMLSLv4i32_indexed:
12642 case AArch64::SQRDMLAHv1i32_indexed:
12643 case AArch64::SQRDMLAHv2i32_indexed:
12644 case AArch64::SQRDMLAHv4i32_indexed:
12645 case AArch64::SQRDMLSHv1i32_indexed:
12646 case AArch64::SQRDMLSHv2i32_indexed:
12647 case AArch64::SQRDMLSHv4i32_indexed:
12648 case AArch64::SUDOTlanev16i8:
12649 case AArch64::SUDOTlanev8i8:
12650 case AArch64::UDOTlanev16i8:
12651 case AArch64::UDOTlanev8i8:
12652 case AArch64::UMLALv2i32_indexed:
12653 case AArch64::UMLALv4i32_indexed:
12654 case AArch64::UMLSLv2i32_indexed:
12655 case AArch64::UMLSLv4i32_indexed:
12656 case AArch64::USDOTlanev16i8:
12657 case AArch64::USDOTlanev8i8: {
12658 // op: Rd
12659 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12660 Value |= (op & 0x1f);
12661 // op: Rn
12662 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12663 Value |= (op & 0x1f) << 5;
12664 // op: Rm
12665 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12666 Value |= (op & 0x1f) << 16;
12667 // op: idx
12668 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12669 Value |= (op & 0x1) << 21;
12670 Value |= (op & 0x2) << 10;
12671 break;
12672 }
12673 case AArch64::FCMLAv2f32:
12674 case AArch64::FCMLAv2f64:
12675 case AArch64::FCMLAv4f16:
12676 case AArch64::FCMLAv4f32:
12677 case AArch64::FCMLAv8f16: {
12678 // op: Rd
12679 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12680 Value |= (op & 0x1f);
12681 // op: Rn
12682 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12683 Value |= (op & 0x1f) << 5;
12684 // op: Rm
12685 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12686 Value |= (op & 0x1f) << 16;
12687 // op: rot
12688 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12689 Value |= (op & 0x3) << 11;
12690 break;
12691 }
12692 case AArch64::FCMLAv4f32_indexed: {
12693 // op: Rd
12694 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12695 Value |= (op & 0x1f);
12696 // op: Rn
12697 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12698 Value |= (op & 0x1f) << 5;
12699 // op: Rm
12700 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12701 Value |= (op & 0x1f) << 16;
12702 // op: rot
12703 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12704 Value |= (op & 0x3) << 13;
12705 // op: idx
12706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12707 Value |= (op & 0x1) << 11;
12708 break;
12709 }
12710 case AArch64::FCMLAv4f16_indexed: {
12711 // op: Rd
12712 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12713 Value |= (op & 0x1f);
12714 // op: Rn
12715 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12716 Value |= (op & 0x1f) << 5;
12717 // op: Rm
12718 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12719 Value |= (op & 0x1f) << 16;
12720 // op: rot
12721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12722 Value |= (op & 0x3) << 13;
12723 // op: idx
12724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12725 Value |= (op & 0x1) << 21;
12726 break;
12727 }
12728 case AArch64::FCMLAv8f16_indexed: {
12729 // op: Rd
12730 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12731 Value |= (op & 0x1f);
12732 // op: Rn
12733 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12734 Value |= (op & 0x1f) << 5;
12735 // op: Rm
12736 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12737 Value |= (op & 0x1f) << 16;
12738 // op: rot
12739 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12740 Value |= (op & 0x3) << 13;
12741 // op: idx
12742 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12743 Value |= (op & 0x1) << 21;
12744 Value |= (op & 0x2) << 10;
12745 break;
12746 }
12747 case AArch64::FMLALBlanev8f16:
12748 case AArch64::FMLALLBBlanev4f32:
12749 case AArch64::FMLALLBTlanev4f32:
12750 case AArch64::FMLALLTBlanev4f32:
12751 case AArch64::FMLALLTTlanev4f32:
12752 case AArch64::FMLALTlanev8f16: {
12753 // op: Rd
12754 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12755 Value |= (op & 0x1f);
12756 // op: Rn
12757 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12758 Value |= (op & 0x1f) << 5;
12759 // op: Rm
12760 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12761 Value |= (op & 0x7) << 16;
12762 // op: idx
12763 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12764 Value |= (op & 0x7) << 19;
12765 Value |= (op & 0x8) << 8;
12766 break;
12767 }
12768 case AArch64::BFMLALBIdx:
12769 case AArch64::BFMLALTIdx:
12770 case AArch64::FDOTlanev4f16:
12771 case AArch64::FDOTlanev8f16:
12772 case AArch64::FMLAL2lanev4f16:
12773 case AArch64::FMLAL2lanev8f16:
12774 case AArch64::FMLALlanev4f16:
12775 case AArch64::FMLALlanev8f16:
12776 case AArch64::FMLAv1i16_indexed:
12777 case AArch64::FMLAv4i16_indexed:
12778 case AArch64::FMLAv8i16_indexed:
12779 case AArch64::FMLSL2lanev4f16:
12780 case AArch64::FMLSL2lanev8f16:
12781 case AArch64::FMLSLlanev4f16:
12782 case AArch64::FMLSLlanev8f16:
12783 case AArch64::FMLSv1i16_indexed:
12784 case AArch64::FMLSv4i16_indexed:
12785 case AArch64::FMLSv8i16_indexed:
12786 case AArch64::MLAv4i16_indexed:
12787 case AArch64::MLAv8i16_indexed:
12788 case AArch64::MLSv4i16_indexed:
12789 case AArch64::MLSv8i16_indexed:
12790 case AArch64::SMLALv4i16_indexed:
12791 case AArch64::SMLALv8i16_indexed:
12792 case AArch64::SMLSLv4i16_indexed:
12793 case AArch64::SMLSLv8i16_indexed:
12794 case AArch64::SQDMLALv1i32_indexed:
12795 case AArch64::SQDMLALv4i16_indexed:
12796 case AArch64::SQDMLALv8i16_indexed:
12797 case AArch64::SQDMLSLv1i32_indexed:
12798 case AArch64::SQDMLSLv4i16_indexed:
12799 case AArch64::SQDMLSLv8i16_indexed:
12800 case AArch64::SQRDMLAHv1i16_indexed:
12801 case AArch64::SQRDMLAHv4i16_indexed:
12802 case AArch64::SQRDMLAHv8i16_indexed:
12803 case AArch64::SQRDMLSHv1i16_indexed:
12804 case AArch64::SQRDMLSHv4i16_indexed:
12805 case AArch64::SQRDMLSHv8i16_indexed:
12806 case AArch64::UMLALv4i16_indexed:
12807 case AArch64::UMLALv8i16_indexed:
12808 case AArch64::UMLSLv4i16_indexed:
12809 case AArch64::UMLSLv8i16_indexed: {
12810 // op: Rd
12811 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12812 Value |= (op & 0x1f);
12813 // op: Rn
12814 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12815 Value |= (op & 0x1f) << 5;
12816 // op: Rm
12817 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12818 Value |= (op & 0xf) << 16;
12819 // op: idx
12820 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12821 Value |= (op & 0x3) << 20;
12822 Value |= (op & 0x4) << 9;
12823 break;
12824 }
12825 case AArch64::SLIv4i16_shift:
12826 case AArch64::SLIv8i16_shift: {
12827 // op: Rd
12828 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12829 Value |= (op & 0x1f);
12830 // op: Rn
12831 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12832 Value |= (op & 0x1f) << 5;
12833 // op: imm
12834 op = getVecShiftL16OpValue(MI, OpIdx: 3, Fixups, STI);
12835 Value |= (op & 0xf) << 16;
12836 break;
12837 }
12838 case AArch64::SLIv2i32_shift:
12839 case AArch64::SLIv4i32_shift: {
12840 // op: Rd
12841 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12842 Value |= (op & 0x1f);
12843 // op: Rn
12844 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12845 Value |= (op & 0x1f) << 5;
12846 // op: imm
12847 op = getVecShiftL32OpValue(MI, OpIdx: 3, Fixups, STI);
12848 Value |= (op & 0x1f) << 16;
12849 break;
12850 }
12851 case AArch64::SLId:
12852 case AArch64::SLIv2i64_shift: {
12853 // op: Rd
12854 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12855 Value |= (op & 0x1f);
12856 // op: Rn
12857 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12858 Value |= (op & 0x1f) << 5;
12859 // op: imm
12860 op = getVecShiftL64OpValue(MI, OpIdx: 3, Fixups, STI);
12861 Value |= (op & 0x3f) << 16;
12862 break;
12863 }
12864 case AArch64::SLIv16i8_shift:
12865 case AArch64::SLIv8i8_shift: {
12866 // op: Rd
12867 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12868 Value |= (op & 0x1f);
12869 // op: Rn
12870 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12871 Value |= (op & 0x1f) << 5;
12872 // op: imm
12873 op = getVecShiftL8OpValue(MI, OpIdx: 3, Fixups, STI);
12874 Value |= (op & 0x7) << 16;
12875 break;
12876 }
12877 case AArch64::RSHRNv16i8_shift:
12878 case AArch64::SHRNv16i8_shift:
12879 case AArch64::SQRSHRNv16i8_shift:
12880 case AArch64::SQRSHRUNv16i8_shift:
12881 case AArch64::SQSHRNv16i8_shift:
12882 case AArch64::SQSHRUNv16i8_shift:
12883 case AArch64::UQRSHRNv16i8_shift:
12884 case AArch64::UQSHRNv16i8_shift: {
12885 // op: Rd
12886 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12887 Value |= (op & 0x1f);
12888 // op: Rn
12889 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12890 Value |= (op & 0x1f) << 5;
12891 // op: imm
12892 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
12893 Value |= (op & 0x7) << 16;
12894 break;
12895 }
12896 case AArch64::SRIv4i16_shift:
12897 case AArch64::SRIv8i16_shift:
12898 case AArch64::SRSRAv4i16_shift:
12899 case AArch64::SRSRAv8i16_shift:
12900 case AArch64::SSRAv4i16_shift:
12901 case AArch64::SSRAv8i16_shift:
12902 case AArch64::URSRAv4i16_shift:
12903 case AArch64::URSRAv8i16_shift:
12904 case AArch64::USRAv4i16_shift:
12905 case AArch64::USRAv8i16_shift: {
12906 // op: Rd
12907 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12908 Value |= (op & 0x1f);
12909 // op: Rn
12910 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12911 Value |= (op & 0x1f) << 5;
12912 // op: imm
12913 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
12914 Value |= (op & 0xf) << 16;
12915 break;
12916 }
12917 case AArch64::SRIv2i32_shift:
12918 case AArch64::SRIv4i32_shift:
12919 case AArch64::SRSRAv2i32_shift:
12920 case AArch64::SRSRAv4i32_shift:
12921 case AArch64::SSRAv2i32_shift:
12922 case AArch64::SSRAv4i32_shift:
12923 case AArch64::URSRAv2i32_shift:
12924 case AArch64::URSRAv4i32_shift:
12925 case AArch64::USRAv2i32_shift:
12926 case AArch64::USRAv4i32_shift: {
12927 // op: Rd
12928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12929 Value |= (op & 0x1f);
12930 // op: Rn
12931 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12932 Value |= (op & 0x1f) << 5;
12933 // op: imm
12934 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
12935 Value |= (op & 0x1f) << 16;
12936 break;
12937 }
12938 case AArch64::RSHRNv8i16_shift:
12939 case AArch64::SHRNv8i16_shift:
12940 case AArch64::SQRSHRNv8i16_shift:
12941 case AArch64::SQRSHRUNv8i16_shift:
12942 case AArch64::SQSHRNv8i16_shift:
12943 case AArch64::SQSHRUNv8i16_shift:
12944 case AArch64::UQRSHRNv8i16_shift:
12945 case AArch64::UQSHRNv8i16_shift: {
12946 // op: Rd
12947 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12948 Value |= (op & 0x1f);
12949 // op: Rn
12950 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12951 Value |= (op & 0x1f) << 5;
12952 // op: imm
12953 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
12954 Value |= (op & 0xf) << 16;
12955 break;
12956 }
12957 case AArch64::RSHRNv4i32_shift:
12958 case AArch64::SHRNv4i32_shift:
12959 case AArch64::SQRSHRNv4i32_shift:
12960 case AArch64::SQRSHRUNv4i32_shift:
12961 case AArch64::SQSHRNv4i32_shift:
12962 case AArch64::SQSHRUNv4i32_shift:
12963 case AArch64::UQRSHRNv4i32_shift:
12964 case AArch64::UQSHRNv4i32_shift: {
12965 // op: Rd
12966 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12967 Value |= (op & 0x1f);
12968 // op: Rn
12969 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12970 Value |= (op & 0x1f) << 5;
12971 // op: imm
12972 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
12973 Value |= (op & 0x1f) << 16;
12974 break;
12975 }
12976 case AArch64::SRId:
12977 case AArch64::SRIv2i64_shift:
12978 case AArch64::SRSRAd:
12979 case AArch64::SRSRAv2i64_shift:
12980 case AArch64::SSRAd:
12981 case AArch64::SSRAv2i64_shift:
12982 case AArch64::URSRAd:
12983 case AArch64::URSRAv2i64_shift:
12984 case AArch64::USRAd:
12985 case AArch64::USRAv2i64_shift: {
12986 // op: Rd
12987 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12988 Value |= (op & 0x1f);
12989 // op: Rn
12990 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12991 Value |= (op & 0x1f) << 5;
12992 // op: imm
12993 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
12994 Value |= (op & 0x3f) << 16;
12995 break;
12996 }
12997 case AArch64::SRIv16i8_shift:
12998 case AArch64::SRIv8i8_shift:
12999 case AArch64::SRSRAv16i8_shift:
13000 case AArch64::SRSRAv8i8_shift:
13001 case AArch64::SSRAv16i8_shift:
13002 case AArch64::SSRAv8i8_shift:
13003 case AArch64::URSRAv16i8_shift:
13004 case AArch64::URSRAv8i8_shift:
13005 case AArch64::USRAv16i8_shift:
13006 case AArch64::USRAv8i8_shift: {
13007 // op: Rd
13008 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13009 Value |= (op & 0x1f);
13010 // op: Rn
13011 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13012 Value |= (op & 0x1f) << 5;
13013 // op: imm
13014 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
13015 Value |= (op & 0x7) << 16;
13016 break;
13017 }
13018 case AArch64::INSvi64gpr: {
13019 // op: Rd
13020 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13021 Value |= (op & 0x1f);
13022 // op: Rn
13023 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13024 Value |= (op & 0x1f) << 5;
13025 // op: idx
13026 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13027 Value |= (op & 0x1) << 20;
13028 break;
13029 }
13030 case AArch64::INSvi64lane: {
13031 // op: Rd
13032 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13033 Value |= (op & 0x1f);
13034 // op: Rn
13035 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13036 Value |= (op & 0x1f) << 5;
13037 // op: idx
13038 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13039 Value |= (op & 0x1) << 20;
13040 // op: idx2
13041 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13042 Value |= (op & 0x1) << 14;
13043 break;
13044 }
13045 case AArch64::INSvi32gpr: {
13046 // op: Rd
13047 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13048 Value |= (op & 0x1f);
13049 // op: Rn
13050 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13051 Value |= (op & 0x1f) << 5;
13052 // op: idx
13053 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13054 Value |= (op & 0x3) << 19;
13055 break;
13056 }
13057 case AArch64::INSvi32lane: {
13058 // op: Rd
13059 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13060 Value |= (op & 0x1f);
13061 // op: Rn
13062 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13063 Value |= (op & 0x1f) << 5;
13064 // op: idx
13065 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13066 Value |= (op & 0x3) << 19;
13067 // op: idx2
13068 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13069 Value |= (op & 0x3) << 13;
13070 break;
13071 }
13072 case AArch64::INSvi16gpr: {
13073 // op: Rd
13074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13075 Value |= (op & 0x1f);
13076 // op: Rn
13077 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13078 Value |= (op & 0x1f) << 5;
13079 // op: idx
13080 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13081 Value |= (op & 0x7) << 18;
13082 break;
13083 }
13084 case AArch64::INSvi16lane: {
13085 // op: Rd
13086 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13087 Value |= (op & 0x1f);
13088 // op: Rn
13089 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13090 Value |= (op & 0x1f) << 5;
13091 // op: idx
13092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13093 Value |= (op & 0x7) << 18;
13094 // op: idx2
13095 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13096 Value |= (op & 0x7) << 12;
13097 break;
13098 }
13099 case AArch64::INSvi8gpr: {
13100 // op: Rd
13101 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13102 Value |= (op & 0x1f);
13103 // op: Rn
13104 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13105 Value |= (op & 0x1f) << 5;
13106 // op: idx
13107 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13108 Value |= (op & 0xf) << 17;
13109 break;
13110 }
13111 case AArch64::INSvi8lane: {
13112 // op: Rd
13113 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13114 Value |= (op & 0x1f);
13115 // op: Rn
13116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13117 Value |= (op & 0x1f) << 5;
13118 // op: idx
13119 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13120 Value |= (op & 0xf) << 17;
13121 // op: idx2
13122 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13123 Value |= (op & 0xf) << 11;
13124 break;
13125 }
13126 case AArch64::BICv4i16:
13127 case AArch64::BICv8i16:
13128 case AArch64::ORRv4i16:
13129 case AArch64::ORRv8i16: {
13130 // op: Rd
13131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13132 Value |= (op & 0x1f);
13133 // op: imm8
13134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13135 Value |= (op & 0xe0) << 11;
13136 Value |= (op & 0x1f) << 5;
13137 // op: shift
13138 op = getVecShifterOpValue(MI, OpIdx: 3, Fixups, STI);
13139 Value |= (op & 0x1) << 13;
13140 break;
13141 }
13142 case AArch64::BICv2i32:
13143 case AArch64::BICv4i32:
13144 case AArch64::ORRv2i32:
13145 case AArch64::ORRv4i32: {
13146 // op: Rd
13147 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13148 Value |= (op & 0x1f);
13149 // op: imm8
13150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13151 Value |= (op & 0xe0) << 11;
13152 Value |= (op & 0x1f) << 5;
13153 // op: shift
13154 op = getVecShifterOpValue(MI, OpIdx: 3, Fixups, STI);
13155 Value |= (op & 0x3) << 13;
13156 break;
13157 }
13158 case AArch64::SETGOE:
13159 case AArch64::SETGOEN:
13160 case AArch64::SETGOET:
13161 case AArch64::SETGOETN:
13162 case AArch64::SETGOM:
13163 case AArch64::SETGOMN:
13164 case AArch64::SETGOMT:
13165 case AArch64::SETGOMTN:
13166 case AArch64::SETGOP:
13167 case AArch64::SETGOPN:
13168 case AArch64::SETGOPT:
13169 case AArch64::SETGOPTN: {
13170 // op: Rd
13171 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13172 Value |= (op & 0x1f);
13173 // op: Rn
13174 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13175 Value |= (op & 0x1f) << 5;
13176 break;
13177 }
13178 case AArch64::MOPSSETGE:
13179 case AArch64::MOPSSETGEN:
13180 case AArch64::MOPSSETGET:
13181 case AArch64::MOPSSETGETN:
13182 case AArch64::SETE:
13183 case AArch64::SETEN:
13184 case AArch64::SETET:
13185 case AArch64::SETETN:
13186 case AArch64::SETGM:
13187 case AArch64::SETGMN:
13188 case AArch64::SETGMT:
13189 case AArch64::SETGMTN:
13190 case AArch64::SETGP:
13191 case AArch64::SETGPN:
13192 case AArch64::SETGPT:
13193 case AArch64::SETGPTN:
13194 case AArch64::SETM:
13195 case AArch64::SETMN:
13196 case AArch64::SETMT:
13197 case AArch64::SETMTN:
13198 case AArch64::SETP:
13199 case AArch64::SETPN:
13200 case AArch64::SETPT:
13201 case AArch64::SETPTN: {
13202 // op: Rd
13203 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13204 Value |= (op & 0x1f);
13205 // op: Rn
13206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13207 Value |= (op & 0x1f) << 5;
13208 // op: Rm
13209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13210 Value |= (op & 0x1f) << 16;
13211 break;
13212 }
13213 case AArch64::CPYE:
13214 case AArch64::CPYEN:
13215 case AArch64::CPYERN:
13216 case AArch64::CPYERT:
13217 case AArch64::CPYERTN:
13218 case AArch64::CPYERTRN:
13219 case AArch64::CPYERTWN:
13220 case AArch64::CPYET:
13221 case AArch64::CPYETN:
13222 case AArch64::CPYETRN:
13223 case AArch64::CPYETWN:
13224 case AArch64::CPYEWN:
13225 case AArch64::CPYEWT:
13226 case AArch64::CPYEWTN:
13227 case AArch64::CPYEWTRN:
13228 case AArch64::CPYEWTWN:
13229 case AArch64::CPYFE:
13230 case AArch64::CPYFEN:
13231 case AArch64::CPYFERN:
13232 case AArch64::CPYFERT:
13233 case AArch64::CPYFERTN:
13234 case AArch64::CPYFERTRN:
13235 case AArch64::CPYFERTWN:
13236 case AArch64::CPYFET:
13237 case AArch64::CPYFETN:
13238 case AArch64::CPYFETRN:
13239 case AArch64::CPYFETWN:
13240 case AArch64::CPYFEWN:
13241 case AArch64::CPYFEWT:
13242 case AArch64::CPYFEWTN:
13243 case AArch64::CPYFEWTRN:
13244 case AArch64::CPYFEWTWN:
13245 case AArch64::CPYFM:
13246 case AArch64::CPYFMN:
13247 case AArch64::CPYFMRN:
13248 case AArch64::CPYFMRT:
13249 case AArch64::CPYFMRTN:
13250 case AArch64::CPYFMRTRN:
13251 case AArch64::CPYFMRTWN:
13252 case AArch64::CPYFMT:
13253 case AArch64::CPYFMTN:
13254 case AArch64::CPYFMTRN:
13255 case AArch64::CPYFMTWN:
13256 case AArch64::CPYFMWN:
13257 case AArch64::CPYFMWT:
13258 case AArch64::CPYFMWTN:
13259 case AArch64::CPYFMWTRN:
13260 case AArch64::CPYFMWTWN:
13261 case AArch64::CPYFP:
13262 case AArch64::CPYFPN:
13263 case AArch64::CPYFPRN:
13264 case AArch64::CPYFPRT:
13265 case AArch64::CPYFPRTN:
13266 case AArch64::CPYFPRTRN:
13267 case AArch64::CPYFPRTWN:
13268 case AArch64::CPYFPT:
13269 case AArch64::CPYFPTN:
13270 case AArch64::CPYFPTRN:
13271 case AArch64::CPYFPTWN:
13272 case AArch64::CPYFPWN:
13273 case AArch64::CPYFPWT:
13274 case AArch64::CPYFPWTN:
13275 case AArch64::CPYFPWTRN:
13276 case AArch64::CPYFPWTWN:
13277 case AArch64::CPYM:
13278 case AArch64::CPYMN:
13279 case AArch64::CPYMRN:
13280 case AArch64::CPYMRT:
13281 case AArch64::CPYMRTN:
13282 case AArch64::CPYMRTRN:
13283 case AArch64::CPYMRTWN:
13284 case AArch64::CPYMT:
13285 case AArch64::CPYMTN:
13286 case AArch64::CPYMTRN:
13287 case AArch64::CPYMTWN:
13288 case AArch64::CPYMWN:
13289 case AArch64::CPYMWT:
13290 case AArch64::CPYMWTN:
13291 case AArch64::CPYMWTRN:
13292 case AArch64::CPYMWTWN:
13293 case AArch64::CPYP:
13294 case AArch64::CPYPN:
13295 case AArch64::CPYPRN:
13296 case AArch64::CPYPRT:
13297 case AArch64::CPYPRTN:
13298 case AArch64::CPYPRTRN:
13299 case AArch64::CPYPRTWN:
13300 case AArch64::CPYPT:
13301 case AArch64::CPYPTN:
13302 case AArch64::CPYPTRN:
13303 case AArch64::CPYPTWN:
13304 case AArch64::CPYPWN:
13305 case AArch64::CPYPWT:
13306 case AArch64::CPYPWTN:
13307 case AArch64::CPYPWTRN:
13308 case AArch64::CPYPWTWN: {
13309 // op: Rd
13310 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13311 Value |= (op & 0x1f);
13312 // op: Rs
13313 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13314 Value |= (op & 0x1f) << 16;
13315 // op: Rn
13316 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13317 Value |= (op & 0x1f) << 5;
13318 break;
13319 }
13320 case AArch64::DECP_XP_B:
13321 case AArch64::DECP_XP_D:
13322 case AArch64::DECP_XP_H:
13323 case AArch64::DECP_XP_S:
13324 case AArch64::INCP_XP_B:
13325 case AArch64::INCP_XP_D:
13326 case AArch64::INCP_XP_H:
13327 case AArch64::INCP_XP_S:
13328 case AArch64::SQDECP_XPWd_B:
13329 case AArch64::SQDECP_XPWd_D:
13330 case AArch64::SQDECP_XPWd_H:
13331 case AArch64::SQDECP_XPWd_S:
13332 case AArch64::SQDECP_XP_B:
13333 case AArch64::SQDECP_XP_D:
13334 case AArch64::SQDECP_XP_H:
13335 case AArch64::SQDECP_XP_S:
13336 case AArch64::SQINCP_XPWd_B:
13337 case AArch64::SQINCP_XPWd_D:
13338 case AArch64::SQINCP_XPWd_H:
13339 case AArch64::SQINCP_XPWd_S:
13340 case AArch64::SQINCP_XP_B:
13341 case AArch64::SQINCP_XP_D:
13342 case AArch64::SQINCP_XP_H:
13343 case AArch64::SQINCP_XP_S:
13344 case AArch64::UQDECP_WP_B:
13345 case AArch64::UQDECP_WP_D:
13346 case AArch64::UQDECP_WP_H:
13347 case AArch64::UQDECP_WP_S:
13348 case AArch64::UQDECP_XP_B:
13349 case AArch64::UQDECP_XP_D:
13350 case AArch64::UQDECP_XP_H:
13351 case AArch64::UQDECP_XP_S:
13352 case AArch64::UQINCP_WP_B:
13353 case AArch64::UQINCP_WP_D:
13354 case AArch64::UQINCP_WP_H:
13355 case AArch64::UQINCP_WP_S:
13356 case AArch64::UQINCP_XP_B:
13357 case AArch64::UQINCP_XP_D:
13358 case AArch64::UQINCP_XP_H:
13359 case AArch64::UQINCP_XP_S: {
13360 // op: Rdn
13361 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13362 Value |= (op & 0x1f);
13363 // op: Pg
13364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13365 Value |= (op & 0xf) << 5;
13366 break;
13367 }
13368 case AArch64::DECB_XPiI:
13369 case AArch64::DECD_XPiI:
13370 case AArch64::DECH_XPiI:
13371 case AArch64::DECW_XPiI:
13372 case AArch64::INCB_XPiI:
13373 case AArch64::INCD_XPiI:
13374 case AArch64::INCH_XPiI:
13375 case AArch64::INCW_XPiI:
13376 case AArch64::SQDECB_XPiI:
13377 case AArch64::SQDECB_XPiWdI:
13378 case AArch64::SQDECD_XPiI:
13379 case AArch64::SQDECD_XPiWdI:
13380 case AArch64::SQDECH_XPiI:
13381 case AArch64::SQDECH_XPiWdI:
13382 case AArch64::SQDECW_XPiI:
13383 case AArch64::SQDECW_XPiWdI:
13384 case AArch64::SQINCB_XPiI:
13385 case AArch64::SQINCB_XPiWdI:
13386 case AArch64::SQINCD_XPiI:
13387 case AArch64::SQINCD_XPiWdI:
13388 case AArch64::SQINCH_XPiI:
13389 case AArch64::SQINCH_XPiWdI:
13390 case AArch64::SQINCW_XPiI:
13391 case AArch64::SQINCW_XPiWdI:
13392 case AArch64::UQDECB_WPiI:
13393 case AArch64::UQDECB_XPiI:
13394 case AArch64::UQDECD_WPiI:
13395 case AArch64::UQDECD_XPiI:
13396 case AArch64::UQDECH_WPiI:
13397 case AArch64::UQDECH_XPiI:
13398 case AArch64::UQDECW_WPiI:
13399 case AArch64::UQDECW_XPiI:
13400 case AArch64::UQINCB_WPiI:
13401 case AArch64::UQINCB_XPiI:
13402 case AArch64::UQINCD_WPiI:
13403 case AArch64::UQINCD_XPiI:
13404 case AArch64::UQINCH_WPiI:
13405 case AArch64::UQINCH_XPiI:
13406 case AArch64::UQINCW_WPiI:
13407 case AArch64::UQINCW_XPiI: {
13408 // op: Rdn
13409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13410 Value |= (op & 0x1f);
13411 // op: pattern
13412 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13413 Value |= (op & 0x1f) << 5;
13414 // op: imm4
13415 op = getSVEIncDecImm(MI, OpIdx: 3, Fixups, STI);
13416 Value |= (op & 0xf) << 16;
13417 break;
13418 }
13419 case AArch64::RETAASPPCr:
13420 case AArch64::RETABSPPCr: {
13421 // op: Rm
13422 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13423 Value |= (op & 0x1f);
13424 break;
13425 }
13426 case AArch64::CTERMEQ_WW:
13427 case AArch64::CTERMEQ_XX:
13428 case AArch64::CTERMNE_WW:
13429 case AArch64::CTERMNE_XX:
13430 case AArch64::FCMPDrr:
13431 case AArch64::FCMPEDrr:
13432 case AArch64::FCMPEHrr:
13433 case AArch64::FCMPESrr:
13434 case AArch64::FCMPHrr:
13435 case AArch64::FCMPSrr: {
13436 // op: Rm
13437 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13438 Value |= (op & 0x1f) << 16;
13439 // op: Rn
13440 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13441 Value |= (op & 0x1f) << 5;
13442 break;
13443 }
13444 case AArch64::CBBEQWrr:
13445 case AArch64::CBBGEWrr:
13446 case AArch64::CBBGTWrr:
13447 case AArch64::CBBHIWrr:
13448 case AArch64::CBBHSWrr:
13449 case AArch64::CBBNEWrr:
13450 case AArch64::CBEQWrr:
13451 case AArch64::CBEQXrr:
13452 case AArch64::CBGEWrr:
13453 case AArch64::CBGEXrr:
13454 case AArch64::CBGTWrr:
13455 case AArch64::CBGTXrr:
13456 case AArch64::CBHEQWrr:
13457 case AArch64::CBHGEWrr:
13458 case AArch64::CBHGTWrr:
13459 case AArch64::CBHHIWrr:
13460 case AArch64::CBHHSWrr:
13461 case AArch64::CBHIWrr:
13462 case AArch64::CBHIXrr:
13463 case AArch64::CBHNEWrr:
13464 case AArch64::CBHSWrr:
13465 case AArch64::CBHSXrr:
13466 case AArch64::CBNEWrr:
13467 case AArch64::CBNEXrr: {
13468 // op: Rm
13469 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13470 Value |= (op & 0x1f) << 16;
13471 // op: Rt
13472 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13473 Value |= (op & 0x1f);
13474 // op: target
13475 op = getCondCompBranchTargetOpValue(MI, OpIdx: 2, Fixups, STI);
13476 Value |= (op & 0x1ff) << 5;
13477 break;
13478 }
13479 case AArch64::INDEX_IR_B:
13480 case AArch64::INDEX_IR_D:
13481 case AArch64::INDEX_IR_H:
13482 case AArch64::INDEX_IR_S: {
13483 // op: Rm
13484 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13485 Value |= (op & 0x1f) << 16;
13486 // op: Zd
13487 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13488 Value |= (op & 0x1f);
13489 // op: imm5
13490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13491 Value |= (op & 0x1f) << 5;
13492 break;
13493 }
13494 case AArch64::INSR_ZR_B:
13495 case AArch64::INSR_ZR_D:
13496 case AArch64::INSR_ZR_H:
13497 case AArch64::INSR_ZR_S: {
13498 // op: Rm
13499 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13500 Value |= (op & 0x1f) << 5;
13501 // op: Zdn
13502 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13503 Value |= (op & 0x1f);
13504 break;
13505 }
13506 case AArch64::LD1B_2Z_STRIDED:
13507 case AArch64::LD1D_2Z_STRIDED:
13508 case AArch64::LD1H_2Z_STRIDED:
13509 case AArch64::LD1W_2Z_STRIDED:
13510 case AArch64::LDNT1B_2Z_STRIDED:
13511 case AArch64::LDNT1D_2Z_STRIDED:
13512 case AArch64::LDNT1H_2Z_STRIDED:
13513 case AArch64::LDNT1W_2Z_STRIDED:
13514 case AArch64::ST1B_2Z_STRIDED:
13515 case AArch64::ST1D_2Z_STRIDED:
13516 case AArch64::ST1H_2Z_STRIDED:
13517 case AArch64::ST1W_2Z_STRIDED:
13518 case AArch64::STNT1B_2Z_STRIDED:
13519 case AArch64::STNT1D_2Z_STRIDED:
13520 case AArch64::STNT1H_2Z_STRIDED:
13521 case AArch64::STNT1W_2Z_STRIDED: {
13522 // op: Rm
13523 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13524 Value |= (op & 0x1f) << 16;
13525 // op: PNg
13526 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
13527 Value |= (op & 0x7) << 10;
13528 // op: Rn
13529 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13530 Value |= (op & 0x1f) << 5;
13531 // op: Zt
13532 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
13533 Value |= (op & 0x8) << 1;
13534 Value |= (op & 0x7);
13535 break;
13536 }
13537 case AArch64::LD1B_4Z_STRIDED:
13538 case AArch64::LD1D_4Z_STRIDED:
13539 case AArch64::LD1H_4Z_STRIDED:
13540 case AArch64::LD1W_4Z_STRIDED:
13541 case AArch64::LDNT1B_4Z_STRIDED:
13542 case AArch64::LDNT1D_4Z_STRIDED:
13543 case AArch64::LDNT1H_4Z_STRIDED:
13544 case AArch64::LDNT1W_4Z_STRIDED:
13545 case AArch64::ST1B_4Z_STRIDED:
13546 case AArch64::ST1D_4Z_STRIDED:
13547 case AArch64::ST1H_4Z_STRIDED:
13548 case AArch64::ST1W_4Z_STRIDED:
13549 case AArch64::STNT1B_4Z_STRIDED:
13550 case AArch64::STNT1D_4Z_STRIDED:
13551 case AArch64::STNT1H_4Z_STRIDED:
13552 case AArch64::STNT1W_4Z_STRIDED: {
13553 // op: Rm
13554 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13555 Value |= (op & 0x1f) << 16;
13556 // op: PNg
13557 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
13558 Value |= (op & 0x7) << 10;
13559 // op: Rn
13560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13561 Value |= (op & 0x1f) << 5;
13562 // op: Zt
13563 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
13564 Value |= (op & 0x4) << 2;
13565 Value |= (op & 0x3);
13566 break;
13567 }
13568 case AArch64::PRFB_PRR:
13569 case AArch64::PRFD_PRR:
13570 case AArch64::PRFH_PRR:
13571 case AArch64::PRFW_PRR: {
13572 // op: Rm
13573 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13574 Value |= (op & 0x1f) << 16;
13575 // op: Rn
13576 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13577 Value |= (op & 0x1f) << 5;
13578 // op: Pg
13579 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13580 Value |= (op & 0x7) << 10;
13581 // op: prfop
13582 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13583 Value |= (op & 0xf);
13584 break;
13585 }
13586 case AArch64::LD1_MXIPXX_H_H:
13587 case AArch64::LD1_MXIPXX_V_H:
13588 case AArch64::ST1_MXIPXX_H_H:
13589 case AArch64::ST1_MXIPXX_V_H: {
13590 // op: Rm
13591 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13592 Value |= (op & 0x1f) << 16;
13593 // op: Rv
13594 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13595 Value |= (op & 0x3) << 13;
13596 // op: Pg
13597 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13598 Value |= (op & 0x7) << 10;
13599 // op: Rn
13600 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13601 Value |= (op & 0x1f) << 5;
13602 // op: ZAt
13603 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13604 Value |= (op & 0x1) << 3;
13605 // op: imm
13606 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13607 Value |= (op & 0x7);
13608 break;
13609 }
13610 case AArch64::LD1_MXIPXX_H_S:
13611 case AArch64::LD1_MXIPXX_V_S:
13612 case AArch64::ST1_MXIPXX_H_S:
13613 case AArch64::ST1_MXIPXX_V_S: {
13614 // op: Rm
13615 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13616 Value |= (op & 0x1f) << 16;
13617 // op: Rv
13618 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13619 Value |= (op & 0x3) << 13;
13620 // op: Pg
13621 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13622 Value |= (op & 0x7) << 10;
13623 // op: Rn
13624 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13625 Value |= (op & 0x1f) << 5;
13626 // op: ZAt
13627 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13628 Value |= (op & 0x3) << 2;
13629 // op: imm
13630 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13631 Value |= (op & 0x3);
13632 break;
13633 }
13634 case AArch64::LD1_MXIPXX_H_D:
13635 case AArch64::LD1_MXIPXX_V_D:
13636 case AArch64::ST1_MXIPXX_H_D:
13637 case AArch64::ST1_MXIPXX_V_D: {
13638 // op: Rm
13639 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13640 Value |= (op & 0x1f) << 16;
13641 // op: Rv
13642 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13643 Value |= (op & 0x3) << 13;
13644 // op: Pg
13645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13646 Value |= (op & 0x7) << 10;
13647 // op: Rn
13648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13649 Value |= (op & 0x1f) << 5;
13650 // op: ZAt
13651 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13652 Value |= (op & 0x7) << 1;
13653 // op: imm
13654 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13655 Value |= (op & 0x1);
13656 break;
13657 }
13658 case AArch64::LD1_MXIPXX_H_Q:
13659 case AArch64::LD1_MXIPXX_V_Q:
13660 case AArch64::ST1_MXIPXX_H_Q:
13661 case AArch64::ST1_MXIPXX_V_Q: {
13662 // op: Rm
13663 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13664 Value |= (op & 0x1f) << 16;
13665 // op: Rv
13666 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13667 Value |= (op & 0x3) << 13;
13668 // op: Pg
13669 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13670 Value |= (op & 0x7) << 10;
13671 // op: Rn
13672 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13673 Value |= (op & 0x1f) << 5;
13674 // op: ZAt
13675 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13676 Value |= (op & 0xf);
13677 break;
13678 }
13679 case AArch64::LD1_MXIPXX_H_B:
13680 case AArch64::LD1_MXIPXX_V_B:
13681 case AArch64::ST1_MXIPXX_H_B:
13682 case AArch64::ST1_MXIPXX_V_B: {
13683 // op: Rm
13684 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13685 Value |= (op & 0x1f) << 16;
13686 // op: Rv
13687 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13688 Value |= (op & 0x3) << 13;
13689 // op: Pg
13690 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13691 Value |= (op & 0x7) << 10;
13692 // op: Rn
13693 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13694 Value |= (op & 0x1f) << 5;
13695 // op: imm
13696 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13697 Value |= (op & 0xf);
13698 break;
13699 }
13700 case AArch64::AUTIASPPCr:
13701 case AArch64::AUTIBSPPCr:
13702 case AArch64::BLR:
13703 case AArch64::BLRAAZ:
13704 case AArch64::BLRABZ:
13705 case AArch64::BR:
13706 case AArch64::BRAAZ:
13707 case AArch64::BRABZ:
13708 case AArch64::RET:
13709 case AArch64::SETF16:
13710 case AArch64::SETF8: {
13711 // op: Rn
13712 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13713 Value |= (op & 0x1f) << 5;
13714 break;
13715 }
13716 case AArch64::CCMNWr:
13717 case AArch64::CCMNXr:
13718 case AArch64::CCMPWr:
13719 case AArch64::CCMPXr:
13720 case AArch64::FCCMPDrr:
13721 case AArch64::FCCMPEDrr:
13722 case AArch64::FCCMPEHrr:
13723 case AArch64::FCCMPESrr:
13724 case AArch64::FCCMPHrr:
13725 case AArch64::FCCMPSrr: {
13726 // op: Rn
13727 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13728 Value |= (op & 0x1f) << 5;
13729 // op: Rm
13730 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13731 Value |= (op & 0x1f) << 16;
13732 // op: nzcv
13733 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13734 Value |= (op & 0xf);
13735 // op: cond
13736 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13737 Value |= (op & 0xf) << 12;
13738 break;
13739 }
13740 case AArch64::BLRAA:
13741 case AArch64::BLRAB:
13742 case AArch64::BRAA:
13743 case AArch64::BRAB: {
13744 // op: Rn
13745 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13746 Value |= (op & 0x1f) << 5;
13747 // op: Rm
13748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13749 Value |= (op & 0x1f);
13750 break;
13751 }
13752 case AArch64::CCMNWi:
13753 case AArch64::CCMNXi:
13754 case AArch64::CCMPWi:
13755 case AArch64::CCMPXi: {
13756 // op: Rn
13757 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13758 Value |= (op & 0x1f) << 5;
13759 // op: imm
13760 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13761 Value |= (op & 0x1f) << 16;
13762 // op: nzcv
13763 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13764 Value |= (op & 0xf);
13765 // op: cond
13766 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13767 Value |= (op & 0xf) << 12;
13768 break;
13769 }
13770 case AArch64::RMIF: {
13771 // op: Rn
13772 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13773 Value |= (op & 0x1f) << 5;
13774 // op: imm
13775 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13776 Value |= (op & 0x3f) << 15;
13777 // op: mask
13778 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13779 Value |= (op & 0xf);
13780 break;
13781 }
13782 case AArch64::FCMPDri:
13783 case AArch64::FCMPEDri:
13784 case AArch64::FCMPEHri:
13785 case AArch64::FCMPESri:
13786 case AArch64::FCMPHri:
13787 case AArch64::FCMPSri: {
13788 // op: Rn
13789 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13790 Value |= (op & 0x1f) << 5;
13791 Value = fixOneOperandFPComparison(MI, EncodedValue: Value, STI);
13792 break;
13793 }
13794 case AArch64::LDR_TX:
13795 case AArch64::STR_TX: {
13796 // op: Rn
13797 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13798 Value |= (op & 0x1f) << 5;
13799 break;
13800 }
13801 case AArch64::LDAPRB:
13802 case AArch64::LDAPRH:
13803 case AArch64::LDAPRW:
13804 case AArch64::LDAPRX:
13805 case AArch64::LDGM:
13806 case AArch64::STGM:
13807 case AArch64::STZGM: {
13808 // op: Rn
13809 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13810 Value |= (op & 0x1f) << 5;
13811 // op: Rt
13812 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13813 Value |= (op & 0x1f);
13814 break;
13815 }
13816 case AArch64::ST2Gi:
13817 case AArch64::STGi:
13818 case AArch64::STZ2Gi:
13819 case AArch64::STZGi: {
13820 // op: Rn
13821 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13822 Value |= (op & 0x1f) << 5;
13823 // op: Rt
13824 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13825 Value |= (op & 0x1f);
13826 // op: offset
13827 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13828 Value |= (op & 0x1ff) << 12;
13829 break;
13830 }
13831 case AArch64::DUP_ZR_B:
13832 case AArch64::DUP_ZR_D:
13833 case AArch64::DUP_ZR_H:
13834 case AArch64::DUP_ZR_S: {
13835 // op: Rn
13836 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13837 Value |= (op & 0x1f) << 5;
13838 // op: Zd
13839 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13840 Value |= (op & 0x1f);
13841 break;
13842 }
13843 case AArch64::INDEX_RI_B:
13844 case AArch64::INDEX_RI_D:
13845 case AArch64::INDEX_RI_H:
13846 case AArch64::INDEX_RI_S: {
13847 // op: Rn
13848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13849 Value |= (op & 0x1f) << 5;
13850 // op: Zd
13851 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13852 Value |= (op & 0x1f);
13853 // op: imm5
13854 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13855 Value |= (op & 0x1f) << 16;
13856 break;
13857 }
13858 case AArch64::LDR_ZXI:
13859 case AArch64::STR_ZXI: {
13860 // op: Rn
13861 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13862 Value |= (op & 0x1f) << 5;
13863 // op: Zt
13864 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13865 Value |= (op & 0x1f);
13866 // op: imm9
13867 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13868 Value |= (op & 0x1f8) << 13;
13869 Value |= (op & 0x7) << 10;
13870 break;
13871 }
13872 case AArch64::PRFB_PRI:
13873 case AArch64::PRFD_PRI:
13874 case AArch64::PRFH_PRI:
13875 case AArch64::PRFW_PRI: {
13876 // op: Rn
13877 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13878 Value |= (op & 0x1f) << 5;
13879 // op: Pg
13880 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13881 Value |= (op & 0x7) << 10;
13882 // op: imm6
13883 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13884 Value |= (op & 0x3f) << 16;
13885 // op: prfop
13886 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13887 Value |= (op & 0xf);
13888 break;
13889 }
13890 case AArch64::LDG:
13891 case AArch64::ST2GPostIndex:
13892 case AArch64::ST2GPreIndex:
13893 case AArch64::STGPostIndex:
13894 case AArch64::STGPreIndex:
13895 case AArch64::STZ2GPostIndex:
13896 case AArch64::STZ2GPreIndex:
13897 case AArch64::STZGPostIndex:
13898 case AArch64::STZGPreIndex: {
13899 // op: Rn
13900 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13901 Value |= (op & 0x1f) << 5;
13902 // op: Rt
13903 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13904 Value |= (op & 0x1f);
13905 // op: offset
13906 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13907 Value |= (op & 0x1ff) << 12;
13908 break;
13909 }
13910 case AArch64::MOVA_MXI2Z_H_H:
13911 case AArch64::MOVA_MXI2Z_V_H: {
13912 // op: Rs
13913 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13914 Value |= (op & 0x3) << 13;
13915 // op: Zn
13916 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13917 Value |= (op & 0xf) << 6;
13918 // op: ZAd
13919 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13920 Value |= (op & 0x1) << 2;
13921 // op: imm
13922 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13923 Value |= (op & 0x3);
13924 break;
13925 }
13926 case AArch64::MOVA_MXI2Z_H_S:
13927 case AArch64::MOVA_MXI2Z_V_S: {
13928 // op: Rs
13929 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13930 Value |= (op & 0x3) << 13;
13931 // op: Zn
13932 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13933 Value |= (op & 0xf) << 6;
13934 // op: ZAd
13935 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13936 Value |= (op & 0x3) << 1;
13937 // op: imm
13938 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13939 Value |= (op & 0x1);
13940 break;
13941 }
13942 case AArch64::MOVA_MXI2Z_H_D:
13943 case AArch64::MOVA_MXI2Z_V_D: {
13944 // op: Rs
13945 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13946 Value |= (op & 0x3) << 13;
13947 // op: Zn
13948 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13949 Value |= (op & 0xf) << 6;
13950 // op: ZAd
13951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13952 Value |= (op & 0x7);
13953 break;
13954 }
13955 case AArch64::MOVA_MXI2Z_H_B:
13956 case AArch64::MOVA_MXI2Z_V_B: {
13957 // op: Rs
13958 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13959 Value |= (op & 0x3) << 13;
13960 // op: Zn
13961 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13962 Value |= (op & 0xf) << 6;
13963 // op: imm
13964 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13965 Value |= (op & 0x7);
13966 break;
13967 }
13968 case AArch64::MOVA_MXI4Z_H_H:
13969 case AArch64::MOVA_MXI4Z_V_H: {
13970 // op: Rs
13971 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13972 Value |= (op & 0x3) << 13;
13973 // op: Zn
13974 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
13975 Value |= (op & 0x7) << 7;
13976 // op: ZAd
13977 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13978 Value |= (op & 0x1) << 1;
13979 // op: imm
13980 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13981 Value |= (op & 0x1);
13982 break;
13983 }
13984 case AArch64::MOVA_MXI4Z_H_S:
13985 case AArch64::MOVA_MXI4Z_V_S: {
13986 // op: Rs
13987 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13988 Value |= (op & 0x3) << 13;
13989 // op: Zn
13990 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
13991 Value |= (op & 0x7) << 7;
13992 // op: ZAd
13993 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13994 Value |= (op & 0x3);
13995 break;
13996 }
13997 case AArch64::MOVA_MXI4Z_H_D:
13998 case AArch64::MOVA_MXI4Z_V_D: {
13999 // op: Rs
14000 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
14001 Value |= (op & 0x3) << 13;
14002 // op: Zn
14003 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14004 Value |= (op & 0x7) << 7;
14005 // op: ZAd
14006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14007 Value |= (op & 0x7);
14008 break;
14009 }
14010 case AArch64::MOVA_MXI4Z_H_B:
14011 case AArch64::MOVA_MXI4Z_V_B: {
14012 // op: Rs
14013 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
14014 Value |= (op & 0x3) << 13;
14015 // op: Zn
14016 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14017 Value |= (op & 0x7) << 7;
14018 // op: imm
14019 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14020 Value |= (op & 0x3);
14021 break;
14022 }
14023 case AArch64::MOVAZ_ZMI_H_H:
14024 case AArch64::MOVAZ_ZMI_V_H: {
14025 // op: Rs
14026 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14027 Value |= (op & 0x3) << 13;
14028 // op: Zd
14029 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14030 Value |= (op & 0x1f);
14031 // op: ZAn
14032 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14033 Value |= (op & 0x1) << 8;
14034 // op: imm
14035 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14036 Value |= (op & 0x7) << 5;
14037 break;
14038 }
14039 case AArch64::MOVAZ_ZMI_H_S:
14040 case AArch64::MOVAZ_ZMI_V_S: {
14041 // op: Rs
14042 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14043 Value |= (op & 0x3) << 13;
14044 // op: Zd
14045 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14046 Value |= (op & 0x1f);
14047 // op: ZAn
14048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14049 Value |= (op & 0x3) << 7;
14050 // op: imm
14051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14052 Value |= (op & 0x3) << 5;
14053 break;
14054 }
14055 case AArch64::MOVAZ_ZMI_H_D:
14056 case AArch64::MOVAZ_ZMI_V_D: {
14057 // op: Rs
14058 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14059 Value |= (op & 0x3) << 13;
14060 // op: Zd
14061 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14062 Value |= (op & 0x1f);
14063 // op: ZAn
14064 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14065 Value |= (op & 0x7) << 6;
14066 // op: imm
14067 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14068 Value |= (op & 0x1) << 5;
14069 break;
14070 }
14071 case AArch64::MOVAZ_ZMI_H_Q:
14072 case AArch64::MOVAZ_ZMI_V_Q: {
14073 // op: Rs
14074 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14075 Value |= (op & 0x3) << 13;
14076 // op: Zd
14077 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14078 Value |= (op & 0x1f);
14079 // op: ZAn
14080 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14081 Value |= (op & 0xf) << 5;
14082 break;
14083 }
14084 case AArch64::MOVAZ_ZMI_H_B:
14085 case AArch64::MOVAZ_ZMI_V_B: {
14086 // op: Rs
14087 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14088 Value |= (op & 0x3) << 13;
14089 // op: Zd
14090 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14091 Value |= (op & 0x1f);
14092 // op: imm
14093 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14094 Value |= (op & 0xf) << 5;
14095 break;
14096 }
14097 case AArch64::MOVA_VG2_2ZMXI: {
14098 // op: Rs
14099 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14100 Value |= (op & 0x3) << 13;
14101 // op: imm
14102 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14103 Value |= (op & 0x7) << 5;
14104 // op: Zd
14105 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
14106 Value |= (op & 0xf) << 1;
14107 break;
14108 }
14109 case AArch64::MOVA_VG4_4ZMXI: {
14110 // op: Rs
14111 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14112 Value |= (op & 0x3) << 13;
14113 // op: imm
14114 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14115 Value |= (op & 0x7) << 5;
14116 // op: Zd
14117 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
14118 Value |= (op & 0x7) << 2;
14119 break;
14120 }
14121 case AArch64::MOVA_VG2_MXI2Z: {
14122 // op: Rs
14123 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14124 Value |= (op & 0x3) << 13;
14125 // op: imm
14126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14127 Value |= (op & 0x7);
14128 // op: Zn
14129 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
14130 Value |= (op & 0xf) << 6;
14131 break;
14132 }
14133 case AArch64::MOVA_VG4_MXI4Z: {
14134 // op: Rs
14135 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14136 Value |= (op & 0x3) << 13;
14137 // op: imm
14138 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14139 Value |= (op & 0x7);
14140 // op: Zn
14141 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14142 Value |= (op & 0x7) << 7;
14143 break;
14144 }
14145 case AArch64::MOVAZ_VG2_2ZMXI: {
14146 // op: Rs
14147 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 3, Fixups, STI);
14148 Value |= (op & 0x3) << 13;
14149 // op: imm
14150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14151 Value |= (op & 0x7) << 5;
14152 // op: Zd
14153 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
14154 Value |= (op & 0xf) << 1;
14155 break;
14156 }
14157 case AArch64::MOVAZ_VG4_4ZMXI: {
14158 // op: Rs
14159 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 3, Fixups, STI);
14160 Value |= (op & 0x3) << 13;
14161 // op: imm
14162 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14163 Value |= (op & 0x7) << 5;
14164 // op: Zd
14165 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
14166 Value |= (op & 0x7) << 2;
14167 break;
14168 }
14169 case AArch64::STBFADD:
14170 case AArch64::STBFADDL:
14171 case AArch64::STBFMAX:
14172 case AArch64::STBFMAXL:
14173 case AArch64::STBFMAXNM:
14174 case AArch64::STBFMAXNML:
14175 case AArch64::STBFMIN:
14176 case AArch64::STBFMINL:
14177 case AArch64::STBFMINNM:
14178 case AArch64::STBFMINNML:
14179 case AArch64::STFADDD:
14180 case AArch64::STFADDH:
14181 case AArch64::STFADDLD:
14182 case AArch64::STFADDLH:
14183 case AArch64::STFADDLS:
14184 case AArch64::STFADDS:
14185 case AArch64::STFMAXD:
14186 case AArch64::STFMAXH:
14187 case AArch64::STFMAXLD:
14188 case AArch64::STFMAXLH:
14189 case AArch64::STFMAXLS:
14190 case AArch64::STFMAXNMD:
14191 case AArch64::STFMAXNMH:
14192 case AArch64::STFMAXNMLD:
14193 case AArch64::STFMAXNMLH:
14194 case AArch64::STFMAXNMLS:
14195 case AArch64::STFMAXNMS:
14196 case AArch64::STFMAXS:
14197 case AArch64::STFMIND:
14198 case AArch64::STFMINH:
14199 case AArch64::STFMINLD:
14200 case AArch64::STFMINLH:
14201 case AArch64::STFMINLS:
14202 case AArch64::STFMINNMD:
14203 case AArch64::STFMINNMH:
14204 case AArch64::STFMINNMLD:
14205 case AArch64::STFMINNMLH:
14206 case AArch64::STFMINNMLS:
14207 case AArch64::STFMINNMS:
14208 case AArch64::STFMINS: {
14209 // op: Rs
14210 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14211 Value |= (op & 0x1f) << 16;
14212 // op: Rn
14213 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14214 Value |= (op & 0x1f) << 5;
14215 break;
14216 }
14217 case AArch64::LDADDAB:
14218 case AArch64::LDADDAH:
14219 case AArch64::LDADDALB:
14220 case AArch64::LDADDALH:
14221 case AArch64::LDADDALW:
14222 case AArch64::LDADDALX:
14223 case AArch64::LDADDAW:
14224 case AArch64::LDADDAX:
14225 case AArch64::LDADDB:
14226 case AArch64::LDADDH:
14227 case AArch64::LDADDLB:
14228 case AArch64::LDADDLH:
14229 case AArch64::LDADDLW:
14230 case AArch64::LDADDLX:
14231 case AArch64::LDADDW:
14232 case AArch64::LDADDX:
14233 case AArch64::LDCLRAB:
14234 case AArch64::LDCLRAH:
14235 case AArch64::LDCLRALB:
14236 case AArch64::LDCLRALH:
14237 case AArch64::LDCLRALW:
14238 case AArch64::LDCLRALX:
14239 case AArch64::LDCLRAW:
14240 case AArch64::LDCLRAX:
14241 case AArch64::LDCLRB:
14242 case AArch64::LDCLRH:
14243 case AArch64::LDCLRLB:
14244 case AArch64::LDCLRLH:
14245 case AArch64::LDCLRLW:
14246 case AArch64::LDCLRLX:
14247 case AArch64::LDCLRW:
14248 case AArch64::LDCLRX:
14249 case AArch64::LDEORAB:
14250 case AArch64::LDEORAH:
14251 case AArch64::LDEORALB:
14252 case AArch64::LDEORALH:
14253 case AArch64::LDEORALW:
14254 case AArch64::LDEORALX:
14255 case AArch64::LDEORAW:
14256 case AArch64::LDEORAX:
14257 case AArch64::LDEORB:
14258 case AArch64::LDEORH:
14259 case AArch64::LDEORLB:
14260 case AArch64::LDEORLH:
14261 case AArch64::LDEORLW:
14262 case AArch64::LDEORLX:
14263 case AArch64::LDEORW:
14264 case AArch64::LDEORX:
14265 case AArch64::LDSETAB:
14266 case AArch64::LDSETAH:
14267 case AArch64::LDSETALB:
14268 case AArch64::LDSETALH:
14269 case AArch64::LDSETALW:
14270 case AArch64::LDSETALX:
14271 case AArch64::LDSETAW:
14272 case AArch64::LDSETAX:
14273 case AArch64::LDSETB:
14274 case AArch64::LDSETH:
14275 case AArch64::LDSETLB:
14276 case AArch64::LDSETLH:
14277 case AArch64::LDSETLW:
14278 case AArch64::LDSETLX:
14279 case AArch64::LDSETW:
14280 case AArch64::LDSETX:
14281 case AArch64::LDSMAXAB:
14282 case AArch64::LDSMAXAH:
14283 case AArch64::LDSMAXALB:
14284 case AArch64::LDSMAXALH:
14285 case AArch64::LDSMAXALW:
14286 case AArch64::LDSMAXALX:
14287 case AArch64::LDSMAXAW:
14288 case AArch64::LDSMAXAX:
14289 case AArch64::LDSMAXB:
14290 case AArch64::LDSMAXH:
14291 case AArch64::LDSMAXLB:
14292 case AArch64::LDSMAXLH:
14293 case AArch64::LDSMAXLW:
14294 case AArch64::LDSMAXLX:
14295 case AArch64::LDSMAXW:
14296 case AArch64::LDSMAXX:
14297 case AArch64::LDSMINAB:
14298 case AArch64::LDSMINAH:
14299 case AArch64::LDSMINALB:
14300 case AArch64::LDSMINALH:
14301 case AArch64::LDSMINALW:
14302 case AArch64::LDSMINALX:
14303 case AArch64::LDSMINAW:
14304 case AArch64::LDSMINAX:
14305 case AArch64::LDSMINB:
14306 case AArch64::LDSMINH:
14307 case AArch64::LDSMINLB:
14308 case AArch64::LDSMINLH:
14309 case AArch64::LDSMINLW:
14310 case AArch64::LDSMINLX:
14311 case AArch64::LDSMINW:
14312 case AArch64::LDSMINX:
14313 case AArch64::LDTADDALW:
14314 case AArch64::LDTADDALX:
14315 case AArch64::LDTADDAW:
14316 case AArch64::LDTADDAX:
14317 case AArch64::LDTADDLW:
14318 case AArch64::LDTADDLX:
14319 case AArch64::LDTADDW:
14320 case AArch64::LDTADDX:
14321 case AArch64::LDTCLRALW:
14322 case AArch64::LDTCLRALX:
14323 case AArch64::LDTCLRAW:
14324 case AArch64::LDTCLRAX:
14325 case AArch64::LDTCLRLW:
14326 case AArch64::LDTCLRLX:
14327 case AArch64::LDTCLRW:
14328 case AArch64::LDTCLRX:
14329 case AArch64::LDTSETALW:
14330 case AArch64::LDTSETALX:
14331 case AArch64::LDTSETAW:
14332 case AArch64::LDTSETAX:
14333 case AArch64::LDTSETLW:
14334 case AArch64::LDTSETLX:
14335 case AArch64::LDTSETW:
14336 case AArch64::LDTSETX:
14337 case AArch64::LDUMAXAB:
14338 case AArch64::LDUMAXAH:
14339 case AArch64::LDUMAXALB:
14340 case AArch64::LDUMAXALH:
14341 case AArch64::LDUMAXALW:
14342 case AArch64::LDUMAXALX:
14343 case AArch64::LDUMAXAW:
14344 case AArch64::LDUMAXAX:
14345 case AArch64::LDUMAXB:
14346 case AArch64::LDUMAXH:
14347 case AArch64::LDUMAXLB:
14348 case AArch64::LDUMAXLH:
14349 case AArch64::LDUMAXLW:
14350 case AArch64::LDUMAXLX:
14351 case AArch64::LDUMAXW:
14352 case AArch64::LDUMAXX:
14353 case AArch64::LDUMINAB:
14354 case AArch64::LDUMINAH:
14355 case AArch64::LDUMINALB:
14356 case AArch64::LDUMINALH:
14357 case AArch64::LDUMINALW:
14358 case AArch64::LDUMINALX:
14359 case AArch64::LDUMINAW:
14360 case AArch64::LDUMINAX:
14361 case AArch64::LDUMINB:
14362 case AArch64::LDUMINH:
14363 case AArch64::LDUMINLB:
14364 case AArch64::LDUMINLH:
14365 case AArch64::LDUMINLW:
14366 case AArch64::LDUMINLX:
14367 case AArch64::LDUMINW:
14368 case AArch64::LDUMINX:
14369 case AArch64::RCWCLR:
14370 case AArch64::RCWCLRA:
14371 case AArch64::RCWCLRAL:
14372 case AArch64::RCWCLRL:
14373 case AArch64::RCWCLRS:
14374 case AArch64::RCWCLRSA:
14375 case AArch64::RCWCLRSAL:
14376 case AArch64::RCWCLRSL:
14377 case AArch64::RCWSET:
14378 case AArch64::RCWSETA:
14379 case AArch64::RCWSETAL:
14380 case AArch64::RCWSETL:
14381 case AArch64::RCWSETS:
14382 case AArch64::RCWSETSA:
14383 case AArch64::RCWSETSAL:
14384 case AArch64::RCWSETSL:
14385 case AArch64::RCWSWP:
14386 case AArch64::RCWSWPA:
14387 case AArch64::RCWSWPAL:
14388 case AArch64::RCWSWPL:
14389 case AArch64::RCWSWPS:
14390 case AArch64::RCWSWPSA:
14391 case AArch64::RCWSWPSAL:
14392 case AArch64::RCWSWPSL:
14393 case AArch64::SWPAB:
14394 case AArch64::SWPAH:
14395 case AArch64::SWPALB:
14396 case AArch64::SWPALH:
14397 case AArch64::SWPALW:
14398 case AArch64::SWPALX:
14399 case AArch64::SWPAW:
14400 case AArch64::SWPAX:
14401 case AArch64::SWPB:
14402 case AArch64::SWPH:
14403 case AArch64::SWPLB:
14404 case AArch64::SWPLH:
14405 case AArch64::SWPLW:
14406 case AArch64::SWPLX:
14407 case AArch64::SWPTALW:
14408 case AArch64::SWPTALX:
14409 case AArch64::SWPTAW:
14410 case AArch64::SWPTAX:
14411 case AArch64::SWPTLW:
14412 case AArch64::SWPTLX:
14413 case AArch64::SWPTW:
14414 case AArch64::SWPTX:
14415 case AArch64::SWPW:
14416 case AArch64::SWPX: {
14417 // op: Rs
14418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14419 Value |= (op & 0x1f) << 16;
14420 // op: Rn
14421 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14422 Value |= (op & 0x1f) << 5;
14423 // op: Rt
14424 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14425 Value |= (op & 0x1f);
14426 break;
14427 }
14428 case AArch64::CASAB:
14429 case AArch64::CASAH:
14430 case AArch64::CASALB:
14431 case AArch64::CASALH:
14432 case AArch64::CASALTX:
14433 case AArch64::CASALW:
14434 case AArch64::CASALX:
14435 case AArch64::CASATX:
14436 case AArch64::CASAW:
14437 case AArch64::CASAX:
14438 case AArch64::CASB:
14439 case AArch64::CASH:
14440 case AArch64::CASLB:
14441 case AArch64::CASLH:
14442 case AArch64::CASLTX:
14443 case AArch64::CASLW:
14444 case AArch64::CASLX:
14445 case AArch64::CASPALTX:
14446 case AArch64::CASPALW:
14447 case AArch64::CASPALX:
14448 case AArch64::CASPATX:
14449 case AArch64::CASPAW:
14450 case AArch64::CASPAX:
14451 case AArch64::CASPLTX:
14452 case AArch64::CASPLW:
14453 case AArch64::CASPLX:
14454 case AArch64::CASPTX:
14455 case AArch64::CASPW:
14456 case AArch64::CASPX:
14457 case AArch64::CASTX:
14458 case AArch64::CASW:
14459 case AArch64::CASX:
14460 case AArch64::RCWCAS:
14461 case AArch64::RCWCASA:
14462 case AArch64::RCWCASAL:
14463 case AArch64::RCWCASL:
14464 case AArch64::RCWCASP:
14465 case AArch64::RCWCASPA:
14466 case AArch64::RCWCASPAL:
14467 case AArch64::RCWCASPL:
14468 case AArch64::RCWSCAS:
14469 case AArch64::RCWSCASA:
14470 case AArch64::RCWSCASAL:
14471 case AArch64::RCWSCASL:
14472 case AArch64::RCWSCASP:
14473 case AArch64::RCWSCASPA:
14474 case AArch64::RCWSCASPAL:
14475 case AArch64::RCWSCASPL: {
14476 // op: Rs
14477 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14478 Value |= (op & 0x1f) << 16;
14479 // op: Rn
14480 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14481 Value |= (op & 0x1f) << 5;
14482 // op: Rt
14483 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14484 Value |= (op & 0x1f);
14485 break;
14486 }
14487 case AArch64::GCSPOPM:
14488 case AArch64::GCSPUSHM:
14489 case AArch64::GCSSS1:
14490 case AArch64::GCSSS2:
14491 case AArch64::WFET:
14492 case AArch64::WFIT: {
14493 // op: Rt
14494 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14495 Value |= (op & 0x1f);
14496 break;
14497 }
14498 case AArch64::GCSSTR:
14499 case AArch64::GCSSTTR:
14500 case AArch64::LD64B:
14501 case AArch64::ST64B: {
14502 // op: Rt
14503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14504 Value |= (op & 0x1f);
14505 // op: Rn
14506 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14507 Value |= (op & 0x1f) << 5;
14508 break;
14509 }
14510 case AArch64::LDRBBroW:
14511 case AArch64::LDRBBroX:
14512 case AArch64::LDRBroW:
14513 case AArch64::LDRBroX:
14514 case AArch64::LDRDroW:
14515 case AArch64::LDRDroX:
14516 case AArch64::LDRHHroW:
14517 case AArch64::LDRHHroX:
14518 case AArch64::LDRHroW:
14519 case AArch64::LDRHroX:
14520 case AArch64::LDRQroW:
14521 case AArch64::LDRQroX:
14522 case AArch64::LDRSBWroW:
14523 case AArch64::LDRSBWroX:
14524 case AArch64::LDRSBXroW:
14525 case AArch64::LDRSBXroX:
14526 case AArch64::LDRSHWroW:
14527 case AArch64::LDRSHWroX:
14528 case AArch64::LDRSHXroW:
14529 case AArch64::LDRSHXroX:
14530 case AArch64::LDRSWroW:
14531 case AArch64::LDRSWroX:
14532 case AArch64::LDRSroW:
14533 case AArch64::LDRSroX:
14534 case AArch64::LDRWroW:
14535 case AArch64::LDRWroX:
14536 case AArch64::LDRXroW:
14537 case AArch64::LDRXroX:
14538 case AArch64::PRFMroW:
14539 case AArch64::PRFMroX:
14540 case AArch64::STRBBroW:
14541 case AArch64::STRBBroX:
14542 case AArch64::STRBroW:
14543 case AArch64::STRBroX:
14544 case AArch64::STRDroW:
14545 case AArch64::STRDroX:
14546 case AArch64::STRHHroW:
14547 case AArch64::STRHHroX:
14548 case AArch64::STRHroW:
14549 case AArch64::STRHroX:
14550 case AArch64::STRQroW:
14551 case AArch64::STRQroX:
14552 case AArch64::STRSroW:
14553 case AArch64::STRSroX:
14554 case AArch64::STRWroW:
14555 case AArch64::STRWroX:
14556 case AArch64::STRXroW:
14557 case AArch64::STRXroX: {
14558 // op: Rt
14559 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14560 Value |= (op & 0x1f);
14561 // op: Rn
14562 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14563 Value |= (op & 0x1f) << 5;
14564 // op: Rm
14565 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14566 Value |= (op & 0x1f) << 16;
14567 // op: extend
14568 op = getMemExtendOpValue(MI, OpIdx: 3, Fixups, STI);
14569 Value |= (op & 0x2) << 14;
14570 Value |= (op & 0x1) << 12;
14571 break;
14572 }
14573 case AArch64::LDRQui:
14574 case AArch64::STRQui: {
14575 // op: Rt
14576 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14577 Value |= (op & 0x1f);
14578 // op: Rn
14579 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14580 Value |= (op & 0x1f) << 5;
14581 // op: offset
14582 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale16>(MI, OpIdx: 2, Fixups, STI);
14583 Value |= (op & 0xfff) << 10;
14584 break;
14585 }
14586 case AArch64::LDRBBui:
14587 case AArch64::LDRBui:
14588 case AArch64::LDRSBWui:
14589 case AArch64::LDRSBXui:
14590 case AArch64::STRBBui:
14591 case AArch64::STRBui: {
14592 // op: Rt
14593 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14594 Value |= (op & 0x1f);
14595 // op: Rn
14596 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14597 Value |= (op & 0x1f) << 5;
14598 // op: offset
14599 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale1>(MI, OpIdx: 2, Fixups, STI);
14600 Value |= (op & 0xfff) << 10;
14601 break;
14602 }
14603 case AArch64::LDRHHui:
14604 case AArch64::LDRHui:
14605 case AArch64::LDRSHWui:
14606 case AArch64::LDRSHXui:
14607 case AArch64::STRHHui:
14608 case AArch64::STRHui: {
14609 // op: Rt
14610 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14611 Value |= (op & 0x1f);
14612 // op: Rn
14613 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14614 Value |= (op & 0x1f) << 5;
14615 // op: offset
14616 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale2>(MI, OpIdx: 2, Fixups, STI);
14617 Value |= (op & 0xfff) << 10;
14618 break;
14619 }
14620 case AArch64::LDRSWui:
14621 case AArch64::LDRSui:
14622 case AArch64::LDRWui:
14623 case AArch64::STRSui:
14624 case AArch64::STRWui: {
14625 // op: Rt
14626 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14627 Value |= (op & 0x1f);
14628 // op: Rn
14629 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14630 Value |= (op & 0x1f) << 5;
14631 // op: offset
14632 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale4>(MI, OpIdx: 2, Fixups, STI);
14633 Value |= (op & 0xfff) << 10;
14634 break;
14635 }
14636 case AArch64::LDRDui:
14637 case AArch64::LDRXui:
14638 case AArch64::PRFMui:
14639 case AArch64::STRDui:
14640 case AArch64::STRXui: {
14641 // op: Rt
14642 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14643 Value |= (op & 0x1f);
14644 // op: Rn
14645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14646 Value |= (op & 0x1f) << 5;
14647 // op: offset
14648 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale8>(MI, OpIdx: 2, Fixups, STI);
14649 Value |= (op & 0xfff) << 10;
14650 break;
14651 }
14652 case AArch64::LDAPURBi:
14653 case AArch64::LDAPURHi:
14654 case AArch64::LDAPURSBWi:
14655 case AArch64::LDAPURSBXi:
14656 case AArch64::LDAPURSHWi:
14657 case AArch64::LDAPURSHXi:
14658 case AArch64::LDAPURSWi:
14659 case AArch64::LDAPURXi:
14660 case AArch64::LDAPURi:
14661 case AArch64::LDTRBi:
14662 case AArch64::LDTRHi:
14663 case AArch64::LDTRSBWi:
14664 case AArch64::LDTRSBXi:
14665 case AArch64::LDTRSHWi:
14666 case AArch64::LDTRSHXi:
14667 case AArch64::LDTRSWi:
14668 case AArch64::LDTRWi:
14669 case AArch64::LDTRXi:
14670 case AArch64::LDURBBi:
14671 case AArch64::LDURBi:
14672 case AArch64::LDURDi:
14673 case AArch64::LDURHHi:
14674 case AArch64::LDURHi:
14675 case AArch64::LDURQi:
14676 case AArch64::LDURSBWi:
14677 case AArch64::LDURSBXi:
14678 case AArch64::LDURSHWi:
14679 case AArch64::LDURSHXi:
14680 case AArch64::LDURSWi:
14681 case AArch64::LDURSi:
14682 case AArch64::LDURWi:
14683 case AArch64::LDURXi:
14684 case AArch64::PRFUMi:
14685 case AArch64::STLURBi:
14686 case AArch64::STLURHi:
14687 case AArch64::STLURWi:
14688 case AArch64::STLURXi:
14689 case AArch64::STTRBi:
14690 case AArch64::STTRHi:
14691 case AArch64::STTRWi:
14692 case AArch64::STTRXi:
14693 case AArch64::STURBBi:
14694 case AArch64::STURBi:
14695 case AArch64::STURDi:
14696 case AArch64::STURHHi:
14697 case AArch64::STURHi:
14698 case AArch64::STURQi:
14699 case AArch64::STURSi:
14700 case AArch64::STURWi:
14701 case AArch64::STURXi: {
14702 // op: Rt
14703 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14704 Value |= (op & 0x1f);
14705 // op: Rn
14706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14707 Value |= (op & 0x1f) << 5;
14708 // op: offset
14709 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14710 Value |= (op & 0x1ff) << 12;
14711 break;
14712 }
14713 case AArch64::LDAPURbi:
14714 case AArch64::LDAPURdi:
14715 case AArch64::LDAPURhi:
14716 case AArch64::LDAPURqi:
14717 case AArch64::LDAPURsi:
14718 case AArch64::STLURbi:
14719 case AArch64::STLURdi:
14720 case AArch64::STLURhi:
14721 case AArch64::STLURqi:
14722 case AArch64::STLURsi: {
14723 // op: Rt
14724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14725 Value |= (op & 0x1f);
14726 // op: Rn
14727 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14728 Value |= (op & 0x1f) << 5;
14729 // op: simm
14730 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14731 Value |= (op & 0x1ff) << 12;
14732 break;
14733 }
14734 case AArch64::LDARB:
14735 case AArch64::LDARH:
14736 case AArch64::LDARW:
14737 case AArch64::LDARX:
14738 case AArch64::LDATXRW:
14739 case AArch64::LDATXRX:
14740 case AArch64::LDAXRB:
14741 case AArch64::LDAXRH:
14742 case AArch64::LDAXRW:
14743 case AArch64::LDAXRX:
14744 case AArch64::LDLARB:
14745 case AArch64::LDLARH:
14746 case AArch64::LDLARW:
14747 case AArch64::LDLARX:
14748 case AArch64::LDTXRWr:
14749 case AArch64::LDTXRXr:
14750 case AArch64::LDXRB:
14751 case AArch64::LDXRH:
14752 case AArch64::LDXRW:
14753 case AArch64::LDXRX:
14754 case AArch64::STLLRB:
14755 case AArch64::STLLRH:
14756 case AArch64::STLLRW:
14757 case AArch64::STLLRX:
14758 case AArch64::STLRB:
14759 case AArch64::STLRH:
14760 case AArch64::STLRW:
14761 case AArch64::STLRX: {
14762 // op: Rt
14763 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14764 Value |= (op & 0x1f);
14765 // op: Rn
14766 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14767 Value |= (op & 0x1f) << 5;
14768 Value = fixLoadStoreExclusive<0,0>(MI, EncodedValue: Value, STI);
14769 break;
14770 }
14771 case AArch64::LDIAPPW:
14772 case AArch64::LDIAPPX:
14773 case AArch64::STILPW:
14774 case AArch64::STILPX: {
14775 // op: Rt
14776 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14777 Value |= (op & 0x1f);
14778 // op: Rn
14779 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14780 Value |= (op & 0x1f) << 5;
14781 // op: Rt2
14782 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14783 Value |= (op & 0x1f) << 16;
14784 break;
14785 }
14786 case AArch64::LDBFADD:
14787 case AArch64::LDBFADDA:
14788 case AArch64::LDBFADDAL:
14789 case AArch64::LDBFADDL:
14790 case AArch64::LDBFMAX:
14791 case AArch64::LDBFMAXA:
14792 case AArch64::LDBFMAXAL:
14793 case AArch64::LDBFMAXL:
14794 case AArch64::LDBFMAXNM:
14795 case AArch64::LDBFMAXNMA:
14796 case AArch64::LDBFMAXNMAL:
14797 case AArch64::LDBFMAXNML:
14798 case AArch64::LDBFMIN:
14799 case AArch64::LDBFMINA:
14800 case AArch64::LDBFMINAL:
14801 case AArch64::LDBFMINL:
14802 case AArch64::LDBFMINNM:
14803 case AArch64::LDBFMINNMA:
14804 case AArch64::LDBFMINNMAL:
14805 case AArch64::LDBFMINNML:
14806 case AArch64::LDFADDAD:
14807 case AArch64::LDFADDAH:
14808 case AArch64::LDFADDALD:
14809 case AArch64::LDFADDALH:
14810 case AArch64::LDFADDALS:
14811 case AArch64::LDFADDAS:
14812 case AArch64::LDFADDD:
14813 case AArch64::LDFADDH:
14814 case AArch64::LDFADDLD:
14815 case AArch64::LDFADDLH:
14816 case AArch64::LDFADDLS:
14817 case AArch64::LDFADDS:
14818 case AArch64::LDFMAXAD:
14819 case AArch64::LDFMAXAH:
14820 case AArch64::LDFMAXALD:
14821 case AArch64::LDFMAXALH:
14822 case AArch64::LDFMAXALS:
14823 case AArch64::LDFMAXAS:
14824 case AArch64::LDFMAXD:
14825 case AArch64::LDFMAXH:
14826 case AArch64::LDFMAXLD:
14827 case AArch64::LDFMAXLH:
14828 case AArch64::LDFMAXLS:
14829 case AArch64::LDFMAXNMAD:
14830 case AArch64::LDFMAXNMAH:
14831 case AArch64::LDFMAXNMALD:
14832 case AArch64::LDFMAXNMALH:
14833 case AArch64::LDFMAXNMALS:
14834 case AArch64::LDFMAXNMAS:
14835 case AArch64::LDFMAXNMD:
14836 case AArch64::LDFMAXNMH:
14837 case AArch64::LDFMAXNMLD:
14838 case AArch64::LDFMAXNMLH:
14839 case AArch64::LDFMAXNMLS:
14840 case AArch64::LDFMAXNMS:
14841 case AArch64::LDFMAXS:
14842 case AArch64::LDFMINAD:
14843 case AArch64::LDFMINAH:
14844 case AArch64::LDFMINALD:
14845 case AArch64::LDFMINALH:
14846 case AArch64::LDFMINALS:
14847 case AArch64::LDFMINAS:
14848 case AArch64::LDFMIND:
14849 case AArch64::LDFMINH:
14850 case AArch64::LDFMINLD:
14851 case AArch64::LDFMINLH:
14852 case AArch64::LDFMINLS:
14853 case AArch64::LDFMINNMAD:
14854 case AArch64::LDFMINNMAH:
14855 case AArch64::LDFMINNMALD:
14856 case AArch64::LDFMINNMALH:
14857 case AArch64::LDFMINNMALS:
14858 case AArch64::LDFMINNMAS:
14859 case AArch64::LDFMINNMD:
14860 case AArch64::LDFMINNMH:
14861 case AArch64::LDFMINNMLD:
14862 case AArch64::LDFMINNMLH:
14863 case AArch64::LDFMINNMLS:
14864 case AArch64::LDFMINNMS:
14865 case AArch64::LDFMINS: {
14866 // op: Rt
14867 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14868 Value |= (op & 0x1f);
14869 // op: Rs
14870 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14871 Value |= (op & 0x1f) << 16;
14872 // op: Rn
14873 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14874 Value |= (op & 0x1f) << 5;
14875 break;
14876 }
14877 case AArch64::LDNPDi:
14878 case AArch64::LDNPQi:
14879 case AArch64::LDNPSi:
14880 case AArch64::LDNPWi:
14881 case AArch64::LDNPXi:
14882 case AArch64::LDPDi:
14883 case AArch64::LDPQi:
14884 case AArch64::LDPSWi:
14885 case AArch64::LDPSi:
14886 case AArch64::LDPWi:
14887 case AArch64::LDPXi:
14888 case AArch64::LDTNPQi:
14889 case AArch64::LDTNPXi:
14890 case AArch64::LDTPQi:
14891 case AArch64::LDTPi:
14892 case AArch64::STGPi:
14893 case AArch64::STNPDi:
14894 case AArch64::STNPQi:
14895 case AArch64::STNPSi:
14896 case AArch64::STNPWi:
14897 case AArch64::STNPXi:
14898 case AArch64::STPDi:
14899 case AArch64::STPQi:
14900 case AArch64::STPSi:
14901 case AArch64::STPWi:
14902 case AArch64::STPXi:
14903 case AArch64::STTNPQi:
14904 case AArch64::STTNPXi:
14905 case AArch64::STTPQi:
14906 case AArch64::STTPi: {
14907 // op: Rt
14908 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14909 Value |= (op & 0x1f);
14910 // op: Rt2
14911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14912 Value |= (op & 0x1f) << 10;
14913 // op: Rn
14914 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14915 Value |= (op & 0x1f) << 5;
14916 // op: offset
14917 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14918 Value |= (op & 0x7f) << 15;
14919 break;
14920 }
14921 case AArch64::LDAXPW:
14922 case AArch64::LDAXPX:
14923 case AArch64::LDXPW:
14924 case AArch64::LDXPX: {
14925 // op: Rt
14926 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14927 Value |= (op & 0x1f);
14928 // op: Rt2
14929 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14930 Value |= (op & 0x1f) << 10;
14931 // op: Rn
14932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14933 Value |= (op & 0x1f) << 5;
14934 Value = fixLoadStoreExclusive<0,1>(MI, EncodedValue: Value, STI);
14935 break;
14936 }
14937 case AArch64::LDAPPi:
14938 case AArch64::LDAPi:
14939 case AArch64::STLPi: {
14940 // op: Rt
14941 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14942 Value |= (op & 0x1f);
14943 // op: Rt2
14944 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14945 Value |= (op & 0x1f) << 16;
14946 // op: Rn
14947 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14948 Value |= (op & 0x1f) << 5;
14949 break;
14950 }
14951 case AArch64::TBNZW:
14952 case AArch64::TBNZX:
14953 case AArch64::TBZW:
14954 case AArch64::TBZX: {
14955 // op: Rt
14956 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14957 Value |= (op & 0x1f);
14958 // op: bit_off
14959 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14960 Value |= (op & 0x1f) << 19;
14961 // op: target
14962 op = getTestBranchTargetOpValue(MI, OpIdx: 2, Fixups, STI);
14963 Value |= (op & 0x3fff) << 5;
14964 break;
14965 }
14966 case AArch64::CBEQWri:
14967 case AArch64::CBEQXri:
14968 case AArch64::CBGTWri:
14969 case AArch64::CBGTXri:
14970 case AArch64::CBHIWri:
14971 case AArch64::CBHIXri:
14972 case AArch64::CBLOWri:
14973 case AArch64::CBLOXri:
14974 case AArch64::CBLTWri:
14975 case AArch64::CBLTXri:
14976 case AArch64::CBNEWri:
14977 case AArch64::CBNEXri: {
14978 // op: Rt
14979 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14980 Value |= (op & 0x1f);
14981 // op: imm
14982 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14983 Value |= (op & 0x3f) << 15;
14984 // op: target
14985 op = getCondCompBranchTargetOpValue(MI, OpIdx: 2, Fixups, STI);
14986 Value |= (op & 0x1ff) << 5;
14987 break;
14988 }
14989 case AArch64::LDRDl:
14990 case AArch64::LDRQl:
14991 case AArch64::LDRSWl:
14992 case AArch64::LDRSl:
14993 case AArch64::LDRWl:
14994 case AArch64::LDRXl:
14995 case AArch64::PRFMl: {
14996 // op: Rt
14997 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14998 Value |= (op & 0x1f);
14999 // op: label
15000 op = getLoadLiteralOpValue(MI, OpIdx: 1, Fixups, STI);
15001 Value |= (op & 0x7ffff) << 5;
15002 break;
15003 }
15004 case AArch64::SYSLxt: {
15005 // op: Rt
15006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15007 Value |= (op & 0x1f);
15008 // op: op1
15009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15010 Value |= (op & 0x7) << 16;
15011 // op: Cn
15012 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15013 Value |= (op & 0xf) << 12;
15014 // op: Cm
15015 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15016 Value |= (op & 0xf) << 8;
15017 // op: op2
15018 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15019 Value |= (op & 0x7) << 5;
15020 break;
15021 }
15022 case AArch64::MRRS:
15023 case AArch64::MRS: {
15024 // op: Rt
15025 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15026 Value |= (op & 0x1f);
15027 // op: systemreg
15028 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15029 Value |= (op & 0xffff) << 5;
15030 break;
15031 }
15032 case AArch64::CBNZW:
15033 case AArch64::CBNZX:
15034 case AArch64::CBZW:
15035 case AArch64::CBZX: {
15036 // op: Rt
15037 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15038 Value |= (op & 0x1f);
15039 // op: target
15040 op = getCondBranchTargetOpValue(MI, OpIdx: 1, Fixups, STI);
15041 Value |= (op & 0x7ffff) << 5;
15042 break;
15043 }
15044 case AArch64::RPRFM: {
15045 // op: Rt
15046 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15047 Value |= (op & 0x20) << 10;
15048 Value |= (op & 0x18) << 9;
15049 Value |= (op & 0x7);
15050 // op: Rn
15051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15052 Value |= (op & 0x1f) << 5;
15053 // op: Rm
15054 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15055 Value |= (op & 0x1f) << 16;
15056 break;
15057 }
15058 case AArch64::LDAPRWpost:
15059 case AArch64::LDAPRXpost:
15060 case AArch64::STLRWpre:
15061 case AArch64::STLRXpre: {
15062 // op: Rt
15063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15064 Value |= (op & 0x1f);
15065 // op: Rn
15066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15067 Value |= (op & 0x1f) << 5;
15068 break;
15069 }
15070 case AArch64::ST64BV:
15071 case AArch64::ST64BV0: {
15072 // op: Rt
15073 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15074 Value |= (op & 0x1f);
15075 // op: Rn
15076 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15077 Value |= (op & 0x1f) << 5;
15078 // op: Rs
15079 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15080 Value |= (op & 0x1f) << 16;
15081 break;
15082 }
15083 case AArch64::STTXRWr:
15084 case AArch64::STTXRXr: {
15085 // op: Rt
15086 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15087 Value |= (op & 0x1f);
15088 // op: Rn
15089 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15090 Value |= (op & 0x1f) << 5;
15091 // op: Ws
15092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15093 Value |= (op & 0x1f) << 16;
15094 Value = fixLoadStoreExclusive<1,0>(MI, EncodedValue: Value, STI);
15095 break;
15096 }
15097 case AArch64::LDRBBpost:
15098 case AArch64::LDRBBpre:
15099 case AArch64::LDRBpost:
15100 case AArch64::LDRBpre:
15101 case AArch64::LDRDpost:
15102 case AArch64::LDRDpre:
15103 case AArch64::LDRHHpost:
15104 case AArch64::LDRHHpre:
15105 case AArch64::LDRHpost:
15106 case AArch64::LDRHpre:
15107 case AArch64::LDRQpost:
15108 case AArch64::LDRQpre:
15109 case AArch64::LDRSBWpost:
15110 case AArch64::LDRSBWpre:
15111 case AArch64::LDRSBXpost:
15112 case AArch64::LDRSBXpre:
15113 case AArch64::LDRSHWpost:
15114 case AArch64::LDRSHWpre:
15115 case AArch64::LDRSHXpost:
15116 case AArch64::LDRSHXpre:
15117 case AArch64::LDRSWpost:
15118 case AArch64::LDRSWpre:
15119 case AArch64::LDRSpost:
15120 case AArch64::LDRSpre:
15121 case AArch64::LDRWpost:
15122 case AArch64::LDRWpre:
15123 case AArch64::LDRXpost:
15124 case AArch64::LDRXpre:
15125 case AArch64::STRBBpost:
15126 case AArch64::STRBBpre:
15127 case AArch64::STRBpost:
15128 case AArch64::STRBpre:
15129 case AArch64::STRDpost:
15130 case AArch64::STRDpre:
15131 case AArch64::STRHHpost:
15132 case AArch64::STRHHpre:
15133 case AArch64::STRHpost:
15134 case AArch64::STRHpre:
15135 case AArch64::STRQpost:
15136 case AArch64::STRQpre:
15137 case AArch64::STRSpost:
15138 case AArch64::STRSpre:
15139 case AArch64::STRWpost:
15140 case AArch64::STRWpre:
15141 case AArch64::STRXpost:
15142 case AArch64::STRXpre: {
15143 // op: Rt
15144 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15145 Value |= (op & 0x1f);
15146 // op: Rn
15147 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15148 Value |= (op & 0x1f) << 5;
15149 // op: offset
15150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15151 Value |= (op & 0x1ff) << 12;
15152 break;
15153 }
15154 case AArch64::LDIAPPWpost:
15155 case AArch64::LDIAPPXpost:
15156 case AArch64::STILPWpre:
15157 case AArch64::STILPXpre: {
15158 // op: Rt
15159 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15160 Value |= (op & 0x1f);
15161 // op: Rn
15162 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15163 Value |= (op & 0x1f) << 5;
15164 // op: Rt2
15165 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15166 Value |= (op & 0x1f) << 16;
15167 break;
15168 }
15169 case AArch64::LDPDpost:
15170 case AArch64::LDPDpre:
15171 case AArch64::LDPQpost:
15172 case AArch64::LDPQpre:
15173 case AArch64::LDPSWpost:
15174 case AArch64::LDPSWpre:
15175 case AArch64::LDPSpost:
15176 case AArch64::LDPSpre:
15177 case AArch64::LDPWpost:
15178 case AArch64::LDPWpre:
15179 case AArch64::LDPXpost:
15180 case AArch64::LDPXpre:
15181 case AArch64::LDTPQpost:
15182 case AArch64::LDTPQpre:
15183 case AArch64::LDTPpost:
15184 case AArch64::LDTPpre:
15185 case AArch64::STGPpost:
15186 case AArch64::STGPpre:
15187 case AArch64::STPDpost:
15188 case AArch64::STPDpre:
15189 case AArch64::STPQpost:
15190 case AArch64::STPQpre:
15191 case AArch64::STPSpost:
15192 case AArch64::STPSpre:
15193 case AArch64::STPWpost:
15194 case AArch64::STPWpre:
15195 case AArch64::STPXpost:
15196 case AArch64::STPXpre:
15197 case AArch64::STTPQpost:
15198 case AArch64::STTPQpre:
15199 case AArch64::STTPpost:
15200 case AArch64::STTPpre: {
15201 // op: Rt
15202 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15203 Value |= (op & 0x1f);
15204 // op: Rt2
15205 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15206 Value |= (op & 0x1f) << 10;
15207 // op: Rn
15208 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15209 Value |= (op & 0x1f) << 5;
15210 // op: offset
15211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15212 Value |= (op & 0x7f) << 15;
15213 break;
15214 }
15215 case AArch64::MSR:
15216 case AArch64::MSRR: {
15217 // op: Rt
15218 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15219 Value |= (op & 0x1f);
15220 // op: systemreg
15221 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15222 Value |= (op & 0xffff) << 5;
15223 break;
15224 }
15225 case AArch64::LDCLRP:
15226 case AArch64::LDCLRPA:
15227 case AArch64::LDCLRPAL:
15228 case AArch64::LDCLRPL:
15229 case AArch64::LDSETP:
15230 case AArch64::LDSETPA:
15231 case AArch64::LDSETPAL:
15232 case AArch64::LDSETPL:
15233 case AArch64::SWPP:
15234 case AArch64::SWPPA:
15235 case AArch64::SWPPAL:
15236 case AArch64::SWPPL: {
15237 // op: Rt
15238 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15239 Value |= (op & 0x1f);
15240 // op: Rt2
15241 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15242 Value |= (op & 0x1f) << 16;
15243 // op: Rn
15244 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15245 Value |= (op & 0x1f) << 5;
15246 break;
15247 }
15248 case AArch64::SYSPxt:
15249 case AArch64::SYSxt: {
15250 // op: Rt
15251 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15252 Value |= (op & 0x1f);
15253 // op: op1
15254 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15255 Value |= (op & 0x7) << 16;
15256 // op: Cn
15257 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15258 Value |= (op & 0xf) << 12;
15259 // op: Cm
15260 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15261 Value |= (op & 0xf) << 8;
15262 // op: op2
15263 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15264 Value |= (op & 0x7) << 5;
15265 break;
15266 }
15267 case AArch64::RCWCLRP:
15268 case AArch64::RCWCLRPA:
15269 case AArch64::RCWCLRPAL:
15270 case AArch64::RCWCLRPL:
15271 case AArch64::RCWCLRSP:
15272 case AArch64::RCWCLRSPA:
15273 case AArch64::RCWCLRSPAL:
15274 case AArch64::RCWCLRSPL:
15275 case AArch64::RCWSETP:
15276 case AArch64::RCWSETPA:
15277 case AArch64::RCWSETPAL:
15278 case AArch64::RCWSETPL:
15279 case AArch64::RCWSETSP:
15280 case AArch64::RCWSETSPA:
15281 case AArch64::RCWSETSPAL:
15282 case AArch64::RCWSETSPL:
15283 case AArch64::RCWSWPP:
15284 case AArch64::RCWSWPPA:
15285 case AArch64::RCWSWPPAL:
15286 case AArch64::RCWSWPPL:
15287 case AArch64::RCWSWPSP:
15288 case AArch64::RCWSWPSPA:
15289 case AArch64::RCWSWPSPAL:
15290 case AArch64::RCWSWPSPL: {
15291 // op: Rt2
15292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15293 Value |= (op & 0x1f) << 16;
15294 // op: Rn
15295 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15296 Value |= (op & 0x1f) << 5;
15297 // op: Rt
15298 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15299 Value |= (op & 0x1f);
15300 break;
15301 }
15302 case AArch64::LDR_ZA:
15303 case AArch64::STR_ZA: {
15304 // op: Rv
15305 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
15306 Value |= (op & 0x3) << 13;
15307 // op: Rn
15308 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15309 Value |= (op & 0x1f) << 5;
15310 // op: imm4
15311 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15312 Value |= (op & 0xf);
15313 break;
15314 }
15315 case AArch64::INSERT_MXIPZ_H_H:
15316 case AArch64::INSERT_MXIPZ_V_H: {
15317 // op: Rv
15318 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15319 Value |= (op & 0x3) << 13;
15320 // op: Pg
15321 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15322 Value |= (op & 0x7) << 10;
15323 // op: Zn
15324 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15325 Value |= (op & 0x1f) << 5;
15326 // op: ZAd
15327 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15328 Value |= (op & 0x1) << 3;
15329 // op: imm
15330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15331 Value |= (op & 0x7);
15332 break;
15333 }
15334 case AArch64::INSERT_MXIPZ_H_S:
15335 case AArch64::INSERT_MXIPZ_V_S: {
15336 // op: Rv
15337 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15338 Value |= (op & 0x3) << 13;
15339 // op: Pg
15340 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15341 Value |= (op & 0x7) << 10;
15342 // op: Zn
15343 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15344 Value |= (op & 0x1f) << 5;
15345 // op: ZAd
15346 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15347 Value |= (op & 0x3) << 2;
15348 // op: imm
15349 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15350 Value |= (op & 0x3);
15351 break;
15352 }
15353 case AArch64::INSERT_MXIPZ_H_D:
15354 case AArch64::INSERT_MXIPZ_V_D: {
15355 // op: Rv
15356 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15357 Value |= (op & 0x3) << 13;
15358 // op: Pg
15359 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15360 Value |= (op & 0x7) << 10;
15361 // op: Zn
15362 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15363 Value |= (op & 0x1f) << 5;
15364 // op: ZAd
15365 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15366 Value |= (op & 0x7) << 1;
15367 // op: imm
15368 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15369 Value |= (op & 0x1);
15370 break;
15371 }
15372 case AArch64::INSERT_MXIPZ_H_Q:
15373 case AArch64::INSERT_MXIPZ_V_Q: {
15374 // op: Rv
15375 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15376 Value |= (op & 0x3) << 13;
15377 // op: Pg
15378 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15379 Value |= (op & 0x7) << 10;
15380 // op: Zn
15381 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15382 Value |= (op & 0x1f) << 5;
15383 // op: ZAd
15384 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15385 Value |= (op & 0xf);
15386 break;
15387 }
15388 case AArch64::INSERT_MXIPZ_H_B:
15389 case AArch64::INSERT_MXIPZ_V_B: {
15390 // op: Rv
15391 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15392 Value |= (op & 0x3) << 13;
15393 // op: Pg
15394 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15395 Value |= (op & 0x7) << 10;
15396 // op: Zn
15397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15398 Value |= (op & 0x1f) << 5;
15399 // op: imm
15400 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15401 Value |= (op & 0xf);
15402 break;
15403 }
15404 case AArch64::PSEL_PPPRI_D: {
15405 // op: Rv
15406 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15407 Value |= (op & 0x3) << 16;
15408 // op: Pn
15409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15410 Value |= (op & 0xf) << 10;
15411 // op: Pm
15412 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15413 Value |= (op & 0xf) << 5;
15414 // op: Pd
15415 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15416 Value |= (op & 0xf);
15417 // op: imm
15418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15419 Value |= (op & 0x1) << 23;
15420 break;
15421 }
15422 case AArch64::PSEL_PPPRI_S: {
15423 // op: Rv
15424 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15425 Value |= (op & 0x3) << 16;
15426 // op: Pn
15427 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15428 Value |= (op & 0xf) << 10;
15429 // op: Pm
15430 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15431 Value |= (op & 0xf) << 5;
15432 // op: Pd
15433 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15434 Value |= (op & 0xf);
15435 // op: imm
15436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15437 Value |= (op & 0x3) << 22;
15438 break;
15439 }
15440 case AArch64::PSEL_PPPRI_H: {
15441 // op: Rv
15442 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15443 Value |= (op & 0x3) << 16;
15444 // op: Pn
15445 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15446 Value |= (op & 0xf) << 10;
15447 // op: Pm
15448 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15449 Value |= (op & 0xf) << 5;
15450 // op: Pd
15451 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15452 Value |= (op & 0xf);
15453 // op: imm
15454 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15455 Value |= (op & 0x6) << 21;
15456 Value |= (op & 0x1) << 20;
15457 break;
15458 }
15459 case AArch64::PSEL_PPPRI_B: {
15460 // op: Rv
15461 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15462 Value |= (op & 0x3) << 16;
15463 // op: Pn
15464 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15465 Value |= (op & 0xf) << 10;
15466 // op: Pm
15467 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15468 Value |= (op & 0xf) << 5;
15469 // op: Pd
15470 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15471 Value |= (op & 0xf);
15472 // op: imm
15473 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15474 Value |= (op & 0xc) << 20;
15475 Value |= (op & 0x3) << 19;
15476 break;
15477 }
15478 case AArch64::EXTRACT_ZPMXI_H_H:
15479 case AArch64::EXTRACT_ZPMXI_V_H: {
15480 // op: Rv
15481 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15482 Value |= (op & 0x3) << 13;
15483 // op: Pg
15484 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15485 Value |= (op & 0x7) << 10;
15486 // op: Zd
15487 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15488 Value |= (op & 0x1f);
15489 // op: ZAn
15490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15491 Value |= (op & 0x1) << 8;
15492 // op: imm
15493 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15494 Value |= (op & 0x7) << 5;
15495 break;
15496 }
15497 case AArch64::EXTRACT_ZPMXI_H_S:
15498 case AArch64::EXTRACT_ZPMXI_V_S: {
15499 // op: Rv
15500 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15501 Value |= (op & 0x3) << 13;
15502 // op: Pg
15503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15504 Value |= (op & 0x7) << 10;
15505 // op: Zd
15506 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15507 Value |= (op & 0x1f);
15508 // op: ZAn
15509 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15510 Value |= (op & 0x3) << 7;
15511 // op: imm
15512 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15513 Value |= (op & 0x3) << 5;
15514 break;
15515 }
15516 case AArch64::EXTRACT_ZPMXI_H_D:
15517 case AArch64::EXTRACT_ZPMXI_V_D: {
15518 // op: Rv
15519 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15520 Value |= (op & 0x3) << 13;
15521 // op: Pg
15522 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15523 Value |= (op & 0x7) << 10;
15524 // op: Zd
15525 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15526 Value |= (op & 0x1f);
15527 // op: ZAn
15528 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15529 Value |= (op & 0x7) << 6;
15530 // op: imm
15531 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15532 Value |= (op & 0x1) << 5;
15533 break;
15534 }
15535 case AArch64::EXTRACT_ZPMXI_H_Q:
15536 case AArch64::EXTRACT_ZPMXI_V_Q: {
15537 // op: Rv
15538 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15539 Value |= (op & 0x3) << 13;
15540 // op: Pg
15541 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15542 Value |= (op & 0x7) << 10;
15543 // op: Zd
15544 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15545 Value |= (op & 0x1f);
15546 // op: ZAn
15547 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15548 Value |= (op & 0xf) << 5;
15549 break;
15550 }
15551 case AArch64::EXTRACT_ZPMXI_H_B:
15552 case AArch64::EXTRACT_ZPMXI_V_B: {
15553 // op: Rv
15554 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15555 Value |= (op & 0x3) << 13;
15556 // op: Pg
15557 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15558 Value |= (op & 0x7) << 10;
15559 // op: Zd
15560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15561 Value |= (op & 0x1f);
15562 // op: imm
15563 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15564 Value |= (op & 0xf) << 5;
15565 break;
15566 }
15567 case AArch64::BFMLAL_VG2_M2Z2Z_HtoS:
15568 case AArch64::BFMLSL_VG2_M2Z2Z_HtoS:
15569 case AArch64::FMLAL_VG2_M2Z2Z_BtoH:
15570 case AArch64::FMLAL_VG2_M2Z2Z_HtoS:
15571 case AArch64::FMLSL_VG2_M2Z2Z_HtoS:
15572 case AArch64::SMLAL_VG2_M2Z2Z_HtoS:
15573 case AArch64::SMLSL_VG2_M2Z2Z_HtoS:
15574 case AArch64::UMLAL_VG2_M2Z2Z_HtoS:
15575 case AArch64::UMLSL_VG2_M2Z2Z_HtoS: {
15576 // op: Rv
15577 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15578 Value |= (op & 0x3) << 13;
15579 // op: Zm
15580 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 5, Fixups, STI);
15581 Value |= (op & 0xf) << 17;
15582 // op: Zn
15583 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
15584 Value |= (op & 0xf) << 6;
15585 // op: imm
15586 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15587 Value |= (op & 0x3);
15588 break;
15589 }
15590 case AArch64::BFMLAL_VG4_M4Z4Z_HtoS:
15591 case AArch64::BFMLSL_VG4_M4Z4Z_HtoS:
15592 case AArch64::FMLAL_VG4_M4Z4Z_BtoH:
15593 case AArch64::FMLAL_VG4_M4Z4Z_HtoS:
15594 case AArch64::FMLSL_VG4_M4Z4Z_HtoS:
15595 case AArch64::SMLAL_VG4_M4Z4Z_HtoS:
15596 case AArch64::SMLSL_VG4_M4Z4Z_HtoS:
15597 case AArch64::UMLAL_VG4_M4Z4Z_HtoS:
15598 case AArch64::UMLSL_VG4_M4Z4Z_HtoS: {
15599 // op: Rv
15600 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15601 Value |= (op & 0x3) << 13;
15602 // op: Zm
15603 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 5, Fixups, STI);
15604 Value |= (op & 0x7) << 18;
15605 // op: Zn
15606 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
15607 Value |= (op & 0x7) << 7;
15608 // op: imm
15609 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15610 Value |= (op & 0x3);
15611 break;
15612 }
15613 case AArch64::BFMLAL_VG2_M2ZZ_HtoS:
15614 case AArch64::BFMLAL_VG4_M4ZZ_HtoS:
15615 case AArch64::BFMLSL_VG2_M2ZZ_HtoS:
15616 case AArch64::BFMLSL_VG4_M4ZZ_HtoS:
15617 case AArch64::FMLAL_VG2_M2ZZ_BtoH:
15618 case AArch64::FMLAL_VG2_M2ZZ_HtoS:
15619 case AArch64::FMLAL_VG4_M4ZZ_BtoH:
15620 case AArch64::FMLAL_VG4_M4ZZ_HtoS:
15621 case AArch64::FMLSL_VG2_M2ZZ_HtoS:
15622 case AArch64::FMLSL_VG4_M4ZZ_HtoS:
15623 case AArch64::SMLAL_VG2_M2ZZ_HtoS:
15624 case AArch64::SMLAL_VG4_M4ZZ_HtoS:
15625 case AArch64::SMLSL_VG2_M2ZZ_HtoS:
15626 case AArch64::SMLSL_VG4_M4ZZ_HtoS:
15627 case AArch64::UMLAL_VG2_M2ZZ_HtoS:
15628 case AArch64::UMLAL_VG4_M4ZZ_HtoS:
15629 case AArch64::UMLSL_VG2_M2ZZ_HtoS:
15630 case AArch64::UMLSL_VG4_M4ZZ_HtoS: {
15631 // op: Rv
15632 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15633 Value |= (op & 0x3) << 13;
15634 // op: Zm
15635 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15636 Value |= (op & 0xf) << 16;
15637 // op: Zn
15638 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15639 Value |= (op & 0x1f) << 5;
15640 // op: imm
15641 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15642 Value |= (op & 0x3);
15643 break;
15644 }
15645 case AArch64::BFMLAL_MZZ_HtoS:
15646 case AArch64::BFMLSL_MZZ_HtoS:
15647 case AArch64::FMLAL_MZZ_HtoS:
15648 case AArch64::FMLAL_VG2_MZZ_BtoH:
15649 case AArch64::FMLSL_MZZ_HtoS:
15650 case AArch64::SMLAL_MZZ_HtoS:
15651 case AArch64::SMLSL_MZZ_HtoS:
15652 case AArch64::UMLAL_MZZ_HtoS:
15653 case AArch64::UMLSL_MZZ_HtoS: {
15654 // op: Rv
15655 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15656 Value |= (op & 0x3) << 13;
15657 // op: Zm
15658 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15659 Value |= (op & 0xf) << 16;
15660 // op: Zn
15661 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15662 Value |= (op & 0x1f) << 5;
15663 // op: imm
15664 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15665 Value |= (op & 0x7);
15666 break;
15667 }
15668 case AArch64::ZERO_MXI_VG2_4Z:
15669 case AArch64::ZERO_MXI_VG4_4Z: {
15670 // op: Rv
15671 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15672 Value |= (op & 0x3) << 13;
15673 // op: imm
15674 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15675 Value |= (op & 0x1);
15676 break;
15677 }
15678 case AArch64::ZERO_MXI_4Z:
15679 case AArch64::ZERO_MXI_VG2_2Z:
15680 case AArch64::ZERO_MXI_VG4_2Z: {
15681 // op: Rv
15682 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15683 Value |= (op & 0x3) << 13;
15684 // op: imm
15685 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15686 Value |= (op & 0x3);
15687 break;
15688 }
15689 case AArch64::ZERO_MXI_2Z:
15690 case AArch64::ZERO_MXI_VG2_Z:
15691 case AArch64::ZERO_MXI_VG4_Z: {
15692 // op: Rv
15693 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15694 Value |= (op & 0x3) << 13;
15695 // op: imm
15696 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15697 Value |= (op & 0x7);
15698 break;
15699 }
15700 case AArch64::ADD_VG2_M2Z_D:
15701 case AArch64::ADD_VG2_M2Z_S:
15702 case AArch64::BFADD_VG2_M2Z_H:
15703 case AArch64::BFSUB_VG2_M2Z_H:
15704 case AArch64::FADD_VG2_M2Z_D:
15705 case AArch64::FADD_VG2_M2Z_H:
15706 case AArch64::FADD_VG2_M2Z_S:
15707 case AArch64::FSUB_VG2_M2Z_D:
15708 case AArch64::FSUB_VG2_M2Z_H:
15709 case AArch64::FSUB_VG2_M2Z_S:
15710 case AArch64::SUB_VG2_M2Z_D:
15711 case AArch64::SUB_VG2_M2Z_S: {
15712 // op: Rv
15713 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15714 Value |= (op & 0x3) << 13;
15715 // op: imm3
15716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15717 Value |= (op & 0x7);
15718 // op: Zm
15719 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
15720 Value |= (op & 0xf) << 6;
15721 break;
15722 }
15723 case AArch64::ADD_VG4_M4Z_D:
15724 case AArch64::ADD_VG4_M4Z_S:
15725 case AArch64::BFADD_VG4_M4Z_H:
15726 case AArch64::BFSUB_VG4_M4Z_H:
15727 case AArch64::FADD_VG4_M4Z_D:
15728 case AArch64::FADD_VG4_M4Z_H:
15729 case AArch64::FADD_VG4_M4Z_S:
15730 case AArch64::FSUB_VG4_M4Z_D:
15731 case AArch64::FSUB_VG4_M4Z_H:
15732 case AArch64::FSUB_VG4_M4Z_S:
15733 case AArch64::SUB_VG4_M4Z_D:
15734 case AArch64::SUB_VG4_M4Z_S: {
15735 // op: Rv
15736 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15737 Value |= (op & 0x3) << 13;
15738 // op: imm3
15739 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15740 Value |= (op & 0x7);
15741 // op: Zm
15742 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
15743 Value |= (op & 0x7) << 7;
15744 break;
15745 }
15746 case AArch64::RAX1:
15747 case AArch64::SM4ENCKEY:
15748 case AArch64::TBLv16i8Four:
15749 case AArch64::TBLv16i8One:
15750 case AArch64::TBLv16i8Three:
15751 case AArch64::TBLv16i8Two:
15752 case AArch64::TBLv8i8Four:
15753 case AArch64::TBLv8i8One:
15754 case AArch64::TBLv8i8Three:
15755 case AArch64::TBLv8i8Two: {
15756 // op: Vd
15757 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15758 Value |= (op & 0x1f);
15759 // op: Vn
15760 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15761 Value |= (op & 0x1f) << 5;
15762 // op: Vm
15763 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15764 Value |= (op & 0x1f) << 16;
15765 break;
15766 }
15767 case AArch64::BCAX:
15768 case AArch64::EOR3:
15769 case AArch64::SM3SS1: {
15770 // op: Vd
15771 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15772 Value |= (op & 0x1f);
15773 // op: Vn
15774 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15775 Value |= (op & 0x1f) << 5;
15776 // op: Vm
15777 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15778 Value |= (op & 0x1f) << 16;
15779 // op: Va
15780 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15781 Value |= (op & 0x1f) << 10;
15782 break;
15783 }
15784 case AArch64::XAR: {
15785 // op: Vd
15786 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15787 Value |= (op & 0x1f);
15788 // op: Vn
15789 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15790 Value |= (op & 0x1f) << 5;
15791 // op: imm
15792 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15793 Value |= (op & 0x3f) << 10;
15794 // op: Vm
15795 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15796 Value |= (op & 0x1f) << 16;
15797 break;
15798 }
15799 case AArch64::ADDQV_VPZ_B:
15800 case AArch64::ADDQV_VPZ_D:
15801 case AArch64::ADDQV_VPZ_H:
15802 case AArch64::ADDQV_VPZ_S:
15803 case AArch64::ANDQV_VPZ_B:
15804 case AArch64::ANDQV_VPZ_D:
15805 case AArch64::ANDQV_VPZ_H:
15806 case AArch64::ANDQV_VPZ_S:
15807 case AArch64::EORQV_VPZ_B:
15808 case AArch64::EORQV_VPZ_D:
15809 case AArch64::EORQV_VPZ_H:
15810 case AArch64::EORQV_VPZ_S:
15811 case AArch64::FADDQV_D:
15812 case AArch64::FADDQV_H:
15813 case AArch64::FADDQV_S:
15814 case AArch64::FMAXNMQV_D:
15815 case AArch64::FMAXNMQV_H:
15816 case AArch64::FMAXNMQV_S:
15817 case AArch64::FMAXQV_D:
15818 case AArch64::FMAXQV_H:
15819 case AArch64::FMAXQV_S:
15820 case AArch64::FMINNMQV_D:
15821 case AArch64::FMINNMQV_H:
15822 case AArch64::FMINNMQV_S:
15823 case AArch64::FMINQV_D:
15824 case AArch64::FMINQV_H:
15825 case AArch64::FMINQV_S:
15826 case AArch64::ORQV_VPZ_B:
15827 case AArch64::ORQV_VPZ_D:
15828 case AArch64::ORQV_VPZ_H:
15829 case AArch64::ORQV_VPZ_S:
15830 case AArch64::SMAXQV_VPZ_B:
15831 case AArch64::SMAXQV_VPZ_D:
15832 case AArch64::SMAXQV_VPZ_H:
15833 case AArch64::SMAXQV_VPZ_S:
15834 case AArch64::SMINQV_VPZ_B:
15835 case AArch64::SMINQV_VPZ_D:
15836 case AArch64::SMINQV_VPZ_H:
15837 case AArch64::SMINQV_VPZ_S:
15838 case AArch64::UMAXQV_VPZ_B:
15839 case AArch64::UMAXQV_VPZ_D:
15840 case AArch64::UMAXQV_VPZ_H:
15841 case AArch64::UMAXQV_VPZ_S:
15842 case AArch64::UMINQV_VPZ_B:
15843 case AArch64::UMINQV_VPZ_D:
15844 case AArch64::UMINQV_VPZ_H:
15845 case AArch64::UMINQV_VPZ_S: {
15846 // op: Vd
15847 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15848 Value |= (op & 0x1f);
15849 // op: Zn
15850 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15851 Value |= (op & 0x1f) << 5;
15852 // op: Pg
15853 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15854 Value |= (op & 0x7) << 10;
15855 break;
15856 }
15857 case AArch64::SHA512SU0:
15858 case AArch64::SM4E: {
15859 // op: Vd
15860 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15861 Value |= (op & 0x1f);
15862 // op: Vn
15863 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15864 Value |= (op & 0x1f) << 5;
15865 break;
15866 }
15867 case AArch64::SHA512H:
15868 case AArch64::SHA512H2:
15869 case AArch64::SHA512SU1:
15870 case AArch64::SM3PARTW1:
15871 case AArch64::SM3PARTW2:
15872 case AArch64::TBXv16i8Four:
15873 case AArch64::TBXv16i8One:
15874 case AArch64::TBXv16i8Three:
15875 case AArch64::TBXv16i8Two:
15876 case AArch64::TBXv8i8Four:
15877 case AArch64::TBXv8i8One:
15878 case AArch64::TBXv8i8Three:
15879 case AArch64::TBXv8i8Two: {
15880 // op: Vd
15881 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15882 Value |= (op & 0x1f);
15883 // op: Vn
15884 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15885 Value |= (op & 0x1f) << 5;
15886 // op: Vm
15887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15888 Value |= (op & 0x1f) << 16;
15889 break;
15890 }
15891 case AArch64::SM3TT1A:
15892 case AArch64::SM3TT1B:
15893 case AArch64::SM3TT2A:
15894 case AArch64::SM3TT2B: {
15895 // op: Vd
15896 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15897 Value |= (op & 0x1f);
15898 // op: Vn
15899 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15900 Value |= (op & 0x1f) << 5;
15901 // op: imm
15902 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15903 Value |= (op & 0x3) << 12;
15904 // op: Vm
15905 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15906 Value |= (op & 0x1f) << 16;
15907 break;
15908 }
15909 case AArch64::INSR_ZV_B:
15910 case AArch64::INSR_ZV_D:
15911 case AArch64::INSR_ZV_H:
15912 case AArch64::INSR_ZV_S: {
15913 // op: Vm
15914 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15915 Value |= (op & 0x1f) << 5;
15916 // op: Zdn
15917 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15918 Value |= (op & 0x1f);
15919 break;
15920 }
15921 case AArch64::LD1Fourv16b:
15922 case AArch64::LD1Fourv1d:
15923 case AArch64::LD1Fourv2d:
15924 case AArch64::LD1Fourv2s:
15925 case AArch64::LD1Fourv4h:
15926 case AArch64::LD1Fourv4s:
15927 case AArch64::LD1Fourv8b:
15928 case AArch64::LD1Fourv8h:
15929 case AArch64::LD1Onev16b:
15930 case AArch64::LD1Onev1d:
15931 case AArch64::LD1Onev2d:
15932 case AArch64::LD1Onev2s:
15933 case AArch64::LD1Onev4h:
15934 case AArch64::LD1Onev4s:
15935 case AArch64::LD1Onev8b:
15936 case AArch64::LD1Onev8h:
15937 case AArch64::LD1Rv16b:
15938 case AArch64::LD1Rv1d:
15939 case AArch64::LD1Rv2d:
15940 case AArch64::LD1Rv2s:
15941 case AArch64::LD1Rv4h:
15942 case AArch64::LD1Rv4s:
15943 case AArch64::LD1Rv8b:
15944 case AArch64::LD1Rv8h:
15945 case AArch64::LD1Threev16b:
15946 case AArch64::LD1Threev1d:
15947 case AArch64::LD1Threev2d:
15948 case AArch64::LD1Threev2s:
15949 case AArch64::LD1Threev4h:
15950 case AArch64::LD1Threev4s:
15951 case AArch64::LD1Threev8b:
15952 case AArch64::LD1Threev8h:
15953 case AArch64::LD1Twov16b:
15954 case AArch64::LD1Twov1d:
15955 case AArch64::LD1Twov2d:
15956 case AArch64::LD1Twov2s:
15957 case AArch64::LD1Twov4h:
15958 case AArch64::LD1Twov4s:
15959 case AArch64::LD1Twov8b:
15960 case AArch64::LD1Twov8h:
15961 case AArch64::LD2Rv16b:
15962 case AArch64::LD2Rv1d:
15963 case AArch64::LD2Rv2d:
15964 case AArch64::LD2Rv2s:
15965 case AArch64::LD2Rv4h:
15966 case AArch64::LD2Rv4s:
15967 case AArch64::LD2Rv8b:
15968 case AArch64::LD2Rv8h:
15969 case AArch64::LD2Twov16b:
15970 case AArch64::LD2Twov2d:
15971 case AArch64::LD2Twov2s:
15972 case AArch64::LD2Twov4h:
15973 case AArch64::LD2Twov4s:
15974 case AArch64::LD2Twov8b:
15975 case AArch64::LD2Twov8h:
15976 case AArch64::LD3Rv16b:
15977 case AArch64::LD3Rv1d:
15978 case AArch64::LD3Rv2d:
15979 case AArch64::LD3Rv2s:
15980 case AArch64::LD3Rv4h:
15981 case AArch64::LD3Rv4s:
15982 case AArch64::LD3Rv8b:
15983 case AArch64::LD3Rv8h:
15984 case AArch64::LD3Threev16b:
15985 case AArch64::LD3Threev2d:
15986 case AArch64::LD3Threev2s:
15987 case AArch64::LD3Threev4h:
15988 case AArch64::LD3Threev4s:
15989 case AArch64::LD3Threev8b:
15990 case AArch64::LD3Threev8h:
15991 case AArch64::LD4Fourv16b:
15992 case AArch64::LD4Fourv2d:
15993 case AArch64::LD4Fourv2s:
15994 case AArch64::LD4Fourv4h:
15995 case AArch64::LD4Fourv4s:
15996 case AArch64::LD4Fourv8b:
15997 case AArch64::LD4Fourv8h:
15998 case AArch64::LD4Rv16b:
15999 case AArch64::LD4Rv1d:
16000 case AArch64::LD4Rv2d:
16001 case AArch64::LD4Rv2s:
16002 case AArch64::LD4Rv4h:
16003 case AArch64::LD4Rv4s:
16004 case AArch64::LD4Rv8b:
16005 case AArch64::LD4Rv8h:
16006 case AArch64::ST1Fourv16b:
16007 case AArch64::ST1Fourv1d:
16008 case AArch64::ST1Fourv2d:
16009 case AArch64::ST1Fourv2s:
16010 case AArch64::ST1Fourv4h:
16011 case AArch64::ST1Fourv4s:
16012 case AArch64::ST1Fourv8b:
16013 case AArch64::ST1Fourv8h:
16014 case AArch64::ST1Onev16b:
16015 case AArch64::ST1Onev1d:
16016 case AArch64::ST1Onev2d:
16017 case AArch64::ST1Onev2s:
16018 case AArch64::ST1Onev4h:
16019 case AArch64::ST1Onev4s:
16020 case AArch64::ST1Onev8b:
16021 case AArch64::ST1Onev8h:
16022 case AArch64::ST1Threev16b:
16023 case AArch64::ST1Threev1d:
16024 case AArch64::ST1Threev2d:
16025 case AArch64::ST1Threev2s:
16026 case AArch64::ST1Threev4h:
16027 case AArch64::ST1Threev4s:
16028 case AArch64::ST1Threev8b:
16029 case AArch64::ST1Threev8h:
16030 case AArch64::ST1Twov16b:
16031 case AArch64::ST1Twov1d:
16032 case AArch64::ST1Twov2d:
16033 case AArch64::ST1Twov2s:
16034 case AArch64::ST1Twov4h:
16035 case AArch64::ST1Twov4s:
16036 case AArch64::ST1Twov8b:
16037 case AArch64::ST1Twov8h:
16038 case AArch64::ST2Twov16b:
16039 case AArch64::ST2Twov2d:
16040 case AArch64::ST2Twov2s:
16041 case AArch64::ST2Twov4h:
16042 case AArch64::ST2Twov4s:
16043 case AArch64::ST2Twov8b:
16044 case AArch64::ST2Twov8h:
16045 case AArch64::ST3Threev16b:
16046 case AArch64::ST3Threev2d:
16047 case AArch64::ST3Threev2s:
16048 case AArch64::ST3Threev4h:
16049 case AArch64::ST3Threev4s:
16050 case AArch64::ST3Threev8b:
16051 case AArch64::ST3Threev8h:
16052 case AArch64::ST4Fourv16b:
16053 case AArch64::ST4Fourv2d:
16054 case AArch64::ST4Fourv2s:
16055 case AArch64::ST4Fourv4h:
16056 case AArch64::ST4Fourv4s:
16057 case AArch64::ST4Fourv8b:
16058 case AArch64::ST4Fourv8h: {
16059 // op: Vt
16060 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16061 Value |= (op & 0x1f);
16062 // op: Rn
16063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16064 Value |= (op & 0x1f) << 5;
16065 break;
16066 }
16067 case AArch64::STL1: {
16068 // op: Vt
16069 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16070 Value |= (op & 0x1f);
16071 // op: Rn
16072 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16073 Value |= (op & 0x1f) << 5;
16074 // op: Q
16075 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16076 Value |= (op & 0x1) << 30;
16077 break;
16078 }
16079 case AArch64::ST1i64:
16080 case AArch64::ST2i64:
16081 case AArch64::ST3i64:
16082 case AArch64::ST4i64: {
16083 // op: Vt
16084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16085 Value |= (op & 0x1f);
16086 // op: Rn
16087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16088 Value |= (op & 0x1f) << 5;
16089 // op: idx
16090 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16091 Value |= (op & 0x1) << 30;
16092 break;
16093 }
16094 case AArch64::ST1i32:
16095 case AArch64::ST2i32:
16096 case AArch64::ST3i32:
16097 case AArch64::ST4i32: {
16098 // op: Vt
16099 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16100 Value |= (op & 0x1f);
16101 // op: Rn
16102 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16103 Value |= (op & 0x1f) << 5;
16104 // op: idx
16105 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16106 Value |= (op & 0x2) << 29;
16107 Value |= (op & 0x1) << 12;
16108 break;
16109 }
16110 case AArch64::ST1i16:
16111 case AArch64::ST2i16:
16112 case AArch64::ST3i16:
16113 case AArch64::ST4i16: {
16114 // op: Vt
16115 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16116 Value |= (op & 0x1f);
16117 // op: Rn
16118 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16119 Value |= (op & 0x1f) << 5;
16120 // op: idx
16121 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16122 Value |= (op & 0x4) << 28;
16123 Value |= (op & 0x3) << 11;
16124 break;
16125 }
16126 case AArch64::ST1i8:
16127 case AArch64::ST2i8:
16128 case AArch64::ST3i8:
16129 case AArch64::ST4i8: {
16130 // op: Vt
16131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16132 Value |= (op & 0x1f);
16133 // op: Rn
16134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16135 Value |= (op & 0x1f) << 5;
16136 // op: idx
16137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16138 Value |= (op & 0x8) << 27;
16139 Value |= (op & 0x7) << 10;
16140 break;
16141 }
16142 case AArch64::LD1Fourv16b_POST:
16143 case AArch64::LD1Fourv1d_POST:
16144 case AArch64::LD1Fourv2d_POST:
16145 case AArch64::LD1Fourv2s_POST:
16146 case AArch64::LD1Fourv4h_POST:
16147 case AArch64::LD1Fourv4s_POST:
16148 case AArch64::LD1Fourv8b_POST:
16149 case AArch64::LD1Fourv8h_POST:
16150 case AArch64::LD1Onev16b_POST:
16151 case AArch64::LD1Onev1d_POST:
16152 case AArch64::LD1Onev2d_POST:
16153 case AArch64::LD1Onev2s_POST:
16154 case AArch64::LD1Onev4h_POST:
16155 case AArch64::LD1Onev4s_POST:
16156 case AArch64::LD1Onev8b_POST:
16157 case AArch64::LD1Onev8h_POST:
16158 case AArch64::LD1Rv16b_POST:
16159 case AArch64::LD1Rv1d_POST:
16160 case AArch64::LD1Rv2d_POST:
16161 case AArch64::LD1Rv2s_POST:
16162 case AArch64::LD1Rv4h_POST:
16163 case AArch64::LD1Rv4s_POST:
16164 case AArch64::LD1Rv8b_POST:
16165 case AArch64::LD1Rv8h_POST:
16166 case AArch64::LD1Threev16b_POST:
16167 case AArch64::LD1Threev1d_POST:
16168 case AArch64::LD1Threev2d_POST:
16169 case AArch64::LD1Threev2s_POST:
16170 case AArch64::LD1Threev4h_POST:
16171 case AArch64::LD1Threev4s_POST:
16172 case AArch64::LD1Threev8b_POST:
16173 case AArch64::LD1Threev8h_POST:
16174 case AArch64::LD1Twov16b_POST:
16175 case AArch64::LD1Twov1d_POST:
16176 case AArch64::LD1Twov2d_POST:
16177 case AArch64::LD1Twov2s_POST:
16178 case AArch64::LD1Twov4h_POST:
16179 case AArch64::LD1Twov4s_POST:
16180 case AArch64::LD1Twov8b_POST:
16181 case AArch64::LD1Twov8h_POST:
16182 case AArch64::LD2Rv16b_POST:
16183 case AArch64::LD2Rv1d_POST:
16184 case AArch64::LD2Rv2d_POST:
16185 case AArch64::LD2Rv2s_POST:
16186 case AArch64::LD2Rv4h_POST:
16187 case AArch64::LD2Rv4s_POST:
16188 case AArch64::LD2Rv8b_POST:
16189 case AArch64::LD2Rv8h_POST:
16190 case AArch64::LD2Twov16b_POST:
16191 case AArch64::LD2Twov2d_POST:
16192 case AArch64::LD2Twov2s_POST:
16193 case AArch64::LD2Twov4h_POST:
16194 case AArch64::LD2Twov4s_POST:
16195 case AArch64::LD2Twov8b_POST:
16196 case AArch64::LD2Twov8h_POST:
16197 case AArch64::LD3Rv16b_POST:
16198 case AArch64::LD3Rv1d_POST:
16199 case AArch64::LD3Rv2d_POST:
16200 case AArch64::LD3Rv2s_POST:
16201 case AArch64::LD3Rv4h_POST:
16202 case AArch64::LD3Rv4s_POST:
16203 case AArch64::LD3Rv8b_POST:
16204 case AArch64::LD3Rv8h_POST:
16205 case AArch64::LD3Threev16b_POST:
16206 case AArch64::LD3Threev2d_POST:
16207 case AArch64::LD3Threev2s_POST:
16208 case AArch64::LD3Threev4h_POST:
16209 case AArch64::LD3Threev4s_POST:
16210 case AArch64::LD3Threev8b_POST:
16211 case AArch64::LD3Threev8h_POST:
16212 case AArch64::LD4Fourv16b_POST:
16213 case AArch64::LD4Fourv2d_POST:
16214 case AArch64::LD4Fourv2s_POST:
16215 case AArch64::LD4Fourv4h_POST:
16216 case AArch64::LD4Fourv4s_POST:
16217 case AArch64::LD4Fourv8b_POST:
16218 case AArch64::LD4Fourv8h_POST:
16219 case AArch64::LD4Rv16b_POST:
16220 case AArch64::LD4Rv1d_POST:
16221 case AArch64::LD4Rv2d_POST:
16222 case AArch64::LD4Rv2s_POST:
16223 case AArch64::LD4Rv4h_POST:
16224 case AArch64::LD4Rv4s_POST:
16225 case AArch64::LD4Rv8b_POST:
16226 case AArch64::LD4Rv8h_POST:
16227 case AArch64::ST1Fourv16b_POST:
16228 case AArch64::ST1Fourv1d_POST:
16229 case AArch64::ST1Fourv2d_POST:
16230 case AArch64::ST1Fourv2s_POST:
16231 case AArch64::ST1Fourv4h_POST:
16232 case AArch64::ST1Fourv4s_POST:
16233 case AArch64::ST1Fourv8b_POST:
16234 case AArch64::ST1Fourv8h_POST:
16235 case AArch64::ST1Onev16b_POST:
16236 case AArch64::ST1Onev1d_POST:
16237 case AArch64::ST1Onev2d_POST:
16238 case AArch64::ST1Onev2s_POST:
16239 case AArch64::ST1Onev4h_POST:
16240 case AArch64::ST1Onev4s_POST:
16241 case AArch64::ST1Onev8b_POST:
16242 case AArch64::ST1Onev8h_POST:
16243 case AArch64::ST1Threev16b_POST:
16244 case AArch64::ST1Threev1d_POST:
16245 case AArch64::ST1Threev2d_POST:
16246 case AArch64::ST1Threev2s_POST:
16247 case AArch64::ST1Threev4h_POST:
16248 case AArch64::ST1Threev4s_POST:
16249 case AArch64::ST1Threev8b_POST:
16250 case AArch64::ST1Threev8h_POST:
16251 case AArch64::ST1Twov16b_POST:
16252 case AArch64::ST1Twov1d_POST:
16253 case AArch64::ST1Twov2d_POST:
16254 case AArch64::ST1Twov2s_POST:
16255 case AArch64::ST1Twov4h_POST:
16256 case AArch64::ST1Twov4s_POST:
16257 case AArch64::ST1Twov8b_POST:
16258 case AArch64::ST1Twov8h_POST:
16259 case AArch64::ST2Twov16b_POST:
16260 case AArch64::ST2Twov2d_POST:
16261 case AArch64::ST2Twov2s_POST:
16262 case AArch64::ST2Twov4h_POST:
16263 case AArch64::ST2Twov4s_POST:
16264 case AArch64::ST2Twov8b_POST:
16265 case AArch64::ST2Twov8h_POST:
16266 case AArch64::ST3Threev16b_POST:
16267 case AArch64::ST3Threev2d_POST:
16268 case AArch64::ST3Threev2s_POST:
16269 case AArch64::ST3Threev4h_POST:
16270 case AArch64::ST3Threev4s_POST:
16271 case AArch64::ST3Threev8b_POST:
16272 case AArch64::ST3Threev8h_POST:
16273 case AArch64::ST4Fourv16b_POST:
16274 case AArch64::ST4Fourv2d_POST:
16275 case AArch64::ST4Fourv2s_POST:
16276 case AArch64::ST4Fourv4h_POST:
16277 case AArch64::ST4Fourv4s_POST:
16278 case AArch64::ST4Fourv8b_POST:
16279 case AArch64::ST4Fourv8h_POST: {
16280 // op: Vt
16281 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16282 Value |= (op & 0x1f);
16283 // op: Rn
16284 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16285 Value |= (op & 0x1f) << 5;
16286 // op: Xm
16287 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16288 Value |= (op & 0x1f) << 16;
16289 break;
16290 }
16291 case AArch64::LDAP1: {
16292 // op: Vt
16293 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16294 Value |= (op & 0x1f);
16295 // op: Rn
16296 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16297 Value |= (op & 0x1f) << 5;
16298 // op: Q
16299 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16300 Value |= (op & 0x1) << 30;
16301 break;
16302 }
16303 case AArch64::LD1i64:
16304 case AArch64::LD2i64:
16305 case AArch64::LD3i64:
16306 case AArch64::LD4i64: {
16307 // op: Vt
16308 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16309 Value |= (op & 0x1f);
16310 // op: Rn
16311 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16312 Value |= (op & 0x1f) << 5;
16313 // op: idx
16314 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16315 Value |= (op & 0x1) << 30;
16316 break;
16317 }
16318 case AArch64::ST1i64_POST:
16319 case AArch64::ST2i64_POST:
16320 case AArch64::ST3i64_POST:
16321 case AArch64::ST4i64_POST: {
16322 // op: Vt
16323 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16324 Value |= (op & 0x1f);
16325 // op: Rn
16326 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16327 Value |= (op & 0x1f) << 5;
16328 // op: idx
16329 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16330 Value |= (op & 0x1) << 30;
16331 // op: Xm
16332 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16333 Value |= (op & 0x1f) << 16;
16334 break;
16335 }
16336 case AArch64::LD1i32:
16337 case AArch64::LD2i32:
16338 case AArch64::LD3i32:
16339 case AArch64::LD4i32: {
16340 // op: Vt
16341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16342 Value |= (op & 0x1f);
16343 // op: Rn
16344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16345 Value |= (op & 0x1f) << 5;
16346 // op: idx
16347 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16348 Value |= (op & 0x2) << 29;
16349 Value |= (op & 0x1) << 12;
16350 break;
16351 }
16352 case AArch64::ST1i32_POST:
16353 case AArch64::ST2i32_POST:
16354 case AArch64::ST3i32_POST:
16355 case AArch64::ST4i32_POST: {
16356 // op: Vt
16357 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16358 Value |= (op & 0x1f);
16359 // op: Rn
16360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16361 Value |= (op & 0x1f) << 5;
16362 // op: idx
16363 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16364 Value |= (op & 0x2) << 29;
16365 Value |= (op & 0x1) << 12;
16366 // op: Xm
16367 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16368 Value |= (op & 0x1f) << 16;
16369 break;
16370 }
16371 case AArch64::LD1i16:
16372 case AArch64::LD2i16:
16373 case AArch64::LD3i16:
16374 case AArch64::LD4i16: {
16375 // op: Vt
16376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16377 Value |= (op & 0x1f);
16378 // op: Rn
16379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16380 Value |= (op & 0x1f) << 5;
16381 // op: idx
16382 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16383 Value |= (op & 0x4) << 28;
16384 Value |= (op & 0x3) << 11;
16385 break;
16386 }
16387 case AArch64::ST1i16_POST:
16388 case AArch64::ST2i16_POST:
16389 case AArch64::ST3i16_POST:
16390 case AArch64::ST4i16_POST: {
16391 // op: Vt
16392 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16393 Value |= (op & 0x1f);
16394 // op: Rn
16395 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16396 Value |= (op & 0x1f) << 5;
16397 // op: idx
16398 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16399 Value |= (op & 0x4) << 28;
16400 Value |= (op & 0x3) << 11;
16401 // op: Xm
16402 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16403 Value |= (op & 0x1f) << 16;
16404 break;
16405 }
16406 case AArch64::LD1i8:
16407 case AArch64::LD2i8:
16408 case AArch64::LD3i8:
16409 case AArch64::LD4i8: {
16410 // op: Vt
16411 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16412 Value |= (op & 0x1f);
16413 // op: Rn
16414 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16415 Value |= (op & 0x1f) << 5;
16416 // op: idx
16417 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16418 Value |= (op & 0x8) << 27;
16419 Value |= (op & 0x7) << 10;
16420 break;
16421 }
16422 case AArch64::ST1i8_POST:
16423 case AArch64::ST2i8_POST:
16424 case AArch64::ST3i8_POST:
16425 case AArch64::ST4i8_POST: {
16426 // op: Vt
16427 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16428 Value |= (op & 0x1f);
16429 // op: Rn
16430 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16431 Value |= (op & 0x1f) << 5;
16432 // op: idx
16433 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16434 Value |= (op & 0x8) << 27;
16435 Value |= (op & 0x7) << 10;
16436 // op: Xm
16437 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16438 Value |= (op & 0x1f) << 16;
16439 break;
16440 }
16441 case AArch64::LD1i64_POST:
16442 case AArch64::LD2i64_POST:
16443 case AArch64::LD3i64_POST:
16444 case AArch64::LD4i64_POST: {
16445 // op: Vt
16446 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16447 Value |= (op & 0x1f);
16448 // op: Rn
16449 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16450 Value |= (op & 0x1f) << 5;
16451 // op: idx
16452 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16453 Value |= (op & 0x1) << 30;
16454 // op: Xm
16455 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16456 Value |= (op & 0x1f) << 16;
16457 break;
16458 }
16459 case AArch64::LD1i32_POST:
16460 case AArch64::LD2i32_POST:
16461 case AArch64::LD3i32_POST:
16462 case AArch64::LD4i32_POST: {
16463 // op: Vt
16464 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16465 Value |= (op & 0x1f);
16466 // op: Rn
16467 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16468 Value |= (op & 0x1f) << 5;
16469 // op: idx
16470 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16471 Value |= (op & 0x2) << 29;
16472 Value |= (op & 0x1) << 12;
16473 // op: Xm
16474 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16475 Value |= (op & 0x1f) << 16;
16476 break;
16477 }
16478 case AArch64::LD1i16_POST:
16479 case AArch64::LD2i16_POST:
16480 case AArch64::LD3i16_POST:
16481 case AArch64::LD4i16_POST: {
16482 // op: Vt
16483 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16484 Value |= (op & 0x1f);
16485 // op: Rn
16486 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16487 Value |= (op & 0x1f) << 5;
16488 // op: idx
16489 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16490 Value |= (op & 0x4) << 28;
16491 Value |= (op & 0x3) << 11;
16492 // op: Xm
16493 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16494 Value |= (op & 0x1f) << 16;
16495 break;
16496 }
16497 case AArch64::LD1i8_POST:
16498 case AArch64::LD2i8_POST:
16499 case AArch64::LD3i8_POST:
16500 case AArch64::LD4i8_POST: {
16501 // op: Vt
16502 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16503 Value |= (op & 0x1f);
16504 // op: Rn
16505 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16506 Value |= (op & 0x1f) << 5;
16507 // op: idx
16508 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16509 Value |= (op & 0x8) << 27;
16510 Value |= (op & 0x7) << 10;
16511 // op: Xm
16512 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16513 Value |= (op & 0x1f) << 16;
16514 break;
16515 }
16516 case AArch64::STLTXRW:
16517 case AArch64::STLTXRX:
16518 case AArch64::STLXRB:
16519 case AArch64::STLXRH:
16520 case AArch64::STLXRW:
16521 case AArch64::STLXRX:
16522 case AArch64::STXRB:
16523 case AArch64::STXRH:
16524 case AArch64::STXRW:
16525 case AArch64::STXRX: {
16526 // op: Ws
16527 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16528 Value |= (op & 0x1f) << 16;
16529 // op: Rt
16530 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16531 Value |= (op & 0x1f);
16532 // op: Rn
16533 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16534 Value |= (op & 0x1f) << 5;
16535 Value = fixLoadStoreExclusive<1,0>(MI, EncodedValue: Value, STI);
16536 break;
16537 }
16538 case AArch64::STLXPW:
16539 case AArch64::STLXPX:
16540 case AArch64::STXPW:
16541 case AArch64::STXPX: {
16542 // op: Ws
16543 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16544 Value |= (op & 0x1f) << 16;
16545 // op: Rt
16546 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16547 Value |= (op & 0x1f);
16548 // op: Rt2
16549 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16550 Value |= (op & 0x1f) << 10;
16551 // op: Rn
16552 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16553 Value |= (op & 0x1f) << 5;
16554 break;
16555 }
16556 case AArch64::TCHANGEBrr:
16557 case AArch64::TCHANGEFrr: {
16558 // op: Xd
16559 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16560 Value |= (op & 0x1f);
16561 // op: Xn
16562 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16563 Value |= (op & 0x1f) << 5;
16564 // op: nb
16565 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16566 Value |= (op & 0x1) << 17;
16567 break;
16568 }
16569 case AArch64::TCHANGEBri:
16570 case AArch64::TCHANGEFri: {
16571 // op: Xd
16572 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16573 Value |= (op & 0x1f);
16574 // op: imm
16575 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16576 Value |= (op & 0x7f) << 5;
16577 // op: nb
16578 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16579 Value |= (op & 0x1) << 17;
16580 break;
16581 }
16582 case AArch64::ADR:
16583 case AArch64::ADRP: {
16584 // op: Xd
16585 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16586 Value |= (op & 0x1f);
16587 // op: label
16588 op = getAdrLabelOpValue(MI, OpIdx: 1, Fixups, STI);
16589 Value |= (op & 0x3) << 29;
16590 Value |= (op & 0x1ffffc) << 3;
16591 break;
16592 }
16593 case AArch64::BFMOP4A_M2Z2Z_H:
16594 case AArch64::BFMOP4S_M2Z2Z_H:
16595 case AArch64::FMOP4A_M2Z2Z_BtoH:
16596 case AArch64::FMOP4A_M2Z2Z_H:
16597 case AArch64::FMOP4S_M2Z2Z_H: {
16598 // op: ZAda
16599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16600 Value |= (op & 0x1);
16601 // op: Zn
16602 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16603 Value |= (op & 0x7) << 6;
16604 // op: Zm
16605 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16606 Value |= (op & 0x7) << 17;
16607 break;
16608 }
16609 case AArch64::BFMOP4A_M2ZZ_H:
16610 case AArch64::BFMOP4S_M2ZZ_H:
16611 case AArch64::FMOP4A_M2ZZ_BtoH:
16612 case AArch64::FMOP4A_M2ZZ_H:
16613 case AArch64::FMOP4S_M2ZZ_H: {
16614 // op: ZAda
16615 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16616 Value |= (op & 0x1);
16617 // op: Zn
16618 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16619 Value |= (op & 0x7) << 6;
16620 // op: Zm
16621 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16622 Value |= (op & 0x7) << 17;
16623 break;
16624 }
16625 case AArch64::BFTMOPA_M2ZZZI_HtoH:
16626 case AArch64::FTMOPA_M2ZZZI_BtoH:
16627 case AArch64::FTMOPA_M2ZZZI_HtoH: {
16628 // op: ZAda
16629 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16630 Value |= (op & 0x1);
16631 // op: Zn
16632 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
16633 Value |= (op & 0xf) << 6;
16634 // op: Zm
16635 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16636 Value |= (op & 0x1f) << 16;
16637 // op: Zk
16638 op = EncodeZK(MI, OpIdx: 4, Fixups, STI);
16639 Value |= (op & 0x7) << 10;
16640 // op: imm
16641 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16642 Value |= (op & 0x3) << 4;
16643 break;
16644 }
16645 case AArch64::BFMOP4A_MZ2Z_H:
16646 case AArch64::BFMOP4S_MZ2Z_H:
16647 case AArch64::FMOP4A_MZ2Z_BtoH:
16648 case AArch64::FMOP4A_MZ2Z_H:
16649 case AArch64::FMOP4S_MZ2Z_H: {
16650 // op: ZAda
16651 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16652 Value |= (op & 0x1);
16653 // op: Zn
16654 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16655 Value |= (op & 0x7) << 6;
16656 // op: Zm
16657 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16658 Value |= (op & 0x7) << 17;
16659 break;
16660 }
16661 case AArch64::BFMOP4A_MZZ_H:
16662 case AArch64::BFMOP4S_MZZ_H:
16663 case AArch64::FMOP4A_MZZ_BtoH:
16664 case AArch64::FMOP4A_MZZ_H:
16665 case AArch64::FMOP4S_MZZ_H: {
16666 // op: ZAda
16667 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16668 Value |= (op & 0x1);
16669 // op: Zn
16670 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16671 Value |= (op & 0x7) << 6;
16672 // op: Zm
16673 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16674 Value |= (op & 0x7) << 17;
16675 break;
16676 }
16677 case AArch64::BFMOP4A_M2Z2Z_S:
16678 case AArch64::BFMOP4S_M2Z2Z_S:
16679 case AArch64::FMOP4A_M2Z2Z_BtoS:
16680 case AArch64::FMOP4A_M2Z2Z_HtoS:
16681 case AArch64::FMOP4A_M2Z2Z_S:
16682 case AArch64::FMOP4S_M2Z2Z_HtoS:
16683 case AArch64::FMOP4S_M2Z2Z_S:
16684 case AArch64::SMOP4A_M2Z2Z_BToS:
16685 case AArch64::SMOP4A_M2Z2Z_HToS:
16686 case AArch64::SMOP4S_M2Z2Z_BToS:
16687 case AArch64::SMOP4S_M2Z2Z_HToS:
16688 case AArch64::SUMOP4A_M2Z2Z_BToS:
16689 case AArch64::SUMOP4S_M2Z2Z_BToS:
16690 case AArch64::UMOP4A_M2Z2Z_BToS:
16691 case AArch64::UMOP4A_M2Z2Z_HToS:
16692 case AArch64::UMOP4S_M2Z2Z_BToS:
16693 case AArch64::UMOP4S_M2Z2Z_HToS:
16694 case AArch64::USMOP4A_M2Z2Z_BToS:
16695 case AArch64::USMOP4S_M2Z2Z_BToS: {
16696 // op: ZAda
16697 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16698 Value |= (op & 0x3);
16699 // op: Zn
16700 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16701 Value |= (op & 0x7) << 6;
16702 // op: Zm
16703 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16704 Value |= (op & 0x7) << 17;
16705 break;
16706 }
16707 case AArch64::BFMOP4A_M2ZZ_S:
16708 case AArch64::BFMOP4S_M2ZZ_S:
16709 case AArch64::FMOP4A_M2ZZ_BtoS:
16710 case AArch64::FMOP4A_M2ZZ_HtoS:
16711 case AArch64::FMOP4A_M2ZZ_S:
16712 case AArch64::FMOP4S_M2ZZ_HtoS:
16713 case AArch64::FMOP4S_M2ZZ_S:
16714 case AArch64::SMOP4A_M2ZZ_BToS:
16715 case AArch64::SMOP4A_M2ZZ_HToS:
16716 case AArch64::SMOP4S_M2ZZ_BToS:
16717 case AArch64::SMOP4S_M2ZZ_HToS:
16718 case AArch64::SUMOP4A_M2ZZ_BToS:
16719 case AArch64::SUMOP4S_M2ZZ_BToS:
16720 case AArch64::UMOP4A_M2ZZ_BToS:
16721 case AArch64::UMOP4A_M2ZZ_HToS:
16722 case AArch64::UMOP4S_M2ZZ_BToS:
16723 case AArch64::UMOP4S_M2ZZ_HToS:
16724 case AArch64::USMOP4A_M2ZZ_BToS:
16725 case AArch64::USMOP4S_M2ZZ_BToS: {
16726 // op: ZAda
16727 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16728 Value |= (op & 0x3);
16729 // op: Zn
16730 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16731 Value |= (op & 0x7) << 6;
16732 // op: Zm
16733 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16734 Value |= (op & 0x7) << 17;
16735 break;
16736 }
16737 case AArch64::BFTMOPA_M2ZZZI_HtoS:
16738 case AArch64::FTMOPA_M2ZZZI_BtoS:
16739 case AArch64::FTMOPA_M2ZZZI_HtoS:
16740 case AArch64::FTMOPA_M2ZZZI_StoS:
16741 case AArch64::STMOPA_M2ZZZI_BtoS:
16742 case AArch64::STMOPA_M2ZZZI_HtoS:
16743 case AArch64::SUTMOPA_M2ZZZI_BtoS:
16744 case AArch64::USTMOPA_M2ZZZI_BtoS:
16745 case AArch64::UTMOPA_M2ZZZI_BtoS:
16746 case AArch64::UTMOPA_M2ZZZI_HtoS: {
16747 // op: ZAda
16748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16749 Value |= (op & 0x3);
16750 // op: Zn
16751 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
16752 Value |= (op & 0xf) << 6;
16753 // op: Zm
16754 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16755 Value |= (op & 0x1f) << 16;
16756 // op: Zk
16757 op = EncodeZK(MI, OpIdx: 4, Fixups, STI);
16758 Value |= (op & 0x7) << 10;
16759 // op: imm
16760 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16761 Value |= (op & 0x3) << 4;
16762 break;
16763 }
16764 case AArch64::BFMOP4A_MZ2Z_S:
16765 case AArch64::BFMOP4S_MZ2Z_S:
16766 case AArch64::FMOP4A_MZ2Z_BtoS:
16767 case AArch64::FMOP4A_MZ2Z_HtoS:
16768 case AArch64::FMOP4A_MZ2Z_S:
16769 case AArch64::FMOP4S_MZ2Z_HtoS:
16770 case AArch64::FMOP4S_MZ2Z_S:
16771 case AArch64::SMOP4A_MZ2Z_BToS:
16772 case AArch64::SMOP4A_MZ2Z_HToS:
16773 case AArch64::SMOP4S_MZ2Z_BToS:
16774 case AArch64::SMOP4S_MZ2Z_HToS:
16775 case AArch64::SUMOP4A_MZ2Z_BToS:
16776 case AArch64::SUMOP4S_MZ2Z_BToS:
16777 case AArch64::UMOP4A_MZ2Z_BToS:
16778 case AArch64::UMOP4A_MZ2Z_HToS:
16779 case AArch64::UMOP4S_MZ2Z_BToS:
16780 case AArch64::UMOP4S_MZ2Z_HToS:
16781 case AArch64::USMOP4A_MZ2Z_BToS:
16782 case AArch64::USMOP4S_MZ2Z_BToS: {
16783 // op: ZAda
16784 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16785 Value |= (op & 0x3);
16786 // op: Zn
16787 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16788 Value |= (op & 0x7) << 6;
16789 // op: Zm
16790 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16791 Value |= (op & 0x7) << 17;
16792 break;
16793 }
16794 case AArch64::BFMOP4A_MZZ_S:
16795 case AArch64::BFMOP4S_MZZ_S:
16796 case AArch64::FMOP4A_MZZ_BtoS:
16797 case AArch64::FMOP4A_MZZ_HtoS:
16798 case AArch64::FMOP4A_MZZ_S:
16799 case AArch64::FMOP4S_MZZ_HtoS:
16800 case AArch64::FMOP4S_MZZ_S:
16801 case AArch64::SMOP4A_MZZ_BToS:
16802 case AArch64::SMOP4A_MZZ_HToS:
16803 case AArch64::SMOP4S_MZZ_BToS:
16804 case AArch64::SMOP4S_MZZ_HToS:
16805 case AArch64::SUMOP4A_MZZ_BToS:
16806 case AArch64::SUMOP4S_MZZ_BToS:
16807 case AArch64::UMOP4A_MZZ_BToS:
16808 case AArch64::UMOP4A_MZZ_HToS:
16809 case AArch64::UMOP4S_MZZ_BToS:
16810 case AArch64::UMOP4S_MZZ_HToS:
16811 case AArch64::USMOP4A_MZZ_BToS:
16812 case AArch64::USMOP4S_MZZ_BToS: {
16813 // op: ZAda
16814 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16815 Value |= (op & 0x3);
16816 // op: Zn
16817 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16818 Value |= (op & 0x7) << 6;
16819 // op: Zm
16820 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16821 Value |= (op & 0x7) << 17;
16822 break;
16823 }
16824 case AArch64::FMOP4A_M2Z2Z_D:
16825 case AArch64::FMOP4S_M2Z2Z_D:
16826 case AArch64::SMOP4A_M2Z2Z_HtoD:
16827 case AArch64::SMOP4S_M2Z2Z_HtoD:
16828 case AArch64::SUMOP4A_M2Z2Z_HtoD:
16829 case AArch64::SUMOP4S_M2Z2Z_HtoD:
16830 case AArch64::UMOP4A_M2Z2Z_HtoD:
16831 case AArch64::UMOP4S_M2Z2Z_HtoD:
16832 case AArch64::USMOP4A_M2Z2Z_HtoD:
16833 case AArch64::USMOP4S_M2Z2Z_HtoD: {
16834 // op: ZAda
16835 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16836 Value |= (op & 0x7);
16837 // op: Zn
16838 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16839 Value |= (op & 0x7) << 6;
16840 // op: Zm
16841 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16842 Value |= (op & 0x7) << 17;
16843 break;
16844 }
16845 case AArch64::FMOP4A_M2ZZ_D:
16846 case AArch64::FMOP4S_M2ZZ_D:
16847 case AArch64::SMOP4A_M2ZZ_HtoD:
16848 case AArch64::SMOP4S_M2ZZ_HtoD:
16849 case AArch64::SUMOP4A_M2ZZ_HtoD:
16850 case AArch64::SUMOP4S_M2ZZ_HtoD:
16851 case AArch64::UMOP4A_M2ZZ_HtoD:
16852 case AArch64::UMOP4S_M2ZZ_HtoD:
16853 case AArch64::USMOP4A_M2ZZ_HtoD:
16854 case AArch64::USMOP4S_M2ZZ_HtoD: {
16855 // op: ZAda
16856 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16857 Value |= (op & 0x7);
16858 // op: Zn
16859 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16860 Value |= (op & 0x7) << 6;
16861 // op: Zm
16862 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16863 Value |= (op & 0x7) << 17;
16864 break;
16865 }
16866 case AArch64::FMOP4A_MZ2Z_D:
16867 case AArch64::FMOP4S_MZ2Z_D:
16868 case AArch64::SMOP4A_MZ2Z_HtoD:
16869 case AArch64::SMOP4S_MZ2Z_HtoD:
16870 case AArch64::SUMOP4A_MZ2Z_HtoD:
16871 case AArch64::SUMOP4S_MZ2Z_HtoD:
16872 case AArch64::UMOP4A_MZ2Z_HtoD:
16873 case AArch64::UMOP4S_MZ2Z_HtoD:
16874 case AArch64::USMOP4A_MZ2Z_HtoD:
16875 case AArch64::USMOP4S_MZ2Z_HtoD: {
16876 // op: ZAda
16877 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16878 Value |= (op & 0x7);
16879 // op: Zn
16880 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16881 Value |= (op & 0x7) << 6;
16882 // op: Zm
16883 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16884 Value |= (op & 0x7) << 17;
16885 break;
16886 }
16887 case AArch64::FMOP4A_MZZ_D:
16888 case AArch64::FMOP4S_MZZ_D:
16889 case AArch64::SMOP4A_MZZ_HtoD:
16890 case AArch64::SMOP4S_MZZ_HtoD:
16891 case AArch64::SUMOP4A_MZZ_HtoD:
16892 case AArch64::SUMOP4S_MZZ_HtoD:
16893 case AArch64::UMOP4A_MZZ_HtoD:
16894 case AArch64::UMOP4S_MZZ_HtoD:
16895 case AArch64::USMOP4A_MZZ_HtoD:
16896 case AArch64::USMOP4S_MZZ_HtoD: {
16897 // op: ZAda
16898 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16899 Value |= (op & 0x7);
16900 // op: Zn
16901 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16902 Value |= (op & 0x7) << 6;
16903 // op: Zm
16904 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16905 Value |= (op & 0x7) << 17;
16906 break;
16907 }
16908 case AArch64::MOVA_2ZMXI_H_H:
16909 case AArch64::MOVA_2ZMXI_V_H: {
16910 // op: Zd
16911 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16912 Value |= (op & 0xf) << 1;
16913 // op: Rs
16914 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16915 Value |= (op & 0x3) << 13;
16916 // op: ZAn
16917 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16918 Value |= (op & 0x1) << 7;
16919 // op: imm
16920 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16921 Value |= (op & 0x3) << 5;
16922 break;
16923 }
16924 case AArch64::MOVA_2ZMXI_H_S:
16925 case AArch64::MOVA_2ZMXI_V_S: {
16926 // op: Zd
16927 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16928 Value |= (op & 0xf) << 1;
16929 // op: Rs
16930 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16931 Value |= (op & 0x3) << 13;
16932 // op: ZAn
16933 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16934 Value |= (op & 0x3) << 6;
16935 // op: imm
16936 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16937 Value |= (op & 0x1) << 5;
16938 break;
16939 }
16940 case AArch64::MOVA_2ZMXI_H_D:
16941 case AArch64::MOVA_2ZMXI_V_D: {
16942 // op: Zd
16943 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16944 Value |= (op & 0xf) << 1;
16945 // op: Rs
16946 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16947 Value |= (op & 0x3) << 13;
16948 // op: ZAn
16949 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16950 Value |= (op & 0x7) << 5;
16951 break;
16952 }
16953 case AArch64::MOVA_2ZMXI_H_B:
16954 case AArch64::MOVA_2ZMXI_V_B: {
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: imm
16962 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16963 Value |= (op & 0x7) << 5;
16964 break;
16965 }
16966 case AArch64::MOVAZ_2ZMI_H_H:
16967 case AArch64::MOVAZ_2ZMI_V_H: {
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: 3, Fixups, STI);
16973 Value |= (op & 0x3) << 13;
16974 // op: ZAn
16975 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16976 Value |= (op & 0x1) << 7;
16977 // op: imm
16978 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16979 Value |= (op & 0x3) << 5;
16980 break;
16981 }
16982 case AArch64::MOVAZ_2ZMI_H_S:
16983 case AArch64::MOVAZ_2ZMI_V_S: {
16984 // op: Zd
16985 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16986 Value |= (op & 0xf) << 1;
16987 // op: Rs
16988 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
16989 Value |= (op & 0x3) << 13;
16990 // op: ZAn
16991 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16992 Value |= (op & 0x3) << 6;
16993 // op: imm
16994 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16995 Value |= (op & 0x1) << 5;
16996 break;
16997 }
16998 case AArch64::MOVAZ_2ZMI_H_D:
16999 case AArch64::MOVAZ_2ZMI_V_D: {
17000 // op: Zd
17001 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17002 Value |= (op & 0xf) << 1;
17003 // op: Rs
17004 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17005 Value |= (op & 0x3) << 13;
17006 // op: ZAn
17007 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17008 Value |= (op & 0x7) << 5;
17009 break;
17010 }
17011 case AArch64::MOVAZ_2ZMI_H_B:
17012 case AArch64::MOVAZ_2ZMI_V_B: {
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: imm
17020 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17021 Value |= (op & 0x7) << 5;
17022 break;
17023 }
17024 case AArch64::UZP_VG2_2ZZZ_B:
17025 case AArch64::UZP_VG2_2ZZZ_D:
17026 case AArch64::UZP_VG2_2ZZZ_H:
17027 case AArch64::UZP_VG2_2ZZZ_Q:
17028 case AArch64::UZP_VG2_2ZZZ_S:
17029 case AArch64::ZIP_VG2_2ZZZ_B:
17030 case AArch64::ZIP_VG2_2ZZZ_D:
17031 case AArch64::ZIP_VG2_2ZZZ_H:
17032 case AArch64::ZIP_VG2_2ZZZ_Q:
17033 case AArch64::ZIP_VG2_2ZZZ_S: {
17034 // op: Zd
17035 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17036 Value |= (op & 0xf) << 1;
17037 // op: Zm
17038 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17039 Value |= (op & 0x1f) << 16;
17040 // op: Zn
17041 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17042 Value |= (op & 0x1f) << 5;
17043 break;
17044 }
17045 case AArch64::BFMUL_2Z2Z:
17046 case AArch64::FMUL_2Z2Z_D:
17047 case AArch64::FMUL_2Z2Z_H:
17048 case AArch64::FMUL_2Z2Z_S: {
17049 // op: Zd
17050 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17051 Value |= (op & 0xf) << 1;
17052 // op: Zn
17053 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17054 Value |= (op & 0xf) << 6;
17055 // op: Zm
17056 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
17057 Value |= (op & 0xf) << 17;
17058 break;
17059 }
17060 case AArch64::BFMUL_2ZZ:
17061 case AArch64::FMUL_2ZZ_D:
17062 case AArch64::FMUL_2ZZ_H:
17063 case AArch64::FMUL_2ZZ_S: {
17064 // op: Zd
17065 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17066 Value |= (op & 0xf) << 1;
17067 // op: Zn
17068 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17069 Value |= (op & 0xf) << 6;
17070 // op: Zm
17071 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17072 Value |= (op & 0xf) << 17;
17073 break;
17074 }
17075 case AArch64::MOVA_4ZMXI_H_H:
17076 case AArch64::MOVA_4ZMXI_V_H: {
17077 // op: Zd
17078 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17079 Value |= (op & 0x7) << 2;
17080 // op: Rs
17081 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17082 Value |= (op & 0x3) << 13;
17083 // op: ZAn
17084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17085 Value |= (op & 0x1) << 6;
17086 // op: imm
17087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17088 Value |= (op & 0x1) << 5;
17089 break;
17090 }
17091 case AArch64::MOVA_4ZMXI_H_S:
17092 case AArch64::MOVA_4ZMXI_V_S: {
17093 // op: Zd
17094 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17095 Value |= (op & 0x7) << 2;
17096 // op: Rs
17097 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17098 Value |= (op & 0x3) << 13;
17099 // op: ZAn
17100 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17101 Value |= (op & 0x3) << 5;
17102 break;
17103 }
17104 case AArch64::MOVA_4ZMXI_H_D:
17105 case AArch64::MOVA_4ZMXI_V_D: {
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 & 0x7) << 5;
17115 break;
17116 }
17117 case AArch64::MOVA_4ZMXI_H_B:
17118 case AArch64::MOVA_4ZMXI_V_B: {
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: imm
17126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17127 Value |= (op & 0x3) << 5;
17128 break;
17129 }
17130 case AArch64::MOVAZ_4ZMI_H_H:
17131 case AArch64::MOVAZ_4ZMI_V_H: {
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: 3, Fixups, STI);
17137 Value |= (op & 0x3) << 13;
17138 // op: ZAn
17139 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17140 Value |= (op & 0x1) << 6;
17141 // op: imm
17142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17143 Value |= (op & 0x1) << 5;
17144 break;
17145 }
17146 case AArch64::MOVAZ_4ZMI_H_S:
17147 case AArch64::MOVAZ_4ZMI_V_S: {
17148 // op: Zd
17149 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17150 Value |= (op & 0x7) << 2;
17151 // op: Rs
17152 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17153 Value |= (op & 0x3) << 13;
17154 // op: ZAn
17155 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17156 Value |= (op & 0x3) << 5;
17157 break;
17158 }
17159 case AArch64::MOVAZ_4ZMI_H_D:
17160 case AArch64::MOVAZ_4ZMI_V_D: {
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 & 0x7) << 5;
17170 break;
17171 }
17172 case AArch64::MOVAZ_4ZMI_H_B:
17173 case AArch64::MOVAZ_4ZMI_V_B: {
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: imm
17181 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17182 Value |= (op & 0x3) << 5;
17183 break;
17184 }
17185 case AArch64::BFMUL_4Z4Z:
17186 case AArch64::FMUL_4Z4Z_D:
17187 case AArch64::FMUL_4Z4Z_H:
17188 case AArch64::FMUL_4Z4Z_S: {
17189 // op: Zd
17190 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17191 Value |= (op & 0x7) << 2;
17192 // op: Zn
17193 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
17194 Value |= (op & 0x7) << 7;
17195 // op: Zm
17196 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 2, Fixups, STI);
17197 Value |= (op & 0x7) << 18;
17198 break;
17199 }
17200 case AArch64::BFMUL_4ZZ:
17201 case AArch64::FMUL_4ZZ_D:
17202 case AArch64::FMUL_4ZZ_H:
17203 case AArch64::FMUL_4ZZ_S: {
17204 // op: Zd
17205 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17206 Value |= (op & 0x7) << 2;
17207 // op: Zn
17208 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
17209 Value |= (op & 0x7) << 7;
17210 // op: Zm
17211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17212 Value |= (op & 0xf) << 17;
17213 break;
17214 }
17215 case AArch64::LUTI6_4Z2Z2ZI: {
17216 // op: Zd
17217 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17218 Value |= (op & 0x7) << 2;
17219 // op: Zn
17220 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17221 Value |= (op & 0x1f) << 5;
17222 // op: Zm
17223 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17224 Value |= (op & 0x1f) << 16;
17225 // op: i1
17226 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17227 Value |= (op & 0x1) << 22;
17228 break;
17229 }
17230 case AArch64::LUTI6_4ZT3Z: {
17231 // op: Zd
17232 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17233 Value |= (op & 0x7) << 2;
17234 // op: Zn
17235 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17236 Value |= (op & 0x7) << 7;
17237 break;
17238 }
17239 case AArch64::LUTI6_S_4Z2Z2ZI: {
17240 // op: Zd
17241 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
17242 Value |= (op & 0x4) << 2;
17243 Value |= (op & 0x3);
17244 // op: Zn
17245 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17246 Value |= (op & 0x1f) << 5;
17247 // op: Zm
17248 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17249 Value |= (op & 0x1f) << 16;
17250 // op: i1
17251 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17252 Value |= (op & 0x1) << 22;
17253 break;
17254 }
17255 case AArch64::LUTI6_S_4ZT3Z: {
17256 // op: Zd
17257 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
17258 Value |= (op & 0x4) << 2;
17259 Value |= (op & 0x3);
17260 // op: Zn
17261 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17262 Value |= (op & 0x7) << 7;
17263 break;
17264 }
17265 case AArch64::RBIT_ZPzZ_B:
17266 case AArch64::RBIT_ZPzZ_D:
17267 case AArch64::RBIT_ZPzZ_H:
17268 case AArch64::RBIT_ZPzZ_S:
17269 case AArch64::REVB_ZPzZ_D:
17270 case AArch64::REVB_ZPzZ_H:
17271 case AArch64::REVB_ZPzZ_S:
17272 case AArch64::REVD_ZPzZ:
17273 case AArch64::REVH_ZPzZ_D:
17274 case AArch64::REVH_ZPzZ_S:
17275 case AArch64::REVW_ZPzZ_D: {
17276 // op: Zd
17277 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17278 Value |= (op & 0x1f);
17279 // op: Pg
17280 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17281 Value |= (op & 0x7) << 10;
17282 // op: Zn
17283 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17284 Value |= (op & 0x1f) << 5;
17285 break;
17286 }
17287 case AArch64::CPY_ZPzI_B:
17288 case AArch64::CPY_ZPzI_D:
17289 case AArch64::CPY_ZPzI_H:
17290 case AArch64::CPY_ZPzI_S: {
17291 // op: Zd
17292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17293 Value |= (op & 0x1f);
17294 // op: Pg
17295 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17296 Value |= (op & 0xf) << 16;
17297 // op: imm
17298 op = getImm8OptLsl(MI, OpIdx: 2, Fixups, STI);
17299 Value |= (op & 0x1ff) << 5;
17300 break;
17301 }
17302 case AArch64::RBIT_ZPmZ_B:
17303 case AArch64::RBIT_ZPmZ_D:
17304 case AArch64::RBIT_ZPmZ_H:
17305 case AArch64::RBIT_ZPmZ_S:
17306 case AArch64::REVB_ZPmZ_D:
17307 case AArch64::REVB_ZPmZ_H:
17308 case AArch64::REVB_ZPmZ_S:
17309 case AArch64::REVD_ZPmZ:
17310 case AArch64::REVH_ZPmZ_D:
17311 case AArch64::REVH_ZPmZ_S:
17312 case AArch64::REVW_ZPmZ_D: {
17313 // op: Zd
17314 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17315 Value |= (op & 0x1f);
17316 // op: Pg
17317 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17318 Value |= (op & 0x7) << 10;
17319 // op: Zn
17320 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17321 Value |= (op & 0x1f) << 5;
17322 break;
17323 }
17324 case AArch64::CPY_ZPmI_B:
17325 case AArch64::CPY_ZPmI_D:
17326 case AArch64::CPY_ZPmI_H:
17327 case AArch64::CPY_ZPmI_S: {
17328 // op: Zd
17329 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17330 Value |= (op & 0x1f);
17331 // op: Pg
17332 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17333 Value |= (op & 0xf) << 16;
17334 // op: imm
17335 op = getImm8OptLsl(MI, OpIdx: 3, Fixups, STI);
17336 Value |= (op & 0x1ff) << 5;
17337 break;
17338 }
17339 case AArch64::PMOV_ZIP_B: {
17340 // op: Zd
17341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17342 Value |= (op & 0x1f);
17343 // op: Pn
17344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17345 Value |= (op & 0xf) << 5;
17346 break;
17347 }
17348 case AArch64::PMOV_ZIP_H: {
17349 // op: Zd
17350 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17351 Value |= (op & 0x1f);
17352 // op: Pn
17353 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17354 Value |= (op & 0xf) << 5;
17355 // op: index
17356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17357 Value |= (op & 0x1) << 17;
17358 break;
17359 }
17360 case AArch64::PMOV_ZIP_S: {
17361 // op: Zd
17362 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17363 Value |= (op & 0x1f);
17364 // op: Pn
17365 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17366 Value |= (op & 0xf) << 5;
17367 // op: index
17368 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17369 Value |= (op & 0x3) << 17;
17370 break;
17371 }
17372 case AArch64::PMOV_ZIP_D: {
17373 // op: Zd
17374 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17375 Value |= (op & 0x1f);
17376 // op: Pn
17377 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17378 Value |= (op & 0xf) << 5;
17379 // op: index
17380 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17381 Value |= (op & 0x4) << 20;
17382 Value |= (op & 0x3) << 17;
17383 break;
17384 }
17385 case AArch64::INDEX_RR_B:
17386 case AArch64::INDEX_RR_D:
17387 case AArch64::INDEX_RR_H:
17388 case AArch64::INDEX_RR_S: {
17389 // op: Zd
17390 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17391 Value |= (op & 0x1f);
17392 // op: Rm
17393 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17394 Value |= (op & 0x1f) << 16;
17395 // op: Rn
17396 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17397 Value |= (op & 0x1f) << 5;
17398 break;
17399 }
17400 case AArch64::ADDQP_ZZZ_B:
17401 case AArch64::ADDQP_ZZZ_D:
17402 case AArch64::ADDQP_ZZZ_H:
17403 case AArch64::ADDQP_ZZZ_S:
17404 case AArch64::ADDSUBP_ZZZ_B:
17405 case AArch64::ADDSUBP_ZZZ_D:
17406 case AArch64::ADDSUBP_ZZZ_H:
17407 case AArch64::ADDSUBP_ZZZ_S:
17408 case AArch64::ADD_ZZZ_B:
17409 case AArch64::ADD_ZZZ_CPA:
17410 case AArch64::ADD_ZZZ_D:
17411 case AArch64::ADD_ZZZ_H:
17412 case AArch64::ADD_ZZZ_S:
17413 case AArch64::AND_ZZZ:
17414 case AArch64::ASR_WIDE_ZZZ_B:
17415 case AArch64::ASR_WIDE_ZZZ_H:
17416 case AArch64::ASR_WIDE_ZZZ_S:
17417 case AArch64::BFADD_ZZZ:
17418 case AArch64::BFMUL_ZZZ:
17419 case AArch64::BFSUB_ZZZ:
17420 case AArch64::BIC_ZZZ:
17421 case AArch64::EOR_ZZZ:
17422 case AArch64::FADD_ZZZ_D:
17423 case AArch64::FADD_ZZZ_H:
17424 case AArch64::FADD_ZZZ_S:
17425 case AArch64::FMUL_ZZZ_D:
17426 case AArch64::FMUL_ZZZ_H:
17427 case AArch64::FMUL_ZZZ_S:
17428 case AArch64::FRECPS_ZZZ_D:
17429 case AArch64::FRECPS_ZZZ_H:
17430 case AArch64::FRECPS_ZZZ_S:
17431 case AArch64::FRSQRTS_ZZZ_D:
17432 case AArch64::FRSQRTS_ZZZ_H:
17433 case AArch64::FRSQRTS_ZZZ_S:
17434 case AArch64::FSUB_ZZZ_D:
17435 case AArch64::FSUB_ZZZ_H:
17436 case AArch64::FSUB_ZZZ_S:
17437 case AArch64::FTSMUL_ZZZ_D:
17438 case AArch64::FTSMUL_ZZZ_H:
17439 case AArch64::FTSMUL_ZZZ_S:
17440 case AArch64::FTSSEL_ZZZ_D:
17441 case AArch64::FTSSEL_ZZZ_H:
17442 case AArch64::FTSSEL_ZZZ_S:
17443 case AArch64::LSL_WIDE_ZZZ_B:
17444 case AArch64::LSL_WIDE_ZZZ_H:
17445 case AArch64::LSL_WIDE_ZZZ_S:
17446 case AArch64::LSR_WIDE_ZZZ_B:
17447 case AArch64::LSR_WIDE_ZZZ_H:
17448 case AArch64::LSR_WIDE_ZZZ_S:
17449 case AArch64::MUL_ZZZ_B:
17450 case AArch64::MUL_ZZZ_D:
17451 case AArch64::MUL_ZZZ_H:
17452 case AArch64::MUL_ZZZ_S:
17453 case AArch64::ORR_ZZZ:
17454 case AArch64::PMUL_ZZZ_B:
17455 case AArch64::SMULH_ZZZ_B:
17456 case AArch64::SMULH_ZZZ_D:
17457 case AArch64::SMULH_ZZZ_H:
17458 case AArch64::SMULH_ZZZ_S:
17459 case AArch64::SQADD_ZZZ_B:
17460 case AArch64::SQADD_ZZZ_D:
17461 case AArch64::SQADD_ZZZ_H:
17462 case AArch64::SQADD_ZZZ_S:
17463 case AArch64::SQDMULH_ZZZ_B:
17464 case AArch64::SQDMULH_ZZZ_D:
17465 case AArch64::SQDMULH_ZZZ_H:
17466 case AArch64::SQDMULH_ZZZ_S:
17467 case AArch64::SQRDMULH_ZZZ_B:
17468 case AArch64::SQRDMULH_ZZZ_D:
17469 case AArch64::SQRDMULH_ZZZ_H:
17470 case AArch64::SQRDMULH_ZZZ_S:
17471 case AArch64::SQSUB_ZZZ_B:
17472 case AArch64::SQSUB_ZZZ_D:
17473 case AArch64::SQSUB_ZZZ_H:
17474 case AArch64::SQSUB_ZZZ_S:
17475 case AArch64::SUB_ZZZ_B:
17476 case AArch64::SUB_ZZZ_CPA:
17477 case AArch64::SUB_ZZZ_D:
17478 case AArch64::SUB_ZZZ_H:
17479 case AArch64::SUB_ZZZ_S:
17480 case AArch64::TBL_ZZZZ_B:
17481 case AArch64::TBL_ZZZZ_D:
17482 case AArch64::TBL_ZZZZ_H:
17483 case AArch64::TBL_ZZZZ_S:
17484 case AArch64::TBL_ZZZ_B:
17485 case AArch64::TBL_ZZZ_D:
17486 case AArch64::TBL_ZZZ_H:
17487 case AArch64::TBL_ZZZ_S:
17488 case AArch64::TRN1_ZZZ_B:
17489 case AArch64::TRN1_ZZZ_D:
17490 case AArch64::TRN1_ZZZ_H:
17491 case AArch64::TRN1_ZZZ_Q:
17492 case AArch64::TRN1_ZZZ_S:
17493 case AArch64::TRN2_ZZZ_B:
17494 case AArch64::TRN2_ZZZ_D:
17495 case AArch64::TRN2_ZZZ_H:
17496 case AArch64::TRN2_ZZZ_Q:
17497 case AArch64::TRN2_ZZZ_S:
17498 case AArch64::UMULH_ZZZ_B:
17499 case AArch64::UMULH_ZZZ_D:
17500 case AArch64::UMULH_ZZZ_H:
17501 case AArch64::UMULH_ZZZ_S:
17502 case AArch64::UQADD_ZZZ_B:
17503 case AArch64::UQADD_ZZZ_D:
17504 case AArch64::UQADD_ZZZ_H:
17505 case AArch64::UQADD_ZZZ_S:
17506 case AArch64::UQSUB_ZZZ_B:
17507 case AArch64::UQSUB_ZZZ_D:
17508 case AArch64::UQSUB_ZZZ_H:
17509 case AArch64::UQSUB_ZZZ_S:
17510 case AArch64::UZP1_ZZZ_B:
17511 case AArch64::UZP1_ZZZ_D:
17512 case AArch64::UZP1_ZZZ_H:
17513 case AArch64::UZP1_ZZZ_Q:
17514 case AArch64::UZP1_ZZZ_S:
17515 case AArch64::UZP2_ZZZ_B:
17516 case AArch64::UZP2_ZZZ_D:
17517 case AArch64::UZP2_ZZZ_H:
17518 case AArch64::UZP2_ZZZ_Q:
17519 case AArch64::UZP2_ZZZ_S:
17520 case AArch64::ZIP1_ZZZ_B:
17521 case AArch64::ZIP1_ZZZ_D:
17522 case AArch64::ZIP1_ZZZ_H:
17523 case AArch64::ZIP1_ZZZ_Q:
17524 case AArch64::ZIP1_ZZZ_S:
17525 case AArch64::ZIP2_ZZZ_B:
17526 case AArch64::ZIP2_ZZZ_D:
17527 case AArch64::ZIP2_ZZZ_H:
17528 case AArch64::ZIP2_ZZZ_Q:
17529 case AArch64::ZIP2_ZZZ_S: {
17530 // op: Zd
17531 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17532 Value |= (op & 0x1f);
17533 // op: Zm
17534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17535 Value |= (op & 0x1f) << 16;
17536 // op: Zn
17537 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17538 Value |= (op & 0x1f) << 5;
17539 break;
17540 }
17541 case AArch64::TBXQ_ZZZ_B:
17542 case AArch64::TBXQ_ZZZ_D:
17543 case AArch64::TBXQ_ZZZ_H:
17544 case AArch64::TBXQ_ZZZ_S:
17545 case AArch64::TBX_ZZZ_B:
17546 case AArch64::TBX_ZZZ_D:
17547 case AArch64::TBX_ZZZ_H:
17548 case AArch64::TBX_ZZZ_S: {
17549 // op: Zd
17550 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17551 Value |= (op & 0x1f);
17552 // op: Zm
17553 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17554 Value |= (op & 0x1f) << 16;
17555 // op: Zn
17556 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17557 Value |= (op & 0x1f) << 5;
17558 break;
17559 }
17560 case AArch64::BFCVTN_Z2Z_HtoB:
17561 case AArch64::FCVTNB_Z2Z_StoB:
17562 case AArch64::FCVTN_Z2Z_HtoB:
17563 case AArch64::FCVTZSN_Z2Z_DtoS:
17564 case AArch64::FCVTZSN_Z2Z_HtoB:
17565 case AArch64::FCVTZSN_Z2Z_StoH:
17566 case AArch64::FCVTZUN_Z2Z_DtoS:
17567 case AArch64::FCVTZUN_Z2Z_HtoB:
17568 case AArch64::FCVTZUN_Z2Z_StoH:
17569 case AArch64::SQCVTN_Z2Z_StoH:
17570 case AArch64::SQCVTUN_Z2Z_StoH:
17571 case AArch64::UQCVTN_Z2Z_StoH: {
17572 // op: Zd
17573 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17574 Value |= (op & 0x1f);
17575 // op: Zn
17576 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17577 Value |= (op & 0xf) << 6;
17578 break;
17579 }
17580 case AArch64::SQRSHRN_Z2ZI_StoH:
17581 case AArch64::SQRSHRUN_Z2ZI_StoH:
17582 case AArch64::SQSHRN_Z2ZI_StoH:
17583 case AArch64::SQSHRUN_Z2ZI_StoH:
17584 case AArch64::UQRSHRN_Z2ZI_StoH:
17585 case AArch64::UQSHRN_Z2ZI_StoH: {
17586 // op: Zd
17587 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17588 Value |= (op & 0x1f);
17589 // op: Zn
17590 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17591 Value |= (op & 0xf) << 6;
17592 // op: imm
17593 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
17594 Value |= (op & 0xf) << 16;
17595 break;
17596 }
17597 case AArch64::SQRSHRN_Z2ZI_HtoB:
17598 case AArch64::SQRSHRUN_Z2ZI_HtoB:
17599 case AArch64::SQSHRN_Z2ZI_HtoB:
17600 case AArch64::SQSHRUN_Z2ZI_HtoB:
17601 case AArch64::UQRSHRN_Z2ZI_HtoB:
17602 case AArch64::UQSHRN_Z2ZI_HtoB: {
17603 // op: Zd
17604 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17605 Value |= (op & 0x1f);
17606 // op: Zn
17607 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17608 Value |= (op & 0xf) << 6;
17609 // op: imm
17610 op = getVecShiftR8OpValue(MI, OpIdx: 2, Fixups, STI);
17611 Value |= (op & 0x7) << 16;
17612 break;
17613 }
17614 case AArch64::FCVTNT_Z2Z_StoB: {
17615 // op: Zd
17616 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17617 Value |= (op & 0x1f);
17618 // op: Zn
17619 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
17620 Value |= (op & 0xf) << 6;
17621 break;
17622 }
17623 case AArch64::BF1CVTLT_ZZ_BtoH:
17624 case AArch64::BF1CVT_ZZ_BtoH:
17625 case AArch64::BF2CVTLT_ZZ_BtoH:
17626 case AArch64::BF2CVT_ZZ_BtoH:
17627 case AArch64::F1CVTLT_ZZ_BtoH:
17628 case AArch64::F1CVT_ZZ_BtoH:
17629 case AArch64::F2CVTLT_ZZ_BtoH:
17630 case AArch64::F2CVT_ZZ_BtoH:
17631 case AArch64::FEXPA_ZZ_D:
17632 case AArch64::FEXPA_ZZ_H:
17633 case AArch64::FEXPA_ZZ_S:
17634 case AArch64::FRECPE_ZZ_D:
17635 case AArch64::FRECPE_ZZ_H:
17636 case AArch64::FRECPE_ZZ_S:
17637 case AArch64::FRSQRTE_ZZ_D:
17638 case AArch64::FRSQRTE_ZZ_H:
17639 case AArch64::FRSQRTE_ZZ_S:
17640 case AArch64::MOVPRFX_ZZ:
17641 case AArch64::REV_ZZ_B:
17642 case AArch64::REV_ZZ_D:
17643 case AArch64::REV_ZZ_H:
17644 case AArch64::REV_ZZ_S:
17645 case AArch64::SCVTFLT_ZZ_BtoH:
17646 case AArch64::SCVTFLT_ZZ_HtoS:
17647 case AArch64::SCVTFLT_ZZ_StoD:
17648 case AArch64::SCVTF_ZZ_BtoH:
17649 case AArch64::SCVTF_ZZ_HtoS:
17650 case AArch64::SCVTF_ZZ_StoD:
17651 case AArch64::SQXTNB_ZZ_B:
17652 case AArch64::SQXTNB_ZZ_H:
17653 case AArch64::SQXTNB_ZZ_S:
17654 case AArch64::SQXTUNB_ZZ_B:
17655 case AArch64::SQXTUNB_ZZ_H:
17656 case AArch64::SQXTUNB_ZZ_S:
17657 case AArch64::SUNPKHI_ZZ_D:
17658 case AArch64::SUNPKHI_ZZ_H:
17659 case AArch64::SUNPKHI_ZZ_S:
17660 case AArch64::SUNPKLO_ZZ_D:
17661 case AArch64::SUNPKLO_ZZ_H:
17662 case AArch64::SUNPKLO_ZZ_S:
17663 case AArch64::UCVTFLT_ZZ_BtoH:
17664 case AArch64::UCVTFLT_ZZ_HtoS:
17665 case AArch64::UCVTFLT_ZZ_StoD:
17666 case AArch64::UCVTF_ZZ_BtoH:
17667 case AArch64::UCVTF_ZZ_HtoS:
17668 case AArch64::UCVTF_ZZ_StoD:
17669 case AArch64::UQXTNB_ZZ_B:
17670 case AArch64::UQXTNB_ZZ_H:
17671 case AArch64::UQXTNB_ZZ_S:
17672 case AArch64::UUNPKHI_ZZ_D:
17673 case AArch64::UUNPKHI_ZZ_H:
17674 case AArch64::UUNPKHI_ZZ_S:
17675 case AArch64::UUNPKLO_ZZ_D:
17676 case AArch64::UUNPKLO_ZZ_H:
17677 case AArch64::UUNPKLO_ZZ_S: {
17678 // op: Zd
17679 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17680 Value |= (op & 0x1f);
17681 // op: Zn
17682 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17683 Value |= (op & 0x1f) << 5;
17684 break;
17685 }
17686 case AArch64::ADDHNB_ZZZ_B:
17687 case AArch64::ADDHNB_ZZZ_H:
17688 case AArch64::ADDHNB_ZZZ_S:
17689 case AArch64::ADR_LSL_ZZZ_D_0:
17690 case AArch64::ADR_LSL_ZZZ_D_1:
17691 case AArch64::ADR_LSL_ZZZ_D_2:
17692 case AArch64::ADR_LSL_ZZZ_D_3:
17693 case AArch64::ADR_LSL_ZZZ_S_0:
17694 case AArch64::ADR_LSL_ZZZ_S_1:
17695 case AArch64::ADR_LSL_ZZZ_S_2:
17696 case AArch64::ADR_LSL_ZZZ_S_3:
17697 case AArch64::ADR_SXTW_ZZZ_D_0:
17698 case AArch64::ADR_SXTW_ZZZ_D_1:
17699 case AArch64::ADR_SXTW_ZZZ_D_2:
17700 case AArch64::ADR_SXTW_ZZZ_D_3:
17701 case AArch64::ADR_UXTW_ZZZ_D_0:
17702 case AArch64::ADR_UXTW_ZZZ_D_1:
17703 case AArch64::ADR_UXTW_ZZZ_D_2:
17704 case AArch64::ADR_UXTW_ZZZ_D_3:
17705 case AArch64::BDEP_ZZZ_B:
17706 case AArch64::BDEP_ZZZ_D:
17707 case AArch64::BDEP_ZZZ_H:
17708 case AArch64::BDEP_ZZZ_S:
17709 case AArch64::BEXT_ZZZ_B:
17710 case AArch64::BEXT_ZZZ_D:
17711 case AArch64::BEXT_ZZZ_H:
17712 case AArch64::BEXT_ZZZ_S:
17713 case AArch64::BGRP_ZZZ_B:
17714 case AArch64::BGRP_ZZZ_D:
17715 case AArch64::BGRP_ZZZ_H:
17716 case AArch64::BGRP_ZZZ_S:
17717 case AArch64::HISTSEG_ZZZ:
17718 case AArch64::LUTI6_Z2ZZ:
17719 case AArch64::PMULLB_ZZZ_D:
17720 case AArch64::PMULLB_ZZZ_H:
17721 case AArch64::PMULLB_ZZZ_Q:
17722 case AArch64::PMULLT_ZZZ_D:
17723 case AArch64::PMULLT_ZZZ_H:
17724 case AArch64::PMULLT_ZZZ_Q:
17725 case AArch64::RADDHNB_ZZZ_B:
17726 case AArch64::RADDHNB_ZZZ_H:
17727 case AArch64::RADDHNB_ZZZ_S:
17728 case AArch64::RAX1_ZZZ_D:
17729 case AArch64::RSUBHNB_ZZZ_B:
17730 case AArch64::RSUBHNB_ZZZ_H:
17731 case AArch64::RSUBHNB_ZZZ_S:
17732 case AArch64::SABDLB_ZZZ_D:
17733 case AArch64::SABDLB_ZZZ_H:
17734 case AArch64::SABDLB_ZZZ_S:
17735 case AArch64::SABDLT_ZZZ_D:
17736 case AArch64::SABDLT_ZZZ_H:
17737 case AArch64::SABDLT_ZZZ_S:
17738 case AArch64::SADDLBT_ZZZ_D:
17739 case AArch64::SADDLBT_ZZZ_H:
17740 case AArch64::SADDLBT_ZZZ_S:
17741 case AArch64::SADDLB_ZZZ_D:
17742 case AArch64::SADDLB_ZZZ_H:
17743 case AArch64::SADDLB_ZZZ_S:
17744 case AArch64::SADDLT_ZZZ_D:
17745 case AArch64::SADDLT_ZZZ_H:
17746 case AArch64::SADDLT_ZZZ_S:
17747 case AArch64::SADDWB_ZZZ_D:
17748 case AArch64::SADDWB_ZZZ_H:
17749 case AArch64::SADDWB_ZZZ_S:
17750 case AArch64::SADDWT_ZZZ_D:
17751 case AArch64::SADDWT_ZZZ_H:
17752 case AArch64::SADDWT_ZZZ_S:
17753 case AArch64::SM4EKEY_ZZZ_S:
17754 case AArch64::SMULLB_ZZZ_D:
17755 case AArch64::SMULLB_ZZZ_H:
17756 case AArch64::SMULLB_ZZZ_S:
17757 case AArch64::SMULLT_ZZZ_D:
17758 case AArch64::SMULLT_ZZZ_H:
17759 case AArch64::SMULLT_ZZZ_S:
17760 case AArch64::SQDMULLB_ZZZ_D:
17761 case AArch64::SQDMULLB_ZZZ_H:
17762 case AArch64::SQDMULLB_ZZZ_S:
17763 case AArch64::SQDMULLT_ZZZ_D:
17764 case AArch64::SQDMULLT_ZZZ_H:
17765 case AArch64::SQDMULLT_ZZZ_S:
17766 case AArch64::SSUBLBT_ZZZ_D:
17767 case AArch64::SSUBLBT_ZZZ_H:
17768 case AArch64::SSUBLBT_ZZZ_S:
17769 case AArch64::SSUBLB_ZZZ_D:
17770 case AArch64::SSUBLB_ZZZ_H:
17771 case AArch64::SSUBLB_ZZZ_S:
17772 case AArch64::SSUBLTB_ZZZ_D:
17773 case AArch64::SSUBLTB_ZZZ_H:
17774 case AArch64::SSUBLTB_ZZZ_S:
17775 case AArch64::SSUBLT_ZZZ_D:
17776 case AArch64::SSUBLT_ZZZ_H:
17777 case AArch64::SSUBLT_ZZZ_S:
17778 case AArch64::SSUBWB_ZZZ_D:
17779 case AArch64::SSUBWB_ZZZ_H:
17780 case AArch64::SSUBWB_ZZZ_S:
17781 case AArch64::SSUBWT_ZZZ_D:
17782 case AArch64::SSUBWT_ZZZ_H:
17783 case AArch64::SSUBWT_ZZZ_S:
17784 case AArch64::SUBHNB_ZZZ_B:
17785 case AArch64::SUBHNB_ZZZ_H:
17786 case AArch64::SUBHNB_ZZZ_S:
17787 case AArch64::TBLQ_ZZZ_B:
17788 case AArch64::TBLQ_ZZZ_D:
17789 case AArch64::TBLQ_ZZZ_H:
17790 case AArch64::TBLQ_ZZZ_S:
17791 case AArch64::UABDLB_ZZZ_D:
17792 case AArch64::UABDLB_ZZZ_H:
17793 case AArch64::UABDLB_ZZZ_S:
17794 case AArch64::UABDLT_ZZZ_D:
17795 case AArch64::UABDLT_ZZZ_H:
17796 case AArch64::UABDLT_ZZZ_S:
17797 case AArch64::UADDLB_ZZZ_D:
17798 case AArch64::UADDLB_ZZZ_H:
17799 case AArch64::UADDLB_ZZZ_S:
17800 case AArch64::UADDLT_ZZZ_D:
17801 case AArch64::UADDLT_ZZZ_H:
17802 case AArch64::UADDLT_ZZZ_S:
17803 case AArch64::UADDWB_ZZZ_D:
17804 case AArch64::UADDWB_ZZZ_H:
17805 case AArch64::UADDWB_ZZZ_S:
17806 case AArch64::UADDWT_ZZZ_D:
17807 case AArch64::UADDWT_ZZZ_H:
17808 case AArch64::UADDWT_ZZZ_S:
17809 case AArch64::UMULLB_ZZZ_D:
17810 case AArch64::UMULLB_ZZZ_H:
17811 case AArch64::UMULLB_ZZZ_S:
17812 case AArch64::UMULLT_ZZZ_D:
17813 case AArch64::UMULLT_ZZZ_H:
17814 case AArch64::UMULLT_ZZZ_S:
17815 case AArch64::USUBLB_ZZZ_D:
17816 case AArch64::USUBLB_ZZZ_H:
17817 case AArch64::USUBLB_ZZZ_S:
17818 case AArch64::USUBLT_ZZZ_D:
17819 case AArch64::USUBLT_ZZZ_H:
17820 case AArch64::USUBLT_ZZZ_S:
17821 case AArch64::USUBWB_ZZZ_D:
17822 case AArch64::USUBWB_ZZZ_H:
17823 case AArch64::USUBWB_ZZZ_S:
17824 case AArch64::USUBWT_ZZZ_D:
17825 case AArch64::USUBWT_ZZZ_H:
17826 case AArch64::USUBWT_ZZZ_S:
17827 case AArch64::UZPQ1_ZZZ_B:
17828 case AArch64::UZPQ1_ZZZ_D:
17829 case AArch64::UZPQ1_ZZZ_H:
17830 case AArch64::UZPQ1_ZZZ_S:
17831 case AArch64::UZPQ2_ZZZ_B:
17832 case AArch64::UZPQ2_ZZZ_D:
17833 case AArch64::UZPQ2_ZZZ_H:
17834 case AArch64::UZPQ2_ZZZ_S:
17835 case AArch64::ZIPQ1_ZZZ_B:
17836 case AArch64::ZIPQ1_ZZZ_D:
17837 case AArch64::ZIPQ1_ZZZ_H:
17838 case AArch64::ZIPQ1_ZZZ_S:
17839 case AArch64::ZIPQ2_ZZZ_B:
17840 case AArch64::ZIPQ2_ZZZ_D:
17841 case AArch64::ZIPQ2_ZZZ_H:
17842 case AArch64::ZIPQ2_ZZZ_S: {
17843 // op: Zd
17844 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17845 Value |= (op & 0x1f);
17846 // op: Zn
17847 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17848 Value |= (op & 0x1f) << 5;
17849 // op: Zm
17850 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17851 Value |= (op & 0x1f) << 16;
17852 break;
17853 }
17854 case AArch64::LUTI4_ZZZI_B:
17855 case AArch64::LUTI6_Z2ZZI_H: {
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 // op: idx
17866 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17867 Value |= (op & 0x1) << 23;
17868 break;
17869 }
17870 case AArch64::LUTI2_ZZZI_B:
17871 case AArch64::LUTI4_Z2ZZI:
17872 case AArch64::LUTI4_ZZZI_H: {
17873 // op: Zd
17874 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17875 Value |= (op & 0x1f);
17876 // op: Zn
17877 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17878 Value |= (op & 0x1f) << 5;
17879 // op: Zm
17880 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17881 Value |= (op & 0x1f) << 16;
17882 // op: idx
17883 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17884 Value |= (op & 0x3) << 22;
17885 break;
17886 }
17887 case AArch64::LUTI2_ZZZI_H: {
17888 // op: Zd
17889 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17890 Value |= (op & 0x1f);
17891 // op: Zn
17892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17893 Value |= (op & 0x1f) << 5;
17894 // op: Zm
17895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17896 Value |= (op & 0x1f) << 16;
17897 // op: idx
17898 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17899 Value |= (op & 0x6) << 21;
17900 Value |= (op & 0x1) << 12;
17901 break;
17902 }
17903 case AArch64::FMUL_ZZZI_S:
17904 case AArch64::MUL_ZZZI_S:
17905 case AArch64::SQDMULH_ZZZI_S:
17906 case AArch64::SQRDMULH_ZZZI_S: {
17907 // op: Zd
17908 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17909 Value |= (op & 0x1f);
17910 // op: Zn
17911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17912 Value |= (op & 0x1f) << 5;
17913 // op: Zm
17914 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17915 Value |= (op & 0x7) << 16;
17916 // op: iop
17917 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17918 Value |= (op & 0x3) << 19;
17919 break;
17920 }
17921 case AArch64::BFMUL_ZZZI:
17922 case AArch64::FMUL_ZZZI_H:
17923 case AArch64::MUL_ZZZI_H:
17924 case AArch64::SQDMULH_ZZZI_H:
17925 case AArch64::SQRDMULH_ZZZI_H: {
17926 // op: Zd
17927 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17928 Value |= (op & 0x1f);
17929 // op: Zn
17930 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17931 Value |= (op & 0x1f) << 5;
17932 // op: Zm
17933 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17934 Value |= (op & 0x7) << 16;
17935 // op: iop
17936 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17937 Value |= (op & 0x4) << 20;
17938 Value |= (op & 0x3) << 19;
17939 break;
17940 }
17941 case AArch64::SMULLB_ZZZI_S:
17942 case AArch64::SMULLT_ZZZI_S:
17943 case AArch64::SQDMULLB_ZZZI_S:
17944 case AArch64::SQDMULLT_ZZZI_S:
17945 case AArch64::UMULLB_ZZZI_S:
17946 case AArch64::UMULLT_ZZZI_S: {
17947 // op: Zd
17948 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17949 Value |= (op & 0x1f);
17950 // op: Zn
17951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17952 Value |= (op & 0x1f) << 5;
17953 // op: Zm
17954 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17955 Value |= (op & 0x7) << 16;
17956 // op: iop
17957 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17958 Value |= (op & 0x6) << 18;
17959 Value |= (op & 0x1) << 11;
17960 break;
17961 }
17962 case AArch64::FMUL_ZZZI_D:
17963 case AArch64::MUL_ZZZI_D:
17964 case AArch64::SQDMULH_ZZZI_D:
17965 case AArch64::SQRDMULH_ZZZI_D: {
17966 // op: Zd
17967 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17968 Value |= (op & 0x1f);
17969 // op: Zn
17970 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17971 Value |= (op & 0x1f) << 5;
17972 // op: Zm
17973 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17974 Value |= (op & 0xf) << 16;
17975 // op: iop
17976 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17977 Value |= (op & 0x1) << 20;
17978 break;
17979 }
17980 case AArch64::SMULLB_ZZZI_D:
17981 case AArch64::SMULLT_ZZZI_D:
17982 case AArch64::SQDMULLB_ZZZI_D:
17983 case AArch64::SQDMULLT_ZZZI_D:
17984 case AArch64::UMULLB_ZZZI_D:
17985 case AArch64::UMULLT_ZZZI_D: {
17986 // op: Zd
17987 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17988 Value |= (op & 0x1f);
17989 // op: Zn
17990 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17991 Value |= (op & 0x1f) << 5;
17992 // op: Zm
17993 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17994 Value |= (op & 0xf) << 16;
17995 // op: iop
17996 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17997 Value |= (op & 0x2) << 19;
17998 Value |= (op & 0x1) << 11;
17999 break;
18000 }
18001 case AArch64::DUP_ZZI_H: {
18002 // op: Zd
18003 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18004 Value |= (op & 0x1f);
18005 // op: Zn
18006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18007 Value |= (op & 0x1f) << 5;
18008 // op: idx
18009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18010 Value |= (op & 0x18) << 19;
18011 Value |= (op & 0x7) << 18;
18012 break;
18013 }
18014 case AArch64::DUP_ZZI_Q: {
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 & 0x3) << 22;
18024 break;
18025 }
18026 case AArch64::DUP_ZZI_B: {
18027 // op: Zd
18028 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18029 Value |= (op & 0x1f);
18030 // op: Zn
18031 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18032 Value |= (op & 0x1f) << 5;
18033 // op: idx
18034 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18035 Value |= (op & 0x30) << 18;
18036 Value |= (op & 0xf) << 17;
18037 break;
18038 }
18039 case AArch64::DUP_ZZI_D: {
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 & 0x6) << 21;
18049 Value |= (op & 0x1) << 20;
18050 break;
18051 }
18052 case AArch64::DUP_ZZI_S: {
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 & 0xc) << 20;
18062 Value |= (op & 0x3) << 19;
18063 break;
18064 }
18065 case AArch64::LSL_ZZI_H:
18066 case AArch64::SSHLLB_ZZI_S:
18067 case AArch64::SSHLLT_ZZI_S:
18068 case AArch64::USHLLB_ZZI_S:
18069 case AArch64::USHLLT_ZZI_S: {
18070 // op: Zd
18071 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18072 Value |= (op & 0x1f);
18073 // op: Zn
18074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18075 Value |= (op & 0x1f) << 5;
18076 // op: imm
18077 op = getVecShiftL16OpValue(MI, OpIdx: 2, Fixups, STI);
18078 Value |= (op & 0xf) << 16;
18079 break;
18080 }
18081 case AArch64::LSL_ZZI_S:
18082 case AArch64::SSHLLB_ZZI_D:
18083 case AArch64::SSHLLT_ZZI_D:
18084 case AArch64::USHLLB_ZZI_D:
18085 case AArch64::USHLLT_ZZI_D: {
18086 // op: Zd
18087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18088 Value |= (op & 0x1f);
18089 // op: Zn
18090 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18091 Value |= (op & 0x1f) << 5;
18092 // op: imm
18093 op = getVecShiftL32OpValue(MI, OpIdx: 2, Fixups, STI);
18094 Value |= (op & 0x1f) << 16;
18095 break;
18096 }
18097 case AArch64::LSL_ZZI_D: {
18098 // op: Zd
18099 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18100 Value |= (op & 0x1f);
18101 // op: Zn
18102 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18103 Value |= (op & 0x1f) << 5;
18104 // op: imm
18105 op = getVecShiftL64OpValue(MI, OpIdx: 2, Fixups, STI);
18106 Value |= (op & 0x20) << 17;
18107 Value |= (op & 0x1f) << 16;
18108 break;
18109 }
18110 case AArch64::LSL_ZZI_B:
18111 case AArch64::SSHLLB_ZZI_H:
18112 case AArch64::SSHLLT_ZZI_H:
18113 case AArch64::USHLLB_ZZI_H:
18114 case AArch64::USHLLT_ZZI_H: {
18115 // op: Zd
18116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18117 Value |= (op & 0x1f);
18118 // op: Zn
18119 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18120 Value |= (op & 0x1f) << 5;
18121 // op: imm
18122 op = getVecShiftL8OpValue(MI, OpIdx: 2, Fixups, STI);
18123 Value |= (op & 0x7) << 16;
18124 break;
18125 }
18126 case AArch64::ASR_ZZI_H:
18127 case AArch64::LSR_ZZI_H:
18128 case AArch64::RSHRNB_ZZI_H:
18129 case AArch64::SHRNB_ZZI_H:
18130 case AArch64::SQRSHRNB_ZZI_H:
18131 case AArch64::SQRSHRUNB_ZZI_H:
18132 case AArch64::SQSHRNB_ZZI_H:
18133 case AArch64::SQSHRUNB_ZZI_H:
18134 case AArch64::UQRSHRNB_ZZI_H:
18135 case AArch64::UQSHRNB_ZZI_H: {
18136 // op: Zd
18137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18138 Value |= (op & 0x1f);
18139 // op: Zn
18140 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18141 Value |= (op & 0x1f) << 5;
18142 // op: imm
18143 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
18144 Value |= (op & 0xf) << 16;
18145 break;
18146 }
18147 case AArch64::ASR_ZZI_S:
18148 case AArch64::LSR_ZZI_S:
18149 case AArch64::RSHRNB_ZZI_S:
18150 case AArch64::SHRNB_ZZI_S:
18151 case AArch64::SQRSHRNB_ZZI_S:
18152 case AArch64::SQRSHRUNB_ZZI_S:
18153 case AArch64::SQSHRNB_ZZI_S:
18154 case AArch64::SQSHRUNB_ZZI_S:
18155 case AArch64::UQRSHRNB_ZZI_S:
18156 case AArch64::UQSHRNB_ZZI_S: {
18157 // op: Zd
18158 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18159 Value |= (op & 0x1f);
18160 // op: Zn
18161 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18162 Value |= (op & 0x1f) << 5;
18163 // op: imm
18164 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
18165 Value |= (op & 0x1f) << 16;
18166 break;
18167 }
18168 case AArch64::ASR_ZZI_D:
18169 case AArch64::LSR_ZZI_D: {
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 = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
18178 Value |= (op & 0x20) << 17;
18179 Value |= (op & 0x1f) << 16;
18180 break;
18181 }
18182 case AArch64::ASR_ZZI_B:
18183 case AArch64::LSR_ZZI_B:
18184 case AArch64::RSHRNB_ZZI_B:
18185 case AArch64::SHRNB_ZZI_B:
18186 case AArch64::SQRSHRNB_ZZI_B:
18187 case AArch64::SQRSHRUNB_ZZI_B:
18188 case AArch64::SQSHRNB_ZZI_B:
18189 case AArch64::SQSHRUNB_ZZI_B:
18190 case AArch64::UQRSHRNB_ZZI_B:
18191 case AArch64::UQSHRNB_ZZI_B: {
18192 // op: Zd
18193 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18194 Value |= (op & 0x1f);
18195 // op: Zn
18196 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18197 Value |= (op & 0x1f) << 5;
18198 // op: imm
18199 op = getVecShiftR8OpValue(MI, OpIdx: 2, Fixups, STI);
18200 Value |= (op & 0x7) << 16;
18201 break;
18202 }
18203 case AArch64::EXT_ZZI_B: {
18204 // op: Zd
18205 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18206 Value |= (op & 0x1f);
18207 // op: Zn
18208 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18209 Value |= (op & 0x1f) << 5;
18210 // op: imm8
18211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18212 Value |= (op & 0xf8) << 13;
18213 Value |= (op & 0x7) << 10;
18214 break;
18215 }
18216 case AArch64::DUPQ_ZZI_D: {
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: index
18224 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18225 Value |= (op & 0x1) << 20;
18226 break;
18227 }
18228 case AArch64::DUPQ_ZZI_S: {
18229 // op: Zd
18230 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18231 Value |= (op & 0x1f);
18232 // op: Zn
18233 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18234 Value |= (op & 0x1f) << 5;
18235 // op: index
18236 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18237 Value |= (op & 0x3) << 19;
18238 break;
18239 }
18240 case AArch64::DUPQ_ZZI_H: {
18241 // op: Zd
18242 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18243 Value |= (op & 0x1f);
18244 // op: Zn
18245 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18246 Value |= (op & 0x1f) << 5;
18247 // op: index
18248 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18249 Value |= (op & 0x7) << 18;
18250 break;
18251 }
18252 case AArch64::DUPQ_ZZI_B: {
18253 // op: Zd
18254 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18255 Value |= (op & 0x1f);
18256 // op: Zn
18257 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18258 Value |= (op & 0x1f) << 5;
18259 // op: index
18260 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18261 Value |= (op & 0xf) << 17;
18262 break;
18263 }
18264 case AArch64::LUTI6_ZTZ:
18265 case AArch64::SQXTNT_ZZ_B:
18266 case AArch64::SQXTNT_ZZ_H:
18267 case AArch64::SQXTNT_ZZ_S:
18268 case AArch64::SQXTUNT_ZZ_B:
18269 case AArch64::SQXTUNT_ZZ_H:
18270 case AArch64::SQXTUNT_ZZ_S:
18271 case AArch64::UQXTNT_ZZ_B:
18272 case AArch64::UQXTNT_ZZ_H:
18273 case AArch64::UQXTNT_ZZ_S: {
18274 // op: Zd
18275 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18276 Value |= (op & 0x1f);
18277 // op: Zn
18278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18279 Value |= (op & 0x1f) << 5;
18280 break;
18281 }
18282 case AArch64::FCVTLT_ZPzZ_HtoS:
18283 case AArch64::FCVTLT_ZPzZ_StoD: {
18284 // op: Zd
18285 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18286 Value |= (op & 0x1f);
18287 // op: Zn
18288 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18289 Value |= (op & 0x1f) << 5;
18290 // op: Pg
18291 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18292 Value |= (op & 0x7) << 10;
18293 break;
18294 }
18295 case AArch64::HISTCNT_ZPzZZ_D:
18296 case AArch64::HISTCNT_ZPzZZ_S: {
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 // op: Zm
18307 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18308 Value |= (op & 0x1f) << 16;
18309 break;
18310 }
18311 case AArch64::ADDHNT_ZZZ_B:
18312 case AArch64::ADDHNT_ZZZ_H:
18313 case AArch64::ADDHNT_ZZZ_S:
18314 case AArch64::EORBT_ZZZ_B:
18315 case AArch64::EORBT_ZZZ_D:
18316 case AArch64::EORBT_ZZZ_H:
18317 case AArch64::EORBT_ZZZ_S:
18318 case AArch64::EORTB_ZZZ_B:
18319 case AArch64::EORTB_ZZZ_D:
18320 case AArch64::EORTB_ZZZ_H:
18321 case AArch64::EORTB_ZZZ_S:
18322 case AArch64::RADDHNT_ZZZ_B:
18323 case AArch64::RADDHNT_ZZZ_H:
18324 case AArch64::RADDHNT_ZZZ_S:
18325 case AArch64::RSUBHNT_ZZZ_B:
18326 case AArch64::RSUBHNT_ZZZ_H:
18327 case AArch64::RSUBHNT_ZZZ_S:
18328 case AArch64::SUBHNT_ZZZ_B:
18329 case AArch64::SUBHNT_ZZZ_H:
18330 case AArch64::SUBHNT_ZZZ_S: {
18331 // op: Zd
18332 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18333 Value |= (op & 0x1f);
18334 // op: Zn
18335 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18336 Value |= (op & 0x1f) << 5;
18337 // op: Zm
18338 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18339 Value |= (op & 0x1f) << 16;
18340 break;
18341 }
18342 case AArch64::SLI_ZZI_H: {
18343 // op: Zd
18344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18345 Value |= (op & 0x1f);
18346 // op: Zn
18347 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18348 Value |= (op & 0x1f) << 5;
18349 // op: imm
18350 op = getVecShiftL16OpValue(MI, OpIdx: 3, Fixups, STI);
18351 Value |= (op & 0xf) << 16;
18352 break;
18353 }
18354 case AArch64::SLI_ZZI_S: {
18355 // op: Zd
18356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18357 Value |= (op & 0x1f);
18358 // op: Zn
18359 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18360 Value |= (op & 0x1f) << 5;
18361 // op: imm
18362 op = getVecShiftL32OpValue(MI, OpIdx: 3, Fixups, STI);
18363 Value |= (op & 0x1f) << 16;
18364 break;
18365 }
18366 case AArch64::SLI_ZZI_D: {
18367 // op: Zd
18368 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18369 Value |= (op & 0x1f);
18370 // op: Zn
18371 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18372 Value |= (op & 0x1f) << 5;
18373 // op: imm
18374 op = getVecShiftL64OpValue(MI, OpIdx: 3, Fixups, STI);
18375 Value |= (op & 0x20) << 17;
18376 Value |= (op & 0x1f) << 16;
18377 break;
18378 }
18379 case AArch64::SLI_ZZI_B: {
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 = getVecShiftL8OpValue(MI, OpIdx: 3, Fixups, STI);
18388 Value |= (op & 0x7) << 16;
18389 break;
18390 }
18391 case AArch64::RSHRNT_ZZI_H:
18392 case AArch64::SHRNT_ZZI_H:
18393 case AArch64::SQRSHRNT_ZZI_H:
18394 case AArch64::SQRSHRUNT_ZZI_H:
18395 case AArch64::SQSHRNT_ZZI_H:
18396 case AArch64::SQSHRUNT_ZZI_H:
18397 case AArch64::SRI_ZZI_H:
18398 case AArch64::UQRSHRNT_ZZI_H:
18399 case AArch64::UQSHRNT_ZZI_H: {
18400 // op: Zd
18401 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18402 Value |= (op & 0x1f);
18403 // op: Zn
18404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18405 Value |= (op & 0x1f) << 5;
18406 // op: imm
18407 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
18408 Value |= (op & 0xf) << 16;
18409 break;
18410 }
18411 case AArch64::RSHRNT_ZZI_S:
18412 case AArch64::SHRNT_ZZI_S:
18413 case AArch64::SQRSHRNT_ZZI_S:
18414 case AArch64::SQRSHRUNT_ZZI_S:
18415 case AArch64::SQSHRNT_ZZI_S:
18416 case AArch64::SQSHRUNT_ZZI_S:
18417 case AArch64::SRI_ZZI_S:
18418 case AArch64::UQRSHRNT_ZZI_S:
18419 case AArch64::UQSHRNT_ZZI_S: {
18420 // op: Zd
18421 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18422 Value |= (op & 0x1f);
18423 // op: Zn
18424 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18425 Value |= (op & 0x1f) << 5;
18426 // op: imm
18427 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
18428 Value |= (op & 0x1f) << 16;
18429 break;
18430 }
18431 case AArch64::SRI_ZZI_D: {
18432 // op: Zd
18433 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18434 Value |= (op & 0x1f);
18435 // op: Zn
18436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18437 Value |= (op & 0x1f) << 5;
18438 // op: imm
18439 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
18440 Value |= (op & 0x20) << 17;
18441 Value |= (op & 0x1f) << 16;
18442 break;
18443 }
18444 case AArch64::RSHRNT_ZZI_B:
18445 case AArch64::SHRNT_ZZI_B:
18446 case AArch64::SQRSHRNT_ZZI_B:
18447 case AArch64::SQRSHRUNT_ZZI_B:
18448 case AArch64::SQSHRNT_ZZI_B:
18449 case AArch64::SQSHRUNT_ZZI_B:
18450 case AArch64::SRI_ZZI_B:
18451 case AArch64::UQRSHRNT_ZZI_B:
18452 case AArch64::UQSHRNT_ZZI_B: {
18453 // op: Zd
18454 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18455 Value |= (op & 0x1f);
18456 // op: Zn
18457 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18458 Value |= (op & 0x1f) << 5;
18459 // op: imm
18460 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
18461 Value |= (op & 0x7) << 16;
18462 break;
18463 }
18464 case AArch64::BFCVTNT_ZPmZ:
18465 case AArch64::BFCVTNT_ZPzZ_StoH:
18466 case AArch64::FCVTLT_ZPmZ_HtoS:
18467 case AArch64::FCVTLT_ZPmZ_StoD:
18468 case AArch64::FCVTNT_ZPmZ_DtoS:
18469 case AArch64::FCVTNT_ZPmZ_StoH:
18470 case AArch64::FCVTNT_ZPzZ_DtoS:
18471 case AArch64::FCVTNT_ZPzZ_StoH:
18472 case AArch64::FCVTXNT_ZPmZ_DtoS:
18473 case AArch64::FCVTXNT_ZPzZ_StoD: {
18474 // op: Zd
18475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18476 Value |= (op & 0x1f);
18477 // op: Zn
18478 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18479 Value |= (op & 0x1f) << 5;
18480 // op: Pg
18481 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18482 Value |= (op & 0x7) << 10;
18483 break;
18484 }
18485 case AArch64::DUP_ZI_B:
18486 case AArch64::DUP_ZI_D:
18487 case AArch64::DUP_ZI_H:
18488 case AArch64::DUP_ZI_S: {
18489 // op: Zd
18490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18491 Value |= (op & 0x1f);
18492 // op: imm
18493 op = getImm8OptLsl(MI, OpIdx: 1, Fixups, STI);
18494 Value |= (op & 0x1ff) << 5;
18495 break;
18496 }
18497 case AArch64::INDEX_II_B:
18498 case AArch64::INDEX_II_D:
18499 case AArch64::INDEX_II_H:
18500 case AArch64::INDEX_II_S: {
18501 // op: Zd
18502 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18503 Value |= (op & 0x1f);
18504 // op: imm5
18505 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18506 Value |= (op & 0x1f) << 5;
18507 // op: imm5b
18508 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18509 Value |= (op & 0x1f) << 16;
18510 break;
18511 }
18512 case AArch64::FDUP_ZI_D:
18513 case AArch64::FDUP_ZI_H:
18514 case AArch64::FDUP_ZI_S: {
18515 // op: Zd
18516 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18517 Value |= (op & 0x1f);
18518 // op: imm8
18519 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18520 Value |= (op & 0xff) << 5;
18521 break;
18522 }
18523 case AArch64::DUPM_ZI: {
18524 // op: Zd
18525 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18526 Value |= (op & 0x1f);
18527 // op: imms
18528 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18529 Value |= (op & 0x1fff) << 5;
18530 break;
18531 }
18532 case AArch64::FCMLA_ZPmZZ_D:
18533 case AArch64::FCMLA_ZPmZZ_H:
18534 case AArch64::FCMLA_ZPmZZ_S: {
18535 // op: Zda
18536 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18537 Value |= (op & 0x1f);
18538 // op: Pg
18539 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18540 Value |= (op & 0x7) << 10;
18541 // op: Zn
18542 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18543 Value |= (op & 0x1f) << 5;
18544 // op: Zm
18545 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18546 Value |= (op & 0x1f) << 16;
18547 // op: imm
18548 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
18549 Value |= (op & 0x3) << 13;
18550 break;
18551 }
18552 case AArch64::ADCLB_ZZZ_D:
18553 case AArch64::ADCLB_ZZZ_S:
18554 case AArch64::ADCLT_ZZZ_D:
18555 case AArch64::ADCLT_ZZZ_S:
18556 case AArch64::BFDOT_ZZZ:
18557 case AArch64::BFMLALB_ZZZ:
18558 case AArch64::BFMLALT_ZZZ:
18559 case AArch64::BFMLSLB_ZZZ_S:
18560 case AArch64::BFMLSLT_ZZZ_S:
18561 case AArch64::BFMMLA_ZZZ_H:
18562 case AArch64::BFMMLA_ZZZ_HtoS:
18563 case AArch64::FDOT_ZZZ_BtoH:
18564 case AArch64::FDOT_ZZZ_BtoS:
18565 case AArch64::FDOT_ZZZ_S:
18566 case AArch64::FMLALB_ZZZ:
18567 case AArch64::FMLALB_ZZZ_SHH:
18568 case AArch64::FMLALLBB_ZZZ:
18569 case AArch64::FMLALLBT_ZZZ:
18570 case AArch64::FMLALLTB_ZZZ:
18571 case AArch64::FMLALLTT_ZZZ:
18572 case AArch64::FMLALT_ZZZ:
18573 case AArch64::FMLALT_ZZZ_SHH:
18574 case AArch64::FMLLA_ZZZ_HtoS:
18575 case AArch64::FMLSLB_ZZZ_SHH:
18576 case AArch64::FMLSLT_ZZZ_SHH:
18577 case AArch64::FMMLA_ZZZ_BtoH:
18578 case AArch64::FMMLA_ZZZ_BtoS:
18579 case AArch64::FMMLA_ZZZ_D:
18580 case AArch64::FMMLA_ZZZ_H:
18581 case AArch64::FMMLA_ZZZ_S:
18582 case AArch64::MLA_CPA:
18583 case AArch64::SABALB_ZZZ_D:
18584 case AArch64::SABALB_ZZZ_H:
18585 case AArch64::SABALB_ZZZ_S:
18586 case AArch64::SABALT_ZZZ_D:
18587 case AArch64::SABALT_ZZZ_H:
18588 case AArch64::SABALT_ZZZ_S:
18589 case AArch64::SABAL_ZZZ_BtoH:
18590 case AArch64::SABAL_ZZZ_HtoS:
18591 case AArch64::SABAL_ZZZ_StoD:
18592 case AArch64::SABA_ZZZ_B:
18593 case AArch64::SABA_ZZZ_D:
18594 case AArch64::SABA_ZZZ_H:
18595 case AArch64::SABA_ZZZ_S:
18596 case AArch64::SBCLB_ZZZ_D:
18597 case AArch64::SBCLB_ZZZ_S:
18598 case AArch64::SBCLT_ZZZ_D:
18599 case AArch64::SBCLT_ZZZ_S:
18600 case AArch64::SDOT_ZZZ_BtoH:
18601 case AArch64::SDOT_ZZZ_BtoS:
18602 case AArch64::SDOT_ZZZ_HtoD:
18603 case AArch64::SDOT_ZZZ_HtoS:
18604 case AArch64::SMLALB_ZZZ_D:
18605 case AArch64::SMLALB_ZZZ_H:
18606 case AArch64::SMLALB_ZZZ_S:
18607 case AArch64::SMLALT_ZZZ_D:
18608 case AArch64::SMLALT_ZZZ_H:
18609 case AArch64::SMLALT_ZZZ_S:
18610 case AArch64::SMLSLB_ZZZ_D:
18611 case AArch64::SMLSLB_ZZZ_H:
18612 case AArch64::SMLSLB_ZZZ_S:
18613 case AArch64::SMLSLT_ZZZ_D:
18614 case AArch64::SMLSLT_ZZZ_H:
18615 case AArch64::SMLSLT_ZZZ_S:
18616 case AArch64::SMMLA_ZZZ:
18617 case AArch64::SQDMLALBT_ZZZ_D:
18618 case AArch64::SQDMLALBT_ZZZ_H:
18619 case AArch64::SQDMLALBT_ZZZ_S:
18620 case AArch64::SQDMLALB_ZZZ_D:
18621 case AArch64::SQDMLALB_ZZZ_H:
18622 case AArch64::SQDMLALB_ZZZ_S:
18623 case AArch64::SQDMLALT_ZZZ_D:
18624 case AArch64::SQDMLALT_ZZZ_H:
18625 case AArch64::SQDMLALT_ZZZ_S:
18626 case AArch64::SQDMLSLBT_ZZZ_D:
18627 case AArch64::SQDMLSLBT_ZZZ_H:
18628 case AArch64::SQDMLSLBT_ZZZ_S:
18629 case AArch64::SQDMLSLB_ZZZ_D:
18630 case AArch64::SQDMLSLB_ZZZ_H:
18631 case AArch64::SQDMLSLB_ZZZ_S:
18632 case AArch64::SQDMLSLT_ZZZ_D:
18633 case AArch64::SQDMLSLT_ZZZ_H:
18634 case AArch64::SQDMLSLT_ZZZ_S:
18635 case AArch64::SQRDMLAH_ZZZ_B:
18636 case AArch64::SQRDMLAH_ZZZ_D:
18637 case AArch64::SQRDMLAH_ZZZ_H:
18638 case AArch64::SQRDMLAH_ZZZ_S:
18639 case AArch64::SQRDMLSH_ZZZ_B:
18640 case AArch64::SQRDMLSH_ZZZ_D:
18641 case AArch64::SQRDMLSH_ZZZ_H:
18642 case AArch64::SQRDMLSH_ZZZ_S:
18643 case AArch64::UABALB_ZZZ_D:
18644 case AArch64::UABALB_ZZZ_H:
18645 case AArch64::UABALB_ZZZ_S:
18646 case AArch64::UABALT_ZZZ_D:
18647 case AArch64::UABALT_ZZZ_H:
18648 case AArch64::UABALT_ZZZ_S:
18649 case AArch64::UABAL_ZZZ_BtoH:
18650 case AArch64::UABAL_ZZZ_HtoS:
18651 case AArch64::UABAL_ZZZ_StoD:
18652 case AArch64::UABA_ZZZ_B:
18653 case AArch64::UABA_ZZZ_D:
18654 case AArch64::UABA_ZZZ_H:
18655 case AArch64::UABA_ZZZ_S:
18656 case AArch64::UDOT_ZZZ_BtoH:
18657 case AArch64::UDOT_ZZZ_BtoS:
18658 case AArch64::UDOT_ZZZ_HtoD:
18659 case AArch64::UDOT_ZZZ_HtoS:
18660 case AArch64::UMLALB_ZZZ_D:
18661 case AArch64::UMLALB_ZZZ_H:
18662 case AArch64::UMLALB_ZZZ_S:
18663 case AArch64::UMLALT_ZZZ_D:
18664 case AArch64::UMLALT_ZZZ_H:
18665 case AArch64::UMLALT_ZZZ_S:
18666 case AArch64::UMLSLB_ZZZ_D:
18667 case AArch64::UMLSLB_ZZZ_H:
18668 case AArch64::UMLSLB_ZZZ_S:
18669 case AArch64::UMLSLT_ZZZ_D:
18670 case AArch64::UMLSLT_ZZZ_H:
18671 case AArch64::UMLSLT_ZZZ_S:
18672 case AArch64::UMMLA_ZZZ:
18673 case AArch64::USDOT_ZZZ:
18674 case AArch64::USMMLA_ZZZ: {
18675 // op: Zda
18676 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18677 Value |= (op & 0x1f);
18678 // op: Zn
18679 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18680 Value |= (op & 0x1f) << 5;
18681 // op: Zm
18682 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18683 Value |= (op & 0x1f) << 16;
18684 break;
18685 }
18686 case AArch64::CDOT_ZZZ_D:
18687 case AArch64::CDOT_ZZZ_S:
18688 case AArch64::CMLA_ZZZ_B:
18689 case AArch64::CMLA_ZZZ_D:
18690 case AArch64::CMLA_ZZZ_H:
18691 case AArch64::CMLA_ZZZ_S:
18692 case AArch64::SQRDCMLAH_ZZZ_B:
18693 case AArch64::SQRDCMLAH_ZZZ_D:
18694 case AArch64::SQRDCMLAH_ZZZ_H:
18695 case AArch64::SQRDCMLAH_ZZZ_S: {
18696 // op: Zda
18697 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18698 Value |= (op & 0x1f);
18699 // op: Zn
18700 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18701 Value |= (op & 0x1f) << 5;
18702 // op: Zm
18703 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18704 Value |= (op & 0x1f) << 16;
18705 // op: rot
18706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18707 Value |= (op & 0x3) << 10;
18708 break;
18709 }
18710 case AArch64::SDOT_ZZZI_HtoS:
18711 case AArch64::UDOT_ZZZI_HtoS: {
18712 // op: Zda
18713 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18714 Value |= (op & 0x1f);
18715 // op: Zn
18716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18717 Value |= (op & 0x1f) << 5;
18718 // op: Zm
18719 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18720 Value |= (op & 0x7) << 16;
18721 // op: i2
18722 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18723 Value |= (op & 0x3) << 19;
18724 break;
18725 }
18726 case AArch64::SUDOT_ZZZI:
18727 case AArch64::USDOT_ZZZI: {
18728 // op: Zda
18729 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18730 Value |= (op & 0x1f);
18731 // op: Zn
18732 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18733 Value |= (op & 0x1f) << 5;
18734 // op: Zm
18735 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18736 Value |= (op & 0x7) << 16;
18737 // op: idx
18738 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18739 Value |= (op & 0x3) << 19;
18740 break;
18741 }
18742 case AArch64::FMLALB_ZZZI:
18743 case AArch64::FMLALLBB_ZZZI:
18744 case AArch64::FMLALLBT_ZZZI:
18745 case AArch64::FMLALLTB_ZZZI:
18746 case AArch64::FMLALLTT_ZZZI:
18747 case AArch64::FMLALT_ZZZI: {
18748 // op: Zda
18749 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18750 Value |= (op & 0x1f);
18751 // op: Zn
18752 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18753 Value |= (op & 0x1f) << 5;
18754 // op: Zm
18755 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18756 Value |= (op & 0x7) << 16;
18757 // op: imm4
18758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18759 Value |= (op & 0xc) << 17;
18760 Value |= (op & 0x3) << 10;
18761 break;
18762 }
18763 case AArch64::BFDOT_ZZI:
18764 case AArch64::FDOT_ZZZI_BtoS:
18765 case AArch64::FDOT_ZZZI_S:
18766 case AArch64::FMLA_ZZZI_S:
18767 case AArch64::FMLS_ZZZI_S:
18768 case AArch64::MLA_ZZZI_S:
18769 case AArch64::MLS_ZZZI_S:
18770 case AArch64::SQRDMLAH_ZZZI_S:
18771 case AArch64::SQRDMLSH_ZZZI_S: {
18772 // op: Zda
18773 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18774 Value |= (op & 0x1f);
18775 // op: Zn
18776 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18777 Value |= (op & 0x1f) << 5;
18778 // op: Zm
18779 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18780 Value |= (op & 0x7) << 16;
18781 // op: iop
18782 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18783 Value |= (op & 0x3) << 19;
18784 break;
18785 }
18786 case AArch64::BFMLA_ZZZI:
18787 case AArch64::BFMLS_ZZZI:
18788 case AArch64::FMLA_ZZZI_H:
18789 case AArch64::FMLS_ZZZI_H:
18790 case AArch64::MLA_ZZZI_H:
18791 case AArch64::MLS_ZZZI_H:
18792 case AArch64::SQRDMLAH_ZZZI_H:
18793 case AArch64::SQRDMLSH_ZZZI_H: {
18794 // op: Zda
18795 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18796 Value |= (op & 0x1f);
18797 // op: Zn
18798 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18799 Value |= (op & 0x1f) << 5;
18800 // op: Zm
18801 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18802 Value |= (op & 0x7) << 16;
18803 // op: iop
18804 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18805 Value |= (op & 0x4) << 20;
18806 Value |= (op & 0x3) << 19;
18807 break;
18808 }
18809 case AArch64::BFMLALB_ZZZI:
18810 case AArch64::BFMLALT_ZZZI:
18811 case AArch64::BFMLSLB_ZZZI_S:
18812 case AArch64::BFMLSLT_ZZZI_S:
18813 case AArch64::FDOT_ZZZI_BtoH:
18814 case AArch64::FMLALB_ZZZI_SHH:
18815 case AArch64::FMLALT_ZZZI_SHH:
18816 case AArch64::FMLSLB_ZZZI_SHH:
18817 case AArch64::FMLSLT_ZZZI_SHH:
18818 case AArch64::SMLALB_ZZZI_S:
18819 case AArch64::SMLALT_ZZZI_S:
18820 case AArch64::SMLSLB_ZZZI_S:
18821 case AArch64::SMLSLT_ZZZI_S:
18822 case AArch64::SQDMLALB_ZZZI_S:
18823 case AArch64::SQDMLALT_ZZZI_S:
18824 case AArch64::SQDMLSLB_ZZZI_S:
18825 case AArch64::SQDMLSLT_ZZZI_S:
18826 case AArch64::UMLALB_ZZZI_S:
18827 case AArch64::UMLALT_ZZZI_S:
18828 case AArch64::UMLSLB_ZZZI_S:
18829 case AArch64::UMLSLT_ZZZI_S: {
18830 // op: Zda
18831 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18832 Value |= (op & 0x1f);
18833 // op: Zn
18834 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18835 Value |= (op & 0x1f) << 5;
18836 // op: Zm
18837 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18838 Value |= (op & 0x7) << 16;
18839 // op: iop
18840 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18841 Value |= (op & 0x6) << 18;
18842 Value |= (op & 0x1) << 11;
18843 break;
18844 }
18845 case AArch64::FMLA_ZZZI_D:
18846 case AArch64::FMLS_ZZZI_D:
18847 case AArch64::MLA_ZZZI_D:
18848 case AArch64::MLS_ZZZI_D:
18849 case AArch64::SQRDMLAH_ZZZI_D:
18850 case AArch64::SQRDMLSH_ZZZI_D: {
18851 // op: Zda
18852 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18853 Value |= (op & 0x1f);
18854 // op: Zn
18855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18856 Value |= (op & 0x1f) << 5;
18857 // op: Zm
18858 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18859 Value |= (op & 0xf) << 16;
18860 // op: iop
18861 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18862 Value |= (op & 0x1) << 20;
18863 break;
18864 }
18865 case AArch64::SMLALB_ZZZI_D:
18866 case AArch64::SMLALT_ZZZI_D:
18867 case AArch64::SMLSLB_ZZZI_D:
18868 case AArch64::SMLSLT_ZZZI_D:
18869 case AArch64::SQDMLALB_ZZZI_D:
18870 case AArch64::SQDMLALT_ZZZI_D:
18871 case AArch64::SQDMLSLB_ZZZI_D:
18872 case AArch64::SQDMLSLT_ZZZI_D:
18873 case AArch64::UMLALB_ZZZI_D:
18874 case AArch64::UMLALT_ZZZI_D:
18875 case AArch64::UMLSLB_ZZZI_D:
18876 case AArch64::UMLSLT_ZZZI_D: {
18877 // op: Zda
18878 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18879 Value |= (op & 0x1f);
18880 // op: Zn
18881 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18882 Value |= (op & 0x1f) << 5;
18883 // op: Zm
18884 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18885 Value |= (op & 0xf) << 16;
18886 // op: iop
18887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18888 Value |= (op & 0x2) << 19;
18889 Value |= (op & 0x1) << 11;
18890 break;
18891 }
18892 case AArch64::FCMLA_ZZZI_H: {
18893 // op: Zda
18894 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18895 Value |= (op & 0x1f);
18896 // op: Zn
18897 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18898 Value |= (op & 0x1f) << 5;
18899 // op: imm
18900 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
18901 Value |= (op & 0x3) << 10;
18902 // op: Zm
18903 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18904 Value |= (op & 0x7) << 16;
18905 // op: iop
18906 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18907 Value |= (op & 0x3) << 19;
18908 break;
18909 }
18910 case AArch64::FCMLA_ZZZI_S: {
18911 // op: Zda
18912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18913 Value |= (op & 0x1f);
18914 // op: Zn
18915 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18916 Value |= (op & 0x1f) << 5;
18917 // op: imm
18918 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
18919 Value |= (op & 0x3) << 10;
18920 // op: Zm
18921 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18922 Value |= (op & 0xf) << 16;
18923 // op: iop
18924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18925 Value |= (op & 0x1) << 20;
18926 break;
18927 }
18928 case AArch64::SRSRA_ZZI_H:
18929 case AArch64::SSRA_ZZI_H:
18930 case AArch64::URSRA_ZZI_H:
18931 case AArch64::USRA_ZZI_H: {
18932 // op: Zda
18933 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18934 Value |= (op & 0x1f);
18935 // op: Zn
18936 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18937 Value |= (op & 0x1f) << 5;
18938 // op: imm
18939 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
18940 Value |= (op & 0xf) << 16;
18941 break;
18942 }
18943 case AArch64::SRSRA_ZZI_S:
18944 case AArch64::SSRA_ZZI_S:
18945 case AArch64::URSRA_ZZI_S:
18946 case AArch64::USRA_ZZI_S: {
18947 // op: Zda
18948 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18949 Value |= (op & 0x1f);
18950 // op: Zn
18951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18952 Value |= (op & 0x1f) << 5;
18953 // op: imm
18954 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
18955 Value |= (op & 0x1f) << 16;
18956 break;
18957 }
18958 case AArch64::SRSRA_ZZI_D:
18959 case AArch64::SSRA_ZZI_D:
18960 case AArch64::URSRA_ZZI_D:
18961 case AArch64::USRA_ZZI_D: {
18962 // op: Zda
18963 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18964 Value |= (op & 0x1f);
18965 // op: Zn
18966 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18967 Value |= (op & 0x1f) << 5;
18968 // op: imm
18969 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
18970 Value |= (op & 0x20) << 17;
18971 Value |= (op & 0x1f) << 16;
18972 break;
18973 }
18974 case AArch64::SRSRA_ZZI_B:
18975 case AArch64::SSRA_ZZI_B:
18976 case AArch64::URSRA_ZZI_B:
18977 case AArch64::USRA_ZZI_B: {
18978 // op: Zda
18979 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18980 Value |= (op & 0x1f);
18981 // op: Zn
18982 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18983 Value |= (op & 0x1f) << 5;
18984 // op: imm
18985 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
18986 Value |= (op & 0x7) << 16;
18987 break;
18988 }
18989 case AArch64::SDOT_ZZZI_HtoD:
18990 case AArch64::UDOT_ZZZI_HtoD: {
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: iop
18998 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18999 Value |= (op & 0x1) << 20;
19000 // op: Zm
19001 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19002 Value |= (op & 0xf) << 16;
19003 break;
19004 }
19005 case AArch64::SDOT_ZZZI_BtoS:
19006 case AArch64::UDOT_ZZZI_BtoS: {
19007 // op: Zda
19008 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19009 Value |= (op & 0x1f);
19010 // op: Zn
19011 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19012 Value |= (op & 0x1f) << 5;
19013 // op: iop
19014 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19015 Value |= (op & 0x3) << 19;
19016 // op: Zm
19017 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19018 Value |= (op & 0x7) << 16;
19019 break;
19020 }
19021 case AArch64::SDOT_ZZZI_BtoH:
19022 case AArch64::UDOT_ZZZI_BtoH: {
19023 // op: Zda
19024 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19025 Value |= (op & 0x1f);
19026 // op: Zn
19027 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19028 Value |= (op & 0x1f) << 5;
19029 // op: iop
19030 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19031 Value |= (op & 0x4) << 20;
19032 Value |= (op & 0x3) << 19;
19033 // op: Zm
19034 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19035 Value |= (op & 0x7) << 16;
19036 break;
19037 }
19038 case AArch64::CDOT_ZZZI_D:
19039 case AArch64::CMLA_ZZZI_S:
19040 case AArch64::SQRDCMLAH_ZZZI_S: {
19041 // op: Zda
19042 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19043 Value |= (op & 0x1f);
19044 // op: Zn
19045 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19046 Value |= (op & 0x1f) << 5;
19047 // op: rot
19048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19049 Value |= (op & 0x3) << 10;
19050 // op: iop
19051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19052 Value |= (op & 0x1) << 20;
19053 // op: Zm
19054 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19055 Value |= (op & 0xf) << 16;
19056 break;
19057 }
19058 case AArch64::CDOT_ZZZI_S:
19059 case AArch64::CMLA_ZZZI_H:
19060 case AArch64::SQRDCMLAH_ZZZI_H: {
19061 // op: Zda
19062 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19063 Value |= (op & 0x1f);
19064 // op: Zn
19065 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19066 Value |= (op & 0x1f) << 5;
19067 // op: rot
19068 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19069 Value |= (op & 0x3) << 10;
19070 // op: iop
19071 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19072 Value |= (op & 0x3) << 19;
19073 // op: Zm
19074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19075 Value |= (op & 0x7) << 16;
19076 break;
19077 }
19078 case AArch64::AESIMC_ZZ_B:
19079 case AArch64::AESMC_ZZ_B: {
19080 // op: Zdn
19081 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19082 Value |= (op & 0x1f);
19083 break;
19084 }
19085 case AArch64::BCAX_ZZZZ:
19086 case AArch64::BSL1N_ZZZZ:
19087 case AArch64::BSL2N_ZZZZ:
19088 case AArch64::BSL_ZZZZ:
19089 case AArch64::EOR3_ZZZZ:
19090 case AArch64::NBSL_ZZZZ: {
19091 // op: Zdn
19092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19093 Value |= (op & 0x1f);
19094 // op: Zk
19095 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19096 Value |= (op & 0x1f) << 5;
19097 // op: Zm
19098 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19099 Value |= (op & 0x1f) << 16;
19100 break;
19101 }
19102 case AArch64::MAD_CPA: {
19103 // op: Zdn
19104 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19105 Value |= (op & 0x1f);
19106 // op: Zm
19107 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19108 Value |= (op & 0x1f) << 16;
19109 // op: Za
19110 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19111 Value |= (op & 0x1f) << 5;
19112 break;
19113 }
19114 case AArch64::AESD_ZZZ_B:
19115 case AArch64::AESE_ZZZ_B:
19116 case AArch64::SM4E_ZZZ_S: {
19117 // op: Zdn
19118 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19119 Value |= (op & 0x1f);
19120 // op: Zm
19121 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19122 Value |= (op & 0x1f) << 5;
19123 break;
19124 }
19125 case AArch64::XAR_ZZZI_H: {
19126 // op: Zdn
19127 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19128 Value |= (op & 0x1f);
19129 // op: Zm
19130 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19131 Value |= (op & 0x1f) << 5;
19132 // op: imm
19133 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
19134 Value |= (op & 0xf) << 16;
19135 break;
19136 }
19137 case AArch64::XAR_ZZZI_S: {
19138 // op: Zdn
19139 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19140 Value |= (op & 0x1f);
19141 // op: Zm
19142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19143 Value |= (op & 0x1f) << 5;
19144 // op: imm
19145 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
19146 Value |= (op & 0x1f) << 16;
19147 break;
19148 }
19149 case AArch64::XAR_ZZZI_D: {
19150 // op: Zdn
19151 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19152 Value |= (op & 0x1f);
19153 // op: Zm
19154 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19155 Value |= (op & 0x1f) << 5;
19156 // op: imm
19157 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
19158 Value |= (op & 0x20) << 17;
19159 Value |= (op & 0x1f) << 16;
19160 break;
19161 }
19162 case AArch64::XAR_ZZZI_B: {
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 = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
19171 Value |= (op & 0x7) << 16;
19172 break;
19173 }
19174 case AArch64::FTMAD_ZZI_D:
19175 case AArch64::FTMAD_ZZI_H:
19176 case AArch64::FTMAD_ZZI_S: {
19177 // op: Zdn
19178 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19179 Value |= (op & 0x1f);
19180 // op: Zm
19181 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19182 Value |= (op & 0x1f) << 5;
19183 // op: imm3
19184 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19185 Value |= (op & 0x7) << 16;
19186 break;
19187 }
19188 case AArch64::EXTQ_ZZI: {
19189 // op: Zdn
19190 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19191 Value |= (op & 0x1f);
19192 // op: Zm
19193 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19194 Value |= (op & 0x1f) << 5;
19195 // op: imm4
19196 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19197 Value |= (op & 0xf) << 16;
19198 break;
19199 }
19200 case AArch64::EXT_ZZI: {
19201 // op: Zdn
19202 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19203 Value |= (op & 0x1f);
19204 // op: Zm
19205 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19206 Value |= (op & 0x1f) << 5;
19207 // op: imm8
19208 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19209 Value |= (op & 0xf8) << 13;
19210 Value |= (op & 0x7) << 10;
19211 break;
19212 }
19213 case AArch64::CADD_ZZI_B:
19214 case AArch64::CADD_ZZI_D:
19215 case AArch64::CADD_ZZI_H:
19216 case AArch64::CADD_ZZI_S:
19217 case AArch64::SQCADD_ZZI_B:
19218 case AArch64::SQCADD_ZZI_D:
19219 case AArch64::SQCADD_ZZI_H:
19220 case AArch64::SQCADD_ZZI_S: {
19221 // op: Zdn
19222 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19223 Value |= (op & 0x1f);
19224 // op: Zm
19225 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19226 Value |= (op & 0x1f) << 5;
19227 // op: rot
19228 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19229 Value |= (op & 0x1) << 10;
19230 break;
19231 }
19232 case AArch64::FCADD_ZPmZ_D:
19233 case AArch64::FCADD_ZPmZ_H:
19234 case AArch64::FCADD_ZPmZ_S: {
19235 // op: Zdn
19236 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19237 Value |= (op & 0x1f);
19238 // op: Zm
19239 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19240 Value |= (op & 0x1f) << 5;
19241 // op: Pg
19242 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
19243 Value |= (op & 0x7) << 10;
19244 // op: imm
19245 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19246 Value |= (op & 0x1) << 16;
19247 break;
19248 }
19249 case AArch64::ADD_ZI_B:
19250 case AArch64::ADD_ZI_D:
19251 case AArch64::ADD_ZI_H:
19252 case AArch64::ADD_ZI_S:
19253 case AArch64::SQADD_ZI_B:
19254 case AArch64::SQADD_ZI_D:
19255 case AArch64::SQADD_ZI_H:
19256 case AArch64::SQADD_ZI_S:
19257 case AArch64::SQSUB_ZI_B:
19258 case AArch64::SQSUB_ZI_D:
19259 case AArch64::SQSUB_ZI_H:
19260 case AArch64::SQSUB_ZI_S:
19261 case AArch64::SUBR_ZI_B:
19262 case AArch64::SUBR_ZI_D:
19263 case AArch64::SUBR_ZI_H:
19264 case AArch64::SUBR_ZI_S:
19265 case AArch64::SUB_ZI_B:
19266 case AArch64::SUB_ZI_D:
19267 case AArch64::SUB_ZI_H:
19268 case AArch64::SUB_ZI_S:
19269 case AArch64::UQADD_ZI_B:
19270 case AArch64::UQADD_ZI_D:
19271 case AArch64::UQADD_ZI_H:
19272 case AArch64::UQADD_ZI_S:
19273 case AArch64::UQSUB_ZI_B:
19274 case AArch64::UQSUB_ZI_D:
19275 case AArch64::UQSUB_ZI_H:
19276 case AArch64::UQSUB_ZI_S: {
19277 // op: Zdn
19278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19279 Value |= (op & 0x1f);
19280 // op: imm
19281 op = getImm8OptLsl(MI, OpIdx: 2, Fixups, STI);
19282 Value |= (op & 0x1ff) << 5;
19283 break;
19284 }
19285 case AArch64::MUL_ZI_B:
19286 case AArch64::MUL_ZI_D:
19287 case AArch64::MUL_ZI_H:
19288 case AArch64::MUL_ZI_S:
19289 case AArch64::SMAX_ZI_B:
19290 case AArch64::SMAX_ZI_D:
19291 case AArch64::SMAX_ZI_H:
19292 case AArch64::SMAX_ZI_S:
19293 case AArch64::SMIN_ZI_B:
19294 case AArch64::SMIN_ZI_D:
19295 case AArch64::SMIN_ZI_H:
19296 case AArch64::SMIN_ZI_S:
19297 case AArch64::UMAX_ZI_B:
19298 case AArch64::UMAX_ZI_D:
19299 case AArch64::UMAX_ZI_H:
19300 case AArch64::UMAX_ZI_S:
19301 case AArch64::UMIN_ZI_B:
19302 case AArch64::UMIN_ZI_D:
19303 case AArch64::UMIN_ZI_H:
19304 case AArch64::UMIN_ZI_S: {
19305 // op: Zdn
19306 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19307 Value |= (op & 0x1f);
19308 // op: imm
19309 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19310 Value |= (op & 0xff) << 5;
19311 break;
19312 }
19313 case AArch64::AND_ZI:
19314 case AArch64::EOR_ZI:
19315 case AArch64::ORR_ZI: {
19316 // op: Zdn
19317 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19318 Value |= (op & 0x1f);
19319 // op: imms13
19320 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19321 Value |= (op & 0x1fff) << 5;
19322 break;
19323 }
19324 case AArch64::DECD_ZPiI:
19325 case AArch64::DECH_ZPiI:
19326 case AArch64::DECW_ZPiI:
19327 case AArch64::INCD_ZPiI:
19328 case AArch64::INCH_ZPiI:
19329 case AArch64::INCW_ZPiI:
19330 case AArch64::SQDECD_ZPiI:
19331 case AArch64::SQDECH_ZPiI:
19332 case AArch64::SQDECW_ZPiI:
19333 case AArch64::SQINCD_ZPiI:
19334 case AArch64::SQINCH_ZPiI:
19335 case AArch64::SQINCW_ZPiI:
19336 case AArch64::UQDECD_ZPiI:
19337 case AArch64::UQDECH_ZPiI:
19338 case AArch64::UQDECW_ZPiI:
19339 case AArch64::UQINCD_ZPiI:
19340 case AArch64::UQINCH_ZPiI:
19341 case AArch64::UQINCW_ZPiI: {
19342 // op: Zdn
19343 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19344 Value |= (op & 0x1f);
19345 // op: pattern
19346 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19347 Value |= (op & 0x1f) << 5;
19348 // op: imm4
19349 op = getSVEIncDecImm(MI, OpIdx: 3, Fixups, STI);
19350 Value |= (op & 0xf) << 16;
19351 break;
19352 }
19353 case AArch64::BFMAXNM_VG2_2Z2Z_H:
19354 case AArch64::BFMAX_VG2_2Z2Z_H:
19355 case AArch64::BFMINNM_VG2_2Z2Z_H:
19356 case AArch64::BFMIN_VG2_2Z2Z_H:
19357 case AArch64::BFSCALE_2Z2Z:
19358 case AArch64::FAMAX_2Z2Z_D:
19359 case AArch64::FAMAX_2Z2Z_H:
19360 case AArch64::FAMAX_2Z2Z_S:
19361 case AArch64::FAMIN_2Z2Z_D:
19362 case AArch64::FAMIN_2Z2Z_H:
19363 case AArch64::FAMIN_2Z2Z_S:
19364 case AArch64::FMAXNM_VG2_2Z2Z_D:
19365 case AArch64::FMAXNM_VG2_2Z2Z_H:
19366 case AArch64::FMAXNM_VG2_2Z2Z_S:
19367 case AArch64::FMAX_VG2_2Z2Z_D:
19368 case AArch64::FMAX_VG2_2Z2Z_H:
19369 case AArch64::FMAX_VG2_2Z2Z_S:
19370 case AArch64::FMINNM_VG2_2Z2Z_D:
19371 case AArch64::FMINNM_VG2_2Z2Z_H:
19372 case AArch64::FMINNM_VG2_2Z2Z_S:
19373 case AArch64::FMIN_VG2_2Z2Z_D:
19374 case AArch64::FMIN_VG2_2Z2Z_H:
19375 case AArch64::FMIN_VG2_2Z2Z_S:
19376 case AArch64::FSCALE_2Z2Z_D:
19377 case AArch64::FSCALE_2Z2Z_H:
19378 case AArch64::FSCALE_2Z2Z_S:
19379 case AArch64::SMAX_VG2_2Z2Z_B:
19380 case AArch64::SMAX_VG2_2Z2Z_D:
19381 case AArch64::SMAX_VG2_2Z2Z_H:
19382 case AArch64::SMAX_VG2_2Z2Z_S:
19383 case AArch64::SMIN_VG2_2Z2Z_B:
19384 case AArch64::SMIN_VG2_2Z2Z_D:
19385 case AArch64::SMIN_VG2_2Z2Z_H:
19386 case AArch64::SMIN_VG2_2Z2Z_S:
19387 case AArch64::SQDMULH_VG2_2Z2Z_B:
19388 case AArch64::SQDMULH_VG2_2Z2Z_D:
19389 case AArch64::SQDMULH_VG2_2Z2Z_H:
19390 case AArch64::SQDMULH_VG2_2Z2Z_S:
19391 case AArch64::SRSHL_VG2_2Z2Z_B:
19392 case AArch64::SRSHL_VG2_2Z2Z_D:
19393 case AArch64::SRSHL_VG2_2Z2Z_H:
19394 case AArch64::SRSHL_VG2_2Z2Z_S:
19395 case AArch64::UMAX_VG2_2Z2Z_B:
19396 case AArch64::UMAX_VG2_2Z2Z_D:
19397 case AArch64::UMAX_VG2_2Z2Z_H:
19398 case AArch64::UMAX_VG2_2Z2Z_S:
19399 case AArch64::UMIN_VG2_2Z2Z_B:
19400 case AArch64::UMIN_VG2_2Z2Z_D:
19401 case AArch64::UMIN_VG2_2Z2Z_H:
19402 case AArch64::UMIN_VG2_2Z2Z_S:
19403 case AArch64::URSHL_VG2_2Z2Z_B:
19404 case AArch64::URSHL_VG2_2Z2Z_D:
19405 case AArch64::URSHL_VG2_2Z2Z_H:
19406 case AArch64::URSHL_VG2_2Z2Z_S: {
19407 // op: Zm
19408 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
19409 Value |= (op & 0xf) << 17;
19410 // op: Zdn
19411 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19412 Value |= (op & 0xf) << 1;
19413 break;
19414 }
19415 case AArch64::FMLALL_VG2_M2Z2Z_BtoS:
19416 case AArch64::SMLALL_VG2_M2Z2Z_BtoS:
19417 case AArch64::SMLALL_VG2_M2Z2Z_HtoD:
19418 case AArch64::SMLSLL_VG2_M2Z2Z_BtoS:
19419 case AArch64::SMLSLL_VG2_M2Z2Z_HtoD:
19420 case AArch64::UMLALL_VG2_M2Z2Z_BtoS:
19421 case AArch64::UMLALL_VG2_M2Z2Z_HtoD:
19422 case AArch64::UMLSLL_VG2_M2Z2Z_BtoS:
19423 case AArch64::UMLSLL_VG2_M2Z2Z_HtoD:
19424 case AArch64::USMLALL_VG2_M2Z2Z_BtoS: {
19425 // op: Zm
19426 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 5, Fixups, STI);
19427 Value |= (op & 0xf) << 17;
19428 // op: Rv
19429 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19430 Value |= (op & 0x3) << 13;
19431 // op: Zn
19432 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19433 Value |= (op & 0xf) << 6;
19434 // op: imm
19435 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19436 Value |= (op & 0x1);
19437 break;
19438 }
19439 case AArch64::ADD_VG2_M2Z2Z_D:
19440 case AArch64::ADD_VG2_M2Z2Z_S:
19441 case AArch64::BFDOT_VG2_M2Z2Z_HtoS:
19442 case AArch64::BFMLA_VG2_M2Z2Z:
19443 case AArch64::BFMLS_VG2_M2Z2Z:
19444 case AArch64::FDOT_VG2_M2Z2Z_BtoH:
19445 case AArch64::FDOT_VG2_M2Z2Z_BtoS:
19446 case AArch64::FDOT_VG2_M2Z2Z_HtoS:
19447 case AArch64::FMLA_VG2_M2Z2Z_D:
19448 case AArch64::FMLA_VG2_M2Z2Z_H:
19449 case AArch64::FMLA_VG2_M2Z2Z_S:
19450 case AArch64::FMLS_VG2_M2Z2Z_D:
19451 case AArch64::FMLS_VG2_M2Z2Z_H:
19452 case AArch64::FMLS_VG2_M2Z2Z_S:
19453 case AArch64::SDOT_VG2_M2Z2Z_BtoS:
19454 case AArch64::SDOT_VG2_M2Z2Z_HtoD:
19455 case AArch64::SDOT_VG2_M2Z2Z_HtoS:
19456 case AArch64::SUB_VG2_M2Z2Z_D:
19457 case AArch64::SUB_VG2_M2Z2Z_S:
19458 case AArch64::UDOT_VG2_M2Z2Z_BtoS:
19459 case AArch64::UDOT_VG2_M2Z2Z_HtoD:
19460 case AArch64::UDOT_VG2_M2Z2Z_HtoS:
19461 case AArch64::USDOT_VG2_M2Z2Z_BToS: {
19462 // op: Zm
19463 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 5, Fixups, STI);
19464 Value |= (op & 0xf) << 17;
19465 // op: Zn
19466 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19467 Value |= (op & 0xf) << 6;
19468 // op: Rv
19469 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19470 Value |= (op & 0x3) << 13;
19471 // op: imm3
19472 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19473 Value |= (op & 0x7);
19474 break;
19475 }
19476 case AArch64::BFMAXNM_VG4_4Z2Z_H:
19477 case AArch64::BFMAX_VG4_4Z2Z_H:
19478 case AArch64::BFMINNM_VG4_4Z2Z_H:
19479 case AArch64::BFMIN_VG4_4Z2Z_H:
19480 case AArch64::BFSCALE_4Z4Z:
19481 case AArch64::FAMAX_4Z4Z_D:
19482 case AArch64::FAMAX_4Z4Z_H:
19483 case AArch64::FAMAX_4Z4Z_S:
19484 case AArch64::FAMIN_4Z4Z_D:
19485 case AArch64::FAMIN_4Z4Z_H:
19486 case AArch64::FAMIN_4Z4Z_S:
19487 case AArch64::FMAXNM_VG4_4Z4Z_D:
19488 case AArch64::FMAXNM_VG4_4Z4Z_H:
19489 case AArch64::FMAXNM_VG4_4Z4Z_S:
19490 case AArch64::FMAX_VG4_4Z4Z_D:
19491 case AArch64::FMAX_VG4_4Z4Z_H:
19492 case AArch64::FMAX_VG4_4Z4Z_S:
19493 case AArch64::FMINNM_VG4_4Z4Z_D:
19494 case AArch64::FMINNM_VG4_4Z4Z_H:
19495 case AArch64::FMINNM_VG4_4Z4Z_S:
19496 case AArch64::FMIN_VG4_4Z4Z_D:
19497 case AArch64::FMIN_VG4_4Z4Z_H:
19498 case AArch64::FMIN_VG4_4Z4Z_S:
19499 case AArch64::FSCALE_4Z4Z_D:
19500 case AArch64::FSCALE_4Z4Z_H:
19501 case AArch64::FSCALE_4Z4Z_S:
19502 case AArch64::SMAX_VG4_4Z4Z_B:
19503 case AArch64::SMAX_VG4_4Z4Z_D:
19504 case AArch64::SMAX_VG4_4Z4Z_H:
19505 case AArch64::SMAX_VG4_4Z4Z_S:
19506 case AArch64::SMIN_VG4_4Z4Z_B:
19507 case AArch64::SMIN_VG4_4Z4Z_D:
19508 case AArch64::SMIN_VG4_4Z4Z_H:
19509 case AArch64::SMIN_VG4_4Z4Z_S:
19510 case AArch64::SQDMULH_VG4_4Z4Z_B:
19511 case AArch64::SQDMULH_VG4_4Z4Z_D:
19512 case AArch64::SQDMULH_VG4_4Z4Z_H:
19513 case AArch64::SQDMULH_VG4_4Z4Z_S:
19514 case AArch64::SRSHL_VG4_4Z4Z_B:
19515 case AArch64::SRSHL_VG4_4Z4Z_D:
19516 case AArch64::SRSHL_VG4_4Z4Z_H:
19517 case AArch64::SRSHL_VG4_4Z4Z_S:
19518 case AArch64::UMAX_VG4_4Z4Z_B:
19519 case AArch64::UMAX_VG4_4Z4Z_D:
19520 case AArch64::UMAX_VG4_4Z4Z_H:
19521 case AArch64::UMAX_VG4_4Z4Z_S:
19522 case AArch64::UMIN_VG4_4Z4Z_B:
19523 case AArch64::UMIN_VG4_4Z4Z_D:
19524 case AArch64::UMIN_VG4_4Z4Z_H:
19525 case AArch64::UMIN_VG4_4Z4Z_S:
19526 case AArch64::URSHL_VG4_4Z4Z_B:
19527 case AArch64::URSHL_VG4_4Z4Z_D:
19528 case AArch64::URSHL_VG4_4Z4Z_H:
19529 case AArch64::URSHL_VG4_4Z4Z_S: {
19530 // op: Zm
19531 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 2, Fixups, STI);
19532 Value |= (op & 0x7) << 18;
19533 // op: Zdn
19534 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19535 Value |= (op & 0x7) << 2;
19536 break;
19537 }
19538 case AArch64::FMLALL_VG4_M4Z4Z_BtoS:
19539 case AArch64::SMLALL_VG4_M4Z4Z_BtoS:
19540 case AArch64::SMLALL_VG4_M4Z4Z_HtoD:
19541 case AArch64::SMLSLL_VG4_M4Z4Z_BtoS:
19542 case AArch64::SMLSLL_VG4_M4Z4Z_HtoD:
19543 case AArch64::UMLALL_VG4_M4Z4Z_BtoS:
19544 case AArch64::UMLALL_VG4_M4Z4Z_HtoD:
19545 case AArch64::UMLSLL_VG4_M4Z4Z_BtoS:
19546 case AArch64::UMLSLL_VG4_M4Z4Z_HtoD:
19547 case AArch64::USMLALL_VG4_M4Z4Z_BtoS: {
19548 // op: Zm
19549 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 5, Fixups, STI);
19550 Value |= (op & 0x7) << 18;
19551 // op: Rv
19552 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19553 Value |= (op & 0x3) << 13;
19554 // op: Zn
19555 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
19556 Value |= (op & 0x7) << 7;
19557 // op: imm
19558 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19559 Value |= (op & 0x1);
19560 break;
19561 }
19562 case AArch64::ADD_VG4_M4Z4Z_D:
19563 case AArch64::ADD_VG4_M4Z4Z_S:
19564 case AArch64::BFDOT_VG4_M4Z4Z_HtoS:
19565 case AArch64::BFMLA_VG4_M4Z4Z:
19566 case AArch64::BFMLS_VG4_M4Z4Z:
19567 case AArch64::FDOT_VG4_M4Z4Z_BtoH:
19568 case AArch64::FDOT_VG4_M4Z4Z_BtoS:
19569 case AArch64::FDOT_VG4_M4Z4Z_HtoS:
19570 case AArch64::FMLA_VG4_M4Z4Z_D:
19571 case AArch64::FMLA_VG4_M4Z4Z_H:
19572 case AArch64::FMLA_VG4_M4Z4Z_S:
19573 case AArch64::FMLS_VG4_M4Z4Z_D:
19574 case AArch64::FMLS_VG4_M4Z4Z_H:
19575 case AArch64::FMLS_VG4_M4Z4Z_S:
19576 case AArch64::SDOT_VG4_M4Z4Z_BtoS:
19577 case AArch64::SDOT_VG4_M4Z4Z_HtoD:
19578 case AArch64::SDOT_VG4_M4Z4Z_HtoS:
19579 case AArch64::SUB_VG4_M4Z4Z_D:
19580 case AArch64::SUB_VG4_M4Z4Z_S:
19581 case AArch64::UDOT_VG4_M4Z4Z_BtoS:
19582 case AArch64::UDOT_VG4_M4Z4Z_HtoD:
19583 case AArch64::UDOT_VG4_M4Z4Z_HtoS:
19584 case AArch64::USDOT_VG4_M4Z4Z_BToS: {
19585 // op: Zm
19586 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 5, Fixups, STI);
19587 Value |= (op & 0x7) << 18;
19588 // op: Zn
19589 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
19590 Value |= (op & 0x7) << 7;
19591 // op: Rv
19592 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19593 Value |= (op & 0x3) << 13;
19594 // op: imm3
19595 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19596 Value |= (op & 0x7);
19597 break;
19598 }
19599 case AArch64::PMULL_2ZZZ_Q: {
19600 // op: Zm
19601 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19602 Value |= (op & 0x1f) << 16;
19603 // op: Zn
19604 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
19605 Value |= (op & 0x1f) << 5;
19606 // op: Zd
19607 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19608 Value |= (op & 0xf) << 1;
19609 break;
19610 }
19611 case AArch64::AESDIMC_2ZZI_B:
19612 case AArch64::AESD_2ZZI_B:
19613 case AArch64::AESEMC_2ZZI_B:
19614 case AArch64::AESE_2ZZI_B: {
19615 // op: Zm
19616 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19617 Value |= (op & 0x1f) << 5;
19618 // op: Zdn
19619 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19620 Value |= (op & 0xf) << 1;
19621 // op: imm2
19622 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19623 Value |= (op & 0x3) << 19;
19624 break;
19625 }
19626 case AArch64::AESDIMC_4ZZI_B:
19627 case AArch64::AESD_4ZZI_B:
19628 case AArch64::AESEMC_4ZZI_B:
19629 case AArch64::AESE_4ZZI_B: {
19630 // op: Zm
19631 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19632 Value |= (op & 0x1f) << 5;
19633 // op: Zdn
19634 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19635 Value |= (op & 0x7) << 2;
19636 // op: imm2
19637 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19638 Value |= (op & 0x3) << 19;
19639 break;
19640 }
19641 case AArch64::ADD_VG2_2ZZ_B:
19642 case AArch64::ADD_VG2_2ZZ_D:
19643 case AArch64::ADD_VG2_2ZZ_H:
19644 case AArch64::ADD_VG2_2ZZ_S:
19645 case AArch64::BFMAXNM_VG2_2ZZ_H:
19646 case AArch64::BFMAX_VG2_2ZZ_H:
19647 case AArch64::BFMINNM_VG2_2ZZ_H:
19648 case AArch64::BFMIN_VG2_2ZZ_H:
19649 case AArch64::BFSCALE_2ZZ:
19650 case AArch64::FMAXNM_VG2_2ZZ_D:
19651 case AArch64::FMAXNM_VG2_2ZZ_H:
19652 case AArch64::FMAXNM_VG2_2ZZ_S:
19653 case AArch64::FMAX_VG2_2ZZ_D:
19654 case AArch64::FMAX_VG2_2ZZ_H:
19655 case AArch64::FMAX_VG2_2ZZ_S:
19656 case AArch64::FMINNM_VG2_2ZZ_D:
19657 case AArch64::FMINNM_VG2_2ZZ_H:
19658 case AArch64::FMINNM_VG2_2ZZ_S:
19659 case AArch64::FMIN_VG2_2ZZ_D:
19660 case AArch64::FMIN_VG2_2ZZ_H:
19661 case AArch64::FMIN_VG2_2ZZ_S:
19662 case AArch64::FSCALE_2ZZ_D:
19663 case AArch64::FSCALE_2ZZ_H:
19664 case AArch64::FSCALE_2ZZ_S:
19665 case AArch64::SMAX_VG2_2ZZ_B:
19666 case AArch64::SMAX_VG2_2ZZ_D:
19667 case AArch64::SMAX_VG2_2ZZ_H:
19668 case AArch64::SMAX_VG2_2ZZ_S:
19669 case AArch64::SMIN_VG2_2ZZ_B:
19670 case AArch64::SMIN_VG2_2ZZ_D:
19671 case AArch64::SMIN_VG2_2ZZ_H:
19672 case AArch64::SMIN_VG2_2ZZ_S:
19673 case AArch64::SQDMULH_VG2_2ZZ_B:
19674 case AArch64::SQDMULH_VG2_2ZZ_D:
19675 case AArch64::SQDMULH_VG2_2ZZ_H:
19676 case AArch64::SQDMULH_VG2_2ZZ_S:
19677 case AArch64::SRSHL_VG2_2ZZ_B:
19678 case AArch64::SRSHL_VG2_2ZZ_D:
19679 case AArch64::SRSHL_VG2_2ZZ_H:
19680 case AArch64::SRSHL_VG2_2ZZ_S:
19681 case AArch64::UMAX_VG2_2ZZ_B:
19682 case AArch64::UMAX_VG2_2ZZ_D:
19683 case AArch64::UMAX_VG2_2ZZ_H:
19684 case AArch64::UMAX_VG2_2ZZ_S:
19685 case AArch64::UMIN_VG2_2ZZ_B:
19686 case AArch64::UMIN_VG2_2ZZ_D:
19687 case AArch64::UMIN_VG2_2ZZ_H:
19688 case AArch64::UMIN_VG2_2ZZ_S:
19689 case AArch64::URSHL_VG2_2ZZ_B:
19690 case AArch64::URSHL_VG2_2ZZ_D:
19691 case AArch64::URSHL_VG2_2ZZ_H:
19692 case AArch64::URSHL_VG2_2ZZ_S: {
19693 // op: Zm
19694 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19695 Value |= (op & 0xf) << 16;
19696 // op: Zdn
19697 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19698 Value |= (op & 0xf) << 1;
19699 break;
19700 }
19701 case AArch64::ADD_VG4_4ZZ_B:
19702 case AArch64::ADD_VG4_4ZZ_D:
19703 case AArch64::ADD_VG4_4ZZ_H:
19704 case AArch64::ADD_VG4_4ZZ_S:
19705 case AArch64::BFMAXNM_VG4_4ZZ_H:
19706 case AArch64::BFMAX_VG4_4ZZ_H:
19707 case AArch64::BFMINNM_VG4_4ZZ_H:
19708 case AArch64::BFMIN_VG4_4ZZ_H:
19709 case AArch64::BFSCALE_4ZZ:
19710 case AArch64::FMAXNM_VG4_4ZZ_D:
19711 case AArch64::FMAXNM_VG4_4ZZ_H:
19712 case AArch64::FMAXNM_VG4_4ZZ_S:
19713 case AArch64::FMAX_VG4_4ZZ_D:
19714 case AArch64::FMAX_VG4_4ZZ_H:
19715 case AArch64::FMAX_VG4_4ZZ_S:
19716 case AArch64::FMINNM_VG4_4ZZ_D:
19717 case AArch64::FMINNM_VG4_4ZZ_H:
19718 case AArch64::FMINNM_VG4_4ZZ_S:
19719 case AArch64::FMIN_VG4_4ZZ_D:
19720 case AArch64::FMIN_VG4_4ZZ_H:
19721 case AArch64::FMIN_VG4_4ZZ_S:
19722 case AArch64::FSCALE_4ZZ_D:
19723 case AArch64::FSCALE_4ZZ_H:
19724 case AArch64::FSCALE_4ZZ_S:
19725 case AArch64::SMAX_VG4_4ZZ_B:
19726 case AArch64::SMAX_VG4_4ZZ_D:
19727 case AArch64::SMAX_VG4_4ZZ_H:
19728 case AArch64::SMAX_VG4_4ZZ_S:
19729 case AArch64::SMIN_VG4_4ZZ_B:
19730 case AArch64::SMIN_VG4_4ZZ_D:
19731 case AArch64::SMIN_VG4_4ZZ_H:
19732 case AArch64::SMIN_VG4_4ZZ_S:
19733 case AArch64::SQDMULH_VG4_4ZZ_B:
19734 case AArch64::SQDMULH_VG4_4ZZ_D:
19735 case AArch64::SQDMULH_VG4_4ZZ_H:
19736 case AArch64::SQDMULH_VG4_4ZZ_S:
19737 case AArch64::SRSHL_VG4_4ZZ_B:
19738 case AArch64::SRSHL_VG4_4ZZ_D:
19739 case AArch64::SRSHL_VG4_4ZZ_H:
19740 case AArch64::SRSHL_VG4_4ZZ_S:
19741 case AArch64::UMAX_VG4_4ZZ_B:
19742 case AArch64::UMAX_VG4_4ZZ_D:
19743 case AArch64::UMAX_VG4_4ZZ_H:
19744 case AArch64::UMAX_VG4_4ZZ_S:
19745 case AArch64::UMIN_VG4_4ZZ_B:
19746 case AArch64::UMIN_VG4_4ZZ_D:
19747 case AArch64::UMIN_VG4_4ZZ_H:
19748 case AArch64::UMIN_VG4_4ZZ_S:
19749 case AArch64::URSHL_VG4_4ZZ_B:
19750 case AArch64::URSHL_VG4_4ZZ_D:
19751 case AArch64::URSHL_VG4_4ZZ_H:
19752 case AArch64::URSHL_VG4_4ZZ_S: {
19753 // op: Zm
19754 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19755 Value |= (op & 0xf) << 16;
19756 // op: Zdn
19757 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19758 Value |= (op & 0x7) << 2;
19759 break;
19760 }
19761 case AArch64::BFCLAMP_VG2_2ZZZ_H:
19762 case AArch64::FCLAMP_VG2_2Z2Z_D:
19763 case AArch64::FCLAMP_VG2_2Z2Z_H:
19764 case AArch64::FCLAMP_VG2_2Z2Z_S:
19765 case AArch64::SCLAMP_VG2_2Z2Z_B:
19766 case AArch64::SCLAMP_VG2_2Z2Z_D:
19767 case AArch64::SCLAMP_VG2_2Z2Z_H:
19768 case AArch64::SCLAMP_VG2_2Z2Z_S:
19769 case AArch64::UCLAMP_VG2_2Z2Z_B:
19770 case AArch64::UCLAMP_VG2_2Z2Z_D:
19771 case AArch64::UCLAMP_VG2_2Z2Z_H:
19772 case AArch64::UCLAMP_VG2_2Z2Z_S: {
19773 // op: Zm
19774 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19775 Value |= (op & 0x1f) << 16;
19776 // op: Zn
19777 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19778 Value |= (op & 0x1f) << 5;
19779 // op: Zd
19780 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19781 Value |= (op & 0xf) << 1;
19782 break;
19783 }
19784 case AArch64::BFCLAMP_VG4_4ZZZ_H:
19785 case AArch64::FCLAMP_VG4_4Z4Z_D:
19786 case AArch64::FCLAMP_VG4_4Z4Z_H:
19787 case AArch64::FCLAMP_VG4_4Z4Z_S:
19788 case AArch64::SCLAMP_VG4_4Z4Z_B:
19789 case AArch64::SCLAMP_VG4_4Z4Z_D:
19790 case AArch64::SCLAMP_VG4_4Z4Z_H:
19791 case AArch64::SCLAMP_VG4_4Z4Z_S:
19792 case AArch64::UCLAMP_VG4_4Z4Z_B:
19793 case AArch64::UCLAMP_VG4_4Z4Z_D:
19794 case AArch64::UCLAMP_VG4_4Z4Z_H:
19795 case AArch64::UCLAMP_VG4_4Z4Z_S: {
19796 // op: Zm
19797 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19798 Value |= (op & 0x1f) << 16;
19799 // op: Zn
19800 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19801 Value |= (op & 0x1f) << 5;
19802 // op: Zd
19803 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19804 Value |= (op & 0x7) << 2;
19805 break;
19806 }
19807 case AArch64::BFCLAMP_ZZZ:
19808 case AArch64::FCLAMP_ZZZ_D:
19809 case AArch64::FCLAMP_ZZZ_H:
19810 case AArch64::FCLAMP_ZZZ_S:
19811 case AArch64::SCLAMP_ZZZ_B:
19812 case AArch64::SCLAMP_ZZZ_D:
19813 case AArch64::SCLAMP_ZZZ_H:
19814 case AArch64::SCLAMP_ZZZ_S:
19815 case AArch64::UCLAMP_ZZZ_B:
19816 case AArch64::UCLAMP_ZZZ_D:
19817 case AArch64::UCLAMP_ZZZ_H:
19818 case AArch64::UCLAMP_ZZZ_S: {
19819 // op: Zm
19820 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19821 Value |= (op & 0x1f) << 16;
19822 // op: Zn
19823 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19824 Value |= (op & 0x1f) << 5;
19825 // op: Zd
19826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19827 Value |= (op & 0x1f);
19828 break;
19829 }
19830 case AArch64::PMLAL_2ZZZ_Q: {
19831 // op: Zm
19832 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19833 Value |= (op & 0x1f) << 16;
19834 // op: Zn
19835 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19836 Value |= (op & 0x1f) << 5;
19837 // op: Zda
19838 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19839 Value |= (op & 0xf) << 1;
19840 break;
19841 }
19842 case AArch64::BFMOPA_MPPZZ_H:
19843 case AArch64::BFMOPS_MPPZZ_H:
19844 case AArch64::FMOPA_MPPZZ_BtoH:
19845 case AArch64::FMOPA_MPPZZ_H:
19846 case AArch64::FMOPS_MPPZZ_H: {
19847 // op: Zm
19848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19849 Value |= (op & 0x1f) << 16;
19850 // op: Pm
19851 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19852 Value |= (op & 0x7) << 13;
19853 // op: Pn
19854 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19855 Value |= (op & 0x7) << 10;
19856 // op: Zn
19857 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19858 Value |= (op & 0x1f) << 5;
19859 // op: ZAda
19860 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19861 Value |= (op & 0x1);
19862 break;
19863 }
19864 case AArch64::BFMOPA_MPPZZ:
19865 case AArch64::BFMOPS_MPPZZ:
19866 case AArch64::BMOPA_MPPZZ_S:
19867 case AArch64::BMOPS_MPPZZ_S:
19868 case AArch64::FMOPAL_MPPZZ:
19869 case AArch64::FMOPA_MPPZZ_BtoS:
19870 case AArch64::FMOPA_MPPZZ_S:
19871 case AArch64::FMOPSL_MPPZZ:
19872 case AArch64::FMOPS_MPPZZ_S:
19873 case AArch64::SMOPA_MPPZZ_HtoS:
19874 case AArch64::SMOPA_MPPZZ_S:
19875 case AArch64::SMOPS_MPPZZ_HtoS:
19876 case AArch64::SMOPS_MPPZZ_S:
19877 case AArch64::SUMOPA_MPPZZ_S:
19878 case AArch64::SUMOPS_MPPZZ_S:
19879 case AArch64::UMOPA_MPPZZ_HtoS:
19880 case AArch64::UMOPA_MPPZZ_S:
19881 case AArch64::UMOPS_MPPZZ_HtoS:
19882 case AArch64::UMOPS_MPPZZ_S:
19883 case AArch64::USMOPA_MPPZZ_S:
19884 case AArch64::USMOPS_MPPZZ_S: {
19885 // op: Zm
19886 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19887 Value |= (op & 0x1f) << 16;
19888 // op: Pm
19889 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19890 Value |= (op & 0x7) << 13;
19891 // op: Pn
19892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19893 Value |= (op & 0x7) << 10;
19894 // op: Zn
19895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19896 Value |= (op & 0x1f) << 5;
19897 // op: ZAda
19898 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19899 Value |= (op & 0x3);
19900 break;
19901 }
19902 case AArch64::FMOPA_MPPZZ_D:
19903 case AArch64::FMOPS_MPPZZ_D:
19904 case AArch64::SMOPA_MPPZZ_D:
19905 case AArch64::SMOPS_MPPZZ_D:
19906 case AArch64::SUMOPA_MPPZZ_D:
19907 case AArch64::SUMOPS_MPPZZ_D:
19908 case AArch64::UMOPA_MPPZZ_D:
19909 case AArch64::UMOPS_MPPZZ_D:
19910 case AArch64::USMOPA_MPPZZ_D:
19911 case AArch64::USMOPS_MPPZZ_D: {
19912 // op: Zm
19913 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19914 Value |= (op & 0x1f) << 16;
19915 // op: Pm
19916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19917 Value |= (op & 0x7) << 13;
19918 // op: Pn
19919 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19920 Value |= (op & 0x7) << 10;
19921 // op: Zn
19922 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19923 Value |= (op & 0x1f) << 5;
19924 // op: ZAda
19925 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19926 Value |= (op & 0x7);
19927 break;
19928 }
19929 case AArch64::FVDOTB_VG4_M2ZZI_BtoS:
19930 case AArch64::FVDOTT_VG4_M2ZZI_BtoS: {
19931 // op: Zm
19932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19933 Value |= (op & 0xf) << 16;
19934 // op: Rv
19935 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19936 Value |= (op & 0x3) << 13;
19937 // op: Zn
19938 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19939 Value |= (op & 0xf) << 6;
19940 // op: imm3
19941 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19942 Value |= (op & 0x7);
19943 // op: i
19944 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
19945 Value |= (op & 0x2) << 9;
19946 Value |= (op & 0x1) << 3;
19947 break;
19948 }
19949 case AArch64::BFDOT_VG2_M2ZZI_HtoS:
19950 case AArch64::BFVDOT_VG2_M2ZZI_HtoS:
19951 case AArch64::FDOT_VG2_M2ZZI_BtoS:
19952 case AArch64::FDOT_VG2_M2ZZI_HtoS:
19953 case AArch64::FMLA_VG2_M2ZZI_S:
19954 case AArch64::FMLS_VG2_M2ZZI_S:
19955 case AArch64::FVDOT_VG2_M2ZZI_HtoS:
19956 case AArch64::SDOT_VG2_M2ZZI_BToS:
19957 case AArch64::SDOT_VG2_M2ZZI_HToS:
19958 case AArch64::SUDOT_VG2_M2ZZI_BToS:
19959 case AArch64::SVDOT_VG2_M2ZZI_HtoS:
19960 case AArch64::UDOT_VG2_M2ZZI_BToS:
19961 case AArch64::UDOT_VG2_M2ZZI_HToS:
19962 case AArch64::USDOT_VG2_M2ZZI_BToS:
19963 case AArch64::UVDOT_VG2_M2ZZI_HtoS: {
19964 // op: Zm
19965 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19966 Value |= (op & 0xf) << 16;
19967 // op: Rv
19968 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19969 Value |= (op & 0x3) << 13;
19970 // op: Zn
19971 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19972 Value |= (op & 0xf) << 6;
19973 // op: imm3
19974 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19975 Value |= (op & 0x7);
19976 // op: i
19977 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
19978 Value |= (op & 0x3) << 10;
19979 break;
19980 }
19981 case AArch64::BFMLA_VG2_M2ZZI:
19982 case AArch64::BFMLS_VG2_M2ZZI:
19983 case AArch64::FDOT_VG2_M2ZZI_BtoH:
19984 case AArch64::FMLA_VG2_M2ZZI_H:
19985 case AArch64::FMLS_VG2_M2ZZI_H:
19986 case AArch64::FVDOT_VG2_M2ZZI_BtoH: {
19987 // op: Zm
19988 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19989 Value |= (op & 0xf) << 16;
19990 // op: Rv
19991 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19992 Value |= (op & 0x3) << 13;
19993 // op: Zn
19994 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19995 Value |= (op & 0xf) << 6;
19996 // op: imm3
19997 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19998 Value |= (op & 0x7);
19999 // op: i
20000 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20001 Value |= (op & 0x6) << 9;
20002 Value |= (op & 0x1) << 3;
20003 break;
20004 }
20005 case AArch64::BFDOT_VG4_M4ZZI_HtoS:
20006 case AArch64::FDOT_VG4_M4ZZI_BtoS:
20007 case AArch64::FDOT_VG4_M4ZZI_HtoS:
20008 case AArch64::FMLA_VG4_M4ZZI_S:
20009 case AArch64::FMLS_VG4_M4ZZI_S:
20010 case AArch64::SDOT_VG4_M4ZZI_BToS:
20011 case AArch64::SDOT_VG4_M4ZZI_HToS:
20012 case AArch64::SUDOT_VG4_M4ZZI_BToS:
20013 case AArch64::SUVDOT_VG4_M4ZZI_BToS:
20014 case AArch64::SVDOT_VG4_M4ZZI_BtoS:
20015 case AArch64::UDOT_VG4_M4ZZI_BtoS:
20016 case AArch64::UDOT_VG4_M4ZZI_HToS:
20017 case AArch64::USDOT_VG4_M4ZZI_BToS:
20018 case AArch64::USVDOT_VG4_M4ZZI_BToS:
20019 case AArch64::UVDOT_VG4_M4ZZI_BtoS: {
20020 // op: Zm
20021 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20022 Value |= (op & 0xf) << 16;
20023 // op: Rv
20024 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20025 Value |= (op & 0x3) << 13;
20026 // op: Zn
20027 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20028 Value |= (op & 0x7) << 7;
20029 // op: imm3
20030 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20031 Value |= (op & 0x7);
20032 // op: i
20033 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20034 Value |= (op & 0x3) << 10;
20035 break;
20036 }
20037 case AArch64::BFMLA_VG4_M4ZZI:
20038 case AArch64::BFMLS_VG4_M4ZZI:
20039 case AArch64::FDOT_VG4_M4ZZI_BtoH:
20040 case AArch64::FMLA_VG4_M4ZZI_H:
20041 case AArch64::FMLS_VG4_M4ZZI_H: {
20042 // op: Zm
20043 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20044 Value |= (op & 0xf) << 16;
20045 // op: Rv
20046 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20047 Value |= (op & 0x3) << 13;
20048 // op: Zn
20049 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20050 Value |= (op & 0x7) << 7;
20051 // op: imm3
20052 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20053 Value |= (op & 0x7);
20054 // op: i
20055 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20056 Value |= (op & 0x6) << 9;
20057 Value |= (op & 0x1) << 3;
20058 break;
20059 }
20060 case AArch64::FMLALL_VG2_M2ZZ_BtoS:
20061 case AArch64::FMLALL_VG4_M4ZZ_BtoS:
20062 case AArch64::SMLALL_VG2_M2ZZ_BtoS:
20063 case AArch64::SMLALL_VG2_M2ZZ_HtoD:
20064 case AArch64::SMLALL_VG4_M4ZZ_BtoS:
20065 case AArch64::SMLALL_VG4_M4ZZ_HtoD:
20066 case AArch64::SMLSLL_VG2_M2ZZ_BtoS:
20067 case AArch64::SMLSLL_VG2_M2ZZ_HtoD:
20068 case AArch64::SMLSLL_VG4_M4ZZ_BtoS:
20069 case AArch64::SMLSLL_VG4_M4ZZ_HtoD:
20070 case AArch64::SUMLALL_VG2_M2ZZ_BtoS:
20071 case AArch64::SUMLALL_VG4_M4ZZ_BtoS:
20072 case AArch64::UMLALL_VG2_M2ZZ_BtoS:
20073 case AArch64::UMLALL_VG2_M2ZZ_HtoD:
20074 case AArch64::UMLALL_VG4_M4ZZ_BtoS:
20075 case AArch64::UMLALL_VG4_M4ZZ_HtoD:
20076 case AArch64::UMLSLL_VG2_M2ZZ_BtoS:
20077 case AArch64::UMLSLL_VG2_M2ZZ_HtoD:
20078 case AArch64::UMLSLL_VG4_M4ZZ_BtoS:
20079 case AArch64::UMLSLL_VG4_M4ZZ_HtoD:
20080 case AArch64::USMLALL_VG2_M2ZZ_BtoS:
20081 case AArch64::USMLALL_VG4_M4ZZ_BtoS: {
20082 // op: Zm
20083 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20084 Value |= (op & 0xf) << 16;
20085 // op: Rv
20086 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20087 Value |= (op & 0x3) << 13;
20088 // op: Zn
20089 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20090 Value |= (op & 0x1f) << 5;
20091 // op: imm
20092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20093 Value |= (op & 0x1);
20094 break;
20095 }
20096 case AArch64::FMLALL_MZZ_BtoS:
20097 case AArch64::SMLALL_MZZ_BtoS:
20098 case AArch64::SMLALL_MZZ_HtoD:
20099 case AArch64::SMLSLL_MZZ_BtoS:
20100 case AArch64::SMLSLL_MZZ_HtoD:
20101 case AArch64::UMLALL_MZZ_BtoS:
20102 case AArch64::UMLALL_MZZ_HtoD:
20103 case AArch64::UMLSLL_MZZ_BtoS:
20104 case AArch64::UMLSLL_MZZ_HtoD:
20105 case AArch64::USMLALL_MZZ_BtoS: {
20106 // op: Zm
20107 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20108 Value |= (op & 0xf) << 16;
20109 // op: Rv
20110 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20111 Value |= (op & 0x3) << 13;
20112 // op: Zn
20113 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20114 Value |= (op & 0x1f) << 5;
20115 // op: imm
20116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20117 Value |= (op & 0x3);
20118 break;
20119 }
20120 case AArch64::SMLALL_MZZI_HtoD:
20121 case AArch64::SMLSLL_MZZI_HtoD:
20122 case AArch64::UMLALL_MZZI_HtoD:
20123 case AArch64::UMLSLL_MZZI_HtoD: {
20124 // op: Zm
20125 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20126 Value |= (op & 0xf) << 16;
20127 // op: Rv
20128 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20129 Value |= (op & 0x3) << 13;
20130 // op: i
20131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20132 Value |= (op & 0x4) << 13;
20133 Value |= (op & 0x3) << 10;
20134 // op: Zn
20135 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20136 Value |= (op & 0x1f) << 5;
20137 // op: imm2
20138 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20139 Value |= (op & 0x3);
20140 break;
20141 }
20142 case AArch64::SMLALL_VG2_M2ZZI_HtoD:
20143 case AArch64::SMLSLL_VG2_M2ZZI_HtoD:
20144 case AArch64::UMLALL_VG2_M2ZZI_HtoD:
20145 case AArch64::UMLSLL_VG2_M2ZZI_HtoD: {
20146 // op: Zm
20147 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20148 Value |= (op & 0xf) << 16;
20149 // op: Rv
20150 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20151 Value |= (op & 0x3) << 13;
20152 // op: i
20153 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20154 Value |= (op & 0x4) << 8;
20155 Value |= (op & 0x3) << 1;
20156 // op: imm
20157 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20158 Value |= (op & 0x1);
20159 // op: Zn
20160 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20161 Value |= (op & 0xf) << 6;
20162 break;
20163 }
20164 case AArch64::SMLALL_VG4_M4ZZI_HtoD:
20165 case AArch64::SMLSLL_VG4_M4ZZI_HtoD:
20166 case AArch64::UMLALL_VG4_M4ZZI_HtoD:
20167 case AArch64::UMLSLL_VG4_M4ZZI_HtoD: {
20168 // op: Zm
20169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20170 Value |= (op & 0xf) << 16;
20171 // op: Rv
20172 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20173 Value |= (op & 0x3) << 13;
20174 // op: i
20175 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20176 Value |= (op & 0x4) << 8;
20177 Value |= (op & 0x3) << 1;
20178 // op: imm
20179 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20180 Value |= (op & 0x1);
20181 // op: Zn
20182 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20183 Value |= (op & 0x7) << 7;
20184 break;
20185 }
20186 case AArch64::FMLAL_MZZI_BtoH: {
20187 // op: Zm
20188 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20189 Value |= (op & 0xf) << 16;
20190 // op: Rv
20191 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20192 Value |= (op & 0x3) << 13;
20193 // op: i
20194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20195 Value |= (op & 0x8) << 12;
20196 Value |= (op & 0x6) << 9;
20197 Value |= (op & 0x1) << 3;
20198 // op: Zn
20199 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20200 Value |= (op & 0x1f) << 5;
20201 // op: imm3
20202 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20203 Value |= (op & 0x7);
20204 break;
20205 }
20206 case AArch64::FMLALL_MZZI_BtoS:
20207 case AArch64::SMLALL_MZZI_BtoS:
20208 case AArch64::SMLSLL_MZZI_BtoS:
20209 case AArch64::SUMLALL_MZZI_BtoS:
20210 case AArch64::UMLALL_MZZI_BtoS:
20211 case AArch64::UMLSLL_MZZI_BtoS:
20212 case AArch64::USMLALL_MZZI_BtoS: {
20213 // op: Zm
20214 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20215 Value |= (op & 0xf) << 16;
20216 // op: Rv
20217 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20218 Value |= (op & 0x3) << 13;
20219 // op: i
20220 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20221 Value |= (op & 0x8) << 12;
20222 Value |= (op & 0x7) << 10;
20223 // op: Zn
20224 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20225 Value |= (op & 0x1f) << 5;
20226 // op: imm2
20227 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20228 Value |= (op & 0x3);
20229 break;
20230 }
20231 case AArch64::FMLALL_VG2_M2ZZI_BtoS:
20232 case AArch64::SMLALL_VG2_M2ZZI_BtoS:
20233 case AArch64::SMLSLL_VG2_M2ZZI_BtoS:
20234 case AArch64::SUMLALL_VG2_M2ZZI_BtoS:
20235 case AArch64::UMLALL_VG2_M2ZZI_BtoS:
20236 case AArch64::UMLSLL_VG2_M2ZZI_BtoS:
20237 case AArch64::USMLALL_VG2_M2ZZI_BtoS: {
20238 // op: Zm
20239 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20240 Value |= (op & 0xf) << 16;
20241 // op: Rv
20242 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20243 Value |= (op & 0x3) << 13;
20244 // op: i
20245 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20246 Value |= (op & 0xc) << 8;
20247 Value |= (op & 0x3) << 1;
20248 // op: imm
20249 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20250 Value |= (op & 0x1);
20251 // op: Zn
20252 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20253 Value |= (op & 0xf) << 6;
20254 break;
20255 }
20256 case AArch64::FMLALL_VG4_M4ZZI_BtoS:
20257 case AArch64::SMLALL_VG4_M4ZZI_BtoS:
20258 case AArch64::SMLSLL_VG4_M4ZZI_BtoS:
20259 case AArch64::SUMLALL_VG4_M4ZZI_BtoS:
20260 case AArch64::UMLALL_VG4_M4ZZI_BtoS:
20261 case AArch64::UMLSLL_VG4_M4ZZI_BtoS:
20262 case AArch64::USMLALL_VG4_M4ZZI_BtoS: {
20263 // op: Zm
20264 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20265 Value |= (op & 0xf) << 16;
20266 // op: Rv
20267 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20268 Value |= (op & 0x3) << 13;
20269 // op: i
20270 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20271 Value |= (op & 0xc) << 8;
20272 Value |= (op & 0x3) << 1;
20273 // op: imm
20274 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20275 Value |= (op & 0x1);
20276 // op: Zn
20277 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20278 Value |= (op & 0x7) << 7;
20279 break;
20280 }
20281 case AArch64::FMLAL_VG2_M2ZZI_BtoH: {
20282 // op: Zm
20283 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20284 Value |= (op & 0xf) << 16;
20285 // op: Rv
20286 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20287 Value |= (op & 0x3) << 13;
20288 // op: i
20289 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20290 Value |= (op & 0xc) << 8;
20291 Value |= (op & 0x3) << 2;
20292 // op: imm2
20293 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20294 Value |= (op & 0x3);
20295 // op: Zn
20296 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20297 Value |= (op & 0xf) << 6;
20298 break;
20299 }
20300 case AArch64::FMLAL_VG4_M4ZZI_BtoH: {
20301 // op: Zm
20302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20303 Value |= (op & 0xf) << 16;
20304 // op: Rv
20305 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20306 Value |= (op & 0x3) << 13;
20307 // op: i
20308 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20309 Value |= (op & 0xc) << 8;
20310 Value |= (op & 0x3) << 2;
20311 // op: imm2
20312 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20313 Value |= (op & 0x3);
20314 // op: Zn
20315 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20316 Value |= (op & 0x7) << 7;
20317 break;
20318 }
20319 case AArch64::FMLA_VG2_M2ZZI_D:
20320 case AArch64::FMLS_VG2_M2ZZI_D:
20321 case AArch64::SDOT_VG2_M2ZZI_HtoD:
20322 case AArch64::UDOT_VG2_M2ZZI_HtoD: {
20323 // op: Zm
20324 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20325 Value |= (op & 0xf) << 16;
20326 // op: Rv
20327 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20328 Value |= (op & 0x3) << 13;
20329 // op: i1
20330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20331 Value |= (op & 0x1) << 10;
20332 // op: Zn
20333 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20334 Value |= (op & 0xf) << 6;
20335 // op: imm3
20336 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20337 Value |= (op & 0x7);
20338 break;
20339 }
20340 case AArch64::FMLA_VG4_M4ZZI_D:
20341 case AArch64::FMLS_VG4_M4ZZI_D:
20342 case AArch64::SDOT_VG4_M4ZZI_HtoD:
20343 case AArch64::SVDOT_VG4_M4ZZI_HtoD:
20344 case AArch64::UDOT_VG4_M4ZZI_HtoD:
20345 case AArch64::UVDOT_VG4_M4ZZI_HtoD: {
20346 // op: Zm
20347 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20348 Value |= (op & 0xf) << 16;
20349 // op: Rv
20350 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20351 Value |= (op & 0x3) << 13;
20352 // op: i1
20353 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20354 Value |= (op & 0x1) << 10;
20355 // op: Zn
20356 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20357 Value |= (op & 0x7) << 7;
20358 // op: imm3
20359 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20360 Value |= (op & 0x7);
20361 break;
20362 }
20363 case AArch64::BFMLAL_MZZI_HtoS:
20364 case AArch64::BFMLSL_MZZI_HtoS:
20365 case AArch64::FMLAL_MZZI_HtoS:
20366 case AArch64::FMLSL_MZZI_HtoS:
20367 case AArch64::SMLAL_MZZI_HtoS:
20368 case AArch64::SMLSL_MZZI_HtoS:
20369 case AArch64::UMLAL_MZZI_HtoS:
20370 case AArch64::UMLSL_MZZI_HtoS: {
20371 // op: Zm
20372 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20373 Value |= (op & 0xf) << 16;
20374 // op: Rv
20375 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20376 Value |= (op & 0x3) << 13;
20377 // op: i3
20378 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20379 Value |= (op & 0x4) << 13;
20380 Value |= (op & 0x3) << 10;
20381 // op: Zn
20382 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20383 Value |= (op & 0x1f) << 5;
20384 // op: imm
20385 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20386 Value |= (op & 0x7);
20387 break;
20388 }
20389 case AArch64::BFMLAL_VG2_M2ZZI_HtoS:
20390 case AArch64::BFMLSL_VG2_M2ZZI_HtoS:
20391 case AArch64::FMLAL_VG2_M2ZZI_HtoS:
20392 case AArch64::FMLSL_VG2_M2ZZI_HtoS:
20393 case AArch64::SMLAL_VG2_M2ZZI_S:
20394 case AArch64::SMLSL_VG2_M2ZZI_S:
20395 case AArch64::UMLAL_VG2_M2ZZI_S:
20396 case AArch64::UMLSL_VG2_M2ZZI_S: {
20397 // op: Zm
20398 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20399 Value |= (op & 0xf) << 16;
20400 // op: Rv
20401 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20402 Value |= (op & 0x3) << 13;
20403 // op: i3
20404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20405 Value |= (op & 0x6) << 9;
20406 Value |= (op & 0x1) << 2;
20407 // op: Zn
20408 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20409 Value |= (op & 0xf) << 6;
20410 // op: imm
20411 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20412 Value |= (op & 0x3);
20413 break;
20414 }
20415 case AArch64::BFMLAL_VG4_M4ZZI_HtoS:
20416 case AArch64::BFMLSL_VG4_M4ZZI_HtoS:
20417 case AArch64::FMLAL_VG4_M4ZZI_HtoS:
20418 case AArch64::FMLSL_VG4_M4ZZI_HtoS:
20419 case AArch64::SMLAL_VG4_M4ZZI_HtoS:
20420 case AArch64::SMLSL_VG4_M4ZZI_HtoS:
20421 case AArch64::UMLAL_VG4_M4ZZI_HtoS:
20422 case AArch64::UMLSL_VG4_M4ZZI_HtoS: {
20423 // op: Zm
20424 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20425 Value |= (op & 0xf) << 16;
20426 // op: Rv
20427 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20428 Value |= (op & 0x3) << 13;
20429 // op: i3
20430 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20431 Value |= (op & 0x6) << 9;
20432 Value |= (op & 0x1) << 2;
20433 // op: Zn
20434 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20435 Value |= (op & 0x7) << 7;
20436 // op: imm
20437 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20438 Value |= (op & 0x3);
20439 break;
20440 }
20441 case AArch64::ADD_VG2_M2ZZ_D:
20442 case AArch64::ADD_VG2_M2ZZ_S:
20443 case AArch64::ADD_VG4_M4ZZ_D:
20444 case AArch64::ADD_VG4_M4ZZ_S:
20445 case AArch64::BFDOT_VG2_M2ZZ_HtoS:
20446 case AArch64::BFDOT_VG4_M4ZZ_HtoS:
20447 case AArch64::BFMLA_VG2_M2ZZ:
20448 case AArch64::BFMLA_VG4_M4ZZ:
20449 case AArch64::BFMLS_VG2_M2ZZ:
20450 case AArch64::BFMLS_VG4_M4ZZ:
20451 case AArch64::FDOT_VG2_M2ZZ_BtoH:
20452 case AArch64::FDOT_VG2_M2ZZ_BtoS:
20453 case AArch64::FDOT_VG2_M2ZZ_HtoS:
20454 case AArch64::FDOT_VG4_M4ZZ_BtoH:
20455 case AArch64::FDOT_VG4_M4ZZ_BtoS:
20456 case AArch64::FDOT_VG4_M4ZZ_HtoS:
20457 case AArch64::FMLA_VG2_M2ZZ_D:
20458 case AArch64::FMLA_VG2_M2ZZ_H:
20459 case AArch64::FMLA_VG2_M2ZZ_S:
20460 case AArch64::FMLA_VG4_M4ZZ_D:
20461 case AArch64::FMLA_VG4_M4ZZ_H:
20462 case AArch64::FMLA_VG4_M4ZZ_S:
20463 case AArch64::FMLS_VG2_M2ZZ_D:
20464 case AArch64::FMLS_VG2_M2ZZ_H:
20465 case AArch64::FMLS_VG2_M2ZZ_S:
20466 case AArch64::FMLS_VG4_M4ZZ_D:
20467 case AArch64::FMLS_VG4_M4ZZ_H:
20468 case AArch64::FMLS_VG4_M4ZZ_S:
20469 case AArch64::SDOT_VG2_M2ZZ_BtoS:
20470 case AArch64::SDOT_VG2_M2ZZ_HtoD:
20471 case AArch64::SDOT_VG2_M2ZZ_HtoS:
20472 case AArch64::SDOT_VG4_M4ZZ_BtoS:
20473 case AArch64::SDOT_VG4_M4ZZ_HtoD:
20474 case AArch64::SDOT_VG4_M4ZZ_HtoS:
20475 case AArch64::SUB_VG2_M2ZZ_D:
20476 case AArch64::SUB_VG2_M2ZZ_S:
20477 case AArch64::SUB_VG4_M4ZZ_D:
20478 case AArch64::SUB_VG4_M4ZZ_S:
20479 case AArch64::SUDOT_VG2_M2ZZ_BToS:
20480 case AArch64::SUDOT_VG4_M4ZZ_BToS:
20481 case AArch64::UDOT_VG2_M2ZZ_BtoS:
20482 case AArch64::UDOT_VG2_M2ZZ_HtoD:
20483 case AArch64::UDOT_VG2_M2ZZ_HtoS:
20484 case AArch64::UDOT_VG4_M4ZZ_BtoS:
20485 case AArch64::UDOT_VG4_M4ZZ_HtoD:
20486 case AArch64::UDOT_VG4_M4ZZ_HtoS:
20487 case AArch64::USDOT_VG2_M2ZZ_BToS:
20488 case AArch64::USDOT_VG4_M4ZZ_BToS: {
20489 // op: Zm
20490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20491 Value |= (op & 0xf) << 16;
20492 // op: Zn
20493 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20494 Value |= (op & 0x1f) << 5;
20495 // op: Rv
20496 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20497 Value |= (op & 0x3) << 13;
20498 // op: imm3
20499 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20500 Value |= (op & 0x7);
20501 break;
20502 }
20503 case AArch64::FCVTZS_2Z2Z_StoS:
20504 case AArch64::FCVTZU_2Z2Z_StoS:
20505 case AArch64::FRINTA_2Z2Z_S:
20506 case AArch64::FRINTM_2Z2Z_S:
20507 case AArch64::FRINTN_2Z2Z_S:
20508 case AArch64::FRINTP_2Z2Z_S:
20509 case AArch64::SCVTF_2Z2Z_StoS:
20510 case AArch64::UCVTF_2Z2Z_StoS: {
20511 // op: Zn
20512 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
20513 Value |= (op & 0xf) << 6;
20514 // op: Zd
20515 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20516 Value |= (op & 0xf) << 1;
20517 break;
20518 }
20519 case AArch64::SUNPK_VG4_4Z2Z_D:
20520 case AArch64::SUNPK_VG4_4Z2Z_H:
20521 case AArch64::SUNPK_VG4_4Z2Z_S:
20522 case AArch64::UUNPK_VG4_4Z2Z_D:
20523 case AArch64::UUNPK_VG4_4Z2Z_H:
20524 case AArch64::UUNPK_VG4_4Z2Z_S: {
20525 // op: Zn
20526 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
20527 Value |= (op & 0xf) << 6;
20528 // op: Zd
20529 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20530 Value |= (op & 0x7) << 2;
20531 break;
20532 }
20533 case AArch64::BFCVTN_Z2Z_StoH:
20534 case AArch64::BFCVT_Z2Z_HtoB:
20535 case AArch64::BFCVT_Z2Z_StoH:
20536 case AArch64::FCVTN_Z2Z_StoH:
20537 case AArch64::FCVT_Z2Z_HtoB:
20538 case AArch64::FCVT_Z2Z_StoH:
20539 case AArch64::SQCVTU_Z2Z_StoH:
20540 case AArch64::SQCVT_Z2Z_StoH:
20541 case AArch64::UQCVT_Z2Z_StoH: {
20542 // op: Zn
20543 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
20544 Value |= (op & 0xf) << 6;
20545 // op: Zd
20546 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20547 Value |= (op & 0x1f);
20548 break;
20549 }
20550 case AArch64::LUTI4_4ZZT2Z: {
20551 // op: Zn
20552 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
20553 Value |= (op & 0xf) << 6;
20554 // op: Zd
20555 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20556 Value |= (op & 0x7) << 2;
20557 break;
20558 }
20559 case AArch64::LUTI4_S_4ZZT2Z: {
20560 // op: Zn
20561 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
20562 Value |= (op & 0xf) << 6;
20563 // op: Zd
20564 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20565 Value |= (op & 0x4) << 2;
20566 Value |= (op & 0x3);
20567 break;
20568 }
20569 case AArch64::FCVTZS_4Z4Z_StoS:
20570 case AArch64::FCVTZU_4Z4Z_StoS:
20571 case AArch64::FRINTA_4Z4Z_S:
20572 case AArch64::FRINTM_4Z4Z_S:
20573 case AArch64::FRINTN_4Z4Z_S:
20574 case AArch64::FRINTP_4Z4Z_S:
20575 case AArch64::SCVTF_4Z4Z_StoS:
20576 case AArch64::UCVTF_4Z4Z_StoS:
20577 case AArch64::UZP_VG4_4Z4Z_B:
20578 case AArch64::UZP_VG4_4Z4Z_D:
20579 case AArch64::UZP_VG4_4Z4Z_H:
20580 case AArch64::UZP_VG4_4Z4Z_Q:
20581 case AArch64::UZP_VG4_4Z4Z_S:
20582 case AArch64::ZIP_VG4_4Z4Z_B:
20583 case AArch64::ZIP_VG4_4Z4Z_D:
20584 case AArch64::ZIP_VG4_4Z4Z_H:
20585 case AArch64::ZIP_VG4_4Z4Z_Q:
20586 case AArch64::ZIP_VG4_4Z4Z_S: {
20587 // op: Zn
20588 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20589 Value |= (op & 0x7) << 7;
20590 // op: Zd
20591 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20592 Value |= (op & 0x7) << 2;
20593 break;
20594 }
20595 case AArch64::FCVTN_Z4Z_StoB:
20596 case AArch64::FCVT_Z4Z_StoB:
20597 case AArch64::SQCVTN_Z4Z_DtoH:
20598 case AArch64::SQCVTN_Z4Z_StoB:
20599 case AArch64::SQCVTUN_Z4Z_DtoH:
20600 case AArch64::SQCVTUN_Z4Z_StoB:
20601 case AArch64::SQCVTU_Z4Z_DtoH:
20602 case AArch64::SQCVTU_Z4Z_StoB:
20603 case AArch64::SQCVT_Z4Z_DtoH:
20604 case AArch64::SQCVT_Z4Z_StoB:
20605 case AArch64::UQCVTN_Z4Z_DtoH:
20606 case AArch64::UQCVTN_Z4Z_StoB:
20607 case AArch64::UQCVT_Z4Z_DtoH:
20608 case AArch64::UQCVT_Z4Z_StoB: {
20609 // op: Zn
20610 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20611 Value |= (op & 0x7) << 7;
20612 // op: Zd
20613 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20614 Value |= (op & 0x1f);
20615 break;
20616 }
20617 case AArch64::SQRSHRN_VG4_Z4ZI_B:
20618 case AArch64::SQRSHRUN_VG4_Z4ZI_B:
20619 case AArch64::SQRSHRU_VG4_Z4ZI_B:
20620 case AArch64::SQRSHR_VG4_Z4ZI_B:
20621 case AArch64::UQRSHRN_VG4_Z4ZI_B:
20622 case AArch64::UQRSHR_VG4_Z4ZI_B: {
20623 // op: Zn
20624 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20625 Value |= (op & 0x7) << 7;
20626 // op: Zd
20627 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20628 Value |= (op & 0x1f);
20629 // op: imm
20630 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
20631 Value |= (op & 0x1f) << 16;
20632 break;
20633 }
20634 case AArch64::SQRSHRN_VG4_Z4ZI_H:
20635 case AArch64::SQRSHRUN_VG4_Z4ZI_H:
20636 case AArch64::SQRSHRU_VG4_Z4ZI_H:
20637 case AArch64::SQRSHR_VG4_Z4ZI_H:
20638 case AArch64::UQRSHRN_VG4_Z4ZI_H:
20639 case AArch64::UQRSHR_VG4_Z4ZI_H: {
20640 // op: Zn
20641 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20642 Value |= (op & 0x7) << 7;
20643 // op: Zd
20644 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20645 Value |= (op & 0x1f);
20646 // op: imm
20647 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
20648 Value |= (op & 0x20) << 17;
20649 Value |= (op & 0x1f) << 16;
20650 break;
20651 }
20652 case AArch64::BF1CVTL_2ZZ_BtoH:
20653 case AArch64::BF1CVT_2ZZ_BtoH:
20654 case AArch64::BF2CVTL_2ZZ_BtoH:
20655 case AArch64::BF2CVT_2ZZ_BtoH:
20656 case AArch64::F1CVTL_2ZZ_BtoH:
20657 case AArch64::F1CVT_2ZZ_BtoH:
20658 case AArch64::F2CVTL_2ZZ_BtoH:
20659 case AArch64::F2CVT_2ZZ_BtoH:
20660 case AArch64::FCVTL_2ZZ_H_S:
20661 case AArch64::FCVT_2ZZ_H_S:
20662 case AArch64::SUNPK_VG2_2ZZ_D:
20663 case AArch64::SUNPK_VG2_2ZZ_H:
20664 case AArch64::SUNPK_VG2_2ZZ_S:
20665 case AArch64::UUNPK_VG2_2ZZ_D:
20666 case AArch64::UUNPK_VG2_2ZZ_H:
20667 case AArch64::UUNPK_VG2_2ZZ_S: {
20668 // op: Zn
20669 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
20670 Value |= (op & 0x1f) << 5;
20671 // op: Zd
20672 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20673 Value |= (op & 0xf) << 1;
20674 break;
20675 }
20676 case AArch64::FADDV_VPZ_D:
20677 case AArch64::FADDV_VPZ_H:
20678 case AArch64::FADDV_VPZ_S:
20679 case AArch64::FMAXNMV_VPZ_D:
20680 case AArch64::FMAXNMV_VPZ_H:
20681 case AArch64::FMAXNMV_VPZ_S:
20682 case AArch64::FMAXV_VPZ_D:
20683 case AArch64::FMAXV_VPZ_H:
20684 case AArch64::FMAXV_VPZ_S:
20685 case AArch64::FMINNMV_VPZ_D:
20686 case AArch64::FMINNMV_VPZ_H:
20687 case AArch64::FMINNMV_VPZ_S:
20688 case AArch64::FMINV_VPZ_D:
20689 case AArch64::FMINV_VPZ_H:
20690 case AArch64::FMINV_VPZ_S: {
20691 // op: Zn
20692 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20693 Value |= (op & 0x1f) << 5;
20694 // op: Vd
20695 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20696 Value |= (op & 0x1f);
20697 // op: Pg
20698 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
20699 Value |= (op & 0x7) << 10;
20700 break;
20701 }
20702 case AArch64::LUTI4_2ZTZI_B:
20703 case AArch64::LUTI4_2ZTZI_H:
20704 case AArch64::LUTI4_2ZTZI_S: {
20705 // op: Zn
20706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20707 Value |= (op & 0x1f) << 5;
20708 // op: Zd
20709 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20710 Value |= (op & 0xf) << 1;
20711 // op: i
20712 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20713 Value |= (op & 0x3) << 15;
20714 break;
20715 }
20716 case AArch64::LUTI2_2ZTZI_B:
20717 case AArch64::LUTI2_2ZTZI_H:
20718 case AArch64::LUTI2_2ZTZI_S: {
20719 // op: Zn
20720 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20721 Value |= (op & 0x1f) << 5;
20722 // op: Zd
20723 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20724 Value |= (op & 0xf) << 1;
20725 // op: i
20726 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20727 Value |= (op & 0x7) << 15;
20728 break;
20729 }
20730 case AArch64::LUTI4_4ZTZI_H:
20731 case AArch64::LUTI4_4ZTZI_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<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20737 Value |= (op & 0x7) << 2;
20738 // op: i
20739 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20740 Value |= (op & 0x1) << 16;
20741 break;
20742 }
20743 case AArch64::LUTI2_4ZTZI_B:
20744 case AArch64::LUTI2_4ZTZI_H:
20745 case AArch64::LUTI2_4ZTZI_S: {
20746 // op: Zn
20747 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20748 Value |= (op & 0x1f) << 5;
20749 // op: Zd
20750 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20751 Value |= (op & 0x7) << 2;
20752 // op: i
20753 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20754 Value |= (op & 0x3) << 16;
20755 break;
20756 }
20757 case AArch64::LUTI4_S_2ZTZI_B:
20758 case AArch64::LUTI4_S_2ZTZI_H: {
20759 // op: Zn
20760 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20761 Value |= (op & 0x1f) << 5;
20762 // op: Zd
20763 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20764 Value |= (op & 0x8) << 1;
20765 Value |= (op & 0x7);
20766 // op: i
20767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20768 Value |= (op & 0x3) << 15;
20769 break;
20770 }
20771 case AArch64::LUTI2_S_2ZTZI_B:
20772 case AArch64::LUTI2_S_2ZTZI_H: {
20773 // op: Zn
20774 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20775 Value |= (op & 0x1f) << 5;
20776 // op: Zd
20777 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20778 Value |= (op & 0x8) << 1;
20779 Value |= (op & 0x7);
20780 // op: i
20781 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20782 Value |= (op & 0x7) << 15;
20783 break;
20784 }
20785 case AArch64::LUTI4_S_4ZTZI_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 = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20791 Value |= (op & 0x4) << 2;
20792 Value |= (op & 0x3);
20793 // op: i
20794 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20795 Value |= (op & 0x1) << 16;
20796 break;
20797 }
20798 case AArch64::LUTI2_S_4ZTZI_B:
20799 case AArch64::LUTI2_S_4ZTZI_H: {
20800 // op: Zn
20801 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20802 Value |= (op & 0x1f) << 5;
20803 // op: Zd
20804 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20805 Value |= (op & 0x4) << 2;
20806 Value |= (op & 0x3);
20807 // op: i
20808 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20809 Value |= (op & 0x3) << 16;
20810 break;
20811 }
20812 case AArch64::LUTI4_ZTZI_B:
20813 case AArch64::LUTI4_ZTZI_H:
20814 case AArch64::LUTI4_ZTZI_S: {
20815 // op: Zn
20816 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20817 Value |= (op & 0x1f) << 5;
20818 // op: Zd
20819 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20820 Value |= (op & 0x1f);
20821 // op: i
20822 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20823 Value |= (op & 0x7) << 14;
20824 break;
20825 }
20826 case AArch64::LUTI2_ZTZI_B:
20827 case AArch64::LUTI2_ZTZI_H:
20828 case AArch64::LUTI2_ZTZI_S: {
20829 // op: Zn
20830 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20831 Value |= (op & 0x1f) << 5;
20832 // op: Zd
20833 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20834 Value |= (op & 0x1f);
20835 // op: i
20836 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20837 Value |= (op & 0xf) << 14;
20838 break;
20839 }
20840 case AArch64::LD1B_2Z:
20841 case AArch64::LD1D_2Z:
20842 case AArch64::LD1H_2Z:
20843 case AArch64::LD1W_2Z:
20844 case AArch64::LDNT1B_2Z:
20845 case AArch64::LDNT1D_2Z:
20846 case AArch64::LDNT1H_2Z:
20847 case AArch64::LDNT1W_2Z:
20848 case AArch64::ST1B_2Z:
20849 case AArch64::ST1D_2Z:
20850 case AArch64::ST1H_2Z:
20851 case AArch64::ST1W_2Z:
20852 case AArch64::STNT1B_2Z:
20853 case AArch64::STNT1D_2Z:
20854 case AArch64::STNT1H_2Z:
20855 case AArch64::STNT1W_2Z: {
20856 // op: Zt
20857 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20858 Value |= (op & 0xf) << 1;
20859 // op: Rm
20860 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20861 Value |= (op & 0x1f) << 16;
20862 // op: Rn
20863 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20864 Value |= (op & 0x1f) << 5;
20865 // op: PNg
20866 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20867 Value |= (op & 0x7) << 10;
20868 break;
20869 }
20870 case AArch64::LD1B_2Z_IMM:
20871 case AArch64::LD1D_2Z_IMM:
20872 case AArch64::LD1H_2Z_IMM:
20873 case AArch64::LD1W_2Z_IMM:
20874 case AArch64::LDNT1B_2Z_IMM:
20875 case AArch64::LDNT1D_2Z_IMM:
20876 case AArch64::LDNT1H_2Z_IMM:
20877 case AArch64::LDNT1W_2Z_IMM:
20878 case AArch64::ST1B_2Z_IMM:
20879 case AArch64::ST1D_2Z_IMM:
20880 case AArch64::ST1H_2Z_IMM:
20881 case AArch64::ST1W_2Z_IMM:
20882 case AArch64::STNT1B_2Z_IMM:
20883 case AArch64::STNT1D_2Z_IMM:
20884 case AArch64::STNT1H_2Z_IMM:
20885 case AArch64::STNT1W_2Z_IMM: {
20886 // op: Zt
20887 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20888 Value |= (op & 0xf) << 1;
20889 // op: Rn
20890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20891 Value |= (op & 0x1f) << 5;
20892 // op: PNg
20893 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20894 Value |= (op & 0x7) << 10;
20895 // op: imm4
20896 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20897 Value |= (op & 0xf) << 16;
20898 break;
20899 }
20900 case AArch64::LD1B_4Z:
20901 case AArch64::LD1D_4Z:
20902 case AArch64::LD1H_4Z:
20903 case AArch64::LD1W_4Z:
20904 case AArch64::LDNT1B_4Z:
20905 case AArch64::LDNT1D_4Z:
20906 case AArch64::LDNT1H_4Z:
20907 case AArch64::LDNT1W_4Z:
20908 case AArch64::ST1B_4Z:
20909 case AArch64::ST1D_4Z:
20910 case AArch64::ST1H_4Z:
20911 case AArch64::ST1W_4Z:
20912 case AArch64::STNT1B_4Z:
20913 case AArch64::STNT1D_4Z:
20914 case AArch64::STNT1H_4Z:
20915 case AArch64::STNT1W_4Z: {
20916 // op: Zt
20917 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20918 Value |= (op & 0x7) << 2;
20919 // op: Rm
20920 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20921 Value |= (op & 0x1f) << 16;
20922 // op: Rn
20923 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20924 Value |= (op & 0x1f) << 5;
20925 // op: PNg
20926 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20927 Value |= (op & 0x7) << 10;
20928 break;
20929 }
20930 case AArch64::LD1B_4Z_IMM:
20931 case AArch64::LD1D_4Z_IMM:
20932 case AArch64::LD1H_4Z_IMM:
20933 case AArch64::LD1W_4Z_IMM:
20934 case AArch64::LDNT1B_4Z_IMM:
20935 case AArch64::LDNT1D_4Z_IMM:
20936 case AArch64::LDNT1H_4Z_IMM:
20937 case AArch64::LDNT1W_4Z_IMM:
20938 case AArch64::ST1B_4Z_IMM:
20939 case AArch64::ST1D_4Z_IMM:
20940 case AArch64::ST1H_4Z_IMM:
20941 case AArch64::ST1W_4Z_IMM:
20942 case AArch64::STNT1B_4Z_IMM:
20943 case AArch64::STNT1D_4Z_IMM:
20944 case AArch64::STNT1H_4Z_IMM:
20945 case AArch64::STNT1W_4Z_IMM: {
20946 // op: Zt
20947 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20948 Value |= (op & 0x7) << 2;
20949 // op: Rn
20950 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20951 Value |= (op & 0x1f) << 5;
20952 // op: PNg
20953 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20954 Value |= (op & 0x7) << 10;
20955 // op: imm4
20956 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20957 Value |= (op & 0xf) << 16;
20958 break;
20959 }
20960 case AArch64::LD1B:
20961 case AArch64::LD1B_D:
20962 case AArch64::LD1B_H:
20963 case AArch64::LD1B_S:
20964 case AArch64::LD1D:
20965 case AArch64::LD1H:
20966 case AArch64::LD1H_D:
20967 case AArch64::LD1H_S:
20968 case AArch64::LD1SB_D:
20969 case AArch64::LD1SB_H:
20970 case AArch64::LD1SB_S:
20971 case AArch64::LD1SH_D:
20972 case AArch64::LD1SH_S:
20973 case AArch64::LD1SW_D:
20974 case AArch64::LD1W:
20975 case AArch64::LD1W_D:
20976 case AArch64::LDFF1B:
20977 case AArch64::LDFF1B_D:
20978 case AArch64::LDFF1B_H:
20979 case AArch64::LDFF1B_S:
20980 case AArch64::LDFF1D:
20981 case AArch64::LDFF1H:
20982 case AArch64::LDFF1H_D:
20983 case AArch64::LDFF1H_S:
20984 case AArch64::LDFF1SB_D:
20985 case AArch64::LDFF1SB_H:
20986 case AArch64::LDFF1SB_S:
20987 case AArch64::LDFF1SH_D:
20988 case AArch64::LDFF1SH_S:
20989 case AArch64::LDFF1SW_D:
20990 case AArch64::LDFF1W:
20991 case AArch64::LDFF1W_D: {
20992 // op: Zt
20993 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20994 Value |= (op & 0x1f);
20995 // op: Pg
20996 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
20997 Value |= (op & 0x7) << 10;
20998 // op: Rm
20999 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21000 Value |= (op & 0x1f) << 16;
21001 // op: Rn
21002 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21003 Value |= (op & 0x1f) << 5;
21004 break;
21005 }
21006 case AArch64::LD1RO_B:
21007 case AArch64::LD1RO_D:
21008 case AArch64::LD1RO_H:
21009 case AArch64::LD1RO_W:
21010 case AArch64::LD1RQ_B:
21011 case AArch64::LD1RQ_D:
21012 case AArch64::LD1RQ_H:
21013 case AArch64::LD1RQ_W: {
21014 // op: Zt
21015 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21016 Value |= (op & 0x1f);
21017 // op: Pg
21018 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21019 Value |= (op & 0x7) << 10;
21020 // op: Rn
21021 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21022 Value |= (op & 0x1f) << 5;
21023 // op: Rm
21024 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21025 Value |= (op & 0x1f) << 16;
21026 break;
21027 }
21028 case AArch64::LD2B_IMM:
21029 case AArch64::LD2D_IMM:
21030 case AArch64::LD2H_IMM:
21031 case AArch64::LD2Q_IMM:
21032 case AArch64::LD2W_IMM:
21033 case AArch64::LD3B_IMM:
21034 case AArch64::LD3D_IMM:
21035 case AArch64::LD3H_IMM:
21036 case AArch64::LD3Q_IMM:
21037 case AArch64::LD3W_IMM:
21038 case AArch64::LD4B_IMM:
21039 case AArch64::LD4D_IMM:
21040 case AArch64::LD4H_IMM:
21041 case AArch64::LD4Q_IMM:
21042 case AArch64::LD4W_IMM:
21043 case AArch64::LDNT1B_ZRI:
21044 case AArch64::LDNT1D_ZRI:
21045 case AArch64::LDNT1H_ZRI:
21046 case AArch64::LDNT1W_ZRI: {
21047 // op: Zt
21048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21049 Value |= (op & 0x1f);
21050 // op: Pg
21051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21052 Value |= (op & 0x7) << 10;
21053 // op: Rn
21054 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21055 Value |= (op & 0x1f) << 5;
21056 // op: imm4
21057 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21058 Value |= (op & 0xf) << 16;
21059 break;
21060 }
21061 case AArch64::LD1D_Q:
21062 case AArch64::LD1W_Q:
21063 case AArch64::ST2Q:
21064 case AArch64::ST3Q:
21065 case AArch64::ST4Q: {
21066 // op: Zt
21067 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21068 Value |= (op & 0x1f);
21069 // op: Rn
21070 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21071 Value |= (op & 0x1f) << 5;
21072 // op: Pg
21073 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21074 Value |= (op & 0x7) << 10;
21075 // op: Rm
21076 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21077 Value |= (op & 0x1f) << 16;
21078 break;
21079 }
21080 case AArch64::LD1D_Q_IMM:
21081 case AArch64::LD1RO_B_IMM:
21082 case AArch64::LD1RO_D_IMM:
21083 case AArch64::LD1RO_H_IMM:
21084 case AArch64::LD1RO_W_IMM:
21085 case AArch64::LD1RQ_B_IMM:
21086 case AArch64::LD1RQ_D_IMM:
21087 case AArch64::LD1RQ_H_IMM:
21088 case AArch64::LD1RQ_W_IMM:
21089 case AArch64::LD1W_Q_IMM:
21090 case AArch64::ST2Q_IMM:
21091 case AArch64::ST3Q_IMM:
21092 case AArch64::ST4Q_IMM: {
21093 // op: Zt
21094 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21095 Value |= (op & 0x1f);
21096 // op: Rn
21097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21098 Value |= (op & 0x1f) << 5;
21099 // op: Pg
21100 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21101 Value |= (op & 0x7) << 10;
21102 // op: imm4
21103 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21104 Value |= (op & 0xf) << 16;
21105 break;
21106 }
21107 case AArch64::GLD1Q:
21108 case AArch64::SST1Q: {
21109 // op: Zt
21110 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21111 Value |= (op & 0x1f);
21112 // op: Zn
21113 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21114 Value |= (op & 0x1f) << 5;
21115 // op: Pg
21116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21117 Value |= (op & 0x7) << 10;
21118 // op: Rm
21119 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21120 Value |= (op & 0x1f) << 16;
21121 break;
21122 }
21123 case AArch64::MOVT_TIZ: {
21124 // op: Zt
21125 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21126 Value |= (op & 0x1f);
21127 // op: off2
21128 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21129 Value |= (op & 0x3) << 12;
21130 break;
21131 }
21132 case AArch64::B:
21133 case AArch64::BL: {
21134 // op: addr
21135 op = getBranchTargetOpValue(MI, OpIdx: 0, Fixups, STI);
21136 Value |= (op & 0x3ffffff);
21137 break;
21138 }
21139 case AArch64::BCcc:
21140 case AArch64::Bcc: {
21141 // op: cond
21142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21143 Value |= (op & 0xf);
21144 // op: target
21145 op = getCondBranchTargetOpValue(MI, OpIdx: 1, Fixups, STI);
21146 Value |= (op & 0x7ffff) << 5;
21147 break;
21148 }
21149 case AArch64::DUPi64: {
21150 // op: dst
21151 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21152 Value |= (op & 0x1f);
21153 // op: src
21154 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21155 Value |= (op & 0x1f) << 5;
21156 // op: idx
21157 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21158 Value |= (op & 0x1) << 20;
21159 break;
21160 }
21161 case AArch64::DUPi32: {
21162 // op: dst
21163 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21164 Value |= (op & 0x1f);
21165 // op: src
21166 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21167 Value |= (op & 0x1f) << 5;
21168 // op: idx
21169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21170 Value |= (op & 0x3) << 19;
21171 break;
21172 }
21173 case AArch64::DUPi16: {
21174 // op: dst
21175 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21176 Value |= (op & 0x1f);
21177 // op: src
21178 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21179 Value |= (op & 0x1f) << 5;
21180 // op: idx
21181 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21182 Value |= (op & 0x7) << 18;
21183 break;
21184 }
21185 case AArch64::DUPi8: {
21186 // op: dst
21187 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21188 Value |= (op & 0x1f);
21189 // op: src
21190 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21191 Value |= (op & 0x1f) << 5;
21192 // op: idx
21193 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21194 Value |= (op & 0xf) << 17;
21195 break;
21196 }
21197 case AArch64::ZERO_M: {
21198 // op: imm
21199 op = EncodeMatrixTileListRegisterClass(MI, OpIdx: 0, Fixups, STI);
21200 Value |= (op & 0xff);
21201 break;
21202 }
21203 case AArch64::HINT: {
21204 // op: imm
21205 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21206 Value |= (op & 0x7f) << 5;
21207 break;
21208 }
21209 case AArch64::TENTER: {
21210 // op: imm
21211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21212 Value |= (op & 0x7f) << 5;
21213 // op: nb
21214 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21215 Value |= (op & 0x1) << 17;
21216 break;
21217 }
21218 case AArch64::BRK:
21219 case AArch64::DCPS1:
21220 case AArch64::DCPS2:
21221 case AArch64::DCPS3:
21222 case AArch64::HLT:
21223 case AArch64::HVC:
21224 case AArch64::SMC:
21225 case AArch64::SVC: {
21226 // op: imm
21227 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21228 Value |= (op & 0xffff) << 5;
21229 break;
21230 }
21231 case AArch64::UDF: {
21232 // op: imm
21233 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21234 Value |= (op & 0xffff);
21235 break;
21236 }
21237 case AArch64::MOVT_TIX: {
21238 // op: imm3
21239 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21240 Value |= (op & 0x7) << 12;
21241 // op: Rt
21242 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21243 Value |= (op & 0x1f);
21244 break;
21245 }
21246 case AArch64::MOVT_XTI: {
21247 // op: imm3
21248 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21249 Value |= (op & 0x7) << 12;
21250 // op: Rt
21251 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21252 Value |= (op & 0x1f);
21253 break;
21254 }
21255 case AArch64::LD1B_2Z_STRIDED_IMM:
21256 case AArch64::LD1D_2Z_STRIDED_IMM:
21257 case AArch64::LD1H_2Z_STRIDED_IMM:
21258 case AArch64::LD1W_2Z_STRIDED_IMM:
21259 case AArch64::LDNT1B_2Z_STRIDED_IMM:
21260 case AArch64::LDNT1D_2Z_STRIDED_IMM:
21261 case AArch64::LDNT1H_2Z_STRIDED_IMM:
21262 case AArch64::LDNT1W_2Z_STRIDED_IMM:
21263 case AArch64::ST1B_2Z_STRIDED_IMM:
21264 case AArch64::ST1D_2Z_STRIDED_IMM:
21265 case AArch64::ST1H_2Z_STRIDED_IMM:
21266 case AArch64::ST1W_2Z_STRIDED_IMM:
21267 case AArch64::STNT1B_2Z_STRIDED_IMM:
21268 case AArch64::STNT1D_2Z_STRIDED_IMM:
21269 case AArch64::STNT1H_2Z_STRIDED_IMM:
21270 case AArch64::STNT1W_2Z_STRIDED_IMM: {
21271 // op: imm4
21272 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21273 Value |= (op & 0xf) << 16;
21274 // op: PNg
21275 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
21276 Value |= (op & 0x7) << 10;
21277 // op: Rn
21278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21279 Value |= (op & 0x1f) << 5;
21280 // op: Zt
21281 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
21282 Value |= (op & 0x8) << 1;
21283 Value |= (op & 0x7);
21284 break;
21285 }
21286 case AArch64::LD1B_4Z_STRIDED_IMM:
21287 case AArch64::LD1D_4Z_STRIDED_IMM:
21288 case AArch64::LD1H_4Z_STRIDED_IMM:
21289 case AArch64::LD1W_4Z_STRIDED_IMM:
21290 case AArch64::LDNT1B_4Z_STRIDED_IMM:
21291 case AArch64::LDNT1D_4Z_STRIDED_IMM:
21292 case AArch64::LDNT1H_4Z_STRIDED_IMM:
21293 case AArch64::LDNT1W_4Z_STRIDED_IMM:
21294 case AArch64::ST1B_4Z_STRIDED_IMM:
21295 case AArch64::ST1D_4Z_STRIDED_IMM:
21296 case AArch64::ST1H_4Z_STRIDED_IMM:
21297 case AArch64::ST1W_4Z_STRIDED_IMM:
21298 case AArch64::STNT1B_4Z_STRIDED_IMM:
21299 case AArch64::STNT1D_4Z_STRIDED_IMM:
21300 case AArch64::STNT1H_4Z_STRIDED_IMM:
21301 case AArch64::STNT1W_4Z_STRIDED_IMM: {
21302 // op: imm4
21303 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21304 Value |= (op & 0xf) << 16;
21305 // op: PNg
21306 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
21307 Value |= (op & 0x7) << 10;
21308 // op: Rn
21309 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21310 Value |= (op & 0x1f) << 5;
21311 // op: Zt
21312 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
21313 Value |= (op & 0x4) << 2;
21314 Value |= (op & 0x3);
21315 break;
21316 }
21317 case AArch64::SQRSHRU_VG2_Z2ZI_H:
21318 case AArch64::SQRSHR_VG2_Z2ZI_H:
21319 case AArch64::UQRSHR_VG2_Z2ZI_H: {
21320 // op: imm4
21321 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
21322 Value |= (op & 0xf) << 16;
21323 // op: Zn
21324 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
21325 Value |= (op & 0xf) << 6;
21326 // op: Zd
21327 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21328 Value |= (op & 0x1f);
21329 break;
21330 }
21331 case AArch64::AUTIASPPCi:
21332 case AArch64::AUTIBSPPCi:
21333 case AArch64::RETAASPPCi:
21334 case AArch64::RETABSPPCi: {
21335 // op: label
21336 op = getPAuthPCRelOpValue(MI, OpIdx: 0, Fixups, STI);
21337 Value |= (op & 0xffff) << 5;
21338 break;
21339 }
21340 case AArch64::TEXIT: {
21341 // op: nb
21342 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21343 Value |= (op & 0x1) << 10;
21344 break;
21345 }
21346 case AArch64::LDRAAindexed:
21347 case AArch64::LDRABindexed: {
21348 // op: offset
21349 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21350 Value |= (op & 0x200) << 13;
21351 Value |= (op & 0x1ff) << 12;
21352 // op: Rn
21353 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21354 Value |= (op & 0x1f) << 5;
21355 // op: Rt
21356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21357 Value |= (op & 0x1f);
21358 break;
21359 }
21360 case AArch64::LDRAAwriteback:
21361 case AArch64::LDRABwriteback: {
21362 // op: offset
21363 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21364 Value |= (op & 0x200) << 13;
21365 Value |= (op & 0x1ff) << 12;
21366 // op: Rn
21367 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21368 Value |= (op & 0x1f) << 5;
21369 // op: Rt
21370 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21371 Value |= (op & 0x1f);
21372 break;
21373 }
21374 case AArch64::SYSPxt_XZR: {
21375 // op: op1
21376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21377 Value |= (op & 0x7) << 16;
21378 // op: Cn
21379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21380 Value |= (op & 0xf) << 12;
21381 // op: Cm
21382 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21383 Value |= (op & 0xf) << 8;
21384 // op: op2
21385 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21386 Value |= (op & 0x7) << 5;
21387 break;
21388 }
21389 case AArch64::STSHH: {
21390 // op: policy
21391 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21392 Value |= (op & 0x1) << 5;
21393 break;
21394 }
21395 case AArch64::SHUH: {
21396 // op: priority
21397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21398 Value |= (op & 0x1) << 5;
21399 break;
21400 }
21401 case AArch64::MSRpstateImm1: {
21402 // op: pstatefield
21403 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21404 Value |= (op & 0x38) << 13;
21405 Value |= (op & 0x1c0) << 3;
21406 Value |= (op & 0x7) << 5;
21407 // op: imm
21408 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21409 Value |= (op & 0x1) << 8;
21410 break;
21411 }
21412 case AArch64::MSRpstateImm4: {
21413 // op: pstatefield
21414 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21415 Value |= (op & 0x38) << 13;
21416 Value |= (op & 0x7) << 5;
21417 // op: imm
21418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21419 Value |= (op & 0xf) << 8;
21420 break;
21421 }
21422 case AArch64::MSRpstatesvcrImm1: {
21423 // op: pstatefield
21424 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21425 Value |= (op & 0x7) << 9;
21426 // op: imm
21427 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21428 Value |= (op & 0x1) << 8;
21429 break;
21430 }
21431 default:
21432 reportUnsupportedInst(Inst: MI);
21433 }
21434 return Value;
21435}
21436
21437#ifdef GET_OPERAND_BIT_OFFSET
21438#undef GET_OPERAND_BIT_OFFSET
21439
21440uint32_t AArch64MCCodeEmitter::getOperandBitOffset(const MCInst &MI,
21441 unsigned OpNum,
21442 const MCSubtargetInfo &STI) const {
21443 switch (MI.getOpcode()) {
21444 case AArch64::AUTIA1716:
21445 case AArch64::AUTIA171615:
21446 case AArch64::AUTIASP:
21447 case AArch64::AUTIAZ:
21448 case AArch64::AUTIB1716:
21449 case AArch64::AUTIB171615:
21450 case AArch64::AUTIBSP:
21451 case AArch64::AUTIBZ:
21452 case AArch64::AXFLAG:
21453 case AArch64::CFINV:
21454 case AArch64::CHKFEAT:
21455 case AArch64::DRPS:
21456 case AArch64::ERET:
21457 case AArch64::ERETAA:
21458 case AArch64::ERETAB:
21459 case AArch64::GCSPOPCX:
21460 case AArch64::GCSPOPX:
21461 case AArch64::GCSPUSHX:
21462 case AArch64::NOP:
21463 case AArch64::PACIA1716:
21464 case AArch64::PACIA171615:
21465 case AArch64::PACIASP:
21466 case AArch64::PACIASPPC:
21467 case AArch64::PACIAZ:
21468 case AArch64::PACIB1716:
21469 case AArch64::PACIB171615:
21470 case AArch64::PACIBSP:
21471 case AArch64::PACIBSPPC:
21472 case AArch64::PACIBZ:
21473 case AArch64::PACM:
21474 case AArch64::PACNBIASPPC:
21475 case AArch64::PACNBIBSPPC:
21476 case AArch64::RETAA:
21477 case AArch64::RETAB:
21478 case AArch64::SB:
21479 case AArch64::SETFFR:
21480 case AArch64::STCPH:
21481 case AArch64::TSB:
21482 case AArch64::XAFLAG:
21483 case AArch64::XPACLRI:
21484 case AArch64::ZERO_T: {
21485 break;
21486 }
21487 case AArch64::DSBnXS: {
21488 switch (OpNum) {
21489 case 0:
21490 // op: CRm
21491 return 10;
21492 }
21493 break;
21494 }
21495 case AArch64::CLREX:
21496 case AArch64::DMB:
21497 case AArch64::DSB:
21498 case AArch64::ISB: {
21499 switch (OpNum) {
21500 case 0:
21501 // op: CRm
21502 return 8;
21503 }
21504 break;
21505 }
21506 case AArch64::WHILEGE_CXX_B:
21507 case AArch64::WHILEGE_CXX_D:
21508 case AArch64::WHILEGE_CXX_H:
21509 case AArch64::WHILEGE_CXX_S:
21510 case AArch64::WHILEGT_CXX_B:
21511 case AArch64::WHILEGT_CXX_D:
21512 case AArch64::WHILEGT_CXX_H:
21513 case AArch64::WHILEGT_CXX_S:
21514 case AArch64::WHILEHI_CXX_B:
21515 case AArch64::WHILEHI_CXX_D:
21516 case AArch64::WHILEHI_CXX_H:
21517 case AArch64::WHILEHI_CXX_S:
21518 case AArch64::WHILEHS_CXX_B:
21519 case AArch64::WHILEHS_CXX_D:
21520 case AArch64::WHILEHS_CXX_H:
21521 case AArch64::WHILEHS_CXX_S:
21522 case AArch64::WHILELE_CXX_B:
21523 case AArch64::WHILELE_CXX_D:
21524 case AArch64::WHILELE_CXX_H:
21525 case AArch64::WHILELE_CXX_S:
21526 case AArch64::WHILELO_CXX_B:
21527 case AArch64::WHILELO_CXX_D:
21528 case AArch64::WHILELO_CXX_H:
21529 case AArch64::WHILELO_CXX_S:
21530 case AArch64::WHILELS_CXX_B:
21531 case AArch64::WHILELS_CXX_D:
21532 case AArch64::WHILELS_CXX_H:
21533 case AArch64::WHILELS_CXX_S:
21534 case AArch64::WHILELT_CXX_B:
21535 case AArch64::WHILELT_CXX_D:
21536 case AArch64::WHILELT_CXX_H:
21537 case AArch64::WHILELT_CXX_S: {
21538 switch (OpNum) {
21539 case 0:
21540 // op: PNd
21541 return 0;
21542 case 1:
21543 // op: Rn
21544 return 5;
21545 case 3:
21546 // op: vl
21547 return 13;
21548 case 2:
21549 // op: Rm
21550 return 16;
21551 }
21552 break;
21553 }
21554 case AArch64::PTRUE_C_B:
21555 case AArch64::PTRUE_C_D:
21556 case AArch64::PTRUE_C_H:
21557 case AArch64::PTRUE_C_S: {
21558 switch (OpNum) {
21559 case 0:
21560 // op: PNd
21561 return 0;
21562 }
21563 break;
21564 }
21565 case AArch64::PEXT_2PCI_B:
21566 case AArch64::PEXT_2PCI_D:
21567 case AArch64::PEXT_2PCI_H:
21568 case AArch64::PEXT_2PCI_S:
21569 case AArch64::PEXT_PCI_B:
21570 case AArch64::PEXT_PCI_D:
21571 case AArch64::PEXT_PCI_H:
21572 case AArch64::PEXT_PCI_S: {
21573 switch (OpNum) {
21574 case 0:
21575 // op: Pd
21576 return 0;
21577 case 1:
21578 // op: PNn
21579 return 5;
21580 case 2:
21581 // op: index
21582 return 8;
21583 }
21584 break;
21585 }
21586 case AArch64::BRKAS_PPzP:
21587 case AArch64::BRKA_PPzP:
21588 case AArch64::BRKBS_PPzP:
21589 case AArch64::BRKB_PPzP: {
21590 switch (OpNum) {
21591 case 0:
21592 // op: Pd
21593 return 0;
21594 case 1:
21595 // op: Pg
21596 return 10;
21597 case 2:
21598 // op: Pn
21599 return 5;
21600 }
21601 break;
21602 }
21603 case AArch64::CMPEQ_PPzZI_B:
21604 case AArch64::CMPEQ_PPzZI_D:
21605 case AArch64::CMPEQ_PPzZI_H:
21606 case AArch64::CMPEQ_PPzZI_S:
21607 case AArch64::CMPGE_PPzZI_B:
21608 case AArch64::CMPGE_PPzZI_D:
21609 case AArch64::CMPGE_PPzZI_H:
21610 case AArch64::CMPGE_PPzZI_S:
21611 case AArch64::CMPGT_PPzZI_B:
21612 case AArch64::CMPGT_PPzZI_D:
21613 case AArch64::CMPGT_PPzZI_H:
21614 case AArch64::CMPGT_PPzZI_S:
21615 case AArch64::CMPLE_PPzZI_B:
21616 case AArch64::CMPLE_PPzZI_D:
21617 case AArch64::CMPLE_PPzZI_H:
21618 case AArch64::CMPLE_PPzZI_S:
21619 case AArch64::CMPLT_PPzZI_B:
21620 case AArch64::CMPLT_PPzZI_D:
21621 case AArch64::CMPLT_PPzZI_H:
21622 case AArch64::CMPLT_PPzZI_S:
21623 case AArch64::CMPNE_PPzZI_B:
21624 case AArch64::CMPNE_PPzZI_D:
21625 case AArch64::CMPNE_PPzZI_H:
21626 case AArch64::CMPNE_PPzZI_S: {
21627 switch (OpNum) {
21628 case 0:
21629 // op: Pd
21630 return 0;
21631 case 1:
21632 // op: Pg
21633 return 10;
21634 case 2:
21635 // op: Zn
21636 return 5;
21637 case 3:
21638 // op: imm5
21639 return 16;
21640 }
21641 break;
21642 }
21643 case AArch64::CMPHI_PPzZI_B:
21644 case AArch64::CMPHI_PPzZI_D:
21645 case AArch64::CMPHI_PPzZI_H:
21646 case AArch64::CMPHI_PPzZI_S:
21647 case AArch64::CMPHS_PPzZI_B:
21648 case AArch64::CMPHS_PPzZI_D:
21649 case AArch64::CMPHS_PPzZI_H:
21650 case AArch64::CMPHS_PPzZI_S:
21651 case AArch64::CMPLO_PPzZI_B:
21652 case AArch64::CMPLO_PPzZI_D:
21653 case AArch64::CMPLO_PPzZI_H:
21654 case AArch64::CMPLO_PPzZI_S:
21655 case AArch64::CMPLS_PPzZI_B:
21656 case AArch64::CMPLS_PPzZI_D:
21657 case AArch64::CMPLS_PPzZI_H:
21658 case AArch64::CMPLS_PPzZI_S: {
21659 switch (OpNum) {
21660 case 0:
21661 // op: Pd
21662 return 0;
21663 case 1:
21664 // op: Pg
21665 return 10;
21666 case 2:
21667 // op: Zn
21668 return 5;
21669 case 3:
21670 // op: imm7
21671 return 14;
21672 }
21673 break;
21674 }
21675 case AArch64::FCMEQ_PPzZ0_D:
21676 case AArch64::FCMEQ_PPzZ0_H:
21677 case AArch64::FCMEQ_PPzZ0_S:
21678 case AArch64::FCMGE_PPzZ0_D:
21679 case AArch64::FCMGE_PPzZ0_H:
21680 case AArch64::FCMGE_PPzZ0_S:
21681 case AArch64::FCMGT_PPzZ0_D:
21682 case AArch64::FCMGT_PPzZ0_H:
21683 case AArch64::FCMGT_PPzZ0_S:
21684 case AArch64::FCMLE_PPzZ0_D:
21685 case AArch64::FCMLE_PPzZ0_H:
21686 case AArch64::FCMLE_PPzZ0_S:
21687 case AArch64::FCMLT_PPzZ0_D:
21688 case AArch64::FCMLT_PPzZ0_H:
21689 case AArch64::FCMLT_PPzZ0_S:
21690 case AArch64::FCMNE_PPzZ0_D:
21691 case AArch64::FCMNE_PPzZ0_H:
21692 case AArch64::FCMNE_PPzZ0_S: {
21693 switch (OpNum) {
21694 case 0:
21695 // op: Pd
21696 return 0;
21697 case 1:
21698 // op: Pg
21699 return 10;
21700 case 2:
21701 // op: Zn
21702 return 5;
21703 }
21704 break;
21705 }
21706 case AArch64::ANDS_PPzPP:
21707 case AArch64::AND_PPzPP:
21708 case AArch64::BICS_PPzPP:
21709 case AArch64::BIC_PPzPP:
21710 case AArch64::BRKPAS_PPzPP:
21711 case AArch64::BRKPA_PPzPP:
21712 case AArch64::BRKPBS_PPzPP:
21713 case AArch64::BRKPB_PPzPP:
21714 case AArch64::EORS_PPzPP:
21715 case AArch64::EOR_PPzPP:
21716 case AArch64::NANDS_PPzPP:
21717 case AArch64::NAND_PPzPP:
21718 case AArch64::NORS_PPzPP:
21719 case AArch64::NOR_PPzPP:
21720 case AArch64::ORNS_PPzPP:
21721 case AArch64::ORN_PPzPP:
21722 case AArch64::ORRS_PPzPP:
21723 case AArch64::ORR_PPzPP:
21724 case AArch64::SEL_PPPP: {
21725 switch (OpNum) {
21726 case 0:
21727 // op: Pd
21728 return 0;
21729 case 1:
21730 // op: Pg
21731 return 10;
21732 case 3:
21733 // op: Pm
21734 return 16;
21735 case 2:
21736 // op: Pn
21737 return 5;
21738 }
21739 break;
21740 }
21741 case AArch64::CMPEQ_PPzZZ_B:
21742 case AArch64::CMPEQ_PPzZZ_D:
21743 case AArch64::CMPEQ_PPzZZ_H:
21744 case AArch64::CMPEQ_PPzZZ_S:
21745 case AArch64::CMPEQ_WIDE_PPzZZ_B:
21746 case AArch64::CMPEQ_WIDE_PPzZZ_H:
21747 case AArch64::CMPEQ_WIDE_PPzZZ_S:
21748 case AArch64::CMPGE_PPzZZ_B:
21749 case AArch64::CMPGE_PPzZZ_D:
21750 case AArch64::CMPGE_PPzZZ_H:
21751 case AArch64::CMPGE_PPzZZ_S:
21752 case AArch64::CMPGE_WIDE_PPzZZ_B:
21753 case AArch64::CMPGE_WIDE_PPzZZ_H:
21754 case AArch64::CMPGE_WIDE_PPzZZ_S:
21755 case AArch64::CMPGT_PPzZZ_B:
21756 case AArch64::CMPGT_PPzZZ_D:
21757 case AArch64::CMPGT_PPzZZ_H:
21758 case AArch64::CMPGT_PPzZZ_S:
21759 case AArch64::CMPGT_WIDE_PPzZZ_B:
21760 case AArch64::CMPGT_WIDE_PPzZZ_H:
21761 case AArch64::CMPGT_WIDE_PPzZZ_S:
21762 case AArch64::CMPHI_PPzZZ_B:
21763 case AArch64::CMPHI_PPzZZ_D:
21764 case AArch64::CMPHI_PPzZZ_H:
21765 case AArch64::CMPHI_PPzZZ_S:
21766 case AArch64::CMPHI_WIDE_PPzZZ_B:
21767 case AArch64::CMPHI_WIDE_PPzZZ_H:
21768 case AArch64::CMPHI_WIDE_PPzZZ_S:
21769 case AArch64::CMPHS_PPzZZ_B:
21770 case AArch64::CMPHS_PPzZZ_D:
21771 case AArch64::CMPHS_PPzZZ_H:
21772 case AArch64::CMPHS_PPzZZ_S:
21773 case AArch64::CMPHS_WIDE_PPzZZ_B:
21774 case AArch64::CMPHS_WIDE_PPzZZ_H:
21775 case AArch64::CMPHS_WIDE_PPzZZ_S:
21776 case AArch64::CMPLE_WIDE_PPzZZ_B:
21777 case AArch64::CMPLE_WIDE_PPzZZ_H:
21778 case AArch64::CMPLE_WIDE_PPzZZ_S:
21779 case AArch64::CMPLO_WIDE_PPzZZ_B:
21780 case AArch64::CMPLO_WIDE_PPzZZ_H:
21781 case AArch64::CMPLO_WIDE_PPzZZ_S:
21782 case AArch64::CMPLS_WIDE_PPzZZ_B:
21783 case AArch64::CMPLS_WIDE_PPzZZ_H:
21784 case AArch64::CMPLS_WIDE_PPzZZ_S:
21785 case AArch64::CMPLT_WIDE_PPzZZ_B:
21786 case AArch64::CMPLT_WIDE_PPzZZ_H:
21787 case AArch64::CMPLT_WIDE_PPzZZ_S:
21788 case AArch64::CMPNE_PPzZZ_B:
21789 case AArch64::CMPNE_PPzZZ_D:
21790 case AArch64::CMPNE_PPzZZ_H:
21791 case AArch64::CMPNE_PPzZZ_S:
21792 case AArch64::CMPNE_WIDE_PPzZZ_B:
21793 case AArch64::CMPNE_WIDE_PPzZZ_H:
21794 case AArch64::CMPNE_WIDE_PPzZZ_S:
21795 case AArch64::FACGE_PPzZZ_D:
21796 case AArch64::FACGE_PPzZZ_H:
21797 case AArch64::FACGE_PPzZZ_S:
21798 case AArch64::FACGT_PPzZZ_D:
21799 case AArch64::FACGT_PPzZZ_H:
21800 case AArch64::FACGT_PPzZZ_S:
21801 case AArch64::FCMEQ_PPzZZ_D:
21802 case AArch64::FCMEQ_PPzZZ_H:
21803 case AArch64::FCMEQ_PPzZZ_S:
21804 case AArch64::FCMGE_PPzZZ_D:
21805 case AArch64::FCMGE_PPzZZ_H:
21806 case AArch64::FCMGE_PPzZZ_S:
21807 case AArch64::FCMGT_PPzZZ_D:
21808 case AArch64::FCMGT_PPzZZ_H:
21809 case AArch64::FCMGT_PPzZZ_S:
21810 case AArch64::FCMNE_PPzZZ_D:
21811 case AArch64::FCMNE_PPzZZ_H:
21812 case AArch64::FCMNE_PPzZZ_S:
21813 case AArch64::FCMUO_PPzZZ_D:
21814 case AArch64::FCMUO_PPzZZ_H:
21815 case AArch64::FCMUO_PPzZZ_S:
21816 case AArch64::MATCH_PPzZZ_B:
21817 case AArch64::MATCH_PPzZZ_H:
21818 case AArch64::NMATCH_PPzZZ_B:
21819 case AArch64::NMATCH_PPzZZ_H: {
21820 switch (OpNum) {
21821 case 0:
21822 // op: Pd
21823 return 0;
21824 case 1:
21825 // op: Pg
21826 return 10;
21827 case 3:
21828 // op: Zm
21829 return 16;
21830 case 2:
21831 // op: Zn
21832 return 5;
21833 }
21834 break;
21835 }
21836 case AArch64::RDFFRS_PPz:
21837 case AArch64::RDFFR_PPz: {
21838 switch (OpNum) {
21839 case 0:
21840 // op: Pd
21841 return 0;
21842 case 1:
21843 // op: Pg
21844 return 5;
21845 }
21846 break;
21847 }
21848 case AArch64::PUNPKHI_PP:
21849 case AArch64::PUNPKLO_PP:
21850 case AArch64::REV_PP_B:
21851 case AArch64::REV_PP_D:
21852 case AArch64::REV_PP_H:
21853 case AArch64::REV_PP_S: {
21854 switch (OpNum) {
21855 case 0:
21856 // op: Pd
21857 return 0;
21858 case 1:
21859 // op: Pn
21860 return 5;
21861 }
21862 break;
21863 }
21864 case AArch64::PMOV_PZI_D:
21865 case AArch64::PMOV_PZI_H:
21866 case AArch64::PMOV_PZI_S: {
21867 switch (OpNum) {
21868 case 0:
21869 // op: Pd
21870 return 0;
21871 case 1:
21872 // op: Zn
21873 return 5;
21874 case 2:
21875 // op: index
21876 return 17;
21877 }
21878 break;
21879 }
21880 case AArch64::PMOV_PZI_B: {
21881 switch (OpNum) {
21882 case 0:
21883 // op: Pd
21884 return 0;
21885 case 1:
21886 // op: Zn
21887 return 5;
21888 }
21889 break;
21890 }
21891 case AArch64::PTRUES_B:
21892 case AArch64::PTRUES_D:
21893 case AArch64::PTRUES_H:
21894 case AArch64::PTRUES_S:
21895 case AArch64::PTRUE_B:
21896 case AArch64::PTRUE_D:
21897 case AArch64::PTRUE_H:
21898 case AArch64::PTRUE_S: {
21899 switch (OpNum) {
21900 case 0:
21901 // op: Pd
21902 return 0;
21903 case 1:
21904 // op: pattern
21905 return 5;
21906 }
21907 break;
21908 }
21909 case AArch64::BRKA_PPmP:
21910 case AArch64::BRKB_PPmP: {
21911 switch (OpNum) {
21912 case 0:
21913 // op: Pd
21914 return 0;
21915 case 2:
21916 // op: Pg
21917 return 10;
21918 case 3:
21919 // op: Pn
21920 return 5;
21921 }
21922 break;
21923 }
21924 case AArch64::TRN1_PPP_B:
21925 case AArch64::TRN1_PPP_D:
21926 case AArch64::TRN1_PPP_H:
21927 case AArch64::TRN1_PPP_S:
21928 case AArch64::TRN2_PPP_B:
21929 case AArch64::TRN2_PPP_D:
21930 case AArch64::TRN2_PPP_H:
21931 case AArch64::TRN2_PPP_S:
21932 case AArch64::UZP1_PPP_B:
21933 case AArch64::UZP1_PPP_D:
21934 case AArch64::UZP1_PPP_H:
21935 case AArch64::UZP1_PPP_S:
21936 case AArch64::UZP2_PPP_B:
21937 case AArch64::UZP2_PPP_D:
21938 case AArch64::UZP2_PPP_H:
21939 case AArch64::UZP2_PPP_S:
21940 case AArch64::ZIP1_PPP_B:
21941 case AArch64::ZIP1_PPP_D:
21942 case AArch64::ZIP1_PPP_H:
21943 case AArch64::ZIP1_PPP_S:
21944 case AArch64::ZIP2_PPP_B:
21945 case AArch64::ZIP2_PPP_D:
21946 case AArch64::ZIP2_PPP_H:
21947 case AArch64::ZIP2_PPP_S: {
21948 switch (OpNum) {
21949 case 0:
21950 // op: Pd
21951 return 0;
21952 case 2:
21953 // op: Pm
21954 return 16;
21955 case 1:
21956 // op: Pn
21957 return 5;
21958 }
21959 break;
21960 }
21961 case AArch64::WHILEGE_PWW_B:
21962 case AArch64::WHILEGE_PWW_D:
21963 case AArch64::WHILEGE_PWW_H:
21964 case AArch64::WHILEGE_PWW_S:
21965 case AArch64::WHILEGE_PXX_B:
21966 case AArch64::WHILEGE_PXX_D:
21967 case AArch64::WHILEGE_PXX_H:
21968 case AArch64::WHILEGE_PXX_S:
21969 case AArch64::WHILEGT_PWW_B:
21970 case AArch64::WHILEGT_PWW_D:
21971 case AArch64::WHILEGT_PWW_H:
21972 case AArch64::WHILEGT_PWW_S:
21973 case AArch64::WHILEGT_PXX_B:
21974 case AArch64::WHILEGT_PXX_D:
21975 case AArch64::WHILEGT_PXX_H:
21976 case AArch64::WHILEGT_PXX_S:
21977 case AArch64::WHILEHI_PWW_B:
21978 case AArch64::WHILEHI_PWW_D:
21979 case AArch64::WHILEHI_PWW_H:
21980 case AArch64::WHILEHI_PWW_S:
21981 case AArch64::WHILEHI_PXX_B:
21982 case AArch64::WHILEHI_PXX_D:
21983 case AArch64::WHILEHI_PXX_H:
21984 case AArch64::WHILEHI_PXX_S:
21985 case AArch64::WHILEHS_PWW_B:
21986 case AArch64::WHILEHS_PWW_D:
21987 case AArch64::WHILEHS_PWW_H:
21988 case AArch64::WHILEHS_PWW_S:
21989 case AArch64::WHILEHS_PXX_B:
21990 case AArch64::WHILEHS_PXX_D:
21991 case AArch64::WHILEHS_PXX_H:
21992 case AArch64::WHILEHS_PXX_S:
21993 case AArch64::WHILELE_PWW_B:
21994 case AArch64::WHILELE_PWW_D:
21995 case AArch64::WHILELE_PWW_H:
21996 case AArch64::WHILELE_PWW_S:
21997 case AArch64::WHILELE_PXX_B:
21998 case AArch64::WHILELE_PXX_D:
21999 case AArch64::WHILELE_PXX_H:
22000 case AArch64::WHILELE_PXX_S:
22001 case AArch64::WHILELO_PWW_B:
22002 case AArch64::WHILELO_PWW_D:
22003 case AArch64::WHILELO_PWW_H:
22004 case AArch64::WHILELO_PWW_S:
22005 case AArch64::WHILELO_PXX_B:
22006 case AArch64::WHILELO_PXX_D:
22007 case AArch64::WHILELO_PXX_H:
22008 case AArch64::WHILELO_PXX_S:
22009 case AArch64::WHILELS_PWW_B:
22010 case AArch64::WHILELS_PWW_D:
22011 case AArch64::WHILELS_PWW_H:
22012 case AArch64::WHILELS_PWW_S:
22013 case AArch64::WHILELS_PXX_B:
22014 case AArch64::WHILELS_PXX_D:
22015 case AArch64::WHILELS_PXX_H:
22016 case AArch64::WHILELS_PXX_S:
22017 case AArch64::WHILELT_PWW_B:
22018 case AArch64::WHILELT_PWW_D:
22019 case AArch64::WHILELT_PWW_H:
22020 case AArch64::WHILELT_PWW_S:
22021 case AArch64::WHILELT_PXX_B:
22022 case AArch64::WHILELT_PXX_D:
22023 case AArch64::WHILELT_PXX_H:
22024 case AArch64::WHILELT_PXX_S:
22025 case AArch64::WHILERW_PXX_B:
22026 case AArch64::WHILERW_PXX_D:
22027 case AArch64::WHILERW_PXX_H:
22028 case AArch64::WHILERW_PXX_S:
22029 case AArch64::WHILEWR_PXX_B:
22030 case AArch64::WHILEWR_PXX_D:
22031 case AArch64::WHILEWR_PXX_H:
22032 case AArch64::WHILEWR_PXX_S: {
22033 switch (OpNum) {
22034 case 0:
22035 // op: Pd
22036 return 0;
22037 case 2:
22038 // op: Rm
22039 return 16;
22040 case 1:
22041 // op: Rn
22042 return 5;
22043 }
22044 break;
22045 }
22046 case AArch64::PFALSE:
22047 case AArch64::RDFFR_P: {
22048 switch (OpNum) {
22049 case 0:
22050 // op: Pd
22051 return 0;
22052 }
22053 break;
22054 }
22055 case AArch64::WHILEGE_2PXX_B:
22056 case AArch64::WHILEGE_2PXX_D:
22057 case AArch64::WHILEGE_2PXX_H:
22058 case AArch64::WHILEGE_2PXX_S:
22059 case AArch64::WHILEGT_2PXX_B:
22060 case AArch64::WHILEGT_2PXX_D:
22061 case AArch64::WHILEGT_2PXX_H:
22062 case AArch64::WHILEGT_2PXX_S:
22063 case AArch64::WHILEHI_2PXX_B:
22064 case AArch64::WHILEHI_2PXX_D:
22065 case AArch64::WHILEHI_2PXX_H:
22066 case AArch64::WHILEHI_2PXX_S:
22067 case AArch64::WHILEHS_2PXX_B:
22068 case AArch64::WHILEHS_2PXX_D:
22069 case AArch64::WHILEHS_2PXX_H:
22070 case AArch64::WHILEHS_2PXX_S:
22071 case AArch64::WHILELE_2PXX_B:
22072 case AArch64::WHILELE_2PXX_D:
22073 case AArch64::WHILELE_2PXX_H:
22074 case AArch64::WHILELE_2PXX_S:
22075 case AArch64::WHILELO_2PXX_B:
22076 case AArch64::WHILELO_2PXX_D:
22077 case AArch64::WHILELO_2PXX_H:
22078 case AArch64::WHILELO_2PXX_S:
22079 case AArch64::WHILELS_2PXX_B:
22080 case AArch64::WHILELS_2PXX_D:
22081 case AArch64::WHILELS_2PXX_H:
22082 case AArch64::WHILELS_2PXX_S:
22083 case AArch64::WHILELT_2PXX_B:
22084 case AArch64::WHILELT_2PXX_D:
22085 case AArch64::WHILELT_2PXX_H:
22086 case AArch64::WHILELT_2PXX_S: {
22087 switch (OpNum) {
22088 case 0:
22089 // op: Pd
22090 return 1;
22091 case 1:
22092 // op: Rn
22093 return 5;
22094 case 2:
22095 // op: Rm
22096 return 16;
22097 }
22098 break;
22099 }
22100 case AArch64::BRKNS_PPzP:
22101 case AArch64::BRKN_PPzP: {
22102 switch (OpNum) {
22103 case 0:
22104 // op: Pdm
22105 return 0;
22106 case 1:
22107 // op: Pg
22108 return 10;
22109 case 2:
22110 // op: Pn
22111 return 5;
22112 }
22113 break;
22114 }
22115 case AArch64::PFIRST_B:
22116 case AArch64::PNEXT_B:
22117 case AArch64::PNEXT_D:
22118 case AArch64::PNEXT_H:
22119 case AArch64::PNEXT_S: {
22120 switch (OpNum) {
22121 case 0:
22122 // op: Pdn
22123 return 0;
22124 case 1:
22125 // op: Pg
22126 return 5;
22127 }
22128 break;
22129 }
22130 case AArch64::PTEST_PP: {
22131 switch (OpNum) {
22132 case 0:
22133 // op: Pg
22134 return 10;
22135 case 1:
22136 // op: Pn
22137 return 5;
22138 }
22139 break;
22140 }
22141 case AArch64::WRFFR: {
22142 switch (OpNum) {
22143 case 0:
22144 // op: Pn
22145 return 5;
22146 }
22147 break;
22148 }
22149 case AArch64::LDR_PXI:
22150 case AArch64::STR_PXI: {
22151 switch (OpNum) {
22152 case 0:
22153 // op: Pt
22154 return 0;
22155 case 1:
22156 // op: Rn
22157 return 5;
22158 case 2:
22159 // op: imm9
22160 return 10;
22161 }
22162 break;
22163 }
22164 case AArch64::CNTP_XCI_B:
22165 case AArch64::CNTP_XCI_D:
22166 case AArch64::CNTP_XCI_H:
22167 case AArch64::CNTP_XCI_S: {
22168 switch (OpNum) {
22169 case 0:
22170 // op: Rd
22171 return 0;
22172 case 1:
22173 // op: PNn
22174 return 5;
22175 case 2:
22176 // op: vl
22177 return 10;
22178 }
22179 break;
22180 }
22181 case AArch64::ADDPL_XXI:
22182 case AArch64::ADDSPL_XXI:
22183 case AArch64::ADDSVL_XXI:
22184 case AArch64::ADDVL_XXI: {
22185 switch (OpNum) {
22186 case 0:
22187 // op: Rd
22188 return 0;
22189 case 1:
22190 // op: Rn
22191 return 16;
22192 case 2:
22193 // op: imm6
22194 return 5;
22195 }
22196 break;
22197 }
22198 case AArch64::FMADDDrrr:
22199 case AArch64::FMADDHrrr:
22200 case AArch64::FMADDSrrr:
22201 case AArch64::FMSUBDrrr:
22202 case AArch64::FMSUBHrrr:
22203 case AArch64::FMSUBSrrr:
22204 case AArch64::FNMADDDrrr:
22205 case AArch64::FNMADDHrrr:
22206 case AArch64::FNMADDSrrr:
22207 case AArch64::FNMSUBDrrr:
22208 case AArch64::FNMSUBHrrr:
22209 case AArch64::FNMSUBSrrr:
22210 case AArch64::MADDPT:
22211 case AArch64::MADDWrrr:
22212 case AArch64::MADDXrrr:
22213 case AArch64::MSUBPT:
22214 case AArch64::MSUBWrrr:
22215 case AArch64::MSUBXrrr:
22216 case AArch64::SMADDLrrr:
22217 case AArch64::SMSUBLrrr:
22218 case AArch64::UMADDLrrr:
22219 case AArch64::UMSUBLrrr: {
22220 switch (OpNum) {
22221 case 0:
22222 // op: Rd
22223 return 0;
22224 case 1:
22225 // op: Rn
22226 return 5;
22227 case 2:
22228 // op: Rm
22229 return 16;
22230 case 3:
22231 // op: Ra
22232 return 10;
22233 }
22234 break;
22235 }
22236 case AArch64::CSELWr:
22237 case AArch64::CSELXr:
22238 case AArch64::CSINCWr:
22239 case AArch64::CSINCXr:
22240 case AArch64::CSINVWr:
22241 case AArch64::CSINVXr:
22242 case AArch64::CSNEGWr:
22243 case AArch64::CSNEGXr:
22244 case AArch64::FCSELDrrr:
22245 case AArch64::FCSELHrrr:
22246 case AArch64::FCSELSrrr: {
22247 switch (OpNum) {
22248 case 0:
22249 // op: Rd
22250 return 0;
22251 case 1:
22252 // op: Rn
22253 return 5;
22254 case 2:
22255 // op: Rm
22256 return 16;
22257 case 3:
22258 // op: cond
22259 return 12;
22260 }
22261 break;
22262 }
22263 case AArch64::ADDSXrx64:
22264 case AArch64::ADDXrx64:
22265 case AArch64::SUBSXrx64:
22266 case AArch64::SUBXrx64: {
22267 switch (OpNum) {
22268 case 0:
22269 // op: Rd
22270 return 0;
22271 case 1:
22272 // op: Rn
22273 return 5;
22274 case 2:
22275 // op: Rm
22276 return 16;
22277 case 3:
22278 // op: ext
22279 return 10;
22280 }
22281 break;
22282 }
22283 case AArch64::ADDSWrx:
22284 case AArch64::ADDSXrx:
22285 case AArch64::ADDWrx:
22286 case AArch64::ADDXrx:
22287 case AArch64::SUBSWrx:
22288 case AArch64::SUBSXrx:
22289 case AArch64::SUBWrx:
22290 case AArch64::SUBXrx: {
22291 switch (OpNum) {
22292 case 0:
22293 // op: Rd
22294 return 0;
22295 case 1:
22296 // op: Rn
22297 return 5;
22298 case 2:
22299 // op: Rm
22300 return 16;
22301 case 3:
22302 // op: extend
22303 return 10;
22304 }
22305 break;
22306 }
22307 case AArch64::FMULXv1i16_indexed:
22308 case AArch64::FMULXv1i32_indexed:
22309 case AArch64::FMULXv1i64_indexed:
22310 case AArch64::FMULXv2i32_indexed:
22311 case AArch64::FMULXv2i64_indexed:
22312 case AArch64::FMULXv4i16_indexed:
22313 case AArch64::FMULXv4i32_indexed:
22314 case AArch64::FMULXv8i16_indexed:
22315 case AArch64::FMULv1i16_indexed:
22316 case AArch64::FMULv1i32_indexed:
22317 case AArch64::FMULv1i64_indexed:
22318 case AArch64::FMULv2i32_indexed:
22319 case AArch64::FMULv2i64_indexed:
22320 case AArch64::FMULv4i16_indexed:
22321 case AArch64::FMULv4i32_indexed:
22322 case AArch64::FMULv8i16_indexed:
22323 case AArch64::MULv2i32_indexed:
22324 case AArch64::MULv4i16_indexed:
22325 case AArch64::MULv4i32_indexed:
22326 case AArch64::MULv8i16_indexed:
22327 case AArch64::SMULLv2i32_indexed:
22328 case AArch64::SMULLv4i16_indexed:
22329 case AArch64::SMULLv4i32_indexed:
22330 case AArch64::SMULLv8i16_indexed:
22331 case AArch64::SQDMULHv1i16_indexed:
22332 case AArch64::SQDMULHv1i32_indexed:
22333 case AArch64::SQDMULHv2i32_indexed:
22334 case AArch64::SQDMULHv4i16_indexed:
22335 case AArch64::SQDMULHv4i32_indexed:
22336 case AArch64::SQDMULHv8i16_indexed:
22337 case AArch64::SQDMULLv1i32_indexed:
22338 case AArch64::SQDMULLv1i64_indexed:
22339 case AArch64::SQDMULLv2i32_indexed:
22340 case AArch64::SQDMULLv4i16_indexed:
22341 case AArch64::SQDMULLv4i32_indexed:
22342 case AArch64::SQDMULLv8i16_indexed:
22343 case AArch64::SQRDMULHv1i16_indexed:
22344 case AArch64::SQRDMULHv1i32_indexed:
22345 case AArch64::SQRDMULHv2i32_indexed:
22346 case AArch64::SQRDMULHv4i16_indexed:
22347 case AArch64::SQRDMULHv4i32_indexed:
22348 case AArch64::SQRDMULHv8i16_indexed:
22349 case AArch64::UMULLv2i32_indexed:
22350 case AArch64::UMULLv4i16_indexed:
22351 case AArch64::UMULLv4i32_indexed:
22352 case AArch64::UMULLv8i16_indexed: {
22353 switch (OpNum) {
22354 case 0:
22355 // op: Rd
22356 return 0;
22357 case 1:
22358 // op: Rn
22359 return 5;
22360 case 2:
22361 // op: Rm
22362 return 16;
22363 case 3:
22364 // op: idx
22365 return 11;
22366 }
22367 break;
22368 }
22369 case AArch64::LUT2_H: {
22370 switch (OpNum) {
22371 case 0:
22372 // op: Rd
22373 return 0;
22374 case 1:
22375 // op: Rn
22376 return 5;
22377 case 2:
22378 // op: Rm
22379 return 16;
22380 case 3:
22381 // op: idx
22382 return 12;
22383 }
22384 break;
22385 }
22386 case AArch64::LUT2_B:
22387 case AArch64::LUT4_H: {
22388 switch (OpNum) {
22389 case 0:
22390 // op: Rd
22391 return 0;
22392 case 1:
22393 // op: Rn
22394 return 5;
22395 case 2:
22396 // op: Rm
22397 return 16;
22398 case 3:
22399 // op: idx
22400 return 13;
22401 }
22402 break;
22403 }
22404 case AArch64::LUT4_B: {
22405 switch (OpNum) {
22406 case 0:
22407 // op: Rd
22408 return 0;
22409 case 1:
22410 // op: Rn
22411 return 5;
22412 case 2:
22413 // op: Rm
22414 return 16;
22415 case 3:
22416 // op: idx
22417 return 14;
22418 }
22419 break;
22420 }
22421 case AArch64::EXTRWrri:
22422 case AArch64::EXTRXrri: {
22423 switch (OpNum) {
22424 case 0:
22425 // op: Rd
22426 return 0;
22427 case 1:
22428 // op: Rn
22429 return 5;
22430 case 2:
22431 // op: Rm
22432 return 16;
22433 case 3:
22434 // op: imm
22435 return 10;
22436 }
22437 break;
22438 }
22439 case AArch64::EXTv16i8:
22440 case AArch64::EXTv8i8: {
22441 switch (OpNum) {
22442 case 0:
22443 // op: Rd
22444 return 0;
22445 case 1:
22446 // op: Rn
22447 return 5;
22448 case 2:
22449 // op: Rm
22450 return 16;
22451 case 3:
22452 // op: imm
22453 return 11;
22454 }
22455 break;
22456 }
22457 case AArch64::FCADDv2f32:
22458 case AArch64::FCADDv2f64:
22459 case AArch64::FCADDv4f16:
22460 case AArch64::FCADDv4f32:
22461 case AArch64::FCADDv8f16: {
22462 switch (OpNum) {
22463 case 0:
22464 // op: Rd
22465 return 0;
22466 case 1:
22467 // op: Rn
22468 return 5;
22469 case 2:
22470 // op: Rm
22471 return 16;
22472 case 3:
22473 // op: rot
22474 return 12;
22475 }
22476 break;
22477 }
22478 case AArch64::ADDSWrs:
22479 case AArch64::ADDSXrs:
22480 case AArch64::ADDWrs:
22481 case AArch64::ADDXrs:
22482 case AArch64::ANDSWrs:
22483 case AArch64::ANDSXrs:
22484 case AArch64::ANDWrs:
22485 case AArch64::ANDXrs:
22486 case AArch64::BICSWrs:
22487 case AArch64::BICSXrs:
22488 case AArch64::BICWrs:
22489 case AArch64::BICXrs:
22490 case AArch64::EONWrs:
22491 case AArch64::EONXrs:
22492 case AArch64::EORWrs:
22493 case AArch64::EORXrs:
22494 case AArch64::ORNWrs:
22495 case AArch64::ORNXrs:
22496 case AArch64::ORRWrs:
22497 case AArch64::ORRXrs:
22498 case AArch64::SUBSWrs:
22499 case AArch64::SUBSXrs:
22500 case AArch64::SUBWrs:
22501 case AArch64::SUBXrs: {
22502 switch (OpNum) {
22503 case 0:
22504 // op: Rd
22505 return 0;
22506 case 1:
22507 // op: Rn
22508 return 5;
22509 case 2:
22510 // op: Rm
22511 return 16;
22512 case 3:
22513 // op: shift
22514 return 10;
22515 }
22516 break;
22517 }
22518 case AArch64::ADDPT_shift:
22519 case AArch64::SUBPT_shift: {
22520 switch (OpNum) {
22521 case 0:
22522 // op: Rd
22523 return 0;
22524 case 1:
22525 // op: Rn
22526 return 5;
22527 case 2:
22528 // op: Rm
22529 return 16;
22530 case 3:
22531 // op: shift_imm
22532 return 10;
22533 }
22534 break;
22535 }
22536 case AArch64::ADCSWr:
22537 case AArch64::ADCSXr:
22538 case AArch64::ADCWr:
22539 case AArch64::ADCXr:
22540 case AArch64::ADDHNv2i64_v2i32:
22541 case AArch64::ADDHNv4i32_v4i16:
22542 case AArch64::ADDHNv8i16_v8i8:
22543 case AArch64::ADDPv16i8:
22544 case AArch64::ADDPv2i32:
22545 case AArch64::ADDPv2i64:
22546 case AArch64::ADDPv4i16:
22547 case AArch64::ADDPv4i32:
22548 case AArch64::ADDPv8i16:
22549 case AArch64::ADDPv8i8:
22550 case AArch64::ADDv16i8:
22551 case AArch64::ADDv1i64:
22552 case AArch64::ADDv2i32:
22553 case AArch64::ADDv2i64:
22554 case AArch64::ADDv4i16:
22555 case AArch64::ADDv4i32:
22556 case AArch64::ADDv8i16:
22557 case AArch64::ADDv8i8:
22558 case AArch64::ANDv16i8:
22559 case AArch64::ANDv8i8:
22560 case AArch64::ASRVWr:
22561 case AArch64::ASRVXr:
22562 case AArch64::BICv16i8:
22563 case AArch64::BICv8i8:
22564 case AArch64::CMEQv16i8:
22565 case AArch64::CMEQv1i64:
22566 case AArch64::CMEQv2i32:
22567 case AArch64::CMEQv2i64:
22568 case AArch64::CMEQv4i16:
22569 case AArch64::CMEQv4i32:
22570 case AArch64::CMEQv8i16:
22571 case AArch64::CMEQv8i8:
22572 case AArch64::CMGEv16i8:
22573 case AArch64::CMGEv1i64:
22574 case AArch64::CMGEv2i32:
22575 case AArch64::CMGEv2i64:
22576 case AArch64::CMGEv4i16:
22577 case AArch64::CMGEv4i32:
22578 case AArch64::CMGEv8i16:
22579 case AArch64::CMGEv8i8:
22580 case AArch64::CMGTv16i8:
22581 case AArch64::CMGTv1i64:
22582 case AArch64::CMGTv2i32:
22583 case AArch64::CMGTv2i64:
22584 case AArch64::CMGTv4i16:
22585 case AArch64::CMGTv4i32:
22586 case AArch64::CMGTv8i16:
22587 case AArch64::CMGTv8i8:
22588 case AArch64::CMHIv16i8:
22589 case AArch64::CMHIv1i64:
22590 case AArch64::CMHIv2i32:
22591 case AArch64::CMHIv2i64:
22592 case AArch64::CMHIv4i16:
22593 case AArch64::CMHIv4i32:
22594 case AArch64::CMHIv8i16:
22595 case AArch64::CMHIv8i8:
22596 case AArch64::CMHSv16i8:
22597 case AArch64::CMHSv1i64:
22598 case AArch64::CMHSv2i32:
22599 case AArch64::CMHSv2i64:
22600 case AArch64::CMHSv4i16:
22601 case AArch64::CMHSv4i32:
22602 case AArch64::CMHSv8i16:
22603 case AArch64::CMHSv8i8:
22604 case AArch64::CMTSTv16i8:
22605 case AArch64::CMTSTv1i64:
22606 case AArch64::CMTSTv2i32:
22607 case AArch64::CMTSTv2i64:
22608 case AArch64::CMTSTv4i16:
22609 case AArch64::CMTSTv4i32:
22610 case AArch64::CMTSTv8i16:
22611 case AArch64::CMTSTv8i8:
22612 case AArch64::CRC32Brr:
22613 case AArch64::CRC32CBrr:
22614 case AArch64::CRC32CHrr:
22615 case AArch64::CRC32CWrr:
22616 case AArch64::CRC32CXrr:
22617 case AArch64::CRC32Hrr:
22618 case AArch64::CRC32Wrr:
22619 case AArch64::CRC32Xrr:
22620 case AArch64::EORv16i8:
22621 case AArch64::EORv8i8:
22622 case AArch64::FABD16:
22623 case AArch64::FABD32:
22624 case AArch64::FABD64:
22625 case AArch64::FABDv2f32:
22626 case AArch64::FABDv2f64:
22627 case AArch64::FABDv4f16:
22628 case AArch64::FABDv4f32:
22629 case AArch64::FABDv8f16:
22630 case AArch64::FACGE16:
22631 case AArch64::FACGE32:
22632 case AArch64::FACGE64:
22633 case AArch64::FACGEv2f32:
22634 case AArch64::FACGEv2f64:
22635 case AArch64::FACGEv4f16:
22636 case AArch64::FACGEv4f32:
22637 case AArch64::FACGEv8f16:
22638 case AArch64::FACGT16:
22639 case AArch64::FACGT32:
22640 case AArch64::FACGT64:
22641 case AArch64::FACGTv2f32:
22642 case AArch64::FACGTv2f64:
22643 case AArch64::FACGTv4f16:
22644 case AArch64::FACGTv4f32:
22645 case AArch64::FACGTv8f16:
22646 case AArch64::FADDDrr:
22647 case AArch64::FADDHrr:
22648 case AArch64::FADDPv2f32:
22649 case AArch64::FADDPv2f64:
22650 case AArch64::FADDPv4f16:
22651 case AArch64::FADDPv4f32:
22652 case AArch64::FADDPv8f16:
22653 case AArch64::FADDSrr:
22654 case AArch64::FADDv2f32:
22655 case AArch64::FADDv2f64:
22656 case AArch64::FADDv4f16:
22657 case AArch64::FADDv4f32:
22658 case AArch64::FADDv8f16:
22659 case AArch64::FAMAXv2f32:
22660 case AArch64::FAMAXv2f64:
22661 case AArch64::FAMAXv4f16:
22662 case AArch64::FAMAXv4f32:
22663 case AArch64::FAMAXv8f16:
22664 case AArch64::FAMINv2f32:
22665 case AArch64::FAMINv2f64:
22666 case AArch64::FAMINv4f16:
22667 case AArch64::FAMINv4f32:
22668 case AArch64::FAMINv8f16:
22669 case AArch64::FCMEQ16:
22670 case AArch64::FCMEQ32:
22671 case AArch64::FCMEQ64:
22672 case AArch64::FCMEQv2f32:
22673 case AArch64::FCMEQv2f64:
22674 case AArch64::FCMEQv4f16:
22675 case AArch64::FCMEQv4f32:
22676 case AArch64::FCMEQv8f16:
22677 case AArch64::FCMGE16:
22678 case AArch64::FCMGE32:
22679 case AArch64::FCMGE64:
22680 case AArch64::FCMGEv2f32:
22681 case AArch64::FCMGEv2f64:
22682 case AArch64::FCMGEv4f16:
22683 case AArch64::FCMGEv4f32:
22684 case AArch64::FCMGEv8f16:
22685 case AArch64::FCMGT16:
22686 case AArch64::FCMGT32:
22687 case AArch64::FCMGT64:
22688 case AArch64::FCMGTv2f32:
22689 case AArch64::FCMGTv2f64:
22690 case AArch64::FCMGTv4f16:
22691 case AArch64::FCMGTv4f32:
22692 case AArch64::FCMGTv8f16:
22693 case AArch64::FCVTN_F16v16f8:
22694 case AArch64::FCVTN_F16v8f8:
22695 case AArch64::FCVTN_F32v8f8:
22696 case AArch64::FDIVDrr:
22697 case AArch64::FDIVHrr:
22698 case AArch64::FDIVSrr:
22699 case AArch64::FDIVv2f32:
22700 case AArch64::FDIVv2f64:
22701 case AArch64::FDIVv4f16:
22702 case AArch64::FDIVv4f32:
22703 case AArch64::FDIVv8f16:
22704 case AArch64::FMAXDrr:
22705 case AArch64::FMAXHrr:
22706 case AArch64::FMAXNMDrr:
22707 case AArch64::FMAXNMHrr:
22708 case AArch64::FMAXNMPv2f32:
22709 case AArch64::FMAXNMPv2f64:
22710 case AArch64::FMAXNMPv4f16:
22711 case AArch64::FMAXNMPv4f32:
22712 case AArch64::FMAXNMPv8f16:
22713 case AArch64::FMAXNMSrr:
22714 case AArch64::FMAXNMv2f32:
22715 case AArch64::FMAXNMv2f64:
22716 case AArch64::FMAXNMv4f16:
22717 case AArch64::FMAXNMv4f32:
22718 case AArch64::FMAXNMv8f16:
22719 case AArch64::FMAXPv2f32:
22720 case AArch64::FMAXPv2f64:
22721 case AArch64::FMAXPv4f16:
22722 case AArch64::FMAXPv4f32:
22723 case AArch64::FMAXPv8f16:
22724 case AArch64::FMAXSrr:
22725 case AArch64::FMAXv2f32:
22726 case AArch64::FMAXv2f64:
22727 case AArch64::FMAXv4f16:
22728 case AArch64::FMAXv4f32:
22729 case AArch64::FMAXv8f16:
22730 case AArch64::FMINDrr:
22731 case AArch64::FMINHrr:
22732 case AArch64::FMINNMDrr:
22733 case AArch64::FMINNMHrr:
22734 case AArch64::FMINNMPv2f32:
22735 case AArch64::FMINNMPv2f64:
22736 case AArch64::FMINNMPv4f16:
22737 case AArch64::FMINNMPv4f32:
22738 case AArch64::FMINNMPv8f16:
22739 case AArch64::FMINNMSrr:
22740 case AArch64::FMINNMv2f32:
22741 case AArch64::FMINNMv2f64:
22742 case AArch64::FMINNMv4f16:
22743 case AArch64::FMINNMv4f32:
22744 case AArch64::FMINNMv8f16:
22745 case AArch64::FMINPv2f32:
22746 case AArch64::FMINPv2f64:
22747 case AArch64::FMINPv4f16:
22748 case AArch64::FMINPv4f32:
22749 case AArch64::FMINPv8f16:
22750 case AArch64::FMINSrr:
22751 case AArch64::FMINv2f32:
22752 case AArch64::FMINv2f64:
22753 case AArch64::FMINv4f16:
22754 case AArch64::FMINv4f32:
22755 case AArch64::FMINv8f16:
22756 case AArch64::FMULDrr:
22757 case AArch64::FMULHrr:
22758 case AArch64::FMULSrr:
22759 case AArch64::FMULX16:
22760 case AArch64::FMULX32:
22761 case AArch64::FMULX64:
22762 case AArch64::FMULXv2f32:
22763 case AArch64::FMULXv2f64:
22764 case AArch64::FMULXv4f16:
22765 case AArch64::FMULXv4f32:
22766 case AArch64::FMULXv8f16:
22767 case AArch64::FMULv2f32:
22768 case AArch64::FMULv2f64:
22769 case AArch64::FMULv4f16:
22770 case AArch64::FMULv4f32:
22771 case AArch64::FMULv8f16:
22772 case AArch64::FNMULDrr:
22773 case AArch64::FNMULHrr:
22774 case AArch64::FNMULSrr:
22775 case AArch64::FRECPS16:
22776 case AArch64::FRECPS32:
22777 case AArch64::FRECPS64:
22778 case AArch64::FRECPSv2f32:
22779 case AArch64::FRECPSv2f64:
22780 case AArch64::FRECPSv4f16:
22781 case AArch64::FRECPSv4f32:
22782 case AArch64::FRECPSv8f16:
22783 case AArch64::FRSQRTS16:
22784 case AArch64::FRSQRTS32:
22785 case AArch64::FRSQRTS64:
22786 case AArch64::FRSQRTSv2f32:
22787 case AArch64::FRSQRTSv2f64:
22788 case AArch64::FRSQRTSv4f16:
22789 case AArch64::FRSQRTSv4f32:
22790 case AArch64::FRSQRTSv8f16:
22791 case AArch64::FSCALEv2f32:
22792 case AArch64::FSCALEv2f64:
22793 case AArch64::FSCALEv4f16:
22794 case AArch64::FSCALEv4f32:
22795 case AArch64::FSCALEv8f16:
22796 case AArch64::FSUBDrr:
22797 case AArch64::FSUBHrr:
22798 case AArch64::FSUBSrr:
22799 case AArch64::FSUBv2f32:
22800 case AArch64::FSUBv2f64:
22801 case AArch64::FSUBv4f16:
22802 case AArch64::FSUBv4f32:
22803 case AArch64::FSUBv8f16:
22804 case AArch64::GMI:
22805 case AArch64::IRG:
22806 case AArch64::LSLVWr:
22807 case AArch64::LSLVXr:
22808 case AArch64::LSRVWr:
22809 case AArch64::LSRVXr:
22810 case AArch64::MULv16i8:
22811 case AArch64::MULv2i32:
22812 case AArch64::MULv4i16:
22813 case AArch64::MULv4i32:
22814 case AArch64::MULv8i16:
22815 case AArch64::MULv8i8:
22816 case AArch64::ORNv16i8:
22817 case AArch64::ORNv8i8:
22818 case AArch64::ORRv16i8:
22819 case AArch64::ORRv8i8:
22820 case AArch64::PACGA:
22821 case AArch64::PMULLv16i8:
22822 case AArch64::PMULLv1i64:
22823 case AArch64::PMULLv2i64:
22824 case AArch64::PMULLv8i8:
22825 case AArch64::PMULv16i8:
22826 case AArch64::PMULv8i8:
22827 case AArch64::RADDHNv2i64_v2i32:
22828 case AArch64::RADDHNv4i32_v4i16:
22829 case AArch64::RADDHNv8i16_v8i8:
22830 case AArch64::RORVWr:
22831 case AArch64::RORVXr:
22832 case AArch64::RSUBHNv2i64_v2i32:
22833 case AArch64::RSUBHNv4i32_v4i16:
22834 case AArch64::RSUBHNv8i16_v8i8:
22835 case AArch64::SABDLv16i8_v8i16:
22836 case AArch64::SABDLv2i32_v2i64:
22837 case AArch64::SABDLv4i16_v4i32:
22838 case AArch64::SABDLv4i32_v2i64:
22839 case AArch64::SABDLv8i16_v4i32:
22840 case AArch64::SABDLv8i8_v8i16:
22841 case AArch64::SABDv16i8:
22842 case AArch64::SABDv2i32:
22843 case AArch64::SABDv4i16:
22844 case AArch64::SABDv4i32:
22845 case AArch64::SABDv8i16:
22846 case AArch64::SABDv8i8:
22847 case AArch64::SADDLv16i8_v8i16:
22848 case AArch64::SADDLv2i32_v2i64:
22849 case AArch64::SADDLv4i16_v4i32:
22850 case AArch64::SADDLv4i32_v2i64:
22851 case AArch64::SADDLv8i16_v4i32:
22852 case AArch64::SADDLv8i8_v8i16:
22853 case AArch64::SADDWv16i8_v8i16:
22854 case AArch64::SADDWv2i32_v2i64:
22855 case AArch64::SADDWv4i16_v4i32:
22856 case AArch64::SADDWv4i32_v2i64:
22857 case AArch64::SADDWv8i16_v4i32:
22858 case AArch64::SADDWv8i8_v8i16:
22859 case AArch64::SBCSWr:
22860 case AArch64::SBCSXr:
22861 case AArch64::SBCWr:
22862 case AArch64::SBCXr:
22863 case AArch64::SDIVWr:
22864 case AArch64::SDIVXr:
22865 case AArch64::SHADDv16i8:
22866 case AArch64::SHADDv2i32:
22867 case AArch64::SHADDv4i16:
22868 case AArch64::SHADDv4i32:
22869 case AArch64::SHADDv8i16:
22870 case AArch64::SHADDv8i8:
22871 case AArch64::SHSUBv16i8:
22872 case AArch64::SHSUBv2i32:
22873 case AArch64::SHSUBv4i16:
22874 case AArch64::SHSUBv4i32:
22875 case AArch64::SHSUBv8i16:
22876 case AArch64::SHSUBv8i8:
22877 case AArch64::SMAXPv16i8:
22878 case AArch64::SMAXPv2i32:
22879 case AArch64::SMAXPv4i16:
22880 case AArch64::SMAXPv4i32:
22881 case AArch64::SMAXPv8i16:
22882 case AArch64::SMAXPv8i8:
22883 case AArch64::SMAXWrr:
22884 case AArch64::SMAXXrr:
22885 case AArch64::SMAXv16i8:
22886 case AArch64::SMAXv2i32:
22887 case AArch64::SMAXv4i16:
22888 case AArch64::SMAXv4i32:
22889 case AArch64::SMAXv8i16:
22890 case AArch64::SMAXv8i8:
22891 case AArch64::SMINPv16i8:
22892 case AArch64::SMINPv2i32:
22893 case AArch64::SMINPv4i16:
22894 case AArch64::SMINPv4i32:
22895 case AArch64::SMINPv8i16:
22896 case AArch64::SMINPv8i8:
22897 case AArch64::SMINWrr:
22898 case AArch64::SMINXrr:
22899 case AArch64::SMINv16i8:
22900 case AArch64::SMINv2i32:
22901 case AArch64::SMINv4i16:
22902 case AArch64::SMINv4i32:
22903 case AArch64::SMINv8i16:
22904 case AArch64::SMINv8i8:
22905 case AArch64::SMULHrr:
22906 case AArch64::SMULLv16i8_v8i16:
22907 case AArch64::SMULLv2i32_v2i64:
22908 case AArch64::SMULLv4i16_v4i32:
22909 case AArch64::SMULLv4i32_v2i64:
22910 case AArch64::SMULLv8i16_v4i32:
22911 case AArch64::SMULLv8i8_v8i16:
22912 case AArch64::SQADDv16i8:
22913 case AArch64::SQADDv1i16:
22914 case AArch64::SQADDv1i32:
22915 case AArch64::SQADDv1i64:
22916 case AArch64::SQADDv1i8:
22917 case AArch64::SQADDv2i32:
22918 case AArch64::SQADDv2i64:
22919 case AArch64::SQADDv4i16:
22920 case AArch64::SQADDv4i32:
22921 case AArch64::SQADDv8i16:
22922 case AArch64::SQADDv8i8:
22923 case AArch64::SQDMULHv1i16:
22924 case AArch64::SQDMULHv1i32:
22925 case AArch64::SQDMULHv2i32:
22926 case AArch64::SQDMULHv4i16:
22927 case AArch64::SQDMULHv4i32:
22928 case AArch64::SQDMULHv8i16:
22929 case AArch64::SQDMULLi16:
22930 case AArch64::SQDMULLi32:
22931 case AArch64::SQDMULLv2i32_v2i64:
22932 case AArch64::SQDMULLv4i16_v4i32:
22933 case AArch64::SQDMULLv4i32_v2i64:
22934 case AArch64::SQDMULLv8i16_v4i32:
22935 case AArch64::SQRDMULHv1i16:
22936 case AArch64::SQRDMULHv1i32:
22937 case AArch64::SQRDMULHv2i32:
22938 case AArch64::SQRDMULHv4i16:
22939 case AArch64::SQRDMULHv4i32:
22940 case AArch64::SQRDMULHv8i16:
22941 case AArch64::SQRSHLv16i8:
22942 case AArch64::SQRSHLv1i16:
22943 case AArch64::SQRSHLv1i32:
22944 case AArch64::SQRSHLv1i64:
22945 case AArch64::SQRSHLv1i8:
22946 case AArch64::SQRSHLv2i32:
22947 case AArch64::SQRSHLv2i64:
22948 case AArch64::SQRSHLv4i16:
22949 case AArch64::SQRSHLv4i32:
22950 case AArch64::SQRSHLv8i16:
22951 case AArch64::SQRSHLv8i8:
22952 case AArch64::SQSHLv16i8:
22953 case AArch64::SQSHLv1i16:
22954 case AArch64::SQSHLv1i32:
22955 case AArch64::SQSHLv1i64:
22956 case AArch64::SQSHLv1i8:
22957 case AArch64::SQSHLv2i32:
22958 case AArch64::SQSHLv2i64:
22959 case AArch64::SQSHLv4i16:
22960 case AArch64::SQSHLv4i32:
22961 case AArch64::SQSHLv8i16:
22962 case AArch64::SQSHLv8i8:
22963 case AArch64::SQSUBv16i8:
22964 case AArch64::SQSUBv1i16:
22965 case AArch64::SQSUBv1i32:
22966 case AArch64::SQSUBv1i64:
22967 case AArch64::SQSUBv1i8:
22968 case AArch64::SQSUBv2i32:
22969 case AArch64::SQSUBv2i64:
22970 case AArch64::SQSUBv4i16:
22971 case AArch64::SQSUBv4i32:
22972 case AArch64::SQSUBv8i16:
22973 case AArch64::SQSUBv8i8:
22974 case AArch64::SRHADDv16i8:
22975 case AArch64::SRHADDv2i32:
22976 case AArch64::SRHADDv4i16:
22977 case AArch64::SRHADDv4i32:
22978 case AArch64::SRHADDv8i16:
22979 case AArch64::SRHADDv8i8:
22980 case AArch64::SRSHLv16i8:
22981 case AArch64::SRSHLv1i64:
22982 case AArch64::SRSHLv2i32:
22983 case AArch64::SRSHLv2i64:
22984 case AArch64::SRSHLv4i16:
22985 case AArch64::SRSHLv4i32:
22986 case AArch64::SRSHLv8i16:
22987 case AArch64::SRSHLv8i8:
22988 case AArch64::SSHLv16i8:
22989 case AArch64::SSHLv1i64:
22990 case AArch64::SSHLv2i32:
22991 case AArch64::SSHLv2i64:
22992 case AArch64::SSHLv4i16:
22993 case AArch64::SSHLv4i32:
22994 case AArch64::SSHLv8i16:
22995 case AArch64::SSHLv8i8:
22996 case AArch64::SSUBLv16i8_v8i16:
22997 case AArch64::SSUBLv2i32_v2i64:
22998 case AArch64::SSUBLv4i16_v4i32:
22999 case AArch64::SSUBLv4i32_v2i64:
23000 case AArch64::SSUBLv8i16_v4i32:
23001 case AArch64::SSUBLv8i8_v8i16:
23002 case AArch64::SSUBWv16i8_v8i16:
23003 case AArch64::SSUBWv2i32_v2i64:
23004 case AArch64::SSUBWv4i16_v4i32:
23005 case AArch64::SSUBWv4i32_v2i64:
23006 case AArch64::SSUBWv8i16_v4i32:
23007 case AArch64::SSUBWv8i8_v8i16:
23008 case AArch64::SUBHNv2i64_v2i32:
23009 case AArch64::SUBHNv4i32_v4i16:
23010 case AArch64::SUBHNv8i16_v8i8:
23011 case AArch64::SUBP:
23012 case AArch64::SUBPS:
23013 case AArch64::SUBv16i8:
23014 case AArch64::SUBv1i64:
23015 case AArch64::SUBv2i32:
23016 case AArch64::SUBv2i64:
23017 case AArch64::SUBv4i16:
23018 case AArch64::SUBv4i32:
23019 case AArch64::SUBv8i16:
23020 case AArch64::SUBv8i8:
23021 case AArch64::TRN1v16i8:
23022 case AArch64::TRN1v2i32:
23023 case AArch64::TRN1v2i64:
23024 case AArch64::TRN1v4i16:
23025 case AArch64::TRN1v4i32:
23026 case AArch64::TRN1v8i16:
23027 case AArch64::TRN1v8i8:
23028 case AArch64::TRN2v16i8:
23029 case AArch64::TRN2v2i32:
23030 case AArch64::TRN2v2i64:
23031 case AArch64::TRN2v4i16:
23032 case AArch64::TRN2v4i32:
23033 case AArch64::TRN2v8i16:
23034 case AArch64::TRN2v8i8:
23035 case AArch64::UABDLv16i8_v8i16:
23036 case AArch64::UABDLv2i32_v2i64:
23037 case AArch64::UABDLv4i16_v4i32:
23038 case AArch64::UABDLv4i32_v2i64:
23039 case AArch64::UABDLv8i16_v4i32:
23040 case AArch64::UABDLv8i8_v8i16:
23041 case AArch64::UABDv16i8:
23042 case AArch64::UABDv2i32:
23043 case AArch64::UABDv4i16:
23044 case AArch64::UABDv4i32:
23045 case AArch64::UABDv8i16:
23046 case AArch64::UABDv8i8:
23047 case AArch64::UADDLv16i8_v8i16:
23048 case AArch64::UADDLv2i32_v2i64:
23049 case AArch64::UADDLv4i16_v4i32:
23050 case AArch64::UADDLv4i32_v2i64:
23051 case AArch64::UADDLv8i16_v4i32:
23052 case AArch64::UADDLv8i8_v8i16:
23053 case AArch64::UADDWv16i8_v8i16:
23054 case AArch64::UADDWv2i32_v2i64:
23055 case AArch64::UADDWv4i16_v4i32:
23056 case AArch64::UADDWv4i32_v2i64:
23057 case AArch64::UADDWv8i16_v4i32:
23058 case AArch64::UADDWv8i8_v8i16:
23059 case AArch64::UDIVWr:
23060 case AArch64::UDIVXr:
23061 case AArch64::UHADDv16i8:
23062 case AArch64::UHADDv2i32:
23063 case AArch64::UHADDv4i16:
23064 case AArch64::UHADDv4i32:
23065 case AArch64::UHADDv8i16:
23066 case AArch64::UHADDv8i8:
23067 case AArch64::UHSUBv16i8:
23068 case AArch64::UHSUBv2i32:
23069 case AArch64::UHSUBv4i16:
23070 case AArch64::UHSUBv4i32:
23071 case AArch64::UHSUBv8i16:
23072 case AArch64::UHSUBv8i8:
23073 case AArch64::UMAXPv16i8:
23074 case AArch64::UMAXPv2i32:
23075 case AArch64::UMAXPv4i16:
23076 case AArch64::UMAXPv4i32:
23077 case AArch64::UMAXPv8i16:
23078 case AArch64::UMAXPv8i8:
23079 case AArch64::UMAXWrr:
23080 case AArch64::UMAXXrr:
23081 case AArch64::UMAXv16i8:
23082 case AArch64::UMAXv2i32:
23083 case AArch64::UMAXv4i16:
23084 case AArch64::UMAXv4i32:
23085 case AArch64::UMAXv8i16:
23086 case AArch64::UMAXv8i8:
23087 case AArch64::UMINPv16i8:
23088 case AArch64::UMINPv2i32:
23089 case AArch64::UMINPv4i16:
23090 case AArch64::UMINPv4i32:
23091 case AArch64::UMINPv8i16:
23092 case AArch64::UMINPv8i8:
23093 case AArch64::UMINWrr:
23094 case AArch64::UMINXrr:
23095 case AArch64::UMINv16i8:
23096 case AArch64::UMINv2i32:
23097 case AArch64::UMINv4i16:
23098 case AArch64::UMINv4i32:
23099 case AArch64::UMINv8i16:
23100 case AArch64::UMINv8i8:
23101 case AArch64::UMULHrr:
23102 case AArch64::UMULLv16i8_v8i16:
23103 case AArch64::UMULLv2i32_v2i64:
23104 case AArch64::UMULLv4i16_v4i32:
23105 case AArch64::UMULLv4i32_v2i64:
23106 case AArch64::UMULLv8i16_v4i32:
23107 case AArch64::UMULLv8i8_v8i16:
23108 case AArch64::UQADDv16i8:
23109 case AArch64::UQADDv1i16:
23110 case AArch64::UQADDv1i32:
23111 case AArch64::UQADDv1i64:
23112 case AArch64::UQADDv1i8:
23113 case AArch64::UQADDv2i32:
23114 case AArch64::UQADDv2i64:
23115 case AArch64::UQADDv4i16:
23116 case AArch64::UQADDv4i32:
23117 case AArch64::UQADDv8i16:
23118 case AArch64::UQADDv8i8:
23119 case AArch64::UQRSHLv16i8:
23120 case AArch64::UQRSHLv1i16:
23121 case AArch64::UQRSHLv1i32:
23122 case AArch64::UQRSHLv1i64:
23123 case AArch64::UQRSHLv1i8:
23124 case AArch64::UQRSHLv2i32:
23125 case AArch64::UQRSHLv2i64:
23126 case AArch64::UQRSHLv4i16:
23127 case AArch64::UQRSHLv4i32:
23128 case AArch64::UQRSHLv8i16:
23129 case AArch64::UQRSHLv8i8:
23130 case AArch64::UQSHLv16i8:
23131 case AArch64::UQSHLv1i16:
23132 case AArch64::UQSHLv1i32:
23133 case AArch64::UQSHLv1i64:
23134 case AArch64::UQSHLv1i8:
23135 case AArch64::UQSHLv2i32:
23136 case AArch64::UQSHLv2i64:
23137 case AArch64::UQSHLv4i16:
23138 case AArch64::UQSHLv4i32:
23139 case AArch64::UQSHLv8i16:
23140 case AArch64::UQSHLv8i8:
23141 case AArch64::UQSUBv16i8:
23142 case AArch64::UQSUBv1i16:
23143 case AArch64::UQSUBv1i32:
23144 case AArch64::UQSUBv1i64:
23145 case AArch64::UQSUBv1i8:
23146 case AArch64::UQSUBv2i32:
23147 case AArch64::UQSUBv2i64:
23148 case AArch64::UQSUBv4i16:
23149 case AArch64::UQSUBv4i32:
23150 case AArch64::UQSUBv8i16:
23151 case AArch64::UQSUBv8i8:
23152 case AArch64::URHADDv16i8:
23153 case AArch64::URHADDv2i32:
23154 case AArch64::URHADDv4i16:
23155 case AArch64::URHADDv4i32:
23156 case AArch64::URHADDv8i16:
23157 case AArch64::URHADDv8i8:
23158 case AArch64::URSHLv16i8:
23159 case AArch64::URSHLv1i64:
23160 case AArch64::URSHLv2i32:
23161 case AArch64::URSHLv2i64:
23162 case AArch64::URSHLv4i16:
23163 case AArch64::URSHLv4i32:
23164 case AArch64::URSHLv8i16:
23165 case AArch64::URSHLv8i8:
23166 case AArch64::USHLv16i8:
23167 case AArch64::USHLv1i64:
23168 case AArch64::USHLv2i32:
23169 case AArch64::USHLv2i64:
23170 case AArch64::USHLv4i16:
23171 case AArch64::USHLv4i32:
23172 case AArch64::USHLv8i16:
23173 case AArch64::USHLv8i8:
23174 case AArch64::USUBLv16i8_v8i16:
23175 case AArch64::USUBLv2i32_v2i64:
23176 case AArch64::USUBLv4i16_v4i32:
23177 case AArch64::USUBLv4i32_v2i64:
23178 case AArch64::USUBLv8i16_v4i32:
23179 case AArch64::USUBLv8i8_v8i16:
23180 case AArch64::USUBWv16i8_v8i16:
23181 case AArch64::USUBWv2i32_v2i64:
23182 case AArch64::USUBWv4i16_v4i32:
23183 case AArch64::USUBWv4i32_v2i64:
23184 case AArch64::USUBWv8i16_v4i32:
23185 case AArch64::USUBWv8i8_v8i16:
23186 case AArch64::UZP1v16i8:
23187 case AArch64::UZP1v2i32:
23188 case AArch64::UZP1v2i64:
23189 case AArch64::UZP1v4i16:
23190 case AArch64::UZP1v4i32:
23191 case AArch64::UZP1v8i16:
23192 case AArch64::UZP1v8i8:
23193 case AArch64::UZP2v16i8:
23194 case AArch64::UZP2v2i32:
23195 case AArch64::UZP2v2i64:
23196 case AArch64::UZP2v4i16:
23197 case AArch64::UZP2v4i32:
23198 case AArch64::UZP2v8i16:
23199 case AArch64::UZP2v8i8:
23200 case AArch64::ZIP1v16i8:
23201 case AArch64::ZIP1v2i32:
23202 case AArch64::ZIP1v2i64:
23203 case AArch64::ZIP1v4i16:
23204 case AArch64::ZIP1v4i32:
23205 case AArch64::ZIP1v8i16:
23206 case AArch64::ZIP1v8i8:
23207 case AArch64::ZIP2v16i8:
23208 case AArch64::ZIP2v2i32:
23209 case AArch64::ZIP2v2i64:
23210 case AArch64::ZIP2v4i16:
23211 case AArch64::ZIP2v4i32:
23212 case AArch64::ZIP2v8i16:
23213 case AArch64::ZIP2v8i8: {
23214 switch (OpNum) {
23215 case 0:
23216 // op: Rd
23217 return 0;
23218 case 1:
23219 // op: Rn
23220 return 5;
23221 case 2:
23222 // op: Rm
23223 return 16;
23224 }
23225 break;
23226 }
23227 case AArch64::DUPv16i8lane:
23228 case AArch64::DUPv8i8lane:
23229 case AArch64::SMOVvi8to32:
23230 case AArch64::SMOVvi8to64:
23231 case AArch64::UMOVvi8: {
23232 switch (OpNum) {
23233 case 0:
23234 // op: Rd
23235 return 0;
23236 case 1:
23237 // op: Rn
23238 return 5;
23239 case 2:
23240 // op: idx
23241 return 17;
23242 }
23243 break;
23244 }
23245 case AArch64::DUPv4i16lane:
23246 case AArch64::DUPv8i16lane:
23247 case AArch64::SMOVvi16to32:
23248 case AArch64::SMOVvi16to64:
23249 case AArch64::UMOVvi16: {
23250 switch (OpNum) {
23251 case 0:
23252 // op: Rd
23253 return 0;
23254 case 1:
23255 // op: Rn
23256 return 5;
23257 case 2:
23258 // op: idx
23259 return 18;
23260 }
23261 break;
23262 }
23263 case AArch64::DUPv2i32lane:
23264 case AArch64::DUPv4i32lane:
23265 case AArch64::SMOVvi32to64:
23266 case AArch64::UMOVvi32: {
23267 switch (OpNum) {
23268 case 0:
23269 // op: Rd
23270 return 0;
23271 case 1:
23272 // op: Rn
23273 return 5;
23274 case 2:
23275 // op: idx
23276 return 19;
23277 }
23278 break;
23279 }
23280 case AArch64::DUPv2i64lane:
23281 case AArch64::UMOVvi64: {
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 20;
23292 }
23293 break;
23294 }
23295 case AArch64::ADDSWri:
23296 case AArch64::ADDSXri:
23297 case AArch64::ADDWri:
23298 case AArch64::ADDXri:
23299 case AArch64::ANDSWri:
23300 case AArch64::ANDSXri:
23301 case AArch64::ANDWri:
23302 case AArch64::ANDXri:
23303 case AArch64::EORWri:
23304 case AArch64::EORXri:
23305 case AArch64::ORRWri:
23306 case AArch64::ORRXri:
23307 case AArch64::SMAXWri:
23308 case AArch64::SMAXXri:
23309 case AArch64::SMINWri:
23310 case AArch64::SMINXri:
23311 case AArch64::SUBSWri:
23312 case AArch64::SUBSXri:
23313 case AArch64::SUBWri:
23314 case AArch64::SUBXri:
23315 case AArch64::UMAXWri:
23316 case AArch64::UMAXXri:
23317 case AArch64::UMINWri:
23318 case AArch64::UMINXri: {
23319 switch (OpNum) {
23320 case 0:
23321 // op: Rd
23322 return 0;
23323 case 1:
23324 // op: Rn
23325 return 5;
23326 case 2:
23327 // op: imm
23328 return 10;
23329 }
23330 break;
23331 }
23332 case AArch64::FCVTZSd:
23333 case AArch64::FCVTZSh:
23334 case AArch64::FCVTZSs:
23335 case AArch64::FCVTZSv2i32_shift:
23336 case AArch64::FCVTZSv2i64_shift:
23337 case AArch64::FCVTZSv4i16_shift:
23338 case AArch64::FCVTZSv4i32_shift:
23339 case AArch64::FCVTZSv8i16_shift:
23340 case AArch64::FCVTZUd:
23341 case AArch64::FCVTZUh:
23342 case AArch64::FCVTZUs:
23343 case AArch64::FCVTZUv2i32_shift:
23344 case AArch64::FCVTZUv2i64_shift:
23345 case AArch64::FCVTZUv4i16_shift:
23346 case AArch64::FCVTZUv4i32_shift:
23347 case AArch64::FCVTZUv8i16_shift:
23348 case AArch64::RSHRNv2i32_shift:
23349 case AArch64::RSHRNv4i16_shift:
23350 case AArch64::RSHRNv8i8_shift:
23351 case AArch64::SCVTFd:
23352 case AArch64::SCVTFh:
23353 case AArch64::SCVTFs:
23354 case AArch64::SCVTFv2i32_shift:
23355 case AArch64::SCVTFv2i64_shift:
23356 case AArch64::SCVTFv4i16_shift:
23357 case AArch64::SCVTFv4i32_shift:
23358 case AArch64::SCVTFv8i16_shift:
23359 case AArch64::SHLd:
23360 case AArch64::SHLv16i8_shift:
23361 case AArch64::SHLv2i32_shift:
23362 case AArch64::SHLv2i64_shift:
23363 case AArch64::SHLv4i16_shift:
23364 case AArch64::SHLv4i32_shift:
23365 case AArch64::SHLv8i16_shift:
23366 case AArch64::SHLv8i8_shift:
23367 case AArch64::SHRNv2i32_shift:
23368 case AArch64::SHRNv4i16_shift:
23369 case AArch64::SHRNv8i8_shift:
23370 case AArch64::SQRSHRNb:
23371 case AArch64::SQRSHRNh:
23372 case AArch64::SQRSHRNs:
23373 case AArch64::SQRSHRNv2i32_shift:
23374 case AArch64::SQRSHRNv4i16_shift:
23375 case AArch64::SQRSHRNv8i8_shift:
23376 case AArch64::SQRSHRUNb:
23377 case AArch64::SQRSHRUNh:
23378 case AArch64::SQRSHRUNs:
23379 case AArch64::SQRSHRUNv2i32_shift:
23380 case AArch64::SQRSHRUNv4i16_shift:
23381 case AArch64::SQRSHRUNv8i8_shift:
23382 case AArch64::SQSHLUb:
23383 case AArch64::SQSHLUd:
23384 case AArch64::SQSHLUh:
23385 case AArch64::SQSHLUs:
23386 case AArch64::SQSHLUv16i8_shift:
23387 case AArch64::SQSHLUv2i32_shift:
23388 case AArch64::SQSHLUv2i64_shift:
23389 case AArch64::SQSHLUv4i16_shift:
23390 case AArch64::SQSHLUv4i32_shift:
23391 case AArch64::SQSHLUv8i16_shift:
23392 case AArch64::SQSHLUv8i8_shift:
23393 case AArch64::SQSHLb:
23394 case AArch64::SQSHLd:
23395 case AArch64::SQSHLh:
23396 case AArch64::SQSHLs:
23397 case AArch64::SQSHLv16i8_shift:
23398 case AArch64::SQSHLv2i32_shift:
23399 case AArch64::SQSHLv2i64_shift:
23400 case AArch64::SQSHLv4i16_shift:
23401 case AArch64::SQSHLv4i32_shift:
23402 case AArch64::SQSHLv8i16_shift:
23403 case AArch64::SQSHLv8i8_shift:
23404 case AArch64::SQSHRNb:
23405 case AArch64::SQSHRNh:
23406 case AArch64::SQSHRNs:
23407 case AArch64::SQSHRNv2i32_shift:
23408 case AArch64::SQSHRNv4i16_shift:
23409 case AArch64::SQSHRNv8i8_shift:
23410 case AArch64::SQSHRUNb:
23411 case AArch64::SQSHRUNh:
23412 case AArch64::SQSHRUNs:
23413 case AArch64::SQSHRUNv2i32_shift:
23414 case AArch64::SQSHRUNv4i16_shift:
23415 case AArch64::SQSHRUNv8i8_shift:
23416 case AArch64::SRSHRd:
23417 case AArch64::SRSHRv16i8_shift:
23418 case AArch64::SRSHRv2i32_shift:
23419 case AArch64::SRSHRv2i64_shift:
23420 case AArch64::SRSHRv4i16_shift:
23421 case AArch64::SRSHRv4i32_shift:
23422 case AArch64::SRSHRv8i16_shift:
23423 case AArch64::SRSHRv8i8_shift:
23424 case AArch64::SSHLLv16i8_shift:
23425 case AArch64::SSHLLv2i32_shift:
23426 case AArch64::SSHLLv4i16_shift:
23427 case AArch64::SSHLLv4i32_shift:
23428 case AArch64::SSHLLv8i16_shift:
23429 case AArch64::SSHLLv8i8_shift:
23430 case AArch64::SSHRd:
23431 case AArch64::SSHRv16i8_shift:
23432 case AArch64::SSHRv2i32_shift:
23433 case AArch64::SSHRv2i64_shift:
23434 case AArch64::SSHRv4i16_shift:
23435 case AArch64::SSHRv4i32_shift:
23436 case AArch64::SSHRv8i16_shift:
23437 case AArch64::SSHRv8i8_shift:
23438 case AArch64::UCVTFd:
23439 case AArch64::UCVTFh:
23440 case AArch64::UCVTFs:
23441 case AArch64::UCVTFv2i32_shift:
23442 case AArch64::UCVTFv2i64_shift:
23443 case AArch64::UCVTFv4i16_shift:
23444 case AArch64::UCVTFv4i32_shift:
23445 case AArch64::UCVTFv8i16_shift:
23446 case AArch64::UQRSHRNb:
23447 case AArch64::UQRSHRNh:
23448 case AArch64::UQRSHRNs:
23449 case AArch64::UQRSHRNv2i32_shift:
23450 case AArch64::UQRSHRNv4i16_shift:
23451 case AArch64::UQRSHRNv8i8_shift:
23452 case AArch64::UQSHLb:
23453 case AArch64::UQSHLd:
23454 case AArch64::UQSHLh:
23455 case AArch64::UQSHLs:
23456 case AArch64::UQSHLv16i8_shift:
23457 case AArch64::UQSHLv2i32_shift:
23458 case AArch64::UQSHLv2i64_shift:
23459 case AArch64::UQSHLv4i16_shift:
23460 case AArch64::UQSHLv4i32_shift:
23461 case AArch64::UQSHLv8i16_shift:
23462 case AArch64::UQSHLv8i8_shift:
23463 case AArch64::UQSHRNb:
23464 case AArch64::UQSHRNh:
23465 case AArch64::UQSHRNs:
23466 case AArch64::UQSHRNv2i32_shift:
23467 case AArch64::UQSHRNv4i16_shift:
23468 case AArch64::UQSHRNv8i8_shift:
23469 case AArch64::URSHRd:
23470 case AArch64::URSHRv16i8_shift:
23471 case AArch64::URSHRv2i32_shift:
23472 case AArch64::URSHRv2i64_shift:
23473 case AArch64::URSHRv4i16_shift:
23474 case AArch64::URSHRv4i32_shift:
23475 case AArch64::URSHRv8i16_shift:
23476 case AArch64::URSHRv8i8_shift:
23477 case AArch64::USHLLv16i8_shift:
23478 case AArch64::USHLLv2i32_shift:
23479 case AArch64::USHLLv4i16_shift:
23480 case AArch64::USHLLv4i32_shift:
23481 case AArch64::USHLLv8i16_shift:
23482 case AArch64::USHLLv8i8_shift:
23483 case AArch64::USHRd:
23484 case AArch64::USHRv16i8_shift:
23485 case AArch64::USHRv2i32_shift:
23486 case AArch64::USHRv2i64_shift:
23487 case AArch64::USHRv4i16_shift:
23488 case AArch64::USHRv4i32_shift:
23489 case AArch64::USHRv8i16_shift:
23490 case AArch64::USHRv8i8_shift: {
23491 switch (OpNum) {
23492 case 0:
23493 // op: Rd
23494 return 0;
23495 case 1:
23496 // op: Rn
23497 return 5;
23498 case 2:
23499 // op: imm
23500 return 16;
23501 }
23502 break;
23503 }
23504 case AArch64::ADDG:
23505 case AArch64::SUBG: {
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: imm6
23515 return 16;
23516 case 3:
23517 // op: imm4
23518 return 10;
23519 }
23520 break;
23521 }
23522 case AArch64::SBFMWri:
23523 case AArch64::SBFMXri:
23524 case AArch64::UBFMWri:
23525 case AArch64::UBFMXri: {
23526 switch (OpNum) {
23527 case 0:
23528 // op: Rd
23529 return 0;
23530 case 1:
23531 // op: Rn
23532 return 5;
23533 case 2:
23534 // op: immr
23535 return 16;
23536 case 3:
23537 // op: imms
23538 return 10;
23539 }
23540 break;
23541 }
23542 case AArch64::FCVTZSSWDri:
23543 case AArch64::FCVTZSSWHri:
23544 case AArch64::FCVTZSSWSri:
23545 case AArch64::FCVTZSSXDri:
23546 case AArch64::FCVTZSSXHri:
23547 case AArch64::FCVTZSSXSri:
23548 case AArch64::FCVTZUSWDri:
23549 case AArch64::FCVTZUSWHri:
23550 case AArch64::FCVTZUSWSri:
23551 case AArch64::FCVTZUSXDri:
23552 case AArch64::FCVTZUSXHri:
23553 case AArch64::FCVTZUSXSri:
23554 case AArch64::SCVTFSWDri:
23555 case AArch64::SCVTFSWHri:
23556 case AArch64::SCVTFSWSri:
23557 case AArch64::SCVTFSXDri:
23558 case AArch64::SCVTFSXHri:
23559 case AArch64::SCVTFSXSri:
23560 case AArch64::UCVTFSWDri:
23561 case AArch64::UCVTFSWHri:
23562 case AArch64::UCVTFSWSri:
23563 case AArch64::UCVTFSXDri:
23564 case AArch64::UCVTFSXHri:
23565 case AArch64::UCVTFSXSri: {
23566 switch (OpNum) {
23567 case 0:
23568 // op: Rd
23569 return 0;
23570 case 1:
23571 // op: Rn
23572 return 5;
23573 case 2:
23574 // op: scale
23575 return 10;
23576 }
23577 break;
23578 }
23579 case AArch64::ABSWr:
23580 case AArch64::ABSXr:
23581 case AArch64::ABSv16i8:
23582 case AArch64::ABSv1i64:
23583 case AArch64::ABSv2i32:
23584 case AArch64::ABSv2i64:
23585 case AArch64::ABSv4i16:
23586 case AArch64::ABSv4i32:
23587 case AArch64::ABSv8i16:
23588 case AArch64::ABSv8i8:
23589 case AArch64::ADDPv2i64p:
23590 case AArch64::ADDVv16i8v:
23591 case AArch64::ADDVv4i16v:
23592 case AArch64::ADDVv4i32v:
23593 case AArch64::ADDVv8i16v:
23594 case AArch64::ADDVv8i8v:
23595 case AArch64::AESIMCrr:
23596 case AArch64::AESMCrr:
23597 case AArch64::BF1CVTL:
23598 case AArch64::BF1CVTL2:
23599 case AArch64::BF2CVTL:
23600 case AArch64::BF2CVTL2:
23601 case AArch64::BFCVT:
23602 case AArch64::BFCVTN:
23603 case AArch64::CLSWr:
23604 case AArch64::CLSXr:
23605 case AArch64::CLSv16i8:
23606 case AArch64::CLSv2i32:
23607 case AArch64::CLSv4i16:
23608 case AArch64::CLSv4i32:
23609 case AArch64::CLSv8i16:
23610 case AArch64::CLSv8i8:
23611 case AArch64::CLZWr:
23612 case AArch64::CLZXr:
23613 case AArch64::CLZv16i8:
23614 case AArch64::CLZv2i32:
23615 case AArch64::CLZv4i16:
23616 case AArch64::CLZv4i32:
23617 case AArch64::CLZv8i16:
23618 case AArch64::CLZv8i8:
23619 case AArch64::CMEQv16i8rz:
23620 case AArch64::CMEQv1i64rz:
23621 case AArch64::CMEQv2i32rz:
23622 case AArch64::CMEQv2i64rz:
23623 case AArch64::CMEQv4i16rz:
23624 case AArch64::CMEQv4i32rz:
23625 case AArch64::CMEQv8i16rz:
23626 case AArch64::CMEQv8i8rz:
23627 case AArch64::CMGEv16i8rz:
23628 case AArch64::CMGEv1i64rz:
23629 case AArch64::CMGEv2i32rz:
23630 case AArch64::CMGEv2i64rz:
23631 case AArch64::CMGEv4i16rz:
23632 case AArch64::CMGEv4i32rz:
23633 case AArch64::CMGEv8i16rz:
23634 case AArch64::CMGEv8i8rz:
23635 case AArch64::CMGTv16i8rz:
23636 case AArch64::CMGTv1i64rz:
23637 case AArch64::CMGTv2i32rz:
23638 case AArch64::CMGTv2i64rz:
23639 case AArch64::CMGTv4i16rz:
23640 case AArch64::CMGTv4i32rz:
23641 case AArch64::CMGTv8i16rz:
23642 case AArch64::CMGTv8i8rz:
23643 case AArch64::CMLEv16i8rz:
23644 case AArch64::CMLEv1i64rz:
23645 case AArch64::CMLEv2i32rz:
23646 case AArch64::CMLEv2i64rz:
23647 case AArch64::CMLEv4i16rz:
23648 case AArch64::CMLEv4i32rz:
23649 case AArch64::CMLEv8i16rz:
23650 case AArch64::CMLEv8i8rz:
23651 case AArch64::CMLTv16i8rz:
23652 case AArch64::CMLTv1i64rz:
23653 case AArch64::CMLTv2i32rz:
23654 case AArch64::CMLTv2i64rz:
23655 case AArch64::CMLTv4i16rz:
23656 case AArch64::CMLTv4i32rz:
23657 case AArch64::CMLTv8i16rz:
23658 case AArch64::CMLTv8i8rz:
23659 case AArch64::CNTWr:
23660 case AArch64::CNTXr:
23661 case AArch64::CNTv16i8:
23662 case AArch64::CNTv8i8:
23663 case AArch64::CTZWr:
23664 case AArch64::CTZXr:
23665 case AArch64::DUPv16i8gpr:
23666 case AArch64::DUPv2i32gpr:
23667 case AArch64::DUPv2i64gpr:
23668 case AArch64::DUPv4i16gpr:
23669 case AArch64::DUPv4i32gpr:
23670 case AArch64::DUPv8i16gpr:
23671 case AArch64::DUPv8i8gpr:
23672 case AArch64::F1CVTL:
23673 case AArch64::F1CVTL2:
23674 case AArch64::F2CVTL:
23675 case AArch64::F2CVTL2:
23676 case AArch64::FABSDr:
23677 case AArch64::FABSHr:
23678 case AArch64::FABSSr:
23679 case AArch64::FABSv2f32:
23680 case AArch64::FABSv2f64:
23681 case AArch64::FABSv4f16:
23682 case AArch64::FABSv4f32:
23683 case AArch64::FABSv8f16:
23684 case AArch64::FADDPv2i16p:
23685 case AArch64::FADDPv2i32p:
23686 case AArch64::FADDPv2i64p:
23687 case AArch64::FCMEQv1i16rz:
23688 case AArch64::FCMEQv1i32rz:
23689 case AArch64::FCMEQv1i64rz:
23690 case AArch64::FCMEQv2i32rz:
23691 case AArch64::FCMEQv2i64rz:
23692 case AArch64::FCMEQv4i16rz:
23693 case AArch64::FCMEQv4i32rz:
23694 case AArch64::FCMEQv8i16rz:
23695 case AArch64::FCMGEv1i16rz:
23696 case AArch64::FCMGEv1i32rz:
23697 case AArch64::FCMGEv1i64rz:
23698 case AArch64::FCMGEv2i32rz:
23699 case AArch64::FCMGEv2i64rz:
23700 case AArch64::FCMGEv4i16rz:
23701 case AArch64::FCMGEv4i32rz:
23702 case AArch64::FCMGEv8i16rz:
23703 case AArch64::FCMGTv1i16rz:
23704 case AArch64::FCMGTv1i32rz:
23705 case AArch64::FCMGTv1i64rz:
23706 case AArch64::FCMGTv2i32rz:
23707 case AArch64::FCMGTv2i64rz:
23708 case AArch64::FCMGTv4i16rz:
23709 case AArch64::FCMGTv4i32rz:
23710 case AArch64::FCMGTv8i16rz:
23711 case AArch64::FCMLEv1i16rz:
23712 case AArch64::FCMLEv1i32rz:
23713 case AArch64::FCMLEv1i64rz:
23714 case AArch64::FCMLEv2i32rz:
23715 case AArch64::FCMLEv2i64rz:
23716 case AArch64::FCMLEv4i16rz:
23717 case AArch64::FCMLEv4i32rz:
23718 case AArch64::FCMLEv8i16rz:
23719 case AArch64::FCMLTv1i16rz:
23720 case AArch64::FCMLTv1i32rz:
23721 case AArch64::FCMLTv1i64rz:
23722 case AArch64::FCMLTv2i32rz:
23723 case AArch64::FCMLTv2i64rz:
23724 case AArch64::FCMLTv4i16rz:
23725 case AArch64::FCMLTv4i32rz:
23726 case AArch64::FCMLTv8i16rz:
23727 case AArch64::FCVTASDHr:
23728 case AArch64::FCVTASDSr:
23729 case AArch64::FCVTASSDr:
23730 case AArch64::FCVTASSHr:
23731 case AArch64::FCVTASUWDr:
23732 case AArch64::FCVTASUWHr:
23733 case AArch64::FCVTASUWSr:
23734 case AArch64::FCVTASUXDr:
23735 case AArch64::FCVTASUXHr:
23736 case AArch64::FCVTASUXSr:
23737 case AArch64::FCVTASv1f16:
23738 case AArch64::FCVTASv1i32:
23739 case AArch64::FCVTASv1i64:
23740 case AArch64::FCVTASv2f32:
23741 case AArch64::FCVTASv2f64:
23742 case AArch64::FCVTASv4f16:
23743 case AArch64::FCVTASv4f32:
23744 case AArch64::FCVTASv8f16:
23745 case AArch64::FCVTAUDHr:
23746 case AArch64::FCVTAUDSr:
23747 case AArch64::FCVTAUSDr:
23748 case AArch64::FCVTAUSHr:
23749 case AArch64::FCVTAUUWDr:
23750 case AArch64::FCVTAUUWHr:
23751 case AArch64::FCVTAUUWSr:
23752 case AArch64::FCVTAUUXDr:
23753 case AArch64::FCVTAUUXHr:
23754 case AArch64::FCVTAUUXSr:
23755 case AArch64::FCVTAUv1f16:
23756 case AArch64::FCVTAUv1i32:
23757 case AArch64::FCVTAUv1i64:
23758 case AArch64::FCVTAUv2f32:
23759 case AArch64::FCVTAUv2f64:
23760 case AArch64::FCVTAUv4f16:
23761 case AArch64::FCVTAUv4f32:
23762 case AArch64::FCVTAUv8f16:
23763 case AArch64::FCVTDHr:
23764 case AArch64::FCVTDSr:
23765 case AArch64::FCVTHDr:
23766 case AArch64::FCVTHSr:
23767 case AArch64::FCVTLv2i32:
23768 case AArch64::FCVTLv4i16:
23769 case AArch64::FCVTLv4i32:
23770 case AArch64::FCVTLv8i16:
23771 case AArch64::FCVTMSDHr:
23772 case AArch64::FCVTMSDSr:
23773 case AArch64::FCVTMSSDr:
23774 case AArch64::FCVTMSSHr:
23775 case AArch64::FCVTMSUWDr:
23776 case AArch64::FCVTMSUWHr:
23777 case AArch64::FCVTMSUWSr:
23778 case AArch64::FCVTMSUXDr:
23779 case AArch64::FCVTMSUXHr:
23780 case AArch64::FCVTMSUXSr:
23781 case AArch64::FCVTMSv1f16:
23782 case AArch64::FCVTMSv1i32:
23783 case AArch64::FCVTMSv1i64:
23784 case AArch64::FCVTMSv2f32:
23785 case AArch64::FCVTMSv2f64:
23786 case AArch64::FCVTMSv4f16:
23787 case AArch64::FCVTMSv4f32:
23788 case AArch64::FCVTMSv8f16:
23789 case AArch64::FCVTMUDHr:
23790 case AArch64::FCVTMUDSr:
23791 case AArch64::FCVTMUSDr:
23792 case AArch64::FCVTMUSHr:
23793 case AArch64::FCVTMUUWDr:
23794 case AArch64::FCVTMUUWHr:
23795 case AArch64::FCVTMUUWSr:
23796 case AArch64::FCVTMUUXDr:
23797 case AArch64::FCVTMUUXHr:
23798 case AArch64::FCVTMUUXSr:
23799 case AArch64::FCVTMUv1f16:
23800 case AArch64::FCVTMUv1i32:
23801 case AArch64::FCVTMUv1i64:
23802 case AArch64::FCVTMUv2f32:
23803 case AArch64::FCVTMUv2f64:
23804 case AArch64::FCVTMUv4f16:
23805 case AArch64::FCVTMUv4f32:
23806 case AArch64::FCVTMUv8f16:
23807 case AArch64::FCVTNSDHr:
23808 case AArch64::FCVTNSDSr:
23809 case AArch64::FCVTNSSDr:
23810 case AArch64::FCVTNSSHr:
23811 case AArch64::FCVTNSUWDr:
23812 case AArch64::FCVTNSUWHr:
23813 case AArch64::FCVTNSUWSr:
23814 case AArch64::FCVTNSUXDr:
23815 case AArch64::FCVTNSUXHr:
23816 case AArch64::FCVTNSUXSr:
23817 case AArch64::FCVTNSv1f16:
23818 case AArch64::FCVTNSv1i32:
23819 case AArch64::FCVTNSv1i64:
23820 case AArch64::FCVTNSv2f32:
23821 case AArch64::FCVTNSv2f64:
23822 case AArch64::FCVTNSv4f16:
23823 case AArch64::FCVTNSv4f32:
23824 case AArch64::FCVTNSv8f16:
23825 case AArch64::FCVTNUDHr:
23826 case AArch64::FCVTNUDSr:
23827 case AArch64::FCVTNUSDr:
23828 case AArch64::FCVTNUSHr:
23829 case AArch64::FCVTNUUWDr:
23830 case AArch64::FCVTNUUWHr:
23831 case AArch64::FCVTNUUWSr:
23832 case AArch64::FCVTNUUXDr:
23833 case AArch64::FCVTNUUXHr:
23834 case AArch64::FCVTNUUXSr:
23835 case AArch64::FCVTNUv1f16:
23836 case AArch64::FCVTNUv1i32:
23837 case AArch64::FCVTNUv1i64:
23838 case AArch64::FCVTNUv2f32:
23839 case AArch64::FCVTNUv2f64:
23840 case AArch64::FCVTNUv4f16:
23841 case AArch64::FCVTNUv4f32:
23842 case AArch64::FCVTNUv8f16:
23843 case AArch64::FCVTNv2i32:
23844 case AArch64::FCVTNv4i16:
23845 case AArch64::FCVTPSDHr:
23846 case AArch64::FCVTPSDSr:
23847 case AArch64::FCVTPSSDr:
23848 case AArch64::FCVTPSSHr:
23849 case AArch64::FCVTPSUWDr:
23850 case AArch64::FCVTPSUWHr:
23851 case AArch64::FCVTPSUWSr:
23852 case AArch64::FCVTPSUXDr:
23853 case AArch64::FCVTPSUXHr:
23854 case AArch64::FCVTPSUXSr:
23855 case AArch64::FCVTPSv1f16:
23856 case AArch64::FCVTPSv1i32:
23857 case AArch64::FCVTPSv1i64:
23858 case AArch64::FCVTPSv2f32:
23859 case AArch64::FCVTPSv2f64:
23860 case AArch64::FCVTPSv4f16:
23861 case AArch64::FCVTPSv4f32:
23862 case AArch64::FCVTPSv8f16:
23863 case AArch64::FCVTPUDHr:
23864 case AArch64::FCVTPUDSr:
23865 case AArch64::FCVTPUSDr:
23866 case AArch64::FCVTPUSHr:
23867 case AArch64::FCVTPUUWDr:
23868 case AArch64::FCVTPUUWHr:
23869 case AArch64::FCVTPUUWSr:
23870 case AArch64::FCVTPUUXDr:
23871 case AArch64::FCVTPUUXHr:
23872 case AArch64::FCVTPUUXSr:
23873 case AArch64::FCVTPUv1f16:
23874 case AArch64::FCVTPUv1i32:
23875 case AArch64::FCVTPUv1i64:
23876 case AArch64::FCVTPUv2f32:
23877 case AArch64::FCVTPUv2f64:
23878 case AArch64::FCVTPUv4f16:
23879 case AArch64::FCVTPUv4f32:
23880 case AArch64::FCVTPUv8f16:
23881 case AArch64::FCVTSDr:
23882 case AArch64::FCVTSHr:
23883 case AArch64::FCVTXNv1i64:
23884 case AArch64::FCVTXNv2f32:
23885 case AArch64::FCVTZSDHr:
23886 case AArch64::FCVTZSDSr:
23887 case AArch64::FCVTZSSDr:
23888 case AArch64::FCVTZSSHr:
23889 case AArch64::FCVTZSUWDr:
23890 case AArch64::FCVTZSUWHr:
23891 case AArch64::FCVTZSUWSr:
23892 case AArch64::FCVTZSUXDr:
23893 case AArch64::FCVTZSUXHr:
23894 case AArch64::FCVTZSUXSr:
23895 case AArch64::FCVTZSv1f16:
23896 case AArch64::FCVTZSv1i32:
23897 case AArch64::FCVTZSv1i64:
23898 case AArch64::FCVTZSv2f32:
23899 case AArch64::FCVTZSv2f64:
23900 case AArch64::FCVTZSv4f16:
23901 case AArch64::FCVTZSv4f32:
23902 case AArch64::FCVTZSv8f16:
23903 case AArch64::FCVTZUDHr:
23904 case AArch64::FCVTZUDSr:
23905 case AArch64::FCVTZUSDr:
23906 case AArch64::FCVTZUSHr:
23907 case AArch64::FCVTZUUWDr:
23908 case AArch64::FCVTZUUWHr:
23909 case AArch64::FCVTZUUWSr:
23910 case AArch64::FCVTZUUXDr:
23911 case AArch64::FCVTZUUXHr:
23912 case AArch64::FCVTZUUXSr:
23913 case AArch64::FCVTZUv1f16:
23914 case AArch64::FCVTZUv1i32:
23915 case AArch64::FCVTZUv1i64:
23916 case AArch64::FCVTZUv2f32:
23917 case AArch64::FCVTZUv2f64:
23918 case AArch64::FCVTZUv4f16:
23919 case AArch64::FCVTZUv4f32:
23920 case AArch64::FCVTZUv8f16:
23921 case AArch64::FJCVTZS:
23922 case AArch64::FMAXNMPv2i16p:
23923 case AArch64::FMAXNMPv2i32p:
23924 case AArch64::FMAXNMPv2i64p:
23925 case AArch64::FMAXNMVv4i16v:
23926 case AArch64::FMAXNMVv4i32v:
23927 case AArch64::FMAXNMVv8i16v:
23928 case AArch64::FMAXPv2i16p:
23929 case AArch64::FMAXPv2i32p:
23930 case AArch64::FMAXPv2i64p:
23931 case AArch64::FMAXVv4i16v:
23932 case AArch64::FMAXVv4i32v:
23933 case AArch64::FMAXVv8i16v:
23934 case AArch64::FMINNMPv2i16p:
23935 case AArch64::FMINNMPv2i32p:
23936 case AArch64::FMINNMPv2i64p:
23937 case AArch64::FMINNMVv4i16v:
23938 case AArch64::FMINNMVv4i32v:
23939 case AArch64::FMINNMVv8i16v:
23940 case AArch64::FMINPv2i16p:
23941 case AArch64::FMINPv2i32p:
23942 case AArch64::FMINPv2i64p:
23943 case AArch64::FMINVv4i16v:
23944 case AArch64::FMINVv4i32v:
23945 case AArch64::FMINVv8i16v:
23946 case AArch64::FMOVDXHighr:
23947 case AArch64::FMOVDXr:
23948 case AArch64::FMOVDr:
23949 case AArch64::FMOVHWr:
23950 case AArch64::FMOVHXr:
23951 case AArch64::FMOVHr:
23952 case AArch64::FMOVSWr:
23953 case AArch64::FMOVSr:
23954 case AArch64::FMOVWHr:
23955 case AArch64::FMOVWSr:
23956 case AArch64::FMOVXDHighr:
23957 case AArch64::FMOVXDr:
23958 case AArch64::FMOVXHr:
23959 case AArch64::FNEGDr:
23960 case AArch64::FNEGHr:
23961 case AArch64::FNEGSr:
23962 case AArch64::FNEGv2f32:
23963 case AArch64::FNEGv2f64:
23964 case AArch64::FNEGv4f16:
23965 case AArch64::FNEGv4f32:
23966 case AArch64::FNEGv8f16:
23967 case AArch64::FRECPEv1f16:
23968 case AArch64::FRECPEv1i32:
23969 case AArch64::FRECPEv1i64:
23970 case AArch64::FRECPEv2f32:
23971 case AArch64::FRECPEv2f64:
23972 case AArch64::FRECPEv4f16:
23973 case AArch64::FRECPEv4f32:
23974 case AArch64::FRECPEv8f16:
23975 case AArch64::FRECPXv1f16:
23976 case AArch64::FRECPXv1i32:
23977 case AArch64::FRECPXv1i64:
23978 case AArch64::FRINT32XDr:
23979 case AArch64::FRINT32XSr:
23980 case AArch64::FRINT32Xv2f32:
23981 case AArch64::FRINT32Xv2f64:
23982 case AArch64::FRINT32Xv4f32:
23983 case AArch64::FRINT32ZDr:
23984 case AArch64::FRINT32ZSr:
23985 case AArch64::FRINT32Zv2f32:
23986 case AArch64::FRINT32Zv2f64:
23987 case AArch64::FRINT32Zv4f32:
23988 case AArch64::FRINT64XDr:
23989 case AArch64::FRINT64XSr:
23990 case AArch64::FRINT64Xv2f32:
23991 case AArch64::FRINT64Xv2f64:
23992 case AArch64::FRINT64Xv4f32:
23993 case AArch64::FRINT64ZDr:
23994 case AArch64::FRINT64ZSr:
23995 case AArch64::FRINT64Zv2f32:
23996 case AArch64::FRINT64Zv2f64:
23997 case AArch64::FRINT64Zv4f32:
23998 case AArch64::FRINTADr:
23999 case AArch64::FRINTAHr:
24000 case AArch64::FRINTASr:
24001 case AArch64::FRINTAv2f32:
24002 case AArch64::FRINTAv2f64:
24003 case AArch64::FRINTAv4f16:
24004 case AArch64::FRINTAv4f32:
24005 case AArch64::FRINTAv8f16:
24006 case AArch64::FRINTIDr:
24007 case AArch64::FRINTIHr:
24008 case AArch64::FRINTISr:
24009 case AArch64::FRINTIv2f32:
24010 case AArch64::FRINTIv2f64:
24011 case AArch64::FRINTIv4f16:
24012 case AArch64::FRINTIv4f32:
24013 case AArch64::FRINTIv8f16:
24014 case AArch64::FRINTMDr:
24015 case AArch64::FRINTMHr:
24016 case AArch64::FRINTMSr:
24017 case AArch64::FRINTMv2f32:
24018 case AArch64::FRINTMv2f64:
24019 case AArch64::FRINTMv4f16:
24020 case AArch64::FRINTMv4f32:
24021 case AArch64::FRINTMv8f16:
24022 case AArch64::FRINTNDr:
24023 case AArch64::FRINTNHr:
24024 case AArch64::FRINTNSr:
24025 case AArch64::FRINTNv2f32:
24026 case AArch64::FRINTNv2f64:
24027 case AArch64::FRINTNv4f16:
24028 case AArch64::FRINTNv4f32:
24029 case AArch64::FRINTNv8f16:
24030 case AArch64::FRINTPDr:
24031 case AArch64::FRINTPHr:
24032 case AArch64::FRINTPSr:
24033 case AArch64::FRINTPv2f32:
24034 case AArch64::FRINTPv2f64:
24035 case AArch64::FRINTPv4f16:
24036 case AArch64::FRINTPv4f32:
24037 case AArch64::FRINTPv8f16:
24038 case AArch64::FRINTXDr:
24039 case AArch64::FRINTXHr:
24040 case AArch64::FRINTXSr:
24041 case AArch64::FRINTXv2f32:
24042 case AArch64::FRINTXv2f64:
24043 case AArch64::FRINTXv4f16:
24044 case AArch64::FRINTXv4f32:
24045 case AArch64::FRINTXv8f16:
24046 case AArch64::FRINTZDr:
24047 case AArch64::FRINTZHr:
24048 case AArch64::FRINTZSr:
24049 case AArch64::FRINTZv2f32:
24050 case AArch64::FRINTZv2f64:
24051 case AArch64::FRINTZv4f16:
24052 case AArch64::FRINTZv4f32:
24053 case AArch64::FRINTZv8f16:
24054 case AArch64::FRSQRTEv1f16:
24055 case AArch64::FRSQRTEv1i32:
24056 case AArch64::FRSQRTEv1i64:
24057 case AArch64::FRSQRTEv2f32:
24058 case AArch64::FRSQRTEv2f64:
24059 case AArch64::FRSQRTEv4f16:
24060 case AArch64::FRSQRTEv4f32:
24061 case AArch64::FRSQRTEv8f16:
24062 case AArch64::FSQRTDr:
24063 case AArch64::FSQRTHr:
24064 case AArch64::FSQRTSr:
24065 case AArch64::FSQRTv2f32:
24066 case AArch64::FSQRTv2f64:
24067 case AArch64::FSQRTv4f16:
24068 case AArch64::FSQRTv4f32:
24069 case AArch64::FSQRTv8f16:
24070 case AArch64::NEGv16i8:
24071 case AArch64::NEGv1i64:
24072 case AArch64::NEGv2i32:
24073 case AArch64::NEGv2i64:
24074 case AArch64::NEGv4i16:
24075 case AArch64::NEGv4i32:
24076 case AArch64::NEGv8i16:
24077 case AArch64::NEGv8i8:
24078 case AArch64::NOTv16i8:
24079 case AArch64::NOTv8i8:
24080 case AArch64::RBITWr:
24081 case AArch64::RBITXr:
24082 case AArch64::RBITv16i8:
24083 case AArch64::RBITv8i8:
24084 case AArch64::REV16Wr:
24085 case AArch64::REV16Xr:
24086 case AArch64::REV16v16i8:
24087 case AArch64::REV16v8i8:
24088 case AArch64::REV32Xr:
24089 case AArch64::REV32v16i8:
24090 case AArch64::REV32v4i16:
24091 case AArch64::REV32v8i16:
24092 case AArch64::REV32v8i8:
24093 case AArch64::REV64v16i8:
24094 case AArch64::REV64v2i32:
24095 case AArch64::REV64v4i16:
24096 case AArch64::REV64v4i32:
24097 case AArch64::REV64v8i16:
24098 case AArch64::REV64v8i8:
24099 case AArch64::REVWr:
24100 case AArch64::REVXr:
24101 case AArch64::SADDLPv16i8_v8i16:
24102 case AArch64::SADDLPv2i32_v1i64:
24103 case AArch64::SADDLPv4i16_v2i32:
24104 case AArch64::SADDLPv4i32_v2i64:
24105 case AArch64::SADDLPv8i16_v4i32:
24106 case AArch64::SADDLPv8i8_v4i16:
24107 case AArch64::SADDLVv16i8v:
24108 case AArch64::SADDLVv4i16v:
24109 case AArch64::SADDLVv4i32v:
24110 case AArch64::SADDLVv8i16v:
24111 case AArch64::SADDLVv8i8v:
24112 case AArch64::SCVTFDSr:
24113 case AArch64::SCVTFHDr:
24114 case AArch64::SCVTFHSr:
24115 case AArch64::SCVTFSDr:
24116 case AArch64::SCVTFUWDri:
24117 case AArch64::SCVTFUWHri:
24118 case AArch64::SCVTFUWSri:
24119 case AArch64::SCVTFUXDri:
24120 case AArch64::SCVTFUXHri:
24121 case AArch64::SCVTFUXSri:
24122 case AArch64::SCVTFv1i16:
24123 case AArch64::SCVTFv1i32:
24124 case AArch64::SCVTFv1i64:
24125 case AArch64::SCVTFv2f32:
24126 case AArch64::SCVTFv2f64:
24127 case AArch64::SCVTFv4f16:
24128 case AArch64::SCVTFv4f32:
24129 case AArch64::SCVTFv8f16:
24130 case AArch64::SHA1Hrr:
24131 case AArch64::SHLLv16i8:
24132 case AArch64::SHLLv2i32:
24133 case AArch64::SHLLv4i16:
24134 case AArch64::SHLLv4i32:
24135 case AArch64::SHLLv8i16:
24136 case AArch64::SHLLv8i8:
24137 case AArch64::SMAXVv16i8v:
24138 case AArch64::SMAXVv4i16v:
24139 case AArch64::SMAXVv4i32v:
24140 case AArch64::SMAXVv8i16v:
24141 case AArch64::SMAXVv8i8v:
24142 case AArch64::SMINVv16i8v:
24143 case AArch64::SMINVv4i16v:
24144 case AArch64::SMINVv4i32v:
24145 case AArch64::SMINVv8i16v:
24146 case AArch64::SMINVv8i8v:
24147 case AArch64::SMOVvi16to32_idx0:
24148 case AArch64::SMOVvi16to64_idx0:
24149 case AArch64::SMOVvi32to64_idx0:
24150 case AArch64::SMOVvi8to32_idx0:
24151 case AArch64::SMOVvi8to64_idx0:
24152 case AArch64::SQABSv16i8:
24153 case AArch64::SQABSv1i16:
24154 case AArch64::SQABSv1i32:
24155 case AArch64::SQABSv1i64:
24156 case AArch64::SQABSv1i8:
24157 case AArch64::SQABSv2i32:
24158 case AArch64::SQABSv2i64:
24159 case AArch64::SQABSv4i16:
24160 case AArch64::SQABSv4i32:
24161 case AArch64::SQABSv8i16:
24162 case AArch64::SQABSv8i8:
24163 case AArch64::SQNEGv16i8:
24164 case AArch64::SQNEGv1i16:
24165 case AArch64::SQNEGv1i32:
24166 case AArch64::SQNEGv1i64:
24167 case AArch64::SQNEGv1i8:
24168 case AArch64::SQNEGv2i32:
24169 case AArch64::SQNEGv2i64:
24170 case AArch64::SQNEGv4i16:
24171 case AArch64::SQNEGv4i32:
24172 case AArch64::SQNEGv8i16:
24173 case AArch64::SQNEGv8i8:
24174 case AArch64::SQXTNv1i16:
24175 case AArch64::SQXTNv1i32:
24176 case AArch64::SQXTNv1i8:
24177 case AArch64::SQXTNv2i32:
24178 case AArch64::SQXTNv4i16:
24179 case AArch64::SQXTNv8i8:
24180 case AArch64::SQXTUNv1i16:
24181 case AArch64::SQXTUNv1i32:
24182 case AArch64::SQXTUNv1i8:
24183 case AArch64::SQXTUNv2i32:
24184 case AArch64::SQXTUNv4i16:
24185 case AArch64::SQXTUNv8i8:
24186 case AArch64::UADDLPv16i8_v8i16:
24187 case AArch64::UADDLPv2i32_v1i64:
24188 case AArch64::UADDLPv4i16_v2i32:
24189 case AArch64::UADDLPv4i32_v2i64:
24190 case AArch64::UADDLPv8i16_v4i32:
24191 case AArch64::UADDLPv8i8_v4i16:
24192 case AArch64::UADDLVv16i8v:
24193 case AArch64::UADDLVv4i16v:
24194 case AArch64::UADDLVv4i32v:
24195 case AArch64::UADDLVv8i16v:
24196 case AArch64::UADDLVv8i8v:
24197 case AArch64::UCVTFDSr:
24198 case AArch64::UCVTFHDr:
24199 case AArch64::UCVTFHSr:
24200 case AArch64::UCVTFSDr:
24201 case AArch64::UCVTFUWDri:
24202 case AArch64::UCVTFUWHri:
24203 case AArch64::UCVTFUWSri:
24204 case AArch64::UCVTFUXDri:
24205 case AArch64::UCVTFUXHri:
24206 case AArch64::UCVTFUXSri:
24207 case AArch64::UCVTFv1i16:
24208 case AArch64::UCVTFv1i32:
24209 case AArch64::UCVTFv1i64:
24210 case AArch64::UCVTFv2f32:
24211 case AArch64::UCVTFv2f64:
24212 case AArch64::UCVTFv4f16:
24213 case AArch64::UCVTFv4f32:
24214 case AArch64::UCVTFv8f16:
24215 case AArch64::UMAXVv16i8v:
24216 case AArch64::UMAXVv4i16v:
24217 case AArch64::UMAXVv4i32v:
24218 case AArch64::UMAXVv8i16v:
24219 case AArch64::UMAXVv8i8v:
24220 case AArch64::UMINVv16i8v:
24221 case AArch64::UMINVv4i16v:
24222 case AArch64::UMINVv4i32v:
24223 case AArch64::UMINVv8i16v:
24224 case AArch64::UMINVv8i8v:
24225 case AArch64::UMOVvi16_idx0:
24226 case AArch64::UMOVvi32_idx0:
24227 case AArch64::UMOVvi64_idx0:
24228 case AArch64::UMOVvi8_idx0:
24229 case AArch64::UQXTNv1i16:
24230 case AArch64::UQXTNv1i32:
24231 case AArch64::UQXTNv1i8:
24232 case AArch64::UQXTNv2i32:
24233 case AArch64::UQXTNv4i16:
24234 case AArch64::UQXTNv8i8:
24235 case AArch64::URECPEv2i32:
24236 case AArch64::URECPEv4i32:
24237 case AArch64::URSQRTEv2i32:
24238 case AArch64::URSQRTEv4i32:
24239 case AArch64::XTNv2i32:
24240 case AArch64::XTNv4i16:
24241 case AArch64::XTNv8i8: {
24242 switch (OpNum) {
24243 case 0:
24244 // op: Rd
24245 return 0;
24246 case 1:
24247 // op: Rn
24248 return 5;
24249 }
24250 break;
24251 }
24252 case AArch64::FMOVDi:
24253 case AArch64::FMOVHi:
24254 case AArch64::FMOVSi: {
24255 switch (OpNum) {
24256 case 0:
24257 // op: Rd
24258 return 0;
24259 case 1:
24260 // op: imm
24261 return 13;
24262 }
24263 break;
24264 }
24265 case AArch64::MOVNWi:
24266 case AArch64::MOVNXi:
24267 case AArch64::MOVZWi:
24268 case AArch64::MOVZXi: {
24269 switch (OpNum) {
24270 case 0:
24271 // op: Rd
24272 return 0;
24273 case 1:
24274 // op: imm
24275 return 5;
24276 case 2:
24277 // op: shift
24278 return 21;
24279 }
24280 break;
24281 }
24282 case AArch64::RDSVLI_XI:
24283 case AArch64::RDVLI_XI: {
24284 switch (OpNum) {
24285 case 0:
24286 // op: Rd
24287 return 0;
24288 case 1:
24289 // op: imm6
24290 return 5;
24291 }
24292 break;
24293 }
24294 case AArch64::MOVIv2s_msl:
24295 case AArch64::MOVIv4s_msl:
24296 case AArch64::MVNIv2s_msl:
24297 case AArch64::MVNIv4s_msl: {
24298 switch (OpNum) {
24299 case 0:
24300 // op: Rd
24301 return 0;
24302 case 1:
24303 // op: imm8
24304 return 5;
24305 case 2:
24306 // op: shift
24307 return 12;
24308 }
24309 break;
24310 }
24311 case AArch64::MOVIv2i32:
24312 case AArch64::MOVIv4i16:
24313 case AArch64::MOVIv4i32:
24314 case AArch64::MOVIv8i16:
24315 case AArch64::MVNIv2i32:
24316 case AArch64::MVNIv4i16:
24317 case AArch64::MVNIv4i32:
24318 case AArch64::MVNIv8i16: {
24319 switch (OpNum) {
24320 case 0:
24321 // op: Rd
24322 return 0;
24323 case 1:
24324 // op: imm8
24325 return 5;
24326 case 2:
24327 // op: shift
24328 return 13;
24329 }
24330 break;
24331 }
24332 case AArch64::FMOVv2f32_ns:
24333 case AArch64::FMOVv2f64_ns:
24334 case AArch64::FMOVv4f16_ns:
24335 case AArch64::FMOVv4f32_ns:
24336 case AArch64::FMOVv8f16_ns:
24337 case AArch64::MOVID:
24338 case AArch64::MOVIv16b_ns:
24339 case AArch64::MOVIv2d_ns:
24340 case AArch64::MOVIv8b_ns: {
24341 switch (OpNum) {
24342 case 0:
24343 // op: Rd
24344 return 0;
24345 case 1:
24346 // op: imm8
24347 return 5;
24348 }
24349 break;
24350 }
24351 case AArch64::BFMWri:
24352 case AArch64::BFMXri: {
24353 switch (OpNum) {
24354 case 0:
24355 // op: Rd
24356 return 0;
24357 case 2:
24358 // op: Rn
24359 return 5;
24360 case 3:
24361 // op: immr
24362 return 16;
24363 case 4:
24364 // op: imms
24365 return 10;
24366 }
24367 break;
24368 }
24369 case AArch64::MOVKWi:
24370 case AArch64::MOVKXi: {
24371 switch (OpNum) {
24372 case 0:
24373 // op: Rd
24374 return 0;
24375 case 2:
24376 // op: imm
24377 return 5;
24378 case 3:
24379 // op: shift
24380 return 21;
24381 }
24382 break;
24383 }
24384 case AArch64::CNTB_XPiI:
24385 case AArch64::CNTD_XPiI:
24386 case AArch64::CNTH_XPiI:
24387 case AArch64::CNTW_XPiI: {
24388 switch (OpNum) {
24389 case 0:
24390 // op: Rd
24391 return 0;
24392 case 2:
24393 // op: imm4
24394 return 16;
24395 case 1:
24396 // op: pattern
24397 return 5;
24398 }
24399 break;
24400 }
24401 case AArch64::XPACD:
24402 case AArch64::XPACI: {
24403 switch (OpNum) {
24404 case 0:
24405 // op: Rd
24406 return 0;
24407 }
24408 break;
24409 }
24410 case AArch64::DECP_XP_B:
24411 case AArch64::DECP_XP_D:
24412 case AArch64::DECP_XP_H:
24413 case AArch64::DECP_XP_S:
24414 case AArch64::INCP_XP_B:
24415 case AArch64::INCP_XP_D:
24416 case AArch64::INCP_XP_H:
24417 case AArch64::INCP_XP_S:
24418 case AArch64::SQDECP_XPWd_B:
24419 case AArch64::SQDECP_XPWd_D:
24420 case AArch64::SQDECP_XPWd_H:
24421 case AArch64::SQDECP_XPWd_S:
24422 case AArch64::SQDECP_XP_B:
24423 case AArch64::SQDECP_XP_D:
24424 case AArch64::SQDECP_XP_H:
24425 case AArch64::SQDECP_XP_S:
24426 case AArch64::SQINCP_XPWd_B:
24427 case AArch64::SQINCP_XPWd_D:
24428 case AArch64::SQINCP_XPWd_H:
24429 case AArch64::SQINCP_XPWd_S:
24430 case AArch64::SQINCP_XP_B:
24431 case AArch64::SQINCP_XP_D:
24432 case AArch64::SQINCP_XP_H:
24433 case AArch64::SQINCP_XP_S:
24434 case AArch64::UQDECP_WP_B:
24435 case AArch64::UQDECP_WP_D:
24436 case AArch64::UQDECP_WP_H:
24437 case AArch64::UQDECP_WP_S:
24438 case AArch64::UQDECP_XP_B:
24439 case AArch64::UQDECP_XP_D:
24440 case AArch64::UQDECP_XP_H:
24441 case AArch64::UQDECP_XP_S:
24442 case AArch64::UQINCP_WP_B:
24443 case AArch64::UQINCP_WP_D:
24444 case AArch64::UQINCP_WP_H:
24445 case AArch64::UQINCP_WP_S:
24446 case AArch64::UQINCP_XP_B:
24447 case AArch64::UQINCP_XP_D:
24448 case AArch64::UQINCP_XP_H:
24449 case AArch64::UQINCP_XP_S: {
24450 switch (OpNum) {
24451 case 0:
24452 // op: Rdn
24453 return 0;
24454 case 1:
24455 // op: Pg
24456 return 5;
24457 }
24458 break;
24459 }
24460 case AArch64::DECB_XPiI:
24461 case AArch64::DECD_XPiI:
24462 case AArch64::DECH_XPiI:
24463 case AArch64::DECW_XPiI:
24464 case AArch64::INCB_XPiI:
24465 case AArch64::INCD_XPiI:
24466 case AArch64::INCH_XPiI:
24467 case AArch64::INCW_XPiI:
24468 case AArch64::SQDECB_XPiI:
24469 case AArch64::SQDECB_XPiWdI:
24470 case AArch64::SQDECD_XPiI:
24471 case AArch64::SQDECD_XPiWdI:
24472 case AArch64::SQDECH_XPiI:
24473 case AArch64::SQDECH_XPiWdI:
24474 case AArch64::SQDECW_XPiI:
24475 case AArch64::SQDECW_XPiWdI:
24476 case AArch64::SQINCB_XPiI:
24477 case AArch64::SQINCB_XPiWdI:
24478 case AArch64::SQINCD_XPiI:
24479 case AArch64::SQINCD_XPiWdI:
24480 case AArch64::SQINCH_XPiI:
24481 case AArch64::SQINCH_XPiWdI:
24482 case AArch64::SQINCW_XPiI:
24483 case AArch64::SQINCW_XPiWdI:
24484 case AArch64::UQDECB_WPiI:
24485 case AArch64::UQDECB_XPiI:
24486 case AArch64::UQDECD_WPiI:
24487 case AArch64::UQDECD_XPiI:
24488 case AArch64::UQDECH_WPiI:
24489 case AArch64::UQDECH_XPiI:
24490 case AArch64::UQDECW_WPiI:
24491 case AArch64::UQDECW_XPiI:
24492 case AArch64::UQINCB_WPiI:
24493 case AArch64::UQINCB_XPiI:
24494 case AArch64::UQINCD_WPiI:
24495 case AArch64::UQINCD_XPiI:
24496 case AArch64::UQINCH_WPiI:
24497 case AArch64::UQINCH_XPiI:
24498 case AArch64::UQINCW_WPiI:
24499 case AArch64::UQINCW_XPiI: {
24500 switch (OpNum) {
24501 case 0:
24502 // op: Rdn
24503 return 0;
24504 case 2:
24505 // op: pattern
24506 return 5;
24507 case 3:
24508 // op: imm4
24509 return 16;
24510 }
24511 break;
24512 }
24513 case AArch64::RETAASPPCr:
24514 case AArch64::RETABSPPCr: {
24515 switch (OpNum) {
24516 case 0:
24517 // op: Rm
24518 return 0;
24519 }
24520 break;
24521 }
24522 case AArch64::BLRAA:
24523 case AArch64::BLRAB:
24524 case AArch64::BRAA:
24525 case AArch64::BRAB: {
24526 switch (OpNum) {
24527 case 0:
24528 // op: Rn
24529 return 5;
24530 case 1:
24531 // op: Rm
24532 return 0;
24533 }
24534 break;
24535 }
24536 case AArch64::CCMNWr:
24537 case AArch64::CCMNXr:
24538 case AArch64::CCMPWr:
24539 case AArch64::CCMPXr:
24540 case AArch64::FCCMPDrr:
24541 case AArch64::FCCMPEDrr:
24542 case AArch64::FCCMPEHrr:
24543 case AArch64::FCCMPESrr:
24544 case AArch64::FCCMPHrr:
24545 case AArch64::FCCMPSrr: {
24546 switch (OpNum) {
24547 case 0:
24548 // op: Rn
24549 return 5;
24550 case 1:
24551 // op: Rm
24552 return 16;
24553 case 2:
24554 // op: nzcv
24555 return 0;
24556 case 3:
24557 // op: cond
24558 return 12;
24559 }
24560 break;
24561 }
24562 case AArch64::RMIF: {
24563 switch (OpNum) {
24564 case 0:
24565 // op: Rn
24566 return 5;
24567 case 1:
24568 // op: imm
24569 return 15;
24570 case 2:
24571 // op: mask
24572 return 0;
24573 }
24574 break;
24575 }
24576 case AArch64::CCMNWi:
24577 case AArch64::CCMNXi:
24578 case AArch64::CCMPWi:
24579 case AArch64::CCMPXi: {
24580 switch (OpNum) {
24581 case 0:
24582 // op: Rn
24583 return 5;
24584 case 1:
24585 // op: imm
24586 return 16;
24587 case 2:
24588 // op: nzcv
24589 return 0;
24590 case 3:
24591 // op: cond
24592 return 12;
24593 }
24594 break;
24595 }
24596 case AArch64::AUTIASPPCr:
24597 case AArch64::AUTIBSPPCr:
24598 case AArch64::BLR:
24599 case AArch64::BLRAAZ:
24600 case AArch64::BLRABZ:
24601 case AArch64::BR:
24602 case AArch64::BRAAZ:
24603 case AArch64::BRABZ:
24604 case AArch64::FCMPDri:
24605 case AArch64::FCMPEDri:
24606 case AArch64::FCMPEHri:
24607 case AArch64::FCMPESri:
24608 case AArch64::FCMPHri:
24609 case AArch64::FCMPSri:
24610 case AArch64::RET:
24611 case AArch64::SETF16:
24612 case AArch64::SETF8: {
24613 switch (OpNum) {
24614 case 0:
24615 // op: Rn
24616 return 5;
24617 }
24618 break;
24619 }
24620 case AArch64::STBFADD:
24621 case AArch64::STBFADDL:
24622 case AArch64::STBFMAX:
24623 case AArch64::STBFMAXL:
24624 case AArch64::STBFMAXNM:
24625 case AArch64::STBFMAXNML:
24626 case AArch64::STBFMIN:
24627 case AArch64::STBFMINL:
24628 case AArch64::STBFMINNM:
24629 case AArch64::STBFMINNML:
24630 case AArch64::STFADDD:
24631 case AArch64::STFADDH:
24632 case AArch64::STFADDLD:
24633 case AArch64::STFADDLH:
24634 case AArch64::STFADDLS:
24635 case AArch64::STFADDS:
24636 case AArch64::STFMAXD:
24637 case AArch64::STFMAXH:
24638 case AArch64::STFMAXLD:
24639 case AArch64::STFMAXLH:
24640 case AArch64::STFMAXLS:
24641 case AArch64::STFMAXNMD:
24642 case AArch64::STFMAXNMH:
24643 case AArch64::STFMAXNMLD:
24644 case AArch64::STFMAXNMLH:
24645 case AArch64::STFMAXNMLS:
24646 case AArch64::STFMAXNMS:
24647 case AArch64::STFMAXS:
24648 case AArch64::STFMIND:
24649 case AArch64::STFMINH:
24650 case AArch64::STFMINLD:
24651 case AArch64::STFMINLH:
24652 case AArch64::STFMINLS:
24653 case AArch64::STFMINNMD:
24654 case AArch64::STFMINNMH:
24655 case AArch64::STFMINNMLD:
24656 case AArch64::STFMINNMLH:
24657 case AArch64::STFMINNMLS:
24658 case AArch64::STFMINNMS:
24659 case AArch64::STFMINS: {
24660 switch (OpNum) {
24661 case 0:
24662 // op: Rs
24663 return 16;
24664 case 1:
24665 // op: Rn
24666 return 5;
24667 }
24668 break;
24669 }
24670 case AArch64::LDRBBroW:
24671 case AArch64::LDRBBroX:
24672 case AArch64::LDRBroW:
24673 case AArch64::LDRBroX:
24674 case AArch64::LDRDroW:
24675 case AArch64::LDRDroX:
24676 case AArch64::LDRHHroW:
24677 case AArch64::LDRHHroX:
24678 case AArch64::LDRHroW:
24679 case AArch64::LDRHroX:
24680 case AArch64::LDRQroW:
24681 case AArch64::LDRQroX:
24682 case AArch64::LDRSBWroW:
24683 case AArch64::LDRSBWroX:
24684 case AArch64::LDRSBXroW:
24685 case AArch64::LDRSBXroX:
24686 case AArch64::LDRSHWroW:
24687 case AArch64::LDRSHWroX:
24688 case AArch64::LDRSHXroW:
24689 case AArch64::LDRSHXroX:
24690 case AArch64::LDRSWroW:
24691 case AArch64::LDRSWroX:
24692 case AArch64::LDRSroW:
24693 case AArch64::LDRSroX:
24694 case AArch64::LDRWroW:
24695 case AArch64::LDRWroX:
24696 case AArch64::LDRXroW:
24697 case AArch64::LDRXroX:
24698 case AArch64::PRFMroW:
24699 case AArch64::PRFMroX:
24700 case AArch64::STRBBroW:
24701 case AArch64::STRBBroX:
24702 case AArch64::STRBroW:
24703 case AArch64::STRBroX:
24704 case AArch64::STRDroW:
24705 case AArch64::STRDroX:
24706 case AArch64::STRHHroW:
24707 case AArch64::STRHHroX:
24708 case AArch64::STRHroW:
24709 case AArch64::STRHroX:
24710 case AArch64::STRQroW:
24711 case AArch64::STRQroX:
24712 case AArch64::STRSroW:
24713 case AArch64::STRSroX:
24714 case AArch64::STRWroW:
24715 case AArch64::STRWroX:
24716 case AArch64::STRXroW:
24717 case AArch64::STRXroX: {
24718 switch (OpNum) {
24719 case 0:
24720 // op: Rt
24721 return 0;
24722 case 1:
24723 // op: Rn
24724 return 5;
24725 case 2:
24726 // op: Rm
24727 return 16;
24728 case 3:
24729 // op: extend
24730 return 12;
24731 }
24732 break;
24733 }
24734 case AArch64::LDRBBui:
24735 case AArch64::LDRBui:
24736 case AArch64::LDRDui:
24737 case AArch64::LDRHHui:
24738 case AArch64::LDRHui:
24739 case AArch64::LDRQui:
24740 case AArch64::LDRSBWui:
24741 case AArch64::LDRSBXui:
24742 case AArch64::LDRSHWui:
24743 case AArch64::LDRSHXui:
24744 case AArch64::LDRSWui:
24745 case AArch64::LDRSui:
24746 case AArch64::LDRWui:
24747 case AArch64::LDRXui:
24748 case AArch64::PRFMui:
24749 case AArch64::STRBBui:
24750 case AArch64::STRBui:
24751 case AArch64::STRDui:
24752 case AArch64::STRHHui:
24753 case AArch64::STRHui:
24754 case AArch64::STRQui:
24755 case AArch64::STRSui:
24756 case AArch64::STRWui:
24757 case AArch64::STRXui: {
24758 switch (OpNum) {
24759 case 0:
24760 // op: Rt
24761 return 0;
24762 case 1:
24763 // op: Rn
24764 return 5;
24765 case 2:
24766 // op: offset
24767 return 10;
24768 }
24769 break;
24770 }
24771 case AArch64::LDAPURBi:
24772 case AArch64::LDAPURHi:
24773 case AArch64::LDAPURSBWi:
24774 case AArch64::LDAPURSBXi:
24775 case AArch64::LDAPURSHWi:
24776 case AArch64::LDAPURSHXi:
24777 case AArch64::LDAPURSWi:
24778 case AArch64::LDAPURXi:
24779 case AArch64::LDAPURi:
24780 case AArch64::LDTRBi:
24781 case AArch64::LDTRHi:
24782 case AArch64::LDTRSBWi:
24783 case AArch64::LDTRSBXi:
24784 case AArch64::LDTRSHWi:
24785 case AArch64::LDTRSHXi:
24786 case AArch64::LDTRSWi:
24787 case AArch64::LDTRWi:
24788 case AArch64::LDTRXi:
24789 case AArch64::LDURBBi:
24790 case AArch64::LDURBi:
24791 case AArch64::LDURDi:
24792 case AArch64::LDURHHi:
24793 case AArch64::LDURHi:
24794 case AArch64::LDURQi:
24795 case AArch64::LDURSBWi:
24796 case AArch64::LDURSBXi:
24797 case AArch64::LDURSHWi:
24798 case AArch64::LDURSHXi:
24799 case AArch64::LDURSWi:
24800 case AArch64::LDURSi:
24801 case AArch64::LDURWi:
24802 case AArch64::LDURXi:
24803 case AArch64::PRFUMi:
24804 case AArch64::STLURBi:
24805 case AArch64::STLURHi:
24806 case AArch64::STLURWi:
24807 case AArch64::STLURXi:
24808 case AArch64::STTRBi:
24809 case AArch64::STTRHi:
24810 case AArch64::STTRWi:
24811 case AArch64::STTRXi:
24812 case AArch64::STURBBi:
24813 case AArch64::STURBi:
24814 case AArch64::STURDi:
24815 case AArch64::STURHHi:
24816 case AArch64::STURHi:
24817 case AArch64::STURQi:
24818 case AArch64::STURSi:
24819 case AArch64::STURWi:
24820 case AArch64::STURXi: {
24821 switch (OpNum) {
24822 case 0:
24823 // op: Rt
24824 return 0;
24825 case 1:
24826 // op: Rn
24827 return 5;
24828 case 2:
24829 // op: offset
24830 return 12;
24831 }
24832 break;
24833 }
24834 case AArch64::LDAPURbi:
24835 case AArch64::LDAPURdi:
24836 case AArch64::LDAPURhi:
24837 case AArch64::LDAPURqi:
24838 case AArch64::LDAPURsi:
24839 case AArch64::STLURbi:
24840 case AArch64::STLURdi:
24841 case AArch64::STLURhi:
24842 case AArch64::STLURqi:
24843 case AArch64::STLURsi: {
24844 switch (OpNum) {
24845 case 0:
24846 // op: Rt
24847 return 0;
24848 case 1:
24849 // op: Rn
24850 return 5;
24851 case 2:
24852 // op: simm
24853 return 12;
24854 }
24855 break;
24856 }
24857 case AArch64::GCSSTR:
24858 case AArch64::GCSSTTR:
24859 case AArch64::LD64B:
24860 case AArch64::LDARB:
24861 case AArch64::LDARH:
24862 case AArch64::LDARW:
24863 case AArch64::LDARX:
24864 case AArch64::LDATXRW:
24865 case AArch64::LDATXRX:
24866 case AArch64::LDAXRB:
24867 case AArch64::LDAXRH:
24868 case AArch64::LDAXRW:
24869 case AArch64::LDAXRX:
24870 case AArch64::LDLARB:
24871 case AArch64::LDLARH:
24872 case AArch64::LDLARW:
24873 case AArch64::LDLARX:
24874 case AArch64::LDTXRWr:
24875 case AArch64::LDTXRXr:
24876 case AArch64::LDXRB:
24877 case AArch64::LDXRH:
24878 case AArch64::LDXRW:
24879 case AArch64::LDXRX:
24880 case AArch64::ST64B:
24881 case AArch64::STLLRB:
24882 case AArch64::STLLRH:
24883 case AArch64::STLLRW:
24884 case AArch64::STLLRX:
24885 case AArch64::STLRB:
24886 case AArch64::STLRH:
24887 case AArch64::STLRW:
24888 case AArch64::STLRX: {
24889 switch (OpNum) {
24890 case 0:
24891 // op: Rt
24892 return 0;
24893 case 1:
24894 // op: Rn
24895 return 5;
24896 }
24897 break;
24898 }
24899 case AArch64::LDBFADD:
24900 case AArch64::LDBFADDA:
24901 case AArch64::LDBFADDAL:
24902 case AArch64::LDBFADDL:
24903 case AArch64::LDBFMAX:
24904 case AArch64::LDBFMAXA:
24905 case AArch64::LDBFMAXAL:
24906 case AArch64::LDBFMAXL:
24907 case AArch64::LDBFMAXNM:
24908 case AArch64::LDBFMAXNMA:
24909 case AArch64::LDBFMAXNMAL:
24910 case AArch64::LDBFMAXNML:
24911 case AArch64::LDBFMIN:
24912 case AArch64::LDBFMINA:
24913 case AArch64::LDBFMINAL:
24914 case AArch64::LDBFMINL:
24915 case AArch64::LDBFMINNM:
24916 case AArch64::LDBFMINNMA:
24917 case AArch64::LDBFMINNMAL:
24918 case AArch64::LDBFMINNML:
24919 case AArch64::LDFADDAD:
24920 case AArch64::LDFADDAH:
24921 case AArch64::LDFADDALD:
24922 case AArch64::LDFADDALH:
24923 case AArch64::LDFADDALS:
24924 case AArch64::LDFADDAS:
24925 case AArch64::LDFADDD:
24926 case AArch64::LDFADDH:
24927 case AArch64::LDFADDLD:
24928 case AArch64::LDFADDLH:
24929 case AArch64::LDFADDLS:
24930 case AArch64::LDFADDS:
24931 case AArch64::LDFMAXAD:
24932 case AArch64::LDFMAXAH:
24933 case AArch64::LDFMAXALD:
24934 case AArch64::LDFMAXALH:
24935 case AArch64::LDFMAXALS:
24936 case AArch64::LDFMAXAS:
24937 case AArch64::LDFMAXD:
24938 case AArch64::LDFMAXH:
24939 case AArch64::LDFMAXLD:
24940 case AArch64::LDFMAXLH:
24941 case AArch64::LDFMAXLS:
24942 case AArch64::LDFMAXNMAD:
24943 case AArch64::LDFMAXNMAH:
24944 case AArch64::LDFMAXNMALD:
24945 case AArch64::LDFMAXNMALH:
24946 case AArch64::LDFMAXNMALS:
24947 case AArch64::LDFMAXNMAS:
24948 case AArch64::LDFMAXNMD:
24949 case AArch64::LDFMAXNMH:
24950 case AArch64::LDFMAXNMLD:
24951 case AArch64::LDFMAXNMLH:
24952 case AArch64::LDFMAXNMLS:
24953 case AArch64::LDFMAXNMS:
24954 case AArch64::LDFMAXS:
24955 case AArch64::LDFMINAD:
24956 case AArch64::LDFMINAH:
24957 case AArch64::LDFMINALD:
24958 case AArch64::LDFMINALH:
24959 case AArch64::LDFMINALS:
24960 case AArch64::LDFMINAS:
24961 case AArch64::LDFMIND:
24962 case AArch64::LDFMINH:
24963 case AArch64::LDFMINLD:
24964 case AArch64::LDFMINLH:
24965 case AArch64::LDFMINLS:
24966 case AArch64::LDFMINNMAD:
24967 case AArch64::LDFMINNMAH:
24968 case AArch64::LDFMINNMALD:
24969 case AArch64::LDFMINNMALH:
24970 case AArch64::LDFMINNMALS:
24971 case AArch64::LDFMINNMAS:
24972 case AArch64::LDFMINNMD:
24973 case AArch64::LDFMINNMH:
24974 case AArch64::LDFMINNMLD:
24975 case AArch64::LDFMINNMLH:
24976 case AArch64::LDFMINNMLS:
24977 case AArch64::LDFMINNMS:
24978 case AArch64::LDFMINS: {
24979 switch (OpNum) {
24980 case 0:
24981 // op: Rt
24982 return 0;
24983 case 1:
24984 // op: Rs
24985 return 16;
24986 case 2:
24987 // op: Rn
24988 return 5;
24989 }
24990 break;
24991 }
24992 case AArch64::LDNPDi:
24993 case AArch64::LDNPQi:
24994 case AArch64::LDNPSi:
24995 case AArch64::LDNPWi:
24996 case AArch64::LDNPXi:
24997 case AArch64::LDPDi:
24998 case AArch64::LDPQi:
24999 case AArch64::LDPSWi:
25000 case AArch64::LDPSi:
25001 case AArch64::LDPWi:
25002 case AArch64::LDPXi:
25003 case AArch64::LDTNPQi:
25004 case AArch64::LDTNPXi:
25005 case AArch64::LDTPQi:
25006 case AArch64::LDTPi:
25007 case AArch64::STGPi:
25008 case AArch64::STNPDi:
25009 case AArch64::STNPQi:
25010 case AArch64::STNPSi:
25011 case AArch64::STNPWi:
25012 case AArch64::STNPXi:
25013 case AArch64::STPDi:
25014 case AArch64::STPQi:
25015 case AArch64::STPSi:
25016 case AArch64::STPWi:
25017 case AArch64::STPXi:
25018 case AArch64::STTNPQi:
25019 case AArch64::STTNPXi:
25020 case AArch64::STTPQi:
25021 case AArch64::STTPi: {
25022 switch (OpNum) {
25023 case 0:
25024 // op: Rt
25025 return 0;
25026 case 1:
25027 // op: Rt2
25028 return 10;
25029 case 2:
25030 // op: Rn
25031 return 5;
25032 case 3:
25033 // op: offset
25034 return 15;
25035 }
25036 break;
25037 }
25038 case AArch64::LDAXPW:
25039 case AArch64::LDAXPX:
25040 case AArch64::LDXPW:
25041 case AArch64::LDXPX: {
25042 switch (OpNum) {
25043 case 0:
25044 // op: Rt
25045 return 0;
25046 case 1:
25047 // op: Rt2
25048 return 10;
25049 case 2:
25050 // op: Rn
25051 return 5;
25052 }
25053 break;
25054 }
25055 case AArch64::LDAPPi:
25056 case AArch64::LDAPi:
25057 case AArch64::STLPi: {
25058 switch (OpNum) {
25059 case 0:
25060 // op: Rt
25061 return 0;
25062 case 1:
25063 // op: Rt2
25064 return 16;
25065 case 2:
25066 // op: Rn
25067 return 5;
25068 }
25069 break;
25070 }
25071 case AArch64::TBNZW:
25072 case AArch64::TBNZX:
25073 case AArch64::TBZW:
25074 case AArch64::TBZX: {
25075 switch (OpNum) {
25076 case 0:
25077 // op: Rt
25078 return 0;
25079 case 1:
25080 // op: bit_off
25081 return 19;
25082 case 2:
25083 // op: target
25084 return 5;
25085 }
25086 break;
25087 }
25088 case AArch64::CBEQWri:
25089 case AArch64::CBEQXri:
25090 case AArch64::CBGTWri:
25091 case AArch64::CBGTXri:
25092 case AArch64::CBHIWri:
25093 case AArch64::CBHIXri:
25094 case AArch64::CBLOWri:
25095 case AArch64::CBLOXri:
25096 case AArch64::CBLTWri:
25097 case AArch64::CBLTXri:
25098 case AArch64::CBNEWri:
25099 case AArch64::CBNEXri: {
25100 switch (OpNum) {
25101 case 0:
25102 // op: Rt
25103 return 0;
25104 case 1:
25105 // op: imm
25106 return 15;
25107 case 2:
25108 // op: target
25109 return 5;
25110 }
25111 break;
25112 }
25113 case AArch64::LDRDl:
25114 case AArch64::LDRQl:
25115 case AArch64::LDRSWl:
25116 case AArch64::LDRSl:
25117 case AArch64::LDRWl:
25118 case AArch64::LDRXl:
25119 case AArch64::PRFMl: {
25120 switch (OpNum) {
25121 case 0:
25122 // op: Rt
25123 return 0;
25124 case 1:
25125 // op: label
25126 return 5;
25127 }
25128 break;
25129 }
25130 case AArch64::SYSLxt: {
25131 switch (OpNum) {
25132 case 0:
25133 // op: Rt
25134 return 0;
25135 case 1:
25136 // op: op1
25137 return 16;
25138 case 2:
25139 // op: Cn
25140 return 12;
25141 case 3:
25142 // op: Cm
25143 return 8;
25144 case 4:
25145 // op: op2
25146 return 5;
25147 }
25148 break;
25149 }
25150 case AArch64::MRRS:
25151 case AArch64::MRS: {
25152 switch (OpNum) {
25153 case 0:
25154 // op: Rt
25155 return 0;
25156 case 1:
25157 // op: systemreg
25158 return 5;
25159 }
25160 break;
25161 }
25162 case AArch64::CBNZW:
25163 case AArch64::CBNZX:
25164 case AArch64::CBZW:
25165 case AArch64::CBZX: {
25166 switch (OpNum) {
25167 case 0:
25168 // op: Rt
25169 return 0;
25170 case 1:
25171 // op: target
25172 return 5;
25173 }
25174 break;
25175 }
25176 case AArch64::RPRFM: {
25177 switch (OpNum) {
25178 case 0:
25179 // op: Rt
25180 return 0;
25181 case 2:
25182 // op: Rn
25183 return 5;
25184 case 1:
25185 // op: Rm
25186 return 16;
25187 }
25188 break;
25189 }
25190 case AArch64::LDIAPPW:
25191 case AArch64::LDIAPPX:
25192 case AArch64::STILPW:
25193 case AArch64::STILPX: {
25194 switch (OpNum) {
25195 case 0:
25196 // op: Rt
25197 return 0;
25198 case 2:
25199 // op: Rn
25200 return 5;
25201 case 1:
25202 // op: Rt2
25203 return 16;
25204 }
25205 break;
25206 }
25207 case AArch64::GCSPOPM:
25208 case AArch64::GCSPUSHM:
25209 case AArch64::GCSSS1:
25210 case AArch64::GCSSS2:
25211 case AArch64::WFET:
25212 case AArch64::WFIT: {
25213 switch (OpNum) {
25214 case 0:
25215 // op: Rt
25216 return 0;
25217 }
25218 break;
25219 }
25220 case AArch64::BCAX:
25221 case AArch64::EOR3:
25222 case AArch64::SM3SS1: {
25223 switch (OpNum) {
25224 case 0:
25225 // op: Vd
25226 return 0;
25227 case 1:
25228 // op: Vn
25229 return 5;
25230 case 2:
25231 // op: Vm
25232 return 16;
25233 case 3:
25234 // op: Va
25235 return 10;
25236 }
25237 break;
25238 }
25239 case AArch64::RAX1:
25240 case AArch64::SM4ENCKEY:
25241 case AArch64::TBLv16i8Four:
25242 case AArch64::TBLv16i8One:
25243 case AArch64::TBLv16i8Three:
25244 case AArch64::TBLv16i8Two:
25245 case AArch64::TBLv8i8Four:
25246 case AArch64::TBLv8i8One:
25247 case AArch64::TBLv8i8Three:
25248 case AArch64::TBLv8i8Two: {
25249 switch (OpNum) {
25250 case 0:
25251 // op: Vd
25252 return 0;
25253 case 1:
25254 // op: Vn
25255 return 5;
25256 case 2:
25257 // op: Vm
25258 return 16;
25259 }
25260 break;
25261 }
25262 case AArch64::XAR: {
25263 switch (OpNum) {
25264 case 0:
25265 // op: Vd
25266 return 0;
25267 case 1:
25268 // op: Vn
25269 return 5;
25270 case 3:
25271 // op: imm
25272 return 10;
25273 case 2:
25274 // op: Vm
25275 return 16;
25276 }
25277 break;
25278 }
25279 case AArch64::ADDQV_VPZ_B:
25280 case AArch64::ADDQV_VPZ_D:
25281 case AArch64::ADDQV_VPZ_H:
25282 case AArch64::ADDQV_VPZ_S:
25283 case AArch64::ANDQV_VPZ_B:
25284 case AArch64::ANDQV_VPZ_D:
25285 case AArch64::ANDQV_VPZ_H:
25286 case AArch64::ANDQV_VPZ_S:
25287 case AArch64::EORQV_VPZ_B:
25288 case AArch64::EORQV_VPZ_D:
25289 case AArch64::EORQV_VPZ_H:
25290 case AArch64::EORQV_VPZ_S:
25291 case AArch64::FADDQV_D:
25292 case AArch64::FADDQV_H:
25293 case AArch64::FADDQV_S:
25294 case AArch64::FMAXNMQV_D:
25295 case AArch64::FMAXNMQV_H:
25296 case AArch64::FMAXNMQV_S:
25297 case AArch64::FMAXQV_D:
25298 case AArch64::FMAXQV_H:
25299 case AArch64::FMAXQV_S:
25300 case AArch64::FMINNMQV_D:
25301 case AArch64::FMINNMQV_H:
25302 case AArch64::FMINNMQV_S:
25303 case AArch64::FMINQV_D:
25304 case AArch64::FMINQV_H:
25305 case AArch64::FMINQV_S:
25306 case AArch64::ORQV_VPZ_B:
25307 case AArch64::ORQV_VPZ_D:
25308 case AArch64::ORQV_VPZ_H:
25309 case AArch64::ORQV_VPZ_S:
25310 case AArch64::SMAXQV_VPZ_B:
25311 case AArch64::SMAXQV_VPZ_D:
25312 case AArch64::SMAXQV_VPZ_H:
25313 case AArch64::SMAXQV_VPZ_S:
25314 case AArch64::SMINQV_VPZ_B:
25315 case AArch64::SMINQV_VPZ_D:
25316 case AArch64::SMINQV_VPZ_H:
25317 case AArch64::SMINQV_VPZ_S:
25318 case AArch64::UMAXQV_VPZ_B:
25319 case AArch64::UMAXQV_VPZ_D:
25320 case AArch64::UMAXQV_VPZ_H:
25321 case AArch64::UMAXQV_VPZ_S:
25322 case AArch64::UMINQV_VPZ_B:
25323 case AArch64::UMINQV_VPZ_D:
25324 case AArch64::UMINQV_VPZ_H:
25325 case AArch64::UMINQV_VPZ_S: {
25326 switch (OpNum) {
25327 case 0:
25328 // op: Vd
25329 return 0;
25330 case 2:
25331 // op: Zn
25332 return 5;
25333 case 1:
25334 // op: Pg
25335 return 10;
25336 }
25337 break;
25338 }
25339 case AArch64::LD1Fourv16b:
25340 case AArch64::LD1Fourv1d:
25341 case AArch64::LD1Fourv2d:
25342 case AArch64::LD1Fourv2s:
25343 case AArch64::LD1Fourv4h:
25344 case AArch64::LD1Fourv4s:
25345 case AArch64::LD1Fourv8b:
25346 case AArch64::LD1Fourv8h:
25347 case AArch64::LD1Onev16b:
25348 case AArch64::LD1Onev1d:
25349 case AArch64::LD1Onev2d:
25350 case AArch64::LD1Onev2s:
25351 case AArch64::LD1Onev4h:
25352 case AArch64::LD1Onev4s:
25353 case AArch64::LD1Onev8b:
25354 case AArch64::LD1Onev8h:
25355 case AArch64::LD1Rv16b:
25356 case AArch64::LD1Rv1d:
25357 case AArch64::LD1Rv2d:
25358 case AArch64::LD1Rv2s:
25359 case AArch64::LD1Rv4h:
25360 case AArch64::LD1Rv4s:
25361 case AArch64::LD1Rv8b:
25362 case AArch64::LD1Rv8h:
25363 case AArch64::LD1Threev16b:
25364 case AArch64::LD1Threev1d:
25365 case AArch64::LD1Threev2d:
25366 case AArch64::LD1Threev2s:
25367 case AArch64::LD1Threev4h:
25368 case AArch64::LD1Threev4s:
25369 case AArch64::LD1Threev8b:
25370 case AArch64::LD1Threev8h:
25371 case AArch64::LD1Twov16b:
25372 case AArch64::LD1Twov1d:
25373 case AArch64::LD1Twov2d:
25374 case AArch64::LD1Twov2s:
25375 case AArch64::LD1Twov4h:
25376 case AArch64::LD1Twov4s:
25377 case AArch64::LD1Twov8b:
25378 case AArch64::LD1Twov8h:
25379 case AArch64::LD2Rv16b:
25380 case AArch64::LD2Rv1d:
25381 case AArch64::LD2Rv2d:
25382 case AArch64::LD2Rv2s:
25383 case AArch64::LD2Rv4h:
25384 case AArch64::LD2Rv4s:
25385 case AArch64::LD2Rv8b:
25386 case AArch64::LD2Rv8h:
25387 case AArch64::LD2Twov16b:
25388 case AArch64::LD2Twov2d:
25389 case AArch64::LD2Twov2s:
25390 case AArch64::LD2Twov4h:
25391 case AArch64::LD2Twov4s:
25392 case AArch64::LD2Twov8b:
25393 case AArch64::LD2Twov8h:
25394 case AArch64::LD3Rv16b:
25395 case AArch64::LD3Rv1d:
25396 case AArch64::LD3Rv2d:
25397 case AArch64::LD3Rv2s:
25398 case AArch64::LD3Rv4h:
25399 case AArch64::LD3Rv4s:
25400 case AArch64::LD3Rv8b:
25401 case AArch64::LD3Rv8h:
25402 case AArch64::LD3Threev16b:
25403 case AArch64::LD3Threev2d:
25404 case AArch64::LD3Threev2s:
25405 case AArch64::LD3Threev4h:
25406 case AArch64::LD3Threev4s:
25407 case AArch64::LD3Threev8b:
25408 case AArch64::LD3Threev8h:
25409 case AArch64::LD4Fourv16b:
25410 case AArch64::LD4Fourv2d:
25411 case AArch64::LD4Fourv2s:
25412 case AArch64::LD4Fourv4h:
25413 case AArch64::LD4Fourv4s:
25414 case AArch64::LD4Fourv8b:
25415 case AArch64::LD4Fourv8h:
25416 case AArch64::LD4Rv16b:
25417 case AArch64::LD4Rv1d:
25418 case AArch64::LD4Rv2d:
25419 case AArch64::LD4Rv2s:
25420 case AArch64::LD4Rv4h:
25421 case AArch64::LD4Rv4s:
25422 case AArch64::LD4Rv8b:
25423 case AArch64::LD4Rv8h:
25424 case AArch64::ST1Fourv16b:
25425 case AArch64::ST1Fourv1d:
25426 case AArch64::ST1Fourv2d:
25427 case AArch64::ST1Fourv2s:
25428 case AArch64::ST1Fourv4h:
25429 case AArch64::ST1Fourv4s:
25430 case AArch64::ST1Fourv8b:
25431 case AArch64::ST1Fourv8h:
25432 case AArch64::ST1Onev16b:
25433 case AArch64::ST1Onev1d:
25434 case AArch64::ST1Onev2d:
25435 case AArch64::ST1Onev2s:
25436 case AArch64::ST1Onev4h:
25437 case AArch64::ST1Onev4s:
25438 case AArch64::ST1Onev8b:
25439 case AArch64::ST1Onev8h:
25440 case AArch64::ST1Threev16b:
25441 case AArch64::ST1Threev1d:
25442 case AArch64::ST1Threev2d:
25443 case AArch64::ST1Threev2s:
25444 case AArch64::ST1Threev4h:
25445 case AArch64::ST1Threev4s:
25446 case AArch64::ST1Threev8b:
25447 case AArch64::ST1Threev8h:
25448 case AArch64::ST1Twov16b:
25449 case AArch64::ST1Twov1d:
25450 case AArch64::ST1Twov2d:
25451 case AArch64::ST1Twov2s:
25452 case AArch64::ST1Twov4h:
25453 case AArch64::ST1Twov4s:
25454 case AArch64::ST1Twov8b:
25455 case AArch64::ST1Twov8h:
25456 case AArch64::ST2Twov16b:
25457 case AArch64::ST2Twov2d:
25458 case AArch64::ST2Twov2s:
25459 case AArch64::ST2Twov4h:
25460 case AArch64::ST2Twov4s:
25461 case AArch64::ST2Twov8b:
25462 case AArch64::ST2Twov8h:
25463 case AArch64::ST3Threev16b:
25464 case AArch64::ST3Threev2d:
25465 case AArch64::ST3Threev2s:
25466 case AArch64::ST3Threev4h:
25467 case AArch64::ST3Threev4s:
25468 case AArch64::ST3Threev8b:
25469 case AArch64::ST3Threev8h:
25470 case AArch64::ST4Fourv16b:
25471 case AArch64::ST4Fourv2d:
25472 case AArch64::ST4Fourv2s:
25473 case AArch64::ST4Fourv4h:
25474 case AArch64::ST4Fourv4s:
25475 case AArch64::ST4Fourv8b:
25476 case AArch64::ST4Fourv8h: {
25477 switch (OpNum) {
25478 case 0:
25479 // op: Vt
25480 return 0;
25481 case 1:
25482 // op: Rn
25483 return 5;
25484 }
25485 break;
25486 }
25487 case AArch64::STL1: {
25488 switch (OpNum) {
25489 case 0:
25490 // op: Vt
25491 return 0;
25492 case 2:
25493 // op: Rn
25494 return 5;
25495 case 1:
25496 // op: Q
25497 return 30;
25498 }
25499 break;
25500 }
25501 case AArch64::ST1i8:
25502 case AArch64::ST2i8:
25503 case AArch64::ST3i8:
25504 case AArch64::ST4i8: {
25505 switch (OpNum) {
25506 case 0:
25507 // op: Vt
25508 return 0;
25509 case 2:
25510 // op: Rn
25511 return 5;
25512 case 1:
25513 // op: idx
25514 return 10;
25515 }
25516 break;
25517 }
25518 case AArch64::ST1i16:
25519 case AArch64::ST2i16:
25520 case AArch64::ST3i16:
25521 case AArch64::ST4i16: {
25522 switch (OpNum) {
25523 case 0:
25524 // op: Vt
25525 return 0;
25526 case 2:
25527 // op: Rn
25528 return 5;
25529 case 1:
25530 // op: idx
25531 return 11;
25532 }
25533 break;
25534 }
25535 case AArch64::ST1i32:
25536 case AArch64::ST2i32:
25537 case AArch64::ST3i32:
25538 case AArch64::ST4i32: {
25539 switch (OpNum) {
25540 case 0:
25541 // op: Vt
25542 return 0;
25543 case 2:
25544 // op: Rn
25545 return 5;
25546 case 1:
25547 // op: idx
25548 return 12;
25549 }
25550 break;
25551 }
25552 case AArch64::ST1i64:
25553 case AArch64::ST2i64:
25554 case AArch64::ST3i64:
25555 case AArch64::ST4i64: {
25556 switch (OpNum) {
25557 case 0:
25558 // op: Vt
25559 return 0;
25560 case 2:
25561 // op: Rn
25562 return 5;
25563 case 1:
25564 // op: idx
25565 return 30;
25566 }
25567 break;
25568 }
25569 case AArch64::STLTXRW:
25570 case AArch64::STLTXRX:
25571 case AArch64::STLXRB:
25572 case AArch64::STLXRH:
25573 case AArch64::STLXRW:
25574 case AArch64::STLXRX:
25575 case AArch64::STXRB:
25576 case AArch64::STXRH:
25577 case AArch64::STXRW:
25578 case AArch64::STXRX: {
25579 switch (OpNum) {
25580 case 0:
25581 // op: Ws
25582 return 16;
25583 case 1:
25584 // op: Rt
25585 return 0;
25586 case 2:
25587 // op: Rn
25588 return 5;
25589 }
25590 break;
25591 }
25592 case AArch64::STLXPW:
25593 case AArch64::STLXPX:
25594 case AArch64::STXPW:
25595 case AArch64::STXPX: {
25596 switch (OpNum) {
25597 case 0:
25598 // op: Ws
25599 return 16;
25600 case 1:
25601 // op: Rt
25602 return 0;
25603 case 2:
25604 // op: Rt2
25605 return 10;
25606 case 3:
25607 // op: Rn
25608 return 5;
25609 }
25610 break;
25611 }
25612 case AArch64::TCHANGEBrr:
25613 case AArch64::TCHANGEFrr: {
25614 switch (OpNum) {
25615 case 0:
25616 // op: Xd
25617 return 0;
25618 case 1:
25619 // op: Xn
25620 return 5;
25621 case 2:
25622 // op: nb
25623 return 17;
25624 }
25625 break;
25626 }
25627 case AArch64::TCHANGEBri:
25628 case AArch64::TCHANGEFri: {
25629 switch (OpNum) {
25630 case 0:
25631 // op: Xd
25632 return 0;
25633 case 1:
25634 // op: imm
25635 return 5;
25636 case 2:
25637 // op: nb
25638 return 17;
25639 }
25640 break;
25641 }
25642 case AArch64::ADR:
25643 case AArch64::ADRP: {
25644 switch (OpNum) {
25645 case 0:
25646 // op: Xd
25647 return 0;
25648 case 1:
25649 // op: label
25650 return 5;
25651 }
25652 break;
25653 }
25654 case AArch64::BFTMOPA_M2ZZZI_HtoH:
25655 case AArch64::BFTMOPA_M2ZZZI_HtoS:
25656 case AArch64::FTMOPA_M2ZZZI_BtoH:
25657 case AArch64::FTMOPA_M2ZZZI_BtoS:
25658 case AArch64::FTMOPA_M2ZZZI_HtoH:
25659 case AArch64::FTMOPA_M2ZZZI_HtoS:
25660 case AArch64::FTMOPA_M2ZZZI_StoS:
25661 case AArch64::STMOPA_M2ZZZI_BtoS:
25662 case AArch64::STMOPA_M2ZZZI_HtoS:
25663 case AArch64::SUTMOPA_M2ZZZI_BtoS:
25664 case AArch64::USTMOPA_M2ZZZI_BtoS:
25665 case AArch64::UTMOPA_M2ZZZI_BtoS:
25666 case AArch64::UTMOPA_M2ZZZI_HtoS: {
25667 switch (OpNum) {
25668 case 0:
25669 // op: ZAda
25670 return 0;
25671 case 2:
25672 // op: Zn
25673 return 6;
25674 case 3:
25675 // op: Zm
25676 return 16;
25677 case 4:
25678 // op: Zk
25679 return 10;
25680 case 5:
25681 // op: imm
25682 return 4;
25683 }
25684 break;
25685 }
25686 case AArch64::BFMOP4A_M2Z2Z_H:
25687 case AArch64::BFMOP4A_M2Z2Z_S:
25688 case AArch64::BFMOP4A_M2ZZ_H:
25689 case AArch64::BFMOP4A_M2ZZ_S:
25690 case AArch64::BFMOP4A_MZ2Z_H:
25691 case AArch64::BFMOP4A_MZ2Z_S:
25692 case AArch64::BFMOP4A_MZZ_H:
25693 case AArch64::BFMOP4A_MZZ_S:
25694 case AArch64::BFMOP4S_M2Z2Z_H:
25695 case AArch64::BFMOP4S_M2Z2Z_S:
25696 case AArch64::BFMOP4S_M2ZZ_H:
25697 case AArch64::BFMOP4S_M2ZZ_S:
25698 case AArch64::BFMOP4S_MZ2Z_H:
25699 case AArch64::BFMOP4S_MZ2Z_S:
25700 case AArch64::BFMOP4S_MZZ_H:
25701 case AArch64::BFMOP4S_MZZ_S:
25702 case AArch64::FMOP4A_M2Z2Z_BtoH:
25703 case AArch64::FMOP4A_M2Z2Z_BtoS:
25704 case AArch64::FMOP4A_M2Z2Z_D:
25705 case AArch64::FMOP4A_M2Z2Z_H:
25706 case AArch64::FMOP4A_M2Z2Z_HtoS:
25707 case AArch64::FMOP4A_M2Z2Z_S:
25708 case AArch64::FMOP4A_M2ZZ_BtoH:
25709 case AArch64::FMOP4A_M2ZZ_BtoS:
25710 case AArch64::FMOP4A_M2ZZ_D:
25711 case AArch64::FMOP4A_M2ZZ_H:
25712 case AArch64::FMOP4A_M2ZZ_HtoS:
25713 case AArch64::FMOP4A_M2ZZ_S:
25714 case AArch64::FMOP4A_MZ2Z_BtoH:
25715 case AArch64::FMOP4A_MZ2Z_BtoS:
25716 case AArch64::FMOP4A_MZ2Z_D:
25717 case AArch64::FMOP4A_MZ2Z_H:
25718 case AArch64::FMOP4A_MZ2Z_HtoS:
25719 case AArch64::FMOP4A_MZ2Z_S:
25720 case AArch64::FMOP4A_MZZ_BtoH:
25721 case AArch64::FMOP4A_MZZ_BtoS:
25722 case AArch64::FMOP4A_MZZ_D:
25723 case AArch64::FMOP4A_MZZ_H:
25724 case AArch64::FMOP4A_MZZ_HtoS:
25725 case AArch64::FMOP4A_MZZ_S:
25726 case AArch64::FMOP4S_M2Z2Z_D:
25727 case AArch64::FMOP4S_M2Z2Z_H:
25728 case AArch64::FMOP4S_M2Z2Z_HtoS:
25729 case AArch64::FMOP4S_M2Z2Z_S:
25730 case AArch64::FMOP4S_M2ZZ_D:
25731 case AArch64::FMOP4S_M2ZZ_H:
25732 case AArch64::FMOP4S_M2ZZ_HtoS:
25733 case AArch64::FMOP4S_M2ZZ_S:
25734 case AArch64::FMOP4S_MZ2Z_D:
25735 case AArch64::FMOP4S_MZ2Z_H:
25736 case AArch64::FMOP4S_MZ2Z_HtoS:
25737 case AArch64::FMOP4S_MZ2Z_S:
25738 case AArch64::FMOP4S_MZZ_D:
25739 case AArch64::FMOP4S_MZZ_H:
25740 case AArch64::FMOP4S_MZZ_HtoS:
25741 case AArch64::FMOP4S_MZZ_S:
25742 case AArch64::SMOP4A_M2Z2Z_BToS:
25743 case AArch64::SMOP4A_M2Z2Z_HToS:
25744 case AArch64::SMOP4A_M2Z2Z_HtoD:
25745 case AArch64::SMOP4A_M2ZZ_BToS:
25746 case AArch64::SMOP4A_M2ZZ_HToS:
25747 case AArch64::SMOP4A_M2ZZ_HtoD:
25748 case AArch64::SMOP4A_MZ2Z_BToS:
25749 case AArch64::SMOP4A_MZ2Z_HToS:
25750 case AArch64::SMOP4A_MZ2Z_HtoD:
25751 case AArch64::SMOP4A_MZZ_BToS:
25752 case AArch64::SMOP4A_MZZ_HToS:
25753 case AArch64::SMOP4A_MZZ_HtoD:
25754 case AArch64::SMOP4S_M2Z2Z_BToS:
25755 case AArch64::SMOP4S_M2Z2Z_HToS:
25756 case AArch64::SMOP4S_M2Z2Z_HtoD:
25757 case AArch64::SMOP4S_M2ZZ_BToS:
25758 case AArch64::SMOP4S_M2ZZ_HToS:
25759 case AArch64::SMOP4S_M2ZZ_HtoD:
25760 case AArch64::SMOP4S_MZ2Z_BToS:
25761 case AArch64::SMOP4S_MZ2Z_HToS:
25762 case AArch64::SMOP4S_MZ2Z_HtoD:
25763 case AArch64::SMOP4S_MZZ_BToS:
25764 case AArch64::SMOP4S_MZZ_HToS:
25765 case AArch64::SMOP4S_MZZ_HtoD:
25766 case AArch64::SUMOP4A_M2Z2Z_BToS:
25767 case AArch64::SUMOP4A_M2Z2Z_HtoD:
25768 case AArch64::SUMOP4A_M2ZZ_BToS:
25769 case AArch64::SUMOP4A_M2ZZ_HtoD:
25770 case AArch64::SUMOP4A_MZ2Z_BToS:
25771 case AArch64::SUMOP4A_MZ2Z_HtoD:
25772 case AArch64::SUMOP4A_MZZ_BToS:
25773 case AArch64::SUMOP4A_MZZ_HtoD:
25774 case AArch64::SUMOP4S_M2Z2Z_BToS:
25775 case AArch64::SUMOP4S_M2Z2Z_HtoD:
25776 case AArch64::SUMOP4S_M2ZZ_BToS:
25777 case AArch64::SUMOP4S_M2ZZ_HtoD:
25778 case AArch64::SUMOP4S_MZ2Z_BToS:
25779 case AArch64::SUMOP4S_MZ2Z_HtoD:
25780 case AArch64::SUMOP4S_MZZ_BToS:
25781 case AArch64::SUMOP4S_MZZ_HtoD:
25782 case AArch64::UMOP4A_M2Z2Z_BToS:
25783 case AArch64::UMOP4A_M2Z2Z_HToS:
25784 case AArch64::UMOP4A_M2Z2Z_HtoD:
25785 case AArch64::UMOP4A_M2ZZ_BToS:
25786 case AArch64::UMOP4A_M2ZZ_HToS:
25787 case AArch64::UMOP4A_M2ZZ_HtoD:
25788 case AArch64::UMOP4A_MZ2Z_BToS:
25789 case AArch64::UMOP4A_MZ2Z_HToS:
25790 case AArch64::UMOP4A_MZ2Z_HtoD:
25791 case AArch64::UMOP4A_MZZ_BToS:
25792 case AArch64::UMOP4A_MZZ_HToS:
25793 case AArch64::UMOP4A_MZZ_HtoD:
25794 case AArch64::UMOP4S_M2Z2Z_BToS:
25795 case AArch64::UMOP4S_M2Z2Z_HToS:
25796 case AArch64::UMOP4S_M2Z2Z_HtoD:
25797 case AArch64::UMOP4S_M2ZZ_BToS:
25798 case AArch64::UMOP4S_M2ZZ_HToS:
25799 case AArch64::UMOP4S_M2ZZ_HtoD:
25800 case AArch64::UMOP4S_MZ2Z_BToS:
25801 case AArch64::UMOP4S_MZ2Z_HToS:
25802 case AArch64::UMOP4S_MZ2Z_HtoD:
25803 case AArch64::UMOP4S_MZZ_BToS:
25804 case AArch64::UMOP4S_MZZ_HToS:
25805 case AArch64::UMOP4S_MZZ_HtoD:
25806 case AArch64::USMOP4A_M2Z2Z_BToS:
25807 case AArch64::USMOP4A_M2Z2Z_HtoD:
25808 case AArch64::USMOP4A_M2ZZ_BToS:
25809 case AArch64::USMOP4A_M2ZZ_HtoD:
25810 case AArch64::USMOP4A_MZ2Z_BToS:
25811 case AArch64::USMOP4A_MZ2Z_HtoD:
25812 case AArch64::USMOP4A_MZZ_BToS:
25813 case AArch64::USMOP4A_MZZ_HtoD:
25814 case AArch64::USMOP4S_M2Z2Z_BToS:
25815 case AArch64::USMOP4S_M2Z2Z_HtoD:
25816 case AArch64::USMOP4S_M2ZZ_BToS:
25817 case AArch64::USMOP4S_M2ZZ_HtoD:
25818 case AArch64::USMOP4S_MZ2Z_BToS:
25819 case AArch64::USMOP4S_MZ2Z_HtoD:
25820 case AArch64::USMOP4S_MZZ_BToS:
25821 case AArch64::USMOP4S_MZZ_HtoD: {
25822 switch (OpNum) {
25823 case 0:
25824 // op: ZAda
25825 return 0;
25826 case 2:
25827 // op: Zn
25828 return 6;
25829 case 3:
25830 // op: Zm
25831 return 17;
25832 }
25833 break;
25834 }
25835 case AArch64::RBIT_ZPzZ_B:
25836 case AArch64::RBIT_ZPzZ_D:
25837 case AArch64::RBIT_ZPzZ_H:
25838 case AArch64::RBIT_ZPzZ_S:
25839 case AArch64::REVB_ZPzZ_D:
25840 case AArch64::REVB_ZPzZ_H:
25841 case AArch64::REVB_ZPzZ_S:
25842 case AArch64::REVD_ZPzZ:
25843 case AArch64::REVH_ZPzZ_D:
25844 case AArch64::REVH_ZPzZ_S:
25845 case AArch64::REVW_ZPzZ_D: {
25846 switch (OpNum) {
25847 case 0:
25848 // op: Zd
25849 return 0;
25850 case 1:
25851 // op: Pg
25852 return 10;
25853 case 2:
25854 // op: Zn
25855 return 5;
25856 }
25857 break;
25858 }
25859 case AArch64::CPY_ZPzI_B:
25860 case AArch64::CPY_ZPzI_D:
25861 case AArch64::CPY_ZPzI_H:
25862 case AArch64::CPY_ZPzI_S: {
25863 switch (OpNum) {
25864 case 0:
25865 // op: Zd
25866 return 0;
25867 case 1:
25868 // op: Pg
25869 return 16;
25870 case 2:
25871 // op: imm
25872 return 5;
25873 }
25874 break;
25875 }
25876 case AArch64::LUTI6_S_4Z2Z2ZI: {
25877 switch (OpNum) {
25878 case 0:
25879 // op: Zd
25880 return 0;
25881 case 1:
25882 // op: Zn
25883 return 5;
25884 case 2:
25885 // op: Zm
25886 return 16;
25887 case 3:
25888 // op: i1
25889 return 22;
25890 }
25891 break;
25892 }
25893 case AArch64::LUTI2_ZZZI_H: {
25894 switch (OpNum) {
25895 case 0:
25896 // op: Zd
25897 return 0;
25898 case 1:
25899 // op: Zn
25900 return 5;
25901 case 2:
25902 // op: Zm
25903 return 16;
25904 case 3:
25905 // op: idx
25906 return 12;
25907 }
25908 break;
25909 }
25910 case AArch64::LUTI2_ZZZI_B:
25911 case AArch64::LUTI4_Z2ZZI:
25912 case AArch64::LUTI4_ZZZI_H: {
25913 switch (OpNum) {
25914 case 0:
25915 // op: Zd
25916 return 0;
25917 case 1:
25918 // op: Zn
25919 return 5;
25920 case 2:
25921 // op: Zm
25922 return 16;
25923 case 3:
25924 // op: idx
25925 return 22;
25926 }
25927 break;
25928 }
25929 case AArch64::LUTI4_ZZZI_B:
25930 case AArch64::LUTI6_Z2ZZI_H: {
25931 switch (OpNum) {
25932 case 0:
25933 // op: Zd
25934 return 0;
25935 case 1:
25936 // op: Zn
25937 return 5;
25938 case 2:
25939 // op: Zm
25940 return 16;
25941 case 3:
25942 // op: idx
25943 return 23;
25944 }
25945 break;
25946 }
25947 case AArch64::SMULLB_ZZZI_D:
25948 case AArch64::SMULLB_ZZZI_S:
25949 case AArch64::SMULLT_ZZZI_D:
25950 case AArch64::SMULLT_ZZZI_S:
25951 case AArch64::SQDMULLB_ZZZI_D:
25952 case AArch64::SQDMULLB_ZZZI_S:
25953 case AArch64::SQDMULLT_ZZZI_D:
25954 case AArch64::SQDMULLT_ZZZI_S:
25955 case AArch64::UMULLB_ZZZI_D:
25956 case AArch64::UMULLB_ZZZI_S:
25957 case AArch64::UMULLT_ZZZI_D:
25958 case AArch64::UMULLT_ZZZI_S: {
25959 switch (OpNum) {
25960 case 0:
25961 // op: Zd
25962 return 0;
25963 case 1:
25964 // op: Zn
25965 return 5;
25966 case 2:
25967 // op: Zm
25968 return 16;
25969 case 3:
25970 // op: iop
25971 return 11;
25972 }
25973 break;
25974 }
25975 case AArch64::BFMUL_ZZZI:
25976 case AArch64::FMUL_ZZZI_H:
25977 case AArch64::FMUL_ZZZI_S:
25978 case AArch64::MUL_ZZZI_H:
25979 case AArch64::MUL_ZZZI_S:
25980 case AArch64::SQDMULH_ZZZI_H:
25981 case AArch64::SQDMULH_ZZZI_S:
25982 case AArch64::SQRDMULH_ZZZI_H:
25983 case AArch64::SQRDMULH_ZZZI_S: {
25984 switch (OpNum) {
25985 case 0:
25986 // op: Zd
25987 return 0;
25988 case 1:
25989 // op: Zn
25990 return 5;
25991 case 2:
25992 // op: Zm
25993 return 16;
25994 case 3:
25995 // op: iop
25996 return 19;
25997 }
25998 break;
25999 }
26000 case AArch64::FMUL_ZZZI_D:
26001 case AArch64::MUL_ZZZI_D:
26002 case AArch64::SQDMULH_ZZZI_D:
26003 case AArch64::SQRDMULH_ZZZI_D: {
26004 switch (OpNum) {
26005 case 0:
26006 // op: Zd
26007 return 0;
26008 case 1:
26009 // op: Zn
26010 return 5;
26011 case 2:
26012 // op: Zm
26013 return 16;
26014 case 3:
26015 // op: iop
26016 return 20;
26017 }
26018 break;
26019 }
26020 case AArch64::ADDHNB_ZZZ_B:
26021 case AArch64::ADDHNB_ZZZ_H:
26022 case AArch64::ADDHNB_ZZZ_S:
26023 case AArch64::ADR_LSL_ZZZ_D_0:
26024 case AArch64::ADR_LSL_ZZZ_D_1:
26025 case AArch64::ADR_LSL_ZZZ_D_2:
26026 case AArch64::ADR_LSL_ZZZ_D_3:
26027 case AArch64::ADR_LSL_ZZZ_S_0:
26028 case AArch64::ADR_LSL_ZZZ_S_1:
26029 case AArch64::ADR_LSL_ZZZ_S_2:
26030 case AArch64::ADR_LSL_ZZZ_S_3:
26031 case AArch64::ADR_SXTW_ZZZ_D_0:
26032 case AArch64::ADR_SXTW_ZZZ_D_1:
26033 case AArch64::ADR_SXTW_ZZZ_D_2:
26034 case AArch64::ADR_SXTW_ZZZ_D_3:
26035 case AArch64::ADR_UXTW_ZZZ_D_0:
26036 case AArch64::ADR_UXTW_ZZZ_D_1:
26037 case AArch64::ADR_UXTW_ZZZ_D_2:
26038 case AArch64::ADR_UXTW_ZZZ_D_3:
26039 case AArch64::BDEP_ZZZ_B:
26040 case AArch64::BDEP_ZZZ_D:
26041 case AArch64::BDEP_ZZZ_H:
26042 case AArch64::BDEP_ZZZ_S:
26043 case AArch64::BEXT_ZZZ_B:
26044 case AArch64::BEXT_ZZZ_D:
26045 case AArch64::BEXT_ZZZ_H:
26046 case AArch64::BEXT_ZZZ_S:
26047 case AArch64::BGRP_ZZZ_B:
26048 case AArch64::BGRP_ZZZ_D:
26049 case AArch64::BGRP_ZZZ_H:
26050 case AArch64::BGRP_ZZZ_S:
26051 case AArch64::HISTSEG_ZZZ:
26052 case AArch64::LUTI6_Z2ZZ:
26053 case AArch64::PMULLB_ZZZ_D:
26054 case AArch64::PMULLB_ZZZ_H:
26055 case AArch64::PMULLB_ZZZ_Q:
26056 case AArch64::PMULLT_ZZZ_D:
26057 case AArch64::PMULLT_ZZZ_H:
26058 case AArch64::PMULLT_ZZZ_Q:
26059 case AArch64::RADDHNB_ZZZ_B:
26060 case AArch64::RADDHNB_ZZZ_H:
26061 case AArch64::RADDHNB_ZZZ_S:
26062 case AArch64::RAX1_ZZZ_D:
26063 case AArch64::RSUBHNB_ZZZ_B:
26064 case AArch64::RSUBHNB_ZZZ_H:
26065 case AArch64::RSUBHNB_ZZZ_S:
26066 case AArch64::SABDLB_ZZZ_D:
26067 case AArch64::SABDLB_ZZZ_H:
26068 case AArch64::SABDLB_ZZZ_S:
26069 case AArch64::SABDLT_ZZZ_D:
26070 case AArch64::SABDLT_ZZZ_H:
26071 case AArch64::SABDLT_ZZZ_S:
26072 case AArch64::SADDLBT_ZZZ_D:
26073 case AArch64::SADDLBT_ZZZ_H:
26074 case AArch64::SADDLBT_ZZZ_S:
26075 case AArch64::SADDLB_ZZZ_D:
26076 case AArch64::SADDLB_ZZZ_H:
26077 case AArch64::SADDLB_ZZZ_S:
26078 case AArch64::SADDLT_ZZZ_D:
26079 case AArch64::SADDLT_ZZZ_H:
26080 case AArch64::SADDLT_ZZZ_S:
26081 case AArch64::SADDWB_ZZZ_D:
26082 case AArch64::SADDWB_ZZZ_H:
26083 case AArch64::SADDWB_ZZZ_S:
26084 case AArch64::SADDWT_ZZZ_D:
26085 case AArch64::SADDWT_ZZZ_H:
26086 case AArch64::SADDWT_ZZZ_S:
26087 case AArch64::SM4EKEY_ZZZ_S:
26088 case AArch64::SMULLB_ZZZ_D:
26089 case AArch64::SMULLB_ZZZ_H:
26090 case AArch64::SMULLB_ZZZ_S:
26091 case AArch64::SMULLT_ZZZ_D:
26092 case AArch64::SMULLT_ZZZ_H:
26093 case AArch64::SMULLT_ZZZ_S:
26094 case AArch64::SQDMULLB_ZZZ_D:
26095 case AArch64::SQDMULLB_ZZZ_H:
26096 case AArch64::SQDMULLB_ZZZ_S:
26097 case AArch64::SQDMULLT_ZZZ_D:
26098 case AArch64::SQDMULLT_ZZZ_H:
26099 case AArch64::SQDMULLT_ZZZ_S:
26100 case AArch64::SSUBLBT_ZZZ_D:
26101 case AArch64::SSUBLBT_ZZZ_H:
26102 case AArch64::SSUBLBT_ZZZ_S:
26103 case AArch64::SSUBLB_ZZZ_D:
26104 case AArch64::SSUBLB_ZZZ_H:
26105 case AArch64::SSUBLB_ZZZ_S:
26106 case AArch64::SSUBLTB_ZZZ_D:
26107 case AArch64::SSUBLTB_ZZZ_H:
26108 case AArch64::SSUBLTB_ZZZ_S:
26109 case AArch64::SSUBLT_ZZZ_D:
26110 case AArch64::SSUBLT_ZZZ_H:
26111 case AArch64::SSUBLT_ZZZ_S:
26112 case AArch64::SSUBWB_ZZZ_D:
26113 case AArch64::SSUBWB_ZZZ_H:
26114 case AArch64::SSUBWB_ZZZ_S:
26115 case AArch64::SSUBWT_ZZZ_D:
26116 case AArch64::SSUBWT_ZZZ_H:
26117 case AArch64::SSUBWT_ZZZ_S:
26118 case AArch64::SUBHNB_ZZZ_B:
26119 case AArch64::SUBHNB_ZZZ_H:
26120 case AArch64::SUBHNB_ZZZ_S:
26121 case AArch64::TBLQ_ZZZ_B:
26122 case AArch64::TBLQ_ZZZ_D:
26123 case AArch64::TBLQ_ZZZ_H:
26124 case AArch64::TBLQ_ZZZ_S:
26125 case AArch64::UABDLB_ZZZ_D:
26126 case AArch64::UABDLB_ZZZ_H:
26127 case AArch64::UABDLB_ZZZ_S:
26128 case AArch64::UABDLT_ZZZ_D:
26129 case AArch64::UABDLT_ZZZ_H:
26130 case AArch64::UABDLT_ZZZ_S:
26131 case AArch64::UADDLB_ZZZ_D:
26132 case AArch64::UADDLB_ZZZ_H:
26133 case AArch64::UADDLB_ZZZ_S:
26134 case AArch64::UADDLT_ZZZ_D:
26135 case AArch64::UADDLT_ZZZ_H:
26136 case AArch64::UADDLT_ZZZ_S:
26137 case AArch64::UADDWB_ZZZ_D:
26138 case AArch64::UADDWB_ZZZ_H:
26139 case AArch64::UADDWB_ZZZ_S:
26140 case AArch64::UADDWT_ZZZ_D:
26141 case AArch64::UADDWT_ZZZ_H:
26142 case AArch64::UADDWT_ZZZ_S:
26143 case AArch64::UMULLB_ZZZ_D:
26144 case AArch64::UMULLB_ZZZ_H:
26145 case AArch64::UMULLB_ZZZ_S:
26146 case AArch64::UMULLT_ZZZ_D:
26147 case AArch64::UMULLT_ZZZ_H:
26148 case AArch64::UMULLT_ZZZ_S:
26149 case AArch64::USUBLB_ZZZ_D:
26150 case AArch64::USUBLB_ZZZ_H:
26151 case AArch64::USUBLB_ZZZ_S:
26152 case AArch64::USUBLT_ZZZ_D:
26153 case AArch64::USUBLT_ZZZ_H:
26154 case AArch64::USUBLT_ZZZ_S:
26155 case AArch64::USUBWB_ZZZ_D:
26156 case AArch64::USUBWB_ZZZ_H:
26157 case AArch64::USUBWB_ZZZ_S:
26158 case AArch64::USUBWT_ZZZ_D:
26159 case AArch64::USUBWT_ZZZ_H:
26160 case AArch64::USUBWT_ZZZ_S:
26161 case AArch64::UZPQ1_ZZZ_B:
26162 case AArch64::UZPQ1_ZZZ_D:
26163 case AArch64::UZPQ1_ZZZ_H:
26164 case AArch64::UZPQ1_ZZZ_S:
26165 case AArch64::UZPQ2_ZZZ_B:
26166 case AArch64::UZPQ2_ZZZ_D:
26167 case AArch64::UZPQ2_ZZZ_H:
26168 case AArch64::UZPQ2_ZZZ_S:
26169 case AArch64::ZIPQ1_ZZZ_B:
26170 case AArch64::ZIPQ1_ZZZ_D:
26171 case AArch64::ZIPQ1_ZZZ_H:
26172 case AArch64::ZIPQ1_ZZZ_S:
26173 case AArch64::ZIPQ2_ZZZ_B:
26174 case AArch64::ZIPQ2_ZZZ_D:
26175 case AArch64::ZIPQ2_ZZZ_H:
26176 case AArch64::ZIPQ2_ZZZ_S: {
26177 switch (OpNum) {
26178 case 0:
26179 // op: Zd
26180 return 0;
26181 case 1:
26182 // op: Zn
26183 return 5;
26184 case 2:
26185 // op: Zm
26186 return 16;
26187 }
26188 break;
26189 }
26190 case AArch64::DUP_ZZI_B: {
26191 switch (OpNum) {
26192 case 0:
26193 // op: Zd
26194 return 0;
26195 case 1:
26196 // op: Zn
26197 return 5;
26198 case 2:
26199 // op: idx
26200 return 17;
26201 }
26202 break;
26203 }
26204 case AArch64::DUP_ZZI_H: {
26205 switch (OpNum) {
26206 case 0:
26207 // op: Zd
26208 return 0;
26209 case 1:
26210 // op: Zn
26211 return 5;
26212 case 2:
26213 // op: idx
26214 return 18;
26215 }
26216 break;
26217 }
26218 case AArch64::DUP_ZZI_S: {
26219 switch (OpNum) {
26220 case 0:
26221 // op: Zd
26222 return 0;
26223 case 1:
26224 // op: Zn
26225 return 5;
26226 case 2:
26227 // op: idx
26228 return 19;
26229 }
26230 break;
26231 }
26232 case AArch64::DUP_ZZI_D: {
26233 switch (OpNum) {
26234 case 0:
26235 // op: Zd
26236 return 0;
26237 case 1:
26238 // op: Zn
26239 return 5;
26240 case 2:
26241 // op: idx
26242 return 20;
26243 }
26244 break;
26245 }
26246 case AArch64::DUP_ZZI_Q: {
26247 switch (OpNum) {
26248 case 0:
26249 // op: Zd
26250 return 0;
26251 case 1:
26252 // op: Zn
26253 return 5;
26254 case 2:
26255 // op: idx
26256 return 22;
26257 }
26258 break;
26259 }
26260 case AArch64::ASR_ZZI_B:
26261 case AArch64::ASR_ZZI_D:
26262 case AArch64::ASR_ZZI_H:
26263 case AArch64::ASR_ZZI_S:
26264 case AArch64::LSL_ZZI_B:
26265 case AArch64::LSL_ZZI_D:
26266 case AArch64::LSL_ZZI_H:
26267 case AArch64::LSL_ZZI_S:
26268 case AArch64::LSR_ZZI_B:
26269 case AArch64::LSR_ZZI_D:
26270 case AArch64::LSR_ZZI_H:
26271 case AArch64::LSR_ZZI_S:
26272 case AArch64::RSHRNB_ZZI_B:
26273 case AArch64::RSHRNB_ZZI_H:
26274 case AArch64::RSHRNB_ZZI_S:
26275 case AArch64::SHRNB_ZZI_B:
26276 case AArch64::SHRNB_ZZI_H:
26277 case AArch64::SHRNB_ZZI_S:
26278 case AArch64::SQRSHRNB_ZZI_B:
26279 case AArch64::SQRSHRNB_ZZI_H:
26280 case AArch64::SQRSHRNB_ZZI_S:
26281 case AArch64::SQRSHRUNB_ZZI_B:
26282 case AArch64::SQRSHRUNB_ZZI_H:
26283 case AArch64::SQRSHRUNB_ZZI_S:
26284 case AArch64::SQSHRNB_ZZI_B:
26285 case AArch64::SQSHRNB_ZZI_H:
26286 case AArch64::SQSHRNB_ZZI_S:
26287 case AArch64::SQSHRUNB_ZZI_B:
26288 case AArch64::SQSHRUNB_ZZI_H:
26289 case AArch64::SQSHRUNB_ZZI_S:
26290 case AArch64::SSHLLB_ZZI_D:
26291 case AArch64::SSHLLB_ZZI_H:
26292 case AArch64::SSHLLB_ZZI_S:
26293 case AArch64::SSHLLT_ZZI_D:
26294 case AArch64::SSHLLT_ZZI_H:
26295 case AArch64::SSHLLT_ZZI_S:
26296 case AArch64::UQRSHRNB_ZZI_B:
26297 case AArch64::UQRSHRNB_ZZI_H:
26298 case AArch64::UQRSHRNB_ZZI_S:
26299 case AArch64::UQSHRNB_ZZI_B:
26300 case AArch64::UQSHRNB_ZZI_H:
26301 case AArch64::UQSHRNB_ZZI_S:
26302 case AArch64::USHLLB_ZZI_D:
26303 case AArch64::USHLLB_ZZI_H:
26304 case AArch64::USHLLB_ZZI_S:
26305 case AArch64::USHLLT_ZZI_D:
26306 case AArch64::USHLLT_ZZI_H:
26307 case AArch64::USHLLT_ZZI_S: {
26308 switch (OpNum) {
26309 case 0:
26310 // op: Zd
26311 return 0;
26312 case 1:
26313 // op: Zn
26314 return 5;
26315 case 2:
26316 // op: imm
26317 return 16;
26318 }
26319 break;
26320 }
26321 case AArch64::EXT_ZZI_B: {
26322 switch (OpNum) {
26323 case 0:
26324 // op: Zd
26325 return 0;
26326 case 1:
26327 // op: Zn
26328 return 5;
26329 case 2:
26330 // op: imm8
26331 return 10;
26332 }
26333 break;
26334 }
26335 case AArch64::DUPQ_ZZI_B: {
26336 switch (OpNum) {
26337 case 0:
26338 // op: Zd
26339 return 0;
26340 case 1:
26341 // op: Zn
26342 return 5;
26343 case 2:
26344 // op: index
26345 return 17;
26346 }
26347 break;
26348 }
26349 case AArch64::DUPQ_ZZI_H: {
26350 switch (OpNum) {
26351 case 0:
26352 // op: Zd
26353 return 0;
26354 case 1:
26355 // op: Zn
26356 return 5;
26357 case 2:
26358 // op: index
26359 return 18;
26360 }
26361 break;
26362 }
26363 case AArch64::DUPQ_ZZI_S: {
26364 switch (OpNum) {
26365 case 0:
26366 // op: Zd
26367 return 0;
26368 case 1:
26369 // op: Zn
26370 return 5;
26371 case 2:
26372 // op: index
26373 return 19;
26374 }
26375 break;
26376 }
26377 case AArch64::DUPQ_ZZI_D: {
26378 switch (OpNum) {
26379 case 0:
26380 // op: Zd
26381 return 0;
26382 case 1:
26383 // op: Zn
26384 return 5;
26385 case 2:
26386 // op: index
26387 return 20;
26388 }
26389 break;
26390 }
26391 case AArch64::BF1CVTLT_ZZ_BtoH:
26392 case AArch64::BF1CVT_ZZ_BtoH:
26393 case AArch64::BF2CVTLT_ZZ_BtoH:
26394 case AArch64::BF2CVT_ZZ_BtoH:
26395 case AArch64::F1CVTLT_ZZ_BtoH:
26396 case AArch64::F1CVT_ZZ_BtoH:
26397 case AArch64::F2CVTLT_ZZ_BtoH:
26398 case AArch64::F2CVT_ZZ_BtoH:
26399 case AArch64::FEXPA_ZZ_D:
26400 case AArch64::FEXPA_ZZ_H:
26401 case AArch64::FEXPA_ZZ_S:
26402 case AArch64::FRECPE_ZZ_D:
26403 case AArch64::FRECPE_ZZ_H:
26404 case AArch64::FRECPE_ZZ_S:
26405 case AArch64::FRSQRTE_ZZ_D:
26406 case AArch64::FRSQRTE_ZZ_H:
26407 case AArch64::FRSQRTE_ZZ_S:
26408 case AArch64::MOVPRFX_ZZ:
26409 case AArch64::REV_ZZ_B:
26410 case AArch64::REV_ZZ_D:
26411 case AArch64::REV_ZZ_H:
26412 case AArch64::REV_ZZ_S:
26413 case AArch64::SCVTFLT_ZZ_BtoH:
26414 case AArch64::SCVTFLT_ZZ_HtoS:
26415 case AArch64::SCVTFLT_ZZ_StoD:
26416 case AArch64::SCVTF_ZZ_BtoH:
26417 case AArch64::SCVTF_ZZ_HtoS:
26418 case AArch64::SCVTF_ZZ_StoD:
26419 case AArch64::SQXTNB_ZZ_B:
26420 case AArch64::SQXTNB_ZZ_H:
26421 case AArch64::SQXTNB_ZZ_S:
26422 case AArch64::SQXTUNB_ZZ_B:
26423 case AArch64::SQXTUNB_ZZ_H:
26424 case AArch64::SQXTUNB_ZZ_S:
26425 case AArch64::SUNPKHI_ZZ_D:
26426 case AArch64::SUNPKHI_ZZ_H:
26427 case AArch64::SUNPKHI_ZZ_S:
26428 case AArch64::SUNPKLO_ZZ_D:
26429 case AArch64::SUNPKLO_ZZ_H:
26430 case AArch64::SUNPKLO_ZZ_S:
26431 case AArch64::UCVTFLT_ZZ_BtoH:
26432 case AArch64::UCVTFLT_ZZ_HtoS:
26433 case AArch64::UCVTFLT_ZZ_StoD:
26434 case AArch64::UCVTF_ZZ_BtoH:
26435 case AArch64::UCVTF_ZZ_HtoS:
26436 case AArch64::UCVTF_ZZ_StoD:
26437 case AArch64::UQXTNB_ZZ_B:
26438 case AArch64::UQXTNB_ZZ_H:
26439 case AArch64::UQXTNB_ZZ_S:
26440 case AArch64::UUNPKHI_ZZ_D:
26441 case AArch64::UUNPKHI_ZZ_H:
26442 case AArch64::UUNPKHI_ZZ_S:
26443 case AArch64::UUNPKLO_ZZ_D:
26444 case AArch64::UUNPKLO_ZZ_H:
26445 case AArch64::UUNPKLO_ZZ_S: {
26446 switch (OpNum) {
26447 case 0:
26448 // op: Zd
26449 return 0;
26450 case 1:
26451 // op: Zn
26452 return 5;
26453 }
26454 break;
26455 }
26456 case AArch64::SQRSHRN_Z2ZI_HtoB:
26457 case AArch64::SQRSHRN_Z2ZI_StoH:
26458 case AArch64::SQRSHRUN_Z2ZI_HtoB:
26459 case AArch64::SQRSHRUN_Z2ZI_StoH:
26460 case AArch64::SQSHRN_Z2ZI_HtoB:
26461 case AArch64::SQSHRN_Z2ZI_StoH:
26462 case AArch64::SQSHRUN_Z2ZI_HtoB:
26463 case AArch64::SQSHRUN_Z2ZI_StoH:
26464 case AArch64::UQRSHRN_Z2ZI_HtoB:
26465 case AArch64::UQRSHRN_Z2ZI_StoH:
26466 case AArch64::UQSHRN_Z2ZI_HtoB:
26467 case AArch64::UQSHRN_Z2ZI_StoH: {
26468 switch (OpNum) {
26469 case 0:
26470 // op: Zd
26471 return 0;
26472 case 1:
26473 // op: Zn
26474 return 6;
26475 case 2:
26476 // op: imm
26477 return 16;
26478 }
26479 break;
26480 }
26481 case AArch64::BFCVTN_Z2Z_HtoB:
26482 case AArch64::FCVTNB_Z2Z_StoB:
26483 case AArch64::FCVTN_Z2Z_HtoB:
26484 case AArch64::FCVTZSN_Z2Z_DtoS:
26485 case AArch64::FCVTZSN_Z2Z_HtoB:
26486 case AArch64::FCVTZSN_Z2Z_StoH:
26487 case AArch64::FCVTZUN_Z2Z_DtoS:
26488 case AArch64::FCVTZUN_Z2Z_HtoB:
26489 case AArch64::FCVTZUN_Z2Z_StoH:
26490 case AArch64::SQCVTN_Z2Z_StoH:
26491 case AArch64::SQCVTUN_Z2Z_StoH:
26492 case AArch64::UQCVTN_Z2Z_StoH: {
26493 switch (OpNum) {
26494 case 0:
26495 // op: Zd
26496 return 0;
26497 case 1:
26498 // op: Zn
26499 return 6;
26500 }
26501 break;
26502 }
26503 case AArch64::DUP_ZI_B:
26504 case AArch64::DUP_ZI_D:
26505 case AArch64::DUP_ZI_H:
26506 case AArch64::DUP_ZI_S: {
26507 switch (OpNum) {
26508 case 0:
26509 // op: Zd
26510 return 0;
26511 case 1:
26512 // op: imm
26513 return 5;
26514 }
26515 break;
26516 }
26517 case AArch64::INDEX_II_B:
26518 case AArch64::INDEX_II_D:
26519 case AArch64::INDEX_II_H:
26520 case AArch64::INDEX_II_S: {
26521 switch (OpNum) {
26522 case 0:
26523 // op: Zd
26524 return 0;
26525 case 1:
26526 // op: imm5
26527 return 5;
26528 case 2:
26529 // op: imm5b
26530 return 16;
26531 }
26532 break;
26533 }
26534 case AArch64::FDUP_ZI_D:
26535 case AArch64::FDUP_ZI_H:
26536 case AArch64::FDUP_ZI_S: {
26537 switch (OpNum) {
26538 case 0:
26539 // op: Zd
26540 return 0;
26541 case 1:
26542 // op: imm8
26543 return 5;
26544 }
26545 break;
26546 }
26547 case AArch64::DUPM_ZI: {
26548 switch (OpNum) {
26549 case 0:
26550 // op: Zd
26551 return 0;
26552 case 1:
26553 // op: imms
26554 return 5;
26555 }
26556 break;
26557 }
26558 case AArch64::RBIT_ZPmZ_B:
26559 case AArch64::RBIT_ZPmZ_D:
26560 case AArch64::RBIT_ZPmZ_H:
26561 case AArch64::RBIT_ZPmZ_S:
26562 case AArch64::REVB_ZPmZ_D:
26563 case AArch64::REVB_ZPmZ_H:
26564 case AArch64::REVB_ZPmZ_S:
26565 case AArch64::REVD_ZPmZ:
26566 case AArch64::REVH_ZPmZ_D:
26567 case AArch64::REVH_ZPmZ_S:
26568 case AArch64::REVW_ZPmZ_D: {
26569 switch (OpNum) {
26570 case 0:
26571 // op: Zd
26572 return 0;
26573 case 2:
26574 // op: Pg
26575 return 10;
26576 case 3:
26577 // op: Zn
26578 return 5;
26579 }
26580 break;
26581 }
26582 case AArch64::CPY_ZPmI_B:
26583 case AArch64::CPY_ZPmI_D:
26584 case AArch64::CPY_ZPmI_H:
26585 case AArch64::CPY_ZPmI_S: {
26586 switch (OpNum) {
26587 case 0:
26588 // op: Zd
26589 return 0;
26590 case 2:
26591 // op: Pg
26592 return 16;
26593 case 3:
26594 // op: imm
26595 return 5;
26596 }
26597 break;
26598 }
26599 case AArch64::INDEX_RR_B:
26600 case AArch64::INDEX_RR_D:
26601 case AArch64::INDEX_RR_H:
26602 case AArch64::INDEX_RR_S: {
26603 switch (OpNum) {
26604 case 0:
26605 // op: Zd
26606 return 0;
26607 case 2:
26608 // op: Rm
26609 return 16;
26610 case 1:
26611 // op: Rn
26612 return 5;
26613 }
26614 break;
26615 }
26616 case AArch64::ADDQP_ZZZ_B:
26617 case AArch64::ADDQP_ZZZ_D:
26618 case AArch64::ADDQP_ZZZ_H:
26619 case AArch64::ADDQP_ZZZ_S:
26620 case AArch64::ADDSUBP_ZZZ_B:
26621 case AArch64::ADDSUBP_ZZZ_D:
26622 case AArch64::ADDSUBP_ZZZ_H:
26623 case AArch64::ADDSUBP_ZZZ_S:
26624 case AArch64::ADD_ZZZ_B:
26625 case AArch64::ADD_ZZZ_CPA:
26626 case AArch64::ADD_ZZZ_D:
26627 case AArch64::ADD_ZZZ_H:
26628 case AArch64::ADD_ZZZ_S:
26629 case AArch64::AND_ZZZ:
26630 case AArch64::ASR_WIDE_ZZZ_B:
26631 case AArch64::ASR_WIDE_ZZZ_H:
26632 case AArch64::ASR_WIDE_ZZZ_S:
26633 case AArch64::BFADD_ZZZ:
26634 case AArch64::BFMUL_ZZZ:
26635 case AArch64::BFSUB_ZZZ:
26636 case AArch64::BIC_ZZZ:
26637 case AArch64::EOR_ZZZ:
26638 case AArch64::FADD_ZZZ_D:
26639 case AArch64::FADD_ZZZ_H:
26640 case AArch64::FADD_ZZZ_S:
26641 case AArch64::FMUL_ZZZ_D:
26642 case AArch64::FMUL_ZZZ_H:
26643 case AArch64::FMUL_ZZZ_S:
26644 case AArch64::FRECPS_ZZZ_D:
26645 case AArch64::FRECPS_ZZZ_H:
26646 case AArch64::FRECPS_ZZZ_S:
26647 case AArch64::FRSQRTS_ZZZ_D:
26648 case AArch64::FRSQRTS_ZZZ_H:
26649 case AArch64::FRSQRTS_ZZZ_S:
26650 case AArch64::FSUB_ZZZ_D:
26651 case AArch64::FSUB_ZZZ_H:
26652 case AArch64::FSUB_ZZZ_S:
26653 case AArch64::FTSMUL_ZZZ_D:
26654 case AArch64::FTSMUL_ZZZ_H:
26655 case AArch64::FTSMUL_ZZZ_S:
26656 case AArch64::FTSSEL_ZZZ_D:
26657 case AArch64::FTSSEL_ZZZ_H:
26658 case AArch64::FTSSEL_ZZZ_S:
26659 case AArch64::LSL_WIDE_ZZZ_B:
26660 case AArch64::LSL_WIDE_ZZZ_H:
26661 case AArch64::LSL_WIDE_ZZZ_S:
26662 case AArch64::LSR_WIDE_ZZZ_B:
26663 case AArch64::LSR_WIDE_ZZZ_H:
26664 case AArch64::LSR_WIDE_ZZZ_S:
26665 case AArch64::MUL_ZZZ_B:
26666 case AArch64::MUL_ZZZ_D:
26667 case AArch64::MUL_ZZZ_H:
26668 case AArch64::MUL_ZZZ_S:
26669 case AArch64::ORR_ZZZ:
26670 case AArch64::PMUL_ZZZ_B:
26671 case AArch64::SMULH_ZZZ_B:
26672 case AArch64::SMULH_ZZZ_D:
26673 case AArch64::SMULH_ZZZ_H:
26674 case AArch64::SMULH_ZZZ_S:
26675 case AArch64::SQADD_ZZZ_B:
26676 case AArch64::SQADD_ZZZ_D:
26677 case AArch64::SQADD_ZZZ_H:
26678 case AArch64::SQADD_ZZZ_S:
26679 case AArch64::SQDMULH_ZZZ_B:
26680 case AArch64::SQDMULH_ZZZ_D:
26681 case AArch64::SQDMULH_ZZZ_H:
26682 case AArch64::SQDMULH_ZZZ_S:
26683 case AArch64::SQRDMULH_ZZZ_B:
26684 case AArch64::SQRDMULH_ZZZ_D:
26685 case AArch64::SQRDMULH_ZZZ_H:
26686 case AArch64::SQRDMULH_ZZZ_S:
26687 case AArch64::SQSUB_ZZZ_B:
26688 case AArch64::SQSUB_ZZZ_D:
26689 case AArch64::SQSUB_ZZZ_H:
26690 case AArch64::SQSUB_ZZZ_S:
26691 case AArch64::SUB_ZZZ_B:
26692 case AArch64::SUB_ZZZ_CPA:
26693 case AArch64::SUB_ZZZ_D:
26694 case AArch64::SUB_ZZZ_H:
26695 case AArch64::SUB_ZZZ_S:
26696 case AArch64::TBL_ZZZZ_B:
26697 case AArch64::TBL_ZZZZ_D:
26698 case AArch64::TBL_ZZZZ_H:
26699 case AArch64::TBL_ZZZZ_S:
26700 case AArch64::TBL_ZZZ_B:
26701 case AArch64::TBL_ZZZ_D:
26702 case AArch64::TBL_ZZZ_H:
26703 case AArch64::TBL_ZZZ_S:
26704 case AArch64::TRN1_ZZZ_B:
26705 case AArch64::TRN1_ZZZ_D:
26706 case AArch64::TRN1_ZZZ_H:
26707 case AArch64::TRN1_ZZZ_Q:
26708 case AArch64::TRN1_ZZZ_S:
26709 case AArch64::TRN2_ZZZ_B:
26710 case AArch64::TRN2_ZZZ_D:
26711 case AArch64::TRN2_ZZZ_H:
26712 case AArch64::TRN2_ZZZ_Q:
26713 case AArch64::TRN2_ZZZ_S:
26714 case AArch64::UMULH_ZZZ_B:
26715 case AArch64::UMULH_ZZZ_D:
26716 case AArch64::UMULH_ZZZ_H:
26717 case AArch64::UMULH_ZZZ_S:
26718 case AArch64::UQADD_ZZZ_B:
26719 case AArch64::UQADD_ZZZ_D:
26720 case AArch64::UQADD_ZZZ_H:
26721 case AArch64::UQADD_ZZZ_S:
26722 case AArch64::UQSUB_ZZZ_B:
26723 case AArch64::UQSUB_ZZZ_D:
26724 case AArch64::UQSUB_ZZZ_H:
26725 case AArch64::UQSUB_ZZZ_S:
26726 case AArch64::UZP1_ZZZ_B:
26727 case AArch64::UZP1_ZZZ_D:
26728 case AArch64::UZP1_ZZZ_H:
26729 case AArch64::UZP1_ZZZ_Q:
26730 case AArch64::UZP1_ZZZ_S:
26731 case AArch64::UZP2_ZZZ_B:
26732 case AArch64::UZP2_ZZZ_D:
26733 case AArch64::UZP2_ZZZ_H:
26734 case AArch64::UZP2_ZZZ_Q:
26735 case AArch64::UZP2_ZZZ_S:
26736 case AArch64::ZIP1_ZZZ_B:
26737 case AArch64::ZIP1_ZZZ_D:
26738 case AArch64::ZIP1_ZZZ_H:
26739 case AArch64::ZIP1_ZZZ_Q:
26740 case AArch64::ZIP1_ZZZ_S:
26741 case AArch64::ZIP2_ZZZ_B:
26742 case AArch64::ZIP2_ZZZ_D:
26743 case AArch64::ZIP2_ZZZ_H:
26744 case AArch64::ZIP2_ZZZ_Q:
26745 case AArch64::ZIP2_ZZZ_S: {
26746 switch (OpNum) {
26747 case 0:
26748 // op: Zd
26749 return 0;
26750 case 2:
26751 // op: Zm
26752 return 16;
26753 case 1:
26754 // op: Zn
26755 return 5;
26756 }
26757 break;
26758 }
26759 case AArch64::HISTCNT_ZPzZZ_D:
26760 case AArch64::HISTCNT_ZPzZZ_S: {
26761 switch (OpNum) {
26762 case 0:
26763 // op: Zd
26764 return 0;
26765 case 2:
26766 // op: Zn
26767 return 5;
26768 case 1:
26769 // op: Pg
26770 return 10;
26771 case 3:
26772 // op: Zm
26773 return 16;
26774 }
26775 break;
26776 }
26777 case AArch64::FCVTLT_ZPzZ_HtoS:
26778 case AArch64::FCVTLT_ZPzZ_StoD: {
26779 switch (OpNum) {
26780 case 0:
26781 // op: Zd
26782 return 0;
26783 case 2:
26784 // op: Zn
26785 return 5;
26786 case 1:
26787 // op: Pg
26788 return 10;
26789 }
26790 break;
26791 }
26792 case AArch64::ADDHNT_ZZZ_B:
26793 case AArch64::ADDHNT_ZZZ_H:
26794 case AArch64::ADDHNT_ZZZ_S:
26795 case AArch64::EORBT_ZZZ_B:
26796 case AArch64::EORBT_ZZZ_D:
26797 case AArch64::EORBT_ZZZ_H:
26798 case AArch64::EORBT_ZZZ_S:
26799 case AArch64::EORTB_ZZZ_B:
26800 case AArch64::EORTB_ZZZ_D:
26801 case AArch64::EORTB_ZZZ_H:
26802 case AArch64::EORTB_ZZZ_S:
26803 case AArch64::RADDHNT_ZZZ_B:
26804 case AArch64::RADDHNT_ZZZ_H:
26805 case AArch64::RADDHNT_ZZZ_S:
26806 case AArch64::RSUBHNT_ZZZ_B:
26807 case AArch64::RSUBHNT_ZZZ_H:
26808 case AArch64::RSUBHNT_ZZZ_S:
26809 case AArch64::SUBHNT_ZZZ_B:
26810 case AArch64::SUBHNT_ZZZ_H:
26811 case AArch64::SUBHNT_ZZZ_S: {
26812 switch (OpNum) {
26813 case 0:
26814 // op: Zd
26815 return 0;
26816 case 2:
26817 // op: Zn
26818 return 5;
26819 case 3:
26820 // op: Zm
26821 return 16;
26822 }
26823 break;
26824 }
26825 case AArch64::RSHRNT_ZZI_B:
26826 case AArch64::RSHRNT_ZZI_H:
26827 case AArch64::RSHRNT_ZZI_S:
26828 case AArch64::SHRNT_ZZI_B:
26829 case AArch64::SHRNT_ZZI_H:
26830 case AArch64::SHRNT_ZZI_S:
26831 case AArch64::SLI_ZZI_B:
26832 case AArch64::SLI_ZZI_D:
26833 case AArch64::SLI_ZZI_H:
26834 case AArch64::SLI_ZZI_S:
26835 case AArch64::SQRSHRNT_ZZI_B:
26836 case AArch64::SQRSHRNT_ZZI_H:
26837 case AArch64::SQRSHRNT_ZZI_S:
26838 case AArch64::SQRSHRUNT_ZZI_B:
26839 case AArch64::SQRSHRUNT_ZZI_H:
26840 case AArch64::SQRSHRUNT_ZZI_S:
26841 case AArch64::SQSHRNT_ZZI_B:
26842 case AArch64::SQSHRNT_ZZI_H:
26843 case AArch64::SQSHRNT_ZZI_S:
26844 case AArch64::SQSHRUNT_ZZI_B:
26845 case AArch64::SQSHRUNT_ZZI_H:
26846 case AArch64::SQSHRUNT_ZZI_S:
26847 case AArch64::SRI_ZZI_B:
26848 case AArch64::SRI_ZZI_D:
26849 case AArch64::SRI_ZZI_H:
26850 case AArch64::SRI_ZZI_S:
26851 case AArch64::UQRSHRNT_ZZI_B:
26852 case AArch64::UQRSHRNT_ZZI_H:
26853 case AArch64::UQRSHRNT_ZZI_S:
26854 case AArch64::UQSHRNT_ZZI_B:
26855 case AArch64::UQSHRNT_ZZI_H:
26856 case AArch64::UQSHRNT_ZZI_S: {
26857 switch (OpNum) {
26858 case 0:
26859 // op: Zd
26860 return 0;
26861 case 2:
26862 // op: Zn
26863 return 5;
26864 case 3:
26865 // op: imm
26866 return 16;
26867 }
26868 break;
26869 }
26870 case AArch64::LUTI6_ZTZ:
26871 case AArch64::SQXTNT_ZZ_B:
26872 case AArch64::SQXTNT_ZZ_H:
26873 case AArch64::SQXTNT_ZZ_S:
26874 case AArch64::SQXTUNT_ZZ_B:
26875 case AArch64::SQXTUNT_ZZ_H:
26876 case AArch64::SQXTUNT_ZZ_S:
26877 case AArch64::UQXTNT_ZZ_B:
26878 case AArch64::UQXTNT_ZZ_H:
26879 case AArch64::UQXTNT_ZZ_S: {
26880 switch (OpNum) {
26881 case 0:
26882 // op: Zd
26883 return 0;
26884 case 2:
26885 // op: Zn
26886 return 5;
26887 }
26888 break;
26889 }
26890 case AArch64::FCVTNT_Z2Z_StoB: {
26891 switch (OpNum) {
26892 case 0:
26893 // op: Zd
26894 return 0;
26895 case 2:
26896 // op: Zn
26897 return 6;
26898 }
26899 break;
26900 }
26901 case AArch64::LUTI6_S_4ZT3Z: {
26902 switch (OpNum) {
26903 case 0:
26904 // op: Zd
26905 return 0;
26906 case 2:
26907 // op: Zn
26908 return 7;
26909 }
26910 break;
26911 }
26912 case AArch64::PMOV_ZIP_D:
26913 case AArch64::PMOV_ZIP_H:
26914 case AArch64::PMOV_ZIP_S: {
26915 switch (OpNum) {
26916 case 0:
26917 // op: Zd
26918 return 0;
26919 case 3:
26920 // op: Pn
26921 return 5;
26922 case 2:
26923 // op: index
26924 return 17;
26925 }
26926 break;
26927 }
26928 case AArch64::PMOV_ZIP_B: {
26929 switch (OpNum) {
26930 case 0:
26931 // op: Zd
26932 return 0;
26933 case 3:
26934 // op: Pn
26935 return 5;
26936 }
26937 break;
26938 }
26939 case AArch64::TBXQ_ZZZ_B:
26940 case AArch64::TBXQ_ZZZ_D:
26941 case AArch64::TBXQ_ZZZ_H:
26942 case AArch64::TBXQ_ZZZ_S:
26943 case AArch64::TBX_ZZZ_B:
26944 case AArch64::TBX_ZZZ_D:
26945 case AArch64::TBX_ZZZ_H:
26946 case AArch64::TBX_ZZZ_S: {
26947 switch (OpNum) {
26948 case 0:
26949 // op: Zd
26950 return 0;
26951 case 3:
26952 // op: Zm
26953 return 16;
26954 case 2:
26955 // op: Zn
26956 return 5;
26957 }
26958 break;
26959 }
26960 case AArch64::BFCVTNT_ZPmZ:
26961 case AArch64::BFCVTNT_ZPzZ_StoH:
26962 case AArch64::FCVTLT_ZPmZ_HtoS:
26963 case AArch64::FCVTLT_ZPmZ_StoD:
26964 case AArch64::FCVTNT_ZPmZ_DtoS:
26965 case AArch64::FCVTNT_ZPmZ_StoH:
26966 case AArch64::FCVTNT_ZPzZ_DtoS:
26967 case AArch64::FCVTNT_ZPzZ_StoH:
26968 case AArch64::FCVTXNT_ZPmZ_DtoS:
26969 case AArch64::FCVTXNT_ZPzZ_StoD: {
26970 switch (OpNum) {
26971 case 0:
26972 // op: Zd
26973 return 0;
26974 case 3:
26975 // op: Zn
26976 return 5;
26977 case 2:
26978 // op: Pg
26979 return 10;
26980 }
26981 break;
26982 }
26983 case AArch64::BFMUL_2Z2Z:
26984 case AArch64::BFMUL_2ZZ:
26985 case AArch64::FMUL_2Z2Z_D:
26986 case AArch64::FMUL_2Z2Z_H:
26987 case AArch64::FMUL_2Z2Z_S:
26988 case AArch64::FMUL_2ZZ_D:
26989 case AArch64::FMUL_2ZZ_H:
26990 case AArch64::FMUL_2ZZ_S: {
26991 switch (OpNum) {
26992 case 0:
26993 // op: Zd
26994 return 1;
26995 case 1:
26996 // op: Zn
26997 return 6;
26998 case 2:
26999 // op: Zm
27000 return 17;
27001 }
27002 break;
27003 }
27004 case AArch64::MOVA_2ZMXI_H_D:
27005 case AArch64::MOVA_2ZMXI_V_D: {
27006 switch (OpNum) {
27007 case 0:
27008 // op: Zd
27009 return 1;
27010 case 2:
27011 // op: Rs
27012 return 13;
27013 case 1:
27014 // op: ZAn
27015 return 5;
27016 }
27017 break;
27018 }
27019 case AArch64::MOVA_2ZMXI_H_S:
27020 case AArch64::MOVA_2ZMXI_V_S: {
27021 switch (OpNum) {
27022 case 0:
27023 // op: Zd
27024 return 1;
27025 case 2:
27026 // op: Rs
27027 return 13;
27028 case 1:
27029 // op: ZAn
27030 return 6;
27031 case 3:
27032 // op: imm
27033 return 5;
27034 }
27035 break;
27036 }
27037 case AArch64::MOVA_2ZMXI_H_H:
27038 case AArch64::MOVA_2ZMXI_V_H: {
27039 switch (OpNum) {
27040 case 0:
27041 // op: Zd
27042 return 1;
27043 case 2:
27044 // op: Rs
27045 return 13;
27046 case 1:
27047 // op: ZAn
27048 return 7;
27049 case 3:
27050 // op: imm
27051 return 5;
27052 }
27053 break;
27054 }
27055 case AArch64::MOVA_2ZMXI_H_B:
27056 case AArch64::MOVA_2ZMXI_V_B: {
27057 switch (OpNum) {
27058 case 0:
27059 // op: Zd
27060 return 1;
27061 case 2:
27062 // op: Rs
27063 return 13;
27064 case 3:
27065 // op: imm
27066 return 5;
27067 }
27068 break;
27069 }
27070 case AArch64::UZP_VG2_2ZZZ_B:
27071 case AArch64::UZP_VG2_2ZZZ_D:
27072 case AArch64::UZP_VG2_2ZZZ_H:
27073 case AArch64::UZP_VG2_2ZZZ_Q:
27074 case AArch64::UZP_VG2_2ZZZ_S:
27075 case AArch64::ZIP_VG2_2ZZZ_B:
27076 case AArch64::ZIP_VG2_2ZZZ_D:
27077 case AArch64::ZIP_VG2_2ZZZ_H:
27078 case AArch64::ZIP_VG2_2ZZZ_Q:
27079 case AArch64::ZIP_VG2_2ZZZ_S: {
27080 switch (OpNum) {
27081 case 0:
27082 // op: Zd
27083 return 1;
27084 case 2:
27085 // op: Zm
27086 return 16;
27087 case 1:
27088 // op: Zn
27089 return 5;
27090 }
27091 break;
27092 }
27093 case AArch64::MOVAZ_2ZMI_H_D:
27094 case AArch64::MOVAZ_2ZMI_V_D: {
27095 switch (OpNum) {
27096 case 0:
27097 // op: Zd
27098 return 1;
27099 case 3:
27100 // op: Rs
27101 return 13;
27102 case 2:
27103 // op: ZAn
27104 return 5;
27105 }
27106 break;
27107 }
27108 case AArch64::MOVAZ_2ZMI_H_S:
27109 case AArch64::MOVAZ_2ZMI_V_S: {
27110 switch (OpNum) {
27111 case 0:
27112 // op: Zd
27113 return 1;
27114 case 3:
27115 // op: Rs
27116 return 13;
27117 case 2:
27118 // op: ZAn
27119 return 6;
27120 case 4:
27121 // op: imm
27122 return 5;
27123 }
27124 break;
27125 }
27126 case AArch64::MOVAZ_2ZMI_H_H:
27127 case AArch64::MOVAZ_2ZMI_V_H: {
27128 switch (OpNum) {
27129 case 0:
27130 // op: Zd
27131 return 1;
27132 case 3:
27133 // op: Rs
27134 return 13;
27135 case 2:
27136 // op: ZAn
27137 return 7;
27138 case 4:
27139 // op: imm
27140 return 5;
27141 }
27142 break;
27143 }
27144 case AArch64::MOVAZ_2ZMI_H_B:
27145 case AArch64::MOVAZ_2ZMI_V_B: {
27146 switch (OpNum) {
27147 case 0:
27148 // op: Zd
27149 return 1;
27150 case 3:
27151 // op: Rs
27152 return 13;
27153 case 4:
27154 // op: imm
27155 return 5;
27156 }
27157 break;
27158 }
27159 case AArch64::LUTI6_4Z2Z2ZI: {
27160 switch (OpNum) {
27161 case 0:
27162 // op: Zd
27163 return 2;
27164 case 1:
27165 // op: Zn
27166 return 5;
27167 case 2:
27168 // op: Zm
27169 return 16;
27170 case 3:
27171 // op: i1
27172 return 22;
27173 }
27174 break;
27175 }
27176 case AArch64::BFMUL_4ZZ:
27177 case AArch64::FMUL_4ZZ_D:
27178 case AArch64::FMUL_4ZZ_H:
27179 case AArch64::FMUL_4ZZ_S: {
27180 switch (OpNum) {
27181 case 0:
27182 // op: Zd
27183 return 2;
27184 case 1:
27185 // op: Zn
27186 return 7;
27187 case 2:
27188 // op: Zm
27189 return 17;
27190 }
27191 break;
27192 }
27193 case AArch64::BFMUL_4Z4Z:
27194 case AArch64::FMUL_4Z4Z_D:
27195 case AArch64::FMUL_4Z4Z_H:
27196 case AArch64::FMUL_4Z4Z_S: {
27197 switch (OpNum) {
27198 case 0:
27199 // op: Zd
27200 return 2;
27201 case 1:
27202 // op: Zn
27203 return 7;
27204 case 2:
27205 // op: Zm
27206 return 18;
27207 }
27208 break;
27209 }
27210 case AArch64::MOVA_4ZMXI_H_D:
27211 case AArch64::MOVA_4ZMXI_H_S:
27212 case AArch64::MOVA_4ZMXI_V_D:
27213 case AArch64::MOVA_4ZMXI_V_S: {
27214 switch (OpNum) {
27215 case 0:
27216 // op: Zd
27217 return 2;
27218 case 2:
27219 // op: Rs
27220 return 13;
27221 case 1:
27222 // op: ZAn
27223 return 5;
27224 }
27225 break;
27226 }
27227 case AArch64::MOVA_4ZMXI_H_H:
27228 case AArch64::MOVA_4ZMXI_V_H: {
27229 switch (OpNum) {
27230 case 0:
27231 // op: Zd
27232 return 2;
27233 case 2:
27234 // op: Rs
27235 return 13;
27236 case 1:
27237 // op: ZAn
27238 return 6;
27239 case 3:
27240 // op: imm
27241 return 5;
27242 }
27243 break;
27244 }
27245 case AArch64::MOVA_4ZMXI_H_B:
27246 case AArch64::MOVA_4ZMXI_V_B: {
27247 switch (OpNum) {
27248 case 0:
27249 // op: Zd
27250 return 2;
27251 case 2:
27252 // op: Rs
27253 return 13;
27254 case 3:
27255 // op: imm
27256 return 5;
27257 }
27258 break;
27259 }
27260 case AArch64::LUTI6_4ZT3Z: {
27261 switch (OpNum) {
27262 case 0:
27263 // op: Zd
27264 return 2;
27265 case 2:
27266 // op: Zn
27267 return 7;
27268 }
27269 break;
27270 }
27271 case AArch64::MOVAZ_4ZMI_H_D:
27272 case AArch64::MOVAZ_4ZMI_H_S:
27273 case AArch64::MOVAZ_4ZMI_V_D:
27274 case AArch64::MOVAZ_4ZMI_V_S: {
27275 switch (OpNum) {
27276 case 0:
27277 // op: Zd
27278 return 2;
27279 case 3:
27280 // op: Rs
27281 return 13;
27282 case 2:
27283 // op: ZAn
27284 return 5;
27285 }
27286 break;
27287 }
27288 case AArch64::MOVAZ_4ZMI_H_H:
27289 case AArch64::MOVAZ_4ZMI_V_H: {
27290 switch (OpNum) {
27291 case 0:
27292 // op: Zd
27293 return 2;
27294 case 3:
27295 // op: Rs
27296 return 13;
27297 case 2:
27298 // op: ZAn
27299 return 6;
27300 case 4:
27301 // op: imm
27302 return 5;
27303 }
27304 break;
27305 }
27306 case AArch64::MOVAZ_4ZMI_H_B:
27307 case AArch64::MOVAZ_4ZMI_V_B: {
27308 switch (OpNum) {
27309 case 0:
27310 // op: Zd
27311 return 2;
27312 case 3:
27313 // op: Rs
27314 return 13;
27315 case 4:
27316 // op: imm
27317 return 5;
27318 }
27319 break;
27320 }
27321 case AArch64::FCMLA_ZPmZZ_D:
27322 case AArch64::FCMLA_ZPmZZ_H:
27323 case AArch64::FCMLA_ZPmZZ_S: {
27324 switch (OpNum) {
27325 case 0:
27326 // op: Zda
27327 return 0;
27328 case 1:
27329 // op: Pg
27330 return 10;
27331 case 3:
27332 // op: Zn
27333 return 5;
27334 case 4:
27335 // op: Zm
27336 return 16;
27337 case 5:
27338 // op: imm
27339 return 13;
27340 }
27341 break;
27342 }
27343 case AArch64::SDOT_ZZZI_HtoS:
27344 case AArch64::UDOT_ZZZI_HtoS: {
27345 switch (OpNum) {
27346 case 0:
27347 // op: Zda
27348 return 0;
27349 case 2:
27350 // op: Zn
27351 return 5;
27352 case 3:
27353 // op: Zm
27354 return 16;
27355 case 4:
27356 // op: i2
27357 return 19;
27358 }
27359 break;
27360 }
27361 case AArch64::SUDOT_ZZZI:
27362 case AArch64::USDOT_ZZZI: {
27363 switch (OpNum) {
27364 case 0:
27365 // op: Zda
27366 return 0;
27367 case 2:
27368 // op: Zn
27369 return 5;
27370 case 3:
27371 // op: Zm
27372 return 16;
27373 case 4:
27374 // op: idx
27375 return 19;
27376 }
27377 break;
27378 }
27379 case AArch64::FMLALB_ZZZI:
27380 case AArch64::FMLALLBB_ZZZI:
27381 case AArch64::FMLALLBT_ZZZI:
27382 case AArch64::FMLALLTB_ZZZI:
27383 case AArch64::FMLALLTT_ZZZI:
27384 case AArch64::FMLALT_ZZZI: {
27385 switch (OpNum) {
27386 case 0:
27387 // op: Zda
27388 return 0;
27389 case 2:
27390 // op: Zn
27391 return 5;
27392 case 3:
27393 // op: Zm
27394 return 16;
27395 case 4:
27396 // op: imm4
27397 return 10;
27398 }
27399 break;
27400 }
27401 case AArch64::BFMLALB_ZZZI:
27402 case AArch64::BFMLALT_ZZZI:
27403 case AArch64::BFMLSLB_ZZZI_S:
27404 case AArch64::BFMLSLT_ZZZI_S:
27405 case AArch64::FDOT_ZZZI_BtoH:
27406 case AArch64::FMLALB_ZZZI_SHH:
27407 case AArch64::FMLALT_ZZZI_SHH:
27408 case AArch64::FMLSLB_ZZZI_SHH:
27409 case AArch64::FMLSLT_ZZZI_SHH:
27410 case AArch64::SMLALB_ZZZI_D:
27411 case AArch64::SMLALB_ZZZI_S:
27412 case AArch64::SMLALT_ZZZI_D:
27413 case AArch64::SMLALT_ZZZI_S:
27414 case AArch64::SMLSLB_ZZZI_D:
27415 case AArch64::SMLSLB_ZZZI_S:
27416 case AArch64::SMLSLT_ZZZI_D:
27417 case AArch64::SMLSLT_ZZZI_S:
27418 case AArch64::SQDMLALB_ZZZI_D:
27419 case AArch64::SQDMLALB_ZZZI_S:
27420 case AArch64::SQDMLALT_ZZZI_D:
27421 case AArch64::SQDMLALT_ZZZI_S:
27422 case AArch64::SQDMLSLB_ZZZI_D:
27423 case AArch64::SQDMLSLB_ZZZI_S:
27424 case AArch64::SQDMLSLT_ZZZI_D:
27425 case AArch64::SQDMLSLT_ZZZI_S:
27426 case AArch64::UMLALB_ZZZI_D:
27427 case AArch64::UMLALB_ZZZI_S:
27428 case AArch64::UMLALT_ZZZI_D:
27429 case AArch64::UMLALT_ZZZI_S:
27430 case AArch64::UMLSLB_ZZZI_D:
27431 case AArch64::UMLSLB_ZZZI_S:
27432 case AArch64::UMLSLT_ZZZI_D:
27433 case AArch64::UMLSLT_ZZZI_S: {
27434 switch (OpNum) {
27435 case 0:
27436 // op: Zda
27437 return 0;
27438 case 2:
27439 // op: Zn
27440 return 5;
27441 case 3:
27442 // op: Zm
27443 return 16;
27444 case 4:
27445 // op: iop
27446 return 11;
27447 }
27448 break;
27449 }
27450 case AArch64::BFDOT_ZZI:
27451 case AArch64::BFMLA_ZZZI:
27452 case AArch64::BFMLS_ZZZI:
27453 case AArch64::FDOT_ZZZI_BtoS:
27454 case AArch64::FDOT_ZZZI_S:
27455 case AArch64::FMLA_ZZZI_H:
27456 case AArch64::FMLA_ZZZI_S:
27457 case AArch64::FMLS_ZZZI_H:
27458 case AArch64::FMLS_ZZZI_S:
27459 case AArch64::MLA_ZZZI_H:
27460 case AArch64::MLA_ZZZI_S:
27461 case AArch64::MLS_ZZZI_H:
27462 case AArch64::MLS_ZZZI_S:
27463 case AArch64::SQRDMLAH_ZZZI_H:
27464 case AArch64::SQRDMLAH_ZZZI_S:
27465 case AArch64::SQRDMLSH_ZZZI_H:
27466 case AArch64::SQRDMLSH_ZZZI_S: {
27467 switch (OpNum) {
27468 case 0:
27469 // op: Zda
27470 return 0;
27471 case 2:
27472 // op: Zn
27473 return 5;
27474 case 3:
27475 // op: Zm
27476 return 16;
27477 case 4:
27478 // op: iop
27479 return 19;
27480 }
27481 break;
27482 }
27483 case AArch64::FMLA_ZZZI_D:
27484 case AArch64::FMLS_ZZZI_D:
27485 case AArch64::MLA_ZZZI_D:
27486 case AArch64::MLS_ZZZI_D:
27487 case AArch64::SQRDMLAH_ZZZI_D:
27488 case AArch64::SQRDMLSH_ZZZI_D: {
27489 switch (OpNum) {
27490 case 0:
27491 // op: Zda
27492 return 0;
27493 case 2:
27494 // op: Zn
27495 return 5;
27496 case 3:
27497 // op: Zm
27498 return 16;
27499 case 4:
27500 // op: iop
27501 return 20;
27502 }
27503 break;
27504 }
27505 case AArch64::CDOT_ZZZ_D:
27506 case AArch64::CDOT_ZZZ_S:
27507 case AArch64::CMLA_ZZZ_B:
27508 case AArch64::CMLA_ZZZ_D:
27509 case AArch64::CMLA_ZZZ_H:
27510 case AArch64::CMLA_ZZZ_S:
27511 case AArch64::SQRDCMLAH_ZZZ_B:
27512 case AArch64::SQRDCMLAH_ZZZ_D:
27513 case AArch64::SQRDCMLAH_ZZZ_H:
27514 case AArch64::SQRDCMLAH_ZZZ_S: {
27515 switch (OpNum) {
27516 case 0:
27517 // op: Zda
27518 return 0;
27519 case 2:
27520 // op: Zn
27521 return 5;
27522 case 3:
27523 // op: Zm
27524 return 16;
27525 case 4:
27526 // op: rot
27527 return 10;
27528 }
27529 break;
27530 }
27531 case AArch64::ADCLB_ZZZ_D:
27532 case AArch64::ADCLB_ZZZ_S:
27533 case AArch64::ADCLT_ZZZ_D:
27534 case AArch64::ADCLT_ZZZ_S:
27535 case AArch64::BFDOT_ZZZ:
27536 case AArch64::BFMLALB_ZZZ:
27537 case AArch64::BFMLALT_ZZZ:
27538 case AArch64::BFMLSLB_ZZZ_S:
27539 case AArch64::BFMLSLT_ZZZ_S:
27540 case AArch64::BFMMLA_ZZZ_H:
27541 case AArch64::BFMMLA_ZZZ_HtoS:
27542 case AArch64::FDOT_ZZZ_BtoH:
27543 case AArch64::FDOT_ZZZ_BtoS:
27544 case AArch64::FDOT_ZZZ_S:
27545 case AArch64::FMLALB_ZZZ:
27546 case AArch64::FMLALB_ZZZ_SHH:
27547 case AArch64::FMLALLBB_ZZZ:
27548 case AArch64::FMLALLBT_ZZZ:
27549 case AArch64::FMLALLTB_ZZZ:
27550 case AArch64::FMLALLTT_ZZZ:
27551 case AArch64::FMLALT_ZZZ:
27552 case AArch64::FMLALT_ZZZ_SHH:
27553 case AArch64::FMLLA_ZZZ_HtoS:
27554 case AArch64::FMLSLB_ZZZ_SHH:
27555 case AArch64::FMLSLT_ZZZ_SHH:
27556 case AArch64::FMMLA_ZZZ_BtoH:
27557 case AArch64::FMMLA_ZZZ_BtoS:
27558 case AArch64::FMMLA_ZZZ_D:
27559 case AArch64::FMMLA_ZZZ_H:
27560 case AArch64::FMMLA_ZZZ_S:
27561 case AArch64::MLA_CPA:
27562 case AArch64::SABALB_ZZZ_D:
27563 case AArch64::SABALB_ZZZ_H:
27564 case AArch64::SABALB_ZZZ_S:
27565 case AArch64::SABALT_ZZZ_D:
27566 case AArch64::SABALT_ZZZ_H:
27567 case AArch64::SABALT_ZZZ_S:
27568 case AArch64::SABAL_ZZZ_BtoH:
27569 case AArch64::SABAL_ZZZ_HtoS:
27570 case AArch64::SABAL_ZZZ_StoD:
27571 case AArch64::SABA_ZZZ_B:
27572 case AArch64::SABA_ZZZ_D:
27573 case AArch64::SABA_ZZZ_H:
27574 case AArch64::SABA_ZZZ_S:
27575 case AArch64::SBCLB_ZZZ_D:
27576 case AArch64::SBCLB_ZZZ_S:
27577 case AArch64::SBCLT_ZZZ_D:
27578 case AArch64::SBCLT_ZZZ_S:
27579 case AArch64::SDOT_ZZZ_BtoH:
27580 case AArch64::SDOT_ZZZ_BtoS:
27581 case AArch64::SDOT_ZZZ_HtoD:
27582 case AArch64::SDOT_ZZZ_HtoS:
27583 case AArch64::SMLALB_ZZZ_D:
27584 case AArch64::SMLALB_ZZZ_H:
27585 case AArch64::SMLALB_ZZZ_S:
27586 case AArch64::SMLALT_ZZZ_D:
27587 case AArch64::SMLALT_ZZZ_H:
27588 case AArch64::SMLALT_ZZZ_S:
27589 case AArch64::SMLSLB_ZZZ_D:
27590 case AArch64::SMLSLB_ZZZ_H:
27591 case AArch64::SMLSLB_ZZZ_S:
27592 case AArch64::SMLSLT_ZZZ_D:
27593 case AArch64::SMLSLT_ZZZ_H:
27594 case AArch64::SMLSLT_ZZZ_S:
27595 case AArch64::SMMLA_ZZZ:
27596 case AArch64::SQDMLALBT_ZZZ_D:
27597 case AArch64::SQDMLALBT_ZZZ_H:
27598 case AArch64::SQDMLALBT_ZZZ_S:
27599 case AArch64::SQDMLALB_ZZZ_D:
27600 case AArch64::SQDMLALB_ZZZ_H:
27601 case AArch64::SQDMLALB_ZZZ_S:
27602 case AArch64::SQDMLALT_ZZZ_D:
27603 case AArch64::SQDMLALT_ZZZ_H:
27604 case AArch64::SQDMLALT_ZZZ_S:
27605 case AArch64::SQDMLSLBT_ZZZ_D:
27606 case AArch64::SQDMLSLBT_ZZZ_H:
27607 case AArch64::SQDMLSLBT_ZZZ_S:
27608 case AArch64::SQDMLSLB_ZZZ_D:
27609 case AArch64::SQDMLSLB_ZZZ_H:
27610 case AArch64::SQDMLSLB_ZZZ_S:
27611 case AArch64::SQDMLSLT_ZZZ_D:
27612 case AArch64::SQDMLSLT_ZZZ_H:
27613 case AArch64::SQDMLSLT_ZZZ_S:
27614 case AArch64::SQRDMLAH_ZZZ_B:
27615 case AArch64::SQRDMLAH_ZZZ_D:
27616 case AArch64::SQRDMLAH_ZZZ_H:
27617 case AArch64::SQRDMLAH_ZZZ_S:
27618 case AArch64::SQRDMLSH_ZZZ_B:
27619 case AArch64::SQRDMLSH_ZZZ_D:
27620 case AArch64::SQRDMLSH_ZZZ_H:
27621 case AArch64::SQRDMLSH_ZZZ_S:
27622 case AArch64::UABALB_ZZZ_D:
27623 case AArch64::UABALB_ZZZ_H:
27624 case AArch64::UABALB_ZZZ_S:
27625 case AArch64::UABALT_ZZZ_D:
27626 case AArch64::UABALT_ZZZ_H:
27627 case AArch64::UABALT_ZZZ_S:
27628 case AArch64::UABAL_ZZZ_BtoH:
27629 case AArch64::UABAL_ZZZ_HtoS:
27630 case AArch64::UABAL_ZZZ_StoD:
27631 case AArch64::UABA_ZZZ_B:
27632 case AArch64::UABA_ZZZ_D:
27633 case AArch64::UABA_ZZZ_H:
27634 case AArch64::UABA_ZZZ_S:
27635 case AArch64::UDOT_ZZZ_BtoH:
27636 case AArch64::UDOT_ZZZ_BtoS:
27637 case AArch64::UDOT_ZZZ_HtoD:
27638 case AArch64::UDOT_ZZZ_HtoS:
27639 case AArch64::UMLALB_ZZZ_D:
27640 case AArch64::UMLALB_ZZZ_H:
27641 case AArch64::UMLALB_ZZZ_S:
27642 case AArch64::UMLALT_ZZZ_D:
27643 case AArch64::UMLALT_ZZZ_H:
27644 case AArch64::UMLALT_ZZZ_S:
27645 case AArch64::UMLSLB_ZZZ_D:
27646 case AArch64::UMLSLB_ZZZ_H:
27647 case AArch64::UMLSLB_ZZZ_S:
27648 case AArch64::UMLSLT_ZZZ_D:
27649 case AArch64::UMLSLT_ZZZ_H:
27650 case AArch64::UMLSLT_ZZZ_S:
27651 case AArch64::UMMLA_ZZZ:
27652 case AArch64::USDOT_ZZZ:
27653 case AArch64::USMMLA_ZZZ: {
27654 switch (OpNum) {
27655 case 0:
27656 // op: Zda
27657 return 0;
27658 case 2:
27659 // op: Zn
27660 return 5;
27661 case 3:
27662 // op: Zm
27663 return 16;
27664 }
27665 break;
27666 }
27667 case AArch64::SRSRA_ZZI_B:
27668 case AArch64::SRSRA_ZZI_D:
27669 case AArch64::SRSRA_ZZI_H:
27670 case AArch64::SRSRA_ZZI_S:
27671 case AArch64::SSRA_ZZI_B:
27672 case AArch64::SSRA_ZZI_D:
27673 case AArch64::SSRA_ZZI_H:
27674 case AArch64::SSRA_ZZI_S:
27675 case AArch64::URSRA_ZZI_B:
27676 case AArch64::URSRA_ZZI_D:
27677 case AArch64::URSRA_ZZI_H:
27678 case AArch64::URSRA_ZZI_S:
27679 case AArch64::USRA_ZZI_B:
27680 case AArch64::USRA_ZZI_D:
27681 case AArch64::USRA_ZZI_H:
27682 case AArch64::USRA_ZZI_S: {
27683 switch (OpNum) {
27684 case 0:
27685 // op: Zda
27686 return 0;
27687 case 2:
27688 // op: Zn
27689 return 5;
27690 case 3:
27691 // op: imm
27692 return 16;
27693 }
27694 break;
27695 }
27696 case AArch64::SDOT_ZZZI_BtoH:
27697 case AArch64::SDOT_ZZZI_BtoS:
27698 case AArch64::UDOT_ZZZI_BtoH:
27699 case AArch64::UDOT_ZZZI_BtoS: {
27700 switch (OpNum) {
27701 case 0:
27702 // op: Zda
27703 return 0;
27704 case 2:
27705 // op: Zn
27706 return 5;
27707 case 4:
27708 // op: iop
27709 return 19;
27710 case 3:
27711 // op: Zm
27712 return 16;
27713 }
27714 break;
27715 }
27716 case AArch64::SDOT_ZZZI_HtoD:
27717 case AArch64::UDOT_ZZZI_HtoD: {
27718 switch (OpNum) {
27719 case 0:
27720 // op: Zda
27721 return 0;
27722 case 2:
27723 // op: Zn
27724 return 5;
27725 case 4:
27726 // op: iop
27727 return 20;
27728 case 3:
27729 // op: Zm
27730 return 16;
27731 }
27732 break;
27733 }
27734 case AArch64::FCMLA_ZZZI_H: {
27735 switch (OpNum) {
27736 case 0:
27737 // op: Zda
27738 return 0;
27739 case 2:
27740 // op: Zn
27741 return 5;
27742 case 5:
27743 // op: imm
27744 return 10;
27745 case 3:
27746 // op: Zm
27747 return 16;
27748 case 4:
27749 // op: iop
27750 return 19;
27751 }
27752 break;
27753 }
27754 case AArch64::FCMLA_ZZZI_S: {
27755 switch (OpNum) {
27756 case 0:
27757 // op: Zda
27758 return 0;
27759 case 2:
27760 // op: Zn
27761 return 5;
27762 case 5:
27763 // op: imm
27764 return 10;
27765 case 3:
27766 // op: Zm
27767 return 16;
27768 case 4:
27769 // op: iop
27770 return 20;
27771 }
27772 break;
27773 }
27774 case AArch64::CDOT_ZZZI_S:
27775 case AArch64::CMLA_ZZZI_H:
27776 case AArch64::SQRDCMLAH_ZZZI_H: {
27777 switch (OpNum) {
27778 case 0:
27779 // op: Zda
27780 return 0;
27781 case 2:
27782 // op: Zn
27783 return 5;
27784 case 5:
27785 // op: rot
27786 return 10;
27787 case 4:
27788 // op: iop
27789 return 19;
27790 case 3:
27791 // op: Zm
27792 return 16;
27793 }
27794 break;
27795 }
27796 case AArch64::CDOT_ZZZI_D:
27797 case AArch64::CMLA_ZZZI_S:
27798 case AArch64::SQRDCMLAH_ZZZI_S: {
27799 switch (OpNum) {
27800 case 0:
27801 // op: Zda
27802 return 0;
27803 case 2:
27804 // op: Zn
27805 return 5;
27806 case 5:
27807 // op: rot
27808 return 10;
27809 case 4:
27810 // op: iop
27811 return 20;
27812 case 3:
27813 // op: Zm
27814 return 16;
27815 }
27816 break;
27817 }
27818 case AArch64::MAD_CPA: {
27819 switch (OpNum) {
27820 case 0:
27821 // op: Zdn
27822 return 0;
27823 case 2:
27824 // op: Zm
27825 return 16;
27826 case 3:
27827 // op: Za
27828 return 5;
27829 }
27830 break;
27831 }
27832 case AArch64::XAR_ZZZI_B:
27833 case AArch64::XAR_ZZZI_D:
27834 case AArch64::XAR_ZZZI_H:
27835 case AArch64::XAR_ZZZI_S: {
27836 switch (OpNum) {
27837 case 0:
27838 // op: Zdn
27839 return 0;
27840 case 2:
27841 // op: Zm
27842 return 5;
27843 case 3:
27844 // op: imm
27845 return 16;
27846 }
27847 break;
27848 }
27849 case AArch64::FTMAD_ZZI_D:
27850 case AArch64::FTMAD_ZZI_H:
27851 case AArch64::FTMAD_ZZI_S: {
27852 switch (OpNum) {
27853 case 0:
27854 // op: Zdn
27855 return 0;
27856 case 2:
27857 // op: Zm
27858 return 5;
27859 case 3:
27860 // op: imm3
27861 return 16;
27862 }
27863 break;
27864 }
27865 case AArch64::EXTQ_ZZI: {
27866 switch (OpNum) {
27867 case 0:
27868 // op: Zdn
27869 return 0;
27870 case 2:
27871 // op: Zm
27872 return 5;
27873 case 3:
27874 // op: imm4
27875 return 16;
27876 }
27877 break;
27878 }
27879 case AArch64::EXT_ZZI: {
27880 switch (OpNum) {
27881 case 0:
27882 // op: Zdn
27883 return 0;
27884 case 2:
27885 // op: Zm
27886 return 5;
27887 case 3:
27888 // op: imm8
27889 return 10;
27890 }
27891 break;
27892 }
27893 case AArch64::CADD_ZZI_B:
27894 case AArch64::CADD_ZZI_D:
27895 case AArch64::CADD_ZZI_H:
27896 case AArch64::CADD_ZZI_S:
27897 case AArch64::SQCADD_ZZI_B:
27898 case AArch64::SQCADD_ZZI_D:
27899 case AArch64::SQCADD_ZZI_H:
27900 case AArch64::SQCADD_ZZI_S: {
27901 switch (OpNum) {
27902 case 0:
27903 // op: Zdn
27904 return 0;
27905 case 2:
27906 // op: Zm
27907 return 5;
27908 case 3:
27909 // op: rot
27910 return 10;
27911 }
27912 break;
27913 }
27914 case AArch64::AESD_ZZZ_B:
27915 case AArch64::AESE_ZZZ_B:
27916 case AArch64::SM4E_ZZZ_S: {
27917 switch (OpNum) {
27918 case 0:
27919 // op: Zdn
27920 return 0;
27921 case 2:
27922 // op: Zm
27923 return 5;
27924 }
27925 break;
27926 }
27927 case AArch64::ADD_ZI_B:
27928 case AArch64::ADD_ZI_D:
27929 case AArch64::ADD_ZI_H:
27930 case AArch64::ADD_ZI_S:
27931 case AArch64::MUL_ZI_B:
27932 case AArch64::MUL_ZI_D:
27933 case AArch64::MUL_ZI_H:
27934 case AArch64::MUL_ZI_S:
27935 case AArch64::SMAX_ZI_B:
27936 case AArch64::SMAX_ZI_D:
27937 case AArch64::SMAX_ZI_H:
27938 case AArch64::SMAX_ZI_S:
27939 case AArch64::SMIN_ZI_B:
27940 case AArch64::SMIN_ZI_D:
27941 case AArch64::SMIN_ZI_H:
27942 case AArch64::SMIN_ZI_S:
27943 case AArch64::SQADD_ZI_B:
27944 case AArch64::SQADD_ZI_D:
27945 case AArch64::SQADD_ZI_H:
27946 case AArch64::SQADD_ZI_S:
27947 case AArch64::SQSUB_ZI_B:
27948 case AArch64::SQSUB_ZI_D:
27949 case AArch64::SQSUB_ZI_H:
27950 case AArch64::SQSUB_ZI_S:
27951 case AArch64::SUBR_ZI_B:
27952 case AArch64::SUBR_ZI_D:
27953 case AArch64::SUBR_ZI_H:
27954 case AArch64::SUBR_ZI_S:
27955 case AArch64::SUB_ZI_B:
27956 case AArch64::SUB_ZI_D:
27957 case AArch64::SUB_ZI_H:
27958 case AArch64::SUB_ZI_S:
27959 case AArch64::UMAX_ZI_B:
27960 case AArch64::UMAX_ZI_D:
27961 case AArch64::UMAX_ZI_H:
27962 case AArch64::UMAX_ZI_S:
27963 case AArch64::UMIN_ZI_B:
27964 case AArch64::UMIN_ZI_D:
27965 case AArch64::UMIN_ZI_H:
27966 case AArch64::UMIN_ZI_S:
27967 case AArch64::UQADD_ZI_B:
27968 case AArch64::UQADD_ZI_D:
27969 case AArch64::UQADD_ZI_H:
27970 case AArch64::UQADD_ZI_S:
27971 case AArch64::UQSUB_ZI_B:
27972 case AArch64::UQSUB_ZI_D:
27973 case AArch64::UQSUB_ZI_H:
27974 case AArch64::UQSUB_ZI_S: {
27975 switch (OpNum) {
27976 case 0:
27977 // op: Zdn
27978 return 0;
27979 case 2:
27980 // op: imm
27981 return 5;
27982 }
27983 break;
27984 }
27985 case AArch64::AND_ZI:
27986 case AArch64::EOR_ZI:
27987 case AArch64::ORR_ZI: {
27988 switch (OpNum) {
27989 case 0:
27990 // op: Zdn
27991 return 0;
27992 case 2:
27993 // op: imms13
27994 return 5;
27995 }
27996 break;
27997 }
27998 case AArch64::DECD_ZPiI:
27999 case AArch64::DECH_ZPiI:
28000 case AArch64::DECW_ZPiI:
28001 case AArch64::INCD_ZPiI:
28002 case AArch64::INCH_ZPiI:
28003 case AArch64::INCW_ZPiI:
28004 case AArch64::SQDECD_ZPiI:
28005 case AArch64::SQDECH_ZPiI:
28006 case AArch64::SQDECW_ZPiI:
28007 case AArch64::SQINCD_ZPiI:
28008 case AArch64::SQINCH_ZPiI:
28009 case AArch64::SQINCW_ZPiI:
28010 case AArch64::UQDECD_ZPiI:
28011 case AArch64::UQDECH_ZPiI:
28012 case AArch64::UQDECW_ZPiI:
28013 case AArch64::UQINCD_ZPiI:
28014 case AArch64::UQINCH_ZPiI:
28015 case AArch64::UQINCW_ZPiI: {
28016 switch (OpNum) {
28017 case 0:
28018 // op: Zdn
28019 return 0;
28020 case 2:
28021 // op: pattern
28022 return 5;
28023 case 3:
28024 // op: imm4
28025 return 16;
28026 }
28027 break;
28028 }
28029 case AArch64::BCAX_ZZZZ:
28030 case AArch64::BSL1N_ZZZZ:
28031 case AArch64::BSL2N_ZZZZ:
28032 case AArch64::BSL_ZZZZ:
28033 case AArch64::EOR3_ZZZZ:
28034 case AArch64::NBSL_ZZZZ: {
28035 switch (OpNum) {
28036 case 0:
28037 // op: Zdn
28038 return 0;
28039 case 3:
28040 // op: Zk
28041 return 5;
28042 case 2:
28043 // op: Zm
28044 return 16;
28045 }
28046 break;
28047 }
28048 case AArch64::FCADD_ZPmZ_D:
28049 case AArch64::FCADD_ZPmZ_H:
28050 case AArch64::FCADD_ZPmZ_S: {
28051 switch (OpNum) {
28052 case 0:
28053 // op: Zdn
28054 return 0;
28055 case 3:
28056 // op: Zm
28057 return 5;
28058 case 1:
28059 // op: Pg
28060 return 10;
28061 case 4:
28062 // op: imm
28063 return 16;
28064 }
28065 break;
28066 }
28067 case AArch64::AESIMC_ZZ_B:
28068 case AArch64::AESMC_ZZ_B: {
28069 switch (OpNum) {
28070 case 0:
28071 // op: Zdn
28072 return 0;
28073 }
28074 break;
28075 }
28076 case AArch64::LD1RO_B:
28077 case AArch64::LD1RO_D:
28078 case AArch64::LD1RO_H:
28079 case AArch64::LD1RO_W:
28080 case AArch64::LD1RQ_B:
28081 case AArch64::LD1RQ_D:
28082 case AArch64::LD1RQ_H:
28083 case AArch64::LD1RQ_W: {
28084 switch (OpNum) {
28085 case 0:
28086 // op: Zt
28087 return 0;
28088 case 1:
28089 // op: Pg
28090 return 10;
28091 case 2:
28092 // op: Rn
28093 return 5;
28094 case 3:
28095 // op: Rm
28096 return 16;
28097 }
28098 break;
28099 }
28100 case AArch64::LD2B_IMM:
28101 case AArch64::LD2D_IMM:
28102 case AArch64::LD2H_IMM:
28103 case AArch64::LD2Q_IMM:
28104 case AArch64::LD2W_IMM:
28105 case AArch64::LD3B_IMM:
28106 case AArch64::LD3D_IMM:
28107 case AArch64::LD3H_IMM:
28108 case AArch64::LD3Q_IMM:
28109 case AArch64::LD3W_IMM:
28110 case AArch64::LD4B_IMM:
28111 case AArch64::LD4D_IMM:
28112 case AArch64::LD4H_IMM:
28113 case AArch64::LD4Q_IMM:
28114 case AArch64::LD4W_IMM:
28115 case AArch64::LDNT1B_ZRI:
28116 case AArch64::LDNT1D_ZRI:
28117 case AArch64::LDNT1H_ZRI:
28118 case AArch64::LDNT1W_ZRI: {
28119 switch (OpNum) {
28120 case 0:
28121 // op: Zt
28122 return 0;
28123 case 1:
28124 // op: Pg
28125 return 10;
28126 case 2:
28127 // op: Rn
28128 return 5;
28129 case 3:
28130 // op: imm4
28131 return 16;
28132 }
28133 break;
28134 }
28135 case AArch64::LD1B:
28136 case AArch64::LD1B_D:
28137 case AArch64::LD1B_H:
28138 case AArch64::LD1B_S:
28139 case AArch64::LD1D:
28140 case AArch64::LD1H:
28141 case AArch64::LD1H_D:
28142 case AArch64::LD1H_S:
28143 case AArch64::LD1SB_D:
28144 case AArch64::LD1SB_H:
28145 case AArch64::LD1SB_S:
28146 case AArch64::LD1SH_D:
28147 case AArch64::LD1SH_S:
28148 case AArch64::LD1SW_D:
28149 case AArch64::LD1W:
28150 case AArch64::LD1W_D:
28151 case AArch64::LDFF1B:
28152 case AArch64::LDFF1B_D:
28153 case AArch64::LDFF1B_H:
28154 case AArch64::LDFF1B_S:
28155 case AArch64::LDFF1D:
28156 case AArch64::LDFF1H:
28157 case AArch64::LDFF1H_D:
28158 case AArch64::LDFF1H_S:
28159 case AArch64::LDFF1SB_D:
28160 case AArch64::LDFF1SB_H:
28161 case AArch64::LDFF1SB_S:
28162 case AArch64::LDFF1SH_D:
28163 case AArch64::LDFF1SH_S:
28164 case AArch64::LDFF1SW_D:
28165 case AArch64::LDFF1W:
28166 case AArch64::LDFF1W_D: {
28167 switch (OpNum) {
28168 case 0:
28169 // op: Zt
28170 return 0;
28171 case 1:
28172 // op: Pg
28173 return 10;
28174 case 3:
28175 // op: Rm
28176 return 16;
28177 case 2:
28178 // op: Rn
28179 return 5;
28180 }
28181 break;
28182 }
28183 case AArch64::LD1D_Q:
28184 case AArch64::LD1W_Q:
28185 case AArch64::ST2Q:
28186 case AArch64::ST3Q:
28187 case AArch64::ST4Q: {
28188 switch (OpNum) {
28189 case 0:
28190 // op: Zt
28191 return 0;
28192 case 2:
28193 // op: Rn
28194 return 5;
28195 case 1:
28196 // op: Pg
28197 return 10;
28198 case 3:
28199 // op: Rm
28200 return 16;
28201 }
28202 break;
28203 }
28204 case AArch64::LD1D_Q_IMM:
28205 case AArch64::LD1RO_B_IMM:
28206 case AArch64::LD1RO_D_IMM:
28207 case AArch64::LD1RO_H_IMM:
28208 case AArch64::LD1RO_W_IMM:
28209 case AArch64::LD1RQ_B_IMM:
28210 case AArch64::LD1RQ_D_IMM:
28211 case AArch64::LD1RQ_H_IMM:
28212 case AArch64::LD1RQ_W_IMM:
28213 case AArch64::LD1W_Q_IMM:
28214 case AArch64::ST2Q_IMM:
28215 case AArch64::ST3Q_IMM:
28216 case AArch64::ST4Q_IMM: {
28217 switch (OpNum) {
28218 case 0:
28219 // op: Zt
28220 return 0;
28221 case 2:
28222 // op: Rn
28223 return 5;
28224 case 1:
28225 // op: Pg
28226 return 10;
28227 case 3:
28228 // op: imm4
28229 return 16;
28230 }
28231 break;
28232 }
28233 case AArch64::GLD1Q:
28234 case AArch64::SST1Q: {
28235 switch (OpNum) {
28236 case 0:
28237 // op: Zt
28238 return 0;
28239 case 2:
28240 // op: Zn
28241 return 5;
28242 case 1:
28243 // op: Pg
28244 return 10;
28245 case 3:
28246 // op: Rm
28247 return 16;
28248 }
28249 break;
28250 }
28251 case AArch64::LD1B_2Z_IMM:
28252 case AArch64::LD1D_2Z_IMM:
28253 case AArch64::LD1H_2Z_IMM:
28254 case AArch64::LD1W_2Z_IMM:
28255 case AArch64::LDNT1B_2Z_IMM:
28256 case AArch64::LDNT1D_2Z_IMM:
28257 case AArch64::LDNT1H_2Z_IMM:
28258 case AArch64::LDNT1W_2Z_IMM:
28259 case AArch64::ST1B_2Z_IMM:
28260 case AArch64::ST1D_2Z_IMM:
28261 case AArch64::ST1H_2Z_IMM:
28262 case AArch64::ST1W_2Z_IMM:
28263 case AArch64::STNT1B_2Z_IMM:
28264 case AArch64::STNT1D_2Z_IMM:
28265 case AArch64::STNT1H_2Z_IMM:
28266 case AArch64::STNT1W_2Z_IMM: {
28267 switch (OpNum) {
28268 case 0:
28269 // op: Zt
28270 return 1;
28271 case 2:
28272 // op: Rn
28273 return 5;
28274 case 1:
28275 // op: PNg
28276 return 10;
28277 case 3:
28278 // op: imm4
28279 return 16;
28280 }
28281 break;
28282 }
28283 case AArch64::LD1B_2Z:
28284 case AArch64::LD1D_2Z:
28285 case AArch64::LD1H_2Z:
28286 case AArch64::LD1W_2Z:
28287 case AArch64::LDNT1B_2Z:
28288 case AArch64::LDNT1D_2Z:
28289 case AArch64::LDNT1H_2Z:
28290 case AArch64::LDNT1W_2Z:
28291 case AArch64::ST1B_2Z:
28292 case AArch64::ST1D_2Z:
28293 case AArch64::ST1H_2Z:
28294 case AArch64::ST1W_2Z:
28295 case AArch64::STNT1B_2Z:
28296 case AArch64::STNT1D_2Z:
28297 case AArch64::STNT1H_2Z:
28298 case AArch64::STNT1W_2Z: {
28299 switch (OpNum) {
28300 case 0:
28301 // op: Zt
28302 return 1;
28303 case 3:
28304 // op: Rm
28305 return 16;
28306 case 2:
28307 // op: Rn
28308 return 5;
28309 case 1:
28310 // op: PNg
28311 return 10;
28312 }
28313 break;
28314 }
28315 case AArch64::LD1B_4Z_IMM:
28316 case AArch64::LD1D_4Z_IMM:
28317 case AArch64::LD1H_4Z_IMM:
28318 case AArch64::LD1W_4Z_IMM:
28319 case AArch64::LDNT1B_4Z_IMM:
28320 case AArch64::LDNT1D_4Z_IMM:
28321 case AArch64::LDNT1H_4Z_IMM:
28322 case AArch64::LDNT1W_4Z_IMM:
28323 case AArch64::ST1B_4Z_IMM:
28324 case AArch64::ST1D_4Z_IMM:
28325 case AArch64::ST1H_4Z_IMM:
28326 case AArch64::ST1W_4Z_IMM:
28327 case AArch64::STNT1B_4Z_IMM:
28328 case AArch64::STNT1D_4Z_IMM:
28329 case AArch64::STNT1H_4Z_IMM:
28330 case AArch64::STNT1W_4Z_IMM: {
28331 switch (OpNum) {
28332 case 0:
28333 // op: Zt
28334 return 2;
28335 case 2:
28336 // op: Rn
28337 return 5;
28338 case 1:
28339 // op: PNg
28340 return 10;
28341 case 3:
28342 // op: imm4
28343 return 16;
28344 }
28345 break;
28346 }
28347 case AArch64::LD1B_4Z:
28348 case AArch64::LD1D_4Z:
28349 case AArch64::LD1H_4Z:
28350 case AArch64::LD1W_4Z:
28351 case AArch64::LDNT1B_4Z:
28352 case AArch64::LDNT1D_4Z:
28353 case AArch64::LDNT1H_4Z:
28354 case AArch64::LDNT1W_4Z:
28355 case AArch64::ST1B_4Z:
28356 case AArch64::ST1D_4Z:
28357 case AArch64::ST1H_4Z:
28358 case AArch64::ST1W_4Z:
28359 case AArch64::STNT1B_4Z:
28360 case AArch64::STNT1D_4Z:
28361 case AArch64::STNT1H_4Z:
28362 case AArch64::STNT1W_4Z: {
28363 switch (OpNum) {
28364 case 0:
28365 // op: Zt
28366 return 2;
28367 case 3:
28368 // op: Rm
28369 return 16;
28370 case 2:
28371 // op: Rn
28372 return 5;
28373 case 1:
28374 // op: PNg
28375 return 10;
28376 }
28377 break;
28378 }
28379 case AArch64::B:
28380 case AArch64::BL: {
28381 switch (OpNum) {
28382 case 0:
28383 // op: addr
28384 return 0;
28385 }
28386 break;
28387 }
28388 case AArch64::BCcc:
28389 case AArch64::Bcc: {
28390 switch (OpNum) {
28391 case 0:
28392 // op: cond
28393 return 0;
28394 case 1:
28395 // op: target
28396 return 5;
28397 }
28398 break;
28399 }
28400 case AArch64::DUPi8: {
28401 switch (OpNum) {
28402 case 0:
28403 // op: dst
28404 return 0;
28405 case 1:
28406 // op: src
28407 return 5;
28408 case 2:
28409 // op: idx
28410 return 17;
28411 }
28412 break;
28413 }
28414 case AArch64::DUPi16: {
28415 switch (OpNum) {
28416 case 0:
28417 // op: dst
28418 return 0;
28419 case 1:
28420 // op: src
28421 return 5;
28422 case 2:
28423 // op: idx
28424 return 18;
28425 }
28426 break;
28427 }
28428 case AArch64::DUPi32: {
28429 switch (OpNum) {
28430 case 0:
28431 // op: dst
28432 return 0;
28433 case 1:
28434 // op: src
28435 return 5;
28436 case 2:
28437 // op: idx
28438 return 19;
28439 }
28440 break;
28441 }
28442 case AArch64::DUPi64: {
28443 switch (OpNum) {
28444 case 0:
28445 // op: dst
28446 return 0;
28447 case 1:
28448 // op: src
28449 return 5;
28450 case 2:
28451 // op: idx
28452 return 20;
28453 }
28454 break;
28455 }
28456 case AArch64::UDF:
28457 case AArch64::ZERO_M: {
28458 switch (OpNum) {
28459 case 0:
28460 // op: imm
28461 return 0;
28462 }
28463 break;
28464 }
28465 case AArch64::TENTER: {
28466 switch (OpNum) {
28467 case 0:
28468 // op: imm
28469 return 5;
28470 case 1:
28471 // op: nb
28472 return 17;
28473 }
28474 break;
28475 }
28476 case AArch64::BRK:
28477 case AArch64::DCPS1:
28478 case AArch64::DCPS2:
28479 case AArch64::DCPS3:
28480 case AArch64::HINT:
28481 case AArch64::HLT:
28482 case AArch64::HVC:
28483 case AArch64::SMC:
28484 case AArch64::SVC: {
28485 switch (OpNum) {
28486 case 0:
28487 // op: imm
28488 return 5;
28489 }
28490 break;
28491 }
28492 case AArch64::AUTIASPPCi:
28493 case AArch64::AUTIBSPPCi:
28494 case AArch64::RETAASPPCi:
28495 case AArch64::RETABSPPCi: {
28496 switch (OpNum) {
28497 case 0:
28498 // op: label
28499 return 5;
28500 }
28501 break;
28502 }
28503 case AArch64::TEXIT: {
28504 switch (OpNum) {
28505 case 0:
28506 // op: nb
28507 return 10;
28508 }
28509 break;
28510 }
28511 case AArch64::SYSPxt_XZR: {
28512 switch (OpNum) {
28513 case 0:
28514 // op: op1
28515 return 16;
28516 case 1:
28517 // op: Cn
28518 return 12;
28519 case 2:
28520 // op: Cm
28521 return 8;
28522 case 3:
28523 // op: op2
28524 return 5;
28525 }
28526 break;
28527 }
28528 case AArch64::STSHH: {
28529 switch (OpNum) {
28530 case 0:
28531 // op: policy
28532 return 5;
28533 }
28534 break;
28535 }
28536 case AArch64::SHUH: {
28537 switch (OpNum) {
28538 case 0:
28539 // op: priority
28540 return 5;
28541 }
28542 break;
28543 }
28544 case AArch64::MSRpstateImm1:
28545 case AArch64::MSRpstateImm4: {
28546 switch (OpNum) {
28547 case 0:
28548 // op: pstatefield
28549 return 5;
28550 case 1:
28551 // op: imm
28552 return 8;
28553 }
28554 break;
28555 }
28556 case AArch64::MSRpstatesvcrImm1: {
28557 switch (OpNum) {
28558 case 0:
28559 // op: pstatefield
28560 return 9;
28561 case 1:
28562 // op: imm
28563 return 8;
28564 }
28565 break;
28566 }
28567 case AArch64::SEL_VG2_2ZC2Z2Z_B:
28568 case AArch64::SEL_VG2_2ZC2Z2Z_D:
28569 case AArch64::SEL_VG2_2ZC2Z2Z_H:
28570 case AArch64::SEL_VG2_2ZC2Z2Z_S: {
28571 switch (OpNum) {
28572 case 1:
28573 // op: PNg
28574 return 10;
28575 case 3:
28576 // op: Zm
28577 return 17;
28578 case 2:
28579 // op: Zn
28580 return 6;
28581 case 0:
28582 // op: Zd
28583 return 1;
28584 }
28585 break;
28586 }
28587 case AArch64::SEL_VG4_4ZC4Z4Z_B:
28588 case AArch64::SEL_VG4_4ZC4Z4Z_D:
28589 case AArch64::SEL_VG4_4ZC4Z4Z_H:
28590 case AArch64::SEL_VG4_4ZC4Z4Z_S: {
28591 switch (OpNum) {
28592 case 1:
28593 // op: PNg
28594 return 10;
28595 case 3:
28596 // op: Zm
28597 return 18;
28598 case 2:
28599 // op: Zn
28600 return 7;
28601 case 0:
28602 // op: Zd
28603 return 2;
28604 }
28605 break;
28606 }
28607 case AArch64::LASTA_RPZ_B:
28608 case AArch64::LASTA_RPZ_D:
28609 case AArch64::LASTA_RPZ_H:
28610 case AArch64::LASTA_RPZ_S:
28611 case AArch64::LASTB_RPZ_B:
28612 case AArch64::LASTB_RPZ_D:
28613 case AArch64::LASTB_RPZ_H:
28614 case AArch64::LASTB_RPZ_S: {
28615 switch (OpNum) {
28616 case 1:
28617 // op: Pg
28618 return 10;
28619 case 0:
28620 // op: Rd
28621 return 0;
28622 case 2:
28623 // op: Zn
28624 return 5;
28625 }
28626 break;
28627 }
28628 case AArch64::CLASTA_RPZ_B:
28629 case AArch64::CLASTA_RPZ_D:
28630 case AArch64::CLASTA_RPZ_H:
28631 case AArch64::CLASTA_RPZ_S:
28632 case AArch64::CLASTB_RPZ_B:
28633 case AArch64::CLASTB_RPZ_D:
28634 case AArch64::CLASTB_RPZ_H:
28635 case AArch64::CLASTB_RPZ_S: {
28636 switch (OpNum) {
28637 case 1:
28638 // op: Pg
28639 return 10;
28640 case 0:
28641 // op: Rdn
28642 return 0;
28643 case 3:
28644 // op: Zm
28645 return 5;
28646 }
28647 break;
28648 }
28649 case AArch64::ANDV_VPZ_B:
28650 case AArch64::ANDV_VPZ_D:
28651 case AArch64::ANDV_VPZ_H:
28652 case AArch64::ANDV_VPZ_S:
28653 case AArch64::EORV_VPZ_B:
28654 case AArch64::EORV_VPZ_D:
28655 case AArch64::EORV_VPZ_H:
28656 case AArch64::EORV_VPZ_S:
28657 case AArch64::LASTA_VPZ_B:
28658 case AArch64::LASTA_VPZ_D:
28659 case AArch64::LASTA_VPZ_H:
28660 case AArch64::LASTA_VPZ_S:
28661 case AArch64::LASTB_VPZ_B:
28662 case AArch64::LASTB_VPZ_D:
28663 case AArch64::LASTB_VPZ_H:
28664 case AArch64::LASTB_VPZ_S:
28665 case AArch64::ORV_VPZ_B:
28666 case AArch64::ORV_VPZ_D:
28667 case AArch64::ORV_VPZ_H:
28668 case AArch64::ORV_VPZ_S:
28669 case AArch64::SADDV_VPZ_B:
28670 case AArch64::SADDV_VPZ_H:
28671 case AArch64::SADDV_VPZ_S:
28672 case AArch64::SMAXV_VPZ_B:
28673 case AArch64::SMAXV_VPZ_D:
28674 case AArch64::SMAXV_VPZ_H:
28675 case AArch64::SMAXV_VPZ_S:
28676 case AArch64::SMINV_VPZ_B:
28677 case AArch64::SMINV_VPZ_D:
28678 case AArch64::SMINV_VPZ_H:
28679 case AArch64::SMINV_VPZ_S:
28680 case AArch64::UADDV_VPZ_B:
28681 case AArch64::UADDV_VPZ_D:
28682 case AArch64::UADDV_VPZ_H:
28683 case AArch64::UADDV_VPZ_S:
28684 case AArch64::UMAXV_VPZ_B:
28685 case AArch64::UMAXV_VPZ_D:
28686 case AArch64::UMAXV_VPZ_H:
28687 case AArch64::UMAXV_VPZ_S:
28688 case AArch64::UMINV_VPZ_B:
28689 case AArch64::UMINV_VPZ_D:
28690 case AArch64::UMINV_VPZ_H:
28691 case AArch64::UMINV_VPZ_S: {
28692 switch (OpNum) {
28693 case 1:
28694 // op: Pg
28695 return 10;
28696 case 0:
28697 // op: Vd
28698 return 0;
28699 case 2:
28700 // op: Zn
28701 return 5;
28702 }
28703 break;
28704 }
28705 case AArch64::CLASTA_VPZ_B:
28706 case AArch64::CLASTA_VPZ_D:
28707 case AArch64::CLASTA_VPZ_H:
28708 case AArch64::CLASTA_VPZ_S:
28709 case AArch64::CLASTB_VPZ_B:
28710 case AArch64::CLASTB_VPZ_D:
28711 case AArch64::CLASTB_VPZ_H:
28712 case AArch64::CLASTB_VPZ_S:
28713 case AArch64::FADDA_VPZ_D:
28714 case AArch64::FADDA_VPZ_H:
28715 case AArch64::FADDA_VPZ_S: {
28716 switch (OpNum) {
28717 case 1:
28718 // op: Pg
28719 return 10;
28720 case 0:
28721 // op: Vdn
28722 return 0;
28723 case 3:
28724 // op: Zm
28725 return 5;
28726 }
28727 break;
28728 }
28729 case AArch64::ABS_ZPzZ_B:
28730 case AArch64::ABS_ZPzZ_D:
28731 case AArch64::ABS_ZPzZ_H:
28732 case AArch64::ABS_ZPzZ_S:
28733 case AArch64::BFCVT_ZPzZ_StoH:
28734 case AArch64::CLS_ZPzZ_B:
28735 case AArch64::CLS_ZPzZ_D:
28736 case AArch64::CLS_ZPzZ_H:
28737 case AArch64::CLS_ZPzZ_S:
28738 case AArch64::CLZ_ZPzZ_B:
28739 case AArch64::CLZ_ZPzZ_D:
28740 case AArch64::CLZ_ZPzZ_H:
28741 case AArch64::CLZ_ZPzZ_S:
28742 case AArch64::CNOT_ZPzZ_B:
28743 case AArch64::CNOT_ZPzZ_D:
28744 case AArch64::CNOT_ZPzZ_H:
28745 case AArch64::CNOT_ZPzZ_S:
28746 case AArch64::CNT_ZPzZ_B:
28747 case AArch64::CNT_ZPzZ_D:
28748 case AArch64::CNT_ZPzZ_H:
28749 case AArch64::CNT_ZPzZ_S:
28750 case AArch64::COMPACT_ZPZ_B:
28751 case AArch64::COMPACT_ZPZ_D:
28752 case AArch64::COMPACT_ZPZ_H:
28753 case AArch64::COMPACT_ZPZ_S:
28754 case AArch64::FABS_ZPzZ_D:
28755 case AArch64::FABS_ZPzZ_H:
28756 case AArch64::FABS_ZPzZ_S:
28757 case AArch64::FCVTX_ZPzZ_DtoS:
28758 case AArch64::FCVTZS_ZPzZ_DtoD:
28759 case AArch64::FCVTZS_ZPzZ_DtoS:
28760 case AArch64::FCVTZS_ZPzZ_HtoD:
28761 case AArch64::FCVTZS_ZPzZ_HtoH:
28762 case AArch64::FCVTZS_ZPzZ_HtoS:
28763 case AArch64::FCVTZS_ZPzZ_StoD:
28764 case AArch64::FCVTZS_ZPzZ_StoS:
28765 case AArch64::FCVTZU_ZPzZ_DtoD:
28766 case AArch64::FCVTZU_ZPzZ_DtoS:
28767 case AArch64::FCVTZU_ZPzZ_HtoD:
28768 case AArch64::FCVTZU_ZPzZ_HtoH:
28769 case AArch64::FCVTZU_ZPzZ_HtoS:
28770 case AArch64::FCVTZU_ZPzZ_StoD:
28771 case AArch64::FCVTZU_ZPzZ_StoS:
28772 case AArch64::FCVT_ZPzZ_DtoH:
28773 case AArch64::FCVT_ZPzZ_DtoS:
28774 case AArch64::FCVT_ZPzZ_HtoD:
28775 case AArch64::FCVT_ZPzZ_HtoS:
28776 case AArch64::FCVT_ZPzZ_StoD:
28777 case AArch64::FCVT_ZPzZ_StoH:
28778 case AArch64::FLOGB_ZPzZ_D:
28779 case AArch64::FLOGB_ZPzZ_H:
28780 case AArch64::FLOGB_ZPzZ_S:
28781 case AArch64::FNEG_ZPzZ_D:
28782 case AArch64::FNEG_ZPzZ_H:
28783 case AArch64::FNEG_ZPzZ_S:
28784 case AArch64::FRECPX_ZPzZ_D:
28785 case AArch64::FRECPX_ZPzZ_H:
28786 case AArch64::FRECPX_ZPzZ_S:
28787 case AArch64::FRINT32X_ZPzZ_D:
28788 case AArch64::FRINT32X_ZPzZ_S:
28789 case AArch64::FRINT32Z_ZPzZ_D:
28790 case AArch64::FRINT32Z_ZPzZ_S:
28791 case AArch64::FRINT64X_ZPzZ_D:
28792 case AArch64::FRINT64X_ZPzZ_S:
28793 case AArch64::FRINT64Z_ZPzZ_D:
28794 case AArch64::FRINT64Z_ZPzZ_S:
28795 case AArch64::FRINTA_ZPzZ_D:
28796 case AArch64::FRINTA_ZPzZ_H:
28797 case AArch64::FRINTA_ZPzZ_S:
28798 case AArch64::FRINTI_ZPzZ_D:
28799 case AArch64::FRINTI_ZPzZ_H:
28800 case AArch64::FRINTI_ZPzZ_S:
28801 case AArch64::FRINTM_ZPzZ_D:
28802 case AArch64::FRINTM_ZPzZ_H:
28803 case AArch64::FRINTM_ZPzZ_S:
28804 case AArch64::FRINTN_ZPzZ_D:
28805 case AArch64::FRINTN_ZPzZ_H:
28806 case AArch64::FRINTN_ZPzZ_S:
28807 case AArch64::FRINTP_ZPzZ_D:
28808 case AArch64::FRINTP_ZPzZ_H:
28809 case AArch64::FRINTP_ZPzZ_S:
28810 case AArch64::FRINTX_ZPzZ_D:
28811 case AArch64::FRINTX_ZPzZ_H:
28812 case AArch64::FRINTX_ZPzZ_S:
28813 case AArch64::FRINTZ_ZPzZ_D:
28814 case AArch64::FRINTZ_ZPzZ_H:
28815 case AArch64::FRINTZ_ZPzZ_S:
28816 case AArch64::FSQRT_ZPZz_D:
28817 case AArch64::FSQRT_ZPZz_H:
28818 case AArch64::FSQRT_ZPZz_S:
28819 case AArch64::MOVPRFX_ZPzZ_B:
28820 case AArch64::MOVPRFX_ZPzZ_D:
28821 case AArch64::MOVPRFX_ZPzZ_H:
28822 case AArch64::MOVPRFX_ZPzZ_S:
28823 case AArch64::NEG_ZPzZ_B:
28824 case AArch64::NEG_ZPzZ_D:
28825 case AArch64::NEG_ZPzZ_H:
28826 case AArch64::NEG_ZPzZ_S:
28827 case AArch64::NOT_ZPzZ_B:
28828 case AArch64::NOT_ZPzZ_D:
28829 case AArch64::NOT_ZPzZ_H:
28830 case AArch64::NOT_ZPzZ_S:
28831 case AArch64::SCVTF_ZPzZ_DtoD:
28832 case AArch64::SCVTF_ZPzZ_DtoH:
28833 case AArch64::SCVTF_ZPzZ_DtoS:
28834 case AArch64::SCVTF_ZPzZ_HtoH:
28835 case AArch64::SCVTF_ZPzZ_StoD:
28836 case AArch64::SCVTF_ZPzZ_StoH:
28837 case AArch64::SCVTF_ZPzZ_StoS:
28838 case AArch64::SQABS_ZPzZ_B:
28839 case AArch64::SQABS_ZPzZ_D:
28840 case AArch64::SQABS_ZPzZ_H:
28841 case AArch64::SQABS_ZPzZ_S:
28842 case AArch64::SQNEG_ZPzZ_B:
28843 case AArch64::SQNEG_ZPzZ_D:
28844 case AArch64::SQNEG_ZPzZ_H:
28845 case AArch64::SQNEG_ZPzZ_S:
28846 case AArch64::SXTB_ZPzZ_D:
28847 case AArch64::SXTB_ZPzZ_H:
28848 case AArch64::SXTB_ZPzZ_S:
28849 case AArch64::SXTH_ZPzZ_D:
28850 case AArch64::SXTH_ZPzZ_S:
28851 case AArch64::SXTW_ZPzZ_D:
28852 case AArch64::UCVTF_ZPzZ_DtoD:
28853 case AArch64::UCVTF_ZPzZ_DtoH:
28854 case AArch64::UCVTF_ZPzZ_DtoS:
28855 case AArch64::UCVTF_ZPzZ_HtoH:
28856 case AArch64::UCVTF_ZPzZ_StoD:
28857 case AArch64::UCVTF_ZPzZ_StoH:
28858 case AArch64::UCVTF_ZPzZ_StoS:
28859 case AArch64::URECPE_ZPzZ_S:
28860 case AArch64::URSQRTE_ZPzZ_S:
28861 case AArch64::UXTB_ZPzZ_D:
28862 case AArch64::UXTB_ZPzZ_H:
28863 case AArch64::UXTB_ZPzZ_S:
28864 case AArch64::UXTH_ZPzZ_D:
28865 case AArch64::UXTH_ZPzZ_S:
28866 case AArch64::UXTW_ZPzZ_D: {
28867 switch (OpNum) {
28868 case 1:
28869 // op: Pg
28870 return 10;
28871 case 0:
28872 // op: Zd
28873 return 0;
28874 case 2:
28875 // op: Zn
28876 return 5;
28877 }
28878 break;
28879 }
28880 case AArch64::SEL_ZPZZ_B:
28881 case AArch64::SEL_ZPZZ_D:
28882 case AArch64::SEL_ZPZZ_H:
28883 case AArch64::SEL_ZPZZ_S: {
28884 switch (OpNum) {
28885 case 1:
28886 // op: Pg
28887 return 10;
28888 case 0:
28889 // op: Zd
28890 return 0;
28891 case 3:
28892 // op: Zm
28893 return 16;
28894 case 2:
28895 // op: Zn
28896 return 5;
28897 }
28898 break;
28899 }
28900 case AArch64::BFMLA_ZPmZZ:
28901 case AArch64::BFMLS_ZPmZZ:
28902 case AArch64::FMLA_ZPmZZ_D:
28903 case AArch64::FMLA_ZPmZZ_H:
28904 case AArch64::FMLA_ZPmZZ_S:
28905 case AArch64::FMLS_ZPmZZ_D:
28906 case AArch64::FMLS_ZPmZZ_H:
28907 case AArch64::FMLS_ZPmZZ_S:
28908 case AArch64::FNMLA_ZPmZZ_D:
28909 case AArch64::FNMLA_ZPmZZ_H:
28910 case AArch64::FNMLA_ZPmZZ_S:
28911 case AArch64::FNMLS_ZPmZZ_D:
28912 case AArch64::FNMLS_ZPmZZ_H:
28913 case AArch64::FNMLS_ZPmZZ_S:
28914 case AArch64::MLA_ZPmZZ_B:
28915 case AArch64::MLA_ZPmZZ_D:
28916 case AArch64::MLA_ZPmZZ_H:
28917 case AArch64::MLA_ZPmZZ_S:
28918 case AArch64::MLS_ZPmZZ_B:
28919 case AArch64::MLS_ZPmZZ_D:
28920 case AArch64::MLS_ZPmZZ_H:
28921 case AArch64::MLS_ZPmZZ_S: {
28922 switch (OpNum) {
28923 case 1:
28924 // op: Pg
28925 return 10;
28926 case 0:
28927 // op: Zda
28928 return 0;
28929 case 4:
28930 // op: Zm
28931 return 16;
28932 case 3:
28933 // op: Zn
28934 return 5;
28935 }
28936 break;
28937 }
28938 case AArch64::ADD_ZPmZ_B:
28939 case AArch64::ADD_ZPmZ_CPA:
28940 case AArch64::ADD_ZPmZ_D:
28941 case AArch64::ADD_ZPmZ_H:
28942 case AArch64::ADD_ZPmZ_S:
28943 case AArch64::AND_ZPmZ_B:
28944 case AArch64::AND_ZPmZ_D:
28945 case AArch64::AND_ZPmZ_H:
28946 case AArch64::AND_ZPmZ_S:
28947 case AArch64::ASRR_ZPmZ_B:
28948 case AArch64::ASRR_ZPmZ_D:
28949 case AArch64::ASRR_ZPmZ_H:
28950 case AArch64::ASRR_ZPmZ_S:
28951 case AArch64::ASR_WIDE_ZPmZ_B:
28952 case AArch64::ASR_WIDE_ZPmZ_H:
28953 case AArch64::ASR_WIDE_ZPmZ_S:
28954 case AArch64::ASR_ZPmZ_B:
28955 case AArch64::ASR_ZPmZ_D:
28956 case AArch64::ASR_ZPmZ_H:
28957 case AArch64::ASR_ZPmZ_S:
28958 case AArch64::BFADD_ZPmZZ:
28959 case AArch64::BFMAXNM_ZPmZZ:
28960 case AArch64::BFMAX_ZPmZZ:
28961 case AArch64::BFMINNM_ZPmZZ:
28962 case AArch64::BFMIN_ZPmZZ:
28963 case AArch64::BFMUL_ZPmZZ:
28964 case AArch64::BFSCALE_ZPZZ_H:
28965 case AArch64::BFSUB_ZPmZZ:
28966 case AArch64::BIC_ZPmZ_B:
28967 case AArch64::BIC_ZPmZ_D:
28968 case AArch64::BIC_ZPmZ_H:
28969 case AArch64::BIC_ZPmZ_S:
28970 case AArch64::CLASTA_ZPZ_B:
28971 case AArch64::CLASTA_ZPZ_D:
28972 case AArch64::CLASTA_ZPZ_H:
28973 case AArch64::CLASTA_ZPZ_S:
28974 case AArch64::CLASTB_ZPZ_B:
28975 case AArch64::CLASTB_ZPZ_D:
28976 case AArch64::CLASTB_ZPZ_H:
28977 case AArch64::CLASTB_ZPZ_S:
28978 case AArch64::EOR_ZPmZ_B:
28979 case AArch64::EOR_ZPmZ_D:
28980 case AArch64::EOR_ZPmZ_H:
28981 case AArch64::EOR_ZPmZ_S:
28982 case AArch64::FABD_ZPmZ_D:
28983 case AArch64::FABD_ZPmZ_H:
28984 case AArch64::FABD_ZPmZ_S:
28985 case AArch64::FADD_ZPmZ_D:
28986 case AArch64::FADD_ZPmZ_H:
28987 case AArch64::FADD_ZPmZ_S:
28988 case AArch64::FAMAX_ZPmZ_D:
28989 case AArch64::FAMAX_ZPmZ_H:
28990 case AArch64::FAMAX_ZPmZ_S:
28991 case AArch64::FAMIN_ZPmZ_D:
28992 case AArch64::FAMIN_ZPmZ_H:
28993 case AArch64::FAMIN_ZPmZ_S:
28994 case AArch64::FDIVR_ZPmZ_D:
28995 case AArch64::FDIVR_ZPmZ_H:
28996 case AArch64::FDIVR_ZPmZ_S:
28997 case AArch64::FDIV_ZPmZ_D:
28998 case AArch64::FDIV_ZPmZ_H:
28999 case AArch64::FDIV_ZPmZ_S:
29000 case AArch64::FMAXNM_ZPmZ_D:
29001 case AArch64::FMAXNM_ZPmZ_H:
29002 case AArch64::FMAXNM_ZPmZ_S:
29003 case AArch64::FMAX_ZPmZ_D:
29004 case AArch64::FMAX_ZPmZ_H:
29005 case AArch64::FMAX_ZPmZ_S:
29006 case AArch64::FMINNM_ZPmZ_D:
29007 case AArch64::FMINNM_ZPmZ_H:
29008 case AArch64::FMINNM_ZPmZ_S:
29009 case AArch64::FMIN_ZPmZ_D:
29010 case AArch64::FMIN_ZPmZ_H:
29011 case AArch64::FMIN_ZPmZ_S:
29012 case AArch64::FMULX_ZPmZ_D:
29013 case AArch64::FMULX_ZPmZ_H:
29014 case AArch64::FMULX_ZPmZ_S:
29015 case AArch64::FMUL_ZPmZ_D:
29016 case AArch64::FMUL_ZPmZ_H:
29017 case AArch64::FMUL_ZPmZ_S:
29018 case AArch64::FSCALE_ZPmZ_D:
29019 case AArch64::FSCALE_ZPmZ_H:
29020 case AArch64::FSCALE_ZPmZ_S:
29021 case AArch64::FSUBR_ZPmZ_D:
29022 case AArch64::FSUBR_ZPmZ_H:
29023 case AArch64::FSUBR_ZPmZ_S:
29024 case AArch64::FSUB_ZPmZ_D:
29025 case AArch64::FSUB_ZPmZ_H:
29026 case AArch64::FSUB_ZPmZ_S:
29027 case AArch64::LSLR_ZPmZ_B:
29028 case AArch64::LSLR_ZPmZ_D:
29029 case AArch64::LSLR_ZPmZ_H:
29030 case AArch64::LSLR_ZPmZ_S:
29031 case AArch64::LSL_WIDE_ZPmZ_B:
29032 case AArch64::LSL_WIDE_ZPmZ_H:
29033 case AArch64::LSL_WIDE_ZPmZ_S:
29034 case AArch64::LSL_ZPmZ_B:
29035 case AArch64::LSL_ZPmZ_D:
29036 case AArch64::LSL_ZPmZ_H:
29037 case AArch64::LSL_ZPmZ_S:
29038 case AArch64::LSRR_ZPmZ_B:
29039 case AArch64::LSRR_ZPmZ_D:
29040 case AArch64::LSRR_ZPmZ_H:
29041 case AArch64::LSRR_ZPmZ_S:
29042 case AArch64::LSR_WIDE_ZPmZ_B:
29043 case AArch64::LSR_WIDE_ZPmZ_H:
29044 case AArch64::LSR_WIDE_ZPmZ_S:
29045 case AArch64::LSR_ZPmZ_B:
29046 case AArch64::LSR_ZPmZ_D:
29047 case AArch64::LSR_ZPmZ_H:
29048 case AArch64::LSR_ZPmZ_S:
29049 case AArch64::MUL_ZPmZ_B:
29050 case AArch64::MUL_ZPmZ_D:
29051 case AArch64::MUL_ZPmZ_H:
29052 case AArch64::MUL_ZPmZ_S:
29053 case AArch64::ORR_ZPmZ_B:
29054 case AArch64::ORR_ZPmZ_D:
29055 case AArch64::ORR_ZPmZ_H:
29056 case AArch64::ORR_ZPmZ_S:
29057 case AArch64::SABD_ZPmZ_B:
29058 case AArch64::SABD_ZPmZ_D:
29059 case AArch64::SABD_ZPmZ_H:
29060 case AArch64::SABD_ZPmZ_S:
29061 case AArch64::SDIVR_ZPmZ_D:
29062 case AArch64::SDIVR_ZPmZ_S:
29063 case AArch64::SDIV_ZPmZ_D:
29064 case AArch64::SDIV_ZPmZ_S:
29065 case AArch64::SMAX_ZPmZ_B:
29066 case AArch64::SMAX_ZPmZ_D:
29067 case AArch64::SMAX_ZPmZ_H:
29068 case AArch64::SMAX_ZPmZ_S:
29069 case AArch64::SMIN_ZPmZ_B:
29070 case AArch64::SMIN_ZPmZ_D:
29071 case AArch64::SMIN_ZPmZ_H:
29072 case AArch64::SMIN_ZPmZ_S:
29073 case AArch64::SMULH_ZPmZ_B:
29074 case AArch64::SMULH_ZPmZ_D:
29075 case AArch64::SMULH_ZPmZ_H:
29076 case AArch64::SMULH_ZPmZ_S:
29077 case AArch64::SPLICE_ZPZ_B:
29078 case AArch64::SPLICE_ZPZ_D:
29079 case AArch64::SPLICE_ZPZ_H:
29080 case AArch64::SPLICE_ZPZ_S:
29081 case AArch64::SUBR_ZPmZ_B:
29082 case AArch64::SUBR_ZPmZ_D:
29083 case AArch64::SUBR_ZPmZ_H:
29084 case AArch64::SUBR_ZPmZ_S:
29085 case AArch64::SUB_ZPmZ_B:
29086 case AArch64::SUB_ZPmZ_CPA:
29087 case AArch64::SUB_ZPmZ_D:
29088 case AArch64::SUB_ZPmZ_H:
29089 case AArch64::SUB_ZPmZ_S:
29090 case AArch64::UABD_ZPmZ_B:
29091 case AArch64::UABD_ZPmZ_D:
29092 case AArch64::UABD_ZPmZ_H:
29093 case AArch64::UABD_ZPmZ_S:
29094 case AArch64::UDIVR_ZPmZ_D:
29095 case AArch64::UDIVR_ZPmZ_S:
29096 case AArch64::UDIV_ZPmZ_D:
29097 case AArch64::UDIV_ZPmZ_S:
29098 case AArch64::UMAX_ZPmZ_B:
29099 case AArch64::UMAX_ZPmZ_D:
29100 case AArch64::UMAX_ZPmZ_H:
29101 case AArch64::UMAX_ZPmZ_S:
29102 case AArch64::UMIN_ZPmZ_B:
29103 case AArch64::UMIN_ZPmZ_D:
29104 case AArch64::UMIN_ZPmZ_H:
29105 case AArch64::UMIN_ZPmZ_S:
29106 case AArch64::UMULH_ZPmZ_B:
29107 case AArch64::UMULH_ZPmZ_D:
29108 case AArch64::UMULH_ZPmZ_H:
29109 case AArch64::UMULH_ZPmZ_S: {
29110 switch (OpNum) {
29111 case 1:
29112 // op: Pg
29113 return 10;
29114 case 0:
29115 // op: Zdn
29116 return 0;
29117 case 3:
29118 // op: Zm
29119 return 5;
29120 }
29121 break;
29122 }
29123 case AArch64::FADD_ZPmI_D:
29124 case AArch64::FADD_ZPmI_H:
29125 case AArch64::FADD_ZPmI_S:
29126 case AArch64::FMAXNM_ZPmI_D:
29127 case AArch64::FMAXNM_ZPmI_H:
29128 case AArch64::FMAXNM_ZPmI_S:
29129 case AArch64::FMAX_ZPmI_D:
29130 case AArch64::FMAX_ZPmI_H:
29131 case AArch64::FMAX_ZPmI_S:
29132 case AArch64::FMINNM_ZPmI_D:
29133 case AArch64::FMINNM_ZPmI_H:
29134 case AArch64::FMINNM_ZPmI_S:
29135 case AArch64::FMIN_ZPmI_D:
29136 case AArch64::FMIN_ZPmI_H:
29137 case AArch64::FMIN_ZPmI_S:
29138 case AArch64::FMUL_ZPmI_D:
29139 case AArch64::FMUL_ZPmI_H:
29140 case AArch64::FMUL_ZPmI_S:
29141 case AArch64::FSUBR_ZPmI_D:
29142 case AArch64::FSUBR_ZPmI_H:
29143 case AArch64::FSUBR_ZPmI_S:
29144 case AArch64::FSUB_ZPmI_D:
29145 case AArch64::FSUB_ZPmI_H:
29146 case AArch64::FSUB_ZPmI_S: {
29147 switch (OpNum) {
29148 case 1:
29149 // op: Pg
29150 return 10;
29151 case 0:
29152 // op: Zdn
29153 return 0;
29154 case 3:
29155 // op: i1
29156 return 5;
29157 }
29158 break;
29159 }
29160 case AArch64::ASRD_ZPmI_B:
29161 case AArch64::ASRD_ZPmI_D:
29162 case AArch64::ASRD_ZPmI_H:
29163 case AArch64::ASRD_ZPmI_S:
29164 case AArch64::ASR_ZPmI_B:
29165 case AArch64::ASR_ZPmI_D:
29166 case AArch64::ASR_ZPmI_H:
29167 case AArch64::ASR_ZPmI_S:
29168 case AArch64::LSL_ZPmI_B:
29169 case AArch64::LSL_ZPmI_D:
29170 case AArch64::LSL_ZPmI_H:
29171 case AArch64::LSL_ZPmI_S:
29172 case AArch64::LSR_ZPmI_B:
29173 case AArch64::LSR_ZPmI_D:
29174 case AArch64::LSR_ZPmI_H:
29175 case AArch64::LSR_ZPmI_S:
29176 case AArch64::SQSHLU_ZPmI_B:
29177 case AArch64::SQSHLU_ZPmI_D:
29178 case AArch64::SQSHLU_ZPmI_H:
29179 case AArch64::SQSHLU_ZPmI_S:
29180 case AArch64::SQSHL_ZPmI_B:
29181 case AArch64::SQSHL_ZPmI_D:
29182 case AArch64::SQSHL_ZPmI_H:
29183 case AArch64::SQSHL_ZPmI_S:
29184 case AArch64::SRSHR_ZPmI_B:
29185 case AArch64::SRSHR_ZPmI_D:
29186 case AArch64::SRSHR_ZPmI_H:
29187 case AArch64::SRSHR_ZPmI_S:
29188 case AArch64::UQSHL_ZPmI_B:
29189 case AArch64::UQSHL_ZPmI_D:
29190 case AArch64::UQSHL_ZPmI_H:
29191 case AArch64::UQSHL_ZPmI_S:
29192 case AArch64::URSHR_ZPmI_B:
29193 case AArch64::URSHR_ZPmI_D:
29194 case AArch64::URSHR_ZPmI_H:
29195 case AArch64::URSHR_ZPmI_S: {
29196 switch (OpNum) {
29197 case 1:
29198 // op: Pg
29199 return 10;
29200 case 0:
29201 // op: Zdn
29202 return 0;
29203 case 3:
29204 // op: imm
29205 return 5;
29206 }
29207 break;
29208 }
29209 case AArch64::MAD_ZPmZZ_B:
29210 case AArch64::MAD_ZPmZZ_D:
29211 case AArch64::MAD_ZPmZZ_H:
29212 case AArch64::MAD_ZPmZZ_S:
29213 case AArch64::MSB_ZPmZZ_B:
29214 case AArch64::MSB_ZPmZZ_D:
29215 case AArch64::MSB_ZPmZZ_H:
29216 case AArch64::MSB_ZPmZZ_S: {
29217 switch (OpNum) {
29218 case 1:
29219 // op: Pg
29220 return 10;
29221 case 0:
29222 // op: Zdn
29223 return 0;
29224 case 4:
29225 // op: Za
29226 return 5;
29227 case 3:
29228 // op: Zm
29229 return 16;
29230 }
29231 break;
29232 }
29233 case AArch64::CNTP_XPP_B:
29234 case AArch64::CNTP_XPP_D:
29235 case AArch64::CNTP_XPP_H:
29236 case AArch64::CNTP_XPP_S:
29237 case AArch64::FIRSTP_XPP_B:
29238 case AArch64::FIRSTP_XPP_D:
29239 case AArch64::FIRSTP_XPP_H:
29240 case AArch64::FIRSTP_XPP_S:
29241 case AArch64::LASTP_XPP_B:
29242 case AArch64::LASTP_XPP_D:
29243 case AArch64::LASTP_XPP_H:
29244 case AArch64::LASTP_XPP_S: {
29245 switch (OpNum) {
29246 case 1:
29247 // op: Pg
29248 return 10;
29249 case 2:
29250 // op: Pn
29251 return 5;
29252 case 0:
29253 // op: Rd
29254 return 0;
29255 }
29256 break;
29257 }
29258 case AArch64::LD1B_D_IMM:
29259 case AArch64::LD1B_H_IMM:
29260 case AArch64::LD1B_IMM:
29261 case AArch64::LD1B_S_IMM:
29262 case AArch64::LD1D_IMM:
29263 case AArch64::LD1H_D_IMM:
29264 case AArch64::LD1H_IMM:
29265 case AArch64::LD1H_S_IMM:
29266 case AArch64::LD1SB_D_IMM:
29267 case AArch64::LD1SB_H_IMM:
29268 case AArch64::LD1SB_S_IMM:
29269 case AArch64::LD1SH_D_IMM:
29270 case AArch64::LD1SH_S_IMM:
29271 case AArch64::LD1SW_D_IMM:
29272 case AArch64::LD1W_D_IMM:
29273 case AArch64::LD1W_IMM:
29274 case AArch64::LDNF1B_D_IMM:
29275 case AArch64::LDNF1B_H_IMM:
29276 case AArch64::LDNF1B_IMM:
29277 case AArch64::LDNF1B_S_IMM:
29278 case AArch64::LDNF1D_IMM:
29279 case AArch64::LDNF1H_D_IMM:
29280 case AArch64::LDNF1H_IMM:
29281 case AArch64::LDNF1H_S_IMM:
29282 case AArch64::LDNF1SB_D_IMM:
29283 case AArch64::LDNF1SB_H_IMM:
29284 case AArch64::LDNF1SB_S_IMM:
29285 case AArch64::LDNF1SH_D_IMM:
29286 case AArch64::LDNF1SH_S_IMM:
29287 case AArch64::LDNF1SW_D_IMM:
29288 case AArch64::LDNF1W_D_IMM:
29289 case AArch64::LDNF1W_IMM:
29290 case AArch64::ST1B_D_IMM:
29291 case AArch64::ST1B_H_IMM:
29292 case AArch64::ST1B_IMM:
29293 case AArch64::ST1B_S_IMM:
29294 case AArch64::ST1D_IMM:
29295 case AArch64::ST1D_Q_IMM:
29296 case AArch64::ST1H_D_IMM:
29297 case AArch64::ST1H_IMM:
29298 case AArch64::ST1H_S_IMM:
29299 case AArch64::ST1W_D_IMM:
29300 case AArch64::ST1W_IMM:
29301 case AArch64::ST1W_Q_IMM:
29302 case AArch64::ST2B_IMM:
29303 case AArch64::ST2D_IMM:
29304 case AArch64::ST2H_IMM:
29305 case AArch64::ST2W_IMM:
29306 case AArch64::ST3B_IMM:
29307 case AArch64::ST3D_IMM:
29308 case AArch64::ST3H_IMM:
29309 case AArch64::ST3W_IMM:
29310 case AArch64::ST4B_IMM:
29311 case AArch64::ST4D_IMM:
29312 case AArch64::ST4H_IMM:
29313 case AArch64::ST4W_IMM:
29314 case AArch64::STNT1B_ZRI:
29315 case AArch64::STNT1D_ZRI:
29316 case AArch64::STNT1H_ZRI:
29317 case AArch64::STNT1W_ZRI: {
29318 switch (OpNum) {
29319 case 1:
29320 // op: Pg
29321 return 10;
29322 case 2:
29323 // op: Rn
29324 return 5;
29325 case 0:
29326 // op: Zt
29327 return 0;
29328 case 3:
29329 // op: imm4
29330 return 16;
29331 }
29332 break;
29333 }
29334 case AArch64::LD1RB_D_IMM:
29335 case AArch64::LD1RB_H_IMM:
29336 case AArch64::LD1RB_IMM:
29337 case AArch64::LD1RB_S_IMM:
29338 case AArch64::LD1RD_IMM:
29339 case AArch64::LD1RH_D_IMM:
29340 case AArch64::LD1RH_IMM:
29341 case AArch64::LD1RH_S_IMM:
29342 case AArch64::LD1RSB_D_IMM:
29343 case AArch64::LD1RSB_H_IMM:
29344 case AArch64::LD1RSB_S_IMM:
29345 case AArch64::LD1RSH_D_IMM:
29346 case AArch64::LD1RSH_S_IMM:
29347 case AArch64::LD1RSW_IMM:
29348 case AArch64::LD1RW_D_IMM:
29349 case AArch64::LD1RW_IMM: {
29350 switch (OpNum) {
29351 case 1:
29352 // op: Pg
29353 return 10;
29354 case 2:
29355 // op: Rn
29356 return 5;
29357 case 0:
29358 // op: Zt
29359 return 0;
29360 case 3:
29361 // op: imm6
29362 return 16;
29363 }
29364 break;
29365 }
29366 case AArch64::GLD1B_D:
29367 case AArch64::GLD1B_D_SXTW:
29368 case AArch64::GLD1B_D_UXTW:
29369 case AArch64::GLD1B_S_SXTW:
29370 case AArch64::GLD1B_S_UXTW:
29371 case AArch64::GLD1D:
29372 case AArch64::GLD1D_SCALED:
29373 case AArch64::GLD1D_SXTW:
29374 case AArch64::GLD1D_SXTW_SCALED:
29375 case AArch64::GLD1D_UXTW:
29376 case AArch64::GLD1D_UXTW_SCALED:
29377 case AArch64::GLD1H_D:
29378 case AArch64::GLD1H_D_SCALED:
29379 case AArch64::GLD1H_D_SXTW:
29380 case AArch64::GLD1H_D_SXTW_SCALED:
29381 case AArch64::GLD1H_D_UXTW:
29382 case AArch64::GLD1H_D_UXTW_SCALED:
29383 case AArch64::GLD1H_S_SXTW:
29384 case AArch64::GLD1H_S_SXTW_SCALED:
29385 case AArch64::GLD1H_S_UXTW:
29386 case AArch64::GLD1H_S_UXTW_SCALED:
29387 case AArch64::GLD1SB_D:
29388 case AArch64::GLD1SB_D_SXTW:
29389 case AArch64::GLD1SB_D_UXTW:
29390 case AArch64::GLD1SB_S_SXTW:
29391 case AArch64::GLD1SB_S_UXTW:
29392 case AArch64::GLD1SH_D:
29393 case AArch64::GLD1SH_D_SCALED:
29394 case AArch64::GLD1SH_D_SXTW:
29395 case AArch64::GLD1SH_D_SXTW_SCALED:
29396 case AArch64::GLD1SH_D_UXTW:
29397 case AArch64::GLD1SH_D_UXTW_SCALED:
29398 case AArch64::GLD1SH_S_SXTW:
29399 case AArch64::GLD1SH_S_SXTW_SCALED:
29400 case AArch64::GLD1SH_S_UXTW:
29401 case AArch64::GLD1SH_S_UXTW_SCALED:
29402 case AArch64::GLD1SW_D:
29403 case AArch64::GLD1SW_D_SCALED:
29404 case AArch64::GLD1SW_D_SXTW:
29405 case AArch64::GLD1SW_D_SXTW_SCALED:
29406 case AArch64::GLD1SW_D_UXTW:
29407 case AArch64::GLD1SW_D_UXTW_SCALED:
29408 case AArch64::GLD1W_D:
29409 case AArch64::GLD1W_D_SCALED:
29410 case AArch64::GLD1W_D_SXTW:
29411 case AArch64::GLD1W_D_SXTW_SCALED:
29412 case AArch64::GLD1W_D_UXTW:
29413 case AArch64::GLD1W_D_UXTW_SCALED:
29414 case AArch64::GLD1W_SXTW:
29415 case AArch64::GLD1W_SXTW_SCALED:
29416 case AArch64::GLD1W_UXTW:
29417 case AArch64::GLD1W_UXTW_SCALED:
29418 case AArch64::GLDFF1B_D:
29419 case AArch64::GLDFF1B_D_SXTW:
29420 case AArch64::GLDFF1B_D_UXTW:
29421 case AArch64::GLDFF1B_S_SXTW:
29422 case AArch64::GLDFF1B_S_UXTW:
29423 case AArch64::GLDFF1D:
29424 case AArch64::GLDFF1D_SCALED:
29425 case AArch64::GLDFF1D_SXTW:
29426 case AArch64::GLDFF1D_SXTW_SCALED:
29427 case AArch64::GLDFF1D_UXTW:
29428 case AArch64::GLDFF1D_UXTW_SCALED:
29429 case AArch64::GLDFF1H_D:
29430 case AArch64::GLDFF1H_D_SCALED:
29431 case AArch64::GLDFF1H_D_SXTW:
29432 case AArch64::GLDFF1H_D_SXTW_SCALED:
29433 case AArch64::GLDFF1H_D_UXTW:
29434 case AArch64::GLDFF1H_D_UXTW_SCALED:
29435 case AArch64::GLDFF1H_S_SXTW:
29436 case AArch64::GLDFF1H_S_SXTW_SCALED:
29437 case AArch64::GLDFF1H_S_UXTW:
29438 case AArch64::GLDFF1H_S_UXTW_SCALED:
29439 case AArch64::GLDFF1SB_D:
29440 case AArch64::GLDFF1SB_D_SXTW:
29441 case AArch64::GLDFF1SB_D_UXTW:
29442 case AArch64::GLDFF1SB_S_SXTW:
29443 case AArch64::GLDFF1SB_S_UXTW:
29444 case AArch64::GLDFF1SH_D:
29445 case AArch64::GLDFF1SH_D_SCALED:
29446 case AArch64::GLDFF1SH_D_SXTW:
29447 case AArch64::GLDFF1SH_D_SXTW_SCALED:
29448 case AArch64::GLDFF1SH_D_UXTW:
29449 case AArch64::GLDFF1SH_D_UXTW_SCALED:
29450 case AArch64::GLDFF1SH_S_SXTW:
29451 case AArch64::GLDFF1SH_S_SXTW_SCALED:
29452 case AArch64::GLDFF1SH_S_UXTW:
29453 case AArch64::GLDFF1SH_S_UXTW_SCALED:
29454 case AArch64::GLDFF1SW_D:
29455 case AArch64::GLDFF1SW_D_SCALED:
29456 case AArch64::GLDFF1SW_D_SXTW:
29457 case AArch64::GLDFF1SW_D_SXTW_SCALED:
29458 case AArch64::GLDFF1SW_D_UXTW:
29459 case AArch64::GLDFF1SW_D_UXTW_SCALED:
29460 case AArch64::GLDFF1W_D:
29461 case AArch64::GLDFF1W_D_SCALED:
29462 case AArch64::GLDFF1W_D_SXTW:
29463 case AArch64::GLDFF1W_D_SXTW_SCALED:
29464 case AArch64::GLDFF1W_D_UXTW:
29465 case AArch64::GLDFF1W_D_UXTW_SCALED:
29466 case AArch64::GLDFF1W_SXTW:
29467 case AArch64::GLDFF1W_SXTW_SCALED:
29468 case AArch64::GLDFF1W_UXTW:
29469 case AArch64::GLDFF1W_UXTW_SCALED:
29470 case AArch64::SST1B_D:
29471 case AArch64::SST1B_D_SXTW:
29472 case AArch64::SST1B_D_UXTW:
29473 case AArch64::SST1B_S_SXTW:
29474 case AArch64::SST1B_S_UXTW:
29475 case AArch64::SST1D:
29476 case AArch64::SST1D_SCALED:
29477 case AArch64::SST1D_SXTW:
29478 case AArch64::SST1D_SXTW_SCALED:
29479 case AArch64::SST1D_UXTW:
29480 case AArch64::SST1D_UXTW_SCALED:
29481 case AArch64::SST1H_D:
29482 case AArch64::SST1H_D_SCALED:
29483 case AArch64::SST1H_D_SXTW:
29484 case AArch64::SST1H_D_SXTW_SCALED:
29485 case AArch64::SST1H_D_UXTW:
29486 case AArch64::SST1H_D_UXTW_SCALED:
29487 case AArch64::SST1H_S_SXTW:
29488 case AArch64::SST1H_S_SXTW_SCALED:
29489 case AArch64::SST1H_S_UXTW:
29490 case AArch64::SST1H_S_UXTW_SCALED:
29491 case AArch64::SST1W_D:
29492 case AArch64::SST1W_D_SCALED:
29493 case AArch64::SST1W_D_SXTW:
29494 case AArch64::SST1W_D_SXTW_SCALED:
29495 case AArch64::SST1W_D_UXTW:
29496 case AArch64::SST1W_D_UXTW_SCALED:
29497 case AArch64::SST1W_SXTW:
29498 case AArch64::SST1W_SXTW_SCALED:
29499 case AArch64::SST1W_UXTW:
29500 case AArch64::SST1W_UXTW_SCALED: {
29501 switch (OpNum) {
29502 case 1:
29503 // op: Pg
29504 return 10;
29505 case 2:
29506 // op: Rn
29507 return 5;
29508 case 3:
29509 // op: Zm
29510 return 16;
29511 case 0:
29512 // op: Zt
29513 return 0;
29514 }
29515 break;
29516 }
29517 case AArch64::PRFB_D_SCALED:
29518 case AArch64::PRFB_D_SXTW_SCALED:
29519 case AArch64::PRFB_D_UXTW_SCALED:
29520 case AArch64::PRFB_S_SXTW_SCALED:
29521 case AArch64::PRFB_S_UXTW_SCALED:
29522 case AArch64::PRFD_D_SCALED:
29523 case AArch64::PRFD_D_SXTW_SCALED:
29524 case AArch64::PRFD_D_UXTW_SCALED:
29525 case AArch64::PRFD_S_SXTW_SCALED:
29526 case AArch64::PRFD_S_UXTW_SCALED:
29527 case AArch64::PRFH_D_SCALED:
29528 case AArch64::PRFH_D_SXTW_SCALED:
29529 case AArch64::PRFH_D_UXTW_SCALED:
29530 case AArch64::PRFH_S_SXTW_SCALED:
29531 case AArch64::PRFH_S_UXTW_SCALED:
29532 case AArch64::PRFW_D_SCALED:
29533 case AArch64::PRFW_D_SXTW_SCALED:
29534 case AArch64::PRFW_D_UXTW_SCALED:
29535 case AArch64::PRFW_S_SXTW_SCALED:
29536 case AArch64::PRFW_S_UXTW_SCALED: {
29537 switch (OpNum) {
29538 case 1:
29539 // op: Pg
29540 return 10;
29541 case 2:
29542 // op: Rn
29543 return 5;
29544 case 3:
29545 // op: Zm
29546 return 16;
29547 case 0:
29548 // op: prfop
29549 return 0;
29550 }
29551 break;
29552 }
29553 case AArch64::EXPAND_ZPZ_B:
29554 case AArch64::EXPAND_ZPZ_D:
29555 case AArch64::EXPAND_ZPZ_H:
29556 case AArch64::EXPAND_ZPZ_S:
29557 case AArch64::SPLICE_ZPZZ_B:
29558 case AArch64::SPLICE_ZPZZ_D:
29559 case AArch64::SPLICE_ZPZZ_H:
29560 case AArch64::SPLICE_ZPZZ_S: {
29561 switch (OpNum) {
29562 case 1:
29563 // op: Pg
29564 return 10;
29565 case 2:
29566 // op: Zn
29567 return 5;
29568 case 0:
29569 // op: Zd
29570 return 0;
29571 }
29572 break;
29573 }
29574 case AArch64::GLD1B_D_IMM:
29575 case AArch64::GLD1B_S_IMM:
29576 case AArch64::GLD1D_IMM:
29577 case AArch64::GLD1H_D_IMM:
29578 case AArch64::GLD1H_S_IMM:
29579 case AArch64::GLD1SB_D_IMM:
29580 case AArch64::GLD1SB_S_IMM:
29581 case AArch64::GLD1SH_D_IMM:
29582 case AArch64::GLD1SH_S_IMM:
29583 case AArch64::GLD1SW_D_IMM:
29584 case AArch64::GLD1W_D_IMM:
29585 case AArch64::GLD1W_IMM:
29586 case AArch64::GLDFF1B_D_IMM:
29587 case AArch64::GLDFF1B_S_IMM:
29588 case AArch64::GLDFF1D_IMM:
29589 case AArch64::GLDFF1H_D_IMM:
29590 case AArch64::GLDFF1H_S_IMM:
29591 case AArch64::GLDFF1SB_D_IMM:
29592 case AArch64::GLDFF1SB_S_IMM:
29593 case AArch64::GLDFF1SH_D_IMM:
29594 case AArch64::GLDFF1SH_S_IMM:
29595 case AArch64::GLDFF1SW_D_IMM:
29596 case AArch64::GLDFF1W_D_IMM:
29597 case AArch64::GLDFF1W_IMM: {
29598 switch (OpNum) {
29599 case 1:
29600 // op: Pg
29601 return 10;
29602 case 2:
29603 // op: Zn
29604 return 5;
29605 case 0:
29606 // op: Zt
29607 return 0;
29608 case 3:
29609 // op: imm5
29610 return 16;
29611 }
29612 break;
29613 }
29614 case AArch64::PRFB_D_PZI:
29615 case AArch64::PRFB_S_PZI:
29616 case AArch64::PRFD_D_PZI:
29617 case AArch64::PRFD_S_PZI:
29618 case AArch64::PRFH_D_PZI:
29619 case AArch64::PRFH_S_PZI:
29620 case AArch64::PRFW_D_PZI:
29621 case AArch64::PRFW_S_PZI: {
29622 switch (OpNum) {
29623 case 1:
29624 // op: Pg
29625 return 10;
29626 case 2:
29627 // op: Zn
29628 return 5;
29629 case 3:
29630 // op: imm5
29631 return 16;
29632 case 0:
29633 // op: prfop
29634 return 0;
29635 }
29636 break;
29637 }
29638 case AArch64::LD2B:
29639 case AArch64::LD2D:
29640 case AArch64::LD2H:
29641 case AArch64::LD2Q:
29642 case AArch64::LD2W:
29643 case AArch64::LD3B:
29644 case AArch64::LD3D:
29645 case AArch64::LD3H:
29646 case AArch64::LD3Q:
29647 case AArch64::LD3W:
29648 case AArch64::LD4B:
29649 case AArch64::LD4D:
29650 case AArch64::LD4H:
29651 case AArch64::LD4Q:
29652 case AArch64::LD4W:
29653 case AArch64::LDNT1B_ZRR:
29654 case AArch64::LDNT1D_ZRR:
29655 case AArch64::LDNT1H_ZRR:
29656 case AArch64::LDNT1W_ZRR:
29657 case AArch64::ST1B:
29658 case AArch64::ST1B_D:
29659 case AArch64::ST1B_H:
29660 case AArch64::ST1B_S:
29661 case AArch64::ST1D:
29662 case AArch64::ST1D_Q:
29663 case AArch64::ST1H:
29664 case AArch64::ST1H_D:
29665 case AArch64::ST1H_S:
29666 case AArch64::ST1W:
29667 case AArch64::ST1W_D:
29668 case AArch64::ST1W_Q:
29669 case AArch64::ST2B:
29670 case AArch64::ST2D:
29671 case AArch64::ST2H:
29672 case AArch64::ST2W:
29673 case AArch64::ST3B:
29674 case AArch64::ST3D:
29675 case AArch64::ST3H:
29676 case AArch64::ST3W:
29677 case AArch64::ST4B:
29678 case AArch64::ST4D:
29679 case AArch64::ST4H:
29680 case AArch64::ST4W:
29681 case AArch64::STNT1B_ZRR:
29682 case AArch64::STNT1D_ZRR:
29683 case AArch64::STNT1H_ZRR:
29684 case AArch64::STNT1W_ZRR: {
29685 switch (OpNum) {
29686 case 1:
29687 // op: Pg
29688 return 10;
29689 case 3:
29690 // op: Rm
29691 return 16;
29692 case 2:
29693 // op: Rn
29694 return 5;
29695 case 0:
29696 // op: Zt
29697 return 0;
29698 }
29699 break;
29700 }
29701 case AArch64::LDNT1B_ZZR_D:
29702 case AArch64::LDNT1B_ZZR_S:
29703 case AArch64::LDNT1D_ZZR_D:
29704 case AArch64::LDNT1H_ZZR_D:
29705 case AArch64::LDNT1H_ZZR_S:
29706 case AArch64::LDNT1SB_ZZR_D:
29707 case AArch64::LDNT1SB_ZZR_S:
29708 case AArch64::LDNT1SH_ZZR_D:
29709 case AArch64::LDNT1SH_ZZR_S:
29710 case AArch64::LDNT1SW_ZZR_D:
29711 case AArch64::LDNT1W_ZZR_D:
29712 case AArch64::LDNT1W_ZZR_S:
29713 case AArch64::STNT1B_ZZR_D:
29714 case AArch64::STNT1B_ZZR_S:
29715 case AArch64::STNT1D_ZZR_D:
29716 case AArch64::STNT1H_ZZR_D:
29717 case AArch64::STNT1H_ZZR_S:
29718 case AArch64::STNT1W_ZZR_D:
29719 case AArch64::STNT1W_ZZR_S: {
29720 switch (OpNum) {
29721 case 1:
29722 // op: Pg
29723 return 10;
29724 case 3:
29725 // op: Rm
29726 return 16;
29727 case 2:
29728 // op: Zn
29729 return 5;
29730 case 0:
29731 // op: Zt
29732 return 0;
29733 }
29734 break;
29735 }
29736 case AArch64::ADDP_ZPmZ_B:
29737 case AArch64::ADDP_ZPmZ_D:
29738 case AArch64::ADDP_ZPmZ_H:
29739 case AArch64::ADDP_ZPmZ_S:
29740 case AArch64::FADDP_ZPmZZ_D:
29741 case AArch64::FADDP_ZPmZZ_H:
29742 case AArch64::FADDP_ZPmZZ_S:
29743 case AArch64::FMAXNMP_ZPmZZ_D:
29744 case AArch64::FMAXNMP_ZPmZZ_H:
29745 case AArch64::FMAXNMP_ZPmZZ_S:
29746 case AArch64::FMAXP_ZPmZZ_D:
29747 case AArch64::FMAXP_ZPmZZ_H:
29748 case AArch64::FMAXP_ZPmZZ_S:
29749 case AArch64::FMINNMP_ZPmZZ_D:
29750 case AArch64::FMINNMP_ZPmZZ_H:
29751 case AArch64::FMINNMP_ZPmZZ_S:
29752 case AArch64::FMINP_ZPmZZ_D:
29753 case AArch64::FMINP_ZPmZZ_H:
29754 case AArch64::FMINP_ZPmZZ_S:
29755 case AArch64::SHADD_ZPmZ_B:
29756 case AArch64::SHADD_ZPmZ_D:
29757 case AArch64::SHADD_ZPmZ_H:
29758 case AArch64::SHADD_ZPmZ_S:
29759 case AArch64::SHSUBR_ZPmZ_B:
29760 case AArch64::SHSUBR_ZPmZ_D:
29761 case AArch64::SHSUBR_ZPmZ_H:
29762 case AArch64::SHSUBR_ZPmZ_S:
29763 case AArch64::SHSUB_ZPmZ_B:
29764 case AArch64::SHSUB_ZPmZ_D:
29765 case AArch64::SHSUB_ZPmZ_H:
29766 case AArch64::SHSUB_ZPmZ_S:
29767 case AArch64::SMAXP_ZPmZ_B:
29768 case AArch64::SMAXP_ZPmZ_D:
29769 case AArch64::SMAXP_ZPmZ_H:
29770 case AArch64::SMAXP_ZPmZ_S:
29771 case AArch64::SMINP_ZPmZ_B:
29772 case AArch64::SMINP_ZPmZ_D:
29773 case AArch64::SMINP_ZPmZ_H:
29774 case AArch64::SMINP_ZPmZ_S:
29775 case AArch64::SQADD_ZPmZ_B:
29776 case AArch64::SQADD_ZPmZ_D:
29777 case AArch64::SQADD_ZPmZ_H:
29778 case AArch64::SQADD_ZPmZ_S:
29779 case AArch64::SQRSHLR_ZPmZ_B:
29780 case AArch64::SQRSHLR_ZPmZ_D:
29781 case AArch64::SQRSHLR_ZPmZ_H:
29782 case AArch64::SQRSHLR_ZPmZ_S:
29783 case AArch64::SQRSHL_ZPmZ_B:
29784 case AArch64::SQRSHL_ZPmZ_D:
29785 case AArch64::SQRSHL_ZPmZ_H:
29786 case AArch64::SQRSHL_ZPmZ_S:
29787 case AArch64::SQSHLR_ZPmZ_B:
29788 case AArch64::SQSHLR_ZPmZ_D:
29789 case AArch64::SQSHLR_ZPmZ_H:
29790 case AArch64::SQSHLR_ZPmZ_S:
29791 case AArch64::SQSHL_ZPmZ_B:
29792 case AArch64::SQSHL_ZPmZ_D:
29793 case AArch64::SQSHL_ZPmZ_H:
29794 case AArch64::SQSHL_ZPmZ_S:
29795 case AArch64::SQSUBR_ZPmZ_B:
29796 case AArch64::SQSUBR_ZPmZ_D:
29797 case AArch64::SQSUBR_ZPmZ_H:
29798 case AArch64::SQSUBR_ZPmZ_S:
29799 case AArch64::SQSUB_ZPmZ_B:
29800 case AArch64::SQSUB_ZPmZ_D:
29801 case AArch64::SQSUB_ZPmZ_H:
29802 case AArch64::SQSUB_ZPmZ_S:
29803 case AArch64::SRHADD_ZPmZ_B:
29804 case AArch64::SRHADD_ZPmZ_D:
29805 case AArch64::SRHADD_ZPmZ_H:
29806 case AArch64::SRHADD_ZPmZ_S:
29807 case AArch64::SRSHLR_ZPmZ_B:
29808 case AArch64::SRSHLR_ZPmZ_D:
29809 case AArch64::SRSHLR_ZPmZ_H:
29810 case AArch64::SRSHLR_ZPmZ_S:
29811 case AArch64::SRSHL_ZPmZ_B:
29812 case AArch64::SRSHL_ZPmZ_D:
29813 case AArch64::SRSHL_ZPmZ_H:
29814 case AArch64::SRSHL_ZPmZ_S:
29815 case AArch64::SUBP_ZPmZZ_B:
29816 case AArch64::SUBP_ZPmZZ_D:
29817 case AArch64::SUBP_ZPmZZ_H:
29818 case AArch64::SUBP_ZPmZZ_S:
29819 case AArch64::SUQADD_ZPmZ_B:
29820 case AArch64::SUQADD_ZPmZ_D:
29821 case AArch64::SUQADD_ZPmZ_H:
29822 case AArch64::SUQADD_ZPmZ_S:
29823 case AArch64::UHADD_ZPmZ_B:
29824 case AArch64::UHADD_ZPmZ_D:
29825 case AArch64::UHADD_ZPmZ_H:
29826 case AArch64::UHADD_ZPmZ_S:
29827 case AArch64::UHSUBR_ZPmZ_B:
29828 case AArch64::UHSUBR_ZPmZ_D:
29829 case AArch64::UHSUBR_ZPmZ_H:
29830 case AArch64::UHSUBR_ZPmZ_S:
29831 case AArch64::UHSUB_ZPmZ_B:
29832 case AArch64::UHSUB_ZPmZ_D:
29833 case AArch64::UHSUB_ZPmZ_H:
29834 case AArch64::UHSUB_ZPmZ_S:
29835 case AArch64::UMAXP_ZPmZ_B:
29836 case AArch64::UMAXP_ZPmZ_D:
29837 case AArch64::UMAXP_ZPmZ_H:
29838 case AArch64::UMAXP_ZPmZ_S:
29839 case AArch64::UMINP_ZPmZ_B:
29840 case AArch64::UMINP_ZPmZ_D:
29841 case AArch64::UMINP_ZPmZ_H:
29842 case AArch64::UMINP_ZPmZ_S:
29843 case AArch64::UQADD_ZPmZ_B:
29844 case AArch64::UQADD_ZPmZ_D:
29845 case AArch64::UQADD_ZPmZ_H:
29846 case AArch64::UQADD_ZPmZ_S:
29847 case AArch64::UQRSHLR_ZPmZ_B:
29848 case AArch64::UQRSHLR_ZPmZ_D:
29849 case AArch64::UQRSHLR_ZPmZ_H:
29850 case AArch64::UQRSHLR_ZPmZ_S:
29851 case AArch64::UQRSHL_ZPmZ_B:
29852 case AArch64::UQRSHL_ZPmZ_D:
29853 case AArch64::UQRSHL_ZPmZ_H:
29854 case AArch64::UQRSHL_ZPmZ_S:
29855 case AArch64::UQSHLR_ZPmZ_B:
29856 case AArch64::UQSHLR_ZPmZ_D:
29857 case AArch64::UQSHLR_ZPmZ_H:
29858 case AArch64::UQSHLR_ZPmZ_S:
29859 case AArch64::UQSHL_ZPmZ_B:
29860 case AArch64::UQSHL_ZPmZ_D:
29861 case AArch64::UQSHL_ZPmZ_H:
29862 case AArch64::UQSHL_ZPmZ_S:
29863 case AArch64::UQSUBR_ZPmZ_B:
29864 case AArch64::UQSUBR_ZPmZ_D:
29865 case AArch64::UQSUBR_ZPmZ_H:
29866 case AArch64::UQSUBR_ZPmZ_S:
29867 case AArch64::UQSUB_ZPmZ_B:
29868 case AArch64::UQSUB_ZPmZ_D:
29869 case AArch64::UQSUB_ZPmZ_H:
29870 case AArch64::UQSUB_ZPmZ_S:
29871 case AArch64::URHADD_ZPmZ_B:
29872 case AArch64::URHADD_ZPmZ_D:
29873 case AArch64::URHADD_ZPmZ_H:
29874 case AArch64::URHADD_ZPmZ_S:
29875 case AArch64::URSHLR_ZPmZ_B:
29876 case AArch64::URSHLR_ZPmZ_D:
29877 case AArch64::URSHLR_ZPmZ_H:
29878 case AArch64::URSHLR_ZPmZ_S:
29879 case AArch64::URSHL_ZPmZ_B:
29880 case AArch64::URSHL_ZPmZ_D:
29881 case AArch64::URSHL_ZPmZ_H:
29882 case AArch64::URSHL_ZPmZ_S:
29883 case AArch64::USQADD_ZPmZ_B:
29884 case AArch64::USQADD_ZPmZ_D:
29885 case AArch64::USQADD_ZPmZ_H:
29886 case AArch64::USQADD_ZPmZ_S: {
29887 switch (OpNum) {
29888 case 1:
29889 // op: Pg
29890 return 10;
29891 case 3:
29892 // op: Zm
29893 return 5;
29894 case 0:
29895 // op: Zdn
29896 return 0;
29897 }
29898 break;
29899 }
29900 case AArch64::SADALP_ZPmZ_D:
29901 case AArch64::SADALP_ZPmZ_H:
29902 case AArch64::SADALP_ZPmZ_S:
29903 case AArch64::UADALP_ZPmZ_D:
29904 case AArch64::UADALP_ZPmZ_H:
29905 case AArch64::UADALP_ZPmZ_S: {
29906 switch (OpNum) {
29907 case 1:
29908 // op: Pg
29909 return 10;
29910 case 3:
29911 // op: Zn
29912 return 5;
29913 case 0:
29914 // op: Zda
29915 return 0;
29916 }
29917 break;
29918 }
29919 case AArch64::SST1B_D_IMM:
29920 case AArch64::SST1B_S_IMM:
29921 case AArch64::SST1D_IMM:
29922 case AArch64::SST1H_D_IMM:
29923 case AArch64::SST1H_S_IMM:
29924 case AArch64::SST1W_D_IMM:
29925 case AArch64::SST1W_IMM: {
29926 switch (OpNum) {
29927 case 1:
29928 // op: Pg
29929 return 10;
29930 case 3:
29931 // op: imm5
29932 return 16;
29933 case 2:
29934 // op: Zn
29935 return 5;
29936 case 0:
29937 // op: Zt
29938 return 0;
29939 }
29940 break;
29941 }
29942 case AArch64::FMAD_ZPmZZ_D:
29943 case AArch64::FMAD_ZPmZZ_H:
29944 case AArch64::FMAD_ZPmZZ_S:
29945 case AArch64::FMSB_ZPmZZ_D:
29946 case AArch64::FMSB_ZPmZZ_H:
29947 case AArch64::FMSB_ZPmZZ_S:
29948 case AArch64::FNMAD_ZPmZZ_D:
29949 case AArch64::FNMAD_ZPmZZ_H:
29950 case AArch64::FNMAD_ZPmZZ_S:
29951 case AArch64::FNMSB_ZPmZZ_D:
29952 case AArch64::FNMSB_ZPmZZ_H:
29953 case AArch64::FNMSB_ZPmZZ_S: {
29954 switch (OpNum) {
29955 case 1:
29956 // op: Pg
29957 return 10;
29958 case 4:
29959 // op: Za
29960 return 16;
29961 case 0:
29962 // op: Zdn
29963 return 0;
29964 case 3:
29965 // op: Zm
29966 return 5;
29967 }
29968 break;
29969 }
29970 case AArch64::BF16DOTlanev4bf16:
29971 case AArch64::BF16DOTlanev8bf16:
29972 case AArch64::BFMLALBIdx:
29973 case AArch64::BFMLALTIdx:
29974 case AArch64::FDOTlanev2f32:
29975 case AArch64::FDOTlanev4f16:
29976 case AArch64::FDOTlanev4f16_v2f32:
29977 case AArch64::FDOTlanev4f32:
29978 case AArch64::FDOTlanev8f16:
29979 case AArch64::FDOTlanev8f16_v4f32:
29980 case AArch64::FMLAL2lanev4f16:
29981 case AArch64::FMLAL2lanev8f16:
29982 case AArch64::FMLALBlanev8f16:
29983 case AArch64::FMLALLBBlanev4f32:
29984 case AArch64::FMLALLBTlanev4f32:
29985 case AArch64::FMLALLTBlanev4f32:
29986 case AArch64::FMLALLTTlanev4f32:
29987 case AArch64::FMLALTlanev8f16:
29988 case AArch64::FMLALlanev4f16:
29989 case AArch64::FMLALlanev8f16:
29990 case AArch64::FMLAv1i16_indexed:
29991 case AArch64::FMLAv1i32_indexed:
29992 case AArch64::FMLAv1i64_indexed:
29993 case AArch64::FMLAv2i32_indexed:
29994 case AArch64::FMLAv2i64_indexed:
29995 case AArch64::FMLAv4i16_indexed:
29996 case AArch64::FMLAv4i32_indexed:
29997 case AArch64::FMLAv8i16_indexed:
29998 case AArch64::FMLSL2lanev4f16:
29999 case AArch64::FMLSL2lanev8f16:
30000 case AArch64::FMLSLlanev4f16:
30001 case AArch64::FMLSLlanev8f16:
30002 case AArch64::FMLSv1i16_indexed:
30003 case AArch64::FMLSv1i32_indexed:
30004 case AArch64::FMLSv1i64_indexed:
30005 case AArch64::FMLSv2i32_indexed:
30006 case AArch64::FMLSv2i64_indexed:
30007 case AArch64::FMLSv4i16_indexed:
30008 case AArch64::FMLSv4i32_indexed:
30009 case AArch64::FMLSv8i16_indexed:
30010 case AArch64::MLAv2i32_indexed:
30011 case AArch64::MLAv4i16_indexed:
30012 case AArch64::MLAv4i32_indexed:
30013 case AArch64::MLAv8i16_indexed:
30014 case AArch64::MLSv2i32_indexed:
30015 case AArch64::MLSv4i16_indexed:
30016 case AArch64::MLSv4i32_indexed:
30017 case AArch64::MLSv8i16_indexed:
30018 case AArch64::SDOTlanev16i8:
30019 case AArch64::SDOTlanev8i8:
30020 case AArch64::SMLALv2i32_indexed:
30021 case AArch64::SMLALv4i16_indexed:
30022 case AArch64::SMLALv4i32_indexed:
30023 case AArch64::SMLALv8i16_indexed:
30024 case AArch64::SMLSLv2i32_indexed:
30025 case AArch64::SMLSLv4i16_indexed:
30026 case AArch64::SMLSLv4i32_indexed:
30027 case AArch64::SMLSLv8i16_indexed:
30028 case AArch64::SQDMLALv1i32_indexed:
30029 case AArch64::SQDMLALv1i64_indexed:
30030 case AArch64::SQDMLALv2i32_indexed:
30031 case AArch64::SQDMLALv4i16_indexed:
30032 case AArch64::SQDMLALv4i32_indexed:
30033 case AArch64::SQDMLALv8i16_indexed:
30034 case AArch64::SQDMLSLv1i32_indexed:
30035 case AArch64::SQDMLSLv1i64_indexed:
30036 case AArch64::SQDMLSLv2i32_indexed:
30037 case AArch64::SQDMLSLv4i16_indexed:
30038 case AArch64::SQDMLSLv4i32_indexed:
30039 case AArch64::SQDMLSLv8i16_indexed:
30040 case AArch64::SQRDMLAHv1i16_indexed:
30041 case AArch64::SQRDMLAHv1i32_indexed:
30042 case AArch64::SQRDMLAHv2i32_indexed:
30043 case AArch64::SQRDMLAHv4i16_indexed:
30044 case AArch64::SQRDMLAHv4i32_indexed:
30045 case AArch64::SQRDMLAHv8i16_indexed:
30046 case AArch64::SQRDMLSHv1i16_indexed:
30047 case AArch64::SQRDMLSHv1i32_indexed:
30048 case AArch64::SQRDMLSHv2i32_indexed:
30049 case AArch64::SQRDMLSHv4i16_indexed:
30050 case AArch64::SQRDMLSHv4i32_indexed:
30051 case AArch64::SQRDMLSHv8i16_indexed:
30052 case AArch64::SUDOTlanev16i8:
30053 case AArch64::SUDOTlanev8i8:
30054 case AArch64::UDOTlanev16i8:
30055 case AArch64::UDOTlanev8i8:
30056 case AArch64::UMLALv2i32_indexed:
30057 case AArch64::UMLALv4i16_indexed:
30058 case AArch64::UMLALv4i32_indexed:
30059 case AArch64::UMLALv8i16_indexed:
30060 case AArch64::UMLSLv2i32_indexed:
30061 case AArch64::UMLSLv4i16_indexed:
30062 case AArch64::UMLSLv4i32_indexed:
30063 case AArch64::UMLSLv8i16_indexed:
30064 case AArch64::USDOTlanev16i8:
30065 case AArch64::USDOTlanev8i8: {
30066 switch (OpNum) {
30067 case 1:
30068 // op: Rd
30069 return 0;
30070 case 2:
30071 // op: Rn
30072 return 5;
30073 case 3:
30074 // op: Rm
30075 return 16;
30076 case 4:
30077 // op: idx
30078 return 11;
30079 }
30080 break;
30081 }
30082 case AArch64::FCMLAv2f32:
30083 case AArch64::FCMLAv2f64:
30084 case AArch64::FCMLAv4f16:
30085 case AArch64::FCMLAv4f32:
30086 case AArch64::FCMLAv8f16: {
30087 switch (OpNum) {
30088 case 1:
30089 // op: Rd
30090 return 0;
30091 case 2:
30092 // op: Rn
30093 return 5;
30094 case 3:
30095 // op: Rm
30096 return 16;
30097 case 4:
30098 // op: rot
30099 return 11;
30100 }
30101 break;
30102 }
30103 case AArch64::FCMLAv4f32_indexed:
30104 case AArch64::FCMLAv8f16_indexed: {
30105 switch (OpNum) {
30106 case 1:
30107 // op: Rd
30108 return 0;
30109 case 2:
30110 // op: Rn
30111 return 5;
30112 case 3:
30113 // op: Rm
30114 return 16;
30115 case 5:
30116 // op: rot
30117 return 13;
30118 case 4:
30119 // op: idx
30120 return 11;
30121 }
30122 break;
30123 }
30124 case AArch64::FCMLAv4f16_indexed: {
30125 switch (OpNum) {
30126 case 1:
30127 // op: Rd
30128 return 0;
30129 case 2:
30130 // op: Rn
30131 return 5;
30132 case 3:
30133 // op: Rm
30134 return 16;
30135 case 5:
30136 // op: rot
30137 return 13;
30138 case 4:
30139 // op: idx
30140 return 21;
30141 }
30142 break;
30143 }
30144 case AArch64::ADDHNv2i64_v4i32:
30145 case AArch64::ADDHNv4i32_v8i16:
30146 case AArch64::ADDHNv8i16_v16i8:
30147 case AArch64::BFDOTv4bf16:
30148 case AArch64::BFDOTv8bf16:
30149 case AArch64::BFMLALB:
30150 case AArch64::BFMLALT:
30151 case AArch64::BFMMLA:
30152 case AArch64::BIFv16i8:
30153 case AArch64::BIFv8i8:
30154 case AArch64::BITv16i8:
30155 case AArch64::BITv8i8:
30156 case AArch64::BSLv16i8:
30157 case AArch64::BSLv8i8:
30158 case AArch64::FCVTN_F322v16f8:
30159 case AArch64::FDOTv2f32:
30160 case AArch64::FDOTv4f16:
30161 case AArch64::FDOTv4f16_v2f32:
30162 case AArch64::FDOTv4f32:
30163 case AArch64::FDOTv8f16:
30164 case AArch64::FDOTv8f16_v4f32:
30165 case AArch64::FMLAL2v4f16:
30166 case AArch64::FMLAL2v8f16:
30167 case AArch64::FMLALBv16i8_v8f16:
30168 case AArch64::FMLALLBBv4f32:
30169 case AArch64::FMLALLBTv4f32:
30170 case AArch64::FMLALLTBv4f32:
30171 case AArch64::FMLALLTTv4f32:
30172 case AArch64::FMLALTv16i8_v8f16:
30173 case AArch64::FMLALv4f16:
30174 case AArch64::FMLALv8f16:
30175 case AArch64::FMLAv2f32:
30176 case AArch64::FMLAv2f64:
30177 case AArch64::FMLAv4f16:
30178 case AArch64::FMLAv4f32:
30179 case AArch64::FMLAv8f16:
30180 case AArch64::FMLSL2v4f16:
30181 case AArch64::FMLSL2v8f16:
30182 case AArch64::FMLSLv4f16:
30183 case AArch64::FMLSLv8f16:
30184 case AArch64::FMLSv2f32:
30185 case AArch64::FMLSv2f64:
30186 case AArch64::FMLSv4f16:
30187 case AArch64::FMLSv4f32:
30188 case AArch64::FMLSv8f16:
30189 case AArch64::FMMLAv4f32:
30190 case AArch64::FMMLAv8f16:
30191 case AArch64::FMMLAv8f16_v4f32:
30192 case AArch64::FMMLAv8f16_v8f16:
30193 case AArch64::MLAv16i8:
30194 case AArch64::MLAv2i32:
30195 case AArch64::MLAv4i16:
30196 case AArch64::MLAv4i32:
30197 case AArch64::MLAv8i16:
30198 case AArch64::MLAv8i8:
30199 case AArch64::MLSv16i8:
30200 case AArch64::MLSv2i32:
30201 case AArch64::MLSv4i16:
30202 case AArch64::MLSv4i32:
30203 case AArch64::MLSv8i16:
30204 case AArch64::MLSv8i8:
30205 case AArch64::RADDHNv2i64_v4i32:
30206 case AArch64::RADDHNv4i32_v8i16:
30207 case AArch64::RADDHNv8i16_v16i8:
30208 case AArch64::RSUBHNv2i64_v4i32:
30209 case AArch64::RSUBHNv4i32_v8i16:
30210 case AArch64::RSUBHNv8i16_v16i8:
30211 case AArch64::SABALv16i8_v8i16:
30212 case AArch64::SABALv2i32_v2i64:
30213 case AArch64::SABALv4i16_v4i32:
30214 case AArch64::SABALv4i32_v2i64:
30215 case AArch64::SABALv8i16_v4i32:
30216 case AArch64::SABALv8i8_v8i16:
30217 case AArch64::SABAv16i8:
30218 case AArch64::SABAv2i32:
30219 case AArch64::SABAv4i16:
30220 case AArch64::SABAv4i32:
30221 case AArch64::SABAv8i16:
30222 case AArch64::SABAv8i8:
30223 case AArch64::SDOTv16i8:
30224 case AArch64::SDOTv8i8:
30225 case AArch64::SHA1Crrr:
30226 case AArch64::SHA1Mrrr:
30227 case AArch64::SHA1Prrr:
30228 case AArch64::SHA1SU0rrr:
30229 case AArch64::SHA256H2rrr:
30230 case AArch64::SHA256Hrrr:
30231 case AArch64::SHA256SU1rrr:
30232 case AArch64::SMLALv16i8_v8i16:
30233 case AArch64::SMLALv2i32_v2i64:
30234 case AArch64::SMLALv4i16_v4i32:
30235 case AArch64::SMLALv4i32_v2i64:
30236 case AArch64::SMLALv8i16_v4i32:
30237 case AArch64::SMLALv8i8_v8i16:
30238 case AArch64::SMLSLv16i8_v8i16:
30239 case AArch64::SMLSLv2i32_v2i64:
30240 case AArch64::SMLSLv4i16_v4i32:
30241 case AArch64::SMLSLv4i32_v2i64:
30242 case AArch64::SMLSLv8i16_v4i32:
30243 case AArch64::SMLSLv8i8_v8i16:
30244 case AArch64::SMMLA:
30245 case AArch64::SQDMLALi16:
30246 case AArch64::SQDMLALi32:
30247 case AArch64::SQDMLALv2i32_v2i64:
30248 case AArch64::SQDMLALv4i16_v4i32:
30249 case AArch64::SQDMLALv4i32_v2i64:
30250 case AArch64::SQDMLALv8i16_v4i32:
30251 case AArch64::SQDMLSLi16:
30252 case AArch64::SQDMLSLi32:
30253 case AArch64::SQDMLSLv2i32_v2i64:
30254 case AArch64::SQDMLSLv4i16_v4i32:
30255 case AArch64::SQDMLSLv4i32_v2i64:
30256 case AArch64::SQDMLSLv8i16_v4i32:
30257 case AArch64::SQRDMLAHv1i16:
30258 case AArch64::SQRDMLAHv1i32:
30259 case AArch64::SQRDMLAHv2i32:
30260 case AArch64::SQRDMLAHv4i16:
30261 case AArch64::SQRDMLAHv4i32:
30262 case AArch64::SQRDMLAHv8i16:
30263 case AArch64::SQRDMLSHv1i16:
30264 case AArch64::SQRDMLSHv1i32:
30265 case AArch64::SQRDMLSHv2i32:
30266 case AArch64::SQRDMLSHv4i16:
30267 case AArch64::SQRDMLSHv4i32:
30268 case AArch64::SQRDMLSHv8i16:
30269 case AArch64::SUBHNv2i64_v4i32:
30270 case AArch64::SUBHNv4i32_v8i16:
30271 case AArch64::SUBHNv8i16_v16i8:
30272 case AArch64::UABALv16i8_v8i16:
30273 case AArch64::UABALv2i32_v2i64:
30274 case AArch64::UABALv4i16_v4i32:
30275 case AArch64::UABALv4i32_v2i64:
30276 case AArch64::UABALv8i16_v4i32:
30277 case AArch64::UABALv8i8_v8i16:
30278 case AArch64::UABAv16i8:
30279 case AArch64::UABAv2i32:
30280 case AArch64::UABAv4i16:
30281 case AArch64::UABAv4i32:
30282 case AArch64::UABAv8i16:
30283 case AArch64::UABAv8i8:
30284 case AArch64::UDOTv16i8:
30285 case AArch64::UDOTv8i8:
30286 case AArch64::UMLALv16i8_v8i16:
30287 case AArch64::UMLALv2i32_v2i64:
30288 case AArch64::UMLALv4i16_v4i32:
30289 case AArch64::UMLALv4i32_v2i64:
30290 case AArch64::UMLALv8i16_v4i32:
30291 case AArch64::UMLALv8i8_v8i16:
30292 case AArch64::UMLSLv16i8_v8i16:
30293 case AArch64::UMLSLv2i32_v2i64:
30294 case AArch64::UMLSLv4i16_v4i32:
30295 case AArch64::UMLSLv4i32_v2i64:
30296 case AArch64::UMLSLv8i16_v4i32:
30297 case AArch64::UMLSLv8i8_v8i16:
30298 case AArch64::UMMLA:
30299 case AArch64::USDOTv16i8:
30300 case AArch64::USDOTv8i8:
30301 case AArch64::USMMLA: {
30302 switch (OpNum) {
30303 case 1:
30304 // op: Rd
30305 return 0;
30306 case 2:
30307 // op: Rn
30308 return 5;
30309 case 3:
30310 // op: Rm
30311 return 16;
30312 }
30313 break;
30314 }
30315 case AArch64::RSHRNv16i8_shift:
30316 case AArch64::RSHRNv4i32_shift:
30317 case AArch64::RSHRNv8i16_shift:
30318 case AArch64::SHRNv16i8_shift:
30319 case AArch64::SHRNv4i32_shift:
30320 case AArch64::SHRNv8i16_shift:
30321 case AArch64::SLId:
30322 case AArch64::SLIv16i8_shift:
30323 case AArch64::SLIv2i32_shift:
30324 case AArch64::SLIv2i64_shift:
30325 case AArch64::SLIv4i16_shift:
30326 case AArch64::SLIv4i32_shift:
30327 case AArch64::SLIv8i16_shift:
30328 case AArch64::SLIv8i8_shift:
30329 case AArch64::SQRSHRNv16i8_shift:
30330 case AArch64::SQRSHRNv4i32_shift:
30331 case AArch64::SQRSHRNv8i16_shift:
30332 case AArch64::SQRSHRUNv16i8_shift:
30333 case AArch64::SQRSHRUNv4i32_shift:
30334 case AArch64::SQRSHRUNv8i16_shift:
30335 case AArch64::SQSHRNv16i8_shift:
30336 case AArch64::SQSHRNv4i32_shift:
30337 case AArch64::SQSHRNv8i16_shift:
30338 case AArch64::SQSHRUNv16i8_shift:
30339 case AArch64::SQSHRUNv4i32_shift:
30340 case AArch64::SQSHRUNv8i16_shift:
30341 case AArch64::SRId:
30342 case AArch64::SRIv16i8_shift:
30343 case AArch64::SRIv2i32_shift:
30344 case AArch64::SRIv2i64_shift:
30345 case AArch64::SRIv4i16_shift:
30346 case AArch64::SRIv4i32_shift:
30347 case AArch64::SRIv8i16_shift:
30348 case AArch64::SRIv8i8_shift:
30349 case AArch64::SRSRAd:
30350 case AArch64::SRSRAv16i8_shift:
30351 case AArch64::SRSRAv2i32_shift:
30352 case AArch64::SRSRAv2i64_shift:
30353 case AArch64::SRSRAv4i16_shift:
30354 case AArch64::SRSRAv4i32_shift:
30355 case AArch64::SRSRAv8i16_shift:
30356 case AArch64::SRSRAv8i8_shift:
30357 case AArch64::SSRAd:
30358 case AArch64::SSRAv16i8_shift:
30359 case AArch64::SSRAv2i32_shift:
30360 case AArch64::SSRAv2i64_shift:
30361 case AArch64::SSRAv4i16_shift:
30362 case AArch64::SSRAv4i32_shift:
30363 case AArch64::SSRAv8i16_shift:
30364 case AArch64::SSRAv8i8_shift:
30365 case AArch64::UQRSHRNv16i8_shift:
30366 case AArch64::UQRSHRNv4i32_shift:
30367 case AArch64::UQRSHRNv8i16_shift:
30368 case AArch64::UQSHRNv16i8_shift:
30369 case AArch64::UQSHRNv4i32_shift:
30370 case AArch64::UQSHRNv8i16_shift:
30371 case AArch64::URSRAd:
30372 case AArch64::URSRAv16i8_shift:
30373 case AArch64::URSRAv2i32_shift:
30374 case AArch64::URSRAv2i64_shift:
30375 case AArch64::URSRAv4i16_shift:
30376 case AArch64::URSRAv4i32_shift:
30377 case AArch64::URSRAv8i16_shift:
30378 case AArch64::URSRAv8i8_shift:
30379 case AArch64::USRAd:
30380 case AArch64::USRAv16i8_shift:
30381 case AArch64::USRAv2i32_shift:
30382 case AArch64::USRAv2i64_shift:
30383 case AArch64::USRAv4i16_shift:
30384 case AArch64::USRAv4i32_shift:
30385 case AArch64::USRAv8i16_shift:
30386 case AArch64::USRAv8i8_shift: {
30387 switch (OpNum) {
30388 case 1:
30389 // op: Rd
30390 return 0;
30391 case 2:
30392 // op: Rn
30393 return 5;
30394 case 3:
30395 // op: imm
30396 return 16;
30397 }
30398 break;
30399 }
30400 case AArch64::AESDrr:
30401 case AArch64::AESErr:
30402 case AArch64::AUTDA:
30403 case AArch64::AUTDB:
30404 case AArch64::AUTIA:
30405 case AArch64::AUTIB:
30406 case AArch64::BFCVTN2:
30407 case AArch64::FCVTNv4i32:
30408 case AArch64::FCVTNv8i16:
30409 case AArch64::FCVTXNv4f32:
30410 case AArch64::PACDA:
30411 case AArch64::PACDB:
30412 case AArch64::PACIA:
30413 case AArch64::PACIB:
30414 case AArch64::SADALPv16i8_v8i16:
30415 case AArch64::SADALPv2i32_v1i64:
30416 case AArch64::SADALPv4i16_v2i32:
30417 case AArch64::SADALPv4i32_v2i64:
30418 case AArch64::SADALPv8i16_v4i32:
30419 case AArch64::SADALPv8i8_v4i16:
30420 case AArch64::SHA1SU1rr:
30421 case AArch64::SHA256SU0rr:
30422 case AArch64::SQXTNv16i8:
30423 case AArch64::SQXTNv4i32:
30424 case AArch64::SQXTNv8i16:
30425 case AArch64::SQXTUNv16i8:
30426 case AArch64::SQXTUNv4i32:
30427 case AArch64::SQXTUNv8i16:
30428 case AArch64::SUQADDv16i8:
30429 case AArch64::SUQADDv1i16:
30430 case AArch64::SUQADDv1i32:
30431 case AArch64::SUQADDv1i64:
30432 case AArch64::SUQADDv1i8:
30433 case AArch64::SUQADDv2i32:
30434 case AArch64::SUQADDv2i64:
30435 case AArch64::SUQADDv4i16:
30436 case AArch64::SUQADDv4i32:
30437 case AArch64::SUQADDv8i16:
30438 case AArch64::SUQADDv8i8:
30439 case AArch64::UADALPv16i8_v8i16:
30440 case AArch64::UADALPv2i32_v1i64:
30441 case AArch64::UADALPv4i16_v2i32:
30442 case AArch64::UADALPv4i32_v2i64:
30443 case AArch64::UADALPv8i16_v4i32:
30444 case AArch64::UADALPv8i8_v4i16:
30445 case AArch64::UQXTNv16i8:
30446 case AArch64::UQXTNv4i32:
30447 case AArch64::UQXTNv8i16:
30448 case AArch64::USQADDv16i8:
30449 case AArch64::USQADDv1i16:
30450 case AArch64::USQADDv1i32:
30451 case AArch64::USQADDv1i64:
30452 case AArch64::USQADDv1i8:
30453 case AArch64::USQADDv2i32:
30454 case AArch64::USQADDv2i64:
30455 case AArch64::USQADDv4i16:
30456 case AArch64::USQADDv4i32:
30457 case AArch64::USQADDv8i16:
30458 case AArch64::USQADDv8i8:
30459 case AArch64::XTNv16i8:
30460 case AArch64::XTNv4i32:
30461 case AArch64::XTNv8i16: {
30462 switch (OpNum) {
30463 case 1:
30464 // op: Rd
30465 return 0;
30466 case 2:
30467 // op: Rn
30468 return 5;
30469 }
30470 break;
30471 }
30472 case AArch64::BICv2i32:
30473 case AArch64::BICv4i16:
30474 case AArch64::BICv4i32:
30475 case AArch64::BICv8i16:
30476 case AArch64::ORRv2i32:
30477 case AArch64::ORRv4i16:
30478 case AArch64::ORRv4i32:
30479 case AArch64::ORRv8i16: {
30480 switch (OpNum) {
30481 case 1:
30482 // op: Rd
30483 return 0;
30484 case 2:
30485 // op: imm8
30486 return 5;
30487 case 3:
30488 // op: shift
30489 return 13;
30490 }
30491 break;
30492 }
30493 case AArch64::INSvi8lane: {
30494 switch (OpNum) {
30495 case 1:
30496 // op: Rd
30497 return 0;
30498 case 3:
30499 // op: Rn
30500 return 5;
30501 case 2:
30502 // op: idx
30503 return 17;
30504 case 4:
30505 // op: idx2
30506 return 11;
30507 }
30508 break;
30509 }
30510 case AArch64::INSvi8gpr: {
30511 switch (OpNum) {
30512 case 1:
30513 // op: Rd
30514 return 0;
30515 case 3:
30516 // op: Rn
30517 return 5;
30518 case 2:
30519 // op: idx
30520 return 17;
30521 }
30522 break;
30523 }
30524 case AArch64::INSvi16lane: {
30525 switch (OpNum) {
30526 case 1:
30527 // op: Rd
30528 return 0;
30529 case 3:
30530 // op: Rn
30531 return 5;
30532 case 2:
30533 // op: idx
30534 return 18;
30535 case 4:
30536 // op: idx2
30537 return 12;
30538 }
30539 break;
30540 }
30541 case AArch64::INSvi16gpr: {
30542 switch (OpNum) {
30543 case 1:
30544 // op: Rd
30545 return 0;
30546 case 3:
30547 // op: Rn
30548 return 5;
30549 case 2:
30550 // op: idx
30551 return 18;
30552 }
30553 break;
30554 }
30555 case AArch64::INSvi32lane: {
30556 switch (OpNum) {
30557 case 1:
30558 // op: Rd
30559 return 0;
30560 case 3:
30561 // op: Rn
30562 return 5;
30563 case 2:
30564 // op: idx
30565 return 19;
30566 case 4:
30567 // op: idx2
30568 return 13;
30569 }
30570 break;
30571 }
30572 case AArch64::INSvi32gpr: {
30573 switch (OpNum) {
30574 case 1:
30575 // op: Rd
30576 return 0;
30577 case 3:
30578 // op: Rn
30579 return 5;
30580 case 2:
30581 // op: idx
30582 return 19;
30583 }
30584 break;
30585 }
30586 case AArch64::INSvi64lane: {
30587 switch (OpNum) {
30588 case 1:
30589 // op: Rd
30590 return 0;
30591 case 3:
30592 // op: Rn
30593 return 5;
30594 case 2:
30595 // op: idx
30596 return 20;
30597 case 4:
30598 // op: idx2
30599 return 14;
30600 }
30601 break;
30602 }
30603 case AArch64::INSvi64gpr: {
30604 switch (OpNum) {
30605 case 1:
30606 // op: Rd
30607 return 0;
30608 case 3:
30609 // op: Rn
30610 return 5;
30611 case 2:
30612 // op: idx
30613 return 20;
30614 }
30615 break;
30616 }
30617 case AArch64::AUTDZA:
30618 case AArch64::AUTDZB:
30619 case AArch64::AUTIZA:
30620 case AArch64::AUTIZB:
30621 case AArch64::PACDZA:
30622 case AArch64::PACDZB:
30623 case AArch64::PACIZA:
30624 case AArch64::PACIZB: {
30625 switch (OpNum) {
30626 case 1:
30627 // op: Rd
30628 return 0;
30629 }
30630 break;
30631 }
30632 case AArch64::CTERMEQ_WW:
30633 case AArch64::CTERMEQ_XX:
30634 case AArch64::CTERMNE_WW:
30635 case AArch64::CTERMNE_XX:
30636 case AArch64::FCMPDrr:
30637 case AArch64::FCMPEDrr:
30638 case AArch64::FCMPEHrr:
30639 case AArch64::FCMPESrr:
30640 case AArch64::FCMPHrr:
30641 case AArch64::FCMPSrr: {
30642 switch (OpNum) {
30643 case 1:
30644 // op: Rm
30645 return 16;
30646 case 0:
30647 // op: Rn
30648 return 5;
30649 }
30650 break;
30651 }
30652 case AArch64::CBBEQWrr:
30653 case AArch64::CBBGEWrr:
30654 case AArch64::CBBGTWrr:
30655 case AArch64::CBBHIWrr:
30656 case AArch64::CBBHSWrr:
30657 case AArch64::CBBNEWrr:
30658 case AArch64::CBEQWrr:
30659 case AArch64::CBEQXrr:
30660 case AArch64::CBGEWrr:
30661 case AArch64::CBGEXrr:
30662 case AArch64::CBGTWrr:
30663 case AArch64::CBGTXrr:
30664 case AArch64::CBHEQWrr:
30665 case AArch64::CBHGEWrr:
30666 case AArch64::CBHGTWrr:
30667 case AArch64::CBHHIWrr:
30668 case AArch64::CBHHSWrr:
30669 case AArch64::CBHIWrr:
30670 case AArch64::CBHIXrr:
30671 case AArch64::CBHNEWrr:
30672 case AArch64::CBHSWrr:
30673 case AArch64::CBHSXrr:
30674 case AArch64::CBNEWrr:
30675 case AArch64::CBNEXrr: {
30676 switch (OpNum) {
30677 case 1:
30678 // op: Rm
30679 return 16;
30680 case 0:
30681 // op: Rt
30682 return 0;
30683 case 2:
30684 // op: target
30685 return 5;
30686 }
30687 break;
30688 }
30689 case AArch64::ST2Gi:
30690 case AArch64::STGi:
30691 case AArch64::STZ2Gi:
30692 case AArch64::STZGi: {
30693 switch (OpNum) {
30694 case 1:
30695 // op: Rn
30696 return 5;
30697 case 0:
30698 // op: Rt
30699 return 0;
30700 case 2:
30701 // op: offset
30702 return 12;
30703 }
30704 break;
30705 }
30706 case AArch64::LDAPRB:
30707 case AArch64::LDAPRH:
30708 case AArch64::LDAPRW:
30709 case AArch64::LDAPRX:
30710 case AArch64::LDGM:
30711 case AArch64::STGM:
30712 case AArch64::STZGM: {
30713 switch (OpNum) {
30714 case 1:
30715 // op: Rn
30716 return 5;
30717 case 0:
30718 // op: Rt
30719 return 0;
30720 }
30721 break;
30722 }
30723 case AArch64::INDEX_RI_B:
30724 case AArch64::INDEX_RI_D:
30725 case AArch64::INDEX_RI_H:
30726 case AArch64::INDEX_RI_S: {
30727 switch (OpNum) {
30728 case 1:
30729 // op: Rn
30730 return 5;
30731 case 0:
30732 // op: Zd
30733 return 0;
30734 case 2:
30735 // op: imm5
30736 return 16;
30737 }
30738 break;
30739 }
30740 case AArch64::DUP_ZR_B:
30741 case AArch64::DUP_ZR_D:
30742 case AArch64::DUP_ZR_H:
30743 case AArch64::DUP_ZR_S: {
30744 switch (OpNum) {
30745 case 1:
30746 // op: Rn
30747 return 5;
30748 case 0:
30749 // op: Zd
30750 return 0;
30751 }
30752 break;
30753 }
30754 case AArch64::LDR_ZXI:
30755 case AArch64::STR_ZXI: {
30756 switch (OpNum) {
30757 case 1:
30758 // op: Rn
30759 return 5;
30760 case 0:
30761 // op: Zt
30762 return 0;
30763 case 2:
30764 // op: imm9
30765 return 10;
30766 }
30767 break;
30768 }
30769 case AArch64::LDR_TX:
30770 case AArch64::STR_TX: {
30771 switch (OpNum) {
30772 case 1:
30773 // op: Rn
30774 return 5;
30775 }
30776 break;
30777 }
30778 case AArch64::LDADDAB:
30779 case AArch64::LDADDAH:
30780 case AArch64::LDADDALB:
30781 case AArch64::LDADDALH:
30782 case AArch64::LDADDALW:
30783 case AArch64::LDADDALX:
30784 case AArch64::LDADDAW:
30785 case AArch64::LDADDAX:
30786 case AArch64::LDADDB:
30787 case AArch64::LDADDH:
30788 case AArch64::LDADDLB:
30789 case AArch64::LDADDLH:
30790 case AArch64::LDADDLW:
30791 case AArch64::LDADDLX:
30792 case AArch64::LDADDW:
30793 case AArch64::LDADDX:
30794 case AArch64::LDCLRAB:
30795 case AArch64::LDCLRAH:
30796 case AArch64::LDCLRALB:
30797 case AArch64::LDCLRALH:
30798 case AArch64::LDCLRALW:
30799 case AArch64::LDCLRALX:
30800 case AArch64::LDCLRAW:
30801 case AArch64::LDCLRAX:
30802 case AArch64::LDCLRB:
30803 case AArch64::LDCLRH:
30804 case AArch64::LDCLRLB:
30805 case AArch64::LDCLRLH:
30806 case AArch64::LDCLRLW:
30807 case AArch64::LDCLRLX:
30808 case AArch64::LDCLRW:
30809 case AArch64::LDCLRX:
30810 case AArch64::LDEORAB:
30811 case AArch64::LDEORAH:
30812 case AArch64::LDEORALB:
30813 case AArch64::LDEORALH:
30814 case AArch64::LDEORALW:
30815 case AArch64::LDEORALX:
30816 case AArch64::LDEORAW:
30817 case AArch64::LDEORAX:
30818 case AArch64::LDEORB:
30819 case AArch64::LDEORH:
30820 case AArch64::LDEORLB:
30821 case AArch64::LDEORLH:
30822 case AArch64::LDEORLW:
30823 case AArch64::LDEORLX:
30824 case AArch64::LDEORW:
30825 case AArch64::LDEORX:
30826 case AArch64::LDSETAB:
30827 case AArch64::LDSETAH:
30828 case AArch64::LDSETALB:
30829 case AArch64::LDSETALH:
30830 case AArch64::LDSETALW:
30831 case AArch64::LDSETALX:
30832 case AArch64::LDSETAW:
30833 case AArch64::LDSETAX:
30834 case AArch64::LDSETB:
30835 case AArch64::LDSETH:
30836 case AArch64::LDSETLB:
30837 case AArch64::LDSETLH:
30838 case AArch64::LDSETLW:
30839 case AArch64::LDSETLX:
30840 case AArch64::LDSETW:
30841 case AArch64::LDSETX:
30842 case AArch64::LDSMAXAB:
30843 case AArch64::LDSMAXAH:
30844 case AArch64::LDSMAXALB:
30845 case AArch64::LDSMAXALH:
30846 case AArch64::LDSMAXALW:
30847 case AArch64::LDSMAXALX:
30848 case AArch64::LDSMAXAW:
30849 case AArch64::LDSMAXAX:
30850 case AArch64::LDSMAXB:
30851 case AArch64::LDSMAXH:
30852 case AArch64::LDSMAXLB:
30853 case AArch64::LDSMAXLH:
30854 case AArch64::LDSMAXLW:
30855 case AArch64::LDSMAXLX:
30856 case AArch64::LDSMAXW:
30857 case AArch64::LDSMAXX:
30858 case AArch64::LDSMINAB:
30859 case AArch64::LDSMINAH:
30860 case AArch64::LDSMINALB:
30861 case AArch64::LDSMINALH:
30862 case AArch64::LDSMINALW:
30863 case AArch64::LDSMINALX:
30864 case AArch64::LDSMINAW:
30865 case AArch64::LDSMINAX:
30866 case AArch64::LDSMINB:
30867 case AArch64::LDSMINH:
30868 case AArch64::LDSMINLB:
30869 case AArch64::LDSMINLH:
30870 case AArch64::LDSMINLW:
30871 case AArch64::LDSMINLX:
30872 case AArch64::LDSMINW:
30873 case AArch64::LDSMINX:
30874 case AArch64::LDTADDALW:
30875 case AArch64::LDTADDALX:
30876 case AArch64::LDTADDAW:
30877 case AArch64::LDTADDAX:
30878 case AArch64::LDTADDLW:
30879 case AArch64::LDTADDLX:
30880 case AArch64::LDTADDW:
30881 case AArch64::LDTADDX:
30882 case AArch64::LDTCLRALW:
30883 case AArch64::LDTCLRALX:
30884 case AArch64::LDTCLRAW:
30885 case AArch64::LDTCLRAX:
30886 case AArch64::LDTCLRLW:
30887 case AArch64::LDTCLRLX:
30888 case AArch64::LDTCLRW:
30889 case AArch64::LDTCLRX:
30890 case AArch64::LDTSETALW:
30891 case AArch64::LDTSETALX:
30892 case AArch64::LDTSETAW:
30893 case AArch64::LDTSETAX:
30894 case AArch64::LDTSETLW:
30895 case AArch64::LDTSETLX:
30896 case AArch64::LDTSETW:
30897 case AArch64::LDTSETX:
30898 case AArch64::LDUMAXAB:
30899 case AArch64::LDUMAXAH:
30900 case AArch64::LDUMAXALB:
30901 case AArch64::LDUMAXALH:
30902 case AArch64::LDUMAXALW:
30903 case AArch64::LDUMAXALX:
30904 case AArch64::LDUMAXAW:
30905 case AArch64::LDUMAXAX:
30906 case AArch64::LDUMAXB:
30907 case AArch64::LDUMAXH:
30908 case AArch64::LDUMAXLB:
30909 case AArch64::LDUMAXLH:
30910 case AArch64::LDUMAXLW:
30911 case AArch64::LDUMAXLX:
30912 case AArch64::LDUMAXW:
30913 case AArch64::LDUMAXX:
30914 case AArch64::LDUMINAB:
30915 case AArch64::LDUMINAH:
30916 case AArch64::LDUMINALB:
30917 case AArch64::LDUMINALH:
30918 case AArch64::LDUMINALW:
30919 case AArch64::LDUMINALX:
30920 case AArch64::LDUMINAW:
30921 case AArch64::LDUMINAX:
30922 case AArch64::LDUMINB:
30923 case AArch64::LDUMINH:
30924 case AArch64::LDUMINLB:
30925 case AArch64::LDUMINLH:
30926 case AArch64::LDUMINLW:
30927 case AArch64::LDUMINLX:
30928 case AArch64::LDUMINW:
30929 case AArch64::LDUMINX:
30930 case AArch64::RCWCLR:
30931 case AArch64::RCWCLRA:
30932 case AArch64::RCWCLRAL:
30933 case AArch64::RCWCLRL:
30934 case AArch64::RCWCLRS:
30935 case AArch64::RCWCLRSA:
30936 case AArch64::RCWCLRSAL:
30937 case AArch64::RCWCLRSL:
30938 case AArch64::RCWSET:
30939 case AArch64::RCWSETA:
30940 case AArch64::RCWSETAL:
30941 case AArch64::RCWSETL:
30942 case AArch64::RCWSETS:
30943 case AArch64::RCWSETSA:
30944 case AArch64::RCWSETSAL:
30945 case AArch64::RCWSETSL:
30946 case AArch64::RCWSWP:
30947 case AArch64::RCWSWPA:
30948 case AArch64::RCWSWPAL:
30949 case AArch64::RCWSWPL:
30950 case AArch64::RCWSWPS:
30951 case AArch64::RCWSWPSA:
30952 case AArch64::RCWSWPSAL:
30953 case AArch64::RCWSWPSL:
30954 case AArch64::SWPAB:
30955 case AArch64::SWPAH:
30956 case AArch64::SWPALB:
30957 case AArch64::SWPALH:
30958 case AArch64::SWPALW:
30959 case AArch64::SWPALX:
30960 case AArch64::SWPAW:
30961 case AArch64::SWPAX:
30962 case AArch64::SWPB:
30963 case AArch64::SWPH:
30964 case AArch64::SWPLB:
30965 case AArch64::SWPLH:
30966 case AArch64::SWPLW:
30967 case AArch64::SWPLX:
30968 case AArch64::SWPTALW:
30969 case AArch64::SWPTALX:
30970 case AArch64::SWPTAW:
30971 case AArch64::SWPTAX:
30972 case AArch64::SWPTLW:
30973 case AArch64::SWPTLX:
30974 case AArch64::SWPTW:
30975 case AArch64::SWPTX:
30976 case AArch64::SWPW:
30977 case AArch64::SWPX: {
30978 switch (OpNum) {
30979 case 1:
30980 // op: Rs
30981 return 16;
30982 case 2:
30983 // op: Rn
30984 return 5;
30985 case 0:
30986 // op: Rt
30987 return 0;
30988 }
30989 break;
30990 }
30991 case AArch64::CASAB:
30992 case AArch64::CASAH:
30993 case AArch64::CASALB:
30994 case AArch64::CASALH:
30995 case AArch64::CASALTX:
30996 case AArch64::CASALW:
30997 case AArch64::CASALX:
30998 case AArch64::CASATX:
30999 case AArch64::CASAW:
31000 case AArch64::CASAX:
31001 case AArch64::CASB:
31002 case AArch64::CASH:
31003 case AArch64::CASLB:
31004 case AArch64::CASLH:
31005 case AArch64::CASLTX:
31006 case AArch64::CASLW:
31007 case AArch64::CASLX:
31008 case AArch64::CASPALTX:
31009 case AArch64::CASPALW:
31010 case AArch64::CASPALX:
31011 case AArch64::CASPATX:
31012 case AArch64::CASPAW:
31013 case AArch64::CASPAX:
31014 case AArch64::CASPLTX:
31015 case AArch64::CASPLW:
31016 case AArch64::CASPLX:
31017 case AArch64::CASPTX:
31018 case AArch64::CASPW:
31019 case AArch64::CASPX:
31020 case AArch64::CASTX:
31021 case AArch64::CASW:
31022 case AArch64::CASX:
31023 case AArch64::RCWCAS:
31024 case AArch64::RCWCASA:
31025 case AArch64::RCWCASAL:
31026 case AArch64::RCWCASL:
31027 case AArch64::RCWCASP:
31028 case AArch64::RCWCASPA:
31029 case AArch64::RCWCASPAL:
31030 case AArch64::RCWCASPL:
31031 case AArch64::RCWSCAS:
31032 case AArch64::RCWSCASA:
31033 case AArch64::RCWSCASAL:
31034 case AArch64::RCWSCASL:
31035 case AArch64::RCWSCASP:
31036 case AArch64::RCWSCASPA:
31037 case AArch64::RCWSCASPAL:
31038 case AArch64::RCWSCASPL: {
31039 switch (OpNum) {
31040 case 1:
31041 // op: Rs
31042 return 16;
31043 case 3:
31044 // op: Rn
31045 return 5;
31046 case 2:
31047 // op: Rt
31048 return 0;
31049 }
31050 break;
31051 }
31052 case AArch64::MSR:
31053 case AArch64::MSRR: {
31054 switch (OpNum) {
31055 case 1:
31056 // op: Rt
31057 return 0;
31058 case 0:
31059 // op: systemreg
31060 return 5;
31061 }
31062 break;
31063 }
31064 case AArch64::ST64BV:
31065 case AArch64::ST64BV0: {
31066 switch (OpNum) {
31067 case 1:
31068 // op: Rt
31069 return 0;
31070 case 2:
31071 // op: Rn
31072 return 5;
31073 case 0:
31074 // op: Rs
31075 return 16;
31076 }
31077 break;
31078 }
31079 case AArch64::STTXRWr:
31080 case AArch64::STTXRXr: {
31081 switch (OpNum) {
31082 case 1:
31083 // op: Rt
31084 return 0;
31085 case 2:
31086 // op: Rn
31087 return 5;
31088 case 0:
31089 // op: Ws
31090 return 16;
31091 }
31092 break;
31093 }
31094 case AArch64::LDRBBpost:
31095 case AArch64::LDRBBpre:
31096 case AArch64::LDRBpost:
31097 case AArch64::LDRBpre:
31098 case AArch64::LDRDpost:
31099 case AArch64::LDRDpre:
31100 case AArch64::LDRHHpost:
31101 case AArch64::LDRHHpre:
31102 case AArch64::LDRHpost:
31103 case AArch64::LDRHpre:
31104 case AArch64::LDRQpost:
31105 case AArch64::LDRQpre:
31106 case AArch64::LDRSBWpost:
31107 case AArch64::LDRSBWpre:
31108 case AArch64::LDRSBXpost:
31109 case AArch64::LDRSBXpre:
31110 case AArch64::LDRSHWpost:
31111 case AArch64::LDRSHWpre:
31112 case AArch64::LDRSHXpost:
31113 case AArch64::LDRSHXpre:
31114 case AArch64::LDRSWpost:
31115 case AArch64::LDRSWpre:
31116 case AArch64::LDRSpost:
31117 case AArch64::LDRSpre:
31118 case AArch64::LDRWpost:
31119 case AArch64::LDRWpre:
31120 case AArch64::LDRXpost:
31121 case AArch64::LDRXpre:
31122 case AArch64::STRBBpost:
31123 case AArch64::STRBBpre:
31124 case AArch64::STRBpost:
31125 case AArch64::STRBpre:
31126 case AArch64::STRDpost:
31127 case AArch64::STRDpre:
31128 case AArch64::STRHHpost:
31129 case AArch64::STRHHpre:
31130 case AArch64::STRHpost:
31131 case AArch64::STRHpre:
31132 case AArch64::STRQpost:
31133 case AArch64::STRQpre:
31134 case AArch64::STRSpost:
31135 case AArch64::STRSpre:
31136 case AArch64::STRWpost:
31137 case AArch64::STRWpre:
31138 case AArch64::STRXpost:
31139 case AArch64::STRXpre: {
31140 switch (OpNum) {
31141 case 1:
31142 // op: Rt
31143 return 0;
31144 case 2:
31145 // op: Rn
31146 return 5;
31147 case 3:
31148 // op: offset
31149 return 12;
31150 }
31151 break;
31152 }
31153 case AArch64::LDAPRWpost:
31154 case AArch64::LDAPRXpost:
31155 case AArch64::STLRWpre:
31156 case AArch64::STLRXpre: {
31157 switch (OpNum) {
31158 case 1:
31159 // op: Rt
31160 return 0;
31161 case 2:
31162 // op: Rn
31163 return 5;
31164 }
31165 break;
31166 }
31167 case AArch64::LDPDpost:
31168 case AArch64::LDPDpre:
31169 case AArch64::LDPQpost:
31170 case AArch64::LDPQpre:
31171 case AArch64::LDPSWpost:
31172 case AArch64::LDPSWpre:
31173 case AArch64::LDPSpost:
31174 case AArch64::LDPSpre:
31175 case AArch64::LDPWpost:
31176 case AArch64::LDPWpre:
31177 case AArch64::LDPXpost:
31178 case AArch64::LDPXpre:
31179 case AArch64::LDTPQpost:
31180 case AArch64::LDTPQpre:
31181 case AArch64::LDTPpost:
31182 case AArch64::LDTPpre:
31183 case AArch64::STGPpost:
31184 case AArch64::STGPpre:
31185 case AArch64::STPDpost:
31186 case AArch64::STPDpre:
31187 case AArch64::STPQpost:
31188 case AArch64::STPQpre:
31189 case AArch64::STPSpost:
31190 case AArch64::STPSpre:
31191 case AArch64::STPWpost:
31192 case AArch64::STPWpre:
31193 case AArch64::STPXpost:
31194 case AArch64::STPXpre:
31195 case AArch64::STTPQpost:
31196 case AArch64::STTPQpre:
31197 case AArch64::STTPpost:
31198 case AArch64::STTPpre: {
31199 switch (OpNum) {
31200 case 1:
31201 // op: Rt
31202 return 0;
31203 case 2:
31204 // op: Rt2
31205 return 10;
31206 case 3:
31207 // op: Rn
31208 return 5;
31209 case 4:
31210 // op: offset
31211 return 15;
31212 }
31213 break;
31214 }
31215 case AArch64::LDIAPPWpost:
31216 case AArch64::LDIAPPXpost:
31217 case AArch64::STILPWpre:
31218 case AArch64::STILPXpre: {
31219 switch (OpNum) {
31220 case 1:
31221 // op: Rt
31222 return 0;
31223 case 3:
31224 // op: Rn
31225 return 5;
31226 case 2:
31227 // op: Rt2
31228 return 16;
31229 }
31230 break;
31231 }
31232 case AArch64::LDR_ZA:
31233 case AArch64::STR_ZA: {
31234 switch (OpNum) {
31235 case 1:
31236 // op: Rv
31237 return 13;
31238 case 3:
31239 // op: Rn
31240 return 5;
31241 case 2:
31242 // op: imm4
31243 return 0;
31244 }
31245 break;
31246 }
31247 case AArch64::SHA512H:
31248 case AArch64::SHA512H2:
31249 case AArch64::SHA512SU1:
31250 case AArch64::SM3PARTW1:
31251 case AArch64::SM3PARTW2:
31252 case AArch64::TBXv16i8Four:
31253 case AArch64::TBXv16i8One:
31254 case AArch64::TBXv16i8Three:
31255 case AArch64::TBXv16i8Two:
31256 case AArch64::TBXv8i8Four:
31257 case AArch64::TBXv8i8One:
31258 case AArch64::TBXv8i8Three:
31259 case AArch64::TBXv8i8Two: {
31260 switch (OpNum) {
31261 case 1:
31262 // op: Vd
31263 return 0;
31264 case 2:
31265 // op: Vn
31266 return 5;
31267 case 3:
31268 // op: Vm
31269 return 16;
31270 }
31271 break;
31272 }
31273 case AArch64::SM3TT1A:
31274 case AArch64::SM3TT1B:
31275 case AArch64::SM3TT2A:
31276 case AArch64::SM3TT2B: {
31277 switch (OpNum) {
31278 case 1:
31279 // op: Vd
31280 return 0;
31281 case 2:
31282 // op: Vn
31283 return 5;
31284 case 4:
31285 // op: imm
31286 return 12;
31287 case 3:
31288 // op: Vm
31289 return 16;
31290 }
31291 break;
31292 }
31293 case AArch64::SHA512SU0:
31294 case AArch64::SM4E: {
31295 switch (OpNum) {
31296 case 1:
31297 // op: Vd
31298 return 0;
31299 case 2:
31300 // op: Vn
31301 return 5;
31302 }
31303 break;
31304 }
31305 case AArch64::LD1Fourv16b_POST:
31306 case AArch64::LD1Fourv1d_POST:
31307 case AArch64::LD1Fourv2d_POST:
31308 case AArch64::LD1Fourv2s_POST:
31309 case AArch64::LD1Fourv4h_POST:
31310 case AArch64::LD1Fourv4s_POST:
31311 case AArch64::LD1Fourv8b_POST:
31312 case AArch64::LD1Fourv8h_POST:
31313 case AArch64::LD1Onev16b_POST:
31314 case AArch64::LD1Onev1d_POST:
31315 case AArch64::LD1Onev2d_POST:
31316 case AArch64::LD1Onev2s_POST:
31317 case AArch64::LD1Onev4h_POST:
31318 case AArch64::LD1Onev4s_POST:
31319 case AArch64::LD1Onev8b_POST:
31320 case AArch64::LD1Onev8h_POST:
31321 case AArch64::LD1Rv16b_POST:
31322 case AArch64::LD1Rv1d_POST:
31323 case AArch64::LD1Rv2d_POST:
31324 case AArch64::LD1Rv2s_POST:
31325 case AArch64::LD1Rv4h_POST:
31326 case AArch64::LD1Rv4s_POST:
31327 case AArch64::LD1Rv8b_POST:
31328 case AArch64::LD1Rv8h_POST:
31329 case AArch64::LD1Threev16b_POST:
31330 case AArch64::LD1Threev1d_POST:
31331 case AArch64::LD1Threev2d_POST:
31332 case AArch64::LD1Threev2s_POST:
31333 case AArch64::LD1Threev4h_POST:
31334 case AArch64::LD1Threev4s_POST:
31335 case AArch64::LD1Threev8b_POST:
31336 case AArch64::LD1Threev8h_POST:
31337 case AArch64::LD1Twov16b_POST:
31338 case AArch64::LD1Twov1d_POST:
31339 case AArch64::LD1Twov2d_POST:
31340 case AArch64::LD1Twov2s_POST:
31341 case AArch64::LD1Twov4h_POST:
31342 case AArch64::LD1Twov4s_POST:
31343 case AArch64::LD1Twov8b_POST:
31344 case AArch64::LD1Twov8h_POST:
31345 case AArch64::LD2Rv16b_POST:
31346 case AArch64::LD2Rv1d_POST:
31347 case AArch64::LD2Rv2d_POST:
31348 case AArch64::LD2Rv2s_POST:
31349 case AArch64::LD2Rv4h_POST:
31350 case AArch64::LD2Rv4s_POST:
31351 case AArch64::LD2Rv8b_POST:
31352 case AArch64::LD2Rv8h_POST:
31353 case AArch64::LD2Twov16b_POST:
31354 case AArch64::LD2Twov2d_POST:
31355 case AArch64::LD2Twov2s_POST:
31356 case AArch64::LD2Twov4h_POST:
31357 case AArch64::LD2Twov4s_POST:
31358 case AArch64::LD2Twov8b_POST:
31359 case AArch64::LD2Twov8h_POST:
31360 case AArch64::LD3Rv16b_POST:
31361 case AArch64::LD3Rv1d_POST:
31362 case AArch64::LD3Rv2d_POST:
31363 case AArch64::LD3Rv2s_POST:
31364 case AArch64::LD3Rv4h_POST:
31365 case AArch64::LD3Rv4s_POST:
31366 case AArch64::LD3Rv8b_POST:
31367 case AArch64::LD3Rv8h_POST:
31368 case AArch64::LD3Threev16b_POST:
31369 case AArch64::LD3Threev2d_POST:
31370 case AArch64::LD3Threev2s_POST:
31371 case AArch64::LD3Threev4h_POST:
31372 case AArch64::LD3Threev4s_POST:
31373 case AArch64::LD3Threev8b_POST:
31374 case AArch64::LD3Threev8h_POST:
31375 case AArch64::LD4Fourv16b_POST:
31376 case AArch64::LD4Fourv2d_POST:
31377 case AArch64::LD4Fourv2s_POST:
31378 case AArch64::LD4Fourv4h_POST:
31379 case AArch64::LD4Fourv4s_POST:
31380 case AArch64::LD4Fourv8b_POST:
31381 case AArch64::LD4Fourv8h_POST:
31382 case AArch64::LD4Rv16b_POST:
31383 case AArch64::LD4Rv1d_POST:
31384 case AArch64::LD4Rv2d_POST:
31385 case AArch64::LD4Rv2s_POST:
31386 case AArch64::LD4Rv4h_POST:
31387 case AArch64::LD4Rv4s_POST:
31388 case AArch64::LD4Rv8b_POST:
31389 case AArch64::LD4Rv8h_POST:
31390 case AArch64::ST1Fourv16b_POST:
31391 case AArch64::ST1Fourv1d_POST:
31392 case AArch64::ST1Fourv2d_POST:
31393 case AArch64::ST1Fourv2s_POST:
31394 case AArch64::ST1Fourv4h_POST:
31395 case AArch64::ST1Fourv4s_POST:
31396 case AArch64::ST1Fourv8b_POST:
31397 case AArch64::ST1Fourv8h_POST:
31398 case AArch64::ST1Onev16b_POST:
31399 case AArch64::ST1Onev1d_POST:
31400 case AArch64::ST1Onev2d_POST:
31401 case AArch64::ST1Onev2s_POST:
31402 case AArch64::ST1Onev4h_POST:
31403 case AArch64::ST1Onev4s_POST:
31404 case AArch64::ST1Onev8b_POST:
31405 case AArch64::ST1Onev8h_POST:
31406 case AArch64::ST1Threev16b_POST:
31407 case AArch64::ST1Threev1d_POST:
31408 case AArch64::ST1Threev2d_POST:
31409 case AArch64::ST1Threev2s_POST:
31410 case AArch64::ST1Threev4h_POST:
31411 case AArch64::ST1Threev4s_POST:
31412 case AArch64::ST1Threev8b_POST:
31413 case AArch64::ST1Threev8h_POST:
31414 case AArch64::ST1Twov16b_POST:
31415 case AArch64::ST1Twov1d_POST:
31416 case AArch64::ST1Twov2d_POST:
31417 case AArch64::ST1Twov2s_POST:
31418 case AArch64::ST1Twov4h_POST:
31419 case AArch64::ST1Twov4s_POST:
31420 case AArch64::ST1Twov8b_POST:
31421 case AArch64::ST1Twov8h_POST:
31422 case AArch64::ST2Twov16b_POST:
31423 case AArch64::ST2Twov2d_POST:
31424 case AArch64::ST2Twov2s_POST:
31425 case AArch64::ST2Twov4h_POST:
31426 case AArch64::ST2Twov4s_POST:
31427 case AArch64::ST2Twov8b_POST:
31428 case AArch64::ST2Twov8h_POST:
31429 case AArch64::ST3Threev16b_POST:
31430 case AArch64::ST3Threev2d_POST:
31431 case AArch64::ST3Threev2s_POST:
31432 case AArch64::ST3Threev4h_POST:
31433 case AArch64::ST3Threev4s_POST:
31434 case AArch64::ST3Threev8b_POST:
31435 case AArch64::ST3Threev8h_POST:
31436 case AArch64::ST4Fourv16b_POST:
31437 case AArch64::ST4Fourv2d_POST:
31438 case AArch64::ST4Fourv2s_POST:
31439 case AArch64::ST4Fourv4h_POST:
31440 case AArch64::ST4Fourv4s_POST:
31441 case AArch64::ST4Fourv8b_POST:
31442 case AArch64::ST4Fourv8h_POST: {
31443 switch (OpNum) {
31444 case 1:
31445 // op: Vt
31446 return 0;
31447 case 2:
31448 // op: Rn
31449 return 5;
31450 case 3:
31451 // op: Xm
31452 return 16;
31453 }
31454 break;
31455 }
31456 case AArch64::LDAP1: {
31457 switch (OpNum) {
31458 case 1:
31459 // op: Vt
31460 return 0;
31461 case 3:
31462 // op: Rn
31463 return 5;
31464 case 2:
31465 // op: Q
31466 return 30;
31467 }
31468 break;
31469 }
31470 case AArch64::ST1i8_POST:
31471 case AArch64::ST2i8_POST:
31472 case AArch64::ST3i8_POST:
31473 case AArch64::ST4i8_POST: {
31474 switch (OpNum) {
31475 case 1:
31476 // op: Vt
31477 return 0;
31478 case 3:
31479 // op: Rn
31480 return 5;
31481 case 2:
31482 // op: idx
31483 return 10;
31484 case 4:
31485 // op: Xm
31486 return 16;
31487 }
31488 break;
31489 }
31490 case AArch64::LD1i8:
31491 case AArch64::LD2i8:
31492 case AArch64::LD3i8:
31493 case AArch64::LD4i8: {
31494 switch (OpNum) {
31495 case 1:
31496 // op: Vt
31497 return 0;
31498 case 3:
31499 // op: Rn
31500 return 5;
31501 case 2:
31502 // op: idx
31503 return 10;
31504 }
31505 break;
31506 }
31507 case AArch64::ST1i16_POST:
31508 case AArch64::ST2i16_POST:
31509 case AArch64::ST3i16_POST:
31510 case AArch64::ST4i16_POST: {
31511 switch (OpNum) {
31512 case 1:
31513 // op: Vt
31514 return 0;
31515 case 3:
31516 // op: Rn
31517 return 5;
31518 case 2:
31519 // op: idx
31520 return 11;
31521 case 4:
31522 // op: Xm
31523 return 16;
31524 }
31525 break;
31526 }
31527 case AArch64::LD1i16:
31528 case AArch64::LD2i16:
31529 case AArch64::LD3i16:
31530 case AArch64::LD4i16: {
31531 switch (OpNum) {
31532 case 1:
31533 // op: Vt
31534 return 0;
31535 case 3:
31536 // op: Rn
31537 return 5;
31538 case 2:
31539 // op: idx
31540 return 11;
31541 }
31542 break;
31543 }
31544 case AArch64::ST1i32_POST:
31545 case AArch64::ST2i32_POST:
31546 case AArch64::ST3i32_POST:
31547 case AArch64::ST4i32_POST: {
31548 switch (OpNum) {
31549 case 1:
31550 // op: Vt
31551 return 0;
31552 case 3:
31553 // op: Rn
31554 return 5;
31555 case 2:
31556 // op: idx
31557 return 12;
31558 case 4:
31559 // op: Xm
31560 return 16;
31561 }
31562 break;
31563 }
31564 case AArch64::LD1i32:
31565 case AArch64::LD2i32:
31566 case AArch64::LD3i32:
31567 case AArch64::LD4i32: {
31568 switch (OpNum) {
31569 case 1:
31570 // op: Vt
31571 return 0;
31572 case 3:
31573 // op: Rn
31574 return 5;
31575 case 2:
31576 // op: idx
31577 return 12;
31578 }
31579 break;
31580 }
31581 case AArch64::ST1i64_POST:
31582 case AArch64::ST2i64_POST:
31583 case AArch64::ST3i64_POST:
31584 case AArch64::ST4i64_POST: {
31585 switch (OpNum) {
31586 case 1:
31587 // op: Vt
31588 return 0;
31589 case 3:
31590 // op: Rn
31591 return 5;
31592 case 2:
31593 // op: idx
31594 return 30;
31595 case 4:
31596 // op: Xm
31597 return 16;
31598 }
31599 break;
31600 }
31601 case AArch64::LD1i64:
31602 case AArch64::LD2i64:
31603 case AArch64::LD3i64:
31604 case AArch64::LD4i64: {
31605 switch (OpNum) {
31606 case 1:
31607 // op: Vt
31608 return 0;
31609 case 3:
31610 // op: Rn
31611 return 5;
31612 case 2:
31613 // op: idx
31614 return 30;
31615 }
31616 break;
31617 }
31618 case AArch64::BF1CVTL_2ZZ_BtoH:
31619 case AArch64::BF1CVT_2ZZ_BtoH:
31620 case AArch64::BF2CVTL_2ZZ_BtoH:
31621 case AArch64::BF2CVT_2ZZ_BtoH:
31622 case AArch64::F1CVTL_2ZZ_BtoH:
31623 case AArch64::F1CVT_2ZZ_BtoH:
31624 case AArch64::F2CVTL_2ZZ_BtoH:
31625 case AArch64::F2CVT_2ZZ_BtoH:
31626 case AArch64::FCVTL_2ZZ_H_S:
31627 case AArch64::FCVT_2ZZ_H_S:
31628 case AArch64::SUNPK_VG2_2ZZ_D:
31629 case AArch64::SUNPK_VG2_2ZZ_H:
31630 case AArch64::SUNPK_VG2_2ZZ_S:
31631 case AArch64::UUNPK_VG2_2ZZ_D:
31632 case AArch64::UUNPK_VG2_2ZZ_H:
31633 case AArch64::UUNPK_VG2_2ZZ_S: {
31634 switch (OpNum) {
31635 case 1:
31636 // op: Zn
31637 return 5;
31638 case 0:
31639 // op: Zd
31640 return 1;
31641 }
31642 break;
31643 }
31644 case AArch64::BFCVTN_Z2Z_StoH:
31645 case AArch64::BFCVT_Z2Z_HtoB:
31646 case AArch64::BFCVT_Z2Z_StoH:
31647 case AArch64::FCVTN_Z2Z_StoH:
31648 case AArch64::FCVT_Z2Z_HtoB:
31649 case AArch64::FCVT_Z2Z_StoH:
31650 case AArch64::SQCVTU_Z2Z_StoH:
31651 case AArch64::SQCVT_Z2Z_StoH:
31652 case AArch64::UQCVT_Z2Z_StoH: {
31653 switch (OpNum) {
31654 case 1:
31655 // op: Zn
31656 return 6;
31657 case 0:
31658 // op: Zd
31659 return 0;
31660 }
31661 break;
31662 }
31663 case AArch64::FCVTZS_2Z2Z_StoS:
31664 case AArch64::FCVTZU_2Z2Z_StoS:
31665 case AArch64::FRINTA_2Z2Z_S:
31666 case AArch64::FRINTM_2Z2Z_S:
31667 case AArch64::FRINTN_2Z2Z_S:
31668 case AArch64::FRINTP_2Z2Z_S:
31669 case AArch64::SCVTF_2Z2Z_StoS:
31670 case AArch64::UCVTF_2Z2Z_StoS: {
31671 switch (OpNum) {
31672 case 1:
31673 // op: Zn
31674 return 6;
31675 case 0:
31676 // op: Zd
31677 return 1;
31678 }
31679 break;
31680 }
31681 case AArch64::SUNPK_VG4_4Z2Z_D:
31682 case AArch64::SUNPK_VG4_4Z2Z_H:
31683 case AArch64::SUNPK_VG4_4Z2Z_S:
31684 case AArch64::UUNPK_VG4_4Z2Z_D:
31685 case AArch64::UUNPK_VG4_4Z2Z_H:
31686 case AArch64::UUNPK_VG4_4Z2Z_S: {
31687 switch (OpNum) {
31688 case 1:
31689 // op: Zn
31690 return 6;
31691 case 0:
31692 // op: Zd
31693 return 2;
31694 }
31695 break;
31696 }
31697 case AArch64::SQRSHRN_VG4_Z4ZI_B:
31698 case AArch64::SQRSHRN_VG4_Z4ZI_H:
31699 case AArch64::SQRSHRUN_VG4_Z4ZI_B:
31700 case AArch64::SQRSHRUN_VG4_Z4ZI_H:
31701 case AArch64::SQRSHRU_VG4_Z4ZI_B:
31702 case AArch64::SQRSHRU_VG4_Z4ZI_H:
31703 case AArch64::SQRSHR_VG4_Z4ZI_B:
31704 case AArch64::SQRSHR_VG4_Z4ZI_H:
31705 case AArch64::UQRSHRN_VG4_Z4ZI_B:
31706 case AArch64::UQRSHRN_VG4_Z4ZI_H:
31707 case AArch64::UQRSHR_VG4_Z4ZI_B:
31708 case AArch64::UQRSHR_VG4_Z4ZI_H: {
31709 switch (OpNum) {
31710 case 1:
31711 // op: Zn
31712 return 7;
31713 case 0:
31714 // op: Zd
31715 return 0;
31716 case 2:
31717 // op: imm
31718 return 16;
31719 }
31720 break;
31721 }
31722 case AArch64::FCVTN_Z4Z_StoB:
31723 case AArch64::FCVT_Z4Z_StoB:
31724 case AArch64::SQCVTN_Z4Z_DtoH:
31725 case AArch64::SQCVTN_Z4Z_StoB:
31726 case AArch64::SQCVTUN_Z4Z_DtoH:
31727 case AArch64::SQCVTUN_Z4Z_StoB:
31728 case AArch64::SQCVTU_Z4Z_DtoH:
31729 case AArch64::SQCVTU_Z4Z_StoB:
31730 case AArch64::SQCVT_Z4Z_DtoH:
31731 case AArch64::SQCVT_Z4Z_StoB:
31732 case AArch64::UQCVTN_Z4Z_DtoH:
31733 case AArch64::UQCVTN_Z4Z_StoB:
31734 case AArch64::UQCVT_Z4Z_DtoH:
31735 case AArch64::UQCVT_Z4Z_StoB: {
31736 switch (OpNum) {
31737 case 1:
31738 // op: Zn
31739 return 7;
31740 case 0:
31741 // op: Zd
31742 return 0;
31743 }
31744 break;
31745 }
31746 case AArch64::FCVTZS_4Z4Z_StoS:
31747 case AArch64::FCVTZU_4Z4Z_StoS:
31748 case AArch64::FRINTA_4Z4Z_S:
31749 case AArch64::FRINTM_4Z4Z_S:
31750 case AArch64::FRINTN_4Z4Z_S:
31751 case AArch64::FRINTP_4Z4Z_S:
31752 case AArch64::SCVTF_4Z4Z_StoS:
31753 case AArch64::UCVTF_4Z4Z_StoS:
31754 case AArch64::UZP_VG4_4Z4Z_B:
31755 case AArch64::UZP_VG4_4Z4Z_D:
31756 case AArch64::UZP_VG4_4Z4Z_H:
31757 case AArch64::UZP_VG4_4Z4Z_Q:
31758 case AArch64::UZP_VG4_4Z4Z_S:
31759 case AArch64::ZIP_VG4_4Z4Z_B:
31760 case AArch64::ZIP_VG4_4Z4Z_D:
31761 case AArch64::ZIP_VG4_4Z4Z_H:
31762 case AArch64::ZIP_VG4_4Z4Z_Q:
31763 case AArch64::ZIP_VG4_4Z4Z_S: {
31764 switch (OpNum) {
31765 case 1:
31766 // op: Zn
31767 return 7;
31768 case 0:
31769 // op: Zd
31770 return 2;
31771 }
31772 break;
31773 }
31774 case AArch64::MOVT_TIX: {
31775 switch (OpNum) {
31776 case 1:
31777 // op: imm3
31778 return 12;
31779 case 2:
31780 // op: Rt
31781 return 0;
31782 }
31783 break;
31784 }
31785 case AArch64::ABS_ZPmZ_B:
31786 case AArch64::ABS_ZPmZ_D:
31787 case AArch64::ABS_ZPmZ_H:
31788 case AArch64::ABS_ZPmZ_S:
31789 case AArch64::BFCVT_ZPmZ:
31790 case AArch64::CLS_ZPmZ_B:
31791 case AArch64::CLS_ZPmZ_D:
31792 case AArch64::CLS_ZPmZ_H:
31793 case AArch64::CLS_ZPmZ_S:
31794 case AArch64::CLZ_ZPmZ_B:
31795 case AArch64::CLZ_ZPmZ_D:
31796 case AArch64::CLZ_ZPmZ_H:
31797 case AArch64::CLZ_ZPmZ_S:
31798 case AArch64::CNOT_ZPmZ_B:
31799 case AArch64::CNOT_ZPmZ_D:
31800 case AArch64::CNOT_ZPmZ_H:
31801 case AArch64::CNOT_ZPmZ_S:
31802 case AArch64::CNT_ZPmZ_B:
31803 case AArch64::CNT_ZPmZ_D:
31804 case AArch64::CNT_ZPmZ_H:
31805 case AArch64::CNT_ZPmZ_S:
31806 case AArch64::FABS_ZPmZ_D:
31807 case AArch64::FABS_ZPmZ_H:
31808 case AArch64::FABS_ZPmZ_S:
31809 case AArch64::FCVTX_ZPmZ_DtoS:
31810 case AArch64::FCVTZS_ZPmZ_DtoD:
31811 case AArch64::FCVTZS_ZPmZ_DtoS:
31812 case AArch64::FCVTZS_ZPmZ_HtoD:
31813 case AArch64::FCVTZS_ZPmZ_HtoH:
31814 case AArch64::FCVTZS_ZPmZ_HtoS:
31815 case AArch64::FCVTZS_ZPmZ_StoD:
31816 case AArch64::FCVTZS_ZPmZ_StoS:
31817 case AArch64::FCVTZU_ZPmZ_DtoD:
31818 case AArch64::FCVTZU_ZPmZ_DtoS:
31819 case AArch64::FCVTZU_ZPmZ_HtoD:
31820 case AArch64::FCVTZU_ZPmZ_HtoH:
31821 case AArch64::FCVTZU_ZPmZ_HtoS:
31822 case AArch64::FCVTZU_ZPmZ_StoD:
31823 case AArch64::FCVTZU_ZPmZ_StoS:
31824 case AArch64::FCVT_ZPmZ_DtoH:
31825 case AArch64::FCVT_ZPmZ_DtoS:
31826 case AArch64::FCVT_ZPmZ_HtoD:
31827 case AArch64::FCVT_ZPmZ_HtoS:
31828 case AArch64::FCVT_ZPmZ_StoD:
31829 case AArch64::FCVT_ZPmZ_StoH:
31830 case AArch64::FLOGB_ZPmZ_D:
31831 case AArch64::FLOGB_ZPmZ_H:
31832 case AArch64::FLOGB_ZPmZ_S:
31833 case AArch64::FNEG_ZPmZ_D:
31834 case AArch64::FNEG_ZPmZ_H:
31835 case AArch64::FNEG_ZPmZ_S:
31836 case AArch64::FRECPX_ZPmZ_D:
31837 case AArch64::FRECPX_ZPmZ_H:
31838 case AArch64::FRECPX_ZPmZ_S:
31839 case AArch64::FRINT32X_ZPmZ_D:
31840 case AArch64::FRINT32X_ZPmZ_S:
31841 case AArch64::FRINT32Z_ZPmZ_D:
31842 case AArch64::FRINT32Z_ZPmZ_S:
31843 case AArch64::FRINT64X_ZPmZ_D:
31844 case AArch64::FRINT64X_ZPmZ_S:
31845 case AArch64::FRINT64Z_ZPmZ_D:
31846 case AArch64::FRINT64Z_ZPmZ_S:
31847 case AArch64::FRINTA_ZPmZ_D:
31848 case AArch64::FRINTA_ZPmZ_H:
31849 case AArch64::FRINTA_ZPmZ_S:
31850 case AArch64::FRINTI_ZPmZ_D:
31851 case AArch64::FRINTI_ZPmZ_H:
31852 case AArch64::FRINTI_ZPmZ_S:
31853 case AArch64::FRINTM_ZPmZ_D:
31854 case AArch64::FRINTM_ZPmZ_H:
31855 case AArch64::FRINTM_ZPmZ_S:
31856 case AArch64::FRINTN_ZPmZ_D:
31857 case AArch64::FRINTN_ZPmZ_H:
31858 case AArch64::FRINTN_ZPmZ_S:
31859 case AArch64::FRINTP_ZPmZ_D:
31860 case AArch64::FRINTP_ZPmZ_H:
31861 case AArch64::FRINTP_ZPmZ_S:
31862 case AArch64::FRINTX_ZPmZ_D:
31863 case AArch64::FRINTX_ZPmZ_H:
31864 case AArch64::FRINTX_ZPmZ_S:
31865 case AArch64::FRINTZ_ZPmZ_D:
31866 case AArch64::FRINTZ_ZPmZ_H:
31867 case AArch64::FRINTZ_ZPmZ_S:
31868 case AArch64::FSQRT_ZPmZ_D:
31869 case AArch64::FSQRT_ZPmZ_H:
31870 case AArch64::FSQRT_ZPmZ_S:
31871 case AArch64::MOVPRFX_ZPmZ_B:
31872 case AArch64::MOVPRFX_ZPmZ_D:
31873 case AArch64::MOVPRFX_ZPmZ_H:
31874 case AArch64::MOVPRFX_ZPmZ_S:
31875 case AArch64::NEG_ZPmZ_B:
31876 case AArch64::NEG_ZPmZ_D:
31877 case AArch64::NEG_ZPmZ_H:
31878 case AArch64::NEG_ZPmZ_S:
31879 case AArch64::NOT_ZPmZ_B:
31880 case AArch64::NOT_ZPmZ_D:
31881 case AArch64::NOT_ZPmZ_H:
31882 case AArch64::NOT_ZPmZ_S:
31883 case AArch64::SCVTF_ZPmZ_DtoD:
31884 case AArch64::SCVTF_ZPmZ_DtoH:
31885 case AArch64::SCVTF_ZPmZ_DtoS:
31886 case AArch64::SCVTF_ZPmZ_HtoH:
31887 case AArch64::SCVTF_ZPmZ_StoD:
31888 case AArch64::SCVTF_ZPmZ_StoH:
31889 case AArch64::SCVTF_ZPmZ_StoS:
31890 case AArch64::SQABS_ZPmZ_B:
31891 case AArch64::SQABS_ZPmZ_D:
31892 case AArch64::SQABS_ZPmZ_H:
31893 case AArch64::SQABS_ZPmZ_S:
31894 case AArch64::SQNEG_ZPmZ_B:
31895 case AArch64::SQNEG_ZPmZ_D:
31896 case AArch64::SQNEG_ZPmZ_H:
31897 case AArch64::SQNEG_ZPmZ_S:
31898 case AArch64::SXTB_ZPmZ_D:
31899 case AArch64::SXTB_ZPmZ_H:
31900 case AArch64::SXTB_ZPmZ_S:
31901 case AArch64::SXTH_ZPmZ_D:
31902 case AArch64::SXTH_ZPmZ_S:
31903 case AArch64::SXTW_ZPmZ_D:
31904 case AArch64::UCVTF_ZPmZ_DtoD:
31905 case AArch64::UCVTF_ZPmZ_DtoH:
31906 case AArch64::UCVTF_ZPmZ_DtoS:
31907 case AArch64::UCVTF_ZPmZ_HtoH:
31908 case AArch64::UCVTF_ZPmZ_StoD:
31909 case AArch64::UCVTF_ZPmZ_StoH:
31910 case AArch64::UCVTF_ZPmZ_StoS:
31911 case AArch64::URECPE_ZPmZ_S:
31912 case AArch64::URSQRTE_ZPmZ_S:
31913 case AArch64::UXTB_ZPmZ_D:
31914 case AArch64::UXTB_ZPmZ_H:
31915 case AArch64::UXTB_ZPmZ_S:
31916 case AArch64::UXTH_ZPmZ_D:
31917 case AArch64::UXTH_ZPmZ_S:
31918 case AArch64::UXTW_ZPmZ_D: {
31919 switch (OpNum) {
31920 case 2:
31921 // op: Pg
31922 return 10;
31923 case 0:
31924 // op: Zd
31925 return 0;
31926 case 3:
31927 // op: Zn
31928 return 5;
31929 }
31930 break;
31931 }
31932 case AArch64::CPY_ZPmR_B:
31933 case AArch64::CPY_ZPmR_D:
31934 case AArch64::CPY_ZPmR_H:
31935 case AArch64::CPY_ZPmR_S: {
31936 switch (OpNum) {
31937 case 2:
31938 // op: Pg
31939 return 10;
31940 case 3:
31941 // op: Rn
31942 return 5;
31943 case 0:
31944 // op: Zd
31945 return 0;
31946 }
31947 break;
31948 }
31949 case AArch64::CPY_ZPmV_B:
31950 case AArch64::CPY_ZPmV_D:
31951 case AArch64::CPY_ZPmV_H:
31952 case AArch64::CPY_ZPmV_S: {
31953 switch (OpNum) {
31954 case 2:
31955 // op: Pg
31956 return 10;
31957 case 3:
31958 // op: Vn
31959 return 5;
31960 case 0:
31961 // op: Zd
31962 return 0;
31963 }
31964 break;
31965 }
31966 case AArch64::FCPY_ZPmI_D:
31967 case AArch64::FCPY_ZPmI_H:
31968 case AArch64::FCPY_ZPmI_S: {
31969 switch (OpNum) {
31970 case 2:
31971 // op: Pg
31972 return 16;
31973 case 0:
31974 // op: Zd
31975 return 0;
31976 case 3:
31977 // op: imm8
31978 return 5;
31979 }
31980 break;
31981 }
31982 case AArch64::DECP_ZP_D:
31983 case AArch64::DECP_ZP_H:
31984 case AArch64::DECP_ZP_S:
31985 case AArch64::INCP_ZP_D:
31986 case AArch64::INCP_ZP_H:
31987 case AArch64::INCP_ZP_S:
31988 case AArch64::SQDECP_ZP_D:
31989 case AArch64::SQDECP_ZP_H:
31990 case AArch64::SQDECP_ZP_S:
31991 case AArch64::SQINCP_ZP_D:
31992 case AArch64::SQINCP_ZP_H:
31993 case AArch64::SQINCP_ZP_S:
31994 case AArch64::UQDECP_ZP_D:
31995 case AArch64::UQDECP_ZP_H:
31996 case AArch64::UQDECP_ZP_S:
31997 case AArch64::UQINCP_ZP_D:
31998 case AArch64::UQINCP_ZP_H:
31999 case AArch64::UQINCP_ZP_S: {
32000 switch (OpNum) {
32001 case 2:
32002 // op: Pm
32003 return 5;
32004 case 0:
32005 // op: Zdn
32006 return 0;
32007 }
32008 break;
32009 }
32010 case AArch64::MOPSSETGE:
32011 case AArch64::MOPSSETGEN:
32012 case AArch64::MOPSSETGET:
32013 case AArch64::MOPSSETGETN:
32014 case AArch64::SETE:
32015 case AArch64::SETEN:
32016 case AArch64::SETET:
32017 case AArch64::SETETN:
32018 case AArch64::SETGM:
32019 case AArch64::SETGMN:
32020 case AArch64::SETGMT:
32021 case AArch64::SETGMTN:
32022 case AArch64::SETGP:
32023 case AArch64::SETGPN:
32024 case AArch64::SETGPT:
32025 case AArch64::SETGPTN:
32026 case AArch64::SETM:
32027 case AArch64::SETMN:
32028 case AArch64::SETMT:
32029 case AArch64::SETMTN:
32030 case AArch64::SETP:
32031 case AArch64::SETPN:
32032 case AArch64::SETPT:
32033 case AArch64::SETPTN: {
32034 switch (OpNum) {
32035 case 2:
32036 // op: Rd
32037 return 0;
32038 case 3:
32039 // op: Rn
32040 return 5;
32041 case 4:
32042 // op: Rm
32043 return 16;
32044 }
32045 break;
32046 }
32047 case AArch64::SETGOE:
32048 case AArch64::SETGOEN:
32049 case AArch64::SETGOET:
32050 case AArch64::SETGOETN:
32051 case AArch64::SETGOM:
32052 case AArch64::SETGOMN:
32053 case AArch64::SETGOMT:
32054 case AArch64::SETGOMTN:
32055 case AArch64::SETGOP:
32056 case AArch64::SETGOPN:
32057 case AArch64::SETGOPT:
32058 case AArch64::SETGOPTN: {
32059 switch (OpNum) {
32060 case 2:
32061 // op: Rd
32062 return 0;
32063 case 3:
32064 // op: Rn
32065 return 5;
32066 }
32067 break;
32068 }
32069 case AArch64::INDEX_IR_B:
32070 case AArch64::INDEX_IR_D:
32071 case AArch64::INDEX_IR_H:
32072 case AArch64::INDEX_IR_S: {
32073 switch (OpNum) {
32074 case 2:
32075 // op: Rm
32076 return 16;
32077 case 0:
32078 // op: Zd
32079 return 0;
32080 case 1:
32081 // op: imm5
32082 return 5;
32083 }
32084 break;
32085 }
32086 case AArch64::INSR_ZR_B:
32087 case AArch64::INSR_ZR_D:
32088 case AArch64::INSR_ZR_H:
32089 case AArch64::INSR_ZR_S: {
32090 switch (OpNum) {
32091 case 2:
32092 // op: Rm
32093 return 5;
32094 case 0:
32095 // op: Zdn
32096 return 0;
32097 }
32098 break;
32099 }
32100 case AArch64::PRFB_PRI:
32101 case AArch64::PRFD_PRI:
32102 case AArch64::PRFH_PRI:
32103 case AArch64::PRFW_PRI: {
32104 switch (OpNum) {
32105 case 2:
32106 // op: Rn
32107 return 5;
32108 case 1:
32109 // op: Pg
32110 return 10;
32111 case 3:
32112 // op: imm6
32113 return 16;
32114 case 0:
32115 // op: prfop
32116 return 0;
32117 }
32118 break;
32119 }
32120 case AArch64::LDG:
32121 case AArch64::ST2GPostIndex:
32122 case AArch64::ST2GPreIndex:
32123 case AArch64::STGPostIndex:
32124 case AArch64::STGPreIndex:
32125 case AArch64::STZ2GPostIndex:
32126 case AArch64::STZ2GPreIndex:
32127 case AArch64::STZGPostIndex:
32128 case AArch64::STZGPreIndex: {
32129 switch (OpNum) {
32130 case 2:
32131 // op: Rn
32132 return 5;
32133 case 1:
32134 // op: Rt
32135 return 0;
32136 case 3:
32137 // op: offset
32138 return 12;
32139 }
32140 break;
32141 }
32142 case AArch64::MOVA_VG2_MXI2Z: {
32143 switch (OpNum) {
32144 case 2:
32145 // op: Rs
32146 return 13;
32147 case 3:
32148 // op: imm
32149 return 0;
32150 case 4:
32151 // op: Zn
32152 return 6;
32153 }
32154 break;
32155 }
32156 case AArch64::MOVA_VG4_MXI4Z: {
32157 switch (OpNum) {
32158 case 2:
32159 // op: Rs
32160 return 13;
32161 case 3:
32162 // op: imm
32163 return 0;
32164 case 4:
32165 // op: Zn
32166 return 7;
32167 }
32168 break;
32169 }
32170 case AArch64::MOVA_VG2_2ZMXI: {
32171 switch (OpNum) {
32172 case 2:
32173 // op: Rs
32174 return 13;
32175 case 3:
32176 // op: imm
32177 return 5;
32178 case 0:
32179 // op: Zd
32180 return 1;
32181 }
32182 break;
32183 }
32184 case AArch64::MOVA_VG4_4ZMXI: {
32185 switch (OpNum) {
32186 case 2:
32187 // op: Rs
32188 return 13;
32189 case 3:
32190 // op: imm
32191 return 5;
32192 case 0:
32193 // op: Zd
32194 return 2;
32195 }
32196 break;
32197 }
32198 case AArch64::MOVA_MXI2Z_H_D:
32199 case AArch64::MOVA_MXI2Z_V_D: {
32200 switch (OpNum) {
32201 case 2:
32202 // op: Rs
32203 return 13;
32204 case 4:
32205 // op: Zn
32206 return 6;
32207 case 0:
32208 // op: ZAd
32209 return 0;
32210 }
32211 break;
32212 }
32213 case AArch64::MOVA_MXI2Z_H_S:
32214 case AArch64::MOVA_MXI2Z_V_S: {
32215 switch (OpNum) {
32216 case 2:
32217 // op: Rs
32218 return 13;
32219 case 4:
32220 // op: Zn
32221 return 6;
32222 case 0:
32223 // op: ZAd
32224 return 1;
32225 case 3:
32226 // op: imm
32227 return 0;
32228 }
32229 break;
32230 }
32231 case AArch64::MOVA_MXI2Z_H_H:
32232 case AArch64::MOVA_MXI2Z_V_H: {
32233 switch (OpNum) {
32234 case 2:
32235 // op: Rs
32236 return 13;
32237 case 4:
32238 // op: Zn
32239 return 6;
32240 case 0:
32241 // op: ZAd
32242 return 2;
32243 case 3:
32244 // op: imm
32245 return 0;
32246 }
32247 break;
32248 }
32249 case AArch64::MOVA_MXI2Z_H_B:
32250 case AArch64::MOVA_MXI2Z_V_B: {
32251 switch (OpNum) {
32252 case 2:
32253 // op: Rs
32254 return 13;
32255 case 4:
32256 // op: Zn
32257 return 6;
32258 case 3:
32259 // op: imm
32260 return 0;
32261 }
32262 break;
32263 }
32264 case AArch64::MOVA_MXI4Z_H_D:
32265 case AArch64::MOVA_MXI4Z_H_S:
32266 case AArch64::MOVA_MXI4Z_V_D:
32267 case AArch64::MOVA_MXI4Z_V_S: {
32268 switch (OpNum) {
32269 case 2:
32270 // op: Rs
32271 return 13;
32272 case 4:
32273 // op: Zn
32274 return 7;
32275 case 0:
32276 // op: ZAd
32277 return 0;
32278 }
32279 break;
32280 }
32281 case AArch64::MOVA_MXI4Z_H_H:
32282 case AArch64::MOVA_MXI4Z_V_H: {
32283 switch (OpNum) {
32284 case 2:
32285 // op: Rs
32286 return 13;
32287 case 4:
32288 // op: Zn
32289 return 7;
32290 case 0:
32291 // op: ZAd
32292 return 1;
32293 case 3:
32294 // op: imm
32295 return 0;
32296 }
32297 break;
32298 }
32299 case AArch64::MOVA_MXI4Z_H_B:
32300 case AArch64::MOVA_MXI4Z_V_B: {
32301 switch (OpNum) {
32302 case 2:
32303 // op: Rs
32304 return 13;
32305 case 4:
32306 // op: Zn
32307 return 7;
32308 case 3:
32309 // op: imm
32310 return 0;
32311 }
32312 break;
32313 }
32314 case AArch64::LDCLRP:
32315 case AArch64::LDCLRPA:
32316 case AArch64::LDCLRPAL:
32317 case AArch64::LDCLRPL:
32318 case AArch64::LDSETP:
32319 case AArch64::LDSETPA:
32320 case AArch64::LDSETPAL:
32321 case AArch64::LDSETPL:
32322 case AArch64::SWPP:
32323 case AArch64::SWPPA:
32324 case AArch64::SWPPAL:
32325 case AArch64::SWPPL: {
32326 switch (OpNum) {
32327 case 2:
32328 // op: Rt
32329 return 0;
32330 case 3:
32331 // op: Rt2
32332 return 16;
32333 case 4:
32334 // op: Rn
32335 return 5;
32336 }
32337 break;
32338 }
32339 case AArch64::ZERO_MXI_2Z:
32340 case AArch64::ZERO_MXI_4Z:
32341 case AArch64::ZERO_MXI_VG2_2Z:
32342 case AArch64::ZERO_MXI_VG2_4Z:
32343 case AArch64::ZERO_MXI_VG2_Z:
32344 case AArch64::ZERO_MXI_VG4_2Z:
32345 case AArch64::ZERO_MXI_VG4_4Z:
32346 case AArch64::ZERO_MXI_VG4_Z: {
32347 switch (OpNum) {
32348 case 2:
32349 // op: Rv
32350 return 13;
32351 case 3:
32352 // op: imm
32353 return 0;
32354 }
32355 break;
32356 }
32357 case AArch64::ADD_VG2_M2Z_D:
32358 case AArch64::ADD_VG2_M2Z_S:
32359 case AArch64::BFADD_VG2_M2Z_H:
32360 case AArch64::BFSUB_VG2_M2Z_H:
32361 case AArch64::FADD_VG2_M2Z_D:
32362 case AArch64::FADD_VG2_M2Z_H:
32363 case AArch64::FADD_VG2_M2Z_S:
32364 case AArch64::FSUB_VG2_M2Z_D:
32365 case AArch64::FSUB_VG2_M2Z_H:
32366 case AArch64::FSUB_VG2_M2Z_S:
32367 case AArch64::SUB_VG2_M2Z_D:
32368 case AArch64::SUB_VG2_M2Z_S: {
32369 switch (OpNum) {
32370 case 2:
32371 // op: Rv
32372 return 13;
32373 case 3:
32374 // op: imm3
32375 return 0;
32376 case 4:
32377 // op: Zm
32378 return 6;
32379 }
32380 break;
32381 }
32382 case AArch64::ADD_VG4_M4Z_D:
32383 case AArch64::ADD_VG4_M4Z_S:
32384 case AArch64::BFADD_VG4_M4Z_H:
32385 case AArch64::BFSUB_VG4_M4Z_H:
32386 case AArch64::FADD_VG4_M4Z_D:
32387 case AArch64::FADD_VG4_M4Z_H:
32388 case AArch64::FADD_VG4_M4Z_S:
32389 case AArch64::FSUB_VG4_M4Z_D:
32390 case AArch64::FSUB_VG4_M4Z_H:
32391 case AArch64::FSUB_VG4_M4Z_S:
32392 case AArch64::SUB_VG4_M4Z_D:
32393 case AArch64::SUB_VG4_M4Z_S: {
32394 switch (OpNum) {
32395 case 2:
32396 // op: Rv
32397 return 13;
32398 case 3:
32399 // op: imm3
32400 return 0;
32401 case 4:
32402 // op: Zm
32403 return 7;
32404 }
32405 break;
32406 }
32407 case AArch64::INSERT_MXIPZ_H_Q:
32408 case AArch64::INSERT_MXIPZ_V_Q: {
32409 switch (OpNum) {
32410 case 2:
32411 // op: Rv
32412 return 13;
32413 case 4:
32414 // op: Pg
32415 return 10;
32416 case 5:
32417 // op: Zn
32418 return 5;
32419 case 0:
32420 // op: ZAd
32421 return 0;
32422 }
32423 break;
32424 }
32425 case AArch64::INSERT_MXIPZ_H_D:
32426 case AArch64::INSERT_MXIPZ_V_D: {
32427 switch (OpNum) {
32428 case 2:
32429 // op: Rv
32430 return 13;
32431 case 4:
32432 // op: Pg
32433 return 10;
32434 case 5:
32435 // op: Zn
32436 return 5;
32437 case 0:
32438 // op: ZAd
32439 return 1;
32440 case 3:
32441 // op: imm
32442 return 0;
32443 }
32444 break;
32445 }
32446 case AArch64::INSERT_MXIPZ_H_S:
32447 case AArch64::INSERT_MXIPZ_V_S: {
32448 switch (OpNum) {
32449 case 2:
32450 // op: Rv
32451 return 13;
32452 case 4:
32453 // op: Pg
32454 return 10;
32455 case 5:
32456 // op: Zn
32457 return 5;
32458 case 0:
32459 // op: ZAd
32460 return 2;
32461 case 3:
32462 // op: imm
32463 return 0;
32464 }
32465 break;
32466 }
32467 case AArch64::INSERT_MXIPZ_H_H:
32468 case AArch64::INSERT_MXIPZ_V_H: {
32469 switch (OpNum) {
32470 case 2:
32471 // op: Rv
32472 return 13;
32473 case 4:
32474 // op: Pg
32475 return 10;
32476 case 5:
32477 // op: Zn
32478 return 5;
32479 case 0:
32480 // op: ZAd
32481 return 3;
32482 case 3:
32483 // op: imm
32484 return 0;
32485 }
32486 break;
32487 }
32488 case AArch64::INSERT_MXIPZ_H_B:
32489 case AArch64::INSERT_MXIPZ_V_B: {
32490 switch (OpNum) {
32491 case 2:
32492 // op: Rv
32493 return 13;
32494 case 4:
32495 // op: Pg
32496 return 10;
32497 case 5:
32498 // op: Zn
32499 return 5;
32500 case 3:
32501 // op: imm
32502 return 0;
32503 }
32504 break;
32505 }
32506 case AArch64::BFMLAL_MZZ_HtoS:
32507 case AArch64::BFMLAL_VG2_M2ZZ_HtoS:
32508 case AArch64::BFMLAL_VG4_M4ZZ_HtoS:
32509 case AArch64::BFMLSL_MZZ_HtoS:
32510 case AArch64::BFMLSL_VG2_M2ZZ_HtoS:
32511 case AArch64::BFMLSL_VG4_M4ZZ_HtoS:
32512 case AArch64::FMLAL_MZZ_HtoS:
32513 case AArch64::FMLAL_VG2_M2ZZ_BtoH:
32514 case AArch64::FMLAL_VG2_M2ZZ_HtoS:
32515 case AArch64::FMLAL_VG2_MZZ_BtoH:
32516 case AArch64::FMLAL_VG4_M4ZZ_BtoH:
32517 case AArch64::FMLAL_VG4_M4ZZ_HtoS:
32518 case AArch64::FMLSL_MZZ_HtoS:
32519 case AArch64::FMLSL_VG2_M2ZZ_HtoS:
32520 case AArch64::FMLSL_VG4_M4ZZ_HtoS:
32521 case AArch64::SMLAL_MZZ_HtoS:
32522 case AArch64::SMLAL_VG2_M2ZZ_HtoS:
32523 case AArch64::SMLAL_VG4_M4ZZ_HtoS:
32524 case AArch64::SMLSL_MZZ_HtoS:
32525 case AArch64::SMLSL_VG2_M2ZZ_HtoS:
32526 case AArch64::SMLSL_VG4_M4ZZ_HtoS:
32527 case AArch64::UMLAL_MZZ_HtoS:
32528 case AArch64::UMLAL_VG2_M2ZZ_HtoS:
32529 case AArch64::UMLAL_VG4_M4ZZ_HtoS:
32530 case AArch64::UMLSL_MZZ_HtoS:
32531 case AArch64::UMLSL_VG2_M2ZZ_HtoS:
32532 case AArch64::UMLSL_VG4_M4ZZ_HtoS: {
32533 switch (OpNum) {
32534 case 2:
32535 // op: Rv
32536 return 13;
32537 case 5:
32538 // op: Zm
32539 return 16;
32540 case 4:
32541 // op: Zn
32542 return 5;
32543 case 3:
32544 // op: imm
32545 return 0;
32546 }
32547 break;
32548 }
32549 case AArch64::BFMLAL_VG2_M2Z2Z_HtoS:
32550 case AArch64::BFMLSL_VG2_M2Z2Z_HtoS:
32551 case AArch64::FMLAL_VG2_M2Z2Z_BtoH:
32552 case AArch64::FMLAL_VG2_M2Z2Z_HtoS:
32553 case AArch64::FMLSL_VG2_M2Z2Z_HtoS:
32554 case AArch64::SMLAL_VG2_M2Z2Z_HtoS:
32555 case AArch64::SMLSL_VG2_M2Z2Z_HtoS:
32556 case AArch64::UMLAL_VG2_M2Z2Z_HtoS:
32557 case AArch64::UMLSL_VG2_M2Z2Z_HtoS: {
32558 switch (OpNum) {
32559 case 2:
32560 // op: Rv
32561 return 13;
32562 case 5:
32563 // op: Zm
32564 return 17;
32565 case 4:
32566 // op: Zn
32567 return 6;
32568 case 3:
32569 // op: imm
32570 return 0;
32571 }
32572 break;
32573 }
32574 case AArch64::BFMLAL_VG4_M4Z4Z_HtoS:
32575 case AArch64::BFMLSL_VG4_M4Z4Z_HtoS:
32576 case AArch64::FMLAL_VG4_M4Z4Z_BtoH:
32577 case AArch64::FMLAL_VG4_M4Z4Z_HtoS:
32578 case AArch64::FMLSL_VG4_M4Z4Z_HtoS:
32579 case AArch64::SMLAL_VG4_M4Z4Z_HtoS:
32580 case AArch64::SMLSL_VG4_M4Z4Z_HtoS:
32581 case AArch64::UMLAL_VG4_M4Z4Z_HtoS:
32582 case AArch64::UMLSL_VG4_M4Z4Z_HtoS: {
32583 switch (OpNum) {
32584 case 2:
32585 // op: Rv
32586 return 13;
32587 case 5:
32588 // op: Zm
32589 return 18;
32590 case 4:
32591 // op: Zn
32592 return 7;
32593 case 3:
32594 // op: imm
32595 return 0;
32596 }
32597 break;
32598 }
32599 case AArch64::INSR_ZV_B:
32600 case AArch64::INSR_ZV_D:
32601 case AArch64::INSR_ZV_H:
32602 case AArch64::INSR_ZV_S: {
32603 switch (OpNum) {
32604 case 2:
32605 // op: Vm
32606 return 5;
32607 case 0:
32608 // op: Zdn
32609 return 0;
32610 }
32611 break;
32612 }
32613 case AArch64::LD1i8_POST:
32614 case AArch64::LD2i8_POST:
32615 case AArch64::LD3i8_POST:
32616 case AArch64::LD4i8_POST: {
32617 switch (OpNum) {
32618 case 2:
32619 // op: Vt
32620 return 0;
32621 case 4:
32622 // op: Rn
32623 return 5;
32624 case 3:
32625 // op: idx
32626 return 10;
32627 case 5:
32628 // op: Xm
32629 return 16;
32630 }
32631 break;
32632 }
32633 case AArch64::LD1i16_POST:
32634 case AArch64::LD2i16_POST:
32635 case AArch64::LD3i16_POST:
32636 case AArch64::LD4i16_POST: {
32637 switch (OpNum) {
32638 case 2:
32639 // op: Vt
32640 return 0;
32641 case 4:
32642 // op: Rn
32643 return 5;
32644 case 3:
32645 // op: idx
32646 return 11;
32647 case 5:
32648 // op: Xm
32649 return 16;
32650 }
32651 break;
32652 }
32653 case AArch64::LD1i32_POST:
32654 case AArch64::LD2i32_POST:
32655 case AArch64::LD3i32_POST:
32656 case AArch64::LD4i32_POST: {
32657 switch (OpNum) {
32658 case 2:
32659 // op: Vt
32660 return 0;
32661 case 4:
32662 // op: Rn
32663 return 5;
32664 case 3:
32665 // op: idx
32666 return 12;
32667 case 5:
32668 // op: Xm
32669 return 16;
32670 }
32671 break;
32672 }
32673 case AArch64::LD1i64_POST:
32674 case AArch64::LD2i64_POST:
32675 case AArch64::LD3i64_POST:
32676 case AArch64::LD4i64_POST: {
32677 switch (OpNum) {
32678 case 2:
32679 // op: Vt
32680 return 0;
32681 case 4:
32682 // op: Rn
32683 return 5;
32684 case 3:
32685 // op: idx
32686 return 30;
32687 case 5:
32688 // op: Xm
32689 return 16;
32690 }
32691 break;
32692 }
32693 case AArch64::ADD_VG2_2ZZ_B:
32694 case AArch64::ADD_VG2_2ZZ_D:
32695 case AArch64::ADD_VG2_2ZZ_H:
32696 case AArch64::ADD_VG2_2ZZ_S:
32697 case AArch64::BFMAXNM_VG2_2ZZ_H:
32698 case AArch64::BFMAX_VG2_2ZZ_H:
32699 case AArch64::BFMINNM_VG2_2ZZ_H:
32700 case AArch64::BFMIN_VG2_2ZZ_H:
32701 case AArch64::BFSCALE_2ZZ:
32702 case AArch64::FMAXNM_VG2_2ZZ_D:
32703 case AArch64::FMAXNM_VG2_2ZZ_H:
32704 case AArch64::FMAXNM_VG2_2ZZ_S:
32705 case AArch64::FMAX_VG2_2ZZ_D:
32706 case AArch64::FMAX_VG2_2ZZ_H:
32707 case AArch64::FMAX_VG2_2ZZ_S:
32708 case AArch64::FMINNM_VG2_2ZZ_D:
32709 case AArch64::FMINNM_VG2_2ZZ_H:
32710 case AArch64::FMINNM_VG2_2ZZ_S:
32711 case AArch64::FMIN_VG2_2ZZ_D:
32712 case AArch64::FMIN_VG2_2ZZ_H:
32713 case AArch64::FMIN_VG2_2ZZ_S:
32714 case AArch64::FSCALE_2ZZ_D:
32715 case AArch64::FSCALE_2ZZ_H:
32716 case AArch64::FSCALE_2ZZ_S:
32717 case AArch64::SMAX_VG2_2ZZ_B:
32718 case AArch64::SMAX_VG2_2ZZ_D:
32719 case AArch64::SMAX_VG2_2ZZ_H:
32720 case AArch64::SMAX_VG2_2ZZ_S:
32721 case AArch64::SMIN_VG2_2ZZ_B:
32722 case AArch64::SMIN_VG2_2ZZ_D:
32723 case AArch64::SMIN_VG2_2ZZ_H:
32724 case AArch64::SMIN_VG2_2ZZ_S:
32725 case AArch64::SQDMULH_VG2_2ZZ_B:
32726 case AArch64::SQDMULH_VG2_2ZZ_D:
32727 case AArch64::SQDMULH_VG2_2ZZ_H:
32728 case AArch64::SQDMULH_VG2_2ZZ_S:
32729 case AArch64::SRSHL_VG2_2ZZ_B:
32730 case AArch64::SRSHL_VG2_2ZZ_D:
32731 case AArch64::SRSHL_VG2_2ZZ_H:
32732 case AArch64::SRSHL_VG2_2ZZ_S:
32733 case AArch64::UMAX_VG2_2ZZ_B:
32734 case AArch64::UMAX_VG2_2ZZ_D:
32735 case AArch64::UMAX_VG2_2ZZ_H:
32736 case AArch64::UMAX_VG2_2ZZ_S:
32737 case AArch64::UMIN_VG2_2ZZ_B:
32738 case AArch64::UMIN_VG2_2ZZ_D:
32739 case AArch64::UMIN_VG2_2ZZ_H:
32740 case AArch64::UMIN_VG2_2ZZ_S:
32741 case AArch64::URSHL_VG2_2ZZ_B:
32742 case AArch64::URSHL_VG2_2ZZ_D:
32743 case AArch64::URSHL_VG2_2ZZ_H:
32744 case AArch64::URSHL_VG2_2ZZ_S: {
32745 switch (OpNum) {
32746 case 2:
32747 // op: Zm
32748 return 16;
32749 case 0:
32750 // op: Zdn
32751 return 1;
32752 }
32753 break;
32754 }
32755 case AArch64::ADD_VG4_4ZZ_B:
32756 case AArch64::ADD_VG4_4ZZ_D:
32757 case AArch64::ADD_VG4_4ZZ_H:
32758 case AArch64::ADD_VG4_4ZZ_S:
32759 case AArch64::BFMAXNM_VG4_4ZZ_H:
32760 case AArch64::BFMAX_VG4_4ZZ_H:
32761 case AArch64::BFMINNM_VG4_4ZZ_H:
32762 case AArch64::BFMIN_VG4_4ZZ_H:
32763 case AArch64::BFSCALE_4ZZ:
32764 case AArch64::FMAXNM_VG4_4ZZ_D:
32765 case AArch64::FMAXNM_VG4_4ZZ_H:
32766 case AArch64::FMAXNM_VG4_4ZZ_S:
32767 case AArch64::FMAX_VG4_4ZZ_D:
32768 case AArch64::FMAX_VG4_4ZZ_H:
32769 case AArch64::FMAX_VG4_4ZZ_S:
32770 case AArch64::FMINNM_VG4_4ZZ_D:
32771 case AArch64::FMINNM_VG4_4ZZ_H:
32772 case AArch64::FMINNM_VG4_4ZZ_S:
32773 case AArch64::FMIN_VG4_4ZZ_D:
32774 case AArch64::FMIN_VG4_4ZZ_H:
32775 case AArch64::FMIN_VG4_4ZZ_S:
32776 case AArch64::FSCALE_4ZZ_D:
32777 case AArch64::FSCALE_4ZZ_H:
32778 case AArch64::FSCALE_4ZZ_S:
32779 case AArch64::SMAX_VG4_4ZZ_B:
32780 case AArch64::SMAX_VG4_4ZZ_D:
32781 case AArch64::SMAX_VG4_4ZZ_H:
32782 case AArch64::SMAX_VG4_4ZZ_S:
32783 case AArch64::SMIN_VG4_4ZZ_B:
32784 case AArch64::SMIN_VG4_4ZZ_D:
32785 case AArch64::SMIN_VG4_4ZZ_H:
32786 case AArch64::SMIN_VG4_4ZZ_S:
32787 case AArch64::SQDMULH_VG4_4ZZ_B:
32788 case AArch64::SQDMULH_VG4_4ZZ_D:
32789 case AArch64::SQDMULH_VG4_4ZZ_H:
32790 case AArch64::SQDMULH_VG4_4ZZ_S:
32791 case AArch64::SRSHL_VG4_4ZZ_B:
32792 case AArch64::SRSHL_VG4_4ZZ_D:
32793 case AArch64::SRSHL_VG4_4ZZ_H:
32794 case AArch64::SRSHL_VG4_4ZZ_S:
32795 case AArch64::UMAX_VG4_4ZZ_B:
32796 case AArch64::UMAX_VG4_4ZZ_D:
32797 case AArch64::UMAX_VG4_4ZZ_H:
32798 case AArch64::UMAX_VG4_4ZZ_S:
32799 case AArch64::UMIN_VG4_4ZZ_B:
32800 case AArch64::UMIN_VG4_4ZZ_D:
32801 case AArch64::UMIN_VG4_4ZZ_H:
32802 case AArch64::UMIN_VG4_4ZZ_S:
32803 case AArch64::URSHL_VG4_4ZZ_B:
32804 case AArch64::URSHL_VG4_4ZZ_D:
32805 case AArch64::URSHL_VG4_4ZZ_H:
32806 case AArch64::URSHL_VG4_4ZZ_S: {
32807 switch (OpNum) {
32808 case 2:
32809 // op: Zm
32810 return 16;
32811 case 0:
32812 // op: Zdn
32813 return 2;
32814 }
32815 break;
32816 }
32817 case AArch64::PMULL_2ZZZ_Q: {
32818 switch (OpNum) {
32819 case 2:
32820 // op: Zm
32821 return 16;
32822 case 1:
32823 // op: Zn
32824 return 5;
32825 case 0:
32826 // op: Zd
32827 return 1;
32828 }
32829 break;
32830 }
32831 case AArch64::BFMAXNM_VG2_2Z2Z_H:
32832 case AArch64::BFMAX_VG2_2Z2Z_H:
32833 case AArch64::BFMINNM_VG2_2Z2Z_H:
32834 case AArch64::BFMIN_VG2_2Z2Z_H:
32835 case AArch64::BFSCALE_2Z2Z:
32836 case AArch64::FAMAX_2Z2Z_D:
32837 case AArch64::FAMAX_2Z2Z_H:
32838 case AArch64::FAMAX_2Z2Z_S:
32839 case AArch64::FAMIN_2Z2Z_D:
32840 case AArch64::FAMIN_2Z2Z_H:
32841 case AArch64::FAMIN_2Z2Z_S:
32842 case AArch64::FMAXNM_VG2_2Z2Z_D:
32843 case AArch64::FMAXNM_VG2_2Z2Z_H:
32844 case AArch64::FMAXNM_VG2_2Z2Z_S:
32845 case AArch64::FMAX_VG2_2Z2Z_D:
32846 case AArch64::FMAX_VG2_2Z2Z_H:
32847 case AArch64::FMAX_VG2_2Z2Z_S:
32848 case AArch64::FMINNM_VG2_2Z2Z_D:
32849 case AArch64::FMINNM_VG2_2Z2Z_H:
32850 case AArch64::FMINNM_VG2_2Z2Z_S:
32851 case AArch64::FMIN_VG2_2Z2Z_D:
32852 case AArch64::FMIN_VG2_2Z2Z_H:
32853 case AArch64::FMIN_VG2_2Z2Z_S:
32854 case AArch64::FSCALE_2Z2Z_D:
32855 case AArch64::FSCALE_2Z2Z_H:
32856 case AArch64::FSCALE_2Z2Z_S:
32857 case AArch64::SMAX_VG2_2Z2Z_B:
32858 case AArch64::SMAX_VG2_2Z2Z_D:
32859 case AArch64::SMAX_VG2_2Z2Z_H:
32860 case AArch64::SMAX_VG2_2Z2Z_S:
32861 case AArch64::SMIN_VG2_2Z2Z_B:
32862 case AArch64::SMIN_VG2_2Z2Z_D:
32863 case AArch64::SMIN_VG2_2Z2Z_H:
32864 case AArch64::SMIN_VG2_2Z2Z_S:
32865 case AArch64::SQDMULH_VG2_2Z2Z_B:
32866 case AArch64::SQDMULH_VG2_2Z2Z_D:
32867 case AArch64::SQDMULH_VG2_2Z2Z_H:
32868 case AArch64::SQDMULH_VG2_2Z2Z_S:
32869 case AArch64::SRSHL_VG2_2Z2Z_B:
32870 case AArch64::SRSHL_VG2_2Z2Z_D:
32871 case AArch64::SRSHL_VG2_2Z2Z_H:
32872 case AArch64::SRSHL_VG2_2Z2Z_S:
32873 case AArch64::UMAX_VG2_2Z2Z_B:
32874 case AArch64::UMAX_VG2_2Z2Z_D:
32875 case AArch64::UMAX_VG2_2Z2Z_H:
32876 case AArch64::UMAX_VG2_2Z2Z_S:
32877 case AArch64::UMIN_VG2_2Z2Z_B:
32878 case AArch64::UMIN_VG2_2Z2Z_D:
32879 case AArch64::UMIN_VG2_2Z2Z_H:
32880 case AArch64::UMIN_VG2_2Z2Z_S:
32881 case AArch64::URSHL_VG2_2Z2Z_B:
32882 case AArch64::URSHL_VG2_2Z2Z_D:
32883 case AArch64::URSHL_VG2_2Z2Z_H:
32884 case AArch64::URSHL_VG2_2Z2Z_S: {
32885 switch (OpNum) {
32886 case 2:
32887 // op: Zm
32888 return 17;
32889 case 0:
32890 // op: Zdn
32891 return 1;
32892 }
32893 break;
32894 }
32895 case AArch64::BFMAXNM_VG4_4Z2Z_H:
32896 case AArch64::BFMAX_VG4_4Z2Z_H:
32897 case AArch64::BFMINNM_VG4_4Z2Z_H:
32898 case AArch64::BFMIN_VG4_4Z2Z_H:
32899 case AArch64::BFSCALE_4Z4Z:
32900 case AArch64::FAMAX_4Z4Z_D:
32901 case AArch64::FAMAX_4Z4Z_H:
32902 case AArch64::FAMAX_4Z4Z_S:
32903 case AArch64::FAMIN_4Z4Z_D:
32904 case AArch64::FAMIN_4Z4Z_H:
32905 case AArch64::FAMIN_4Z4Z_S:
32906 case AArch64::FMAXNM_VG4_4Z4Z_D:
32907 case AArch64::FMAXNM_VG4_4Z4Z_H:
32908 case AArch64::FMAXNM_VG4_4Z4Z_S:
32909 case AArch64::FMAX_VG4_4Z4Z_D:
32910 case AArch64::FMAX_VG4_4Z4Z_H:
32911 case AArch64::FMAX_VG4_4Z4Z_S:
32912 case AArch64::FMINNM_VG4_4Z4Z_D:
32913 case AArch64::FMINNM_VG4_4Z4Z_H:
32914 case AArch64::FMINNM_VG4_4Z4Z_S:
32915 case AArch64::FMIN_VG4_4Z4Z_D:
32916 case AArch64::FMIN_VG4_4Z4Z_H:
32917 case AArch64::FMIN_VG4_4Z4Z_S:
32918 case AArch64::FSCALE_4Z4Z_D:
32919 case AArch64::FSCALE_4Z4Z_H:
32920 case AArch64::FSCALE_4Z4Z_S:
32921 case AArch64::SMAX_VG4_4Z4Z_B:
32922 case AArch64::SMAX_VG4_4Z4Z_D:
32923 case AArch64::SMAX_VG4_4Z4Z_H:
32924 case AArch64::SMAX_VG4_4Z4Z_S:
32925 case AArch64::SMIN_VG4_4Z4Z_B:
32926 case AArch64::SMIN_VG4_4Z4Z_D:
32927 case AArch64::SMIN_VG4_4Z4Z_H:
32928 case AArch64::SMIN_VG4_4Z4Z_S:
32929 case AArch64::SQDMULH_VG4_4Z4Z_B:
32930 case AArch64::SQDMULH_VG4_4Z4Z_D:
32931 case AArch64::SQDMULH_VG4_4Z4Z_H:
32932 case AArch64::SQDMULH_VG4_4Z4Z_S:
32933 case AArch64::SRSHL_VG4_4Z4Z_B:
32934 case AArch64::SRSHL_VG4_4Z4Z_D:
32935 case AArch64::SRSHL_VG4_4Z4Z_H:
32936 case AArch64::SRSHL_VG4_4Z4Z_S:
32937 case AArch64::UMAX_VG4_4Z4Z_B:
32938 case AArch64::UMAX_VG4_4Z4Z_D:
32939 case AArch64::UMAX_VG4_4Z4Z_H:
32940 case AArch64::UMAX_VG4_4Z4Z_S:
32941 case AArch64::UMIN_VG4_4Z4Z_B:
32942 case AArch64::UMIN_VG4_4Z4Z_D:
32943 case AArch64::UMIN_VG4_4Z4Z_H:
32944 case AArch64::UMIN_VG4_4Z4Z_S:
32945 case AArch64::URSHL_VG4_4Z4Z_B:
32946 case AArch64::URSHL_VG4_4Z4Z_D:
32947 case AArch64::URSHL_VG4_4Z4Z_H:
32948 case AArch64::URSHL_VG4_4Z4Z_S: {
32949 switch (OpNum) {
32950 case 2:
32951 // op: Zm
32952 return 18;
32953 case 0:
32954 // op: Zdn
32955 return 2;
32956 }
32957 break;
32958 }
32959 case AArch64::AESDIMC_2ZZI_B:
32960 case AArch64::AESD_2ZZI_B:
32961 case AArch64::AESEMC_2ZZI_B:
32962 case AArch64::AESE_2ZZI_B: {
32963 switch (OpNum) {
32964 case 2:
32965 // op: Zm
32966 return 5;
32967 case 0:
32968 // op: Zdn
32969 return 1;
32970 case 3:
32971 // op: imm2
32972 return 19;
32973 }
32974 break;
32975 }
32976 case AArch64::AESDIMC_4ZZI_B:
32977 case AArch64::AESD_4ZZI_B:
32978 case AArch64::AESEMC_4ZZI_B:
32979 case AArch64::AESE_4ZZI_B: {
32980 switch (OpNum) {
32981 case 2:
32982 // op: Zm
32983 return 5;
32984 case 0:
32985 // op: Zdn
32986 return 2;
32987 case 3:
32988 // op: imm2
32989 return 19;
32990 }
32991 break;
32992 }
32993 case AArch64::FADDV_VPZ_D:
32994 case AArch64::FADDV_VPZ_H:
32995 case AArch64::FADDV_VPZ_S:
32996 case AArch64::FMAXNMV_VPZ_D:
32997 case AArch64::FMAXNMV_VPZ_H:
32998 case AArch64::FMAXNMV_VPZ_S:
32999 case AArch64::FMAXV_VPZ_D:
33000 case AArch64::FMAXV_VPZ_H:
33001 case AArch64::FMAXV_VPZ_S:
33002 case AArch64::FMINNMV_VPZ_D:
33003 case AArch64::FMINNMV_VPZ_H:
33004 case AArch64::FMINNMV_VPZ_S:
33005 case AArch64::FMINV_VPZ_D:
33006 case AArch64::FMINV_VPZ_H:
33007 case AArch64::FMINV_VPZ_S: {
33008 switch (OpNum) {
33009 case 2:
33010 // op: Zn
33011 return 5;
33012 case 0:
33013 // op: Vd
33014 return 0;
33015 case 1:
33016 // op: Pg
33017 return 10;
33018 }
33019 break;
33020 }
33021 case AArch64::LUTI2_ZTZI_B:
33022 case AArch64::LUTI2_ZTZI_H:
33023 case AArch64::LUTI2_ZTZI_S:
33024 case AArch64::LUTI4_ZTZI_B:
33025 case AArch64::LUTI4_ZTZI_H:
33026 case AArch64::LUTI4_ZTZI_S: {
33027 switch (OpNum) {
33028 case 2:
33029 // op: Zn
33030 return 5;
33031 case 0:
33032 // op: Zd
33033 return 0;
33034 case 3:
33035 // op: i
33036 return 14;
33037 }
33038 break;
33039 }
33040 case AArch64::LUTI2_S_2ZTZI_B:
33041 case AArch64::LUTI2_S_2ZTZI_H:
33042 case AArch64::LUTI4_S_2ZTZI_B:
33043 case AArch64::LUTI4_S_2ZTZI_H: {
33044 switch (OpNum) {
33045 case 2:
33046 // op: Zn
33047 return 5;
33048 case 0:
33049 // op: Zd
33050 return 0;
33051 case 3:
33052 // op: i
33053 return 15;
33054 }
33055 break;
33056 }
33057 case AArch64::LUTI2_S_4ZTZI_B:
33058 case AArch64::LUTI2_S_4ZTZI_H:
33059 case AArch64::LUTI4_S_4ZTZI_H: {
33060 switch (OpNum) {
33061 case 2:
33062 // op: Zn
33063 return 5;
33064 case 0:
33065 // op: Zd
33066 return 0;
33067 case 3:
33068 // op: i
33069 return 16;
33070 }
33071 break;
33072 }
33073 case AArch64::LUTI2_2ZTZI_B:
33074 case AArch64::LUTI2_2ZTZI_H:
33075 case AArch64::LUTI2_2ZTZI_S:
33076 case AArch64::LUTI4_2ZTZI_B:
33077 case AArch64::LUTI4_2ZTZI_H:
33078 case AArch64::LUTI4_2ZTZI_S: {
33079 switch (OpNum) {
33080 case 2:
33081 // op: Zn
33082 return 5;
33083 case 0:
33084 // op: Zd
33085 return 1;
33086 case 3:
33087 // op: i
33088 return 15;
33089 }
33090 break;
33091 }
33092 case AArch64::LUTI2_4ZTZI_B:
33093 case AArch64::LUTI2_4ZTZI_H:
33094 case AArch64::LUTI2_4ZTZI_S:
33095 case AArch64::LUTI4_4ZTZI_H:
33096 case AArch64::LUTI4_4ZTZI_S: {
33097 switch (OpNum) {
33098 case 2:
33099 // op: Zn
33100 return 5;
33101 case 0:
33102 // op: Zd
33103 return 2;
33104 case 3:
33105 // op: i
33106 return 16;
33107 }
33108 break;
33109 }
33110 case AArch64::LUTI4_S_4ZZT2Z: {
33111 switch (OpNum) {
33112 case 2:
33113 // op: Zn
33114 return 6;
33115 case 0:
33116 // op: Zd
33117 return 0;
33118 }
33119 break;
33120 }
33121 case AArch64::LUTI4_4ZZT2Z: {
33122 switch (OpNum) {
33123 case 2:
33124 // op: Zn
33125 return 6;
33126 case 0:
33127 // op: Zd
33128 return 2;
33129 }
33130 break;
33131 }
33132 case AArch64::MOVT_TIZ: {
33133 switch (OpNum) {
33134 case 2:
33135 // op: Zt
33136 return 0;
33137 case 1:
33138 // op: off2
33139 return 12;
33140 }
33141 break;
33142 }
33143 case AArch64::MOVT_XTI: {
33144 switch (OpNum) {
33145 case 2:
33146 // op: imm3
33147 return 12;
33148 case 0:
33149 // op: Rt
33150 return 0;
33151 }
33152 break;
33153 }
33154 case AArch64::SQRSHRU_VG2_Z2ZI_H:
33155 case AArch64::SQRSHR_VG2_Z2ZI_H:
33156 case AArch64::UQRSHR_VG2_Z2ZI_H: {
33157 switch (OpNum) {
33158 case 2:
33159 // op: imm4
33160 return 16;
33161 case 1:
33162 // op: Zn
33163 return 6;
33164 case 0:
33165 // op: Zd
33166 return 0;
33167 }
33168 break;
33169 }
33170 case AArch64::LDRAAindexed:
33171 case AArch64::LDRABindexed: {
33172 switch (OpNum) {
33173 case 2:
33174 // op: offset
33175 return 12;
33176 case 1:
33177 // op: Rn
33178 return 5;
33179 case 0:
33180 // op: Rt
33181 return 0;
33182 }
33183 break;
33184 }
33185 case AArch64::ADDHA_MPPZ_D:
33186 case AArch64::ADDHA_MPPZ_S:
33187 case AArch64::ADDVA_MPPZ_D:
33188 case AArch64::ADDVA_MPPZ_S: {
33189 switch (OpNum) {
33190 case 3:
33191 // op: Pm
33192 return 13;
33193 case 2:
33194 // op: Pn
33195 return 10;
33196 case 4:
33197 // op: Zn
33198 return 5;
33199 case 0:
33200 // op: ZAda
33201 return 0;
33202 }
33203 break;
33204 }
33205 case AArch64::CPYE:
33206 case AArch64::CPYEN:
33207 case AArch64::CPYERN:
33208 case AArch64::CPYERT:
33209 case AArch64::CPYERTN:
33210 case AArch64::CPYERTRN:
33211 case AArch64::CPYERTWN:
33212 case AArch64::CPYET:
33213 case AArch64::CPYETN:
33214 case AArch64::CPYETRN:
33215 case AArch64::CPYETWN:
33216 case AArch64::CPYEWN:
33217 case AArch64::CPYEWT:
33218 case AArch64::CPYEWTN:
33219 case AArch64::CPYEWTRN:
33220 case AArch64::CPYEWTWN:
33221 case AArch64::CPYFE:
33222 case AArch64::CPYFEN:
33223 case AArch64::CPYFERN:
33224 case AArch64::CPYFERT:
33225 case AArch64::CPYFERTN:
33226 case AArch64::CPYFERTRN:
33227 case AArch64::CPYFERTWN:
33228 case AArch64::CPYFET:
33229 case AArch64::CPYFETN:
33230 case AArch64::CPYFETRN:
33231 case AArch64::CPYFETWN:
33232 case AArch64::CPYFEWN:
33233 case AArch64::CPYFEWT:
33234 case AArch64::CPYFEWTN:
33235 case AArch64::CPYFEWTRN:
33236 case AArch64::CPYFEWTWN:
33237 case AArch64::CPYFM:
33238 case AArch64::CPYFMN:
33239 case AArch64::CPYFMRN:
33240 case AArch64::CPYFMRT:
33241 case AArch64::CPYFMRTN:
33242 case AArch64::CPYFMRTRN:
33243 case AArch64::CPYFMRTWN:
33244 case AArch64::CPYFMT:
33245 case AArch64::CPYFMTN:
33246 case AArch64::CPYFMTRN:
33247 case AArch64::CPYFMTWN:
33248 case AArch64::CPYFMWN:
33249 case AArch64::CPYFMWT:
33250 case AArch64::CPYFMWTN:
33251 case AArch64::CPYFMWTRN:
33252 case AArch64::CPYFMWTWN:
33253 case AArch64::CPYFP:
33254 case AArch64::CPYFPN:
33255 case AArch64::CPYFPRN:
33256 case AArch64::CPYFPRT:
33257 case AArch64::CPYFPRTN:
33258 case AArch64::CPYFPRTRN:
33259 case AArch64::CPYFPRTWN:
33260 case AArch64::CPYFPT:
33261 case AArch64::CPYFPTN:
33262 case AArch64::CPYFPTRN:
33263 case AArch64::CPYFPTWN:
33264 case AArch64::CPYFPWN:
33265 case AArch64::CPYFPWT:
33266 case AArch64::CPYFPWTN:
33267 case AArch64::CPYFPWTRN:
33268 case AArch64::CPYFPWTWN:
33269 case AArch64::CPYM:
33270 case AArch64::CPYMN:
33271 case AArch64::CPYMRN:
33272 case AArch64::CPYMRT:
33273 case AArch64::CPYMRTN:
33274 case AArch64::CPYMRTRN:
33275 case AArch64::CPYMRTWN:
33276 case AArch64::CPYMT:
33277 case AArch64::CPYMTN:
33278 case AArch64::CPYMTRN:
33279 case AArch64::CPYMTWN:
33280 case AArch64::CPYMWN:
33281 case AArch64::CPYMWT:
33282 case AArch64::CPYMWTN:
33283 case AArch64::CPYMWTRN:
33284 case AArch64::CPYMWTWN:
33285 case AArch64::CPYP:
33286 case AArch64::CPYPN:
33287 case AArch64::CPYPRN:
33288 case AArch64::CPYPRT:
33289 case AArch64::CPYPRTN:
33290 case AArch64::CPYPRTRN:
33291 case AArch64::CPYPRTWN:
33292 case AArch64::CPYPT:
33293 case AArch64::CPYPTN:
33294 case AArch64::CPYPTRN:
33295 case AArch64::CPYPTWN:
33296 case AArch64::CPYPWN:
33297 case AArch64::CPYPWT:
33298 case AArch64::CPYPWTN:
33299 case AArch64::CPYPWTRN:
33300 case AArch64::CPYPWTWN: {
33301 switch (OpNum) {
33302 case 3:
33303 // op: Rd
33304 return 0;
33305 case 4:
33306 // op: Rs
33307 return 16;
33308 case 5:
33309 // op: Rn
33310 return 5;
33311 }
33312 break;
33313 }
33314 case AArch64::LD1B_2Z_STRIDED:
33315 case AArch64::LD1B_4Z_STRIDED:
33316 case AArch64::LD1D_2Z_STRIDED:
33317 case AArch64::LD1D_4Z_STRIDED:
33318 case AArch64::LD1H_2Z_STRIDED:
33319 case AArch64::LD1H_4Z_STRIDED:
33320 case AArch64::LD1W_2Z_STRIDED:
33321 case AArch64::LD1W_4Z_STRIDED:
33322 case AArch64::LDNT1B_2Z_STRIDED:
33323 case AArch64::LDNT1B_4Z_STRIDED:
33324 case AArch64::LDNT1D_2Z_STRIDED:
33325 case AArch64::LDNT1D_4Z_STRIDED:
33326 case AArch64::LDNT1H_2Z_STRIDED:
33327 case AArch64::LDNT1H_4Z_STRIDED:
33328 case AArch64::LDNT1W_2Z_STRIDED:
33329 case AArch64::LDNT1W_4Z_STRIDED:
33330 case AArch64::ST1B_2Z_STRIDED:
33331 case AArch64::ST1B_4Z_STRIDED:
33332 case AArch64::ST1D_2Z_STRIDED:
33333 case AArch64::ST1D_4Z_STRIDED:
33334 case AArch64::ST1H_2Z_STRIDED:
33335 case AArch64::ST1H_4Z_STRIDED:
33336 case AArch64::ST1W_2Z_STRIDED:
33337 case AArch64::ST1W_4Z_STRIDED:
33338 case AArch64::STNT1B_2Z_STRIDED:
33339 case AArch64::STNT1B_4Z_STRIDED:
33340 case AArch64::STNT1D_2Z_STRIDED:
33341 case AArch64::STNT1D_4Z_STRIDED:
33342 case AArch64::STNT1H_2Z_STRIDED:
33343 case AArch64::STNT1H_4Z_STRIDED:
33344 case AArch64::STNT1W_2Z_STRIDED:
33345 case AArch64::STNT1W_4Z_STRIDED: {
33346 switch (OpNum) {
33347 case 3:
33348 // op: Rm
33349 return 16;
33350 case 1:
33351 // op: PNg
33352 return 10;
33353 case 2:
33354 // op: Rn
33355 return 5;
33356 case 0:
33357 // op: Zt
33358 return 0;
33359 }
33360 break;
33361 }
33362 case AArch64::PRFB_PRR:
33363 case AArch64::PRFD_PRR:
33364 case AArch64::PRFH_PRR:
33365 case AArch64::PRFW_PRR: {
33366 switch (OpNum) {
33367 case 3:
33368 // op: Rm
33369 return 16;
33370 case 2:
33371 // op: Rn
33372 return 5;
33373 case 1:
33374 // op: Pg
33375 return 10;
33376 case 0:
33377 // op: prfop
33378 return 0;
33379 }
33380 break;
33381 }
33382 case AArch64::MOVAZ_ZMI_H_Q:
33383 case AArch64::MOVAZ_ZMI_V_Q: {
33384 switch (OpNum) {
33385 case 3:
33386 // op: Rs
33387 return 13;
33388 case 0:
33389 // op: Zd
33390 return 0;
33391 case 1:
33392 // op: ZAn
33393 return 5;
33394 }
33395 break;
33396 }
33397 case AArch64::MOVAZ_ZMI_H_D:
33398 case AArch64::MOVAZ_ZMI_V_D: {
33399 switch (OpNum) {
33400 case 3:
33401 // op: Rs
33402 return 13;
33403 case 0:
33404 // op: Zd
33405 return 0;
33406 case 1:
33407 // op: ZAn
33408 return 6;
33409 case 4:
33410 // op: imm
33411 return 5;
33412 }
33413 break;
33414 }
33415 case AArch64::MOVAZ_ZMI_H_S:
33416 case AArch64::MOVAZ_ZMI_V_S: {
33417 switch (OpNum) {
33418 case 3:
33419 // op: Rs
33420 return 13;
33421 case 0:
33422 // op: Zd
33423 return 0;
33424 case 1:
33425 // op: ZAn
33426 return 7;
33427 case 4:
33428 // op: imm
33429 return 5;
33430 }
33431 break;
33432 }
33433 case AArch64::MOVAZ_ZMI_H_H:
33434 case AArch64::MOVAZ_ZMI_V_H: {
33435 switch (OpNum) {
33436 case 3:
33437 // op: Rs
33438 return 13;
33439 case 0:
33440 // op: Zd
33441 return 0;
33442 case 1:
33443 // op: ZAn
33444 return 8;
33445 case 4:
33446 // op: imm
33447 return 5;
33448 }
33449 break;
33450 }
33451 case AArch64::MOVAZ_ZMI_H_B:
33452 case AArch64::MOVAZ_ZMI_V_B: {
33453 switch (OpNum) {
33454 case 3:
33455 // op: Rs
33456 return 13;
33457 case 0:
33458 // op: Zd
33459 return 0;
33460 case 4:
33461 // op: imm
33462 return 5;
33463 }
33464 break;
33465 }
33466 case AArch64::MOVAZ_VG2_2ZMXI: {
33467 switch (OpNum) {
33468 case 3:
33469 // op: Rs
33470 return 13;
33471 case 4:
33472 // op: imm
33473 return 5;
33474 case 0:
33475 // op: Zd
33476 return 1;
33477 }
33478 break;
33479 }
33480 case AArch64::MOVAZ_VG4_4ZMXI: {
33481 switch (OpNum) {
33482 case 3:
33483 // op: Rs
33484 return 13;
33485 case 4:
33486 // op: imm
33487 return 5;
33488 case 0:
33489 // op: Zd
33490 return 2;
33491 }
33492 break;
33493 }
33494 case AArch64::RCWCLRP:
33495 case AArch64::RCWCLRPA:
33496 case AArch64::RCWCLRPAL:
33497 case AArch64::RCWCLRPL:
33498 case AArch64::RCWCLRSP:
33499 case AArch64::RCWCLRSPA:
33500 case AArch64::RCWCLRSPAL:
33501 case AArch64::RCWCLRSPL:
33502 case AArch64::RCWSETP:
33503 case AArch64::RCWSETPA:
33504 case AArch64::RCWSETPAL:
33505 case AArch64::RCWSETPL:
33506 case AArch64::RCWSETSP:
33507 case AArch64::RCWSETSPA:
33508 case AArch64::RCWSETSPAL:
33509 case AArch64::RCWSETSPL:
33510 case AArch64::RCWSWPP:
33511 case AArch64::RCWSWPPA:
33512 case AArch64::RCWSWPPAL:
33513 case AArch64::RCWSWPPL:
33514 case AArch64::RCWSWPSP:
33515 case AArch64::RCWSWPSPA:
33516 case AArch64::RCWSWPSPAL:
33517 case AArch64::RCWSWPSPL: {
33518 switch (OpNum) {
33519 case 3:
33520 // op: Rt2
33521 return 16;
33522 case 4:
33523 // op: Rn
33524 return 5;
33525 case 2:
33526 // op: Rt
33527 return 0;
33528 }
33529 break;
33530 }
33531 case AArch64::PSEL_PPPRI_B: {
33532 switch (OpNum) {
33533 case 3:
33534 // op: Rv
33535 return 16;
33536 case 1:
33537 // op: Pn
33538 return 10;
33539 case 2:
33540 // op: Pm
33541 return 5;
33542 case 0:
33543 // op: Pd
33544 return 0;
33545 case 4:
33546 // op: imm
33547 return 19;
33548 }
33549 break;
33550 }
33551 case AArch64::PSEL_PPPRI_H: {
33552 switch (OpNum) {
33553 case 3:
33554 // op: Rv
33555 return 16;
33556 case 1:
33557 // op: Pn
33558 return 10;
33559 case 2:
33560 // op: Pm
33561 return 5;
33562 case 0:
33563 // op: Pd
33564 return 0;
33565 case 4:
33566 // op: imm
33567 return 20;
33568 }
33569 break;
33570 }
33571 case AArch64::PSEL_PPPRI_S: {
33572 switch (OpNum) {
33573 case 3:
33574 // op: Rv
33575 return 16;
33576 case 1:
33577 // op: Pn
33578 return 10;
33579 case 2:
33580 // op: Pm
33581 return 5;
33582 case 0:
33583 // op: Pd
33584 return 0;
33585 case 4:
33586 // op: imm
33587 return 22;
33588 }
33589 break;
33590 }
33591 case AArch64::PSEL_PPPRI_D: {
33592 switch (OpNum) {
33593 case 3:
33594 // op: Rv
33595 return 16;
33596 case 1:
33597 // op: Pn
33598 return 10;
33599 case 2:
33600 // op: Pm
33601 return 5;
33602 case 0:
33603 // op: Pd
33604 return 0;
33605 case 4:
33606 // op: imm
33607 return 23;
33608 }
33609 break;
33610 }
33611 case AArch64::BFCLAMP_ZZZ:
33612 case AArch64::FCLAMP_ZZZ_D:
33613 case AArch64::FCLAMP_ZZZ_H:
33614 case AArch64::FCLAMP_ZZZ_S:
33615 case AArch64::SCLAMP_ZZZ_B:
33616 case AArch64::SCLAMP_ZZZ_D:
33617 case AArch64::SCLAMP_ZZZ_H:
33618 case AArch64::SCLAMP_ZZZ_S:
33619 case AArch64::UCLAMP_ZZZ_B:
33620 case AArch64::UCLAMP_ZZZ_D:
33621 case AArch64::UCLAMP_ZZZ_H:
33622 case AArch64::UCLAMP_ZZZ_S: {
33623 switch (OpNum) {
33624 case 3:
33625 // op: Zm
33626 return 16;
33627 case 2:
33628 // op: Zn
33629 return 5;
33630 case 0:
33631 // op: Zd
33632 return 0;
33633 }
33634 break;
33635 }
33636 case AArch64::BFCLAMP_VG2_2ZZZ_H:
33637 case AArch64::FCLAMP_VG2_2Z2Z_D:
33638 case AArch64::FCLAMP_VG2_2Z2Z_H:
33639 case AArch64::FCLAMP_VG2_2Z2Z_S:
33640 case AArch64::SCLAMP_VG2_2Z2Z_B:
33641 case AArch64::SCLAMP_VG2_2Z2Z_D:
33642 case AArch64::SCLAMP_VG2_2Z2Z_H:
33643 case AArch64::SCLAMP_VG2_2Z2Z_S:
33644 case AArch64::UCLAMP_VG2_2Z2Z_B:
33645 case AArch64::UCLAMP_VG2_2Z2Z_D:
33646 case AArch64::UCLAMP_VG2_2Z2Z_H:
33647 case AArch64::UCLAMP_VG2_2Z2Z_S: {
33648 switch (OpNum) {
33649 case 3:
33650 // op: Zm
33651 return 16;
33652 case 2:
33653 // op: Zn
33654 return 5;
33655 case 0:
33656 // op: Zd
33657 return 1;
33658 }
33659 break;
33660 }
33661 case AArch64::BFCLAMP_VG4_4ZZZ_H:
33662 case AArch64::FCLAMP_VG4_4Z4Z_D:
33663 case AArch64::FCLAMP_VG4_4Z4Z_H:
33664 case AArch64::FCLAMP_VG4_4Z4Z_S:
33665 case AArch64::SCLAMP_VG4_4Z4Z_B:
33666 case AArch64::SCLAMP_VG4_4Z4Z_D:
33667 case AArch64::SCLAMP_VG4_4Z4Z_H:
33668 case AArch64::SCLAMP_VG4_4Z4Z_S:
33669 case AArch64::UCLAMP_VG4_4Z4Z_B:
33670 case AArch64::UCLAMP_VG4_4Z4Z_D:
33671 case AArch64::UCLAMP_VG4_4Z4Z_H:
33672 case AArch64::UCLAMP_VG4_4Z4Z_S: {
33673 switch (OpNum) {
33674 case 3:
33675 // op: Zm
33676 return 16;
33677 case 2:
33678 // op: Zn
33679 return 5;
33680 case 0:
33681 // op: Zd
33682 return 2;
33683 }
33684 break;
33685 }
33686 case AArch64::PMLAL_2ZZZ_Q: {
33687 switch (OpNum) {
33688 case 3:
33689 // op: Zm
33690 return 16;
33691 case 2:
33692 // op: Zn
33693 return 5;
33694 case 0:
33695 // op: Zda
33696 return 1;
33697 }
33698 break;
33699 }
33700 case AArch64::LD1B_2Z_STRIDED_IMM:
33701 case AArch64::LD1B_4Z_STRIDED_IMM:
33702 case AArch64::LD1D_2Z_STRIDED_IMM:
33703 case AArch64::LD1D_4Z_STRIDED_IMM:
33704 case AArch64::LD1H_2Z_STRIDED_IMM:
33705 case AArch64::LD1H_4Z_STRIDED_IMM:
33706 case AArch64::LD1W_2Z_STRIDED_IMM:
33707 case AArch64::LD1W_4Z_STRIDED_IMM:
33708 case AArch64::LDNT1B_2Z_STRIDED_IMM:
33709 case AArch64::LDNT1B_4Z_STRIDED_IMM:
33710 case AArch64::LDNT1D_2Z_STRIDED_IMM:
33711 case AArch64::LDNT1D_4Z_STRIDED_IMM:
33712 case AArch64::LDNT1H_2Z_STRIDED_IMM:
33713 case AArch64::LDNT1H_4Z_STRIDED_IMM:
33714 case AArch64::LDNT1W_2Z_STRIDED_IMM:
33715 case AArch64::LDNT1W_4Z_STRIDED_IMM:
33716 case AArch64::ST1B_2Z_STRIDED_IMM:
33717 case AArch64::ST1B_4Z_STRIDED_IMM:
33718 case AArch64::ST1D_2Z_STRIDED_IMM:
33719 case AArch64::ST1D_4Z_STRIDED_IMM:
33720 case AArch64::ST1H_2Z_STRIDED_IMM:
33721 case AArch64::ST1H_4Z_STRIDED_IMM:
33722 case AArch64::ST1W_2Z_STRIDED_IMM:
33723 case AArch64::ST1W_4Z_STRIDED_IMM:
33724 case AArch64::STNT1B_2Z_STRIDED_IMM:
33725 case AArch64::STNT1B_4Z_STRIDED_IMM:
33726 case AArch64::STNT1D_2Z_STRIDED_IMM:
33727 case AArch64::STNT1D_4Z_STRIDED_IMM:
33728 case AArch64::STNT1H_2Z_STRIDED_IMM:
33729 case AArch64::STNT1H_4Z_STRIDED_IMM:
33730 case AArch64::STNT1W_2Z_STRIDED_IMM:
33731 case AArch64::STNT1W_4Z_STRIDED_IMM: {
33732 switch (OpNum) {
33733 case 3:
33734 // op: imm4
33735 return 16;
33736 case 1:
33737 // op: PNg
33738 return 10;
33739 case 2:
33740 // op: Rn
33741 return 5;
33742 case 0:
33743 // op: Zt
33744 return 0;
33745 }
33746 break;
33747 }
33748 case AArch64::LDRAAwriteback:
33749 case AArch64::LDRABwriteback: {
33750 switch (OpNum) {
33751 case 3:
33752 // op: offset
33753 return 12;
33754 case 2:
33755 // op: Rn
33756 return 5;
33757 case 1:
33758 // op: Rt
33759 return 0;
33760 }
33761 break;
33762 }
33763 case AArch64::SYSPxt:
33764 case AArch64::SYSxt: {
33765 switch (OpNum) {
33766 case 4:
33767 // op: Rt
33768 return 0;
33769 case 0:
33770 // op: op1
33771 return 16;
33772 case 1:
33773 // op: Cn
33774 return 12;
33775 case 2:
33776 // op: Cm
33777 return 8;
33778 case 3:
33779 // op: op2
33780 return 5;
33781 }
33782 break;
33783 }
33784 case AArch64::EXTRACT_ZPMXI_H_Q:
33785 case AArch64::EXTRACT_ZPMXI_V_Q: {
33786 switch (OpNum) {
33787 case 4:
33788 // op: Rv
33789 return 13;
33790 case 2:
33791 // op: Pg
33792 return 10;
33793 case 0:
33794 // op: Zd
33795 return 0;
33796 case 3:
33797 // op: ZAn
33798 return 5;
33799 }
33800 break;
33801 }
33802 case AArch64::EXTRACT_ZPMXI_H_D:
33803 case AArch64::EXTRACT_ZPMXI_V_D: {
33804 switch (OpNum) {
33805 case 4:
33806 // op: Rv
33807 return 13;
33808 case 2:
33809 // op: Pg
33810 return 10;
33811 case 0:
33812 // op: Zd
33813 return 0;
33814 case 3:
33815 // op: ZAn
33816 return 6;
33817 case 5:
33818 // op: imm
33819 return 5;
33820 }
33821 break;
33822 }
33823 case AArch64::EXTRACT_ZPMXI_H_S:
33824 case AArch64::EXTRACT_ZPMXI_V_S: {
33825 switch (OpNum) {
33826 case 4:
33827 // op: Rv
33828 return 13;
33829 case 2:
33830 // op: Pg
33831 return 10;
33832 case 0:
33833 // op: Zd
33834 return 0;
33835 case 3:
33836 // op: ZAn
33837 return 7;
33838 case 5:
33839 // op: imm
33840 return 5;
33841 }
33842 break;
33843 }
33844 case AArch64::EXTRACT_ZPMXI_H_H:
33845 case AArch64::EXTRACT_ZPMXI_V_H: {
33846 switch (OpNum) {
33847 case 4:
33848 // op: Rv
33849 return 13;
33850 case 2:
33851 // op: Pg
33852 return 10;
33853 case 0:
33854 // op: Zd
33855 return 0;
33856 case 3:
33857 // op: ZAn
33858 return 8;
33859 case 5:
33860 // op: imm
33861 return 5;
33862 }
33863 break;
33864 }
33865 case AArch64::EXTRACT_ZPMXI_H_B:
33866 case AArch64::EXTRACT_ZPMXI_V_B: {
33867 switch (OpNum) {
33868 case 4:
33869 // op: Rv
33870 return 13;
33871 case 2:
33872 // op: Pg
33873 return 10;
33874 case 0:
33875 // op: Zd
33876 return 0;
33877 case 5:
33878 // op: imm
33879 return 5;
33880 }
33881 break;
33882 }
33883 case AArch64::LD1_MXIPXX_H_Q:
33884 case AArch64::LD1_MXIPXX_V_Q:
33885 case AArch64::ST1_MXIPXX_H_Q:
33886 case AArch64::ST1_MXIPXX_V_Q: {
33887 switch (OpNum) {
33888 case 5:
33889 // op: Rm
33890 return 16;
33891 case 1:
33892 // op: Rv
33893 return 13;
33894 case 3:
33895 // op: Pg
33896 return 10;
33897 case 4:
33898 // op: Rn
33899 return 5;
33900 case 0:
33901 // op: ZAt
33902 return 0;
33903 }
33904 break;
33905 }
33906 case AArch64::LD1_MXIPXX_H_D:
33907 case AArch64::LD1_MXIPXX_V_D:
33908 case AArch64::ST1_MXIPXX_H_D:
33909 case AArch64::ST1_MXIPXX_V_D: {
33910 switch (OpNum) {
33911 case 5:
33912 // op: Rm
33913 return 16;
33914 case 1:
33915 // op: Rv
33916 return 13;
33917 case 3:
33918 // op: Pg
33919 return 10;
33920 case 4:
33921 // op: Rn
33922 return 5;
33923 case 0:
33924 // op: ZAt
33925 return 1;
33926 case 2:
33927 // op: imm
33928 return 0;
33929 }
33930 break;
33931 }
33932 case AArch64::LD1_MXIPXX_H_S:
33933 case AArch64::LD1_MXIPXX_V_S:
33934 case AArch64::ST1_MXIPXX_H_S:
33935 case AArch64::ST1_MXIPXX_V_S: {
33936 switch (OpNum) {
33937 case 5:
33938 // op: Rm
33939 return 16;
33940 case 1:
33941 // op: Rv
33942 return 13;
33943 case 3:
33944 // op: Pg
33945 return 10;
33946 case 4:
33947 // op: Rn
33948 return 5;
33949 case 0:
33950 // op: ZAt
33951 return 2;
33952 case 2:
33953 // op: imm
33954 return 0;
33955 }
33956 break;
33957 }
33958 case AArch64::LD1_MXIPXX_H_H:
33959 case AArch64::LD1_MXIPXX_V_H:
33960 case AArch64::ST1_MXIPXX_H_H:
33961 case AArch64::ST1_MXIPXX_V_H: {
33962 switch (OpNum) {
33963 case 5:
33964 // op: Rm
33965 return 16;
33966 case 1:
33967 // op: Rv
33968 return 13;
33969 case 3:
33970 // op: Pg
33971 return 10;
33972 case 4:
33973 // op: Rn
33974 return 5;
33975 case 0:
33976 // op: ZAt
33977 return 3;
33978 case 2:
33979 // op: imm
33980 return 0;
33981 }
33982 break;
33983 }
33984 case AArch64::LD1_MXIPXX_H_B:
33985 case AArch64::LD1_MXIPXX_V_B:
33986 case AArch64::ST1_MXIPXX_H_B:
33987 case AArch64::ST1_MXIPXX_V_B: {
33988 switch (OpNum) {
33989 case 5:
33990 // op: Rm
33991 return 16;
33992 case 1:
33993 // op: Rv
33994 return 13;
33995 case 3:
33996 // op: Pg
33997 return 10;
33998 case 4:
33999 // op: Rn
34000 return 5;
34001 case 2:
34002 // op: imm
34003 return 0;
34004 }
34005 break;
34006 }
34007 case AArch64::FMLALL_MZZ_BtoS:
34008 case AArch64::FMLALL_VG2_M2ZZ_BtoS:
34009 case AArch64::FMLALL_VG4_M4ZZ_BtoS:
34010 case AArch64::SMLALL_MZZ_BtoS:
34011 case AArch64::SMLALL_MZZ_HtoD:
34012 case AArch64::SMLALL_VG2_M2ZZ_BtoS:
34013 case AArch64::SMLALL_VG2_M2ZZ_HtoD:
34014 case AArch64::SMLALL_VG4_M4ZZ_BtoS:
34015 case AArch64::SMLALL_VG4_M4ZZ_HtoD:
34016 case AArch64::SMLSLL_MZZ_BtoS:
34017 case AArch64::SMLSLL_MZZ_HtoD:
34018 case AArch64::SMLSLL_VG2_M2ZZ_BtoS:
34019 case AArch64::SMLSLL_VG2_M2ZZ_HtoD:
34020 case AArch64::SMLSLL_VG4_M4ZZ_BtoS:
34021 case AArch64::SMLSLL_VG4_M4ZZ_HtoD:
34022 case AArch64::SUMLALL_VG2_M2ZZ_BtoS:
34023 case AArch64::SUMLALL_VG4_M4ZZ_BtoS:
34024 case AArch64::UMLALL_MZZ_BtoS:
34025 case AArch64::UMLALL_MZZ_HtoD:
34026 case AArch64::UMLALL_VG2_M2ZZ_BtoS:
34027 case AArch64::UMLALL_VG2_M2ZZ_HtoD:
34028 case AArch64::UMLALL_VG4_M4ZZ_BtoS:
34029 case AArch64::UMLALL_VG4_M4ZZ_HtoD:
34030 case AArch64::UMLSLL_MZZ_BtoS:
34031 case AArch64::UMLSLL_MZZ_HtoD:
34032 case AArch64::UMLSLL_VG2_M2ZZ_BtoS:
34033 case AArch64::UMLSLL_VG2_M2ZZ_HtoD:
34034 case AArch64::UMLSLL_VG4_M4ZZ_BtoS:
34035 case AArch64::UMLSLL_VG4_M4ZZ_HtoD:
34036 case AArch64::USMLALL_MZZ_BtoS:
34037 case AArch64::USMLALL_VG2_M2ZZ_BtoS:
34038 case AArch64::USMLALL_VG4_M4ZZ_BtoS: {
34039 switch (OpNum) {
34040 case 5:
34041 // op: Zm
34042 return 16;
34043 case 2:
34044 // op: Rv
34045 return 13;
34046 case 4:
34047 // op: Zn
34048 return 5;
34049 case 3:
34050 // op: imm
34051 return 0;
34052 }
34053 break;
34054 }
34055 case AArch64::BFDOT_VG2_M2ZZI_HtoS:
34056 case AArch64::BFVDOT_VG2_M2ZZI_HtoS:
34057 case AArch64::FDOT_VG2_M2ZZI_BtoS:
34058 case AArch64::FDOT_VG2_M2ZZI_HtoS:
34059 case AArch64::FMLA_VG2_M2ZZI_S:
34060 case AArch64::FMLS_VG2_M2ZZI_S:
34061 case AArch64::FVDOT_VG2_M2ZZI_HtoS:
34062 case AArch64::SDOT_VG2_M2ZZI_BToS:
34063 case AArch64::SDOT_VG2_M2ZZI_HToS:
34064 case AArch64::SUDOT_VG2_M2ZZI_BToS:
34065 case AArch64::SVDOT_VG2_M2ZZI_HtoS:
34066 case AArch64::UDOT_VG2_M2ZZI_BToS:
34067 case AArch64::UDOT_VG2_M2ZZI_HToS:
34068 case AArch64::USDOT_VG2_M2ZZI_BToS:
34069 case AArch64::UVDOT_VG2_M2ZZI_HtoS: {
34070 switch (OpNum) {
34071 case 5:
34072 // op: Zm
34073 return 16;
34074 case 2:
34075 // op: Rv
34076 return 13;
34077 case 4:
34078 // op: Zn
34079 return 6;
34080 case 3:
34081 // op: imm3
34082 return 0;
34083 case 6:
34084 // op: i
34085 return 10;
34086 }
34087 break;
34088 }
34089 case AArch64::BFMLA_VG2_M2ZZI:
34090 case AArch64::BFMLS_VG2_M2ZZI:
34091 case AArch64::FDOT_VG2_M2ZZI_BtoH:
34092 case AArch64::FMLA_VG2_M2ZZI_H:
34093 case AArch64::FMLS_VG2_M2ZZI_H:
34094 case AArch64::FVDOTB_VG4_M2ZZI_BtoS:
34095 case AArch64::FVDOTT_VG4_M2ZZI_BtoS:
34096 case AArch64::FVDOT_VG2_M2ZZI_BtoH: {
34097 switch (OpNum) {
34098 case 5:
34099 // op: Zm
34100 return 16;
34101 case 2:
34102 // op: Rv
34103 return 13;
34104 case 4:
34105 // op: Zn
34106 return 6;
34107 case 3:
34108 // op: imm3
34109 return 0;
34110 case 6:
34111 // op: i
34112 return 3;
34113 }
34114 break;
34115 }
34116 case AArch64::BFDOT_VG4_M4ZZI_HtoS:
34117 case AArch64::FDOT_VG4_M4ZZI_BtoS:
34118 case AArch64::FDOT_VG4_M4ZZI_HtoS:
34119 case AArch64::FMLA_VG4_M4ZZI_S:
34120 case AArch64::FMLS_VG4_M4ZZI_S:
34121 case AArch64::SDOT_VG4_M4ZZI_BToS:
34122 case AArch64::SDOT_VG4_M4ZZI_HToS:
34123 case AArch64::SUDOT_VG4_M4ZZI_BToS:
34124 case AArch64::SUVDOT_VG4_M4ZZI_BToS:
34125 case AArch64::SVDOT_VG4_M4ZZI_BtoS:
34126 case AArch64::UDOT_VG4_M4ZZI_BtoS:
34127 case AArch64::UDOT_VG4_M4ZZI_HToS:
34128 case AArch64::USDOT_VG4_M4ZZI_BToS:
34129 case AArch64::USVDOT_VG4_M4ZZI_BToS:
34130 case AArch64::UVDOT_VG4_M4ZZI_BtoS: {
34131 switch (OpNum) {
34132 case 5:
34133 // op: Zm
34134 return 16;
34135 case 2:
34136 // op: Rv
34137 return 13;
34138 case 4:
34139 // op: Zn
34140 return 7;
34141 case 3:
34142 // op: imm3
34143 return 0;
34144 case 6:
34145 // op: i
34146 return 10;
34147 }
34148 break;
34149 }
34150 case AArch64::BFMLA_VG4_M4ZZI:
34151 case AArch64::BFMLS_VG4_M4ZZI:
34152 case AArch64::FDOT_VG4_M4ZZI_BtoH:
34153 case AArch64::FMLA_VG4_M4ZZI_H:
34154 case AArch64::FMLS_VG4_M4ZZI_H: {
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 3;
34171 }
34172 break;
34173 }
34174 case AArch64::FMLALL_MZZI_BtoS:
34175 case AArch64::SMLALL_MZZI_BtoS:
34176 case AArch64::SMLALL_MZZI_HtoD:
34177 case AArch64::SMLSLL_MZZI_BtoS:
34178 case AArch64::SMLSLL_MZZI_HtoD:
34179 case AArch64::SUMLALL_MZZI_BtoS:
34180 case AArch64::UMLALL_MZZI_BtoS:
34181 case AArch64::UMLALL_MZZI_HtoD:
34182 case AArch64::UMLSLL_MZZI_BtoS:
34183 case AArch64::UMLSLL_MZZI_HtoD:
34184 case AArch64::USMLALL_MZZI_BtoS: {
34185 switch (OpNum) {
34186 case 5:
34187 // op: Zm
34188 return 16;
34189 case 2:
34190 // op: Rv
34191 return 13;
34192 case 6:
34193 // op: i
34194 return 10;
34195 case 4:
34196 // op: Zn
34197 return 5;
34198 case 3:
34199 // op: imm2
34200 return 0;
34201 }
34202 break;
34203 }
34204 case AArch64::FMLALL_VG2_M2ZZI_BtoS:
34205 case AArch64::SMLALL_VG2_M2ZZI_BtoS:
34206 case AArch64::SMLALL_VG2_M2ZZI_HtoD:
34207 case AArch64::SMLSLL_VG2_M2ZZI_BtoS:
34208 case AArch64::SMLSLL_VG2_M2ZZI_HtoD:
34209 case AArch64::SUMLALL_VG2_M2ZZI_BtoS:
34210 case AArch64::UMLALL_VG2_M2ZZI_BtoS:
34211 case AArch64::UMLALL_VG2_M2ZZI_HtoD:
34212 case AArch64::UMLSLL_VG2_M2ZZI_BtoS:
34213 case AArch64::UMLSLL_VG2_M2ZZI_HtoD:
34214 case AArch64::USMLALL_VG2_M2ZZI_BtoS: {
34215 switch (OpNum) {
34216 case 5:
34217 // op: Zm
34218 return 16;
34219 case 2:
34220 // op: Rv
34221 return 13;
34222 case 6:
34223 // op: i
34224 return 1;
34225 case 3:
34226 // op: imm
34227 return 0;
34228 case 4:
34229 // op: Zn
34230 return 6;
34231 }
34232 break;
34233 }
34234 case AArch64::FMLALL_VG4_M4ZZI_BtoS:
34235 case AArch64::SMLALL_VG4_M4ZZI_BtoS:
34236 case AArch64::SMLALL_VG4_M4ZZI_HtoD:
34237 case AArch64::SMLSLL_VG4_M4ZZI_BtoS:
34238 case AArch64::SMLSLL_VG4_M4ZZI_HtoD:
34239 case AArch64::SUMLALL_VG4_M4ZZI_BtoS:
34240 case AArch64::UMLALL_VG4_M4ZZI_BtoS:
34241 case AArch64::UMLALL_VG4_M4ZZI_HtoD:
34242 case AArch64::UMLSLL_VG4_M4ZZI_BtoS:
34243 case AArch64::UMLSLL_VG4_M4ZZI_HtoD:
34244 case AArch64::USMLALL_VG4_M4ZZI_BtoS: {
34245 switch (OpNum) {
34246 case 5:
34247 // op: Zm
34248 return 16;
34249 case 2:
34250 // op: Rv
34251 return 13;
34252 case 6:
34253 // op: i
34254 return 1;
34255 case 3:
34256 // op: imm
34257 return 0;
34258 case 4:
34259 // op: Zn
34260 return 7;
34261 }
34262 break;
34263 }
34264 case AArch64::FMLAL_VG2_M2ZZI_BtoH: {
34265 switch (OpNum) {
34266 case 5:
34267 // op: Zm
34268 return 16;
34269 case 2:
34270 // op: Rv
34271 return 13;
34272 case 6:
34273 // op: i
34274 return 2;
34275 case 3:
34276 // op: imm2
34277 return 0;
34278 case 4:
34279 // op: Zn
34280 return 6;
34281 }
34282 break;
34283 }
34284 case AArch64::FMLAL_VG4_M4ZZI_BtoH: {
34285 switch (OpNum) {
34286 case 5:
34287 // op: Zm
34288 return 16;
34289 case 2:
34290 // op: Rv
34291 return 13;
34292 case 6:
34293 // op: i
34294 return 2;
34295 case 3:
34296 // op: imm2
34297 return 0;
34298 case 4:
34299 // op: Zn
34300 return 7;
34301 }
34302 break;
34303 }
34304 case AArch64::FMLAL_MZZI_BtoH: {
34305 switch (OpNum) {
34306 case 5:
34307 // op: Zm
34308 return 16;
34309 case 2:
34310 // op: Rv
34311 return 13;
34312 case 6:
34313 // op: i
34314 return 3;
34315 case 4:
34316 // op: Zn
34317 return 5;
34318 case 3:
34319 // op: imm3
34320 return 0;
34321 }
34322 break;
34323 }
34324 case AArch64::FMLA_VG2_M2ZZI_D:
34325 case AArch64::FMLS_VG2_M2ZZI_D:
34326 case AArch64::SDOT_VG2_M2ZZI_HtoD:
34327 case AArch64::UDOT_VG2_M2ZZI_HtoD: {
34328 switch (OpNum) {
34329 case 5:
34330 // op: Zm
34331 return 16;
34332 case 2:
34333 // op: Rv
34334 return 13;
34335 case 6:
34336 // op: i1
34337 return 10;
34338 case 4:
34339 // op: Zn
34340 return 6;
34341 case 3:
34342 // op: imm3
34343 return 0;
34344 }
34345 break;
34346 }
34347 case AArch64::FMLA_VG4_M4ZZI_D:
34348 case AArch64::FMLS_VG4_M4ZZI_D:
34349 case AArch64::SDOT_VG4_M4ZZI_HtoD:
34350 case AArch64::SVDOT_VG4_M4ZZI_HtoD:
34351 case AArch64::UDOT_VG4_M4ZZI_HtoD:
34352 case AArch64::UVDOT_VG4_M4ZZI_HtoD: {
34353 switch (OpNum) {
34354 case 5:
34355 // op: Zm
34356 return 16;
34357 case 2:
34358 // op: Rv
34359 return 13;
34360 case 6:
34361 // op: i1
34362 return 10;
34363 case 4:
34364 // op: Zn
34365 return 7;
34366 case 3:
34367 // op: imm3
34368 return 0;
34369 }
34370 break;
34371 }
34372 case AArch64::BFMLAL_MZZI_HtoS:
34373 case AArch64::BFMLSL_MZZI_HtoS:
34374 case AArch64::FMLAL_MZZI_HtoS:
34375 case AArch64::FMLSL_MZZI_HtoS:
34376 case AArch64::SMLAL_MZZI_HtoS:
34377 case AArch64::SMLSL_MZZI_HtoS:
34378 case AArch64::UMLAL_MZZI_HtoS:
34379 case AArch64::UMLSL_MZZI_HtoS: {
34380 switch (OpNum) {
34381 case 5:
34382 // op: Zm
34383 return 16;
34384 case 2:
34385 // op: Rv
34386 return 13;
34387 case 6:
34388 // op: i3
34389 return 10;
34390 case 4:
34391 // op: Zn
34392 return 5;
34393 case 3:
34394 // op: imm
34395 return 0;
34396 }
34397 break;
34398 }
34399 case AArch64::BFMLAL_VG2_M2ZZI_HtoS:
34400 case AArch64::BFMLSL_VG2_M2ZZI_HtoS:
34401 case AArch64::FMLAL_VG2_M2ZZI_HtoS:
34402 case AArch64::FMLSL_VG2_M2ZZI_HtoS:
34403 case AArch64::SMLAL_VG2_M2ZZI_S:
34404 case AArch64::SMLSL_VG2_M2ZZI_S:
34405 case AArch64::UMLAL_VG2_M2ZZI_S:
34406 case AArch64::UMLSL_VG2_M2ZZI_S: {
34407 switch (OpNum) {
34408 case 5:
34409 // op: Zm
34410 return 16;
34411 case 2:
34412 // op: Rv
34413 return 13;
34414 case 6:
34415 // op: i3
34416 return 2;
34417 case 4:
34418 // op: Zn
34419 return 6;
34420 case 3:
34421 // op: imm
34422 return 0;
34423 }
34424 break;
34425 }
34426 case AArch64::BFMLAL_VG4_M4ZZI_HtoS:
34427 case AArch64::BFMLSL_VG4_M4ZZI_HtoS:
34428 case AArch64::FMLAL_VG4_M4ZZI_HtoS:
34429 case AArch64::FMLSL_VG4_M4ZZI_HtoS:
34430 case AArch64::SMLAL_VG4_M4ZZI_HtoS:
34431 case AArch64::SMLSL_VG4_M4ZZI_HtoS:
34432 case AArch64::UMLAL_VG4_M4ZZI_HtoS:
34433 case AArch64::UMLSL_VG4_M4ZZI_HtoS: {
34434 switch (OpNum) {
34435 case 5:
34436 // op: Zm
34437 return 16;
34438 case 2:
34439 // op: Rv
34440 return 13;
34441 case 6:
34442 // op: i3
34443 return 2;
34444 case 4:
34445 // op: Zn
34446 return 7;
34447 case 3:
34448 // op: imm
34449 return 0;
34450 }
34451 break;
34452 }
34453 case AArch64::BFMOPA_MPPZZ:
34454 case AArch64::BFMOPA_MPPZZ_H:
34455 case AArch64::BFMOPS_MPPZZ:
34456 case AArch64::BFMOPS_MPPZZ_H:
34457 case AArch64::BMOPA_MPPZZ_S:
34458 case AArch64::BMOPS_MPPZZ_S:
34459 case AArch64::FMOPAL_MPPZZ:
34460 case AArch64::FMOPA_MPPZZ_BtoH:
34461 case AArch64::FMOPA_MPPZZ_BtoS:
34462 case AArch64::FMOPA_MPPZZ_D:
34463 case AArch64::FMOPA_MPPZZ_H:
34464 case AArch64::FMOPA_MPPZZ_S:
34465 case AArch64::FMOPSL_MPPZZ:
34466 case AArch64::FMOPS_MPPZZ_D:
34467 case AArch64::FMOPS_MPPZZ_H:
34468 case AArch64::FMOPS_MPPZZ_S:
34469 case AArch64::SMOPA_MPPZZ_D:
34470 case AArch64::SMOPA_MPPZZ_HtoS:
34471 case AArch64::SMOPA_MPPZZ_S:
34472 case AArch64::SMOPS_MPPZZ_D:
34473 case AArch64::SMOPS_MPPZZ_HtoS:
34474 case AArch64::SMOPS_MPPZZ_S:
34475 case AArch64::SUMOPA_MPPZZ_D:
34476 case AArch64::SUMOPA_MPPZZ_S:
34477 case AArch64::SUMOPS_MPPZZ_D:
34478 case AArch64::SUMOPS_MPPZZ_S:
34479 case AArch64::UMOPA_MPPZZ_D:
34480 case AArch64::UMOPA_MPPZZ_HtoS:
34481 case AArch64::UMOPA_MPPZZ_S:
34482 case AArch64::UMOPS_MPPZZ_D:
34483 case AArch64::UMOPS_MPPZZ_HtoS:
34484 case AArch64::UMOPS_MPPZZ_S:
34485 case AArch64::USMOPA_MPPZZ_D:
34486 case AArch64::USMOPA_MPPZZ_S:
34487 case AArch64::USMOPS_MPPZZ_D:
34488 case AArch64::USMOPS_MPPZZ_S: {
34489 switch (OpNum) {
34490 case 5:
34491 // op: Zm
34492 return 16;
34493 case 3:
34494 // op: Pm
34495 return 13;
34496 case 2:
34497 // op: Pn
34498 return 10;
34499 case 4:
34500 // op: Zn
34501 return 5;
34502 case 0:
34503 // op: ZAda
34504 return 0;
34505 }
34506 break;
34507 }
34508 case AArch64::ADD_VG2_M2ZZ_D:
34509 case AArch64::ADD_VG2_M2ZZ_S:
34510 case AArch64::ADD_VG4_M4ZZ_D:
34511 case AArch64::ADD_VG4_M4ZZ_S:
34512 case AArch64::BFDOT_VG2_M2ZZ_HtoS:
34513 case AArch64::BFDOT_VG4_M4ZZ_HtoS:
34514 case AArch64::BFMLA_VG2_M2ZZ:
34515 case AArch64::BFMLA_VG4_M4ZZ:
34516 case AArch64::BFMLS_VG2_M2ZZ:
34517 case AArch64::BFMLS_VG4_M4ZZ:
34518 case AArch64::FDOT_VG2_M2ZZ_BtoH:
34519 case AArch64::FDOT_VG2_M2ZZ_BtoS:
34520 case AArch64::FDOT_VG2_M2ZZ_HtoS:
34521 case AArch64::FDOT_VG4_M4ZZ_BtoH:
34522 case AArch64::FDOT_VG4_M4ZZ_BtoS:
34523 case AArch64::FDOT_VG4_M4ZZ_HtoS:
34524 case AArch64::FMLA_VG2_M2ZZ_D:
34525 case AArch64::FMLA_VG2_M2ZZ_H:
34526 case AArch64::FMLA_VG2_M2ZZ_S:
34527 case AArch64::FMLA_VG4_M4ZZ_D:
34528 case AArch64::FMLA_VG4_M4ZZ_H:
34529 case AArch64::FMLA_VG4_M4ZZ_S:
34530 case AArch64::FMLS_VG2_M2ZZ_D:
34531 case AArch64::FMLS_VG2_M2ZZ_H:
34532 case AArch64::FMLS_VG2_M2ZZ_S:
34533 case AArch64::FMLS_VG4_M4ZZ_D:
34534 case AArch64::FMLS_VG4_M4ZZ_H:
34535 case AArch64::FMLS_VG4_M4ZZ_S:
34536 case AArch64::SDOT_VG2_M2ZZ_BtoS:
34537 case AArch64::SDOT_VG2_M2ZZ_HtoD:
34538 case AArch64::SDOT_VG2_M2ZZ_HtoS:
34539 case AArch64::SDOT_VG4_M4ZZ_BtoS:
34540 case AArch64::SDOT_VG4_M4ZZ_HtoD:
34541 case AArch64::SDOT_VG4_M4ZZ_HtoS:
34542 case AArch64::SUB_VG2_M2ZZ_D:
34543 case AArch64::SUB_VG2_M2ZZ_S:
34544 case AArch64::SUB_VG4_M4ZZ_D:
34545 case AArch64::SUB_VG4_M4ZZ_S:
34546 case AArch64::SUDOT_VG2_M2ZZ_BToS:
34547 case AArch64::SUDOT_VG4_M4ZZ_BToS:
34548 case AArch64::UDOT_VG2_M2ZZ_BtoS:
34549 case AArch64::UDOT_VG2_M2ZZ_HtoD:
34550 case AArch64::UDOT_VG2_M2ZZ_HtoS:
34551 case AArch64::UDOT_VG4_M4ZZ_BtoS:
34552 case AArch64::UDOT_VG4_M4ZZ_HtoD:
34553 case AArch64::UDOT_VG4_M4ZZ_HtoS:
34554 case AArch64::USDOT_VG2_M2ZZ_BToS:
34555 case AArch64::USDOT_VG4_M4ZZ_BToS: {
34556 switch (OpNum) {
34557 case 5:
34558 // op: Zm
34559 return 16;
34560 case 4:
34561 // op: Zn
34562 return 5;
34563 case 2:
34564 // op: Rv
34565 return 13;
34566 case 3:
34567 // op: imm3
34568 return 0;
34569 }
34570 break;
34571 }
34572 case AArch64::FMLALL_VG2_M2Z2Z_BtoS:
34573 case AArch64::SMLALL_VG2_M2Z2Z_BtoS:
34574 case AArch64::SMLALL_VG2_M2Z2Z_HtoD:
34575 case AArch64::SMLSLL_VG2_M2Z2Z_BtoS:
34576 case AArch64::SMLSLL_VG2_M2Z2Z_HtoD:
34577 case AArch64::UMLALL_VG2_M2Z2Z_BtoS:
34578 case AArch64::UMLALL_VG2_M2Z2Z_HtoD:
34579 case AArch64::UMLSLL_VG2_M2Z2Z_BtoS:
34580 case AArch64::UMLSLL_VG2_M2Z2Z_HtoD:
34581 case AArch64::USMLALL_VG2_M2Z2Z_BtoS: {
34582 switch (OpNum) {
34583 case 5:
34584 // op: Zm
34585 return 17;
34586 case 2:
34587 // op: Rv
34588 return 13;
34589 case 4:
34590 // op: Zn
34591 return 6;
34592 case 3:
34593 // op: imm
34594 return 0;
34595 }
34596 break;
34597 }
34598 case AArch64::ADD_VG2_M2Z2Z_D:
34599 case AArch64::ADD_VG2_M2Z2Z_S:
34600 case AArch64::BFDOT_VG2_M2Z2Z_HtoS:
34601 case AArch64::BFMLA_VG2_M2Z2Z:
34602 case AArch64::BFMLS_VG2_M2Z2Z:
34603 case AArch64::FDOT_VG2_M2Z2Z_BtoH:
34604 case AArch64::FDOT_VG2_M2Z2Z_BtoS:
34605 case AArch64::FDOT_VG2_M2Z2Z_HtoS:
34606 case AArch64::FMLA_VG2_M2Z2Z_D:
34607 case AArch64::FMLA_VG2_M2Z2Z_H:
34608 case AArch64::FMLA_VG2_M2Z2Z_S:
34609 case AArch64::FMLS_VG2_M2Z2Z_D:
34610 case AArch64::FMLS_VG2_M2Z2Z_H:
34611 case AArch64::FMLS_VG2_M2Z2Z_S:
34612 case AArch64::SDOT_VG2_M2Z2Z_BtoS:
34613 case AArch64::SDOT_VG2_M2Z2Z_HtoD:
34614 case AArch64::SDOT_VG2_M2Z2Z_HtoS:
34615 case AArch64::SUB_VG2_M2Z2Z_D:
34616 case AArch64::SUB_VG2_M2Z2Z_S:
34617 case AArch64::UDOT_VG2_M2Z2Z_BtoS:
34618 case AArch64::UDOT_VG2_M2Z2Z_HtoD:
34619 case AArch64::UDOT_VG2_M2Z2Z_HtoS:
34620 case AArch64::USDOT_VG2_M2Z2Z_BToS: {
34621 switch (OpNum) {
34622 case 5:
34623 // op: Zm
34624 return 17;
34625 case 4:
34626 // op: Zn
34627 return 6;
34628 case 2:
34629 // op: Rv
34630 return 13;
34631 case 3:
34632 // op: imm3
34633 return 0;
34634 }
34635 break;
34636 }
34637 case AArch64::FMLALL_VG4_M4Z4Z_BtoS:
34638 case AArch64::SMLALL_VG4_M4Z4Z_BtoS:
34639 case AArch64::SMLALL_VG4_M4Z4Z_HtoD:
34640 case AArch64::SMLSLL_VG4_M4Z4Z_BtoS:
34641 case AArch64::SMLSLL_VG4_M4Z4Z_HtoD:
34642 case AArch64::UMLALL_VG4_M4Z4Z_BtoS:
34643 case AArch64::UMLALL_VG4_M4Z4Z_HtoD:
34644 case AArch64::UMLSLL_VG4_M4Z4Z_BtoS:
34645 case AArch64::UMLSLL_VG4_M4Z4Z_HtoD:
34646 case AArch64::USMLALL_VG4_M4Z4Z_BtoS: {
34647 switch (OpNum) {
34648 case 5:
34649 // op: Zm
34650 return 18;
34651 case 2:
34652 // op: Rv
34653 return 13;
34654 case 4:
34655 // op: Zn
34656 return 7;
34657 case 3:
34658 // op: imm
34659 return 0;
34660 }
34661 break;
34662 }
34663 case AArch64::ADD_VG4_M4Z4Z_D:
34664 case AArch64::ADD_VG4_M4Z4Z_S:
34665 case AArch64::BFDOT_VG4_M4Z4Z_HtoS:
34666 case AArch64::BFMLA_VG4_M4Z4Z:
34667 case AArch64::BFMLS_VG4_M4Z4Z:
34668 case AArch64::FDOT_VG4_M4Z4Z_BtoH:
34669 case AArch64::FDOT_VG4_M4Z4Z_BtoS:
34670 case AArch64::FDOT_VG4_M4Z4Z_HtoS:
34671 case AArch64::FMLA_VG4_M4Z4Z_D:
34672 case AArch64::FMLA_VG4_M4Z4Z_H:
34673 case AArch64::FMLA_VG4_M4Z4Z_S:
34674 case AArch64::FMLS_VG4_M4Z4Z_D:
34675 case AArch64::FMLS_VG4_M4Z4Z_H:
34676 case AArch64::FMLS_VG4_M4Z4Z_S:
34677 case AArch64::SDOT_VG4_M4Z4Z_BtoS:
34678 case AArch64::SDOT_VG4_M4Z4Z_HtoD:
34679 case AArch64::SDOT_VG4_M4Z4Z_HtoS:
34680 case AArch64::SUB_VG4_M4Z4Z_D:
34681 case AArch64::SUB_VG4_M4Z4Z_S:
34682 case AArch64::UDOT_VG4_M4Z4Z_BtoS:
34683 case AArch64::UDOT_VG4_M4Z4Z_HtoD:
34684 case AArch64::UDOT_VG4_M4Z4Z_HtoS:
34685 case AArch64::USDOT_VG4_M4Z4Z_BToS: {
34686 switch (OpNum) {
34687 case 5:
34688 // op: Zm
34689 return 18;
34690 case 4:
34691 // op: Zn
34692 return 7;
34693 case 2:
34694 // op: Rv
34695 return 13;
34696 case 3:
34697 // op: imm3
34698 return 0;
34699 }
34700 break;
34701 }
34702 default:
34703 reportUnsupportedInst(MI);
34704 }
34705 reportUnsupportedOperand(MI, OpNum);
34706}
34707
34708#endif // GET_OPERAND_BIT_OFFSET
34709
34710