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(3573555200), // HINTE
2685 UINT64_C(1172357120), // HISTCNT_ZPzZZ_D
2686 UINT64_C(1168162816), // HISTCNT_ZPzZZ_S
2687 UINT64_C(1159766016), // HISTSEG_ZZZ
2688 UINT64_C(3560964096), // HLT
2689 UINT64_C(3556769794), // HVC
2690 UINT64_C(70311936), // INCB_XPiI
2691 UINT64_C(82894848), // INCD_XPiI
2692 UINT64_C(82886656), // INCD_ZPiI
2693 UINT64_C(74506240), // INCH_XPiI
2694 UINT64_C(74498048), // INCH_ZPiI
2695 UINT64_C(623675392), // INCP_XP_B
2696 UINT64_C(636258304), // INCP_XP_D
2697 UINT64_C(627869696), // INCP_XP_H
2698 UINT64_C(632064000), // INCP_XP_S
2699 UINT64_C(636256256), // INCP_ZP_D
2700 UINT64_C(627867648), // INCP_ZP_H
2701 UINT64_C(632061952), // INCP_ZP_S
2702 UINT64_C(78700544), // INCW_XPiI
2703 UINT64_C(78692352), // INCW_ZPiI
2704 UINT64_C(69222400), // INDEX_II_B
2705 UINT64_C(81805312), // INDEX_II_D
2706 UINT64_C(73416704), // INDEX_II_H
2707 UINT64_C(77611008), // INDEX_II_S
2708 UINT64_C(69224448), // INDEX_IR_B
2709 UINT64_C(81807360), // INDEX_IR_D
2710 UINT64_C(73418752), // INDEX_IR_H
2711 UINT64_C(77613056), // INDEX_IR_S
2712 UINT64_C(69223424), // INDEX_RI_B
2713 UINT64_C(81806336), // INDEX_RI_D
2714 UINT64_C(73417728), // INDEX_RI_H
2715 UINT64_C(77612032), // INDEX_RI_S
2716 UINT64_C(69225472), // INDEX_RR_B
2717 UINT64_C(81808384), // INDEX_RR_D
2718 UINT64_C(73419776), // INDEX_RR_H
2719 UINT64_C(77614080), // INDEX_RR_S
2720 UINT64_C(3221225472), // INSERT_MXIPZ_H_B
2721 UINT64_C(3233808384), // INSERT_MXIPZ_H_D
2722 UINT64_C(3225419776), // INSERT_MXIPZ_H_H
2723 UINT64_C(3233873920), // INSERT_MXIPZ_H_Q
2724 UINT64_C(3229614080), // INSERT_MXIPZ_H_S
2725 UINT64_C(3221258240), // INSERT_MXIPZ_V_B
2726 UINT64_C(3233841152), // INSERT_MXIPZ_V_D
2727 UINT64_C(3225452544), // INSERT_MXIPZ_V_H
2728 UINT64_C(3233906688), // INSERT_MXIPZ_V_Q
2729 UINT64_C(3229646848), // INSERT_MXIPZ_V_S
2730 UINT64_C(86259712), // INSR_ZR_B
2731 UINT64_C(98842624), // INSR_ZR_D
2732 UINT64_C(90454016), // INSR_ZR_H
2733 UINT64_C(94648320), // INSR_ZR_S
2734 UINT64_C(87308288), // INSR_ZV_B
2735 UINT64_C(99891200), // INSR_ZV_D
2736 UINT64_C(91502592), // INSR_ZV_H
2737 UINT64_C(95696896), // INSR_ZV_S
2738 UINT64_C(1308761088), // INSvi16gpr
2739 UINT64_C(1845625856), // INSvi16lane
2740 UINT64_C(1308892160), // INSvi32gpr
2741 UINT64_C(1845756928), // INSvi32lane
2742 UINT64_C(1309154304), // INSvi64gpr
2743 UINT64_C(1846019072), // INSvi64lane
2744 UINT64_C(1308695552), // INSvi8gpr
2745 UINT64_C(1845560320), // INSvi8lane
2746 UINT64_C(2596278272), // IRG
2747 UINT64_C(3573756127), // ISB
2748 UINT64_C(86024192), // LASTA_RPZ_B
2749 UINT64_C(98607104), // LASTA_RPZ_D
2750 UINT64_C(90218496), // LASTA_RPZ_H
2751 UINT64_C(94412800), // LASTA_RPZ_S
2752 UINT64_C(86147072), // LASTA_VPZ_B
2753 UINT64_C(98729984), // LASTA_VPZ_D
2754 UINT64_C(90341376), // LASTA_VPZ_H
2755 UINT64_C(94535680), // LASTA_VPZ_S
2756 UINT64_C(86089728), // LASTB_RPZ_B
2757 UINT64_C(98672640), // LASTB_RPZ_D
2758 UINT64_C(90284032), // LASTB_RPZ_H
2759 UINT64_C(94478336), // LASTB_RPZ_S
2760 UINT64_C(86212608), // LASTB_VPZ_B
2761 UINT64_C(98795520), // LASTB_VPZ_D
2762 UINT64_C(90406912), // LASTB_VPZ_H
2763 UINT64_C(94601216), // LASTB_VPZ_S
2764 UINT64_C(623017984), // LASTP_XPP_B
2765 UINT64_C(635600896), // LASTP_XPP_D
2766 UINT64_C(627212288), // LASTP_XPP_H
2767 UINT64_C(631406592), // LASTP_XPP_S
2768 UINT64_C(2751479808), // LD1B
2769 UINT64_C(2684354560), // LD1B_2Z
2770 UINT64_C(2688548864), // LD1B_2Z_IMM
2771 UINT64_C(2701131776), // LD1B_2Z_STRIDED
2772 UINT64_C(2705326080), // LD1B_2Z_STRIDED_IMM
2773 UINT64_C(2684387328), // LD1B_4Z
2774 UINT64_C(2688581632), // LD1B_4Z_IMM
2775 UINT64_C(2701164544), // LD1B_4Z_STRIDED
2776 UINT64_C(2705358848), // LD1B_4Z_STRIDED_IMM
2777 UINT64_C(2757771264), // LD1B_D
2778 UINT64_C(2757795840), // LD1B_D_IMM
2779 UINT64_C(2753576960), // LD1B_H
2780 UINT64_C(2753601536), // LD1B_H_IMM
2781 UINT64_C(2751504384), // LD1B_IMM
2782 UINT64_C(2755674112), // LD1B_S
2783 UINT64_C(2755698688), // LD1B_S_IMM
2784 UINT64_C(2782937088), // LD1D
2785 UINT64_C(2684379136), // LD1D_2Z
2786 UINT64_C(2688573440), // LD1D_2Z_IMM
2787 UINT64_C(2701156352), // LD1D_2Z_STRIDED
2788 UINT64_C(2705350656), // LD1D_2Z_STRIDED_IMM
2789 UINT64_C(2684411904), // LD1D_4Z
2790 UINT64_C(2688606208), // LD1D_4Z_IMM
2791 UINT64_C(2701189120), // LD1D_4Z_STRIDED
2792 UINT64_C(2705383424), // LD1D_4Z_STRIDED_IMM
2793 UINT64_C(2782961664), // LD1D_IMM
2794 UINT64_C(2776662016), // LD1D_Q
2795 UINT64_C(2777686016), // LD1D_Q_IMM
2796 UINT64_C(1279270912), // LD1Fourv16b
2797 UINT64_C(1287659520), // LD1Fourv16b_POST
2798 UINT64_C(205532160), // LD1Fourv1d
2799 UINT64_C(213920768), // LD1Fourv1d_POST
2800 UINT64_C(1279273984), // LD1Fourv2d
2801 UINT64_C(1287662592), // LD1Fourv2d_POST
2802 UINT64_C(205531136), // LD1Fourv2s
2803 UINT64_C(213919744), // LD1Fourv2s_POST
2804 UINT64_C(205530112), // LD1Fourv4h
2805 UINT64_C(213918720), // LD1Fourv4h_POST
2806 UINT64_C(1279272960), // LD1Fourv4s
2807 UINT64_C(1287661568), // LD1Fourv4s_POST
2808 UINT64_C(205529088), // LD1Fourv8b
2809 UINT64_C(213917696), // LD1Fourv8b_POST
2810 UINT64_C(1279271936), // LD1Fourv8h
2811 UINT64_C(1287660544), // LD1Fourv8h_POST
2812 UINT64_C(2761965568), // LD1H
2813 UINT64_C(2684362752), // LD1H_2Z
2814 UINT64_C(2688557056), // LD1H_2Z_IMM
2815 UINT64_C(2701139968), // LD1H_2Z_STRIDED
2816 UINT64_C(2705334272), // LD1H_2Z_STRIDED_IMM
2817 UINT64_C(2684395520), // LD1H_4Z
2818 UINT64_C(2688589824), // LD1H_4Z_IMM
2819 UINT64_C(2701172736), // LD1H_4Z_STRIDED
2820 UINT64_C(2705367040), // LD1H_4Z_STRIDED_IMM
2821 UINT64_C(2766159872), // LD1H_D
2822 UINT64_C(2766184448), // LD1H_D_IMM
2823 UINT64_C(2761990144), // LD1H_IMM
2824 UINT64_C(2764062720), // LD1H_S
2825 UINT64_C(2764087296), // LD1H_S_IMM
2826 UINT64_C(1279291392), // LD1Onev16b
2827 UINT64_C(1287680000), // LD1Onev16b_POST
2828 UINT64_C(205552640), // LD1Onev1d
2829 UINT64_C(213941248), // LD1Onev1d_POST
2830 UINT64_C(1279294464), // LD1Onev2d
2831 UINT64_C(1287683072), // LD1Onev2d_POST
2832 UINT64_C(205551616), // LD1Onev2s
2833 UINT64_C(213940224), // LD1Onev2s_POST
2834 UINT64_C(205550592), // LD1Onev4h
2835 UINT64_C(213939200), // LD1Onev4h_POST
2836 UINT64_C(1279293440), // LD1Onev4s
2837 UINT64_C(1287682048), // LD1Onev4s_POST
2838 UINT64_C(205549568), // LD1Onev8b
2839 UINT64_C(213938176), // LD1Onev8b_POST
2840 UINT64_C(1279292416), // LD1Onev8h
2841 UINT64_C(1287681024), // LD1Onev8h_POST
2842 UINT64_C(2218844160), // LD1RB_D_IMM
2843 UINT64_C(2218827776), // LD1RB_H_IMM
2844 UINT64_C(2218819584), // LD1RB_IMM
2845 UINT64_C(2218835968), // LD1RB_S_IMM
2846 UINT64_C(2244009984), // LD1RD_IMM
2847 UINT64_C(2227232768), // LD1RH_D_IMM
2848 UINT64_C(2227216384), // LD1RH_IMM
2849 UINT64_C(2227224576), // LD1RH_S_IMM
2850 UINT64_C(2753560576), // LD1RO_B
2851 UINT64_C(2753568768), // LD1RO_B_IMM
2852 UINT64_C(2778726400), // LD1RO_D
2853 UINT64_C(2778734592), // LD1RO_D_IMM
2854 UINT64_C(2761949184), // LD1RO_H
2855 UINT64_C(2761957376), // LD1RO_H_IMM
2856 UINT64_C(2770337792), // LD1RO_W
2857 UINT64_C(2770345984), // LD1RO_W_IMM
2858 UINT64_C(2751463424), // LD1RQ_B
2859 UINT64_C(2751471616), // LD1RQ_B_IMM
2860 UINT64_C(2776629248), // LD1RQ_D
2861 UINT64_C(2776637440), // LD1RQ_D_IMM
2862 UINT64_C(2759852032), // LD1RQ_H
2863 UINT64_C(2759860224), // LD1RQ_H_IMM
2864 UINT64_C(2768240640), // LD1RQ_W
2865 UINT64_C(2768248832), // LD1RQ_W_IMM
2866 UINT64_C(2243985408), // LD1RSB_D_IMM
2867 UINT64_C(2244001792), // LD1RSB_H_IMM
2868 UINT64_C(2243993600), // LD1RSB_S_IMM
2869 UINT64_C(2235596800), // LD1RSH_D_IMM
2870 UINT64_C(2235604992), // LD1RSH_S_IMM
2871 UINT64_C(2227208192), // LD1RSW_IMM
2872 UINT64_C(2235621376), // LD1RW_D_IMM
2873 UINT64_C(2235613184), // LD1RW_IMM
2874 UINT64_C(1296089088), // LD1Rv16b
2875 UINT64_C(1304477696), // LD1Rv16b_POST
2876 UINT64_C(222350336), // LD1Rv1d
2877 UINT64_C(230738944), // LD1Rv1d_POST
2878 UINT64_C(1296092160), // LD1Rv2d
2879 UINT64_C(1304480768), // LD1Rv2d_POST
2880 UINT64_C(222349312), // LD1Rv2s
2881 UINT64_C(230737920), // LD1Rv2s_POST
2882 UINT64_C(222348288), // LD1Rv4h
2883 UINT64_C(230736896), // LD1Rv4h_POST
2884 UINT64_C(1296091136), // LD1Rv4s
2885 UINT64_C(1304479744), // LD1Rv4s_POST
2886 UINT64_C(222347264), // LD1Rv8b
2887 UINT64_C(230735872), // LD1Rv8b_POST
2888 UINT64_C(1296090112), // LD1Rv8h
2889 UINT64_C(1304478720), // LD1Rv8h_POST
2890 UINT64_C(2776645632), // LD1SB_D
2891 UINT64_C(2776670208), // LD1SB_D_IMM
2892 UINT64_C(2780839936), // LD1SB_H
2893 UINT64_C(2780864512), // LD1SB_H_IMM
2894 UINT64_C(2778742784), // LD1SB_S
2895 UINT64_C(2778767360), // LD1SB_S_IMM
2896 UINT64_C(2768257024), // LD1SH_D
2897 UINT64_C(2768281600), // LD1SH_D_IMM
2898 UINT64_C(2770354176), // LD1SH_S
2899 UINT64_C(2770378752), // LD1SH_S_IMM
2900 UINT64_C(2759868416), // LD1SW_D
2901 UINT64_C(2759892992), // LD1SW_D_IMM
2902 UINT64_C(1279287296), // LD1Threev16b
2903 UINT64_C(1287675904), // LD1Threev16b_POST
2904 UINT64_C(205548544), // LD1Threev1d
2905 UINT64_C(213937152), // LD1Threev1d_POST
2906 UINT64_C(1279290368), // LD1Threev2d
2907 UINT64_C(1287678976), // LD1Threev2d_POST
2908 UINT64_C(205547520), // LD1Threev2s
2909 UINT64_C(213936128), // LD1Threev2s_POST
2910 UINT64_C(205546496), // LD1Threev4h
2911 UINT64_C(213935104), // LD1Threev4h_POST
2912 UINT64_C(1279289344), // LD1Threev4s
2913 UINT64_C(1287677952), // LD1Threev4s_POST
2914 UINT64_C(205545472), // LD1Threev8b
2915 UINT64_C(213934080), // LD1Threev8b_POST
2916 UINT64_C(1279288320), // LD1Threev8h
2917 UINT64_C(1287676928), // LD1Threev8h_POST
2918 UINT64_C(1279303680), // LD1Twov16b
2919 UINT64_C(1287692288), // LD1Twov16b_POST
2920 UINT64_C(205564928), // LD1Twov1d
2921 UINT64_C(213953536), // LD1Twov1d_POST
2922 UINT64_C(1279306752), // LD1Twov2d
2923 UINT64_C(1287695360), // LD1Twov2d_POST
2924 UINT64_C(205563904), // LD1Twov2s
2925 UINT64_C(213952512), // LD1Twov2s_POST
2926 UINT64_C(205562880), // LD1Twov4h
2927 UINT64_C(213951488), // LD1Twov4h_POST
2928 UINT64_C(1279305728), // LD1Twov4s
2929 UINT64_C(1287694336), // LD1Twov4s_POST
2930 UINT64_C(205561856), // LD1Twov8b
2931 UINT64_C(213950464), // LD1Twov8b_POST
2932 UINT64_C(1279304704), // LD1Twov8h
2933 UINT64_C(1287693312), // LD1Twov8h_POST
2934 UINT64_C(2772451328), // LD1W
2935 UINT64_C(2684370944), // LD1W_2Z
2936 UINT64_C(2688565248), // LD1W_2Z_IMM
2937 UINT64_C(2701148160), // LD1W_2Z_STRIDED
2938 UINT64_C(2705342464), // LD1W_2Z_STRIDED_IMM
2939 UINT64_C(2684403712), // LD1W_4Z
2940 UINT64_C(2688598016), // LD1W_4Z_IMM
2941 UINT64_C(2701180928), // LD1W_4Z_STRIDED
2942 UINT64_C(2705375232), // LD1W_4Z_STRIDED_IMM
2943 UINT64_C(2774548480), // LD1W_D
2944 UINT64_C(2774573056), // LD1W_D_IMM
2945 UINT64_C(2772475904), // LD1W_IMM
2946 UINT64_C(2768273408), // LD1W_Q
2947 UINT64_C(2769297408), // LD1W_Q_IMM
2948 UINT64_C(3758096384), // LD1_MXIPXX_H_B
2949 UINT64_C(3770679296), // LD1_MXIPXX_H_D
2950 UINT64_C(3762290688), // LD1_MXIPXX_H_H
2951 UINT64_C(3787456512), // LD1_MXIPXX_H_Q
2952 UINT64_C(3766484992), // LD1_MXIPXX_H_S
2953 UINT64_C(3758129152), // LD1_MXIPXX_V_B
2954 UINT64_C(3770712064), // LD1_MXIPXX_V_D
2955 UINT64_C(3762323456), // LD1_MXIPXX_V_H
2956 UINT64_C(3787489280), // LD1_MXIPXX_V_Q
2957 UINT64_C(3766517760), // LD1_MXIPXX_V_S
2958 UINT64_C(222314496), // LD1i16
2959 UINT64_C(230703104), // LD1i16_POST
2960 UINT64_C(222330880), // LD1i32
2961 UINT64_C(230719488), // LD1i32_POST
2962 UINT64_C(222331904), // LD1i64
2963 UINT64_C(230720512), // LD1i64_POST
2964 UINT64_C(222298112), // LD1i8
2965 UINT64_C(230686720), // LD1i8_POST
2966 UINT64_C(2753609728), // LD2B
2967 UINT64_C(2753617920), // LD2B_IMM
2968 UINT64_C(2778775552), // LD2D
2969 UINT64_C(2778783744), // LD2D_IMM
2970 UINT64_C(2761998336), // LD2H
2971 UINT64_C(2762006528), // LD2H_IMM
2972 UINT64_C(2761981952), // LD2Q
2973 UINT64_C(2760957952), // LD2Q_IMM
2974 UINT64_C(1298186240), // LD2Rv16b
2975 UINT64_C(1306574848), // LD2Rv16b_POST
2976 UINT64_C(224447488), // LD2Rv1d
2977 UINT64_C(232836096), // LD2Rv1d_POST
2978 UINT64_C(1298189312), // LD2Rv2d
2979 UINT64_C(1306577920), // LD2Rv2d_POST
2980 UINT64_C(224446464), // LD2Rv2s
2981 UINT64_C(232835072), // LD2Rv2s_POST
2982 UINT64_C(224445440), // LD2Rv4h
2983 UINT64_C(232834048), // LD2Rv4h_POST
2984 UINT64_C(1298188288), // LD2Rv4s
2985 UINT64_C(1306576896), // LD2Rv4s_POST
2986 UINT64_C(224444416), // LD2Rv8b
2987 UINT64_C(232833024), // LD2Rv8b_POST
2988 UINT64_C(1298187264), // LD2Rv8h
2989 UINT64_C(1306575872), // LD2Rv8h_POST
2990 UINT64_C(1279295488), // LD2Twov16b
2991 UINT64_C(1287684096), // LD2Twov16b_POST
2992 UINT64_C(1279298560), // LD2Twov2d
2993 UINT64_C(1287687168), // LD2Twov2d_POST
2994 UINT64_C(205555712), // LD2Twov2s
2995 UINT64_C(213944320), // LD2Twov2s_POST
2996 UINT64_C(205554688), // LD2Twov4h
2997 UINT64_C(213943296), // LD2Twov4h_POST
2998 UINT64_C(1279297536), // LD2Twov4s
2999 UINT64_C(1287686144), // LD2Twov4s_POST
3000 UINT64_C(205553664), // LD2Twov8b
3001 UINT64_C(213942272), // LD2Twov8b_POST
3002 UINT64_C(1279296512), // LD2Twov8h
3003 UINT64_C(1287685120), // LD2Twov8h_POST
3004 UINT64_C(2770386944), // LD2W
3005 UINT64_C(2770395136), // LD2W_IMM
3006 UINT64_C(224411648), // LD2i16
3007 UINT64_C(232800256), // LD2i16_POST
3008 UINT64_C(224428032), // LD2i32
3009 UINT64_C(232816640), // LD2i32_POST
3010 UINT64_C(224429056), // LD2i64
3011 UINT64_C(232817664), // LD2i64_POST
3012 UINT64_C(224395264), // LD2i8
3013 UINT64_C(232783872), // LD2i8_POST
3014 UINT64_C(2755706880), // LD3B
3015 UINT64_C(2755715072), // LD3B_IMM
3016 UINT64_C(2780872704), // LD3D
3017 UINT64_C(2780880896), // LD3D_IMM
3018 UINT64_C(2764095488), // LD3H
3019 UINT64_C(2764103680), // LD3H_IMM
3020 UINT64_C(2770370560), // LD3Q
3021 UINT64_C(2769346560), // LD3Q_IMM
3022 UINT64_C(1296097280), // LD3Rv16b
3023 UINT64_C(1304485888), // LD3Rv16b_POST
3024 UINT64_C(222358528), // LD3Rv1d
3025 UINT64_C(230747136), // LD3Rv1d_POST
3026 UINT64_C(1296100352), // LD3Rv2d
3027 UINT64_C(1304488960), // LD3Rv2d_POST
3028 UINT64_C(222357504), // LD3Rv2s
3029 UINT64_C(230746112), // LD3Rv2s_POST
3030 UINT64_C(222356480), // LD3Rv4h
3031 UINT64_C(230745088), // LD3Rv4h_POST
3032 UINT64_C(1296099328), // LD3Rv4s
3033 UINT64_C(1304487936), // LD3Rv4s_POST
3034 UINT64_C(222355456), // LD3Rv8b
3035 UINT64_C(230744064), // LD3Rv8b_POST
3036 UINT64_C(1296098304), // LD3Rv8h
3037 UINT64_C(1304486912), // LD3Rv8h_POST
3038 UINT64_C(1279279104), // LD3Threev16b
3039 UINT64_C(1287667712), // LD3Threev16b_POST
3040 UINT64_C(1279282176), // LD3Threev2d
3041 UINT64_C(1287670784), // LD3Threev2d_POST
3042 UINT64_C(205539328), // LD3Threev2s
3043 UINT64_C(213927936), // LD3Threev2s_POST
3044 UINT64_C(205538304), // LD3Threev4h
3045 UINT64_C(213926912), // LD3Threev4h_POST
3046 UINT64_C(1279281152), // LD3Threev4s
3047 UINT64_C(1287669760), // LD3Threev4s_POST
3048 UINT64_C(205537280), // LD3Threev8b
3049 UINT64_C(213925888), // LD3Threev8b_POST
3050 UINT64_C(1279280128), // LD3Threev8h
3051 UINT64_C(1287668736), // LD3Threev8h_POST
3052 UINT64_C(2772484096), // LD3W
3053 UINT64_C(2772492288), // LD3W_IMM
3054 UINT64_C(222322688), // LD3i16
3055 UINT64_C(230711296), // LD3i16_POST
3056 UINT64_C(222339072), // LD3i32
3057 UINT64_C(230727680), // LD3i32_POST
3058 UINT64_C(222340096), // LD3i64
3059 UINT64_C(230728704), // LD3i64_POST
3060 UINT64_C(222306304), // LD3i8
3061 UINT64_C(230694912), // LD3i8_POST
3062 UINT64_C(2757804032), // LD4B
3063 UINT64_C(2757812224), // LD4B_IMM
3064 UINT64_C(2782969856), // LD4D
3065 UINT64_C(2782978048), // LD4D_IMM
3066 UINT64_C(1279262720), // LD4Fourv16b
3067 UINT64_C(1287651328), // LD4Fourv16b_POST
3068 UINT64_C(1279265792), // LD4Fourv2d
3069 UINT64_C(1287654400), // LD4Fourv2d_POST
3070 UINT64_C(205522944), // LD4Fourv2s
3071 UINT64_C(213911552), // LD4Fourv2s_POST
3072 UINT64_C(205521920), // LD4Fourv4h
3073 UINT64_C(213910528), // LD4Fourv4h_POST
3074 UINT64_C(1279264768), // LD4Fourv4s
3075 UINT64_C(1287653376), // LD4Fourv4s_POST
3076 UINT64_C(205520896), // LD4Fourv8b
3077 UINT64_C(213909504), // LD4Fourv8b_POST
3078 UINT64_C(1279263744), // LD4Fourv8h
3079 UINT64_C(1287652352), // LD4Fourv8h_POST
3080 UINT64_C(2766192640), // LD4H
3081 UINT64_C(2766200832), // LD4H_IMM
3082 UINT64_C(2778759168), // LD4Q
3083 UINT64_C(2777735168), // LD4Q_IMM
3084 UINT64_C(1298194432), // LD4Rv16b
3085 UINT64_C(1306583040), // LD4Rv16b_POST
3086 UINT64_C(224455680), // LD4Rv1d
3087 UINT64_C(232844288), // LD4Rv1d_POST
3088 UINT64_C(1298197504), // LD4Rv2d
3089 UINT64_C(1306586112), // LD4Rv2d_POST
3090 UINT64_C(224454656), // LD4Rv2s
3091 UINT64_C(232843264), // LD4Rv2s_POST
3092 UINT64_C(224453632), // LD4Rv4h
3093 UINT64_C(232842240), // LD4Rv4h_POST
3094 UINT64_C(1298196480), // LD4Rv4s
3095 UINT64_C(1306585088), // LD4Rv4s_POST
3096 UINT64_C(224452608), // LD4Rv8b
3097 UINT64_C(232841216), // LD4Rv8b_POST
3098 UINT64_C(1298195456), // LD4Rv8h
3099 UINT64_C(1306584064), // LD4Rv8h_POST
3100 UINT64_C(2774581248), // LD4W
3101 UINT64_C(2774589440), // LD4W_IMM
3102 UINT64_C(224419840), // LD4i16
3103 UINT64_C(232808448), // LD4i16_POST
3104 UINT64_C(224436224), // LD4i32
3105 UINT64_C(232824832), // LD4i32_POST
3106 UINT64_C(224437248), // LD4i64
3107 UINT64_C(232825856), // LD4i64_POST
3108 UINT64_C(224403456), // LD4i8
3109 UINT64_C(232792064), // LD4i8_POST
3110 UINT64_C(4164931584), // LD64B
3111 UINT64_C(950009856), // LDADDAB
3112 UINT64_C(2023751680), // LDADDAH
3113 UINT64_C(954204160), // LDADDALB
3114 UINT64_C(2027945984), // LDADDALH
3115 UINT64_C(3101687808), // LDADDALW
3116 UINT64_C(4175429632), // LDADDALX
3117 UINT64_C(3097493504), // LDADDAW
3118 UINT64_C(4171235328), // LDADDAX
3119 UINT64_C(941621248), // LDADDB
3120 UINT64_C(2015363072), // LDADDH
3121 UINT64_C(945815552), // LDADDLB
3122 UINT64_C(2019557376), // LDADDLH
3123 UINT64_C(3093299200), // LDADDLW
3124 UINT64_C(4167041024), // LDADDLX
3125 UINT64_C(3089104896), // LDADDW
3126 UINT64_C(4162846720), // LDADDX
3127 UINT64_C(222397440), // LDAP1
3128 UINT64_C(3644880896), // LDAPPi
3129 UINT64_C(952090624), // LDAPRB
3130 UINT64_C(2025832448), // LDAPRH
3131 UINT64_C(3099574272), // LDAPRW
3132 UINT64_C(2579499008), // LDAPRWpost
3133 UINT64_C(4173316096), // LDAPRX
3134 UINT64_C(3653240832), // LDAPRXpost
3135 UINT64_C(423624704), // LDAPURBi
3136 UINT64_C(1497366528), // LDAPURHi
3137 UINT64_C(432013312), // LDAPURSBWi
3138 UINT64_C(427819008), // LDAPURSBXi
3139 UINT64_C(1505755136), // LDAPURSHWi
3140 UINT64_C(1501560832), // LDAPURSHXi
3141 UINT64_C(2575302656), // LDAPURSWi
3142 UINT64_C(3644850176), // LDAPURXi
3143 UINT64_C(490735616), // LDAPURbi
3144 UINT64_C(3711961088), // LDAPURdi
3145 UINT64_C(1564477440), // LDAPURhi
3146 UINT64_C(2571108352), // LDAPURi
3147 UINT64_C(499124224), // LDAPURqi
3148 UINT64_C(2638219264), // LDAPURsi
3149 UINT64_C(3644872704), // LDAPi
3150 UINT64_C(148896768), // LDARB
3151 UINT64_C(1222638592), // LDARH
3152 UINT64_C(2296380416), // LDARW
3153 UINT64_C(3370122240), // LDARX
3154 UINT64_C(2304769024), // LDATXRW
3155 UINT64_C(3378510848), // LDATXRX
3156 UINT64_C(2290057216), // LDAXPW
3157 UINT64_C(3363799040), // LDAXPX
3158 UINT64_C(140508160), // LDAXRB
3159 UINT64_C(1214249984), // LDAXRH
3160 UINT64_C(2287991808), // LDAXRW
3161 UINT64_C(3361733632), // LDAXRX
3162 UINT64_C(1008730112), // LDBFADD
3163 UINT64_C(1017118720), // LDBFADDA
3164 UINT64_C(1021313024), // LDBFADDAL
3165 UINT64_C(1012924416), // LDBFADDL
3166 UINT64_C(1008746496), // LDBFMAX
3167 UINT64_C(1017135104), // LDBFMAXA
3168 UINT64_C(1021329408), // LDBFMAXAL
3169 UINT64_C(1012940800), // LDBFMAXL
3170 UINT64_C(1008754688), // LDBFMAXNM
3171 UINT64_C(1017143296), // LDBFMAXNMA
3172 UINT64_C(1021337600), // LDBFMAXNMAL
3173 UINT64_C(1012948992), // LDBFMAXNML
3174 UINT64_C(1008750592), // LDBFMIN
3175 UINT64_C(1017139200), // LDBFMINA
3176 UINT64_C(1021333504), // LDBFMINAL
3177 UINT64_C(1012944896), // LDBFMINL
3178 UINT64_C(1008758784), // LDBFMINNM
3179 UINT64_C(1017147392), // LDBFMINNMA
3180 UINT64_C(1021341696), // LDBFMINNMAL
3181 UINT64_C(1012953088), // LDBFMINNML
3182 UINT64_C(950013952), // LDCLRAB
3183 UINT64_C(2023755776), // LDCLRAH
3184 UINT64_C(954208256), // LDCLRALB
3185 UINT64_C(2027950080), // LDCLRALH
3186 UINT64_C(3101691904), // LDCLRALW
3187 UINT64_C(4175433728), // LDCLRALX
3188 UINT64_C(3097497600), // LDCLRAW
3189 UINT64_C(4171239424), // LDCLRAX
3190 UINT64_C(941625344), // LDCLRB
3191 UINT64_C(2015367168), // LDCLRH
3192 UINT64_C(945819648), // LDCLRLB
3193 UINT64_C(2019561472), // LDCLRLH
3194 UINT64_C(3093303296), // LDCLRLW
3195 UINT64_C(4167045120), // LDCLRLX
3196 UINT64_C(421531648), // LDCLRP
3197 UINT64_C(429920256), // LDCLRPA
3198 UINT64_C(434114560), // LDCLRPAL
3199 UINT64_C(425725952), // LDCLRPL
3200 UINT64_C(3089108992), // LDCLRW
3201 UINT64_C(4162850816), // LDCLRX
3202 UINT64_C(950018048), // LDEORAB
3203 UINT64_C(2023759872), // LDEORAH
3204 UINT64_C(954212352), // LDEORALB
3205 UINT64_C(2027954176), // LDEORALH
3206 UINT64_C(3101696000), // LDEORALW
3207 UINT64_C(4175437824), // LDEORALX
3208 UINT64_C(3097501696), // LDEORAW
3209 UINT64_C(4171243520), // LDEORAX
3210 UINT64_C(941629440), // LDEORB
3211 UINT64_C(2015371264), // LDEORH
3212 UINT64_C(945823744), // LDEORLB
3213 UINT64_C(2019565568), // LDEORLH
3214 UINT64_C(3093307392), // LDEORLW
3215 UINT64_C(4167049216), // LDEORLX
3216 UINT64_C(3089113088), // LDEORW
3217 UINT64_C(4162854912), // LDEORX
3218 UINT64_C(4238344192), // LDFADDAD
3219 UINT64_C(2090860544), // LDFADDAH
3220 UINT64_C(4242538496), // LDFADDALD
3221 UINT64_C(2095054848), // LDFADDALH
3222 UINT64_C(3168796672), // LDFADDALS
3223 UINT64_C(3164602368), // LDFADDAS
3224 UINT64_C(4229955584), // LDFADDD
3225 UINT64_C(2082471936), // LDFADDH
3226 UINT64_C(4234149888), // LDFADDLD
3227 UINT64_C(2086666240), // LDFADDLH
3228 UINT64_C(3160408064), // LDFADDLS
3229 UINT64_C(3156213760), // LDFADDS
3230 UINT64_C(2751488000), // LDFF1B
3231 UINT64_C(2757779456), // LDFF1B_D
3232 UINT64_C(2753585152), // LDFF1B_H
3233 UINT64_C(2755682304), // LDFF1B_S
3234 UINT64_C(2782945280), // LDFF1D
3235 UINT64_C(2761973760), // LDFF1H
3236 UINT64_C(2766168064), // LDFF1H_D
3237 UINT64_C(2764070912), // LDFF1H_S
3238 UINT64_C(2776653824), // LDFF1SB_D
3239 UINT64_C(2780848128), // LDFF1SB_H
3240 UINT64_C(2778750976), // LDFF1SB_S
3241 UINT64_C(2768265216), // LDFF1SH_D
3242 UINT64_C(2770362368), // LDFF1SH_S
3243 UINT64_C(2759876608), // LDFF1SW_D
3244 UINT64_C(2772459520), // LDFF1W
3245 UINT64_C(2774556672), // LDFF1W_D
3246 UINT64_C(4238360576), // LDFMAXAD
3247 UINT64_C(2090876928), // LDFMAXAH
3248 UINT64_C(4242554880), // LDFMAXALD
3249 UINT64_C(2095071232), // LDFMAXALH
3250 UINT64_C(3168813056), // LDFMAXALS
3251 UINT64_C(3164618752), // LDFMAXAS
3252 UINT64_C(4229971968), // LDFMAXD
3253 UINT64_C(2082488320), // LDFMAXH
3254 UINT64_C(4234166272), // LDFMAXLD
3255 UINT64_C(2086682624), // LDFMAXLH
3256 UINT64_C(3160424448), // LDFMAXLS
3257 UINT64_C(4238368768), // LDFMAXNMAD
3258 UINT64_C(2090885120), // LDFMAXNMAH
3259 UINT64_C(4242563072), // LDFMAXNMALD
3260 UINT64_C(2095079424), // LDFMAXNMALH
3261 UINT64_C(3168821248), // LDFMAXNMALS
3262 UINT64_C(3164626944), // LDFMAXNMAS
3263 UINT64_C(4229980160), // LDFMAXNMD
3264 UINT64_C(2082496512), // LDFMAXNMH
3265 UINT64_C(4234174464), // LDFMAXNMLD
3266 UINT64_C(2086690816), // LDFMAXNMLH
3267 UINT64_C(3160432640), // LDFMAXNMLS
3268 UINT64_C(3156238336), // LDFMAXNMS
3269 UINT64_C(3156230144), // LDFMAXS
3270 UINT64_C(4238364672), // LDFMINAD
3271 UINT64_C(2090881024), // LDFMINAH
3272 UINT64_C(4242558976), // LDFMINALD
3273 UINT64_C(2095075328), // LDFMINALH
3274 UINT64_C(3168817152), // LDFMINALS
3275 UINT64_C(3164622848), // LDFMINAS
3276 UINT64_C(4229976064), // LDFMIND
3277 UINT64_C(2082492416), // LDFMINH
3278 UINT64_C(4234170368), // LDFMINLD
3279 UINT64_C(2086686720), // LDFMINLH
3280 UINT64_C(3160428544), // LDFMINLS
3281 UINT64_C(4238372864), // LDFMINNMAD
3282 UINT64_C(2090889216), // LDFMINNMAH
3283 UINT64_C(4242567168), // LDFMINNMALD
3284 UINT64_C(2095083520), // LDFMINNMALH
3285 UINT64_C(3168825344), // LDFMINNMALS
3286 UINT64_C(3164631040), // LDFMINNMAS
3287 UINT64_C(4229984256), // LDFMINNMD
3288 UINT64_C(2082500608), // LDFMINNMH
3289 UINT64_C(4234178560), // LDFMINNMLD
3290 UINT64_C(2086694912), // LDFMINNMLH
3291 UINT64_C(3160436736), // LDFMINNMLS
3292 UINT64_C(3156242432), // LDFMINNMS
3293 UINT64_C(3156234240), // LDFMINS
3294 UINT64_C(3646947328), // LDG
3295 UINT64_C(3655335936), // LDGM
3296 UINT64_C(2571114496), // LDIAPPW
3297 UINT64_C(2571110400), // LDIAPPWpost
3298 UINT64_C(3644856320), // LDIAPPX
3299 UINT64_C(3644852224), // LDIAPPXpost
3300 UINT64_C(148864000), // LDLARB
3301 UINT64_C(1222605824), // LDLARH
3302 UINT64_C(2296347648), // LDLARW
3303 UINT64_C(3370089472), // LDLARX
3304 UINT64_C(2758844416), // LDNF1B_D_IMM
3305 UINT64_C(2754650112), // LDNF1B_H_IMM
3306 UINT64_C(2752552960), // LDNF1B_IMM
3307 UINT64_C(2756747264), // LDNF1B_S_IMM
3308 UINT64_C(2784010240), // LDNF1D_IMM
3309 UINT64_C(2767233024), // LDNF1H_D_IMM
3310 UINT64_C(2763038720), // LDNF1H_IMM
3311 UINT64_C(2765135872), // LDNF1H_S_IMM
3312 UINT64_C(2777718784), // LDNF1SB_D_IMM
3313 UINT64_C(2781913088), // LDNF1SB_H_IMM
3314 UINT64_C(2779815936), // LDNF1SB_S_IMM
3315 UINT64_C(2769330176), // LDNF1SH_D_IMM
3316 UINT64_C(2771427328), // LDNF1SH_S_IMM
3317 UINT64_C(2760941568), // LDNF1SW_D_IMM
3318 UINT64_C(2775621632), // LDNF1W_D_IMM
3319 UINT64_C(2773524480), // LDNF1W_IMM
3320 UINT64_C(1816133632), // LDNPDi
3321 UINT64_C(2889875456), // LDNPQi
3322 UINT64_C(742391808), // LDNPSi
3323 UINT64_C(675282944), // LDNPWi
3324 UINT64_C(2822766592), // LDNPXi
3325 UINT64_C(2684354561), // LDNT1B_2Z
3326 UINT64_C(2688548865), // LDNT1B_2Z_IMM
3327 UINT64_C(2701131784), // LDNT1B_2Z_STRIDED
3328 UINT64_C(2705326088), // LDNT1B_2Z_STRIDED_IMM
3329 UINT64_C(2684387329), // LDNT1B_4Z
3330 UINT64_C(2688581633), // LDNT1B_4Z_IMM
3331 UINT64_C(2701164552), // LDNT1B_4Z_STRIDED
3332 UINT64_C(2705358856), // LDNT1B_4Z_STRIDED_IMM
3333 UINT64_C(2751520768), // LDNT1B_ZRI
3334 UINT64_C(2751512576), // LDNT1B_ZRR
3335 UINT64_C(3288383488), // LDNT1B_ZZR_D
3336 UINT64_C(2214633472), // LDNT1B_ZZR_S
3337 UINT64_C(2684379137), // LDNT1D_2Z
3338 UINT64_C(2688573441), // LDNT1D_2Z_IMM
3339 UINT64_C(2701156360), // LDNT1D_2Z_STRIDED
3340 UINT64_C(2705350664), // LDNT1D_2Z_STRIDED_IMM
3341 UINT64_C(2684411905), // LDNT1D_4Z
3342 UINT64_C(2688606209), // LDNT1D_4Z_IMM
3343 UINT64_C(2701189128), // LDNT1D_4Z_STRIDED
3344 UINT64_C(2705383432), // LDNT1D_4Z_STRIDED_IMM
3345 UINT64_C(2776686592), // LDNT1D_ZRI
3346 UINT64_C(2776678400), // LDNT1D_ZRR
3347 UINT64_C(3313549312), // LDNT1D_ZZR_D
3348 UINT64_C(2684362753), // LDNT1H_2Z
3349 UINT64_C(2688557057), // LDNT1H_2Z_IMM
3350 UINT64_C(2701139976), // LDNT1H_2Z_STRIDED
3351 UINT64_C(2705334280), // LDNT1H_2Z_STRIDED_IMM
3352 UINT64_C(2684395521), // LDNT1H_4Z
3353 UINT64_C(2688589825), // LDNT1H_4Z_IMM
3354 UINT64_C(2701172744), // LDNT1H_4Z_STRIDED
3355 UINT64_C(2705367048), // LDNT1H_4Z_STRIDED_IMM
3356 UINT64_C(2759909376), // LDNT1H_ZRI
3357 UINT64_C(2759901184), // LDNT1H_ZRR
3358 UINT64_C(3296772096), // LDNT1H_ZZR_D
3359 UINT64_C(2223022080), // LDNT1H_ZZR_S
3360 UINT64_C(3288367104), // LDNT1SB_ZZR_D
3361 UINT64_C(2214625280), // LDNT1SB_ZZR_S
3362 UINT64_C(3296755712), // LDNT1SH_ZZR_D
3363 UINT64_C(2223013888), // LDNT1SH_ZZR_S
3364 UINT64_C(3305144320), // LDNT1SW_ZZR_D
3365 UINT64_C(2684370945), // LDNT1W_2Z
3366 UINT64_C(2688565249), // LDNT1W_2Z_IMM
3367 UINT64_C(2701148168), // LDNT1W_2Z_STRIDED
3368 UINT64_C(2705342472), // LDNT1W_2Z_STRIDED_IMM
3369 UINT64_C(2684403713), // LDNT1W_4Z
3370 UINT64_C(2688598017), // LDNT1W_4Z_IMM
3371 UINT64_C(2701180936), // LDNT1W_4Z_STRIDED
3372 UINT64_C(2705375240), // LDNT1W_4Z_STRIDED_IMM
3373 UINT64_C(2768297984), // LDNT1W_ZRI
3374 UINT64_C(2768289792), // LDNT1W_ZRR
3375 UINT64_C(3305160704), // LDNT1W_ZZR_D
3376 UINT64_C(2231410688), // LDNT1W_ZZR_S
3377 UINT64_C(1832910848), // LDPDi
3378 UINT64_C(1824522240), // LDPDpost
3379 UINT64_C(1841299456), // LDPDpre
3380 UINT64_C(2906652672), // LDPQi
3381 UINT64_C(2898264064), // LDPQpost
3382 UINT64_C(2915041280), // LDPQpre
3383 UINT64_C(1765801984), // LDPSWi
3384 UINT64_C(1757413376), // LDPSWpost
3385 UINT64_C(1774190592), // LDPSWpre
3386 UINT64_C(759169024), // LDPSi
3387 UINT64_C(750780416), // LDPSpost
3388 UINT64_C(767557632), // LDPSpre
3389 UINT64_C(692060160), // LDPWi
3390 UINT64_C(683671552), // LDPWpost
3391 UINT64_C(700448768), // LDPWpre
3392 UINT64_C(2839543808), // LDPXi
3393 UINT64_C(2831155200), // LDPXpost
3394 UINT64_C(2847932416), // LDPXpre
3395 UINT64_C(4162847744), // LDRAAindexed
3396 UINT64_C(4162849792), // LDRAAwriteback
3397 UINT64_C(4171236352), // LDRABindexed
3398 UINT64_C(4171238400), // LDRABwriteback
3399 UINT64_C(943719424), // LDRBBpost
3400 UINT64_C(943721472), // LDRBBpre
3401 UINT64_C(945833984), // LDRBBroW
3402 UINT64_C(945842176), // LDRBBroX
3403 UINT64_C(960495616), // LDRBBui
3404 UINT64_C(1010828288), // LDRBpost
3405 UINT64_C(1010830336), // LDRBpre
3406 UINT64_C(1012942848), // LDRBroW
3407 UINT64_C(1012951040), // LDRBroX
3408 UINT64_C(1027604480), // LDRBui
3409 UINT64_C(1543503872), // LDRDl
3410 UINT64_C(4232053760), // LDRDpost
3411 UINT64_C(4232055808), // LDRDpre
3412 UINT64_C(4234168320), // LDRDroW
3413 UINT64_C(4234176512), // LDRDroX
3414 UINT64_C(4248829952), // LDRDui
3415 UINT64_C(2017461248), // LDRHHpost
3416 UINT64_C(2017463296), // LDRHHpre
3417 UINT64_C(2019575808), // LDRHHroW
3418 UINT64_C(2019584000), // LDRHHroX
3419 UINT64_C(2034237440), // LDRHHui
3420 UINT64_C(2084570112), // LDRHpost
3421 UINT64_C(2084572160), // LDRHpre
3422 UINT64_C(2086684672), // LDRHroW
3423 UINT64_C(2086692864), // LDRHroX
3424 UINT64_C(2101346304), // LDRHui
3425 UINT64_C(2617245696), // LDRQl
3426 UINT64_C(1019216896), // LDRQpost
3427 UINT64_C(1019218944), // LDRQpre
3428 UINT64_C(1021331456), // LDRQroW
3429 UINT64_C(1021339648), // LDRQroX
3430 UINT64_C(1035993088), // LDRQui
3431 UINT64_C(952108032), // LDRSBWpost
3432 UINT64_C(952110080), // LDRSBWpre
3433 UINT64_C(954222592), // LDRSBWroW
3434 UINT64_C(954230784), // LDRSBWroX
3435 UINT64_C(968884224), // LDRSBWui
3436 UINT64_C(947913728), // LDRSBXpost
3437 UINT64_C(947915776), // LDRSBXpre
3438 UINT64_C(950028288), // LDRSBXroW
3439 UINT64_C(950036480), // LDRSBXroX
3440 UINT64_C(964689920), // LDRSBXui
3441 UINT64_C(2025849856), // LDRSHWpost
3442 UINT64_C(2025851904), // LDRSHWpre
3443 UINT64_C(2027964416), // LDRSHWroW
3444 UINT64_C(2027972608), // LDRSHWroX
3445 UINT64_C(2042626048), // LDRSHWui
3446 UINT64_C(2021655552), // LDRSHXpost
3447 UINT64_C(2021657600), // LDRSHXpre
3448 UINT64_C(2023770112), // LDRSHXroW
3449 UINT64_C(2023778304), // LDRSHXroX
3450 UINT64_C(2038431744), // LDRSHXui
3451 UINT64_C(2550136832), // LDRSWl
3452 UINT64_C(3095397376), // LDRSWpost
3453 UINT64_C(3095399424), // LDRSWpre
3454 UINT64_C(3097511936), // LDRSWroW
3455 UINT64_C(3097520128), // LDRSWroX
3456 UINT64_C(3112173568), // LDRSWui
3457 UINT64_C(469762048), // LDRSl
3458 UINT64_C(3158311936), // LDRSpost
3459 UINT64_C(3158313984), // LDRSpre
3460 UINT64_C(3160426496), // LDRSroW
3461 UINT64_C(3160434688), // LDRSroX
3462 UINT64_C(3175088128), // LDRSui
3463 UINT64_C(402653184), // LDRWl
3464 UINT64_C(3091203072), // LDRWpost
3465 UINT64_C(3091205120), // LDRWpre
3466 UINT64_C(3093317632), // LDRWroW
3467 UINT64_C(3093325824), // LDRWroX
3468 UINT64_C(3107979264), // LDRWui
3469 UINT64_C(1476395008), // LDRXl
3470 UINT64_C(4164944896), // LDRXpost
3471 UINT64_C(4164946944), // LDRXpre
3472 UINT64_C(4167059456), // LDRXroW
3473 UINT64_C(4167067648), // LDRXroX
3474 UINT64_C(4181721088), // LDRXui
3475 UINT64_C(2239758336), // LDR_PXI
3476 UINT64_C(3776937984), // LDR_TX
3477 UINT64_C(3774873600), // LDR_ZA
3478 UINT64_C(2239774720), // LDR_ZXI
3479 UINT64_C(950022144), // LDSETAB
3480 UINT64_C(2023763968), // LDSETAH
3481 UINT64_C(954216448), // LDSETALB
3482 UINT64_C(2027958272), // LDSETALH
3483 UINT64_C(3101700096), // LDSETALW
3484 UINT64_C(4175441920), // LDSETALX
3485 UINT64_C(3097505792), // LDSETAW
3486 UINT64_C(4171247616), // LDSETAX
3487 UINT64_C(941633536), // LDSETB
3488 UINT64_C(2015375360), // LDSETH
3489 UINT64_C(945827840), // LDSETLB
3490 UINT64_C(2019569664), // LDSETLH
3491 UINT64_C(3093311488), // LDSETLW
3492 UINT64_C(4167053312), // LDSETLX
3493 UINT64_C(421539840), // LDSETP
3494 UINT64_C(429928448), // LDSETPA
3495 UINT64_C(434122752), // LDSETPAL
3496 UINT64_C(425734144), // LDSETPL
3497 UINT64_C(3089117184), // LDSETW
3498 UINT64_C(4162859008), // LDSETX
3499 UINT64_C(950026240), // LDSMAXAB
3500 UINT64_C(2023768064), // LDSMAXAH
3501 UINT64_C(954220544), // LDSMAXALB
3502 UINT64_C(2027962368), // LDSMAXALH
3503 UINT64_C(3101704192), // LDSMAXALW
3504 UINT64_C(4175446016), // LDSMAXALX
3505 UINT64_C(3097509888), // LDSMAXAW
3506 UINT64_C(4171251712), // LDSMAXAX
3507 UINT64_C(941637632), // LDSMAXB
3508 UINT64_C(2015379456), // LDSMAXH
3509 UINT64_C(945831936), // LDSMAXLB
3510 UINT64_C(2019573760), // LDSMAXLH
3511 UINT64_C(3093315584), // LDSMAXLW
3512 UINT64_C(4167057408), // LDSMAXLX
3513 UINT64_C(3089121280), // LDSMAXW
3514 UINT64_C(4162863104), // LDSMAXX
3515 UINT64_C(950030336), // LDSMINAB
3516 UINT64_C(2023772160), // LDSMINAH
3517 UINT64_C(954224640), // LDSMINALB
3518 UINT64_C(2027966464), // LDSMINALH
3519 UINT64_C(3101708288), // LDSMINALW
3520 UINT64_C(4175450112), // LDSMINALX
3521 UINT64_C(3097513984), // LDSMINAW
3522 UINT64_C(4171255808), // LDSMINAX
3523 UINT64_C(941641728), // LDSMINB
3524 UINT64_C(2015383552), // LDSMINH
3525 UINT64_C(945836032), // LDSMINLB
3526 UINT64_C(2019577856), // LDSMINLH
3527 UINT64_C(3093319680), // LDSMINLW
3528 UINT64_C(4167061504), // LDSMINLX
3529 UINT64_C(3089125376), // LDSMINW
3530 UINT64_C(4162867200), // LDSMINX
3531 UINT64_C(434111488), // LDTADDALW
3532 UINT64_C(1507853312), // LDTADDALX
3533 UINT64_C(429917184), // LDTADDAW
3534 UINT64_C(1503659008), // LDTADDAX
3535 UINT64_C(425722880), // LDTADDLW
3536 UINT64_C(1499464704), // LDTADDLX
3537 UINT64_C(421528576), // LDTADDW
3538 UINT64_C(1495270400), // LDTADDX
3539 UINT64_C(434115584), // LDTCLRALW
3540 UINT64_C(1507857408), // LDTCLRALX
3541 UINT64_C(429921280), // LDTCLRAW
3542 UINT64_C(1503663104), // LDTCLRAX
3543 UINT64_C(425726976), // LDTCLRLW
3544 UINT64_C(1499468800), // LDTCLRLX
3545 UINT64_C(421532672), // LDTCLRW
3546 UINT64_C(1495274496), // LDTCLRX
3547 UINT64_C(3963617280), // LDTNPQi
3548 UINT64_C(3896508416), // LDTNPXi
3549 UINT64_C(3980394496), // LDTPQi
3550 UINT64_C(3972005888), // LDTPQpost
3551 UINT64_C(3988783104), // LDTPQpre
3552 UINT64_C(3913285632), // LDTPi
3553 UINT64_C(3904897024), // LDTPpost
3554 UINT64_C(3921674240), // LDTPpre
3555 UINT64_C(943720448), // LDTRBi
3556 UINT64_C(2017462272), // LDTRHi
3557 UINT64_C(952109056), // LDTRSBWi
3558 UINT64_C(947914752), // LDTRSBXi
3559 UINT64_C(2025850880), // LDTRSHWi
3560 UINT64_C(2021656576), // LDTRSHXi
3561 UINT64_C(3095398400), // LDTRSWi
3562 UINT64_C(3091204096), // LDTRWi
3563 UINT64_C(4164945920), // LDTRXi
3564 UINT64_C(434123776), // LDTSETALW
3565 UINT64_C(1507865600), // LDTSETALX
3566 UINT64_C(429929472), // LDTSETAW
3567 UINT64_C(1503671296), // LDTSETAX
3568 UINT64_C(425735168), // LDTSETLW
3569 UINT64_C(1499476992), // LDTSETLX
3570 UINT64_C(421540864), // LDTSETW
3571 UINT64_C(1495282688), // LDTSETX
3572 UINT64_C(2304736256), // LDTXRWr
3573 UINT64_C(3378478080), // LDTXRXr
3574 UINT64_C(950034432), // LDUMAXAB
3575 UINT64_C(2023776256), // LDUMAXAH
3576 UINT64_C(954228736), // LDUMAXALB
3577 UINT64_C(2027970560), // LDUMAXALH
3578 UINT64_C(3101712384), // LDUMAXALW
3579 UINT64_C(4175454208), // LDUMAXALX
3580 UINT64_C(3097518080), // LDUMAXAW
3581 UINT64_C(4171259904), // LDUMAXAX
3582 UINT64_C(941645824), // LDUMAXB
3583 UINT64_C(2015387648), // LDUMAXH
3584 UINT64_C(945840128), // LDUMAXLB
3585 UINT64_C(2019581952), // LDUMAXLH
3586 UINT64_C(3093323776), // LDUMAXLW
3587 UINT64_C(4167065600), // LDUMAXLX
3588 UINT64_C(3089129472), // LDUMAXW
3589 UINT64_C(4162871296), // LDUMAXX
3590 UINT64_C(950038528), // LDUMINAB
3591 UINT64_C(2023780352), // LDUMINAH
3592 UINT64_C(954232832), // LDUMINALB
3593 UINT64_C(2027974656), // LDUMINALH
3594 UINT64_C(3101716480), // LDUMINALW
3595 UINT64_C(4175458304), // LDUMINALX
3596 UINT64_C(3097522176), // LDUMINAW
3597 UINT64_C(4171264000), // LDUMINAX
3598 UINT64_C(941649920), // LDUMINB
3599 UINT64_C(2015391744), // LDUMINH
3600 UINT64_C(945844224), // LDUMINLB
3601 UINT64_C(2019586048), // LDUMINLH
3602 UINT64_C(3093327872), // LDUMINLW
3603 UINT64_C(4167069696), // LDUMINLX
3604 UINT64_C(3089133568), // LDUMINW
3605 UINT64_C(4162875392), // LDUMINX
3606 UINT64_C(943718400), // LDURBBi
3607 UINT64_C(1010827264), // LDURBi
3608 UINT64_C(4232052736), // LDURDi
3609 UINT64_C(2017460224), // LDURHHi
3610 UINT64_C(2084569088), // LDURHi
3611 UINT64_C(1019215872), // LDURQi
3612 UINT64_C(952107008), // LDURSBWi
3613 UINT64_C(947912704), // LDURSBXi
3614 UINT64_C(2025848832), // LDURSHWi
3615 UINT64_C(2021654528), // LDURSHXi
3616 UINT64_C(3095396352), // LDURSWi
3617 UINT64_C(3158310912), // LDURSi
3618 UINT64_C(3091202048), // LDURWi
3619 UINT64_C(4164943872), // LDURXi
3620 UINT64_C(2290024448), // LDXPW
3621 UINT64_C(3363766272), // LDXPX
3622 UINT64_C(140475392), // LDXRB
3623 UINT64_C(1214217216), // LDXRH
3624 UINT64_C(2287959040), // LDXRW
3625 UINT64_C(3361700864), // LDXRX
3626 UINT64_C(68648960), // LSLR_ZPmZ_B
3627 UINT64_C(81231872), // LSLR_ZPmZ_D
3628 UINT64_C(72843264), // LSLR_ZPmZ_H
3629 UINT64_C(77037568), // LSLR_ZPmZ_S
3630 UINT64_C(448798720), // LSLVWr
3631 UINT64_C(2596282368), // LSLVXr
3632 UINT64_C(68911104), // LSL_WIDE_ZPmZ_B
3633 UINT64_C(73105408), // LSL_WIDE_ZPmZ_H
3634 UINT64_C(77299712), // LSL_WIDE_ZPmZ_S
3635 UINT64_C(69241856), // LSL_WIDE_ZZZ_B
3636 UINT64_C(73436160), // LSL_WIDE_ZZZ_H
3637 UINT64_C(77630464), // LSL_WIDE_ZZZ_S
3638 UINT64_C(67338496), // LSL_ZPmI_B
3639 UINT64_C(75726848), // LSL_ZPmI_D
3640 UINT64_C(67338752), // LSL_ZPmI_H
3641 UINT64_C(71532544), // LSL_ZPmI_S
3642 UINT64_C(68386816), // LSL_ZPmZ_B
3643 UINT64_C(80969728), // LSL_ZPmZ_D
3644 UINT64_C(72581120), // LSL_ZPmZ_H
3645 UINT64_C(76775424), // LSL_ZPmZ_S
3646 UINT64_C(69770240), // LSL_ZZI_B
3647 UINT64_C(77634560), // LSL_ZZI_D
3648 UINT64_C(70294528), // LSL_ZZI_H
3649 UINT64_C(73440256), // LSL_ZZI_S
3650 UINT64_C(68517888), // LSRR_ZPmZ_B
3651 UINT64_C(81100800), // LSRR_ZPmZ_D
3652 UINT64_C(72712192), // LSRR_ZPmZ_H
3653 UINT64_C(76906496), // LSRR_ZPmZ_S
3654 UINT64_C(448799744), // LSRVWr
3655 UINT64_C(2596283392), // LSRVXr
3656 UINT64_C(68780032), // LSR_WIDE_ZPmZ_B
3657 UINT64_C(72974336), // LSR_WIDE_ZPmZ_H
3658 UINT64_C(77168640), // LSR_WIDE_ZPmZ_S
3659 UINT64_C(69239808), // LSR_WIDE_ZZZ_B
3660 UINT64_C(73434112), // LSR_WIDE_ZZZ_H
3661 UINT64_C(77628416), // LSR_WIDE_ZZZ_S
3662 UINT64_C(67207424), // LSR_ZPmI_B
3663 UINT64_C(75595776), // LSR_ZPmI_D
3664 UINT64_C(67207680), // LSR_ZPmI_H
3665 UINT64_C(71401472), // LSR_ZPmI_S
3666 UINT64_C(68255744), // LSR_ZPmZ_B
3667 UINT64_C(80838656), // LSR_ZPmZ_D
3668 UINT64_C(72450048), // LSR_ZPmZ_H
3669 UINT64_C(76644352), // LSR_ZPmZ_S
3670 UINT64_C(69768192), // LSR_ZZI_B
3671 UINT64_C(77632512), // LSR_ZZI_D
3672 UINT64_C(70292480), // LSR_ZZI_H
3673 UINT64_C(73438208), // LSR_ZZI_S
3674 UINT64_C(1317015552), // LUT2_B
3675 UINT64_C(1321205760), // LUT2_H
3676 UINT64_C(1312825344), // LUT4_B
3677 UINT64_C(1312821248), // LUT4_H
3678 UINT64_C(3230416896), // LUTI2_2ZTZI_B
3679 UINT64_C(3230420992), // LUTI2_2ZTZI_H
3680 UINT64_C(3230425088), // LUTI2_2ZTZI_S
3681 UINT64_C(3230433280), // LUTI2_4ZTZI_B
3682 UINT64_C(3230437376), // LUTI2_4ZTZI_H
3683 UINT64_C(3230441472), // LUTI2_4ZTZI_S
3684 UINT64_C(3231465472), // LUTI2_S_2ZTZI_B
3685 UINT64_C(3231469568), // LUTI2_S_2ZTZI_H
3686 UINT64_C(3231481856), // LUTI2_S_4ZTZI_B
3687 UINT64_C(3231485952), // LUTI2_S_4ZTZI_H
3688 UINT64_C(3234594816), // LUTI2_ZTZI_B
3689 UINT64_C(3234598912), // LUTI2_ZTZI_H
3690 UINT64_C(3234603008), // LUTI2_ZTZI_S
3691 UINT64_C(1159770112), // LUTI2_ZZZI_B
3692 UINT64_C(1159768064), // LUTI2_ZZZI_H
3693 UINT64_C(3230285824), // LUTI4_2ZTZI_B
3694 UINT64_C(3230289920), // LUTI4_2ZTZI_H
3695 UINT64_C(3230294016), // LUTI4_2ZTZI_S
3696 UINT64_C(3230306304), // LUTI4_4ZTZI_H
3697 UINT64_C(3230310400), // LUTI4_4ZTZI_S
3698 UINT64_C(3230334976), // LUTI4_4ZZT2Z
3699 UINT64_C(3231334400), // LUTI4_S_2ZTZI_B
3700 UINT64_C(3231338496), // LUTI4_S_2ZTZI_H
3701 UINT64_C(3231354880), // LUTI4_S_4ZTZI_H
3702 UINT64_C(3231383552), // LUTI4_S_4ZZT2Z
3703 UINT64_C(1159771136), // LUTI4_Z2ZZI
3704 UINT64_C(3234463744), // LUTI4_ZTZI_B
3705 UINT64_C(3234467840), // LUTI4_ZTZI_H
3706 UINT64_C(3234471936), // LUTI4_ZTZI_S
3707 UINT64_C(1163961344), // LUTI4_ZZZI_B
3708 UINT64_C(1159773184), // LUTI4_ZZZI_H
3709 UINT64_C(3240162304), // LUTI6_4Z2Z2ZI
3710 UINT64_C(3230269440), // LUTI6_4ZT3Z
3711 UINT64_C(3240164352), // LUTI6_S_4Z2Z2ZI
3712 UINT64_C(3231318016), // LUTI6_S_4ZT3Z
3713 UINT64_C(1159769088), // LUTI6_Z2ZZ
3714 UINT64_C(1163963392), // LUTI6_Z2ZZI_H
3715 UINT64_C(3234349056), // LUTI6_ZTZ
3716 UINT64_C(2606759936), // MADDPT
3717 UINT64_C(452984832), // MADDWrrr
3718 UINT64_C(2600468480), // MADDXrrr
3719 UINT64_C(1153488896), // MAD_CPA
3720 UINT64_C(67158016), // MAD_ZPmZZ_B
3721 UINT64_C(79740928), // MAD_ZPmZZ_D
3722 UINT64_C(71352320), // MAD_ZPmZZ_H
3723 UINT64_C(75546624), // MAD_ZPmZZ_S
3724 UINT64_C(1159757824), // MATCH_PPzZZ_B
3725 UINT64_C(1163952128), // MATCH_PPzZZ_H
3726 UINT64_C(1153486848), // MLA_CPA
3727 UINT64_C(67125248), // MLA_ZPmZZ_B
3728 UINT64_C(79708160), // MLA_ZPmZZ_D
3729 UINT64_C(71319552), // MLA_ZPmZZ_H
3730 UINT64_C(75513856), // MLA_ZPmZZ_S
3731 UINT64_C(1155532800), // MLA_ZZZI_D
3732 UINT64_C(1142949888), // MLA_ZZZI_H
3733 UINT64_C(1151338496), // MLA_ZZZI_S
3734 UINT64_C(1310757888), // MLAv16i8
3735 UINT64_C(245404672), // MLAv2i32
3736 UINT64_C(796917760), // MLAv2i32_indexed
3737 UINT64_C(241210368), // MLAv4i16
3738 UINT64_C(792723456), // MLAv4i16_indexed
3739 UINT64_C(1319146496), // MLAv4i32
3740 UINT64_C(1870659584), // MLAv4i32_indexed
3741 UINT64_C(1314952192), // MLAv8i16
3742 UINT64_C(1866465280), // MLAv8i16_indexed
3743 UINT64_C(237016064), // MLAv8i8
3744 UINT64_C(67133440), // MLS_ZPmZZ_B
3745 UINT64_C(79716352), // MLS_ZPmZZ_D
3746 UINT64_C(71327744), // MLS_ZPmZZ_H
3747 UINT64_C(75522048), // MLS_ZPmZZ_S
3748 UINT64_C(1155533824), // MLS_ZZZI_D
3749 UINT64_C(1142950912), // MLS_ZZZI_H
3750 UINT64_C(1151339520), // MLS_ZZZI_S
3751 UINT64_C(1847628800), // MLSv16i8
3752 UINT64_C(782275584), // MLSv2i32
3753 UINT64_C(796934144), // MLSv2i32_indexed
3754 UINT64_C(778081280), // MLSv4i16
3755 UINT64_C(792739840), // MLSv4i16_indexed
3756 UINT64_C(1856017408), // MLSv4i32
3757 UINT64_C(1870675968), // MLSv4i32_indexed
3758 UINT64_C(1851823104), // MLSv8i16
3759 UINT64_C(1866481664), // MLSv8i16_indexed
3760 UINT64_C(773886976), // MLSv8i8
3761 UINT64_C(499155968), // MOPSSETGE
3762 UINT64_C(499164160), // MOPSSETGEN
3763 UINT64_C(499160064), // MOPSSETGET
3764 UINT64_C(499168256), // MOPSSETGETN
3765 UINT64_C(3221619200), // MOVAZ_2ZMI_H_B
3766 UINT64_C(3234202112), // MOVAZ_2ZMI_H_D
3767 UINT64_C(3225813504), // MOVAZ_2ZMI_H_H
3768 UINT64_C(3230007808), // MOVAZ_2ZMI_H_S
3769 UINT64_C(3221651968), // MOVAZ_2ZMI_V_B
3770 UINT64_C(3234234880), // MOVAZ_2ZMI_V_D
3771 UINT64_C(3225846272), // MOVAZ_2ZMI_V_H
3772 UINT64_C(3230040576), // MOVAZ_2ZMI_V_S
3773 UINT64_C(3221620224), // MOVAZ_4ZMI_H_B
3774 UINT64_C(3234203136), // MOVAZ_4ZMI_H_D
3775 UINT64_C(3225814528), // MOVAZ_4ZMI_H_H
3776 UINT64_C(3230008832), // MOVAZ_4ZMI_H_S
3777 UINT64_C(3221652992), // MOVAZ_4ZMI_V_B
3778 UINT64_C(3234235904), // MOVAZ_4ZMI_V_D
3779 UINT64_C(3225847296), // MOVAZ_4ZMI_V_H
3780 UINT64_C(3230041600), // MOVAZ_4ZMI_V_S
3781 UINT64_C(3221621248), // MOVAZ_VG2_2ZMXI
3782 UINT64_C(3221622272), // MOVAZ_VG4_4ZMXI
3783 UINT64_C(3221357056), // MOVAZ_ZMI_H_B
3784 UINT64_C(3233939968), // MOVAZ_ZMI_H_D
3785 UINT64_C(3225551360), // MOVAZ_ZMI_H_H
3786 UINT64_C(3234005504), // MOVAZ_ZMI_H_Q
3787 UINT64_C(3229745664), // MOVAZ_ZMI_H_S
3788 UINT64_C(3221389824), // MOVAZ_ZMI_V_B
3789 UINT64_C(3233972736), // MOVAZ_ZMI_V_D
3790 UINT64_C(3225584128), // MOVAZ_ZMI_V_H
3791 UINT64_C(3234038272), // MOVAZ_ZMI_V_Q
3792 UINT64_C(3229778432), // MOVAZ_ZMI_V_S
3793 UINT64_C(3221618688), // MOVA_2ZMXI_H_B
3794 UINT64_C(3234201600), // MOVA_2ZMXI_H_D
3795 UINT64_C(3225812992), // MOVA_2ZMXI_H_H
3796 UINT64_C(3230007296), // MOVA_2ZMXI_H_S
3797 UINT64_C(3221651456), // MOVA_2ZMXI_V_B
3798 UINT64_C(3234234368), // MOVA_2ZMXI_V_D
3799 UINT64_C(3225845760), // MOVA_2ZMXI_V_H
3800 UINT64_C(3230040064), // MOVA_2ZMXI_V_S
3801 UINT64_C(3221619712), // MOVA_4ZMXI_H_B
3802 UINT64_C(3234202624), // MOVA_4ZMXI_H_D
3803 UINT64_C(3225814016), // MOVA_4ZMXI_H_H
3804 UINT64_C(3230008320), // MOVA_4ZMXI_H_S
3805 UINT64_C(3221652480), // MOVA_4ZMXI_V_B
3806 UINT64_C(3234235392), // MOVA_4ZMXI_V_D
3807 UINT64_C(3225846784), // MOVA_4ZMXI_V_H
3808 UINT64_C(3230041088), // MOVA_4ZMXI_V_S
3809 UINT64_C(3221487616), // MOVA_MXI2Z_H_B
3810 UINT64_C(3234070528), // MOVA_MXI2Z_H_D
3811 UINT64_C(3225681920), // MOVA_MXI2Z_H_H
3812 UINT64_C(3229876224), // MOVA_MXI2Z_H_S
3813 UINT64_C(3221520384), // MOVA_MXI2Z_V_B
3814 UINT64_C(3234103296), // MOVA_MXI2Z_V_D
3815 UINT64_C(3225714688), // MOVA_MXI2Z_V_H
3816 UINT64_C(3229908992), // MOVA_MXI2Z_V_S
3817 UINT64_C(3221488640), // MOVA_MXI4Z_H_B
3818 UINT64_C(3234071552), // MOVA_MXI4Z_H_D
3819 UINT64_C(3225682944), // MOVA_MXI4Z_H_H
3820 UINT64_C(3229877248), // MOVA_MXI4Z_H_S
3821 UINT64_C(3221521408), // MOVA_MXI4Z_V_B
3822 UINT64_C(3234104320), // MOVA_MXI4Z_V_D
3823 UINT64_C(3225715712), // MOVA_MXI4Z_V_H
3824 UINT64_C(3229910016), // MOVA_MXI4Z_V_S
3825 UINT64_C(3221620736), // MOVA_VG2_2ZMXI
3826 UINT64_C(3221489664), // MOVA_VG2_MXI2Z
3827 UINT64_C(3221621760), // MOVA_VG4_4ZMXI
3828 UINT64_C(3221490688), // MOVA_VG4_MXI4Z
3829 UINT64_C(788587520), // MOVID
3830 UINT64_C(1325458432), // MOVIv16b_ns
3831 UINT64_C(1862329344), // MOVIv2d_ns
3832 UINT64_C(251659264), // MOVIv2i32
3833 UINT64_C(251708416), // MOVIv2s_msl
3834 UINT64_C(251692032), // MOVIv4i16
3835 UINT64_C(1325401088), // MOVIv4i32
3836 UINT64_C(1325450240), // MOVIv4s_msl
3837 UINT64_C(251716608), // MOVIv8b_ns
3838 UINT64_C(1325433856), // MOVIv8i16
3839 UINT64_C(1920991232), // MOVKWi
3840 UINT64_C(4068474880), // MOVKXi
3841 UINT64_C(310378496), // MOVNWi
3842 UINT64_C(2457862144), // MOVNXi
3843 UINT64_C(68231168), // MOVPRFX_ZPmZ_B
3844 UINT64_C(80814080), // MOVPRFX_ZPmZ_D
3845 UINT64_C(72425472), // MOVPRFX_ZPmZ_H
3846 UINT64_C(76619776), // MOVPRFX_ZPmZ_S
3847 UINT64_C(68165632), // MOVPRFX_ZPzZ_B
3848 UINT64_C(80748544), // MOVPRFX_ZPzZ_D
3849 UINT64_C(72359936), // MOVPRFX_ZPzZ_H
3850 UINT64_C(76554240), // MOVPRFX_ZPzZ_S
3851 UINT64_C(69254144), // MOVPRFX_ZZ
3852 UINT64_C(3226338272), // MOVT_TIX
3853 UINT64_C(3226403808), // MOVT_TIZ
3854 UINT64_C(3226207200), // MOVT_XTI
3855 UINT64_C(1384120320), // MOVZWi
3856 UINT64_C(3531603968), // MOVZXi
3857 UINT64_C(3579838464), // MRRS
3858 UINT64_C(3575644160), // MRS
3859 UINT64_C(67166208), // MSB_ZPmZZ_B
3860 UINT64_C(79749120), // MSB_ZPmZZ_D
3861 UINT64_C(71360512), // MSB_ZPmZZ_H
3862 UINT64_C(75554816), // MSB_ZPmZZ_S
3863 UINT64_C(3573547008), // MSR
3864 UINT64_C(3577741312), // MSRR
3865 UINT64_C(3573563423), // MSRpstateImm1
3866 UINT64_C(3573563423), // MSRpstateImm4
3867 UINT64_C(3573760127), // MSRpstatesvcrImm1
3868 UINT64_C(2606792704), // MSUBPT
3869 UINT64_C(453017600), // MSUBWrrr
3870 UINT64_C(2600501248), // MSUBXrrr
3871 UINT64_C(623951872), // MUL_ZI_B
3872 UINT64_C(636534784), // MUL_ZI_D
3873 UINT64_C(628146176), // MUL_ZI_H
3874 UINT64_C(632340480), // MUL_ZI_S
3875 UINT64_C(68157440), // MUL_ZPmZ_B
3876 UINT64_C(80740352), // MUL_ZPmZ_D
3877 UINT64_C(72351744), // MUL_ZPmZ_H
3878 UINT64_C(76546048), // MUL_ZPmZ_S
3879 UINT64_C(1155594240), // MUL_ZZZI_D
3880 UINT64_C(1143011328), // MUL_ZZZI_H
3881 UINT64_C(1151399936), // MUL_ZZZI_S
3882 UINT64_C(69230592), // MUL_ZZZ_B
3883 UINT64_C(81813504), // MUL_ZZZ_D
3884 UINT64_C(73424896), // MUL_ZZZ_H
3885 UINT64_C(77619200), // MUL_ZZZ_S
3886 UINT64_C(1310759936), // MULv16i8
3887 UINT64_C(245406720), // MULv2i32
3888 UINT64_C(260079616), // MULv2i32_indexed
3889 UINT64_C(241212416), // MULv4i16
3890 UINT64_C(255885312), // MULv4i16_indexed
3891 UINT64_C(1319148544), // MULv4i32
3892 UINT64_C(1333821440), // MULv4i32_indexed
3893 UINT64_C(1314954240), // MULv8i16
3894 UINT64_C(1329627136), // MULv8i16_indexed
3895 UINT64_C(237018112), // MULv8i8
3896 UINT64_C(788530176), // MVNIv2i32
3897 UINT64_C(788579328), // MVNIv2s_msl
3898 UINT64_C(788562944), // MVNIv4i16
3899 UINT64_C(1862272000), // MVNIv4i32
3900 UINT64_C(1862321152), // MVNIv4s_msl
3901 UINT64_C(1862304768), // MVNIv8i16
3902 UINT64_C(633356816), // NANDS_PPzPP
3903 UINT64_C(629162512), // NAND_PPzPP
3904 UINT64_C(81804288), // NBSL_ZZZZ
3905 UINT64_C(68657152), // NEG_ZPmZ_B
3906 UINT64_C(81240064), // NEG_ZPmZ_D
3907 UINT64_C(72851456), // NEG_ZPmZ_H
3908 UINT64_C(77045760), // NEG_ZPmZ_S
3909 UINT64_C(67608576), // NEG_ZPzZ_B
3910 UINT64_C(80191488), // NEG_ZPzZ_D
3911 UINT64_C(71802880), // NEG_ZPzZ_H
3912 UINT64_C(75997184), // NEG_ZPzZ_S
3913 UINT64_C(1847638016), // NEGv16i8
3914 UINT64_C(2128656384), // NEGv1i64
3915 UINT64_C(782284800), // NEGv2i32
3916 UINT64_C(1860220928), // NEGv2i64
3917 UINT64_C(778090496), // NEGv4i16
3918 UINT64_C(1856026624), // NEGv4i32
3919 UINT64_C(1851832320), // NEGv8i16
3920 UINT64_C(773896192), // NEGv8i8
3921 UINT64_C(1159757840), // NMATCH_PPzZZ_B
3922 UINT64_C(1163952144), // NMATCH_PPzZZ_H
3923 UINT64_C(3573751839), // NOP
3924 UINT64_C(633356800), // NORS_PPzPP
3925 UINT64_C(629162496), // NOR_PPzPP
3926 UINT64_C(69115904), // NOT_ZPmZ_B
3927 UINT64_C(81698816), // NOT_ZPmZ_D
3928 UINT64_C(73310208), // NOT_ZPmZ_H
3929 UINT64_C(77504512), // NOT_ZPmZ_S
3930 UINT64_C(68067328), // NOT_ZPzZ_B
3931 UINT64_C(80650240), // NOT_ZPzZ_D
3932 UINT64_C(72261632), // NOT_ZPzZ_H
3933 UINT64_C(76455936), // NOT_ZPzZ_S
3934 UINT64_C(1847613440), // NOTv16i8
3935 UINT64_C(773871616), // NOTv8i8
3936 UINT64_C(633356304), // ORNS_PPzPP
3937 UINT64_C(706740224), // ORNWrs
3938 UINT64_C(2854223872), // ORNXrs
3939 UINT64_C(629162000), // ORN_PPzPP
3940 UINT64_C(1323310080), // ORNv16i8
3941 UINT64_C(249568256), // ORNv8i8
3942 UINT64_C(68952064), // ORQV_VPZ_B
3943 UINT64_C(81534976), // ORQV_VPZ_D
3944 UINT64_C(73146368), // ORQV_VPZ_H
3945 UINT64_C(77340672), // ORQV_VPZ_S
3946 UINT64_C(633356288), // ORRS_PPzPP
3947 UINT64_C(838860800), // ORRWri
3948 UINT64_C(704643072), // ORRWrs
3949 UINT64_C(2986344448), // ORRXri
3950 UINT64_C(2852126720), // ORRXrs
3951 UINT64_C(629161984), // ORR_PPzPP
3952 UINT64_C(83886080), // ORR_ZI
3953 UINT64_C(68681728), // ORR_ZPmZ_B
3954 UINT64_C(81264640), // ORR_ZPmZ_D
3955 UINT64_C(72876032), // ORR_ZPmZ_H
3956 UINT64_C(77070336), // ORR_ZPmZ_S
3957 UINT64_C(73412608), // ORR_ZZZ
3958 UINT64_C(1319115776), // ORRv16i8
3959 UINT64_C(251663360), // ORRv2i32
3960 UINT64_C(251696128), // ORRv4i16
3961 UINT64_C(1325405184), // ORRv4i32
3962 UINT64_C(1325437952), // ORRv8i16
3963 UINT64_C(245373952), // ORRv8i8
3964 UINT64_C(68689920), // ORV_VPZ_B
3965 UINT64_C(81272832), // ORV_VPZ_D
3966 UINT64_C(72884224), // ORV_VPZ_H
3967 UINT64_C(77078528), // ORV_VPZ_S
3968 UINT64_C(3670083584), // PACDA
3969 UINT64_C(3670084608), // PACDB
3970 UINT64_C(3670092768), // PACDZA
3971 UINT64_C(3670093792), // PACDZB
3972 UINT64_C(2596286464), // PACGA
3973 UINT64_C(3670081536), // PACIA
3974 UINT64_C(3573752095), // PACIA1716
3975 UINT64_C(3670117374), // PACIA171615
3976 UINT64_C(3573752639), // PACIASP
3977 UINT64_C(3670123518), // PACIASPPC
3978 UINT64_C(3573752607), // PACIAZ
3979 UINT64_C(3670082560), // PACIB
3980 UINT64_C(3573752159), // PACIB1716
3981 UINT64_C(3670118398), // PACIB171615
3982 UINT64_C(3573752703), // PACIBSP
3983 UINT64_C(3670124542), // PACIBSPPC
3984 UINT64_C(3573752671), // PACIBZ
3985 UINT64_C(3670090720), // PACIZA
3986 UINT64_C(3670091744), // PACIZB
3987 UINT64_C(3573753087), // PACM
3988 UINT64_C(3670115326), // PACNBIASPPC
3989 UINT64_C(3670116350), // PACNBIBSPPC
3990 UINT64_C(622883856), // PEXT_2PCI_B
3991 UINT64_C(635466768), // PEXT_2PCI_D
3992 UINT64_C(627078160), // PEXT_2PCI_H
3993 UINT64_C(631272464), // PEXT_2PCI_S
3994 UINT64_C(622882832), // PEXT_PCI_B
3995 UINT64_C(635465744), // PEXT_PCI_D
3996 UINT64_C(627077136), // PEXT_PCI_H
3997 UINT64_C(631271440), // PEXT_PCI_S
3998 UINT64_C(622388224), // PFALSE
3999 UINT64_C(626573312), // PFIRST_B
4000 UINT64_C(1159789568), // PMLAL_2ZZZ_Q
4001 UINT64_C(86652928), // PMOV_PZI_B
4002 UINT64_C(94910464), // PMOV_PZI_D
4003 UINT64_C(86784000), // PMOV_PZI_H
4004 UINT64_C(90716160), // PMOV_PZI_S
4005 UINT64_C(86718464), // PMOV_ZIP_B
4006 UINT64_C(94976000), // PMOV_ZIP_D
4007 UINT64_C(86849536), // PMOV_ZIP_H
4008 UINT64_C(90781696), // PMOV_ZIP_S
4009 UINT64_C(1170237440), // PMULLB_ZZZ_D
4010 UINT64_C(1161848832), // PMULLB_ZZZ_H
4011 UINT64_C(1157654528), // PMULLB_ZZZ_Q
4012 UINT64_C(1170238464), // PMULLT_ZZZ_D
4013 UINT64_C(1161849856), // PMULLT_ZZZ_H
4014 UINT64_C(1157655552), // PMULLT_ZZZ_Q
4015 UINT64_C(1159788544), // PMULL_2ZZZ_Q
4016 UINT64_C(1310777344), // PMULLv16i8
4017 UINT64_C(249618432), // PMULLv1i64
4018 UINT64_C(1323360256), // PMULLv2i64
4019 UINT64_C(237035520), // PMULLv8i8
4020 UINT64_C(69231616), // PMUL_ZZZ_B
4021 UINT64_C(1847630848), // PMULv16i8
4022 UINT64_C(773889024), // PMULv8i8
4023 UINT64_C(622445568), // PNEXT_B
4024 UINT64_C(635028480), // PNEXT_D
4025 UINT64_C(626639872), // PNEXT_H
4026 UINT64_C(630834176), // PNEXT_S
4027 UINT64_C(3288391680), // PRFB_D_PZI
4028 UINT64_C(3294658560), // PRFB_D_SCALED
4029 UINT64_C(3294625792), // PRFB_D_SXTW_SCALED
4030 UINT64_C(3290431488), // PRFB_D_UXTW_SCALED
4031 UINT64_C(2243952640), // PRFB_PRI
4032 UINT64_C(2214641664), // PRFB_PRR
4033 UINT64_C(2214649856), // PRFB_S_PZI
4034 UINT64_C(2220883968), // PRFB_S_SXTW_SCALED
4035 UINT64_C(2216689664), // PRFB_S_UXTW_SCALED
4036 UINT64_C(3313557504), // PRFD_D_PZI
4037 UINT64_C(3294683136), // PRFD_D_SCALED
4038 UINT64_C(3294650368), // PRFD_D_SXTW_SCALED
4039 UINT64_C(3290456064), // PRFD_D_UXTW_SCALED
4040 UINT64_C(2243977216), // PRFD_PRI
4041 UINT64_C(2239807488), // PRFD_PRR
4042 UINT64_C(2239815680), // PRFD_S_PZI
4043 UINT64_C(2220908544), // PRFD_S_SXTW_SCALED
4044 UINT64_C(2216714240), // PRFD_S_UXTW_SCALED
4045 UINT64_C(3296780288), // PRFH_D_PZI
4046 UINT64_C(3294666752), // PRFH_D_SCALED
4047 UINT64_C(3294633984), // PRFH_D_SXTW_SCALED
4048 UINT64_C(3290439680), // PRFH_D_UXTW_SCALED
4049 UINT64_C(2243960832), // PRFH_PRI
4050 UINT64_C(2223030272), // PRFH_PRR
4051 UINT64_C(2223038464), // PRFH_S_PZI
4052 UINT64_C(2220892160), // PRFH_S_SXTW_SCALED
4053 UINT64_C(2216697856), // PRFH_S_UXTW_SCALED
4054 UINT64_C(3623878656), // PRFMl
4055 UINT64_C(4171253760), // PRFMroW
4056 UINT64_C(4171261952), // PRFMroX
4057 UINT64_C(4185915392), // PRFMui
4058 UINT64_C(4169138176), // PRFUMi
4059 UINT64_C(3305168896), // PRFW_D_PZI
4060 UINT64_C(3294674944), // PRFW_D_SCALED
4061 UINT64_C(3294642176), // PRFW_D_SXTW_SCALED
4062 UINT64_C(3290447872), // PRFW_D_UXTW_SCALED
4063 UINT64_C(2243969024), // PRFW_PRI
4064 UINT64_C(2231418880), // PRFW_PRR
4065 UINT64_C(2231427072), // PRFW_S_PZI
4066 UINT64_C(2220900352), // PRFW_S_SXTW_SCALED
4067 UINT64_C(2216706048), // PRFW_S_UXTW_SCALED
4068 UINT64_C(623132672), // PSEL_PPPRI_B
4069 UINT64_C(627064832), // PSEL_PPPRI_D
4070 UINT64_C(623394816), // PSEL_PPPRI_H
4071 UINT64_C(623919104), // PSEL_PPPRI_S
4072 UINT64_C(626049024), // PTEST_PP
4073 UINT64_C(622452736), // PTRUES_B
4074 UINT64_C(635035648), // PTRUES_D
4075 UINT64_C(626647040), // PTRUES_H
4076 UINT64_C(630841344), // PTRUES_S
4077 UINT64_C(622387200), // PTRUE_B
4078 UINT64_C(622884880), // PTRUE_C_B
4079 UINT64_C(635467792), // PTRUE_C_D
4080 UINT64_C(627079184), // PTRUE_C_H
4081 UINT64_C(631273488), // PTRUE_C_S
4082 UINT64_C(634970112), // PTRUE_D
4083 UINT64_C(626581504), // PTRUE_H
4084 UINT64_C(630775808), // PTRUE_S
4085 UINT64_C(87113728), // PUNPKHI_PP
4086 UINT64_C(87048192), // PUNPKLO_PP
4087 UINT64_C(1163945984), // RADDHNB_ZZZ_B
4088 UINT64_C(1168140288), // RADDHNB_ZZZ_H
4089 UINT64_C(1172334592), // RADDHNB_ZZZ_S
4090 UINT64_C(1163947008), // RADDHNT_ZZZ_B
4091 UINT64_C(1168141312), // RADDHNT_ZZZ_H
4092 UINT64_C(1172335616), // RADDHNT_ZZZ_S
4093 UINT64_C(782254080), // RADDHNv2i64_v2i32
4094 UINT64_C(1855995904), // RADDHNv2i64_v4i32
4095 UINT64_C(778059776), // RADDHNv4i32_v4i16
4096 UINT64_C(1851801600), // RADDHNv4i32_v8i16
4097 UINT64_C(1847607296), // RADDHNv8i16_v16i8
4098 UINT64_C(773865472), // RADDHNv8i16_v8i8
4099 UINT64_C(3462433792), // RAX1
4100 UINT64_C(1159787520), // RAX1_ZZZ_D
4101 UINT64_C(1522532352), // RBITWr
4102 UINT64_C(3670016000), // RBITXr
4103 UINT64_C(86474752), // RBIT_ZPmZ_B
4104 UINT64_C(99057664), // RBIT_ZPmZ_D
4105 UINT64_C(90669056), // RBIT_ZPmZ_H
4106 UINT64_C(94863360), // RBIT_ZPmZ_S
4107 UINT64_C(86482944), // RBIT_ZPzZ_B
4108 UINT64_C(99065856), // RBIT_ZPzZ_D
4109 UINT64_C(90677248), // RBIT_ZPzZ_H
4110 UINT64_C(94871552), // RBIT_ZPzZ_S
4111 UINT64_C(1851807744), // RBITv16i8
4112 UINT64_C(778065920), // RBITv8i8
4113 UINT64_C(421529600), // RCWCAS
4114 UINT64_C(429918208), // RCWCASA
4115 UINT64_C(434112512), // RCWCASAL
4116 UINT64_C(425723904), // RCWCASL
4117 UINT64_C(421530624), // RCWCASP
4118 UINT64_C(429919232), // RCWCASPA
4119 UINT64_C(434113536), // RCWCASPAL
4120 UINT64_C(425724928), // RCWCASPL
4121 UINT64_C(941658112), // RCWCLR
4122 UINT64_C(950046720), // RCWCLRA
4123 UINT64_C(954241024), // RCWCLRAL
4124 UINT64_C(945852416), // RCWCLRL
4125 UINT64_C(421564416), // RCWCLRP
4126 UINT64_C(429953024), // RCWCLRPA
4127 UINT64_C(434147328), // RCWCLRPAL
4128 UINT64_C(425758720), // RCWCLRPL
4129 UINT64_C(2015399936), // RCWCLRS
4130 UINT64_C(2023788544), // RCWCLRSA
4131 UINT64_C(2027982848), // RCWCLRSAL
4132 UINT64_C(2019594240), // RCWCLRSL
4133 UINT64_C(1495306240), // RCWCLRSP
4134 UINT64_C(1503694848), // RCWCLRSPA
4135 UINT64_C(1507889152), // RCWCLRSPAL
4136 UINT64_C(1499500544), // RCWCLRSPL
4137 UINT64_C(1495271424), // RCWSCAS
4138 UINT64_C(1503660032), // RCWSCASA
4139 UINT64_C(1507854336), // RCWSCASAL
4140 UINT64_C(1499465728), // RCWSCASL
4141 UINT64_C(1495272448), // RCWSCASP
4142 UINT64_C(1503661056), // RCWSCASPA
4143 UINT64_C(1507855360), // RCWSCASPAL
4144 UINT64_C(1499466752), // RCWSCASPL
4145 UINT64_C(941666304), // RCWSET
4146 UINT64_C(950054912), // RCWSETA
4147 UINT64_C(954249216), // RCWSETAL
4148 UINT64_C(945860608), // RCWSETL
4149 UINT64_C(421572608), // RCWSETP
4150 UINT64_C(429961216), // RCWSETPA
4151 UINT64_C(434155520), // RCWSETPAL
4152 UINT64_C(425766912), // RCWSETPL
4153 UINT64_C(2015408128), // RCWSETS
4154 UINT64_C(2023796736), // RCWSETSA
4155 UINT64_C(2027991040), // RCWSETSAL
4156 UINT64_C(2019602432), // RCWSETSL
4157 UINT64_C(1495314432), // RCWSETSP
4158 UINT64_C(1503703040), // RCWSETSPA
4159 UINT64_C(1507897344), // RCWSETSPAL
4160 UINT64_C(1499508736), // RCWSETSPL
4161 UINT64_C(941662208), // RCWSWP
4162 UINT64_C(950050816), // RCWSWPA
4163 UINT64_C(954245120), // RCWSWPAL
4164 UINT64_C(945856512), // RCWSWPL
4165 UINT64_C(421568512), // RCWSWPP
4166 UINT64_C(429957120), // RCWSWPPA
4167 UINT64_C(434151424), // RCWSWPPAL
4168 UINT64_C(425762816), // RCWSWPPL
4169 UINT64_C(2015404032), // RCWSWPS
4170 UINT64_C(2023792640), // RCWSWPSA
4171 UINT64_C(2027986944), // RCWSWPSAL
4172 UINT64_C(2019598336), // RCWSWPSL
4173 UINT64_C(1495310336), // RCWSWPSP
4174 UINT64_C(1503698944), // RCWSWPSPA
4175 UINT64_C(1507893248), // RCWSWPSPAL
4176 UINT64_C(1499504640), // RCWSWPSPL
4177 UINT64_C(626585600), // RDFFRS_PPz
4178 UINT64_C(622456832), // RDFFR_P
4179 UINT64_C(622391296), // RDFFR_PPz
4180 UINT64_C(79648768), // RDSVLI_XI
4181 UINT64_C(79646720), // RDVLI_XI
4182 UINT64_C(3596550144), // RET
4183 UINT64_C(3596553215), // RETAA
4184 UINT64_C(1426063391), // RETAASPPCi
4185 UINT64_C(3596553184), // RETAASPPCr
4186 UINT64_C(3596554239), // RETAB
4187 UINT64_C(1428160543), // RETABSPPCi
4188 UINT64_C(3596554208), // RETABSPPCr
4189 UINT64_C(1522533376), // REV16Wr
4190 UINT64_C(3670017024), // REV16Xr
4191 UINT64_C(1310726144), // REV16v16i8
4192 UINT64_C(236984320), // REV16v8i8
4193 UINT64_C(3670018048), // REV32Xr
4194 UINT64_C(1847592960), // REV32v16i8
4195 UINT64_C(778045440), // REV32v4i16
4196 UINT64_C(1851787264), // REV32v8i16
4197 UINT64_C(773851136), // REV32v8i8
4198 UINT64_C(1310722048), // REV64v16i8
4199 UINT64_C(245368832), // REV64v2i32
4200 UINT64_C(241174528), // REV64v4i16
4201 UINT64_C(1319110656), // REV64v4i32
4202 UINT64_C(1314916352), // REV64v8i16
4203 UINT64_C(236980224), // REV64v8i8
4204 UINT64_C(98861056), // REVB_ZPmZ_D
4205 UINT64_C(90472448), // REVB_ZPmZ_H
4206 UINT64_C(94666752), // REVB_ZPmZ_S
4207 UINT64_C(98869248), // REVB_ZPzZ_D
4208 UINT64_C(90480640), // REVB_ZPzZ_H
4209 UINT64_C(94674944), // REVB_ZPzZ_S
4210 UINT64_C(86933504), // REVD_ZPmZ
4211 UINT64_C(86941696), // REVD_ZPzZ
4212 UINT64_C(98926592), // REVH_ZPmZ_D
4213 UINT64_C(94732288), // REVH_ZPmZ_S
4214 UINT64_C(98934784), // REVH_ZPzZ_D
4215 UINT64_C(94740480), // REVH_ZPzZ_S
4216 UINT64_C(98992128), // REVW_ZPmZ_D
4217 UINT64_C(99000320), // REVW_ZPzZ_D
4218 UINT64_C(1522534400), // REVWr
4219 UINT64_C(3670019072), // REVXr
4220 UINT64_C(87310336), // REV_PP_B
4221 UINT64_C(99893248), // REV_PP_D
4222 UINT64_C(91504640), // REV_PP_H
4223 UINT64_C(95698944), // REV_PP_S
4224 UINT64_C(87570432), // REV_ZZ_B
4225 UINT64_C(100153344), // REV_ZZ_D
4226 UINT64_C(91764736), // REV_ZZ_H
4227 UINT64_C(95959040), // REV_ZZ_S
4228 UINT64_C(3120563200), // RMIF
4229 UINT64_C(448801792), // RORVWr
4230 UINT64_C(2596285440), // RORVXr
4231 UINT64_C(4171253784), // RPRFM
4232 UINT64_C(1160255488), // RSHRNB_ZZI_B
4233 UINT64_C(1160779776), // RSHRNB_ZZI_H
4234 UINT64_C(1163925504), // RSHRNB_ZZI_S
4235 UINT64_C(1160256512), // RSHRNT_ZZI_B
4236 UINT64_C(1160780800), // RSHRNT_ZZI_H
4237 UINT64_C(1163926528), // RSHRNT_ZZI_S
4238 UINT64_C(1325960192), // RSHRNv16i8_shift
4239 UINT64_C(253791232), // RSHRNv2i32_shift
4240 UINT64_C(252742656), // RSHRNv4i16_shift
4241 UINT64_C(1327533056), // RSHRNv4i32_shift
4242 UINT64_C(1326484480), // RSHRNv8i16_shift
4243 UINT64_C(252218368), // RSHRNv8i8_shift
4244 UINT64_C(1163950080), // RSUBHNB_ZZZ_B
4245 UINT64_C(1168144384), // RSUBHNB_ZZZ_H
4246 UINT64_C(1172338688), // RSUBHNB_ZZZ_S
4247 UINT64_C(1163951104), // RSUBHNT_ZZZ_B
4248 UINT64_C(1168145408), // RSUBHNT_ZZZ_H
4249 UINT64_C(1172339712), // RSUBHNT_ZZZ_S
4250 UINT64_C(782262272), // RSUBHNv2i64_v2i32
4251 UINT64_C(1856004096), // RSUBHNv2i64_v4i32
4252 UINT64_C(778067968), // RSUBHNv4i32_v4i16
4253 UINT64_C(1851809792), // RSUBHNv4i32_v8i16
4254 UINT64_C(1847615488), // RSUBHNv8i16_v16i8
4255 UINT64_C(773873664), // RSUBHNv8i16_v8i8
4256 UINT64_C(1170259968), // SABALB_ZZZ_D
4257 UINT64_C(1161871360), // SABALB_ZZZ_H
4258 UINT64_C(1166065664), // SABALB_ZZZ_S
4259 UINT64_C(1170260992), // SABALT_ZZZ_D
4260 UINT64_C(1161872384), // SABALT_ZZZ_H
4261 UINT64_C(1166066688), // SABALT_ZZZ_S
4262 UINT64_C(1145099264), // SABAL_ZZZ_BtoH
4263 UINT64_C(1149293568), // SABAL_ZZZ_HtoS
4264 UINT64_C(1153487872), // SABAL_ZZZ_StoD
4265 UINT64_C(1310740480), // SABALv16i8_v8i16
4266 UINT64_C(245387264), // SABALv2i32_v2i64
4267 UINT64_C(241192960), // SABALv4i16_v4i32
4268 UINT64_C(1319129088), // SABALv4i32_v2i64
4269 UINT64_C(1314934784), // SABALv8i16_v4i32
4270 UINT64_C(236998656), // SABALv8i8_v8i16
4271 UINT64_C(1157691392), // SABA_ZZZ_B
4272 UINT64_C(1170274304), // SABA_ZZZ_D
4273 UINT64_C(1161885696), // SABA_ZZZ_H
4274 UINT64_C(1166080000), // SABA_ZZZ_S
4275 UINT64_C(1310751744), // SABAv16i8
4276 UINT64_C(245398528), // SABAv2i32
4277 UINT64_C(241204224), // SABAv4i16
4278 UINT64_C(1319140352), // SABAv4i32
4279 UINT64_C(1314946048), // SABAv8i16
4280 UINT64_C(237009920), // SABAv8i8
4281 UINT64_C(1170223104), // SABDLB_ZZZ_D
4282 UINT64_C(1161834496), // SABDLB_ZZZ_H
4283 UINT64_C(1166028800), // SABDLB_ZZZ_S
4284 UINT64_C(1170224128), // SABDLT_ZZZ_D
4285 UINT64_C(1161835520), // SABDLT_ZZZ_H
4286 UINT64_C(1166029824), // SABDLT_ZZZ_S
4287 UINT64_C(1310748672), // SABDLv16i8_v8i16
4288 UINT64_C(245395456), // SABDLv2i32_v2i64
4289 UINT64_C(241201152), // SABDLv4i16_v4i32
4290 UINT64_C(1319137280), // SABDLv4i32_v2i64
4291 UINT64_C(1314942976), // SABDLv8i16_v4i32
4292 UINT64_C(237006848), // SABDLv8i8_v8i16
4293 UINT64_C(67895296), // SABD_ZPmZ_B
4294 UINT64_C(80478208), // SABD_ZPmZ_D
4295 UINT64_C(72089600), // SABD_ZPmZ_H
4296 UINT64_C(76283904), // SABD_ZPmZ_S
4297 UINT64_C(1310749696), // SABDv16i8
4298 UINT64_C(245396480), // SABDv2i32
4299 UINT64_C(241202176), // SABDv4i16
4300 UINT64_C(1319138304), // SABDv4i32
4301 UINT64_C(1314944000), // SABDv8i16
4302 UINT64_C(237007872), // SABDv8i8
4303 UINT64_C(1153736704), // SADALP_ZPmZ_D
4304 UINT64_C(1145348096), // SADALP_ZPmZ_H
4305 UINT64_C(1149542400), // SADALP_ZPmZ_S
4306 UINT64_C(1310746624), // SADALPv16i8_v8i16
4307 UINT64_C(245393408), // SADALPv2i32_v1i64
4308 UINT64_C(241199104), // SADALPv4i16_v2i32
4309 UINT64_C(1319135232), // SADALPv4i32_v2i64
4310 UINT64_C(1314940928), // SADALPv8i16_v4i32
4311 UINT64_C(237004800), // SADALPv8i8_v4i16
4312 UINT64_C(1170243584), // SADDLBT_ZZZ_D
4313 UINT64_C(1161854976), // SADDLBT_ZZZ_H
4314 UINT64_C(1166049280), // SADDLBT_ZZZ_S
4315 UINT64_C(1170210816), // SADDLB_ZZZ_D
4316 UINT64_C(1161822208), // SADDLB_ZZZ_H
4317 UINT64_C(1166016512), // SADDLB_ZZZ_S
4318 UINT64_C(1310730240), // SADDLPv16i8_v8i16
4319 UINT64_C(245377024), // SADDLPv2i32_v1i64
4320 UINT64_C(241182720), // SADDLPv4i16_v2i32
4321 UINT64_C(1319118848), // SADDLPv4i32_v2i64
4322 UINT64_C(1314924544), // SADDLPv8i16_v4i32
4323 UINT64_C(236988416), // SADDLPv8i8_v4i16
4324 UINT64_C(1170211840), // SADDLT_ZZZ_D
4325 UINT64_C(1161823232), // SADDLT_ZZZ_H
4326 UINT64_C(1166017536), // SADDLT_ZZZ_S
4327 UINT64_C(1311782912), // SADDLVv16i8v
4328 UINT64_C(242235392), // SADDLVv4i16v
4329 UINT64_C(1320171520), // SADDLVv4i32v
4330 UINT64_C(1315977216), // SADDLVv8i16v
4331 UINT64_C(238041088), // SADDLVv8i8v
4332 UINT64_C(1310720000), // SADDLv16i8_v8i16
4333 UINT64_C(245366784), // SADDLv2i32_v2i64
4334 UINT64_C(241172480), // SADDLv4i16_v4i32
4335 UINT64_C(1319108608), // SADDLv4i32_v2i64
4336 UINT64_C(1314914304), // SADDLv8i16_v4i32
4337 UINT64_C(236978176), // SADDLv8i8_v8i16
4338 UINT64_C(67117056), // SADDV_VPZ_B
4339 UINT64_C(71311360), // SADDV_VPZ_H
4340 UINT64_C(75505664), // SADDV_VPZ_S
4341 UINT64_C(1170227200), // SADDWB_ZZZ_D
4342 UINT64_C(1161838592), // SADDWB_ZZZ_H
4343 UINT64_C(1166032896), // SADDWB_ZZZ_S
4344 UINT64_C(1170228224), // SADDWT_ZZZ_D
4345 UINT64_C(1161839616), // SADDWT_ZZZ_H
4346 UINT64_C(1166033920), // SADDWT_ZZZ_S
4347 UINT64_C(1310724096), // SADDWv16i8_v8i16
4348 UINT64_C(245370880), // SADDWv2i32_v2i64
4349 UINT64_C(241176576), // SADDWv4i16_v4i32
4350 UINT64_C(1319112704), // SADDWv4i32_v2i64
4351 UINT64_C(1314918400), // SADDWv8i16_v4i32
4352 UINT64_C(236982272), // SADDWv8i8_v8i16
4353 UINT64_C(3573756159), // SB
4354 UINT64_C(1170264064), // SBCLB_ZZZ_D
4355 UINT64_C(1166069760), // SBCLB_ZZZ_S
4356 UINT64_C(1170265088), // SBCLT_ZZZ_D
4357 UINT64_C(1166070784), // SBCLT_ZZZ_S
4358 UINT64_C(2046820352), // SBCSWr
4359 UINT64_C(4194304000), // SBCSXr
4360 UINT64_C(1509949440), // SBCWr
4361 UINT64_C(3657433088), // SBCXr
4362 UINT64_C(318767104), // SBFMWri
4363 UINT64_C(2470445056), // SBFMXri
4364 UINT64_C(3240150016), // SCLAMP_VG2_2Z2Z_B
4365 UINT64_C(3252732928), // SCLAMP_VG2_2Z2Z_D
4366 UINT64_C(3244344320), // SCLAMP_VG2_2Z2Z_H
4367 UINT64_C(3248538624), // SCLAMP_VG2_2Z2Z_S
4368 UINT64_C(3240152064), // SCLAMP_VG4_4Z4Z_B
4369 UINT64_C(3252734976), // SCLAMP_VG4_4Z4Z_D
4370 UINT64_C(3244346368), // SCLAMP_VG4_4Z4Z_H
4371 UINT64_C(3248540672), // SCLAMP_VG4_4Z4Z_S
4372 UINT64_C(1140899840), // SCLAMP_ZZZ_B
4373 UINT64_C(1153482752), // SCLAMP_ZZZ_D
4374 UINT64_C(1145094144), // SCLAMP_ZZZ_H
4375 UINT64_C(1149288448), // SCLAMP_ZZZ_S
4376 UINT64_C(511442944), // SCVTFDSr
4377 UINT64_C(2667315200), // SCVTFHDr
4378 UINT64_C(519831552), // SCVTFHSr
4379 UINT64_C(1699493888), // SCVTFLT_ZZ_BtoH
4380 UINT64_C(1703688192), // SCVTFLT_ZZ_HtoS
4381 UINT64_C(1707882496), // SCVTFLT_ZZ_StoD
4382 UINT64_C(2654732288), // SCVTFSDr
4383 UINT64_C(507674624), // SCVTFSWDri
4384 UINT64_C(516063232), // SCVTFSWHri
4385 UINT64_C(503480320), // SCVTFSWSri
4386 UINT64_C(2655125504), // SCVTFSXDri
4387 UINT64_C(2663514112), // SCVTFSXHri
4388 UINT64_C(2650931200), // SCVTFSXSri
4389 UINT64_C(509739008), // SCVTFUWDri
4390 UINT64_C(518127616), // SCVTFUWHri
4391 UINT64_C(505544704), // SCVTFUWSri
4392 UINT64_C(2657222656), // SCVTFUXDri
4393 UINT64_C(2665611264), // SCVTFUXHri
4394 UINT64_C(2653028352), // SCVTFUXSri
4395 UINT64_C(3240288256), // SCVTF_2Z2Z_StoS
4396 UINT64_C(3241336832), // SCVTF_4Z4Z_StoS
4397 UINT64_C(1708564480), // SCVTF_ZPmZ_DtoD
4398 UINT64_C(1700175872), // SCVTF_ZPmZ_DtoH
4399 UINT64_C(1708433408), // SCVTF_ZPmZ_DtoS
4400 UINT64_C(1699913728), // SCVTF_ZPmZ_HtoH
4401 UINT64_C(1708171264), // SCVTF_ZPmZ_StoD
4402 UINT64_C(1700044800), // SCVTF_ZPmZ_StoH
4403 UINT64_C(1704239104), // SCVTF_ZPmZ_StoS
4404 UINT64_C(1692254208), // SCVTF_ZPzZ_DtoD
4405 UINT64_C(1683865600), // SCVTF_ZPzZ_DtoH
4406 UINT64_C(1692237824), // SCVTF_ZPzZ_DtoS
4407 UINT64_C(1683800064), // SCVTF_ZPzZ_HtoH
4408 UINT64_C(1692172288), // SCVTF_ZPzZ_StoD
4409 UINT64_C(1683849216), // SCVTF_ZPzZ_StoH
4410 UINT64_C(1688043520), // SCVTF_ZPzZ_StoS
4411 UINT64_C(1699491840), // SCVTF_ZZ_BtoH
4412 UINT64_C(1703686144), // SCVTF_ZZ_HtoS
4413 UINT64_C(1707880448), // SCVTF_ZZ_StoD
4414 UINT64_C(1598088192), // SCVTFd
4415 UINT64_C(1594942464), // SCVTFh
4416 UINT64_C(1595991040), // SCVTFs
4417 UINT64_C(1585043456), // SCVTFv1i16
4418 UINT64_C(1579276288), // SCVTFv1i32
4419 UINT64_C(1583470592), // SCVTFv1i64
4420 UINT64_C(237099008), // SCVTFv2f32
4421 UINT64_C(1315035136), // SCVTFv2f64
4422 UINT64_C(253813760), // SCVTFv2i32_shift
4423 UINT64_C(1329652736), // SCVTFv2i64_shift
4424 UINT64_C(242866176), // SCVTFv4f16
4425 UINT64_C(1310840832), // SCVTFv4f32
4426 UINT64_C(252765184), // SCVTFv4i16_shift
4427 UINT64_C(1327555584), // SCVTFv4i32_shift
4428 UINT64_C(1316608000), // SCVTFv8f16
4429 UINT64_C(1326507008), // SCVTFv8i16_shift
4430 UINT64_C(81133568), // SDIVR_ZPmZ_D
4431 UINT64_C(76939264), // SDIVR_ZPmZ_S
4432 UINT64_C(448793600), // SDIVWr
4433 UINT64_C(2596277248), // SDIVXr
4434 UINT64_C(81002496), // SDIV_ZPmZ_D
4435 UINT64_C(76808192), // SDIV_ZPmZ_S
4436 UINT64_C(3248493568), // SDOT_VG2_M2Z2Z_BtoS
4437 UINT64_C(3252687872), // SDOT_VG2_M2Z2Z_HtoD
4438 UINT64_C(3252687880), // SDOT_VG2_M2Z2Z_HtoS
4439 UINT64_C(3243249696), // SDOT_VG2_M2ZZI_BToS
4440 UINT64_C(3243249664), // SDOT_VG2_M2ZZI_HToS
4441 UINT64_C(3251634184), // SDOT_VG2_M2ZZI_HtoD
4442 UINT64_C(3240104960), // SDOT_VG2_M2ZZ_BtoS
4443 UINT64_C(3244299264), // SDOT_VG2_M2ZZ_HtoD
4444 UINT64_C(3244299272), // SDOT_VG2_M2ZZ_HtoS
4445 UINT64_C(3248559104), // SDOT_VG4_M4Z4Z_BtoS
4446 UINT64_C(3252753408), // SDOT_VG4_M4Z4Z_HtoD
4447 UINT64_C(3252753416), // SDOT_VG4_M4Z4Z_HtoS
4448 UINT64_C(3243282464), // SDOT_VG4_M4ZZI_BToS
4449 UINT64_C(3243282432), // SDOT_VG4_M4ZZI_HToS
4450 UINT64_C(3251666952), // SDOT_VG4_M4ZZI_HtoD
4451 UINT64_C(3241153536), // SDOT_VG4_M4ZZ_BtoS
4452 UINT64_C(3245347840), // SDOT_VG4_M4ZZ_HtoD
4453 UINT64_C(3245347848), // SDOT_VG4_M4ZZ_HtoS
4454 UINT64_C(1142947840), // SDOT_ZZZI_BtoH
4455 UINT64_C(1151336448), // SDOT_ZZZI_BtoS
4456 UINT64_C(1155530752), // SDOT_ZZZI_HtoD
4457 UINT64_C(1149290496), // SDOT_ZZZI_HtoS
4458 UINT64_C(1145044992), // SDOT_ZZZ_BtoH
4459 UINT64_C(1149239296), // SDOT_ZZZ_BtoS
4460 UINT64_C(1153433600), // SDOT_ZZZ_HtoD
4461 UINT64_C(1140901888), // SDOT_ZZZ_HtoS
4462 UINT64_C(1333846016), // SDOTlanev16i8
4463 UINT64_C(260104192), // SDOTlanev8i8
4464 UINT64_C(1317049344), // SDOTv16i8
4465 UINT64_C(243307520), // SDOTv8i8
4466 UINT64_C(620773904), // SEL_PPPP
4467 UINT64_C(3240132608), // SEL_VG2_2ZC2Z2Z_B
4468 UINT64_C(3252715520), // SEL_VG2_2ZC2Z2Z_D
4469 UINT64_C(3244326912), // SEL_VG2_2ZC2Z2Z_H
4470 UINT64_C(3248521216), // SEL_VG2_2ZC2Z2Z_S
4471 UINT64_C(3240198144), // SEL_VG4_4ZC4Z4Z_B
4472 UINT64_C(3252781056), // SEL_VG4_4ZC4Z4Z_D
4473 UINT64_C(3244392448), // SEL_VG4_4ZC4Z4Z_H
4474 UINT64_C(3248586752), // SEL_VG4_4ZC4Z4Z_S
4475 UINT64_C(86032384), // SEL_ZPZZ_B
4476 UINT64_C(98615296), // SEL_ZPZZ_D
4477 UINT64_C(90226688), // SEL_ZPZZ_H
4478 UINT64_C(94420992), // SEL_ZPZZ_S
4479 UINT64_C(432047104), // SETE
4480 UINT64_C(432055296), // SETEN
4481 UINT64_C(432051200), // SETET
4482 UINT64_C(432059392), // SETETN
4483 UINT64_C(973096973), // SETF16
4484 UINT64_C(973080589), // SETF8
4485 UINT64_C(623677440), // SETFFR
4486 UINT64_C(499139584), // SETGM
4487 UINT64_C(499147776), // SETGMN
4488 UINT64_C(499143680), // SETGMT
4489 UINT64_C(499151872), // SETGMTN
4490 UINT64_C(501186560), // SETGOE
4491 UINT64_C(501194752), // SETGOEN
4492 UINT64_C(501190656), // SETGOET
4493 UINT64_C(501198848), // SETGOETN
4494 UINT64_C(501170176), // SETGOM
4495 UINT64_C(501178368), // SETGOMN
4496 UINT64_C(501174272), // SETGOMT
4497 UINT64_C(501182464), // SETGOMTN
4498 UINT64_C(501153792), // SETGOP
4499 UINT64_C(501161984), // SETGOPN
4500 UINT64_C(501157888), // SETGOPT
4501 UINT64_C(501166080), // SETGOPTN
4502 UINT64_C(499123200), // SETGP
4503 UINT64_C(499131392), // SETGPN
4504 UINT64_C(499127296), // SETGPT
4505 UINT64_C(499135488), // SETGPTN
4506 UINT64_C(432030720), // SETM
4507 UINT64_C(432038912), // SETMN
4508 UINT64_C(432034816), // SETMT
4509 UINT64_C(432043008), // SETMTN
4510 UINT64_C(432014336), // SETP
4511 UINT64_C(432022528), // SETPN
4512 UINT64_C(432018432), // SETPT
4513 UINT64_C(432026624), // SETPTN
4514 UINT64_C(1577058304), // SHA1Crrr
4515 UINT64_C(1579681792), // SHA1Hrr
4516 UINT64_C(1577066496), // SHA1Mrrr
4517 UINT64_C(1577062400), // SHA1Prrr
4518 UINT64_C(1577070592), // SHA1SU0rrr
4519 UINT64_C(1579685888), // SHA1SU1rr
4520 UINT64_C(1577078784), // SHA256H2rrr
4521 UINT64_C(1577074688), // SHA256Hrrr
4522 UINT64_C(1579689984), // SHA256SU0rr
4523 UINT64_C(1577082880), // SHA256SU1rrr
4524 UINT64_C(3462430720), // SHA512H
4525 UINT64_C(3462431744), // SHA512H2
4526 UINT64_C(3468722176), // SHA512SU0
4527 UINT64_C(3462432768), // SHA512SU1
4528 UINT64_C(1141932032), // SHADD_ZPmZ_B
4529 UINT64_C(1154514944), // SHADD_ZPmZ_D
4530 UINT64_C(1146126336), // SHADD_ZPmZ_H
4531 UINT64_C(1150320640), // SHADD_ZPmZ_S
4532 UINT64_C(1310721024), // SHADDv16i8
4533 UINT64_C(245367808), // SHADDv2i32
4534 UINT64_C(241173504), // SHADDv4i16
4535 UINT64_C(1319109632), // SHADDv4i32
4536 UINT64_C(1314915328), // SHADDv8i16
4537 UINT64_C(236979200), // SHADDv8i8
4538 UINT64_C(1847670784), // SHLLv16i8
4539 UINT64_C(782317568), // SHLLv2i32
4540 UINT64_C(778123264), // SHLLv4i16
4541 UINT64_C(1856059392), // SHLLv4i32
4542 UINT64_C(1851865088), // SHLLv8i16
4543 UINT64_C(773928960), // SHLLv8i8
4544 UINT64_C(1598051328), // SHLd
4545 UINT64_C(1325945856), // SHLv16i8_shift
4546 UINT64_C(253776896), // SHLv2i32_shift
4547 UINT64_C(1329615872), // SHLv2i64_shift
4548 UINT64_C(252728320), // SHLv4i16_shift
4549 UINT64_C(1327518720), // SHLv4i32_shift
4550 UINT64_C(1326470144), // SHLv8i16_shift
4551 UINT64_C(252204032), // SHLv8i8_shift
4552 UINT64_C(1160253440), // SHRNB_ZZI_B
4553 UINT64_C(1160777728), // SHRNB_ZZI_H
4554 UINT64_C(1163923456), // SHRNB_ZZI_S
4555 UINT64_C(1160254464), // SHRNT_ZZI_B
4556 UINT64_C(1160778752), // SHRNT_ZZI_H
4557 UINT64_C(1163924480), // SHRNT_ZZI_S
4558 UINT64_C(1325958144), // SHRNv16i8_shift
4559 UINT64_C(253789184), // SHRNv2i32_shift
4560 UINT64_C(252740608), // SHRNv4i16_shift
4561 UINT64_C(1327531008), // SHRNv4i32_shift
4562 UINT64_C(1326482432), // SHRNv8i16_shift
4563 UINT64_C(252216320), // SHRNv8i8_shift
4564 UINT64_C(1142325248), // SHSUBR_ZPmZ_B
4565 UINT64_C(1154908160), // SHSUBR_ZPmZ_D
4566 UINT64_C(1146519552), // SHSUBR_ZPmZ_H
4567 UINT64_C(1150713856), // SHSUBR_ZPmZ_S
4568 UINT64_C(1142063104), // SHSUB_ZPmZ_B
4569 UINT64_C(1154646016), // SHSUB_ZPmZ_D
4570 UINT64_C(1146257408), // SHSUB_ZPmZ_H
4571 UINT64_C(1150451712), // SHSUB_ZPmZ_S
4572 UINT64_C(1310729216), // SHSUBv16i8
4573 UINT64_C(245376000), // SHSUBv2i32
4574 UINT64_C(241181696), // SHSUBv4i16
4575 UINT64_C(1319117824), // SHSUBv4i32
4576 UINT64_C(1314923520), // SHSUBv8i16
4577 UINT64_C(236987392), // SHSUBv8i8
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(4229988383), // STFADDD
5817 UINT64_C(2082504735), // STFADDH
5818 UINT64_C(4234182687), // STFADDLD
5819 UINT64_C(2086699039), // STFADDLH
5820 UINT64_C(3160440863), // STFADDLS
5821 UINT64_C(3156246559), // STFADDS
5822 UINT64_C(4230004767), // STFMAXD
5823 UINT64_C(2082521119), // STFMAXH
5824 UINT64_C(4234199071), // STFMAXLD
5825 UINT64_C(2086715423), // STFMAXLH
5826 UINT64_C(3160457247), // STFMAXLS
5827 UINT64_C(4230012959), // STFMAXNMD
5828 UINT64_C(2082529311), // STFMAXNMH
5829 UINT64_C(4234207263), // STFMAXNMLD
5830 UINT64_C(2086723615), // STFMAXNMLH
5831 UINT64_C(3160465439), // STFMAXNMLS
5832 UINT64_C(3156271135), // STFMAXNMS
5833 UINT64_C(3156262943), // STFMAXS
5834 UINT64_C(4230008863), // STFMIND
5835 UINT64_C(2082525215), // STFMINH
5836 UINT64_C(4234203167), // STFMINLD
5837 UINT64_C(2086719519), // STFMINLH
5838 UINT64_C(3160461343), // STFMINLS
5839 UINT64_C(4230017055), // STFMINNMD
5840 UINT64_C(2082533407), // STFMINNMH
5841 UINT64_C(4234211359), // STFMINNMLD
5842 UINT64_C(2086727711), // STFMINNMLH
5843 UINT64_C(3160469535), // STFMINNMLS
5844 UINT64_C(3156275231), // STFMINNMS
5845 UINT64_C(3156267039), // STFMINS
5846 UINT64_C(3651141632), // STGM
5847 UINT64_C(1761607680), // STGPi
5848 UINT64_C(3642754048), // STGPostIndex
5849 UINT64_C(1753219072), // STGPpost
5850 UINT64_C(1769996288), // STGPpre
5851 UINT64_C(3642756096), // STGPreIndex
5852 UINT64_C(3642755072), // STGi
5853 UINT64_C(2566920192), // STILPW
5854 UINT64_C(2566916096), // STILPWpre
5855 UINT64_C(3640662016), // STILPX
5856 UINT64_C(3640657920), // STILPXpre
5857 UINT64_C(218203136), // STL1
5858 UINT64_C(144669696), // STLLRB
5859 UINT64_C(1218411520), // STLLRH
5860 UINT64_C(2292153344), // STLLRW
5861 UINT64_C(3365895168), // STLLRX
5862 UINT64_C(3640678400), // STLPi
5863 UINT64_C(144702464), // STLRB
5864 UINT64_C(1218444288), // STLRH
5865 UINT64_C(2292186112), // STLRW
5866 UINT64_C(2575304704), // STLRWpre
5867 UINT64_C(3365927936), // STLRX
5868 UINT64_C(3649046528), // STLRXpre
5869 UINT64_C(2298543104), // STLTXRW
5870 UINT64_C(3372284928), // STLTXRX
5871 UINT64_C(419430400), // STLURBi
5872 UINT64_C(1493172224), // STLURHi
5873 UINT64_C(2566914048), // STLURWi
5874 UINT64_C(3640655872), // STLURXi
5875 UINT64_C(486541312), // STLURbi
5876 UINT64_C(3707766784), // STLURdi
5877 UINT64_C(1560283136), // STLURhi
5878 UINT64_C(494929920), // STLURqi
5879 UINT64_C(2634024960), // STLURsi
5880 UINT64_C(2283831296), // STLXPW
5881 UINT64_C(3357573120), // STLXPX
5882 UINT64_C(134282240), // STLXRB
5883 UINT64_C(1208024064), // STLXRH
5884 UINT64_C(2281765888), // STLXRW
5885 UINT64_C(3355507712), // STLXRX
5886 UINT64_C(2151710720), // STMOPA_M2ZZZI_BtoS
5887 UINT64_C(2151710728), // STMOPA_M2ZZZI_HtoS
5888 UINT64_C(1811939328), // STNPDi
5889 UINT64_C(2885681152), // STNPQi
5890 UINT64_C(738197504), // STNPSi
5891 UINT64_C(671088640), // STNPWi
5892 UINT64_C(2818572288), // STNPXi
5893 UINT64_C(2686451713), // STNT1B_2Z
5894 UINT64_C(2690646017), // STNT1B_2Z_IMM
5895 UINT64_C(2703228936), // STNT1B_2Z_STRIDED
5896 UINT64_C(2707423240), // STNT1B_2Z_STRIDED_IMM
5897 UINT64_C(2686484481), // STNT1B_4Z
5898 UINT64_C(2690678785), // STNT1B_4Z_IMM
5899 UINT64_C(2703261704), // STNT1B_4Z_STRIDED
5900 UINT64_C(2707456008), // STNT1B_4Z_STRIDED_IMM
5901 UINT64_C(3826311168), // STNT1B_ZRI
5902 UINT64_C(3825229824), // STNT1B_ZRR
5903 UINT64_C(3825213440), // STNT1B_ZZR_D
5904 UINT64_C(3829407744), // STNT1B_ZZR_S
5905 UINT64_C(2686476289), // STNT1D_2Z
5906 UINT64_C(2690670593), // STNT1D_2Z_IMM
5907 UINT64_C(2703253512), // STNT1D_2Z_STRIDED
5908 UINT64_C(2707447816), // STNT1D_2Z_STRIDED_IMM
5909 UINT64_C(2686509057), // STNT1D_4Z
5910 UINT64_C(2690703361), // STNT1D_4Z_IMM
5911 UINT64_C(2703286280), // STNT1D_4Z_STRIDED
5912 UINT64_C(2707480584), // STNT1D_4Z_STRIDED_IMM
5913 UINT64_C(3851476992), // STNT1D_ZRI
5914 UINT64_C(3850395648), // STNT1D_ZRR
5915 UINT64_C(3850379264), // STNT1D_ZZR_D
5916 UINT64_C(2686459905), // STNT1H_2Z
5917 UINT64_C(2690654209), // STNT1H_2Z_IMM
5918 UINT64_C(2703237128), // STNT1H_2Z_STRIDED
5919 UINT64_C(2707431432), // STNT1H_2Z_STRIDED_IMM
5920 UINT64_C(2686492673), // STNT1H_4Z
5921 UINT64_C(2690686977), // STNT1H_4Z_IMM
5922 UINT64_C(2703269896), // STNT1H_4Z_STRIDED
5923 UINT64_C(2707464200), // STNT1H_4Z_STRIDED_IMM
5924 UINT64_C(3834699776), // STNT1H_ZRI
5925 UINT64_C(3833618432), // STNT1H_ZRR
5926 UINT64_C(3833602048), // STNT1H_ZZR_D
5927 UINT64_C(3837796352), // STNT1H_ZZR_S
5928 UINT64_C(2686468097), // STNT1W_2Z
5929 UINT64_C(2690662401), // STNT1W_2Z_IMM
5930 UINT64_C(2703245320), // STNT1W_2Z_STRIDED
5931 UINT64_C(2707439624), // STNT1W_2Z_STRIDED_IMM
5932 UINT64_C(2686500865), // STNT1W_4Z
5933 UINT64_C(2690695169), // STNT1W_4Z_IMM
5934 UINT64_C(2703278088), // STNT1W_4Z_STRIDED
5935 UINT64_C(2707472392), // STNT1W_4Z_STRIDED_IMM
5936 UINT64_C(3843088384), // STNT1W_ZRI
5937 UINT64_C(3842007040), // STNT1W_ZRR
5938 UINT64_C(3841990656), // STNT1W_ZZR_D
5939 UINT64_C(3846184960), // STNT1W_ZZR_S
5940 UINT64_C(1828716544), // STPDi
5941 UINT64_C(1820327936), // STPDpost
5942 UINT64_C(1837105152), // STPDpre
5943 UINT64_C(2902458368), // STPQi
5944 UINT64_C(2894069760), // STPQpost
5945 UINT64_C(2910846976), // STPQpre
5946 UINT64_C(754974720), // STPSi
5947 UINT64_C(746586112), // STPSpost
5948 UINT64_C(763363328), // STPSpre
5949 UINT64_C(687865856), // STPWi
5950 UINT64_C(679477248), // STPWpost
5951 UINT64_C(696254464), // STPWpre
5952 UINT64_C(2835349504), // STPXi
5953 UINT64_C(2826960896), // STPXpost
5954 UINT64_C(2843738112), // STPXpre
5955 UINT64_C(939525120), // STRBBpost
5956 UINT64_C(939527168), // STRBBpre
5957 UINT64_C(941639680), // STRBBroW
5958 UINT64_C(941647872), // STRBBroX
5959 UINT64_C(956301312), // STRBBui
5960 UINT64_C(1006633984), // STRBpost
5961 UINT64_C(1006636032), // STRBpre
5962 UINT64_C(1008748544), // STRBroW
5963 UINT64_C(1008756736), // STRBroX
5964 UINT64_C(1023410176), // STRBui
5965 UINT64_C(4227859456), // STRDpost
5966 UINT64_C(4227861504), // STRDpre
5967 UINT64_C(4229974016), // STRDroW
5968 UINT64_C(4229982208), // STRDroX
5969 UINT64_C(4244635648), // STRDui
5970 UINT64_C(2013266944), // STRHHpost
5971 UINT64_C(2013268992), // STRHHpre
5972 UINT64_C(2015381504), // STRHHroW
5973 UINT64_C(2015389696), // STRHHroX
5974 UINT64_C(2030043136), // STRHHui
5975 UINT64_C(2080375808), // STRHpost
5976 UINT64_C(2080377856), // STRHpre
5977 UINT64_C(2082490368), // STRHroW
5978 UINT64_C(2082498560), // STRHroX
5979 UINT64_C(2097152000), // STRHui
5980 UINT64_C(1015022592), // STRQpost
5981 UINT64_C(1015024640), // STRQpre
5982 UINT64_C(1017137152), // STRQroW
5983 UINT64_C(1017145344), // STRQroX
5984 UINT64_C(1031798784), // STRQui
5985 UINT64_C(3154117632), // STRSpost
5986 UINT64_C(3154119680), // STRSpre
5987 UINT64_C(3156232192), // STRSroW
5988 UINT64_C(3156240384), // STRSroX
5989 UINT64_C(3170893824), // STRSui
5990 UINT64_C(3087008768), // STRWpost
5991 UINT64_C(3087010816), // STRWpre
5992 UINT64_C(3089123328), // STRWroW
5993 UINT64_C(3089131520), // STRWroX
5994 UINT64_C(3103784960), // STRWui
5995 UINT64_C(4160750592), // STRXpost
5996 UINT64_C(4160752640), // STRXpre
5997 UINT64_C(4162865152), // STRXroW
5998 UINT64_C(4162873344), // STRXroX
5999 UINT64_C(4177526784), // STRXui
6000 UINT64_C(3850371072), // STR_PXI
6001 UINT64_C(3779035136), // STR_TX
6002 UINT64_C(3776970752), // STR_ZA
6003 UINT64_C(3850387456), // STR_ZXI
6004 UINT64_C(3959422976), // STTNPQi
6005 UINT64_C(3892314112), // STTNPXi
6006 UINT64_C(3976200192), // STTPQi
6007 UINT64_C(3967811584), // STTPQpost
6008 UINT64_C(3984588800), // STTPQpre
6009 UINT64_C(3909091328), // STTPi
6010 UINT64_C(3900702720), // STTPpost
6011 UINT64_C(3917479936), // STTPpre
6012 UINT64_C(939526144), // STTRBi
6013 UINT64_C(2013267968), // STTRHi
6014 UINT64_C(3087009792), // STTRWi
6015 UINT64_C(4160751616), // STTRXi
6016 UINT64_C(2298510336), // STTXRWr
6017 UINT64_C(3372252160), // STTXRXr
6018 UINT64_C(939524096), // STURBBi
6019 UINT64_C(1006632960), // STURBi
6020 UINT64_C(4227858432), // STURDi
6021 UINT64_C(2013265920), // STURHHi
6022 UINT64_C(2080374784), // STURHi
6023 UINT64_C(1015021568), // STURQi
6024 UINT64_C(3154116608), // STURSi
6025 UINT64_C(3087007744), // STURWi
6026 UINT64_C(4160749568), // STURXi
6027 UINT64_C(2283798528), // STXPW
6028 UINT64_C(3357540352), // STXPX
6029 UINT64_C(134249472), // STXRB
6030 UINT64_C(1207991296), // STXRH
6031 UINT64_C(2281733120), // STXRW
6032 UINT64_C(3355474944), // STXRX
6033 UINT64_C(3655336960), // STZ2GPostIndex
6034 UINT64_C(3655339008), // STZ2GPreIndex
6035 UINT64_C(3655337984), // STZ2Gi
6036 UINT64_C(3642753024), // STZGM
6037 UINT64_C(3646948352), // STZGPostIndex
6038 UINT64_C(3646950400), // STZGPreIndex
6039 UINT64_C(3646949376), // STZGi
6040 UINT64_C(3514826752), // SUBG
6041 UINT64_C(1163948032), // SUBHNB_ZZZ_B
6042 UINT64_C(1168142336), // SUBHNB_ZZZ_H
6043 UINT64_C(1172336640), // SUBHNB_ZZZ_S
6044 UINT64_C(1163949056), // SUBHNT_ZZZ_B
6045 UINT64_C(1168143360), // SUBHNT_ZZZ_H
6046 UINT64_C(1172337664), // SUBHNT_ZZZ_S
6047 UINT64_C(245391360), // SUBHNv2i64_v2i32
6048 UINT64_C(1319133184), // SUBHNv2i64_v4i32
6049 UINT64_C(241197056), // SUBHNv4i32_v4i16
6050 UINT64_C(1314938880), // SUBHNv4i32_v8i16
6051 UINT64_C(1310744576), // SUBHNv8i16_v16i8
6052 UINT64_C(237002752), // SUBHNv8i16_v8i8
6053 UINT64_C(2596274176), // SUBP
6054 UINT64_C(3133145088), // SUBPS
6055 UINT64_C(3657441280), // SUBPT_shift
6056 UINT64_C(1141940224), // SUBP_ZPmZZ_B
6057 UINT64_C(1154523136), // SUBP_ZPmZZ_D
6058 UINT64_C(1146134528), // SUBP_ZPmZZ_H
6059 UINT64_C(1150328832), // SUBP_ZPmZZ_S
6060 UINT64_C(623099904), // SUBR_ZI_B
6061 UINT64_C(635682816), // SUBR_ZI_D
6062 UINT64_C(627294208), // SUBR_ZI_H
6063 UINT64_C(631488512), // SUBR_ZI_S
6064 UINT64_C(67305472), // SUBR_ZPmZ_B
6065 UINT64_C(79888384), // SUBR_ZPmZ_D
6066 UINT64_C(71499776), // SUBR_ZPmZ_H
6067 UINT64_C(75694080), // SUBR_ZPmZ_S
6068 UINT64_C(1895825408), // SUBSWri
6069 UINT64_C(1795162112), // SUBSWrs
6070 UINT64_C(1797259264), // SUBSWrx
6071 UINT64_C(4043309056), // SUBSXri
6072 UINT64_C(3942645760), // SUBSXrs
6073 UINT64_C(3944742912), // SUBSXrx
6074 UINT64_C(3944767488), // SUBSXrx64
6075 UINT64_C(1358954496), // SUBWri
6076 UINT64_C(1258291200), // SUBWrs
6077 UINT64_C(1260388352), // SUBWrx
6078 UINT64_C(3506438144), // SUBXri
6079 UINT64_C(3405774848), // SUBXrs
6080 UINT64_C(3407872000), // SUBXrx
6081 UINT64_C(3407896576), // SUBXrx64
6082 UINT64_C(3252688920), // SUB_VG2_M2Z2Z_D
6083 UINT64_C(3248494616), // SUB_VG2_M2Z2Z_S
6084 UINT64_C(3244300312), // SUB_VG2_M2ZZ_D
6085 UINT64_C(3240106008), // SUB_VG2_M2ZZ_S
6086 UINT64_C(3252689944), // SUB_VG2_M2Z_D
6087 UINT64_C(3248495640), // SUB_VG2_M2Z_S
6088 UINT64_C(3252754456), // SUB_VG4_M4Z4Z_D
6089 UINT64_C(3248560152), // SUB_VG4_M4Z4Z_S
6090 UINT64_C(3245348888), // SUB_VG4_M4ZZ_D
6091 UINT64_C(3241154584), // SUB_VG4_M4ZZ_S
6092 UINT64_C(3252755480), // SUB_VG4_M4Z_D
6093 UINT64_C(3248561176), // SUB_VG4_M4Z_S
6094 UINT64_C(622968832), // SUB_ZI_B
6095 UINT64_C(635551744), // SUB_ZI_D
6096 UINT64_C(627163136), // SUB_ZI_H
6097 UINT64_C(631357440), // SUB_ZI_S
6098 UINT64_C(67174400), // SUB_ZPmZ_B
6099 UINT64_C(80019456), // SUB_ZPmZ_CPA
6100 UINT64_C(79757312), // SUB_ZPmZ_D
6101 UINT64_C(71368704), // SUB_ZPmZ_H
6102 UINT64_C(75563008), // SUB_ZPmZ_S
6103 UINT64_C(69207040), // SUB_ZZZ_B
6104 UINT64_C(81792000), // SUB_ZZZ_CPA
6105 UINT64_C(81789952), // SUB_ZZZ_D
6106 UINT64_C(73401344), // SUB_ZZZ_H
6107 UINT64_C(77595648), // SUB_ZZZ_S
6108 UINT64_C(1847624704), // SUBv16i8
6109 UINT64_C(2128643072), // SUBv1i64
6110 UINT64_C(782271488), // SUBv2i32
6111 UINT64_C(1860207616), // SUBv2i64
6112 UINT64_C(778077184), // SUBv4i16
6113 UINT64_C(1856013312), // SUBv4i32
6114 UINT64_C(1851819008), // SUBv8i16
6115 UINT64_C(773882880), // SUBv8i8
6116 UINT64_C(3243249720), // SUDOT_VG2_M2ZZI_BToS
6117 UINT64_C(3240104984), // SUDOT_VG2_M2ZZ_BToS
6118 UINT64_C(3243282488), // SUDOT_VG4_M4ZZI_BToS
6119 UINT64_C(3241153560), // SUDOT_VG4_M4ZZ_BToS
6120 UINT64_C(1151343616), // SUDOT_ZZZI
6121 UINT64_C(1325461504), // SUDOTlanev16i8
6122 UINT64_C(251719680), // SUDOTlanev8i8
6123 UINT64_C(3238002708), // SUMLALL_MZZI_BtoS
6124 UINT64_C(3239051312), // SUMLALL_VG2_M2ZZI_BtoS
6125 UINT64_C(3240099860), // SUMLALL_VG2_M2ZZ_BtoS
6126 UINT64_C(3239084080), // SUMLALL_VG4_M4ZZI_BtoS
6127 UINT64_C(3241148436), // SUMLALL_VG4_M4ZZ_BtoS
6128 UINT64_C(2150662656), // SUMOP4A_M2Z2Z_BToS
6129 UINT64_C(2700083720), // SUMOP4A_M2Z2Z_HtoD
6130 UINT64_C(2149614080), // SUMOP4A_M2ZZ_BToS
6131 UINT64_C(2699035144), // SUMOP4A_M2ZZ_HtoD
6132 UINT64_C(2150662144), // SUMOP4A_MZ2Z_BToS
6133 UINT64_C(2700083208), // SUMOP4A_MZ2Z_HtoD
6134 UINT64_C(2149613568), // SUMOP4A_MZZ_BToS
6135 UINT64_C(2699034632), // SUMOP4A_MZZ_HtoD
6136 UINT64_C(2150662672), // SUMOP4S_M2Z2Z_BToS
6137 UINT64_C(2700083736), // SUMOP4S_M2Z2Z_HtoD
6138 UINT64_C(2149614096), // SUMOP4S_M2ZZ_BToS
6139 UINT64_C(2699035160), // SUMOP4S_M2ZZ_HtoD
6140 UINT64_C(2150662160), // SUMOP4S_MZ2Z_BToS
6141 UINT64_C(2700083224), // SUMOP4S_MZ2Z_HtoD
6142 UINT64_C(2149613584), // SUMOP4S_MZZ_BToS
6143 UINT64_C(2699034648), // SUMOP4S_MZZ_HtoD
6144 UINT64_C(2699034624), // SUMOPA_MPPZZ_D
6145 UINT64_C(2694840320), // SUMOPA_MPPZZ_S
6146 UINT64_C(2699034640), // SUMOPS_MPPZZ_D
6147 UINT64_C(2694840336), // SUMOPS_MPPZZ_S
6148 UINT64_C(99694592), // SUNPKHI_ZZ_D
6149 UINT64_C(91305984), // SUNPKHI_ZZ_H
6150 UINT64_C(95500288), // SUNPKHI_ZZ_S
6151 UINT64_C(99629056), // SUNPKLO_ZZ_D
6152 UINT64_C(91240448), // SUNPKLO_ZZ_H
6153 UINT64_C(95434752), // SUNPKLO_ZZ_S
6154 UINT64_C(3253067776), // SUNPK_VG2_2ZZ_D
6155 UINT64_C(3244679168), // SUNPK_VG2_2ZZ_H
6156 UINT64_C(3248873472), // SUNPK_VG2_2ZZ_S
6157 UINT64_C(3254116352), // SUNPK_VG4_4Z2Z_D
6158 UINT64_C(3245727744), // SUNPK_VG4_4Z2Z_H
6159 UINT64_C(3249922048), // SUNPK_VG4_4Z2Z_S
6160 UINT64_C(1142718464), // SUQADD_ZPmZ_B
6161 UINT64_C(1155301376), // SUQADD_ZPmZ_D
6162 UINT64_C(1146912768), // SUQADD_ZPmZ_H
6163 UINT64_C(1151107072), // SUQADD_ZPmZ_S
6164 UINT64_C(1310734336), // SUQADDv16i8
6165 UINT64_C(1583364096), // SUQADDv1i16
6166 UINT64_C(1587558400), // SUQADDv1i32
6167 UINT64_C(1591752704), // SUQADDv1i64
6168 UINT64_C(1579169792), // SUQADDv1i8
6169 UINT64_C(245381120), // SUQADDv2i32
6170 UINT64_C(1323317248), // SUQADDv2i64
6171 UINT64_C(241186816), // SUQADDv4i16
6172 UINT64_C(1319122944), // SUQADDv4i32
6173 UINT64_C(1314928640), // SUQADDv8i16
6174 UINT64_C(236992512), // SUQADDv8i8
6175 UINT64_C(2153807872), // SUTMOPA_M2ZZZI_BtoS
6176 UINT64_C(3243278392), // SUVDOT_VG4_M4ZZI_BToS
6177 UINT64_C(3556769793), // SVC
6178 UINT64_C(3243245600), // SVDOT_VG2_M2ZZI_HtoS
6179 UINT64_C(3243278368), // SVDOT_VG4_M4ZZI_BtoS
6180 UINT64_C(3251669000), // SVDOT_VG4_M4ZZI_HtoD
6181 UINT64_C(950042624), // SWPAB
6182 UINT64_C(2023784448), // SWPAH
6183 UINT64_C(954236928), // SWPALB
6184 UINT64_C(2027978752), // SWPALH
6185 UINT64_C(3101720576), // SWPALW
6186 UINT64_C(4175462400), // SWPALX
6187 UINT64_C(3097526272), // SWPAW
6188 UINT64_C(4171268096), // SWPAX
6189 UINT64_C(941654016), // SWPB
6190 UINT64_C(2015395840), // SWPH
6191 UINT64_C(945848320), // SWPLB
6192 UINT64_C(2019590144), // SWPLH
6193 UINT64_C(3093331968), // SWPLW
6194 UINT64_C(4167073792), // SWPLX
6195 UINT64_C(421560320), // SWPP
6196 UINT64_C(429948928), // SWPPA
6197 UINT64_C(434143232), // SWPPAL
6198 UINT64_C(425754624), // SWPPL
6199 UINT64_C(434144256), // SWPTALW
6200 UINT64_C(1507886080), // SWPTALX
6201 UINT64_C(429949952), // SWPTAW
6202 UINT64_C(1503691776), // SWPTAX
6203 UINT64_C(425755648), // SWPTLW
6204 UINT64_C(1499497472), // SWPTLX
6205 UINT64_C(421561344), // SWPTW
6206 UINT64_C(1495303168), // SWPTX
6207 UINT64_C(3089137664), // SWPW
6208 UINT64_C(4162879488), // SWPX
6209 UINT64_C(80781312), // SXTB_ZPmZ_D
6210 UINT64_C(72392704), // SXTB_ZPmZ_H
6211 UINT64_C(76587008), // SXTB_ZPmZ_S
6212 UINT64_C(79732736), // SXTB_ZPzZ_D
6213 UINT64_C(71344128), // SXTB_ZPzZ_H
6214 UINT64_C(75538432), // SXTB_ZPzZ_S
6215 UINT64_C(80912384), // SXTH_ZPmZ_D
6216 UINT64_C(76718080), // SXTH_ZPmZ_S
6217 UINT64_C(79863808), // SXTH_ZPzZ_D
6218 UINT64_C(75669504), // SXTH_ZPzZ_S
6219 UINT64_C(81043456), // SXTW_ZPmZ_D
6220 UINT64_C(79994880), // SXTW_ZPzZ_D
6221 UINT64_C(3576168448), // SYSLxt
6222 UINT64_C(3578265600), // SYSPxt
6223 UINT64_C(3578265631), // SYSPxt_XZR
6224 UINT64_C(3574071296), // SYSxt
6225 UINT64_C(1140914176), // TBLQ_ZZZ_B
6226 UINT64_C(1153497088), // TBLQ_ZZZ_D
6227 UINT64_C(1145108480), // TBLQ_ZZZ_H
6228 UINT64_C(1149302784), // TBLQ_ZZZ_S
6229 UINT64_C(85993472), // TBL_ZZZZ_B
6230 UINT64_C(98576384), // TBL_ZZZZ_D
6231 UINT64_C(90187776), // TBL_ZZZZ_H
6232 UINT64_C(94382080), // TBL_ZZZZ_S
6233 UINT64_C(85995520), // TBL_ZZZ_B
6234 UINT64_C(98578432), // TBL_ZZZ_D
6235 UINT64_C(90189824), // TBL_ZZZ_H
6236 UINT64_C(94384128), // TBL_ZZZ_S
6237 UINT64_C(1308647424), // TBLv16i8Four
6238 UINT64_C(1308622848), // TBLv16i8One
6239 UINT64_C(1308639232), // TBLv16i8Three
6240 UINT64_C(1308631040), // TBLv16i8Two
6241 UINT64_C(234905600), // TBLv8i8Four
6242 UINT64_C(234881024), // TBLv8i8One
6243 UINT64_C(234897408), // TBLv8i8Three
6244 UINT64_C(234889216), // TBLv8i8Two
6245 UINT64_C(922746880), // TBNZW
6246 UINT64_C(3070230528), // TBNZX
6247 UINT64_C(85996544), // TBXQ_ZZZ_B
6248 UINT64_C(98579456), // TBXQ_ZZZ_D
6249 UINT64_C(90190848), // TBXQ_ZZZ_H
6250 UINT64_C(94385152), // TBXQ_ZZZ_S
6251 UINT64_C(85994496), // TBX_ZZZ_B
6252 UINT64_C(98577408), // TBX_ZZZ_D
6253 UINT64_C(90188800), // TBX_ZZZ_H
6254 UINT64_C(94383104), // TBX_ZZZ_S
6255 UINT64_C(1308651520), // TBXv16i8Four
6256 UINT64_C(1308626944), // TBXv16i8One
6257 UINT64_C(1308643328), // TBXv16i8Three
6258 UINT64_C(1308635136), // TBXv16i8Two
6259 UINT64_C(234909696), // TBXv8i8Four
6260 UINT64_C(234885120), // TBXv8i8One
6261 UINT64_C(234901504), // TBXv8i8Three
6262 UINT64_C(234893312), // TBXv8i8Two
6263 UINT64_C(905969664), // TBZW
6264 UINT64_C(3053453312), // TBZX
6265 UINT64_C(3583246336), // TCHANGEBri
6266 UINT64_C(3582197760), // TCHANGEBrr
6267 UINT64_C(3582984192), // TCHANGEFri
6268 UINT64_C(3581935616), // TCHANGEFrr
6269 UINT64_C(3571449856), // TENTER
6270 UINT64_C(3607036896), // TEXIT
6271 UINT64_C(86003712), // TRN1_PPP_B
6272 UINT64_C(98586624), // TRN1_PPP_D
6273 UINT64_C(90198016), // TRN1_PPP_H
6274 UINT64_C(94392320), // TRN1_PPP_S
6275 UINT64_C(86011904), // TRN1_ZZZ_B
6276 UINT64_C(98594816), // TRN1_ZZZ_D
6277 UINT64_C(90206208), // TRN1_ZZZ_H
6278 UINT64_C(94377984), // TRN1_ZZZ_Q
6279 UINT64_C(94400512), // TRN1_ZZZ_S
6280 UINT64_C(1308633088), // TRN1v16i8
6281 UINT64_C(243279872), // TRN1v2i32
6282 UINT64_C(1321216000), // TRN1v2i64
6283 UINT64_C(239085568), // TRN1v4i16
6284 UINT64_C(1317021696), // TRN1v4i32
6285 UINT64_C(1312827392), // TRN1v8i16
6286 UINT64_C(234891264), // TRN1v8i8
6287 UINT64_C(86004736), // TRN2_PPP_B
6288 UINT64_C(98587648), // TRN2_PPP_D
6289 UINT64_C(90199040), // TRN2_PPP_H
6290 UINT64_C(94393344), // TRN2_PPP_S
6291 UINT64_C(86012928), // TRN2_ZZZ_B
6292 UINT64_C(98595840), // TRN2_ZZZ_D
6293 UINT64_C(90207232), // TRN2_ZZZ_H
6294 UINT64_C(94379008), // TRN2_ZZZ_Q
6295 UINT64_C(94401536), // TRN2_ZZZ_S
6296 UINT64_C(1308649472), // TRN2v16i8
6297 UINT64_C(243296256), // TRN2v2i32
6298 UINT64_C(1321232384), // TRN2v2i64
6299 UINT64_C(239101952), // TRN2v4i16
6300 UINT64_C(1317038080), // TRN2v4i32
6301 UINT64_C(1312843776), // TRN2v8i16
6302 UINT64_C(234907648), // TRN2v8i8
6303 UINT64_C(1170262016), // UABALB_ZZZ_D
6304 UINT64_C(1161873408), // UABALB_ZZZ_H
6305 UINT64_C(1166067712), // UABALB_ZZZ_S
6306 UINT64_C(1170263040), // UABALT_ZZZ_D
6307 UINT64_C(1161874432), // UABALT_ZZZ_H
6308 UINT64_C(1166068736), // UABALT_ZZZ_S
6309 UINT64_C(1145101312), // UABAL_ZZZ_BtoH
6310 UINT64_C(1149295616), // UABAL_ZZZ_HtoS
6311 UINT64_C(1153489920), // UABAL_ZZZ_StoD
6312 UINT64_C(1847611392), // UABALv16i8_v8i16
6313 UINT64_C(782258176), // UABALv2i32_v2i64
6314 UINT64_C(778063872), // UABALv4i16_v4i32
6315 UINT64_C(1856000000), // UABALv4i32_v2i64
6316 UINT64_C(1851805696), // UABALv8i16_v4i32
6317 UINT64_C(773869568), // UABALv8i8_v8i16
6318 UINT64_C(1157692416), // UABA_ZZZ_B
6319 UINT64_C(1170275328), // UABA_ZZZ_D
6320 UINT64_C(1161886720), // UABA_ZZZ_H
6321 UINT64_C(1166081024), // UABA_ZZZ_S
6322 UINT64_C(1847622656), // UABAv16i8
6323 UINT64_C(782269440), // UABAv2i32
6324 UINT64_C(778075136), // UABAv4i16
6325 UINT64_C(1856011264), // UABAv4i32
6326 UINT64_C(1851816960), // UABAv8i16
6327 UINT64_C(773880832), // UABAv8i8
6328 UINT64_C(1170225152), // UABDLB_ZZZ_D
6329 UINT64_C(1161836544), // UABDLB_ZZZ_H
6330 UINT64_C(1166030848), // UABDLB_ZZZ_S
6331 UINT64_C(1170226176), // UABDLT_ZZZ_D
6332 UINT64_C(1161837568), // UABDLT_ZZZ_H
6333 UINT64_C(1166031872), // UABDLT_ZZZ_S
6334 UINT64_C(1847619584), // UABDLv16i8_v8i16
6335 UINT64_C(782266368), // UABDLv2i32_v2i64
6336 UINT64_C(778072064), // UABDLv4i16_v4i32
6337 UINT64_C(1856008192), // UABDLv4i32_v2i64
6338 UINT64_C(1851813888), // UABDLv8i16_v4i32
6339 UINT64_C(773877760), // UABDLv8i8_v8i16
6340 UINT64_C(67960832), // UABD_ZPmZ_B
6341 UINT64_C(80543744), // UABD_ZPmZ_D
6342 UINT64_C(72155136), // UABD_ZPmZ_H
6343 UINT64_C(76349440), // UABD_ZPmZ_S
6344 UINT64_C(1847620608), // UABDv16i8
6345 UINT64_C(782267392), // UABDv2i32
6346 UINT64_C(778073088), // UABDv4i16
6347 UINT64_C(1856009216), // UABDv4i32
6348 UINT64_C(1851814912), // UABDv8i16
6349 UINT64_C(773878784), // UABDv8i8
6350 UINT64_C(1153802240), // UADALP_ZPmZ_D
6351 UINT64_C(1145413632), // UADALP_ZPmZ_H
6352 UINT64_C(1149607936), // UADALP_ZPmZ_S
6353 UINT64_C(1847617536), // UADALPv16i8_v8i16
6354 UINT64_C(782264320), // UADALPv2i32_v1i64
6355 UINT64_C(778070016), // UADALPv4i16_v2i32
6356 UINT64_C(1856006144), // UADALPv4i32_v2i64
6357 UINT64_C(1851811840), // UADALPv8i16_v4i32
6358 UINT64_C(773875712), // UADALPv8i8_v4i16
6359 UINT64_C(1170212864), // UADDLB_ZZZ_D
6360 UINT64_C(1161824256), // UADDLB_ZZZ_H
6361 UINT64_C(1166018560), // UADDLB_ZZZ_S
6362 UINT64_C(1847601152), // UADDLPv16i8_v8i16
6363 UINT64_C(782247936), // UADDLPv2i32_v1i64
6364 UINT64_C(778053632), // UADDLPv4i16_v2i32
6365 UINT64_C(1855989760), // UADDLPv4i32_v2i64
6366 UINT64_C(1851795456), // UADDLPv8i16_v4i32
6367 UINT64_C(773859328), // UADDLPv8i8_v4i16
6368 UINT64_C(1170213888), // UADDLT_ZZZ_D
6369 UINT64_C(1161825280), // UADDLT_ZZZ_H
6370 UINT64_C(1166019584), // UADDLT_ZZZ_S
6371 UINT64_C(1848653824), // UADDLVv16i8v
6372 UINT64_C(779106304), // UADDLVv4i16v
6373 UINT64_C(1857042432), // UADDLVv4i32v
6374 UINT64_C(1852848128), // UADDLVv8i16v
6375 UINT64_C(774912000), // UADDLVv8i8v
6376 UINT64_C(1847590912), // UADDLv16i8_v8i16
6377 UINT64_C(782237696), // UADDLv2i32_v2i64
6378 UINT64_C(778043392), // UADDLv4i16_v4i32
6379 UINT64_C(1855979520), // UADDLv4i32_v2i64
6380 UINT64_C(1851785216), // UADDLv8i16_v4i32
6381 UINT64_C(773849088), // UADDLv8i8_v8i16
6382 UINT64_C(67182592), // UADDV_VPZ_B
6383 UINT64_C(79765504), // UADDV_VPZ_D
6384 UINT64_C(71376896), // UADDV_VPZ_H
6385 UINT64_C(75571200), // UADDV_VPZ_S
6386 UINT64_C(1170229248), // UADDWB_ZZZ_D
6387 UINT64_C(1161840640), // UADDWB_ZZZ_H
6388 UINT64_C(1166034944), // UADDWB_ZZZ_S
6389 UINT64_C(1170230272), // UADDWT_ZZZ_D
6390 UINT64_C(1161841664), // UADDWT_ZZZ_H
6391 UINT64_C(1166035968), // UADDWT_ZZZ_S
6392 UINT64_C(1847595008), // UADDWv16i8_v8i16
6393 UINT64_C(782241792), // UADDWv2i32_v2i64
6394 UINT64_C(778047488), // UADDWv4i16_v4i32
6395 UINT64_C(1855983616), // UADDWv4i32_v2i64
6396 UINT64_C(1851789312), // UADDWv8i16_v4i32
6397 UINT64_C(773853184), // UADDWv8i8_v8i16
6398 UINT64_C(1392508928), // UBFMWri
6399 UINT64_C(3544186880), // UBFMXri
6400 UINT64_C(3240150017), // UCLAMP_VG2_2Z2Z_B
6401 UINT64_C(3252732929), // UCLAMP_VG2_2Z2Z_D
6402 UINT64_C(3244344321), // UCLAMP_VG2_2Z2Z_H
6403 UINT64_C(3248538625), // UCLAMP_VG2_2Z2Z_S
6404 UINT64_C(3240152065), // UCLAMP_VG4_4Z4Z_B
6405 UINT64_C(3252734977), // UCLAMP_VG4_4Z4Z_D
6406 UINT64_C(3244346369), // UCLAMP_VG4_4Z4Z_H
6407 UINT64_C(3248540673), // UCLAMP_VG4_4Z4Z_S
6408 UINT64_C(1140900864), // UCLAMP_ZZZ_B
6409 UINT64_C(1153483776), // UCLAMP_ZZZ_D
6410 UINT64_C(1145095168), // UCLAMP_ZZZ_H
6411 UINT64_C(1149289472), // UCLAMP_ZZZ_S
6412 UINT64_C(511508480), // UCVTFDSr
6413 UINT64_C(2667380736), // UCVTFHDr
6414 UINT64_C(519897088), // UCVTFHSr
6415 UINT64_C(1699494912), // UCVTFLT_ZZ_BtoH
6416 UINT64_C(1703689216), // UCVTFLT_ZZ_HtoS
6417 UINT64_C(1707883520), // UCVTFLT_ZZ_StoD
6418 UINT64_C(2654797824), // UCVTFSDr
6419 UINT64_C(507740160), // UCVTFSWDri
6420 UINT64_C(516128768), // UCVTFSWHri
6421 UINT64_C(503545856), // UCVTFSWSri
6422 UINT64_C(2655191040), // UCVTFSXDri
6423 UINT64_C(2663579648), // UCVTFSXHri
6424 UINT64_C(2650996736), // UCVTFSXSri
6425 UINT64_C(509804544), // UCVTFUWDri
6426 UINT64_C(518193152), // UCVTFUWHri
6427 UINT64_C(505610240), // UCVTFUWSri
6428 UINT64_C(2657288192), // UCVTFUXDri
6429 UINT64_C(2665676800), // UCVTFUXHri
6430 UINT64_C(2653093888), // UCVTFUXSri
6431 UINT64_C(3240288288), // UCVTF_2Z2Z_StoS
6432 UINT64_C(3241336864), // UCVTF_4Z4Z_StoS
6433 UINT64_C(1708630016), // UCVTF_ZPmZ_DtoD
6434 UINT64_C(1700241408), // UCVTF_ZPmZ_DtoH
6435 UINT64_C(1708498944), // UCVTF_ZPmZ_DtoS
6436 UINT64_C(1699979264), // UCVTF_ZPmZ_HtoH
6437 UINT64_C(1708236800), // UCVTF_ZPmZ_StoD
6438 UINT64_C(1700110336), // UCVTF_ZPmZ_StoH
6439 UINT64_C(1704304640), // UCVTF_ZPmZ_StoS
6440 UINT64_C(1692262400), // UCVTF_ZPzZ_DtoD
6441 UINT64_C(1683873792), // UCVTF_ZPzZ_DtoH
6442 UINT64_C(1692246016), // UCVTF_ZPzZ_DtoS
6443 UINT64_C(1683808256), // UCVTF_ZPzZ_HtoH
6444 UINT64_C(1692180480), // UCVTF_ZPzZ_StoD
6445 UINT64_C(1683857408), // UCVTF_ZPzZ_StoH
6446 UINT64_C(1688051712), // UCVTF_ZPzZ_StoS
6447 UINT64_C(1699492864), // UCVTF_ZZ_BtoH
6448 UINT64_C(1703687168), // UCVTF_ZZ_HtoS
6449 UINT64_C(1707881472), // UCVTF_ZZ_StoD
6450 UINT64_C(2134959104), // UCVTFd
6451 UINT64_C(2131813376), // UCVTFh
6452 UINT64_C(2132861952), // UCVTFs
6453 UINT64_C(2121914368), // UCVTFv1i16
6454 UINT64_C(2116147200), // UCVTFv1i32
6455 UINT64_C(2120341504), // UCVTFv1i64
6456 UINT64_C(773969920), // UCVTFv2f32
6457 UINT64_C(1851906048), // UCVTFv2f64
6458 UINT64_C(790684672), // UCVTFv2i32_shift
6459 UINT64_C(1866523648), // UCVTFv2i64_shift
6460 UINT64_C(779737088), // UCVTFv4f16
6461 UINT64_C(1847711744), // UCVTFv4f32
6462 UINT64_C(789636096), // UCVTFv4i16_shift
6463 UINT64_C(1864426496), // UCVTFv4i32_shift
6464 UINT64_C(1853478912), // UCVTFv8f16
6465 UINT64_C(1863377920), // UCVTFv8i16_shift
6466 UINT64_C(0), // UDF
6467 UINT64_C(81199104), // UDIVR_ZPmZ_D
6468 UINT64_C(77004800), // UDIVR_ZPmZ_S
6469 UINT64_C(448792576), // UDIVWr
6470 UINT64_C(2596276224), // UDIVXr
6471 UINT64_C(81068032), // UDIV_ZPmZ_D
6472 UINT64_C(76873728), // UDIV_ZPmZ_S
6473 UINT64_C(3248493584), // UDOT_VG2_M2Z2Z_BtoS
6474 UINT64_C(3252687888), // UDOT_VG2_M2Z2Z_HtoD
6475 UINT64_C(3252687896), // UDOT_VG2_M2Z2Z_HtoS
6476 UINT64_C(3243249712), // UDOT_VG2_M2ZZI_BToS
6477 UINT64_C(3243249680), // UDOT_VG2_M2ZZI_HToS
6478 UINT64_C(3251634200), // UDOT_VG2_M2ZZI_HtoD
6479 UINT64_C(3240104976), // UDOT_VG2_M2ZZ_BtoS
6480 UINT64_C(3244299280), // UDOT_VG2_M2ZZ_HtoD
6481 UINT64_C(3244299288), // UDOT_VG2_M2ZZ_HtoS
6482 UINT64_C(3248559120), // UDOT_VG4_M4Z4Z_BtoS
6483 UINT64_C(3252753424), // UDOT_VG4_M4Z4Z_HtoD
6484 UINT64_C(3252753432), // UDOT_VG4_M4Z4Z_HtoS
6485 UINT64_C(3243282480), // UDOT_VG4_M4ZZI_BtoS
6486 UINT64_C(3243282448), // UDOT_VG4_M4ZZI_HToS
6487 UINT64_C(3251666968), // UDOT_VG4_M4ZZI_HtoD
6488 UINT64_C(3241153552), // UDOT_VG4_M4ZZ_BtoS
6489 UINT64_C(3245347856), // UDOT_VG4_M4ZZ_HtoD
6490 UINT64_C(3245347864), // UDOT_VG4_M4ZZ_HtoS
6491 UINT64_C(1142948864), // UDOT_ZZZI_BtoH
6492 UINT64_C(1151337472), // UDOT_ZZZI_BtoS
6493 UINT64_C(1155531776), // UDOT_ZZZI_HtoD
6494 UINT64_C(1149291520), // UDOT_ZZZI_HtoS
6495 UINT64_C(1145046016), // UDOT_ZZZ_BtoH
6496 UINT64_C(1149240320), // UDOT_ZZZ_BtoS
6497 UINT64_C(1153434624), // UDOT_ZZZ_HtoD
6498 UINT64_C(1140902912), // UDOT_ZZZ_HtoS
6499 UINT64_C(1870716928), // UDOTlanev16i8
6500 UINT64_C(796975104), // UDOTlanev8i8
6501 UINT64_C(1853920256), // UDOTv16i8
6502 UINT64_C(780178432), // UDOTv8i8
6503 UINT64_C(1141997568), // UHADD_ZPmZ_B
6504 UINT64_C(1154580480), // UHADD_ZPmZ_D
6505 UINT64_C(1146191872), // UHADD_ZPmZ_H
6506 UINT64_C(1150386176), // UHADD_ZPmZ_S
6507 UINT64_C(1847591936), // UHADDv16i8
6508 UINT64_C(782238720), // UHADDv2i32
6509 UINT64_C(778044416), // UHADDv4i16
6510 UINT64_C(1855980544), // UHADDv4i32
6511 UINT64_C(1851786240), // UHADDv8i16
6512 UINT64_C(773850112), // UHADDv8i8
6513 UINT64_C(1142390784), // UHSUBR_ZPmZ_B
6514 UINT64_C(1154973696), // UHSUBR_ZPmZ_D
6515 UINT64_C(1146585088), // UHSUBR_ZPmZ_H
6516 UINT64_C(1150779392), // UHSUBR_ZPmZ_S
6517 UINT64_C(1142128640), // UHSUB_ZPmZ_B
6518 UINT64_C(1154711552), // UHSUB_ZPmZ_D
6519 UINT64_C(1146322944), // UHSUB_ZPmZ_H
6520 UINT64_C(1150517248), // UHSUB_ZPmZ_S
6521 UINT64_C(1847600128), // UHSUBv16i8
6522 UINT64_C(782246912), // UHSUBv2i32
6523 UINT64_C(778052608), // UHSUBv4i16
6524 UINT64_C(1855988736), // UHSUBv4i32
6525 UINT64_C(1851794432), // UHSUBv8i16
6526 UINT64_C(773858304), // UHSUBv8i8
6527 UINT64_C(2610954240), // UMADDLrrr
6528 UINT64_C(1142267904), // UMAXP_ZPmZ_B
6529 UINT64_C(1154850816), // UMAXP_ZPmZ_D
6530 UINT64_C(1146462208), // UMAXP_ZPmZ_H
6531 UINT64_C(1150656512), // UMAXP_ZPmZ_S
6532 UINT64_C(1847632896), // UMAXPv16i8
6533 UINT64_C(782279680), // UMAXPv2i32
6534 UINT64_C(778085376), // UMAXPv4i16
6535 UINT64_C(1856021504), // UMAXPv4i32
6536 UINT64_C(1851827200), // UMAXPv8i16
6537 UINT64_C(773891072), // UMAXPv8i8
6538 UINT64_C(67969024), // UMAXQV_VPZ_B
6539 UINT64_C(80551936), // UMAXQV_VPZ_D
6540 UINT64_C(72163328), // UMAXQV_VPZ_H
6541 UINT64_C(76357632), // UMAXQV_VPZ_S
6542 UINT64_C(67706880), // UMAXV_VPZ_B
6543 UINT64_C(80289792), // UMAXV_VPZ_D
6544 UINT64_C(71901184), // UMAXV_VPZ_H
6545 UINT64_C(76095488), // UMAXV_VPZ_S
6546 UINT64_C(1848682496), // UMAXVv16i8v
6547 UINT64_C(779134976), // UMAXVv4i16v
6548 UINT64_C(1857071104), // UMAXVv4i32v
6549 UINT64_C(1852876800), // UMAXVv8i16v
6550 UINT64_C(774940672), // UMAXVv8i8v
6551 UINT64_C(298057728), // UMAXWri
6552 UINT64_C(448816128), // UMAXWrr
6553 UINT64_C(2445541376), // UMAXXri
6554 UINT64_C(2596299776), // UMAXXrr
6555 UINT64_C(3240144897), // UMAX_VG2_2Z2Z_B
6556 UINT64_C(3252727809), // UMAX_VG2_2Z2Z_D
6557 UINT64_C(3244339201), // UMAX_VG2_2Z2Z_H
6558 UINT64_C(3248533505), // UMAX_VG2_2Z2Z_S
6559 UINT64_C(3240140801), // UMAX_VG2_2ZZ_B
6560 UINT64_C(3252723713), // UMAX_VG2_2ZZ_D
6561 UINT64_C(3244335105), // UMAX_VG2_2ZZ_H
6562 UINT64_C(3248529409), // UMAX_VG2_2ZZ_S
6563 UINT64_C(3240146945), // UMAX_VG4_4Z4Z_B
6564 UINT64_C(3252729857), // UMAX_VG4_4Z4Z_D
6565 UINT64_C(3244341249), // UMAX_VG4_4Z4Z_H
6566 UINT64_C(3248535553), // UMAX_VG4_4Z4Z_S
6567 UINT64_C(3240142849), // UMAX_VG4_4ZZ_B
6568 UINT64_C(3252725761), // UMAX_VG4_4ZZ_D
6569 UINT64_C(3244337153), // UMAX_VG4_4ZZ_H
6570 UINT64_C(3248531457), // UMAX_VG4_4ZZ_S
6571 UINT64_C(623493120), // UMAX_ZI_B
6572 UINT64_C(636076032), // UMAX_ZI_D
6573 UINT64_C(627687424), // UMAX_ZI_H
6574 UINT64_C(631881728), // UMAX_ZI_S
6575 UINT64_C(67698688), // UMAX_ZPmZ_B
6576 UINT64_C(80281600), // UMAX_ZPmZ_D
6577 UINT64_C(71892992), // UMAX_ZPmZ_H
6578 UINT64_C(76087296), // UMAX_ZPmZ_S
6579 UINT64_C(1847616512), // UMAXv16i8
6580 UINT64_C(782263296), // UMAXv2i32
6581 UINT64_C(778068992), // UMAXv4i16
6582 UINT64_C(1856005120), // UMAXv4i32
6583 UINT64_C(1851810816), // UMAXv8i16
6584 UINT64_C(773874688), // UMAXv8i8
6585 UINT64_C(1142398976), // UMINP_ZPmZ_B
6586 UINT64_C(1154981888), // UMINP_ZPmZ_D
6587 UINT64_C(1146593280), // UMINP_ZPmZ_H
6588 UINT64_C(1150787584), // UMINP_ZPmZ_S
6589 UINT64_C(1847634944), // UMINPv16i8
6590 UINT64_C(782281728), // UMINPv2i32
6591 UINT64_C(778087424), // UMINPv4i16
6592 UINT64_C(1856023552), // UMINPv4i32
6593 UINT64_C(1851829248), // UMINPv8i16
6594 UINT64_C(773893120), // UMINPv8i8
6595 UINT64_C(68100096), // UMINQV_VPZ_B
6596 UINT64_C(80683008), // UMINQV_VPZ_D
6597 UINT64_C(72294400), // UMINQV_VPZ_H
6598 UINT64_C(76488704), // UMINQV_VPZ_S
6599 UINT64_C(67837952), // UMINV_VPZ_B
6600 UINT64_C(80420864), // UMINV_VPZ_D
6601 UINT64_C(72032256), // UMINV_VPZ_H
6602 UINT64_C(76226560), // UMINV_VPZ_S
6603 UINT64_C(1848748032), // UMINVv16i8v
6604 UINT64_C(779200512), // UMINVv4i16v
6605 UINT64_C(1857136640), // UMINVv4i32v
6606 UINT64_C(1852942336), // UMINVv8i16v
6607 UINT64_C(775006208), // UMINVv8i8v
6608 UINT64_C(298582016), // UMINWri
6609 UINT64_C(448818176), // UMINWrr
6610 UINT64_C(2446065664), // UMINXri
6611 UINT64_C(2596301824), // UMINXrr
6612 UINT64_C(3240144929), // UMIN_VG2_2Z2Z_B
6613 UINT64_C(3252727841), // UMIN_VG2_2Z2Z_D
6614 UINT64_C(3244339233), // UMIN_VG2_2Z2Z_H
6615 UINT64_C(3248533537), // UMIN_VG2_2Z2Z_S
6616 UINT64_C(3240140833), // UMIN_VG2_2ZZ_B
6617 UINT64_C(3252723745), // UMIN_VG2_2ZZ_D
6618 UINT64_C(3244335137), // UMIN_VG2_2ZZ_H
6619 UINT64_C(3248529441), // UMIN_VG2_2ZZ_S
6620 UINT64_C(3240146977), // UMIN_VG4_4Z4Z_B
6621 UINT64_C(3252729889), // UMIN_VG4_4Z4Z_D
6622 UINT64_C(3244341281), // UMIN_VG4_4Z4Z_H
6623 UINT64_C(3248535585), // UMIN_VG4_4Z4Z_S
6624 UINT64_C(3240142881), // UMIN_VG4_4ZZ_B
6625 UINT64_C(3252725793), // UMIN_VG4_4ZZ_D
6626 UINT64_C(3244337185), // UMIN_VG4_4ZZ_H
6627 UINT64_C(3248531489), // UMIN_VG4_4ZZ_S
6628 UINT64_C(623624192), // UMIN_ZI_B
6629 UINT64_C(636207104), // UMIN_ZI_D
6630 UINT64_C(627818496), // UMIN_ZI_H
6631 UINT64_C(632012800), // UMIN_ZI_S
6632 UINT64_C(67829760), // UMIN_ZPmZ_B
6633 UINT64_C(80412672), // UMIN_ZPmZ_D
6634 UINT64_C(72024064), // UMIN_ZPmZ_H
6635 UINT64_C(76218368), // UMIN_ZPmZ_S
6636 UINT64_C(1847618560), // UMINv16i8
6637 UINT64_C(782265344), // UMINv2i32
6638 UINT64_C(778071040), // UMINv4i16
6639 UINT64_C(1856007168), // UMINv4i32
6640 UINT64_C(1851812864), // UMINv8i16
6641 UINT64_C(773876736), // UMINv8i8
6642 UINT64_C(1155567616), // UMLALB_ZZZI_D
6643 UINT64_C(1151373312), // UMLALB_ZZZI_S
6644 UINT64_C(1153452032), // UMLALB_ZZZ_D
6645 UINT64_C(1145063424), // UMLALB_ZZZ_H
6646 UINT64_C(1149257728), // UMLALB_ZZZ_S
6647 UINT64_C(3238002704), // UMLALL_MZZI_BtoS
6648 UINT64_C(3246391312), // UMLALL_MZZI_HtoD
6649 UINT64_C(3240100880), // UMLALL_MZZ_BtoS
6650 UINT64_C(3244295184), // UMLALL_MZZ_HtoD
6651 UINT64_C(3248488464), // UMLALL_VG2_M2Z2Z_BtoS
6652 UINT64_C(3252682768), // UMLALL_VG2_M2Z2Z_HtoD
6653 UINT64_C(3239051280), // UMLALL_VG2_M2ZZI_BtoS
6654 UINT64_C(3247439888), // UMLALL_VG2_M2ZZI_HtoD
6655 UINT64_C(3240099856), // UMLALL_VG2_M2ZZ_BtoS
6656 UINT64_C(3244294160), // UMLALL_VG2_M2ZZ_HtoD
6657 UINT64_C(3248554000), // UMLALL_VG4_M4Z4Z_BtoS
6658 UINT64_C(3252748304), // UMLALL_VG4_M4Z4Z_HtoD
6659 UINT64_C(3239084048), // UMLALL_VG4_M4ZZI_BtoS
6660 UINT64_C(3247472656), // UMLALL_VG4_M4ZZI_HtoD
6661 UINT64_C(3241148432), // UMLALL_VG4_M4ZZ_BtoS
6662 UINT64_C(3245342736), // UMLALL_VG4_M4ZZ_HtoD
6663 UINT64_C(1155568640), // UMLALT_ZZZI_D
6664 UINT64_C(1151374336), // UMLALT_ZZZI_S
6665 UINT64_C(1153453056), // UMLALT_ZZZ_D
6666 UINT64_C(1145064448), // UMLALT_ZZZ_H
6667 UINT64_C(1149258752), // UMLALT_ZZZ_S
6668 UINT64_C(3250589712), // UMLAL_MZZI_HtoS
6669 UINT64_C(3244297232), // UMLAL_MZZ_HtoS
6670 UINT64_C(3252684816), // UMLAL_VG2_M2Z2Z_HtoS
6671 UINT64_C(3251638288), // UMLAL_VG2_M2ZZI_S
6672 UINT64_C(3244296208), // UMLAL_VG2_M2ZZ_HtoS
6673 UINT64_C(3252750352), // UMLAL_VG4_M4Z4Z_HtoS
6674 UINT64_C(3251671056), // UMLAL_VG4_M4ZZI_HtoS
6675 UINT64_C(3245344784), // UMLAL_VG4_M4ZZ_HtoS
6676 UINT64_C(1847623680), // UMLALv16i8_v8i16
6677 UINT64_C(796925952), // UMLALv2i32_indexed
6678 UINT64_C(782270464), // UMLALv2i32_v2i64
6679 UINT64_C(792731648), // UMLALv4i16_indexed
6680 UINT64_C(778076160), // UMLALv4i16_v4i32
6681 UINT64_C(1870667776), // UMLALv4i32_indexed
6682 UINT64_C(1856012288), // UMLALv4i32_v2i64
6683 UINT64_C(1866473472), // UMLALv8i16_indexed
6684 UINT64_C(1851817984), // UMLALv8i16_v4i32
6685 UINT64_C(773881856), // UMLALv8i8_v8i16
6686 UINT64_C(1155575808), // UMLSLB_ZZZI_D
6687 UINT64_C(1151381504), // UMLSLB_ZZZI_S
6688 UINT64_C(1153456128), // UMLSLB_ZZZ_D
6689 UINT64_C(1145067520), // UMLSLB_ZZZ_H
6690 UINT64_C(1149261824), // UMLSLB_ZZZ_S
6691 UINT64_C(3238002712), // UMLSLL_MZZI_BtoS
6692 UINT64_C(3246391320), // UMLSLL_MZZI_HtoD
6693 UINT64_C(3240100888), // UMLSLL_MZZ_BtoS
6694 UINT64_C(3244295192), // UMLSLL_MZZ_HtoD
6695 UINT64_C(3248488472), // UMLSLL_VG2_M2Z2Z_BtoS
6696 UINT64_C(3252682776), // UMLSLL_VG2_M2Z2Z_HtoD
6697 UINT64_C(3239051288), // UMLSLL_VG2_M2ZZI_BtoS
6698 UINT64_C(3247439896), // UMLSLL_VG2_M2ZZI_HtoD
6699 UINT64_C(3240099864), // UMLSLL_VG2_M2ZZ_BtoS
6700 UINT64_C(3244294168), // UMLSLL_VG2_M2ZZ_HtoD
6701 UINT64_C(3248554008), // UMLSLL_VG4_M4Z4Z_BtoS
6702 UINT64_C(3252748312), // UMLSLL_VG4_M4Z4Z_HtoD
6703 UINT64_C(3239084056), // UMLSLL_VG4_M4ZZI_BtoS
6704 UINT64_C(3247472664), // UMLSLL_VG4_M4ZZI_HtoD
6705 UINT64_C(3241148440), // UMLSLL_VG4_M4ZZ_BtoS
6706 UINT64_C(3245342744), // UMLSLL_VG4_M4ZZ_HtoD
6707 UINT64_C(1155576832), // UMLSLT_ZZZI_D
6708 UINT64_C(1151382528), // UMLSLT_ZZZI_S
6709 UINT64_C(1153457152), // UMLSLT_ZZZ_D
6710 UINT64_C(1145068544), // UMLSLT_ZZZ_H
6711 UINT64_C(1149262848), // UMLSLT_ZZZ_S
6712 UINT64_C(3250589720), // UMLSL_MZZI_HtoS
6713 UINT64_C(3244297240), // UMLSL_MZZ_HtoS
6714 UINT64_C(3252684824), // UMLSL_VG2_M2Z2Z_HtoS
6715 UINT64_C(3251638296), // UMLSL_VG2_M2ZZI_S
6716 UINT64_C(3244296216), // UMLSL_VG2_M2ZZ_HtoS
6717 UINT64_C(3252750360), // UMLSL_VG4_M4Z4Z_HtoS
6718 UINT64_C(3251671064), // UMLSL_VG4_M4ZZI_HtoS
6719 UINT64_C(3245344792), // UMLSL_VG4_M4ZZ_HtoS
6720 UINT64_C(1847631872), // UMLSLv16i8_v8i16
6721 UINT64_C(796942336), // UMLSLv2i32_indexed
6722 UINT64_C(782278656), // UMLSLv2i32_v2i64
6723 UINT64_C(792748032), // UMLSLv4i16_indexed
6724 UINT64_C(778084352), // UMLSLv4i16_v4i32
6725 UINT64_C(1870684160), // UMLSLv4i32_indexed
6726 UINT64_C(1856020480), // UMLSLv4i32_v2i64
6727 UINT64_C(1866489856), // UMLSLv8i16_indexed
6728 UINT64_C(1851826176), // UMLSLv8i16_v4i32
6729 UINT64_C(773890048), // UMLSLv8i8_v8i16
6730 UINT64_C(1853924352), // UMMLA
6731 UINT64_C(1170249728), // UMMLA_ZZZ
6732 UINT64_C(2167439872), // UMOP4A_M2Z2Z_BToS
6733 UINT64_C(2165342728), // UMOP4A_M2Z2Z_HToS
6734 UINT64_C(2716860936), // UMOP4A_M2Z2Z_HtoD
6735 UINT64_C(2166391296), // UMOP4A_M2ZZ_BToS
6736 UINT64_C(2164294152), // UMOP4A_M2ZZ_HToS
6737 UINT64_C(2715812360), // UMOP4A_M2ZZ_HtoD
6738 UINT64_C(2167439360), // UMOP4A_MZ2Z_BToS
6739 UINT64_C(2165342216), // UMOP4A_MZ2Z_HToS
6740 UINT64_C(2716860424), // UMOP4A_MZ2Z_HtoD
6741 UINT64_C(2166390784), // UMOP4A_MZZ_BToS
6742 UINT64_C(2164293640), // UMOP4A_MZZ_HToS
6743 UINT64_C(2715811848), // UMOP4A_MZZ_HtoD
6744 UINT64_C(2167439888), // UMOP4S_M2Z2Z_BToS
6745 UINT64_C(2165342744), // UMOP4S_M2Z2Z_HToS
6746 UINT64_C(2716860952), // UMOP4S_M2Z2Z_HtoD
6747 UINT64_C(2166391312), // UMOP4S_M2ZZ_BToS
6748 UINT64_C(2164294168), // UMOP4S_M2ZZ_HToS
6749 UINT64_C(2715812376), // UMOP4S_M2ZZ_HtoD
6750 UINT64_C(2167439376), // UMOP4S_MZ2Z_BToS
6751 UINT64_C(2165342232), // UMOP4S_MZ2Z_HToS
6752 UINT64_C(2716860440), // UMOP4S_MZ2Z_HtoD
6753 UINT64_C(2166390800), // UMOP4S_MZZ_BToS
6754 UINT64_C(2164293656), // UMOP4S_MZZ_HToS
6755 UINT64_C(2715811864), // UMOP4S_MZZ_HtoD
6756 UINT64_C(2715811840), // UMOPA_MPPZZ_D
6757 UINT64_C(2709520392), // UMOPA_MPPZZ_HtoS
6758 UINT64_C(2711617536), // UMOPA_MPPZZ_S
6759 UINT64_C(2715811856), // UMOPS_MPPZZ_D
6760 UINT64_C(2709520408), // UMOPS_MPPZZ_HtoS
6761 UINT64_C(2711617552), // UMOPS_MPPZZ_S
6762 UINT64_C(235027456), // UMOVvi16
6763 UINT64_C(235027456), // UMOVvi16_idx0
6764 UINT64_C(235158528), // UMOVvi32
6765 UINT64_C(235158528), // UMOVvi32_idx0
6766 UINT64_C(1309162496), // UMOVvi64
6767 UINT64_C(1309162496), // UMOVvi64_idx0
6768 UINT64_C(234961920), // UMOVvi8
6769 UINT64_C(234961920), // UMOVvi8_idx0
6770 UINT64_C(2610987008), // UMSUBLrrr
6771 UINT64_C(68354048), // UMULH_ZPmZ_B
6772 UINT64_C(80936960), // UMULH_ZPmZ_D
6773 UINT64_C(72548352), // UMULH_ZPmZ_H
6774 UINT64_C(76742656), // UMULH_ZPmZ_S
6775 UINT64_C(69233664), // UMULH_ZZZ_B
6776 UINT64_C(81816576), // UMULH_ZZZ_D
6777 UINT64_C(73427968), // UMULH_ZZZ_H
6778 UINT64_C(77622272), // UMULH_ZZZ_S
6779 UINT64_C(2613083136), // UMULHrr
6780 UINT64_C(1155584000), // UMULLB_ZZZI_D
6781 UINT64_C(1151389696), // UMULLB_ZZZI_S
6782 UINT64_C(1170241536), // UMULLB_ZZZ_D
6783 UINT64_C(1161852928), // UMULLB_ZZZ_H
6784 UINT64_C(1166047232), // UMULLB_ZZZ_S
6785 UINT64_C(1155585024), // UMULLT_ZZZI_D
6786 UINT64_C(1151390720), // UMULLT_ZZZI_S
6787 UINT64_C(1170242560), // UMULLT_ZZZ_D
6788 UINT64_C(1161853952), // UMULLT_ZZZ_H
6789 UINT64_C(1166048256), // UMULLT_ZZZ_S
6790 UINT64_C(1847640064), // UMULLv16i8_v8i16
6791 UINT64_C(796958720), // UMULLv2i32_indexed
6792 UINT64_C(782286848), // UMULLv2i32_v2i64
6793 UINT64_C(792764416), // UMULLv4i16_indexed
6794 UINT64_C(778092544), // UMULLv4i16_v4i32
6795 UINT64_C(1870700544), // UMULLv4i32_indexed
6796 UINT64_C(1856028672), // UMULLv4i32_v2i64
6797 UINT64_C(1866506240), // UMULLv8i16_indexed
6798 UINT64_C(1851834368), // UMULLv8i16_v4i32
6799 UINT64_C(773898240), // UMULLv8i8_v8i16
6800 UINT64_C(623230976), // UQADD_ZI_B
6801 UINT64_C(635813888), // UQADD_ZI_D
6802 UINT64_C(627425280), // UQADD_ZI_H
6803 UINT64_C(631619584), // UQADD_ZI_S
6804 UINT64_C(1142521856), // UQADD_ZPmZ_B
6805 UINT64_C(1155104768), // UQADD_ZPmZ_D
6806 UINT64_C(1146716160), // UQADD_ZPmZ_H
6807 UINT64_C(1150910464), // UQADD_ZPmZ_S
6808 UINT64_C(69211136), // UQADD_ZZZ_B
6809 UINT64_C(81794048), // UQADD_ZZZ_D
6810 UINT64_C(73405440), // UQADD_ZZZ_H
6811 UINT64_C(77599744), // UQADD_ZZZ_S
6812 UINT64_C(1847593984), // UQADDv16i8
6813 UINT64_C(2120223744), // UQADDv1i16
6814 UINT64_C(2124418048), // UQADDv1i32
6815 UINT64_C(2128612352), // UQADDv1i64
6816 UINT64_C(2116029440), // UQADDv1i8
6817 UINT64_C(782240768), // UQADDv2i32
6818 UINT64_C(1860176896), // UQADDv2i64
6819 UINT64_C(778046464), // UQADDv4i16
6820 UINT64_C(1855982592), // UQADDv4i32
6821 UINT64_C(1851788288), // UQADDv8i16
6822 UINT64_C(773852160), // UQADDv8i8
6823 UINT64_C(1160857600), // UQCVTN_Z2Z_StoH
6824 UINT64_C(3249791072), // UQCVTN_Z4Z_DtoH
6825 UINT64_C(3241402464), // UQCVTN_Z4Z_StoB
6826 UINT64_C(3240353824), // UQCVT_Z2Z_StoH
6827 UINT64_C(3249791008), // UQCVT_Z4Z_DtoH
6828 UINT64_C(3241402400), // UQCVT_Z4Z_StoB
6829 UINT64_C(69270528), // UQDECB_WPiI
6830 UINT64_C(70319104), // UQDECB_XPiI
6831 UINT64_C(81853440), // UQDECD_WPiI
6832 UINT64_C(82902016), // UQDECD_XPiI
6833 UINT64_C(81841152), // UQDECD_ZPiI
6834 UINT64_C(73464832), // UQDECH_WPiI
6835 UINT64_C(74513408), // UQDECH_XPiI
6836 UINT64_C(73452544), // UQDECH_ZPiI
6837 UINT64_C(623609856), // UQDECP_WP_B
6838 UINT64_C(636192768), // UQDECP_WP_D
6839 UINT64_C(627804160), // UQDECP_WP_H
6840 UINT64_C(631998464), // UQDECP_WP_S
6841 UINT64_C(623610880), // UQDECP_XP_B
6842 UINT64_C(636193792), // UQDECP_XP_D
6843 UINT64_C(627805184), // UQDECP_XP_H
6844 UINT64_C(631999488), // UQDECP_XP_S
6845 UINT64_C(636190720), // UQDECP_ZP_D
6846 UINT64_C(627802112), // UQDECP_ZP_H
6847 UINT64_C(631996416), // UQDECP_ZP_S
6848 UINT64_C(77659136), // UQDECW_WPiI
6849 UINT64_C(78707712), // UQDECW_XPiI
6850 UINT64_C(77646848), // UQDECW_ZPiI
6851 UINT64_C(69268480), // UQINCB_WPiI
6852 UINT64_C(70317056), // UQINCB_XPiI
6853 UINT64_C(81851392), // UQINCD_WPiI
6854 UINT64_C(82899968), // UQINCD_XPiI
6855 UINT64_C(81839104), // UQINCD_ZPiI
6856 UINT64_C(73462784), // UQINCH_WPiI
6857 UINT64_C(74511360), // UQINCH_XPiI
6858 UINT64_C(73450496), // UQINCH_ZPiI
6859 UINT64_C(623478784), // UQINCP_WP_B
6860 UINT64_C(636061696), // UQINCP_WP_D
6861 UINT64_C(627673088), // UQINCP_WP_H
6862 UINT64_C(631867392), // UQINCP_WP_S
6863 UINT64_C(623479808), // UQINCP_XP_B
6864 UINT64_C(636062720), // UQINCP_XP_D
6865 UINT64_C(627674112), // UQINCP_XP_H
6866 UINT64_C(631868416), // UQINCP_XP_S
6867 UINT64_C(636059648), // UQINCP_ZP_D
6868 UINT64_C(627671040), // UQINCP_ZP_H
6869 UINT64_C(631865344), // UQINCP_ZP_S
6870 UINT64_C(77657088), // UQINCW_WPiI
6871 UINT64_C(78705664), // UQINCW_XPiI
6872 UINT64_C(77644800), // UQINCW_ZPiI
6873 UINT64_C(1141866496), // UQRSHLR_ZPmZ_B
6874 UINT64_C(1154449408), // UQRSHLR_ZPmZ_D
6875 UINT64_C(1146060800), // UQRSHLR_ZPmZ_H
6876 UINT64_C(1150255104), // UQRSHLR_ZPmZ_S
6877 UINT64_C(1141604352), // UQRSHL_ZPmZ_B
6878 UINT64_C(1154187264), // UQRSHL_ZPmZ_D
6879 UINT64_C(1145798656), // UQRSHL_ZPmZ_H
6880 UINT64_C(1149992960), // UQRSHL_ZPmZ_S
6881 UINT64_C(1847614464), // UQRSHLv16i8
6882 UINT64_C(2120244224), // UQRSHLv1i16
6883 UINT64_C(2124438528), // UQRSHLv1i32
6884 UINT64_C(2128632832), // UQRSHLv1i64
6885 UINT64_C(2116049920), // UQRSHLv1i8
6886 UINT64_C(782261248), // UQRSHLv2i32
6887 UINT64_C(1860197376), // UQRSHLv2i64
6888 UINT64_C(778066944), // UQRSHLv4i16
6889 UINT64_C(1856003072), // UQRSHLv4i32
6890 UINT64_C(1851808768), // UQRSHLv8i16
6891 UINT64_C(773872640), // UQRSHLv8i8
6892 UINT64_C(1160263680), // UQRSHRNB_ZZI_B
6893 UINT64_C(1160787968), // UQRSHRNB_ZZI_H
6894 UINT64_C(1163933696), // UQRSHRNB_ZZI_S
6895 UINT64_C(1160264704), // UQRSHRNT_ZZI_B
6896 UINT64_C(1160788992), // UQRSHRNT_ZZI_H
6897 UINT64_C(1163934720), // UQRSHRNT_ZZI_S
6898 UINT64_C(3244350496), // UQRSHRN_VG4_Z4ZI_B
6899 UINT64_C(3248544800), // UQRSHRN_VG4_Z4ZI_H
6900 UINT64_C(1168652288), // UQRSHRN_Z2ZI_HtoB
6901 UINT64_C(1169176576), // UQRSHRN_Z2ZI_StoH
6902 UINT64_C(2131270656), // UQRSHRNb
6903 UINT64_C(2131794944), // UQRSHRNh
6904 UINT64_C(2132843520), // UQRSHRNs
6905 UINT64_C(1862835200), // UQRSHRNv16i8_shift
6906 UINT64_C(790666240), // UQRSHRNv2i32_shift
6907 UINT64_C(789617664), // UQRSHRNv4i16_shift
6908 UINT64_C(1864408064), // UQRSHRNv4i32_shift
6909 UINT64_C(1863359488), // UQRSHRNv8i16_shift
6910 UINT64_C(789093376), // UQRSHRNv8i8_shift
6911 UINT64_C(3252737056), // UQRSHR_VG2_Z2ZI_H
6912 UINT64_C(3244349472), // UQRSHR_VG4_Z4ZI_B
6913 UINT64_C(3248543776), // UQRSHR_VG4_Z4ZI_H
6914 UINT64_C(1141735424), // UQSHLR_ZPmZ_B
6915 UINT64_C(1154318336), // UQSHLR_ZPmZ_D
6916 UINT64_C(1145929728), // UQSHLR_ZPmZ_H
6917 UINT64_C(1150124032), // UQSHLR_ZPmZ_S
6918 UINT64_C(67600640), // UQSHL_ZPmI_B
6919 UINT64_C(75988992), // UQSHL_ZPmI_D
6920 UINT64_C(67600896), // UQSHL_ZPmI_H
6921 UINT64_C(71794688), // UQSHL_ZPmI_S
6922 UINT64_C(1141473280), // UQSHL_ZPmZ_B
6923 UINT64_C(1154056192), // UQSHL_ZPmZ_D
6924 UINT64_C(1145667584), // UQSHL_ZPmZ_H
6925 UINT64_C(1149861888), // UQSHL_ZPmZ_S
6926 UINT64_C(2131260416), // UQSHLb
6927 UINT64_C(2134930432), // UQSHLd
6928 UINT64_C(2131784704), // UQSHLh
6929 UINT64_C(2132833280), // UQSHLs
6930 UINT64_C(1847610368), // UQSHLv16i8
6931 UINT64_C(1862824960), // UQSHLv16i8_shift
6932 UINT64_C(2120240128), // UQSHLv1i16
6933 UINT64_C(2124434432), // UQSHLv1i32
6934 UINT64_C(2128628736), // UQSHLv1i64
6935 UINT64_C(2116045824), // UQSHLv1i8
6936 UINT64_C(782257152), // UQSHLv2i32
6937 UINT64_C(790656000), // UQSHLv2i32_shift
6938 UINT64_C(1860193280), // UQSHLv2i64
6939 UINT64_C(1866494976), // UQSHLv2i64_shift
6940 UINT64_C(778062848), // UQSHLv4i16
6941 UINT64_C(789607424), // UQSHLv4i16_shift
6942 UINT64_C(1855998976), // UQSHLv4i32
6943 UINT64_C(1864397824), // UQSHLv4i32_shift
6944 UINT64_C(1851804672), // UQSHLv8i16
6945 UINT64_C(1863349248), // UQSHLv8i16_shift
6946 UINT64_C(773868544), // UQSHLv8i8
6947 UINT64_C(789083136), // UQSHLv8i8_shift
6948 UINT64_C(1160261632), // UQSHRNB_ZZI_B
6949 UINT64_C(1160785920), // UQSHRNB_ZZI_H
6950 UINT64_C(1163931648), // UQSHRNB_ZZI_S
6951 UINT64_C(1160262656), // UQSHRNT_ZZI_B
6952 UINT64_C(1160786944), // UQSHRNT_ZZI_H
6953 UINT64_C(1163932672), // UQSHRNT_ZZI_S
6954 UINT64_C(1168642048), // UQSHRN_Z2ZI_HtoB
6955 UINT64_C(1169166336), // UQSHRN_Z2ZI_StoH
6956 UINT64_C(2131268608), // UQSHRNb
6957 UINT64_C(2131792896), // UQSHRNh
6958 UINT64_C(2132841472), // UQSHRNs
6959 UINT64_C(1862833152), // UQSHRNv16i8_shift
6960 UINT64_C(790664192), // UQSHRNv2i32_shift
6961 UINT64_C(789615616), // UQSHRNv4i16_shift
6962 UINT64_C(1864406016), // UQSHRNv4i32_shift
6963 UINT64_C(1863357440), // UQSHRNv8i16_shift
6964 UINT64_C(789091328), // UQSHRNv8i8_shift
6965 UINT64_C(1142915072), // UQSUBR_ZPmZ_B
6966 UINT64_C(1155497984), // UQSUBR_ZPmZ_D
6967 UINT64_C(1147109376), // UQSUBR_ZPmZ_H
6968 UINT64_C(1151303680), // UQSUBR_ZPmZ_S
6969 UINT64_C(623362048), // UQSUB_ZI_B
6970 UINT64_C(635944960), // UQSUB_ZI_D
6971 UINT64_C(627556352), // UQSUB_ZI_H
6972 UINT64_C(631750656), // UQSUB_ZI_S
6973 UINT64_C(1142652928), // UQSUB_ZPmZ_B
6974 UINT64_C(1155235840), // UQSUB_ZPmZ_D
6975 UINT64_C(1146847232), // UQSUB_ZPmZ_H
6976 UINT64_C(1151041536), // UQSUB_ZPmZ_S
6977 UINT64_C(69213184), // UQSUB_ZZZ_B
6978 UINT64_C(81796096), // UQSUB_ZZZ_D
6979 UINT64_C(73407488), // UQSUB_ZZZ_H
6980 UINT64_C(77601792), // UQSUB_ZZZ_S
6981 UINT64_C(1847602176), // UQSUBv16i8
6982 UINT64_C(2120231936), // UQSUBv1i16
6983 UINT64_C(2124426240), // UQSUBv1i32
6984 UINT64_C(2128620544), // UQSUBv1i64
6985 UINT64_C(2116037632), // UQSUBv1i8
6986 UINT64_C(782248960), // UQSUBv2i32
6987 UINT64_C(1860185088), // UQSUBv2i64
6988 UINT64_C(778054656), // UQSUBv4i16
6989 UINT64_C(1855990784), // UQSUBv4i32
6990 UINT64_C(1851796480), // UQSUBv8i16
6991 UINT64_C(773860352), // UQSUBv8i8
6992 UINT64_C(1160267776), // UQXTNB_ZZ_B
6993 UINT64_C(1160792064), // UQXTNB_ZZ_H
6994 UINT64_C(1163937792), // UQXTNB_ZZ_S
6995 UINT64_C(1160268800), // UQXTNT_ZZ_B
6996 UINT64_C(1160793088), // UQXTNT_ZZ_H
6997 UINT64_C(1163938816), // UQXTNT_ZZ_S
6998 UINT64_C(1847674880), // UQXTNv16i8
6999 UINT64_C(2120304640), // UQXTNv1i16
7000 UINT64_C(2124498944), // UQXTNv1i32
7001 UINT64_C(2116110336), // UQXTNv1i8
7002 UINT64_C(782321664), // UQXTNv2i32
7003 UINT64_C(778127360), // UQXTNv4i16
7004 UINT64_C(1856063488), // UQXTNv4i32
7005 UINT64_C(1851869184), // UQXTNv8i16
7006 UINT64_C(773933056), // UQXTNv8i8
7007 UINT64_C(1149280256), // URECPE_ZPmZ_S
7008 UINT64_C(1149411328), // URECPE_ZPzZ_S
7009 UINT64_C(245483520), // URECPEv2i32
7010 UINT64_C(1319225344), // URECPEv4i32
7011 UINT64_C(1142259712), // URHADD_ZPmZ_B
7012 UINT64_C(1154842624), // URHADD_ZPmZ_D
7013 UINT64_C(1146454016), // URHADD_ZPmZ_H
7014 UINT64_C(1150648320), // URHADD_ZPmZ_S
7015 UINT64_C(1847596032), // URHADDv16i8
7016 UINT64_C(782242816), // URHADDv2i32
7017 UINT64_C(778048512), // URHADDv4i16
7018 UINT64_C(1855984640), // URHADDv4i32
7019 UINT64_C(1851790336), // URHADDv8i16
7020 UINT64_C(773854208), // URHADDv8i8
7021 UINT64_C(1141342208), // URSHLR_ZPmZ_B
7022 UINT64_C(1153925120), // URSHLR_ZPmZ_D
7023 UINT64_C(1145536512), // URSHLR_ZPmZ_H
7024 UINT64_C(1149730816), // URSHLR_ZPmZ_S
7025 UINT64_C(3240145441), // URSHL_VG2_2Z2Z_B
7026 UINT64_C(3252728353), // URSHL_VG2_2Z2Z_D
7027 UINT64_C(3244339745), // URSHL_VG2_2Z2Z_H
7028 UINT64_C(3248534049), // URSHL_VG2_2Z2Z_S
7029 UINT64_C(3240141345), // URSHL_VG2_2ZZ_B
7030 UINT64_C(3252724257), // URSHL_VG2_2ZZ_D
7031 UINT64_C(3244335649), // URSHL_VG2_2ZZ_H
7032 UINT64_C(3248529953), // URSHL_VG2_2ZZ_S
7033 UINT64_C(3240147489), // URSHL_VG4_4Z4Z_B
7034 UINT64_C(3252730401), // URSHL_VG4_4Z4Z_D
7035 UINT64_C(3244341793), // URSHL_VG4_4Z4Z_H
7036 UINT64_C(3248536097), // URSHL_VG4_4Z4Z_S
7037 UINT64_C(3240143393), // URSHL_VG4_4ZZ_B
7038 UINT64_C(3252726305), // URSHL_VG4_4ZZ_D
7039 UINT64_C(3244337697), // URSHL_VG4_4ZZ_H
7040 UINT64_C(3248532001), // URSHL_VG4_4ZZ_S
7041 UINT64_C(1141080064), // URSHL_ZPmZ_B
7042 UINT64_C(1153662976), // URSHL_ZPmZ_D
7043 UINT64_C(1145274368), // URSHL_ZPmZ_H
7044 UINT64_C(1149468672), // URSHL_ZPmZ_S
7045 UINT64_C(1847612416), // URSHLv16i8
7046 UINT64_C(2128630784), // URSHLv1i64
7047 UINT64_C(782259200), // URSHLv2i32
7048 UINT64_C(1860195328), // URSHLv2i64
7049 UINT64_C(778064896), // URSHLv4i16
7050 UINT64_C(1856001024), // URSHLv4i32
7051 UINT64_C(1851806720), // URSHLv8i16
7052 UINT64_C(773870592), // URSHLv8i8
7053 UINT64_C(67993856), // URSHR_ZPmI_B
7054 UINT64_C(76382208), // URSHR_ZPmI_D
7055 UINT64_C(67994112), // URSHR_ZPmI_H
7056 UINT64_C(72187904), // URSHR_ZPmI_S
7057 UINT64_C(2134909952), // URSHRd
7058 UINT64_C(1862804480), // URSHRv16i8_shift
7059 UINT64_C(790635520), // URSHRv2i32_shift
7060 UINT64_C(1866474496), // URSHRv2i64_shift
7061 UINT64_C(789586944), // URSHRv4i16_shift
7062 UINT64_C(1864377344), // URSHRv4i32_shift
7063 UINT64_C(1863328768), // URSHRv8i16_shift
7064 UINT64_C(789062656), // URSHRv8i8_shift
7065 UINT64_C(1149345792), // URSQRTE_ZPmZ_S
7066 UINT64_C(1149476864), // URSQRTE_ZPzZ_S
7067 UINT64_C(782354432), // URSQRTEv2i32
7068 UINT64_C(1856096256), // URSQRTEv4i32
7069 UINT64_C(1158212608), // URSRA_ZZI_B
7070 UINT64_C(1166076928), // URSRA_ZZI_D
7071 UINT64_C(1158736896), // URSRA_ZZI_H
7072 UINT64_C(1161882624), // URSRA_ZZI_S
7073 UINT64_C(2134914048), // URSRAd
7074 UINT64_C(1862808576), // URSRAv16i8_shift
7075 UINT64_C(790639616), // URSRAv2i32_shift
7076 UINT64_C(1866478592), // URSRAv2i64_shift
7077 UINT64_C(789591040), // URSRAv4i16_shift
7078 UINT64_C(1864381440), // URSRAv4i32_shift
7079 UINT64_C(1863332864), // URSRAv8i16_shift
7080 UINT64_C(789066752), // URSRAv8i8_shift
7081 UINT64_C(3248493576), // USDOT_VG2_M2Z2Z_BToS
7082 UINT64_C(3243249704), // USDOT_VG2_M2ZZI_BToS
7083 UINT64_C(3240104968), // USDOT_VG2_M2ZZ_BToS
7084 UINT64_C(3248559112), // USDOT_VG4_M4Z4Z_BToS
7085 UINT64_C(3243282472), // USDOT_VG4_M4ZZI_BToS
7086 UINT64_C(3241153544), // USDOT_VG4_M4ZZ_BToS
7087 UINT64_C(1149270016), // USDOT_ZZZ
7088 UINT64_C(1151342592), // USDOT_ZZZI
7089 UINT64_C(1333850112), // USDOTlanev16i8
7090 UINT64_C(260108288), // USDOTlanev8i8
7091 UINT64_C(1317051392), // USDOTv16i8
7092 UINT64_C(243309568), // USDOTv8i8
7093 UINT64_C(1161865216), // USHLLB_ZZI_D
7094 UINT64_C(1158195200), // USHLLB_ZZI_H
7095 UINT64_C(1158719488), // USHLLB_ZZI_S
7096 UINT64_C(1161866240), // USHLLT_ZZI_D
7097 UINT64_C(1158196224), // USHLLT_ZZI_H
7098 UINT64_C(1158720512), // USHLLT_ZZI_S
7099 UINT64_C(1862837248), // USHLLv16i8_shift
7100 UINT64_C(790668288), // USHLLv2i32_shift
7101 UINT64_C(789619712), // USHLLv4i16_shift
7102 UINT64_C(1864410112), // USHLLv4i32_shift
7103 UINT64_C(1863361536), // USHLLv8i16_shift
7104 UINT64_C(789095424), // USHLLv8i8_shift
7105 UINT64_C(1847608320), // USHLv16i8
7106 UINT64_C(2128626688), // USHLv1i64
7107 UINT64_C(782255104), // USHLv2i32
7108 UINT64_C(1860191232), // USHLv2i64
7109 UINT64_C(778060800), // USHLv4i16
7110 UINT64_C(1855996928), // USHLv4i32
7111 UINT64_C(1851802624), // USHLv8i16
7112 UINT64_C(773866496), // USHLv8i8
7113 UINT64_C(2134901760), // USHRd
7114 UINT64_C(1862796288), // USHRv16i8_shift
7115 UINT64_C(790627328), // USHRv2i32_shift
7116 UINT64_C(1866466304), // USHRv2i64_shift
7117 UINT64_C(789578752), // USHRv4i16_shift
7118 UINT64_C(1864369152), // USHRv4i32_shift
7119 UINT64_C(1863320576), // USHRv8i16_shift
7120 UINT64_C(789054464), // USHRv8i8_shift
7121 UINT64_C(3238002692), // USMLALL_MZZI_BtoS
7122 UINT64_C(3240100868), // USMLALL_MZZ_BtoS
7123 UINT64_C(3248488452), // USMLALL_VG2_M2Z2Z_BtoS
7124 UINT64_C(3239051296), // USMLALL_VG2_M2ZZI_BtoS
7125 UINT64_C(3240099844), // USMLALL_VG2_M2ZZ_BtoS
7126 UINT64_C(3248553988), // USMLALL_VG4_M4Z4Z_BtoS
7127 UINT64_C(3239084064), // USMLALL_VG4_M4ZZI_BtoS
7128 UINT64_C(3241148420), // USMLALL_VG4_M4ZZ_BtoS
7129 UINT64_C(1317055488), // USMMLA
7130 UINT64_C(1166055424), // USMMLA_ZZZ
7131 UINT64_C(2165342720), // USMOP4A_M2Z2Z_BToS
7132 UINT64_C(2714763784), // USMOP4A_M2Z2Z_HtoD
7133 UINT64_C(2164294144), // USMOP4A_M2ZZ_BToS
7134 UINT64_C(2713715208), // USMOP4A_M2ZZ_HtoD
7135 UINT64_C(2165342208), // USMOP4A_MZ2Z_BToS
7136 UINT64_C(2714763272), // USMOP4A_MZ2Z_HtoD
7137 UINT64_C(2164293632), // USMOP4A_MZZ_BToS
7138 UINT64_C(2713714696), // USMOP4A_MZZ_HtoD
7139 UINT64_C(2165342736), // USMOP4S_M2Z2Z_BToS
7140 UINT64_C(2714763800), // USMOP4S_M2Z2Z_HtoD
7141 UINT64_C(2164294160), // USMOP4S_M2ZZ_BToS
7142 UINT64_C(2713715224), // USMOP4S_M2ZZ_HtoD
7143 UINT64_C(2165342224), // USMOP4S_MZ2Z_BToS
7144 UINT64_C(2714763288), // USMOP4S_MZ2Z_HtoD
7145 UINT64_C(2164293648), // USMOP4S_MZZ_BToS
7146 UINT64_C(2713714712), // USMOP4S_MZZ_HtoD
7147 UINT64_C(2713714688), // USMOPA_MPPZZ_D
7148 UINT64_C(2709520384), // USMOPA_MPPZZ_S
7149 UINT64_C(2713714704), // USMOPS_MPPZZ_D
7150 UINT64_C(2709520400), // USMOPS_MPPZZ_S
7151 UINT64_C(1142784000), // USQADD_ZPmZ_B
7152 UINT64_C(1155366912), // USQADD_ZPmZ_D
7153 UINT64_C(1146978304), // USQADD_ZPmZ_H
7154 UINT64_C(1151172608), // USQADD_ZPmZ_S
7155 UINT64_C(1847605248), // USQADDv16i8
7156 UINT64_C(2120235008), // USQADDv1i16
7157 UINT64_C(2124429312), // USQADDv1i32
7158 UINT64_C(2128623616), // USQADDv1i64
7159 UINT64_C(2116040704), // USQADDv1i8
7160 UINT64_C(782252032), // USQADDv2i32
7161 UINT64_C(1860188160), // USQADDv2i64
7162 UINT64_C(778057728), // USQADDv4i16
7163 UINT64_C(1855993856), // USQADDv4i32
7164 UINT64_C(1851799552), // USQADDv8i16
7165 UINT64_C(773863424), // USQADDv8i8
7166 UINT64_C(1158210560), // USRA_ZZI_B
7167 UINT64_C(1166074880), // USRA_ZZI_D
7168 UINT64_C(1158734848), // USRA_ZZI_H
7169 UINT64_C(1161880576), // USRA_ZZI_S
7170 UINT64_C(2134905856), // USRAd
7171 UINT64_C(1862800384), // USRAv16i8_shift
7172 UINT64_C(790631424), // USRAv2i32_shift
7173 UINT64_C(1866470400), // USRAv2i64_shift
7174 UINT64_C(789582848), // USRAv4i16_shift
7175 UINT64_C(1864373248), // USRAv4i32_shift
7176 UINT64_C(1863324672), // USRAv8i16_shift
7177 UINT64_C(789058560), // USRAv8i8_shift
7178 UINT64_C(2168487936), // USTMOPA_M2ZZZI_BtoS
7179 UINT64_C(1170216960), // USUBLB_ZZZ_D
7180 UINT64_C(1161828352), // USUBLB_ZZZ_H
7181 UINT64_C(1166022656), // USUBLB_ZZZ_S
7182 UINT64_C(1170217984), // USUBLT_ZZZ_D
7183 UINT64_C(1161829376), // USUBLT_ZZZ_H
7184 UINT64_C(1166023680), // USUBLT_ZZZ_S
7185 UINT64_C(1847599104), // USUBLv16i8_v8i16
7186 UINT64_C(782245888), // USUBLv2i32_v2i64
7187 UINT64_C(778051584), // USUBLv4i16_v4i32
7188 UINT64_C(1855987712), // USUBLv4i32_v2i64
7189 UINT64_C(1851793408), // USUBLv8i16_v4i32
7190 UINT64_C(773857280), // USUBLv8i8_v8i16
7191 UINT64_C(1170233344), // USUBWB_ZZZ_D
7192 UINT64_C(1161844736), // USUBWB_ZZZ_H
7193 UINT64_C(1166039040), // USUBWB_ZZZ_S
7194 UINT64_C(1170234368), // USUBWT_ZZZ_D
7195 UINT64_C(1161845760), // USUBWT_ZZZ_H
7196 UINT64_C(1166040064), // USUBWT_ZZZ_S
7197 UINT64_C(1847603200), // USUBWv16i8_v8i16
7198 UINT64_C(782249984), // USUBWv2i32_v2i64
7199 UINT64_C(778055680), // USUBWv4i16_v4i32
7200 UINT64_C(1855991808), // USUBWv4i32_v2i64
7201 UINT64_C(1851797504), // USUBWv8i16_v4i32
7202 UINT64_C(773861376), // USUBWv8i8_v8i16
7203 UINT64_C(3243278376), // USVDOT_VG4_M4ZZI_BToS
7204 UINT64_C(2170585088), // UTMOPA_M2ZZZI_BtoS
7205 UINT64_C(2168487944), // UTMOPA_M2ZZZI_HtoS
7206 UINT64_C(99825664), // UUNPKHI_ZZ_D
7207 UINT64_C(91437056), // UUNPKHI_ZZ_H
7208 UINT64_C(95631360), // UUNPKHI_ZZ_S
7209 UINT64_C(99760128), // UUNPKLO_ZZ_D
7210 UINT64_C(91371520), // UUNPKLO_ZZ_H
7211 UINT64_C(95565824), // UUNPKLO_ZZ_S
7212 UINT64_C(3253067777), // UUNPK_VG2_2ZZ_D
7213 UINT64_C(3244679169), // UUNPK_VG2_2ZZ_H
7214 UINT64_C(3248873473), // UUNPK_VG2_2ZZ_S
7215 UINT64_C(3254116353), // UUNPK_VG4_4Z2Z_D
7216 UINT64_C(3245727745), // UUNPK_VG4_4Z2Z_H
7217 UINT64_C(3249922049), // UUNPK_VG4_4Z2Z_S
7218 UINT64_C(3243245616), // UVDOT_VG2_M2ZZI_HtoS
7219 UINT64_C(3243278384), // UVDOT_VG4_M4ZZI_BtoS
7220 UINT64_C(3251669016), // UVDOT_VG4_M4ZZI_HtoD
7221 UINT64_C(80846848), // UXTB_ZPmZ_D
7222 UINT64_C(72458240), // UXTB_ZPmZ_H
7223 UINT64_C(76652544), // UXTB_ZPmZ_S
7224 UINT64_C(79798272), // UXTB_ZPzZ_D
7225 UINT64_C(71409664), // UXTB_ZPzZ_H
7226 UINT64_C(75603968), // UXTB_ZPzZ_S
7227 UINT64_C(80977920), // UXTH_ZPmZ_D
7228 UINT64_C(76783616), // UXTH_ZPmZ_S
7229 UINT64_C(79929344), // UXTH_ZPzZ_D
7230 UINT64_C(75735040), // UXTH_ZPzZ_S
7231 UINT64_C(81108992), // UXTW_ZPmZ_D
7232 UINT64_C(80060416), // UXTW_ZPzZ_D
7233 UINT64_C(86001664), // UZP1_PPP_B
7234 UINT64_C(98584576), // UZP1_PPP_D
7235 UINT64_C(90195968), // UZP1_PPP_H
7236 UINT64_C(94390272), // UZP1_PPP_S
7237 UINT64_C(86009856), // UZP1_ZZZ_B
7238 UINT64_C(98592768), // UZP1_ZZZ_D
7239 UINT64_C(90204160), // UZP1_ZZZ_H
7240 UINT64_C(94373888), // UZP1_ZZZ_Q
7241 UINT64_C(94398464), // UZP1_ZZZ_S
7242 UINT64_C(1308628992), // UZP1v16i8
7243 UINT64_C(243275776), // UZP1v2i32
7244 UINT64_C(1321211904), // UZP1v2i64
7245 UINT64_C(239081472), // UZP1v4i16
7246 UINT64_C(1317017600), // UZP1v4i32
7247 UINT64_C(1312823296), // UZP1v8i16
7248 UINT64_C(234887168), // UZP1v8i8
7249 UINT64_C(86002688), // UZP2_PPP_B
7250 UINT64_C(98585600), // UZP2_PPP_D
7251 UINT64_C(90196992), // UZP2_PPP_H
7252 UINT64_C(94391296), // UZP2_PPP_S
7253 UINT64_C(86010880), // UZP2_ZZZ_B
7254 UINT64_C(98593792), // UZP2_ZZZ_D
7255 UINT64_C(90205184), // UZP2_ZZZ_H
7256 UINT64_C(94374912), // UZP2_ZZZ_Q
7257 UINT64_C(94399488), // UZP2_ZZZ_S
7258 UINT64_C(1308645376), // UZP2v16i8
7259 UINT64_C(243292160), // UZP2v2i32
7260 UINT64_C(1321228288), // UZP2v2i64
7261 UINT64_C(239097856), // UZP2v4i16
7262 UINT64_C(1317033984), // UZP2v4i32
7263 UINT64_C(1312839680), // UZP2v8i16
7264 UINT64_C(234903552), // UZP2v8i8
7265 UINT64_C(1140910080), // UZPQ1_ZZZ_B
7266 UINT64_C(1153492992), // UZPQ1_ZZZ_D
7267 UINT64_C(1145104384), // UZPQ1_ZZZ_H
7268 UINT64_C(1149298688), // UZPQ1_ZZZ_S
7269 UINT64_C(1140911104), // UZPQ2_ZZZ_B
7270 UINT64_C(1153494016), // UZPQ2_ZZZ_D
7271 UINT64_C(1145105408), // UZPQ2_ZZZ_H
7272 UINT64_C(1149299712), // UZPQ2_ZZZ_S
7273 UINT64_C(3240153089), // UZP_VG2_2ZZZ_B
7274 UINT64_C(3252736001), // UZP_VG2_2ZZZ_D
7275 UINT64_C(3244347393), // UZP_VG2_2ZZZ_H
7276 UINT64_C(3240154113), // UZP_VG2_2ZZZ_Q
7277 UINT64_C(3248541697), // UZP_VG2_2ZZZ_S
7278 UINT64_C(3241598978), // UZP_VG4_4Z4Z_B
7279 UINT64_C(3254181890), // UZP_VG4_4Z4Z_D
7280 UINT64_C(3245793282), // UZP_VG4_4Z4Z_H
7281 UINT64_C(3241664514), // UZP_VG4_4Z4Z_Q
7282 UINT64_C(3249987586), // UZP_VG4_4Z4Z_S
7283 UINT64_C(3573747712), // WFET
7284 UINT64_C(3573747744), // WFIT
7285 UINT64_C(622874640), // WHILEGE_2PXX_B
7286 UINT64_C(635457552), // WHILEGE_2PXX_D
7287 UINT64_C(627068944), // WHILEGE_2PXX_H
7288 UINT64_C(631263248), // WHILEGE_2PXX_S
7289 UINT64_C(622870544), // WHILEGE_CXX_B
7290 UINT64_C(635453456), // WHILEGE_CXX_D
7291 UINT64_C(627064848), // WHILEGE_CXX_H
7292 UINT64_C(631259152), // WHILEGE_CXX_S
7293 UINT64_C(622854144), // WHILEGE_PWW_B
7294 UINT64_C(635437056), // WHILEGE_PWW_D
7295 UINT64_C(627048448), // WHILEGE_PWW_H
7296 UINT64_C(631242752), // WHILEGE_PWW_S
7297 UINT64_C(622858240), // WHILEGE_PXX_B
7298 UINT64_C(635441152), // WHILEGE_PXX_D
7299 UINT64_C(627052544), // WHILEGE_PXX_H
7300 UINT64_C(631246848), // WHILEGE_PXX_S
7301 UINT64_C(622874641), // WHILEGT_2PXX_B
7302 UINT64_C(635457553), // WHILEGT_2PXX_D
7303 UINT64_C(627068945), // WHILEGT_2PXX_H
7304 UINT64_C(631263249), // WHILEGT_2PXX_S
7305 UINT64_C(622870552), // WHILEGT_CXX_B
7306 UINT64_C(635453464), // WHILEGT_CXX_D
7307 UINT64_C(627064856), // WHILEGT_CXX_H
7308 UINT64_C(631259160), // WHILEGT_CXX_S
7309 UINT64_C(622854160), // WHILEGT_PWW_B
7310 UINT64_C(635437072), // WHILEGT_PWW_D
7311 UINT64_C(627048464), // WHILEGT_PWW_H
7312 UINT64_C(631242768), // WHILEGT_PWW_S
7313 UINT64_C(622858256), // WHILEGT_PXX_B
7314 UINT64_C(635441168), // WHILEGT_PXX_D
7315 UINT64_C(627052560), // WHILEGT_PXX_H
7316 UINT64_C(631246864), // WHILEGT_PXX_S
7317 UINT64_C(622876689), // WHILEHI_2PXX_B
7318 UINT64_C(635459601), // WHILEHI_2PXX_D
7319 UINT64_C(627070993), // WHILEHI_2PXX_H
7320 UINT64_C(631265297), // WHILEHI_2PXX_S
7321 UINT64_C(622872600), // WHILEHI_CXX_B
7322 UINT64_C(635455512), // WHILEHI_CXX_D
7323 UINT64_C(627066904), // WHILEHI_CXX_H
7324 UINT64_C(631261208), // WHILEHI_CXX_S
7325 UINT64_C(622856208), // WHILEHI_PWW_B
7326 UINT64_C(635439120), // WHILEHI_PWW_D
7327 UINT64_C(627050512), // WHILEHI_PWW_H
7328 UINT64_C(631244816), // WHILEHI_PWW_S
7329 UINT64_C(622860304), // WHILEHI_PXX_B
7330 UINT64_C(635443216), // WHILEHI_PXX_D
7331 UINT64_C(627054608), // WHILEHI_PXX_H
7332 UINT64_C(631248912), // WHILEHI_PXX_S
7333 UINT64_C(622876688), // WHILEHS_2PXX_B
7334 UINT64_C(635459600), // WHILEHS_2PXX_D
7335 UINT64_C(627070992), // WHILEHS_2PXX_H
7336 UINT64_C(631265296), // WHILEHS_2PXX_S
7337 UINT64_C(622872592), // WHILEHS_CXX_B
7338 UINT64_C(635455504), // WHILEHS_CXX_D
7339 UINT64_C(627066896), // WHILEHS_CXX_H
7340 UINT64_C(631261200), // WHILEHS_CXX_S
7341 UINT64_C(622856192), // WHILEHS_PWW_B
7342 UINT64_C(635439104), // WHILEHS_PWW_D
7343 UINT64_C(627050496), // WHILEHS_PWW_H
7344 UINT64_C(631244800), // WHILEHS_PWW_S
7345 UINT64_C(622860288), // WHILEHS_PXX_B
7346 UINT64_C(635443200), // WHILEHS_PXX_D
7347 UINT64_C(627054592), // WHILEHS_PXX_H
7348 UINT64_C(631248896), // WHILEHS_PXX_S
7349 UINT64_C(622875665), // WHILELE_2PXX_B
7350 UINT64_C(635458577), // WHILELE_2PXX_D
7351 UINT64_C(627069969), // WHILELE_2PXX_H
7352 UINT64_C(631264273), // WHILELE_2PXX_S
7353 UINT64_C(622871576), // WHILELE_CXX_B
7354 UINT64_C(635454488), // WHILELE_CXX_D
7355 UINT64_C(627065880), // WHILELE_CXX_H
7356 UINT64_C(631260184), // WHILELE_CXX_S
7357 UINT64_C(622855184), // WHILELE_PWW_B
7358 UINT64_C(635438096), // WHILELE_PWW_D
7359 UINT64_C(627049488), // WHILELE_PWW_H
7360 UINT64_C(631243792), // WHILELE_PWW_S
7361 UINT64_C(622859280), // WHILELE_PXX_B
7362 UINT64_C(635442192), // WHILELE_PXX_D
7363 UINT64_C(627053584), // WHILELE_PXX_H
7364 UINT64_C(631247888), // WHILELE_PXX_S
7365 UINT64_C(622877712), // WHILELO_2PXX_B
7366 UINT64_C(635460624), // WHILELO_2PXX_D
7367 UINT64_C(627072016), // WHILELO_2PXX_H
7368 UINT64_C(631266320), // WHILELO_2PXX_S
7369 UINT64_C(622873616), // WHILELO_CXX_B
7370 UINT64_C(635456528), // WHILELO_CXX_D
7371 UINT64_C(627067920), // WHILELO_CXX_H
7372 UINT64_C(631262224), // WHILELO_CXX_S
7373 UINT64_C(622857216), // WHILELO_PWW_B
7374 UINT64_C(635440128), // WHILELO_PWW_D
7375 UINT64_C(627051520), // WHILELO_PWW_H
7376 UINT64_C(631245824), // WHILELO_PWW_S
7377 UINT64_C(622861312), // WHILELO_PXX_B
7378 UINT64_C(635444224), // WHILELO_PXX_D
7379 UINT64_C(627055616), // WHILELO_PXX_H
7380 UINT64_C(631249920), // WHILELO_PXX_S
7381 UINT64_C(622877713), // WHILELS_2PXX_B
7382 UINT64_C(635460625), // WHILELS_2PXX_D
7383 UINT64_C(627072017), // WHILELS_2PXX_H
7384 UINT64_C(631266321), // WHILELS_2PXX_S
7385 UINT64_C(622873624), // WHILELS_CXX_B
7386 UINT64_C(635456536), // WHILELS_CXX_D
7387 UINT64_C(627067928), // WHILELS_CXX_H
7388 UINT64_C(631262232), // WHILELS_CXX_S
7389 UINT64_C(622857232), // WHILELS_PWW_B
7390 UINT64_C(635440144), // WHILELS_PWW_D
7391 UINT64_C(627051536), // WHILELS_PWW_H
7392 UINT64_C(631245840), // WHILELS_PWW_S
7393 UINT64_C(622861328), // WHILELS_PXX_B
7394 UINT64_C(635444240), // WHILELS_PXX_D
7395 UINT64_C(627055632), // WHILELS_PXX_H
7396 UINT64_C(631249936), // WHILELS_PXX_S
7397 UINT64_C(622875664), // WHILELT_2PXX_B
7398 UINT64_C(635458576), // WHILELT_2PXX_D
7399 UINT64_C(627069968), // WHILELT_2PXX_H
7400 UINT64_C(631264272), // WHILELT_2PXX_S
7401 UINT64_C(622871568), // WHILELT_CXX_B
7402 UINT64_C(635454480), // WHILELT_CXX_D
7403 UINT64_C(627065872), // WHILELT_CXX_H
7404 UINT64_C(631260176), // WHILELT_CXX_S
7405 UINT64_C(622855168), // WHILELT_PWW_B
7406 UINT64_C(635438080), // WHILELT_PWW_D
7407 UINT64_C(627049472), // WHILELT_PWW_H
7408 UINT64_C(631243776), // WHILELT_PWW_S
7409 UINT64_C(622859264), // WHILELT_PXX_B
7410 UINT64_C(635442176), // WHILELT_PXX_D
7411 UINT64_C(627053568), // WHILELT_PXX_H
7412 UINT64_C(631247872), // WHILELT_PXX_S
7413 UINT64_C(622866448), // WHILERW_PXX_B
7414 UINT64_C(635449360), // WHILERW_PXX_D
7415 UINT64_C(627060752), // WHILERW_PXX_H
7416 UINT64_C(631255056), // WHILERW_PXX_S
7417 UINT64_C(622866432), // WHILEWR_PXX_B
7418 UINT64_C(635449344), // WHILEWR_PXX_D
7419 UINT64_C(627060736), // WHILEWR_PXX_H
7420 UINT64_C(631255040), // WHILEWR_PXX_S
7421 UINT64_C(623415296), // WRFFR
7422 UINT64_C(3573563455), // XAFLAG
7423 UINT64_C(3464495104), // XAR
7424 UINT64_C(69743616), // XAR_ZZZI_B
7425 UINT64_C(77607936), // XAR_ZZZI_D
7426 UINT64_C(70267904), // XAR_ZZZI_H
7427 UINT64_C(73413632), // XAR_ZZZI_S
7428 UINT64_C(3670099936), // XPACD
7429 UINT64_C(3670098912), // XPACI
7430 UINT64_C(3573752063), // XPACLRI
7431 UINT64_C(1310795776), // XTNv16i8
7432 UINT64_C(245442560), // XTNv2i32
7433 UINT64_C(241248256), // XTNv4i16
7434 UINT64_C(1319184384), // XTNv4i32
7435 UINT64_C(1314990080), // XTNv8i16
7436 UINT64_C(237053952), // XTNv8i8
7437 UINT64_C(3221749760), // ZERO_M
7438 UINT64_C(3222044672), // ZERO_MXI_2Z
7439 UINT64_C(3222175744), // ZERO_MXI_4Z
7440 UINT64_C(3222077440), // ZERO_MXI_VG2_2Z
7441 UINT64_C(3222208512), // ZERO_MXI_VG2_4Z
7442 UINT64_C(3222011904), // ZERO_MXI_VG2_Z
7443 UINT64_C(3222110208), // ZERO_MXI_VG4_2Z
7444 UINT64_C(3222241280), // ZERO_MXI_VG4_4Z
7445 UINT64_C(3222142976), // ZERO_MXI_VG4_Z
7446 UINT64_C(3225944065), // ZERO_T
7447 UINT64_C(85999616), // ZIP1_PPP_B
7448 UINT64_C(98582528), // ZIP1_PPP_D
7449 UINT64_C(90193920), // ZIP1_PPP_H
7450 UINT64_C(94388224), // ZIP1_PPP_S
7451 UINT64_C(86007808), // ZIP1_ZZZ_B
7452 UINT64_C(98590720), // ZIP1_ZZZ_D
7453 UINT64_C(90202112), // ZIP1_ZZZ_H
7454 UINT64_C(94371840), // ZIP1_ZZZ_Q
7455 UINT64_C(94396416), // ZIP1_ZZZ_S
7456 UINT64_C(1308637184), // ZIP1v16i8
7457 UINT64_C(243283968), // ZIP1v2i32
7458 UINT64_C(1321220096), // ZIP1v2i64
7459 UINT64_C(239089664), // ZIP1v4i16
7460 UINT64_C(1317025792), // ZIP1v4i32
7461 UINT64_C(1312831488), // ZIP1v8i16
7462 UINT64_C(234895360), // ZIP1v8i8
7463 UINT64_C(86000640), // ZIP2_PPP_B
7464 UINT64_C(98583552), // ZIP2_PPP_D
7465 UINT64_C(90194944), // ZIP2_PPP_H
7466 UINT64_C(94389248), // ZIP2_PPP_S
7467 UINT64_C(86008832), // ZIP2_ZZZ_B
7468 UINT64_C(98591744), // ZIP2_ZZZ_D
7469 UINT64_C(90203136), // ZIP2_ZZZ_H
7470 UINT64_C(94372864), // ZIP2_ZZZ_Q
7471 UINT64_C(94397440), // ZIP2_ZZZ_S
7472 UINT64_C(1308653568), // ZIP2v16i8
7473 UINT64_C(243300352), // ZIP2v2i32
7474 UINT64_C(1321236480), // ZIP2v2i64
7475 UINT64_C(239106048), // ZIP2v4i16
7476 UINT64_C(1317042176), // ZIP2v4i32
7477 UINT64_C(1312847872), // ZIP2v8i16
7478 UINT64_C(234911744), // ZIP2v8i8
7479 UINT64_C(1140908032), // ZIPQ1_ZZZ_B
7480 UINT64_C(1153490944), // ZIPQ1_ZZZ_D
7481 UINT64_C(1145102336), // ZIPQ1_ZZZ_H
7482 UINT64_C(1149296640), // ZIPQ1_ZZZ_S
7483 UINT64_C(1140909056), // ZIPQ2_ZZZ_B
7484 UINT64_C(1153491968), // ZIPQ2_ZZZ_D
7485 UINT64_C(1145103360), // ZIPQ2_ZZZ_H
7486 UINT64_C(1149297664), // ZIPQ2_ZZZ_S
7487 UINT64_C(3240153088), // ZIP_VG2_2ZZZ_B
7488 UINT64_C(3252736000), // ZIP_VG2_2ZZZ_D
7489 UINT64_C(3244347392), // ZIP_VG2_2ZZZ_H
7490 UINT64_C(3240154112), // ZIP_VG2_2ZZZ_Q
7491 UINT64_C(3248541696), // ZIP_VG2_2ZZZ_S
7492 UINT64_C(3241598976), // ZIP_VG4_4Z4Z_B
7493 UINT64_C(3254181888), // ZIP_VG4_4Z4Z_D
7494 UINT64_C(3245793280), // ZIP_VG4_4Z4Z_H
7495 UINT64_C(3241664512), // ZIP_VG4_4Z4Z_Q
7496 UINT64_C(3249987584), // ZIP_VG4_4Z4Z_S
7497 };
7498 constexpr unsigned FirstSupportedOpcode = 1708;
7499
7500 const unsigned opcode = MI.getOpcode();
7501 if (opcode < FirstSupportedOpcode)
7502 reportUnsupportedInst(Inst: MI);
7503 unsigned TableIndex = opcode - FirstSupportedOpcode;
7504 uint64_t Value = InstBits[TableIndex];
7505 uint64_t op = 0;
7506 (void)op; // suppress warning
7507 switch (opcode) {
7508 case AArch64::AUTIA1716:
7509 case AArch64::AUTIA171615:
7510 case AArch64::AUTIASP:
7511 case AArch64::AUTIAZ:
7512 case AArch64::AUTIB1716:
7513 case AArch64::AUTIB171615:
7514 case AArch64::AUTIBSP:
7515 case AArch64::AUTIBZ:
7516 case AArch64::AXFLAG:
7517 case AArch64::CFINV:
7518 case AArch64::CHKFEAT:
7519 case AArch64::DRPS:
7520 case AArch64::ERET:
7521 case AArch64::ERETAA:
7522 case AArch64::ERETAB:
7523 case AArch64::GCSPOPCX:
7524 case AArch64::GCSPOPX:
7525 case AArch64::GCSPUSHX:
7526 case AArch64::NOP:
7527 case AArch64::PACIA1716:
7528 case AArch64::PACIA171615:
7529 case AArch64::PACIASP:
7530 case AArch64::PACIASPPC:
7531 case AArch64::PACIAZ:
7532 case AArch64::PACIB1716:
7533 case AArch64::PACIB171615:
7534 case AArch64::PACIBSP:
7535 case AArch64::PACIBSPPC:
7536 case AArch64::PACIBZ:
7537 case AArch64::PACM:
7538 case AArch64::PACNBIASPPC:
7539 case AArch64::PACNBIBSPPC:
7540 case AArch64::RETAA:
7541 case AArch64::RETAB:
7542 case AArch64::SB:
7543 case AArch64::SETFFR:
7544 case AArch64::XAFLAG:
7545 case AArch64::XPACLRI:
7546 case AArch64::ZERO_T: {
7547 break;
7548 }
7549 case AArch64::DSBnXS: {
7550 // op: CRm
7551 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7552 Value |= (op & 0xc) << 8;
7553 break;
7554 }
7555 case AArch64::CLREX:
7556 case AArch64::DMB:
7557 case AArch64::DSB:
7558 case AArch64::ISB: {
7559 // op: CRm
7560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7561 Value |= (op & 0xf) << 8;
7562 break;
7563 }
7564 case AArch64::PTRUE_C_B:
7565 case AArch64::PTRUE_C_D:
7566 case AArch64::PTRUE_C_H:
7567 case AArch64::PTRUE_C_S: {
7568 // op: PNd
7569 op = EncodePNR_p8to15(MI, OpIdx: 0, Fixups, STI);
7570 Value |= (op & 0x7);
7571 break;
7572 }
7573 case AArch64::WHILEGE_CXX_B:
7574 case AArch64::WHILEGE_CXX_D:
7575 case AArch64::WHILEGE_CXX_H:
7576 case AArch64::WHILEGE_CXX_S:
7577 case AArch64::WHILEGT_CXX_B:
7578 case AArch64::WHILEGT_CXX_D:
7579 case AArch64::WHILEGT_CXX_H:
7580 case AArch64::WHILEGT_CXX_S:
7581 case AArch64::WHILEHI_CXX_B:
7582 case AArch64::WHILEHI_CXX_D:
7583 case AArch64::WHILEHI_CXX_H:
7584 case AArch64::WHILEHI_CXX_S:
7585 case AArch64::WHILEHS_CXX_B:
7586 case AArch64::WHILEHS_CXX_D:
7587 case AArch64::WHILEHS_CXX_H:
7588 case AArch64::WHILEHS_CXX_S:
7589 case AArch64::WHILELE_CXX_B:
7590 case AArch64::WHILELE_CXX_D:
7591 case AArch64::WHILELE_CXX_H:
7592 case AArch64::WHILELE_CXX_S:
7593 case AArch64::WHILELO_CXX_B:
7594 case AArch64::WHILELO_CXX_D:
7595 case AArch64::WHILELO_CXX_H:
7596 case AArch64::WHILELO_CXX_S:
7597 case AArch64::WHILELS_CXX_B:
7598 case AArch64::WHILELS_CXX_D:
7599 case AArch64::WHILELS_CXX_H:
7600 case AArch64::WHILELS_CXX_S:
7601 case AArch64::WHILELT_CXX_B:
7602 case AArch64::WHILELT_CXX_D:
7603 case AArch64::WHILELT_CXX_H:
7604 case AArch64::WHILELT_CXX_S: {
7605 // op: PNd
7606 op = EncodePNR_p8to15(MI, OpIdx: 0, Fixups, STI);
7607 Value |= (op & 0x7);
7608 // op: Rn
7609 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7610 Value |= (op & 0x1f) << 5;
7611 // op: vl
7612 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7613 Value |= (op & 0x1) << 13;
7614 // op: Rm
7615 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7616 Value |= (op & 0x1f) << 16;
7617 break;
7618 }
7619 case AArch64::SEL_VG2_2ZC2Z2Z_B:
7620 case AArch64::SEL_VG2_2ZC2Z2Z_D:
7621 case AArch64::SEL_VG2_2ZC2Z2Z_H:
7622 case AArch64::SEL_VG2_2ZC2Z2Z_S: {
7623 // op: PNg
7624 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7625 Value |= (op & 0x7) << 10;
7626 // op: Zm
7627 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 3, Fixups, STI);
7628 Value |= (op & 0xf) << 17;
7629 // op: Zn
7630 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
7631 Value |= (op & 0xf) << 6;
7632 // op: Zd
7633 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
7634 Value |= (op & 0xf) << 1;
7635 break;
7636 }
7637 case AArch64::SEL_VG4_4ZC4Z4Z_B:
7638 case AArch64::SEL_VG4_4ZC4Z4Z_D:
7639 case AArch64::SEL_VG4_4ZC4Z4Z_H:
7640 case AArch64::SEL_VG4_4ZC4Z4Z_S: {
7641 // op: PNg
7642 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7643 Value |= (op & 0x7) << 10;
7644 // op: Zm
7645 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 3, Fixups, STI);
7646 Value |= (op & 0x7) << 18;
7647 // op: Zn
7648 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 2, Fixups, STI);
7649 Value |= (op & 0x7) << 7;
7650 // op: Zd
7651 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
7652 Value |= (op & 0x7) << 2;
7653 break;
7654 }
7655 case AArch64::WHILEGE_2PXX_B:
7656 case AArch64::WHILEGE_2PXX_D:
7657 case AArch64::WHILEGE_2PXX_H:
7658 case AArch64::WHILEGE_2PXX_S:
7659 case AArch64::WHILEGT_2PXX_B:
7660 case AArch64::WHILEGT_2PXX_D:
7661 case AArch64::WHILEGT_2PXX_H:
7662 case AArch64::WHILEGT_2PXX_S:
7663 case AArch64::WHILEHI_2PXX_B:
7664 case AArch64::WHILEHI_2PXX_D:
7665 case AArch64::WHILEHI_2PXX_H:
7666 case AArch64::WHILEHI_2PXX_S:
7667 case AArch64::WHILEHS_2PXX_B:
7668 case AArch64::WHILEHS_2PXX_D:
7669 case AArch64::WHILEHS_2PXX_H:
7670 case AArch64::WHILEHS_2PXX_S:
7671 case AArch64::WHILELE_2PXX_B:
7672 case AArch64::WHILELE_2PXX_D:
7673 case AArch64::WHILELE_2PXX_H:
7674 case AArch64::WHILELE_2PXX_S:
7675 case AArch64::WHILELO_2PXX_B:
7676 case AArch64::WHILELO_2PXX_D:
7677 case AArch64::WHILELO_2PXX_H:
7678 case AArch64::WHILELO_2PXX_S:
7679 case AArch64::WHILELS_2PXX_B:
7680 case AArch64::WHILELS_2PXX_D:
7681 case AArch64::WHILELS_2PXX_H:
7682 case AArch64::WHILELS_2PXX_S:
7683 case AArch64::WHILELT_2PXX_B:
7684 case AArch64::WHILELT_2PXX_D:
7685 case AArch64::WHILELT_2PXX_H:
7686 case AArch64::WHILELT_2PXX_S: {
7687 // op: Pd
7688 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 0, Fixups, STI);
7689 Value |= (op & 0x7) << 1;
7690 // op: Rn
7691 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7692 Value |= (op & 0x1f) << 5;
7693 // op: Rm
7694 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7695 Value |= (op & 0x1f) << 16;
7696 break;
7697 }
7698 case AArch64::PFALSE:
7699 case AArch64::RDFFR_P: {
7700 // op: Pd
7701 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7702 Value |= (op & 0xf);
7703 break;
7704 }
7705 case AArch64::PEXT_2PCI_B:
7706 case AArch64::PEXT_2PCI_D:
7707 case AArch64::PEXT_2PCI_H:
7708 case AArch64::PEXT_2PCI_S: {
7709 // op: Pd
7710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7711 Value |= (op & 0xf);
7712 // op: PNn
7713 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7714 Value |= (op & 0x7) << 5;
7715 // op: index
7716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7717 Value |= (op & 0x1) << 8;
7718 break;
7719 }
7720 case AArch64::PEXT_PCI_B:
7721 case AArch64::PEXT_PCI_D:
7722 case AArch64::PEXT_PCI_H:
7723 case AArch64::PEXT_PCI_S: {
7724 // op: Pd
7725 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7726 Value |= (op & 0xf);
7727 // op: PNn
7728 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
7729 Value |= (op & 0x7) << 5;
7730 // op: index
7731 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7732 Value |= (op & 0x3) << 8;
7733 break;
7734 }
7735 case AArch64::CMPEQ_PPzZZ_B:
7736 case AArch64::CMPEQ_PPzZZ_D:
7737 case AArch64::CMPEQ_PPzZZ_H:
7738 case AArch64::CMPEQ_PPzZZ_S:
7739 case AArch64::CMPEQ_WIDE_PPzZZ_B:
7740 case AArch64::CMPEQ_WIDE_PPzZZ_H:
7741 case AArch64::CMPEQ_WIDE_PPzZZ_S:
7742 case AArch64::CMPGE_PPzZZ_B:
7743 case AArch64::CMPGE_PPzZZ_D:
7744 case AArch64::CMPGE_PPzZZ_H:
7745 case AArch64::CMPGE_PPzZZ_S:
7746 case AArch64::CMPGE_WIDE_PPzZZ_B:
7747 case AArch64::CMPGE_WIDE_PPzZZ_H:
7748 case AArch64::CMPGE_WIDE_PPzZZ_S:
7749 case AArch64::CMPGT_PPzZZ_B:
7750 case AArch64::CMPGT_PPzZZ_D:
7751 case AArch64::CMPGT_PPzZZ_H:
7752 case AArch64::CMPGT_PPzZZ_S:
7753 case AArch64::CMPGT_WIDE_PPzZZ_B:
7754 case AArch64::CMPGT_WIDE_PPzZZ_H:
7755 case AArch64::CMPGT_WIDE_PPzZZ_S:
7756 case AArch64::CMPHI_PPzZZ_B:
7757 case AArch64::CMPHI_PPzZZ_D:
7758 case AArch64::CMPHI_PPzZZ_H:
7759 case AArch64::CMPHI_PPzZZ_S:
7760 case AArch64::CMPHI_WIDE_PPzZZ_B:
7761 case AArch64::CMPHI_WIDE_PPzZZ_H:
7762 case AArch64::CMPHI_WIDE_PPzZZ_S:
7763 case AArch64::CMPHS_PPzZZ_B:
7764 case AArch64::CMPHS_PPzZZ_D:
7765 case AArch64::CMPHS_PPzZZ_H:
7766 case AArch64::CMPHS_PPzZZ_S:
7767 case AArch64::CMPHS_WIDE_PPzZZ_B:
7768 case AArch64::CMPHS_WIDE_PPzZZ_H:
7769 case AArch64::CMPHS_WIDE_PPzZZ_S:
7770 case AArch64::CMPLE_WIDE_PPzZZ_B:
7771 case AArch64::CMPLE_WIDE_PPzZZ_H:
7772 case AArch64::CMPLE_WIDE_PPzZZ_S:
7773 case AArch64::CMPLO_WIDE_PPzZZ_B:
7774 case AArch64::CMPLO_WIDE_PPzZZ_H:
7775 case AArch64::CMPLO_WIDE_PPzZZ_S:
7776 case AArch64::CMPLS_WIDE_PPzZZ_B:
7777 case AArch64::CMPLS_WIDE_PPzZZ_H:
7778 case AArch64::CMPLS_WIDE_PPzZZ_S:
7779 case AArch64::CMPLT_WIDE_PPzZZ_B:
7780 case AArch64::CMPLT_WIDE_PPzZZ_H:
7781 case AArch64::CMPLT_WIDE_PPzZZ_S:
7782 case AArch64::CMPNE_PPzZZ_B:
7783 case AArch64::CMPNE_PPzZZ_D:
7784 case AArch64::CMPNE_PPzZZ_H:
7785 case AArch64::CMPNE_PPzZZ_S:
7786 case AArch64::CMPNE_WIDE_PPzZZ_B:
7787 case AArch64::CMPNE_WIDE_PPzZZ_H:
7788 case AArch64::CMPNE_WIDE_PPzZZ_S:
7789 case AArch64::FACGE_PPzZZ_D:
7790 case AArch64::FACGE_PPzZZ_H:
7791 case AArch64::FACGE_PPzZZ_S:
7792 case AArch64::FACGT_PPzZZ_D:
7793 case AArch64::FACGT_PPzZZ_H:
7794 case AArch64::FACGT_PPzZZ_S:
7795 case AArch64::FCMEQ_PPzZZ_D:
7796 case AArch64::FCMEQ_PPzZZ_H:
7797 case AArch64::FCMEQ_PPzZZ_S:
7798 case AArch64::FCMGE_PPzZZ_D:
7799 case AArch64::FCMGE_PPzZZ_H:
7800 case AArch64::FCMGE_PPzZZ_S:
7801 case AArch64::FCMGT_PPzZZ_D:
7802 case AArch64::FCMGT_PPzZZ_H:
7803 case AArch64::FCMGT_PPzZZ_S:
7804 case AArch64::FCMNE_PPzZZ_D:
7805 case AArch64::FCMNE_PPzZZ_H:
7806 case AArch64::FCMNE_PPzZZ_S:
7807 case AArch64::FCMUO_PPzZZ_D:
7808 case AArch64::FCMUO_PPzZZ_H:
7809 case AArch64::FCMUO_PPzZZ_S:
7810 case AArch64::MATCH_PPzZZ_B:
7811 case AArch64::MATCH_PPzZZ_H:
7812 case AArch64::NMATCH_PPzZZ_B:
7813 case AArch64::NMATCH_PPzZZ_H: {
7814 // op: Pd
7815 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7816 Value |= (op & 0xf);
7817 // op: Pg
7818 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7819 Value |= (op & 0x7) << 10;
7820 // op: Zm
7821 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7822 Value |= (op & 0x1f) << 16;
7823 // op: Zn
7824 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7825 Value |= (op & 0x1f) << 5;
7826 break;
7827 }
7828 case AArch64::FCMEQ_PPzZ0_D:
7829 case AArch64::FCMEQ_PPzZ0_H:
7830 case AArch64::FCMEQ_PPzZ0_S:
7831 case AArch64::FCMGE_PPzZ0_D:
7832 case AArch64::FCMGE_PPzZ0_H:
7833 case AArch64::FCMGE_PPzZ0_S:
7834 case AArch64::FCMGT_PPzZ0_D:
7835 case AArch64::FCMGT_PPzZ0_H:
7836 case AArch64::FCMGT_PPzZ0_S:
7837 case AArch64::FCMLE_PPzZ0_D:
7838 case AArch64::FCMLE_PPzZ0_H:
7839 case AArch64::FCMLE_PPzZ0_S:
7840 case AArch64::FCMLT_PPzZ0_D:
7841 case AArch64::FCMLT_PPzZ0_H:
7842 case AArch64::FCMLT_PPzZ0_S:
7843 case AArch64::FCMNE_PPzZ0_D:
7844 case AArch64::FCMNE_PPzZ0_H:
7845 case AArch64::FCMNE_PPzZ0_S: {
7846 // op: Pd
7847 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7848 Value |= (op & 0xf);
7849 // op: Pg
7850 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7851 Value |= (op & 0x7) << 10;
7852 // op: Zn
7853 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7854 Value |= (op & 0x1f) << 5;
7855 break;
7856 }
7857 case AArch64::CMPEQ_PPzZI_B:
7858 case AArch64::CMPEQ_PPzZI_D:
7859 case AArch64::CMPEQ_PPzZI_H:
7860 case AArch64::CMPEQ_PPzZI_S:
7861 case AArch64::CMPGE_PPzZI_B:
7862 case AArch64::CMPGE_PPzZI_D:
7863 case AArch64::CMPGE_PPzZI_H:
7864 case AArch64::CMPGE_PPzZI_S:
7865 case AArch64::CMPGT_PPzZI_B:
7866 case AArch64::CMPGT_PPzZI_D:
7867 case AArch64::CMPGT_PPzZI_H:
7868 case AArch64::CMPGT_PPzZI_S:
7869 case AArch64::CMPLE_PPzZI_B:
7870 case AArch64::CMPLE_PPzZI_D:
7871 case AArch64::CMPLE_PPzZI_H:
7872 case AArch64::CMPLE_PPzZI_S:
7873 case AArch64::CMPLT_PPzZI_B:
7874 case AArch64::CMPLT_PPzZI_D:
7875 case AArch64::CMPLT_PPzZI_H:
7876 case AArch64::CMPLT_PPzZI_S:
7877 case AArch64::CMPNE_PPzZI_B:
7878 case AArch64::CMPNE_PPzZI_D:
7879 case AArch64::CMPNE_PPzZI_H:
7880 case AArch64::CMPNE_PPzZI_S: {
7881 // op: Pd
7882 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7883 Value |= (op & 0xf);
7884 // op: Pg
7885 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7886 Value |= (op & 0x7) << 10;
7887 // op: Zn
7888 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7889 Value |= (op & 0x1f) << 5;
7890 // op: imm5
7891 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7892 Value |= (op & 0x1f) << 16;
7893 break;
7894 }
7895 case AArch64::CMPHI_PPzZI_B:
7896 case AArch64::CMPHI_PPzZI_D:
7897 case AArch64::CMPHI_PPzZI_H:
7898 case AArch64::CMPHI_PPzZI_S:
7899 case AArch64::CMPHS_PPzZI_B:
7900 case AArch64::CMPHS_PPzZI_D:
7901 case AArch64::CMPHS_PPzZI_H:
7902 case AArch64::CMPHS_PPzZI_S:
7903 case AArch64::CMPLO_PPzZI_B:
7904 case AArch64::CMPLO_PPzZI_D:
7905 case AArch64::CMPLO_PPzZI_H:
7906 case AArch64::CMPLO_PPzZI_S:
7907 case AArch64::CMPLS_PPzZI_B:
7908 case AArch64::CMPLS_PPzZI_D:
7909 case AArch64::CMPLS_PPzZI_H:
7910 case AArch64::CMPLS_PPzZI_S: {
7911 // op: Pd
7912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7913 Value |= (op & 0xf);
7914 // op: Pg
7915 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7916 Value |= (op & 0x7) << 10;
7917 // op: Zn
7918 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7919 Value |= (op & 0x1f) << 5;
7920 // op: imm7
7921 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7922 Value |= (op & 0x7f) << 14;
7923 break;
7924 }
7925 case AArch64::ANDS_PPzPP:
7926 case AArch64::AND_PPzPP:
7927 case AArch64::BICS_PPzPP:
7928 case AArch64::BIC_PPzPP:
7929 case AArch64::BRKPAS_PPzPP:
7930 case AArch64::BRKPA_PPzPP:
7931 case AArch64::BRKPBS_PPzPP:
7932 case AArch64::BRKPB_PPzPP:
7933 case AArch64::EORS_PPzPP:
7934 case AArch64::EOR_PPzPP:
7935 case AArch64::NANDS_PPzPP:
7936 case AArch64::NAND_PPzPP:
7937 case AArch64::NORS_PPzPP:
7938 case AArch64::NOR_PPzPP:
7939 case AArch64::ORNS_PPzPP:
7940 case AArch64::ORN_PPzPP:
7941 case AArch64::ORRS_PPzPP:
7942 case AArch64::ORR_PPzPP:
7943 case AArch64::SEL_PPPP: {
7944 // op: Pd
7945 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7946 Value |= (op & 0xf);
7947 // op: Pg
7948 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7949 Value |= (op & 0xf) << 10;
7950 // op: Pm
7951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7952 Value |= (op & 0xf) << 16;
7953 // op: Pn
7954 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7955 Value |= (op & 0xf) << 5;
7956 break;
7957 }
7958 case AArch64::BRKAS_PPzP:
7959 case AArch64::BRKA_PPzP:
7960 case AArch64::BRKBS_PPzP:
7961 case AArch64::BRKB_PPzP: {
7962 // op: Pd
7963 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7964 Value |= (op & 0xf);
7965 // op: Pg
7966 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7967 Value |= (op & 0xf) << 10;
7968 // op: Pn
7969 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7970 Value |= (op & 0xf) << 5;
7971 break;
7972 }
7973 case AArch64::RDFFRS_PPz:
7974 case AArch64::RDFFR_PPz: {
7975 // op: Pd
7976 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7977 Value |= (op & 0xf);
7978 // op: Pg
7979 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7980 Value |= (op & 0xf) << 5;
7981 break;
7982 }
7983 case AArch64::BRKA_PPmP:
7984 case AArch64::BRKB_PPmP: {
7985 // op: Pd
7986 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7987 Value |= (op & 0xf);
7988 // op: Pg
7989 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7990 Value |= (op & 0xf) << 10;
7991 // op: Pn
7992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7993 Value |= (op & 0xf) << 5;
7994 break;
7995 }
7996 case AArch64::TRN1_PPP_B:
7997 case AArch64::TRN1_PPP_D:
7998 case AArch64::TRN1_PPP_H:
7999 case AArch64::TRN1_PPP_S:
8000 case AArch64::TRN2_PPP_B:
8001 case AArch64::TRN2_PPP_D:
8002 case AArch64::TRN2_PPP_H:
8003 case AArch64::TRN2_PPP_S:
8004 case AArch64::UZP1_PPP_B:
8005 case AArch64::UZP1_PPP_D:
8006 case AArch64::UZP1_PPP_H:
8007 case AArch64::UZP1_PPP_S:
8008 case AArch64::UZP2_PPP_B:
8009 case AArch64::UZP2_PPP_D:
8010 case AArch64::UZP2_PPP_H:
8011 case AArch64::UZP2_PPP_S:
8012 case AArch64::ZIP1_PPP_B:
8013 case AArch64::ZIP1_PPP_D:
8014 case AArch64::ZIP1_PPP_H:
8015 case AArch64::ZIP1_PPP_S:
8016 case AArch64::ZIP2_PPP_B:
8017 case AArch64::ZIP2_PPP_D:
8018 case AArch64::ZIP2_PPP_H:
8019 case AArch64::ZIP2_PPP_S: {
8020 // op: Pd
8021 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8022 Value |= (op & 0xf);
8023 // op: Pm
8024 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8025 Value |= (op & 0xf) << 16;
8026 // op: Pn
8027 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8028 Value |= (op & 0xf) << 5;
8029 break;
8030 }
8031 case AArch64::PUNPKHI_PP:
8032 case AArch64::PUNPKLO_PP:
8033 case AArch64::REV_PP_B:
8034 case AArch64::REV_PP_D:
8035 case AArch64::REV_PP_H:
8036 case AArch64::REV_PP_S: {
8037 // op: Pd
8038 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8039 Value |= (op & 0xf);
8040 // op: Pn
8041 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8042 Value |= (op & 0xf) << 5;
8043 break;
8044 }
8045 case AArch64::WHILEGE_PWW_B:
8046 case AArch64::WHILEGE_PWW_D:
8047 case AArch64::WHILEGE_PWW_H:
8048 case AArch64::WHILEGE_PWW_S:
8049 case AArch64::WHILEGE_PXX_B:
8050 case AArch64::WHILEGE_PXX_D:
8051 case AArch64::WHILEGE_PXX_H:
8052 case AArch64::WHILEGE_PXX_S:
8053 case AArch64::WHILEGT_PWW_B:
8054 case AArch64::WHILEGT_PWW_D:
8055 case AArch64::WHILEGT_PWW_H:
8056 case AArch64::WHILEGT_PWW_S:
8057 case AArch64::WHILEGT_PXX_B:
8058 case AArch64::WHILEGT_PXX_D:
8059 case AArch64::WHILEGT_PXX_H:
8060 case AArch64::WHILEGT_PXX_S:
8061 case AArch64::WHILEHI_PWW_B:
8062 case AArch64::WHILEHI_PWW_D:
8063 case AArch64::WHILEHI_PWW_H:
8064 case AArch64::WHILEHI_PWW_S:
8065 case AArch64::WHILEHI_PXX_B:
8066 case AArch64::WHILEHI_PXX_D:
8067 case AArch64::WHILEHI_PXX_H:
8068 case AArch64::WHILEHI_PXX_S:
8069 case AArch64::WHILEHS_PWW_B:
8070 case AArch64::WHILEHS_PWW_D:
8071 case AArch64::WHILEHS_PWW_H:
8072 case AArch64::WHILEHS_PWW_S:
8073 case AArch64::WHILEHS_PXX_B:
8074 case AArch64::WHILEHS_PXX_D:
8075 case AArch64::WHILEHS_PXX_H:
8076 case AArch64::WHILEHS_PXX_S:
8077 case AArch64::WHILELE_PWW_B:
8078 case AArch64::WHILELE_PWW_D:
8079 case AArch64::WHILELE_PWW_H:
8080 case AArch64::WHILELE_PWW_S:
8081 case AArch64::WHILELE_PXX_B:
8082 case AArch64::WHILELE_PXX_D:
8083 case AArch64::WHILELE_PXX_H:
8084 case AArch64::WHILELE_PXX_S:
8085 case AArch64::WHILELO_PWW_B:
8086 case AArch64::WHILELO_PWW_D:
8087 case AArch64::WHILELO_PWW_H:
8088 case AArch64::WHILELO_PWW_S:
8089 case AArch64::WHILELO_PXX_B:
8090 case AArch64::WHILELO_PXX_D:
8091 case AArch64::WHILELO_PXX_H:
8092 case AArch64::WHILELO_PXX_S:
8093 case AArch64::WHILELS_PWW_B:
8094 case AArch64::WHILELS_PWW_D:
8095 case AArch64::WHILELS_PWW_H:
8096 case AArch64::WHILELS_PWW_S:
8097 case AArch64::WHILELS_PXX_B:
8098 case AArch64::WHILELS_PXX_D:
8099 case AArch64::WHILELS_PXX_H:
8100 case AArch64::WHILELS_PXX_S:
8101 case AArch64::WHILELT_PWW_B:
8102 case AArch64::WHILELT_PWW_D:
8103 case AArch64::WHILELT_PWW_H:
8104 case AArch64::WHILELT_PWW_S:
8105 case AArch64::WHILELT_PXX_B:
8106 case AArch64::WHILELT_PXX_D:
8107 case AArch64::WHILELT_PXX_H:
8108 case AArch64::WHILELT_PXX_S:
8109 case AArch64::WHILERW_PXX_B:
8110 case AArch64::WHILERW_PXX_D:
8111 case AArch64::WHILERW_PXX_H:
8112 case AArch64::WHILERW_PXX_S:
8113 case AArch64::WHILEWR_PXX_B:
8114 case AArch64::WHILEWR_PXX_D:
8115 case AArch64::WHILEWR_PXX_H:
8116 case AArch64::WHILEWR_PXX_S: {
8117 // op: Pd
8118 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8119 Value |= (op & 0xf);
8120 // op: Rm
8121 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8122 Value |= (op & 0x1f) << 16;
8123 // op: Rn
8124 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8125 Value |= (op & 0x1f) << 5;
8126 break;
8127 }
8128 case AArch64::PMOV_PZI_B: {
8129 // op: Pd
8130 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8131 Value |= (op & 0xf);
8132 // op: Zn
8133 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8134 Value |= (op & 0x1f) << 5;
8135 break;
8136 }
8137 case AArch64::PMOV_PZI_H: {
8138 // op: Pd
8139 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8140 Value |= (op & 0xf);
8141 // op: Zn
8142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8143 Value |= (op & 0x1f) << 5;
8144 // op: index
8145 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8146 Value |= (op & 0x1) << 17;
8147 break;
8148 }
8149 case AArch64::PMOV_PZI_S: {
8150 // op: Pd
8151 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8152 Value |= (op & 0xf);
8153 // op: Zn
8154 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8155 Value |= (op & 0x1f) << 5;
8156 // op: index
8157 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8158 Value |= (op & 0x3) << 17;
8159 break;
8160 }
8161 case AArch64::PMOV_PZI_D: {
8162 // op: Pd
8163 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8164 Value |= (op & 0xf);
8165 // op: Zn
8166 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8167 Value |= (op & 0x1f) << 5;
8168 // op: index
8169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8170 Value |= (op & 0x4) << 20;
8171 Value |= (op & 0x3) << 17;
8172 break;
8173 }
8174 case AArch64::PTRUES_B:
8175 case AArch64::PTRUES_D:
8176 case AArch64::PTRUES_H:
8177 case AArch64::PTRUES_S:
8178 case AArch64::PTRUE_B:
8179 case AArch64::PTRUE_D:
8180 case AArch64::PTRUE_H:
8181 case AArch64::PTRUE_S: {
8182 // op: Pd
8183 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8184 Value |= (op & 0xf);
8185 // op: pattern
8186 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8187 Value |= (op & 0x1f) << 5;
8188 break;
8189 }
8190 case AArch64::BRKNS_PPzP:
8191 case AArch64::BRKN_PPzP: {
8192 // op: Pdm
8193 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8194 Value |= (op & 0xf);
8195 // op: Pg
8196 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8197 Value |= (op & 0xf) << 10;
8198 // op: Pn
8199 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8200 Value |= (op & 0xf) << 5;
8201 break;
8202 }
8203 case AArch64::PFIRST_B:
8204 case AArch64::PNEXT_B:
8205 case AArch64::PNEXT_D:
8206 case AArch64::PNEXT_H:
8207 case AArch64::PNEXT_S: {
8208 // op: Pdn
8209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8210 Value |= (op & 0xf);
8211 // op: Pg
8212 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8213 Value |= (op & 0xf) << 5;
8214 break;
8215 }
8216 case AArch64::PTEST_PP: {
8217 // op: Pg
8218 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8219 Value |= (op & 0xf) << 10;
8220 // op: Pn
8221 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8222 Value |= (op & 0xf) << 5;
8223 break;
8224 }
8225 case AArch64::LASTA_RPZ_B:
8226 case AArch64::LASTA_RPZ_D:
8227 case AArch64::LASTA_RPZ_H:
8228 case AArch64::LASTA_RPZ_S:
8229 case AArch64::LASTB_RPZ_B:
8230 case AArch64::LASTB_RPZ_D:
8231 case AArch64::LASTB_RPZ_H:
8232 case AArch64::LASTB_RPZ_S: {
8233 // op: Pg
8234 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8235 Value |= (op & 0x7) << 10;
8236 // op: Rd
8237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8238 Value |= (op & 0x1f);
8239 // op: Zn
8240 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8241 Value |= (op & 0x1f) << 5;
8242 break;
8243 }
8244 case AArch64::CLASTA_RPZ_B:
8245 case AArch64::CLASTA_RPZ_D:
8246 case AArch64::CLASTA_RPZ_H:
8247 case AArch64::CLASTA_RPZ_S:
8248 case AArch64::CLASTB_RPZ_B:
8249 case AArch64::CLASTB_RPZ_D:
8250 case AArch64::CLASTB_RPZ_H:
8251 case AArch64::CLASTB_RPZ_S: {
8252 // op: Pg
8253 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8254 Value |= (op & 0x7) << 10;
8255 // op: Rdn
8256 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8257 Value |= (op & 0x1f);
8258 // op: Zm
8259 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8260 Value |= (op & 0x1f) << 5;
8261 break;
8262 }
8263 case AArch64::LD2B:
8264 case AArch64::LD2D:
8265 case AArch64::LD2H:
8266 case AArch64::LD2Q:
8267 case AArch64::LD2W:
8268 case AArch64::LD3B:
8269 case AArch64::LD3D:
8270 case AArch64::LD3H:
8271 case AArch64::LD3Q:
8272 case AArch64::LD3W:
8273 case AArch64::LD4B:
8274 case AArch64::LD4D:
8275 case AArch64::LD4H:
8276 case AArch64::LD4Q:
8277 case AArch64::LD4W:
8278 case AArch64::LDNT1B_ZRR:
8279 case AArch64::LDNT1D_ZRR:
8280 case AArch64::LDNT1H_ZRR:
8281 case AArch64::LDNT1W_ZRR:
8282 case AArch64::ST1B:
8283 case AArch64::ST1B_D:
8284 case AArch64::ST1B_H:
8285 case AArch64::ST1B_S:
8286 case AArch64::ST1D:
8287 case AArch64::ST1D_Q:
8288 case AArch64::ST1H:
8289 case AArch64::ST1H_D:
8290 case AArch64::ST1H_S:
8291 case AArch64::ST1W:
8292 case AArch64::ST1W_D:
8293 case AArch64::ST1W_Q:
8294 case AArch64::ST2B:
8295 case AArch64::ST2D:
8296 case AArch64::ST2H:
8297 case AArch64::ST2W:
8298 case AArch64::ST3B:
8299 case AArch64::ST3D:
8300 case AArch64::ST3H:
8301 case AArch64::ST3W:
8302 case AArch64::ST4B:
8303 case AArch64::ST4D:
8304 case AArch64::ST4H:
8305 case AArch64::ST4W:
8306 case AArch64::STNT1B_ZRR:
8307 case AArch64::STNT1D_ZRR:
8308 case AArch64::STNT1H_ZRR:
8309 case AArch64::STNT1W_ZRR: {
8310 // op: Pg
8311 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8312 Value |= (op & 0x7) << 10;
8313 // op: Rm
8314 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8315 Value |= (op & 0x1f) << 16;
8316 // op: Rn
8317 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8318 Value |= (op & 0x1f) << 5;
8319 // op: Zt
8320 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8321 Value |= (op & 0x1f);
8322 break;
8323 }
8324 case AArch64::LDNT1B_ZZR_D:
8325 case AArch64::LDNT1B_ZZR_S:
8326 case AArch64::LDNT1D_ZZR_D:
8327 case AArch64::LDNT1H_ZZR_D:
8328 case AArch64::LDNT1H_ZZR_S:
8329 case AArch64::LDNT1SB_ZZR_D:
8330 case AArch64::LDNT1SB_ZZR_S:
8331 case AArch64::LDNT1SH_ZZR_D:
8332 case AArch64::LDNT1SH_ZZR_S:
8333 case AArch64::LDNT1SW_ZZR_D:
8334 case AArch64::LDNT1W_ZZR_D:
8335 case AArch64::LDNT1W_ZZR_S:
8336 case AArch64::STNT1B_ZZR_D:
8337 case AArch64::STNT1B_ZZR_S:
8338 case AArch64::STNT1D_ZZR_D:
8339 case AArch64::STNT1H_ZZR_D:
8340 case AArch64::STNT1H_ZZR_S:
8341 case AArch64::STNT1W_ZZR_D:
8342 case AArch64::STNT1W_ZZR_S: {
8343 // op: Pg
8344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8345 Value |= (op & 0x7) << 10;
8346 // op: Rm
8347 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8348 Value |= (op & 0x1f) << 16;
8349 // op: Zn
8350 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8351 Value |= (op & 0x1f) << 5;
8352 // op: Zt
8353 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8354 Value |= (op & 0x1f);
8355 break;
8356 }
8357 case AArch64::GLD1B_D:
8358 case AArch64::GLD1B_D_SXTW:
8359 case AArch64::GLD1B_D_UXTW:
8360 case AArch64::GLD1B_S_SXTW:
8361 case AArch64::GLD1B_S_UXTW:
8362 case AArch64::GLD1D:
8363 case AArch64::GLD1D_SCALED:
8364 case AArch64::GLD1D_SXTW:
8365 case AArch64::GLD1D_SXTW_SCALED:
8366 case AArch64::GLD1D_UXTW:
8367 case AArch64::GLD1D_UXTW_SCALED:
8368 case AArch64::GLD1H_D:
8369 case AArch64::GLD1H_D_SCALED:
8370 case AArch64::GLD1H_D_SXTW:
8371 case AArch64::GLD1H_D_SXTW_SCALED:
8372 case AArch64::GLD1H_D_UXTW:
8373 case AArch64::GLD1H_D_UXTW_SCALED:
8374 case AArch64::GLD1H_S_SXTW:
8375 case AArch64::GLD1H_S_SXTW_SCALED:
8376 case AArch64::GLD1H_S_UXTW:
8377 case AArch64::GLD1H_S_UXTW_SCALED:
8378 case AArch64::GLD1SB_D:
8379 case AArch64::GLD1SB_D_SXTW:
8380 case AArch64::GLD1SB_D_UXTW:
8381 case AArch64::GLD1SB_S_SXTW:
8382 case AArch64::GLD1SB_S_UXTW:
8383 case AArch64::GLD1SH_D:
8384 case AArch64::GLD1SH_D_SCALED:
8385 case AArch64::GLD1SH_D_SXTW:
8386 case AArch64::GLD1SH_D_SXTW_SCALED:
8387 case AArch64::GLD1SH_D_UXTW:
8388 case AArch64::GLD1SH_D_UXTW_SCALED:
8389 case AArch64::GLD1SH_S_SXTW:
8390 case AArch64::GLD1SH_S_SXTW_SCALED:
8391 case AArch64::GLD1SH_S_UXTW:
8392 case AArch64::GLD1SH_S_UXTW_SCALED:
8393 case AArch64::GLD1SW_D:
8394 case AArch64::GLD1SW_D_SCALED:
8395 case AArch64::GLD1SW_D_SXTW:
8396 case AArch64::GLD1SW_D_SXTW_SCALED:
8397 case AArch64::GLD1SW_D_UXTW:
8398 case AArch64::GLD1SW_D_UXTW_SCALED:
8399 case AArch64::GLD1W_D:
8400 case AArch64::GLD1W_D_SCALED:
8401 case AArch64::GLD1W_D_SXTW:
8402 case AArch64::GLD1W_D_SXTW_SCALED:
8403 case AArch64::GLD1W_D_UXTW:
8404 case AArch64::GLD1W_D_UXTW_SCALED:
8405 case AArch64::GLD1W_SXTW:
8406 case AArch64::GLD1W_SXTW_SCALED:
8407 case AArch64::GLD1W_UXTW:
8408 case AArch64::GLD1W_UXTW_SCALED:
8409 case AArch64::GLDFF1B_D:
8410 case AArch64::GLDFF1B_D_SXTW:
8411 case AArch64::GLDFF1B_D_UXTW:
8412 case AArch64::GLDFF1B_S_SXTW:
8413 case AArch64::GLDFF1B_S_UXTW:
8414 case AArch64::GLDFF1D:
8415 case AArch64::GLDFF1D_SCALED:
8416 case AArch64::GLDFF1D_SXTW:
8417 case AArch64::GLDFF1D_SXTW_SCALED:
8418 case AArch64::GLDFF1D_UXTW:
8419 case AArch64::GLDFF1D_UXTW_SCALED:
8420 case AArch64::GLDFF1H_D:
8421 case AArch64::GLDFF1H_D_SCALED:
8422 case AArch64::GLDFF1H_D_SXTW:
8423 case AArch64::GLDFF1H_D_SXTW_SCALED:
8424 case AArch64::GLDFF1H_D_UXTW:
8425 case AArch64::GLDFF1H_D_UXTW_SCALED:
8426 case AArch64::GLDFF1H_S_SXTW:
8427 case AArch64::GLDFF1H_S_SXTW_SCALED:
8428 case AArch64::GLDFF1H_S_UXTW:
8429 case AArch64::GLDFF1H_S_UXTW_SCALED:
8430 case AArch64::GLDFF1SB_D:
8431 case AArch64::GLDFF1SB_D_SXTW:
8432 case AArch64::GLDFF1SB_D_UXTW:
8433 case AArch64::GLDFF1SB_S_SXTW:
8434 case AArch64::GLDFF1SB_S_UXTW:
8435 case AArch64::GLDFF1SH_D:
8436 case AArch64::GLDFF1SH_D_SCALED:
8437 case AArch64::GLDFF1SH_D_SXTW:
8438 case AArch64::GLDFF1SH_D_SXTW_SCALED:
8439 case AArch64::GLDFF1SH_D_UXTW:
8440 case AArch64::GLDFF1SH_D_UXTW_SCALED:
8441 case AArch64::GLDFF1SH_S_SXTW:
8442 case AArch64::GLDFF1SH_S_SXTW_SCALED:
8443 case AArch64::GLDFF1SH_S_UXTW:
8444 case AArch64::GLDFF1SH_S_UXTW_SCALED:
8445 case AArch64::GLDFF1SW_D:
8446 case AArch64::GLDFF1SW_D_SCALED:
8447 case AArch64::GLDFF1SW_D_SXTW:
8448 case AArch64::GLDFF1SW_D_SXTW_SCALED:
8449 case AArch64::GLDFF1SW_D_UXTW:
8450 case AArch64::GLDFF1SW_D_UXTW_SCALED:
8451 case AArch64::GLDFF1W_D:
8452 case AArch64::GLDFF1W_D_SCALED:
8453 case AArch64::GLDFF1W_D_SXTW:
8454 case AArch64::GLDFF1W_D_SXTW_SCALED:
8455 case AArch64::GLDFF1W_D_UXTW:
8456 case AArch64::GLDFF1W_D_UXTW_SCALED:
8457 case AArch64::GLDFF1W_SXTW:
8458 case AArch64::GLDFF1W_SXTW_SCALED:
8459 case AArch64::GLDFF1W_UXTW:
8460 case AArch64::GLDFF1W_UXTW_SCALED:
8461 case AArch64::SST1B_D:
8462 case AArch64::SST1B_D_SXTW:
8463 case AArch64::SST1B_D_UXTW:
8464 case AArch64::SST1B_S_SXTW:
8465 case AArch64::SST1B_S_UXTW:
8466 case AArch64::SST1D:
8467 case AArch64::SST1D_SCALED:
8468 case AArch64::SST1D_SXTW:
8469 case AArch64::SST1D_SXTW_SCALED:
8470 case AArch64::SST1D_UXTW:
8471 case AArch64::SST1D_UXTW_SCALED:
8472 case AArch64::SST1H_D:
8473 case AArch64::SST1H_D_SCALED:
8474 case AArch64::SST1H_D_SXTW:
8475 case AArch64::SST1H_D_SXTW_SCALED:
8476 case AArch64::SST1H_D_UXTW:
8477 case AArch64::SST1H_D_UXTW_SCALED:
8478 case AArch64::SST1H_S_SXTW:
8479 case AArch64::SST1H_S_SXTW_SCALED:
8480 case AArch64::SST1H_S_UXTW:
8481 case AArch64::SST1H_S_UXTW_SCALED:
8482 case AArch64::SST1W_D:
8483 case AArch64::SST1W_D_SCALED:
8484 case AArch64::SST1W_D_SXTW:
8485 case AArch64::SST1W_D_SXTW_SCALED:
8486 case AArch64::SST1W_D_UXTW:
8487 case AArch64::SST1W_D_UXTW_SCALED:
8488 case AArch64::SST1W_SXTW:
8489 case AArch64::SST1W_SXTW_SCALED:
8490 case AArch64::SST1W_UXTW:
8491 case AArch64::SST1W_UXTW_SCALED: {
8492 // op: Pg
8493 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8494 Value |= (op & 0x7) << 10;
8495 // op: Rn
8496 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8497 Value |= (op & 0x1f) << 5;
8498 // op: Zm
8499 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8500 Value |= (op & 0x1f) << 16;
8501 // op: Zt
8502 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8503 Value |= (op & 0x1f);
8504 break;
8505 }
8506 case AArch64::PRFB_D_SCALED:
8507 case AArch64::PRFB_D_SXTW_SCALED:
8508 case AArch64::PRFB_D_UXTW_SCALED:
8509 case AArch64::PRFB_S_SXTW_SCALED:
8510 case AArch64::PRFB_S_UXTW_SCALED:
8511 case AArch64::PRFD_D_SCALED:
8512 case AArch64::PRFD_D_SXTW_SCALED:
8513 case AArch64::PRFD_D_UXTW_SCALED:
8514 case AArch64::PRFD_S_SXTW_SCALED:
8515 case AArch64::PRFD_S_UXTW_SCALED:
8516 case AArch64::PRFH_D_SCALED:
8517 case AArch64::PRFH_D_SXTW_SCALED:
8518 case AArch64::PRFH_D_UXTW_SCALED:
8519 case AArch64::PRFH_S_SXTW_SCALED:
8520 case AArch64::PRFH_S_UXTW_SCALED:
8521 case AArch64::PRFW_D_SCALED:
8522 case AArch64::PRFW_D_SXTW_SCALED:
8523 case AArch64::PRFW_D_UXTW_SCALED:
8524 case AArch64::PRFW_S_SXTW_SCALED:
8525 case AArch64::PRFW_S_UXTW_SCALED: {
8526 // op: Pg
8527 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8528 Value |= (op & 0x7) << 10;
8529 // op: Rn
8530 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8531 Value |= (op & 0x1f) << 5;
8532 // op: Zm
8533 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8534 Value |= (op & 0x1f) << 16;
8535 // op: prfop
8536 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8537 Value |= (op & 0xf);
8538 break;
8539 }
8540 case AArch64::LD1B_D_IMM:
8541 case AArch64::LD1B_H_IMM:
8542 case AArch64::LD1B_IMM:
8543 case AArch64::LD1B_S_IMM:
8544 case AArch64::LD1D_IMM:
8545 case AArch64::LD1H_D_IMM:
8546 case AArch64::LD1H_IMM:
8547 case AArch64::LD1H_S_IMM:
8548 case AArch64::LD1SB_D_IMM:
8549 case AArch64::LD1SB_H_IMM:
8550 case AArch64::LD1SB_S_IMM:
8551 case AArch64::LD1SH_D_IMM:
8552 case AArch64::LD1SH_S_IMM:
8553 case AArch64::LD1SW_D_IMM:
8554 case AArch64::LD1W_D_IMM:
8555 case AArch64::LD1W_IMM:
8556 case AArch64::LDNF1B_D_IMM:
8557 case AArch64::LDNF1B_H_IMM:
8558 case AArch64::LDNF1B_IMM:
8559 case AArch64::LDNF1B_S_IMM:
8560 case AArch64::LDNF1D_IMM:
8561 case AArch64::LDNF1H_D_IMM:
8562 case AArch64::LDNF1H_IMM:
8563 case AArch64::LDNF1H_S_IMM:
8564 case AArch64::LDNF1SB_D_IMM:
8565 case AArch64::LDNF1SB_H_IMM:
8566 case AArch64::LDNF1SB_S_IMM:
8567 case AArch64::LDNF1SH_D_IMM:
8568 case AArch64::LDNF1SH_S_IMM:
8569 case AArch64::LDNF1SW_D_IMM:
8570 case AArch64::LDNF1W_D_IMM:
8571 case AArch64::LDNF1W_IMM:
8572 case AArch64::ST1B_D_IMM:
8573 case AArch64::ST1B_H_IMM:
8574 case AArch64::ST1B_IMM:
8575 case AArch64::ST1B_S_IMM:
8576 case AArch64::ST1D_IMM:
8577 case AArch64::ST1D_Q_IMM:
8578 case AArch64::ST1H_D_IMM:
8579 case AArch64::ST1H_IMM:
8580 case AArch64::ST1H_S_IMM:
8581 case AArch64::ST1W_D_IMM:
8582 case AArch64::ST1W_IMM:
8583 case AArch64::ST1W_Q_IMM:
8584 case AArch64::ST2B_IMM:
8585 case AArch64::ST2D_IMM:
8586 case AArch64::ST2H_IMM:
8587 case AArch64::ST2W_IMM:
8588 case AArch64::ST3B_IMM:
8589 case AArch64::ST3D_IMM:
8590 case AArch64::ST3H_IMM:
8591 case AArch64::ST3W_IMM:
8592 case AArch64::ST4B_IMM:
8593 case AArch64::ST4D_IMM:
8594 case AArch64::ST4H_IMM:
8595 case AArch64::ST4W_IMM:
8596 case AArch64::STNT1B_ZRI:
8597 case AArch64::STNT1D_ZRI:
8598 case AArch64::STNT1H_ZRI:
8599 case AArch64::STNT1W_ZRI: {
8600 // op: Pg
8601 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8602 Value |= (op & 0x7) << 10;
8603 // op: Rn
8604 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8605 Value |= (op & 0x1f) << 5;
8606 // op: Zt
8607 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8608 Value |= (op & 0x1f);
8609 // op: imm4
8610 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8611 Value |= (op & 0xf) << 16;
8612 break;
8613 }
8614 case AArch64::LD1RB_D_IMM:
8615 case AArch64::LD1RB_H_IMM:
8616 case AArch64::LD1RB_IMM:
8617 case AArch64::LD1RB_S_IMM:
8618 case AArch64::LD1RD_IMM:
8619 case AArch64::LD1RH_D_IMM:
8620 case AArch64::LD1RH_IMM:
8621 case AArch64::LD1RH_S_IMM:
8622 case AArch64::LD1RSB_D_IMM:
8623 case AArch64::LD1RSB_H_IMM:
8624 case AArch64::LD1RSB_S_IMM:
8625 case AArch64::LD1RSH_D_IMM:
8626 case AArch64::LD1RSH_S_IMM:
8627 case AArch64::LD1RSW_IMM:
8628 case AArch64::LD1RW_D_IMM:
8629 case AArch64::LD1RW_IMM: {
8630 // op: Pg
8631 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8632 Value |= (op & 0x7) << 10;
8633 // op: Rn
8634 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8635 Value |= (op & 0x1f) << 5;
8636 // op: Zt
8637 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8638 Value |= (op & 0x1f);
8639 // op: imm6
8640 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8641 Value |= (op & 0x3f) << 16;
8642 break;
8643 }
8644 case AArch64::ANDV_VPZ_B:
8645 case AArch64::ANDV_VPZ_D:
8646 case AArch64::ANDV_VPZ_H:
8647 case AArch64::ANDV_VPZ_S:
8648 case AArch64::EORV_VPZ_B:
8649 case AArch64::EORV_VPZ_D:
8650 case AArch64::EORV_VPZ_H:
8651 case AArch64::EORV_VPZ_S:
8652 case AArch64::LASTA_VPZ_B:
8653 case AArch64::LASTA_VPZ_D:
8654 case AArch64::LASTA_VPZ_H:
8655 case AArch64::LASTA_VPZ_S:
8656 case AArch64::LASTB_VPZ_B:
8657 case AArch64::LASTB_VPZ_D:
8658 case AArch64::LASTB_VPZ_H:
8659 case AArch64::LASTB_VPZ_S:
8660 case AArch64::ORV_VPZ_B:
8661 case AArch64::ORV_VPZ_D:
8662 case AArch64::ORV_VPZ_H:
8663 case AArch64::ORV_VPZ_S:
8664 case AArch64::SADDV_VPZ_B:
8665 case AArch64::SADDV_VPZ_H:
8666 case AArch64::SADDV_VPZ_S:
8667 case AArch64::SMAXV_VPZ_B:
8668 case AArch64::SMAXV_VPZ_D:
8669 case AArch64::SMAXV_VPZ_H:
8670 case AArch64::SMAXV_VPZ_S:
8671 case AArch64::SMINV_VPZ_B:
8672 case AArch64::SMINV_VPZ_D:
8673 case AArch64::SMINV_VPZ_H:
8674 case AArch64::SMINV_VPZ_S:
8675 case AArch64::UADDV_VPZ_B:
8676 case AArch64::UADDV_VPZ_D:
8677 case AArch64::UADDV_VPZ_H:
8678 case AArch64::UADDV_VPZ_S:
8679 case AArch64::UMAXV_VPZ_B:
8680 case AArch64::UMAXV_VPZ_D:
8681 case AArch64::UMAXV_VPZ_H:
8682 case AArch64::UMAXV_VPZ_S:
8683 case AArch64::UMINV_VPZ_B:
8684 case AArch64::UMINV_VPZ_D:
8685 case AArch64::UMINV_VPZ_H:
8686 case AArch64::UMINV_VPZ_S: {
8687 // op: Pg
8688 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8689 Value |= (op & 0x7) << 10;
8690 // op: Vd
8691 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8692 Value |= (op & 0x1f);
8693 // op: Zn
8694 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8695 Value |= (op & 0x1f) << 5;
8696 break;
8697 }
8698 case AArch64::CLASTA_VPZ_B:
8699 case AArch64::CLASTA_VPZ_D:
8700 case AArch64::CLASTA_VPZ_H:
8701 case AArch64::CLASTA_VPZ_S:
8702 case AArch64::CLASTB_VPZ_B:
8703 case AArch64::CLASTB_VPZ_D:
8704 case AArch64::CLASTB_VPZ_H:
8705 case AArch64::CLASTB_VPZ_S:
8706 case AArch64::FADDA_VPZ_D:
8707 case AArch64::FADDA_VPZ_H:
8708 case AArch64::FADDA_VPZ_S: {
8709 // op: Pg
8710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8711 Value |= (op & 0x7) << 10;
8712 // op: Vdn
8713 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8714 Value |= (op & 0x1f);
8715 // op: Zm
8716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8717 Value |= (op & 0x1f) << 5;
8718 break;
8719 }
8720 case AArch64::FMAD_ZPmZZ_D:
8721 case AArch64::FMAD_ZPmZZ_H:
8722 case AArch64::FMAD_ZPmZZ_S:
8723 case AArch64::FMSB_ZPmZZ_D:
8724 case AArch64::FMSB_ZPmZZ_H:
8725 case AArch64::FMSB_ZPmZZ_S:
8726 case AArch64::FNMAD_ZPmZZ_D:
8727 case AArch64::FNMAD_ZPmZZ_H:
8728 case AArch64::FNMAD_ZPmZZ_S:
8729 case AArch64::FNMSB_ZPmZZ_D:
8730 case AArch64::FNMSB_ZPmZZ_H:
8731 case AArch64::FNMSB_ZPmZZ_S: {
8732 // op: Pg
8733 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8734 Value |= (op & 0x7) << 10;
8735 // op: Za
8736 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8737 Value |= (op & 0x1f) << 16;
8738 // op: Zdn
8739 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8740 Value |= (op & 0x1f);
8741 // op: Zm
8742 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8743 Value |= (op & 0x1f) << 5;
8744 break;
8745 }
8746 case AArch64::ABS_ZPzZ_B:
8747 case AArch64::ABS_ZPzZ_D:
8748 case AArch64::ABS_ZPzZ_H:
8749 case AArch64::ABS_ZPzZ_S:
8750 case AArch64::BFCVT_ZPzZ_StoH:
8751 case AArch64::CLS_ZPzZ_B:
8752 case AArch64::CLS_ZPzZ_D:
8753 case AArch64::CLS_ZPzZ_H:
8754 case AArch64::CLS_ZPzZ_S:
8755 case AArch64::CLZ_ZPzZ_B:
8756 case AArch64::CLZ_ZPzZ_D:
8757 case AArch64::CLZ_ZPzZ_H:
8758 case AArch64::CLZ_ZPzZ_S:
8759 case AArch64::CNOT_ZPzZ_B:
8760 case AArch64::CNOT_ZPzZ_D:
8761 case AArch64::CNOT_ZPzZ_H:
8762 case AArch64::CNOT_ZPzZ_S:
8763 case AArch64::CNT_ZPzZ_B:
8764 case AArch64::CNT_ZPzZ_D:
8765 case AArch64::CNT_ZPzZ_H:
8766 case AArch64::CNT_ZPzZ_S:
8767 case AArch64::COMPACT_ZPZ_B:
8768 case AArch64::COMPACT_ZPZ_D:
8769 case AArch64::COMPACT_ZPZ_H:
8770 case AArch64::COMPACT_ZPZ_S:
8771 case AArch64::FABS_ZPzZ_D:
8772 case AArch64::FABS_ZPzZ_H:
8773 case AArch64::FABS_ZPzZ_S:
8774 case AArch64::FCVTX_ZPzZ_DtoS:
8775 case AArch64::FCVTZS_ZPzZ_DtoD:
8776 case AArch64::FCVTZS_ZPzZ_DtoS:
8777 case AArch64::FCVTZS_ZPzZ_HtoD:
8778 case AArch64::FCVTZS_ZPzZ_HtoH:
8779 case AArch64::FCVTZS_ZPzZ_HtoS:
8780 case AArch64::FCVTZS_ZPzZ_StoD:
8781 case AArch64::FCVTZS_ZPzZ_StoS:
8782 case AArch64::FCVTZU_ZPzZ_DtoD:
8783 case AArch64::FCVTZU_ZPzZ_DtoS:
8784 case AArch64::FCVTZU_ZPzZ_HtoD:
8785 case AArch64::FCVTZU_ZPzZ_HtoH:
8786 case AArch64::FCVTZU_ZPzZ_HtoS:
8787 case AArch64::FCVTZU_ZPzZ_StoD:
8788 case AArch64::FCVTZU_ZPzZ_StoS:
8789 case AArch64::FCVT_ZPzZ_DtoH:
8790 case AArch64::FCVT_ZPzZ_DtoS:
8791 case AArch64::FCVT_ZPzZ_HtoD:
8792 case AArch64::FCVT_ZPzZ_HtoS:
8793 case AArch64::FCVT_ZPzZ_StoD:
8794 case AArch64::FCVT_ZPzZ_StoH:
8795 case AArch64::FLOGB_ZPzZ_D:
8796 case AArch64::FLOGB_ZPzZ_H:
8797 case AArch64::FLOGB_ZPzZ_S:
8798 case AArch64::FNEG_ZPzZ_D:
8799 case AArch64::FNEG_ZPzZ_H:
8800 case AArch64::FNEG_ZPzZ_S:
8801 case AArch64::FRECPX_ZPzZ_D:
8802 case AArch64::FRECPX_ZPzZ_H:
8803 case AArch64::FRECPX_ZPzZ_S:
8804 case AArch64::FRINT32X_ZPzZ_D:
8805 case AArch64::FRINT32X_ZPzZ_S:
8806 case AArch64::FRINT32Z_ZPzZ_D:
8807 case AArch64::FRINT32Z_ZPzZ_S:
8808 case AArch64::FRINT64X_ZPzZ_D:
8809 case AArch64::FRINT64X_ZPzZ_S:
8810 case AArch64::FRINT64Z_ZPzZ_D:
8811 case AArch64::FRINT64Z_ZPzZ_S:
8812 case AArch64::FRINTA_ZPzZ_D:
8813 case AArch64::FRINTA_ZPzZ_H:
8814 case AArch64::FRINTA_ZPzZ_S:
8815 case AArch64::FRINTI_ZPzZ_D:
8816 case AArch64::FRINTI_ZPzZ_H:
8817 case AArch64::FRINTI_ZPzZ_S:
8818 case AArch64::FRINTM_ZPzZ_D:
8819 case AArch64::FRINTM_ZPzZ_H:
8820 case AArch64::FRINTM_ZPzZ_S:
8821 case AArch64::FRINTN_ZPzZ_D:
8822 case AArch64::FRINTN_ZPzZ_H:
8823 case AArch64::FRINTN_ZPzZ_S:
8824 case AArch64::FRINTP_ZPzZ_D:
8825 case AArch64::FRINTP_ZPzZ_H:
8826 case AArch64::FRINTP_ZPzZ_S:
8827 case AArch64::FRINTX_ZPzZ_D:
8828 case AArch64::FRINTX_ZPzZ_H:
8829 case AArch64::FRINTX_ZPzZ_S:
8830 case AArch64::FRINTZ_ZPzZ_D:
8831 case AArch64::FRINTZ_ZPzZ_H:
8832 case AArch64::FRINTZ_ZPzZ_S:
8833 case AArch64::FSQRT_ZPZz_D:
8834 case AArch64::FSQRT_ZPZz_H:
8835 case AArch64::FSQRT_ZPZz_S:
8836 case AArch64::MOVPRFX_ZPzZ_B:
8837 case AArch64::MOVPRFX_ZPzZ_D:
8838 case AArch64::MOVPRFX_ZPzZ_H:
8839 case AArch64::MOVPRFX_ZPzZ_S:
8840 case AArch64::NEG_ZPzZ_B:
8841 case AArch64::NEG_ZPzZ_D:
8842 case AArch64::NEG_ZPzZ_H:
8843 case AArch64::NEG_ZPzZ_S:
8844 case AArch64::NOT_ZPzZ_B:
8845 case AArch64::NOT_ZPzZ_D:
8846 case AArch64::NOT_ZPzZ_H:
8847 case AArch64::NOT_ZPzZ_S:
8848 case AArch64::SCVTF_ZPzZ_DtoD:
8849 case AArch64::SCVTF_ZPzZ_DtoH:
8850 case AArch64::SCVTF_ZPzZ_DtoS:
8851 case AArch64::SCVTF_ZPzZ_HtoH:
8852 case AArch64::SCVTF_ZPzZ_StoD:
8853 case AArch64::SCVTF_ZPzZ_StoH:
8854 case AArch64::SCVTF_ZPzZ_StoS:
8855 case AArch64::SQABS_ZPzZ_B:
8856 case AArch64::SQABS_ZPzZ_D:
8857 case AArch64::SQABS_ZPzZ_H:
8858 case AArch64::SQABS_ZPzZ_S:
8859 case AArch64::SQNEG_ZPzZ_B:
8860 case AArch64::SQNEG_ZPzZ_D:
8861 case AArch64::SQNEG_ZPzZ_H:
8862 case AArch64::SQNEG_ZPzZ_S:
8863 case AArch64::SXTB_ZPzZ_D:
8864 case AArch64::SXTB_ZPzZ_H:
8865 case AArch64::SXTB_ZPzZ_S:
8866 case AArch64::SXTH_ZPzZ_D:
8867 case AArch64::SXTH_ZPzZ_S:
8868 case AArch64::SXTW_ZPzZ_D:
8869 case AArch64::UCVTF_ZPzZ_DtoD:
8870 case AArch64::UCVTF_ZPzZ_DtoH:
8871 case AArch64::UCVTF_ZPzZ_DtoS:
8872 case AArch64::UCVTF_ZPzZ_HtoH:
8873 case AArch64::UCVTF_ZPzZ_StoD:
8874 case AArch64::UCVTF_ZPzZ_StoH:
8875 case AArch64::UCVTF_ZPzZ_StoS:
8876 case AArch64::URECPE_ZPzZ_S:
8877 case AArch64::URSQRTE_ZPzZ_S:
8878 case AArch64::UXTB_ZPzZ_D:
8879 case AArch64::UXTB_ZPzZ_H:
8880 case AArch64::UXTB_ZPzZ_S:
8881 case AArch64::UXTH_ZPzZ_D:
8882 case AArch64::UXTH_ZPzZ_S:
8883 case AArch64::UXTW_ZPzZ_D: {
8884 // op: Pg
8885 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8886 Value |= (op & 0x7) << 10;
8887 // op: Zd
8888 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8889 Value |= (op & 0x1f);
8890 // op: Zn
8891 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8892 Value |= (op & 0x1f) << 5;
8893 break;
8894 }
8895 case AArch64::BFMLA_ZPmZZ:
8896 case AArch64::BFMLS_ZPmZZ:
8897 case AArch64::FMLA_ZPmZZ_D:
8898 case AArch64::FMLA_ZPmZZ_H:
8899 case AArch64::FMLA_ZPmZZ_S:
8900 case AArch64::FMLS_ZPmZZ_D:
8901 case AArch64::FMLS_ZPmZZ_H:
8902 case AArch64::FMLS_ZPmZZ_S:
8903 case AArch64::FNMLA_ZPmZZ_D:
8904 case AArch64::FNMLA_ZPmZZ_H:
8905 case AArch64::FNMLA_ZPmZZ_S:
8906 case AArch64::FNMLS_ZPmZZ_D:
8907 case AArch64::FNMLS_ZPmZZ_H:
8908 case AArch64::FNMLS_ZPmZZ_S:
8909 case AArch64::MLA_ZPmZZ_B:
8910 case AArch64::MLA_ZPmZZ_D:
8911 case AArch64::MLA_ZPmZZ_H:
8912 case AArch64::MLA_ZPmZZ_S:
8913 case AArch64::MLS_ZPmZZ_B:
8914 case AArch64::MLS_ZPmZZ_D:
8915 case AArch64::MLS_ZPmZZ_H:
8916 case AArch64::MLS_ZPmZZ_S: {
8917 // op: Pg
8918 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8919 Value |= (op & 0x7) << 10;
8920 // op: Zda
8921 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8922 Value |= (op & 0x1f);
8923 // op: Zm
8924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8925 Value |= (op & 0x1f) << 16;
8926 // op: Zn
8927 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8928 Value |= (op & 0x1f) << 5;
8929 break;
8930 }
8931 case AArch64::MAD_ZPmZZ_B:
8932 case AArch64::MAD_ZPmZZ_D:
8933 case AArch64::MAD_ZPmZZ_H:
8934 case AArch64::MAD_ZPmZZ_S:
8935 case AArch64::MSB_ZPmZZ_B:
8936 case AArch64::MSB_ZPmZZ_D:
8937 case AArch64::MSB_ZPmZZ_H:
8938 case AArch64::MSB_ZPmZZ_S: {
8939 // op: Pg
8940 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8941 Value |= (op & 0x7) << 10;
8942 // op: Zdn
8943 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8944 Value |= (op & 0x1f);
8945 // op: Za
8946 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8947 Value |= (op & 0x1f) << 5;
8948 // op: Zm
8949 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8950 Value |= (op & 0x1f) << 16;
8951 break;
8952 }
8953 case AArch64::ADD_ZPmZ_B:
8954 case AArch64::ADD_ZPmZ_CPA:
8955 case AArch64::ADD_ZPmZ_D:
8956 case AArch64::ADD_ZPmZ_H:
8957 case AArch64::ADD_ZPmZ_S:
8958 case AArch64::AND_ZPmZ_B:
8959 case AArch64::AND_ZPmZ_D:
8960 case AArch64::AND_ZPmZ_H:
8961 case AArch64::AND_ZPmZ_S:
8962 case AArch64::ASRR_ZPmZ_B:
8963 case AArch64::ASRR_ZPmZ_D:
8964 case AArch64::ASRR_ZPmZ_H:
8965 case AArch64::ASRR_ZPmZ_S:
8966 case AArch64::ASR_WIDE_ZPmZ_B:
8967 case AArch64::ASR_WIDE_ZPmZ_H:
8968 case AArch64::ASR_WIDE_ZPmZ_S:
8969 case AArch64::ASR_ZPmZ_B:
8970 case AArch64::ASR_ZPmZ_D:
8971 case AArch64::ASR_ZPmZ_H:
8972 case AArch64::ASR_ZPmZ_S:
8973 case AArch64::BFADD_ZPmZZ:
8974 case AArch64::BFMAXNM_ZPmZZ:
8975 case AArch64::BFMAX_ZPmZZ:
8976 case AArch64::BFMINNM_ZPmZZ:
8977 case AArch64::BFMIN_ZPmZZ:
8978 case AArch64::BFMUL_ZPmZZ:
8979 case AArch64::BFSCALE_ZPZZ_H:
8980 case AArch64::BFSUB_ZPmZZ:
8981 case AArch64::BIC_ZPmZ_B:
8982 case AArch64::BIC_ZPmZ_D:
8983 case AArch64::BIC_ZPmZ_H:
8984 case AArch64::BIC_ZPmZ_S:
8985 case AArch64::CLASTA_ZPZ_B:
8986 case AArch64::CLASTA_ZPZ_D:
8987 case AArch64::CLASTA_ZPZ_H:
8988 case AArch64::CLASTA_ZPZ_S:
8989 case AArch64::CLASTB_ZPZ_B:
8990 case AArch64::CLASTB_ZPZ_D:
8991 case AArch64::CLASTB_ZPZ_H:
8992 case AArch64::CLASTB_ZPZ_S:
8993 case AArch64::EOR_ZPmZ_B:
8994 case AArch64::EOR_ZPmZ_D:
8995 case AArch64::EOR_ZPmZ_H:
8996 case AArch64::EOR_ZPmZ_S:
8997 case AArch64::FABD_ZPmZ_D:
8998 case AArch64::FABD_ZPmZ_H:
8999 case AArch64::FABD_ZPmZ_S:
9000 case AArch64::FADD_ZPmZ_D:
9001 case AArch64::FADD_ZPmZ_H:
9002 case AArch64::FADD_ZPmZ_S:
9003 case AArch64::FAMAX_ZPmZ_D:
9004 case AArch64::FAMAX_ZPmZ_H:
9005 case AArch64::FAMAX_ZPmZ_S:
9006 case AArch64::FAMIN_ZPmZ_D:
9007 case AArch64::FAMIN_ZPmZ_H:
9008 case AArch64::FAMIN_ZPmZ_S:
9009 case AArch64::FDIVR_ZPmZ_D:
9010 case AArch64::FDIVR_ZPmZ_H:
9011 case AArch64::FDIVR_ZPmZ_S:
9012 case AArch64::FDIV_ZPmZ_D:
9013 case AArch64::FDIV_ZPmZ_H:
9014 case AArch64::FDIV_ZPmZ_S:
9015 case AArch64::FMAXNM_ZPmZ_D:
9016 case AArch64::FMAXNM_ZPmZ_H:
9017 case AArch64::FMAXNM_ZPmZ_S:
9018 case AArch64::FMAX_ZPmZ_D:
9019 case AArch64::FMAX_ZPmZ_H:
9020 case AArch64::FMAX_ZPmZ_S:
9021 case AArch64::FMINNM_ZPmZ_D:
9022 case AArch64::FMINNM_ZPmZ_H:
9023 case AArch64::FMINNM_ZPmZ_S:
9024 case AArch64::FMIN_ZPmZ_D:
9025 case AArch64::FMIN_ZPmZ_H:
9026 case AArch64::FMIN_ZPmZ_S:
9027 case AArch64::FMULX_ZPmZ_D:
9028 case AArch64::FMULX_ZPmZ_H:
9029 case AArch64::FMULX_ZPmZ_S:
9030 case AArch64::FMUL_ZPmZ_D:
9031 case AArch64::FMUL_ZPmZ_H:
9032 case AArch64::FMUL_ZPmZ_S:
9033 case AArch64::FSCALE_ZPmZ_D:
9034 case AArch64::FSCALE_ZPmZ_H:
9035 case AArch64::FSCALE_ZPmZ_S:
9036 case AArch64::FSUBR_ZPmZ_D:
9037 case AArch64::FSUBR_ZPmZ_H:
9038 case AArch64::FSUBR_ZPmZ_S:
9039 case AArch64::FSUB_ZPmZ_D:
9040 case AArch64::FSUB_ZPmZ_H:
9041 case AArch64::FSUB_ZPmZ_S:
9042 case AArch64::LSLR_ZPmZ_B:
9043 case AArch64::LSLR_ZPmZ_D:
9044 case AArch64::LSLR_ZPmZ_H:
9045 case AArch64::LSLR_ZPmZ_S:
9046 case AArch64::LSL_WIDE_ZPmZ_B:
9047 case AArch64::LSL_WIDE_ZPmZ_H:
9048 case AArch64::LSL_WIDE_ZPmZ_S:
9049 case AArch64::LSL_ZPmZ_B:
9050 case AArch64::LSL_ZPmZ_D:
9051 case AArch64::LSL_ZPmZ_H:
9052 case AArch64::LSL_ZPmZ_S:
9053 case AArch64::LSRR_ZPmZ_B:
9054 case AArch64::LSRR_ZPmZ_D:
9055 case AArch64::LSRR_ZPmZ_H:
9056 case AArch64::LSRR_ZPmZ_S:
9057 case AArch64::LSR_WIDE_ZPmZ_B:
9058 case AArch64::LSR_WIDE_ZPmZ_H:
9059 case AArch64::LSR_WIDE_ZPmZ_S:
9060 case AArch64::LSR_ZPmZ_B:
9061 case AArch64::LSR_ZPmZ_D:
9062 case AArch64::LSR_ZPmZ_H:
9063 case AArch64::LSR_ZPmZ_S:
9064 case AArch64::MUL_ZPmZ_B:
9065 case AArch64::MUL_ZPmZ_D:
9066 case AArch64::MUL_ZPmZ_H:
9067 case AArch64::MUL_ZPmZ_S:
9068 case AArch64::ORR_ZPmZ_B:
9069 case AArch64::ORR_ZPmZ_D:
9070 case AArch64::ORR_ZPmZ_H:
9071 case AArch64::ORR_ZPmZ_S:
9072 case AArch64::SABD_ZPmZ_B:
9073 case AArch64::SABD_ZPmZ_D:
9074 case AArch64::SABD_ZPmZ_H:
9075 case AArch64::SABD_ZPmZ_S:
9076 case AArch64::SDIVR_ZPmZ_D:
9077 case AArch64::SDIVR_ZPmZ_S:
9078 case AArch64::SDIV_ZPmZ_D:
9079 case AArch64::SDIV_ZPmZ_S:
9080 case AArch64::SMAX_ZPmZ_B:
9081 case AArch64::SMAX_ZPmZ_D:
9082 case AArch64::SMAX_ZPmZ_H:
9083 case AArch64::SMAX_ZPmZ_S:
9084 case AArch64::SMIN_ZPmZ_B:
9085 case AArch64::SMIN_ZPmZ_D:
9086 case AArch64::SMIN_ZPmZ_H:
9087 case AArch64::SMIN_ZPmZ_S:
9088 case AArch64::SMULH_ZPmZ_B:
9089 case AArch64::SMULH_ZPmZ_D:
9090 case AArch64::SMULH_ZPmZ_H:
9091 case AArch64::SMULH_ZPmZ_S:
9092 case AArch64::SPLICE_ZPZ_B:
9093 case AArch64::SPLICE_ZPZ_D:
9094 case AArch64::SPLICE_ZPZ_H:
9095 case AArch64::SPLICE_ZPZ_S:
9096 case AArch64::SUBR_ZPmZ_B:
9097 case AArch64::SUBR_ZPmZ_D:
9098 case AArch64::SUBR_ZPmZ_H:
9099 case AArch64::SUBR_ZPmZ_S:
9100 case AArch64::SUB_ZPmZ_B:
9101 case AArch64::SUB_ZPmZ_CPA:
9102 case AArch64::SUB_ZPmZ_D:
9103 case AArch64::SUB_ZPmZ_H:
9104 case AArch64::SUB_ZPmZ_S:
9105 case AArch64::UABD_ZPmZ_B:
9106 case AArch64::UABD_ZPmZ_D:
9107 case AArch64::UABD_ZPmZ_H:
9108 case AArch64::UABD_ZPmZ_S:
9109 case AArch64::UDIVR_ZPmZ_D:
9110 case AArch64::UDIVR_ZPmZ_S:
9111 case AArch64::UDIV_ZPmZ_D:
9112 case AArch64::UDIV_ZPmZ_S:
9113 case AArch64::UMAX_ZPmZ_B:
9114 case AArch64::UMAX_ZPmZ_D:
9115 case AArch64::UMAX_ZPmZ_H:
9116 case AArch64::UMAX_ZPmZ_S:
9117 case AArch64::UMIN_ZPmZ_B:
9118 case AArch64::UMIN_ZPmZ_D:
9119 case AArch64::UMIN_ZPmZ_H:
9120 case AArch64::UMIN_ZPmZ_S:
9121 case AArch64::UMULH_ZPmZ_B:
9122 case AArch64::UMULH_ZPmZ_D:
9123 case AArch64::UMULH_ZPmZ_H:
9124 case AArch64::UMULH_ZPmZ_S: {
9125 // op: Pg
9126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9127 Value |= (op & 0x7) << 10;
9128 // op: Zdn
9129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9130 Value |= (op & 0x1f);
9131 // op: Zm
9132 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9133 Value |= (op & 0x1f) << 5;
9134 break;
9135 }
9136 case AArch64::FADD_ZPmI_D:
9137 case AArch64::FADD_ZPmI_H:
9138 case AArch64::FADD_ZPmI_S:
9139 case AArch64::FMAXNM_ZPmI_D:
9140 case AArch64::FMAXNM_ZPmI_H:
9141 case AArch64::FMAXNM_ZPmI_S:
9142 case AArch64::FMAX_ZPmI_D:
9143 case AArch64::FMAX_ZPmI_H:
9144 case AArch64::FMAX_ZPmI_S:
9145 case AArch64::FMINNM_ZPmI_D:
9146 case AArch64::FMINNM_ZPmI_H:
9147 case AArch64::FMINNM_ZPmI_S:
9148 case AArch64::FMIN_ZPmI_D:
9149 case AArch64::FMIN_ZPmI_H:
9150 case AArch64::FMIN_ZPmI_S:
9151 case AArch64::FMUL_ZPmI_D:
9152 case AArch64::FMUL_ZPmI_H:
9153 case AArch64::FMUL_ZPmI_S:
9154 case AArch64::FSUBR_ZPmI_D:
9155 case AArch64::FSUBR_ZPmI_H:
9156 case AArch64::FSUBR_ZPmI_S:
9157 case AArch64::FSUB_ZPmI_D:
9158 case AArch64::FSUB_ZPmI_H:
9159 case AArch64::FSUB_ZPmI_S: {
9160 // op: Pg
9161 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9162 Value |= (op & 0x7) << 10;
9163 // op: Zdn
9164 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9165 Value |= (op & 0x1f);
9166 // op: i1
9167 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9168 Value |= (op & 0x1) << 5;
9169 break;
9170 }
9171 case AArch64::LSL_ZPmI_H:
9172 case AArch64::SQSHLU_ZPmI_H:
9173 case AArch64::SQSHL_ZPmI_H:
9174 case AArch64::UQSHL_ZPmI_H: {
9175 // op: Pg
9176 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9177 Value |= (op & 0x7) << 10;
9178 // op: Zdn
9179 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9180 Value |= (op & 0x1f);
9181 // op: imm
9182 op = getVecShiftL16OpValue(MI, OpIdx: 3, Fixups, STI);
9183 Value |= (op & 0xf) << 5;
9184 break;
9185 }
9186 case AArch64::LSL_ZPmI_S:
9187 case AArch64::SQSHLU_ZPmI_S:
9188 case AArch64::SQSHL_ZPmI_S:
9189 case AArch64::UQSHL_ZPmI_S: {
9190 // op: Pg
9191 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9192 Value |= (op & 0x7) << 10;
9193 // op: Zdn
9194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9195 Value |= (op & 0x1f);
9196 // op: imm
9197 op = getVecShiftL32OpValue(MI, OpIdx: 3, Fixups, STI);
9198 Value |= (op & 0x1f) << 5;
9199 break;
9200 }
9201 case AArch64::LSL_ZPmI_D:
9202 case AArch64::SQSHLU_ZPmI_D:
9203 case AArch64::SQSHL_ZPmI_D:
9204 case AArch64::UQSHL_ZPmI_D: {
9205 // op: Pg
9206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9207 Value |= (op & 0x7) << 10;
9208 // op: Zdn
9209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9210 Value |= (op & 0x1f);
9211 // op: imm
9212 op = getVecShiftL64OpValue(MI, OpIdx: 3, Fixups, STI);
9213 Value |= (op & 0x20) << 17;
9214 Value |= (op & 0x1f) << 5;
9215 break;
9216 }
9217 case AArch64::LSL_ZPmI_B:
9218 case AArch64::SQSHLU_ZPmI_B:
9219 case AArch64::SQSHL_ZPmI_B:
9220 case AArch64::UQSHL_ZPmI_B: {
9221 // op: Pg
9222 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9223 Value |= (op & 0x7) << 10;
9224 // op: Zdn
9225 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9226 Value |= (op & 0x1f);
9227 // op: imm
9228 op = getVecShiftL8OpValue(MI, OpIdx: 3, Fixups, STI);
9229 Value |= (op & 0x7) << 5;
9230 break;
9231 }
9232 case AArch64::ASRD_ZPmI_H:
9233 case AArch64::ASR_ZPmI_H:
9234 case AArch64::LSR_ZPmI_H:
9235 case AArch64::SRSHR_ZPmI_H:
9236 case AArch64::URSHR_ZPmI_H: {
9237 // op: Pg
9238 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9239 Value |= (op & 0x7) << 10;
9240 // op: Zdn
9241 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9242 Value |= (op & 0x1f);
9243 // op: imm
9244 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
9245 Value |= (op & 0xf) << 5;
9246 break;
9247 }
9248 case AArch64::ASRD_ZPmI_S:
9249 case AArch64::ASR_ZPmI_S:
9250 case AArch64::LSR_ZPmI_S:
9251 case AArch64::SRSHR_ZPmI_S:
9252 case AArch64::URSHR_ZPmI_S: {
9253 // op: Pg
9254 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9255 Value |= (op & 0x7) << 10;
9256 // op: Zdn
9257 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9258 Value |= (op & 0x1f);
9259 // op: imm
9260 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
9261 Value |= (op & 0x1f) << 5;
9262 break;
9263 }
9264 case AArch64::ASRD_ZPmI_D:
9265 case AArch64::ASR_ZPmI_D:
9266 case AArch64::LSR_ZPmI_D:
9267 case AArch64::SRSHR_ZPmI_D:
9268 case AArch64::URSHR_ZPmI_D: {
9269 // op: Pg
9270 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9271 Value |= (op & 0x7) << 10;
9272 // op: Zdn
9273 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9274 Value |= (op & 0x1f);
9275 // op: imm
9276 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
9277 Value |= (op & 0x20) << 17;
9278 Value |= (op & 0x1f) << 5;
9279 break;
9280 }
9281 case AArch64::ASRD_ZPmI_B:
9282 case AArch64::ASR_ZPmI_B:
9283 case AArch64::LSR_ZPmI_B:
9284 case AArch64::SRSHR_ZPmI_B:
9285 case AArch64::URSHR_ZPmI_B: {
9286 // op: Pg
9287 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9288 Value |= (op & 0x7) << 10;
9289 // op: Zdn
9290 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9291 Value |= (op & 0x1f);
9292 // op: imm
9293 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
9294 Value |= (op & 0x7) << 5;
9295 break;
9296 }
9297 case AArch64::ADDP_ZPmZ_B:
9298 case AArch64::ADDP_ZPmZ_D:
9299 case AArch64::ADDP_ZPmZ_H:
9300 case AArch64::ADDP_ZPmZ_S:
9301 case AArch64::FADDP_ZPmZZ_D:
9302 case AArch64::FADDP_ZPmZZ_H:
9303 case AArch64::FADDP_ZPmZZ_S:
9304 case AArch64::FMAXNMP_ZPmZZ_D:
9305 case AArch64::FMAXNMP_ZPmZZ_H:
9306 case AArch64::FMAXNMP_ZPmZZ_S:
9307 case AArch64::FMAXP_ZPmZZ_D:
9308 case AArch64::FMAXP_ZPmZZ_H:
9309 case AArch64::FMAXP_ZPmZZ_S:
9310 case AArch64::FMINNMP_ZPmZZ_D:
9311 case AArch64::FMINNMP_ZPmZZ_H:
9312 case AArch64::FMINNMP_ZPmZZ_S:
9313 case AArch64::FMINP_ZPmZZ_D:
9314 case AArch64::FMINP_ZPmZZ_H:
9315 case AArch64::FMINP_ZPmZZ_S:
9316 case AArch64::SHADD_ZPmZ_B:
9317 case AArch64::SHADD_ZPmZ_D:
9318 case AArch64::SHADD_ZPmZ_H:
9319 case AArch64::SHADD_ZPmZ_S:
9320 case AArch64::SHSUBR_ZPmZ_B:
9321 case AArch64::SHSUBR_ZPmZ_D:
9322 case AArch64::SHSUBR_ZPmZ_H:
9323 case AArch64::SHSUBR_ZPmZ_S:
9324 case AArch64::SHSUB_ZPmZ_B:
9325 case AArch64::SHSUB_ZPmZ_D:
9326 case AArch64::SHSUB_ZPmZ_H:
9327 case AArch64::SHSUB_ZPmZ_S:
9328 case AArch64::SMAXP_ZPmZ_B:
9329 case AArch64::SMAXP_ZPmZ_D:
9330 case AArch64::SMAXP_ZPmZ_H:
9331 case AArch64::SMAXP_ZPmZ_S:
9332 case AArch64::SMINP_ZPmZ_B:
9333 case AArch64::SMINP_ZPmZ_D:
9334 case AArch64::SMINP_ZPmZ_H:
9335 case AArch64::SMINP_ZPmZ_S:
9336 case AArch64::SQADD_ZPmZ_B:
9337 case AArch64::SQADD_ZPmZ_D:
9338 case AArch64::SQADD_ZPmZ_H:
9339 case AArch64::SQADD_ZPmZ_S:
9340 case AArch64::SQRSHLR_ZPmZ_B:
9341 case AArch64::SQRSHLR_ZPmZ_D:
9342 case AArch64::SQRSHLR_ZPmZ_H:
9343 case AArch64::SQRSHLR_ZPmZ_S:
9344 case AArch64::SQRSHL_ZPmZ_B:
9345 case AArch64::SQRSHL_ZPmZ_D:
9346 case AArch64::SQRSHL_ZPmZ_H:
9347 case AArch64::SQRSHL_ZPmZ_S:
9348 case AArch64::SQSHLR_ZPmZ_B:
9349 case AArch64::SQSHLR_ZPmZ_D:
9350 case AArch64::SQSHLR_ZPmZ_H:
9351 case AArch64::SQSHLR_ZPmZ_S:
9352 case AArch64::SQSHL_ZPmZ_B:
9353 case AArch64::SQSHL_ZPmZ_D:
9354 case AArch64::SQSHL_ZPmZ_H:
9355 case AArch64::SQSHL_ZPmZ_S:
9356 case AArch64::SQSUBR_ZPmZ_B:
9357 case AArch64::SQSUBR_ZPmZ_D:
9358 case AArch64::SQSUBR_ZPmZ_H:
9359 case AArch64::SQSUBR_ZPmZ_S:
9360 case AArch64::SQSUB_ZPmZ_B:
9361 case AArch64::SQSUB_ZPmZ_D:
9362 case AArch64::SQSUB_ZPmZ_H:
9363 case AArch64::SQSUB_ZPmZ_S:
9364 case AArch64::SRHADD_ZPmZ_B:
9365 case AArch64::SRHADD_ZPmZ_D:
9366 case AArch64::SRHADD_ZPmZ_H:
9367 case AArch64::SRHADD_ZPmZ_S:
9368 case AArch64::SRSHLR_ZPmZ_B:
9369 case AArch64::SRSHLR_ZPmZ_D:
9370 case AArch64::SRSHLR_ZPmZ_H:
9371 case AArch64::SRSHLR_ZPmZ_S:
9372 case AArch64::SRSHL_ZPmZ_B:
9373 case AArch64::SRSHL_ZPmZ_D:
9374 case AArch64::SRSHL_ZPmZ_H:
9375 case AArch64::SRSHL_ZPmZ_S:
9376 case AArch64::SUBP_ZPmZZ_B:
9377 case AArch64::SUBP_ZPmZZ_D:
9378 case AArch64::SUBP_ZPmZZ_H:
9379 case AArch64::SUBP_ZPmZZ_S:
9380 case AArch64::SUQADD_ZPmZ_B:
9381 case AArch64::SUQADD_ZPmZ_D:
9382 case AArch64::SUQADD_ZPmZ_H:
9383 case AArch64::SUQADD_ZPmZ_S:
9384 case AArch64::UHADD_ZPmZ_B:
9385 case AArch64::UHADD_ZPmZ_D:
9386 case AArch64::UHADD_ZPmZ_H:
9387 case AArch64::UHADD_ZPmZ_S:
9388 case AArch64::UHSUBR_ZPmZ_B:
9389 case AArch64::UHSUBR_ZPmZ_D:
9390 case AArch64::UHSUBR_ZPmZ_H:
9391 case AArch64::UHSUBR_ZPmZ_S:
9392 case AArch64::UHSUB_ZPmZ_B:
9393 case AArch64::UHSUB_ZPmZ_D:
9394 case AArch64::UHSUB_ZPmZ_H:
9395 case AArch64::UHSUB_ZPmZ_S:
9396 case AArch64::UMAXP_ZPmZ_B:
9397 case AArch64::UMAXP_ZPmZ_D:
9398 case AArch64::UMAXP_ZPmZ_H:
9399 case AArch64::UMAXP_ZPmZ_S:
9400 case AArch64::UMINP_ZPmZ_B:
9401 case AArch64::UMINP_ZPmZ_D:
9402 case AArch64::UMINP_ZPmZ_H:
9403 case AArch64::UMINP_ZPmZ_S:
9404 case AArch64::UQADD_ZPmZ_B:
9405 case AArch64::UQADD_ZPmZ_D:
9406 case AArch64::UQADD_ZPmZ_H:
9407 case AArch64::UQADD_ZPmZ_S:
9408 case AArch64::UQRSHLR_ZPmZ_B:
9409 case AArch64::UQRSHLR_ZPmZ_D:
9410 case AArch64::UQRSHLR_ZPmZ_H:
9411 case AArch64::UQRSHLR_ZPmZ_S:
9412 case AArch64::UQRSHL_ZPmZ_B:
9413 case AArch64::UQRSHL_ZPmZ_D:
9414 case AArch64::UQRSHL_ZPmZ_H:
9415 case AArch64::UQRSHL_ZPmZ_S:
9416 case AArch64::UQSHLR_ZPmZ_B:
9417 case AArch64::UQSHLR_ZPmZ_D:
9418 case AArch64::UQSHLR_ZPmZ_H:
9419 case AArch64::UQSHLR_ZPmZ_S:
9420 case AArch64::UQSHL_ZPmZ_B:
9421 case AArch64::UQSHL_ZPmZ_D:
9422 case AArch64::UQSHL_ZPmZ_H:
9423 case AArch64::UQSHL_ZPmZ_S:
9424 case AArch64::UQSUBR_ZPmZ_B:
9425 case AArch64::UQSUBR_ZPmZ_D:
9426 case AArch64::UQSUBR_ZPmZ_H:
9427 case AArch64::UQSUBR_ZPmZ_S:
9428 case AArch64::UQSUB_ZPmZ_B:
9429 case AArch64::UQSUB_ZPmZ_D:
9430 case AArch64::UQSUB_ZPmZ_H:
9431 case AArch64::UQSUB_ZPmZ_S:
9432 case AArch64::URHADD_ZPmZ_B:
9433 case AArch64::URHADD_ZPmZ_D:
9434 case AArch64::URHADD_ZPmZ_H:
9435 case AArch64::URHADD_ZPmZ_S:
9436 case AArch64::URSHLR_ZPmZ_B:
9437 case AArch64::URSHLR_ZPmZ_D:
9438 case AArch64::URSHLR_ZPmZ_H:
9439 case AArch64::URSHLR_ZPmZ_S:
9440 case AArch64::URSHL_ZPmZ_B:
9441 case AArch64::URSHL_ZPmZ_D:
9442 case AArch64::URSHL_ZPmZ_H:
9443 case AArch64::URSHL_ZPmZ_S:
9444 case AArch64::USQADD_ZPmZ_B:
9445 case AArch64::USQADD_ZPmZ_D:
9446 case AArch64::USQADD_ZPmZ_H:
9447 case AArch64::USQADD_ZPmZ_S: {
9448 // op: Pg
9449 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9450 Value |= (op & 0x7) << 10;
9451 // op: Zm
9452 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9453 Value |= (op & 0x1f) << 5;
9454 // op: Zdn
9455 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9456 Value |= (op & 0x1f);
9457 break;
9458 }
9459 case AArch64::EXPAND_ZPZ_B:
9460 case AArch64::EXPAND_ZPZ_D:
9461 case AArch64::EXPAND_ZPZ_H:
9462 case AArch64::EXPAND_ZPZ_S:
9463 case AArch64::SPLICE_ZPZZ_B:
9464 case AArch64::SPLICE_ZPZZ_D:
9465 case AArch64::SPLICE_ZPZZ_H:
9466 case AArch64::SPLICE_ZPZZ_S: {
9467 // op: Pg
9468 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9469 Value |= (op & 0x7) << 10;
9470 // op: Zn
9471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9472 Value |= (op & 0x1f) << 5;
9473 // op: Zd
9474 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9475 Value |= (op & 0x1f);
9476 break;
9477 }
9478 case AArch64::GLD1B_D_IMM:
9479 case AArch64::GLD1B_S_IMM:
9480 case AArch64::GLD1D_IMM:
9481 case AArch64::GLD1H_D_IMM:
9482 case AArch64::GLD1H_S_IMM:
9483 case AArch64::GLD1SB_D_IMM:
9484 case AArch64::GLD1SB_S_IMM:
9485 case AArch64::GLD1SH_D_IMM:
9486 case AArch64::GLD1SH_S_IMM:
9487 case AArch64::GLD1SW_D_IMM:
9488 case AArch64::GLD1W_D_IMM:
9489 case AArch64::GLD1W_IMM:
9490 case AArch64::GLDFF1B_D_IMM:
9491 case AArch64::GLDFF1B_S_IMM:
9492 case AArch64::GLDFF1D_IMM:
9493 case AArch64::GLDFF1H_D_IMM:
9494 case AArch64::GLDFF1H_S_IMM:
9495 case AArch64::GLDFF1SB_D_IMM:
9496 case AArch64::GLDFF1SB_S_IMM:
9497 case AArch64::GLDFF1SH_D_IMM:
9498 case AArch64::GLDFF1SH_S_IMM:
9499 case AArch64::GLDFF1SW_D_IMM:
9500 case AArch64::GLDFF1W_D_IMM:
9501 case AArch64::GLDFF1W_IMM: {
9502 // op: Pg
9503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9504 Value |= (op & 0x7) << 10;
9505 // op: Zn
9506 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9507 Value |= (op & 0x1f) << 5;
9508 // op: Zt
9509 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9510 Value |= (op & 0x1f);
9511 // op: imm5
9512 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9513 Value |= (op & 0x1f) << 16;
9514 break;
9515 }
9516 case AArch64::PRFB_D_PZI:
9517 case AArch64::PRFB_S_PZI:
9518 case AArch64::PRFD_D_PZI:
9519 case AArch64::PRFD_S_PZI:
9520 case AArch64::PRFH_D_PZI:
9521 case AArch64::PRFH_S_PZI:
9522 case AArch64::PRFW_D_PZI:
9523 case AArch64::PRFW_S_PZI: {
9524 // op: Pg
9525 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9526 Value |= (op & 0x7) << 10;
9527 // op: Zn
9528 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9529 Value |= (op & 0x1f) << 5;
9530 // op: imm5
9531 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9532 Value |= (op & 0x1f) << 16;
9533 // op: prfop
9534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9535 Value |= (op & 0xf);
9536 break;
9537 }
9538 case AArch64::SADALP_ZPmZ_D:
9539 case AArch64::SADALP_ZPmZ_H:
9540 case AArch64::SADALP_ZPmZ_S:
9541 case AArch64::UADALP_ZPmZ_D:
9542 case AArch64::UADALP_ZPmZ_H:
9543 case AArch64::UADALP_ZPmZ_S: {
9544 // op: Pg
9545 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9546 Value |= (op & 0x7) << 10;
9547 // op: Zn
9548 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9549 Value |= (op & 0x1f) << 5;
9550 // op: Zda
9551 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9552 Value |= (op & 0x1f);
9553 break;
9554 }
9555 case AArch64::SST1B_D_IMM:
9556 case AArch64::SST1B_S_IMM:
9557 case AArch64::SST1D_IMM:
9558 case AArch64::SST1H_D_IMM:
9559 case AArch64::SST1H_S_IMM:
9560 case AArch64::SST1W_D_IMM:
9561 case AArch64::SST1W_IMM: {
9562 // op: Pg
9563 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9564 Value |= (op & 0x7) << 10;
9565 // op: imm5
9566 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9567 Value |= (op & 0x1f) << 16;
9568 // op: Zn
9569 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9570 Value |= (op & 0x1f) << 5;
9571 // op: Zt
9572 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9573 Value |= (op & 0x1f);
9574 break;
9575 }
9576 case AArch64::CNTP_XPP_B:
9577 case AArch64::CNTP_XPP_D:
9578 case AArch64::CNTP_XPP_H:
9579 case AArch64::CNTP_XPP_S:
9580 case AArch64::FIRSTP_XPP_B:
9581 case AArch64::FIRSTP_XPP_D:
9582 case AArch64::FIRSTP_XPP_H:
9583 case AArch64::FIRSTP_XPP_S:
9584 case AArch64::LASTP_XPP_B:
9585 case AArch64::LASTP_XPP_D:
9586 case AArch64::LASTP_XPP_H:
9587 case AArch64::LASTP_XPP_S: {
9588 // op: Pg
9589 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9590 Value |= (op & 0xf) << 10;
9591 // op: Pn
9592 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9593 Value |= (op & 0xf) << 5;
9594 // op: Rd
9595 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9596 Value |= (op & 0x1f);
9597 break;
9598 }
9599 case AArch64::SEL_ZPZZ_B:
9600 case AArch64::SEL_ZPZZ_D:
9601 case AArch64::SEL_ZPZZ_H:
9602 case AArch64::SEL_ZPZZ_S: {
9603 // op: Pg
9604 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9605 Value |= (op & 0xf) << 10;
9606 // op: Zd
9607 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9608 Value |= (op & 0x1f);
9609 // op: Zm
9610 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9611 Value |= (op & 0x1f) << 16;
9612 // op: Zn
9613 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9614 Value |= (op & 0x1f) << 5;
9615 break;
9616 }
9617 case AArch64::CPY_ZPmR_B:
9618 case AArch64::CPY_ZPmR_D:
9619 case AArch64::CPY_ZPmR_H:
9620 case AArch64::CPY_ZPmR_S: {
9621 // op: Pg
9622 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9623 Value |= (op & 0x7) << 10;
9624 // op: Rn
9625 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9626 Value |= (op & 0x1f) << 5;
9627 // op: Zd
9628 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9629 Value |= (op & 0x1f);
9630 break;
9631 }
9632 case AArch64::CPY_ZPmV_B:
9633 case AArch64::CPY_ZPmV_D:
9634 case AArch64::CPY_ZPmV_H:
9635 case AArch64::CPY_ZPmV_S: {
9636 // op: Pg
9637 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9638 Value |= (op & 0x7) << 10;
9639 // op: Vn
9640 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9641 Value |= (op & 0x1f) << 5;
9642 // op: Zd
9643 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9644 Value |= (op & 0x1f);
9645 break;
9646 }
9647 case AArch64::ABS_ZPmZ_B:
9648 case AArch64::ABS_ZPmZ_D:
9649 case AArch64::ABS_ZPmZ_H:
9650 case AArch64::ABS_ZPmZ_S:
9651 case AArch64::BFCVT_ZPmZ:
9652 case AArch64::CLS_ZPmZ_B:
9653 case AArch64::CLS_ZPmZ_D:
9654 case AArch64::CLS_ZPmZ_H:
9655 case AArch64::CLS_ZPmZ_S:
9656 case AArch64::CLZ_ZPmZ_B:
9657 case AArch64::CLZ_ZPmZ_D:
9658 case AArch64::CLZ_ZPmZ_H:
9659 case AArch64::CLZ_ZPmZ_S:
9660 case AArch64::CNOT_ZPmZ_B:
9661 case AArch64::CNOT_ZPmZ_D:
9662 case AArch64::CNOT_ZPmZ_H:
9663 case AArch64::CNOT_ZPmZ_S:
9664 case AArch64::CNT_ZPmZ_B:
9665 case AArch64::CNT_ZPmZ_D:
9666 case AArch64::CNT_ZPmZ_H:
9667 case AArch64::CNT_ZPmZ_S:
9668 case AArch64::FABS_ZPmZ_D:
9669 case AArch64::FABS_ZPmZ_H:
9670 case AArch64::FABS_ZPmZ_S:
9671 case AArch64::FCVTX_ZPmZ_DtoS:
9672 case AArch64::FCVTZS_ZPmZ_DtoD:
9673 case AArch64::FCVTZS_ZPmZ_DtoS:
9674 case AArch64::FCVTZS_ZPmZ_HtoD:
9675 case AArch64::FCVTZS_ZPmZ_HtoH:
9676 case AArch64::FCVTZS_ZPmZ_HtoS:
9677 case AArch64::FCVTZS_ZPmZ_StoD:
9678 case AArch64::FCVTZS_ZPmZ_StoS:
9679 case AArch64::FCVTZU_ZPmZ_DtoD:
9680 case AArch64::FCVTZU_ZPmZ_DtoS:
9681 case AArch64::FCVTZU_ZPmZ_HtoD:
9682 case AArch64::FCVTZU_ZPmZ_HtoH:
9683 case AArch64::FCVTZU_ZPmZ_HtoS:
9684 case AArch64::FCVTZU_ZPmZ_StoD:
9685 case AArch64::FCVTZU_ZPmZ_StoS:
9686 case AArch64::FCVT_ZPmZ_DtoH:
9687 case AArch64::FCVT_ZPmZ_DtoS:
9688 case AArch64::FCVT_ZPmZ_HtoD:
9689 case AArch64::FCVT_ZPmZ_HtoS:
9690 case AArch64::FCVT_ZPmZ_StoD:
9691 case AArch64::FCVT_ZPmZ_StoH:
9692 case AArch64::FLOGB_ZPmZ_D:
9693 case AArch64::FLOGB_ZPmZ_H:
9694 case AArch64::FLOGB_ZPmZ_S:
9695 case AArch64::FNEG_ZPmZ_D:
9696 case AArch64::FNEG_ZPmZ_H:
9697 case AArch64::FNEG_ZPmZ_S:
9698 case AArch64::FRECPX_ZPmZ_D:
9699 case AArch64::FRECPX_ZPmZ_H:
9700 case AArch64::FRECPX_ZPmZ_S:
9701 case AArch64::FRINT32X_ZPmZ_D:
9702 case AArch64::FRINT32X_ZPmZ_S:
9703 case AArch64::FRINT32Z_ZPmZ_D:
9704 case AArch64::FRINT32Z_ZPmZ_S:
9705 case AArch64::FRINT64X_ZPmZ_D:
9706 case AArch64::FRINT64X_ZPmZ_S:
9707 case AArch64::FRINT64Z_ZPmZ_D:
9708 case AArch64::FRINT64Z_ZPmZ_S:
9709 case AArch64::FRINTA_ZPmZ_D:
9710 case AArch64::FRINTA_ZPmZ_H:
9711 case AArch64::FRINTA_ZPmZ_S:
9712 case AArch64::FRINTI_ZPmZ_D:
9713 case AArch64::FRINTI_ZPmZ_H:
9714 case AArch64::FRINTI_ZPmZ_S:
9715 case AArch64::FRINTM_ZPmZ_D:
9716 case AArch64::FRINTM_ZPmZ_H:
9717 case AArch64::FRINTM_ZPmZ_S:
9718 case AArch64::FRINTN_ZPmZ_D:
9719 case AArch64::FRINTN_ZPmZ_H:
9720 case AArch64::FRINTN_ZPmZ_S:
9721 case AArch64::FRINTP_ZPmZ_D:
9722 case AArch64::FRINTP_ZPmZ_H:
9723 case AArch64::FRINTP_ZPmZ_S:
9724 case AArch64::FRINTX_ZPmZ_D:
9725 case AArch64::FRINTX_ZPmZ_H:
9726 case AArch64::FRINTX_ZPmZ_S:
9727 case AArch64::FRINTZ_ZPmZ_D:
9728 case AArch64::FRINTZ_ZPmZ_H:
9729 case AArch64::FRINTZ_ZPmZ_S:
9730 case AArch64::FSQRT_ZPmZ_D:
9731 case AArch64::FSQRT_ZPmZ_H:
9732 case AArch64::FSQRT_ZPmZ_S:
9733 case AArch64::MOVPRFX_ZPmZ_B:
9734 case AArch64::MOVPRFX_ZPmZ_D:
9735 case AArch64::MOVPRFX_ZPmZ_H:
9736 case AArch64::MOVPRFX_ZPmZ_S:
9737 case AArch64::NEG_ZPmZ_B:
9738 case AArch64::NEG_ZPmZ_D:
9739 case AArch64::NEG_ZPmZ_H:
9740 case AArch64::NEG_ZPmZ_S:
9741 case AArch64::NOT_ZPmZ_B:
9742 case AArch64::NOT_ZPmZ_D:
9743 case AArch64::NOT_ZPmZ_H:
9744 case AArch64::NOT_ZPmZ_S:
9745 case AArch64::SCVTF_ZPmZ_DtoD:
9746 case AArch64::SCVTF_ZPmZ_DtoH:
9747 case AArch64::SCVTF_ZPmZ_DtoS:
9748 case AArch64::SCVTF_ZPmZ_HtoH:
9749 case AArch64::SCVTF_ZPmZ_StoD:
9750 case AArch64::SCVTF_ZPmZ_StoH:
9751 case AArch64::SCVTF_ZPmZ_StoS:
9752 case AArch64::SQABS_ZPmZ_B:
9753 case AArch64::SQABS_ZPmZ_D:
9754 case AArch64::SQABS_ZPmZ_H:
9755 case AArch64::SQABS_ZPmZ_S:
9756 case AArch64::SQNEG_ZPmZ_B:
9757 case AArch64::SQNEG_ZPmZ_D:
9758 case AArch64::SQNEG_ZPmZ_H:
9759 case AArch64::SQNEG_ZPmZ_S:
9760 case AArch64::SXTB_ZPmZ_D:
9761 case AArch64::SXTB_ZPmZ_H:
9762 case AArch64::SXTB_ZPmZ_S:
9763 case AArch64::SXTH_ZPmZ_D:
9764 case AArch64::SXTH_ZPmZ_S:
9765 case AArch64::SXTW_ZPmZ_D:
9766 case AArch64::UCVTF_ZPmZ_DtoD:
9767 case AArch64::UCVTF_ZPmZ_DtoH:
9768 case AArch64::UCVTF_ZPmZ_DtoS:
9769 case AArch64::UCVTF_ZPmZ_HtoH:
9770 case AArch64::UCVTF_ZPmZ_StoD:
9771 case AArch64::UCVTF_ZPmZ_StoH:
9772 case AArch64::UCVTF_ZPmZ_StoS:
9773 case AArch64::URECPE_ZPmZ_S:
9774 case AArch64::URSQRTE_ZPmZ_S:
9775 case AArch64::UXTB_ZPmZ_D:
9776 case AArch64::UXTB_ZPmZ_H:
9777 case AArch64::UXTB_ZPmZ_S:
9778 case AArch64::UXTH_ZPmZ_D:
9779 case AArch64::UXTH_ZPmZ_S:
9780 case AArch64::UXTW_ZPmZ_D: {
9781 // op: Pg
9782 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9783 Value |= (op & 0x7) << 10;
9784 // op: Zd
9785 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9786 Value |= (op & 0x1f);
9787 // op: Zn
9788 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9789 Value |= (op & 0x1f) << 5;
9790 break;
9791 }
9792 case AArch64::FCPY_ZPmI_D:
9793 case AArch64::FCPY_ZPmI_H:
9794 case AArch64::FCPY_ZPmI_S: {
9795 // op: Pg
9796 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9797 Value |= (op & 0xf) << 16;
9798 // op: Zd
9799 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9800 Value |= (op & 0x1f);
9801 // op: imm8
9802 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9803 Value |= (op & 0xff) << 5;
9804 break;
9805 }
9806 case AArch64::DECP_ZP_D:
9807 case AArch64::DECP_ZP_H:
9808 case AArch64::DECP_ZP_S:
9809 case AArch64::INCP_ZP_D:
9810 case AArch64::INCP_ZP_H:
9811 case AArch64::INCP_ZP_S:
9812 case AArch64::SQDECP_ZP_D:
9813 case AArch64::SQDECP_ZP_H:
9814 case AArch64::SQDECP_ZP_S:
9815 case AArch64::SQINCP_ZP_D:
9816 case AArch64::SQINCP_ZP_H:
9817 case AArch64::SQINCP_ZP_S:
9818 case AArch64::UQDECP_ZP_D:
9819 case AArch64::UQDECP_ZP_H:
9820 case AArch64::UQDECP_ZP_S:
9821 case AArch64::UQINCP_ZP_D:
9822 case AArch64::UQINCP_ZP_H:
9823 case AArch64::UQINCP_ZP_S: {
9824 // op: Pm
9825 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9826 Value |= (op & 0xf) << 5;
9827 // op: Zdn
9828 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9829 Value |= (op & 0x1f);
9830 break;
9831 }
9832 case AArch64::ADDHA_MPPZ_S:
9833 case AArch64::ADDVA_MPPZ_S: {
9834 // op: Pm
9835 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9836 Value |= (op & 0x7) << 13;
9837 // op: Pn
9838 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9839 Value |= (op & 0x7) << 10;
9840 // op: Zn
9841 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9842 Value |= (op & 0x1f) << 5;
9843 // op: ZAda
9844 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9845 Value |= (op & 0x3);
9846 break;
9847 }
9848 case AArch64::ADDHA_MPPZ_D:
9849 case AArch64::ADDVA_MPPZ_D: {
9850 // op: Pm
9851 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
9852 Value |= (op & 0x7) << 13;
9853 // op: Pn
9854 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9855 Value |= (op & 0x7) << 10;
9856 // op: Zn
9857 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9858 Value |= (op & 0x1f) << 5;
9859 // op: ZAda
9860 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9861 Value |= (op & 0x7);
9862 break;
9863 }
9864 case AArch64::WRFFR: {
9865 // op: Pn
9866 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9867 Value |= (op & 0xf) << 5;
9868 break;
9869 }
9870 case AArch64::LDR_PXI:
9871 case AArch64::STR_PXI: {
9872 // op: Pt
9873 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9874 Value |= (op & 0xf);
9875 // op: Rn
9876 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9877 Value |= (op & 0x1f) << 5;
9878 // op: imm9
9879 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9880 Value |= (op & 0x1f8) << 13;
9881 Value |= (op & 0x7) << 10;
9882 break;
9883 }
9884 case AArch64::XPACD:
9885 case AArch64::XPACI: {
9886 // op: Rd
9887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9888 Value |= (op & 0x1f);
9889 break;
9890 }
9891 case AArch64::CNTP_XCI_B:
9892 case AArch64::CNTP_XCI_D:
9893 case AArch64::CNTP_XCI_H:
9894 case AArch64::CNTP_XCI_S: {
9895 // op: Rd
9896 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9897 Value |= (op & 0x1f);
9898 // op: PNn
9899 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9900 Value |= (op & 0xf) << 5;
9901 // op: vl
9902 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9903 Value |= (op & 0x1) << 10;
9904 break;
9905 }
9906 case AArch64::ADDPL_XXI:
9907 case AArch64::ADDSPL_XXI:
9908 case AArch64::ADDSVL_XXI:
9909 case AArch64::ADDVL_XXI: {
9910 // op: Rd
9911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9912 Value |= (op & 0x1f);
9913 // op: Rn
9914 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9915 Value |= (op & 0x1f) << 16;
9916 // op: imm6
9917 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9918 Value |= (op & 0x3f) << 5;
9919 break;
9920 }
9921 case AArch64::ABSWr:
9922 case AArch64::ABSXr:
9923 case AArch64::ABSv16i8:
9924 case AArch64::ABSv1i64:
9925 case AArch64::ABSv2i32:
9926 case AArch64::ABSv2i64:
9927 case AArch64::ABSv4i16:
9928 case AArch64::ABSv4i32:
9929 case AArch64::ABSv8i16:
9930 case AArch64::ABSv8i8:
9931 case AArch64::ADDPv2i64p:
9932 case AArch64::ADDVv16i8v:
9933 case AArch64::ADDVv4i16v:
9934 case AArch64::ADDVv4i32v:
9935 case AArch64::ADDVv8i16v:
9936 case AArch64::ADDVv8i8v:
9937 case AArch64::AESIMCrr:
9938 case AArch64::AESMCrr:
9939 case AArch64::BF1CVTL:
9940 case AArch64::BF1CVTL2:
9941 case AArch64::BF2CVTL:
9942 case AArch64::BF2CVTL2:
9943 case AArch64::BFCVT:
9944 case AArch64::BFCVTN:
9945 case AArch64::CLSWr:
9946 case AArch64::CLSXr:
9947 case AArch64::CLSv16i8:
9948 case AArch64::CLSv2i32:
9949 case AArch64::CLSv4i16:
9950 case AArch64::CLSv4i32:
9951 case AArch64::CLSv8i16:
9952 case AArch64::CLSv8i8:
9953 case AArch64::CLZWr:
9954 case AArch64::CLZXr:
9955 case AArch64::CLZv16i8:
9956 case AArch64::CLZv2i32:
9957 case AArch64::CLZv4i16:
9958 case AArch64::CLZv4i32:
9959 case AArch64::CLZv8i16:
9960 case AArch64::CLZv8i8:
9961 case AArch64::CMEQv16i8rz:
9962 case AArch64::CMEQv1i64rz:
9963 case AArch64::CMEQv2i32rz:
9964 case AArch64::CMEQv2i64rz:
9965 case AArch64::CMEQv4i16rz:
9966 case AArch64::CMEQv4i32rz:
9967 case AArch64::CMEQv8i16rz:
9968 case AArch64::CMEQv8i8rz:
9969 case AArch64::CMGEv16i8rz:
9970 case AArch64::CMGEv1i64rz:
9971 case AArch64::CMGEv2i32rz:
9972 case AArch64::CMGEv2i64rz:
9973 case AArch64::CMGEv4i16rz:
9974 case AArch64::CMGEv4i32rz:
9975 case AArch64::CMGEv8i16rz:
9976 case AArch64::CMGEv8i8rz:
9977 case AArch64::CMGTv16i8rz:
9978 case AArch64::CMGTv1i64rz:
9979 case AArch64::CMGTv2i32rz:
9980 case AArch64::CMGTv2i64rz:
9981 case AArch64::CMGTv4i16rz:
9982 case AArch64::CMGTv4i32rz:
9983 case AArch64::CMGTv8i16rz:
9984 case AArch64::CMGTv8i8rz:
9985 case AArch64::CMLEv16i8rz:
9986 case AArch64::CMLEv1i64rz:
9987 case AArch64::CMLEv2i32rz:
9988 case AArch64::CMLEv2i64rz:
9989 case AArch64::CMLEv4i16rz:
9990 case AArch64::CMLEv4i32rz:
9991 case AArch64::CMLEv8i16rz:
9992 case AArch64::CMLEv8i8rz:
9993 case AArch64::CMLTv16i8rz:
9994 case AArch64::CMLTv1i64rz:
9995 case AArch64::CMLTv2i32rz:
9996 case AArch64::CMLTv2i64rz:
9997 case AArch64::CMLTv4i16rz:
9998 case AArch64::CMLTv4i32rz:
9999 case AArch64::CMLTv8i16rz:
10000 case AArch64::CMLTv8i8rz:
10001 case AArch64::CNTWr:
10002 case AArch64::CNTXr:
10003 case AArch64::CNTv16i8:
10004 case AArch64::CNTv8i8:
10005 case AArch64::CTZWr:
10006 case AArch64::CTZXr:
10007 case AArch64::DUPv16i8gpr:
10008 case AArch64::DUPv2i32gpr:
10009 case AArch64::DUPv2i64gpr:
10010 case AArch64::DUPv4i16gpr:
10011 case AArch64::DUPv4i32gpr:
10012 case AArch64::DUPv8i16gpr:
10013 case AArch64::DUPv8i8gpr:
10014 case AArch64::F1CVTL:
10015 case AArch64::F1CVTL2:
10016 case AArch64::F2CVTL:
10017 case AArch64::F2CVTL2:
10018 case AArch64::FABSDr:
10019 case AArch64::FABSHr:
10020 case AArch64::FABSSr:
10021 case AArch64::FABSv2f32:
10022 case AArch64::FABSv2f64:
10023 case AArch64::FABSv4f16:
10024 case AArch64::FABSv4f32:
10025 case AArch64::FABSv8f16:
10026 case AArch64::FADDPv2i16p:
10027 case AArch64::FADDPv2i32p:
10028 case AArch64::FADDPv2i64p:
10029 case AArch64::FCMEQv1i16rz:
10030 case AArch64::FCMEQv1i32rz:
10031 case AArch64::FCMEQv1i64rz:
10032 case AArch64::FCMEQv2i32rz:
10033 case AArch64::FCMEQv2i64rz:
10034 case AArch64::FCMEQv4i16rz:
10035 case AArch64::FCMEQv4i32rz:
10036 case AArch64::FCMEQv8i16rz:
10037 case AArch64::FCMGEv1i16rz:
10038 case AArch64::FCMGEv1i32rz:
10039 case AArch64::FCMGEv1i64rz:
10040 case AArch64::FCMGEv2i32rz:
10041 case AArch64::FCMGEv2i64rz:
10042 case AArch64::FCMGEv4i16rz:
10043 case AArch64::FCMGEv4i32rz:
10044 case AArch64::FCMGEv8i16rz:
10045 case AArch64::FCMGTv1i16rz:
10046 case AArch64::FCMGTv1i32rz:
10047 case AArch64::FCMGTv1i64rz:
10048 case AArch64::FCMGTv2i32rz:
10049 case AArch64::FCMGTv2i64rz:
10050 case AArch64::FCMGTv4i16rz:
10051 case AArch64::FCMGTv4i32rz:
10052 case AArch64::FCMGTv8i16rz:
10053 case AArch64::FCMLEv1i16rz:
10054 case AArch64::FCMLEv1i32rz:
10055 case AArch64::FCMLEv1i64rz:
10056 case AArch64::FCMLEv2i32rz:
10057 case AArch64::FCMLEv2i64rz:
10058 case AArch64::FCMLEv4i16rz:
10059 case AArch64::FCMLEv4i32rz:
10060 case AArch64::FCMLEv8i16rz:
10061 case AArch64::FCMLTv1i16rz:
10062 case AArch64::FCMLTv1i32rz:
10063 case AArch64::FCMLTv1i64rz:
10064 case AArch64::FCMLTv2i32rz:
10065 case AArch64::FCMLTv2i64rz:
10066 case AArch64::FCMLTv4i16rz:
10067 case AArch64::FCMLTv4i32rz:
10068 case AArch64::FCMLTv8i16rz:
10069 case AArch64::FCVTASDHr:
10070 case AArch64::FCVTASDSr:
10071 case AArch64::FCVTASSDr:
10072 case AArch64::FCVTASSHr:
10073 case AArch64::FCVTASUWDr:
10074 case AArch64::FCVTASUWHr:
10075 case AArch64::FCVTASUWSr:
10076 case AArch64::FCVTASUXDr:
10077 case AArch64::FCVTASUXHr:
10078 case AArch64::FCVTASUXSr:
10079 case AArch64::FCVTASv1f16:
10080 case AArch64::FCVTASv1i32:
10081 case AArch64::FCVTASv1i64:
10082 case AArch64::FCVTASv2f32:
10083 case AArch64::FCVTASv2f64:
10084 case AArch64::FCVTASv4f16:
10085 case AArch64::FCVTASv4f32:
10086 case AArch64::FCVTASv8f16:
10087 case AArch64::FCVTAUDHr:
10088 case AArch64::FCVTAUDSr:
10089 case AArch64::FCVTAUSDr:
10090 case AArch64::FCVTAUSHr:
10091 case AArch64::FCVTAUUWDr:
10092 case AArch64::FCVTAUUWHr:
10093 case AArch64::FCVTAUUWSr:
10094 case AArch64::FCVTAUUXDr:
10095 case AArch64::FCVTAUUXHr:
10096 case AArch64::FCVTAUUXSr:
10097 case AArch64::FCVTAUv1f16:
10098 case AArch64::FCVTAUv1i32:
10099 case AArch64::FCVTAUv1i64:
10100 case AArch64::FCVTAUv2f32:
10101 case AArch64::FCVTAUv2f64:
10102 case AArch64::FCVTAUv4f16:
10103 case AArch64::FCVTAUv4f32:
10104 case AArch64::FCVTAUv8f16:
10105 case AArch64::FCVTDHr:
10106 case AArch64::FCVTDSr:
10107 case AArch64::FCVTHDr:
10108 case AArch64::FCVTHSr:
10109 case AArch64::FCVTLv2i32:
10110 case AArch64::FCVTLv4i16:
10111 case AArch64::FCVTLv4i32:
10112 case AArch64::FCVTLv8i16:
10113 case AArch64::FCVTMSDHr:
10114 case AArch64::FCVTMSDSr:
10115 case AArch64::FCVTMSSDr:
10116 case AArch64::FCVTMSSHr:
10117 case AArch64::FCVTMSUWDr:
10118 case AArch64::FCVTMSUWHr:
10119 case AArch64::FCVTMSUWSr:
10120 case AArch64::FCVTMSUXDr:
10121 case AArch64::FCVTMSUXHr:
10122 case AArch64::FCVTMSUXSr:
10123 case AArch64::FCVTMSv1f16:
10124 case AArch64::FCVTMSv1i32:
10125 case AArch64::FCVTMSv1i64:
10126 case AArch64::FCVTMSv2f32:
10127 case AArch64::FCVTMSv2f64:
10128 case AArch64::FCVTMSv4f16:
10129 case AArch64::FCVTMSv4f32:
10130 case AArch64::FCVTMSv8f16:
10131 case AArch64::FCVTMUDHr:
10132 case AArch64::FCVTMUDSr:
10133 case AArch64::FCVTMUSDr:
10134 case AArch64::FCVTMUSHr:
10135 case AArch64::FCVTMUUWDr:
10136 case AArch64::FCVTMUUWHr:
10137 case AArch64::FCVTMUUWSr:
10138 case AArch64::FCVTMUUXDr:
10139 case AArch64::FCVTMUUXHr:
10140 case AArch64::FCVTMUUXSr:
10141 case AArch64::FCVTMUv1f16:
10142 case AArch64::FCVTMUv1i32:
10143 case AArch64::FCVTMUv1i64:
10144 case AArch64::FCVTMUv2f32:
10145 case AArch64::FCVTMUv2f64:
10146 case AArch64::FCVTMUv4f16:
10147 case AArch64::FCVTMUv4f32:
10148 case AArch64::FCVTMUv8f16:
10149 case AArch64::FCVTNSDHr:
10150 case AArch64::FCVTNSDSr:
10151 case AArch64::FCVTNSSDr:
10152 case AArch64::FCVTNSSHr:
10153 case AArch64::FCVTNSUWDr:
10154 case AArch64::FCVTNSUWHr:
10155 case AArch64::FCVTNSUWSr:
10156 case AArch64::FCVTNSUXDr:
10157 case AArch64::FCVTNSUXHr:
10158 case AArch64::FCVTNSUXSr:
10159 case AArch64::FCVTNSv1f16:
10160 case AArch64::FCVTNSv1i32:
10161 case AArch64::FCVTNSv1i64:
10162 case AArch64::FCVTNSv2f32:
10163 case AArch64::FCVTNSv2f64:
10164 case AArch64::FCVTNSv4f16:
10165 case AArch64::FCVTNSv4f32:
10166 case AArch64::FCVTNSv8f16:
10167 case AArch64::FCVTNUDHr:
10168 case AArch64::FCVTNUDSr:
10169 case AArch64::FCVTNUSDr:
10170 case AArch64::FCVTNUSHr:
10171 case AArch64::FCVTNUUWDr:
10172 case AArch64::FCVTNUUWHr:
10173 case AArch64::FCVTNUUWSr:
10174 case AArch64::FCVTNUUXDr:
10175 case AArch64::FCVTNUUXHr:
10176 case AArch64::FCVTNUUXSr:
10177 case AArch64::FCVTNUv1f16:
10178 case AArch64::FCVTNUv1i32:
10179 case AArch64::FCVTNUv1i64:
10180 case AArch64::FCVTNUv2f32:
10181 case AArch64::FCVTNUv2f64:
10182 case AArch64::FCVTNUv4f16:
10183 case AArch64::FCVTNUv4f32:
10184 case AArch64::FCVTNUv8f16:
10185 case AArch64::FCVTNv2i32:
10186 case AArch64::FCVTNv4i16:
10187 case AArch64::FCVTPSDHr:
10188 case AArch64::FCVTPSDSr:
10189 case AArch64::FCVTPSSDr:
10190 case AArch64::FCVTPSSHr:
10191 case AArch64::FCVTPSUWDr:
10192 case AArch64::FCVTPSUWHr:
10193 case AArch64::FCVTPSUWSr:
10194 case AArch64::FCVTPSUXDr:
10195 case AArch64::FCVTPSUXHr:
10196 case AArch64::FCVTPSUXSr:
10197 case AArch64::FCVTPSv1f16:
10198 case AArch64::FCVTPSv1i32:
10199 case AArch64::FCVTPSv1i64:
10200 case AArch64::FCVTPSv2f32:
10201 case AArch64::FCVTPSv2f64:
10202 case AArch64::FCVTPSv4f16:
10203 case AArch64::FCVTPSv4f32:
10204 case AArch64::FCVTPSv8f16:
10205 case AArch64::FCVTPUDHr:
10206 case AArch64::FCVTPUDSr:
10207 case AArch64::FCVTPUSDr:
10208 case AArch64::FCVTPUSHr:
10209 case AArch64::FCVTPUUWDr:
10210 case AArch64::FCVTPUUWHr:
10211 case AArch64::FCVTPUUWSr:
10212 case AArch64::FCVTPUUXDr:
10213 case AArch64::FCVTPUUXHr:
10214 case AArch64::FCVTPUUXSr:
10215 case AArch64::FCVTPUv1f16:
10216 case AArch64::FCVTPUv1i32:
10217 case AArch64::FCVTPUv1i64:
10218 case AArch64::FCVTPUv2f32:
10219 case AArch64::FCVTPUv2f64:
10220 case AArch64::FCVTPUv4f16:
10221 case AArch64::FCVTPUv4f32:
10222 case AArch64::FCVTPUv8f16:
10223 case AArch64::FCVTSDr:
10224 case AArch64::FCVTSHr:
10225 case AArch64::FCVTXNv1i64:
10226 case AArch64::FCVTXNv2f32:
10227 case AArch64::FCVTZSDHr:
10228 case AArch64::FCVTZSDSr:
10229 case AArch64::FCVTZSSDr:
10230 case AArch64::FCVTZSSHr:
10231 case AArch64::FCVTZSUWDr:
10232 case AArch64::FCVTZSUWHr:
10233 case AArch64::FCVTZSUWSr:
10234 case AArch64::FCVTZSUXDr:
10235 case AArch64::FCVTZSUXHr:
10236 case AArch64::FCVTZSUXSr:
10237 case AArch64::FCVTZSv1f16:
10238 case AArch64::FCVTZSv1i32:
10239 case AArch64::FCVTZSv1i64:
10240 case AArch64::FCVTZSv2f32:
10241 case AArch64::FCVTZSv2f64:
10242 case AArch64::FCVTZSv4f16:
10243 case AArch64::FCVTZSv4f32:
10244 case AArch64::FCVTZSv8f16:
10245 case AArch64::FCVTZUDHr:
10246 case AArch64::FCVTZUDSr:
10247 case AArch64::FCVTZUSDr:
10248 case AArch64::FCVTZUSHr:
10249 case AArch64::FCVTZUUWDr:
10250 case AArch64::FCVTZUUWHr:
10251 case AArch64::FCVTZUUWSr:
10252 case AArch64::FCVTZUUXDr:
10253 case AArch64::FCVTZUUXHr:
10254 case AArch64::FCVTZUUXSr:
10255 case AArch64::FCVTZUv1f16:
10256 case AArch64::FCVTZUv1i32:
10257 case AArch64::FCVTZUv1i64:
10258 case AArch64::FCVTZUv2f32:
10259 case AArch64::FCVTZUv2f64:
10260 case AArch64::FCVTZUv4f16:
10261 case AArch64::FCVTZUv4f32:
10262 case AArch64::FCVTZUv8f16:
10263 case AArch64::FJCVTZS:
10264 case AArch64::FMAXNMPv2i16p:
10265 case AArch64::FMAXNMPv2i32p:
10266 case AArch64::FMAXNMPv2i64p:
10267 case AArch64::FMAXNMVv4i16v:
10268 case AArch64::FMAXNMVv4i32v:
10269 case AArch64::FMAXNMVv8i16v:
10270 case AArch64::FMAXPv2i16p:
10271 case AArch64::FMAXPv2i32p:
10272 case AArch64::FMAXPv2i64p:
10273 case AArch64::FMAXVv4i16v:
10274 case AArch64::FMAXVv4i32v:
10275 case AArch64::FMAXVv8i16v:
10276 case AArch64::FMINNMPv2i16p:
10277 case AArch64::FMINNMPv2i32p:
10278 case AArch64::FMINNMPv2i64p:
10279 case AArch64::FMINNMVv4i16v:
10280 case AArch64::FMINNMVv4i32v:
10281 case AArch64::FMINNMVv8i16v:
10282 case AArch64::FMINPv2i16p:
10283 case AArch64::FMINPv2i32p:
10284 case AArch64::FMINPv2i64p:
10285 case AArch64::FMINVv4i16v:
10286 case AArch64::FMINVv4i32v:
10287 case AArch64::FMINVv8i16v:
10288 case AArch64::FMOVDXHighr:
10289 case AArch64::FMOVDXr:
10290 case AArch64::FMOVDr:
10291 case AArch64::FMOVHWr:
10292 case AArch64::FMOVHXr:
10293 case AArch64::FMOVHr:
10294 case AArch64::FMOVSWr:
10295 case AArch64::FMOVSr:
10296 case AArch64::FMOVWHr:
10297 case AArch64::FMOVWSr:
10298 case AArch64::FMOVXDHighr:
10299 case AArch64::FMOVXDr:
10300 case AArch64::FMOVXHr:
10301 case AArch64::FNEGDr:
10302 case AArch64::FNEGHr:
10303 case AArch64::FNEGSr:
10304 case AArch64::FNEGv2f32:
10305 case AArch64::FNEGv2f64:
10306 case AArch64::FNEGv4f16:
10307 case AArch64::FNEGv4f32:
10308 case AArch64::FNEGv8f16:
10309 case AArch64::FRECPEv1f16:
10310 case AArch64::FRECPEv1i32:
10311 case AArch64::FRECPEv1i64:
10312 case AArch64::FRECPEv2f32:
10313 case AArch64::FRECPEv2f64:
10314 case AArch64::FRECPEv4f16:
10315 case AArch64::FRECPEv4f32:
10316 case AArch64::FRECPEv8f16:
10317 case AArch64::FRECPXv1f16:
10318 case AArch64::FRECPXv1i32:
10319 case AArch64::FRECPXv1i64:
10320 case AArch64::FRINT32XDr:
10321 case AArch64::FRINT32XSr:
10322 case AArch64::FRINT32Xv2f32:
10323 case AArch64::FRINT32Xv2f64:
10324 case AArch64::FRINT32Xv4f32:
10325 case AArch64::FRINT32ZDr:
10326 case AArch64::FRINT32ZSr:
10327 case AArch64::FRINT32Zv2f32:
10328 case AArch64::FRINT32Zv2f64:
10329 case AArch64::FRINT32Zv4f32:
10330 case AArch64::FRINT64XDr:
10331 case AArch64::FRINT64XSr:
10332 case AArch64::FRINT64Xv2f32:
10333 case AArch64::FRINT64Xv2f64:
10334 case AArch64::FRINT64Xv4f32:
10335 case AArch64::FRINT64ZDr:
10336 case AArch64::FRINT64ZSr:
10337 case AArch64::FRINT64Zv2f32:
10338 case AArch64::FRINT64Zv2f64:
10339 case AArch64::FRINT64Zv4f32:
10340 case AArch64::FRINTADr:
10341 case AArch64::FRINTAHr:
10342 case AArch64::FRINTASr:
10343 case AArch64::FRINTAv2f32:
10344 case AArch64::FRINTAv2f64:
10345 case AArch64::FRINTAv4f16:
10346 case AArch64::FRINTAv4f32:
10347 case AArch64::FRINTAv8f16:
10348 case AArch64::FRINTIDr:
10349 case AArch64::FRINTIHr:
10350 case AArch64::FRINTISr:
10351 case AArch64::FRINTIv2f32:
10352 case AArch64::FRINTIv2f64:
10353 case AArch64::FRINTIv4f16:
10354 case AArch64::FRINTIv4f32:
10355 case AArch64::FRINTIv8f16:
10356 case AArch64::FRINTMDr:
10357 case AArch64::FRINTMHr:
10358 case AArch64::FRINTMSr:
10359 case AArch64::FRINTMv2f32:
10360 case AArch64::FRINTMv2f64:
10361 case AArch64::FRINTMv4f16:
10362 case AArch64::FRINTMv4f32:
10363 case AArch64::FRINTMv8f16:
10364 case AArch64::FRINTNDr:
10365 case AArch64::FRINTNHr:
10366 case AArch64::FRINTNSr:
10367 case AArch64::FRINTNv2f32:
10368 case AArch64::FRINTNv2f64:
10369 case AArch64::FRINTNv4f16:
10370 case AArch64::FRINTNv4f32:
10371 case AArch64::FRINTNv8f16:
10372 case AArch64::FRINTPDr:
10373 case AArch64::FRINTPHr:
10374 case AArch64::FRINTPSr:
10375 case AArch64::FRINTPv2f32:
10376 case AArch64::FRINTPv2f64:
10377 case AArch64::FRINTPv4f16:
10378 case AArch64::FRINTPv4f32:
10379 case AArch64::FRINTPv8f16:
10380 case AArch64::FRINTXDr:
10381 case AArch64::FRINTXHr:
10382 case AArch64::FRINTXSr:
10383 case AArch64::FRINTXv2f32:
10384 case AArch64::FRINTXv2f64:
10385 case AArch64::FRINTXv4f16:
10386 case AArch64::FRINTXv4f32:
10387 case AArch64::FRINTXv8f16:
10388 case AArch64::FRINTZDr:
10389 case AArch64::FRINTZHr:
10390 case AArch64::FRINTZSr:
10391 case AArch64::FRINTZv2f32:
10392 case AArch64::FRINTZv2f64:
10393 case AArch64::FRINTZv4f16:
10394 case AArch64::FRINTZv4f32:
10395 case AArch64::FRINTZv8f16:
10396 case AArch64::FRSQRTEv1f16:
10397 case AArch64::FRSQRTEv1i32:
10398 case AArch64::FRSQRTEv1i64:
10399 case AArch64::FRSQRTEv2f32:
10400 case AArch64::FRSQRTEv2f64:
10401 case AArch64::FRSQRTEv4f16:
10402 case AArch64::FRSQRTEv4f32:
10403 case AArch64::FRSQRTEv8f16:
10404 case AArch64::FSQRTDr:
10405 case AArch64::FSQRTHr:
10406 case AArch64::FSQRTSr:
10407 case AArch64::FSQRTv2f32:
10408 case AArch64::FSQRTv2f64:
10409 case AArch64::FSQRTv4f16:
10410 case AArch64::FSQRTv4f32:
10411 case AArch64::FSQRTv8f16:
10412 case AArch64::NEGv16i8:
10413 case AArch64::NEGv1i64:
10414 case AArch64::NEGv2i32:
10415 case AArch64::NEGv2i64:
10416 case AArch64::NEGv4i16:
10417 case AArch64::NEGv4i32:
10418 case AArch64::NEGv8i16:
10419 case AArch64::NEGv8i8:
10420 case AArch64::NOTv16i8:
10421 case AArch64::NOTv8i8:
10422 case AArch64::RBITWr:
10423 case AArch64::RBITXr:
10424 case AArch64::RBITv16i8:
10425 case AArch64::RBITv8i8:
10426 case AArch64::REV16Wr:
10427 case AArch64::REV16Xr:
10428 case AArch64::REV16v16i8:
10429 case AArch64::REV16v8i8:
10430 case AArch64::REV32Xr:
10431 case AArch64::REV32v16i8:
10432 case AArch64::REV32v4i16:
10433 case AArch64::REV32v8i16:
10434 case AArch64::REV32v8i8:
10435 case AArch64::REV64v16i8:
10436 case AArch64::REV64v2i32:
10437 case AArch64::REV64v4i16:
10438 case AArch64::REV64v4i32:
10439 case AArch64::REV64v8i16:
10440 case AArch64::REV64v8i8:
10441 case AArch64::REVWr:
10442 case AArch64::REVXr:
10443 case AArch64::SADDLPv16i8_v8i16:
10444 case AArch64::SADDLPv2i32_v1i64:
10445 case AArch64::SADDLPv4i16_v2i32:
10446 case AArch64::SADDLPv4i32_v2i64:
10447 case AArch64::SADDLPv8i16_v4i32:
10448 case AArch64::SADDLPv8i8_v4i16:
10449 case AArch64::SADDLVv16i8v:
10450 case AArch64::SADDLVv4i16v:
10451 case AArch64::SADDLVv4i32v:
10452 case AArch64::SADDLVv8i16v:
10453 case AArch64::SADDLVv8i8v:
10454 case AArch64::SCVTFDSr:
10455 case AArch64::SCVTFHDr:
10456 case AArch64::SCVTFHSr:
10457 case AArch64::SCVTFSDr:
10458 case AArch64::SCVTFUWDri:
10459 case AArch64::SCVTFUWHri:
10460 case AArch64::SCVTFUWSri:
10461 case AArch64::SCVTFUXDri:
10462 case AArch64::SCVTFUXHri:
10463 case AArch64::SCVTFUXSri:
10464 case AArch64::SCVTFv1i16:
10465 case AArch64::SCVTFv1i32:
10466 case AArch64::SCVTFv1i64:
10467 case AArch64::SCVTFv2f32:
10468 case AArch64::SCVTFv2f64:
10469 case AArch64::SCVTFv4f16:
10470 case AArch64::SCVTFv4f32:
10471 case AArch64::SCVTFv8f16:
10472 case AArch64::SHA1Hrr:
10473 case AArch64::SHLLv16i8:
10474 case AArch64::SHLLv2i32:
10475 case AArch64::SHLLv4i16:
10476 case AArch64::SHLLv4i32:
10477 case AArch64::SHLLv8i16:
10478 case AArch64::SHLLv8i8:
10479 case AArch64::SMAXVv16i8v:
10480 case AArch64::SMAXVv4i16v:
10481 case AArch64::SMAXVv4i32v:
10482 case AArch64::SMAXVv8i16v:
10483 case AArch64::SMAXVv8i8v:
10484 case AArch64::SMINVv16i8v:
10485 case AArch64::SMINVv4i16v:
10486 case AArch64::SMINVv4i32v:
10487 case AArch64::SMINVv8i16v:
10488 case AArch64::SMINVv8i8v:
10489 case AArch64::SMOVvi16to32_idx0:
10490 case AArch64::SMOVvi16to64_idx0:
10491 case AArch64::SMOVvi32to64_idx0:
10492 case AArch64::SMOVvi8to32_idx0:
10493 case AArch64::SMOVvi8to64_idx0:
10494 case AArch64::SQABSv16i8:
10495 case AArch64::SQABSv1i16:
10496 case AArch64::SQABSv1i32:
10497 case AArch64::SQABSv1i64:
10498 case AArch64::SQABSv1i8:
10499 case AArch64::SQABSv2i32:
10500 case AArch64::SQABSv2i64:
10501 case AArch64::SQABSv4i16:
10502 case AArch64::SQABSv4i32:
10503 case AArch64::SQABSv8i16:
10504 case AArch64::SQABSv8i8:
10505 case AArch64::SQNEGv16i8:
10506 case AArch64::SQNEGv1i16:
10507 case AArch64::SQNEGv1i32:
10508 case AArch64::SQNEGv1i64:
10509 case AArch64::SQNEGv1i8:
10510 case AArch64::SQNEGv2i32:
10511 case AArch64::SQNEGv2i64:
10512 case AArch64::SQNEGv4i16:
10513 case AArch64::SQNEGv4i32:
10514 case AArch64::SQNEGv8i16:
10515 case AArch64::SQNEGv8i8:
10516 case AArch64::SQXTNv1i16:
10517 case AArch64::SQXTNv1i32:
10518 case AArch64::SQXTNv1i8:
10519 case AArch64::SQXTNv2i32:
10520 case AArch64::SQXTNv4i16:
10521 case AArch64::SQXTNv8i8:
10522 case AArch64::SQXTUNv1i16:
10523 case AArch64::SQXTUNv1i32:
10524 case AArch64::SQXTUNv1i8:
10525 case AArch64::SQXTUNv2i32:
10526 case AArch64::SQXTUNv4i16:
10527 case AArch64::SQXTUNv8i8:
10528 case AArch64::UADDLPv16i8_v8i16:
10529 case AArch64::UADDLPv2i32_v1i64:
10530 case AArch64::UADDLPv4i16_v2i32:
10531 case AArch64::UADDLPv4i32_v2i64:
10532 case AArch64::UADDLPv8i16_v4i32:
10533 case AArch64::UADDLPv8i8_v4i16:
10534 case AArch64::UADDLVv16i8v:
10535 case AArch64::UADDLVv4i16v:
10536 case AArch64::UADDLVv4i32v:
10537 case AArch64::UADDLVv8i16v:
10538 case AArch64::UADDLVv8i8v:
10539 case AArch64::UCVTFDSr:
10540 case AArch64::UCVTFHDr:
10541 case AArch64::UCVTFHSr:
10542 case AArch64::UCVTFSDr:
10543 case AArch64::UCVTFUWDri:
10544 case AArch64::UCVTFUWHri:
10545 case AArch64::UCVTFUWSri:
10546 case AArch64::UCVTFUXDri:
10547 case AArch64::UCVTFUXHri:
10548 case AArch64::UCVTFUXSri:
10549 case AArch64::UCVTFv1i16:
10550 case AArch64::UCVTFv1i32:
10551 case AArch64::UCVTFv1i64:
10552 case AArch64::UCVTFv2f32:
10553 case AArch64::UCVTFv2f64:
10554 case AArch64::UCVTFv4f16:
10555 case AArch64::UCVTFv4f32:
10556 case AArch64::UCVTFv8f16:
10557 case AArch64::UMAXVv16i8v:
10558 case AArch64::UMAXVv4i16v:
10559 case AArch64::UMAXVv4i32v:
10560 case AArch64::UMAXVv8i16v:
10561 case AArch64::UMAXVv8i8v:
10562 case AArch64::UMINVv16i8v:
10563 case AArch64::UMINVv4i16v:
10564 case AArch64::UMINVv4i32v:
10565 case AArch64::UMINVv8i16v:
10566 case AArch64::UMINVv8i8v:
10567 case AArch64::UMOVvi16_idx0:
10568 case AArch64::UMOVvi32_idx0:
10569 case AArch64::UMOVvi64_idx0:
10570 case AArch64::UMOVvi8_idx0:
10571 case AArch64::UQXTNv1i16:
10572 case AArch64::UQXTNv1i32:
10573 case AArch64::UQXTNv1i8:
10574 case AArch64::UQXTNv2i32:
10575 case AArch64::UQXTNv4i16:
10576 case AArch64::UQXTNv8i8:
10577 case AArch64::URECPEv2i32:
10578 case AArch64::URECPEv4i32:
10579 case AArch64::URSQRTEv2i32:
10580 case AArch64::URSQRTEv4i32:
10581 case AArch64::XTNv2i32:
10582 case AArch64::XTNv4i16:
10583 case AArch64::XTNv8i8: {
10584 // op: Rd
10585 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10586 Value |= (op & 0x1f);
10587 // op: Rn
10588 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10589 Value |= (op & 0x1f) << 5;
10590 break;
10591 }
10592 case AArch64::ADCSWr:
10593 case AArch64::ADCSXr:
10594 case AArch64::ADCWr:
10595 case AArch64::ADCXr:
10596 case AArch64::ADDHNv2i64_v2i32:
10597 case AArch64::ADDHNv4i32_v4i16:
10598 case AArch64::ADDHNv8i16_v8i8:
10599 case AArch64::ADDPv16i8:
10600 case AArch64::ADDPv2i32:
10601 case AArch64::ADDPv2i64:
10602 case AArch64::ADDPv4i16:
10603 case AArch64::ADDPv4i32:
10604 case AArch64::ADDPv8i16:
10605 case AArch64::ADDPv8i8:
10606 case AArch64::ADDv16i8:
10607 case AArch64::ADDv1i64:
10608 case AArch64::ADDv2i32:
10609 case AArch64::ADDv2i64:
10610 case AArch64::ADDv4i16:
10611 case AArch64::ADDv4i32:
10612 case AArch64::ADDv8i16:
10613 case AArch64::ADDv8i8:
10614 case AArch64::ANDv16i8:
10615 case AArch64::ANDv8i8:
10616 case AArch64::ASRVWr:
10617 case AArch64::ASRVXr:
10618 case AArch64::BICv16i8:
10619 case AArch64::BICv8i8:
10620 case AArch64::CMEQv16i8:
10621 case AArch64::CMEQv1i64:
10622 case AArch64::CMEQv2i32:
10623 case AArch64::CMEQv2i64:
10624 case AArch64::CMEQv4i16:
10625 case AArch64::CMEQv4i32:
10626 case AArch64::CMEQv8i16:
10627 case AArch64::CMEQv8i8:
10628 case AArch64::CMGEv16i8:
10629 case AArch64::CMGEv1i64:
10630 case AArch64::CMGEv2i32:
10631 case AArch64::CMGEv2i64:
10632 case AArch64::CMGEv4i16:
10633 case AArch64::CMGEv4i32:
10634 case AArch64::CMGEv8i16:
10635 case AArch64::CMGEv8i8:
10636 case AArch64::CMGTv16i8:
10637 case AArch64::CMGTv1i64:
10638 case AArch64::CMGTv2i32:
10639 case AArch64::CMGTv2i64:
10640 case AArch64::CMGTv4i16:
10641 case AArch64::CMGTv4i32:
10642 case AArch64::CMGTv8i16:
10643 case AArch64::CMGTv8i8:
10644 case AArch64::CMHIv16i8:
10645 case AArch64::CMHIv1i64:
10646 case AArch64::CMHIv2i32:
10647 case AArch64::CMHIv2i64:
10648 case AArch64::CMHIv4i16:
10649 case AArch64::CMHIv4i32:
10650 case AArch64::CMHIv8i16:
10651 case AArch64::CMHIv8i8:
10652 case AArch64::CMHSv16i8:
10653 case AArch64::CMHSv1i64:
10654 case AArch64::CMHSv2i32:
10655 case AArch64::CMHSv2i64:
10656 case AArch64::CMHSv4i16:
10657 case AArch64::CMHSv4i32:
10658 case AArch64::CMHSv8i16:
10659 case AArch64::CMHSv8i8:
10660 case AArch64::CMTSTv16i8:
10661 case AArch64::CMTSTv1i64:
10662 case AArch64::CMTSTv2i32:
10663 case AArch64::CMTSTv2i64:
10664 case AArch64::CMTSTv4i16:
10665 case AArch64::CMTSTv4i32:
10666 case AArch64::CMTSTv8i16:
10667 case AArch64::CMTSTv8i8:
10668 case AArch64::CRC32Brr:
10669 case AArch64::CRC32CBrr:
10670 case AArch64::CRC32CHrr:
10671 case AArch64::CRC32CWrr:
10672 case AArch64::CRC32CXrr:
10673 case AArch64::CRC32Hrr:
10674 case AArch64::CRC32Wrr:
10675 case AArch64::CRC32Xrr:
10676 case AArch64::EORv16i8:
10677 case AArch64::EORv8i8:
10678 case AArch64::FABD16:
10679 case AArch64::FABD32:
10680 case AArch64::FABD64:
10681 case AArch64::FABDv2f32:
10682 case AArch64::FABDv2f64:
10683 case AArch64::FABDv4f16:
10684 case AArch64::FABDv4f32:
10685 case AArch64::FABDv8f16:
10686 case AArch64::FACGE16:
10687 case AArch64::FACGE32:
10688 case AArch64::FACGE64:
10689 case AArch64::FACGEv2f32:
10690 case AArch64::FACGEv2f64:
10691 case AArch64::FACGEv4f16:
10692 case AArch64::FACGEv4f32:
10693 case AArch64::FACGEv8f16:
10694 case AArch64::FACGT16:
10695 case AArch64::FACGT32:
10696 case AArch64::FACGT64:
10697 case AArch64::FACGTv2f32:
10698 case AArch64::FACGTv2f64:
10699 case AArch64::FACGTv4f16:
10700 case AArch64::FACGTv4f32:
10701 case AArch64::FACGTv8f16:
10702 case AArch64::FADDDrr:
10703 case AArch64::FADDHrr:
10704 case AArch64::FADDPv2f32:
10705 case AArch64::FADDPv2f64:
10706 case AArch64::FADDPv4f16:
10707 case AArch64::FADDPv4f32:
10708 case AArch64::FADDPv8f16:
10709 case AArch64::FADDSrr:
10710 case AArch64::FADDv2f32:
10711 case AArch64::FADDv2f64:
10712 case AArch64::FADDv4f16:
10713 case AArch64::FADDv4f32:
10714 case AArch64::FADDv8f16:
10715 case AArch64::FAMAXv2f32:
10716 case AArch64::FAMAXv2f64:
10717 case AArch64::FAMAXv4f16:
10718 case AArch64::FAMAXv4f32:
10719 case AArch64::FAMAXv8f16:
10720 case AArch64::FAMINv2f32:
10721 case AArch64::FAMINv2f64:
10722 case AArch64::FAMINv4f16:
10723 case AArch64::FAMINv4f32:
10724 case AArch64::FAMINv8f16:
10725 case AArch64::FCMEQ16:
10726 case AArch64::FCMEQ32:
10727 case AArch64::FCMEQ64:
10728 case AArch64::FCMEQv2f32:
10729 case AArch64::FCMEQv2f64:
10730 case AArch64::FCMEQv4f16:
10731 case AArch64::FCMEQv4f32:
10732 case AArch64::FCMEQv8f16:
10733 case AArch64::FCMGE16:
10734 case AArch64::FCMGE32:
10735 case AArch64::FCMGE64:
10736 case AArch64::FCMGEv2f32:
10737 case AArch64::FCMGEv2f64:
10738 case AArch64::FCMGEv4f16:
10739 case AArch64::FCMGEv4f32:
10740 case AArch64::FCMGEv8f16:
10741 case AArch64::FCMGT16:
10742 case AArch64::FCMGT32:
10743 case AArch64::FCMGT64:
10744 case AArch64::FCMGTv2f32:
10745 case AArch64::FCMGTv2f64:
10746 case AArch64::FCMGTv4f16:
10747 case AArch64::FCMGTv4f32:
10748 case AArch64::FCMGTv8f16:
10749 case AArch64::FCVTN_F16v16f8:
10750 case AArch64::FCVTN_F16v8f8:
10751 case AArch64::FCVTN_F32v8f8:
10752 case AArch64::FDIVDrr:
10753 case AArch64::FDIVHrr:
10754 case AArch64::FDIVSrr:
10755 case AArch64::FDIVv2f32:
10756 case AArch64::FDIVv2f64:
10757 case AArch64::FDIVv4f16:
10758 case AArch64::FDIVv4f32:
10759 case AArch64::FDIVv8f16:
10760 case AArch64::FMAXDrr:
10761 case AArch64::FMAXHrr:
10762 case AArch64::FMAXNMDrr:
10763 case AArch64::FMAXNMHrr:
10764 case AArch64::FMAXNMPv2f32:
10765 case AArch64::FMAXNMPv2f64:
10766 case AArch64::FMAXNMPv4f16:
10767 case AArch64::FMAXNMPv4f32:
10768 case AArch64::FMAXNMPv8f16:
10769 case AArch64::FMAXNMSrr:
10770 case AArch64::FMAXNMv2f32:
10771 case AArch64::FMAXNMv2f64:
10772 case AArch64::FMAXNMv4f16:
10773 case AArch64::FMAXNMv4f32:
10774 case AArch64::FMAXNMv8f16:
10775 case AArch64::FMAXPv2f32:
10776 case AArch64::FMAXPv2f64:
10777 case AArch64::FMAXPv4f16:
10778 case AArch64::FMAXPv4f32:
10779 case AArch64::FMAXPv8f16:
10780 case AArch64::FMAXSrr:
10781 case AArch64::FMAXv2f32:
10782 case AArch64::FMAXv2f64:
10783 case AArch64::FMAXv4f16:
10784 case AArch64::FMAXv4f32:
10785 case AArch64::FMAXv8f16:
10786 case AArch64::FMINDrr:
10787 case AArch64::FMINHrr:
10788 case AArch64::FMINNMDrr:
10789 case AArch64::FMINNMHrr:
10790 case AArch64::FMINNMPv2f32:
10791 case AArch64::FMINNMPv2f64:
10792 case AArch64::FMINNMPv4f16:
10793 case AArch64::FMINNMPv4f32:
10794 case AArch64::FMINNMPv8f16:
10795 case AArch64::FMINNMSrr:
10796 case AArch64::FMINNMv2f32:
10797 case AArch64::FMINNMv2f64:
10798 case AArch64::FMINNMv4f16:
10799 case AArch64::FMINNMv4f32:
10800 case AArch64::FMINNMv8f16:
10801 case AArch64::FMINPv2f32:
10802 case AArch64::FMINPv2f64:
10803 case AArch64::FMINPv4f16:
10804 case AArch64::FMINPv4f32:
10805 case AArch64::FMINPv8f16:
10806 case AArch64::FMINSrr:
10807 case AArch64::FMINv2f32:
10808 case AArch64::FMINv2f64:
10809 case AArch64::FMINv4f16:
10810 case AArch64::FMINv4f32:
10811 case AArch64::FMINv8f16:
10812 case AArch64::FMULDrr:
10813 case AArch64::FMULHrr:
10814 case AArch64::FMULSrr:
10815 case AArch64::FMULX16:
10816 case AArch64::FMULX32:
10817 case AArch64::FMULX64:
10818 case AArch64::FMULXv2f32:
10819 case AArch64::FMULXv2f64:
10820 case AArch64::FMULXv4f16:
10821 case AArch64::FMULXv4f32:
10822 case AArch64::FMULXv8f16:
10823 case AArch64::FMULv2f32:
10824 case AArch64::FMULv2f64:
10825 case AArch64::FMULv4f16:
10826 case AArch64::FMULv4f32:
10827 case AArch64::FMULv8f16:
10828 case AArch64::FNMULDrr:
10829 case AArch64::FNMULHrr:
10830 case AArch64::FNMULSrr:
10831 case AArch64::FRECPS16:
10832 case AArch64::FRECPS32:
10833 case AArch64::FRECPS64:
10834 case AArch64::FRECPSv2f32:
10835 case AArch64::FRECPSv2f64:
10836 case AArch64::FRECPSv4f16:
10837 case AArch64::FRECPSv4f32:
10838 case AArch64::FRECPSv8f16:
10839 case AArch64::FRSQRTS16:
10840 case AArch64::FRSQRTS32:
10841 case AArch64::FRSQRTS64:
10842 case AArch64::FRSQRTSv2f32:
10843 case AArch64::FRSQRTSv2f64:
10844 case AArch64::FRSQRTSv4f16:
10845 case AArch64::FRSQRTSv4f32:
10846 case AArch64::FRSQRTSv8f16:
10847 case AArch64::FSCALEv2f32:
10848 case AArch64::FSCALEv2f64:
10849 case AArch64::FSCALEv4f16:
10850 case AArch64::FSCALEv4f32:
10851 case AArch64::FSCALEv8f16:
10852 case AArch64::FSUBDrr:
10853 case AArch64::FSUBHrr:
10854 case AArch64::FSUBSrr:
10855 case AArch64::FSUBv2f32:
10856 case AArch64::FSUBv2f64:
10857 case AArch64::FSUBv4f16:
10858 case AArch64::FSUBv4f32:
10859 case AArch64::FSUBv8f16:
10860 case AArch64::GMI:
10861 case AArch64::IRG:
10862 case AArch64::LSLVWr:
10863 case AArch64::LSLVXr:
10864 case AArch64::LSRVWr:
10865 case AArch64::LSRVXr:
10866 case AArch64::MULv16i8:
10867 case AArch64::MULv2i32:
10868 case AArch64::MULv4i16:
10869 case AArch64::MULv4i32:
10870 case AArch64::MULv8i16:
10871 case AArch64::MULv8i8:
10872 case AArch64::ORNv16i8:
10873 case AArch64::ORNv8i8:
10874 case AArch64::ORRv16i8:
10875 case AArch64::ORRv8i8:
10876 case AArch64::PACGA:
10877 case AArch64::PMULLv16i8:
10878 case AArch64::PMULLv1i64:
10879 case AArch64::PMULLv2i64:
10880 case AArch64::PMULLv8i8:
10881 case AArch64::PMULv16i8:
10882 case AArch64::PMULv8i8:
10883 case AArch64::RADDHNv2i64_v2i32:
10884 case AArch64::RADDHNv4i32_v4i16:
10885 case AArch64::RADDHNv8i16_v8i8:
10886 case AArch64::RORVWr:
10887 case AArch64::RORVXr:
10888 case AArch64::RSUBHNv2i64_v2i32:
10889 case AArch64::RSUBHNv4i32_v4i16:
10890 case AArch64::RSUBHNv8i16_v8i8:
10891 case AArch64::SABDLv16i8_v8i16:
10892 case AArch64::SABDLv2i32_v2i64:
10893 case AArch64::SABDLv4i16_v4i32:
10894 case AArch64::SABDLv4i32_v2i64:
10895 case AArch64::SABDLv8i16_v4i32:
10896 case AArch64::SABDLv8i8_v8i16:
10897 case AArch64::SABDv16i8:
10898 case AArch64::SABDv2i32:
10899 case AArch64::SABDv4i16:
10900 case AArch64::SABDv4i32:
10901 case AArch64::SABDv8i16:
10902 case AArch64::SABDv8i8:
10903 case AArch64::SADDLv16i8_v8i16:
10904 case AArch64::SADDLv2i32_v2i64:
10905 case AArch64::SADDLv4i16_v4i32:
10906 case AArch64::SADDLv4i32_v2i64:
10907 case AArch64::SADDLv8i16_v4i32:
10908 case AArch64::SADDLv8i8_v8i16:
10909 case AArch64::SADDWv16i8_v8i16:
10910 case AArch64::SADDWv2i32_v2i64:
10911 case AArch64::SADDWv4i16_v4i32:
10912 case AArch64::SADDWv4i32_v2i64:
10913 case AArch64::SADDWv8i16_v4i32:
10914 case AArch64::SADDWv8i8_v8i16:
10915 case AArch64::SBCSWr:
10916 case AArch64::SBCSXr:
10917 case AArch64::SBCWr:
10918 case AArch64::SBCXr:
10919 case AArch64::SDIVWr:
10920 case AArch64::SDIVXr:
10921 case AArch64::SHADDv16i8:
10922 case AArch64::SHADDv2i32:
10923 case AArch64::SHADDv4i16:
10924 case AArch64::SHADDv4i32:
10925 case AArch64::SHADDv8i16:
10926 case AArch64::SHADDv8i8:
10927 case AArch64::SHSUBv16i8:
10928 case AArch64::SHSUBv2i32:
10929 case AArch64::SHSUBv4i16:
10930 case AArch64::SHSUBv4i32:
10931 case AArch64::SHSUBv8i16:
10932 case AArch64::SHSUBv8i8:
10933 case AArch64::SMAXPv16i8:
10934 case AArch64::SMAXPv2i32:
10935 case AArch64::SMAXPv4i16:
10936 case AArch64::SMAXPv4i32:
10937 case AArch64::SMAXPv8i16:
10938 case AArch64::SMAXPv8i8:
10939 case AArch64::SMAXWrr:
10940 case AArch64::SMAXXrr:
10941 case AArch64::SMAXv16i8:
10942 case AArch64::SMAXv2i32:
10943 case AArch64::SMAXv4i16:
10944 case AArch64::SMAXv4i32:
10945 case AArch64::SMAXv8i16:
10946 case AArch64::SMAXv8i8:
10947 case AArch64::SMINPv16i8:
10948 case AArch64::SMINPv2i32:
10949 case AArch64::SMINPv4i16:
10950 case AArch64::SMINPv4i32:
10951 case AArch64::SMINPv8i16:
10952 case AArch64::SMINPv8i8:
10953 case AArch64::SMINWrr:
10954 case AArch64::SMINXrr:
10955 case AArch64::SMINv16i8:
10956 case AArch64::SMINv2i32:
10957 case AArch64::SMINv4i16:
10958 case AArch64::SMINv4i32:
10959 case AArch64::SMINv8i16:
10960 case AArch64::SMINv8i8:
10961 case AArch64::SMULLv16i8_v8i16:
10962 case AArch64::SMULLv2i32_v2i64:
10963 case AArch64::SMULLv4i16_v4i32:
10964 case AArch64::SMULLv4i32_v2i64:
10965 case AArch64::SMULLv8i16_v4i32:
10966 case AArch64::SMULLv8i8_v8i16:
10967 case AArch64::SQADDv16i8:
10968 case AArch64::SQADDv1i16:
10969 case AArch64::SQADDv1i32:
10970 case AArch64::SQADDv1i64:
10971 case AArch64::SQADDv1i8:
10972 case AArch64::SQADDv2i32:
10973 case AArch64::SQADDv2i64:
10974 case AArch64::SQADDv4i16:
10975 case AArch64::SQADDv4i32:
10976 case AArch64::SQADDv8i16:
10977 case AArch64::SQADDv8i8:
10978 case AArch64::SQDMULHv1i16:
10979 case AArch64::SQDMULHv1i32:
10980 case AArch64::SQDMULHv2i32:
10981 case AArch64::SQDMULHv4i16:
10982 case AArch64::SQDMULHv4i32:
10983 case AArch64::SQDMULHv8i16:
10984 case AArch64::SQDMULLi16:
10985 case AArch64::SQDMULLi32:
10986 case AArch64::SQDMULLv2i32_v2i64:
10987 case AArch64::SQDMULLv4i16_v4i32:
10988 case AArch64::SQDMULLv4i32_v2i64:
10989 case AArch64::SQDMULLv8i16_v4i32:
10990 case AArch64::SQRDMULHv1i16:
10991 case AArch64::SQRDMULHv1i32:
10992 case AArch64::SQRDMULHv2i32:
10993 case AArch64::SQRDMULHv4i16:
10994 case AArch64::SQRDMULHv4i32:
10995 case AArch64::SQRDMULHv8i16:
10996 case AArch64::SQRSHLv16i8:
10997 case AArch64::SQRSHLv1i16:
10998 case AArch64::SQRSHLv1i32:
10999 case AArch64::SQRSHLv1i64:
11000 case AArch64::SQRSHLv1i8:
11001 case AArch64::SQRSHLv2i32:
11002 case AArch64::SQRSHLv2i64:
11003 case AArch64::SQRSHLv4i16:
11004 case AArch64::SQRSHLv4i32:
11005 case AArch64::SQRSHLv8i16:
11006 case AArch64::SQRSHLv8i8:
11007 case AArch64::SQSHLv16i8:
11008 case AArch64::SQSHLv1i16:
11009 case AArch64::SQSHLv1i32:
11010 case AArch64::SQSHLv1i64:
11011 case AArch64::SQSHLv1i8:
11012 case AArch64::SQSHLv2i32:
11013 case AArch64::SQSHLv2i64:
11014 case AArch64::SQSHLv4i16:
11015 case AArch64::SQSHLv4i32:
11016 case AArch64::SQSHLv8i16:
11017 case AArch64::SQSHLv8i8:
11018 case AArch64::SQSUBv16i8:
11019 case AArch64::SQSUBv1i16:
11020 case AArch64::SQSUBv1i32:
11021 case AArch64::SQSUBv1i64:
11022 case AArch64::SQSUBv1i8:
11023 case AArch64::SQSUBv2i32:
11024 case AArch64::SQSUBv2i64:
11025 case AArch64::SQSUBv4i16:
11026 case AArch64::SQSUBv4i32:
11027 case AArch64::SQSUBv8i16:
11028 case AArch64::SQSUBv8i8:
11029 case AArch64::SRHADDv16i8:
11030 case AArch64::SRHADDv2i32:
11031 case AArch64::SRHADDv4i16:
11032 case AArch64::SRHADDv4i32:
11033 case AArch64::SRHADDv8i16:
11034 case AArch64::SRHADDv8i8:
11035 case AArch64::SRSHLv16i8:
11036 case AArch64::SRSHLv1i64:
11037 case AArch64::SRSHLv2i32:
11038 case AArch64::SRSHLv2i64:
11039 case AArch64::SRSHLv4i16:
11040 case AArch64::SRSHLv4i32:
11041 case AArch64::SRSHLv8i16:
11042 case AArch64::SRSHLv8i8:
11043 case AArch64::SSHLv16i8:
11044 case AArch64::SSHLv1i64:
11045 case AArch64::SSHLv2i32:
11046 case AArch64::SSHLv2i64:
11047 case AArch64::SSHLv4i16:
11048 case AArch64::SSHLv4i32:
11049 case AArch64::SSHLv8i16:
11050 case AArch64::SSHLv8i8:
11051 case AArch64::SSUBLv16i8_v8i16:
11052 case AArch64::SSUBLv2i32_v2i64:
11053 case AArch64::SSUBLv4i16_v4i32:
11054 case AArch64::SSUBLv4i32_v2i64:
11055 case AArch64::SSUBLv8i16_v4i32:
11056 case AArch64::SSUBLv8i8_v8i16:
11057 case AArch64::SSUBWv16i8_v8i16:
11058 case AArch64::SSUBWv2i32_v2i64:
11059 case AArch64::SSUBWv4i16_v4i32:
11060 case AArch64::SSUBWv4i32_v2i64:
11061 case AArch64::SSUBWv8i16_v4i32:
11062 case AArch64::SSUBWv8i8_v8i16:
11063 case AArch64::SUBHNv2i64_v2i32:
11064 case AArch64::SUBHNv4i32_v4i16:
11065 case AArch64::SUBHNv8i16_v8i8:
11066 case AArch64::SUBP:
11067 case AArch64::SUBPS:
11068 case AArch64::SUBv16i8:
11069 case AArch64::SUBv1i64:
11070 case AArch64::SUBv2i32:
11071 case AArch64::SUBv2i64:
11072 case AArch64::SUBv4i16:
11073 case AArch64::SUBv4i32:
11074 case AArch64::SUBv8i16:
11075 case AArch64::SUBv8i8:
11076 case AArch64::TRN1v16i8:
11077 case AArch64::TRN1v2i32:
11078 case AArch64::TRN1v2i64:
11079 case AArch64::TRN1v4i16:
11080 case AArch64::TRN1v4i32:
11081 case AArch64::TRN1v8i16:
11082 case AArch64::TRN1v8i8:
11083 case AArch64::TRN2v16i8:
11084 case AArch64::TRN2v2i32:
11085 case AArch64::TRN2v2i64:
11086 case AArch64::TRN2v4i16:
11087 case AArch64::TRN2v4i32:
11088 case AArch64::TRN2v8i16:
11089 case AArch64::TRN2v8i8:
11090 case AArch64::UABDLv16i8_v8i16:
11091 case AArch64::UABDLv2i32_v2i64:
11092 case AArch64::UABDLv4i16_v4i32:
11093 case AArch64::UABDLv4i32_v2i64:
11094 case AArch64::UABDLv8i16_v4i32:
11095 case AArch64::UABDLv8i8_v8i16:
11096 case AArch64::UABDv16i8:
11097 case AArch64::UABDv2i32:
11098 case AArch64::UABDv4i16:
11099 case AArch64::UABDv4i32:
11100 case AArch64::UABDv8i16:
11101 case AArch64::UABDv8i8:
11102 case AArch64::UADDLv16i8_v8i16:
11103 case AArch64::UADDLv2i32_v2i64:
11104 case AArch64::UADDLv4i16_v4i32:
11105 case AArch64::UADDLv4i32_v2i64:
11106 case AArch64::UADDLv8i16_v4i32:
11107 case AArch64::UADDLv8i8_v8i16:
11108 case AArch64::UADDWv16i8_v8i16:
11109 case AArch64::UADDWv2i32_v2i64:
11110 case AArch64::UADDWv4i16_v4i32:
11111 case AArch64::UADDWv4i32_v2i64:
11112 case AArch64::UADDWv8i16_v4i32:
11113 case AArch64::UADDWv8i8_v8i16:
11114 case AArch64::UDIVWr:
11115 case AArch64::UDIVXr:
11116 case AArch64::UHADDv16i8:
11117 case AArch64::UHADDv2i32:
11118 case AArch64::UHADDv4i16:
11119 case AArch64::UHADDv4i32:
11120 case AArch64::UHADDv8i16:
11121 case AArch64::UHADDv8i8:
11122 case AArch64::UHSUBv16i8:
11123 case AArch64::UHSUBv2i32:
11124 case AArch64::UHSUBv4i16:
11125 case AArch64::UHSUBv4i32:
11126 case AArch64::UHSUBv8i16:
11127 case AArch64::UHSUBv8i8:
11128 case AArch64::UMAXPv16i8:
11129 case AArch64::UMAXPv2i32:
11130 case AArch64::UMAXPv4i16:
11131 case AArch64::UMAXPv4i32:
11132 case AArch64::UMAXPv8i16:
11133 case AArch64::UMAXPv8i8:
11134 case AArch64::UMAXWrr:
11135 case AArch64::UMAXXrr:
11136 case AArch64::UMAXv16i8:
11137 case AArch64::UMAXv2i32:
11138 case AArch64::UMAXv4i16:
11139 case AArch64::UMAXv4i32:
11140 case AArch64::UMAXv8i16:
11141 case AArch64::UMAXv8i8:
11142 case AArch64::UMINPv16i8:
11143 case AArch64::UMINPv2i32:
11144 case AArch64::UMINPv4i16:
11145 case AArch64::UMINPv4i32:
11146 case AArch64::UMINPv8i16:
11147 case AArch64::UMINPv8i8:
11148 case AArch64::UMINWrr:
11149 case AArch64::UMINXrr:
11150 case AArch64::UMINv16i8:
11151 case AArch64::UMINv2i32:
11152 case AArch64::UMINv4i16:
11153 case AArch64::UMINv4i32:
11154 case AArch64::UMINv8i16:
11155 case AArch64::UMINv8i8:
11156 case AArch64::UMULLv16i8_v8i16:
11157 case AArch64::UMULLv2i32_v2i64:
11158 case AArch64::UMULLv4i16_v4i32:
11159 case AArch64::UMULLv4i32_v2i64:
11160 case AArch64::UMULLv8i16_v4i32:
11161 case AArch64::UMULLv8i8_v8i16:
11162 case AArch64::UQADDv16i8:
11163 case AArch64::UQADDv1i16:
11164 case AArch64::UQADDv1i32:
11165 case AArch64::UQADDv1i64:
11166 case AArch64::UQADDv1i8:
11167 case AArch64::UQADDv2i32:
11168 case AArch64::UQADDv2i64:
11169 case AArch64::UQADDv4i16:
11170 case AArch64::UQADDv4i32:
11171 case AArch64::UQADDv8i16:
11172 case AArch64::UQADDv8i8:
11173 case AArch64::UQRSHLv16i8:
11174 case AArch64::UQRSHLv1i16:
11175 case AArch64::UQRSHLv1i32:
11176 case AArch64::UQRSHLv1i64:
11177 case AArch64::UQRSHLv1i8:
11178 case AArch64::UQRSHLv2i32:
11179 case AArch64::UQRSHLv2i64:
11180 case AArch64::UQRSHLv4i16:
11181 case AArch64::UQRSHLv4i32:
11182 case AArch64::UQRSHLv8i16:
11183 case AArch64::UQRSHLv8i8:
11184 case AArch64::UQSHLv16i8:
11185 case AArch64::UQSHLv1i16:
11186 case AArch64::UQSHLv1i32:
11187 case AArch64::UQSHLv1i64:
11188 case AArch64::UQSHLv1i8:
11189 case AArch64::UQSHLv2i32:
11190 case AArch64::UQSHLv2i64:
11191 case AArch64::UQSHLv4i16:
11192 case AArch64::UQSHLv4i32:
11193 case AArch64::UQSHLv8i16:
11194 case AArch64::UQSHLv8i8:
11195 case AArch64::UQSUBv16i8:
11196 case AArch64::UQSUBv1i16:
11197 case AArch64::UQSUBv1i32:
11198 case AArch64::UQSUBv1i64:
11199 case AArch64::UQSUBv1i8:
11200 case AArch64::UQSUBv2i32:
11201 case AArch64::UQSUBv2i64:
11202 case AArch64::UQSUBv4i16:
11203 case AArch64::UQSUBv4i32:
11204 case AArch64::UQSUBv8i16:
11205 case AArch64::UQSUBv8i8:
11206 case AArch64::URHADDv16i8:
11207 case AArch64::URHADDv2i32:
11208 case AArch64::URHADDv4i16:
11209 case AArch64::URHADDv4i32:
11210 case AArch64::URHADDv8i16:
11211 case AArch64::URHADDv8i8:
11212 case AArch64::URSHLv16i8:
11213 case AArch64::URSHLv1i64:
11214 case AArch64::URSHLv2i32:
11215 case AArch64::URSHLv2i64:
11216 case AArch64::URSHLv4i16:
11217 case AArch64::URSHLv4i32:
11218 case AArch64::URSHLv8i16:
11219 case AArch64::URSHLv8i8:
11220 case AArch64::USHLv16i8:
11221 case AArch64::USHLv1i64:
11222 case AArch64::USHLv2i32:
11223 case AArch64::USHLv2i64:
11224 case AArch64::USHLv4i16:
11225 case AArch64::USHLv4i32:
11226 case AArch64::USHLv8i16:
11227 case AArch64::USHLv8i8:
11228 case AArch64::USUBLv16i8_v8i16:
11229 case AArch64::USUBLv2i32_v2i64:
11230 case AArch64::USUBLv4i16_v4i32:
11231 case AArch64::USUBLv4i32_v2i64:
11232 case AArch64::USUBLv8i16_v4i32:
11233 case AArch64::USUBLv8i8_v8i16:
11234 case AArch64::USUBWv16i8_v8i16:
11235 case AArch64::USUBWv2i32_v2i64:
11236 case AArch64::USUBWv4i16_v4i32:
11237 case AArch64::USUBWv4i32_v2i64:
11238 case AArch64::USUBWv8i16_v4i32:
11239 case AArch64::USUBWv8i8_v8i16:
11240 case AArch64::UZP1v16i8:
11241 case AArch64::UZP1v2i32:
11242 case AArch64::UZP1v2i64:
11243 case AArch64::UZP1v4i16:
11244 case AArch64::UZP1v4i32:
11245 case AArch64::UZP1v8i16:
11246 case AArch64::UZP1v8i8:
11247 case AArch64::UZP2v16i8:
11248 case AArch64::UZP2v2i32:
11249 case AArch64::UZP2v2i64:
11250 case AArch64::UZP2v4i16:
11251 case AArch64::UZP2v4i32:
11252 case AArch64::UZP2v8i16:
11253 case AArch64::UZP2v8i8:
11254 case AArch64::ZIP1v16i8:
11255 case AArch64::ZIP1v2i32:
11256 case AArch64::ZIP1v2i64:
11257 case AArch64::ZIP1v4i16:
11258 case AArch64::ZIP1v4i32:
11259 case AArch64::ZIP1v8i16:
11260 case AArch64::ZIP1v8i8:
11261 case AArch64::ZIP2v16i8:
11262 case AArch64::ZIP2v2i32:
11263 case AArch64::ZIP2v2i64:
11264 case AArch64::ZIP2v4i16:
11265 case AArch64::ZIP2v4i32:
11266 case AArch64::ZIP2v8i16:
11267 case AArch64::ZIP2v8i8: {
11268 // op: Rd
11269 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11270 Value |= (op & 0x1f);
11271 // op: Rn
11272 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11273 Value |= (op & 0x1f) << 5;
11274 // op: Rm
11275 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11276 Value |= (op & 0x1f) << 16;
11277 break;
11278 }
11279 case AArch64::FMADDDrrr:
11280 case AArch64::FMADDHrrr:
11281 case AArch64::FMADDSrrr:
11282 case AArch64::FMSUBDrrr:
11283 case AArch64::FMSUBHrrr:
11284 case AArch64::FMSUBSrrr:
11285 case AArch64::FNMADDDrrr:
11286 case AArch64::FNMADDHrrr:
11287 case AArch64::FNMADDSrrr:
11288 case AArch64::FNMSUBDrrr:
11289 case AArch64::FNMSUBHrrr:
11290 case AArch64::FNMSUBSrrr:
11291 case AArch64::MADDPT:
11292 case AArch64::MADDWrrr:
11293 case AArch64::MADDXrrr:
11294 case AArch64::MSUBPT:
11295 case AArch64::MSUBWrrr:
11296 case AArch64::MSUBXrrr:
11297 case AArch64::SMADDLrrr:
11298 case AArch64::SMSUBLrrr:
11299 case AArch64::UMADDLrrr:
11300 case AArch64::UMSUBLrrr: {
11301 // op: Rd
11302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11303 Value |= (op & 0x1f);
11304 // op: Rn
11305 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11306 Value |= (op & 0x1f) << 5;
11307 // op: Rm
11308 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11309 Value |= (op & 0x1f) << 16;
11310 // op: Ra
11311 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11312 Value |= (op & 0x1f) << 10;
11313 break;
11314 }
11315 case AArch64::CSELWr:
11316 case AArch64::CSELXr:
11317 case AArch64::CSINCWr:
11318 case AArch64::CSINCXr:
11319 case AArch64::CSINVWr:
11320 case AArch64::CSINVXr:
11321 case AArch64::CSNEGWr:
11322 case AArch64::CSNEGXr:
11323 case AArch64::FCSELDrrr:
11324 case AArch64::FCSELHrrr:
11325 case AArch64::FCSELSrrr: {
11326 // op: Rd
11327 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11328 Value |= (op & 0x1f);
11329 // op: Rn
11330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11331 Value |= (op & 0x1f) << 5;
11332 // op: Rm
11333 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11334 Value |= (op & 0x1f) << 16;
11335 // op: cond
11336 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11337 Value |= (op & 0xf) << 12;
11338 break;
11339 }
11340 case AArch64::ADDSXrx64:
11341 case AArch64::ADDXrx64:
11342 case AArch64::SUBSXrx64:
11343 case AArch64::SUBXrx64: {
11344 // op: Rd
11345 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11346 Value |= (op & 0x1f);
11347 // op: Rn
11348 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11349 Value |= (op & 0x1f) << 5;
11350 // op: Rm
11351 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11352 Value |= (op & 0x1f) << 16;
11353 // op: ext
11354 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11355 Value |= (op & 0x20) << 10;
11356 Value |= (op & 0x7) << 10;
11357 break;
11358 }
11359 case AArch64::ADDSWrx:
11360 case AArch64::ADDSXrx:
11361 case AArch64::ADDWrx:
11362 case AArch64::ADDXrx:
11363 case AArch64::SUBSWrx:
11364 case AArch64::SUBSXrx:
11365 case AArch64::SUBWrx:
11366 case AArch64::SUBXrx: {
11367 // op: Rd
11368 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11369 Value |= (op & 0x1f);
11370 // op: Rn
11371 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11372 Value |= (op & 0x1f) << 5;
11373 // op: Rm
11374 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11375 Value |= (op & 0x1f) << 16;
11376 // op: extend
11377 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11378 Value |= (op & 0x3f) << 10;
11379 break;
11380 }
11381 case AArch64::FMULXv1i64_indexed:
11382 case AArch64::FMULXv2i64_indexed:
11383 case AArch64::FMULv1i64_indexed:
11384 case AArch64::FMULv2i64_indexed: {
11385 // op: Rd
11386 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11387 Value |= (op & 0x1f);
11388 // op: Rn
11389 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11390 Value |= (op & 0x1f) << 5;
11391 // op: Rm
11392 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11393 Value |= (op & 0x1f) << 16;
11394 // op: idx
11395 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11396 Value |= (op & 0x1) << 11;
11397 break;
11398 }
11399 case AArch64::LUT4_B: {
11400 // op: Rd
11401 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11402 Value |= (op & 0x1f);
11403 // op: Rn
11404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11405 Value |= (op & 0x1f) << 5;
11406 // op: Rm
11407 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11408 Value |= (op & 0x1f) << 16;
11409 // op: idx
11410 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11411 Value |= (op & 0x1) << 14;
11412 break;
11413 }
11414 case AArch64::FMULXv1i32_indexed:
11415 case AArch64::FMULXv2i32_indexed:
11416 case AArch64::FMULXv4i32_indexed:
11417 case AArch64::FMULv1i32_indexed:
11418 case AArch64::FMULv2i32_indexed:
11419 case AArch64::FMULv4i32_indexed:
11420 case AArch64::MULv2i32_indexed:
11421 case AArch64::MULv4i32_indexed:
11422 case AArch64::SMULLv2i32_indexed:
11423 case AArch64::SMULLv4i32_indexed:
11424 case AArch64::SQDMULHv1i32_indexed:
11425 case AArch64::SQDMULHv2i32_indexed:
11426 case AArch64::SQDMULHv4i32_indexed:
11427 case AArch64::SQDMULLv1i64_indexed:
11428 case AArch64::SQDMULLv2i32_indexed:
11429 case AArch64::SQDMULLv4i32_indexed:
11430 case AArch64::SQRDMULHv1i32_indexed:
11431 case AArch64::SQRDMULHv2i32_indexed:
11432 case AArch64::SQRDMULHv4i32_indexed:
11433 case AArch64::UMULLv2i32_indexed:
11434 case AArch64::UMULLv4i32_indexed: {
11435 // op: Rd
11436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11437 Value |= (op & 0x1f);
11438 // op: Rn
11439 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11440 Value |= (op & 0x1f) << 5;
11441 // op: Rm
11442 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11443 Value |= (op & 0x1f) << 16;
11444 // op: idx
11445 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11446 Value |= (op & 0x1) << 21;
11447 Value |= (op & 0x2) << 10;
11448 break;
11449 }
11450 case AArch64::LUT2_B:
11451 case AArch64::LUT4_H: {
11452 // op: Rd
11453 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11454 Value |= (op & 0x1f);
11455 // op: Rn
11456 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11457 Value |= (op & 0x1f) << 5;
11458 // op: Rm
11459 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11460 Value |= (op & 0x1f) << 16;
11461 // op: idx
11462 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11463 Value |= (op & 0x3) << 13;
11464 break;
11465 }
11466 case AArch64::LUT2_H: {
11467 // op: Rd
11468 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11469 Value |= (op & 0x1f);
11470 // op: Rn
11471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11472 Value |= (op & 0x1f) << 5;
11473 // op: Rm
11474 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11475 Value |= (op & 0x1f) << 16;
11476 // op: idx
11477 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11478 Value |= (op & 0x7) << 12;
11479 break;
11480 }
11481 case AArch64::EXTRWrri: {
11482 // op: Rd
11483 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11484 Value |= (op & 0x1f);
11485 // op: Rn
11486 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11487 Value |= (op & 0x1f) << 5;
11488 // op: Rm
11489 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11490 Value |= (op & 0x1f) << 16;
11491 // op: imm
11492 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11493 Value |= (op & 0x1f) << 10;
11494 break;
11495 }
11496 case AArch64::EXTRXrri: {
11497 // op: Rd
11498 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11499 Value |= (op & 0x1f);
11500 // op: Rn
11501 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11502 Value |= (op & 0x1f) << 5;
11503 // op: Rm
11504 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11505 Value |= (op & 0x1f) << 16;
11506 // op: imm
11507 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11508 Value |= (op & 0x3f) << 10;
11509 break;
11510 }
11511 case AArch64::EXTv8i8: {
11512 // op: Rd
11513 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11514 Value |= (op & 0x1f);
11515 // op: Rn
11516 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11517 Value |= (op & 0x1f) << 5;
11518 // op: Rm
11519 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11520 Value |= (op & 0x1f) << 16;
11521 // op: imm
11522 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11523 Value |= (op & 0x7) << 11;
11524 break;
11525 }
11526 case AArch64::EXTv16i8: {
11527 // op: Rd
11528 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11529 Value |= (op & 0x1f);
11530 // op: Rn
11531 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11532 Value |= (op & 0x1f) << 5;
11533 // op: Rm
11534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11535 Value |= (op & 0x1f) << 16;
11536 // op: imm
11537 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11538 Value |= (op & 0xf) << 11;
11539 break;
11540 }
11541 case AArch64::FCADDv2f32:
11542 case AArch64::FCADDv2f64:
11543 case AArch64::FCADDv4f16:
11544 case AArch64::FCADDv4f32:
11545 case AArch64::FCADDv8f16: {
11546 // op: Rd
11547 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11548 Value |= (op & 0x1f);
11549 // op: Rn
11550 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11551 Value |= (op & 0x1f) << 5;
11552 // op: Rm
11553 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11554 Value |= (op & 0x1f) << 16;
11555 // op: rot
11556 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11557 Value |= (op & 0x1) << 12;
11558 break;
11559 }
11560 case AArch64::ADDSWrs:
11561 case AArch64::ADDSXrs:
11562 case AArch64::ADDWrs:
11563 case AArch64::ADDXrs:
11564 case AArch64::ANDSWrs:
11565 case AArch64::ANDSXrs:
11566 case AArch64::ANDWrs:
11567 case AArch64::ANDXrs:
11568 case AArch64::BICSWrs:
11569 case AArch64::BICSXrs:
11570 case AArch64::BICWrs:
11571 case AArch64::BICXrs:
11572 case AArch64::EONWrs:
11573 case AArch64::EONXrs:
11574 case AArch64::EORWrs:
11575 case AArch64::EORXrs:
11576 case AArch64::ORNWrs:
11577 case AArch64::ORNXrs:
11578 case AArch64::ORRWrs:
11579 case AArch64::ORRXrs:
11580 case AArch64::SUBSWrs:
11581 case AArch64::SUBSXrs:
11582 case AArch64::SUBWrs:
11583 case AArch64::SUBXrs: {
11584 // op: Rd
11585 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11586 Value |= (op & 0x1f);
11587 // op: Rn
11588 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11589 Value |= (op & 0x1f) << 5;
11590 // op: Rm
11591 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11592 Value |= (op & 0x1f) << 16;
11593 // op: shift
11594 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11595 Value |= (op & 0xc0) << 16;
11596 Value |= (op & 0x3f) << 10;
11597 break;
11598 }
11599 case AArch64::ADDPT_shift:
11600 case AArch64::SUBPT_shift: {
11601 // op: Rd
11602 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11603 Value |= (op & 0x1f);
11604 // op: Rn
11605 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11606 Value |= (op & 0x1f) << 5;
11607 // op: Rm
11608 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11609 Value |= (op & 0x1f) << 16;
11610 // op: shift_imm
11611 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11612 Value |= (op & 0x7) << 10;
11613 break;
11614 }
11615 case AArch64::SMULHrr:
11616 case AArch64::UMULHrr: {
11617 // op: Rd
11618 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11619 Value |= (op & 0x1f);
11620 // op: Rn
11621 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11622 Value |= (op & 0x1f) << 5;
11623 // op: Rm
11624 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11625 Value |= (op & 0x1f) << 16;
11626 Value = fixMulHigh(MI, EncodedValue: Value, STI);
11627 break;
11628 }
11629 case AArch64::FMULXv1i16_indexed:
11630 case AArch64::FMULXv4i16_indexed:
11631 case AArch64::FMULXv8i16_indexed:
11632 case AArch64::FMULv1i16_indexed:
11633 case AArch64::FMULv4i16_indexed:
11634 case AArch64::FMULv8i16_indexed:
11635 case AArch64::MULv4i16_indexed:
11636 case AArch64::MULv8i16_indexed:
11637 case AArch64::SMULLv4i16_indexed:
11638 case AArch64::SMULLv8i16_indexed:
11639 case AArch64::SQDMULHv1i16_indexed:
11640 case AArch64::SQDMULHv4i16_indexed:
11641 case AArch64::SQDMULHv8i16_indexed:
11642 case AArch64::SQDMULLv1i32_indexed:
11643 case AArch64::SQDMULLv4i16_indexed:
11644 case AArch64::SQDMULLv8i16_indexed:
11645 case AArch64::SQRDMULHv1i16_indexed:
11646 case AArch64::SQRDMULHv4i16_indexed:
11647 case AArch64::SQRDMULHv8i16_indexed:
11648 case AArch64::UMULLv4i16_indexed:
11649 case AArch64::UMULLv8i16_indexed: {
11650 // op: Rd
11651 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11652 Value |= (op & 0x1f);
11653 // op: Rn
11654 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11655 Value |= (op & 0x1f) << 5;
11656 // op: Rm
11657 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11658 Value |= (op & 0xf) << 16;
11659 // op: idx
11660 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11661 Value |= (op & 0x3) << 20;
11662 Value |= (op & 0x4) << 9;
11663 break;
11664 }
11665 case AArch64::DUPv2i64lane:
11666 case AArch64::UMOVvi64: {
11667 // op: Rd
11668 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11669 Value |= (op & 0x1f);
11670 // op: Rn
11671 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11672 Value |= (op & 0x1f) << 5;
11673 // op: idx
11674 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11675 Value |= (op & 0x1) << 20;
11676 break;
11677 }
11678 case AArch64::DUPv2i32lane:
11679 case AArch64::DUPv4i32lane:
11680 case AArch64::SMOVvi32to64:
11681 case AArch64::UMOVvi32: {
11682 // op: Rd
11683 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11684 Value |= (op & 0x1f);
11685 // op: Rn
11686 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11687 Value |= (op & 0x1f) << 5;
11688 // op: idx
11689 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11690 Value |= (op & 0x3) << 19;
11691 break;
11692 }
11693 case AArch64::DUPv4i16lane:
11694 case AArch64::DUPv8i16lane:
11695 case AArch64::SMOVvi16to32:
11696 case AArch64::SMOVvi16to64:
11697 case AArch64::UMOVvi16: {
11698 // op: Rd
11699 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11700 Value |= (op & 0x1f);
11701 // op: Rn
11702 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11703 Value |= (op & 0x1f) << 5;
11704 // op: idx
11705 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11706 Value |= (op & 0x7) << 18;
11707 break;
11708 }
11709 case AArch64::DUPv16i8lane:
11710 case AArch64::DUPv8i8lane:
11711 case AArch64::SMOVvi8to32:
11712 case AArch64::SMOVvi8to64:
11713 case AArch64::UMOVvi8: {
11714 // op: Rd
11715 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11716 Value |= (op & 0x1f);
11717 // op: Rn
11718 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11719 Value |= (op & 0x1f) << 5;
11720 // op: idx
11721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11722 Value |= (op & 0xf) << 17;
11723 break;
11724 }
11725 case AArch64::ADDSWri:
11726 case AArch64::ADDSXri:
11727 case AArch64::ADDWri:
11728 case AArch64::ADDXri:
11729 case AArch64::SUBSWri:
11730 case AArch64::SUBSXri:
11731 case AArch64::SUBWri:
11732 case AArch64::SUBXri: {
11733 // op: Rd
11734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11735 Value |= (op & 0x1f);
11736 // op: Rn
11737 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11738 Value |= (op & 0x1f) << 5;
11739 // op: imm
11740 op = getAddSubImmOpValue(MI, OpIdx: 2, Fixups, STI);
11741 Value |= (op & 0x3fff) << 10;
11742 break;
11743 }
11744 case AArch64::ANDSXri:
11745 case AArch64::ANDXri:
11746 case AArch64::EORXri:
11747 case AArch64::ORRXri: {
11748 // op: Rd
11749 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11750 Value |= (op & 0x1f);
11751 // op: Rn
11752 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11753 Value |= (op & 0x1f) << 5;
11754 // op: imm
11755 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11756 Value |= (op & 0x1fff) << 10;
11757 break;
11758 }
11759 case AArch64::SMAXWri:
11760 case AArch64::SMAXXri:
11761 case AArch64::SMINWri:
11762 case AArch64::SMINXri:
11763 case AArch64::UMAXWri:
11764 case AArch64::UMAXXri:
11765 case AArch64::UMINWri:
11766 case AArch64::UMINXri: {
11767 // op: Rd
11768 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11769 Value |= (op & 0x1f);
11770 // op: Rn
11771 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11772 Value |= (op & 0x1f) << 5;
11773 // op: imm
11774 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11775 Value |= (op & 0xff) << 10;
11776 break;
11777 }
11778 case AArch64::ANDSWri:
11779 case AArch64::ANDWri:
11780 case AArch64::EORWri:
11781 case AArch64::ORRWri: {
11782 // op: Rd
11783 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11784 Value |= (op & 0x1f);
11785 // op: Rn
11786 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11787 Value |= (op & 0x1f) << 5;
11788 // op: imm
11789 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11790 Value |= (op & 0xfff) << 10;
11791 break;
11792 }
11793 case AArch64::SHLv4i16_shift:
11794 case AArch64::SHLv8i16_shift:
11795 case AArch64::SQSHLUh:
11796 case AArch64::SQSHLUv4i16_shift:
11797 case AArch64::SQSHLUv8i16_shift:
11798 case AArch64::SQSHLh:
11799 case AArch64::SQSHLv4i16_shift:
11800 case AArch64::SQSHLv8i16_shift:
11801 case AArch64::SSHLLv4i16_shift:
11802 case AArch64::SSHLLv8i16_shift:
11803 case AArch64::UQSHLh:
11804 case AArch64::UQSHLv4i16_shift:
11805 case AArch64::UQSHLv8i16_shift:
11806 case AArch64::USHLLv4i16_shift:
11807 case AArch64::USHLLv8i16_shift: {
11808 // op: Rd
11809 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11810 Value |= (op & 0x1f);
11811 // op: Rn
11812 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11813 Value |= (op & 0x1f) << 5;
11814 // op: imm
11815 op = getVecShiftL16OpValue(MI, OpIdx: 2, Fixups, STI);
11816 Value |= (op & 0xf) << 16;
11817 break;
11818 }
11819 case AArch64::SHLv2i32_shift:
11820 case AArch64::SHLv4i32_shift:
11821 case AArch64::SQSHLUs:
11822 case AArch64::SQSHLUv2i32_shift:
11823 case AArch64::SQSHLUv4i32_shift:
11824 case AArch64::SQSHLs:
11825 case AArch64::SQSHLv2i32_shift:
11826 case AArch64::SQSHLv4i32_shift:
11827 case AArch64::SSHLLv2i32_shift:
11828 case AArch64::SSHLLv4i32_shift:
11829 case AArch64::UQSHLs:
11830 case AArch64::UQSHLv2i32_shift:
11831 case AArch64::UQSHLv4i32_shift:
11832 case AArch64::USHLLv2i32_shift:
11833 case AArch64::USHLLv4i32_shift: {
11834 // op: Rd
11835 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11836 Value |= (op & 0x1f);
11837 // op: Rn
11838 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11839 Value |= (op & 0x1f) << 5;
11840 // op: imm
11841 op = getVecShiftL32OpValue(MI, OpIdx: 2, Fixups, STI);
11842 Value |= (op & 0x1f) << 16;
11843 break;
11844 }
11845 case AArch64::SHLd:
11846 case AArch64::SHLv2i64_shift:
11847 case AArch64::SQSHLUd:
11848 case AArch64::SQSHLUv2i64_shift:
11849 case AArch64::SQSHLd:
11850 case AArch64::SQSHLv2i64_shift:
11851 case AArch64::UQSHLd:
11852 case AArch64::UQSHLv2i64_shift: {
11853 // op: Rd
11854 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11855 Value |= (op & 0x1f);
11856 // op: Rn
11857 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11858 Value |= (op & 0x1f) << 5;
11859 // op: imm
11860 op = getVecShiftL64OpValue(MI, OpIdx: 2, Fixups, STI);
11861 Value |= (op & 0x3f) << 16;
11862 break;
11863 }
11864 case AArch64::SHLv16i8_shift:
11865 case AArch64::SHLv8i8_shift:
11866 case AArch64::SQSHLUb:
11867 case AArch64::SQSHLUv16i8_shift:
11868 case AArch64::SQSHLUv8i8_shift:
11869 case AArch64::SQSHLb:
11870 case AArch64::SQSHLv16i8_shift:
11871 case AArch64::SQSHLv8i8_shift:
11872 case AArch64::SSHLLv16i8_shift:
11873 case AArch64::SSHLLv8i8_shift:
11874 case AArch64::UQSHLb:
11875 case AArch64::UQSHLv16i8_shift:
11876 case AArch64::UQSHLv8i8_shift:
11877 case AArch64::USHLLv16i8_shift:
11878 case AArch64::USHLLv8i8_shift: {
11879 // op: Rd
11880 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11881 Value |= (op & 0x1f);
11882 // op: Rn
11883 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11884 Value |= (op & 0x1f) << 5;
11885 // op: imm
11886 op = getVecShiftL8OpValue(MI, OpIdx: 2, Fixups, STI);
11887 Value |= (op & 0x7) << 16;
11888 break;
11889 }
11890 case AArch64::RSHRNv8i8_shift:
11891 case AArch64::SHRNv8i8_shift:
11892 case AArch64::SQRSHRNv8i8_shift:
11893 case AArch64::SQRSHRUNv8i8_shift:
11894 case AArch64::SQSHRNv8i8_shift:
11895 case AArch64::SQSHRUNv8i8_shift:
11896 case AArch64::UQRSHRNv8i8_shift:
11897 case AArch64::UQSHRNv8i8_shift: {
11898 // op: Rd
11899 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11900 Value |= (op & 0x1f);
11901 // op: Rn
11902 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11903 Value |= (op & 0x1f) << 5;
11904 // op: imm
11905 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
11906 Value |= (op & 0x7) << 16;
11907 break;
11908 }
11909 case AArch64::FCVTZSh:
11910 case AArch64::FCVTZSv4i16_shift:
11911 case AArch64::FCVTZSv8i16_shift:
11912 case AArch64::FCVTZUh:
11913 case AArch64::FCVTZUv4i16_shift:
11914 case AArch64::FCVTZUv8i16_shift:
11915 case AArch64::SCVTFh:
11916 case AArch64::SCVTFv4i16_shift:
11917 case AArch64::SCVTFv8i16_shift:
11918 case AArch64::SQRSHRNh:
11919 case AArch64::SQRSHRUNh:
11920 case AArch64::SQSHRNh:
11921 case AArch64::SQSHRUNh:
11922 case AArch64::SRSHRv4i16_shift:
11923 case AArch64::SRSHRv8i16_shift:
11924 case AArch64::SSHRv4i16_shift:
11925 case AArch64::SSHRv8i16_shift:
11926 case AArch64::UCVTFh:
11927 case AArch64::UCVTFv4i16_shift:
11928 case AArch64::UCVTFv8i16_shift:
11929 case AArch64::UQRSHRNh:
11930 case AArch64::UQSHRNh:
11931 case AArch64::URSHRv4i16_shift:
11932 case AArch64::URSHRv8i16_shift:
11933 case AArch64::USHRv4i16_shift:
11934 case AArch64::USHRv8i16_shift: {
11935 // op: Rd
11936 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11937 Value |= (op & 0x1f);
11938 // op: Rn
11939 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11940 Value |= (op & 0x1f) << 5;
11941 // op: imm
11942 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
11943 Value |= (op & 0xf) << 16;
11944 break;
11945 }
11946 case AArch64::FCVTZSs:
11947 case AArch64::FCVTZSv2i32_shift:
11948 case AArch64::FCVTZSv4i32_shift:
11949 case AArch64::FCVTZUs:
11950 case AArch64::FCVTZUv2i32_shift:
11951 case AArch64::FCVTZUv4i32_shift:
11952 case AArch64::SCVTFs:
11953 case AArch64::SCVTFv2i32_shift:
11954 case AArch64::SCVTFv4i32_shift:
11955 case AArch64::SQRSHRNs:
11956 case AArch64::SQRSHRUNs:
11957 case AArch64::SQSHRNs:
11958 case AArch64::SQSHRUNs:
11959 case AArch64::SRSHRv2i32_shift:
11960 case AArch64::SRSHRv4i32_shift:
11961 case AArch64::SSHRv2i32_shift:
11962 case AArch64::SSHRv4i32_shift:
11963 case AArch64::UCVTFs:
11964 case AArch64::UCVTFv2i32_shift:
11965 case AArch64::UCVTFv4i32_shift:
11966 case AArch64::UQRSHRNs:
11967 case AArch64::UQSHRNs:
11968 case AArch64::URSHRv2i32_shift:
11969 case AArch64::URSHRv4i32_shift:
11970 case AArch64::USHRv2i32_shift:
11971 case AArch64::USHRv4i32_shift: {
11972 // op: Rd
11973 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11974 Value |= (op & 0x1f);
11975 // op: Rn
11976 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11977 Value |= (op & 0x1f) << 5;
11978 // op: imm
11979 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
11980 Value |= (op & 0x1f) << 16;
11981 break;
11982 }
11983 case AArch64::RSHRNv4i16_shift:
11984 case AArch64::SHRNv4i16_shift:
11985 case AArch64::SQRSHRNv4i16_shift:
11986 case AArch64::SQRSHRUNv4i16_shift:
11987 case AArch64::SQSHRNv4i16_shift:
11988 case AArch64::SQSHRUNv4i16_shift:
11989 case AArch64::UQRSHRNv4i16_shift:
11990 case AArch64::UQSHRNv4i16_shift: {
11991 // op: Rd
11992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11993 Value |= (op & 0x1f);
11994 // op: Rn
11995 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11996 Value |= (op & 0x1f) << 5;
11997 // op: imm
11998 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
11999 Value |= (op & 0xf) << 16;
12000 break;
12001 }
12002 case AArch64::RSHRNv2i32_shift:
12003 case AArch64::SHRNv2i32_shift:
12004 case AArch64::SQRSHRNv2i32_shift:
12005 case AArch64::SQRSHRUNv2i32_shift:
12006 case AArch64::SQSHRNv2i32_shift:
12007 case AArch64::SQSHRUNv2i32_shift:
12008 case AArch64::UQRSHRNv2i32_shift:
12009 case AArch64::UQSHRNv2i32_shift: {
12010 // op: Rd
12011 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12012 Value |= (op & 0x1f);
12013 // op: Rn
12014 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12015 Value |= (op & 0x1f) << 5;
12016 // op: imm
12017 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
12018 Value |= (op & 0x1f) << 16;
12019 break;
12020 }
12021 case AArch64::FCVTZSd:
12022 case AArch64::FCVTZSv2i64_shift:
12023 case AArch64::FCVTZUd:
12024 case AArch64::FCVTZUv2i64_shift:
12025 case AArch64::SCVTFd:
12026 case AArch64::SCVTFv2i64_shift:
12027 case AArch64::SRSHRd:
12028 case AArch64::SRSHRv2i64_shift:
12029 case AArch64::SSHRd:
12030 case AArch64::SSHRv2i64_shift:
12031 case AArch64::UCVTFd:
12032 case AArch64::UCVTFv2i64_shift:
12033 case AArch64::URSHRd:
12034 case AArch64::URSHRv2i64_shift:
12035 case AArch64::USHRd:
12036 case AArch64::USHRv2i64_shift: {
12037 // op: Rd
12038 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12039 Value |= (op & 0x1f);
12040 // op: Rn
12041 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12042 Value |= (op & 0x1f) << 5;
12043 // op: imm
12044 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
12045 Value |= (op & 0x3f) << 16;
12046 break;
12047 }
12048 case AArch64::SQRSHRNb:
12049 case AArch64::SQRSHRUNb:
12050 case AArch64::SQSHRNb:
12051 case AArch64::SQSHRUNb:
12052 case AArch64::SRSHRv16i8_shift:
12053 case AArch64::SRSHRv8i8_shift:
12054 case AArch64::SSHRv16i8_shift:
12055 case AArch64::SSHRv8i8_shift:
12056 case AArch64::UQRSHRNb:
12057 case AArch64::UQSHRNb:
12058 case AArch64::URSHRv16i8_shift:
12059 case AArch64::URSHRv8i8_shift:
12060 case AArch64::USHRv16i8_shift:
12061 case AArch64::USHRv8i8_shift: {
12062 // op: Rd
12063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12064 Value |= (op & 0x1f);
12065 // op: Rn
12066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12067 Value |= (op & 0x1f) << 5;
12068 // op: imm
12069 op = getVecShiftR8OpValue(MI, OpIdx: 2, Fixups, STI);
12070 Value |= (op & 0x7) << 16;
12071 break;
12072 }
12073 case AArch64::ADDG:
12074 case AArch64::SUBG: {
12075 // op: Rd
12076 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12077 Value |= (op & 0x1f);
12078 // op: Rn
12079 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12080 Value |= (op & 0x1f) << 5;
12081 // op: imm6
12082 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12083 Value |= (op & 0x3f) << 16;
12084 // op: imm4
12085 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12086 Value |= (op & 0xf) << 10;
12087 break;
12088 }
12089 case AArch64::SBFMWri:
12090 case AArch64::UBFMWri: {
12091 // op: Rd
12092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12093 Value |= (op & 0x1f);
12094 // op: Rn
12095 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12096 Value |= (op & 0x1f) << 5;
12097 // op: immr
12098 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12099 Value |= (op & 0x1f) << 16;
12100 // op: imms
12101 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12102 Value |= (op & 0x1f) << 10;
12103 break;
12104 }
12105 case AArch64::SBFMXri:
12106 case AArch64::UBFMXri: {
12107 // op: Rd
12108 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12109 Value |= (op & 0x1f);
12110 // op: Rn
12111 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12112 Value |= (op & 0x1f) << 5;
12113 // op: immr
12114 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12115 Value |= (op & 0x3f) << 16;
12116 // op: imms
12117 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12118 Value |= (op & 0x3f) << 10;
12119 break;
12120 }
12121 case AArch64::FCVTZSSWDri:
12122 case AArch64::FCVTZSSWHri:
12123 case AArch64::FCVTZSSWSri:
12124 case AArch64::FCVTZUSWDri:
12125 case AArch64::FCVTZUSWHri:
12126 case AArch64::FCVTZUSWSri:
12127 case AArch64::SCVTFSWDri:
12128 case AArch64::SCVTFSWHri:
12129 case AArch64::SCVTFSWSri:
12130 case AArch64::UCVTFSWDri:
12131 case AArch64::UCVTFSWHri:
12132 case AArch64::UCVTFSWSri: {
12133 // op: Rd
12134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12135 Value |= (op & 0x1f);
12136 // op: Rn
12137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12138 Value |= (op & 0x1f) << 5;
12139 // op: scale
12140 op = getFixedPointScaleOpValue(MI, OpIdx: 2, Fixups, STI);
12141 Value |= (op & 0x1f) << 10;
12142 break;
12143 }
12144 case AArch64::FCVTZSSXDri:
12145 case AArch64::FCVTZSSXHri:
12146 case AArch64::FCVTZSSXSri:
12147 case AArch64::FCVTZUSXDri:
12148 case AArch64::FCVTZUSXHri:
12149 case AArch64::FCVTZUSXSri:
12150 case AArch64::SCVTFSXDri:
12151 case AArch64::SCVTFSXHri:
12152 case AArch64::SCVTFSXSri:
12153 case AArch64::UCVTFSXDri:
12154 case AArch64::UCVTFSXHri:
12155 case AArch64::UCVTFSXSri: {
12156 // op: Rd
12157 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12158 Value |= (op & 0x1f);
12159 // op: Rn
12160 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12161 Value |= (op & 0x1f) << 5;
12162 // op: scale
12163 op = getFixedPointScaleOpValue(MI, OpIdx: 2, Fixups, STI);
12164 Value |= (op & 0x3f) << 10;
12165 break;
12166 }
12167 case AArch64::BFMWri: {
12168 // op: Rd
12169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12170 Value |= (op & 0x1f);
12171 // op: Rn
12172 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12173 Value |= (op & 0x1f) << 5;
12174 // op: immr
12175 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12176 Value |= (op & 0x1f) << 16;
12177 // op: imms
12178 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12179 Value |= (op & 0x1f) << 10;
12180 break;
12181 }
12182 case AArch64::BFMXri: {
12183 // op: Rd
12184 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12185 Value |= (op & 0x1f);
12186 // op: Rn
12187 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12188 Value |= (op & 0x1f) << 5;
12189 // op: immr
12190 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12191 Value |= (op & 0x3f) << 16;
12192 // op: imms
12193 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12194 Value |= (op & 0x3f) << 10;
12195 break;
12196 }
12197 case AArch64::FMOVDi:
12198 case AArch64::FMOVHi:
12199 case AArch64::FMOVSi: {
12200 // op: Rd
12201 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12202 Value |= (op & 0x1f);
12203 // op: imm
12204 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12205 Value |= (op & 0xff) << 13;
12206 break;
12207 }
12208 case AArch64::MOVNWi:
12209 case AArch64::MOVNXi: {
12210 // op: Rd
12211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12212 Value |= (op & 0x1f);
12213 // op: imm
12214 op = getMoveWideImmOpValue(MI, OpIdx: 1, Fixups, STI);
12215 Value |= (op & 0xffff) << 5;
12216 // op: shift
12217 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12218 Value |= (op & 0x30) << 17;
12219 break;
12220 }
12221 case AArch64::MOVZWi:
12222 case AArch64::MOVZXi: {
12223 // op: Rd
12224 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12225 Value |= (op & 0x1f);
12226 // op: imm
12227 op = getMoveWideImmOpValue(MI, OpIdx: 1, Fixups, STI);
12228 Value |= (op & 0xffff) << 5;
12229 // op: shift
12230 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12231 Value |= (op & 0x30) << 17;
12232 Value = fixMOVZ(MI, EncodedValue: Value, STI);
12233 break;
12234 }
12235 case AArch64::MOVKWi:
12236 case AArch64::MOVKXi: {
12237 // op: Rd
12238 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12239 Value |= (op & 0x1f);
12240 // op: imm
12241 op = getMoveWideImmOpValue(MI, OpIdx: 2, Fixups, STI);
12242 Value |= (op & 0xffff) << 5;
12243 // op: shift
12244 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12245 Value |= (op & 0x30) << 17;
12246 break;
12247 }
12248 case AArch64::CNTB_XPiI:
12249 case AArch64::CNTD_XPiI:
12250 case AArch64::CNTH_XPiI:
12251 case AArch64::CNTW_XPiI: {
12252 // op: Rd
12253 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12254 Value |= (op & 0x1f);
12255 // op: imm4
12256 op = getSVEIncDecImm(MI, OpIdx: 2, Fixups, STI);
12257 Value |= (op & 0xf) << 16;
12258 // op: pattern
12259 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12260 Value |= (op & 0x1f) << 5;
12261 break;
12262 }
12263 case AArch64::RDSVLI_XI:
12264 case AArch64::RDVLI_XI: {
12265 // op: Rd
12266 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12267 Value |= (op & 0x1f);
12268 // op: imm6
12269 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12270 Value |= (op & 0x3f) << 5;
12271 break;
12272 }
12273 case AArch64::FMOVv2f32_ns:
12274 case AArch64::FMOVv2f64_ns:
12275 case AArch64::FMOVv4f16_ns:
12276 case AArch64::FMOVv4f32_ns:
12277 case AArch64::FMOVv8f16_ns:
12278 case AArch64::MOVID:
12279 case AArch64::MOVIv16b_ns:
12280 case AArch64::MOVIv2d_ns:
12281 case AArch64::MOVIv8b_ns: {
12282 // op: Rd
12283 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12284 Value |= (op & 0x1f);
12285 // op: imm8
12286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12287 Value |= (op & 0xe0) << 11;
12288 Value |= (op & 0x1f) << 5;
12289 break;
12290 }
12291 case AArch64::MOVIv2s_msl:
12292 case AArch64::MOVIv4s_msl:
12293 case AArch64::MVNIv2s_msl:
12294 case AArch64::MVNIv4s_msl: {
12295 // op: Rd
12296 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12297 Value |= (op & 0x1f);
12298 // op: imm8
12299 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12300 Value |= (op & 0xe0) << 11;
12301 Value |= (op & 0x1f) << 5;
12302 // op: shift
12303 op = getMoveVecShifterOpValue(MI, OpIdx: 2, Fixups, STI);
12304 Value |= (op & 0x1) << 12;
12305 break;
12306 }
12307 case AArch64::MOVIv4i16:
12308 case AArch64::MOVIv8i16:
12309 case AArch64::MVNIv4i16:
12310 case AArch64::MVNIv8i16: {
12311 // op: Rd
12312 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12313 Value |= (op & 0x1f);
12314 // op: imm8
12315 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12316 Value |= (op & 0xe0) << 11;
12317 Value |= (op & 0x1f) << 5;
12318 // op: shift
12319 op = getVecShifterOpValue(MI, OpIdx: 2, Fixups, STI);
12320 Value |= (op & 0x1) << 13;
12321 break;
12322 }
12323 case AArch64::MOVIv2i32:
12324 case AArch64::MOVIv4i32:
12325 case AArch64::MVNIv2i32:
12326 case AArch64::MVNIv4i32: {
12327 // op: Rd
12328 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12329 Value |= (op & 0x1f);
12330 // op: imm8
12331 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12332 Value |= (op & 0xe0) << 11;
12333 Value |= (op & 0x1f) << 5;
12334 // op: shift
12335 op = getVecShifterOpValue(MI, OpIdx: 2, Fixups, STI);
12336 Value |= (op & 0x3) << 13;
12337 break;
12338 }
12339 case AArch64::AUTDZA:
12340 case AArch64::AUTDZB:
12341 case AArch64::AUTIZA:
12342 case AArch64::AUTIZB:
12343 case AArch64::PACDZA:
12344 case AArch64::PACDZB:
12345 case AArch64::PACIZA:
12346 case AArch64::PACIZB: {
12347 // op: Rd
12348 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12349 Value |= (op & 0x1f);
12350 break;
12351 }
12352 case AArch64::AESDrr:
12353 case AArch64::AESErr:
12354 case AArch64::AUTDA:
12355 case AArch64::AUTDB:
12356 case AArch64::AUTIA:
12357 case AArch64::AUTIB:
12358 case AArch64::BFCVTN2:
12359 case AArch64::FCVTNv4i32:
12360 case AArch64::FCVTNv8i16:
12361 case AArch64::FCVTXNv4f32:
12362 case AArch64::PACDA:
12363 case AArch64::PACDB:
12364 case AArch64::PACIA:
12365 case AArch64::PACIB:
12366 case AArch64::SADALPv16i8_v8i16:
12367 case AArch64::SADALPv2i32_v1i64:
12368 case AArch64::SADALPv4i16_v2i32:
12369 case AArch64::SADALPv4i32_v2i64:
12370 case AArch64::SADALPv8i16_v4i32:
12371 case AArch64::SADALPv8i8_v4i16:
12372 case AArch64::SHA1SU1rr:
12373 case AArch64::SHA256SU0rr:
12374 case AArch64::SQXTNv16i8:
12375 case AArch64::SQXTNv4i32:
12376 case AArch64::SQXTNv8i16:
12377 case AArch64::SQXTUNv16i8:
12378 case AArch64::SQXTUNv4i32:
12379 case AArch64::SQXTUNv8i16:
12380 case AArch64::SUQADDv16i8:
12381 case AArch64::SUQADDv1i16:
12382 case AArch64::SUQADDv1i32:
12383 case AArch64::SUQADDv1i64:
12384 case AArch64::SUQADDv1i8:
12385 case AArch64::SUQADDv2i32:
12386 case AArch64::SUQADDv2i64:
12387 case AArch64::SUQADDv4i16:
12388 case AArch64::SUQADDv4i32:
12389 case AArch64::SUQADDv8i16:
12390 case AArch64::SUQADDv8i8:
12391 case AArch64::UADALPv16i8_v8i16:
12392 case AArch64::UADALPv2i32_v1i64:
12393 case AArch64::UADALPv4i16_v2i32:
12394 case AArch64::UADALPv4i32_v2i64:
12395 case AArch64::UADALPv8i16_v4i32:
12396 case AArch64::UADALPv8i8_v4i16:
12397 case AArch64::UQXTNv16i8:
12398 case AArch64::UQXTNv4i32:
12399 case AArch64::UQXTNv8i16:
12400 case AArch64::USQADDv16i8:
12401 case AArch64::USQADDv1i16:
12402 case AArch64::USQADDv1i32:
12403 case AArch64::USQADDv1i64:
12404 case AArch64::USQADDv1i8:
12405 case AArch64::USQADDv2i32:
12406 case AArch64::USQADDv2i64:
12407 case AArch64::USQADDv4i16:
12408 case AArch64::USQADDv4i32:
12409 case AArch64::USQADDv8i16:
12410 case AArch64::USQADDv8i8:
12411 case AArch64::XTNv16i8:
12412 case AArch64::XTNv4i32:
12413 case AArch64::XTNv8i16: {
12414 // op: Rd
12415 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12416 Value |= (op & 0x1f);
12417 // op: Rn
12418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12419 Value |= (op & 0x1f) << 5;
12420 break;
12421 }
12422 case AArch64::ADDHNv2i64_v4i32:
12423 case AArch64::ADDHNv4i32_v8i16:
12424 case AArch64::ADDHNv8i16_v16i8:
12425 case AArch64::BFDOTv4bf16:
12426 case AArch64::BFDOTv8bf16:
12427 case AArch64::BFMLALB:
12428 case AArch64::BFMLALT:
12429 case AArch64::BFMMLA:
12430 case AArch64::BIFv16i8:
12431 case AArch64::BIFv8i8:
12432 case AArch64::BITv16i8:
12433 case AArch64::BITv8i8:
12434 case AArch64::BSLv16i8:
12435 case AArch64::BSLv8i8:
12436 case AArch64::FCVTN_F322v16f8:
12437 case AArch64::FDOTv2f32:
12438 case AArch64::FDOTv4f16:
12439 case AArch64::FDOTv4f16_v2f32:
12440 case AArch64::FDOTv4f32:
12441 case AArch64::FDOTv8f16:
12442 case AArch64::FDOTv8f16_v4f32:
12443 case AArch64::FMLAL2v4f16:
12444 case AArch64::FMLAL2v8f16:
12445 case AArch64::FMLALBv16i8_v8f16:
12446 case AArch64::FMLALLBBv4f32:
12447 case AArch64::FMLALLBTv4f32:
12448 case AArch64::FMLALLTBv4f32:
12449 case AArch64::FMLALLTTv4f32:
12450 case AArch64::FMLALTv16i8_v8f16:
12451 case AArch64::FMLALv4f16:
12452 case AArch64::FMLALv8f16:
12453 case AArch64::FMLAv2f32:
12454 case AArch64::FMLAv2f64:
12455 case AArch64::FMLAv4f16:
12456 case AArch64::FMLAv4f32:
12457 case AArch64::FMLAv8f16:
12458 case AArch64::FMLSL2v4f16:
12459 case AArch64::FMLSL2v8f16:
12460 case AArch64::FMLSLv4f16:
12461 case AArch64::FMLSLv8f16:
12462 case AArch64::FMLSv2f32:
12463 case AArch64::FMLSv2f64:
12464 case AArch64::FMLSv4f16:
12465 case AArch64::FMLSv4f32:
12466 case AArch64::FMLSv8f16:
12467 case AArch64::FMMLAv4f32:
12468 case AArch64::FMMLAv8f16:
12469 case AArch64::FMMLAv8f16_v4f32:
12470 case AArch64::FMMLAv8f16_v8f16:
12471 case AArch64::MLAv16i8:
12472 case AArch64::MLAv2i32:
12473 case AArch64::MLAv4i16:
12474 case AArch64::MLAv4i32:
12475 case AArch64::MLAv8i16:
12476 case AArch64::MLAv8i8:
12477 case AArch64::MLSv16i8:
12478 case AArch64::MLSv2i32:
12479 case AArch64::MLSv4i16:
12480 case AArch64::MLSv4i32:
12481 case AArch64::MLSv8i16:
12482 case AArch64::MLSv8i8:
12483 case AArch64::RADDHNv2i64_v4i32:
12484 case AArch64::RADDHNv4i32_v8i16:
12485 case AArch64::RADDHNv8i16_v16i8:
12486 case AArch64::RSUBHNv2i64_v4i32:
12487 case AArch64::RSUBHNv4i32_v8i16:
12488 case AArch64::RSUBHNv8i16_v16i8:
12489 case AArch64::SABALv16i8_v8i16:
12490 case AArch64::SABALv2i32_v2i64:
12491 case AArch64::SABALv4i16_v4i32:
12492 case AArch64::SABALv4i32_v2i64:
12493 case AArch64::SABALv8i16_v4i32:
12494 case AArch64::SABALv8i8_v8i16:
12495 case AArch64::SABAv16i8:
12496 case AArch64::SABAv2i32:
12497 case AArch64::SABAv4i16:
12498 case AArch64::SABAv4i32:
12499 case AArch64::SABAv8i16:
12500 case AArch64::SABAv8i8:
12501 case AArch64::SDOTv16i8:
12502 case AArch64::SDOTv8i8:
12503 case AArch64::SHA1Crrr:
12504 case AArch64::SHA1Mrrr:
12505 case AArch64::SHA1Prrr:
12506 case AArch64::SHA1SU0rrr:
12507 case AArch64::SHA256H2rrr:
12508 case AArch64::SHA256Hrrr:
12509 case AArch64::SHA256SU1rrr:
12510 case AArch64::SMLALv16i8_v8i16:
12511 case AArch64::SMLALv2i32_v2i64:
12512 case AArch64::SMLALv4i16_v4i32:
12513 case AArch64::SMLALv4i32_v2i64:
12514 case AArch64::SMLALv8i16_v4i32:
12515 case AArch64::SMLALv8i8_v8i16:
12516 case AArch64::SMLSLv16i8_v8i16:
12517 case AArch64::SMLSLv2i32_v2i64:
12518 case AArch64::SMLSLv4i16_v4i32:
12519 case AArch64::SMLSLv4i32_v2i64:
12520 case AArch64::SMLSLv8i16_v4i32:
12521 case AArch64::SMLSLv8i8_v8i16:
12522 case AArch64::SMMLA:
12523 case AArch64::SQDMLALi16:
12524 case AArch64::SQDMLALi32:
12525 case AArch64::SQDMLALv2i32_v2i64:
12526 case AArch64::SQDMLALv4i16_v4i32:
12527 case AArch64::SQDMLALv4i32_v2i64:
12528 case AArch64::SQDMLALv8i16_v4i32:
12529 case AArch64::SQDMLSLi16:
12530 case AArch64::SQDMLSLi32:
12531 case AArch64::SQDMLSLv2i32_v2i64:
12532 case AArch64::SQDMLSLv4i16_v4i32:
12533 case AArch64::SQDMLSLv4i32_v2i64:
12534 case AArch64::SQDMLSLv8i16_v4i32:
12535 case AArch64::SQRDMLAHv1i16:
12536 case AArch64::SQRDMLAHv1i32:
12537 case AArch64::SQRDMLAHv2i32:
12538 case AArch64::SQRDMLAHv4i16:
12539 case AArch64::SQRDMLAHv4i32:
12540 case AArch64::SQRDMLAHv8i16:
12541 case AArch64::SQRDMLSHv1i16:
12542 case AArch64::SQRDMLSHv1i32:
12543 case AArch64::SQRDMLSHv2i32:
12544 case AArch64::SQRDMLSHv4i16:
12545 case AArch64::SQRDMLSHv4i32:
12546 case AArch64::SQRDMLSHv8i16:
12547 case AArch64::SUBHNv2i64_v4i32:
12548 case AArch64::SUBHNv4i32_v8i16:
12549 case AArch64::SUBHNv8i16_v16i8:
12550 case AArch64::UABALv16i8_v8i16:
12551 case AArch64::UABALv2i32_v2i64:
12552 case AArch64::UABALv4i16_v4i32:
12553 case AArch64::UABALv4i32_v2i64:
12554 case AArch64::UABALv8i16_v4i32:
12555 case AArch64::UABALv8i8_v8i16:
12556 case AArch64::UABAv16i8:
12557 case AArch64::UABAv2i32:
12558 case AArch64::UABAv4i16:
12559 case AArch64::UABAv4i32:
12560 case AArch64::UABAv8i16:
12561 case AArch64::UABAv8i8:
12562 case AArch64::UDOTv16i8:
12563 case AArch64::UDOTv8i8:
12564 case AArch64::UMLALv16i8_v8i16:
12565 case AArch64::UMLALv2i32_v2i64:
12566 case AArch64::UMLALv4i16_v4i32:
12567 case AArch64::UMLALv4i32_v2i64:
12568 case AArch64::UMLALv8i16_v4i32:
12569 case AArch64::UMLALv8i8_v8i16:
12570 case AArch64::UMLSLv16i8_v8i16:
12571 case AArch64::UMLSLv2i32_v2i64:
12572 case AArch64::UMLSLv4i16_v4i32:
12573 case AArch64::UMLSLv4i32_v2i64:
12574 case AArch64::UMLSLv8i16_v4i32:
12575 case AArch64::UMLSLv8i8_v8i16:
12576 case AArch64::UMMLA:
12577 case AArch64::USDOTv16i8:
12578 case AArch64::USDOTv8i8:
12579 case AArch64::USMMLA: {
12580 // op: Rd
12581 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12582 Value |= (op & 0x1f);
12583 // op: Rn
12584 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12585 Value |= (op & 0x1f) << 5;
12586 // op: Rm
12587 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12588 Value |= (op & 0x1f) << 16;
12589 break;
12590 }
12591 case AArch64::FMLAv1i64_indexed:
12592 case AArch64::FMLAv2i64_indexed:
12593 case AArch64::FMLSv1i64_indexed:
12594 case AArch64::FMLSv2i64_indexed: {
12595 // op: Rd
12596 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12597 Value |= (op & 0x1f);
12598 // op: Rn
12599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12600 Value |= (op & 0x1f) << 5;
12601 // op: Rm
12602 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12603 Value |= (op & 0x1f) << 16;
12604 // op: idx
12605 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12606 Value |= (op & 0x1) << 11;
12607 break;
12608 }
12609 case AArch64::BF16DOTlanev4bf16:
12610 case AArch64::BF16DOTlanev8bf16:
12611 case AArch64::FDOTlanev2f32:
12612 case AArch64::FDOTlanev4f16_v2f32:
12613 case AArch64::FDOTlanev4f32:
12614 case AArch64::FDOTlanev8f16_v4f32:
12615 case AArch64::FMLAv1i32_indexed:
12616 case AArch64::FMLAv2i32_indexed:
12617 case AArch64::FMLAv4i32_indexed:
12618 case AArch64::FMLSv1i32_indexed:
12619 case AArch64::FMLSv2i32_indexed:
12620 case AArch64::FMLSv4i32_indexed:
12621 case AArch64::MLAv2i32_indexed:
12622 case AArch64::MLAv4i32_indexed:
12623 case AArch64::MLSv2i32_indexed:
12624 case AArch64::MLSv4i32_indexed:
12625 case AArch64::SDOTlanev16i8:
12626 case AArch64::SDOTlanev8i8:
12627 case AArch64::SMLALv2i32_indexed:
12628 case AArch64::SMLALv4i32_indexed:
12629 case AArch64::SMLSLv2i32_indexed:
12630 case AArch64::SMLSLv4i32_indexed:
12631 case AArch64::SQDMLALv1i64_indexed:
12632 case AArch64::SQDMLALv2i32_indexed:
12633 case AArch64::SQDMLALv4i32_indexed:
12634 case AArch64::SQDMLSLv1i64_indexed:
12635 case AArch64::SQDMLSLv2i32_indexed:
12636 case AArch64::SQDMLSLv4i32_indexed:
12637 case AArch64::SQRDMLAHv1i32_indexed:
12638 case AArch64::SQRDMLAHv2i32_indexed:
12639 case AArch64::SQRDMLAHv4i32_indexed:
12640 case AArch64::SQRDMLSHv1i32_indexed:
12641 case AArch64::SQRDMLSHv2i32_indexed:
12642 case AArch64::SQRDMLSHv4i32_indexed:
12643 case AArch64::SUDOTlanev16i8:
12644 case AArch64::SUDOTlanev8i8:
12645 case AArch64::UDOTlanev16i8:
12646 case AArch64::UDOTlanev8i8:
12647 case AArch64::UMLALv2i32_indexed:
12648 case AArch64::UMLALv4i32_indexed:
12649 case AArch64::UMLSLv2i32_indexed:
12650 case AArch64::UMLSLv4i32_indexed:
12651 case AArch64::USDOTlanev16i8:
12652 case AArch64::USDOTlanev8i8: {
12653 // op: Rd
12654 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12655 Value |= (op & 0x1f);
12656 // op: Rn
12657 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12658 Value |= (op & 0x1f) << 5;
12659 // op: Rm
12660 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12661 Value |= (op & 0x1f) << 16;
12662 // op: idx
12663 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12664 Value |= (op & 0x1) << 21;
12665 Value |= (op & 0x2) << 10;
12666 break;
12667 }
12668 case AArch64::FCMLAv2f32:
12669 case AArch64::FCMLAv2f64:
12670 case AArch64::FCMLAv4f16:
12671 case AArch64::FCMLAv4f32:
12672 case AArch64::FCMLAv8f16: {
12673 // op: Rd
12674 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12675 Value |= (op & 0x1f);
12676 // op: Rn
12677 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12678 Value |= (op & 0x1f) << 5;
12679 // op: Rm
12680 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12681 Value |= (op & 0x1f) << 16;
12682 // op: rot
12683 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12684 Value |= (op & 0x3) << 11;
12685 break;
12686 }
12687 case AArch64::FCMLAv4f32_indexed: {
12688 // op: Rd
12689 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12690 Value |= (op & 0x1f);
12691 // op: Rn
12692 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12693 Value |= (op & 0x1f) << 5;
12694 // op: Rm
12695 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12696 Value |= (op & 0x1f) << 16;
12697 // op: rot
12698 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12699 Value |= (op & 0x3) << 13;
12700 // op: idx
12701 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12702 Value |= (op & 0x1) << 11;
12703 break;
12704 }
12705 case AArch64::FCMLAv4f16_indexed: {
12706 // op: Rd
12707 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12708 Value |= (op & 0x1f);
12709 // op: Rn
12710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12711 Value |= (op & 0x1f) << 5;
12712 // op: Rm
12713 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12714 Value |= (op & 0x1f) << 16;
12715 // op: rot
12716 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12717 Value |= (op & 0x3) << 13;
12718 // op: idx
12719 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12720 Value |= (op & 0x1) << 21;
12721 break;
12722 }
12723 case AArch64::FCMLAv8f16_indexed: {
12724 // op: Rd
12725 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12726 Value |= (op & 0x1f);
12727 // op: Rn
12728 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12729 Value |= (op & 0x1f) << 5;
12730 // op: Rm
12731 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12732 Value |= (op & 0x1f) << 16;
12733 // op: rot
12734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12735 Value |= (op & 0x3) << 13;
12736 // op: idx
12737 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12738 Value |= (op & 0x1) << 21;
12739 Value |= (op & 0x2) << 10;
12740 break;
12741 }
12742 case AArch64::FMLALBlanev8f16:
12743 case AArch64::FMLALLBBlanev4f32:
12744 case AArch64::FMLALLBTlanev4f32:
12745 case AArch64::FMLALLTBlanev4f32:
12746 case AArch64::FMLALLTTlanev4f32:
12747 case AArch64::FMLALTlanev8f16: {
12748 // op: Rd
12749 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12750 Value |= (op & 0x1f);
12751 // op: Rn
12752 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12753 Value |= (op & 0x1f) << 5;
12754 // op: Rm
12755 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12756 Value |= (op & 0x7) << 16;
12757 // op: idx
12758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12759 Value |= (op & 0x7) << 19;
12760 Value |= (op & 0x8) << 8;
12761 break;
12762 }
12763 case AArch64::BFMLALBIdx:
12764 case AArch64::BFMLALTIdx:
12765 case AArch64::FDOTlanev4f16:
12766 case AArch64::FDOTlanev8f16:
12767 case AArch64::FMLAL2lanev4f16:
12768 case AArch64::FMLAL2lanev8f16:
12769 case AArch64::FMLALlanev4f16:
12770 case AArch64::FMLALlanev8f16:
12771 case AArch64::FMLAv1i16_indexed:
12772 case AArch64::FMLAv4i16_indexed:
12773 case AArch64::FMLAv8i16_indexed:
12774 case AArch64::FMLSL2lanev4f16:
12775 case AArch64::FMLSL2lanev8f16:
12776 case AArch64::FMLSLlanev4f16:
12777 case AArch64::FMLSLlanev8f16:
12778 case AArch64::FMLSv1i16_indexed:
12779 case AArch64::FMLSv4i16_indexed:
12780 case AArch64::FMLSv8i16_indexed:
12781 case AArch64::MLAv4i16_indexed:
12782 case AArch64::MLAv8i16_indexed:
12783 case AArch64::MLSv4i16_indexed:
12784 case AArch64::MLSv8i16_indexed:
12785 case AArch64::SMLALv4i16_indexed:
12786 case AArch64::SMLALv8i16_indexed:
12787 case AArch64::SMLSLv4i16_indexed:
12788 case AArch64::SMLSLv8i16_indexed:
12789 case AArch64::SQDMLALv1i32_indexed:
12790 case AArch64::SQDMLALv4i16_indexed:
12791 case AArch64::SQDMLALv8i16_indexed:
12792 case AArch64::SQDMLSLv1i32_indexed:
12793 case AArch64::SQDMLSLv4i16_indexed:
12794 case AArch64::SQDMLSLv8i16_indexed:
12795 case AArch64::SQRDMLAHv1i16_indexed:
12796 case AArch64::SQRDMLAHv4i16_indexed:
12797 case AArch64::SQRDMLAHv8i16_indexed:
12798 case AArch64::SQRDMLSHv1i16_indexed:
12799 case AArch64::SQRDMLSHv4i16_indexed:
12800 case AArch64::SQRDMLSHv8i16_indexed:
12801 case AArch64::UMLALv4i16_indexed:
12802 case AArch64::UMLALv8i16_indexed:
12803 case AArch64::UMLSLv4i16_indexed:
12804 case AArch64::UMLSLv8i16_indexed: {
12805 // op: Rd
12806 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12807 Value |= (op & 0x1f);
12808 // op: Rn
12809 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12810 Value |= (op & 0x1f) << 5;
12811 // op: Rm
12812 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12813 Value |= (op & 0xf) << 16;
12814 // op: idx
12815 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12816 Value |= (op & 0x3) << 20;
12817 Value |= (op & 0x4) << 9;
12818 break;
12819 }
12820 case AArch64::SLIv4i16_shift:
12821 case AArch64::SLIv8i16_shift: {
12822 // op: Rd
12823 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12824 Value |= (op & 0x1f);
12825 // op: Rn
12826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12827 Value |= (op & 0x1f) << 5;
12828 // op: imm
12829 op = getVecShiftL16OpValue(MI, OpIdx: 3, Fixups, STI);
12830 Value |= (op & 0xf) << 16;
12831 break;
12832 }
12833 case AArch64::SLIv2i32_shift:
12834 case AArch64::SLIv4i32_shift: {
12835 // op: Rd
12836 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12837 Value |= (op & 0x1f);
12838 // op: Rn
12839 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12840 Value |= (op & 0x1f) << 5;
12841 // op: imm
12842 op = getVecShiftL32OpValue(MI, OpIdx: 3, Fixups, STI);
12843 Value |= (op & 0x1f) << 16;
12844 break;
12845 }
12846 case AArch64::SLId:
12847 case AArch64::SLIv2i64_shift: {
12848 // op: Rd
12849 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12850 Value |= (op & 0x1f);
12851 // op: Rn
12852 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12853 Value |= (op & 0x1f) << 5;
12854 // op: imm
12855 op = getVecShiftL64OpValue(MI, OpIdx: 3, Fixups, STI);
12856 Value |= (op & 0x3f) << 16;
12857 break;
12858 }
12859 case AArch64::SLIv16i8_shift:
12860 case AArch64::SLIv8i8_shift: {
12861 // op: Rd
12862 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12863 Value |= (op & 0x1f);
12864 // op: Rn
12865 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12866 Value |= (op & 0x1f) << 5;
12867 // op: imm
12868 op = getVecShiftL8OpValue(MI, OpIdx: 3, Fixups, STI);
12869 Value |= (op & 0x7) << 16;
12870 break;
12871 }
12872 case AArch64::RSHRNv16i8_shift:
12873 case AArch64::SHRNv16i8_shift:
12874 case AArch64::SQRSHRNv16i8_shift:
12875 case AArch64::SQRSHRUNv16i8_shift:
12876 case AArch64::SQSHRNv16i8_shift:
12877 case AArch64::SQSHRUNv16i8_shift:
12878 case AArch64::UQRSHRNv16i8_shift:
12879 case AArch64::UQSHRNv16i8_shift: {
12880 // op: Rd
12881 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12882 Value |= (op & 0x1f);
12883 // op: Rn
12884 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12885 Value |= (op & 0x1f) << 5;
12886 // op: imm
12887 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
12888 Value |= (op & 0x7) << 16;
12889 break;
12890 }
12891 case AArch64::SRIv4i16_shift:
12892 case AArch64::SRIv8i16_shift:
12893 case AArch64::SRSRAv4i16_shift:
12894 case AArch64::SRSRAv8i16_shift:
12895 case AArch64::SSRAv4i16_shift:
12896 case AArch64::SSRAv8i16_shift:
12897 case AArch64::URSRAv4i16_shift:
12898 case AArch64::URSRAv8i16_shift:
12899 case AArch64::USRAv4i16_shift:
12900 case AArch64::USRAv8i16_shift: {
12901 // op: Rd
12902 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12903 Value |= (op & 0x1f);
12904 // op: Rn
12905 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12906 Value |= (op & 0x1f) << 5;
12907 // op: imm
12908 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
12909 Value |= (op & 0xf) << 16;
12910 break;
12911 }
12912 case AArch64::SRIv2i32_shift:
12913 case AArch64::SRIv4i32_shift:
12914 case AArch64::SRSRAv2i32_shift:
12915 case AArch64::SRSRAv4i32_shift:
12916 case AArch64::SSRAv2i32_shift:
12917 case AArch64::SSRAv4i32_shift:
12918 case AArch64::URSRAv2i32_shift:
12919 case AArch64::URSRAv4i32_shift:
12920 case AArch64::USRAv2i32_shift:
12921 case AArch64::USRAv4i32_shift: {
12922 // op: Rd
12923 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12924 Value |= (op & 0x1f);
12925 // op: Rn
12926 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12927 Value |= (op & 0x1f) << 5;
12928 // op: imm
12929 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
12930 Value |= (op & 0x1f) << 16;
12931 break;
12932 }
12933 case AArch64::RSHRNv8i16_shift:
12934 case AArch64::SHRNv8i16_shift:
12935 case AArch64::SQRSHRNv8i16_shift:
12936 case AArch64::SQRSHRUNv8i16_shift:
12937 case AArch64::SQSHRNv8i16_shift:
12938 case AArch64::SQSHRUNv8i16_shift:
12939 case AArch64::UQRSHRNv8i16_shift:
12940 case AArch64::UQSHRNv8i16_shift: {
12941 // op: Rd
12942 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12943 Value |= (op & 0x1f);
12944 // op: Rn
12945 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12946 Value |= (op & 0x1f) << 5;
12947 // op: imm
12948 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
12949 Value |= (op & 0xf) << 16;
12950 break;
12951 }
12952 case AArch64::RSHRNv4i32_shift:
12953 case AArch64::SHRNv4i32_shift:
12954 case AArch64::SQRSHRNv4i32_shift:
12955 case AArch64::SQRSHRUNv4i32_shift:
12956 case AArch64::SQSHRNv4i32_shift:
12957 case AArch64::SQSHRUNv4i32_shift:
12958 case AArch64::UQRSHRNv4i32_shift:
12959 case AArch64::UQSHRNv4i32_shift: {
12960 // op: Rd
12961 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12962 Value |= (op & 0x1f);
12963 // op: Rn
12964 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12965 Value |= (op & 0x1f) << 5;
12966 // op: imm
12967 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
12968 Value |= (op & 0x1f) << 16;
12969 break;
12970 }
12971 case AArch64::SRId:
12972 case AArch64::SRIv2i64_shift:
12973 case AArch64::SRSRAd:
12974 case AArch64::SRSRAv2i64_shift:
12975 case AArch64::SSRAd:
12976 case AArch64::SSRAv2i64_shift:
12977 case AArch64::URSRAd:
12978 case AArch64::URSRAv2i64_shift:
12979 case AArch64::USRAd:
12980 case AArch64::USRAv2i64_shift: {
12981 // op: Rd
12982 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12983 Value |= (op & 0x1f);
12984 // op: Rn
12985 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12986 Value |= (op & 0x1f) << 5;
12987 // op: imm
12988 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
12989 Value |= (op & 0x3f) << 16;
12990 break;
12991 }
12992 case AArch64::SRIv16i8_shift:
12993 case AArch64::SRIv8i8_shift:
12994 case AArch64::SRSRAv16i8_shift:
12995 case AArch64::SRSRAv8i8_shift:
12996 case AArch64::SSRAv16i8_shift:
12997 case AArch64::SSRAv8i8_shift:
12998 case AArch64::URSRAv16i8_shift:
12999 case AArch64::URSRAv8i8_shift:
13000 case AArch64::USRAv16i8_shift:
13001 case AArch64::USRAv8i8_shift: {
13002 // op: Rd
13003 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13004 Value |= (op & 0x1f);
13005 // op: Rn
13006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13007 Value |= (op & 0x1f) << 5;
13008 // op: imm
13009 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
13010 Value |= (op & 0x7) << 16;
13011 break;
13012 }
13013 case AArch64::INSvi64gpr: {
13014 // op: Rd
13015 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13016 Value |= (op & 0x1f);
13017 // op: Rn
13018 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13019 Value |= (op & 0x1f) << 5;
13020 // op: idx
13021 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13022 Value |= (op & 0x1) << 20;
13023 break;
13024 }
13025 case AArch64::INSvi64lane: {
13026 // op: Rd
13027 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13028 Value |= (op & 0x1f);
13029 // op: Rn
13030 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13031 Value |= (op & 0x1f) << 5;
13032 // op: idx
13033 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13034 Value |= (op & 0x1) << 20;
13035 // op: idx2
13036 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13037 Value |= (op & 0x1) << 14;
13038 break;
13039 }
13040 case AArch64::INSvi32gpr: {
13041 // op: Rd
13042 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13043 Value |= (op & 0x1f);
13044 // op: Rn
13045 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13046 Value |= (op & 0x1f) << 5;
13047 // op: idx
13048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13049 Value |= (op & 0x3) << 19;
13050 break;
13051 }
13052 case AArch64::INSvi32lane: {
13053 // op: Rd
13054 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13055 Value |= (op & 0x1f);
13056 // op: Rn
13057 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13058 Value |= (op & 0x1f) << 5;
13059 // op: idx
13060 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13061 Value |= (op & 0x3) << 19;
13062 // op: idx2
13063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13064 Value |= (op & 0x3) << 13;
13065 break;
13066 }
13067 case AArch64::INSvi16gpr: {
13068 // op: Rd
13069 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13070 Value |= (op & 0x1f);
13071 // op: Rn
13072 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13073 Value |= (op & 0x1f) << 5;
13074 // op: idx
13075 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13076 Value |= (op & 0x7) << 18;
13077 break;
13078 }
13079 case AArch64::INSvi16lane: {
13080 // op: Rd
13081 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13082 Value |= (op & 0x1f);
13083 // op: Rn
13084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13085 Value |= (op & 0x1f) << 5;
13086 // op: idx
13087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13088 Value |= (op & 0x7) << 18;
13089 // op: idx2
13090 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13091 Value |= (op & 0x7) << 12;
13092 break;
13093 }
13094 case AArch64::INSvi8gpr: {
13095 // op: Rd
13096 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13097 Value |= (op & 0x1f);
13098 // op: Rn
13099 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13100 Value |= (op & 0x1f) << 5;
13101 // op: idx
13102 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13103 Value |= (op & 0xf) << 17;
13104 break;
13105 }
13106 case AArch64::INSvi8lane: {
13107 // op: Rd
13108 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13109 Value |= (op & 0x1f);
13110 // op: Rn
13111 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13112 Value |= (op & 0x1f) << 5;
13113 // op: idx
13114 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13115 Value |= (op & 0xf) << 17;
13116 // op: idx2
13117 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13118 Value |= (op & 0xf) << 11;
13119 break;
13120 }
13121 case AArch64::BICv4i16:
13122 case AArch64::BICv8i16:
13123 case AArch64::ORRv4i16:
13124 case AArch64::ORRv8i16: {
13125 // op: Rd
13126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13127 Value |= (op & 0x1f);
13128 // op: imm8
13129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13130 Value |= (op & 0xe0) << 11;
13131 Value |= (op & 0x1f) << 5;
13132 // op: shift
13133 op = getVecShifterOpValue(MI, OpIdx: 3, Fixups, STI);
13134 Value |= (op & 0x1) << 13;
13135 break;
13136 }
13137 case AArch64::BICv2i32:
13138 case AArch64::BICv4i32:
13139 case AArch64::ORRv2i32:
13140 case AArch64::ORRv4i32: {
13141 // op: Rd
13142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13143 Value |= (op & 0x1f);
13144 // op: imm8
13145 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13146 Value |= (op & 0xe0) << 11;
13147 Value |= (op & 0x1f) << 5;
13148 // op: shift
13149 op = getVecShifterOpValue(MI, OpIdx: 3, Fixups, STI);
13150 Value |= (op & 0x3) << 13;
13151 break;
13152 }
13153 case AArch64::SETGOE:
13154 case AArch64::SETGOEN:
13155 case AArch64::SETGOET:
13156 case AArch64::SETGOETN:
13157 case AArch64::SETGOM:
13158 case AArch64::SETGOMN:
13159 case AArch64::SETGOMT:
13160 case AArch64::SETGOMTN:
13161 case AArch64::SETGOP:
13162 case AArch64::SETGOPN:
13163 case AArch64::SETGOPT:
13164 case AArch64::SETGOPTN: {
13165 // op: Rd
13166 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13167 Value |= (op & 0x1f);
13168 // op: Rn
13169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13170 Value |= (op & 0x1f) << 5;
13171 break;
13172 }
13173 case AArch64::MOPSSETGE:
13174 case AArch64::MOPSSETGEN:
13175 case AArch64::MOPSSETGET:
13176 case AArch64::MOPSSETGETN:
13177 case AArch64::SETE:
13178 case AArch64::SETEN:
13179 case AArch64::SETET:
13180 case AArch64::SETETN:
13181 case AArch64::SETGM:
13182 case AArch64::SETGMN:
13183 case AArch64::SETGMT:
13184 case AArch64::SETGMTN:
13185 case AArch64::SETGP:
13186 case AArch64::SETGPN:
13187 case AArch64::SETGPT:
13188 case AArch64::SETGPTN:
13189 case AArch64::SETM:
13190 case AArch64::SETMN:
13191 case AArch64::SETMT:
13192 case AArch64::SETMTN:
13193 case AArch64::SETP:
13194 case AArch64::SETPN:
13195 case AArch64::SETPT:
13196 case AArch64::SETPTN: {
13197 // op: Rd
13198 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13199 Value |= (op & 0x1f);
13200 // op: Rn
13201 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13202 Value |= (op & 0x1f) << 5;
13203 // op: Rm
13204 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13205 Value |= (op & 0x1f) << 16;
13206 break;
13207 }
13208 case AArch64::CPYE:
13209 case AArch64::CPYEN:
13210 case AArch64::CPYERN:
13211 case AArch64::CPYERT:
13212 case AArch64::CPYERTN:
13213 case AArch64::CPYERTRN:
13214 case AArch64::CPYERTWN:
13215 case AArch64::CPYET:
13216 case AArch64::CPYETN:
13217 case AArch64::CPYETRN:
13218 case AArch64::CPYETWN:
13219 case AArch64::CPYEWN:
13220 case AArch64::CPYEWT:
13221 case AArch64::CPYEWTN:
13222 case AArch64::CPYEWTRN:
13223 case AArch64::CPYEWTWN:
13224 case AArch64::CPYFE:
13225 case AArch64::CPYFEN:
13226 case AArch64::CPYFERN:
13227 case AArch64::CPYFERT:
13228 case AArch64::CPYFERTN:
13229 case AArch64::CPYFERTRN:
13230 case AArch64::CPYFERTWN:
13231 case AArch64::CPYFET:
13232 case AArch64::CPYFETN:
13233 case AArch64::CPYFETRN:
13234 case AArch64::CPYFETWN:
13235 case AArch64::CPYFEWN:
13236 case AArch64::CPYFEWT:
13237 case AArch64::CPYFEWTN:
13238 case AArch64::CPYFEWTRN:
13239 case AArch64::CPYFEWTWN:
13240 case AArch64::CPYFM:
13241 case AArch64::CPYFMN:
13242 case AArch64::CPYFMRN:
13243 case AArch64::CPYFMRT:
13244 case AArch64::CPYFMRTN:
13245 case AArch64::CPYFMRTRN:
13246 case AArch64::CPYFMRTWN:
13247 case AArch64::CPYFMT:
13248 case AArch64::CPYFMTN:
13249 case AArch64::CPYFMTRN:
13250 case AArch64::CPYFMTWN:
13251 case AArch64::CPYFMWN:
13252 case AArch64::CPYFMWT:
13253 case AArch64::CPYFMWTN:
13254 case AArch64::CPYFMWTRN:
13255 case AArch64::CPYFMWTWN:
13256 case AArch64::CPYFP:
13257 case AArch64::CPYFPN:
13258 case AArch64::CPYFPRN:
13259 case AArch64::CPYFPRT:
13260 case AArch64::CPYFPRTN:
13261 case AArch64::CPYFPRTRN:
13262 case AArch64::CPYFPRTWN:
13263 case AArch64::CPYFPT:
13264 case AArch64::CPYFPTN:
13265 case AArch64::CPYFPTRN:
13266 case AArch64::CPYFPTWN:
13267 case AArch64::CPYFPWN:
13268 case AArch64::CPYFPWT:
13269 case AArch64::CPYFPWTN:
13270 case AArch64::CPYFPWTRN:
13271 case AArch64::CPYFPWTWN:
13272 case AArch64::CPYM:
13273 case AArch64::CPYMN:
13274 case AArch64::CPYMRN:
13275 case AArch64::CPYMRT:
13276 case AArch64::CPYMRTN:
13277 case AArch64::CPYMRTRN:
13278 case AArch64::CPYMRTWN:
13279 case AArch64::CPYMT:
13280 case AArch64::CPYMTN:
13281 case AArch64::CPYMTRN:
13282 case AArch64::CPYMTWN:
13283 case AArch64::CPYMWN:
13284 case AArch64::CPYMWT:
13285 case AArch64::CPYMWTN:
13286 case AArch64::CPYMWTRN:
13287 case AArch64::CPYMWTWN:
13288 case AArch64::CPYP:
13289 case AArch64::CPYPN:
13290 case AArch64::CPYPRN:
13291 case AArch64::CPYPRT:
13292 case AArch64::CPYPRTN:
13293 case AArch64::CPYPRTRN:
13294 case AArch64::CPYPRTWN:
13295 case AArch64::CPYPT:
13296 case AArch64::CPYPTN:
13297 case AArch64::CPYPTRN:
13298 case AArch64::CPYPTWN:
13299 case AArch64::CPYPWN:
13300 case AArch64::CPYPWT:
13301 case AArch64::CPYPWTN:
13302 case AArch64::CPYPWTRN:
13303 case AArch64::CPYPWTWN: {
13304 // op: Rd
13305 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13306 Value |= (op & 0x1f);
13307 // op: Rs
13308 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13309 Value |= (op & 0x1f) << 16;
13310 // op: Rn
13311 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13312 Value |= (op & 0x1f) << 5;
13313 break;
13314 }
13315 case AArch64::DECP_XP_B:
13316 case AArch64::DECP_XP_D:
13317 case AArch64::DECP_XP_H:
13318 case AArch64::DECP_XP_S:
13319 case AArch64::INCP_XP_B:
13320 case AArch64::INCP_XP_D:
13321 case AArch64::INCP_XP_H:
13322 case AArch64::INCP_XP_S:
13323 case AArch64::SQDECP_XPWd_B:
13324 case AArch64::SQDECP_XPWd_D:
13325 case AArch64::SQDECP_XPWd_H:
13326 case AArch64::SQDECP_XPWd_S:
13327 case AArch64::SQDECP_XP_B:
13328 case AArch64::SQDECP_XP_D:
13329 case AArch64::SQDECP_XP_H:
13330 case AArch64::SQDECP_XP_S:
13331 case AArch64::SQINCP_XPWd_B:
13332 case AArch64::SQINCP_XPWd_D:
13333 case AArch64::SQINCP_XPWd_H:
13334 case AArch64::SQINCP_XPWd_S:
13335 case AArch64::SQINCP_XP_B:
13336 case AArch64::SQINCP_XP_D:
13337 case AArch64::SQINCP_XP_H:
13338 case AArch64::SQINCP_XP_S:
13339 case AArch64::UQDECP_WP_B:
13340 case AArch64::UQDECP_WP_D:
13341 case AArch64::UQDECP_WP_H:
13342 case AArch64::UQDECP_WP_S:
13343 case AArch64::UQDECP_XP_B:
13344 case AArch64::UQDECP_XP_D:
13345 case AArch64::UQDECP_XP_H:
13346 case AArch64::UQDECP_XP_S:
13347 case AArch64::UQINCP_WP_B:
13348 case AArch64::UQINCP_WP_D:
13349 case AArch64::UQINCP_WP_H:
13350 case AArch64::UQINCP_WP_S:
13351 case AArch64::UQINCP_XP_B:
13352 case AArch64::UQINCP_XP_D:
13353 case AArch64::UQINCP_XP_H:
13354 case AArch64::UQINCP_XP_S: {
13355 // op: Rdn
13356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13357 Value |= (op & 0x1f);
13358 // op: Pg
13359 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13360 Value |= (op & 0xf) << 5;
13361 break;
13362 }
13363 case AArch64::DECB_XPiI:
13364 case AArch64::DECD_XPiI:
13365 case AArch64::DECH_XPiI:
13366 case AArch64::DECW_XPiI:
13367 case AArch64::INCB_XPiI:
13368 case AArch64::INCD_XPiI:
13369 case AArch64::INCH_XPiI:
13370 case AArch64::INCW_XPiI:
13371 case AArch64::SQDECB_XPiI:
13372 case AArch64::SQDECB_XPiWdI:
13373 case AArch64::SQDECD_XPiI:
13374 case AArch64::SQDECD_XPiWdI:
13375 case AArch64::SQDECH_XPiI:
13376 case AArch64::SQDECH_XPiWdI:
13377 case AArch64::SQDECW_XPiI:
13378 case AArch64::SQDECW_XPiWdI:
13379 case AArch64::SQINCB_XPiI:
13380 case AArch64::SQINCB_XPiWdI:
13381 case AArch64::SQINCD_XPiI:
13382 case AArch64::SQINCD_XPiWdI:
13383 case AArch64::SQINCH_XPiI:
13384 case AArch64::SQINCH_XPiWdI:
13385 case AArch64::SQINCW_XPiI:
13386 case AArch64::SQINCW_XPiWdI:
13387 case AArch64::UQDECB_WPiI:
13388 case AArch64::UQDECB_XPiI:
13389 case AArch64::UQDECD_WPiI:
13390 case AArch64::UQDECD_XPiI:
13391 case AArch64::UQDECH_WPiI:
13392 case AArch64::UQDECH_XPiI:
13393 case AArch64::UQDECW_WPiI:
13394 case AArch64::UQDECW_XPiI:
13395 case AArch64::UQINCB_WPiI:
13396 case AArch64::UQINCB_XPiI:
13397 case AArch64::UQINCD_WPiI:
13398 case AArch64::UQINCD_XPiI:
13399 case AArch64::UQINCH_WPiI:
13400 case AArch64::UQINCH_XPiI:
13401 case AArch64::UQINCW_WPiI:
13402 case AArch64::UQINCW_XPiI: {
13403 // op: Rdn
13404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13405 Value |= (op & 0x1f);
13406 // op: pattern
13407 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13408 Value |= (op & 0x1f) << 5;
13409 // op: imm4
13410 op = getSVEIncDecImm(MI, OpIdx: 3, Fixups, STI);
13411 Value |= (op & 0xf) << 16;
13412 break;
13413 }
13414 case AArch64::RETAASPPCr:
13415 case AArch64::RETABSPPCr: {
13416 // op: Rm
13417 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13418 Value |= (op & 0x1f);
13419 break;
13420 }
13421 case AArch64::CTERMEQ_WW:
13422 case AArch64::CTERMEQ_XX:
13423 case AArch64::CTERMNE_WW:
13424 case AArch64::CTERMNE_XX:
13425 case AArch64::FCMPDrr:
13426 case AArch64::FCMPEDrr:
13427 case AArch64::FCMPEHrr:
13428 case AArch64::FCMPESrr:
13429 case AArch64::FCMPHrr:
13430 case AArch64::FCMPSrr: {
13431 // op: Rm
13432 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13433 Value |= (op & 0x1f) << 16;
13434 // op: Rn
13435 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13436 Value |= (op & 0x1f) << 5;
13437 break;
13438 }
13439 case AArch64::CBBEQWrr:
13440 case AArch64::CBBGEWrr:
13441 case AArch64::CBBGTWrr:
13442 case AArch64::CBBHIWrr:
13443 case AArch64::CBBHSWrr:
13444 case AArch64::CBBNEWrr:
13445 case AArch64::CBEQWrr:
13446 case AArch64::CBEQXrr:
13447 case AArch64::CBGEWrr:
13448 case AArch64::CBGEXrr:
13449 case AArch64::CBGTWrr:
13450 case AArch64::CBGTXrr:
13451 case AArch64::CBHEQWrr:
13452 case AArch64::CBHGEWrr:
13453 case AArch64::CBHGTWrr:
13454 case AArch64::CBHHIWrr:
13455 case AArch64::CBHHSWrr:
13456 case AArch64::CBHIWrr:
13457 case AArch64::CBHIXrr:
13458 case AArch64::CBHNEWrr:
13459 case AArch64::CBHSWrr:
13460 case AArch64::CBHSXrr:
13461 case AArch64::CBNEWrr:
13462 case AArch64::CBNEXrr: {
13463 // op: Rm
13464 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13465 Value |= (op & 0x1f) << 16;
13466 // op: Rt
13467 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13468 Value |= (op & 0x1f);
13469 // op: target
13470 op = getCondCompBranchTargetOpValue(MI, OpIdx: 2, Fixups, STI);
13471 Value |= (op & 0x1ff) << 5;
13472 break;
13473 }
13474 case AArch64::INDEX_IR_B:
13475 case AArch64::INDEX_IR_D:
13476 case AArch64::INDEX_IR_H:
13477 case AArch64::INDEX_IR_S: {
13478 // op: Rm
13479 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13480 Value |= (op & 0x1f) << 16;
13481 // op: Zd
13482 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13483 Value |= (op & 0x1f);
13484 // op: imm5
13485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13486 Value |= (op & 0x1f) << 5;
13487 break;
13488 }
13489 case AArch64::INSR_ZR_B:
13490 case AArch64::INSR_ZR_D:
13491 case AArch64::INSR_ZR_H:
13492 case AArch64::INSR_ZR_S: {
13493 // op: Rm
13494 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13495 Value |= (op & 0x1f) << 5;
13496 // op: Zdn
13497 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13498 Value |= (op & 0x1f);
13499 break;
13500 }
13501 case AArch64::LD1B_2Z_STRIDED:
13502 case AArch64::LD1D_2Z_STRIDED:
13503 case AArch64::LD1H_2Z_STRIDED:
13504 case AArch64::LD1W_2Z_STRIDED:
13505 case AArch64::LDNT1B_2Z_STRIDED:
13506 case AArch64::LDNT1D_2Z_STRIDED:
13507 case AArch64::LDNT1H_2Z_STRIDED:
13508 case AArch64::LDNT1W_2Z_STRIDED:
13509 case AArch64::ST1B_2Z_STRIDED:
13510 case AArch64::ST1D_2Z_STRIDED:
13511 case AArch64::ST1H_2Z_STRIDED:
13512 case AArch64::ST1W_2Z_STRIDED:
13513 case AArch64::STNT1B_2Z_STRIDED:
13514 case AArch64::STNT1D_2Z_STRIDED:
13515 case AArch64::STNT1H_2Z_STRIDED:
13516 case AArch64::STNT1W_2Z_STRIDED: {
13517 // op: Rm
13518 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13519 Value |= (op & 0x1f) << 16;
13520 // op: PNg
13521 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
13522 Value |= (op & 0x7) << 10;
13523 // op: Rn
13524 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13525 Value |= (op & 0x1f) << 5;
13526 // op: Zt
13527 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
13528 Value |= (op & 0x8) << 1;
13529 Value |= (op & 0x7);
13530 break;
13531 }
13532 case AArch64::LD1B_4Z_STRIDED:
13533 case AArch64::LD1D_4Z_STRIDED:
13534 case AArch64::LD1H_4Z_STRIDED:
13535 case AArch64::LD1W_4Z_STRIDED:
13536 case AArch64::LDNT1B_4Z_STRIDED:
13537 case AArch64::LDNT1D_4Z_STRIDED:
13538 case AArch64::LDNT1H_4Z_STRIDED:
13539 case AArch64::LDNT1W_4Z_STRIDED:
13540 case AArch64::ST1B_4Z_STRIDED:
13541 case AArch64::ST1D_4Z_STRIDED:
13542 case AArch64::ST1H_4Z_STRIDED:
13543 case AArch64::ST1W_4Z_STRIDED:
13544 case AArch64::STNT1B_4Z_STRIDED:
13545 case AArch64::STNT1D_4Z_STRIDED:
13546 case AArch64::STNT1H_4Z_STRIDED:
13547 case AArch64::STNT1W_4Z_STRIDED: {
13548 // op: Rm
13549 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13550 Value |= (op & 0x1f) << 16;
13551 // op: PNg
13552 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
13553 Value |= (op & 0x7) << 10;
13554 // op: Rn
13555 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13556 Value |= (op & 0x1f) << 5;
13557 // op: Zt
13558 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
13559 Value |= (op & 0x4) << 2;
13560 Value |= (op & 0x3);
13561 break;
13562 }
13563 case AArch64::PRFB_PRR:
13564 case AArch64::PRFD_PRR:
13565 case AArch64::PRFH_PRR:
13566 case AArch64::PRFW_PRR: {
13567 // op: Rm
13568 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13569 Value |= (op & 0x1f) << 16;
13570 // op: Rn
13571 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13572 Value |= (op & 0x1f) << 5;
13573 // op: Pg
13574 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13575 Value |= (op & 0x7) << 10;
13576 // op: prfop
13577 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13578 Value |= (op & 0xf);
13579 break;
13580 }
13581 case AArch64::LD1_MXIPXX_H_H:
13582 case AArch64::LD1_MXIPXX_V_H:
13583 case AArch64::ST1_MXIPXX_H_H:
13584 case AArch64::ST1_MXIPXX_V_H: {
13585 // op: Rm
13586 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13587 Value |= (op & 0x1f) << 16;
13588 // op: Rv
13589 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13590 Value |= (op & 0x3) << 13;
13591 // op: Pg
13592 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13593 Value |= (op & 0x7) << 10;
13594 // op: Rn
13595 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13596 Value |= (op & 0x1f) << 5;
13597 // op: ZAt
13598 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13599 Value |= (op & 0x1) << 3;
13600 // op: imm
13601 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13602 Value |= (op & 0x7);
13603 break;
13604 }
13605 case AArch64::LD1_MXIPXX_H_S:
13606 case AArch64::LD1_MXIPXX_V_S:
13607 case AArch64::ST1_MXIPXX_H_S:
13608 case AArch64::ST1_MXIPXX_V_S: {
13609 // op: Rm
13610 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13611 Value |= (op & 0x1f) << 16;
13612 // op: Rv
13613 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13614 Value |= (op & 0x3) << 13;
13615 // op: Pg
13616 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13617 Value |= (op & 0x7) << 10;
13618 // op: Rn
13619 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13620 Value |= (op & 0x1f) << 5;
13621 // op: ZAt
13622 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13623 Value |= (op & 0x3) << 2;
13624 // op: imm
13625 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13626 Value |= (op & 0x3);
13627 break;
13628 }
13629 case AArch64::LD1_MXIPXX_H_D:
13630 case AArch64::LD1_MXIPXX_V_D:
13631 case AArch64::ST1_MXIPXX_H_D:
13632 case AArch64::ST1_MXIPXX_V_D: {
13633 // op: Rm
13634 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13635 Value |= (op & 0x1f) << 16;
13636 // op: Rv
13637 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13638 Value |= (op & 0x3) << 13;
13639 // op: Pg
13640 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13641 Value |= (op & 0x7) << 10;
13642 // op: Rn
13643 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13644 Value |= (op & 0x1f) << 5;
13645 // op: ZAt
13646 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13647 Value |= (op & 0x7) << 1;
13648 // op: imm
13649 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13650 Value |= (op & 0x1);
13651 break;
13652 }
13653 case AArch64::LD1_MXIPXX_H_Q:
13654 case AArch64::LD1_MXIPXX_V_Q:
13655 case AArch64::ST1_MXIPXX_H_Q:
13656 case AArch64::ST1_MXIPXX_V_Q: {
13657 // op: Rm
13658 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13659 Value |= (op & 0x1f) << 16;
13660 // op: Rv
13661 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13662 Value |= (op & 0x3) << 13;
13663 // op: Pg
13664 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13665 Value |= (op & 0x7) << 10;
13666 // op: Rn
13667 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13668 Value |= (op & 0x1f) << 5;
13669 // op: ZAt
13670 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13671 Value |= (op & 0xf);
13672 break;
13673 }
13674 case AArch64::LD1_MXIPXX_H_B:
13675 case AArch64::LD1_MXIPXX_V_B:
13676 case AArch64::ST1_MXIPXX_H_B:
13677 case AArch64::ST1_MXIPXX_V_B: {
13678 // op: Rm
13679 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13680 Value |= (op & 0x1f) << 16;
13681 // op: Rv
13682 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
13683 Value |= (op & 0x3) << 13;
13684 // op: Pg
13685 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13686 Value |= (op & 0x7) << 10;
13687 // op: Rn
13688 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13689 Value |= (op & 0x1f) << 5;
13690 // op: imm
13691 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13692 Value |= (op & 0xf);
13693 break;
13694 }
13695 case AArch64::AUTIASPPCr:
13696 case AArch64::AUTIBSPPCr:
13697 case AArch64::BLR:
13698 case AArch64::BLRAAZ:
13699 case AArch64::BLRABZ:
13700 case AArch64::BR:
13701 case AArch64::BRAAZ:
13702 case AArch64::BRABZ:
13703 case AArch64::RET:
13704 case AArch64::SETF16:
13705 case AArch64::SETF8: {
13706 // op: Rn
13707 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13708 Value |= (op & 0x1f) << 5;
13709 break;
13710 }
13711 case AArch64::CCMNWr:
13712 case AArch64::CCMNXr:
13713 case AArch64::CCMPWr:
13714 case AArch64::CCMPXr:
13715 case AArch64::FCCMPDrr:
13716 case AArch64::FCCMPEDrr:
13717 case AArch64::FCCMPEHrr:
13718 case AArch64::FCCMPESrr:
13719 case AArch64::FCCMPHrr:
13720 case AArch64::FCCMPSrr: {
13721 // op: Rn
13722 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13723 Value |= (op & 0x1f) << 5;
13724 // op: Rm
13725 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13726 Value |= (op & 0x1f) << 16;
13727 // op: nzcv
13728 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13729 Value |= (op & 0xf);
13730 // op: cond
13731 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13732 Value |= (op & 0xf) << 12;
13733 break;
13734 }
13735 case AArch64::BLRAA:
13736 case AArch64::BLRAB:
13737 case AArch64::BRAA:
13738 case AArch64::BRAB: {
13739 // op: Rn
13740 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13741 Value |= (op & 0x1f) << 5;
13742 // op: Rm
13743 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13744 Value |= (op & 0x1f);
13745 break;
13746 }
13747 case AArch64::CCMNWi:
13748 case AArch64::CCMNXi:
13749 case AArch64::CCMPWi:
13750 case AArch64::CCMPXi: {
13751 // op: Rn
13752 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13753 Value |= (op & 0x1f) << 5;
13754 // op: imm
13755 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13756 Value |= (op & 0x1f) << 16;
13757 // op: nzcv
13758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13759 Value |= (op & 0xf);
13760 // op: cond
13761 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13762 Value |= (op & 0xf) << 12;
13763 break;
13764 }
13765 case AArch64::RMIF: {
13766 // op: Rn
13767 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13768 Value |= (op & 0x1f) << 5;
13769 // op: imm
13770 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13771 Value |= (op & 0x3f) << 15;
13772 // op: mask
13773 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13774 Value |= (op & 0xf);
13775 break;
13776 }
13777 case AArch64::FCMPDri:
13778 case AArch64::FCMPEDri:
13779 case AArch64::FCMPEHri:
13780 case AArch64::FCMPESri:
13781 case AArch64::FCMPHri:
13782 case AArch64::FCMPSri: {
13783 // op: Rn
13784 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13785 Value |= (op & 0x1f) << 5;
13786 Value = fixOneOperandFPComparison(MI, EncodedValue: Value, STI);
13787 break;
13788 }
13789 case AArch64::LDR_TX:
13790 case AArch64::STR_TX: {
13791 // op: Rn
13792 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13793 Value |= (op & 0x1f) << 5;
13794 break;
13795 }
13796 case AArch64::LDAPRB:
13797 case AArch64::LDAPRH:
13798 case AArch64::LDAPRW:
13799 case AArch64::LDAPRX:
13800 case AArch64::LDGM:
13801 case AArch64::STGM:
13802 case AArch64::STZGM: {
13803 // op: Rn
13804 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13805 Value |= (op & 0x1f) << 5;
13806 // op: Rt
13807 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13808 Value |= (op & 0x1f);
13809 break;
13810 }
13811 case AArch64::ST2Gi:
13812 case AArch64::STGi:
13813 case AArch64::STZ2Gi:
13814 case AArch64::STZGi: {
13815 // op: Rn
13816 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13817 Value |= (op & 0x1f) << 5;
13818 // op: Rt
13819 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13820 Value |= (op & 0x1f);
13821 // op: offset
13822 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13823 Value |= (op & 0x1ff) << 12;
13824 break;
13825 }
13826 case AArch64::DUP_ZR_B:
13827 case AArch64::DUP_ZR_D:
13828 case AArch64::DUP_ZR_H:
13829 case AArch64::DUP_ZR_S: {
13830 // op: Rn
13831 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13832 Value |= (op & 0x1f) << 5;
13833 // op: Zd
13834 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13835 Value |= (op & 0x1f);
13836 break;
13837 }
13838 case AArch64::INDEX_RI_B:
13839 case AArch64::INDEX_RI_D:
13840 case AArch64::INDEX_RI_H:
13841 case AArch64::INDEX_RI_S: {
13842 // op: Rn
13843 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13844 Value |= (op & 0x1f) << 5;
13845 // op: Zd
13846 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13847 Value |= (op & 0x1f);
13848 // op: imm5
13849 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13850 Value |= (op & 0x1f) << 16;
13851 break;
13852 }
13853 case AArch64::LDR_ZXI:
13854 case AArch64::STR_ZXI: {
13855 // op: Rn
13856 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13857 Value |= (op & 0x1f) << 5;
13858 // op: Zt
13859 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13860 Value |= (op & 0x1f);
13861 // op: imm9
13862 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13863 Value |= (op & 0x1f8) << 13;
13864 Value |= (op & 0x7) << 10;
13865 break;
13866 }
13867 case AArch64::PRFB_PRI:
13868 case AArch64::PRFD_PRI:
13869 case AArch64::PRFH_PRI:
13870 case AArch64::PRFW_PRI: {
13871 // op: Rn
13872 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13873 Value |= (op & 0x1f) << 5;
13874 // op: Pg
13875 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13876 Value |= (op & 0x7) << 10;
13877 // op: imm6
13878 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13879 Value |= (op & 0x3f) << 16;
13880 // op: prfop
13881 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13882 Value |= (op & 0xf);
13883 break;
13884 }
13885 case AArch64::LDG:
13886 case AArch64::ST2GPostIndex:
13887 case AArch64::ST2GPreIndex:
13888 case AArch64::STGPostIndex:
13889 case AArch64::STGPreIndex:
13890 case AArch64::STZ2GPostIndex:
13891 case AArch64::STZ2GPreIndex:
13892 case AArch64::STZGPostIndex:
13893 case AArch64::STZGPreIndex: {
13894 // op: Rn
13895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13896 Value |= (op & 0x1f) << 5;
13897 // op: Rt
13898 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13899 Value |= (op & 0x1f);
13900 // op: offset
13901 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13902 Value |= (op & 0x1ff) << 12;
13903 break;
13904 }
13905 case AArch64::MOVA_MXI2Z_H_H:
13906 case AArch64::MOVA_MXI2Z_V_H: {
13907 // op: Rs
13908 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13909 Value |= (op & 0x3) << 13;
13910 // op: Zn
13911 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13912 Value |= (op & 0xf) << 6;
13913 // op: ZAd
13914 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13915 Value |= (op & 0x1) << 2;
13916 // op: imm
13917 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13918 Value |= (op & 0x3);
13919 break;
13920 }
13921 case AArch64::MOVA_MXI2Z_H_S:
13922 case AArch64::MOVA_MXI2Z_V_S: {
13923 // op: Rs
13924 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13925 Value |= (op & 0x3) << 13;
13926 // op: Zn
13927 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13928 Value |= (op & 0xf) << 6;
13929 // op: ZAd
13930 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13931 Value |= (op & 0x3) << 1;
13932 // op: imm
13933 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13934 Value |= (op & 0x1);
13935 break;
13936 }
13937 case AArch64::MOVA_MXI2Z_H_D:
13938 case AArch64::MOVA_MXI2Z_V_D: {
13939 // op: Rs
13940 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13941 Value |= (op & 0x3) << 13;
13942 // op: Zn
13943 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13944 Value |= (op & 0xf) << 6;
13945 // op: ZAd
13946 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13947 Value |= (op & 0x7);
13948 break;
13949 }
13950 case AArch64::MOVA_MXI2Z_H_B:
13951 case AArch64::MOVA_MXI2Z_V_B: {
13952 // op: Rs
13953 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13954 Value |= (op & 0x3) << 13;
13955 // op: Zn
13956 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
13957 Value |= (op & 0xf) << 6;
13958 // op: imm
13959 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13960 Value |= (op & 0x7);
13961 break;
13962 }
13963 case AArch64::MOVA_MXI4Z_H_H:
13964 case AArch64::MOVA_MXI4Z_V_H: {
13965 // op: Rs
13966 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13967 Value |= (op & 0x3) << 13;
13968 // op: Zn
13969 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
13970 Value |= (op & 0x7) << 7;
13971 // op: ZAd
13972 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13973 Value |= (op & 0x1) << 1;
13974 // op: imm
13975 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13976 Value |= (op & 0x1);
13977 break;
13978 }
13979 case AArch64::MOVA_MXI4Z_H_S:
13980 case AArch64::MOVA_MXI4Z_V_S: {
13981 // op: Rs
13982 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13983 Value |= (op & 0x3) << 13;
13984 // op: Zn
13985 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
13986 Value |= (op & 0x7) << 7;
13987 // op: ZAd
13988 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13989 Value |= (op & 0x3);
13990 break;
13991 }
13992 case AArch64::MOVA_MXI4Z_H_D:
13993 case AArch64::MOVA_MXI4Z_V_D: {
13994 // op: Rs
13995 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
13996 Value |= (op & 0x3) << 13;
13997 // op: Zn
13998 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
13999 Value |= (op & 0x7) << 7;
14000 // op: ZAd
14001 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14002 Value |= (op & 0x7);
14003 break;
14004 }
14005 case AArch64::MOVA_MXI4Z_H_B:
14006 case AArch64::MOVA_MXI4Z_V_B: {
14007 // op: Rs
14008 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
14009 Value |= (op & 0x3) << 13;
14010 // op: Zn
14011 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14012 Value |= (op & 0x7) << 7;
14013 // op: imm
14014 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14015 Value |= (op & 0x3);
14016 break;
14017 }
14018 case AArch64::MOVAZ_ZMI_H_H:
14019 case AArch64::MOVAZ_ZMI_V_H: {
14020 // op: Rs
14021 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14022 Value |= (op & 0x3) << 13;
14023 // op: Zd
14024 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14025 Value |= (op & 0x1f);
14026 // op: ZAn
14027 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14028 Value |= (op & 0x1) << 8;
14029 // op: imm
14030 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14031 Value |= (op & 0x7) << 5;
14032 break;
14033 }
14034 case AArch64::MOVAZ_ZMI_H_S:
14035 case AArch64::MOVAZ_ZMI_V_S: {
14036 // op: Rs
14037 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14038 Value |= (op & 0x3) << 13;
14039 // op: Zd
14040 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14041 Value |= (op & 0x1f);
14042 // op: ZAn
14043 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14044 Value |= (op & 0x3) << 7;
14045 // op: imm
14046 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14047 Value |= (op & 0x3) << 5;
14048 break;
14049 }
14050 case AArch64::MOVAZ_ZMI_H_D:
14051 case AArch64::MOVAZ_ZMI_V_D: {
14052 // op: Rs
14053 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14054 Value |= (op & 0x3) << 13;
14055 // op: Zd
14056 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14057 Value |= (op & 0x1f);
14058 // op: ZAn
14059 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14060 Value |= (op & 0x7) << 6;
14061 // op: imm
14062 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14063 Value |= (op & 0x1) << 5;
14064 break;
14065 }
14066 case AArch64::MOVAZ_ZMI_H_Q:
14067 case AArch64::MOVAZ_ZMI_V_Q: {
14068 // op: Rs
14069 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14070 Value |= (op & 0x3) << 13;
14071 // op: Zd
14072 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14073 Value |= (op & 0x1f);
14074 // op: ZAn
14075 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14076 Value |= (op & 0xf) << 5;
14077 break;
14078 }
14079 case AArch64::MOVAZ_ZMI_H_B:
14080 case AArch64::MOVAZ_ZMI_V_B: {
14081 // op: Rs
14082 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
14083 Value |= (op & 0x3) << 13;
14084 // op: Zd
14085 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14086 Value |= (op & 0x1f);
14087 // op: imm
14088 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14089 Value |= (op & 0xf) << 5;
14090 break;
14091 }
14092 case AArch64::MOVA_VG2_2ZMXI: {
14093 // op: Rs
14094 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14095 Value |= (op & 0x3) << 13;
14096 // op: imm
14097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14098 Value |= (op & 0x7) << 5;
14099 // op: Zd
14100 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
14101 Value |= (op & 0xf) << 1;
14102 break;
14103 }
14104 case AArch64::MOVA_VG4_4ZMXI: {
14105 // op: Rs
14106 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14107 Value |= (op & 0x3) << 13;
14108 // op: imm
14109 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14110 Value |= (op & 0x7) << 5;
14111 // op: Zd
14112 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
14113 Value |= (op & 0x7) << 2;
14114 break;
14115 }
14116 case AArch64::MOVA_VG2_MXI2Z: {
14117 // op: Rs
14118 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14119 Value |= (op & 0x3) << 13;
14120 // op: imm
14121 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14122 Value |= (op & 0x7);
14123 // op: Zn
14124 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
14125 Value |= (op & 0xf) << 6;
14126 break;
14127 }
14128 case AArch64::MOVA_VG4_MXI4Z: {
14129 // op: Rs
14130 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
14131 Value |= (op & 0x3) << 13;
14132 // op: imm
14133 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14134 Value |= (op & 0x7);
14135 // op: Zn
14136 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
14137 Value |= (op & 0x7) << 7;
14138 break;
14139 }
14140 case AArch64::MOVAZ_VG2_2ZMXI: {
14141 // op: Rs
14142 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 3, Fixups, STI);
14143 Value |= (op & 0x3) << 13;
14144 // op: imm
14145 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14146 Value |= (op & 0x7) << 5;
14147 // op: Zd
14148 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
14149 Value |= (op & 0xf) << 1;
14150 break;
14151 }
14152 case AArch64::MOVAZ_VG4_4ZMXI: {
14153 // op: Rs
14154 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 3, Fixups, STI);
14155 Value |= (op & 0x3) << 13;
14156 // op: imm
14157 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
14158 Value |= (op & 0x7) << 5;
14159 // op: Zd
14160 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
14161 Value |= (op & 0x7) << 2;
14162 break;
14163 }
14164 case AArch64::STBFADD:
14165 case AArch64::STBFADDL:
14166 case AArch64::STBFMAX:
14167 case AArch64::STBFMAXL:
14168 case AArch64::STBFMAXNM:
14169 case AArch64::STBFMAXNML:
14170 case AArch64::STBFMIN:
14171 case AArch64::STBFMINL:
14172 case AArch64::STBFMINNM:
14173 case AArch64::STBFMINNML:
14174 case AArch64::STFADDD:
14175 case AArch64::STFADDH:
14176 case AArch64::STFADDLD:
14177 case AArch64::STFADDLH:
14178 case AArch64::STFADDLS:
14179 case AArch64::STFADDS:
14180 case AArch64::STFMAXD:
14181 case AArch64::STFMAXH:
14182 case AArch64::STFMAXLD:
14183 case AArch64::STFMAXLH:
14184 case AArch64::STFMAXLS:
14185 case AArch64::STFMAXNMD:
14186 case AArch64::STFMAXNMH:
14187 case AArch64::STFMAXNMLD:
14188 case AArch64::STFMAXNMLH:
14189 case AArch64::STFMAXNMLS:
14190 case AArch64::STFMAXNMS:
14191 case AArch64::STFMAXS:
14192 case AArch64::STFMIND:
14193 case AArch64::STFMINH:
14194 case AArch64::STFMINLD:
14195 case AArch64::STFMINLH:
14196 case AArch64::STFMINLS:
14197 case AArch64::STFMINNMD:
14198 case AArch64::STFMINNMH:
14199 case AArch64::STFMINNMLD:
14200 case AArch64::STFMINNMLH:
14201 case AArch64::STFMINNMLS:
14202 case AArch64::STFMINNMS:
14203 case AArch64::STFMINS: {
14204 // op: Rs
14205 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14206 Value |= (op & 0x1f) << 16;
14207 // op: Rn
14208 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14209 Value |= (op & 0x1f) << 5;
14210 break;
14211 }
14212 case AArch64::LDADDAB:
14213 case AArch64::LDADDAH:
14214 case AArch64::LDADDALB:
14215 case AArch64::LDADDALH:
14216 case AArch64::LDADDALW:
14217 case AArch64::LDADDALX:
14218 case AArch64::LDADDAW:
14219 case AArch64::LDADDAX:
14220 case AArch64::LDADDB:
14221 case AArch64::LDADDH:
14222 case AArch64::LDADDLB:
14223 case AArch64::LDADDLH:
14224 case AArch64::LDADDLW:
14225 case AArch64::LDADDLX:
14226 case AArch64::LDADDW:
14227 case AArch64::LDADDX:
14228 case AArch64::LDCLRAB:
14229 case AArch64::LDCLRAH:
14230 case AArch64::LDCLRALB:
14231 case AArch64::LDCLRALH:
14232 case AArch64::LDCLRALW:
14233 case AArch64::LDCLRALX:
14234 case AArch64::LDCLRAW:
14235 case AArch64::LDCLRAX:
14236 case AArch64::LDCLRB:
14237 case AArch64::LDCLRH:
14238 case AArch64::LDCLRLB:
14239 case AArch64::LDCLRLH:
14240 case AArch64::LDCLRLW:
14241 case AArch64::LDCLRLX:
14242 case AArch64::LDCLRW:
14243 case AArch64::LDCLRX:
14244 case AArch64::LDEORAB:
14245 case AArch64::LDEORAH:
14246 case AArch64::LDEORALB:
14247 case AArch64::LDEORALH:
14248 case AArch64::LDEORALW:
14249 case AArch64::LDEORALX:
14250 case AArch64::LDEORAW:
14251 case AArch64::LDEORAX:
14252 case AArch64::LDEORB:
14253 case AArch64::LDEORH:
14254 case AArch64::LDEORLB:
14255 case AArch64::LDEORLH:
14256 case AArch64::LDEORLW:
14257 case AArch64::LDEORLX:
14258 case AArch64::LDEORW:
14259 case AArch64::LDEORX:
14260 case AArch64::LDSETAB:
14261 case AArch64::LDSETAH:
14262 case AArch64::LDSETALB:
14263 case AArch64::LDSETALH:
14264 case AArch64::LDSETALW:
14265 case AArch64::LDSETALX:
14266 case AArch64::LDSETAW:
14267 case AArch64::LDSETAX:
14268 case AArch64::LDSETB:
14269 case AArch64::LDSETH:
14270 case AArch64::LDSETLB:
14271 case AArch64::LDSETLH:
14272 case AArch64::LDSETLW:
14273 case AArch64::LDSETLX:
14274 case AArch64::LDSETW:
14275 case AArch64::LDSETX:
14276 case AArch64::LDSMAXAB:
14277 case AArch64::LDSMAXAH:
14278 case AArch64::LDSMAXALB:
14279 case AArch64::LDSMAXALH:
14280 case AArch64::LDSMAXALW:
14281 case AArch64::LDSMAXALX:
14282 case AArch64::LDSMAXAW:
14283 case AArch64::LDSMAXAX:
14284 case AArch64::LDSMAXB:
14285 case AArch64::LDSMAXH:
14286 case AArch64::LDSMAXLB:
14287 case AArch64::LDSMAXLH:
14288 case AArch64::LDSMAXLW:
14289 case AArch64::LDSMAXLX:
14290 case AArch64::LDSMAXW:
14291 case AArch64::LDSMAXX:
14292 case AArch64::LDSMINAB:
14293 case AArch64::LDSMINAH:
14294 case AArch64::LDSMINALB:
14295 case AArch64::LDSMINALH:
14296 case AArch64::LDSMINALW:
14297 case AArch64::LDSMINALX:
14298 case AArch64::LDSMINAW:
14299 case AArch64::LDSMINAX:
14300 case AArch64::LDSMINB:
14301 case AArch64::LDSMINH:
14302 case AArch64::LDSMINLB:
14303 case AArch64::LDSMINLH:
14304 case AArch64::LDSMINLW:
14305 case AArch64::LDSMINLX:
14306 case AArch64::LDSMINW:
14307 case AArch64::LDSMINX:
14308 case AArch64::LDTADDALW:
14309 case AArch64::LDTADDALX:
14310 case AArch64::LDTADDAW:
14311 case AArch64::LDTADDAX:
14312 case AArch64::LDTADDLW:
14313 case AArch64::LDTADDLX:
14314 case AArch64::LDTADDW:
14315 case AArch64::LDTADDX:
14316 case AArch64::LDTCLRALW:
14317 case AArch64::LDTCLRALX:
14318 case AArch64::LDTCLRAW:
14319 case AArch64::LDTCLRAX:
14320 case AArch64::LDTCLRLW:
14321 case AArch64::LDTCLRLX:
14322 case AArch64::LDTCLRW:
14323 case AArch64::LDTCLRX:
14324 case AArch64::LDTSETALW:
14325 case AArch64::LDTSETALX:
14326 case AArch64::LDTSETAW:
14327 case AArch64::LDTSETAX:
14328 case AArch64::LDTSETLW:
14329 case AArch64::LDTSETLX:
14330 case AArch64::LDTSETW:
14331 case AArch64::LDTSETX:
14332 case AArch64::LDUMAXAB:
14333 case AArch64::LDUMAXAH:
14334 case AArch64::LDUMAXALB:
14335 case AArch64::LDUMAXALH:
14336 case AArch64::LDUMAXALW:
14337 case AArch64::LDUMAXALX:
14338 case AArch64::LDUMAXAW:
14339 case AArch64::LDUMAXAX:
14340 case AArch64::LDUMAXB:
14341 case AArch64::LDUMAXH:
14342 case AArch64::LDUMAXLB:
14343 case AArch64::LDUMAXLH:
14344 case AArch64::LDUMAXLW:
14345 case AArch64::LDUMAXLX:
14346 case AArch64::LDUMAXW:
14347 case AArch64::LDUMAXX:
14348 case AArch64::LDUMINAB:
14349 case AArch64::LDUMINAH:
14350 case AArch64::LDUMINALB:
14351 case AArch64::LDUMINALH:
14352 case AArch64::LDUMINALW:
14353 case AArch64::LDUMINALX:
14354 case AArch64::LDUMINAW:
14355 case AArch64::LDUMINAX:
14356 case AArch64::LDUMINB:
14357 case AArch64::LDUMINH:
14358 case AArch64::LDUMINLB:
14359 case AArch64::LDUMINLH:
14360 case AArch64::LDUMINLW:
14361 case AArch64::LDUMINLX:
14362 case AArch64::LDUMINW:
14363 case AArch64::LDUMINX:
14364 case AArch64::RCWCLR:
14365 case AArch64::RCWCLRA:
14366 case AArch64::RCWCLRAL:
14367 case AArch64::RCWCLRL:
14368 case AArch64::RCWCLRS:
14369 case AArch64::RCWCLRSA:
14370 case AArch64::RCWCLRSAL:
14371 case AArch64::RCWCLRSL:
14372 case AArch64::RCWSET:
14373 case AArch64::RCWSETA:
14374 case AArch64::RCWSETAL:
14375 case AArch64::RCWSETL:
14376 case AArch64::RCWSETS:
14377 case AArch64::RCWSETSA:
14378 case AArch64::RCWSETSAL:
14379 case AArch64::RCWSETSL:
14380 case AArch64::RCWSWP:
14381 case AArch64::RCWSWPA:
14382 case AArch64::RCWSWPAL:
14383 case AArch64::RCWSWPL:
14384 case AArch64::RCWSWPS:
14385 case AArch64::RCWSWPSA:
14386 case AArch64::RCWSWPSAL:
14387 case AArch64::RCWSWPSL:
14388 case AArch64::SWPAB:
14389 case AArch64::SWPAH:
14390 case AArch64::SWPALB:
14391 case AArch64::SWPALH:
14392 case AArch64::SWPALW:
14393 case AArch64::SWPALX:
14394 case AArch64::SWPAW:
14395 case AArch64::SWPAX:
14396 case AArch64::SWPB:
14397 case AArch64::SWPH:
14398 case AArch64::SWPLB:
14399 case AArch64::SWPLH:
14400 case AArch64::SWPLW:
14401 case AArch64::SWPLX:
14402 case AArch64::SWPTALW:
14403 case AArch64::SWPTALX:
14404 case AArch64::SWPTAW:
14405 case AArch64::SWPTAX:
14406 case AArch64::SWPTLW:
14407 case AArch64::SWPTLX:
14408 case AArch64::SWPTW:
14409 case AArch64::SWPTX:
14410 case AArch64::SWPW:
14411 case AArch64::SWPX: {
14412 // op: Rs
14413 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14414 Value |= (op & 0x1f) << 16;
14415 // op: Rn
14416 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14417 Value |= (op & 0x1f) << 5;
14418 // op: Rt
14419 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14420 Value |= (op & 0x1f);
14421 break;
14422 }
14423 case AArch64::CASAB:
14424 case AArch64::CASAH:
14425 case AArch64::CASALB:
14426 case AArch64::CASALH:
14427 case AArch64::CASALTX:
14428 case AArch64::CASALW:
14429 case AArch64::CASALX:
14430 case AArch64::CASATX:
14431 case AArch64::CASAW:
14432 case AArch64::CASAX:
14433 case AArch64::CASB:
14434 case AArch64::CASH:
14435 case AArch64::CASLB:
14436 case AArch64::CASLH:
14437 case AArch64::CASLTX:
14438 case AArch64::CASLW:
14439 case AArch64::CASLX:
14440 case AArch64::CASPALTX:
14441 case AArch64::CASPALW:
14442 case AArch64::CASPALX:
14443 case AArch64::CASPATX:
14444 case AArch64::CASPAW:
14445 case AArch64::CASPAX:
14446 case AArch64::CASPLTX:
14447 case AArch64::CASPLW:
14448 case AArch64::CASPLX:
14449 case AArch64::CASPTX:
14450 case AArch64::CASPW:
14451 case AArch64::CASPX:
14452 case AArch64::CASTX:
14453 case AArch64::CASW:
14454 case AArch64::CASX:
14455 case AArch64::RCWCAS:
14456 case AArch64::RCWCASA:
14457 case AArch64::RCWCASAL:
14458 case AArch64::RCWCASL:
14459 case AArch64::RCWCASP:
14460 case AArch64::RCWCASPA:
14461 case AArch64::RCWCASPAL:
14462 case AArch64::RCWCASPL:
14463 case AArch64::RCWSCAS:
14464 case AArch64::RCWSCASA:
14465 case AArch64::RCWSCASAL:
14466 case AArch64::RCWSCASL:
14467 case AArch64::RCWSCASP:
14468 case AArch64::RCWSCASPA:
14469 case AArch64::RCWSCASPAL:
14470 case AArch64::RCWSCASPL: {
14471 // op: Rs
14472 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14473 Value |= (op & 0x1f) << 16;
14474 // op: Rn
14475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14476 Value |= (op & 0x1f) << 5;
14477 // op: Rt
14478 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14479 Value |= (op & 0x1f);
14480 break;
14481 }
14482 case AArch64::GCSPOPM:
14483 case AArch64::GCSPUSHM:
14484 case AArch64::GCSSS1:
14485 case AArch64::GCSSS2:
14486 case AArch64::WFET:
14487 case AArch64::WFIT: {
14488 // op: Rt
14489 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14490 Value |= (op & 0x1f);
14491 break;
14492 }
14493 case AArch64::GCSSTR:
14494 case AArch64::GCSSTTR:
14495 case AArch64::LD64B:
14496 case AArch64::ST64B: {
14497 // op: Rt
14498 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14499 Value |= (op & 0x1f);
14500 // op: Rn
14501 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14502 Value |= (op & 0x1f) << 5;
14503 break;
14504 }
14505 case AArch64::LDRBBroW:
14506 case AArch64::LDRBBroX:
14507 case AArch64::LDRBroW:
14508 case AArch64::LDRBroX:
14509 case AArch64::LDRDroW:
14510 case AArch64::LDRDroX:
14511 case AArch64::LDRHHroW:
14512 case AArch64::LDRHHroX:
14513 case AArch64::LDRHroW:
14514 case AArch64::LDRHroX:
14515 case AArch64::LDRQroW:
14516 case AArch64::LDRQroX:
14517 case AArch64::LDRSBWroW:
14518 case AArch64::LDRSBWroX:
14519 case AArch64::LDRSBXroW:
14520 case AArch64::LDRSBXroX:
14521 case AArch64::LDRSHWroW:
14522 case AArch64::LDRSHWroX:
14523 case AArch64::LDRSHXroW:
14524 case AArch64::LDRSHXroX:
14525 case AArch64::LDRSWroW:
14526 case AArch64::LDRSWroX:
14527 case AArch64::LDRSroW:
14528 case AArch64::LDRSroX:
14529 case AArch64::LDRWroW:
14530 case AArch64::LDRWroX:
14531 case AArch64::LDRXroW:
14532 case AArch64::LDRXroX:
14533 case AArch64::PRFMroW:
14534 case AArch64::PRFMroX:
14535 case AArch64::STRBBroW:
14536 case AArch64::STRBBroX:
14537 case AArch64::STRBroW:
14538 case AArch64::STRBroX:
14539 case AArch64::STRDroW:
14540 case AArch64::STRDroX:
14541 case AArch64::STRHHroW:
14542 case AArch64::STRHHroX:
14543 case AArch64::STRHroW:
14544 case AArch64::STRHroX:
14545 case AArch64::STRQroW:
14546 case AArch64::STRQroX:
14547 case AArch64::STRSroW:
14548 case AArch64::STRSroX:
14549 case AArch64::STRWroW:
14550 case AArch64::STRWroX:
14551 case AArch64::STRXroW:
14552 case AArch64::STRXroX: {
14553 // op: Rt
14554 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14555 Value |= (op & 0x1f);
14556 // op: Rn
14557 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14558 Value |= (op & 0x1f) << 5;
14559 // op: Rm
14560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14561 Value |= (op & 0x1f) << 16;
14562 // op: extend
14563 op = getMemExtendOpValue(MI, OpIdx: 3, Fixups, STI);
14564 Value |= (op & 0x2) << 14;
14565 Value |= (op & 0x1) << 12;
14566 break;
14567 }
14568 case AArch64::LDRQui:
14569 case AArch64::STRQui: {
14570 // op: Rt
14571 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14572 Value |= (op & 0x1f);
14573 // op: Rn
14574 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14575 Value |= (op & 0x1f) << 5;
14576 // op: offset
14577 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale16>(MI, OpIdx: 2, Fixups, STI);
14578 Value |= (op & 0xfff) << 10;
14579 break;
14580 }
14581 case AArch64::LDRBBui:
14582 case AArch64::LDRBui:
14583 case AArch64::LDRSBWui:
14584 case AArch64::LDRSBXui:
14585 case AArch64::STRBBui:
14586 case AArch64::STRBui: {
14587 // op: Rt
14588 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14589 Value |= (op & 0x1f);
14590 // op: Rn
14591 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14592 Value |= (op & 0x1f) << 5;
14593 // op: offset
14594 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale1>(MI, OpIdx: 2, Fixups, STI);
14595 Value |= (op & 0xfff) << 10;
14596 break;
14597 }
14598 case AArch64::LDRHHui:
14599 case AArch64::LDRHui:
14600 case AArch64::LDRSHWui:
14601 case AArch64::LDRSHXui:
14602 case AArch64::STRHHui:
14603 case AArch64::STRHui: {
14604 // op: Rt
14605 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14606 Value |= (op & 0x1f);
14607 // op: Rn
14608 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14609 Value |= (op & 0x1f) << 5;
14610 // op: offset
14611 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale2>(MI, OpIdx: 2, Fixups, STI);
14612 Value |= (op & 0xfff) << 10;
14613 break;
14614 }
14615 case AArch64::LDRSWui:
14616 case AArch64::LDRSui:
14617 case AArch64::LDRWui:
14618 case AArch64::STRSui:
14619 case AArch64::STRWui: {
14620 // op: Rt
14621 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14622 Value |= (op & 0x1f);
14623 // op: Rn
14624 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14625 Value |= (op & 0x1f) << 5;
14626 // op: offset
14627 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale4>(MI, OpIdx: 2, Fixups, STI);
14628 Value |= (op & 0xfff) << 10;
14629 break;
14630 }
14631 case AArch64::LDRDui:
14632 case AArch64::LDRXui:
14633 case AArch64::PRFMui:
14634 case AArch64::STRDui:
14635 case AArch64::STRXui: {
14636 // op: Rt
14637 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14638 Value |= (op & 0x1f);
14639 // op: Rn
14640 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14641 Value |= (op & 0x1f) << 5;
14642 // op: offset
14643 op = getLdStUImm12OpValue<AArch64::fixup_aarch64_ldst_imm12_scale8>(MI, OpIdx: 2, Fixups, STI);
14644 Value |= (op & 0xfff) << 10;
14645 break;
14646 }
14647 case AArch64::LDAPURBi:
14648 case AArch64::LDAPURHi:
14649 case AArch64::LDAPURSBWi:
14650 case AArch64::LDAPURSBXi:
14651 case AArch64::LDAPURSHWi:
14652 case AArch64::LDAPURSHXi:
14653 case AArch64::LDAPURSWi:
14654 case AArch64::LDAPURXi:
14655 case AArch64::LDAPURi:
14656 case AArch64::LDTRBi:
14657 case AArch64::LDTRHi:
14658 case AArch64::LDTRSBWi:
14659 case AArch64::LDTRSBXi:
14660 case AArch64::LDTRSHWi:
14661 case AArch64::LDTRSHXi:
14662 case AArch64::LDTRSWi:
14663 case AArch64::LDTRWi:
14664 case AArch64::LDTRXi:
14665 case AArch64::LDURBBi:
14666 case AArch64::LDURBi:
14667 case AArch64::LDURDi:
14668 case AArch64::LDURHHi:
14669 case AArch64::LDURHi:
14670 case AArch64::LDURQi:
14671 case AArch64::LDURSBWi:
14672 case AArch64::LDURSBXi:
14673 case AArch64::LDURSHWi:
14674 case AArch64::LDURSHXi:
14675 case AArch64::LDURSWi:
14676 case AArch64::LDURSi:
14677 case AArch64::LDURWi:
14678 case AArch64::LDURXi:
14679 case AArch64::PRFUMi:
14680 case AArch64::STLURBi:
14681 case AArch64::STLURHi:
14682 case AArch64::STLURWi:
14683 case AArch64::STLURXi:
14684 case AArch64::STTRBi:
14685 case AArch64::STTRHi:
14686 case AArch64::STTRWi:
14687 case AArch64::STTRXi:
14688 case AArch64::STURBBi:
14689 case AArch64::STURBi:
14690 case AArch64::STURDi:
14691 case AArch64::STURHHi:
14692 case AArch64::STURHi:
14693 case AArch64::STURQi:
14694 case AArch64::STURSi:
14695 case AArch64::STURWi:
14696 case AArch64::STURXi: {
14697 // op: Rt
14698 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14699 Value |= (op & 0x1f);
14700 // op: Rn
14701 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14702 Value |= (op & 0x1f) << 5;
14703 // op: offset
14704 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14705 Value |= (op & 0x1ff) << 12;
14706 break;
14707 }
14708 case AArch64::LDAPURbi:
14709 case AArch64::LDAPURdi:
14710 case AArch64::LDAPURhi:
14711 case AArch64::LDAPURqi:
14712 case AArch64::LDAPURsi:
14713 case AArch64::STLURbi:
14714 case AArch64::STLURdi:
14715 case AArch64::STLURhi:
14716 case AArch64::STLURqi:
14717 case AArch64::STLURsi: {
14718 // op: Rt
14719 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14720 Value |= (op & 0x1f);
14721 // op: Rn
14722 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14723 Value |= (op & 0x1f) << 5;
14724 // op: simm
14725 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14726 Value |= (op & 0x1ff) << 12;
14727 break;
14728 }
14729 case AArch64::LDARB:
14730 case AArch64::LDARH:
14731 case AArch64::LDARW:
14732 case AArch64::LDARX:
14733 case AArch64::LDATXRW:
14734 case AArch64::LDATXRX:
14735 case AArch64::LDAXRB:
14736 case AArch64::LDAXRH:
14737 case AArch64::LDAXRW:
14738 case AArch64::LDAXRX:
14739 case AArch64::LDLARB:
14740 case AArch64::LDLARH:
14741 case AArch64::LDLARW:
14742 case AArch64::LDLARX:
14743 case AArch64::LDTXRWr:
14744 case AArch64::LDTXRXr:
14745 case AArch64::LDXRB:
14746 case AArch64::LDXRH:
14747 case AArch64::LDXRW:
14748 case AArch64::LDXRX:
14749 case AArch64::STLLRB:
14750 case AArch64::STLLRH:
14751 case AArch64::STLLRW:
14752 case AArch64::STLLRX:
14753 case AArch64::STLRB:
14754 case AArch64::STLRH:
14755 case AArch64::STLRW:
14756 case AArch64::STLRX: {
14757 // op: Rt
14758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14759 Value |= (op & 0x1f);
14760 // op: Rn
14761 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14762 Value |= (op & 0x1f) << 5;
14763 Value = fixLoadStoreExclusive<0,0>(MI, EncodedValue: Value, STI);
14764 break;
14765 }
14766 case AArch64::LDIAPPW:
14767 case AArch64::LDIAPPX:
14768 case AArch64::STILPW:
14769 case AArch64::STILPX: {
14770 // op: Rt
14771 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14772 Value |= (op & 0x1f);
14773 // op: Rn
14774 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14775 Value |= (op & 0x1f) << 5;
14776 // op: Rt2
14777 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14778 Value |= (op & 0x1f) << 16;
14779 break;
14780 }
14781 case AArch64::LDBFADD:
14782 case AArch64::LDBFADDA:
14783 case AArch64::LDBFADDAL:
14784 case AArch64::LDBFADDL:
14785 case AArch64::LDBFMAX:
14786 case AArch64::LDBFMAXA:
14787 case AArch64::LDBFMAXAL:
14788 case AArch64::LDBFMAXL:
14789 case AArch64::LDBFMAXNM:
14790 case AArch64::LDBFMAXNMA:
14791 case AArch64::LDBFMAXNMAL:
14792 case AArch64::LDBFMAXNML:
14793 case AArch64::LDBFMIN:
14794 case AArch64::LDBFMINA:
14795 case AArch64::LDBFMINAL:
14796 case AArch64::LDBFMINL:
14797 case AArch64::LDBFMINNM:
14798 case AArch64::LDBFMINNMA:
14799 case AArch64::LDBFMINNMAL:
14800 case AArch64::LDBFMINNML:
14801 case AArch64::LDFADDAD:
14802 case AArch64::LDFADDAH:
14803 case AArch64::LDFADDALD:
14804 case AArch64::LDFADDALH:
14805 case AArch64::LDFADDALS:
14806 case AArch64::LDFADDAS:
14807 case AArch64::LDFADDD:
14808 case AArch64::LDFADDH:
14809 case AArch64::LDFADDLD:
14810 case AArch64::LDFADDLH:
14811 case AArch64::LDFADDLS:
14812 case AArch64::LDFADDS:
14813 case AArch64::LDFMAXAD:
14814 case AArch64::LDFMAXAH:
14815 case AArch64::LDFMAXALD:
14816 case AArch64::LDFMAXALH:
14817 case AArch64::LDFMAXALS:
14818 case AArch64::LDFMAXAS:
14819 case AArch64::LDFMAXD:
14820 case AArch64::LDFMAXH:
14821 case AArch64::LDFMAXLD:
14822 case AArch64::LDFMAXLH:
14823 case AArch64::LDFMAXLS:
14824 case AArch64::LDFMAXNMAD:
14825 case AArch64::LDFMAXNMAH:
14826 case AArch64::LDFMAXNMALD:
14827 case AArch64::LDFMAXNMALH:
14828 case AArch64::LDFMAXNMALS:
14829 case AArch64::LDFMAXNMAS:
14830 case AArch64::LDFMAXNMD:
14831 case AArch64::LDFMAXNMH:
14832 case AArch64::LDFMAXNMLD:
14833 case AArch64::LDFMAXNMLH:
14834 case AArch64::LDFMAXNMLS:
14835 case AArch64::LDFMAXNMS:
14836 case AArch64::LDFMAXS:
14837 case AArch64::LDFMINAD:
14838 case AArch64::LDFMINAH:
14839 case AArch64::LDFMINALD:
14840 case AArch64::LDFMINALH:
14841 case AArch64::LDFMINALS:
14842 case AArch64::LDFMINAS:
14843 case AArch64::LDFMIND:
14844 case AArch64::LDFMINH:
14845 case AArch64::LDFMINLD:
14846 case AArch64::LDFMINLH:
14847 case AArch64::LDFMINLS:
14848 case AArch64::LDFMINNMAD:
14849 case AArch64::LDFMINNMAH:
14850 case AArch64::LDFMINNMALD:
14851 case AArch64::LDFMINNMALH:
14852 case AArch64::LDFMINNMALS:
14853 case AArch64::LDFMINNMAS:
14854 case AArch64::LDFMINNMD:
14855 case AArch64::LDFMINNMH:
14856 case AArch64::LDFMINNMLD:
14857 case AArch64::LDFMINNMLH:
14858 case AArch64::LDFMINNMLS:
14859 case AArch64::LDFMINNMS:
14860 case AArch64::LDFMINS: {
14861 // op: Rt
14862 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14863 Value |= (op & 0x1f);
14864 // op: Rs
14865 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14866 Value |= (op & 0x1f) << 16;
14867 // op: Rn
14868 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14869 Value |= (op & 0x1f) << 5;
14870 break;
14871 }
14872 case AArch64::LDNPDi:
14873 case AArch64::LDNPQi:
14874 case AArch64::LDNPSi:
14875 case AArch64::LDNPWi:
14876 case AArch64::LDNPXi:
14877 case AArch64::LDPDi:
14878 case AArch64::LDPQi:
14879 case AArch64::LDPSWi:
14880 case AArch64::LDPSi:
14881 case AArch64::LDPWi:
14882 case AArch64::LDPXi:
14883 case AArch64::LDTNPQi:
14884 case AArch64::LDTNPXi:
14885 case AArch64::LDTPQi:
14886 case AArch64::LDTPi:
14887 case AArch64::STGPi:
14888 case AArch64::STNPDi:
14889 case AArch64::STNPQi:
14890 case AArch64::STNPSi:
14891 case AArch64::STNPWi:
14892 case AArch64::STNPXi:
14893 case AArch64::STPDi:
14894 case AArch64::STPQi:
14895 case AArch64::STPSi:
14896 case AArch64::STPWi:
14897 case AArch64::STPXi:
14898 case AArch64::STTNPQi:
14899 case AArch64::STTNPXi:
14900 case AArch64::STTPQi:
14901 case AArch64::STTPi: {
14902 // op: Rt
14903 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14904 Value |= (op & 0x1f);
14905 // op: Rt2
14906 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14907 Value |= (op & 0x1f) << 10;
14908 // op: Rn
14909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14910 Value |= (op & 0x1f) << 5;
14911 // op: offset
14912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14913 Value |= (op & 0x7f) << 15;
14914 break;
14915 }
14916 case AArch64::LDAXPW:
14917 case AArch64::LDAXPX:
14918 case AArch64::LDXPW:
14919 case AArch64::LDXPX: {
14920 // op: Rt
14921 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14922 Value |= (op & 0x1f);
14923 // op: Rt2
14924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14925 Value |= (op & 0x1f) << 10;
14926 // op: Rn
14927 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14928 Value |= (op & 0x1f) << 5;
14929 Value = fixLoadStoreExclusive<0,1>(MI, EncodedValue: Value, STI);
14930 break;
14931 }
14932 case AArch64::LDAPPi:
14933 case AArch64::LDAPi:
14934 case AArch64::STLPi: {
14935 // op: Rt
14936 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14937 Value |= (op & 0x1f);
14938 // op: Rt2
14939 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14940 Value |= (op & 0x1f) << 16;
14941 // op: Rn
14942 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14943 Value |= (op & 0x1f) << 5;
14944 break;
14945 }
14946 case AArch64::TBNZW:
14947 case AArch64::TBNZX:
14948 case AArch64::TBZW:
14949 case AArch64::TBZX: {
14950 // op: Rt
14951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14952 Value |= (op & 0x1f);
14953 // op: bit_off
14954 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14955 Value |= (op & 0x1f) << 19;
14956 // op: target
14957 op = getTestBranchTargetOpValue(MI, OpIdx: 2, Fixups, STI);
14958 Value |= (op & 0x3fff) << 5;
14959 break;
14960 }
14961 case AArch64::CBEQWri:
14962 case AArch64::CBEQXri:
14963 case AArch64::CBGTWri:
14964 case AArch64::CBGTXri:
14965 case AArch64::CBHIWri:
14966 case AArch64::CBHIXri:
14967 case AArch64::CBLOWri:
14968 case AArch64::CBLOXri:
14969 case AArch64::CBLTWri:
14970 case AArch64::CBLTXri:
14971 case AArch64::CBNEWri:
14972 case AArch64::CBNEXri: {
14973 // op: Rt
14974 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14975 Value |= (op & 0x1f);
14976 // op: imm
14977 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14978 Value |= (op & 0x3f) << 15;
14979 // op: target
14980 op = getCondCompBranchTargetOpValue(MI, OpIdx: 2, Fixups, STI);
14981 Value |= (op & 0x1ff) << 5;
14982 break;
14983 }
14984 case AArch64::LDRDl:
14985 case AArch64::LDRQl:
14986 case AArch64::LDRSWl:
14987 case AArch64::LDRSl:
14988 case AArch64::LDRWl:
14989 case AArch64::LDRXl:
14990 case AArch64::PRFMl: {
14991 // op: Rt
14992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14993 Value |= (op & 0x1f);
14994 // op: label
14995 op = getLoadLiteralOpValue(MI, OpIdx: 1, Fixups, STI);
14996 Value |= (op & 0x7ffff) << 5;
14997 break;
14998 }
14999 case AArch64::SYSLxt: {
15000 // op: Rt
15001 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15002 Value |= (op & 0x1f);
15003 // op: op1
15004 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15005 Value |= (op & 0x7) << 16;
15006 // op: Cn
15007 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15008 Value |= (op & 0xf) << 12;
15009 // op: Cm
15010 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15011 Value |= (op & 0xf) << 8;
15012 // op: op2
15013 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15014 Value |= (op & 0x7) << 5;
15015 break;
15016 }
15017 case AArch64::MRRS:
15018 case AArch64::MRS: {
15019 // op: Rt
15020 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15021 Value |= (op & 0x1f);
15022 // op: systemreg
15023 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15024 Value |= (op & 0xffff) << 5;
15025 break;
15026 }
15027 case AArch64::CBNZW:
15028 case AArch64::CBNZX:
15029 case AArch64::CBZW:
15030 case AArch64::CBZX: {
15031 // op: Rt
15032 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15033 Value |= (op & 0x1f);
15034 // op: target
15035 op = getCondBranchTargetOpValue(MI, OpIdx: 1, Fixups, STI);
15036 Value |= (op & 0x7ffff) << 5;
15037 break;
15038 }
15039 case AArch64::RPRFM: {
15040 // op: Rt
15041 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15042 Value |= (op & 0x20) << 10;
15043 Value |= (op & 0x18) << 9;
15044 Value |= (op & 0x7);
15045 // op: Rn
15046 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15047 Value |= (op & 0x1f) << 5;
15048 // op: Rm
15049 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15050 Value |= (op & 0x1f) << 16;
15051 break;
15052 }
15053 case AArch64::LDAPRWpost:
15054 case AArch64::LDAPRXpost:
15055 case AArch64::STLRWpre:
15056 case AArch64::STLRXpre: {
15057 // op: Rt
15058 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15059 Value |= (op & 0x1f);
15060 // op: Rn
15061 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15062 Value |= (op & 0x1f) << 5;
15063 break;
15064 }
15065 case AArch64::ST64BV:
15066 case AArch64::ST64BV0: {
15067 // op: Rt
15068 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15069 Value |= (op & 0x1f);
15070 // op: Rn
15071 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15072 Value |= (op & 0x1f) << 5;
15073 // op: Rs
15074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15075 Value |= (op & 0x1f) << 16;
15076 break;
15077 }
15078 case AArch64::STTXRWr:
15079 case AArch64::STTXRXr: {
15080 // op: Rt
15081 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15082 Value |= (op & 0x1f);
15083 // op: Rn
15084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15085 Value |= (op & 0x1f) << 5;
15086 // op: Ws
15087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15088 Value |= (op & 0x1f) << 16;
15089 Value = fixLoadStoreExclusive<1,0>(MI, EncodedValue: Value, STI);
15090 break;
15091 }
15092 case AArch64::LDRBBpost:
15093 case AArch64::LDRBBpre:
15094 case AArch64::LDRBpost:
15095 case AArch64::LDRBpre:
15096 case AArch64::LDRDpost:
15097 case AArch64::LDRDpre:
15098 case AArch64::LDRHHpost:
15099 case AArch64::LDRHHpre:
15100 case AArch64::LDRHpost:
15101 case AArch64::LDRHpre:
15102 case AArch64::LDRQpost:
15103 case AArch64::LDRQpre:
15104 case AArch64::LDRSBWpost:
15105 case AArch64::LDRSBWpre:
15106 case AArch64::LDRSBXpost:
15107 case AArch64::LDRSBXpre:
15108 case AArch64::LDRSHWpost:
15109 case AArch64::LDRSHWpre:
15110 case AArch64::LDRSHXpost:
15111 case AArch64::LDRSHXpre:
15112 case AArch64::LDRSWpost:
15113 case AArch64::LDRSWpre:
15114 case AArch64::LDRSpost:
15115 case AArch64::LDRSpre:
15116 case AArch64::LDRWpost:
15117 case AArch64::LDRWpre:
15118 case AArch64::LDRXpost:
15119 case AArch64::LDRXpre:
15120 case AArch64::STRBBpost:
15121 case AArch64::STRBBpre:
15122 case AArch64::STRBpost:
15123 case AArch64::STRBpre:
15124 case AArch64::STRDpost:
15125 case AArch64::STRDpre:
15126 case AArch64::STRHHpost:
15127 case AArch64::STRHHpre:
15128 case AArch64::STRHpost:
15129 case AArch64::STRHpre:
15130 case AArch64::STRQpost:
15131 case AArch64::STRQpre:
15132 case AArch64::STRSpost:
15133 case AArch64::STRSpre:
15134 case AArch64::STRWpost:
15135 case AArch64::STRWpre:
15136 case AArch64::STRXpost:
15137 case AArch64::STRXpre: {
15138 // op: Rt
15139 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15140 Value |= (op & 0x1f);
15141 // op: Rn
15142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15143 Value |= (op & 0x1f) << 5;
15144 // op: offset
15145 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15146 Value |= (op & 0x1ff) << 12;
15147 break;
15148 }
15149 case AArch64::LDIAPPWpost:
15150 case AArch64::LDIAPPXpost:
15151 case AArch64::STILPWpre:
15152 case AArch64::STILPXpre: {
15153 // op: Rt
15154 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15155 Value |= (op & 0x1f);
15156 // op: Rn
15157 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15158 Value |= (op & 0x1f) << 5;
15159 // op: Rt2
15160 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15161 Value |= (op & 0x1f) << 16;
15162 break;
15163 }
15164 case AArch64::LDPDpost:
15165 case AArch64::LDPDpre:
15166 case AArch64::LDPQpost:
15167 case AArch64::LDPQpre:
15168 case AArch64::LDPSWpost:
15169 case AArch64::LDPSWpre:
15170 case AArch64::LDPSpost:
15171 case AArch64::LDPSpre:
15172 case AArch64::LDPWpost:
15173 case AArch64::LDPWpre:
15174 case AArch64::LDPXpost:
15175 case AArch64::LDPXpre:
15176 case AArch64::LDTPQpost:
15177 case AArch64::LDTPQpre:
15178 case AArch64::LDTPpost:
15179 case AArch64::LDTPpre:
15180 case AArch64::STGPpost:
15181 case AArch64::STGPpre:
15182 case AArch64::STPDpost:
15183 case AArch64::STPDpre:
15184 case AArch64::STPQpost:
15185 case AArch64::STPQpre:
15186 case AArch64::STPSpost:
15187 case AArch64::STPSpre:
15188 case AArch64::STPWpost:
15189 case AArch64::STPWpre:
15190 case AArch64::STPXpost:
15191 case AArch64::STPXpre:
15192 case AArch64::STTPQpost:
15193 case AArch64::STTPQpre:
15194 case AArch64::STTPpost:
15195 case AArch64::STTPpre: {
15196 // op: Rt
15197 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15198 Value |= (op & 0x1f);
15199 // op: Rt2
15200 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15201 Value |= (op & 0x1f) << 10;
15202 // op: Rn
15203 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15204 Value |= (op & 0x1f) << 5;
15205 // op: offset
15206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15207 Value |= (op & 0x7f) << 15;
15208 break;
15209 }
15210 case AArch64::MSR:
15211 case AArch64::MSRR: {
15212 // op: Rt
15213 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15214 Value |= (op & 0x1f);
15215 // op: systemreg
15216 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15217 Value |= (op & 0xffff) << 5;
15218 break;
15219 }
15220 case AArch64::LDCLRP:
15221 case AArch64::LDCLRPA:
15222 case AArch64::LDCLRPAL:
15223 case AArch64::LDCLRPL:
15224 case AArch64::LDSETP:
15225 case AArch64::LDSETPA:
15226 case AArch64::LDSETPAL:
15227 case AArch64::LDSETPL:
15228 case AArch64::SWPP:
15229 case AArch64::SWPPA:
15230 case AArch64::SWPPAL:
15231 case AArch64::SWPPL: {
15232 // op: Rt
15233 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15234 Value |= (op & 0x1f);
15235 // op: Rt2
15236 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15237 Value |= (op & 0x1f) << 16;
15238 // op: Rn
15239 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15240 Value |= (op & 0x1f) << 5;
15241 break;
15242 }
15243 case AArch64::SYSPxt:
15244 case AArch64::SYSxt: {
15245 // op: Rt
15246 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15247 Value |= (op & 0x1f);
15248 // op: op1
15249 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15250 Value |= (op & 0x7) << 16;
15251 // op: Cn
15252 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15253 Value |= (op & 0xf) << 12;
15254 // op: Cm
15255 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15256 Value |= (op & 0xf) << 8;
15257 // op: op2
15258 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15259 Value |= (op & 0x7) << 5;
15260 break;
15261 }
15262 case AArch64::RCWCLRP:
15263 case AArch64::RCWCLRPA:
15264 case AArch64::RCWCLRPAL:
15265 case AArch64::RCWCLRPL:
15266 case AArch64::RCWCLRSP:
15267 case AArch64::RCWCLRSPA:
15268 case AArch64::RCWCLRSPAL:
15269 case AArch64::RCWCLRSPL:
15270 case AArch64::RCWSETP:
15271 case AArch64::RCWSETPA:
15272 case AArch64::RCWSETPAL:
15273 case AArch64::RCWSETPL:
15274 case AArch64::RCWSETSP:
15275 case AArch64::RCWSETSPA:
15276 case AArch64::RCWSETSPAL:
15277 case AArch64::RCWSETSPL:
15278 case AArch64::RCWSWPP:
15279 case AArch64::RCWSWPPA:
15280 case AArch64::RCWSWPPAL:
15281 case AArch64::RCWSWPPL:
15282 case AArch64::RCWSWPSP:
15283 case AArch64::RCWSWPSPA:
15284 case AArch64::RCWSWPSPAL:
15285 case AArch64::RCWSWPSPL: {
15286 // op: Rt2
15287 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15288 Value |= (op & 0x1f) << 16;
15289 // op: Rn
15290 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15291 Value |= (op & 0x1f) << 5;
15292 // op: Rt
15293 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15294 Value |= (op & 0x1f);
15295 break;
15296 }
15297 case AArch64::LDR_ZA:
15298 case AArch64::STR_ZA: {
15299 // op: Rv
15300 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 1, Fixups, STI);
15301 Value |= (op & 0x3) << 13;
15302 // op: Rn
15303 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15304 Value |= (op & 0x1f) << 5;
15305 // op: imm4
15306 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15307 Value |= (op & 0xf);
15308 break;
15309 }
15310 case AArch64::INSERT_MXIPZ_H_H:
15311 case AArch64::INSERT_MXIPZ_V_H: {
15312 // op: Rv
15313 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15314 Value |= (op & 0x3) << 13;
15315 // op: Pg
15316 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15317 Value |= (op & 0x7) << 10;
15318 // op: Zn
15319 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15320 Value |= (op & 0x1f) << 5;
15321 // op: ZAd
15322 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15323 Value |= (op & 0x1) << 3;
15324 // op: imm
15325 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15326 Value |= (op & 0x7);
15327 break;
15328 }
15329 case AArch64::INSERT_MXIPZ_H_S:
15330 case AArch64::INSERT_MXIPZ_V_S: {
15331 // op: Rv
15332 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15333 Value |= (op & 0x3) << 13;
15334 // op: Pg
15335 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15336 Value |= (op & 0x7) << 10;
15337 // op: Zn
15338 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15339 Value |= (op & 0x1f) << 5;
15340 // op: ZAd
15341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15342 Value |= (op & 0x3) << 2;
15343 // op: imm
15344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15345 Value |= (op & 0x3);
15346 break;
15347 }
15348 case AArch64::INSERT_MXIPZ_H_D:
15349 case AArch64::INSERT_MXIPZ_V_D: {
15350 // op: Rv
15351 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15352 Value |= (op & 0x3) << 13;
15353 // op: Pg
15354 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15355 Value |= (op & 0x7) << 10;
15356 // op: Zn
15357 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15358 Value |= (op & 0x1f) << 5;
15359 // op: ZAd
15360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15361 Value |= (op & 0x7) << 1;
15362 // op: imm
15363 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15364 Value |= (op & 0x1);
15365 break;
15366 }
15367 case AArch64::INSERT_MXIPZ_H_Q:
15368 case AArch64::INSERT_MXIPZ_V_Q: {
15369 // op: Rv
15370 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15371 Value |= (op & 0x3) << 13;
15372 // op: Pg
15373 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15374 Value |= (op & 0x7) << 10;
15375 // op: Zn
15376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15377 Value |= (op & 0x1f) << 5;
15378 // op: ZAd
15379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15380 Value |= (op & 0xf);
15381 break;
15382 }
15383 case AArch64::INSERT_MXIPZ_H_B:
15384 case AArch64::INSERT_MXIPZ_V_B: {
15385 // op: Rv
15386 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
15387 Value |= (op & 0x3) << 13;
15388 // op: Pg
15389 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15390 Value |= (op & 0x7) << 10;
15391 // op: Zn
15392 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15393 Value |= (op & 0x1f) << 5;
15394 // op: imm
15395 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15396 Value |= (op & 0xf);
15397 break;
15398 }
15399 case AArch64::PSEL_PPPRI_D: {
15400 // op: Rv
15401 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15402 Value |= (op & 0x3) << 16;
15403 // op: Pn
15404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15405 Value |= (op & 0xf) << 10;
15406 // op: Pm
15407 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15408 Value |= (op & 0xf) << 5;
15409 // op: Pd
15410 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15411 Value |= (op & 0xf);
15412 // op: imm
15413 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15414 Value |= (op & 0x1) << 23;
15415 break;
15416 }
15417 case AArch64::PSEL_PPPRI_S: {
15418 // op: Rv
15419 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15420 Value |= (op & 0x3) << 16;
15421 // op: Pn
15422 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15423 Value |= (op & 0xf) << 10;
15424 // op: Pm
15425 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15426 Value |= (op & 0xf) << 5;
15427 // op: Pd
15428 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15429 Value |= (op & 0xf);
15430 // op: imm
15431 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15432 Value |= (op & 0x3) << 22;
15433 break;
15434 }
15435 case AArch64::PSEL_PPPRI_H: {
15436 // op: Rv
15437 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15438 Value |= (op & 0x3) << 16;
15439 // op: Pn
15440 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15441 Value |= (op & 0xf) << 10;
15442 // op: Pm
15443 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15444 Value |= (op & 0xf) << 5;
15445 // op: Pd
15446 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15447 Value |= (op & 0xf);
15448 // op: imm
15449 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15450 Value |= (op & 0x6) << 21;
15451 Value |= (op & 0x1) << 20;
15452 break;
15453 }
15454 case AArch64::PSEL_PPPRI_B: {
15455 // op: Rv
15456 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
15457 Value |= (op & 0x3) << 16;
15458 // op: Pn
15459 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15460 Value |= (op & 0xf) << 10;
15461 // op: Pm
15462 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15463 Value |= (op & 0xf) << 5;
15464 // op: Pd
15465 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15466 Value |= (op & 0xf);
15467 // op: imm
15468 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15469 Value |= (op & 0xc) << 20;
15470 Value |= (op & 0x3) << 19;
15471 break;
15472 }
15473 case AArch64::EXTRACT_ZPMXI_H_H:
15474 case AArch64::EXTRACT_ZPMXI_V_H: {
15475 // op: Rv
15476 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15477 Value |= (op & 0x3) << 13;
15478 // op: Pg
15479 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15480 Value |= (op & 0x7) << 10;
15481 // op: Zd
15482 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15483 Value |= (op & 0x1f);
15484 // op: ZAn
15485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15486 Value |= (op & 0x1) << 8;
15487 // op: imm
15488 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15489 Value |= (op & 0x7) << 5;
15490 break;
15491 }
15492 case AArch64::EXTRACT_ZPMXI_H_S:
15493 case AArch64::EXTRACT_ZPMXI_V_S: {
15494 // op: Rv
15495 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15496 Value |= (op & 0x3) << 13;
15497 // op: Pg
15498 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15499 Value |= (op & 0x7) << 10;
15500 // op: Zd
15501 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15502 Value |= (op & 0x1f);
15503 // op: ZAn
15504 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15505 Value |= (op & 0x3) << 7;
15506 // op: imm
15507 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15508 Value |= (op & 0x3) << 5;
15509 break;
15510 }
15511 case AArch64::EXTRACT_ZPMXI_H_D:
15512 case AArch64::EXTRACT_ZPMXI_V_D: {
15513 // op: Rv
15514 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15515 Value |= (op & 0x3) << 13;
15516 // op: Pg
15517 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15518 Value |= (op & 0x7) << 10;
15519 // op: Zd
15520 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15521 Value |= (op & 0x1f);
15522 // op: ZAn
15523 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15524 Value |= (op & 0x7) << 6;
15525 // op: imm
15526 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15527 Value |= (op & 0x1) << 5;
15528 break;
15529 }
15530 case AArch64::EXTRACT_ZPMXI_H_Q:
15531 case AArch64::EXTRACT_ZPMXI_V_Q: {
15532 // op: Rv
15533 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15534 Value |= (op & 0x3) << 13;
15535 // op: Pg
15536 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15537 Value |= (op & 0x7) << 10;
15538 // op: Zd
15539 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15540 Value |= (op & 0x1f);
15541 // op: ZAn
15542 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15543 Value |= (op & 0xf) << 5;
15544 break;
15545 }
15546 case AArch64::EXTRACT_ZPMXI_H_B:
15547 case AArch64::EXTRACT_ZPMXI_V_B: {
15548 // op: Rv
15549 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 4, Fixups, STI);
15550 Value |= (op & 0x3) << 13;
15551 // op: Pg
15552 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15553 Value |= (op & 0x7) << 10;
15554 // op: Zd
15555 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15556 Value |= (op & 0x1f);
15557 // op: imm
15558 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15559 Value |= (op & 0xf) << 5;
15560 break;
15561 }
15562 case AArch64::BFMLAL_VG2_M2Z2Z_HtoS:
15563 case AArch64::BFMLSL_VG2_M2Z2Z_HtoS:
15564 case AArch64::FMLAL_VG2_M2Z2Z_BtoH:
15565 case AArch64::FMLAL_VG2_M2Z2Z_HtoS:
15566 case AArch64::FMLSL_VG2_M2Z2Z_HtoS:
15567 case AArch64::SMLAL_VG2_M2Z2Z_HtoS:
15568 case AArch64::SMLSL_VG2_M2Z2Z_HtoS:
15569 case AArch64::UMLAL_VG2_M2Z2Z_HtoS:
15570 case AArch64::UMLSL_VG2_M2Z2Z_HtoS: {
15571 // op: Rv
15572 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15573 Value |= (op & 0x3) << 13;
15574 // op: Zm
15575 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 5, Fixups, STI);
15576 Value |= (op & 0xf) << 17;
15577 // op: Zn
15578 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
15579 Value |= (op & 0xf) << 6;
15580 // op: imm
15581 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15582 Value |= (op & 0x3);
15583 break;
15584 }
15585 case AArch64::BFMLAL_VG4_M4Z4Z_HtoS:
15586 case AArch64::BFMLSL_VG4_M4Z4Z_HtoS:
15587 case AArch64::FMLAL_VG4_M4Z4Z_BtoH:
15588 case AArch64::FMLAL_VG4_M4Z4Z_HtoS:
15589 case AArch64::FMLSL_VG4_M4Z4Z_HtoS:
15590 case AArch64::SMLAL_VG4_M4Z4Z_HtoS:
15591 case AArch64::SMLSL_VG4_M4Z4Z_HtoS:
15592 case AArch64::UMLAL_VG4_M4Z4Z_HtoS:
15593 case AArch64::UMLSL_VG4_M4Z4Z_HtoS: {
15594 // op: Rv
15595 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15596 Value |= (op & 0x3) << 13;
15597 // op: Zm
15598 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 5, Fixups, STI);
15599 Value |= (op & 0x7) << 18;
15600 // op: Zn
15601 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
15602 Value |= (op & 0x7) << 7;
15603 // op: imm
15604 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15605 Value |= (op & 0x3);
15606 break;
15607 }
15608 case AArch64::BFMLAL_VG2_M2ZZ_HtoS:
15609 case AArch64::BFMLAL_VG4_M4ZZ_HtoS:
15610 case AArch64::BFMLSL_VG2_M2ZZ_HtoS:
15611 case AArch64::BFMLSL_VG4_M4ZZ_HtoS:
15612 case AArch64::FMLAL_VG2_M2ZZ_BtoH:
15613 case AArch64::FMLAL_VG2_M2ZZ_HtoS:
15614 case AArch64::FMLAL_VG4_M4ZZ_BtoH:
15615 case AArch64::FMLAL_VG4_M4ZZ_HtoS:
15616 case AArch64::FMLSL_VG2_M2ZZ_HtoS:
15617 case AArch64::FMLSL_VG4_M4ZZ_HtoS:
15618 case AArch64::SMLAL_VG2_M2ZZ_HtoS:
15619 case AArch64::SMLAL_VG4_M4ZZ_HtoS:
15620 case AArch64::SMLSL_VG2_M2ZZ_HtoS:
15621 case AArch64::SMLSL_VG4_M4ZZ_HtoS:
15622 case AArch64::UMLAL_VG2_M2ZZ_HtoS:
15623 case AArch64::UMLAL_VG4_M4ZZ_HtoS:
15624 case AArch64::UMLSL_VG2_M2ZZ_HtoS:
15625 case AArch64::UMLSL_VG4_M4ZZ_HtoS: {
15626 // op: Rv
15627 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15628 Value |= (op & 0x3) << 13;
15629 // op: Zm
15630 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15631 Value |= (op & 0xf) << 16;
15632 // op: Zn
15633 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15634 Value |= (op & 0x1f) << 5;
15635 // op: imm
15636 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15637 Value |= (op & 0x3);
15638 break;
15639 }
15640 case AArch64::BFMLAL_MZZ_HtoS:
15641 case AArch64::BFMLSL_MZZ_HtoS:
15642 case AArch64::FMLAL_MZZ_HtoS:
15643 case AArch64::FMLAL_VG2_MZZ_BtoH:
15644 case AArch64::FMLSL_MZZ_HtoS:
15645 case AArch64::SMLAL_MZZ_HtoS:
15646 case AArch64::SMLSL_MZZ_HtoS:
15647 case AArch64::UMLAL_MZZ_HtoS:
15648 case AArch64::UMLSL_MZZ_HtoS: {
15649 // op: Rv
15650 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15651 Value |= (op & 0x3) << 13;
15652 // op: Zm
15653 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
15654 Value |= (op & 0xf) << 16;
15655 // op: Zn
15656 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15657 Value |= (op & 0x1f) << 5;
15658 // op: imm
15659 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15660 Value |= (op & 0x7);
15661 break;
15662 }
15663 case AArch64::ZERO_MXI_VG2_4Z:
15664 case AArch64::ZERO_MXI_VG4_4Z: {
15665 // op: Rv
15666 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15667 Value |= (op & 0x3) << 13;
15668 // op: imm
15669 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15670 Value |= (op & 0x1);
15671 break;
15672 }
15673 case AArch64::ZERO_MXI_4Z:
15674 case AArch64::ZERO_MXI_VG2_2Z:
15675 case AArch64::ZERO_MXI_VG4_2Z: {
15676 // op: Rv
15677 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15678 Value |= (op & 0x3) << 13;
15679 // op: imm
15680 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15681 Value |= (op & 0x3);
15682 break;
15683 }
15684 case AArch64::ZERO_MXI_2Z:
15685 case AArch64::ZERO_MXI_VG2_Z:
15686 case AArch64::ZERO_MXI_VG4_Z: {
15687 // op: Rv
15688 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15689 Value |= (op & 0x3) << 13;
15690 // op: imm
15691 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15692 Value |= (op & 0x7);
15693 break;
15694 }
15695 case AArch64::ADD_VG2_M2Z_D:
15696 case AArch64::ADD_VG2_M2Z_S:
15697 case AArch64::BFADD_VG2_M2Z_H:
15698 case AArch64::BFSUB_VG2_M2Z_H:
15699 case AArch64::FADD_VG2_M2Z_D:
15700 case AArch64::FADD_VG2_M2Z_H:
15701 case AArch64::FADD_VG2_M2Z_S:
15702 case AArch64::FSUB_VG2_M2Z_D:
15703 case AArch64::FSUB_VG2_M2Z_H:
15704 case AArch64::FSUB_VG2_M2Z_S:
15705 case AArch64::SUB_VG2_M2Z_D:
15706 case AArch64::SUB_VG2_M2Z_S: {
15707 // op: Rv
15708 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15709 Value |= (op & 0x3) << 13;
15710 // op: imm3
15711 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15712 Value |= (op & 0x7);
15713 // op: Zm
15714 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
15715 Value |= (op & 0xf) << 6;
15716 break;
15717 }
15718 case AArch64::ADD_VG4_M4Z_D:
15719 case AArch64::ADD_VG4_M4Z_S:
15720 case AArch64::BFADD_VG4_M4Z_H:
15721 case AArch64::BFSUB_VG4_M4Z_H:
15722 case AArch64::FADD_VG4_M4Z_D:
15723 case AArch64::FADD_VG4_M4Z_H:
15724 case AArch64::FADD_VG4_M4Z_S:
15725 case AArch64::FSUB_VG4_M4Z_D:
15726 case AArch64::FSUB_VG4_M4Z_H:
15727 case AArch64::FSUB_VG4_M4Z_S:
15728 case AArch64::SUB_VG4_M4Z_D:
15729 case AArch64::SUB_VG4_M4Z_S: {
15730 // op: Rv
15731 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
15732 Value |= (op & 0x3) << 13;
15733 // op: imm3
15734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15735 Value |= (op & 0x7);
15736 // op: Zm
15737 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
15738 Value |= (op & 0x7) << 7;
15739 break;
15740 }
15741 case AArch64::RAX1:
15742 case AArch64::SM4ENCKEY:
15743 case AArch64::TBLv16i8Four:
15744 case AArch64::TBLv16i8One:
15745 case AArch64::TBLv16i8Three:
15746 case AArch64::TBLv16i8Two:
15747 case AArch64::TBLv8i8Four:
15748 case AArch64::TBLv8i8One:
15749 case AArch64::TBLv8i8Three:
15750 case AArch64::TBLv8i8Two: {
15751 // op: Vd
15752 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15753 Value |= (op & 0x1f);
15754 // op: Vn
15755 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15756 Value |= (op & 0x1f) << 5;
15757 // op: Vm
15758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15759 Value |= (op & 0x1f) << 16;
15760 break;
15761 }
15762 case AArch64::BCAX:
15763 case AArch64::EOR3:
15764 case AArch64::SM3SS1: {
15765 // op: Vd
15766 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15767 Value |= (op & 0x1f);
15768 // op: Vn
15769 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15770 Value |= (op & 0x1f) << 5;
15771 // op: Vm
15772 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15773 Value |= (op & 0x1f) << 16;
15774 // op: Va
15775 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15776 Value |= (op & 0x1f) << 10;
15777 break;
15778 }
15779 case AArch64::XAR: {
15780 // op: Vd
15781 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15782 Value |= (op & 0x1f);
15783 // op: Vn
15784 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15785 Value |= (op & 0x1f) << 5;
15786 // op: imm
15787 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15788 Value |= (op & 0x3f) << 10;
15789 // op: Vm
15790 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15791 Value |= (op & 0x1f) << 16;
15792 break;
15793 }
15794 case AArch64::ADDQV_VPZ_B:
15795 case AArch64::ADDQV_VPZ_D:
15796 case AArch64::ADDQV_VPZ_H:
15797 case AArch64::ADDQV_VPZ_S:
15798 case AArch64::ANDQV_VPZ_B:
15799 case AArch64::ANDQV_VPZ_D:
15800 case AArch64::ANDQV_VPZ_H:
15801 case AArch64::ANDQV_VPZ_S:
15802 case AArch64::EORQV_VPZ_B:
15803 case AArch64::EORQV_VPZ_D:
15804 case AArch64::EORQV_VPZ_H:
15805 case AArch64::EORQV_VPZ_S:
15806 case AArch64::FADDQV_D:
15807 case AArch64::FADDQV_H:
15808 case AArch64::FADDQV_S:
15809 case AArch64::FMAXNMQV_D:
15810 case AArch64::FMAXNMQV_H:
15811 case AArch64::FMAXNMQV_S:
15812 case AArch64::FMAXQV_D:
15813 case AArch64::FMAXQV_H:
15814 case AArch64::FMAXQV_S:
15815 case AArch64::FMINNMQV_D:
15816 case AArch64::FMINNMQV_H:
15817 case AArch64::FMINNMQV_S:
15818 case AArch64::FMINQV_D:
15819 case AArch64::FMINQV_H:
15820 case AArch64::FMINQV_S:
15821 case AArch64::ORQV_VPZ_B:
15822 case AArch64::ORQV_VPZ_D:
15823 case AArch64::ORQV_VPZ_H:
15824 case AArch64::ORQV_VPZ_S:
15825 case AArch64::SMAXQV_VPZ_B:
15826 case AArch64::SMAXQV_VPZ_D:
15827 case AArch64::SMAXQV_VPZ_H:
15828 case AArch64::SMAXQV_VPZ_S:
15829 case AArch64::SMINQV_VPZ_B:
15830 case AArch64::SMINQV_VPZ_D:
15831 case AArch64::SMINQV_VPZ_H:
15832 case AArch64::SMINQV_VPZ_S:
15833 case AArch64::UMAXQV_VPZ_B:
15834 case AArch64::UMAXQV_VPZ_D:
15835 case AArch64::UMAXQV_VPZ_H:
15836 case AArch64::UMAXQV_VPZ_S:
15837 case AArch64::UMINQV_VPZ_B:
15838 case AArch64::UMINQV_VPZ_D:
15839 case AArch64::UMINQV_VPZ_H:
15840 case AArch64::UMINQV_VPZ_S: {
15841 // op: Vd
15842 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15843 Value |= (op & 0x1f);
15844 // op: Zn
15845 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15846 Value |= (op & 0x1f) << 5;
15847 // op: Pg
15848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15849 Value |= (op & 0x7) << 10;
15850 break;
15851 }
15852 case AArch64::SHA512SU0:
15853 case AArch64::SM4E: {
15854 // op: Vd
15855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15856 Value |= (op & 0x1f);
15857 // op: Vn
15858 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15859 Value |= (op & 0x1f) << 5;
15860 break;
15861 }
15862 case AArch64::SHA512H:
15863 case AArch64::SHA512H2:
15864 case AArch64::SHA512SU1:
15865 case AArch64::SM3PARTW1:
15866 case AArch64::SM3PARTW2:
15867 case AArch64::TBXv16i8Four:
15868 case AArch64::TBXv16i8One:
15869 case AArch64::TBXv16i8Three:
15870 case AArch64::TBXv16i8Two:
15871 case AArch64::TBXv8i8Four:
15872 case AArch64::TBXv8i8One:
15873 case AArch64::TBXv8i8Three:
15874 case AArch64::TBXv8i8Two: {
15875 // op: Vd
15876 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15877 Value |= (op & 0x1f);
15878 // op: Vn
15879 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15880 Value |= (op & 0x1f) << 5;
15881 // op: Vm
15882 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15883 Value |= (op & 0x1f) << 16;
15884 break;
15885 }
15886 case AArch64::SM3TT1A:
15887 case AArch64::SM3TT1B:
15888 case AArch64::SM3TT2A:
15889 case AArch64::SM3TT2B: {
15890 // op: Vd
15891 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15892 Value |= (op & 0x1f);
15893 // op: Vn
15894 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15895 Value |= (op & 0x1f) << 5;
15896 // op: imm
15897 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15898 Value |= (op & 0x3) << 12;
15899 // op: Vm
15900 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15901 Value |= (op & 0x1f) << 16;
15902 break;
15903 }
15904 case AArch64::INSR_ZV_B:
15905 case AArch64::INSR_ZV_D:
15906 case AArch64::INSR_ZV_H:
15907 case AArch64::INSR_ZV_S: {
15908 // op: Vm
15909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15910 Value |= (op & 0x1f) << 5;
15911 // op: Zdn
15912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15913 Value |= (op & 0x1f);
15914 break;
15915 }
15916 case AArch64::LD1Fourv16b:
15917 case AArch64::LD1Fourv1d:
15918 case AArch64::LD1Fourv2d:
15919 case AArch64::LD1Fourv2s:
15920 case AArch64::LD1Fourv4h:
15921 case AArch64::LD1Fourv4s:
15922 case AArch64::LD1Fourv8b:
15923 case AArch64::LD1Fourv8h:
15924 case AArch64::LD1Onev16b:
15925 case AArch64::LD1Onev1d:
15926 case AArch64::LD1Onev2d:
15927 case AArch64::LD1Onev2s:
15928 case AArch64::LD1Onev4h:
15929 case AArch64::LD1Onev4s:
15930 case AArch64::LD1Onev8b:
15931 case AArch64::LD1Onev8h:
15932 case AArch64::LD1Rv16b:
15933 case AArch64::LD1Rv1d:
15934 case AArch64::LD1Rv2d:
15935 case AArch64::LD1Rv2s:
15936 case AArch64::LD1Rv4h:
15937 case AArch64::LD1Rv4s:
15938 case AArch64::LD1Rv8b:
15939 case AArch64::LD1Rv8h:
15940 case AArch64::LD1Threev16b:
15941 case AArch64::LD1Threev1d:
15942 case AArch64::LD1Threev2d:
15943 case AArch64::LD1Threev2s:
15944 case AArch64::LD1Threev4h:
15945 case AArch64::LD1Threev4s:
15946 case AArch64::LD1Threev8b:
15947 case AArch64::LD1Threev8h:
15948 case AArch64::LD1Twov16b:
15949 case AArch64::LD1Twov1d:
15950 case AArch64::LD1Twov2d:
15951 case AArch64::LD1Twov2s:
15952 case AArch64::LD1Twov4h:
15953 case AArch64::LD1Twov4s:
15954 case AArch64::LD1Twov8b:
15955 case AArch64::LD1Twov8h:
15956 case AArch64::LD2Rv16b:
15957 case AArch64::LD2Rv1d:
15958 case AArch64::LD2Rv2d:
15959 case AArch64::LD2Rv2s:
15960 case AArch64::LD2Rv4h:
15961 case AArch64::LD2Rv4s:
15962 case AArch64::LD2Rv8b:
15963 case AArch64::LD2Rv8h:
15964 case AArch64::LD2Twov16b:
15965 case AArch64::LD2Twov2d:
15966 case AArch64::LD2Twov2s:
15967 case AArch64::LD2Twov4h:
15968 case AArch64::LD2Twov4s:
15969 case AArch64::LD2Twov8b:
15970 case AArch64::LD2Twov8h:
15971 case AArch64::LD3Rv16b:
15972 case AArch64::LD3Rv1d:
15973 case AArch64::LD3Rv2d:
15974 case AArch64::LD3Rv2s:
15975 case AArch64::LD3Rv4h:
15976 case AArch64::LD3Rv4s:
15977 case AArch64::LD3Rv8b:
15978 case AArch64::LD3Rv8h:
15979 case AArch64::LD3Threev16b:
15980 case AArch64::LD3Threev2d:
15981 case AArch64::LD3Threev2s:
15982 case AArch64::LD3Threev4h:
15983 case AArch64::LD3Threev4s:
15984 case AArch64::LD3Threev8b:
15985 case AArch64::LD3Threev8h:
15986 case AArch64::LD4Fourv16b:
15987 case AArch64::LD4Fourv2d:
15988 case AArch64::LD4Fourv2s:
15989 case AArch64::LD4Fourv4h:
15990 case AArch64::LD4Fourv4s:
15991 case AArch64::LD4Fourv8b:
15992 case AArch64::LD4Fourv8h:
15993 case AArch64::LD4Rv16b:
15994 case AArch64::LD4Rv1d:
15995 case AArch64::LD4Rv2d:
15996 case AArch64::LD4Rv2s:
15997 case AArch64::LD4Rv4h:
15998 case AArch64::LD4Rv4s:
15999 case AArch64::LD4Rv8b:
16000 case AArch64::LD4Rv8h:
16001 case AArch64::ST1Fourv16b:
16002 case AArch64::ST1Fourv1d:
16003 case AArch64::ST1Fourv2d:
16004 case AArch64::ST1Fourv2s:
16005 case AArch64::ST1Fourv4h:
16006 case AArch64::ST1Fourv4s:
16007 case AArch64::ST1Fourv8b:
16008 case AArch64::ST1Fourv8h:
16009 case AArch64::ST1Onev16b:
16010 case AArch64::ST1Onev1d:
16011 case AArch64::ST1Onev2d:
16012 case AArch64::ST1Onev2s:
16013 case AArch64::ST1Onev4h:
16014 case AArch64::ST1Onev4s:
16015 case AArch64::ST1Onev8b:
16016 case AArch64::ST1Onev8h:
16017 case AArch64::ST1Threev16b:
16018 case AArch64::ST1Threev1d:
16019 case AArch64::ST1Threev2d:
16020 case AArch64::ST1Threev2s:
16021 case AArch64::ST1Threev4h:
16022 case AArch64::ST1Threev4s:
16023 case AArch64::ST1Threev8b:
16024 case AArch64::ST1Threev8h:
16025 case AArch64::ST1Twov16b:
16026 case AArch64::ST1Twov1d:
16027 case AArch64::ST1Twov2d:
16028 case AArch64::ST1Twov2s:
16029 case AArch64::ST1Twov4h:
16030 case AArch64::ST1Twov4s:
16031 case AArch64::ST1Twov8b:
16032 case AArch64::ST1Twov8h:
16033 case AArch64::ST2Twov16b:
16034 case AArch64::ST2Twov2d:
16035 case AArch64::ST2Twov2s:
16036 case AArch64::ST2Twov4h:
16037 case AArch64::ST2Twov4s:
16038 case AArch64::ST2Twov8b:
16039 case AArch64::ST2Twov8h:
16040 case AArch64::ST3Threev16b:
16041 case AArch64::ST3Threev2d:
16042 case AArch64::ST3Threev2s:
16043 case AArch64::ST3Threev4h:
16044 case AArch64::ST3Threev4s:
16045 case AArch64::ST3Threev8b:
16046 case AArch64::ST3Threev8h:
16047 case AArch64::ST4Fourv16b:
16048 case AArch64::ST4Fourv2d:
16049 case AArch64::ST4Fourv2s:
16050 case AArch64::ST4Fourv4h:
16051 case AArch64::ST4Fourv4s:
16052 case AArch64::ST4Fourv8b:
16053 case AArch64::ST4Fourv8h: {
16054 // op: Vt
16055 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16056 Value |= (op & 0x1f);
16057 // op: Rn
16058 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16059 Value |= (op & 0x1f) << 5;
16060 break;
16061 }
16062 case AArch64::STL1: {
16063 // op: Vt
16064 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16065 Value |= (op & 0x1f);
16066 // op: Rn
16067 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16068 Value |= (op & 0x1f) << 5;
16069 // op: Q
16070 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16071 Value |= (op & 0x1) << 30;
16072 break;
16073 }
16074 case AArch64::ST1i64:
16075 case AArch64::ST2i64:
16076 case AArch64::ST3i64:
16077 case AArch64::ST4i64: {
16078 // op: Vt
16079 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16080 Value |= (op & 0x1f);
16081 // op: Rn
16082 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16083 Value |= (op & 0x1f) << 5;
16084 // op: idx
16085 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16086 Value |= (op & 0x1) << 30;
16087 break;
16088 }
16089 case AArch64::ST1i32:
16090 case AArch64::ST2i32:
16091 case AArch64::ST3i32:
16092 case AArch64::ST4i32: {
16093 // op: Vt
16094 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16095 Value |= (op & 0x1f);
16096 // op: Rn
16097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16098 Value |= (op & 0x1f) << 5;
16099 // op: idx
16100 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16101 Value |= (op & 0x2) << 29;
16102 Value |= (op & 0x1) << 12;
16103 break;
16104 }
16105 case AArch64::ST1i16:
16106 case AArch64::ST2i16:
16107 case AArch64::ST3i16:
16108 case AArch64::ST4i16: {
16109 // op: Vt
16110 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16111 Value |= (op & 0x1f);
16112 // op: Rn
16113 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16114 Value |= (op & 0x1f) << 5;
16115 // op: idx
16116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16117 Value |= (op & 0x4) << 28;
16118 Value |= (op & 0x3) << 11;
16119 break;
16120 }
16121 case AArch64::ST1i8:
16122 case AArch64::ST2i8:
16123 case AArch64::ST3i8:
16124 case AArch64::ST4i8: {
16125 // op: Vt
16126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16127 Value |= (op & 0x1f);
16128 // op: Rn
16129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16130 Value |= (op & 0x1f) << 5;
16131 // op: idx
16132 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16133 Value |= (op & 0x8) << 27;
16134 Value |= (op & 0x7) << 10;
16135 break;
16136 }
16137 case AArch64::LD1Fourv16b_POST:
16138 case AArch64::LD1Fourv1d_POST:
16139 case AArch64::LD1Fourv2d_POST:
16140 case AArch64::LD1Fourv2s_POST:
16141 case AArch64::LD1Fourv4h_POST:
16142 case AArch64::LD1Fourv4s_POST:
16143 case AArch64::LD1Fourv8b_POST:
16144 case AArch64::LD1Fourv8h_POST:
16145 case AArch64::LD1Onev16b_POST:
16146 case AArch64::LD1Onev1d_POST:
16147 case AArch64::LD1Onev2d_POST:
16148 case AArch64::LD1Onev2s_POST:
16149 case AArch64::LD1Onev4h_POST:
16150 case AArch64::LD1Onev4s_POST:
16151 case AArch64::LD1Onev8b_POST:
16152 case AArch64::LD1Onev8h_POST:
16153 case AArch64::LD1Rv16b_POST:
16154 case AArch64::LD1Rv1d_POST:
16155 case AArch64::LD1Rv2d_POST:
16156 case AArch64::LD1Rv2s_POST:
16157 case AArch64::LD1Rv4h_POST:
16158 case AArch64::LD1Rv4s_POST:
16159 case AArch64::LD1Rv8b_POST:
16160 case AArch64::LD1Rv8h_POST:
16161 case AArch64::LD1Threev16b_POST:
16162 case AArch64::LD1Threev1d_POST:
16163 case AArch64::LD1Threev2d_POST:
16164 case AArch64::LD1Threev2s_POST:
16165 case AArch64::LD1Threev4h_POST:
16166 case AArch64::LD1Threev4s_POST:
16167 case AArch64::LD1Threev8b_POST:
16168 case AArch64::LD1Threev8h_POST:
16169 case AArch64::LD1Twov16b_POST:
16170 case AArch64::LD1Twov1d_POST:
16171 case AArch64::LD1Twov2d_POST:
16172 case AArch64::LD1Twov2s_POST:
16173 case AArch64::LD1Twov4h_POST:
16174 case AArch64::LD1Twov4s_POST:
16175 case AArch64::LD1Twov8b_POST:
16176 case AArch64::LD1Twov8h_POST:
16177 case AArch64::LD2Rv16b_POST:
16178 case AArch64::LD2Rv1d_POST:
16179 case AArch64::LD2Rv2d_POST:
16180 case AArch64::LD2Rv2s_POST:
16181 case AArch64::LD2Rv4h_POST:
16182 case AArch64::LD2Rv4s_POST:
16183 case AArch64::LD2Rv8b_POST:
16184 case AArch64::LD2Rv8h_POST:
16185 case AArch64::LD2Twov16b_POST:
16186 case AArch64::LD2Twov2d_POST:
16187 case AArch64::LD2Twov2s_POST:
16188 case AArch64::LD2Twov4h_POST:
16189 case AArch64::LD2Twov4s_POST:
16190 case AArch64::LD2Twov8b_POST:
16191 case AArch64::LD2Twov8h_POST:
16192 case AArch64::LD3Rv16b_POST:
16193 case AArch64::LD3Rv1d_POST:
16194 case AArch64::LD3Rv2d_POST:
16195 case AArch64::LD3Rv2s_POST:
16196 case AArch64::LD3Rv4h_POST:
16197 case AArch64::LD3Rv4s_POST:
16198 case AArch64::LD3Rv8b_POST:
16199 case AArch64::LD3Rv8h_POST:
16200 case AArch64::LD3Threev16b_POST:
16201 case AArch64::LD3Threev2d_POST:
16202 case AArch64::LD3Threev2s_POST:
16203 case AArch64::LD3Threev4h_POST:
16204 case AArch64::LD3Threev4s_POST:
16205 case AArch64::LD3Threev8b_POST:
16206 case AArch64::LD3Threev8h_POST:
16207 case AArch64::LD4Fourv16b_POST:
16208 case AArch64::LD4Fourv2d_POST:
16209 case AArch64::LD4Fourv2s_POST:
16210 case AArch64::LD4Fourv4h_POST:
16211 case AArch64::LD4Fourv4s_POST:
16212 case AArch64::LD4Fourv8b_POST:
16213 case AArch64::LD4Fourv8h_POST:
16214 case AArch64::LD4Rv16b_POST:
16215 case AArch64::LD4Rv1d_POST:
16216 case AArch64::LD4Rv2d_POST:
16217 case AArch64::LD4Rv2s_POST:
16218 case AArch64::LD4Rv4h_POST:
16219 case AArch64::LD4Rv4s_POST:
16220 case AArch64::LD4Rv8b_POST:
16221 case AArch64::LD4Rv8h_POST:
16222 case AArch64::ST1Fourv16b_POST:
16223 case AArch64::ST1Fourv1d_POST:
16224 case AArch64::ST1Fourv2d_POST:
16225 case AArch64::ST1Fourv2s_POST:
16226 case AArch64::ST1Fourv4h_POST:
16227 case AArch64::ST1Fourv4s_POST:
16228 case AArch64::ST1Fourv8b_POST:
16229 case AArch64::ST1Fourv8h_POST:
16230 case AArch64::ST1Onev16b_POST:
16231 case AArch64::ST1Onev1d_POST:
16232 case AArch64::ST1Onev2d_POST:
16233 case AArch64::ST1Onev2s_POST:
16234 case AArch64::ST1Onev4h_POST:
16235 case AArch64::ST1Onev4s_POST:
16236 case AArch64::ST1Onev8b_POST:
16237 case AArch64::ST1Onev8h_POST:
16238 case AArch64::ST1Threev16b_POST:
16239 case AArch64::ST1Threev1d_POST:
16240 case AArch64::ST1Threev2d_POST:
16241 case AArch64::ST1Threev2s_POST:
16242 case AArch64::ST1Threev4h_POST:
16243 case AArch64::ST1Threev4s_POST:
16244 case AArch64::ST1Threev8b_POST:
16245 case AArch64::ST1Threev8h_POST:
16246 case AArch64::ST1Twov16b_POST:
16247 case AArch64::ST1Twov1d_POST:
16248 case AArch64::ST1Twov2d_POST:
16249 case AArch64::ST1Twov2s_POST:
16250 case AArch64::ST1Twov4h_POST:
16251 case AArch64::ST1Twov4s_POST:
16252 case AArch64::ST1Twov8b_POST:
16253 case AArch64::ST1Twov8h_POST:
16254 case AArch64::ST2Twov16b_POST:
16255 case AArch64::ST2Twov2d_POST:
16256 case AArch64::ST2Twov2s_POST:
16257 case AArch64::ST2Twov4h_POST:
16258 case AArch64::ST2Twov4s_POST:
16259 case AArch64::ST2Twov8b_POST:
16260 case AArch64::ST2Twov8h_POST:
16261 case AArch64::ST3Threev16b_POST:
16262 case AArch64::ST3Threev2d_POST:
16263 case AArch64::ST3Threev2s_POST:
16264 case AArch64::ST3Threev4h_POST:
16265 case AArch64::ST3Threev4s_POST:
16266 case AArch64::ST3Threev8b_POST:
16267 case AArch64::ST3Threev8h_POST:
16268 case AArch64::ST4Fourv16b_POST:
16269 case AArch64::ST4Fourv2d_POST:
16270 case AArch64::ST4Fourv2s_POST:
16271 case AArch64::ST4Fourv4h_POST:
16272 case AArch64::ST4Fourv4s_POST:
16273 case AArch64::ST4Fourv8b_POST:
16274 case AArch64::ST4Fourv8h_POST: {
16275 // op: Vt
16276 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16277 Value |= (op & 0x1f);
16278 // op: Rn
16279 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16280 Value |= (op & 0x1f) << 5;
16281 // op: Xm
16282 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16283 Value |= (op & 0x1f) << 16;
16284 break;
16285 }
16286 case AArch64::LDAP1: {
16287 // op: Vt
16288 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16289 Value |= (op & 0x1f);
16290 // op: Rn
16291 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16292 Value |= (op & 0x1f) << 5;
16293 // op: Q
16294 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16295 Value |= (op & 0x1) << 30;
16296 break;
16297 }
16298 case AArch64::LD1i64:
16299 case AArch64::LD2i64:
16300 case AArch64::LD3i64:
16301 case AArch64::LD4i64: {
16302 // op: Vt
16303 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16304 Value |= (op & 0x1f);
16305 // op: Rn
16306 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16307 Value |= (op & 0x1f) << 5;
16308 // op: idx
16309 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16310 Value |= (op & 0x1) << 30;
16311 break;
16312 }
16313 case AArch64::ST1i64_POST:
16314 case AArch64::ST2i64_POST:
16315 case AArch64::ST3i64_POST:
16316 case AArch64::ST4i64_POST: {
16317 // op: Vt
16318 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16319 Value |= (op & 0x1f);
16320 // op: Rn
16321 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16322 Value |= (op & 0x1f) << 5;
16323 // op: idx
16324 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16325 Value |= (op & 0x1) << 30;
16326 // op: Xm
16327 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16328 Value |= (op & 0x1f) << 16;
16329 break;
16330 }
16331 case AArch64::LD1i32:
16332 case AArch64::LD2i32:
16333 case AArch64::LD3i32:
16334 case AArch64::LD4i32: {
16335 // op: Vt
16336 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16337 Value |= (op & 0x1f);
16338 // op: Rn
16339 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16340 Value |= (op & 0x1f) << 5;
16341 // op: idx
16342 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16343 Value |= (op & 0x2) << 29;
16344 Value |= (op & 0x1) << 12;
16345 break;
16346 }
16347 case AArch64::ST1i32_POST:
16348 case AArch64::ST2i32_POST:
16349 case AArch64::ST3i32_POST:
16350 case AArch64::ST4i32_POST: {
16351 // op: Vt
16352 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16353 Value |= (op & 0x1f);
16354 // op: Rn
16355 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16356 Value |= (op & 0x1f) << 5;
16357 // op: idx
16358 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16359 Value |= (op & 0x2) << 29;
16360 Value |= (op & 0x1) << 12;
16361 // op: Xm
16362 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16363 Value |= (op & 0x1f) << 16;
16364 break;
16365 }
16366 case AArch64::LD1i16:
16367 case AArch64::LD2i16:
16368 case AArch64::LD3i16:
16369 case AArch64::LD4i16: {
16370 // op: Vt
16371 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16372 Value |= (op & 0x1f);
16373 // op: Rn
16374 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16375 Value |= (op & 0x1f) << 5;
16376 // op: idx
16377 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16378 Value |= (op & 0x4) << 28;
16379 Value |= (op & 0x3) << 11;
16380 break;
16381 }
16382 case AArch64::ST1i16_POST:
16383 case AArch64::ST2i16_POST:
16384 case AArch64::ST3i16_POST:
16385 case AArch64::ST4i16_POST: {
16386 // op: Vt
16387 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16388 Value |= (op & 0x1f);
16389 // op: Rn
16390 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16391 Value |= (op & 0x1f) << 5;
16392 // op: idx
16393 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16394 Value |= (op & 0x4) << 28;
16395 Value |= (op & 0x3) << 11;
16396 // op: Xm
16397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16398 Value |= (op & 0x1f) << 16;
16399 break;
16400 }
16401 case AArch64::LD1i8:
16402 case AArch64::LD2i8:
16403 case AArch64::LD3i8:
16404 case AArch64::LD4i8: {
16405 // op: Vt
16406 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16407 Value |= (op & 0x1f);
16408 // op: Rn
16409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16410 Value |= (op & 0x1f) << 5;
16411 // op: idx
16412 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16413 Value |= (op & 0x8) << 27;
16414 Value |= (op & 0x7) << 10;
16415 break;
16416 }
16417 case AArch64::ST1i8_POST:
16418 case AArch64::ST2i8_POST:
16419 case AArch64::ST3i8_POST:
16420 case AArch64::ST4i8_POST: {
16421 // op: Vt
16422 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16423 Value |= (op & 0x1f);
16424 // op: Rn
16425 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16426 Value |= (op & 0x1f) << 5;
16427 // op: idx
16428 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16429 Value |= (op & 0x8) << 27;
16430 Value |= (op & 0x7) << 10;
16431 // op: Xm
16432 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16433 Value |= (op & 0x1f) << 16;
16434 break;
16435 }
16436 case AArch64::LD1i64_POST:
16437 case AArch64::LD2i64_POST:
16438 case AArch64::LD3i64_POST:
16439 case AArch64::LD4i64_POST: {
16440 // op: Vt
16441 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16442 Value |= (op & 0x1f);
16443 // op: Rn
16444 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16445 Value |= (op & 0x1f) << 5;
16446 // op: idx
16447 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16448 Value |= (op & 0x1) << 30;
16449 // op: Xm
16450 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16451 Value |= (op & 0x1f) << 16;
16452 break;
16453 }
16454 case AArch64::LD1i32_POST:
16455 case AArch64::LD2i32_POST:
16456 case AArch64::LD3i32_POST:
16457 case AArch64::LD4i32_POST: {
16458 // op: Vt
16459 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16460 Value |= (op & 0x1f);
16461 // op: Rn
16462 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16463 Value |= (op & 0x1f) << 5;
16464 // op: idx
16465 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16466 Value |= (op & 0x2) << 29;
16467 Value |= (op & 0x1) << 12;
16468 // op: Xm
16469 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16470 Value |= (op & 0x1f) << 16;
16471 break;
16472 }
16473 case AArch64::LD1i16_POST:
16474 case AArch64::LD2i16_POST:
16475 case AArch64::LD3i16_POST:
16476 case AArch64::LD4i16_POST: {
16477 // op: Vt
16478 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16479 Value |= (op & 0x1f);
16480 // op: Rn
16481 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16482 Value |= (op & 0x1f) << 5;
16483 // op: idx
16484 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16485 Value |= (op & 0x4) << 28;
16486 Value |= (op & 0x3) << 11;
16487 // op: Xm
16488 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16489 Value |= (op & 0x1f) << 16;
16490 break;
16491 }
16492 case AArch64::LD1i8_POST:
16493 case AArch64::LD2i8_POST:
16494 case AArch64::LD3i8_POST:
16495 case AArch64::LD4i8_POST: {
16496 // op: Vt
16497 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16498 Value |= (op & 0x1f);
16499 // op: Rn
16500 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16501 Value |= (op & 0x1f) << 5;
16502 // op: idx
16503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16504 Value |= (op & 0x8) << 27;
16505 Value |= (op & 0x7) << 10;
16506 // op: Xm
16507 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16508 Value |= (op & 0x1f) << 16;
16509 break;
16510 }
16511 case AArch64::STLTXRW:
16512 case AArch64::STLTXRX:
16513 case AArch64::STLXRB:
16514 case AArch64::STLXRH:
16515 case AArch64::STLXRW:
16516 case AArch64::STLXRX:
16517 case AArch64::STXRB:
16518 case AArch64::STXRH:
16519 case AArch64::STXRW:
16520 case AArch64::STXRX: {
16521 // op: Ws
16522 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16523 Value |= (op & 0x1f) << 16;
16524 // op: Rt
16525 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16526 Value |= (op & 0x1f);
16527 // op: Rn
16528 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16529 Value |= (op & 0x1f) << 5;
16530 Value = fixLoadStoreExclusive<1,0>(MI, EncodedValue: Value, STI);
16531 break;
16532 }
16533 case AArch64::STLXPW:
16534 case AArch64::STLXPX:
16535 case AArch64::STXPW:
16536 case AArch64::STXPX: {
16537 // op: Ws
16538 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16539 Value |= (op & 0x1f) << 16;
16540 // op: Rt
16541 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16542 Value |= (op & 0x1f);
16543 // op: Rt2
16544 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16545 Value |= (op & 0x1f) << 10;
16546 // op: Rn
16547 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16548 Value |= (op & 0x1f) << 5;
16549 break;
16550 }
16551 case AArch64::TCHANGEBrr:
16552 case AArch64::TCHANGEFrr: {
16553 // op: Xd
16554 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16555 Value |= (op & 0x1f);
16556 // op: Xn
16557 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16558 Value |= (op & 0x1f) << 5;
16559 // op: nb
16560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16561 Value |= (op & 0x1) << 17;
16562 break;
16563 }
16564 case AArch64::TCHANGEBri:
16565 case AArch64::TCHANGEFri: {
16566 // op: Xd
16567 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16568 Value |= (op & 0x1f);
16569 // op: imm
16570 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16571 Value |= (op & 0x7f) << 5;
16572 // op: nb
16573 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16574 Value |= (op & 0x1) << 17;
16575 break;
16576 }
16577 case AArch64::ADR:
16578 case AArch64::ADRP: {
16579 // op: Xd
16580 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16581 Value |= (op & 0x1f);
16582 // op: label
16583 op = getAdrLabelOpValue(MI, OpIdx: 1, Fixups, STI);
16584 Value |= (op & 0x3) << 29;
16585 Value |= (op & 0x1ffffc) << 3;
16586 break;
16587 }
16588 case AArch64::BFMOP4A_M2Z2Z_H:
16589 case AArch64::BFMOP4S_M2Z2Z_H:
16590 case AArch64::FMOP4A_M2Z2Z_BtoH:
16591 case AArch64::FMOP4A_M2Z2Z_H:
16592 case AArch64::FMOP4S_M2Z2Z_H: {
16593 // op: ZAda
16594 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16595 Value |= (op & 0x1);
16596 // op: Zn
16597 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16598 Value |= (op & 0x7) << 6;
16599 // op: Zm
16600 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16601 Value |= (op & 0x7) << 17;
16602 break;
16603 }
16604 case AArch64::BFMOP4A_M2ZZ_H:
16605 case AArch64::BFMOP4S_M2ZZ_H:
16606 case AArch64::FMOP4A_M2ZZ_BtoH:
16607 case AArch64::FMOP4A_M2ZZ_H:
16608 case AArch64::FMOP4S_M2ZZ_H: {
16609 // op: ZAda
16610 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16611 Value |= (op & 0x1);
16612 // op: Zn
16613 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16614 Value |= (op & 0x7) << 6;
16615 // op: Zm
16616 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16617 Value |= (op & 0x7) << 17;
16618 break;
16619 }
16620 case AArch64::BFTMOPA_M2ZZZI_HtoH:
16621 case AArch64::FTMOPA_M2ZZZI_BtoH:
16622 case AArch64::FTMOPA_M2ZZZI_HtoH: {
16623 // op: ZAda
16624 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16625 Value |= (op & 0x1);
16626 // op: Zn
16627 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
16628 Value |= (op & 0xf) << 6;
16629 // op: Zm
16630 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16631 Value |= (op & 0x1f) << 16;
16632 // op: Zk
16633 op = EncodeZK(MI, OpIdx: 4, Fixups, STI);
16634 Value |= (op & 0x7) << 10;
16635 // op: imm
16636 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16637 Value |= (op & 0x3) << 4;
16638 break;
16639 }
16640 case AArch64::BFMOP4A_MZ2Z_H:
16641 case AArch64::BFMOP4S_MZ2Z_H:
16642 case AArch64::FMOP4A_MZ2Z_BtoH:
16643 case AArch64::FMOP4A_MZ2Z_H:
16644 case AArch64::FMOP4S_MZ2Z_H: {
16645 // op: ZAda
16646 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16647 Value |= (op & 0x1);
16648 // op: Zn
16649 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16650 Value |= (op & 0x7) << 6;
16651 // op: Zm
16652 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16653 Value |= (op & 0x7) << 17;
16654 break;
16655 }
16656 case AArch64::BFMOP4A_MZZ_H:
16657 case AArch64::BFMOP4S_MZZ_H:
16658 case AArch64::FMOP4A_MZZ_BtoH:
16659 case AArch64::FMOP4A_MZZ_H:
16660 case AArch64::FMOP4S_MZZ_H: {
16661 // op: ZAda
16662 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16663 Value |= (op & 0x1);
16664 // op: Zn
16665 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16666 Value |= (op & 0x7) << 6;
16667 // op: Zm
16668 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16669 Value |= (op & 0x7) << 17;
16670 break;
16671 }
16672 case AArch64::BFMOP4A_M2Z2Z_S:
16673 case AArch64::BFMOP4S_M2Z2Z_S:
16674 case AArch64::FMOP4A_M2Z2Z_BtoS:
16675 case AArch64::FMOP4A_M2Z2Z_HtoS:
16676 case AArch64::FMOP4A_M2Z2Z_S:
16677 case AArch64::FMOP4S_M2Z2Z_HtoS:
16678 case AArch64::FMOP4S_M2Z2Z_S:
16679 case AArch64::SMOP4A_M2Z2Z_BToS:
16680 case AArch64::SMOP4A_M2Z2Z_HToS:
16681 case AArch64::SMOP4S_M2Z2Z_BToS:
16682 case AArch64::SMOP4S_M2Z2Z_HToS:
16683 case AArch64::SUMOP4A_M2Z2Z_BToS:
16684 case AArch64::SUMOP4S_M2Z2Z_BToS:
16685 case AArch64::UMOP4A_M2Z2Z_BToS:
16686 case AArch64::UMOP4A_M2Z2Z_HToS:
16687 case AArch64::UMOP4S_M2Z2Z_BToS:
16688 case AArch64::UMOP4S_M2Z2Z_HToS:
16689 case AArch64::USMOP4A_M2Z2Z_BToS:
16690 case AArch64::USMOP4S_M2Z2Z_BToS: {
16691 // op: ZAda
16692 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16693 Value |= (op & 0x3);
16694 // op: Zn
16695 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16696 Value |= (op & 0x7) << 6;
16697 // op: Zm
16698 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16699 Value |= (op & 0x7) << 17;
16700 break;
16701 }
16702 case AArch64::BFMOP4A_M2ZZ_S:
16703 case AArch64::BFMOP4S_M2ZZ_S:
16704 case AArch64::FMOP4A_M2ZZ_BtoS:
16705 case AArch64::FMOP4A_M2ZZ_HtoS:
16706 case AArch64::FMOP4A_M2ZZ_S:
16707 case AArch64::FMOP4S_M2ZZ_HtoS:
16708 case AArch64::FMOP4S_M2ZZ_S:
16709 case AArch64::SMOP4A_M2ZZ_BToS:
16710 case AArch64::SMOP4A_M2ZZ_HToS:
16711 case AArch64::SMOP4S_M2ZZ_BToS:
16712 case AArch64::SMOP4S_M2ZZ_HToS:
16713 case AArch64::SUMOP4A_M2ZZ_BToS:
16714 case AArch64::SUMOP4S_M2ZZ_BToS:
16715 case AArch64::UMOP4A_M2ZZ_BToS:
16716 case AArch64::UMOP4A_M2ZZ_HToS:
16717 case AArch64::UMOP4S_M2ZZ_BToS:
16718 case AArch64::UMOP4S_M2ZZ_HToS:
16719 case AArch64::USMOP4A_M2ZZ_BToS:
16720 case AArch64::USMOP4S_M2ZZ_BToS: {
16721 // op: ZAda
16722 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16723 Value |= (op & 0x3);
16724 // op: Zn
16725 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16726 Value |= (op & 0x7) << 6;
16727 // op: Zm
16728 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16729 Value |= (op & 0x7) << 17;
16730 break;
16731 }
16732 case AArch64::BFTMOPA_M2ZZZI_HtoS:
16733 case AArch64::FTMOPA_M2ZZZI_BtoS:
16734 case AArch64::FTMOPA_M2ZZZI_HtoS:
16735 case AArch64::FTMOPA_M2ZZZI_StoS:
16736 case AArch64::STMOPA_M2ZZZI_BtoS:
16737 case AArch64::STMOPA_M2ZZZI_HtoS:
16738 case AArch64::SUTMOPA_M2ZZZI_BtoS:
16739 case AArch64::USTMOPA_M2ZZZI_BtoS:
16740 case AArch64::UTMOPA_M2ZZZI_BtoS:
16741 case AArch64::UTMOPA_M2ZZZI_HtoS: {
16742 // op: ZAda
16743 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16744 Value |= (op & 0x3);
16745 // op: Zn
16746 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
16747 Value |= (op & 0xf) << 6;
16748 // op: Zm
16749 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16750 Value |= (op & 0x1f) << 16;
16751 // op: Zk
16752 op = EncodeZK(MI, OpIdx: 4, Fixups, STI);
16753 Value |= (op & 0x7) << 10;
16754 // op: imm
16755 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16756 Value |= (op & 0x3) << 4;
16757 break;
16758 }
16759 case AArch64::BFMOP4A_MZ2Z_S:
16760 case AArch64::BFMOP4S_MZ2Z_S:
16761 case AArch64::FMOP4A_MZ2Z_BtoS:
16762 case AArch64::FMOP4A_MZ2Z_HtoS:
16763 case AArch64::FMOP4A_MZ2Z_S:
16764 case AArch64::FMOP4S_MZ2Z_HtoS:
16765 case AArch64::FMOP4S_MZ2Z_S:
16766 case AArch64::SMOP4A_MZ2Z_BToS:
16767 case AArch64::SMOP4A_MZ2Z_HToS:
16768 case AArch64::SMOP4S_MZ2Z_BToS:
16769 case AArch64::SMOP4S_MZ2Z_HToS:
16770 case AArch64::SUMOP4A_MZ2Z_BToS:
16771 case AArch64::SUMOP4S_MZ2Z_BToS:
16772 case AArch64::UMOP4A_MZ2Z_BToS:
16773 case AArch64::UMOP4A_MZ2Z_HToS:
16774 case AArch64::UMOP4S_MZ2Z_BToS:
16775 case AArch64::UMOP4S_MZ2Z_HToS:
16776 case AArch64::USMOP4A_MZ2Z_BToS:
16777 case AArch64::USMOP4S_MZ2Z_BToS: {
16778 // op: ZAda
16779 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16780 Value |= (op & 0x3);
16781 // op: Zn
16782 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16783 Value |= (op & 0x7) << 6;
16784 // op: Zm
16785 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16786 Value |= (op & 0x7) << 17;
16787 break;
16788 }
16789 case AArch64::BFMOP4A_MZZ_S:
16790 case AArch64::BFMOP4S_MZZ_S:
16791 case AArch64::FMOP4A_MZZ_BtoS:
16792 case AArch64::FMOP4A_MZZ_HtoS:
16793 case AArch64::FMOP4A_MZZ_S:
16794 case AArch64::FMOP4S_MZZ_HtoS:
16795 case AArch64::FMOP4S_MZZ_S:
16796 case AArch64::SMOP4A_MZZ_BToS:
16797 case AArch64::SMOP4A_MZZ_HToS:
16798 case AArch64::SMOP4S_MZZ_BToS:
16799 case AArch64::SMOP4S_MZZ_HToS:
16800 case AArch64::SUMOP4A_MZZ_BToS:
16801 case AArch64::SUMOP4S_MZZ_BToS:
16802 case AArch64::UMOP4A_MZZ_BToS:
16803 case AArch64::UMOP4A_MZZ_HToS:
16804 case AArch64::UMOP4S_MZZ_BToS:
16805 case AArch64::UMOP4S_MZZ_HToS:
16806 case AArch64::USMOP4A_MZZ_BToS:
16807 case AArch64::USMOP4S_MZZ_BToS: {
16808 // op: ZAda
16809 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16810 Value |= (op & 0x3);
16811 // op: Zn
16812 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16813 Value |= (op & 0x7) << 6;
16814 // op: Zm
16815 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16816 Value |= (op & 0x7) << 17;
16817 break;
16818 }
16819 case AArch64::FMOP4A_M2Z2Z_D:
16820 case AArch64::FMOP4S_M2Z2Z_D:
16821 case AArch64::SMOP4A_M2Z2Z_HtoD:
16822 case AArch64::SMOP4S_M2Z2Z_HtoD:
16823 case AArch64::SUMOP4A_M2Z2Z_HtoD:
16824 case AArch64::SUMOP4S_M2Z2Z_HtoD:
16825 case AArch64::UMOP4A_M2Z2Z_HtoD:
16826 case AArch64::UMOP4S_M2Z2Z_HtoD:
16827 case AArch64::USMOP4A_M2Z2Z_HtoD:
16828 case AArch64::USMOP4S_M2Z2Z_HtoD: {
16829 // op: ZAda
16830 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16831 Value |= (op & 0x7);
16832 // op: Zn
16833 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16834 Value |= (op & 0x7) << 6;
16835 // op: Zm
16836 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16837 Value |= (op & 0x7) << 17;
16838 break;
16839 }
16840 case AArch64::FMOP4A_M2ZZ_D:
16841 case AArch64::FMOP4S_M2ZZ_D:
16842 case AArch64::SMOP4A_M2ZZ_HtoD:
16843 case AArch64::SMOP4S_M2ZZ_HtoD:
16844 case AArch64::SUMOP4A_M2ZZ_HtoD:
16845 case AArch64::SUMOP4S_M2ZZ_HtoD:
16846 case AArch64::UMOP4A_M2ZZ_HtoD:
16847 case AArch64::UMOP4S_M2ZZ_HtoD:
16848 case AArch64::USMOP4A_M2ZZ_HtoD:
16849 case AArch64::USMOP4S_M2ZZ_HtoD: {
16850 // op: ZAda
16851 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16852 Value |= (op & 0x7);
16853 // op: Zn
16854 op = EncodeRegMul_MinMax<2, 0, 14>(MI, OpIdx: 2, Fixups, STI);
16855 Value |= (op & 0x7) << 6;
16856 // op: Zm
16857 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16858 Value |= (op & 0x7) << 17;
16859 break;
16860 }
16861 case AArch64::FMOP4A_MZ2Z_D:
16862 case AArch64::FMOP4S_MZ2Z_D:
16863 case AArch64::SMOP4A_MZ2Z_HtoD:
16864 case AArch64::SMOP4S_MZ2Z_HtoD:
16865 case AArch64::SUMOP4A_MZ2Z_HtoD:
16866 case AArch64::SUMOP4S_MZ2Z_HtoD:
16867 case AArch64::UMOP4A_MZ2Z_HtoD:
16868 case AArch64::UMOP4S_MZ2Z_HtoD:
16869 case AArch64::USMOP4A_MZ2Z_HtoD:
16870 case AArch64::USMOP4S_MZ2Z_HtoD: {
16871 // op: ZAda
16872 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16873 Value |= (op & 0x7);
16874 // op: Zn
16875 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16876 Value |= (op & 0x7) << 6;
16877 // op: Zm
16878 op = EncodeRegMul_MinMax<2, 16, 30>(MI, OpIdx: 3, Fixups, STI);
16879 Value |= (op & 0x7) << 17;
16880 break;
16881 }
16882 case AArch64::FMOP4A_MZZ_D:
16883 case AArch64::FMOP4S_MZZ_D:
16884 case AArch64::SMOP4A_MZZ_HtoD:
16885 case AArch64::SMOP4S_MZZ_HtoD:
16886 case AArch64::SUMOP4A_MZZ_HtoD:
16887 case AArch64::SUMOP4S_MZZ_HtoD:
16888 case AArch64::UMOP4A_MZZ_HtoD:
16889 case AArch64::UMOP4S_MZZ_HtoD:
16890 case AArch64::USMOP4A_MZZ_HtoD:
16891 case AArch64::USMOP4S_MZZ_HtoD: {
16892 // op: ZAda
16893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16894 Value |= (op & 0x7);
16895 // op: Zn
16896 op = EncodeRegMul_MinMax<2,0, 14>(MI, OpIdx: 2, Fixups, STI);
16897 Value |= (op & 0x7) << 6;
16898 // op: Zm
16899 op = EncodeRegMul_MinMax<2,16, 30>(MI, OpIdx: 3, Fixups, STI);
16900 Value |= (op & 0x7) << 17;
16901 break;
16902 }
16903 case AArch64::MOVA_2ZMXI_H_H:
16904 case AArch64::MOVA_2ZMXI_V_H: {
16905 // op: Zd
16906 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16907 Value |= (op & 0xf) << 1;
16908 // op: Rs
16909 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16910 Value |= (op & 0x3) << 13;
16911 // op: ZAn
16912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16913 Value |= (op & 0x1) << 7;
16914 // op: imm
16915 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16916 Value |= (op & 0x3) << 5;
16917 break;
16918 }
16919 case AArch64::MOVA_2ZMXI_H_S:
16920 case AArch64::MOVA_2ZMXI_V_S: {
16921 // op: Zd
16922 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16923 Value |= (op & 0xf) << 1;
16924 // op: Rs
16925 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16926 Value |= (op & 0x3) << 13;
16927 // op: ZAn
16928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16929 Value |= (op & 0x3) << 6;
16930 // op: imm
16931 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16932 Value |= (op & 0x1) << 5;
16933 break;
16934 }
16935 case AArch64::MOVA_2ZMXI_H_D:
16936 case AArch64::MOVA_2ZMXI_V_D: {
16937 // op: Zd
16938 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16939 Value |= (op & 0xf) << 1;
16940 // op: Rs
16941 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16942 Value |= (op & 0x3) << 13;
16943 // op: ZAn
16944 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16945 Value |= (op & 0x7) << 5;
16946 break;
16947 }
16948 case AArch64::MOVA_2ZMXI_H_B:
16949 case AArch64::MOVA_2ZMXI_V_B: {
16950 // op: Zd
16951 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16952 Value |= (op & 0xf) << 1;
16953 // op: Rs
16954 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
16955 Value |= (op & 0x3) << 13;
16956 // op: imm
16957 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16958 Value |= (op & 0x7) << 5;
16959 break;
16960 }
16961 case AArch64::MOVAZ_2ZMI_H_H:
16962 case AArch64::MOVAZ_2ZMI_V_H: {
16963 // op: Zd
16964 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16965 Value |= (op & 0xf) << 1;
16966 // op: Rs
16967 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
16968 Value |= (op & 0x3) << 13;
16969 // op: ZAn
16970 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16971 Value |= (op & 0x1) << 7;
16972 // op: imm
16973 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16974 Value |= (op & 0x3) << 5;
16975 break;
16976 }
16977 case AArch64::MOVAZ_2ZMI_H_S:
16978 case AArch64::MOVAZ_2ZMI_V_S: {
16979 // op: Zd
16980 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16981 Value |= (op & 0xf) << 1;
16982 // op: Rs
16983 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
16984 Value |= (op & 0x3) << 13;
16985 // op: ZAn
16986 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16987 Value |= (op & 0x3) << 6;
16988 // op: imm
16989 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16990 Value |= (op & 0x1) << 5;
16991 break;
16992 }
16993 case AArch64::MOVAZ_2ZMI_H_D:
16994 case AArch64::MOVAZ_2ZMI_V_D: {
16995 // op: Zd
16996 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
16997 Value |= (op & 0xf) << 1;
16998 // op: Rs
16999 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17000 Value |= (op & 0x3) << 13;
17001 // op: ZAn
17002 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17003 Value |= (op & 0x7) << 5;
17004 break;
17005 }
17006 case AArch64::MOVAZ_2ZMI_H_B:
17007 case AArch64::MOVAZ_2ZMI_V_B: {
17008 // op: Zd
17009 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17010 Value |= (op & 0xf) << 1;
17011 // op: Rs
17012 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17013 Value |= (op & 0x3) << 13;
17014 // op: imm
17015 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17016 Value |= (op & 0x7) << 5;
17017 break;
17018 }
17019 case AArch64::UZP_VG2_2ZZZ_B:
17020 case AArch64::UZP_VG2_2ZZZ_D:
17021 case AArch64::UZP_VG2_2ZZZ_H:
17022 case AArch64::UZP_VG2_2ZZZ_Q:
17023 case AArch64::UZP_VG2_2ZZZ_S:
17024 case AArch64::ZIP_VG2_2ZZZ_B:
17025 case AArch64::ZIP_VG2_2ZZZ_D:
17026 case AArch64::ZIP_VG2_2ZZZ_H:
17027 case AArch64::ZIP_VG2_2ZZZ_Q:
17028 case AArch64::ZIP_VG2_2ZZZ_S: {
17029 // op: Zd
17030 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17031 Value |= (op & 0xf) << 1;
17032 // op: Zm
17033 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17034 Value |= (op & 0x1f) << 16;
17035 // op: Zn
17036 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17037 Value |= (op & 0x1f) << 5;
17038 break;
17039 }
17040 case AArch64::BFMUL_2Z2Z:
17041 case AArch64::FMUL_2Z2Z_D:
17042 case AArch64::FMUL_2Z2Z_H:
17043 case AArch64::FMUL_2Z2Z_S: {
17044 // op: Zd
17045 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17046 Value |= (op & 0xf) << 1;
17047 // op: Zn
17048 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17049 Value |= (op & 0xf) << 6;
17050 // op: Zm
17051 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
17052 Value |= (op & 0xf) << 17;
17053 break;
17054 }
17055 case AArch64::BFMUL_2ZZ:
17056 case AArch64::FMUL_2ZZ_D:
17057 case AArch64::FMUL_2ZZ_H:
17058 case AArch64::FMUL_2ZZ_S: {
17059 // op: Zd
17060 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
17061 Value |= (op & 0xf) << 1;
17062 // op: Zn
17063 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17064 Value |= (op & 0xf) << 6;
17065 // op: Zm
17066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17067 Value |= (op & 0xf) << 17;
17068 break;
17069 }
17070 case AArch64::MOVA_4ZMXI_H_H:
17071 case AArch64::MOVA_4ZMXI_V_H: {
17072 // op: Zd
17073 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17074 Value |= (op & 0x7) << 2;
17075 // op: Rs
17076 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17077 Value |= (op & 0x3) << 13;
17078 // op: ZAn
17079 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17080 Value |= (op & 0x1) << 6;
17081 // op: imm
17082 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17083 Value |= (op & 0x1) << 5;
17084 break;
17085 }
17086 case AArch64::MOVA_4ZMXI_H_S:
17087 case AArch64::MOVA_4ZMXI_V_S: {
17088 // op: Zd
17089 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17090 Value |= (op & 0x7) << 2;
17091 // op: Rs
17092 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17093 Value |= (op & 0x3) << 13;
17094 // op: ZAn
17095 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17096 Value |= (op & 0x3) << 5;
17097 break;
17098 }
17099 case AArch64::MOVA_4ZMXI_H_D:
17100 case AArch64::MOVA_4ZMXI_V_D: {
17101 // op: Zd
17102 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17103 Value |= (op & 0x7) << 2;
17104 // op: Rs
17105 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17106 Value |= (op & 0x3) << 13;
17107 // op: ZAn
17108 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17109 Value |= (op & 0x7) << 5;
17110 break;
17111 }
17112 case AArch64::MOVA_4ZMXI_H_B:
17113 case AArch64::MOVA_4ZMXI_V_B: {
17114 // op: Zd
17115 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17116 Value |= (op & 0x7) << 2;
17117 // op: Rs
17118 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 2, Fixups, STI);
17119 Value |= (op & 0x3) << 13;
17120 // op: imm
17121 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17122 Value |= (op & 0x3) << 5;
17123 break;
17124 }
17125 case AArch64::MOVAZ_4ZMI_H_H:
17126 case AArch64::MOVAZ_4ZMI_V_H: {
17127 // op: Zd
17128 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17129 Value |= (op & 0x7) << 2;
17130 // op: Rs
17131 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17132 Value |= (op & 0x3) << 13;
17133 // op: ZAn
17134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17135 Value |= (op & 0x1) << 6;
17136 // op: imm
17137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17138 Value |= (op & 0x1) << 5;
17139 break;
17140 }
17141 case AArch64::MOVAZ_4ZMI_H_S:
17142 case AArch64::MOVAZ_4ZMI_V_S: {
17143 // op: Zd
17144 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17145 Value |= (op & 0x7) << 2;
17146 // op: Rs
17147 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17148 Value |= (op & 0x3) << 13;
17149 // op: ZAn
17150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17151 Value |= (op & 0x3) << 5;
17152 break;
17153 }
17154 case AArch64::MOVAZ_4ZMI_H_D:
17155 case AArch64::MOVAZ_4ZMI_V_D: {
17156 // op: Zd
17157 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17158 Value |= (op & 0x7) << 2;
17159 // op: Rs
17160 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17161 Value |= (op & 0x3) << 13;
17162 // op: ZAn
17163 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17164 Value |= (op & 0x7) << 5;
17165 break;
17166 }
17167 case AArch64::MOVAZ_4ZMI_H_B:
17168 case AArch64::MOVAZ_4ZMI_V_B: {
17169 // op: Zd
17170 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17171 Value |= (op & 0x7) << 2;
17172 // op: Rs
17173 op = encodeMatrixIndexGPR32<AArch64::W12>(MI, OpIdx: 3, Fixups, STI);
17174 Value |= (op & 0x3) << 13;
17175 // op: imm
17176 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
17177 Value |= (op & 0x3) << 5;
17178 break;
17179 }
17180 case AArch64::LUTI6_4ZT3Z: {
17181 // op: Zd
17182 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17183 Value |= (op & 0x7) << 2;
17184 // op: Zn
17185 op = EncodeRegMul_MinMax<1, 0, 7>(MI, OpIdx: 2, Fixups, STI);
17186 Value |= (op & 0x7) << 7;
17187 break;
17188 }
17189 case AArch64::BFMUL_4Z4Z:
17190 case AArch64::FMUL_4Z4Z_D:
17191 case AArch64::FMUL_4Z4Z_H:
17192 case AArch64::FMUL_4Z4Z_S: {
17193 // op: Zd
17194 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17195 Value |= (op & 0x7) << 2;
17196 // op: Zn
17197 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
17198 Value |= (op & 0x7) << 7;
17199 // op: Zm
17200 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 2, Fixups, STI);
17201 Value |= (op & 0x7) << 18;
17202 break;
17203 }
17204 case AArch64::BFMUL_4ZZ:
17205 case AArch64::FMUL_4ZZ_D:
17206 case AArch64::FMUL_4ZZ_H:
17207 case AArch64::FMUL_4ZZ_S: {
17208 // op: Zd
17209 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17210 Value |= (op & 0x7) << 2;
17211 // op: Zn
17212 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
17213 Value |= (op & 0x7) << 7;
17214 // op: Zm
17215 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17216 Value |= (op & 0xf) << 17;
17217 break;
17218 }
17219 case AArch64::LUTI6_4Z2Z2ZI: {
17220 // op: Zd
17221 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
17222 Value |= (op & 0x7) << 2;
17223 // op: Zn
17224 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17225 Value |= (op & 0x1f) << 5;
17226 // op: Zm
17227 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17228 Value |= (op & 0x1f) << 16;
17229 // op: i1
17230 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17231 Value |= (op & 0x1) << 22;
17232 break;
17233 }
17234 case AArch64::LUTI6_S_4ZT3Z: {
17235 // op: Zd
17236 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
17237 Value |= (op & 0x4) << 2;
17238 Value |= (op & 0x3);
17239 // op: Zn
17240 op = EncodeRegMul_MinMax<1, 0, 7>(MI, OpIdx: 2, Fixups, STI);
17241 Value |= (op & 0x7) << 7;
17242 break;
17243 }
17244 case AArch64::LUTI6_S_4Z2Z2ZI: {
17245 // op: Zd
17246 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
17247 Value |= (op & 0x4) << 2;
17248 Value |= (op & 0x3);
17249 // op: Zn
17250 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17251 Value |= (op & 0x1f) << 5;
17252 // op: Zm
17253 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17254 Value |= (op & 0x1f) << 16;
17255 // op: i1
17256 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17257 Value |= (op & 0x1) << 22;
17258 break;
17259 }
17260 case AArch64::RBIT_ZPzZ_B:
17261 case AArch64::RBIT_ZPzZ_D:
17262 case AArch64::RBIT_ZPzZ_H:
17263 case AArch64::RBIT_ZPzZ_S:
17264 case AArch64::REVB_ZPzZ_D:
17265 case AArch64::REVB_ZPzZ_H:
17266 case AArch64::REVB_ZPzZ_S:
17267 case AArch64::REVD_ZPzZ:
17268 case AArch64::REVH_ZPzZ_D:
17269 case AArch64::REVH_ZPzZ_S:
17270 case AArch64::REVW_ZPzZ_D: {
17271 // op: Zd
17272 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17273 Value |= (op & 0x1f);
17274 // op: Pg
17275 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17276 Value |= (op & 0x7) << 10;
17277 // op: Zn
17278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17279 Value |= (op & 0x1f) << 5;
17280 break;
17281 }
17282 case AArch64::CPY_ZPzI_B:
17283 case AArch64::CPY_ZPzI_D:
17284 case AArch64::CPY_ZPzI_H:
17285 case AArch64::CPY_ZPzI_S: {
17286 // op: Zd
17287 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17288 Value |= (op & 0x1f);
17289 // op: Pg
17290 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17291 Value |= (op & 0xf) << 16;
17292 // op: imm
17293 op = getImm8OptLsl(MI, OpIdx: 2, Fixups, STI);
17294 Value |= (op & 0x1ff) << 5;
17295 break;
17296 }
17297 case AArch64::RBIT_ZPmZ_B:
17298 case AArch64::RBIT_ZPmZ_D:
17299 case AArch64::RBIT_ZPmZ_H:
17300 case AArch64::RBIT_ZPmZ_S:
17301 case AArch64::REVB_ZPmZ_D:
17302 case AArch64::REVB_ZPmZ_H:
17303 case AArch64::REVB_ZPmZ_S:
17304 case AArch64::REVD_ZPmZ:
17305 case AArch64::REVH_ZPmZ_D:
17306 case AArch64::REVH_ZPmZ_S:
17307 case AArch64::REVW_ZPmZ_D: {
17308 // op: Zd
17309 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17310 Value |= (op & 0x1f);
17311 // op: Pg
17312 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17313 Value |= (op & 0x7) << 10;
17314 // op: Zn
17315 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17316 Value |= (op & 0x1f) << 5;
17317 break;
17318 }
17319 case AArch64::CPY_ZPmI_B:
17320 case AArch64::CPY_ZPmI_D:
17321 case AArch64::CPY_ZPmI_H:
17322 case AArch64::CPY_ZPmI_S: {
17323 // op: Zd
17324 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17325 Value |= (op & 0x1f);
17326 // op: Pg
17327 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17328 Value |= (op & 0xf) << 16;
17329 // op: imm
17330 op = getImm8OptLsl(MI, OpIdx: 3, Fixups, STI);
17331 Value |= (op & 0x1ff) << 5;
17332 break;
17333 }
17334 case AArch64::PMOV_ZIP_B: {
17335 // op: Zd
17336 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17337 Value |= (op & 0x1f);
17338 // op: Pn
17339 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17340 Value |= (op & 0xf) << 5;
17341 break;
17342 }
17343 case AArch64::PMOV_ZIP_H: {
17344 // op: Zd
17345 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17346 Value |= (op & 0x1f);
17347 // op: Pn
17348 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17349 Value |= (op & 0xf) << 5;
17350 // op: index
17351 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17352 Value |= (op & 0x1) << 17;
17353 break;
17354 }
17355 case AArch64::PMOV_ZIP_S: {
17356 // op: Zd
17357 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17358 Value |= (op & 0x1f);
17359 // op: Pn
17360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17361 Value |= (op & 0xf) << 5;
17362 // op: index
17363 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17364 Value |= (op & 0x3) << 17;
17365 break;
17366 }
17367 case AArch64::PMOV_ZIP_D: {
17368 // op: Zd
17369 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17370 Value |= (op & 0x1f);
17371 // op: Pn
17372 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17373 Value |= (op & 0xf) << 5;
17374 // op: index
17375 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17376 Value |= (op & 0x4) << 20;
17377 Value |= (op & 0x3) << 17;
17378 break;
17379 }
17380 case AArch64::INDEX_RR_B:
17381 case AArch64::INDEX_RR_D:
17382 case AArch64::INDEX_RR_H:
17383 case AArch64::INDEX_RR_S: {
17384 // op: Zd
17385 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17386 Value |= (op & 0x1f);
17387 // op: Rm
17388 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17389 Value |= (op & 0x1f) << 16;
17390 // op: Rn
17391 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17392 Value |= (op & 0x1f) << 5;
17393 break;
17394 }
17395 case AArch64::ADDQP_ZZZ_B:
17396 case AArch64::ADDQP_ZZZ_D:
17397 case AArch64::ADDQP_ZZZ_H:
17398 case AArch64::ADDQP_ZZZ_S:
17399 case AArch64::ADDSUBP_ZZZ_B:
17400 case AArch64::ADDSUBP_ZZZ_D:
17401 case AArch64::ADDSUBP_ZZZ_H:
17402 case AArch64::ADDSUBP_ZZZ_S:
17403 case AArch64::ADD_ZZZ_B:
17404 case AArch64::ADD_ZZZ_CPA:
17405 case AArch64::ADD_ZZZ_D:
17406 case AArch64::ADD_ZZZ_H:
17407 case AArch64::ADD_ZZZ_S:
17408 case AArch64::AND_ZZZ:
17409 case AArch64::ASR_WIDE_ZZZ_B:
17410 case AArch64::ASR_WIDE_ZZZ_H:
17411 case AArch64::ASR_WIDE_ZZZ_S:
17412 case AArch64::BFADD_ZZZ:
17413 case AArch64::BFMUL_ZZZ:
17414 case AArch64::BFSUB_ZZZ:
17415 case AArch64::BIC_ZZZ:
17416 case AArch64::EOR_ZZZ:
17417 case AArch64::FADD_ZZZ_D:
17418 case AArch64::FADD_ZZZ_H:
17419 case AArch64::FADD_ZZZ_S:
17420 case AArch64::FMUL_ZZZ_D:
17421 case AArch64::FMUL_ZZZ_H:
17422 case AArch64::FMUL_ZZZ_S:
17423 case AArch64::FRECPS_ZZZ_D:
17424 case AArch64::FRECPS_ZZZ_H:
17425 case AArch64::FRECPS_ZZZ_S:
17426 case AArch64::FRSQRTS_ZZZ_D:
17427 case AArch64::FRSQRTS_ZZZ_H:
17428 case AArch64::FRSQRTS_ZZZ_S:
17429 case AArch64::FSUB_ZZZ_D:
17430 case AArch64::FSUB_ZZZ_H:
17431 case AArch64::FSUB_ZZZ_S:
17432 case AArch64::FTSMUL_ZZZ_D:
17433 case AArch64::FTSMUL_ZZZ_H:
17434 case AArch64::FTSMUL_ZZZ_S:
17435 case AArch64::FTSSEL_ZZZ_D:
17436 case AArch64::FTSSEL_ZZZ_H:
17437 case AArch64::FTSSEL_ZZZ_S:
17438 case AArch64::LSL_WIDE_ZZZ_B:
17439 case AArch64::LSL_WIDE_ZZZ_H:
17440 case AArch64::LSL_WIDE_ZZZ_S:
17441 case AArch64::LSR_WIDE_ZZZ_B:
17442 case AArch64::LSR_WIDE_ZZZ_H:
17443 case AArch64::LSR_WIDE_ZZZ_S:
17444 case AArch64::MUL_ZZZ_B:
17445 case AArch64::MUL_ZZZ_D:
17446 case AArch64::MUL_ZZZ_H:
17447 case AArch64::MUL_ZZZ_S:
17448 case AArch64::ORR_ZZZ:
17449 case AArch64::PMUL_ZZZ_B:
17450 case AArch64::SMULH_ZZZ_B:
17451 case AArch64::SMULH_ZZZ_D:
17452 case AArch64::SMULH_ZZZ_H:
17453 case AArch64::SMULH_ZZZ_S:
17454 case AArch64::SQADD_ZZZ_B:
17455 case AArch64::SQADD_ZZZ_D:
17456 case AArch64::SQADD_ZZZ_H:
17457 case AArch64::SQADD_ZZZ_S:
17458 case AArch64::SQDMULH_ZZZ_B:
17459 case AArch64::SQDMULH_ZZZ_D:
17460 case AArch64::SQDMULH_ZZZ_H:
17461 case AArch64::SQDMULH_ZZZ_S:
17462 case AArch64::SQRDMULH_ZZZ_B:
17463 case AArch64::SQRDMULH_ZZZ_D:
17464 case AArch64::SQRDMULH_ZZZ_H:
17465 case AArch64::SQRDMULH_ZZZ_S:
17466 case AArch64::SQSUB_ZZZ_B:
17467 case AArch64::SQSUB_ZZZ_D:
17468 case AArch64::SQSUB_ZZZ_H:
17469 case AArch64::SQSUB_ZZZ_S:
17470 case AArch64::SUB_ZZZ_B:
17471 case AArch64::SUB_ZZZ_CPA:
17472 case AArch64::SUB_ZZZ_D:
17473 case AArch64::SUB_ZZZ_H:
17474 case AArch64::SUB_ZZZ_S:
17475 case AArch64::TBL_ZZZZ_B:
17476 case AArch64::TBL_ZZZZ_D:
17477 case AArch64::TBL_ZZZZ_H:
17478 case AArch64::TBL_ZZZZ_S:
17479 case AArch64::TBL_ZZZ_B:
17480 case AArch64::TBL_ZZZ_D:
17481 case AArch64::TBL_ZZZ_H:
17482 case AArch64::TBL_ZZZ_S:
17483 case AArch64::TRN1_ZZZ_B:
17484 case AArch64::TRN1_ZZZ_D:
17485 case AArch64::TRN1_ZZZ_H:
17486 case AArch64::TRN1_ZZZ_Q:
17487 case AArch64::TRN1_ZZZ_S:
17488 case AArch64::TRN2_ZZZ_B:
17489 case AArch64::TRN2_ZZZ_D:
17490 case AArch64::TRN2_ZZZ_H:
17491 case AArch64::TRN2_ZZZ_Q:
17492 case AArch64::TRN2_ZZZ_S:
17493 case AArch64::UMULH_ZZZ_B:
17494 case AArch64::UMULH_ZZZ_D:
17495 case AArch64::UMULH_ZZZ_H:
17496 case AArch64::UMULH_ZZZ_S:
17497 case AArch64::UQADD_ZZZ_B:
17498 case AArch64::UQADD_ZZZ_D:
17499 case AArch64::UQADD_ZZZ_H:
17500 case AArch64::UQADD_ZZZ_S:
17501 case AArch64::UQSUB_ZZZ_B:
17502 case AArch64::UQSUB_ZZZ_D:
17503 case AArch64::UQSUB_ZZZ_H:
17504 case AArch64::UQSUB_ZZZ_S:
17505 case AArch64::UZP1_ZZZ_B:
17506 case AArch64::UZP1_ZZZ_D:
17507 case AArch64::UZP1_ZZZ_H:
17508 case AArch64::UZP1_ZZZ_Q:
17509 case AArch64::UZP1_ZZZ_S:
17510 case AArch64::UZP2_ZZZ_B:
17511 case AArch64::UZP2_ZZZ_D:
17512 case AArch64::UZP2_ZZZ_H:
17513 case AArch64::UZP2_ZZZ_Q:
17514 case AArch64::UZP2_ZZZ_S:
17515 case AArch64::ZIP1_ZZZ_B:
17516 case AArch64::ZIP1_ZZZ_D:
17517 case AArch64::ZIP1_ZZZ_H:
17518 case AArch64::ZIP1_ZZZ_Q:
17519 case AArch64::ZIP1_ZZZ_S:
17520 case AArch64::ZIP2_ZZZ_B:
17521 case AArch64::ZIP2_ZZZ_D:
17522 case AArch64::ZIP2_ZZZ_H:
17523 case AArch64::ZIP2_ZZZ_Q:
17524 case AArch64::ZIP2_ZZZ_S: {
17525 // op: Zd
17526 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17527 Value |= (op & 0x1f);
17528 // op: Zm
17529 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17530 Value |= (op & 0x1f) << 16;
17531 // op: Zn
17532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17533 Value |= (op & 0x1f) << 5;
17534 break;
17535 }
17536 case AArch64::TBXQ_ZZZ_B:
17537 case AArch64::TBXQ_ZZZ_D:
17538 case AArch64::TBXQ_ZZZ_H:
17539 case AArch64::TBXQ_ZZZ_S:
17540 case AArch64::TBX_ZZZ_B:
17541 case AArch64::TBX_ZZZ_D:
17542 case AArch64::TBX_ZZZ_H:
17543 case AArch64::TBX_ZZZ_S: {
17544 // op: Zd
17545 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17546 Value |= (op & 0x1f);
17547 // op: Zm
17548 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17549 Value |= (op & 0x1f) << 16;
17550 // op: Zn
17551 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17552 Value |= (op & 0x1f) << 5;
17553 break;
17554 }
17555 case AArch64::BFCVTN_Z2Z_HtoB:
17556 case AArch64::FCVTNB_Z2Z_StoB:
17557 case AArch64::FCVTN_Z2Z_HtoB:
17558 case AArch64::FCVTZSN_Z2Z_DtoS:
17559 case AArch64::FCVTZSN_Z2Z_HtoB:
17560 case AArch64::FCVTZSN_Z2Z_StoH:
17561 case AArch64::FCVTZUN_Z2Z_DtoS:
17562 case AArch64::FCVTZUN_Z2Z_HtoB:
17563 case AArch64::FCVTZUN_Z2Z_StoH:
17564 case AArch64::SQCVTN_Z2Z_StoH:
17565 case AArch64::SQCVTUN_Z2Z_StoH:
17566 case AArch64::UQCVTN_Z2Z_StoH: {
17567 // op: Zd
17568 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17569 Value |= (op & 0x1f);
17570 // op: Zn
17571 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17572 Value |= (op & 0xf) << 6;
17573 break;
17574 }
17575 case AArch64::SQRSHRN_Z2ZI_StoH:
17576 case AArch64::SQRSHRUN_Z2ZI_StoH:
17577 case AArch64::SQSHRN_Z2ZI_StoH:
17578 case AArch64::SQSHRUN_Z2ZI_StoH:
17579 case AArch64::UQRSHRN_Z2ZI_StoH:
17580 case AArch64::UQSHRN_Z2ZI_StoH: {
17581 // op: Zd
17582 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17583 Value |= (op & 0x1f);
17584 // op: Zn
17585 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17586 Value |= (op & 0xf) << 6;
17587 // op: imm
17588 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
17589 Value |= (op & 0xf) << 16;
17590 break;
17591 }
17592 case AArch64::SQRSHRN_Z2ZI_HtoB:
17593 case AArch64::SQRSHRUN_Z2ZI_HtoB:
17594 case AArch64::SQSHRN_Z2ZI_HtoB:
17595 case AArch64::SQSHRUN_Z2ZI_HtoB:
17596 case AArch64::UQRSHRN_Z2ZI_HtoB:
17597 case AArch64::UQSHRN_Z2ZI_HtoB: {
17598 // op: Zd
17599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17600 Value |= (op & 0x1f);
17601 // op: Zn
17602 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
17603 Value |= (op & 0xf) << 6;
17604 // op: imm
17605 op = getVecShiftR8OpValue(MI, OpIdx: 2, Fixups, STI);
17606 Value |= (op & 0x7) << 16;
17607 break;
17608 }
17609 case AArch64::FCVTNT_Z2Z_StoB: {
17610 // op: Zd
17611 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17612 Value |= (op & 0x1f);
17613 // op: Zn
17614 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
17615 Value |= (op & 0xf) << 6;
17616 break;
17617 }
17618 case AArch64::BF1CVTLT_ZZ_BtoH:
17619 case AArch64::BF1CVT_ZZ_BtoH:
17620 case AArch64::BF2CVTLT_ZZ_BtoH:
17621 case AArch64::BF2CVT_ZZ_BtoH:
17622 case AArch64::F1CVTLT_ZZ_BtoH:
17623 case AArch64::F1CVT_ZZ_BtoH:
17624 case AArch64::F2CVTLT_ZZ_BtoH:
17625 case AArch64::F2CVT_ZZ_BtoH:
17626 case AArch64::FEXPA_ZZ_D:
17627 case AArch64::FEXPA_ZZ_H:
17628 case AArch64::FEXPA_ZZ_S:
17629 case AArch64::FRECPE_ZZ_D:
17630 case AArch64::FRECPE_ZZ_H:
17631 case AArch64::FRECPE_ZZ_S:
17632 case AArch64::FRSQRTE_ZZ_D:
17633 case AArch64::FRSQRTE_ZZ_H:
17634 case AArch64::FRSQRTE_ZZ_S:
17635 case AArch64::MOVPRFX_ZZ:
17636 case AArch64::REV_ZZ_B:
17637 case AArch64::REV_ZZ_D:
17638 case AArch64::REV_ZZ_H:
17639 case AArch64::REV_ZZ_S:
17640 case AArch64::SCVTFLT_ZZ_BtoH:
17641 case AArch64::SCVTFLT_ZZ_HtoS:
17642 case AArch64::SCVTFLT_ZZ_StoD:
17643 case AArch64::SCVTF_ZZ_BtoH:
17644 case AArch64::SCVTF_ZZ_HtoS:
17645 case AArch64::SCVTF_ZZ_StoD:
17646 case AArch64::SQXTNB_ZZ_B:
17647 case AArch64::SQXTNB_ZZ_H:
17648 case AArch64::SQXTNB_ZZ_S:
17649 case AArch64::SQXTUNB_ZZ_B:
17650 case AArch64::SQXTUNB_ZZ_H:
17651 case AArch64::SQXTUNB_ZZ_S:
17652 case AArch64::SUNPKHI_ZZ_D:
17653 case AArch64::SUNPKHI_ZZ_H:
17654 case AArch64::SUNPKHI_ZZ_S:
17655 case AArch64::SUNPKLO_ZZ_D:
17656 case AArch64::SUNPKLO_ZZ_H:
17657 case AArch64::SUNPKLO_ZZ_S:
17658 case AArch64::UCVTFLT_ZZ_BtoH:
17659 case AArch64::UCVTFLT_ZZ_HtoS:
17660 case AArch64::UCVTFLT_ZZ_StoD:
17661 case AArch64::UCVTF_ZZ_BtoH:
17662 case AArch64::UCVTF_ZZ_HtoS:
17663 case AArch64::UCVTF_ZZ_StoD:
17664 case AArch64::UQXTNB_ZZ_B:
17665 case AArch64::UQXTNB_ZZ_H:
17666 case AArch64::UQXTNB_ZZ_S:
17667 case AArch64::UUNPKHI_ZZ_D:
17668 case AArch64::UUNPKHI_ZZ_H:
17669 case AArch64::UUNPKHI_ZZ_S:
17670 case AArch64::UUNPKLO_ZZ_D:
17671 case AArch64::UUNPKLO_ZZ_H:
17672 case AArch64::UUNPKLO_ZZ_S: {
17673 // op: Zd
17674 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17675 Value |= (op & 0x1f);
17676 // op: Zn
17677 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17678 Value |= (op & 0x1f) << 5;
17679 break;
17680 }
17681 case AArch64::ADDHNB_ZZZ_B:
17682 case AArch64::ADDHNB_ZZZ_H:
17683 case AArch64::ADDHNB_ZZZ_S:
17684 case AArch64::ADR_LSL_ZZZ_D_0:
17685 case AArch64::ADR_LSL_ZZZ_D_1:
17686 case AArch64::ADR_LSL_ZZZ_D_2:
17687 case AArch64::ADR_LSL_ZZZ_D_3:
17688 case AArch64::ADR_LSL_ZZZ_S_0:
17689 case AArch64::ADR_LSL_ZZZ_S_1:
17690 case AArch64::ADR_LSL_ZZZ_S_2:
17691 case AArch64::ADR_LSL_ZZZ_S_3:
17692 case AArch64::ADR_SXTW_ZZZ_D_0:
17693 case AArch64::ADR_SXTW_ZZZ_D_1:
17694 case AArch64::ADR_SXTW_ZZZ_D_2:
17695 case AArch64::ADR_SXTW_ZZZ_D_3:
17696 case AArch64::ADR_UXTW_ZZZ_D_0:
17697 case AArch64::ADR_UXTW_ZZZ_D_1:
17698 case AArch64::ADR_UXTW_ZZZ_D_2:
17699 case AArch64::ADR_UXTW_ZZZ_D_3:
17700 case AArch64::BDEP_ZZZ_B:
17701 case AArch64::BDEP_ZZZ_D:
17702 case AArch64::BDEP_ZZZ_H:
17703 case AArch64::BDEP_ZZZ_S:
17704 case AArch64::BEXT_ZZZ_B:
17705 case AArch64::BEXT_ZZZ_D:
17706 case AArch64::BEXT_ZZZ_H:
17707 case AArch64::BEXT_ZZZ_S:
17708 case AArch64::BGRP_ZZZ_B:
17709 case AArch64::BGRP_ZZZ_D:
17710 case AArch64::BGRP_ZZZ_H:
17711 case AArch64::BGRP_ZZZ_S:
17712 case AArch64::HISTSEG_ZZZ:
17713 case AArch64::LUTI6_Z2ZZ:
17714 case AArch64::PMULLB_ZZZ_D:
17715 case AArch64::PMULLB_ZZZ_H:
17716 case AArch64::PMULLB_ZZZ_Q:
17717 case AArch64::PMULLT_ZZZ_D:
17718 case AArch64::PMULLT_ZZZ_H:
17719 case AArch64::PMULLT_ZZZ_Q:
17720 case AArch64::RADDHNB_ZZZ_B:
17721 case AArch64::RADDHNB_ZZZ_H:
17722 case AArch64::RADDHNB_ZZZ_S:
17723 case AArch64::RAX1_ZZZ_D:
17724 case AArch64::RSUBHNB_ZZZ_B:
17725 case AArch64::RSUBHNB_ZZZ_H:
17726 case AArch64::RSUBHNB_ZZZ_S:
17727 case AArch64::SABDLB_ZZZ_D:
17728 case AArch64::SABDLB_ZZZ_H:
17729 case AArch64::SABDLB_ZZZ_S:
17730 case AArch64::SABDLT_ZZZ_D:
17731 case AArch64::SABDLT_ZZZ_H:
17732 case AArch64::SABDLT_ZZZ_S:
17733 case AArch64::SADDLBT_ZZZ_D:
17734 case AArch64::SADDLBT_ZZZ_H:
17735 case AArch64::SADDLBT_ZZZ_S:
17736 case AArch64::SADDLB_ZZZ_D:
17737 case AArch64::SADDLB_ZZZ_H:
17738 case AArch64::SADDLB_ZZZ_S:
17739 case AArch64::SADDLT_ZZZ_D:
17740 case AArch64::SADDLT_ZZZ_H:
17741 case AArch64::SADDLT_ZZZ_S:
17742 case AArch64::SADDWB_ZZZ_D:
17743 case AArch64::SADDWB_ZZZ_H:
17744 case AArch64::SADDWB_ZZZ_S:
17745 case AArch64::SADDWT_ZZZ_D:
17746 case AArch64::SADDWT_ZZZ_H:
17747 case AArch64::SADDWT_ZZZ_S:
17748 case AArch64::SM4EKEY_ZZZ_S:
17749 case AArch64::SMULLB_ZZZ_D:
17750 case AArch64::SMULLB_ZZZ_H:
17751 case AArch64::SMULLB_ZZZ_S:
17752 case AArch64::SMULLT_ZZZ_D:
17753 case AArch64::SMULLT_ZZZ_H:
17754 case AArch64::SMULLT_ZZZ_S:
17755 case AArch64::SQDMULLB_ZZZ_D:
17756 case AArch64::SQDMULLB_ZZZ_H:
17757 case AArch64::SQDMULLB_ZZZ_S:
17758 case AArch64::SQDMULLT_ZZZ_D:
17759 case AArch64::SQDMULLT_ZZZ_H:
17760 case AArch64::SQDMULLT_ZZZ_S:
17761 case AArch64::SSUBLBT_ZZZ_D:
17762 case AArch64::SSUBLBT_ZZZ_H:
17763 case AArch64::SSUBLBT_ZZZ_S:
17764 case AArch64::SSUBLB_ZZZ_D:
17765 case AArch64::SSUBLB_ZZZ_H:
17766 case AArch64::SSUBLB_ZZZ_S:
17767 case AArch64::SSUBLTB_ZZZ_D:
17768 case AArch64::SSUBLTB_ZZZ_H:
17769 case AArch64::SSUBLTB_ZZZ_S:
17770 case AArch64::SSUBLT_ZZZ_D:
17771 case AArch64::SSUBLT_ZZZ_H:
17772 case AArch64::SSUBLT_ZZZ_S:
17773 case AArch64::SSUBWB_ZZZ_D:
17774 case AArch64::SSUBWB_ZZZ_H:
17775 case AArch64::SSUBWB_ZZZ_S:
17776 case AArch64::SSUBWT_ZZZ_D:
17777 case AArch64::SSUBWT_ZZZ_H:
17778 case AArch64::SSUBWT_ZZZ_S:
17779 case AArch64::SUBHNB_ZZZ_B:
17780 case AArch64::SUBHNB_ZZZ_H:
17781 case AArch64::SUBHNB_ZZZ_S:
17782 case AArch64::TBLQ_ZZZ_B:
17783 case AArch64::TBLQ_ZZZ_D:
17784 case AArch64::TBLQ_ZZZ_H:
17785 case AArch64::TBLQ_ZZZ_S:
17786 case AArch64::UABDLB_ZZZ_D:
17787 case AArch64::UABDLB_ZZZ_H:
17788 case AArch64::UABDLB_ZZZ_S:
17789 case AArch64::UABDLT_ZZZ_D:
17790 case AArch64::UABDLT_ZZZ_H:
17791 case AArch64::UABDLT_ZZZ_S:
17792 case AArch64::UADDLB_ZZZ_D:
17793 case AArch64::UADDLB_ZZZ_H:
17794 case AArch64::UADDLB_ZZZ_S:
17795 case AArch64::UADDLT_ZZZ_D:
17796 case AArch64::UADDLT_ZZZ_H:
17797 case AArch64::UADDLT_ZZZ_S:
17798 case AArch64::UADDWB_ZZZ_D:
17799 case AArch64::UADDWB_ZZZ_H:
17800 case AArch64::UADDWB_ZZZ_S:
17801 case AArch64::UADDWT_ZZZ_D:
17802 case AArch64::UADDWT_ZZZ_H:
17803 case AArch64::UADDWT_ZZZ_S:
17804 case AArch64::UMULLB_ZZZ_D:
17805 case AArch64::UMULLB_ZZZ_H:
17806 case AArch64::UMULLB_ZZZ_S:
17807 case AArch64::UMULLT_ZZZ_D:
17808 case AArch64::UMULLT_ZZZ_H:
17809 case AArch64::UMULLT_ZZZ_S:
17810 case AArch64::USUBLB_ZZZ_D:
17811 case AArch64::USUBLB_ZZZ_H:
17812 case AArch64::USUBLB_ZZZ_S:
17813 case AArch64::USUBLT_ZZZ_D:
17814 case AArch64::USUBLT_ZZZ_H:
17815 case AArch64::USUBLT_ZZZ_S:
17816 case AArch64::USUBWB_ZZZ_D:
17817 case AArch64::USUBWB_ZZZ_H:
17818 case AArch64::USUBWB_ZZZ_S:
17819 case AArch64::USUBWT_ZZZ_D:
17820 case AArch64::USUBWT_ZZZ_H:
17821 case AArch64::USUBWT_ZZZ_S:
17822 case AArch64::UZPQ1_ZZZ_B:
17823 case AArch64::UZPQ1_ZZZ_D:
17824 case AArch64::UZPQ1_ZZZ_H:
17825 case AArch64::UZPQ1_ZZZ_S:
17826 case AArch64::UZPQ2_ZZZ_B:
17827 case AArch64::UZPQ2_ZZZ_D:
17828 case AArch64::UZPQ2_ZZZ_H:
17829 case AArch64::UZPQ2_ZZZ_S:
17830 case AArch64::ZIPQ1_ZZZ_B:
17831 case AArch64::ZIPQ1_ZZZ_D:
17832 case AArch64::ZIPQ1_ZZZ_H:
17833 case AArch64::ZIPQ1_ZZZ_S:
17834 case AArch64::ZIPQ2_ZZZ_B:
17835 case AArch64::ZIPQ2_ZZZ_D:
17836 case AArch64::ZIPQ2_ZZZ_H:
17837 case AArch64::ZIPQ2_ZZZ_S: {
17838 // op: Zd
17839 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17840 Value |= (op & 0x1f);
17841 // op: Zn
17842 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17843 Value |= (op & 0x1f) << 5;
17844 // op: Zm
17845 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17846 Value |= (op & 0x1f) << 16;
17847 break;
17848 }
17849 case AArch64::LUTI4_ZZZI_B:
17850 case AArch64::LUTI6_Z2ZZI_H: {
17851 // op: Zd
17852 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17853 Value |= (op & 0x1f);
17854 // op: Zn
17855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17856 Value |= (op & 0x1f) << 5;
17857 // op: Zm
17858 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17859 Value |= (op & 0x1f) << 16;
17860 // op: idx
17861 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17862 Value |= (op & 0x1) << 23;
17863 break;
17864 }
17865 case AArch64::LUTI2_ZZZI_B:
17866 case AArch64::LUTI4_Z2ZZI:
17867 case AArch64::LUTI4_ZZZI_H: {
17868 // op: Zd
17869 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17870 Value |= (op & 0x1f);
17871 // op: Zn
17872 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17873 Value |= (op & 0x1f) << 5;
17874 // op: Zm
17875 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17876 Value |= (op & 0x1f) << 16;
17877 // op: idx
17878 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17879 Value |= (op & 0x3) << 22;
17880 break;
17881 }
17882 case AArch64::LUTI2_ZZZI_H: {
17883 // op: Zd
17884 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17885 Value |= (op & 0x1f);
17886 // op: Zn
17887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17888 Value |= (op & 0x1f) << 5;
17889 // op: Zm
17890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17891 Value |= (op & 0x1f) << 16;
17892 // op: idx
17893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17894 Value |= (op & 0x6) << 21;
17895 Value |= (op & 0x1) << 12;
17896 break;
17897 }
17898 case AArch64::FMUL_ZZZI_S:
17899 case AArch64::MUL_ZZZI_S:
17900 case AArch64::SQDMULH_ZZZI_S:
17901 case AArch64::SQRDMULH_ZZZI_S: {
17902 // op: Zd
17903 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17904 Value |= (op & 0x1f);
17905 // op: Zn
17906 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17907 Value |= (op & 0x1f) << 5;
17908 // op: Zm
17909 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17910 Value |= (op & 0x7) << 16;
17911 // op: iop
17912 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17913 Value |= (op & 0x3) << 19;
17914 break;
17915 }
17916 case AArch64::BFMUL_ZZZI:
17917 case AArch64::FMUL_ZZZI_H:
17918 case AArch64::MUL_ZZZI_H:
17919 case AArch64::SQDMULH_ZZZI_H:
17920 case AArch64::SQRDMULH_ZZZI_H: {
17921 // op: Zd
17922 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17923 Value |= (op & 0x1f);
17924 // op: Zn
17925 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17926 Value |= (op & 0x1f) << 5;
17927 // op: Zm
17928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17929 Value |= (op & 0x7) << 16;
17930 // op: iop
17931 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17932 Value |= (op & 0x4) << 20;
17933 Value |= (op & 0x3) << 19;
17934 break;
17935 }
17936 case AArch64::SMULLB_ZZZI_S:
17937 case AArch64::SMULLT_ZZZI_S:
17938 case AArch64::SQDMULLB_ZZZI_S:
17939 case AArch64::SQDMULLT_ZZZI_S:
17940 case AArch64::UMULLB_ZZZI_S:
17941 case AArch64::UMULLT_ZZZI_S: {
17942 // op: Zd
17943 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17944 Value |= (op & 0x1f);
17945 // op: Zn
17946 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17947 Value |= (op & 0x1f) << 5;
17948 // op: Zm
17949 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17950 Value |= (op & 0x7) << 16;
17951 // op: iop
17952 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17953 Value |= (op & 0x6) << 18;
17954 Value |= (op & 0x1) << 11;
17955 break;
17956 }
17957 case AArch64::FMUL_ZZZI_D:
17958 case AArch64::MUL_ZZZI_D:
17959 case AArch64::SQDMULH_ZZZI_D:
17960 case AArch64::SQRDMULH_ZZZI_D: {
17961 // op: Zd
17962 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17963 Value |= (op & 0x1f);
17964 // op: Zn
17965 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17966 Value |= (op & 0x1f) << 5;
17967 // op: Zm
17968 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17969 Value |= (op & 0xf) << 16;
17970 // op: iop
17971 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17972 Value |= (op & 0x1) << 20;
17973 break;
17974 }
17975 case AArch64::SMULLB_ZZZI_D:
17976 case AArch64::SMULLT_ZZZI_D:
17977 case AArch64::SQDMULLB_ZZZI_D:
17978 case AArch64::SQDMULLT_ZZZI_D:
17979 case AArch64::UMULLB_ZZZI_D:
17980 case AArch64::UMULLT_ZZZI_D: {
17981 // op: Zd
17982 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17983 Value |= (op & 0x1f);
17984 // op: Zn
17985 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17986 Value |= (op & 0x1f) << 5;
17987 // op: Zm
17988 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
17989 Value |= (op & 0xf) << 16;
17990 // op: iop
17991 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
17992 Value |= (op & 0x2) << 19;
17993 Value |= (op & 0x1) << 11;
17994 break;
17995 }
17996 case AArch64::DUP_ZZI_H: {
17997 // op: Zd
17998 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17999 Value |= (op & 0x1f);
18000 // op: Zn
18001 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18002 Value |= (op & 0x1f) << 5;
18003 // op: idx
18004 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18005 Value |= (op & 0x18) << 19;
18006 Value |= (op & 0x7) << 18;
18007 break;
18008 }
18009 case AArch64::DUP_ZZI_Q: {
18010 // op: Zd
18011 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18012 Value |= (op & 0x1f);
18013 // op: Zn
18014 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18015 Value |= (op & 0x1f) << 5;
18016 // op: idx
18017 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18018 Value |= (op & 0x3) << 22;
18019 break;
18020 }
18021 case AArch64::DUP_ZZI_B: {
18022 // op: Zd
18023 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18024 Value |= (op & 0x1f);
18025 // op: Zn
18026 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18027 Value |= (op & 0x1f) << 5;
18028 // op: idx
18029 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18030 Value |= (op & 0x30) << 18;
18031 Value |= (op & 0xf) << 17;
18032 break;
18033 }
18034 case AArch64::DUP_ZZI_D: {
18035 // op: Zd
18036 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18037 Value |= (op & 0x1f);
18038 // op: Zn
18039 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18040 Value |= (op & 0x1f) << 5;
18041 // op: idx
18042 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18043 Value |= (op & 0x6) << 21;
18044 Value |= (op & 0x1) << 20;
18045 break;
18046 }
18047 case AArch64::DUP_ZZI_S: {
18048 // op: Zd
18049 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18050 Value |= (op & 0x1f);
18051 // op: Zn
18052 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18053 Value |= (op & 0x1f) << 5;
18054 // op: idx
18055 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18056 Value |= (op & 0xc) << 20;
18057 Value |= (op & 0x3) << 19;
18058 break;
18059 }
18060 case AArch64::LSL_ZZI_H:
18061 case AArch64::SSHLLB_ZZI_S:
18062 case AArch64::SSHLLT_ZZI_S:
18063 case AArch64::USHLLB_ZZI_S:
18064 case AArch64::USHLLT_ZZI_S: {
18065 // op: Zd
18066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18067 Value |= (op & 0x1f);
18068 // op: Zn
18069 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18070 Value |= (op & 0x1f) << 5;
18071 // op: imm
18072 op = getVecShiftL16OpValue(MI, OpIdx: 2, Fixups, STI);
18073 Value |= (op & 0xf) << 16;
18074 break;
18075 }
18076 case AArch64::LSL_ZZI_S:
18077 case AArch64::SSHLLB_ZZI_D:
18078 case AArch64::SSHLLT_ZZI_D:
18079 case AArch64::USHLLB_ZZI_D:
18080 case AArch64::USHLLT_ZZI_D: {
18081 // op: Zd
18082 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18083 Value |= (op & 0x1f);
18084 // op: Zn
18085 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18086 Value |= (op & 0x1f) << 5;
18087 // op: imm
18088 op = getVecShiftL32OpValue(MI, OpIdx: 2, Fixups, STI);
18089 Value |= (op & 0x1f) << 16;
18090 break;
18091 }
18092 case AArch64::LSL_ZZI_D: {
18093 // op: Zd
18094 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18095 Value |= (op & 0x1f);
18096 // op: Zn
18097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18098 Value |= (op & 0x1f) << 5;
18099 // op: imm
18100 op = getVecShiftL64OpValue(MI, OpIdx: 2, Fixups, STI);
18101 Value |= (op & 0x20) << 17;
18102 Value |= (op & 0x1f) << 16;
18103 break;
18104 }
18105 case AArch64::LSL_ZZI_B:
18106 case AArch64::SSHLLB_ZZI_H:
18107 case AArch64::SSHLLT_ZZI_H:
18108 case AArch64::USHLLB_ZZI_H:
18109 case AArch64::USHLLT_ZZI_H: {
18110 // op: Zd
18111 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18112 Value |= (op & 0x1f);
18113 // op: Zn
18114 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18115 Value |= (op & 0x1f) << 5;
18116 // op: imm
18117 op = getVecShiftL8OpValue(MI, OpIdx: 2, Fixups, STI);
18118 Value |= (op & 0x7) << 16;
18119 break;
18120 }
18121 case AArch64::ASR_ZZI_H:
18122 case AArch64::LSR_ZZI_H:
18123 case AArch64::RSHRNB_ZZI_H:
18124 case AArch64::SHRNB_ZZI_H:
18125 case AArch64::SQRSHRNB_ZZI_H:
18126 case AArch64::SQRSHRUNB_ZZI_H:
18127 case AArch64::SQSHRNB_ZZI_H:
18128 case AArch64::SQSHRUNB_ZZI_H:
18129 case AArch64::UQRSHRNB_ZZI_H:
18130 case AArch64::UQSHRNB_ZZI_H: {
18131 // op: Zd
18132 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18133 Value |= (op & 0x1f);
18134 // op: Zn
18135 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18136 Value |= (op & 0x1f) << 5;
18137 // op: imm
18138 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
18139 Value |= (op & 0xf) << 16;
18140 break;
18141 }
18142 case AArch64::ASR_ZZI_S:
18143 case AArch64::LSR_ZZI_S:
18144 case AArch64::RSHRNB_ZZI_S:
18145 case AArch64::SHRNB_ZZI_S:
18146 case AArch64::SQRSHRNB_ZZI_S:
18147 case AArch64::SQRSHRUNB_ZZI_S:
18148 case AArch64::SQSHRNB_ZZI_S:
18149 case AArch64::SQSHRUNB_ZZI_S:
18150 case AArch64::UQRSHRNB_ZZI_S:
18151 case AArch64::UQSHRNB_ZZI_S: {
18152 // op: Zd
18153 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18154 Value |= (op & 0x1f);
18155 // op: Zn
18156 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18157 Value |= (op & 0x1f) << 5;
18158 // op: imm
18159 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
18160 Value |= (op & 0x1f) << 16;
18161 break;
18162 }
18163 case AArch64::ASR_ZZI_D:
18164 case AArch64::LSR_ZZI_D: {
18165 // op: Zd
18166 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18167 Value |= (op & 0x1f);
18168 // op: Zn
18169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18170 Value |= (op & 0x1f) << 5;
18171 // op: imm
18172 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
18173 Value |= (op & 0x20) << 17;
18174 Value |= (op & 0x1f) << 16;
18175 break;
18176 }
18177 case AArch64::ASR_ZZI_B:
18178 case AArch64::LSR_ZZI_B:
18179 case AArch64::RSHRNB_ZZI_B:
18180 case AArch64::SHRNB_ZZI_B:
18181 case AArch64::SQRSHRNB_ZZI_B:
18182 case AArch64::SQRSHRUNB_ZZI_B:
18183 case AArch64::SQSHRNB_ZZI_B:
18184 case AArch64::SQSHRUNB_ZZI_B:
18185 case AArch64::UQRSHRNB_ZZI_B:
18186 case AArch64::UQSHRNB_ZZI_B: {
18187 // op: Zd
18188 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18189 Value |= (op & 0x1f);
18190 // op: Zn
18191 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18192 Value |= (op & 0x1f) << 5;
18193 // op: imm
18194 op = getVecShiftR8OpValue(MI, OpIdx: 2, Fixups, STI);
18195 Value |= (op & 0x7) << 16;
18196 break;
18197 }
18198 case AArch64::EXT_ZZI_B: {
18199 // op: Zd
18200 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18201 Value |= (op & 0x1f);
18202 // op: Zn
18203 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18204 Value |= (op & 0x1f) << 5;
18205 // op: imm8
18206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18207 Value |= (op & 0xf8) << 13;
18208 Value |= (op & 0x7) << 10;
18209 break;
18210 }
18211 case AArch64::DUPQ_ZZI_D: {
18212 // op: Zd
18213 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18214 Value |= (op & 0x1f);
18215 // op: Zn
18216 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18217 Value |= (op & 0x1f) << 5;
18218 // op: index
18219 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18220 Value |= (op & 0x1) << 20;
18221 break;
18222 }
18223 case AArch64::DUPQ_ZZI_S: {
18224 // op: Zd
18225 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18226 Value |= (op & 0x1f);
18227 // op: Zn
18228 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18229 Value |= (op & 0x1f) << 5;
18230 // op: index
18231 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18232 Value |= (op & 0x3) << 19;
18233 break;
18234 }
18235 case AArch64::DUPQ_ZZI_H: {
18236 // op: Zd
18237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18238 Value |= (op & 0x1f);
18239 // op: Zn
18240 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18241 Value |= (op & 0x1f) << 5;
18242 // op: index
18243 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18244 Value |= (op & 0x7) << 18;
18245 break;
18246 }
18247 case AArch64::DUPQ_ZZI_B: {
18248 // op: Zd
18249 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18250 Value |= (op & 0x1f);
18251 // op: Zn
18252 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18253 Value |= (op & 0x1f) << 5;
18254 // op: index
18255 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18256 Value |= (op & 0xf) << 17;
18257 break;
18258 }
18259 case AArch64::LUTI6_ZTZ:
18260 case AArch64::SQXTNT_ZZ_B:
18261 case AArch64::SQXTNT_ZZ_H:
18262 case AArch64::SQXTNT_ZZ_S:
18263 case AArch64::SQXTUNT_ZZ_B:
18264 case AArch64::SQXTUNT_ZZ_H:
18265 case AArch64::SQXTUNT_ZZ_S:
18266 case AArch64::UQXTNT_ZZ_B:
18267 case AArch64::UQXTNT_ZZ_H:
18268 case AArch64::UQXTNT_ZZ_S: {
18269 // op: Zd
18270 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18271 Value |= (op & 0x1f);
18272 // op: Zn
18273 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18274 Value |= (op & 0x1f) << 5;
18275 break;
18276 }
18277 case AArch64::FCVTLT_ZPzZ_HtoS:
18278 case AArch64::FCVTLT_ZPzZ_StoD: {
18279 // op: Zd
18280 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18281 Value |= (op & 0x1f);
18282 // op: Zn
18283 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18284 Value |= (op & 0x1f) << 5;
18285 // op: Pg
18286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18287 Value |= (op & 0x7) << 10;
18288 break;
18289 }
18290 case AArch64::HISTCNT_ZPzZZ_D:
18291 case AArch64::HISTCNT_ZPzZZ_S: {
18292 // op: Zd
18293 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18294 Value |= (op & 0x1f);
18295 // op: Zn
18296 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18297 Value |= (op & 0x1f) << 5;
18298 // op: Pg
18299 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18300 Value |= (op & 0x7) << 10;
18301 // op: Zm
18302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18303 Value |= (op & 0x1f) << 16;
18304 break;
18305 }
18306 case AArch64::ADDHNT_ZZZ_B:
18307 case AArch64::ADDHNT_ZZZ_H:
18308 case AArch64::ADDHNT_ZZZ_S:
18309 case AArch64::EORBT_ZZZ_B:
18310 case AArch64::EORBT_ZZZ_D:
18311 case AArch64::EORBT_ZZZ_H:
18312 case AArch64::EORBT_ZZZ_S:
18313 case AArch64::EORTB_ZZZ_B:
18314 case AArch64::EORTB_ZZZ_D:
18315 case AArch64::EORTB_ZZZ_H:
18316 case AArch64::EORTB_ZZZ_S:
18317 case AArch64::RADDHNT_ZZZ_B:
18318 case AArch64::RADDHNT_ZZZ_H:
18319 case AArch64::RADDHNT_ZZZ_S:
18320 case AArch64::RSUBHNT_ZZZ_B:
18321 case AArch64::RSUBHNT_ZZZ_H:
18322 case AArch64::RSUBHNT_ZZZ_S:
18323 case AArch64::SUBHNT_ZZZ_B:
18324 case AArch64::SUBHNT_ZZZ_H:
18325 case AArch64::SUBHNT_ZZZ_S: {
18326 // op: Zd
18327 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18328 Value |= (op & 0x1f);
18329 // op: Zn
18330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18331 Value |= (op & 0x1f) << 5;
18332 // op: Zm
18333 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18334 Value |= (op & 0x1f) << 16;
18335 break;
18336 }
18337 case AArch64::SLI_ZZI_H: {
18338 // op: Zd
18339 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18340 Value |= (op & 0x1f);
18341 // op: Zn
18342 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18343 Value |= (op & 0x1f) << 5;
18344 // op: imm
18345 op = getVecShiftL16OpValue(MI, OpIdx: 3, Fixups, STI);
18346 Value |= (op & 0xf) << 16;
18347 break;
18348 }
18349 case AArch64::SLI_ZZI_S: {
18350 // op: Zd
18351 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18352 Value |= (op & 0x1f);
18353 // op: Zn
18354 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18355 Value |= (op & 0x1f) << 5;
18356 // op: imm
18357 op = getVecShiftL32OpValue(MI, OpIdx: 3, Fixups, STI);
18358 Value |= (op & 0x1f) << 16;
18359 break;
18360 }
18361 case AArch64::SLI_ZZI_D: {
18362 // op: Zd
18363 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18364 Value |= (op & 0x1f);
18365 // op: Zn
18366 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18367 Value |= (op & 0x1f) << 5;
18368 // op: imm
18369 op = getVecShiftL64OpValue(MI, OpIdx: 3, Fixups, STI);
18370 Value |= (op & 0x20) << 17;
18371 Value |= (op & 0x1f) << 16;
18372 break;
18373 }
18374 case AArch64::SLI_ZZI_B: {
18375 // op: Zd
18376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18377 Value |= (op & 0x1f);
18378 // op: Zn
18379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18380 Value |= (op & 0x1f) << 5;
18381 // op: imm
18382 op = getVecShiftL8OpValue(MI, OpIdx: 3, Fixups, STI);
18383 Value |= (op & 0x7) << 16;
18384 break;
18385 }
18386 case AArch64::RSHRNT_ZZI_H:
18387 case AArch64::SHRNT_ZZI_H:
18388 case AArch64::SQRSHRNT_ZZI_H:
18389 case AArch64::SQRSHRUNT_ZZI_H:
18390 case AArch64::SQSHRNT_ZZI_H:
18391 case AArch64::SQSHRUNT_ZZI_H:
18392 case AArch64::SRI_ZZI_H:
18393 case AArch64::UQRSHRNT_ZZI_H:
18394 case AArch64::UQSHRNT_ZZI_H: {
18395 // op: Zd
18396 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18397 Value |= (op & 0x1f);
18398 // op: Zn
18399 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18400 Value |= (op & 0x1f) << 5;
18401 // op: imm
18402 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
18403 Value |= (op & 0xf) << 16;
18404 break;
18405 }
18406 case AArch64::RSHRNT_ZZI_S:
18407 case AArch64::SHRNT_ZZI_S:
18408 case AArch64::SQRSHRNT_ZZI_S:
18409 case AArch64::SQRSHRUNT_ZZI_S:
18410 case AArch64::SQSHRNT_ZZI_S:
18411 case AArch64::SQSHRUNT_ZZI_S:
18412 case AArch64::SRI_ZZI_S:
18413 case AArch64::UQRSHRNT_ZZI_S:
18414 case AArch64::UQSHRNT_ZZI_S: {
18415 // op: Zd
18416 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18417 Value |= (op & 0x1f);
18418 // op: Zn
18419 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18420 Value |= (op & 0x1f) << 5;
18421 // op: imm
18422 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
18423 Value |= (op & 0x1f) << 16;
18424 break;
18425 }
18426 case AArch64::SRI_ZZI_D: {
18427 // op: Zd
18428 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18429 Value |= (op & 0x1f);
18430 // op: Zn
18431 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18432 Value |= (op & 0x1f) << 5;
18433 // op: imm
18434 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
18435 Value |= (op & 0x20) << 17;
18436 Value |= (op & 0x1f) << 16;
18437 break;
18438 }
18439 case AArch64::RSHRNT_ZZI_B:
18440 case AArch64::SHRNT_ZZI_B:
18441 case AArch64::SQRSHRNT_ZZI_B:
18442 case AArch64::SQRSHRUNT_ZZI_B:
18443 case AArch64::SQSHRNT_ZZI_B:
18444 case AArch64::SQSHRUNT_ZZI_B:
18445 case AArch64::SRI_ZZI_B:
18446 case AArch64::UQRSHRNT_ZZI_B:
18447 case AArch64::UQSHRNT_ZZI_B: {
18448 // op: Zd
18449 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18450 Value |= (op & 0x1f);
18451 // op: Zn
18452 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18453 Value |= (op & 0x1f) << 5;
18454 // op: imm
18455 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
18456 Value |= (op & 0x7) << 16;
18457 break;
18458 }
18459 case AArch64::BFCVTNT_ZPmZ:
18460 case AArch64::BFCVTNT_ZPzZ_StoH:
18461 case AArch64::FCVTLT_ZPmZ_HtoS:
18462 case AArch64::FCVTLT_ZPmZ_StoD:
18463 case AArch64::FCVTNT_ZPmZ_DtoS:
18464 case AArch64::FCVTNT_ZPmZ_StoH:
18465 case AArch64::FCVTNT_ZPzZ_DtoS:
18466 case AArch64::FCVTNT_ZPzZ_StoH:
18467 case AArch64::FCVTXNT_ZPmZ_DtoS:
18468 case AArch64::FCVTXNT_ZPzZ_StoD: {
18469 // op: Zd
18470 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18471 Value |= (op & 0x1f);
18472 // op: Zn
18473 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18474 Value |= (op & 0x1f) << 5;
18475 // op: Pg
18476 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18477 Value |= (op & 0x7) << 10;
18478 break;
18479 }
18480 case AArch64::DUP_ZI_B:
18481 case AArch64::DUP_ZI_D:
18482 case AArch64::DUP_ZI_H:
18483 case AArch64::DUP_ZI_S: {
18484 // op: Zd
18485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18486 Value |= (op & 0x1f);
18487 // op: imm
18488 op = getImm8OptLsl(MI, OpIdx: 1, Fixups, STI);
18489 Value |= (op & 0x1ff) << 5;
18490 break;
18491 }
18492 case AArch64::INDEX_II_B:
18493 case AArch64::INDEX_II_D:
18494 case AArch64::INDEX_II_H:
18495 case AArch64::INDEX_II_S: {
18496 // op: Zd
18497 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18498 Value |= (op & 0x1f);
18499 // op: imm5
18500 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18501 Value |= (op & 0x1f) << 5;
18502 // op: imm5b
18503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18504 Value |= (op & 0x1f) << 16;
18505 break;
18506 }
18507 case AArch64::FDUP_ZI_D:
18508 case AArch64::FDUP_ZI_H:
18509 case AArch64::FDUP_ZI_S: {
18510 // op: Zd
18511 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18512 Value |= (op & 0x1f);
18513 // op: imm8
18514 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18515 Value |= (op & 0xff) << 5;
18516 break;
18517 }
18518 case AArch64::DUPM_ZI: {
18519 // op: Zd
18520 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18521 Value |= (op & 0x1f);
18522 // op: imms
18523 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18524 Value |= (op & 0x1fff) << 5;
18525 break;
18526 }
18527 case AArch64::FCMLA_ZPmZZ_D:
18528 case AArch64::FCMLA_ZPmZZ_H:
18529 case AArch64::FCMLA_ZPmZZ_S: {
18530 // op: Zda
18531 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18532 Value |= (op & 0x1f);
18533 // op: Pg
18534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
18535 Value |= (op & 0x7) << 10;
18536 // op: Zn
18537 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18538 Value |= (op & 0x1f) << 5;
18539 // op: Zm
18540 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18541 Value |= (op & 0x1f) << 16;
18542 // op: imm
18543 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
18544 Value |= (op & 0x3) << 13;
18545 break;
18546 }
18547 case AArch64::ADCLB_ZZZ_D:
18548 case AArch64::ADCLB_ZZZ_S:
18549 case AArch64::ADCLT_ZZZ_D:
18550 case AArch64::ADCLT_ZZZ_S:
18551 case AArch64::BFDOT_ZZZ:
18552 case AArch64::BFMLALB_ZZZ:
18553 case AArch64::BFMLALT_ZZZ:
18554 case AArch64::BFMLSLB_ZZZ_S:
18555 case AArch64::BFMLSLT_ZZZ_S:
18556 case AArch64::BFMMLA_ZZZ_H:
18557 case AArch64::BFMMLA_ZZZ_HtoS:
18558 case AArch64::FDOT_ZZZ_BtoH:
18559 case AArch64::FDOT_ZZZ_BtoS:
18560 case AArch64::FDOT_ZZZ_S:
18561 case AArch64::FMLALB_ZZZ:
18562 case AArch64::FMLALB_ZZZ_SHH:
18563 case AArch64::FMLALLBB_ZZZ:
18564 case AArch64::FMLALLBT_ZZZ:
18565 case AArch64::FMLALLTB_ZZZ:
18566 case AArch64::FMLALLTT_ZZZ:
18567 case AArch64::FMLALT_ZZZ:
18568 case AArch64::FMLALT_ZZZ_SHH:
18569 case AArch64::FMLLA_ZZZ_HtoS:
18570 case AArch64::FMLSLB_ZZZ_SHH:
18571 case AArch64::FMLSLT_ZZZ_SHH:
18572 case AArch64::FMMLA_ZZZ_BtoH:
18573 case AArch64::FMMLA_ZZZ_BtoS:
18574 case AArch64::FMMLA_ZZZ_D:
18575 case AArch64::FMMLA_ZZZ_H:
18576 case AArch64::FMMLA_ZZZ_S:
18577 case AArch64::MLA_CPA:
18578 case AArch64::SABALB_ZZZ_D:
18579 case AArch64::SABALB_ZZZ_H:
18580 case AArch64::SABALB_ZZZ_S:
18581 case AArch64::SABALT_ZZZ_D:
18582 case AArch64::SABALT_ZZZ_H:
18583 case AArch64::SABALT_ZZZ_S:
18584 case AArch64::SABAL_ZZZ_BtoH:
18585 case AArch64::SABAL_ZZZ_HtoS:
18586 case AArch64::SABAL_ZZZ_StoD:
18587 case AArch64::SABA_ZZZ_B:
18588 case AArch64::SABA_ZZZ_D:
18589 case AArch64::SABA_ZZZ_H:
18590 case AArch64::SABA_ZZZ_S:
18591 case AArch64::SBCLB_ZZZ_D:
18592 case AArch64::SBCLB_ZZZ_S:
18593 case AArch64::SBCLT_ZZZ_D:
18594 case AArch64::SBCLT_ZZZ_S:
18595 case AArch64::SDOT_ZZZ_BtoH:
18596 case AArch64::SDOT_ZZZ_BtoS:
18597 case AArch64::SDOT_ZZZ_HtoD:
18598 case AArch64::SDOT_ZZZ_HtoS:
18599 case AArch64::SMLALB_ZZZ_D:
18600 case AArch64::SMLALB_ZZZ_H:
18601 case AArch64::SMLALB_ZZZ_S:
18602 case AArch64::SMLALT_ZZZ_D:
18603 case AArch64::SMLALT_ZZZ_H:
18604 case AArch64::SMLALT_ZZZ_S:
18605 case AArch64::SMLSLB_ZZZ_D:
18606 case AArch64::SMLSLB_ZZZ_H:
18607 case AArch64::SMLSLB_ZZZ_S:
18608 case AArch64::SMLSLT_ZZZ_D:
18609 case AArch64::SMLSLT_ZZZ_H:
18610 case AArch64::SMLSLT_ZZZ_S:
18611 case AArch64::SMMLA_ZZZ:
18612 case AArch64::SQDMLALBT_ZZZ_D:
18613 case AArch64::SQDMLALBT_ZZZ_H:
18614 case AArch64::SQDMLALBT_ZZZ_S:
18615 case AArch64::SQDMLALB_ZZZ_D:
18616 case AArch64::SQDMLALB_ZZZ_H:
18617 case AArch64::SQDMLALB_ZZZ_S:
18618 case AArch64::SQDMLALT_ZZZ_D:
18619 case AArch64::SQDMLALT_ZZZ_H:
18620 case AArch64::SQDMLALT_ZZZ_S:
18621 case AArch64::SQDMLSLBT_ZZZ_D:
18622 case AArch64::SQDMLSLBT_ZZZ_H:
18623 case AArch64::SQDMLSLBT_ZZZ_S:
18624 case AArch64::SQDMLSLB_ZZZ_D:
18625 case AArch64::SQDMLSLB_ZZZ_H:
18626 case AArch64::SQDMLSLB_ZZZ_S:
18627 case AArch64::SQDMLSLT_ZZZ_D:
18628 case AArch64::SQDMLSLT_ZZZ_H:
18629 case AArch64::SQDMLSLT_ZZZ_S:
18630 case AArch64::SQRDMLAH_ZZZ_B:
18631 case AArch64::SQRDMLAH_ZZZ_D:
18632 case AArch64::SQRDMLAH_ZZZ_H:
18633 case AArch64::SQRDMLAH_ZZZ_S:
18634 case AArch64::SQRDMLSH_ZZZ_B:
18635 case AArch64::SQRDMLSH_ZZZ_D:
18636 case AArch64::SQRDMLSH_ZZZ_H:
18637 case AArch64::SQRDMLSH_ZZZ_S:
18638 case AArch64::UABALB_ZZZ_D:
18639 case AArch64::UABALB_ZZZ_H:
18640 case AArch64::UABALB_ZZZ_S:
18641 case AArch64::UABALT_ZZZ_D:
18642 case AArch64::UABALT_ZZZ_H:
18643 case AArch64::UABALT_ZZZ_S:
18644 case AArch64::UABAL_ZZZ_BtoH:
18645 case AArch64::UABAL_ZZZ_HtoS:
18646 case AArch64::UABAL_ZZZ_StoD:
18647 case AArch64::UABA_ZZZ_B:
18648 case AArch64::UABA_ZZZ_D:
18649 case AArch64::UABA_ZZZ_H:
18650 case AArch64::UABA_ZZZ_S:
18651 case AArch64::UDOT_ZZZ_BtoH:
18652 case AArch64::UDOT_ZZZ_BtoS:
18653 case AArch64::UDOT_ZZZ_HtoD:
18654 case AArch64::UDOT_ZZZ_HtoS:
18655 case AArch64::UMLALB_ZZZ_D:
18656 case AArch64::UMLALB_ZZZ_H:
18657 case AArch64::UMLALB_ZZZ_S:
18658 case AArch64::UMLALT_ZZZ_D:
18659 case AArch64::UMLALT_ZZZ_H:
18660 case AArch64::UMLALT_ZZZ_S:
18661 case AArch64::UMLSLB_ZZZ_D:
18662 case AArch64::UMLSLB_ZZZ_H:
18663 case AArch64::UMLSLB_ZZZ_S:
18664 case AArch64::UMLSLT_ZZZ_D:
18665 case AArch64::UMLSLT_ZZZ_H:
18666 case AArch64::UMLSLT_ZZZ_S:
18667 case AArch64::UMMLA_ZZZ:
18668 case AArch64::USDOT_ZZZ:
18669 case AArch64::USMMLA_ZZZ: {
18670 // op: Zda
18671 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18672 Value |= (op & 0x1f);
18673 // op: Zn
18674 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18675 Value |= (op & 0x1f) << 5;
18676 // op: Zm
18677 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18678 Value |= (op & 0x1f) << 16;
18679 break;
18680 }
18681 case AArch64::CDOT_ZZZ_D:
18682 case AArch64::CDOT_ZZZ_S:
18683 case AArch64::CMLA_ZZZ_B:
18684 case AArch64::CMLA_ZZZ_D:
18685 case AArch64::CMLA_ZZZ_H:
18686 case AArch64::CMLA_ZZZ_S:
18687 case AArch64::SQRDCMLAH_ZZZ_B:
18688 case AArch64::SQRDCMLAH_ZZZ_D:
18689 case AArch64::SQRDCMLAH_ZZZ_H:
18690 case AArch64::SQRDCMLAH_ZZZ_S: {
18691 // op: Zda
18692 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18693 Value |= (op & 0x1f);
18694 // op: Zn
18695 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18696 Value |= (op & 0x1f) << 5;
18697 // op: Zm
18698 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18699 Value |= (op & 0x1f) << 16;
18700 // op: rot
18701 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18702 Value |= (op & 0x3) << 10;
18703 break;
18704 }
18705 case AArch64::SDOT_ZZZI_HtoS:
18706 case AArch64::UDOT_ZZZI_HtoS: {
18707 // op: Zda
18708 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18709 Value |= (op & 0x1f);
18710 // op: Zn
18711 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18712 Value |= (op & 0x1f) << 5;
18713 // op: Zm
18714 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18715 Value |= (op & 0x7) << 16;
18716 // op: i2
18717 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18718 Value |= (op & 0x3) << 19;
18719 break;
18720 }
18721 case AArch64::SUDOT_ZZZI:
18722 case AArch64::USDOT_ZZZI: {
18723 // op: Zda
18724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18725 Value |= (op & 0x1f);
18726 // op: Zn
18727 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18728 Value |= (op & 0x1f) << 5;
18729 // op: Zm
18730 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18731 Value |= (op & 0x7) << 16;
18732 // op: idx
18733 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18734 Value |= (op & 0x3) << 19;
18735 break;
18736 }
18737 case AArch64::FMLALB_ZZZI:
18738 case AArch64::FMLALLBB_ZZZI:
18739 case AArch64::FMLALLBT_ZZZI:
18740 case AArch64::FMLALLTB_ZZZI:
18741 case AArch64::FMLALLTT_ZZZI:
18742 case AArch64::FMLALT_ZZZI: {
18743 // op: Zda
18744 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18745 Value |= (op & 0x1f);
18746 // op: Zn
18747 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18748 Value |= (op & 0x1f) << 5;
18749 // op: Zm
18750 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18751 Value |= (op & 0x7) << 16;
18752 // op: imm4
18753 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18754 Value |= (op & 0xc) << 17;
18755 Value |= (op & 0x3) << 10;
18756 break;
18757 }
18758 case AArch64::BFDOT_ZZI:
18759 case AArch64::FDOT_ZZZI_BtoS:
18760 case AArch64::FDOT_ZZZI_S:
18761 case AArch64::FMLA_ZZZI_S:
18762 case AArch64::FMLS_ZZZI_S:
18763 case AArch64::MLA_ZZZI_S:
18764 case AArch64::MLS_ZZZI_S:
18765 case AArch64::SQRDMLAH_ZZZI_S:
18766 case AArch64::SQRDMLSH_ZZZI_S: {
18767 // op: Zda
18768 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18769 Value |= (op & 0x1f);
18770 // op: Zn
18771 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18772 Value |= (op & 0x1f) << 5;
18773 // op: Zm
18774 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18775 Value |= (op & 0x7) << 16;
18776 // op: iop
18777 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18778 Value |= (op & 0x3) << 19;
18779 break;
18780 }
18781 case AArch64::BFMLA_ZZZI:
18782 case AArch64::BFMLS_ZZZI:
18783 case AArch64::FMLA_ZZZI_H:
18784 case AArch64::FMLS_ZZZI_H:
18785 case AArch64::MLA_ZZZI_H:
18786 case AArch64::MLS_ZZZI_H:
18787 case AArch64::SQRDMLAH_ZZZI_H:
18788 case AArch64::SQRDMLSH_ZZZI_H: {
18789 // op: Zda
18790 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18791 Value |= (op & 0x1f);
18792 // op: Zn
18793 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18794 Value |= (op & 0x1f) << 5;
18795 // op: Zm
18796 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18797 Value |= (op & 0x7) << 16;
18798 // op: iop
18799 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18800 Value |= (op & 0x4) << 20;
18801 Value |= (op & 0x3) << 19;
18802 break;
18803 }
18804 case AArch64::BFMLALB_ZZZI:
18805 case AArch64::BFMLALT_ZZZI:
18806 case AArch64::BFMLSLB_ZZZI_S:
18807 case AArch64::BFMLSLT_ZZZI_S:
18808 case AArch64::FDOT_ZZZI_BtoH:
18809 case AArch64::FMLALB_ZZZI_SHH:
18810 case AArch64::FMLALT_ZZZI_SHH:
18811 case AArch64::FMLSLB_ZZZI_SHH:
18812 case AArch64::FMLSLT_ZZZI_SHH:
18813 case AArch64::SMLALB_ZZZI_S:
18814 case AArch64::SMLALT_ZZZI_S:
18815 case AArch64::SMLSLB_ZZZI_S:
18816 case AArch64::SMLSLT_ZZZI_S:
18817 case AArch64::SQDMLALB_ZZZI_S:
18818 case AArch64::SQDMLALT_ZZZI_S:
18819 case AArch64::SQDMLSLB_ZZZI_S:
18820 case AArch64::SQDMLSLT_ZZZI_S:
18821 case AArch64::UMLALB_ZZZI_S:
18822 case AArch64::UMLALT_ZZZI_S:
18823 case AArch64::UMLSLB_ZZZI_S:
18824 case AArch64::UMLSLT_ZZZI_S: {
18825 // op: Zda
18826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18827 Value |= (op & 0x1f);
18828 // op: Zn
18829 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18830 Value |= (op & 0x1f) << 5;
18831 // op: Zm
18832 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18833 Value |= (op & 0x7) << 16;
18834 // op: iop
18835 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18836 Value |= (op & 0x6) << 18;
18837 Value |= (op & 0x1) << 11;
18838 break;
18839 }
18840 case AArch64::FMLA_ZZZI_D:
18841 case AArch64::FMLS_ZZZI_D:
18842 case AArch64::MLA_ZZZI_D:
18843 case AArch64::MLS_ZZZI_D:
18844 case AArch64::SQRDMLAH_ZZZI_D:
18845 case AArch64::SQRDMLSH_ZZZI_D: {
18846 // op: Zda
18847 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18848 Value |= (op & 0x1f);
18849 // op: Zn
18850 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18851 Value |= (op & 0x1f) << 5;
18852 // op: Zm
18853 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18854 Value |= (op & 0xf) << 16;
18855 // op: iop
18856 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18857 Value |= (op & 0x1) << 20;
18858 break;
18859 }
18860 case AArch64::SMLALB_ZZZI_D:
18861 case AArch64::SMLALT_ZZZI_D:
18862 case AArch64::SMLSLB_ZZZI_D:
18863 case AArch64::SMLSLT_ZZZI_D:
18864 case AArch64::SQDMLALB_ZZZI_D:
18865 case AArch64::SQDMLALT_ZZZI_D:
18866 case AArch64::SQDMLSLB_ZZZI_D:
18867 case AArch64::SQDMLSLT_ZZZI_D:
18868 case AArch64::UMLALB_ZZZI_D:
18869 case AArch64::UMLALT_ZZZI_D:
18870 case AArch64::UMLSLB_ZZZI_D:
18871 case AArch64::UMLSLT_ZZZI_D: {
18872 // op: Zda
18873 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18874 Value |= (op & 0x1f);
18875 // op: Zn
18876 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18877 Value |= (op & 0x1f) << 5;
18878 // op: Zm
18879 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18880 Value |= (op & 0xf) << 16;
18881 // op: iop
18882 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18883 Value |= (op & 0x2) << 19;
18884 Value |= (op & 0x1) << 11;
18885 break;
18886 }
18887 case AArch64::FCMLA_ZZZI_H: {
18888 // op: Zda
18889 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18890 Value |= (op & 0x1f);
18891 // op: Zn
18892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18893 Value |= (op & 0x1f) << 5;
18894 // op: imm
18895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
18896 Value |= (op & 0x3) << 10;
18897 // op: Zm
18898 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18899 Value |= (op & 0x7) << 16;
18900 // op: iop
18901 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18902 Value |= (op & 0x3) << 19;
18903 break;
18904 }
18905 case AArch64::FCMLA_ZZZI_S: {
18906 // op: Zda
18907 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18908 Value |= (op & 0x1f);
18909 // op: Zn
18910 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18911 Value |= (op & 0x1f) << 5;
18912 // op: imm
18913 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
18914 Value |= (op & 0x3) << 10;
18915 // op: Zm
18916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18917 Value |= (op & 0xf) << 16;
18918 // op: iop
18919 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18920 Value |= (op & 0x1) << 20;
18921 break;
18922 }
18923 case AArch64::SRSRA_ZZI_H:
18924 case AArch64::SSRA_ZZI_H:
18925 case AArch64::URSRA_ZZI_H:
18926 case AArch64::USRA_ZZI_H: {
18927 // op: Zda
18928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18929 Value |= (op & 0x1f);
18930 // op: Zn
18931 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18932 Value |= (op & 0x1f) << 5;
18933 // op: imm
18934 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
18935 Value |= (op & 0xf) << 16;
18936 break;
18937 }
18938 case AArch64::SRSRA_ZZI_S:
18939 case AArch64::SSRA_ZZI_S:
18940 case AArch64::URSRA_ZZI_S:
18941 case AArch64::USRA_ZZI_S: {
18942 // op: Zda
18943 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18944 Value |= (op & 0x1f);
18945 // op: Zn
18946 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18947 Value |= (op & 0x1f) << 5;
18948 // op: imm
18949 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
18950 Value |= (op & 0x1f) << 16;
18951 break;
18952 }
18953 case AArch64::SRSRA_ZZI_D:
18954 case AArch64::SSRA_ZZI_D:
18955 case AArch64::URSRA_ZZI_D:
18956 case AArch64::USRA_ZZI_D: {
18957 // op: Zda
18958 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18959 Value |= (op & 0x1f);
18960 // op: Zn
18961 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18962 Value |= (op & 0x1f) << 5;
18963 // op: imm
18964 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
18965 Value |= (op & 0x20) << 17;
18966 Value |= (op & 0x1f) << 16;
18967 break;
18968 }
18969 case AArch64::SRSRA_ZZI_B:
18970 case AArch64::SSRA_ZZI_B:
18971 case AArch64::URSRA_ZZI_B:
18972 case AArch64::USRA_ZZI_B: {
18973 // op: Zda
18974 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18975 Value |= (op & 0x1f);
18976 // op: Zn
18977 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18978 Value |= (op & 0x1f) << 5;
18979 // op: imm
18980 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
18981 Value |= (op & 0x7) << 16;
18982 break;
18983 }
18984 case AArch64::SDOT_ZZZI_HtoD:
18985 case AArch64::UDOT_ZZZI_HtoD: {
18986 // op: Zda
18987 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
18988 Value |= (op & 0x1f);
18989 // op: Zn
18990 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
18991 Value |= (op & 0x1f) << 5;
18992 // op: iop
18993 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
18994 Value |= (op & 0x1) << 20;
18995 // op: Zm
18996 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
18997 Value |= (op & 0xf) << 16;
18998 break;
18999 }
19000 case AArch64::SDOT_ZZZI_BtoS:
19001 case AArch64::UDOT_ZZZI_BtoS: {
19002 // op: Zda
19003 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19004 Value |= (op & 0x1f);
19005 // op: Zn
19006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19007 Value |= (op & 0x1f) << 5;
19008 // op: iop
19009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19010 Value |= (op & 0x3) << 19;
19011 // op: Zm
19012 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19013 Value |= (op & 0x7) << 16;
19014 break;
19015 }
19016 case AArch64::SDOT_ZZZI_BtoH:
19017 case AArch64::UDOT_ZZZI_BtoH: {
19018 // op: Zda
19019 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19020 Value |= (op & 0x1f);
19021 // op: Zn
19022 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19023 Value |= (op & 0x1f) << 5;
19024 // op: iop
19025 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19026 Value |= (op & 0x4) << 20;
19027 Value |= (op & 0x3) << 19;
19028 // op: Zm
19029 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19030 Value |= (op & 0x7) << 16;
19031 break;
19032 }
19033 case AArch64::CDOT_ZZZI_D:
19034 case AArch64::CMLA_ZZZI_S:
19035 case AArch64::SQRDCMLAH_ZZZI_S: {
19036 // op: Zda
19037 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19038 Value |= (op & 0x1f);
19039 // op: Zn
19040 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19041 Value |= (op & 0x1f) << 5;
19042 // op: rot
19043 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19044 Value |= (op & 0x3) << 10;
19045 // op: iop
19046 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19047 Value |= (op & 0x1) << 20;
19048 // op: Zm
19049 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19050 Value |= (op & 0xf) << 16;
19051 break;
19052 }
19053 case AArch64::CDOT_ZZZI_S:
19054 case AArch64::CMLA_ZZZI_H:
19055 case AArch64::SQRDCMLAH_ZZZI_H: {
19056 // op: Zda
19057 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19058 Value |= (op & 0x1f);
19059 // op: Zn
19060 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19061 Value |= (op & 0x1f) << 5;
19062 // op: rot
19063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19064 Value |= (op & 0x3) << 10;
19065 // op: iop
19066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19067 Value |= (op & 0x3) << 19;
19068 // op: Zm
19069 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19070 Value |= (op & 0x7) << 16;
19071 break;
19072 }
19073 case AArch64::AESIMC_ZZ_B:
19074 case AArch64::AESMC_ZZ_B: {
19075 // op: Zdn
19076 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19077 Value |= (op & 0x1f);
19078 break;
19079 }
19080 case AArch64::BCAX_ZZZZ:
19081 case AArch64::BSL1N_ZZZZ:
19082 case AArch64::BSL2N_ZZZZ:
19083 case AArch64::BSL_ZZZZ:
19084 case AArch64::EOR3_ZZZZ:
19085 case AArch64::NBSL_ZZZZ: {
19086 // op: Zdn
19087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19088 Value |= (op & 0x1f);
19089 // op: Zk
19090 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19091 Value |= (op & 0x1f) << 5;
19092 // op: Zm
19093 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19094 Value |= (op & 0x1f) << 16;
19095 break;
19096 }
19097 case AArch64::MAD_CPA: {
19098 // op: Zdn
19099 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19100 Value |= (op & 0x1f);
19101 // op: Zm
19102 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19103 Value |= (op & 0x1f) << 16;
19104 // op: Za
19105 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19106 Value |= (op & 0x1f) << 5;
19107 break;
19108 }
19109 case AArch64::AESD_ZZZ_B:
19110 case AArch64::AESE_ZZZ_B:
19111 case AArch64::SM4E_ZZZ_S: {
19112 // op: Zdn
19113 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19114 Value |= (op & 0x1f);
19115 // op: Zm
19116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19117 Value |= (op & 0x1f) << 5;
19118 break;
19119 }
19120 case AArch64::XAR_ZZZI_H: {
19121 // op: Zdn
19122 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19123 Value |= (op & 0x1f);
19124 // op: Zm
19125 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19126 Value |= (op & 0x1f) << 5;
19127 // op: imm
19128 op = getVecShiftR16OpValue(MI, OpIdx: 3, Fixups, STI);
19129 Value |= (op & 0xf) << 16;
19130 break;
19131 }
19132 case AArch64::XAR_ZZZI_S: {
19133 // op: Zdn
19134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19135 Value |= (op & 0x1f);
19136 // op: Zm
19137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19138 Value |= (op & 0x1f) << 5;
19139 // op: imm
19140 op = getVecShiftR32OpValue(MI, OpIdx: 3, Fixups, STI);
19141 Value |= (op & 0x1f) << 16;
19142 break;
19143 }
19144 case AArch64::XAR_ZZZI_D: {
19145 // op: Zdn
19146 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19147 Value |= (op & 0x1f);
19148 // op: Zm
19149 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19150 Value |= (op & 0x1f) << 5;
19151 // op: imm
19152 op = getVecShiftR64OpValue(MI, OpIdx: 3, Fixups, STI);
19153 Value |= (op & 0x20) << 17;
19154 Value |= (op & 0x1f) << 16;
19155 break;
19156 }
19157 case AArch64::XAR_ZZZI_B: {
19158 // op: Zdn
19159 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19160 Value |= (op & 0x1f);
19161 // op: Zm
19162 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19163 Value |= (op & 0x1f) << 5;
19164 // op: imm
19165 op = getVecShiftR8OpValue(MI, OpIdx: 3, Fixups, STI);
19166 Value |= (op & 0x7) << 16;
19167 break;
19168 }
19169 case AArch64::FTMAD_ZZI_D:
19170 case AArch64::FTMAD_ZZI_H:
19171 case AArch64::FTMAD_ZZI_S: {
19172 // op: Zdn
19173 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19174 Value |= (op & 0x1f);
19175 // op: Zm
19176 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19177 Value |= (op & 0x1f) << 5;
19178 // op: imm3
19179 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19180 Value |= (op & 0x7) << 16;
19181 break;
19182 }
19183 case AArch64::EXTQ_ZZI: {
19184 // op: Zdn
19185 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19186 Value |= (op & 0x1f);
19187 // op: Zm
19188 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19189 Value |= (op & 0x1f) << 5;
19190 // op: imm4
19191 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19192 Value |= (op & 0xf) << 16;
19193 break;
19194 }
19195 case AArch64::EXT_ZZI: {
19196 // op: Zdn
19197 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19198 Value |= (op & 0x1f);
19199 // op: Zm
19200 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19201 Value |= (op & 0x1f) << 5;
19202 // op: imm8
19203 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19204 Value |= (op & 0xf8) << 13;
19205 Value |= (op & 0x7) << 10;
19206 break;
19207 }
19208 case AArch64::CADD_ZZI_B:
19209 case AArch64::CADD_ZZI_D:
19210 case AArch64::CADD_ZZI_H:
19211 case AArch64::CADD_ZZI_S:
19212 case AArch64::SQCADD_ZZI_B:
19213 case AArch64::SQCADD_ZZI_D:
19214 case AArch64::SQCADD_ZZI_H:
19215 case AArch64::SQCADD_ZZI_S: {
19216 // op: Zdn
19217 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19218 Value |= (op & 0x1f);
19219 // op: Zm
19220 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19221 Value |= (op & 0x1f) << 5;
19222 // op: rot
19223 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19224 Value |= (op & 0x1) << 10;
19225 break;
19226 }
19227 case AArch64::FCADD_ZPmZ_D:
19228 case AArch64::FCADD_ZPmZ_H:
19229 case AArch64::FCADD_ZPmZ_S: {
19230 // op: Zdn
19231 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19232 Value |= (op & 0x1f);
19233 // op: Zm
19234 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19235 Value |= (op & 0x1f) << 5;
19236 // op: Pg
19237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
19238 Value |= (op & 0x7) << 10;
19239 // op: imm
19240 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19241 Value |= (op & 0x1) << 16;
19242 break;
19243 }
19244 case AArch64::ADD_ZI_B:
19245 case AArch64::ADD_ZI_D:
19246 case AArch64::ADD_ZI_H:
19247 case AArch64::ADD_ZI_S:
19248 case AArch64::SQADD_ZI_B:
19249 case AArch64::SQADD_ZI_D:
19250 case AArch64::SQADD_ZI_H:
19251 case AArch64::SQADD_ZI_S:
19252 case AArch64::SQSUB_ZI_B:
19253 case AArch64::SQSUB_ZI_D:
19254 case AArch64::SQSUB_ZI_H:
19255 case AArch64::SQSUB_ZI_S:
19256 case AArch64::SUBR_ZI_B:
19257 case AArch64::SUBR_ZI_D:
19258 case AArch64::SUBR_ZI_H:
19259 case AArch64::SUBR_ZI_S:
19260 case AArch64::SUB_ZI_B:
19261 case AArch64::SUB_ZI_D:
19262 case AArch64::SUB_ZI_H:
19263 case AArch64::SUB_ZI_S:
19264 case AArch64::UQADD_ZI_B:
19265 case AArch64::UQADD_ZI_D:
19266 case AArch64::UQADD_ZI_H:
19267 case AArch64::UQADD_ZI_S:
19268 case AArch64::UQSUB_ZI_B:
19269 case AArch64::UQSUB_ZI_D:
19270 case AArch64::UQSUB_ZI_H:
19271 case AArch64::UQSUB_ZI_S: {
19272 // op: Zdn
19273 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19274 Value |= (op & 0x1f);
19275 // op: imm
19276 op = getImm8OptLsl(MI, OpIdx: 2, Fixups, STI);
19277 Value |= (op & 0x1ff) << 5;
19278 break;
19279 }
19280 case AArch64::MUL_ZI_B:
19281 case AArch64::MUL_ZI_D:
19282 case AArch64::MUL_ZI_H:
19283 case AArch64::MUL_ZI_S:
19284 case AArch64::SMAX_ZI_B:
19285 case AArch64::SMAX_ZI_D:
19286 case AArch64::SMAX_ZI_H:
19287 case AArch64::SMAX_ZI_S:
19288 case AArch64::SMIN_ZI_B:
19289 case AArch64::SMIN_ZI_D:
19290 case AArch64::SMIN_ZI_H:
19291 case AArch64::SMIN_ZI_S:
19292 case AArch64::UMAX_ZI_B:
19293 case AArch64::UMAX_ZI_D:
19294 case AArch64::UMAX_ZI_H:
19295 case AArch64::UMAX_ZI_S:
19296 case AArch64::UMIN_ZI_B:
19297 case AArch64::UMIN_ZI_D:
19298 case AArch64::UMIN_ZI_H:
19299 case AArch64::UMIN_ZI_S: {
19300 // op: Zdn
19301 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19302 Value |= (op & 0x1f);
19303 // op: imm
19304 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19305 Value |= (op & 0xff) << 5;
19306 break;
19307 }
19308 case AArch64::AND_ZI:
19309 case AArch64::EOR_ZI:
19310 case AArch64::ORR_ZI: {
19311 // op: Zdn
19312 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19313 Value |= (op & 0x1f);
19314 // op: imms13
19315 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19316 Value |= (op & 0x1fff) << 5;
19317 break;
19318 }
19319 case AArch64::DECD_ZPiI:
19320 case AArch64::DECH_ZPiI:
19321 case AArch64::DECW_ZPiI:
19322 case AArch64::INCD_ZPiI:
19323 case AArch64::INCH_ZPiI:
19324 case AArch64::INCW_ZPiI:
19325 case AArch64::SQDECD_ZPiI:
19326 case AArch64::SQDECH_ZPiI:
19327 case AArch64::SQDECW_ZPiI:
19328 case AArch64::SQINCD_ZPiI:
19329 case AArch64::SQINCH_ZPiI:
19330 case AArch64::SQINCW_ZPiI:
19331 case AArch64::UQDECD_ZPiI:
19332 case AArch64::UQDECH_ZPiI:
19333 case AArch64::UQDECW_ZPiI:
19334 case AArch64::UQINCD_ZPiI:
19335 case AArch64::UQINCH_ZPiI:
19336 case AArch64::UQINCW_ZPiI: {
19337 // op: Zdn
19338 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19339 Value |= (op & 0x1f);
19340 // op: pattern
19341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19342 Value |= (op & 0x1f) << 5;
19343 // op: imm4
19344 op = getSVEIncDecImm(MI, OpIdx: 3, Fixups, STI);
19345 Value |= (op & 0xf) << 16;
19346 break;
19347 }
19348 case AArch64::BFMAXNM_VG2_2Z2Z_H:
19349 case AArch64::BFMAX_VG2_2Z2Z_H:
19350 case AArch64::BFMINNM_VG2_2Z2Z_H:
19351 case AArch64::BFMIN_VG2_2Z2Z_H:
19352 case AArch64::BFSCALE_2Z2Z:
19353 case AArch64::FAMAX_2Z2Z_D:
19354 case AArch64::FAMAX_2Z2Z_H:
19355 case AArch64::FAMAX_2Z2Z_S:
19356 case AArch64::FAMIN_2Z2Z_D:
19357 case AArch64::FAMIN_2Z2Z_H:
19358 case AArch64::FAMIN_2Z2Z_S:
19359 case AArch64::FMAXNM_VG2_2Z2Z_D:
19360 case AArch64::FMAXNM_VG2_2Z2Z_H:
19361 case AArch64::FMAXNM_VG2_2Z2Z_S:
19362 case AArch64::FMAX_VG2_2Z2Z_D:
19363 case AArch64::FMAX_VG2_2Z2Z_H:
19364 case AArch64::FMAX_VG2_2Z2Z_S:
19365 case AArch64::FMINNM_VG2_2Z2Z_D:
19366 case AArch64::FMINNM_VG2_2Z2Z_H:
19367 case AArch64::FMINNM_VG2_2Z2Z_S:
19368 case AArch64::FMIN_VG2_2Z2Z_D:
19369 case AArch64::FMIN_VG2_2Z2Z_H:
19370 case AArch64::FMIN_VG2_2Z2Z_S:
19371 case AArch64::FSCALE_2Z2Z_D:
19372 case AArch64::FSCALE_2Z2Z_H:
19373 case AArch64::FSCALE_2Z2Z_S:
19374 case AArch64::SMAX_VG2_2Z2Z_B:
19375 case AArch64::SMAX_VG2_2Z2Z_D:
19376 case AArch64::SMAX_VG2_2Z2Z_H:
19377 case AArch64::SMAX_VG2_2Z2Z_S:
19378 case AArch64::SMIN_VG2_2Z2Z_B:
19379 case AArch64::SMIN_VG2_2Z2Z_D:
19380 case AArch64::SMIN_VG2_2Z2Z_H:
19381 case AArch64::SMIN_VG2_2Z2Z_S:
19382 case AArch64::SQDMULH_VG2_2Z2Z_B:
19383 case AArch64::SQDMULH_VG2_2Z2Z_D:
19384 case AArch64::SQDMULH_VG2_2Z2Z_H:
19385 case AArch64::SQDMULH_VG2_2Z2Z_S:
19386 case AArch64::SRSHL_VG2_2Z2Z_B:
19387 case AArch64::SRSHL_VG2_2Z2Z_D:
19388 case AArch64::SRSHL_VG2_2Z2Z_H:
19389 case AArch64::SRSHL_VG2_2Z2Z_S:
19390 case AArch64::UMAX_VG2_2Z2Z_B:
19391 case AArch64::UMAX_VG2_2Z2Z_D:
19392 case AArch64::UMAX_VG2_2Z2Z_H:
19393 case AArch64::UMAX_VG2_2Z2Z_S:
19394 case AArch64::UMIN_VG2_2Z2Z_B:
19395 case AArch64::UMIN_VG2_2Z2Z_D:
19396 case AArch64::UMIN_VG2_2Z2Z_H:
19397 case AArch64::UMIN_VG2_2Z2Z_S:
19398 case AArch64::URSHL_VG2_2Z2Z_B:
19399 case AArch64::URSHL_VG2_2Z2Z_D:
19400 case AArch64::URSHL_VG2_2Z2Z_H:
19401 case AArch64::URSHL_VG2_2Z2Z_S: {
19402 // op: Zm
19403 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
19404 Value |= (op & 0xf) << 17;
19405 // op: Zdn
19406 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19407 Value |= (op & 0xf) << 1;
19408 break;
19409 }
19410 case AArch64::FMLALL_VG2_M2Z2Z_BtoS:
19411 case AArch64::SMLALL_VG2_M2Z2Z_BtoS:
19412 case AArch64::SMLALL_VG2_M2Z2Z_HtoD:
19413 case AArch64::SMLSLL_VG2_M2Z2Z_BtoS:
19414 case AArch64::SMLSLL_VG2_M2Z2Z_HtoD:
19415 case AArch64::UMLALL_VG2_M2Z2Z_BtoS:
19416 case AArch64::UMLALL_VG2_M2Z2Z_HtoD:
19417 case AArch64::UMLSLL_VG2_M2Z2Z_BtoS:
19418 case AArch64::UMLSLL_VG2_M2Z2Z_HtoD:
19419 case AArch64::USMLALL_VG2_M2Z2Z_BtoS: {
19420 // op: Zm
19421 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 5, Fixups, STI);
19422 Value |= (op & 0xf) << 17;
19423 // op: Rv
19424 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19425 Value |= (op & 0x3) << 13;
19426 // op: Zn
19427 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19428 Value |= (op & 0xf) << 6;
19429 // op: imm
19430 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19431 Value |= (op & 0x1);
19432 break;
19433 }
19434 case AArch64::ADD_VG2_M2Z2Z_D:
19435 case AArch64::ADD_VG2_M2Z2Z_S:
19436 case AArch64::BFDOT_VG2_M2Z2Z_HtoS:
19437 case AArch64::BFMLA_VG2_M2Z2Z:
19438 case AArch64::BFMLS_VG2_M2Z2Z:
19439 case AArch64::FDOT_VG2_M2Z2Z_BtoH:
19440 case AArch64::FDOT_VG2_M2Z2Z_BtoS:
19441 case AArch64::FDOT_VG2_M2Z2Z_HtoS:
19442 case AArch64::FMLA_VG2_M2Z2Z_D:
19443 case AArch64::FMLA_VG2_M2Z2Z_H:
19444 case AArch64::FMLA_VG2_M2Z2Z_S:
19445 case AArch64::FMLS_VG2_M2Z2Z_D:
19446 case AArch64::FMLS_VG2_M2Z2Z_H:
19447 case AArch64::FMLS_VG2_M2Z2Z_S:
19448 case AArch64::SDOT_VG2_M2Z2Z_BtoS:
19449 case AArch64::SDOT_VG2_M2Z2Z_HtoD:
19450 case AArch64::SDOT_VG2_M2Z2Z_HtoS:
19451 case AArch64::SUB_VG2_M2Z2Z_D:
19452 case AArch64::SUB_VG2_M2Z2Z_S:
19453 case AArch64::UDOT_VG2_M2Z2Z_BtoS:
19454 case AArch64::UDOT_VG2_M2Z2Z_HtoD:
19455 case AArch64::UDOT_VG2_M2Z2Z_HtoS:
19456 case AArch64::USDOT_VG2_M2Z2Z_BToS: {
19457 // op: Zm
19458 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 5, Fixups, STI);
19459 Value |= (op & 0xf) << 17;
19460 // op: Zn
19461 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19462 Value |= (op & 0xf) << 6;
19463 // op: Rv
19464 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19465 Value |= (op & 0x3) << 13;
19466 // op: imm3
19467 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19468 Value |= (op & 0x7);
19469 break;
19470 }
19471 case AArch64::BFMAXNM_VG4_4Z2Z_H:
19472 case AArch64::BFMAX_VG4_4Z2Z_H:
19473 case AArch64::BFMINNM_VG4_4Z2Z_H:
19474 case AArch64::BFMIN_VG4_4Z2Z_H:
19475 case AArch64::BFSCALE_4Z4Z:
19476 case AArch64::FAMAX_4Z4Z_D:
19477 case AArch64::FAMAX_4Z4Z_H:
19478 case AArch64::FAMAX_4Z4Z_S:
19479 case AArch64::FAMIN_4Z4Z_D:
19480 case AArch64::FAMIN_4Z4Z_H:
19481 case AArch64::FAMIN_4Z4Z_S:
19482 case AArch64::FMAXNM_VG4_4Z4Z_D:
19483 case AArch64::FMAXNM_VG4_4Z4Z_H:
19484 case AArch64::FMAXNM_VG4_4Z4Z_S:
19485 case AArch64::FMAX_VG4_4Z4Z_D:
19486 case AArch64::FMAX_VG4_4Z4Z_H:
19487 case AArch64::FMAX_VG4_4Z4Z_S:
19488 case AArch64::FMINNM_VG4_4Z4Z_D:
19489 case AArch64::FMINNM_VG4_4Z4Z_H:
19490 case AArch64::FMINNM_VG4_4Z4Z_S:
19491 case AArch64::FMIN_VG4_4Z4Z_D:
19492 case AArch64::FMIN_VG4_4Z4Z_H:
19493 case AArch64::FMIN_VG4_4Z4Z_S:
19494 case AArch64::FSCALE_4Z4Z_D:
19495 case AArch64::FSCALE_4Z4Z_H:
19496 case AArch64::FSCALE_4Z4Z_S:
19497 case AArch64::SMAX_VG4_4Z4Z_B:
19498 case AArch64::SMAX_VG4_4Z4Z_D:
19499 case AArch64::SMAX_VG4_4Z4Z_H:
19500 case AArch64::SMAX_VG4_4Z4Z_S:
19501 case AArch64::SMIN_VG4_4Z4Z_B:
19502 case AArch64::SMIN_VG4_4Z4Z_D:
19503 case AArch64::SMIN_VG4_4Z4Z_H:
19504 case AArch64::SMIN_VG4_4Z4Z_S:
19505 case AArch64::SQDMULH_VG4_4Z4Z_B:
19506 case AArch64::SQDMULH_VG4_4Z4Z_D:
19507 case AArch64::SQDMULH_VG4_4Z4Z_H:
19508 case AArch64::SQDMULH_VG4_4Z4Z_S:
19509 case AArch64::SRSHL_VG4_4Z4Z_B:
19510 case AArch64::SRSHL_VG4_4Z4Z_D:
19511 case AArch64::SRSHL_VG4_4Z4Z_H:
19512 case AArch64::SRSHL_VG4_4Z4Z_S:
19513 case AArch64::UMAX_VG4_4Z4Z_B:
19514 case AArch64::UMAX_VG4_4Z4Z_D:
19515 case AArch64::UMAX_VG4_4Z4Z_H:
19516 case AArch64::UMAX_VG4_4Z4Z_S:
19517 case AArch64::UMIN_VG4_4Z4Z_B:
19518 case AArch64::UMIN_VG4_4Z4Z_D:
19519 case AArch64::UMIN_VG4_4Z4Z_H:
19520 case AArch64::UMIN_VG4_4Z4Z_S:
19521 case AArch64::URSHL_VG4_4Z4Z_B:
19522 case AArch64::URSHL_VG4_4Z4Z_D:
19523 case AArch64::URSHL_VG4_4Z4Z_H:
19524 case AArch64::URSHL_VG4_4Z4Z_S: {
19525 // op: Zm
19526 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 2, Fixups, STI);
19527 Value |= (op & 0x7) << 18;
19528 // op: Zdn
19529 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19530 Value |= (op & 0x7) << 2;
19531 break;
19532 }
19533 case AArch64::FMLALL_VG4_M4Z4Z_BtoS:
19534 case AArch64::SMLALL_VG4_M4Z4Z_BtoS:
19535 case AArch64::SMLALL_VG4_M4Z4Z_HtoD:
19536 case AArch64::SMLSLL_VG4_M4Z4Z_BtoS:
19537 case AArch64::SMLSLL_VG4_M4Z4Z_HtoD:
19538 case AArch64::UMLALL_VG4_M4Z4Z_BtoS:
19539 case AArch64::UMLALL_VG4_M4Z4Z_HtoD:
19540 case AArch64::UMLSLL_VG4_M4Z4Z_BtoS:
19541 case AArch64::UMLSLL_VG4_M4Z4Z_HtoD:
19542 case AArch64::USMLALL_VG4_M4Z4Z_BtoS: {
19543 // op: Zm
19544 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 5, Fixups, STI);
19545 Value |= (op & 0x7) << 18;
19546 // op: Rv
19547 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19548 Value |= (op & 0x3) << 13;
19549 // op: Zn
19550 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
19551 Value |= (op & 0x7) << 7;
19552 // op: imm
19553 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19554 Value |= (op & 0x1);
19555 break;
19556 }
19557 case AArch64::ADD_VG4_M4Z4Z_D:
19558 case AArch64::ADD_VG4_M4Z4Z_S:
19559 case AArch64::BFDOT_VG4_M4Z4Z_HtoS:
19560 case AArch64::BFMLA_VG4_M4Z4Z:
19561 case AArch64::BFMLS_VG4_M4Z4Z:
19562 case AArch64::FDOT_VG4_M4Z4Z_BtoH:
19563 case AArch64::FDOT_VG4_M4Z4Z_BtoS:
19564 case AArch64::FDOT_VG4_M4Z4Z_HtoS:
19565 case AArch64::FMLA_VG4_M4Z4Z_D:
19566 case AArch64::FMLA_VG4_M4Z4Z_H:
19567 case AArch64::FMLA_VG4_M4Z4Z_S:
19568 case AArch64::FMLS_VG4_M4Z4Z_D:
19569 case AArch64::FMLS_VG4_M4Z4Z_H:
19570 case AArch64::FMLS_VG4_M4Z4Z_S:
19571 case AArch64::SDOT_VG4_M4Z4Z_BtoS:
19572 case AArch64::SDOT_VG4_M4Z4Z_HtoD:
19573 case AArch64::SDOT_VG4_M4Z4Z_HtoS:
19574 case AArch64::SUB_VG4_M4Z4Z_D:
19575 case AArch64::SUB_VG4_M4Z4Z_S:
19576 case AArch64::UDOT_VG4_M4Z4Z_BtoS:
19577 case AArch64::UDOT_VG4_M4Z4Z_HtoD:
19578 case AArch64::UDOT_VG4_M4Z4Z_HtoS:
19579 case AArch64::USDOT_VG4_M4Z4Z_BToS: {
19580 // op: Zm
19581 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 5, Fixups, STI);
19582 Value |= (op & 0x7) << 18;
19583 // op: Zn
19584 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
19585 Value |= (op & 0x7) << 7;
19586 // op: Rv
19587 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19588 Value |= (op & 0x3) << 13;
19589 // op: imm3
19590 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19591 Value |= (op & 0x7);
19592 break;
19593 }
19594 case AArch64::PMULL_2ZZZ_Q: {
19595 // op: Zm
19596 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19597 Value |= (op & 0x1f) << 16;
19598 // op: Zn
19599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
19600 Value |= (op & 0x1f) << 5;
19601 // op: Zd
19602 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19603 Value |= (op & 0xf) << 1;
19604 break;
19605 }
19606 case AArch64::AESDIMC_2ZZI_B:
19607 case AArch64::AESD_2ZZI_B:
19608 case AArch64::AESEMC_2ZZI_B:
19609 case AArch64::AESE_2ZZI_B: {
19610 // op: Zm
19611 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19612 Value |= (op & 0x1f) << 5;
19613 // op: Zdn
19614 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19615 Value |= (op & 0xf) << 1;
19616 // op: imm2
19617 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19618 Value |= (op & 0x3) << 19;
19619 break;
19620 }
19621 case AArch64::AESDIMC_4ZZI_B:
19622 case AArch64::AESD_4ZZI_B:
19623 case AArch64::AESEMC_4ZZI_B:
19624 case AArch64::AESE_4ZZI_B: {
19625 // op: Zm
19626 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19627 Value |= (op & 0x1f) << 5;
19628 // op: Zdn
19629 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19630 Value |= (op & 0x7) << 2;
19631 // op: imm2
19632 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19633 Value |= (op & 0x3) << 19;
19634 break;
19635 }
19636 case AArch64::ADD_VG2_2ZZ_B:
19637 case AArch64::ADD_VG2_2ZZ_D:
19638 case AArch64::ADD_VG2_2ZZ_H:
19639 case AArch64::ADD_VG2_2ZZ_S:
19640 case AArch64::BFMAXNM_VG2_2ZZ_H:
19641 case AArch64::BFMAX_VG2_2ZZ_H:
19642 case AArch64::BFMINNM_VG2_2ZZ_H:
19643 case AArch64::BFMIN_VG2_2ZZ_H:
19644 case AArch64::BFSCALE_2ZZ:
19645 case AArch64::FMAXNM_VG2_2ZZ_D:
19646 case AArch64::FMAXNM_VG2_2ZZ_H:
19647 case AArch64::FMAXNM_VG2_2ZZ_S:
19648 case AArch64::FMAX_VG2_2ZZ_D:
19649 case AArch64::FMAX_VG2_2ZZ_H:
19650 case AArch64::FMAX_VG2_2ZZ_S:
19651 case AArch64::FMINNM_VG2_2ZZ_D:
19652 case AArch64::FMINNM_VG2_2ZZ_H:
19653 case AArch64::FMINNM_VG2_2ZZ_S:
19654 case AArch64::FMIN_VG2_2ZZ_D:
19655 case AArch64::FMIN_VG2_2ZZ_H:
19656 case AArch64::FMIN_VG2_2ZZ_S:
19657 case AArch64::FSCALE_2ZZ_D:
19658 case AArch64::FSCALE_2ZZ_H:
19659 case AArch64::FSCALE_2ZZ_S:
19660 case AArch64::SMAX_VG2_2ZZ_B:
19661 case AArch64::SMAX_VG2_2ZZ_D:
19662 case AArch64::SMAX_VG2_2ZZ_H:
19663 case AArch64::SMAX_VG2_2ZZ_S:
19664 case AArch64::SMIN_VG2_2ZZ_B:
19665 case AArch64::SMIN_VG2_2ZZ_D:
19666 case AArch64::SMIN_VG2_2ZZ_H:
19667 case AArch64::SMIN_VG2_2ZZ_S:
19668 case AArch64::SQDMULH_VG2_2ZZ_B:
19669 case AArch64::SQDMULH_VG2_2ZZ_D:
19670 case AArch64::SQDMULH_VG2_2ZZ_H:
19671 case AArch64::SQDMULH_VG2_2ZZ_S:
19672 case AArch64::SRSHL_VG2_2ZZ_B:
19673 case AArch64::SRSHL_VG2_2ZZ_D:
19674 case AArch64::SRSHL_VG2_2ZZ_H:
19675 case AArch64::SRSHL_VG2_2ZZ_S:
19676 case AArch64::UMAX_VG2_2ZZ_B:
19677 case AArch64::UMAX_VG2_2ZZ_D:
19678 case AArch64::UMAX_VG2_2ZZ_H:
19679 case AArch64::UMAX_VG2_2ZZ_S:
19680 case AArch64::UMIN_VG2_2ZZ_B:
19681 case AArch64::UMIN_VG2_2ZZ_D:
19682 case AArch64::UMIN_VG2_2ZZ_H:
19683 case AArch64::UMIN_VG2_2ZZ_S:
19684 case AArch64::URSHL_VG2_2ZZ_B:
19685 case AArch64::URSHL_VG2_2ZZ_D:
19686 case AArch64::URSHL_VG2_2ZZ_H:
19687 case AArch64::URSHL_VG2_2ZZ_S: {
19688 // op: Zm
19689 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19690 Value |= (op & 0xf) << 16;
19691 // op: Zdn
19692 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19693 Value |= (op & 0xf) << 1;
19694 break;
19695 }
19696 case AArch64::ADD_VG4_4ZZ_B:
19697 case AArch64::ADD_VG4_4ZZ_D:
19698 case AArch64::ADD_VG4_4ZZ_H:
19699 case AArch64::ADD_VG4_4ZZ_S:
19700 case AArch64::BFMAXNM_VG4_4ZZ_H:
19701 case AArch64::BFMAX_VG4_4ZZ_H:
19702 case AArch64::BFMINNM_VG4_4ZZ_H:
19703 case AArch64::BFMIN_VG4_4ZZ_H:
19704 case AArch64::BFSCALE_4ZZ:
19705 case AArch64::FMAXNM_VG4_4ZZ_D:
19706 case AArch64::FMAXNM_VG4_4ZZ_H:
19707 case AArch64::FMAXNM_VG4_4ZZ_S:
19708 case AArch64::FMAX_VG4_4ZZ_D:
19709 case AArch64::FMAX_VG4_4ZZ_H:
19710 case AArch64::FMAX_VG4_4ZZ_S:
19711 case AArch64::FMINNM_VG4_4ZZ_D:
19712 case AArch64::FMINNM_VG4_4ZZ_H:
19713 case AArch64::FMINNM_VG4_4ZZ_S:
19714 case AArch64::FMIN_VG4_4ZZ_D:
19715 case AArch64::FMIN_VG4_4ZZ_H:
19716 case AArch64::FMIN_VG4_4ZZ_S:
19717 case AArch64::FSCALE_4ZZ_D:
19718 case AArch64::FSCALE_4ZZ_H:
19719 case AArch64::FSCALE_4ZZ_S:
19720 case AArch64::SMAX_VG4_4ZZ_B:
19721 case AArch64::SMAX_VG4_4ZZ_D:
19722 case AArch64::SMAX_VG4_4ZZ_H:
19723 case AArch64::SMAX_VG4_4ZZ_S:
19724 case AArch64::SMIN_VG4_4ZZ_B:
19725 case AArch64::SMIN_VG4_4ZZ_D:
19726 case AArch64::SMIN_VG4_4ZZ_H:
19727 case AArch64::SMIN_VG4_4ZZ_S:
19728 case AArch64::SQDMULH_VG4_4ZZ_B:
19729 case AArch64::SQDMULH_VG4_4ZZ_D:
19730 case AArch64::SQDMULH_VG4_4ZZ_H:
19731 case AArch64::SQDMULH_VG4_4ZZ_S:
19732 case AArch64::SRSHL_VG4_4ZZ_B:
19733 case AArch64::SRSHL_VG4_4ZZ_D:
19734 case AArch64::SRSHL_VG4_4ZZ_H:
19735 case AArch64::SRSHL_VG4_4ZZ_S:
19736 case AArch64::UMAX_VG4_4ZZ_B:
19737 case AArch64::UMAX_VG4_4ZZ_D:
19738 case AArch64::UMAX_VG4_4ZZ_H:
19739 case AArch64::UMAX_VG4_4ZZ_S:
19740 case AArch64::UMIN_VG4_4ZZ_B:
19741 case AArch64::UMIN_VG4_4ZZ_D:
19742 case AArch64::UMIN_VG4_4ZZ_H:
19743 case AArch64::UMIN_VG4_4ZZ_S:
19744 case AArch64::URSHL_VG4_4ZZ_B:
19745 case AArch64::URSHL_VG4_4ZZ_D:
19746 case AArch64::URSHL_VG4_4ZZ_H:
19747 case AArch64::URSHL_VG4_4ZZ_S: {
19748 // op: Zm
19749 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19750 Value |= (op & 0xf) << 16;
19751 // op: Zdn
19752 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19753 Value |= (op & 0x7) << 2;
19754 break;
19755 }
19756 case AArch64::BFCLAMP_VG2_2ZZZ_H:
19757 case AArch64::FCLAMP_VG2_2Z2Z_D:
19758 case AArch64::FCLAMP_VG2_2Z2Z_H:
19759 case AArch64::FCLAMP_VG2_2Z2Z_S:
19760 case AArch64::SCLAMP_VG2_2Z2Z_B:
19761 case AArch64::SCLAMP_VG2_2Z2Z_D:
19762 case AArch64::SCLAMP_VG2_2Z2Z_H:
19763 case AArch64::SCLAMP_VG2_2Z2Z_S:
19764 case AArch64::UCLAMP_VG2_2Z2Z_B:
19765 case AArch64::UCLAMP_VG2_2Z2Z_D:
19766 case AArch64::UCLAMP_VG2_2Z2Z_H:
19767 case AArch64::UCLAMP_VG2_2Z2Z_S: {
19768 // op: Zm
19769 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19770 Value |= (op & 0x1f) << 16;
19771 // op: Zn
19772 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19773 Value |= (op & 0x1f) << 5;
19774 // op: Zd
19775 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19776 Value |= (op & 0xf) << 1;
19777 break;
19778 }
19779 case AArch64::BFCLAMP_VG4_4ZZZ_H:
19780 case AArch64::FCLAMP_VG4_4Z4Z_D:
19781 case AArch64::FCLAMP_VG4_4Z4Z_H:
19782 case AArch64::FCLAMP_VG4_4Z4Z_S:
19783 case AArch64::SCLAMP_VG4_4Z4Z_B:
19784 case AArch64::SCLAMP_VG4_4Z4Z_D:
19785 case AArch64::SCLAMP_VG4_4Z4Z_H:
19786 case AArch64::SCLAMP_VG4_4Z4Z_S:
19787 case AArch64::UCLAMP_VG4_4Z4Z_B:
19788 case AArch64::UCLAMP_VG4_4Z4Z_D:
19789 case AArch64::UCLAMP_VG4_4Z4Z_H:
19790 case AArch64::UCLAMP_VG4_4Z4Z_S: {
19791 // op: Zm
19792 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19793 Value |= (op & 0x1f) << 16;
19794 // op: Zn
19795 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19796 Value |= (op & 0x1f) << 5;
19797 // op: Zd
19798 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
19799 Value |= (op & 0x7) << 2;
19800 break;
19801 }
19802 case AArch64::BFCLAMP_ZZZ:
19803 case AArch64::FCLAMP_ZZZ_D:
19804 case AArch64::FCLAMP_ZZZ_H:
19805 case AArch64::FCLAMP_ZZZ_S:
19806 case AArch64::SCLAMP_ZZZ_B:
19807 case AArch64::SCLAMP_ZZZ_D:
19808 case AArch64::SCLAMP_ZZZ_H:
19809 case AArch64::SCLAMP_ZZZ_S:
19810 case AArch64::UCLAMP_ZZZ_B:
19811 case AArch64::UCLAMP_ZZZ_D:
19812 case AArch64::UCLAMP_ZZZ_H:
19813 case AArch64::UCLAMP_ZZZ_S: {
19814 // op: Zm
19815 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19816 Value |= (op & 0x1f) << 16;
19817 // op: Zn
19818 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19819 Value |= (op & 0x1f) << 5;
19820 // op: Zd
19821 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19822 Value |= (op & 0x1f);
19823 break;
19824 }
19825 case AArch64::PMLAL_2ZZZ_Q: {
19826 // op: Zm
19827 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19828 Value |= (op & 0x1f) << 16;
19829 // op: Zn
19830 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19831 Value |= (op & 0x1f) << 5;
19832 // op: Zda
19833 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
19834 Value |= (op & 0xf) << 1;
19835 break;
19836 }
19837 case AArch64::BFMOPA_MPPZZ_H:
19838 case AArch64::BFMOPS_MPPZZ_H:
19839 case AArch64::FMOPA_MPPZZ_BtoH:
19840 case AArch64::FMOPA_MPPZZ_H:
19841 case AArch64::FMOPS_MPPZZ_H: {
19842 // op: Zm
19843 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19844 Value |= (op & 0x1f) << 16;
19845 // op: Pm
19846 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19847 Value |= (op & 0x7) << 13;
19848 // op: Pn
19849 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19850 Value |= (op & 0x7) << 10;
19851 // op: Zn
19852 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19853 Value |= (op & 0x1f) << 5;
19854 // op: ZAda
19855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19856 Value |= (op & 0x1);
19857 break;
19858 }
19859 case AArch64::BFMOPA_MPPZZ:
19860 case AArch64::BFMOPS_MPPZZ:
19861 case AArch64::BMOPA_MPPZZ_S:
19862 case AArch64::BMOPS_MPPZZ_S:
19863 case AArch64::FMOPAL_MPPZZ:
19864 case AArch64::FMOPA_MPPZZ_BtoS:
19865 case AArch64::FMOPA_MPPZZ_S:
19866 case AArch64::FMOPSL_MPPZZ:
19867 case AArch64::FMOPS_MPPZZ_S:
19868 case AArch64::SMOPA_MPPZZ_HtoS:
19869 case AArch64::SMOPA_MPPZZ_S:
19870 case AArch64::SMOPS_MPPZZ_HtoS:
19871 case AArch64::SMOPS_MPPZZ_S:
19872 case AArch64::SUMOPA_MPPZZ_S:
19873 case AArch64::SUMOPS_MPPZZ_S:
19874 case AArch64::UMOPA_MPPZZ_HtoS:
19875 case AArch64::UMOPA_MPPZZ_S:
19876 case AArch64::UMOPS_MPPZZ_HtoS:
19877 case AArch64::UMOPS_MPPZZ_S:
19878 case AArch64::USMOPA_MPPZZ_S:
19879 case AArch64::USMOPS_MPPZZ_S: {
19880 // op: Zm
19881 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19882 Value |= (op & 0x1f) << 16;
19883 // op: Pm
19884 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19885 Value |= (op & 0x7) << 13;
19886 // op: Pn
19887 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19888 Value |= (op & 0x7) << 10;
19889 // op: Zn
19890 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19891 Value |= (op & 0x1f) << 5;
19892 // op: ZAda
19893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19894 Value |= (op & 0x3);
19895 break;
19896 }
19897 case AArch64::FMOPA_MPPZZ_D:
19898 case AArch64::FMOPS_MPPZZ_D:
19899 case AArch64::SMOPA_MPPZZ_D:
19900 case AArch64::SMOPS_MPPZZ_D:
19901 case AArch64::SUMOPA_MPPZZ_D:
19902 case AArch64::SUMOPS_MPPZZ_D:
19903 case AArch64::UMOPA_MPPZZ_D:
19904 case AArch64::UMOPS_MPPZZ_D:
19905 case AArch64::USMOPA_MPPZZ_D:
19906 case AArch64::USMOPS_MPPZZ_D: {
19907 // op: Zm
19908 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19909 Value |= (op & 0x1f) << 16;
19910 // op: Pm
19911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19912 Value |= (op & 0x7) << 13;
19913 // op: Pn
19914 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
19915 Value |= (op & 0x7) << 10;
19916 // op: Zn
19917 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
19918 Value |= (op & 0x1f) << 5;
19919 // op: ZAda
19920 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
19921 Value |= (op & 0x7);
19922 break;
19923 }
19924 case AArch64::FVDOTB_VG4_M2ZZI_BtoS:
19925 case AArch64::FVDOTT_VG4_M2ZZI_BtoS: {
19926 // op: Zm
19927 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19928 Value |= (op & 0xf) << 16;
19929 // op: Rv
19930 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19931 Value |= (op & 0x3) << 13;
19932 // op: Zn
19933 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19934 Value |= (op & 0xf) << 6;
19935 // op: imm3
19936 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19937 Value |= (op & 0x7);
19938 // op: i
19939 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
19940 Value |= (op & 0x2) << 9;
19941 Value |= (op & 0x1) << 3;
19942 break;
19943 }
19944 case AArch64::BFDOT_VG2_M2ZZI_HtoS:
19945 case AArch64::BFVDOT_VG2_M2ZZI_HtoS:
19946 case AArch64::FDOT_VG2_M2ZZI_BtoS:
19947 case AArch64::FDOT_VG2_M2ZZI_HtoS:
19948 case AArch64::FMLA_VG2_M2ZZI_S:
19949 case AArch64::FMLS_VG2_M2ZZI_S:
19950 case AArch64::FVDOT_VG2_M2ZZI_HtoS:
19951 case AArch64::SDOT_VG2_M2ZZI_BToS:
19952 case AArch64::SDOT_VG2_M2ZZI_HToS:
19953 case AArch64::SUDOT_VG2_M2ZZI_BToS:
19954 case AArch64::SVDOT_VG2_M2ZZI_HtoS:
19955 case AArch64::UDOT_VG2_M2ZZI_BToS:
19956 case AArch64::UDOT_VG2_M2ZZI_HToS:
19957 case AArch64::USDOT_VG2_M2ZZI_BToS:
19958 case AArch64::UVDOT_VG2_M2ZZI_HtoS: {
19959 // op: Zm
19960 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19961 Value |= (op & 0xf) << 16;
19962 // op: Rv
19963 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19964 Value |= (op & 0x3) << 13;
19965 // op: Zn
19966 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19967 Value |= (op & 0xf) << 6;
19968 // op: imm3
19969 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19970 Value |= (op & 0x7);
19971 // op: i
19972 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
19973 Value |= (op & 0x3) << 10;
19974 break;
19975 }
19976 case AArch64::BFMLA_VG2_M2ZZI:
19977 case AArch64::BFMLS_VG2_M2ZZI:
19978 case AArch64::FDOT_VG2_M2ZZI_BtoH:
19979 case AArch64::FMLA_VG2_M2ZZI_H:
19980 case AArch64::FMLS_VG2_M2ZZI_H:
19981 case AArch64::FVDOT_VG2_M2ZZI_BtoH: {
19982 // op: Zm
19983 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
19984 Value |= (op & 0xf) << 16;
19985 // op: Rv
19986 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
19987 Value |= (op & 0x3) << 13;
19988 // op: Zn
19989 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
19990 Value |= (op & 0xf) << 6;
19991 // op: imm3
19992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
19993 Value |= (op & 0x7);
19994 // op: i
19995 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
19996 Value |= (op & 0x6) << 9;
19997 Value |= (op & 0x1) << 3;
19998 break;
19999 }
20000 case AArch64::BFDOT_VG4_M4ZZI_HtoS:
20001 case AArch64::FDOT_VG4_M4ZZI_BtoS:
20002 case AArch64::FDOT_VG4_M4ZZI_HtoS:
20003 case AArch64::FMLA_VG4_M4ZZI_S:
20004 case AArch64::FMLS_VG4_M4ZZI_S:
20005 case AArch64::SDOT_VG4_M4ZZI_BToS:
20006 case AArch64::SDOT_VG4_M4ZZI_HToS:
20007 case AArch64::SUDOT_VG4_M4ZZI_BToS:
20008 case AArch64::SUVDOT_VG4_M4ZZI_BToS:
20009 case AArch64::SVDOT_VG4_M4ZZI_BtoS:
20010 case AArch64::UDOT_VG4_M4ZZI_BtoS:
20011 case AArch64::UDOT_VG4_M4ZZI_HToS:
20012 case AArch64::USDOT_VG4_M4ZZI_BToS:
20013 case AArch64::USVDOT_VG4_M4ZZI_BToS:
20014 case AArch64::UVDOT_VG4_M4ZZI_BtoS: {
20015 // op: Zm
20016 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20017 Value |= (op & 0xf) << 16;
20018 // op: Rv
20019 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20020 Value |= (op & 0x3) << 13;
20021 // op: Zn
20022 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20023 Value |= (op & 0x7) << 7;
20024 // op: imm3
20025 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20026 Value |= (op & 0x7);
20027 // op: i
20028 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20029 Value |= (op & 0x3) << 10;
20030 break;
20031 }
20032 case AArch64::BFMLA_VG4_M4ZZI:
20033 case AArch64::BFMLS_VG4_M4ZZI:
20034 case AArch64::FDOT_VG4_M4ZZI_BtoH:
20035 case AArch64::FMLA_VG4_M4ZZI_H:
20036 case AArch64::FMLS_VG4_M4ZZI_H: {
20037 // op: Zm
20038 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20039 Value |= (op & 0xf) << 16;
20040 // op: Rv
20041 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20042 Value |= (op & 0x3) << 13;
20043 // op: Zn
20044 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20045 Value |= (op & 0x7) << 7;
20046 // op: imm3
20047 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20048 Value |= (op & 0x7);
20049 // op: i
20050 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20051 Value |= (op & 0x6) << 9;
20052 Value |= (op & 0x1) << 3;
20053 break;
20054 }
20055 case AArch64::FMLALL_VG2_M2ZZ_BtoS:
20056 case AArch64::FMLALL_VG4_M4ZZ_BtoS:
20057 case AArch64::SMLALL_VG2_M2ZZ_BtoS:
20058 case AArch64::SMLALL_VG2_M2ZZ_HtoD:
20059 case AArch64::SMLALL_VG4_M4ZZ_BtoS:
20060 case AArch64::SMLALL_VG4_M4ZZ_HtoD:
20061 case AArch64::SMLSLL_VG2_M2ZZ_BtoS:
20062 case AArch64::SMLSLL_VG2_M2ZZ_HtoD:
20063 case AArch64::SMLSLL_VG4_M4ZZ_BtoS:
20064 case AArch64::SMLSLL_VG4_M4ZZ_HtoD:
20065 case AArch64::SUMLALL_VG2_M2ZZ_BtoS:
20066 case AArch64::SUMLALL_VG4_M4ZZ_BtoS:
20067 case AArch64::UMLALL_VG2_M2ZZ_BtoS:
20068 case AArch64::UMLALL_VG2_M2ZZ_HtoD:
20069 case AArch64::UMLALL_VG4_M4ZZ_BtoS:
20070 case AArch64::UMLALL_VG4_M4ZZ_HtoD:
20071 case AArch64::UMLSLL_VG2_M2ZZ_BtoS:
20072 case AArch64::UMLSLL_VG2_M2ZZ_HtoD:
20073 case AArch64::UMLSLL_VG4_M4ZZ_BtoS:
20074 case AArch64::UMLSLL_VG4_M4ZZ_HtoD:
20075 case AArch64::USMLALL_VG2_M2ZZ_BtoS:
20076 case AArch64::USMLALL_VG4_M4ZZ_BtoS: {
20077 // op: Zm
20078 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20079 Value |= (op & 0xf) << 16;
20080 // op: Rv
20081 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20082 Value |= (op & 0x3) << 13;
20083 // op: Zn
20084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20085 Value |= (op & 0x1f) << 5;
20086 // op: imm
20087 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20088 Value |= (op & 0x1);
20089 break;
20090 }
20091 case AArch64::FMLALL_MZZ_BtoS:
20092 case AArch64::SMLALL_MZZ_BtoS:
20093 case AArch64::SMLALL_MZZ_HtoD:
20094 case AArch64::SMLSLL_MZZ_BtoS:
20095 case AArch64::SMLSLL_MZZ_HtoD:
20096 case AArch64::UMLALL_MZZ_BtoS:
20097 case AArch64::UMLALL_MZZ_HtoD:
20098 case AArch64::UMLSLL_MZZ_BtoS:
20099 case AArch64::UMLSLL_MZZ_HtoD:
20100 case AArch64::USMLALL_MZZ_BtoS: {
20101 // op: Zm
20102 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20103 Value |= (op & 0xf) << 16;
20104 // op: Rv
20105 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20106 Value |= (op & 0x3) << 13;
20107 // op: Zn
20108 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20109 Value |= (op & 0x1f) << 5;
20110 // op: imm
20111 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20112 Value |= (op & 0x3);
20113 break;
20114 }
20115 case AArch64::SMLALL_MZZI_HtoD:
20116 case AArch64::SMLSLL_MZZI_HtoD:
20117 case AArch64::UMLALL_MZZI_HtoD:
20118 case AArch64::UMLSLL_MZZI_HtoD: {
20119 // op: Zm
20120 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20121 Value |= (op & 0xf) << 16;
20122 // op: Rv
20123 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20124 Value |= (op & 0x3) << 13;
20125 // op: i
20126 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20127 Value |= (op & 0x4) << 13;
20128 Value |= (op & 0x3) << 10;
20129 // op: Zn
20130 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20131 Value |= (op & 0x1f) << 5;
20132 // op: imm2
20133 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20134 Value |= (op & 0x3);
20135 break;
20136 }
20137 case AArch64::SMLALL_VG2_M2ZZI_HtoD:
20138 case AArch64::SMLSLL_VG2_M2ZZI_HtoD:
20139 case AArch64::UMLALL_VG2_M2ZZI_HtoD:
20140 case AArch64::UMLSLL_VG2_M2ZZI_HtoD: {
20141 // op: Zm
20142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20143 Value |= (op & 0xf) << 16;
20144 // op: Rv
20145 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20146 Value |= (op & 0x3) << 13;
20147 // op: i
20148 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20149 Value |= (op & 0x4) << 8;
20150 Value |= (op & 0x3) << 1;
20151 // op: imm
20152 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20153 Value |= (op & 0x1);
20154 // op: Zn
20155 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20156 Value |= (op & 0xf) << 6;
20157 break;
20158 }
20159 case AArch64::SMLALL_VG4_M4ZZI_HtoD:
20160 case AArch64::SMLSLL_VG4_M4ZZI_HtoD:
20161 case AArch64::UMLALL_VG4_M4ZZI_HtoD:
20162 case AArch64::UMLSLL_VG4_M4ZZI_HtoD: {
20163 // op: Zm
20164 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20165 Value |= (op & 0xf) << 16;
20166 // op: Rv
20167 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20168 Value |= (op & 0x3) << 13;
20169 // op: i
20170 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20171 Value |= (op & 0x4) << 8;
20172 Value |= (op & 0x3) << 1;
20173 // op: imm
20174 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20175 Value |= (op & 0x1);
20176 // op: Zn
20177 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20178 Value |= (op & 0x7) << 7;
20179 break;
20180 }
20181 case AArch64::FMLAL_MZZI_BtoH: {
20182 // op: Zm
20183 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20184 Value |= (op & 0xf) << 16;
20185 // op: Rv
20186 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20187 Value |= (op & 0x3) << 13;
20188 // op: i
20189 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20190 Value |= (op & 0x8) << 12;
20191 Value |= (op & 0x6) << 9;
20192 Value |= (op & 0x1) << 3;
20193 // op: Zn
20194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20195 Value |= (op & 0x1f) << 5;
20196 // op: imm3
20197 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20198 Value |= (op & 0x7);
20199 break;
20200 }
20201 case AArch64::FMLALL_MZZI_BtoS:
20202 case AArch64::SMLALL_MZZI_BtoS:
20203 case AArch64::SMLSLL_MZZI_BtoS:
20204 case AArch64::SUMLALL_MZZI_BtoS:
20205 case AArch64::UMLALL_MZZI_BtoS:
20206 case AArch64::UMLSLL_MZZI_BtoS:
20207 case AArch64::USMLALL_MZZI_BtoS: {
20208 // op: Zm
20209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20210 Value |= (op & 0xf) << 16;
20211 // op: Rv
20212 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20213 Value |= (op & 0x3) << 13;
20214 // op: i
20215 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20216 Value |= (op & 0x8) << 12;
20217 Value |= (op & 0x7) << 10;
20218 // op: Zn
20219 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20220 Value |= (op & 0x1f) << 5;
20221 // op: imm2
20222 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20223 Value |= (op & 0x3);
20224 break;
20225 }
20226 case AArch64::FMLALL_VG2_M2ZZI_BtoS:
20227 case AArch64::SMLALL_VG2_M2ZZI_BtoS:
20228 case AArch64::SMLSLL_VG2_M2ZZI_BtoS:
20229 case AArch64::SUMLALL_VG2_M2ZZI_BtoS:
20230 case AArch64::UMLALL_VG2_M2ZZI_BtoS:
20231 case AArch64::UMLSLL_VG2_M2ZZI_BtoS:
20232 case AArch64::USMLALL_VG2_M2ZZI_BtoS: {
20233 // op: Zm
20234 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20235 Value |= (op & 0xf) << 16;
20236 // op: Rv
20237 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20238 Value |= (op & 0x3) << 13;
20239 // op: i
20240 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20241 Value |= (op & 0xc) << 8;
20242 Value |= (op & 0x3) << 1;
20243 // op: imm
20244 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20245 Value |= (op & 0x1);
20246 // op: Zn
20247 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20248 Value |= (op & 0xf) << 6;
20249 break;
20250 }
20251 case AArch64::FMLALL_VG4_M4ZZI_BtoS:
20252 case AArch64::SMLALL_VG4_M4ZZI_BtoS:
20253 case AArch64::SMLSLL_VG4_M4ZZI_BtoS:
20254 case AArch64::SUMLALL_VG4_M4ZZI_BtoS:
20255 case AArch64::UMLALL_VG4_M4ZZI_BtoS:
20256 case AArch64::UMLSLL_VG4_M4ZZI_BtoS:
20257 case AArch64::USMLALL_VG4_M4ZZI_BtoS: {
20258 // op: Zm
20259 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20260 Value |= (op & 0xf) << 16;
20261 // op: Rv
20262 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20263 Value |= (op & 0x3) << 13;
20264 // op: i
20265 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20266 Value |= (op & 0xc) << 8;
20267 Value |= (op & 0x3) << 1;
20268 // op: imm
20269 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20270 Value |= (op & 0x1);
20271 // op: Zn
20272 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20273 Value |= (op & 0x7) << 7;
20274 break;
20275 }
20276 case AArch64::FMLAL_VG2_M2ZZI_BtoH: {
20277 // op: Zm
20278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20279 Value |= (op & 0xf) << 16;
20280 // op: Rv
20281 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20282 Value |= (op & 0x3) << 13;
20283 // op: i
20284 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20285 Value |= (op & 0xc) << 8;
20286 Value |= (op & 0x3) << 2;
20287 // op: imm2
20288 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20289 Value |= (op & 0x3);
20290 // op: Zn
20291 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20292 Value |= (op & 0xf) << 6;
20293 break;
20294 }
20295 case AArch64::FMLAL_VG4_M4ZZI_BtoH: {
20296 // op: Zm
20297 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20298 Value |= (op & 0xf) << 16;
20299 // op: Rv
20300 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20301 Value |= (op & 0x3) << 13;
20302 // op: i
20303 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20304 Value |= (op & 0xc) << 8;
20305 Value |= (op & 0x3) << 2;
20306 // op: imm2
20307 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20308 Value |= (op & 0x3);
20309 // op: Zn
20310 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20311 Value |= (op & 0x7) << 7;
20312 break;
20313 }
20314 case AArch64::FMLA_VG2_M2ZZI_D:
20315 case AArch64::FMLS_VG2_M2ZZI_D:
20316 case AArch64::SDOT_VG2_M2ZZI_HtoD:
20317 case AArch64::UDOT_VG2_M2ZZI_HtoD: {
20318 // op: Zm
20319 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20320 Value |= (op & 0xf) << 16;
20321 // op: Rv
20322 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20323 Value |= (op & 0x3) << 13;
20324 // op: i1
20325 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20326 Value |= (op & 0x1) << 10;
20327 // op: Zn
20328 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20329 Value |= (op & 0xf) << 6;
20330 // op: imm3
20331 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20332 Value |= (op & 0x7);
20333 break;
20334 }
20335 case AArch64::FMLA_VG4_M4ZZI_D:
20336 case AArch64::FMLS_VG4_M4ZZI_D:
20337 case AArch64::SDOT_VG4_M4ZZI_HtoD:
20338 case AArch64::SVDOT_VG4_M4ZZI_HtoD:
20339 case AArch64::UDOT_VG4_M4ZZI_HtoD:
20340 case AArch64::UVDOT_VG4_M4ZZI_HtoD: {
20341 // op: Zm
20342 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20343 Value |= (op & 0xf) << 16;
20344 // op: Rv
20345 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20346 Value |= (op & 0x3) << 13;
20347 // op: i1
20348 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20349 Value |= (op & 0x1) << 10;
20350 // op: Zn
20351 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20352 Value |= (op & 0x7) << 7;
20353 // op: imm3
20354 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20355 Value |= (op & 0x7);
20356 break;
20357 }
20358 case AArch64::BFMLAL_MZZI_HtoS:
20359 case AArch64::BFMLSL_MZZI_HtoS:
20360 case AArch64::FMLAL_MZZI_HtoS:
20361 case AArch64::FMLSL_MZZI_HtoS:
20362 case AArch64::SMLAL_MZZI_HtoS:
20363 case AArch64::SMLSL_MZZI_HtoS:
20364 case AArch64::UMLAL_MZZI_HtoS:
20365 case AArch64::UMLSL_MZZI_HtoS: {
20366 // op: Zm
20367 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20368 Value |= (op & 0xf) << 16;
20369 // op: Rv
20370 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20371 Value |= (op & 0x3) << 13;
20372 // op: i3
20373 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20374 Value |= (op & 0x4) << 13;
20375 Value |= (op & 0x3) << 10;
20376 // op: Zn
20377 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20378 Value |= (op & 0x1f) << 5;
20379 // op: imm
20380 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20381 Value |= (op & 0x7);
20382 break;
20383 }
20384 case AArch64::BFMLAL_VG2_M2ZZI_HtoS:
20385 case AArch64::BFMLSL_VG2_M2ZZI_HtoS:
20386 case AArch64::FMLAL_VG2_M2ZZI_HtoS:
20387 case AArch64::FMLSL_VG2_M2ZZI_HtoS:
20388 case AArch64::SMLAL_VG2_M2ZZI_S:
20389 case AArch64::SMLSL_VG2_M2ZZI_S:
20390 case AArch64::UMLAL_VG2_M2ZZI_S:
20391 case AArch64::UMLSL_VG2_M2ZZI_S: {
20392 // op: Zm
20393 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20394 Value |= (op & 0xf) << 16;
20395 // op: Rv
20396 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20397 Value |= (op & 0x3) << 13;
20398 // op: i3
20399 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20400 Value |= (op & 0x6) << 9;
20401 Value |= (op & 0x1) << 2;
20402 // op: Zn
20403 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 4, Fixups, STI);
20404 Value |= (op & 0xf) << 6;
20405 // op: imm
20406 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20407 Value |= (op & 0x3);
20408 break;
20409 }
20410 case AArch64::BFMLAL_VG4_M4ZZI_HtoS:
20411 case AArch64::BFMLSL_VG4_M4ZZI_HtoS:
20412 case AArch64::FMLAL_VG4_M4ZZI_HtoS:
20413 case AArch64::FMLSL_VG4_M4ZZI_HtoS:
20414 case AArch64::SMLAL_VG4_M4ZZI_HtoS:
20415 case AArch64::SMLSL_VG4_M4ZZI_HtoS:
20416 case AArch64::UMLAL_VG4_M4ZZI_HtoS:
20417 case AArch64::UMLSL_VG4_M4ZZI_HtoS: {
20418 // op: Zm
20419 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20420 Value |= (op & 0xf) << 16;
20421 // op: Rv
20422 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20423 Value |= (op & 0x3) << 13;
20424 // op: i3
20425 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
20426 Value |= (op & 0x6) << 9;
20427 Value |= (op & 0x1) << 2;
20428 // op: Zn
20429 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 4, Fixups, STI);
20430 Value |= (op & 0x7) << 7;
20431 // op: imm
20432 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20433 Value |= (op & 0x3);
20434 break;
20435 }
20436 case AArch64::ADD_VG2_M2ZZ_D:
20437 case AArch64::ADD_VG2_M2ZZ_S:
20438 case AArch64::ADD_VG4_M4ZZ_D:
20439 case AArch64::ADD_VG4_M4ZZ_S:
20440 case AArch64::BFDOT_VG2_M2ZZ_HtoS:
20441 case AArch64::BFDOT_VG4_M4ZZ_HtoS:
20442 case AArch64::BFMLA_VG2_M2ZZ:
20443 case AArch64::BFMLA_VG4_M4ZZ:
20444 case AArch64::BFMLS_VG2_M2ZZ:
20445 case AArch64::BFMLS_VG4_M4ZZ:
20446 case AArch64::FDOT_VG2_M2ZZ_BtoH:
20447 case AArch64::FDOT_VG2_M2ZZ_BtoS:
20448 case AArch64::FDOT_VG2_M2ZZ_HtoS:
20449 case AArch64::FDOT_VG4_M4ZZ_BtoH:
20450 case AArch64::FDOT_VG4_M4ZZ_BtoS:
20451 case AArch64::FDOT_VG4_M4ZZ_HtoS:
20452 case AArch64::FMLA_VG2_M2ZZ_D:
20453 case AArch64::FMLA_VG2_M2ZZ_H:
20454 case AArch64::FMLA_VG2_M2ZZ_S:
20455 case AArch64::FMLA_VG4_M4ZZ_D:
20456 case AArch64::FMLA_VG4_M4ZZ_H:
20457 case AArch64::FMLA_VG4_M4ZZ_S:
20458 case AArch64::FMLS_VG2_M2ZZ_D:
20459 case AArch64::FMLS_VG2_M2ZZ_H:
20460 case AArch64::FMLS_VG2_M2ZZ_S:
20461 case AArch64::FMLS_VG4_M4ZZ_D:
20462 case AArch64::FMLS_VG4_M4ZZ_H:
20463 case AArch64::FMLS_VG4_M4ZZ_S:
20464 case AArch64::SDOT_VG2_M2ZZ_BtoS:
20465 case AArch64::SDOT_VG2_M2ZZ_HtoD:
20466 case AArch64::SDOT_VG2_M2ZZ_HtoS:
20467 case AArch64::SDOT_VG4_M4ZZ_BtoS:
20468 case AArch64::SDOT_VG4_M4ZZ_HtoD:
20469 case AArch64::SDOT_VG4_M4ZZ_HtoS:
20470 case AArch64::SUB_VG2_M2ZZ_D:
20471 case AArch64::SUB_VG2_M2ZZ_S:
20472 case AArch64::SUB_VG4_M4ZZ_D:
20473 case AArch64::SUB_VG4_M4ZZ_S:
20474 case AArch64::SUDOT_VG2_M2ZZ_BToS:
20475 case AArch64::SUDOT_VG4_M4ZZ_BToS:
20476 case AArch64::UDOT_VG2_M2ZZ_BtoS:
20477 case AArch64::UDOT_VG2_M2ZZ_HtoD:
20478 case AArch64::UDOT_VG2_M2ZZ_HtoS:
20479 case AArch64::UDOT_VG4_M4ZZ_BtoS:
20480 case AArch64::UDOT_VG4_M4ZZ_HtoD:
20481 case AArch64::UDOT_VG4_M4ZZ_HtoS:
20482 case AArch64::USDOT_VG2_M2ZZ_BToS:
20483 case AArch64::USDOT_VG4_M4ZZ_BToS: {
20484 // op: Zm
20485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
20486 Value |= (op & 0xf) << 16;
20487 // op: Zn
20488 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
20489 Value |= (op & 0x1f) << 5;
20490 // op: Rv
20491 op = encodeMatrixIndexGPR32<AArch64::W8>(MI, OpIdx: 2, Fixups, STI);
20492 Value |= (op & 0x3) << 13;
20493 // op: imm3
20494 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20495 Value |= (op & 0x7);
20496 break;
20497 }
20498 case AArch64::FCVTZS_2Z2Z_StoS:
20499 case AArch64::FCVTZU_2Z2Z_StoS:
20500 case AArch64::FRINTA_2Z2Z_S:
20501 case AArch64::FRINTM_2Z2Z_S:
20502 case AArch64::FRINTN_2Z2Z_S:
20503 case AArch64::FRINTP_2Z2Z_S:
20504 case AArch64::SCVTF_2Z2Z_StoS:
20505 case AArch64::UCVTF_2Z2Z_StoS: {
20506 // op: Zn
20507 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
20508 Value |= (op & 0xf) << 6;
20509 // op: Zd
20510 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20511 Value |= (op & 0xf) << 1;
20512 break;
20513 }
20514 case AArch64::SUNPK_VG4_4Z2Z_D:
20515 case AArch64::SUNPK_VG4_4Z2Z_H:
20516 case AArch64::SUNPK_VG4_4Z2Z_S:
20517 case AArch64::UUNPK_VG4_4Z2Z_D:
20518 case AArch64::UUNPK_VG4_4Z2Z_H:
20519 case AArch64::UUNPK_VG4_4Z2Z_S: {
20520 // op: Zn
20521 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
20522 Value |= (op & 0xf) << 6;
20523 // op: Zd
20524 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20525 Value |= (op & 0x7) << 2;
20526 break;
20527 }
20528 case AArch64::BFCVTN_Z2Z_StoH:
20529 case AArch64::BFCVT_Z2Z_HtoB:
20530 case AArch64::BFCVT_Z2Z_StoH:
20531 case AArch64::FCVTN_Z2Z_StoH:
20532 case AArch64::FCVT_Z2Z_HtoB:
20533 case AArch64::FCVT_Z2Z_StoH:
20534 case AArch64::SQCVTU_Z2Z_StoH:
20535 case AArch64::SQCVT_Z2Z_StoH:
20536 case AArch64::UQCVT_Z2Z_StoH: {
20537 // op: Zn
20538 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
20539 Value |= (op & 0xf) << 6;
20540 // op: Zd
20541 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20542 Value |= (op & 0x1f);
20543 break;
20544 }
20545 case AArch64::LUTI4_4ZZT2Z: {
20546 // op: Zn
20547 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
20548 Value |= (op & 0xf) << 6;
20549 // op: Zd
20550 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20551 Value |= (op & 0x7) << 2;
20552 break;
20553 }
20554 case AArch64::LUTI4_S_4ZZT2Z: {
20555 // op: Zn
20556 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 2, Fixups, STI);
20557 Value |= (op & 0xf) << 6;
20558 // op: Zd
20559 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20560 Value |= (op & 0x4) << 2;
20561 Value |= (op & 0x3);
20562 break;
20563 }
20564 case AArch64::FCVTZS_4Z4Z_StoS:
20565 case AArch64::FCVTZU_4Z4Z_StoS:
20566 case AArch64::FRINTA_4Z4Z_S:
20567 case AArch64::FRINTM_4Z4Z_S:
20568 case AArch64::FRINTN_4Z4Z_S:
20569 case AArch64::FRINTP_4Z4Z_S:
20570 case AArch64::SCVTF_4Z4Z_StoS:
20571 case AArch64::UCVTF_4Z4Z_StoS:
20572 case AArch64::UZP_VG4_4Z4Z_B:
20573 case AArch64::UZP_VG4_4Z4Z_D:
20574 case AArch64::UZP_VG4_4Z4Z_H:
20575 case AArch64::UZP_VG4_4Z4Z_Q:
20576 case AArch64::UZP_VG4_4Z4Z_S:
20577 case AArch64::ZIP_VG4_4Z4Z_B:
20578 case AArch64::ZIP_VG4_4Z4Z_D:
20579 case AArch64::ZIP_VG4_4Z4Z_H:
20580 case AArch64::ZIP_VG4_4Z4Z_Q:
20581 case AArch64::ZIP_VG4_4Z4Z_S: {
20582 // op: Zn
20583 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20584 Value |= (op & 0x7) << 7;
20585 // op: Zd
20586 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20587 Value |= (op & 0x7) << 2;
20588 break;
20589 }
20590 case AArch64::FCVTN_Z4Z_StoB:
20591 case AArch64::FCVT_Z4Z_StoB:
20592 case AArch64::SQCVTN_Z4Z_DtoH:
20593 case AArch64::SQCVTN_Z4Z_StoB:
20594 case AArch64::SQCVTUN_Z4Z_DtoH:
20595 case AArch64::SQCVTUN_Z4Z_StoB:
20596 case AArch64::SQCVTU_Z4Z_DtoH:
20597 case AArch64::SQCVTU_Z4Z_StoB:
20598 case AArch64::SQCVT_Z4Z_DtoH:
20599 case AArch64::SQCVT_Z4Z_StoB:
20600 case AArch64::UQCVTN_Z4Z_DtoH:
20601 case AArch64::UQCVTN_Z4Z_StoB:
20602 case AArch64::UQCVT_Z4Z_DtoH:
20603 case AArch64::UQCVT_Z4Z_StoB: {
20604 // op: Zn
20605 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20606 Value |= (op & 0x7) << 7;
20607 // op: Zd
20608 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20609 Value |= (op & 0x1f);
20610 break;
20611 }
20612 case AArch64::SQRSHRN_VG4_Z4ZI_B:
20613 case AArch64::SQRSHRUN_VG4_Z4ZI_B:
20614 case AArch64::SQRSHRU_VG4_Z4ZI_B:
20615 case AArch64::SQRSHR_VG4_Z4ZI_B:
20616 case AArch64::UQRSHRN_VG4_Z4ZI_B:
20617 case AArch64::UQRSHR_VG4_Z4ZI_B: {
20618 // op: Zn
20619 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20620 Value |= (op & 0x7) << 7;
20621 // op: Zd
20622 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20623 Value |= (op & 0x1f);
20624 // op: imm
20625 op = getVecShiftR32OpValue(MI, OpIdx: 2, Fixups, STI);
20626 Value |= (op & 0x1f) << 16;
20627 break;
20628 }
20629 case AArch64::SQRSHRN_VG4_Z4ZI_H:
20630 case AArch64::SQRSHRUN_VG4_Z4ZI_H:
20631 case AArch64::SQRSHRU_VG4_Z4ZI_H:
20632 case AArch64::SQRSHR_VG4_Z4ZI_H:
20633 case AArch64::UQRSHRN_VG4_Z4ZI_H:
20634 case AArch64::UQRSHR_VG4_Z4ZI_H: {
20635 // op: Zn
20636 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 1, Fixups, STI);
20637 Value |= (op & 0x7) << 7;
20638 // op: Zd
20639 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20640 Value |= (op & 0x1f);
20641 // op: imm
20642 op = getVecShiftR64OpValue(MI, OpIdx: 2, Fixups, STI);
20643 Value |= (op & 0x20) << 17;
20644 Value |= (op & 0x1f) << 16;
20645 break;
20646 }
20647 case AArch64::BF1CVTL_2ZZ_BtoH:
20648 case AArch64::BF1CVT_2ZZ_BtoH:
20649 case AArch64::BF2CVTL_2ZZ_BtoH:
20650 case AArch64::BF2CVT_2ZZ_BtoH:
20651 case AArch64::F1CVTL_2ZZ_BtoH:
20652 case AArch64::F1CVT_2ZZ_BtoH:
20653 case AArch64::F2CVTL_2ZZ_BtoH:
20654 case AArch64::F2CVT_2ZZ_BtoH:
20655 case AArch64::FCVTL_2ZZ_H_S:
20656 case AArch64::FCVT_2ZZ_H_S:
20657 case AArch64::SUNPK_VG2_2ZZ_D:
20658 case AArch64::SUNPK_VG2_2ZZ_H:
20659 case AArch64::SUNPK_VG2_2ZZ_S:
20660 case AArch64::UUNPK_VG2_2ZZ_D:
20661 case AArch64::UUNPK_VG2_2ZZ_H:
20662 case AArch64::UUNPK_VG2_2ZZ_S: {
20663 // op: Zn
20664 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
20665 Value |= (op & 0x1f) << 5;
20666 // op: Zd
20667 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20668 Value |= (op & 0xf) << 1;
20669 break;
20670 }
20671 case AArch64::FADDV_VPZ_D:
20672 case AArch64::FADDV_VPZ_H:
20673 case AArch64::FADDV_VPZ_S:
20674 case AArch64::FMAXNMV_VPZ_D:
20675 case AArch64::FMAXNMV_VPZ_H:
20676 case AArch64::FMAXNMV_VPZ_S:
20677 case AArch64::FMAXV_VPZ_D:
20678 case AArch64::FMAXV_VPZ_H:
20679 case AArch64::FMAXV_VPZ_S:
20680 case AArch64::FMINNMV_VPZ_D:
20681 case AArch64::FMINNMV_VPZ_H:
20682 case AArch64::FMINNMV_VPZ_S:
20683 case AArch64::FMINV_VPZ_D:
20684 case AArch64::FMINV_VPZ_H:
20685 case AArch64::FMINV_VPZ_S: {
20686 // op: Zn
20687 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20688 Value |= (op & 0x1f) << 5;
20689 // op: Vd
20690 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20691 Value |= (op & 0x1f);
20692 // op: Pg
20693 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
20694 Value |= (op & 0x7) << 10;
20695 break;
20696 }
20697 case AArch64::LUTI4_2ZTZI_B:
20698 case AArch64::LUTI4_2ZTZI_H:
20699 case AArch64::LUTI4_2ZTZI_S: {
20700 // op: Zn
20701 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20702 Value |= (op & 0x1f) << 5;
20703 // op: Zd
20704 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20705 Value |= (op & 0xf) << 1;
20706 // op: i
20707 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20708 Value |= (op & 0x3) << 15;
20709 break;
20710 }
20711 case AArch64::LUTI2_2ZTZI_B:
20712 case AArch64::LUTI2_2ZTZI_H:
20713 case AArch64::LUTI2_2ZTZI_S: {
20714 // op: Zn
20715 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20716 Value |= (op & 0x1f) << 5;
20717 // op: Zd
20718 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20719 Value |= (op & 0xf) << 1;
20720 // op: i
20721 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20722 Value |= (op & 0x7) << 15;
20723 break;
20724 }
20725 case AArch64::LUTI4_4ZTZI_H:
20726 case AArch64::LUTI4_4ZTZI_S: {
20727 // op: Zn
20728 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20729 Value |= (op & 0x1f) << 5;
20730 // op: Zd
20731 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20732 Value |= (op & 0x7) << 2;
20733 // op: i
20734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20735 Value |= (op & 0x1) << 16;
20736 break;
20737 }
20738 case AArch64::LUTI2_4ZTZI_B:
20739 case AArch64::LUTI2_4ZTZI_H:
20740 case AArch64::LUTI2_4ZTZI_S: {
20741 // op: Zn
20742 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20743 Value |= (op & 0x1f) << 5;
20744 // op: Zd
20745 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20746 Value |= (op & 0x7) << 2;
20747 // op: i
20748 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20749 Value |= (op & 0x3) << 16;
20750 break;
20751 }
20752 case AArch64::LUTI4_S_2ZTZI_B:
20753 case AArch64::LUTI4_S_2ZTZI_H: {
20754 // op: Zn
20755 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20756 Value |= (op & 0x1f) << 5;
20757 // op: Zd
20758 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20759 Value |= (op & 0x8) << 1;
20760 Value |= (op & 0x7);
20761 // op: i
20762 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20763 Value |= (op & 0x3) << 15;
20764 break;
20765 }
20766 case AArch64::LUTI2_S_2ZTZI_B:
20767 case AArch64::LUTI2_S_2ZTZI_H: {
20768 // op: Zn
20769 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20770 Value |= (op & 0x1f) << 5;
20771 // op: Zd
20772 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20773 Value |= (op & 0x8) << 1;
20774 Value |= (op & 0x7);
20775 // op: i
20776 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20777 Value |= (op & 0x7) << 15;
20778 break;
20779 }
20780 case AArch64::LUTI4_S_4ZTZI_H: {
20781 // op: Zn
20782 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20783 Value |= (op & 0x1f) << 5;
20784 // op: Zd
20785 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20786 Value |= (op & 0x4) << 2;
20787 Value |= (op & 0x3);
20788 // op: i
20789 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20790 Value |= (op & 0x1) << 16;
20791 break;
20792 }
20793 case AArch64::LUTI2_S_4ZTZI_B:
20794 case AArch64::LUTI2_S_4ZTZI_H: {
20795 // op: Zn
20796 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20797 Value |= (op & 0x1f) << 5;
20798 // op: Zd
20799 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
20800 Value |= (op & 0x4) << 2;
20801 Value |= (op & 0x3);
20802 // op: i
20803 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20804 Value |= (op & 0x3) << 16;
20805 break;
20806 }
20807 case AArch64::LUTI4_ZTZI_B:
20808 case AArch64::LUTI4_ZTZI_H:
20809 case AArch64::LUTI4_ZTZI_S: {
20810 // op: Zn
20811 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20812 Value |= (op & 0x1f) << 5;
20813 // op: Zd
20814 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20815 Value |= (op & 0x1f);
20816 // op: i
20817 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20818 Value |= (op & 0x7) << 14;
20819 break;
20820 }
20821 case AArch64::LUTI2_ZTZI_B:
20822 case AArch64::LUTI2_ZTZI_H:
20823 case AArch64::LUTI2_ZTZI_S: {
20824 // op: Zn
20825 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20826 Value |= (op & 0x1f) << 5;
20827 // op: Zd
20828 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20829 Value |= (op & 0x1f);
20830 // op: i
20831 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20832 Value |= (op & 0xf) << 14;
20833 break;
20834 }
20835 case AArch64::LD1B_2Z:
20836 case AArch64::LD1D_2Z:
20837 case AArch64::LD1H_2Z:
20838 case AArch64::LD1W_2Z:
20839 case AArch64::LDNT1B_2Z:
20840 case AArch64::LDNT1D_2Z:
20841 case AArch64::LDNT1H_2Z:
20842 case AArch64::LDNT1W_2Z:
20843 case AArch64::ST1B_2Z:
20844 case AArch64::ST1D_2Z:
20845 case AArch64::ST1H_2Z:
20846 case AArch64::ST1W_2Z:
20847 case AArch64::STNT1B_2Z:
20848 case AArch64::STNT1D_2Z:
20849 case AArch64::STNT1H_2Z:
20850 case AArch64::STNT1W_2Z: {
20851 // op: Zt
20852 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20853 Value |= (op & 0xf) << 1;
20854 // op: Rm
20855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20856 Value |= (op & 0x1f) << 16;
20857 // op: Rn
20858 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20859 Value |= (op & 0x1f) << 5;
20860 // op: PNg
20861 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20862 Value |= (op & 0x7) << 10;
20863 break;
20864 }
20865 case AArch64::LD1B_2Z_IMM:
20866 case AArch64::LD1D_2Z_IMM:
20867 case AArch64::LD1H_2Z_IMM:
20868 case AArch64::LD1W_2Z_IMM:
20869 case AArch64::LDNT1B_2Z_IMM:
20870 case AArch64::LDNT1D_2Z_IMM:
20871 case AArch64::LDNT1H_2Z_IMM:
20872 case AArch64::LDNT1W_2Z_IMM:
20873 case AArch64::ST1B_2Z_IMM:
20874 case AArch64::ST1D_2Z_IMM:
20875 case AArch64::ST1H_2Z_IMM:
20876 case AArch64::ST1W_2Z_IMM:
20877 case AArch64::STNT1B_2Z_IMM:
20878 case AArch64::STNT1D_2Z_IMM:
20879 case AArch64::STNT1H_2Z_IMM:
20880 case AArch64::STNT1W_2Z_IMM: {
20881 // op: Zt
20882 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 0, Fixups, STI);
20883 Value |= (op & 0xf) << 1;
20884 // op: Rn
20885 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20886 Value |= (op & 0x1f) << 5;
20887 // op: PNg
20888 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20889 Value |= (op & 0x7) << 10;
20890 // op: imm4
20891 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20892 Value |= (op & 0xf) << 16;
20893 break;
20894 }
20895 case AArch64::LD1B_4Z:
20896 case AArch64::LD1D_4Z:
20897 case AArch64::LD1H_4Z:
20898 case AArch64::LD1W_4Z:
20899 case AArch64::LDNT1B_4Z:
20900 case AArch64::LDNT1D_4Z:
20901 case AArch64::LDNT1H_4Z:
20902 case AArch64::LDNT1W_4Z:
20903 case AArch64::ST1B_4Z:
20904 case AArch64::ST1D_4Z:
20905 case AArch64::ST1H_4Z:
20906 case AArch64::ST1W_4Z:
20907 case AArch64::STNT1B_4Z:
20908 case AArch64::STNT1D_4Z:
20909 case AArch64::STNT1H_4Z:
20910 case AArch64::STNT1W_4Z: {
20911 // op: Zt
20912 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20913 Value |= (op & 0x7) << 2;
20914 // op: Rm
20915 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20916 Value |= (op & 0x1f) << 16;
20917 // op: Rn
20918 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20919 Value |= (op & 0x1f) << 5;
20920 // op: PNg
20921 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20922 Value |= (op & 0x7) << 10;
20923 break;
20924 }
20925 case AArch64::LD1B_4Z_IMM:
20926 case AArch64::LD1D_4Z_IMM:
20927 case AArch64::LD1H_4Z_IMM:
20928 case AArch64::LD1W_4Z_IMM:
20929 case AArch64::LDNT1B_4Z_IMM:
20930 case AArch64::LDNT1D_4Z_IMM:
20931 case AArch64::LDNT1H_4Z_IMM:
20932 case AArch64::LDNT1W_4Z_IMM:
20933 case AArch64::ST1B_4Z_IMM:
20934 case AArch64::ST1D_4Z_IMM:
20935 case AArch64::ST1H_4Z_IMM:
20936 case AArch64::ST1W_4Z_IMM:
20937 case AArch64::STNT1B_4Z_IMM:
20938 case AArch64::STNT1D_4Z_IMM:
20939 case AArch64::STNT1H_4Z_IMM:
20940 case AArch64::STNT1W_4Z_IMM: {
20941 // op: Zt
20942 op = EncodeRegMul_MinMax<4, 0, 28>(MI, OpIdx: 0, Fixups, STI);
20943 Value |= (op & 0x7) << 2;
20944 // op: Rn
20945 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20946 Value |= (op & 0x1f) << 5;
20947 // op: PNg
20948 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
20949 Value |= (op & 0x7) << 10;
20950 // op: imm4
20951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20952 Value |= (op & 0xf) << 16;
20953 break;
20954 }
20955 case AArch64::LD1B:
20956 case AArch64::LD1B_D:
20957 case AArch64::LD1B_H:
20958 case AArch64::LD1B_S:
20959 case AArch64::LD1D:
20960 case AArch64::LD1H:
20961 case AArch64::LD1H_D:
20962 case AArch64::LD1H_S:
20963 case AArch64::LD1SB_D:
20964 case AArch64::LD1SB_H:
20965 case AArch64::LD1SB_S:
20966 case AArch64::LD1SH_D:
20967 case AArch64::LD1SH_S:
20968 case AArch64::LD1SW_D:
20969 case AArch64::LD1W:
20970 case AArch64::LD1W_D:
20971 case AArch64::LDFF1B:
20972 case AArch64::LDFF1B_D:
20973 case AArch64::LDFF1B_H:
20974 case AArch64::LDFF1B_S:
20975 case AArch64::LDFF1D:
20976 case AArch64::LDFF1H:
20977 case AArch64::LDFF1H_D:
20978 case AArch64::LDFF1H_S:
20979 case AArch64::LDFF1SB_D:
20980 case AArch64::LDFF1SB_H:
20981 case AArch64::LDFF1SB_S:
20982 case AArch64::LDFF1SH_D:
20983 case AArch64::LDFF1SH_S:
20984 case AArch64::LDFF1SW_D:
20985 case AArch64::LDFF1W:
20986 case AArch64::LDFF1W_D: {
20987 // op: Zt
20988 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
20989 Value |= (op & 0x1f);
20990 // op: Pg
20991 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
20992 Value |= (op & 0x7) << 10;
20993 // op: Rm
20994 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
20995 Value |= (op & 0x1f) << 16;
20996 // op: Rn
20997 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
20998 Value |= (op & 0x1f) << 5;
20999 break;
21000 }
21001 case AArch64::LD1RO_B:
21002 case AArch64::LD1RO_D:
21003 case AArch64::LD1RO_H:
21004 case AArch64::LD1RO_W:
21005 case AArch64::LD1RQ_B:
21006 case AArch64::LD1RQ_D:
21007 case AArch64::LD1RQ_H:
21008 case AArch64::LD1RQ_W: {
21009 // op: Zt
21010 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21011 Value |= (op & 0x1f);
21012 // op: Pg
21013 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21014 Value |= (op & 0x7) << 10;
21015 // op: Rn
21016 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21017 Value |= (op & 0x1f) << 5;
21018 // op: Rm
21019 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21020 Value |= (op & 0x1f) << 16;
21021 break;
21022 }
21023 case AArch64::LD2B_IMM:
21024 case AArch64::LD2D_IMM:
21025 case AArch64::LD2H_IMM:
21026 case AArch64::LD2Q_IMM:
21027 case AArch64::LD2W_IMM:
21028 case AArch64::LD3B_IMM:
21029 case AArch64::LD3D_IMM:
21030 case AArch64::LD3H_IMM:
21031 case AArch64::LD3Q_IMM:
21032 case AArch64::LD3W_IMM:
21033 case AArch64::LD4B_IMM:
21034 case AArch64::LD4D_IMM:
21035 case AArch64::LD4H_IMM:
21036 case AArch64::LD4Q_IMM:
21037 case AArch64::LD4W_IMM:
21038 case AArch64::LDNT1B_ZRI:
21039 case AArch64::LDNT1D_ZRI:
21040 case AArch64::LDNT1H_ZRI:
21041 case AArch64::LDNT1W_ZRI: {
21042 // op: Zt
21043 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21044 Value |= (op & 0x1f);
21045 // op: Pg
21046 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21047 Value |= (op & 0x7) << 10;
21048 // op: Rn
21049 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21050 Value |= (op & 0x1f) << 5;
21051 // op: imm4
21052 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21053 Value |= (op & 0xf) << 16;
21054 break;
21055 }
21056 case AArch64::LD1D_Q:
21057 case AArch64::LD1W_Q:
21058 case AArch64::ST2Q:
21059 case AArch64::ST3Q:
21060 case AArch64::ST4Q: {
21061 // op: Zt
21062 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21063 Value |= (op & 0x1f);
21064 // op: Rn
21065 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21066 Value |= (op & 0x1f) << 5;
21067 // op: Pg
21068 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21069 Value |= (op & 0x7) << 10;
21070 // op: Rm
21071 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21072 Value |= (op & 0x1f) << 16;
21073 break;
21074 }
21075 case AArch64::LD1D_Q_IMM:
21076 case AArch64::LD1RO_B_IMM:
21077 case AArch64::LD1RO_D_IMM:
21078 case AArch64::LD1RO_H_IMM:
21079 case AArch64::LD1RO_W_IMM:
21080 case AArch64::LD1RQ_B_IMM:
21081 case AArch64::LD1RQ_D_IMM:
21082 case AArch64::LD1RQ_H_IMM:
21083 case AArch64::LD1RQ_W_IMM:
21084 case AArch64::LD1W_Q_IMM:
21085 case AArch64::ST2Q_IMM:
21086 case AArch64::ST3Q_IMM:
21087 case AArch64::ST4Q_IMM: {
21088 // op: Zt
21089 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21090 Value |= (op & 0x1f);
21091 // op: Rn
21092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21093 Value |= (op & 0x1f) << 5;
21094 // op: Pg
21095 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21096 Value |= (op & 0x7) << 10;
21097 // op: imm4
21098 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21099 Value |= (op & 0xf) << 16;
21100 break;
21101 }
21102 case AArch64::GLD1Q:
21103 case AArch64::SST1Q: {
21104 // op: Zt
21105 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21106 Value |= (op & 0x1f);
21107 // op: Zn
21108 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21109 Value |= (op & 0x1f) << 5;
21110 // op: Pg
21111 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21112 Value |= (op & 0x7) << 10;
21113 // op: Rm
21114 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21115 Value |= (op & 0x1f) << 16;
21116 break;
21117 }
21118 case AArch64::MOVT_TIZ: {
21119 // op: Zt
21120 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21121 Value |= (op & 0x1f);
21122 // op: off2
21123 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21124 Value |= (op & 0x3) << 12;
21125 break;
21126 }
21127 case AArch64::B:
21128 case AArch64::BL: {
21129 // op: addr
21130 op = getBranchTargetOpValue(MI, OpIdx: 0, Fixups, STI);
21131 Value |= (op & 0x3ffffff);
21132 break;
21133 }
21134 case AArch64::BCcc:
21135 case AArch64::Bcc: {
21136 // op: cond
21137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21138 Value |= (op & 0xf);
21139 // op: target
21140 op = getCondBranchTargetOpValue(MI, OpIdx: 1, Fixups, STI);
21141 Value |= (op & 0x7ffff) << 5;
21142 break;
21143 }
21144 case AArch64::DUPi64: {
21145 // op: dst
21146 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21147 Value |= (op & 0x1f);
21148 // op: src
21149 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21150 Value |= (op & 0x1f) << 5;
21151 // op: idx
21152 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21153 Value |= (op & 0x1) << 20;
21154 break;
21155 }
21156 case AArch64::DUPi32: {
21157 // op: dst
21158 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21159 Value |= (op & 0x1f);
21160 // op: src
21161 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21162 Value |= (op & 0x1f) << 5;
21163 // op: idx
21164 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21165 Value |= (op & 0x3) << 19;
21166 break;
21167 }
21168 case AArch64::DUPi16: {
21169 // op: dst
21170 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21171 Value |= (op & 0x1f);
21172 // op: src
21173 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21174 Value |= (op & 0x1f) << 5;
21175 // op: idx
21176 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21177 Value |= (op & 0x7) << 18;
21178 break;
21179 }
21180 case AArch64::DUPi8: {
21181 // op: dst
21182 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21183 Value |= (op & 0x1f);
21184 // op: src
21185 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21186 Value |= (op & 0x1f) << 5;
21187 // op: idx
21188 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21189 Value |= (op & 0xf) << 17;
21190 break;
21191 }
21192 case AArch64::ZERO_M: {
21193 // op: imm
21194 op = EncodeMatrixTileListRegisterClass(MI, OpIdx: 0, Fixups, STI);
21195 Value |= (op & 0xff);
21196 break;
21197 }
21198 case AArch64::HINT: {
21199 // op: imm
21200 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21201 Value |= (op & 0x7f) << 5;
21202 break;
21203 }
21204 case AArch64::TENTER: {
21205 // op: imm
21206 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21207 Value |= (op & 0x7f) << 5;
21208 // op: nb
21209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21210 Value |= (op & 0x1) << 17;
21211 break;
21212 }
21213 case AArch64::BRK:
21214 case AArch64::DCPS1:
21215 case AArch64::DCPS2:
21216 case AArch64::DCPS3:
21217 case AArch64::HLT:
21218 case AArch64::HVC:
21219 case AArch64::SMC:
21220 case AArch64::SVC: {
21221 // op: imm
21222 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21223 Value |= (op & 0xffff) << 5;
21224 break;
21225 }
21226 case AArch64::UDF: {
21227 // op: imm
21228 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21229 Value |= (op & 0xffff);
21230 break;
21231 }
21232 case AArch64::HINTE: {
21233 // op: imm16
21234 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21235 Value |= (op & 0x8000) << 6;
21236 Value |= (op & 0x7000) << 4;
21237 Value |= (op & 0xfff);
21238 break;
21239 }
21240 case AArch64::MOVT_TIX: {
21241 // op: imm3
21242 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21243 Value |= (op & 0x7) << 12;
21244 // op: Rt
21245 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21246 Value |= (op & 0x1f);
21247 break;
21248 }
21249 case AArch64::MOVT_XTI: {
21250 // op: imm3
21251 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21252 Value |= (op & 0x7) << 12;
21253 // op: Rt
21254 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21255 Value |= (op & 0x1f);
21256 break;
21257 }
21258 case AArch64::LD1B_2Z_STRIDED_IMM:
21259 case AArch64::LD1D_2Z_STRIDED_IMM:
21260 case AArch64::LD1H_2Z_STRIDED_IMM:
21261 case AArch64::LD1W_2Z_STRIDED_IMM:
21262 case AArch64::LDNT1B_2Z_STRIDED_IMM:
21263 case AArch64::LDNT1D_2Z_STRIDED_IMM:
21264 case AArch64::LDNT1H_2Z_STRIDED_IMM:
21265 case AArch64::LDNT1W_2Z_STRIDED_IMM:
21266 case AArch64::ST1B_2Z_STRIDED_IMM:
21267 case AArch64::ST1D_2Z_STRIDED_IMM:
21268 case AArch64::ST1H_2Z_STRIDED_IMM:
21269 case AArch64::ST1W_2Z_STRIDED_IMM:
21270 case AArch64::STNT1B_2Z_STRIDED_IMM:
21271 case AArch64::STNT1D_2Z_STRIDED_IMM:
21272 case AArch64::STNT1H_2Z_STRIDED_IMM:
21273 case AArch64::STNT1W_2Z_STRIDED_IMM: {
21274 // op: imm4
21275 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21276 Value |= (op & 0xf) << 16;
21277 // op: PNg
21278 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
21279 Value |= (op & 0x7) << 10;
21280 // op: Rn
21281 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21282 Value |= (op & 0x1f) << 5;
21283 // op: Zt
21284 op = EncodeZPR2StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
21285 Value |= (op & 0x8) << 1;
21286 Value |= (op & 0x7);
21287 break;
21288 }
21289 case AArch64::LD1B_4Z_STRIDED_IMM:
21290 case AArch64::LD1D_4Z_STRIDED_IMM:
21291 case AArch64::LD1H_4Z_STRIDED_IMM:
21292 case AArch64::LD1W_4Z_STRIDED_IMM:
21293 case AArch64::LDNT1B_4Z_STRIDED_IMM:
21294 case AArch64::LDNT1D_4Z_STRIDED_IMM:
21295 case AArch64::LDNT1H_4Z_STRIDED_IMM:
21296 case AArch64::LDNT1W_4Z_STRIDED_IMM:
21297 case AArch64::ST1B_4Z_STRIDED_IMM:
21298 case AArch64::ST1D_4Z_STRIDED_IMM:
21299 case AArch64::ST1H_4Z_STRIDED_IMM:
21300 case AArch64::ST1W_4Z_STRIDED_IMM:
21301 case AArch64::STNT1B_4Z_STRIDED_IMM:
21302 case AArch64::STNT1D_4Z_STRIDED_IMM:
21303 case AArch64::STNT1H_4Z_STRIDED_IMM:
21304 case AArch64::STNT1W_4Z_STRIDED_IMM: {
21305 // op: imm4
21306 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21307 Value |= (op & 0xf) << 16;
21308 // op: PNg
21309 op = EncodePNR_p8to15(MI, OpIdx: 1, Fixups, STI);
21310 Value |= (op & 0x7) << 10;
21311 // op: Rn
21312 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21313 Value |= (op & 0x1f) << 5;
21314 // op: Zt
21315 op = EncodeZPR4StridedRegisterClass(MI, OpIdx: 0, Fixups, STI);
21316 Value |= (op & 0x4) << 2;
21317 Value |= (op & 0x3);
21318 break;
21319 }
21320 case AArch64::SQRSHRU_VG2_Z2ZI_H:
21321 case AArch64::SQRSHR_VG2_Z2ZI_H:
21322 case AArch64::UQRSHR_VG2_Z2ZI_H: {
21323 // op: imm4
21324 op = getVecShiftR16OpValue(MI, OpIdx: 2, Fixups, STI);
21325 Value |= (op & 0xf) << 16;
21326 // op: Zn
21327 op = EncodeRegMul_MinMax<2, 0, 30>(MI, OpIdx: 1, Fixups, STI);
21328 Value |= (op & 0xf) << 6;
21329 // op: Zd
21330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21331 Value |= (op & 0x1f);
21332 break;
21333 }
21334 case AArch64::AUTIASPPCi:
21335 case AArch64::AUTIBSPPCi:
21336 case AArch64::RETAASPPCi:
21337 case AArch64::RETABSPPCi: {
21338 // op: label
21339 op = getPAuthPCRelOpValue(MI, OpIdx: 0, Fixups, STI);
21340 Value |= (op & 0xffff) << 5;
21341 break;
21342 }
21343 case AArch64::TEXIT: {
21344 // op: nb
21345 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21346 Value |= (op & 0x1) << 10;
21347 break;
21348 }
21349 case AArch64::LDRAAindexed:
21350 case AArch64::LDRABindexed: {
21351 // op: offset
21352 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21353 Value |= (op & 0x200) << 13;
21354 Value |= (op & 0x1ff) << 12;
21355 // op: Rn
21356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21357 Value |= (op & 0x1f) << 5;
21358 // op: Rt
21359 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21360 Value |= (op & 0x1f);
21361 break;
21362 }
21363 case AArch64::LDRAAwriteback:
21364 case AArch64::LDRABwriteback: {
21365 // op: offset
21366 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21367 Value |= (op & 0x200) << 13;
21368 Value |= (op & 0x1ff) << 12;
21369 // op: Rn
21370 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21371 Value |= (op & 0x1f) << 5;
21372 // op: Rt
21373 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21374 Value |= (op & 0x1f);
21375 break;
21376 }
21377 case AArch64::SYSPxt_XZR: {
21378 // op: op1
21379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21380 Value |= (op & 0x7) << 16;
21381 // op: Cn
21382 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21383 Value |= (op & 0xf) << 12;
21384 // op: Cm
21385 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
21386 Value |= (op & 0xf) << 8;
21387 // op: op2
21388 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
21389 Value |= (op & 0x7) << 5;
21390 break;
21391 }
21392 case AArch64::MSRpstateImm1: {
21393 // op: pstatefield
21394 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21395 Value |= (op & 0x38) << 13;
21396 Value |= (op & 0x1c0) << 3;
21397 Value |= (op & 0x7) << 5;
21398 // op: imm
21399 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21400 Value |= (op & 0x1) << 8;
21401 break;
21402 }
21403 case AArch64::MSRpstateImm4: {
21404 // op: pstatefield
21405 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21406 Value |= (op & 0x38) << 13;
21407 Value |= (op & 0x7) << 5;
21408 // op: imm
21409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21410 Value |= (op & 0xf) << 8;
21411 break;
21412 }
21413 case AArch64::MSRpstatesvcrImm1: {
21414 // op: pstatefield
21415 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
21416 Value |= (op & 0x7) << 9;
21417 // op: imm
21418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
21419 Value |= (op & 0x1) << 8;
21420 break;
21421 }
21422 default:
21423 reportUnsupportedInst(Inst: MI);
21424 }
21425 return Value;
21426}
21427
21428#ifdef GET_OPERAND_BIT_OFFSET
21429#undef GET_OPERAND_BIT_OFFSET
21430
21431uint32_t AArch64MCCodeEmitter::getOperandBitOffset(const MCInst &MI,
21432 unsigned OpNum,
21433 const MCSubtargetInfo &STI) const {
21434 switch (MI.getOpcode()) {
21435 case AArch64::AUTIA1716:
21436 case AArch64::AUTIA171615:
21437 case AArch64::AUTIASP:
21438 case AArch64::AUTIAZ:
21439 case AArch64::AUTIB1716:
21440 case AArch64::AUTIB171615:
21441 case AArch64::AUTIBSP:
21442 case AArch64::AUTIBZ:
21443 case AArch64::AXFLAG:
21444 case AArch64::CFINV:
21445 case AArch64::CHKFEAT:
21446 case AArch64::DRPS:
21447 case AArch64::ERET:
21448 case AArch64::ERETAA:
21449 case AArch64::ERETAB:
21450 case AArch64::GCSPOPCX:
21451 case AArch64::GCSPOPX:
21452 case AArch64::GCSPUSHX:
21453 case AArch64::NOP:
21454 case AArch64::PACIA1716:
21455 case AArch64::PACIA171615:
21456 case AArch64::PACIASP:
21457 case AArch64::PACIASPPC:
21458 case AArch64::PACIAZ:
21459 case AArch64::PACIB1716:
21460 case AArch64::PACIB171615:
21461 case AArch64::PACIBSP:
21462 case AArch64::PACIBSPPC:
21463 case AArch64::PACIBZ:
21464 case AArch64::PACM:
21465 case AArch64::PACNBIASPPC:
21466 case AArch64::PACNBIBSPPC:
21467 case AArch64::RETAA:
21468 case AArch64::RETAB:
21469 case AArch64::SB:
21470 case AArch64::SETFFR:
21471 case AArch64::XAFLAG:
21472 case AArch64::XPACLRI:
21473 case AArch64::ZERO_T: {
21474 break;
21475 }
21476 case AArch64::DSBnXS: {
21477 switch (OpNum) {
21478 case 0:
21479 // op: CRm
21480 return 10;
21481 }
21482 break;
21483 }
21484 case AArch64::CLREX:
21485 case AArch64::DMB:
21486 case AArch64::DSB:
21487 case AArch64::ISB: {
21488 switch (OpNum) {
21489 case 0:
21490 // op: CRm
21491 return 8;
21492 }
21493 break;
21494 }
21495 case AArch64::WHILEGE_CXX_B:
21496 case AArch64::WHILEGE_CXX_D:
21497 case AArch64::WHILEGE_CXX_H:
21498 case AArch64::WHILEGE_CXX_S:
21499 case AArch64::WHILEGT_CXX_B:
21500 case AArch64::WHILEGT_CXX_D:
21501 case AArch64::WHILEGT_CXX_H:
21502 case AArch64::WHILEGT_CXX_S:
21503 case AArch64::WHILEHI_CXX_B:
21504 case AArch64::WHILEHI_CXX_D:
21505 case AArch64::WHILEHI_CXX_H:
21506 case AArch64::WHILEHI_CXX_S:
21507 case AArch64::WHILEHS_CXX_B:
21508 case AArch64::WHILEHS_CXX_D:
21509 case AArch64::WHILEHS_CXX_H:
21510 case AArch64::WHILEHS_CXX_S:
21511 case AArch64::WHILELE_CXX_B:
21512 case AArch64::WHILELE_CXX_D:
21513 case AArch64::WHILELE_CXX_H:
21514 case AArch64::WHILELE_CXX_S:
21515 case AArch64::WHILELO_CXX_B:
21516 case AArch64::WHILELO_CXX_D:
21517 case AArch64::WHILELO_CXX_H:
21518 case AArch64::WHILELO_CXX_S:
21519 case AArch64::WHILELS_CXX_B:
21520 case AArch64::WHILELS_CXX_D:
21521 case AArch64::WHILELS_CXX_H:
21522 case AArch64::WHILELS_CXX_S:
21523 case AArch64::WHILELT_CXX_B:
21524 case AArch64::WHILELT_CXX_D:
21525 case AArch64::WHILELT_CXX_H:
21526 case AArch64::WHILELT_CXX_S: {
21527 switch (OpNum) {
21528 case 0:
21529 // op: PNd
21530 return 0;
21531 case 1:
21532 // op: Rn
21533 return 5;
21534 case 3:
21535 // op: vl
21536 return 13;
21537 case 2:
21538 // op: Rm
21539 return 16;
21540 }
21541 break;
21542 }
21543 case AArch64::PTRUE_C_B:
21544 case AArch64::PTRUE_C_D:
21545 case AArch64::PTRUE_C_H:
21546 case AArch64::PTRUE_C_S: {
21547 switch (OpNum) {
21548 case 0:
21549 // op: PNd
21550 return 0;
21551 }
21552 break;
21553 }
21554 case AArch64::PEXT_2PCI_B:
21555 case AArch64::PEXT_2PCI_D:
21556 case AArch64::PEXT_2PCI_H:
21557 case AArch64::PEXT_2PCI_S:
21558 case AArch64::PEXT_PCI_B:
21559 case AArch64::PEXT_PCI_D:
21560 case AArch64::PEXT_PCI_H:
21561 case AArch64::PEXT_PCI_S: {
21562 switch (OpNum) {
21563 case 0:
21564 // op: Pd
21565 return 0;
21566 case 1:
21567 // op: PNn
21568 return 5;
21569 case 2:
21570 // op: index
21571 return 8;
21572 }
21573 break;
21574 }
21575 case AArch64::BRKAS_PPzP:
21576 case AArch64::BRKA_PPzP:
21577 case AArch64::BRKBS_PPzP:
21578 case AArch64::BRKB_PPzP: {
21579 switch (OpNum) {
21580 case 0:
21581 // op: Pd
21582 return 0;
21583 case 1:
21584 // op: Pg
21585 return 10;
21586 case 2:
21587 // op: Pn
21588 return 5;
21589 }
21590 break;
21591 }
21592 case AArch64::CMPEQ_PPzZI_B:
21593 case AArch64::CMPEQ_PPzZI_D:
21594 case AArch64::CMPEQ_PPzZI_H:
21595 case AArch64::CMPEQ_PPzZI_S:
21596 case AArch64::CMPGE_PPzZI_B:
21597 case AArch64::CMPGE_PPzZI_D:
21598 case AArch64::CMPGE_PPzZI_H:
21599 case AArch64::CMPGE_PPzZI_S:
21600 case AArch64::CMPGT_PPzZI_B:
21601 case AArch64::CMPGT_PPzZI_D:
21602 case AArch64::CMPGT_PPzZI_H:
21603 case AArch64::CMPGT_PPzZI_S:
21604 case AArch64::CMPLE_PPzZI_B:
21605 case AArch64::CMPLE_PPzZI_D:
21606 case AArch64::CMPLE_PPzZI_H:
21607 case AArch64::CMPLE_PPzZI_S:
21608 case AArch64::CMPLT_PPzZI_B:
21609 case AArch64::CMPLT_PPzZI_D:
21610 case AArch64::CMPLT_PPzZI_H:
21611 case AArch64::CMPLT_PPzZI_S:
21612 case AArch64::CMPNE_PPzZI_B:
21613 case AArch64::CMPNE_PPzZI_D:
21614 case AArch64::CMPNE_PPzZI_H:
21615 case AArch64::CMPNE_PPzZI_S: {
21616 switch (OpNum) {
21617 case 0:
21618 // op: Pd
21619 return 0;
21620 case 1:
21621 // op: Pg
21622 return 10;
21623 case 2:
21624 // op: Zn
21625 return 5;
21626 case 3:
21627 // op: imm5
21628 return 16;
21629 }
21630 break;
21631 }
21632 case AArch64::CMPHI_PPzZI_B:
21633 case AArch64::CMPHI_PPzZI_D:
21634 case AArch64::CMPHI_PPzZI_H:
21635 case AArch64::CMPHI_PPzZI_S:
21636 case AArch64::CMPHS_PPzZI_B:
21637 case AArch64::CMPHS_PPzZI_D:
21638 case AArch64::CMPHS_PPzZI_H:
21639 case AArch64::CMPHS_PPzZI_S:
21640 case AArch64::CMPLO_PPzZI_B:
21641 case AArch64::CMPLO_PPzZI_D:
21642 case AArch64::CMPLO_PPzZI_H:
21643 case AArch64::CMPLO_PPzZI_S:
21644 case AArch64::CMPLS_PPzZI_B:
21645 case AArch64::CMPLS_PPzZI_D:
21646 case AArch64::CMPLS_PPzZI_H:
21647 case AArch64::CMPLS_PPzZI_S: {
21648 switch (OpNum) {
21649 case 0:
21650 // op: Pd
21651 return 0;
21652 case 1:
21653 // op: Pg
21654 return 10;
21655 case 2:
21656 // op: Zn
21657 return 5;
21658 case 3:
21659 // op: imm7
21660 return 14;
21661 }
21662 break;
21663 }
21664 case AArch64::FCMEQ_PPzZ0_D:
21665 case AArch64::FCMEQ_PPzZ0_H:
21666 case AArch64::FCMEQ_PPzZ0_S:
21667 case AArch64::FCMGE_PPzZ0_D:
21668 case AArch64::FCMGE_PPzZ0_H:
21669 case AArch64::FCMGE_PPzZ0_S:
21670 case AArch64::FCMGT_PPzZ0_D:
21671 case AArch64::FCMGT_PPzZ0_H:
21672 case AArch64::FCMGT_PPzZ0_S:
21673 case AArch64::FCMLE_PPzZ0_D:
21674 case AArch64::FCMLE_PPzZ0_H:
21675 case AArch64::FCMLE_PPzZ0_S:
21676 case AArch64::FCMLT_PPzZ0_D:
21677 case AArch64::FCMLT_PPzZ0_H:
21678 case AArch64::FCMLT_PPzZ0_S:
21679 case AArch64::FCMNE_PPzZ0_D:
21680 case AArch64::FCMNE_PPzZ0_H:
21681 case AArch64::FCMNE_PPzZ0_S: {
21682 switch (OpNum) {
21683 case 0:
21684 // op: Pd
21685 return 0;
21686 case 1:
21687 // op: Pg
21688 return 10;
21689 case 2:
21690 // op: Zn
21691 return 5;
21692 }
21693 break;
21694 }
21695 case AArch64::ANDS_PPzPP:
21696 case AArch64::AND_PPzPP:
21697 case AArch64::BICS_PPzPP:
21698 case AArch64::BIC_PPzPP:
21699 case AArch64::BRKPAS_PPzPP:
21700 case AArch64::BRKPA_PPzPP:
21701 case AArch64::BRKPBS_PPzPP:
21702 case AArch64::BRKPB_PPzPP:
21703 case AArch64::EORS_PPzPP:
21704 case AArch64::EOR_PPzPP:
21705 case AArch64::NANDS_PPzPP:
21706 case AArch64::NAND_PPzPP:
21707 case AArch64::NORS_PPzPP:
21708 case AArch64::NOR_PPzPP:
21709 case AArch64::ORNS_PPzPP:
21710 case AArch64::ORN_PPzPP:
21711 case AArch64::ORRS_PPzPP:
21712 case AArch64::ORR_PPzPP:
21713 case AArch64::SEL_PPPP: {
21714 switch (OpNum) {
21715 case 0:
21716 // op: Pd
21717 return 0;
21718 case 1:
21719 // op: Pg
21720 return 10;
21721 case 3:
21722 // op: Pm
21723 return 16;
21724 case 2:
21725 // op: Pn
21726 return 5;
21727 }
21728 break;
21729 }
21730 case AArch64::CMPEQ_PPzZZ_B:
21731 case AArch64::CMPEQ_PPzZZ_D:
21732 case AArch64::CMPEQ_PPzZZ_H:
21733 case AArch64::CMPEQ_PPzZZ_S:
21734 case AArch64::CMPEQ_WIDE_PPzZZ_B:
21735 case AArch64::CMPEQ_WIDE_PPzZZ_H:
21736 case AArch64::CMPEQ_WIDE_PPzZZ_S:
21737 case AArch64::CMPGE_PPzZZ_B:
21738 case AArch64::CMPGE_PPzZZ_D:
21739 case AArch64::CMPGE_PPzZZ_H:
21740 case AArch64::CMPGE_PPzZZ_S:
21741 case AArch64::CMPGE_WIDE_PPzZZ_B:
21742 case AArch64::CMPGE_WIDE_PPzZZ_H:
21743 case AArch64::CMPGE_WIDE_PPzZZ_S:
21744 case AArch64::CMPGT_PPzZZ_B:
21745 case AArch64::CMPGT_PPzZZ_D:
21746 case AArch64::CMPGT_PPzZZ_H:
21747 case AArch64::CMPGT_PPzZZ_S:
21748 case AArch64::CMPGT_WIDE_PPzZZ_B:
21749 case AArch64::CMPGT_WIDE_PPzZZ_H:
21750 case AArch64::CMPGT_WIDE_PPzZZ_S:
21751 case AArch64::CMPHI_PPzZZ_B:
21752 case AArch64::CMPHI_PPzZZ_D:
21753 case AArch64::CMPHI_PPzZZ_H:
21754 case AArch64::CMPHI_PPzZZ_S:
21755 case AArch64::CMPHI_WIDE_PPzZZ_B:
21756 case AArch64::CMPHI_WIDE_PPzZZ_H:
21757 case AArch64::CMPHI_WIDE_PPzZZ_S:
21758 case AArch64::CMPHS_PPzZZ_B:
21759 case AArch64::CMPHS_PPzZZ_D:
21760 case AArch64::CMPHS_PPzZZ_H:
21761 case AArch64::CMPHS_PPzZZ_S:
21762 case AArch64::CMPHS_WIDE_PPzZZ_B:
21763 case AArch64::CMPHS_WIDE_PPzZZ_H:
21764 case AArch64::CMPHS_WIDE_PPzZZ_S:
21765 case AArch64::CMPLE_WIDE_PPzZZ_B:
21766 case AArch64::CMPLE_WIDE_PPzZZ_H:
21767 case AArch64::CMPLE_WIDE_PPzZZ_S:
21768 case AArch64::CMPLO_WIDE_PPzZZ_B:
21769 case AArch64::CMPLO_WIDE_PPzZZ_H:
21770 case AArch64::CMPLO_WIDE_PPzZZ_S:
21771 case AArch64::CMPLS_WIDE_PPzZZ_B:
21772 case AArch64::CMPLS_WIDE_PPzZZ_H:
21773 case AArch64::CMPLS_WIDE_PPzZZ_S:
21774 case AArch64::CMPLT_WIDE_PPzZZ_B:
21775 case AArch64::CMPLT_WIDE_PPzZZ_H:
21776 case AArch64::CMPLT_WIDE_PPzZZ_S:
21777 case AArch64::CMPNE_PPzZZ_B:
21778 case AArch64::CMPNE_PPzZZ_D:
21779 case AArch64::CMPNE_PPzZZ_H:
21780 case AArch64::CMPNE_PPzZZ_S:
21781 case AArch64::CMPNE_WIDE_PPzZZ_B:
21782 case AArch64::CMPNE_WIDE_PPzZZ_H:
21783 case AArch64::CMPNE_WIDE_PPzZZ_S:
21784 case AArch64::FACGE_PPzZZ_D:
21785 case AArch64::FACGE_PPzZZ_H:
21786 case AArch64::FACGE_PPzZZ_S:
21787 case AArch64::FACGT_PPzZZ_D:
21788 case AArch64::FACGT_PPzZZ_H:
21789 case AArch64::FACGT_PPzZZ_S:
21790 case AArch64::FCMEQ_PPzZZ_D:
21791 case AArch64::FCMEQ_PPzZZ_H:
21792 case AArch64::FCMEQ_PPzZZ_S:
21793 case AArch64::FCMGE_PPzZZ_D:
21794 case AArch64::FCMGE_PPzZZ_H:
21795 case AArch64::FCMGE_PPzZZ_S:
21796 case AArch64::FCMGT_PPzZZ_D:
21797 case AArch64::FCMGT_PPzZZ_H:
21798 case AArch64::FCMGT_PPzZZ_S:
21799 case AArch64::FCMNE_PPzZZ_D:
21800 case AArch64::FCMNE_PPzZZ_H:
21801 case AArch64::FCMNE_PPzZZ_S:
21802 case AArch64::FCMUO_PPzZZ_D:
21803 case AArch64::FCMUO_PPzZZ_H:
21804 case AArch64::FCMUO_PPzZZ_S:
21805 case AArch64::MATCH_PPzZZ_B:
21806 case AArch64::MATCH_PPzZZ_H:
21807 case AArch64::NMATCH_PPzZZ_B:
21808 case AArch64::NMATCH_PPzZZ_H: {
21809 switch (OpNum) {
21810 case 0:
21811 // op: Pd
21812 return 0;
21813 case 1:
21814 // op: Pg
21815 return 10;
21816 case 3:
21817 // op: Zm
21818 return 16;
21819 case 2:
21820 // op: Zn
21821 return 5;
21822 }
21823 break;
21824 }
21825 case AArch64::RDFFRS_PPz:
21826 case AArch64::RDFFR_PPz: {
21827 switch (OpNum) {
21828 case 0:
21829 // op: Pd
21830 return 0;
21831 case 1:
21832 // op: Pg
21833 return 5;
21834 }
21835 break;
21836 }
21837 case AArch64::PUNPKHI_PP:
21838 case AArch64::PUNPKLO_PP:
21839 case AArch64::REV_PP_B:
21840 case AArch64::REV_PP_D:
21841 case AArch64::REV_PP_H:
21842 case AArch64::REV_PP_S: {
21843 switch (OpNum) {
21844 case 0:
21845 // op: Pd
21846 return 0;
21847 case 1:
21848 // op: Pn
21849 return 5;
21850 }
21851 break;
21852 }
21853 case AArch64::PMOV_PZI_D:
21854 case AArch64::PMOV_PZI_H:
21855 case AArch64::PMOV_PZI_S: {
21856 switch (OpNum) {
21857 case 0:
21858 // op: Pd
21859 return 0;
21860 case 1:
21861 // op: Zn
21862 return 5;
21863 case 2:
21864 // op: index
21865 return 17;
21866 }
21867 break;
21868 }
21869 case AArch64::PMOV_PZI_B: {
21870 switch (OpNum) {
21871 case 0:
21872 // op: Pd
21873 return 0;
21874 case 1:
21875 // op: Zn
21876 return 5;
21877 }
21878 break;
21879 }
21880 case AArch64::PTRUES_B:
21881 case AArch64::PTRUES_D:
21882 case AArch64::PTRUES_H:
21883 case AArch64::PTRUES_S:
21884 case AArch64::PTRUE_B:
21885 case AArch64::PTRUE_D:
21886 case AArch64::PTRUE_H:
21887 case AArch64::PTRUE_S: {
21888 switch (OpNum) {
21889 case 0:
21890 // op: Pd
21891 return 0;
21892 case 1:
21893 // op: pattern
21894 return 5;
21895 }
21896 break;
21897 }
21898 case AArch64::BRKA_PPmP:
21899 case AArch64::BRKB_PPmP: {
21900 switch (OpNum) {
21901 case 0:
21902 // op: Pd
21903 return 0;
21904 case 2:
21905 // op: Pg
21906 return 10;
21907 case 3:
21908 // op: Pn
21909 return 5;
21910 }
21911 break;
21912 }
21913 case AArch64::TRN1_PPP_B:
21914 case AArch64::TRN1_PPP_D:
21915 case AArch64::TRN1_PPP_H:
21916 case AArch64::TRN1_PPP_S:
21917 case AArch64::TRN2_PPP_B:
21918 case AArch64::TRN2_PPP_D:
21919 case AArch64::TRN2_PPP_H:
21920 case AArch64::TRN2_PPP_S:
21921 case AArch64::UZP1_PPP_B:
21922 case AArch64::UZP1_PPP_D:
21923 case AArch64::UZP1_PPP_H:
21924 case AArch64::UZP1_PPP_S:
21925 case AArch64::UZP2_PPP_B:
21926 case AArch64::UZP2_PPP_D:
21927 case AArch64::UZP2_PPP_H:
21928 case AArch64::UZP2_PPP_S:
21929 case AArch64::ZIP1_PPP_B:
21930 case AArch64::ZIP1_PPP_D:
21931 case AArch64::ZIP1_PPP_H:
21932 case AArch64::ZIP1_PPP_S:
21933 case AArch64::ZIP2_PPP_B:
21934 case AArch64::ZIP2_PPP_D:
21935 case AArch64::ZIP2_PPP_H:
21936 case AArch64::ZIP2_PPP_S: {
21937 switch (OpNum) {
21938 case 0:
21939 // op: Pd
21940 return 0;
21941 case 2:
21942 // op: Pm
21943 return 16;
21944 case 1:
21945 // op: Pn
21946 return 5;
21947 }
21948 break;
21949 }
21950 case AArch64::WHILEGE_PWW_B:
21951 case AArch64::WHILEGE_PWW_D:
21952 case AArch64::WHILEGE_PWW_H:
21953 case AArch64::WHILEGE_PWW_S:
21954 case AArch64::WHILEGE_PXX_B:
21955 case AArch64::WHILEGE_PXX_D:
21956 case AArch64::WHILEGE_PXX_H:
21957 case AArch64::WHILEGE_PXX_S:
21958 case AArch64::WHILEGT_PWW_B:
21959 case AArch64::WHILEGT_PWW_D:
21960 case AArch64::WHILEGT_PWW_H:
21961 case AArch64::WHILEGT_PWW_S:
21962 case AArch64::WHILEGT_PXX_B:
21963 case AArch64::WHILEGT_PXX_D:
21964 case AArch64::WHILEGT_PXX_H:
21965 case AArch64::WHILEGT_PXX_S:
21966 case AArch64::WHILEHI_PWW_B:
21967 case AArch64::WHILEHI_PWW_D:
21968 case AArch64::WHILEHI_PWW_H:
21969 case AArch64::WHILEHI_PWW_S:
21970 case AArch64::WHILEHI_PXX_B:
21971 case AArch64::WHILEHI_PXX_D:
21972 case AArch64::WHILEHI_PXX_H:
21973 case AArch64::WHILEHI_PXX_S:
21974 case AArch64::WHILEHS_PWW_B:
21975 case AArch64::WHILEHS_PWW_D:
21976 case AArch64::WHILEHS_PWW_H:
21977 case AArch64::WHILEHS_PWW_S:
21978 case AArch64::WHILEHS_PXX_B:
21979 case AArch64::WHILEHS_PXX_D:
21980 case AArch64::WHILEHS_PXX_H:
21981 case AArch64::WHILEHS_PXX_S:
21982 case AArch64::WHILELE_PWW_B:
21983 case AArch64::WHILELE_PWW_D:
21984 case AArch64::WHILELE_PWW_H:
21985 case AArch64::WHILELE_PWW_S:
21986 case AArch64::WHILELE_PXX_B:
21987 case AArch64::WHILELE_PXX_D:
21988 case AArch64::WHILELE_PXX_H:
21989 case AArch64::WHILELE_PXX_S:
21990 case AArch64::WHILELO_PWW_B:
21991 case AArch64::WHILELO_PWW_D:
21992 case AArch64::WHILELO_PWW_H:
21993 case AArch64::WHILELO_PWW_S:
21994 case AArch64::WHILELO_PXX_B:
21995 case AArch64::WHILELO_PXX_D:
21996 case AArch64::WHILELO_PXX_H:
21997 case AArch64::WHILELO_PXX_S:
21998 case AArch64::WHILELS_PWW_B:
21999 case AArch64::WHILELS_PWW_D:
22000 case AArch64::WHILELS_PWW_H:
22001 case AArch64::WHILELS_PWW_S:
22002 case AArch64::WHILELS_PXX_B:
22003 case AArch64::WHILELS_PXX_D:
22004 case AArch64::WHILELS_PXX_H:
22005 case AArch64::WHILELS_PXX_S:
22006 case AArch64::WHILELT_PWW_B:
22007 case AArch64::WHILELT_PWW_D:
22008 case AArch64::WHILELT_PWW_H:
22009 case AArch64::WHILELT_PWW_S:
22010 case AArch64::WHILELT_PXX_B:
22011 case AArch64::WHILELT_PXX_D:
22012 case AArch64::WHILELT_PXX_H:
22013 case AArch64::WHILELT_PXX_S:
22014 case AArch64::WHILERW_PXX_B:
22015 case AArch64::WHILERW_PXX_D:
22016 case AArch64::WHILERW_PXX_H:
22017 case AArch64::WHILERW_PXX_S:
22018 case AArch64::WHILEWR_PXX_B:
22019 case AArch64::WHILEWR_PXX_D:
22020 case AArch64::WHILEWR_PXX_H:
22021 case AArch64::WHILEWR_PXX_S: {
22022 switch (OpNum) {
22023 case 0:
22024 // op: Pd
22025 return 0;
22026 case 2:
22027 // op: Rm
22028 return 16;
22029 case 1:
22030 // op: Rn
22031 return 5;
22032 }
22033 break;
22034 }
22035 case AArch64::PFALSE:
22036 case AArch64::RDFFR_P: {
22037 switch (OpNum) {
22038 case 0:
22039 // op: Pd
22040 return 0;
22041 }
22042 break;
22043 }
22044 case AArch64::WHILEGE_2PXX_B:
22045 case AArch64::WHILEGE_2PXX_D:
22046 case AArch64::WHILEGE_2PXX_H:
22047 case AArch64::WHILEGE_2PXX_S:
22048 case AArch64::WHILEGT_2PXX_B:
22049 case AArch64::WHILEGT_2PXX_D:
22050 case AArch64::WHILEGT_2PXX_H:
22051 case AArch64::WHILEGT_2PXX_S:
22052 case AArch64::WHILEHI_2PXX_B:
22053 case AArch64::WHILEHI_2PXX_D:
22054 case AArch64::WHILEHI_2PXX_H:
22055 case AArch64::WHILEHI_2PXX_S:
22056 case AArch64::WHILEHS_2PXX_B:
22057 case AArch64::WHILEHS_2PXX_D:
22058 case AArch64::WHILEHS_2PXX_H:
22059 case AArch64::WHILEHS_2PXX_S:
22060 case AArch64::WHILELE_2PXX_B:
22061 case AArch64::WHILELE_2PXX_D:
22062 case AArch64::WHILELE_2PXX_H:
22063 case AArch64::WHILELE_2PXX_S:
22064 case AArch64::WHILELO_2PXX_B:
22065 case AArch64::WHILELO_2PXX_D:
22066 case AArch64::WHILELO_2PXX_H:
22067 case AArch64::WHILELO_2PXX_S:
22068 case AArch64::WHILELS_2PXX_B:
22069 case AArch64::WHILELS_2PXX_D:
22070 case AArch64::WHILELS_2PXX_H:
22071 case AArch64::WHILELS_2PXX_S:
22072 case AArch64::WHILELT_2PXX_B:
22073 case AArch64::WHILELT_2PXX_D:
22074 case AArch64::WHILELT_2PXX_H:
22075 case AArch64::WHILELT_2PXX_S: {
22076 switch (OpNum) {
22077 case 0:
22078 // op: Pd
22079 return 1;
22080 case 1:
22081 // op: Rn
22082 return 5;
22083 case 2:
22084 // op: Rm
22085 return 16;
22086 }
22087 break;
22088 }
22089 case AArch64::BRKNS_PPzP:
22090 case AArch64::BRKN_PPzP: {
22091 switch (OpNum) {
22092 case 0:
22093 // op: Pdm
22094 return 0;
22095 case 1:
22096 // op: Pg
22097 return 10;
22098 case 2:
22099 // op: Pn
22100 return 5;
22101 }
22102 break;
22103 }
22104 case AArch64::PFIRST_B:
22105 case AArch64::PNEXT_B:
22106 case AArch64::PNEXT_D:
22107 case AArch64::PNEXT_H:
22108 case AArch64::PNEXT_S: {
22109 switch (OpNum) {
22110 case 0:
22111 // op: Pdn
22112 return 0;
22113 case 1:
22114 // op: Pg
22115 return 5;
22116 }
22117 break;
22118 }
22119 case AArch64::PTEST_PP: {
22120 switch (OpNum) {
22121 case 0:
22122 // op: Pg
22123 return 10;
22124 case 1:
22125 // op: Pn
22126 return 5;
22127 }
22128 break;
22129 }
22130 case AArch64::WRFFR: {
22131 switch (OpNum) {
22132 case 0:
22133 // op: Pn
22134 return 5;
22135 }
22136 break;
22137 }
22138 case AArch64::LDR_PXI:
22139 case AArch64::STR_PXI: {
22140 switch (OpNum) {
22141 case 0:
22142 // op: Pt
22143 return 0;
22144 case 1:
22145 // op: Rn
22146 return 5;
22147 case 2:
22148 // op: imm9
22149 return 10;
22150 }
22151 break;
22152 }
22153 case AArch64::CNTP_XCI_B:
22154 case AArch64::CNTP_XCI_D:
22155 case AArch64::CNTP_XCI_H:
22156 case AArch64::CNTP_XCI_S: {
22157 switch (OpNum) {
22158 case 0:
22159 // op: Rd
22160 return 0;
22161 case 1:
22162 // op: PNn
22163 return 5;
22164 case 2:
22165 // op: vl
22166 return 10;
22167 }
22168 break;
22169 }
22170 case AArch64::ADDPL_XXI:
22171 case AArch64::ADDSPL_XXI:
22172 case AArch64::ADDSVL_XXI:
22173 case AArch64::ADDVL_XXI: {
22174 switch (OpNum) {
22175 case 0:
22176 // op: Rd
22177 return 0;
22178 case 1:
22179 // op: Rn
22180 return 16;
22181 case 2:
22182 // op: imm6
22183 return 5;
22184 }
22185 break;
22186 }
22187 case AArch64::FMADDDrrr:
22188 case AArch64::FMADDHrrr:
22189 case AArch64::FMADDSrrr:
22190 case AArch64::FMSUBDrrr:
22191 case AArch64::FMSUBHrrr:
22192 case AArch64::FMSUBSrrr:
22193 case AArch64::FNMADDDrrr:
22194 case AArch64::FNMADDHrrr:
22195 case AArch64::FNMADDSrrr:
22196 case AArch64::FNMSUBDrrr:
22197 case AArch64::FNMSUBHrrr:
22198 case AArch64::FNMSUBSrrr:
22199 case AArch64::MADDPT:
22200 case AArch64::MADDWrrr:
22201 case AArch64::MADDXrrr:
22202 case AArch64::MSUBPT:
22203 case AArch64::MSUBWrrr:
22204 case AArch64::MSUBXrrr:
22205 case AArch64::SMADDLrrr:
22206 case AArch64::SMSUBLrrr:
22207 case AArch64::UMADDLrrr:
22208 case AArch64::UMSUBLrrr: {
22209 switch (OpNum) {
22210 case 0:
22211 // op: Rd
22212 return 0;
22213 case 1:
22214 // op: Rn
22215 return 5;
22216 case 2:
22217 // op: Rm
22218 return 16;
22219 case 3:
22220 // op: Ra
22221 return 10;
22222 }
22223 break;
22224 }
22225 case AArch64::CSELWr:
22226 case AArch64::CSELXr:
22227 case AArch64::CSINCWr:
22228 case AArch64::CSINCXr:
22229 case AArch64::CSINVWr:
22230 case AArch64::CSINVXr:
22231 case AArch64::CSNEGWr:
22232 case AArch64::CSNEGXr:
22233 case AArch64::FCSELDrrr:
22234 case AArch64::FCSELHrrr:
22235 case AArch64::FCSELSrrr: {
22236 switch (OpNum) {
22237 case 0:
22238 // op: Rd
22239 return 0;
22240 case 1:
22241 // op: Rn
22242 return 5;
22243 case 2:
22244 // op: Rm
22245 return 16;
22246 case 3:
22247 // op: cond
22248 return 12;
22249 }
22250 break;
22251 }
22252 case AArch64::ADDSXrx64:
22253 case AArch64::ADDXrx64:
22254 case AArch64::SUBSXrx64:
22255 case AArch64::SUBXrx64: {
22256 switch (OpNum) {
22257 case 0:
22258 // op: Rd
22259 return 0;
22260 case 1:
22261 // op: Rn
22262 return 5;
22263 case 2:
22264 // op: Rm
22265 return 16;
22266 case 3:
22267 // op: ext
22268 return 10;
22269 }
22270 break;
22271 }
22272 case AArch64::ADDSWrx:
22273 case AArch64::ADDSXrx:
22274 case AArch64::ADDWrx:
22275 case AArch64::ADDXrx:
22276 case AArch64::SUBSWrx:
22277 case AArch64::SUBSXrx:
22278 case AArch64::SUBWrx:
22279 case AArch64::SUBXrx: {
22280 switch (OpNum) {
22281 case 0:
22282 // op: Rd
22283 return 0;
22284 case 1:
22285 // op: Rn
22286 return 5;
22287 case 2:
22288 // op: Rm
22289 return 16;
22290 case 3:
22291 // op: extend
22292 return 10;
22293 }
22294 break;
22295 }
22296 case AArch64::FMULXv1i16_indexed:
22297 case AArch64::FMULXv1i32_indexed:
22298 case AArch64::FMULXv1i64_indexed:
22299 case AArch64::FMULXv2i32_indexed:
22300 case AArch64::FMULXv2i64_indexed:
22301 case AArch64::FMULXv4i16_indexed:
22302 case AArch64::FMULXv4i32_indexed:
22303 case AArch64::FMULXv8i16_indexed:
22304 case AArch64::FMULv1i16_indexed:
22305 case AArch64::FMULv1i32_indexed:
22306 case AArch64::FMULv1i64_indexed:
22307 case AArch64::FMULv2i32_indexed:
22308 case AArch64::FMULv2i64_indexed:
22309 case AArch64::FMULv4i16_indexed:
22310 case AArch64::FMULv4i32_indexed:
22311 case AArch64::FMULv8i16_indexed:
22312 case AArch64::MULv2i32_indexed:
22313 case AArch64::MULv4i16_indexed:
22314 case AArch64::MULv4i32_indexed:
22315 case AArch64::MULv8i16_indexed:
22316 case AArch64::SMULLv2i32_indexed:
22317 case AArch64::SMULLv4i16_indexed:
22318 case AArch64::SMULLv4i32_indexed:
22319 case AArch64::SMULLv8i16_indexed:
22320 case AArch64::SQDMULHv1i16_indexed:
22321 case AArch64::SQDMULHv1i32_indexed:
22322 case AArch64::SQDMULHv2i32_indexed:
22323 case AArch64::SQDMULHv4i16_indexed:
22324 case AArch64::SQDMULHv4i32_indexed:
22325 case AArch64::SQDMULHv8i16_indexed:
22326 case AArch64::SQDMULLv1i32_indexed:
22327 case AArch64::SQDMULLv1i64_indexed:
22328 case AArch64::SQDMULLv2i32_indexed:
22329 case AArch64::SQDMULLv4i16_indexed:
22330 case AArch64::SQDMULLv4i32_indexed:
22331 case AArch64::SQDMULLv8i16_indexed:
22332 case AArch64::SQRDMULHv1i16_indexed:
22333 case AArch64::SQRDMULHv1i32_indexed:
22334 case AArch64::SQRDMULHv2i32_indexed:
22335 case AArch64::SQRDMULHv4i16_indexed:
22336 case AArch64::SQRDMULHv4i32_indexed:
22337 case AArch64::SQRDMULHv8i16_indexed:
22338 case AArch64::UMULLv2i32_indexed:
22339 case AArch64::UMULLv4i16_indexed:
22340 case AArch64::UMULLv4i32_indexed:
22341 case AArch64::UMULLv8i16_indexed: {
22342 switch (OpNum) {
22343 case 0:
22344 // op: Rd
22345 return 0;
22346 case 1:
22347 // op: Rn
22348 return 5;
22349 case 2:
22350 // op: Rm
22351 return 16;
22352 case 3:
22353 // op: idx
22354 return 11;
22355 }
22356 break;
22357 }
22358 case AArch64::LUT2_H: {
22359 switch (OpNum) {
22360 case 0:
22361 // op: Rd
22362 return 0;
22363 case 1:
22364 // op: Rn
22365 return 5;
22366 case 2:
22367 // op: Rm
22368 return 16;
22369 case 3:
22370 // op: idx
22371 return 12;
22372 }
22373 break;
22374 }
22375 case AArch64::LUT2_B:
22376 case AArch64::LUT4_H: {
22377 switch (OpNum) {
22378 case 0:
22379 // op: Rd
22380 return 0;
22381 case 1:
22382 // op: Rn
22383 return 5;
22384 case 2:
22385 // op: Rm
22386 return 16;
22387 case 3:
22388 // op: idx
22389 return 13;
22390 }
22391 break;
22392 }
22393 case AArch64::LUT4_B: {
22394 switch (OpNum) {
22395 case 0:
22396 // op: Rd
22397 return 0;
22398 case 1:
22399 // op: Rn
22400 return 5;
22401 case 2:
22402 // op: Rm
22403 return 16;
22404 case 3:
22405 // op: idx
22406 return 14;
22407 }
22408 break;
22409 }
22410 case AArch64::EXTRWrri:
22411 case AArch64::EXTRXrri: {
22412 switch (OpNum) {
22413 case 0:
22414 // op: Rd
22415 return 0;
22416 case 1:
22417 // op: Rn
22418 return 5;
22419 case 2:
22420 // op: Rm
22421 return 16;
22422 case 3:
22423 // op: imm
22424 return 10;
22425 }
22426 break;
22427 }
22428 case AArch64::EXTv16i8:
22429 case AArch64::EXTv8i8: {
22430 switch (OpNum) {
22431 case 0:
22432 // op: Rd
22433 return 0;
22434 case 1:
22435 // op: Rn
22436 return 5;
22437 case 2:
22438 // op: Rm
22439 return 16;
22440 case 3:
22441 // op: imm
22442 return 11;
22443 }
22444 break;
22445 }
22446 case AArch64::FCADDv2f32:
22447 case AArch64::FCADDv2f64:
22448 case AArch64::FCADDv4f16:
22449 case AArch64::FCADDv4f32:
22450 case AArch64::FCADDv8f16: {
22451 switch (OpNum) {
22452 case 0:
22453 // op: Rd
22454 return 0;
22455 case 1:
22456 // op: Rn
22457 return 5;
22458 case 2:
22459 // op: Rm
22460 return 16;
22461 case 3:
22462 // op: rot
22463 return 12;
22464 }
22465 break;
22466 }
22467 case AArch64::ADDSWrs:
22468 case AArch64::ADDSXrs:
22469 case AArch64::ADDWrs:
22470 case AArch64::ADDXrs:
22471 case AArch64::ANDSWrs:
22472 case AArch64::ANDSXrs:
22473 case AArch64::ANDWrs:
22474 case AArch64::ANDXrs:
22475 case AArch64::BICSWrs:
22476 case AArch64::BICSXrs:
22477 case AArch64::BICWrs:
22478 case AArch64::BICXrs:
22479 case AArch64::EONWrs:
22480 case AArch64::EONXrs:
22481 case AArch64::EORWrs:
22482 case AArch64::EORXrs:
22483 case AArch64::ORNWrs:
22484 case AArch64::ORNXrs:
22485 case AArch64::ORRWrs:
22486 case AArch64::ORRXrs:
22487 case AArch64::SUBSWrs:
22488 case AArch64::SUBSXrs:
22489 case AArch64::SUBWrs:
22490 case AArch64::SUBXrs: {
22491 switch (OpNum) {
22492 case 0:
22493 // op: Rd
22494 return 0;
22495 case 1:
22496 // op: Rn
22497 return 5;
22498 case 2:
22499 // op: Rm
22500 return 16;
22501 case 3:
22502 // op: shift
22503 return 10;
22504 }
22505 break;
22506 }
22507 case AArch64::ADDPT_shift:
22508 case AArch64::SUBPT_shift: {
22509 switch (OpNum) {
22510 case 0:
22511 // op: Rd
22512 return 0;
22513 case 1:
22514 // op: Rn
22515 return 5;
22516 case 2:
22517 // op: Rm
22518 return 16;
22519 case 3:
22520 // op: shift_imm
22521 return 10;
22522 }
22523 break;
22524 }
22525 case AArch64::ADCSWr:
22526 case AArch64::ADCSXr:
22527 case AArch64::ADCWr:
22528 case AArch64::ADCXr:
22529 case AArch64::ADDHNv2i64_v2i32:
22530 case AArch64::ADDHNv4i32_v4i16:
22531 case AArch64::ADDHNv8i16_v8i8:
22532 case AArch64::ADDPv16i8:
22533 case AArch64::ADDPv2i32:
22534 case AArch64::ADDPv2i64:
22535 case AArch64::ADDPv4i16:
22536 case AArch64::ADDPv4i32:
22537 case AArch64::ADDPv8i16:
22538 case AArch64::ADDPv8i8:
22539 case AArch64::ADDv16i8:
22540 case AArch64::ADDv1i64:
22541 case AArch64::ADDv2i32:
22542 case AArch64::ADDv2i64:
22543 case AArch64::ADDv4i16:
22544 case AArch64::ADDv4i32:
22545 case AArch64::ADDv8i16:
22546 case AArch64::ADDv8i8:
22547 case AArch64::ANDv16i8:
22548 case AArch64::ANDv8i8:
22549 case AArch64::ASRVWr:
22550 case AArch64::ASRVXr:
22551 case AArch64::BICv16i8:
22552 case AArch64::BICv8i8:
22553 case AArch64::CMEQv16i8:
22554 case AArch64::CMEQv1i64:
22555 case AArch64::CMEQv2i32:
22556 case AArch64::CMEQv2i64:
22557 case AArch64::CMEQv4i16:
22558 case AArch64::CMEQv4i32:
22559 case AArch64::CMEQv8i16:
22560 case AArch64::CMEQv8i8:
22561 case AArch64::CMGEv16i8:
22562 case AArch64::CMGEv1i64:
22563 case AArch64::CMGEv2i32:
22564 case AArch64::CMGEv2i64:
22565 case AArch64::CMGEv4i16:
22566 case AArch64::CMGEv4i32:
22567 case AArch64::CMGEv8i16:
22568 case AArch64::CMGEv8i8:
22569 case AArch64::CMGTv16i8:
22570 case AArch64::CMGTv1i64:
22571 case AArch64::CMGTv2i32:
22572 case AArch64::CMGTv2i64:
22573 case AArch64::CMGTv4i16:
22574 case AArch64::CMGTv4i32:
22575 case AArch64::CMGTv8i16:
22576 case AArch64::CMGTv8i8:
22577 case AArch64::CMHIv16i8:
22578 case AArch64::CMHIv1i64:
22579 case AArch64::CMHIv2i32:
22580 case AArch64::CMHIv2i64:
22581 case AArch64::CMHIv4i16:
22582 case AArch64::CMHIv4i32:
22583 case AArch64::CMHIv8i16:
22584 case AArch64::CMHIv8i8:
22585 case AArch64::CMHSv16i8:
22586 case AArch64::CMHSv1i64:
22587 case AArch64::CMHSv2i32:
22588 case AArch64::CMHSv2i64:
22589 case AArch64::CMHSv4i16:
22590 case AArch64::CMHSv4i32:
22591 case AArch64::CMHSv8i16:
22592 case AArch64::CMHSv8i8:
22593 case AArch64::CMTSTv16i8:
22594 case AArch64::CMTSTv1i64:
22595 case AArch64::CMTSTv2i32:
22596 case AArch64::CMTSTv2i64:
22597 case AArch64::CMTSTv4i16:
22598 case AArch64::CMTSTv4i32:
22599 case AArch64::CMTSTv8i16:
22600 case AArch64::CMTSTv8i8:
22601 case AArch64::CRC32Brr:
22602 case AArch64::CRC32CBrr:
22603 case AArch64::CRC32CHrr:
22604 case AArch64::CRC32CWrr:
22605 case AArch64::CRC32CXrr:
22606 case AArch64::CRC32Hrr:
22607 case AArch64::CRC32Wrr:
22608 case AArch64::CRC32Xrr:
22609 case AArch64::EORv16i8:
22610 case AArch64::EORv8i8:
22611 case AArch64::FABD16:
22612 case AArch64::FABD32:
22613 case AArch64::FABD64:
22614 case AArch64::FABDv2f32:
22615 case AArch64::FABDv2f64:
22616 case AArch64::FABDv4f16:
22617 case AArch64::FABDv4f32:
22618 case AArch64::FABDv8f16:
22619 case AArch64::FACGE16:
22620 case AArch64::FACGE32:
22621 case AArch64::FACGE64:
22622 case AArch64::FACGEv2f32:
22623 case AArch64::FACGEv2f64:
22624 case AArch64::FACGEv4f16:
22625 case AArch64::FACGEv4f32:
22626 case AArch64::FACGEv8f16:
22627 case AArch64::FACGT16:
22628 case AArch64::FACGT32:
22629 case AArch64::FACGT64:
22630 case AArch64::FACGTv2f32:
22631 case AArch64::FACGTv2f64:
22632 case AArch64::FACGTv4f16:
22633 case AArch64::FACGTv4f32:
22634 case AArch64::FACGTv8f16:
22635 case AArch64::FADDDrr:
22636 case AArch64::FADDHrr:
22637 case AArch64::FADDPv2f32:
22638 case AArch64::FADDPv2f64:
22639 case AArch64::FADDPv4f16:
22640 case AArch64::FADDPv4f32:
22641 case AArch64::FADDPv8f16:
22642 case AArch64::FADDSrr:
22643 case AArch64::FADDv2f32:
22644 case AArch64::FADDv2f64:
22645 case AArch64::FADDv4f16:
22646 case AArch64::FADDv4f32:
22647 case AArch64::FADDv8f16:
22648 case AArch64::FAMAXv2f32:
22649 case AArch64::FAMAXv2f64:
22650 case AArch64::FAMAXv4f16:
22651 case AArch64::FAMAXv4f32:
22652 case AArch64::FAMAXv8f16:
22653 case AArch64::FAMINv2f32:
22654 case AArch64::FAMINv2f64:
22655 case AArch64::FAMINv4f16:
22656 case AArch64::FAMINv4f32:
22657 case AArch64::FAMINv8f16:
22658 case AArch64::FCMEQ16:
22659 case AArch64::FCMEQ32:
22660 case AArch64::FCMEQ64:
22661 case AArch64::FCMEQv2f32:
22662 case AArch64::FCMEQv2f64:
22663 case AArch64::FCMEQv4f16:
22664 case AArch64::FCMEQv4f32:
22665 case AArch64::FCMEQv8f16:
22666 case AArch64::FCMGE16:
22667 case AArch64::FCMGE32:
22668 case AArch64::FCMGE64:
22669 case AArch64::FCMGEv2f32:
22670 case AArch64::FCMGEv2f64:
22671 case AArch64::FCMGEv4f16:
22672 case AArch64::FCMGEv4f32:
22673 case AArch64::FCMGEv8f16:
22674 case AArch64::FCMGT16:
22675 case AArch64::FCMGT32:
22676 case AArch64::FCMGT64:
22677 case AArch64::FCMGTv2f32:
22678 case AArch64::FCMGTv2f64:
22679 case AArch64::FCMGTv4f16:
22680 case AArch64::FCMGTv4f32:
22681 case AArch64::FCMGTv8f16:
22682 case AArch64::FCVTN_F16v16f8:
22683 case AArch64::FCVTN_F16v8f8:
22684 case AArch64::FCVTN_F32v8f8:
22685 case AArch64::FDIVDrr:
22686 case AArch64::FDIVHrr:
22687 case AArch64::FDIVSrr:
22688 case AArch64::FDIVv2f32:
22689 case AArch64::FDIVv2f64:
22690 case AArch64::FDIVv4f16:
22691 case AArch64::FDIVv4f32:
22692 case AArch64::FDIVv8f16:
22693 case AArch64::FMAXDrr:
22694 case AArch64::FMAXHrr:
22695 case AArch64::FMAXNMDrr:
22696 case AArch64::FMAXNMHrr:
22697 case AArch64::FMAXNMPv2f32:
22698 case AArch64::FMAXNMPv2f64:
22699 case AArch64::FMAXNMPv4f16:
22700 case AArch64::FMAXNMPv4f32:
22701 case AArch64::FMAXNMPv8f16:
22702 case AArch64::FMAXNMSrr:
22703 case AArch64::FMAXNMv2f32:
22704 case AArch64::FMAXNMv2f64:
22705 case AArch64::FMAXNMv4f16:
22706 case AArch64::FMAXNMv4f32:
22707 case AArch64::FMAXNMv8f16:
22708 case AArch64::FMAXPv2f32:
22709 case AArch64::FMAXPv2f64:
22710 case AArch64::FMAXPv4f16:
22711 case AArch64::FMAXPv4f32:
22712 case AArch64::FMAXPv8f16:
22713 case AArch64::FMAXSrr:
22714 case AArch64::FMAXv2f32:
22715 case AArch64::FMAXv2f64:
22716 case AArch64::FMAXv4f16:
22717 case AArch64::FMAXv4f32:
22718 case AArch64::FMAXv8f16:
22719 case AArch64::FMINDrr:
22720 case AArch64::FMINHrr:
22721 case AArch64::FMINNMDrr:
22722 case AArch64::FMINNMHrr:
22723 case AArch64::FMINNMPv2f32:
22724 case AArch64::FMINNMPv2f64:
22725 case AArch64::FMINNMPv4f16:
22726 case AArch64::FMINNMPv4f32:
22727 case AArch64::FMINNMPv8f16:
22728 case AArch64::FMINNMSrr:
22729 case AArch64::FMINNMv2f32:
22730 case AArch64::FMINNMv2f64:
22731 case AArch64::FMINNMv4f16:
22732 case AArch64::FMINNMv4f32:
22733 case AArch64::FMINNMv8f16:
22734 case AArch64::FMINPv2f32:
22735 case AArch64::FMINPv2f64:
22736 case AArch64::FMINPv4f16:
22737 case AArch64::FMINPv4f32:
22738 case AArch64::FMINPv8f16:
22739 case AArch64::FMINSrr:
22740 case AArch64::FMINv2f32:
22741 case AArch64::FMINv2f64:
22742 case AArch64::FMINv4f16:
22743 case AArch64::FMINv4f32:
22744 case AArch64::FMINv8f16:
22745 case AArch64::FMULDrr:
22746 case AArch64::FMULHrr:
22747 case AArch64::FMULSrr:
22748 case AArch64::FMULX16:
22749 case AArch64::FMULX32:
22750 case AArch64::FMULX64:
22751 case AArch64::FMULXv2f32:
22752 case AArch64::FMULXv2f64:
22753 case AArch64::FMULXv4f16:
22754 case AArch64::FMULXv4f32:
22755 case AArch64::FMULXv8f16:
22756 case AArch64::FMULv2f32:
22757 case AArch64::FMULv2f64:
22758 case AArch64::FMULv4f16:
22759 case AArch64::FMULv4f32:
22760 case AArch64::FMULv8f16:
22761 case AArch64::FNMULDrr:
22762 case AArch64::FNMULHrr:
22763 case AArch64::FNMULSrr:
22764 case AArch64::FRECPS16:
22765 case AArch64::FRECPS32:
22766 case AArch64::FRECPS64:
22767 case AArch64::FRECPSv2f32:
22768 case AArch64::FRECPSv2f64:
22769 case AArch64::FRECPSv4f16:
22770 case AArch64::FRECPSv4f32:
22771 case AArch64::FRECPSv8f16:
22772 case AArch64::FRSQRTS16:
22773 case AArch64::FRSQRTS32:
22774 case AArch64::FRSQRTS64:
22775 case AArch64::FRSQRTSv2f32:
22776 case AArch64::FRSQRTSv2f64:
22777 case AArch64::FRSQRTSv4f16:
22778 case AArch64::FRSQRTSv4f32:
22779 case AArch64::FRSQRTSv8f16:
22780 case AArch64::FSCALEv2f32:
22781 case AArch64::FSCALEv2f64:
22782 case AArch64::FSCALEv4f16:
22783 case AArch64::FSCALEv4f32:
22784 case AArch64::FSCALEv8f16:
22785 case AArch64::FSUBDrr:
22786 case AArch64::FSUBHrr:
22787 case AArch64::FSUBSrr:
22788 case AArch64::FSUBv2f32:
22789 case AArch64::FSUBv2f64:
22790 case AArch64::FSUBv4f16:
22791 case AArch64::FSUBv4f32:
22792 case AArch64::FSUBv8f16:
22793 case AArch64::GMI:
22794 case AArch64::IRG:
22795 case AArch64::LSLVWr:
22796 case AArch64::LSLVXr:
22797 case AArch64::LSRVWr:
22798 case AArch64::LSRVXr:
22799 case AArch64::MULv16i8:
22800 case AArch64::MULv2i32:
22801 case AArch64::MULv4i16:
22802 case AArch64::MULv4i32:
22803 case AArch64::MULv8i16:
22804 case AArch64::MULv8i8:
22805 case AArch64::ORNv16i8:
22806 case AArch64::ORNv8i8:
22807 case AArch64::ORRv16i8:
22808 case AArch64::ORRv8i8:
22809 case AArch64::PACGA:
22810 case AArch64::PMULLv16i8:
22811 case AArch64::PMULLv1i64:
22812 case AArch64::PMULLv2i64:
22813 case AArch64::PMULLv8i8:
22814 case AArch64::PMULv16i8:
22815 case AArch64::PMULv8i8:
22816 case AArch64::RADDHNv2i64_v2i32:
22817 case AArch64::RADDHNv4i32_v4i16:
22818 case AArch64::RADDHNv8i16_v8i8:
22819 case AArch64::RORVWr:
22820 case AArch64::RORVXr:
22821 case AArch64::RSUBHNv2i64_v2i32:
22822 case AArch64::RSUBHNv4i32_v4i16:
22823 case AArch64::RSUBHNv8i16_v8i8:
22824 case AArch64::SABDLv16i8_v8i16:
22825 case AArch64::SABDLv2i32_v2i64:
22826 case AArch64::SABDLv4i16_v4i32:
22827 case AArch64::SABDLv4i32_v2i64:
22828 case AArch64::SABDLv8i16_v4i32:
22829 case AArch64::SABDLv8i8_v8i16:
22830 case AArch64::SABDv16i8:
22831 case AArch64::SABDv2i32:
22832 case AArch64::SABDv4i16:
22833 case AArch64::SABDv4i32:
22834 case AArch64::SABDv8i16:
22835 case AArch64::SABDv8i8:
22836 case AArch64::SADDLv16i8_v8i16:
22837 case AArch64::SADDLv2i32_v2i64:
22838 case AArch64::SADDLv4i16_v4i32:
22839 case AArch64::SADDLv4i32_v2i64:
22840 case AArch64::SADDLv8i16_v4i32:
22841 case AArch64::SADDLv8i8_v8i16:
22842 case AArch64::SADDWv16i8_v8i16:
22843 case AArch64::SADDWv2i32_v2i64:
22844 case AArch64::SADDWv4i16_v4i32:
22845 case AArch64::SADDWv4i32_v2i64:
22846 case AArch64::SADDWv8i16_v4i32:
22847 case AArch64::SADDWv8i8_v8i16:
22848 case AArch64::SBCSWr:
22849 case AArch64::SBCSXr:
22850 case AArch64::SBCWr:
22851 case AArch64::SBCXr:
22852 case AArch64::SDIVWr:
22853 case AArch64::SDIVXr:
22854 case AArch64::SHADDv16i8:
22855 case AArch64::SHADDv2i32:
22856 case AArch64::SHADDv4i16:
22857 case AArch64::SHADDv4i32:
22858 case AArch64::SHADDv8i16:
22859 case AArch64::SHADDv8i8:
22860 case AArch64::SHSUBv16i8:
22861 case AArch64::SHSUBv2i32:
22862 case AArch64::SHSUBv4i16:
22863 case AArch64::SHSUBv4i32:
22864 case AArch64::SHSUBv8i16:
22865 case AArch64::SHSUBv8i8:
22866 case AArch64::SMAXPv16i8:
22867 case AArch64::SMAXPv2i32:
22868 case AArch64::SMAXPv4i16:
22869 case AArch64::SMAXPv4i32:
22870 case AArch64::SMAXPv8i16:
22871 case AArch64::SMAXPv8i8:
22872 case AArch64::SMAXWrr:
22873 case AArch64::SMAXXrr:
22874 case AArch64::SMAXv16i8:
22875 case AArch64::SMAXv2i32:
22876 case AArch64::SMAXv4i16:
22877 case AArch64::SMAXv4i32:
22878 case AArch64::SMAXv8i16:
22879 case AArch64::SMAXv8i8:
22880 case AArch64::SMINPv16i8:
22881 case AArch64::SMINPv2i32:
22882 case AArch64::SMINPv4i16:
22883 case AArch64::SMINPv4i32:
22884 case AArch64::SMINPv8i16:
22885 case AArch64::SMINPv8i8:
22886 case AArch64::SMINWrr:
22887 case AArch64::SMINXrr:
22888 case AArch64::SMINv16i8:
22889 case AArch64::SMINv2i32:
22890 case AArch64::SMINv4i16:
22891 case AArch64::SMINv4i32:
22892 case AArch64::SMINv8i16:
22893 case AArch64::SMINv8i8:
22894 case AArch64::SMULHrr:
22895 case AArch64::SMULLv16i8_v8i16:
22896 case AArch64::SMULLv2i32_v2i64:
22897 case AArch64::SMULLv4i16_v4i32:
22898 case AArch64::SMULLv4i32_v2i64:
22899 case AArch64::SMULLv8i16_v4i32:
22900 case AArch64::SMULLv8i8_v8i16:
22901 case AArch64::SQADDv16i8:
22902 case AArch64::SQADDv1i16:
22903 case AArch64::SQADDv1i32:
22904 case AArch64::SQADDv1i64:
22905 case AArch64::SQADDv1i8:
22906 case AArch64::SQADDv2i32:
22907 case AArch64::SQADDv2i64:
22908 case AArch64::SQADDv4i16:
22909 case AArch64::SQADDv4i32:
22910 case AArch64::SQADDv8i16:
22911 case AArch64::SQADDv8i8:
22912 case AArch64::SQDMULHv1i16:
22913 case AArch64::SQDMULHv1i32:
22914 case AArch64::SQDMULHv2i32:
22915 case AArch64::SQDMULHv4i16:
22916 case AArch64::SQDMULHv4i32:
22917 case AArch64::SQDMULHv8i16:
22918 case AArch64::SQDMULLi16:
22919 case AArch64::SQDMULLi32:
22920 case AArch64::SQDMULLv2i32_v2i64:
22921 case AArch64::SQDMULLv4i16_v4i32:
22922 case AArch64::SQDMULLv4i32_v2i64:
22923 case AArch64::SQDMULLv8i16_v4i32:
22924 case AArch64::SQRDMULHv1i16:
22925 case AArch64::SQRDMULHv1i32:
22926 case AArch64::SQRDMULHv2i32:
22927 case AArch64::SQRDMULHv4i16:
22928 case AArch64::SQRDMULHv4i32:
22929 case AArch64::SQRDMULHv8i16:
22930 case AArch64::SQRSHLv16i8:
22931 case AArch64::SQRSHLv1i16:
22932 case AArch64::SQRSHLv1i32:
22933 case AArch64::SQRSHLv1i64:
22934 case AArch64::SQRSHLv1i8:
22935 case AArch64::SQRSHLv2i32:
22936 case AArch64::SQRSHLv2i64:
22937 case AArch64::SQRSHLv4i16:
22938 case AArch64::SQRSHLv4i32:
22939 case AArch64::SQRSHLv8i16:
22940 case AArch64::SQRSHLv8i8:
22941 case AArch64::SQSHLv16i8:
22942 case AArch64::SQSHLv1i16:
22943 case AArch64::SQSHLv1i32:
22944 case AArch64::SQSHLv1i64:
22945 case AArch64::SQSHLv1i8:
22946 case AArch64::SQSHLv2i32:
22947 case AArch64::SQSHLv2i64:
22948 case AArch64::SQSHLv4i16:
22949 case AArch64::SQSHLv4i32:
22950 case AArch64::SQSHLv8i16:
22951 case AArch64::SQSHLv8i8:
22952 case AArch64::SQSUBv16i8:
22953 case AArch64::SQSUBv1i16:
22954 case AArch64::SQSUBv1i32:
22955 case AArch64::SQSUBv1i64:
22956 case AArch64::SQSUBv1i8:
22957 case AArch64::SQSUBv2i32:
22958 case AArch64::SQSUBv2i64:
22959 case AArch64::SQSUBv4i16:
22960 case AArch64::SQSUBv4i32:
22961 case AArch64::SQSUBv8i16:
22962 case AArch64::SQSUBv8i8:
22963 case AArch64::SRHADDv16i8:
22964 case AArch64::SRHADDv2i32:
22965 case AArch64::SRHADDv4i16:
22966 case AArch64::SRHADDv4i32:
22967 case AArch64::SRHADDv8i16:
22968 case AArch64::SRHADDv8i8:
22969 case AArch64::SRSHLv16i8:
22970 case AArch64::SRSHLv1i64:
22971 case AArch64::SRSHLv2i32:
22972 case AArch64::SRSHLv2i64:
22973 case AArch64::SRSHLv4i16:
22974 case AArch64::SRSHLv4i32:
22975 case AArch64::SRSHLv8i16:
22976 case AArch64::SRSHLv8i8:
22977 case AArch64::SSHLv16i8:
22978 case AArch64::SSHLv1i64:
22979 case AArch64::SSHLv2i32:
22980 case AArch64::SSHLv2i64:
22981 case AArch64::SSHLv4i16:
22982 case AArch64::SSHLv4i32:
22983 case AArch64::SSHLv8i16:
22984 case AArch64::SSHLv8i8:
22985 case AArch64::SSUBLv16i8_v8i16:
22986 case AArch64::SSUBLv2i32_v2i64:
22987 case AArch64::SSUBLv4i16_v4i32:
22988 case AArch64::SSUBLv4i32_v2i64:
22989 case AArch64::SSUBLv8i16_v4i32:
22990 case AArch64::SSUBLv8i8_v8i16:
22991 case AArch64::SSUBWv16i8_v8i16:
22992 case AArch64::SSUBWv2i32_v2i64:
22993 case AArch64::SSUBWv4i16_v4i32:
22994 case AArch64::SSUBWv4i32_v2i64:
22995 case AArch64::SSUBWv8i16_v4i32:
22996 case AArch64::SSUBWv8i8_v8i16:
22997 case AArch64::SUBHNv2i64_v2i32:
22998 case AArch64::SUBHNv4i32_v4i16:
22999 case AArch64::SUBHNv8i16_v8i8:
23000 case AArch64::SUBP:
23001 case AArch64::SUBPS:
23002 case AArch64::SUBv16i8:
23003 case AArch64::SUBv1i64:
23004 case AArch64::SUBv2i32:
23005 case AArch64::SUBv2i64:
23006 case AArch64::SUBv4i16:
23007 case AArch64::SUBv4i32:
23008 case AArch64::SUBv8i16:
23009 case AArch64::SUBv8i8:
23010 case AArch64::TRN1v16i8:
23011 case AArch64::TRN1v2i32:
23012 case AArch64::TRN1v2i64:
23013 case AArch64::TRN1v4i16:
23014 case AArch64::TRN1v4i32:
23015 case AArch64::TRN1v8i16:
23016 case AArch64::TRN1v8i8:
23017 case AArch64::TRN2v16i8:
23018 case AArch64::TRN2v2i32:
23019 case AArch64::TRN2v2i64:
23020 case AArch64::TRN2v4i16:
23021 case AArch64::TRN2v4i32:
23022 case AArch64::TRN2v8i16:
23023 case AArch64::TRN2v8i8:
23024 case AArch64::UABDLv16i8_v8i16:
23025 case AArch64::UABDLv2i32_v2i64:
23026 case AArch64::UABDLv4i16_v4i32:
23027 case AArch64::UABDLv4i32_v2i64:
23028 case AArch64::UABDLv8i16_v4i32:
23029 case AArch64::UABDLv8i8_v8i16:
23030 case AArch64::UABDv16i8:
23031 case AArch64::UABDv2i32:
23032 case AArch64::UABDv4i16:
23033 case AArch64::UABDv4i32:
23034 case AArch64::UABDv8i16:
23035 case AArch64::UABDv8i8:
23036 case AArch64::UADDLv16i8_v8i16:
23037 case AArch64::UADDLv2i32_v2i64:
23038 case AArch64::UADDLv4i16_v4i32:
23039 case AArch64::UADDLv4i32_v2i64:
23040 case AArch64::UADDLv8i16_v4i32:
23041 case AArch64::UADDLv8i8_v8i16:
23042 case AArch64::UADDWv16i8_v8i16:
23043 case AArch64::UADDWv2i32_v2i64:
23044 case AArch64::UADDWv4i16_v4i32:
23045 case AArch64::UADDWv4i32_v2i64:
23046 case AArch64::UADDWv8i16_v4i32:
23047 case AArch64::UADDWv8i8_v8i16:
23048 case AArch64::UDIVWr:
23049 case AArch64::UDIVXr:
23050 case AArch64::UHADDv16i8:
23051 case AArch64::UHADDv2i32:
23052 case AArch64::UHADDv4i16:
23053 case AArch64::UHADDv4i32:
23054 case AArch64::UHADDv8i16:
23055 case AArch64::UHADDv8i8:
23056 case AArch64::UHSUBv16i8:
23057 case AArch64::UHSUBv2i32:
23058 case AArch64::UHSUBv4i16:
23059 case AArch64::UHSUBv4i32:
23060 case AArch64::UHSUBv8i16:
23061 case AArch64::UHSUBv8i8:
23062 case AArch64::UMAXPv16i8:
23063 case AArch64::UMAXPv2i32:
23064 case AArch64::UMAXPv4i16:
23065 case AArch64::UMAXPv4i32:
23066 case AArch64::UMAXPv8i16:
23067 case AArch64::UMAXPv8i8:
23068 case AArch64::UMAXWrr:
23069 case AArch64::UMAXXrr:
23070 case AArch64::UMAXv16i8:
23071 case AArch64::UMAXv2i32:
23072 case AArch64::UMAXv4i16:
23073 case AArch64::UMAXv4i32:
23074 case AArch64::UMAXv8i16:
23075 case AArch64::UMAXv8i8:
23076 case AArch64::UMINPv16i8:
23077 case AArch64::UMINPv2i32:
23078 case AArch64::UMINPv4i16:
23079 case AArch64::UMINPv4i32:
23080 case AArch64::UMINPv8i16:
23081 case AArch64::UMINPv8i8:
23082 case AArch64::UMINWrr:
23083 case AArch64::UMINXrr:
23084 case AArch64::UMINv16i8:
23085 case AArch64::UMINv2i32:
23086 case AArch64::UMINv4i16:
23087 case AArch64::UMINv4i32:
23088 case AArch64::UMINv8i16:
23089 case AArch64::UMINv8i8:
23090 case AArch64::UMULHrr:
23091 case AArch64::UMULLv16i8_v8i16:
23092 case AArch64::UMULLv2i32_v2i64:
23093 case AArch64::UMULLv4i16_v4i32:
23094 case AArch64::UMULLv4i32_v2i64:
23095 case AArch64::UMULLv8i16_v4i32:
23096 case AArch64::UMULLv8i8_v8i16:
23097 case AArch64::UQADDv16i8:
23098 case AArch64::UQADDv1i16:
23099 case AArch64::UQADDv1i32:
23100 case AArch64::UQADDv1i64:
23101 case AArch64::UQADDv1i8:
23102 case AArch64::UQADDv2i32:
23103 case AArch64::UQADDv2i64:
23104 case AArch64::UQADDv4i16:
23105 case AArch64::UQADDv4i32:
23106 case AArch64::UQADDv8i16:
23107 case AArch64::UQADDv8i8:
23108 case AArch64::UQRSHLv16i8:
23109 case AArch64::UQRSHLv1i16:
23110 case AArch64::UQRSHLv1i32:
23111 case AArch64::UQRSHLv1i64:
23112 case AArch64::UQRSHLv1i8:
23113 case AArch64::UQRSHLv2i32:
23114 case AArch64::UQRSHLv2i64:
23115 case AArch64::UQRSHLv4i16:
23116 case AArch64::UQRSHLv4i32:
23117 case AArch64::UQRSHLv8i16:
23118 case AArch64::UQRSHLv8i8:
23119 case AArch64::UQSHLv16i8:
23120 case AArch64::UQSHLv1i16:
23121 case AArch64::UQSHLv1i32:
23122 case AArch64::UQSHLv1i64:
23123 case AArch64::UQSHLv1i8:
23124 case AArch64::UQSHLv2i32:
23125 case AArch64::UQSHLv2i64:
23126 case AArch64::UQSHLv4i16:
23127 case AArch64::UQSHLv4i32:
23128 case AArch64::UQSHLv8i16:
23129 case AArch64::UQSHLv8i8:
23130 case AArch64::UQSUBv16i8:
23131 case AArch64::UQSUBv1i16:
23132 case AArch64::UQSUBv1i32:
23133 case AArch64::UQSUBv1i64:
23134 case AArch64::UQSUBv1i8:
23135 case AArch64::UQSUBv2i32:
23136 case AArch64::UQSUBv2i64:
23137 case AArch64::UQSUBv4i16:
23138 case AArch64::UQSUBv4i32:
23139 case AArch64::UQSUBv8i16:
23140 case AArch64::UQSUBv8i8:
23141 case AArch64::URHADDv16i8:
23142 case AArch64::URHADDv2i32:
23143 case AArch64::URHADDv4i16:
23144 case AArch64::URHADDv4i32:
23145 case AArch64::URHADDv8i16:
23146 case AArch64::URHADDv8i8:
23147 case AArch64::URSHLv16i8:
23148 case AArch64::URSHLv1i64:
23149 case AArch64::URSHLv2i32:
23150 case AArch64::URSHLv2i64:
23151 case AArch64::URSHLv4i16:
23152 case AArch64::URSHLv4i32:
23153 case AArch64::URSHLv8i16:
23154 case AArch64::URSHLv8i8:
23155 case AArch64::USHLv16i8:
23156 case AArch64::USHLv1i64:
23157 case AArch64::USHLv2i32:
23158 case AArch64::USHLv2i64:
23159 case AArch64::USHLv4i16:
23160 case AArch64::USHLv4i32:
23161 case AArch64::USHLv8i16:
23162 case AArch64::USHLv8i8:
23163 case AArch64::USUBLv16i8_v8i16:
23164 case AArch64::USUBLv2i32_v2i64:
23165 case AArch64::USUBLv4i16_v4i32:
23166 case AArch64::USUBLv4i32_v2i64:
23167 case AArch64::USUBLv8i16_v4i32:
23168 case AArch64::USUBLv8i8_v8i16:
23169 case AArch64::USUBWv16i8_v8i16:
23170 case AArch64::USUBWv2i32_v2i64:
23171 case AArch64::USUBWv4i16_v4i32:
23172 case AArch64::USUBWv4i32_v2i64:
23173 case AArch64::USUBWv8i16_v4i32:
23174 case AArch64::USUBWv8i8_v8i16:
23175 case AArch64::UZP1v16i8:
23176 case AArch64::UZP1v2i32:
23177 case AArch64::UZP1v2i64:
23178 case AArch64::UZP1v4i16:
23179 case AArch64::UZP1v4i32:
23180 case AArch64::UZP1v8i16:
23181 case AArch64::UZP1v8i8:
23182 case AArch64::UZP2v16i8:
23183 case AArch64::UZP2v2i32:
23184 case AArch64::UZP2v2i64:
23185 case AArch64::UZP2v4i16:
23186 case AArch64::UZP2v4i32:
23187 case AArch64::UZP2v8i16:
23188 case AArch64::UZP2v8i8:
23189 case AArch64::ZIP1v16i8:
23190 case AArch64::ZIP1v2i32:
23191 case AArch64::ZIP1v2i64:
23192 case AArch64::ZIP1v4i16:
23193 case AArch64::ZIP1v4i32:
23194 case AArch64::ZIP1v8i16:
23195 case AArch64::ZIP1v8i8:
23196 case AArch64::ZIP2v16i8:
23197 case AArch64::ZIP2v2i32:
23198 case AArch64::ZIP2v2i64:
23199 case AArch64::ZIP2v4i16:
23200 case AArch64::ZIP2v4i32:
23201 case AArch64::ZIP2v8i16:
23202 case AArch64::ZIP2v8i8: {
23203 switch (OpNum) {
23204 case 0:
23205 // op: Rd
23206 return 0;
23207 case 1:
23208 // op: Rn
23209 return 5;
23210 case 2:
23211 // op: Rm
23212 return 16;
23213 }
23214 break;
23215 }
23216 case AArch64::DUPv16i8lane:
23217 case AArch64::DUPv8i8lane:
23218 case AArch64::SMOVvi8to32:
23219 case AArch64::SMOVvi8to64:
23220 case AArch64::UMOVvi8: {
23221 switch (OpNum) {
23222 case 0:
23223 // op: Rd
23224 return 0;
23225 case 1:
23226 // op: Rn
23227 return 5;
23228 case 2:
23229 // op: idx
23230 return 17;
23231 }
23232 break;
23233 }
23234 case AArch64::DUPv4i16lane:
23235 case AArch64::DUPv8i16lane:
23236 case AArch64::SMOVvi16to32:
23237 case AArch64::SMOVvi16to64:
23238 case AArch64::UMOVvi16: {
23239 switch (OpNum) {
23240 case 0:
23241 // op: Rd
23242 return 0;
23243 case 1:
23244 // op: Rn
23245 return 5;
23246 case 2:
23247 // op: idx
23248 return 18;
23249 }
23250 break;
23251 }
23252 case AArch64::DUPv2i32lane:
23253 case AArch64::DUPv4i32lane:
23254 case AArch64::SMOVvi32to64:
23255 case AArch64::UMOVvi32: {
23256 switch (OpNum) {
23257 case 0:
23258 // op: Rd
23259 return 0;
23260 case 1:
23261 // op: Rn
23262 return 5;
23263 case 2:
23264 // op: idx
23265 return 19;
23266 }
23267 break;
23268 }
23269 case AArch64::DUPv2i64lane:
23270 case AArch64::UMOVvi64: {
23271 switch (OpNum) {
23272 case 0:
23273 // op: Rd
23274 return 0;
23275 case 1:
23276 // op: Rn
23277 return 5;
23278 case 2:
23279 // op: idx
23280 return 20;
23281 }
23282 break;
23283 }
23284 case AArch64::ADDSWri:
23285 case AArch64::ADDSXri:
23286 case AArch64::ADDWri:
23287 case AArch64::ADDXri:
23288 case AArch64::ANDSWri:
23289 case AArch64::ANDSXri:
23290 case AArch64::ANDWri:
23291 case AArch64::ANDXri:
23292 case AArch64::EORWri:
23293 case AArch64::EORXri:
23294 case AArch64::ORRWri:
23295 case AArch64::ORRXri:
23296 case AArch64::SMAXWri:
23297 case AArch64::SMAXXri:
23298 case AArch64::SMINWri:
23299 case AArch64::SMINXri:
23300 case AArch64::SUBSWri:
23301 case AArch64::SUBSXri:
23302 case AArch64::SUBWri:
23303 case AArch64::SUBXri:
23304 case AArch64::UMAXWri:
23305 case AArch64::UMAXXri:
23306 case AArch64::UMINWri:
23307 case AArch64::UMINXri: {
23308 switch (OpNum) {
23309 case 0:
23310 // op: Rd
23311 return 0;
23312 case 1:
23313 // op: Rn
23314 return 5;
23315 case 2:
23316 // op: imm
23317 return 10;
23318 }
23319 break;
23320 }
23321 case AArch64::FCVTZSd:
23322 case AArch64::FCVTZSh:
23323 case AArch64::FCVTZSs:
23324 case AArch64::FCVTZSv2i32_shift:
23325 case AArch64::FCVTZSv2i64_shift:
23326 case AArch64::FCVTZSv4i16_shift:
23327 case AArch64::FCVTZSv4i32_shift:
23328 case AArch64::FCVTZSv8i16_shift:
23329 case AArch64::FCVTZUd:
23330 case AArch64::FCVTZUh:
23331 case AArch64::FCVTZUs:
23332 case AArch64::FCVTZUv2i32_shift:
23333 case AArch64::FCVTZUv2i64_shift:
23334 case AArch64::FCVTZUv4i16_shift:
23335 case AArch64::FCVTZUv4i32_shift:
23336 case AArch64::FCVTZUv8i16_shift:
23337 case AArch64::RSHRNv2i32_shift:
23338 case AArch64::RSHRNv4i16_shift:
23339 case AArch64::RSHRNv8i8_shift:
23340 case AArch64::SCVTFd:
23341 case AArch64::SCVTFh:
23342 case AArch64::SCVTFs:
23343 case AArch64::SCVTFv2i32_shift:
23344 case AArch64::SCVTFv2i64_shift:
23345 case AArch64::SCVTFv4i16_shift:
23346 case AArch64::SCVTFv4i32_shift:
23347 case AArch64::SCVTFv8i16_shift:
23348 case AArch64::SHLd:
23349 case AArch64::SHLv16i8_shift:
23350 case AArch64::SHLv2i32_shift:
23351 case AArch64::SHLv2i64_shift:
23352 case AArch64::SHLv4i16_shift:
23353 case AArch64::SHLv4i32_shift:
23354 case AArch64::SHLv8i16_shift:
23355 case AArch64::SHLv8i8_shift:
23356 case AArch64::SHRNv2i32_shift:
23357 case AArch64::SHRNv4i16_shift:
23358 case AArch64::SHRNv8i8_shift:
23359 case AArch64::SQRSHRNb:
23360 case AArch64::SQRSHRNh:
23361 case AArch64::SQRSHRNs:
23362 case AArch64::SQRSHRNv2i32_shift:
23363 case AArch64::SQRSHRNv4i16_shift:
23364 case AArch64::SQRSHRNv8i8_shift:
23365 case AArch64::SQRSHRUNb:
23366 case AArch64::SQRSHRUNh:
23367 case AArch64::SQRSHRUNs:
23368 case AArch64::SQRSHRUNv2i32_shift:
23369 case AArch64::SQRSHRUNv4i16_shift:
23370 case AArch64::SQRSHRUNv8i8_shift:
23371 case AArch64::SQSHLUb:
23372 case AArch64::SQSHLUd:
23373 case AArch64::SQSHLUh:
23374 case AArch64::SQSHLUs:
23375 case AArch64::SQSHLUv16i8_shift:
23376 case AArch64::SQSHLUv2i32_shift:
23377 case AArch64::SQSHLUv2i64_shift:
23378 case AArch64::SQSHLUv4i16_shift:
23379 case AArch64::SQSHLUv4i32_shift:
23380 case AArch64::SQSHLUv8i16_shift:
23381 case AArch64::SQSHLUv8i8_shift:
23382 case AArch64::SQSHLb:
23383 case AArch64::SQSHLd:
23384 case AArch64::SQSHLh:
23385 case AArch64::SQSHLs:
23386 case AArch64::SQSHLv16i8_shift:
23387 case AArch64::SQSHLv2i32_shift:
23388 case AArch64::SQSHLv2i64_shift:
23389 case AArch64::SQSHLv4i16_shift:
23390 case AArch64::SQSHLv4i32_shift:
23391 case AArch64::SQSHLv8i16_shift:
23392 case AArch64::SQSHLv8i8_shift:
23393 case AArch64::SQSHRNb:
23394 case AArch64::SQSHRNh:
23395 case AArch64::SQSHRNs:
23396 case AArch64::SQSHRNv2i32_shift:
23397 case AArch64::SQSHRNv4i16_shift:
23398 case AArch64::SQSHRNv8i8_shift:
23399 case AArch64::SQSHRUNb:
23400 case AArch64::SQSHRUNh:
23401 case AArch64::SQSHRUNs:
23402 case AArch64::SQSHRUNv2i32_shift:
23403 case AArch64::SQSHRUNv4i16_shift:
23404 case AArch64::SQSHRUNv8i8_shift:
23405 case AArch64::SRSHRd:
23406 case AArch64::SRSHRv16i8_shift:
23407 case AArch64::SRSHRv2i32_shift:
23408 case AArch64::SRSHRv2i64_shift:
23409 case AArch64::SRSHRv4i16_shift:
23410 case AArch64::SRSHRv4i32_shift:
23411 case AArch64::SRSHRv8i16_shift:
23412 case AArch64::SRSHRv8i8_shift:
23413 case AArch64::SSHLLv16i8_shift:
23414 case AArch64::SSHLLv2i32_shift:
23415 case AArch64::SSHLLv4i16_shift:
23416 case AArch64::SSHLLv4i32_shift:
23417 case AArch64::SSHLLv8i16_shift:
23418 case AArch64::SSHLLv8i8_shift:
23419 case AArch64::SSHRd:
23420 case AArch64::SSHRv16i8_shift:
23421 case AArch64::SSHRv2i32_shift:
23422 case AArch64::SSHRv2i64_shift:
23423 case AArch64::SSHRv4i16_shift:
23424 case AArch64::SSHRv4i32_shift:
23425 case AArch64::SSHRv8i16_shift:
23426 case AArch64::SSHRv8i8_shift:
23427 case AArch64::UCVTFd:
23428 case AArch64::UCVTFh:
23429 case AArch64::UCVTFs:
23430 case AArch64::UCVTFv2i32_shift:
23431 case AArch64::UCVTFv2i64_shift:
23432 case AArch64::UCVTFv4i16_shift:
23433 case AArch64::UCVTFv4i32_shift:
23434 case AArch64::UCVTFv8i16_shift:
23435 case AArch64::UQRSHRNb:
23436 case AArch64::UQRSHRNh:
23437 case AArch64::UQRSHRNs:
23438 case AArch64::UQRSHRNv2i32_shift:
23439 case AArch64::UQRSHRNv4i16_shift:
23440 case AArch64::UQRSHRNv8i8_shift:
23441 case AArch64::UQSHLb:
23442 case AArch64::UQSHLd:
23443 case AArch64::UQSHLh:
23444 case AArch64::UQSHLs:
23445 case AArch64::UQSHLv16i8_shift:
23446 case AArch64::UQSHLv2i32_shift:
23447 case AArch64::UQSHLv2i64_shift:
23448 case AArch64::UQSHLv4i16_shift:
23449 case AArch64::UQSHLv4i32_shift:
23450 case AArch64::UQSHLv8i16_shift:
23451 case AArch64::UQSHLv8i8_shift:
23452 case AArch64::UQSHRNb:
23453 case AArch64::UQSHRNh:
23454 case AArch64::UQSHRNs:
23455 case AArch64::UQSHRNv2i32_shift:
23456 case AArch64::UQSHRNv4i16_shift:
23457 case AArch64::UQSHRNv8i8_shift:
23458 case AArch64::URSHRd:
23459 case AArch64::URSHRv16i8_shift:
23460 case AArch64::URSHRv2i32_shift:
23461 case AArch64::URSHRv2i64_shift:
23462 case AArch64::URSHRv4i16_shift:
23463 case AArch64::URSHRv4i32_shift:
23464 case AArch64::URSHRv8i16_shift:
23465 case AArch64::URSHRv8i8_shift:
23466 case AArch64::USHLLv16i8_shift:
23467 case AArch64::USHLLv2i32_shift:
23468 case AArch64::USHLLv4i16_shift:
23469 case AArch64::USHLLv4i32_shift:
23470 case AArch64::USHLLv8i16_shift:
23471 case AArch64::USHLLv8i8_shift:
23472 case AArch64::USHRd:
23473 case AArch64::USHRv16i8_shift:
23474 case AArch64::USHRv2i32_shift:
23475 case AArch64::USHRv2i64_shift:
23476 case AArch64::USHRv4i16_shift:
23477 case AArch64::USHRv4i32_shift:
23478 case AArch64::USHRv8i16_shift:
23479 case AArch64::USHRv8i8_shift: {
23480 switch (OpNum) {
23481 case 0:
23482 // op: Rd
23483 return 0;
23484 case 1:
23485 // op: Rn
23486 return 5;
23487 case 2:
23488 // op: imm
23489 return 16;
23490 }
23491 break;
23492 }
23493 case AArch64::ADDG:
23494 case AArch64::SUBG: {
23495 switch (OpNum) {
23496 case 0:
23497 // op: Rd
23498 return 0;
23499 case 1:
23500 // op: Rn
23501 return 5;
23502 case 2:
23503 // op: imm6
23504 return 16;
23505 case 3:
23506 // op: imm4
23507 return 10;
23508 }
23509 break;
23510 }
23511 case AArch64::SBFMWri:
23512 case AArch64::SBFMXri:
23513 case AArch64::UBFMWri:
23514 case AArch64::UBFMXri: {
23515 switch (OpNum) {
23516 case 0:
23517 // op: Rd
23518 return 0;
23519 case 1:
23520 // op: Rn
23521 return 5;
23522 case 2:
23523 // op: immr
23524 return 16;
23525 case 3:
23526 // op: imms
23527 return 10;
23528 }
23529 break;
23530 }
23531 case AArch64::FCVTZSSWDri:
23532 case AArch64::FCVTZSSWHri:
23533 case AArch64::FCVTZSSWSri:
23534 case AArch64::FCVTZSSXDri:
23535 case AArch64::FCVTZSSXHri:
23536 case AArch64::FCVTZSSXSri:
23537 case AArch64::FCVTZUSWDri:
23538 case AArch64::FCVTZUSWHri:
23539 case AArch64::FCVTZUSWSri:
23540 case AArch64::FCVTZUSXDri:
23541 case AArch64::FCVTZUSXHri:
23542 case AArch64::FCVTZUSXSri:
23543 case AArch64::SCVTFSWDri:
23544 case AArch64::SCVTFSWHri:
23545 case AArch64::SCVTFSWSri:
23546 case AArch64::SCVTFSXDri:
23547 case AArch64::SCVTFSXHri:
23548 case AArch64::SCVTFSXSri:
23549 case AArch64::UCVTFSWDri:
23550 case AArch64::UCVTFSWHri:
23551 case AArch64::UCVTFSWSri:
23552 case AArch64::UCVTFSXDri:
23553 case AArch64::UCVTFSXHri:
23554 case AArch64::UCVTFSXSri: {
23555 switch (OpNum) {
23556 case 0:
23557 // op: Rd
23558 return 0;
23559 case 1:
23560 // op: Rn
23561 return 5;
23562 case 2:
23563 // op: scale
23564 return 10;
23565 }
23566 break;
23567 }
23568 case AArch64::ABSWr:
23569 case AArch64::ABSXr:
23570 case AArch64::ABSv16i8:
23571 case AArch64::ABSv1i64:
23572 case AArch64::ABSv2i32:
23573 case AArch64::ABSv2i64:
23574 case AArch64::ABSv4i16:
23575 case AArch64::ABSv4i32:
23576 case AArch64::ABSv8i16:
23577 case AArch64::ABSv8i8:
23578 case AArch64::ADDPv2i64p:
23579 case AArch64::ADDVv16i8v:
23580 case AArch64::ADDVv4i16v:
23581 case AArch64::ADDVv4i32v:
23582 case AArch64::ADDVv8i16v:
23583 case AArch64::ADDVv8i8v:
23584 case AArch64::AESIMCrr:
23585 case AArch64::AESMCrr:
23586 case AArch64::BF1CVTL:
23587 case AArch64::BF1CVTL2:
23588 case AArch64::BF2CVTL:
23589 case AArch64::BF2CVTL2:
23590 case AArch64::BFCVT:
23591 case AArch64::BFCVTN:
23592 case AArch64::CLSWr:
23593 case AArch64::CLSXr:
23594 case AArch64::CLSv16i8:
23595 case AArch64::CLSv2i32:
23596 case AArch64::CLSv4i16:
23597 case AArch64::CLSv4i32:
23598 case AArch64::CLSv8i16:
23599 case AArch64::CLSv8i8:
23600 case AArch64::CLZWr:
23601 case AArch64::CLZXr:
23602 case AArch64::CLZv16i8:
23603 case AArch64::CLZv2i32:
23604 case AArch64::CLZv4i16:
23605 case AArch64::CLZv4i32:
23606 case AArch64::CLZv8i16:
23607 case AArch64::CLZv8i8:
23608 case AArch64::CMEQv16i8rz:
23609 case AArch64::CMEQv1i64rz:
23610 case AArch64::CMEQv2i32rz:
23611 case AArch64::CMEQv2i64rz:
23612 case AArch64::CMEQv4i16rz:
23613 case AArch64::CMEQv4i32rz:
23614 case AArch64::CMEQv8i16rz:
23615 case AArch64::CMEQv8i8rz:
23616 case AArch64::CMGEv16i8rz:
23617 case AArch64::CMGEv1i64rz:
23618 case AArch64::CMGEv2i32rz:
23619 case AArch64::CMGEv2i64rz:
23620 case AArch64::CMGEv4i16rz:
23621 case AArch64::CMGEv4i32rz:
23622 case AArch64::CMGEv8i16rz:
23623 case AArch64::CMGEv8i8rz:
23624 case AArch64::CMGTv16i8rz:
23625 case AArch64::CMGTv1i64rz:
23626 case AArch64::CMGTv2i32rz:
23627 case AArch64::CMGTv2i64rz:
23628 case AArch64::CMGTv4i16rz:
23629 case AArch64::CMGTv4i32rz:
23630 case AArch64::CMGTv8i16rz:
23631 case AArch64::CMGTv8i8rz:
23632 case AArch64::CMLEv16i8rz:
23633 case AArch64::CMLEv1i64rz:
23634 case AArch64::CMLEv2i32rz:
23635 case AArch64::CMLEv2i64rz:
23636 case AArch64::CMLEv4i16rz:
23637 case AArch64::CMLEv4i32rz:
23638 case AArch64::CMLEv8i16rz:
23639 case AArch64::CMLEv8i8rz:
23640 case AArch64::CMLTv16i8rz:
23641 case AArch64::CMLTv1i64rz:
23642 case AArch64::CMLTv2i32rz:
23643 case AArch64::CMLTv2i64rz:
23644 case AArch64::CMLTv4i16rz:
23645 case AArch64::CMLTv4i32rz:
23646 case AArch64::CMLTv8i16rz:
23647 case AArch64::CMLTv8i8rz:
23648 case AArch64::CNTWr:
23649 case AArch64::CNTXr:
23650 case AArch64::CNTv16i8:
23651 case AArch64::CNTv8i8:
23652 case AArch64::CTZWr:
23653 case AArch64::CTZXr:
23654 case AArch64::DUPv16i8gpr:
23655 case AArch64::DUPv2i32gpr:
23656 case AArch64::DUPv2i64gpr:
23657 case AArch64::DUPv4i16gpr:
23658 case AArch64::DUPv4i32gpr:
23659 case AArch64::DUPv8i16gpr:
23660 case AArch64::DUPv8i8gpr:
23661 case AArch64::F1CVTL:
23662 case AArch64::F1CVTL2:
23663 case AArch64::F2CVTL:
23664 case AArch64::F2CVTL2:
23665 case AArch64::FABSDr:
23666 case AArch64::FABSHr:
23667 case AArch64::FABSSr:
23668 case AArch64::FABSv2f32:
23669 case AArch64::FABSv2f64:
23670 case AArch64::FABSv4f16:
23671 case AArch64::FABSv4f32:
23672 case AArch64::FABSv8f16:
23673 case AArch64::FADDPv2i16p:
23674 case AArch64::FADDPv2i32p:
23675 case AArch64::FADDPv2i64p:
23676 case AArch64::FCMEQv1i16rz:
23677 case AArch64::FCMEQv1i32rz:
23678 case AArch64::FCMEQv1i64rz:
23679 case AArch64::FCMEQv2i32rz:
23680 case AArch64::FCMEQv2i64rz:
23681 case AArch64::FCMEQv4i16rz:
23682 case AArch64::FCMEQv4i32rz:
23683 case AArch64::FCMEQv8i16rz:
23684 case AArch64::FCMGEv1i16rz:
23685 case AArch64::FCMGEv1i32rz:
23686 case AArch64::FCMGEv1i64rz:
23687 case AArch64::FCMGEv2i32rz:
23688 case AArch64::FCMGEv2i64rz:
23689 case AArch64::FCMGEv4i16rz:
23690 case AArch64::FCMGEv4i32rz:
23691 case AArch64::FCMGEv8i16rz:
23692 case AArch64::FCMGTv1i16rz:
23693 case AArch64::FCMGTv1i32rz:
23694 case AArch64::FCMGTv1i64rz:
23695 case AArch64::FCMGTv2i32rz:
23696 case AArch64::FCMGTv2i64rz:
23697 case AArch64::FCMGTv4i16rz:
23698 case AArch64::FCMGTv4i32rz:
23699 case AArch64::FCMGTv8i16rz:
23700 case AArch64::FCMLEv1i16rz:
23701 case AArch64::FCMLEv1i32rz:
23702 case AArch64::FCMLEv1i64rz:
23703 case AArch64::FCMLEv2i32rz:
23704 case AArch64::FCMLEv2i64rz:
23705 case AArch64::FCMLEv4i16rz:
23706 case AArch64::FCMLEv4i32rz:
23707 case AArch64::FCMLEv8i16rz:
23708 case AArch64::FCMLTv1i16rz:
23709 case AArch64::FCMLTv1i32rz:
23710 case AArch64::FCMLTv1i64rz:
23711 case AArch64::FCMLTv2i32rz:
23712 case AArch64::FCMLTv2i64rz:
23713 case AArch64::FCMLTv4i16rz:
23714 case AArch64::FCMLTv4i32rz:
23715 case AArch64::FCMLTv8i16rz:
23716 case AArch64::FCVTASDHr:
23717 case AArch64::FCVTASDSr:
23718 case AArch64::FCVTASSDr:
23719 case AArch64::FCVTASSHr:
23720 case AArch64::FCVTASUWDr:
23721 case AArch64::FCVTASUWHr:
23722 case AArch64::FCVTASUWSr:
23723 case AArch64::FCVTASUXDr:
23724 case AArch64::FCVTASUXHr:
23725 case AArch64::FCVTASUXSr:
23726 case AArch64::FCVTASv1f16:
23727 case AArch64::FCVTASv1i32:
23728 case AArch64::FCVTASv1i64:
23729 case AArch64::FCVTASv2f32:
23730 case AArch64::FCVTASv2f64:
23731 case AArch64::FCVTASv4f16:
23732 case AArch64::FCVTASv4f32:
23733 case AArch64::FCVTASv8f16:
23734 case AArch64::FCVTAUDHr:
23735 case AArch64::FCVTAUDSr:
23736 case AArch64::FCVTAUSDr:
23737 case AArch64::FCVTAUSHr:
23738 case AArch64::FCVTAUUWDr:
23739 case AArch64::FCVTAUUWHr:
23740 case AArch64::FCVTAUUWSr:
23741 case AArch64::FCVTAUUXDr:
23742 case AArch64::FCVTAUUXHr:
23743 case AArch64::FCVTAUUXSr:
23744 case AArch64::FCVTAUv1f16:
23745 case AArch64::FCVTAUv1i32:
23746 case AArch64::FCVTAUv1i64:
23747 case AArch64::FCVTAUv2f32:
23748 case AArch64::FCVTAUv2f64:
23749 case AArch64::FCVTAUv4f16:
23750 case AArch64::FCVTAUv4f32:
23751 case AArch64::FCVTAUv8f16:
23752 case AArch64::FCVTDHr:
23753 case AArch64::FCVTDSr:
23754 case AArch64::FCVTHDr:
23755 case AArch64::FCVTHSr:
23756 case AArch64::FCVTLv2i32:
23757 case AArch64::FCVTLv4i16:
23758 case AArch64::FCVTLv4i32:
23759 case AArch64::FCVTLv8i16:
23760 case AArch64::FCVTMSDHr:
23761 case AArch64::FCVTMSDSr:
23762 case AArch64::FCVTMSSDr:
23763 case AArch64::FCVTMSSHr:
23764 case AArch64::FCVTMSUWDr:
23765 case AArch64::FCVTMSUWHr:
23766 case AArch64::FCVTMSUWSr:
23767 case AArch64::FCVTMSUXDr:
23768 case AArch64::FCVTMSUXHr:
23769 case AArch64::FCVTMSUXSr:
23770 case AArch64::FCVTMSv1f16:
23771 case AArch64::FCVTMSv1i32:
23772 case AArch64::FCVTMSv1i64:
23773 case AArch64::FCVTMSv2f32:
23774 case AArch64::FCVTMSv2f64:
23775 case AArch64::FCVTMSv4f16:
23776 case AArch64::FCVTMSv4f32:
23777 case AArch64::FCVTMSv8f16:
23778 case AArch64::FCVTMUDHr:
23779 case AArch64::FCVTMUDSr:
23780 case AArch64::FCVTMUSDr:
23781 case AArch64::FCVTMUSHr:
23782 case AArch64::FCVTMUUWDr:
23783 case AArch64::FCVTMUUWHr:
23784 case AArch64::FCVTMUUWSr:
23785 case AArch64::FCVTMUUXDr:
23786 case AArch64::FCVTMUUXHr:
23787 case AArch64::FCVTMUUXSr:
23788 case AArch64::FCVTMUv1f16:
23789 case AArch64::FCVTMUv1i32:
23790 case AArch64::FCVTMUv1i64:
23791 case AArch64::FCVTMUv2f32:
23792 case AArch64::FCVTMUv2f64:
23793 case AArch64::FCVTMUv4f16:
23794 case AArch64::FCVTMUv4f32:
23795 case AArch64::FCVTMUv8f16:
23796 case AArch64::FCVTNSDHr:
23797 case AArch64::FCVTNSDSr:
23798 case AArch64::FCVTNSSDr:
23799 case AArch64::FCVTNSSHr:
23800 case AArch64::FCVTNSUWDr:
23801 case AArch64::FCVTNSUWHr:
23802 case AArch64::FCVTNSUWSr:
23803 case AArch64::FCVTNSUXDr:
23804 case AArch64::FCVTNSUXHr:
23805 case AArch64::FCVTNSUXSr:
23806 case AArch64::FCVTNSv1f16:
23807 case AArch64::FCVTNSv1i32:
23808 case AArch64::FCVTNSv1i64:
23809 case AArch64::FCVTNSv2f32:
23810 case AArch64::FCVTNSv2f64:
23811 case AArch64::FCVTNSv4f16:
23812 case AArch64::FCVTNSv4f32:
23813 case AArch64::FCVTNSv8f16:
23814 case AArch64::FCVTNUDHr:
23815 case AArch64::FCVTNUDSr:
23816 case AArch64::FCVTNUSDr:
23817 case AArch64::FCVTNUSHr:
23818 case AArch64::FCVTNUUWDr:
23819 case AArch64::FCVTNUUWHr:
23820 case AArch64::FCVTNUUWSr:
23821 case AArch64::FCVTNUUXDr:
23822 case AArch64::FCVTNUUXHr:
23823 case AArch64::FCVTNUUXSr:
23824 case AArch64::FCVTNUv1f16:
23825 case AArch64::FCVTNUv1i32:
23826 case AArch64::FCVTNUv1i64:
23827 case AArch64::FCVTNUv2f32:
23828 case AArch64::FCVTNUv2f64:
23829 case AArch64::FCVTNUv4f16:
23830 case AArch64::FCVTNUv4f32:
23831 case AArch64::FCVTNUv8f16:
23832 case AArch64::FCVTNv2i32:
23833 case AArch64::FCVTNv4i16:
23834 case AArch64::FCVTPSDHr:
23835 case AArch64::FCVTPSDSr:
23836 case AArch64::FCVTPSSDr:
23837 case AArch64::FCVTPSSHr:
23838 case AArch64::FCVTPSUWDr:
23839 case AArch64::FCVTPSUWHr:
23840 case AArch64::FCVTPSUWSr:
23841 case AArch64::FCVTPSUXDr:
23842 case AArch64::FCVTPSUXHr:
23843 case AArch64::FCVTPSUXSr:
23844 case AArch64::FCVTPSv1f16:
23845 case AArch64::FCVTPSv1i32:
23846 case AArch64::FCVTPSv1i64:
23847 case AArch64::FCVTPSv2f32:
23848 case AArch64::FCVTPSv2f64:
23849 case AArch64::FCVTPSv4f16:
23850 case AArch64::FCVTPSv4f32:
23851 case AArch64::FCVTPSv8f16:
23852 case AArch64::FCVTPUDHr:
23853 case AArch64::FCVTPUDSr:
23854 case AArch64::FCVTPUSDr:
23855 case AArch64::FCVTPUSHr:
23856 case AArch64::FCVTPUUWDr:
23857 case AArch64::FCVTPUUWHr:
23858 case AArch64::FCVTPUUWSr:
23859 case AArch64::FCVTPUUXDr:
23860 case AArch64::FCVTPUUXHr:
23861 case AArch64::FCVTPUUXSr:
23862 case AArch64::FCVTPUv1f16:
23863 case AArch64::FCVTPUv1i32:
23864 case AArch64::FCVTPUv1i64:
23865 case AArch64::FCVTPUv2f32:
23866 case AArch64::FCVTPUv2f64:
23867 case AArch64::FCVTPUv4f16:
23868 case AArch64::FCVTPUv4f32:
23869 case AArch64::FCVTPUv8f16:
23870 case AArch64::FCVTSDr:
23871 case AArch64::FCVTSHr:
23872 case AArch64::FCVTXNv1i64:
23873 case AArch64::FCVTXNv2f32:
23874 case AArch64::FCVTZSDHr:
23875 case AArch64::FCVTZSDSr:
23876 case AArch64::FCVTZSSDr:
23877 case AArch64::FCVTZSSHr:
23878 case AArch64::FCVTZSUWDr:
23879 case AArch64::FCVTZSUWHr:
23880 case AArch64::FCVTZSUWSr:
23881 case AArch64::FCVTZSUXDr:
23882 case AArch64::FCVTZSUXHr:
23883 case AArch64::FCVTZSUXSr:
23884 case AArch64::FCVTZSv1f16:
23885 case AArch64::FCVTZSv1i32:
23886 case AArch64::FCVTZSv1i64:
23887 case AArch64::FCVTZSv2f32:
23888 case AArch64::FCVTZSv2f64:
23889 case AArch64::FCVTZSv4f16:
23890 case AArch64::FCVTZSv4f32:
23891 case AArch64::FCVTZSv8f16:
23892 case AArch64::FCVTZUDHr:
23893 case AArch64::FCVTZUDSr:
23894 case AArch64::FCVTZUSDr:
23895 case AArch64::FCVTZUSHr:
23896 case AArch64::FCVTZUUWDr:
23897 case AArch64::FCVTZUUWHr:
23898 case AArch64::FCVTZUUWSr:
23899 case AArch64::FCVTZUUXDr:
23900 case AArch64::FCVTZUUXHr:
23901 case AArch64::FCVTZUUXSr:
23902 case AArch64::FCVTZUv1f16:
23903 case AArch64::FCVTZUv1i32:
23904 case AArch64::FCVTZUv1i64:
23905 case AArch64::FCVTZUv2f32:
23906 case AArch64::FCVTZUv2f64:
23907 case AArch64::FCVTZUv4f16:
23908 case AArch64::FCVTZUv4f32:
23909 case AArch64::FCVTZUv8f16:
23910 case AArch64::FJCVTZS:
23911 case AArch64::FMAXNMPv2i16p:
23912 case AArch64::FMAXNMPv2i32p:
23913 case AArch64::FMAXNMPv2i64p:
23914 case AArch64::FMAXNMVv4i16v:
23915 case AArch64::FMAXNMVv4i32v:
23916 case AArch64::FMAXNMVv8i16v:
23917 case AArch64::FMAXPv2i16p:
23918 case AArch64::FMAXPv2i32p:
23919 case AArch64::FMAXPv2i64p:
23920 case AArch64::FMAXVv4i16v:
23921 case AArch64::FMAXVv4i32v:
23922 case AArch64::FMAXVv8i16v:
23923 case AArch64::FMINNMPv2i16p:
23924 case AArch64::FMINNMPv2i32p:
23925 case AArch64::FMINNMPv2i64p:
23926 case AArch64::FMINNMVv4i16v:
23927 case AArch64::FMINNMVv4i32v:
23928 case AArch64::FMINNMVv8i16v:
23929 case AArch64::FMINPv2i16p:
23930 case AArch64::FMINPv2i32p:
23931 case AArch64::FMINPv2i64p:
23932 case AArch64::FMINVv4i16v:
23933 case AArch64::FMINVv4i32v:
23934 case AArch64::FMINVv8i16v:
23935 case AArch64::FMOVDXHighr:
23936 case AArch64::FMOVDXr:
23937 case AArch64::FMOVDr:
23938 case AArch64::FMOVHWr:
23939 case AArch64::FMOVHXr:
23940 case AArch64::FMOVHr:
23941 case AArch64::FMOVSWr:
23942 case AArch64::FMOVSr:
23943 case AArch64::FMOVWHr:
23944 case AArch64::FMOVWSr:
23945 case AArch64::FMOVXDHighr:
23946 case AArch64::FMOVXDr:
23947 case AArch64::FMOVXHr:
23948 case AArch64::FNEGDr:
23949 case AArch64::FNEGHr:
23950 case AArch64::FNEGSr:
23951 case AArch64::FNEGv2f32:
23952 case AArch64::FNEGv2f64:
23953 case AArch64::FNEGv4f16:
23954 case AArch64::FNEGv4f32:
23955 case AArch64::FNEGv8f16:
23956 case AArch64::FRECPEv1f16:
23957 case AArch64::FRECPEv1i32:
23958 case AArch64::FRECPEv1i64:
23959 case AArch64::FRECPEv2f32:
23960 case AArch64::FRECPEv2f64:
23961 case AArch64::FRECPEv4f16:
23962 case AArch64::FRECPEv4f32:
23963 case AArch64::FRECPEv8f16:
23964 case AArch64::FRECPXv1f16:
23965 case AArch64::FRECPXv1i32:
23966 case AArch64::FRECPXv1i64:
23967 case AArch64::FRINT32XDr:
23968 case AArch64::FRINT32XSr:
23969 case AArch64::FRINT32Xv2f32:
23970 case AArch64::FRINT32Xv2f64:
23971 case AArch64::FRINT32Xv4f32:
23972 case AArch64::FRINT32ZDr:
23973 case AArch64::FRINT32ZSr:
23974 case AArch64::FRINT32Zv2f32:
23975 case AArch64::FRINT32Zv2f64:
23976 case AArch64::FRINT32Zv4f32:
23977 case AArch64::FRINT64XDr:
23978 case AArch64::FRINT64XSr:
23979 case AArch64::FRINT64Xv2f32:
23980 case AArch64::FRINT64Xv2f64:
23981 case AArch64::FRINT64Xv4f32:
23982 case AArch64::FRINT64ZDr:
23983 case AArch64::FRINT64ZSr:
23984 case AArch64::FRINT64Zv2f32:
23985 case AArch64::FRINT64Zv2f64:
23986 case AArch64::FRINT64Zv4f32:
23987 case AArch64::FRINTADr:
23988 case AArch64::FRINTAHr:
23989 case AArch64::FRINTASr:
23990 case AArch64::FRINTAv2f32:
23991 case AArch64::FRINTAv2f64:
23992 case AArch64::FRINTAv4f16:
23993 case AArch64::FRINTAv4f32:
23994 case AArch64::FRINTAv8f16:
23995 case AArch64::FRINTIDr:
23996 case AArch64::FRINTIHr:
23997 case AArch64::FRINTISr:
23998 case AArch64::FRINTIv2f32:
23999 case AArch64::FRINTIv2f64:
24000 case AArch64::FRINTIv4f16:
24001 case AArch64::FRINTIv4f32:
24002 case AArch64::FRINTIv8f16:
24003 case AArch64::FRINTMDr:
24004 case AArch64::FRINTMHr:
24005 case AArch64::FRINTMSr:
24006 case AArch64::FRINTMv2f32:
24007 case AArch64::FRINTMv2f64:
24008 case AArch64::FRINTMv4f16:
24009 case AArch64::FRINTMv4f32:
24010 case AArch64::FRINTMv8f16:
24011 case AArch64::FRINTNDr:
24012 case AArch64::FRINTNHr:
24013 case AArch64::FRINTNSr:
24014 case AArch64::FRINTNv2f32:
24015 case AArch64::FRINTNv2f64:
24016 case AArch64::FRINTNv4f16:
24017 case AArch64::FRINTNv4f32:
24018 case AArch64::FRINTNv8f16:
24019 case AArch64::FRINTPDr:
24020 case AArch64::FRINTPHr:
24021 case AArch64::FRINTPSr:
24022 case AArch64::FRINTPv2f32:
24023 case AArch64::FRINTPv2f64:
24024 case AArch64::FRINTPv4f16:
24025 case AArch64::FRINTPv4f32:
24026 case AArch64::FRINTPv8f16:
24027 case AArch64::FRINTXDr:
24028 case AArch64::FRINTXHr:
24029 case AArch64::FRINTXSr:
24030 case AArch64::FRINTXv2f32:
24031 case AArch64::FRINTXv2f64:
24032 case AArch64::FRINTXv4f16:
24033 case AArch64::FRINTXv4f32:
24034 case AArch64::FRINTXv8f16:
24035 case AArch64::FRINTZDr:
24036 case AArch64::FRINTZHr:
24037 case AArch64::FRINTZSr:
24038 case AArch64::FRINTZv2f32:
24039 case AArch64::FRINTZv2f64:
24040 case AArch64::FRINTZv4f16:
24041 case AArch64::FRINTZv4f32:
24042 case AArch64::FRINTZv8f16:
24043 case AArch64::FRSQRTEv1f16:
24044 case AArch64::FRSQRTEv1i32:
24045 case AArch64::FRSQRTEv1i64:
24046 case AArch64::FRSQRTEv2f32:
24047 case AArch64::FRSQRTEv2f64:
24048 case AArch64::FRSQRTEv4f16:
24049 case AArch64::FRSQRTEv4f32:
24050 case AArch64::FRSQRTEv8f16:
24051 case AArch64::FSQRTDr:
24052 case AArch64::FSQRTHr:
24053 case AArch64::FSQRTSr:
24054 case AArch64::FSQRTv2f32:
24055 case AArch64::FSQRTv2f64:
24056 case AArch64::FSQRTv4f16:
24057 case AArch64::FSQRTv4f32:
24058 case AArch64::FSQRTv8f16:
24059 case AArch64::NEGv16i8:
24060 case AArch64::NEGv1i64:
24061 case AArch64::NEGv2i32:
24062 case AArch64::NEGv2i64:
24063 case AArch64::NEGv4i16:
24064 case AArch64::NEGv4i32:
24065 case AArch64::NEGv8i16:
24066 case AArch64::NEGv8i8:
24067 case AArch64::NOTv16i8:
24068 case AArch64::NOTv8i8:
24069 case AArch64::RBITWr:
24070 case AArch64::RBITXr:
24071 case AArch64::RBITv16i8:
24072 case AArch64::RBITv8i8:
24073 case AArch64::REV16Wr:
24074 case AArch64::REV16Xr:
24075 case AArch64::REV16v16i8:
24076 case AArch64::REV16v8i8:
24077 case AArch64::REV32Xr:
24078 case AArch64::REV32v16i8:
24079 case AArch64::REV32v4i16:
24080 case AArch64::REV32v8i16:
24081 case AArch64::REV32v8i8:
24082 case AArch64::REV64v16i8:
24083 case AArch64::REV64v2i32:
24084 case AArch64::REV64v4i16:
24085 case AArch64::REV64v4i32:
24086 case AArch64::REV64v8i16:
24087 case AArch64::REV64v8i8:
24088 case AArch64::REVWr:
24089 case AArch64::REVXr:
24090 case AArch64::SADDLPv16i8_v8i16:
24091 case AArch64::SADDLPv2i32_v1i64:
24092 case AArch64::SADDLPv4i16_v2i32:
24093 case AArch64::SADDLPv4i32_v2i64:
24094 case AArch64::SADDLPv8i16_v4i32:
24095 case AArch64::SADDLPv8i8_v4i16:
24096 case AArch64::SADDLVv16i8v:
24097 case AArch64::SADDLVv4i16v:
24098 case AArch64::SADDLVv4i32v:
24099 case AArch64::SADDLVv8i16v:
24100 case AArch64::SADDLVv8i8v:
24101 case AArch64::SCVTFDSr:
24102 case AArch64::SCVTFHDr:
24103 case AArch64::SCVTFHSr:
24104 case AArch64::SCVTFSDr:
24105 case AArch64::SCVTFUWDri:
24106 case AArch64::SCVTFUWHri:
24107 case AArch64::SCVTFUWSri:
24108 case AArch64::SCVTFUXDri:
24109 case AArch64::SCVTFUXHri:
24110 case AArch64::SCVTFUXSri:
24111 case AArch64::SCVTFv1i16:
24112 case AArch64::SCVTFv1i32:
24113 case AArch64::SCVTFv1i64:
24114 case AArch64::SCVTFv2f32:
24115 case AArch64::SCVTFv2f64:
24116 case AArch64::SCVTFv4f16:
24117 case AArch64::SCVTFv4f32:
24118 case AArch64::SCVTFv8f16:
24119 case AArch64::SHA1Hrr:
24120 case AArch64::SHLLv16i8:
24121 case AArch64::SHLLv2i32:
24122 case AArch64::SHLLv4i16:
24123 case AArch64::SHLLv4i32:
24124 case AArch64::SHLLv8i16:
24125 case AArch64::SHLLv8i8:
24126 case AArch64::SMAXVv16i8v:
24127 case AArch64::SMAXVv4i16v:
24128 case AArch64::SMAXVv4i32v:
24129 case AArch64::SMAXVv8i16v:
24130 case AArch64::SMAXVv8i8v:
24131 case AArch64::SMINVv16i8v:
24132 case AArch64::SMINVv4i16v:
24133 case AArch64::SMINVv4i32v:
24134 case AArch64::SMINVv8i16v:
24135 case AArch64::SMINVv8i8v:
24136 case AArch64::SMOVvi16to32_idx0:
24137 case AArch64::SMOVvi16to64_idx0:
24138 case AArch64::SMOVvi32to64_idx0:
24139 case AArch64::SMOVvi8to32_idx0:
24140 case AArch64::SMOVvi8to64_idx0:
24141 case AArch64::SQABSv16i8:
24142 case AArch64::SQABSv1i16:
24143 case AArch64::SQABSv1i32:
24144 case AArch64::SQABSv1i64:
24145 case AArch64::SQABSv1i8:
24146 case AArch64::SQABSv2i32:
24147 case AArch64::SQABSv2i64:
24148 case AArch64::SQABSv4i16:
24149 case AArch64::SQABSv4i32:
24150 case AArch64::SQABSv8i16:
24151 case AArch64::SQABSv8i8:
24152 case AArch64::SQNEGv16i8:
24153 case AArch64::SQNEGv1i16:
24154 case AArch64::SQNEGv1i32:
24155 case AArch64::SQNEGv1i64:
24156 case AArch64::SQNEGv1i8:
24157 case AArch64::SQNEGv2i32:
24158 case AArch64::SQNEGv2i64:
24159 case AArch64::SQNEGv4i16:
24160 case AArch64::SQNEGv4i32:
24161 case AArch64::SQNEGv8i16:
24162 case AArch64::SQNEGv8i8:
24163 case AArch64::SQXTNv1i16:
24164 case AArch64::SQXTNv1i32:
24165 case AArch64::SQXTNv1i8:
24166 case AArch64::SQXTNv2i32:
24167 case AArch64::SQXTNv4i16:
24168 case AArch64::SQXTNv8i8:
24169 case AArch64::SQXTUNv1i16:
24170 case AArch64::SQXTUNv1i32:
24171 case AArch64::SQXTUNv1i8:
24172 case AArch64::SQXTUNv2i32:
24173 case AArch64::SQXTUNv4i16:
24174 case AArch64::SQXTUNv8i8:
24175 case AArch64::UADDLPv16i8_v8i16:
24176 case AArch64::UADDLPv2i32_v1i64:
24177 case AArch64::UADDLPv4i16_v2i32:
24178 case AArch64::UADDLPv4i32_v2i64:
24179 case AArch64::UADDLPv8i16_v4i32:
24180 case AArch64::UADDLPv8i8_v4i16:
24181 case AArch64::UADDLVv16i8v:
24182 case AArch64::UADDLVv4i16v:
24183 case AArch64::UADDLVv4i32v:
24184 case AArch64::UADDLVv8i16v:
24185 case AArch64::UADDLVv8i8v:
24186 case AArch64::UCVTFDSr:
24187 case AArch64::UCVTFHDr:
24188 case AArch64::UCVTFHSr:
24189 case AArch64::UCVTFSDr:
24190 case AArch64::UCVTFUWDri:
24191 case AArch64::UCVTFUWHri:
24192 case AArch64::UCVTFUWSri:
24193 case AArch64::UCVTFUXDri:
24194 case AArch64::UCVTFUXHri:
24195 case AArch64::UCVTFUXSri:
24196 case AArch64::UCVTFv1i16:
24197 case AArch64::UCVTFv1i32:
24198 case AArch64::UCVTFv1i64:
24199 case AArch64::UCVTFv2f32:
24200 case AArch64::UCVTFv2f64:
24201 case AArch64::UCVTFv4f16:
24202 case AArch64::UCVTFv4f32:
24203 case AArch64::UCVTFv8f16:
24204 case AArch64::UMAXVv16i8v:
24205 case AArch64::UMAXVv4i16v:
24206 case AArch64::UMAXVv4i32v:
24207 case AArch64::UMAXVv8i16v:
24208 case AArch64::UMAXVv8i8v:
24209 case AArch64::UMINVv16i8v:
24210 case AArch64::UMINVv4i16v:
24211 case AArch64::UMINVv4i32v:
24212 case AArch64::UMINVv8i16v:
24213 case AArch64::UMINVv8i8v:
24214 case AArch64::UMOVvi16_idx0:
24215 case AArch64::UMOVvi32_idx0:
24216 case AArch64::UMOVvi64_idx0:
24217 case AArch64::UMOVvi8_idx0:
24218 case AArch64::UQXTNv1i16:
24219 case AArch64::UQXTNv1i32:
24220 case AArch64::UQXTNv1i8:
24221 case AArch64::UQXTNv2i32:
24222 case AArch64::UQXTNv4i16:
24223 case AArch64::UQXTNv8i8:
24224 case AArch64::URECPEv2i32:
24225 case AArch64::URECPEv4i32:
24226 case AArch64::URSQRTEv2i32:
24227 case AArch64::URSQRTEv4i32:
24228 case AArch64::XTNv2i32:
24229 case AArch64::XTNv4i16:
24230 case AArch64::XTNv8i8: {
24231 switch (OpNum) {
24232 case 0:
24233 // op: Rd
24234 return 0;
24235 case 1:
24236 // op: Rn
24237 return 5;
24238 }
24239 break;
24240 }
24241 case AArch64::FMOVDi:
24242 case AArch64::FMOVHi:
24243 case AArch64::FMOVSi: {
24244 switch (OpNum) {
24245 case 0:
24246 // op: Rd
24247 return 0;
24248 case 1:
24249 // op: imm
24250 return 13;
24251 }
24252 break;
24253 }
24254 case AArch64::MOVNWi:
24255 case AArch64::MOVNXi:
24256 case AArch64::MOVZWi:
24257 case AArch64::MOVZXi: {
24258 switch (OpNum) {
24259 case 0:
24260 // op: Rd
24261 return 0;
24262 case 1:
24263 // op: imm
24264 return 5;
24265 case 2:
24266 // op: shift
24267 return 21;
24268 }
24269 break;
24270 }
24271 case AArch64::RDSVLI_XI:
24272 case AArch64::RDVLI_XI: {
24273 switch (OpNum) {
24274 case 0:
24275 // op: Rd
24276 return 0;
24277 case 1:
24278 // op: imm6
24279 return 5;
24280 }
24281 break;
24282 }
24283 case AArch64::MOVIv2s_msl:
24284 case AArch64::MOVIv4s_msl:
24285 case AArch64::MVNIv2s_msl:
24286 case AArch64::MVNIv4s_msl: {
24287 switch (OpNum) {
24288 case 0:
24289 // op: Rd
24290 return 0;
24291 case 1:
24292 // op: imm8
24293 return 5;
24294 case 2:
24295 // op: shift
24296 return 12;
24297 }
24298 break;
24299 }
24300 case AArch64::MOVIv2i32:
24301 case AArch64::MOVIv4i16:
24302 case AArch64::MOVIv4i32:
24303 case AArch64::MOVIv8i16:
24304 case AArch64::MVNIv2i32:
24305 case AArch64::MVNIv4i16:
24306 case AArch64::MVNIv4i32:
24307 case AArch64::MVNIv8i16: {
24308 switch (OpNum) {
24309 case 0:
24310 // op: Rd
24311 return 0;
24312 case 1:
24313 // op: imm8
24314 return 5;
24315 case 2:
24316 // op: shift
24317 return 13;
24318 }
24319 break;
24320 }
24321 case AArch64::FMOVv2f32_ns:
24322 case AArch64::FMOVv2f64_ns:
24323 case AArch64::FMOVv4f16_ns:
24324 case AArch64::FMOVv4f32_ns:
24325 case AArch64::FMOVv8f16_ns:
24326 case AArch64::MOVID:
24327 case AArch64::MOVIv16b_ns:
24328 case AArch64::MOVIv2d_ns:
24329 case AArch64::MOVIv8b_ns: {
24330 switch (OpNum) {
24331 case 0:
24332 // op: Rd
24333 return 0;
24334 case 1:
24335 // op: imm8
24336 return 5;
24337 }
24338 break;
24339 }
24340 case AArch64::BFMWri:
24341 case AArch64::BFMXri: {
24342 switch (OpNum) {
24343 case 0:
24344 // op: Rd
24345 return 0;
24346 case 2:
24347 // op: Rn
24348 return 5;
24349 case 3:
24350 // op: immr
24351 return 16;
24352 case 4:
24353 // op: imms
24354 return 10;
24355 }
24356 break;
24357 }
24358 case AArch64::MOVKWi:
24359 case AArch64::MOVKXi: {
24360 switch (OpNum) {
24361 case 0:
24362 // op: Rd
24363 return 0;
24364 case 2:
24365 // op: imm
24366 return 5;
24367 case 3:
24368 // op: shift
24369 return 21;
24370 }
24371 break;
24372 }
24373 case AArch64::CNTB_XPiI:
24374 case AArch64::CNTD_XPiI:
24375 case AArch64::CNTH_XPiI:
24376 case AArch64::CNTW_XPiI: {
24377 switch (OpNum) {
24378 case 0:
24379 // op: Rd
24380 return 0;
24381 case 2:
24382 // op: imm4
24383 return 16;
24384 case 1:
24385 // op: pattern
24386 return 5;
24387 }
24388 break;
24389 }
24390 case AArch64::XPACD:
24391 case AArch64::XPACI: {
24392 switch (OpNum) {
24393 case 0:
24394 // op: Rd
24395 return 0;
24396 }
24397 break;
24398 }
24399 case AArch64::DECP_XP_B:
24400 case AArch64::DECP_XP_D:
24401 case AArch64::DECP_XP_H:
24402 case AArch64::DECP_XP_S:
24403 case AArch64::INCP_XP_B:
24404 case AArch64::INCP_XP_D:
24405 case AArch64::INCP_XP_H:
24406 case AArch64::INCP_XP_S:
24407 case AArch64::SQDECP_XPWd_B:
24408 case AArch64::SQDECP_XPWd_D:
24409 case AArch64::SQDECP_XPWd_H:
24410 case AArch64::SQDECP_XPWd_S:
24411 case AArch64::SQDECP_XP_B:
24412 case AArch64::SQDECP_XP_D:
24413 case AArch64::SQDECP_XP_H:
24414 case AArch64::SQDECP_XP_S:
24415 case AArch64::SQINCP_XPWd_B:
24416 case AArch64::SQINCP_XPWd_D:
24417 case AArch64::SQINCP_XPWd_H:
24418 case AArch64::SQINCP_XPWd_S:
24419 case AArch64::SQINCP_XP_B:
24420 case AArch64::SQINCP_XP_D:
24421 case AArch64::SQINCP_XP_H:
24422 case AArch64::SQINCP_XP_S:
24423 case AArch64::UQDECP_WP_B:
24424 case AArch64::UQDECP_WP_D:
24425 case AArch64::UQDECP_WP_H:
24426 case AArch64::UQDECP_WP_S:
24427 case AArch64::UQDECP_XP_B:
24428 case AArch64::UQDECP_XP_D:
24429 case AArch64::UQDECP_XP_H:
24430 case AArch64::UQDECP_XP_S:
24431 case AArch64::UQINCP_WP_B:
24432 case AArch64::UQINCP_WP_D:
24433 case AArch64::UQINCP_WP_H:
24434 case AArch64::UQINCP_WP_S:
24435 case AArch64::UQINCP_XP_B:
24436 case AArch64::UQINCP_XP_D:
24437 case AArch64::UQINCP_XP_H:
24438 case AArch64::UQINCP_XP_S: {
24439 switch (OpNum) {
24440 case 0:
24441 // op: Rdn
24442 return 0;
24443 case 1:
24444 // op: Pg
24445 return 5;
24446 }
24447 break;
24448 }
24449 case AArch64::DECB_XPiI:
24450 case AArch64::DECD_XPiI:
24451 case AArch64::DECH_XPiI:
24452 case AArch64::DECW_XPiI:
24453 case AArch64::INCB_XPiI:
24454 case AArch64::INCD_XPiI:
24455 case AArch64::INCH_XPiI:
24456 case AArch64::INCW_XPiI:
24457 case AArch64::SQDECB_XPiI:
24458 case AArch64::SQDECB_XPiWdI:
24459 case AArch64::SQDECD_XPiI:
24460 case AArch64::SQDECD_XPiWdI:
24461 case AArch64::SQDECH_XPiI:
24462 case AArch64::SQDECH_XPiWdI:
24463 case AArch64::SQDECW_XPiI:
24464 case AArch64::SQDECW_XPiWdI:
24465 case AArch64::SQINCB_XPiI:
24466 case AArch64::SQINCB_XPiWdI:
24467 case AArch64::SQINCD_XPiI:
24468 case AArch64::SQINCD_XPiWdI:
24469 case AArch64::SQINCH_XPiI:
24470 case AArch64::SQINCH_XPiWdI:
24471 case AArch64::SQINCW_XPiI:
24472 case AArch64::SQINCW_XPiWdI:
24473 case AArch64::UQDECB_WPiI:
24474 case AArch64::UQDECB_XPiI:
24475 case AArch64::UQDECD_WPiI:
24476 case AArch64::UQDECD_XPiI:
24477 case AArch64::UQDECH_WPiI:
24478 case AArch64::UQDECH_XPiI:
24479 case AArch64::UQDECW_WPiI:
24480 case AArch64::UQDECW_XPiI:
24481 case AArch64::UQINCB_WPiI:
24482 case AArch64::UQINCB_XPiI:
24483 case AArch64::UQINCD_WPiI:
24484 case AArch64::UQINCD_XPiI:
24485 case AArch64::UQINCH_WPiI:
24486 case AArch64::UQINCH_XPiI:
24487 case AArch64::UQINCW_WPiI:
24488 case AArch64::UQINCW_XPiI: {
24489 switch (OpNum) {
24490 case 0:
24491 // op: Rdn
24492 return 0;
24493 case 2:
24494 // op: pattern
24495 return 5;
24496 case 3:
24497 // op: imm4
24498 return 16;
24499 }
24500 break;
24501 }
24502 case AArch64::RETAASPPCr:
24503 case AArch64::RETABSPPCr: {
24504 switch (OpNum) {
24505 case 0:
24506 // op: Rm
24507 return 0;
24508 }
24509 break;
24510 }
24511 case AArch64::BLRAA:
24512 case AArch64::BLRAB:
24513 case AArch64::BRAA:
24514 case AArch64::BRAB: {
24515 switch (OpNum) {
24516 case 0:
24517 // op: Rn
24518 return 5;
24519 case 1:
24520 // op: Rm
24521 return 0;
24522 }
24523 break;
24524 }
24525 case AArch64::CCMNWr:
24526 case AArch64::CCMNXr:
24527 case AArch64::CCMPWr:
24528 case AArch64::CCMPXr:
24529 case AArch64::FCCMPDrr:
24530 case AArch64::FCCMPEDrr:
24531 case AArch64::FCCMPEHrr:
24532 case AArch64::FCCMPESrr:
24533 case AArch64::FCCMPHrr:
24534 case AArch64::FCCMPSrr: {
24535 switch (OpNum) {
24536 case 0:
24537 // op: Rn
24538 return 5;
24539 case 1:
24540 // op: Rm
24541 return 16;
24542 case 2:
24543 // op: nzcv
24544 return 0;
24545 case 3:
24546 // op: cond
24547 return 12;
24548 }
24549 break;
24550 }
24551 case AArch64::RMIF: {
24552 switch (OpNum) {
24553 case 0:
24554 // op: Rn
24555 return 5;
24556 case 1:
24557 // op: imm
24558 return 15;
24559 case 2:
24560 // op: mask
24561 return 0;
24562 }
24563 break;
24564 }
24565 case AArch64::CCMNWi:
24566 case AArch64::CCMNXi:
24567 case AArch64::CCMPWi:
24568 case AArch64::CCMPXi: {
24569 switch (OpNum) {
24570 case 0:
24571 // op: Rn
24572 return 5;
24573 case 1:
24574 // op: imm
24575 return 16;
24576 case 2:
24577 // op: nzcv
24578 return 0;
24579 case 3:
24580 // op: cond
24581 return 12;
24582 }
24583 break;
24584 }
24585 case AArch64::AUTIASPPCr:
24586 case AArch64::AUTIBSPPCr:
24587 case AArch64::BLR:
24588 case AArch64::BLRAAZ:
24589 case AArch64::BLRABZ:
24590 case AArch64::BR:
24591 case AArch64::BRAAZ:
24592 case AArch64::BRABZ:
24593 case AArch64::FCMPDri:
24594 case AArch64::FCMPEDri:
24595 case AArch64::FCMPEHri:
24596 case AArch64::FCMPESri:
24597 case AArch64::FCMPHri:
24598 case AArch64::FCMPSri:
24599 case AArch64::RET:
24600 case AArch64::SETF16:
24601 case AArch64::SETF8: {
24602 switch (OpNum) {
24603 case 0:
24604 // op: Rn
24605 return 5;
24606 }
24607 break;
24608 }
24609 case AArch64::STBFADD:
24610 case AArch64::STBFADDL:
24611 case AArch64::STBFMAX:
24612 case AArch64::STBFMAXL:
24613 case AArch64::STBFMAXNM:
24614 case AArch64::STBFMAXNML:
24615 case AArch64::STBFMIN:
24616 case AArch64::STBFMINL:
24617 case AArch64::STBFMINNM:
24618 case AArch64::STBFMINNML:
24619 case AArch64::STFADDD:
24620 case AArch64::STFADDH:
24621 case AArch64::STFADDLD:
24622 case AArch64::STFADDLH:
24623 case AArch64::STFADDLS:
24624 case AArch64::STFADDS:
24625 case AArch64::STFMAXD:
24626 case AArch64::STFMAXH:
24627 case AArch64::STFMAXLD:
24628 case AArch64::STFMAXLH:
24629 case AArch64::STFMAXLS:
24630 case AArch64::STFMAXNMD:
24631 case AArch64::STFMAXNMH:
24632 case AArch64::STFMAXNMLD:
24633 case AArch64::STFMAXNMLH:
24634 case AArch64::STFMAXNMLS:
24635 case AArch64::STFMAXNMS:
24636 case AArch64::STFMAXS:
24637 case AArch64::STFMIND:
24638 case AArch64::STFMINH:
24639 case AArch64::STFMINLD:
24640 case AArch64::STFMINLH:
24641 case AArch64::STFMINLS:
24642 case AArch64::STFMINNMD:
24643 case AArch64::STFMINNMH:
24644 case AArch64::STFMINNMLD:
24645 case AArch64::STFMINNMLH:
24646 case AArch64::STFMINNMLS:
24647 case AArch64::STFMINNMS:
24648 case AArch64::STFMINS: {
24649 switch (OpNum) {
24650 case 0:
24651 // op: Rs
24652 return 16;
24653 case 1:
24654 // op: Rn
24655 return 5;
24656 }
24657 break;
24658 }
24659 case AArch64::LDRBBroW:
24660 case AArch64::LDRBBroX:
24661 case AArch64::LDRBroW:
24662 case AArch64::LDRBroX:
24663 case AArch64::LDRDroW:
24664 case AArch64::LDRDroX:
24665 case AArch64::LDRHHroW:
24666 case AArch64::LDRHHroX:
24667 case AArch64::LDRHroW:
24668 case AArch64::LDRHroX:
24669 case AArch64::LDRQroW:
24670 case AArch64::LDRQroX:
24671 case AArch64::LDRSBWroW:
24672 case AArch64::LDRSBWroX:
24673 case AArch64::LDRSBXroW:
24674 case AArch64::LDRSBXroX:
24675 case AArch64::LDRSHWroW:
24676 case AArch64::LDRSHWroX:
24677 case AArch64::LDRSHXroW:
24678 case AArch64::LDRSHXroX:
24679 case AArch64::LDRSWroW:
24680 case AArch64::LDRSWroX:
24681 case AArch64::LDRSroW:
24682 case AArch64::LDRSroX:
24683 case AArch64::LDRWroW:
24684 case AArch64::LDRWroX:
24685 case AArch64::LDRXroW:
24686 case AArch64::LDRXroX:
24687 case AArch64::PRFMroW:
24688 case AArch64::PRFMroX:
24689 case AArch64::STRBBroW:
24690 case AArch64::STRBBroX:
24691 case AArch64::STRBroW:
24692 case AArch64::STRBroX:
24693 case AArch64::STRDroW:
24694 case AArch64::STRDroX:
24695 case AArch64::STRHHroW:
24696 case AArch64::STRHHroX:
24697 case AArch64::STRHroW:
24698 case AArch64::STRHroX:
24699 case AArch64::STRQroW:
24700 case AArch64::STRQroX:
24701 case AArch64::STRSroW:
24702 case AArch64::STRSroX:
24703 case AArch64::STRWroW:
24704 case AArch64::STRWroX:
24705 case AArch64::STRXroW:
24706 case AArch64::STRXroX: {
24707 switch (OpNum) {
24708 case 0:
24709 // op: Rt
24710 return 0;
24711 case 1:
24712 // op: Rn
24713 return 5;
24714 case 2:
24715 // op: Rm
24716 return 16;
24717 case 3:
24718 // op: extend
24719 return 12;
24720 }
24721 break;
24722 }
24723 case AArch64::LDRBBui:
24724 case AArch64::LDRBui:
24725 case AArch64::LDRDui:
24726 case AArch64::LDRHHui:
24727 case AArch64::LDRHui:
24728 case AArch64::LDRQui:
24729 case AArch64::LDRSBWui:
24730 case AArch64::LDRSBXui:
24731 case AArch64::LDRSHWui:
24732 case AArch64::LDRSHXui:
24733 case AArch64::LDRSWui:
24734 case AArch64::LDRSui:
24735 case AArch64::LDRWui:
24736 case AArch64::LDRXui:
24737 case AArch64::PRFMui:
24738 case AArch64::STRBBui:
24739 case AArch64::STRBui:
24740 case AArch64::STRDui:
24741 case AArch64::STRHHui:
24742 case AArch64::STRHui:
24743 case AArch64::STRQui:
24744 case AArch64::STRSui:
24745 case AArch64::STRWui:
24746 case AArch64::STRXui: {
24747 switch (OpNum) {
24748 case 0:
24749 // op: Rt
24750 return 0;
24751 case 1:
24752 // op: Rn
24753 return 5;
24754 case 2:
24755 // op: offset
24756 return 10;
24757 }
24758 break;
24759 }
24760 case AArch64::LDAPURBi:
24761 case AArch64::LDAPURHi:
24762 case AArch64::LDAPURSBWi:
24763 case AArch64::LDAPURSBXi:
24764 case AArch64::LDAPURSHWi:
24765 case AArch64::LDAPURSHXi:
24766 case AArch64::LDAPURSWi:
24767 case AArch64::LDAPURXi:
24768 case AArch64::LDAPURi:
24769 case AArch64::LDTRBi:
24770 case AArch64::LDTRHi:
24771 case AArch64::LDTRSBWi:
24772 case AArch64::LDTRSBXi:
24773 case AArch64::LDTRSHWi:
24774 case AArch64::LDTRSHXi:
24775 case AArch64::LDTRSWi:
24776 case AArch64::LDTRWi:
24777 case AArch64::LDTRXi:
24778 case AArch64::LDURBBi:
24779 case AArch64::LDURBi:
24780 case AArch64::LDURDi:
24781 case AArch64::LDURHHi:
24782 case AArch64::LDURHi:
24783 case AArch64::LDURQi:
24784 case AArch64::LDURSBWi:
24785 case AArch64::LDURSBXi:
24786 case AArch64::LDURSHWi:
24787 case AArch64::LDURSHXi:
24788 case AArch64::LDURSWi:
24789 case AArch64::LDURSi:
24790 case AArch64::LDURWi:
24791 case AArch64::LDURXi:
24792 case AArch64::PRFUMi:
24793 case AArch64::STLURBi:
24794 case AArch64::STLURHi:
24795 case AArch64::STLURWi:
24796 case AArch64::STLURXi:
24797 case AArch64::STTRBi:
24798 case AArch64::STTRHi:
24799 case AArch64::STTRWi:
24800 case AArch64::STTRXi:
24801 case AArch64::STURBBi:
24802 case AArch64::STURBi:
24803 case AArch64::STURDi:
24804 case AArch64::STURHHi:
24805 case AArch64::STURHi:
24806 case AArch64::STURQi:
24807 case AArch64::STURSi:
24808 case AArch64::STURWi:
24809 case AArch64::STURXi: {
24810 switch (OpNum) {
24811 case 0:
24812 // op: Rt
24813 return 0;
24814 case 1:
24815 // op: Rn
24816 return 5;
24817 case 2:
24818 // op: offset
24819 return 12;
24820 }
24821 break;
24822 }
24823 case AArch64::LDAPURbi:
24824 case AArch64::LDAPURdi:
24825 case AArch64::LDAPURhi:
24826 case AArch64::LDAPURqi:
24827 case AArch64::LDAPURsi:
24828 case AArch64::STLURbi:
24829 case AArch64::STLURdi:
24830 case AArch64::STLURhi:
24831 case AArch64::STLURqi:
24832 case AArch64::STLURsi: {
24833 switch (OpNum) {
24834 case 0:
24835 // op: Rt
24836 return 0;
24837 case 1:
24838 // op: Rn
24839 return 5;
24840 case 2:
24841 // op: simm
24842 return 12;
24843 }
24844 break;
24845 }
24846 case AArch64::GCSSTR:
24847 case AArch64::GCSSTTR:
24848 case AArch64::LD64B:
24849 case AArch64::LDARB:
24850 case AArch64::LDARH:
24851 case AArch64::LDARW:
24852 case AArch64::LDARX:
24853 case AArch64::LDATXRW:
24854 case AArch64::LDATXRX:
24855 case AArch64::LDAXRB:
24856 case AArch64::LDAXRH:
24857 case AArch64::LDAXRW:
24858 case AArch64::LDAXRX:
24859 case AArch64::LDLARB:
24860 case AArch64::LDLARH:
24861 case AArch64::LDLARW:
24862 case AArch64::LDLARX:
24863 case AArch64::LDTXRWr:
24864 case AArch64::LDTXRXr:
24865 case AArch64::LDXRB:
24866 case AArch64::LDXRH:
24867 case AArch64::LDXRW:
24868 case AArch64::LDXRX:
24869 case AArch64::ST64B:
24870 case AArch64::STLLRB:
24871 case AArch64::STLLRH:
24872 case AArch64::STLLRW:
24873 case AArch64::STLLRX:
24874 case AArch64::STLRB:
24875 case AArch64::STLRH:
24876 case AArch64::STLRW:
24877 case AArch64::STLRX: {
24878 switch (OpNum) {
24879 case 0:
24880 // op: Rt
24881 return 0;
24882 case 1:
24883 // op: Rn
24884 return 5;
24885 }
24886 break;
24887 }
24888 case AArch64::LDBFADD:
24889 case AArch64::LDBFADDA:
24890 case AArch64::LDBFADDAL:
24891 case AArch64::LDBFADDL:
24892 case AArch64::LDBFMAX:
24893 case AArch64::LDBFMAXA:
24894 case AArch64::LDBFMAXAL:
24895 case AArch64::LDBFMAXL:
24896 case AArch64::LDBFMAXNM:
24897 case AArch64::LDBFMAXNMA:
24898 case AArch64::LDBFMAXNMAL:
24899 case AArch64::LDBFMAXNML:
24900 case AArch64::LDBFMIN:
24901 case AArch64::LDBFMINA:
24902 case AArch64::LDBFMINAL:
24903 case AArch64::LDBFMINL:
24904 case AArch64::LDBFMINNM:
24905 case AArch64::LDBFMINNMA:
24906 case AArch64::LDBFMINNMAL:
24907 case AArch64::LDBFMINNML:
24908 case AArch64::LDFADDAD:
24909 case AArch64::LDFADDAH:
24910 case AArch64::LDFADDALD:
24911 case AArch64::LDFADDALH:
24912 case AArch64::LDFADDALS:
24913 case AArch64::LDFADDAS:
24914 case AArch64::LDFADDD:
24915 case AArch64::LDFADDH:
24916 case AArch64::LDFADDLD:
24917 case AArch64::LDFADDLH:
24918 case AArch64::LDFADDLS:
24919 case AArch64::LDFADDS:
24920 case AArch64::LDFMAXAD:
24921 case AArch64::LDFMAXAH:
24922 case AArch64::LDFMAXALD:
24923 case AArch64::LDFMAXALH:
24924 case AArch64::LDFMAXALS:
24925 case AArch64::LDFMAXAS:
24926 case AArch64::LDFMAXD:
24927 case AArch64::LDFMAXH:
24928 case AArch64::LDFMAXLD:
24929 case AArch64::LDFMAXLH:
24930 case AArch64::LDFMAXLS:
24931 case AArch64::LDFMAXNMAD:
24932 case AArch64::LDFMAXNMAH:
24933 case AArch64::LDFMAXNMALD:
24934 case AArch64::LDFMAXNMALH:
24935 case AArch64::LDFMAXNMALS:
24936 case AArch64::LDFMAXNMAS:
24937 case AArch64::LDFMAXNMD:
24938 case AArch64::LDFMAXNMH:
24939 case AArch64::LDFMAXNMLD:
24940 case AArch64::LDFMAXNMLH:
24941 case AArch64::LDFMAXNMLS:
24942 case AArch64::LDFMAXNMS:
24943 case AArch64::LDFMAXS:
24944 case AArch64::LDFMINAD:
24945 case AArch64::LDFMINAH:
24946 case AArch64::LDFMINALD:
24947 case AArch64::LDFMINALH:
24948 case AArch64::LDFMINALS:
24949 case AArch64::LDFMINAS:
24950 case AArch64::LDFMIND:
24951 case AArch64::LDFMINH:
24952 case AArch64::LDFMINLD:
24953 case AArch64::LDFMINLH:
24954 case AArch64::LDFMINLS:
24955 case AArch64::LDFMINNMAD:
24956 case AArch64::LDFMINNMAH:
24957 case AArch64::LDFMINNMALD:
24958 case AArch64::LDFMINNMALH:
24959 case AArch64::LDFMINNMALS:
24960 case AArch64::LDFMINNMAS:
24961 case AArch64::LDFMINNMD:
24962 case AArch64::LDFMINNMH:
24963 case AArch64::LDFMINNMLD:
24964 case AArch64::LDFMINNMLH:
24965 case AArch64::LDFMINNMLS:
24966 case AArch64::LDFMINNMS:
24967 case AArch64::LDFMINS: {
24968 switch (OpNum) {
24969 case 0:
24970 // op: Rt
24971 return 0;
24972 case 1:
24973 // op: Rs
24974 return 16;
24975 case 2:
24976 // op: Rn
24977 return 5;
24978 }
24979 break;
24980 }
24981 case AArch64::LDNPDi:
24982 case AArch64::LDNPQi:
24983 case AArch64::LDNPSi:
24984 case AArch64::LDNPWi:
24985 case AArch64::LDNPXi:
24986 case AArch64::LDPDi:
24987 case AArch64::LDPQi:
24988 case AArch64::LDPSWi:
24989 case AArch64::LDPSi:
24990 case AArch64::LDPWi:
24991 case AArch64::LDPXi:
24992 case AArch64::LDTNPQi:
24993 case AArch64::LDTNPXi:
24994 case AArch64::LDTPQi:
24995 case AArch64::LDTPi:
24996 case AArch64::STGPi:
24997 case AArch64::STNPDi:
24998 case AArch64::STNPQi:
24999 case AArch64::STNPSi:
25000 case AArch64::STNPWi:
25001 case AArch64::STNPXi:
25002 case AArch64::STPDi:
25003 case AArch64::STPQi:
25004 case AArch64::STPSi:
25005 case AArch64::STPWi:
25006 case AArch64::STPXi:
25007 case AArch64::STTNPQi:
25008 case AArch64::STTNPXi:
25009 case AArch64::STTPQi:
25010 case AArch64::STTPi: {
25011 switch (OpNum) {
25012 case 0:
25013 // op: Rt
25014 return 0;
25015 case 1:
25016 // op: Rt2
25017 return 10;
25018 case 2:
25019 // op: Rn
25020 return 5;
25021 case 3:
25022 // op: offset
25023 return 15;
25024 }
25025 break;
25026 }
25027 case AArch64::LDAXPW:
25028 case AArch64::LDAXPX:
25029 case AArch64::LDXPW:
25030 case AArch64::LDXPX: {
25031 switch (OpNum) {
25032 case 0:
25033 // op: Rt
25034 return 0;
25035 case 1:
25036 // op: Rt2
25037 return 10;
25038 case 2:
25039 // op: Rn
25040 return 5;
25041 }
25042 break;
25043 }
25044 case AArch64::LDAPPi:
25045 case AArch64::LDAPi:
25046 case AArch64::STLPi: {
25047 switch (OpNum) {
25048 case 0:
25049 // op: Rt
25050 return 0;
25051 case 1:
25052 // op: Rt2
25053 return 16;
25054 case 2:
25055 // op: Rn
25056 return 5;
25057 }
25058 break;
25059 }
25060 case AArch64::TBNZW:
25061 case AArch64::TBNZX:
25062 case AArch64::TBZW:
25063 case AArch64::TBZX: {
25064 switch (OpNum) {
25065 case 0:
25066 // op: Rt
25067 return 0;
25068 case 1:
25069 // op: bit_off
25070 return 19;
25071 case 2:
25072 // op: target
25073 return 5;
25074 }
25075 break;
25076 }
25077 case AArch64::CBEQWri:
25078 case AArch64::CBEQXri:
25079 case AArch64::CBGTWri:
25080 case AArch64::CBGTXri:
25081 case AArch64::CBHIWri:
25082 case AArch64::CBHIXri:
25083 case AArch64::CBLOWri:
25084 case AArch64::CBLOXri:
25085 case AArch64::CBLTWri:
25086 case AArch64::CBLTXri:
25087 case AArch64::CBNEWri:
25088 case AArch64::CBNEXri: {
25089 switch (OpNum) {
25090 case 0:
25091 // op: Rt
25092 return 0;
25093 case 1:
25094 // op: imm
25095 return 15;
25096 case 2:
25097 // op: target
25098 return 5;
25099 }
25100 break;
25101 }
25102 case AArch64::LDRDl:
25103 case AArch64::LDRQl:
25104 case AArch64::LDRSWl:
25105 case AArch64::LDRSl:
25106 case AArch64::LDRWl:
25107 case AArch64::LDRXl:
25108 case AArch64::PRFMl: {
25109 switch (OpNum) {
25110 case 0:
25111 // op: Rt
25112 return 0;
25113 case 1:
25114 // op: label
25115 return 5;
25116 }
25117 break;
25118 }
25119 case AArch64::SYSLxt: {
25120 switch (OpNum) {
25121 case 0:
25122 // op: Rt
25123 return 0;
25124 case 1:
25125 // op: op1
25126 return 16;
25127 case 2:
25128 // op: Cn
25129 return 12;
25130 case 3:
25131 // op: Cm
25132 return 8;
25133 case 4:
25134 // op: op2
25135 return 5;
25136 }
25137 break;
25138 }
25139 case AArch64::MRRS:
25140 case AArch64::MRS: {
25141 switch (OpNum) {
25142 case 0:
25143 // op: Rt
25144 return 0;
25145 case 1:
25146 // op: systemreg
25147 return 5;
25148 }
25149 break;
25150 }
25151 case AArch64::CBNZW:
25152 case AArch64::CBNZX:
25153 case AArch64::CBZW:
25154 case AArch64::CBZX: {
25155 switch (OpNum) {
25156 case 0:
25157 // op: Rt
25158 return 0;
25159 case 1:
25160 // op: target
25161 return 5;
25162 }
25163 break;
25164 }
25165 case AArch64::RPRFM: {
25166 switch (OpNum) {
25167 case 0:
25168 // op: Rt
25169 return 0;
25170 case 2:
25171 // op: Rn
25172 return 5;
25173 case 1:
25174 // op: Rm
25175 return 16;
25176 }
25177 break;
25178 }
25179 case AArch64::LDIAPPW:
25180 case AArch64::LDIAPPX:
25181 case AArch64::STILPW:
25182 case AArch64::STILPX: {
25183 switch (OpNum) {
25184 case 0:
25185 // op: Rt
25186 return 0;
25187 case 2:
25188 // op: Rn
25189 return 5;
25190 case 1:
25191 // op: Rt2
25192 return 16;
25193 }
25194 break;
25195 }
25196 case AArch64::GCSPOPM:
25197 case AArch64::GCSPUSHM:
25198 case AArch64::GCSSS1:
25199 case AArch64::GCSSS2:
25200 case AArch64::WFET:
25201 case AArch64::WFIT: {
25202 switch (OpNum) {
25203 case 0:
25204 // op: Rt
25205 return 0;
25206 }
25207 break;
25208 }
25209 case AArch64::BCAX:
25210 case AArch64::EOR3:
25211 case AArch64::SM3SS1: {
25212 switch (OpNum) {
25213 case 0:
25214 // op: Vd
25215 return 0;
25216 case 1:
25217 // op: Vn
25218 return 5;
25219 case 2:
25220 // op: Vm
25221 return 16;
25222 case 3:
25223 // op: Va
25224 return 10;
25225 }
25226 break;
25227 }
25228 case AArch64::RAX1:
25229 case AArch64::SM4ENCKEY:
25230 case AArch64::TBLv16i8Four:
25231 case AArch64::TBLv16i8One:
25232 case AArch64::TBLv16i8Three:
25233 case AArch64::TBLv16i8Two:
25234 case AArch64::TBLv8i8Four:
25235 case AArch64::TBLv8i8One:
25236 case AArch64::TBLv8i8Three:
25237 case AArch64::TBLv8i8Two: {
25238 switch (OpNum) {
25239 case 0:
25240 // op: Vd
25241 return 0;
25242 case 1:
25243 // op: Vn
25244 return 5;
25245 case 2:
25246 // op: Vm
25247 return 16;
25248 }
25249 break;
25250 }
25251 case AArch64::XAR: {
25252 switch (OpNum) {
25253 case 0:
25254 // op: Vd
25255 return 0;
25256 case 1:
25257 // op: Vn
25258 return 5;
25259 case 3:
25260 // op: imm
25261 return 10;
25262 case 2:
25263 // op: Vm
25264 return 16;
25265 }
25266 break;
25267 }
25268 case AArch64::ADDQV_VPZ_B:
25269 case AArch64::ADDQV_VPZ_D:
25270 case AArch64::ADDQV_VPZ_H:
25271 case AArch64::ADDQV_VPZ_S:
25272 case AArch64::ANDQV_VPZ_B:
25273 case AArch64::ANDQV_VPZ_D:
25274 case AArch64::ANDQV_VPZ_H:
25275 case AArch64::ANDQV_VPZ_S:
25276 case AArch64::EORQV_VPZ_B:
25277 case AArch64::EORQV_VPZ_D:
25278 case AArch64::EORQV_VPZ_H:
25279 case AArch64::EORQV_VPZ_S:
25280 case AArch64::FADDQV_D:
25281 case AArch64::FADDQV_H:
25282 case AArch64::FADDQV_S:
25283 case AArch64::FMAXNMQV_D:
25284 case AArch64::FMAXNMQV_H:
25285 case AArch64::FMAXNMQV_S:
25286 case AArch64::FMAXQV_D:
25287 case AArch64::FMAXQV_H:
25288 case AArch64::FMAXQV_S:
25289 case AArch64::FMINNMQV_D:
25290 case AArch64::FMINNMQV_H:
25291 case AArch64::FMINNMQV_S:
25292 case AArch64::FMINQV_D:
25293 case AArch64::FMINQV_H:
25294 case AArch64::FMINQV_S:
25295 case AArch64::ORQV_VPZ_B:
25296 case AArch64::ORQV_VPZ_D:
25297 case AArch64::ORQV_VPZ_H:
25298 case AArch64::ORQV_VPZ_S:
25299 case AArch64::SMAXQV_VPZ_B:
25300 case AArch64::SMAXQV_VPZ_D:
25301 case AArch64::SMAXQV_VPZ_H:
25302 case AArch64::SMAXQV_VPZ_S:
25303 case AArch64::SMINQV_VPZ_B:
25304 case AArch64::SMINQV_VPZ_D:
25305 case AArch64::SMINQV_VPZ_H:
25306 case AArch64::SMINQV_VPZ_S:
25307 case AArch64::UMAXQV_VPZ_B:
25308 case AArch64::UMAXQV_VPZ_D:
25309 case AArch64::UMAXQV_VPZ_H:
25310 case AArch64::UMAXQV_VPZ_S:
25311 case AArch64::UMINQV_VPZ_B:
25312 case AArch64::UMINQV_VPZ_D:
25313 case AArch64::UMINQV_VPZ_H:
25314 case AArch64::UMINQV_VPZ_S: {
25315 switch (OpNum) {
25316 case 0:
25317 // op: Vd
25318 return 0;
25319 case 2:
25320 // op: Zn
25321 return 5;
25322 case 1:
25323 // op: Pg
25324 return 10;
25325 }
25326 break;
25327 }
25328 case AArch64::LD1Fourv16b:
25329 case AArch64::LD1Fourv1d:
25330 case AArch64::LD1Fourv2d:
25331 case AArch64::LD1Fourv2s:
25332 case AArch64::LD1Fourv4h:
25333 case AArch64::LD1Fourv4s:
25334 case AArch64::LD1Fourv8b:
25335 case AArch64::LD1Fourv8h:
25336 case AArch64::LD1Onev16b:
25337 case AArch64::LD1Onev1d:
25338 case AArch64::LD1Onev2d:
25339 case AArch64::LD1Onev2s:
25340 case AArch64::LD1Onev4h:
25341 case AArch64::LD1Onev4s:
25342 case AArch64::LD1Onev8b:
25343 case AArch64::LD1Onev8h:
25344 case AArch64::LD1Rv16b:
25345 case AArch64::LD1Rv1d:
25346 case AArch64::LD1Rv2d:
25347 case AArch64::LD1Rv2s:
25348 case AArch64::LD1Rv4h:
25349 case AArch64::LD1Rv4s:
25350 case AArch64::LD1Rv8b:
25351 case AArch64::LD1Rv8h:
25352 case AArch64::LD1Threev16b:
25353 case AArch64::LD1Threev1d:
25354 case AArch64::LD1Threev2d:
25355 case AArch64::LD1Threev2s:
25356 case AArch64::LD1Threev4h:
25357 case AArch64::LD1Threev4s:
25358 case AArch64::LD1Threev8b:
25359 case AArch64::LD1Threev8h:
25360 case AArch64::LD1Twov16b:
25361 case AArch64::LD1Twov1d:
25362 case AArch64::LD1Twov2d:
25363 case AArch64::LD1Twov2s:
25364 case AArch64::LD1Twov4h:
25365 case AArch64::LD1Twov4s:
25366 case AArch64::LD1Twov8b:
25367 case AArch64::LD1Twov8h:
25368 case AArch64::LD2Rv16b:
25369 case AArch64::LD2Rv1d:
25370 case AArch64::LD2Rv2d:
25371 case AArch64::LD2Rv2s:
25372 case AArch64::LD2Rv4h:
25373 case AArch64::LD2Rv4s:
25374 case AArch64::LD2Rv8b:
25375 case AArch64::LD2Rv8h:
25376 case AArch64::LD2Twov16b:
25377 case AArch64::LD2Twov2d:
25378 case AArch64::LD2Twov2s:
25379 case AArch64::LD2Twov4h:
25380 case AArch64::LD2Twov4s:
25381 case AArch64::LD2Twov8b:
25382 case AArch64::LD2Twov8h:
25383 case AArch64::LD3Rv16b:
25384 case AArch64::LD3Rv1d:
25385 case AArch64::LD3Rv2d:
25386 case AArch64::LD3Rv2s:
25387 case AArch64::LD3Rv4h:
25388 case AArch64::LD3Rv4s:
25389 case AArch64::LD3Rv8b:
25390 case AArch64::LD3Rv8h:
25391 case AArch64::LD3Threev16b:
25392 case AArch64::LD3Threev2d:
25393 case AArch64::LD3Threev2s:
25394 case AArch64::LD3Threev4h:
25395 case AArch64::LD3Threev4s:
25396 case AArch64::LD3Threev8b:
25397 case AArch64::LD3Threev8h:
25398 case AArch64::LD4Fourv16b:
25399 case AArch64::LD4Fourv2d:
25400 case AArch64::LD4Fourv2s:
25401 case AArch64::LD4Fourv4h:
25402 case AArch64::LD4Fourv4s:
25403 case AArch64::LD4Fourv8b:
25404 case AArch64::LD4Fourv8h:
25405 case AArch64::LD4Rv16b:
25406 case AArch64::LD4Rv1d:
25407 case AArch64::LD4Rv2d:
25408 case AArch64::LD4Rv2s:
25409 case AArch64::LD4Rv4h:
25410 case AArch64::LD4Rv4s:
25411 case AArch64::LD4Rv8b:
25412 case AArch64::LD4Rv8h:
25413 case AArch64::ST1Fourv16b:
25414 case AArch64::ST1Fourv1d:
25415 case AArch64::ST1Fourv2d:
25416 case AArch64::ST1Fourv2s:
25417 case AArch64::ST1Fourv4h:
25418 case AArch64::ST1Fourv4s:
25419 case AArch64::ST1Fourv8b:
25420 case AArch64::ST1Fourv8h:
25421 case AArch64::ST1Onev16b:
25422 case AArch64::ST1Onev1d:
25423 case AArch64::ST1Onev2d:
25424 case AArch64::ST1Onev2s:
25425 case AArch64::ST1Onev4h:
25426 case AArch64::ST1Onev4s:
25427 case AArch64::ST1Onev8b:
25428 case AArch64::ST1Onev8h:
25429 case AArch64::ST1Threev16b:
25430 case AArch64::ST1Threev1d:
25431 case AArch64::ST1Threev2d:
25432 case AArch64::ST1Threev2s:
25433 case AArch64::ST1Threev4h:
25434 case AArch64::ST1Threev4s:
25435 case AArch64::ST1Threev8b:
25436 case AArch64::ST1Threev8h:
25437 case AArch64::ST1Twov16b:
25438 case AArch64::ST1Twov1d:
25439 case AArch64::ST1Twov2d:
25440 case AArch64::ST1Twov2s:
25441 case AArch64::ST1Twov4h:
25442 case AArch64::ST1Twov4s:
25443 case AArch64::ST1Twov8b:
25444 case AArch64::ST1Twov8h:
25445 case AArch64::ST2Twov16b:
25446 case AArch64::ST2Twov2d:
25447 case AArch64::ST2Twov2s:
25448 case AArch64::ST2Twov4h:
25449 case AArch64::ST2Twov4s:
25450 case AArch64::ST2Twov8b:
25451 case AArch64::ST2Twov8h:
25452 case AArch64::ST3Threev16b:
25453 case AArch64::ST3Threev2d:
25454 case AArch64::ST3Threev2s:
25455 case AArch64::ST3Threev4h:
25456 case AArch64::ST3Threev4s:
25457 case AArch64::ST3Threev8b:
25458 case AArch64::ST3Threev8h:
25459 case AArch64::ST4Fourv16b:
25460 case AArch64::ST4Fourv2d:
25461 case AArch64::ST4Fourv2s:
25462 case AArch64::ST4Fourv4h:
25463 case AArch64::ST4Fourv4s:
25464 case AArch64::ST4Fourv8b:
25465 case AArch64::ST4Fourv8h: {
25466 switch (OpNum) {
25467 case 0:
25468 // op: Vt
25469 return 0;
25470 case 1:
25471 // op: Rn
25472 return 5;
25473 }
25474 break;
25475 }
25476 case AArch64::STL1: {
25477 switch (OpNum) {
25478 case 0:
25479 // op: Vt
25480 return 0;
25481 case 2:
25482 // op: Rn
25483 return 5;
25484 case 1:
25485 // op: Q
25486 return 30;
25487 }
25488 break;
25489 }
25490 case AArch64::ST1i8:
25491 case AArch64::ST2i8:
25492 case AArch64::ST3i8:
25493 case AArch64::ST4i8: {
25494 switch (OpNum) {
25495 case 0:
25496 // op: Vt
25497 return 0;
25498 case 2:
25499 // op: Rn
25500 return 5;
25501 case 1:
25502 // op: idx
25503 return 10;
25504 }
25505 break;
25506 }
25507 case AArch64::ST1i16:
25508 case AArch64::ST2i16:
25509 case AArch64::ST3i16:
25510 case AArch64::ST4i16: {
25511 switch (OpNum) {
25512 case 0:
25513 // op: Vt
25514 return 0;
25515 case 2:
25516 // op: Rn
25517 return 5;
25518 case 1:
25519 // op: idx
25520 return 11;
25521 }
25522 break;
25523 }
25524 case AArch64::ST1i32:
25525 case AArch64::ST2i32:
25526 case AArch64::ST3i32:
25527 case AArch64::ST4i32: {
25528 switch (OpNum) {
25529 case 0:
25530 // op: Vt
25531 return 0;
25532 case 2:
25533 // op: Rn
25534 return 5;
25535 case 1:
25536 // op: idx
25537 return 12;
25538 }
25539 break;
25540 }
25541 case AArch64::ST1i64:
25542 case AArch64::ST2i64:
25543 case AArch64::ST3i64:
25544 case AArch64::ST4i64: {
25545 switch (OpNum) {
25546 case 0:
25547 // op: Vt
25548 return 0;
25549 case 2:
25550 // op: Rn
25551 return 5;
25552 case 1:
25553 // op: idx
25554 return 30;
25555 }
25556 break;
25557 }
25558 case AArch64::STLTXRW:
25559 case AArch64::STLTXRX:
25560 case AArch64::STLXRB:
25561 case AArch64::STLXRH:
25562 case AArch64::STLXRW:
25563 case AArch64::STLXRX:
25564 case AArch64::STXRB:
25565 case AArch64::STXRH:
25566 case AArch64::STXRW:
25567 case AArch64::STXRX: {
25568 switch (OpNum) {
25569 case 0:
25570 // op: Ws
25571 return 16;
25572 case 1:
25573 // op: Rt
25574 return 0;
25575 case 2:
25576 // op: Rn
25577 return 5;
25578 }
25579 break;
25580 }
25581 case AArch64::STLXPW:
25582 case AArch64::STLXPX:
25583 case AArch64::STXPW:
25584 case AArch64::STXPX: {
25585 switch (OpNum) {
25586 case 0:
25587 // op: Ws
25588 return 16;
25589 case 1:
25590 // op: Rt
25591 return 0;
25592 case 2:
25593 // op: Rt2
25594 return 10;
25595 case 3:
25596 // op: Rn
25597 return 5;
25598 }
25599 break;
25600 }
25601 case AArch64::TCHANGEBrr:
25602 case AArch64::TCHANGEFrr: {
25603 switch (OpNum) {
25604 case 0:
25605 // op: Xd
25606 return 0;
25607 case 1:
25608 // op: Xn
25609 return 5;
25610 case 2:
25611 // op: nb
25612 return 17;
25613 }
25614 break;
25615 }
25616 case AArch64::TCHANGEBri:
25617 case AArch64::TCHANGEFri: {
25618 switch (OpNum) {
25619 case 0:
25620 // op: Xd
25621 return 0;
25622 case 1:
25623 // op: imm
25624 return 5;
25625 case 2:
25626 // op: nb
25627 return 17;
25628 }
25629 break;
25630 }
25631 case AArch64::ADR:
25632 case AArch64::ADRP: {
25633 switch (OpNum) {
25634 case 0:
25635 // op: Xd
25636 return 0;
25637 case 1:
25638 // op: label
25639 return 5;
25640 }
25641 break;
25642 }
25643 case AArch64::BFTMOPA_M2ZZZI_HtoH:
25644 case AArch64::BFTMOPA_M2ZZZI_HtoS:
25645 case AArch64::FTMOPA_M2ZZZI_BtoH:
25646 case AArch64::FTMOPA_M2ZZZI_BtoS:
25647 case AArch64::FTMOPA_M2ZZZI_HtoH:
25648 case AArch64::FTMOPA_M2ZZZI_HtoS:
25649 case AArch64::FTMOPA_M2ZZZI_StoS:
25650 case AArch64::STMOPA_M2ZZZI_BtoS:
25651 case AArch64::STMOPA_M2ZZZI_HtoS:
25652 case AArch64::SUTMOPA_M2ZZZI_BtoS:
25653 case AArch64::USTMOPA_M2ZZZI_BtoS:
25654 case AArch64::UTMOPA_M2ZZZI_BtoS:
25655 case AArch64::UTMOPA_M2ZZZI_HtoS: {
25656 switch (OpNum) {
25657 case 0:
25658 // op: ZAda
25659 return 0;
25660 case 2:
25661 // op: Zn
25662 return 6;
25663 case 3:
25664 // op: Zm
25665 return 16;
25666 case 4:
25667 // op: Zk
25668 return 10;
25669 case 5:
25670 // op: imm
25671 return 4;
25672 }
25673 break;
25674 }
25675 case AArch64::BFMOP4A_M2Z2Z_H:
25676 case AArch64::BFMOP4A_M2Z2Z_S:
25677 case AArch64::BFMOP4A_M2ZZ_H:
25678 case AArch64::BFMOP4A_M2ZZ_S:
25679 case AArch64::BFMOP4A_MZ2Z_H:
25680 case AArch64::BFMOP4A_MZ2Z_S:
25681 case AArch64::BFMOP4A_MZZ_H:
25682 case AArch64::BFMOP4A_MZZ_S:
25683 case AArch64::BFMOP4S_M2Z2Z_H:
25684 case AArch64::BFMOP4S_M2Z2Z_S:
25685 case AArch64::BFMOP4S_M2ZZ_H:
25686 case AArch64::BFMOP4S_M2ZZ_S:
25687 case AArch64::BFMOP4S_MZ2Z_H:
25688 case AArch64::BFMOP4S_MZ2Z_S:
25689 case AArch64::BFMOP4S_MZZ_H:
25690 case AArch64::BFMOP4S_MZZ_S:
25691 case AArch64::FMOP4A_M2Z2Z_BtoH:
25692 case AArch64::FMOP4A_M2Z2Z_BtoS:
25693 case AArch64::FMOP4A_M2Z2Z_D:
25694 case AArch64::FMOP4A_M2Z2Z_H:
25695 case AArch64::FMOP4A_M2Z2Z_HtoS:
25696 case AArch64::FMOP4A_M2Z2Z_S:
25697 case AArch64::FMOP4A_M2ZZ_BtoH:
25698 case AArch64::FMOP4A_M2ZZ_BtoS:
25699 case AArch64::FMOP4A_M2ZZ_D:
25700 case AArch64::FMOP4A_M2ZZ_H:
25701 case AArch64::FMOP4A_M2ZZ_HtoS:
25702 case AArch64::FMOP4A_M2ZZ_S:
25703 case AArch64::FMOP4A_MZ2Z_BtoH:
25704 case AArch64::FMOP4A_MZ2Z_BtoS:
25705 case AArch64::FMOP4A_MZ2Z_D:
25706 case AArch64::FMOP4A_MZ2Z_H:
25707 case AArch64::FMOP4A_MZ2Z_HtoS:
25708 case AArch64::FMOP4A_MZ2Z_S:
25709 case AArch64::FMOP4A_MZZ_BtoH:
25710 case AArch64::FMOP4A_MZZ_BtoS:
25711 case AArch64::FMOP4A_MZZ_D:
25712 case AArch64::FMOP4A_MZZ_H:
25713 case AArch64::FMOP4A_MZZ_HtoS:
25714 case AArch64::FMOP4A_MZZ_S:
25715 case AArch64::FMOP4S_M2Z2Z_D:
25716 case AArch64::FMOP4S_M2Z2Z_H:
25717 case AArch64::FMOP4S_M2Z2Z_HtoS:
25718 case AArch64::FMOP4S_M2Z2Z_S:
25719 case AArch64::FMOP4S_M2ZZ_D:
25720 case AArch64::FMOP4S_M2ZZ_H:
25721 case AArch64::FMOP4S_M2ZZ_HtoS:
25722 case AArch64::FMOP4S_M2ZZ_S:
25723 case AArch64::FMOP4S_MZ2Z_D:
25724 case AArch64::FMOP4S_MZ2Z_H:
25725 case AArch64::FMOP4S_MZ2Z_HtoS:
25726 case AArch64::FMOP4S_MZ2Z_S:
25727 case AArch64::FMOP4S_MZZ_D:
25728 case AArch64::FMOP4S_MZZ_H:
25729 case AArch64::FMOP4S_MZZ_HtoS:
25730 case AArch64::FMOP4S_MZZ_S:
25731 case AArch64::SMOP4A_M2Z2Z_BToS:
25732 case AArch64::SMOP4A_M2Z2Z_HToS:
25733 case AArch64::SMOP4A_M2Z2Z_HtoD:
25734 case AArch64::SMOP4A_M2ZZ_BToS:
25735 case AArch64::SMOP4A_M2ZZ_HToS:
25736 case AArch64::SMOP4A_M2ZZ_HtoD:
25737 case AArch64::SMOP4A_MZ2Z_BToS:
25738 case AArch64::SMOP4A_MZ2Z_HToS:
25739 case AArch64::SMOP4A_MZ2Z_HtoD:
25740 case AArch64::SMOP4A_MZZ_BToS:
25741 case AArch64::SMOP4A_MZZ_HToS:
25742 case AArch64::SMOP4A_MZZ_HtoD:
25743 case AArch64::SMOP4S_M2Z2Z_BToS:
25744 case AArch64::SMOP4S_M2Z2Z_HToS:
25745 case AArch64::SMOP4S_M2Z2Z_HtoD:
25746 case AArch64::SMOP4S_M2ZZ_BToS:
25747 case AArch64::SMOP4S_M2ZZ_HToS:
25748 case AArch64::SMOP4S_M2ZZ_HtoD:
25749 case AArch64::SMOP4S_MZ2Z_BToS:
25750 case AArch64::SMOP4S_MZ2Z_HToS:
25751 case AArch64::SMOP4S_MZ2Z_HtoD:
25752 case AArch64::SMOP4S_MZZ_BToS:
25753 case AArch64::SMOP4S_MZZ_HToS:
25754 case AArch64::SMOP4S_MZZ_HtoD:
25755 case AArch64::SUMOP4A_M2Z2Z_BToS:
25756 case AArch64::SUMOP4A_M2Z2Z_HtoD:
25757 case AArch64::SUMOP4A_M2ZZ_BToS:
25758 case AArch64::SUMOP4A_M2ZZ_HtoD:
25759 case AArch64::SUMOP4A_MZ2Z_BToS:
25760 case AArch64::SUMOP4A_MZ2Z_HtoD:
25761 case AArch64::SUMOP4A_MZZ_BToS:
25762 case AArch64::SUMOP4A_MZZ_HtoD:
25763 case AArch64::SUMOP4S_M2Z2Z_BToS:
25764 case AArch64::SUMOP4S_M2Z2Z_HtoD:
25765 case AArch64::SUMOP4S_M2ZZ_BToS:
25766 case AArch64::SUMOP4S_M2ZZ_HtoD:
25767 case AArch64::SUMOP4S_MZ2Z_BToS:
25768 case AArch64::SUMOP4S_MZ2Z_HtoD:
25769 case AArch64::SUMOP4S_MZZ_BToS:
25770 case AArch64::SUMOP4S_MZZ_HtoD:
25771 case AArch64::UMOP4A_M2Z2Z_BToS:
25772 case AArch64::UMOP4A_M2Z2Z_HToS:
25773 case AArch64::UMOP4A_M2Z2Z_HtoD:
25774 case AArch64::UMOP4A_M2ZZ_BToS:
25775 case AArch64::UMOP4A_M2ZZ_HToS:
25776 case AArch64::UMOP4A_M2ZZ_HtoD:
25777 case AArch64::UMOP4A_MZ2Z_BToS:
25778 case AArch64::UMOP4A_MZ2Z_HToS:
25779 case AArch64::UMOP4A_MZ2Z_HtoD:
25780 case AArch64::UMOP4A_MZZ_BToS:
25781 case AArch64::UMOP4A_MZZ_HToS:
25782 case AArch64::UMOP4A_MZZ_HtoD:
25783 case AArch64::UMOP4S_M2Z2Z_BToS:
25784 case AArch64::UMOP4S_M2Z2Z_HToS:
25785 case AArch64::UMOP4S_M2Z2Z_HtoD:
25786 case AArch64::UMOP4S_M2ZZ_BToS:
25787 case AArch64::UMOP4S_M2ZZ_HToS:
25788 case AArch64::UMOP4S_M2ZZ_HtoD:
25789 case AArch64::UMOP4S_MZ2Z_BToS:
25790 case AArch64::UMOP4S_MZ2Z_HToS:
25791 case AArch64::UMOP4S_MZ2Z_HtoD:
25792 case AArch64::UMOP4S_MZZ_BToS:
25793 case AArch64::UMOP4S_MZZ_HToS:
25794 case AArch64::UMOP4S_MZZ_HtoD:
25795 case AArch64::USMOP4A_M2Z2Z_BToS:
25796 case AArch64::USMOP4A_M2Z2Z_HtoD:
25797 case AArch64::USMOP4A_M2ZZ_BToS:
25798 case AArch64::USMOP4A_M2ZZ_HtoD:
25799 case AArch64::USMOP4A_MZ2Z_BToS:
25800 case AArch64::USMOP4A_MZ2Z_HtoD:
25801 case AArch64::USMOP4A_MZZ_BToS:
25802 case AArch64::USMOP4A_MZZ_HtoD:
25803 case AArch64::USMOP4S_M2Z2Z_BToS:
25804 case AArch64::USMOP4S_M2Z2Z_HtoD:
25805 case AArch64::USMOP4S_M2ZZ_BToS:
25806 case AArch64::USMOP4S_M2ZZ_HtoD:
25807 case AArch64::USMOP4S_MZ2Z_BToS:
25808 case AArch64::USMOP4S_MZ2Z_HtoD:
25809 case AArch64::USMOP4S_MZZ_BToS:
25810 case AArch64::USMOP4S_MZZ_HtoD: {
25811 switch (OpNum) {
25812 case 0:
25813 // op: ZAda
25814 return 0;
25815 case 2:
25816 // op: Zn
25817 return 6;
25818 case 3:
25819 // op: Zm
25820 return 17;
25821 }
25822 break;
25823 }
25824 case AArch64::RBIT_ZPzZ_B:
25825 case AArch64::RBIT_ZPzZ_D:
25826 case AArch64::RBIT_ZPzZ_H:
25827 case AArch64::RBIT_ZPzZ_S:
25828 case AArch64::REVB_ZPzZ_D:
25829 case AArch64::REVB_ZPzZ_H:
25830 case AArch64::REVB_ZPzZ_S:
25831 case AArch64::REVD_ZPzZ:
25832 case AArch64::REVH_ZPzZ_D:
25833 case AArch64::REVH_ZPzZ_S:
25834 case AArch64::REVW_ZPzZ_D: {
25835 switch (OpNum) {
25836 case 0:
25837 // op: Zd
25838 return 0;
25839 case 1:
25840 // op: Pg
25841 return 10;
25842 case 2:
25843 // op: Zn
25844 return 5;
25845 }
25846 break;
25847 }
25848 case AArch64::CPY_ZPzI_B:
25849 case AArch64::CPY_ZPzI_D:
25850 case AArch64::CPY_ZPzI_H:
25851 case AArch64::CPY_ZPzI_S: {
25852 switch (OpNum) {
25853 case 0:
25854 // op: Zd
25855 return 0;
25856 case 1:
25857 // op: Pg
25858 return 16;
25859 case 2:
25860 // op: imm
25861 return 5;
25862 }
25863 break;
25864 }
25865 case AArch64::LUTI6_S_4Z2Z2ZI: {
25866 switch (OpNum) {
25867 case 0:
25868 // op: Zd
25869 return 0;
25870 case 1:
25871 // op: Zn
25872 return 5;
25873 case 2:
25874 // op: Zm
25875 return 16;
25876 case 3:
25877 // op: i1
25878 return 22;
25879 }
25880 break;
25881 }
25882 case AArch64::LUTI2_ZZZI_H: {
25883 switch (OpNum) {
25884 case 0:
25885 // op: Zd
25886 return 0;
25887 case 1:
25888 // op: Zn
25889 return 5;
25890 case 2:
25891 // op: Zm
25892 return 16;
25893 case 3:
25894 // op: idx
25895 return 12;
25896 }
25897 break;
25898 }
25899 case AArch64::LUTI2_ZZZI_B:
25900 case AArch64::LUTI4_Z2ZZI:
25901 case AArch64::LUTI4_ZZZI_H: {
25902 switch (OpNum) {
25903 case 0:
25904 // op: Zd
25905 return 0;
25906 case 1:
25907 // op: Zn
25908 return 5;
25909 case 2:
25910 // op: Zm
25911 return 16;
25912 case 3:
25913 // op: idx
25914 return 22;
25915 }
25916 break;
25917 }
25918 case AArch64::LUTI4_ZZZI_B:
25919 case AArch64::LUTI6_Z2ZZI_H: {
25920 switch (OpNum) {
25921 case 0:
25922 // op: Zd
25923 return 0;
25924 case 1:
25925 // op: Zn
25926 return 5;
25927 case 2:
25928 // op: Zm
25929 return 16;
25930 case 3:
25931 // op: idx
25932 return 23;
25933 }
25934 break;
25935 }
25936 case AArch64::SMULLB_ZZZI_D:
25937 case AArch64::SMULLB_ZZZI_S:
25938 case AArch64::SMULLT_ZZZI_D:
25939 case AArch64::SMULLT_ZZZI_S:
25940 case AArch64::SQDMULLB_ZZZI_D:
25941 case AArch64::SQDMULLB_ZZZI_S:
25942 case AArch64::SQDMULLT_ZZZI_D:
25943 case AArch64::SQDMULLT_ZZZI_S:
25944 case AArch64::UMULLB_ZZZI_D:
25945 case AArch64::UMULLB_ZZZI_S:
25946 case AArch64::UMULLT_ZZZI_D:
25947 case AArch64::UMULLT_ZZZI_S: {
25948 switch (OpNum) {
25949 case 0:
25950 // op: Zd
25951 return 0;
25952 case 1:
25953 // op: Zn
25954 return 5;
25955 case 2:
25956 // op: Zm
25957 return 16;
25958 case 3:
25959 // op: iop
25960 return 11;
25961 }
25962 break;
25963 }
25964 case AArch64::BFMUL_ZZZI:
25965 case AArch64::FMUL_ZZZI_H:
25966 case AArch64::FMUL_ZZZI_S:
25967 case AArch64::MUL_ZZZI_H:
25968 case AArch64::MUL_ZZZI_S:
25969 case AArch64::SQDMULH_ZZZI_H:
25970 case AArch64::SQDMULH_ZZZI_S:
25971 case AArch64::SQRDMULH_ZZZI_H:
25972 case AArch64::SQRDMULH_ZZZI_S: {
25973 switch (OpNum) {
25974 case 0:
25975 // op: Zd
25976 return 0;
25977 case 1:
25978 // op: Zn
25979 return 5;
25980 case 2:
25981 // op: Zm
25982 return 16;
25983 case 3:
25984 // op: iop
25985 return 19;
25986 }
25987 break;
25988 }
25989 case AArch64::FMUL_ZZZI_D:
25990 case AArch64::MUL_ZZZI_D:
25991 case AArch64::SQDMULH_ZZZI_D:
25992 case AArch64::SQRDMULH_ZZZI_D: {
25993 switch (OpNum) {
25994 case 0:
25995 // op: Zd
25996 return 0;
25997 case 1:
25998 // op: Zn
25999 return 5;
26000 case 2:
26001 // op: Zm
26002 return 16;
26003 case 3:
26004 // op: iop
26005 return 20;
26006 }
26007 break;
26008 }
26009 case AArch64::ADDHNB_ZZZ_B:
26010 case AArch64::ADDHNB_ZZZ_H:
26011 case AArch64::ADDHNB_ZZZ_S:
26012 case AArch64::ADR_LSL_ZZZ_D_0:
26013 case AArch64::ADR_LSL_ZZZ_D_1:
26014 case AArch64::ADR_LSL_ZZZ_D_2:
26015 case AArch64::ADR_LSL_ZZZ_D_3:
26016 case AArch64::ADR_LSL_ZZZ_S_0:
26017 case AArch64::ADR_LSL_ZZZ_S_1:
26018 case AArch64::ADR_LSL_ZZZ_S_2:
26019 case AArch64::ADR_LSL_ZZZ_S_3:
26020 case AArch64::ADR_SXTW_ZZZ_D_0:
26021 case AArch64::ADR_SXTW_ZZZ_D_1:
26022 case AArch64::ADR_SXTW_ZZZ_D_2:
26023 case AArch64::ADR_SXTW_ZZZ_D_3:
26024 case AArch64::ADR_UXTW_ZZZ_D_0:
26025 case AArch64::ADR_UXTW_ZZZ_D_1:
26026 case AArch64::ADR_UXTW_ZZZ_D_2:
26027 case AArch64::ADR_UXTW_ZZZ_D_3:
26028 case AArch64::BDEP_ZZZ_B:
26029 case AArch64::BDEP_ZZZ_D:
26030 case AArch64::BDEP_ZZZ_H:
26031 case AArch64::BDEP_ZZZ_S:
26032 case AArch64::BEXT_ZZZ_B:
26033 case AArch64::BEXT_ZZZ_D:
26034 case AArch64::BEXT_ZZZ_H:
26035 case AArch64::BEXT_ZZZ_S:
26036 case AArch64::BGRP_ZZZ_B:
26037 case AArch64::BGRP_ZZZ_D:
26038 case AArch64::BGRP_ZZZ_H:
26039 case AArch64::BGRP_ZZZ_S:
26040 case AArch64::HISTSEG_ZZZ:
26041 case AArch64::LUTI6_Z2ZZ:
26042 case AArch64::PMULLB_ZZZ_D:
26043 case AArch64::PMULLB_ZZZ_H:
26044 case AArch64::PMULLB_ZZZ_Q:
26045 case AArch64::PMULLT_ZZZ_D:
26046 case AArch64::PMULLT_ZZZ_H:
26047 case AArch64::PMULLT_ZZZ_Q:
26048 case AArch64::RADDHNB_ZZZ_B:
26049 case AArch64::RADDHNB_ZZZ_H:
26050 case AArch64::RADDHNB_ZZZ_S:
26051 case AArch64::RAX1_ZZZ_D:
26052 case AArch64::RSUBHNB_ZZZ_B:
26053 case AArch64::RSUBHNB_ZZZ_H:
26054 case AArch64::RSUBHNB_ZZZ_S:
26055 case AArch64::SABDLB_ZZZ_D:
26056 case AArch64::SABDLB_ZZZ_H:
26057 case AArch64::SABDLB_ZZZ_S:
26058 case AArch64::SABDLT_ZZZ_D:
26059 case AArch64::SABDLT_ZZZ_H:
26060 case AArch64::SABDLT_ZZZ_S:
26061 case AArch64::SADDLBT_ZZZ_D:
26062 case AArch64::SADDLBT_ZZZ_H:
26063 case AArch64::SADDLBT_ZZZ_S:
26064 case AArch64::SADDLB_ZZZ_D:
26065 case AArch64::SADDLB_ZZZ_H:
26066 case AArch64::SADDLB_ZZZ_S:
26067 case AArch64::SADDLT_ZZZ_D:
26068 case AArch64::SADDLT_ZZZ_H:
26069 case AArch64::SADDLT_ZZZ_S:
26070 case AArch64::SADDWB_ZZZ_D:
26071 case AArch64::SADDWB_ZZZ_H:
26072 case AArch64::SADDWB_ZZZ_S:
26073 case AArch64::SADDWT_ZZZ_D:
26074 case AArch64::SADDWT_ZZZ_H:
26075 case AArch64::SADDWT_ZZZ_S:
26076 case AArch64::SM4EKEY_ZZZ_S:
26077 case AArch64::SMULLB_ZZZ_D:
26078 case AArch64::SMULLB_ZZZ_H:
26079 case AArch64::SMULLB_ZZZ_S:
26080 case AArch64::SMULLT_ZZZ_D:
26081 case AArch64::SMULLT_ZZZ_H:
26082 case AArch64::SMULLT_ZZZ_S:
26083 case AArch64::SQDMULLB_ZZZ_D:
26084 case AArch64::SQDMULLB_ZZZ_H:
26085 case AArch64::SQDMULLB_ZZZ_S:
26086 case AArch64::SQDMULLT_ZZZ_D:
26087 case AArch64::SQDMULLT_ZZZ_H:
26088 case AArch64::SQDMULLT_ZZZ_S:
26089 case AArch64::SSUBLBT_ZZZ_D:
26090 case AArch64::SSUBLBT_ZZZ_H:
26091 case AArch64::SSUBLBT_ZZZ_S:
26092 case AArch64::SSUBLB_ZZZ_D:
26093 case AArch64::SSUBLB_ZZZ_H:
26094 case AArch64::SSUBLB_ZZZ_S:
26095 case AArch64::SSUBLTB_ZZZ_D:
26096 case AArch64::SSUBLTB_ZZZ_H:
26097 case AArch64::SSUBLTB_ZZZ_S:
26098 case AArch64::SSUBLT_ZZZ_D:
26099 case AArch64::SSUBLT_ZZZ_H:
26100 case AArch64::SSUBLT_ZZZ_S:
26101 case AArch64::SSUBWB_ZZZ_D:
26102 case AArch64::SSUBWB_ZZZ_H:
26103 case AArch64::SSUBWB_ZZZ_S:
26104 case AArch64::SSUBWT_ZZZ_D:
26105 case AArch64::SSUBWT_ZZZ_H:
26106 case AArch64::SSUBWT_ZZZ_S:
26107 case AArch64::SUBHNB_ZZZ_B:
26108 case AArch64::SUBHNB_ZZZ_H:
26109 case AArch64::SUBHNB_ZZZ_S:
26110 case AArch64::TBLQ_ZZZ_B:
26111 case AArch64::TBLQ_ZZZ_D:
26112 case AArch64::TBLQ_ZZZ_H:
26113 case AArch64::TBLQ_ZZZ_S:
26114 case AArch64::UABDLB_ZZZ_D:
26115 case AArch64::UABDLB_ZZZ_H:
26116 case AArch64::UABDLB_ZZZ_S:
26117 case AArch64::UABDLT_ZZZ_D:
26118 case AArch64::UABDLT_ZZZ_H:
26119 case AArch64::UABDLT_ZZZ_S:
26120 case AArch64::UADDLB_ZZZ_D:
26121 case AArch64::UADDLB_ZZZ_H:
26122 case AArch64::UADDLB_ZZZ_S:
26123 case AArch64::UADDLT_ZZZ_D:
26124 case AArch64::UADDLT_ZZZ_H:
26125 case AArch64::UADDLT_ZZZ_S:
26126 case AArch64::UADDWB_ZZZ_D:
26127 case AArch64::UADDWB_ZZZ_H:
26128 case AArch64::UADDWB_ZZZ_S:
26129 case AArch64::UADDWT_ZZZ_D:
26130 case AArch64::UADDWT_ZZZ_H:
26131 case AArch64::UADDWT_ZZZ_S:
26132 case AArch64::UMULLB_ZZZ_D:
26133 case AArch64::UMULLB_ZZZ_H:
26134 case AArch64::UMULLB_ZZZ_S:
26135 case AArch64::UMULLT_ZZZ_D:
26136 case AArch64::UMULLT_ZZZ_H:
26137 case AArch64::UMULLT_ZZZ_S:
26138 case AArch64::USUBLB_ZZZ_D:
26139 case AArch64::USUBLB_ZZZ_H:
26140 case AArch64::USUBLB_ZZZ_S:
26141 case AArch64::USUBLT_ZZZ_D:
26142 case AArch64::USUBLT_ZZZ_H:
26143 case AArch64::USUBLT_ZZZ_S:
26144 case AArch64::USUBWB_ZZZ_D:
26145 case AArch64::USUBWB_ZZZ_H:
26146 case AArch64::USUBWB_ZZZ_S:
26147 case AArch64::USUBWT_ZZZ_D:
26148 case AArch64::USUBWT_ZZZ_H:
26149 case AArch64::USUBWT_ZZZ_S:
26150 case AArch64::UZPQ1_ZZZ_B:
26151 case AArch64::UZPQ1_ZZZ_D:
26152 case AArch64::UZPQ1_ZZZ_H:
26153 case AArch64::UZPQ1_ZZZ_S:
26154 case AArch64::UZPQ2_ZZZ_B:
26155 case AArch64::UZPQ2_ZZZ_D:
26156 case AArch64::UZPQ2_ZZZ_H:
26157 case AArch64::UZPQ2_ZZZ_S:
26158 case AArch64::ZIPQ1_ZZZ_B:
26159 case AArch64::ZIPQ1_ZZZ_D:
26160 case AArch64::ZIPQ1_ZZZ_H:
26161 case AArch64::ZIPQ1_ZZZ_S:
26162 case AArch64::ZIPQ2_ZZZ_B:
26163 case AArch64::ZIPQ2_ZZZ_D:
26164 case AArch64::ZIPQ2_ZZZ_H:
26165 case AArch64::ZIPQ2_ZZZ_S: {
26166 switch (OpNum) {
26167 case 0:
26168 // op: Zd
26169 return 0;
26170 case 1:
26171 // op: Zn
26172 return 5;
26173 case 2:
26174 // op: Zm
26175 return 16;
26176 }
26177 break;
26178 }
26179 case AArch64::DUP_ZZI_B: {
26180 switch (OpNum) {
26181 case 0:
26182 // op: Zd
26183 return 0;
26184 case 1:
26185 // op: Zn
26186 return 5;
26187 case 2:
26188 // op: idx
26189 return 17;
26190 }
26191 break;
26192 }
26193 case AArch64::DUP_ZZI_H: {
26194 switch (OpNum) {
26195 case 0:
26196 // op: Zd
26197 return 0;
26198 case 1:
26199 // op: Zn
26200 return 5;
26201 case 2:
26202 // op: idx
26203 return 18;
26204 }
26205 break;
26206 }
26207 case AArch64::DUP_ZZI_S: {
26208 switch (OpNum) {
26209 case 0:
26210 // op: Zd
26211 return 0;
26212 case 1:
26213 // op: Zn
26214 return 5;
26215 case 2:
26216 // op: idx
26217 return 19;
26218 }
26219 break;
26220 }
26221 case AArch64::DUP_ZZI_D: {
26222 switch (OpNum) {
26223 case 0:
26224 // op: Zd
26225 return 0;
26226 case 1:
26227 // op: Zn
26228 return 5;
26229 case 2:
26230 // op: idx
26231 return 20;
26232 }
26233 break;
26234 }
26235 case AArch64::DUP_ZZI_Q: {
26236 switch (OpNum) {
26237 case 0:
26238 // op: Zd
26239 return 0;
26240 case 1:
26241 // op: Zn
26242 return 5;
26243 case 2:
26244 // op: idx
26245 return 22;
26246 }
26247 break;
26248 }
26249 case AArch64::ASR_ZZI_B:
26250 case AArch64::ASR_ZZI_D:
26251 case AArch64::ASR_ZZI_H:
26252 case AArch64::ASR_ZZI_S:
26253 case AArch64::LSL_ZZI_B:
26254 case AArch64::LSL_ZZI_D:
26255 case AArch64::LSL_ZZI_H:
26256 case AArch64::LSL_ZZI_S:
26257 case AArch64::LSR_ZZI_B:
26258 case AArch64::LSR_ZZI_D:
26259 case AArch64::LSR_ZZI_H:
26260 case AArch64::LSR_ZZI_S:
26261 case AArch64::RSHRNB_ZZI_B:
26262 case AArch64::RSHRNB_ZZI_H:
26263 case AArch64::RSHRNB_ZZI_S:
26264 case AArch64::SHRNB_ZZI_B:
26265 case AArch64::SHRNB_ZZI_H:
26266 case AArch64::SHRNB_ZZI_S:
26267 case AArch64::SQRSHRNB_ZZI_B:
26268 case AArch64::SQRSHRNB_ZZI_H:
26269 case AArch64::SQRSHRNB_ZZI_S:
26270 case AArch64::SQRSHRUNB_ZZI_B:
26271 case AArch64::SQRSHRUNB_ZZI_H:
26272 case AArch64::SQRSHRUNB_ZZI_S:
26273 case AArch64::SQSHRNB_ZZI_B:
26274 case AArch64::SQSHRNB_ZZI_H:
26275 case AArch64::SQSHRNB_ZZI_S:
26276 case AArch64::SQSHRUNB_ZZI_B:
26277 case AArch64::SQSHRUNB_ZZI_H:
26278 case AArch64::SQSHRUNB_ZZI_S:
26279 case AArch64::SSHLLB_ZZI_D:
26280 case AArch64::SSHLLB_ZZI_H:
26281 case AArch64::SSHLLB_ZZI_S:
26282 case AArch64::SSHLLT_ZZI_D:
26283 case AArch64::SSHLLT_ZZI_H:
26284 case AArch64::SSHLLT_ZZI_S:
26285 case AArch64::UQRSHRNB_ZZI_B:
26286 case AArch64::UQRSHRNB_ZZI_H:
26287 case AArch64::UQRSHRNB_ZZI_S:
26288 case AArch64::UQSHRNB_ZZI_B:
26289 case AArch64::UQSHRNB_ZZI_H:
26290 case AArch64::UQSHRNB_ZZI_S:
26291 case AArch64::USHLLB_ZZI_D:
26292 case AArch64::USHLLB_ZZI_H:
26293 case AArch64::USHLLB_ZZI_S:
26294 case AArch64::USHLLT_ZZI_D:
26295 case AArch64::USHLLT_ZZI_H:
26296 case AArch64::USHLLT_ZZI_S: {
26297 switch (OpNum) {
26298 case 0:
26299 // op: Zd
26300 return 0;
26301 case 1:
26302 // op: Zn
26303 return 5;
26304 case 2:
26305 // op: imm
26306 return 16;
26307 }
26308 break;
26309 }
26310 case AArch64::EXT_ZZI_B: {
26311 switch (OpNum) {
26312 case 0:
26313 // op: Zd
26314 return 0;
26315 case 1:
26316 // op: Zn
26317 return 5;
26318 case 2:
26319 // op: imm8
26320 return 10;
26321 }
26322 break;
26323 }
26324 case AArch64::DUPQ_ZZI_B: {
26325 switch (OpNum) {
26326 case 0:
26327 // op: Zd
26328 return 0;
26329 case 1:
26330 // op: Zn
26331 return 5;
26332 case 2:
26333 // op: index
26334 return 17;
26335 }
26336 break;
26337 }
26338 case AArch64::DUPQ_ZZI_H: {
26339 switch (OpNum) {
26340 case 0:
26341 // op: Zd
26342 return 0;
26343 case 1:
26344 // op: Zn
26345 return 5;
26346 case 2:
26347 // op: index
26348 return 18;
26349 }
26350 break;
26351 }
26352 case AArch64::DUPQ_ZZI_S: {
26353 switch (OpNum) {
26354 case 0:
26355 // op: Zd
26356 return 0;
26357 case 1:
26358 // op: Zn
26359 return 5;
26360 case 2:
26361 // op: index
26362 return 19;
26363 }
26364 break;
26365 }
26366 case AArch64::DUPQ_ZZI_D: {
26367 switch (OpNum) {
26368 case 0:
26369 // op: Zd
26370 return 0;
26371 case 1:
26372 // op: Zn
26373 return 5;
26374 case 2:
26375 // op: index
26376 return 20;
26377 }
26378 break;
26379 }
26380 case AArch64::BF1CVTLT_ZZ_BtoH:
26381 case AArch64::BF1CVT_ZZ_BtoH:
26382 case AArch64::BF2CVTLT_ZZ_BtoH:
26383 case AArch64::BF2CVT_ZZ_BtoH:
26384 case AArch64::F1CVTLT_ZZ_BtoH:
26385 case AArch64::F1CVT_ZZ_BtoH:
26386 case AArch64::F2CVTLT_ZZ_BtoH:
26387 case AArch64::F2CVT_ZZ_BtoH:
26388 case AArch64::FEXPA_ZZ_D:
26389 case AArch64::FEXPA_ZZ_H:
26390 case AArch64::FEXPA_ZZ_S:
26391 case AArch64::FRECPE_ZZ_D:
26392 case AArch64::FRECPE_ZZ_H:
26393 case AArch64::FRECPE_ZZ_S:
26394 case AArch64::FRSQRTE_ZZ_D:
26395 case AArch64::FRSQRTE_ZZ_H:
26396 case AArch64::FRSQRTE_ZZ_S:
26397 case AArch64::MOVPRFX_ZZ:
26398 case AArch64::REV_ZZ_B:
26399 case AArch64::REV_ZZ_D:
26400 case AArch64::REV_ZZ_H:
26401 case AArch64::REV_ZZ_S:
26402 case AArch64::SCVTFLT_ZZ_BtoH:
26403 case AArch64::SCVTFLT_ZZ_HtoS:
26404 case AArch64::SCVTFLT_ZZ_StoD:
26405 case AArch64::SCVTF_ZZ_BtoH:
26406 case AArch64::SCVTF_ZZ_HtoS:
26407 case AArch64::SCVTF_ZZ_StoD:
26408 case AArch64::SQXTNB_ZZ_B:
26409 case AArch64::SQXTNB_ZZ_H:
26410 case AArch64::SQXTNB_ZZ_S:
26411 case AArch64::SQXTUNB_ZZ_B:
26412 case AArch64::SQXTUNB_ZZ_H:
26413 case AArch64::SQXTUNB_ZZ_S:
26414 case AArch64::SUNPKHI_ZZ_D:
26415 case AArch64::SUNPKHI_ZZ_H:
26416 case AArch64::SUNPKHI_ZZ_S:
26417 case AArch64::SUNPKLO_ZZ_D:
26418 case AArch64::SUNPKLO_ZZ_H:
26419 case AArch64::SUNPKLO_ZZ_S:
26420 case AArch64::UCVTFLT_ZZ_BtoH:
26421 case AArch64::UCVTFLT_ZZ_HtoS:
26422 case AArch64::UCVTFLT_ZZ_StoD:
26423 case AArch64::UCVTF_ZZ_BtoH:
26424 case AArch64::UCVTF_ZZ_HtoS:
26425 case AArch64::UCVTF_ZZ_StoD:
26426 case AArch64::UQXTNB_ZZ_B:
26427 case AArch64::UQXTNB_ZZ_H:
26428 case AArch64::UQXTNB_ZZ_S:
26429 case AArch64::UUNPKHI_ZZ_D:
26430 case AArch64::UUNPKHI_ZZ_H:
26431 case AArch64::UUNPKHI_ZZ_S:
26432 case AArch64::UUNPKLO_ZZ_D:
26433 case AArch64::UUNPKLO_ZZ_H:
26434 case AArch64::UUNPKLO_ZZ_S: {
26435 switch (OpNum) {
26436 case 0:
26437 // op: Zd
26438 return 0;
26439 case 1:
26440 // op: Zn
26441 return 5;
26442 }
26443 break;
26444 }
26445 case AArch64::SQRSHRN_Z2ZI_HtoB:
26446 case AArch64::SQRSHRN_Z2ZI_StoH:
26447 case AArch64::SQRSHRUN_Z2ZI_HtoB:
26448 case AArch64::SQRSHRUN_Z2ZI_StoH:
26449 case AArch64::SQSHRN_Z2ZI_HtoB:
26450 case AArch64::SQSHRN_Z2ZI_StoH:
26451 case AArch64::SQSHRUN_Z2ZI_HtoB:
26452 case AArch64::SQSHRUN_Z2ZI_StoH:
26453 case AArch64::UQRSHRN_Z2ZI_HtoB:
26454 case AArch64::UQRSHRN_Z2ZI_StoH:
26455 case AArch64::UQSHRN_Z2ZI_HtoB:
26456 case AArch64::UQSHRN_Z2ZI_StoH: {
26457 switch (OpNum) {
26458 case 0:
26459 // op: Zd
26460 return 0;
26461 case 1:
26462 // op: Zn
26463 return 6;
26464 case 2:
26465 // op: imm
26466 return 16;
26467 }
26468 break;
26469 }
26470 case AArch64::BFCVTN_Z2Z_HtoB:
26471 case AArch64::FCVTNB_Z2Z_StoB:
26472 case AArch64::FCVTN_Z2Z_HtoB:
26473 case AArch64::FCVTZSN_Z2Z_DtoS:
26474 case AArch64::FCVTZSN_Z2Z_HtoB:
26475 case AArch64::FCVTZSN_Z2Z_StoH:
26476 case AArch64::FCVTZUN_Z2Z_DtoS:
26477 case AArch64::FCVTZUN_Z2Z_HtoB:
26478 case AArch64::FCVTZUN_Z2Z_StoH:
26479 case AArch64::SQCVTN_Z2Z_StoH:
26480 case AArch64::SQCVTUN_Z2Z_StoH:
26481 case AArch64::UQCVTN_Z2Z_StoH: {
26482 switch (OpNum) {
26483 case 0:
26484 // op: Zd
26485 return 0;
26486 case 1:
26487 // op: Zn
26488 return 6;
26489 }
26490 break;
26491 }
26492 case AArch64::DUP_ZI_B:
26493 case AArch64::DUP_ZI_D:
26494 case AArch64::DUP_ZI_H:
26495 case AArch64::DUP_ZI_S: {
26496 switch (OpNum) {
26497 case 0:
26498 // op: Zd
26499 return 0;
26500 case 1:
26501 // op: imm
26502 return 5;
26503 }
26504 break;
26505 }
26506 case AArch64::INDEX_II_B:
26507 case AArch64::INDEX_II_D:
26508 case AArch64::INDEX_II_H:
26509 case AArch64::INDEX_II_S: {
26510 switch (OpNum) {
26511 case 0:
26512 // op: Zd
26513 return 0;
26514 case 1:
26515 // op: imm5
26516 return 5;
26517 case 2:
26518 // op: imm5b
26519 return 16;
26520 }
26521 break;
26522 }
26523 case AArch64::FDUP_ZI_D:
26524 case AArch64::FDUP_ZI_H:
26525 case AArch64::FDUP_ZI_S: {
26526 switch (OpNum) {
26527 case 0:
26528 // op: Zd
26529 return 0;
26530 case 1:
26531 // op: imm8
26532 return 5;
26533 }
26534 break;
26535 }
26536 case AArch64::DUPM_ZI: {
26537 switch (OpNum) {
26538 case 0:
26539 // op: Zd
26540 return 0;
26541 case 1:
26542 // op: imms
26543 return 5;
26544 }
26545 break;
26546 }
26547 case AArch64::RBIT_ZPmZ_B:
26548 case AArch64::RBIT_ZPmZ_D:
26549 case AArch64::RBIT_ZPmZ_H:
26550 case AArch64::RBIT_ZPmZ_S:
26551 case AArch64::REVB_ZPmZ_D:
26552 case AArch64::REVB_ZPmZ_H:
26553 case AArch64::REVB_ZPmZ_S:
26554 case AArch64::REVD_ZPmZ:
26555 case AArch64::REVH_ZPmZ_D:
26556 case AArch64::REVH_ZPmZ_S:
26557 case AArch64::REVW_ZPmZ_D: {
26558 switch (OpNum) {
26559 case 0:
26560 // op: Zd
26561 return 0;
26562 case 2:
26563 // op: Pg
26564 return 10;
26565 case 3:
26566 // op: Zn
26567 return 5;
26568 }
26569 break;
26570 }
26571 case AArch64::CPY_ZPmI_B:
26572 case AArch64::CPY_ZPmI_D:
26573 case AArch64::CPY_ZPmI_H:
26574 case AArch64::CPY_ZPmI_S: {
26575 switch (OpNum) {
26576 case 0:
26577 // op: Zd
26578 return 0;
26579 case 2:
26580 // op: Pg
26581 return 16;
26582 case 3:
26583 // op: imm
26584 return 5;
26585 }
26586 break;
26587 }
26588 case AArch64::INDEX_RR_B:
26589 case AArch64::INDEX_RR_D:
26590 case AArch64::INDEX_RR_H:
26591 case AArch64::INDEX_RR_S: {
26592 switch (OpNum) {
26593 case 0:
26594 // op: Zd
26595 return 0;
26596 case 2:
26597 // op: Rm
26598 return 16;
26599 case 1:
26600 // op: Rn
26601 return 5;
26602 }
26603 break;
26604 }
26605 case AArch64::ADDQP_ZZZ_B:
26606 case AArch64::ADDQP_ZZZ_D:
26607 case AArch64::ADDQP_ZZZ_H:
26608 case AArch64::ADDQP_ZZZ_S:
26609 case AArch64::ADDSUBP_ZZZ_B:
26610 case AArch64::ADDSUBP_ZZZ_D:
26611 case AArch64::ADDSUBP_ZZZ_H:
26612 case AArch64::ADDSUBP_ZZZ_S:
26613 case AArch64::ADD_ZZZ_B:
26614 case AArch64::ADD_ZZZ_CPA:
26615 case AArch64::ADD_ZZZ_D:
26616 case AArch64::ADD_ZZZ_H:
26617 case AArch64::ADD_ZZZ_S:
26618 case AArch64::AND_ZZZ:
26619 case AArch64::ASR_WIDE_ZZZ_B:
26620 case AArch64::ASR_WIDE_ZZZ_H:
26621 case AArch64::ASR_WIDE_ZZZ_S:
26622 case AArch64::BFADD_ZZZ:
26623 case AArch64::BFMUL_ZZZ:
26624 case AArch64::BFSUB_ZZZ:
26625 case AArch64::BIC_ZZZ:
26626 case AArch64::EOR_ZZZ:
26627 case AArch64::FADD_ZZZ_D:
26628 case AArch64::FADD_ZZZ_H:
26629 case AArch64::FADD_ZZZ_S:
26630 case AArch64::FMUL_ZZZ_D:
26631 case AArch64::FMUL_ZZZ_H:
26632 case AArch64::FMUL_ZZZ_S:
26633 case AArch64::FRECPS_ZZZ_D:
26634 case AArch64::FRECPS_ZZZ_H:
26635 case AArch64::FRECPS_ZZZ_S:
26636 case AArch64::FRSQRTS_ZZZ_D:
26637 case AArch64::FRSQRTS_ZZZ_H:
26638 case AArch64::FRSQRTS_ZZZ_S:
26639 case AArch64::FSUB_ZZZ_D:
26640 case AArch64::FSUB_ZZZ_H:
26641 case AArch64::FSUB_ZZZ_S:
26642 case AArch64::FTSMUL_ZZZ_D:
26643 case AArch64::FTSMUL_ZZZ_H:
26644 case AArch64::FTSMUL_ZZZ_S:
26645 case AArch64::FTSSEL_ZZZ_D:
26646 case AArch64::FTSSEL_ZZZ_H:
26647 case AArch64::FTSSEL_ZZZ_S:
26648 case AArch64::LSL_WIDE_ZZZ_B:
26649 case AArch64::LSL_WIDE_ZZZ_H:
26650 case AArch64::LSL_WIDE_ZZZ_S:
26651 case AArch64::LSR_WIDE_ZZZ_B:
26652 case AArch64::LSR_WIDE_ZZZ_H:
26653 case AArch64::LSR_WIDE_ZZZ_S:
26654 case AArch64::MUL_ZZZ_B:
26655 case AArch64::MUL_ZZZ_D:
26656 case AArch64::MUL_ZZZ_H:
26657 case AArch64::MUL_ZZZ_S:
26658 case AArch64::ORR_ZZZ:
26659 case AArch64::PMUL_ZZZ_B:
26660 case AArch64::SMULH_ZZZ_B:
26661 case AArch64::SMULH_ZZZ_D:
26662 case AArch64::SMULH_ZZZ_H:
26663 case AArch64::SMULH_ZZZ_S:
26664 case AArch64::SQADD_ZZZ_B:
26665 case AArch64::SQADD_ZZZ_D:
26666 case AArch64::SQADD_ZZZ_H:
26667 case AArch64::SQADD_ZZZ_S:
26668 case AArch64::SQDMULH_ZZZ_B:
26669 case AArch64::SQDMULH_ZZZ_D:
26670 case AArch64::SQDMULH_ZZZ_H:
26671 case AArch64::SQDMULH_ZZZ_S:
26672 case AArch64::SQRDMULH_ZZZ_B:
26673 case AArch64::SQRDMULH_ZZZ_D:
26674 case AArch64::SQRDMULH_ZZZ_H:
26675 case AArch64::SQRDMULH_ZZZ_S:
26676 case AArch64::SQSUB_ZZZ_B:
26677 case AArch64::SQSUB_ZZZ_D:
26678 case AArch64::SQSUB_ZZZ_H:
26679 case AArch64::SQSUB_ZZZ_S:
26680 case AArch64::SUB_ZZZ_B:
26681 case AArch64::SUB_ZZZ_CPA:
26682 case AArch64::SUB_ZZZ_D:
26683 case AArch64::SUB_ZZZ_H:
26684 case AArch64::SUB_ZZZ_S:
26685 case AArch64::TBL_ZZZZ_B:
26686 case AArch64::TBL_ZZZZ_D:
26687 case AArch64::TBL_ZZZZ_H:
26688 case AArch64::TBL_ZZZZ_S:
26689 case AArch64::TBL_ZZZ_B:
26690 case AArch64::TBL_ZZZ_D:
26691 case AArch64::TBL_ZZZ_H:
26692 case AArch64::TBL_ZZZ_S:
26693 case AArch64::TRN1_ZZZ_B:
26694 case AArch64::TRN1_ZZZ_D:
26695 case AArch64::TRN1_ZZZ_H:
26696 case AArch64::TRN1_ZZZ_Q:
26697 case AArch64::TRN1_ZZZ_S:
26698 case AArch64::TRN2_ZZZ_B:
26699 case AArch64::TRN2_ZZZ_D:
26700 case AArch64::TRN2_ZZZ_H:
26701 case AArch64::TRN2_ZZZ_Q:
26702 case AArch64::TRN2_ZZZ_S:
26703 case AArch64::UMULH_ZZZ_B:
26704 case AArch64::UMULH_ZZZ_D:
26705 case AArch64::UMULH_ZZZ_H:
26706 case AArch64::UMULH_ZZZ_S:
26707 case AArch64::UQADD_ZZZ_B:
26708 case AArch64::UQADD_ZZZ_D:
26709 case AArch64::UQADD_ZZZ_H:
26710 case AArch64::UQADD_ZZZ_S:
26711 case AArch64::UQSUB_ZZZ_B:
26712 case AArch64::UQSUB_ZZZ_D:
26713 case AArch64::UQSUB_ZZZ_H:
26714 case AArch64::UQSUB_ZZZ_S:
26715 case AArch64::UZP1_ZZZ_B:
26716 case AArch64::UZP1_ZZZ_D:
26717 case AArch64::UZP1_ZZZ_H:
26718 case AArch64::UZP1_ZZZ_Q:
26719 case AArch64::UZP1_ZZZ_S:
26720 case AArch64::UZP2_ZZZ_B:
26721 case AArch64::UZP2_ZZZ_D:
26722 case AArch64::UZP2_ZZZ_H:
26723 case AArch64::UZP2_ZZZ_Q:
26724 case AArch64::UZP2_ZZZ_S:
26725 case AArch64::ZIP1_ZZZ_B:
26726 case AArch64::ZIP1_ZZZ_D:
26727 case AArch64::ZIP1_ZZZ_H:
26728 case AArch64::ZIP1_ZZZ_Q:
26729 case AArch64::ZIP1_ZZZ_S:
26730 case AArch64::ZIP2_ZZZ_B:
26731 case AArch64::ZIP2_ZZZ_D:
26732 case AArch64::ZIP2_ZZZ_H:
26733 case AArch64::ZIP2_ZZZ_Q:
26734 case AArch64::ZIP2_ZZZ_S: {
26735 switch (OpNum) {
26736 case 0:
26737 // op: Zd
26738 return 0;
26739 case 2:
26740 // op: Zm
26741 return 16;
26742 case 1:
26743 // op: Zn
26744 return 5;
26745 }
26746 break;
26747 }
26748 case AArch64::HISTCNT_ZPzZZ_D:
26749 case AArch64::HISTCNT_ZPzZZ_S: {
26750 switch (OpNum) {
26751 case 0:
26752 // op: Zd
26753 return 0;
26754 case 2:
26755 // op: Zn
26756 return 5;
26757 case 1:
26758 // op: Pg
26759 return 10;
26760 case 3:
26761 // op: Zm
26762 return 16;
26763 }
26764 break;
26765 }
26766 case AArch64::FCVTLT_ZPzZ_HtoS:
26767 case AArch64::FCVTLT_ZPzZ_StoD: {
26768 switch (OpNum) {
26769 case 0:
26770 // op: Zd
26771 return 0;
26772 case 2:
26773 // op: Zn
26774 return 5;
26775 case 1:
26776 // op: Pg
26777 return 10;
26778 }
26779 break;
26780 }
26781 case AArch64::ADDHNT_ZZZ_B:
26782 case AArch64::ADDHNT_ZZZ_H:
26783 case AArch64::ADDHNT_ZZZ_S:
26784 case AArch64::EORBT_ZZZ_B:
26785 case AArch64::EORBT_ZZZ_D:
26786 case AArch64::EORBT_ZZZ_H:
26787 case AArch64::EORBT_ZZZ_S:
26788 case AArch64::EORTB_ZZZ_B:
26789 case AArch64::EORTB_ZZZ_D:
26790 case AArch64::EORTB_ZZZ_H:
26791 case AArch64::EORTB_ZZZ_S:
26792 case AArch64::RADDHNT_ZZZ_B:
26793 case AArch64::RADDHNT_ZZZ_H:
26794 case AArch64::RADDHNT_ZZZ_S:
26795 case AArch64::RSUBHNT_ZZZ_B:
26796 case AArch64::RSUBHNT_ZZZ_H:
26797 case AArch64::RSUBHNT_ZZZ_S:
26798 case AArch64::SUBHNT_ZZZ_B:
26799 case AArch64::SUBHNT_ZZZ_H:
26800 case AArch64::SUBHNT_ZZZ_S: {
26801 switch (OpNum) {
26802 case 0:
26803 // op: Zd
26804 return 0;
26805 case 2:
26806 // op: Zn
26807 return 5;
26808 case 3:
26809 // op: Zm
26810 return 16;
26811 }
26812 break;
26813 }
26814 case AArch64::RSHRNT_ZZI_B:
26815 case AArch64::RSHRNT_ZZI_H:
26816 case AArch64::RSHRNT_ZZI_S:
26817 case AArch64::SHRNT_ZZI_B:
26818 case AArch64::SHRNT_ZZI_H:
26819 case AArch64::SHRNT_ZZI_S:
26820 case AArch64::SLI_ZZI_B:
26821 case AArch64::SLI_ZZI_D:
26822 case AArch64::SLI_ZZI_H:
26823 case AArch64::SLI_ZZI_S:
26824 case AArch64::SQRSHRNT_ZZI_B:
26825 case AArch64::SQRSHRNT_ZZI_H:
26826 case AArch64::SQRSHRNT_ZZI_S:
26827 case AArch64::SQRSHRUNT_ZZI_B:
26828 case AArch64::SQRSHRUNT_ZZI_H:
26829 case AArch64::SQRSHRUNT_ZZI_S:
26830 case AArch64::SQSHRNT_ZZI_B:
26831 case AArch64::SQSHRNT_ZZI_H:
26832 case AArch64::SQSHRNT_ZZI_S:
26833 case AArch64::SQSHRUNT_ZZI_B:
26834 case AArch64::SQSHRUNT_ZZI_H:
26835 case AArch64::SQSHRUNT_ZZI_S:
26836 case AArch64::SRI_ZZI_B:
26837 case AArch64::SRI_ZZI_D:
26838 case AArch64::SRI_ZZI_H:
26839 case AArch64::SRI_ZZI_S:
26840 case AArch64::UQRSHRNT_ZZI_B:
26841 case AArch64::UQRSHRNT_ZZI_H:
26842 case AArch64::UQRSHRNT_ZZI_S:
26843 case AArch64::UQSHRNT_ZZI_B:
26844 case AArch64::UQSHRNT_ZZI_H:
26845 case AArch64::UQSHRNT_ZZI_S: {
26846 switch (OpNum) {
26847 case 0:
26848 // op: Zd
26849 return 0;
26850 case 2:
26851 // op: Zn
26852 return 5;
26853 case 3:
26854 // op: imm
26855 return 16;
26856 }
26857 break;
26858 }
26859 case AArch64::LUTI6_ZTZ:
26860 case AArch64::SQXTNT_ZZ_B:
26861 case AArch64::SQXTNT_ZZ_H:
26862 case AArch64::SQXTNT_ZZ_S:
26863 case AArch64::SQXTUNT_ZZ_B:
26864 case AArch64::SQXTUNT_ZZ_H:
26865 case AArch64::SQXTUNT_ZZ_S:
26866 case AArch64::UQXTNT_ZZ_B:
26867 case AArch64::UQXTNT_ZZ_H:
26868 case AArch64::UQXTNT_ZZ_S: {
26869 switch (OpNum) {
26870 case 0:
26871 // op: Zd
26872 return 0;
26873 case 2:
26874 // op: Zn
26875 return 5;
26876 }
26877 break;
26878 }
26879 case AArch64::FCVTNT_Z2Z_StoB: {
26880 switch (OpNum) {
26881 case 0:
26882 // op: Zd
26883 return 0;
26884 case 2:
26885 // op: Zn
26886 return 6;
26887 }
26888 break;
26889 }
26890 case AArch64::LUTI6_S_4ZT3Z: {
26891 switch (OpNum) {
26892 case 0:
26893 // op: Zd
26894 return 0;
26895 case 2:
26896 // op: Zn
26897 return 7;
26898 }
26899 break;
26900 }
26901 case AArch64::PMOV_ZIP_D:
26902 case AArch64::PMOV_ZIP_H:
26903 case AArch64::PMOV_ZIP_S: {
26904 switch (OpNum) {
26905 case 0:
26906 // op: Zd
26907 return 0;
26908 case 3:
26909 // op: Pn
26910 return 5;
26911 case 2:
26912 // op: index
26913 return 17;
26914 }
26915 break;
26916 }
26917 case AArch64::PMOV_ZIP_B: {
26918 switch (OpNum) {
26919 case 0:
26920 // op: Zd
26921 return 0;
26922 case 3:
26923 // op: Pn
26924 return 5;
26925 }
26926 break;
26927 }
26928 case AArch64::TBXQ_ZZZ_B:
26929 case AArch64::TBXQ_ZZZ_D:
26930 case AArch64::TBXQ_ZZZ_H:
26931 case AArch64::TBXQ_ZZZ_S:
26932 case AArch64::TBX_ZZZ_B:
26933 case AArch64::TBX_ZZZ_D:
26934 case AArch64::TBX_ZZZ_H:
26935 case AArch64::TBX_ZZZ_S: {
26936 switch (OpNum) {
26937 case 0:
26938 // op: Zd
26939 return 0;
26940 case 3:
26941 // op: Zm
26942 return 16;
26943 case 2:
26944 // op: Zn
26945 return 5;
26946 }
26947 break;
26948 }
26949 case AArch64::BFCVTNT_ZPmZ:
26950 case AArch64::BFCVTNT_ZPzZ_StoH:
26951 case AArch64::FCVTLT_ZPmZ_HtoS:
26952 case AArch64::FCVTLT_ZPmZ_StoD:
26953 case AArch64::FCVTNT_ZPmZ_DtoS:
26954 case AArch64::FCVTNT_ZPmZ_StoH:
26955 case AArch64::FCVTNT_ZPzZ_DtoS:
26956 case AArch64::FCVTNT_ZPzZ_StoH:
26957 case AArch64::FCVTXNT_ZPmZ_DtoS:
26958 case AArch64::FCVTXNT_ZPzZ_StoD: {
26959 switch (OpNum) {
26960 case 0:
26961 // op: Zd
26962 return 0;
26963 case 3:
26964 // op: Zn
26965 return 5;
26966 case 2:
26967 // op: Pg
26968 return 10;
26969 }
26970 break;
26971 }
26972 case AArch64::BFMUL_2Z2Z:
26973 case AArch64::BFMUL_2ZZ:
26974 case AArch64::FMUL_2Z2Z_D:
26975 case AArch64::FMUL_2Z2Z_H:
26976 case AArch64::FMUL_2Z2Z_S:
26977 case AArch64::FMUL_2ZZ_D:
26978 case AArch64::FMUL_2ZZ_H:
26979 case AArch64::FMUL_2ZZ_S: {
26980 switch (OpNum) {
26981 case 0:
26982 // op: Zd
26983 return 1;
26984 case 1:
26985 // op: Zn
26986 return 6;
26987 case 2:
26988 // op: Zm
26989 return 17;
26990 }
26991 break;
26992 }
26993 case AArch64::MOVA_2ZMXI_H_D:
26994 case AArch64::MOVA_2ZMXI_V_D: {
26995 switch (OpNum) {
26996 case 0:
26997 // op: Zd
26998 return 1;
26999 case 2:
27000 // op: Rs
27001 return 13;
27002 case 1:
27003 // op: ZAn
27004 return 5;
27005 }
27006 break;
27007 }
27008 case AArch64::MOVA_2ZMXI_H_S:
27009 case AArch64::MOVA_2ZMXI_V_S: {
27010 switch (OpNum) {
27011 case 0:
27012 // op: Zd
27013 return 1;
27014 case 2:
27015 // op: Rs
27016 return 13;
27017 case 1:
27018 // op: ZAn
27019 return 6;
27020 case 3:
27021 // op: imm
27022 return 5;
27023 }
27024 break;
27025 }
27026 case AArch64::MOVA_2ZMXI_H_H:
27027 case AArch64::MOVA_2ZMXI_V_H: {
27028 switch (OpNum) {
27029 case 0:
27030 // op: Zd
27031 return 1;
27032 case 2:
27033 // op: Rs
27034 return 13;
27035 case 1:
27036 // op: ZAn
27037 return 7;
27038 case 3:
27039 // op: imm
27040 return 5;
27041 }
27042 break;
27043 }
27044 case AArch64::MOVA_2ZMXI_H_B:
27045 case AArch64::MOVA_2ZMXI_V_B: {
27046 switch (OpNum) {
27047 case 0:
27048 // op: Zd
27049 return 1;
27050 case 2:
27051 // op: Rs
27052 return 13;
27053 case 3:
27054 // op: imm
27055 return 5;
27056 }
27057 break;
27058 }
27059 case AArch64::UZP_VG2_2ZZZ_B:
27060 case AArch64::UZP_VG2_2ZZZ_D:
27061 case AArch64::UZP_VG2_2ZZZ_H:
27062 case AArch64::UZP_VG2_2ZZZ_Q:
27063 case AArch64::UZP_VG2_2ZZZ_S:
27064 case AArch64::ZIP_VG2_2ZZZ_B:
27065 case AArch64::ZIP_VG2_2ZZZ_D:
27066 case AArch64::ZIP_VG2_2ZZZ_H:
27067 case AArch64::ZIP_VG2_2ZZZ_Q:
27068 case AArch64::ZIP_VG2_2ZZZ_S: {
27069 switch (OpNum) {
27070 case 0:
27071 // op: Zd
27072 return 1;
27073 case 2:
27074 // op: Zm
27075 return 16;
27076 case 1:
27077 // op: Zn
27078 return 5;
27079 }
27080 break;
27081 }
27082 case AArch64::MOVAZ_2ZMI_H_D:
27083 case AArch64::MOVAZ_2ZMI_V_D: {
27084 switch (OpNum) {
27085 case 0:
27086 // op: Zd
27087 return 1;
27088 case 3:
27089 // op: Rs
27090 return 13;
27091 case 2:
27092 // op: ZAn
27093 return 5;
27094 }
27095 break;
27096 }
27097 case AArch64::MOVAZ_2ZMI_H_S:
27098 case AArch64::MOVAZ_2ZMI_V_S: {
27099 switch (OpNum) {
27100 case 0:
27101 // op: Zd
27102 return 1;
27103 case 3:
27104 // op: Rs
27105 return 13;
27106 case 2:
27107 // op: ZAn
27108 return 6;
27109 case 4:
27110 // op: imm
27111 return 5;
27112 }
27113 break;
27114 }
27115 case AArch64::MOVAZ_2ZMI_H_H:
27116 case AArch64::MOVAZ_2ZMI_V_H: {
27117 switch (OpNum) {
27118 case 0:
27119 // op: Zd
27120 return 1;
27121 case 3:
27122 // op: Rs
27123 return 13;
27124 case 2:
27125 // op: ZAn
27126 return 7;
27127 case 4:
27128 // op: imm
27129 return 5;
27130 }
27131 break;
27132 }
27133 case AArch64::MOVAZ_2ZMI_H_B:
27134 case AArch64::MOVAZ_2ZMI_V_B: {
27135 switch (OpNum) {
27136 case 0:
27137 // op: Zd
27138 return 1;
27139 case 3:
27140 // op: Rs
27141 return 13;
27142 case 4:
27143 // op: imm
27144 return 5;
27145 }
27146 break;
27147 }
27148 case AArch64::LUTI6_4Z2Z2ZI: {
27149 switch (OpNum) {
27150 case 0:
27151 // op: Zd
27152 return 2;
27153 case 1:
27154 // op: Zn
27155 return 5;
27156 case 2:
27157 // op: Zm
27158 return 16;
27159 case 3:
27160 // op: i1
27161 return 22;
27162 }
27163 break;
27164 }
27165 case AArch64::BFMUL_4ZZ:
27166 case AArch64::FMUL_4ZZ_D:
27167 case AArch64::FMUL_4ZZ_H:
27168 case AArch64::FMUL_4ZZ_S: {
27169 switch (OpNum) {
27170 case 0:
27171 // op: Zd
27172 return 2;
27173 case 1:
27174 // op: Zn
27175 return 7;
27176 case 2:
27177 // op: Zm
27178 return 17;
27179 }
27180 break;
27181 }
27182 case AArch64::BFMUL_4Z4Z:
27183 case AArch64::FMUL_4Z4Z_D:
27184 case AArch64::FMUL_4Z4Z_H:
27185 case AArch64::FMUL_4Z4Z_S: {
27186 switch (OpNum) {
27187 case 0:
27188 // op: Zd
27189 return 2;
27190 case 1:
27191 // op: Zn
27192 return 7;
27193 case 2:
27194 // op: Zm
27195 return 18;
27196 }
27197 break;
27198 }
27199 case AArch64::MOVA_4ZMXI_H_D:
27200 case AArch64::MOVA_4ZMXI_H_S:
27201 case AArch64::MOVA_4ZMXI_V_D:
27202 case AArch64::MOVA_4ZMXI_V_S: {
27203 switch (OpNum) {
27204 case 0:
27205 // op: Zd
27206 return 2;
27207 case 2:
27208 // op: Rs
27209 return 13;
27210 case 1:
27211 // op: ZAn
27212 return 5;
27213 }
27214 break;
27215 }
27216 case AArch64::MOVA_4ZMXI_H_H:
27217 case AArch64::MOVA_4ZMXI_V_H: {
27218 switch (OpNum) {
27219 case 0:
27220 // op: Zd
27221 return 2;
27222 case 2:
27223 // op: Rs
27224 return 13;
27225 case 1:
27226 // op: ZAn
27227 return 6;
27228 case 3:
27229 // op: imm
27230 return 5;
27231 }
27232 break;
27233 }
27234 case AArch64::MOVA_4ZMXI_H_B:
27235 case AArch64::MOVA_4ZMXI_V_B: {
27236 switch (OpNum) {
27237 case 0:
27238 // op: Zd
27239 return 2;
27240 case 2:
27241 // op: Rs
27242 return 13;
27243 case 3:
27244 // op: imm
27245 return 5;
27246 }
27247 break;
27248 }
27249 case AArch64::LUTI6_4ZT3Z: {
27250 switch (OpNum) {
27251 case 0:
27252 // op: Zd
27253 return 2;
27254 case 2:
27255 // op: Zn
27256 return 7;
27257 }
27258 break;
27259 }
27260 case AArch64::MOVAZ_4ZMI_H_D:
27261 case AArch64::MOVAZ_4ZMI_H_S:
27262 case AArch64::MOVAZ_4ZMI_V_D:
27263 case AArch64::MOVAZ_4ZMI_V_S: {
27264 switch (OpNum) {
27265 case 0:
27266 // op: Zd
27267 return 2;
27268 case 3:
27269 // op: Rs
27270 return 13;
27271 case 2:
27272 // op: ZAn
27273 return 5;
27274 }
27275 break;
27276 }
27277 case AArch64::MOVAZ_4ZMI_H_H:
27278 case AArch64::MOVAZ_4ZMI_V_H: {
27279 switch (OpNum) {
27280 case 0:
27281 // op: Zd
27282 return 2;
27283 case 3:
27284 // op: Rs
27285 return 13;
27286 case 2:
27287 // op: ZAn
27288 return 6;
27289 case 4:
27290 // op: imm
27291 return 5;
27292 }
27293 break;
27294 }
27295 case AArch64::MOVAZ_4ZMI_H_B:
27296 case AArch64::MOVAZ_4ZMI_V_B: {
27297 switch (OpNum) {
27298 case 0:
27299 // op: Zd
27300 return 2;
27301 case 3:
27302 // op: Rs
27303 return 13;
27304 case 4:
27305 // op: imm
27306 return 5;
27307 }
27308 break;
27309 }
27310 case AArch64::FCMLA_ZPmZZ_D:
27311 case AArch64::FCMLA_ZPmZZ_H:
27312 case AArch64::FCMLA_ZPmZZ_S: {
27313 switch (OpNum) {
27314 case 0:
27315 // op: Zda
27316 return 0;
27317 case 1:
27318 // op: Pg
27319 return 10;
27320 case 3:
27321 // op: Zn
27322 return 5;
27323 case 4:
27324 // op: Zm
27325 return 16;
27326 case 5:
27327 // op: imm
27328 return 13;
27329 }
27330 break;
27331 }
27332 case AArch64::SDOT_ZZZI_HtoS:
27333 case AArch64::UDOT_ZZZI_HtoS: {
27334 switch (OpNum) {
27335 case 0:
27336 // op: Zda
27337 return 0;
27338 case 2:
27339 // op: Zn
27340 return 5;
27341 case 3:
27342 // op: Zm
27343 return 16;
27344 case 4:
27345 // op: i2
27346 return 19;
27347 }
27348 break;
27349 }
27350 case AArch64::SUDOT_ZZZI:
27351 case AArch64::USDOT_ZZZI: {
27352 switch (OpNum) {
27353 case 0:
27354 // op: Zda
27355 return 0;
27356 case 2:
27357 // op: Zn
27358 return 5;
27359 case 3:
27360 // op: Zm
27361 return 16;
27362 case 4:
27363 // op: idx
27364 return 19;
27365 }
27366 break;
27367 }
27368 case AArch64::FMLALB_ZZZI:
27369 case AArch64::FMLALLBB_ZZZI:
27370 case AArch64::FMLALLBT_ZZZI:
27371 case AArch64::FMLALLTB_ZZZI:
27372 case AArch64::FMLALLTT_ZZZI:
27373 case AArch64::FMLALT_ZZZI: {
27374 switch (OpNum) {
27375 case 0:
27376 // op: Zda
27377 return 0;
27378 case 2:
27379 // op: Zn
27380 return 5;
27381 case 3:
27382 // op: Zm
27383 return 16;
27384 case 4:
27385 // op: imm4
27386 return 10;
27387 }
27388 break;
27389 }
27390 case AArch64::BFMLALB_ZZZI:
27391 case AArch64::BFMLALT_ZZZI:
27392 case AArch64::BFMLSLB_ZZZI_S:
27393 case AArch64::BFMLSLT_ZZZI_S:
27394 case AArch64::FDOT_ZZZI_BtoH:
27395 case AArch64::FMLALB_ZZZI_SHH:
27396 case AArch64::FMLALT_ZZZI_SHH:
27397 case AArch64::FMLSLB_ZZZI_SHH:
27398 case AArch64::FMLSLT_ZZZI_SHH:
27399 case AArch64::SMLALB_ZZZI_D:
27400 case AArch64::SMLALB_ZZZI_S:
27401 case AArch64::SMLALT_ZZZI_D:
27402 case AArch64::SMLALT_ZZZI_S:
27403 case AArch64::SMLSLB_ZZZI_D:
27404 case AArch64::SMLSLB_ZZZI_S:
27405 case AArch64::SMLSLT_ZZZI_D:
27406 case AArch64::SMLSLT_ZZZI_S:
27407 case AArch64::SQDMLALB_ZZZI_D:
27408 case AArch64::SQDMLALB_ZZZI_S:
27409 case AArch64::SQDMLALT_ZZZI_D:
27410 case AArch64::SQDMLALT_ZZZI_S:
27411 case AArch64::SQDMLSLB_ZZZI_D:
27412 case AArch64::SQDMLSLB_ZZZI_S:
27413 case AArch64::SQDMLSLT_ZZZI_D:
27414 case AArch64::SQDMLSLT_ZZZI_S:
27415 case AArch64::UMLALB_ZZZI_D:
27416 case AArch64::UMLALB_ZZZI_S:
27417 case AArch64::UMLALT_ZZZI_D:
27418 case AArch64::UMLALT_ZZZI_S:
27419 case AArch64::UMLSLB_ZZZI_D:
27420 case AArch64::UMLSLB_ZZZI_S:
27421 case AArch64::UMLSLT_ZZZI_D:
27422 case AArch64::UMLSLT_ZZZI_S: {
27423 switch (OpNum) {
27424 case 0:
27425 // op: Zda
27426 return 0;
27427 case 2:
27428 // op: Zn
27429 return 5;
27430 case 3:
27431 // op: Zm
27432 return 16;
27433 case 4:
27434 // op: iop
27435 return 11;
27436 }
27437 break;
27438 }
27439 case AArch64::BFDOT_ZZI:
27440 case AArch64::BFMLA_ZZZI:
27441 case AArch64::BFMLS_ZZZI:
27442 case AArch64::FDOT_ZZZI_BtoS:
27443 case AArch64::FDOT_ZZZI_S:
27444 case AArch64::FMLA_ZZZI_H:
27445 case AArch64::FMLA_ZZZI_S:
27446 case AArch64::FMLS_ZZZI_H:
27447 case AArch64::FMLS_ZZZI_S:
27448 case AArch64::MLA_ZZZI_H:
27449 case AArch64::MLA_ZZZI_S:
27450 case AArch64::MLS_ZZZI_H:
27451 case AArch64::MLS_ZZZI_S:
27452 case AArch64::SQRDMLAH_ZZZI_H:
27453 case AArch64::SQRDMLAH_ZZZI_S:
27454 case AArch64::SQRDMLSH_ZZZI_H:
27455 case AArch64::SQRDMLSH_ZZZI_S: {
27456 switch (OpNum) {
27457 case 0:
27458 // op: Zda
27459 return 0;
27460 case 2:
27461 // op: Zn
27462 return 5;
27463 case 3:
27464 // op: Zm
27465 return 16;
27466 case 4:
27467 // op: iop
27468 return 19;
27469 }
27470 break;
27471 }
27472 case AArch64::FMLA_ZZZI_D:
27473 case AArch64::FMLS_ZZZI_D:
27474 case AArch64::MLA_ZZZI_D:
27475 case AArch64::MLS_ZZZI_D:
27476 case AArch64::SQRDMLAH_ZZZI_D:
27477 case AArch64::SQRDMLSH_ZZZI_D: {
27478 switch (OpNum) {
27479 case 0:
27480 // op: Zda
27481 return 0;
27482 case 2:
27483 // op: Zn
27484 return 5;
27485 case 3:
27486 // op: Zm
27487 return 16;
27488 case 4:
27489 // op: iop
27490 return 20;
27491 }
27492 break;
27493 }
27494 case AArch64::CDOT_ZZZ_D:
27495 case AArch64::CDOT_ZZZ_S:
27496 case AArch64::CMLA_ZZZ_B:
27497 case AArch64::CMLA_ZZZ_D:
27498 case AArch64::CMLA_ZZZ_H:
27499 case AArch64::CMLA_ZZZ_S:
27500 case AArch64::SQRDCMLAH_ZZZ_B:
27501 case AArch64::SQRDCMLAH_ZZZ_D:
27502 case AArch64::SQRDCMLAH_ZZZ_H:
27503 case AArch64::SQRDCMLAH_ZZZ_S: {
27504 switch (OpNum) {
27505 case 0:
27506 // op: Zda
27507 return 0;
27508 case 2:
27509 // op: Zn
27510 return 5;
27511 case 3:
27512 // op: Zm
27513 return 16;
27514 case 4:
27515 // op: rot
27516 return 10;
27517 }
27518 break;
27519 }
27520 case AArch64::ADCLB_ZZZ_D:
27521 case AArch64::ADCLB_ZZZ_S:
27522 case AArch64::ADCLT_ZZZ_D:
27523 case AArch64::ADCLT_ZZZ_S:
27524 case AArch64::BFDOT_ZZZ:
27525 case AArch64::BFMLALB_ZZZ:
27526 case AArch64::BFMLALT_ZZZ:
27527 case AArch64::BFMLSLB_ZZZ_S:
27528 case AArch64::BFMLSLT_ZZZ_S:
27529 case AArch64::BFMMLA_ZZZ_H:
27530 case AArch64::BFMMLA_ZZZ_HtoS:
27531 case AArch64::FDOT_ZZZ_BtoH:
27532 case AArch64::FDOT_ZZZ_BtoS:
27533 case AArch64::FDOT_ZZZ_S:
27534 case AArch64::FMLALB_ZZZ:
27535 case AArch64::FMLALB_ZZZ_SHH:
27536 case AArch64::FMLALLBB_ZZZ:
27537 case AArch64::FMLALLBT_ZZZ:
27538 case AArch64::FMLALLTB_ZZZ:
27539 case AArch64::FMLALLTT_ZZZ:
27540 case AArch64::FMLALT_ZZZ:
27541 case AArch64::FMLALT_ZZZ_SHH:
27542 case AArch64::FMLLA_ZZZ_HtoS:
27543 case AArch64::FMLSLB_ZZZ_SHH:
27544 case AArch64::FMLSLT_ZZZ_SHH:
27545 case AArch64::FMMLA_ZZZ_BtoH:
27546 case AArch64::FMMLA_ZZZ_BtoS:
27547 case AArch64::FMMLA_ZZZ_D:
27548 case AArch64::FMMLA_ZZZ_H:
27549 case AArch64::FMMLA_ZZZ_S:
27550 case AArch64::MLA_CPA:
27551 case AArch64::SABALB_ZZZ_D:
27552 case AArch64::SABALB_ZZZ_H:
27553 case AArch64::SABALB_ZZZ_S:
27554 case AArch64::SABALT_ZZZ_D:
27555 case AArch64::SABALT_ZZZ_H:
27556 case AArch64::SABALT_ZZZ_S:
27557 case AArch64::SABAL_ZZZ_BtoH:
27558 case AArch64::SABAL_ZZZ_HtoS:
27559 case AArch64::SABAL_ZZZ_StoD:
27560 case AArch64::SABA_ZZZ_B:
27561 case AArch64::SABA_ZZZ_D:
27562 case AArch64::SABA_ZZZ_H:
27563 case AArch64::SABA_ZZZ_S:
27564 case AArch64::SBCLB_ZZZ_D:
27565 case AArch64::SBCLB_ZZZ_S:
27566 case AArch64::SBCLT_ZZZ_D:
27567 case AArch64::SBCLT_ZZZ_S:
27568 case AArch64::SDOT_ZZZ_BtoH:
27569 case AArch64::SDOT_ZZZ_BtoS:
27570 case AArch64::SDOT_ZZZ_HtoD:
27571 case AArch64::SDOT_ZZZ_HtoS:
27572 case AArch64::SMLALB_ZZZ_D:
27573 case AArch64::SMLALB_ZZZ_H:
27574 case AArch64::SMLALB_ZZZ_S:
27575 case AArch64::SMLALT_ZZZ_D:
27576 case AArch64::SMLALT_ZZZ_H:
27577 case AArch64::SMLALT_ZZZ_S:
27578 case AArch64::SMLSLB_ZZZ_D:
27579 case AArch64::SMLSLB_ZZZ_H:
27580 case AArch64::SMLSLB_ZZZ_S:
27581 case AArch64::SMLSLT_ZZZ_D:
27582 case AArch64::SMLSLT_ZZZ_H:
27583 case AArch64::SMLSLT_ZZZ_S:
27584 case AArch64::SMMLA_ZZZ:
27585 case AArch64::SQDMLALBT_ZZZ_D:
27586 case AArch64::SQDMLALBT_ZZZ_H:
27587 case AArch64::SQDMLALBT_ZZZ_S:
27588 case AArch64::SQDMLALB_ZZZ_D:
27589 case AArch64::SQDMLALB_ZZZ_H:
27590 case AArch64::SQDMLALB_ZZZ_S:
27591 case AArch64::SQDMLALT_ZZZ_D:
27592 case AArch64::SQDMLALT_ZZZ_H:
27593 case AArch64::SQDMLALT_ZZZ_S:
27594 case AArch64::SQDMLSLBT_ZZZ_D:
27595 case AArch64::SQDMLSLBT_ZZZ_H:
27596 case AArch64::SQDMLSLBT_ZZZ_S:
27597 case AArch64::SQDMLSLB_ZZZ_D:
27598 case AArch64::SQDMLSLB_ZZZ_H:
27599 case AArch64::SQDMLSLB_ZZZ_S:
27600 case AArch64::SQDMLSLT_ZZZ_D:
27601 case AArch64::SQDMLSLT_ZZZ_H:
27602 case AArch64::SQDMLSLT_ZZZ_S:
27603 case AArch64::SQRDMLAH_ZZZ_B:
27604 case AArch64::SQRDMLAH_ZZZ_D:
27605 case AArch64::SQRDMLAH_ZZZ_H:
27606 case AArch64::SQRDMLAH_ZZZ_S:
27607 case AArch64::SQRDMLSH_ZZZ_B:
27608 case AArch64::SQRDMLSH_ZZZ_D:
27609 case AArch64::SQRDMLSH_ZZZ_H:
27610 case AArch64::SQRDMLSH_ZZZ_S:
27611 case AArch64::UABALB_ZZZ_D:
27612 case AArch64::UABALB_ZZZ_H:
27613 case AArch64::UABALB_ZZZ_S:
27614 case AArch64::UABALT_ZZZ_D:
27615 case AArch64::UABALT_ZZZ_H:
27616 case AArch64::UABALT_ZZZ_S:
27617 case AArch64::UABAL_ZZZ_BtoH:
27618 case AArch64::UABAL_ZZZ_HtoS:
27619 case AArch64::UABAL_ZZZ_StoD:
27620 case AArch64::UABA_ZZZ_B:
27621 case AArch64::UABA_ZZZ_D:
27622 case AArch64::UABA_ZZZ_H:
27623 case AArch64::UABA_ZZZ_S:
27624 case AArch64::UDOT_ZZZ_BtoH:
27625 case AArch64::UDOT_ZZZ_BtoS:
27626 case AArch64::UDOT_ZZZ_HtoD:
27627 case AArch64::UDOT_ZZZ_HtoS:
27628 case AArch64::UMLALB_ZZZ_D:
27629 case AArch64::UMLALB_ZZZ_H:
27630 case AArch64::UMLALB_ZZZ_S:
27631 case AArch64::UMLALT_ZZZ_D:
27632 case AArch64::UMLALT_ZZZ_H:
27633 case AArch64::UMLALT_ZZZ_S:
27634 case AArch64::UMLSLB_ZZZ_D:
27635 case AArch64::UMLSLB_ZZZ_H:
27636 case AArch64::UMLSLB_ZZZ_S:
27637 case AArch64::UMLSLT_ZZZ_D:
27638 case AArch64::UMLSLT_ZZZ_H:
27639 case AArch64::UMLSLT_ZZZ_S:
27640 case AArch64::UMMLA_ZZZ:
27641 case AArch64::USDOT_ZZZ:
27642 case AArch64::USMMLA_ZZZ: {
27643 switch (OpNum) {
27644 case 0:
27645 // op: Zda
27646 return 0;
27647 case 2:
27648 // op: Zn
27649 return 5;
27650 case 3:
27651 // op: Zm
27652 return 16;
27653 }
27654 break;
27655 }
27656 case AArch64::SRSRA_ZZI_B:
27657 case AArch64::SRSRA_ZZI_D:
27658 case AArch64::SRSRA_ZZI_H:
27659 case AArch64::SRSRA_ZZI_S:
27660 case AArch64::SSRA_ZZI_B:
27661 case AArch64::SSRA_ZZI_D:
27662 case AArch64::SSRA_ZZI_H:
27663 case AArch64::SSRA_ZZI_S:
27664 case AArch64::URSRA_ZZI_B:
27665 case AArch64::URSRA_ZZI_D:
27666 case AArch64::URSRA_ZZI_H:
27667 case AArch64::URSRA_ZZI_S:
27668 case AArch64::USRA_ZZI_B:
27669 case AArch64::USRA_ZZI_D:
27670 case AArch64::USRA_ZZI_H:
27671 case AArch64::USRA_ZZI_S: {
27672 switch (OpNum) {
27673 case 0:
27674 // op: Zda
27675 return 0;
27676 case 2:
27677 // op: Zn
27678 return 5;
27679 case 3:
27680 // op: imm
27681 return 16;
27682 }
27683 break;
27684 }
27685 case AArch64::SDOT_ZZZI_BtoH:
27686 case AArch64::SDOT_ZZZI_BtoS:
27687 case AArch64::UDOT_ZZZI_BtoH:
27688 case AArch64::UDOT_ZZZI_BtoS: {
27689 switch (OpNum) {
27690 case 0:
27691 // op: Zda
27692 return 0;
27693 case 2:
27694 // op: Zn
27695 return 5;
27696 case 4:
27697 // op: iop
27698 return 19;
27699 case 3:
27700 // op: Zm
27701 return 16;
27702 }
27703 break;
27704 }
27705 case AArch64::SDOT_ZZZI_HtoD:
27706 case AArch64::UDOT_ZZZI_HtoD: {
27707 switch (OpNum) {
27708 case 0:
27709 // op: Zda
27710 return 0;
27711 case 2:
27712 // op: Zn
27713 return 5;
27714 case 4:
27715 // op: iop
27716 return 20;
27717 case 3:
27718 // op: Zm
27719 return 16;
27720 }
27721 break;
27722 }
27723 case AArch64::FCMLA_ZZZI_H: {
27724 switch (OpNum) {
27725 case 0:
27726 // op: Zda
27727 return 0;
27728 case 2:
27729 // op: Zn
27730 return 5;
27731 case 5:
27732 // op: imm
27733 return 10;
27734 case 3:
27735 // op: Zm
27736 return 16;
27737 case 4:
27738 // op: iop
27739 return 19;
27740 }
27741 break;
27742 }
27743 case AArch64::FCMLA_ZZZI_S: {
27744 switch (OpNum) {
27745 case 0:
27746 // op: Zda
27747 return 0;
27748 case 2:
27749 // op: Zn
27750 return 5;
27751 case 5:
27752 // op: imm
27753 return 10;
27754 case 3:
27755 // op: Zm
27756 return 16;
27757 case 4:
27758 // op: iop
27759 return 20;
27760 }
27761 break;
27762 }
27763 case AArch64::CDOT_ZZZI_S:
27764 case AArch64::CMLA_ZZZI_H:
27765 case AArch64::SQRDCMLAH_ZZZI_H: {
27766 switch (OpNum) {
27767 case 0:
27768 // op: Zda
27769 return 0;
27770 case 2:
27771 // op: Zn
27772 return 5;
27773 case 5:
27774 // op: rot
27775 return 10;
27776 case 4:
27777 // op: iop
27778 return 19;
27779 case 3:
27780 // op: Zm
27781 return 16;
27782 }
27783 break;
27784 }
27785 case AArch64::CDOT_ZZZI_D:
27786 case AArch64::CMLA_ZZZI_S:
27787 case AArch64::SQRDCMLAH_ZZZI_S: {
27788 switch (OpNum) {
27789 case 0:
27790 // op: Zda
27791 return 0;
27792 case 2:
27793 // op: Zn
27794 return 5;
27795 case 5:
27796 // op: rot
27797 return 10;
27798 case 4:
27799 // op: iop
27800 return 20;
27801 case 3:
27802 // op: Zm
27803 return 16;
27804 }
27805 break;
27806 }
27807 case AArch64::MAD_CPA: {
27808 switch (OpNum) {
27809 case 0:
27810 // op: Zdn
27811 return 0;
27812 case 2:
27813 // op: Zm
27814 return 16;
27815 case 3:
27816 // op: Za
27817 return 5;
27818 }
27819 break;
27820 }
27821 case AArch64::XAR_ZZZI_B:
27822 case AArch64::XAR_ZZZI_D:
27823 case AArch64::XAR_ZZZI_H:
27824 case AArch64::XAR_ZZZI_S: {
27825 switch (OpNum) {
27826 case 0:
27827 // op: Zdn
27828 return 0;
27829 case 2:
27830 // op: Zm
27831 return 5;
27832 case 3:
27833 // op: imm
27834 return 16;
27835 }
27836 break;
27837 }
27838 case AArch64::FTMAD_ZZI_D:
27839 case AArch64::FTMAD_ZZI_H:
27840 case AArch64::FTMAD_ZZI_S: {
27841 switch (OpNum) {
27842 case 0:
27843 // op: Zdn
27844 return 0;
27845 case 2:
27846 // op: Zm
27847 return 5;
27848 case 3:
27849 // op: imm3
27850 return 16;
27851 }
27852 break;
27853 }
27854 case AArch64::EXTQ_ZZI: {
27855 switch (OpNum) {
27856 case 0:
27857 // op: Zdn
27858 return 0;
27859 case 2:
27860 // op: Zm
27861 return 5;
27862 case 3:
27863 // op: imm4
27864 return 16;
27865 }
27866 break;
27867 }
27868 case AArch64::EXT_ZZI: {
27869 switch (OpNum) {
27870 case 0:
27871 // op: Zdn
27872 return 0;
27873 case 2:
27874 // op: Zm
27875 return 5;
27876 case 3:
27877 // op: imm8
27878 return 10;
27879 }
27880 break;
27881 }
27882 case AArch64::CADD_ZZI_B:
27883 case AArch64::CADD_ZZI_D:
27884 case AArch64::CADD_ZZI_H:
27885 case AArch64::CADD_ZZI_S:
27886 case AArch64::SQCADD_ZZI_B:
27887 case AArch64::SQCADD_ZZI_D:
27888 case AArch64::SQCADD_ZZI_H:
27889 case AArch64::SQCADD_ZZI_S: {
27890 switch (OpNum) {
27891 case 0:
27892 // op: Zdn
27893 return 0;
27894 case 2:
27895 // op: Zm
27896 return 5;
27897 case 3:
27898 // op: rot
27899 return 10;
27900 }
27901 break;
27902 }
27903 case AArch64::AESD_ZZZ_B:
27904 case AArch64::AESE_ZZZ_B:
27905 case AArch64::SM4E_ZZZ_S: {
27906 switch (OpNum) {
27907 case 0:
27908 // op: Zdn
27909 return 0;
27910 case 2:
27911 // op: Zm
27912 return 5;
27913 }
27914 break;
27915 }
27916 case AArch64::ADD_ZI_B:
27917 case AArch64::ADD_ZI_D:
27918 case AArch64::ADD_ZI_H:
27919 case AArch64::ADD_ZI_S:
27920 case AArch64::MUL_ZI_B:
27921 case AArch64::MUL_ZI_D:
27922 case AArch64::MUL_ZI_H:
27923 case AArch64::MUL_ZI_S:
27924 case AArch64::SMAX_ZI_B:
27925 case AArch64::SMAX_ZI_D:
27926 case AArch64::SMAX_ZI_H:
27927 case AArch64::SMAX_ZI_S:
27928 case AArch64::SMIN_ZI_B:
27929 case AArch64::SMIN_ZI_D:
27930 case AArch64::SMIN_ZI_H:
27931 case AArch64::SMIN_ZI_S:
27932 case AArch64::SQADD_ZI_B:
27933 case AArch64::SQADD_ZI_D:
27934 case AArch64::SQADD_ZI_H:
27935 case AArch64::SQADD_ZI_S:
27936 case AArch64::SQSUB_ZI_B:
27937 case AArch64::SQSUB_ZI_D:
27938 case AArch64::SQSUB_ZI_H:
27939 case AArch64::SQSUB_ZI_S:
27940 case AArch64::SUBR_ZI_B:
27941 case AArch64::SUBR_ZI_D:
27942 case AArch64::SUBR_ZI_H:
27943 case AArch64::SUBR_ZI_S:
27944 case AArch64::SUB_ZI_B:
27945 case AArch64::SUB_ZI_D:
27946 case AArch64::SUB_ZI_H:
27947 case AArch64::SUB_ZI_S:
27948 case AArch64::UMAX_ZI_B:
27949 case AArch64::UMAX_ZI_D:
27950 case AArch64::UMAX_ZI_H:
27951 case AArch64::UMAX_ZI_S:
27952 case AArch64::UMIN_ZI_B:
27953 case AArch64::UMIN_ZI_D:
27954 case AArch64::UMIN_ZI_H:
27955 case AArch64::UMIN_ZI_S:
27956 case AArch64::UQADD_ZI_B:
27957 case AArch64::UQADD_ZI_D:
27958 case AArch64::UQADD_ZI_H:
27959 case AArch64::UQADD_ZI_S:
27960 case AArch64::UQSUB_ZI_B:
27961 case AArch64::UQSUB_ZI_D:
27962 case AArch64::UQSUB_ZI_H:
27963 case AArch64::UQSUB_ZI_S: {
27964 switch (OpNum) {
27965 case 0:
27966 // op: Zdn
27967 return 0;
27968 case 2:
27969 // op: imm
27970 return 5;
27971 }
27972 break;
27973 }
27974 case AArch64::AND_ZI:
27975 case AArch64::EOR_ZI:
27976 case AArch64::ORR_ZI: {
27977 switch (OpNum) {
27978 case 0:
27979 // op: Zdn
27980 return 0;
27981 case 2:
27982 // op: imms13
27983 return 5;
27984 }
27985 break;
27986 }
27987 case AArch64::DECD_ZPiI:
27988 case AArch64::DECH_ZPiI:
27989 case AArch64::DECW_ZPiI:
27990 case AArch64::INCD_ZPiI:
27991 case AArch64::INCH_ZPiI:
27992 case AArch64::INCW_ZPiI:
27993 case AArch64::SQDECD_ZPiI:
27994 case AArch64::SQDECH_ZPiI:
27995 case AArch64::SQDECW_ZPiI:
27996 case AArch64::SQINCD_ZPiI:
27997 case AArch64::SQINCH_ZPiI:
27998 case AArch64::SQINCW_ZPiI:
27999 case AArch64::UQDECD_ZPiI:
28000 case AArch64::UQDECH_ZPiI:
28001 case AArch64::UQDECW_ZPiI:
28002 case AArch64::UQINCD_ZPiI:
28003 case AArch64::UQINCH_ZPiI:
28004 case AArch64::UQINCW_ZPiI: {
28005 switch (OpNum) {
28006 case 0:
28007 // op: Zdn
28008 return 0;
28009 case 2:
28010 // op: pattern
28011 return 5;
28012 case 3:
28013 // op: imm4
28014 return 16;
28015 }
28016 break;
28017 }
28018 case AArch64::BCAX_ZZZZ:
28019 case AArch64::BSL1N_ZZZZ:
28020 case AArch64::BSL2N_ZZZZ:
28021 case AArch64::BSL_ZZZZ:
28022 case AArch64::EOR3_ZZZZ:
28023 case AArch64::NBSL_ZZZZ: {
28024 switch (OpNum) {
28025 case 0:
28026 // op: Zdn
28027 return 0;
28028 case 3:
28029 // op: Zk
28030 return 5;
28031 case 2:
28032 // op: Zm
28033 return 16;
28034 }
28035 break;
28036 }
28037 case AArch64::FCADD_ZPmZ_D:
28038 case AArch64::FCADD_ZPmZ_H:
28039 case AArch64::FCADD_ZPmZ_S: {
28040 switch (OpNum) {
28041 case 0:
28042 // op: Zdn
28043 return 0;
28044 case 3:
28045 // op: Zm
28046 return 5;
28047 case 1:
28048 // op: Pg
28049 return 10;
28050 case 4:
28051 // op: imm
28052 return 16;
28053 }
28054 break;
28055 }
28056 case AArch64::AESIMC_ZZ_B:
28057 case AArch64::AESMC_ZZ_B: {
28058 switch (OpNum) {
28059 case 0:
28060 // op: Zdn
28061 return 0;
28062 }
28063 break;
28064 }
28065 case AArch64::LD1RO_B:
28066 case AArch64::LD1RO_D:
28067 case AArch64::LD1RO_H:
28068 case AArch64::LD1RO_W:
28069 case AArch64::LD1RQ_B:
28070 case AArch64::LD1RQ_D:
28071 case AArch64::LD1RQ_H:
28072 case AArch64::LD1RQ_W: {
28073 switch (OpNum) {
28074 case 0:
28075 // op: Zt
28076 return 0;
28077 case 1:
28078 // op: Pg
28079 return 10;
28080 case 2:
28081 // op: Rn
28082 return 5;
28083 case 3:
28084 // op: Rm
28085 return 16;
28086 }
28087 break;
28088 }
28089 case AArch64::LD2B_IMM:
28090 case AArch64::LD2D_IMM:
28091 case AArch64::LD2H_IMM:
28092 case AArch64::LD2Q_IMM:
28093 case AArch64::LD2W_IMM:
28094 case AArch64::LD3B_IMM:
28095 case AArch64::LD3D_IMM:
28096 case AArch64::LD3H_IMM:
28097 case AArch64::LD3Q_IMM:
28098 case AArch64::LD3W_IMM:
28099 case AArch64::LD4B_IMM:
28100 case AArch64::LD4D_IMM:
28101 case AArch64::LD4H_IMM:
28102 case AArch64::LD4Q_IMM:
28103 case AArch64::LD4W_IMM:
28104 case AArch64::LDNT1B_ZRI:
28105 case AArch64::LDNT1D_ZRI:
28106 case AArch64::LDNT1H_ZRI:
28107 case AArch64::LDNT1W_ZRI: {
28108 switch (OpNum) {
28109 case 0:
28110 // op: Zt
28111 return 0;
28112 case 1:
28113 // op: Pg
28114 return 10;
28115 case 2:
28116 // op: Rn
28117 return 5;
28118 case 3:
28119 // op: imm4
28120 return 16;
28121 }
28122 break;
28123 }
28124 case AArch64::LD1B:
28125 case AArch64::LD1B_D:
28126 case AArch64::LD1B_H:
28127 case AArch64::LD1B_S:
28128 case AArch64::LD1D:
28129 case AArch64::LD1H:
28130 case AArch64::LD1H_D:
28131 case AArch64::LD1H_S:
28132 case AArch64::LD1SB_D:
28133 case AArch64::LD1SB_H:
28134 case AArch64::LD1SB_S:
28135 case AArch64::LD1SH_D:
28136 case AArch64::LD1SH_S:
28137 case AArch64::LD1SW_D:
28138 case AArch64::LD1W:
28139 case AArch64::LD1W_D:
28140 case AArch64::LDFF1B:
28141 case AArch64::LDFF1B_D:
28142 case AArch64::LDFF1B_H:
28143 case AArch64::LDFF1B_S:
28144 case AArch64::LDFF1D:
28145 case AArch64::LDFF1H:
28146 case AArch64::LDFF1H_D:
28147 case AArch64::LDFF1H_S:
28148 case AArch64::LDFF1SB_D:
28149 case AArch64::LDFF1SB_H:
28150 case AArch64::LDFF1SB_S:
28151 case AArch64::LDFF1SH_D:
28152 case AArch64::LDFF1SH_S:
28153 case AArch64::LDFF1SW_D:
28154 case AArch64::LDFF1W:
28155 case AArch64::LDFF1W_D: {
28156 switch (OpNum) {
28157 case 0:
28158 // op: Zt
28159 return 0;
28160 case 1:
28161 // op: Pg
28162 return 10;
28163 case 3:
28164 // op: Rm
28165 return 16;
28166 case 2:
28167 // op: Rn
28168 return 5;
28169 }
28170 break;
28171 }
28172 case AArch64::LD1D_Q:
28173 case AArch64::LD1W_Q:
28174 case AArch64::ST2Q:
28175 case AArch64::ST3Q:
28176 case AArch64::ST4Q: {
28177 switch (OpNum) {
28178 case 0:
28179 // op: Zt
28180 return 0;
28181 case 2:
28182 // op: Rn
28183 return 5;
28184 case 1:
28185 // op: Pg
28186 return 10;
28187 case 3:
28188 // op: Rm
28189 return 16;
28190 }
28191 break;
28192 }
28193 case AArch64::LD1D_Q_IMM:
28194 case AArch64::LD1RO_B_IMM:
28195 case AArch64::LD1RO_D_IMM:
28196 case AArch64::LD1RO_H_IMM:
28197 case AArch64::LD1RO_W_IMM:
28198 case AArch64::LD1RQ_B_IMM:
28199 case AArch64::LD1RQ_D_IMM:
28200 case AArch64::LD1RQ_H_IMM:
28201 case AArch64::LD1RQ_W_IMM:
28202 case AArch64::LD1W_Q_IMM:
28203 case AArch64::ST2Q_IMM:
28204 case AArch64::ST3Q_IMM:
28205 case AArch64::ST4Q_IMM: {
28206 switch (OpNum) {
28207 case 0:
28208 // op: Zt
28209 return 0;
28210 case 2:
28211 // op: Rn
28212 return 5;
28213 case 1:
28214 // op: Pg
28215 return 10;
28216 case 3:
28217 // op: imm4
28218 return 16;
28219 }
28220 break;
28221 }
28222 case AArch64::GLD1Q:
28223 case AArch64::SST1Q: {
28224 switch (OpNum) {
28225 case 0:
28226 // op: Zt
28227 return 0;
28228 case 2:
28229 // op: Zn
28230 return 5;
28231 case 1:
28232 // op: Pg
28233 return 10;
28234 case 3:
28235 // op: Rm
28236 return 16;
28237 }
28238 break;
28239 }
28240 case AArch64::LD1B_2Z_IMM:
28241 case AArch64::LD1D_2Z_IMM:
28242 case AArch64::LD1H_2Z_IMM:
28243 case AArch64::LD1W_2Z_IMM:
28244 case AArch64::LDNT1B_2Z_IMM:
28245 case AArch64::LDNT1D_2Z_IMM:
28246 case AArch64::LDNT1H_2Z_IMM:
28247 case AArch64::LDNT1W_2Z_IMM:
28248 case AArch64::ST1B_2Z_IMM:
28249 case AArch64::ST1D_2Z_IMM:
28250 case AArch64::ST1H_2Z_IMM:
28251 case AArch64::ST1W_2Z_IMM:
28252 case AArch64::STNT1B_2Z_IMM:
28253 case AArch64::STNT1D_2Z_IMM:
28254 case AArch64::STNT1H_2Z_IMM:
28255 case AArch64::STNT1W_2Z_IMM: {
28256 switch (OpNum) {
28257 case 0:
28258 // op: Zt
28259 return 1;
28260 case 2:
28261 // op: Rn
28262 return 5;
28263 case 1:
28264 // op: PNg
28265 return 10;
28266 case 3:
28267 // op: imm4
28268 return 16;
28269 }
28270 break;
28271 }
28272 case AArch64::LD1B_2Z:
28273 case AArch64::LD1D_2Z:
28274 case AArch64::LD1H_2Z:
28275 case AArch64::LD1W_2Z:
28276 case AArch64::LDNT1B_2Z:
28277 case AArch64::LDNT1D_2Z:
28278 case AArch64::LDNT1H_2Z:
28279 case AArch64::LDNT1W_2Z:
28280 case AArch64::ST1B_2Z:
28281 case AArch64::ST1D_2Z:
28282 case AArch64::ST1H_2Z:
28283 case AArch64::ST1W_2Z:
28284 case AArch64::STNT1B_2Z:
28285 case AArch64::STNT1D_2Z:
28286 case AArch64::STNT1H_2Z:
28287 case AArch64::STNT1W_2Z: {
28288 switch (OpNum) {
28289 case 0:
28290 // op: Zt
28291 return 1;
28292 case 3:
28293 // op: Rm
28294 return 16;
28295 case 2:
28296 // op: Rn
28297 return 5;
28298 case 1:
28299 // op: PNg
28300 return 10;
28301 }
28302 break;
28303 }
28304 case AArch64::LD1B_4Z_IMM:
28305 case AArch64::LD1D_4Z_IMM:
28306 case AArch64::LD1H_4Z_IMM:
28307 case AArch64::LD1W_4Z_IMM:
28308 case AArch64::LDNT1B_4Z_IMM:
28309 case AArch64::LDNT1D_4Z_IMM:
28310 case AArch64::LDNT1H_4Z_IMM:
28311 case AArch64::LDNT1W_4Z_IMM:
28312 case AArch64::ST1B_4Z_IMM:
28313 case AArch64::ST1D_4Z_IMM:
28314 case AArch64::ST1H_4Z_IMM:
28315 case AArch64::ST1W_4Z_IMM:
28316 case AArch64::STNT1B_4Z_IMM:
28317 case AArch64::STNT1D_4Z_IMM:
28318 case AArch64::STNT1H_4Z_IMM:
28319 case AArch64::STNT1W_4Z_IMM: {
28320 switch (OpNum) {
28321 case 0:
28322 // op: Zt
28323 return 2;
28324 case 2:
28325 // op: Rn
28326 return 5;
28327 case 1:
28328 // op: PNg
28329 return 10;
28330 case 3:
28331 // op: imm4
28332 return 16;
28333 }
28334 break;
28335 }
28336 case AArch64::LD1B_4Z:
28337 case AArch64::LD1D_4Z:
28338 case AArch64::LD1H_4Z:
28339 case AArch64::LD1W_4Z:
28340 case AArch64::LDNT1B_4Z:
28341 case AArch64::LDNT1D_4Z:
28342 case AArch64::LDNT1H_4Z:
28343 case AArch64::LDNT1W_4Z:
28344 case AArch64::ST1B_4Z:
28345 case AArch64::ST1D_4Z:
28346 case AArch64::ST1H_4Z:
28347 case AArch64::ST1W_4Z:
28348 case AArch64::STNT1B_4Z:
28349 case AArch64::STNT1D_4Z:
28350 case AArch64::STNT1H_4Z:
28351 case AArch64::STNT1W_4Z: {
28352 switch (OpNum) {
28353 case 0:
28354 // op: Zt
28355 return 2;
28356 case 3:
28357 // op: Rm
28358 return 16;
28359 case 2:
28360 // op: Rn
28361 return 5;
28362 case 1:
28363 // op: PNg
28364 return 10;
28365 }
28366 break;
28367 }
28368 case AArch64::B:
28369 case AArch64::BL: {
28370 switch (OpNum) {
28371 case 0:
28372 // op: addr
28373 return 0;
28374 }
28375 break;
28376 }
28377 case AArch64::BCcc:
28378 case AArch64::Bcc: {
28379 switch (OpNum) {
28380 case 0:
28381 // op: cond
28382 return 0;
28383 case 1:
28384 // op: target
28385 return 5;
28386 }
28387 break;
28388 }
28389 case AArch64::DUPi8: {
28390 switch (OpNum) {
28391 case 0:
28392 // op: dst
28393 return 0;
28394 case 1:
28395 // op: src
28396 return 5;
28397 case 2:
28398 // op: idx
28399 return 17;
28400 }
28401 break;
28402 }
28403 case AArch64::DUPi16: {
28404 switch (OpNum) {
28405 case 0:
28406 // op: dst
28407 return 0;
28408 case 1:
28409 // op: src
28410 return 5;
28411 case 2:
28412 // op: idx
28413 return 18;
28414 }
28415 break;
28416 }
28417 case AArch64::DUPi32: {
28418 switch (OpNum) {
28419 case 0:
28420 // op: dst
28421 return 0;
28422 case 1:
28423 // op: src
28424 return 5;
28425 case 2:
28426 // op: idx
28427 return 19;
28428 }
28429 break;
28430 }
28431 case AArch64::DUPi64: {
28432 switch (OpNum) {
28433 case 0:
28434 // op: dst
28435 return 0;
28436 case 1:
28437 // op: src
28438 return 5;
28439 case 2:
28440 // op: idx
28441 return 20;
28442 }
28443 break;
28444 }
28445 case AArch64::UDF:
28446 case AArch64::ZERO_M: {
28447 switch (OpNum) {
28448 case 0:
28449 // op: imm
28450 return 0;
28451 }
28452 break;
28453 }
28454 case AArch64::TENTER: {
28455 switch (OpNum) {
28456 case 0:
28457 // op: imm
28458 return 5;
28459 case 1:
28460 // op: nb
28461 return 17;
28462 }
28463 break;
28464 }
28465 case AArch64::BRK:
28466 case AArch64::DCPS1:
28467 case AArch64::DCPS2:
28468 case AArch64::DCPS3:
28469 case AArch64::HINT:
28470 case AArch64::HLT:
28471 case AArch64::HVC:
28472 case AArch64::SMC:
28473 case AArch64::SVC: {
28474 switch (OpNum) {
28475 case 0:
28476 // op: imm
28477 return 5;
28478 }
28479 break;
28480 }
28481 case AArch64::HINTE: {
28482 switch (OpNum) {
28483 case 0:
28484 // op: imm16
28485 return 0;
28486 }
28487 break;
28488 }
28489 case AArch64::AUTIASPPCi:
28490 case AArch64::AUTIBSPPCi:
28491 case AArch64::RETAASPPCi:
28492 case AArch64::RETABSPPCi: {
28493 switch (OpNum) {
28494 case 0:
28495 // op: label
28496 return 5;
28497 }
28498 break;
28499 }
28500 case AArch64::TEXIT: {
28501 switch (OpNum) {
28502 case 0:
28503 // op: nb
28504 return 10;
28505 }
28506 break;
28507 }
28508 case AArch64::SYSPxt_XZR: {
28509 switch (OpNum) {
28510 case 0:
28511 // op: op1
28512 return 16;
28513 case 1:
28514 // op: Cn
28515 return 12;
28516 case 2:
28517 // op: Cm
28518 return 8;
28519 case 3:
28520 // op: op2
28521 return 5;
28522 }
28523 break;
28524 }
28525 case AArch64::MSRpstateImm1:
28526 case AArch64::MSRpstateImm4: {
28527 switch (OpNum) {
28528 case 0:
28529 // op: pstatefield
28530 return 5;
28531 case 1:
28532 // op: imm
28533 return 8;
28534 }
28535 break;
28536 }
28537 case AArch64::MSRpstatesvcrImm1: {
28538 switch (OpNum) {
28539 case 0:
28540 // op: pstatefield
28541 return 9;
28542 case 1:
28543 // op: imm
28544 return 8;
28545 }
28546 break;
28547 }
28548 case AArch64::SEL_VG2_2ZC2Z2Z_B:
28549 case AArch64::SEL_VG2_2ZC2Z2Z_D:
28550 case AArch64::SEL_VG2_2ZC2Z2Z_H:
28551 case AArch64::SEL_VG2_2ZC2Z2Z_S: {
28552 switch (OpNum) {
28553 case 1:
28554 // op: PNg
28555 return 10;
28556 case 3:
28557 // op: Zm
28558 return 17;
28559 case 2:
28560 // op: Zn
28561 return 6;
28562 case 0:
28563 // op: Zd
28564 return 1;
28565 }
28566 break;
28567 }
28568 case AArch64::SEL_VG4_4ZC4Z4Z_B:
28569 case AArch64::SEL_VG4_4ZC4Z4Z_D:
28570 case AArch64::SEL_VG4_4ZC4Z4Z_H:
28571 case AArch64::SEL_VG4_4ZC4Z4Z_S: {
28572 switch (OpNum) {
28573 case 1:
28574 // op: PNg
28575 return 10;
28576 case 3:
28577 // op: Zm
28578 return 18;
28579 case 2:
28580 // op: Zn
28581 return 7;
28582 case 0:
28583 // op: Zd
28584 return 2;
28585 }
28586 break;
28587 }
28588 case AArch64::LASTA_RPZ_B:
28589 case AArch64::LASTA_RPZ_D:
28590 case AArch64::LASTA_RPZ_H:
28591 case AArch64::LASTA_RPZ_S:
28592 case AArch64::LASTB_RPZ_B:
28593 case AArch64::LASTB_RPZ_D:
28594 case AArch64::LASTB_RPZ_H:
28595 case AArch64::LASTB_RPZ_S: {
28596 switch (OpNum) {
28597 case 1:
28598 // op: Pg
28599 return 10;
28600 case 0:
28601 // op: Rd
28602 return 0;
28603 case 2:
28604 // op: Zn
28605 return 5;
28606 }
28607 break;
28608 }
28609 case AArch64::CLASTA_RPZ_B:
28610 case AArch64::CLASTA_RPZ_D:
28611 case AArch64::CLASTA_RPZ_H:
28612 case AArch64::CLASTA_RPZ_S:
28613 case AArch64::CLASTB_RPZ_B:
28614 case AArch64::CLASTB_RPZ_D:
28615 case AArch64::CLASTB_RPZ_H:
28616 case AArch64::CLASTB_RPZ_S: {
28617 switch (OpNum) {
28618 case 1:
28619 // op: Pg
28620 return 10;
28621 case 0:
28622 // op: Rdn
28623 return 0;
28624 case 3:
28625 // op: Zm
28626 return 5;
28627 }
28628 break;
28629 }
28630 case AArch64::ANDV_VPZ_B:
28631 case AArch64::ANDV_VPZ_D:
28632 case AArch64::ANDV_VPZ_H:
28633 case AArch64::ANDV_VPZ_S:
28634 case AArch64::EORV_VPZ_B:
28635 case AArch64::EORV_VPZ_D:
28636 case AArch64::EORV_VPZ_H:
28637 case AArch64::EORV_VPZ_S:
28638 case AArch64::LASTA_VPZ_B:
28639 case AArch64::LASTA_VPZ_D:
28640 case AArch64::LASTA_VPZ_H:
28641 case AArch64::LASTA_VPZ_S:
28642 case AArch64::LASTB_VPZ_B:
28643 case AArch64::LASTB_VPZ_D:
28644 case AArch64::LASTB_VPZ_H:
28645 case AArch64::LASTB_VPZ_S:
28646 case AArch64::ORV_VPZ_B:
28647 case AArch64::ORV_VPZ_D:
28648 case AArch64::ORV_VPZ_H:
28649 case AArch64::ORV_VPZ_S:
28650 case AArch64::SADDV_VPZ_B:
28651 case AArch64::SADDV_VPZ_H:
28652 case AArch64::SADDV_VPZ_S:
28653 case AArch64::SMAXV_VPZ_B:
28654 case AArch64::SMAXV_VPZ_D:
28655 case AArch64::SMAXV_VPZ_H:
28656 case AArch64::SMAXV_VPZ_S:
28657 case AArch64::SMINV_VPZ_B:
28658 case AArch64::SMINV_VPZ_D:
28659 case AArch64::SMINV_VPZ_H:
28660 case AArch64::SMINV_VPZ_S:
28661 case AArch64::UADDV_VPZ_B:
28662 case AArch64::UADDV_VPZ_D:
28663 case AArch64::UADDV_VPZ_H:
28664 case AArch64::UADDV_VPZ_S:
28665 case AArch64::UMAXV_VPZ_B:
28666 case AArch64::UMAXV_VPZ_D:
28667 case AArch64::UMAXV_VPZ_H:
28668 case AArch64::UMAXV_VPZ_S:
28669 case AArch64::UMINV_VPZ_B:
28670 case AArch64::UMINV_VPZ_D:
28671 case AArch64::UMINV_VPZ_H:
28672 case AArch64::UMINV_VPZ_S: {
28673 switch (OpNum) {
28674 case 1:
28675 // op: Pg
28676 return 10;
28677 case 0:
28678 // op: Vd
28679 return 0;
28680 case 2:
28681 // op: Zn
28682 return 5;
28683 }
28684 break;
28685 }
28686 case AArch64::CLASTA_VPZ_B:
28687 case AArch64::CLASTA_VPZ_D:
28688 case AArch64::CLASTA_VPZ_H:
28689 case AArch64::CLASTA_VPZ_S:
28690 case AArch64::CLASTB_VPZ_B:
28691 case AArch64::CLASTB_VPZ_D:
28692 case AArch64::CLASTB_VPZ_H:
28693 case AArch64::CLASTB_VPZ_S:
28694 case AArch64::FADDA_VPZ_D:
28695 case AArch64::FADDA_VPZ_H:
28696 case AArch64::FADDA_VPZ_S: {
28697 switch (OpNum) {
28698 case 1:
28699 // op: Pg
28700 return 10;
28701 case 0:
28702 // op: Vdn
28703 return 0;
28704 case 3:
28705 // op: Zm
28706 return 5;
28707 }
28708 break;
28709 }
28710 case AArch64::ABS_ZPzZ_B:
28711 case AArch64::ABS_ZPzZ_D:
28712 case AArch64::ABS_ZPzZ_H:
28713 case AArch64::ABS_ZPzZ_S:
28714 case AArch64::BFCVT_ZPzZ_StoH:
28715 case AArch64::CLS_ZPzZ_B:
28716 case AArch64::CLS_ZPzZ_D:
28717 case AArch64::CLS_ZPzZ_H:
28718 case AArch64::CLS_ZPzZ_S:
28719 case AArch64::CLZ_ZPzZ_B:
28720 case AArch64::CLZ_ZPzZ_D:
28721 case AArch64::CLZ_ZPzZ_H:
28722 case AArch64::CLZ_ZPzZ_S:
28723 case AArch64::CNOT_ZPzZ_B:
28724 case AArch64::CNOT_ZPzZ_D:
28725 case AArch64::CNOT_ZPzZ_H:
28726 case AArch64::CNOT_ZPzZ_S:
28727 case AArch64::CNT_ZPzZ_B:
28728 case AArch64::CNT_ZPzZ_D:
28729 case AArch64::CNT_ZPzZ_H:
28730 case AArch64::CNT_ZPzZ_S:
28731 case AArch64::COMPACT_ZPZ_B:
28732 case AArch64::COMPACT_ZPZ_D:
28733 case AArch64::COMPACT_ZPZ_H:
28734 case AArch64::COMPACT_ZPZ_S:
28735 case AArch64::FABS_ZPzZ_D:
28736 case AArch64::FABS_ZPzZ_H:
28737 case AArch64::FABS_ZPzZ_S:
28738 case AArch64::FCVTX_ZPzZ_DtoS:
28739 case AArch64::FCVTZS_ZPzZ_DtoD:
28740 case AArch64::FCVTZS_ZPzZ_DtoS:
28741 case AArch64::FCVTZS_ZPzZ_HtoD:
28742 case AArch64::FCVTZS_ZPzZ_HtoH:
28743 case AArch64::FCVTZS_ZPzZ_HtoS:
28744 case AArch64::FCVTZS_ZPzZ_StoD:
28745 case AArch64::FCVTZS_ZPzZ_StoS:
28746 case AArch64::FCVTZU_ZPzZ_DtoD:
28747 case AArch64::FCVTZU_ZPzZ_DtoS:
28748 case AArch64::FCVTZU_ZPzZ_HtoD:
28749 case AArch64::FCVTZU_ZPzZ_HtoH:
28750 case AArch64::FCVTZU_ZPzZ_HtoS:
28751 case AArch64::FCVTZU_ZPzZ_StoD:
28752 case AArch64::FCVTZU_ZPzZ_StoS:
28753 case AArch64::FCVT_ZPzZ_DtoH:
28754 case AArch64::FCVT_ZPzZ_DtoS:
28755 case AArch64::FCVT_ZPzZ_HtoD:
28756 case AArch64::FCVT_ZPzZ_HtoS:
28757 case AArch64::FCVT_ZPzZ_StoD:
28758 case AArch64::FCVT_ZPzZ_StoH:
28759 case AArch64::FLOGB_ZPzZ_D:
28760 case AArch64::FLOGB_ZPzZ_H:
28761 case AArch64::FLOGB_ZPzZ_S:
28762 case AArch64::FNEG_ZPzZ_D:
28763 case AArch64::FNEG_ZPzZ_H:
28764 case AArch64::FNEG_ZPzZ_S:
28765 case AArch64::FRECPX_ZPzZ_D:
28766 case AArch64::FRECPX_ZPzZ_H:
28767 case AArch64::FRECPX_ZPzZ_S:
28768 case AArch64::FRINT32X_ZPzZ_D:
28769 case AArch64::FRINT32X_ZPzZ_S:
28770 case AArch64::FRINT32Z_ZPzZ_D:
28771 case AArch64::FRINT32Z_ZPzZ_S:
28772 case AArch64::FRINT64X_ZPzZ_D:
28773 case AArch64::FRINT64X_ZPzZ_S:
28774 case AArch64::FRINT64Z_ZPzZ_D:
28775 case AArch64::FRINT64Z_ZPzZ_S:
28776 case AArch64::FRINTA_ZPzZ_D:
28777 case AArch64::FRINTA_ZPzZ_H:
28778 case AArch64::FRINTA_ZPzZ_S:
28779 case AArch64::FRINTI_ZPzZ_D:
28780 case AArch64::FRINTI_ZPzZ_H:
28781 case AArch64::FRINTI_ZPzZ_S:
28782 case AArch64::FRINTM_ZPzZ_D:
28783 case AArch64::FRINTM_ZPzZ_H:
28784 case AArch64::FRINTM_ZPzZ_S:
28785 case AArch64::FRINTN_ZPzZ_D:
28786 case AArch64::FRINTN_ZPzZ_H:
28787 case AArch64::FRINTN_ZPzZ_S:
28788 case AArch64::FRINTP_ZPzZ_D:
28789 case AArch64::FRINTP_ZPzZ_H:
28790 case AArch64::FRINTP_ZPzZ_S:
28791 case AArch64::FRINTX_ZPzZ_D:
28792 case AArch64::FRINTX_ZPzZ_H:
28793 case AArch64::FRINTX_ZPzZ_S:
28794 case AArch64::FRINTZ_ZPzZ_D:
28795 case AArch64::FRINTZ_ZPzZ_H:
28796 case AArch64::FRINTZ_ZPzZ_S:
28797 case AArch64::FSQRT_ZPZz_D:
28798 case AArch64::FSQRT_ZPZz_H:
28799 case AArch64::FSQRT_ZPZz_S:
28800 case AArch64::MOVPRFX_ZPzZ_B:
28801 case AArch64::MOVPRFX_ZPzZ_D:
28802 case AArch64::MOVPRFX_ZPzZ_H:
28803 case AArch64::MOVPRFX_ZPzZ_S:
28804 case AArch64::NEG_ZPzZ_B:
28805 case AArch64::NEG_ZPzZ_D:
28806 case AArch64::NEG_ZPzZ_H:
28807 case AArch64::NEG_ZPzZ_S:
28808 case AArch64::NOT_ZPzZ_B:
28809 case AArch64::NOT_ZPzZ_D:
28810 case AArch64::NOT_ZPzZ_H:
28811 case AArch64::NOT_ZPzZ_S:
28812 case AArch64::SCVTF_ZPzZ_DtoD:
28813 case AArch64::SCVTF_ZPzZ_DtoH:
28814 case AArch64::SCVTF_ZPzZ_DtoS:
28815 case AArch64::SCVTF_ZPzZ_HtoH:
28816 case AArch64::SCVTF_ZPzZ_StoD:
28817 case AArch64::SCVTF_ZPzZ_StoH:
28818 case AArch64::SCVTF_ZPzZ_StoS:
28819 case AArch64::SQABS_ZPzZ_B:
28820 case AArch64::SQABS_ZPzZ_D:
28821 case AArch64::SQABS_ZPzZ_H:
28822 case AArch64::SQABS_ZPzZ_S:
28823 case AArch64::SQNEG_ZPzZ_B:
28824 case AArch64::SQNEG_ZPzZ_D:
28825 case AArch64::SQNEG_ZPzZ_H:
28826 case AArch64::SQNEG_ZPzZ_S:
28827 case AArch64::SXTB_ZPzZ_D:
28828 case AArch64::SXTB_ZPzZ_H:
28829 case AArch64::SXTB_ZPzZ_S:
28830 case AArch64::SXTH_ZPzZ_D:
28831 case AArch64::SXTH_ZPzZ_S:
28832 case AArch64::SXTW_ZPzZ_D:
28833 case AArch64::UCVTF_ZPzZ_DtoD:
28834 case AArch64::UCVTF_ZPzZ_DtoH:
28835 case AArch64::UCVTF_ZPzZ_DtoS:
28836 case AArch64::UCVTF_ZPzZ_HtoH:
28837 case AArch64::UCVTF_ZPzZ_StoD:
28838 case AArch64::UCVTF_ZPzZ_StoH:
28839 case AArch64::UCVTF_ZPzZ_StoS:
28840 case AArch64::URECPE_ZPzZ_S:
28841 case AArch64::URSQRTE_ZPzZ_S:
28842 case AArch64::UXTB_ZPzZ_D:
28843 case AArch64::UXTB_ZPzZ_H:
28844 case AArch64::UXTB_ZPzZ_S:
28845 case AArch64::UXTH_ZPzZ_D:
28846 case AArch64::UXTH_ZPzZ_S:
28847 case AArch64::UXTW_ZPzZ_D: {
28848 switch (OpNum) {
28849 case 1:
28850 // op: Pg
28851 return 10;
28852 case 0:
28853 // op: Zd
28854 return 0;
28855 case 2:
28856 // op: Zn
28857 return 5;
28858 }
28859 break;
28860 }
28861 case AArch64::SEL_ZPZZ_B:
28862 case AArch64::SEL_ZPZZ_D:
28863 case AArch64::SEL_ZPZZ_H:
28864 case AArch64::SEL_ZPZZ_S: {
28865 switch (OpNum) {
28866 case 1:
28867 // op: Pg
28868 return 10;
28869 case 0:
28870 // op: Zd
28871 return 0;
28872 case 3:
28873 // op: Zm
28874 return 16;
28875 case 2:
28876 // op: Zn
28877 return 5;
28878 }
28879 break;
28880 }
28881 case AArch64::BFMLA_ZPmZZ:
28882 case AArch64::BFMLS_ZPmZZ:
28883 case AArch64::FMLA_ZPmZZ_D:
28884 case AArch64::FMLA_ZPmZZ_H:
28885 case AArch64::FMLA_ZPmZZ_S:
28886 case AArch64::FMLS_ZPmZZ_D:
28887 case AArch64::FMLS_ZPmZZ_H:
28888 case AArch64::FMLS_ZPmZZ_S:
28889 case AArch64::FNMLA_ZPmZZ_D:
28890 case AArch64::FNMLA_ZPmZZ_H:
28891 case AArch64::FNMLA_ZPmZZ_S:
28892 case AArch64::FNMLS_ZPmZZ_D:
28893 case AArch64::FNMLS_ZPmZZ_H:
28894 case AArch64::FNMLS_ZPmZZ_S:
28895 case AArch64::MLA_ZPmZZ_B:
28896 case AArch64::MLA_ZPmZZ_D:
28897 case AArch64::MLA_ZPmZZ_H:
28898 case AArch64::MLA_ZPmZZ_S:
28899 case AArch64::MLS_ZPmZZ_B:
28900 case AArch64::MLS_ZPmZZ_D:
28901 case AArch64::MLS_ZPmZZ_H:
28902 case AArch64::MLS_ZPmZZ_S: {
28903 switch (OpNum) {
28904 case 1:
28905 // op: Pg
28906 return 10;
28907 case 0:
28908 // op: Zda
28909 return 0;
28910 case 4:
28911 // op: Zm
28912 return 16;
28913 case 3:
28914 // op: Zn
28915 return 5;
28916 }
28917 break;
28918 }
28919 case AArch64::ADD_ZPmZ_B:
28920 case AArch64::ADD_ZPmZ_CPA:
28921 case AArch64::ADD_ZPmZ_D:
28922 case AArch64::ADD_ZPmZ_H:
28923 case AArch64::ADD_ZPmZ_S:
28924 case AArch64::AND_ZPmZ_B:
28925 case AArch64::AND_ZPmZ_D:
28926 case AArch64::AND_ZPmZ_H:
28927 case AArch64::AND_ZPmZ_S:
28928 case AArch64::ASRR_ZPmZ_B:
28929 case AArch64::ASRR_ZPmZ_D:
28930 case AArch64::ASRR_ZPmZ_H:
28931 case AArch64::ASRR_ZPmZ_S:
28932 case AArch64::ASR_WIDE_ZPmZ_B:
28933 case AArch64::ASR_WIDE_ZPmZ_H:
28934 case AArch64::ASR_WIDE_ZPmZ_S:
28935 case AArch64::ASR_ZPmZ_B:
28936 case AArch64::ASR_ZPmZ_D:
28937 case AArch64::ASR_ZPmZ_H:
28938 case AArch64::ASR_ZPmZ_S:
28939 case AArch64::BFADD_ZPmZZ:
28940 case AArch64::BFMAXNM_ZPmZZ:
28941 case AArch64::BFMAX_ZPmZZ:
28942 case AArch64::BFMINNM_ZPmZZ:
28943 case AArch64::BFMIN_ZPmZZ:
28944 case AArch64::BFMUL_ZPmZZ:
28945 case AArch64::BFSCALE_ZPZZ_H:
28946 case AArch64::BFSUB_ZPmZZ:
28947 case AArch64::BIC_ZPmZ_B:
28948 case AArch64::BIC_ZPmZ_D:
28949 case AArch64::BIC_ZPmZ_H:
28950 case AArch64::BIC_ZPmZ_S:
28951 case AArch64::CLASTA_ZPZ_B:
28952 case AArch64::CLASTA_ZPZ_D:
28953 case AArch64::CLASTA_ZPZ_H:
28954 case AArch64::CLASTA_ZPZ_S:
28955 case AArch64::CLASTB_ZPZ_B:
28956 case AArch64::CLASTB_ZPZ_D:
28957 case AArch64::CLASTB_ZPZ_H:
28958 case AArch64::CLASTB_ZPZ_S:
28959 case AArch64::EOR_ZPmZ_B:
28960 case AArch64::EOR_ZPmZ_D:
28961 case AArch64::EOR_ZPmZ_H:
28962 case AArch64::EOR_ZPmZ_S:
28963 case AArch64::FABD_ZPmZ_D:
28964 case AArch64::FABD_ZPmZ_H:
28965 case AArch64::FABD_ZPmZ_S:
28966 case AArch64::FADD_ZPmZ_D:
28967 case AArch64::FADD_ZPmZ_H:
28968 case AArch64::FADD_ZPmZ_S:
28969 case AArch64::FAMAX_ZPmZ_D:
28970 case AArch64::FAMAX_ZPmZ_H:
28971 case AArch64::FAMAX_ZPmZ_S:
28972 case AArch64::FAMIN_ZPmZ_D:
28973 case AArch64::FAMIN_ZPmZ_H:
28974 case AArch64::FAMIN_ZPmZ_S:
28975 case AArch64::FDIVR_ZPmZ_D:
28976 case AArch64::FDIVR_ZPmZ_H:
28977 case AArch64::FDIVR_ZPmZ_S:
28978 case AArch64::FDIV_ZPmZ_D:
28979 case AArch64::FDIV_ZPmZ_H:
28980 case AArch64::FDIV_ZPmZ_S:
28981 case AArch64::FMAXNM_ZPmZ_D:
28982 case AArch64::FMAXNM_ZPmZ_H:
28983 case AArch64::FMAXNM_ZPmZ_S:
28984 case AArch64::FMAX_ZPmZ_D:
28985 case AArch64::FMAX_ZPmZ_H:
28986 case AArch64::FMAX_ZPmZ_S:
28987 case AArch64::FMINNM_ZPmZ_D:
28988 case AArch64::FMINNM_ZPmZ_H:
28989 case AArch64::FMINNM_ZPmZ_S:
28990 case AArch64::FMIN_ZPmZ_D:
28991 case AArch64::FMIN_ZPmZ_H:
28992 case AArch64::FMIN_ZPmZ_S:
28993 case AArch64::FMULX_ZPmZ_D:
28994 case AArch64::FMULX_ZPmZ_H:
28995 case AArch64::FMULX_ZPmZ_S:
28996 case AArch64::FMUL_ZPmZ_D:
28997 case AArch64::FMUL_ZPmZ_H:
28998 case AArch64::FMUL_ZPmZ_S:
28999 case AArch64::FSCALE_ZPmZ_D:
29000 case AArch64::FSCALE_ZPmZ_H:
29001 case AArch64::FSCALE_ZPmZ_S:
29002 case AArch64::FSUBR_ZPmZ_D:
29003 case AArch64::FSUBR_ZPmZ_H:
29004 case AArch64::FSUBR_ZPmZ_S:
29005 case AArch64::FSUB_ZPmZ_D:
29006 case AArch64::FSUB_ZPmZ_H:
29007 case AArch64::FSUB_ZPmZ_S:
29008 case AArch64::LSLR_ZPmZ_B:
29009 case AArch64::LSLR_ZPmZ_D:
29010 case AArch64::LSLR_ZPmZ_H:
29011 case AArch64::LSLR_ZPmZ_S:
29012 case AArch64::LSL_WIDE_ZPmZ_B:
29013 case AArch64::LSL_WIDE_ZPmZ_H:
29014 case AArch64::LSL_WIDE_ZPmZ_S:
29015 case AArch64::LSL_ZPmZ_B:
29016 case AArch64::LSL_ZPmZ_D:
29017 case AArch64::LSL_ZPmZ_H:
29018 case AArch64::LSL_ZPmZ_S:
29019 case AArch64::LSRR_ZPmZ_B:
29020 case AArch64::LSRR_ZPmZ_D:
29021 case AArch64::LSRR_ZPmZ_H:
29022 case AArch64::LSRR_ZPmZ_S:
29023 case AArch64::LSR_WIDE_ZPmZ_B:
29024 case AArch64::LSR_WIDE_ZPmZ_H:
29025 case AArch64::LSR_WIDE_ZPmZ_S:
29026 case AArch64::LSR_ZPmZ_B:
29027 case AArch64::LSR_ZPmZ_D:
29028 case AArch64::LSR_ZPmZ_H:
29029 case AArch64::LSR_ZPmZ_S:
29030 case AArch64::MUL_ZPmZ_B:
29031 case AArch64::MUL_ZPmZ_D:
29032 case AArch64::MUL_ZPmZ_H:
29033 case AArch64::MUL_ZPmZ_S:
29034 case AArch64::ORR_ZPmZ_B:
29035 case AArch64::ORR_ZPmZ_D:
29036 case AArch64::ORR_ZPmZ_H:
29037 case AArch64::ORR_ZPmZ_S:
29038 case AArch64::SABD_ZPmZ_B:
29039 case AArch64::SABD_ZPmZ_D:
29040 case AArch64::SABD_ZPmZ_H:
29041 case AArch64::SABD_ZPmZ_S:
29042 case AArch64::SDIVR_ZPmZ_D:
29043 case AArch64::SDIVR_ZPmZ_S:
29044 case AArch64::SDIV_ZPmZ_D:
29045 case AArch64::SDIV_ZPmZ_S:
29046 case AArch64::SMAX_ZPmZ_B:
29047 case AArch64::SMAX_ZPmZ_D:
29048 case AArch64::SMAX_ZPmZ_H:
29049 case AArch64::SMAX_ZPmZ_S:
29050 case AArch64::SMIN_ZPmZ_B:
29051 case AArch64::SMIN_ZPmZ_D:
29052 case AArch64::SMIN_ZPmZ_H:
29053 case AArch64::SMIN_ZPmZ_S:
29054 case AArch64::SMULH_ZPmZ_B:
29055 case AArch64::SMULH_ZPmZ_D:
29056 case AArch64::SMULH_ZPmZ_H:
29057 case AArch64::SMULH_ZPmZ_S:
29058 case AArch64::SPLICE_ZPZ_B:
29059 case AArch64::SPLICE_ZPZ_D:
29060 case AArch64::SPLICE_ZPZ_H:
29061 case AArch64::SPLICE_ZPZ_S:
29062 case AArch64::SUBR_ZPmZ_B:
29063 case AArch64::SUBR_ZPmZ_D:
29064 case AArch64::SUBR_ZPmZ_H:
29065 case AArch64::SUBR_ZPmZ_S:
29066 case AArch64::SUB_ZPmZ_B:
29067 case AArch64::SUB_ZPmZ_CPA:
29068 case AArch64::SUB_ZPmZ_D:
29069 case AArch64::SUB_ZPmZ_H:
29070 case AArch64::SUB_ZPmZ_S:
29071 case AArch64::UABD_ZPmZ_B:
29072 case AArch64::UABD_ZPmZ_D:
29073 case AArch64::UABD_ZPmZ_H:
29074 case AArch64::UABD_ZPmZ_S:
29075 case AArch64::UDIVR_ZPmZ_D:
29076 case AArch64::UDIVR_ZPmZ_S:
29077 case AArch64::UDIV_ZPmZ_D:
29078 case AArch64::UDIV_ZPmZ_S:
29079 case AArch64::UMAX_ZPmZ_B:
29080 case AArch64::UMAX_ZPmZ_D:
29081 case AArch64::UMAX_ZPmZ_H:
29082 case AArch64::UMAX_ZPmZ_S:
29083 case AArch64::UMIN_ZPmZ_B:
29084 case AArch64::UMIN_ZPmZ_D:
29085 case AArch64::UMIN_ZPmZ_H:
29086 case AArch64::UMIN_ZPmZ_S:
29087 case AArch64::UMULH_ZPmZ_B:
29088 case AArch64::UMULH_ZPmZ_D:
29089 case AArch64::UMULH_ZPmZ_H:
29090 case AArch64::UMULH_ZPmZ_S: {
29091 switch (OpNum) {
29092 case 1:
29093 // op: Pg
29094 return 10;
29095 case 0:
29096 // op: Zdn
29097 return 0;
29098 case 3:
29099 // op: Zm
29100 return 5;
29101 }
29102 break;
29103 }
29104 case AArch64::FADD_ZPmI_D:
29105 case AArch64::FADD_ZPmI_H:
29106 case AArch64::FADD_ZPmI_S:
29107 case AArch64::FMAXNM_ZPmI_D:
29108 case AArch64::FMAXNM_ZPmI_H:
29109 case AArch64::FMAXNM_ZPmI_S:
29110 case AArch64::FMAX_ZPmI_D:
29111 case AArch64::FMAX_ZPmI_H:
29112 case AArch64::FMAX_ZPmI_S:
29113 case AArch64::FMINNM_ZPmI_D:
29114 case AArch64::FMINNM_ZPmI_H:
29115 case AArch64::FMINNM_ZPmI_S:
29116 case AArch64::FMIN_ZPmI_D:
29117 case AArch64::FMIN_ZPmI_H:
29118 case AArch64::FMIN_ZPmI_S:
29119 case AArch64::FMUL_ZPmI_D:
29120 case AArch64::FMUL_ZPmI_H:
29121 case AArch64::FMUL_ZPmI_S:
29122 case AArch64::FSUBR_ZPmI_D:
29123 case AArch64::FSUBR_ZPmI_H:
29124 case AArch64::FSUBR_ZPmI_S:
29125 case AArch64::FSUB_ZPmI_D:
29126 case AArch64::FSUB_ZPmI_H:
29127 case AArch64::FSUB_ZPmI_S: {
29128 switch (OpNum) {
29129 case 1:
29130 // op: Pg
29131 return 10;
29132 case 0:
29133 // op: Zdn
29134 return 0;
29135 case 3:
29136 // op: i1
29137 return 5;
29138 }
29139 break;
29140 }
29141 case AArch64::ASRD_ZPmI_B:
29142 case AArch64::ASRD_ZPmI_D:
29143 case AArch64::ASRD_ZPmI_H:
29144 case AArch64::ASRD_ZPmI_S:
29145 case AArch64::ASR_ZPmI_B:
29146 case AArch64::ASR_ZPmI_D:
29147 case AArch64::ASR_ZPmI_H:
29148 case AArch64::ASR_ZPmI_S:
29149 case AArch64::LSL_ZPmI_B:
29150 case AArch64::LSL_ZPmI_D:
29151 case AArch64::LSL_ZPmI_H:
29152 case AArch64::LSL_ZPmI_S:
29153 case AArch64::LSR_ZPmI_B:
29154 case AArch64::LSR_ZPmI_D:
29155 case AArch64::LSR_ZPmI_H:
29156 case AArch64::LSR_ZPmI_S:
29157 case AArch64::SQSHLU_ZPmI_B:
29158 case AArch64::SQSHLU_ZPmI_D:
29159 case AArch64::SQSHLU_ZPmI_H:
29160 case AArch64::SQSHLU_ZPmI_S:
29161 case AArch64::SQSHL_ZPmI_B:
29162 case AArch64::SQSHL_ZPmI_D:
29163 case AArch64::SQSHL_ZPmI_H:
29164 case AArch64::SQSHL_ZPmI_S:
29165 case AArch64::SRSHR_ZPmI_B:
29166 case AArch64::SRSHR_ZPmI_D:
29167 case AArch64::SRSHR_ZPmI_H:
29168 case AArch64::SRSHR_ZPmI_S:
29169 case AArch64::UQSHL_ZPmI_B:
29170 case AArch64::UQSHL_ZPmI_D:
29171 case AArch64::UQSHL_ZPmI_H:
29172 case AArch64::UQSHL_ZPmI_S:
29173 case AArch64::URSHR_ZPmI_B:
29174 case AArch64::URSHR_ZPmI_D:
29175 case AArch64::URSHR_ZPmI_H:
29176 case AArch64::URSHR_ZPmI_S: {
29177 switch (OpNum) {
29178 case 1:
29179 // op: Pg
29180 return 10;
29181 case 0:
29182 // op: Zdn
29183 return 0;
29184 case 3:
29185 // op: imm
29186 return 5;
29187 }
29188 break;
29189 }
29190 case AArch64::MAD_ZPmZZ_B:
29191 case AArch64::MAD_ZPmZZ_D:
29192 case AArch64::MAD_ZPmZZ_H:
29193 case AArch64::MAD_ZPmZZ_S:
29194 case AArch64::MSB_ZPmZZ_B:
29195 case AArch64::MSB_ZPmZZ_D:
29196 case AArch64::MSB_ZPmZZ_H:
29197 case AArch64::MSB_ZPmZZ_S: {
29198 switch (OpNum) {
29199 case 1:
29200 // op: Pg
29201 return 10;
29202 case 0:
29203 // op: Zdn
29204 return 0;
29205 case 4:
29206 // op: Za
29207 return 5;
29208 case 3:
29209 // op: Zm
29210 return 16;
29211 }
29212 break;
29213 }
29214 case AArch64::CNTP_XPP_B:
29215 case AArch64::CNTP_XPP_D:
29216 case AArch64::CNTP_XPP_H:
29217 case AArch64::CNTP_XPP_S:
29218 case AArch64::FIRSTP_XPP_B:
29219 case AArch64::FIRSTP_XPP_D:
29220 case AArch64::FIRSTP_XPP_H:
29221 case AArch64::FIRSTP_XPP_S:
29222 case AArch64::LASTP_XPP_B:
29223 case AArch64::LASTP_XPP_D:
29224 case AArch64::LASTP_XPP_H:
29225 case AArch64::LASTP_XPP_S: {
29226 switch (OpNum) {
29227 case 1:
29228 // op: Pg
29229 return 10;
29230 case 2:
29231 // op: Pn
29232 return 5;
29233 case 0:
29234 // op: Rd
29235 return 0;
29236 }
29237 break;
29238 }
29239 case AArch64::LD1B_D_IMM:
29240 case AArch64::LD1B_H_IMM:
29241 case AArch64::LD1B_IMM:
29242 case AArch64::LD1B_S_IMM:
29243 case AArch64::LD1D_IMM:
29244 case AArch64::LD1H_D_IMM:
29245 case AArch64::LD1H_IMM:
29246 case AArch64::LD1H_S_IMM:
29247 case AArch64::LD1SB_D_IMM:
29248 case AArch64::LD1SB_H_IMM:
29249 case AArch64::LD1SB_S_IMM:
29250 case AArch64::LD1SH_D_IMM:
29251 case AArch64::LD1SH_S_IMM:
29252 case AArch64::LD1SW_D_IMM:
29253 case AArch64::LD1W_D_IMM:
29254 case AArch64::LD1W_IMM:
29255 case AArch64::LDNF1B_D_IMM:
29256 case AArch64::LDNF1B_H_IMM:
29257 case AArch64::LDNF1B_IMM:
29258 case AArch64::LDNF1B_S_IMM:
29259 case AArch64::LDNF1D_IMM:
29260 case AArch64::LDNF1H_D_IMM:
29261 case AArch64::LDNF1H_IMM:
29262 case AArch64::LDNF1H_S_IMM:
29263 case AArch64::LDNF1SB_D_IMM:
29264 case AArch64::LDNF1SB_H_IMM:
29265 case AArch64::LDNF1SB_S_IMM:
29266 case AArch64::LDNF1SH_D_IMM:
29267 case AArch64::LDNF1SH_S_IMM:
29268 case AArch64::LDNF1SW_D_IMM:
29269 case AArch64::LDNF1W_D_IMM:
29270 case AArch64::LDNF1W_IMM:
29271 case AArch64::ST1B_D_IMM:
29272 case AArch64::ST1B_H_IMM:
29273 case AArch64::ST1B_IMM:
29274 case AArch64::ST1B_S_IMM:
29275 case AArch64::ST1D_IMM:
29276 case AArch64::ST1D_Q_IMM:
29277 case AArch64::ST1H_D_IMM:
29278 case AArch64::ST1H_IMM:
29279 case AArch64::ST1H_S_IMM:
29280 case AArch64::ST1W_D_IMM:
29281 case AArch64::ST1W_IMM:
29282 case AArch64::ST1W_Q_IMM:
29283 case AArch64::ST2B_IMM:
29284 case AArch64::ST2D_IMM:
29285 case AArch64::ST2H_IMM:
29286 case AArch64::ST2W_IMM:
29287 case AArch64::ST3B_IMM:
29288 case AArch64::ST3D_IMM:
29289 case AArch64::ST3H_IMM:
29290 case AArch64::ST3W_IMM:
29291 case AArch64::ST4B_IMM:
29292 case AArch64::ST4D_IMM:
29293 case AArch64::ST4H_IMM:
29294 case AArch64::ST4W_IMM:
29295 case AArch64::STNT1B_ZRI:
29296 case AArch64::STNT1D_ZRI:
29297 case AArch64::STNT1H_ZRI:
29298 case AArch64::STNT1W_ZRI: {
29299 switch (OpNum) {
29300 case 1:
29301 // op: Pg
29302 return 10;
29303 case 2:
29304 // op: Rn
29305 return 5;
29306 case 0:
29307 // op: Zt
29308 return 0;
29309 case 3:
29310 // op: imm4
29311 return 16;
29312 }
29313 break;
29314 }
29315 case AArch64::LD1RB_D_IMM:
29316 case AArch64::LD1RB_H_IMM:
29317 case AArch64::LD1RB_IMM:
29318 case AArch64::LD1RB_S_IMM:
29319 case AArch64::LD1RD_IMM:
29320 case AArch64::LD1RH_D_IMM:
29321 case AArch64::LD1RH_IMM:
29322 case AArch64::LD1RH_S_IMM:
29323 case AArch64::LD1RSB_D_IMM:
29324 case AArch64::LD1RSB_H_IMM:
29325 case AArch64::LD1RSB_S_IMM:
29326 case AArch64::LD1RSH_D_IMM:
29327 case AArch64::LD1RSH_S_IMM:
29328 case AArch64::LD1RSW_IMM:
29329 case AArch64::LD1RW_D_IMM:
29330 case AArch64::LD1RW_IMM: {
29331 switch (OpNum) {
29332 case 1:
29333 // op: Pg
29334 return 10;
29335 case 2:
29336 // op: Rn
29337 return 5;
29338 case 0:
29339 // op: Zt
29340 return 0;
29341 case 3:
29342 // op: imm6
29343 return 16;
29344 }
29345 break;
29346 }
29347 case AArch64::GLD1B_D:
29348 case AArch64::GLD1B_D_SXTW:
29349 case AArch64::GLD1B_D_UXTW:
29350 case AArch64::GLD1B_S_SXTW:
29351 case AArch64::GLD1B_S_UXTW:
29352 case AArch64::GLD1D:
29353 case AArch64::GLD1D_SCALED:
29354 case AArch64::GLD1D_SXTW:
29355 case AArch64::GLD1D_SXTW_SCALED:
29356 case AArch64::GLD1D_UXTW:
29357 case AArch64::GLD1D_UXTW_SCALED:
29358 case AArch64::GLD1H_D:
29359 case AArch64::GLD1H_D_SCALED:
29360 case AArch64::GLD1H_D_SXTW:
29361 case AArch64::GLD1H_D_SXTW_SCALED:
29362 case AArch64::GLD1H_D_UXTW:
29363 case AArch64::GLD1H_D_UXTW_SCALED:
29364 case AArch64::GLD1H_S_SXTW:
29365 case AArch64::GLD1H_S_SXTW_SCALED:
29366 case AArch64::GLD1H_S_UXTW:
29367 case AArch64::GLD1H_S_UXTW_SCALED:
29368 case AArch64::GLD1SB_D:
29369 case AArch64::GLD1SB_D_SXTW:
29370 case AArch64::GLD1SB_D_UXTW:
29371 case AArch64::GLD1SB_S_SXTW:
29372 case AArch64::GLD1SB_S_UXTW:
29373 case AArch64::GLD1SH_D:
29374 case AArch64::GLD1SH_D_SCALED:
29375 case AArch64::GLD1SH_D_SXTW:
29376 case AArch64::GLD1SH_D_SXTW_SCALED:
29377 case AArch64::GLD1SH_D_UXTW:
29378 case AArch64::GLD1SH_D_UXTW_SCALED:
29379 case AArch64::GLD1SH_S_SXTW:
29380 case AArch64::GLD1SH_S_SXTW_SCALED:
29381 case AArch64::GLD1SH_S_UXTW:
29382 case AArch64::GLD1SH_S_UXTW_SCALED:
29383 case AArch64::GLD1SW_D:
29384 case AArch64::GLD1SW_D_SCALED:
29385 case AArch64::GLD1SW_D_SXTW:
29386 case AArch64::GLD1SW_D_SXTW_SCALED:
29387 case AArch64::GLD1SW_D_UXTW:
29388 case AArch64::GLD1SW_D_UXTW_SCALED:
29389 case AArch64::GLD1W_D:
29390 case AArch64::GLD1W_D_SCALED:
29391 case AArch64::GLD1W_D_SXTW:
29392 case AArch64::GLD1W_D_SXTW_SCALED:
29393 case AArch64::GLD1W_D_UXTW:
29394 case AArch64::GLD1W_D_UXTW_SCALED:
29395 case AArch64::GLD1W_SXTW:
29396 case AArch64::GLD1W_SXTW_SCALED:
29397 case AArch64::GLD1W_UXTW:
29398 case AArch64::GLD1W_UXTW_SCALED:
29399 case AArch64::GLDFF1B_D:
29400 case AArch64::GLDFF1B_D_SXTW:
29401 case AArch64::GLDFF1B_D_UXTW:
29402 case AArch64::GLDFF1B_S_SXTW:
29403 case AArch64::GLDFF1B_S_UXTW:
29404 case AArch64::GLDFF1D:
29405 case AArch64::GLDFF1D_SCALED:
29406 case AArch64::GLDFF1D_SXTW:
29407 case AArch64::GLDFF1D_SXTW_SCALED:
29408 case AArch64::GLDFF1D_UXTW:
29409 case AArch64::GLDFF1D_UXTW_SCALED:
29410 case AArch64::GLDFF1H_D:
29411 case AArch64::GLDFF1H_D_SCALED:
29412 case AArch64::GLDFF1H_D_SXTW:
29413 case AArch64::GLDFF1H_D_SXTW_SCALED:
29414 case AArch64::GLDFF1H_D_UXTW:
29415 case AArch64::GLDFF1H_D_UXTW_SCALED:
29416 case AArch64::GLDFF1H_S_SXTW:
29417 case AArch64::GLDFF1H_S_SXTW_SCALED:
29418 case AArch64::GLDFF1H_S_UXTW:
29419 case AArch64::GLDFF1H_S_UXTW_SCALED:
29420 case AArch64::GLDFF1SB_D:
29421 case AArch64::GLDFF1SB_D_SXTW:
29422 case AArch64::GLDFF1SB_D_UXTW:
29423 case AArch64::GLDFF1SB_S_SXTW:
29424 case AArch64::GLDFF1SB_S_UXTW:
29425 case AArch64::GLDFF1SH_D:
29426 case AArch64::GLDFF1SH_D_SCALED:
29427 case AArch64::GLDFF1SH_D_SXTW:
29428 case AArch64::GLDFF1SH_D_SXTW_SCALED:
29429 case AArch64::GLDFF1SH_D_UXTW:
29430 case AArch64::GLDFF1SH_D_UXTW_SCALED:
29431 case AArch64::GLDFF1SH_S_SXTW:
29432 case AArch64::GLDFF1SH_S_SXTW_SCALED:
29433 case AArch64::GLDFF1SH_S_UXTW:
29434 case AArch64::GLDFF1SH_S_UXTW_SCALED:
29435 case AArch64::GLDFF1SW_D:
29436 case AArch64::GLDFF1SW_D_SCALED:
29437 case AArch64::GLDFF1SW_D_SXTW:
29438 case AArch64::GLDFF1SW_D_SXTW_SCALED:
29439 case AArch64::GLDFF1SW_D_UXTW:
29440 case AArch64::GLDFF1SW_D_UXTW_SCALED:
29441 case AArch64::GLDFF1W_D:
29442 case AArch64::GLDFF1W_D_SCALED:
29443 case AArch64::GLDFF1W_D_SXTW:
29444 case AArch64::GLDFF1W_D_SXTW_SCALED:
29445 case AArch64::GLDFF1W_D_UXTW:
29446 case AArch64::GLDFF1W_D_UXTW_SCALED:
29447 case AArch64::GLDFF1W_SXTW:
29448 case AArch64::GLDFF1W_SXTW_SCALED:
29449 case AArch64::GLDFF1W_UXTW:
29450 case AArch64::GLDFF1W_UXTW_SCALED:
29451 case AArch64::SST1B_D:
29452 case AArch64::SST1B_D_SXTW:
29453 case AArch64::SST1B_D_UXTW:
29454 case AArch64::SST1B_S_SXTW:
29455 case AArch64::SST1B_S_UXTW:
29456 case AArch64::SST1D:
29457 case AArch64::SST1D_SCALED:
29458 case AArch64::SST1D_SXTW:
29459 case AArch64::SST1D_SXTW_SCALED:
29460 case AArch64::SST1D_UXTW:
29461 case AArch64::SST1D_UXTW_SCALED:
29462 case AArch64::SST1H_D:
29463 case AArch64::SST1H_D_SCALED:
29464 case AArch64::SST1H_D_SXTW:
29465 case AArch64::SST1H_D_SXTW_SCALED:
29466 case AArch64::SST1H_D_UXTW:
29467 case AArch64::SST1H_D_UXTW_SCALED:
29468 case AArch64::SST1H_S_SXTW:
29469 case AArch64::SST1H_S_SXTW_SCALED:
29470 case AArch64::SST1H_S_UXTW:
29471 case AArch64::SST1H_S_UXTW_SCALED:
29472 case AArch64::SST1W_D:
29473 case AArch64::SST1W_D_SCALED:
29474 case AArch64::SST1W_D_SXTW:
29475 case AArch64::SST1W_D_SXTW_SCALED:
29476 case AArch64::SST1W_D_UXTW:
29477 case AArch64::SST1W_D_UXTW_SCALED:
29478 case AArch64::SST1W_SXTW:
29479 case AArch64::SST1W_SXTW_SCALED:
29480 case AArch64::SST1W_UXTW:
29481 case AArch64::SST1W_UXTW_SCALED: {
29482 switch (OpNum) {
29483 case 1:
29484 // op: Pg
29485 return 10;
29486 case 2:
29487 // op: Rn
29488 return 5;
29489 case 3:
29490 // op: Zm
29491 return 16;
29492 case 0:
29493 // op: Zt
29494 return 0;
29495 }
29496 break;
29497 }
29498 case AArch64::PRFB_D_SCALED:
29499 case AArch64::PRFB_D_SXTW_SCALED:
29500 case AArch64::PRFB_D_UXTW_SCALED:
29501 case AArch64::PRFB_S_SXTW_SCALED:
29502 case AArch64::PRFB_S_UXTW_SCALED:
29503 case AArch64::PRFD_D_SCALED:
29504 case AArch64::PRFD_D_SXTW_SCALED:
29505 case AArch64::PRFD_D_UXTW_SCALED:
29506 case AArch64::PRFD_S_SXTW_SCALED:
29507 case AArch64::PRFD_S_UXTW_SCALED:
29508 case AArch64::PRFH_D_SCALED:
29509 case AArch64::PRFH_D_SXTW_SCALED:
29510 case AArch64::PRFH_D_UXTW_SCALED:
29511 case AArch64::PRFH_S_SXTW_SCALED:
29512 case AArch64::PRFH_S_UXTW_SCALED:
29513 case AArch64::PRFW_D_SCALED:
29514 case AArch64::PRFW_D_SXTW_SCALED:
29515 case AArch64::PRFW_D_UXTW_SCALED:
29516 case AArch64::PRFW_S_SXTW_SCALED:
29517 case AArch64::PRFW_S_UXTW_SCALED: {
29518 switch (OpNum) {
29519 case 1:
29520 // op: Pg
29521 return 10;
29522 case 2:
29523 // op: Rn
29524 return 5;
29525 case 3:
29526 // op: Zm
29527 return 16;
29528 case 0:
29529 // op: prfop
29530 return 0;
29531 }
29532 break;
29533 }
29534 case AArch64::EXPAND_ZPZ_B:
29535 case AArch64::EXPAND_ZPZ_D:
29536 case AArch64::EXPAND_ZPZ_H:
29537 case AArch64::EXPAND_ZPZ_S:
29538 case AArch64::SPLICE_ZPZZ_B:
29539 case AArch64::SPLICE_ZPZZ_D:
29540 case AArch64::SPLICE_ZPZZ_H:
29541 case AArch64::SPLICE_ZPZZ_S: {
29542 switch (OpNum) {
29543 case 1:
29544 // op: Pg
29545 return 10;
29546 case 2:
29547 // op: Zn
29548 return 5;
29549 case 0:
29550 // op: Zd
29551 return 0;
29552 }
29553 break;
29554 }
29555 case AArch64::GLD1B_D_IMM:
29556 case AArch64::GLD1B_S_IMM:
29557 case AArch64::GLD1D_IMM:
29558 case AArch64::GLD1H_D_IMM:
29559 case AArch64::GLD1H_S_IMM:
29560 case AArch64::GLD1SB_D_IMM:
29561 case AArch64::GLD1SB_S_IMM:
29562 case AArch64::GLD1SH_D_IMM:
29563 case AArch64::GLD1SH_S_IMM:
29564 case AArch64::GLD1SW_D_IMM:
29565 case AArch64::GLD1W_D_IMM:
29566 case AArch64::GLD1W_IMM:
29567 case AArch64::GLDFF1B_D_IMM:
29568 case AArch64::GLDFF1B_S_IMM:
29569 case AArch64::GLDFF1D_IMM:
29570 case AArch64::GLDFF1H_D_IMM:
29571 case AArch64::GLDFF1H_S_IMM:
29572 case AArch64::GLDFF1SB_D_IMM:
29573 case AArch64::GLDFF1SB_S_IMM:
29574 case AArch64::GLDFF1SH_D_IMM:
29575 case AArch64::GLDFF1SH_S_IMM:
29576 case AArch64::GLDFF1SW_D_IMM:
29577 case AArch64::GLDFF1W_D_IMM:
29578 case AArch64::GLDFF1W_IMM: {
29579 switch (OpNum) {
29580 case 1:
29581 // op: Pg
29582 return 10;
29583 case 2:
29584 // op: Zn
29585 return 5;
29586 case 0:
29587 // op: Zt
29588 return 0;
29589 case 3:
29590 // op: imm5
29591 return 16;
29592 }
29593 break;
29594 }
29595 case AArch64::PRFB_D_PZI:
29596 case AArch64::PRFB_S_PZI:
29597 case AArch64::PRFD_D_PZI:
29598 case AArch64::PRFD_S_PZI:
29599 case AArch64::PRFH_D_PZI:
29600 case AArch64::PRFH_S_PZI:
29601 case AArch64::PRFW_D_PZI:
29602 case AArch64::PRFW_S_PZI: {
29603 switch (OpNum) {
29604 case 1:
29605 // op: Pg
29606 return 10;
29607 case 2:
29608 // op: Zn
29609 return 5;
29610 case 3:
29611 // op: imm5
29612 return 16;
29613 case 0:
29614 // op: prfop
29615 return 0;
29616 }
29617 break;
29618 }
29619 case AArch64::LD2B:
29620 case AArch64::LD2D:
29621 case AArch64::LD2H:
29622 case AArch64::LD2Q:
29623 case AArch64::LD2W:
29624 case AArch64::LD3B:
29625 case AArch64::LD3D:
29626 case AArch64::LD3H:
29627 case AArch64::LD3Q:
29628 case AArch64::LD3W:
29629 case AArch64::LD4B:
29630 case AArch64::LD4D:
29631 case AArch64::LD4H:
29632 case AArch64::LD4Q:
29633 case AArch64::LD4W:
29634 case AArch64::LDNT1B_ZRR:
29635 case AArch64::LDNT1D_ZRR:
29636 case AArch64::LDNT1H_ZRR:
29637 case AArch64::LDNT1W_ZRR:
29638 case AArch64::ST1B:
29639 case AArch64::ST1B_D:
29640 case AArch64::ST1B_H:
29641 case AArch64::ST1B_S:
29642 case AArch64::ST1D:
29643 case AArch64::ST1D_Q:
29644 case AArch64::ST1H:
29645 case AArch64::ST1H_D:
29646 case AArch64::ST1H_S:
29647 case AArch64::ST1W:
29648 case AArch64::ST1W_D:
29649 case AArch64::ST1W_Q:
29650 case AArch64::ST2B:
29651 case AArch64::ST2D:
29652 case AArch64::ST2H:
29653 case AArch64::ST2W:
29654 case AArch64::ST3B:
29655 case AArch64::ST3D:
29656 case AArch64::ST3H:
29657 case AArch64::ST3W:
29658 case AArch64::ST4B:
29659 case AArch64::ST4D:
29660 case AArch64::ST4H:
29661 case AArch64::ST4W:
29662 case AArch64::STNT1B_ZRR:
29663 case AArch64::STNT1D_ZRR:
29664 case AArch64::STNT1H_ZRR:
29665 case AArch64::STNT1W_ZRR: {
29666 switch (OpNum) {
29667 case 1:
29668 // op: Pg
29669 return 10;
29670 case 3:
29671 // op: Rm
29672 return 16;
29673 case 2:
29674 // op: Rn
29675 return 5;
29676 case 0:
29677 // op: Zt
29678 return 0;
29679 }
29680 break;
29681 }
29682 case AArch64::LDNT1B_ZZR_D:
29683 case AArch64::LDNT1B_ZZR_S:
29684 case AArch64::LDNT1D_ZZR_D:
29685 case AArch64::LDNT1H_ZZR_D:
29686 case AArch64::LDNT1H_ZZR_S:
29687 case AArch64::LDNT1SB_ZZR_D:
29688 case AArch64::LDNT1SB_ZZR_S:
29689 case AArch64::LDNT1SH_ZZR_D:
29690 case AArch64::LDNT1SH_ZZR_S:
29691 case AArch64::LDNT1SW_ZZR_D:
29692 case AArch64::LDNT1W_ZZR_D:
29693 case AArch64::LDNT1W_ZZR_S:
29694 case AArch64::STNT1B_ZZR_D:
29695 case AArch64::STNT1B_ZZR_S:
29696 case AArch64::STNT1D_ZZR_D:
29697 case AArch64::STNT1H_ZZR_D:
29698 case AArch64::STNT1H_ZZR_S:
29699 case AArch64::STNT1W_ZZR_D:
29700 case AArch64::STNT1W_ZZR_S: {
29701 switch (OpNum) {
29702 case 1:
29703 // op: Pg
29704 return 10;
29705 case 3:
29706 // op: Rm
29707 return 16;
29708 case 2:
29709 // op: Zn
29710 return 5;
29711 case 0:
29712 // op: Zt
29713 return 0;
29714 }
29715 break;
29716 }
29717 case AArch64::ADDP_ZPmZ_B:
29718 case AArch64::ADDP_ZPmZ_D:
29719 case AArch64::ADDP_ZPmZ_H:
29720 case AArch64::ADDP_ZPmZ_S:
29721 case AArch64::FADDP_ZPmZZ_D:
29722 case AArch64::FADDP_ZPmZZ_H:
29723 case AArch64::FADDP_ZPmZZ_S:
29724 case AArch64::FMAXNMP_ZPmZZ_D:
29725 case AArch64::FMAXNMP_ZPmZZ_H:
29726 case AArch64::FMAXNMP_ZPmZZ_S:
29727 case AArch64::FMAXP_ZPmZZ_D:
29728 case AArch64::FMAXP_ZPmZZ_H:
29729 case AArch64::FMAXP_ZPmZZ_S:
29730 case AArch64::FMINNMP_ZPmZZ_D:
29731 case AArch64::FMINNMP_ZPmZZ_H:
29732 case AArch64::FMINNMP_ZPmZZ_S:
29733 case AArch64::FMINP_ZPmZZ_D:
29734 case AArch64::FMINP_ZPmZZ_H:
29735 case AArch64::FMINP_ZPmZZ_S:
29736 case AArch64::SHADD_ZPmZ_B:
29737 case AArch64::SHADD_ZPmZ_D:
29738 case AArch64::SHADD_ZPmZ_H:
29739 case AArch64::SHADD_ZPmZ_S:
29740 case AArch64::SHSUBR_ZPmZ_B:
29741 case AArch64::SHSUBR_ZPmZ_D:
29742 case AArch64::SHSUBR_ZPmZ_H:
29743 case AArch64::SHSUBR_ZPmZ_S:
29744 case AArch64::SHSUB_ZPmZ_B:
29745 case AArch64::SHSUB_ZPmZ_D:
29746 case AArch64::SHSUB_ZPmZ_H:
29747 case AArch64::SHSUB_ZPmZ_S:
29748 case AArch64::SMAXP_ZPmZ_B:
29749 case AArch64::SMAXP_ZPmZ_D:
29750 case AArch64::SMAXP_ZPmZ_H:
29751 case AArch64::SMAXP_ZPmZ_S:
29752 case AArch64::SMINP_ZPmZ_B:
29753 case AArch64::SMINP_ZPmZ_D:
29754 case AArch64::SMINP_ZPmZ_H:
29755 case AArch64::SMINP_ZPmZ_S:
29756 case AArch64::SQADD_ZPmZ_B:
29757 case AArch64::SQADD_ZPmZ_D:
29758 case AArch64::SQADD_ZPmZ_H:
29759 case AArch64::SQADD_ZPmZ_S:
29760 case AArch64::SQRSHLR_ZPmZ_B:
29761 case AArch64::SQRSHLR_ZPmZ_D:
29762 case AArch64::SQRSHLR_ZPmZ_H:
29763 case AArch64::SQRSHLR_ZPmZ_S:
29764 case AArch64::SQRSHL_ZPmZ_B:
29765 case AArch64::SQRSHL_ZPmZ_D:
29766 case AArch64::SQRSHL_ZPmZ_H:
29767 case AArch64::SQRSHL_ZPmZ_S:
29768 case AArch64::SQSHLR_ZPmZ_B:
29769 case AArch64::SQSHLR_ZPmZ_D:
29770 case AArch64::SQSHLR_ZPmZ_H:
29771 case AArch64::SQSHLR_ZPmZ_S:
29772 case AArch64::SQSHL_ZPmZ_B:
29773 case AArch64::SQSHL_ZPmZ_D:
29774 case AArch64::SQSHL_ZPmZ_H:
29775 case AArch64::SQSHL_ZPmZ_S:
29776 case AArch64::SQSUBR_ZPmZ_B:
29777 case AArch64::SQSUBR_ZPmZ_D:
29778 case AArch64::SQSUBR_ZPmZ_H:
29779 case AArch64::SQSUBR_ZPmZ_S:
29780 case AArch64::SQSUB_ZPmZ_B:
29781 case AArch64::SQSUB_ZPmZ_D:
29782 case AArch64::SQSUB_ZPmZ_H:
29783 case AArch64::SQSUB_ZPmZ_S:
29784 case AArch64::SRHADD_ZPmZ_B:
29785 case AArch64::SRHADD_ZPmZ_D:
29786 case AArch64::SRHADD_ZPmZ_H:
29787 case AArch64::SRHADD_ZPmZ_S:
29788 case AArch64::SRSHLR_ZPmZ_B:
29789 case AArch64::SRSHLR_ZPmZ_D:
29790 case AArch64::SRSHLR_ZPmZ_H:
29791 case AArch64::SRSHLR_ZPmZ_S:
29792 case AArch64::SRSHL_ZPmZ_B:
29793 case AArch64::SRSHL_ZPmZ_D:
29794 case AArch64::SRSHL_ZPmZ_H:
29795 case AArch64::SRSHL_ZPmZ_S:
29796 case AArch64::SUBP_ZPmZZ_B:
29797 case AArch64::SUBP_ZPmZZ_D:
29798 case AArch64::SUBP_ZPmZZ_H:
29799 case AArch64::SUBP_ZPmZZ_S:
29800 case AArch64::SUQADD_ZPmZ_B:
29801 case AArch64::SUQADD_ZPmZ_D:
29802 case AArch64::SUQADD_ZPmZ_H:
29803 case AArch64::SUQADD_ZPmZ_S:
29804 case AArch64::UHADD_ZPmZ_B:
29805 case AArch64::UHADD_ZPmZ_D:
29806 case AArch64::UHADD_ZPmZ_H:
29807 case AArch64::UHADD_ZPmZ_S:
29808 case AArch64::UHSUBR_ZPmZ_B:
29809 case AArch64::UHSUBR_ZPmZ_D:
29810 case AArch64::UHSUBR_ZPmZ_H:
29811 case AArch64::UHSUBR_ZPmZ_S:
29812 case AArch64::UHSUB_ZPmZ_B:
29813 case AArch64::UHSUB_ZPmZ_D:
29814 case AArch64::UHSUB_ZPmZ_H:
29815 case AArch64::UHSUB_ZPmZ_S:
29816 case AArch64::UMAXP_ZPmZ_B:
29817 case AArch64::UMAXP_ZPmZ_D:
29818 case AArch64::UMAXP_ZPmZ_H:
29819 case AArch64::UMAXP_ZPmZ_S:
29820 case AArch64::UMINP_ZPmZ_B:
29821 case AArch64::UMINP_ZPmZ_D:
29822 case AArch64::UMINP_ZPmZ_H:
29823 case AArch64::UMINP_ZPmZ_S:
29824 case AArch64::UQADD_ZPmZ_B:
29825 case AArch64::UQADD_ZPmZ_D:
29826 case AArch64::UQADD_ZPmZ_H:
29827 case AArch64::UQADD_ZPmZ_S:
29828 case AArch64::UQRSHLR_ZPmZ_B:
29829 case AArch64::UQRSHLR_ZPmZ_D:
29830 case AArch64::UQRSHLR_ZPmZ_H:
29831 case AArch64::UQRSHLR_ZPmZ_S:
29832 case AArch64::UQRSHL_ZPmZ_B:
29833 case AArch64::UQRSHL_ZPmZ_D:
29834 case AArch64::UQRSHL_ZPmZ_H:
29835 case AArch64::UQRSHL_ZPmZ_S:
29836 case AArch64::UQSHLR_ZPmZ_B:
29837 case AArch64::UQSHLR_ZPmZ_D:
29838 case AArch64::UQSHLR_ZPmZ_H:
29839 case AArch64::UQSHLR_ZPmZ_S:
29840 case AArch64::UQSHL_ZPmZ_B:
29841 case AArch64::UQSHL_ZPmZ_D:
29842 case AArch64::UQSHL_ZPmZ_H:
29843 case AArch64::UQSHL_ZPmZ_S:
29844 case AArch64::UQSUBR_ZPmZ_B:
29845 case AArch64::UQSUBR_ZPmZ_D:
29846 case AArch64::UQSUBR_ZPmZ_H:
29847 case AArch64::UQSUBR_ZPmZ_S:
29848 case AArch64::UQSUB_ZPmZ_B:
29849 case AArch64::UQSUB_ZPmZ_D:
29850 case AArch64::UQSUB_ZPmZ_H:
29851 case AArch64::UQSUB_ZPmZ_S:
29852 case AArch64::URHADD_ZPmZ_B:
29853 case AArch64::URHADD_ZPmZ_D:
29854 case AArch64::URHADD_ZPmZ_H:
29855 case AArch64::URHADD_ZPmZ_S:
29856 case AArch64::URSHLR_ZPmZ_B:
29857 case AArch64::URSHLR_ZPmZ_D:
29858 case AArch64::URSHLR_ZPmZ_H:
29859 case AArch64::URSHLR_ZPmZ_S:
29860 case AArch64::URSHL_ZPmZ_B:
29861 case AArch64::URSHL_ZPmZ_D:
29862 case AArch64::URSHL_ZPmZ_H:
29863 case AArch64::URSHL_ZPmZ_S:
29864 case AArch64::USQADD_ZPmZ_B:
29865 case AArch64::USQADD_ZPmZ_D:
29866 case AArch64::USQADD_ZPmZ_H:
29867 case AArch64::USQADD_ZPmZ_S: {
29868 switch (OpNum) {
29869 case 1:
29870 // op: Pg
29871 return 10;
29872 case 3:
29873 // op: Zm
29874 return 5;
29875 case 0:
29876 // op: Zdn
29877 return 0;
29878 }
29879 break;
29880 }
29881 case AArch64::SADALP_ZPmZ_D:
29882 case AArch64::SADALP_ZPmZ_H:
29883 case AArch64::SADALP_ZPmZ_S:
29884 case AArch64::UADALP_ZPmZ_D:
29885 case AArch64::UADALP_ZPmZ_H:
29886 case AArch64::UADALP_ZPmZ_S: {
29887 switch (OpNum) {
29888 case 1:
29889 // op: Pg
29890 return 10;
29891 case 3:
29892 // op: Zn
29893 return 5;
29894 case 0:
29895 // op: Zda
29896 return 0;
29897 }
29898 break;
29899 }
29900 case AArch64::SST1B_D_IMM:
29901 case AArch64::SST1B_S_IMM:
29902 case AArch64::SST1D_IMM:
29903 case AArch64::SST1H_D_IMM:
29904 case AArch64::SST1H_S_IMM:
29905 case AArch64::SST1W_D_IMM:
29906 case AArch64::SST1W_IMM: {
29907 switch (OpNum) {
29908 case 1:
29909 // op: Pg
29910 return 10;
29911 case 3:
29912 // op: imm5
29913 return 16;
29914 case 2:
29915 // op: Zn
29916 return 5;
29917 case 0:
29918 // op: Zt
29919 return 0;
29920 }
29921 break;
29922 }
29923 case AArch64::FMAD_ZPmZZ_D:
29924 case AArch64::FMAD_ZPmZZ_H:
29925 case AArch64::FMAD_ZPmZZ_S:
29926 case AArch64::FMSB_ZPmZZ_D:
29927 case AArch64::FMSB_ZPmZZ_H:
29928 case AArch64::FMSB_ZPmZZ_S:
29929 case AArch64::FNMAD_ZPmZZ_D:
29930 case AArch64::FNMAD_ZPmZZ_H:
29931 case AArch64::FNMAD_ZPmZZ_S:
29932 case AArch64::FNMSB_ZPmZZ_D:
29933 case AArch64::FNMSB_ZPmZZ_H:
29934 case AArch64::FNMSB_ZPmZZ_S: {
29935 switch (OpNum) {
29936 case 1:
29937 // op: Pg
29938 return 10;
29939 case 4:
29940 // op: Za
29941 return 16;
29942 case 0:
29943 // op: Zdn
29944 return 0;
29945 case 3:
29946 // op: Zm
29947 return 5;
29948 }
29949 break;
29950 }
29951 case AArch64::BF16DOTlanev4bf16:
29952 case AArch64::BF16DOTlanev8bf16:
29953 case AArch64::BFMLALBIdx:
29954 case AArch64::BFMLALTIdx:
29955 case AArch64::FDOTlanev2f32:
29956 case AArch64::FDOTlanev4f16:
29957 case AArch64::FDOTlanev4f16_v2f32:
29958 case AArch64::FDOTlanev4f32:
29959 case AArch64::FDOTlanev8f16:
29960 case AArch64::FDOTlanev8f16_v4f32:
29961 case AArch64::FMLAL2lanev4f16:
29962 case AArch64::FMLAL2lanev8f16:
29963 case AArch64::FMLALBlanev8f16:
29964 case AArch64::FMLALLBBlanev4f32:
29965 case AArch64::FMLALLBTlanev4f32:
29966 case AArch64::FMLALLTBlanev4f32:
29967 case AArch64::FMLALLTTlanev4f32:
29968 case AArch64::FMLALTlanev8f16:
29969 case AArch64::FMLALlanev4f16:
29970 case AArch64::FMLALlanev8f16:
29971 case AArch64::FMLAv1i16_indexed:
29972 case AArch64::FMLAv1i32_indexed:
29973 case AArch64::FMLAv1i64_indexed:
29974 case AArch64::FMLAv2i32_indexed:
29975 case AArch64::FMLAv2i64_indexed:
29976 case AArch64::FMLAv4i16_indexed:
29977 case AArch64::FMLAv4i32_indexed:
29978 case AArch64::FMLAv8i16_indexed:
29979 case AArch64::FMLSL2lanev4f16:
29980 case AArch64::FMLSL2lanev8f16:
29981 case AArch64::FMLSLlanev4f16:
29982 case AArch64::FMLSLlanev8f16:
29983 case AArch64::FMLSv1i16_indexed:
29984 case AArch64::FMLSv1i32_indexed:
29985 case AArch64::FMLSv1i64_indexed:
29986 case AArch64::FMLSv2i32_indexed:
29987 case AArch64::FMLSv2i64_indexed:
29988 case AArch64::FMLSv4i16_indexed:
29989 case AArch64::FMLSv4i32_indexed:
29990 case AArch64::FMLSv8i16_indexed:
29991 case AArch64::MLAv2i32_indexed:
29992 case AArch64::MLAv4i16_indexed:
29993 case AArch64::MLAv4i32_indexed:
29994 case AArch64::MLAv8i16_indexed:
29995 case AArch64::MLSv2i32_indexed:
29996 case AArch64::MLSv4i16_indexed:
29997 case AArch64::MLSv4i32_indexed:
29998 case AArch64::MLSv8i16_indexed:
29999 case AArch64::SDOTlanev16i8:
30000 case AArch64::SDOTlanev8i8:
30001 case AArch64::SMLALv2i32_indexed:
30002 case AArch64::SMLALv4i16_indexed:
30003 case AArch64::SMLALv4i32_indexed:
30004 case AArch64::SMLALv8i16_indexed:
30005 case AArch64::SMLSLv2i32_indexed:
30006 case AArch64::SMLSLv4i16_indexed:
30007 case AArch64::SMLSLv4i32_indexed:
30008 case AArch64::SMLSLv8i16_indexed:
30009 case AArch64::SQDMLALv1i32_indexed:
30010 case AArch64::SQDMLALv1i64_indexed:
30011 case AArch64::SQDMLALv2i32_indexed:
30012 case AArch64::SQDMLALv4i16_indexed:
30013 case AArch64::SQDMLALv4i32_indexed:
30014 case AArch64::SQDMLALv8i16_indexed:
30015 case AArch64::SQDMLSLv1i32_indexed:
30016 case AArch64::SQDMLSLv1i64_indexed:
30017 case AArch64::SQDMLSLv2i32_indexed:
30018 case AArch64::SQDMLSLv4i16_indexed:
30019 case AArch64::SQDMLSLv4i32_indexed:
30020 case AArch64::SQDMLSLv8i16_indexed:
30021 case AArch64::SQRDMLAHv1i16_indexed:
30022 case AArch64::SQRDMLAHv1i32_indexed:
30023 case AArch64::SQRDMLAHv2i32_indexed:
30024 case AArch64::SQRDMLAHv4i16_indexed:
30025 case AArch64::SQRDMLAHv4i32_indexed:
30026 case AArch64::SQRDMLAHv8i16_indexed:
30027 case AArch64::SQRDMLSHv1i16_indexed:
30028 case AArch64::SQRDMLSHv1i32_indexed:
30029 case AArch64::SQRDMLSHv2i32_indexed:
30030 case AArch64::SQRDMLSHv4i16_indexed:
30031 case AArch64::SQRDMLSHv4i32_indexed:
30032 case AArch64::SQRDMLSHv8i16_indexed:
30033 case AArch64::SUDOTlanev16i8:
30034 case AArch64::SUDOTlanev8i8:
30035 case AArch64::UDOTlanev16i8:
30036 case AArch64::UDOTlanev8i8:
30037 case AArch64::UMLALv2i32_indexed:
30038 case AArch64::UMLALv4i16_indexed:
30039 case AArch64::UMLALv4i32_indexed:
30040 case AArch64::UMLALv8i16_indexed:
30041 case AArch64::UMLSLv2i32_indexed:
30042 case AArch64::UMLSLv4i16_indexed:
30043 case AArch64::UMLSLv4i32_indexed:
30044 case AArch64::UMLSLv8i16_indexed:
30045 case AArch64::USDOTlanev16i8:
30046 case AArch64::USDOTlanev8i8: {
30047 switch (OpNum) {
30048 case 1:
30049 // op: Rd
30050 return 0;
30051 case 2:
30052 // op: Rn
30053 return 5;
30054 case 3:
30055 // op: Rm
30056 return 16;
30057 case 4:
30058 // op: idx
30059 return 11;
30060 }
30061 break;
30062 }
30063 case AArch64::FCMLAv2f32:
30064 case AArch64::FCMLAv2f64:
30065 case AArch64::FCMLAv4f16:
30066 case AArch64::FCMLAv4f32:
30067 case AArch64::FCMLAv8f16: {
30068 switch (OpNum) {
30069 case 1:
30070 // op: Rd
30071 return 0;
30072 case 2:
30073 // op: Rn
30074 return 5;
30075 case 3:
30076 // op: Rm
30077 return 16;
30078 case 4:
30079 // op: rot
30080 return 11;
30081 }
30082 break;
30083 }
30084 case AArch64::FCMLAv4f32_indexed:
30085 case AArch64::FCMLAv8f16_indexed: {
30086 switch (OpNum) {
30087 case 1:
30088 // op: Rd
30089 return 0;
30090 case 2:
30091 // op: Rn
30092 return 5;
30093 case 3:
30094 // op: Rm
30095 return 16;
30096 case 5:
30097 // op: rot
30098 return 13;
30099 case 4:
30100 // op: idx
30101 return 11;
30102 }
30103 break;
30104 }
30105 case AArch64::FCMLAv4f16_indexed: {
30106 switch (OpNum) {
30107 case 1:
30108 // op: Rd
30109 return 0;
30110 case 2:
30111 // op: Rn
30112 return 5;
30113 case 3:
30114 // op: Rm
30115 return 16;
30116 case 5:
30117 // op: rot
30118 return 13;
30119 case 4:
30120 // op: idx
30121 return 21;
30122 }
30123 break;
30124 }
30125 case AArch64::ADDHNv2i64_v4i32:
30126 case AArch64::ADDHNv4i32_v8i16:
30127 case AArch64::ADDHNv8i16_v16i8:
30128 case AArch64::BFDOTv4bf16:
30129 case AArch64::BFDOTv8bf16:
30130 case AArch64::BFMLALB:
30131 case AArch64::BFMLALT:
30132 case AArch64::BFMMLA:
30133 case AArch64::BIFv16i8:
30134 case AArch64::BIFv8i8:
30135 case AArch64::BITv16i8:
30136 case AArch64::BITv8i8:
30137 case AArch64::BSLv16i8:
30138 case AArch64::BSLv8i8:
30139 case AArch64::FCVTN_F322v16f8:
30140 case AArch64::FDOTv2f32:
30141 case AArch64::FDOTv4f16:
30142 case AArch64::FDOTv4f16_v2f32:
30143 case AArch64::FDOTv4f32:
30144 case AArch64::FDOTv8f16:
30145 case AArch64::FDOTv8f16_v4f32:
30146 case AArch64::FMLAL2v4f16:
30147 case AArch64::FMLAL2v8f16:
30148 case AArch64::FMLALBv16i8_v8f16:
30149 case AArch64::FMLALLBBv4f32:
30150 case AArch64::FMLALLBTv4f32:
30151 case AArch64::FMLALLTBv4f32:
30152 case AArch64::FMLALLTTv4f32:
30153 case AArch64::FMLALTv16i8_v8f16:
30154 case AArch64::FMLALv4f16:
30155 case AArch64::FMLALv8f16:
30156 case AArch64::FMLAv2f32:
30157 case AArch64::FMLAv2f64:
30158 case AArch64::FMLAv4f16:
30159 case AArch64::FMLAv4f32:
30160 case AArch64::FMLAv8f16:
30161 case AArch64::FMLSL2v4f16:
30162 case AArch64::FMLSL2v8f16:
30163 case AArch64::FMLSLv4f16:
30164 case AArch64::FMLSLv8f16:
30165 case AArch64::FMLSv2f32:
30166 case AArch64::FMLSv2f64:
30167 case AArch64::FMLSv4f16:
30168 case AArch64::FMLSv4f32:
30169 case AArch64::FMLSv8f16:
30170 case AArch64::FMMLAv4f32:
30171 case AArch64::FMMLAv8f16:
30172 case AArch64::FMMLAv8f16_v4f32:
30173 case AArch64::FMMLAv8f16_v8f16:
30174 case AArch64::MLAv16i8:
30175 case AArch64::MLAv2i32:
30176 case AArch64::MLAv4i16:
30177 case AArch64::MLAv4i32:
30178 case AArch64::MLAv8i16:
30179 case AArch64::MLAv8i8:
30180 case AArch64::MLSv16i8:
30181 case AArch64::MLSv2i32:
30182 case AArch64::MLSv4i16:
30183 case AArch64::MLSv4i32:
30184 case AArch64::MLSv8i16:
30185 case AArch64::MLSv8i8:
30186 case AArch64::RADDHNv2i64_v4i32:
30187 case AArch64::RADDHNv4i32_v8i16:
30188 case AArch64::RADDHNv8i16_v16i8:
30189 case AArch64::RSUBHNv2i64_v4i32:
30190 case AArch64::RSUBHNv4i32_v8i16:
30191 case AArch64::RSUBHNv8i16_v16i8:
30192 case AArch64::SABALv16i8_v8i16:
30193 case AArch64::SABALv2i32_v2i64:
30194 case AArch64::SABALv4i16_v4i32:
30195 case AArch64::SABALv4i32_v2i64:
30196 case AArch64::SABALv8i16_v4i32:
30197 case AArch64::SABALv8i8_v8i16:
30198 case AArch64::SABAv16i8:
30199 case AArch64::SABAv2i32:
30200 case AArch64::SABAv4i16:
30201 case AArch64::SABAv4i32:
30202 case AArch64::SABAv8i16:
30203 case AArch64::SABAv8i8:
30204 case AArch64::SDOTv16i8:
30205 case AArch64::SDOTv8i8:
30206 case AArch64::SHA1Crrr:
30207 case AArch64::SHA1Mrrr:
30208 case AArch64::SHA1Prrr:
30209 case AArch64::SHA1SU0rrr:
30210 case AArch64::SHA256H2rrr:
30211 case AArch64::SHA256Hrrr:
30212 case AArch64::SHA256SU1rrr:
30213 case AArch64::SMLALv16i8_v8i16:
30214 case AArch64::SMLALv2i32_v2i64:
30215 case AArch64::SMLALv4i16_v4i32:
30216 case AArch64::SMLALv4i32_v2i64:
30217 case AArch64::SMLALv8i16_v4i32:
30218 case AArch64::SMLALv8i8_v8i16:
30219 case AArch64::SMLSLv16i8_v8i16:
30220 case AArch64::SMLSLv2i32_v2i64:
30221 case AArch64::SMLSLv4i16_v4i32:
30222 case AArch64::SMLSLv4i32_v2i64:
30223 case AArch64::SMLSLv8i16_v4i32:
30224 case AArch64::SMLSLv8i8_v8i16:
30225 case AArch64::SMMLA:
30226 case AArch64::SQDMLALi16:
30227 case AArch64::SQDMLALi32:
30228 case AArch64::SQDMLALv2i32_v2i64:
30229 case AArch64::SQDMLALv4i16_v4i32:
30230 case AArch64::SQDMLALv4i32_v2i64:
30231 case AArch64::SQDMLALv8i16_v4i32:
30232 case AArch64::SQDMLSLi16:
30233 case AArch64::SQDMLSLi32:
30234 case AArch64::SQDMLSLv2i32_v2i64:
30235 case AArch64::SQDMLSLv4i16_v4i32:
30236 case AArch64::SQDMLSLv4i32_v2i64:
30237 case AArch64::SQDMLSLv8i16_v4i32:
30238 case AArch64::SQRDMLAHv1i16:
30239 case AArch64::SQRDMLAHv1i32:
30240 case AArch64::SQRDMLAHv2i32:
30241 case AArch64::SQRDMLAHv4i16:
30242 case AArch64::SQRDMLAHv4i32:
30243 case AArch64::SQRDMLAHv8i16:
30244 case AArch64::SQRDMLSHv1i16:
30245 case AArch64::SQRDMLSHv1i32:
30246 case AArch64::SQRDMLSHv2i32:
30247 case AArch64::SQRDMLSHv4i16:
30248 case AArch64::SQRDMLSHv4i32:
30249 case AArch64::SQRDMLSHv8i16:
30250 case AArch64::SUBHNv2i64_v4i32:
30251 case AArch64::SUBHNv4i32_v8i16:
30252 case AArch64::SUBHNv8i16_v16i8:
30253 case AArch64::UABALv16i8_v8i16:
30254 case AArch64::UABALv2i32_v2i64:
30255 case AArch64::UABALv4i16_v4i32:
30256 case AArch64::UABALv4i32_v2i64:
30257 case AArch64::UABALv8i16_v4i32:
30258 case AArch64::UABALv8i8_v8i16:
30259 case AArch64::UABAv16i8:
30260 case AArch64::UABAv2i32:
30261 case AArch64::UABAv4i16:
30262 case AArch64::UABAv4i32:
30263 case AArch64::UABAv8i16:
30264 case AArch64::UABAv8i8:
30265 case AArch64::UDOTv16i8:
30266 case AArch64::UDOTv8i8:
30267 case AArch64::UMLALv16i8_v8i16:
30268 case AArch64::UMLALv2i32_v2i64:
30269 case AArch64::UMLALv4i16_v4i32:
30270 case AArch64::UMLALv4i32_v2i64:
30271 case AArch64::UMLALv8i16_v4i32:
30272 case AArch64::UMLALv8i8_v8i16:
30273 case AArch64::UMLSLv16i8_v8i16:
30274 case AArch64::UMLSLv2i32_v2i64:
30275 case AArch64::UMLSLv4i16_v4i32:
30276 case AArch64::UMLSLv4i32_v2i64:
30277 case AArch64::UMLSLv8i16_v4i32:
30278 case AArch64::UMLSLv8i8_v8i16:
30279 case AArch64::UMMLA:
30280 case AArch64::USDOTv16i8:
30281 case AArch64::USDOTv8i8:
30282 case AArch64::USMMLA: {
30283 switch (OpNum) {
30284 case 1:
30285 // op: Rd
30286 return 0;
30287 case 2:
30288 // op: Rn
30289 return 5;
30290 case 3:
30291 // op: Rm
30292 return 16;
30293 }
30294 break;
30295 }
30296 case AArch64::RSHRNv16i8_shift:
30297 case AArch64::RSHRNv4i32_shift:
30298 case AArch64::RSHRNv8i16_shift:
30299 case AArch64::SHRNv16i8_shift:
30300 case AArch64::SHRNv4i32_shift:
30301 case AArch64::SHRNv8i16_shift:
30302 case AArch64::SLId:
30303 case AArch64::SLIv16i8_shift:
30304 case AArch64::SLIv2i32_shift:
30305 case AArch64::SLIv2i64_shift:
30306 case AArch64::SLIv4i16_shift:
30307 case AArch64::SLIv4i32_shift:
30308 case AArch64::SLIv8i16_shift:
30309 case AArch64::SLIv8i8_shift:
30310 case AArch64::SQRSHRNv16i8_shift:
30311 case AArch64::SQRSHRNv4i32_shift:
30312 case AArch64::SQRSHRNv8i16_shift:
30313 case AArch64::SQRSHRUNv16i8_shift:
30314 case AArch64::SQRSHRUNv4i32_shift:
30315 case AArch64::SQRSHRUNv8i16_shift:
30316 case AArch64::SQSHRNv16i8_shift:
30317 case AArch64::SQSHRNv4i32_shift:
30318 case AArch64::SQSHRNv8i16_shift:
30319 case AArch64::SQSHRUNv16i8_shift:
30320 case AArch64::SQSHRUNv4i32_shift:
30321 case AArch64::SQSHRUNv8i16_shift:
30322 case AArch64::SRId:
30323 case AArch64::SRIv16i8_shift:
30324 case AArch64::SRIv2i32_shift:
30325 case AArch64::SRIv2i64_shift:
30326 case AArch64::SRIv4i16_shift:
30327 case AArch64::SRIv4i32_shift:
30328 case AArch64::SRIv8i16_shift:
30329 case AArch64::SRIv8i8_shift:
30330 case AArch64::SRSRAd:
30331 case AArch64::SRSRAv16i8_shift:
30332 case AArch64::SRSRAv2i32_shift:
30333 case AArch64::SRSRAv2i64_shift:
30334 case AArch64::SRSRAv4i16_shift:
30335 case AArch64::SRSRAv4i32_shift:
30336 case AArch64::SRSRAv8i16_shift:
30337 case AArch64::SRSRAv8i8_shift:
30338 case AArch64::SSRAd:
30339 case AArch64::SSRAv16i8_shift:
30340 case AArch64::SSRAv2i32_shift:
30341 case AArch64::SSRAv2i64_shift:
30342 case AArch64::SSRAv4i16_shift:
30343 case AArch64::SSRAv4i32_shift:
30344 case AArch64::SSRAv8i16_shift:
30345 case AArch64::SSRAv8i8_shift:
30346 case AArch64::UQRSHRNv16i8_shift:
30347 case AArch64::UQRSHRNv4i32_shift:
30348 case AArch64::UQRSHRNv8i16_shift:
30349 case AArch64::UQSHRNv16i8_shift:
30350 case AArch64::UQSHRNv4i32_shift:
30351 case AArch64::UQSHRNv8i16_shift:
30352 case AArch64::URSRAd:
30353 case AArch64::URSRAv16i8_shift:
30354 case AArch64::URSRAv2i32_shift:
30355 case AArch64::URSRAv2i64_shift:
30356 case AArch64::URSRAv4i16_shift:
30357 case AArch64::URSRAv4i32_shift:
30358 case AArch64::URSRAv8i16_shift:
30359 case AArch64::URSRAv8i8_shift:
30360 case AArch64::USRAd:
30361 case AArch64::USRAv16i8_shift:
30362 case AArch64::USRAv2i32_shift:
30363 case AArch64::USRAv2i64_shift:
30364 case AArch64::USRAv4i16_shift:
30365 case AArch64::USRAv4i32_shift:
30366 case AArch64::USRAv8i16_shift:
30367 case AArch64::USRAv8i8_shift: {
30368 switch (OpNum) {
30369 case 1:
30370 // op: Rd
30371 return 0;
30372 case 2:
30373 // op: Rn
30374 return 5;
30375 case 3:
30376 // op: imm
30377 return 16;
30378 }
30379 break;
30380 }
30381 case AArch64::AESDrr:
30382 case AArch64::AESErr:
30383 case AArch64::AUTDA:
30384 case AArch64::AUTDB:
30385 case AArch64::AUTIA:
30386 case AArch64::AUTIB:
30387 case AArch64::BFCVTN2:
30388 case AArch64::FCVTNv4i32:
30389 case AArch64::FCVTNv8i16:
30390 case AArch64::FCVTXNv4f32:
30391 case AArch64::PACDA:
30392 case AArch64::PACDB:
30393 case AArch64::PACIA:
30394 case AArch64::PACIB:
30395 case AArch64::SADALPv16i8_v8i16:
30396 case AArch64::SADALPv2i32_v1i64:
30397 case AArch64::SADALPv4i16_v2i32:
30398 case AArch64::SADALPv4i32_v2i64:
30399 case AArch64::SADALPv8i16_v4i32:
30400 case AArch64::SADALPv8i8_v4i16:
30401 case AArch64::SHA1SU1rr:
30402 case AArch64::SHA256SU0rr:
30403 case AArch64::SQXTNv16i8:
30404 case AArch64::SQXTNv4i32:
30405 case AArch64::SQXTNv8i16:
30406 case AArch64::SQXTUNv16i8:
30407 case AArch64::SQXTUNv4i32:
30408 case AArch64::SQXTUNv8i16:
30409 case AArch64::SUQADDv16i8:
30410 case AArch64::SUQADDv1i16:
30411 case AArch64::SUQADDv1i32:
30412 case AArch64::SUQADDv1i64:
30413 case AArch64::SUQADDv1i8:
30414 case AArch64::SUQADDv2i32:
30415 case AArch64::SUQADDv2i64:
30416 case AArch64::SUQADDv4i16:
30417 case AArch64::SUQADDv4i32:
30418 case AArch64::SUQADDv8i16:
30419 case AArch64::SUQADDv8i8:
30420 case AArch64::UADALPv16i8_v8i16:
30421 case AArch64::UADALPv2i32_v1i64:
30422 case AArch64::UADALPv4i16_v2i32:
30423 case AArch64::UADALPv4i32_v2i64:
30424 case AArch64::UADALPv8i16_v4i32:
30425 case AArch64::UADALPv8i8_v4i16:
30426 case AArch64::UQXTNv16i8:
30427 case AArch64::UQXTNv4i32:
30428 case AArch64::UQXTNv8i16:
30429 case AArch64::USQADDv16i8:
30430 case AArch64::USQADDv1i16:
30431 case AArch64::USQADDv1i32:
30432 case AArch64::USQADDv1i64:
30433 case AArch64::USQADDv1i8:
30434 case AArch64::USQADDv2i32:
30435 case AArch64::USQADDv2i64:
30436 case AArch64::USQADDv4i16:
30437 case AArch64::USQADDv4i32:
30438 case AArch64::USQADDv8i16:
30439 case AArch64::USQADDv8i8:
30440 case AArch64::XTNv16i8:
30441 case AArch64::XTNv4i32:
30442 case AArch64::XTNv8i16: {
30443 switch (OpNum) {
30444 case 1:
30445 // op: Rd
30446 return 0;
30447 case 2:
30448 // op: Rn
30449 return 5;
30450 }
30451 break;
30452 }
30453 case AArch64::BICv2i32:
30454 case AArch64::BICv4i16:
30455 case AArch64::BICv4i32:
30456 case AArch64::BICv8i16:
30457 case AArch64::ORRv2i32:
30458 case AArch64::ORRv4i16:
30459 case AArch64::ORRv4i32:
30460 case AArch64::ORRv8i16: {
30461 switch (OpNum) {
30462 case 1:
30463 // op: Rd
30464 return 0;
30465 case 2:
30466 // op: imm8
30467 return 5;
30468 case 3:
30469 // op: shift
30470 return 13;
30471 }
30472 break;
30473 }
30474 case AArch64::INSvi8lane: {
30475 switch (OpNum) {
30476 case 1:
30477 // op: Rd
30478 return 0;
30479 case 3:
30480 // op: Rn
30481 return 5;
30482 case 2:
30483 // op: idx
30484 return 17;
30485 case 4:
30486 // op: idx2
30487 return 11;
30488 }
30489 break;
30490 }
30491 case AArch64::INSvi8gpr: {
30492 switch (OpNum) {
30493 case 1:
30494 // op: Rd
30495 return 0;
30496 case 3:
30497 // op: Rn
30498 return 5;
30499 case 2:
30500 // op: idx
30501 return 17;
30502 }
30503 break;
30504 }
30505 case AArch64::INSvi16lane: {
30506 switch (OpNum) {
30507 case 1:
30508 // op: Rd
30509 return 0;
30510 case 3:
30511 // op: Rn
30512 return 5;
30513 case 2:
30514 // op: idx
30515 return 18;
30516 case 4:
30517 // op: idx2
30518 return 12;
30519 }
30520 break;
30521 }
30522 case AArch64::INSvi16gpr: {
30523 switch (OpNum) {
30524 case 1:
30525 // op: Rd
30526 return 0;
30527 case 3:
30528 // op: Rn
30529 return 5;
30530 case 2:
30531 // op: idx
30532 return 18;
30533 }
30534 break;
30535 }
30536 case AArch64::INSvi32lane: {
30537 switch (OpNum) {
30538 case 1:
30539 // op: Rd
30540 return 0;
30541 case 3:
30542 // op: Rn
30543 return 5;
30544 case 2:
30545 // op: idx
30546 return 19;
30547 case 4:
30548 // op: idx2
30549 return 13;
30550 }
30551 break;
30552 }
30553 case AArch64::INSvi32gpr: {
30554 switch (OpNum) {
30555 case 1:
30556 // op: Rd
30557 return 0;
30558 case 3:
30559 // op: Rn
30560 return 5;
30561 case 2:
30562 // op: idx
30563 return 19;
30564 }
30565 break;
30566 }
30567 case AArch64::INSvi64lane: {
30568 switch (OpNum) {
30569 case 1:
30570 // op: Rd
30571 return 0;
30572 case 3:
30573 // op: Rn
30574 return 5;
30575 case 2:
30576 // op: idx
30577 return 20;
30578 case 4:
30579 // op: idx2
30580 return 14;
30581 }
30582 break;
30583 }
30584 case AArch64::INSvi64gpr: {
30585 switch (OpNum) {
30586 case 1:
30587 // op: Rd
30588 return 0;
30589 case 3:
30590 // op: Rn
30591 return 5;
30592 case 2:
30593 // op: idx
30594 return 20;
30595 }
30596 break;
30597 }
30598 case AArch64::AUTDZA:
30599 case AArch64::AUTDZB:
30600 case AArch64::AUTIZA:
30601 case AArch64::AUTIZB:
30602 case AArch64::PACDZA:
30603 case AArch64::PACDZB:
30604 case AArch64::PACIZA:
30605 case AArch64::PACIZB: {
30606 switch (OpNum) {
30607 case 1:
30608 // op: Rd
30609 return 0;
30610 }
30611 break;
30612 }
30613 case AArch64::CTERMEQ_WW:
30614 case AArch64::CTERMEQ_XX:
30615 case AArch64::CTERMNE_WW:
30616 case AArch64::CTERMNE_XX:
30617 case AArch64::FCMPDrr:
30618 case AArch64::FCMPEDrr:
30619 case AArch64::FCMPEHrr:
30620 case AArch64::FCMPESrr:
30621 case AArch64::FCMPHrr:
30622 case AArch64::FCMPSrr: {
30623 switch (OpNum) {
30624 case 1:
30625 // op: Rm
30626 return 16;
30627 case 0:
30628 // op: Rn
30629 return 5;
30630 }
30631 break;
30632 }
30633 case AArch64::CBBEQWrr:
30634 case AArch64::CBBGEWrr:
30635 case AArch64::CBBGTWrr:
30636 case AArch64::CBBHIWrr:
30637 case AArch64::CBBHSWrr:
30638 case AArch64::CBBNEWrr:
30639 case AArch64::CBEQWrr:
30640 case AArch64::CBEQXrr:
30641 case AArch64::CBGEWrr:
30642 case AArch64::CBGEXrr:
30643 case AArch64::CBGTWrr:
30644 case AArch64::CBGTXrr:
30645 case AArch64::CBHEQWrr:
30646 case AArch64::CBHGEWrr:
30647 case AArch64::CBHGTWrr:
30648 case AArch64::CBHHIWrr:
30649 case AArch64::CBHHSWrr:
30650 case AArch64::CBHIWrr:
30651 case AArch64::CBHIXrr:
30652 case AArch64::CBHNEWrr:
30653 case AArch64::CBHSWrr:
30654 case AArch64::CBHSXrr:
30655 case AArch64::CBNEWrr:
30656 case AArch64::CBNEXrr: {
30657 switch (OpNum) {
30658 case 1:
30659 // op: Rm
30660 return 16;
30661 case 0:
30662 // op: Rt
30663 return 0;
30664 case 2:
30665 // op: target
30666 return 5;
30667 }
30668 break;
30669 }
30670 case AArch64::ST2Gi:
30671 case AArch64::STGi:
30672 case AArch64::STZ2Gi:
30673 case AArch64::STZGi: {
30674 switch (OpNum) {
30675 case 1:
30676 // op: Rn
30677 return 5;
30678 case 0:
30679 // op: Rt
30680 return 0;
30681 case 2:
30682 // op: offset
30683 return 12;
30684 }
30685 break;
30686 }
30687 case AArch64::LDAPRB:
30688 case AArch64::LDAPRH:
30689 case AArch64::LDAPRW:
30690 case AArch64::LDAPRX:
30691 case AArch64::LDGM:
30692 case AArch64::STGM:
30693 case AArch64::STZGM: {
30694 switch (OpNum) {
30695 case 1:
30696 // op: Rn
30697 return 5;
30698 case 0:
30699 // op: Rt
30700 return 0;
30701 }
30702 break;
30703 }
30704 case AArch64::INDEX_RI_B:
30705 case AArch64::INDEX_RI_D:
30706 case AArch64::INDEX_RI_H:
30707 case AArch64::INDEX_RI_S: {
30708 switch (OpNum) {
30709 case 1:
30710 // op: Rn
30711 return 5;
30712 case 0:
30713 // op: Zd
30714 return 0;
30715 case 2:
30716 // op: imm5
30717 return 16;
30718 }
30719 break;
30720 }
30721 case AArch64::DUP_ZR_B:
30722 case AArch64::DUP_ZR_D:
30723 case AArch64::DUP_ZR_H:
30724 case AArch64::DUP_ZR_S: {
30725 switch (OpNum) {
30726 case 1:
30727 // op: Rn
30728 return 5;
30729 case 0:
30730 // op: Zd
30731 return 0;
30732 }
30733 break;
30734 }
30735 case AArch64::LDR_ZXI:
30736 case AArch64::STR_ZXI: {
30737 switch (OpNum) {
30738 case 1:
30739 // op: Rn
30740 return 5;
30741 case 0:
30742 // op: Zt
30743 return 0;
30744 case 2:
30745 // op: imm9
30746 return 10;
30747 }
30748 break;
30749 }
30750 case AArch64::LDR_TX:
30751 case AArch64::STR_TX: {
30752 switch (OpNum) {
30753 case 1:
30754 // op: Rn
30755 return 5;
30756 }
30757 break;
30758 }
30759 case AArch64::LDADDAB:
30760 case AArch64::LDADDAH:
30761 case AArch64::LDADDALB:
30762 case AArch64::LDADDALH:
30763 case AArch64::LDADDALW:
30764 case AArch64::LDADDALX:
30765 case AArch64::LDADDAW:
30766 case AArch64::LDADDAX:
30767 case AArch64::LDADDB:
30768 case AArch64::LDADDH:
30769 case AArch64::LDADDLB:
30770 case AArch64::LDADDLH:
30771 case AArch64::LDADDLW:
30772 case AArch64::LDADDLX:
30773 case AArch64::LDADDW:
30774 case AArch64::LDADDX:
30775 case AArch64::LDCLRAB:
30776 case AArch64::LDCLRAH:
30777 case AArch64::LDCLRALB:
30778 case AArch64::LDCLRALH:
30779 case AArch64::LDCLRALW:
30780 case AArch64::LDCLRALX:
30781 case AArch64::LDCLRAW:
30782 case AArch64::LDCLRAX:
30783 case AArch64::LDCLRB:
30784 case AArch64::LDCLRH:
30785 case AArch64::LDCLRLB:
30786 case AArch64::LDCLRLH:
30787 case AArch64::LDCLRLW:
30788 case AArch64::LDCLRLX:
30789 case AArch64::LDCLRW:
30790 case AArch64::LDCLRX:
30791 case AArch64::LDEORAB:
30792 case AArch64::LDEORAH:
30793 case AArch64::LDEORALB:
30794 case AArch64::LDEORALH:
30795 case AArch64::LDEORALW:
30796 case AArch64::LDEORALX:
30797 case AArch64::LDEORAW:
30798 case AArch64::LDEORAX:
30799 case AArch64::LDEORB:
30800 case AArch64::LDEORH:
30801 case AArch64::LDEORLB:
30802 case AArch64::LDEORLH:
30803 case AArch64::LDEORLW:
30804 case AArch64::LDEORLX:
30805 case AArch64::LDEORW:
30806 case AArch64::LDEORX:
30807 case AArch64::LDSETAB:
30808 case AArch64::LDSETAH:
30809 case AArch64::LDSETALB:
30810 case AArch64::LDSETALH:
30811 case AArch64::LDSETALW:
30812 case AArch64::LDSETALX:
30813 case AArch64::LDSETAW:
30814 case AArch64::LDSETAX:
30815 case AArch64::LDSETB:
30816 case AArch64::LDSETH:
30817 case AArch64::LDSETLB:
30818 case AArch64::LDSETLH:
30819 case AArch64::LDSETLW:
30820 case AArch64::LDSETLX:
30821 case AArch64::LDSETW:
30822 case AArch64::LDSETX:
30823 case AArch64::LDSMAXAB:
30824 case AArch64::LDSMAXAH:
30825 case AArch64::LDSMAXALB:
30826 case AArch64::LDSMAXALH:
30827 case AArch64::LDSMAXALW:
30828 case AArch64::LDSMAXALX:
30829 case AArch64::LDSMAXAW:
30830 case AArch64::LDSMAXAX:
30831 case AArch64::LDSMAXB:
30832 case AArch64::LDSMAXH:
30833 case AArch64::LDSMAXLB:
30834 case AArch64::LDSMAXLH:
30835 case AArch64::LDSMAXLW:
30836 case AArch64::LDSMAXLX:
30837 case AArch64::LDSMAXW:
30838 case AArch64::LDSMAXX:
30839 case AArch64::LDSMINAB:
30840 case AArch64::LDSMINAH:
30841 case AArch64::LDSMINALB:
30842 case AArch64::LDSMINALH:
30843 case AArch64::LDSMINALW:
30844 case AArch64::LDSMINALX:
30845 case AArch64::LDSMINAW:
30846 case AArch64::LDSMINAX:
30847 case AArch64::LDSMINB:
30848 case AArch64::LDSMINH:
30849 case AArch64::LDSMINLB:
30850 case AArch64::LDSMINLH:
30851 case AArch64::LDSMINLW:
30852 case AArch64::LDSMINLX:
30853 case AArch64::LDSMINW:
30854 case AArch64::LDSMINX:
30855 case AArch64::LDTADDALW:
30856 case AArch64::LDTADDALX:
30857 case AArch64::LDTADDAW:
30858 case AArch64::LDTADDAX:
30859 case AArch64::LDTADDLW:
30860 case AArch64::LDTADDLX:
30861 case AArch64::LDTADDW:
30862 case AArch64::LDTADDX:
30863 case AArch64::LDTCLRALW:
30864 case AArch64::LDTCLRALX:
30865 case AArch64::LDTCLRAW:
30866 case AArch64::LDTCLRAX:
30867 case AArch64::LDTCLRLW:
30868 case AArch64::LDTCLRLX:
30869 case AArch64::LDTCLRW:
30870 case AArch64::LDTCLRX:
30871 case AArch64::LDTSETALW:
30872 case AArch64::LDTSETALX:
30873 case AArch64::LDTSETAW:
30874 case AArch64::LDTSETAX:
30875 case AArch64::LDTSETLW:
30876 case AArch64::LDTSETLX:
30877 case AArch64::LDTSETW:
30878 case AArch64::LDTSETX:
30879 case AArch64::LDUMAXAB:
30880 case AArch64::LDUMAXAH:
30881 case AArch64::LDUMAXALB:
30882 case AArch64::LDUMAXALH:
30883 case AArch64::LDUMAXALW:
30884 case AArch64::LDUMAXALX:
30885 case AArch64::LDUMAXAW:
30886 case AArch64::LDUMAXAX:
30887 case AArch64::LDUMAXB:
30888 case AArch64::LDUMAXH:
30889 case AArch64::LDUMAXLB:
30890 case AArch64::LDUMAXLH:
30891 case AArch64::LDUMAXLW:
30892 case AArch64::LDUMAXLX:
30893 case AArch64::LDUMAXW:
30894 case AArch64::LDUMAXX:
30895 case AArch64::LDUMINAB:
30896 case AArch64::LDUMINAH:
30897 case AArch64::LDUMINALB:
30898 case AArch64::LDUMINALH:
30899 case AArch64::LDUMINALW:
30900 case AArch64::LDUMINALX:
30901 case AArch64::LDUMINAW:
30902 case AArch64::LDUMINAX:
30903 case AArch64::LDUMINB:
30904 case AArch64::LDUMINH:
30905 case AArch64::LDUMINLB:
30906 case AArch64::LDUMINLH:
30907 case AArch64::LDUMINLW:
30908 case AArch64::LDUMINLX:
30909 case AArch64::LDUMINW:
30910 case AArch64::LDUMINX:
30911 case AArch64::RCWCLR:
30912 case AArch64::RCWCLRA:
30913 case AArch64::RCWCLRAL:
30914 case AArch64::RCWCLRL:
30915 case AArch64::RCWCLRS:
30916 case AArch64::RCWCLRSA:
30917 case AArch64::RCWCLRSAL:
30918 case AArch64::RCWCLRSL:
30919 case AArch64::RCWSET:
30920 case AArch64::RCWSETA:
30921 case AArch64::RCWSETAL:
30922 case AArch64::RCWSETL:
30923 case AArch64::RCWSETS:
30924 case AArch64::RCWSETSA:
30925 case AArch64::RCWSETSAL:
30926 case AArch64::RCWSETSL:
30927 case AArch64::RCWSWP:
30928 case AArch64::RCWSWPA:
30929 case AArch64::RCWSWPAL:
30930 case AArch64::RCWSWPL:
30931 case AArch64::RCWSWPS:
30932 case AArch64::RCWSWPSA:
30933 case AArch64::RCWSWPSAL:
30934 case AArch64::RCWSWPSL:
30935 case AArch64::SWPAB:
30936 case AArch64::SWPAH:
30937 case AArch64::SWPALB:
30938 case AArch64::SWPALH:
30939 case AArch64::SWPALW:
30940 case AArch64::SWPALX:
30941 case AArch64::SWPAW:
30942 case AArch64::SWPAX:
30943 case AArch64::SWPB:
30944 case AArch64::SWPH:
30945 case AArch64::SWPLB:
30946 case AArch64::SWPLH:
30947 case AArch64::SWPLW:
30948 case AArch64::SWPLX:
30949 case AArch64::SWPTALW:
30950 case AArch64::SWPTALX:
30951 case AArch64::SWPTAW:
30952 case AArch64::SWPTAX:
30953 case AArch64::SWPTLW:
30954 case AArch64::SWPTLX:
30955 case AArch64::SWPTW:
30956 case AArch64::SWPTX:
30957 case AArch64::SWPW:
30958 case AArch64::SWPX: {
30959 switch (OpNum) {
30960 case 1:
30961 // op: Rs
30962 return 16;
30963 case 2:
30964 // op: Rn
30965 return 5;
30966 case 0:
30967 // op: Rt
30968 return 0;
30969 }
30970 break;
30971 }
30972 case AArch64::CASAB:
30973 case AArch64::CASAH:
30974 case AArch64::CASALB:
30975 case AArch64::CASALH:
30976 case AArch64::CASALTX:
30977 case AArch64::CASALW:
30978 case AArch64::CASALX:
30979 case AArch64::CASATX:
30980 case AArch64::CASAW:
30981 case AArch64::CASAX:
30982 case AArch64::CASB:
30983 case AArch64::CASH:
30984 case AArch64::CASLB:
30985 case AArch64::CASLH:
30986 case AArch64::CASLTX:
30987 case AArch64::CASLW:
30988 case AArch64::CASLX:
30989 case AArch64::CASPALTX:
30990 case AArch64::CASPALW:
30991 case AArch64::CASPALX:
30992 case AArch64::CASPATX:
30993 case AArch64::CASPAW:
30994 case AArch64::CASPAX:
30995 case AArch64::CASPLTX:
30996 case AArch64::CASPLW:
30997 case AArch64::CASPLX:
30998 case AArch64::CASPTX:
30999 case AArch64::CASPW:
31000 case AArch64::CASPX:
31001 case AArch64::CASTX:
31002 case AArch64::CASW:
31003 case AArch64::CASX:
31004 case AArch64::RCWCAS:
31005 case AArch64::RCWCASA:
31006 case AArch64::RCWCASAL:
31007 case AArch64::RCWCASL:
31008 case AArch64::RCWCASP:
31009 case AArch64::RCWCASPA:
31010 case AArch64::RCWCASPAL:
31011 case AArch64::RCWCASPL:
31012 case AArch64::RCWSCAS:
31013 case AArch64::RCWSCASA:
31014 case AArch64::RCWSCASAL:
31015 case AArch64::RCWSCASL:
31016 case AArch64::RCWSCASP:
31017 case AArch64::RCWSCASPA:
31018 case AArch64::RCWSCASPAL:
31019 case AArch64::RCWSCASPL: {
31020 switch (OpNum) {
31021 case 1:
31022 // op: Rs
31023 return 16;
31024 case 3:
31025 // op: Rn
31026 return 5;
31027 case 2:
31028 // op: Rt
31029 return 0;
31030 }
31031 break;
31032 }
31033 case AArch64::MSR:
31034 case AArch64::MSRR: {
31035 switch (OpNum) {
31036 case 1:
31037 // op: Rt
31038 return 0;
31039 case 0:
31040 // op: systemreg
31041 return 5;
31042 }
31043 break;
31044 }
31045 case AArch64::ST64BV:
31046 case AArch64::ST64BV0: {
31047 switch (OpNum) {
31048 case 1:
31049 // op: Rt
31050 return 0;
31051 case 2:
31052 // op: Rn
31053 return 5;
31054 case 0:
31055 // op: Rs
31056 return 16;
31057 }
31058 break;
31059 }
31060 case AArch64::STTXRWr:
31061 case AArch64::STTXRXr: {
31062 switch (OpNum) {
31063 case 1:
31064 // op: Rt
31065 return 0;
31066 case 2:
31067 // op: Rn
31068 return 5;
31069 case 0:
31070 // op: Ws
31071 return 16;
31072 }
31073 break;
31074 }
31075 case AArch64::LDRBBpost:
31076 case AArch64::LDRBBpre:
31077 case AArch64::LDRBpost:
31078 case AArch64::LDRBpre:
31079 case AArch64::LDRDpost:
31080 case AArch64::LDRDpre:
31081 case AArch64::LDRHHpost:
31082 case AArch64::LDRHHpre:
31083 case AArch64::LDRHpost:
31084 case AArch64::LDRHpre:
31085 case AArch64::LDRQpost:
31086 case AArch64::LDRQpre:
31087 case AArch64::LDRSBWpost:
31088 case AArch64::LDRSBWpre:
31089 case AArch64::LDRSBXpost:
31090 case AArch64::LDRSBXpre:
31091 case AArch64::LDRSHWpost:
31092 case AArch64::LDRSHWpre:
31093 case AArch64::LDRSHXpost:
31094 case AArch64::LDRSHXpre:
31095 case AArch64::LDRSWpost:
31096 case AArch64::LDRSWpre:
31097 case AArch64::LDRSpost:
31098 case AArch64::LDRSpre:
31099 case AArch64::LDRWpost:
31100 case AArch64::LDRWpre:
31101 case AArch64::LDRXpost:
31102 case AArch64::LDRXpre:
31103 case AArch64::STRBBpost:
31104 case AArch64::STRBBpre:
31105 case AArch64::STRBpost:
31106 case AArch64::STRBpre:
31107 case AArch64::STRDpost:
31108 case AArch64::STRDpre:
31109 case AArch64::STRHHpost:
31110 case AArch64::STRHHpre:
31111 case AArch64::STRHpost:
31112 case AArch64::STRHpre:
31113 case AArch64::STRQpost:
31114 case AArch64::STRQpre:
31115 case AArch64::STRSpost:
31116 case AArch64::STRSpre:
31117 case AArch64::STRWpost:
31118 case AArch64::STRWpre:
31119 case AArch64::STRXpost:
31120 case AArch64::STRXpre: {
31121 switch (OpNum) {
31122 case 1:
31123 // op: Rt
31124 return 0;
31125 case 2:
31126 // op: Rn
31127 return 5;
31128 case 3:
31129 // op: offset
31130 return 12;
31131 }
31132 break;
31133 }
31134 case AArch64::LDAPRWpost:
31135 case AArch64::LDAPRXpost:
31136 case AArch64::STLRWpre:
31137 case AArch64::STLRXpre: {
31138 switch (OpNum) {
31139 case 1:
31140 // op: Rt
31141 return 0;
31142 case 2:
31143 // op: Rn
31144 return 5;
31145 }
31146 break;
31147 }
31148 case AArch64::LDPDpost:
31149 case AArch64::LDPDpre:
31150 case AArch64::LDPQpost:
31151 case AArch64::LDPQpre:
31152 case AArch64::LDPSWpost:
31153 case AArch64::LDPSWpre:
31154 case AArch64::LDPSpost:
31155 case AArch64::LDPSpre:
31156 case AArch64::LDPWpost:
31157 case AArch64::LDPWpre:
31158 case AArch64::LDPXpost:
31159 case AArch64::LDPXpre:
31160 case AArch64::LDTPQpost:
31161 case AArch64::LDTPQpre:
31162 case AArch64::LDTPpost:
31163 case AArch64::LDTPpre:
31164 case AArch64::STGPpost:
31165 case AArch64::STGPpre:
31166 case AArch64::STPDpost:
31167 case AArch64::STPDpre:
31168 case AArch64::STPQpost:
31169 case AArch64::STPQpre:
31170 case AArch64::STPSpost:
31171 case AArch64::STPSpre:
31172 case AArch64::STPWpost:
31173 case AArch64::STPWpre:
31174 case AArch64::STPXpost:
31175 case AArch64::STPXpre:
31176 case AArch64::STTPQpost:
31177 case AArch64::STTPQpre:
31178 case AArch64::STTPpost:
31179 case AArch64::STTPpre: {
31180 switch (OpNum) {
31181 case 1:
31182 // op: Rt
31183 return 0;
31184 case 2:
31185 // op: Rt2
31186 return 10;
31187 case 3:
31188 // op: Rn
31189 return 5;
31190 case 4:
31191 // op: offset
31192 return 15;
31193 }
31194 break;
31195 }
31196 case AArch64::LDIAPPWpost:
31197 case AArch64::LDIAPPXpost:
31198 case AArch64::STILPWpre:
31199 case AArch64::STILPXpre: {
31200 switch (OpNum) {
31201 case 1:
31202 // op: Rt
31203 return 0;
31204 case 3:
31205 // op: Rn
31206 return 5;
31207 case 2:
31208 // op: Rt2
31209 return 16;
31210 }
31211 break;
31212 }
31213 case AArch64::LDR_ZA:
31214 case AArch64::STR_ZA: {
31215 switch (OpNum) {
31216 case 1:
31217 // op: Rv
31218 return 13;
31219 case 3:
31220 // op: Rn
31221 return 5;
31222 case 2:
31223 // op: imm4
31224 return 0;
31225 }
31226 break;
31227 }
31228 case AArch64::SHA512H:
31229 case AArch64::SHA512H2:
31230 case AArch64::SHA512SU1:
31231 case AArch64::SM3PARTW1:
31232 case AArch64::SM3PARTW2:
31233 case AArch64::TBXv16i8Four:
31234 case AArch64::TBXv16i8One:
31235 case AArch64::TBXv16i8Three:
31236 case AArch64::TBXv16i8Two:
31237 case AArch64::TBXv8i8Four:
31238 case AArch64::TBXv8i8One:
31239 case AArch64::TBXv8i8Three:
31240 case AArch64::TBXv8i8Two: {
31241 switch (OpNum) {
31242 case 1:
31243 // op: Vd
31244 return 0;
31245 case 2:
31246 // op: Vn
31247 return 5;
31248 case 3:
31249 // op: Vm
31250 return 16;
31251 }
31252 break;
31253 }
31254 case AArch64::SM3TT1A:
31255 case AArch64::SM3TT1B:
31256 case AArch64::SM3TT2A:
31257 case AArch64::SM3TT2B: {
31258 switch (OpNum) {
31259 case 1:
31260 // op: Vd
31261 return 0;
31262 case 2:
31263 // op: Vn
31264 return 5;
31265 case 4:
31266 // op: imm
31267 return 12;
31268 case 3:
31269 // op: Vm
31270 return 16;
31271 }
31272 break;
31273 }
31274 case AArch64::SHA512SU0:
31275 case AArch64::SM4E: {
31276 switch (OpNum) {
31277 case 1:
31278 // op: Vd
31279 return 0;
31280 case 2:
31281 // op: Vn
31282 return 5;
31283 }
31284 break;
31285 }
31286 case AArch64::LD1Fourv16b_POST:
31287 case AArch64::LD1Fourv1d_POST:
31288 case AArch64::LD1Fourv2d_POST:
31289 case AArch64::LD1Fourv2s_POST:
31290 case AArch64::LD1Fourv4h_POST:
31291 case AArch64::LD1Fourv4s_POST:
31292 case AArch64::LD1Fourv8b_POST:
31293 case AArch64::LD1Fourv8h_POST:
31294 case AArch64::LD1Onev16b_POST:
31295 case AArch64::LD1Onev1d_POST:
31296 case AArch64::LD1Onev2d_POST:
31297 case AArch64::LD1Onev2s_POST:
31298 case AArch64::LD1Onev4h_POST:
31299 case AArch64::LD1Onev4s_POST:
31300 case AArch64::LD1Onev8b_POST:
31301 case AArch64::LD1Onev8h_POST:
31302 case AArch64::LD1Rv16b_POST:
31303 case AArch64::LD1Rv1d_POST:
31304 case AArch64::LD1Rv2d_POST:
31305 case AArch64::LD1Rv2s_POST:
31306 case AArch64::LD1Rv4h_POST:
31307 case AArch64::LD1Rv4s_POST:
31308 case AArch64::LD1Rv8b_POST:
31309 case AArch64::LD1Rv8h_POST:
31310 case AArch64::LD1Threev16b_POST:
31311 case AArch64::LD1Threev1d_POST:
31312 case AArch64::LD1Threev2d_POST:
31313 case AArch64::LD1Threev2s_POST:
31314 case AArch64::LD1Threev4h_POST:
31315 case AArch64::LD1Threev4s_POST:
31316 case AArch64::LD1Threev8b_POST:
31317 case AArch64::LD1Threev8h_POST:
31318 case AArch64::LD1Twov16b_POST:
31319 case AArch64::LD1Twov1d_POST:
31320 case AArch64::LD1Twov2d_POST:
31321 case AArch64::LD1Twov2s_POST:
31322 case AArch64::LD1Twov4h_POST:
31323 case AArch64::LD1Twov4s_POST:
31324 case AArch64::LD1Twov8b_POST:
31325 case AArch64::LD1Twov8h_POST:
31326 case AArch64::LD2Rv16b_POST:
31327 case AArch64::LD2Rv1d_POST:
31328 case AArch64::LD2Rv2d_POST:
31329 case AArch64::LD2Rv2s_POST:
31330 case AArch64::LD2Rv4h_POST:
31331 case AArch64::LD2Rv4s_POST:
31332 case AArch64::LD2Rv8b_POST:
31333 case AArch64::LD2Rv8h_POST:
31334 case AArch64::LD2Twov16b_POST:
31335 case AArch64::LD2Twov2d_POST:
31336 case AArch64::LD2Twov2s_POST:
31337 case AArch64::LD2Twov4h_POST:
31338 case AArch64::LD2Twov4s_POST:
31339 case AArch64::LD2Twov8b_POST:
31340 case AArch64::LD2Twov8h_POST:
31341 case AArch64::LD3Rv16b_POST:
31342 case AArch64::LD3Rv1d_POST:
31343 case AArch64::LD3Rv2d_POST:
31344 case AArch64::LD3Rv2s_POST:
31345 case AArch64::LD3Rv4h_POST:
31346 case AArch64::LD3Rv4s_POST:
31347 case AArch64::LD3Rv8b_POST:
31348 case AArch64::LD3Rv8h_POST:
31349 case AArch64::LD3Threev16b_POST:
31350 case AArch64::LD3Threev2d_POST:
31351 case AArch64::LD3Threev2s_POST:
31352 case AArch64::LD3Threev4h_POST:
31353 case AArch64::LD3Threev4s_POST:
31354 case AArch64::LD3Threev8b_POST:
31355 case AArch64::LD3Threev8h_POST:
31356 case AArch64::LD4Fourv16b_POST:
31357 case AArch64::LD4Fourv2d_POST:
31358 case AArch64::LD4Fourv2s_POST:
31359 case AArch64::LD4Fourv4h_POST:
31360 case AArch64::LD4Fourv4s_POST:
31361 case AArch64::LD4Fourv8b_POST:
31362 case AArch64::LD4Fourv8h_POST:
31363 case AArch64::LD4Rv16b_POST:
31364 case AArch64::LD4Rv1d_POST:
31365 case AArch64::LD4Rv2d_POST:
31366 case AArch64::LD4Rv2s_POST:
31367 case AArch64::LD4Rv4h_POST:
31368 case AArch64::LD4Rv4s_POST:
31369 case AArch64::LD4Rv8b_POST:
31370 case AArch64::LD4Rv8h_POST:
31371 case AArch64::ST1Fourv16b_POST:
31372 case AArch64::ST1Fourv1d_POST:
31373 case AArch64::ST1Fourv2d_POST:
31374 case AArch64::ST1Fourv2s_POST:
31375 case AArch64::ST1Fourv4h_POST:
31376 case AArch64::ST1Fourv4s_POST:
31377 case AArch64::ST1Fourv8b_POST:
31378 case AArch64::ST1Fourv8h_POST:
31379 case AArch64::ST1Onev16b_POST:
31380 case AArch64::ST1Onev1d_POST:
31381 case AArch64::ST1Onev2d_POST:
31382 case AArch64::ST1Onev2s_POST:
31383 case AArch64::ST1Onev4h_POST:
31384 case AArch64::ST1Onev4s_POST:
31385 case AArch64::ST1Onev8b_POST:
31386 case AArch64::ST1Onev8h_POST:
31387 case AArch64::ST1Threev16b_POST:
31388 case AArch64::ST1Threev1d_POST:
31389 case AArch64::ST1Threev2d_POST:
31390 case AArch64::ST1Threev2s_POST:
31391 case AArch64::ST1Threev4h_POST:
31392 case AArch64::ST1Threev4s_POST:
31393 case AArch64::ST1Threev8b_POST:
31394 case AArch64::ST1Threev8h_POST:
31395 case AArch64::ST1Twov16b_POST:
31396 case AArch64::ST1Twov1d_POST:
31397 case AArch64::ST1Twov2d_POST:
31398 case AArch64::ST1Twov2s_POST:
31399 case AArch64::ST1Twov4h_POST:
31400 case AArch64::ST1Twov4s_POST:
31401 case AArch64::ST1Twov8b_POST:
31402 case AArch64::ST1Twov8h_POST:
31403 case AArch64::ST2Twov16b_POST:
31404 case AArch64::ST2Twov2d_POST:
31405 case AArch64::ST2Twov2s_POST:
31406 case AArch64::ST2Twov4h_POST:
31407 case AArch64::ST2Twov4s_POST:
31408 case AArch64::ST2Twov8b_POST:
31409 case AArch64::ST2Twov8h_POST:
31410 case AArch64::ST3Threev16b_POST:
31411 case AArch64::ST3Threev2d_POST:
31412 case AArch64::ST3Threev2s_POST:
31413 case AArch64::ST3Threev4h_POST:
31414 case AArch64::ST3Threev4s_POST:
31415 case AArch64::ST3Threev8b_POST:
31416 case AArch64::ST3Threev8h_POST:
31417 case AArch64::ST4Fourv16b_POST:
31418 case AArch64::ST4Fourv2d_POST:
31419 case AArch64::ST4Fourv2s_POST:
31420 case AArch64::ST4Fourv4h_POST:
31421 case AArch64::ST4Fourv4s_POST:
31422 case AArch64::ST4Fourv8b_POST:
31423 case AArch64::ST4Fourv8h_POST: {
31424 switch (OpNum) {
31425 case 1:
31426 // op: Vt
31427 return 0;
31428 case 2:
31429 // op: Rn
31430 return 5;
31431 case 3:
31432 // op: Xm
31433 return 16;
31434 }
31435 break;
31436 }
31437 case AArch64::LDAP1: {
31438 switch (OpNum) {
31439 case 1:
31440 // op: Vt
31441 return 0;
31442 case 3:
31443 // op: Rn
31444 return 5;
31445 case 2:
31446 // op: Q
31447 return 30;
31448 }
31449 break;
31450 }
31451 case AArch64::ST1i8_POST:
31452 case AArch64::ST2i8_POST:
31453 case AArch64::ST3i8_POST:
31454 case AArch64::ST4i8_POST: {
31455 switch (OpNum) {
31456 case 1:
31457 // op: Vt
31458 return 0;
31459 case 3:
31460 // op: Rn
31461 return 5;
31462 case 2:
31463 // op: idx
31464 return 10;
31465 case 4:
31466 // op: Xm
31467 return 16;
31468 }
31469 break;
31470 }
31471 case AArch64::LD1i8:
31472 case AArch64::LD2i8:
31473 case AArch64::LD3i8:
31474 case AArch64::LD4i8: {
31475 switch (OpNum) {
31476 case 1:
31477 // op: Vt
31478 return 0;
31479 case 3:
31480 // op: Rn
31481 return 5;
31482 case 2:
31483 // op: idx
31484 return 10;
31485 }
31486 break;
31487 }
31488 case AArch64::ST1i16_POST:
31489 case AArch64::ST2i16_POST:
31490 case AArch64::ST3i16_POST:
31491 case AArch64::ST4i16_POST: {
31492 switch (OpNum) {
31493 case 1:
31494 // op: Vt
31495 return 0;
31496 case 3:
31497 // op: Rn
31498 return 5;
31499 case 2:
31500 // op: idx
31501 return 11;
31502 case 4:
31503 // op: Xm
31504 return 16;
31505 }
31506 break;
31507 }
31508 case AArch64::LD1i16:
31509 case AArch64::LD2i16:
31510 case AArch64::LD3i16:
31511 case AArch64::LD4i16: {
31512 switch (OpNum) {
31513 case 1:
31514 // op: Vt
31515 return 0;
31516 case 3:
31517 // op: Rn
31518 return 5;
31519 case 2:
31520 // op: idx
31521 return 11;
31522 }
31523 break;
31524 }
31525 case AArch64::ST1i32_POST:
31526 case AArch64::ST2i32_POST:
31527 case AArch64::ST3i32_POST:
31528 case AArch64::ST4i32_POST: {
31529 switch (OpNum) {
31530 case 1:
31531 // op: Vt
31532 return 0;
31533 case 3:
31534 // op: Rn
31535 return 5;
31536 case 2:
31537 // op: idx
31538 return 12;
31539 case 4:
31540 // op: Xm
31541 return 16;
31542 }
31543 break;
31544 }
31545 case AArch64::LD1i32:
31546 case AArch64::LD2i32:
31547 case AArch64::LD3i32:
31548 case AArch64::LD4i32: {
31549 switch (OpNum) {
31550 case 1:
31551 // op: Vt
31552 return 0;
31553 case 3:
31554 // op: Rn
31555 return 5;
31556 case 2:
31557 // op: idx
31558 return 12;
31559 }
31560 break;
31561 }
31562 case AArch64::ST1i64_POST:
31563 case AArch64::ST2i64_POST:
31564 case AArch64::ST3i64_POST:
31565 case AArch64::ST4i64_POST: {
31566 switch (OpNum) {
31567 case 1:
31568 // op: Vt
31569 return 0;
31570 case 3:
31571 // op: Rn
31572 return 5;
31573 case 2:
31574 // op: idx
31575 return 30;
31576 case 4:
31577 // op: Xm
31578 return 16;
31579 }
31580 break;
31581 }
31582 case AArch64::LD1i64:
31583 case AArch64::LD2i64:
31584 case AArch64::LD3i64:
31585 case AArch64::LD4i64: {
31586 switch (OpNum) {
31587 case 1:
31588 // op: Vt
31589 return 0;
31590 case 3:
31591 // op: Rn
31592 return 5;
31593 case 2:
31594 // op: idx
31595 return 30;
31596 }
31597 break;
31598 }
31599 case AArch64::BF1CVTL_2ZZ_BtoH:
31600 case AArch64::BF1CVT_2ZZ_BtoH:
31601 case AArch64::BF2CVTL_2ZZ_BtoH:
31602 case AArch64::BF2CVT_2ZZ_BtoH:
31603 case AArch64::F1CVTL_2ZZ_BtoH:
31604 case AArch64::F1CVT_2ZZ_BtoH:
31605 case AArch64::F2CVTL_2ZZ_BtoH:
31606 case AArch64::F2CVT_2ZZ_BtoH:
31607 case AArch64::FCVTL_2ZZ_H_S:
31608 case AArch64::FCVT_2ZZ_H_S:
31609 case AArch64::SUNPK_VG2_2ZZ_D:
31610 case AArch64::SUNPK_VG2_2ZZ_H:
31611 case AArch64::SUNPK_VG2_2ZZ_S:
31612 case AArch64::UUNPK_VG2_2ZZ_D:
31613 case AArch64::UUNPK_VG2_2ZZ_H:
31614 case AArch64::UUNPK_VG2_2ZZ_S: {
31615 switch (OpNum) {
31616 case 1:
31617 // op: Zn
31618 return 5;
31619 case 0:
31620 // op: Zd
31621 return 1;
31622 }
31623 break;
31624 }
31625 case AArch64::BFCVTN_Z2Z_StoH:
31626 case AArch64::BFCVT_Z2Z_HtoB:
31627 case AArch64::BFCVT_Z2Z_StoH:
31628 case AArch64::FCVTN_Z2Z_StoH:
31629 case AArch64::FCVT_Z2Z_HtoB:
31630 case AArch64::FCVT_Z2Z_StoH:
31631 case AArch64::SQCVTU_Z2Z_StoH:
31632 case AArch64::SQCVT_Z2Z_StoH:
31633 case AArch64::UQCVT_Z2Z_StoH: {
31634 switch (OpNum) {
31635 case 1:
31636 // op: Zn
31637 return 6;
31638 case 0:
31639 // op: Zd
31640 return 0;
31641 }
31642 break;
31643 }
31644 case AArch64::FCVTZS_2Z2Z_StoS:
31645 case AArch64::FCVTZU_2Z2Z_StoS:
31646 case AArch64::FRINTA_2Z2Z_S:
31647 case AArch64::FRINTM_2Z2Z_S:
31648 case AArch64::FRINTN_2Z2Z_S:
31649 case AArch64::FRINTP_2Z2Z_S:
31650 case AArch64::SCVTF_2Z2Z_StoS:
31651 case AArch64::UCVTF_2Z2Z_StoS: {
31652 switch (OpNum) {
31653 case 1:
31654 // op: Zn
31655 return 6;
31656 case 0:
31657 // op: Zd
31658 return 1;
31659 }
31660 break;
31661 }
31662 case AArch64::SUNPK_VG4_4Z2Z_D:
31663 case AArch64::SUNPK_VG4_4Z2Z_H:
31664 case AArch64::SUNPK_VG4_4Z2Z_S:
31665 case AArch64::UUNPK_VG4_4Z2Z_D:
31666 case AArch64::UUNPK_VG4_4Z2Z_H:
31667 case AArch64::UUNPK_VG4_4Z2Z_S: {
31668 switch (OpNum) {
31669 case 1:
31670 // op: Zn
31671 return 6;
31672 case 0:
31673 // op: Zd
31674 return 2;
31675 }
31676 break;
31677 }
31678 case AArch64::SQRSHRN_VG4_Z4ZI_B:
31679 case AArch64::SQRSHRN_VG4_Z4ZI_H:
31680 case AArch64::SQRSHRUN_VG4_Z4ZI_B:
31681 case AArch64::SQRSHRUN_VG4_Z4ZI_H:
31682 case AArch64::SQRSHRU_VG4_Z4ZI_B:
31683 case AArch64::SQRSHRU_VG4_Z4ZI_H:
31684 case AArch64::SQRSHR_VG4_Z4ZI_B:
31685 case AArch64::SQRSHR_VG4_Z4ZI_H:
31686 case AArch64::UQRSHRN_VG4_Z4ZI_B:
31687 case AArch64::UQRSHRN_VG4_Z4ZI_H:
31688 case AArch64::UQRSHR_VG4_Z4ZI_B:
31689 case AArch64::UQRSHR_VG4_Z4ZI_H: {
31690 switch (OpNum) {
31691 case 1:
31692 // op: Zn
31693 return 7;
31694 case 0:
31695 // op: Zd
31696 return 0;
31697 case 2:
31698 // op: imm
31699 return 16;
31700 }
31701 break;
31702 }
31703 case AArch64::FCVTN_Z4Z_StoB:
31704 case AArch64::FCVT_Z4Z_StoB:
31705 case AArch64::SQCVTN_Z4Z_DtoH:
31706 case AArch64::SQCVTN_Z4Z_StoB:
31707 case AArch64::SQCVTUN_Z4Z_DtoH:
31708 case AArch64::SQCVTUN_Z4Z_StoB:
31709 case AArch64::SQCVTU_Z4Z_DtoH:
31710 case AArch64::SQCVTU_Z4Z_StoB:
31711 case AArch64::SQCVT_Z4Z_DtoH:
31712 case AArch64::SQCVT_Z4Z_StoB:
31713 case AArch64::UQCVTN_Z4Z_DtoH:
31714 case AArch64::UQCVTN_Z4Z_StoB:
31715 case AArch64::UQCVT_Z4Z_DtoH:
31716 case AArch64::UQCVT_Z4Z_StoB: {
31717 switch (OpNum) {
31718 case 1:
31719 // op: Zn
31720 return 7;
31721 case 0:
31722 // op: Zd
31723 return 0;
31724 }
31725 break;
31726 }
31727 case AArch64::FCVTZS_4Z4Z_StoS:
31728 case AArch64::FCVTZU_4Z4Z_StoS:
31729 case AArch64::FRINTA_4Z4Z_S:
31730 case AArch64::FRINTM_4Z4Z_S:
31731 case AArch64::FRINTN_4Z4Z_S:
31732 case AArch64::FRINTP_4Z4Z_S:
31733 case AArch64::SCVTF_4Z4Z_StoS:
31734 case AArch64::UCVTF_4Z4Z_StoS:
31735 case AArch64::UZP_VG4_4Z4Z_B:
31736 case AArch64::UZP_VG4_4Z4Z_D:
31737 case AArch64::UZP_VG4_4Z4Z_H:
31738 case AArch64::UZP_VG4_4Z4Z_Q:
31739 case AArch64::UZP_VG4_4Z4Z_S:
31740 case AArch64::ZIP_VG4_4Z4Z_B:
31741 case AArch64::ZIP_VG4_4Z4Z_D:
31742 case AArch64::ZIP_VG4_4Z4Z_H:
31743 case AArch64::ZIP_VG4_4Z4Z_Q:
31744 case AArch64::ZIP_VG4_4Z4Z_S: {
31745 switch (OpNum) {
31746 case 1:
31747 // op: Zn
31748 return 7;
31749 case 0:
31750 // op: Zd
31751 return 2;
31752 }
31753 break;
31754 }
31755 case AArch64::MOVT_TIX: {
31756 switch (OpNum) {
31757 case 1:
31758 // op: imm3
31759 return 12;
31760 case 2:
31761 // op: Rt
31762 return 0;
31763 }
31764 break;
31765 }
31766 case AArch64::ABS_ZPmZ_B:
31767 case AArch64::ABS_ZPmZ_D:
31768 case AArch64::ABS_ZPmZ_H:
31769 case AArch64::ABS_ZPmZ_S:
31770 case AArch64::BFCVT_ZPmZ:
31771 case AArch64::CLS_ZPmZ_B:
31772 case AArch64::CLS_ZPmZ_D:
31773 case AArch64::CLS_ZPmZ_H:
31774 case AArch64::CLS_ZPmZ_S:
31775 case AArch64::CLZ_ZPmZ_B:
31776 case AArch64::CLZ_ZPmZ_D:
31777 case AArch64::CLZ_ZPmZ_H:
31778 case AArch64::CLZ_ZPmZ_S:
31779 case AArch64::CNOT_ZPmZ_B:
31780 case AArch64::CNOT_ZPmZ_D:
31781 case AArch64::CNOT_ZPmZ_H:
31782 case AArch64::CNOT_ZPmZ_S:
31783 case AArch64::CNT_ZPmZ_B:
31784 case AArch64::CNT_ZPmZ_D:
31785 case AArch64::CNT_ZPmZ_H:
31786 case AArch64::CNT_ZPmZ_S:
31787 case AArch64::FABS_ZPmZ_D:
31788 case AArch64::FABS_ZPmZ_H:
31789 case AArch64::FABS_ZPmZ_S:
31790 case AArch64::FCVTX_ZPmZ_DtoS:
31791 case AArch64::FCVTZS_ZPmZ_DtoD:
31792 case AArch64::FCVTZS_ZPmZ_DtoS:
31793 case AArch64::FCVTZS_ZPmZ_HtoD:
31794 case AArch64::FCVTZS_ZPmZ_HtoH:
31795 case AArch64::FCVTZS_ZPmZ_HtoS:
31796 case AArch64::FCVTZS_ZPmZ_StoD:
31797 case AArch64::FCVTZS_ZPmZ_StoS:
31798 case AArch64::FCVTZU_ZPmZ_DtoD:
31799 case AArch64::FCVTZU_ZPmZ_DtoS:
31800 case AArch64::FCVTZU_ZPmZ_HtoD:
31801 case AArch64::FCVTZU_ZPmZ_HtoH:
31802 case AArch64::FCVTZU_ZPmZ_HtoS:
31803 case AArch64::FCVTZU_ZPmZ_StoD:
31804 case AArch64::FCVTZU_ZPmZ_StoS:
31805 case AArch64::FCVT_ZPmZ_DtoH:
31806 case AArch64::FCVT_ZPmZ_DtoS:
31807 case AArch64::FCVT_ZPmZ_HtoD:
31808 case AArch64::FCVT_ZPmZ_HtoS:
31809 case AArch64::FCVT_ZPmZ_StoD:
31810 case AArch64::FCVT_ZPmZ_StoH:
31811 case AArch64::FLOGB_ZPmZ_D:
31812 case AArch64::FLOGB_ZPmZ_H:
31813 case AArch64::FLOGB_ZPmZ_S:
31814 case AArch64::FNEG_ZPmZ_D:
31815 case AArch64::FNEG_ZPmZ_H:
31816 case AArch64::FNEG_ZPmZ_S:
31817 case AArch64::FRECPX_ZPmZ_D:
31818 case AArch64::FRECPX_ZPmZ_H:
31819 case AArch64::FRECPX_ZPmZ_S:
31820 case AArch64::FRINT32X_ZPmZ_D:
31821 case AArch64::FRINT32X_ZPmZ_S:
31822 case AArch64::FRINT32Z_ZPmZ_D:
31823 case AArch64::FRINT32Z_ZPmZ_S:
31824 case AArch64::FRINT64X_ZPmZ_D:
31825 case AArch64::FRINT64X_ZPmZ_S:
31826 case AArch64::FRINT64Z_ZPmZ_D:
31827 case AArch64::FRINT64Z_ZPmZ_S:
31828 case AArch64::FRINTA_ZPmZ_D:
31829 case AArch64::FRINTA_ZPmZ_H:
31830 case AArch64::FRINTA_ZPmZ_S:
31831 case AArch64::FRINTI_ZPmZ_D:
31832 case AArch64::FRINTI_ZPmZ_H:
31833 case AArch64::FRINTI_ZPmZ_S:
31834 case AArch64::FRINTM_ZPmZ_D:
31835 case AArch64::FRINTM_ZPmZ_H:
31836 case AArch64::FRINTM_ZPmZ_S:
31837 case AArch64::FRINTN_ZPmZ_D:
31838 case AArch64::FRINTN_ZPmZ_H:
31839 case AArch64::FRINTN_ZPmZ_S:
31840 case AArch64::FRINTP_ZPmZ_D:
31841 case AArch64::FRINTP_ZPmZ_H:
31842 case AArch64::FRINTP_ZPmZ_S:
31843 case AArch64::FRINTX_ZPmZ_D:
31844 case AArch64::FRINTX_ZPmZ_H:
31845 case AArch64::FRINTX_ZPmZ_S:
31846 case AArch64::FRINTZ_ZPmZ_D:
31847 case AArch64::FRINTZ_ZPmZ_H:
31848 case AArch64::FRINTZ_ZPmZ_S:
31849 case AArch64::FSQRT_ZPmZ_D:
31850 case AArch64::FSQRT_ZPmZ_H:
31851 case AArch64::FSQRT_ZPmZ_S:
31852 case AArch64::MOVPRFX_ZPmZ_B:
31853 case AArch64::MOVPRFX_ZPmZ_D:
31854 case AArch64::MOVPRFX_ZPmZ_H:
31855 case AArch64::MOVPRFX_ZPmZ_S:
31856 case AArch64::NEG_ZPmZ_B:
31857 case AArch64::NEG_ZPmZ_D:
31858 case AArch64::NEG_ZPmZ_H:
31859 case AArch64::NEG_ZPmZ_S:
31860 case AArch64::NOT_ZPmZ_B:
31861 case AArch64::NOT_ZPmZ_D:
31862 case AArch64::NOT_ZPmZ_H:
31863 case AArch64::NOT_ZPmZ_S:
31864 case AArch64::SCVTF_ZPmZ_DtoD:
31865 case AArch64::SCVTF_ZPmZ_DtoH:
31866 case AArch64::SCVTF_ZPmZ_DtoS:
31867 case AArch64::SCVTF_ZPmZ_HtoH:
31868 case AArch64::SCVTF_ZPmZ_StoD:
31869 case AArch64::SCVTF_ZPmZ_StoH:
31870 case AArch64::SCVTF_ZPmZ_StoS:
31871 case AArch64::SQABS_ZPmZ_B:
31872 case AArch64::SQABS_ZPmZ_D:
31873 case AArch64::SQABS_ZPmZ_H:
31874 case AArch64::SQABS_ZPmZ_S:
31875 case AArch64::SQNEG_ZPmZ_B:
31876 case AArch64::SQNEG_ZPmZ_D:
31877 case AArch64::SQNEG_ZPmZ_H:
31878 case AArch64::SQNEG_ZPmZ_S:
31879 case AArch64::SXTB_ZPmZ_D:
31880 case AArch64::SXTB_ZPmZ_H:
31881 case AArch64::SXTB_ZPmZ_S:
31882 case AArch64::SXTH_ZPmZ_D:
31883 case AArch64::SXTH_ZPmZ_S:
31884 case AArch64::SXTW_ZPmZ_D:
31885 case AArch64::UCVTF_ZPmZ_DtoD:
31886 case AArch64::UCVTF_ZPmZ_DtoH:
31887 case AArch64::UCVTF_ZPmZ_DtoS:
31888 case AArch64::UCVTF_ZPmZ_HtoH:
31889 case AArch64::UCVTF_ZPmZ_StoD:
31890 case AArch64::UCVTF_ZPmZ_StoH:
31891 case AArch64::UCVTF_ZPmZ_StoS:
31892 case AArch64::URECPE_ZPmZ_S:
31893 case AArch64::URSQRTE_ZPmZ_S:
31894 case AArch64::UXTB_ZPmZ_D:
31895 case AArch64::UXTB_ZPmZ_H:
31896 case AArch64::UXTB_ZPmZ_S:
31897 case AArch64::UXTH_ZPmZ_D:
31898 case AArch64::UXTH_ZPmZ_S:
31899 case AArch64::UXTW_ZPmZ_D: {
31900 switch (OpNum) {
31901 case 2:
31902 // op: Pg
31903 return 10;
31904 case 0:
31905 // op: Zd
31906 return 0;
31907 case 3:
31908 // op: Zn
31909 return 5;
31910 }
31911 break;
31912 }
31913 case AArch64::CPY_ZPmR_B:
31914 case AArch64::CPY_ZPmR_D:
31915 case AArch64::CPY_ZPmR_H:
31916 case AArch64::CPY_ZPmR_S: {
31917 switch (OpNum) {
31918 case 2:
31919 // op: Pg
31920 return 10;
31921 case 3:
31922 // op: Rn
31923 return 5;
31924 case 0:
31925 // op: Zd
31926 return 0;
31927 }
31928 break;
31929 }
31930 case AArch64::CPY_ZPmV_B:
31931 case AArch64::CPY_ZPmV_D:
31932 case AArch64::CPY_ZPmV_H:
31933 case AArch64::CPY_ZPmV_S: {
31934 switch (OpNum) {
31935 case 2:
31936 // op: Pg
31937 return 10;
31938 case 3:
31939 // op: Vn
31940 return 5;
31941 case 0:
31942 // op: Zd
31943 return 0;
31944 }
31945 break;
31946 }
31947 case AArch64::FCPY_ZPmI_D:
31948 case AArch64::FCPY_ZPmI_H:
31949 case AArch64::FCPY_ZPmI_S: {
31950 switch (OpNum) {
31951 case 2:
31952 // op: Pg
31953 return 16;
31954 case 0:
31955 // op: Zd
31956 return 0;
31957 case 3:
31958 // op: imm8
31959 return 5;
31960 }
31961 break;
31962 }
31963 case AArch64::DECP_ZP_D:
31964 case AArch64::DECP_ZP_H:
31965 case AArch64::DECP_ZP_S:
31966 case AArch64::INCP_ZP_D:
31967 case AArch64::INCP_ZP_H:
31968 case AArch64::INCP_ZP_S:
31969 case AArch64::SQDECP_ZP_D:
31970 case AArch64::SQDECP_ZP_H:
31971 case AArch64::SQDECP_ZP_S:
31972 case AArch64::SQINCP_ZP_D:
31973 case AArch64::SQINCP_ZP_H:
31974 case AArch64::SQINCP_ZP_S:
31975 case AArch64::UQDECP_ZP_D:
31976 case AArch64::UQDECP_ZP_H:
31977 case AArch64::UQDECP_ZP_S:
31978 case AArch64::UQINCP_ZP_D:
31979 case AArch64::UQINCP_ZP_H:
31980 case AArch64::UQINCP_ZP_S: {
31981 switch (OpNum) {
31982 case 2:
31983 // op: Pm
31984 return 5;
31985 case 0:
31986 // op: Zdn
31987 return 0;
31988 }
31989 break;
31990 }
31991 case AArch64::MOPSSETGE:
31992 case AArch64::MOPSSETGEN:
31993 case AArch64::MOPSSETGET:
31994 case AArch64::MOPSSETGETN:
31995 case AArch64::SETE:
31996 case AArch64::SETEN:
31997 case AArch64::SETET:
31998 case AArch64::SETETN:
31999 case AArch64::SETGM:
32000 case AArch64::SETGMN:
32001 case AArch64::SETGMT:
32002 case AArch64::SETGMTN:
32003 case AArch64::SETGP:
32004 case AArch64::SETGPN:
32005 case AArch64::SETGPT:
32006 case AArch64::SETGPTN:
32007 case AArch64::SETM:
32008 case AArch64::SETMN:
32009 case AArch64::SETMT:
32010 case AArch64::SETMTN:
32011 case AArch64::SETP:
32012 case AArch64::SETPN:
32013 case AArch64::SETPT:
32014 case AArch64::SETPTN: {
32015 switch (OpNum) {
32016 case 2:
32017 // op: Rd
32018 return 0;
32019 case 3:
32020 // op: Rn
32021 return 5;
32022 case 4:
32023 // op: Rm
32024 return 16;
32025 }
32026 break;
32027 }
32028 case AArch64::SETGOE:
32029 case AArch64::SETGOEN:
32030 case AArch64::SETGOET:
32031 case AArch64::SETGOETN:
32032 case AArch64::SETGOM:
32033 case AArch64::SETGOMN:
32034 case AArch64::SETGOMT:
32035 case AArch64::SETGOMTN:
32036 case AArch64::SETGOP:
32037 case AArch64::SETGOPN:
32038 case AArch64::SETGOPT:
32039 case AArch64::SETGOPTN: {
32040 switch (OpNum) {
32041 case 2:
32042 // op: Rd
32043 return 0;
32044 case 3:
32045 // op: Rn
32046 return 5;
32047 }
32048 break;
32049 }
32050 case AArch64::INDEX_IR_B:
32051 case AArch64::INDEX_IR_D:
32052 case AArch64::INDEX_IR_H:
32053 case AArch64::INDEX_IR_S: {
32054 switch (OpNum) {
32055 case 2:
32056 // op: Rm
32057 return 16;
32058 case 0:
32059 // op: Zd
32060 return 0;
32061 case 1:
32062 // op: imm5
32063 return 5;
32064 }
32065 break;
32066 }
32067 case AArch64::INSR_ZR_B:
32068 case AArch64::INSR_ZR_D:
32069 case AArch64::INSR_ZR_H:
32070 case AArch64::INSR_ZR_S: {
32071 switch (OpNum) {
32072 case 2:
32073 // op: Rm
32074 return 5;
32075 case 0:
32076 // op: Zdn
32077 return 0;
32078 }
32079 break;
32080 }
32081 case AArch64::PRFB_PRI:
32082 case AArch64::PRFD_PRI:
32083 case AArch64::PRFH_PRI:
32084 case AArch64::PRFW_PRI: {
32085 switch (OpNum) {
32086 case 2:
32087 // op: Rn
32088 return 5;
32089 case 1:
32090 // op: Pg
32091 return 10;
32092 case 3:
32093 // op: imm6
32094 return 16;
32095 case 0:
32096 // op: prfop
32097 return 0;
32098 }
32099 break;
32100 }
32101 case AArch64::LDG:
32102 case AArch64::ST2GPostIndex:
32103 case AArch64::ST2GPreIndex:
32104 case AArch64::STGPostIndex:
32105 case AArch64::STGPreIndex:
32106 case AArch64::STZ2GPostIndex:
32107 case AArch64::STZ2GPreIndex:
32108 case AArch64::STZGPostIndex:
32109 case AArch64::STZGPreIndex: {
32110 switch (OpNum) {
32111 case 2:
32112 // op: Rn
32113 return 5;
32114 case 1:
32115 // op: Rt
32116 return 0;
32117 case 3:
32118 // op: offset
32119 return 12;
32120 }
32121 break;
32122 }
32123 case AArch64::MOVA_VG2_MXI2Z: {
32124 switch (OpNum) {
32125 case 2:
32126 // op: Rs
32127 return 13;
32128 case 3:
32129 // op: imm
32130 return 0;
32131 case 4:
32132 // op: Zn
32133 return 6;
32134 }
32135 break;
32136 }
32137 case AArch64::MOVA_VG4_MXI4Z: {
32138 switch (OpNum) {
32139 case 2:
32140 // op: Rs
32141 return 13;
32142 case 3:
32143 // op: imm
32144 return 0;
32145 case 4:
32146 // op: Zn
32147 return 7;
32148 }
32149 break;
32150 }
32151 case AArch64::MOVA_VG2_2ZMXI: {
32152 switch (OpNum) {
32153 case 2:
32154 // op: Rs
32155 return 13;
32156 case 3:
32157 // op: imm
32158 return 5;
32159 case 0:
32160 // op: Zd
32161 return 1;
32162 }
32163 break;
32164 }
32165 case AArch64::MOVA_VG4_4ZMXI: {
32166 switch (OpNum) {
32167 case 2:
32168 // op: Rs
32169 return 13;
32170 case 3:
32171 // op: imm
32172 return 5;
32173 case 0:
32174 // op: Zd
32175 return 2;
32176 }
32177 break;
32178 }
32179 case AArch64::MOVA_MXI2Z_H_D:
32180 case AArch64::MOVA_MXI2Z_V_D: {
32181 switch (OpNum) {
32182 case 2:
32183 // op: Rs
32184 return 13;
32185 case 4:
32186 // op: Zn
32187 return 6;
32188 case 0:
32189 // op: ZAd
32190 return 0;
32191 }
32192 break;
32193 }
32194 case AArch64::MOVA_MXI2Z_H_S:
32195 case AArch64::MOVA_MXI2Z_V_S: {
32196 switch (OpNum) {
32197 case 2:
32198 // op: Rs
32199 return 13;
32200 case 4:
32201 // op: Zn
32202 return 6;
32203 case 0:
32204 // op: ZAd
32205 return 1;
32206 case 3:
32207 // op: imm
32208 return 0;
32209 }
32210 break;
32211 }
32212 case AArch64::MOVA_MXI2Z_H_H:
32213 case AArch64::MOVA_MXI2Z_V_H: {
32214 switch (OpNum) {
32215 case 2:
32216 // op: Rs
32217 return 13;
32218 case 4:
32219 // op: Zn
32220 return 6;
32221 case 0:
32222 // op: ZAd
32223 return 2;
32224 case 3:
32225 // op: imm
32226 return 0;
32227 }
32228 break;
32229 }
32230 case AArch64::MOVA_MXI2Z_H_B:
32231 case AArch64::MOVA_MXI2Z_V_B: {
32232 switch (OpNum) {
32233 case 2:
32234 // op: Rs
32235 return 13;
32236 case 4:
32237 // op: Zn
32238 return 6;
32239 case 3:
32240 // op: imm
32241 return 0;
32242 }
32243 break;
32244 }
32245 case AArch64::MOVA_MXI4Z_H_D:
32246 case AArch64::MOVA_MXI4Z_H_S:
32247 case AArch64::MOVA_MXI4Z_V_D:
32248 case AArch64::MOVA_MXI4Z_V_S: {
32249 switch (OpNum) {
32250 case 2:
32251 // op: Rs
32252 return 13;
32253 case 4:
32254 // op: Zn
32255 return 7;
32256 case 0:
32257 // op: ZAd
32258 return 0;
32259 }
32260 break;
32261 }
32262 case AArch64::MOVA_MXI4Z_H_H:
32263 case AArch64::MOVA_MXI4Z_V_H: {
32264 switch (OpNum) {
32265 case 2:
32266 // op: Rs
32267 return 13;
32268 case 4:
32269 // op: Zn
32270 return 7;
32271 case 0:
32272 // op: ZAd
32273 return 1;
32274 case 3:
32275 // op: imm
32276 return 0;
32277 }
32278 break;
32279 }
32280 case AArch64::MOVA_MXI4Z_H_B:
32281 case AArch64::MOVA_MXI4Z_V_B: {
32282 switch (OpNum) {
32283 case 2:
32284 // op: Rs
32285 return 13;
32286 case 4:
32287 // op: Zn
32288 return 7;
32289 case 3:
32290 // op: imm
32291 return 0;
32292 }
32293 break;
32294 }
32295 case AArch64::LDCLRP:
32296 case AArch64::LDCLRPA:
32297 case AArch64::LDCLRPAL:
32298 case AArch64::LDCLRPL:
32299 case AArch64::LDSETP:
32300 case AArch64::LDSETPA:
32301 case AArch64::LDSETPAL:
32302 case AArch64::LDSETPL:
32303 case AArch64::SWPP:
32304 case AArch64::SWPPA:
32305 case AArch64::SWPPAL:
32306 case AArch64::SWPPL: {
32307 switch (OpNum) {
32308 case 2:
32309 // op: Rt
32310 return 0;
32311 case 3:
32312 // op: Rt2
32313 return 16;
32314 case 4:
32315 // op: Rn
32316 return 5;
32317 }
32318 break;
32319 }
32320 case AArch64::ZERO_MXI_2Z:
32321 case AArch64::ZERO_MXI_4Z:
32322 case AArch64::ZERO_MXI_VG2_2Z:
32323 case AArch64::ZERO_MXI_VG2_4Z:
32324 case AArch64::ZERO_MXI_VG2_Z:
32325 case AArch64::ZERO_MXI_VG4_2Z:
32326 case AArch64::ZERO_MXI_VG4_4Z:
32327 case AArch64::ZERO_MXI_VG4_Z: {
32328 switch (OpNum) {
32329 case 2:
32330 // op: Rv
32331 return 13;
32332 case 3:
32333 // op: imm
32334 return 0;
32335 }
32336 break;
32337 }
32338 case AArch64::ADD_VG2_M2Z_D:
32339 case AArch64::ADD_VG2_M2Z_S:
32340 case AArch64::BFADD_VG2_M2Z_H:
32341 case AArch64::BFSUB_VG2_M2Z_H:
32342 case AArch64::FADD_VG2_M2Z_D:
32343 case AArch64::FADD_VG2_M2Z_H:
32344 case AArch64::FADD_VG2_M2Z_S:
32345 case AArch64::FSUB_VG2_M2Z_D:
32346 case AArch64::FSUB_VG2_M2Z_H:
32347 case AArch64::FSUB_VG2_M2Z_S:
32348 case AArch64::SUB_VG2_M2Z_D:
32349 case AArch64::SUB_VG2_M2Z_S: {
32350 switch (OpNum) {
32351 case 2:
32352 // op: Rv
32353 return 13;
32354 case 3:
32355 // op: imm3
32356 return 0;
32357 case 4:
32358 // op: Zm
32359 return 6;
32360 }
32361 break;
32362 }
32363 case AArch64::ADD_VG4_M4Z_D:
32364 case AArch64::ADD_VG4_M4Z_S:
32365 case AArch64::BFADD_VG4_M4Z_H:
32366 case AArch64::BFSUB_VG4_M4Z_H:
32367 case AArch64::FADD_VG4_M4Z_D:
32368 case AArch64::FADD_VG4_M4Z_H:
32369 case AArch64::FADD_VG4_M4Z_S:
32370 case AArch64::FSUB_VG4_M4Z_D:
32371 case AArch64::FSUB_VG4_M4Z_H:
32372 case AArch64::FSUB_VG4_M4Z_S:
32373 case AArch64::SUB_VG4_M4Z_D:
32374 case AArch64::SUB_VG4_M4Z_S: {
32375 switch (OpNum) {
32376 case 2:
32377 // op: Rv
32378 return 13;
32379 case 3:
32380 // op: imm3
32381 return 0;
32382 case 4:
32383 // op: Zm
32384 return 7;
32385 }
32386 break;
32387 }
32388 case AArch64::INSERT_MXIPZ_H_Q:
32389 case AArch64::INSERT_MXIPZ_V_Q: {
32390 switch (OpNum) {
32391 case 2:
32392 // op: Rv
32393 return 13;
32394 case 4:
32395 // op: Pg
32396 return 10;
32397 case 5:
32398 // op: Zn
32399 return 5;
32400 case 0:
32401 // op: ZAd
32402 return 0;
32403 }
32404 break;
32405 }
32406 case AArch64::INSERT_MXIPZ_H_D:
32407 case AArch64::INSERT_MXIPZ_V_D: {
32408 switch (OpNum) {
32409 case 2:
32410 // op: Rv
32411 return 13;
32412 case 4:
32413 // op: Pg
32414 return 10;
32415 case 5:
32416 // op: Zn
32417 return 5;
32418 case 0:
32419 // op: ZAd
32420 return 1;
32421 case 3:
32422 // op: imm
32423 return 0;
32424 }
32425 break;
32426 }
32427 case AArch64::INSERT_MXIPZ_H_S:
32428 case AArch64::INSERT_MXIPZ_V_S: {
32429 switch (OpNum) {
32430 case 2:
32431 // op: Rv
32432 return 13;
32433 case 4:
32434 // op: Pg
32435 return 10;
32436 case 5:
32437 // op: Zn
32438 return 5;
32439 case 0:
32440 // op: ZAd
32441 return 2;
32442 case 3:
32443 // op: imm
32444 return 0;
32445 }
32446 break;
32447 }
32448 case AArch64::INSERT_MXIPZ_H_H:
32449 case AArch64::INSERT_MXIPZ_V_H: {
32450 switch (OpNum) {
32451 case 2:
32452 // op: Rv
32453 return 13;
32454 case 4:
32455 // op: Pg
32456 return 10;
32457 case 5:
32458 // op: Zn
32459 return 5;
32460 case 0:
32461 // op: ZAd
32462 return 3;
32463 case 3:
32464 // op: imm
32465 return 0;
32466 }
32467 break;
32468 }
32469 case AArch64::INSERT_MXIPZ_H_B:
32470 case AArch64::INSERT_MXIPZ_V_B: {
32471 switch (OpNum) {
32472 case 2:
32473 // op: Rv
32474 return 13;
32475 case 4:
32476 // op: Pg
32477 return 10;
32478 case 5:
32479 // op: Zn
32480 return 5;
32481 case 3:
32482 // op: imm
32483 return 0;
32484 }
32485 break;
32486 }
32487 case AArch64::BFMLAL_MZZ_HtoS:
32488 case AArch64::BFMLAL_VG2_M2ZZ_HtoS:
32489 case AArch64::BFMLAL_VG4_M4ZZ_HtoS:
32490 case AArch64::BFMLSL_MZZ_HtoS:
32491 case AArch64::BFMLSL_VG2_M2ZZ_HtoS:
32492 case AArch64::BFMLSL_VG4_M4ZZ_HtoS:
32493 case AArch64::FMLAL_MZZ_HtoS:
32494 case AArch64::FMLAL_VG2_M2ZZ_BtoH:
32495 case AArch64::FMLAL_VG2_M2ZZ_HtoS:
32496 case AArch64::FMLAL_VG2_MZZ_BtoH:
32497 case AArch64::FMLAL_VG4_M4ZZ_BtoH:
32498 case AArch64::FMLAL_VG4_M4ZZ_HtoS:
32499 case AArch64::FMLSL_MZZ_HtoS:
32500 case AArch64::FMLSL_VG2_M2ZZ_HtoS:
32501 case AArch64::FMLSL_VG4_M4ZZ_HtoS:
32502 case AArch64::SMLAL_MZZ_HtoS:
32503 case AArch64::SMLAL_VG2_M2ZZ_HtoS:
32504 case AArch64::SMLAL_VG4_M4ZZ_HtoS:
32505 case AArch64::SMLSL_MZZ_HtoS:
32506 case AArch64::SMLSL_VG2_M2ZZ_HtoS:
32507 case AArch64::SMLSL_VG4_M4ZZ_HtoS:
32508 case AArch64::UMLAL_MZZ_HtoS:
32509 case AArch64::UMLAL_VG2_M2ZZ_HtoS:
32510 case AArch64::UMLAL_VG4_M4ZZ_HtoS:
32511 case AArch64::UMLSL_MZZ_HtoS:
32512 case AArch64::UMLSL_VG2_M2ZZ_HtoS:
32513 case AArch64::UMLSL_VG4_M4ZZ_HtoS: {
32514 switch (OpNum) {
32515 case 2:
32516 // op: Rv
32517 return 13;
32518 case 5:
32519 // op: Zm
32520 return 16;
32521 case 4:
32522 // op: Zn
32523 return 5;
32524 case 3:
32525 // op: imm
32526 return 0;
32527 }
32528 break;
32529 }
32530 case AArch64::BFMLAL_VG2_M2Z2Z_HtoS:
32531 case AArch64::BFMLSL_VG2_M2Z2Z_HtoS:
32532 case AArch64::FMLAL_VG2_M2Z2Z_BtoH:
32533 case AArch64::FMLAL_VG2_M2Z2Z_HtoS:
32534 case AArch64::FMLSL_VG2_M2Z2Z_HtoS:
32535 case AArch64::SMLAL_VG2_M2Z2Z_HtoS:
32536 case AArch64::SMLSL_VG2_M2Z2Z_HtoS:
32537 case AArch64::UMLAL_VG2_M2Z2Z_HtoS:
32538 case AArch64::UMLSL_VG2_M2Z2Z_HtoS: {
32539 switch (OpNum) {
32540 case 2:
32541 // op: Rv
32542 return 13;
32543 case 5:
32544 // op: Zm
32545 return 17;
32546 case 4:
32547 // op: Zn
32548 return 6;
32549 case 3:
32550 // op: imm
32551 return 0;
32552 }
32553 break;
32554 }
32555 case AArch64::BFMLAL_VG4_M4Z4Z_HtoS:
32556 case AArch64::BFMLSL_VG4_M4Z4Z_HtoS:
32557 case AArch64::FMLAL_VG4_M4Z4Z_BtoH:
32558 case AArch64::FMLAL_VG4_M4Z4Z_HtoS:
32559 case AArch64::FMLSL_VG4_M4Z4Z_HtoS:
32560 case AArch64::SMLAL_VG4_M4Z4Z_HtoS:
32561 case AArch64::SMLSL_VG4_M4Z4Z_HtoS:
32562 case AArch64::UMLAL_VG4_M4Z4Z_HtoS:
32563 case AArch64::UMLSL_VG4_M4Z4Z_HtoS: {
32564 switch (OpNum) {
32565 case 2:
32566 // op: Rv
32567 return 13;
32568 case 5:
32569 // op: Zm
32570 return 18;
32571 case 4:
32572 // op: Zn
32573 return 7;
32574 case 3:
32575 // op: imm
32576 return 0;
32577 }
32578 break;
32579 }
32580 case AArch64::INSR_ZV_B:
32581 case AArch64::INSR_ZV_D:
32582 case AArch64::INSR_ZV_H:
32583 case AArch64::INSR_ZV_S: {
32584 switch (OpNum) {
32585 case 2:
32586 // op: Vm
32587 return 5;
32588 case 0:
32589 // op: Zdn
32590 return 0;
32591 }
32592 break;
32593 }
32594 case AArch64::LD1i8_POST:
32595 case AArch64::LD2i8_POST:
32596 case AArch64::LD3i8_POST:
32597 case AArch64::LD4i8_POST: {
32598 switch (OpNum) {
32599 case 2:
32600 // op: Vt
32601 return 0;
32602 case 4:
32603 // op: Rn
32604 return 5;
32605 case 3:
32606 // op: idx
32607 return 10;
32608 case 5:
32609 // op: Xm
32610 return 16;
32611 }
32612 break;
32613 }
32614 case AArch64::LD1i16_POST:
32615 case AArch64::LD2i16_POST:
32616 case AArch64::LD3i16_POST:
32617 case AArch64::LD4i16_POST: {
32618 switch (OpNum) {
32619 case 2:
32620 // op: Vt
32621 return 0;
32622 case 4:
32623 // op: Rn
32624 return 5;
32625 case 3:
32626 // op: idx
32627 return 11;
32628 case 5:
32629 // op: Xm
32630 return 16;
32631 }
32632 break;
32633 }
32634 case AArch64::LD1i32_POST:
32635 case AArch64::LD2i32_POST:
32636 case AArch64::LD3i32_POST:
32637 case AArch64::LD4i32_POST: {
32638 switch (OpNum) {
32639 case 2:
32640 // op: Vt
32641 return 0;
32642 case 4:
32643 // op: Rn
32644 return 5;
32645 case 3:
32646 // op: idx
32647 return 12;
32648 case 5:
32649 // op: Xm
32650 return 16;
32651 }
32652 break;
32653 }
32654 case AArch64::LD1i64_POST:
32655 case AArch64::LD2i64_POST:
32656 case AArch64::LD3i64_POST:
32657 case AArch64::LD4i64_POST: {
32658 switch (OpNum) {
32659 case 2:
32660 // op: Vt
32661 return 0;
32662 case 4:
32663 // op: Rn
32664 return 5;
32665 case 3:
32666 // op: idx
32667 return 30;
32668 case 5:
32669 // op: Xm
32670 return 16;
32671 }
32672 break;
32673 }
32674 case AArch64::ADD_VG2_2ZZ_B:
32675 case AArch64::ADD_VG2_2ZZ_D:
32676 case AArch64::ADD_VG2_2ZZ_H:
32677 case AArch64::ADD_VG2_2ZZ_S:
32678 case AArch64::BFMAXNM_VG2_2ZZ_H:
32679 case AArch64::BFMAX_VG2_2ZZ_H:
32680 case AArch64::BFMINNM_VG2_2ZZ_H:
32681 case AArch64::BFMIN_VG2_2ZZ_H:
32682 case AArch64::BFSCALE_2ZZ:
32683 case AArch64::FMAXNM_VG2_2ZZ_D:
32684 case AArch64::FMAXNM_VG2_2ZZ_H:
32685 case AArch64::FMAXNM_VG2_2ZZ_S:
32686 case AArch64::FMAX_VG2_2ZZ_D:
32687 case AArch64::FMAX_VG2_2ZZ_H:
32688 case AArch64::FMAX_VG2_2ZZ_S:
32689 case AArch64::FMINNM_VG2_2ZZ_D:
32690 case AArch64::FMINNM_VG2_2ZZ_H:
32691 case AArch64::FMINNM_VG2_2ZZ_S:
32692 case AArch64::FMIN_VG2_2ZZ_D:
32693 case AArch64::FMIN_VG2_2ZZ_H:
32694 case AArch64::FMIN_VG2_2ZZ_S:
32695 case AArch64::FSCALE_2ZZ_D:
32696 case AArch64::FSCALE_2ZZ_H:
32697 case AArch64::FSCALE_2ZZ_S:
32698 case AArch64::SMAX_VG2_2ZZ_B:
32699 case AArch64::SMAX_VG2_2ZZ_D:
32700 case AArch64::SMAX_VG2_2ZZ_H:
32701 case AArch64::SMAX_VG2_2ZZ_S:
32702 case AArch64::SMIN_VG2_2ZZ_B:
32703 case AArch64::SMIN_VG2_2ZZ_D:
32704 case AArch64::SMIN_VG2_2ZZ_H:
32705 case AArch64::SMIN_VG2_2ZZ_S:
32706 case AArch64::SQDMULH_VG2_2ZZ_B:
32707 case AArch64::SQDMULH_VG2_2ZZ_D:
32708 case AArch64::SQDMULH_VG2_2ZZ_H:
32709 case AArch64::SQDMULH_VG2_2ZZ_S:
32710 case AArch64::SRSHL_VG2_2ZZ_B:
32711 case AArch64::SRSHL_VG2_2ZZ_D:
32712 case AArch64::SRSHL_VG2_2ZZ_H:
32713 case AArch64::SRSHL_VG2_2ZZ_S:
32714 case AArch64::UMAX_VG2_2ZZ_B:
32715 case AArch64::UMAX_VG2_2ZZ_D:
32716 case AArch64::UMAX_VG2_2ZZ_H:
32717 case AArch64::UMAX_VG2_2ZZ_S:
32718 case AArch64::UMIN_VG2_2ZZ_B:
32719 case AArch64::UMIN_VG2_2ZZ_D:
32720 case AArch64::UMIN_VG2_2ZZ_H:
32721 case AArch64::UMIN_VG2_2ZZ_S:
32722 case AArch64::URSHL_VG2_2ZZ_B:
32723 case AArch64::URSHL_VG2_2ZZ_D:
32724 case AArch64::URSHL_VG2_2ZZ_H:
32725 case AArch64::URSHL_VG2_2ZZ_S: {
32726 switch (OpNum) {
32727 case 2:
32728 // op: Zm
32729 return 16;
32730 case 0:
32731 // op: Zdn
32732 return 1;
32733 }
32734 break;
32735 }
32736 case AArch64::ADD_VG4_4ZZ_B:
32737 case AArch64::ADD_VG4_4ZZ_D:
32738 case AArch64::ADD_VG4_4ZZ_H:
32739 case AArch64::ADD_VG4_4ZZ_S:
32740 case AArch64::BFMAXNM_VG4_4ZZ_H:
32741 case AArch64::BFMAX_VG4_4ZZ_H:
32742 case AArch64::BFMINNM_VG4_4ZZ_H:
32743 case AArch64::BFMIN_VG4_4ZZ_H:
32744 case AArch64::BFSCALE_4ZZ:
32745 case AArch64::FMAXNM_VG4_4ZZ_D:
32746 case AArch64::FMAXNM_VG4_4ZZ_H:
32747 case AArch64::FMAXNM_VG4_4ZZ_S:
32748 case AArch64::FMAX_VG4_4ZZ_D:
32749 case AArch64::FMAX_VG4_4ZZ_H:
32750 case AArch64::FMAX_VG4_4ZZ_S:
32751 case AArch64::FMINNM_VG4_4ZZ_D:
32752 case AArch64::FMINNM_VG4_4ZZ_H:
32753 case AArch64::FMINNM_VG4_4ZZ_S:
32754 case AArch64::FMIN_VG4_4ZZ_D:
32755 case AArch64::FMIN_VG4_4ZZ_H:
32756 case AArch64::FMIN_VG4_4ZZ_S:
32757 case AArch64::FSCALE_4ZZ_D:
32758 case AArch64::FSCALE_4ZZ_H:
32759 case AArch64::FSCALE_4ZZ_S:
32760 case AArch64::SMAX_VG4_4ZZ_B:
32761 case AArch64::SMAX_VG4_4ZZ_D:
32762 case AArch64::SMAX_VG4_4ZZ_H:
32763 case AArch64::SMAX_VG4_4ZZ_S:
32764 case AArch64::SMIN_VG4_4ZZ_B:
32765 case AArch64::SMIN_VG4_4ZZ_D:
32766 case AArch64::SMIN_VG4_4ZZ_H:
32767 case AArch64::SMIN_VG4_4ZZ_S:
32768 case AArch64::SQDMULH_VG4_4ZZ_B:
32769 case AArch64::SQDMULH_VG4_4ZZ_D:
32770 case AArch64::SQDMULH_VG4_4ZZ_H:
32771 case AArch64::SQDMULH_VG4_4ZZ_S:
32772 case AArch64::SRSHL_VG4_4ZZ_B:
32773 case AArch64::SRSHL_VG4_4ZZ_D:
32774 case AArch64::SRSHL_VG4_4ZZ_H:
32775 case AArch64::SRSHL_VG4_4ZZ_S:
32776 case AArch64::UMAX_VG4_4ZZ_B:
32777 case AArch64::UMAX_VG4_4ZZ_D:
32778 case AArch64::UMAX_VG4_4ZZ_H:
32779 case AArch64::UMAX_VG4_4ZZ_S:
32780 case AArch64::UMIN_VG4_4ZZ_B:
32781 case AArch64::UMIN_VG4_4ZZ_D:
32782 case AArch64::UMIN_VG4_4ZZ_H:
32783 case AArch64::UMIN_VG4_4ZZ_S:
32784 case AArch64::URSHL_VG4_4ZZ_B:
32785 case AArch64::URSHL_VG4_4ZZ_D:
32786 case AArch64::URSHL_VG4_4ZZ_H:
32787 case AArch64::URSHL_VG4_4ZZ_S: {
32788 switch (OpNum) {
32789 case 2:
32790 // op: Zm
32791 return 16;
32792 case 0:
32793 // op: Zdn
32794 return 2;
32795 }
32796 break;
32797 }
32798 case AArch64::PMULL_2ZZZ_Q: {
32799 switch (OpNum) {
32800 case 2:
32801 // op: Zm
32802 return 16;
32803 case 1:
32804 // op: Zn
32805 return 5;
32806 case 0:
32807 // op: Zd
32808 return 1;
32809 }
32810 break;
32811 }
32812 case AArch64::BFMAXNM_VG2_2Z2Z_H:
32813 case AArch64::BFMAX_VG2_2Z2Z_H:
32814 case AArch64::BFMINNM_VG2_2Z2Z_H:
32815 case AArch64::BFMIN_VG2_2Z2Z_H:
32816 case AArch64::BFSCALE_2Z2Z:
32817 case AArch64::FAMAX_2Z2Z_D:
32818 case AArch64::FAMAX_2Z2Z_H:
32819 case AArch64::FAMAX_2Z2Z_S:
32820 case AArch64::FAMIN_2Z2Z_D:
32821 case AArch64::FAMIN_2Z2Z_H:
32822 case AArch64::FAMIN_2Z2Z_S:
32823 case AArch64::FMAXNM_VG2_2Z2Z_D:
32824 case AArch64::FMAXNM_VG2_2Z2Z_H:
32825 case AArch64::FMAXNM_VG2_2Z2Z_S:
32826 case AArch64::FMAX_VG2_2Z2Z_D:
32827 case AArch64::FMAX_VG2_2Z2Z_H:
32828 case AArch64::FMAX_VG2_2Z2Z_S:
32829 case AArch64::FMINNM_VG2_2Z2Z_D:
32830 case AArch64::FMINNM_VG2_2Z2Z_H:
32831 case AArch64::FMINNM_VG2_2Z2Z_S:
32832 case AArch64::FMIN_VG2_2Z2Z_D:
32833 case AArch64::FMIN_VG2_2Z2Z_H:
32834 case AArch64::FMIN_VG2_2Z2Z_S:
32835 case AArch64::FSCALE_2Z2Z_D:
32836 case AArch64::FSCALE_2Z2Z_H:
32837 case AArch64::FSCALE_2Z2Z_S:
32838 case AArch64::SMAX_VG2_2Z2Z_B:
32839 case AArch64::SMAX_VG2_2Z2Z_D:
32840 case AArch64::SMAX_VG2_2Z2Z_H:
32841 case AArch64::SMAX_VG2_2Z2Z_S:
32842 case AArch64::SMIN_VG2_2Z2Z_B:
32843 case AArch64::SMIN_VG2_2Z2Z_D:
32844 case AArch64::SMIN_VG2_2Z2Z_H:
32845 case AArch64::SMIN_VG2_2Z2Z_S:
32846 case AArch64::SQDMULH_VG2_2Z2Z_B:
32847 case AArch64::SQDMULH_VG2_2Z2Z_D:
32848 case AArch64::SQDMULH_VG2_2Z2Z_H:
32849 case AArch64::SQDMULH_VG2_2Z2Z_S:
32850 case AArch64::SRSHL_VG2_2Z2Z_B:
32851 case AArch64::SRSHL_VG2_2Z2Z_D:
32852 case AArch64::SRSHL_VG2_2Z2Z_H:
32853 case AArch64::SRSHL_VG2_2Z2Z_S:
32854 case AArch64::UMAX_VG2_2Z2Z_B:
32855 case AArch64::UMAX_VG2_2Z2Z_D:
32856 case AArch64::UMAX_VG2_2Z2Z_H:
32857 case AArch64::UMAX_VG2_2Z2Z_S:
32858 case AArch64::UMIN_VG2_2Z2Z_B:
32859 case AArch64::UMIN_VG2_2Z2Z_D:
32860 case AArch64::UMIN_VG2_2Z2Z_H:
32861 case AArch64::UMIN_VG2_2Z2Z_S:
32862 case AArch64::URSHL_VG2_2Z2Z_B:
32863 case AArch64::URSHL_VG2_2Z2Z_D:
32864 case AArch64::URSHL_VG2_2Z2Z_H:
32865 case AArch64::URSHL_VG2_2Z2Z_S: {
32866 switch (OpNum) {
32867 case 2:
32868 // op: Zm
32869 return 17;
32870 case 0:
32871 // op: Zdn
32872 return 1;
32873 }
32874 break;
32875 }
32876 case AArch64::BFMAXNM_VG4_4Z2Z_H:
32877 case AArch64::BFMAX_VG4_4Z2Z_H:
32878 case AArch64::BFMINNM_VG4_4Z2Z_H:
32879 case AArch64::BFMIN_VG4_4Z2Z_H:
32880 case AArch64::BFSCALE_4Z4Z:
32881 case AArch64::FAMAX_4Z4Z_D:
32882 case AArch64::FAMAX_4Z4Z_H:
32883 case AArch64::FAMAX_4Z4Z_S:
32884 case AArch64::FAMIN_4Z4Z_D:
32885 case AArch64::FAMIN_4Z4Z_H:
32886 case AArch64::FAMIN_4Z4Z_S:
32887 case AArch64::FMAXNM_VG4_4Z4Z_D:
32888 case AArch64::FMAXNM_VG4_4Z4Z_H:
32889 case AArch64::FMAXNM_VG4_4Z4Z_S:
32890 case AArch64::FMAX_VG4_4Z4Z_D:
32891 case AArch64::FMAX_VG4_4Z4Z_H:
32892 case AArch64::FMAX_VG4_4Z4Z_S:
32893 case AArch64::FMINNM_VG4_4Z4Z_D:
32894 case AArch64::FMINNM_VG4_4Z4Z_H:
32895 case AArch64::FMINNM_VG4_4Z4Z_S:
32896 case AArch64::FMIN_VG4_4Z4Z_D:
32897 case AArch64::FMIN_VG4_4Z4Z_H:
32898 case AArch64::FMIN_VG4_4Z4Z_S:
32899 case AArch64::FSCALE_4Z4Z_D:
32900 case AArch64::FSCALE_4Z4Z_H:
32901 case AArch64::FSCALE_4Z4Z_S:
32902 case AArch64::SMAX_VG4_4Z4Z_B:
32903 case AArch64::SMAX_VG4_4Z4Z_D:
32904 case AArch64::SMAX_VG4_4Z4Z_H:
32905 case AArch64::SMAX_VG4_4Z4Z_S:
32906 case AArch64::SMIN_VG4_4Z4Z_B:
32907 case AArch64::SMIN_VG4_4Z4Z_D:
32908 case AArch64::SMIN_VG4_4Z4Z_H:
32909 case AArch64::SMIN_VG4_4Z4Z_S:
32910 case AArch64::SQDMULH_VG4_4Z4Z_B:
32911 case AArch64::SQDMULH_VG4_4Z4Z_D:
32912 case AArch64::SQDMULH_VG4_4Z4Z_H:
32913 case AArch64::SQDMULH_VG4_4Z4Z_S:
32914 case AArch64::SRSHL_VG4_4Z4Z_B:
32915 case AArch64::SRSHL_VG4_4Z4Z_D:
32916 case AArch64::SRSHL_VG4_4Z4Z_H:
32917 case AArch64::SRSHL_VG4_4Z4Z_S:
32918 case AArch64::UMAX_VG4_4Z4Z_B:
32919 case AArch64::UMAX_VG4_4Z4Z_D:
32920 case AArch64::UMAX_VG4_4Z4Z_H:
32921 case AArch64::UMAX_VG4_4Z4Z_S:
32922 case AArch64::UMIN_VG4_4Z4Z_B:
32923 case AArch64::UMIN_VG4_4Z4Z_D:
32924 case AArch64::UMIN_VG4_4Z4Z_H:
32925 case AArch64::UMIN_VG4_4Z4Z_S:
32926 case AArch64::URSHL_VG4_4Z4Z_B:
32927 case AArch64::URSHL_VG4_4Z4Z_D:
32928 case AArch64::URSHL_VG4_4Z4Z_H:
32929 case AArch64::URSHL_VG4_4Z4Z_S: {
32930 switch (OpNum) {
32931 case 2:
32932 // op: Zm
32933 return 18;
32934 case 0:
32935 // op: Zdn
32936 return 2;
32937 }
32938 break;
32939 }
32940 case AArch64::AESDIMC_2ZZI_B:
32941 case AArch64::AESD_2ZZI_B:
32942 case AArch64::AESEMC_2ZZI_B:
32943 case AArch64::AESE_2ZZI_B: {
32944 switch (OpNum) {
32945 case 2:
32946 // op: Zm
32947 return 5;
32948 case 0:
32949 // op: Zdn
32950 return 1;
32951 case 3:
32952 // op: imm2
32953 return 19;
32954 }
32955 break;
32956 }
32957 case AArch64::AESDIMC_4ZZI_B:
32958 case AArch64::AESD_4ZZI_B:
32959 case AArch64::AESEMC_4ZZI_B:
32960 case AArch64::AESE_4ZZI_B: {
32961 switch (OpNum) {
32962 case 2:
32963 // op: Zm
32964 return 5;
32965 case 0:
32966 // op: Zdn
32967 return 2;
32968 case 3:
32969 // op: imm2
32970 return 19;
32971 }
32972 break;
32973 }
32974 case AArch64::FADDV_VPZ_D:
32975 case AArch64::FADDV_VPZ_H:
32976 case AArch64::FADDV_VPZ_S:
32977 case AArch64::FMAXNMV_VPZ_D:
32978 case AArch64::FMAXNMV_VPZ_H:
32979 case AArch64::FMAXNMV_VPZ_S:
32980 case AArch64::FMAXV_VPZ_D:
32981 case AArch64::FMAXV_VPZ_H:
32982 case AArch64::FMAXV_VPZ_S:
32983 case AArch64::FMINNMV_VPZ_D:
32984 case AArch64::FMINNMV_VPZ_H:
32985 case AArch64::FMINNMV_VPZ_S:
32986 case AArch64::FMINV_VPZ_D:
32987 case AArch64::FMINV_VPZ_H:
32988 case AArch64::FMINV_VPZ_S: {
32989 switch (OpNum) {
32990 case 2:
32991 // op: Zn
32992 return 5;
32993 case 0:
32994 // op: Vd
32995 return 0;
32996 case 1:
32997 // op: Pg
32998 return 10;
32999 }
33000 break;
33001 }
33002 case AArch64::LUTI2_ZTZI_B:
33003 case AArch64::LUTI2_ZTZI_H:
33004 case AArch64::LUTI2_ZTZI_S:
33005 case AArch64::LUTI4_ZTZI_B:
33006 case AArch64::LUTI4_ZTZI_H:
33007 case AArch64::LUTI4_ZTZI_S: {
33008 switch (OpNum) {
33009 case 2:
33010 // op: Zn
33011 return 5;
33012 case 0:
33013 // op: Zd
33014 return 0;
33015 case 3:
33016 // op: i
33017 return 14;
33018 }
33019 break;
33020 }
33021 case AArch64::LUTI2_S_2ZTZI_B:
33022 case AArch64::LUTI2_S_2ZTZI_H:
33023 case AArch64::LUTI4_S_2ZTZI_B:
33024 case AArch64::LUTI4_S_2ZTZI_H: {
33025 switch (OpNum) {
33026 case 2:
33027 // op: Zn
33028 return 5;
33029 case 0:
33030 // op: Zd
33031 return 0;
33032 case 3:
33033 // op: i
33034 return 15;
33035 }
33036 break;
33037 }
33038 case AArch64::LUTI2_S_4ZTZI_B:
33039 case AArch64::LUTI2_S_4ZTZI_H:
33040 case AArch64::LUTI4_S_4ZTZI_H: {
33041 switch (OpNum) {
33042 case 2:
33043 // op: Zn
33044 return 5;
33045 case 0:
33046 // op: Zd
33047 return 0;
33048 case 3:
33049 // op: i
33050 return 16;
33051 }
33052 break;
33053 }
33054 case AArch64::LUTI2_2ZTZI_B:
33055 case AArch64::LUTI2_2ZTZI_H:
33056 case AArch64::LUTI2_2ZTZI_S:
33057 case AArch64::LUTI4_2ZTZI_B:
33058 case AArch64::LUTI4_2ZTZI_H:
33059 case AArch64::LUTI4_2ZTZI_S: {
33060 switch (OpNum) {
33061 case 2:
33062 // op: Zn
33063 return 5;
33064 case 0:
33065 // op: Zd
33066 return 1;
33067 case 3:
33068 // op: i
33069 return 15;
33070 }
33071 break;
33072 }
33073 case AArch64::LUTI2_4ZTZI_B:
33074 case AArch64::LUTI2_4ZTZI_H:
33075 case AArch64::LUTI2_4ZTZI_S:
33076 case AArch64::LUTI4_4ZTZI_H:
33077 case AArch64::LUTI4_4ZTZI_S: {
33078 switch (OpNum) {
33079 case 2:
33080 // op: Zn
33081 return 5;
33082 case 0:
33083 // op: Zd
33084 return 2;
33085 case 3:
33086 // op: i
33087 return 16;
33088 }
33089 break;
33090 }
33091 case AArch64::LUTI4_S_4ZZT2Z: {
33092 switch (OpNum) {
33093 case 2:
33094 // op: Zn
33095 return 6;
33096 case 0:
33097 // op: Zd
33098 return 0;
33099 }
33100 break;
33101 }
33102 case AArch64::LUTI4_4ZZT2Z: {
33103 switch (OpNum) {
33104 case 2:
33105 // op: Zn
33106 return 6;
33107 case 0:
33108 // op: Zd
33109 return 2;
33110 }
33111 break;
33112 }
33113 case AArch64::MOVT_TIZ: {
33114 switch (OpNum) {
33115 case 2:
33116 // op: Zt
33117 return 0;
33118 case 1:
33119 // op: off2
33120 return 12;
33121 }
33122 break;
33123 }
33124 case AArch64::MOVT_XTI: {
33125 switch (OpNum) {
33126 case 2:
33127 // op: imm3
33128 return 12;
33129 case 0:
33130 // op: Rt
33131 return 0;
33132 }
33133 break;
33134 }
33135 case AArch64::SQRSHRU_VG2_Z2ZI_H:
33136 case AArch64::SQRSHR_VG2_Z2ZI_H:
33137 case AArch64::UQRSHR_VG2_Z2ZI_H: {
33138 switch (OpNum) {
33139 case 2:
33140 // op: imm4
33141 return 16;
33142 case 1:
33143 // op: Zn
33144 return 6;
33145 case 0:
33146 // op: Zd
33147 return 0;
33148 }
33149 break;
33150 }
33151 case AArch64::LDRAAindexed:
33152 case AArch64::LDRABindexed: {
33153 switch (OpNum) {
33154 case 2:
33155 // op: offset
33156 return 12;
33157 case 1:
33158 // op: Rn
33159 return 5;
33160 case 0:
33161 // op: Rt
33162 return 0;
33163 }
33164 break;
33165 }
33166 case AArch64::ADDHA_MPPZ_D:
33167 case AArch64::ADDHA_MPPZ_S:
33168 case AArch64::ADDVA_MPPZ_D:
33169 case AArch64::ADDVA_MPPZ_S: {
33170 switch (OpNum) {
33171 case 3:
33172 // op: Pm
33173 return 13;
33174 case 2:
33175 // op: Pn
33176 return 10;
33177 case 4:
33178 // op: Zn
33179 return 5;
33180 case 0:
33181 // op: ZAda
33182 return 0;
33183 }
33184 break;
33185 }
33186 case AArch64::CPYE:
33187 case AArch64::CPYEN:
33188 case AArch64::CPYERN:
33189 case AArch64::CPYERT:
33190 case AArch64::CPYERTN:
33191 case AArch64::CPYERTRN:
33192 case AArch64::CPYERTWN:
33193 case AArch64::CPYET:
33194 case AArch64::CPYETN:
33195 case AArch64::CPYETRN:
33196 case AArch64::CPYETWN:
33197 case AArch64::CPYEWN:
33198 case AArch64::CPYEWT:
33199 case AArch64::CPYEWTN:
33200 case AArch64::CPYEWTRN:
33201 case AArch64::CPYEWTWN:
33202 case AArch64::CPYFE:
33203 case AArch64::CPYFEN:
33204 case AArch64::CPYFERN:
33205 case AArch64::CPYFERT:
33206 case AArch64::CPYFERTN:
33207 case AArch64::CPYFERTRN:
33208 case AArch64::CPYFERTWN:
33209 case AArch64::CPYFET:
33210 case AArch64::CPYFETN:
33211 case AArch64::CPYFETRN:
33212 case AArch64::CPYFETWN:
33213 case AArch64::CPYFEWN:
33214 case AArch64::CPYFEWT:
33215 case AArch64::CPYFEWTN:
33216 case AArch64::CPYFEWTRN:
33217 case AArch64::CPYFEWTWN:
33218 case AArch64::CPYFM:
33219 case AArch64::CPYFMN:
33220 case AArch64::CPYFMRN:
33221 case AArch64::CPYFMRT:
33222 case AArch64::CPYFMRTN:
33223 case AArch64::CPYFMRTRN:
33224 case AArch64::CPYFMRTWN:
33225 case AArch64::CPYFMT:
33226 case AArch64::CPYFMTN:
33227 case AArch64::CPYFMTRN:
33228 case AArch64::CPYFMTWN:
33229 case AArch64::CPYFMWN:
33230 case AArch64::CPYFMWT:
33231 case AArch64::CPYFMWTN:
33232 case AArch64::CPYFMWTRN:
33233 case AArch64::CPYFMWTWN:
33234 case AArch64::CPYFP:
33235 case AArch64::CPYFPN:
33236 case AArch64::CPYFPRN:
33237 case AArch64::CPYFPRT:
33238 case AArch64::CPYFPRTN:
33239 case AArch64::CPYFPRTRN:
33240 case AArch64::CPYFPRTWN:
33241 case AArch64::CPYFPT:
33242 case AArch64::CPYFPTN:
33243 case AArch64::CPYFPTRN:
33244 case AArch64::CPYFPTWN:
33245 case AArch64::CPYFPWN:
33246 case AArch64::CPYFPWT:
33247 case AArch64::CPYFPWTN:
33248 case AArch64::CPYFPWTRN:
33249 case AArch64::CPYFPWTWN:
33250 case AArch64::CPYM:
33251 case AArch64::CPYMN:
33252 case AArch64::CPYMRN:
33253 case AArch64::CPYMRT:
33254 case AArch64::CPYMRTN:
33255 case AArch64::CPYMRTRN:
33256 case AArch64::CPYMRTWN:
33257 case AArch64::CPYMT:
33258 case AArch64::CPYMTN:
33259 case AArch64::CPYMTRN:
33260 case AArch64::CPYMTWN:
33261 case AArch64::CPYMWN:
33262 case AArch64::CPYMWT:
33263 case AArch64::CPYMWTN:
33264 case AArch64::CPYMWTRN:
33265 case AArch64::CPYMWTWN:
33266 case AArch64::CPYP:
33267 case AArch64::CPYPN:
33268 case AArch64::CPYPRN:
33269 case AArch64::CPYPRT:
33270 case AArch64::CPYPRTN:
33271 case AArch64::CPYPRTRN:
33272 case AArch64::CPYPRTWN:
33273 case AArch64::CPYPT:
33274 case AArch64::CPYPTN:
33275 case AArch64::CPYPTRN:
33276 case AArch64::CPYPTWN:
33277 case AArch64::CPYPWN:
33278 case AArch64::CPYPWT:
33279 case AArch64::CPYPWTN:
33280 case AArch64::CPYPWTRN:
33281 case AArch64::CPYPWTWN: {
33282 switch (OpNum) {
33283 case 3:
33284 // op: Rd
33285 return 0;
33286 case 4:
33287 // op: Rs
33288 return 16;
33289 case 5:
33290 // op: Rn
33291 return 5;
33292 }
33293 break;
33294 }
33295 case AArch64::LD1B_2Z_STRIDED:
33296 case AArch64::LD1B_4Z_STRIDED:
33297 case AArch64::LD1D_2Z_STRIDED:
33298 case AArch64::LD1D_4Z_STRIDED:
33299 case AArch64::LD1H_2Z_STRIDED:
33300 case AArch64::LD1H_4Z_STRIDED:
33301 case AArch64::LD1W_2Z_STRIDED:
33302 case AArch64::LD1W_4Z_STRIDED:
33303 case AArch64::LDNT1B_2Z_STRIDED:
33304 case AArch64::LDNT1B_4Z_STRIDED:
33305 case AArch64::LDNT1D_2Z_STRIDED:
33306 case AArch64::LDNT1D_4Z_STRIDED:
33307 case AArch64::LDNT1H_2Z_STRIDED:
33308 case AArch64::LDNT1H_4Z_STRIDED:
33309 case AArch64::LDNT1W_2Z_STRIDED:
33310 case AArch64::LDNT1W_4Z_STRIDED:
33311 case AArch64::ST1B_2Z_STRIDED:
33312 case AArch64::ST1B_4Z_STRIDED:
33313 case AArch64::ST1D_2Z_STRIDED:
33314 case AArch64::ST1D_4Z_STRIDED:
33315 case AArch64::ST1H_2Z_STRIDED:
33316 case AArch64::ST1H_4Z_STRIDED:
33317 case AArch64::ST1W_2Z_STRIDED:
33318 case AArch64::ST1W_4Z_STRIDED:
33319 case AArch64::STNT1B_2Z_STRIDED:
33320 case AArch64::STNT1B_4Z_STRIDED:
33321 case AArch64::STNT1D_2Z_STRIDED:
33322 case AArch64::STNT1D_4Z_STRIDED:
33323 case AArch64::STNT1H_2Z_STRIDED:
33324 case AArch64::STNT1H_4Z_STRIDED:
33325 case AArch64::STNT1W_2Z_STRIDED:
33326 case AArch64::STNT1W_4Z_STRIDED: {
33327 switch (OpNum) {
33328 case 3:
33329 // op: Rm
33330 return 16;
33331 case 1:
33332 // op: PNg
33333 return 10;
33334 case 2:
33335 // op: Rn
33336 return 5;
33337 case 0:
33338 // op: Zt
33339 return 0;
33340 }
33341 break;
33342 }
33343 case AArch64::PRFB_PRR:
33344 case AArch64::PRFD_PRR:
33345 case AArch64::PRFH_PRR:
33346 case AArch64::PRFW_PRR: {
33347 switch (OpNum) {
33348 case 3:
33349 // op: Rm
33350 return 16;
33351 case 2:
33352 // op: Rn
33353 return 5;
33354 case 1:
33355 // op: Pg
33356 return 10;
33357 case 0:
33358 // op: prfop
33359 return 0;
33360 }
33361 break;
33362 }
33363 case AArch64::MOVAZ_ZMI_H_Q:
33364 case AArch64::MOVAZ_ZMI_V_Q: {
33365 switch (OpNum) {
33366 case 3:
33367 // op: Rs
33368 return 13;
33369 case 0:
33370 // op: Zd
33371 return 0;
33372 case 1:
33373 // op: ZAn
33374 return 5;
33375 }
33376 break;
33377 }
33378 case AArch64::MOVAZ_ZMI_H_D:
33379 case AArch64::MOVAZ_ZMI_V_D: {
33380 switch (OpNum) {
33381 case 3:
33382 // op: Rs
33383 return 13;
33384 case 0:
33385 // op: Zd
33386 return 0;
33387 case 1:
33388 // op: ZAn
33389 return 6;
33390 case 4:
33391 // op: imm
33392 return 5;
33393 }
33394 break;
33395 }
33396 case AArch64::MOVAZ_ZMI_H_S:
33397 case AArch64::MOVAZ_ZMI_V_S: {
33398 switch (OpNum) {
33399 case 3:
33400 // op: Rs
33401 return 13;
33402 case 0:
33403 // op: Zd
33404 return 0;
33405 case 1:
33406 // op: ZAn
33407 return 7;
33408 case 4:
33409 // op: imm
33410 return 5;
33411 }
33412 break;
33413 }
33414 case AArch64::MOVAZ_ZMI_H_H:
33415 case AArch64::MOVAZ_ZMI_V_H: {
33416 switch (OpNum) {
33417 case 3:
33418 // op: Rs
33419 return 13;
33420 case 0:
33421 // op: Zd
33422 return 0;
33423 case 1:
33424 // op: ZAn
33425 return 8;
33426 case 4:
33427 // op: imm
33428 return 5;
33429 }
33430 break;
33431 }
33432 case AArch64::MOVAZ_ZMI_H_B:
33433 case AArch64::MOVAZ_ZMI_V_B: {
33434 switch (OpNum) {
33435 case 3:
33436 // op: Rs
33437 return 13;
33438 case 0:
33439 // op: Zd
33440 return 0;
33441 case 4:
33442 // op: imm
33443 return 5;
33444 }
33445 break;
33446 }
33447 case AArch64::MOVAZ_VG2_2ZMXI: {
33448 switch (OpNum) {
33449 case 3:
33450 // op: Rs
33451 return 13;
33452 case 4:
33453 // op: imm
33454 return 5;
33455 case 0:
33456 // op: Zd
33457 return 1;
33458 }
33459 break;
33460 }
33461 case AArch64::MOVAZ_VG4_4ZMXI: {
33462 switch (OpNum) {
33463 case 3:
33464 // op: Rs
33465 return 13;
33466 case 4:
33467 // op: imm
33468 return 5;
33469 case 0:
33470 // op: Zd
33471 return 2;
33472 }
33473 break;
33474 }
33475 case AArch64::RCWCLRP:
33476 case AArch64::RCWCLRPA:
33477 case AArch64::RCWCLRPAL:
33478 case AArch64::RCWCLRPL:
33479 case AArch64::RCWCLRSP:
33480 case AArch64::RCWCLRSPA:
33481 case AArch64::RCWCLRSPAL:
33482 case AArch64::RCWCLRSPL:
33483 case AArch64::RCWSETP:
33484 case AArch64::RCWSETPA:
33485 case AArch64::RCWSETPAL:
33486 case AArch64::RCWSETPL:
33487 case AArch64::RCWSETSP:
33488 case AArch64::RCWSETSPA:
33489 case AArch64::RCWSETSPAL:
33490 case AArch64::RCWSETSPL:
33491 case AArch64::RCWSWPP:
33492 case AArch64::RCWSWPPA:
33493 case AArch64::RCWSWPPAL:
33494 case AArch64::RCWSWPPL:
33495 case AArch64::RCWSWPSP:
33496 case AArch64::RCWSWPSPA:
33497 case AArch64::RCWSWPSPAL:
33498 case AArch64::RCWSWPSPL: {
33499 switch (OpNum) {
33500 case 3:
33501 // op: Rt2
33502 return 16;
33503 case 4:
33504 // op: Rn
33505 return 5;
33506 case 2:
33507 // op: Rt
33508 return 0;
33509 }
33510 break;
33511 }
33512 case AArch64::PSEL_PPPRI_B: {
33513 switch (OpNum) {
33514 case 3:
33515 // op: Rv
33516 return 16;
33517 case 1:
33518 // op: Pn
33519 return 10;
33520 case 2:
33521 // op: Pm
33522 return 5;
33523 case 0:
33524 // op: Pd
33525 return 0;
33526 case 4:
33527 // op: imm
33528 return 19;
33529 }
33530 break;
33531 }
33532 case AArch64::PSEL_PPPRI_H: {
33533 switch (OpNum) {
33534 case 3:
33535 // op: Rv
33536 return 16;
33537 case 1:
33538 // op: Pn
33539 return 10;
33540 case 2:
33541 // op: Pm
33542 return 5;
33543 case 0:
33544 // op: Pd
33545 return 0;
33546 case 4:
33547 // op: imm
33548 return 20;
33549 }
33550 break;
33551 }
33552 case AArch64::PSEL_PPPRI_S: {
33553 switch (OpNum) {
33554 case 3:
33555 // op: Rv
33556 return 16;
33557 case 1:
33558 // op: Pn
33559 return 10;
33560 case 2:
33561 // op: Pm
33562 return 5;
33563 case 0:
33564 // op: Pd
33565 return 0;
33566 case 4:
33567 // op: imm
33568 return 22;
33569 }
33570 break;
33571 }
33572 case AArch64::PSEL_PPPRI_D: {
33573 switch (OpNum) {
33574 case 3:
33575 // op: Rv
33576 return 16;
33577 case 1:
33578 // op: Pn
33579 return 10;
33580 case 2:
33581 // op: Pm
33582 return 5;
33583 case 0:
33584 // op: Pd
33585 return 0;
33586 case 4:
33587 // op: imm
33588 return 23;
33589 }
33590 break;
33591 }
33592 case AArch64::BFCLAMP_ZZZ:
33593 case AArch64::FCLAMP_ZZZ_D:
33594 case AArch64::FCLAMP_ZZZ_H:
33595 case AArch64::FCLAMP_ZZZ_S:
33596 case AArch64::SCLAMP_ZZZ_B:
33597 case AArch64::SCLAMP_ZZZ_D:
33598 case AArch64::SCLAMP_ZZZ_H:
33599 case AArch64::SCLAMP_ZZZ_S:
33600 case AArch64::UCLAMP_ZZZ_B:
33601 case AArch64::UCLAMP_ZZZ_D:
33602 case AArch64::UCLAMP_ZZZ_H:
33603 case AArch64::UCLAMP_ZZZ_S: {
33604 switch (OpNum) {
33605 case 3:
33606 // op: Zm
33607 return 16;
33608 case 2:
33609 // op: Zn
33610 return 5;
33611 case 0:
33612 // op: Zd
33613 return 0;
33614 }
33615 break;
33616 }
33617 case AArch64::BFCLAMP_VG2_2ZZZ_H:
33618 case AArch64::FCLAMP_VG2_2Z2Z_D:
33619 case AArch64::FCLAMP_VG2_2Z2Z_H:
33620 case AArch64::FCLAMP_VG2_2Z2Z_S:
33621 case AArch64::SCLAMP_VG2_2Z2Z_B:
33622 case AArch64::SCLAMP_VG2_2Z2Z_D:
33623 case AArch64::SCLAMP_VG2_2Z2Z_H:
33624 case AArch64::SCLAMP_VG2_2Z2Z_S:
33625 case AArch64::UCLAMP_VG2_2Z2Z_B:
33626 case AArch64::UCLAMP_VG2_2Z2Z_D:
33627 case AArch64::UCLAMP_VG2_2Z2Z_H:
33628 case AArch64::UCLAMP_VG2_2Z2Z_S: {
33629 switch (OpNum) {
33630 case 3:
33631 // op: Zm
33632 return 16;
33633 case 2:
33634 // op: Zn
33635 return 5;
33636 case 0:
33637 // op: Zd
33638 return 1;
33639 }
33640 break;
33641 }
33642 case AArch64::BFCLAMP_VG4_4ZZZ_H:
33643 case AArch64::FCLAMP_VG4_4Z4Z_D:
33644 case AArch64::FCLAMP_VG4_4Z4Z_H:
33645 case AArch64::FCLAMP_VG4_4Z4Z_S:
33646 case AArch64::SCLAMP_VG4_4Z4Z_B:
33647 case AArch64::SCLAMP_VG4_4Z4Z_D:
33648 case AArch64::SCLAMP_VG4_4Z4Z_H:
33649 case AArch64::SCLAMP_VG4_4Z4Z_S:
33650 case AArch64::UCLAMP_VG4_4Z4Z_B:
33651 case AArch64::UCLAMP_VG4_4Z4Z_D:
33652 case AArch64::UCLAMP_VG4_4Z4Z_H:
33653 case AArch64::UCLAMP_VG4_4Z4Z_S: {
33654 switch (OpNum) {
33655 case 3:
33656 // op: Zm
33657 return 16;
33658 case 2:
33659 // op: Zn
33660 return 5;
33661 case 0:
33662 // op: Zd
33663 return 2;
33664 }
33665 break;
33666 }
33667 case AArch64::PMLAL_2ZZZ_Q: {
33668 switch (OpNum) {
33669 case 3:
33670 // op: Zm
33671 return 16;
33672 case 2:
33673 // op: Zn
33674 return 5;
33675 case 0:
33676 // op: Zda
33677 return 1;
33678 }
33679 break;
33680 }
33681 case AArch64::LD1B_2Z_STRIDED_IMM:
33682 case AArch64::LD1B_4Z_STRIDED_IMM:
33683 case AArch64::LD1D_2Z_STRIDED_IMM:
33684 case AArch64::LD1D_4Z_STRIDED_IMM:
33685 case AArch64::LD1H_2Z_STRIDED_IMM:
33686 case AArch64::LD1H_4Z_STRIDED_IMM:
33687 case AArch64::LD1W_2Z_STRIDED_IMM:
33688 case AArch64::LD1W_4Z_STRIDED_IMM:
33689 case AArch64::LDNT1B_2Z_STRIDED_IMM:
33690 case AArch64::LDNT1B_4Z_STRIDED_IMM:
33691 case AArch64::LDNT1D_2Z_STRIDED_IMM:
33692 case AArch64::LDNT1D_4Z_STRIDED_IMM:
33693 case AArch64::LDNT1H_2Z_STRIDED_IMM:
33694 case AArch64::LDNT1H_4Z_STRIDED_IMM:
33695 case AArch64::LDNT1W_2Z_STRIDED_IMM:
33696 case AArch64::LDNT1W_4Z_STRIDED_IMM:
33697 case AArch64::ST1B_2Z_STRIDED_IMM:
33698 case AArch64::ST1B_4Z_STRIDED_IMM:
33699 case AArch64::ST1D_2Z_STRIDED_IMM:
33700 case AArch64::ST1D_4Z_STRIDED_IMM:
33701 case AArch64::ST1H_2Z_STRIDED_IMM:
33702 case AArch64::ST1H_4Z_STRIDED_IMM:
33703 case AArch64::ST1W_2Z_STRIDED_IMM:
33704 case AArch64::ST1W_4Z_STRIDED_IMM:
33705 case AArch64::STNT1B_2Z_STRIDED_IMM:
33706 case AArch64::STNT1B_4Z_STRIDED_IMM:
33707 case AArch64::STNT1D_2Z_STRIDED_IMM:
33708 case AArch64::STNT1D_4Z_STRIDED_IMM:
33709 case AArch64::STNT1H_2Z_STRIDED_IMM:
33710 case AArch64::STNT1H_4Z_STRIDED_IMM:
33711 case AArch64::STNT1W_2Z_STRIDED_IMM:
33712 case AArch64::STNT1W_4Z_STRIDED_IMM: {
33713 switch (OpNum) {
33714 case 3:
33715 // op: imm4
33716 return 16;
33717 case 1:
33718 // op: PNg
33719 return 10;
33720 case 2:
33721 // op: Rn
33722 return 5;
33723 case 0:
33724 // op: Zt
33725 return 0;
33726 }
33727 break;
33728 }
33729 case AArch64::LDRAAwriteback:
33730 case AArch64::LDRABwriteback: {
33731 switch (OpNum) {
33732 case 3:
33733 // op: offset
33734 return 12;
33735 case 2:
33736 // op: Rn
33737 return 5;
33738 case 1:
33739 // op: Rt
33740 return 0;
33741 }
33742 break;
33743 }
33744 case AArch64::SYSPxt:
33745 case AArch64::SYSxt: {
33746 switch (OpNum) {
33747 case 4:
33748 // op: Rt
33749 return 0;
33750 case 0:
33751 // op: op1
33752 return 16;
33753 case 1:
33754 // op: Cn
33755 return 12;
33756 case 2:
33757 // op: Cm
33758 return 8;
33759 case 3:
33760 // op: op2
33761 return 5;
33762 }
33763 break;
33764 }
33765 case AArch64::EXTRACT_ZPMXI_H_Q:
33766 case AArch64::EXTRACT_ZPMXI_V_Q: {
33767 switch (OpNum) {
33768 case 4:
33769 // op: Rv
33770 return 13;
33771 case 2:
33772 // op: Pg
33773 return 10;
33774 case 0:
33775 // op: Zd
33776 return 0;
33777 case 3:
33778 // op: ZAn
33779 return 5;
33780 }
33781 break;
33782 }
33783 case AArch64::EXTRACT_ZPMXI_H_D:
33784 case AArch64::EXTRACT_ZPMXI_V_D: {
33785 switch (OpNum) {
33786 case 4:
33787 // op: Rv
33788 return 13;
33789 case 2:
33790 // op: Pg
33791 return 10;
33792 case 0:
33793 // op: Zd
33794 return 0;
33795 case 3:
33796 // op: ZAn
33797 return 6;
33798 case 5:
33799 // op: imm
33800 return 5;
33801 }
33802 break;
33803 }
33804 case AArch64::EXTRACT_ZPMXI_H_S:
33805 case AArch64::EXTRACT_ZPMXI_V_S: {
33806 switch (OpNum) {
33807 case 4:
33808 // op: Rv
33809 return 13;
33810 case 2:
33811 // op: Pg
33812 return 10;
33813 case 0:
33814 // op: Zd
33815 return 0;
33816 case 3:
33817 // op: ZAn
33818 return 7;
33819 case 5:
33820 // op: imm
33821 return 5;
33822 }
33823 break;
33824 }
33825 case AArch64::EXTRACT_ZPMXI_H_H:
33826 case AArch64::EXTRACT_ZPMXI_V_H: {
33827 switch (OpNum) {
33828 case 4:
33829 // op: Rv
33830 return 13;
33831 case 2:
33832 // op: Pg
33833 return 10;
33834 case 0:
33835 // op: Zd
33836 return 0;
33837 case 3:
33838 // op: ZAn
33839 return 8;
33840 case 5:
33841 // op: imm
33842 return 5;
33843 }
33844 break;
33845 }
33846 case AArch64::EXTRACT_ZPMXI_H_B:
33847 case AArch64::EXTRACT_ZPMXI_V_B: {
33848 switch (OpNum) {
33849 case 4:
33850 // op: Rv
33851 return 13;
33852 case 2:
33853 // op: Pg
33854 return 10;
33855 case 0:
33856 // op: Zd
33857 return 0;
33858 case 5:
33859 // op: imm
33860 return 5;
33861 }
33862 break;
33863 }
33864 case AArch64::LD1_MXIPXX_H_Q:
33865 case AArch64::LD1_MXIPXX_V_Q:
33866 case AArch64::ST1_MXIPXX_H_Q:
33867 case AArch64::ST1_MXIPXX_V_Q: {
33868 switch (OpNum) {
33869 case 5:
33870 // op: Rm
33871 return 16;
33872 case 1:
33873 // op: Rv
33874 return 13;
33875 case 3:
33876 // op: Pg
33877 return 10;
33878 case 4:
33879 // op: Rn
33880 return 5;
33881 case 0:
33882 // op: ZAt
33883 return 0;
33884 }
33885 break;
33886 }
33887 case AArch64::LD1_MXIPXX_H_D:
33888 case AArch64::LD1_MXIPXX_V_D:
33889 case AArch64::ST1_MXIPXX_H_D:
33890 case AArch64::ST1_MXIPXX_V_D: {
33891 switch (OpNum) {
33892 case 5:
33893 // op: Rm
33894 return 16;
33895 case 1:
33896 // op: Rv
33897 return 13;
33898 case 3:
33899 // op: Pg
33900 return 10;
33901 case 4:
33902 // op: Rn
33903 return 5;
33904 case 0:
33905 // op: ZAt
33906 return 1;
33907 case 2:
33908 // op: imm
33909 return 0;
33910 }
33911 break;
33912 }
33913 case AArch64::LD1_MXIPXX_H_S:
33914 case AArch64::LD1_MXIPXX_V_S:
33915 case AArch64::ST1_MXIPXX_H_S:
33916 case AArch64::ST1_MXIPXX_V_S: {
33917 switch (OpNum) {
33918 case 5:
33919 // op: Rm
33920 return 16;
33921 case 1:
33922 // op: Rv
33923 return 13;
33924 case 3:
33925 // op: Pg
33926 return 10;
33927 case 4:
33928 // op: Rn
33929 return 5;
33930 case 0:
33931 // op: ZAt
33932 return 2;
33933 case 2:
33934 // op: imm
33935 return 0;
33936 }
33937 break;
33938 }
33939 case AArch64::LD1_MXIPXX_H_H:
33940 case AArch64::LD1_MXIPXX_V_H:
33941 case AArch64::ST1_MXIPXX_H_H:
33942 case AArch64::ST1_MXIPXX_V_H: {
33943 switch (OpNum) {
33944 case 5:
33945 // op: Rm
33946 return 16;
33947 case 1:
33948 // op: Rv
33949 return 13;
33950 case 3:
33951 // op: Pg
33952 return 10;
33953 case 4:
33954 // op: Rn
33955 return 5;
33956 case 0:
33957 // op: ZAt
33958 return 3;
33959 case 2:
33960 // op: imm
33961 return 0;
33962 }
33963 break;
33964 }
33965 case AArch64::LD1_MXIPXX_H_B:
33966 case AArch64::LD1_MXIPXX_V_B:
33967 case AArch64::ST1_MXIPXX_H_B:
33968 case AArch64::ST1_MXIPXX_V_B: {
33969 switch (OpNum) {
33970 case 5:
33971 // op: Rm
33972 return 16;
33973 case 1:
33974 // op: Rv
33975 return 13;
33976 case 3:
33977 // op: Pg
33978 return 10;
33979 case 4:
33980 // op: Rn
33981 return 5;
33982 case 2:
33983 // op: imm
33984 return 0;
33985 }
33986 break;
33987 }
33988 case AArch64::FMLALL_MZZ_BtoS:
33989 case AArch64::FMLALL_VG2_M2ZZ_BtoS:
33990 case AArch64::FMLALL_VG4_M4ZZ_BtoS:
33991 case AArch64::SMLALL_MZZ_BtoS:
33992 case AArch64::SMLALL_MZZ_HtoD:
33993 case AArch64::SMLALL_VG2_M2ZZ_BtoS:
33994 case AArch64::SMLALL_VG2_M2ZZ_HtoD:
33995 case AArch64::SMLALL_VG4_M4ZZ_BtoS:
33996 case AArch64::SMLALL_VG4_M4ZZ_HtoD:
33997 case AArch64::SMLSLL_MZZ_BtoS:
33998 case AArch64::SMLSLL_MZZ_HtoD:
33999 case AArch64::SMLSLL_VG2_M2ZZ_BtoS:
34000 case AArch64::SMLSLL_VG2_M2ZZ_HtoD:
34001 case AArch64::SMLSLL_VG4_M4ZZ_BtoS:
34002 case AArch64::SMLSLL_VG4_M4ZZ_HtoD:
34003 case AArch64::SUMLALL_VG2_M2ZZ_BtoS:
34004 case AArch64::SUMLALL_VG4_M4ZZ_BtoS:
34005 case AArch64::UMLALL_MZZ_BtoS:
34006 case AArch64::UMLALL_MZZ_HtoD:
34007 case AArch64::UMLALL_VG2_M2ZZ_BtoS:
34008 case AArch64::UMLALL_VG2_M2ZZ_HtoD:
34009 case AArch64::UMLALL_VG4_M4ZZ_BtoS:
34010 case AArch64::UMLALL_VG4_M4ZZ_HtoD:
34011 case AArch64::UMLSLL_MZZ_BtoS:
34012 case AArch64::UMLSLL_MZZ_HtoD:
34013 case AArch64::UMLSLL_VG2_M2ZZ_BtoS:
34014 case AArch64::UMLSLL_VG2_M2ZZ_HtoD:
34015 case AArch64::UMLSLL_VG4_M4ZZ_BtoS:
34016 case AArch64::UMLSLL_VG4_M4ZZ_HtoD:
34017 case AArch64::USMLALL_MZZ_BtoS:
34018 case AArch64::USMLALL_VG2_M2ZZ_BtoS:
34019 case AArch64::USMLALL_VG4_M4ZZ_BtoS: {
34020 switch (OpNum) {
34021 case 5:
34022 // op: Zm
34023 return 16;
34024 case 2:
34025 // op: Rv
34026 return 13;
34027 case 4:
34028 // op: Zn
34029 return 5;
34030 case 3:
34031 // op: imm
34032 return 0;
34033 }
34034 break;
34035 }
34036 case AArch64::BFDOT_VG2_M2ZZI_HtoS:
34037 case AArch64::BFVDOT_VG2_M2ZZI_HtoS:
34038 case AArch64::FDOT_VG2_M2ZZI_BtoS:
34039 case AArch64::FDOT_VG2_M2ZZI_HtoS:
34040 case AArch64::FMLA_VG2_M2ZZI_S:
34041 case AArch64::FMLS_VG2_M2ZZI_S:
34042 case AArch64::FVDOT_VG2_M2ZZI_HtoS:
34043 case AArch64::SDOT_VG2_M2ZZI_BToS:
34044 case AArch64::SDOT_VG2_M2ZZI_HToS:
34045 case AArch64::SUDOT_VG2_M2ZZI_BToS:
34046 case AArch64::SVDOT_VG2_M2ZZI_HtoS:
34047 case AArch64::UDOT_VG2_M2ZZI_BToS:
34048 case AArch64::UDOT_VG2_M2ZZI_HToS:
34049 case AArch64::USDOT_VG2_M2ZZI_BToS:
34050 case AArch64::UVDOT_VG2_M2ZZI_HtoS: {
34051 switch (OpNum) {
34052 case 5:
34053 // op: Zm
34054 return 16;
34055 case 2:
34056 // op: Rv
34057 return 13;
34058 case 4:
34059 // op: Zn
34060 return 6;
34061 case 3:
34062 // op: imm3
34063 return 0;
34064 case 6:
34065 // op: i
34066 return 10;
34067 }
34068 break;
34069 }
34070 case AArch64::BFMLA_VG2_M2ZZI:
34071 case AArch64::BFMLS_VG2_M2ZZI:
34072 case AArch64::FDOT_VG2_M2ZZI_BtoH:
34073 case AArch64::FMLA_VG2_M2ZZI_H:
34074 case AArch64::FMLS_VG2_M2ZZI_H:
34075 case AArch64::FVDOTB_VG4_M2ZZI_BtoS:
34076 case AArch64::FVDOTT_VG4_M2ZZI_BtoS:
34077 case AArch64::FVDOT_VG2_M2ZZI_BtoH: {
34078 switch (OpNum) {
34079 case 5:
34080 // op: Zm
34081 return 16;
34082 case 2:
34083 // op: Rv
34084 return 13;
34085 case 4:
34086 // op: Zn
34087 return 6;
34088 case 3:
34089 // op: imm3
34090 return 0;
34091 case 6:
34092 // op: i
34093 return 3;
34094 }
34095 break;
34096 }
34097 case AArch64::BFDOT_VG4_M4ZZI_HtoS:
34098 case AArch64::FDOT_VG4_M4ZZI_BtoS:
34099 case AArch64::FDOT_VG4_M4ZZI_HtoS:
34100 case AArch64::FMLA_VG4_M4ZZI_S:
34101 case AArch64::FMLS_VG4_M4ZZI_S:
34102 case AArch64::SDOT_VG4_M4ZZI_BToS:
34103 case AArch64::SDOT_VG4_M4ZZI_HToS:
34104 case AArch64::SUDOT_VG4_M4ZZI_BToS:
34105 case AArch64::SUVDOT_VG4_M4ZZI_BToS:
34106 case AArch64::SVDOT_VG4_M4ZZI_BtoS:
34107 case AArch64::UDOT_VG4_M4ZZI_BtoS:
34108 case AArch64::UDOT_VG4_M4ZZI_HToS:
34109 case AArch64::USDOT_VG4_M4ZZI_BToS:
34110 case AArch64::USVDOT_VG4_M4ZZI_BToS:
34111 case AArch64::UVDOT_VG4_M4ZZI_BtoS: {
34112 switch (OpNum) {
34113 case 5:
34114 // op: Zm
34115 return 16;
34116 case 2:
34117 // op: Rv
34118 return 13;
34119 case 4:
34120 // op: Zn
34121 return 7;
34122 case 3:
34123 // op: imm3
34124 return 0;
34125 case 6:
34126 // op: i
34127 return 10;
34128 }
34129 break;
34130 }
34131 case AArch64::BFMLA_VG4_M4ZZI:
34132 case AArch64::BFMLS_VG4_M4ZZI:
34133 case AArch64::FDOT_VG4_M4ZZI_BtoH:
34134 case AArch64::FMLA_VG4_M4ZZI_H:
34135 case AArch64::FMLS_VG4_M4ZZI_H: {
34136 switch (OpNum) {
34137 case 5:
34138 // op: Zm
34139 return 16;
34140 case 2:
34141 // op: Rv
34142 return 13;
34143 case 4:
34144 // op: Zn
34145 return 7;
34146 case 3:
34147 // op: imm3
34148 return 0;
34149 case 6:
34150 // op: i
34151 return 3;
34152 }
34153 break;
34154 }
34155 case AArch64::FMLALL_MZZI_BtoS:
34156 case AArch64::SMLALL_MZZI_BtoS:
34157 case AArch64::SMLALL_MZZI_HtoD:
34158 case AArch64::SMLSLL_MZZI_BtoS:
34159 case AArch64::SMLSLL_MZZI_HtoD:
34160 case AArch64::SUMLALL_MZZI_BtoS:
34161 case AArch64::UMLALL_MZZI_BtoS:
34162 case AArch64::UMLALL_MZZI_HtoD:
34163 case AArch64::UMLSLL_MZZI_BtoS:
34164 case AArch64::UMLSLL_MZZI_HtoD:
34165 case AArch64::USMLALL_MZZI_BtoS: {
34166 switch (OpNum) {
34167 case 5:
34168 // op: Zm
34169 return 16;
34170 case 2:
34171 // op: Rv
34172 return 13;
34173 case 6:
34174 // op: i
34175 return 10;
34176 case 4:
34177 // op: Zn
34178 return 5;
34179 case 3:
34180 // op: imm2
34181 return 0;
34182 }
34183 break;
34184 }
34185 case AArch64::FMLALL_VG2_M2ZZI_BtoS:
34186 case AArch64::SMLALL_VG2_M2ZZI_BtoS:
34187 case AArch64::SMLALL_VG2_M2ZZI_HtoD:
34188 case AArch64::SMLSLL_VG2_M2ZZI_BtoS:
34189 case AArch64::SMLSLL_VG2_M2ZZI_HtoD:
34190 case AArch64::SUMLALL_VG2_M2ZZI_BtoS:
34191 case AArch64::UMLALL_VG2_M2ZZI_BtoS:
34192 case AArch64::UMLALL_VG2_M2ZZI_HtoD:
34193 case AArch64::UMLSLL_VG2_M2ZZI_BtoS:
34194 case AArch64::UMLSLL_VG2_M2ZZI_HtoD:
34195 case AArch64::USMLALL_VG2_M2ZZI_BtoS: {
34196 switch (OpNum) {
34197 case 5:
34198 // op: Zm
34199 return 16;
34200 case 2:
34201 // op: Rv
34202 return 13;
34203 case 6:
34204 // op: i
34205 return 1;
34206 case 3:
34207 // op: imm
34208 return 0;
34209 case 4:
34210 // op: Zn
34211 return 6;
34212 }
34213 break;
34214 }
34215 case AArch64::FMLALL_VG4_M4ZZI_BtoS:
34216 case AArch64::SMLALL_VG4_M4ZZI_BtoS:
34217 case AArch64::SMLALL_VG4_M4ZZI_HtoD:
34218 case AArch64::SMLSLL_VG4_M4ZZI_BtoS:
34219 case AArch64::SMLSLL_VG4_M4ZZI_HtoD:
34220 case AArch64::SUMLALL_VG4_M4ZZI_BtoS:
34221 case AArch64::UMLALL_VG4_M4ZZI_BtoS:
34222 case AArch64::UMLALL_VG4_M4ZZI_HtoD:
34223 case AArch64::UMLSLL_VG4_M4ZZI_BtoS:
34224 case AArch64::UMLSLL_VG4_M4ZZI_HtoD:
34225 case AArch64::USMLALL_VG4_M4ZZI_BtoS: {
34226 switch (OpNum) {
34227 case 5:
34228 // op: Zm
34229 return 16;
34230 case 2:
34231 // op: Rv
34232 return 13;
34233 case 6:
34234 // op: i
34235 return 1;
34236 case 3:
34237 // op: imm
34238 return 0;
34239 case 4:
34240 // op: Zn
34241 return 7;
34242 }
34243 break;
34244 }
34245 case AArch64::FMLAL_VG2_M2ZZI_BtoH: {
34246 switch (OpNum) {
34247 case 5:
34248 // op: Zm
34249 return 16;
34250 case 2:
34251 // op: Rv
34252 return 13;
34253 case 6:
34254 // op: i
34255 return 2;
34256 case 3:
34257 // op: imm2
34258 return 0;
34259 case 4:
34260 // op: Zn
34261 return 6;
34262 }
34263 break;
34264 }
34265 case AArch64::FMLAL_VG4_M4ZZI_BtoH: {
34266 switch (OpNum) {
34267 case 5:
34268 // op: Zm
34269 return 16;
34270 case 2:
34271 // op: Rv
34272 return 13;
34273 case 6:
34274 // op: i
34275 return 2;
34276 case 3:
34277 // op: imm2
34278 return 0;
34279 case 4:
34280 // op: Zn
34281 return 7;
34282 }
34283 break;
34284 }
34285 case AArch64::FMLAL_MZZI_BtoH: {
34286 switch (OpNum) {
34287 case 5:
34288 // op: Zm
34289 return 16;
34290 case 2:
34291 // op: Rv
34292 return 13;
34293 case 6:
34294 // op: i
34295 return 3;
34296 case 4:
34297 // op: Zn
34298 return 5;
34299 case 3:
34300 // op: imm3
34301 return 0;
34302 }
34303 break;
34304 }
34305 case AArch64::FMLA_VG2_M2ZZI_D:
34306 case AArch64::FMLS_VG2_M2ZZI_D:
34307 case AArch64::SDOT_VG2_M2ZZI_HtoD:
34308 case AArch64::UDOT_VG2_M2ZZI_HtoD: {
34309 switch (OpNum) {
34310 case 5:
34311 // op: Zm
34312 return 16;
34313 case 2:
34314 // op: Rv
34315 return 13;
34316 case 6:
34317 // op: i1
34318 return 10;
34319 case 4:
34320 // op: Zn
34321 return 6;
34322 case 3:
34323 // op: imm3
34324 return 0;
34325 }
34326 break;
34327 }
34328 case AArch64::FMLA_VG4_M4ZZI_D:
34329 case AArch64::FMLS_VG4_M4ZZI_D:
34330 case AArch64::SDOT_VG4_M4ZZI_HtoD:
34331 case AArch64::SVDOT_VG4_M4ZZI_HtoD:
34332 case AArch64::UDOT_VG4_M4ZZI_HtoD:
34333 case AArch64::UVDOT_VG4_M4ZZI_HtoD: {
34334 switch (OpNum) {
34335 case 5:
34336 // op: Zm
34337 return 16;
34338 case 2:
34339 // op: Rv
34340 return 13;
34341 case 6:
34342 // op: i1
34343 return 10;
34344 case 4:
34345 // op: Zn
34346 return 7;
34347 case 3:
34348 // op: imm3
34349 return 0;
34350 }
34351 break;
34352 }
34353 case AArch64::BFMLAL_MZZI_HtoS:
34354 case AArch64::BFMLSL_MZZI_HtoS:
34355 case AArch64::FMLAL_MZZI_HtoS:
34356 case AArch64::FMLSL_MZZI_HtoS:
34357 case AArch64::SMLAL_MZZI_HtoS:
34358 case AArch64::SMLSL_MZZI_HtoS:
34359 case AArch64::UMLAL_MZZI_HtoS:
34360 case AArch64::UMLSL_MZZI_HtoS: {
34361 switch (OpNum) {
34362 case 5:
34363 // op: Zm
34364 return 16;
34365 case 2:
34366 // op: Rv
34367 return 13;
34368 case 6:
34369 // op: i3
34370 return 10;
34371 case 4:
34372 // op: Zn
34373 return 5;
34374 case 3:
34375 // op: imm
34376 return 0;
34377 }
34378 break;
34379 }
34380 case AArch64::BFMLAL_VG2_M2ZZI_HtoS:
34381 case AArch64::BFMLSL_VG2_M2ZZI_HtoS:
34382 case AArch64::FMLAL_VG2_M2ZZI_HtoS:
34383 case AArch64::FMLSL_VG2_M2ZZI_HtoS:
34384 case AArch64::SMLAL_VG2_M2ZZI_S:
34385 case AArch64::SMLSL_VG2_M2ZZI_S:
34386 case AArch64::UMLAL_VG2_M2ZZI_S:
34387 case AArch64::UMLSL_VG2_M2ZZI_S: {
34388 switch (OpNum) {
34389 case 5:
34390 // op: Zm
34391 return 16;
34392 case 2:
34393 // op: Rv
34394 return 13;
34395 case 6:
34396 // op: i3
34397 return 2;
34398 case 4:
34399 // op: Zn
34400 return 6;
34401 case 3:
34402 // op: imm
34403 return 0;
34404 }
34405 break;
34406 }
34407 case AArch64::BFMLAL_VG4_M4ZZI_HtoS:
34408 case AArch64::BFMLSL_VG4_M4ZZI_HtoS:
34409 case AArch64::FMLAL_VG4_M4ZZI_HtoS:
34410 case AArch64::FMLSL_VG4_M4ZZI_HtoS:
34411 case AArch64::SMLAL_VG4_M4ZZI_HtoS:
34412 case AArch64::SMLSL_VG4_M4ZZI_HtoS:
34413 case AArch64::UMLAL_VG4_M4ZZI_HtoS:
34414 case AArch64::UMLSL_VG4_M4ZZI_HtoS: {
34415 switch (OpNum) {
34416 case 5:
34417 // op: Zm
34418 return 16;
34419 case 2:
34420 // op: Rv
34421 return 13;
34422 case 6:
34423 // op: i3
34424 return 2;
34425 case 4:
34426 // op: Zn
34427 return 7;
34428 case 3:
34429 // op: imm
34430 return 0;
34431 }
34432 break;
34433 }
34434 case AArch64::BFMOPA_MPPZZ:
34435 case AArch64::BFMOPA_MPPZZ_H:
34436 case AArch64::BFMOPS_MPPZZ:
34437 case AArch64::BFMOPS_MPPZZ_H:
34438 case AArch64::BMOPA_MPPZZ_S:
34439 case AArch64::BMOPS_MPPZZ_S:
34440 case AArch64::FMOPAL_MPPZZ:
34441 case AArch64::FMOPA_MPPZZ_BtoH:
34442 case AArch64::FMOPA_MPPZZ_BtoS:
34443 case AArch64::FMOPA_MPPZZ_D:
34444 case AArch64::FMOPA_MPPZZ_H:
34445 case AArch64::FMOPA_MPPZZ_S:
34446 case AArch64::FMOPSL_MPPZZ:
34447 case AArch64::FMOPS_MPPZZ_D:
34448 case AArch64::FMOPS_MPPZZ_H:
34449 case AArch64::FMOPS_MPPZZ_S:
34450 case AArch64::SMOPA_MPPZZ_D:
34451 case AArch64::SMOPA_MPPZZ_HtoS:
34452 case AArch64::SMOPA_MPPZZ_S:
34453 case AArch64::SMOPS_MPPZZ_D:
34454 case AArch64::SMOPS_MPPZZ_HtoS:
34455 case AArch64::SMOPS_MPPZZ_S:
34456 case AArch64::SUMOPA_MPPZZ_D:
34457 case AArch64::SUMOPA_MPPZZ_S:
34458 case AArch64::SUMOPS_MPPZZ_D:
34459 case AArch64::SUMOPS_MPPZZ_S:
34460 case AArch64::UMOPA_MPPZZ_D:
34461 case AArch64::UMOPA_MPPZZ_HtoS:
34462 case AArch64::UMOPA_MPPZZ_S:
34463 case AArch64::UMOPS_MPPZZ_D:
34464 case AArch64::UMOPS_MPPZZ_HtoS:
34465 case AArch64::UMOPS_MPPZZ_S:
34466 case AArch64::USMOPA_MPPZZ_D:
34467 case AArch64::USMOPA_MPPZZ_S:
34468 case AArch64::USMOPS_MPPZZ_D:
34469 case AArch64::USMOPS_MPPZZ_S: {
34470 switch (OpNum) {
34471 case 5:
34472 // op: Zm
34473 return 16;
34474 case 3:
34475 // op: Pm
34476 return 13;
34477 case 2:
34478 // op: Pn
34479 return 10;
34480 case 4:
34481 // op: Zn
34482 return 5;
34483 case 0:
34484 // op: ZAda
34485 return 0;
34486 }
34487 break;
34488 }
34489 case AArch64::ADD_VG2_M2ZZ_D:
34490 case AArch64::ADD_VG2_M2ZZ_S:
34491 case AArch64::ADD_VG4_M4ZZ_D:
34492 case AArch64::ADD_VG4_M4ZZ_S:
34493 case AArch64::BFDOT_VG2_M2ZZ_HtoS:
34494 case AArch64::BFDOT_VG4_M4ZZ_HtoS:
34495 case AArch64::BFMLA_VG2_M2ZZ:
34496 case AArch64::BFMLA_VG4_M4ZZ:
34497 case AArch64::BFMLS_VG2_M2ZZ:
34498 case AArch64::BFMLS_VG4_M4ZZ:
34499 case AArch64::FDOT_VG2_M2ZZ_BtoH:
34500 case AArch64::FDOT_VG2_M2ZZ_BtoS:
34501 case AArch64::FDOT_VG2_M2ZZ_HtoS:
34502 case AArch64::FDOT_VG4_M4ZZ_BtoH:
34503 case AArch64::FDOT_VG4_M4ZZ_BtoS:
34504 case AArch64::FDOT_VG4_M4ZZ_HtoS:
34505 case AArch64::FMLA_VG2_M2ZZ_D:
34506 case AArch64::FMLA_VG2_M2ZZ_H:
34507 case AArch64::FMLA_VG2_M2ZZ_S:
34508 case AArch64::FMLA_VG4_M4ZZ_D:
34509 case AArch64::FMLA_VG4_M4ZZ_H:
34510 case AArch64::FMLA_VG4_M4ZZ_S:
34511 case AArch64::FMLS_VG2_M2ZZ_D:
34512 case AArch64::FMLS_VG2_M2ZZ_H:
34513 case AArch64::FMLS_VG2_M2ZZ_S:
34514 case AArch64::FMLS_VG4_M4ZZ_D:
34515 case AArch64::FMLS_VG4_M4ZZ_H:
34516 case AArch64::FMLS_VG4_M4ZZ_S:
34517 case AArch64::SDOT_VG2_M2ZZ_BtoS:
34518 case AArch64::SDOT_VG2_M2ZZ_HtoD:
34519 case AArch64::SDOT_VG2_M2ZZ_HtoS:
34520 case AArch64::SDOT_VG4_M4ZZ_BtoS:
34521 case AArch64::SDOT_VG4_M4ZZ_HtoD:
34522 case AArch64::SDOT_VG4_M4ZZ_HtoS:
34523 case AArch64::SUB_VG2_M2ZZ_D:
34524 case AArch64::SUB_VG2_M2ZZ_S:
34525 case AArch64::SUB_VG4_M4ZZ_D:
34526 case AArch64::SUB_VG4_M4ZZ_S:
34527 case AArch64::SUDOT_VG2_M2ZZ_BToS:
34528 case AArch64::SUDOT_VG4_M4ZZ_BToS:
34529 case AArch64::UDOT_VG2_M2ZZ_BtoS:
34530 case AArch64::UDOT_VG2_M2ZZ_HtoD:
34531 case AArch64::UDOT_VG2_M2ZZ_HtoS:
34532 case AArch64::UDOT_VG4_M4ZZ_BtoS:
34533 case AArch64::UDOT_VG4_M4ZZ_HtoD:
34534 case AArch64::UDOT_VG4_M4ZZ_HtoS:
34535 case AArch64::USDOT_VG2_M2ZZ_BToS:
34536 case AArch64::USDOT_VG4_M4ZZ_BToS: {
34537 switch (OpNum) {
34538 case 5:
34539 // op: Zm
34540 return 16;
34541 case 4:
34542 // op: Zn
34543 return 5;
34544 case 2:
34545 // op: Rv
34546 return 13;
34547 case 3:
34548 // op: imm3
34549 return 0;
34550 }
34551 break;
34552 }
34553 case AArch64::FMLALL_VG2_M2Z2Z_BtoS:
34554 case AArch64::SMLALL_VG2_M2Z2Z_BtoS:
34555 case AArch64::SMLALL_VG2_M2Z2Z_HtoD:
34556 case AArch64::SMLSLL_VG2_M2Z2Z_BtoS:
34557 case AArch64::SMLSLL_VG2_M2Z2Z_HtoD:
34558 case AArch64::UMLALL_VG2_M2Z2Z_BtoS:
34559 case AArch64::UMLALL_VG2_M2Z2Z_HtoD:
34560 case AArch64::UMLSLL_VG2_M2Z2Z_BtoS:
34561 case AArch64::UMLSLL_VG2_M2Z2Z_HtoD:
34562 case AArch64::USMLALL_VG2_M2Z2Z_BtoS: {
34563 switch (OpNum) {
34564 case 5:
34565 // op: Zm
34566 return 17;
34567 case 2:
34568 // op: Rv
34569 return 13;
34570 case 4:
34571 // op: Zn
34572 return 6;
34573 case 3:
34574 // op: imm
34575 return 0;
34576 }
34577 break;
34578 }
34579 case AArch64::ADD_VG2_M2Z2Z_D:
34580 case AArch64::ADD_VG2_M2Z2Z_S:
34581 case AArch64::BFDOT_VG2_M2Z2Z_HtoS:
34582 case AArch64::BFMLA_VG2_M2Z2Z:
34583 case AArch64::BFMLS_VG2_M2Z2Z:
34584 case AArch64::FDOT_VG2_M2Z2Z_BtoH:
34585 case AArch64::FDOT_VG2_M2Z2Z_BtoS:
34586 case AArch64::FDOT_VG2_M2Z2Z_HtoS:
34587 case AArch64::FMLA_VG2_M2Z2Z_D:
34588 case AArch64::FMLA_VG2_M2Z2Z_H:
34589 case AArch64::FMLA_VG2_M2Z2Z_S:
34590 case AArch64::FMLS_VG2_M2Z2Z_D:
34591 case AArch64::FMLS_VG2_M2Z2Z_H:
34592 case AArch64::FMLS_VG2_M2Z2Z_S:
34593 case AArch64::SDOT_VG2_M2Z2Z_BtoS:
34594 case AArch64::SDOT_VG2_M2Z2Z_HtoD:
34595 case AArch64::SDOT_VG2_M2Z2Z_HtoS:
34596 case AArch64::SUB_VG2_M2Z2Z_D:
34597 case AArch64::SUB_VG2_M2Z2Z_S:
34598 case AArch64::UDOT_VG2_M2Z2Z_BtoS:
34599 case AArch64::UDOT_VG2_M2Z2Z_HtoD:
34600 case AArch64::UDOT_VG2_M2Z2Z_HtoS:
34601 case AArch64::USDOT_VG2_M2Z2Z_BToS: {
34602 switch (OpNum) {
34603 case 5:
34604 // op: Zm
34605 return 17;
34606 case 4:
34607 // op: Zn
34608 return 6;
34609 case 2:
34610 // op: Rv
34611 return 13;
34612 case 3:
34613 // op: imm3
34614 return 0;
34615 }
34616 break;
34617 }
34618 case AArch64::FMLALL_VG4_M4Z4Z_BtoS:
34619 case AArch64::SMLALL_VG4_M4Z4Z_BtoS:
34620 case AArch64::SMLALL_VG4_M4Z4Z_HtoD:
34621 case AArch64::SMLSLL_VG4_M4Z4Z_BtoS:
34622 case AArch64::SMLSLL_VG4_M4Z4Z_HtoD:
34623 case AArch64::UMLALL_VG4_M4Z4Z_BtoS:
34624 case AArch64::UMLALL_VG4_M4Z4Z_HtoD:
34625 case AArch64::UMLSLL_VG4_M4Z4Z_BtoS:
34626 case AArch64::UMLSLL_VG4_M4Z4Z_HtoD:
34627 case AArch64::USMLALL_VG4_M4Z4Z_BtoS: {
34628 switch (OpNum) {
34629 case 5:
34630 // op: Zm
34631 return 18;
34632 case 2:
34633 // op: Rv
34634 return 13;
34635 case 4:
34636 // op: Zn
34637 return 7;
34638 case 3:
34639 // op: imm
34640 return 0;
34641 }
34642 break;
34643 }
34644 case AArch64::ADD_VG4_M4Z4Z_D:
34645 case AArch64::ADD_VG4_M4Z4Z_S:
34646 case AArch64::BFDOT_VG4_M4Z4Z_HtoS:
34647 case AArch64::BFMLA_VG4_M4Z4Z:
34648 case AArch64::BFMLS_VG4_M4Z4Z:
34649 case AArch64::FDOT_VG4_M4Z4Z_BtoH:
34650 case AArch64::FDOT_VG4_M4Z4Z_BtoS:
34651 case AArch64::FDOT_VG4_M4Z4Z_HtoS:
34652 case AArch64::FMLA_VG4_M4Z4Z_D:
34653 case AArch64::FMLA_VG4_M4Z4Z_H:
34654 case AArch64::FMLA_VG4_M4Z4Z_S:
34655 case AArch64::FMLS_VG4_M4Z4Z_D:
34656 case AArch64::FMLS_VG4_M4Z4Z_H:
34657 case AArch64::FMLS_VG4_M4Z4Z_S:
34658 case AArch64::SDOT_VG4_M4Z4Z_BtoS:
34659 case AArch64::SDOT_VG4_M4Z4Z_HtoD:
34660 case AArch64::SDOT_VG4_M4Z4Z_HtoS:
34661 case AArch64::SUB_VG4_M4Z4Z_D:
34662 case AArch64::SUB_VG4_M4Z4Z_S:
34663 case AArch64::UDOT_VG4_M4Z4Z_BtoS:
34664 case AArch64::UDOT_VG4_M4Z4Z_HtoD:
34665 case AArch64::UDOT_VG4_M4Z4Z_HtoS:
34666 case AArch64::USDOT_VG4_M4Z4Z_BToS: {
34667 switch (OpNum) {
34668 case 5:
34669 // op: Zm
34670 return 18;
34671 case 4:
34672 // op: Zn
34673 return 7;
34674 case 2:
34675 // op: Rv
34676 return 13;
34677 case 3:
34678 // op: imm3
34679 return 0;
34680 }
34681 break;
34682 }
34683 default:
34684 reportUnsupportedInst(MI);
34685 }
34686 reportUnsupportedOperand(MI, OpNum);
34687}
34688
34689#endif // GET_OPERAND_BIT_OFFSET
34690
34691