1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Machine Code Emitter *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9uint64_t ARMMCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
10 SmallVectorImpl<MCFixup> &Fixups,
11 const MCSubtargetInfo &STI) const {
12 static const uint64_t InstBits[] = {
13 UINT64_C(0),
14 UINT64_C(0),
15 UINT64_C(0),
16 UINT64_C(0),
17 UINT64_C(0),
18 UINT64_C(0),
19 UINT64_C(0),
20 UINT64_C(0),
21 UINT64_C(0),
22 UINT64_C(0),
23 UINT64_C(0),
24 UINT64_C(0),
25 UINT64_C(0),
26 UINT64_C(0),
27 UINT64_C(0),
28 UINT64_C(0),
29 UINT64_C(0),
30 UINT64_C(0),
31 UINT64_C(0),
32 UINT64_C(0),
33 UINT64_C(0),
34 UINT64_C(0),
35 UINT64_C(0),
36 UINT64_C(0),
37 UINT64_C(0),
38 UINT64_C(0),
39 UINT64_C(0),
40 UINT64_C(0),
41 UINT64_C(0),
42 UINT64_C(0),
43 UINT64_C(0),
44 UINT64_C(0),
45 UINT64_C(0),
46 UINT64_C(0),
47 UINT64_C(0),
48 UINT64_C(0),
49 UINT64_C(0),
50 UINT64_C(0),
51 UINT64_C(0),
52 UINT64_C(0),
53 UINT64_C(0),
54 UINT64_C(0),
55 UINT64_C(0),
56 UINT64_C(0),
57 UINT64_C(0),
58 UINT64_C(0),
59 UINT64_C(0),
60 UINT64_C(0),
61 UINT64_C(0),
62 UINT64_C(0),
63 UINT64_C(0),
64 UINT64_C(0),
65 UINT64_C(0),
66 UINT64_C(0),
67 UINT64_C(0),
68 UINT64_C(0),
69 UINT64_C(0),
70 UINT64_C(0),
71 UINT64_C(0),
72 UINT64_C(0),
73 UINT64_C(0),
74 UINT64_C(0),
75 UINT64_C(0),
76 UINT64_C(0),
77 UINT64_C(0),
78 UINT64_C(0),
79 UINT64_C(0),
80 UINT64_C(0),
81 UINT64_C(0),
82 UINT64_C(0),
83 UINT64_C(0),
84 UINT64_C(0),
85 UINT64_C(0),
86 UINT64_C(0),
87 UINT64_C(0),
88 UINT64_C(0),
89 UINT64_C(0),
90 UINT64_C(0),
91 UINT64_C(0),
92 UINT64_C(0),
93 UINT64_C(0),
94 UINT64_C(0),
95 UINT64_C(0),
96 UINT64_C(0),
97 UINT64_C(0),
98 UINT64_C(0),
99 UINT64_C(0),
100 UINT64_C(0),
101 UINT64_C(0),
102 UINT64_C(0),
103 UINT64_C(0),
104 UINT64_C(0),
105 UINT64_C(0),
106 UINT64_C(0),
107 UINT64_C(0),
108 UINT64_C(0),
109 UINT64_C(0),
110 UINT64_C(0),
111 UINT64_C(0),
112 UINT64_C(0),
113 UINT64_C(0),
114 UINT64_C(0),
115 UINT64_C(0),
116 UINT64_C(0),
117 UINT64_C(0),
118 UINT64_C(0),
119 UINT64_C(0),
120 UINT64_C(0),
121 UINT64_C(0),
122 UINT64_C(0),
123 UINT64_C(0),
124 UINT64_C(0),
125 UINT64_C(0),
126 UINT64_C(0),
127 UINT64_C(0),
128 UINT64_C(0),
129 UINT64_C(0),
130 UINT64_C(0),
131 UINT64_C(0),
132 UINT64_C(0),
133 UINT64_C(0),
134 UINT64_C(0),
135 UINT64_C(0),
136 UINT64_C(0),
137 UINT64_C(0),
138 UINT64_C(0),
139 UINT64_C(0),
140 UINT64_C(0),
141 UINT64_C(0),
142 UINT64_C(0),
143 UINT64_C(0),
144 UINT64_C(0),
145 UINT64_C(0),
146 UINT64_C(0),
147 UINT64_C(0),
148 UINT64_C(0),
149 UINT64_C(0),
150 UINT64_C(0),
151 UINT64_C(0),
152 UINT64_C(0),
153 UINT64_C(0),
154 UINT64_C(0),
155 UINT64_C(0),
156 UINT64_C(0),
157 UINT64_C(0),
158 UINT64_C(0),
159 UINT64_C(0),
160 UINT64_C(0),
161 UINT64_C(0),
162 UINT64_C(0),
163 UINT64_C(0),
164 UINT64_C(0),
165 UINT64_C(0),
166 UINT64_C(0),
167 UINT64_C(0),
168 UINT64_C(0),
169 UINT64_C(0),
170 UINT64_C(0),
171 UINT64_C(0),
172 UINT64_C(0),
173 UINT64_C(0),
174 UINT64_C(0),
175 UINT64_C(0),
176 UINT64_C(0),
177 UINT64_C(0),
178 UINT64_C(0),
179 UINT64_C(0),
180 UINT64_C(0),
181 UINT64_C(0),
182 UINT64_C(0),
183 UINT64_C(0),
184 UINT64_C(0),
185 UINT64_C(0),
186 UINT64_C(0),
187 UINT64_C(0),
188 UINT64_C(0),
189 UINT64_C(0),
190 UINT64_C(0),
191 UINT64_C(0),
192 UINT64_C(0),
193 UINT64_C(0),
194 UINT64_C(0),
195 UINT64_C(0),
196 UINT64_C(0),
197 UINT64_C(0),
198 UINT64_C(0),
199 UINT64_C(0),
200 UINT64_C(0),
201 UINT64_C(0),
202 UINT64_C(0),
203 UINT64_C(0),
204 UINT64_C(0),
205 UINT64_C(0),
206 UINT64_C(0),
207 UINT64_C(0),
208 UINT64_C(0),
209 UINT64_C(0),
210 UINT64_C(0),
211 UINT64_C(0),
212 UINT64_C(0),
213 UINT64_C(0),
214 UINT64_C(0),
215 UINT64_C(0),
216 UINT64_C(0),
217 UINT64_C(0),
218 UINT64_C(0),
219 UINT64_C(0),
220 UINT64_C(0),
221 UINT64_C(0),
222 UINT64_C(0),
223 UINT64_C(0),
224 UINT64_C(0),
225 UINT64_C(0),
226 UINT64_C(0),
227 UINT64_C(0),
228 UINT64_C(0),
229 UINT64_C(0),
230 UINT64_C(0),
231 UINT64_C(0),
232 UINT64_C(0),
233 UINT64_C(0),
234 UINT64_C(0),
235 UINT64_C(0),
236 UINT64_C(0),
237 UINT64_C(0),
238 UINT64_C(0),
239 UINT64_C(0),
240 UINT64_C(0),
241 UINT64_C(0),
242 UINT64_C(0),
243 UINT64_C(0),
244 UINT64_C(0),
245 UINT64_C(0),
246 UINT64_C(0),
247 UINT64_C(0),
248 UINT64_C(0),
249 UINT64_C(0),
250 UINT64_C(0),
251 UINT64_C(0),
252 UINT64_C(0),
253 UINT64_C(0),
254 UINT64_C(0),
255 UINT64_C(0),
256 UINT64_C(0),
257 UINT64_C(0),
258 UINT64_C(0),
259 UINT64_C(0),
260 UINT64_C(0),
261 UINT64_C(0),
262 UINT64_C(0),
263 UINT64_C(0),
264 UINT64_C(0),
265 UINT64_C(0),
266 UINT64_C(0),
267 UINT64_C(0),
268 UINT64_C(0),
269 UINT64_C(0),
270 UINT64_C(0),
271 UINT64_C(0),
272 UINT64_C(0),
273 UINT64_C(0),
274 UINT64_C(0),
275 UINT64_C(0),
276 UINT64_C(0),
277 UINT64_C(0),
278 UINT64_C(0),
279 UINT64_C(0),
280 UINT64_C(0),
281 UINT64_C(0),
282 UINT64_C(0),
283 UINT64_C(0),
284 UINT64_C(0),
285 UINT64_C(0),
286 UINT64_C(0),
287 UINT64_C(0),
288 UINT64_C(0),
289 UINT64_C(0),
290 UINT64_C(0),
291 UINT64_C(0),
292 UINT64_C(0),
293 UINT64_C(0),
294 UINT64_C(0),
295 UINT64_C(0),
296 UINT64_C(0),
297 UINT64_C(0),
298 UINT64_C(0),
299 UINT64_C(0),
300 UINT64_C(0),
301 UINT64_C(0),
302 UINT64_C(0),
303 UINT64_C(0),
304 UINT64_C(0),
305 UINT64_C(0),
306 UINT64_C(0),
307 UINT64_C(0),
308 UINT64_C(0),
309 UINT64_C(0),
310 UINT64_C(0),
311 UINT64_C(0),
312 UINT64_C(0),
313 UINT64_C(0),
314 UINT64_C(0),
315 UINT64_C(0),
316 UINT64_C(0),
317 UINT64_C(0),
318 UINT64_C(0),
319 UINT64_C(0),
320 UINT64_C(0),
321 UINT64_C(0),
322 UINT64_C(0),
323 UINT64_C(0),
324 UINT64_C(0),
325 UINT64_C(0),
326 UINT64_C(0),
327 UINT64_C(0),
328 UINT64_C(0),
329 UINT64_C(0),
330 UINT64_C(0),
331 UINT64_C(0),
332 UINT64_C(0),
333 UINT64_C(0),
334 UINT64_C(0),
335 UINT64_C(0),
336 UINT64_C(0),
337 UINT64_C(0),
338 UINT64_C(0),
339 UINT64_C(0),
340 UINT64_C(0),
341 UINT64_C(0),
342 UINT64_C(0),
343 UINT64_C(0),
344 UINT64_C(0),
345 UINT64_C(0),
346 UINT64_C(0),
347 UINT64_C(0),
348 UINT64_C(0),
349 UINT64_C(0),
350 UINT64_C(0),
351 UINT64_C(0),
352 UINT64_C(0),
353 UINT64_C(0),
354 UINT64_C(0),
355 UINT64_C(0),
356 UINT64_C(0),
357 UINT64_C(0),
358 UINT64_C(0),
359 UINT64_C(0),
360 UINT64_C(0),
361 UINT64_C(0),
362 UINT64_C(0),
363 UINT64_C(0),
364 UINT64_C(0),
365 UINT64_C(0),
366 UINT64_C(0),
367 UINT64_C(0),
368 UINT64_C(0),
369 UINT64_C(0),
370 UINT64_C(0),
371 UINT64_C(0),
372 UINT64_C(0),
373 UINT64_C(0),
374 UINT64_C(0),
375 UINT64_C(0),
376 UINT64_C(0),
377 UINT64_C(0),
378 UINT64_C(0),
379 UINT64_C(0),
380 UINT64_C(0),
381 UINT64_C(0),
382 UINT64_C(0),
383 UINT64_C(0),
384 UINT64_C(0),
385 UINT64_C(0),
386 UINT64_C(0),
387 UINT64_C(0),
388 UINT64_C(0),
389 UINT64_C(0),
390 UINT64_C(0),
391 UINT64_C(0),
392 UINT64_C(0),
393 UINT64_C(0),
394 UINT64_C(0),
395 UINT64_C(0),
396 UINT64_C(0),
397 UINT64_C(0),
398 UINT64_C(0),
399 UINT64_C(0),
400 UINT64_C(0),
401 UINT64_C(0),
402 UINT64_C(0),
403 UINT64_C(0),
404 UINT64_C(0),
405 UINT64_C(0),
406 UINT64_C(0),
407 UINT64_C(0),
408 UINT64_C(0),
409 UINT64_C(0),
410 UINT64_C(0),
411 UINT64_C(0),
412 UINT64_C(0),
413 UINT64_C(0),
414 UINT64_C(0),
415 UINT64_C(0),
416 UINT64_C(0),
417 UINT64_C(0),
418 UINT64_C(0),
419 UINT64_C(0),
420 UINT64_C(0),
421 UINT64_C(0),
422 UINT64_C(0),
423 UINT64_C(0),
424 UINT64_C(0),
425 UINT64_C(0),
426 UINT64_C(0),
427 UINT64_C(0),
428 UINT64_C(0),
429 UINT64_C(0),
430 UINT64_C(0),
431 UINT64_C(0),
432 UINT64_C(0),
433 UINT64_C(0),
434 UINT64_C(0),
435 UINT64_C(0),
436 UINT64_C(0),
437 UINT64_C(0),
438 UINT64_C(0),
439 UINT64_C(0),
440 UINT64_C(0),
441 UINT64_C(0),
442 UINT64_C(0),
443 UINT64_C(0),
444 UINT64_C(0),
445 UINT64_C(0),
446 UINT64_C(0),
447 UINT64_C(0),
448 UINT64_C(0),
449 UINT64_C(0),
450 UINT64_C(0),
451 UINT64_C(0),
452 UINT64_C(0),
453 UINT64_C(0),
454 UINT64_C(0),
455 UINT64_C(0),
456 UINT64_C(0),
457 UINT64_C(0),
458 UINT64_C(0),
459 UINT64_C(0),
460 UINT64_C(0),
461 UINT64_C(0),
462 UINT64_C(0),
463 UINT64_C(0),
464 UINT64_C(0),
465 UINT64_C(0),
466 UINT64_C(0),
467 UINT64_C(0),
468 UINT64_C(0),
469 UINT64_C(0),
470 UINT64_C(0),
471 UINT64_C(0),
472 UINT64_C(0),
473 UINT64_C(0),
474 UINT64_C(0),
475 UINT64_C(0),
476 UINT64_C(0),
477 UINT64_C(0),
478 UINT64_C(0),
479 UINT64_C(0),
480 UINT64_C(0),
481 UINT64_C(0),
482 UINT64_C(0),
483 UINT64_C(0),
484 UINT64_C(0),
485 UINT64_C(0),
486 UINT64_C(0),
487 UINT64_C(0),
488 UINT64_C(0),
489 UINT64_C(0),
490 UINT64_C(0),
491 UINT64_C(0),
492 UINT64_C(0),
493 UINT64_C(0),
494 UINT64_C(0),
495 UINT64_C(0),
496 UINT64_C(0),
497 UINT64_C(0),
498 UINT64_C(0),
499 UINT64_C(0),
500 UINT64_C(0),
501 UINT64_C(0),
502 UINT64_C(0),
503 UINT64_C(0),
504 UINT64_C(0),
505 UINT64_C(0),
506 UINT64_C(0),
507 UINT64_C(0),
508 UINT64_C(0),
509 UINT64_C(0),
510 UINT64_C(0),
511 UINT64_C(0),
512 UINT64_C(0),
513 UINT64_C(0),
514 UINT64_C(0),
515 UINT64_C(0),
516 UINT64_C(0),
517 UINT64_C(0),
518 UINT64_C(0),
519 UINT64_C(0),
520 UINT64_C(0),
521 UINT64_C(0),
522 UINT64_C(0),
523 UINT64_C(0),
524 UINT64_C(0),
525 UINT64_C(0),
526 UINT64_C(0),
527 UINT64_C(0),
528 UINT64_C(0),
529 UINT64_C(0),
530 UINT64_C(0),
531 UINT64_C(0),
532 UINT64_C(0),
533 UINT64_C(0),
534 UINT64_C(0),
535 UINT64_C(0),
536 UINT64_C(0),
537 UINT64_C(0),
538 UINT64_C(0),
539 UINT64_C(0),
540 UINT64_C(0),
541 UINT64_C(0),
542 UINT64_C(0),
543 UINT64_C(0),
544 UINT64_C(0),
545 UINT64_C(0),
546 UINT64_C(0),
547 UINT64_C(0),
548 UINT64_C(0),
549 UINT64_C(0),
550 UINT64_C(0),
551 UINT64_C(0),
552 UINT64_C(0),
553 UINT64_C(0),
554 UINT64_C(0),
555 UINT64_C(0),
556 UINT64_C(0),
557 UINT64_C(0),
558 UINT64_C(0),
559 UINT64_C(0),
560 UINT64_C(0),
561 UINT64_C(0),
562 UINT64_C(0),
563 UINT64_C(0),
564 UINT64_C(0),
565 UINT64_C(0),
566 UINT64_C(0),
567 UINT64_C(0),
568 UINT64_C(0),
569 UINT64_C(0),
570 UINT64_C(0),
571 UINT64_C(0),
572 UINT64_C(0),
573 UINT64_C(0),
574 UINT64_C(0),
575 UINT64_C(0),
576 UINT64_C(0),
577 UINT64_C(0),
578 UINT64_C(0),
579 UINT64_C(0),
580 UINT64_C(0),
581 UINT64_C(0),
582 UINT64_C(0),
583 UINT64_C(0),
584 UINT64_C(0),
585 UINT64_C(0),
586 UINT64_C(0),
587 UINT64_C(0),
588 UINT64_C(0),
589 UINT64_C(0),
590 UINT64_C(0),
591 UINT64_C(0),
592 UINT64_C(0),
593 UINT64_C(0),
594 UINT64_C(0),
595 UINT64_C(0),
596 UINT64_C(0),
597 UINT64_C(0),
598 UINT64_C(0),
599 UINT64_C(0),
600 UINT64_C(0),
601 UINT64_C(0),
602 UINT64_C(0),
603 UINT64_C(0),
604 UINT64_C(0),
605 UINT64_C(0),
606 UINT64_C(0),
607 UINT64_C(0),
608 UINT64_C(0),
609 UINT64_C(0),
610 UINT64_C(0),
611 UINT64_C(0),
612 UINT64_C(0),
613 UINT64_C(0),
614 UINT64_C(0),
615 UINT64_C(0),
616 UINT64_C(0),
617 UINT64_C(0),
618 UINT64_C(0),
619 UINT64_C(0),
620 UINT64_C(0),
621 UINT64_C(0),
622 UINT64_C(0),
623 UINT64_C(0),
624 UINT64_C(0),
625 UINT64_C(0),
626 UINT64_C(0),
627 UINT64_C(0),
628 UINT64_C(0),
629 UINT64_C(0),
630 UINT64_C(0),
631 UINT64_C(0),
632 UINT64_C(0),
633 UINT64_C(0),
634 UINT64_C(0),
635 UINT64_C(0),
636 UINT64_C(0),
637 UINT64_C(0),
638 UINT64_C(0),
639 UINT64_C(0),
640 UINT64_C(0),
641 UINT64_C(0),
642 UINT64_C(0),
643 UINT64_C(0),
644 UINT64_C(0),
645 UINT64_C(0),
646 UINT64_C(0),
647 UINT64_C(0),
648 UINT64_C(0),
649 UINT64_C(0),
650 UINT64_C(0),
651 UINT64_C(0),
652 UINT64_C(0),
653 UINT64_C(0),
654 UINT64_C(0),
655 UINT64_C(0),
656 UINT64_C(0),
657 UINT64_C(0),
658 UINT64_C(0),
659 UINT64_C(0),
660 UINT64_C(0),
661 UINT64_C(0),
662 UINT64_C(0),
663 UINT64_C(0),
664 UINT64_C(0),
665 UINT64_C(0),
666 UINT64_C(0),
667 UINT64_C(0),
668 UINT64_C(0),
669 UINT64_C(0),
670 UINT64_C(0),
671 UINT64_C(0),
672 UINT64_C(0),
673 UINT64_C(0),
674 UINT64_C(0),
675 UINT64_C(0),
676 UINT64_C(0),
677 UINT64_C(0),
678 UINT64_C(0),
679 UINT64_C(0),
680 UINT64_C(0),
681 UINT64_C(0),
682 UINT64_C(0),
683 UINT64_C(0),
684 UINT64_C(0),
685 UINT64_C(0),
686 UINT64_C(0),
687 UINT64_C(0),
688 UINT64_C(0),
689 UINT64_C(0),
690 UINT64_C(0),
691 UINT64_C(0),
692 UINT64_C(0),
693 UINT64_C(0),
694 UINT64_C(0),
695 UINT64_C(0),
696 UINT64_C(0),
697 UINT64_C(0),
698 UINT64_C(0),
699 UINT64_C(0),
700 UINT64_C(0),
701 UINT64_C(0),
702 UINT64_C(0),
703 UINT64_C(0),
704 UINT64_C(0),
705 UINT64_C(0),
706 UINT64_C(0),
707 UINT64_C(0),
708 UINT64_C(0),
709 UINT64_C(0),
710 UINT64_C(0),
711 UINT64_C(0),
712 UINT64_C(0),
713 UINT64_C(0),
714 UINT64_C(0),
715 UINT64_C(0),
716 UINT64_C(0),
717 UINT64_C(0),
718 UINT64_C(0),
719 UINT64_C(0),
720 UINT64_C(0),
721 UINT64_C(0),
722 UINT64_C(0),
723 UINT64_C(0),
724 UINT64_C(0),
725 UINT64_C(0),
726 UINT64_C(0),
727 UINT64_C(0),
728 UINT64_C(0),
729 UINT64_C(0),
730 UINT64_C(0),
731 UINT64_C(0),
732 UINT64_C(0),
733 UINT64_C(0),
734 UINT64_C(0),
735 UINT64_C(0),
736 UINT64_C(0),
737 UINT64_C(0),
738 UINT64_C(0),
739 UINT64_C(0),
740 UINT64_C(0),
741 UINT64_C(0),
742 UINT64_C(0),
743 UINT64_C(0),
744 UINT64_C(0),
745 UINT64_C(0),
746 UINT64_C(0),
747 UINT64_C(0),
748 UINT64_C(0),
749 UINT64_C(0),
750 UINT64_C(0),
751 UINT64_C(0),
752 UINT64_C(0),
753 UINT64_C(0),
754 UINT64_C(0),
755 UINT64_C(0),
756 UINT64_C(0),
757 UINT64_C(0),
758 UINT64_C(0),
759 UINT64_C(0),
760 UINT64_C(0),
761 UINT64_C(0),
762 UINT64_C(0),
763 UINT64_C(0),
764 UINT64_C(0),
765 UINT64_C(0),
766 UINT64_C(0),
767 UINT64_C(0),
768 UINT64_C(0),
769 UINT64_C(0),
770 UINT64_C(0),
771 UINT64_C(0),
772 UINT64_C(0),
773 UINT64_C(0),
774 UINT64_C(0),
775 UINT64_C(0),
776 UINT64_C(0),
777 UINT64_C(0),
778 UINT64_C(0),
779 UINT64_C(0),
780 UINT64_C(0),
781 UINT64_C(0),
782 UINT64_C(0),
783 UINT64_C(0),
784 UINT64_C(0),
785 UINT64_C(0),
786 UINT64_C(0),
787 UINT64_C(0),
788 UINT64_C(0),
789 UINT64_C(0),
790 UINT64_C(0),
791 UINT64_C(0),
792 UINT64_C(0),
793 UINT64_C(0),
794 UINT64_C(0),
795 UINT64_C(0),
796 UINT64_C(0),
797 UINT64_C(0),
798 UINT64_C(0),
799 UINT64_C(0),
800 UINT64_C(0),
801 UINT64_C(44040192), // ADCri
802 UINT64_C(10485760), // ADCrr
803 UINT64_C(10485760), // ADCrsi
804 UINT64_C(10485776), // ADCrsr
805 UINT64_C(41943040), // ADDri
806 UINT64_C(8388608), // ADDrr
807 UINT64_C(8388608), // ADDrsi
808 UINT64_C(8388624), // ADDrsr
809 UINT64_C(34537472), // ADR
810 UINT64_C(4088398656), // AESD
811 UINT64_C(4088398592), // AESE
812 UINT64_C(4088398784), // AESIMC
813 UINT64_C(4088398720), // AESMC
814 UINT64_C(33554432), // ANDri
815 UINT64_C(0), // ANDrr
816 UINT64_C(0), // ANDrsi
817 UINT64_C(16), // ANDrsr
818 UINT64_C(4261416192), // BF16VDOTI_VDOTD
819 UINT64_C(4261416256), // BF16VDOTI_VDOTQ
820 UINT64_C(4227861760), // BF16VDOTS_VDOTD
821 UINT64_C(4227861824), // BF16VDOTS_VDOTQ
822 UINT64_C(4088792640), // BF16_VCVT
823 UINT64_C(246614336), // BF16_VCVTB
824 UINT64_C(246614464), // BF16_VCVTT
825 UINT64_C(130023455), // BFC
826 UINT64_C(130023440), // BFI
827 UINT64_C(62914560), // BICri
828 UINT64_C(29360128), // BICrr
829 UINT64_C(29360128), // BICrsi
830 UINT64_C(29360144), // BICrsr
831 UINT64_C(3776970864), // BKPT
832 UINT64_C(3942645760), // BL
833 UINT64_C(3778019120), // BLX
834 UINT64_C(19922736), // BLX_pred
835 UINT64_C(4194304000), // BLXi
836 UINT64_C(184549376), // BL_pred
837 UINT64_C(3778019088), // BX
838 UINT64_C(19922720), // BXJ
839 UINT64_C(19922718), // BX_RET
840 UINT64_C(19922704), // BX_pred
841 UINT64_C(167772160), // Bcc
842 UINT64_C(3992977408), // CDE_CX1
843 UINT64_C(4261412864), // CDE_CX1A
844 UINT64_C(3992977472), // CDE_CX1D
845 UINT64_C(4261412928), // CDE_CX1DA
846 UINT64_C(3997171712), // CDE_CX2
847 UINT64_C(4265607168), // CDE_CX2A
848 UINT64_C(3997171776), // CDE_CX2D
849 UINT64_C(4265607232), // CDE_CX2DA
850 UINT64_C(4001366016), // CDE_CX3
851 UINT64_C(4269801472), // CDE_CX3A
852 UINT64_C(4001366080), // CDE_CX3D
853 UINT64_C(4269801536), // CDE_CX3DA
854 UINT64_C(4246732800), // CDE_VCX1A_fpdp
855 UINT64_C(4229955584), // CDE_VCX1A_fpsp
856 UINT64_C(4229955648), // CDE_VCX1A_vec
857 UINT64_C(3978297344), // CDE_VCX1_fpdp
858 UINT64_C(3961520128), // CDE_VCX1_fpsp
859 UINT64_C(3961520192), // CDE_VCX1_vec
860 UINT64_C(4247781376), // CDE_VCX2A_fpdp
861 UINT64_C(4231004160), // CDE_VCX2A_fpsp
862 UINT64_C(4231004224), // CDE_VCX2A_vec
863 UINT64_C(3979345920), // CDE_VCX2_fpdp
864 UINT64_C(3962568704), // CDE_VCX2_fpsp
865 UINT64_C(3962568768), // CDE_VCX2_vec
866 UINT64_C(4253024256), // CDE_VCX3A_fpdp
867 UINT64_C(4236247040), // CDE_VCX3A_fpsp
868 UINT64_C(4236247104), // CDE_VCX3A_vec
869 UINT64_C(3984588800), // CDE_VCX3_fpdp
870 UINT64_C(3967811584), // CDE_VCX3_fpsp
871 UINT64_C(3967811648), // CDE_VCX3_vec
872 UINT64_C(234881024), // CDP
873 UINT64_C(4261412864), // CDP2
874 UINT64_C(4118802463), // CLREX
875 UINT64_C(24055568), // CLZ
876 UINT64_C(57671680), // CMNri
877 UINT64_C(24117248), // CMNzrr
878 UINT64_C(24117248), // CMNzrsi
879 UINT64_C(24117264), // CMNzrsr
880 UINT64_C(55574528), // CMPri
881 UINT64_C(22020096), // CMPrr
882 UINT64_C(22020096), // CMPrsi
883 UINT64_C(22020112), // CMPrsr
884 UINT64_C(4043440128), // CPS1p
885 UINT64_C(4043309056), // CPS2p
886 UINT64_C(4043440128), // CPS3p
887 UINT64_C(3774873664), // CRC32B
888 UINT64_C(3774874176), // CRC32CB
889 UINT64_C(3776971328), // CRC32CH
890 UINT64_C(3779068480), // CRC32CW
891 UINT64_C(3776970816), // CRC32H
892 UINT64_C(3779067968), // CRC32W
893 UINT64_C(52490480), // DBG
894 UINT64_C(4118802512), // DMB
895 UINT64_C(4118802496), // DSB
896 UINT64_C(35651584), // EORri
897 UINT64_C(2097152), // EORrr
898 UINT64_C(2097152), // EORrsi
899 UINT64_C(2097168), // EORrsr
900 UINT64_C(23068782), // ERET
901 UINT64_C(246418176), // FCONSTD
902 UINT64_C(246417664), // FCONSTH
903 UINT64_C(246417920), // FCONSTS
904 UINT64_C(221252353), // FLDMXDB_UPD
905 UINT64_C(210766593), // FLDMXIA
906 UINT64_C(212863745), // FLDMXIA_UPD
907 UINT64_C(250739216), // FMSTAT
908 UINT64_C(220203777), // FSTMXDB_UPD
909 UINT64_C(209718017), // FSTMXIA
910 UINT64_C(211815169), // FSTMXIA_UPD
911 UINT64_C(52490240), // HINT
912 UINT64_C(3774873712), // HLT
913 UINT64_C(3779068016), // HVC
914 UINT64_C(4118802528), // ISB
915 UINT64_C(26217631), // LDA
916 UINT64_C(30411935), // LDAB
917 UINT64_C(26218143), // LDAEX
918 UINT64_C(30412447), // LDAEXB
919 UINT64_C(28315295), // LDAEXD
920 UINT64_C(32509599), // LDAEXH
921 UINT64_C(32509087), // LDAH
922 UINT64_C(4249878528), // LDC2L_OFFSET
923 UINT64_C(4241489920), // LDC2L_OPTION
924 UINT64_C(4235198464), // LDC2L_POST
925 UINT64_C(4251975680), // LDC2L_PRE
926 UINT64_C(4245684224), // LDC2_OFFSET
927 UINT64_C(4237295616), // LDC2_OPTION
928 UINT64_C(4231004160), // LDC2_POST
929 UINT64_C(4247781376), // LDC2_PRE
930 UINT64_C(223346688), // LDCL_OFFSET
931 UINT64_C(214958080), // LDCL_OPTION
932 UINT64_C(208666624), // LDCL_POST
933 UINT64_C(225443840), // LDCL_PRE
934 UINT64_C(219152384), // LDC_OFFSET
935 UINT64_C(210763776), // LDC_OPTION
936 UINT64_C(204472320), // LDC_POST
937 UINT64_C(221249536), // LDC_PRE
938 UINT64_C(135266304), // LDMDA
939 UINT64_C(137363456), // LDMDA_UPD
940 UINT64_C(152043520), // LDMDB
941 UINT64_C(154140672), // LDMDB_UPD
942 UINT64_C(143654912), // LDMIA
943 UINT64_C(145752064), // LDMIA_UPD
944 UINT64_C(160432128), // LDMIB
945 UINT64_C(162529280), // LDMIB_UPD
946 UINT64_C(74448896), // LDRBT_POST_IMM
947 UINT64_C(108003328), // LDRBT_POST_REG
948 UINT64_C(72351744), // LDRB_POST_IMM
949 UINT64_C(105906176), // LDRB_POST_REG
950 UINT64_C(91226112), // LDRB_PRE_IMM
951 UINT64_C(124780544), // LDRB_PRE_REG
952 UINT64_C(89128960), // LDRBi12
953 UINT64_C(122683392), // LDRBrs
954 UINT64_C(16777424), // LDRD
955 UINT64_C(208), // LDRD_POST
956 UINT64_C(18874576), // LDRD_PRE
957 UINT64_C(26218399), // LDREX
958 UINT64_C(30412703), // LDREXB
959 UINT64_C(28315551), // LDREXD
960 UINT64_C(32509855), // LDREXH
961 UINT64_C(17825968), // LDRH
962 UINT64_C(7340208), // LDRHTi
963 UINT64_C(3145904), // LDRHTr
964 UINT64_C(1048752), // LDRH_POST
965 UINT64_C(19923120), // LDRH_PRE
966 UINT64_C(17826000), // LDRSB
967 UINT64_C(7340240), // LDRSBTi
968 UINT64_C(3145936), // LDRSBTr
969 UINT64_C(1048784), // LDRSB_POST
970 UINT64_C(19923152), // LDRSB_PRE
971 UINT64_C(17826032), // LDRSH
972 UINT64_C(7340272), // LDRSHTi
973 UINT64_C(3145968), // LDRSHTr
974 UINT64_C(1048816), // LDRSH_POST
975 UINT64_C(19923184), // LDRSH_PRE
976 UINT64_C(70254592), // LDRT_POST_IMM
977 UINT64_C(103809024), // LDRT_POST_REG
978 UINT64_C(68157440), // LDR_POST_IMM
979 UINT64_C(101711872), // LDR_POST_REG
980 UINT64_C(87031808), // LDR_PRE_IMM
981 UINT64_C(120586240), // LDR_PRE_REG
982 UINT64_C(85917696), // LDRcp
983 UINT64_C(84934656), // LDRi12
984 UINT64_C(118489088), // LDRrs
985 UINT64_C(234881040), // MCR
986 UINT64_C(4261412880), // MCR2
987 UINT64_C(205520896), // MCRR
988 UINT64_C(4232052736), // MCRR2
989 UINT64_C(2097296), // MLA
990 UINT64_C(6291600), // MLS
991 UINT64_C(27324430), // MOVPCLR
992 UINT64_C(54525952), // MOVTi16
993 UINT64_C(60817408), // MOVi
994 UINT64_C(50331648), // MOVi16
995 UINT64_C(27262976), // MOVr
996 UINT64_C(27262976), // MOVr_TC
997 UINT64_C(27262976), // MOVsi
998 UINT64_C(27262992), // MOVsr
999 UINT64_C(235929616), // MRC
1000 UINT64_C(4262461456), // MRC2
1001 UINT64_C(206569472), // MRRC
1002 UINT64_C(4233101312), // MRRC2
1003 UINT64_C(17760256), // MRS
1004 UINT64_C(16777728), // MRSbanked
1005 UINT64_C(21954560), // MRSsys
1006 UINT64_C(18935808), // MSR
1007 UINT64_C(18936320), // MSRbanked
1008 UINT64_C(52490240), // MSRi
1009 UINT64_C(144), // MUL
1010 UINT64_C(3931111727), // MVE_ASRLi
1011 UINT64_C(3931111725), // MVE_ASRLr
1012 UINT64_C(4027637761), // MVE_DLSTP_16
1013 UINT64_C(4028686337), // MVE_DLSTP_32
1014 UINT64_C(4029734913), // MVE_DLSTP_64
1015 UINT64_C(4026589185), // MVE_DLSTP_8
1016 UINT64_C(4027572225), // MVE_LCTP
1017 UINT64_C(4028612609), // MVE_LETP
1018 UINT64_C(3931111695), // MVE_LSLLi
1019 UINT64_C(3931111693), // MVE_LSLLr
1020 UINT64_C(3931111711), // MVE_LSRL
1021 UINT64_C(3931115309), // MVE_SQRSHR
1022 UINT64_C(3931177261), // MVE_SQRSHRL
1023 UINT64_C(3931115327), // MVE_SQSHL
1024 UINT64_C(3931177279), // MVE_SQSHLL
1025 UINT64_C(3931115311), // MVE_SRSHR
1026 UINT64_C(3931177263), // MVE_SRSHRL
1027 UINT64_C(3931115277), // MVE_UQRSHL
1028 UINT64_C(3931177229), // MVE_UQRSHLL
1029 UINT64_C(3931115279), // MVE_UQSHL
1030 UINT64_C(3931177231), // MVE_UQSHLL
1031 UINT64_C(3931115295), // MVE_URSHR
1032 UINT64_C(3931177247), // MVE_URSHRL
1033 UINT64_C(4002418433), // MVE_VABAVs16
1034 UINT64_C(4003467009), // MVE_VABAVs32
1035 UINT64_C(4001369857), // MVE_VABAVs8
1036 UINT64_C(4270853889), // MVE_VABAVu16
1037 UINT64_C(4271902465), // MVE_VABAVu32
1038 UINT64_C(4269805313), // MVE_VABAVu8
1039 UINT64_C(4281339200), // MVE_VABDf16
1040 UINT64_C(4280290624), // MVE_VABDf32
1041 UINT64_C(4010805056), // MVE_VABDs16
1042 UINT64_C(4011853632), // MVE_VABDs32
1043 UINT64_C(4009756480), // MVE_VABDs8
1044 UINT64_C(4279240512), // MVE_VABDu16
1045 UINT64_C(4280289088), // MVE_VABDu32
1046 UINT64_C(4278191936), // MVE_VABDu8
1047 UINT64_C(4290053952), // MVE_VABSf16
1048 UINT64_C(4290316096), // MVE_VABSf32
1049 UINT64_C(4290052928), // MVE_VABSs16
1050 UINT64_C(4290315072), // MVE_VABSs32
1051 UINT64_C(4289790784), // MVE_VABSs8
1052 UINT64_C(3996126976), // MVE_VADC
1053 UINT64_C(3996131072), // MVE_VADCI
1054 UINT64_C(4001959712), // MVE_VADDLVs32acc
1055 UINT64_C(4001959680), // MVE_VADDLVs32no_acc
1056 UINT64_C(4270395168), // MVE_VADDLVu32acc
1057 UINT64_C(4270395136), // MVE_VADDLVu32no_acc
1058 UINT64_C(4009037600), // MVE_VADDVs16acc
1059 UINT64_C(4009037568), // MVE_VADDVs16no_acc
1060 UINT64_C(4009299744), // MVE_VADDVs32acc
1061 UINT64_C(4009299712), // MVE_VADDVs32no_acc
1062 UINT64_C(4008775456), // MVE_VADDVs8acc
1063 UINT64_C(4008775424), // MVE_VADDVs8no_acc
1064 UINT64_C(4277473056), // MVE_VADDVu16acc
1065 UINT64_C(4277473024), // MVE_VADDVu16no_acc
1066 UINT64_C(4277735200), // MVE_VADDVu32acc
1067 UINT64_C(4277735168), // MVE_VADDVu32no_acc
1068 UINT64_C(4277210912), // MVE_VADDVu8acc
1069 UINT64_C(4277210880), // MVE_VADDVu8no_acc
1070 UINT64_C(4264562496), // MVE_VADD_qr_f16
1071 UINT64_C(3996127040), // MVE_VADD_qr_f32
1072 UINT64_C(3994095424), // MVE_VADD_qr_i16
1073 UINT64_C(3995144000), // MVE_VADD_qr_i32
1074 UINT64_C(3993046848), // MVE_VADD_qr_i8
1075 UINT64_C(4010806592), // MVE_VADDf16
1076 UINT64_C(4009758016), // MVE_VADDf32
1077 UINT64_C(4010805312), // MVE_VADDi16
1078 UINT64_C(4011853888), // MVE_VADDi32
1079 UINT64_C(4009756736), // MVE_VADDi8
1080 UINT64_C(4009754960), // MVE_VAND
1081 UINT64_C(4010803536), // MVE_VBIC
1082 UINT64_C(4018145648), // MVE_VBICimmi16
1083 UINT64_C(4018143600), // MVE_VBICimmi32
1084 UINT64_C(4262534752), // MVE_VBRSR16
1085 UINT64_C(4263583328), // MVE_VBRSR32
1086 UINT64_C(4261486176), // MVE_VBRSR8
1087 UINT64_C(4236249152), // MVE_VCADDf16
1088 UINT64_C(4237297728), // MVE_VCADDf32
1089 UINT64_C(4262465280), // MVE_VCADDi16
1090 UINT64_C(4263513856), // MVE_VCADDi32
1091 UINT64_C(4261416704), // MVE_VCADDi8
1092 UINT64_C(4289987648), // MVE_VCLSs16
1093 UINT64_C(4290249792), // MVE_VCLSs32
1094 UINT64_C(4289725504), // MVE_VCLSs8
1095 UINT64_C(4289987776), // MVE_VCLZs16
1096 UINT64_C(4290249920), // MVE_VCLZs32
1097 UINT64_C(4289725632), // MVE_VCLZs8
1098 UINT64_C(4229957696), // MVE_VCMLAf16
1099 UINT64_C(4231006272), // MVE_VCMLAf32
1100 UINT64_C(4264627968), // MVE_VCMPf16
1101 UINT64_C(4264628032), // MVE_VCMPf16r
1102 UINT64_C(3996192512), // MVE_VCMPf32
1103 UINT64_C(3996192576), // MVE_VCMPf32r
1104 UINT64_C(4262530816), // MVE_VCMPi16
1105 UINT64_C(4262530880), // MVE_VCMPi16r
1106 UINT64_C(4263579392), // MVE_VCMPi32
1107 UINT64_C(4263579456), // MVE_VCMPi32r
1108 UINT64_C(4261482240), // MVE_VCMPi8
1109 UINT64_C(4261482304), // MVE_VCMPi8r
1110 UINT64_C(4262534912), // MVE_VCMPs16
1111 UINT64_C(4262534976), // MVE_VCMPs16r
1112 UINT64_C(4263583488), // MVE_VCMPs32
1113 UINT64_C(4263583552), // MVE_VCMPs32r
1114 UINT64_C(4261486336), // MVE_VCMPs8
1115 UINT64_C(4261486400), // MVE_VCMPs8r
1116 UINT64_C(4262530817), // MVE_VCMPu16
1117 UINT64_C(4262530912), // MVE_VCMPu16r
1118 UINT64_C(4263579393), // MVE_VCMPu32
1119 UINT64_C(4263579488), // MVE_VCMPu32r
1120 UINT64_C(4261482241), // MVE_VCMPu8
1121 UINT64_C(4261482336), // MVE_VCMPu8r
1122 UINT64_C(3996126720), // MVE_VCMULf16
1123 UINT64_C(4264562176), // MVE_VCMULf32
1124 UINT64_C(4027639809), // MVE_VCTP16
1125 UINT64_C(4028688385), // MVE_VCTP32
1126 UINT64_C(4029736961), // MVE_VCTP64
1127 UINT64_C(4026591233), // MVE_VCTP8
1128 UINT64_C(3997109761), // MVE_VCVTf16f32bh
1129 UINT64_C(3997113857), // MVE_VCVTf16f32th
1130 UINT64_C(4021292112), // MVE_VCVTf16s16_fix
1131 UINT64_C(4290184768), // MVE_VCVTf16s16n
1132 UINT64_C(4289727568), // MVE_VCVTf16u16_fix
1133 UINT64_C(4290184896), // MVE_VCVTf16u16n
1134 UINT64_C(4265545217), // MVE_VCVTf32f16bh
1135 UINT64_C(4265549313), // MVE_VCVTf32f16th
1136 UINT64_C(4020244048), // MVE_VCVTf32s32_fix
1137 UINT64_C(4290446912), // MVE_VCVTf32s32n
1138 UINT64_C(4288679504), // MVE_VCVTf32u32_fix
1139 UINT64_C(4290447040), // MVE_VCVTf32u32n
1140 UINT64_C(4021292368), // MVE_VCVTs16f16_fix
1141 UINT64_C(4290183232), // MVE_VCVTs16f16a
1142 UINT64_C(4290184000), // MVE_VCVTs16f16m
1143 UINT64_C(4290183488), // MVE_VCVTs16f16n
1144 UINT64_C(4290183744), // MVE_VCVTs16f16p
1145 UINT64_C(4290185024), // MVE_VCVTs16f16z
1146 UINT64_C(4020244304), // MVE_VCVTs32f32_fix
1147 UINT64_C(4290445376), // MVE_VCVTs32f32a
1148 UINT64_C(4290446144), // MVE_VCVTs32f32m
1149 UINT64_C(4290445632), // MVE_VCVTs32f32n
1150 UINT64_C(4290445888), // MVE_VCVTs32f32p
1151 UINT64_C(4290447168), // MVE_VCVTs32f32z
1152 UINT64_C(4289727824), // MVE_VCVTu16f16_fix
1153 UINT64_C(4290183360), // MVE_VCVTu16f16a
1154 UINT64_C(4290184128), // MVE_VCVTu16f16m
1155 UINT64_C(4290183616), // MVE_VCVTu16f16n
1156 UINT64_C(4290183872), // MVE_VCVTu16f16p
1157 UINT64_C(4290185152), // MVE_VCVTu16f16z
1158 UINT64_C(4288679760), // MVE_VCVTu32f32_fix
1159 UINT64_C(4290445504), // MVE_VCVTu32f32a
1160 UINT64_C(4290446272), // MVE_VCVTu32f32m
1161 UINT64_C(4290445760), // MVE_VCVTu32f32n
1162 UINT64_C(4290446016), // MVE_VCVTu32f32p
1163 UINT64_C(4290447296), // MVE_VCVTu32f32z
1164 UINT64_C(3994099566), // MVE_VDDUPu16
1165 UINT64_C(3995148142), // MVE_VDDUPu32
1166 UINT64_C(3993050990), // MVE_VDDUPu8
1167 UINT64_C(4003466032), // MVE_VDUP16
1168 UINT64_C(4003466000), // MVE_VDUP32
1169 UINT64_C(4007660304), // MVE_VDUP8
1170 UINT64_C(3994099552), // MVE_VDWDUPu16
1171 UINT64_C(3995148128), // MVE_VDWDUPu32
1172 UINT64_C(3993050976), // MVE_VDWDUPu8
1173 UINT64_C(4278190416), // MVE_VEOR
1174 UINT64_C(4264631872), // MVE_VFMA_qr_Sf16
1175 UINT64_C(3996196416), // MVE_VFMA_qr_Sf32
1176 UINT64_C(4264627776), // MVE_VFMA_qr_f16
1177 UINT64_C(3996192320), // MVE_VFMA_qr_f32
1178 UINT64_C(4010806352), // MVE_VFMAf16
1179 UINT64_C(4009757776), // MVE_VFMAf32
1180 UINT64_C(4012903504), // MVE_VFMSf16
1181 UINT64_C(4011854928), // MVE_VFMSf32
1182 UINT64_C(3994029888), // MVE_VHADD_qr_s16
1183 UINT64_C(3995078464), // MVE_VHADD_qr_s32
1184 UINT64_C(3992981312), // MVE_VHADD_qr_s8
1185 UINT64_C(4262465344), // MVE_VHADD_qr_u16
1186 UINT64_C(4263513920), // MVE_VHADD_qr_u32
1187 UINT64_C(4261416768), // MVE_VHADD_qr_u8
1188 UINT64_C(4010803264), // MVE_VHADDs16
1189 UINT64_C(4011851840), // MVE_VHADDs32
1190 UINT64_C(4009754688), // MVE_VHADDs8
1191 UINT64_C(4279238720), // MVE_VHADDu16
1192 UINT64_C(4280287296), // MVE_VHADDu32
1193 UINT64_C(4278190144), // MVE_VHADDu8
1194 UINT64_C(3994029824), // MVE_VHCADDs16
1195 UINT64_C(3995078400), // MVE_VHCADDs32
1196 UINT64_C(3992981248), // MVE_VHCADDs8
1197 UINT64_C(3994033984), // MVE_VHSUB_qr_s16
1198 UINT64_C(3995082560), // MVE_VHSUB_qr_s32
1199 UINT64_C(3992985408), // MVE_VHSUB_qr_s8
1200 UINT64_C(4262469440), // MVE_VHSUB_qr_u16
1201 UINT64_C(4263518016), // MVE_VHSUB_qr_u32
1202 UINT64_C(4261420864), // MVE_VHSUB_qr_u8
1203 UINT64_C(4010803776), // MVE_VHSUBs16
1204 UINT64_C(4011852352), // MVE_VHSUBs32
1205 UINT64_C(4009755200), // MVE_VHSUBs8
1206 UINT64_C(4279239232), // MVE_VHSUBu16
1207 UINT64_C(4280287808), // MVE_VHSUBu32
1208 UINT64_C(4278190656), // MVE_VHSUBu8
1209 UINT64_C(3994095470), // MVE_VIDUPu16
1210 UINT64_C(3995144046), // MVE_VIDUPu32
1211 UINT64_C(3993046894), // MVE_VIDUPu8
1212 UINT64_C(3994095456), // MVE_VIWDUPu16
1213 UINT64_C(3995144032), // MVE_VIWDUPu32
1214 UINT64_C(3993046880), // MVE_VIWDUPu8
1215 UINT64_C(4237303424), // MVE_VLD20_16
1216 UINT64_C(4239400576), // MVE_VLD20_16_wb
1217 UINT64_C(4237303552), // MVE_VLD20_32
1218 UINT64_C(4239400704), // MVE_VLD20_32_wb
1219 UINT64_C(4237303296), // MVE_VLD20_8
1220 UINT64_C(4239400448), // MVE_VLD20_8_wb
1221 UINT64_C(4237303456), // MVE_VLD21_16
1222 UINT64_C(4239400608), // MVE_VLD21_16_wb
1223 UINT64_C(4237303584), // MVE_VLD21_32
1224 UINT64_C(4239400736), // MVE_VLD21_32_wb
1225 UINT64_C(4237303328), // MVE_VLD21_8
1226 UINT64_C(4239400480), // MVE_VLD21_8_wb
1227 UINT64_C(4237303425), // MVE_VLD40_16
1228 UINT64_C(4239400577), // MVE_VLD40_16_wb
1229 UINT64_C(4237303553), // MVE_VLD40_32
1230 UINT64_C(4239400705), // MVE_VLD40_32_wb
1231 UINT64_C(4237303297), // MVE_VLD40_8
1232 UINT64_C(4239400449), // MVE_VLD40_8_wb
1233 UINT64_C(4237303457), // MVE_VLD41_16
1234 UINT64_C(4239400609), // MVE_VLD41_16_wb
1235 UINT64_C(4237303585), // MVE_VLD41_32
1236 UINT64_C(4239400737), // MVE_VLD41_32_wb
1237 UINT64_C(4237303329), // MVE_VLD41_8
1238 UINT64_C(4239400481), // MVE_VLD41_8_wb
1239 UINT64_C(4237303489), // MVE_VLD42_16
1240 UINT64_C(4239400641), // MVE_VLD42_16_wb
1241 UINT64_C(4237303617), // MVE_VLD42_32
1242 UINT64_C(4239400769), // MVE_VLD42_32_wb
1243 UINT64_C(4237303361), // MVE_VLD42_8
1244 UINT64_C(4239400513), // MVE_VLD42_8_wb
1245 UINT64_C(4237303521), // MVE_VLD43_16
1246 UINT64_C(4239400673), // MVE_VLD43_16_wb
1247 UINT64_C(4237303649), // MVE_VLD43_32
1248 UINT64_C(4239400801), // MVE_VLD43_32_wb
1249 UINT64_C(4237303393), // MVE_VLD43_8
1250 UINT64_C(4239400545), // MVE_VLD43_8_wb
1251 UINT64_C(3977252480), // MVE_VLDRBS16
1252 UINT64_C(3962572416), // MVE_VLDRBS16_post
1253 UINT64_C(3979349632), // MVE_VLDRBS16_pre
1254 UINT64_C(3968863872), // MVE_VLDRBS16_rq
1255 UINT64_C(3977252608), // MVE_VLDRBS32
1256 UINT64_C(3962572544), // MVE_VLDRBS32_post
1257 UINT64_C(3979349760), // MVE_VLDRBS32_pre
1258 UINT64_C(3968864000), // MVE_VLDRBS32_rq
1259 UINT64_C(4245687936), // MVE_VLDRBU16
1260 UINT64_C(4231007872), // MVE_VLDRBU16_post
1261 UINT64_C(4247785088), // MVE_VLDRBU16_pre
1262 UINT64_C(4237299328), // MVE_VLDRBU16_rq
1263 UINT64_C(4245688064), // MVE_VLDRBU32
1264 UINT64_C(4231008000), // MVE_VLDRBU32_post
1265 UINT64_C(4247785216), // MVE_VLDRBU32_pre
1266 UINT64_C(4237299456), // MVE_VLDRBU32_rq
1267 UINT64_C(3977256448), // MVE_VLDRBU8
1268 UINT64_C(3962576384), // MVE_VLDRBU8_post
1269 UINT64_C(3979353600), // MVE_VLDRBU8_pre
1270 UINT64_C(4237299200), // MVE_VLDRBU8_rq
1271 UINT64_C(4245692160), // MVE_VLDRDU64_qi
1272 UINT64_C(4247789312), // MVE_VLDRDU64_qi_pre
1273 UINT64_C(4237299665), // MVE_VLDRDU64_rq
1274 UINT64_C(4237299664), // MVE_VLDRDU64_rq_u
1275 UINT64_C(3977776896), // MVE_VLDRHS32
1276 UINT64_C(3963096832), // MVE_VLDRHS32_post
1277 UINT64_C(3979874048), // MVE_VLDRHS32_pre
1278 UINT64_C(3968864017), // MVE_VLDRHS32_rq
1279 UINT64_C(3968864016), // MVE_VLDRHS32_rq_u
1280 UINT64_C(3977256576), // MVE_VLDRHU16
1281 UINT64_C(3962576512), // MVE_VLDRHU16_post
1282 UINT64_C(3979353728), // MVE_VLDRHU16_pre
1283 UINT64_C(4237299345), // MVE_VLDRHU16_rq
1284 UINT64_C(4237299344), // MVE_VLDRHU16_rq_u
1285 UINT64_C(4246212352), // MVE_VLDRHU32
1286 UINT64_C(4231532288), // MVE_VLDRHU32_post
1287 UINT64_C(4248309504), // MVE_VLDRHU32_pre
1288 UINT64_C(4237299473), // MVE_VLDRHU32_rq
1289 UINT64_C(4237299472), // MVE_VLDRHU32_rq_u
1290 UINT64_C(3977256704), // MVE_VLDRWU32
1291 UINT64_C(3962576640), // MVE_VLDRWU32_post
1292 UINT64_C(3979353856), // MVE_VLDRWU32_pre
1293 UINT64_C(4245691904), // MVE_VLDRWU32_qi
1294 UINT64_C(4247789056), // MVE_VLDRWU32_qi_pre
1295 UINT64_C(4237299521), // MVE_VLDRWU32_rq
1296 UINT64_C(4237299520), // MVE_VLDRWU32_rq_u
1297 UINT64_C(4007923456), // MVE_VMAXAVs16
1298 UINT64_C(4008185600), // MVE_VMAXAVs32
1299 UINT64_C(4007661312), // MVE_VMAXAVs8
1300 UINT64_C(3996585601), // MVE_VMAXAs16
1301 UINT64_C(3996847745), // MVE_VMAXAs32
1302 UINT64_C(3996323457), // MVE_VMAXAs8
1303 UINT64_C(4276883200), // MVE_VMAXNMAVf16
1304 UINT64_C(4008447744), // MVE_VMAXNMAVf32
1305 UINT64_C(4265545345), // MVE_VMAXNMAf16
1306 UINT64_C(3997109889), // MVE_VMAXNMAf32
1307 UINT64_C(4277014272), // MVE_VMAXNMVf16
1308 UINT64_C(4008578816), // MVE_VMAXNMVf32
1309 UINT64_C(4279242576), // MVE_VMAXNMf16
1310 UINT64_C(4278194000), // MVE_VMAXNMf32
1311 UINT64_C(4008054528), // MVE_VMAXVs16
1312 UINT64_C(4008316672), // MVE_VMAXVs32
1313 UINT64_C(4007792384), // MVE_VMAXVs8
1314 UINT64_C(4276489984), // MVE_VMAXVu16
1315 UINT64_C(4276752128), // MVE_VMAXVu32
1316 UINT64_C(4276227840), // MVE_VMAXVu8
1317 UINT64_C(4010804800), // MVE_VMAXs16
1318 UINT64_C(4011853376), // MVE_VMAXs32
1319 UINT64_C(4009756224), // MVE_VMAXs8
1320 UINT64_C(4279240256), // MVE_VMAXu16
1321 UINT64_C(4280288832), // MVE_VMAXu32
1322 UINT64_C(4278191680), // MVE_VMAXu8
1323 UINT64_C(4007923584), // MVE_VMINAVs16
1324 UINT64_C(4008185728), // MVE_VMINAVs32
1325 UINT64_C(4007661440), // MVE_VMINAVs8
1326 UINT64_C(3996589697), // MVE_VMINAs16
1327 UINT64_C(3996851841), // MVE_VMINAs32
1328 UINT64_C(3996327553), // MVE_VMINAs8
1329 UINT64_C(4276883328), // MVE_VMINNMAVf16
1330 UINT64_C(4008447872), // MVE_VMINNMAVf32
1331 UINT64_C(4265549441), // MVE_VMINNMAf16
1332 UINT64_C(3997113985), // MVE_VMINNMAf32
1333 UINT64_C(4277014400), // MVE_VMINNMVf16
1334 UINT64_C(4008578944), // MVE_VMINNMVf32
1335 UINT64_C(4281339728), // MVE_VMINNMf16
1336 UINT64_C(4280291152), // MVE_VMINNMf32
1337 UINT64_C(4008054656), // MVE_VMINVs16
1338 UINT64_C(4008316800), // MVE_VMINVs32
1339 UINT64_C(4007792512), // MVE_VMINVs8
1340 UINT64_C(4276490112), // MVE_VMINVu16
1341 UINT64_C(4276752256), // MVE_VMINVu32
1342 UINT64_C(4276227968), // MVE_VMINVu8
1343 UINT64_C(4010804816), // MVE_VMINs16
1344 UINT64_C(4011853392), // MVE_VMINs32
1345 UINT64_C(4009756240), // MVE_VMINs8
1346 UINT64_C(4279240272), // MVE_VMINu16
1347 UINT64_C(4280288848), // MVE_VMINu32
1348 UINT64_C(4278191696), // MVE_VMINu8
1349 UINT64_C(4008709664), // MVE_VMLADAVas16
1350 UINT64_C(4008775200), // MVE_VMLADAVas32
1351 UINT64_C(4008709920), // MVE_VMLADAVas8
1352 UINT64_C(4277145120), // MVE_VMLADAVau16
1353 UINT64_C(4277210656), // MVE_VMLADAVau32
1354 UINT64_C(4277145376), // MVE_VMLADAVau8
1355 UINT64_C(4008713760), // MVE_VMLADAVaxs16
1356 UINT64_C(4008779296), // MVE_VMLADAVaxs32
1357 UINT64_C(4008714016), // MVE_VMLADAVaxs8
1358 UINT64_C(4008709632), // MVE_VMLADAVs16
1359 UINT64_C(4008775168), // MVE_VMLADAVs32
1360 UINT64_C(4008709888), // MVE_VMLADAVs8
1361 UINT64_C(4277145088), // MVE_VMLADAVu16
1362 UINT64_C(4277210624), // MVE_VMLADAVu32
1363 UINT64_C(4277145344), // MVE_VMLADAVu8
1364 UINT64_C(4008713728), // MVE_VMLADAVxs16
1365 UINT64_C(4008779264), // MVE_VMLADAVxs32
1366 UINT64_C(4008713984), // MVE_VMLADAVxs8
1367 UINT64_C(4001369632), // MVE_VMLALDAVas16
1368 UINT64_C(4001435168), // MVE_VMLALDAVas32
1369 UINT64_C(4269805088), // MVE_VMLALDAVau16
1370 UINT64_C(4269870624), // MVE_VMLALDAVau32
1371 UINT64_C(4001373728), // MVE_VMLALDAVaxs16
1372 UINT64_C(4001439264), // MVE_VMLALDAVaxs32
1373 UINT64_C(4001369600), // MVE_VMLALDAVs16
1374 UINT64_C(4001435136), // MVE_VMLALDAVs32
1375 UINT64_C(4269805056), // MVE_VMLALDAVu16
1376 UINT64_C(4269870592), // MVE_VMLALDAVu32
1377 UINT64_C(4001373696), // MVE_VMLALDAVxs16
1378 UINT64_C(4001439232), // MVE_VMLALDAVxs32
1379 UINT64_C(3994099264), // MVE_VMLAS_qr_i16
1380 UINT64_C(3995147840), // MVE_VMLAS_qr_i32
1381 UINT64_C(3993050688), // MVE_VMLAS_qr_i8
1382 UINT64_C(3994095168), // MVE_VMLA_qr_i16
1383 UINT64_C(3995143744), // MVE_VMLA_qr_i32
1384 UINT64_C(3993046592), // MVE_VMLA_qr_i8
1385 UINT64_C(4008709665), // MVE_VMLSDAVas16
1386 UINT64_C(4008775201), // MVE_VMLSDAVas32
1387 UINT64_C(4277145121), // MVE_VMLSDAVas8
1388 UINT64_C(4008713761), // MVE_VMLSDAVaxs16
1389 UINT64_C(4008779297), // MVE_VMLSDAVaxs32
1390 UINT64_C(4277149217), // MVE_VMLSDAVaxs8
1391 UINT64_C(4008709633), // MVE_VMLSDAVs16
1392 UINT64_C(4008775169), // MVE_VMLSDAVs32
1393 UINT64_C(4277145089), // MVE_VMLSDAVs8
1394 UINT64_C(4008713729), // MVE_VMLSDAVxs16
1395 UINT64_C(4008779265), // MVE_VMLSDAVxs32
1396 UINT64_C(4277149185), // MVE_VMLSDAVxs8
1397 UINT64_C(4001369633), // MVE_VMLSLDAVas16
1398 UINT64_C(4001435169), // MVE_VMLSLDAVas32
1399 UINT64_C(4001373729), // MVE_VMLSLDAVaxs16
1400 UINT64_C(4001439265), // MVE_VMLSLDAVaxs32
1401 UINT64_C(4001369601), // MVE_VMLSLDAVs16
1402 UINT64_C(4001435137), // MVE_VMLSLDAVs32
1403 UINT64_C(4001373697), // MVE_VMLSLDAVxs16
1404 UINT64_C(4001439233), // MVE_VMLSLDAVxs32
1405 UINT64_C(4004515648), // MVE_VMOVLs16bh
1406 UINT64_C(4004519744), // MVE_VMOVLs16th
1407 UINT64_C(4003991360), // MVE_VMOVLs8bh
1408 UINT64_C(4003995456), // MVE_VMOVLs8th
1409 UINT64_C(4272951104), // MVE_VMOVLu16bh
1410 UINT64_C(4272955200), // MVE_VMOVLu16th
1411 UINT64_C(4272426816), // MVE_VMOVLu8bh
1412 UINT64_C(4272430912), // MVE_VMOVLu8th
1413 UINT64_C(4264627841), // MVE_VMOVNi16bh
1414 UINT64_C(4264631937), // MVE_VMOVNi16th
1415 UINT64_C(4264889985), // MVE_VMOVNi32bh
1416 UINT64_C(4264894081), // MVE_VMOVNi32th
1417 UINT64_C(3994028816), // MVE_VMOV_from_lane_32
1418 UINT64_C(3994028848), // MVE_VMOV_from_lane_s16
1419 UINT64_C(3998223120), // MVE_VMOV_from_lane_s8
1420 UINT64_C(4002417456), // MVE_VMOV_from_lane_u16
1421 UINT64_C(4006611728), // MVE_VMOV_from_lane_u8
1422 UINT64_C(3960475392), // MVE_VMOV_q_rr
1423 UINT64_C(3959426816), // MVE_VMOV_rr_q
1424 UINT64_C(3992980272), // MVE_VMOV_to_lane_16
1425 UINT64_C(3992980240), // MVE_VMOV_to_lane_32
1426 UINT64_C(3997174544), // MVE_VMOV_to_lane_8
1427 UINT64_C(4018147152), // MVE_VMOVimmf32
1428 UINT64_C(4018145360), // MVE_VMOVimmi16
1429 UINT64_C(4018143312), // MVE_VMOVimmi32
1430 UINT64_C(4018146928), // MVE_VMOVimmi64
1431 UINT64_C(4018146896), // MVE_VMOVimmi8
1432 UINT64_C(3994095105), // MVE_VMULHs16
1433 UINT64_C(3995143681), // MVE_VMULHs32
1434 UINT64_C(3993046529), // MVE_VMULHs8
1435 UINT64_C(4262530561), // MVE_VMULHu16
1436 UINT64_C(4263579137), // MVE_VMULHu32
1437 UINT64_C(4261481985), // MVE_VMULHu8
1438 UINT64_C(4264627712), // MVE_VMULLBp16
1439 UINT64_C(3996192256), // MVE_VMULLBp8
1440 UINT64_C(3994095104), // MVE_VMULLBs16
1441 UINT64_C(3995143680), // MVE_VMULLBs32
1442 UINT64_C(3993046528), // MVE_VMULLBs8
1443 UINT64_C(4262530560), // MVE_VMULLBu16
1444 UINT64_C(4263579136), // MVE_VMULLBu32
1445 UINT64_C(4261481984), // MVE_VMULLBu8
1446 UINT64_C(4264631808), // MVE_VMULLTp16
1447 UINT64_C(3996196352), // MVE_VMULLTp8
1448 UINT64_C(3994099200), // MVE_VMULLTs16
1449 UINT64_C(3995147776), // MVE_VMULLTs32
1450 UINT64_C(3993050624), // MVE_VMULLTs8
1451 UINT64_C(4262534656), // MVE_VMULLTu16
1452 UINT64_C(4263583232), // MVE_VMULLTu32
1453 UINT64_C(4261486080), // MVE_VMULLTu8
1454 UINT64_C(4264627808), // MVE_VMUL_qr_f16
1455 UINT64_C(3996192352), // MVE_VMUL_qr_f32
1456 UINT64_C(3994099296), // MVE_VMUL_qr_i16
1457 UINT64_C(3995147872), // MVE_VMUL_qr_i32
1458 UINT64_C(3993050720), // MVE_VMUL_qr_i8
1459 UINT64_C(4279242064), // MVE_VMULf16
1460 UINT64_C(4278193488), // MVE_VMULf32
1461 UINT64_C(4010805584), // MVE_VMULi16
1462 UINT64_C(4011854160), // MVE_VMULi32
1463 UINT64_C(4009757008), // MVE_VMULi8
1464 UINT64_C(4289725888), // MVE_VMVN
1465 UINT64_C(4018145392), // MVE_VMVNimmi16
1466 UINT64_C(4018143344), // MVE_VMVNimmi32
1467 UINT64_C(4290054080), // MVE_VNEGf16
1468 UINT64_C(4290316224), // MVE_VNEGf32
1469 UINT64_C(4290053056), // MVE_VNEGs16
1470 UINT64_C(4290315200), // MVE_VNEGs32
1471 UINT64_C(4289790912), // MVE_VNEGs8
1472 UINT64_C(4012900688), // MVE_VORN
1473 UINT64_C(4011852112), // MVE_VORR
1474 UINT64_C(4018145616), // MVE_VORRimmi16
1475 UINT64_C(4018143568), // MVE_VORRimmi32
1476 UINT64_C(4264628045), // MVE_VPNOT
1477 UINT64_C(4264627969), // MVE_VPSEL
1478 UINT64_C(4264628045), // MVE_VPST
1479 UINT64_C(4261482240), // MVE_VPTv16i8
1480 UINT64_C(4261482304), // MVE_VPTv16i8r
1481 UINT64_C(4261486336), // MVE_VPTv16s8
1482 UINT64_C(4261486400), // MVE_VPTv16s8r
1483 UINT64_C(4261482241), // MVE_VPTv16u8
1484 UINT64_C(4261482336), // MVE_VPTv16u8r
1485 UINT64_C(3996192512), // MVE_VPTv4f32
1486 UINT64_C(3996192576), // MVE_VPTv4f32r
1487 UINT64_C(4263579392), // MVE_VPTv4i32
1488 UINT64_C(4263579456), // MVE_VPTv4i32r
1489 UINT64_C(4263583488), // MVE_VPTv4s32
1490 UINT64_C(4263583552), // MVE_VPTv4s32r
1491 UINT64_C(4263579393), // MVE_VPTv4u32
1492 UINT64_C(4263579488), // MVE_VPTv4u32r
1493 UINT64_C(4264627968), // MVE_VPTv8f16
1494 UINT64_C(4264628032), // MVE_VPTv8f16r
1495 UINT64_C(4262530816), // MVE_VPTv8i16
1496 UINT64_C(4262530880), // MVE_VPTv8i16r
1497 UINT64_C(4262534912), // MVE_VPTv8s16
1498 UINT64_C(4262534976), // MVE_VPTv8s16r
1499 UINT64_C(4262530817), // MVE_VPTv8u16
1500 UINT64_C(4262530912), // MVE_VPTv8u16r
1501 UINT64_C(4289988416), // MVE_VQABSs16
1502 UINT64_C(4290250560), // MVE_VQABSs32
1503 UINT64_C(4289726272), // MVE_VQABSs8
1504 UINT64_C(3994029920), // MVE_VQADD_qr_s16
1505 UINT64_C(3995078496), // MVE_VQADD_qr_s32
1506 UINT64_C(3992981344), // MVE_VQADD_qr_s8
1507 UINT64_C(4262465376), // MVE_VQADD_qr_u16
1508 UINT64_C(4263513952), // MVE_VQADD_qr_u32
1509 UINT64_C(4261416800), // MVE_VQADD_qr_u8
1510 UINT64_C(4010803280), // MVE_VQADDs16
1511 UINT64_C(4011851856), // MVE_VQADDs32
1512 UINT64_C(4009754704), // MVE_VQADDs8
1513 UINT64_C(4279238736), // MVE_VQADDu16
1514 UINT64_C(4280287312), // MVE_VQADDu32
1515 UINT64_C(4278190160), // MVE_VQADDu8
1516 UINT64_C(3994033664), // MVE_VQDMLADHXs16
1517 UINT64_C(3995082240), // MVE_VQDMLADHXs32
1518 UINT64_C(3992985088), // MVE_VQDMLADHXs8
1519 UINT64_C(3994029568), // MVE_VQDMLADHs16
1520 UINT64_C(3995078144), // MVE_VQDMLADHs32
1521 UINT64_C(3992980992), // MVE_VQDMLADHs8
1522 UINT64_C(3994029664), // MVE_VQDMLAH_qrs16
1523 UINT64_C(3995078240), // MVE_VQDMLAH_qrs32
1524 UINT64_C(3992981088), // MVE_VQDMLAH_qrs8
1525 UINT64_C(3994033760), // MVE_VQDMLASH_qrs16
1526 UINT64_C(3995082336), // MVE_VQDMLASH_qrs32
1527 UINT64_C(3992985184), // MVE_VQDMLASH_qrs8
1528 UINT64_C(4262469120), // MVE_VQDMLSDHXs16
1529 UINT64_C(4263517696), // MVE_VQDMLSDHXs32
1530 UINT64_C(4261420544), // MVE_VQDMLSDHXs8
1531 UINT64_C(4262465024), // MVE_VQDMLSDHs16
1532 UINT64_C(4263513600), // MVE_VQDMLSDHs32
1533 UINT64_C(4261416448), // MVE_VQDMLSDHs8
1534 UINT64_C(3994095200), // MVE_VQDMULH_qr_s16
1535 UINT64_C(3995143776), // MVE_VQDMULH_qr_s32
1536 UINT64_C(3993046624), // MVE_VQDMULH_qr_s8
1537 UINT64_C(4010806080), // MVE_VQDMULHi16
1538 UINT64_C(4011854656), // MVE_VQDMULHi32
1539 UINT64_C(4009757504), // MVE_VQDMULHi8
1540 UINT64_C(3996127072), // MVE_VQDMULL_qr_s16bh
1541 UINT64_C(3996131168), // MVE_VQDMULL_qr_s16th
1542 UINT64_C(4264562528), // MVE_VQDMULL_qr_s32bh
1543 UINT64_C(4264566624), // MVE_VQDMULL_qr_s32th
1544 UINT64_C(3996126977), // MVE_VQDMULLs16bh
1545 UINT64_C(3996131073), // MVE_VQDMULLs16th
1546 UINT64_C(4264562433), // MVE_VQDMULLs32bh
1547 UINT64_C(4264566529), // MVE_VQDMULLs32th
1548 UINT64_C(3996323329), // MVE_VQMOVNs16bh
1549 UINT64_C(3996327425), // MVE_VQMOVNs16th
1550 UINT64_C(3996585473), // MVE_VQMOVNs32bh
1551 UINT64_C(3996589569), // MVE_VQMOVNs32th
1552 UINT64_C(4264758785), // MVE_VQMOVNu16bh
1553 UINT64_C(4264762881), // MVE_VQMOVNu16th
1554 UINT64_C(4265020929), // MVE_VQMOVNu32bh
1555 UINT64_C(4265025025), // MVE_VQMOVNu32th
1556 UINT64_C(3996192385), // MVE_VQMOVUNs16bh
1557 UINT64_C(3996196481), // MVE_VQMOVUNs16th
1558 UINT64_C(3996454529), // MVE_VQMOVUNs32bh
1559 UINT64_C(3996458625), // MVE_VQMOVUNs32th
1560 UINT64_C(4289988544), // MVE_VQNEGs16
1561 UINT64_C(4290250688), // MVE_VQNEGs32
1562 UINT64_C(4289726400), // MVE_VQNEGs8
1563 UINT64_C(3994033665), // MVE_VQRDMLADHXs16
1564 UINT64_C(3995082241), // MVE_VQRDMLADHXs32
1565 UINT64_C(3992985089), // MVE_VQRDMLADHXs8
1566 UINT64_C(3994029569), // MVE_VQRDMLADHs16
1567 UINT64_C(3995078145), // MVE_VQRDMLADHs32
1568 UINT64_C(3992980993), // MVE_VQRDMLADHs8
1569 UINT64_C(3994029632), // MVE_VQRDMLAH_qrs16
1570 UINT64_C(3995078208), // MVE_VQRDMLAH_qrs32
1571 UINT64_C(3992981056), // MVE_VQRDMLAH_qrs8
1572 UINT64_C(3994033728), // MVE_VQRDMLASH_qrs16
1573 UINT64_C(3995082304), // MVE_VQRDMLASH_qrs32
1574 UINT64_C(3992985152), // MVE_VQRDMLASH_qrs8
1575 UINT64_C(4262469121), // MVE_VQRDMLSDHXs16
1576 UINT64_C(4263517697), // MVE_VQRDMLSDHXs32
1577 UINT64_C(4261420545), // MVE_VQRDMLSDHXs8
1578 UINT64_C(4262465025), // MVE_VQRDMLSDHs16
1579 UINT64_C(4263513601), // MVE_VQRDMLSDHs32
1580 UINT64_C(4261416449), // MVE_VQRDMLSDHs8
1581 UINT64_C(4262530656), // MVE_VQRDMULH_qr_s16
1582 UINT64_C(4263579232), // MVE_VQRDMULH_qr_s32
1583 UINT64_C(4261482080), // MVE_VQRDMULH_qr_s8
1584 UINT64_C(4279241536), // MVE_VQRDMULHi16
1585 UINT64_C(4280290112), // MVE_VQRDMULHi32
1586 UINT64_C(4278192960), // MVE_VQRDMULHi8
1587 UINT64_C(4010804560), // MVE_VQRSHL_by_vecs16
1588 UINT64_C(4011853136), // MVE_VQRSHL_by_vecs32
1589 UINT64_C(4009755984), // MVE_VQRSHL_by_vecs8
1590 UINT64_C(4279240016), // MVE_VQRSHL_by_vecu16
1591 UINT64_C(4280288592), // MVE_VQRSHL_by_vecu32
1592 UINT64_C(4278191440), // MVE_VQRSHL_by_vecu8
1593 UINT64_C(3996589792), // MVE_VQRSHL_qrs16
1594 UINT64_C(3996851936), // MVE_VQRSHL_qrs32
1595 UINT64_C(3996327648), // MVE_VQRSHL_qrs8
1596 UINT64_C(4265025248), // MVE_VQRSHL_qru16
1597 UINT64_C(4265287392), // MVE_VQRSHL_qru32
1598 UINT64_C(4264763104), // MVE_VQRSHL_qru8
1599 UINT64_C(4001894209), // MVE_VQRSHRNbhs16
1600 UINT64_C(4002418497), // MVE_VQRSHRNbhs32
1601 UINT64_C(4270329665), // MVE_VQRSHRNbhu16
1602 UINT64_C(4270853953), // MVE_VQRSHRNbhu32
1603 UINT64_C(4001898305), // MVE_VQRSHRNths16
1604 UINT64_C(4002422593), // MVE_VQRSHRNths32
1605 UINT64_C(4270333761), // MVE_VQRSHRNthu16
1606 UINT64_C(4270858049), // MVE_VQRSHRNthu32
1607 UINT64_C(4270329792), // MVE_VQRSHRUNs16bh
1608 UINT64_C(4270333888), // MVE_VQRSHRUNs16th
1609 UINT64_C(4270854080), // MVE_VQRSHRUNs32bh
1610 UINT64_C(4270858176), // MVE_VQRSHRUNs32th
1611 UINT64_C(4287628880), // MVE_VQSHLU_imms16
1612 UINT64_C(4288677456), // MVE_VQSHLU_imms32
1613 UINT64_C(4287104592), // MVE_VQSHLU_imms8
1614 UINT64_C(4010804304), // MVE_VQSHL_by_vecs16
1615 UINT64_C(4011852880), // MVE_VQSHL_by_vecs32
1616 UINT64_C(4009755728), // MVE_VQSHL_by_vecs8
1617 UINT64_C(4279239760), // MVE_VQSHL_by_vecu16
1618 UINT64_C(4280288336), // MVE_VQSHL_by_vecu32
1619 UINT64_C(4278191184), // MVE_VQSHL_by_vecu8
1620 UINT64_C(3996458720), // MVE_VQSHL_qrs16
1621 UINT64_C(3996720864), // MVE_VQSHL_qrs32
1622 UINT64_C(3996196576), // MVE_VQSHL_qrs8
1623 UINT64_C(4264894176), // MVE_VQSHL_qru16
1624 UINT64_C(4265156320), // MVE_VQSHL_qru32
1625 UINT64_C(4264632032), // MVE_VQSHL_qru8
1626 UINT64_C(4019193680), // MVE_VQSHLimms16
1627 UINT64_C(4020242256), // MVE_VQSHLimms32
1628 UINT64_C(4018669392), // MVE_VQSHLimms8
1629 UINT64_C(4287629136), // MVE_VQSHLimmu16
1630 UINT64_C(4288677712), // MVE_VQSHLimmu32
1631 UINT64_C(4287104848), // MVE_VQSHLimmu8
1632 UINT64_C(4001894208), // MVE_VQSHRNbhs16
1633 UINT64_C(4002418496), // MVE_VQSHRNbhs32
1634 UINT64_C(4270329664), // MVE_VQSHRNbhu16
1635 UINT64_C(4270853952), // MVE_VQSHRNbhu32
1636 UINT64_C(4001898304), // MVE_VQSHRNths16
1637 UINT64_C(4002422592), // MVE_VQSHRNths32
1638 UINT64_C(4270333760), // MVE_VQSHRNthu16
1639 UINT64_C(4270858048), // MVE_VQSHRNthu32
1640 UINT64_C(4001894336), // MVE_VQSHRUNs16bh
1641 UINT64_C(4001898432), // MVE_VQSHRUNs16th
1642 UINT64_C(4002418624), // MVE_VQSHRUNs32bh
1643 UINT64_C(4002422720), // MVE_VQSHRUNs32th
1644 UINT64_C(3994034016), // MVE_VQSUB_qr_s16
1645 UINT64_C(3995082592), // MVE_VQSUB_qr_s32
1646 UINT64_C(3992985440), // MVE_VQSUB_qr_s8
1647 UINT64_C(4262469472), // MVE_VQSUB_qr_u16
1648 UINT64_C(4263518048), // MVE_VQSUB_qr_u32
1649 UINT64_C(4261420896), // MVE_VQSUB_qr_u8
1650 UINT64_C(4010803792), // MVE_VQSUBs16
1651 UINT64_C(4011852368), // MVE_VQSUBs32
1652 UINT64_C(4009755216), // MVE_VQSUBs8
1653 UINT64_C(4279239248), // MVE_VQSUBu16
1654 UINT64_C(4280287824), // MVE_VQSUBu32
1655 UINT64_C(4278190672), // MVE_VQSUBu8
1656 UINT64_C(4289724736), // MVE_VREV16_8
1657 UINT64_C(4289986752), // MVE_VREV32_16
1658 UINT64_C(4289724608), // MVE_VREV32_8
1659 UINT64_C(4289986624), // MVE_VREV64_16
1660 UINT64_C(4290248768), // MVE_VREV64_32
1661 UINT64_C(4289724480), // MVE_VREV64_8
1662 UINT64_C(4010803520), // MVE_VRHADDs16
1663 UINT64_C(4011852096), // MVE_VRHADDs32
1664 UINT64_C(4009754944), // MVE_VRHADDs8
1665 UINT64_C(4279238976), // MVE_VRHADDu16
1666 UINT64_C(4280287552), // MVE_VRHADDu32
1667 UINT64_C(4278190400), // MVE_VRHADDu8
1668 UINT64_C(4290118976), // MVE_VRINTf16A
1669 UINT64_C(4290119360), // MVE_VRINTf16M
1670 UINT64_C(4290118720), // MVE_VRINTf16N
1671 UINT64_C(4290119616), // MVE_VRINTf16P
1672 UINT64_C(4290118848), // MVE_VRINTf16X
1673 UINT64_C(4290119104), // MVE_VRINTf16Z
1674 UINT64_C(4290381120), // MVE_VRINTf32A
1675 UINT64_C(4290381504), // MVE_VRINTf32M
1676 UINT64_C(4290380864), // MVE_VRINTf32N
1677 UINT64_C(4290381760), // MVE_VRINTf32P
1678 UINT64_C(4290380992), // MVE_VRINTf32X
1679 UINT64_C(4290381248), // MVE_VRINTf32Z
1680 UINT64_C(4001369888), // MVE_VRMLALDAVHas32
1681 UINT64_C(4269805344), // MVE_VRMLALDAVHau32
1682 UINT64_C(4001373984), // MVE_VRMLALDAVHaxs32
1683 UINT64_C(4001369856), // MVE_VRMLALDAVHs32
1684 UINT64_C(4269805312), // MVE_VRMLALDAVHu32
1685 UINT64_C(4001373952), // MVE_VRMLALDAVHxs32
1686 UINT64_C(4269805089), // MVE_VRMLSLDAVHas32
1687 UINT64_C(4269809185), // MVE_VRMLSLDAVHaxs32
1688 UINT64_C(4269805057), // MVE_VRMLSLDAVHs32
1689 UINT64_C(4269809153), // MVE_VRMLSLDAVHxs32
1690 UINT64_C(3994099201), // MVE_VRMULHs16
1691 UINT64_C(3995147777), // MVE_VRMULHs32
1692 UINT64_C(3993050625), // MVE_VRMULHs8
1693 UINT64_C(4262534657), // MVE_VRMULHu16
1694 UINT64_C(4263583233), // MVE_VRMULHu32
1695 UINT64_C(4261486081), // MVE_VRMULHu8
1696 UINT64_C(4010804544), // MVE_VRSHL_by_vecs16
1697 UINT64_C(4011853120), // MVE_VRSHL_by_vecs32
1698 UINT64_C(4009755968), // MVE_VRSHL_by_vecs8
1699 UINT64_C(4279240000), // MVE_VRSHL_by_vecu16
1700 UINT64_C(4280288576), // MVE_VRSHL_by_vecu32
1701 UINT64_C(4278191424), // MVE_VRSHL_by_vecu8
1702 UINT64_C(3996589664), // MVE_VRSHL_qrs16
1703 UINT64_C(3996851808), // MVE_VRSHL_qrs32
1704 UINT64_C(3996327520), // MVE_VRSHL_qrs8
1705 UINT64_C(4265025120), // MVE_VRSHL_qru16
1706 UINT64_C(4265287264), // MVE_VRSHL_qru32
1707 UINT64_C(4264762976), // MVE_VRSHL_qru8
1708 UINT64_C(4270329793), // MVE_VRSHRNi16bh
1709 UINT64_C(4270333889), // MVE_VRSHRNi16th
1710 UINT64_C(4270854081), // MVE_VRSHRNi32bh
1711 UINT64_C(4270858177), // MVE_VRSHRNi32th
1712 UINT64_C(4019192400), // MVE_VRSHR_imms16
1713 UINT64_C(4020240976), // MVE_VRSHR_imms32
1714 UINT64_C(4018668112), // MVE_VRSHR_imms8
1715 UINT64_C(4287627856), // MVE_VRSHR_immu16
1716 UINT64_C(4288676432), // MVE_VRSHR_immu32
1717 UINT64_C(4287103568), // MVE_VRSHR_immu8
1718 UINT64_C(4264562432), // MVE_VSBC
1719 UINT64_C(4264566528), // MVE_VSBCI
1720 UINT64_C(4003467200), // MVE_VSHLC
1721 UINT64_C(4004515648), // MVE_VSHLL_imms16bh
1722 UINT64_C(4004519744), // MVE_VSHLL_imms16th
1723 UINT64_C(4003991360), // MVE_VSHLL_imms8bh
1724 UINT64_C(4003995456), // MVE_VSHLL_imms8th
1725 UINT64_C(4272951104), // MVE_VSHLL_immu16bh
1726 UINT64_C(4272955200), // MVE_VSHLL_immu16th
1727 UINT64_C(4272426816), // MVE_VSHLL_immu8bh
1728 UINT64_C(4272430912), // MVE_VSHLL_immu8th
1729 UINT64_C(3996454401), // MVE_VSHLL_lws16bh
1730 UINT64_C(3996458497), // MVE_VSHLL_lws16th
1731 UINT64_C(3996192257), // MVE_VSHLL_lws8bh
1732 UINT64_C(3996196353), // MVE_VSHLL_lws8th
1733 UINT64_C(4264889857), // MVE_VSHLL_lwu16bh
1734 UINT64_C(4264893953), // MVE_VSHLL_lwu16th
1735 UINT64_C(4264627713), // MVE_VSHLL_lwu8bh
1736 UINT64_C(4264631809), // MVE_VSHLL_lwu8th
1737 UINT64_C(4010804288), // MVE_VSHL_by_vecs16
1738 UINT64_C(4011852864), // MVE_VSHL_by_vecs32
1739 UINT64_C(4009755712), // MVE_VSHL_by_vecs8
1740 UINT64_C(4279239744), // MVE_VSHL_by_vecu16
1741 UINT64_C(4280288320), // MVE_VSHL_by_vecu32
1742 UINT64_C(4278191168), // MVE_VSHL_by_vecu8
1743 UINT64_C(4019193168), // MVE_VSHL_immi16
1744 UINT64_C(4020241744), // MVE_VSHL_immi32
1745 UINT64_C(4018668880), // MVE_VSHL_immi8
1746 UINT64_C(3996458592), // MVE_VSHL_qrs16
1747 UINT64_C(3996720736), // MVE_VSHL_qrs32
1748 UINT64_C(3996196448), // MVE_VSHL_qrs8
1749 UINT64_C(4264894048), // MVE_VSHL_qru16
1750 UINT64_C(4265156192), // MVE_VSHL_qru32
1751 UINT64_C(4264631904), // MVE_VSHL_qru8
1752 UINT64_C(4001894337), // MVE_VSHRNi16bh
1753 UINT64_C(4001898433), // MVE_VSHRNi16th
1754 UINT64_C(4002418625), // MVE_VSHRNi32bh
1755 UINT64_C(4002422721), // MVE_VSHRNi32th
1756 UINT64_C(4019191888), // MVE_VSHR_imms16
1757 UINT64_C(4020240464), // MVE_VSHR_imms32
1758 UINT64_C(4018667600), // MVE_VSHR_imms8
1759 UINT64_C(4287627344), // MVE_VSHR_immu16
1760 UINT64_C(4288675920), // MVE_VSHR_immu32
1761 UINT64_C(4287103056), // MVE_VSHR_immu8
1762 UINT64_C(4287628624), // MVE_VSLIimm16
1763 UINT64_C(4288677200), // MVE_VSLIimm32
1764 UINT64_C(4287104336), // MVE_VSLIimm8
1765 UINT64_C(4287628368), // MVE_VSRIimm16
1766 UINT64_C(4288676944), // MVE_VSRIimm32
1767 UINT64_C(4287104080), // MVE_VSRIimm8
1768 UINT64_C(4236254848), // MVE_VST20_16
1769 UINT64_C(4238352000), // MVE_VST20_16_wb
1770 UINT64_C(4236254976), // MVE_VST20_32
1771 UINT64_C(4238352128), // MVE_VST20_32_wb
1772 UINT64_C(4236254720), // MVE_VST20_8
1773 UINT64_C(4238351872), // MVE_VST20_8_wb
1774 UINT64_C(4236254880), // MVE_VST21_16
1775 UINT64_C(4238352032), // MVE_VST21_16_wb
1776 UINT64_C(4236255008), // MVE_VST21_32
1777 UINT64_C(4238352160), // MVE_VST21_32_wb
1778 UINT64_C(4236254752), // MVE_VST21_8
1779 UINT64_C(4238351904), // MVE_VST21_8_wb
1780 UINT64_C(4236254849), // MVE_VST40_16
1781 UINT64_C(4238352001), // MVE_VST40_16_wb
1782 UINT64_C(4236254977), // MVE_VST40_32
1783 UINT64_C(4238352129), // MVE_VST40_32_wb
1784 UINT64_C(4236254721), // MVE_VST40_8
1785 UINT64_C(4238351873), // MVE_VST40_8_wb
1786 UINT64_C(4236254881), // MVE_VST41_16
1787 UINT64_C(4238352033), // MVE_VST41_16_wb
1788 UINT64_C(4236255009), // MVE_VST41_32
1789 UINT64_C(4238352161), // MVE_VST41_32_wb
1790 UINT64_C(4236254753), // MVE_VST41_8
1791 UINT64_C(4238351905), // MVE_VST41_8_wb
1792 UINT64_C(4236254913), // MVE_VST42_16
1793 UINT64_C(4238352065), // MVE_VST42_16_wb
1794 UINT64_C(4236255041), // MVE_VST42_32
1795 UINT64_C(4238352193), // MVE_VST42_32_wb
1796 UINT64_C(4236254785), // MVE_VST42_8
1797 UINT64_C(4238351937), // MVE_VST42_8_wb
1798 UINT64_C(4236254945), // MVE_VST43_16
1799 UINT64_C(4238352097), // MVE_VST43_16_wb
1800 UINT64_C(4236255073), // MVE_VST43_32
1801 UINT64_C(4238352225), // MVE_VST43_32_wb
1802 UINT64_C(4236254817), // MVE_VST43_8
1803 UINT64_C(4238351969), // MVE_VST43_8_wb
1804 UINT64_C(3976203904), // MVE_VSTRB16
1805 UINT64_C(3961523840), // MVE_VSTRB16_post
1806 UINT64_C(3978301056), // MVE_VSTRB16_pre
1807 UINT64_C(3967815296), // MVE_VSTRB16_rq
1808 UINT64_C(3976204032), // MVE_VSTRB32
1809 UINT64_C(3961523968), // MVE_VSTRB32_post
1810 UINT64_C(3978301184), // MVE_VSTRB32_pre
1811 UINT64_C(3967815424), // MVE_VSTRB32_rq
1812 UINT64_C(3967815168), // MVE_VSTRB8_rq
1813 UINT64_C(3976207872), // MVE_VSTRBU8
1814 UINT64_C(3961527808), // MVE_VSTRBU8_post
1815 UINT64_C(3978305024), // MVE_VSTRBU8_pre
1816 UINT64_C(4244643584), // MVE_VSTRD64_qi
1817 UINT64_C(4246740736), // MVE_VSTRD64_qi_pre
1818 UINT64_C(3967815633), // MVE_VSTRD64_rq
1819 UINT64_C(3967815632), // MVE_VSTRD64_rq_u
1820 UINT64_C(3967815313), // MVE_VSTRH16_rq
1821 UINT64_C(3967815312), // MVE_VSTRH16_rq_u
1822 UINT64_C(3976728320), // MVE_VSTRH32
1823 UINT64_C(3962048256), // MVE_VSTRH32_post
1824 UINT64_C(3978825472), // MVE_VSTRH32_pre
1825 UINT64_C(3967815441), // MVE_VSTRH32_rq
1826 UINT64_C(3967815440), // MVE_VSTRH32_rq_u
1827 UINT64_C(3976208000), // MVE_VSTRHU16
1828 UINT64_C(3961527936), // MVE_VSTRHU16_post
1829 UINT64_C(3978305152), // MVE_VSTRHU16_pre
1830 UINT64_C(4244643328), // MVE_VSTRW32_qi
1831 UINT64_C(4246740480), // MVE_VSTRW32_qi_pre
1832 UINT64_C(3967815489), // MVE_VSTRW32_rq
1833 UINT64_C(3967815488), // MVE_VSTRW32_rq_u
1834 UINT64_C(3976208128), // MVE_VSTRWU32
1835 UINT64_C(3961528064), // MVE_VSTRWU32_post
1836 UINT64_C(3978305280), // MVE_VSTRWU32_pre
1837 UINT64_C(4264566592), // MVE_VSUB_qr_f16
1838 UINT64_C(3996131136), // MVE_VSUB_qr_f32
1839 UINT64_C(3994099520), // MVE_VSUB_qr_i16
1840 UINT64_C(3995148096), // MVE_VSUB_qr_i32
1841 UINT64_C(3993050944), // MVE_VSUB_qr_i8
1842 UINT64_C(4012903744), // MVE_VSUBf16
1843 UINT64_C(4011855168), // MVE_VSUBf32
1844 UINT64_C(4279240768), // MVE_VSUBi16
1845 UINT64_C(4280289344), // MVE_VSUBi32
1846 UINT64_C(4278192192), // MVE_VSUBi8
1847 UINT64_C(4027629569), // MVE_WLSTP_16
1848 UINT64_C(4028678145), // MVE_WLSTP_32
1849 UINT64_C(4029726721), // MVE_WLSTP_64
1850 UINT64_C(4026580993), // MVE_WLSTP_8
1851 UINT64_C(65011712), // MVNi
1852 UINT64_C(31457280), // MVNr
1853 UINT64_C(31457280), // MVNsi
1854 UINT64_C(31457296), // MVNsr
1855 UINT64_C(4076867344), // NEON_VMAXNMNDf
1856 UINT64_C(4077915920), // NEON_VMAXNMNDh
1857 UINT64_C(4076867408), // NEON_VMAXNMNQf
1858 UINT64_C(4077915984), // NEON_VMAXNMNQh
1859 UINT64_C(4078964496), // NEON_VMINNMNDf
1860 UINT64_C(4080013072), // NEON_VMINNMNDh
1861 UINT64_C(4078964560), // NEON_VMINNMNQf
1862 UINT64_C(4080013136), // NEON_VMINNMNQh
1863 UINT64_C(58720256), // ORRri
1864 UINT64_C(25165824), // ORRrr
1865 UINT64_C(25165824), // ORRrsi
1866 UINT64_C(25165840), // ORRrsr
1867 UINT64_C(109051920), // PKHBT
1868 UINT64_C(109051984), // PKHTB
1869 UINT64_C(4111527936), // PLDWi12
1870 UINT64_C(4145082368), // PLDWrs
1871 UINT64_C(4115722240), // PLDi12
1872 UINT64_C(4149276672), // PLDrs
1873 UINT64_C(4098945024), // PLIi12
1874 UINT64_C(4132499456), // PLIrs
1875 UINT64_C(16777296), // QADD
1876 UINT64_C(102764304), // QADD16
1877 UINT64_C(102764432), // QADD8
1878 UINT64_C(102764336), // QASX
1879 UINT64_C(20971600), // QDADD
1880 UINT64_C(23068752), // QDSUB
1881 UINT64_C(102764368), // QSAX
1882 UINT64_C(18874448), // QSUB
1883 UINT64_C(102764400), // QSUB16
1884 UINT64_C(102764528), // QSUB8
1885 UINT64_C(117378864), // RBIT
1886 UINT64_C(113184560), // REV
1887 UINT64_C(113184688), // REV16
1888 UINT64_C(117378992), // REVSH
1889 UINT64_C(4161800704), // RFEDA
1890 UINT64_C(4163897856), // RFEDA_UPD
1891 UINT64_C(4178577920), // RFEDB
1892 UINT64_C(4180675072), // RFEDB_UPD
1893 UINT64_C(4170189312), // RFEIA
1894 UINT64_C(4172286464), // RFEIA_UPD
1895 UINT64_C(4186966528), // RFEIB
1896 UINT64_C(4189063680), // RFEIB_UPD
1897 UINT64_C(39845888), // RSBri
1898 UINT64_C(6291456), // RSBrr
1899 UINT64_C(6291456), // RSBrsi
1900 UINT64_C(6291472), // RSBrsr
1901 UINT64_C(48234496), // RSCri
1902 UINT64_C(14680064), // RSCrr
1903 UINT64_C(14680064), // RSCrsi
1904 UINT64_C(14680080), // RSCrsr
1905 UINT64_C(101715728), // SADD16
1906 UINT64_C(101715856), // SADD8
1907 UINT64_C(101715760), // SASX
1908 UINT64_C(4118802544), // SB
1909 UINT64_C(46137344), // SBCri
1910 UINT64_C(12582912), // SBCrr
1911 UINT64_C(12582912), // SBCrsi
1912 UINT64_C(12582928), // SBCrsr
1913 UINT64_C(127926352), // SBFX
1914 UINT64_C(118550544), // SDIV
1915 UINT64_C(109055920), // SEL
1916 UINT64_C(4043374592), // SETEND
1917 UINT64_C(4044357632), // SETPAN
1918 UINT64_C(4060089408), // SHA1C
1919 UINT64_C(4088988352), // SHA1H
1920 UINT64_C(4062186560), // SHA1M
1921 UINT64_C(4061137984), // SHA1P
1922 UINT64_C(4063235136), // SHA1SU0
1923 UINT64_C(4089054080), // SHA1SU1
1924 UINT64_C(4076866624), // SHA256H
1925 UINT64_C(4077915200), // SHA256H2
1926 UINT64_C(4089054144), // SHA256SU0
1927 UINT64_C(4078963776), // SHA256SU1
1928 UINT64_C(103812880), // SHADD16
1929 UINT64_C(103813008), // SHADD8
1930 UINT64_C(103812912), // SHASX
1931 UINT64_C(103812944), // SHSAX
1932 UINT64_C(103812976), // SHSUB16
1933 UINT64_C(103813104), // SHSUB8
1934 UINT64_C(23068784), // SMC
1935 UINT64_C(16777344), // SMLABB
1936 UINT64_C(16777408), // SMLABT
1937 UINT64_C(117440528), // SMLAD
1938 UINT64_C(117440560), // SMLADX
1939 UINT64_C(14680208), // SMLAL
1940 UINT64_C(20971648), // SMLALBB
1941 UINT64_C(20971712), // SMLALBT
1942 UINT64_C(121634832), // SMLALD
1943 UINT64_C(121634864), // SMLALDX
1944 UINT64_C(20971680), // SMLALTB
1945 UINT64_C(20971744), // SMLALTT
1946 UINT64_C(16777376), // SMLATB
1947 UINT64_C(16777440), // SMLATT
1948 UINT64_C(18874496), // SMLAWB
1949 UINT64_C(18874560), // SMLAWT
1950 UINT64_C(117440592), // SMLSD
1951 UINT64_C(117440624), // SMLSDX
1952 UINT64_C(121634896), // SMLSLD
1953 UINT64_C(121634928), // SMLSLDX
1954 UINT64_C(122683408), // SMMLA
1955 UINT64_C(122683440), // SMMLAR
1956 UINT64_C(122683600), // SMMLS
1957 UINT64_C(122683632), // SMMLSR
1958 UINT64_C(122744848), // SMMUL
1959 UINT64_C(122744880), // SMMULR
1960 UINT64_C(117501968), // SMUAD
1961 UINT64_C(117502000), // SMUADX
1962 UINT64_C(23068800), // SMULBB
1963 UINT64_C(23068864), // SMULBT
1964 UINT64_C(12583056), // SMULL
1965 UINT64_C(23068832), // SMULTB
1966 UINT64_C(23068896), // SMULTT
1967 UINT64_C(18874528), // SMULWB
1968 UINT64_C(18874592), // SMULWT
1969 UINT64_C(117502032), // SMUSD
1970 UINT64_C(117502064), // SMUSDX
1971 UINT64_C(4165797120), // SRSDA
1972 UINT64_C(4167894272), // SRSDA_UPD
1973 UINT64_C(4182574336), // SRSDB
1974 UINT64_C(4184671488), // SRSDB_UPD
1975 UINT64_C(4174185728), // SRSIA
1976 UINT64_C(4176282880), // SRSIA_UPD
1977 UINT64_C(4190962944), // SRSIB
1978 UINT64_C(4193060096), // SRSIB_UPD
1979 UINT64_C(111149072), // SSAT
1980 UINT64_C(111152944), // SSAT16
1981 UINT64_C(101715792), // SSAX
1982 UINT64_C(101715824), // SSUB16
1983 UINT64_C(101715952), // SSUB8
1984 UINT64_C(4248829952), // STC2L_OFFSET
1985 UINT64_C(4240441344), // STC2L_OPTION
1986 UINT64_C(4234149888), // STC2L_POST
1987 UINT64_C(4250927104), // STC2L_PRE
1988 UINT64_C(4244635648), // STC2_OFFSET
1989 UINT64_C(4236247040), // STC2_OPTION
1990 UINT64_C(4229955584), // STC2_POST
1991 UINT64_C(4246732800), // STC2_PRE
1992 UINT64_C(222298112), // STCL_OFFSET
1993 UINT64_C(213909504), // STCL_OPTION
1994 UINT64_C(207618048), // STCL_POST
1995 UINT64_C(224395264), // STCL_PRE
1996 UINT64_C(218103808), // STC_OFFSET
1997 UINT64_C(209715200), // STC_OPTION
1998 UINT64_C(203423744), // STC_POST
1999 UINT64_C(220200960), // STC_PRE
2000 UINT64_C(25230480), // STL
2001 UINT64_C(29424784), // STLB
2002 UINT64_C(25169552), // STLEX
2003 UINT64_C(29363856), // STLEXB
2004 UINT64_C(27266704), // STLEXD
2005 UINT64_C(31461008), // STLEXH
2006 UINT64_C(31521936), // STLH
2007 UINT64_C(134217728), // STMDA
2008 UINT64_C(136314880), // STMDA_UPD
2009 UINT64_C(150994944), // STMDB
2010 UINT64_C(153092096), // STMDB_UPD
2011 UINT64_C(142606336), // STMIA
2012 UINT64_C(144703488), // STMIA_UPD
2013 UINT64_C(159383552), // STMIB
2014 UINT64_C(161480704), // STMIB_UPD
2015 UINT64_C(73400320), // STRBT_POST_IMM
2016 UINT64_C(106954752), // STRBT_POST_REG
2017 UINT64_C(71303168), // STRB_POST_IMM
2018 UINT64_C(104857600), // STRB_POST_REG
2019 UINT64_C(90177536), // STRB_PRE_IMM
2020 UINT64_C(123731968), // STRB_PRE_REG
2021 UINT64_C(88080384), // STRBi12
2022 UINT64_C(121634816), // STRBrs
2023 UINT64_C(16777456), // STRD
2024 UINT64_C(240), // STRD_POST
2025 UINT64_C(18874608), // STRD_PRE
2026 UINT64_C(25169808), // STREX
2027 UINT64_C(29364112), // STREXB
2028 UINT64_C(27266960), // STREXD
2029 UINT64_C(31461264), // STREXH
2030 UINT64_C(16777392), // STRH
2031 UINT64_C(6291632), // STRHTi
2032 UINT64_C(2097328), // STRHTr
2033 UINT64_C(176), // STRH_POST
2034 UINT64_C(18874544), // STRH_PRE
2035 UINT64_C(69206016), // STRT_POST_IMM
2036 UINT64_C(102760448), // STRT_POST_REG
2037 UINT64_C(67108864), // STR_POST_IMM
2038 UINT64_C(100663296), // STR_POST_REG
2039 UINT64_C(85983232), // STR_PRE_IMM
2040 UINT64_C(119537664), // STR_PRE_REG
2041 UINT64_C(83886080), // STRi12
2042 UINT64_C(117440512), // STRrs
2043 UINT64_C(37748736), // SUBri
2044 UINT64_C(4194304), // SUBrr
2045 UINT64_C(4194304), // SUBrsi
2046 UINT64_C(4194320), // SUBrsr
2047 UINT64_C(251658240), // SVC
2048 UINT64_C(16777360), // SWP
2049 UINT64_C(20971664), // SWPB
2050 UINT64_C(111149168), // SXTAB
2051 UINT64_C(109052016), // SXTAB16
2052 UINT64_C(112197744), // SXTAH
2053 UINT64_C(112132208), // SXTB
2054 UINT64_C(110035056), // SXTB16
2055 UINT64_C(113180784), // SXTH
2056 UINT64_C(53477376), // TEQri
2057 UINT64_C(19922944), // TEQrr
2058 UINT64_C(19922944), // TEQrsi
2059 UINT64_C(19922960), // TEQrsr
2060 UINT64_C(3892305662), // TRAP
2061 UINT64_C(3892240112), // TRAPNaCl
2062 UINT64_C(3810586642), // TSB
2063 UINT64_C(51380224), // TSTri
2064 UINT64_C(17825792), // TSTrr
2065 UINT64_C(17825792), // TSTrsi
2066 UINT64_C(17825808), // TSTrsr
2067 UINT64_C(105910032), // UADD16
2068 UINT64_C(105910160), // UADD8
2069 UINT64_C(105910064), // UASX
2070 UINT64_C(132120656), // UBFX
2071 UINT64_C(3891265776), // UDF
2072 UINT64_C(120647696), // UDIV
2073 UINT64_C(108007184), // UHADD16
2074 UINT64_C(108007312), // UHADD8
2075 UINT64_C(108007216), // UHASX
2076 UINT64_C(108007248), // UHSAX
2077 UINT64_C(108007280), // UHSUB16
2078 UINT64_C(108007408), // UHSUB8
2079 UINT64_C(4194448), // UMAAL
2080 UINT64_C(10485904), // UMLAL
2081 UINT64_C(8388752), // UMULL
2082 UINT64_C(106958608), // UQADD16
2083 UINT64_C(106958736), // UQADD8
2084 UINT64_C(106958640), // UQASX
2085 UINT64_C(106958672), // UQSAX
2086 UINT64_C(106958704), // UQSUB16
2087 UINT64_C(106958832), // UQSUB8
2088 UINT64_C(125890576), // USAD8
2089 UINT64_C(125829136), // USADA8
2090 UINT64_C(115343376), // USAT
2091 UINT64_C(115347248), // USAT16
2092 UINT64_C(105910096), // USAX
2093 UINT64_C(105910128), // USUB16
2094 UINT64_C(105910256), // USUB8
2095 UINT64_C(115343472), // UXTAB
2096 UINT64_C(113246320), // UXTAB16
2097 UINT64_C(116392048), // UXTAH
2098 UINT64_C(116326512), // UXTB
2099 UINT64_C(114229360), // UXTB16
2100 UINT64_C(117375088), // UXTH
2101 UINT64_C(4070573312), // VABALsv2i64
2102 UINT64_C(4069524736), // VABALsv4i32
2103 UINT64_C(4068476160), // VABALsv8i16
2104 UINT64_C(4087350528), // VABALuv2i64
2105 UINT64_C(4086301952), // VABALuv4i32
2106 UINT64_C(4085253376), // VABALuv8i16
2107 UINT64_C(4060088144), // VABAsv16i8
2108 UINT64_C(4062185232), // VABAsv2i32
2109 UINT64_C(4061136656), // VABAsv4i16
2110 UINT64_C(4062185296), // VABAsv4i32
2111 UINT64_C(4061136720), // VABAsv8i16
2112 UINT64_C(4060088080), // VABAsv8i8
2113 UINT64_C(4076865360), // VABAuv16i8
2114 UINT64_C(4078962448), // VABAuv2i32
2115 UINT64_C(4077913872), // VABAuv4i16
2116 UINT64_C(4078962512), // VABAuv4i32
2117 UINT64_C(4077913936), // VABAuv8i16
2118 UINT64_C(4076865296), // VABAuv8i8
2119 UINT64_C(4070573824), // VABDLsv2i64
2120 UINT64_C(4069525248), // VABDLsv4i32
2121 UINT64_C(4068476672), // VABDLsv8i16
2122 UINT64_C(4087351040), // VABDLuv2i64
2123 UINT64_C(4086302464), // VABDLuv4i32
2124 UINT64_C(4085253888), // VABDLuv8i16
2125 UINT64_C(4078963968), // VABDfd
2126 UINT64_C(4078964032), // VABDfq
2127 UINT64_C(4080012544), // VABDhd
2128 UINT64_C(4080012608), // VABDhq
2129 UINT64_C(4060088128), // VABDsv16i8
2130 UINT64_C(4062185216), // VABDsv2i32
2131 UINT64_C(4061136640), // VABDsv4i16
2132 UINT64_C(4062185280), // VABDsv4i32
2133 UINT64_C(4061136704), // VABDsv8i16
2134 UINT64_C(4060088064), // VABDsv8i8
2135 UINT64_C(4076865344), // VABDuv16i8
2136 UINT64_C(4078962432), // VABDuv2i32
2137 UINT64_C(4077913856), // VABDuv4i16
2138 UINT64_C(4078962496), // VABDuv4i32
2139 UINT64_C(4077913920), // VABDuv8i16
2140 UINT64_C(4076865280), // VABDuv8i8
2141 UINT64_C(246418368), // VABSD
2142 UINT64_C(246417856), // VABSH
2143 UINT64_C(246418112), // VABSS
2144 UINT64_C(4088989440), // VABSfd
2145 UINT64_C(4088989504), // VABSfq
2146 UINT64_C(4088727296), // VABShd
2147 UINT64_C(4088727360), // VABShq
2148 UINT64_C(4088464192), // VABSv16i8
2149 UINT64_C(4088988416), // VABSv2i32
2150 UINT64_C(4088726272), // VABSv4i16
2151 UINT64_C(4088988480), // VABSv4i32
2152 UINT64_C(4088726336), // VABSv8i16
2153 UINT64_C(4088464128), // VABSv8i8
2154 UINT64_C(4076867088), // VACGEfd
2155 UINT64_C(4076867152), // VACGEfq
2156 UINT64_C(4077915664), // VACGEhd
2157 UINT64_C(4077915728), // VACGEhq
2158 UINT64_C(4078964240), // VACGTfd
2159 UINT64_C(4078964304), // VACGTfq
2160 UINT64_C(4080012816), // VACGThd
2161 UINT64_C(4080012880), // VACGThq
2162 UINT64_C(238029568), // VADDD
2163 UINT64_C(238029056), // VADDH
2164 UINT64_C(4070573056), // VADDHNv2i32
2165 UINT64_C(4069524480), // VADDHNv4i16
2166 UINT64_C(4068475904), // VADDHNv8i8
2167 UINT64_C(4070572032), // VADDLsv2i64
2168 UINT64_C(4069523456), // VADDLsv4i32
2169 UINT64_C(4068474880), // VADDLsv8i16
2170 UINT64_C(4087349248), // VADDLuv2i64
2171 UINT64_C(4086300672), // VADDLuv4i32
2172 UINT64_C(4085252096), // VADDLuv8i16
2173 UINT64_C(238029312), // VADDS
2174 UINT64_C(4070572288), // VADDWsv2i64
2175 UINT64_C(4069523712), // VADDWsv4i32
2176 UINT64_C(4068475136), // VADDWsv8i16
2177 UINT64_C(4087349504), // VADDWuv2i64
2178 UINT64_C(4086300928), // VADDWuv4i32
2179 UINT64_C(4085252352), // VADDWuv8i16
2180 UINT64_C(4060089600), // VADDfd
2181 UINT64_C(4060089664), // VADDfq
2182 UINT64_C(4061138176), // VADDhd
2183 UINT64_C(4061138240), // VADDhq
2184 UINT64_C(4060088384), // VADDv16i8
2185 UINT64_C(4063234048), // VADDv1i64
2186 UINT64_C(4062185472), // VADDv2i32
2187 UINT64_C(4063234112), // VADDv2i64
2188 UINT64_C(4061136896), // VADDv4i16
2189 UINT64_C(4062185536), // VADDv4i32
2190 UINT64_C(4061136960), // VADDv8i16
2191 UINT64_C(4060088320), // VADDv8i8
2192 UINT64_C(4060086544), // VANDd
2193 UINT64_C(4060086608), // VANDq
2194 UINT64_C(4231006224), // VBF16MALBQ
2195 UINT64_C(4264560656), // VBF16MALBQI
2196 UINT64_C(4231006288), // VBF16MALTQ
2197 UINT64_C(4264560720), // VBF16MALTQI
2198 UINT64_C(4061135120), // VBICd
2199 UINT64_C(4068475184), // VBICiv2i32
2200 UINT64_C(4068477232), // VBICiv4i16
2201 UINT64_C(4068475248), // VBICiv4i32
2202 UINT64_C(4068477296), // VBICiv8i16
2203 UINT64_C(4061135184), // VBICq
2204 UINT64_C(4080009488), // VBIFd
2205 UINT64_C(4080009552), // VBIFq
2206 UINT64_C(4078960912), // VBITd
2207 UINT64_C(4078960976), // VBITq
2208 UINT64_C(4077912336), // VBSLd
2209 UINT64_C(4077912400), // VBSLq
2210 UINT64_C(0), // VBSPd
2211 UINT64_C(0), // VBSPq
2212 UINT64_C(4237297664), // VCADDv2f32
2213 UINT64_C(4236249088), // VCADDv4f16
2214 UINT64_C(4237297728), // VCADDv4f32
2215 UINT64_C(4236249152), // VCADDv8f16
2216 UINT64_C(4060089856), // VCEQfd
2217 UINT64_C(4060089920), // VCEQfq
2218 UINT64_C(4061138432), // VCEQhd
2219 UINT64_C(4061138496), // VCEQhq
2220 UINT64_C(4076865616), // VCEQv16i8
2221 UINT64_C(4078962704), // VCEQv2i32
2222 UINT64_C(4077914128), // VCEQv4i16
2223 UINT64_C(4078962768), // VCEQv4i32
2224 UINT64_C(4077914192), // VCEQv8i16
2225 UINT64_C(4076865552), // VCEQv8i8
2226 UINT64_C(4088463680), // VCEQzv16i8
2227 UINT64_C(4088988928), // VCEQzv2f32
2228 UINT64_C(4088987904), // VCEQzv2i32
2229 UINT64_C(4088726784), // VCEQzv4f16
2230 UINT64_C(4088988992), // VCEQzv4f32
2231 UINT64_C(4088725760), // VCEQzv4i16
2232 UINT64_C(4088987968), // VCEQzv4i32
2233 UINT64_C(4088726848), // VCEQzv8f16
2234 UINT64_C(4088725824), // VCEQzv8i16
2235 UINT64_C(4088463616), // VCEQzv8i8
2236 UINT64_C(4076867072), // VCGEfd
2237 UINT64_C(4076867136), // VCGEfq
2238 UINT64_C(4077915648), // VCGEhd
2239 UINT64_C(4077915712), // VCGEhq
2240 UINT64_C(4060087120), // VCGEsv16i8
2241 UINT64_C(4062184208), // VCGEsv2i32
2242 UINT64_C(4061135632), // VCGEsv4i16
2243 UINT64_C(4062184272), // VCGEsv4i32
2244 UINT64_C(4061135696), // VCGEsv8i16
2245 UINT64_C(4060087056), // VCGEsv8i8
2246 UINT64_C(4076864336), // VCGEuv16i8
2247 UINT64_C(4078961424), // VCGEuv2i32
2248 UINT64_C(4077912848), // VCGEuv4i16
2249 UINT64_C(4078961488), // VCGEuv4i32
2250 UINT64_C(4077912912), // VCGEuv8i16
2251 UINT64_C(4076864272), // VCGEuv8i8
2252 UINT64_C(4088463552), // VCGEzv16i8
2253 UINT64_C(4088988800), // VCGEzv2f32
2254 UINT64_C(4088987776), // VCGEzv2i32
2255 UINT64_C(4088726656), // VCGEzv4f16
2256 UINT64_C(4088988864), // VCGEzv4f32
2257 UINT64_C(4088725632), // VCGEzv4i16
2258 UINT64_C(4088987840), // VCGEzv4i32
2259 UINT64_C(4088726720), // VCGEzv8f16
2260 UINT64_C(4088725696), // VCGEzv8i16
2261 UINT64_C(4088463488), // VCGEzv8i8
2262 UINT64_C(4078964224), // VCGTfd
2263 UINT64_C(4078964288), // VCGTfq
2264 UINT64_C(4080012800), // VCGThd
2265 UINT64_C(4080012864), // VCGThq
2266 UINT64_C(4060087104), // VCGTsv16i8
2267 UINT64_C(4062184192), // VCGTsv2i32
2268 UINT64_C(4061135616), // VCGTsv4i16
2269 UINT64_C(4062184256), // VCGTsv4i32
2270 UINT64_C(4061135680), // VCGTsv8i16
2271 UINT64_C(4060087040), // VCGTsv8i8
2272 UINT64_C(4076864320), // VCGTuv16i8
2273 UINT64_C(4078961408), // VCGTuv2i32
2274 UINT64_C(4077912832), // VCGTuv4i16
2275 UINT64_C(4078961472), // VCGTuv4i32
2276 UINT64_C(4077912896), // VCGTuv8i16
2277 UINT64_C(4076864256), // VCGTuv8i8
2278 UINT64_C(4088463424), // VCGTzv16i8
2279 UINT64_C(4088988672), // VCGTzv2f32
2280 UINT64_C(4088987648), // VCGTzv2i32
2281 UINT64_C(4088726528), // VCGTzv4f16
2282 UINT64_C(4088988736), // VCGTzv4f32
2283 UINT64_C(4088725504), // VCGTzv4i16
2284 UINT64_C(4088987712), // VCGTzv4i32
2285 UINT64_C(4088726592), // VCGTzv8f16
2286 UINT64_C(4088725568), // VCGTzv8i16
2287 UINT64_C(4088463360), // VCGTzv8i8
2288 UINT64_C(4088463808), // VCLEzv16i8
2289 UINT64_C(4088989056), // VCLEzv2f32
2290 UINT64_C(4088988032), // VCLEzv2i32
2291 UINT64_C(4088726912), // VCLEzv4f16
2292 UINT64_C(4088989120), // VCLEzv4f32
2293 UINT64_C(4088725888), // VCLEzv4i16
2294 UINT64_C(4088988096), // VCLEzv4i32
2295 UINT64_C(4088726976), // VCLEzv8f16
2296 UINT64_C(4088725952), // VCLEzv8i16
2297 UINT64_C(4088463744), // VCLEzv8i8
2298 UINT64_C(4088398912), // VCLSv16i8
2299 UINT64_C(4088923136), // VCLSv2i32
2300 UINT64_C(4088660992), // VCLSv4i16
2301 UINT64_C(4088923200), // VCLSv4i32
2302 UINT64_C(4088661056), // VCLSv8i16
2303 UINT64_C(4088398848), // VCLSv8i8
2304 UINT64_C(4088463936), // VCLTzv16i8
2305 UINT64_C(4088989184), // VCLTzv2f32
2306 UINT64_C(4088988160), // VCLTzv2i32
2307 UINT64_C(4088727040), // VCLTzv4f16
2308 UINT64_C(4088989248), // VCLTzv4f32
2309 UINT64_C(4088726016), // VCLTzv4i16
2310 UINT64_C(4088988224), // VCLTzv4i32
2311 UINT64_C(4088727104), // VCLTzv8f16
2312 UINT64_C(4088726080), // VCLTzv8i16
2313 UINT64_C(4088463872), // VCLTzv8i8
2314 UINT64_C(4088399040), // VCLZv16i8
2315 UINT64_C(4088923264), // VCLZv2i32
2316 UINT64_C(4088661120), // VCLZv4i16
2317 UINT64_C(4088923328), // VCLZv4i32
2318 UINT64_C(4088661184), // VCLZv8i16
2319 UINT64_C(4088398976), // VCLZv8i8
2320 UINT64_C(4231006208), // VCMLAv2f32
2321 UINT64_C(4269803520), // VCMLAv2f32_indexed
2322 UINT64_C(4229957632), // VCMLAv4f16
2323 UINT64_C(4261414912), // VCMLAv4f16_indexed
2324 UINT64_C(4231006272), // VCMLAv4f32
2325 UINT64_C(4269803584), // VCMLAv4f32_indexed
2326 UINT64_C(4229957696), // VCMLAv8f16
2327 UINT64_C(4261414976), // VCMLAv8f16_indexed
2328 UINT64_C(246680384), // VCMPD
2329 UINT64_C(246680512), // VCMPED
2330 UINT64_C(246680000), // VCMPEH
2331 UINT64_C(246680256), // VCMPES
2332 UINT64_C(246746048), // VCMPEZD
2333 UINT64_C(246745536), // VCMPEZH
2334 UINT64_C(246745792), // VCMPEZS
2335 UINT64_C(246679872), // VCMPH
2336 UINT64_C(246680128), // VCMPS
2337 UINT64_C(246745920), // VCMPZD
2338 UINT64_C(246745408), // VCMPZH
2339 UINT64_C(246745664), // VCMPZS
2340 UINT64_C(4088399104), // VCNTd
2341 UINT64_C(4088399168), // VCNTq
2342 UINT64_C(4089118720), // VCVTANSDf
2343 UINT64_C(4088856576), // VCVTANSDh
2344 UINT64_C(4089118784), // VCVTANSQf
2345 UINT64_C(4088856640), // VCVTANSQh
2346 UINT64_C(4089118848), // VCVTANUDf
2347 UINT64_C(4088856704), // VCVTANUDh
2348 UINT64_C(4089118912), // VCVTANUQf
2349 UINT64_C(4088856768), // VCVTANUQh
2350 UINT64_C(4273736640), // VCVTASD
2351 UINT64_C(4273736128), // VCVTASH
2352 UINT64_C(4273736384), // VCVTASS
2353 UINT64_C(4273736512), // VCVTAUD
2354 UINT64_C(4273736000), // VCVTAUH
2355 UINT64_C(4273736256), // VCVTAUS
2356 UINT64_C(246614848), // VCVTBDH
2357 UINT64_C(246549312), // VCVTBHD
2358 UINT64_C(246549056), // VCVTBHS
2359 UINT64_C(246614592), // VCVTBSH
2360 UINT64_C(246876864), // VCVTDS
2361 UINT64_C(4089119488), // VCVTMNSDf
2362 UINT64_C(4088857344), // VCVTMNSDh
2363 UINT64_C(4089119552), // VCVTMNSQf
2364 UINT64_C(4088857408), // VCVTMNSQh
2365 UINT64_C(4089119616), // VCVTMNUDf
2366 UINT64_C(4088857472), // VCVTMNUDh
2367 UINT64_C(4089119680), // VCVTMNUQf
2368 UINT64_C(4088857536), // VCVTMNUQh
2369 UINT64_C(4273933248), // VCVTMSD
2370 UINT64_C(4273932736), // VCVTMSH
2371 UINT64_C(4273932992), // VCVTMSS
2372 UINT64_C(4273933120), // VCVTMUD
2373 UINT64_C(4273932608), // VCVTMUH
2374 UINT64_C(4273932864), // VCVTMUS
2375 UINT64_C(4089118976), // VCVTNNSDf
2376 UINT64_C(4088856832), // VCVTNNSDh
2377 UINT64_C(4089119040), // VCVTNNSQf
2378 UINT64_C(4088856896), // VCVTNNSQh
2379 UINT64_C(4089119104), // VCVTNNUDf
2380 UINT64_C(4088856960), // VCVTNNUDh
2381 UINT64_C(4089119168), // VCVTNNUQf
2382 UINT64_C(4088857024), // VCVTNNUQh
2383 UINT64_C(4273802176), // VCVTNSD
2384 UINT64_C(4273801664), // VCVTNSH
2385 UINT64_C(4273801920), // VCVTNSS
2386 UINT64_C(4273802048), // VCVTNUD
2387 UINT64_C(4273801536), // VCVTNUH
2388 UINT64_C(4273801792), // VCVTNUS
2389 UINT64_C(4089119232), // VCVTPNSDf
2390 UINT64_C(4088857088), // VCVTPNSDh
2391 UINT64_C(4089119296), // VCVTPNSQf
2392 UINT64_C(4088857152), // VCVTPNSQh
2393 UINT64_C(4089119360), // VCVTPNUDf
2394 UINT64_C(4088857216), // VCVTPNUDh
2395 UINT64_C(4089119424), // VCVTPNUQf
2396 UINT64_C(4088857280), // VCVTPNUQh
2397 UINT64_C(4273867712), // VCVTPSD
2398 UINT64_C(4273867200), // VCVTPSH
2399 UINT64_C(4273867456), // VCVTPSS
2400 UINT64_C(4273867584), // VCVTPUD
2401 UINT64_C(4273867072), // VCVTPUH
2402 UINT64_C(4273867328), // VCVTPUS
2403 UINT64_C(246877120), // VCVTSD
2404 UINT64_C(246614976), // VCVTTDH
2405 UINT64_C(246549440), // VCVTTHD
2406 UINT64_C(246549184), // VCVTTHS
2407 UINT64_C(246614720), // VCVTTSH
2408 UINT64_C(4088792576), // VCVTf2h
2409 UINT64_C(4089120512), // VCVTf2sd
2410 UINT64_C(4089120576), // VCVTf2sq
2411 UINT64_C(4089120640), // VCVTf2ud
2412 UINT64_C(4089120704), // VCVTf2uq
2413 UINT64_C(4068478736), // VCVTf2xsd
2414 UINT64_C(4068478800), // VCVTf2xsq
2415 UINT64_C(4085255952), // VCVTf2xud
2416 UINT64_C(4085256016), // VCVTf2xuq
2417 UINT64_C(4088792832), // VCVTh2f
2418 UINT64_C(4088858368), // VCVTh2sd
2419 UINT64_C(4088858432), // VCVTh2sq
2420 UINT64_C(4088858496), // VCVTh2ud
2421 UINT64_C(4088858560), // VCVTh2uq
2422 UINT64_C(4068478224), // VCVTh2xsd
2423 UINT64_C(4068478288), // VCVTh2xsq
2424 UINT64_C(4085255440), // VCVTh2xud
2425 UINT64_C(4085255504), // VCVTh2xuq
2426 UINT64_C(4089120256), // VCVTs2fd
2427 UINT64_C(4089120320), // VCVTs2fq
2428 UINT64_C(4088858112), // VCVTs2hd
2429 UINT64_C(4088858176), // VCVTs2hq
2430 UINT64_C(4089120384), // VCVTu2fd
2431 UINT64_C(4089120448), // VCVTu2fq
2432 UINT64_C(4088858240), // VCVTu2hd
2433 UINT64_C(4088858304), // VCVTu2hq
2434 UINT64_C(4068478480), // VCVTxs2fd
2435 UINT64_C(4068478544), // VCVTxs2fq
2436 UINT64_C(4068477968), // VCVTxs2hd
2437 UINT64_C(4068478032), // VCVTxs2hq
2438 UINT64_C(4085255696), // VCVTxu2fd
2439 UINT64_C(4085255760), // VCVTxu2fq
2440 UINT64_C(4085255184), // VCVTxu2hd
2441 UINT64_C(4085255248), // VCVTxu2hq
2442 UINT64_C(243272448), // VDIVD
2443 UINT64_C(243271936), // VDIVH
2444 UINT64_C(243272192), // VDIVS
2445 UINT64_C(243272496), // VDUP16d
2446 UINT64_C(245369648), // VDUP16q
2447 UINT64_C(243272464), // VDUP32d
2448 UINT64_C(245369616), // VDUP32q
2449 UINT64_C(247466768), // VDUP8d
2450 UINT64_C(249563920), // VDUP8q
2451 UINT64_C(4088531968), // VDUPLN16d
2452 UINT64_C(4088532032), // VDUPLN16q
2453 UINT64_C(4088663040), // VDUPLN32d
2454 UINT64_C(4088663104), // VDUPLN32q
2455 UINT64_C(4088466432), // VDUPLN8d
2456 UINT64_C(4088466496), // VDUPLN8q
2457 UINT64_C(4076863760), // VEORd
2458 UINT64_C(4076863824), // VEORq
2459 UINT64_C(4071620608), // VEXTd16
2460 UINT64_C(4071620608), // VEXTd32
2461 UINT64_C(4071620608), // VEXTd8
2462 UINT64_C(4071620672), // VEXTq16
2463 UINT64_C(4071620672), // VEXTq32
2464 UINT64_C(4071620672), // VEXTq64
2465 UINT64_C(4071620672), // VEXTq8
2466 UINT64_C(245369600), // VFMAD
2467 UINT64_C(245369088), // VFMAH
2468 UINT64_C(4229957648), // VFMALD
2469 UINT64_C(4261414928), // VFMALDI
2470 UINT64_C(4229957712), // VFMALQ
2471 UINT64_C(4261414992), // VFMALQI
2472 UINT64_C(245369344), // VFMAS
2473 UINT64_C(4060089360), // VFMAfd
2474 UINT64_C(4060089424), // VFMAfq
2475 UINT64_C(4061137936), // VFMAhd
2476 UINT64_C(4061138000), // VFMAhq
2477 UINT64_C(245369664), // VFMSD
2478 UINT64_C(245369152), // VFMSH
2479 UINT64_C(4238346256), // VFMSLD
2480 UINT64_C(4262463504), // VFMSLDI
2481 UINT64_C(4238346320), // VFMSLQ
2482 UINT64_C(4262463568), // VFMSLQI
2483 UINT64_C(245369408), // VFMSS
2484 UINT64_C(4062186512), // VFMSfd
2485 UINT64_C(4062186576), // VFMSfq
2486 UINT64_C(4063235088), // VFMShd
2487 UINT64_C(4063235152), // VFMShq
2488 UINT64_C(244321088), // VFNMAD
2489 UINT64_C(244320576), // VFNMAH
2490 UINT64_C(244320832), // VFNMAS
2491 UINT64_C(244321024), // VFNMSD
2492 UINT64_C(244320512), // VFNMSH
2493 UINT64_C(244320768), // VFNMSS
2494 UINT64_C(4269804288), // VFP_VMAXNMD
2495 UINT64_C(4269803776), // VFP_VMAXNMH
2496 UINT64_C(4269804032), // VFP_VMAXNMS
2497 UINT64_C(4269804352), // VFP_VMINNMD
2498 UINT64_C(4269803840), // VFP_VMINNMH
2499 UINT64_C(4269804096), // VFP_VMINNMS
2500 UINT64_C(235932432), // VGETLNi32
2501 UINT64_C(235932464), // VGETLNs16
2502 UINT64_C(240126736), // VGETLNs8
2503 UINT64_C(244321072), // VGETLNu16
2504 UINT64_C(248515344), // VGETLNu8
2505 UINT64_C(4060086336), // VHADDsv16i8
2506 UINT64_C(4062183424), // VHADDsv2i32
2507 UINT64_C(4061134848), // VHADDsv4i16
2508 UINT64_C(4062183488), // VHADDsv4i32
2509 UINT64_C(4061134912), // VHADDsv8i16
2510 UINT64_C(4060086272), // VHADDsv8i8
2511 UINT64_C(4076863552), // VHADDuv16i8
2512 UINT64_C(4078960640), // VHADDuv2i32
2513 UINT64_C(4077912064), // VHADDuv4i16
2514 UINT64_C(4078960704), // VHADDuv4i32
2515 UINT64_C(4077912128), // VHADDuv8i16
2516 UINT64_C(4076863488), // VHADDuv8i8
2517 UINT64_C(4060086848), // VHSUBsv16i8
2518 UINT64_C(4062183936), // VHSUBsv2i32
2519 UINT64_C(4061135360), // VHSUBsv4i16
2520 UINT64_C(4062184000), // VHSUBsv4i32
2521 UINT64_C(4061135424), // VHSUBsv8i16
2522 UINT64_C(4060086784), // VHSUBsv8i8
2523 UINT64_C(4076864064), // VHSUBuv16i8
2524 UINT64_C(4078961152), // VHSUBuv2i32
2525 UINT64_C(4077912576), // VHSUBuv4i16
2526 UINT64_C(4078961216), // VHSUBuv4i32
2527 UINT64_C(4077912640), // VHSUBuv8i16
2528 UINT64_C(4076864000), // VHSUBuv8i8
2529 UINT64_C(4272949952), // VINSH
2530 UINT64_C(247008192), // VJCVT
2531 UINT64_C(4104129615), // VLD1DUPd16
2532 UINT64_C(4104129613), // VLD1DUPd16wb_fixed
2533 UINT64_C(4104129600), // VLD1DUPd16wb_register
2534 UINT64_C(4104129679), // VLD1DUPd32
2535 UINT64_C(4104129677), // VLD1DUPd32wb_fixed
2536 UINT64_C(4104129664), // VLD1DUPd32wb_register
2537 UINT64_C(4104129551), // VLD1DUPd8
2538 UINT64_C(4104129549), // VLD1DUPd8wb_fixed
2539 UINT64_C(4104129536), // VLD1DUPd8wb_register
2540 UINT64_C(4104129647), // VLD1DUPq16
2541 UINT64_C(4104129645), // VLD1DUPq16wb_fixed
2542 UINT64_C(4104129632), // VLD1DUPq16wb_register
2543 UINT64_C(4104129711), // VLD1DUPq32
2544 UINT64_C(4104129709), // VLD1DUPq32wb_fixed
2545 UINT64_C(4104129696), // VLD1DUPq32wb_register
2546 UINT64_C(4104129583), // VLD1DUPq8
2547 UINT64_C(4104129581), // VLD1DUPq8wb_fixed
2548 UINT64_C(4104129568), // VLD1DUPq8wb_register
2549 UINT64_C(4104127503), // VLD1LNd16
2550 UINT64_C(4104127488), // VLD1LNd16_UPD
2551 UINT64_C(4104128527), // VLD1LNd32
2552 UINT64_C(4104128512), // VLD1LNd32_UPD
2553 UINT64_C(4104126479), // VLD1LNd8
2554 UINT64_C(4104126464), // VLD1LNd8_UPD
2555 UINT64_C(0), // VLD1LNq16Pseudo
2556 UINT64_C(0), // VLD1LNq16Pseudo_UPD
2557 UINT64_C(0), // VLD1LNq32Pseudo
2558 UINT64_C(0), // VLD1LNq32Pseudo_UPD
2559 UINT64_C(0), // VLD1LNq8Pseudo
2560 UINT64_C(0), // VLD1LNq8Pseudo_UPD
2561 UINT64_C(4095739727), // VLD1d16
2562 UINT64_C(4095738447), // VLD1d16Q
2563 UINT64_C(0), // VLD1d16QPseudo
2564 UINT64_C(0), // VLD1d16QPseudoWB_fixed
2565 UINT64_C(0), // VLD1d16QPseudoWB_register
2566 UINT64_C(4095738445), // VLD1d16Qwb_fixed
2567 UINT64_C(4095738432), // VLD1d16Qwb_register
2568 UINT64_C(4095739471), // VLD1d16T
2569 UINT64_C(0), // VLD1d16TPseudo
2570 UINT64_C(0), // VLD1d16TPseudoWB_fixed
2571 UINT64_C(0), // VLD1d16TPseudoWB_register
2572 UINT64_C(4095739469), // VLD1d16Twb_fixed
2573 UINT64_C(4095739456), // VLD1d16Twb_register
2574 UINT64_C(4095739725), // VLD1d16wb_fixed
2575 UINT64_C(4095739712), // VLD1d16wb_register
2576 UINT64_C(4095739791), // VLD1d32
2577 UINT64_C(4095738511), // VLD1d32Q
2578 UINT64_C(0), // VLD1d32QPseudo
2579 UINT64_C(0), // VLD1d32QPseudoWB_fixed
2580 UINT64_C(0), // VLD1d32QPseudoWB_register
2581 UINT64_C(4095738509), // VLD1d32Qwb_fixed
2582 UINT64_C(4095738496), // VLD1d32Qwb_register
2583 UINT64_C(4095739535), // VLD1d32T
2584 UINT64_C(0), // VLD1d32TPseudo
2585 UINT64_C(0), // VLD1d32TPseudoWB_fixed
2586 UINT64_C(0), // VLD1d32TPseudoWB_register
2587 UINT64_C(4095739533), // VLD1d32Twb_fixed
2588 UINT64_C(4095739520), // VLD1d32Twb_register
2589 UINT64_C(4095739789), // VLD1d32wb_fixed
2590 UINT64_C(4095739776), // VLD1d32wb_register
2591 UINT64_C(4095739855), // VLD1d64
2592 UINT64_C(4095738575), // VLD1d64Q
2593 UINT64_C(0), // VLD1d64QPseudo
2594 UINT64_C(0), // VLD1d64QPseudoWB_fixed
2595 UINT64_C(0), // VLD1d64QPseudoWB_register
2596 UINT64_C(4095738573), // VLD1d64Qwb_fixed
2597 UINT64_C(4095738560), // VLD1d64Qwb_register
2598 UINT64_C(4095739599), // VLD1d64T
2599 UINT64_C(0), // VLD1d64TPseudo
2600 UINT64_C(0), // VLD1d64TPseudoWB_fixed
2601 UINT64_C(0), // VLD1d64TPseudoWB_register
2602 UINT64_C(4095739597), // VLD1d64Twb_fixed
2603 UINT64_C(4095739584), // VLD1d64Twb_register
2604 UINT64_C(4095739853), // VLD1d64wb_fixed
2605 UINT64_C(4095739840), // VLD1d64wb_register
2606 UINT64_C(4095739663), // VLD1d8
2607 UINT64_C(4095738383), // VLD1d8Q
2608 UINT64_C(0), // VLD1d8QPseudo
2609 UINT64_C(0), // VLD1d8QPseudoWB_fixed
2610 UINT64_C(0), // VLD1d8QPseudoWB_register
2611 UINT64_C(4095738381), // VLD1d8Qwb_fixed
2612 UINT64_C(4095738368), // VLD1d8Qwb_register
2613 UINT64_C(4095739407), // VLD1d8T
2614 UINT64_C(0), // VLD1d8TPseudo
2615 UINT64_C(0), // VLD1d8TPseudoWB_fixed
2616 UINT64_C(0), // VLD1d8TPseudoWB_register
2617 UINT64_C(4095739405), // VLD1d8Twb_fixed
2618 UINT64_C(4095739392), // VLD1d8Twb_register
2619 UINT64_C(4095739661), // VLD1d8wb_fixed
2620 UINT64_C(4095739648), // VLD1d8wb_register
2621 UINT64_C(4095740495), // VLD1q16
2622 UINT64_C(0), // VLD1q16HighQPseudo
2623 UINT64_C(0), // VLD1q16HighQPseudo_UPD
2624 UINT64_C(0), // VLD1q16HighTPseudo
2625 UINT64_C(0), // VLD1q16HighTPseudo_UPD
2626 UINT64_C(0), // VLD1q16LowQPseudo_UPD
2627 UINT64_C(0), // VLD1q16LowTPseudo_UPD
2628 UINT64_C(4095740493), // VLD1q16wb_fixed
2629 UINT64_C(4095740480), // VLD1q16wb_register
2630 UINT64_C(4095740559), // VLD1q32
2631 UINT64_C(0), // VLD1q32HighQPseudo
2632 UINT64_C(0), // VLD1q32HighQPseudo_UPD
2633 UINT64_C(0), // VLD1q32HighTPseudo
2634 UINT64_C(0), // VLD1q32HighTPseudo_UPD
2635 UINT64_C(0), // VLD1q32LowQPseudo_UPD
2636 UINT64_C(0), // VLD1q32LowTPseudo_UPD
2637 UINT64_C(4095740557), // VLD1q32wb_fixed
2638 UINT64_C(4095740544), // VLD1q32wb_register
2639 UINT64_C(4095740623), // VLD1q64
2640 UINT64_C(0), // VLD1q64HighQPseudo
2641 UINT64_C(0), // VLD1q64HighQPseudo_UPD
2642 UINT64_C(0), // VLD1q64HighTPseudo
2643 UINT64_C(0), // VLD1q64HighTPseudo_UPD
2644 UINT64_C(0), // VLD1q64LowQPseudo_UPD
2645 UINT64_C(0), // VLD1q64LowTPseudo_UPD
2646 UINT64_C(4095740621), // VLD1q64wb_fixed
2647 UINT64_C(4095740608), // VLD1q64wb_register
2648 UINT64_C(4095740431), // VLD1q8
2649 UINT64_C(0), // VLD1q8HighQPseudo
2650 UINT64_C(0), // VLD1q8HighQPseudo_UPD
2651 UINT64_C(0), // VLD1q8HighTPseudo
2652 UINT64_C(0), // VLD1q8HighTPseudo_UPD
2653 UINT64_C(0), // VLD1q8LowQPseudo_UPD
2654 UINT64_C(0), // VLD1q8LowTPseudo_UPD
2655 UINT64_C(4095740429), // VLD1q8wb_fixed
2656 UINT64_C(4095740416), // VLD1q8wb_register
2657 UINT64_C(4104129871), // VLD2DUPd16
2658 UINT64_C(4104129869), // VLD2DUPd16wb_fixed
2659 UINT64_C(4104129856), // VLD2DUPd16wb_register
2660 UINT64_C(4104129903), // VLD2DUPd16x2
2661 UINT64_C(4104129901), // VLD2DUPd16x2wb_fixed
2662 UINT64_C(4104129888), // VLD2DUPd16x2wb_register
2663 UINT64_C(4104129935), // VLD2DUPd32
2664 UINT64_C(4104129933), // VLD2DUPd32wb_fixed
2665 UINT64_C(4104129920), // VLD2DUPd32wb_register
2666 UINT64_C(4104129967), // VLD2DUPd32x2
2667 UINT64_C(4104129965), // VLD2DUPd32x2wb_fixed
2668 UINT64_C(4104129952), // VLD2DUPd32x2wb_register
2669 UINT64_C(4104129807), // VLD2DUPd8
2670 UINT64_C(4104129805), // VLD2DUPd8wb_fixed
2671 UINT64_C(4104129792), // VLD2DUPd8wb_register
2672 UINT64_C(4104129839), // VLD2DUPd8x2
2673 UINT64_C(4104129837), // VLD2DUPd8x2wb_fixed
2674 UINT64_C(4104129824), // VLD2DUPd8x2wb_register
2675 UINT64_C(0), // VLD2DUPq16EvenPseudo
2676 UINT64_C(0), // VLD2DUPq16OddPseudo
2677 UINT64_C(0), // VLD2DUPq16OddPseudoWB_fixed
2678 UINT64_C(0), // VLD2DUPq16OddPseudoWB_register
2679 UINT64_C(0), // VLD2DUPq32EvenPseudo
2680 UINT64_C(0), // VLD2DUPq32OddPseudo
2681 UINT64_C(0), // VLD2DUPq32OddPseudoWB_fixed
2682 UINT64_C(0), // VLD2DUPq32OddPseudoWB_register
2683 UINT64_C(0), // VLD2DUPq8EvenPseudo
2684 UINT64_C(0), // VLD2DUPq8OddPseudo
2685 UINT64_C(0), // VLD2DUPq8OddPseudoWB_fixed
2686 UINT64_C(0), // VLD2DUPq8OddPseudoWB_register
2687 UINT64_C(4104127759), // VLD2LNd16
2688 UINT64_C(0), // VLD2LNd16Pseudo
2689 UINT64_C(0), // VLD2LNd16Pseudo_UPD
2690 UINT64_C(4104127744), // VLD2LNd16_UPD
2691 UINT64_C(4104128783), // VLD2LNd32
2692 UINT64_C(0), // VLD2LNd32Pseudo
2693 UINT64_C(0), // VLD2LNd32Pseudo_UPD
2694 UINT64_C(4104128768), // VLD2LNd32_UPD
2695 UINT64_C(4104126735), // VLD2LNd8
2696 UINT64_C(0), // VLD2LNd8Pseudo
2697 UINT64_C(0), // VLD2LNd8Pseudo_UPD
2698 UINT64_C(4104126720), // VLD2LNd8_UPD
2699 UINT64_C(4104127791), // VLD2LNq16
2700 UINT64_C(0), // VLD2LNq16Pseudo
2701 UINT64_C(0), // VLD2LNq16Pseudo_UPD
2702 UINT64_C(4104127776), // VLD2LNq16_UPD
2703 UINT64_C(4104128847), // VLD2LNq32
2704 UINT64_C(0), // VLD2LNq32Pseudo
2705 UINT64_C(0), // VLD2LNq32Pseudo_UPD
2706 UINT64_C(4104128832), // VLD2LNq32_UPD
2707 UINT64_C(4095740239), // VLD2b16
2708 UINT64_C(4095740237), // VLD2b16wb_fixed
2709 UINT64_C(4095740224), // VLD2b16wb_register
2710 UINT64_C(4095740303), // VLD2b32
2711 UINT64_C(4095740301), // VLD2b32wb_fixed
2712 UINT64_C(4095740288), // VLD2b32wb_register
2713 UINT64_C(4095740175), // VLD2b8
2714 UINT64_C(4095740173), // VLD2b8wb_fixed
2715 UINT64_C(4095740160), // VLD2b8wb_register
2716 UINT64_C(4095739983), // VLD2d16
2717 UINT64_C(4095739981), // VLD2d16wb_fixed
2718 UINT64_C(4095739968), // VLD2d16wb_register
2719 UINT64_C(4095740047), // VLD2d32
2720 UINT64_C(4095740045), // VLD2d32wb_fixed
2721 UINT64_C(4095740032), // VLD2d32wb_register
2722 UINT64_C(4095739919), // VLD2d8
2723 UINT64_C(4095739917), // VLD2d8wb_fixed
2724 UINT64_C(4095739904), // VLD2d8wb_register
2725 UINT64_C(4095738703), // VLD2q16
2726 UINT64_C(0), // VLD2q16Pseudo
2727 UINT64_C(0), // VLD2q16PseudoWB_fixed
2728 UINT64_C(0), // VLD2q16PseudoWB_register
2729 UINT64_C(4095738701), // VLD2q16wb_fixed
2730 UINT64_C(4095738688), // VLD2q16wb_register
2731 UINT64_C(4095738767), // VLD2q32
2732 UINT64_C(0), // VLD2q32Pseudo
2733 UINT64_C(0), // VLD2q32PseudoWB_fixed
2734 UINT64_C(0), // VLD2q32PseudoWB_register
2735 UINT64_C(4095738765), // VLD2q32wb_fixed
2736 UINT64_C(4095738752), // VLD2q32wb_register
2737 UINT64_C(4095738639), // VLD2q8
2738 UINT64_C(0), // VLD2q8Pseudo
2739 UINT64_C(0), // VLD2q8PseudoWB_fixed
2740 UINT64_C(0), // VLD2q8PseudoWB_register
2741 UINT64_C(4095738637), // VLD2q8wb_fixed
2742 UINT64_C(4095738624), // VLD2q8wb_register
2743 UINT64_C(4104130127), // VLD3DUPd16
2744 UINT64_C(0), // VLD3DUPd16Pseudo
2745 UINT64_C(0), // VLD3DUPd16Pseudo_UPD
2746 UINT64_C(4104130112), // VLD3DUPd16_UPD
2747 UINT64_C(4104130191), // VLD3DUPd32
2748 UINT64_C(0), // VLD3DUPd32Pseudo
2749 UINT64_C(0), // VLD3DUPd32Pseudo_UPD
2750 UINT64_C(4104130176), // VLD3DUPd32_UPD
2751 UINT64_C(4104130063), // VLD3DUPd8
2752 UINT64_C(0), // VLD3DUPd8Pseudo
2753 UINT64_C(0), // VLD3DUPd8Pseudo_UPD
2754 UINT64_C(4104130048), // VLD3DUPd8_UPD
2755 UINT64_C(4104130159), // VLD3DUPq16
2756 UINT64_C(0), // VLD3DUPq16EvenPseudo
2757 UINT64_C(0), // VLD3DUPq16OddPseudo
2758 UINT64_C(0), // VLD3DUPq16OddPseudo_UPD
2759 UINT64_C(4104130144), // VLD3DUPq16_UPD
2760 UINT64_C(4104130223), // VLD3DUPq32
2761 UINT64_C(0), // VLD3DUPq32EvenPseudo
2762 UINT64_C(0), // VLD3DUPq32OddPseudo
2763 UINT64_C(0), // VLD3DUPq32OddPseudo_UPD
2764 UINT64_C(4104130208), // VLD3DUPq32_UPD
2765 UINT64_C(4104130095), // VLD3DUPq8
2766 UINT64_C(0), // VLD3DUPq8EvenPseudo
2767 UINT64_C(0), // VLD3DUPq8OddPseudo
2768 UINT64_C(0), // VLD3DUPq8OddPseudo_UPD
2769 UINT64_C(4104130080), // VLD3DUPq8_UPD
2770 UINT64_C(4104128015), // VLD3LNd16
2771 UINT64_C(0), // VLD3LNd16Pseudo
2772 UINT64_C(0), // VLD3LNd16Pseudo_UPD
2773 UINT64_C(4104128000), // VLD3LNd16_UPD
2774 UINT64_C(4104129039), // VLD3LNd32
2775 UINT64_C(0), // VLD3LNd32Pseudo
2776 UINT64_C(0), // VLD3LNd32Pseudo_UPD
2777 UINT64_C(4104129024), // VLD3LNd32_UPD
2778 UINT64_C(4104126991), // VLD3LNd8
2779 UINT64_C(0), // VLD3LNd8Pseudo
2780 UINT64_C(0), // VLD3LNd8Pseudo_UPD
2781 UINT64_C(4104126976), // VLD3LNd8_UPD
2782 UINT64_C(4104128047), // VLD3LNq16
2783 UINT64_C(0), // VLD3LNq16Pseudo
2784 UINT64_C(0), // VLD3LNq16Pseudo_UPD
2785 UINT64_C(4104128032), // VLD3LNq16_UPD
2786 UINT64_C(4104129103), // VLD3LNq32
2787 UINT64_C(0), // VLD3LNq32Pseudo
2788 UINT64_C(0), // VLD3LNq32Pseudo_UPD
2789 UINT64_C(4104129088), // VLD3LNq32_UPD
2790 UINT64_C(4095738959), // VLD3d16
2791 UINT64_C(0), // VLD3d16Pseudo
2792 UINT64_C(0), // VLD3d16Pseudo_UPD
2793 UINT64_C(4095738944), // VLD3d16_UPD
2794 UINT64_C(4095739023), // VLD3d32
2795 UINT64_C(0), // VLD3d32Pseudo
2796 UINT64_C(0), // VLD3d32Pseudo_UPD
2797 UINT64_C(4095739008), // VLD3d32_UPD
2798 UINT64_C(4095738895), // VLD3d8
2799 UINT64_C(0), // VLD3d8Pseudo
2800 UINT64_C(0), // VLD3d8Pseudo_UPD
2801 UINT64_C(4095738880), // VLD3d8_UPD
2802 UINT64_C(4095739215), // VLD3q16
2803 UINT64_C(0), // VLD3q16Pseudo_UPD
2804 UINT64_C(4095739200), // VLD3q16_UPD
2805 UINT64_C(0), // VLD3q16oddPseudo
2806 UINT64_C(0), // VLD3q16oddPseudo_UPD
2807 UINT64_C(4095739279), // VLD3q32
2808 UINT64_C(0), // VLD3q32Pseudo_UPD
2809 UINT64_C(4095739264), // VLD3q32_UPD
2810 UINT64_C(0), // VLD3q32oddPseudo
2811 UINT64_C(0), // VLD3q32oddPseudo_UPD
2812 UINT64_C(4095739151), // VLD3q8
2813 UINT64_C(0), // VLD3q8Pseudo_UPD
2814 UINT64_C(4095739136), // VLD3q8_UPD
2815 UINT64_C(0), // VLD3q8oddPseudo
2816 UINT64_C(0), // VLD3q8oddPseudo_UPD
2817 UINT64_C(4104130383), // VLD4DUPd16
2818 UINT64_C(0), // VLD4DUPd16Pseudo
2819 UINT64_C(0), // VLD4DUPd16Pseudo_UPD
2820 UINT64_C(4104130368), // VLD4DUPd16_UPD
2821 UINT64_C(4104130447), // VLD4DUPd32
2822 UINT64_C(0), // VLD4DUPd32Pseudo
2823 UINT64_C(0), // VLD4DUPd32Pseudo_UPD
2824 UINT64_C(4104130432), // VLD4DUPd32_UPD
2825 UINT64_C(4104130319), // VLD4DUPd8
2826 UINT64_C(0), // VLD4DUPd8Pseudo
2827 UINT64_C(0), // VLD4DUPd8Pseudo_UPD
2828 UINT64_C(4104130304), // VLD4DUPd8_UPD
2829 UINT64_C(4104130415), // VLD4DUPq16
2830 UINT64_C(0), // VLD4DUPq16EvenPseudo
2831 UINT64_C(0), // VLD4DUPq16OddPseudo
2832 UINT64_C(0), // VLD4DUPq16OddPseudo_UPD
2833 UINT64_C(4104130400), // VLD4DUPq16_UPD
2834 UINT64_C(4104130479), // VLD4DUPq32
2835 UINT64_C(0), // VLD4DUPq32EvenPseudo
2836 UINT64_C(0), // VLD4DUPq32OddPseudo
2837 UINT64_C(0), // VLD4DUPq32OddPseudo_UPD
2838 UINT64_C(4104130464), // VLD4DUPq32_UPD
2839 UINT64_C(4104130351), // VLD4DUPq8
2840 UINT64_C(0), // VLD4DUPq8EvenPseudo
2841 UINT64_C(0), // VLD4DUPq8OddPseudo
2842 UINT64_C(0), // VLD4DUPq8OddPseudo_UPD
2843 UINT64_C(4104130336), // VLD4DUPq8_UPD
2844 UINT64_C(4104128271), // VLD4LNd16
2845 UINT64_C(0), // VLD4LNd16Pseudo
2846 UINT64_C(0), // VLD4LNd16Pseudo_UPD
2847 UINT64_C(4104128256), // VLD4LNd16_UPD
2848 UINT64_C(4104129295), // VLD4LNd32
2849 UINT64_C(0), // VLD4LNd32Pseudo
2850 UINT64_C(0), // VLD4LNd32Pseudo_UPD
2851 UINT64_C(4104129280), // VLD4LNd32_UPD
2852 UINT64_C(4104127247), // VLD4LNd8
2853 UINT64_C(0), // VLD4LNd8Pseudo
2854 UINT64_C(0), // VLD4LNd8Pseudo_UPD
2855 UINT64_C(4104127232), // VLD4LNd8_UPD
2856 UINT64_C(4104128303), // VLD4LNq16
2857 UINT64_C(0), // VLD4LNq16Pseudo
2858 UINT64_C(0), // VLD4LNq16Pseudo_UPD
2859 UINT64_C(4104128288), // VLD4LNq16_UPD
2860 UINT64_C(4104129359), // VLD4LNq32
2861 UINT64_C(0), // VLD4LNq32Pseudo
2862 UINT64_C(0), // VLD4LNq32Pseudo_UPD
2863 UINT64_C(4104129344), // VLD4LNq32_UPD
2864 UINT64_C(4095737935), // VLD4d16
2865 UINT64_C(0), // VLD4d16Pseudo
2866 UINT64_C(0), // VLD4d16Pseudo_UPD
2867 UINT64_C(4095737920), // VLD4d16_UPD
2868 UINT64_C(4095737999), // VLD4d32
2869 UINT64_C(0), // VLD4d32Pseudo
2870 UINT64_C(0), // VLD4d32Pseudo_UPD
2871 UINT64_C(4095737984), // VLD4d32_UPD
2872 UINT64_C(4095737871), // VLD4d8
2873 UINT64_C(0), // VLD4d8Pseudo
2874 UINT64_C(0), // VLD4d8Pseudo_UPD
2875 UINT64_C(4095737856), // VLD4d8_UPD
2876 UINT64_C(4095738191), // VLD4q16
2877 UINT64_C(0), // VLD4q16Pseudo_UPD
2878 UINT64_C(4095738176), // VLD4q16_UPD
2879 UINT64_C(0), // VLD4q16oddPseudo
2880 UINT64_C(0), // VLD4q16oddPseudo_UPD
2881 UINT64_C(4095738255), // VLD4q32
2882 UINT64_C(0), // VLD4q32Pseudo_UPD
2883 UINT64_C(4095738240), // VLD4q32_UPD
2884 UINT64_C(0), // VLD4q32oddPseudo
2885 UINT64_C(0), // VLD4q32oddPseudo_UPD
2886 UINT64_C(4095738127), // VLD4q8
2887 UINT64_C(0), // VLD4q8Pseudo_UPD
2888 UINT64_C(4095738112), // VLD4q8_UPD
2889 UINT64_C(0), // VLD4q8oddPseudo
2890 UINT64_C(0), // VLD4q8oddPseudo_UPD
2891 UINT64_C(221252352), // VLDMDDB_UPD
2892 UINT64_C(210766592), // VLDMDIA
2893 UINT64_C(212863744), // VLDMDIA_UPD
2894 UINT64_C(0), // VLDMQIA
2895 UINT64_C(221252096), // VLDMSDB_UPD
2896 UINT64_C(210766336), // VLDMSIA
2897 UINT64_C(212863488), // VLDMSIA_UPD
2898 UINT64_C(219155200), // VLDRD
2899 UINT64_C(219154688), // VLDRH
2900 UINT64_C(219154944), // VLDRS
2901 UINT64_C(223399808), // VLDR_FPCXTNS_off
2902 UINT64_C(208719744), // VLDR_FPCXTNS_post
2903 UINT64_C(225496960), // VLDR_FPCXTNS_pre
2904 UINT64_C(223408000), // VLDR_FPCXTS_off
2905 UINT64_C(208727936), // VLDR_FPCXTS_post
2906 UINT64_C(225505152), // VLDR_FPCXTS_pre
2907 UINT64_C(219172736), // VLDR_FPSCR_NZCVQC_off
2908 UINT64_C(204492672), // VLDR_FPSCR_NZCVQC_post
2909 UINT64_C(221269888), // VLDR_FPSCR_NZCVQC_pre
2910 UINT64_C(219164544), // VLDR_FPSCR_off
2911 UINT64_C(204484480), // VLDR_FPSCR_post
2912 UINT64_C(221261696), // VLDR_FPSCR_pre
2913 UINT64_C(223391616), // VLDR_P0_off
2914 UINT64_C(208711552), // VLDR_P0_post
2915 UINT64_C(225488768), // VLDR_P0_pre
2916 UINT64_C(223383424), // VLDR_VPR_off
2917 UINT64_C(208703360), // VLDR_VPR_post
2918 UINT64_C(225480576), // VLDR_VPR_pre
2919 UINT64_C(3962571264), // VLLDM
2920 UINT64_C(3962571392), // VLLDM_T2
2921 UINT64_C(3961522688), // VLSTM
2922 UINT64_C(3961522816), // VLSTM_T2
2923 UINT64_C(4060090112), // VMAXfd
2924 UINT64_C(4060090176), // VMAXfq
2925 UINT64_C(4061138688), // VMAXhd
2926 UINT64_C(4061138752), // VMAXhq
2927 UINT64_C(4060087872), // VMAXsv16i8
2928 UINT64_C(4062184960), // VMAXsv2i32
2929 UINT64_C(4061136384), // VMAXsv4i16
2930 UINT64_C(4062185024), // VMAXsv4i32
2931 UINT64_C(4061136448), // VMAXsv8i16
2932 UINT64_C(4060087808), // VMAXsv8i8
2933 UINT64_C(4076865088), // VMAXuv16i8
2934 UINT64_C(4078962176), // VMAXuv2i32
2935 UINT64_C(4077913600), // VMAXuv4i16
2936 UINT64_C(4078962240), // VMAXuv4i32
2937 UINT64_C(4077913664), // VMAXuv8i16
2938 UINT64_C(4076865024), // VMAXuv8i8
2939 UINT64_C(4062187264), // VMINfd
2940 UINT64_C(4062187328), // VMINfq
2941 UINT64_C(4063235840), // VMINhd
2942 UINT64_C(4063235904), // VMINhq
2943 UINT64_C(4060087888), // VMINsv16i8
2944 UINT64_C(4062184976), // VMINsv2i32
2945 UINT64_C(4061136400), // VMINsv4i16
2946 UINT64_C(4062185040), // VMINsv4i32
2947 UINT64_C(4061136464), // VMINsv8i16
2948 UINT64_C(4060087824), // VMINsv8i8
2949 UINT64_C(4076865104), // VMINuv16i8
2950 UINT64_C(4078962192), // VMINuv2i32
2951 UINT64_C(4077913616), // VMINuv4i16
2952 UINT64_C(4078962256), // VMINuv4i32
2953 UINT64_C(4077913680), // VMINuv8i16
2954 UINT64_C(4076865040), // VMINuv8i8
2955 UINT64_C(234883840), // VMLAD
2956 UINT64_C(234883328), // VMLAH
2957 UINT64_C(4070572608), // VMLALslsv2i32
2958 UINT64_C(4069524032), // VMLALslsv4i16
2959 UINT64_C(4087349824), // VMLALsluv2i32
2960 UINT64_C(4086301248), // VMLALsluv4i16
2961 UINT64_C(4070574080), // VMLALsv2i64
2962 UINT64_C(4069525504), // VMLALsv4i32
2963 UINT64_C(4068476928), // VMLALsv8i16
2964 UINT64_C(4087351296), // VMLALuv2i64
2965 UINT64_C(4086302720), // VMLALuv4i32
2966 UINT64_C(4085254144), // VMLALuv8i16
2967 UINT64_C(234883584), // VMLAS
2968 UINT64_C(4060089616), // VMLAfd
2969 UINT64_C(4060089680), // VMLAfq
2970 UINT64_C(4061138192), // VMLAhd
2971 UINT64_C(4061138256), // VMLAhq
2972 UINT64_C(4070572352), // VMLAslfd
2973 UINT64_C(4087349568), // VMLAslfq
2974 UINT64_C(4069523776), // VMLAslhd
2975 UINT64_C(4086300992), // VMLAslhq
2976 UINT64_C(4070572096), // VMLAslv2i32
2977 UINT64_C(4069523520), // VMLAslv4i16
2978 UINT64_C(4087349312), // VMLAslv4i32
2979 UINT64_C(4086300736), // VMLAslv8i16
2980 UINT64_C(4060088640), // VMLAv16i8
2981 UINT64_C(4062185728), // VMLAv2i32
2982 UINT64_C(4061137152), // VMLAv4i16
2983 UINT64_C(4062185792), // VMLAv4i32
2984 UINT64_C(4061137216), // VMLAv8i16
2985 UINT64_C(4060088576), // VMLAv8i8
2986 UINT64_C(234883904), // VMLSD
2987 UINT64_C(234883392), // VMLSH
2988 UINT64_C(4070573632), // VMLSLslsv2i32
2989 UINT64_C(4069525056), // VMLSLslsv4i16
2990 UINT64_C(4087350848), // VMLSLsluv2i32
2991 UINT64_C(4086302272), // VMLSLsluv4i16
2992 UINT64_C(4070574592), // VMLSLsv2i64
2993 UINT64_C(4069526016), // VMLSLsv4i32
2994 UINT64_C(4068477440), // VMLSLsv8i16
2995 UINT64_C(4087351808), // VMLSLuv2i64
2996 UINT64_C(4086303232), // VMLSLuv4i32
2997 UINT64_C(4085254656), // VMLSLuv8i16
2998 UINT64_C(234883648), // VMLSS
2999 UINT64_C(4062186768), // VMLSfd
3000 UINT64_C(4062186832), // VMLSfq
3001 UINT64_C(4063235344), // VMLShd
3002 UINT64_C(4063235408), // VMLShq
3003 UINT64_C(4070573376), // VMLSslfd
3004 UINT64_C(4087350592), // VMLSslfq
3005 UINT64_C(4069524800), // VMLSslhd
3006 UINT64_C(4086302016), // VMLSslhq
3007 UINT64_C(4070573120), // VMLSslv2i32
3008 UINT64_C(4069524544), // VMLSslv4i16
3009 UINT64_C(4087350336), // VMLSslv4i32
3010 UINT64_C(4086301760), // VMLSslv8i16
3011 UINT64_C(4076865856), // VMLSv16i8
3012 UINT64_C(4078962944), // VMLSv2i32
3013 UINT64_C(4077914368), // VMLSv4i16
3014 UINT64_C(4078963008), // VMLSv4i32
3015 UINT64_C(4077914432), // VMLSv8i16
3016 UINT64_C(4076865792), // VMLSv8i8
3017 UINT64_C(4227861568), // VMMLA
3018 UINT64_C(246418240), // VMOVD
3019 UINT64_C(205523728), // VMOVDRR
3020 UINT64_C(4272949824), // VMOVH
3021 UINT64_C(234883344), // VMOVHR
3022 UINT64_C(4070574608), // VMOVLsv2i64
3023 UINT64_C(4069526032), // VMOVLsv4i32
3024 UINT64_C(4069001744), // VMOVLsv8i16
3025 UINT64_C(4087351824), // VMOVLuv2i64
3026 UINT64_C(4086303248), // VMOVLuv4i32
3027 UINT64_C(4085778960), // VMOVLuv8i16
3028 UINT64_C(4089053696), // VMOVNv2i32
3029 UINT64_C(4088791552), // VMOVNv4i16
3030 UINT64_C(4088529408), // VMOVNv8i8
3031 UINT64_C(235931920), // VMOVRH
3032 UINT64_C(206572304), // VMOVRRD
3033 UINT64_C(206572048), // VMOVRRS
3034 UINT64_C(235932176), // VMOVRS
3035 UINT64_C(246417984), // VMOVS
3036 UINT64_C(234883600), // VMOVSR
3037 UINT64_C(205523472), // VMOVSRR
3038 UINT64_C(4068478544), // VMOVv16i8
3039 UINT64_C(4068478512), // VMOVv1i64
3040 UINT64_C(4068478736), // VMOVv2f32
3041 UINT64_C(4068474896), // VMOVv2i32
3042 UINT64_C(4068478576), // VMOVv2i64
3043 UINT64_C(4068478800), // VMOVv4f32
3044 UINT64_C(4068476944), // VMOVv4i16
3045 UINT64_C(4068474960), // VMOVv4i32
3046 UINT64_C(4068477008), // VMOVv8i16
3047 UINT64_C(4068478480), // VMOVv8i8
3048 UINT64_C(250677776), // VMRS
3049 UINT64_C(251529744), // VMRS_FPCXTNS
3050 UINT64_C(251595280), // VMRS_FPCXTS
3051 UINT64_C(251136528), // VMRS_FPEXC
3052 UINT64_C(251202064), // VMRS_FPINST
3053 UINT64_C(251267600), // VMRS_FPINST2
3054 UINT64_C(250743312), // VMRS_FPSCR_NZCVQC
3055 UINT64_C(250612240), // VMRS_FPSID
3056 UINT64_C(251070992), // VMRS_MVFR0
3057 UINT64_C(251005456), // VMRS_MVFR1
3058 UINT64_C(250939920), // VMRS_MVFR2
3059 UINT64_C(251464208), // VMRS_P0
3060 UINT64_C(251398672), // VMRS_VPR
3061 UINT64_C(249629200), // VMSR
3062 UINT64_C(250481168), // VMSR_FPCXTNS
3063 UINT64_C(250546704), // VMSR_FPCXTS
3064 UINT64_C(250087952), // VMSR_FPEXC
3065 UINT64_C(250153488), // VMSR_FPINST
3066 UINT64_C(250219024), // VMSR_FPINST2
3067 UINT64_C(249694736), // VMSR_FPSCR_NZCVQC
3068 UINT64_C(249563664), // VMSR_FPSID
3069 UINT64_C(250415632), // VMSR_P0
3070 UINT64_C(250350096), // VMSR_VPR
3071 UINT64_C(236980992), // VMULD
3072 UINT64_C(236980480), // VMULH
3073 UINT64_C(4070575616), // VMULLp64
3074 UINT64_C(4068478464), // VMULLp8
3075 UINT64_C(4070574656), // VMULLslsv2i32
3076 UINT64_C(4069526080), // VMULLslsv4i16
3077 UINT64_C(4087351872), // VMULLsluv2i32
3078 UINT64_C(4086303296), // VMULLsluv4i16
3079 UINT64_C(4070575104), // VMULLsv2i64
3080 UINT64_C(4069526528), // VMULLsv4i32
3081 UINT64_C(4068477952), // VMULLsv8i16
3082 UINT64_C(4087352320), // VMULLuv2i64
3083 UINT64_C(4086303744), // VMULLuv4i32
3084 UINT64_C(4085255168), // VMULLuv8i16
3085 UINT64_C(236980736), // VMULS
3086 UINT64_C(4076866832), // VMULfd
3087 UINT64_C(4076866896), // VMULfq
3088 UINT64_C(4077915408), // VMULhd
3089 UINT64_C(4077915472), // VMULhq
3090 UINT64_C(4076865808), // VMULpd
3091 UINT64_C(4076865872), // VMULpq
3092 UINT64_C(4070574400), // VMULslfd
3093 UINT64_C(4087351616), // VMULslfq
3094 UINT64_C(4069525824), // VMULslhd
3095 UINT64_C(4086303040), // VMULslhq
3096 UINT64_C(4070574144), // VMULslv2i32
3097 UINT64_C(4069525568), // VMULslv4i16
3098 UINT64_C(4087351360), // VMULslv4i32
3099 UINT64_C(4086302784), // VMULslv8i16
3100 UINT64_C(4060088656), // VMULv16i8
3101 UINT64_C(4062185744), // VMULv2i32
3102 UINT64_C(4061137168), // VMULv4i16
3103 UINT64_C(4062185808), // VMULv4i32
3104 UINT64_C(4061137232), // VMULv8i16
3105 UINT64_C(4060088592), // VMULv8i8
3106 UINT64_C(4088399232), // VMVNd
3107 UINT64_C(4088399296), // VMVNq
3108 UINT64_C(4068474928), // VMVNv2i32
3109 UINT64_C(4068476976), // VMVNv4i16
3110 UINT64_C(4068474992), // VMVNv4i32
3111 UINT64_C(4068477040), // VMVNv8i16
3112 UINT64_C(246483776), // VNEGD
3113 UINT64_C(246483264), // VNEGH
3114 UINT64_C(246483520), // VNEGS
3115 UINT64_C(4088989632), // VNEGf32q
3116 UINT64_C(4088989568), // VNEGfd
3117 UINT64_C(4088727424), // VNEGhd
3118 UINT64_C(4088727488), // VNEGhq
3119 UINT64_C(4088726400), // VNEGs16d
3120 UINT64_C(4088726464), // VNEGs16q
3121 UINT64_C(4088988544), // VNEGs32d
3122 UINT64_C(4088988608), // VNEGs32q
3123 UINT64_C(4088464256), // VNEGs8d
3124 UINT64_C(4088464320), // VNEGs8q
3125 UINT64_C(235932480), // VNMLAD
3126 UINT64_C(235931968), // VNMLAH
3127 UINT64_C(235932224), // VNMLAS
3128 UINT64_C(235932416), // VNMLSD
3129 UINT64_C(235931904), // VNMLSH
3130 UINT64_C(235932160), // VNMLSS
3131 UINT64_C(236981056), // VNMULD
3132 UINT64_C(236980544), // VNMULH
3133 UINT64_C(236980800), // VNMULS
3134 UINT64_C(4063232272), // VORNd
3135 UINT64_C(4063232336), // VORNq
3136 UINT64_C(4062183696), // VORRd
3137 UINT64_C(4068475152), // VORRiv2i32
3138 UINT64_C(4068477200), // VORRiv4i16
3139 UINT64_C(4068475216), // VORRiv4i32
3140 UINT64_C(4068477264), // VORRiv8i16
3141 UINT64_C(4062183760), // VORRq
3142 UINT64_C(4088399424), // VPADALsv16i8
3143 UINT64_C(4088923648), // VPADALsv2i32
3144 UINT64_C(4088661504), // VPADALsv4i16
3145 UINT64_C(4088923712), // VPADALsv4i32
3146 UINT64_C(4088661568), // VPADALsv8i16
3147 UINT64_C(4088399360), // VPADALsv8i8
3148 UINT64_C(4088399552), // VPADALuv16i8
3149 UINT64_C(4088923776), // VPADALuv2i32
3150 UINT64_C(4088661632), // VPADALuv4i16
3151 UINT64_C(4088923840), // VPADALuv4i32
3152 UINT64_C(4088661696), // VPADALuv8i16
3153 UINT64_C(4088399488), // VPADALuv8i8
3154 UINT64_C(4088398400), // VPADDLsv16i8
3155 UINT64_C(4088922624), // VPADDLsv2i32
3156 UINT64_C(4088660480), // VPADDLsv4i16
3157 UINT64_C(4088922688), // VPADDLsv4i32
3158 UINT64_C(4088660544), // VPADDLsv8i16
3159 UINT64_C(4088398336), // VPADDLsv8i8
3160 UINT64_C(4088398528), // VPADDLuv16i8
3161 UINT64_C(4088922752), // VPADDLuv2i32
3162 UINT64_C(4088660608), // VPADDLuv4i16
3163 UINT64_C(4088922816), // VPADDLuv4i32
3164 UINT64_C(4088660672), // VPADDLuv8i16
3165 UINT64_C(4088398464), // VPADDLuv8i8
3166 UINT64_C(4076866816), // VPADDf
3167 UINT64_C(4077915392), // VPADDh
3168 UINT64_C(4061137680), // VPADDi16
3169 UINT64_C(4062186256), // VPADDi32
3170 UINT64_C(4060089104), // VPADDi8
3171 UINT64_C(4076867328), // VPMAXf
3172 UINT64_C(4077915904), // VPMAXh
3173 UINT64_C(4061137408), // VPMAXs16
3174 UINT64_C(4062185984), // VPMAXs32
3175 UINT64_C(4060088832), // VPMAXs8
3176 UINT64_C(4077914624), // VPMAXu16
3177 UINT64_C(4078963200), // VPMAXu32
3178 UINT64_C(4076866048), // VPMAXu8
3179 UINT64_C(4078964480), // VPMINf
3180 UINT64_C(4080013056), // VPMINh
3181 UINT64_C(4061137424), // VPMINs16
3182 UINT64_C(4062186000), // VPMINs32
3183 UINT64_C(4060088848), // VPMINs8
3184 UINT64_C(4077914640), // VPMINu16
3185 UINT64_C(4078963216), // VPMINu32
3186 UINT64_C(4076866064), // VPMINu8
3187 UINT64_C(4088399680), // VQABSv16i8
3188 UINT64_C(4088923904), // VQABSv2i32
3189 UINT64_C(4088661760), // VQABSv4i16
3190 UINT64_C(4088923968), // VQABSv4i32
3191 UINT64_C(4088661824), // VQABSv8i16
3192 UINT64_C(4088399616), // VQABSv8i8
3193 UINT64_C(4060086352), // VQADDsv16i8
3194 UINT64_C(4063232016), // VQADDsv1i64
3195 UINT64_C(4062183440), // VQADDsv2i32
3196 UINT64_C(4063232080), // VQADDsv2i64
3197 UINT64_C(4061134864), // VQADDsv4i16
3198 UINT64_C(4062183504), // VQADDsv4i32
3199 UINT64_C(4061134928), // VQADDsv8i16
3200 UINT64_C(4060086288), // VQADDsv8i8
3201 UINT64_C(4076863568), // VQADDuv16i8
3202 UINT64_C(4080009232), // VQADDuv1i64
3203 UINT64_C(4078960656), // VQADDuv2i32
3204 UINT64_C(4080009296), // VQADDuv2i64
3205 UINT64_C(4077912080), // VQADDuv4i16
3206 UINT64_C(4078960720), // VQADDuv4i32
3207 UINT64_C(4077912144), // VQADDuv8i16
3208 UINT64_C(4076863504), // VQADDuv8i8
3209 UINT64_C(4070572864), // VQDMLALslv2i32
3210 UINT64_C(4069524288), // VQDMLALslv4i16
3211 UINT64_C(4070574336), // VQDMLALv2i64
3212 UINT64_C(4069525760), // VQDMLALv4i32
3213 UINT64_C(4070573888), // VQDMLSLslv2i32
3214 UINT64_C(4069525312), // VQDMLSLslv4i16
3215 UINT64_C(4070574848), // VQDMLSLv2i64
3216 UINT64_C(4069526272), // VQDMLSLv4i32
3217 UINT64_C(4070575168), // VQDMULHslv2i32
3218 UINT64_C(4069526592), // VQDMULHslv4i16
3219 UINT64_C(4087352384), // VQDMULHslv4i32
3220 UINT64_C(4086303808), // VQDMULHslv8i16
3221 UINT64_C(4062186240), // VQDMULHv2i32
3222 UINT64_C(4061137664), // VQDMULHv4i16
3223 UINT64_C(4062186304), // VQDMULHv4i32
3224 UINT64_C(4061137728), // VQDMULHv8i16
3225 UINT64_C(4070574912), // VQDMULLslv2i32
3226 UINT64_C(4069526336), // VQDMULLslv4i16
3227 UINT64_C(4070575360), // VQDMULLv2i64
3228 UINT64_C(4069526784), // VQDMULLv4i32
3229 UINT64_C(4089053760), // VQMOVNsuv2i32
3230 UINT64_C(4088791616), // VQMOVNsuv4i16
3231 UINT64_C(4088529472), // VQMOVNsuv8i8
3232 UINT64_C(4089053824), // VQMOVNsv2i32
3233 UINT64_C(4088791680), // VQMOVNsv4i16
3234 UINT64_C(4088529536), // VQMOVNsv8i8
3235 UINT64_C(4089053888), // VQMOVNuv2i32
3236 UINT64_C(4088791744), // VQMOVNuv4i16
3237 UINT64_C(4088529600), // VQMOVNuv8i8
3238 UINT64_C(4088399808), // VQNEGv16i8
3239 UINT64_C(4088924032), // VQNEGv2i32
3240 UINT64_C(4088661888), // VQNEGv4i16
3241 UINT64_C(4088924096), // VQNEGv4i32
3242 UINT64_C(4088661952), // VQNEGv8i16
3243 UINT64_C(4088399744), // VQNEGv8i8
3244 UINT64_C(4070575680), // VQRDMLAHslv2i32
3245 UINT64_C(4069527104), // VQRDMLAHslv4i16
3246 UINT64_C(4087352896), // VQRDMLAHslv4i32
3247 UINT64_C(4086304320), // VQRDMLAHslv8i16
3248 UINT64_C(4078963472), // VQRDMLAHv2i32
3249 UINT64_C(4077914896), // VQRDMLAHv4i16
3250 UINT64_C(4078963536), // VQRDMLAHv4i32
3251 UINT64_C(4077914960), // VQRDMLAHv8i16
3252 UINT64_C(4070575936), // VQRDMLSHslv2i32
3253 UINT64_C(4069527360), // VQRDMLSHslv4i16
3254 UINT64_C(4087353152), // VQRDMLSHslv4i32
3255 UINT64_C(4086304576), // VQRDMLSHslv8i16
3256 UINT64_C(4078963728), // VQRDMLSHv2i32
3257 UINT64_C(4077915152), // VQRDMLSHv4i16
3258 UINT64_C(4078963792), // VQRDMLSHv4i32
3259 UINT64_C(4077915216), // VQRDMLSHv8i16
3260 UINT64_C(4070575424), // VQRDMULHslv2i32
3261 UINT64_C(4069526848), // VQRDMULHslv4i16
3262 UINT64_C(4087352640), // VQRDMULHslv4i32
3263 UINT64_C(4086304064), // VQRDMULHslv8i16
3264 UINT64_C(4078963456), // VQRDMULHv2i32
3265 UINT64_C(4077914880), // VQRDMULHv4i16
3266 UINT64_C(4078963520), // VQRDMULHv4i32
3267 UINT64_C(4077914944), // VQRDMULHv8i16
3268 UINT64_C(4060087632), // VQRSHLsv16i8
3269 UINT64_C(4063233296), // VQRSHLsv1i64
3270 UINT64_C(4062184720), // VQRSHLsv2i32
3271 UINT64_C(4063233360), // VQRSHLsv2i64
3272 UINT64_C(4061136144), // VQRSHLsv4i16
3273 UINT64_C(4062184784), // VQRSHLsv4i32
3274 UINT64_C(4061136208), // VQRSHLsv8i16
3275 UINT64_C(4060087568), // VQRSHLsv8i8
3276 UINT64_C(4076864848), // VQRSHLuv16i8
3277 UINT64_C(4080010512), // VQRSHLuv1i64
3278 UINT64_C(4078961936), // VQRSHLuv2i32
3279 UINT64_C(4080010576), // VQRSHLuv2i64
3280 UINT64_C(4077913360), // VQRSHLuv4i16
3281 UINT64_C(4078962000), // VQRSHLuv4i32
3282 UINT64_C(4077913424), // VQRSHLuv8i16
3283 UINT64_C(4076864784), // VQRSHLuv8i8
3284 UINT64_C(4070574416), // VQRSHRNsv2i32
3285 UINT64_C(4069525840), // VQRSHRNsv4i16
3286 UINT64_C(4069001552), // VQRSHRNsv8i8
3287 UINT64_C(4087351632), // VQRSHRNuv2i32
3288 UINT64_C(4086303056), // VQRSHRNuv4i16
3289 UINT64_C(4085778768), // VQRSHRNuv8i8
3290 UINT64_C(4087351376), // VQRSHRUNv2i32
3291 UINT64_C(4086302800), // VQRSHRUNv4i16
3292 UINT64_C(4085778512), // VQRSHRUNv8i8
3293 UINT64_C(4069001040), // VQSHLsiv16i8
3294 UINT64_C(4068476816), // VQSHLsiv1i64
3295 UINT64_C(4070573840), // VQSHLsiv2i32
3296 UINT64_C(4068476880), // VQSHLsiv2i64
3297 UINT64_C(4069525264), // VQSHLsiv4i16
3298 UINT64_C(4070573904), // VQSHLsiv4i32
3299 UINT64_C(4069525328), // VQSHLsiv8i16
3300 UINT64_C(4069000976), // VQSHLsiv8i8
3301 UINT64_C(4085778000), // VQSHLsuv16i8
3302 UINT64_C(4085253776), // VQSHLsuv1i64
3303 UINT64_C(4087350800), // VQSHLsuv2i32
3304 UINT64_C(4085253840), // VQSHLsuv2i64
3305 UINT64_C(4086302224), // VQSHLsuv4i16
3306 UINT64_C(4087350864), // VQSHLsuv4i32
3307 UINT64_C(4086302288), // VQSHLsuv8i16
3308 UINT64_C(4085777936), // VQSHLsuv8i8
3309 UINT64_C(4060087376), // VQSHLsv16i8
3310 UINT64_C(4063233040), // VQSHLsv1i64
3311 UINT64_C(4062184464), // VQSHLsv2i32
3312 UINT64_C(4063233104), // VQSHLsv2i64
3313 UINT64_C(4061135888), // VQSHLsv4i16
3314 UINT64_C(4062184528), // VQSHLsv4i32
3315 UINT64_C(4061135952), // VQSHLsv8i16
3316 UINT64_C(4060087312), // VQSHLsv8i8
3317 UINT64_C(4085778256), // VQSHLuiv16i8
3318 UINT64_C(4085254032), // VQSHLuiv1i64
3319 UINT64_C(4087351056), // VQSHLuiv2i32
3320 UINT64_C(4085254096), // VQSHLuiv2i64
3321 UINT64_C(4086302480), // VQSHLuiv4i16
3322 UINT64_C(4087351120), // VQSHLuiv4i32
3323 UINT64_C(4086302544), // VQSHLuiv8i16
3324 UINT64_C(4085778192), // VQSHLuiv8i8
3325 UINT64_C(4076864592), // VQSHLuv16i8
3326 UINT64_C(4080010256), // VQSHLuv1i64
3327 UINT64_C(4078961680), // VQSHLuv2i32
3328 UINT64_C(4080010320), // VQSHLuv2i64
3329 UINT64_C(4077913104), // VQSHLuv4i16
3330 UINT64_C(4078961744), // VQSHLuv4i32
3331 UINT64_C(4077913168), // VQSHLuv8i16
3332 UINT64_C(4076864528), // VQSHLuv8i8
3333 UINT64_C(4070574352), // VQSHRNsv2i32
3334 UINT64_C(4069525776), // VQSHRNsv4i16
3335 UINT64_C(4069001488), // VQSHRNsv8i8
3336 UINT64_C(4087351568), // VQSHRNuv2i32
3337 UINT64_C(4086302992), // VQSHRNuv4i16
3338 UINT64_C(4085778704), // VQSHRNuv8i8
3339 UINT64_C(4087351312), // VQSHRUNv2i32
3340 UINT64_C(4086302736), // VQSHRUNv4i16
3341 UINT64_C(4085778448), // VQSHRUNv8i8
3342 UINT64_C(4060086864), // VQSUBsv16i8
3343 UINT64_C(4063232528), // VQSUBsv1i64
3344 UINT64_C(4062183952), // VQSUBsv2i32
3345 UINT64_C(4063232592), // VQSUBsv2i64
3346 UINT64_C(4061135376), // VQSUBsv4i16
3347 UINT64_C(4062184016), // VQSUBsv4i32
3348 UINT64_C(4061135440), // VQSUBsv8i16
3349 UINT64_C(4060086800), // VQSUBsv8i8
3350 UINT64_C(4076864080), // VQSUBuv16i8
3351 UINT64_C(4080009744), // VQSUBuv1i64
3352 UINT64_C(4078961168), // VQSUBuv2i32
3353 UINT64_C(4080009808), // VQSUBuv2i64
3354 UINT64_C(4077912592), // VQSUBuv4i16
3355 UINT64_C(4078961232), // VQSUBuv4i32
3356 UINT64_C(4077912656), // VQSUBuv8i16
3357 UINT64_C(4076864016), // VQSUBuv8i8
3358 UINT64_C(4087350272), // VRADDHNv2i32
3359 UINT64_C(4086301696), // VRADDHNv4i16
3360 UINT64_C(4085253120), // VRADDHNv8i8
3361 UINT64_C(4089119744), // VRECPEd
3362 UINT64_C(4089120000), // VRECPEfd
3363 UINT64_C(4089120064), // VRECPEfq
3364 UINT64_C(4088857856), // VRECPEhd
3365 UINT64_C(4088857920), // VRECPEhq
3366 UINT64_C(4089119808), // VRECPEq
3367 UINT64_C(4060090128), // VRECPSfd
3368 UINT64_C(4060090192), // VRECPSfq
3369 UINT64_C(4061138704), // VRECPShd
3370 UINT64_C(4061138768), // VRECPShq
3371 UINT64_C(4088398080), // VREV16d8
3372 UINT64_C(4088398144), // VREV16q8
3373 UINT64_C(4088660096), // VREV32d16
3374 UINT64_C(4088397952), // VREV32d8
3375 UINT64_C(4088660160), // VREV32q16
3376 UINT64_C(4088398016), // VREV32q8
3377 UINT64_C(4088659968), // VREV64d16
3378 UINT64_C(4088922112), // VREV64d32
3379 UINT64_C(4088397824), // VREV64d8
3380 UINT64_C(4088660032), // VREV64q16
3381 UINT64_C(4088922176), // VREV64q32
3382 UINT64_C(4088397888), // VREV64q8
3383 UINT64_C(4060086592), // VRHADDsv16i8
3384 UINT64_C(4062183680), // VRHADDsv2i32
3385 UINT64_C(4061135104), // VRHADDsv4i16
3386 UINT64_C(4062183744), // VRHADDsv4i32
3387 UINT64_C(4061135168), // VRHADDsv8i16
3388 UINT64_C(4060086528), // VRHADDsv8i8
3389 UINT64_C(4076863808), // VRHADDuv16i8
3390 UINT64_C(4078960896), // VRHADDuv2i32
3391 UINT64_C(4077912320), // VRHADDuv4i16
3392 UINT64_C(4078960960), // VRHADDuv4i32
3393 UINT64_C(4077912384), // VRHADDuv8i16
3394 UINT64_C(4076863744), // VRHADDuv8i8
3395 UINT64_C(4273474368), // VRINTAD
3396 UINT64_C(4273473856), // VRINTAH
3397 UINT64_C(4089054464), // VRINTANDf
3398 UINT64_C(4088792320), // VRINTANDh
3399 UINT64_C(4089054528), // VRINTANQf
3400 UINT64_C(4088792384), // VRINTANQh
3401 UINT64_C(4273474112), // VRINTAS
3402 UINT64_C(4273670976), // VRINTMD
3403 UINT64_C(4273670464), // VRINTMH
3404 UINT64_C(4089054848), // VRINTMNDf
3405 UINT64_C(4088792704), // VRINTMNDh
3406 UINT64_C(4089054912), // VRINTMNQf
3407 UINT64_C(4088792768), // VRINTMNQh
3408 UINT64_C(4273670720), // VRINTMS
3409 UINT64_C(4273539904), // VRINTND
3410 UINT64_C(4273539392), // VRINTNH
3411 UINT64_C(4089054208), // VRINTNNDf
3412 UINT64_C(4088792064), // VRINTNNDh
3413 UINT64_C(4089054272), // VRINTNNQf
3414 UINT64_C(4088792128), // VRINTNNQh
3415 UINT64_C(4273539648), // VRINTNS
3416 UINT64_C(4273605440), // VRINTPD
3417 UINT64_C(4273604928), // VRINTPH
3418 UINT64_C(4089055104), // VRINTPNDf
3419 UINT64_C(4088792960), // VRINTPNDh
3420 UINT64_C(4089055168), // VRINTPNQf
3421 UINT64_C(4088793024), // VRINTPNQh
3422 UINT64_C(4273605184), // VRINTPS
3423 UINT64_C(246811456), // VRINTRD
3424 UINT64_C(246810944), // VRINTRH
3425 UINT64_C(246811200), // VRINTRS
3426 UINT64_C(246876992), // VRINTXD
3427 UINT64_C(246876480), // VRINTXH
3428 UINT64_C(4089054336), // VRINTXNDf
3429 UINT64_C(4088792192), // VRINTXNDh
3430 UINT64_C(4089054400), // VRINTXNQf
3431 UINT64_C(4088792256), // VRINTXNQh
3432 UINT64_C(246876736), // VRINTXS
3433 UINT64_C(246811584), // VRINTZD
3434 UINT64_C(246811072), // VRINTZH
3435 UINT64_C(4089054592), // VRINTZNDf
3436 UINT64_C(4088792448), // VRINTZNDh
3437 UINT64_C(4089054656), // VRINTZNQf
3438 UINT64_C(4088792512), // VRINTZNQh
3439 UINT64_C(246811328), // VRINTZS
3440 UINT64_C(4060087616), // VRSHLsv16i8
3441 UINT64_C(4063233280), // VRSHLsv1i64
3442 UINT64_C(4062184704), // VRSHLsv2i32
3443 UINT64_C(4063233344), // VRSHLsv2i64
3444 UINT64_C(4061136128), // VRSHLsv4i16
3445 UINT64_C(4062184768), // VRSHLsv4i32
3446 UINT64_C(4061136192), // VRSHLsv8i16
3447 UINT64_C(4060087552), // VRSHLsv8i8
3448 UINT64_C(4076864832), // VRSHLuv16i8
3449 UINT64_C(4080010496), // VRSHLuv1i64
3450 UINT64_C(4078961920), // VRSHLuv2i32
3451 UINT64_C(4080010560), // VRSHLuv2i64
3452 UINT64_C(4077913344), // VRSHLuv4i16
3453 UINT64_C(4078961984), // VRSHLuv4i32
3454 UINT64_C(4077913408), // VRSHLuv8i16
3455 UINT64_C(4076864768), // VRSHLuv8i8
3456 UINT64_C(4070574160), // VRSHRNv2i32
3457 UINT64_C(4069525584), // VRSHRNv4i16
3458 UINT64_C(4069001296), // VRSHRNv8i8
3459 UINT64_C(4068999760), // VRSHRsv16i8
3460 UINT64_C(4068475536), // VRSHRsv1i64
3461 UINT64_C(4070572560), // VRSHRsv2i32
3462 UINT64_C(4068475600), // VRSHRsv2i64
3463 UINT64_C(4069523984), // VRSHRsv4i16
3464 UINT64_C(4070572624), // VRSHRsv4i32
3465 UINT64_C(4069524048), // VRSHRsv8i16
3466 UINT64_C(4068999696), // VRSHRsv8i8
3467 UINT64_C(4085776976), // VRSHRuv16i8
3468 UINT64_C(4085252752), // VRSHRuv1i64
3469 UINT64_C(4087349776), // VRSHRuv2i32
3470 UINT64_C(4085252816), // VRSHRuv2i64
3471 UINT64_C(4086301200), // VRSHRuv4i16
3472 UINT64_C(4087349840), // VRSHRuv4i32
3473 UINT64_C(4086301264), // VRSHRuv8i16
3474 UINT64_C(4085776912), // VRSHRuv8i8
3475 UINT64_C(4089119872), // VRSQRTEd
3476 UINT64_C(4089120128), // VRSQRTEfd
3477 UINT64_C(4089120192), // VRSQRTEfq
3478 UINT64_C(4088857984), // VRSQRTEhd
3479 UINT64_C(4088858048), // VRSQRTEhq
3480 UINT64_C(4089119936), // VRSQRTEq
3481 UINT64_C(4062187280), // VRSQRTSfd
3482 UINT64_C(4062187344), // VRSQRTSfq
3483 UINT64_C(4063235856), // VRSQRTShd
3484 UINT64_C(4063235920), // VRSQRTShq
3485 UINT64_C(4069000016), // VRSRAsv16i8
3486 UINT64_C(4068475792), // VRSRAsv1i64
3487 UINT64_C(4070572816), // VRSRAsv2i32
3488 UINT64_C(4068475856), // VRSRAsv2i64
3489 UINT64_C(4069524240), // VRSRAsv4i16
3490 UINT64_C(4070572880), // VRSRAsv4i32
3491 UINT64_C(4069524304), // VRSRAsv8i16
3492 UINT64_C(4068999952), // VRSRAsv8i8
3493 UINT64_C(4085777232), // VRSRAuv16i8
3494 UINT64_C(4085253008), // VRSRAuv1i64
3495 UINT64_C(4087350032), // VRSRAuv2i32
3496 UINT64_C(4085253072), // VRSRAuv2i64
3497 UINT64_C(4086301456), // VRSRAuv4i16
3498 UINT64_C(4087350096), // VRSRAuv4i32
3499 UINT64_C(4086301520), // VRSRAuv8i16
3500 UINT64_C(4085777168), // VRSRAuv8i8
3501 UINT64_C(4087350784), // VRSUBHNv2i32
3502 UINT64_C(4086302208), // VRSUBHNv4i16
3503 UINT64_C(4085253632), // VRSUBHNv8i8
3504 UINT64_C(3969846016), // VSCCLRMD
3505 UINT64_C(3969845760), // VSCCLRMS
3506 UINT64_C(4229958912), // VSDOTD
3507 UINT64_C(4263513344), // VSDOTDI
3508 UINT64_C(4229958976), // VSDOTQ
3509 UINT64_C(4263513408), // VSDOTQI
3510 UINT64_C(4261415680), // VSELEQD
3511 UINT64_C(4261415168), // VSELEQH
3512 UINT64_C(4261415424), // VSELEQS
3513 UINT64_C(4263512832), // VSELGED
3514 UINT64_C(4263512320), // VSELGEH
3515 UINT64_C(4263512576), // VSELGES
3516 UINT64_C(4264561408), // VSELGTD
3517 UINT64_C(4264560896), // VSELGTH
3518 UINT64_C(4264561152), // VSELGTS
3519 UINT64_C(4262464256), // VSELVSD
3520 UINT64_C(4262463744), // VSELVSH
3521 UINT64_C(4262464000), // VSELVSS
3522 UINT64_C(234883888), // VSETLNi16
3523 UINT64_C(234883856), // VSETLNi32
3524 UINT64_C(239078160), // VSETLNi8
3525 UINT64_C(4088791808), // VSHLLi16
3526 UINT64_C(4089053952), // VSHLLi32
3527 UINT64_C(4088529664), // VSHLLi8
3528 UINT64_C(4070574608), // VSHLLsv2i64
3529 UINT64_C(4069526032), // VSHLLsv4i32
3530 UINT64_C(4069001744), // VSHLLsv8i16
3531 UINT64_C(4087351824), // VSHLLuv2i64
3532 UINT64_C(4086303248), // VSHLLuv4i32
3533 UINT64_C(4085778960), // VSHLLuv8i16
3534 UINT64_C(4069000528), // VSHLiv16i8
3535 UINT64_C(4068476304), // VSHLiv1i64
3536 UINT64_C(4070573328), // VSHLiv2i32
3537 UINT64_C(4068476368), // VSHLiv2i64
3538 UINT64_C(4069524752), // VSHLiv4i16
3539 UINT64_C(4070573392), // VSHLiv4i32
3540 UINT64_C(4069524816), // VSHLiv8i16
3541 UINT64_C(4069000464), // VSHLiv8i8
3542 UINT64_C(4060087360), // VSHLsv16i8
3543 UINT64_C(4063233024), // VSHLsv1i64
3544 UINT64_C(4062184448), // VSHLsv2i32
3545 UINT64_C(4063233088), // VSHLsv2i64
3546 UINT64_C(4061135872), // VSHLsv4i16
3547 UINT64_C(4062184512), // VSHLsv4i32
3548 UINT64_C(4061135936), // VSHLsv8i16
3549 UINT64_C(4060087296), // VSHLsv8i8
3550 UINT64_C(4076864576), // VSHLuv16i8
3551 UINT64_C(4080010240), // VSHLuv1i64
3552 UINT64_C(4078961664), // VSHLuv2i32
3553 UINT64_C(4080010304), // VSHLuv2i64
3554 UINT64_C(4077913088), // VSHLuv4i16
3555 UINT64_C(4078961728), // VSHLuv4i32
3556 UINT64_C(4077913152), // VSHLuv8i16
3557 UINT64_C(4076864512), // VSHLuv8i8
3558 UINT64_C(4070574096), // VSHRNv2i32
3559 UINT64_C(4069525520), // VSHRNv4i16
3560 UINT64_C(4069001232), // VSHRNv8i8
3561 UINT64_C(4068999248), // VSHRsv16i8
3562 UINT64_C(4068475024), // VSHRsv1i64
3563 UINT64_C(4070572048), // VSHRsv2i32
3564 UINT64_C(4068475088), // VSHRsv2i64
3565 UINT64_C(4069523472), // VSHRsv4i16
3566 UINT64_C(4070572112), // VSHRsv4i32
3567 UINT64_C(4069523536), // VSHRsv8i16
3568 UINT64_C(4068999184), // VSHRsv8i8
3569 UINT64_C(4085776464), // VSHRuv16i8
3570 UINT64_C(4085252240), // VSHRuv1i64
3571 UINT64_C(4087349264), // VSHRuv2i32
3572 UINT64_C(4085252304), // VSHRuv2i64
3573 UINT64_C(4086300688), // VSHRuv4i16
3574 UINT64_C(4087349328), // VSHRuv4i32
3575 UINT64_C(4086300752), // VSHRuv8i16
3576 UINT64_C(4085776400), // VSHRuv8i8
3577 UINT64_C(247073600), // VSHTOD
3578 UINT64_C(247073088), // VSHTOH
3579 UINT64_C(247073344), // VSHTOS
3580 UINT64_C(246942656), // VSITOD
3581 UINT64_C(246942144), // VSITOH
3582 UINT64_C(246942400), // VSITOS
3583 UINT64_C(4085777744), // VSLIv16i8
3584 UINT64_C(4085253520), // VSLIv1i64
3585 UINT64_C(4087350544), // VSLIv2i32
3586 UINT64_C(4085253584), // VSLIv2i64
3587 UINT64_C(4086301968), // VSLIv4i16
3588 UINT64_C(4087350608), // VSLIv4i32
3589 UINT64_C(4086302032), // VSLIv8i16
3590 UINT64_C(4085777680), // VSLIv8i8
3591 UINT64_C(247073728), // VSLTOD
3592 UINT64_C(247073216), // VSLTOH
3593 UINT64_C(247073472), // VSLTOS
3594 UINT64_C(4229958720), // VSMMLA
3595 UINT64_C(246483904), // VSQRTD
3596 UINT64_C(246483392), // VSQRTH
3597 UINT64_C(246483648), // VSQRTS
3598 UINT64_C(4068999504), // VSRAsv16i8
3599 UINT64_C(4068475280), // VSRAsv1i64
3600 UINT64_C(4070572304), // VSRAsv2i32
3601 UINT64_C(4068475344), // VSRAsv2i64
3602 UINT64_C(4069523728), // VSRAsv4i16
3603 UINT64_C(4070572368), // VSRAsv4i32
3604 UINT64_C(4069523792), // VSRAsv8i16
3605 UINT64_C(4068999440), // VSRAsv8i8
3606 UINT64_C(4085776720), // VSRAuv16i8
3607 UINT64_C(4085252496), // VSRAuv1i64
3608 UINT64_C(4087349520), // VSRAuv2i32
3609 UINT64_C(4085252560), // VSRAuv2i64
3610 UINT64_C(4086300944), // VSRAuv4i16
3611 UINT64_C(4087349584), // VSRAuv4i32
3612 UINT64_C(4086301008), // VSRAuv8i16
3613 UINT64_C(4085776656), // VSRAuv8i8
3614 UINT64_C(4085777488), // VSRIv16i8
3615 UINT64_C(4085253264), // VSRIv1i64
3616 UINT64_C(4087350288), // VSRIv2i32
3617 UINT64_C(4085253328), // VSRIv2i64
3618 UINT64_C(4086301712), // VSRIv4i16
3619 UINT64_C(4087350352), // VSRIv4i32
3620 UINT64_C(4086301776), // VSRIv8i16
3621 UINT64_C(4085777424), // VSRIv8i8
3622 UINT64_C(4102030351), // VST1LNd16
3623 UINT64_C(4102030336), // VST1LNd16_UPD
3624 UINT64_C(4102031375), // VST1LNd32
3625 UINT64_C(4102031360), // VST1LNd32_UPD
3626 UINT64_C(4102029327), // VST1LNd8
3627 UINT64_C(4102029312), // VST1LNd8_UPD
3628 UINT64_C(0), // VST1LNq16Pseudo
3629 UINT64_C(0), // VST1LNq16Pseudo_UPD
3630 UINT64_C(0), // VST1LNq32Pseudo
3631 UINT64_C(0), // VST1LNq32Pseudo_UPD
3632 UINT64_C(0), // VST1LNq8Pseudo
3633 UINT64_C(0), // VST1LNq8Pseudo_UPD
3634 UINT64_C(4093642575), // VST1d16
3635 UINT64_C(4093641295), // VST1d16Q
3636 UINT64_C(0), // VST1d16QPseudo
3637 UINT64_C(0), // VST1d16QPseudoWB_fixed
3638 UINT64_C(0), // VST1d16QPseudoWB_register
3639 UINT64_C(4093641293), // VST1d16Qwb_fixed
3640 UINT64_C(4093641280), // VST1d16Qwb_register
3641 UINT64_C(4093642319), // VST1d16T
3642 UINT64_C(0), // VST1d16TPseudo
3643 UINT64_C(0), // VST1d16TPseudoWB_fixed
3644 UINT64_C(0), // VST1d16TPseudoWB_register
3645 UINT64_C(4093642317), // VST1d16Twb_fixed
3646 UINT64_C(4093642304), // VST1d16Twb_register
3647 UINT64_C(4093642573), // VST1d16wb_fixed
3648 UINT64_C(4093642560), // VST1d16wb_register
3649 UINT64_C(4093642639), // VST1d32
3650 UINT64_C(4093641359), // VST1d32Q
3651 UINT64_C(0), // VST1d32QPseudo
3652 UINT64_C(0), // VST1d32QPseudoWB_fixed
3653 UINT64_C(0), // VST1d32QPseudoWB_register
3654 UINT64_C(4093641357), // VST1d32Qwb_fixed
3655 UINT64_C(4093641344), // VST1d32Qwb_register
3656 UINT64_C(4093642383), // VST1d32T
3657 UINT64_C(0), // VST1d32TPseudo
3658 UINT64_C(0), // VST1d32TPseudoWB_fixed
3659 UINT64_C(0), // VST1d32TPseudoWB_register
3660 UINT64_C(4093642381), // VST1d32Twb_fixed
3661 UINT64_C(4093642368), // VST1d32Twb_register
3662 UINT64_C(4093642637), // VST1d32wb_fixed
3663 UINT64_C(4093642624), // VST1d32wb_register
3664 UINT64_C(4093642703), // VST1d64
3665 UINT64_C(4093641423), // VST1d64Q
3666 UINT64_C(0), // VST1d64QPseudo
3667 UINT64_C(0), // VST1d64QPseudoWB_fixed
3668 UINT64_C(0), // VST1d64QPseudoWB_register
3669 UINT64_C(4093641421), // VST1d64Qwb_fixed
3670 UINT64_C(4093641408), // VST1d64Qwb_register
3671 UINT64_C(4093642447), // VST1d64T
3672 UINT64_C(0), // VST1d64TPseudo
3673 UINT64_C(0), // VST1d64TPseudoWB_fixed
3674 UINT64_C(0), // VST1d64TPseudoWB_register
3675 UINT64_C(4093642445), // VST1d64Twb_fixed
3676 UINT64_C(4093642432), // VST1d64Twb_register
3677 UINT64_C(4093642701), // VST1d64wb_fixed
3678 UINT64_C(4093642688), // VST1d64wb_register
3679 UINT64_C(4093642511), // VST1d8
3680 UINT64_C(4093641231), // VST1d8Q
3681 UINT64_C(0), // VST1d8QPseudo
3682 UINT64_C(0), // VST1d8QPseudoWB_fixed
3683 UINT64_C(0), // VST1d8QPseudoWB_register
3684 UINT64_C(4093641229), // VST1d8Qwb_fixed
3685 UINT64_C(4093641216), // VST1d8Qwb_register
3686 UINT64_C(4093642255), // VST1d8T
3687 UINT64_C(0), // VST1d8TPseudo
3688 UINT64_C(0), // VST1d8TPseudoWB_fixed
3689 UINT64_C(0), // VST1d8TPseudoWB_register
3690 UINT64_C(4093642253), // VST1d8Twb_fixed
3691 UINT64_C(4093642240), // VST1d8Twb_register
3692 UINT64_C(4093642509), // VST1d8wb_fixed
3693 UINT64_C(4093642496), // VST1d8wb_register
3694 UINT64_C(4093643343), // VST1q16
3695 UINT64_C(0), // VST1q16HighQPseudo
3696 UINT64_C(0), // VST1q16HighQPseudo_UPD
3697 UINT64_C(0), // VST1q16HighTPseudo
3698 UINT64_C(0), // VST1q16HighTPseudo_UPD
3699 UINT64_C(0), // VST1q16LowQPseudo_UPD
3700 UINT64_C(0), // VST1q16LowTPseudo_UPD
3701 UINT64_C(4093643341), // VST1q16wb_fixed
3702 UINT64_C(4093643328), // VST1q16wb_register
3703 UINT64_C(4093643407), // VST1q32
3704 UINT64_C(0), // VST1q32HighQPseudo
3705 UINT64_C(0), // VST1q32HighQPseudo_UPD
3706 UINT64_C(0), // VST1q32HighTPseudo
3707 UINT64_C(0), // VST1q32HighTPseudo_UPD
3708 UINT64_C(0), // VST1q32LowQPseudo_UPD
3709 UINT64_C(0), // VST1q32LowTPseudo_UPD
3710 UINT64_C(4093643405), // VST1q32wb_fixed
3711 UINT64_C(4093643392), // VST1q32wb_register
3712 UINT64_C(4093643471), // VST1q64
3713 UINT64_C(0), // VST1q64HighQPseudo
3714 UINT64_C(0), // VST1q64HighQPseudo_UPD
3715 UINT64_C(0), // VST1q64HighTPseudo
3716 UINT64_C(0), // VST1q64HighTPseudo_UPD
3717 UINT64_C(0), // VST1q64LowQPseudo_UPD
3718 UINT64_C(0), // VST1q64LowTPseudo_UPD
3719 UINT64_C(4093643469), // VST1q64wb_fixed
3720 UINT64_C(4093643456), // VST1q64wb_register
3721 UINT64_C(4093643279), // VST1q8
3722 UINT64_C(0), // VST1q8HighQPseudo
3723 UINT64_C(0), // VST1q8HighQPseudo_UPD
3724 UINT64_C(0), // VST1q8HighTPseudo
3725 UINT64_C(0), // VST1q8HighTPseudo_UPD
3726 UINT64_C(0), // VST1q8LowQPseudo_UPD
3727 UINT64_C(0), // VST1q8LowTPseudo_UPD
3728 UINT64_C(4093643277), // VST1q8wb_fixed
3729 UINT64_C(4093643264), // VST1q8wb_register
3730 UINT64_C(4102030607), // VST2LNd16
3731 UINT64_C(0), // VST2LNd16Pseudo
3732 UINT64_C(0), // VST2LNd16Pseudo_UPD
3733 UINT64_C(4102030592), // VST2LNd16_UPD
3734 UINT64_C(4102031631), // VST2LNd32
3735 UINT64_C(0), // VST2LNd32Pseudo
3736 UINT64_C(0), // VST2LNd32Pseudo_UPD
3737 UINT64_C(4102031616), // VST2LNd32_UPD
3738 UINT64_C(4102029583), // VST2LNd8
3739 UINT64_C(0), // VST2LNd8Pseudo
3740 UINT64_C(0), // VST2LNd8Pseudo_UPD
3741 UINT64_C(4102029568), // VST2LNd8_UPD
3742 UINT64_C(4102030639), // VST2LNq16
3743 UINT64_C(0), // VST2LNq16Pseudo
3744 UINT64_C(0), // VST2LNq16Pseudo_UPD
3745 UINT64_C(4102030624), // VST2LNq16_UPD
3746 UINT64_C(4102031695), // VST2LNq32
3747 UINT64_C(0), // VST2LNq32Pseudo
3748 UINT64_C(0), // VST2LNq32Pseudo_UPD
3749 UINT64_C(4102031680), // VST2LNq32_UPD
3750 UINT64_C(4093643087), // VST2b16
3751 UINT64_C(4093643085), // VST2b16wb_fixed
3752 UINT64_C(4093643072), // VST2b16wb_register
3753 UINT64_C(4093643151), // VST2b32
3754 UINT64_C(4093643149), // VST2b32wb_fixed
3755 UINT64_C(4093643136), // VST2b32wb_register
3756 UINT64_C(4093643023), // VST2b8
3757 UINT64_C(4093643021), // VST2b8wb_fixed
3758 UINT64_C(4093643008), // VST2b8wb_register
3759 UINT64_C(4093642831), // VST2d16
3760 UINT64_C(4093642829), // VST2d16wb_fixed
3761 UINT64_C(4093642816), // VST2d16wb_register
3762 UINT64_C(4093642895), // VST2d32
3763 UINT64_C(4093642893), // VST2d32wb_fixed
3764 UINT64_C(4093642880), // VST2d32wb_register
3765 UINT64_C(4093642767), // VST2d8
3766 UINT64_C(4093642765), // VST2d8wb_fixed
3767 UINT64_C(4093642752), // VST2d8wb_register
3768 UINT64_C(4093641551), // VST2q16
3769 UINT64_C(0), // VST2q16Pseudo
3770 UINT64_C(0), // VST2q16PseudoWB_fixed
3771 UINT64_C(0), // VST2q16PseudoWB_register
3772 UINT64_C(4093641549), // VST2q16wb_fixed
3773 UINT64_C(4093641536), // VST2q16wb_register
3774 UINT64_C(4093641615), // VST2q32
3775 UINT64_C(0), // VST2q32Pseudo
3776 UINT64_C(0), // VST2q32PseudoWB_fixed
3777 UINT64_C(0), // VST2q32PseudoWB_register
3778 UINT64_C(4093641613), // VST2q32wb_fixed
3779 UINT64_C(4093641600), // VST2q32wb_register
3780 UINT64_C(4093641487), // VST2q8
3781 UINT64_C(0), // VST2q8Pseudo
3782 UINT64_C(0), // VST2q8PseudoWB_fixed
3783 UINT64_C(0), // VST2q8PseudoWB_register
3784 UINT64_C(4093641485), // VST2q8wb_fixed
3785 UINT64_C(4093641472), // VST2q8wb_register
3786 UINT64_C(4102030863), // VST3LNd16
3787 UINT64_C(0), // VST3LNd16Pseudo
3788 UINT64_C(0), // VST3LNd16Pseudo_UPD
3789 UINT64_C(4102030848), // VST3LNd16_UPD
3790 UINT64_C(4102031887), // VST3LNd32
3791 UINT64_C(0), // VST3LNd32Pseudo
3792 UINT64_C(0), // VST3LNd32Pseudo_UPD
3793 UINT64_C(4102031872), // VST3LNd32_UPD
3794 UINT64_C(4102029839), // VST3LNd8
3795 UINT64_C(0), // VST3LNd8Pseudo
3796 UINT64_C(0), // VST3LNd8Pseudo_UPD
3797 UINT64_C(4102029824), // VST3LNd8_UPD
3798 UINT64_C(4102030895), // VST3LNq16
3799 UINT64_C(0), // VST3LNq16Pseudo
3800 UINT64_C(0), // VST3LNq16Pseudo_UPD
3801 UINT64_C(4102030880), // VST3LNq16_UPD
3802 UINT64_C(4102031951), // VST3LNq32
3803 UINT64_C(0), // VST3LNq32Pseudo
3804 UINT64_C(0), // VST3LNq32Pseudo_UPD
3805 UINT64_C(4102031936), // VST3LNq32_UPD
3806 UINT64_C(4093641807), // VST3d16
3807 UINT64_C(0), // VST3d16Pseudo
3808 UINT64_C(0), // VST3d16Pseudo_UPD
3809 UINT64_C(4093641792), // VST3d16_UPD
3810 UINT64_C(4093641871), // VST3d32
3811 UINT64_C(0), // VST3d32Pseudo
3812 UINT64_C(0), // VST3d32Pseudo_UPD
3813 UINT64_C(4093641856), // VST3d32_UPD
3814 UINT64_C(4093641743), // VST3d8
3815 UINT64_C(0), // VST3d8Pseudo
3816 UINT64_C(0), // VST3d8Pseudo_UPD
3817 UINT64_C(4093641728), // VST3d8_UPD
3818 UINT64_C(4093642063), // VST3q16
3819 UINT64_C(0), // VST3q16Pseudo_UPD
3820 UINT64_C(4093642048), // VST3q16_UPD
3821 UINT64_C(0), // VST3q16oddPseudo
3822 UINT64_C(0), // VST3q16oddPseudo_UPD
3823 UINT64_C(4093642127), // VST3q32
3824 UINT64_C(0), // VST3q32Pseudo_UPD
3825 UINT64_C(4093642112), // VST3q32_UPD
3826 UINT64_C(0), // VST3q32oddPseudo
3827 UINT64_C(0), // VST3q32oddPseudo_UPD
3828 UINT64_C(4093641999), // VST3q8
3829 UINT64_C(0), // VST3q8Pseudo_UPD
3830 UINT64_C(4093641984), // VST3q8_UPD
3831 UINT64_C(0), // VST3q8oddPseudo
3832 UINT64_C(0), // VST3q8oddPseudo_UPD
3833 UINT64_C(4102031119), // VST4LNd16
3834 UINT64_C(0), // VST4LNd16Pseudo
3835 UINT64_C(0), // VST4LNd16Pseudo_UPD
3836 UINT64_C(4102031104), // VST4LNd16_UPD
3837 UINT64_C(4102032143), // VST4LNd32
3838 UINT64_C(0), // VST4LNd32Pseudo
3839 UINT64_C(0), // VST4LNd32Pseudo_UPD
3840 UINT64_C(4102032128), // VST4LNd32_UPD
3841 UINT64_C(4102030095), // VST4LNd8
3842 UINT64_C(0), // VST4LNd8Pseudo
3843 UINT64_C(0), // VST4LNd8Pseudo_UPD
3844 UINT64_C(4102030080), // VST4LNd8_UPD
3845 UINT64_C(4102031151), // VST4LNq16
3846 UINT64_C(0), // VST4LNq16Pseudo
3847 UINT64_C(0), // VST4LNq16Pseudo_UPD
3848 UINT64_C(4102031136), // VST4LNq16_UPD
3849 UINT64_C(4102032207), // VST4LNq32
3850 UINT64_C(0), // VST4LNq32Pseudo
3851 UINT64_C(0), // VST4LNq32Pseudo_UPD
3852 UINT64_C(4102032192), // VST4LNq32_UPD
3853 UINT64_C(4093640783), // VST4d16
3854 UINT64_C(0), // VST4d16Pseudo
3855 UINT64_C(0), // VST4d16Pseudo_UPD
3856 UINT64_C(4093640768), // VST4d16_UPD
3857 UINT64_C(4093640847), // VST4d32
3858 UINT64_C(0), // VST4d32Pseudo
3859 UINT64_C(0), // VST4d32Pseudo_UPD
3860 UINT64_C(4093640832), // VST4d32_UPD
3861 UINT64_C(4093640719), // VST4d8
3862 UINT64_C(0), // VST4d8Pseudo
3863 UINT64_C(0), // VST4d8Pseudo_UPD
3864 UINT64_C(4093640704), // VST4d8_UPD
3865 UINT64_C(4093641039), // VST4q16
3866 UINT64_C(0), // VST4q16Pseudo_UPD
3867 UINT64_C(4093641024), // VST4q16_UPD
3868 UINT64_C(0), // VST4q16oddPseudo
3869 UINT64_C(0), // VST4q16oddPseudo_UPD
3870 UINT64_C(4093641103), // VST4q32
3871 UINT64_C(0), // VST4q32Pseudo_UPD
3872 UINT64_C(4093641088), // VST4q32_UPD
3873 UINT64_C(0), // VST4q32oddPseudo
3874 UINT64_C(0), // VST4q32oddPseudo_UPD
3875 UINT64_C(4093640975), // VST4q8
3876 UINT64_C(0), // VST4q8Pseudo_UPD
3877 UINT64_C(4093640960), // VST4q8_UPD
3878 UINT64_C(0), // VST4q8oddPseudo
3879 UINT64_C(0), // VST4q8oddPseudo_UPD
3880 UINT64_C(220203776), // VSTMDDB_UPD
3881 UINT64_C(209718016), // VSTMDIA
3882 UINT64_C(211815168), // VSTMDIA_UPD
3883 UINT64_C(0), // VSTMQIA
3884 UINT64_C(220203520), // VSTMSDB_UPD
3885 UINT64_C(209717760), // VSTMSIA
3886 UINT64_C(211814912), // VSTMSIA_UPD
3887 UINT64_C(218106624), // VSTRD
3888 UINT64_C(218106112), // VSTRH
3889 UINT64_C(218106368), // VSTRS
3890 UINT64_C(222351232), // VSTR_FPCXTNS_off
3891 UINT64_C(207671168), // VSTR_FPCXTNS_post
3892 UINT64_C(224448384), // VSTR_FPCXTNS_pre
3893 UINT64_C(222359424), // VSTR_FPCXTS_off
3894 UINT64_C(207679360), // VSTR_FPCXTS_post
3895 UINT64_C(224456576), // VSTR_FPCXTS_pre
3896 UINT64_C(218124160), // VSTR_FPSCR_NZCVQC_off
3897 UINT64_C(203444096), // VSTR_FPSCR_NZCVQC_post
3898 UINT64_C(220221312), // VSTR_FPSCR_NZCVQC_pre
3899 UINT64_C(218115968), // VSTR_FPSCR_off
3900 UINT64_C(203435904), // VSTR_FPSCR_post
3901 UINT64_C(220213120), // VSTR_FPSCR_pre
3902 UINT64_C(222343040), // VSTR_P0_off
3903 UINT64_C(207662976), // VSTR_P0_post
3904 UINT64_C(224440192), // VSTR_P0_pre
3905 UINT64_C(222334848), // VSTR_VPR_off
3906 UINT64_C(207654784), // VSTR_VPR_post
3907 UINT64_C(224432000), // VSTR_VPR_pre
3908 UINT64_C(238029632), // VSUBD
3909 UINT64_C(238029120), // VSUBH
3910 UINT64_C(4070573568), // VSUBHNv2i32
3911 UINT64_C(4069524992), // VSUBHNv4i16
3912 UINT64_C(4068476416), // VSUBHNv8i8
3913 UINT64_C(4070572544), // VSUBLsv2i64
3914 UINT64_C(4069523968), // VSUBLsv4i32
3915 UINT64_C(4068475392), // VSUBLsv8i16
3916 UINT64_C(4087349760), // VSUBLuv2i64
3917 UINT64_C(4086301184), // VSUBLuv4i32
3918 UINT64_C(4085252608), // VSUBLuv8i16
3919 UINT64_C(238029376), // VSUBS
3920 UINT64_C(4070572800), // VSUBWsv2i64
3921 UINT64_C(4069524224), // VSUBWsv4i32
3922 UINT64_C(4068475648), // VSUBWsv8i16
3923 UINT64_C(4087350016), // VSUBWuv2i64
3924 UINT64_C(4086301440), // VSUBWuv4i32
3925 UINT64_C(4085252864), // VSUBWuv8i16
3926 UINT64_C(4062186752), // VSUBfd
3927 UINT64_C(4062186816), // VSUBfq
3928 UINT64_C(4063235328), // VSUBhd
3929 UINT64_C(4063235392), // VSUBhq
3930 UINT64_C(4076865600), // VSUBv16i8
3931 UINT64_C(4080011264), // VSUBv1i64
3932 UINT64_C(4078962688), // VSUBv2i32
3933 UINT64_C(4080011328), // VSUBv2i64
3934 UINT64_C(4077914112), // VSUBv4i16
3935 UINT64_C(4078962752), // VSUBv4i32
3936 UINT64_C(4077914176), // VSUBv8i16
3937 UINT64_C(4076865536), // VSUBv8i8
3938 UINT64_C(4269804816), // VSUDOTDI
3939 UINT64_C(4269804880), // VSUDOTQI
3940 UINT64_C(4088528896), // VSWPd
3941 UINT64_C(4088528960), // VSWPq
3942 UINT64_C(4088399872), // VTBL1
3943 UINT64_C(4088400128), // VTBL2
3944 UINT64_C(4088400384), // VTBL3
3945 UINT64_C(0), // VTBL3Pseudo
3946 UINT64_C(4088400640), // VTBL4
3947 UINT64_C(0), // VTBL4Pseudo
3948 UINT64_C(4088399936), // VTBX1
3949 UINT64_C(4088400192), // VTBX2
3950 UINT64_C(4088400448), // VTBX3
3951 UINT64_C(0), // VTBX3Pseudo
3952 UINT64_C(4088400704), // VTBX4
3953 UINT64_C(0), // VTBX4Pseudo
3954 UINT64_C(247335744), // VTOSHD
3955 UINT64_C(247335232), // VTOSHH
3956 UINT64_C(247335488), // VTOSHS
3957 UINT64_C(247270208), // VTOSIRD
3958 UINT64_C(247269696), // VTOSIRH
3959 UINT64_C(247269952), // VTOSIRS
3960 UINT64_C(247270336), // VTOSIZD
3961 UINT64_C(247269824), // VTOSIZH
3962 UINT64_C(247270080), // VTOSIZS
3963 UINT64_C(247335872), // VTOSLD
3964 UINT64_C(247335360), // VTOSLH
3965 UINT64_C(247335616), // VTOSLS
3966 UINT64_C(247401280), // VTOUHD
3967 UINT64_C(247400768), // VTOUHH
3968 UINT64_C(247401024), // VTOUHS
3969 UINT64_C(247204672), // VTOUIRD
3970 UINT64_C(247204160), // VTOUIRH
3971 UINT64_C(247204416), // VTOUIRS
3972 UINT64_C(247204800), // VTOUIZD
3973 UINT64_C(247204288), // VTOUIZH
3974 UINT64_C(247204544), // VTOUIZS
3975 UINT64_C(247401408), // VTOULD
3976 UINT64_C(247400896), // VTOULH
3977 UINT64_C(247401152), // VTOULS
3978 UINT64_C(4088791168), // VTRNd16
3979 UINT64_C(4089053312), // VTRNd32
3980 UINT64_C(4088529024), // VTRNd8
3981 UINT64_C(4088791232), // VTRNq16
3982 UINT64_C(4089053376), // VTRNq32
3983 UINT64_C(4088529088), // VTRNq8
3984 UINT64_C(4060088400), // VTSTv16i8
3985 UINT64_C(4062185488), // VTSTv2i32
3986 UINT64_C(4061136912), // VTSTv4i16
3987 UINT64_C(4062185552), // VTSTv4i32
3988 UINT64_C(4061136976), // VTSTv8i16
3989 UINT64_C(4060088336), // VTSTv8i8
3990 UINT64_C(4229958928), // VUDOTD
3991 UINT64_C(4263513360), // VUDOTDI
3992 UINT64_C(4229958992), // VUDOTQ
3993 UINT64_C(4263513424), // VUDOTQI
3994 UINT64_C(247139136), // VUHTOD
3995 UINT64_C(247138624), // VUHTOH
3996 UINT64_C(247138880), // VUHTOS
3997 UINT64_C(246942528), // VUITOD
3998 UINT64_C(246942016), // VUITOH
3999 UINT64_C(246942272), // VUITOS
4000 UINT64_C(247139264), // VULTOD
4001 UINT64_C(247138752), // VULTOH
4002 UINT64_C(247139008), // VULTOS
4003 UINT64_C(4229958736), // VUMMLA
4004 UINT64_C(4238347520), // VUSDOTD
4005 UINT64_C(4269804800), // VUSDOTDI
4006 UINT64_C(4238347584), // VUSDOTQ
4007 UINT64_C(4269804864), // VUSDOTQI
4008 UINT64_C(4238347328), // VUSMMLA
4009 UINT64_C(4088791296), // VUZPd16
4010 UINT64_C(4088529152), // VUZPd8
4011 UINT64_C(4088791360), // VUZPq16
4012 UINT64_C(4089053504), // VUZPq32
4013 UINT64_C(4088529216), // VUZPq8
4014 UINT64_C(4088791424), // VZIPd16
4015 UINT64_C(4088529280), // VZIPd8
4016 UINT64_C(4088791488), // VZIPq16
4017 UINT64_C(4089053632), // VZIPq32
4018 UINT64_C(4088529344), // VZIPq8
4019 UINT64_C(139460608), // sysLDMDA
4020 UINT64_C(141557760), // sysLDMDA_UPD
4021 UINT64_C(156237824), // sysLDMDB
4022 UINT64_C(158334976), // sysLDMDB_UPD
4023 UINT64_C(147849216), // sysLDMIA
4024 UINT64_C(149946368), // sysLDMIA_UPD
4025 UINT64_C(164626432), // sysLDMIB
4026 UINT64_C(166723584), // sysLDMIB_UPD
4027 UINT64_C(138412032), // sysSTMDA
4028 UINT64_C(140509184), // sysSTMDA_UPD
4029 UINT64_C(155189248), // sysSTMDB
4030 UINT64_C(157286400), // sysSTMDB_UPD
4031 UINT64_C(146800640), // sysSTMIA
4032 UINT64_C(148897792), // sysSTMIA_UPD
4033 UINT64_C(163577856), // sysSTMIB
4034 UINT64_C(165675008), // sysSTMIB_UPD
4035 UINT64_C(4047503360), // t2ADCri
4036 UINT64_C(3946840064), // t2ADCrr
4037 UINT64_C(3946840064), // t2ADCrs
4038 UINT64_C(4043309056), // t2ADDri
4039 UINT64_C(4060086272), // t2ADDri12
4040 UINT64_C(3942645760), // t2ADDrr
4041 UINT64_C(3942645760), // t2ADDrs
4042 UINT64_C(4044164352), // t2ADDspImm
4043 UINT64_C(4060941568), // t2ADDspImm12
4044 UINT64_C(4061069312), // t2ADR
4045 UINT64_C(4026531840), // t2ANDri
4046 UINT64_C(3925868544), // t2ANDrr
4047 UINT64_C(3925868544), // t2ANDrs
4048 UINT64_C(3931045920), // t2ASRri
4049 UINT64_C(4198559744), // t2ASRrr
4050 UINT64_C(3932094560), // t2ASRs1
4051 UINT64_C(4088365101), // t2AUT
4052 UINT64_C(4216327936), // t2AUTG
4053 UINT64_C(4026568704), // t2B
4054 UINT64_C(4084137984), // t2BFC
4055 UINT64_C(4083154944), // t2BFI
4056 UINT64_C(4026580993), // t2BFLi
4057 UINT64_C(4033929217), // t2BFLr
4058 UINT64_C(4030783489), // t2BFi
4059 UINT64_C(4026589185), // t2BFic
4060 UINT64_C(4032880641), // t2BFr
4061 UINT64_C(4028628992), // t2BICri
4062 UINT64_C(3927965696), // t2BICrr
4063 UINT64_C(3927965696), // t2BICrs
4064 UINT64_C(4088365071), // t2BTI
4065 UINT64_C(4216327952), // t2BXAUT
4066 UINT64_C(4089483008), // t2BXJ
4067 UINT64_C(4026564608), // t2Bcc
4068 UINT64_C(3992977408), // t2CDP
4069 UINT64_C(4261412864), // t2CDP2
4070 UINT64_C(4089417519), // t2CLREX
4071 UINT64_C(3902734336), // t2CLRM
4072 UINT64_C(4205899904), // t2CLZ
4073 UINT64_C(4044361472), // t2CMNri
4074 UINT64_C(3943698176), // t2CMNzrr
4075 UINT64_C(3943698176), // t2CMNzrs
4076 UINT64_C(4054847232), // t2CMPri
4077 UINT64_C(3954183936), // t2CMPrr
4078 UINT64_C(3954183936), // t2CMPrs
4079 UINT64_C(4088365312), // t2CPS1p
4080 UINT64_C(4088365056), // t2CPS2p
4081 UINT64_C(4088365312), // t2CPS3p
4082 UINT64_C(4206948480), // t2CRC32B
4083 UINT64_C(4207997056), // t2CRC32CB
4084 UINT64_C(4207997072), // t2CRC32CH
4085 UINT64_C(4207997088), // t2CRC32CW
4086 UINT64_C(4206948496), // t2CRC32H
4087 UINT64_C(4206948512), // t2CRC32W
4088 UINT64_C(3931144192), // t2CSEL
4089 UINT64_C(3931148288), // t2CSINC
4090 UINT64_C(3931152384), // t2CSINV
4091 UINT64_C(3931156480), // t2CSNEG
4092 UINT64_C(4088365296), // t2DBG
4093 UINT64_C(4153376769), // t2DCPS1
4094 UINT64_C(4153376770), // t2DCPS2
4095 UINT64_C(4153376771), // t2DCPS3
4096 UINT64_C(4030783489), // t2DLS
4097 UINT64_C(4089417552), // t2DMB
4098 UINT64_C(4089417536), // t2DSB
4099 UINT64_C(4034920448), // t2EORri
4100 UINT64_C(3934257152), // t2EORrr
4101 UINT64_C(3934257152), // t2EORrs
4102 UINT64_C(4088365056), // t2HINT
4103 UINT64_C(4158685184), // t2HVC
4104 UINT64_C(4089417568), // t2ISB
4105 UINT64_C(48896), // t2IT
4106 UINT64_C(0), // t2Int_eh_sjlj_setjmp
4107 UINT64_C(0), // t2Int_eh_sjlj_setjmp_nofp
4108 UINT64_C(3905949615), // t2LDA
4109 UINT64_C(3905949583), // t2LDAB
4110 UINT64_C(3905949679), // t2LDAEX
4111 UINT64_C(3905949647), // t2LDAEXB
4112 UINT64_C(3905945855), // t2LDAEXD
4113 UINT64_C(3905949663), // t2LDAEXH
4114 UINT64_C(3905949599), // t2LDAH
4115 UINT64_C(4249878528), // t2LDC2L_OFFSET
4116 UINT64_C(4241489920), // t2LDC2L_OPTION
4117 UINT64_C(4235198464), // t2LDC2L_POST
4118 UINT64_C(4251975680), // t2LDC2L_PRE
4119 UINT64_C(4245684224), // t2LDC2_OFFSET
4120 UINT64_C(4237295616), // t2LDC2_OPTION
4121 UINT64_C(4231004160), // t2LDC2_POST
4122 UINT64_C(4247781376), // t2LDC2_PRE
4123 UINT64_C(3981443072), // t2LDCL_OFFSET
4124 UINT64_C(3973054464), // t2LDCL_OPTION
4125 UINT64_C(3966763008), // t2LDCL_POST
4126 UINT64_C(3983540224), // t2LDCL_PRE
4127 UINT64_C(3977248768), // t2LDC_OFFSET
4128 UINT64_C(3968860160), // t2LDC_OPTION
4129 UINT64_C(3962568704), // t2LDC_POST
4130 UINT64_C(3979345920), // t2LDC_PRE
4131 UINT64_C(3910139904), // t2LDMDB
4132 UINT64_C(3912237056), // t2LDMDB_UPD
4133 UINT64_C(3901751296), // t2LDMIA
4134 UINT64_C(3903848448), // t2LDMIA_UPD
4135 UINT64_C(4161801728), // t2LDRBT
4136 UINT64_C(4161800448), // t2LDRB_POST
4137 UINT64_C(4161801472), // t2LDRB_PRE
4138 UINT64_C(4170186752), // t2LDRBi12
4139 UINT64_C(4161801216), // t2LDRBi8
4140 UINT64_C(4162781184), // t2LDRBpci
4141 UINT64_C(4161798144), // t2LDRBs
4142 UINT64_C(3899654144), // t2LDRD_POST
4143 UINT64_C(3916431360), // t2LDRD_PRE
4144 UINT64_C(3914334208), // t2LDRDi8
4145 UINT64_C(3897560832), // t2LDREX
4146 UINT64_C(3905949519), // t2LDREXB
4147 UINT64_C(3905945727), // t2LDREXD
4148 UINT64_C(3905949535), // t2LDREXH
4149 UINT64_C(4163898880), // t2LDRHT
4150 UINT64_C(4163897600), // t2LDRH_POST
4151 UINT64_C(4163898624), // t2LDRH_PRE
4152 UINT64_C(4172283904), // t2LDRHi12
4153 UINT64_C(4163898368), // t2LDRHi8
4154 UINT64_C(4164878336), // t2LDRHpci
4155 UINT64_C(4163895296), // t2LDRHs
4156 UINT64_C(4178578944), // t2LDRSBT
4157 UINT64_C(4178577664), // t2LDRSB_POST
4158 UINT64_C(4178578688), // t2LDRSB_PRE
4159 UINT64_C(4186963968), // t2LDRSBi12
4160 UINT64_C(4178578432), // t2LDRSBi8
4161 UINT64_C(4179558400), // t2LDRSBpci
4162 UINT64_C(4178575360), // t2LDRSBs
4163 UINT64_C(4180676096), // t2LDRSHT
4164 UINT64_C(4180674816), // t2LDRSH_POST
4165 UINT64_C(4180675840), // t2LDRSH_PRE
4166 UINT64_C(4189061120), // t2LDRSHi12
4167 UINT64_C(4180675584), // t2LDRSHi8
4168 UINT64_C(4181655552), // t2LDRSHpci
4169 UINT64_C(4180672512), // t2LDRSHs
4170 UINT64_C(4165996032), // t2LDRT
4171 UINT64_C(4165994752), // t2LDR_POST
4172 UINT64_C(4165995776), // t2LDR_PRE
4173 UINT64_C(4174381056), // t2LDRi12
4174 UINT64_C(4165995520), // t2LDRi8
4175 UINT64_C(4166975488), // t2LDRpci
4176 UINT64_C(4165992448), // t2LDRs
4177 UINT64_C(4029661185), // t2LE
4178 UINT64_C(4027564033), // t2LEUpdate
4179 UINT64_C(3931045888), // t2LSLri
4180 UINT64_C(4194365440), // t2LSLrr
4181 UINT64_C(3931045904), // t2LSRri
4182 UINT64_C(4196462592), // t2LSRrr
4183 UINT64_C(3932094544), // t2LSRs1
4184 UINT64_C(3992977424), // t2MCR
4185 UINT64_C(4261412880), // t2MCR2
4186 UINT64_C(3963617280), // t2MCRR
4187 UINT64_C(4232052736), // t2MCRR2
4188 UINT64_C(4211081216), // t2MLA
4189 UINT64_C(4211081232), // t2MLS
4190 UINT64_C(4072669184), // t2MOVTi16
4191 UINT64_C(4031709184), // t2MOVi
4192 UINT64_C(4064280576), // t2MOVi16
4193 UINT64_C(3931045888), // t2MOVr
4194 UINT64_C(3994026000), // t2MRC
4195 UINT64_C(4262461456), // t2MRC2
4196 UINT64_C(3964665856), // t2MRRC
4197 UINT64_C(4233101312), // t2MRRC2
4198 UINT64_C(4092559360), // t2MRS_AR
4199 UINT64_C(4092559360), // t2MRS_M
4200 UINT64_C(4091576352), // t2MRSbanked
4201 UINT64_C(4093607936), // t2MRSsys_AR
4202 UINT64_C(4085284864), // t2MSR_AR
4203 UINT64_C(4085284864), // t2MSR_M
4204 UINT64_C(4085284896), // t2MSRbanked
4205 UINT64_C(4211142656), // t2MUL
4206 UINT64_C(4033806336), // t2MVNi
4207 UINT64_C(3933143040), // t2MVNr
4208 UINT64_C(3933143040), // t2MVNs
4209 UINT64_C(4032823296), // t2ORNri
4210 UINT64_C(3932160000), // t2ORNrr
4211 UINT64_C(3932160000), // t2ORNrs
4212 UINT64_C(4030726144), // t2ORRri
4213 UINT64_C(3930062848), // t2ORRrr
4214 UINT64_C(3930062848), // t2ORRrs
4215 UINT64_C(4088365085), // t2PAC
4216 UINT64_C(4088365069), // t2PACBTI
4217 UINT64_C(4217434112), // t2PACG
4218 UINT64_C(3938451456), // t2PKHBT
4219 UINT64_C(3938451488), // t2PKHTB
4220 UINT64_C(4172345344), // t2PLDWi12
4221 UINT64_C(4163959808), // t2PLDWi8
4222 UINT64_C(4163956736), // t2PLDWs
4223 UINT64_C(4170248192), // t2PLDi12
4224 UINT64_C(4161862656), // t2PLDi8
4225 UINT64_C(4162842624), // t2PLDpci
4226 UINT64_C(4161859584), // t2PLDs
4227 UINT64_C(4187025408), // t2PLIi12
4228 UINT64_C(4178639872), // t2PLIi8
4229 UINT64_C(4179619840), // t2PLIpci
4230 UINT64_C(4178636800), // t2PLIs
4231 UINT64_C(4202754176), // t2QADD
4232 UINT64_C(4203802640), // t2QADD16
4233 UINT64_C(4202754064), // t2QADD8
4234 UINT64_C(4204851216), // t2QASX
4235 UINT64_C(4202754192), // t2QDADD
4236 UINT64_C(4202754224), // t2QDSUB
4237 UINT64_C(4209045520), // t2QSAX
4238 UINT64_C(4202754208), // t2QSUB
4239 UINT64_C(4207996944), // t2QSUB16
4240 UINT64_C(4206948368), // t2QSUB8
4241 UINT64_C(4203802784), // t2RBIT
4242 UINT64_C(4203802752), // t2REV
4243 UINT64_C(4203802768), // t2REV16
4244 UINT64_C(4203802800), // t2REVSH
4245 UINT64_C(3893411840), // t2RFEDB
4246 UINT64_C(3895508992), // t2RFEDBW
4247 UINT64_C(3918577664), // t2RFEIA
4248 UINT64_C(3920674816), // t2RFEIAW
4249 UINT64_C(3931045936), // t2RORri
4250 UINT64_C(4200656896), // t2RORrr
4251 UINT64_C(3931045936), // t2RRX
4252 UINT64_C(4055891968), // t2RSBri
4253 UINT64_C(3955228672), // t2RSBrr
4254 UINT64_C(3955228672), // t2RSBrs
4255 UINT64_C(4203802624), // t2SADD16
4256 UINT64_C(4202754048), // t2SADD8
4257 UINT64_C(4204851200), // t2SASX
4258 UINT64_C(4089417584), // t2SB
4259 UINT64_C(4049600512), // t2SBCri
4260 UINT64_C(3948937216), // t2SBCrr
4261 UINT64_C(3948937216), // t2SBCrs
4262 UINT64_C(4081057792), // t2SBFX
4263 UINT64_C(4220580080), // t2SDIV
4264 UINT64_C(4204851328), // t2SEL
4265 UINT64_C(46608), // t2SETPAN
4266 UINT64_C(3917474175), // t2SG
4267 UINT64_C(4203802656), // t2SHADD16
4268 UINT64_C(4202754080), // t2SHADD8
4269 UINT64_C(4204851232), // t2SHASX
4270 UINT64_C(4209045536), // t2SHSAX
4271 UINT64_C(4207996960), // t2SHSUB16
4272 UINT64_C(4206948384), // t2SHSUB8
4273 UINT64_C(4159733760), // t2SMC
4274 UINT64_C(4212129792), // t2SMLABB
4275 UINT64_C(4212129808), // t2SMLABT
4276 UINT64_C(4213178368), // t2SMLAD
4277 UINT64_C(4213178384), // t2SMLADX
4278 UINT64_C(4223664128), // t2SMLAL
4279 UINT64_C(4223664256), // t2SMLALBB
4280 UINT64_C(4223664272), // t2SMLALBT
4281 UINT64_C(4223664320), // t2SMLALD
4282 UINT64_C(4223664336), // t2SMLALDX
4283 UINT64_C(4223664288), // t2SMLALTB
4284 UINT64_C(4223664304), // t2SMLALTT
4285 UINT64_C(4212129824), // t2SMLATB
4286 UINT64_C(4212129840), // t2SMLATT
4287 UINT64_C(4214226944), // t2SMLAWB
4288 UINT64_C(4214226960), // t2SMLAWT
4289 UINT64_C(4215275520), // t2SMLSD
4290 UINT64_C(4215275536), // t2SMLSDX
4291 UINT64_C(4224712896), // t2SMLSLD
4292 UINT64_C(4224712912), // t2SMLSLDX
4293 UINT64_C(4216324096), // t2SMMLA
4294 UINT64_C(4216324112), // t2SMMLAR
4295 UINT64_C(4217372672), // t2SMMLS
4296 UINT64_C(4217372688), // t2SMMLSR
4297 UINT64_C(4216385536), // t2SMMUL
4298 UINT64_C(4216385552), // t2SMMULR
4299 UINT64_C(4213239808), // t2SMUAD
4300 UINT64_C(4213239824), // t2SMUADX
4301 UINT64_C(4212191232), // t2SMULBB
4302 UINT64_C(4212191248), // t2SMULBT
4303 UINT64_C(4219469824), // t2SMULL
4304 UINT64_C(4212191264), // t2SMULTB
4305 UINT64_C(4212191280), // t2SMULTT
4306 UINT64_C(4214288384), // t2SMULWB
4307 UINT64_C(4214288400), // t2SMULWT
4308 UINT64_C(4215336960), // t2SMUSD
4309 UINT64_C(4215336976), // t2SMUSDX
4310 UINT64_C(3893215232), // t2SRSDB
4311 UINT64_C(3895312384), // t2SRSDB_UPD
4312 UINT64_C(3918381056), // t2SRSIA
4313 UINT64_C(3920478208), // t2SRSIA_UPD
4314 UINT64_C(4076863488), // t2SSAT
4315 UINT64_C(4078960640), // t2SSAT16
4316 UINT64_C(4209045504), // t2SSAX
4317 UINT64_C(4207996928), // t2SSUB16
4318 UINT64_C(4206948352), // t2SSUB8
4319 UINT64_C(4248829952), // t2STC2L_OFFSET
4320 UINT64_C(4240441344), // t2STC2L_OPTION
4321 UINT64_C(4234149888), // t2STC2L_POST
4322 UINT64_C(4250927104), // t2STC2L_PRE
4323 UINT64_C(4244635648), // t2STC2_OFFSET
4324 UINT64_C(4236247040), // t2STC2_OPTION
4325 UINT64_C(4229955584), // t2STC2_POST
4326 UINT64_C(4246732800), // t2STC2_PRE
4327 UINT64_C(3980394496), // t2STCL_OFFSET
4328 UINT64_C(3972005888), // t2STCL_OPTION
4329 UINT64_C(3965714432), // t2STCL_POST
4330 UINT64_C(3982491648), // t2STCL_PRE
4331 UINT64_C(3976200192), // t2STC_OFFSET
4332 UINT64_C(3967811584), // t2STC_OPTION
4333 UINT64_C(3961520128), // t2STC_POST
4334 UINT64_C(3978297344), // t2STC_PRE
4335 UINT64_C(3904901039), // t2STL
4336 UINT64_C(3904901007), // t2STLB
4337 UINT64_C(3904901088), // t2STLEX
4338 UINT64_C(3904901056), // t2STLEXB
4339 UINT64_C(3904897264), // t2STLEXD
4340 UINT64_C(3904901072), // t2STLEXH
4341 UINT64_C(3904901023), // t2STLH
4342 UINT64_C(3909091328), // t2STMDB
4343 UINT64_C(3911188480), // t2STMDB_UPD
4344 UINT64_C(3900702720), // t2STMIA
4345 UINT64_C(3902799872), // t2STMIA_UPD
4346 UINT64_C(4160753152), // t2STRBT
4347 UINT64_C(4160751872), // t2STRB_POST
4348 UINT64_C(4160752896), // t2STRB_PRE
4349 UINT64_C(4169138176), // t2STRBi12
4350 UINT64_C(4160752640), // t2STRBi8
4351 UINT64_C(4160749568), // t2STRBs
4352 UINT64_C(3898605568), // t2STRD_POST
4353 UINT64_C(3915382784), // t2STRD_PRE
4354 UINT64_C(3913285632), // t2STRDi8
4355 UINT64_C(3896508416), // t2STREX
4356 UINT64_C(3904900928), // t2STREXB
4357 UINT64_C(3904897136), // t2STREXD
4358 UINT64_C(3904900944), // t2STREXH
4359 UINT64_C(4162850304), // t2STRHT
4360 UINT64_C(4162849024), // t2STRH_POST
4361 UINT64_C(4162850048), // t2STRH_PRE
4362 UINT64_C(4171235328), // t2STRHi12
4363 UINT64_C(4162849792), // t2STRHi8
4364 UINT64_C(4162846720), // t2STRHs
4365 UINT64_C(4164947456), // t2STRT
4366 UINT64_C(4164946176), // t2STR_POST
4367 UINT64_C(4164947200), // t2STR_PRE
4368 UINT64_C(4173332480), // t2STRi12
4369 UINT64_C(4164946944), // t2STRi8
4370 UINT64_C(4164943872), // t2STRs
4371 UINT64_C(4091449088), // t2SUBS_PC_LR
4372 UINT64_C(4053794816), // t2SUBri
4373 UINT64_C(4070572032), // t2SUBri12
4374 UINT64_C(3953131520), // t2SUBrr
4375 UINT64_C(3953131520), // t2SUBrs
4376 UINT64_C(4054650112), // t2SUBspImm
4377 UINT64_C(4071427328), // t2SUBspImm12
4378 UINT64_C(4198559872), // t2SXTAB
4379 UINT64_C(4196462720), // t2SXTAB16
4380 UINT64_C(4194365568), // t2SXTAH
4381 UINT64_C(4199542912), // t2SXTB
4382 UINT64_C(4197445760), // t2SXTB16
4383 UINT64_C(4195348608), // t2SXTH
4384 UINT64_C(3906007040), // t2TBB
4385 UINT64_C(3906007056), // t2TBH
4386 UINT64_C(4035972864), // t2TEQri
4387 UINT64_C(3935309568), // t2TEQrr
4388 UINT64_C(3935309568), // t2TEQrs
4389 UINT64_C(4088365074), // t2TSB
4390 UINT64_C(4027584256), // t2TSTri
4391 UINT64_C(3926920960), // t2TSTrr
4392 UINT64_C(3926920960), // t2TSTrs
4393 UINT64_C(3896569856), // t2TT
4394 UINT64_C(3896569984), // t2TTA
4395 UINT64_C(3896570048), // t2TTAT
4396 UINT64_C(3896569920), // t2TTT
4397 UINT64_C(4203802688), // t2UADD16
4398 UINT64_C(4202754112), // t2UADD8
4399 UINT64_C(4204851264), // t2UASX
4400 UINT64_C(4089446400), // t2UBFX
4401 UINT64_C(4159741952), // t2UDF
4402 UINT64_C(4222677232), // t2UDIV
4403 UINT64_C(4203802720), // t2UHADD16
4404 UINT64_C(4202754144), // t2UHADD8
4405 UINT64_C(4204851296), // t2UHASX
4406 UINT64_C(4209045600), // t2UHSAX
4407 UINT64_C(4207997024), // t2UHSUB16
4408 UINT64_C(4206948448), // t2UHSUB8
4409 UINT64_C(4225761376), // t2UMAAL
4410 UINT64_C(4225761280), // t2UMLAL
4411 UINT64_C(4221566976), // t2UMULL
4412 UINT64_C(4203802704), // t2UQADD16
4413 UINT64_C(4202754128), // t2UQADD8
4414 UINT64_C(4204851280), // t2UQASX
4415 UINT64_C(4209045584), // t2UQSAX
4416 UINT64_C(4207997008), // t2UQSUB16
4417 UINT64_C(4206948432), // t2UQSUB8
4418 UINT64_C(4218482688), // t2USAD8
4419 UINT64_C(4218421248), // t2USADA8
4420 UINT64_C(4085252096), // t2USAT
4421 UINT64_C(4087349248), // t2USAT16
4422 UINT64_C(4209045568), // t2USAX
4423 UINT64_C(4207996992), // t2USUB16
4424 UINT64_C(4206948416), // t2USUB8
4425 UINT64_C(4199608448), // t2UXTAB
4426 UINT64_C(4197511296), // t2UXTAB16
4427 UINT64_C(4195414144), // t2UXTAH
4428 UINT64_C(4200591488), // t2UXTB
4429 UINT64_C(4198494336), // t2UXTB16
4430 UINT64_C(4196397184), // t2UXTH
4431 UINT64_C(4030775297), // t2WLS
4432 UINT64_C(16704), // tADC
4433 UINT64_C(17408), // tADDhirr
4434 UINT64_C(7168), // tADDi3
4435 UINT64_C(12288), // tADDi8
4436 UINT64_C(17512), // tADDrSP
4437 UINT64_C(43008), // tADDrSPi
4438 UINT64_C(6144), // tADDrr
4439 UINT64_C(45056), // tADDspi
4440 UINT64_C(17541), // tADDspr
4441 UINT64_C(40960), // tADR
4442 UINT64_C(16384), // tAND
4443 UINT64_C(4096), // tASRri
4444 UINT64_C(16640), // tASRrr
4445 UINT64_C(57344), // tB
4446 UINT64_C(17280), // tBIC
4447 UINT64_C(48640), // tBKPT
4448 UINT64_C(4026585088), // tBL
4449 UINT64_C(18308), // tBLXNSr
4450 UINT64_C(4026580992), // tBLXi
4451 UINT64_C(18304), // tBLXr
4452 UINT64_C(18176), // tBX
4453 UINT64_C(18180), // tBXNS
4454 UINT64_C(53248), // tBcc
4455 UINT64_C(47360), // tCBNZ
4456 UINT64_C(45312), // tCBZ
4457 UINT64_C(17088), // tCMNz
4458 UINT64_C(17664), // tCMPhir
4459 UINT64_C(10240), // tCMPi8
4460 UINT64_C(17024), // tCMPr
4461 UINT64_C(46688), // tCPS
4462 UINT64_C(16448), // tEOR
4463 UINT64_C(48896), // tHINT
4464 UINT64_C(47744), // tHLT
4465 UINT64_C(0), // tInt_WIN_eh_sjlj_longjmp
4466 UINT64_C(0), // tInt_eh_sjlj_longjmp
4467 UINT64_C(0), // tInt_eh_sjlj_setjmp
4468 UINT64_C(51200), // tLDMIA
4469 UINT64_C(30720), // tLDRBi
4470 UINT64_C(23552), // tLDRBr
4471 UINT64_C(34816), // tLDRHi
4472 UINT64_C(23040), // tLDRHr
4473 UINT64_C(22016), // tLDRSB
4474 UINT64_C(24064), // tLDRSH
4475 UINT64_C(26624), // tLDRi
4476 UINT64_C(18432), // tLDRpci
4477 UINT64_C(22528), // tLDRr
4478 UINT64_C(38912), // tLDRspi
4479 UINT64_C(0), // tLSLri
4480 UINT64_C(16512), // tLSLrr
4481 UINT64_C(2048), // tLSRri
4482 UINT64_C(16576), // tLSRrr
4483 UINT64_C(0), // tMOVSr
4484 UINT64_C(8192), // tMOVi8
4485 UINT64_C(17920), // tMOVr
4486 UINT64_C(17216), // tMUL
4487 UINT64_C(17344), // tMVN
4488 UINT64_C(17152), // tORR
4489 UINT64_C(17528), // tPICADD
4490 UINT64_C(48128), // tPOP
4491 UINT64_C(46080), // tPUSH
4492 UINT64_C(47616), // tREV
4493 UINT64_C(47680), // tREV16
4494 UINT64_C(47808), // tREVSH
4495 UINT64_C(16832), // tROR
4496 UINT64_C(16960), // tRSB
4497 UINT64_C(16768), // tSBC
4498 UINT64_C(46672), // tSETEND
4499 UINT64_C(49152), // tSTMIA_UPD
4500 UINT64_C(28672), // tSTRBi
4501 UINT64_C(21504), // tSTRBr
4502 UINT64_C(32768), // tSTRHi
4503 UINT64_C(20992), // tSTRHr
4504 UINT64_C(24576), // tSTRi
4505 UINT64_C(20480), // tSTRr
4506 UINT64_C(36864), // tSTRspi
4507 UINT64_C(7680), // tSUBi3
4508 UINT64_C(14336), // tSUBi8
4509 UINT64_C(6656), // tSUBrr
4510 UINT64_C(45184), // tSUBspi
4511 UINT64_C(57088), // tSVC
4512 UINT64_C(45632), // tSXTB
4513 UINT64_C(45568), // tSXTH
4514 UINT64_C(57086), // tTRAP
4515 UINT64_C(16896), // tTST
4516 UINT64_C(56832), // tUDF
4517 UINT64_C(45760), // tUXTB
4518 UINT64_C(45696), // tUXTH
4519 UINT64_C(57081), // t__brkdiv0
4520 UINT64_C(0)
4521 };
4522 const unsigned opcode = MI.getOpcode();
4523 uint64_t Value = InstBits[opcode];
4524 uint64_t op = 0;
4525 (void)op; // suppress warning
4526 switch (opcode) {
4527 case ARM::CLREX:
4528 case ARM::MVE_LCTP:
4529 case ARM::MVE_VPNOT:
4530 case ARM::SB:
4531 case ARM::TRAP:
4532 case ARM::TRAPNaCl:
4533 case ARM::TSB:
4534 case ARM::VBSPd:
4535 case ARM::VBSPq:
4536 case ARM::VLD1LNq8Pseudo:
4537 case ARM::VLD1LNq8Pseudo_UPD:
4538 case ARM::VLD1LNq16Pseudo:
4539 case ARM::VLD1LNq16Pseudo_UPD:
4540 case ARM::VLD1LNq32Pseudo:
4541 case ARM::VLD1LNq32Pseudo_UPD:
4542 case ARM::VLD1d8QPseudo:
4543 case ARM::VLD1d8QPseudoWB_fixed:
4544 case ARM::VLD1d8QPseudoWB_register:
4545 case ARM::VLD1d8TPseudo:
4546 case ARM::VLD1d8TPseudoWB_fixed:
4547 case ARM::VLD1d8TPseudoWB_register:
4548 case ARM::VLD1d16QPseudo:
4549 case ARM::VLD1d16QPseudoWB_fixed:
4550 case ARM::VLD1d16QPseudoWB_register:
4551 case ARM::VLD1d16TPseudo:
4552 case ARM::VLD1d16TPseudoWB_fixed:
4553 case ARM::VLD1d16TPseudoWB_register:
4554 case ARM::VLD1d32QPseudo:
4555 case ARM::VLD1d32QPseudoWB_fixed:
4556 case ARM::VLD1d32QPseudoWB_register:
4557 case ARM::VLD1d32TPseudo:
4558 case ARM::VLD1d32TPseudoWB_fixed:
4559 case ARM::VLD1d32TPseudoWB_register:
4560 case ARM::VLD1d64QPseudo:
4561 case ARM::VLD1d64QPseudoWB_fixed:
4562 case ARM::VLD1d64QPseudoWB_register:
4563 case ARM::VLD1d64TPseudo:
4564 case ARM::VLD1d64TPseudoWB_fixed:
4565 case ARM::VLD1d64TPseudoWB_register:
4566 case ARM::VLD1q8HighQPseudo:
4567 case ARM::VLD1q8HighQPseudo_UPD:
4568 case ARM::VLD1q8HighTPseudo:
4569 case ARM::VLD1q8HighTPseudo_UPD:
4570 case ARM::VLD1q8LowQPseudo_UPD:
4571 case ARM::VLD1q8LowTPseudo_UPD:
4572 case ARM::VLD1q16HighQPseudo:
4573 case ARM::VLD1q16HighQPseudo_UPD:
4574 case ARM::VLD1q16HighTPseudo:
4575 case ARM::VLD1q16HighTPseudo_UPD:
4576 case ARM::VLD1q16LowQPseudo_UPD:
4577 case ARM::VLD1q16LowTPseudo_UPD:
4578 case ARM::VLD1q32HighQPseudo:
4579 case ARM::VLD1q32HighQPseudo_UPD:
4580 case ARM::VLD1q32HighTPseudo:
4581 case ARM::VLD1q32HighTPseudo_UPD:
4582 case ARM::VLD1q32LowQPseudo_UPD:
4583 case ARM::VLD1q32LowTPseudo_UPD:
4584 case ARM::VLD1q64HighQPseudo:
4585 case ARM::VLD1q64HighQPseudo_UPD:
4586 case ARM::VLD1q64HighTPseudo:
4587 case ARM::VLD1q64HighTPseudo_UPD:
4588 case ARM::VLD1q64LowQPseudo_UPD:
4589 case ARM::VLD1q64LowTPseudo_UPD:
4590 case ARM::VLD2DUPq8EvenPseudo:
4591 case ARM::VLD2DUPq8OddPseudo:
4592 case ARM::VLD2DUPq8OddPseudoWB_fixed:
4593 case ARM::VLD2DUPq8OddPseudoWB_register:
4594 case ARM::VLD2DUPq16EvenPseudo:
4595 case ARM::VLD2DUPq16OddPseudo:
4596 case ARM::VLD2DUPq16OddPseudoWB_fixed:
4597 case ARM::VLD2DUPq16OddPseudoWB_register:
4598 case ARM::VLD2DUPq32EvenPseudo:
4599 case ARM::VLD2DUPq32OddPseudo:
4600 case ARM::VLD2DUPq32OddPseudoWB_fixed:
4601 case ARM::VLD2DUPq32OddPseudoWB_register:
4602 case ARM::VLD2LNd8Pseudo:
4603 case ARM::VLD2LNd8Pseudo_UPD:
4604 case ARM::VLD2LNd16Pseudo:
4605 case ARM::VLD2LNd16Pseudo_UPD:
4606 case ARM::VLD2LNd32Pseudo:
4607 case ARM::VLD2LNd32Pseudo_UPD:
4608 case ARM::VLD2LNq16Pseudo:
4609 case ARM::VLD2LNq16Pseudo_UPD:
4610 case ARM::VLD2LNq32Pseudo:
4611 case ARM::VLD2LNq32Pseudo_UPD:
4612 case ARM::VLD2q8Pseudo:
4613 case ARM::VLD2q8PseudoWB_fixed:
4614 case ARM::VLD2q8PseudoWB_register:
4615 case ARM::VLD2q16Pseudo:
4616 case ARM::VLD2q16PseudoWB_fixed:
4617 case ARM::VLD2q16PseudoWB_register:
4618 case ARM::VLD2q32Pseudo:
4619 case ARM::VLD2q32PseudoWB_fixed:
4620 case ARM::VLD2q32PseudoWB_register:
4621 case ARM::VLD3DUPd8Pseudo:
4622 case ARM::VLD3DUPd8Pseudo_UPD:
4623 case ARM::VLD3DUPd16Pseudo:
4624 case ARM::VLD3DUPd16Pseudo_UPD:
4625 case ARM::VLD3DUPd32Pseudo:
4626 case ARM::VLD3DUPd32Pseudo_UPD:
4627 case ARM::VLD3DUPq8EvenPseudo:
4628 case ARM::VLD3DUPq8OddPseudo:
4629 case ARM::VLD3DUPq8OddPseudo_UPD:
4630 case ARM::VLD3DUPq16EvenPseudo:
4631 case ARM::VLD3DUPq16OddPseudo:
4632 case ARM::VLD3DUPq16OddPseudo_UPD:
4633 case ARM::VLD3DUPq32EvenPseudo:
4634 case ARM::VLD3DUPq32OddPseudo:
4635 case ARM::VLD3DUPq32OddPseudo_UPD:
4636 case ARM::VLD3LNd8Pseudo:
4637 case ARM::VLD3LNd8Pseudo_UPD:
4638 case ARM::VLD3LNd16Pseudo:
4639 case ARM::VLD3LNd16Pseudo_UPD:
4640 case ARM::VLD3LNd32Pseudo:
4641 case ARM::VLD3LNd32Pseudo_UPD:
4642 case ARM::VLD3LNq16Pseudo:
4643 case ARM::VLD3LNq16Pseudo_UPD:
4644 case ARM::VLD3LNq32Pseudo:
4645 case ARM::VLD3LNq32Pseudo_UPD:
4646 case ARM::VLD3d8Pseudo:
4647 case ARM::VLD3d8Pseudo_UPD:
4648 case ARM::VLD3d16Pseudo:
4649 case ARM::VLD3d16Pseudo_UPD:
4650 case ARM::VLD3d32Pseudo:
4651 case ARM::VLD3d32Pseudo_UPD:
4652 case ARM::VLD3q8Pseudo_UPD:
4653 case ARM::VLD3q8oddPseudo:
4654 case ARM::VLD3q8oddPseudo_UPD:
4655 case ARM::VLD3q16Pseudo_UPD:
4656 case ARM::VLD3q16oddPseudo:
4657 case ARM::VLD3q16oddPseudo_UPD:
4658 case ARM::VLD3q32Pseudo_UPD:
4659 case ARM::VLD3q32oddPseudo:
4660 case ARM::VLD3q32oddPseudo_UPD:
4661 case ARM::VLD4DUPd8Pseudo:
4662 case ARM::VLD4DUPd8Pseudo_UPD:
4663 case ARM::VLD4DUPd16Pseudo:
4664 case ARM::VLD4DUPd16Pseudo_UPD:
4665 case ARM::VLD4DUPd32Pseudo:
4666 case ARM::VLD4DUPd32Pseudo_UPD:
4667 case ARM::VLD4DUPq8EvenPseudo:
4668 case ARM::VLD4DUPq8OddPseudo:
4669 case ARM::VLD4DUPq8OddPseudo_UPD:
4670 case ARM::VLD4DUPq16EvenPseudo:
4671 case ARM::VLD4DUPq16OddPseudo:
4672 case ARM::VLD4DUPq16OddPseudo_UPD:
4673 case ARM::VLD4DUPq32EvenPseudo:
4674 case ARM::VLD4DUPq32OddPseudo:
4675 case ARM::VLD4DUPq32OddPseudo_UPD:
4676 case ARM::VLD4LNd8Pseudo:
4677 case ARM::VLD4LNd8Pseudo_UPD:
4678 case ARM::VLD4LNd16Pseudo:
4679 case ARM::VLD4LNd16Pseudo_UPD:
4680 case ARM::VLD4LNd32Pseudo:
4681 case ARM::VLD4LNd32Pseudo_UPD:
4682 case ARM::VLD4LNq16Pseudo:
4683 case ARM::VLD4LNq16Pseudo_UPD:
4684 case ARM::VLD4LNq32Pseudo:
4685 case ARM::VLD4LNq32Pseudo_UPD:
4686 case ARM::VLD4d8Pseudo:
4687 case ARM::VLD4d8Pseudo_UPD:
4688 case ARM::VLD4d16Pseudo:
4689 case ARM::VLD4d16Pseudo_UPD:
4690 case ARM::VLD4d32Pseudo:
4691 case ARM::VLD4d32Pseudo_UPD:
4692 case ARM::VLD4q8Pseudo_UPD:
4693 case ARM::VLD4q8oddPseudo:
4694 case ARM::VLD4q8oddPseudo_UPD:
4695 case ARM::VLD4q16Pseudo_UPD:
4696 case ARM::VLD4q16oddPseudo:
4697 case ARM::VLD4q16oddPseudo_UPD:
4698 case ARM::VLD4q32Pseudo_UPD:
4699 case ARM::VLD4q32oddPseudo:
4700 case ARM::VLD4q32oddPseudo_UPD:
4701 case ARM::VLDMQIA:
4702 case ARM::VST1LNq8Pseudo:
4703 case ARM::VST1LNq8Pseudo_UPD:
4704 case ARM::VST1LNq16Pseudo:
4705 case ARM::VST1LNq16Pseudo_UPD:
4706 case ARM::VST1LNq32Pseudo:
4707 case ARM::VST1LNq32Pseudo_UPD:
4708 case ARM::VST1d8QPseudo:
4709 case ARM::VST1d8QPseudoWB_fixed:
4710 case ARM::VST1d8QPseudoWB_register:
4711 case ARM::VST1d8TPseudo:
4712 case ARM::VST1d8TPseudoWB_fixed:
4713 case ARM::VST1d8TPseudoWB_register:
4714 case ARM::VST1d16QPseudo:
4715 case ARM::VST1d16QPseudoWB_fixed:
4716 case ARM::VST1d16QPseudoWB_register:
4717 case ARM::VST1d16TPseudo:
4718 case ARM::VST1d16TPseudoWB_fixed:
4719 case ARM::VST1d16TPseudoWB_register:
4720 case ARM::VST1d32QPseudo:
4721 case ARM::VST1d32QPseudoWB_fixed:
4722 case ARM::VST1d32QPseudoWB_register:
4723 case ARM::VST1d32TPseudo:
4724 case ARM::VST1d32TPseudoWB_fixed:
4725 case ARM::VST1d32TPseudoWB_register:
4726 case ARM::VST1d64QPseudo:
4727 case ARM::VST1d64QPseudoWB_fixed:
4728 case ARM::VST1d64QPseudoWB_register:
4729 case ARM::VST1d64TPseudo:
4730 case ARM::VST1d64TPseudoWB_fixed:
4731 case ARM::VST1d64TPseudoWB_register:
4732 case ARM::VST1q8HighQPseudo:
4733 case ARM::VST1q8HighQPseudo_UPD:
4734 case ARM::VST1q8HighTPseudo:
4735 case ARM::VST1q8HighTPseudo_UPD:
4736 case ARM::VST1q8LowQPseudo_UPD:
4737 case ARM::VST1q8LowTPseudo_UPD:
4738 case ARM::VST1q16HighQPseudo:
4739 case ARM::VST1q16HighQPseudo_UPD:
4740 case ARM::VST1q16HighTPseudo:
4741 case ARM::VST1q16HighTPseudo_UPD:
4742 case ARM::VST1q16LowQPseudo_UPD:
4743 case ARM::VST1q16LowTPseudo_UPD:
4744 case ARM::VST1q32HighQPseudo:
4745 case ARM::VST1q32HighQPseudo_UPD:
4746 case ARM::VST1q32HighTPseudo:
4747 case ARM::VST1q32HighTPseudo_UPD:
4748 case ARM::VST1q32LowQPseudo_UPD:
4749 case ARM::VST1q32LowTPseudo_UPD:
4750 case ARM::VST1q64HighQPseudo:
4751 case ARM::VST1q64HighQPseudo_UPD:
4752 case ARM::VST1q64HighTPseudo:
4753 case ARM::VST1q64HighTPseudo_UPD:
4754 case ARM::VST1q64LowQPseudo_UPD:
4755 case ARM::VST1q64LowTPseudo_UPD:
4756 case ARM::VST2LNd8Pseudo:
4757 case ARM::VST2LNd8Pseudo_UPD:
4758 case ARM::VST2LNd16Pseudo:
4759 case ARM::VST2LNd16Pseudo_UPD:
4760 case ARM::VST2LNd32Pseudo:
4761 case ARM::VST2LNd32Pseudo_UPD:
4762 case ARM::VST2LNq16Pseudo:
4763 case ARM::VST2LNq16Pseudo_UPD:
4764 case ARM::VST2LNq32Pseudo:
4765 case ARM::VST2LNq32Pseudo_UPD:
4766 case ARM::VST2q8Pseudo:
4767 case ARM::VST2q8PseudoWB_fixed:
4768 case ARM::VST2q8PseudoWB_register:
4769 case ARM::VST2q16Pseudo:
4770 case ARM::VST2q16PseudoWB_fixed:
4771 case ARM::VST2q16PseudoWB_register:
4772 case ARM::VST2q32Pseudo:
4773 case ARM::VST2q32PseudoWB_fixed:
4774 case ARM::VST2q32PseudoWB_register:
4775 case ARM::VST3LNd8Pseudo:
4776 case ARM::VST3LNd8Pseudo_UPD:
4777 case ARM::VST3LNd16Pseudo:
4778 case ARM::VST3LNd16Pseudo_UPD:
4779 case ARM::VST3LNd32Pseudo:
4780 case ARM::VST3LNd32Pseudo_UPD:
4781 case ARM::VST3LNq16Pseudo:
4782 case ARM::VST3LNq16Pseudo_UPD:
4783 case ARM::VST3LNq32Pseudo:
4784 case ARM::VST3LNq32Pseudo_UPD:
4785 case ARM::VST3d8Pseudo:
4786 case ARM::VST3d8Pseudo_UPD:
4787 case ARM::VST3d16Pseudo:
4788 case ARM::VST3d16Pseudo_UPD:
4789 case ARM::VST3d32Pseudo:
4790 case ARM::VST3d32Pseudo_UPD:
4791 case ARM::VST3q8Pseudo_UPD:
4792 case ARM::VST3q8oddPseudo:
4793 case ARM::VST3q8oddPseudo_UPD:
4794 case ARM::VST3q16Pseudo_UPD:
4795 case ARM::VST3q16oddPseudo:
4796 case ARM::VST3q16oddPseudo_UPD:
4797 case ARM::VST3q32Pseudo_UPD:
4798 case ARM::VST3q32oddPseudo:
4799 case ARM::VST3q32oddPseudo_UPD:
4800 case ARM::VST4LNd8Pseudo:
4801 case ARM::VST4LNd8Pseudo_UPD:
4802 case ARM::VST4LNd16Pseudo:
4803 case ARM::VST4LNd16Pseudo_UPD:
4804 case ARM::VST4LNd32Pseudo:
4805 case ARM::VST4LNd32Pseudo_UPD:
4806 case ARM::VST4LNq16Pseudo:
4807 case ARM::VST4LNq16Pseudo_UPD:
4808 case ARM::VST4LNq32Pseudo:
4809 case ARM::VST4LNq32Pseudo_UPD:
4810 case ARM::VST4d8Pseudo:
4811 case ARM::VST4d8Pseudo_UPD:
4812 case ARM::VST4d16Pseudo:
4813 case ARM::VST4d16Pseudo_UPD:
4814 case ARM::VST4d32Pseudo:
4815 case ARM::VST4d32Pseudo_UPD:
4816 case ARM::VST4q8Pseudo_UPD:
4817 case ARM::VST4q8oddPseudo:
4818 case ARM::VST4q8oddPseudo_UPD:
4819 case ARM::VST4q16Pseudo_UPD:
4820 case ARM::VST4q16oddPseudo:
4821 case ARM::VST4q16oddPseudo_UPD:
4822 case ARM::VST4q32Pseudo_UPD:
4823 case ARM::VST4q32oddPseudo:
4824 case ARM::VST4q32oddPseudo_UPD:
4825 case ARM::VSTMQIA:
4826 case ARM::VTBL3Pseudo:
4827 case ARM::VTBL4Pseudo:
4828 case ARM::VTBX3Pseudo:
4829 case ARM::VTBX4Pseudo:
4830 case ARM::t2AUT:
4831 case ARM::t2BTI:
4832 case ARM::t2CLREX:
4833 case ARM::t2DCPS1:
4834 case ARM::t2DCPS2:
4835 case ARM::t2DCPS3:
4836 case ARM::t2Int_eh_sjlj_setjmp:
4837 case ARM::t2Int_eh_sjlj_setjmp_nofp:
4838 case ARM::t2PAC:
4839 case ARM::t2PACBTI:
4840 case ARM::t2SB:
4841 case ARM::t2SG:
4842 case ARM::t2TSB:
4843 case ARM::tInt_WIN_eh_sjlj_longjmp:
4844 case ARM::tInt_eh_sjlj_longjmp:
4845 case ARM::tInt_eh_sjlj_setjmp:
4846 case ARM::tTRAP:
4847 case ARM::t__brkdiv0: {
4848 break;
4849 }
4850 case ARM::VRINTAD:
4851 case ARM::VRINTMD:
4852 case ARM::VRINTND:
4853 case ARM::VRINTPD: {
4854 // op: Dd
4855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4856 Value |= (op & UINT64_C(16)) << 18;
4857 Value |= (op & UINT64_C(15)) << 12;
4858 // op: Dm
4859 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4860 Value |= (op & UINT64_C(16)) << 1;
4861 Value |= (op & UINT64_C(15));
4862 break;
4863 }
4864 case ARM::VFP_VMAXNMD:
4865 case ARM::VFP_VMINNMD:
4866 case ARM::VSELEQD:
4867 case ARM::VSELGED:
4868 case ARM::VSELGTD:
4869 case ARM::VSELVSD: {
4870 // op: Dd
4871 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4872 Value |= (op & UINT64_C(16)) << 18;
4873 Value |= (op & UINT64_C(15)) << 12;
4874 // op: Dn
4875 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4876 Value |= (op & UINT64_C(15)) << 16;
4877 Value |= (op & UINT64_C(16)) << 3;
4878 // op: Dm
4879 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4880 Value |= (op & UINT64_C(16)) << 1;
4881 Value |= (op & UINT64_C(15));
4882 break;
4883 }
4884 case ARM::MVE_VPST: {
4885 // op: Mk
4886 op = getVPTMaskOpValue(MI, OpIdx: 0, Fixups, STI);
4887 Value |= (op & UINT64_C(8)) << 19;
4888 Value |= (op & UINT64_C(7)) << 13;
4889 break;
4890 }
4891 case ARM::MVE_VDUP8:
4892 case ARM::MVE_VDUP16:
4893 case ARM::MVE_VDUP32: {
4894 // op: Qd
4895 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4896 Value |= (op & UINT64_C(7)) << 17;
4897 Value |= (op & UINT64_C(8)) << 4;
4898 // op: Rt
4899 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
4900 op &= UINT64_C(15);
4901 op <<= 12;
4902 Value |= op;
4903 break;
4904 }
4905 case ARM::MVE_VMOV_to_lane_32: {
4906 // op: Qd
4907 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4908 Value |= (op & UINT64_C(7)) << 17;
4909 Value |= (op & UINT64_C(8)) << 4;
4910 // op: Rt
4911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4912 op &= UINT64_C(15);
4913 op <<= 12;
4914 Value |= op;
4915 // op: Idx
4916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4917 Value |= (op & UINT64_C(1)) << 21;
4918 Value |= (op & UINT64_C(2)) << 15;
4919 break;
4920 }
4921 case ARM::MVE_VMOV_to_lane_16: {
4922 // op: Qd
4923 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4924 Value |= (op & UINT64_C(7)) << 17;
4925 Value |= (op & UINT64_C(8)) << 4;
4926 // op: Rt
4927 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4928 op &= UINT64_C(15);
4929 op <<= 12;
4930 Value |= op;
4931 // op: Idx
4932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4933 Value |= (op & UINT64_C(2)) << 20;
4934 Value |= (op & UINT64_C(4)) << 14;
4935 Value |= (op & UINT64_C(1)) << 6;
4936 break;
4937 }
4938 case ARM::MVE_VMOV_to_lane_8: {
4939 // op: Qd
4940 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
4941 Value |= (op & UINT64_C(7)) << 17;
4942 Value |= (op & UINT64_C(8)) << 4;
4943 // op: Rt
4944 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
4945 op &= UINT64_C(15);
4946 op <<= 12;
4947 Value |= op;
4948 // op: Idx
4949 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
4950 Value |= (op & UINT64_C(4)) << 19;
4951 Value |= (op & UINT64_C(8)) << 13;
4952 Value |= (op & UINT64_C(3)) << 5;
4953 break;
4954 }
4955 case ARM::MVE_VABSs8:
4956 case ARM::MVE_VABSs16:
4957 case ARM::MVE_VABSs32:
4958 case ARM::MVE_VCLSs8:
4959 case ARM::MVE_VCLSs16:
4960 case ARM::MVE_VCLSs32:
4961 case ARM::MVE_VCLZs8:
4962 case ARM::MVE_VCLZs16:
4963 case ARM::MVE_VCLZs32:
4964 case ARM::MVE_VCVTf32f16bh:
4965 case ARM::MVE_VCVTf32f16th:
4966 case ARM::MVE_VMOVLs8bh:
4967 case ARM::MVE_VMOVLs8th:
4968 case ARM::MVE_VMOVLs16bh:
4969 case ARM::MVE_VMOVLs16th:
4970 case ARM::MVE_VMOVLu8bh:
4971 case ARM::MVE_VMOVLu8th:
4972 case ARM::MVE_VMOVLu16bh:
4973 case ARM::MVE_VMOVLu16th:
4974 case ARM::MVE_VMVN:
4975 case ARM::MVE_VNEGs8:
4976 case ARM::MVE_VNEGs16:
4977 case ARM::MVE_VNEGs32:
4978 case ARM::MVE_VQABSs8:
4979 case ARM::MVE_VQABSs16:
4980 case ARM::MVE_VQABSs32:
4981 case ARM::MVE_VQNEGs8:
4982 case ARM::MVE_VQNEGs16:
4983 case ARM::MVE_VQNEGs32:
4984 case ARM::MVE_VREV16_8:
4985 case ARM::MVE_VREV32_8:
4986 case ARM::MVE_VREV32_16:
4987 case ARM::MVE_VREV64_8:
4988 case ARM::MVE_VREV64_16:
4989 case ARM::MVE_VREV64_32:
4990 case ARM::MVE_VSHLL_lws8bh:
4991 case ARM::MVE_VSHLL_lws8th:
4992 case ARM::MVE_VSHLL_lws16bh:
4993 case ARM::MVE_VSHLL_lws16th:
4994 case ARM::MVE_VSHLL_lwu8bh:
4995 case ARM::MVE_VSHLL_lwu8th:
4996 case ARM::MVE_VSHLL_lwu16bh:
4997 case ARM::MVE_VSHLL_lwu16th: {
4998 // op: Qd
4999 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5000 Value |= (op & UINT64_C(8)) << 19;
5001 Value |= (op & UINT64_C(7)) << 13;
5002 // op: Qm
5003 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5004 Value |= (op & UINT64_C(8)) << 2;
5005 Value |= (op & UINT64_C(7)) << 1;
5006 break;
5007 }
5008 case ARM::MVE_VQRSHL_by_vecs8:
5009 case ARM::MVE_VQRSHL_by_vecs16:
5010 case ARM::MVE_VQRSHL_by_vecs32:
5011 case ARM::MVE_VQRSHL_by_vecu8:
5012 case ARM::MVE_VQRSHL_by_vecu16:
5013 case ARM::MVE_VQRSHL_by_vecu32:
5014 case ARM::MVE_VQSHL_by_vecs8:
5015 case ARM::MVE_VQSHL_by_vecs16:
5016 case ARM::MVE_VQSHL_by_vecs32:
5017 case ARM::MVE_VQSHL_by_vecu8:
5018 case ARM::MVE_VQSHL_by_vecu16:
5019 case ARM::MVE_VQSHL_by_vecu32:
5020 case ARM::MVE_VRSHL_by_vecs8:
5021 case ARM::MVE_VRSHL_by_vecs16:
5022 case ARM::MVE_VRSHL_by_vecs32:
5023 case ARM::MVE_VRSHL_by_vecu8:
5024 case ARM::MVE_VRSHL_by_vecu16:
5025 case ARM::MVE_VRSHL_by_vecu32:
5026 case ARM::MVE_VSHL_by_vecs8:
5027 case ARM::MVE_VSHL_by_vecs16:
5028 case ARM::MVE_VSHL_by_vecs32:
5029 case ARM::MVE_VSHL_by_vecu8:
5030 case ARM::MVE_VSHL_by_vecu16:
5031 case ARM::MVE_VSHL_by_vecu32: {
5032 // op: Qd
5033 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5034 Value |= (op & UINT64_C(8)) << 19;
5035 Value |= (op & UINT64_C(7)) << 13;
5036 // op: Qm
5037 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5038 Value |= (op & UINT64_C(8)) << 2;
5039 Value |= (op & UINT64_C(7)) << 1;
5040 // op: Qn
5041 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5042 Value |= (op & UINT64_C(7)) << 17;
5043 Value |= (op & UINT64_C(8)) << 4;
5044 break;
5045 }
5046 case ARM::MVE_VSHLL_imms16bh:
5047 case ARM::MVE_VSHLL_imms16th:
5048 case ARM::MVE_VSHLL_immu16bh:
5049 case ARM::MVE_VSHLL_immu16th: {
5050 // op: Qd
5051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5052 Value |= (op & UINT64_C(8)) << 19;
5053 Value |= (op & UINT64_C(7)) << 13;
5054 // op: Qm
5055 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5056 Value |= (op & UINT64_C(8)) << 2;
5057 Value |= (op & UINT64_C(7)) << 1;
5058 // op: imm
5059 op = getMVEShiftImmOpValue(MI, OpIdx: 2, Fixups, STI);
5060 op &= UINT64_C(15);
5061 op <<= 16;
5062 Value |= op;
5063 break;
5064 }
5065 case ARM::MVE_VSHLL_imms8bh:
5066 case ARM::MVE_VSHLL_imms8th:
5067 case ARM::MVE_VSHLL_immu8bh:
5068 case ARM::MVE_VSHLL_immu8th: {
5069 // op: Qd
5070 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5071 Value |= (op & UINT64_C(8)) << 19;
5072 Value |= (op & UINT64_C(7)) << 13;
5073 // op: Qm
5074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5075 Value |= (op & UINT64_C(8)) << 2;
5076 Value |= (op & UINT64_C(7)) << 1;
5077 // op: imm
5078 op = getMVEShiftImmOpValue(MI, OpIdx: 2, Fixups, STI);
5079 op &= UINT64_C(7);
5080 op <<= 16;
5081 Value |= op;
5082 break;
5083 }
5084 case ARM::MVE_VQSHLU_imms16:
5085 case ARM::MVE_VQSHLimms16:
5086 case ARM::MVE_VQSHLimmu16:
5087 case ARM::MVE_VSHL_immi16: {
5088 // op: Qd
5089 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5090 Value |= (op & UINT64_C(8)) << 19;
5091 Value |= (op & UINT64_C(7)) << 13;
5092 // op: Qm
5093 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5094 Value |= (op & UINT64_C(8)) << 2;
5095 Value |= (op & UINT64_C(7)) << 1;
5096 // op: imm
5097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5098 op &= UINT64_C(15);
5099 op <<= 16;
5100 Value |= op;
5101 break;
5102 }
5103 case ARM::MVE_VQSHLU_imms32:
5104 case ARM::MVE_VQSHLimms32:
5105 case ARM::MVE_VQSHLimmu32:
5106 case ARM::MVE_VSHL_immi32: {
5107 // op: Qd
5108 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5109 Value |= (op & UINT64_C(8)) << 19;
5110 Value |= (op & UINT64_C(7)) << 13;
5111 // op: Qm
5112 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5113 Value |= (op & UINT64_C(8)) << 2;
5114 Value |= (op & UINT64_C(7)) << 1;
5115 // op: imm
5116 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5117 op &= UINT64_C(31);
5118 op <<= 16;
5119 Value |= op;
5120 break;
5121 }
5122 case ARM::MVE_VQSHLU_imms8:
5123 case ARM::MVE_VQSHLimms8:
5124 case ARM::MVE_VQSHLimmu8:
5125 case ARM::MVE_VSHL_immi8: {
5126 // op: Qd
5127 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5128 Value |= (op & UINT64_C(8)) << 19;
5129 Value |= (op & UINT64_C(7)) << 13;
5130 // op: Qm
5131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5132 Value |= (op & UINT64_C(8)) << 2;
5133 Value |= (op & UINT64_C(7)) << 1;
5134 // op: imm
5135 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5136 op &= UINT64_C(7);
5137 op <<= 16;
5138 Value |= op;
5139 break;
5140 }
5141 case ARM::MVE_VRSHR_imms16:
5142 case ARM::MVE_VRSHR_immu16:
5143 case ARM::MVE_VSHR_imms16:
5144 case ARM::MVE_VSHR_immu16: {
5145 // op: Qd
5146 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5147 Value |= (op & UINT64_C(8)) << 19;
5148 Value |= (op & UINT64_C(7)) << 13;
5149 // op: Qm
5150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5151 Value |= (op & UINT64_C(8)) << 2;
5152 Value |= (op & UINT64_C(7)) << 1;
5153 // op: imm
5154 op = getShiftRight16Imm(MI, Op: 2, Fixups, STI);
5155 op &= UINT64_C(15);
5156 op <<= 16;
5157 Value |= op;
5158 break;
5159 }
5160 case ARM::MVE_VRSHR_imms32:
5161 case ARM::MVE_VRSHR_immu32:
5162 case ARM::MVE_VSHR_imms32:
5163 case ARM::MVE_VSHR_immu32: {
5164 // op: Qd
5165 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5166 Value |= (op & UINT64_C(8)) << 19;
5167 Value |= (op & UINT64_C(7)) << 13;
5168 // op: Qm
5169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5170 Value |= (op & UINT64_C(8)) << 2;
5171 Value |= (op & UINT64_C(7)) << 1;
5172 // op: imm
5173 op = getShiftRight32Imm(MI, Op: 2, Fixups, STI);
5174 op &= UINT64_C(31);
5175 op <<= 16;
5176 Value |= op;
5177 break;
5178 }
5179 case ARM::MVE_VRSHR_imms8:
5180 case ARM::MVE_VRSHR_immu8:
5181 case ARM::MVE_VSHR_imms8:
5182 case ARM::MVE_VSHR_immu8: {
5183 // op: Qd
5184 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5185 Value |= (op & UINT64_C(8)) << 19;
5186 Value |= (op & UINT64_C(7)) << 13;
5187 // op: Qm
5188 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5189 Value |= (op & UINT64_C(8)) << 2;
5190 Value |= (op & UINT64_C(7)) << 1;
5191 // op: imm
5192 op = getShiftRight8Imm(MI, Op: 2, Fixups, STI);
5193 op &= UINT64_C(7);
5194 op <<= 16;
5195 Value |= op;
5196 break;
5197 }
5198 case ARM::MVE_VCVTf16f32bh:
5199 case ARM::MVE_VCVTf16f32th:
5200 case ARM::MVE_VMAXAs8:
5201 case ARM::MVE_VMAXAs16:
5202 case ARM::MVE_VMAXAs32:
5203 case ARM::MVE_VMAXNMAf16:
5204 case ARM::MVE_VMAXNMAf32:
5205 case ARM::MVE_VMINAs8:
5206 case ARM::MVE_VMINAs16:
5207 case ARM::MVE_VMINAs32:
5208 case ARM::MVE_VMINNMAf16:
5209 case ARM::MVE_VMINNMAf32:
5210 case ARM::MVE_VMOVNi16bh:
5211 case ARM::MVE_VMOVNi16th:
5212 case ARM::MVE_VMOVNi32bh:
5213 case ARM::MVE_VMOVNi32th:
5214 case ARM::MVE_VQMOVNs16bh:
5215 case ARM::MVE_VQMOVNs16th:
5216 case ARM::MVE_VQMOVNs32bh:
5217 case ARM::MVE_VQMOVNs32th:
5218 case ARM::MVE_VQMOVNu16bh:
5219 case ARM::MVE_VQMOVNu16th:
5220 case ARM::MVE_VQMOVNu32bh:
5221 case ARM::MVE_VQMOVNu32th:
5222 case ARM::MVE_VQMOVUNs16bh:
5223 case ARM::MVE_VQMOVUNs16th:
5224 case ARM::MVE_VQMOVUNs32bh:
5225 case ARM::MVE_VQMOVUNs32th: {
5226 // op: Qd
5227 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5228 Value |= (op & UINT64_C(8)) << 19;
5229 Value |= (op & UINT64_C(7)) << 13;
5230 // op: Qm
5231 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5232 Value |= (op & UINT64_C(8)) << 2;
5233 Value |= (op & UINT64_C(7)) << 1;
5234 break;
5235 }
5236 case ARM::MVE_VAND:
5237 case ARM::MVE_VBIC:
5238 case ARM::MVE_VEOR:
5239 case ARM::MVE_VMULHs8:
5240 case ARM::MVE_VMULHs16:
5241 case ARM::MVE_VMULHs32:
5242 case ARM::MVE_VMULHu8:
5243 case ARM::MVE_VMULHu16:
5244 case ARM::MVE_VMULHu32:
5245 case ARM::MVE_VMULLBp8:
5246 case ARM::MVE_VMULLBp16:
5247 case ARM::MVE_VMULLBs8:
5248 case ARM::MVE_VMULLBs16:
5249 case ARM::MVE_VMULLBs32:
5250 case ARM::MVE_VMULLBu8:
5251 case ARM::MVE_VMULLBu16:
5252 case ARM::MVE_VMULLBu32:
5253 case ARM::MVE_VMULLTp8:
5254 case ARM::MVE_VMULLTp16:
5255 case ARM::MVE_VMULLTs8:
5256 case ARM::MVE_VMULLTs16:
5257 case ARM::MVE_VMULLTs32:
5258 case ARM::MVE_VMULLTu8:
5259 case ARM::MVE_VMULLTu16:
5260 case ARM::MVE_VMULLTu32:
5261 case ARM::MVE_VORN:
5262 case ARM::MVE_VORR:
5263 case ARM::MVE_VQDMULLs16bh:
5264 case ARM::MVE_VQDMULLs16th:
5265 case ARM::MVE_VQDMULLs32bh:
5266 case ARM::MVE_VQDMULLs32th:
5267 case ARM::MVE_VRMULHs8:
5268 case ARM::MVE_VRMULHs16:
5269 case ARM::MVE_VRMULHs32:
5270 case ARM::MVE_VRMULHu8:
5271 case ARM::MVE_VRMULHu16:
5272 case ARM::MVE_VRMULHu32: {
5273 // op: Qd
5274 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5275 Value |= (op & UINT64_C(8)) << 19;
5276 Value |= (op & UINT64_C(7)) << 13;
5277 // op: Qm
5278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5279 Value |= (op & UINT64_C(8)) << 2;
5280 Value |= (op & UINT64_C(7)) << 1;
5281 // op: Qn
5282 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5283 Value |= (op & UINT64_C(7)) << 17;
5284 Value |= (op & UINT64_C(8)) << 4;
5285 break;
5286 }
5287 case ARM::MVE_VCMULf16:
5288 case ARM::MVE_VCMULf32: {
5289 // op: Qd
5290 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5291 Value |= (op & UINT64_C(8)) << 19;
5292 Value |= (op & UINT64_C(7)) << 13;
5293 // op: Qm
5294 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5295 Value |= (op & UINT64_C(8)) << 2;
5296 Value |= (op & UINT64_C(7)) << 1;
5297 // op: Qn
5298 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5299 Value |= (op & UINT64_C(7)) << 17;
5300 Value |= (op & UINT64_C(8)) << 4;
5301 // op: rot
5302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
5303 Value |= (op & UINT64_C(2)) << 11;
5304 Value |= (op & UINT64_C(1));
5305 break;
5306 }
5307 case ARM::MVE_VCADDi8:
5308 case ARM::MVE_VCADDi16:
5309 case ARM::MVE_VCADDi32:
5310 case ARM::MVE_VHCADDs8:
5311 case ARM::MVE_VHCADDs16:
5312 case ARM::MVE_VHCADDs32: {
5313 // op: Qd
5314 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5315 Value |= (op & UINT64_C(8)) << 19;
5316 Value |= (op & UINT64_C(7)) << 13;
5317 // op: Qm
5318 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5319 Value |= (op & UINT64_C(8)) << 2;
5320 Value |= (op & UINT64_C(7)) << 1;
5321 // op: Qn
5322 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5323 Value |= (op & UINT64_C(7)) << 17;
5324 Value |= (op & UINT64_C(8)) << 4;
5325 // op: rot
5326 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
5327 op &= UINT64_C(1);
5328 op <<= 12;
5329 Value |= op;
5330 break;
5331 }
5332 case ARM::MVE_VSLIimm16: {
5333 // op: Qd
5334 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5335 Value |= (op & UINT64_C(8)) << 19;
5336 Value |= (op & UINT64_C(7)) << 13;
5337 // op: Qm
5338 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5339 Value |= (op & UINT64_C(8)) << 2;
5340 Value |= (op & UINT64_C(7)) << 1;
5341 // op: imm
5342 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
5343 op &= UINT64_C(15);
5344 op <<= 16;
5345 Value |= op;
5346 break;
5347 }
5348 case ARM::MVE_VSLIimm32: {
5349 // op: Qd
5350 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5351 Value |= (op & UINT64_C(8)) << 19;
5352 Value |= (op & UINT64_C(7)) << 13;
5353 // op: Qm
5354 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5355 Value |= (op & UINT64_C(8)) << 2;
5356 Value |= (op & UINT64_C(7)) << 1;
5357 // op: imm
5358 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
5359 op &= UINT64_C(31);
5360 op <<= 16;
5361 Value |= op;
5362 break;
5363 }
5364 case ARM::MVE_VSLIimm8: {
5365 // op: Qd
5366 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5367 Value |= (op & UINT64_C(8)) << 19;
5368 Value |= (op & UINT64_C(7)) << 13;
5369 // op: Qm
5370 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5371 Value |= (op & UINT64_C(8)) << 2;
5372 Value |= (op & UINT64_C(7)) << 1;
5373 // op: imm
5374 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
5375 op &= UINT64_C(7);
5376 op <<= 16;
5377 Value |= op;
5378 break;
5379 }
5380 case ARM::MVE_VQRSHRNbhs32:
5381 case ARM::MVE_VQRSHRNbhu32:
5382 case ARM::MVE_VQRSHRNths32:
5383 case ARM::MVE_VQRSHRNthu32:
5384 case ARM::MVE_VQRSHRUNs32bh:
5385 case ARM::MVE_VQRSHRUNs32th:
5386 case ARM::MVE_VQSHRNbhs32:
5387 case ARM::MVE_VQSHRNbhu32:
5388 case ARM::MVE_VQSHRNths32:
5389 case ARM::MVE_VQSHRNthu32:
5390 case ARM::MVE_VQSHRUNs32bh:
5391 case ARM::MVE_VQSHRUNs32th:
5392 case ARM::MVE_VRSHRNi32bh:
5393 case ARM::MVE_VRSHRNi32th:
5394 case ARM::MVE_VSHRNi32bh:
5395 case ARM::MVE_VSHRNi32th:
5396 case ARM::MVE_VSRIimm16: {
5397 // op: Qd
5398 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5399 Value |= (op & UINT64_C(8)) << 19;
5400 Value |= (op & UINT64_C(7)) << 13;
5401 // op: Qm
5402 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5403 Value |= (op & UINT64_C(8)) << 2;
5404 Value |= (op & UINT64_C(7)) << 1;
5405 // op: imm
5406 op = getShiftRight16Imm(MI, Op: 3, Fixups, STI);
5407 op &= UINT64_C(15);
5408 op <<= 16;
5409 Value |= op;
5410 break;
5411 }
5412 case ARM::MVE_VSRIimm32: {
5413 // op: Qd
5414 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5415 Value |= (op & UINT64_C(8)) << 19;
5416 Value |= (op & UINT64_C(7)) << 13;
5417 // op: Qm
5418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5419 Value |= (op & UINT64_C(8)) << 2;
5420 Value |= (op & UINT64_C(7)) << 1;
5421 // op: imm
5422 op = getShiftRight32Imm(MI, Op: 3, Fixups, STI);
5423 op &= UINT64_C(31);
5424 op <<= 16;
5425 Value |= op;
5426 break;
5427 }
5428 case ARM::MVE_VQRSHRNbhs16:
5429 case ARM::MVE_VQRSHRNbhu16:
5430 case ARM::MVE_VQRSHRNths16:
5431 case ARM::MVE_VQRSHRNthu16:
5432 case ARM::MVE_VQRSHRUNs16bh:
5433 case ARM::MVE_VQRSHRUNs16th:
5434 case ARM::MVE_VQSHRNbhs16:
5435 case ARM::MVE_VQSHRNbhu16:
5436 case ARM::MVE_VQSHRNths16:
5437 case ARM::MVE_VQSHRNthu16:
5438 case ARM::MVE_VQSHRUNs16bh:
5439 case ARM::MVE_VQSHRUNs16th:
5440 case ARM::MVE_VRSHRNi16bh:
5441 case ARM::MVE_VRSHRNi16th:
5442 case ARM::MVE_VSHRNi16bh:
5443 case ARM::MVE_VSHRNi16th:
5444 case ARM::MVE_VSRIimm8: {
5445 // op: Qd
5446 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5447 Value |= (op & UINT64_C(8)) << 19;
5448 Value |= (op & UINT64_C(7)) << 13;
5449 // op: Qm
5450 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5451 Value |= (op & UINT64_C(8)) << 2;
5452 Value |= (op & UINT64_C(7)) << 1;
5453 // op: imm
5454 op = getShiftRight8Imm(MI, Op: 3, Fixups, STI);
5455 op &= UINT64_C(7);
5456 op <<= 16;
5457 Value |= op;
5458 break;
5459 }
5460 case ARM::MVE_VADC:
5461 case ARM::MVE_VADCI:
5462 case ARM::MVE_VQDMLADHXs8:
5463 case ARM::MVE_VQDMLADHXs16:
5464 case ARM::MVE_VQDMLADHXs32:
5465 case ARM::MVE_VQDMLADHs8:
5466 case ARM::MVE_VQDMLADHs16:
5467 case ARM::MVE_VQDMLADHs32:
5468 case ARM::MVE_VQDMLSDHXs8:
5469 case ARM::MVE_VQDMLSDHXs16:
5470 case ARM::MVE_VQDMLSDHXs32:
5471 case ARM::MVE_VQDMLSDHs8:
5472 case ARM::MVE_VQDMLSDHs16:
5473 case ARM::MVE_VQDMLSDHs32:
5474 case ARM::MVE_VQRDMLADHXs8:
5475 case ARM::MVE_VQRDMLADHXs16:
5476 case ARM::MVE_VQRDMLADHXs32:
5477 case ARM::MVE_VQRDMLADHs8:
5478 case ARM::MVE_VQRDMLADHs16:
5479 case ARM::MVE_VQRDMLADHs32:
5480 case ARM::MVE_VQRDMLSDHXs8:
5481 case ARM::MVE_VQRDMLSDHXs16:
5482 case ARM::MVE_VQRDMLSDHXs32:
5483 case ARM::MVE_VQRDMLSDHs8:
5484 case ARM::MVE_VQRDMLSDHs16:
5485 case ARM::MVE_VQRDMLSDHs32:
5486 case ARM::MVE_VSBC:
5487 case ARM::MVE_VSBCI: {
5488 // op: Qd
5489 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5490 Value |= (op & UINT64_C(8)) << 19;
5491 Value |= (op & UINT64_C(7)) << 13;
5492 // op: Qm
5493 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
5494 Value |= (op & UINT64_C(8)) << 2;
5495 Value |= (op & UINT64_C(7)) << 1;
5496 // op: Qn
5497 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5498 Value |= (op & UINT64_C(7)) << 17;
5499 Value |= (op & UINT64_C(8)) << 4;
5500 break;
5501 }
5502 case ARM::MVE_VABDs8:
5503 case ARM::MVE_VABDs16:
5504 case ARM::MVE_VABDs32:
5505 case ARM::MVE_VABDu8:
5506 case ARM::MVE_VABDu16:
5507 case ARM::MVE_VABDu32:
5508 case ARM::MVE_VADDi8:
5509 case ARM::MVE_VADDi16:
5510 case ARM::MVE_VADDi32:
5511 case ARM::MVE_VHADDs8:
5512 case ARM::MVE_VHADDs16:
5513 case ARM::MVE_VHADDs32:
5514 case ARM::MVE_VHADDu8:
5515 case ARM::MVE_VHADDu16:
5516 case ARM::MVE_VHADDu32:
5517 case ARM::MVE_VHSUBs8:
5518 case ARM::MVE_VHSUBs16:
5519 case ARM::MVE_VHSUBs32:
5520 case ARM::MVE_VHSUBu8:
5521 case ARM::MVE_VHSUBu16:
5522 case ARM::MVE_VHSUBu32:
5523 case ARM::MVE_VMAXNMf16:
5524 case ARM::MVE_VMAXNMf32:
5525 case ARM::MVE_VMAXs8:
5526 case ARM::MVE_VMAXs16:
5527 case ARM::MVE_VMAXs32:
5528 case ARM::MVE_VMAXu8:
5529 case ARM::MVE_VMAXu16:
5530 case ARM::MVE_VMAXu32:
5531 case ARM::MVE_VMINNMf16:
5532 case ARM::MVE_VMINNMf32:
5533 case ARM::MVE_VMINs8:
5534 case ARM::MVE_VMINs16:
5535 case ARM::MVE_VMINs32:
5536 case ARM::MVE_VMINu8:
5537 case ARM::MVE_VMINu16:
5538 case ARM::MVE_VMINu32:
5539 case ARM::MVE_VMULi8:
5540 case ARM::MVE_VMULi16:
5541 case ARM::MVE_VMULi32:
5542 case ARM::MVE_VQADDs8:
5543 case ARM::MVE_VQADDs16:
5544 case ARM::MVE_VQADDs32:
5545 case ARM::MVE_VQADDu8:
5546 case ARM::MVE_VQADDu16:
5547 case ARM::MVE_VQADDu32:
5548 case ARM::MVE_VQDMULHi8:
5549 case ARM::MVE_VQDMULHi16:
5550 case ARM::MVE_VQDMULHi32:
5551 case ARM::MVE_VQRDMULHi8:
5552 case ARM::MVE_VQRDMULHi16:
5553 case ARM::MVE_VQRDMULHi32:
5554 case ARM::MVE_VQSUBs8:
5555 case ARM::MVE_VQSUBs16:
5556 case ARM::MVE_VQSUBs32:
5557 case ARM::MVE_VQSUBu8:
5558 case ARM::MVE_VQSUBu16:
5559 case ARM::MVE_VQSUBu32:
5560 case ARM::MVE_VRHADDs8:
5561 case ARM::MVE_VRHADDs16:
5562 case ARM::MVE_VRHADDs32:
5563 case ARM::MVE_VRHADDu8:
5564 case ARM::MVE_VRHADDu16:
5565 case ARM::MVE_VRHADDu32:
5566 case ARM::MVE_VSUBi8:
5567 case ARM::MVE_VSUBi16:
5568 case ARM::MVE_VSUBi32: {
5569 // op: Qd
5570 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5571 Value |= (op & UINT64_C(8)) << 19;
5572 Value |= (op & UINT64_C(7)) << 13;
5573 // op: Qn
5574 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5575 Value |= (op & UINT64_C(7)) << 17;
5576 Value |= (op & UINT64_C(8)) << 4;
5577 // op: Qm
5578 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5579 Value |= (op & UINT64_C(8)) << 2;
5580 Value |= (op & UINT64_C(7)) << 1;
5581 break;
5582 }
5583 case ARM::MVE_VADD_qr_f16:
5584 case ARM::MVE_VADD_qr_f32:
5585 case ARM::MVE_VADD_qr_i8:
5586 case ARM::MVE_VADD_qr_i16:
5587 case ARM::MVE_VADD_qr_i32:
5588 case ARM::MVE_VBRSR8:
5589 case ARM::MVE_VBRSR16:
5590 case ARM::MVE_VBRSR32:
5591 case ARM::MVE_VHADD_qr_s8:
5592 case ARM::MVE_VHADD_qr_s16:
5593 case ARM::MVE_VHADD_qr_s32:
5594 case ARM::MVE_VHADD_qr_u8:
5595 case ARM::MVE_VHADD_qr_u16:
5596 case ARM::MVE_VHADD_qr_u32:
5597 case ARM::MVE_VHSUB_qr_s8:
5598 case ARM::MVE_VHSUB_qr_s16:
5599 case ARM::MVE_VHSUB_qr_s32:
5600 case ARM::MVE_VHSUB_qr_u8:
5601 case ARM::MVE_VHSUB_qr_u16:
5602 case ARM::MVE_VHSUB_qr_u32:
5603 case ARM::MVE_VMUL_qr_f16:
5604 case ARM::MVE_VMUL_qr_f32:
5605 case ARM::MVE_VMUL_qr_i8:
5606 case ARM::MVE_VMUL_qr_i16:
5607 case ARM::MVE_VMUL_qr_i32:
5608 case ARM::MVE_VQADD_qr_s8:
5609 case ARM::MVE_VQADD_qr_s16:
5610 case ARM::MVE_VQADD_qr_s32:
5611 case ARM::MVE_VQADD_qr_u8:
5612 case ARM::MVE_VQADD_qr_u16:
5613 case ARM::MVE_VQADD_qr_u32:
5614 case ARM::MVE_VQDMULH_qr_s8:
5615 case ARM::MVE_VQDMULH_qr_s16:
5616 case ARM::MVE_VQDMULH_qr_s32:
5617 case ARM::MVE_VQDMULL_qr_s16bh:
5618 case ARM::MVE_VQDMULL_qr_s16th:
5619 case ARM::MVE_VQDMULL_qr_s32bh:
5620 case ARM::MVE_VQDMULL_qr_s32th:
5621 case ARM::MVE_VQRDMULH_qr_s8:
5622 case ARM::MVE_VQRDMULH_qr_s16:
5623 case ARM::MVE_VQRDMULH_qr_s32:
5624 case ARM::MVE_VQSUB_qr_s8:
5625 case ARM::MVE_VQSUB_qr_s16:
5626 case ARM::MVE_VQSUB_qr_s32:
5627 case ARM::MVE_VQSUB_qr_u8:
5628 case ARM::MVE_VQSUB_qr_u16:
5629 case ARM::MVE_VQSUB_qr_u32:
5630 case ARM::MVE_VSUB_qr_f16:
5631 case ARM::MVE_VSUB_qr_f32:
5632 case ARM::MVE_VSUB_qr_i8:
5633 case ARM::MVE_VSUB_qr_i16:
5634 case ARM::MVE_VSUB_qr_i32: {
5635 // op: Qd
5636 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5637 Value |= (op & UINT64_C(8)) << 19;
5638 Value |= (op & UINT64_C(7)) << 13;
5639 // op: Qn
5640 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5641 Value |= (op & UINT64_C(7)) << 17;
5642 Value |= (op & UINT64_C(8)) << 4;
5643 // op: Rm
5644 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5645 op &= UINT64_C(15);
5646 Value |= op;
5647 break;
5648 }
5649 case ARM::MVE_VFMA_qr_Sf16:
5650 case ARM::MVE_VFMA_qr_Sf32:
5651 case ARM::MVE_VFMA_qr_f16:
5652 case ARM::MVE_VFMA_qr_f32:
5653 case ARM::MVE_VMLAS_qr_i8:
5654 case ARM::MVE_VMLAS_qr_i16:
5655 case ARM::MVE_VMLAS_qr_i32:
5656 case ARM::MVE_VMLA_qr_i8:
5657 case ARM::MVE_VMLA_qr_i16:
5658 case ARM::MVE_VMLA_qr_i32:
5659 case ARM::MVE_VQDMLAH_qrs8:
5660 case ARM::MVE_VQDMLAH_qrs16:
5661 case ARM::MVE_VQDMLAH_qrs32:
5662 case ARM::MVE_VQDMLASH_qrs8:
5663 case ARM::MVE_VQDMLASH_qrs16:
5664 case ARM::MVE_VQDMLASH_qrs32:
5665 case ARM::MVE_VQRDMLAH_qrs8:
5666 case ARM::MVE_VQRDMLAH_qrs16:
5667 case ARM::MVE_VQRDMLAH_qrs32:
5668 case ARM::MVE_VQRDMLASH_qrs8:
5669 case ARM::MVE_VQRDMLASH_qrs16:
5670 case ARM::MVE_VQRDMLASH_qrs32: {
5671 // op: Qd
5672 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5673 Value |= (op & UINT64_C(8)) << 19;
5674 Value |= (op & UINT64_C(7)) << 13;
5675 // op: Qn
5676 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5677 Value |= (op & UINT64_C(7)) << 17;
5678 Value |= (op & UINT64_C(8)) << 4;
5679 // op: Rm
5680 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
5681 op &= UINT64_C(15);
5682 Value |= op;
5683 break;
5684 }
5685 case ARM::MVE_VQRSHL_qrs8:
5686 case ARM::MVE_VQRSHL_qrs16:
5687 case ARM::MVE_VQRSHL_qrs32:
5688 case ARM::MVE_VQRSHL_qru8:
5689 case ARM::MVE_VQRSHL_qru16:
5690 case ARM::MVE_VQRSHL_qru32:
5691 case ARM::MVE_VQSHL_qrs8:
5692 case ARM::MVE_VQSHL_qrs16:
5693 case ARM::MVE_VQSHL_qrs32:
5694 case ARM::MVE_VQSHL_qru8:
5695 case ARM::MVE_VQSHL_qru16:
5696 case ARM::MVE_VQSHL_qru32:
5697 case ARM::MVE_VRSHL_qrs8:
5698 case ARM::MVE_VRSHL_qrs16:
5699 case ARM::MVE_VRSHL_qrs32:
5700 case ARM::MVE_VRSHL_qru8:
5701 case ARM::MVE_VRSHL_qru16:
5702 case ARM::MVE_VRSHL_qru32:
5703 case ARM::MVE_VSHL_qrs8:
5704 case ARM::MVE_VSHL_qrs16:
5705 case ARM::MVE_VSHL_qrs32:
5706 case ARM::MVE_VSHL_qru8:
5707 case ARM::MVE_VSHL_qru16:
5708 case ARM::MVE_VSHL_qru32: {
5709 // op: Qd
5710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5711 Value |= (op & UINT64_C(8)) << 19;
5712 Value |= (op & UINT64_C(7)) << 13;
5713 // op: Rm
5714 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5715 op &= UINT64_C(15);
5716 Value |= op;
5717 break;
5718 }
5719 case ARM::MVE_VDWDUPu8:
5720 case ARM::MVE_VDWDUPu16:
5721 case ARM::MVE_VDWDUPu32:
5722 case ARM::MVE_VIWDUPu8:
5723 case ARM::MVE_VIWDUPu16:
5724 case ARM::MVE_VIWDUPu32: {
5725 // op: Qd
5726 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5727 Value |= (op & UINT64_C(8)) << 19;
5728 Value |= (op & UINT64_C(7)) << 13;
5729 // op: Rm
5730 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
5731 op &= UINT64_C(14);
5732 Value |= op;
5733 // op: Rn
5734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5735 op &= UINT64_C(14);
5736 op <<= 16;
5737 Value |= op;
5738 // op: imm
5739 op = getPowerTwoOpValue(MI, OpIdx: 4, Fixups, STI);
5740 Value |= (op & UINT64_C(2)) << 6;
5741 Value |= (op & UINT64_C(1));
5742 break;
5743 }
5744 case ARM::MVE_VDDUPu8:
5745 case ARM::MVE_VDDUPu16:
5746 case ARM::MVE_VDDUPu32:
5747 case ARM::MVE_VIDUPu8:
5748 case ARM::MVE_VIDUPu16:
5749 case ARM::MVE_VIDUPu32: {
5750 // op: Qd
5751 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5752 Value |= (op & UINT64_C(8)) << 19;
5753 Value |= (op & UINT64_C(7)) << 13;
5754 // op: Rn
5755 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5756 op &= UINT64_C(14);
5757 op <<= 16;
5758 Value |= op;
5759 // op: imm
5760 op = getPowerTwoOpValue(MI, OpIdx: 3, Fixups, STI);
5761 Value |= (op & UINT64_C(2)) << 6;
5762 Value |= (op & UINT64_C(1));
5763 break;
5764 }
5765 case ARM::MVE_VLDRWU32_qi:
5766 case ARM::MVE_VSTRW32_qi: {
5767 // op: Qd
5768 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5769 op &= UINT64_C(7);
5770 op <<= 13;
5771 Value |= op;
5772 // op: addr
5773 op = getMveAddrModeQOpValue<2>(MI, OpIdx: 1, Fixups, STI);
5774 Value |= (op & UINT64_C(128)) << 16;
5775 Value |= (op & UINT64_C(1792)) << 9;
5776 Value |= (op & UINT64_C(127));
5777 break;
5778 }
5779 case ARM::MVE_VLDRDU64_qi:
5780 case ARM::MVE_VSTRD64_qi: {
5781 // op: Qd
5782 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5783 op &= UINT64_C(7);
5784 op <<= 13;
5785 Value |= op;
5786 // op: addr
5787 op = getMveAddrModeQOpValue<3>(MI, OpIdx: 1, Fixups, STI);
5788 Value |= (op & UINT64_C(128)) << 16;
5789 Value |= (op & UINT64_C(1792)) << 9;
5790 Value |= (op & UINT64_C(127));
5791 break;
5792 }
5793 case ARM::MVE_VLDRBS16_rq:
5794 case ARM::MVE_VLDRBS32_rq:
5795 case ARM::MVE_VLDRBU8_rq:
5796 case ARM::MVE_VLDRBU16_rq:
5797 case ARM::MVE_VLDRBU32_rq:
5798 case ARM::MVE_VLDRDU64_rq:
5799 case ARM::MVE_VLDRDU64_rq_u:
5800 case ARM::MVE_VLDRHS32_rq:
5801 case ARM::MVE_VLDRHS32_rq_u:
5802 case ARM::MVE_VLDRHU16_rq:
5803 case ARM::MVE_VLDRHU16_rq_u:
5804 case ARM::MVE_VLDRHU32_rq:
5805 case ARM::MVE_VLDRHU32_rq_u:
5806 case ARM::MVE_VLDRWU32_rq:
5807 case ARM::MVE_VLDRWU32_rq_u:
5808 case ARM::MVE_VSTRB8_rq:
5809 case ARM::MVE_VSTRB16_rq:
5810 case ARM::MVE_VSTRB32_rq:
5811 case ARM::MVE_VSTRD64_rq:
5812 case ARM::MVE_VSTRD64_rq_u:
5813 case ARM::MVE_VSTRH16_rq:
5814 case ARM::MVE_VSTRH16_rq_u:
5815 case ARM::MVE_VSTRH32_rq:
5816 case ARM::MVE_VSTRH32_rq_u:
5817 case ARM::MVE_VSTRW32_rq:
5818 case ARM::MVE_VSTRW32_rq_u: {
5819 // op: Qd
5820 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5821 op &= UINT64_C(7);
5822 op <<= 13;
5823 Value |= op;
5824 // op: addr
5825 op = getMveAddrModeRQOpValue(MI, OpIdx: 1, Fixups, STI);
5826 Value |= (op & UINT64_C(120)) << 13;
5827 Value |= (op & UINT64_C(7)) << 1;
5828 break;
5829 }
5830 case ARM::MVE_VLDRBS16:
5831 case ARM::MVE_VLDRBS32:
5832 case ARM::MVE_VLDRBU16:
5833 case ARM::MVE_VLDRBU32:
5834 case ARM::MVE_VSTRB16:
5835 case ARM::MVE_VSTRB32: {
5836 // op: Qd
5837 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5838 op &= UINT64_C(7);
5839 op <<= 13;
5840 Value |= op;
5841 // op: addr
5842 op = getT2AddrModeImmOpValue<7,0>(MI, OpNum: 1, Fixups, STI);
5843 Value |= (op & UINT64_C(128)) << 16;
5844 Value |= (op & UINT64_C(1792)) << 8;
5845 Value |= (op & UINT64_C(127));
5846 break;
5847 }
5848 case ARM::MVE_VLDRBU8:
5849 case ARM::MVE_VSTRBU8: {
5850 // op: Qd
5851 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5852 op &= UINT64_C(7);
5853 op <<= 13;
5854 Value |= op;
5855 // op: addr
5856 op = getT2AddrModeImmOpValue<7,0>(MI, OpNum: 1, Fixups, STI);
5857 Value |= (op & UINT64_C(128)) << 16;
5858 Value |= (op & UINT64_C(3840)) << 8;
5859 Value |= (op & UINT64_C(127));
5860 break;
5861 }
5862 case ARM::MVE_VLDRHS32:
5863 case ARM::MVE_VLDRHU32:
5864 case ARM::MVE_VSTRH32: {
5865 // op: Qd
5866 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5867 op &= UINT64_C(7);
5868 op <<= 13;
5869 Value |= op;
5870 // op: addr
5871 op = getT2AddrModeImmOpValue<7,1>(MI, OpNum: 1, Fixups, STI);
5872 Value |= (op & UINT64_C(128)) << 16;
5873 Value |= (op & UINT64_C(1792)) << 8;
5874 Value |= (op & UINT64_C(127));
5875 break;
5876 }
5877 case ARM::MVE_VLDRHU16:
5878 case ARM::MVE_VSTRHU16: {
5879 // op: Qd
5880 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5881 op &= UINT64_C(7);
5882 op <<= 13;
5883 Value |= op;
5884 // op: addr
5885 op = getT2AddrModeImmOpValue<7,1>(MI, OpNum: 1, Fixups, STI);
5886 Value |= (op & UINT64_C(128)) << 16;
5887 Value |= (op & UINT64_C(3840)) << 8;
5888 Value |= (op & UINT64_C(127));
5889 break;
5890 }
5891 case ARM::MVE_VLDRWU32:
5892 case ARM::MVE_VSTRWU32: {
5893 // op: Qd
5894 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5895 op &= UINT64_C(7);
5896 op <<= 13;
5897 Value |= op;
5898 // op: addr
5899 op = getT2AddrModeImmOpValue<7,2>(MI, OpNum: 1, Fixups, STI);
5900 Value |= (op & UINT64_C(128)) << 16;
5901 Value |= (op & UINT64_C(3840)) << 8;
5902 Value |= (op & UINT64_C(127));
5903 break;
5904 }
5905 case ARM::MVE_VMOV_from_lane_32: {
5906 // op: Qd
5907 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5908 Value |= (op & UINT64_C(7)) << 17;
5909 Value |= (op & UINT64_C(8)) << 4;
5910 // op: Rt
5911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5912 op &= UINT64_C(15);
5913 op <<= 12;
5914 Value |= op;
5915 // op: Idx
5916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5917 Value |= (op & UINT64_C(1)) << 21;
5918 Value |= (op & UINT64_C(2)) << 15;
5919 break;
5920 }
5921 case ARM::MVE_VMOV_from_lane_s16:
5922 case ARM::MVE_VMOV_from_lane_u16: {
5923 // op: Qd
5924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5925 Value |= (op & UINT64_C(7)) << 17;
5926 Value |= (op & UINT64_C(8)) << 4;
5927 // op: Rt
5928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5929 op &= UINT64_C(15);
5930 op <<= 12;
5931 Value |= op;
5932 // op: Idx
5933 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5934 Value |= (op & UINT64_C(2)) << 20;
5935 Value |= (op & UINT64_C(4)) << 14;
5936 Value |= (op & UINT64_C(1)) << 6;
5937 break;
5938 }
5939 case ARM::MVE_VMOV_from_lane_s8:
5940 case ARM::MVE_VMOV_from_lane_u8: {
5941 // op: Qd
5942 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5943 Value |= (op & UINT64_C(7)) << 17;
5944 Value |= (op & UINT64_C(8)) << 4;
5945 // op: Rt
5946 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
5947 op &= UINT64_C(15);
5948 op <<= 12;
5949 Value |= op;
5950 // op: Idx
5951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
5952 Value |= (op & UINT64_C(4)) << 19;
5953 Value |= (op & UINT64_C(8)) << 13;
5954 Value |= (op & UINT64_C(3)) << 5;
5955 break;
5956 }
5957 case ARM::MVE_VLDRWU32_qi_pre:
5958 case ARM::MVE_VSTRW32_qi_pre: {
5959 // op: Qd
5960 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5961 op &= UINT64_C(7);
5962 op <<= 13;
5963 Value |= op;
5964 // op: addr
5965 op = getMveAddrModeQOpValue<2>(MI, OpIdx: 2, Fixups, STI);
5966 Value |= (op & UINT64_C(128)) << 16;
5967 Value |= (op & UINT64_C(1792)) << 9;
5968 Value |= (op & UINT64_C(127));
5969 break;
5970 }
5971 case ARM::MVE_VLDRDU64_qi_pre:
5972 case ARM::MVE_VSTRD64_qi_pre: {
5973 // op: Qd
5974 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5975 op &= UINT64_C(7);
5976 op <<= 13;
5977 Value |= op;
5978 // op: addr
5979 op = getMveAddrModeQOpValue<3>(MI, OpIdx: 2, Fixups, STI);
5980 Value |= (op & UINT64_C(128)) << 16;
5981 Value |= (op & UINT64_C(1792)) << 9;
5982 Value |= (op & UINT64_C(127));
5983 break;
5984 }
5985 case ARM::MVE_VLDRBS16_pre:
5986 case ARM::MVE_VLDRBS32_pre:
5987 case ARM::MVE_VLDRBU16_pre:
5988 case ARM::MVE_VLDRBU32_pre:
5989 case ARM::MVE_VSTRB16_pre:
5990 case ARM::MVE_VSTRB32_pre: {
5991 // op: Qd
5992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
5993 op &= UINT64_C(7);
5994 op <<= 13;
5995 Value |= op;
5996 // op: addr
5997 op = getT2AddrModeImmOpValue<7,0>(MI, OpNum: 2, Fixups, STI);
5998 Value |= (op & UINT64_C(128)) << 16;
5999 Value |= (op & UINT64_C(1792)) << 8;
6000 Value |= (op & UINT64_C(127));
6001 break;
6002 }
6003 case ARM::MVE_VLDRBU8_pre:
6004 case ARM::MVE_VSTRBU8_pre: {
6005 // op: Qd
6006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6007 op &= UINT64_C(7);
6008 op <<= 13;
6009 Value |= op;
6010 // op: addr
6011 op = getT2AddrModeImmOpValue<7,0>(MI, OpNum: 2, Fixups, STI);
6012 Value |= (op & UINT64_C(128)) << 16;
6013 Value |= (op & UINT64_C(3840)) << 8;
6014 Value |= (op & UINT64_C(127));
6015 break;
6016 }
6017 case ARM::MVE_VLDRHS32_pre:
6018 case ARM::MVE_VLDRHU32_pre:
6019 case ARM::MVE_VSTRH32_pre: {
6020 // op: Qd
6021 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6022 op &= UINT64_C(7);
6023 op <<= 13;
6024 Value |= op;
6025 // op: addr
6026 op = getT2AddrModeImmOpValue<7,1>(MI, OpNum: 2, Fixups, STI);
6027 Value |= (op & UINT64_C(128)) << 16;
6028 Value |= (op & UINT64_C(1792)) << 8;
6029 Value |= (op & UINT64_C(127));
6030 break;
6031 }
6032 case ARM::MVE_VLDRHU16_pre:
6033 case ARM::MVE_VSTRHU16_pre: {
6034 // op: Qd
6035 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6036 op &= UINT64_C(7);
6037 op <<= 13;
6038 Value |= op;
6039 // op: addr
6040 op = getT2AddrModeImmOpValue<7,1>(MI, OpNum: 2, Fixups, STI);
6041 Value |= (op & UINT64_C(128)) << 16;
6042 Value |= (op & UINT64_C(3840)) << 8;
6043 Value |= (op & UINT64_C(127));
6044 break;
6045 }
6046 case ARM::MVE_VLDRWU32_pre:
6047 case ARM::MVE_VSTRWU32_pre: {
6048 // op: Qd
6049 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6050 op &= UINT64_C(7);
6051 op <<= 13;
6052 Value |= op;
6053 // op: addr
6054 op = getT2AddrModeImmOpValue<7,2>(MI, OpNum: 2, Fixups, STI);
6055 Value |= (op & UINT64_C(128)) << 16;
6056 Value |= (op & UINT64_C(3840)) << 8;
6057 Value |= (op & UINT64_C(127));
6058 break;
6059 }
6060 case ARM::MVE_VLDRBU8_post:
6061 case ARM::MVE_VSTRBU8_post: {
6062 // op: Qd
6063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6064 op &= UINT64_C(7);
6065 op <<= 13;
6066 Value |= op;
6067 // op: addr
6068 op = getT2ScaledImmOpValue<7,0>(MI, OpIdx: 3, Fixups, STI);
6069 Value |= (op & UINT64_C(128)) << 16;
6070 Value |= (op & UINT64_C(127));
6071 // op: Rn
6072 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6073 op &= UINT64_C(15);
6074 op <<= 16;
6075 Value |= op;
6076 break;
6077 }
6078 case ARM::MVE_VLDRBS16_post:
6079 case ARM::MVE_VLDRBS32_post:
6080 case ARM::MVE_VLDRBU16_post:
6081 case ARM::MVE_VLDRBU32_post:
6082 case ARM::MVE_VSTRB16_post:
6083 case ARM::MVE_VSTRB32_post: {
6084 // op: Qd
6085 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6086 op &= UINT64_C(7);
6087 op <<= 13;
6088 Value |= op;
6089 // op: addr
6090 op = getT2ScaledImmOpValue<7,0>(MI, OpIdx: 3, Fixups, STI);
6091 Value |= (op & UINT64_C(128)) << 16;
6092 Value |= (op & UINT64_C(127));
6093 // op: Rn
6094 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6095 op &= UINT64_C(7);
6096 op <<= 16;
6097 Value |= op;
6098 break;
6099 }
6100 case ARM::MVE_VLDRHU16_post:
6101 case ARM::MVE_VSTRHU16_post: {
6102 // op: Qd
6103 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6104 op &= UINT64_C(7);
6105 op <<= 13;
6106 Value |= op;
6107 // op: addr
6108 op = getT2ScaledImmOpValue<7,1>(MI, OpIdx: 3, Fixups, STI);
6109 Value |= (op & UINT64_C(128)) << 16;
6110 Value |= (op & UINT64_C(127));
6111 // op: Rn
6112 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6113 op &= UINT64_C(15);
6114 op <<= 16;
6115 Value |= op;
6116 break;
6117 }
6118 case ARM::MVE_VLDRHS32_post:
6119 case ARM::MVE_VLDRHU32_post:
6120 case ARM::MVE_VSTRH32_post: {
6121 // op: Qd
6122 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6123 op &= UINT64_C(7);
6124 op <<= 13;
6125 Value |= op;
6126 // op: addr
6127 op = getT2ScaledImmOpValue<7,1>(MI, OpIdx: 3, Fixups, STI);
6128 Value |= (op & UINT64_C(128)) << 16;
6129 Value |= (op & UINT64_C(127));
6130 // op: Rn
6131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6132 op &= UINT64_C(7);
6133 op <<= 16;
6134 Value |= op;
6135 break;
6136 }
6137 case ARM::MVE_VLDRWU32_post:
6138 case ARM::MVE_VSTRWU32_post: {
6139 // op: Qd
6140 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6141 op &= UINT64_C(7);
6142 op <<= 13;
6143 Value |= op;
6144 // op: addr
6145 op = getT2ScaledImmOpValue<7,2>(MI, OpIdx: 3, Fixups, STI);
6146 Value |= (op & UINT64_C(128)) << 16;
6147 Value |= (op & UINT64_C(127));
6148 // op: Rn
6149 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6150 op &= UINT64_C(15);
6151 op <<= 16;
6152 Value |= op;
6153 break;
6154 }
6155 case ARM::MVE_VABSf16:
6156 case ARM::MVE_VABSf32:
6157 case ARM::MVE_VCVTf16s16n:
6158 case ARM::MVE_VCVTf16u16n:
6159 case ARM::MVE_VCVTf32s32n:
6160 case ARM::MVE_VCVTf32u32n:
6161 case ARM::MVE_VCVTs16f16a:
6162 case ARM::MVE_VCVTs16f16m:
6163 case ARM::MVE_VCVTs16f16n:
6164 case ARM::MVE_VCVTs16f16p:
6165 case ARM::MVE_VCVTs16f16z:
6166 case ARM::MVE_VCVTs32f32a:
6167 case ARM::MVE_VCVTs32f32m:
6168 case ARM::MVE_VCVTs32f32n:
6169 case ARM::MVE_VCVTs32f32p:
6170 case ARM::MVE_VCVTs32f32z:
6171 case ARM::MVE_VCVTu16f16a:
6172 case ARM::MVE_VCVTu16f16m:
6173 case ARM::MVE_VCVTu16f16n:
6174 case ARM::MVE_VCVTu16f16p:
6175 case ARM::MVE_VCVTu16f16z:
6176 case ARM::MVE_VCVTu32f32a:
6177 case ARM::MVE_VCVTu32f32m:
6178 case ARM::MVE_VCVTu32f32n:
6179 case ARM::MVE_VCVTu32f32p:
6180 case ARM::MVE_VCVTu32f32z:
6181 case ARM::MVE_VNEGf16:
6182 case ARM::MVE_VNEGf32:
6183 case ARM::MVE_VRINTf16A:
6184 case ARM::MVE_VRINTf16M:
6185 case ARM::MVE_VRINTf16N:
6186 case ARM::MVE_VRINTf16P:
6187 case ARM::MVE_VRINTf16X:
6188 case ARM::MVE_VRINTf16Z:
6189 case ARM::MVE_VRINTf32A:
6190 case ARM::MVE_VRINTf32M:
6191 case ARM::MVE_VRINTf32N:
6192 case ARM::MVE_VRINTf32P:
6193 case ARM::MVE_VRINTf32X:
6194 case ARM::MVE_VRINTf32Z: {
6195 // op: Qm
6196 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6197 Value |= (op & UINT64_C(8)) << 2;
6198 Value |= (op & UINT64_C(7)) << 1;
6199 // op: Qd
6200 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6201 Value |= (op & UINT64_C(8)) << 19;
6202 Value |= (op & UINT64_C(7)) << 13;
6203 break;
6204 }
6205 case ARM::MVE_VCVTf16s16_fix:
6206 case ARM::MVE_VCVTf16u16_fix:
6207 case ARM::MVE_VCVTs16f16_fix:
6208 case ARM::MVE_VCVTu16f16_fix: {
6209 // op: Qm
6210 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6211 Value |= (op & UINT64_C(8)) << 2;
6212 Value |= (op & UINT64_C(7)) << 1;
6213 // op: Qd
6214 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6215 Value |= (op & UINT64_C(8)) << 19;
6216 Value |= (op & UINT64_C(7)) << 13;
6217 // op: imm6
6218 op = getNEONVcvtImm32OpValue(MI, Op: 2, Fixups, STI);
6219 op &= UINT64_C(15);
6220 op <<= 16;
6221 Value |= op;
6222 break;
6223 }
6224 case ARM::MVE_VCVTf32s32_fix:
6225 case ARM::MVE_VCVTf32u32_fix:
6226 case ARM::MVE_VCVTs32f32_fix:
6227 case ARM::MVE_VCVTu32f32_fix: {
6228 // op: Qm
6229 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6230 Value |= (op & UINT64_C(8)) << 2;
6231 Value |= (op & UINT64_C(7)) << 1;
6232 // op: Qd
6233 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6234 Value |= (op & UINT64_C(8)) << 19;
6235 Value |= (op & UINT64_C(7)) << 13;
6236 // op: imm6
6237 op = getNEONVcvtImm32OpValue(MI, Op: 2, Fixups, STI);
6238 op &= UINT64_C(31);
6239 op <<= 16;
6240 Value |= op;
6241 break;
6242 }
6243 case ARM::MVE_VADDVs8no_acc:
6244 case ARM::MVE_VADDVs16no_acc:
6245 case ARM::MVE_VADDVs32no_acc:
6246 case ARM::MVE_VADDVu8no_acc:
6247 case ARM::MVE_VADDVu16no_acc:
6248 case ARM::MVE_VADDVu32no_acc: {
6249 // op: Qm
6250 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6251 op &= UINT64_C(7);
6252 op <<= 1;
6253 Value |= op;
6254 // op: Rda
6255 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6256 op &= UINT64_C(14);
6257 op <<= 12;
6258 Value |= op;
6259 break;
6260 }
6261 case ARM::MVE_VABDf16:
6262 case ARM::MVE_VABDf32:
6263 case ARM::MVE_VADDf16:
6264 case ARM::MVE_VADDf32:
6265 case ARM::MVE_VMULf16:
6266 case ARM::MVE_VMULf32:
6267 case ARM::MVE_VSUBf16:
6268 case ARM::MVE_VSUBf32: {
6269 // op: Qm
6270 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6271 Value |= (op & UINT64_C(8)) << 2;
6272 Value |= (op & UINT64_C(7)) << 1;
6273 // op: Qd
6274 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6275 Value |= (op & UINT64_C(8)) << 19;
6276 Value |= (op & UINT64_C(7)) << 13;
6277 // op: Qn
6278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6279 Value |= (op & UINT64_C(7)) << 17;
6280 Value |= (op & UINT64_C(8)) << 4;
6281 break;
6282 }
6283 case ARM::MVE_VCADDf16:
6284 case ARM::MVE_VCADDf32: {
6285 // op: Qm
6286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6287 Value |= (op & UINT64_C(8)) << 2;
6288 Value |= (op & UINT64_C(7)) << 1;
6289 // op: Qd
6290 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6291 Value |= (op & UINT64_C(8)) << 19;
6292 Value |= (op & UINT64_C(7)) << 13;
6293 // op: Qn
6294 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6295 Value |= (op & UINT64_C(7)) << 17;
6296 Value |= (op & UINT64_C(8)) << 4;
6297 // op: rot
6298 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6299 op &= UINT64_C(1);
6300 op <<= 24;
6301 Value |= op;
6302 break;
6303 }
6304 case ARM::MVE_VADDVs8acc:
6305 case ARM::MVE_VADDVs16acc:
6306 case ARM::MVE_VADDVs32acc:
6307 case ARM::MVE_VADDVu8acc:
6308 case ARM::MVE_VADDVu16acc:
6309 case ARM::MVE_VADDVu32acc: {
6310 // op: Qm
6311 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6312 op &= UINT64_C(7);
6313 op <<= 1;
6314 Value |= op;
6315 // op: Rda
6316 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6317 op &= UINT64_C(14);
6318 op <<= 12;
6319 Value |= op;
6320 break;
6321 }
6322 case ARM::MVE_VMAXAVs8:
6323 case ARM::MVE_VMAXAVs16:
6324 case ARM::MVE_VMAXAVs32:
6325 case ARM::MVE_VMAXNMAVf16:
6326 case ARM::MVE_VMAXNMAVf32:
6327 case ARM::MVE_VMAXNMVf16:
6328 case ARM::MVE_VMAXNMVf32:
6329 case ARM::MVE_VMAXVs8:
6330 case ARM::MVE_VMAXVs16:
6331 case ARM::MVE_VMAXVs32:
6332 case ARM::MVE_VMAXVu8:
6333 case ARM::MVE_VMAXVu16:
6334 case ARM::MVE_VMAXVu32:
6335 case ARM::MVE_VMINAVs8:
6336 case ARM::MVE_VMINAVs16:
6337 case ARM::MVE_VMINAVs32:
6338 case ARM::MVE_VMINNMAVf16:
6339 case ARM::MVE_VMINNMAVf32:
6340 case ARM::MVE_VMINNMVf16:
6341 case ARM::MVE_VMINNMVf32:
6342 case ARM::MVE_VMINVs8:
6343 case ARM::MVE_VMINVs16:
6344 case ARM::MVE_VMINVs32:
6345 case ARM::MVE_VMINVu8:
6346 case ARM::MVE_VMINVu16:
6347 case ARM::MVE_VMINVu32: {
6348 // op: Qm
6349 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6350 op &= UINT64_C(7);
6351 op <<= 1;
6352 Value |= op;
6353 // op: RdaDest
6354 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6355 op &= UINT64_C(15);
6356 op <<= 12;
6357 Value |= op;
6358 break;
6359 }
6360 case ARM::MVE_VADDLVs32no_acc:
6361 case ARM::MVE_VADDLVu32no_acc: {
6362 // op: Qm
6363 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6364 op &= UINT64_C(7);
6365 op <<= 1;
6366 Value |= op;
6367 // op: RdaLo
6368 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6369 op &= UINT64_C(14);
6370 op <<= 12;
6371 Value |= op;
6372 // op: RdaHi
6373 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6374 op &= UINT64_C(14);
6375 op <<= 19;
6376 Value |= op;
6377 break;
6378 }
6379 case ARM::MVE_VFMAf16:
6380 case ARM::MVE_VFMAf32:
6381 case ARM::MVE_VFMSf16:
6382 case ARM::MVE_VFMSf32: {
6383 // op: Qm
6384 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6385 Value |= (op & UINT64_C(8)) << 2;
6386 Value |= (op & UINT64_C(7)) << 1;
6387 // op: Qd
6388 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6389 Value |= (op & UINT64_C(8)) << 19;
6390 Value |= (op & UINT64_C(7)) << 13;
6391 // op: Qn
6392 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6393 Value |= (op & UINT64_C(7)) << 17;
6394 Value |= (op & UINT64_C(8)) << 4;
6395 break;
6396 }
6397 case ARM::MVE_VCMLAf16:
6398 case ARM::MVE_VCMLAf32: {
6399 // op: Qm
6400 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6401 Value |= (op & UINT64_C(8)) << 2;
6402 Value |= (op & UINT64_C(7)) << 1;
6403 // op: Qd
6404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6405 Value |= (op & UINT64_C(8)) << 19;
6406 Value |= (op & UINT64_C(7)) << 13;
6407 // op: Qn
6408 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6409 Value |= (op & UINT64_C(7)) << 17;
6410 Value |= (op & UINT64_C(8)) << 4;
6411 // op: rot
6412 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
6413 op &= UINT64_C(3);
6414 op <<= 23;
6415 Value |= op;
6416 break;
6417 }
6418 case ARM::MVE_VABAVs8:
6419 case ARM::MVE_VABAVs16:
6420 case ARM::MVE_VABAVs32:
6421 case ARM::MVE_VABAVu8:
6422 case ARM::MVE_VABAVu16:
6423 case ARM::MVE_VABAVu32: {
6424 // op: Qm
6425 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6426 Value |= (op & UINT64_C(8)) << 2;
6427 Value |= (op & UINT64_C(7)) << 1;
6428 // op: Qn
6429 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6430 Value |= (op & UINT64_C(7)) << 17;
6431 Value |= (op & UINT64_C(8)) << 4;
6432 // op: Rda
6433 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6434 op &= UINT64_C(15);
6435 op <<= 12;
6436 Value |= op;
6437 break;
6438 }
6439 case ARM::MVE_VADDLVs32acc:
6440 case ARM::MVE_VADDLVu32acc: {
6441 // op: Qm
6442 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
6443 op &= UINT64_C(7);
6444 op <<= 1;
6445 Value |= op;
6446 // op: RdaLo
6447 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6448 op &= UINT64_C(14);
6449 op <<= 12;
6450 Value |= op;
6451 // op: RdaHi
6452 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6453 op &= UINT64_C(14);
6454 op <<= 19;
6455 Value |= op;
6456 break;
6457 }
6458 case ARM::MVE_VPSEL: {
6459 // op: Qn
6460 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6461 Value |= (op & UINT64_C(7)) << 17;
6462 Value |= (op & UINT64_C(8)) << 4;
6463 // op: Qd
6464 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6465 Value |= (op & UINT64_C(8)) << 19;
6466 Value |= (op & UINT64_C(7)) << 13;
6467 // op: Qm
6468 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6469 Value |= (op & UINT64_C(8)) << 2;
6470 Value |= (op & UINT64_C(7)) << 1;
6471 break;
6472 }
6473 case ARM::t2AUTG:
6474 case ARM::t2BXAUT: {
6475 // op: Ra
6476 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6477 op &= UINT64_C(15);
6478 op <<= 12;
6479 Value |= op;
6480 // op: Rn
6481 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6482 op &= UINT64_C(15);
6483 op <<= 16;
6484 Value |= op;
6485 // op: Rm
6486 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
6487 op &= UINT64_C(15);
6488 Value |= op;
6489 break;
6490 }
6491 case ARM::tMOVr: {
6492 // op: Rd
6493 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6494 Value |= (op & UINT64_C(8)) << 4;
6495 Value |= (op & UINT64_C(7));
6496 // op: Rm
6497 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6498 op &= UINT64_C(15);
6499 op <<= 3;
6500 Value |= op;
6501 break;
6502 }
6503 case ARM::t2STLEX: {
6504 // op: Rd
6505 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6506 op &= UINT64_C(15);
6507 Value |= op;
6508 // op: Rt
6509 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6510 op &= UINT64_C(15);
6511 op <<= 12;
6512 Value |= op;
6513 // op: addr
6514 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6515 op &= UINT64_C(15);
6516 op <<= 16;
6517 Value |= op;
6518 break;
6519 }
6520 case ARM::t2STLEXB:
6521 case ARM::t2STLEXH:
6522 case ARM::t2STREXB:
6523 case ARM::t2STREXH: {
6524 // op: Rd
6525 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6526 op &= UINT64_C(15);
6527 Value |= op;
6528 // op: addr
6529 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6530 op &= UINT64_C(15);
6531 op <<= 16;
6532 Value |= op;
6533 // op: Rt
6534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6535 op &= UINT64_C(15);
6536 op <<= 12;
6537 Value |= op;
6538 break;
6539 }
6540 case ARM::t2STLEXD:
6541 case ARM::t2STREXD: {
6542 // op: Rd
6543 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6544 op &= UINT64_C(15);
6545 Value |= op;
6546 // op: addr
6547 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6548 op &= UINT64_C(15);
6549 op <<= 16;
6550 Value |= op;
6551 // op: Rt
6552 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6553 op &= UINT64_C(15);
6554 op <<= 12;
6555 Value |= op;
6556 // op: Rt2
6557 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6558 op &= UINT64_C(15);
6559 op <<= 8;
6560 Value |= op;
6561 break;
6562 }
6563 case ARM::CRC32B:
6564 case ARM::CRC32CB:
6565 case ARM::CRC32CH:
6566 case ARM::CRC32CW:
6567 case ARM::CRC32H:
6568 case ARM::CRC32W: {
6569 // op: Rd
6570 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6571 op &= UINT64_C(15);
6572 op <<= 12;
6573 Value |= op;
6574 // op: Rn
6575 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6576 op &= UINT64_C(15);
6577 op <<= 16;
6578 Value |= op;
6579 // op: Rm
6580 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6581 op &= UINT64_C(15);
6582 Value |= op;
6583 break;
6584 }
6585 case ARM::t2MRS_AR:
6586 case ARM::t2MRSsys_AR: {
6587 // op: Rd
6588 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6589 op &= UINT64_C(15);
6590 op <<= 8;
6591 Value |= op;
6592 break;
6593 }
6594 case ARM::t2CLZ:
6595 case ARM::t2RBIT:
6596 case ARM::t2REV:
6597 case ARM::t2REV16:
6598 case ARM::t2REVSH: {
6599 // op: Rd
6600 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6601 op &= UINT64_C(15);
6602 op <<= 8;
6603 Value |= op;
6604 // op: Rm
6605 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6606 Value |= (op & UINT64_C(15)) << 16;
6607 Value |= (op & UINT64_C(15));
6608 break;
6609 }
6610 case ARM::t2ASRs1:
6611 case ARM::t2LSRs1: {
6612 // op: Rd
6613 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6614 op &= UINT64_C(15);
6615 op <<= 8;
6616 Value |= op;
6617 // op: Rm
6618 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6619 op &= UINT64_C(15);
6620 Value |= op;
6621 break;
6622 }
6623 case ARM::t2SXTB:
6624 case ARM::t2SXTB16:
6625 case ARM::t2SXTH:
6626 case ARM::t2UXTB:
6627 case ARM::t2UXTB16:
6628 case ARM::t2UXTH: {
6629 // op: Rd
6630 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6631 op &= UINT64_C(15);
6632 op <<= 8;
6633 Value |= op;
6634 // op: Rm
6635 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6636 op &= UINT64_C(15);
6637 Value |= op;
6638 // op: rot
6639 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6640 op &= UINT64_C(3);
6641 op <<= 4;
6642 Value |= op;
6643 break;
6644 }
6645 case ARM::t2CSEL:
6646 case ARM::t2CSINC:
6647 case ARM::t2CSINV:
6648 case ARM::t2CSNEG: {
6649 // op: Rd
6650 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6651 op &= UINT64_C(15);
6652 op <<= 8;
6653 Value |= op;
6654 // op: Rm
6655 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6656 op &= UINT64_C(15);
6657 Value |= op;
6658 // op: Rn
6659 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6660 op &= UINT64_C(15);
6661 op <<= 16;
6662 Value |= op;
6663 // op: fcond
6664 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6665 op &= UINT64_C(15);
6666 op <<= 4;
6667 Value |= op;
6668 break;
6669 }
6670 case ARM::t2CRC32B:
6671 case ARM::t2CRC32CB:
6672 case ARM::t2CRC32CH:
6673 case ARM::t2CRC32CW:
6674 case ARM::t2CRC32H:
6675 case ARM::t2CRC32W:
6676 case ARM::t2MUL:
6677 case ARM::t2QADD8:
6678 case ARM::t2QADD16:
6679 case ARM::t2QASX:
6680 case ARM::t2QSAX:
6681 case ARM::t2QSUB8:
6682 case ARM::t2QSUB16:
6683 case ARM::t2SADD8:
6684 case ARM::t2SADD16:
6685 case ARM::t2SASX:
6686 case ARM::t2SDIV:
6687 case ARM::t2SEL:
6688 case ARM::t2SHADD8:
6689 case ARM::t2SHADD16:
6690 case ARM::t2SHASX:
6691 case ARM::t2SHSAX:
6692 case ARM::t2SHSUB8:
6693 case ARM::t2SHSUB16:
6694 case ARM::t2SMMUL:
6695 case ARM::t2SMMULR:
6696 case ARM::t2SMUAD:
6697 case ARM::t2SMUADX:
6698 case ARM::t2SMULBB:
6699 case ARM::t2SMULBT:
6700 case ARM::t2SMULTB:
6701 case ARM::t2SMULTT:
6702 case ARM::t2SMULWB:
6703 case ARM::t2SMULWT:
6704 case ARM::t2SMUSD:
6705 case ARM::t2SMUSDX:
6706 case ARM::t2SSAX:
6707 case ARM::t2SSUB8:
6708 case ARM::t2SSUB16:
6709 case ARM::t2UADD8:
6710 case ARM::t2UADD16:
6711 case ARM::t2UASX:
6712 case ARM::t2UDIV:
6713 case ARM::t2UHADD8:
6714 case ARM::t2UHADD16:
6715 case ARM::t2UHASX:
6716 case ARM::t2UHSAX:
6717 case ARM::t2UHSUB8:
6718 case ARM::t2UHSUB16:
6719 case ARM::t2UQADD8:
6720 case ARM::t2UQADD16:
6721 case ARM::t2UQASX:
6722 case ARM::t2UQSAX:
6723 case ARM::t2UQSUB8:
6724 case ARM::t2UQSUB16:
6725 case ARM::t2USAD8:
6726 case ARM::t2USAX:
6727 case ARM::t2USUB8:
6728 case ARM::t2USUB16: {
6729 // op: Rd
6730 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6731 op &= UINT64_C(15);
6732 op <<= 8;
6733 Value |= op;
6734 // op: Rn
6735 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6736 op &= UINT64_C(15);
6737 op <<= 16;
6738 Value |= op;
6739 // op: Rm
6740 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6741 op &= UINT64_C(15);
6742 Value |= op;
6743 break;
6744 }
6745 case ARM::t2MLA:
6746 case ARM::t2MLS:
6747 case ARM::t2SMLABB:
6748 case ARM::t2SMLABT:
6749 case ARM::t2SMLAD:
6750 case ARM::t2SMLADX:
6751 case ARM::t2SMLATB:
6752 case ARM::t2SMLATT:
6753 case ARM::t2SMLAWB:
6754 case ARM::t2SMLAWT:
6755 case ARM::t2SMLSD:
6756 case ARM::t2SMLSDX:
6757 case ARM::t2SMMLA:
6758 case ARM::t2SMMLAR:
6759 case ARM::t2SMMLS:
6760 case ARM::t2SMMLSR:
6761 case ARM::t2USADA8: {
6762 // op: Rd
6763 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6764 op &= UINT64_C(15);
6765 op <<= 8;
6766 Value |= op;
6767 // op: Rn
6768 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6769 op &= UINT64_C(15);
6770 op <<= 16;
6771 Value |= op;
6772 // op: Rm
6773 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6774 op &= UINT64_C(15);
6775 Value |= op;
6776 // op: Ra
6777 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6778 op &= UINT64_C(15);
6779 op <<= 12;
6780 Value |= op;
6781 break;
6782 }
6783 case ARM::t2SXTAB:
6784 case ARM::t2SXTAB16:
6785 case ARM::t2SXTAH:
6786 case ARM::t2UXTAB:
6787 case ARM::t2UXTAB16:
6788 case ARM::t2UXTAH: {
6789 // op: Rd
6790 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6791 op &= UINT64_C(15);
6792 op <<= 8;
6793 Value |= op;
6794 // op: Rn
6795 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6796 op &= UINT64_C(15);
6797 op <<= 16;
6798 Value |= op;
6799 // op: Rm
6800 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6801 op &= UINT64_C(15);
6802 Value |= op;
6803 // op: rot
6804 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6805 op &= UINT64_C(3);
6806 op <<= 4;
6807 Value |= op;
6808 break;
6809 }
6810 case ARM::t2PKHBT:
6811 case ARM::t2PKHTB: {
6812 // op: Rd
6813 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6814 op &= UINT64_C(15);
6815 op <<= 8;
6816 Value |= op;
6817 // op: Rn
6818 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6819 op &= UINT64_C(15);
6820 op <<= 16;
6821 Value |= op;
6822 // op: Rm
6823 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6824 op &= UINT64_C(15);
6825 Value |= op;
6826 // op: sh
6827 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6828 Value |= (op & UINT64_C(28)) << 10;
6829 Value |= (op & UINT64_C(3)) << 6;
6830 break;
6831 }
6832 case ARM::t2ADDri12:
6833 case ARM::t2SUBri12: {
6834 // op: Rd
6835 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6836 op &= UINT64_C(15);
6837 op <<= 8;
6838 Value |= op;
6839 // op: Rn
6840 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6841 op &= UINT64_C(15);
6842 op <<= 16;
6843 Value |= op;
6844 // op: imm
6845 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6846 Value |= (op & UINT64_C(2048)) << 15;
6847 Value |= (op & UINT64_C(1792)) << 4;
6848 Value |= (op & UINT64_C(255));
6849 break;
6850 }
6851 case ARM::t2QADD:
6852 case ARM::t2QDADD:
6853 case ARM::t2QDSUB:
6854 case ARM::t2QSUB: {
6855 // op: Rd
6856 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6857 op &= UINT64_C(15);
6858 op <<= 8;
6859 Value |= op;
6860 // op: Rn
6861 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6862 op &= UINT64_C(15);
6863 op <<= 16;
6864 Value |= op;
6865 // op: Rm
6866 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6867 op &= UINT64_C(15);
6868 Value |= op;
6869 break;
6870 }
6871 case ARM::t2BFI: {
6872 // op: Rd
6873 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6874 op &= UINT64_C(15);
6875 op <<= 8;
6876 Value |= op;
6877 // op: Rn
6878 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6879 op &= UINT64_C(15);
6880 op <<= 16;
6881 Value |= op;
6882 // op: imm
6883 op = getBitfieldInvertedMaskOpValue(MI, Op: 3, Fixups, STI);
6884 Value |= (op & UINT64_C(28)) << 10;
6885 Value |= (op & UINT64_C(3)) << 6;
6886 Value |= (op & UINT64_C(992)) >> 5;
6887 break;
6888 }
6889 case ARM::t2SSAT16:
6890 case ARM::t2USAT16: {
6891 // op: Rd
6892 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6893 op &= UINT64_C(15);
6894 op <<= 8;
6895 Value |= op;
6896 // op: Rn
6897 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6898 op &= UINT64_C(15);
6899 op <<= 16;
6900 Value |= op;
6901 // op: sat_imm
6902 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6903 op &= UINT64_C(15);
6904 Value |= op;
6905 break;
6906 }
6907 case ARM::t2SSAT:
6908 case ARM::t2USAT: {
6909 // op: Rd
6910 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6911 op &= UINT64_C(15);
6912 op <<= 8;
6913 Value |= op;
6914 // op: Rn
6915 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
6916 op &= UINT64_C(15);
6917 op <<= 16;
6918 Value |= op;
6919 // op: sat_imm
6920 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6921 op &= UINT64_C(31);
6922 Value |= op;
6923 // op: sh
6924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6925 Value |= (op & UINT64_C(32)) << 16;
6926 Value |= (op & UINT64_C(28)) << 10;
6927 Value |= (op & UINT64_C(3)) << 6;
6928 break;
6929 }
6930 case ARM::t2PACG: {
6931 // op: Rd
6932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6933 op &= UINT64_C(15);
6934 op <<= 8;
6935 Value |= op;
6936 // op: Rn
6937 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
6938 op &= UINT64_C(15);
6939 op <<= 16;
6940 Value |= op;
6941 // op: Rm
6942 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
6943 op &= UINT64_C(15);
6944 Value |= op;
6945 break;
6946 }
6947 case ARM::t2STREX: {
6948 // op: Rd
6949 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6950 op &= UINT64_C(15);
6951 op <<= 8;
6952 Value |= op;
6953 // op: Rt
6954 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6955 op &= UINT64_C(15);
6956 op <<= 12;
6957 Value |= op;
6958 // op: addr
6959 op = getT2AddrModeImm0_1020s4OpValue(MI, OpIdx: 2, Fixups, STI);
6960 Value |= (op & UINT64_C(3840)) << 8;
6961 Value |= (op & UINT64_C(255));
6962 break;
6963 }
6964 case ARM::t2MRS_M: {
6965 // op: Rd
6966 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6967 op &= UINT64_C(15);
6968 op <<= 8;
6969 Value |= op;
6970 // op: SYSm
6971 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
6972 op &= UINT64_C(255);
6973 Value |= op;
6974 break;
6975 }
6976 case ARM::t2ADR: {
6977 // op: Rd
6978 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6979 op &= UINT64_C(15);
6980 op <<= 8;
6981 Value |= op;
6982 // op: addr
6983 op = getT2AdrLabelOpValue(MI, OpIdx: 1, Fixups, STI);
6984 Value |= (op & UINT64_C(2048)) << 15;
6985 Value |= (op & UINT64_C(4096)) << 11;
6986 Value |= (op & UINT64_C(4096)) << 9;
6987 Value |= (op & UINT64_C(1792)) << 4;
6988 Value |= (op & UINT64_C(255));
6989 break;
6990 }
6991 case ARM::t2BFC: {
6992 // op: Rd
6993 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
6994 op &= UINT64_C(15);
6995 op <<= 8;
6996 Value |= op;
6997 // op: imm
6998 op = getBitfieldInvertedMaskOpValue(MI, Op: 2, Fixups, STI);
6999 Value |= (op & UINT64_C(28)) << 10;
7000 Value |= (op & UINT64_C(3)) << 6;
7001 Value |= (op & UINT64_C(992)) >> 5;
7002 break;
7003 }
7004 case ARM::t2MOVi16: {
7005 // op: Rd
7006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7007 op &= UINT64_C(15);
7008 op <<= 8;
7009 Value |= op;
7010 // op: imm
7011 op = getHiLoImmOpValue(MI, OpIdx: 1, Fixups, STI);
7012 Value |= (op & UINT64_C(2048)) << 15;
7013 Value |= (op & UINT64_C(61440)) << 4;
7014 Value |= (op & UINT64_C(1792)) << 4;
7015 Value |= (op & UINT64_C(255));
7016 break;
7017 }
7018 case ARM::t2MOVTi16: {
7019 // op: Rd
7020 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7021 op &= UINT64_C(15);
7022 op <<= 8;
7023 Value |= op;
7024 // op: imm
7025 op = getHiLoImmOpValue(MI, OpIdx: 2, Fixups, STI);
7026 Value |= (op & UINT64_C(2048)) << 15;
7027 Value |= (op & UINT64_C(61440)) << 4;
7028 Value |= (op & UINT64_C(1792)) << 4;
7029 Value |= (op & UINT64_C(255));
7030 break;
7031 }
7032 case ARM::t2SBFX:
7033 case ARM::t2UBFX: {
7034 // op: Rd
7035 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7036 op &= UINT64_C(15);
7037 op <<= 8;
7038 Value |= op;
7039 // op: msb
7040 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7041 op &= UINT64_C(31);
7042 Value |= op;
7043 // op: lsb
7044 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7045 Value |= (op & UINT64_C(28)) << 10;
7046 Value |= (op & UINT64_C(3)) << 6;
7047 // op: Rn
7048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7049 op &= UINT64_C(15);
7050 op <<= 16;
7051 Value |= op;
7052 break;
7053 }
7054 case ARM::tMOVSr: {
7055 // op: Rd
7056 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7057 op &= UINT64_C(7);
7058 Value |= op;
7059 // op: Rm
7060 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7061 op &= UINT64_C(7);
7062 op <<= 3;
7063 Value |= op;
7064 break;
7065 }
7066 case ARM::tADDi3:
7067 case ARM::tSUBi3: {
7068 // op: Rd
7069 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7070 op &= UINT64_C(7);
7071 Value |= op;
7072 // op: Rm
7073 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7074 op &= UINT64_C(7);
7075 op <<= 3;
7076 Value |= op;
7077 // op: imm3
7078 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7079 op &= UINT64_C(7);
7080 op <<= 6;
7081 Value |= op;
7082 break;
7083 }
7084 case ARM::tASRri:
7085 case ARM::tLSLri:
7086 case ARM::tLSRri: {
7087 // op: Rd
7088 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7089 op &= UINT64_C(7);
7090 Value |= op;
7091 // op: Rm
7092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7093 op &= UINT64_C(7);
7094 op <<= 3;
7095 Value |= op;
7096 // op: imm5
7097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7098 op &= UINT64_C(31);
7099 op <<= 6;
7100 Value |= op;
7101 break;
7102 }
7103 case ARM::tMUL:
7104 case ARM::tMVN:
7105 case ARM::tRSB: {
7106 // op: Rd
7107 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7108 op &= UINT64_C(7);
7109 Value |= op;
7110 // op: Rn
7111 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7112 op &= UINT64_C(7);
7113 op <<= 3;
7114 Value |= op;
7115 break;
7116 }
7117 case ARM::tADR: {
7118 // op: Rd
7119 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7120 op &= UINT64_C(7);
7121 op <<= 8;
7122 Value |= op;
7123 // op: addr
7124 op = getThumbAdrLabelOpValue(MI, OpIdx: 1, Fixups, STI);
7125 op &= UINT64_C(255);
7126 Value |= op;
7127 break;
7128 }
7129 case ARM::tMOVi8: {
7130 // op: Rd
7131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7132 op &= UINT64_C(7);
7133 op <<= 8;
7134 Value |= op;
7135 // op: imm8
7136 op = getHiLoImmOpValue(MI, OpIdx: 2, Fixups, STI);
7137 op &= UINT64_C(255);
7138 Value |= op;
7139 break;
7140 }
7141 case ARM::t2SMLALD:
7142 case ARM::t2SMLALDX:
7143 case ARM::t2SMLSLD:
7144 case ARM::t2SMLSLDX: {
7145 // op: Rd
7146 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7147 op &= UINT64_C(15);
7148 op <<= 8;
7149 Value |= op;
7150 // op: Rn
7151 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7152 op &= UINT64_C(15);
7153 op <<= 16;
7154 Value |= op;
7155 // op: Rm
7156 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7157 op &= UINT64_C(15);
7158 Value |= op;
7159 // op: Ra
7160 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7161 op &= UINT64_C(15);
7162 op <<= 12;
7163 Value |= op;
7164 break;
7165 }
7166 case ARM::t2SMLAL:
7167 case ARM::t2SMLALBB:
7168 case ARM::t2SMLALBT:
7169 case ARM::t2SMLALTB:
7170 case ARM::t2SMLALTT:
7171 case ARM::t2SMULL:
7172 case ARM::t2UMAAL:
7173 case ARM::t2UMLAL:
7174 case ARM::t2UMULL: {
7175 // op: RdLo
7176 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7177 op &= UINT64_C(15);
7178 op <<= 12;
7179 Value |= op;
7180 // op: RdHi
7181 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7182 op &= UINT64_C(15);
7183 op <<= 8;
7184 Value |= op;
7185 // op: Rn
7186 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7187 op &= UINT64_C(15);
7188 op <<= 16;
7189 Value |= op;
7190 // op: Rm
7191 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7192 op &= UINT64_C(15);
7193 Value |= op;
7194 break;
7195 }
7196 case ARM::MVE_VMLADAVs8:
7197 case ARM::MVE_VMLADAVs16:
7198 case ARM::MVE_VMLADAVs32:
7199 case ARM::MVE_VMLADAVu8:
7200 case ARM::MVE_VMLADAVu16:
7201 case ARM::MVE_VMLADAVu32:
7202 case ARM::MVE_VMLADAVxs8:
7203 case ARM::MVE_VMLADAVxs16:
7204 case ARM::MVE_VMLADAVxs32:
7205 case ARM::MVE_VMLSDAVs8:
7206 case ARM::MVE_VMLSDAVs16:
7207 case ARM::MVE_VMLSDAVs32:
7208 case ARM::MVE_VMLSDAVxs8:
7209 case ARM::MVE_VMLSDAVxs16:
7210 case ARM::MVE_VMLSDAVxs32: {
7211 // op: RdaDest
7212 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7213 op &= UINT64_C(14);
7214 op <<= 12;
7215 Value |= op;
7216 // op: Qm
7217 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7218 op &= UINT64_C(7);
7219 op <<= 1;
7220 Value |= op;
7221 // op: Qn
7222 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7223 op &= UINT64_C(7);
7224 op <<= 17;
7225 Value |= op;
7226 break;
7227 }
7228 case ARM::MVE_VMLADAVas8:
7229 case ARM::MVE_VMLADAVas16:
7230 case ARM::MVE_VMLADAVas32:
7231 case ARM::MVE_VMLADAVau8:
7232 case ARM::MVE_VMLADAVau16:
7233 case ARM::MVE_VMLADAVau32:
7234 case ARM::MVE_VMLADAVaxs8:
7235 case ARM::MVE_VMLADAVaxs16:
7236 case ARM::MVE_VMLADAVaxs32:
7237 case ARM::MVE_VMLSDAVas8:
7238 case ARM::MVE_VMLSDAVas16:
7239 case ARM::MVE_VMLSDAVas32:
7240 case ARM::MVE_VMLSDAVaxs8:
7241 case ARM::MVE_VMLSDAVaxs16:
7242 case ARM::MVE_VMLSDAVaxs32: {
7243 // op: RdaDest
7244 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7245 op &= UINT64_C(14);
7246 op <<= 12;
7247 Value |= op;
7248 // op: Qm
7249 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7250 op &= UINT64_C(7);
7251 op <<= 1;
7252 Value |= op;
7253 // op: Qn
7254 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7255 op &= UINT64_C(7);
7256 op <<= 17;
7257 Value |= op;
7258 break;
7259 }
7260 case ARM::MVE_SQRSHR:
7261 case ARM::MVE_UQRSHL: {
7262 // op: RdaDest
7263 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7264 op &= UINT64_C(15);
7265 op <<= 16;
7266 Value |= op;
7267 // op: Rm
7268 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7269 op &= UINT64_C(15);
7270 op <<= 12;
7271 Value |= op;
7272 break;
7273 }
7274 case ARM::MVE_SQSHL:
7275 case ARM::MVE_SRSHR:
7276 case ARM::MVE_UQSHL:
7277 case ARM::MVE_URSHR: {
7278 // op: RdaDest
7279 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7280 op &= UINT64_C(15);
7281 op <<= 16;
7282 Value |= op;
7283 // op: imm
7284 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7285 Value |= (op & UINT64_C(28)) << 10;
7286 Value |= (op & UINT64_C(3)) << 6;
7287 break;
7288 }
7289 case ARM::MVE_ASRLr:
7290 case ARM::MVE_LSLLr: {
7291 // op: RdaLo
7292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7293 op &= UINT64_C(14);
7294 op <<= 16;
7295 Value |= op;
7296 // op: RdaHi
7297 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7298 op &= UINT64_C(14);
7299 op <<= 8;
7300 Value |= op;
7301 // op: Rm
7302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
7303 op &= UINT64_C(15);
7304 op <<= 12;
7305 Value |= op;
7306 break;
7307 }
7308 case ARM::MVE_SQRSHRL:
7309 case ARM::MVE_UQRSHLL: {
7310 // op: RdaLo
7311 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7312 op &= UINT64_C(14);
7313 op <<= 16;
7314 Value |= op;
7315 // op: RdaHi
7316 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7317 op &= UINT64_C(14);
7318 op <<= 8;
7319 Value |= op;
7320 // op: Rm
7321 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
7322 op &= UINT64_C(15);
7323 op <<= 12;
7324 Value |= op;
7325 // op: sat
7326 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
7327 op &= UINT64_C(1);
7328 op <<= 7;
7329 Value |= op;
7330 break;
7331 }
7332 case ARM::MVE_ASRLi:
7333 case ARM::MVE_LSLLi:
7334 case ARM::MVE_LSRL:
7335 case ARM::MVE_SQSHLL:
7336 case ARM::MVE_SRSHRL:
7337 case ARM::MVE_UQSHLL:
7338 case ARM::MVE_URSHRL: {
7339 // op: RdaLo
7340 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7341 op &= UINT64_C(14);
7342 op <<= 16;
7343 Value |= op;
7344 // op: RdaHi
7345 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7346 op &= UINT64_C(14);
7347 op <<= 8;
7348 Value |= op;
7349 // op: imm
7350 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
7351 Value |= (op & UINT64_C(28)) << 10;
7352 Value |= (op & UINT64_C(3)) << 6;
7353 break;
7354 }
7355 case ARM::MVE_VMLALDAVs16:
7356 case ARM::MVE_VMLALDAVs32:
7357 case ARM::MVE_VMLALDAVu16:
7358 case ARM::MVE_VMLALDAVu32:
7359 case ARM::MVE_VMLALDAVxs16:
7360 case ARM::MVE_VMLALDAVxs32:
7361 case ARM::MVE_VMLSLDAVs16:
7362 case ARM::MVE_VMLSLDAVs32:
7363 case ARM::MVE_VMLSLDAVxs16:
7364 case ARM::MVE_VMLSLDAVxs32:
7365 case ARM::MVE_VRMLALDAVHs32:
7366 case ARM::MVE_VRMLALDAVHu32:
7367 case ARM::MVE_VRMLALDAVHxs32:
7368 case ARM::MVE_VRMLSLDAVHs32:
7369 case ARM::MVE_VRMLSLDAVHxs32: {
7370 // op: RdaLoDest
7371 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7372 op &= UINT64_C(14);
7373 op <<= 12;
7374 Value |= op;
7375 // op: RdaHiDest
7376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7377 op &= UINT64_C(14);
7378 op <<= 19;
7379 Value |= op;
7380 // op: Qm
7381 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7382 op &= UINT64_C(7);
7383 op <<= 1;
7384 Value |= op;
7385 // op: Qn
7386 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7387 op &= UINT64_C(7);
7388 op <<= 17;
7389 Value |= op;
7390 break;
7391 }
7392 case ARM::MVE_VMLALDAVas16:
7393 case ARM::MVE_VMLALDAVas32:
7394 case ARM::MVE_VMLALDAVau16:
7395 case ARM::MVE_VMLALDAVau32:
7396 case ARM::MVE_VMLALDAVaxs16:
7397 case ARM::MVE_VMLALDAVaxs32:
7398 case ARM::MVE_VMLSLDAVas16:
7399 case ARM::MVE_VMLSLDAVas32:
7400 case ARM::MVE_VMLSLDAVaxs16:
7401 case ARM::MVE_VMLSLDAVaxs32:
7402 case ARM::MVE_VRMLALDAVHas32:
7403 case ARM::MVE_VRMLALDAVHau32:
7404 case ARM::MVE_VRMLALDAVHaxs32:
7405 case ARM::MVE_VRMLSLDAVHas32:
7406 case ARM::MVE_VRMLSLDAVHaxs32: {
7407 // op: RdaLoDest
7408 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7409 op &= UINT64_C(14);
7410 op <<= 12;
7411 Value |= op;
7412 // op: RdaHiDest
7413 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7414 op &= UINT64_C(14);
7415 op <<= 19;
7416 Value |= op;
7417 // op: Qm
7418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
7419 op &= UINT64_C(7);
7420 op <<= 1;
7421 Value |= op;
7422 // op: Qn
7423 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
7424 op &= UINT64_C(7);
7425 op <<= 17;
7426 Value |= op;
7427 break;
7428 }
7429 case ARM::tADDrSP: {
7430 // op: Rdn
7431 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7432 Value |= (op & UINT64_C(8)) << 4;
7433 Value |= (op & UINT64_C(7));
7434 break;
7435 }
7436 case ARM::tADDhirr: {
7437 // op: Rdn
7438 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7439 Value |= (op & UINT64_C(8)) << 4;
7440 Value |= (op & UINT64_C(7));
7441 // op: Rm
7442 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7443 op &= UINT64_C(15);
7444 op <<= 3;
7445 Value |= op;
7446 break;
7447 }
7448 case ARM::tADC:
7449 case ARM::tAND:
7450 case ARM::tASRrr:
7451 case ARM::tBIC:
7452 case ARM::tEOR:
7453 case ARM::tLSLrr:
7454 case ARM::tLSRrr:
7455 case ARM::tORR:
7456 case ARM::tROR:
7457 case ARM::tSBC: {
7458 // op: Rdn
7459 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7460 op &= UINT64_C(7);
7461 Value |= op;
7462 // op: Rm
7463 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7464 op &= UINT64_C(7);
7465 op <<= 3;
7466 Value |= op;
7467 break;
7468 }
7469 case ARM::tADDi8: {
7470 // op: Rdn
7471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7472 op &= UINT64_C(7);
7473 op <<= 8;
7474 Value |= op;
7475 // op: imm8
7476 op = getHiLoImmOpValue(MI, OpIdx: 3, Fixups, STI);
7477 op &= UINT64_C(255);
7478 Value |= op;
7479 break;
7480 }
7481 case ARM::tSUBi8: {
7482 // op: Rdn
7483 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7484 op &= UINT64_C(7);
7485 op <<= 8;
7486 Value |= op;
7487 // op: imm8
7488 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7489 op &= UINT64_C(255);
7490 Value |= op;
7491 break;
7492 }
7493 case ARM::tBX:
7494 case ARM::tBXNS: {
7495 // op: Rm
7496 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7497 op &= UINT64_C(15);
7498 op <<= 3;
7499 Value |= op;
7500 break;
7501 }
7502 case ARM::tCMPhir: {
7503 // op: Rm
7504 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7505 op &= UINT64_C(15);
7506 op <<= 3;
7507 Value |= op;
7508 // op: Rn
7509 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7510 Value |= (op & UINT64_C(8)) << 4;
7511 Value |= (op & UINT64_C(7));
7512 break;
7513 }
7514 case ARM::tREV:
7515 case ARM::tREV16:
7516 case ARM::tREVSH:
7517 case ARM::tSXTB:
7518 case ARM::tSXTH:
7519 case ARM::tUXTB:
7520 case ARM::tUXTH: {
7521 // op: Rm
7522 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7523 op &= UINT64_C(7);
7524 op <<= 3;
7525 Value |= op;
7526 // op: Rd
7527 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7528 op &= UINT64_C(7);
7529 Value |= op;
7530 break;
7531 }
7532 case ARM::tCMNz:
7533 case ARM::tCMPr:
7534 case ARM::tTST: {
7535 // op: Rm
7536 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7537 op &= UINT64_C(7);
7538 op <<= 3;
7539 Value |= op;
7540 // op: Rn
7541 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7542 op &= UINT64_C(7);
7543 Value |= op;
7544 break;
7545 }
7546 case ARM::tADDspr: {
7547 // op: Rm
7548 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7549 op &= UINT64_C(15);
7550 op <<= 3;
7551 Value |= op;
7552 break;
7553 }
7554 case ARM::tADDrr:
7555 case ARM::tSUBrr: {
7556 // op: Rm
7557 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7558 op &= UINT64_C(7);
7559 op <<= 6;
7560 Value |= op;
7561 // op: Rn
7562 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7563 op &= UINT64_C(7);
7564 op <<= 3;
7565 Value |= op;
7566 // op: Rd
7567 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7568 op &= UINT64_C(7);
7569 Value |= op;
7570 break;
7571 }
7572 case ARM::RFEDA:
7573 case ARM::RFEDA_UPD:
7574 case ARM::RFEDB:
7575 case ARM::RFEDB_UPD:
7576 case ARM::RFEIA:
7577 case ARM::RFEIA_UPD:
7578 case ARM::RFEIB:
7579 case ARM::RFEIB_UPD:
7580 case ARM::VLLDM:
7581 case ARM::VLLDM_T2:
7582 case ARM::VLSTM:
7583 case ARM::VLSTM_T2:
7584 case ARM::t2RFEDB:
7585 case ARM::t2RFEDBW:
7586 case ARM::t2RFEIA:
7587 case ARM::t2RFEIAW: {
7588 // op: Rn
7589 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7590 op &= UINT64_C(15);
7591 op <<= 16;
7592 Value |= op;
7593 break;
7594 }
7595 case ARM::t2CMNzrr:
7596 case ARM::t2CMPrr:
7597 case ARM::t2TBB:
7598 case ARM::t2TBH:
7599 case ARM::t2TEQrr:
7600 case ARM::t2TSTrr: {
7601 // op: Rn
7602 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7603 op &= UINT64_C(15);
7604 op <<= 16;
7605 Value |= op;
7606 // op: Rm
7607 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7608 op &= UINT64_C(15);
7609 Value |= op;
7610 break;
7611 }
7612 case ARM::t2CMNzrs:
7613 case ARM::t2CMPrs:
7614 case ARM::t2TEQrs:
7615 case ARM::t2TSTrs: {
7616 // op: Rn
7617 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7618 op &= UINT64_C(15);
7619 op <<= 16;
7620 Value |= op;
7621 // op: ShiftedRm
7622 op = getT2SORegOpValue(MI, OpIdx: 1, Fixups, STI);
7623 Value |= (op & UINT64_C(3584)) << 3;
7624 Value |= (op & UINT64_C(480)) >> 1;
7625 Value |= (op & UINT64_C(15));
7626 break;
7627 }
7628 case ARM::t2CMNri:
7629 case ARM::t2CMPri:
7630 case ARM::t2TEQri:
7631 case ARM::t2TSTri: {
7632 // op: Rn
7633 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7634 op &= UINT64_C(15);
7635 op <<= 16;
7636 Value |= op;
7637 // op: imm
7638 op = getT2SOImmOpValue(MI, Op: 1, Fixups, STI);
7639 Value |= (op & UINT64_C(2048)) << 15;
7640 Value |= (op & UINT64_C(1792)) << 4;
7641 Value |= (op & UINT64_C(255));
7642 break;
7643 }
7644 case ARM::t2STMDB:
7645 case ARM::t2STMIA: {
7646 // op: Rn
7647 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7648 op &= UINT64_C(15);
7649 op <<= 16;
7650 Value |= op;
7651 // op: regs
7652 op = getRegisterListOpValue(MI, Op: 3, Fixups, STI);
7653 Value |= (op & UINT64_C(16384));
7654 Value |= (op & UINT64_C(8191));
7655 break;
7656 }
7657 case ARM::t2LDMDB:
7658 case ARM::t2LDMIA: {
7659 // op: Rn
7660 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7661 op &= UINT64_C(15);
7662 op <<= 16;
7663 Value |= op;
7664 // op: regs
7665 op = getRegisterListOpValue(MI, Op: 3, Fixups, STI);
7666 op &= UINT64_C(65535);
7667 Value |= op;
7668 break;
7669 }
7670 case ARM::tCMPi8: {
7671 // op: Rn
7672 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7673 op &= UINT64_C(7);
7674 op <<= 8;
7675 Value |= op;
7676 // op: imm8
7677 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7678 op &= UINT64_C(255);
7679 Value |= op;
7680 break;
7681 }
7682 case ARM::tLDMIA: {
7683 // op: Rn
7684 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7685 op &= UINT64_C(7);
7686 op <<= 8;
7687 Value |= op;
7688 // op: regs
7689 op = getRegisterListOpValue(MI, Op: 3, Fixups, STI);
7690 op &= UINT64_C(255);
7691 Value |= op;
7692 break;
7693 }
7694 case ARM::MVE_DLSTP_8:
7695 case ARM::MVE_DLSTP_16:
7696 case ARM::MVE_DLSTP_32:
7697 case ARM::MVE_DLSTP_64:
7698 case ARM::MVE_VCTP8:
7699 case ARM::MVE_VCTP16:
7700 case ARM::MVE_VCTP32:
7701 case ARM::MVE_VCTP64:
7702 case ARM::t2DLS: {
7703 // op: Rn
7704 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7705 op &= UINT64_C(15);
7706 op <<= 16;
7707 Value |= op;
7708 break;
7709 }
7710 case ARM::t2TT:
7711 case ARM::t2TTA:
7712 case ARM::t2TTAT:
7713 case ARM::t2TTT: {
7714 // op: Rn
7715 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7716 op &= UINT64_C(15);
7717 op <<= 16;
7718 Value |= op;
7719 // op: Rt
7720 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7721 op &= UINT64_C(15);
7722 op <<= 8;
7723 Value |= op;
7724 break;
7725 }
7726 case ARM::MVE_WLSTP_8:
7727 case ARM::MVE_WLSTP_16:
7728 case ARM::MVE_WLSTP_32:
7729 case ARM::MVE_WLSTP_64:
7730 case ARM::t2WLS: {
7731 // op: Rn
7732 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7733 op &= UINT64_C(15);
7734 op <<= 16;
7735 Value |= op;
7736 // op: label
7737 op = getBFTargetOpValue<false, ARM::fixup_wls>(MI, OpIdx: 2, Fixups, STI);
7738 Value |= (op & UINT64_C(1)) << 11;
7739 Value |= (op & UINT64_C(2046));
7740 break;
7741 }
7742 case ARM::t2STMDB_UPD:
7743 case ARM::t2STMIA_UPD: {
7744 // op: Rn
7745 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7746 op &= UINT64_C(15);
7747 op <<= 16;
7748 Value |= op;
7749 // op: regs
7750 op = getRegisterListOpValue(MI, Op: 4, Fixups, STI);
7751 Value |= (op & UINT64_C(16384));
7752 Value |= (op & UINT64_C(8191));
7753 break;
7754 }
7755 case ARM::t2LDMDB_UPD:
7756 case ARM::t2LDMIA_UPD: {
7757 // op: Rn
7758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7759 op &= UINT64_C(15);
7760 op <<= 16;
7761 Value |= op;
7762 // op: regs
7763 op = getRegisterListOpValue(MI, Op: 4, Fixups, STI);
7764 op &= UINT64_C(65535);
7765 Value |= op;
7766 break;
7767 }
7768 case ARM::tSTMIA_UPD: {
7769 // op: Rn
7770 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7771 op &= UINT64_C(7);
7772 op <<= 8;
7773 Value |= op;
7774 // op: regs
7775 op = getRegisterListOpValue(MI, Op: 4, Fixups, STI);
7776 op &= UINT64_C(255);
7777 Value |= op;
7778 break;
7779 }
7780 case ARM::MVE_VMOV_rr_q: {
7781 // op: Rt
7782 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7783 op &= UINT64_C(15);
7784 Value |= op;
7785 // op: Rt2
7786 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7787 op &= UINT64_C(15);
7788 op <<= 16;
7789 Value |= op;
7790 // op: Qd
7791 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7792 Value |= (op & UINT64_C(8)) << 19;
7793 Value |= (op & UINT64_C(7)) << 13;
7794 // op: idx2
7795 op = getMVEPairVectorIndexOpValue<0>(MI, OpIdx: 4, Fixups, STI);
7796 op &= UINT64_C(1);
7797 op <<= 4;
7798 Value |= op;
7799 break;
7800 }
7801 case ARM::t2LDRB_POST:
7802 case ARM::t2LDRH_POST:
7803 case ARM::t2LDRSB_POST:
7804 case ARM::t2LDRSH_POST:
7805 case ARM::t2LDR_POST: {
7806 // op: Rt
7807 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7808 op &= UINT64_C(15);
7809 op <<= 12;
7810 Value |= op;
7811 // op: Rn
7812 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7813 op &= UINT64_C(15);
7814 op <<= 16;
7815 Value |= op;
7816 // op: offset
7817 op = getT2AddrModeImm8OffsetOpValue(MI, OpNum: 3, Fixups, STI);
7818 Value |= (op & UINT64_C(256)) << 1;
7819 Value |= (op & UINT64_C(255));
7820 break;
7821 }
7822 case ARM::MRRC2:
7823 case ARM::t2MRRC:
7824 case ARM::t2MRRC2: {
7825 // op: Rt
7826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7827 op &= UINT64_C(15);
7828 op <<= 12;
7829 Value |= op;
7830 // op: Rt2
7831 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7832 op &= UINT64_C(15);
7833 op <<= 16;
7834 Value |= op;
7835 // op: cop
7836 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
7837 op &= UINT64_C(15);
7838 op <<= 8;
7839 Value |= op;
7840 // op: opc1
7841 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7842 op &= UINT64_C(15);
7843 op <<= 4;
7844 Value |= op;
7845 // op: CRm
7846 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
7847 op &= UINT64_C(15);
7848 Value |= op;
7849 break;
7850 }
7851 case ARM::t2LDRD_POST: {
7852 // op: Rt
7853 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7854 op &= UINT64_C(15);
7855 op <<= 12;
7856 Value |= op;
7857 // op: Rt2
7858 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7859 op &= UINT64_C(15);
7860 op <<= 8;
7861 Value |= op;
7862 // op: addr
7863 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
7864 op &= UINT64_C(15);
7865 op <<= 16;
7866 Value |= op;
7867 // op: imm
7868 op = getT2ScaledImmOpValue<8,2>(MI, OpIdx: 4, Fixups, STI);
7869 Value |= (op & UINT64_C(256)) << 15;
7870 Value |= (op & UINT64_C(255));
7871 break;
7872 }
7873 case ARM::t2LDRDi8:
7874 case ARM::t2STRDi8: {
7875 // op: Rt
7876 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7877 op &= UINT64_C(15);
7878 op <<= 12;
7879 Value |= op;
7880 // op: Rt2
7881 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7882 op &= UINT64_C(15);
7883 op <<= 8;
7884 Value |= op;
7885 // op: addr
7886 op = getT2AddrModeImm8s4OpValue(MI, OpIdx: 2, Fixups, STI);
7887 Value |= (op & UINT64_C(256)) << 15;
7888 Value |= (op & UINT64_C(7680)) << 7;
7889 Value |= (op & UINT64_C(255));
7890 break;
7891 }
7892 case ARM::t2LDRD_PRE: {
7893 // op: Rt
7894 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7895 op &= UINT64_C(15);
7896 op <<= 12;
7897 Value |= op;
7898 // op: Rt2
7899 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7900 op &= UINT64_C(15);
7901 op <<= 8;
7902 Value |= op;
7903 // op: addr
7904 op = getT2AddrModeImm8s4OpValue(MI, OpIdx: 3, Fixups, STI);
7905 Value |= (op & UINT64_C(256)) << 15;
7906 Value |= (op & UINT64_C(7680)) << 7;
7907 Value |= (op & UINT64_C(255));
7908 break;
7909 }
7910 case ARM::t2LDRBi12:
7911 case ARM::t2LDRHi12:
7912 case ARM::t2LDRSBi12:
7913 case ARM::t2LDRSHi12:
7914 case ARM::t2LDRi12:
7915 case ARM::t2STRBi12:
7916 case ARM::t2STRHi12:
7917 case ARM::t2STRi12: {
7918 // op: Rt
7919 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7920 op &= UINT64_C(15);
7921 op <<= 12;
7922 Value |= op;
7923 // op: addr
7924 op = getAddrModeImm12OpValue(MI, OpIdx: 1, Fixups, STI);
7925 Value |= (op & UINT64_C(122880)) << 3;
7926 Value |= (op & UINT64_C(4095));
7927 break;
7928 }
7929 case ARM::t2LDRBpci:
7930 case ARM::t2LDRHpci:
7931 case ARM::t2LDRSBpci:
7932 case ARM::t2LDRSHpci:
7933 case ARM::t2LDRpci: {
7934 // op: Rt
7935 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7936 op &= UINT64_C(15);
7937 op <<= 12;
7938 Value |= op;
7939 // op: addr
7940 op = getAddrModeImm12OpValue(MI, OpIdx: 1, Fixups, STI);
7941 Value |= (op & UINT64_C(4096)) << 11;
7942 Value |= (op & UINT64_C(4095));
7943 break;
7944 }
7945 case ARM::t2LDA:
7946 case ARM::t2LDAB:
7947 case ARM::t2LDAEX:
7948 case ARM::t2LDAH:
7949 case ARM::t2STL:
7950 case ARM::t2STLB:
7951 case ARM::t2STLH: {
7952 // op: Rt
7953 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7954 op &= UINT64_C(15);
7955 op <<= 12;
7956 Value |= op;
7957 // op: addr
7958 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
7959 op &= UINT64_C(15);
7960 op <<= 16;
7961 Value |= op;
7962 break;
7963 }
7964 case ARM::t2LDREX: {
7965 // op: Rt
7966 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7967 op &= UINT64_C(15);
7968 op <<= 12;
7969 Value |= op;
7970 // op: addr
7971 op = getT2AddrModeImm0_1020s4OpValue(MI, OpIdx: 1, Fixups, STI);
7972 Value |= (op & UINT64_C(3840)) << 8;
7973 Value |= (op & UINT64_C(255));
7974 break;
7975 }
7976 case ARM::t2LDRBT:
7977 case ARM::t2LDRHT:
7978 case ARM::t2LDRSBT:
7979 case ARM::t2LDRSHT:
7980 case ARM::t2LDRT:
7981 case ARM::t2STRBT:
7982 case ARM::t2STRHT:
7983 case ARM::t2STRT: {
7984 // op: Rt
7985 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
7986 op &= UINT64_C(15);
7987 op <<= 12;
7988 Value |= op;
7989 // op: addr
7990 op = getT2AddrModeImmOpValue<8,0>(MI, OpNum: 1, Fixups, STI);
7991 Value |= (op & UINT64_C(7680)) << 7;
7992 Value |= (op & UINT64_C(255));
7993 break;
7994 }
7995 case ARM::t2LDRBi8:
7996 case ARM::t2LDRHi8:
7997 case ARM::t2LDRSBi8:
7998 case ARM::t2LDRSHi8:
7999 case ARM::t2LDRi8:
8000 case ARM::t2STRBi8:
8001 case ARM::t2STRHi8:
8002 case ARM::t2STRi8: {
8003 // op: Rt
8004 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8005 op &= UINT64_C(15);
8006 op <<= 12;
8007 Value |= op;
8008 // op: addr
8009 op = getT2AddrModeImmOpValue<8,0>(MI, OpNum: 1, Fixups, STI);
8010 Value |= (op & UINT64_C(7680)) << 7;
8011 Value |= (op & UINT64_C(256)) << 1;
8012 Value |= (op & UINT64_C(255));
8013 break;
8014 }
8015 case ARM::t2LDRB_PRE:
8016 case ARM::t2LDRH_PRE:
8017 case ARM::t2LDRSB_PRE:
8018 case ARM::t2LDRSH_PRE:
8019 case ARM::t2LDR_PRE: {
8020 // op: Rt
8021 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8022 op &= UINT64_C(15);
8023 op <<= 12;
8024 Value |= op;
8025 // op: addr
8026 op = getT2AddrModeImmOpValue<8,0>(MI, OpNum: 2, Fixups, STI);
8027 Value |= (op & UINT64_C(7680)) << 7;
8028 Value |= (op & UINT64_C(256)) << 1;
8029 Value |= (op & UINT64_C(255));
8030 break;
8031 }
8032 case ARM::t2LDRBs:
8033 case ARM::t2LDRHs:
8034 case ARM::t2LDRSBs:
8035 case ARM::t2LDRSHs:
8036 case ARM::t2LDRs:
8037 case ARM::t2STRBs:
8038 case ARM::t2STRHs:
8039 case ARM::t2STRs: {
8040 // op: Rt
8041 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8042 op &= UINT64_C(15);
8043 op <<= 12;
8044 Value |= op;
8045 // op: addr
8046 op = getT2AddrModeSORegOpValue(MI, OpNum: 1, Fixups, STI);
8047 Value |= (op & UINT64_C(960)) << 10;
8048 Value |= (op & UINT64_C(3)) << 4;
8049 Value |= (op & UINT64_C(60)) >> 2;
8050 break;
8051 }
8052 case ARM::MRC2:
8053 case ARM::t2MRC:
8054 case ARM::t2MRC2: {
8055 // op: Rt
8056 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8057 op &= UINT64_C(15);
8058 op <<= 12;
8059 Value |= op;
8060 // op: cop
8061 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8062 op &= UINT64_C(15);
8063 op <<= 8;
8064 Value |= op;
8065 // op: opc1
8066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8067 op &= UINT64_C(7);
8068 op <<= 21;
8069 Value |= op;
8070 // op: opc2
8071 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
8072 op &= UINT64_C(7);
8073 op <<= 5;
8074 Value |= op;
8075 // op: CRm
8076 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8077 op &= UINT64_C(15);
8078 Value |= op;
8079 // op: CRn
8080 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8081 op &= UINT64_C(15);
8082 op <<= 16;
8083 Value |= op;
8084 break;
8085 }
8086 case ARM::tLDRBi:
8087 case ARM::tLDRHi:
8088 case ARM::tLDRi:
8089 case ARM::tSTRBi:
8090 case ARM::tSTRHi:
8091 case ARM::tSTRi: {
8092 // op: Rt
8093 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8094 op &= UINT64_C(7);
8095 Value |= op;
8096 // op: addr
8097 op = getAddrModeISOpValue(MI, OpIdx: 1, Fixups, STI);
8098 op &= UINT64_C(255);
8099 op <<= 3;
8100 Value |= op;
8101 break;
8102 }
8103 case ARM::tLDRBr:
8104 case ARM::tLDRHr:
8105 case ARM::tLDRSB:
8106 case ARM::tLDRSH:
8107 case ARM::tLDRr:
8108 case ARM::tSTRBr:
8109 case ARM::tSTRHr:
8110 case ARM::tSTRr: {
8111 // op: Rt
8112 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8113 op &= UINT64_C(7);
8114 Value |= op;
8115 // op: addr
8116 op = getThumbAddrModeRegRegOpValue(MI, OpIdx: 1, Fixups, STI);
8117 op &= UINT64_C(63);
8118 op <<= 3;
8119 Value |= op;
8120 break;
8121 }
8122 case ARM::tLDRpci: {
8123 // op: Rt
8124 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8125 op &= UINT64_C(7);
8126 op <<= 8;
8127 Value |= op;
8128 // op: addr
8129 op = getAddrModePCOpValue(MI, OpIdx: 1, Fixups, STI);
8130 op &= UINT64_C(255);
8131 Value |= op;
8132 break;
8133 }
8134 case ARM::tLDRspi:
8135 case ARM::tSTRspi: {
8136 // op: Rt
8137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8138 op &= UINT64_C(7);
8139 op <<= 8;
8140 Value |= op;
8141 // op: addr
8142 op = getAddrModeThumbSPOpValue(MI, OpIdx: 1, Fixups, STI);
8143 op &= UINT64_C(255);
8144 Value |= op;
8145 break;
8146 }
8147 case ARM::t2STRB_POST:
8148 case ARM::t2STRH_POST:
8149 case ARM::t2STR_POST: {
8150 // op: Rt
8151 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8152 op &= UINT64_C(15);
8153 op <<= 12;
8154 Value |= op;
8155 // op: Rn
8156 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8157 op &= UINT64_C(15);
8158 op <<= 16;
8159 Value |= op;
8160 // op: offset
8161 op = getT2AddrModeImm8OffsetOpValue(MI, OpNum: 3, Fixups, STI);
8162 Value |= (op & UINT64_C(256)) << 1;
8163 Value |= (op & UINT64_C(255));
8164 break;
8165 }
8166 case ARM::t2STRD_POST: {
8167 // op: Rt
8168 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8169 op &= UINT64_C(15);
8170 op <<= 12;
8171 Value |= op;
8172 // op: Rt2
8173 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8174 op &= UINT64_C(15);
8175 op <<= 8;
8176 Value |= op;
8177 // op: addr
8178 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8179 op &= UINT64_C(15);
8180 op <<= 16;
8181 Value |= op;
8182 // op: imm
8183 op = getT2ScaledImmOpValue<8,2>(MI, OpIdx: 4, Fixups, STI);
8184 Value |= (op & UINT64_C(256)) << 15;
8185 Value |= (op & UINT64_C(255));
8186 break;
8187 }
8188 case ARM::t2STRD_PRE: {
8189 // op: Rt
8190 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8191 op &= UINT64_C(15);
8192 op <<= 12;
8193 Value |= op;
8194 // op: Rt2
8195 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8196 op &= UINT64_C(15);
8197 op <<= 8;
8198 Value |= op;
8199 // op: addr
8200 op = getT2AddrModeImm8s4OpValue(MI, OpIdx: 3, Fixups, STI);
8201 Value |= (op & UINT64_C(256)) << 15;
8202 Value |= (op & UINT64_C(7680)) << 7;
8203 Value |= (op & UINT64_C(255));
8204 break;
8205 }
8206 case ARM::t2STRB_PRE:
8207 case ARM::t2STRH_PRE:
8208 case ARM::t2STR_PRE: {
8209 // op: Rt
8210 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8211 op &= UINT64_C(15);
8212 op <<= 12;
8213 Value |= op;
8214 // op: addr
8215 op = getT2AddrModeImmOpValue<8,0>(MI, OpNum: 2, Fixups, STI);
8216 Value |= (op & UINT64_C(7680)) << 7;
8217 Value |= (op & UINT64_C(256)) << 1;
8218 Value |= (op & UINT64_C(255));
8219 break;
8220 }
8221 case ARM::MVE_VMOV_q_rr: {
8222 // op: Rt
8223 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8224 op &= UINT64_C(15);
8225 Value |= op;
8226 // op: Rt2
8227 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8228 op &= UINT64_C(15);
8229 op <<= 16;
8230 Value |= op;
8231 // op: Qd
8232 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8233 Value |= (op & UINT64_C(8)) << 19;
8234 Value |= (op & UINT64_C(7)) << 13;
8235 // op: idx2
8236 op = getMVEPairVectorIndexOpValue<0>(MI, OpIdx: 5, Fixups, STI);
8237 op &= UINT64_C(1);
8238 op <<= 4;
8239 Value |= op;
8240 break;
8241 }
8242 case ARM::MCRR2:
8243 case ARM::t2MCRR:
8244 case ARM::t2MCRR2: {
8245 // op: Rt
8246 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8247 op &= UINT64_C(15);
8248 op <<= 12;
8249 Value |= op;
8250 // op: Rt2
8251 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8252 op &= UINT64_C(15);
8253 op <<= 16;
8254 Value |= op;
8255 // op: cop
8256 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8257 op &= UINT64_C(15);
8258 op <<= 8;
8259 Value |= op;
8260 // op: opc1
8261 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8262 op &= UINT64_C(15);
8263 op <<= 4;
8264 Value |= op;
8265 // op: CRm
8266 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8267 op &= UINT64_C(15);
8268 Value |= op;
8269 break;
8270 }
8271 case ARM::MCR2:
8272 case ARM::t2MCR:
8273 case ARM::t2MCR2: {
8274 // op: Rt
8275 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8276 op &= UINT64_C(15);
8277 op <<= 12;
8278 Value |= op;
8279 // op: cop
8280 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8281 op &= UINT64_C(15);
8282 op <<= 8;
8283 Value |= op;
8284 // op: opc1
8285 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8286 op &= UINT64_C(7);
8287 op <<= 21;
8288 Value |= op;
8289 // op: opc2
8290 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
8291 op &= UINT64_C(7);
8292 op <<= 5;
8293 Value |= op;
8294 // op: CRm
8295 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8296 op &= UINT64_C(15);
8297 Value |= op;
8298 // op: CRn
8299 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8300 op &= UINT64_C(15);
8301 op <<= 16;
8302 Value |= op;
8303 break;
8304 }
8305 case ARM::t2MSR_M: {
8306 // op: SYSm
8307 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8308 Value |= (op & UINT64_C(3072));
8309 Value |= (op & UINT64_C(255));
8310 // op: Rn
8311 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8312 op &= UINT64_C(15);
8313 op <<= 16;
8314 Value |= op;
8315 break;
8316 }
8317 case ARM::VCVTASD:
8318 case ARM::VCVTAUD:
8319 case ARM::VCVTMSD:
8320 case ARM::VCVTMUD:
8321 case ARM::VCVTNSD:
8322 case ARM::VCVTNUD:
8323 case ARM::VCVTPSD:
8324 case ARM::VCVTPUD: {
8325 // op: Sd
8326 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8327 Value |= (op & UINT64_C(1)) << 22;
8328 Value |= (op & UINT64_C(30)) << 11;
8329 // op: Dm
8330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8331 Value |= (op & UINT64_C(16)) << 1;
8332 Value |= (op & UINT64_C(15));
8333 break;
8334 }
8335 case ARM::VCVTASH:
8336 case ARM::VCVTASS:
8337 case ARM::VCVTAUH:
8338 case ARM::VCVTAUS:
8339 case ARM::VCVTMSH:
8340 case ARM::VCVTMSS:
8341 case ARM::VCVTMUH:
8342 case ARM::VCVTMUS:
8343 case ARM::VCVTNSH:
8344 case ARM::VCVTNSS:
8345 case ARM::VCVTNUH:
8346 case ARM::VCVTNUS:
8347 case ARM::VCVTPSH:
8348 case ARM::VCVTPSS:
8349 case ARM::VCVTPUH:
8350 case ARM::VCVTPUS:
8351 case ARM::VMOVH:
8352 case ARM::VRINTAH:
8353 case ARM::VRINTAS:
8354 case ARM::VRINTMH:
8355 case ARM::VRINTMS:
8356 case ARM::VRINTNH:
8357 case ARM::VRINTNS:
8358 case ARM::VRINTPH:
8359 case ARM::VRINTPS: {
8360 // op: Sd
8361 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8362 Value |= (op & UINT64_C(1)) << 22;
8363 Value |= (op & UINT64_C(30)) << 11;
8364 // op: Sm
8365 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8366 Value |= (op & UINT64_C(1)) << 5;
8367 Value |= (op & UINT64_C(30)) >> 1;
8368 break;
8369 }
8370 case ARM::VINSH: {
8371 // op: Sd
8372 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8373 Value |= (op & UINT64_C(1)) << 22;
8374 Value |= (op & UINT64_C(30)) << 11;
8375 // op: Sm
8376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8377 Value |= (op & UINT64_C(1)) << 5;
8378 Value |= (op & UINT64_C(30)) >> 1;
8379 break;
8380 }
8381 case ARM::VFP_VMAXNMH:
8382 case ARM::VFP_VMAXNMS:
8383 case ARM::VFP_VMINNMH:
8384 case ARM::VFP_VMINNMS:
8385 case ARM::VSELEQH:
8386 case ARM::VSELEQS:
8387 case ARM::VSELGEH:
8388 case ARM::VSELGES:
8389 case ARM::VSELGTH:
8390 case ARM::VSELGTS:
8391 case ARM::VSELVSH:
8392 case ARM::VSELVSS: {
8393 // op: Sd
8394 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8395 Value |= (op & UINT64_C(1)) << 22;
8396 Value |= (op & UINT64_C(30)) << 11;
8397 // op: Sn
8398 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8399 Value |= (op & UINT64_C(30)) << 15;
8400 Value |= (op & UINT64_C(1)) << 7;
8401 // op: Sm
8402 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8403 Value |= (op & UINT64_C(1)) << 5;
8404 Value |= (op & UINT64_C(30)) >> 1;
8405 break;
8406 }
8407 case ARM::VDUP8d:
8408 case ARM::VDUP8q:
8409 case ARM::VDUP16d:
8410 case ARM::VDUP16q:
8411 case ARM::VDUP32d:
8412 case ARM::VDUP32q: {
8413 // op: V
8414 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8415 Value |= (op & UINT64_C(15)) << 16;
8416 Value |= (op & UINT64_C(16)) << 3;
8417 // op: R
8418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8419 op &= UINT64_C(15);
8420 op <<= 12;
8421 Value |= op;
8422 // op: p
8423 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8424 op &= UINT64_C(15);
8425 op <<= 28;
8426 Value |= op;
8427 Value = NEONThumb2DupPostEncoder(MI, EncodedValue: Value, STI);
8428 break;
8429 }
8430 case ARM::VSETLNi16: {
8431 // op: V
8432 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8433 Value |= (op & UINT64_C(15)) << 16;
8434 Value |= (op & UINT64_C(16)) << 3;
8435 // op: R
8436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8437 op &= UINT64_C(15);
8438 op <<= 12;
8439 Value |= op;
8440 // op: p
8441 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8442 op &= UINT64_C(15);
8443 op <<= 28;
8444 Value |= op;
8445 // op: lane
8446 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8447 Value |= (op & UINT64_C(2)) << 20;
8448 Value |= (op & UINT64_C(1)) << 6;
8449 Value = NEONThumb2DupPostEncoder(MI, EncodedValue: Value, STI);
8450 break;
8451 }
8452 case ARM::VSETLNi8: {
8453 // op: V
8454 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8455 Value |= (op & UINT64_C(15)) << 16;
8456 Value |= (op & UINT64_C(16)) << 3;
8457 // op: R
8458 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8459 op &= UINT64_C(15);
8460 op <<= 12;
8461 Value |= op;
8462 // op: p
8463 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8464 op &= UINT64_C(15);
8465 op <<= 28;
8466 Value |= op;
8467 // op: lane
8468 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8469 Value |= (op & UINT64_C(4)) << 19;
8470 Value |= (op & UINT64_C(3)) << 5;
8471 Value = NEONThumb2DupPostEncoder(MI, EncodedValue: Value, STI);
8472 break;
8473 }
8474 case ARM::VSETLNi32: {
8475 // op: V
8476 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8477 Value |= (op & UINT64_C(15)) << 16;
8478 Value |= (op & UINT64_C(16)) << 3;
8479 // op: R
8480 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8481 op &= UINT64_C(15);
8482 op <<= 12;
8483 Value |= op;
8484 // op: p
8485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8486 op &= UINT64_C(15);
8487 op <<= 28;
8488 Value |= op;
8489 // op: lane
8490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8491 op &= UINT64_C(1);
8492 op <<= 21;
8493 Value |= op;
8494 Value = NEONThumb2DupPostEncoder(MI, EncodedValue: Value, STI);
8495 break;
8496 }
8497 case ARM::VGETLNs16:
8498 case ARM::VGETLNu16: {
8499 // op: V
8500 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8501 Value |= (op & UINT64_C(15)) << 16;
8502 Value |= (op & UINT64_C(16)) << 3;
8503 // op: R
8504 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8505 op &= UINT64_C(15);
8506 op <<= 12;
8507 Value |= op;
8508 // op: p
8509 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8510 op &= UINT64_C(15);
8511 op <<= 28;
8512 Value |= op;
8513 // op: lane
8514 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8515 Value |= (op & UINT64_C(2)) << 20;
8516 Value |= (op & UINT64_C(1)) << 6;
8517 Value = NEONThumb2DupPostEncoder(MI, EncodedValue: Value, STI);
8518 break;
8519 }
8520 case ARM::VGETLNs8:
8521 case ARM::VGETLNu8: {
8522 // op: V
8523 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8524 Value |= (op & UINT64_C(15)) << 16;
8525 Value |= (op & UINT64_C(16)) << 3;
8526 // op: R
8527 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8528 op &= UINT64_C(15);
8529 op <<= 12;
8530 Value |= op;
8531 // op: p
8532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8533 op &= UINT64_C(15);
8534 op <<= 28;
8535 Value |= op;
8536 // op: lane
8537 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8538 Value |= (op & UINT64_C(4)) << 19;
8539 Value |= (op & UINT64_C(3)) << 5;
8540 Value = NEONThumb2DupPostEncoder(MI, EncodedValue: Value, STI);
8541 break;
8542 }
8543 case ARM::VGETLNi32: {
8544 // op: V
8545 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8546 Value |= (op & UINT64_C(15)) << 16;
8547 Value |= (op & UINT64_C(16)) << 3;
8548 // op: R
8549 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8550 op &= UINT64_C(15);
8551 op <<= 12;
8552 Value |= op;
8553 // op: p
8554 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8555 op &= UINT64_C(15);
8556 op <<= 28;
8557 Value |= op;
8558 // op: lane
8559 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8560 op &= UINT64_C(1);
8561 op <<= 21;
8562 Value |= op;
8563 Value = NEONThumb2DupPostEncoder(MI, EncodedValue: Value, STI);
8564 break;
8565 }
8566 case ARM::MVE_VST20_8:
8567 case ARM::MVE_VST20_16:
8568 case ARM::MVE_VST20_32:
8569 case ARM::MVE_VST21_8:
8570 case ARM::MVE_VST21_16:
8571 case ARM::MVE_VST21_32:
8572 case ARM::MVE_VST40_8:
8573 case ARM::MVE_VST40_16:
8574 case ARM::MVE_VST40_32:
8575 case ARM::MVE_VST41_8:
8576 case ARM::MVE_VST41_16:
8577 case ARM::MVE_VST41_32:
8578 case ARM::MVE_VST42_8:
8579 case ARM::MVE_VST42_16:
8580 case ARM::MVE_VST42_32:
8581 case ARM::MVE_VST43_8:
8582 case ARM::MVE_VST43_16:
8583 case ARM::MVE_VST43_32: {
8584 // op: VQd
8585 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8586 op &= UINT64_C(7);
8587 op <<= 13;
8588 Value |= op;
8589 // op: Rn
8590 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8591 op &= UINT64_C(15);
8592 op <<= 16;
8593 Value |= op;
8594 break;
8595 }
8596 case ARM::MVE_VLD20_8:
8597 case ARM::MVE_VLD20_16:
8598 case ARM::MVE_VLD20_32:
8599 case ARM::MVE_VLD21_8:
8600 case ARM::MVE_VLD21_16:
8601 case ARM::MVE_VLD21_32:
8602 case ARM::MVE_VLD40_8:
8603 case ARM::MVE_VLD40_16:
8604 case ARM::MVE_VLD40_32:
8605 case ARM::MVE_VLD41_8:
8606 case ARM::MVE_VLD41_16:
8607 case ARM::MVE_VLD41_32:
8608 case ARM::MVE_VLD42_8:
8609 case ARM::MVE_VLD42_16:
8610 case ARM::MVE_VLD42_32:
8611 case ARM::MVE_VLD43_8:
8612 case ARM::MVE_VLD43_16:
8613 case ARM::MVE_VLD43_32: {
8614 // op: VQd
8615 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8616 op &= UINT64_C(7);
8617 op <<= 13;
8618 Value |= op;
8619 // op: Rn
8620 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8621 op &= UINT64_C(15);
8622 op <<= 16;
8623 Value |= op;
8624 break;
8625 }
8626 case ARM::MVE_VLD20_8_wb:
8627 case ARM::MVE_VLD20_16_wb:
8628 case ARM::MVE_VLD20_32_wb:
8629 case ARM::MVE_VLD21_8_wb:
8630 case ARM::MVE_VLD21_16_wb:
8631 case ARM::MVE_VLD21_32_wb:
8632 case ARM::MVE_VLD40_8_wb:
8633 case ARM::MVE_VLD40_16_wb:
8634 case ARM::MVE_VLD40_32_wb:
8635 case ARM::MVE_VLD41_8_wb:
8636 case ARM::MVE_VLD41_16_wb:
8637 case ARM::MVE_VLD41_32_wb:
8638 case ARM::MVE_VLD42_8_wb:
8639 case ARM::MVE_VLD42_16_wb:
8640 case ARM::MVE_VLD42_32_wb:
8641 case ARM::MVE_VLD43_8_wb:
8642 case ARM::MVE_VLD43_16_wb:
8643 case ARM::MVE_VLD43_32_wb: {
8644 // op: VQd
8645 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8646 op &= UINT64_C(7);
8647 op <<= 13;
8648 Value |= op;
8649 // op: Rn
8650 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
8651 op &= UINT64_C(15);
8652 op <<= 16;
8653 Value |= op;
8654 break;
8655 }
8656 case ARM::MVE_VST20_8_wb:
8657 case ARM::MVE_VST20_16_wb:
8658 case ARM::MVE_VST20_32_wb:
8659 case ARM::MVE_VST21_8_wb:
8660 case ARM::MVE_VST21_16_wb:
8661 case ARM::MVE_VST21_32_wb:
8662 case ARM::MVE_VST40_8_wb:
8663 case ARM::MVE_VST40_16_wb:
8664 case ARM::MVE_VST40_32_wb:
8665 case ARM::MVE_VST41_8_wb:
8666 case ARM::MVE_VST41_16_wb:
8667 case ARM::MVE_VST41_32_wb:
8668 case ARM::MVE_VST42_8_wb:
8669 case ARM::MVE_VST42_16_wb:
8670 case ARM::MVE_VST42_32_wb:
8671 case ARM::MVE_VST43_8_wb:
8672 case ARM::MVE_VST43_16_wb:
8673 case ARM::MVE_VST43_32_wb: {
8674 // op: VQd
8675 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
8676 op &= UINT64_C(7);
8677 op <<= 13;
8678 Value |= op;
8679 // op: Rn
8680 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
8681 op &= UINT64_C(15);
8682 op <<= 16;
8683 Value |= op;
8684 break;
8685 }
8686 case ARM::VLD1d8:
8687 case ARM::VLD1d8T:
8688 case ARM::VLD1d16:
8689 case ARM::VLD1d16T:
8690 case ARM::VLD1d32:
8691 case ARM::VLD1d32T:
8692 case ARM::VLD1d64:
8693 case ARM::VLD1d64T: {
8694 // op: Vd
8695 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8696 Value |= (op & UINT64_C(16)) << 18;
8697 Value |= (op & UINT64_C(15)) << 12;
8698 // op: Rn
8699 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
8700 Value |= (op & UINT64_C(15)) << 16;
8701 Value |= (op & UINT64_C(16));
8702 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8703 break;
8704 }
8705 case ARM::VLD1LNd16: {
8706 // op: Vd
8707 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8708 Value |= (op & UINT64_C(16)) << 18;
8709 Value |= (op & UINT64_C(15)) << 12;
8710 // op: Rn
8711 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
8712 Value |= (op & UINT64_C(15)) << 16;
8713 Value |= (op & UINT64_C(48));
8714 // op: lane
8715 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8716 op &= UINT64_C(3);
8717 op <<= 6;
8718 Value |= op;
8719 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8720 break;
8721 }
8722 case ARM::VLD1d8Q:
8723 case ARM::VLD1d16Q:
8724 case ARM::VLD1d32Q:
8725 case ARM::VLD1d64Q:
8726 case ARM::VLD1q8:
8727 case ARM::VLD1q16:
8728 case ARM::VLD1q32:
8729 case ARM::VLD1q64:
8730 case ARM::VLD2b8:
8731 case ARM::VLD2b16:
8732 case ARM::VLD2b32:
8733 case ARM::VLD2d8:
8734 case ARM::VLD2d16:
8735 case ARM::VLD2d32:
8736 case ARM::VLD2q8:
8737 case ARM::VLD2q16:
8738 case ARM::VLD2q32: {
8739 // op: Vd
8740 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8741 Value |= (op & UINT64_C(16)) << 18;
8742 Value |= (op & UINT64_C(15)) << 12;
8743 // op: Rn
8744 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
8745 Value |= (op & UINT64_C(15)) << 16;
8746 Value |= (op & UINT64_C(48));
8747 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8748 break;
8749 }
8750 case ARM::VLD1LNd8: {
8751 // op: Vd
8752 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8753 Value |= (op & UINT64_C(16)) << 18;
8754 Value |= (op & UINT64_C(15)) << 12;
8755 // op: Rn
8756 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
8757 op &= UINT64_C(15);
8758 op <<= 16;
8759 Value |= op;
8760 // op: lane
8761 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8762 op &= UINT64_C(7);
8763 op <<= 5;
8764 Value |= op;
8765 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8766 break;
8767 }
8768 case ARM::VLD1LNd32_UPD: {
8769 // op: Vd
8770 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8771 Value |= (op & UINT64_C(16)) << 18;
8772 Value |= (op & UINT64_C(15)) << 12;
8773 // op: Rn
8774 op = getAddrMode6AddressOpValue(MI, Op: 2, Fixups, STI);
8775 Value |= (op & UINT64_C(15)) << 16;
8776 Value |= (op & UINT64_C(16)) << 1;
8777 Value |= (op & UINT64_C(16));
8778 // op: Rm
8779 op = getAddrMode6OffsetOpValue(MI, Op: 4, Fixups, STI);
8780 op &= UINT64_C(15);
8781 Value |= op;
8782 // op: lane
8783 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
8784 op &= UINT64_C(1);
8785 op <<= 7;
8786 Value |= op;
8787 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8788 break;
8789 }
8790 case ARM::VLD1LNd16_UPD: {
8791 // op: Vd
8792 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8793 Value |= (op & UINT64_C(16)) << 18;
8794 Value |= (op & UINT64_C(15)) << 12;
8795 // op: Rn
8796 op = getAddrMode6AddressOpValue(MI, Op: 2, Fixups, STI);
8797 Value |= (op & UINT64_C(15)) << 16;
8798 Value |= (op & UINT64_C(16));
8799 // op: Rm
8800 op = getAddrMode6OffsetOpValue(MI, Op: 4, Fixups, STI);
8801 op &= UINT64_C(15);
8802 Value |= op;
8803 // op: lane
8804 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
8805 op &= UINT64_C(3);
8806 op <<= 6;
8807 Value |= op;
8808 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8809 break;
8810 }
8811 case ARM::VLD1d8Twb_register:
8812 case ARM::VLD1d8wb_register:
8813 case ARM::VLD1d16Twb_register:
8814 case ARM::VLD1d16wb_register:
8815 case ARM::VLD1d32Twb_register:
8816 case ARM::VLD1d32wb_register:
8817 case ARM::VLD1d64Twb_register:
8818 case ARM::VLD1d64wb_register: {
8819 // op: Vd
8820 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8821 Value |= (op & UINT64_C(16)) << 18;
8822 Value |= (op & UINT64_C(15)) << 12;
8823 // op: Rn
8824 op = getAddrMode6AddressOpValue(MI, Op: 2, Fixups, STI);
8825 Value |= (op & UINT64_C(15)) << 16;
8826 Value |= (op & UINT64_C(16));
8827 // op: Rm
8828 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8829 op &= UINT64_C(15);
8830 Value |= op;
8831 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8832 break;
8833 }
8834 case ARM::VLD2LNd32:
8835 case ARM::VLD2LNq32: {
8836 // op: Vd
8837 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8838 Value |= (op & UINT64_C(16)) << 18;
8839 Value |= (op & UINT64_C(15)) << 12;
8840 // op: Rn
8841 op = getAddrMode6AddressOpValue(MI, Op: 2, Fixups, STI);
8842 Value |= (op & UINT64_C(15)) << 16;
8843 Value |= (op & UINT64_C(16));
8844 // op: lane
8845 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
8846 op &= UINT64_C(1);
8847 op <<= 7;
8848 Value |= op;
8849 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8850 break;
8851 }
8852 case ARM::VLD2LNd16:
8853 case ARM::VLD2LNq16: {
8854 // op: Vd
8855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8856 Value |= (op & UINT64_C(16)) << 18;
8857 Value |= (op & UINT64_C(15)) << 12;
8858 // op: Rn
8859 op = getAddrMode6AddressOpValue(MI, Op: 2, Fixups, STI);
8860 Value |= (op & UINT64_C(15)) << 16;
8861 Value |= (op & UINT64_C(16));
8862 // op: lane
8863 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
8864 op &= UINT64_C(3);
8865 op <<= 6;
8866 Value |= op;
8867 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8868 break;
8869 }
8870 case ARM::VLD2LNd8: {
8871 // op: Vd
8872 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8873 Value |= (op & UINT64_C(16)) << 18;
8874 Value |= (op & UINT64_C(15)) << 12;
8875 // op: Rn
8876 op = getAddrMode6AddressOpValue(MI, Op: 2, Fixups, STI);
8877 Value |= (op & UINT64_C(15)) << 16;
8878 Value |= (op & UINT64_C(16));
8879 // op: lane
8880 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
8881 op &= UINT64_C(7);
8882 op <<= 5;
8883 Value |= op;
8884 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8885 break;
8886 }
8887 case ARM::VLD1d8Twb_fixed:
8888 case ARM::VLD1d8wb_fixed:
8889 case ARM::VLD1d16Twb_fixed:
8890 case ARM::VLD1d16wb_fixed:
8891 case ARM::VLD1d32Twb_fixed:
8892 case ARM::VLD1d32wb_fixed:
8893 case ARM::VLD1d64Twb_fixed:
8894 case ARM::VLD1d64wb_fixed: {
8895 // op: Vd
8896 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8897 Value |= (op & UINT64_C(16)) << 18;
8898 Value |= (op & UINT64_C(15)) << 12;
8899 // op: Rn
8900 op = getAddrMode6AddressOpValue(MI, Op: 2, Fixups, STI);
8901 Value |= (op & UINT64_C(15)) << 16;
8902 Value |= (op & UINT64_C(16));
8903 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8904 break;
8905 }
8906 case ARM::VLD1d8Qwb_register:
8907 case ARM::VLD1d16Qwb_register:
8908 case ARM::VLD1d32Qwb_register:
8909 case ARM::VLD1d64Qwb_register:
8910 case ARM::VLD1q8wb_register:
8911 case ARM::VLD1q16wb_register:
8912 case ARM::VLD1q32wb_register:
8913 case ARM::VLD1q64wb_register:
8914 case ARM::VLD2b8wb_register:
8915 case ARM::VLD2b16wb_register:
8916 case ARM::VLD2b32wb_register:
8917 case ARM::VLD2d8wb_register:
8918 case ARM::VLD2d16wb_register:
8919 case ARM::VLD2d32wb_register:
8920 case ARM::VLD2q8wb_register:
8921 case ARM::VLD2q16wb_register:
8922 case ARM::VLD2q32wb_register: {
8923 // op: Vd
8924 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8925 Value |= (op & UINT64_C(16)) << 18;
8926 Value |= (op & UINT64_C(15)) << 12;
8927 // op: Rn
8928 op = getAddrMode6AddressOpValue(MI, Op: 2, Fixups, STI);
8929 Value |= (op & UINT64_C(15)) << 16;
8930 Value |= (op & UINT64_C(48));
8931 // op: Rm
8932 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
8933 op &= UINT64_C(15);
8934 Value |= op;
8935 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8936 break;
8937 }
8938 case ARM::VLD1d8Qwb_fixed:
8939 case ARM::VLD1d16Qwb_fixed:
8940 case ARM::VLD1d32Qwb_fixed:
8941 case ARM::VLD1d64Qwb_fixed:
8942 case ARM::VLD1q8wb_fixed:
8943 case ARM::VLD1q16wb_fixed:
8944 case ARM::VLD1q32wb_fixed:
8945 case ARM::VLD1q64wb_fixed:
8946 case ARM::VLD2b8wb_fixed:
8947 case ARM::VLD2b16wb_fixed:
8948 case ARM::VLD2b32wb_fixed:
8949 case ARM::VLD2d8wb_fixed:
8950 case ARM::VLD2d16wb_fixed:
8951 case ARM::VLD2d32wb_fixed:
8952 case ARM::VLD2q8wb_fixed:
8953 case ARM::VLD2q16wb_fixed:
8954 case ARM::VLD2q32wb_fixed: {
8955 // op: Vd
8956 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8957 Value |= (op & UINT64_C(16)) << 18;
8958 Value |= (op & UINT64_C(15)) << 12;
8959 // op: Rn
8960 op = getAddrMode6AddressOpValue(MI, Op: 2, Fixups, STI);
8961 Value |= (op & UINT64_C(15)) << 16;
8962 Value |= (op & UINT64_C(48));
8963 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8964 break;
8965 }
8966 case ARM::VLD1LNd8_UPD: {
8967 // op: Vd
8968 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8969 Value |= (op & UINT64_C(16)) << 18;
8970 Value |= (op & UINT64_C(15)) << 12;
8971 // op: Rn
8972 op = getAddrMode6AddressOpValue(MI, Op: 2, Fixups, STI);
8973 op &= UINT64_C(15);
8974 op <<= 16;
8975 Value |= op;
8976 // op: Rm
8977 op = getAddrMode6OffsetOpValue(MI, Op: 4, Fixups, STI);
8978 op &= UINT64_C(15);
8979 Value |= op;
8980 // op: lane
8981 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
8982 op &= UINT64_C(7);
8983 op <<= 5;
8984 Value |= op;
8985 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
8986 break;
8987 }
8988 case ARM::VLD2LNd32_UPD:
8989 case ARM::VLD2LNq32_UPD: {
8990 // op: Vd
8991 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
8992 Value |= (op & UINT64_C(16)) << 18;
8993 Value |= (op & UINT64_C(15)) << 12;
8994 // op: Rn
8995 op = getAddrMode6AddressOpValue(MI, Op: 3, Fixups, STI);
8996 Value |= (op & UINT64_C(15)) << 16;
8997 Value |= (op & UINT64_C(16));
8998 // op: Rm
8999 op = getAddrMode6OffsetOpValue(MI, Op: 5, Fixups, STI);
9000 op &= UINT64_C(15);
9001 Value |= op;
9002 // op: lane
9003 op = getMachineOpValue(MI, MO: MI.getOperand(i: 8), Fixups, STI);
9004 op &= UINT64_C(1);
9005 op <<= 7;
9006 Value |= op;
9007 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9008 break;
9009 }
9010 case ARM::VLD2LNd16_UPD:
9011 case ARM::VLD2LNq16_UPD: {
9012 // op: Vd
9013 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9014 Value |= (op & UINT64_C(16)) << 18;
9015 Value |= (op & UINT64_C(15)) << 12;
9016 // op: Rn
9017 op = getAddrMode6AddressOpValue(MI, Op: 3, Fixups, STI);
9018 Value |= (op & UINT64_C(15)) << 16;
9019 Value |= (op & UINT64_C(16));
9020 // op: Rm
9021 op = getAddrMode6OffsetOpValue(MI, Op: 5, Fixups, STI);
9022 op &= UINT64_C(15);
9023 Value |= op;
9024 // op: lane
9025 op = getMachineOpValue(MI, MO: MI.getOperand(i: 8), Fixups, STI);
9026 op &= UINT64_C(3);
9027 op <<= 6;
9028 Value |= op;
9029 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9030 break;
9031 }
9032 case ARM::VLD2LNd8_UPD: {
9033 // op: Vd
9034 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9035 Value |= (op & UINT64_C(16)) << 18;
9036 Value |= (op & UINT64_C(15)) << 12;
9037 // op: Rn
9038 op = getAddrMode6AddressOpValue(MI, Op: 3, Fixups, STI);
9039 Value |= (op & UINT64_C(15)) << 16;
9040 Value |= (op & UINT64_C(16));
9041 // op: Rm
9042 op = getAddrMode6OffsetOpValue(MI, Op: 5, Fixups, STI);
9043 op &= UINT64_C(15);
9044 Value |= op;
9045 // op: lane
9046 op = getMachineOpValue(MI, MO: MI.getOperand(i: 8), Fixups, STI);
9047 op &= UINT64_C(7);
9048 op <<= 5;
9049 Value |= op;
9050 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9051 break;
9052 }
9053 case ARM::VLD3d8:
9054 case ARM::VLD3d16:
9055 case ARM::VLD3d32:
9056 case ARM::VLD3q8:
9057 case ARM::VLD3q16:
9058 case ARM::VLD3q32: {
9059 // op: Vd
9060 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9061 Value |= (op & UINT64_C(16)) << 18;
9062 Value |= (op & UINT64_C(15)) << 12;
9063 // op: Rn
9064 op = getAddrMode6AddressOpValue(MI, Op: 3, Fixups, STI);
9065 Value |= (op & UINT64_C(15)) << 16;
9066 Value |= (op & UINT64_C(16));
9067 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9068 break;
9069 }
9070 case ARM::VLD3LNd32:
9071 case ARM::VLD3LNq32: {
9072 // op: Vd
9073 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9074 Value |= (op & UINT64_C(16)) << 18;
9075 Value |= (op & UINT64_C(15)) << 12;
9076 // op: Rn
9077 op = getAddrMode6AddressOpValue(MI, Op: 3, Fixups, STI);
9078 op &= UINT64_C(15);
9079 op <<= 16;
9080 Value |= op;
9081 // op: lane
9082 op = getMachineOpValue(MI, MO: MI.getOperand(i: 8), Fixups, STI);
9083 op &= UINT64_C(1);
9084 op <<= 7;
9085 Value |= op;
9086 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9087 break;
9088 }
9089 case ARM::VLD3LNd16:
9090 case ARM::VLD3LNq16: {
9091 // op: Vd
9092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9093 Value |= (op & UINT64_C(16)) << 18;
9094 Value |= (op & UINT64_C(15)) << 12;
9095 // op: Rn
9096 op = getAddrMode6AddressOpValue(MI, Op: 3, Fixups, STI);
9097 op &= UINT64_C(15);
9098 op <<= 16;
9099 Value |= op;
9100 // op: lane
9101 op = getMachineOpValue(MI, MO: MI.getOperand(i: 8), Fixups, STI);
9102 op &= UINT64_C(3);
9103 op <<= 6;
9104 Value |= op;
9105 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9106 break;
9107 }
9108 case ARM::VLD3LNd8: {
9109 // op: Vd
9110 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9111 Value |= (op & UINT64_C(16)) << 18;
9112 Value |= (op & UINT64_C(15)) << 12;
9113 // op: Rn
9114 op = getAddrMode6AddressOpValue(MI, Op: 3, Fixups, STI);
9115 op &= UINT64_C(15);
9116 op <<= 16;
9117 Value |= op;
9118 // op: lane
9119 op = getMachineOpValue(MI, MO: MI.getOperand(i: 8), Fixups, STI);
9120 op &= UINT64_C(7);
9121 op <<= 5;
9122 Value |= op;
9123 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9124 break;
9125 }
9126 case ARM::VLD3d8_UPD:
9127 case ARM::VLD3d16_UPD:
9128 case ARM::VLD3d32_UPD:
9129 case ARM::VLD3q8_UPD:
9130 case ARM::VLD3q16_UPD:
9131 case ARM::VLD3q32_UPD: {
9132 // op: Vd
9133 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9134 Value |= (op & UINT64_C(16)) << 18;
9135 Value |= (op & UINT64_C(15)) << 12;
9136 // op: Rn
9137 op = getAddrMode6AddressOpValue(MI, Op: 4, Fixups, STI);
9138 Value |= (op & UINT64_C(15)) << 16;
9139 Value |= (op & UINT64_C(16));
9140 // op: Rm
9141 op = getAddrMode6OffsetOpValue(MI, Op: 6, Fixups, STI);
9142 op &= UINT64_C(15);
9143 Value |= op;
9144 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9145 break;
9146 }
9147 case ARM::VLD4LNd16:
9148 case ARM::VLD4LNq16: {
9149 // op: Vd
9150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9151 Value |= (op & UINT64_C(16)) << 18;
9152 Value |= (op & UINT64_C(15)) << 12;
9153 // op: Rn
9154 op = getAddrMode6AddressOpValue(MI, Op: 4, Fixups, STI);
9155 Value |= (op & UINT64_C(15)) << 16;
9156 Value |= (op & UINT64_C(16));
9157 // op: lane
9158 op = getMachineOpValue(MI, MO: MI.getOperand(i: 10), Fixups, STI);
9159 op &= UINT64_C(3);
9160 op <<= 6;
9161 Value |= op;
9162 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9163 break;
9164 }
9165 case ARM::VLD4LNd8: {
9166 // op: Vd
9167 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9168 Value |= (op & UINT64_C(16)) << 18;
9169 Value |= (op & UINT64_C(15)) << 12;
9170 // op: Rn
9171 op = getAddrMode6AddressOpValue(MI, Op: 4, Fixups, STI);
9172 Value |= (op & UINT64_C(15)) << 16;
9173 Value |= (op & UINT64_C(16));
9174 // op: lane
9175 op = getMachineOpValue(MI, MO: MI.getOperand(i: 10), Fixups, STI);
9176 op &= UINT64_C(7);
9177 op <<= 5;
9178 Value |= op;
9179 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9180 break;
9181 }
9182 case ARM::VLD4LNd32:
9183 case ARM::VLD4LNq32: {
9184 // op: Vd
9185 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9186 Value |= (op & UINT64_C(16)) << 18;
9187 Value |= (op & UINT64_C(15)) << 12;
9188 // op: Rn
9189 op = getAddrMode6AddressOpValue(MI, Op: 4, Fixups, STI);
9190 Value |= (op & UINT64_C(15)) << 16;
9191 Value |= (op & UINT64_C(48));
9192 // op: lane
9193 op = getMachineOpValue(MI, MO: MI.getOperand(i: 10), Fixups, STI);
9194 op &= UINT64_C(1);
9195 op <<= 7;
9196 Value |= op;
9197 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9198 break;
9199 }
9200 case ARM::VLD4d8:
9201 case ARM::VLD4d16:
9202 case ARM::VLD4d32:
9203 case ARM::VLD4q8:
9204 case ARM::VLD4q16:
9205 case ARM::VLD4q32: {
9206 // op: Vd
9207 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9208 Value |= (op & UINT64_C(16)) << 18;
9209 Value |= (op & UINT64_C(15)) << 12;
9210 // op: Rn
9211 op = getAddrMode6AddressOpValue(MI, Op: 4, Fixups, STI);
9212 Value |= (op & UINT64_C(15)) << 16;
9213 Value |= (op & UINT64_C(48));
9214 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9215 break;
9216 }
9217 case ARM::VLD3LNd32_UPD:
9218 case ARM::VLD3LNq32_UPD: {
9219 // op: Vd
9220 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9221 Value |= (op & UINT64_C(16)) << 18;
9222 Value |= (op & UINT64_C(15)) << 12;
9223 // op: Rn
9224 op = getAddrMode6AddressOpValue(MI, Op: 4, Fixups, STI);
9225 op &= UINT64_C(15);
9226 op <<= 16;
9227 Value |= op;
9228 // op: Rm
9229 op = getAddrMode6OffsetOpValue(MI, Op: 6, Fixups, STI);
9230 op &= UINT64_C(15);
9231 Value |= op;
9232 // op: lane
9233 op = getMachineOpValue(MI, MO: MI.getOperand(i: 10), Fixups, STI);
9234 op &= UINT64_C(1);
9235 op <<= 7;
9236 Value |= op;
9237 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9238 break;
9239 }
9240 case ARM::VLD3LNd16_UPD:
9241 case ARM::VLD3LNq16_UPD: {
9242 // op: Vd
9243 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9244 Value |= (op & UINT64_C(16)) << 18;
9245 Value |= (op & UINT64_C(15)) << 12;
9246 // op: Rn
9247 op = getAddrMode6AddressOpValue(MI, Op: 4, Fixups, STI);
9248 op &= UINT64_C(15);
9249 op <<= 16;
9250 Value |= op;
9251 // op: Rm
9252 op = getAddrMode6OffsetOpValue(MI, Op: 6, Fixups, STI);
9253 op &= UINT64_C(15);
9254 Value |= op;
9255 // op: lane
9256 op = getMachineOpValue(MI, MO: MI.getOperand(i: 10), Fixups, STI);
9257 op &= UINT64_C(3);
9258 op <<= 6;
9259 Value |= op;
9260 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9261 break;
9262 }
9263 case ARM::VLD3LNd8_UPD: {
9264 // op: Vd
9265 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9266 Value |= (op & UINT64_C(16)) << 18;
9267 Value |= (op & UINT64_C(15)) << 12;
9268 // op: Rn
9269 op = getAddrMode6AddressOpValue(MI, Op: 4, Fixups, STI);
9270 op &= UINT64_C(15);
9271 op <<= 16;
9272 Value |= op;
9273 // op: Rm
9274 op = getAddrMode6OffsetOpValue(MI, Op: 6, Fixups, STI);
9275 op &= UINT64_C(15);
9276 Value |= op;
9277 // op: lane
9278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 10), Fixups, STI);
9279 op &= UINT64_C(7);
9280 op <<= 5;
9281 Value |= op;
9282 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9283 break;
9284 }
9285 case ARM::VLD4LNd16_UPD:
9286 case ARM::VLD4LNq16_UPD: {
9287 // op: Vd
9288 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9289 Value |= (op & UINT64_C(16)) << 18;
9290 Value |= (op & UINT64_C(15)) << 12;
9291 // op: Rn
9292 op = getAddrMode6AddressOpValue(MI, Op: 5, Fixups, STI);
9293 Value |= (op & UINT64_C(15)) << 16;
9294 Value |= (op & UINT64_C(16));
9295 // op: Rm
9296 op = getAddrMode6OffsetOpValue(MI, Op: 7, Fixups, STI);
9297 op &= UINT64_C(15);
9298 Value |= op;
9299 // op: lane
9300 op = getMachineOpValue(MI, MO: MI.getOperand(i: 12), Fixups, STI);
9301 op &= UINT64_C(3);
9302 op <<= 6;
9303 Value |= op;
9304 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9305 break;
9306 }
9307 case ARM::VLD4LNd8_UPD: {
9308 // op: Vd
9309 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9310 Value |= (op & UINT64_C(16)) << 18;
9311 Value |= (op & UINT64_C(15)) << 12;
9312 // op: Rn
9313 op = getAddrMode6AddressOpValue(MI, Op: 5, Fixups, STI);
9314 Value |= (op & UINT64_C(15)) << 16;
9315 Value |= (op & UINT64_C(16));
9316 // op: Rm
9317 op = getAddrMode6OffsetOpValue(MI, Op: 7, Fixups, STI);
9318 op &= UINT64_C(15);
9319 Value |= op;
9320 // op: lane
9321 op = getMachineOpValue(MI, MO: MI.getOperand(i: 12), Fixups, STI);
9322 op &= UINT64_C(7);
9323 op <<= 5;
9324 Value |= op;
9325 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9326 break;
9327 }
9328 case ARM::VLD4LNd32_UPD:
9329 case ARM::VLD4LNq32_UPD: {
9330 // op: Vd
9331 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9332 Value |= (op & UINT64_C(16)) << 18;
9333 Value |= (op & UINT64_C(15)) << 12;
9334 // op: Rn
9335 op = getAddrMode6AddressOpValue(MI, Op: 5, Fixups, STI);
9336 Value |= (op & UINT64_C(15)) << 16;
9337 Value |= (op & UINT64_C(48));
9338 // op: Rm
9339 op = getAddrMode6OffsetOpValue(MI, Op: 7, Fixups, STI);
9340 op &= UINT64_C(15);
9341 Value |= op;
9342 // op: lane
9343 op = getMachineOpValue(MI, MO: MI.getOperand(i: 12), Fixups, STI);
9344 op &= UINT64_C(1);
9345 op <<= 7;
9346 Value |= op;
9347 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9348 break;
9349 }
9350 case ARM::VLD4d8_UPD:
9351 case ARM::VLD4d16_UPD:
9352 case ARM::VLD4d32_UPD:
9353 case ARM::VLD4q8_UPD:
9354 case ARM::VLD4q16_UPD:
9355 case ARM::VLD4q32_UPD: {
9356 // op: Vd
9357 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9358 Value |= (op & UINT64_C(16)) << 18;
9359 Value |= (op & UINT64_C(15)) << 12;
9360 // op: Rn
9361 op = getAddrMode6AddressOpValue(MI, Op: 5, Fixups, STI);
9362 Value |= (op & UINT64_C(15)) << 16;
9363 Value |= (op & UINT64_C(48));
9364 // op: Rm
9365 op = getAddrMode6OffsetOpValue(MI, Op: 7, Fixups, STI);
9366 op &= UINT64_C(15);
9367 Value |= op;
9368 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9369 break;
9370 }
9371 case ARM::VLD1DUPd8:
9372 case ARM::VLD1DUPd16:
9373 case ARM::VLD1DUPd32:
9374 case ARM::VLD1DUPq8:
9375 case ARM::VLD1DUPq16:
9376 case ARM::VLD1DUPq32:
9377 case ARM::VLD2DUPd8:
9378 case ARM::VLD2DUPd8x2:
9379 case ARM::VLD2DUPd16:
9380 case ARM::VLD2DUPd16x2:
9381 case ARM::VLD2DUPd32:
9382 case ARM::VLD2DUPd32x2: {
9383 // op: Vd
9384 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9385 Value |= (op & UINT64_C(16)) << 18;
9386 Value |= (op & UINT64_C(15)) << 12;
9387 // op: Rn
9388 op = getAddrMode6DupAddressOpValue(MI, Op: 1, Fixups, STI);
9389 Value |= (op & UINT64_C(15)) << 16;
9390 Value |= (op & UINT64_C(16));
9391 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9392 break;
9393 }
9394 case ARM::VLD1DUPd8wb_register:
9395 case ARM::VLD1DUPd16wb_register:
9396 case ARM::VLD1DUPd32wb_register:
9397 case ARM::VLD1DUPq8wb_register:
9398 case ARM::VLD1DUPq16wb_register:
9399 case ARM::VLD1DUPq32wb_register:
9400 case ARM::VLD2DUPd8wb_register:
9401 case ARM::VLD2DUPd8x2wb_register:
9402 case ARM::VLD2DUPd16wb_register:
9403 case ARM::VLD2DUPd16x2wb_register:
9404 case ARM::VLD2DUPd32wb_register:
9405 case ARM::VLD2DUPd32x2wb_register: {
9406 // op: Vd
9407 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9408 Value |= (op & UINT64_C(16)) << 18;
9409 Value |= (op & UINT64_C(15)) << 12;
9410 // op: Rn
9411 op = getAddrMode6DupAddressOpValue(MI, Op: 2, Fixups, STI);
9412 Value |= (op & UINT64_C(15)) << 16;
9413 Value |= (op & UINT64_C(16));
9414 // op: Rm
9415 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9416 op &= UINT64_C(15);
9417 Value |= op;
9418 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9419 break;
9420 }
9421 case ARM::VLD1DUPd8wb_fixed:
9422 case ARM::VLD1DUPd16wb_fixed:
9423 case ARM::VLD1DUPd32wb_fixed:
9424 case ARM::VLD1DUPq8wb_fixed:
9425 case ARM::VLD1DUPq16wb_fixed:
9426 case ARM::VLD1DUPq32wb_fixed:
9427 case ARM::VLD2DUPd8wb_fixed:
9428 case ARM::VLD2DUPd8x2wb_fixed:
9429 case ARM::VLD2DUPd16wb_fixed:
9430 case ARM::VLD2DUPd16x2wb_fixed:
9431 case ARM::VLD2DUPd32wb_fixed:
9432 case ARM::VLD2DUPd32x2wb_fixed: {
9433 // op: Vd
9434 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9435 Value |= (op & UINT64_C(16)) << 18;
9436 Value |= (op & UINT64_C(15)) << 12;
9437 // op: Rn
9438 op = getAddrMode6DupAddressOpValue(MI, Op: 2, Fixups, STI);
9439 Value |= (op & UINT64_C(15)) << 16;
9440 Value |= (op & UINT64_C(16));
9441 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9442 break;
9443 }
9444 case ARM::VLD3DUPd8:
9445 case ARM::VLD3DUPd16:
9446 case ARM::VLD3DUPd32:
9447 case ARM::VLD3DUPq8:
9448 case ARM::VLD3DUPq16:
9449 case ARM::VLD3DUPq32: {
9450 // op: Vd
9451 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9452 Value |= (op & UINT64_C(16)) << 18;
9453 Value |= (op & UINT64_C(15)) << 12;
9454 // op: Rn
9455 op = getAddrMode6DupAddressOpValue(MI, Op: 3, Fixups, STI);
9456 op &= UINT64_C(15);
9457 op <<= 16;
9458 Value |= op;
9459 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9460 break;
9461 }
9462 case ARM::VLD4DUPd8:
9463 case ARM::VLD4DUPd16:
9464 case ARM::VLD4DUPq8:
9465 case ARM::VLD4DUPq16: {
9466 // op: Vd
9467 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9468 Value |= (op & UINT64_C(16)) << 18;
9469 Value |= (op & UINT64_C(15)) << 12;
9470 // op: Rn
9471 op = getAddrMode6DupAddressOpValue(MI, Op: 4, Fixups, STI);
9472 Value |= (op & UINT64_C(15)) << 16;
9473 Value |= (op & UINT64_C(16));
9474 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9475 break;
9476 }
9477 case ARM::VLD4DUPd32:
9478 case ARM::VLD4DUPq32: {
9479 // op: Vd
9480 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9481 Value |= (op & UINT64_C(16)) << 18;
9482 Value |= (op & UINT64_C(15)) << 12;
9483 // op: Rn
9484 op = getAddrMode6DupAddressOpValue(MI, Op: 4, Fixups, STI);
9485 Value |= (op & UINT64_C(15)) << 16;
9486 Value |= (op & UINT64_C(32)) << 1;
9487 Value |= (op & UINT64_C(16));
9488 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9489 break;
9490 }
9491 case ARM::VLD3DUPd8_UPD:
9492 case ARM::VLD3DUPd16_UPD:
9493 case ARM::VLD3DUPd32_UPD:
9494 case ARM::VLD3DUPq8_UPD:
9495 case ARM::VLD3DUPq16_UPD:
9496 case ARM::VLD3DUPq32_UPD: {
9497 // op: Vd
9498 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9499 Value |= (op & UINT64_C(16)) << 18;
9500 Value |= (op & UINT64_C(15)) << 12;
9501 // op: Rn
9502 op = getAddrMode6DupAddressOpValue(MI, Op: 4, Fixups, STI);
9503 op &= UINT64_C(15);
9504 op <<= 16;
9505 Value |= op;
9506 // op: Rm
9507 op = getAddrMode6OffsetOpValue(MI, Op: 6, Fixups, STI);
9508 op &= UINT64_C(15);
9509 Value |= op;
9510 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9511 break;
9512 }
9513 case ARM::VLD4DUPd8_UPD:
9514 case ARM::VLD4DUPd16_UPD:
9515 case ARM::VLD4DUPq8_UPD:
9516 case ARM::VLD4DUPq16_UPD: {
9517 // op: Vd
9518 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9519 Value |= (op & UINT64_C(16)) << 18;
9520 Value |= (op & UINT64_C(15)) << 12;
9521 // op: Rn
9522 op = getAddrMode6DupAddressOpValue(MI, Op: 5, Fixups, STI);
9523 Value |= (op & UINT64_C(15)) << 16;
9524 Value |= (op & UINT64_C(16));
9525 // op: Rm
9526 op = getAddrMode6OffsetOpValue(MI, Op: 7, Fixups, STI);
9527 op &= UINT64_C(15);
9528 Value |= op;
9529 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9530 break;
9531 }
9532 case ARM::VLD4DUPd32_UPD:
9533 case ARM::VLD4DUPq32_UPD: {
9534 // op: Vd
9535 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9536 Value |= (op & UINT64_C(16)) << 18;
9537 Value |= (op & UINT64_C(15)) << 12;
9538 // op: Rn
9539 op = getAddrMode6DupAddressOpValue(MI, Op: 5, Fixups, STI);
9540 Value |= (op & UINT64_C(15)) << 16;
9541 Value |= (op & UINT64_C(32)) << 1;
9542 Value |= (op & UINT64_C(16));
9543 // op: Rm
9544 op = getAddrMode6OffsetOpValue(MI, Op: 7, Fixups, STI);
9545 op &= UINT64_C(15);
9546 Value |= op;
9547 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9548 break;
9549 }
9550 case ARM::VLD1LNd32: {
9551 // op: Vd
9552 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9553 Value |= (op & UINT64_C(16)) << 18;
9554 Value |= (op & UINT64_C(15)) << 12;
9555 // op: Rn
9556 op = getAddrMode6OneLane32AddressOpValue(MI, Op: 1, Fixups, STI);
9557 Value |= (op & UINT64_C(15)) << 16;
9558 Value |= (op & UINT64_C(48));
9559 // op: lane
9560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
9561 op &= UINT64_C(1);
9562 op <<= 7;
9563 Value |= op;
9564 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
9565 break;
9566 }
9567 case ARM::VMOVv1i64:
9568 case ARM::VMOVv2f32:
9569 case ARM::VMOVv2i64:
9570 case ARM::VMOVv4f32:
9571 case ARM::VMOVv8i8:
9572 case ARM::VMOVv16i8: {
9573 // op: Vd
9574 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9575 Value |= (op & UINT64_C(16)) << 18;
9576 Value |= (op & UINT64_C(15)) << 12;
9577 // op: SIMM
9578 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9579 Value |= (op & UINT64_C(128)) << 17;
9580 Value |= (op & UINT64_C(112)) << 12;
9581 Value |= (op & UINT64_C(15));
9582 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9583 break;
9584 }
9585 case ARM::VBICiv2i32:
9586 case ARM::VBICiv4i32:
9587 case ARM::VORRiv2i32:
9588 case ARM::VORRiv4i32: {
9589 // op: Vd
9590 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9591 Value |= (op & UINT64_C(16)) << 18;
9592 Value |= (op & UINT64_C(15)) << 12;
9593 // op: SIMM
9594 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9595 Value |= (op & UINT64_C(128)) << 17;
9596 Value |= (op & UINT64_C(112)) << 12;
9597 Value |= (op & UINT64_C(1536));
9598 Value |= (op & UINT64_C(15));
9599 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9600 break;
9601 }
9602 case ARM::VMOVv2i32:
9603 case ARM::VMOVv4i32:
9604 case ARM::VMVNv2i32:
9605 case ARM::VMVNv4i32: {
9606 // op: Vd
9607 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9608 Value |= (op & UINT64_C(16)) << 18;
9609 Value |= (op & UINT64_C(15)) << 12;
9610 // op: SIMM
9611 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9612 Value |= (op & UINT64_C(128)) << 17;
9613 Value |= (op & UINT64_C(112)) << 12;
9614 Value |= (op & UINT64_C(3840));
9615 Value |= (op & UINT64_C(15));
9616 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9617 break;
9618 }
9619 case ARM::VBICiv4i16:
9620 case ARM::VBICiv8i16:
9621 case ARM::VMOVv4i16:
9622 case ARM::VMOVv8i16:
9623 case ARM::VMVNv4i16:
9624 case ARM::VMVNv8i16:
9625 case ARM::VORRiv4i16:
9626 case ARM::VORRiv8i16: {
9627 // op: Vd
9628 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9629 Value |= (op & UINT64_C(16)) << 18;
9630 Value |= (op & UINT64_C(15)) << 12;
9631 // op: SIMM
9632 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9633 Value |= (op & UINT64_C(128)) << 17;
9634 Value |= (op & UINT64_C(112)) << 12;
9635 Value |= (op & UINT64_C(512));
9636 Value |= (op & UINT64_C(15));
9637 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9638 break;
9639 }
9640 case ARM::VQSHLsiv4i16:
9641 case ARM::VQSHLsiv8i16:
9642 case ARM::VQSHLsuv4i16:
9643 case ARM::VQSHLsuv8i16:
9644 case ARM::VQSHLuiv4i16:
9645 case ARM::VQSHLuiv8i16:
9646 case ARM::VSHLLsv4i32:
9647 case ARM::VSHLLuv4i32:
9648 case ARM::VSHLiv4i16:
9649 case ARM::VSHLiv8i16: {
9650 // op: Vd
9651 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9652 Value |= (op & UINT64_C(16)) << 18;
9653 Value |= (op & UINT64_C(15)) << 12;
9654 // op: Vm
9655 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9656 Value |= (op & UINT64_C(16)) << 1;
9657 Value |= (op & UINT64_C(15));
9658 // op: SIMM
9659 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9660 op &= UINT64_C(15);
9661 op <<= 16;
9662 Value |= op;
9663 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9664 break;
9665 }
9666 case ARM::VQSHLsiv2i32:
9667 case ARM::VQSHLsiv4i32:
9668 case ARM::VQSHLsuv2i32:
9669 case ARM::VQSHLsuv4i32:
9670 case ARM::VQSHLuiv2i32:
9671 case ARM::VQSHLuiv4i32:
9672 case ARM::VSHLLsv2i64:
9673 case ARM::VSHLLuv2i64:
9674 case ARM::VSHLiv2i32:
9675 case ARM::VSHLiv4i32: {
9676 // op: Vd
9677 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9678 Value |= (op & UINT64_C(16)) << 18;
9679 Value |= (op & UINT64_C(15)) << 12;
9680 // op: Vm
9681 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9682 Value |= (op & UINT64_C(16)) << 1;
9683 Value |= (op & UINT64_C(15));
9684 // op: SIMM
9685 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9686 op &= UINT64_C(31);
9687 op <<= 16;
9688 Value |= op;
9689 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9690 break;
9691 }
9692 case ARM::VQSHLsiv1i64:
9693 case ARM::VQSHLsiv2i64:
9694 case ARM::VQSHLsuv1i64:
9695 case ARM::VQSHLsuv2i64:
9696 case ARM::VQSHLuiv1i64:
9697 case ARM::VQSHLuiv2i64:
9698 case ARM::VSHLiv1i64:
9699 case ARM::VSHLiv2i64: {
9700 // op: Vd
9701 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9702 Value |= (op & UINT64_C(16)) << 18;
9703 Value |= (op & UINT64_C(15)) << 12;
9704 // op: Vm
9705 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9706 Value |= (op & UINT64_C(16)) << 1;
9707 Value |= (op & UINT64_C(15));
9708 // op: SIMM
9709 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9710 op &= UINT64_C(63);
9711 op <<= 16;
9712 Value |= op;
9713 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9714 break;
9715 }
9716 case ARM::VQSHLsiv8i8:
9717 case ARM::VQSHLsiv16i8:
9718 case ARM::VQSHLsuv8i8:
9719 case ARM::VQSHLsuv16i8:
9720 case ARM::VQSHLuiv8i8:
9721 case ARM::VQSHLuiv16i8:
9722 case ARM::VSHLLsv8i16:
9723 case ARM::VSHLLuv8i16:
9724 case ARM::VSHLiv8i8:
9725 case ARM::VSHLiv16i8: {
9726 // op: Vd
9727 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9728 Value |= (op & UINT64_C(16)) << 18;
9729 Value |= (op & UINT64_C(15)) << 12;
9730 // op: Vm
9731 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9732 Value |= (op & UINT64_C(16)) << 1;
9733 Value |= (op & UINT64_C(15));
9734 // op: SIMM
9735 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9736 op &= UINT64_C(7);
9737 op <<= 16;
9738 Value |= op;
9739 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9740 break;
9741 }
9742 case ARM::VCVTf2xsd:
9743 case ARM::VCVTf2xsq:
9744 case ARM::VCVTf2xud:
9745 case ARM::VCVTf2xuq:
9746 case ARM::VCVTh2xsd:
9747 case ARM::VCVTh2xsq:
9748 case ARM::VCVTh2xud:
9749 case ARM::VCVTh2xuq:
9750 case ARM::VCVTxs2fd:
9751 case ARM::VCVTxs2fq:
9752 case ARM::VCVTxs2hd:
9753 case ARM::VCVTxs2hq:
9754 case ARM::VCVTxu2fd:
9755 case ARM::VCVTxu2fq:
9756 case ARM::VCVTxu2hd:
9757 case ARM::VCVTxu2hq: {
9758 // op: Vd
9759 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9760 Value |= (op & UINT64_C(16)) << 18;
9761 Value |= (op & UINT64_C(15)) << 12;
9762 // op: Vm
9763 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9764 Value |= (op & UINT64_C(16)) << 1;
9765 Value |= (op & UINT64_C(15));
9766 // op: SIMM
9767 op = getNEONVcvtImm32OpValue(MI, Op: 2, Fixups, STI);
9768 op &= UINT64_C(63);
9769 op <<= 16;
9770 Value |= op;
9771 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9772 break;
9773 }
9774 case ARM::VQRSHRNsv4i16:
9775 case ARM::VQRSHRNuv4i16:
9776 case ARM::VQRSHRUNv4i16:
9777 case ARM::VQSHRNsv4i16:
9778 case ARM::VQSHRNuv4i16:
9779 case ARM::VQSHRUNv4i16:
9780 case ARM::VRSHRNv4i16:
9781 case ARM::VRSHRsv4i16:
9782 case ARM::VRSHRsv8i16:
9783 case ARM::VRSHRuv4i16:
9784 case ARM::VRSHRuv8i16:
9785 case ARM::VSHRNv4i16:
9786 case ARM::VSHRsv4i16:
9787 case ARM::VSHRsv8i16:
9788 case ARM::VSHRuv4i16:
9789 case ARM::VSHRuv8i16: {
9790 // op: Vd
9791 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9792 Value |= (op & UINT64_C(16)) << 18;
9793 Value |= (op & UINT64_C(15)) << 12;
9794 // op: Vm
9795 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9796 Value |= (op & UINT64_C(16)) << 1;
9797 Value |= (op & UINT64_C(15));
9798 // op: SIMM
9799 op = getShiftRight16Imm(MI, Op: 2, Fixups, STI);
9800 op &= UINT64_C(15);
9801 op <<= 16;
9802 Value |= op;
9803 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9804 break;
9805 }
9806 case ARM::VQRSHRNsv2i32:
9807 case ARM::VQRSHRNuv2i32:
9808 case ARM::VQRSHRUNv2i32:
9809 case ARM::VQSHRNsv2i32:
9810 case ARM::VQSHRNuv2i32:
9811 case ARM::VQSHRUNv2i32:
9812 case ARM::VRSHRNv2i32:
9813 case ARM::VRSHRsv2i32:
9814 case ARM::VRSHRsv4i32:
9815 case ARM::VRSHRuv2i32:
9816 case ARM::VRSHRuv4i32:
9817 case ARM::VSHRNv2i32:
9818 case ARM::VSHRsv2i32:
9819 case ARM::VSHRsv4i32:
9820 case ARM::VSHRuv2i32:
9821 case ARM::VSHRuv4i32: {
9822 // op: Vd
9823 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9824 Value |= (op & UINT64_C(16)) << 18;
9825 Value |= (op & UINT64_C(15)) << 12;
9826 // op: Vm
9827 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9828 Value |= (op & UINT64_C(16)) << 1;
9829 Value |= (op & UINT64_C(15));
9830 // op: SIMM
9831 op = getShiftRight32Imm(MI, Op: 2, Fixups, STI);
9832 op &= UINT64_C(31);
9833 op <<= 16;
9834 Value |= op;
9835 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9836 break;
9837 }
9838 case ARM::VRSHRsv1i64:
9839 case ARM::VRSHRsv2i64:
9840 case ARM::VRSHRuv1i64:
9841 case ARM::VRSHRuv2i64:
9842 case ARM::VSHRsv1i64:
9843 case ARM::VSHRsv2i64:
9844 case ARM::VSHRuv1i64:
9845 case ARM::VSHRuv2i64: {
9846 // op: Vd
9847 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9848 Value |= (op & UINT64_C(16)) << 18;
9849 Value |= (op & UINT64_C(15)) << 12;
9850 // op: Vm
9851 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9852 Value |= (op & UINT64_C(16)) << 1;
9853 Value |= (op & UINT64_C(15));
9854 // op: SIMM
9855 op = getShiftRight64Imm(MI, Op: 2, Fixups, STI);
9856 op &= UINT64_C(63);
9857 op <<= 16;
9858 Value |= op;
9859 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9860 break;
9861 }
9862 case ARM::VQRSHRNsv8i8:
9863 case ARM::VQRSHRNuv8i8:
9864 case ARM::VQRSHRUNv8i8:
9865 case ARM::VQSHRNsv8i8:
9866 case ARM::VQSHRNuv8i8:
9867 case ARM::VQSHRUNv8i8:
9868 case ARM::VRSHRNv8i8:
9869 case ARM::VRSHRsv8i8:
9870 case ARM::VRSHRsv16i8:
9871 case ARM::VRSHRuv8i8:
9872 case ARM::VRSHRuv16i8:
9873 case ARM::VSHRNv8i8:
9874 case ARM::VSHRsv8i8:
9875 case ARM::VSHRsv16i8:
9876 case ARM::VSHRuv8i8:
9877 case ARM::VSHRuv16i8: {
9878 // op: Vd
9879 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9880 Value |= (op & UINT64_C(16)) << 18;
9881 Value |= (op & UINT64_C(15)) << 12;
9882 // op: Vm
9883 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9884 Value |= (op & UINT64_C(16)) << 1;
9885 Value |= (op & UINT64_C(15));
9886 // op: SIMM
9887 op = getShiftRight8Imm(MI, Op: 2, Fixups, STI);
9888 op &= UINT64_C(7);
9889 op <<= 16;
9890 Value |= op;
9891 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9892 break;
9893 }
9894 case ARM::VDUPLN32d:
9895 case ARM::VDUPLN32q: {
9896 // op: Vd
9897 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9898 Value |= (op & UINT64_C(16)) << 18;
9899 Value |= (op & UINT64_C(15)) << 12;
9900 // op: Vm
9901 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9902 Value |= (op & UINT64_C(16)) << 1;
9903 Value |= (op & UINT64_C(15));
9904 // op: lane
9905 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9906 op &= UINT64_C(1);
9907 op <<= 19;
9908 Value |= op;
9909 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9910 break;
9911 }
9912 case ARM::VDUPLN16d:
9913 case ARM::VDUPLN16q: {
9914 // op: Vd
9915 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9916 Value |= (op & UINT64_C(16)) << 18;
9917 Value |= (op & UINT64_C(15)) << 12;
9918 // op: Vm
9919 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9920 Value |= (op & UINT64_C(16)) << 1;
9921 Value |= (op & UINT64_C(15));
9922 // op: lane
9923 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9924 op &= UINT64_C(3);
9925 op <<= 18;
9926 Value |= op;
9927 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9928 break;
9929 }
9930 case ARM::VDUPLN8d:
9931 case ARM::VDUPLN8q: {
9932 // op: Vd
9933 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
9934 Value |= (op & UINT64_C(16)) << 18;
9935 Value |= (op & UINT64_C(15)) << 12;
9936 // op: Vm
9937 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
9938 Value |= (op & UINT64_C(16)) << 1;
9939 Value |= (op & UINT64_C(15));
9940 // op: lane
9941 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
9942 op &= UINT64_C(7);
9943 op <<= 17;
9944 Value |= op;
9945 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
9946 break;
9947 }
9948 case ARM::AESIMC:
9949 case ARM::AESMC:
9950 case ARM::BF16_VCVT:
9951 case ARM::SHA1H:
9952 case ARM::VABSfd:
9953 case ARM::VABSfq:
9954 case ARM::VABShd:
9955 case ARM::VABShq:
9956 case ARM::VABSv2i32:
9957 case ARM::VABSv4i16:
9958 case ARM::VABSv4i32:
9959 case ARM::VABSv8i8:
9960 case ARM::VABSv8i16:
9961 case ARM::VABSv16i8:
9962 case ARM::VCEQzv2f32:
9963 case ARM::VCEQzv2i32:
9964 case ARM::VCEQzv4f16:
9965 case ARM::VCEQzv4f32:
9966 case ARM::VCEQzv4i16:
9967 case ARM::VCEQzv4i32:
9968 case ARM::VCEQzv8f16:
9969 case ARM::VCEQzv8i8:
9970 case ARM::VCEQzv8i16:
9971 case ARM::VCEQzv16i8:
9972 case ARM::VCGEzv2f32:
9973 case ARM::VCGEzv2i32:
9974 case ARM::VCGEzv4f16:
9975 case ARM::VCGEzv4f32:
9976 case ARM::VCGEzv4i16:
9977 case ARM::VCGEzv4i32:
9978 case ARM::VCGEzv8f16:
9979 case ARM::VCGEzv8i8:
9980 case ARM::VCGEzv8i16:
9981 case ARM::VCGEzv16i8:
9982 case ARM::VCGTzv2f32:
9983 case ARM::VCGTzv2i32:
9984 case ARM::VCGTzv4f16:
9985 case ARM::VCGTzv4f32:
9986 case ARM::VCGTzv4i16:
9987 case ARM::VCGTzv4i32:
9988 case ARM::VCGTzv8f16:
9989 case ARM::VCGTzv8i8:
9990 case ARM::VCGTzv8i16:
9991 case ARM::VCGTzv16i8:
9992 case ARM::VCLEzv2f32:
9993 case ARM::VCLEzv2i32:
9994 case ARM::VCLEzv4f16:
9995 case ARM::VCLEzv4f32:
9996 case ARM::VCLEzv4i16:
9997 case ARM::VCLEzv4i32:
9998 case ARM::VCLEzv8f16:
9999 case ARM::VCLEzv8i8:
10000 case ARM::VCLEzv8i16:
10001 case ARM::VCLEzv16i8:
10002 case ARM::VCLSv2i32:
10003 case ARM::VCLSv4i16:
10004 case ARM::VCLSv4i32:
10005 case ARM::VCLSv8i8:
10006 case ARM::VCLSv8i16:
10007 case ARM::VCLSv16i8:
10008 case ARM::VCLTzv2f32:
10009 case ARM::VCLTzv2i32:
10010 case ARM::VCLTzv4f16:
10011 case ARM::VCLTzv4f32:
10012 case ARM::VCLTzv4i16:
10013 case ARM::VCLTzv4i32:
10014 case ARM::VCLTzv8f16:
10015 case ARM::VCLTzv8i8:
10016 case ARM::VCLTzv8i16:
10017 case ARM::VCLTzv16i8:
10018 case ARM::VCLZv2i32:
10019 case ARM::VCLZv4i16:
10020 case ARM::VCLZv4i32:
10021 case ARM::VCLZv8i8:
10022 case ARM::VCLZv8i16:
10023 case ARM::VCLZv16i8:
10024 case ARM::VCNTd:
10025 case ARM::VCNTq:
10026 case ARM::VCVTf2h:
10027 case ARM::VCVTf2sd:
10028 case ARM::VCVTf2sq:
10029 case ARM::VCVTf2ud:
10030 case ARM::VCVTf2uq:
10031 case ARM::VCVTh2f:
10032 case ARM::VCVTh2sd:
10033 case ARM::VCVTh2sq:
10034 case ARM::VCVTh2ud:
10035 case ARM::VCVTh2uq:
10036 case ARM::VCVTs2fd:
10037 case ARM::VCVTs2fq:
10038 case ARM::VCVTs2hd:
10039 case ARM::VCVTs2hq:
10040 case ARM::VCVTu2fd:
10041 case ARM::VCVTu2fq:
10042 case ARM::VCVTu2hd:
10043 case ARM::VCVTu2hq:
10044 case ARM::VMOVLsv2i64:
10045 case ARM::VMOVLsv4i32:
10046 case ARM::VMOVLsv8i16:
10047 case ARM::VMOVLuv2i64:
10048 case ARM::VMOVLuv4i32:
10049 case ARM::VMOVLuv8i16:
10050 case ARM::VMOVNv2i32:
10051 case ARM::VMOVNv4i16:
10052 case ARM::VMOVNv8i8:
10053 case ARM::VMVNd:
10054 case ARM::VMVNq:
10055 case ARM::VNEGf32q:
10056 case ARM::VNEGfd:
10057 case ARM::VNEGhd:
10058 case ARM::VNEGhq:
10059 case ARM::VNEGs8d:
10060 case ARM::VNEGs8q:
10061 case ARM::VNEGs16d:
10062 case ARM::VNEGs16q:
10063 case ARM::VNEGs32d:
10064 case ARM::VNEGs32q:
10065 case ARM::VPADDLsv2i32:
10066 case ARM::VPADDLsv4i16:
10067 case ARM::VPADDLsv4i32:
10068 case ARM::VPADDLsv8i8:
10069 case ARM::VPADDLsv8i16:
10070 case ARM::VPADDLsv16i8:
10071 case ARM::VPADDLuv2i32:
10072 case ARM::VPADDLuv4i16:
10073 case ARM::VPADDLuv4i32:
10074 case ARM::VPADDLuv8i8:
10075 case ARM::VPADDLuv8i16:
10076 case ARM::VPADDLuv16i8:
10077 case ARM::VQABSv2i32:
10078 case ARM::VQABSv4i16:
10079 case ARM::VQABSv4i32:
10080 case ARM::VQABSv8i8:
10081 case ARM::VQABSv8i16:
10082 case ARM::VQABSv16i8:
10083 case ARM::VQMOVNsuv2i32:
10084 case ARM::VQMOVNsuv4i16:
10085 case ARM::VQMOVNsuv8i8:
10086 case ARM::VQMOVNsv2i32:
10087 case ARM::VQMOVNsv4i16:
10088 case ARM::VQMOVNsv8i8:
10089 case ARM::VQMOVNuv2i32:
10090 case ARM::VQMOVNuv4i16:
10091 case ARM::VQMOVNuv8i8:
10092 case ARM::VQNEGv2i32:
10093 case ARM::VQNEGv4i16:
10094 case ARM::VQNEGv4i32:
10095 case ARM::VQNEGv8i8:
10096 case ARM::VQNEGv8i16:
10097 case ARM::VQNEGv16i8:
10098 case ARM::VRECPEd:
10099 case ARM::VRECPEfd:
10100 case ARM::VRECPEfq:
10101 case ARM::VRECPEhd:
10102 case ARM::VRECPEhq:
10103 case ARM::VRECPEq:
10104 case ARM::VREV16d8:
10105 case ARM::VREV16q8:
10106 case ARM::VREV32d8:
10107 case ARM::VREV32d16:
10108 case ARM::VREV32q8:
10109 case ARM::VREV32q16:
10110 case ARM::VREV64d8:
10111 case ARM::VREV64d16:
10112 case ARM::VREV64d32:
10113 case ARM::VREV64q8:
10114 case ARM::VREV64q16:
10115 case ARM::VREV64q32:
10116 case ARM::VRSQRTEd:
10117 case ARM::VRSQRTEfd:
10118 case ARM::VRSQRTEfq:
10119 case ARM::VRSQRTEhd:
10120 case ARM::VRSQRTEhq:
10121 case ARM::VRSQRTEq:
10122 case ARM::VSHLLi8:
10123 case ARM::VSHLLi16:
10124 case ARM::VSHLLi32:
10125 case ARM::VSWPd:
10126 case ARM::VSWPq:
10127 case ARM::VTRNd8:
10128 case ARM::VTRNd16:
10129 case ARM::VTRNd32:
10130 case ARM::VTRNq8:
10131 case ARM::VTRNq16:
10132 case ARM::VTRNq32:
10133 case ARM::VUZPd8:
10134 case ARM::VUZPd16:
10135 case ARM::VUZPq8:
10136 case ARM::VUZPq16:
10137 case ARM::VUZPq32:
10138 case ARM::VZIPd8:
10139 case ARM::VZIPd16:
10140 case ARM::VZIPq8:
10141 case ARM::VZIPq16:
10142 case ARM::VZIPq32: {
10143 // op: Vd
10144 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10145 Value |= (op & UINT64_C(16)) << 18;
10146 Value |= (op & UINT64_C(15)) << 12;
10147 // op: Vm
10148 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10149 Value |= (op & UINT64_C(16)) << 1;
10150 Value |= (op & UINT64_C(15));
10151 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10152 break;
10153 }
10154 case ARM::VCVTANSDf:
10155 case ARM::VCVTANSDh:
10156 case ARM::VCVTANSQf:
10157 case ARM::VCVTANSQh:
10158 case ARM::VCVTANUDf:
10159 case ARM::VCVTANUDh:
10160 case ARM::VCVTANUQf:
10161 case ARM::VCVTANUQh:
10162 case ARM::VCVTMNSDf:
10163 case ARM::VCVTMNSDh:
10164 case ARM::VCVTMNSQf:
10165 case ARM::VCVTMNSQh:
10166 case ARM::VCVTMNUDf:
10167 case ARM::VCVTMNUDh:
10168 case ARM::VCVTMNUQf:
10169 case ARM::VCVTMNUQh:
10170 case ARM::VCVTNNSDf:
10171 case ARM::VCVTNNSDh:
10172 case ARM::VCVTNNSQf:
10173 case ARM::VCVTNNSQh:
10174 case ARM::VCVTNNUDf:
10175 case ARM::VCVTNNUDh:
10176 case ARM::VCVTNNUQf:
10177 case ARM::VCVTNNUQh:
10178 case ARM::VCVTPNSDf:
10179 case ARM::VCVTPNSDh:
10180 case ARM::VCVTPNSQf:
10181 case ARM::VCVTPNSQh:
10182 case ARM::VCVTPNUDf:
10183 case ARM::VCVTPNUDh:
10184 case ARM::VCVTPNUQf:
10185 case ARM::VCVTPNUQh:
10186 case ARM::VRINTANDf:
10187 case ARM::VRINTANDh:
10188 case ARM::VRINTANQf:
10189 case ARM::VRINTANQh:
10190 case ARM::VRINTMNDf:
10191 case ARM::VRINTMNDh:
10192 case ARM::VRINTMNQf:
10193 case ARM::VRINTMNQh:
10194 case ARM::VRINTNNDf:
10195 case ARM::VRINTNNDh:
10196 case ARM::VRINTNNQf:
10197 case ARM::VRINTNNQh:
10198 case ARM::VRINTPNDf:
10199 case ARM::VRINTPNDh:
10200 case ARM::VRINTPNQf:
10201 case ARM::VRINTPNQh:
10202 case ARM::VRINTXNDf:
10203 case ARM::VRINTXNDh:
10204 case ARM::VRINTXNQf:
10205 case ARM::VRINTXNQh:
10206 case ARM::VRINTZNDf:
10207 case ARM::VRINTZNDh:
10208 case ARM::VRINTZNQf:
10209 case ARM::VRINTZNQh: {
10210 // op: Vd
10211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10212 Value |= (op & UINT64_C(16)) << 18;
10213 Value |= (op & UINT64_C(15)) << 12;
10214 // op: Vm
10215 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10216 Value |= (op & UINT64_C(16)) << 1;
10217 Value |= (op & UINT64_C(15));
10218 Value = NEONThumb2V8PostEncoder(MI, EncodedValue: Value, STI);
10219 break;
10220 }
10221 case ARM::VSLIv4i16:
10222 case ARM::VSLIv8i16: {
10223 // op: Vd
10224 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10225 Value |= (op & UINT64_C(16)) << 18;
10226 Value |= (op & UINT64_C(15)) << 12;
10227 // op: Vm
10228 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10229 Value |= (op & UINT64_C(16)) << 1;
10230 Value |= (op & UINT64_C(15));
10231 // op: SIMM
10232 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10233 op &= UINT64_C(15);
10234 op <<= 16;
10235 Value |= op;
10236 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10237 break;
10238 }
10239 case ARM::VSLIv2i32:
10240 case ARM::VSLIv4i32: {
10241 // op: Vd
10242 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10243 Value |= (op & UINT64_C(16)) << 18;
10244 Value |= (op & UINT64_C(15)) << 12;
10245 // op: Vm
10246 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10247 Value |= (op & UINT64_C(16)) << 1;
10248 Value |= (op & UINT64_C(15));
10249 // op: SIMM
10250 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10251 op &= UINT64_C(31);
10252 op <<= 16;
10253 Value |= op;
10254 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10255 break;
10256 }
10257 case ARM::VSLIv1i64:
10258 case ARM::VSLIv2i64: {
10259 // op: Vd
10260 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10261 Value |= (op & UINT64_C(16)) << 18;
10262 Value |= (op & UINT64_C(15)) << 12;
10263 // op: Vm
10264 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10265 Value |= (op & UINT64_C(16)) << 1;
10266 Value |= (op & UINT64_C(15));
10267 // op: SIMM
10268 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10269 op &= UINT64_C(63);
10270 op <<= 16;
10271 Value |= op;
10272 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10273 break;
10274 }
10275 case ARM::VSLIv8i8:
10276 case ARM::VSLIv16i8: {
10277 // op: Vd
10278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10279 Value |= (op & UINT64_C(16)) << 18;
10280 Value |= (op & UINT64_C(15)) << 12;
10281 // op: Vm
10282 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10283 Value |= (op & UINT64_C(16)) << 1;
10284 Value |= (op & UINT64_C(15));
10285 // op: SIMM
10286 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10287 op &= UINT64_C(7);
10288 op <<= 16;
10289 Value |= op;
10290 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10291 break;
10292 }
10293 case ARM::VRSRAsv4i16:
10294 case ARM::VRSRAsv8i16:
10295 case ARM::VRSRAuv4i16:
10296 case ARM::VRSRAuv8i16:
10297 case ARM::VSRAsv4i16:
10298 case ARM::VSRAsv8i16:
10299 case ARM::VSRAuv4i16:
10300 case ARM::VSRAuv8i16:
10301 case ARM::VSRIv4i16:
10302 case ARM::VSRIv8i16: {
10303 // op: Vd
10304 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10305 Value |= (op & UINT64_C(16)) << 18;
10306 Value |= (op & UINT64_C(15)) << 12;
10307 // op: Vm
10308 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10309 Value |= (op & UINT64_C(16)) << 1;
10310 Value |= (op & UINT64_C(15));
10311 // op: SIMM
10312 op = getShiftRight16Imm(MI, Op: 3, Fixups, STI);
10313 op &= UINT64_C(15);
10314 op <<= 16;
10315 Value |= op;
10316 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10317 break;
10318 }
10319 case ARM::VRSRAsv2i32:
10320 case ARM::VRSRAsv4i32:
10321 case ARM::VRSRAuv2i32:
10322 case ARM::VRSRAuv4i32:
10323 case ARM::VSRAsv2i32:
10324 case ARM::VSRAsv4i32:
10325 case ARM::VSRAuv2i32:
10326 case ARM::VSRAuv4i32:
10327 case ARM::VSRIv2i32:
10328 case ARM::VSRIv4i32: {
10329 // op: Vd
10330 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10331 Value |= (op & UINT64_C(16)) << 18;
10332 Value |= (op & UINT64_C(15)) << 12;
10333 // op: Vm
10334 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10335 Value |= (op & UINT64_C(16)) << 1;
10336 Value |= (op & UINT64_C(15));
10337 // op: SIMM
10338 op = getShiftRight32Imm(MI, Op: 3, Fixups, STI);
10339 op &= UINT64_C(31);
10340 op <<= 16;
10341 Value |= op;
10342 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10343 break;
10344 }
10345 case ARM::VRSRAsv1i64:
10346 case ARM::VRSRAsv2i64:
10347 case ARM::VRSRAuv1i64:
10348 case ARM::VRSRAuv2i64:
10349 case ARM::VSRAsv1i64:
10350 case ARM::VSRAsv2i64:
10351 case ARM::VSRAuv1i64:
10352 case ARM::VSRAuv2i64:
10353 case ARM::VSRIv1i64:
10354 case ARM::VSRIv2i64: {
10355 // op: Vd
10356 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10357 Value |= (op & UINT64_C(16)) << 18;
10358 Value |= (op & UINT64_C(15)) << 12;
10359 // op: Vm
10360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10361 Value |= (op & UINT64_C(16)) << 1;
10362 Value |= (op & UINT64_C(15));
10363 // op: SIMM
10364 op = getShiftRight64Imm(MI, Op: 3, Fixups, STI);
10365 op &= UINT64_C(63);
10366 op <<= 16;
10367 Value |= op;
10368 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10369 break;
10370 }
10371 case ARM::VRSRAsv8i8:
10372 case ARM::VRSRAsv16i8:
10373 case ARM::VRSRAuv8i8:
10374 case ARM::VRSRAuv16i8:
10375 case ARM::VSRAsv8i8:
10376 case ARM::VSRAsv16i8:
10377 case ARM::VSRAuv8i8:
10378 case ARM::VSRAuv16i8:
10379 case ARM::VSRIv8i8:
10380 case ARM::VSRIv16i8: {
10381 // op: Vd
10382 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10383 Value |= (op & UINT64_C(16)) << 18;
10384 Value |= (op & UINT64_C(15)) << 12;
10385 // op: Vm
10386 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10387 Value |= (op & UINT64_C(16)) << 1;
10388 Value |= (op & UINT64_C(15));
10389 // op: SIMM
10390 op = getShiftRight8Imm(MI, Op: 3, Fixups, STI);
10391 op &= UINT64_C(7);
10392 op <<= 16;
10393 Value |= op;
10394 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10395 break;
10396 }
10397 case ARM::AESD:
10398 case ARM::AESE:
10399 case ARM::SHA1SU1:
10400 case ARM::SHA256SU0:
10401 case ARM::VPADALsv2i32:
10402 case ARM::VPADALsv4i16:
10403 case ARM::VPADALsv4i32:
10404 case ARM::VPADALsv8i8:
10405 case ARM::VPADALsv8i16:
10406 case ARM::VPADALsv16i8:
10407 case ARM::VPADALuv2i32:
10408 case ARM::VPADALuv4i16:
10409 case ARM::VPADALuv4i32:
10410 case ARM::VPADALuv8i8:
10411 case ARM::VPADALuv8i16:
10412 case ARM::VPADALuv16i8: {
10413 // op: Vd
10414 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10415 Value |= (op & UINT64_C(16)) << 18;
10416 Value |= (op & UINT64_C(15)) << 12;
10417 // op: Vm
10418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10419 Value |= (op & UINT64_C(16)) << 1;
10420 Value |= (op & UINT64_C(15));
10421 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10422 break;
10423 }
10424 case ARM::VFMALQ:
10425 case ARM::VFMSLQ: {
10426 // op: Vd
10427 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10428 Value |= (op & UINT64_C(16)) << 18;
10429 Value |= (op & UINT64_C(15)) << 12;
10430 // op: Vn
10431 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10432 Value |= (op & UINT64_C(15)) << 16;
10433 Value |= (op & UINT64_C(16)) << 3;
10434 // op: Vm
10435 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10436 Value |= (op & UINT64_C(16)) << 1;
10437 Value |= (op & UINT64_C(15));
10438 break;
10439 }
10440 case ARM::VEXTd32: {
10441 // op: Vd
10442 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10443 Value |= (op & UINT64_C(16)) << 18;
10444 Value |= (op & UINT64_C(15)) << 12;
10445 // op: Vn
10446 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10447 Value |= (op & UINT64_C(15)) << 16;
10448 Value |= (op & UINT64_C(16)) << 3;
10449 // op: Vm
10450 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10451 Value |= (op & UINT64_C(16)) << 1;
10452 Value |= (op & UINT64_C(15));
10453 // op: index
10454 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10455 op &= UINT64_C(1);
10456 op <<= 10;
10457 Value |= op;
10458 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10459 break;
10460 }
10461 case ARM::VEXTq64: {
10462 // op: Vd
10463 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10464 Value |= (op & UINT64_C(16)) << 18;
10465 Value |= (op & UINT64_C(15)) << 12;
10466 // op: Vn
10467 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10468 Value |= (op & UINT64_C(15)) << 16;
10469 Value |= (op & UINT64_C(16)) << 3;
10470 // op: Vm
10471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10472 Value |= (op & UINT64_C(16)) << 1;
10473 Value |= (op & UINT64_C(15));
10474 // op: index
10475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10476 op &= UINT64_C(1);
10477 op <<= 11;
10478 Value |= op;
10479 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10480 break;
10481 }
10482 case ARM::VEXTq8: {
10483 // op: Vd
10484 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10485 Value |= (op & UINT64_C(16)) << 18;
10486 Value |= (op & UINT64_C(15)) << 12;
10487 // op: Vn
10488 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10489 Value |= (op & UINT64_C(15)) << 16;
10490 Value |= (op & UINT64_C(16)) << 3;
10491 // op: Vm
10492 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10493 Value |= (op & UINT64_C(16)) << 1;
10494 Value |= (op & UINT64_C(15));
10495 // op: index
10496 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10497 op &= UINT64_C(15);
10498 op <<= 8;
10499 Value |= op;
10500 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10501 break;
10502 }
10503 case ARM::VEXTq32: {
10504 // op: Vd
10505 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10506 Value |= (op & UINT64_C(16)) << 18;
10507 Value |= (op & UINT64_C(15)) << 12;
10508 // op: Vn
10509 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10510 Value |= (op & UINT64_C(15)) << 16;
10511 Value |= (op & UINT64_C(16)) << 3;
10512 // op: Vm
10513 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10514 Value |= (op & UINT64_C(16)) << 1;
10515 Value |= (op & UINT64_C(15));
10516 // op: index
10517 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10518 op &= UINT64_C(3);
10519 op <<= 10;
10520 Value |= op;
10521 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10522 break;
10523 }
10524 case ARM::VEXTd16: {
10525 // op: Vd
10526 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10527 Value |= (op & UINT64_C(16)) << 18;
10528 Value |= (op & UINT64_C(15)) << 12;
10529 // op: Vn
10530 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10531 Value |= (op & UINT64_C(15)) << 16;
10532 Value |= (op & UINT64_C(16)) << 3;
10533 // op: Vm
10534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10535 Value |= (op & UINT64_C(16)) << 1;
10536 Value |= (op & UINT64_C(15));
10537 // op: index
10538 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10539 op &= UINT64_C(3);
10540 op <<= 9;
10541 Value |= op;
10542 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10543 break;
10544 }
10545 case ARM::VEXTd8: {
10546 // op: Vd
10547 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10548 Value |= (op & UINT64_C(16)) << 18;
10549 Value |= (op & UINT64_C(15)) << 12;
10550 // op: Vn
10551 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10552 Value |= (op & UINT64_C(15)) << 16;
10553 Value |= (op & UINT64_C(16)) << 3;
10554 // op: Vm
10555 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10556 Value |= (op & UINT64_C(16)) << 1;
10557 Value |= (op & UINT64_C(15));
10558 // op: index
10559 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10560 op &= UINT64_C(7);
10561 op <<= 8;
10562 Value |= op;
10563 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10564 break;
10565 }
10566 case ARM::VEXTq16: {
10567 // op: Vd
10568 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10569 Value |= (op & UINT64_C(16)) << 18;
10570 Value |= (op & UINT64_C(15)) << 12;
10571 // op: Vn
10572 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10573 Value |= (op & UINT64_C(15)) << 16;
10574 Value |= (op & UINT64_C(16)) << 3;
10575 // op: Vm
10576 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10577 Value |= (op & UINT64_C(16)) << 1;
10578 Value |= (op & UINT64_C(15));
10579 // op: index
10580 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10581 op &= UINT64_C(7);
10582 op <<= 9;
10583 Value |= op;
10584 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10585 break;
10586 }
10587 case ARM::VCADDv2f32:
10588 case ARM::VCADDv4f16:
10589 case ARM::VCADDv4f32:
10590 case ARM::VCADDv8f16: {
10591 // op: Vd
10592 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10593 Value |= (op & UINT64_C(16)) << 18;
10594 Value |= (op & UINT64_C(15)) << 12;
10595 // op: Vn
10596 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10597 Value |= (op & UINT64_C(15)) << 16;
10598 Value |= (op & UINT64_C(16)) << 3;
10599 // op: Vm
10600 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10601 Value |= (op & UINT64_C(16)) << 1;
10602 Value |= (op & UINT64_C(15));
10603 // op: rot
10604 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10605 op &= UINT64_C(1);
10606 op <<= 24;
10607 Value |= op;
10608 break;
10609 }
10610 case ARM::VABDLsv2i64:
10611 case ARM::VABDLsv4i32:
10612 case ARM::VABDLsv8i16:
10613 case ARM::VABDLuv2i64:
10614 case ARM::VABDLuv4i32:
10615 case ARM::VABDLuv8i16:
10616 case ARM::VABDfd:
10617 case ARM::VABDfq:
10618 case ARM::VABDhd:
10619 case ARM::VABDhq:
10620 case ARM::VABDsv2i32:
10621 case ARM::VABDsv4i16:
10622 case ARM::VABDsv4i32:
10623 case ARM::VABDsv8i8:
10624 case ARM::VABDsv8i16:
10625 case ARM::VABDsv16i8:
10626 case ARM::VABDuv2i32:
10627 case ARM::VABDuv4i16:
10628 case ARM::VABDuv4i32:
10629 case ARM::VABDuv8i8:
10630 case ARM::VABDuv8i16:
10631 case ARM::VABDuv16i8:
10632 case ARM::VACGEfd:
10633 case ARM::VACGEfq:
10634 case ARM::VACGEhd:
10635 case ARM::VACGEhq:
10636 case ARM::VACGTfd:
10637 case ARM::VACGTfq:
10638 case ARM::VACGThd:
10639 case ARM::VACGThq:
10640 case ARM::VADDHNv2i32:
10641 case ARM::VADDHNv4i16:
10642 case ARM::VADDHNv8i8:
10643 case ARM::VADDLsv2i64:
10644 case ARM::VADDLsv4i32:
10645 case ARM::VADDLsv8i16:
10646 case ARM::VADDLuv2i64:
10647 case ARM::VADDLuv4i32:
10648 case ARM::VADDLuv8i16:
10649 case ARM::VADDWsv2i64:
10650 case ARM::VADDWsv4i32:
10651 case ARM::VADDWsv8i16:
10652 case ARM::VADDWuv2i64:
10653 case ARM::VADDWuv4i32:
10654 case ARM::VADDWuv8i16:
10655 case ARM::VADDfd:
10656 case ARM::VADDfq:
10657 case ARM::VADDhd:
10658 case ARM::VADDhq:
10659 case ARM::VADDv1i64:
10660 case ARM::VADDv2i32:
10661 case ARM::VADDv2i64:
10662 case ARM::VADDv4i16:
10663 case ARM::VADDv4i32:
10664 case ARM::VADDv8i8:
10665 case ARM::VADDv8i16:
10666 case ARM::VADDv16i8:
10667 case ARM::VANDd:
10668 case ARM::VANDq:
10669 case ARM::VBICd:
10670 case ARM::VBICq:
10671 case ARM::VCEQfd:
10672 case ARM::VCEQfq:
10673 case ARM::VCEQhd:
10674 case ARM::VCEQhq:
10675 case ARM::VCEQv2i32:
10676 case ARM::VCEQv4i16:
10677 case ARM::VCEQv4i32:
10678 case ARM::VCEQv8i8:
10679 case ARM::VCEQv8i16:
10680 case ARM::VCEQv16i8:
10681 case ARM::VCGEfd:
10682 case ARM::VCGEfq:
10683 case ARM::VCGEhd:
10684 case ARM::VCGEhq:
10685 case ARM::VCGEsv2i32:
10686 case ARM::VCGEsv4i16:
10687 case ARM::VCGEsv4i32:
10688 case ARM::VCGEsv8i8:
10689 case ARM::VCGEsv8i16:
10690 case ARM::VCGEsv16i8:
10691 case ARM::VCGEuv2i32:
10692 case ARM::VCGEuv4i16:
10693 case ARM::VCGEuv4i32:
10694 case ARM::VCGEuv8i8:
10695 case ARM::VCGEuv8i16:
10696 case ARM::VCGEuv16i8:
10697 case ARM::VCGTfd:
10698 case ARM::VCGTfq:
10699 case ARM::VCGThd:
10700 case ARM::VCGThq:
10701 case ARM::VCGTsv2i32:
10702 case ARM::VCGTsv4i16:
10703 case ARM::VCGTsv4i32:
10704 case ARM::VCGTsv8i8:
10705 case ARM::VCGTsv8i16:
10706 case ARM::VCGTsv16i8:
10707 case ARM::VCGTuv2i32:
10708 case ARM::VCGTuv4i16:
10709 case ARM::VCGTuv4i32:
10710 case ARM::VCGTuv8i8:
10711 case ARM::VCGTuv8i16:
10712 case ARM::VCGTuv16i8:
10713 case ARM::VEORd:
10714 case ARM::VEORq:
10715 case ARM::VHADDsv2i32:
10716 case ARM::VHADDsv4i16:
10717 case ARM::VHADDsv4i32:
10718 case ARM::VHADDsv8i8:
10719 case ARM::VHADDsv8i16:
10720 case ARM::VHADDsv16i8:
10721 case ARM::VHADDuv2i32:
10722 case ARM::VHADDuv4i16:
10723 case ARM::VHADDuv4i32:
10724 case ARM::VHADDuv8i8:
10725 case ARM::VHADDuv8i16:
10726 case ARM::VHADDuv16i8:
10727 case ARM::VHSUBsv2i32:
10728 case ARM::VHSUBsv4i16:
10729 case ARM::VHSUBsv4i32:
10730 case ARM::VHSUBsv8i8:
10731 case ARM::VHSUBsv8i16:
10732 case ARM::VHSUBsv16i8:
10733 case ARM::VHSUBuv2i32:
10734 case ARM::VHSUBuv4i16:
10735 case ARM::VHSUBuv4i32:
10736 case ARM::VHSUBuv8i8:
10737 case ARM::VHSUBuv8i16:
10738 case ARM::VHSUBuv16i8:
10739 case ARM::VMAXfd:
10740 case ARM::VMAXfq:
10741 case ARM::VMAXhd:
10742 case ARM::VMAXhq:
10743 case ARM::VMAXsv2i32:
10744 case ARM::VMAXsv4i16:
10745 case ARM::VMAXsv4i32:
10746 case ARM::VMAXsv8i8:
10747 case ARM::VMAXsv8i16:
10748 case ARM::VMAXsv16i8:
10749 case ARM::VMAXuv2i32:
10750 case ARM::VMAXuv4i16:
10751 case ARM::VMAXuv4i32:
10752 case ARM::VMAXuv8i8:
10753 case ARM::VMAXuv8i16:
10754 case ARM::VMAXuv16i8:
10755 case ARM::VMINfd:
10756 case ARM::VMINfq:
10757 case ARM::VMINhd:
10758 case ARM::VMINhq:
10759 case ARM::VMINsv2i32:
10760 case ARM::VMINsv4i16:
10761 case ARM::VMINsv4i32:
10762 case ARM::VMINsv8i8:
10763 case ARM::VMINsv8i16:
10764 case ARM::VMINsv16i8:
10765 case ARM::VMINuv2i32:
10766 case ARM::VMINuv4i16:
10767 case ARM::VMINuv4i32:
10768 case ARM::VMINuv8i8:
10769 case ARM::VMINuv8i16:
10770 case ARM::VMINuv16i8:
10771 case ARM::VMULLp8:
10772 case ARM::VMULLp64:
10773 case ARM::VMULLsv2i64:
10774 case ARM::VMULLsv4i32:
10775 case ARM::VMULLsv8i16:
10776 case ARM::VMULLuv2i64:
10777 case ARM::VMULLuv4i32:
10778 case ARM::VMULLuv8i16:
10779 case ARM::VMULfd:
10780 case ARM::VMULfq:
10781 case ARM::VMULhd:
10782 case ARM::VMULhq:
10783 case ARM::VMULpd:
10784 case ARM::VMULpq:
10785 case ARM::VMULv2i32:
10786 case ARM::VMULv4i16:
10787 case ARM::VMULv4i32:
10788 case ARM::VMULv8i8:
10789 case ARM::VMULv8i16:
10790 case ARM::VMULv16i8:
10791 case ARM::VORNd:
10792 case ARM::VORNq:
10793 case ARM::VORRd:
10794 case ARM::VORRq:
10795 case ARM::VPADDf:
10796 case ARM::VPADDh:
10797 case ARM::VPADDi8:
10798 case ARM::VPADDi16:
10799 case ARM::VPADDi32:
10800 case ARM::VPMAXf:
10801 case ARM::VPMAXh:
10802 case ARM::VPMAXs8:
10803 case ARM::VPMAXs16:
10804 case ARM::VPMAXs32:
10805 case ARM::VPMAXu8:
10806 case ARM::VPMAXu16:
10807 case ARM::VPMAXu32:
10808 case ARM::VPMINf:
10809 case ARM::VPMINh:
10810 case ARM::VPMINs8:
10811 case ARM::VPMINs16:
10812 case ARM::VPMINs32:
10813 case ARM::VPMINu8:
10814 case ARM::VPMINu16:
10815 case ARM::VPMINu32:
10816 case ARM::VQADDsv1i64:
10817 case ARM::VQADDsv2i32:
10818 case ARM::VQADDsv2i64:
10819 case ARM::VQADDsv4i16:
10820 case ARM::VQADDsv4i32:
10821 case ARM::VQADDsv8i8:
10822 case ARM::VQADDsv8i16:
10823 case ARM::VQADDsv16i8:
10824 case ARM::VQADDuv1i64:
10825 case ARM::VQADDuv2i32:
10826 case ARM::VQADDuv2i64:
10827 case ARM::VQADDuv4i16:
10828 case ARM::VQADDuv4i32:
10829 case ARM::VQADDuv8i8:
10830 case ARM::VQADDuv8i16:
10831 case ARM::VQADDuv16i8:
10832 case ARM::VQDMULHv2i32:
10833 case ARM::VQDMULHv4i16:
10834 case ARM::VQDMULHv4i32:
10835 case ARM::VQDMULHv8i16:
10836 case ARM::VQDMULLv2i64:
10837 case ARM::VQDMULLv4i32:
10838 case ARM::VQRDMULHv2i32:
10839 case ARM::VQRDMULHv4i16:
10840 case ARM::VQRDMULHv4i32:
10841 case ARM::VQRDMULHv8i16:
10842 case ARM::VQSUBsv1i64:
10843 case ARM::VQSUBsv2i32:
10844 case ARM::VQSUBsv2i64:
10845 case ARM::VQSUBsv4i16:
10846 case ARM::VQSUBsv4i32:
10847 case ARM::VQSUBsv8i8:
10848 case ARM::VQSUBsv8i16:
10849 case ARM::VQSUBsv16i8:
10850 case ARM::VQSUBuv1i64:
10851 case ARM::VQSUBuv2i32:
10852 case ARM::VQSUBuv2i64:
10853 case ARM::VQSUBuv4i16:
10854 case ARM::VQSUBuv4i32:
10855 case ARM::VQSUBuv8i8:
10856 case ARM::VQSUBuv8i16:
10857 case ARM::VQSUBuv16i8:
10858 case ARM::VRADDHNv2i32:
10859 case ARM::VRADDHNv4i16:
10860 case ARM::VRADDHNv8i8:
10861 case ARM::VRECPSfd:
10862 case ARM::VRECPSfq:
10863 case ARM::VRECPShd:
10864 case ARM::VRECPShq:
10865 case ARM::VRHADDsv2i32:
10866 case ARM::VRHADDsv4i16:
10867 case ARM::VRHADDsv4i32:
10868 case ARM::VRHADDsv8i8:
10869 case ARM::VRHADDsv8i16:
10870 case ARM::VRHADDsv16i8:
10871 case ARM::VRHADDuv2i32:
10872 case ARM::VRHADDuv4i16:
10873 case ARM::VRHADDuv4i32:
10874 case ARM::VRHADDuv8i8:
10875 case ARM::VRHADDuv8i16:
10876 case ARM::VRHADDuv16i8:
10877 case ARM::VRSQRTSfd:
10878 case ARM::VRSQRTSfq:
10879 case ARM::VRSQRTShd:
10880 case ARM::VRSQRTShq:
10881 case ARM::VRSUBHNv2i32:
10882 case ARM::VRSUBHNv4i16:
10883 case ARM::VRSUBHNv8i8:
10884 case ARM::VSUBHNv2i32:
10885 case ARM::VSUBHNv4i16:
10886 case ARM::VSUBHNv8i8:
10887 case ARM::VSUBLsv2i64:
10888 case ARM::VSUBLsv4i32:
10889 case ARM::VSUBLsv8i16:
10890 case ARM::VSUBLuv2i64:
10891 case ARM::VSUBLuv4i32:
10892 case ARM::VSUBLuv8i16:
10893 case ARM::VSUBWsv2i64:
10894 case ARM::VSUBWsv4i32:
10895 case ARM::VSUBWsv8i16:
10896 case ARM::VSUBWuv2i64:
10897 case ARM::VSUBWuv4i32:
10898 case ARM::VSUBWuv8i16:
10899 case ARM::VSUBfd:
10900 case ARM::VSUBfq:
10901 case ARM::VSUBhd:
10902 case ARM::VSUBhq:
10903 case ARM::VSUBv1i64:
10904 case ARM::VSUBv2i32:
10905 case ARM::VSUBv2i64:
10906 case ARM::VSUBv4i16:
10907 case ARM::VSUBv4i32:
10908 case ARM::VSUBv8i8:
10909 case ARM::VSUBv8i16:
10910 case ARM::VSUBv16i8:
10911 case ARM::VTBL1:
10912 case ARM::VTBL2:
10913 case ARM::VTBL3:
10914 case ARM::VTBL4:
10915 case ARM::VTSTv2i32:
10916 case ARM::VTSTv4i16:
10917 case ARM::VTSTv4i32:
10918 case ARM::VTSTv8i8:
10919 case ARM::VTSTv8i16:
10920 case ARM::VTSTv16i8: {
10921 // op: Vd
10922 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10923 Value |= (op & UINT64_C(16)) << 18;
10924 Value |= (op & UINT64_C(15)) << 12;
10925 // op: Vn
10926 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10927 Value |= (op & UINT64_C(15)) << 16;
10928 Value |= (op & UINT64_C(16)) << 3;
10929 // op: Vm
10930 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10931 Value |= (op & UINT64_C(16)) << 1;
10932 Value |= (op & UINT64_C(15));
10933 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10934 break;
10935 }
10936 case ARM::NEON_VMAXNMNDf:
10937 case ARM::NEON_VMAXNMNDh:
10938 case ARM::NEON_VMAXNMNQf:
10939 case ARM::NEON_VMAXNMNQh:
10940 case ARM::NEON_VMINNMNDf:
10941 case ARM::NEON_VMINNMNDh:
10942 case ARM::NEON_VMINNMNQf:
10943 case ARM::NEON_VMINNMNQh: {
10944 // op: Vd
10945 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10946 Value |= (op & UINT64_C(16)) << 18;
10947 Value |= (op & UINT64_C(15)) << 12;
10948 // op: Vn
10949 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10950 Value |= (op & UINT64_C(15)) << 16;
10951 Value |= (op & UINT64_C(16)) << 3;
10952 // op: Vm
10953 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10954 Value |= (op & UINT64_C(16)) << 1;
10955 Value |= (op & UINT64_C(15));
10956 Value = NEONThumb2V8PostEncoder(MI, EncodedValue: Value, STI);
10957 break;
10958 }
10959 case ARM::VMULLslsv2i32:
10960 case ARM::VMULLsluv2i32:
10961 case ARM::VMULslfd:
10962 case ARM::VMULslfq:
10963 case ARM::VMULslv2i32:
10964 case ARM::VMULslv4i32:
10965 case ARM::VQDMULHslv2i32:
10966 case ARM::VQDMULHslv4i32:
10967 case ARM::VQDMULLslv2i32:
10968 case ARM::VQRDMULHslv2i32:
10969 case ARM::VQRDMULHslv4i32: {
10970 // op: Vd
10971 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10972 Value |= (op & UINT64_C(16)) << 18;
10973 Value |= (op & UINT64_C(15)) << 12;
10974 // op: Vn
10975 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10976 Value |= (op & UINT64_C(15)) << 16;
10977 Value |= (op & UINT64_C(16)) << 3;
10978 // op: Vm
10979 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
10980 op &= UINT64_C(15);
10981 Value |= op;
10982 // op: lane
10983 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
10984 op &= UINT64_C(1);
10985 op <<= 5;
10986 Value |= op;
10987 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
10988 break;
10989 }
10990 case ARM::VFMALQI:
10991 case ARM::VFMSLQI: {
10992 // op: Vd
10993 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
10994 Value |= (op & UINT64_C(16)) << 18;
10995 Value |= (op & UINT64_C(15)) << 12;
10996 // op: Vn
10997 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
10998 Value |= (op & UINT64_C(15)) << 16;
10999 Value |= (op & UINT64_C(16)) << 3;
11000 // op: Vm
11001 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11002 op &= UINT64_C(7);
11003 Value |= op;
11004 // op: idx
11005 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11006 Value |= (op & UINT64_C(2)) << 4;
11007 Value |= (op & UINT64_C(1)) << 3;
11008 break;
11009 }
11010 case ARM::VMULLslsv4i16:
11011 case ARM::VMULLsluv4i16:
11012 case ARM::VMULslhd:
11013 case ARM::VMULslhq:
11014 case ARM::VMULslv4i16:
11015 case ARM::VMULslv8i16:
11016 case ARM::VQDMULHslv4i16:
11017 case ARM::VQDMULHslv8i16:
11018 case ARM::VQDMULLslv4i16:
11019 case ARM::VQRDMULHslv4i16:
11020 case ARM::VQRDMULHslv8i16: {
11021 // op: Vd
11022 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11023 Value |= (op & UINT64_C(16)) << 18;
11024 Value |= (op & UINT64_C(15)) << 12;
11025 // op: Vn
11026 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11027 Value |= (op & UINT64_C(15)) << 16;
11028 Value |= (op & UINT64_C(16)) << 3;
11029 // op: Vm
11030 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11031 op &= UINT64_C(7);
11032 Value |= op;
11033 // op: lane
11034 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11035 Value |= (op & UINT64_C(2)) << 4;
11036 Value |= (op & UINT64_C(1)) << 3;
11037 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
11038 break;
11039 }
11040 case ARM::VFMALDI:
11041 case ARM::VFMSLDI: {
11042 // op: Vd
11043 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11044 Value |= (op & UINT64_C(16)) << 18;
11045 Value |= (op & UINT64_C(15)) << 12;
11046 // op: Vn
11047 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11048 Value |= (op & UINT64_C(30)) << 15;
11049 Value |= (op & UINT64_C(1)) << 7;
11050 // op: Vm
11051 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11052 Value |= (op & UINT64_C(1)) << 5;
11053 Value |= (op & UINT64_C(14)) >> 1;
11054 // op: idx
11055 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11056 op &= UINT64_C(1);
11057 op <<= 3;
11058 Value |= op;
11059 break;
11060 }
11061 case ARM::VFMALD:
11062 case ARM::VFMSLD: {
11063 // op: Vd
11064 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11065 Value |= (op & UINT64_C(16)) << 18;
11066 Value |= (op & UINT64_C(15)) << 12;
11067 // op: Vn
11068 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11069 Value |= (op & UINT64_C(30)) << 15;
11070 Value |= (op & UINT64_C(1)) << 7;
11071 // op: Vm
11072 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11073 Value |= (op & UINT64_C(1)) << 5;
11074 Value |= (op & UINT64_C(30)) >> 1;
11075 break;
11076 }
11077 case ARM::VQRSHLsv1i64:
11078 case ARM::VQRSHLsv2i32:
11079 case ARM::VQRSHLsv2i64:
11080 case ARM::VQRSHLsv4i16:
11081 case ARM::VQRSHLsv4i32:
11082 case ARM::VQRSHLsv8i8:
11083 case ARM::VQRSHLsv8i16:
11084 case ARM::VQRSHLsv16i8:
11085 case ARM::VQRSHLuv1i64:
11086 case ARM::VQRSHLuv2i32:
11087 case ARM::VQRSHLuv2i64:
11088 case ARM::VQRSHLuv4i16:
11089 case ARM::VQRSHLuv4i32:
11090 case ARM::VQRSHLuv8i8:
11091 case ARM::VQRSHLuv8i16:
11092 case ARM::VQRSHLuv16i8:
11093 case ARM::VQSHLsv1i64:
11094 case ARM::VQSHLsv2i32:
11095 case ARM::VQSHLsv2i64:
11096 case ARM::VQSHLsv4i16:
11097 case ARM::VQSHLsv4i32:
11098 case ARM::VQSHLsv8i8:
11099 case ARM::VQSHLsv8i16:
11100 case ARM::VQSHLsv16i8:
11101 case ARM::VQSHLuv1i64:
11102 case ARM::VQSHLuv2i32:
11103 case ARM::VQSHLuv2i64:
11104 case ARM::VQSHLuv4i16:
11105 case ARM::VQSHLuv4i32:
11106 case ARM::VQSHLuv8i8:
11107 case ARM::VQSHLuv8i16:
11108 case ARM::VQSHLuv16i8:
11109 case ARM::VRSHLsv1i64:
11110 case ARM::VRSHLsv2i32:
11111 case ARM::VRSHLsv2i64:
11112 case ARM::VRSHLsv4i16:
11113 case ARM::VRSHLsv4i32:
11114 case ARM::VRSHLsv8i8:
11115 case ARM::VRSHLsv8i16:
11116 case ARM::VRSHLsv16i8:
11117 case ARM::VRSHLuv1i64:
11118 case ARM::VRSHLuv2i32:
11119 case ARM::VRSHLuv2i64:
11120 case ARM::VRSHLuv4i16:
11121 case ARM::VRSHLuv4i32:
11122 case ARM::VRSHLuv8i8:
11123 case ARM::VRSHLuv8i16:
11124 case ARM::VRSHLuv16i8:
11125 case ARM::VSHLsv1i64:
11126 case ARM::VSHLsv2i32:
11127 case ARM::VSHLsv2i64:
11128 case ARM::VSHLsv4i16:
11129 case ARM::VSHLsv4i32:
11130 case ARM::VSHLsv8i8:
11131 case ARM::VSHLsv8i16:
11132 case ARM::VSHLsv16i8:
11133 case ARM::VSHLuv1i64:
11134 case ARM::VSHLuv2i32:
11135 case ARM::VSHLuv2i64:
11136 case ARM::VSHLuv4i16:
11137 case ARM::VSHLuv4i32:
11138 case ARM::VSHLuv8i8:
11139 case ARM::VSHLuv8i16:
11140 case ARM::VSHLuv16i8: {
11141 // op: Vd
11142 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11143 Value |= (op & UINT64_C(16)) << 18;
11144 Value |= (op & UINT64_C(15)) << 12;
11145 // op: Vn
11146 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11147 Value |= (op & UINT64_C(15)) << 16;
11148 Value |= (op & UINT64_C(16)) << 3;
11149 // op: Vm
11150 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11151 Value |= (op & UINT64_C(16)) << 1;
11152 Value |= (op & UINT64_C(15));
11153 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
11154 break;
11155 }
11156 case ARM::VCMLAv2f32:
11157 case ARM::VCMLAv4f16:
11158 case ARM::VCMLAv4f32:
11159 case ARM::VCMLAv8f16: {
11160 // op: Vd
11161 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11162 Value |= (op & UINT64_C(16)) << 18;
11163 Value |= (op & UINT64_C(15)) << 12;
11164 // op: Vn
11165 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11166 Value |= (op & UINT64_C(15)) << 16;
11167 Value |= (op & UINT64_C(16)) << 3;
11168 // op: Vm
11169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11170 Value |= (op & UINT64_C(16)) << 1;
11171 Value |= (op & UINT64_C(15));
11172 // op: rot
11173 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11174 op &= UINT64_C(3);
11175 op <<= 23;
11176 Value |= op;
11177 break;
11178 }
11179 case ARM::VCMLAv2f32_indexed:
11180 case ARM::VCMLAv4f32_indexed: {
11181 // op: Vd
11182 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11183 Value |= (op & UINT64_C(16)) << 18;
11184 Value |= (op & UINT64_C(15)) << 12;
11185 // op: Vn
11186 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11187 Value |= (op & UINT64_C(15)) << 16;
11188 Value |= (op & UINT64_C(16)) << 3;
11189 // op: Vm
11190 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11191 Value |= (op & UINT64_C(16)) << 1;
11192 Value |= (op & UINT64_C(15));
11193 // op: rot
11194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
11195 op &= UINT64_C(3);
11196 op <<= 20;
11197 Value |= op;
11198 break;
11199 }
11200 case ARM::SHA1C:
11201 case ARM::SHA1M:
11202 case ARM::SHA1P:
11203 case ARM::SHA1SU0:
11204 case ARM::SHA256H:
11205 case ARM::SHA256H2:
11206 case ARM::SHA256SU1:
11207 case ARM::VABALsv2i64:
11208 case ARM::VABALsv4i32:
11209 case ARM::VABALsv8i16:
11210 case ARM::VABALuv2i64:
11211 case ARM::VABALuv4i32:
11212 case ARM::VABALuv8i16:
11213 case ARM::VABAsv2i32:
11214 case ARM::VABAsv4i16:
11215 case ARM::VABAsv4i32:
11216 case ARM::VABAsv8i8:
11217 case ARM::VABAsv8i16:
11218 case ARM::VABAsv16i8:
11219 case ARM::VABAuv2i32:
11220 case ARM::VABAuv4i16:
11221 case ARM::VABAuv4i32:
11222 case ARM::VABAuv8i8:
11223 case ARM::VABAuv8i16:
11224 case ARM::VABAuv16i8:
11225 case ARM::VBIFd:
11226 case ARM::VBIFq:
11227 case ARM::VBITd:
11228 case ARM::VBITq:
11229 case ARM::VBSLd:
11230 case ARM::VBSLq:
11231 case ARM::VFMAfd:
11232 case ARM::VFMAfq:
11233 case ARM::VFMAhd:
11234 case ARM::VFMAhq:
11235 case ARM::VFMSfd:
11236 case ARM::VFMSfq:
11237 case ARM::VFMShd:
11238 case ARM::VFMShq:
11239 case ARM::VMLALsv2i64:
11240 case ARM::VMLALsv4i32:
11241 case ARM::VMLALsv8i16:
11242 case ARM::VMLALuv2i64:
11243 case ARM::VMLALuv4i32:
11244 case ARM::VMLALuv8i16:
11245 case ARM::VMLAfd:
11246 case ARM::VMLAfq:
11247 case ARM::VMLAhd:
11248 case ARM::VMLAhq:
11249 case ARM::VMLAv2i32:
11250 case ARM::VMLAv4i16:
11251 case ARM::VMLAv4i32:
11252 case ARM::VMLAv8i8:
11253 case ARM::VMLAv8i16:
11254 case ARM::VMLAv16i8:
11255 case ARM::VMLSLsv2i64:
11256 case ARM::VMLSLsv4i32:
11257 case ARM::VMLSLsv8i16:
11258 case ARM::VMLSLuv2i64:
11259 case ARM::VMLSLuv4i32:
11260 case ARM::VMLSLuv8i16:
11261 case ARM::VMLSfd:
11262 case ARM::VMLSfq:
11263 case ARM::VMLShd:
11264 case ARM::VMLShq:
11265 case ARM::VMLSv2i32:
11266 case ARM::VMLSv4i16:
11267 case ARM::VMLSv4i32:
11268 case ARM::VMLSv8i8:
11269 case ARM::VMLSv8i16:
11270 case ARM::VMLSv16i8:
11271 case ARM::VQDMLALv2i64:
11272 case ARM::VQDMLALv4i32:
11273 case ARM::VQDMLSLv2i64:
11274 case ARM::VQDMLSLv4i32:
11275 case ARM::VQRDMLAHv2i32:
11276 case ARM::VQRDMLAHv4i16:
11277 case ARM::VQRDMLAHv4i32:
11278 case ARM::VQRDMLAHv8i16:
11279 case ARM::VQRDMLSHv2i32:
11280 case ARM::VQRDMLSHv4i16:
11281 case ARM::VQRDMLSHv4i32:
11282 case ARM::VQRDMLSHv8i16:
11283 case ARM::VTBX1:
11284 case ARM::VTBX2:
11285 case ARM::VTBX3:
11286 case ARM::VTBX4: {
11287 // op: Vd
11288 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11289 Value |= (op & UINT64_C(16)) << 18;
11290 Value |= (op & UINT64_C(15)) << 12;
11291 // op: Vn
11292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11293 Value |= (op & UINT64_C(15)) << 16;
11294 Value |= (op & UINT64_C(16)) << 3;
11295 // op: Vm
11296 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11297 Value |= (op & UINT64_C(16)) << 1;
11298 Value |= (op & UINT64_C(15));
11299 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
11300 break;
11301 }
11302 case ARM::VMLALslsv2i32:
11303 case ARM::VMLALsluv2i32:
11304 case ARM::VMLAslfd:
11305 case ARM::VMLAslfq:
11306 case ARM::VMLAslv2i32:
11307 case ARM::VMLAslv4i32:
11308 case ARM::VMLSLslsv2i32:
11309 case ARM::VMLSLsluv2i32:
11310 case ARM::VMLSslfd:
11311 case ARM::VMLSslfq:
11312 case ARM::VMLSslv2i32:
11313 case ARM::VMLSslv4i32:
11314 case ARM::VQDMLALslv2i32:
11315 case ARM::VQDMLSLslv2i32:
11316 case ARM::VQRDMLAHslv2i32:
11317 case ARM::VQRDMLAHslv4i32:
11318 case ARM::VQRDMLSHslv2i32:
11319 case ARM::VQRDMLSHslv4i32: {
11320 // op: Vd
11321 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11322 Value |= (op & UINT64_C(16)) << 18;
11323 Value |= (op & UINT64_C(15)) << 12;
11324 // op: Vn
11325 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11326 Value |= (op & UINT64_C(15)) << 16;
11327 Value |= (op & UINT64_C(16)) << 3;
11328 // op: Vm
11329 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11330 op &= UINT64_C(15);
11331 Value |= op;
11332 // op: lane
11333 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11334 op &= UINT64_C(1);
11335 op <<= 5;
11336 Value |= op;
11337 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
11338 break;
11339 }
11340 case ARM::VCMLAv4f16_indexed:
11341 case ARM::VCMLAv8f16_indexed: {
11342 // op: Vd
11343 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11344 Value |= (op & UINT64_C(16)) << 18;
11345 Value |= (op & UINT64_C(15)) << 12;
11346 // op: Vn
11347 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11348 Value |= (op & UINT64_C(15)) << 16;
11349 Value |= (op & UINT64_C(16)) << 3;
11350 // op: Vm
11351 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11352 op &= UINT64_C(15);
11353 Value |= op;
11354 // op: rot
11355 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
11356 op &= UINT64_C(3);
11357 op <<= 20;
11358 Value |= op;
11359 // op: lane
11360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11361 op &= UINT64_C(1);
11362 op <<= 5;
11363 Value |= op;
11364 break;
11365 }
11366 case ARM::VMLALslsv4i16:
11367 case ARM::VMLALsluv4i16:
11368 case ARM::VMLAslhd:
11369 case ARM::VMLAslhq:
11370 case ARM::VMLAslv4i16:
11371 case ARM::VMLAslv8i16:
11372 case ARM::VMLSLslsv4i16:
11373 case ARM::VMLSLsluv4i16:
11374 case ARM::VMLSslhd:
11375 case ARM::VMLSslhq:
11376 case ARM::VMLSslv4i16:
11377 case ARM::VMLSslv8i16:
11378 case ARM::VQDMLALslv4i16:
11379 case ARM::VQDMLSLslv4i16:
11380 case ARM::VQRDMLAHslv4i16:
11381 case ARM::VQRDMLAHslv8i16:
11382 case ARM::VQRDMLSHslv4i16:
11383 case ARM::VQRDMLSHslv8i16: {
11384 // op: Vd
11385 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
11386 Value |= (op & UINT64_C(16)) << 18;
11387 Value |= (op & UINT64_C(15)) << 12;
11388 // op: Vn
11389 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11390 Value |= (op & UINT64_C(15)) << 16;
11391 Value |= (op & UINT64_C(16)) << 3;
11392 // op: Vm
11393 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11394 op &= UINT64_C(7);
11395 Value |= op;
11396 // op: lane
11397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11398 Value |= (op & UINT64_C(2)) << 4;
11399 Value |= (op & UINT64_C(1)) << 3;
11400 Value = NEONThumb2DataIPostEncoder(MI, EncodedValue: Value, STI);
11401 break;
11402 }
11403 case ARM::BF16VDOTS_VDOTD:
11404 case ARM::BF16VDOTS_VDOTQ:
11405 case ARM::VBF16MALBQ:
11406 case ARM::VBF16MALTQ:
11407 case ARM::VMMLA:
11408 case ARM::VSDOTD:
11409 case ARM::VSDOTQ:
11410 case ARM::VSMMLA:
11411 case ARM::VUDOTD:
11412 case ARM::VUDOTQ:
11413 case ARM::VUMMLA:
11414 case ARM::VUSDOTD:
11415 case ARM::VUSDOTQ:
11416 case ARM::VUSMMLA: {
11417 // op: Vd
11418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11419 Value |= (op & UINT64_C(16)) << 18;
11420 Value |= (op & UINT64_C(15)) << 12;
11421 // op: Vn
11422 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11423 Value |= (op & UINT64_C(15)) << 16;
11424 Value |= (op & UINT64_C(16)) << 3;
11425 // op: Vm
11426 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11427 Value |= (op & UINT64_C(16)) << 1;
11428 Value |= (op & UINT64_C(15));
11429 break;
11430 }
11431 case ARM::BF16VDOTI_VDOTD:
11432 case ARM::BF16VDOTI_VDOTQ:
11433 case ARM::VSDOTDI:
11434 case ARM::VSDOTQI:
11435 case ARM::VSUDOTDI:
11436 case ARM::VSUDOTQI:
11437 case ARM::VUDOTDI:
11438 case ARM::VUDOTQI:
11439 case ARM::VUSDOTDI:
11440 case ARM::VUSDOTQI: {
11441 // op: Vd
11442 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11443 Value |= (op & UINT64_C(16)) << 18;
11444 Value |= (op & UINT64_C(15)) << 12;
11445 // op: Vn
11446 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11447 Value |= (op & UINT64_C(15)) << 16;
11448 Value |= (op & UINT64_C(16)) << 3;
11449 // op: Vm
11450 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11451 op &= UINT64_C(15);
11452 Value |= op;
11453 // op: lane
11454 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11455 op &= UINT64_C(1);
11456 op <<= 5;
11457 Value |= op;
11458 break;
11459 }
11460 case ARM::VBF16MALBQI:
11461 case ARM::VBF16MALTQI: {
11462 // op: Vd
11463 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
11464 Value |= (op & UINT64_C(16)) << 18;
11465 Value |= (op & UINT64_C(15)) << 12;
11466 // op: Vn
11467 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11468 Value |= (op & UINT64_C(15)) << 16;
11469 Value |= (op & UINT64_C(16)) << 3;
11470 // op: Vm
11471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11472 op &= UINT64_C(7);
11473 Value |= op;
11474 // op: idx
11475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11476 Value |= (op & UINT64_C(2)) << 4;
11477 Value |= (op & UINT64_C(1)) << 3;
11478 break;
11479 }
11480 case ARM::VST1LNd16: {
11481 // op: Vd
11482 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11483 Value |= (op & UINT64_C(16)) << 18;
11484 Value |= (op & UINT64_C(15)) << 12;
11485 // op: Rn
11486 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11487 Value |= (op & UINT64_C(15)) << 16;
11488 Value |= (op & UINT64_C(16));
11489 // op: lane
11490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11491 op &= UINT64_C(3);
11492 op <<= 6;
11493 Value |= op;
11494 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11495 break;
11496 }
11497 case ARM::VST2LNd32:
11498 case ARM::VST2LNq32: {
11499 // op: Vd
11500 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11501 Value |= (op & UINT64_C(16)) << 18;
11502 Value |= (op & UINT64_C(15)) << 12;
11503 // op: Rn
11504 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11505 Value |= (op & UINT64_C(15)) << 16;
11506 Value |= (op & UINT64_C(16));
11507 // op: lane
11508 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11509 op &= UINT64_C(1);
11510 op <<= 7;
11511 Value |= op;
11512 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11513 break;
11514 }
11515 case ARM::VST2LNd16:
11516 case ARM::VST2LNq16: {
11517 // op: Vd
11518 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11519 Value |= (op & UINT64_C(16)) << 18;
11520 Value |= (op & UINT64_C(15)) << 12;
11521 // op: Rn
11522 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11523 Value |= (op & UINT64_C(15)) << 16;
11524 Value |= (op & UINT64_C(16));
11525 // op: lane
11526 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11527 op &= UINT64_C(3);
11528 op <<= 6;
11529 Value |= op;
11530 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11531 break;
11532 }
11533 case ARM::VST2LNd8: {
11534 // op: Vd
11535 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11536 Value |= (op & UINT64_C(16)) << 18;
11537 Value |= (op & UINT64_C(15)) << 12;
11538 // op: Rn
11539 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11540 Value |= (op & UINT64_C(15)) << 16;
11541 Value |= (op & UINT64_C(16));
11542 // op: lane
11543 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11544 op &= UINT64_C(7);
11545 op <<= 5;
11546 Value |= op;
11547 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11548 break;
11549 }
11550 case ARM::VST4LNd16:
11551 case ARM::VST4LNq16: {
11552 // op: Vd
11553 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11554 Value |= (op & UINT64_C(16)) << 18;
11555 Value |= (op & UINT64_C(15)) << 12;
11556 // op: Rn
11557 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11558 Value |= (op & UINT64_C(15)) << 16;
11559 Value |= (op & UINT64_C(16));
11560 // op: lane
11561 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
11562 op &= UINT64_C(3);
11563 op <<= 6;
11564 Value |= op;
11565 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11566 break;
11567 }
11568 case ARM::VST4LNd8: {
11569 // op: Vd
11570 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11571 Value |= (op & UINT64_C(16)) << 18;
11572 Value |= (op & UINT64_C(15)) << 12;
11573 // op: Rn
11574 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11575 Value |= (op & UINT64_C(15)) << 16;
11576 Value |= (op & UINT64_C(16));
11577 // op: lane
11578 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
11579 op &= UINT64_C(7);
11580 op <<= 5;
11581 Value |= op;
11582 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11583 break;
11584 }
11585 case ARM::VST1d8:
11586 case ARM::VST1d8T:
11587 case ARM::VST1d16:
11588 case ARM::VST1d16T:
11589 case ARM::VST1d32:
11590 case ARM::VST1d32T:
11591 case ARM::VST1d64:
11592 case ARM::VST1d64T:
11593 case ARM::VST3d8:
11594 case ARM::VST3d16:
11595 case ARM::VST3d32:
11596 case ARM::VST3q8:
11597 case ARM::VST3q16:
11598 case ARM::VST3q32: {
11599 // op: Vd
11600 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11601 Value |= (op & UINT64_C(16)) << 18;
11602 Value |= (op & UINT64_C(15)) << 12;
11603 // op: Rn
11604 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11605 Value |= (op & UINT64_C(15)) << 16;
11606 Value |= (op & UINT64_C(16));
11607 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11608 break;
11609 }
11610 case ARM::VST4LNd32:
11611 case ARM::VST4LNq32: {
11612 // op: Vd
11613 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11614 Value |= (op & UINT64_C(16)) << 18;
11615 Value |= (op & UINT64_C(15)) << 12;
11616 // op: Rn
11617 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11618 Value |= (op & UINT64_C(15)) << 16;
11619 Value |= (op & UINT64_C(48));
11620 // op: lane
11621 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
11622 op &= UINT64_C(1);
11623 op <<= 7;
11624 Value |= op;
11625 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11626 break;
11627 }
11628 case ARM::VST1d8Q:
11629 case ARM::VST1d16Q:
11630 case ARM::VST1d32Q:
11631 case ARM::VST1d64Q:
11632 case ARM::VST1q8:
11633 case ARM::VST1q16:
11634 case ARM::VST1q32:
11635 case ARM::VST1q64:
11636 case ARM::VST2b8:
11637 case ARM::VST2b16:
11638 case ARM::VST2b32:
11639 case ARM::VST2d8:
11640 case ARM::VST2d16:
11641 case ARM::VST2d32:
11642 case ARM::VST2q8:
11643 case ARM::VST2q16:
11644 case ARM::VST2q32:
11645 case ARM::VST4d8:
11646 case ARM::VST4d16:
11647 case ARM::VST4d32:
11648 case ARM::VST4q8:
11649 case ARM::VST4q16:
11650 case ARM::VST4q32: {
11651 // op: Vd
11652 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11653 Value |= (op & UINT64_C(16)) << 18;
11654 Value |= (op & UINT64_C(15)) << 12;
11655 // op: Rn
11656 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11657 Value |= (op & UINT64_C(15)) << 16;
11658 Value |= (op & UINT64_C(48));
11659 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11660 break;
11661 }
11662 case ARM::VST1LNd8: {
11663 // op: Vd
11664 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11665 Value |= (op & UINT64_C(16)) << 18;
11666 Value |= (op & UINT64_C(15)) << 12;
11667 // op: Rn
11668 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11669 op &= UINT64_C(15);
11670 op <<= 16;
11671 Value |= op;
11672 // op: lane
11673 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11674 op &= UINT64_C(7);
11675 op <<= 5;
11676 Value |= op;
11677 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11678 break;
11679 }
11680 case ARM::VST3LNd32:
11681 case ARM::VST3LNq32: {
11682 // op: Vd
11683 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11684 Value |= (op & UINT64_C(16)) << 18;
11685 Value |= (op & UINT64_C(15)) << 12;
11686 // op: Rn
11687 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11688 op &= UINT64_C(15);
11689 op <<= 16;
11690 Value |= op;
11691 // op: lane
11692 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
11693 op &= UINT64_C(1);
11694 op <<= 7;
11695 Value |= op;
11696 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11697 break;
11698 }
11699 case ARM::VST3LNd16:
11700 case ARM::VST3LNq16: {
11701 // op: Vd
11702 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11703 Value |= (op & UINT64_C(16)) << 18;
11704 Value |= (op & UINT64_C(15)) << 12;
11705 // op: Rn
11706 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11707 op &= UINT64_C(15);
11708 op <<= 16;
11709 Value |= op;
11710 // op: lane
11711 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
11712 op &= UINT64_C(3);
11713 op <<= 6;
11714 Value |= op;
11715 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11716 break;
11717 }
11718 case ARM::VST3LNd8: {
11719 // op: Vd
11720 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11721 Value |= (op & UINT64_C(16)) << 18;
11722 Value |= (op & UINT64_C(15)) << 12;
11723 // op: Rn
11724 op = getAddrMode6AddressOpValue(MI, Op: 0, Fixups, STI);
11725 op &= UINT64_C(15);
11726 op <<= 16;
11727 Value |= op;
11728 // op: lane
11729 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
11730 op &= UINT64_C(7);
11731 op <<= 5;
11732 Value |= op;
11733 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11734 break;
11735 }
11736 case ARM::VST1LNd32: {
11737 // op: Vd
11738 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
11739 Value |= (op & UINT64_C(16)) << 18;
11740 Value |= (op & UINT64_C(15)) << 12;
11741 // op: Rn
11742 op = getAddrMode6OneLane32AddressOpValue(MI, Op: 0, Fixups, STI);
11743 Value |= (op & UINT64_C(15)) << 16;
11744 Value |= (op & UINT64_C(48));
11745 // op: lane
11746 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11747 op &= UINT64_C(1);
11748 op <<= 7;
11749 Value |= op;
11750 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11751 break;
11752 }
11753 case ARM::VST1d8wb_fixed:
11754 case ARM::VST1d16wb_fixed:
11755 case ARM::VST1d32wb_fixed:
11756 case ARM::VST1d64wb_fixed: {
11757 // op: Vd
11758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11759 Value |= (op & UINT64_C(16)) << 18;
11760 Value |= (op & UINT64_C(15)) << 12;
11761 // op: Rn
11762 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
11763 Value |= (op & UINT64_C(15)) << 16;
11764 Value |= (op & UINT64_C(16));
11765 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11766 break;
11767 }
11768 case ARM::VST1d8Qwb_fixed:
11769 case ARM::VST1d8Twb_fixed:
11770 case ARM::VST1d16Qwb_fixed:
11771 case ARM::VST1d16Twb_fixed:
11772 case ARM::VST1d32Qwb_fixed:
11773 case ARM::VST1d32Twb_fixed:
11774 case ARM::VST1d64Qwb_fixed:
11775 case ARM::VST1d64Twb_fixed:
11776 case ARM::VST1q8wb_fixed:
11777 case ARM::VST1q16wb_fixed:
11778 case ARM::VST1q32wb_fixed:
11779 case ARM::VST1q64wb_fixed:
11780 case ARM::VST2b8wb_fixed:
11781 case ARM::VST2b16wb_fixed:
11782 case ARM::VST2b32wb_fixed:
11783 case ARM::VST2d8wb_fixed:
11784 case ARM::VST2d16wb_fixed:
11785 case ARM::VST2d32wb_fixed:
11786 case ARM::VST2q8wb_fixed:
11787 case ARM::VST2q16wb_fixed:
11788 case ARM::VST2q32wb_fixed: {
11789 // op: Vd
11790 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11791 Value |= (op & UINT64_C(16)) << 18;
11792 Value |= (op & UINT64_C(15)) << 12;
11793 // op: Rn
11794 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
11795 Value |= (op & UINT64_C(15)) << 16;
11796 Value |= (op & UINT64_C(48));
11797 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11798 break;
11799 }
11800 case ARM::VST1LNd16_UPD: {
11801 // op: Vd
11802 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11803 Value |= (op & UINT64_C(16)) << 18;
11804 Value |= (op & UINT64_C(15)) << 12;
11805 // op: Rn
11806 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
11807 Value |= (op & UINT64_C(15)) << 16;
11808 Value |= (op & UINT64_C(16));
11809 // op: Rm
11810 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
11811 op &= UINT64_C(15);
11812 Value |= op;
11813 // op: lane
11814 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
11815 op &= UINT64_C(3);
11816 op <<= 6;
11817 Value |= op;
11818 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11819 break;
11820 }
11821 case ARM::VST2LNd32_UPD:
11822 case ARM::VST2LNq32_UPD: {
11823 // op: Vd
11824 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11825 Value |= (op & UINT64_C(16)) << 18;
11826 Value |= (op & UINT64_C(15)) << 12;
11827 // op: Rn
11828 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
11829 Value |= (op & UINT64_C(15)) << 16;
11830 Value |= (op & UINT64_C(16));
11831 // op: Rm
11832 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
11833 op &= UINT64_C(15);
11834 Value |= op;
11835 // op: lane
11836 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
11837 op &= UINT64_C(1);
11838 op <<= 7;
11839 Value |= op;
11840 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11841 break;
11842 }
11843 case ARM::VST2LNd16_UPD:
11844 case ARM::VST2LNq16_UPD: {
11845 // op: Vd
11846 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11847 Value |= (op & UINT64_C(16)) << 18;
11848 Value |= (op & UINT64_C(15)) << 12;
11849 // op: Rn
11850 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
11851 Value |= (op & UINT64_C(15)) << 16;
11852 Value |= (op & UINT64_C(16));
11853 // op: Rm
11854 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
11855 op &= UINT64_C(15);
11856 Value |= op;
11857 // op: lane
11858 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
11859 op &= UINT64_C(3);
11860 op <<= 6;
11861 Value |= op;
11862 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11863 break;
11864 }
11865 case ARM::VST2LNd8_UPD: {
11866 // op: Vd
11867 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11868 Value |= (op & UINT64_C(16)) << 18;
11869 Value |= (op & UINT64_C(15)) << 12;
11870 // op: Rn
11871 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
11872 Value |= (op & UINT64_C(15)) << 16;
11873 Value |= (op & UINT64_C(16));
11874 // op: Rm
11875 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
11876 op &= UINT64_C(15);
11877 Value |= op;
11878 // op: lane
11879 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
11880 op &= UINT64_C(7);
11881 op <<= 5;
11882 Value |= op;
11883 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11884 break;
11885 }
11886 case ARM::VST4LNd16_UPD:
11887 case ARM::VST4LNq16_UPD: {
11888 // op: Vd
11889 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11890 Value |= (op & UINT64_C(16)) << 18;
11891 Value |= (op & UINT64_C(15)) << 12;
11892 // op: Rn
11893 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
11894 Value |= (op & UINT64_C(15)) << 16;
11895 Value |= (op & UINT64_C(16));
11896 // op: Rm
11897 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
11898 op &= UINT64_C(15);
11899 Value |= op;
11900 // op: lane
11901 op = getMachineOpValue(MI, MO: MI.getOperand(i: 8), Fixups, STI);
11902 op &= UINT64_C(3);
11903 op <<= 6;
11904 Value |= op;
11905 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11906 break;
11907 }
11908 case ARM::VST4LNd8_UPD: {
11909 // op: Vd
11910 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11911 Value |= (op & UINT64_C(16)) << 18;
11912 Value |= (op & UINT64_C(15)) << 12;
11913 // op: Rn
11914 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
11915 Value |= (op & UINT64_C(15)) << 16;
11916 Value |= (op & UINT64_C(16));
11917 // op: Rm
11918 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
11919 op &= UINT64_C(15);
11920 Value |= op;
11921 // op: lane
11922 op = getMachineOpValue(MI, MO: MI.getOperand(i: 8), Fixups, STI);
11923 op &= UINT64_C(7);
11924 op <<= 5;
11925 Value |= op;
11926 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11927 break;
11928 }
11929 case ARM::VST3d8_UPD:
11930 case ARM::VST3d16_UPD:
11931 case ARM::VST3d32_UPD:
11932 case ARM::VST3q8_UPD:
11933 case ARM::VST3q16_UPD:
11934 case ARM::VST3q32_UPD: {
11935 // op: Vd
11936 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11937 Value |= (op & UINT64_C(16)) << 18;
11938 Value |= (op & UINT64_C(15)) << 12;
11939 // op: Rn
11940 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
11941 Value |= (op & UINT64_C(15)) << 16;
11942 Value |= (op & UINT64_C(16));
11943 // op: Rm
11944 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
11945 op &= UINT64_C(15);
11946 Value |= op;
11947 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11948 break;
11949 }
11950 case ARM::VST1d8wb_register:
11951 case ARM::VST1d16wb_register:
11952 case ARM::VST1d32wb_register:
11953 case ARM::VST1d64wb_register: {
11954 // op: Vd
11955 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11956 Value |= (op & UINT64_C(16)) << 18;
11957 Value |= (op & UINT64_C(15)) << 12;
11958 // op: Rn
11959 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
11960 Value |= (op & UINT64_C(15)) << 16;
11961 Value |= (op & UINT64_C(16));
11962 // op: Rm
11963 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
11964 op &= UINT64_C(15);
11965 Value |= op;
11966 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11967 break;
11968 }
11969 case ARM::VST4LNd32_UPD:
11970 case ARM::VST4LNq32_UPD: {
11971 // op: Vd
11972 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11973 Value |= (op & UINT64_C(16)) << 18;
11974 Value |= (op & UINT64_C(15)) << 12;
11975 // op: Rn
11976 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
11977 Value |= (op & UINT64_C(15)) << 16;
11978 Value |= (op & UINT64_C(48));
11979 // op: Rm
11980 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
11981 op &= UINT64_C(15);
11982 Value |= op;
11983 // op: lane
11984 op = getMachineOpValue(MI, MO: MI.getOperand(i: 8), Fixups, STI);
11985 op &= UINT64_C(1);
11986 op <<= 7;
11987 Value |= op;
11988 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
11989 break;
11990 }
11991 case ARM::VST4d8_UPD:
11992 case ARM::VST4d16_UPD:
11993 case ARM::VST4d32_UPD:
11994 case ARM::VST4q8_UPD:
11995 case ARM::VST4q16_UPD:
11996 case ARM::VST4q32_UPD: {
11997 // op: Vd
11998 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
11999 Value |= (op & UINT64_C(16)) << 18;
12000 Value |= (op & UINT64_C(15)) << 12;
12001 // op: Rn
12002 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
12003 Value |= (op & UINT64_C(15)) << 16;
12004 Value |= (op & UINT64_C(48));
12005 // op: Rm
12006 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
12007 op &= UINT64_C(15);
12008 Value |= op;
12009 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
12010 break;
12011 }
12012 case ARM::VST1d8Qwb_register:
12013 case ARM::VST1d8Twb_register:
12014 case ARM::VST1d16Qwb_register:
12015 case ARM::VST1d16Twb_register:
12016 case ARM::VST1d32Qwb_register:
12017 case ARM::VST1d32Twb_register:
12018 case ARM::VST1d64Qwb_register:
12019 case ARM::VST1d64Twb_register:
12020 case ARM::VST1q8wb_register:
12021 case ARM::VST1q16wb_register:
12022 case ARM::VST1q32wb_register:
12023 case ARM::VST1q64wb_register:
12024 case ARM::VST2b8wb_register:
12025 case ARM::VST2b16wb_register:
12026 case ARM::VST2b32wb_register:
12027 case ARM::VST2d8wb_register:
12028 case ARM::VST2d16wb_register:
12029 case ARM::VST2d32wb_register:
12030 case ARM::VST2q8wb_register:
12031 case ARM::VST2q16wb_register:
12032 case ARM::VST2q32wb_register: {
12033 // op: Vd
12034 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12035 Value |= (op & UINT64_C(16)) << 18;
12036 Value |= (op & UINT64_C(15)) << 12;
12037 // op: Rn
12038 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
12039 Value |= (op & UINT64_C(15)) << 16;
12040 Value |= (op & UINT64_C(48));
12041 // op: Rm
12042 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12043 op &= UINT64_C(15);
12044 Value |= op;
12045 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
12046 break;
12047 }
12048 case ARM::VST1LNd8_UPD: {
12049 // op: Vd
12050 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12051 Value |= (op & UINT64_C(16)) << 18;
12052 Value |= (op & UINT64_C(15)) << 12;
12053 // op: Rn
12054 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
12055 op &= UINT64_C(15);
12056 op <<= 16;
12057 Value |= op;
12058 // op: Rm
12059 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
12060 op &= UINT64_C(15);
12061 Value |= op;
12062 // op: lane
12063 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12064 op &= UINT64_C(7);
12065 op <<= 5;
12066 Value |= op;
12067 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
12068 break;
12069 }
12070 case ARM::VST3LNd32_UPD:
12071 case ARM::VST3LNq32_UPD: {
12072 // op: Vd
12073 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12074 Value |= (op & UINT64_C(16)) << 18;
12075 Value |= (op & UINT64_C(15)) << 12;
12076 // op: Rn
12077 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
12078 op &= UINT64_C(15);
12079 op <<= 16;
12080 Value |= op;
12081 // op: Rm
12082 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
12083 op &= UINT64_C(15);
12084 Value |= op;
12085 // op: lane
12086 op = getMachineOpValue(MI, MO: MI.getOperand(i: 7), Fixups, STI);
12087 op &= UINT64_C(1);
12088 op <<= 7;
12089 Value |= op;
12090 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
12091 break;
12092 }
12093 case ARM::VST3LNd16_UPD:
12094 case ARM::VST3LNq16_UPD: {
12095 // op: Vd
12096 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12097 Value |= (op & UINT64_C(16)) << 18;
12098 Value |= (op & UINT64_C(15)) << 12;
12099 // op: Rn
12100 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
12101 op &= UINT64_C(15);
12102 op <<= 16;
12103 Value |= op;
12104 // op: Rm
12105 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
12106 op &= UINT64_C(15);
12107 Value |= op;
12108 // op: lane
12109 op = getMachineOpValue(MI, MO: MI.getOperand(i: 7), Fixups, STI);
12110 op &= UINT64_C(3);
12111 op <<= 6;
12112 Value |= op;
12113 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
12114 break;
12115 }
12116 case ARM::VST3LNd8_UPD: {
12117 // op: Vd
12118 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12119 Value |= (op & UINT64_C(16)) << 18;
12120 Value |= (op & UINT64_C(15)) << 12;
12121 // op: Rn
12122 op = getAddrMode6AddressOpValue(MI, Op: 1, Fixups, STI);
12123 op &= UINT64_C(15);
12124 op <<= 16;
12125 Value |= op;
12126 // op: Rm
12127 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
12128 op &= UINT64_C(15);
12129 Value |= op;
12130 // op: lane
12131 op = getMachineOpValue(MI, MO: MI.getOperand(i: 7), Fixups, STI);
12132 op &= UINT64_C(7);
12133 op <<= 5;
12134 Value |= op;
12135 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
12136 break;
12137 }
12138 case ARM::VST1LNd32_UPD: {
12139 // op: Vd
12140 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12141 Value |= (op & UINT64_C(16)) << 18;
12142 Value |= (op & UINT64_C(15)) << 12;
12143 // op: Rn
12144 op = getAddrMode6OneLane32AddressOpValue(MI, Op: 1, Fixups, STI);
12145 Value |= (op & UINT64_C(15)) << 16;
12146 Value |= (op & UINT64_C(48));
12147 // op: Rm
12148 op = getAddrMode6OffsetOpValue(MI, Op: 3, Fixups, STI);
12149 op &= UINT64_C(15);
12150 Value |= op;
12151 // op: lane
12152 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12153 op &= UINT64_C(1);
12154 op <<= 7;
12155 Value |= op;
12156 Value = NEONThumb2LoadStorePostEncoder(MI, EncodedValue: Value, STI);
12157 break;
12158 }
12159 case ARM::LDC2L_OFFSET:
12160 case ARM::LDC2L_PRE:
12161 case ARM::LDC2_OFFSET:
12162 case ARM::LDC2_PRE:
12163 case ARM::STC2L_OFFSET:
12164 case ARM::STC2L_PRE:
12165 case ARM::STC2_OFFSET:
12166 case ARM::STC2_PRE:
12167 case ARM::t2LDC2L_OFFSET:
12168 case ARM::t2LDC2L_PRE:
12169 case ARM::t2LDC2_OFFSET:
12170 case ARM::t2LDC2_PRE:
12171 case ARM::t2LDCL_OFFSET:
12172 case ARM::t2LDCL_PRE:
12173 case ARM::t2LDC_OFFSET:
12174 case ARM::t2LDC_PRE:
12175 case ARM::t2STC2L_OFFSET:
12176 case ARM::t2STC2L_PRE:
12177 case ARM::t2STC2_OFFSET:
12178 case ARM::t2STC2_PRE:
12179 case ARM::t2STCL_OFFSET:
12180 case ARM::t2STCL_PRE:
12181 case ARM::t2STC_OFFSET:
12182 case ARM::t2STC_PRE: {
12183 // op: addr
12184 op = getAddrMode5OpValue(MI, OpIdx: 2, Fixups, STI);
12185 Value |= (op & UINT64_C(256)) << 15;
12186 Value |= (op & UINT64_C(7680)) << 7;
12187 Value |= (op & UINT64_C(255));
12188 // op: cop
12189 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12190 op &= UINT64_C(15);
12191 op <<= 8;
12192 Value |= op;
12193 // op: CRd
12194 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12195 op &= UINT64_C(15);
12196 op <<= 12;
12197 Value |= op;
12198 break;
12199 }
12200 case ARM::t2PLDWi12:
12201 case ARM::t2PLDi12:
12202 case ARM::t2PLIi12: {
12203 // op: addr
12204 op = getAddrModeImm12OpValue(MI, OpIdx: 0, Fixups, STI);
12205 Value |= (op & UINT64_C(122880)) << 3;
12206 Value |= (op & UINT64_C(4095));
12207 break;
12208 }
12209 case ARM::PLDWi12:
12210 case ARM::PLDi12:
12211 case ARM::PLIi12: {
12212 // op: addr
12213 op = getAddrModeImm12OpValue(MI, OpIdx: 0, Fixups, STI);
12214 Value |= (op & UINT64_C(4096)) << 11;
12215 Value |= (op & UINT64_C(122880)) << 3;
12216 Value |= (op & UINT64_C(4095));
12217 break;
12218 }
12219 case ARM::t2PLDpci:
12220 case ARM::t2PLIpci: {
12221 // op: addr
12222 op = getAddrModeImm12OpValue(MI, OpIdx: 0, Fixups, STI);
12223 Value |= (op & UINT64_C(4096)) << 11;
12224 Value |= (op & UINT64_C(4095));
12225 break;
12226 }
12227 case ARM::t2LDAEXB:
12228 case ARM::t2LDAEXH:
12229 case ARM::t2LDREXB:
12230 case ARM::t2LDREXH: {
12231 // op: addr
12232 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12233 op &= UINT64_C(15);
12234 op <<= 16;
12235 Value |= op;
12236 // op: Rt
12237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12238 op &= UINT64_C(15);
12239 op <<= 12;
12240 Value |= op;
12241 break;
12242 }
12243 case ARM::t2LDAEXD:
12244 case ARM::t2LDREXD: {
12245 // op: addr
12246 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12247 op &= UINT64_C(15);
12248 op <<= 16;
12249 Value |= op;
12250 // op: Rt
12251 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12252 op &= UINT64_C(15);
12253 op <<= 12;
12254 Value |= op;
12255 // op: Rt2
12256 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12257 op &= UINT64_C(15);
12258 op <<= 8;
12259 Value |= op;
12260 break;
12261 }
12262 case ARM::t2PLDWi8:
12263 case ARM::t2PLDi8:
12264 case ARM::t2PLIi8: {
12265 // op: addr
12266 op = getT2AddrModeImmOpValue<8,0>(MI, OpNum: 0, Fixups, STI);
12267 Value |= (op & UINT64_C(7680)) << 7;
12268 Value |= (op & UINT64_C(255));
12269 break;
12270 }
12271 case ARM::t2PLDWs:
12272 case ARM::t2PLDs:
12273 case ARM::t2PLIs: {
12274 // op: addr
12275 op = getT2AddrModeSORegOpValue(MI, OpNum: 0, Fixups, STI);
12276 Value |= (op & UINT64_C(960)) << 10;
12277 Value |= (op & UINT64_C(3)) << 4;
12278 Value |= (op & UINT64_C(60)) >> 2;
12279 break;
12280 }
12281 case ARM::t2BFLr:
12282 case ARM::t2BFr: {
12283 // op: b_label
12284 op = getBFTargetOpValue<false, ARM::fixup_bf_branch>(MI, OpIdx: 0, Fixups, STI);
12285 op &= UINT64_C(15);
12286 op <<= 23;
12287 Value |= op;
12288 // op: Rn
12289 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12290 op &= UINT64_C(15);
12291 op <<= 16;
12292 Value |= op;
12293 break;
12294 }
12295 case ARM::t2BFi: {
12296 // op: b_label
12297 op = getBFTargetOpValue<false, ARM::fixup_bf_branch>(MI, OpIdx: 0, Fixups, STI);
12298 op &= UINT64_C(15);
12299 op <<= 23;
12300 Value |= op;
12301 // op: label
12302 op = getBFTargetOpValue<false, ARM::fixup_bf_target>(MI, OpIdx: 1, Fixups, STI);
12303 Value |= (op & UINT64_C(63488)) << 5;
12304 Value |= (op & UINT64_C(1)) << 11;
12305 Value |= (op & UINT64_C(2046));
12306 break;
12307 }
12308 case ARM::t2BFLi: {
12309 // op: b_label
12310 op = getBFTargetOpValue<false, ARM::fixup_bf_branch>(MI, OpIdx: 0, Fixups, STI);
12311 op &= UINT64_C(15);
12312 op <<= 23;
12313 Value |= op;
12314 // op: label
12315 op = getBFTargetOpValue<false, ARM::fixup_bfl_target>(MI, OpIdx: 1, Fixups, STI);
12316 Value |= (op & UINT64_C(260096)) << 5;
12317 Value |= (op & UINT64_C(1)) << 11;
12318 Value |= (op & UINT64_C(2046));
12319 break;
12320 }
12321 case ARM::t2MSRbanked: {
12322 // op: banked
12323 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12324 Value |= (op & UINT64_C(32)) << 15;
12325 Value |= (op & UINT64_C(15)) << 8;
12326 Value |= (op & UINT64_C(16));
12327 // op: Rn
12328 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12329 op &= UINT64_C(15);
12330 op <<= 16;
12331 Value |= op;
12332 break;
12333 }
12334 case ARM::t2MRSbanked: {
12335 // op: banked
12336 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12337 Value |= (op & UINT64_C(32)) << 15;
12338 Value |= (op & UINT64_C(15)) << 16;
12339 Value |= (op & UINT64_C(16));
12340 // op: Rd
12341 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12342 op &= UINT64_C(15);
12343 op <<= 8;
12344 Value |= op;
12345 break;
12346 }
12347 case ARM::t2BFic: {
12348 // op: bcond
12349 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12350 op &= UINT64_C(15);
12351 op <<= 18;
12352 Value |= op;
12353 // op: label
12354 op = getBFTargetOpValue<false, ARM::fixup_bfc_target>(MI, OpIdx: 1, Fixups, STI);
12355 Value |= (op & UINT64_C(2048)) << 5;
12356 Value |= (op & UINT64_C(1)) << 11;
12357 Value |= (op & UINT64_C(2046));
12358 // op: ba_label
12359 op = getBFAfterTargetOpValue(MI, OpIdx: 2, Fixups, STI);
12360 op &= UINT64_C(1);
12361 op <<= 17;
12362 Value |= op;
12363 // op: b_label
12364 op = getBFTargetOpValue<false, ARM::fixup_bf_branch>(MI, OpIdx: 0, Fixups, STI);
12365 op &= UINT64_C(15);
12366 op <<= 23;
12367 Value |= op;
12368 break;
12369 }
12370 case ARM::t2IT: {
12371 // op: cc
12372 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12373 op &= UINT64_C(15);
12374 op <<= 4;
12375 Value |= op;
12376 // op: mask
12377 op = getITMaskOpValue(MI, OpIdx: 1, Fixups, STI);
12378 op &= UINT64_C(15);
12379 Value |= op;
12380 break;
12381 }
12382 case ARM::CDE_VCX1_fpsp: {
12383 // op: coproc
12384 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12385 op &= UINT64_C(7);
12386 op <<= 8;
12387 Value |= op;
12388 // op: imm
12389 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12390 Value |= (op & UINT64_C(1920)) << 9;
12391 Value |= (op & UINT64_C(64)) << 1;
12392 Value |= (op & UINT64_C(63));
12393 // op: Vd
12394 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12395 Value |= (op & UINT64_C(1)) << 22;
12396 Value |= (op & UINT64_C(30)) << 11;
12397 break;
12398 }
12399 case ARM::CDE_VCX1_fpdp: {
12400 // op: coproc
12401 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12402 op &= UINT64_C(7);
12403 op <<= 8;
12404 Value |= op;
12405 // op: imm
12406 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12407 Value |= (op & UINT64_C(1920)) << 9;
12408 Value |= (op & UINT64_C(64)) << 1;
12409 Value |= (op & UINT64_C(63));
12410 // op: Vd
12411 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12412 Value |= (op & UINT64_C(16)) << 18;
12413 Value |= (op & UINT64_C(15)) << 12;
12414 break;
12415 }
12416 case ARM::CDE_VCX1_vec: {
12417 // op: coproc
12418 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12419 op &= UINT64_C(7);
12420 op <<= 8;
12421 Value |= op;
12422 // op: imm
12423 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12424 Value |= (op & UINT64_C(2048)) << 13;
12425 Value |= (op & UINT64_C(1920)) << 9;
12426 Value |= (op & UINT64_C(64)) << 1;
12427 Value |= (op & UINT64_C(63));
12428 // op: Qd
12429 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12430 op &= UINT64_C(7);
12431 op <<= 13;
12432 Value |= op;
12433 break;
12434 }
12435 case ARM::CDE_CX1:
12436 case ARM::CDE_CX1D: {
12437 // op: coproc
12438 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12439 op &= UINT64_C(7);
12440 op <<= 8;
12441 Value |= op;
12442 // op: imm
12443 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12444 Value |= (op & UINT64_C(8064)) << 9;
12445 Value |= (op & UINT64_C(64)) << 1;
12446 Value |= (op & UINT64_C(63));
12447 // op: Rd
12448 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12449 op &= UINT64_C(15);
12450 op <<= 12;
12451 Value |= op;
12452 break;
12453 }
12454 case ARM::CDE_VCX1A_fpsp: {
12455 // op: coproc
12456 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12457 op &= UINT64_C(7);
12458 op <<= 8;
12459 Value |= op;
12460 // op: imm
12461 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12462 Value |= (op & UINT64_C(1920)) << 9;
12463 Value |= (op & UINT64_C(64)) << 1;
12464 Value |= (op & UINT64_C(63));
12465 // op: Vd
12466 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12467 Value |= (op & UINT64_C(1)) << 22;
12468 Value |= (op & UINT64_C(30)) << 11;
12469 break;
12470 }
12471 case ARM::CDE_VCX1A_fpdp: {
12472 // op: coproc
12473 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12474 op &= UINT64_C(7);
12475 op <<= 8;
12476 Value |= op;
12477 // op: imm
12478 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12479 Value |= (op & UINT64_C(1920)) << 9;
12480 Value |= (op & UINT64_C(64)) << 1;
12481 Value |= (op & UINT64_C(63));
12482 // op: Vd
12483 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12484 Value |= (op & UINT64_C(16)) << 18;
12485 Value |= (op & UINT64_C(15)) << 12;
12486 break;
12487 }
12488 case ARM::CDE_VCX1A_vec: {
12489 // op: coproc
12490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12491 op &= UINT64_C(7);
12492 op <<= 8;
12493 Value |= op;
12494 // op: imm
12495 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12496 Value |= (op & UINT64_C(2048)) << 13;
12497 Value |= (op & UINT64_C(1920)) << 9;
12498 Value |= (op & UINT64_C(64)) << 1;
12499 Value |= (op & UINT64_C(63));
12500 // op: Qd
12501 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12502 op &= UINT64_C(7);
12503 op <<= 13;
12504 Value |= op;
12505 break;
12506 }
12507 case ARM::CDE_CX2:
12508 case ARM::CDE_CX2D: {
12509 // op: coproc
12510 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12511 op &= UINT64_C(7);
12512 op <<= 8;
12513 Value |= op;
12514 // op: imm
12515 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12516 Value |= (op & UINT64_C(384)) << 13;
12517 Value |= (op & UINT64_C(64)) << 1;
12518 Value |= (op & UINT64_C(63));
12519 // op: Rd
12520 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12521 op &= UINT64_C(15);
12522 op <<= 12;
12523 Value |= op;
12524 // op: Rn
12525 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12526 op &= UINT64_C(15);
12527 op <<= 16;
12528 Value |= op;
12529 break;
12530 }
12531 case ARM::CDE_VCX2_fpsp: {
12532 // op: coproc
12533 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12534 op &= UINT64_C(7);
12535 op <<= 8;
12536 Value |= op;
12537 // op: imm
12538 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12539 Value |= (op & UINT64_C(60)) << 14;
12540 Value |= (op & UINT64_C(2)) << 6;
12541 Value |= (op & UINT64_C(1)) << 4;
12542 // op: Vd
12543 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12544 Value |= (op & UINT64_C(1)) << 22;
12545 Value |= (op & UINT64_C(30)) << 11;
12546 // op: Vm
12547 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12548 Value |= (op & UINT64_C(1)) << 5;
12549 Value |= (op & UINT64_C(30)) >> 1;
12550 break;
12551 }
12552 case ARM::CDE_VCX2_fpdp: {
12553 // op: coproc
12554 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12555 op &= UINT64_C(7);
12556 op <<= 8;
12557 Value |= op;
12558 // op: imm
12559 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12560 Value |= (op & UINT64_C(60)) << 14;
12561 Value |= (op & UINT64_C(2)) << 6;
12562 Value |= (op & UINT64_C(1)) << 4;
12563 // op: Vd
12564 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12565 Value |= (op & UINT64_C(16)) << 18;
12566 Value |= (op & UINT64_C(15)) << 12;
12567 // op: Vm
12568 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12569 Value |= (op & UINT64_C(16)) << 1;
12570 Value |= (op & UINT64_C(15));
12571 break;
12572 }
12573 case ARM::CDE_VCX2_vec: {
12574 // op: coproc
12575 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12576 op &= UINT64_C(7);
12577 op <<= 8;
12578 Value |= op;
12579 // op: imm
12580 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12581 Value |= (op & UINT64_C(64)) << 18;
12582 Value |= (op & UINT64_C(60)) << 14;
12583 Value |= (op & UINT64_C(2)) << 6;
12584 Value |= (op & UINT64_C(1)) << 4;
12585 // op: Qd
12586 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12587 op &= UINT64_C(7);
12588 op <<= 13;
12589 Value |= op;
12590 // op: Qm
12591 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12592 op &= UINT64_C(7);
12593 op <<= 1;
12594 Value |= op;
12595 break;
12596 }
12597 case ARM::CDE_CX1A:
12598 case ARM::CDE_CX1DA: {
12599 // op: coproc
12600 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12601 op &= UINT64_C(7);
12602 op <<= 8;
12603 Value |= op;
12604 // op: imm
12605 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12606 Value |= (op & UINT64_C(8064)) << 9;
12607 Value |= (op & UINT64_C(64)) << 1;
12608 Value |= (op & UINT64_C(63));
12609 // op: Rd
12610 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12611 op &= UINT64_C(15);
12612 op <<= 12;
12613 Value |= op;
12614 break;
12615 }
12616 case ARM::CDE_CX2A:
12617 case ARM::CDE_CX2DA: {
12618 // op: coproc
12619 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12620 op &= UINT64_C(7);
12621 op <<= 8;
12622 Value |= op;
12623 // op: imm
12624 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12625 Value |= (op & UINT64_C(384)) << 13;
12626 Value |= (op & UINT64_C(64)) << 1;
12627 Value |= (op & UINT64_C(63));
12628 // op: Rd
12629 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12630 op &= UINT64_C(15);
12631 op <<= 12;
12632 Value |= op;
12633 // op: Rn
12634 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12635 op &= UINT64_C(15);
12636 op <<= 16;
12637 Value |= op;
12638 break;
12639 }
12640 case ARM::CDE_CX3:
12641 case ARM::CDE_CX3D: {
12642 // op: coproc
12643 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12644 op &= UINT64_C(7);
12645 op <<= 8;
12646 Value |= op;
12647 // op: imm
12648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12649 Value |= (op & UINT64_C(56)) << 17;
12650 Value |= (op & UINT64_C(4)) << 5;
12651 Value |= (op & UINT64_C(3)) << 4;
12652 // op: Rd
12653 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12654 op &= UINT64_C(15);
12655 Value |= op;
12656 // op: Rn
12657 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12658 op &= UINT64_C(15);
12659 op <<= 16;
12660 Value |= op;
12661 // op: Rm
12662 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12663 op &= UINT64_C(15);
12664 op <<= 12;
12665 Value |= op;
12666 break;
12667 }
12668 case ARM::CDE_VCX3_fpsp: {
12669 // op: coproc
12670 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12671 op &= UINT64_C(7);
12672 op <<= 8;
12673 Value |= op;
12674 // op: imm
12675 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12676 Value |= (op & UINT64_C(6)) << 19;
12677 Value |= (op & UINT64_C(1)) << 4;
12678 // op: Vd
12679 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12680 Value |= (op & UINT64_C(1)) << 22;
12681 Value |= (op & UINT64_C(30)) << 11;
12682 // op: Vm
12683 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12684 Value |= (op & UINT64_C(1)) << 5;
12685 Value |= (op & UINT64_C(30)) >> 1;
12686 // op: Vn
12687 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12688 Value |= (op & UINT64_C(30)) << 15;
12689 Value |= (op & UINT64_C(1)) << 7;
12690 break;
12691 }
12692 case ARM::CDE_VCX3_fpdp: {
12693 // op: coproc
12694 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12695 op &= UINT64_C(7);
12696 op <<= 8;
12697 Value |= op;
12698 // op: imm
12699 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12700 Value |= (op & UINT64_C(6)) << 19;
12701 Value |= (op & UINT64_C(1)) << 4;
12702 // op: Vd
12703 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12704 Value |= (op & UINT64_C(16)) << 18;
12705 Value |= (op & UINT64_C(15)) << 12;
12706 // op: Vm
12707 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12708 Value |= (op & UINT64_C(16)) << 1;
12709 Value |= (op & UINT64_C(15));
12710 // op: Vn
12711 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12712 Value |= (op & UINT64_C(15)) << 16;
12713 Value |= (op & UINT64_C(16)) << 3;
12714 break;
12715 }
12716 case ARM::CDE_VCX2A_fpsp: {
12717 // op: coproc
12718 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12719 op &= UINT64_C(7);
12720 op <<= 8;
12721 Value |= op;
12722 // op: imm
12723 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12724 Value |= (op & UINT64_C(60)) << 14;
12725 Value |= (op & UINT64_C(2)) << 6;
12726 Value |= (op & UINT64_C(1)) << 4;
12727 // op: Vd
12728 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12729 Value |= (op & UINT64_C(1)) << 22;
12730 Value |= (op & UINT64_C(30)) << 11;
12731 // op: Vm
12732 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12733 Value |= (op & UINT64_C(1)) << 5;
12734 Value |= (op & UINT64_C(30)) >> 1;
12735 break;
12736 }
12737 case ARM::CDE_VCX2A_fpdp: {
12738 // op: coproc
12739 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12740 op &= UINT64_C(7);
12741 op <<= 8;
12742 Value |= op;
12743 // op: imm
12744 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12745 Value |= (op & UINT64_C(60)) << 14;
12746 Value |= (op & UINT64_C(2)) << 6;
12747 Value |= (op & UINT64_C(1)) << 4;
12748 // op: Vd
12749 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12750 Value |= (op & UINT64_C(16)) << 18;
12751 Value |= (op & UINT64_C(15)) << 12;
12752 // op: Vm
12753 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12754 Value |= (op & UINT64_C(16)) << 1;
12755 Value |= (op & UINT64_C(15));
12756 break;
12757 }
12758 case ARM::CDE_VCX2A_vec: {
12759 // op: coproc
12760 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12761 op &= UINT64_C(7);
12762 op <<= 8;
12763 Value |= op;
12764 // op: imm
12765 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12766 Value |= (op & UINT64_C(64)) << 18;
12767 Value |= (op & UINT64_C(60)) << 14;
12768 Value |= (op & UINT64_C(2)) << 6;
12769 Value |= (op & UINT64_C(1)) << 4;
12770 // op: Qd
12771 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12772 op &= UINT64_C(7);
12773 op <<= 13;
12774 Value |= op;
12775 // op: Qm
12776 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12777 op &= UINT64_C(7);
12778 op <<= 1;
12779 Value |= op;
12780 break;
12781 }
12782 case ARM::CDE_VCX3_vec: {
12783 // op: coproc
12784 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12785 op &= UINT64_C(7);
12786 op <<= 8;
12787 Value |= op;
12788 // op: imm
12789 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12790 Value |= (op & UINT64_C(8)) << 21;
12791 Value |= (op & UINT64_C(6)) << 19;
12792 Value |= (op & UINT64_C(1)) << 4;
12793 // op: Qd
12794 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12795 op &= UINT64_C(7);
12796 op <<= 13;
12797 Value |= op;
12798 // op: Qm
12799 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12800 op &= UINT64_C(7);
12801 op <<= 1;
12802 Value |= op;
12803 // op: Qn
12804 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12805 op &= UINT64_C(7);
12806 op <<= 17;
12807 Value |= op;
12808 break;
12809 }
12810 case ARM::CDE_CX3A:
12811 case ARM::CDE_CX3DA: {
12812 // op: coproc
12813 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12814 op &= UINT64_C(7);
12815 op <<= 8;
12816 Value |= op;
12817 // op: imm
12818 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12819 Value |= (op & UINT64_C(56)) << 17;
12820 Value |= (op & UINT64_C(4)) << 5;
12821 Value |= (op & UINT64_C(3)) << 4;
12822 // op: Rd
12823 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12824 op &= UINT64_C(15);
12825 Value |= op;
12826 // op: Rn
12827 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12828 op &= UINT64_C(15);
12829 op <<= 16;
12830 Value |= op;
12831 // op: Rm
12832 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12833 op &= UINT64_C(15);
12834 op <<= 12;
12835 Value |= op;
12836 break;
12837 }
12838 case ARM::CDE_VCX3A_fpsp: {
12839 // op: coproc
12840 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12841 op &= UINT64_C(7);
12842 op <<= 8;
12843 Value |= op;
12844 // op: imm
12845 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12846 Value |= (op & UINT64_C(6)) << 19;
12847 Value |= (op & UINT64_C(1)) << 4;
12848 // op: Vd
12849 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12850 Value |= (op & UINT64_C(1)) << 22;
12851 Value |= (op & UINT64_C(30)) << 11;
12852 // op: Vm
12853 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12854 Value |= (op & UINT64_C(1)) << 5;
12855 Value |= (op & UINT64_C(30)) >> 1;
12856 // op: Vn
12857 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12858 Value |= (op & UINT64_C(30)) << 15;
12859 Value |= (op & UINT64_C(1)) << 7;
12860 break;
12861 }
12862 case ARM::CDE_VCX3A_fpdp: {
12863 // op: coproc
12864 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12865 op &= UINT64_C(7);
12866 op <<= 8;
12867 Value |= op;
12868 // op: imm
12869 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12870 Value |= (op & UINT64_C(6)) << 19;
12871 Value |= (op & UINT64_C(1)) << 4;
12872 // op: Vd
12873 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12874 Value |= (op & UINT64_C(16)) << 18;
12875 Value |= (op & UINT64_C(15)) << 12;
12876 // op: Vm
12877 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12878 Value |= (op & UINT64_C(16)) << 1;
12879 Value |= (op & UINT64_C(15));
12880 // op: Vn
12881 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12882 Value |= (op & UINT64_C(15)) << 16;
12883 Value |= (op & UINT64_C(16)) << 3;
12884 break;
12885 }
12886 case ARM::CDE_VCX3A_vec: {
12887 // op: coproc
12888 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12889 op &= UINT64_C(7);
12890 op <<= 8;
12891 Value |= op;
12892 // op: imm
12893 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
12894 Value |= (op & UINT64_C(8)) << 21;
12895 Value |= (op & UINT64_C(6)) << 19;
12896 Value |= (op & UINT64_C(1)) << 4;
12897 // op: Qd
12898 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12899 op &= UINT64_C(7);
12900 op <<= 13;
12901 Value |= op;
12902 // op: Qm
12903 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
12904 op &= UINT64_C(7);
12905 op <<= 1;
12906 Value |= op;
12907 // op: Qn
12908 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
12909 op &= UINT64_C(7);
12910 op <<= 17;
12911 Value |= op;
12912 break;
12913 }
12914 case ARM::BX: {
12915 // op: dst
12916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12917 op &= UINT64_C(15);
12918 Value |= op;
12919 break;
12920 }
12921 case ARM::tPICADD: {
12922 // op: dst
12923 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12924 op &= UINT64_C(7);
12925 Value |= op;
12926 break;
12927 }
12928 case ARM::tADDrSPi: {
12929 // op: dst
12930 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12931 op &= UINT64_C(7);
12932 op <<= 8;
12933 Value |= op;
12934 // op: imm
12935 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12936 op &= UINT64_C(255);
12937 Value |= op;
12938 break;
12939 }
12940 case ARM::tSETEND: {
12941 // op: end
12942 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12943 op &= UINT64_C(1);
12944 op <<= 3;
12945 Value |= op;
12946 break;
12947 }
12948 case ARM::SETEND: {
12949 // op: end
12950 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
12951 op &= UINT64_C(1);
12952 op <<= 9;
12953 Value |= op;
12954 break;
12955 }
12956 case ARM::MVE_VPTv4s32r:
12957 case ARM::MVE_VPTv8s16r:
12958 case ARM::MVE_VPTv16s8r: {
12959 // op: fc
12960 op = getRestrictedCondCodeOpValue(MI, OpIdx: 3, Fixups, STI);
12961 Value |= (op & UINT64_C(1)) << 7;
12962 Value |= (op & UINT64_C(2)) << 4;
12963 // op: Mk
12964 op = getVPTMaskOpValue(MI, OpIdx: 0, Fixups, STI);
12965 Value |= (op & UINT64_C(8)) << 19;
12966 Value |= (op & UINT64_C(7)) << 13;
12967 // op: Qn
12968 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12969 op &= UINT64_C(7);
12970 op <<= 17;
12971 Value |= op;
12972 // op: Rm
12973 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12974 op &= UINT64_C(15);
12975 Value |= op;
12976 break;
12977 }
12978 case ARM::MVE_VCMPs8r:
12979 case ARM::MVE_VCMPs16r:
12980 case ARM::MVE_VCMPs32r: {
12981 // op: fc
12982 op = getRestrictedCondCodeOpValue(MI, OpIdx: 3, Fixups, STI);
12983 Value |= (op & UINT64_C(1)) << 7;
12984 Value |= (op & UINT64_C(2)) << 4;
12985 // op: Qn
12986 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
12987 op &= UINT64_C(7);
12988 op <<= 17;
12989 Value |= op;
12990 // op: Rm
12991 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
12992 op &= UINT64_C(15);
12993 Value |= op;
12994 break;
12995 }
12996 case ARM::MVE_VPTv4s32:
12997 case ARM::MVE_VPTv8s16:
12998 case ARM::MVE_VPTv16s8: {
12999 // op: fc
13000 op = getRestrictedCondCodeOpValue(MI, OpIdx: 3, Fixups, STI);
13001 Value |= (op & UINT64_C(1)) << 7;
13002 Value |= (op & UINT64_C(2)) >> 1;
13003 // op: Mk
13004 op = getVPTMaskOpValue(MI, OpIdx: 0, Fixups, STI);
13005 Value |= (op & UINT64_C(8)) << 19;
13006 Value |= (op & UINT64_C(7)) << 13;
13007 // op: Qn
13008 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13009 op &= UINT64_C(7);
13010 op <<= 17;
13011 Value |= op;
13012 // op: Qm
13013 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13014 Value |= (op & UINT64_C(8)) << 2;
13015 Value |= (op & UINT64_C(7)) << 1;
13016 break;
13017 }
13018 case ARM::MVE_VCMPs8:
13019 case ARM::MVE_VCMPs16:
13020 case ARM::MVE_VCMPs32: {
13021 // op: fc
13022 op = getRestrictedCondCodeOpValue(MI, OpIdx: 3, Fixups, STI);
13023 Value |= (op & UINT64_C(1)) << 7;
13024 Value |= (op & UINT64_C(2)) >> 1;
13025 // op: Qn
13026 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13027 op &= UINT64_C(7);
13028 op <<= 17;
13029 Value |= op;
13030 // op: Qm
13031 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13032 Value |= (op & UINT64_C(8)) << 2;
13033 Value |= (op & UINT64_C(7)) << 1;
13034 break;
13035 }
13036 case ARM::MVE_VPTv4f32r:
13037 case ARM::MVE_VPTv8f16r: {
13038 // op: fc
13039 op = getRestrictedCondCodeOpValue(MI, OpIdx: 3, Fixups, STI);
13040 Value |= (op & UINT64_C(4)) << 10;
13041 Value |= (op & UINT64_C(1)) << 7;
13042 Value |= (op & UINT64_C(2)) << 4;
13043 // op: Mk
13044 op = getVPTMaskOpValue(MI, OpIdx: 0, Fixups, STI);
13045 Value |= (op & UINT64_C(8)) << 19;
13046 Value |= (op & UINT64_C(7)) << 13;
13047 // op: Qn
13048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13049 op &= UINT64_C(7);
13050 op <<= 17;
13051 Value |= op;
13052 // op: Rm
13053 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13054 op &= UINT64_C(15);
13055 Value |= op;
13056 break;
13057 }
13058 case ARM::MVE_VCMPf16r:
13059 case ARM::MVE_VCMPf32r: {
13060 // op: fc
13061 op = getRestrictedCondCodeOpValue(MI, OpIdx: 3, Fixups, STI);
13062 Value |= (op & UINT64_C(4)) << 10;
13063 Value |= (op & UINT64_C(1)) << 7;
13064 Value |= (op & UINT64_C(2)) << 4;
13065 // op: Qn
13066 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13067 op &= UINT64_C(7);
13068 op <<= 17;
13069 Value |= op;
13070 // op: Rm
13071 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13072 op &= UINT64_C(15);
13073 Value |= op;
13074 break;
13075 }
13076 case ARM::MVE_VPTv4f32:
13077 case ARM::MVE_VPTv8f16: {
13078 // op: fc
13079 op = getRestrictedCondCodeOpValue(MI, OpIdx: 3, Fixups, STI);
13080 Value |= (op & UINT64_C(4)) << 10;
13081 Value |= (op & UINT64_C(1)) << 7;
13082 Value |= (op & UINT64_C(2)) >> 1;
13083 // op: Mk
13084 op = getVPTMaskOpValue(MI, OpIdx: 0, Fixups, STI);
13085 Value |= (op & UINT64_C(8)) << 19;
13086 Value |= (op & UINT64_C(7)) << 13;
13087 // op: Qn
13088 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13089 op &= UINT64_C(7);
13090 op <<= 17;
13091 Value |= op;
13092 // op: Qm
13093 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13094 Value |= (op & UINT64_C(8)) << 2;
13095 Value |= (op & UINT64_C(7)) << 1;
13096 break;
13097 }
13098 case ARM::MVE_VCMPf16:
13099 case ARM::MVE_VCMPf32: {
13100 // op: fc
13101 op = getRestrictedCondCodeOpValue(MI, OpIdx: 3, Fixups, STI);
13102 Value |= (op & UINT64_C(4)) << 10;
13103 Value |= (op & UINT64_C(1)) << 7;
13104 Value |= (op & UINT64_C(2)) >> 1;
13105 // op: Qn
13106 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13107 op &= UINT64_C(7);
13108 op <<= 17;
13109 Value |= op;
13110 // op: Qm
13111 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13112 Value |= (op & UINT64_C(8)) << 2;
13113 Value |= (op & UINT64_C(7)) << 1;
13114 break;
13115 }
13116 case ARM::MVE_VPTv4i32:
13117 case ARM::MVE_VPTv4u32:
13118 case ARM::MVE_VPTv8i16:
13119 case ARM::MVE_VPTv8u16:
13120 case ARM::MVE_VPTv16i8:
13121 case ARM::MVE_VPTv16u8: {
13122 // op: fc
13123 op = getRestrictedCondCodeOpValue(MI, OpIdx: 3, Fixups, STI);
13124 op &= UINT64_C(1);
13125 op <<= 7;
13126 Value |= op;
13127 // op: Mk
13128 op = getVPTMaskOpValue(MI, OpIdx: 0, Fixups, STI);
13129 Value |= (op & UINT64_C(8)) << 19;
13130 Value |= (op & UINT64_C(7)) << 13;
13131 // op: Qn
13132 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13133 op &= UINT64_C(7);
13134 op <<= 17;
13135 Value |= op;
13136 // op: Qm
13137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13138 Value |= (op & UINT64_C(8)) << 2;
13139 Value |= (op & UINT64_C(7)) << 1;
13140 break;
13141 }
13142 case ARM::MVE_VPTv4i32r:
13143 case ARM::MVE_VPTv4u32r:
13144 case ARM::MVE_VPTv8i16r:
13145 case ARM::MVE_VPTv8u16r:
13146 case ARM::MVE_VPTv16i8r:
13147 case ARM::MVE_VPTv16u8r: {
13148 // op: fc
13149 op = getRestrictedCondCodeOpValue(MI, OpIdx: 3, Fixups, STI);
13150 op &= UINT64_C(1);
13151 op <<= 7;
13152 Value |= op;
13153 // op: Mk
13154 op = getVPTMaskOpValue(MI, OpIdx: 0, Fixups, STI);
13155 Value |= (op & UINT64_C(8)) << 19;
13156 Value |= (op & UINT64_C(7)) << 13;
13157 // op: Qn
13158 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13159 op &= UINT64_C(7);
13160 op <<= 17;
13161 Value |= op;
13162 // op: Rm
13163 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13164 op &= UINT64_C(15);
13165 Value |= op;
13166 break;
13167 }
13168 case ARM::MVE_VCMPi8:
13169 case ARM::MVE_VCMPi16:
13170 case ARM::MVE_VCMPi32:
13171 case ARM::MVE_VCMPu8:
13172 case ARM::MVE_VCMPu16:
13173 case ARM::MVE_VCMPu32: {
13174 // op: fc
13175 op = getRestrictedCondCodeOpValue(MI, OpIdx: 3, Fixups, STI);
13176 op &= UINT64_C(1);
13177 op <<= 7;
13178 Value |= op;
13179 // op: Qn
13180 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13181 op &= UINT64_C(7);
13182 op <<= 17;
13183 Value |= op;
13184 // op: Qm
13185 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13186 Value |= (op & UINT64_C(8)) << 2;
13187 Value |= (op & UINT64_C(7)) << 1;
13188 break;
13189 }
13190 case ARM::MVE_VCMPi8r:
13191 case ARM::MVE_VCMPi16r:
13192 case ARM::MVE_VCMPi32r:
13193 case ARM::MVE_VCMPu8r:
13194 case ARM::MVE_VCMPu16r:
13195 case ARM::MVE_VCMPu32r: {
13196 // op: fc
13197 op = getRestrictedCondCodeOpValue(MI, OpIdx: 3, Fixups, STI);
13198 op &= UINT64_C(1);
13199 op <<= 7;
13200 Value |= op;
13201 // op: Qn
13202 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13203 op &= UINT64_C(7);
13204 op <<= 17;
13205 Value |= op;
13206 // op: Rm
13207 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13208 op &= UINT64_C(15);
13209 Value |= op;
13210 break;
13211 }
13212 case ARM::BL: {
13213 // op: func
13214 op = getARMBLTargetOpValue(MI, OpIdx: 0, Fixups, STI);
13215 op &= UINT64_C(16777215);
13216 Value |= op;
13217 break;
13218 }
13219 case ARM::BLX: {
13220 // op: func
13221 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13222 op &= UINT64_C(15);
13223 Value |= op;
13224 break;
13225 }
13226 case ARM::t2BXJ: {
13227 // op: func
13228 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13229 op &= UINT64_C(15);
13230 op <<= 16;
13231 Value |= op;
13232 break;
13233 }
13234 case ARM::tBLXNSr:
13235 case ARM::tBLXr: {
13236 // op: func
13237 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13238 op &= UINT64_C(15);
13239 op <<= 3;
13240 Value |= op;
13241 break;
13242 }
13243 case ARM::tBL: {
13244 // op: func
13245 op = getThumbBLTargetOpValue(MI, OpIdx: 2, Fixups, STI);
13246 Value |= (op & UINT64_C(8388608)) << 3;
13247 Value |= (op & UINT64_C(2095104)) << 5;
13248 Value |= (op & UINT64_C(4194304)) >> 9;
13249 Value |= (op & UINT64_C(2097152)) >> 10;
13250 Value |= (op & UINT64_C(2047));
13251 break;
13252 }
13253 case ARM::tBLXi: {
13254 // op: func
13255 op = getThumbBLXTargetOpValue(MI, OpIdx: 2, Fixups, STI);
13256 Value |= (op & UINT64_C(8388608)) << 3;
13257 Value |= (op & UINT64_C(2095104)) << 5;
13258 Value |= (op & UINT64_C(4194304)) >> 9;
13259 Value |= (op & UINT64_C(2097152)) >> 10;
13260 Value |= (op & UINT64_C(2046));
13261 break;
13262 }
13263 case ARM::HVC: {
13264 // op: imm
13265 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13266 Value |= (op & UINT64_C(65520)) << 4;
13267 Value |= (op & UINT64_C(15));
13268 break;
13269 }
13270 case ARM::t2SETPAN: {
13271 // op: imm
13272 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13273 op &= UINT64_C(1);
13274 op <<= 3;
13275 Value |= op;
13276 break;
13277 }
13278 case ARM::SETPAN: {
13279 // op: imm
13280 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13281 op &= UINT64_C(1);
13282 op <<= 9;
13283 Value |= op;
13284 break;
13285 }
13286 case ARM::tHINT: {
13287 // op: imm
13288 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13289 op &= UINT64_C(15);
13290 op <<= 4;
13291 Value |= op;
13292 break;
13293 }
13294 case ARM::t2HINT:
13295 case ARM::t2SUBS_PC_LR:
13296 case ARM::tSVC: {
13297 // op: imm
13298 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13299 op &= UINT64_C(255);
13300 Value |= op;
13301 break;
13302 }
13303 case ARM::MVE_VMOVimmf32:
13304 case ARM::MVE_VMOVimmi8:
13305 case ARM::MVE_VMOVimmi64: {
13306 // op: imm
13307 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13308 Value |= (op & UINT64_C(128)) << 21;
13309 Value |= (op & UINT64_C(112)) << 12;
13310 Value |= (op & UINT64_C(15));
13311 // op: Qd
13312 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13313 Value |= (op & UINT64_C(8)) << 19;
13314 Value |= (op & UINT64_C(7)) << 13;
13315 break;
13316 }
13317 case ARM::MVE_VMOVimmi32:
13318 case ARM::MVE_VMVNimmi32: {
13319 // op: imm
13320 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13321 Value |= (op & UINT64_C(128)) << 21;
13322 Value |= (op & UINT64_C(112)) << 12;
13323 Value |= (op & UINT64_C(3840));
13324 Value |= (op & UINT64_C(15));
13325 // op: Qd
13326 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13327 Value |= (op & UINT64_C(8)) << 19;
13328 Value |= (op & UINT64_C(7)) << 13;
13329 break;
13330 }
13331 case ARM::MVE_VMOVimmi16:
13332 case ARM::MVE_VMVNimmi16: {
13333 // op: imm
13334 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13335 Value |= (op & UINT64_C(128)) << 21;
13336 Value |= (op & UINT64_C(112)) << 12;
13337 Value |= (op & UINT64_C(512));
13338 Value |= (op & UINT64_C(15));
13339 // op: Qd
13340 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13341 Value |= (op & UINT64_C(8)) << 19;
13342 Value |= (op & UINT64_C(7)) << 13;
13343 break;
13344 }
13345 case ARM::MVE_VBICimmi32:
13346 case ARM::MVE_VORRimmi32: {
13347 // op: imm
13348 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13349 Value |= (op & UINT64_C(128)) << 21;
13350 Value |= (op & UINT64_C(112)) << 12;
13351 Value |= (op & UINT64_C(1536));
13352 Value |= (op & UINT64_C(15));
13353 // op: Qd
13354 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13355 Value |= (op & UINT64_C(8)) << 19;
13356 Value |= (op & UINT64_C(7)) << 13;
13357 break;
13358 }
13359 case ARM::MVE_VBICimmi16:
13360 case ARM::MVE_VORRimmi16: {
13361 // op: imm
13362 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13363 Value |= (op & UINT64_C(128)) << 21;
13364 Value |= (op & UINT64_C(112)) << 12;
13365 Value |= (op & UINT64_C(512));
13366 Value |= (op & UINT64_C(15));
13367 // op: Qd
13368 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13369 Value |= (op & UINT64_C(8)) << 19;
13370 Value |= (op & UINT64_C(7)) << 13;
13371 break;
13372 }
13373 case ARM::t2ADDspImm12:
13374 case ARM::t2SUBspImm12: {
13375 // op: imm
13376 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13377 Value |= (op & UINT64_C(2048)) << 15;
13378 Value |= (op & UINT64_C(1792)) << 4;
13379 Value |= (op & UINT64_C(255));
13380 break;
13381 }
13382 case ARM::tADDspi:
13383 case ARM::tSUBspi: {
13384 // op: imm
13385 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13386 op &= UINT64_C(127);
13387 Value |= op;
13388 break;
13389 }
13390 case ARM::MVE_VSHLC: {
13391 // op: imm
13392 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13393 op &= UINT64_C(31);
13394 op <<= 16;
13395 Value |= op;
13396 // op: Qd
13397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13398 Value |= (op & UINT64_C(8)) << 19;
13399 Value |= (op & UINT64_C(7)) << 13;
13400 // op: RdmDest
13401 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13402 op &= UINT64_C(15);
13403 Value |= op;
13404 break;
13405 }
13406 case ARM::t2HVC:
13407 case ARM::t2UDF: {
13408 // op: imm16
13409 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13410 Value |= (op & UINT64_C(61440)) << 4;
13411 Value |= (op & UINT64_C(4095));
13412 break;
13413 }
13414 case ARM::UDF: {
13415 // op: imm16
13416 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13417 Value |= (op & UINT64_C(65520)) << 4;
13418 Value |= (op & UINT64_C(15));
13419 break;
13420 }
13421 case ARM::tUDF: {
13422 // op: imm8
13423 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13424 op &= UINT64_C(255);
13425 Value |= op;
13426 break;
13427 }
13428 case ARM::tCPS: {
13429 // op: imod
13430 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13431 op &= UINT64_C(1);
13432 op <<= 4;
13433 Value |= op;
13434 // op: iflags
13435 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13436 op &= UINT64_C(7);
13437 Value |= op;
13438 break;
13439 }
13440 case ARM::CPS2p: {
13441 // op: imod
13442 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13443 op &= UINT64_C(3);
13444 op <<= 18;
13445 Value |= op;
13446 // op: iflags
13447 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13448 op &= UINT64_C(7);
13449 op <<= 6;
13450 Value |= op;
13451 break;
13452 }
13453 case ARM::CPS3p: {
13454 // op: imod
13455 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13456 op &= UINT64_C(3);
13457 op <<= 18;
13458 Value |= op;
13459 // op: iflags
13460 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13461 op &= UINT64_C(7);
13462 op <<= 6;
13463 Value |= op;
13464 // op: mode
13465 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13466 op &= UINT64_C(31);
13467 Value |= op;
13468 break;
13469 }
13470 case ARM::t2CPS2p: {
13471 // op: imod
13472 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13473 op &= UINT64_C(3);
13474 op <<= 9;
13475 Value |= op;
13476 // op: iflags
13477 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13478 op &= UINT64_C(7);
13479 op <<= 5;
13480 Value |= op;
13481 break;
13482 }
13483 case ARM::t2CPS3p: {
13484 // op: imod
13485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13486 op &= UINT64_C(3);
13487 op <<= 9;
13488 Value |= op;
13489 // op: iflags
13490 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13491 op &= UINT64_C(7);
13492 op <<= 5;
13493 Value |= op;
13494 // op: mode
13495 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13496 op &= UINT64_C(31);
13497 Value |= op;
13498 break;
13499 }
13500 case ARM::t2LE: {
13501 // op: label
13502 op = getBFTargetOpValue<true, ARM::fixup_le>(MI, OpIdx: 0, Fixups, STI);
13503 Value |= (op & UINT64_C(1)) << 11;
13504 Value |= (op & UINT64_C(2046));
13505 break;
13506 }
13507 case ARM::MVE_LETP:
13508 case ARM::t2LEUpdate: {
13509 // op: label
13510 op = getBFTargetOpValue<true, ARM::fixup_le>(MI, OpIdx: 2, Fixups, STI);
13511 Value |= (op & UINT64_C(1)) << 11;
13512 Value |= (op & UINT64_C(2046));
13513 break;
13514 }
13515 case ARM::t2MSR_AR: {
13516 // op: mask
13517 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13518 Value |= (op & UINT64_C(16)) << 16;
13519 Value |= (op & UINT64_C(15)) << 8;
13520 // op: Rn
13521 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13522 op &= UINT64_C(15);
13523 op <<= 16;
13524 Value |= op;
13525 break;
13526 }
13527 case ARM::CPS1p:
13528 case ARM::SRSDA:
13529 case ARM::SRSDA_UPD:
13530 case ARM::SRSDB:
13531 case ARM::SRSDB_UPD:
13532 case ARM::SRSIA:
13533 case ARM::SRSIA_UPD:
13534 case ARM::SRSIB:
13535 case ARM::SRSIB_UPD:
13536 case ARM::t2CPS1p:
13537 case ARM::t2SRSDB:
13538 case ARM::t2SRSDB_UPD:
13539 case ARM::t2SRSIA:
13540 case ARM::t2SRSIA_UPD: {
13541 // op: mode
13542 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13543 op &= UINT64_C(31);
13544 Value |= op;
13545 break;
13546 }
13547 case ARM::LDC2L_POST:
13548 case ARM::LDC2_POST:
13549 case ARM::STC2L_POST:
13550 case ARM::STC2_POST:
13551 case ARM::t2LDC2L_POST:
13552 case ARM::t2LDC2_POST:
13553 case ARM::t2LDCL_POST:
13554 case ARM::t2LDC_POST:
13555 case ARM::t2STC2L_POST:
13556 case ARM::t2STC2_POST:
13557 case ARM::t2STCL_POST:
13558 case ARM::t2STC_POST: {
13559 // op: offset
13560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13561 Value |= (op & UINT64_C(256)) << 15;
13562 Value |= (op & UINT64_C(255));
13563 // op: addr
13564 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13565 op &= UINT64_C(15);
13566 op <<= 16;
13567 Value |= op;
13568 // op: cop
13569 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13570 op &= UINT64_C(15);
13571 op <<= 8;
13572 Value |= op;
13573 // op: CRd
13574 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13575 op &= UINT64_C(15);
13576 op <<= 12;
13577 Value |= op;
13578 break;
13579 }
13580 case ARM::CDP2:
13581 case ARM::t2CDP:
13582 case ARM::t2CDP2: {
13583 // op: opc1
13584 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13585 op &= UINT64_C(15);
13586 op <<= 20;
13587 Value |= op;
13588 // op: CRn
13589 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13590 op &= UINT64_C(15);
13591 op <<= 16;
13592 Value |= op;
13593 // op: CRd
13594 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13595 op &= UINT64_C(15);
13596 op <<= 12;
13597 Value |= op;
13598 // op: cop
13599 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13600 op &= UINT64_C(15);
13601 op <<= 8;
13602 Value |= op;
13603 // op: opc2
13604 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
13605 op &= UINT64_C(7);
13606 op <<= 5;
13607 Value |= op;
13608 // op: CRm
13609 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
13610 op &= UINT64_C(15);
13611 Value |= op;
13612 break;
13613 }
13614 case ARM::DMB:
13615 case ARM::DSB:
13616 case ARM::ISB:
13617 case ARM::t2DBG:
13618 case ARM::t2DMB:
13619 case ARM::t2DSB:
13620 case ARM::t2ISB: {
13621 // op: opt
13622 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13623 op &= UINT64_C(15);
13624 Value |= op;
13625 break;
13626 }
13627 case ARM::t2SMC: {
13628 // op: opt
13629 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13630 op &= UINT64_C(15);
13631 op <<= 16;
13632 Value |= op;
13633 break;
13634 }
13635 case ARM::LDC2L_OPTION:
13636 case ARM::LDC2_OPTION:
13637 case ARM::STC2L_OPTION:
13638 case ARM::STC2_OPTION:
13639 case ARM::t2LDC2L_OPTION:
13640 case ARM::t2LDC2_OPTION:
13641 case ARM::t2LDCL_OPTION:
13642 case ARM::t2LDC_OPTION:
13643 case ARM::t2STC2L_OPTION:
13644 case ARM::t2STC2_OPTION:
13645 case ARM::t2STCL_OPTION:
13646 case ARM::t2STC_OPTION: {
13647 // op: option
13648 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
13649 op &= UINT64_C(255);
13650 Value |= op;
13651 // op: addr
13652 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13653 op &= UINT64_C(15);
13654 op <<= 16;
13655 Value |= op;
13656 // op: cop
13657 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13658 op &= UINT64_C(15);
13659 op <<= 8;
13660 Value |= op;
13661 // op: CRd
13662 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13663 op &= UINT64_C(15);
13664 op <<= 12;
13665 Value |= op;
13666 break;
13667 }
13668 case ARM::BX_RET:
13669 case ARM::ERET:
13670 case ARM::MOVPCLR: {
13671 // op: p
13672 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13673 op &= UINT64_C(15);
13674 op <<= 28;
13675 Value |= op;
13676 break;
13677 }
13678 case ARM::FMSTAT: {
13679 // op: p
13680 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13681 op &= UINT64_C(15);
13682 op <<= 28;
13683 Value |= op;
13684 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
13685 break;
13686 }
13687 case ARM::t2Bcc: {
13688 // op: p
13689 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13690 op &= UINT64_C(15);
13691 op <<= 22;
13692 Value |= op;
13693 // op: target
13694 op = getBranchTargetOpValue(MI, OpIdx: 0, Fixups, STI);
13695 Value |= (op & UINT64_C(1048576)) << 6;
13696 Value |= (op & UINT64_C(258048)) << 4;
13697 Value |= (op & UINT64_C(262144)) >> 5;
13698 Value |= (op & UINT64_C(524288)) >> 8;
13699 Value |= (op & UINT64_C(4094)) >> 1;
13700 break;
13701 }
13702 case ARM::VCMPEZD:
13703 case ARM::VCMPZD: {
13704 // op: p
13705 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13706 op &= UINT64_C(15);
13707 op <<= 28;
13708 Value |= op;
13709 // op: Dd
13710 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13711 Value |= (op & UINT64_C(16)) << 18;
13712 Value |= (op & UINT64_C(15)) << 12;
13713 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
13714 break;
13715 }
13716 case ARM::MRS:
13717 case ARM::MRSsys: {
13718 // op: p
13719 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13720 op &= UINT64_C(15);
13721 op <<= 28;
13722 Value |= op;
13723 // op: Rd
13724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13725 op &= UINT64_C(15);
13726 op <<= 12;
13727 Value |= op;
13728 break;
13729 }
13730 case ARM::VLDMSIA:
13731 case ARM::VSTMSIA: {
13732 // op: p
13733 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13734 op &= UINT64_C(15);
13735 op <<= 28;
13736 Value |= op;
13737 // op: Rn
13738 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13739 op &= UINT64_C(15);
13740 op <<= 16;
13741 Value |= op;
13742 // op: regs
13743 op = getRegisterListOpValue(MI, Op: 3, Fixups, STI);
13744 Value |= (op & UINT64_C(256)) << 14;
13745 Value |= (op & UINT64_C(7680)) << 3;
13746 Value |= (op & UINT64_C(255));
13747 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
13748 break;
13749 }
13750 case ARM::FLDMXIA:
13751 case ARM::FSTMXIA: {
13752 // op: p
13753 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13754 op &= UINT64_C(15);
13755 op <<= 28;
13756 Value |= op;
13757 // op: Rn
13758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13759 op &= UINT64_C(15);
13760 op <<= 16;
13761 Value |= op;
13762 // op: regs
13763 op = getRegisterListOpValue(MI, Op: 3, Fixups, STI);
13764 Value |= (op & UINT64_C(3840)) << 4;
13765 Value |= (op & UINT64_C(254));
13766 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
13767 break;
13768 }
13769 case ARM::VLDMDIA:
13770 case ARM::VSTMDIA: {
13771 // op: p
13772 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13773 op &= UINT64_C(15);
13774 op <<= 28;
13775 Value |= op;
13776 // op: Rn
13777 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13778 op &= UINT64_C(15);
13779 op <<= 16;
13780 Value |= op;
13781 // op: regs
13782 op = getRegisterListOpValue(MI, Op: 3, Fixups, STI);
13783 Value |= (op & UINT64_C(4096)) << 10;
13784 Value |= (op & UINT64_C(3840)) << 4;
13785 Value |= (op & UINT64_C(254));
13786 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
13787 break;
13788 }
13789 case ARM::VMRS:
13790 case ARM::VMRS_FPCXTNS:
13791 case ARM::VMRS_FPCXTS:
13792 case ARM::VMRS_FPEXC:
13793 case ARM::VMRS_FPINST:
13794 case ARM::VMRS_FPINST2:
13795 case ARM::VMRS_FPSID:
13796 case ARM::VMRS_MVFR0:
13797 case ARM::VMRS_MVFR1:
13798 case ARM::VMRS_MVFR2:
13799 case ARM::VMRS_VPR:
13800 case ARM::VMSR:
13801 case ARM::VMSR_FPCXTNS:
13802 case ARM::VMSR_FPCXTS:
13803 case ARM::VMSR_FPEXC:
13804 case ARM::VMSR_FPINST:
13805 case ARM::VMSR_FPINST2:
13806 case ARM::VMSR_FPSID:
13807 case ARM::VMSR_VPR: {
13808 // op: p
13809 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13810 op &= UINT64_C(15);
13811 op <<= 28;
13812 Value |= op;
13813 // op: Rt
13814 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13815 op &= UINT64_C(15);
13816 op <<= 12;
13817 Value |= op;
13818 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
13819 break;
13820 }
13821 case ARM::VCMPEZH:
13822 case ARM::VCMPEZS:
13823 case ARM::VCMPZH:
13824 case ARM::VCMPZS: {
13825 // op: p
13826 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13827 op &= UINT64_C(15);
13828 op <<= 28;
13829 Value |= op;
13830 // op: Sd
13831 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13832 Value |= (op & UINT64_C(1)) << 22;
13833 Value |= (op & UINT64_C(30)) << 11;
13834 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
13835 break;
13836 }
13837 case ARM::BX_pred: {
13838 // op: p
13839 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13840 op &= UINT64_C(15);
13841 op <<= 28;
13842 Value |= op;
13843 // op: dst
13844 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13845 op &= UINT64_C(15);
13846 Value |= op;
13847 break;
13848 }
13849 case ARM::BL_pred: {
13850 // op: p
13851 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13852 op &= UINT64_C(15);
13853 op <<= 28;
13854 Value |= op;
13855 // op: func
13856 op = getARMBLTargetOpValue(MI, OpIdx: 0, Fixups, STI);
13857 op &= UINT64_C(16777215);
13858 Value |= op;
13859 break;
13860 }
13861 case ARM::BLX_pred:
13862 case ARM::BXJ: {
13863 // op: p
13864 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13865 op &= UINT64_C(15);
13866 op <<= 28;
13867 Value |= op;
13868 // op: func
13869 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13870 op &= UINT64_C(15);
13871 Value |= op;
13872 break;
13873 }
13874 case ARM::HINT: {
13875 // op: p
13876 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13877 op &= UINT64_C(15);
13878 op <<= 28;
13879 Value |= op;
13880 // op: imm
13881 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13882 op &= UINT64_C(255);
13883 Value |= op;
13884 break;
13885 }
13886 case ARM::DBG:
13887 case ARM::SMC: {
13888 // op: p
13889 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13890 op &= UINT64_C(15);
13891 op <<= 28;
13892 Value |= op;
13893 // op: opt
13894 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13895 op &= UINT64_C(15);
13896 Value |= op;
13897 break;
13898 }
13899 case ARM::LDMDA:
13900 case ARM::LDMDB:
13901 case ARM::LDMIA:
13902 case ARM::LDMIB:
13903 case ARM::STMDA:
13904 case ARM::STMDB:
13905 case ARM::STMIA:
13906 case ARM::STMIB:
13907 case ARM::sysLDMDA:
13908 case ARM::sysLDMDB:
13909 case ARM::sysLDMIA:
13910 case ARM::sysLDMIB:
13911 case ARM::sysSTMDA:
13912 case ARM::sysSTMDB:
13913 case ARM::sysSTMIA:
13914 case ARM::sysSTMIB: {
13915 // op: p
13916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13917 op &= UINT64_C(15);
13918 op <<= 28;
13919 Value |= op;
13920 // op: regs
13921 op = getRegisterListOpValue(MI, Op: 3, Fixups, STI);
13922 op &= UINT64_C(65535);
13923 Value |= op;
13924 // op: Rn
13925 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13926 op &= UINT64_C(15);
13927 op <<= 16;
13928 Value |= op;
13929 break;
13930 }
13931 case ARM::SVC: {
13932 // op: p
13933 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13934 op &= UINT64_C(15);
13935 op <<= 28;
13936 Value |= op;
13937 // op: svc
13938 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13939 op &= UINT64_C(16777215);
13940 Value |= op;
13941 break;
13942 }
13943 case ARM::Bcc: {
13944 // op: p
13945 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13946 op &= UINT64_C(15);
13947 op <<= 28;
13948 Value |= op;
13949 // op: target
13950 op = getARMBranchTargetOpValue(MI, OpIdx: 0, Fixups, STI);
13951 op &= UINT64_C(16777215);
13952 Value |= op;
13953 break;
13954 }
13955 case ARM::tBcc: {
13956 // op: p
13957 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13958 op &= UINT64_C(15);
13959 op <<= 8;
13960 Value |= op;
13961 // op: target
13962 op = getThumbBCCTargetOpValue(MI, OpIdx: 0, Fixups, STI);
13963 op &= UINT64_C(255);
13964 Value |= op;
13965 break;
13966 }
13967 case ARM::VABSD:
13968 case ARM::VCMPD:
13969 case ARM::VCMPED:
13970 case ARM::VMOVD:
13971 case ARM::VNEGD:
13972 case ARM::VRINTRD:
13973 case ARM::VRINTXD:
13974 case ARM::VRINTZD:
13975 case ARM::VSQRTD: {
13976 // op: p
13977 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13978 op &= UINT64_C(15);
13979 op <<= 28;
13980 Value |= op;
13981 // op: Dd
13982 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
13983 Value |= (op & UINT64_C(16)) << 18;
13984 Value |= (op & UINT64_C(15)) << 12;
13985 // op: Dm
13986 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
13987 Value |= (op & UINT64_C(16)) << 1;
13988 Value |= (op & UINT64_C(15));
13989 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
13990 break;
13991 }
13992 case ARM::VCVTBHD:
13993 case ARM::VCVTTHD:
13994 case ARM::VSITOD:
13995 case ARM::VUITOD: {
13996 // op: p
13997 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
13998 op &= UINT64_C(15);
13999 op <<= 28;
14000 Value |= op;
14001 // op: Dd
14002 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14003 Value |= (op & UINT64_C(16)) << 18;
14004 Value |= (op & UINT64_C(15)) << 12;
14005 // op: Sm
14006 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14007 Value |= (op & UINT64_C(1)) << 5;
14008 Value |= (op & UINT64_C(30)) >> 1;
14009 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14010 break;
14011 }
14012 case ARM::FCONSTD: {
14013 // op: p
14014 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14015 op &= UINT64_C(15);
14016 op <<= 28;
14017 Value |= op;
14018 // op: Dd
14019 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14020 Value |= (op & UINT64_C(16)) << 18;
14021 Value |= (op & UINT64_C(15)) << 12;
14022 // op: imm
14023 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14024 Value |= (op & UINT64_C(240)) << 12;
14025 Value |= (op & UINT64_C(15));
14026 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14027 break;
14028 }
14029 case ARM::CLZ:
14030 case ARM::RBIT:
14031 case ARM::REV:
14032 case ARM::REV16:
14033 case ARM::REVSH: {
14034 // op: p
14035 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14036 op &= UINT64_C(15);
14037 op <<= 28;
14038 Value |= op;
14039 // op: Rd
14040 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14041 op &= UINT64_C(15);
14042 op <<= 12;
14043 Value |= op;
14044 // op: Rm
14045 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14046 op &= UINT64_C(15);
14047 Value |= op;
14048 break;
14049 }
14050 case ARM::MOVi16: {
14051 // op: p
14052 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14053 op &= UINT64_C(15);
14054 op <<= 28;
14055 Value |= op;
14056 // op: Rd
14057 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14058 op &= UINT64_C(15);
14059 op <<= 12;
14060 Value |= op;
14061 // op: imm
14062 op = getHiLoImmOpValue(MI, OpIdx: 1, Fixups, STI);
14063 Value |= (op & UINT64_C(61440)) << 4;
14064 Value |= (op & UINT64_C(4095));
14065 break;
14066 }
14067 case ARM::ADR: {
14068 // op: p
14069 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14070 op &= UINT64_C(15);
14071 op <<= 28;
14072 Value |= op;
14073 // op: Rd
14074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14075 op &= UINT64_C(15);
14076 op <<= 12;
14077 Value |= op;
14078 // op: label
14079 op = getAdrLabelOpValue(MI, OpIdx: 1, Fixups, STI);
14080 Value |= (op & UINT64_C(12288)) << 10;
14081 Value |= (op & UINT64_C(4095));
14082 break;
14083 }
14084 case ARM::CMNzrr:
14085 case ARM::CMPrr:
14086 case ARM::TEQrr:
14087 case ARM::TSTrr: {
14088 // op: p
14089 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14090 op &= UINT64_C(15);
14091 op <<= 28;
14092 Value |= op;
14093 // op: Rn
14094 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14095 op &= UINT64_C(15);
14096 op <<= 16;
14097 Value |= op;
14098 // op: Rm
14099 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14100 op &= UINT64_C(15);
14101 Value |= op;
14102 break;
14103 }
14104 case ARM::CMNri:
14105 case ARM::CMPri:
14106 case ARM::TEQri:
14107 case ARM::TSTri: {
14108 // op: p
14109 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14110 op &= UINT64_C(15);
14111 op <<= 28;
14112 Value |= op;
14113 // op: Rn
14114 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14115 op &= UINT64_C(15);
14116 op <<= 16;
14117 Value |= op;
14118 // op: imm
14119 op = getModImmOpValue(MI, Op: 1, Fixups, ST: STI);
14120 op &= UINT64_C(4095);
14121 Value |= op;
14122 break;
14123 }
14124 case ARM::VLDMSDB_UPD:
14125 case ARM::VLDMSIA_UPD:
14126 case ARM::VSTMSDB_UPD:
14127 case ARM::VSTMSIA_UPD: {
14128 // op: p
14129 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14130 op &= UINT64_C(15);
14131 op <<= 28;
14132 Value |= op;
14133 // op: Rn
14134 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14135 op &= UINT64_C(15);
14136 op <<= 16;
14137 Value |= op;
14138 // op: regs
14139 op = getRegisterListOpValue(MI, Op: 4, Fixups, STI);
14140 Value |= (op & UINT64_C(256)) << 14;
14141 Value |= (op & UINT64_C(7680)) << 3;
14142 Value |= (op & UINT64_C(255));
14143 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14144 break;
14145 }
14146 case ARM::FLDMXDB_UPD:
14147 case ARM::FLDMXIA_UPD:
14148 case ARM::FSTMXDB_UPD:
14149 case ARM::FSTMXIA_UPD: {
14150 // op: p
14151 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14152 op &= UINT64_C(15);
14153 op <<= 28;
14154 Value |= op;
14155 // op: Rn
14156 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14157 op &= UINT64_C(15);
14158 op <<= 16;
14159 Value |= op;
14160 // op: regs
14161 op = getRegisterListOpValue(MI, Op: 4, Fixups, STI);
14162 Value |= (op & UINT64_C(3840)) << 4;
14163 Value |= (op & UINT64_C(254));
14164 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14165 break;
14166 }
14167 case ARM::VLDMDDB_UPD:
14168 case ARM::VLDMDIA_UPD:
14169 case ARM::VSTMDDB_UPD:
14170 case ARM::VSTMDIA_UPD: {
14171 // op: p
14172 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14173 op &= UINT64_C(15);
14174 op <<= 28;
14175 Value |= op;
14176 // op: Rn
14177 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14178 op &= UINT64_C(15);
14179 op <<= 16;
14180 Value |= op;
14181 // op: regs
14182 op = getRegisterListOpValue(MI, Op: 4, Fixups, STI);
14183 Value |= (op & UINT64_C(4096)) << 10;
14184 Value |= (op & UINT64_C(3840)) << 4;
14185 Value |= (op & UINT64_C(254));
14186 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14187 break;
14188 }
14189 case ARM::STL:
14190 case ARM::STLB:
14191 case ARM::STLH: {
14192 // op: p
14193 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14194 op &= UINT64_C(15);
14195 op <<= 28;
14196 Value |= op;
14197 // op: Rt
14198 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14199 op &= UINT64_C(15);
14200 Value |= op;
14201 // op: addr
14202 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14203 op &= UINT64_C(15);
14204 op <<= 16;
14205 Value |= op;
14206 break;
14207 }
14208 case ARM::VMOVRH:
14209 case ARM::VMOVRS: {
14210 // op: p
14211 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14212 op &= UINT64_C(15);
14213 op <<= 28;
14214 Value |= op;
14215 // op: Rt
14216 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14217 op &= UINT64_C(15);
14218 op <<= 12;
14219 Value |= op;
14220 // op: Sn
14221 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14222 Value |= (op & UINT64_C(30)) << 15;
14223 Value |= (op & UINT64_C(1)) << 7;
14224 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14225 break;
14226 }
14227 case ARM::LDA:
14228 case ARM::LDAB:
14229 case ARM::LDAEX:
14230 case ARM::LDAEXB:
14231 case ARM::LDAEXD:
14232 case ARM::LDAEXH:
14233 case ARM::LDAH:
14234 case ARM::LDREX:
14235 case ARM::LDREXB:
14236 case ARM::LDREXD:
14237 case ARM::LDREXH: {
14238 // op: p
14239 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14240 op &= UINT64_C(15);
14241 op <<= 28;
14242 Value |= op;
14243 // op: Rt
14244 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14245 op &= UINT64_C(15);
14246 op <<= 12;
14247 Value |= op;
14248 // op: addr
14249 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14250 op &= UINT64_C(15);
14251 op <<= 16;
14252 Value |= op;
14253 break;
14254 }
14255 case ARM::VMRS_FPSCR_NZCVQC:
14256 case ARM::VMRS_P0: {
14257 // op: p
14258 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14259 op &= UINT64_C(15);
14260 op <<= 28;
14261 Value |= op;
14262 // op: Rt
14263 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14264 op &= UINT64_C(15);
14265 op <<= 12;
14266 Value |= op;
14267 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14268 break;
14269 }
14270 case ARM::VMSR_FPSCR_NZCVQC:
14271 case ARM::VMSR_P0: {
14272 // op: p
14273 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14274 op &= UINT64_C(15);
14275 op <<= 28;
14276 Value |= op;
14277 // op: Rt
14278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14279 op &= UINT64_C(15);
14280 op <<= 12;
14281 Value |= op;
14282 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14283 break;
14284 }
14285 case ARM::VCVTSD:
14286 case ARM::VJCVT:
14287 case ARM::VTOSIRD:
14288 case ARM::VTOSIZD:
14289 case ARM::VTOUIRD:
14290 case ARM::VTOUIZD: {
14291 // op: p
14292 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14293 op &= UINT64_C(15);
14294 op <<= 28;
14295 Value |= op;
14296 // op: Sd
14297 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14298 Value |= (op & UINT64_C(1)) << 22;
14299 Value |= (op & UINT64_C(30)) << 11;
14300 // op: Dm
14301 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14302 Value |= (op & UINT64_C(16)) << 1;
14303 Value |= (op & UINT64_C(15));
14304 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14305 break;
14306 }
14307 case ARM::VABSH:
14308 case ARM::VABSS:
14309 case ARM::VCMPEH:
14310 case ARM::VCMPES:
14311 case ARM::VCMPH:
14312 case ARM::VCMPS:
14313 case ARM::VCVTBHS:
14314 case ARM::VCVTTHS:
14315 case ARM::VMOVS:
14316 case ARM::VNEGH:
14317 case ARM::VNEGS:
14318 case ARM::VRINTRH:
14319 case ARM::VRINTRS:
14320 case ARM::VRINTXH:
14321 case ARM::VRINTXS:
14322 case ARM::VRINTZH:
14323 case ARM::VRINTZS:
14324 case ARM::VSITOH:
14325 case ARM::VSITOS:
14326 case ARM::VSQRTH:
14327 case ARM::VSQRTS:
14328 case ARM::VTOSIRH:
14329 case ARM::VTOSIRS:
14330 case ARM::VTOSIZH:
14331 case ARM::VTOSIZS:
14332 case ARM::VTOUIRH:
14333 case ARM::VTOUIRS:
14334 case ARM::VTOUIZH:
14335 case ARM::VTOUIZS:
14336 case ARM::VUITOH:
14337 case ARM::VUITOS: {
14338 // op: p
14339 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14340 op &= UINT64_C(15);
14341 op <<= 28;
14342 Value |= op;
14343 // op: Sd
14344 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14345 Value |= (op & UINT64_C(1)) << 22;
14346 Value |= (op & UINT64_C(30)) << 11;
14347 // op: Sm
14348 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14349 Value |= (op & UINT64_C(1)) << 5;
14350 Value |= (op & UINT64_C(30)) >> 1;
14351 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14352 break;
14353 }
14354 case ARM::FCONSTH:
14355 case ARM::FCONSTS: {
14356 // op: p
14357 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14358 op &= UINT64_C(15);
14359 op <<= 28;
14360 Value |= op;
14361 // op: Sd
14362 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14363 Value |= (op & UINT64_C(1)) << 22;
14364 Value |= (op & UINT64_C(30)) << 11;
14365 // op: imm
14366 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14367 Value |= (op & UINT64_C(240)) << 12;
14368 Value |= (op & UINT64_C(15));
14369 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14370 break;
14371 }
14372 case ARM::VCVTDS: {
14373 // op: p
14374 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14375 op &= UINT64_C(15);
14376 op <<= 28;
14377 Value |= op;
14378 // op: Sm
14379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14380 Value |= (op & UINT64_C(1)) << 5;
14381 Value |= (op & UINT64_C(30)) >> 1;
14382 // op: Dd
14383 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14384 Value |= (op & UINT64_C(16)) << 18;
14385 Value |= (op & UINT64_C(15)) << 12;
14386 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14387 break;
14388 }
14389 case ARM::VMOVHR:
14390 case ARM::VMOVSR: {
14391 // op: p
14392 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14393 op &= UINT64_C(15);
14394 op <<= 28;
14395 Value |= op;
14396 // op: Sn
14397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14398 Value |= (op & UINT64_C(30)) << 15;
14399 Value |= (op & UINT64_C(1)) << 7;
14400 // op: Rt
14401 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14402 op &= UINT64_C(15);
14403 op <<= 12;
14404 Value |= op;
14405 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14406 break;
14407 }
14408 case ARM::VLDR_FPCXTNS_off:
14409 case ARM::VLDR_FPCXTS_off:
14410 case ARM::VLDR_FPSCR_off:
14411 case ARM::VLDR_VPR_off:
14412 case ARM::VSTR_FPCXTNS_off:
14413 case ARM::VSTR_FPCXTS_off:
14414 case ARM::VSTR_FPSCR_off:
14415 case ARM::VSTR_VPR_off: {
14416 // op: p
14417 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14418 op &= UINT64_C(15);
14419 op <<= 28;
14420 Value |= op;
14421 // op: addr
14422 op = getT2AddrModeImm7s4OpValue(MI, OpIdx: 0, Fixups, STI);
14423 Value |= (op & UINT64_C(128)) << 16;
14424 Value |= (op & UINT64_C(3840)) << 8;
14425 Value |= (op & UINT64_C(127));
14426 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14427 break;
14428 }
14429 case ARM::MSRbanked: {
14430 // op: p
14431 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14432 op &= UINT64_C(15);
14433 op <<= 28;
14434 Value |= op;
14435 // op: banked
14436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14437 Value |= (op & UINT64_C(32)) << 17;
14438 Value |= (op & UINT64_C(15)) << 16;
14439 Value |= (op & UINT64_C(16)) << 4;
14440 // op: Rn
14441 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14442 op &= UINT64_C(15);
14443 Value |= op;
14444 break;
14445 }
14446 case ARM::MRSbanked: {
14447 // op: p
14448 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14449 op &= UINT64_C(15);
14450 op <<= 28;
14451 Value |= op;
14452 // op: banked
14453 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14454 Value |= (op & UINT64_C(32)) << 17;
14455 Value |= (op & UINT64_C(15)) << 16;
14456 Value |= (op & UINT64_C(16)) << 4;
14457 // op: Rd
14458 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14459 op &= UINT64_C(15);
14460 op <<= 12;
14461 Value |= op;
14462 break;
14463 }
14464 case ARM::MSR: {
14465 // op: p
14466 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14467 op &= UINT64_C(15);
14468 op <<= 28;
14469 Value |= op;
14470 // op: mask
14471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14472 Value |= (op & UINT64_C(16)) << 18;
14473 Value |= (op & UINT64_C(15)) << 16;
14474 // op: Rn
14475 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14476 op &= UINT64_C(15);
14477 Value |= op;
14478 break;
14479 }
14480 case ARM::MSRi: {
14481 // op: p
14482 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14483 op &= UINT64_C(15);
14484 op <<= 28;
14485 Value |= op;
14486 // op: mask
14487 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14488 Value |= (op & UINT64_C(16)) << 18;
14489 Value |= (op & UINT64_C(15)) << 16;
14490 // op: imm
14491 op = getModImmOpValue(MI, Op: 1, Fixups, ST: STI);
14492 op &= UINT64_C(4095);
14493 Value |= op;
14494 break;
14495 }
14496 case ARM::LDMDA_UPD:
14497 case ARM::LDMDB_UPD:
14498 case ARM::LDMIA_UPD:
14499 case ARM::LDMIB_UPD:
14500 case ARM::STMDA_UPD:
14501 case ARM::STMDB_UPD:
14502 case ARM::STMIA_UPD:
14503 case ARM::STMIB_UPD:
14504 case ARM::sysLDMDA_UPD:
14505 case ARM::sysLDMDB_UPD:
14506 case ARM::sysLDMIA_UPD:
14507 case ARM::sysLDMIB_UPD:
14508 case ARM::sysSTMDA_UPD:
14509 case ARM::sysSTMDB_UPD:
14510 case ARM::sysSTMIA_UPD:
14511 case ARM::sysSTMIB_UPD: {
14512 // op: p
14513 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14514 op &= UINT64_C(15);
14515 op <<= 28;
14516 Value |= op;
14517 // op: regs
14518 op = getRegisterListOpValue(MI, Op: 4, Fixups, STI);
14519 op &= UINT64_C(65535);
14520 Value |= op;
14521 // op: Rn
14522 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14523 op &= UINT64_C(15);
14524 op <<= 16;
14525 Value |= op;
14526 break;
14527 }
14528 case ARM::MOVr:
14529 case ARM::MOVr_TC:
14530 case ARM::MVNr: {
14531 // op: p
14532 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14533 op &= UINT64_C(15);
14534 op <<= 28;
14535 Value |= op;
14536 // op: s
14537 op = getCCOutOpValue(MI, Op: 4, Fixups, STI);
14538 op &= UINT64_C(1);
14539 op <<= 20;
14540 Value |= op;
14541 // op: Rd
14542 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14543 op &= UINT64_C(15);
14544 op <<= 12;
14545 Value |= op;
14546 // op: Rm
14547 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14548 op &= UINT64_C(15);
14549 Value |= op;
14550 break;
14551 }
14552 case ARM::MOVi:
14553 case ARM::MVNi: {
14554 // op: p
14555 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14556 op &= UINT64_C(15);
14557 op <<= 28;
14558 Value |= op;
14559 // op: s
14560 op = getCCOutOpValue(MI, Op: 4, Fixups, STI);
14561 op &= UINT64_C(1);
14562 op <<= 20;
14563 Value |= op;
14564 // op: Rd
14565 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14566 op &= UINT64_C(15);
14567 op <<= 12;
14568 Value |= op;
14569 // op: imm
14570 op = getModImmOpValue(MI, Op: 1, Fixups, ST: STI);
14571 op &= UINT64_C(4095);
14572 Value |= op;
14573 break;
14574 }
14575 case ARM::VADDD:
14576 case ARM::VDIVD:
14577 case ARM::VMULD:
14578 case ARM::VNMULD:
14579 case ARM::VSUBD: {
14580 // op: p
14581 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14582 op &= UINT64_C(15);
14583 op <<= 28;
14584 Value |= op;
14585 // op: Dd
14586 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14587 Value |= (op & UINT64_C(16)) << 18;
14588 Value |= (op & UINT64_C(15)) << 12;
14589 // op: Dn
14590 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14591 Value |= (op & UINT64_C(15)) << 16;
14592 Value |= (op & UINT64_C(16)) << 3;
14593 // op: Dm
14594 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14595 Value |= (op & UINT64_C(16)) << 1;
14596 Value |= (op & UINT64_C(15));
14597 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14598 break;
14599 }
14600 case ARM::VLDRD:
14601 case ARM::VSTRD: {
14602 // op: p
14603 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14604 op &= UINT64_C(15);
14605 op <<= 28;
14606 Value |= op;
14607 // op: Dd
14608 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14609 Value |= (op & UINT64_C(16)) << 18;
14610 Value |= (op & UINT64_C(15)) << 12;
14611 // op: addr
14612 op = getAddrMode5OpValue(MI, OpIdx: 1, Fixups, STI);
14613 Value |= (op & UINT64_C(256)) << 15;
14614 Value |= (op & UINT64_C(7680)) << 7;
14615 Value |= (op & UINT64_C(255));
14616 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14617 break;
14618 }
14619 case ARM::VMOVDRR: {
14620 // op: p
14621 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14622 op &= UINT64_C(15);
14623 op <<= 28;
14624 Value |= op;
14625 // op: Dm
14626 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14627 Value |= (op & UINT64_C(16)) << 1;
14628 Value |= (op & UINT64_C(15));
14629 // op: Rt
14630 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14631 op &= UINT64_C(15);
14632 op <<= 12;
14633 Value |= op;
14634 // op: Rt2
14635 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14636 op &= UINT64_C(15);
14637 op <<= 16;
14638 Value |= op;
14639 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14640 break;
14641 }
14642 case ARM::VMOVRRD: {
14643 // op: p
14644 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14645 op &= UINT64_C(15);
14646 op <<= 28;
14647 Value |= op;
14648 // op: Dm
14649 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14650 Value |= (op & UINT64_C(16)) << 1;
14651 Value |= (op & UINT64_C(15));
14652 // op: Rt
14653 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14654 op &= UINT64_C(15);
14655 op <<= 12;
14656 Value |= op;
14657 // op: Rt2
14658 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14659 op &= UINT64_C(15);
14660 op <<= 16;
14661 Value |= op;
14662 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14663 break;
14664 }
14665 case ARM::VCVTBDH:
14666 case ARM::VCVTTDH: {
14667 // op: p
14668 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14669 op &= UINT64_C(15);
14670 op <<= 28;
14671 Value |= op;
14672 // op: Dm
14673 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14674 Value |= (op & UINT64_C(16)) << 1;
14675 Value |= (op & UINT64_C(15));
14676 // op: Sd
14677 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14678 Value |= (op & UINT64_C(1)) << 22;
14679 Value |= (op & UINT64_C(30)) << 11;
14680 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
14681 break;
14682 }
14683 case ARM::SXTB:
14684 case ARM::SXTB16:
14685 case ARM::SXTH:
14686 case ARM::UXTB:
14687 case ARM::UXTB16:
14688 case ARM::UXTH: {
14689 // op: p
14690 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14691 op &= UINT64_C(15);
14692 op <<= 28;
14693 Value |= op;
14694 // op: Rd
14695 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14696 op &= UINT64_C(15);
14697 op <<= 12;
14698 Value |= op;
14699 // op: Rm
14700 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14701 op &= UINT64_C(15);
14702 Value |= op;
14703 // op: rot
14704 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14705 op &= UINT64_C(3);
14706 op <<= 10;
14707 Value |= op;
14708 break;
14709 }
14710 case ARM::SEL: {
14711 // op: p
14712 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14713 op &= UINT64_C(15);
14714 op <<= 28;
14715 Value |= op;
14716 // op: Rd
14717 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14718 op &= UINT64_C(15);
14719 op <<= 12;
14720 Value |= op;
14721 // op: Rn
14722 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14723 op &= UINT64_C(15);
14724 op <<= 16;
14725 Value |= op;
14726 // op: Rm
14727 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14728 op &= UINT64_C(15);
14729 Value |= op;
14730 break;
14731 }
14732 case ARM::BFC: {
14733 // op: p
14734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14735 op &= UINT64_C(15);
14736 op <<= 28;
14737 Value |= op;
14738 // op: Rd
14739 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14740 op &= UINT64_C(15);
14741 op <<= 12;
14742 Value |= op;
14743 // op: imm
14744 op = getBitfieldInvertedMaskOpValue(MI, Op: 2, Fixups, STI);
14745 Value |= (op & UINT64_C(992)) << 11;
14746 Value |= (op & UINT64_C(31)) << 7;
14747 break;
14748 }
14749 case ARM::MOVTi16: {
14750 // op: p
14751 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14752 op &= UINT64_C(15);
14753 op <<= 28;
14754 Value |= op;
14755 // op: Rd
14756 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14757 op &= UINT64_C(15);
14758 op <<= 12;
14759 Value |= op;
14760 // op: imm
14761 op = getHiLoImmOpValue(MI, OpIdx: 2, Fixups, STI);
14762 Value |= (op & UINT64_C(61440)) << 4;
14763 Value |= (op & UINT64_C(4095));
14764 break;
14765 }
14766 case ARM::SSAT16:
14767 case ARM::USAT16: {
14768 // op: p
14769 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14770 op &= UINT64_C(15);
14771 op <<= 28;
14772 Value |= op;
14773 // op: Rd
14774 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14775 op &= UINT64_C(15);
14776 op <<= 12;
14777 Value |= op;
14778 // op: sat_imm
14779 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14780 op &= UINT64_C(15);
14781 op <<= 16;
14782 Value |= op;
14783 // op: Rn
14784 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14785 op &= UINT64_C(15);
14786 Value |= op;
14787 break;
14788 }
14789 case ARM::SDIV:
14790 case ARM::SMMUL:
14791 case ARM::SMMULR:
14792 case ARM::UDIV:
14793 case ARM::USAD8: {
14794 // op: p
14795 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14796 op &= UINT64_C(15);
14797 op <<= 28;
14798 Value |= op;
14799 // op: Rd
14800 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14801 op &= UINT64_C(15);
14802 op <<= 16;
14803 Value |= op;
14804 // op: Rn
14805 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14806 op &= UINT64_C(15);
14807 Value |= op;
14808 // op: Rm
14809 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14810 op &= UINT64_C(15);
14811 op <<= 8;
14812 Value |= op;
14813 break;
14814 }
14815 case ARM::CMNzrsi:
14816 case ARM::CMPrsi:
14817 case ARM::TEQrsi:
14818 case ARM::TSTrsi: {
14819 // op: p
14820 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14821 op &= UINT64_C(15);
14822 op <<= 28;
14823 Value |= op;
14824 // op: Rn
14825 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14826 op &= UINT64_C(15);
14827 op <<= 16;
14828 Value |= op;
14829 // op: shift
14830 op = getSORegImmOpValue(MI, OpIdx: 1, Fixups, STI);
14831 Value |= (op & UINT64_C(4064));
14832 Value |= (op & UINT64_C(15));
14833 break;
14834 }
14835 case ARM::SMUAD:
14836 case ARM::SMUADX:
14837 case ARM::SMULBB:
14838 case ARM::SMULBT:
14839 case ARM::SMULTB:
14840 case ARM::SMULTT:
14841 case ARM::SMULWB:
14842 case ARM::SMULWT:
14843 case ARM::SMUSD:
14844 case ARM::SMUSDX: {
14845 // op: p
14846 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14847 op &= UINT64_C(15);
14848 op <<= 28;
14849 Value |= op;
14850 // op: Rn
14851 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14852 op &= UINT64_C(15);
14853 Value |= op;
14854 // op: Rm
14855 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14856 op &= UINT64_C(15);
14857 op <<= 8;
14858 Value |= op;
14859 // op: Rd
14860 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14861 op &= UINT64_C(15);
14862 op <<= 16;
14863 Value |= op;
14864 break;
14865 }
14866 case ARM::QADD8:
14867 case ARM::QADD16:
14868 case ARM::QASX:
14869 case ARM::QSAX:
14870 case ARM::QSUB8:
14871 case ARM::QSUB16:
14872 case ARM::SADD8:
14873 case ARM::SADD16:
14874 case ARM::SASX:
14875 case ARM::SHADD8:
14876 case ARM::SHADD16:
14877 case ARM::SHASX:
14878 case ARM::SHSAX:
14879 case ARM::SHSUB8:
14880 case ARM::SHSUB16:
14881 case ARM::SSAX:
14882 case ARM::SSUB8:
14883 case ARM::SSUB16:
14884 case ARM::UADD8:
14885 case ARM::UADD16:
14886 case ARM::UASX:
14887 case ARM::UHADD8:
14888 case ARM::UHADD16:
14889 case ARM::UHASX:
14890 case ARM::UHSAX:
14891 case ARM::UHSUB8:
14892 case ARM::UHSUB16:
14893 case ARM::UQADD8:
14894 case ARM::UQADD16:
14895 case ARM::UQASX:
14896 case ARM::UQSAX:
14897 case ARM::UQSUB8:
14898 case ARM::UQSUB16:
14899 case ARM::USAX:
14900 case ARM::USUB8:
14901 case ARM::USUB16: {
14902 // op: p
14903 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14904 op &= UINT64_C(15);
14905 op <<= 28;
14906 Value |= op;
14907 // op: Rn
14908 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14909 op &= UINT64_C(15);
14910 op <<= 16;
14911 Value |= op;
14912 // op: Rd
14913 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14914 op &= UINT64_C(15);
14915 op <<= 12;
14916 Value |= op;
14917 // op: Rm
14918 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14919 op &= UINT64_C(15);
14920 Value |= op;
14921 break;
14922 }
14923 case ARM::QADD:
14924 case ARM::QDADD:
14925 case ARM::QDSUB:
14926 case ARM::QSUB: {
14927 // op: p
14928 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14929 op &= UINT64_C(15);
14930 op <<= 28;
14931 Value |= op;
14932 // op: Rn
14933 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14934 op &= UINT64_C(15);
14935 op <<= 16;
14936 Value |= op;
14937 // op: Rd
14938 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14939 op &= UINT64_C(15);
14940 op <<= 12;
14941 Value |= op;
14942 // op: Rm
14943 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14944 op &= UINT64_C(15);
14945 Value |= op;
14946 break;
14947 }
14948 case ARM::SWP:
14949 case ARM::SWPB: {
14950 // op: p
14951 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14952 op &= UINT64_C(15);
14953 op <<= 28;
14954 Value |= op;
14955 // op: Rt
14956 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14957 op &= UINT64_C(15);
14958 op <<= 12;
14959 Value |= op;
14960 // op: Rt2
14961 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
14962 op &= UINT64_C(15);
14963 Value |= op;
14964 // op: addr
14965 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
14966 op &= UINT64_C(15);
14967 op <<= 16;
14968 Value |= op;
14969 break;
14970 }
14971 case ARM::LDRBi12:
14972 case ARM::LDRi12:
14973 case ARM::STRBi12:
14974 case ARM::STRi12: {
14975 // op: p
14976 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14977 op &= UINT64_C(15);
14978 op <<= 28;
14979 Value |= op;
14980 // op: Rt
14981 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
14982 op &= UINT64_C(15);
14983 op <<= 12;
14984 Value |= op;
14985 // op: addr
14986 op = getAddrModeImm12OpValue(MI, OpIdx: 1, Fixups, STI);
14987 Value |= (op & UINT64_C(4096)) << 11;
14988 Value |= (op & UINT64_C(122880)) << 3;
14989 Value |= (op & UINT64_C(4095));
14990 break;
14991 }
14992 case ARM::LDRcp: {
14993 // op: p
14994 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
14995 op &= UINT64_C(15);
14996 op <<= 28;
14997 Value |= op;
14998 // op: Rt
14999 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15000 op &= UINT64_C(15);
15001 op <<= 12;
15002 Value |= op;
15003 // op: addr
15004 op = getAddrModeImm12OpValue(MI, OpIdx: 1, Fixups, STI);
15005 Value |= (op & UINT64_C(4096)) << 11;
15006 Value |= (op & UINT64_C(4095));
15007 break;
15008 }
15009 case ARM::STLEX:
15010 case ARM::STLEXB:
15011 case ARM::STLEXD:
15012 case ARM::STLEXH:
15013 case ARM::STREX:
15014 case ARM::STREXB:
15015 case ARM::STREXD:
15016 case ARM::STREXH: {
15017 // op: p
15018 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15019 op &= UINT64_C(15);
15020 op <<= 28;
15021 Value |= op;
15022 // op: Rt
15023 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15024 op &= UINT64_C(15);
15025 Value |= op;
15026 // op: addr
15027 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15028 op &= UINT64_C(15);
15029 op <<= 16;
15030 Value |= op;
15031 // op: Rd
15032 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15033 op &= UINT64_C(15);
15034 op <<= 12;
15035 Value |= op;
15036 break;
15037 }
15038 case ARM::BF16_VCVTB:
15039 case ARM::BF16_VCVTT:
15040 case ARM::VCVTBSH:
15041 case ARM::VCVTTSH: {
15042 // op: p
15043 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15044 op &= UINT64_C(15);
15045 op <<= 28;
15046 Value |= op;
15047 // op: Sd
15048 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15049 Value |= (op & UINT64_C(1)) << 22;
15050 Value |= (op & UINT64_C(30)) << 11;
15051 // op: Sm
15052 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15053 Value |= (op & UINT64_C(1)) << 5;
15054 Value |= (op & UINT64_C(30)) >> 1;
15055 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15056 break;
15057 }
15058 case ARM::VADDH:
15059 case ARM::VADDS:
15060 case ARM::VDIVH:
15061 case ARM::VDIVS:
15062 case ARM::VMULH:
15063 case ARM::VMULS:
15064 case ARM::VNMULH:
15065 case ARM::VNMULS:
15066 case ARM::VSUBH:
15067 case ARM::VSUBS: {
15068 // op: p
15069 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15070 op &= UINT64_C(15);
15071 op <<= 28;
15072 Value |= op;
15073 // op: Sd
15074 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15075 Value |= (op & UINT64_C(1)) << 22;
15076 Value |= (op & UINT64_C(30)) << 11;
15077 // op: Sn
15078 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15079 Value |= (op & UINT64_C(30)) << 15;
15080 Value |= (op & UINT64_C(1)) << 7;
15081 // op: Sm
15082 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15083 Value |= (op & UINT64_C(1)) << 5;
15084 Value |= (op & UINT64_C(30)) >> 1;
15085 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15086 break;
15087 }
15088 case ARM::VLDRH:
15089 case ARM::VSTRH: {
15090 // op: p
15091 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15092 op &= UINT64_C(15);
15093 op <<= 28;
15094 Value |= op;
15095 // op: Sd
15096 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15097 Value |= (op & UINT64_C(1)) << 22;
15098 Value |= (op & UINT64_C(30)) << 11;
15099 // op: addr
15100 op = getAddrMode5FP16OpValue(MI, OpIdx: 1, Fixups, STI);
15101 Value |= (op & UINT64_C(256)) << 15;
15102 Value |= (op & UINT64_C(7680)) << 7;
15103 Value |= (op & UINT64_C(255));
15104 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15105 break;
15106 }
15107 case ARM::VLDRS:
15108 case ARM::VSTRS: {
15109 // op: p
15110 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15111 op &= UINT64_C(15);
15112 op <<= 28;
15113 Value |= op;
15114 // op: Sd
15115 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15116 Value |= (op & UINT64_C(1)) << 22;
15117 Value |= (op & UINT64_C(30)) << 11;
15118 // op: addr
15119 op = getAddrMode5OpValue(MI, OpIdx: 1, Fixups, STI);
15120 Value |= (op & UINT64_C(256)) << 15;
15121 Value |= (op & UINT64_C(7680)) << 7;
15122 Value |= (op & UINT64_C(255));
15123 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15124 break;
15125 }
15126 case ARM::VLDR_FPCXTNS_pre:
15127 case ARM::VLDR_FPCXTS_pre:
15128 case ARM::VLDR_FPSCR_NZCVQC_off:
15129 case ARM::VLDR_FPSCR_pre:
15130 case ARM::VLDR_P0_off:
15131 case ARM::VLDR_VPR_pre:
15132 case ARM::VSTR_FPCXTNS_pre:
15133 case ARM::VSTR_FPCXTS_pre:
15134 case ARM::VSTR_FPSCR_NZCVQC_off:
15135 case ARM::VSTR_FPSCR_pre:
15136 case ARM::VSTR_P0_off:
15137 case ARM::VSTR_VPR_pre: {
15138 // op: p
15139 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15140 op &= UINT64_C(15);
15141 op <<= 28;
15142 Value |= op;
15143 // op: addr
15144 op = getT2AddrModeImm7s4OpValue(MI, OpIdx: 1, Fixups, STI);
15145 Value |= (op & UINT64_C(128)) << 16;
15146 Value |= (op & UINT64_C(3840)) << 8;
15147 Value |= (op & UINT64_C(127));
15148 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15149 break;
15150 }
15151 case ARM::VLDR_FPCXTNS_post:
15152 case ARM::VLDR_FPCXTS_post:
15153 case ARM::VLDR_FPSCR_post:
15154 case ARM::VLDR_VPR_post:
15155 case ARM::VSTR_FPCXTNS_post:
15156 case ARM::VSTR_FPCXTS_post:
15157 case ARM::VSTR_FPSCR_post:
15158 case ARM::VSTR_VPR_post: {
15159 // op: p
15160 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15161 op &= UINT64_C(15);
15162 op <<= 28;
15163 Value |= op;
15164 // op: addr
15165 op = getT2ScaledImmOpValue<7,2>(MI, OpIdx: 2, Fixups, STI);
15166 Value |= (op & UINT64_C(128)) << 16;
15167 Value |= (op & UINT64_C(127));
15168 // op: Rn
15169 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15170 op &= UINT64_C(15);
15171 op <<= 16;
15172 Value |= op;
15173 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15174 break;
15175 }
15176 case ARM::VSHTOH:
15177 case ARM::VSHTOS:
15178 case ARM::VSLTOH:
15179 case ARM::VSLTOS:
15180 case ARM::VTOSHH:
15181 case ARM::VTOSHS:
15182 case ARM::VTOSLH:
15183 case ARM::VTOSLS:
15184 case ARM::VTOUHH:
15185 case ARM::VTOUHS:
15186 case ARM::VTOULH:
15187 case ARM::VTOULS:
15188 case ARM::VUHTOH:
15189 case ARM::VUHTOS:
15190 case ARM::VULTOH:
15191 case ARM::VULTOS: {
15192 // op: p
15193 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15194 op &= UINT64_C(15);
15195 op <<= 28;
15196 Value |= op;
15197 // op: fbits
15198 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15199 Value |= (op & UINT64_C(1)) << 5;
15200 Value |= (op & UINT64_C(30)) >> 1;
15201 // op: dst
15202 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15203 Value |= (op & UINT64_C(1)) << 22;
15204 Value |= (op & UINT64_C(30)) << 11;
15205 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15206 break;
15207 }
15208 case ARM::VSHTOD:
15209 case ARM::VSLTOD:
15210 case ARM::VTOSHD:
15211 case ARM::VTOSLD:
15212 case ARM::VTOUHD:
15213 case ARM::VTOULD:
15214 case ARM::VUHTOD:
15215 case ARM::VULTOD: {
15216 // op: p
15217 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15218 op &= UINT64_C(15);
15219 op <<= 28;
15220 Value |= op;
15221 // op: fbits
15222 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15223 Value |= (op & UINT64_C(1)) << 5;
15224 Value |= (op & UINT64_C(30)) >> 1;
15225 // op: dst
15226 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15227 Value |= (op & UINT64_C(16)) << 18;
15228 Value |= (op & UINT64_C(15)) << 12;
15229 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15230 break;
15231 }
15232 case ARM::ADCrr:
15233 case ARM::ADDrr:
15234 case ARM::ANDrr:
15235 case ARM::BICrr:
15236 case ARM::EORrr:
15237 case ARM::ORRrr:
15238 case ARM::RSBrr:
15239 case ARM::RSCrr:
15240 case ARM::SBCrr:
15241 case ARM::SUBrr: {
15242 // op: p
15243 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15244 op &= UINT64_C(15);
15245 op <<= 28;
15246 Value |= op;
15247 // op: s
15248 op = getCCOutOpValue(MI, Op: 5, Fixups, STI);
15249 op &= UINT64_C(1);
15250 op <<= 20;
15251 Value |= op;
15252 // op: Rd
15253 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15254 op &= UINT64_C(15);
15255 op <<= 12;
15256 Value |= op;
15257 // op: Rn
15258 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15259 op &= UINT64_C(15);
15260 op <<= 16;
15261 Value |= op;
15262 // op: Rm
15263 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15264 op &= UINT64_C(15);
15265 Value |= op;
15266 break;
15267 }
15268 case ARM::ADCri:
15269 case ARM::ADDri:
15270 case ARM::ANDri:
15271 case ARM::BICri:
15272 case ARM::EORri:
15273 case ARM::ORRri:
15274 case ARM::RSBri:
15275 case ARM::RSCri:
15276 case ARM::SBCri:
15277 case ARM::SUBri: {
15278 // op: p
15279 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15280 op &= UINT64_C(15);
15281 op <<= 28;
15282 Value |= op;
15283 // op: s
15284 op = getCCOutOpValue(MI, Op: 5, Fixups, STI);
15285 op &= UINT64_C(1);
15286 op <<= 20;
15287 Value |= op;
15288 // op: Rd
15289 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15290 op &= UINT64_C(15);
15291 op <<= 12;
15292 Value |= op;
15293 // op: Rn
15294 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15295 op &= UINT64_C(15);
15296 op <<= 16;
15297 Value |= op;
15298 // op: imm
15299 op = getModImmOpValue(MI, Op: 2, Fixups, ST: STI);
15300 op &= UINT64_C(4095);
15301 Value |= op;
15302 break;
15303 }
15304 case ARM::MVNsi: {
15305 // op: p
15306 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15307 op &= UINT64_C(15);
15308 op <<= 28;
15309 Value |= op;
15310 // op: s
15311 op = getCCOutOpValue(MI, Op: 5, Fixups, STI);
15312 op &= UINT64_C(1);
15313 op <<= 20;
15314 Value |= op;
15315 // op: Rd
15316 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15317 op &= UINT64_C(15);
15318 op <<= 12;
15319 Value |= op;
15320 // op: shift
15321 op = getSORegImmOpValue(MI, OpIdx: 1, Fixups, STI);
15322 Value |= (op & UINT64_C(4064));
15323 Value |= (op & UINT64_C(15));
15324 break;
15325 }
15326 case ARM::MOVsi: {
15327 // op: p
15328 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15329 op &= UINT64_C(15);
15330 op <<= 28;
15331 Value |= op;
15332 // op: s
15333 op = getCCOutOpValue(MI, Op: 5, Fixups, STI);
15334 op &= UINT64_C(1);
15335 op <<= 20;
15336 Value |= op;
15337 // op: Rd
15338 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15339 op &= UINT64_C(15);
15340 op <<= 12;
15341 Value |= op;
15342 // op: src
15343 op = getSORegImmOpValue(MI, OpIdx: 1, Fixups, STI);
15344 Value |= (op & UINT64_C(4064));
15345 Value |= (op & UINT64_C(15));
15346 break;
15347 }
15348 case ARM::MUL: {
15349 // op: p
15350 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15351 op &= UINT64_C(15);
15352 op <<= 28;
15353 Value |= op;
15354 // op: s
15355 op = getCCOutOpValue(MI, Op: 5, Fixups, STI);
15356 op &= UINT64_C(1);
15357 op <<= 20;
15358 Value |= op;
15359 // op: Rd
15360 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15361 op &= UINT64_C(15);
15362 op <<= 16;
15363 Value |= op;
15364 // op: Rm
15365 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15366 op &= UINT64_C(15);
15367 op <<= 8;
15368 Value |= op;
15369 // op: Rn
15370 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15371 op &= UINT64_C(15);
15372 Value |= op;
15373 break;
15374 }
15375 case ARM::VFMAD:
15376 case ARM::VFMSD:
15377 case ARM::VFNMAD:
15378 case ARM::VFNMSD:
15379 case ARM::VMLAD:
15380 case ARM::VMLSD:
15381 case ARM::VNMLAD:
15382 case ARM::VNMLSD: {
15383 // op: p
15384 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15385 op &= UINT64_C(15);
15386 op <<= 28;
15387 Value |= op;
15388 // op: Dd
15389 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15390 Value |= (op & UINT64_C(16)) << 18;
15391 Value |= (op & UINT64_C(15)) << 12;
15392 // op: Dn
15393 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15394 Value |= (op & UINT64_C(15)) << 16;
15395 Value |= (op & UINT64_C(16)) << 3;
15396 // op: Dm
15397 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15398 Value |= (op & UINT64_C(16)) << 1;
15399 Value |= (op & UINT64_C(15));
15400 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15401 break;
15402 }
15403 case ARM::SXTAB:
15404 case ARM::SXTAB16:
15405 case ARM::SXTAH:
15406 case ARM::UXTAB:
15407 case ARM::UXTAB16:
15408 case ARM::UXTAH: {
15409 // op: p
15410 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15411 op &= UINT64_C(15);
15412 op <<= 28;
15413 Value |= op;
15414 // op: Rd
15415 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15416 op &= UINT64_C(15);
15417 op <<= 12;
15418 Value |= op;
15419 // op: Rm
15420 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15421 op &= UINT64_C(15);
15422 Value |= op;
15423 // op: Rn
15424 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15425 op &= UINT64_C(15);
15426 op <<= 16;
15427 Value |= op;
15428 // op: rot
15429 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15430 op &= UINT64_C(3);
15431 op <<= 10;
15432 Value |= op;
15433 break;
15434 }
15435 case ARM::SBFX:
15436 case ARM::UBFX: {
15437 // op: p
15438 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15439 op &= UINT64_C(15);
15440 op <<= 28;
15441 Value |= op;
15442 // op: Rd
15443 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15444 op &= UINT64_C(15);
15445 op <<= 12;
15446 Value |= op;
15447 // op: Rn
15448 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15449 op &= UINT64_C(15);
15450 Value |= op;
15451 // op: lsb
15452 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15453 op &= UINT64_C(31);
15454 op <<= 7;
15455 Value |= op;
15456 // op: width
15457 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15458 op &= UINT64_C(31);
15459 op <<= 16;
15460 Value |= op;
15461 break;
15462 }
15463 case ARM::PKHBT:
15464 case ARM::PKHTB: {
15465 // op: p
15466 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15467 op &= UINT64_C(15);
15468 op <<= 28;
15469 Value |= op;
15470 // op: Rd
15471 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15472 op &= UINT64_C(15);
15473 op <<= 12;
15474 Value |= op;
15475 // op: Rn
15476 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15477 op &= UINT64_C(15);
15478 op <<= 16;
15479 Value |= op;
15480 // op: Rm
15481 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15482 op &= UINT64_C(15);
15483 Value |= op;
15484 // op: sh
15485 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15486 op &= UINT64_C(31);
15487 op <<= 7;
15488 Value |= op;
15489 break;
15490 }
15491 case ARM::BFI: {
15492 // op: p
15493 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15494 op &= UINT64_C(15);
15495 op <<= 28;
15496 Value |= op;
15497 // op: Rd
15498 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15499 op &= UINT64_C(15);
15500 op <<= 12;
15501 Value |= op;
15502 // op: Rn
15503 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15504 op &= UINT64_C(15);
15505 Value |= op;
15506 // op: imm
15507 op = getBitfieldInvertedMaskOpValue(MI, Op: 3, Fixups, STI);
15508 Value |= (op & UINT64_C(992)) << 11;
15509 Value |= (op & UINT64_C(31)) << 7;
15510 break;
15511 }
15512 case ARM::SSAT:
15513 case ARM::USAT: {
15514 // op: p
15515 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15516 op &= UINT64_C(15);
15517 op <<= 28;
15518 Value |= op;
15519 // op: Rd
15520 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15521 op &= UINT64_C(15);
15522 op <<= 12;
15523 Value |= op;
15524 // op: sat_imm
15525 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15526 op &= UINT64_C(31);
15527 op <<= 16;
15528 Value |= op;
15529 // op: Rn
15530 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15531 op &= UINT64_C(15);
15532 Value |= op;
15533 // op: sh
15534 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15535 Value |= (op & UINT64_C(31)) << 7;
15536 Value |= (op & UINT64_C(32)) << 1;
15537 break;
15538 }
15539 case ARM::MLS: {
15540 // op: p
15541 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15542 op &= UINT64_C(15);
15543 op <<= 28;
15544 Value |= op;
15545 // op: Rd
15546 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15547 op &= UINT64_C(15);
15548 op <<= 16;
15549 Value |= op;
15550 // op: Rm
15551 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15552 op &= UINT64_C(15);
15553 op <<= 8;
15554 Value |= op;
15555 // op: Rn
15556 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15557 op &= UINT64_C(15);
15558 Value |= op;
15559 // op: Ra
15560 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15561 op &= UINT64_C(15);
15562 op <<= 12;
15563 Value |= op;
15564 break;
15565 }
15566 case ARM::SMMLA:
15567 case ARM::SMMLAR:
15568 case ARM::SMMLS:
15569 case ARM::SMMLSR:
15570 case ARM::USADA8: {
15571 // op: p
15572 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15573 op &= UINT64_C(15);
15574 op <<= 28;
15575 Value |= op;
15576 // op: Rd
15577 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15578 op &= UINT64_C(15);
15579 op <<= 16;
15580 Value |= op;
15581 // op: Rn
15582 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15583 op &= UINT64_C(15);
15584 Value |= op;
15585 // op: Rm
15586 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15587 op &= UINT64_C(15);
15588 op <<= 8;
15589 Value |= op;
15590 // op: Ra
15591 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15592 op &= UINT64_C(15);
15593 op <<= 12;
15594 Value |= op;
15595 break;
15596 }
15597 case ARM::CMNzrsr:
15598 case ARM::CMPrsr:
15599 case ARM::TEQrsr:
15600 case ARM::TSTrsr: {
15601 // op: p
15602 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15603 op &= UINT64_C(15);
15604 op <<= 28;
15605 Value |= op;
15606 // op: Rn
15607 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15608 op &= UINT64_C(15);
15609 op <<= 16;
15610 Value |= op;
15611 // op: shift
15612 op = getSORegRegOpValue(MI, OpIdx: 1, Fixups, STI);
15613 Value |= (op & UINT64_C(3840));
15614 Value |= (op & UINT64_C(96));
15615 Value |= (op & UINT64_C(15));
15616 break;
15617 }
15618 case ARM::SMLAD:
15619 case ARM::SMLADX:
15620 case ARM::SMLSD:
15621 case ARM::SMLSDX: {
15622 // op: p
15623 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15624 op &= UINT64_C(15);
15625 op <<= 28;
15626 Value |= op;
15627 // op: Rn
15628 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15629 op &= UINT64_C(15);
15630 Value |= op;
15631 // op: Rm
15632 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15633 op &= UINT64_C(15);
15634 op <<= 8;
15635 Value |= op;
15636 // op: Ra
15637 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15638 op &= UINT64_C(15);
15639 op <<= 12;
15640 Value |= op;
15641 // op: Rd
15642 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15643 op &= UINT64_C(15);
15644 op <<= 16;
15645 Value |= op;
15646 break;
15647 }
15648 case ARM::SMLABB:
15649 case ARM::SMLABT:
15650 case ARM::SMLATB:
15651 case ARM::SMLATT:
15652 case ARM::SMLAWB:
15653 case ARM::SMLAWT: {
15654 // op: p
15655 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15656 op &= UINT64_C(15);
15657 op <<= 28;
15658 Value |= op;
15659 // op: Rn
15660 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15661 op &= UINT64_C(15);
15662 Value |= op;
15663 // op: Rm
15664 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15665 op &= UINT64_C(15);
15666 op <<= 8;
15667 Value |= op;
15668 // op: Rd
15669 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15670 op &= UINT64_C(15);
15671 op <<= 16;
15672 Value |= op;
15673 // op: Ra
15674 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15675 op &= UINT64_C(15);
15676 op <<= 12;
15677 Value |= op;
15678 break;
15679 }
15680 case ARM::LDRB_PRE_IMM:
15681 case ARM::LDR_PRE_IMM: {
15682 // op: p
15683 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15684 op &= UINT64_C(15);
15685 op <<= 28;
15686 Value |= op;
15687 // op: Rt
15688 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15689 op &= UINT64_C(15);
15690 op <<= 12;
15691 Value |= op;
15692 // op: addr
15693 op = getAddrModeImm12OpValue(MI, OpIdx: 2, Fixups, STI);
15694 Value |= (op & UINT64_C(4096)) << 11;
15695 Value |= (op & UINT64_C(122880)) << 3;
15696 Value |= (op & UINT64_C(4095));
15697 break;
15698 }
15699 case ARM::LDRBrs:
15700 case ARM::LDRrs:
15701 case ARM::STRBrs:
15702 case ARM::STRrs: {
15703 // op: p
15704 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15705 op &= UINT64_C(15);
15706 op <<= 28;
15707 Value |= op;
15708 // op: Rt
15709 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15710 op &= UINT64_C(15);
15711 op <<= 12;
15712 Value |= op;
15713 // op: shift
15714 op = getLdStSORegOpValue(MI, OpIdx: 1, Fixups, STI);
15715 Value |= (op & UINT64_C(4096)) << 11;
15716 Value |= (op & UINT64_C(122880)) << 3;
15717 Value |= (op & UINT64_C(4064));
15718 Value |= (op & UINT64_C(15));
15719 break;
15720 }
15721 case ARM::STRB_PRE_IMM:
15722 case ARM::STR_PRE_IMM: {
15723 // op: p
15724 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15725 op &= UINT64_C(15);
15726 op <<= 28;
15727 Value |= op;
15728 // op: Rt
15729 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15730 op &= UINT64_C(15);
15731 op <<= 12;
15732 Value |= op;
15733 // op: addr
15734 op = getAddrModeImm12OpValue(MI, OpIdx: 2, Fixups, STI);
15735 Value |= (op & UINT64_C(4096)) << 11;
15736 Value |= (op & UINT64_C(122880)) << 3;
15737 Value |= (op & UINT64_C(4095));
15738 break;
15739 }
15740 case ARM::VFMAH:
15741 case ARM::VFMAS:
15742 case ARM::VFMSH:
15743 case ARM::VFMSS:
15744 case ARM::VFNMAH:
15745 case ARM::VFNMAS:
15746 case ARM::VFNMSH:
15747 case ARM::VFNMSS:
15748 case ARM::VMLAH:
15749 case ARM::VMLAS:
15750 case ARM::VMLSH:
15751 case ARM::VMLSS:
15752 case ARM::VNMLAH:
15753 case ARM::VNMLAS:
15754 case ARM::VNMLSH:
15755 case ARM::VNMLSS: {
15756 // op: p
15757 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15758 op &= UINT64_C(15);
15759 op <<= 28;
15760 Value |= op;
15761 // op: Sd
15762 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15763 Value |= (op & UINT64_C(1)) << 22;
15764 Value |= (op & UINT64_C(30)) << 11;
15765 // op: Sn
15766 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15767 Value |= (op & UINT64_C(30)) << 15;
15768 Value |= (op & UINT64_C(1)) << 7;
15769 // op: Sm
15770 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15771 Value |= (op & UINT64_C(1)) << 5;
15772 Value |= (op & UINT64_C(30)) >> 1;
15773 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15774 break;
15775 }
15776 case ARM::LDRH:
15777 case ARM::LDRSB:
15778 case ARM::LDRSH:
15779 case ARM::STRH: {
15780 // op: p
15781 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15782 op &= UINT64_C(15);
15783 op <<= 28;
15784 Value |= op;
15785 // op: addr
15786 op = getAddrMode3OpValue(MI, OpIdx: 1, Fixups, STI);
15787 Value |= (op & UINT64_C(256)) << 15;
15788 Value |= (op & UINT64_C(8192)) << 9;
15789 Value |= (op & UINT64_C(7680)) << 7;
15790 Value |= (op & UINT64_C(240)) << 4;
15791 Value |= (op & UINT64_C(15));
15792 // op: Rt
15793 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15794 op &= UINT64_C(15);
15795 op <<= 12;
15796 Value |= op;
15797 break;
15798 }
15799 case ARM::LDCL_OFFSET:
15800 case ARM::LDCL_PRE:
15801 case ARM::LDC_OFFSET:
15802 case ARM::LDC_PRE:
15803 case ARM::STCL_OFFSET:
15804 case ARM::STCL_PRE:
15805 case ARM::STC_OFFSET:
15806 case ARM::STC_PRE: {
15807 // op: p
15808 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15809 op &= UINT64_C(15);
15810 op <<= 28;
15811 Value |= op;
15812 // op: addr
15813 op = getAddrMode5OpValue(MI, OpIdx: 2, Fixups, STI);
15814 Value |= (op & UINT64_C(256)) << 15;
15815 Value |= (op & UINT64_C(7680)) << 7;
15816 Value |= (op & UINT64_C(255));
15817 // op: cop
15818 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15819 op &= UINT64_C(15);
15820 op <<= 8;
15821 Value |= op;
15822 // op: CRd
15823 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15824 op &= UINT64_C(15);
15825 op <<= 12;
15826 Value |= op;
15827 break;
15828 }
15829 case ARM::LDRHTi:
15830 case ARM::LDRSBTi:
15831 case ARM::LDRSHTi: {
15832 // op: p
15833 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15834 op &= UINT64_C(15);
15835 op <<= 28;
15836 Value |= op;
15837 // op: addr
15838 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15839 op &= UINT64_C(15);
15840 op <<= 16;
15841 Value |= op;
15842 // op: Rt
15843 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15844 op &= UINT64_C(15);
15845 op <<= 12;
15846 Value |= op;
15847 // op: offset
15848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15849 Value |= (op & UINT64_C(256)) << 15;
15850 Value |= (op & UINT64_C(240)) << 4;
15851 Value |= (op & UINT64_C(15));
15852 break;
15853 }
15854 case ARM::STRHTi: {
15855 // op: p
15856 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15857 op &= UINT64_C(15);
15858 op <<= 28;
15859 Value |= op;
15860 // op: addr
15861 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15862 op &= UINT64_C(15);
15863 op <<= 16;
15864 Value |= op;
15865 // op: Rt
15866 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15867 op &= UINT64_C(15);
15868 op <<= 12;
15869 Value |= op;
15870 // op: offset
15871 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15872 Value |= (op & UINT64_C(256)) << 15;
15873 Value |= (op & UINT64_C(240)) << 4;
15874 Value |= (op & UINT64_C(15));
15875 break;
15876 }
15877 case ARM::VLDR_FPSCR_NZCVQC_pre:
15878 case ARM::VLDR_P0_pre:
15879 case ARM::VSTR_FPSCR_NZCVQC_pre:
15880 case ARM::VSTR_P0_pre: {
15881 // op: p
15882 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15883 op &= UINT64_C(15);
15884 op <<= 28;
15885 Value |= op;
15886 // op: addr
15887 op = getT2AddrModeImm7s4OpValue(MI, OpIdx: 2, Fixups, STI);
15888 Value |= (op & UINT64_C(128)) << 16;
15889 Value |= (op & UINT64_C(3840)) << 8;
15890 Value |= (op & UINT64_C(127));
15891 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15892 break;
15893 }
15894 case ARM::VLDR_FPSCR_NZCVQC_post:
15895 case ARM::VLDR_P0_post:
15896 case ARM::VSTR_FPSCR_NZCVQC_post:
15897 case ARM::VSTR_P0_post: {
15898 // op: p
15899 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15900 op &= UINT64_C(15);
15901 op <<= 28;
15902 Value |= op;
15903 // op: addr
15904 op = getT2ScaledImmOpValue<7,2>(MI, OpIdx: 3, Fixups, STI);
15905 Value |= (op & UINT64_C(128)) << 16;
15906 Value |= (op & UINT64_C(127));
15907 // op: Rn
15908 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15909 op &= UINT64_C(15);
15910 op <<= 16;
15911 Value |= op;
15912 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15913 break;
15914 }
15915 case ARM::VMOVSRR: {
15916 // op: p
15917 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15918 op &= UINT64_C(15);
15919 op <<= 28;
15920 Value |= op;
15921 // op: dst1
15922 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15923 Value |= (op & UINT64_C(1)) << 5;
15924 Value |= (op & UINT64_C(30)) >> 1;
15925 // op: src1
15926 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15927 op &= UINT64_C(15);
15928 op <<= 12;
15929 Value |= op;
15930 // op: src2
15931 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15932 op &= UINT64_C(15);
15933 op <<= 16;
15934 Value |= op;
15935 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
15936 break;
15937 }
15938 case ARM::LDCL_POST:
15939 case ARM::LDC_POST:
15940 case ARM::STCL_POST:
15941 case ARM::STC_POST: {
15942 // op: p
15943 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15944 op &= UINT64_C(15);
15945 op <<= 28;
15946 Value |= op;
15947 // op: offset
15948 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15949 Value |= (op & UINT64_C(256)) << 15;
15950 Value |= (op & UINT64_C(255));
15951 // op: addr
15952 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15953 op &= UINT64_C(15);
15954 op <<= 16;
15955 Value |= op;
15956 // op: cop
15957 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15958 op &= UINT64_C(15);
15959 op <<= 8;
15960 Value |= op;
15961 // op: CRd
15962 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15963 op &= UINT64_C(15);
15964 op <<= 12;
15965 Value |= op;
15966 break;
15967 }
15968 case ARM::LDCL_OPTION:
15969 case ARM::LDC_OPTION:
15970 case ARM::STCL_OPTION:
15971 case ARM::STC_OPTION: {
15972 // op: p
15973 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
15974 op &= UINT64_C(15);
15975 op <<= 28;
15976 Value |= op;
15977 // op: option
15978 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
15979 op &= UINT64_C(255);
15980 Value |= op;
15981 // op: addr
15982 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
15983 op &= UINT64_C(15);
15984 op <<= 16;
15985 Value |= op;
15986 // op: cop
15987 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
15988 op &= UINT64_C(15);
15989 op <<= 8;
15990 Value |= op;
15991 // op: CRd
15992 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
15993 op &= UINT64_C(15);
15994 op <<= 12;
15995 Value |= op;
15996 break;
15997 }
15998 case ARM::ADCrsi:
15999 case ARM::ADDrsi:
16000 case ARM::ANDrsi:
16001 case ARM::BICrsi:
16002 case ARM::EORrsi:
16003 case ARM::ORRrsi:
16004 case ARM::RSBrsi:
16005 case ARM::RSCrsi:
16006 case ARM::SBCrsi:
16007 case ARM::SUBrsi: {
16008 // op: p
16009 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16010 op &= UINT64_C(15);
16011 op <<= 28;
16012 Value |= op;
16013 // op: s
16014 op = getCCOutOpValue(MI, Op: 6, Fixups, STI);
16015 op &= UINT64_C(1);
16016 op <<= 20;
16017 Value |= op;
16018 // op: Rd
16019 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16020 op &= UINT64_C(15);
16021 op <<= 12;
16022 Value |= op;
16023 // op: Rn
16024 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16025 op &= UINT64_C(15);
16026 op <<= 16;
16027 Value |= op;
16028 // op: shift
16029 op = getSORegImmOpValue(MI, OpIdx: 2, Fixups, STI);
16030 Value |= (op & UINT64_C(4064));
16031 Value |= (op & UINT64_C(15));
16032 break;
16033 }
16034 case ARM::MVNsr: {
16035 // op: p
16036 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16037 op &= UINT64_C(15);
16038 op <<= 28;
16039 Value |= op;
16040 // op: s
16041 op = getCCOutOpValue(MI, Op: 6, Fixups, STI);
16042 op &= UINT64_C(1);
16043 op <<= 20;
16044 Value |= op;
16045 // op: Rd
16046 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16047 op &= UINT64_C(15);
16048 op <<= 12;
16049 Value |= op;
16050 // op: shift
16051 op = getSORegRegOpValue(MI, OpIdx: 1, Fixups, STI);
16052 Value |= (op & UINT64_C(3840));
16053 Value |= (op & UINT64_C(96));
16054 Value |= (op & UINT64_C(15));
16055 break;
16056 }
16057 case ARM::MOVsr: {
16058 // op: p
16059 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16060 op &= UINT64_C(15);
16061 op <<= 28;
16062 Value |= op;
16063 // op: s
16064 op = getCCOutOpValue(MI, Op: 6, Fixups, STI);
16065 op &= UINT64_C(1);
16066 op <<= 20;
16067 Value |= op;
16068 // op: Rd
16069 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16070 op &= UINT64_C(15);
16071 op <<= 12;
16072 Value |= op;
16073 // op: src
16074 op = getSORegRegOpValue(MI, OpIdx: 1, Fixups, STI);
16075 Value |= (op & UINT64_C(3840));
16076 Value |= (op & UINT64_C(96));
16077 Value |= (op & UINT64_C(15));
16078 break;
16079 }
16080 case ARM::MLA: {
16081 // op: p
16082 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16083 op &= UINT64_C(15);
16084 op <<= 28;
16085 Value |= op;
16086 // op: s
16087 op = getCCOutOpValue(MI, Op: 6, Fixups, STI);
16088 op &= UINT64_C(1);
16089 op <<= 20;
16090 Value |= op;
16091 // op: Rd
16092 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16093 op &= UINT64_C(15);
16094 op <<= 16;
16095 Value |= op;
16096 // op: Rm
16097 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16098 op &= UINT64_C(15);
16099 op <<= 8;
16100 Value |= op;
16101 // op: Rn
16102 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16103 op &= UINT64_C(15);
16104 Value |= op;
16105 // op: Ra
16106 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16107 op &= UINT64_C(15);
16108 op <<= 12;
16109 Value |= op;
16110 break;
16111 }
16112 case ARM::SMULL:
16113 case ARM::UMULL: {
16114 // op: p
16115 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16116 op &= UINT64_C(15);
16117 op <<= 28;
16118 Value |= op;
16119 // op: s
16120 op = getCCOutOpValue(MI, Op: 6, Fixups, STI);
16121 op &= UINT64_C(1);
16122 op <<= 20;
16123 Value |= op;
16124 // op: RdLo
16125 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16126 op &= UINT64_C(15);
16127 op <<= 12;
16128 Value |= op;
16129 // op: RdHi
16130 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16131 op &= UINT64_C(15);
16132 op <<= 16;
16133 Value |= op;
16134 // op: Rm
16135 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16136 op &= UINT64_C(15);
16137 op <<= 8;
16138 Value |= op;
16139 // op: Rn
16140 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16141 op &= UINT64_C(15);
16142 Value |= op;
16143 break;
16144 }
16145 case ARM::VMOVRRS: {
16146 // op: p
16147 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16148 op &= UINT64_C(15);
16149 op <<= 28;
16150 Value |= op;
16151 // op: src1
16152 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16153 Value |= (op & UINT64_C(1)) << 5;
16154 Value |= (op & UINT64_C(30)) >> 1;
16155 // op: Rt
16156 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16157 op &= UINT64_C(15);
16158 op <<= 12;
16159 Value |= op;
16160 // op: Rt2
16161 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16162 op &= UINT64_C(15);
16163 op <<= 16;
16164 Value |= op;
16165 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
16166 break;
16167 }
16168 case ARM::MRRC: {
16169 // op: p
16170 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16171 op &= UINT64_C(15);
16172 op <<= 28;
16173 Value |= op;
16174 // op: Rt
16175 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16176 op &= UINT64_C(15);
16177 op <<= 12;
16178 Value |= op;
16179 // op: Rt2
16180 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16181 op &= UINT64_C(15);
16182 op <<= 16;
16183 Value |= op;
16184 // op: cop
16185 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16186 op &= UINT64_C(15);
16187 op <<= 8;
16188 Value |= op;
16189 // op: opc1
16190 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16191 op &= UINT64_C(15);
16192 op <<= 4;
16193 Value |= op;
16194 // op: CRm
16195 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16196 op &= UINT64_C(15);
16197 Value |= op;
16198 break;
16199 }
16200 case ARM::LDRH_PRE:
16201 case ARM::LDRSB_PRE:
16202 case ARM::LDRSH_PRE: {
16203 // op: p
16204 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16205 op &= UINT64_C(15);
16206 op <<= 28;
16207 Value |= op;
16208 // op: Rt
16209 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16210 op &= UINT64_C(15);
16211 op <<= 12;
16212 Value |= op;
16213 // op: addr
16214 op = getAddrMode3OpValue(MI, OpIdx: 2, Fixups, STI);
16215 Value |= (op & UINT64_C(256)) << 15;
16216 Value |= (op & UINT64_C(8192)) << 9;
16217 Value |= (op & UINT64_C(7680)) << 7;
16218 Value |= (op & UINT64_C(240)) << 4;
16219 Value |= (op & UINT64_C(15));
16220 break;
16221 }
16222 case ARM::LDRB_PRE_REG:
16223 case ARM::LDR_PRE_REG: {
16224 // op: p
16225 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16226 op &= UINT64_C(15);
16227 op <<= 28;
16228 Value |= op;
16229 // op: Rt
16230 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16231 op &= UINT64_C(15);
16232 op <<= 12;
16233 Value |= op;
16234 // op: addr
16235 op = getLdStSORegOpValue(MI, OpIdx: 2, Fixups, STI);
16236 Value |= (op & UINT64_C(4096)) << 11;
16237 Value |= (op & UINT64_C(122880)) << 3;
16238 Value |= (op & UINT64_C(4064));
16239 Value |= (op & UINT64_C(15));
16240 break;
16241 }
16242 case ARM::LDRBT_POST_REG:
16243 case ARM::LDRB_POST_REG:
16244 case ARM::LDRT_POST_REG:
16245 case ARM::LDR_POST_REG: {
16246 // op: p
16247 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16248 op &= UINT64_C(15);
16249 op <<= 28;
16250 Value |= op;
16251 // op: Rt
16252 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16253 op &= UINT64_C(15);
16254 op <<= 12;
16255 Value |= op;
16256 // op: offset
16257 op = getAddrMode2OffsetOpValue(MI, OpIdx: 3, Fixups, STI);
16258 Value |= (op & UINT64_C(4096)) << 11;
16259 Value |= (op & UINT64_C(4064));
16260 Value |= (op & UINT64_C(15));
16261 // op: addr
16262 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16263 op &= UINT64_C(15);
16264 op <<= 16;
16265 Value |= op;
16266 break;
16267 }
16268 case ARM::LDRBT_POST_IMM:
16269 case ARM::LDRB_POST_IMM:
16270 case ARM::LDRT_POST_IMM:
16271 case ARM::LDR_POST_IMM: {
16272 // op: p
16273 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16274 op &= UINT64_C(15);
16275 op <<= 28;
16276 Value |= op;
16277 // op: Rt
16278 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16279 op &= UINT64_C(15);
16280 op <<= 12;
16281 Value |= op;
16282 // op: offset
16283 op = getAddrMode2OffsetOpValue(MI, OpIdx: 3, Fixups, STI);
16284 Value |= (op & UINT64_C(4096)) << 11;
16285 Value |= (op & UINT64_C(4095));
16286 // op: addr
16287 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16288 op &= UINT64_C(15);
16289 op <<= 16;
16290 Value |= op;
16291 break;
16292 }
16293 case ARM::LDRH_POST:
16294 case ARM::LDRSB_POST:
16295 case ARM::LDRSH_POST: {
16296 // op: p
16297 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16298 op &= UINT64_C(15);
16299 op <<= 28;
16300 Value |= op;
16301 // op: Rt
16302 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16303 op &= UINT64_C(15);
16304 op <<= 12;
16305 Value |= op;
16306 // op: offset
16307 op = getAddrMode3OffsetOpValue(MI, OpIdx: 3, Fixups, STI);
16308 Value |= (op & UINT64_C(256)) << 15;
16309 Value |= (op & UINT64_C(512)) << 13;
16310 Value |= (op & UINT64_C(240)) << 4;
16311 Value |= (op & UINT64_C(15));
16312 // op: addr
16313 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16314 op &= UINT64_C(15);
16315 op <<= 16;
16316 Value |= op;
16317 break;
16318 }
16319 case ARM::STRH_PRE: {
16320 // op: p
16321 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16322 op &= UINT64_C(15);
16323 op <<= 28;
16324 Value |= op;
16325 // op: Rt
16326 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16327 op &= UINT64_C(15);
16328 op <<= 12;
16329 Value |= op;
16330 // op: addr
16331 op = getAddrMode3OpValue(MI, OpIdx: 2, Fixups, STI);
16332 Value |= (op & UINT64_C(256)) << 15;
16333 Value |= (op & UINT64_C(8192)) << 9;
16334 Value |= (op & UINT64_C(7680)) << 7;
16335 Value |= (op & UINT64_C(240)) << 4;
16336 Value |= (op & UINT64_C(15));
16337 break;
16338 }
16339 case ARM::STRB_PRE_REG:
16340 case ARM::STR_PRE_REG: {
16341 // op: p
16342 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16343 op &= UINT64_C(15);
16344 op <<= 28;
16345 Value |= op;
16346 // op: Rt
16347 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16348 op &= UINT64_C(15);
16349 op <<= 12;
16350 Value |= op;
16351 // op: addr
16352 op = getLdStSORegOpValue(MI, OpIdx: 2, Fixups, STI);
16353 Value |= (op & UINT64_C(4096)) << 11;
16354 Value |= (op & UINT64_C(122880)) << 3;
16355 Value |= (op & UINT64_C(4064));
16356 Value |= (op & UINT64_C(15));
16357 break;
16358 }
16359 case ARM::STRBT_POST_REG:
16360 case ARM::STRB_POST_REG:
16361 case ARM::STRT_POST_REG:
16362 case ARM::STR_POST_REG: {
16363 // op: p
16364 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16365 op &= UINT64_C(15);
16366 op <<= 28;
16367 Value |= op;
16368 // op: Rt
16369 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16370 op &= UINT64_C(15);
16371 op <<= 12;
16372 Value |= op;
16373 // op: offset
16374 op = getAddrMode2OffsetOpValue(MI, OpIdx: 3, Fixups, STI);
16375 Value |= (op & UINT64_C(4096)) << 11;
16376 Value |= (op & UINT64_C(4064));
16377 Value |= (op & UINT64_C(15));
16378 // op: addr
16379 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16380 op &= UINT64_C(15);
16381 op <<= 16;
16382 Value |= op;
16383 break;
16384 }
16385 case ARM::STRBT_POST_IMM:
16386 case ARM::STRB_POST_IMM:
16387 case ARM::STRT_POST_IMM:
16388 case ARM::STR_POST_IMM: {
16389 // op: p
16390 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16391 op &= UINT64_C(15);
16392 op <<= 28;
16393 Value |= op;
16394 // op: Rt
16395 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16396 op &= UINT64_C(15);
16397 op <<= 12;
16398 Value |= op;
16399 // op: offset
16400 op = getAddrMode2OffsetOpValue(MI, OpIdx: 3, Fixups, STI);
16401 Value |= (op & UINT64_C(4096)) << 11;
16402 Value |= (op & UINT64_C(4095));
16403 // op: addr
16404 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16405 op &= UINT64_C(15);
16406 op <<= 16;
16407 Value |= op;
16408 break;
16409 }
16410 case ARM::STRH_POST: {
16411 // op: p
16412 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16413 op &= UINT64_C(15);
16414 op <<= 28;
16415 Value |= op;
16416 // op: Rt
16417 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16418 op &= UINT64_C(15);
16419 op <<= 12;
16420 Value |= op;
16421 // op: offset
16422 op = getAddrMode3OffsetOpValue(MI, OpIdx: 3, Fixups, STI);
16423 Value |= (op & UINT64_C(256)) << 15;
16424 Value |= (op & UINT64_C(512)) << 13;
16425 Value |= (op & UINT64_C(240)) << 4;
16426 Value |= (op & UINT64_C(15));
16427 // op: addr
16428 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16429 op &= UINT64_C(15);
16430 op <<= 16;
16431 Value |= op;
16432 break;
16433 }
16434 case ARM::MCRR: {
16435 // op: p
16436 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16437 op &= UINT64_C(15);
16438 op <<= 28;
16439 Value |= op;
16440 // op: Rt
16441 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16442 op &= UINT64_C(15);
16443 op <<= 12;
16444 Value |= op;
16445 // op: Rt2
16446 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16447 op &= UINT64_C(15);
16448 op <<= 16;
16449 Value |= op;
16450 // op: cop
16451 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16452 op &= UINT64_C(15);
16453 op <<= 8;
16454 Value |= op;
16455 // op: opc1
16456 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16457 op &= UINT64_C(15);
16458 op <<= 4;
16459 Value |= op;
16460 // op: CRm
16461 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16462 op &= UINT64_C(15);
16463 Value |= op;
16464 break;
16465 }
16466 case ARM::LDRD:
16467 case ARM::STRD: {
16468 // op: p
16469 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16470 op &= UINT64_C(15);
16471 op <<= 28;
16472 Value |= op;
16473 // op: addr
16474 op = getAddrMode3OpValue(MI, OpIdx: 2, Fixups, STI);
16475 Value |= (op & UINT64_C(256)) << 15;
16476 Value |= (op & UINT64_C(8192)) << 9;
16477 Value |= (op & UINT64_C(7680)) << 7;
16478 Value |= (op & UINT64_C(240)) << 4;
16479 Value |= (op & UINT64_C(15));
16480 // op: Rt
16481 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16482 op &= UINT64_C(15);
16483 op <<= 12;
16484 Value |= op;
16485 break;
16486 }
16487 case ARM::LDRHTr:
16488 case ARM::LDRSBTr:
16489 case ARM::LDRSHTr: {
16490 // op: p
16491 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16492 op &= UINT64_C(15);
16493 op <<= 28;
16494 Value |= op;
16495 // op: addr
16496 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16497 op &= UINT64_C(15);
16498 op <<= 16;
16499 Value |= op;
16500 // op: Rt
16501 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16502 op &= UINT64_C(15);
16503 op <<= 12;
16504 Value |= op;
16505 // op: Rm
16506 op = getPostIdxRegOpValue(MI, OpIdx: 3, Fixups, STI);
16507 Value |= (op & UINT64_C(16)) << 19;
16508 Value |= (op & UINT64_C(15));
16509 break;
16510 }
16511 case ARM::STRHTr: {
16512 // op: p
16513 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16514 op &= UINT64_C(15);
16515 op <<= 28;
16516 Value |= op;
16517 // op: addr
16518 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16519 op &= UINT64_C(15);
16520 op <<= 16;
16521 Value |= op;
16522 // op: Rt
16523 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16524 op &= UINT64_C(15);
16525 op <<= 12;
16526 Value |= op;
16527 // op: Rm
16528 op = getPostIdxRegOpValue(MI, OpIdx: 3, Fixups, STI);
16529 Value |= (op & UINT64_C(16)) << 19;
16530 Value |= (op & UINT64_C(15));
16531 break;
16532 }
16533 case ARM::ADCrsr:
16534 case ARM::ADDrsr:
16535 case ARM::ANDrsr:
16536 case ARM::BICrsr:
16537 case ARM::EORrsr:
16538 case ARM::ORRrsr:
16539 case ARM::RSBrsr:
16540 case ARM::RSCrsr:
16541 case ARM::SBCrsr:
16542 case ARM::SUBrsr: {
16543 // op: p
16544 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16545 op &= UINT64_C(15);
16546 op <<= 28;
16547 Value |= op;
16548 // op: s
16549 op = getCCOutOpValue(MI, Op: 7, Fixups, STI);
16550 op &= UINT64_C(1);
16551 op <<= 20;
16552 Value |= op;
16553 // op: Rd
16554 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16555 op &= UINT64_C(15);
16556 op <<= 12;
16557 Value |= op;
16558 // op: Rn
16559 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16560 op &= UINT64_C(15);
16561 op <<= 16;
16562 Value |= op;
16563 // op: shift
16564 op = getSORegRegOpValue(MI, OpIdx: 2, Fixups, STI);
16565 Value |= (op & UINT64_C(3840));
16566 Value |= (op & UINT64_C(96));
16567 Value |= (op & UINT64_C(15));
16568 break;
16569 }
16570 case ARM::UMAAL: {
16571 // op: p
16572 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
16573 op &= UINT64_C(15);
16574 op <<= 28;
16575 Value |= op;
16576 // op: RdLo
16577 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16578 op &= UINT64_C(15);
16579 op <<= 12;
16580 Value |= op;
16581 // op: RdHi
16582 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16583 op &= UINT64_C(15);
16584 op <<= 16;
16585 Value |= op;
16586 // op: Rm
16587 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16588 op &= UINT64_C(15);
16589 op <<= 8;
16590 Value |= op;
16591 // op: Rn
16592 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16593 op &= UINT64_C(15);
16594 Value |= op;
16595 break;
16596 }
16597 case ARM::SMLALBB:
16598 case ARM::SMLALBT:
16599 case ARM::SMLALD:
16600 case ARM::SMLALDX:
16601 case ARM::SMLALTB:
16602 case ARM::SMLALTT:
16603 case ARM::SMLSLD:
16604 case ARM::SMLSLDX: {
16605 // op: p
16606 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
16607 op &= UINT64_C(15);
16608 op <<= 28;
16609 Value |= op;
16610 // op: Rn
16611 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16612 op &= UINT64_C(15);
16613 Value |= op;
16614 // op: Rm
16615 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16616 op &= UINT64_C(15);
16617 op <<= 8;
16618 Value |= op;
16619 // op: RdLo
16620 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16621 op &= UINT64_C(15);
16622 op <<= 12;
16623 Value |= op;
16624 // op: RdHi
16625 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16626 op &= UINT64_C(15);
16627 op <<= 16;
16628 Value |= op;
16629 break;
16630 }
16631 case ARM::LDRD_PRE: {
16632 // op: p
16633 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
16634 op &= UINT64_C(15);
16635 op <<= 28;
16636 Value |= op;
16637 // op: Rt
16638 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16639 op &= UINT64_C(15);
16640 op <<= 12;
16641 Value |= op;
16642 // op: addr
16643 op = getAddrMode3OpValue(MI, OpIdx: 3, Fixups, STI);
16644 Value |= (op & UINT64_C(256)) << 15;
16645 Value |= (op & UINT64_C(8192)) << 9;
16646 Value |= (op & UINT64_C(7680)) << 7;
16647 Value |= (op & UINT64_C(240)) << 4;
16648 Value |= (op & UINT64_C(15));
16649 break;
16650 }
16651 case ARM::MRC: {
16652 // op: p
16653 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
16654 op &= UINT64_C(15);
16655 op <<= 28;
16656 Value |= op;
16657 // op: Rt
16658 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16659 op &= UINT64_C(15);
16660 op <<= 12;
16661 Value |= op;
16662 // op: cop
16663 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16664 op &= UINT64_C(15);
16665 op <<= 8;
16666 Value |= op;
16667 // op: opc1
16668 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16669 op &= UINT64_C(7);
16670 op <<= 21;
16671 Value |= op;
16672 // op: opc2
16673 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16674 op &= UINT64_C(7);
16675 op <<= 5;
16676 Value |= op;
16677 // op: CRm
16678 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16679 op &= UINT64_C(15);
16680 Value |= op;
16681 // op: CRn
16682 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16683 op &= UINT64_C(15);
16684 op <<= 16;
16685 Value |= op;
16686 break;
16687 }
16688 case ARM::LDRD_POST: {
16689 // op: p
16690 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
16691 op &= UINT64_C(15);
16692 op <<= 28;
16693 Value |= op;
16694 // op: Rt
16695 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16696 op &= UINT64_C(15);
16697 op <<= 12;
16698 Value |= op;
16699 // op: offset
16700 op = getAddrMode3OffsetOpValue(MI, OpIdx: 4, Fixups, STI);
16701 Value |= (op & UINT64_C(256)) << 15;
16702 Value |= (op & UINT64_C(512)) << 13;
16703 Value |= (op & UINT64_C(240)) << 4;
16704 Value |= (op & UINT64_C(15));
16705 // op: addr
16706 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16707 op &= UINT64_C(15);
16708 op <<= 16;
16709 Value |= op;
16710 break;
16711 }
16712 case ARM::STRD_PRE: {
16713 // op: p
16714 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
16715 op &= UINT64_C(15);
16716 op <<= 28;
16717 Value |= op;
16718 // op: Rt
16719 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16720 op &= UINT64_C(15);
16721 op <<= 12;
16722 Value |= op;
16723 // op: addr
16724 op = getAddrMode3OpValue(MI, OpIdx: 3, Fixups, STI);
16725 Value |= (op & UINT64_C(256)) << 15;
16726 Value |= (op & UINT64_C(8192)) << 9;
16727 Value |= (op & UINT64_C(7680)) << 7;
16728 Value |= (op & UINT64_C(240)) << 4;
16729 Value |= (op & UINT64_C(15));
16730 break;
16731 }
16732 case ARM::STRD_POST: {
16733 // op: p
16734 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
16735 op &= UINT64_C(15);
16736 op <<= 28;
16737 Value |= op;
16738 // op: Rt
16739 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16740 op &= UINT64_C(15);
16741 op <<= 12;
16742 Value |= op;
16743 // op: offset
16744 op = getAddrMode3OffsetOpValue(MI, OpIdx: 4, Fixups, STI);
16745 Value |= (op & UINT64_C(256)) << 15;
16746 Value |= (op & UINT64_C(512)) << 13;
16747 Value |= (op & UINT64_C(240)) << 4;
16748 Value |= (op & UINT64_C(15));
16749 // op: addr
16750 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16751 op &= UINT64_C(15);
16752 op <<= 16;
16753 Value |= op;
16754 break;
16755 }
16756 case ARM::MCR: {
16757 // op: p
16758 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
16759 op &= UINT64_C(15);
16760 op <<= 28;
16761 Value |= op;
16762 // op: Rt
16763 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16764 op &= UINT64_C(15);
16765 op <<= 12;
16766 Value |= op;
16767 // op: cop
16768 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16769 op &= UINT64_C(15);
16770 op <<= 8;
16771 Value |= op;
16772 // op: opc1
16773 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16774 op &= UINT64_C(7);
16775 op <<= 21;
16776 Value |= op;
16777 // op: opc2
16778 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16779 op &= UINT64_C(7);
16780 op <<= 5;
16781 Value |= op;
16782 // op: CRm
16783 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16784 op &= UINT64_C(15);
16785 Value |= op;
16786 // op: CRn
16787 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16788 op &= UINT64_C(15);
16789 op <<= 16;
16790 Value |= op;
16791 break;
16792 }
16793 case ARM::CDP: {
16794 // op: p
16795 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
16796 op &= UINT64_C(15);
16797 op <<= 28;
16798 Value |= op;
16799 // op: opc1
16800 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16801 op &= UINT64_C(15);
16802 op <<= 20;
16803 Value |= op;
16804 // op: CRn
16805 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16806 op &= UINT64_C(15);
16807 op <<= 16;
16808 Value |= op;
16809 // op: CRd
16810 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16811 op &= UINT64_C(15);
16812 op <<= 12;
16813 Value |= op;
16814 // op: cop
16815 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16816 op &= UINT64_C(15);
16817 op <<= 8;
16818 Value |= op;
16819 // op: opc2
16820 op = getMachineOpValue(MI, MO: MI.getOperand(i: 5), Fixups, STI);
16821 op &= UINT64_C(7);
16822 op <<= 5;
16823 Value |= op;
16824 // op: CRm
16825 op = getMachineOpValue(MI, MO: MI.getOperand(i: 4), Fixups, STI);
16826 op &= UINT64_C(15);
16827 Value |= op;
16828 break;
16829 }
16830 case ARM::SMLAL:
16831 case ARM::UMLAL: {
16832 // op: p
16833 op = getMachineOpValue(MI, MO: MI.getOperand(i: 6), Fixups, STI);
16834 op &= UINT64_C(15);
16835 op <<= 28;
16836 Value |= op;
16837 // op: s
16838 op = getCCOutOpValue(MI, Op: 8, Fixups, STI);
16839 op &= UINT64_C(1);
16840 op <<= 20;
16841 Value |= op;
16842 // op: RdLo
16843 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16844 op &= UINT64_C(15);
16845 op <<= 12;
16846 Value |= op;
16847 // op: RdHi
16848 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16849 op &= UINT64_C(15);
16850 op <<= 16;
16851 Value |= op;
16852 // op: Rm
16853 op = getMachineOpValue(MI, MO: MI.getOperand(i: 3), Fixups, STI);
16854 op &= UINT64_C(15);
16855 op <<= 8;
16856 Value |= op;
16857 // op: Rn
16858 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16859 op &= UINT64_C(15);
16860 Value |= op;
16861 break;
16862 }
16863 case ARM::tPUSH: {
16864 // op: regs
16865 op = getRegisterListOpValue(MI, Op: 2, Fixups, STI);
16866 Value |= (op & UINT64_C(16384)) >> 6;
16867 Value |= (op & UINT64_C(255));
16868 break;
16869 }
16870 case ARM::VSCCLRMS: {
16871 // op: regs
16872 op = getRegisterListOpValue(MI, Op: 2, Fixups, STI);
16873 Value |= (op & UINT64_C(256)) << 14;
16874 Value |= (op & UINT64_C(7680)) << 3;
16875 Value |= (op & UINT64_C(255));
16876 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
16877 break;
16878 }
16879 case ARM::tPOP: {
16880 // op: regs
16881 op = getRegisterListOpValue(MI, Op: 2, Fixups, STI);
16882 Value |= (op & UINT64_C(32768)) >> 7;
16883 Value |= (op & UINT64_C(255));
16884 break;
16885 }
16886 case ARM::VSCCLRMD: {
16887 // op: regs
16888 op = getRegisterListOpValue(MI, Op: 2, Fixups, STI);
16889 Value |= (op & UINT64_C(4096)) << 10;
16890 Value |= (op & UINT64_C(3840)) << 4;
16891 Value |= (op & UINT64_C(254));
16892 Value = VFPThumb2PostEncoder(MI, EncodedValue: Value, STI);
16893 break;
16894 }
16895 case ARM::t2CLRM: {
16896 // op: regs
16897 op = getRegisterListOpValue(MI, Op: 2, Fixups, STI);
16898 Value |= (op & UINT64_C(49152));
16899 Value |= (op & UINT64_C(8191));
16900 break;
16901 }
16902 case ARM::t2MOVr:
16903 case ARM::t2MVNr:
16904 case ARM::t2RRX: {
16905 // op: s
16906 op = getCCOutOpValue(MI, Op: 4, Fixups, STI);
16907 op &= UINT64_C(1);
16908 op <<= 20;
16909 Value |= op;
16910 // op: Rd
16911 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16912 op &= UINT64_C(15);
16913 op <<= 8;
16914 Value |= op;
16915 // op: Rm
16916 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16917 op &= UINT64_C(15);
16918 Value |= op;
16919 break;
16920 }
16921 case ARM::t2MOVi:
16922 case ARM::t2MVNi: {
16923 // op: s
16924 op = getCCOutOpValue(MI, Op: 4, Fixups, STI);
16925 op &= UINT64_C(1);
16926 op <<= 20;
16927 Value |= op;
16928 // op: Rd
16929 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16930 op &= UINT64_C(15);
16931 op <<= 8;
16932 Value |= op;
16933 // op: imm
16934 op = getT2SOImmOpValue(MI, Op: 1, Fixups, STI);
16935 Value |= (op & UINT64_C(2048)) << 15;
16936 Value |= (op & UINT64_C(1792)) << 4;
16937 Value |= (op & UINT64_C(255));
16938 break;
16939 }
16940 case ARM::t2ASRri:
16941 case ARM::t2LSLri:
16942 case ARM::t2LSRri:
16943 case ARM::t2RORri: {
16944 // op: s
16945 op = getCCOutOpValue(MI, Op: 5, Fixups, STI);
16946 op &= UINT64_C(1);
16947 op <<= 20;
16948 Value |= op;
16949 // op: Rd
16950 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16951 op &= UINT64_C(15);
16952 op <<= 8;
16953 Value |= op;
16954 // op: Rm
16955 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16956 op &= UINT64_C(15);
16957 Value |= op;
16958 // op: imm
16959 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16960 Value |= (op & UINT64_C(28)) << 10;
16961 Value |= (op & UINT64_C(3)) << 6;
16962 break;
16963 }
16964 case ARM::t2ADCrr:
16965 case ARM::t2ADDrr:
16966 case ARM::t2ANDrr:
16967 case ARM::t2ASRrr:
16968 case ARM::t2BICrr:
16969 case ARM::t2EORrr:
16970 case ARM::t2LSLrr:
16971 case ARM::t2LSRrr:
16972 case ARM::t2ORNrr:
16973 case ARM::t2ORRrr:
16974 case ARM::t2RORrr:
16975 case ARM::t2RSBrr:
16976 case ARM::t2SBCrr:
16977 case ARM::t2SUBrr: {
16978 // op: s
16979 op = getCCOutOpValue(MI, Op: 5, Fixups, STI);
16980 op &= UINT64_C(1);
16981 op <<= 20;
16982 Value |= op;
16983 // op: Rd
16984 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
16985 op &= UINT64_C(15);
16986 op <<= 8;
16987 Value |= op;
16988 // op: Rn
16989 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
16990 op &= UINT64_C(15);
16991 op <<= 16;
16992 Value |= op;
16993 // op: Rm
16994 op = getMachineOpValue(MI, MO: MI.getOperand(i: 2), Fixups, STI);
16995 op &= UINT64_C(15);
16996 Value |= op;
16997 break;
16998 }
16999 case ARM::t2ADCri:
17000 case ARM::t2ADDri:
17001 case ARM::t2ANDri:
17002 case ARM::t2BICri:
17003 case ARM::t2EORri:
17004 case ARM::t2ORNri:
17005 case ARM::t2ORRri:
17006 case ARM::t2RSBri:
17007 case ARM::t2SBCri:
17008 case ARM::t2SUBri: {
17009 // op: s
17010 op = getCCOutOpValue(MI, Op: 5, Fixups, STI);
17011 op &= UINT64_C(1);
17012 op <<= 20;
17013 Value |= op;
17014 // op: Rd
17015 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17016 op &= UINT64_C(15);
17017 op <<= 8;
17018 Value |= op;
17019 // op: Rn
17020 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17021 op &= UINT64_C(15);
17022 op <<= 16;
17023 Value |= op;
17024 // op: imm
17025 op = getT2SOImmOpValue(MI, Op: 2, Fixups, STI);
17026 Value |= (op & UINT64_C(2048)) << 15;
17027 Value |= (op & UINT64_C(1792)) << 4;
17028 Value |= (op & UINT64_C(255));
17029 break;
17030 }
17031 case ARM::t2MVNs: {
17032 // op: s
17033 op = getCCOutOpValue(MI, Op: 5, Fixups, STI);
17034 op &= UINT64_C(1);
17035 op <<= 20;
17036 Value |= op;
17037 // op: Rd
17038 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17039 op &= UINT64_C(15);
17040 op <<= 8;
17041 Value |= op;
17042 // op: ShiftedRm
17043 op = getT2SORegOpValue(MI, OpIdx: 1, Fixups, STI);
17044 Value |= (op & UINT64_C(3584)) << 3;
17045 Value |= (op & UINT64_C(480)) >> 1;
17046 Value |= (op & UINT64_C(15));
17047 break;
17048 }
17049 case ARM::t2ADDspImm:
17050 case ARM::t2SUBspImm: {
17051 // op: s
17052 op = getCCOutOpValue(MI, Op: 5, Fixups, STI);
17053 op &= UINT64_C(1);
17054 op <<= 20;
17055 Value |= op;
17056 // op: imm
17057 op = getT2SOImmOpValue(MI, Op: 2, Fixups, STI);
17058 Value |= (op & UINT64_C(2048)) << 15;
17059 Value |= (op & UINT64_C(1792)) << 4;
17060 Value |= (op & UINT64_C(255));
17061 break;
17062 }
17063 case ARM::t2ADCrs:
17064 case ARM::t2ADDrs:
17065 case ARM::t2ANDrs:
17066 case ARM::t2BICrs:
17067 case ARM::t2EORrs:
17068 case ARM::t2ORNrs:
17069 case ARM::t2ORRrs:
17070 case ARM::t2RSBrs:
17071 case ARM::t2SBCrs:
17072 case ARM::t2SUBrs: {
17073 // op: s
17074 op = getCCOutOpValue(MI, Op: 6, Fixups, STI);
17075 op &= UINT64_C(1);
17076 op <<= 20;
17077 Value |= op;
17078 // op: Rd
17079 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17080 op &= UINT64_C(15);
17081 op <<= 8;
17082 Value |= op;
17083 // op: Rn
17084 op = getMachineOpValue(MI, MO: MI.getOperand(i: 1), Fixups, STI);
17085 op &= UINT64_C(15);
17086 op <<= 16;
17087 Value |= op;
17088 // op: ShiftedRm
17089 op = getT2SORegOpValue(MI, OpIdx: 2, Fixups, STI);
17090 Value |= (op & UINT64_C(3584)) << 3;
17091 Value |= (op & UINT64_C(480)) >> 1;
17092 Value |= (op & UINT64_C(15));
17093 break;
17094 }
17095 case ARM::PLDWrs:
17096 case ARM::PLDrs:
17097 case ARM::PLIrs: {
17098 // op: shift
17099 op = getLdStSORegOpValue(MI, OpIdx: 0, Fixups, STI);
17100 Value |= (op & UINT64_C(4096)) << 11;
17101 Value |= (op & UINT64_C(122880)) << 3;
17102 Value |= (op & UINT64_C(4064));
17103 Value |= (op & UINT64_C(15));
17104 break;
17105 }
17106 case ARM::BLXi: {
17107 // op: target
17108 op = getARMBLXTargetOpValue(MI, OpIdx: 0, Fixups, STI);
17109 Value |= (op & UINT64_C(1)) << 24;
17110 Value |= (op & UINT64_C(33554430)) >> 1;
17111 break;
17112 }
17113 case ARM::tB: {
17114 // op: target
17115 op = getThumbBRTargetOpValue(MI, OpIdx: 0, Fixups, STI);
17116 op &= UINT64_C(2047);
17117 Value |= op;
17118 break;
17119 }
17120 case ARM::t2B: {
17121 // op: target
17122 op = getThumbBranchTargetOpValue(MI, OpIdx: 0, Fixups, STI);
17123 Value |= (op & UINT64_C(8388608)) << 3;
17124 Value |= (op & UINT64_C(2095104)) << 5;
17125 Value |= (op & UINT64_C(4194304)) >> 9;
17126 Value |= (op & UINT64_C(2097152)) >> 10;
17127 Value |= (op & UINT64_C(2047));
17128 break;
17129 }
17130 case ARM::tCBNZ:
17131 case ARM::tCBZ: {
17132 // op: target
17133 op = getThumbCBTargetOpValue(MI, OpIdx: 1, Fixups, STI);
17134 Value |= (op & UINT64_C(32)) << 4;
17135 Value |= (op & UINT64_C(31)) << 3;
17136 // op: Rn
17137 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17138 op &= UINT64_C(7);
17139 Value |= op;
17140 break;
17141 }
17142 case ARM::BKPT:
17143 case ARM::HLT: {
17144 // op: val
17145 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17146 Value |= (op & UINT64_C(65520)) << 4;
17147 Value |= (op & UINT64_C(15));
17148 break;
17149 }
17150 case ARM::tBKPT: {
17151 // op: val
17152 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17153 op &= UINT64_C(255);
17154 Value |= op;
17155 break;
17156 }
17157 case ARM::tHLT: {
17158 // op: val
17159 op = getMachineOpValue(MI, MO: MI.getOperand(i: 0), Fixups, STI);
17160 op &= UINT64_C(63);
17161 Value |= op;
17162 break;
17163 }
17164 default:
17165 std::string msg;
17166 raw_string_ostream Msg(msg);
17167 Msg << "Not supported instr: " << MI;
17168 report_fatal_error(reason: Msg.str().c_str());
17169 }
17170 return Value;
17171}
17172
17173#ifdef GET_OPERAND_BIT_OFFSET
17174#undef GET_OPERAND_BIT_OFFSET
17175
17176uint32_t ARMMCCodeEmitter::getOperandBitOffset(const MCInst &MI,
17177 unsigned OpNum,
17178 const MCSubtargetInfo &STI) const {
17179 switch (MI.getOpcode()) {
17180 case ARM::CLREX:
17181 case ARM::MVE_LCTP:
17182 case ARM::MVE_VPNOT:
17183 case ARM::SB:
17184 case ARM::TRAP:
17185 case ARM::TRAPNaCl:
17186 case ARM::TSB:
17187 case ARM::VBSPd:
17188 case ARM::VBSPq:
17189 case ARM::VLD1LNq8Pseudo:
17190 case ARM::VLD1LNq8Pseudo_UPD:
17191 case ARM::VLD1LNq16Pseudo:
17192 case ARM::VLD1LNq16Pseudo_UPD:
17193 case ARM::VLD1LNq32Pseudo:
17194 case ARM::VLD1LNq32Pseudo_UPD:
17195 case ARM::VLD1d8QPseudo:
17196 case ARM::VLD1d8QPseudoWB_fixed:
17197 case ARM::VLD1d8QPseudoWB_register:
17198 case ARM::VLD1d8TPseudo:
17199 case ARM::VLD1d8TPseudoWB_fixed:
17200 case ARM::VLD1d8TPseudoWB_register:
17201 case ARM::VLD1d16QPseudo:
17202 case ARM::VLD1d16QPseudoWB_fixed:
17203 case ARM::VLD1d16QPseudoWB_register:
17204 case ARM::VLD1d16TPseudo:
17205 case ARM::VLD1d16TPseudoWB_fixed:
17206 case ARM::VLD1d16TPseudoWB_register:
17207 case ARM::VLD1d32QPseudo:
17208 case ARM::VLD1d32QPseudoWB_fixed:
17209 case ARM::VLD1d32QPseudoWB_register:
17210 case ARM::VLD1d32TPseudo:
17211 case ARM::VLD1d32TPseudoWB_fixed:
17212 case ARM::VLD1d32TPseudoWB_register:
17213 case ARM::VLD1d64QPseudo:
17214 case ARM::VLD1d64QPseudoWB_fixed:
17215 case ARM::VLD1d64QPseudoWB_register:
17216 case ARM::VLD1d64TPseudo:
17217 case ARM::VLD1d64TPseudoWB_fixed:
17218 case ARM::VLD1d64TPseudoWB_register:
17219 case ARM::VLD1q8HighQPseudo:
17220 case ARM::VLD1q8HighQPseudo_UPD:
17221 case ARM::VLD1q8HighTPseudo:
17222 case ARM::VLD1q8HighTPseudo_UPD:
17223 case ARM::VLD1q8LowQPseudo_UPD:
17224 case ARM::VLD1q8LowTPseudo_UPD:
17225 case ARM::VLD1q16HighQPseudo:
17226 case ARM::VLD1q16HighQPseudo_UPD:
17227 case ARM::VLD1q16HighTPseudo:
17228 case ARM::VLD1q16HighTPseudo_UPD:
17229 case ARM::VLD1q16LowQPseudo_UPD:
17230 case ARM::VLD1q16LowTPseudo_UPD:
17231 case ARM::VLD1q32HighQPseudo:
17232 case ARM::VLD1q32HighQPseudo_UPD:
17233 case ARM::VLD1q32HighTPseudo:
17234 case ARM::VLD1q32HighTPseudo_UPD:
17235 case ARM::VLD1q32LowQPseudo_UPD:
17236 case ARM::VLD1q32LowTPseudo_UPD:
17237 case ARM::VLD1q64HighQPseudo:
17238 case ARM::VLD1q64HighQPseudo_UPD:
17239 case ARM::VLD1q64HighTPseudo:
17240 case ARM::VLD1q64HighTPseudo_UPD:
17241 case ARM::VLD1q64LowQPseudo_UPD:
17242 case ARM::VLD1q64LowTPseudo_UPD:
17243 case ARM::VLD2DUPq8EvenPseudo:
17244 case ARM::VLD2DUPq8OddPseudo:
17245 case ARM::VLD2DUPq8OddPseudoWB_fixed:
17246 case ARM::VLD2DUPq8OddPseudoWB_register:
17247 case ARM::VLD2DUPq16EvenPseudo:
17248 case ARM::VLD2DUPq16OddPseudo:
17249 case ARM::VLD2DUPq16OddPseudoWB_fixed:
17250 case ARM::VLD2DUPq16OddPseudoWB_register:
17251 case ARM::VLD2DUPq32EvenPseudo:
17252 case ARM::VLD2DUPq32OddPseudo:
17253 case ARM::VLD2DUPq32OddPseudoWB_fixed:
17254 case ARM::VLD2DUPq32OddPseudoWB_register:
17255 case ARM::VLD2LNd8Pseudo:
17256 case ARM::VLD2LNd8Pseudo_UPD:
17257 case ARM::VLD2LNd16Pseudo:
17258 case ARM::VLD2LNd16Pseudo_UPD:
17259 case ARM::VLD2LNd32Pseudo:
17260 case ARM::VLD2LNd32Pseudo_UPD:
17261 case ARM::VLD2LNq16Pseudo:
17262 case ARM::VLD2LNq16Pseudo_UPD:
17263 case ARM::VLD2LNq32Pseudo:
17264 case ARM::VLD2LNq32Pseudo_UPD:
17265 case ARM::VLD2q8Pseudo:
17266 case ARM::VLD2q8PseudoWB_fixed:
17267 case ARM::VLD2q8PseudoWB_register:
17268 case ARM::VLD2q16Pseudo:
17269 case ARM::VLD2q16PseudoWB_fixed:
17270 case ARM::VLD2q16PseudoWB_register:
17271 case ARM::VLD2q32Pseudo:
17272 case ARM::VLD2q32PseudoWB_fixed:
17273 case ARM::VLD2q32PseudoWB_register:
17274 case ARM::VLD3DUPd8Pseudo:
17275 case ARM::VLD3DUPd8Pseudo_UPD:
17276 case ARM::VLD3DUPd16Pseudo:
17277 case ARM::VLD3DUPd16Pseudo_UPD:
17278 case ARM::VLD3DUPd32Pseudo:
17279 case ARM::VLD3DUPd32Pseudo_UPD:
17280 case ARM::VLD3DUPq8EvenPseudo:
17281 case ARM::VLD3DUPq8OddPseudo:
17282 case ARM::VLD3DUPq8OddPseudo_UPD:
17283 case ARM::VLD3DUPq16EvenPseudo:
17284 case ARM::VLD3DUPq16OddPseudo:
17285 case ARM::VLD3DUPq16OddPseudo_UPD:
17286 case ARM::VLD3DUPq32EvenPseudo:
17287 case ARM::VLD3DUPq32OddPseudo:
17288 case ARM::VLD3DUPq32OddPseudo_UPD:
17289 case ARM::VLD3LNd8Pseudo:
17290 case ARM::VLD3LNd8Pseudo_UPD:
17291 case ARM::VLD3LNd16Pseudo:
17292 case ARM::VLD3LNd16Pseudo_UPD:
17293 case ARM::VLD3LNd32Pseudo:
17294 case ARM::VLD3LNd32Pseudo_UPD:
17295 case ARM::VLD3LNq16Pseudo:
17296 case ARM::VLD3LNq16Pseudo_UPD:
17297 case ARM::VLD3LNq32Pseudo:
17298 case ARM::VLD3LNq32Pseudo_UPD:
17299 case ARM::VLD3d8Pseudo:
17300 case ARM::VLD3d8Pseudo_UPD:
17301 case ARM::VLD3d16Pseudo:
17302 case ARM::VLD3d16Pseudo_UPD:
17303 case ARM::VLD3d32Pseudo:
17304 case ARM::VLD3d32Pseudo_UPD:
17305 case ARM::VLD3q8Pseudo_UPD:
17306 case ARM::VLD3q8oddPseudo:
17307 case ARM::VLD3q8oddPseudo_UPD:
17308 case ARM::VLD3q16Pseudo_UPD:
17309 case ARM::VLD3q16oddPseudo:
17310 case ARM::VLD3q16oddPseudo_UPD:
17311 case ARM::VLD3q32Pseudo_UPD:
17312 case ARM::VLD3q32oddPseudo:
17313 case ARM::VLD3q32oddPseudo_UPD:
17314 case ARM::VLD4DUPd8Pseudo:
17315 case ARM::VLD4DUPd8Pseudo_UPD:
17316 case ARM::VLD4DUPd16Pseudo:
17317 case ARM::VLD4DUPd16Pseudo_UPD:
17318 case ARM::VLD4DUPd32Pseudo:
17319 case ARM::VLD4DUPd32Pseudo_UPD:
17320 case ARM::VLD4DUPq8EvenPseudo:
17321 case ARM::VLD4DUPq8OddPseudo:
17322 case ARM::VLD4DUPq8OddPseudo_UPD:
17323 case ARM::VLD4DUPq16EvenPseudo:
17324 case ARM::VLD4DUPq16OddPseudo:
17325 case ARM::VLD4DUPq16OddPseudo_UPD:
17326 case ARM::VLD4DUPq32EvenPseudo:
17327 case ARM::VLD4DUPq32OddPseudo:
17328 case ARM::VLD4DUPq32OddPseudo_UPD:
17329 case ARM::VLD4LNd8Pseudo:
17330 case ARM::VLD4LNd8Pseudo_UPD:
17331 case ARM::VLD4LNd16Pseudo:
17332 case ARM::VLD4LNd16Pseudo_UPD:
17333 case ARM::VLD4LNd32Pseudo:
17334 case ARM::VLD4LNd32Pseudo_UPD:
17335 case ARM::VLD4LNq16Pseudo:
17336 case ARM::VLD4LNq16Pseudo_UPD:
17337 case ARM::VLD4LNq32Pseudo:
17338 case ARM::VLD4LNq32Pseudo_UPD:
17339 case ARM::VLD4d8Pseudo:
17340 case ARM::VLD4d8Pseudo_UPD:
17341 case ARM::VLD4d16Pseudo:
17342 case ARM::VLD4d16Pseudo_UPD:
17343 case ARM::VLD4d32Pseudo:
17344 case ARM::VLD4d32Pseudo_UPD:
17345 case ARM::VLD4q8Pseudo_UPD:
17346 case ARM::VLD4q8oddPseudo:
17347 case ARM::VLD4q8oddPseudo_UPD:
17348 case ARM::VLD4q16Pseudo_UPD:
17349 case ARM::VLD4q16oddPseudo:
17350 case ARM::VLD4q16oddPseudo_UPD:
17351 case ARM::VLD4q32Pseudo_UPD:
17352 case ARM::VLD4q32oddPseudo:
17353 case ARM::VLD4q32oddPseudo_UPD:
17354 case ARM::VLDMQIA:
17355 case ARM::VST1LNq8Pseudo:
17356 case ARM::VST1LNq8Pseudo_UPD:
17357 case ARM::VST1LNq16Pseudo:
17358 case ARM::VST1LNq16Pseudo_UPD:
17359 case ARM::VST1LNq32Pseudo:
17360 case ARM::VST1LNq32Pseudo_UPD:
17361 case ARM::VST1d8QPseudo:
17362 case ARM::VST1d8QPseudoWB_fixed:
17363 case ARM::VST1d8QPseudoWB_register:
17364 case ARM::VST1d8TPseudo:
17365 case ARM::VST1d8TPseudoWB_fixed:
17366 case ARM::VST1d8TPseudoWB_register:
17367 case ARM::VST1d16QPseudo:
17368 case ARM::VST1d16QPseudoWB_fixed:
17369 case ARM::VST1d16QPseudoWB_register:
17370 case ARM::VST1d16TPseudo:
17371 case ARM::VST1d16TPseudoWB_fixed:
17372 case ARM::VST1d16TPseudoWB_register:
17373 case ARM::VST1d32QPseudo:
17374 case ARM::VST1d32QPseudoWB_fixed:
17375 case ARM::VST1d32QPseudoWB_register:
17376 case ARM::VST1d32TPseudo:
17377 case ARM::VST1d32TPseudoWB_fixed:
17378 case ARM::VST1d32TPseudoWB_register:
17379 case ARM::VST1d64QPseudo:
17380 case ARM::VST1d64QPseudoWB_fixed:
17381 case ARM::VST1d64QPseudoWB_register:
17382 case ARM::VST1d64TPseudo:
17383 case ARM::VST1d64TPseudoWB_fixed:
17384 case ARM::VST1d64TPseudoWB_register:
17385 case ARM::VST1q8HighQPseudo:
17386 case ARM::VST1q8HighQPseudo_UPD:
17387 case ARM::VST1q8HighTPseudo:
17388 case ARM::VST1q8HighTPseudo_UPD:
17389 case ARM::VST1q8LowQPseudo_UPD:
17390 case ARM::VST1q8LowTPseudo_UPD:
17391 case ARM::VST1q16HighQPseudo:
17392 case ARM::VST1q16HighQPseudo_UPD:
17393 case ARM::VST1q16HighTPseudo:
17394 case ARM::VST1q16HighTPseudo_UPD:
17395 case ARM::VST1q16LowQPseudo_UPD:
17396 case ARM::VST1q16LowTPseudo_UPD:
17397 case ARM::VST1q32HighQPseudo:
17398 case ARM::VST1q32HighQPseudo_UPD:
17399 case ARM::VST1q32HighTPseudo:
17400 case ARM::VST1q32HighTPseudo_UPD:
17401 case ARM::VST1q32LowQPseudo_UPD:
17402 case ARM::VST1q32LowTPseudo_UPD:
17403 case ARM::VST1q64HighQPseudo:
17404 case ARM::VST1q64HighQPseudo_UPD:
17405 case ARM::VST1q64HighTPseudo:
17406 case ARM::VST1q64HighTPseudo_UPD:
17407 case ARM::VST1q64LowQPseudo_UPD:
17408 case ARM::VST1q64LowTPseudo_UPD:
17409 case ARM::VST2LNd8Pseudo:
17410 case ARM::VST2LNd8Pseudo_UPD:
17411 case ARM::VST2LNd16Pseudo:
17412 case ARM::VST2LNd16Pseudo_UPD:
17413 case ARM::VST2LNd32Pseudo:
17414 case ARM::VST2LNd32Pseudo_UPD:
17415 case ARM::VST2LNq16Pseudo:
17416 case ARM::VST2LNq16Pseudo_UPD:
17417 case ARM::VST2LNq32Pseudo:
17418 case ARM::VST2LNq32Pseudo_UPD:
17419 case ARM::VST2q8Pseudo:
17420 case ARM::VST2q8PseudoWB_fixed:
17421 case ARM::VST2q8PseudoWB_register:
17422 case ARM::VST2q16Pseudo:
17423 case ARM::VST2q16PseudoWB_fixed:
17424 case ARM::VST2q16PseudoWB_register:
17425 case ARM::VST2q32Pseudo:
17426 case ARM::VST2q32PseudoWB_fixed:
17427 case ARM::VST2q32PseudoWB_register:
17428 case ARM::VST3LNd8Pseudo:
17429 case ARM::VST3LNd8Pseudo_UPD:
17430 case ARM::VST3LNd16Pseudo:
17431 case ARM::VST3LNd16Pseudo_UPD:
17432 case ARM::VST3LNd32Pseudo:
17433 case ARM::VST3LNd32Pseudo_UPD:
17434 case ARM::VST3LNq16Pseudo:
17435 case ARM::VST3LNq16Pseudo_UPD:
17436 case ARM::VST3LNq32Pseudo:
17437 case ARM::VST3LNq32Pseudo_UPD:
17438 case ARM::VST3d8Pseudo:
17439 case ARM::VST3d8Pseudo_UPD:
17440 case ARM::VST3d16Pseudo:
17441 case ARM::VST3d16Pseudo_UPD:
17442 case ARM::VST3d32Pseudo:
17443 case ARM::VST3d32Pseudo_UPD:
17444 case ARM::VST3q8Pseudo_UPD:
17445 case ARM::VST3q8oddPseudo:
17446 case ARM::VST3q8oddPseudo_UPD:
17447 case ARM::VST3q16Pseudo_UPD:
17448 case ARM::VST3q16oddPseudo:
17449 case ARM::VST3q16oddPseudo_UPD:
17450 case ARM::VST3q32Pseudo_UPD:
17451 case ARM::VST3q32oddPseudo:
17452 case ARM::VST3q32oddPseudo_UPD:
17453 case ARM::VST4LNd8Pseudo:
17454 case ARM::VST4LNd8Pseudo_UPD:
17455 case ARM::VST4LNd16Pseudo:
17456 case ARM::VST4LNd16Pseudo_UPD:
17457 case ARM::VST4LNd32Pseudo:
17458 case ARM::VST4LNd32Pseudo_UPD:
17459 case ARM::VST4LNq16Pseudo:
17460 case ARM::VST4LNq16Pseudo_UPD:
17461 case ARM::VST4LNq32Pseudo:
17462 case ARM::VST4LNq32Pseudo_UPD:
17463 case ARM::VST4d8Pseudo:
17464 case ARM::VST4d8Pseudo_UPD:
17465 case ARM::VST4d16Pseudo:
17466 case ARM::VST4d16Pseudo_UPD:
17467 case ARM::VST4d32Pseudo:
17468 case ARM::VST4d32Pseudo_UPD:
17469 case ARM::VST4q8Pseudo_UPD:
17470 case ARM::VST4q8oddPseudo:
17471 case ARM::VST4q8oddPseudo_UPD:
17472 case ARM::VST4q16Pseudo_UPD:
17473 case ARM::VST4q16oddPseudo:
17474 case ARM::VST4q16oddPseudo_UPD:
17475 case ARM::VST4q32Pseudo_UPD:
17476 case ARM::VST4q32oddPseudo:
17477 case ARM::VST4q32oddPseudo_UPD:
17478 case ARM::VSTMQIA:
17479 case ARM::VTBL3Pseudo:
17480 case ARM::VTBL4Pseudo:
17481 case ARM::VTBX3Pseudo:
17482 case ARM::VTBX4Pseudo:
17483 case ARM::t2AUT:
17484 case ARM::t2BTI:
17485 case ARM::t2CLREX:
17486 case ARM::t2DCPS1:
17487 case ARM::t2DCPS2:
17488 case ARM::t2DCPS3:
17489 case ARM::t2Int_eh_sjlj_setjmp:
17490 case ARM::t2Int_eh_sjlj_setjmp_nofp:
17491 case ARM::t2PAC:
17492 case ARM::t2PACBTI:
17493 case ARM::t2SB:
17494 case ARM::t2SG:
17495 case ARM::t2TSB:
17496 case ARM::tInt_WIN_eh_sjlj_longjmp:
17497 case ARM::tInt_eh_sjlj_longjmp:
17498 case ARM::tInt_eh_sjlj_setjmp:
17499 case ARM::tTRAP:
17500 case ARM::t__brkdiv0: {
17501 break;
17502 }
17503 case ARM::VRINTAD:
17504 case ARM::VRINTMD:
17505 case ARM::VRINTND:
17506 case ARM::VRINTPD: {
17507 switch (OpNum) {
17508 case 0:
17509 // op: Dd
17510 return 12;
17511 case 1:
17512 // op: Dm
17513 return 0;
17514 }
17515 break;
17516 }
17517 case ARM::VFP_VMAXNMD:
17518 case ARM::VFP_VMINNMD:
17519 case ARM::VSELEQD:
17520 case ARM::VSELGED:
17521 case ARM::VSELGTD:
17522 case ARM::VSELVSD: {
17523 switch (OpNum) {
17524 case 0:
17525 // op: Dd
17526 return 12;
17527 case 1:
17528 // op: Dn
17529 return 7;
17530 case 2:
17531 // op: Dm
17532 return 0;
17533 }
17534 break;
17535 }
17536 case ARM::MVE_VPST: {
17537 switch (OpNum) {
17538 case 0:
17539 // op: Mk
17540 return 13;
17541 }
17542 break;
17543 }
17544 case ARM::MVE_VQRSHL_by_vecs8:
17545 case ARM::MVE_VQRSHL_by_vecs16:
17546 case ARM::MVE_VQRSHL_by_vecs32:
17547 case ARM::MVE_VQRSHL_by_vecu8:
17548 case ARM::MVE_VQRSHL_by_vecu16:
17549 case ARM::MVE_VQRSHL_by_vecu32:
17550 case ARM::MVE_VQSHL_by_vecs8:
17551 case ARM::MVE_VQSHL_by_vecs16:
17552 case ARM::MVE_VQSHL_by_vecs32:
17553 case ARM::MVE_VQSHL_by_vecu8:
17554 case ARM::MVE_VQSHL_by_vecu16:
17555 case ARM::MVE_VQSHL_by_vecu32:
17556 case ARM::MVE_VRSHL_by_vecs8:
17557 case ARM::MVE_VRSHL_by_vecs16:
17558 case ARM::MVE_VRSHL_by_vecs32:
17559 case ARM::MVE_VRSHL_by_vecu8:
17560 case ARM::MVE_VRSHL_by_vecu16:
17561 case ARM::MVE_VRSHL_by_vecu32:
17562 case ARM::MVE_VSHL_by_vecs8:
17563 case ARM::MVE_VSHL_by_vecs16:
17564 case ARM::MVE_VSHL_by_vecs32:
17565 case ARM::MVE_VSHL_by_vecu8:
17566 case ARM::MVE_VSHL_by_vecu16:
17567 case ARM::MVE_VSHL_by_vecu32: {
17568 switch (OpNum) {
17569 case 0:
17570 // op: Qd
17571 return 13;
17572 case 1:
17573 // op: Qm
17574 return 1;
17575 case 2:
17576 // op: Qn
17577 return 7;
17578 }
17579 break;
17580 }
17581 case ARM::MVE_VQSHLU_imms8:
17582 case ARM::MVE_VQSHLU_imms16:
17583 case ARM::MVE_VQSHLU_imms32:
17584 case ARM::MVE_VQSHLimms8:
17585 case ARM::MVE_VQSHLimms16:
17586 case ARM::MVE_VQSHLimms32:
17587 case ARM::MVE_VQSHLimmu8:
17588 case ARM::MVE_VQSHLimmu16:
17589 case ARM::MVE_VQSHLimmu32:
17590 case ARM::MVE_VRSHR_imms8:
17591 case ARM::MVE_VRSHR_imms16:
17592 case ARM::MVE_VRSHR_imms32:
17593 case ARM::MVE_VRSHR_immu8:
17594 case ARM::MVE_VRSHR_immu16:
17595 case ARM::MVE_VRSHR_immu32:
17596 case ARM::MVE_VSHLL_imms8bh:
17597 case ARM::MVE_VSHLL_imms8th:
17598 case ARM::MVE_VSHLL_imms16bh:
17599 case ARM::MVE_VSHLL_imms16th:
17600 case ARM::MVE_VSHLL_immu8bh:
17601 case ARM::MVE_VSHLL_immu8th:
17602 case ARM::MVE_VSHLL_immu16bh:
17603 case ARM::MVE_VSHLL_immu16th:
17604 case ARM::MVE_VSHL_immi8:
17605 case ARM::MVE_VSHL_immi16:
17606 case ARM::MVE_VSHL_immi32:
17607 case ARM::MVE_VSHR_imms8:
17608 case ARM::MVE_VSHR_imms16:
17609 case ARM::MVE_VSHR_imms32:
17610 case ARM::MVE_VSHR_immu8:
17611 case ARM::MVE_VSHR_immu16:
17612 case ARM::MVE_VSHR_immu32: {
17613 switch (OpNum) {
17614 case 0:
17615 // op: Qd
17616 return 13;
17617 case 1:
17618 // op: Qm
17619 return 1;
17620 case 2:
17621 // op: imm
17622 return 16;
17623 }
17624 break;
17625 }
17626 case ARM::MVE_VABSs8:
17627 case ARM::MVE_VABSs16:
17628 case ARM::MVE_VABSs32:
17629 case ARM::MVE_VCLSs8:
17630 case ARM::MVE_VCLSs16:
17631 case ARM::MVE_VCLSs32:
17632 case ARM::MVE_VCLZs8:
17633 case ARM::MVE_VCLZs16:
17634 case ARM::MVE_VCLZs32:
17635 case ARM::MVE_VCVTf32f16bh:
17636 case ARM::MVE_VCVTf32f16th:
17637 case ARM::MVE_VMOVLs8bh:
17638 case ARM::MVE_VMOVLs8th:
17639 case ARM::MVE_VMOVLs16bh:
17640 case ARM::MVE_VMOVLs16th:
17641 case ARM::MVE_VMOVLu8bh:
17642 case ARM::MVE_VMOVLu8th:
17643 case ARM::MVE_VMOVLu16bh:
17644 case ARM::MVE_VMOVLu16th:
17645 case ARM::MVE_VMVN:
17646 case ARM::MVE_VNEGs8:
17647 case ARM::MVE_VNEGs16:
17648 case ARM::MVE_VNEGs32:
17649 case ARM::MVE_VQABSs8:
17650 case ARM::MVE_VQABSs16:
17651 case ARM::MVE_VQABSs32:
17652 case ARM::MVE_VQNEGs8:
17653 case ARM::MVE_VQNEGs16:
17654 case ARM::MVE_VQNEGs32:
17655 case ARM::MVE_VREV16_8:
17656 case ARM::MVE_VREV32_8:
17657 case ARM::MVE_VREV32_16:
17658 case ARM::MVE_VREV64_8:
17659 case ARM::MVE_VREV64_16:
17660 case ARM::MVE_VREV64_32:
17661 case ARM::MVE_VSHLL_lws8bh:
17662 case ARM::MVE_VSHLL_lws8th:
17663 case ARM::MVE_VSHLL_lws16bh:
17664 case ARM::MVE_VSHLL_lws16th:
17665 case ARM::MVE_VSHLL_lwu8bh:
17666 case ARM::MVE_VSHLL_lwu8th:
17667 case ARM::MVE_VSHLL_lwu16bh:
17668 case ARM::MVE_VSHLL_lwu16th: {
17669 switch (OpNum) {
17670 case 0:
17671 // op: Qd
17672 return 13;
17673 case 1:
17674 // op: Qm
17675 return 1;
17676 }
17677 break;
17678 }
17679 case ARM::MVE_VABDs8:
17680 case ARM::MVE_VABDs16:
17681 case ARM::MVE_VABDs32:
17682 case ARM::MVE_VABDu8:
17683 case ARM::MVE_VABDu16:
17684 case ARM::MVE_VABDu32:
17685 case ARM::MVE_VADDi8:
17686 case ARM::MVE_VADDi16:
17687 case ARM::MVE_VADDi32:
17688 case ARM::MVE_VHADDs8:
17689 case ARM::MVE_VHADDs16:
17690 case ARM::MVE_VHADDs32:
17691 case ARM::MVE_VHADDu8:
17692 case ARM::MVE_VHADDu16:
17693 case ARM::MVE_VHADDu32:
17694 case ARM::MVE_VHSUBs8:
17695 case ARM::MVE_VHSUBs16:
17696 case ARM::MVE_VHSUBs32:
17697 case ARM::MVE_VHSUBu8:
17698 case ARM::MVE_VHSUBu16:
17699 case ARM::MVE_VHSUBu32:
17700 case ARM::MVE_VMAXNMf16:
17701 case ARM::MVE_VMAXNMf32:
17702 case ARM::MVE_VMAXs8:
17703 case ARM::MVE_VMAXs16:
17704 case ARM::MVE_VMAXs32:
17705 case ARM::MVE_VMAXu8:
17706 case ARM::MVE_VMAXu16:
17707 case ARM::MVE_VMAXu32:
17708 case ARM::MVE_VMINNMf16:
17709 case ARM::MVE_VMINNMf32:
17710 case ARM::MVE_VMINs8:
17711 case ARM::MVE_VMINs16:
17712 case ARM::MVE_VMINs32:
17713 case ARM::MVE_VMINu8:
17714 case ARM::MVE_VMINu16:
17715 case ARM::MVE_VMINu32:
17716 case ARM::MVE_VMULi8:
17717 case ARM::MVE_VMULi16:
17718 case ARM::MVE_VMULi32:
17719 case ARM::MVE_VQADDs8:
17720 case ARM::MVE_VQADDs16:
17721 case ARM::MVE_VQADDs32:
17722 case ARM::MVE_VQADDu8:
17723 case ARM::MVE_VQADDu16:
17724 case ARM::MVE_VQADDu32:
17725 case ARM::MVE_VQDMULHi8:
17726 case ARM::MVE_VQDMULHi16:
17727 case ARM::MVE_VQDMULHi32:
17728 case ARM::MVE_VQRDMULHi8:
17729 case ARM::MVE_VQRDMULHi16:
17730 case ARM::MVE_VQRDMULHi32:
17731 case ARM::MVE_VQSUBs8:
17732 case ARM::MVE_VQSUBs16:
17733 case ARM::MVE_VQSUBs32:
17734 case ARM::MVE_VQSUBu8:
17735 case ARM::MVE_VQSUBu16:
17736 case ARM::MVE_VQSUBu32:
17737 case ARM::MVE_VRHADDs8:
17738 case ARM::MVE_VRHADDs16:
17739 case ARM::MVE_VRHADDs32:
17740 case ARM::MVE_VRHADDu8:
17741 case ARM::MVE_VRHADDu16:
17742 case ARM::MVE_VRHADDu32:
17743 case ARM::MVE_VSUBi8:
17744 case ARM::MVE_VSUBi16:
17745 case ARM::MVE_VSUBi32: {
17746 switch (OpNum) {
17747 case 0:
17748 // op: Qd
17749 return 13;
17750 case 1:
17751 // op: Qn
17752 return 7;
17753 case 2:
17754 // op: Qm
17755 return 1;
17756 }
17757 break;
17758 }
17759 case ARM::MVE_VADD_qr_f16:
17760 case ARM::MVE_VADD_qr_f32:
17761 case ARM::MVE_VADD_qr_i8:
17762 case ARM::MVE_VADD_qr_i16:
17763 case ARM::MVE_VADD_qr_i32:
17764 case ARM::MVE_VBRSR8:
17765 case ARM::MVE_VBRSR16:
17766 case ARM::MVE_VBRSR32:
17767 case ARM::MVE_VHADD_qr_s8:
17768 case ARM::MVE_VHADD_qr_s16:
17769 case ARM::MVE_VHADD_qr_s32:
17770 case ARM::MVE_VHADD_qr_u8:
17771 case ARM::MVE_VHADD_qr_u16:
17772 case ARM::MVE_VHADD_qr_u32:
17773 case ARM::MVE_VHSUB_qr_s8:
17774 case ARM::MVE_VHSUB_qr_s16:
17775 case ARM::MVE_VHSUB_qr_s32:
17776 case ARM::MVE_VHSUB_qr_u8:
17777 case ARM::MVE_VHSUB_qr_u16:
17778 case ARM::MVE_VHSUB_qr_u32:
17779 case ARM::MVE_VMUL_qr_f16:
17780 case ARM::MVE_VMUL_qr_f32:
17781 case ARM::MVE_VMUL_qr_i8:
17782 case ARM::MVE_VMUL_qr_i16:
17783 case ARM::MVE_VMUL_qr_i32:
17784 case ARM::MVE_VQADD_qr_s8:
17785 case ARM::MVE_VQADD_qr_s16:
17786 case ARM::MVE_VQADD_qr_s32:
17787 case ARM::MVE_VQADD_qr_u8:
17788 case ARM::MVE_VQADD_qr_u16:
17789 case ARM::MVE_VQADD_qr_u32:
17790 case ARM::MVE_VQDMULH_qr_s8:
17791 case ARM::MVE_VQDMULH_qr_s16:
17792 case ARM::MVE_VQDMULH_qr_s32:
17793 case ARM::MVE_VQDMULL_qr_s16bh:
17794 case ARM::MVE_VQDMULL_qr_s16th:
17795 case ARM::MVE_VQDMULL_qr_s32bh:
17796 case ARM::MVE_VQDMULL_qr_s32th:
17797 case ARM::MVE_VQRDMULH_qr_s8:
17798 case ARM::MVE_VQRDMULH_qr_s16:
17799 case ARM::MVE_VQRDMULH_qr_s32:
17800 case ARM::MVE_VQSUB_qr_s8:
17801 case ARM::MVE_VQSUB_qr_s16:
17802 case ARM::MVE_VQSUB_qr_s32:
17803 case ARM::MVE_VQSUB_qr_u8:
17804 case ARM::MVE_VQSUB_qr_u16:
17805 case ARM::MVE_VQSUB_qr_u32:
17806 case ARM::MVE_VSUB_qr_f16:
17807 case ARM::MVE_VSUB_qr_f32:
17808 case ARM::MVE_VSUB_qr_i8:
17809 case ARM::MVE_VSUB_qr_i16:
17810 case ARM::MVE_VSUB_qr_i32: {
17811 switch (OpNum) {
17812 case 0:
17813 // op: Qd
17814 return 13;
17815 case 1:
17816 // op: Qn
17817 return 7;
17818 case 2:
17819 // op: Rm
17820 return 0;
17821 }
17822 break;
17823 }
17824 case ARM::MVE_VDDUPu8:
17825 case ARM::MVE_VDDUPu16:
17826 case ARM::MVE_VDDUPu32:
17827 case ARM::MVE_VIDUPu8:
17828 case ARM::MVE_VIDUPu16:
17829 case ARM::MVE_VIDUPu32: {
17830 switch (OpNum) {
17831 case 0:
17832 // op: Qd
17833 return 13;
17834 case 1:
17835 // op: Rn
17836 return 17;
17837 case 3:
17838 // op: imm
17839 return 0;
17840 }
17841 break;
17842 }
17843 case ARM::MVE_VLDRBS16:
17844 case ARM::MVE_VLDRBS32:
17845 case ARM::MVE_VLDRBU8:
17846 case ARM::MVE_VLDRBU16:
17847 case ARM::MVE_VLDRBU32:
17848 case ARM::MVE_VLDRDU64_qi:
17849 case ARM::MVE_VLDRHS32:
17850 case ARM::MVE_VLDRHU16:
17851 case ARM::MVE_VLDRHU32:
17852 case ARM::MVE_VLDRWU32:
17853 case ARM::MVE_VLDRWU32_qi:
17854 case ARM::MVE_VSTRB16:
17855 case ARM::MVE_VSTRB32:
17856 case ARM::MVE_VSTRBU8:
17857 case ARM::MVE_VSTRD64_qi:
17858 case ARM::MVE_VSTRH32:
17859 case ARM::MVE_VSTRHU16:
17860 case ARM::MVE_VSTRW32_qi:
17861 case ARM::MVE_VSTRWU32: {
17862 switch (OpNum) {
17863 case 0:
17864 // op: Qd
17865 return 13;
17866 case 1:
17867 // op: addr
17868 return 0;
17869 }
17870 break;
17871 }
17872 case ARM::MVE_VLDRBS16_rq:
17873 case ARM::MVE_VLDRBS32_rq:
17874 case ARM::MVE_VLDRBU8_rq:
17875 case ARM::MVE_VLDRBU16_rq:
17876 case ARM::MVE_VLDRBU32_rq:
17877 case ARM::MVE_VLDRDU64_rq:
17878 case ARM::MVE_VLDRDU64_rq_u:
17879 case ARM::MVE_VLDRHS32_rq:
17880 case ARM::MVE_VLDRHS32_rq_u:
17881 case ARM::MVE_VLDRHU16_rq:
17882 case ARM::MVE_VLDRHU16_rq_u:
17883 case ARM::MVE_VLDRHU32_rq:
17884 case ARM::MVE_VLDRHU32_rq_u:
17885 case ARM::MVE_VLDRWU32_rq:
17886 case ARM::MVE_VLDRWU32_rq_u:
17887 case ARM::MVE_VSTRB8_rq:
17888 case ARM::MVE_VSTRB16_rq:
17889 case ARM::MVE_VSTRB32_rq:
17890 case ARM::MVE_VSTRD64_rq:
17891 case ARM::MVE_VSTRD64_rq_u:
17892 case ARM::MVE_VSTRH16_rq:
17893 case ARM::MVE_VSTRH16_rq_u:
17894 case ARM::MVE_VSTRH32_rq:
17895 case ARM::MVE_VSTRH32_rq_u:
17896 case ARM::MVE_VSTRW32_rq:
17897 case ARM::MVE_VSTRW32_rq_u: {
17898 switch (OpNum) {
17899 case 0:
17900 // op: Qd
17901 return 13;
17902 case 1:
17903 // op: addr
17904 return 1;
17905 }
17906 break;
17907 }
17908 case ARM::MVE_VCMULf16:
17909 case ARM::MVE_VCMULf32: {
17910 switch (OpNum) {
17911 case 0:
17912 // op: Qd
17913 return 13;
17914 case 2:
17915 // op: Qm
17916 return 1;
17917 case 1:
17918 // op: Qn
17919 return 7;
17920 case 3:
17921 // op: rot
17922 return 0;
17923 }
17924 break;
17925 }
17926 case ARM::MVE_VCADDi8:
17927 case ARM::MVE_VCADDi16:
17928 case ARM::MVE_VCADDi32:
17929 case ARM::MVE_VHCADDs8:
17930 case ARM::MVE_VHCADDs16:
17931 case ARM::MVE_VHCADDs32: {
17932 switch (OpNum) {
17933 case 0:
17934 // op: Qd
17935 return 13;
17936 case 2:
17937 // op: Qm
17938 return 1;
17939 case 1:
17940 // op: Qn
17941 return 7;
17942 case 3:
17943 // op: rot
17944 return 12;
17945 }
17946 break;
17947 }
17948 case ARM::MVE_VAND:
17949 case ARM::MVE_VBIC:
17950 case ARM::MVE_VEOR:
17951 case ARM::MVE_VMULHs8:
17952 case ARM::MVE_VMULHs16:
17953 case ARM::MVE_VMULHs32:
17954 case ARM::MVE_VMULHu8:
17955 case ARM::MVE_VMULHu16:
17956 case ARM::MVE_VMULHu32:
17957 case ARM::MVE_VMULLBp8:
17958 case ARM::MVE_VMULLBp16:
17959 case ARM::MVE_VMULLBs8:
17960 case ARM::MVE_VMULLBs16:
17961 case ARM::MVE_VMULLBs32:
17962 case ARM::MVE_VMULLBu8:
17963 case ARM::MVE_VMULLBu16:
17964 case ARM::MVE_VMULLBu32:
17965 case ARM::MVE_VMULLTp8:
17966 case ARM::MVE_VMULLTp16:
17967 case ARM::MVE_VMULLTs8:
17968 case ARM::MVE_VMULLTs16:
17969 case ARM::MVE_VMULLTs32:
17970 case ARM::MVE_VMULLTu8:
17971 case ARM::MVE_VMULLTu16:
17972 case ARM::MVE_VMULLTu32:
17973 case ARM::MVE_VORN:
17974 case ARM::MVE_VORR:
17975 case ARM::MVE_VQDMULLs16bh:
17976 case ARM::MVE_VQDMULLs16th:
17977 case ARM::MVE_VQDMULLs32bh:
17978 case ARM::MVE_VQDMULLs32th:
17979 case ARM::MVE_VRMULHs8:
17980 case ARM::MVE_VRMULHs16:
17981 case ARM::MVE_VRMULHs32:
17982 case ARM::MVE_VRMULHu8:
17983 case ARM::MVE_VRMULHu16:
17984 case ARM::MVE_VRMULHu32: {
17985 switch (OpNum) {
17986 case 0:
17987 // op: Qd
17988 return 13;
17989 case 2:
17990 // op: Qm
17991 return 1;
17992 case 1:
17993 // op: Qn
17994 return 7;
17995 }
17996 break;
17997 }
17998 case ARM::MVE_VQRSHRNbhs16:
17999 case ARM::MVE_VQRSHRNbhs32:
18000 case ARM::MVE_VQRSHRNbhu16:
18001 case ARM::MVE_VQRSHRNbhu32:
18002 case ARM::MVE_VQRSHRNths16:
18003 case ARM::MVE_VQRSHRNths32:
18004 case ARM::MVE_VQRSHRNthu16:
18005 case ARM::MVE_VQRSHRNthu32:
18006 case ARM::MVE_VQRSHRUNs16bh:
18007 case ARM::MVE_VQRSHRUNs16th:
18008 case ARM::MVE_VQRSHRUNs32bh:
18009 case ARM::MVE_VQRSHRUNs32th:
18010 case ARM::MVE_VQSHRNbhs16:
18011 case ARM::MVE_VQSHRNbhs32:
18012 case ARM::MVE_VQSHRNbhu16:
18013 case ARM::MVE_VQSHRNbhu32:
18014 case ARM::MVE_VQSHRNths16:
18015 case ARM::MVE_VQSHRNths32:
18016 case ARM::MVE_VQSHRNthu16:
18017 case ARM::MVE_VQSHRNthu32:
18018 case ARM::MVE_VQSHRUNs16bh:
18019 case ARM::MVE_VQSHRUNs16th:
18020 case ARM::MVE_VQSHRUNs32bh:
18021 case ARM::MVE_VQSHRUNs32th:
18022 case ARM::MVE_VRSHRNi16bh:
18023 case ARM::MVE_VRSHRNi16th:
18024 case ARM::MVE_VRSHRNi32bh:
18025 case ARM::MVE_VRSHRNi32th:
18026 case ARM::MVE_VSHRNi16bh:
18027 case ARM::MVE_VSHRNi16th:
18028 case ARM::MVE_VSHRNi32bh:
18029 case ARM::MVE_VSHRNi32th:
18030 case ARM::MVE_VSLIimm8:
18031 case ARM::MVE_VSLIimm16:
18032 case ARM::MVE_VSLIimm32:
18033 case ARM::MVE_VSRIimm8:
18034 case ARM::MVE_VSRIimm16:
18035 case ARM::MVE_VSRIimm32: {
18036 switch (OpNum) {
18037 case 0:
18038 // op: Qd
18039 return 13;
18040 case 2:
18041 // op: Qm
18042 return 1;
18043 case 3:
18044 // op: imm
18045 return 16;
18046 }
18047 break;
18048 }
18049 case ARM::MVE_VCVTf16f32bh:
18050 case ARM::MVE_VCVTf16f32th:
18051 case ARM::MVE_VMAXAs8:
18052 case ARM::MVE_VMAXAs16:
18053 case ARM::MVE_VMAXAs32:
18054 case ARM::MVE_VMAXNMAf16:
18055 case ARM::MVE_VMAXNMAf32:
18056 case ARM::MVE_VMINAs8:
18057 case ARM::MVE_VMINAs16:
18058 case ARM::MVE_VMINAs32:
18059 case ARM::MVE_VMINNMAf16:
18060 case ARM::MVE_VMINNMAf32:
18061 case ARM::MVE_VMOVNi16bh:
18062 case ARM::MVE_VMOVNi16th:
18063 case ARM::MVE_VMOVNi32bh:
18064 case ARM::MVE_VMOVNi32th:
18065 case ARM::MVE_VQMOVNs16bh:
18066 case ARM::MVE_VQMOVNs16th:
18067 case ARM::MVE_VQMOVNs32bh:
18068 case ARM::MVE_VQMOVNs32th:
18069 case ARM::MVE_VQMOVNu16bh:
18070 case ARM::MVE_VQMOVNu16th:
18071 case ARM::MVE_VQMOVNu32bh:
18072 case ARM::MVE_VQMOVNu32th:
18073 case ARM::MVE_VQMOVUNs16bh:
18074 case ARM::MVE_VQMOVUNs16th:
18075 case ARM::MVE_VQMOVUNs32bh:
18076 case ARM::MVE_VQMOVUNs32th: {
18077 switch (OpNum) {
18078 case 0:
18079 // op: Qd
18080 return 13;
18081 case 2:
18082 // op: Qm
18083 return 1;
18084 }
18085 break;
18086 }
18087 case ARM::MVE_VFMA_qr_Sf16:
18088 case ARM::MVE_VFMA_qr_Sf32:
18089 case ARM::MVE_VFMA_qr_f16:
18090 case ARM::MVE_VFMA_qr_f32:
18091 case ARM::MVE_VMLAS_qr_i8:
18092 case ARM::MVE_VMLAS_qr_i16:
18093 case ARM::MVE_VMLAS_qr_i32:
18094 case ARM::MVE_VMLA_qr_i8:
18095 case ARM::MVE_VMLA_qr_i16:
18096 case ARM::MVE_VMLA_qr_i32:
18097 case ARM::MVE_VQDMLAH_qrs8:
18098 case ARM::MVE_VQDMLAH_qrs16:
18099 case ARM::MVE_VQDMLAH_qrs32:
18100 case ARM::MVE_VQDMLASH_qrs8:
18101 case ARM::MVE_VQDMLASH_qrs16:
18102 case ARM::MVE_VQDMLASH_qrs32:
18103 case ARM::MVE_VQRDMLAH_qrs8:
18104 case ARM::MVE_VQRDMLAH_qrs16:
18105 case ARM::MVE_VQRDMLAH_qrs32:
18106 case ARM::MVE_VQRDMLASH_qrs8:
18107 case ARM::MVE_VQRDMLASH_qrs16:
18108 case ARM::MVE_VQRDMLASH_qrs32: {
18109 switch (OpNum) {
18110 case 0:
18111 // op: Qd
18112 return 13;
18113 case 2:
18114 // op: Qn
18115 return 7;
18116 case 3:
18117 // op: Rm
18118 return 0;
18119 }
18120 break;
18121 }
18122 case ARM::MVE_VQRSHL_qrs8:
18123 case ARM::MVE_VQRSHL_qrs16:
18124 case ARM::MVE_VQRSHL_qrs32:
18125 case ARM::MVE_VQRSHL_qru8:
18126 case ARM::MVE_VQRSHL_qru16:
18127 case ARM::MVE_VQRSHL_qru32:
18128 case ARM::MVE_VQSHL_qrs8:
18129 case ARM::MVE_VQSHL_qrs16:
18130 case ARM::MVE_VQSHL_qrs32:
18131 case ARM::MVE_VQSHL_qru8:
18132 case ARM::MVE_VQSHL_qru16:
18133 case ARM::MVE_VQSHL_qru32:
18134 case ARM::MVE_VRSHL_qrs8:
18135 case ARM::MVE_VRSHL_qrs16:
18136 case ARM::MVE_VRSHL_qrs32:
18137 case ARM::MVE_VRSHL_qru8:
18138 case ARM::MVE_VRSHL_qru16:
18139 case ARM::MVE_VRSHL_qru32:
18140 case ARM::MVE_VSHL_qrs8:
18141 case ARM::MVE_VSHL_qrs16:
18142 case ARM::MVE_VSHL_qrs32:
18143 case ARM::MVE_VSHL_qru8:
18144 case ARM::MVE_VSHL_qru16:
18145 case ARM::MVE_VSHL_qru32: {
18146 switch (OpNum) {
18147 case 0:
18148 // op: Qd
18149 return 13;
18150 case 2:
18151 // op: Rm
18152 return 0;
18153 }
18154 break;
18155 }
18156 case ARM::MVE_VADC:
18157 case ARM::MVE_VADCI:
18158 case ARM::MVE_VQDMLADHXs8:
18159 case ARM::MVE_VQDMLADHXs16:
18160 case ARM::MVE_VQDMLADHXs32:
18161 case ARM::MVE_VQDMLADHs8:
18162 case ARM::MVE_VQDMLADHs16:
18163 case ARM::MVE_VQDMLADHs32:
18164 case ARM::MVE_VQDMLSDHXs8:
18165 case ARM::MVE_VQDMLSDHXs16:
18166 case ARM::MVE_VQDMLSDHXs32:
18167 case ARM::MVE_VQDMLSDHs8:
18168 case ARM::MVE_VQDMLSDHs16:
18169 case ARM::MVE_VQDMLSDHs32:
18170 case ARM::MVE_VQRDMLADHXs8:
18171 case ARM::MVE_VQRDMLADHXs16:
18172 case ARM::MVE_VQRDMLADHXs32:
18173 case ARM::MVE_VQRDMLADHs8:
18174 case ARM::MVE_VQRDMLADHs16:
18175 case ARM::MVE_VQRDMLADHs32:
18176 case ARM::MVE_VQRDMLSDHXs8:
18177 case ARM::MVE_VQRDMLSDHXs16:
18178 case ARM::MVE_VQRDMLSDHXs32:
18179 case ARM::MVE_VQRDMLSDHs8:
18180 case ARM::MVE_VQRDMLSDHs16:
18181 case ARM::MVE_VQRDMLSDHs32:
18182 case ARM::MVE_VSBC:
18183 case ARM::MVE_VSBCI: {
18184 switch (OpNum) {
18185 case 0:
18186 // op: Qd
18187 return 13;
18188 case 3:
18189 // op: Qm
18190 return 1;
18191 case 2:
18192 // op: Qn
18193 return 7;
18194 }
18195 break;
18196 }
18197 case ARM::MVE_VDWDUPu8:
18198 case ARM::MVE_VDWDUPu16:
18199 case ARM::MVE_VDWDUPu32:
18200 case ARM::MVE_VIWDUPu8:
18201 case ARM::MVE_VIWDUPu16:
18202 case ARM::MVE_VIWDUPu32: {
18203 switch (OpNum) {
18204 case 0:
18205 // op: Qd
18206 return 13;
18207 case 3:
18208 // op: Rm
18209 return 1;
18210 case 1:
18211 // op: Rn
18212 return 17;
18213 case 4:
18214 // op: imm
18215 return 0;
18216 }
18217 break;
18218 }
18219 case ARM::MVE_VDUP8:
18220 case ARM::MVE_VDUP16:
18221 case ARM::MVE_VDUP32: {
18222 switch (OpNum) {
18223 case 0:
18224 // op: Qd
18225 return 7;
18226 case 1:
18227 // op: Rt
18228 return 12;
18229 }
18230 break;
18231 }
18232 case ARM::MVE_VMOV_to_lane_32: {
18233 switch (OpNum) {
18234 case 0:
18235 // op: Qd
18236 return 7;
18237 case 2:
18238 // op: Rt
18239 return 12;
18240 case 3:
18241 // op: Idx
18242 return 16;
18243 }
18244 break;
18245 }
18246 case ARM::MVE_VMOV_to_lane_8: {
18247 switch (OpNum) {
18248 case 0:
18249 // op: Qd
18250 return 7;
18251 case 2:
18252 // op: Rt
18253 return 12;
18254 case 3:
18255 // op: Idx
18256 return 5;
18257 }
18258 break;
18259 }
18260 case ARM::MVE_VMOV_to_lane_16: {
18261 switch (OpNum) {
18262 case 0:
18263 // op: Qd
18264 return 7;
18265 case 2:
18266 // op: Rt
18267 return 12;
18268 case 3:
18269 // op: Idx
18270 return 6;
18271 }
18272 break;
18273 }
18274 case ARM::tMOVSr:
18275 case ARM::tMOVr: {
18276 switch (OpNum) {
18277 case 0:
18278 // op: Rd
18279 return 0;
18280 case 1:
18281 // op: Rm
18282 return 3;
18283 }
18284 break;
18285 }
18286 case ARM::t2STLEX: {
18287 switch (OpNum) {
18288 case 0:
18289 // op: Rd
18290 return 0;
18291 case 1:
18292 // op: Rt
18293 return 12;
18294 case 2:
18295 // op: addr
18296 return 16;
18297 }
18298 break;
18299 }
18300 case ARM::tADDi3:
18301 case ARM::tSUBi3: {
18302 switch (OpNum) {
18303 case 0:
18304 // op: Rd
18305 return 0;
18306 case 2:
18307 // op: Rm
18308 return 3;
18309 case 3:
18310 // op: imm3
18311 return 6;
18312 }
18313 break;
18314 }
18315 case ARM::tASRri:
18316 case ARM::tLSLri:
18317 case ARM::tLSRri: {
18318 switch (OpNum) {
18319 case 0:
18320 // op: Rd
18321 return 0;
18322 case 2:
18323 // op: Rm
18324 return 3;
18325 case 3:
18326 // op: imm5
18327 return 6;
18328 }
18329 break;
18330 }
18331 case ARM::tMUL:
18332 case ARM::tMVN:
18333 case ARM::tRSB: {
18334 switch (OpNum) {
18335 case 0:
18336 // op: Rd
18337 return 0;
18338 case 2:
18339 // op: Rn
18340 return 3;
18341 }
18342 break;
18343 }
18344 case ARM::t2STLEXB:
18345 case ARM::t2STLEXH:
18346 case ARM::t2STREXB:
18347 case ARM::t2STREXH: {
18348 switch (OpNum) {
18349 case 0:
18350 // op: Rd
18351 return 0;
18352 case 2:
18353 // op: addr
18354 return 16;
18355 case 1:
18356 // op: Rt
18357 return 12;
18358 }
18359 break;
18360 }
18361 case ARM::t2STLEXD:
18362 case ARM::t2STREXD: {
18363 switch (OpNum) {
18364 case 0:
18365 // op: Rd
18366 return 0;
18367 case 3:
18368 // op: addr
18369 return 16;
18370 case 1:
18371 // op: Rt
18372 return 12;
18373 case 2:
18374 // op: Rt2
18375 return 8;
18376 }
18377 break;
18378 }
18379 case ARM::CRC32B:
18380 case ARM::CRC32CB:
18381 case ARM::CRC32CH:
18382 case ARM::CRC32CW:
18383 case ARM::CRC32H:
18384 case ARM::CRC32W: {
18385 switch (OpNum) {
18386 case 0:
18387 // op: Rd
18388 return 12;
18389 case 1:
18390 // op: Rn
18391 return 16;
18392 case 2:
18393 // op: Rm
18394 return 0;
18395 }
18396 break;
18397 }
18398 case ARM::t2SXTB:
18399 case ARM::t2SXTB16:
18400 case ARM::t2SXTH:
18401 case ARM::t2UXTB:
18402 case ARM::t2UXTB16:
18403 case ARM::t2UXTH: {
18404 switch (OpNum) {
18405 case 0:
18406 // op: Rd
18407 return 8;
18408 case 1:
18409 // op: Rm
18410 return 0;
18411 case 2:
18412 // op: rot
18413 return 4;
18414 }
18415 break;
18416 }
18417 case ARM::t2ASRs1:
18418 case ARM::t2CLZ:
18419 case ARM::t2LSRs1:
18420 case ARM::t2RBIT:
18421 case ARM::t2REV:
18422 case ARM::t2REV16:
18423 case ARM::t2REVSH: {
18424 switch (OpNum) {
18425 case 0:
18426 // op: Rd
18427 return 8;
18428 case 1:
18429 // op: Rm
18430 return 0;
18431 }
18432 break;
18433 }
18434 case ARM::t2MLA:
18435 case ARM::t2MLS:
18436 case ARM::t2SMLABB:
18437 case ARM::t2SMLABT:
18438 case ARM::t2SMLAD:
18439 case ARM::t2SMLADX:
18440 case ARM::t2SMLATB:
18441 case ARM::t2SMLATT:
18442 case ARM::t2SMLAWB:
18443 case ARM::t2SMLAWT:
18444 case ARM::t2SMLSD:
18445 case ARM::t2SMLSDX:
18446 case ARM::t2SMMLA:
18447 case ARM::t2SMMLAR:
18448 case ARM::t2SMMLS:
18449 case ARM::t2SMMLSR:
18450 case ARM::t2USADA8: {
18451 switch (OpNum) {
18452 case 0:
18453 // op: Rd
18454 return 8;
18455 case 1:
18456 // op: Rn
18457 return 16;
18458 case 2:
18459 // op: Rm
18460 return 0;
18461 case 3:
18462 // op: Ra
18463 return 12;
18464 }
18465 break;
18466 }
18467 case ARM::t2SXTAB:
18468 case ARM::t2SXTAB16:
18469 case ARM::t2SXTAH:
18470 case ARM::t2UXTAB:
18471 case ARM::t2UXTAB16:
18472 case ARM::t2UXTAH: {
18473 switch (OpNum) {
18474 case 0:
18475 // op: Rd
18476 return 8;
18477 case 1:
18478 // op: Rn
18479 return 16;
18480 case 2:
18481 // op: Rm
18482 return 0;
18483 case 3:
18484 // op: rot
18485 return 4;
18486 }
18487 break;
18488 }
18489 case ARM::t2PKHBT:
18490 case ARM::t2PKHTB: {
18491 switch (OpNum) {
18492 case 0:
18493 // op: Rd
18494 return 8;
18495 case 1:
18496 // op: Rn
18497 return 16;
18498 case 2:
18499 // op: Rm
18500 return 0;
18501 case 3:
18502 // op: sh
18503 return 6;
18504 }
18505 break;
18506 }
18507 case ARM::t2CRC32B:
18508 case ARM::t2CRC32CB:
18509 case ARM::t2CRC32CH:
18510 case ARM::t2CRC32CW:
18511 case ARM::t2CRC32H:
18512 case ARM::t2CRC32W:
18513 case ARM::t2MUL:
18514 case ARM::t2QADD8:
18515 case ARM::t2QADD16:
18516 case ARM::t2QASX:
18517 case ARM::t2QSAX:
18518 case ARM::t2QSUB8:
18519 case ARM::t2QSUB16:
18520 case ARM::t2SADD8:
18521 case ARM::t2SADD16:
18522 case ARM::t2SASX:
18523 case ARM::t2SDIV:
18524 case ARM::t2SEL:
18525 case ARM::t2SHADD8:
18526 case ARM::t2SHADD16:
18527 case ARM::t2SHASX:
18528 case ARM::t2SHSAX:
18529 case ARM::t2SHSUB8:
18530 case ARM::t2SHSUB16:
18531 case ARM::t2SMMUL:
18532 case ARM::t2SMMULR:
18533 case ARM::t2SMUAD:
18534 case ARM::t2SMUADX:
18535 case ARM::t2SMULBB:
18536 case ARM::t2SMULBT:
18537 case ARM::t2SMULTB:
18538 case ARM::t2SMULTT:
18539 case ARM::t2SMULWB:
18540 case ARM::t2SMULWT:
18541 case ARM::t2SMUSD:
18542 case ARM::t2SMUSDX:
18543 case ARM::t2SSAX:
18544 case ARM::t2SSUB8:
18545 case ARM::t2SSUB16:
18546 case ARM::t2UADD8:
18547 case ARM::t2UADD16:
18548 case ARM::t2UASX:
18549 case ARM::t2UDIV:
18550 case ARM::t2UHADD8:
18551 case ARM::t2UHADD16:
18552 case ARM::t2UHASX:
18553 case ARM::t2UHSAX:
18554 case ARM::t2UHSUB8:
18555 case ARM::t2UHSUB16:
18556 case ARM::t2UQADD8:
18557 case ARM::t2UQADD16:
18558 case ARM::t2UQASX:
18559 case ARM::t2UQSAX:
18560 case ARM::t2UQSUB8:
18561 case ARM::t2UQSUB16:
18562 case ARM::t2USAD8:
18563 case ARM::t2USAX:
18564 case ARM::t2USUB8:
18565 case ARM::t2USUB16: {
18566 switch (OpNum) {
18567 case 0:
18568 // op: Rd
18569 return 8;
18570 case 1:
18571 // op: Rn
18572 return 16;
18573 case 2:
18574 // op: Rm
18575 return 0;
18576 }
18577 break;
18578 }
18579 case ARM::t2ADDri12:
18580 case ARM::t2SUBri12: {
18581 switch (OpNum) {
18582 case 0:
18583 // op: Rd
18584 return 8;
18585 case 1:
18586 // op: Rn
18587 return 16;
18588 case 2:
18589 // op: imm
18590 return 0;
18591 }
18592 break;
18593 }
18594 case ARM::t2STREX: {
18595 switch (OpNum) {
18596 case 0:
18597 // op: Rd
18598 return 8;
18599 case 1:
18600 // op: Rt
18601 return 12;
18602 case 2:
18603 // op: addr
18604 return 0;
18605 }
18606 break;
18607 }
18608 case ARM::t2MRS_M: {
18609 switch (OpNum) {
18610 case 0:
18611 // op: Rd
18612 return 8;
18613 case 1:
18614 // op: SYSm
18615 return 0;
18616 }
18617 break;
18618 }
18619 case ARM::t2ADR:
18620 case ARM::tADR: {
18621 switch (OpNum) {
18622 case 0:
18623 // op: Rd
18624 return 8;
18625 case 1:
18626 // op: addr
18627 return 0;
18628 }
18629 break;
18630 }
18631 case ARM::t2MOVi16: {
18632 switch (OpNum) {
18633 case 0:
18634 // op: Rd
18635 return 8;
18636 case 1:
18637 // op: imm
18638 return 0;
18639 }
18640 break;
18641 }
18642 case ARM::t2CSEL:
18643 case ARM::t2CSINC:
18644 case ARM::t2CSINV:
18645 case ARM::t2CSNEG: {
18646 switch (OpNum) {
18647 case 0:
18648 // op: Rd
18649 return 8;
18650 case 2:
18651 // op: Rm
18652 return 0;
18653 case 1:
18654 // op: Rn
18655 return 16;
18656 case 3:
18657 // op: fcond
18658 return 4;
18659 }
18660 break;
18661 }
18662 case ARM::t2QADD:
18663 case ARM::t2QDADD:
18664 case ARM::t2QDSUB:
18665 case ARM::t2QSUB: {
18666 switch (OpNum) {
18667 case 0:
18668 // op: Rd
18669 return 8;
18670 case 2:
18671 // op: Rn
18672 return 16;
18673 case 1:
18674 // op: Rm
18675 return 0;
18676 }
18677 break;
18678 }
18679 case ARM::t2SSAT:
18680 case ARM::t2USAT: {
18681 switch (OpNum) {
18682 case 0:
18683 // op: Rd
18684 return 8;
18685 case 2:
18686 // op: Rn
18687 return 16;
18688 case 1:
18689 // op: sat_imm
18690 return 0;
18691 case 3:
18692 // op: sh
18693 return 6;
18694 }
18695 break;
18696 }
18697 case ARM::t2SSAT16:
18698 case ARM::t2USAT16: {
18699 switch (OpNum) {
18700 case 0:
18701 // op: Rd
18702 return 8;
18703 case 2:
18704 // op: Rn
18705 return 16;
18706 case 1:
18707 // op: sat_imm
18708 return 0;
18709 }
18710 break;
18711 }
18712 case ARM::t2BFI: {
18713 switch (OpNum) {
18714 case 0:
18715 // op: Rd
18716 return 8;
18717 case 2:
18718 // op: Rn
18719 return 16;
18720 case 3:
18721 // op: imm
18722 return 0;
18723 }
18724 break;
18725 }
18726 case ARM::t2BFC:
18727 case ARM::t2MOVTi16: {
18728 switch (OpNum) {
18729 case 0:
18730 // op: Rd
18731 return 8;
18732 case 2:
18733 // op: imm
18734 return 0;
18735 }
18736 break;
18737 }
18738 case ARM::tMOVi8: {
18739 switch (OpNum) {
18740 case 0:
18741 // op: Rd
18742 return 8;
18743 case 2:
18744 // op: imm8
18745 return 0;
18746 }
18747 break;
18748 }
18749 case ARM::t2PACG: {
18750 switch (OpNum) {
18751 case 0:
18752 // op: Rd
18753 return 8;
18754 case 3:
18755 // op: Rn
18756 return 16;
18757 case 4:
18758 // op: Rm
18759 return 0;
18760 }
18761 break;
18762 }
18763 case ARM::t2SBFX:
18764 case ARM::t2UBFX: {
18765 switch (OpNum) {
18766 case 0:
18767 // op: Rd
18768 return 8;
18769 case 3:
18770 // op: msb
18771 return 0;
18772 case 2:
18773 // op: lsb
18774 return 6;
18775 case 1:
18776 // op: Rn
18777 return 16;
18778 }
18779 break;
18780 }
18781 case ARM::t2MRS_AR:
18782 case ARM::t2MRSsys_AR: {
18783 switch (OpNum) {
18784 case 0:
18785 // op: Rd
18786 return 8;
18787 }
18788 break;
18789 }
18790 case ARM::t2SMLAL:
18791 case ARM::t2SMLALBB:
18792 case ARM::t2SMLALBT:
18793 case ARM::t2SMLALTB:
18794 case ARM::t2SMLALTT:
18795 case ARM::t2SMULL:
18796 case ARM::t2UMAAL:
18797 case ARM::t2UMLAL:
18798 case ARM::t2UMULL: {
18799 switch (OpNum) {
18800 case 0:
18801 // op: RdLo
18802 return 12;
18803 case 1:
18804 // op: RdHi
18805 return 8;
18806 case 2:
18807 // op: Rn
18808 return 16;
18809 case 3:
18810 // op: Rm
18811 return 0;
18812 }
18813 break;
18814 }
18815 case ARM::MVE_VMLADAVs8:
18816 case ARM::MVE_VMLADAVs16:
18817 case ARM::MVE_VMLADAVs32:
18818 case ARM::MVE_VMLADAVu8:
18819 case ARM::MVE_VMLADAVu16:
18820 case ARM::MVE_VMLADAVu32:
18821 case ARM::MVE_VMLADAVxs8:
18822 case ARM::MVE_VMLADAVxs16:
18823 case ARM::MVE_VMLADAVxs32:
18824 case ARM::MVE_VMLSDAVs8:
18825 case ARM::MVE_VMLSDAVs16:
18826 case ARM::MVE_VMLSDAVs32:
18827 case ARM::MVE_VMLSDAVxs8:
18828 case ARM::MVE_VMLSDAVxs16:
18829 case ARM::MVE_VMLSDAVxs32: {
18830 switch (OpNum) {
18831 case 0:
18832 // op: RdaDest
18833 return 13;
18834 case 2:
18835 // op: Qm
18836 return 1;
18837 case 1:
18838 // op: Qn
18839 return 17;
18840 }
18841 break;
18842 }
18843 case ARM::MVE_VMLADAVas8:
18844 case ARM::MVE_VMLADAVas16:
18845 case ARM::MVE_VMLADAVas32:
18846 case ARM::MVE_VMLADAVau8:
18847 case ARM::MVE_VMLADAVau16:
18848 case ARM::MVE_VMLADAVau32:
18849 case ARM::MVE_VMLADAVaxs8:
18850 case ARM::MVE_VMLADAVaxs16:
18851 case ARM::MVE_VMLADAVaxs32:
18852 case ARM::MVE_VMLSDAVas8:
18853 case ARM::MVE_VMLSDAVas16:
18854 case ARM::MVE_VMLSDAVas32:
18855 case ARM::MVE_VMLSDAVaxs8:
18856 case ARM::MVE_VMLSDAVaxs16:
18857 case ARM::MVE_VMLSDAVaxs32: {
18858 switch (OpNum) {
18859 case 0:
18860 // op: RdaDest
18861 return 13;
18862 case 3:
18863 // op: Qm
18864 return 1;
18865 case 2:
18866 // op: Qn
18867 return 17;
18868 }
18869 break;
18870 }
18871 case ARM::MVE_SQRSHR:
18872 case ARM::MVE_UQRSHL: {
18873 switch (OpNum) {
18874 case 0:
18875 // op: RdaDest
18876 return 16;
18877 case 2:
18878 // op: Rm
18879 return 12;
18880 }
18881 break;
18882 }
18883 case ARM::MVE_SQSHL:
18884 case ARM::MVE_SRSHR:
18885 case ARM::MVE_UQSHL:
18886 case ARM::MVE_URSHR: {
18887 switch (OpNum) {
18888 case 0:
18889 // op: RdaDest
18890 return 16;
18891 case 2:
18892 // op: imm
18893 return 6;
18894 }
18895 break;
18896 }
18897 case ARM::MVE_SQRSHRL:
18898 case ARM::MVE_UQRSHLL: {
18899 switch (OpNum) {
18900 case 0:
18901 // op: RdaLo
18902 return 17;
18903 case 1:
18904 // op: RdaHi
18905 return 9;
18906 case 4:
18907 // op: Rm
18908 return 12;
18909 case 5:
18910 // op: sat
18911 return 7;
18912 }
18913 break;
18914 }
18915 case ARM::MVE_ASRLr:
18916 case ARM::MVE_LSLLr: {
18917 switch (OpNum) {
18918 case 0:
18919 // op: RdaLo
18920 return 17;
18921 case 1:
18922 // op: RdaHi
18923 return 9;
18924 case 4:
18925 // op: Rm
18926 return 12;
18927 }
18928 break;
18929 }
18930 case ARM::MVE_ASRLi:
18931 case ARM::MVE_LSLLi:
18932 case ARM::MVE_LSRL:
18933 case ARM::MVE_SQSHLL:
18934 case ARM::MVE_SRSHRL:
18935 case ARM::MVE_UQSHLL:
18936 case ARM::MVE_URSHRL: {
18937 switch (OpNum) {
18938 case 0:
18939 // op: RdaLo
18940 return 17;
18941 case 1:
18942 // op: RdaHi
18943 return 9;
18944 case 4:
18945 // op: imm
18946 return 6;
18947 }
18948 break;
18949 }
18950 case ARM::MVE_VMLALDAVs16:
18951 case ARM::MVE_VMLALDAVs32:
18952 case ARM::MVE_VMLALDAVu16:
18953 case ARM::MVE_VMLALDAVu32:
18954 case ARM::MVE_VMLALDAVxs16:
18955 case ARM::MVE_VMLALDAVxs32:
18956 case ARM::MVE_VMLSLDAVs16:
18957 case ARM::MVE_VMLSLDAVs32:
18958 case ARM::MVE_VMLSLDAVxs16:
18959 case ARM::MVE_VMLSLDAVxs32:
18960 case ARM::MVE_VRMLALDAVHs32:
18961 case ARM::MVE_VRMLALDAVHu32:
18962 case ARM::MVE_VRMLALDAVHxs32:
18963 case ARM::MVE_VRMLSLDAVHs32:
18964 case ARM::MVE_VRMLSLDAVHxs32: {
18965 switch (OpNum) {
18966 case 0:
18967 // op: RdaLoDest
18968 return 13;
18969 case 1:
18970 // op: RdaHiDest
18971 return 20;
18972 case 3:
18973 // op: Qm
18974 return 1;
18975 case 2:
18976 // op: Qn
18977 return 17;
18978 }
18979 break;
18980 }
18981 case ARM::MVE_VMLALDAVas16:
18982 case ARM::MVE_VMLALDAVas32:
18983 case ARM::MVE_VMLALDAVau16:
18984 case ARM::MVE_VMLALDAVau32:
18985 case ARM::MVE_VMLALDAVaxs16:
18986 case ARM::MVE_VMLALDAVaxs32:
18987 case ARM::MVE_VMLSLDAVas16:
18988 case ARM::MVE_VMLSLDAVas32:
18989 case ARM::MVE_VMLSLDAVaxs16:
18990 case ARM::MVE_VMLSLDAVaxs32:
18991 case ARM::MVE_VRMLALDAVHas32:
18992 case ARM::MVE_VRMLALDAVHau32:
18993 case ARM::MVE_VRMLALDAVHaxs32:
18994 case ARM::MVE_VRMLSLDAVHas32:
18995 case ARM::MVE_VRMLSLDAVHaxs32: {
18996 switch (OpNum) {
18997 case 0:
18998 // op: RdaLoDest
18999 return 13;
19000 case 1:
19001 // op: RdaHiDest
19002 return 20;
19003 case 5:
19004 // op: Qm
19005 return 1;
19006 case 4:
19007 // op: Qn
19008 return 17;
19009 }
19010 break;
19011 }
19012 case ARM::tADDhirr: {
19013 switch (OpNum) {
19014 case 0:
19015 // op: Rdn
19016 return 0;
19017 case 2:
19018 // op: Rm
19019 return 3;
19020 }
19021 break;
19022 }
19023 case ARM::tADC:
19024 case ARM::tAND:
19025 case ARM::tASRrr:
19026 case ARM::tBIC:
19027 case ARM::tEOR:
19028 case ARM::tLSLrr:
19029 case ARM::tLSRrr:
19030 case ARM::tORR:
19031 case ARM::tROR:
19032 case ARM::tSBC: {
19033 switch (OpNum) {
19034 case 0:
19035 // op: Rdn
19036 return 0;
19037 case 3:
19038 // op: Rm
19039 return 3;
19040 }
19041 break;
19042 }
19043 case ARM::tADDrSP: {
19044 switch (OpNum) {
19045 case 0:
19046 // op: Rdn
19047 return 0;
19048 }
19049 break;
19050 }
19051 case ARM::tADDi8:
19052 case ARM::tSUBi8: {
19053 switch (OpNum) {
19054 case 0:
19055 // op: Rdn
19056 return 8;
19057 case 3:
19058 // op: imm8
19059 return 0;
19060 }
19061 break;
19062 }
19063 case ARM::tBX:
19064 case ARM::tBXNS: {
19065 switch (OpNum) {
19066 case 0:
19067 // op: Rm
19068 return 3;
19069 }
19070 break;
19071 }
19072 case ARM::t2CMNzrr:
19073 case ARM::t2CMPrr:
19074 case ARM::t2TBB:
19075 case ARM::t2TBH:
19076 case ARM::t2TEQrr:
19077 case ARM::t2TSTrr: {
19078 switch (OpNum) {
19079 case 0:
19080 // op: Rn
19081 return 16;
19082 case 1:
19083 // op: Rm
19084 return 0;
19085 }
19086 break;
19087 }
19088 case ARM::t2CMNzrs:
19089 case ARM::t2CMPrs:
19090 case ARM::t2TEQrs:
19091 case ARM::t2TSTrs: {
19092 switch (OpNum) {
19093 case 0:
19094 // op: Rn
19095 return 16;
19096 case 1:
19097 // op: ShiftedRm
19098 return 0;
19099 }
19100 break;
19101 }
19102 case ARM::t2CMNri:
19103 case ARM::t2CMPri:
19104 case ARM::t2TEQri:
19105 case ARM::t2TSTri: {
19106 switch (OpNum) {
19107 case 0:
19108 // op: Rn
19109 return 16;
19110 case 1:
19111 // op: imm
19112 return 0;
19113 }
19114 break;
19115 }
19116 case ARM::t2LDMDB:
19117 case ARM::t2LDMIA:
19118 case ARM::t2STMDB:
19119 case ARM::t2STMIA: {
19120 switch (OpNum) {
19121 case 0:
19122 // op: Rn
19123 return 16;
19124 case 3:
19125 // op: regs
19126 return 0;
19127 }
19128 break;
19129 }
19130 case ARM::RFEDA:
19131 case ARM::RFEDA_UPD:
19132 case ARM::RFEDB:
19133 case ARM::RFEDB_UPD:
19134 case ARM::RFEIA:
19135 case ARM::RFEIA_UPD:
19136 case ARM::RFEIB:
19137 case ARM::RFEIB_UPD:
19138 case ARM::VLLDM:
19139 case ARM::VLLDM_T2:
19140 case ARM::VLSTM:
19141 case ARM::VLSTM_T2:
19142 case ARM::t2RFEDB:
19143 case ARM::t2RFEDBW:
19144 case ARM::t2RFEIA:
19145 case ARM::t2RFEIAW: {
19146 switch (OpNum) {
19147 case 0:
19148 // op: Rn
19149 return 16;
19150 }
19151 break;
19152 }
19153 case ARM::tCMPi8: {
19154 switch (OpNum) {
19155 case 0:
19156 // op: Rn
19157 return 8;
19158 case 1:
19159 // op: imm8
19160 return 0;
19161 }
19162 break;
19163 }
19164 case ARM::tLDMIA: {
19165 switch (OpNum) {
19166 case 0:
19167 // op: Rn
19168 return 8;
19169 case 3:
19170 // op: regs
19171 return 0;
19172 }
19173 break;
19174 }
19175 case ARM::MVE_VMOV_rr_q: {
19176 switch (OpNum) {
19177 case 0:
19178 // op: Rt
19179 return 0;
19180 case 1:
19181 // op: Rt2
19182 return 16;
19183 case 2:
19184 // op: Qd
19185 return 13;
19186 case 4:
19187 // op: idx2
19188 return 4;
19189 }
19190 break;
19191 }
19192 case ARM::tLDRBi:
19193 case ARM::tLDRBr:
19194 case ARM::tLDRHi:
19195 case ARM::tLDRHr:
19196 case ARM::tLDRSB:
19197 case ARM::tLDRSH:
19198 case ARM::tLDRi:
19199 case ARM::tLDRr:
19200 case ARM::tSTRBi:
19201 case ARM::tSTRBr:
19202 case ARM::tSTRHi:
19203 case ARM::tSTRHr:
19204 case ARM::tSTRi:
19205 case ARM::tSTRr: {
19206 switch (OpNum) {
19207 case 0:
19208 // op: Rt
19209 return 0;
19210 case 1:
19211 // op: addr
19212 return 3;
19213 }
19214 break;
19215 }
19216 case ARM::MRRC2:
19217 case ARM::t2MRRC:
19218 case ARM::t2MRRC2: {
19219 switch (OpNum) {
19220 case 0:
19221 // op: Rt
19222 return 12;
19223 case 1:
19224 // op: Rt2
19225 return 16;
19226 case 2:
19227 // op: cop
19228 return 8;
19229 case 3:
19230 // op: opc1
19231 return 4;
19232 case 4:
19233 // op: CRm
19234 return 0;
19235 }
19236 break;
19237 }
19238 case ARM::t2LDRDi8:
19239 case ARM::t2STRDi8: {
19240 switch (OpNum) {
19241 case 0:
19242 // op: Rt
19243 return 12;
19244 case 1:
19245 // op: Rt2
19246 return 8;
19247 case 2:
19248 // op: addr
19249 return 0;
19250 }
19251 break;
19252 }
19253 case ARM::t2LDRD_PRE: {
19254 switch (OpNum) {
19255 case 0:
19256 // op: Rt
19257 return 12;
19258 case 1:
19259 // op: Rt2
19260 return 8;
19261 case 3:
19262 // op: addr
19263 return 0;
19264 }
19265 break;
19266 }
19267 case ARM::t2LDRD_POST: {
19268 switch (OpNum) {
19269 case 0:
19270 // op: Rt
19271 return 12;
19272 case 1:
19273 // op: Rt2
19274 return 8;
19275 case 3:
19276 // op: addr
19277 return 16;
19278 case 4:
19279 // op: imm
19280 return 0;
19281 }
19282 break;
19283 }
19284 case ARM::t2LDRBT:
19285 case ARM::t2LDRBi8:
19286 case ARM::t2LDRBi12:
19287 case ARM::t2LDRBpci:
19288 case ARM::t2LDRBs:
19289 case ARM::t2LDREX:
19290 case ARM::t2LDRHT:
19291 case ARM::t2LDRHi8:
19292 case ARM::t2LDRHi12:
19293 case ARM::t2LDRHpci:
19294 case ARM::t2LDRHs:
19295 case ARM::t2LDRSBT:
19296 case ARM::t2LDRSBi8:
19297 case ARM::t2LDRSBi12:
19298 case ARM::t2LDRSBpci:
19299 case ARM::t2LDRSBs:
19300 case ARM::t2LDRSHT:
19301 case ARM::t2LDRSHi8:
19302 case ARM::t2LDRSHi12:
19303 case ARM::t2LDRSHpci:
19304 case ARM::t2LDRSHs:
19305 case ARM::t2LDRT:
19306 case ARM::t2LDRi8:
19307 case ARM::t2LDRi12:
19308 case ARM::t2LDRpci:
19309 case ARM::t2LDRs:
19310 case ARM::t2STRBT:
19311 case ARM::t2STRBi8:
19312 case ARM::t2STRBi12:
19313 case ARM::t2STRBs:
19314 case ARM::t2STRHT:
19315 case ARM::t2STRHi8:
19316 case ARM::t2STRHi12:
19317 case ARM::t2STRHs:
19318 case ARM::t2STRT:
19319 case ARM::t2STRi8:
19320 case ARM::t2STRi12:
19321 case ARM::t2STRs: {
19322 switch (OpNum) {
19323 case 0:
19324 // op: Rt
19325 return 12;
19326 case 1:
19327 // op: addr
19328 return 0;
19329 }
19330 break;
19331 }
19332 case ARM::t2LDA:
19333 case ARM::t2LDAB:
19334 case ARM::t2LDAEX:
19335 case ARM::t2LDAH:
19336 case ARM::t2STL:
19337 case ARM::t2STLB:
19338 case ARM::t2STLH: {
19339 switch (OpNum) {
19340 case 0:
19341 // op: Rt
19342 return 12;
19343 case 1:
19344 // op: addr
19345 return 16;
19346 }
19347 break;
19348 }
19349 case ARM::MRC2:
19350 case ARM::t2MRC:
19351 case ARM::t2MRC2: {
19352 switch (OpNum) {
19353 case 0:
19354 // op: Rt
19355 return 12;
19356 case 1:
19357 // op: cop
19358 return 8;
19359 case 2:
19360 // op: opc1
19361 return 21;
19362 case 5:
19363 // op: opc2
19364 return 5;
19365 case 4:
19366 // op: CRm
19367 return 0;
19368 case 3:
19369 // op: CRn
19370 return 16;
19371 }
19372 break;
19373 }
19374 case ARM::t2LDRB_POST:
19375 case ARM::t2LDRH_POST:
19376 case ARM::t2LDRSB_POST:
19377 case ARM::t2LDRSH_POST:
19378 case ARM::t2LDR_POST: {
19379 switch (OpNum) {
19380 case 0:
19381 // op: Rt
19382 return 12;
19383 case 2:
19384 // op: Rn
19385 return 16;
19386 case 3:
19387 // op: offset
19388 return 0;
19389 }
19390 break;
19391 }
19392 case ARM::t2LDRB_PRE:
19393 case ARM::t2LDRH_PRE:
19394 case ARM::t2LDRSB_PRE:
19395 case ARM::t2LDRSH_PRE:
19396 case ARM::t2LDR_PRE: {
19397 switch (OpNum) {
19398 case 0:
19399 // op: Rt
19400 return 12;
19401 case 2:
19402 // op: addr
19403 return 0;
19404 }
19405 break;
19406 }
19407 case ARM::tLDRpci:
19408 case ARM::tLDRspi:
19409 case ARM::tSTRspi: {
19410 switch (OpNum) {
19411 case 0:
19412 // op: Rt
19413 return 8;
19414 case 1:
19415 // op: addr
19416 return 0;
19417 }
19418 break;
19419 }
19420 case ARM::t2MSR_M: {
19421 switch (OpNum) {
19422 case 0:
19423 // op: SYSm
19424 return 0;
19425 case 1:
19426 // op: Rn
19427 return 16;
19428 }
19429 break;
19430 }
19431 case ARM::VCVTASD:
19432 case ARM::VCVTAUD:
19433 case ARM::VCVTMSD:
19434 case ARM::VCVTMUD:
19435 case ARM::VCVTNSD:
19436 case ARM::VCVTNUD:
19437 case ARM::VCVTPSD:
19438 case ARM::VCVTPUD: {
19439 switch (OpNum) {
19440 case 0:
19441 // op: Sd
19442 return 12;
19443 case 1:
19444 // op: Dm
19445 return 0;
19446 }
19447 break;
19448 }
19449 case ARM::VCVTASH:
19450 case ARM::VCVTASS:
19451 case ARM::VCVTAUH:
19452 case ARM::VCVTAUS:
19453 case ARM::VCVTMSH:
19454 case ARM::VCVTMSS:
19455 case ARM::VCVTMUH:
19456 case ARM::VCVTMUS:
19457 case ARM::VCVTNSH:
19458 case ARM::VCVTNSS:
19459 case ARM::VCVTNUH:
19460 case ARM::VCVTNUS:
19461 case ARM::VCVTPSH:
19462 case ARM::VCVTPSS:
19463 case ARM::VCVTPUH:
19464 case ARM::VCVTPUS:
19465 case ARM::VMOVH:
19466 case ARM::VRINTAH:
19467 case ARM::VRINTAS:
19468 case ARM::VRINTMH:
19469 case ARM::VRINTMS:
19470 case ARM::VRINTNH:
19471 case ARM::VRINTNS:
19472 case ARM::VRINTPH:
19473 case ARM::VRINTPS: {
19474 switch (OpNum) {
19475 case 0:
19476 // op: Sd
19477 return 12;
19478 case 1:
19479 // op: Sm
19480 return 0;
19481 }
19482 break;
19483 }
19484 case ARM::VFP_VMAXNMH:
19485 case ARM::VFP_VMAXNMS:
19486 case ARM::VFP_VMINNMH:
19487 case ARM::VFP_VMINNMS:
19488 case ARM::VSELEQH:
19489 case ARM::VSELEQS:
19490 case ARM::VSELGEH:
19491 case ARM::VSELGES:
19492 case ARM::VSELGTH:
19493 case ARM::VSELGTS:
19494 case ARM::VSELVSH:
19495 case ARM::VSELVSS: {
19496 switch (OpNum) {
19497 case 0:
19498 // op: Sd
19499 return 12;
19500 case 1:
19501 // op: Sn
19502 return 7;
19503 case 2:
19504 // op: Sm
19505 return 0;
19506 }
19507 break;
19508 }
19509 case ARM::VINSH: {
19510 switch (OpNum) {
19511 case 0:
19512 // op: Sd
19513 return 12;
19514 case 2:
19515 // op: Sm
19516 return 0;
19517 }
19518 break;
19519 }
19520 case ARM::VDUP8d:
19521 case ARM::VDUP8q:
19522 case ARM::VDUP16d:
19523 case ARM::VDUP16q:
19524 case ARM::VDUP32d:
19525 case ARM::VDUP32q: {
19526 switch (OpNum) {
19527 case 0:
19528 // op: V
19529 return 7;
19530 case 1:
19531 // op: R
19532 return 12;
19533 case 2:
19534 // op: p
19535 return 28;
19536 }
19537 break;
19538 }
19539 case ARM::VSETLNi32: {
19540 switch (OpNum) {
19541 case 0:
19542 // op: V
19543 return 7;
19544 case 2:
19545 // op: R
19546 return 12;
19547 case 4:
19548 // op: p
19549 return 28;
19550 case 3:
19551 // op: lane
19552 return 21;
19553 }
19554 break;
19555 }
19556 case ARM::VSETLNi8: {
19557 switch (OpNum) {
19558 case 0:
19559 // op: V
19560 return 7;
19561 case 2:
19562 // op: R
19563 return 12;
19564 case 4:
19565 // op: p
19566 return 28;
19567 case 3:
19568 // op: lane
19569 return 5;
19570 }
19571 break;
19572 }
19573 case ARM::VSETLNi16: {
19574 switch (OpNum) {
19575 case 0:
19576 // op: V
19577 return 7;
19578 case 2:
19579 // op: R
19580 return 12;
19581 case 4:
19582 // op: p
19583 return 28;
19584 case 3:
19585 // op: lane
19586 return 6;
19587 }
19588 break;
19589 }
19590 case ARM::MVE_VST20_8:
19591 case ARM::MVE_VST20_16:
19592 case ARM::MVE_VST20_32:
19593 case ARM::MVE_VST21_8:
19594 case ARM::MVE_VST21_16:
19595 case ARM::MVE_VST21_32:
19596 case ARM::MVE_VST40_8:
19597 case ARM::MVE_VST40_16:
19598 case ARM::MVE_VST40_32:
19599 case ARM::MVE_VST41_8:
19600 case ARM::MVE_VST41_16:
19601 case ARM::MVE_VST41_32:
19602 case ARM::MVE_VST42_8:
19603 case ARM::MVE_VST42_16:
19604 case ARM::MVE_VST42_32:
19605 case ARM::MVE_VST43_8:
19606 case ARM::MVE_VST43_16:
19607 case ARM::MVE_VST43_32: {
19608 switch (OpNum) {
19609 case 0:
19610 // op: VQd
19611 return 13;
19612 case 1:
19613 // op: Rn
19614 return 16;
19615 }
19616 break;
19617 }
19618 case ARM::MVE_VLD20_8:
19619 case ARM::MVE_VLD20_16:
19620 case ARM::MVE_VLD20_32:
19621 case ARM::MVE_VLD21_8:
19622 case ARM::MVE_VLD21_16:
19623 case ARM::MVE_VLD21_32:
19624 case ARM::MVE_VLD40_8:
19625 case ARM::MVE_VLD40_16:
19626 case ARM::MVE_VLD40_32:
19627 case ARM::MVE_VLD41_8:
19628 case ARM::MVE_VLD41_16:
19629 case ARM::MVE_VLD41_32:
19630 case ARM::MVE_VLD42_8:
19631 case ARM::MVE_VLD42_16:
19632 case ARM::MVE_VLD42_32:
19633 case ARM::MVE_VLD43_8:
19634 case ARM::MVE_VLD43_16:
19635 case ARM::MVE_VLD43_32: {
19636 switch (OpNum) {
19637 case 0:
19638 // op: VQd
19639 return 13;
19640 case 2:
19641 // op: Rn
19642 return 16;
19643 }
19644 break;
19645 }
19646 case ARM::MVE_VLD20_8_wb:
19647 case ARM::MVE_VLD20_16_wb:
19648 case ARM::MVE_VLD20_32_wb:
19649 case ARM::MVE_VLD21_8_wb:
19650 case ARM::MVE_VLD21_16_wb:
19651 case ARM::MVE_VLD21_32_wb:
19652 case ARM::MVE_VLD40_8_wb:
19653 case ARM::MVE_VLD40_16_wb:
19654 case ARM::MVE_VLD40_32_wb:
19655 case ARM::MVE_VLD41_8_wb:
19656 case ARM::MVE_VLD41_16_wb:
19657 case ARM::MVE_VLD41_32_wb:
19658 case ARM::MVE_VLD42_8_wb:
19659 case ARM::MVE_VLD42_16_wb:
19660 case ARM::MVE_VLD42_32_wb:
19661 case ARM::MVE_VLD43_8_wb:
19662 case ARM::MVE_VLD43_16_wb:
19663 case ARM::MVE_VLD43_32_wb: {
19664 switch (OpNum) {
19665 case 0:
19666 // op: VQd
19667 return 13;
19668 case 3:
19669 // op: Rn
19670 return 16;
19671 }
19672 break;
19673 }
19674 case ARM::VLD1LNd8: {
19675 switch (OpNum) {
19676 case 0:
19677 // op: Vd
19678 return 12;
19679 case 1:
19680 // op: Rn
19681 return 16;
19682 case 4:
19683 // op: lane
19684 return 5;
19685 }
19686 break;
19687 }
19688 case ARM::VLD1LNd16: {
19689 switch (OpNum) {
19690 case 0:
19691 // op: Vd
19692 return 12;
19693 case 1:
19694 // op: Rn
19695 return 4;
19696 case 4:
19697 // op: lane
19698 return 6;
19699 }
19700 break;
19701 }
19702 case ARM::VLD1LNd32: {
19703 switch (OpNum) {
19704 case 0:
19705 // op: Vd
19706 return 12;
19707 case 1:
19708 // op: Rn
19709 return 4;
19710 case 4:
19711 // op: lane
19712 return 7;
19713 }
19714 break;
19715 }
19716 case ARM::VLD1DUPd8:
19717 case ARM::VLD1DUPd16:
19718 case ARM::VLD1DUPd32:
19719 case ARM::VLD1DUPq8:
19720 case ARM::VLD1DUPq16:
19721 case ARM::VLD1DUPq32:
19722 case ARM::VLD1d8:
19723 case ARM::VLD1d8Q:
19724 case ARM::VLD1d8T:
19725 case ARM::VLD1d16:
19726 case ARM::VLD1d16Q:
19727 case ARM::VLD1d16T:
19728 case ARM::VLD1d32:
19729 case ARM::VLD1d32Q:
19730 case ARM::VLD1d32T:
19731 case ARM::VLD1d64:
19732 case ARM::VLD1d64Q:
19733 case ARM::VLD1d64T:
19734 case ARM::VLD1q8:
19735 case ARM::VLD1q16:
19736 case ARM::VLD1q32:
19737 case ARM::VLD1q64:
19738 case ARM::VLD2DUPd8:
19739 case ARM::VLD2DUPd8x2:
19740 case ARM::VLD2DUPd16:
19741 case ARM::VLD2DUPd16x2:
19742 case ARM::VLD2DUPd32:
19743 case ARM::VLD2DUPd32x2:
19744 case ARM::VLD2b8:
19745 case ARM::VLD2b16:
19746 case ARM::VLD2b32:
19747 case ARM::VLD2d8:
19748 case ARM::VLD2d16:
19749 case ARM::VLD2d32:
19750 case ARM::VLD2q8:
19751 case ARM::VLD2q16:
19752 case ARM::VLD2q32: {
19753 switch (OpNum) {
19754 case 0:
19755 // op: Vd
19756 return 12;
19757 case 1:
19758 // op: Rn
19759 return 4;
19760 }
19761 break;
19762 }
19763 case ARM::VBICiv2i32:
19764 case ARM::VBICiv4i16:
19765 case ARM::VBICiv4i32:
19766 case ARM::VBICiv8i16:
19767 case ARM::VMOVv1i64:
19768 case ARM::VMOVv2f32:
19769 case ARM::VMOVv2i32:
19770 case ARM::VMOVv2i64:
19771 case ARM::VMOVv4f32:
19772 case ARM::VMOVv4i16:
19773 case ARM::VMOVv4i32:
19774 case ARM::VMOVv8i8:
19775 case ARM::VMOVv8i16:
19776 case ARM::VMOVv16i8:
19777 case ARM::VMVNv2i32:
19778 case ARM::VMVNv4i16:
19779 case ARM::VMVNv4i32:
19780 case ARM::VMVNv8i16:
19781 case ARM::VORRiv2i32:
19782 case ARM::VORRiv4i16:
19783 case ARM::VORRiv4i32:
19784 case ARM::VORRiv8i16: {
19785 switch (OpNum) {
19786 case 0:
19787 // op: Vd
19788 return 12;
19789 case 1:
19790 // op: SIMM
19791 return 0;
19792 }
19793 break;
19794 }
19795 case ARM::VCVTf2xsd:
19796 case ARM::VCVTf2xsq:
19797 case ARM::VCVTf2xud:
19798 case ARM::VCVTf2xuq:
19799 case ARM::VCVTh2xsd:
19800 case ARM::VCVTh2xsq:
19801 case ARM::VCVTh2xud:
19802 case ARM::VCVTh2xuq:
19803 case ARM::VCVTxs2fd:
19804 case ARM::VCVTxs2fq:
19805 case ARM::VCVTxs2hd:
19806 case ARM::VCVTxs2hq:
19807 case ARM::VCVTxu2fd:
19808 case ARM::VCVTxu2fq:
19809 case ARM::VCVTxu2hd:
19810 case ARM::VCVTxu2hq:
19811 case ARM::VQRSHRNsv2i32:
19812 case ARM::VQRSHRNsv4i16:
19813 case ARM::VQRSHRNsv8i8:
19814 case ARM::VQRSHRNuv2i32:
19815 case ARM::VQRSHRNuv4i16:
19816 case ARM::VQRSHRNuv8i8:
19817 case ARM::VQRSHRUNv2i32:
19818 case ARM::VQRSHRUNv4i16:
19819 case ARM::VQRSHRUNv8i8:
19820 case ARM::VQSHLsiv1i64:
19821 case ARM::VQSHLsiv2i32:
19822 case ARM::VQSHLsiv2i64:
19823 case ARM::VQSHLsiv4i16:
19824 case ARM::VQSHLsiv4i32:
19825 case ARM::VQSHLsiv8i8:
19826 case ARM::VQSHLsiv8i16:
19827 case ARM::VQSHLsiv16i8:
19828 case ARM::VQSHLsuv1i64:
19829 case ARM::VQSHLsuv2i32:
19830 case ARM::VQSHLsuv2i64:
19831 case ARM::VQSHLsuv4i16:
19832 case ARM::VQSHLsuv4i32:
19833 case ARM::VQSHLsuv8i8:
19834 case ARM::VQSHLsuv8i16:
19835 case ARM::VQSHLsuv16i8:
19836 case ARM::VQSHLuiv1i64:
19837 case ARM::VQSHLuiv2i32:
19838 case ARM::VQSHLuiv2i64:
19839 case ARM::VQSHLuiv4i16:
19840 case ARM::VQSHLuiv4i32:
19841 case ARM::VQSHLuiv8i8:
19842 case ARM::VQSHLuiv8i16:
19843 case ARM::VQSHLuiv16i8:
19844 case ARM::VQSHRNsv2i32:
19845 case ARM::VQSHRNsv4i16:
19846 case ARM::VQSHRNsv8i8:
19847 case ARM::VQSHRNuv2i32:
19848 case ARM::VQSHRNuv4i16:
19849 case ARM::VQSHRNuv8i8:
19850 case ARM::VQSHRUNv2i32:
19851 case ARM::VQSHRUNv4i16:
19852 case ARM::VQSHRUNv8i8:
19853 case ARM::VRSHRNv2i32:
19854 case ARM::VRSHRNv4i16:
19855 case ARM::VRSHRNv8i8:
19856 case ARM::VRSHRsv1i64:
19857 case ARM::VRSHRsv2i32:
19858 case ARM::VRSHRsv2i64:
19859 case ARM::VRSHRsv4i16:
19860 case ARM::VRSHRsv4i32:
19861 case ARM::VRSHRsv8i8:
19862 case ARM::VRSHRsv8i16:
19863 case ARM::VRSHRsv16i8:
19864 case ARM::VRSHRuv1i64:
19865 case ARM::VRSHRuv2i32:
19866 case ARM::VRSHRuv2i64:
19867 case ARM::VRSHRuv4i16:
19868 case ARM::VRSHRuv4i32:
19869 case ARM::VRSHRuv8i8:
19870 case ARM::VRSHRuv8i16:
19871 case ARM::VRSHRuv16i8:
19872 case ARM::VSHLLsv2i64:
19873 case ARM::VSHLLsv4i32:
19874 case ARM::VSHLLsv8i16:
19875 case ARM::VSHLLuv2i64:
19876 case ARM::VSHLLuv4i32:
19877 case ARM::VSHLLuv8i16:
19878 case ARM::VSHLiv1i64:
19879 case ARM::VSHLiv2i32:
19880 case ARM::VSHLiv2i64:
19881 case ARM::VSHLiv4i16:
19882 case ARM::VSHLiv4i32:
19883 case ARM::VSHLiv8i8:
19884 case ARM::VSHLiv8i16:
19885 case ARM::VSHLiv16i8:
19886 case ARM::VSHRNv2i32:
19887 case ARM::VSHRNv4i16:
19888 case ARM::VSHRNv8i8:
19889 case ARM::VSHRsv1i64:
19890 case ARM::VSHRsv2i32:
19891 case ARM::VSHRsv2i64:
19892 case ARM::VSHRsv4i16:
19893 case ARM::VSHRsv4i32:
19894 case ARM::VSHRsv8i8:
19895 case ARM::VSHRsv8i16:
19896 case ARM::VSHRsv16i8:
19897 case ARM::VSHRuv1i64:
19898 case ARM::VSHRuv2i32:
19899 case ARM::VSHRuv2i64:
19900 case ARM::VSHRuv4i16:
19901 case ARM::VSHRuv4i32:
19902 case ARM::VSHRuv8i8:
19903 case ARM::VSHRuv8i16:
19904 case ARM::VSHRuv16i8: {
19905 switch (OpNum) {
19906 case 0:
19907 // op: Vd
19908 return 12;
19909 case 1:
19910 // op: Vm
19911 return 0;
19912 case 2:
19913 // op: SIMM
19914 return 16;
19915 }
19916 break;
19917 }
19918 case ARM::VDUPLN8d:
19919 case ARM::VDUPLN8q: {
19920 switch (OpNum) {
19921 case 0:
19922 // op: Vd
19923 return 12;
19924 case 1:
19925 // op: Vm
19926 return 0;
19927 case 2:
19928 // op: lane
19929 return 17;
19930 }
19931 break;
19932 }
19933 case ARM::VDUPLN16d:
19934 case ARM::VDUPLN16q: {
19935 switch (OpNum) {
19936 case 0:
19937 // op: Vd
19938 return 12;
19939 case 1:
19940 // op: Vm
19941 return 0;
19942 case 2:
19943 // op: lane
19944 return 18;
19945 }
19946 break;
19947 }
19948 case ARM::VDUPLN32d:
19949 case ARM::VDUPLN32q: {
19950 switch (OpNum) {
19951 case 0:
19952 // op: Vd
19953 return 12;
19954 case 1:
19955 // op: Vm
19956 return 0;
19957 case 2:
19958 // op: lane
19959 return 19;
19960 }
19961 break;
19962 }
19963 case ARM::AESIMC:
19964 case ARM::AESMC:
19965 case ARM::BF16_VCVT:
19966 case ARM::SHA1H:
19967 case ARM::VABSfd:
19968 case ARM::VABSfq:
19969 case ARM::VABShd:
19970 case ARM::VABShq:
19971 case ARM::VABSv2i32:
19972 case ARM::VABSv4i16:
19973 case ARM::VABSv4i32:
19974 case ARM::VABSv8i8:
19975 case ARM::VABSv8i16:
19976 case ARM::VABSv16i8:
19977 case ARM::VCEQzv2f32:
19978 case ARM::VCEQzv2i32:
19979 case ARM::VCEQzv4f16:
19980 case ARM::VCEQzv4f32:
19981 case ARM::VCEQzv4i16:
19982 case ARM::VCEQzv4i32:
19983 case ARM::VCEQzv8f16:
19984 case ARM::VCEQzv8i8:
19985 case ARM::VCEQzv8i16:
19986 case ARM::VCEQzv16i8:
19987 case ARM::VCGEzv2f32:
19988 case ARM::VCGEzv2i32:
19989 case ARM::VCGEzv4f16:
19990 case ARM::VCGEzv4f32:
19991 case ARM::VCGEzv4i16:
19992 case ARM::VCGEzv4i32:
19993 case ARM::VCGEzv8f16:
19994 case ARM::VCGEzv8i8:
19995 case ARM::VCGEzv8i16:
19996 case ARM::VCGEzv16i8:
19997 case ARM::VCGTzv2f32:
19998 case ARM::VCGTzv2i32:
19999 case ARM::VCGTzv4f16:
20000 case ARM::VCGTzv4f32:
20001 case ARM::VCGTzv4i16:
20002 case ARM::VCGTzv4i32:
20003 case ARM::VCGTzv8f16:
20004 case ARM::VCGTzv8i8:
20005 case ARM::VCGTzv8i16:
20006 case ARM::VCGTzv16i8:
20007 case ARM::VCLEzv2f32:
20008 case ARM::VCLEzv2i32:
20009 case ARM::VCLEzv4f16:
20010 case ARM::VCLEzv4f32:
20011 case ARM::VCLEzv4i16:
20012 case ARM::VCLEzv4i32:
20013 case ARM::VCLEzv8f16:
20014 case ARM::VCLEzv8i8:
20015 case ARM::VCLEzv8i16:
20016 case ARM::VCLEzv16i8:
20017 case ARM::VCLSv2i32:
20018 case ARM::VCLSv4i16:
20019 case ARM::VCLSv4i32:
20020 case ARM::VCLSv8i8:
20021 case ARM::VCLSv8i16:
20022 case ARM::VCLSv16i8:
20023 case ARM::VCLTzv2f32:
20024 case ARM::VCLTzv2i32:
20025 case ARM::VCLTzv4f16:
20026 case ARM::VCLTzv4f32:
20027 case ARM::VCLTzv4i16:
20028 case ARM::VCLTzv4i32:
20029 case ARM::VCLTzv8f16:
20030 case ARM::VCLTzv8i8:
20031 case ARM::VCLTzv8i16:
20032 case ARM::VCLTzv16i8:
20033 case ARM::VCLZv2i32:
20034 case ARM::VCLZv4i16:
20035 case ARM::VCLZv4i32:
20036 case ARM::VCLZv8i8:
20037 case ARM::VCLZv8i16:
20038 case ARM::VCLZv16i8:
20039 case ARM::VCNTd:
20040 case ARM::VCNTq:
20041 case ARM::VCVTANSDf:
20042 case ARM::VCVTANSDh:
20043 case ARM::VCVTANSQf:
20044 case ARM::VCVTANSQh:
20045 case ARM::VCVTANUDf:
20046 case ARM::VCVTANUDh:
20047 case ARM::VCVTANUQf:
20048 case ARM::VCVTANUQh:
20049 case ARM::VCVTMNSDf:
20050 case ARM::VCVTMNSDh:
20051 case ARM::VCVTMNSQf:
20052 case ARM::VCVTMNSQh:
20053 case ARM::VCVTMNUDf:
20054 case ARM::VCVTMNUDh:
20055 case ARM::VCVTMNUQf:
20056 case ARM::VCVTMNUQh:
20057 case ARM::VCVTNNSDf:
20058 case ARM::VCVTNNSDh:
20059 case ARM::VCVTNNSQf:
20060 case ARM::VCVTNNSQh:
20061 case ARM::VCVTNNUDf:
20062 case ARM::VCVTNNUDh:
20063 case ARM::VCVTNNUQf:
20064 case ARM::VCVTNNUQh:
20065 case ARM::VCVTPNSDf:
20066 case ARM::VCVTPNSDh:
20067 case ARM::VCVTPNSQf:
20068 case ARM::VCVTPNSQh:
20069 case ARM::VCVTPNUDf:
20070 case ARM::VCVTPNUDh:
20071 case ARM::VCVTPNUQf:
20072 case ARM::VCVTPNUQh:
20073 case ARM::VCVTf2h:
20074 case ARM::VCVTf2sd:
20075 case ARM::VCVTf2sq:
20076 case ARM::VCVTf2ud:
20077 case ARM::VCVTf2uq:
20078 case ARM::VCVTh2f:
20079 case ARM::VCVTh2sd:
20080 case ARM::VCVTh2sq:
20081 case ARM::VCVTh2ud:
20082 case ARM::VCVTh2uq:
20083 case ARM::VCVTs2fd:
20084 case ARM::VCVTs2fq:
20085 case ARM::VCVTs2hd:
20086 case ARM::VCVTs2hq:
20087 case ARM::VCVTu2fd:
20088 case ARM::VCVTu2fq:
20089 case ARM::VCVTu2hd:
20090 case ARM::VCVTu2hq:
20091 case ARM::VMOVLsv2i64:
20092 case ARM::VMOVLsv4i32:
20093 case ARM::VMOVLsv8i16:
20094 case ARM::VMOVLuv2i64:
20095 case ARM::VMOVLuv4i32:
20096 case ARM::VMOVLuv8i16:
20097 case ARM::VMOVNv2i32:
20098 case ARM::VMOVNv4i16:
20099 case ARM::VMOVNv8i8:
20100 case ARM::VMVNd:
20101 case ARM::VMVNq:
20102 case ARM::VNEGf32q:
20103 case ARM::VNEGfd:
20104 case ARM::VNEGhd:
20105 case ARM::VNEGhq:
20106 case ARM::VNEGs8d:
20107 case ARM::VNEGs8q:
20108 case ARM::VNEGs16d:
20109 case ARM::VNEGs16q:
20110 case ARM::VNEGs32d:
20111 case ARM::VNEGs32q:
20112 case ARM::VPADDLsv2i32:
20113 case ARM::VPADDLsv4i16:
20114 case ARM::VPADDLsv4i32:
20115 case ARM::VPADDLsv8i8:
20116 case ARM::VPADDLsv8i16:
20117 case ARM::VPADDLsv16i8:
20118 case ARM::VPADDLuv2i32:
20119 case ARM::VPADDLuv4i16:
20120 case ARM::VPADDLuv4i32:
20121 case ARM::VPADDLuv8i8:
20122 case ARM::VPADDLuv8i16:
20123 case ARM::VPADDLuv16i8:
20124 case ARM::VQABSv2i32:
20125 case ARM::VQABSv4i16:
20126 case ARM::VQABSv4i32:
20127 case ARM::VQABSv8i8:
20128 case ARM::VQABSv8i16:
20129 case ARM::VQABSv16i8:
20130 case ARM::VQMOVNsuv2i32:
20131 case ARM::VQMOVNsuv4i16:
20132 case ARM::VQMOVNsuv8i8:
20133 case ARM::VQMOVNsv2i32:
20134 case ARM::VQMOVNsv4i16:
20135 case ARM::VQMOVNsv8i8:
20136 case ARM::VQMOVNuv2i32:
20137 case ARM::VQMOVNuv4i16:
20138 case ARM::VQMOVNuv8i8:
20139 case ARM::VQNEGv2i32:
20140 case ARM::VQNEGv4i16:
20141 case ARM::VQNEGv4i32:
20142 case ARM::VQNEGv8i8:
20143 case ARM::VQNEGv8i16:
20144 case ARM::VQNEGv16i8:
20145 case ARM::VRECPEd:
20146 case ARM::VRECPEfd:
20147 case ARM::VRECPEfq:
20148 case ARM::VRECPEhd:
20149 case ARM::VRECPEhq:
20150 case ARM::VRECPEq:
20151 case ARM::VREV16d8:
20152 case ARM::VREV16q8:
20153 case ARM::VREV32d8:
20154 case ARM::VREV32d16:
20155 case ARM::VREV32q8:
20156 case ARM::VREV32q16:
20157 case ARM::VREV64d8:
20158 case ARM::VREV64d16:
20159 case ARM::VREV64d32:
20160 case ARM::VREV64q8:
20161 case ARM::VREV64q16:
20162 case ARM::VREV64q32:
20163 case ARM::VRINTANDf:
20164 case ARM::VRINTANDh:
20165 case ARM::VRINTANQf:
20166 case ARM::VRINTANQh:
20167 case ARM::VRINTMNDf:
20168 case ARM::VRINTMNDh:
20169 case ARM::VRINTMNQf:
20170 case ARM::VRINTMNQh:
20171 case ARM::VRINTNNDf:
20172 case ARM::VRINTNNDh:
20173 case ARM::VRINTNNQf:
20174 case ARM::VRINTNNQh:
20175 case ARM::VRINTPNDf:
20176 case ARM::VRINTPNDh:
20177 case ARM::VRINTPNQf:
20178 case ARM::VRINTPNQh:
20179 case ARM::VRINTXNDf:
20180 case ARM::VRINTXNDh:
20181 case ARM::VRINTXNQf:
20182 case ARM::VRINTXNQh:
20183 case ARM::VRINTZNDf:
20184 case ARM::VRINTZNDh:
20185 case ARM::VRINTZNQf:
20186 case ARM::VRINTZNQh:
20187 case ARM::VRSQRTEd:
20188 case ARM::VRSQRTEfd:
20189 case ARM::VRSQRTEfq:
20190 case ARM::VRSQRTEhd:
20191 case ARM::VRSQRTEhq:
20192 case ARM::VRSQRTEq:
20193 case ARM::VSHLLi8:
20194 case ARM::VSHLLi16:
20195 case ARM::VSHLLi32:
20196 case ARM::VSWPd:
20197 case ARM::VSWPq:
20198 case ARM::VTRNd8:
20199 case ARM::VTRNd16:
20200 case ARM::VTRNd32:
20201 case ARM::VTRNq8:
20202 case ARM::VTRNq16:
20203 case ARM::VTRNq32:
20204 case ARM::VUZPd8:
20205 case ARM::VUZPd16:
20206 case ARM::VUZPq8:
20207 case ARM::VUZPq16:
20208 case ARM::VUZPq32:
20209 case ARM::VZIPd8:
20210 case ARM::VZIPd16:
20211 case ARM::VZIPq8:
20212 case ARM::VZIPq16:
20213 case ARM::VZIPq32: {
20214 switch (OpNum) {
20215 case 0:
20216 // op: Vd
20217 return 12;
20218 case 1:
20219 // op: Vm
20220 return 0;
20221 }
20222 break;
20223 }
20224 case ARM::VFMALDI:
20225 case ARM::VFMALQI:
20226 case ARM::VFMSLDI:
20227 case ARM::VFMSLQI: {
20228 switch (OpNum) {
20229 case 0:
20230 // op: Vd
20231 return 12;
20232 case 1:
20233 // op: Vn
20234 return 7;
20235 case 2:
20236 // op: Vm
20237 return 0;
20238 case 3:
20239 // op: idx
20240 return 3;
20241 }
20242 break;
20243 }
20244 case ARM::VEXTd32:
20245 case ARM::VEXTq32: {
20246 switch (OpNum) {
20247 case 0:
20248 // op: Vd
20249 return 12;
20250 case 1:
20251 // op: Vn
20252 return 7;
20253 case 2:
20254 // op: Vm
20255 return 0;
20256 case 3:
20257 // op: index
20258 return 10;
20259 }
20260 break;
20261 }
20262 case ARM::VEXTq64: {
20263 switch (OpNum) {
20264 case 0:
20265 // op: Vd
20266 return 12;
20267 case 1:
20268 // op: Vn
20269 return 7;
20270 case 2:
20271 // op: Vm
20272 return 0;
20273 case 3:
20274 // op: index
20275 return 11;
20276 }
20277 break;
20278 }
20279 case ARM::VEXTd8:
20280 case ARM::VEXTq8: {
20281 switch (OpNum) {
20282 case 0:
20283 // op: Vd
20284 return 12;
20285 case 1:
20286 // op: Vn
20287 return 7;
20288 case 2:
20289 // op: Vm
20290 return 0;
20291 case 3:
20292 // op: index
20293 return 8;
20294 }
20295 break;
20296 }
20297 case ARM::VEXTd16:
20298 case ARM::VEXTq16: {
20299 switch (OpNum) {
20300 case 0:
20301 // op: Vd
20302 return 12;
20303 case 1:
20304 // op: Vn
20305 return 7;
20306 case 2:
20307 // op: Vm
20308 return 0;
20309 case 3:
20310 // op: index
20311 return 9;
20312 }
20313 break;
20314 }
20315 case ARM::VMULLslsv4i16:
20316 case ARM::VMULLsluv4i16:
20317 case ARM::VMULslhd:
20318 case ARM::VMULslhq:
20319 case ARM::VMULslv4i16:
20320 case ARM::VMULslv8i16:
20321 case ARM::VQDMULHslv4i16:
20322 case ARM::VQDMULHslv8i16:
20323 case ARM::VQDMULLslv4i16:
20324 case ARM::VQRDMULHslv4i16:
20325 case ARM::VQRDMULHslv8i16: {
20326 switch (OpNum) {
20327 case 0:
20328 // op: Vd
20329 return 12;
20330 case 1:
20331 // op: Vn
20332 return 7;
20333 case 2:
20334 // op: Vm
20335 return 0;
20336 case 3:
20337 // op: lane
20338 return 3;
20339 }
20340 break;
20341 }
20342 case ARM::VMULLslsv2i32:
20343 case ARM::VMULLsluv2i32:
20344 case ARM::VMULslfd:
20345 case ARM::VMULslfq:
20346 case ARM::VMULslv2i32:
20347 case ARM::VMULslv4i32:
20348 case ARM::VQDMULHslv2i32:
20349 case ARM::VQDMULHslv4i32:
20350 case ARM::VQDMULLslv2i32:
20351 case ARM::VQRDMULHslv2i32:
20352 case ARM::VQRDMULHslv4i32: {
20353 switch (OpNum) {
20354 case 0:
20355 // op: Vd
20356 return 12;
20357 case 1:
20358 // op: Vn
20359 return 7;
20360 case 2:
20361 // op: Vm
20362 return 0;
20363 case 3:
20364 // op: lane
20365 return 5;
20366 }
20367 break;
20368 }
20369 case ARM::VCADDv2f32:
20370 case ARM::VCADDv4f16:
20371 case ARM::VCADDv4f32:
20372 case ARM::VCADDv8f16: {
20373 switch (OpNum) {
20374 case 0:
20375 // op: Vd
20376 return 12;
20377 case 1:
20378 // op: Vn
20379 return 7;
20380 case 2:
20381 // op: Vm
20382 return 0;
20383 case 3:
20384 // op: rot
20385 return 24;
20386 }
20387 break;
20388 }
20389 case ARM::NEON_VMAXNMNDf:
20390 case ARM::NEON_VMAXNMNDh:
20391 case ARM::NEON_VMAXNMNQf:
20392 case ARM::NEON_VMAXNMNQh:
20393 case ARM::NEON_VMINNMNDf:
20394 case ARM::NEON_VMINNMNDh:
20395 case ARM::NEON_VMINNMNQf:
20396 case ARM::NEON_VMINNMNQh:
20397 case ARM::VABDLsv2i64:
20398 case ARM::VABDLsv4i32:
20399 case ARM::VABDLsv8i16:
20400 case ARM::VABDLuv2i64:
20401 case ARM::VABDLuv4i32:
20402 case ARM::VABDLuv8i16:
20403 case ARM::VABDfd:
20404 case ARM::VABDfq:
20405 case ARM::VABDhd:
20406 case ARM::VABDhq:
20407 case ARM::VABDsv2i32:
20408 case ARM::VABDsv4i16:
20409 case ARM::VABDsv4i32:
20410 case ARM::VABDsv8i8:
20411 case ARM::VABDsv8i16:
20412 case ARM::VABDsv16i8:
20413 case ARM::VABDuv2i32:
20414 case ARM::VABDuv4i16:
20415 case ARM::VABDuv4i32:
20416 case ARM::VABDuv8i8:
20417 case ARM::VABDuv8i16:
20418 case ARM::VABDuv16i8:
20419 case ARM::VACGEfd:
20420 case ARM::VACGEfq:
20421 case ARM::VACGEhd:
20422 case ARM::VACGEhq:
20423 case ARM::VACGTfd:
20424 case ARM::VACGTfq:
20425 case ARM::VACGThd:
20426 case ARM::VACGThq:
20427 case ARM::VADDHNv2i32:
20428 case ARM::VADDHNv4i16:
20429 case ARM::VADDHNv8i8:
20430 case ARM::VADDLsv2i64:
20431 case ARM::VADDLsv4i32:
20432 case ARM::VADDLsv8i16:
20433 case ARM::VADDLuv2i64:
20434 case ARM::VADDLuv4i32:
20435 case ARM::VADDLuv8i16:
20436 case ARM::VADDWsv2i64:
20437 case ARM::VADDWsv4i32:
20438 case ARM::VADDWsv8i16:
20439 case ARM::VADDWuv2i64:
20440 case ARM::VADDWuv4i32:
20441 case ARM::VADDWuv8i16:
20442 case ARM::VADDfd:
20443 case ARM::VADDfq:
20444 case ARM::VADDhd:
20445 case ARM::VADDhq:
20446 case ARM::VADDv1i64:
20447 case ARM::VADDv2i32:
20448 case ARM::VADDv2i64:
20449 case ARM::VADDv4i16:
20450 case ARM::VADDv4i32:
20451 case ARM::VADDv8i8:
20452 case ARM::VADDv8i16:
20453 case ARM::VADDv16i8:
20454 case ARM::VANDd:
20455 case ARM::VANDq:
20456 case ARM::VBICd:
20457 case ARM::VBICq:
20458 case ARM::VCEQfd:
20459 case ARM::VCEQfq:
20460 case ARM::VCEQhd:
20461 case ARM::VCEQhq:
20462 case ARM::VCEQv2i32:
20463 case ARM::VCEQv4i16:
20464 case ARM::VCEQv4i32:
20465 case ARM::VCEQv8i8:
20466 case ARM::VCEQv8i16:
20467 case ARM::VCEQv16i8:
20468 case ARM::VCGEfd:
20469 case ARM::VCGEfq:
20470 case ARM::VCGEhd:
20471 case ARM::VCGEhq:
20472 case ARM::VCGEsv2i32:
20473 case ARM::VCGEsv4i16:
20474 case ARM::VCGEsv4i32:
20475 case ARM::VCGEsv8i8:
20476 case ARM::VCGEsv8i16:
20477 case ARM::VCGEsv16i8:
20478 case ARM::VCGEuv2i32:
20479 case ARM::VCGEuv4i16:
20480 case ARM::VCGEuv4i32:
20481 case ARM::VCGEuv8i8:
20482 case ARM::VCGEuv8i16:
20483 case ARM::VCGEuv16i8:
20484 case ARM::VCGTfd:
20485 case ARM::VCGTfq:
20486 case ARM::VCGThd:
20487 case ARM::VCGThq:
20488 case ARM::VCGTsv2i32:
20489 case ARM::VCGTsv4i16:
20490 case ARM::VCGTsv4i32:
20491 case ARM::VCGTsv8i8:
20492 case ARM::VCGTsv8i16:
20493 case ARM::VCGTsv16i8:
20494 case ARM::VCGTuv2i32:
20495 case ARM::VCGTuv4i16:
20496 case ARM::VCGTuv4i32:
20497 case ARM::VCGTuv8i8:
20498 case ARM::VCGTuv8i16:
20499 case ARM::VCGTuv16i8:
20500 case ARM::VEORd:
20501 case ARM::VEORq:
20502 case ARM::VFMALD:
20503 case ARM::VFMALQ:
20504 case ARM::VFMSLD:
20505 case ARM::VFMSLQ:
20506 case ARM::VHADDsv2i32:
20507 case ARM::VHADDsv4i16:
20508 case ARM::VHADDsv4i32:
20509 case ARM::VHADDsv8i8:
20510 case ARM::VHADDsv8i16:
20511 case ARM::VHADDsv16i8:
20512 case ARM::VHADDuv2i32:
20513 case ARM::VHADDuv4i16:
20514 case ARM::VHADDuv4i32:
20515 case ARM::VHADDuv8i8:
20516 case ARM::VHADDuv8i16:
20517 case ARM::VHADDuv16i8:
20518 case ARM::VHSUBsv2i32:
20519 case ARM::VHSUBsv4i16:
20520 case ARM::VHSUBsv4i32:
20521 case ARM::VHSUBsv8i8:
20522 case ARM::VHSUBsv8i16:
20523 case ARM::VHSUBsv16i8:
20524 case ARM::VHSUBuv2i32:
20525 case ARM::VHSUBuv4i16:
20526 case ARM::VHSUBuv4i32:
20527 case ARM::VHSUBuv8i8:
20528 case ARM::VHSUBuv8i16:
20529 case ARM::VHSUBuv16i8:
20530 case ARM::VMAXfd:
20531 case ARM::VMAXfq:
20532 case ARM::VMAXhd:
20533 case ARM::VMAXhq:
20534 case ARM::VMAXsv2i32:
20535 case ARM::VMAXsv4i16:
20536 case ARM::VMAXsv4i32:
20537 case ARM::VMAXsv8i8:
20538 case ARM::VMAXsv8i16:
20539 case ARM::VMAXsv16i8:
20540 case ARM::VMAXuv2i32:
20541 case ARM::VMAXuv4i16:
20542 case ARM::VMAXuv4i32:
20543 case ARM::VMAXuv8i8:
20544 case ARM::VMAXuv8i16:
20545 case ARM::VMAXuv16i8:
20546 case ARM::VMINfd:
20547 case ARM::VMINfq:
20548 case ARM::VMINhd:
20549 case ARM::VMINhq:
20550 case ARM::VMINsv2i32:
20551 case ARM::VMINsv4i16:
20552 case ARM::VMINsv4i32:
20553 case ARM::VMINsv8i8:
20554 case ARM::VMINsv8i16:
20555 case ARM::VMINsv16i8:
20556 case ARM::VMINuv2i32:
20557 case ARM::VMINuv4i16:
20558 case ARM::VMINuv4i32:
20559 case ARM::VMINuv8i8:
20560 case ARM::VMINuv8i16:
20561 case ARM::VMINuv16i8:
20562 case ARM::VMULLp8:
20563 case ARM::VMULLp64:
20564 case ARM::VMULLsv2i64:
20565 case ARM::VMULLsv4i32:
20566 case ARM::VMULLsv8i16:
20567 case ARM::VMULLuv2i64:
20568 case ARM::VMULLuv4i32:
20569 case ARM::VMULLuv8i16:
20570 case ARM::VMULfd:
20571 case ARM::VMULfq:
20572 case ARM::VMULhd:
20573 case ARM::VMULhq:
20574 case ARM::VMULpd:
20575 case ARM::VMULpq:
20576 case ARM::VMULv2i32:
20577 case ARM::VMULv4i16:
20578 case ARM::VMULv4i32:
20579 case ARM::VMULv8i8:
20580 case ARM::VMULv8i16:
20581 case ARM::VMULv16i8:
20582 case ARM::VORNd:
20583 case ARM::VORNq:
20584 case ARM::VORRd:
20585 case ARM::VORRq:
20586 case ARM::VPADDf:
20587 case ARM::VPADDh:
20588 case ARM::VPADDi8:
20589 case ARM::VPADDi16:
20590 case ARM::VPADDi32:
20591 case ARM::VPMAXf:
20592 case ARM::VPMAXh:
20593 case ARM::VPMAXs8:
20594 case ARM::VPMAXs16:
20595 case ARM::VPMAXs32:
20596 case ARM::VPMAXu8:
20597 case ARM::VPMAXu16:
20598 case ARM::VPMAXu32:
20599 case ARM::VPMINf:
20600 case ARM::VPMINh:
20601 case ARM::VPMINs8:
20602 case ARM::VPMINs16:
20603 case ARM::VPMINs32:
20604 case ARM::VPMINu8:
20605 case ARM::VPMINu16:
20606 case ARM::VPMINu32:
20607 case ARM::VQADDsv1i64:
20608 case ARM::VQADDsv2i32:
20609 case ARM::VQADDsv2i64:
20610 case ARM::VQADDsv4i16:
20611 case ARM::VQADDsv4i32:
20612 case ARM::VQADDsv8i8:
20613 case ARM::VQADDsv8i16:
20614 case ARM::VQADDsv16i8:
20615 case ARM::VQADDuv1i64:
20616 case ARM::VQADDuv2i32:
20617 case ARM::VQADDuv2i64:
20618 case ARM::VQADDuv4i16:
20619 case ARM::VQADDuv4i32:
20620 case ARM::VQADDuv8i8:
20621 case ARM::VQADDuv8i16:
20622 case ARM::VQADDuv16i8:
20623 case ARM::VQDMULHv2i32:
20624 case ARM::VQDMULHv4i16:
20625 case ARM::VQDMULHv4i32:
20626 case ARM::VQDMULHv8i16:
20627 case ARM::VQDMULLv2i64:
20628 case ARM::VQDMULLv4i32:
20629 case ARM::VQRDMULHv2i32:
20630 case ARM::VQRDMULHv4i16:
20631 case ARM::VQRDMULHv4i32:
20632 case ARM::VQRDMULHv8i16:
20633 case ARM::VQSUBsv1i64:
20634 case ARM::VQSUBsv2i32:
20635 case ARM::VQSUBsv2i64:
20636 case ARM::VQSUBsv4i16:
20637 case ARM::VQSUBsv4i32:
20638 case ARM::VQSUBsv8i8:
20639 case ARM::VQSUBsv8i16:
20640 case ARM::VQSUBsv16i8:
20641 case ARM::VQSUBuv1i64:
20642 case ARM::VQSUBuv2i32:
20643 case ARM::VQSUBuv2i64:
20644 case ARM::VQSUBuv4i16:
20645 case ARM::VQSUBuv4i32:
20646 case ARM::VQSUBuv8i8:
20647 case ARM::VQSUBuv8i16:
20648 case ARM::VQSUBuv16i8:
20649 case ARM::VRADDHNv2i32:
20650 case ARM::VRADDHNv4i16:
20651 case ARM::VRADDHNv8i8:
20652 case ARM::VRECPSfd:
20653 case ARM::VRECPSfq:
20654 case ARM::VRECPShd:
20655 case ARM::VRECPShq:
20656 case ARM::VRHADDsv2i32:
20657 case ARM::VRHADDsv4i16:
20658 case ARM::VRHADDsv4i32:
20659 case ARM::VRHADDsv8i8:
20660 case ARM::VRHADDsv8i16:
20661 case ARM::VRHADDsv16i8:
20662 case ARM::VRHADDuv2i32:
20663 case ARM::VRHADDuv4i16:
20664 case ARM::VRHADDuv4i32:
20665 case ARM::VRHADDuv8i8:
20666 case ARM::VRHADDuv8i16:
20667 case ARM::VRHADDuv16i8:
20668 case ARM::VRSQRTSfd:
20669 case ARM::VRSQRTSfq:
20670 case ARM::VRSQRTShd:
20671 case ARM::VRSQRTShq:
20672 case ARM::VRSUBHNv2i32:
20673 case ARM::VRSUBHNv4i16:
20674 case ARM::VRSUBHNv8i8:
20675 case ARM::VSUBHNv2i32:
20676 case ARM::VSUBHNv4i16:
20677 case ARM::VSUBHNv8i8:
20678 case ARM::VSUBLsv2i64:
20679 case ARM::VSUBLsv4i32:
20680 case ARM::VSUBLsv8i16:
20681 case ARM::VSUBLuv2i64:
20682 case ARM::VSUBLuv4i32:
20683 case ARM::VSUBLuv8i16:
20684 case ARM::VSUBWsv2i64:
20685 case ARM::VSUBWsv4i32:
20686 case ARM::VSUBWsv8i16:
20687 case ARM::VSUBWuv2i64:
20688 case ARM::VSUBWuv4i32:
20689 case ARM::VSUBWuv8i16:
20690 case ARM::VSUBfd:
20691 case ARM::VSUBfq:
20692 case ARM::VSUBhd:
20693 case ARM::VSUBhq:
20694 case ARM::VSUBv1i64:
20695 case ARM::VSUBv2i32:
20696 case ARM::VSUBv2i64:
20697 case ARM::VSUBv4i16:
20698 case ARM::VSUBv4i32:
20699 case ARM::VSUBv8i8:
20700 case ARM::VSUBv8i16:
20701 case ARM::VSUBv16i8:
20702 case ARM::VTBL1:
20703 case ARM::VTBL2:
20704 case ARM::VTBL3:
20705 case ARM::VTBL4:
20706 case ARM::VTSTv2i32:
20707 case ARM::VTSTv4i16:
20708 case ARM::VTSTv4i32:
20709 case ARM::VTSTv8i8:
20710 case ARM::VTSTv8i16:
20711 case ARM::VTSTv16i8: {
20712 switch (OpNum) {
20713 case 0:
20714 // op: Vd
20715 return 12;
20716 case 1:
20717 // op: Vn
20718 return 7;
20719 case 2:
20720 // op: Vm
20721 return 0;
20722 }
20723 break;
20724 }
20725 case ARM::VLD1LNd8_UPD: {
20726 switch (OpNum) {
20727 case 0:
20728 // op: Vd
20729 return 12;
20730 case 2:
20731 // op: Rn
20732 return 16;
20733 case 4:
20734 // op: Rm
20735 return 0;
20736 case 6:
20737 // op: lane
20738 return 5;
20739 }
20740 break;
20741 }
20742 case ARM::VLD1LNd16_UPD: {
20743 switch (OpNum) {
20744 case 0:
20745 // op: Vd
20746 return 12;
20747 case 2:
20748 // op: Rn
20749 return 4;
20750 case 4:
20751 // op: Rm
20752 return 0;
20753 case 6:
20754 // op: lane
20755 return 6;
20756 }
20757 break;
20758 }
20759 case ARM::VLD1LNd32_UPD: {
20760 switch (OpNum) {
20761 case 0:
20762 // op: Vd
20763 return 12;
20764 case 2:
20765 // op: Rn
20766 return 4;
20767 case 4:
20768 // op: Rm
20769 return 0;
20770 case 6:
20771 // op: lane
20772 return 7;
20773 }
20774 break;
20775 }
20776 case ARM::VLD1DUPd8wb_register:
20777 case ARM::VLD1DUPd16wb_register:
20778 case ARM::VLD1DUPd32wb_register:
20779 case ARM::VLD1DUPq8wb_register:
20780 case ARM::VLD1DUPq16wb_register:
20781 case ARM::VLD1DUPq32wb_register:
20782 case ARM::VLD1d8Qwb_register:
20783 case ARM::VLD1d8Twb_register:
20784 case ARM::VLD1d8wb_register:
20785 case ARM::VLD1d16Qwb_register:
20786 case ARM::VLD1d16Twb_register:
20787 case ARM::VLD1d16wb_register:
20788 case ARM::VLD1d32Qwb_register:
20789 case ARM::VLD1d32Twb_register:
20790 case ARM::VLD1d32wb_register:
20791 case ARM::VLD1d64Qwb_register:
20792 case ARM::VLD1d64Twb_register:
20793 case ARM::VLD1d64wb_register:
20794 case ARM::VLD1q8wb_register:
20795 case ARM::VLD1q16wb_register:
20796 case ARM::VLD1q32wb_register:
20797 case ARM::VLD1q64wb_register:
20798 case ARM::VLD2DUPd8wb_register:
20799 case ARM::VLD2DUPd8x2wb_register:
20800 case ARM::VLD2DUPd16wb_register:
20801 case ARM::VLD2DUPd16x2wb_register:
20802 case ARM::VLD2DUPd32wb_register:
20803 case ARM::VLD2DUPd32x2wb_register:
20804 case ARM::VLD2b8wb_register:
20805 case ARM::VLD2b16wb_register:
20806 case ARM::VLD2b32wb_register:
20807 case ARM::VLD2d8wb_register:
20808 case ARM::VLD2d16wb_register:
20809 case ARM::VLD2d32wb_register:
20810 case ARM::VLD2q8wb_register:
20811 case ARM::VLD2q16wb_register:
20812 case ARM::VLD2q32wb_register: {
20813 switch (OpNum) {
20814 case 0:
20815 // op: Vd
20816 return 12;
20817 case 2:
20818 // op: Rn
20819 return 4;
20820 case 4:
20821 // op: Rm
20822 return 0;
20823 }
20824 break;
20825 }
20826 case ARM::VLD2LNd8: {
20827 switch (OpNum) {
20828 case 0:
20829 // op: Vd
20830 return 12;
20831 case 2:
20832 // op: Rn
20833 return 4;
20834 case 6:
20835 // op: lane
20836 return 5;
20837 }
20838 break;
20839 }
20840 case ARM::VLD2LNd16:
20841 case ARM::VLD2LNq16: {
20842 switch (OpNum) {
20843 case 0:
20844 // op: Vd
20845 return 12;
20846 case 2:
20847 // op: Rn
20848 return 4;
20849 case 6:
20850 // op: lane
20851 return 6;
20852 }
20853 break;
20854 }
20855 case ARM::VLD2LNd32:
20856 case ARM::VLD2LNq32: {
20857 switch (OpNum) {
20858 case 0:
20859 // op: Vd
20860 return 12;
20861 case 2:
20862 // op: Rn
20863 return 4;
20864 case 6:
20865 // op: lane
20866 return 7;
20867 }
20868 break;
20869 }
20870 case ARM::VLD1DUPd8wb_fixed:
20871 case ARM::VLD1DUPd16wb_fixed:
20872 case ARM::VLD1DUPd32wb_fixed:
20873 case ARM::VLD1DUPq8wb_fixed:
20874 case ARM::VLD1DUPq16wb_fixed:
20875 case ARM::VLD1DUPq32wb_fixed:
20876 case ARM::VLD1d8Qwb_fixed:
20877 case ARM::VLD1d8Twb_fixed:
20878 case ARM::VLD1d8wb_fixed:
20879 case ARM::VLD1d16Qwb_fixed:
20880 case ARM::VLD1d16Twb_fixed:
20881 case ARM::VLD1d16wb_fixed:
20882 case ARM::VLD1d32Qwb_fixed:
20883 case ARM::VLD1d32Twb_fixed:
20884 case ARM::VLD1d32wb_fixed:
20885 case ARM::VLD1d64Qwb_fixed:
20886 case ARM::VLD1d64Twb_fixed:
20887 case ARM::VLD1d64wb_fixed:
20888 case ARM::VLD1q8wb_fixed:
20889 case ARM::VLD1q16wb_fixed:
20890 case ARM::VLD1q32wb_fixed:
20891 case ARM::VLD1q64wb_fixed:
20892 case ARM::VLD2DUPd8wb_fixed:
20893 case ARM::VLD2DUPd8x2wb_fixed:
20894 case ARM::VLD2DUPd16wb_fixed:
20895 case ARM::VLD2DUPd16x2wb_fixed:
20896 case ARM::VLD2DUPd32wb_fixed:
20897 case ARM::VLD2DUPd32x2wb_fixed:
20898 case ARM::VLD2b8wb_fixed:
20899 case ARM::VLD2b16wb_fixed:
20900 case ARM::VLD2b32wb_fixed:
20901 case ARM::VLD2d8wb_fixed:
20902 case ARM::VLD2d16wb_fixed:
20903 case ARM::VLD2d32wb_fixed:
20904 case ARM::VLD2q8wb_fixed:
20905 case ARM::VLD2q16wb_fixed:
20906 case ARM::VLD2q32wb_fixed: {
20907 switch (OpNum) {
20908 case 0:
20909 // op: Vd
20910 return 12;
20911 case 2:
20912 // op: Rn
20913 return 4;
20914 }
20915 break;
20916 }
20917 case ARM::VRSRAsv1i64:
20918 case ARM::VRSRAsv2i32:
20919 case ARM::VRSRAsv2i64:
20920 case ARM::VRSRAsv4i16:
20921 case ARM::VRSRAsv4i32:
20922 case ARM::VRSRAsv8i8:
20923 case ARM::VRSRAsv8i16:
20924 case ARM::VRSRAsv16i8:
20925 case ARM::VRSRAuv1i64:
20926 case ARM::VRSRAuv2i32:
20927 case ARM::VRSRAuv2i64:
20928 case ARM::VRSRAuv4i16:
20929 case ARM::VRSRAuv4i32:
20930 case ARM::VRSRAuv8i8:
20931 case ARM::VRSRAuv8i16:
20932 case ARM::VRSRAuv16i8:
20933 case ARM::VSLIv1i64:
20934 case ARM::VSLIv2i32:
20935 case ARM::VSLIv2i64:
20936 case ARM::VSLIv4i16:
20937 case ARM::VSLIv4i32:
20938 case ARM::VSLIv8i8:
20939 case ARM::VSLIv8i16:
20940 case ARM::VSLIv16i8:
20941 case ARM::VSRAsv1i64:
20942 case ARM::VSRAsv2i32:
20943 case ARM::VSRAsv2i64:
20944 case ARM::VSRAsv4i16:
20945 case ARM::VSRAsv4i32:
20946 case ARM::VSRAsv8i8:
20947 case ARM::VSRAsv8i16:
20948 case ARM::VSRAsv16i8:
20949 case ARM::VSRAuv1i64:
20950 case ARM::VSRAuv2i32:
20951 case ARM::VSRAuv2i64:
20952 case ARM::VSRAuv4i16:
20953 case ARM::VSRAuv4i32:
20954 case ARM::VSRAuv8i8:
20955 case ARM::VSRAuv8i16:
20956 case ARM::VSRAuv16i8:
20957 case ARM::VSRIv1i64:
20958 case ARM::VSRIv2i32:
20959 case ARM::VSRIv2i64:
20960 case ARM::VSRIv4i16:
20961 case ARM::VSRIv4i32:
20962 case ARM::VSRIv8i8:
20963 case ARM::VSRIv8i16:
20964 case ARM::VSRIv16i8: {
20965 switch (OpNum) {
20966 case 0:
20967 // op: Vd
20968 return 12;
20969 case 2:
20970 // op: Vm
20971 return 0;
20972 case 3:
20973 // op: SIMM
20974 return 16;
20975 }
20976 break;
20977 }
20978 case ARM::AESD:
20979 case ARM::AESE:
20980 case ARM::SHA1SU1:
20981 case ARM::SHA256SU0:
20982 case ARM::VPADALsv2i32:
20983 case ARM::VPADALsv4i16:
20984 case ARM::VPADALsv4i32:
20985 case ARM::VPADALsv8i8:
20986 case ARM::VPADALsv8i16:
20987 case ARM::VPADALsv16i8:
20988 case ARM::VPADALuv2i32:
20989 case ARM::VPADALuv4i16:
20990 case ARM::VPADALuv4i32:
20991 case ARM::VPADALuv8i8:
20992 case ARM::VPADALuv8i16:
20993 case ARM::VPADALuv16i8: {
20994 switch (OpNum) {
20995 case 0:
20996 // op: Vd
20997 return 12;
20998 case 2:
20999 // op: Vm
21000 return 0;
21001 }
21002 break;
21003 }
21004 case ARM::VQRSHLsv1i64:
21005 case ARM::VQRSHLsv2i32:
21006 case ARM::VQRSHLsv2i64:
21007 case ARM::VQRSHLsv4i16:
21008 case ARM::VQRSHLsv4i32:
21009 case ARM::VQRSHLsv8i8:
21010 case ARM::VQRSHLsv8i16:
21011 case ARM::VQRSHLsv16i8:
21012 case ARM::VQRSHLuv1i64:
21013 case ARM::VQRSHLuv2i32:
21014 case ARM::VQRSHLuv2i64:
21015 case ARM::VQRSHLuv4i16:
21016 case ARM::VQRSHLuv4i32:
21017 case ARM::VQRSHLuv8i8:
21018 case ARM::VQRSHLuv8i16:
21019 case ARM::VQRSHLuv16i8:
21020 case ARM::VQSHLsv1i64:
21021 case ARM::VQSHLsv2i32:
21022 case ARM::VQSHLsv2i64:
21023 case ARM::VQSHLsv4i16:
21024 case ARM::VQSHLsv4i32:
21025 case ARM::VQSHLsv8i8:
21026 case ARM::VQSHLsv8i16:
21027 case ARM::VQSHLsv16i8:
21028 case ARM::VQSHLuv1i64:
21029 case ARM::VQSHLuv2i32:
21030 case ARM::VQSHLuv2i64:
21031 case ARM::VQSHLuv4i16:
21032 case ARM::VQSHLuv4i32:
21033 case ARM::VQSHLuv8i8:
21034 case ARM::VQSHLuv8i16:
21035 case ARM::VQSHLuv16i8:
21036 case ARM::VRSHLsv1i64:
21037 case ARM::VRSHLsv2i32:
21038 case ARM::VRSHLsv2i64:
21039 case ARM::VRSHLsv4i16:
21040 case ARM::VRSHLsv4i32:
21041 case ARM::VRSHLsv8i8:
21042 case ARM::VRSHLsv8i16:
21043 case ARM::VRSHLsv16i8:
21044 case ARM::VRSHLuv1i64:
21045 case ARM::VRSHLuv2i32:
21046 case ARM::VRSHLuv2i64:
21047 case ARM::VRSHLuv4i16:
21048 case ARM::VRSHLuv4i32:
21049 case ARM::VRSHLuv8i8:
21050 case ARM::VRSHLuv8i16:
21051 case ARM::VRSHLuv16i8:
21052 case ARM::VSHLsv1i64:
21053 case ARM::VSHLsv2i32:
21054 case ARM::VSHLsv2i64:
21055 case ARM::VSHLsv4i16:
21056 case ARM::VSHLsv4i32:
21057 case ARM::VSHLsv8i8:
21058 case ARM::VSHLsv8i16:
21059 case ARM::VSHLsv16i8:
21060 case ARM::VSHLuv1i64:
21061 case ARM::VSHLuv2i32:
21062 case ARM::VSHLuv2i64:
21063 case ARM::VSHLuv4i16:
21064 case ARM::VSHLuv4i32:
21065 case ARM::VSHLuv8i8:
21066 case ARM::VSHLuv8i16:
21067 case ARM::VSHLuv16i8: {
21068 switch (OpNum) {
21069 case 0:
21070 // op: Vd
21071 return 12;
21072 case 2:
21073 // op: Vn
21074 return 7;
21075 case 1:
21076 // op: Vm
21077 return 0;
21078 }
21079 break;
21080 }
21081 case ARM::VMLALslsv4i16:
21082 case ARM::VMLALsluv4i16:
21083 case ARM::VMLAslhd:
21084 case ARM::VMLAslhq:
21085 case ARM::VMLAslv4i16:
21086 case ARM::VMLAslv8i16:
21087 case ARM::VMLSLslsv4i16:
21088 case ARM::VMLSLsluv4i16:
21089 case ARM::VMLSslhd:
21090 case ARM::VMLSslhq:
21091 case ARM::VMLSslv4i16:
21092 case ARM::VMLSslv8i16:
21093 case ARM::VQDMLALslv4i16:
21094 case ARM::VQDMLSLslv4i16:
21095 case ARM::VQRDMLAHslv4i16:
21096 case ARM::VQRDMLAHslv8i16:
21097 case ARM::VQRDMLSHslv4i16:
21098 case ARM::VQRDMLSHslv8i16: {
21099 switch (OpNum) {
21100 case 0:
21101 // op: Vd
21102 return 12;
21103 case 2:
21104 // op: Vn
21105 return 7;
21106 case 3:
21107 // op: Vm
21108 return 0;
21109 case 4:
21110 // op: lane
21111 return 3;
21112 }
21113 break;
21114 }
21115 case ARM::VMLALslsv2i32:
21116 case ARM::VMLALsluv2i32:
21117 case ARM::VMLAslfd:
21118 case ARM::VMLAslfq:
21119 case ARM::VMLAslv2i32:
21120 case ARM::VMLAslv4i32:
21121 case ARM::VMLSLslsv2i32:
21122 case ARM::VMLSLsluv2i32:
21123 case ARM::VMLSslfd:
21124 case ARM::VMLSslfq:
21125 case ARM::VMLSslv2i32:
21126 case ARM::VMLSslv4i32:
21127 case ARM::VQDMLALslv2i32:
21128 case ARM::VQDMLSLslv2i32:
21129 case ARM::VQRDMLAHslv2i32:
21130 case ARM::VQRDMLAHslv4i32:
21131 case ARM::VQRDMLSHslv2i32:
21132 case ARM::VQRDMLSHslv4i32: {
21133 switch (OpNum) {
21134 case 0:
21135 // op: Vd
21136 return 12;
21137 case 2:
21138 // op: Vn
21139 return 7;
21140 case 3:
21141 // op: Vm
21142 return 0;
21143 case 4:
21144 // op: lane
21145 return 5;
21146 }
21147 break;
21148 }
21149 case ARM::VCMLAv2f32:
21150 case ARM::VCMLAv4f16:
21151 case ARM::VCMLAv4f32:
21152 case ARM::VCMLAv8f16: {
21153 switch (OpNum) {
21154 case 0:
21155 // op: Vd
21156 return 12;
21157 case 2:
21158 // op: Vn
21159 return 7;
21160 case 3:
21161 // op: Vm
21162 return 0;
21163 case 4:
21164 // op: rot
21165 return 23;
21166 }
21167 break;
21168 }
21169 case ARM::VCMLAv4f16_indexed:
21170 case ARM::VCMLAv8f16_indexed: {
21171 switch (OpNum) {
21172 case 0:
21173 // op: Vd
21174 return 12;
21175 case 2:
21176 // op: Vn
21177 return 7;
21178 case 3:
21179 // op: Vm
21180 return 0;
21181 case 5:
21182 // op: rot
21183 return 20;
21184 case 4:
21185 // op: lane
21186 return 5;
21187 }
21188 break;
21189 }
21190 case ARM::VCMLAv2f32_indexed:
21191 case ARM::VCMLAv4f32_indexed: {
21192 switch (OpNum) {
21193 case 0:
21194 // op: Vd
21195 return 12;
21196 case 2:
21197 // op: Vn
21198 return 7;
21199 case 3:
21200 // op: Vm
21201 return 0;
21202 case 5:
21203 // op: rot
21204 return 20;
21205 }
21206 break;
21207 }
21208 case ARM::SHA1C:
21209 case ARM::SHA1M:
21210 case ARM::SHA1P:
21211 case ARM::SHA1SU0:
21212 case ARM::SHA256H:
21213 case ARM::SHA256H2:
21214 case ARM::SHA256SU1:
21215 case ARM::VABALsv2i64:
21216 case ARM::VABALsv4i32:
21217 case ARM::VABALsv8i16:
21218 case ARM::VABALuv2i64:
21219 case ARM::VABALuv4i32:
21220 case ARM::VABALuv8i16:
21221 case ARM::VABAsv2i32:
21222 case ARM::VABAsv4i16:
21223 case ARM::VABAsv4i32:
21224 case ARM::VABAsv8i8:
21225 case ARM::VABAsv8i16:
21226 case ARM::VABAsv16i8:
21227 case ARM::VABAuv2i32:
21228 case ARM::VABAuv4i16:
21229 case ARM::VABAuv4i32:
21230 case ARM::VABAuv8i8:
21231 case ARM::VABAuv8i16:
21232 case ARM::VABAuv16i8:
21233 case ARM::VBIFd:
21234 case ARM::VBIFq:
21235 case ARM::VBITd:
21236 case ARM::VBITq:
21237 case ARM::VBSLd:
21238 case ARM::VBSLq:
21239 case ARM::VFMAfd:
21240 case ARM::VFMAfq:
21241 case ARM::VFMAhd:
21242 case ARM::VFMAhq:
21243 case ARM::VFMSfd:
21244 case ARM::VFMSfq:
21245 case ARM::VFMShd:
21246 case ARM::VFMShq:
21247 case ARM::VMLALsv2i64:
21248 case ARM::VMLALsv4i32:
21249 case ARM::VMLALsv8i16:
21250 case ARM::VMLALuv2i64:
21251 case ARM::VMLALuv4i32:
21252 case ARM::VMLALuv8i16:
21253 case ARM::VMLAfd:
21254 case ARM::VMLAfq:
21255 case ARM::VMLAhd:
21256 case ARM::VMLAhq:
21257 case ARM::VMLAv2i32:
21258 case ARM::VMLAv4i16:
21259 case ARM::VMLAv4i32:
21260 case ARM::VMLAv8i8:
21261 case ARM::VMLAv8i16:
21262 case ARM::VMLAv16i8:
21263 case ARM::VMLSLsv2i64:
21264 case ARM::VMLSLsv4i32:
21265 case ARM::VMLSLsv8i16:
21266 case ARM::VMLSLuv2i64:
21267 case ARM::VMLSLuv4i32:
21268 case ARM::VMLSLuv8i16:
21269 case ARM::VMLSfd:
21270 case ARM::VMLSfq:
21271 case ARM::VMLShd:
21272 case ARM::VMLShq:
21273 case ARM::VMLSv2i32:
21274 case ARM::VMLSv4i16:
21275 case ARM::VMLSv4i32:
21276 case ARM::VMLSv8i8:
21277 case ARM::VMLSv8i16:
21278 case ARM::VMLSv16i8:
21279 case ARM::VQDMLALv2i64:
21280 case ARM::VQDMLALv4i32:
21281 case ARM::VQDMLSLv2i64:
21282 case ARM::VQDMLSLv4i32:
21283 case ARM::VQRDMLAHv2i32:
21284 case ARM::VQRDMLAHv4i16:
21285 case ARM::VQRDMLAHv4i32:
21286 case ARM::VQRDMLAHv8i16:
21287 case ARM::VQRDMLSHv2i32:
21288 case ARM::VQRDMLSHv4i16:
21289 case ARM::VQRDMLSHv4i32:
21290 case ARM::VQRDMLSHv8i16:
21291 case ARM::VTBX1:
21292 case ARM::VTBX2:
21293 case ARM::VTBX3:
21294 case ARM::VTBX4: {
21295 switch (OpNum) {
21296 case 0:
21297 // op: Vd
21298 return 12;
21299 case 2:
21300 // op: Vn
21301 return 7;
21302 case 3:
21303 // op: Vm
21304 return 0;
21305 }
21306 break;
21307 }
21308 case ARM::VLD3LNd8: {
21309 switch (OpNum) {
21310 case 0:
21311 // op: Vd
21312 return 12;
21313 case 3:
21314 // op: Rn
21315 return 16;
21316 case 8:
21317 // op: lane
21318 return 5;
21319 }
21320 break;
21321 }
21322 case ARM::VLD3LNd16:
21323 case ARM::VLD3LNq16: {
21324 switch (OpNum) {
21325 case 0:
21326 // op: Vd
21327 return 12;
21328 case 3:
21329 // op: Rn
21330 return 16;
21331 case 8:
21332 // op: lane
21333 return 6;
21334 }
21335 break;
21336 }
21337 case ARM::VLD3LNd32:
21338 case ARM::VLD3LNq32: {
21339 switch (OpNum) {
21340 case 0:
21341 // op: Vd
21342 return 12;
21343 case 3:
21344 // op: Rn
21345 return 16;
21346 case 8:
21347 // op: lane
21348 return 7;
21349 }
21350 break;
21351 }
21352 case ARM::VLD3DUPd8:
21353 case ARM::VLD3DUPd16:
21354 case ARM::VLD3DUPd32:
21355 case ARM::VLD3DUPq8:
21356 case ARM::VLD3DUPq16:
21357 case ARM::VLD3DUPq32: {
21358 switch (OpNum) {
21359 case 0:
21360 // op: Vd
21361 return 12;
21362 case 3:
21363 // op: Rn
21364 return 16;
21365 }
21366 break;
21367 }
21368 case ARM::VLD2LNd8_UPD: {
21369 switch (OpNum) {
21370 case 0:
21371 // op: Vd
21372 return 12;
21373 case 3:
21374 // op: Rn
21375 return 4;
21376 case 5:
21377 // op: Rm
21378 return 0;
21379 case 8:
21380 // op: lane
21381 return 5;
21382 }
21383 break;
21384 }
21385 case ARM::VLD2LNd16_UPD:
21386 case ARM::VLD2LNq16_UPD: {
21387 switch (OpNum) {
21388 case 0:
21389 // op: Vd
21390 return 12;
21391 case 3:
21392 // op: Rn
21393 return 4;
21394 case 5:
21395 // op: Rm
21396 return 0;
21397 case 8:
21398 // op: lane
21399 return 6;
21400 }
21401 break;
21402 }
21403 case ARM::VLD2LNd32_UPD:
21404 case ARM::VLD2LNq32_UPD: {
21405 switch (OpNum) {
21406 case 0:
21407 // op: Vd
21408 return 12;
21409 case 3:
21410 // op: Rn
21411 return 4;
21412 case 5:
21413 // op: Rm
21414 return 0;
21415 case 8:
21416 // op: lane
21417 return 7;
21418 }
21419 break;
21420 }
21421 case ARM::VLD3d8:
21422 case ARM::VLD3d16:
21423 case ARM::VLD3d32:
21424 case ARM::VLD3q8:
21425 case ARM::VLD3q16:
21426 case ARM::VLD3q32: {
21427 switch (OpNum) {
21428 case 0:
21429 // op: Vd
21430 return 12;
21431 case 3:
21432 // op: Rn
21433 return 4;
21434 }
21435 break;
21436 }
21437 case ARM::VLD3LNd8_UPD: {
21438 switch (OpNum) {
21439 case 0:
21440 // op: Vd
21441 return 12;
21442 case 4:
21443 // op: Rn
21444 return 16;
21445 case 6:
21446 // op: Rm
21447 return 0;
21448 case 10:
21449 // op: lane
21450 return 5;
21451 }
21452 break;
21453 }
21454 case ARM::VLD3LNd16_UPD:
21455 case ARM::VLD3LNq16_UPD: {
21456 switch (OpNum) {
21457 case 0:
21458 // op: Vd
21459 return 12;
21460 case 4:
21461 // op: Rn
21462 return 16;
21463 case 6:
21464 // op: Rm
21465 return 0;
21466 case 10:
21467 // op: lane
21468 return 6;
21469 }
21470 break;
21471 }
21472 case ARM::VLD3LNd32_UPD:
21473 case ARM::VLD3LNq32_UPD: {
21474 switch (OpNum) {
21475 case 0:
21476 // op: Vd
21477 return 12;
21478 case 4:
21479 // op: Rn
21480 return 16;
21481 case 6:
21482 // op: Rm
21483 return 0;
21484 case 10:
21485 // op: lane
21486 return 7;
21487 }
21488 break;
21489 }
21490 case ARM::VLD3DUPd8_UPD:
21491 case ARM::VLD3DUPd16_UPD:
21492 case ARM::VLD3DUPd32_UPD:
21493 case ARM::VLD3DUPq8_UPD:
21494 case ARM::VLD3DUPq16_UPD:
21495 case ARM::VLD3DUPq32_UPD: {
21496 switch (OpNum) {
21497 case 0:
21498 // op: Vd
21499 return 12;
21500 case 4:
21501 // op: Rn
21502 return 16;
21503 case 6:
21504 // op: Rm
21505 return 0;
21506 }
21507 break;
21508 }
21509 case ARM::VLD4LNd8: {
21510 switch (OpNum) {
21511 case 0:
21512 // op: Vd
21513 return 12;
21514 case 4:
21515 // op: Rn
21516 return 4;
21517 case 10:
21518 // op: lane
21519 return 5;
21520 }
21521 break;
21522 }
21523 case ARM::VLD4LNd16:
21524 case ARM::VLD4LNq16: {
21525 switch (OpNum) {
21526 case 0:
21527 // op: Vd
21528 return 12;
21529 case 4:
21530 // op: Rn
21531 return 4;
21532 case 10:
21533 // op: lane
21534 return 6;
21535 }
21536 break;
21537 }
21538 case ARM::VLD4LNd32:
21539 case ARM::VLD4LNq32: {
21540 switch (OpNum) {
21541 case 0:
21542 // op: Vd
21543 return 12;
21544 case 4:
21545 // op: Rn
21546 return 4;
21547 case 10:
21548 // op: lane
21549 return 7;
21550 }
21551 break;
21552 }
21553 case ARM::VLD3d8_UPD:
21554 case ARM::VLD3d16_UPD:
21555 case ARM::VLD3d32_UPD:
21556 case ARM::VLD3q8_UPD:
21557 case ARM::VLD3q16_UPD:
21558 case ARM::VLD3q32_UPD: {
21559 switch (OpNum) {
21560 case 0:
21561 // op: Vd
21562 return 12;
21563 case 4:
21564 // op: Rn
21565 return 4;
21566 case 6:
21567 // op: Rm
21568 return 0;
21569 }
21570 break;
21571 }
21572 case ARM::VLD4DUPd8:
21573 case ARM::VLD4DUPd16:
21574 case ARM::VLD4DUPd32:
21575 case ARM::VLD4DUPq8:
21576 case ARM::VLD4DUPq16:
21577 case ARM::VLD4DUPq32:
21578 case ARM::VLD4d8:
21579 case ARM::VLD4d16:
21580 case ARM::VLD4d32:
21581 case ARM::VLD4q8:
21582 case ARM::VLD4q16:
21583 case ARM::VLD4q32: {
21584 switch (OpNum) {
21585 case 0:
21586 // op: Vd
21587 return 12;
21588 case 4:
21589 // op: Rn
21590 return 4;
21591 }
21592 break;
21593 }
21594 case ARM::VLD4LNd8_UPD: {
21595 switch (OpNum) {
21596 case 0:
21597 // op: Vd
21598 return 12;
21599 case 5:
21600 // op: Rn
21601 return 4;
21602 case 7:
21603 // op: Rm
21604 return 0;
21605 case 12:
21606 // op: lane
21607 return 5;
21608 }
21609 break;
21610 }
21611 case ARM::VLD4LNd16_UPD:
21612 case ARM::VLD4LNq16_UPD: {
21613 switch (OpNum) {
21614 case 0:
21615 // op: Vd
21616 return 12;
21617 case 5:
21618 // op: Rn
21619 return 4;
21620 case 7:
21621 // op: Rm
21622 return 0;
21623 case 12:
21624 // op: lane
21625 return 6;
21626 }
21627 break;
21628 }
21629 case ARM::VLD4LNd32_UPD:
21630 case ARM::VLD4LNq32_UPD: {
21631 switch (OpNum) {
21632 case 0:
21633 // op: Vd
21634 return 12;
21635 case 5:
21636 // op: Rn
21637 return 4;
21638 case 7:
21639 // op: Rm
21640 return 0;
21641 case 12:
21642 // op: lane
21643 return 7;
21644 }
21645 break;
21646 }
21647 case ARM::VLD4DUPd8_UPD:
21648 case ARM::VLD4DUPd16_UPD:
21649 case ARM::VLD4DUPd32_UPD:
21650 case ARM::VLD4DUPq8_UPD:
21651 case ARM::VLD4DUPq16_UPD:
21652 case ARM::VLD4DUPq32_UPD:
21653 case ARM::VLD4d8_UPD:
21654 case ARM::VLD4d16_UPD:
21655 case ARM::VLD4d32_UPD:
21656 case ARM::VLD4q8_UPD:
21657 case ARM::VLD4q16_UPD:
21658 case ARM::VLD4q32_UPD: {
21659 switch (OpNum) {
21660 case 0:
21661 // op: Vd
21662 return 12;
21663 case 5:
21664 // op: Rn
21665 return 4;
21666 case 7:
21667 // op: Rm
21668 return 0;
21669 }
21670 break;
21671 }
21672 case ARM::PLDWi12:
21673 case ARM::PLDi12:
21674 case ARM::PLIi12:
21675 case ARM::t2PLDWi8:
21676 case ARM::t2PLDWi12:
21677 case ARM::t2PLDWs:
21678 case ARM::t2PLDi8:
21679 case ARM::t2PLDi12:
21680 case ARM::t2PLDpci:
21681 case ARM::t2PLDs:
21682 case ARM::t2PLIi8:
21683 case ARM::t2PLIi12:
21684 case ARM::t2PLIpci:
21685 case ARM::t2PLIs: {
21686 switch (OpNum) {
21687 case 0:
21688 // op: addr
21689 return 0;
21690 }
21691 break;
21692 }
21693 case ARM::t2BFLr:
21694 case ARM::t2BFr: {
21695 switch (OpNum) {
21696 case 0:
21697 // op: b_label
21698 return 23;
21699 case 1:
21700 // op: Rn
21701 return 16;
21702 }
21703 break;
21704 }
21705 case ARM::t2BFLi:
21706 case ARM::t2BFi: {
21707 switch (OpNum) {
21708 case 0:
21709 // op: b_label
21710 return 23;
21711 case 1:
21712 // op: label
21713 return 1;
21714 }
21715 break;
21716 }
21717 case ARM::t2MSRbanked: {
21718 switch (OpNum) {
21719 case 0:
21720 // op: banked
21721 return 4;
21722 case 1:
21723 // op: Rn
21724 return 16;
21725 }
21726 break;
21727 }
21728 case ARM::t2IT: {
21729 switch (OpNum) {
21730 case 0:
21731 // op: cc
21732 return 4;
21733 case 1:
21734 // op: mask
21735 return 0;
21736 }
21737 break;
21738 }
21739 case ARM::BX:
21740 case ARM::tPICADD: {
21741 switch (OpNum) {
21742 case 0:
21743 // op: dst
21744 return 0;
21745 }
21746 break;
21747 }
21748 case ARM::tADDrSPi: {
21749 switch (OpNum) {
21750 case 0:
21751 // op: dst
21752 return 8;
21753 case 2:
21754 // op: imm
21755 return 0;
21756 }
21757 break;
21758 }
21759 case ARM::tSETEND: {
21760 switch (OpNum) {
21761 case 0:
21762 // op: end
21763 return 3;
21764 }
21765 break;
21766 }
21767 case ARM::SETEND: {
21768 switch (OpNum) {
21769 case 0:
21770 // op: end
21771 return 9;
21772 }
21773 break;
21774 }
21775 case ARM::BL:
21776 case ARM::BLX: {
21777 switch (OpNum) {
21778 case 0:
21779 // op: func
21780 return 0;
21781 }
21782 break;
21783 }
21784 case ARM::t2BXJ: {
21785 switch (OpNum) {
21786 case 0:
21787 // op: func
21788 return 16;
21789 }
21790 break;
21791 }
21792 case ARM::HVC:
21793 case ARM::t2HINT:
21794 case ARM::t2SUBS_PC_LR:
21795 case ARM::tSVC: {
21796 switch (OpNum) {
21797 case 0:
21798 // op: imm
21799 return 0;
21800 }
21801 break;
21802 }
21803 case ARM::t2SETPAN: {
21804 switch (OpNum) {
21805 case 0:
21806 // op: imm
21807 return 3;
21808 }
21809 break;
21810 }
21811 case ARM::tHINT: {
21812 switch (OpNum) {
21813 case 0:
21814 // op: imm
21815 return 4;
21816 }
21817 break;
21818 }
21819 case ARM::SETPAN: {
21820 switch (OpNum) {
21821 case 0:
21822 // op: imm
21823 return 9;
21824 }
21825 break;
21826 }
21827 case ARM::UDF:
21828 case ARM::t2HVC:
21829 case ARM::t2UDF: {
21830 switch (OpNum) {
21831 case 0:
21832 // op: imm16
21833 return 0;
21834 }
21835 break;
21836 }
21837 case ARM::tUDF: {
21838 switch (OpNum) {
21839 case 0:
21840 // op: imm8
21841 return 0;
21842 }
21843 break;
21844 }
21845 case ARM::CPS3p: {
21846 switch (OpNum) {
21847 case 0:
21848 // op: imod
21849 return 18;
21850 case 1:
21851 // op: iflags
21852 return 6;
21853 case 2:
21854 // op: mode
21855 return 0;
21856 }
21857 break;
21858 }
21859 case ARM::CPS2p: {
21860 switch (OpNum) {
21861 case 0:
21862 // op: imod
21863 return 18;
21864 case 1:
21865 // op: iflags
21866 return 6;
21867 }
21868 break;
21869 }
21870 case ARM::tCPS: {
21871 switch (OpNum) {
21872 case 0:
21873 // op: imod
21874 return 4;
21875 case 1:
21876 // op: iflags
21877 return 0;
21878 }
21879 break;
21880 }
21881 case ARM::t2CPS3p: {
21882 switch (OpNum) {
21883 case 0:
21884 // op: imod
21885 return 9;
21886 case 1:
21887 // op: iflags
21888 return 5;
21889 case 2:
21890 // op: mode
21891 return 0;
21892 }
21893 break;
21894 }
21895 case ARM::t2CPS2p: {
21896 switch (OpNum) {
21897 case 0:
21898 // op: imod
21899 return 9;
21900 case 1:
21901 // op: iflags
21902 return 5;
21903 }
21904 break;
21905 }
21906 case ARM::t2LE: {
21907 switch (OpNum) {
21908 case 0:
21909 // op: label
21910 return 1;
21911 }
21912 break;
21913 }
21914 case ARM::t2MSR_AR: {
21915 switch (OpNum) {
21916 case 0:
21917 // op: mask
21918 return 8;
21919 case 1:
21920 // op: Rn
21921 return 16;
21922 }
21923 break;
21924 }
21925 case ARM::CPS1p:
21926 case ARM::SRSDA:
21927 case ARM::SRSDA_UPD:
21928 case ARM::SRSDB:
21929 case ARM::SRSDB_UPD:
21930 case ARM::SRSIA:
21931 case ARM::SRSIA_UPD:
21932 case ARM::SRSIB:
21933 case ARM::SRSIB_UPD:
21934 case ARM::t2CPS1p:
21935 case ARM::t2SRSDB:
21936 case ARM::t2SRSDB_UPD:
21937 case ARM::t2SRSIA:
21938 case ARM::t2SRSIA_UPD: {
21939 switch (OpNum) {
21940 case 0:
21941 // op: mode
21942 return 0;
21943 }
21944 break;
21945 }
21946 case ARM::DMB:
21947 case ARM::DSB:
21948 case ARM::ISB:
21949 case ARM::t2DBG:
21950 case ARM::t2DMB:
21951 case ARM::t2DSB:
21952 case ARM::t2ISB: {
21953 switch (OpNum) {
21954 case 0:
21955 // op: opt
21956 return 0;
21957 }
21958 break;
21959 }
21960 case ARM::t2SMC: {
21961 switch (OpNum) {
21962 case 0:
21963 // op: opt
21964 return 16;
21965 }
21966 break;
21967 }
21968 case ARM::BX_RET:
21969 case ARM::ERET:
21970 case ARM::FMSTAT:
21971 case ARM::MOVPCLR: {
21972 switch (OpNum) {
21973 case 0:
21974 // op: p
21975 return 28;
21976 }
21977 break;
21978 }
21979 case ARM::PLDWrs:
21980 case ARM::PLDrs:
21981 case ARM::PLIrs: {
21982 switch (OpNum) {
21983 case 0:
21984 // op: shift
21985 return 0;
21986 }
21987 break;
21988 }
21989 case ARM::BLXi:
21990 case ARM::t2B:
21991 case ARM::tB: {
21992 switch (OpNum) {
21993 case 0:
21994 // op: target
21995 return 0;
21996 }
21997 break;
21998 }
21999 case ARM::BKPT:
22000 case ARM::HLT:
22001 case ARM::tBKPT:
22002 case ARM::tHLT: {
22003 switch (OpNum) {
22004 case 0:
22005 // op: val
22006 return 0;
22007 }
22008 break;
22009 }
22010 case ARM::MVE_VLDRBS16_pre:
22011 case ARM::MVE_VLDRBS32_pre:
22012 case ARM::MVE_VLDRBU8_pre:
22013 case ARM::MVE_VLDRBU16_pre:
22014 case ARM::MVE_VLDRBU32_pre:
22015 case ARM::MVE_VLDRDU64_qi_pre:
22016 case ARM::MVE_VLDRHS32_pre:
22017 case ARM::MVE_VLDRHU16_pre:
22018 case ARM::MVE_VLDRHU32_pre:
22019 case ARM::MVE_VLDRWU32_pre:
22020 case ARM::MVE_VLDRWU32_qi_pre:
22021 case ARM::MVE_VSTRB16_pre:
22022 case ARM::MVE_VSTRB32_pre:
22023 case ARM::MVE_VSTRBU8_pre:
22024 case ARM::MVE_VSTRD64_qi_pre:
22025 case ARM::MVE_VSTRH32_pre:
22026 case ARM::MVE_VSTRHU16_pre:
22027 case ARM::MVE_VSTRW32_qi_pre:
22028 case ARM::MVE_VSTRWU32_pre: {
22029 switch (OpNum) {
22030 case 1:
22031 // op: Qd
22032 return 13;
22033 case 2:
22034 // op: addr
22035 return 0;
22036 }
22037 break;
22038 }
22039 case ARM::MVE_VLDRBS16_post:
22040 case ARM::MVE_VLDRBS32_post:
22041 case ARM::MVE_VLDRBU8_post:
22042 case ARM::MVE_VLDRBU16_post:
22043 case ARM::MVE_VLDRBU32_post:
22044 case ARM::MVE_VLDRHS32_post:
22045 case ARM::MVE_VLDRHU16_post:
22046 case ARM::MVE_VLDRHU32_post:
22047 case ARM::MVE_VLDRWU32_post:
22048 case ARM::MVE_VSTRB16_post:
22049 case ARM::MVE_VSTRB32_post:
22050 case ARM::MVE_VSTRBU8_post:
22051 case ARM::MVE_VSTRH32_post:
22052 case ARM::MVE_VSTRHU16_post:
22053 case ARM::MVE_VSTRWU32_post: {
22054 switch (OpNum) {
22055 case 1:
22056 // op: Qd
22057 return 13;
22058 case 3:
22059 // op: addr
22060 return 0;
22061 case 2:
22062 // op: Rn
22063 return 16;
22064 }
22065 break;
22066 }
22067 case ARM::MVE_VMOV_from_lane_32: {
22068 switch (OpNum) {
22069 case 1:
22070 // op: Qd
22071 return 7;
22072 case 0:
22073 // op: Rt
22074 return 12;
22075 case 2:
22076 // op: Idx
22077 return 16;
22078 }
22079 break;
22080 }
22081 case ARM::MVE_VMOV_from_lane_s8:
22082 case ARM::MVE_VMOV_from_lane_u8: {
22083 switch (OpNum) {
22084 case 1:
22085 // op: Qd
22086 return 7;
22087 case 0:
22088 // op: Rt
22089 return 12;
22090 case 2:
22091 // op: Idx
22092 return 5;
22093 }
22094 break;
22095 }
22096 case ARM::MVE_VMOV_from_lane_s16:
22097 case ARM::MVE_VMOV_from_lane_u16: {
22098 switch (OpNum) {
22099 case 1:
22100 // op: Qd
22101 return 7;
22102 case 0:
22103 // op: Rt
22104 return 12;
22105 case 2:
22106 // op: Idx
22107 return 6;
22108 }
22109 break;
22110 }
22111 case ARM::MVE_VCVTf16s16_fix:
22112 case ARM::MVE_VCVTf16u16_fix:
22113 case ARM::MVE_VCVTf32s32_fix:
22114 case ARM::MVE_VCVTf32u32_fix:
22115 case ARM::MVE_VCVTs16f16_fix:
22116 case ARM::MVE_VCVTs32f32_fix:
22117 case ARM::MVE_VCVTu16f16_fix:
22118 case ARM::MVE_VCVTu32f32_fix: {
22119 switch (OpNum) {
22120 case 1:
22121 // op: Qm
22122 return 1;
22123 case 0:
22124 // op: Qd
22125 return 13;
22126 case 2:
22127 // op: imm6
22128 return 16;
22129 }
22130 break;
22131 }
22132 case ARM::MVE_VABSf16:
22133 case ARM::MVE_VABSf32:
22134 case ARM::MVE_VCVTf16s16n:
22135 case ARM::MVE_VCVTf16u16n:
22136 case ARM::MVE_VCVTf32s32n:
22137 case ARM::MVE_VCVTf32u32n:
22138 case ARM::MVE_VCVTs16f16a:
22139 case ARM::MVE_VCVTs16f16m:
22140 case ARM::MVE_VCVTs16f16n:
22141 case ARM::MVE_VCVTs16f16p:
22142 case ARM::MVE_VCVTs16f16z:
22143 case ARM::MVE_VCVTs32f32a:
22144 case ARM::MVE_VCVTs32f32m:
22145 case ARM::MVE_VCVTs32f32n:
22146 case ARM::MVE_VCVTs32f32p:
22147 case ARM::MVE_VCVTs32f32z:
22148 case ARM::MVE_VCVTu16f16a:
22149 case ARM::MVE_VCVTu16f16m:
22150 case ARM::MVE_VCVTu16f16n:
22151 case ARM::MVE_VCVTu16f16p:
22152 case ARM::MVE_VCVTu16f16z:
22153 case ARM::MVE_VCVTu32f32a:
22154 case ARM::MVE_VCVTu32f32m:
22155 case ARM::MVE_VCVTu32f32n:
22156 case ARM::MVE_VCVTu32f32p:
22157 case ARM::MVE_VCVTu32f32z:
22158 case ARM::MVE_VNEGf16:
22159 case ARM::MVE_VNEGf32:
22160 case ARM::MVE_VRINTf16A:
22161 case ARM::MVE_VRINTf16M:
22162 case ARM::MVE_VRINTf16N:
22163 case ARM::MVE_VRINTf16P:
22164 case ARM::MVE_VRINTf16X:
22165 case ARM::MVE_VRINTf16Z:
22166 case ARM::MVE_VRINTf32A:
22167 case ARM::MVE_VRINTf32M:
22168 case ARM::MVE_VRINTf32N:
22169 case ARM::MVE_VRINTf32P:
22170 case ARM::MVE_VRINTf32X:
22171 case ARM::MVE_VRINTf32Z: {
22172 switch (OpNum) {
22173 case 1:
22174 // op: Qm
22175 return 1;
22176 case 0:
22177 // op: Qd
22178 return 13;
22179 }
22180 break;
22181 }
22182 case ARM::MVE_VADDVs8no_acc:
22183 case ARM::MVE_VADDVs16no_acc:
22184 case ARM::MVE_VADDVs32no_acc:
22185 case ARM::MVE_VADDVu8no_acc:
22186 case ARM::MVE_VADDVu16no_acc:
22187 case ARM::MVE_VADDVu32no_acc: {
22188 switch (OpNum) {
22189 case 1:
22190 // op: Qm
22191 return 1;
22192 case 0:
22193 // op: Rda
22194 return 13;
22195 }
22196 break;
22197 }
22198 case ARM::MVE_VPSEL: {
22199 switch (OpNum) {
22200 case 1:
22201 // op: Qn
22202 return 7;
22203 case 0:
22204 // op: Qd
22205 return 13;
22206 case 2:
22207 // op: Qm
22208 return 1;
22209 }
22210 break;
22211 }
22212 case ARM::t2SMLALD:
22213 case ARM::t2SMLALDX:
22214 case ARM::t2SMLSLD:
22215 case ARM::t2SMLSLDX: {
22216 switch (OpNum) {
22217 case 1:
22218 // op: Rd
22219 return 8;
22220 case 2:
22221 // op: Rn
22222 return 16;
22223 case 3:
22224 // op: Rm
22225 return 0;
22226 case 0:
22227 // op: Ra
22228 return 12;
22229 }
22230 break;
22231 }
22232 case ARM::tREV:
22233 case ARM::tREV16:
22234 case ARM::tREVSH:
22235 case ARM::tSXTB:
22236 case ARM::tSXTH:
22237 case ARM::tUXTB:
22238 case ARM::tUXTH: {
22239 switch (OpNum) {
22240 case 1:
22241 // op: Rm
22242 return 3;
22243 case 0:
22244 // op: Rd
22245 return 0;
22246 }
22247 break;
22248 }
22249 case ARM::tCMNz:
22250 case ARM::tCMPhir:
22251 case ARM::tCMPr:
22252 case ARM::tTST: {
22253 switch (OpNum) {
22254 case 1:
22255 // op: Rm
22256 return 3;
22257 case 0:
22258 // op: Rn
22259 return 0;
22260 }
22261 break;
22262 }
22263 case ARM::t2TT:
22264 case ARM::t2TTA:
22265 case ARM::t2TTAT:
22266 case ARM::t2TTT: {
22267 switch (OpNum) {
22268 case 1:
22269 // op: Rn
22270 return 16;
22271 case 0:
22272 // op: Rt
22273 return 8;
22274 }
22275 break;
22276 }
22277 case ARM::MVE_WLSTP_8:
22278 case ARM::MVE_WLSTP_16:
22279 case ARM::MVE_WLSTP_32:
22280 case ARM::MVE_WLSTP_64:
22281 case ARM::t2WLS: {
22282 switch (OpNum) {
22283 case 1:
22284 // op: Rn
22285 return 16;
22286 case 2:
22287 // op: label
22288 return 1;
22289 }
22290 break;
22291 }
22292 case ARM::t2LDMDB_UPD:
22293 case ARM::t2LDMIA_UPD:
22294 case ARM::t2STMDB_UPD:
22295 case ARM::t2STMIA_UPD: {
22296 switch (OpNum) {
22297 case 1:
22298 // op: Rn
22299 return 16;
22300 case 4:
22301 // op: regs
22302 return 0;
22303 }
22304 break;
22305 }
22306 case ARM::MVE_DLSTP_8:
22307 case ARM::MVE_DLSTP_16:
22308 case ARM::MVE_DLSTP_32:
22309 case ARM::MVE_DLSTP_64:
22310 case ARM::MVE_VCTP8:
22311 case ARM::MVE_VCTP16:
22312 case ARM::MVE_VCTP32:
22313 case ARM::MVE_VCTP64:
22314 case ARM::t2DLS: {
22315 switch (OpNum) {
22316 case 1:
22317 // op: Rn
22318 return 16;
22319 }
22320 break;
22321 }
22322 case ARM::tSTMIA_UPD: {
22323 switch (OpNum) {
22324 case 1:
22325 // op: Rn
22326 return 8;
22327 case 4:
22328 // op: regs
22329 return 0;
22330 }
22331 break;
22332 }
22333 case ARM::t2STRB_POST:
22334 case ARM::t2STRH_POST:
22335 case ARM::t2STR_POST: {
22336 switch (OpNum) {
22337 case 1:
22338 // op: Rt
22339 return 12;
22340 case 2:
22341 // op: Rn
22342 return 16;
22343 case 3:
22344 // op: offset
22345 return 0;
22346 }
22347 break;
22348 }
22349 case ARM::t2STRD_PRE: {
22350 switch (OpNum) {
22351 case 1:
22352 // op: Rt
22353 return 12;
22354 case 2:
22355 // op: Rt2
22356 return 8;
22357 case 3:
22358 // op: addr
22359 return 0;
22360 }
22361 break;
22362 }
22363 case ARM::t2STRD_POST: {
22364 switch (OpNum) {
22365 case 1:
22366 // op: Rt
22367 return 12;
22368 case 2:
22369 // op: Rt2
22370 return 8;
22371 case 3:
22372 // op: addr
22373 return 16;
22374 case 4:
22375 // op: imm
22376 return 0;
22377 }
22378 break;
22379 }
22380 case ARM::t2STRB_PRE:
22381 case ARM::t2STRH_PRE:
22382 case ARM::t2STR_PRE: {
22383 switch (OpNum) {
22384 case 1:
22385 // op: Rt
22386 return 12;
22387 case 2:
22388 // op: addr
22389 return 0;
22390 }
22391 break;
22392 }
22393 case ARM::VGETLNi32: {
22394 switch (OpNum) {
22395 case 1:
22396 // op: V
22397 return 7;
22398 case 0:
22399 // op: R
22400 return 12;
22401 case 3:
22402 // op: p
22403 return 28;
22404 case 2:
22405 // op: lane
22406 return 21;
22407 }
22408 break;
22409 }
22410 case ARM::VGETLNs8:
22411 case ARM::VGETLNu8: {
22412 switch (OpNum) {
22413 case 1:
22414 // op: V
22415 return 7;
22416 case 0:
22417 // op: R
22418 return 12;
22419 case 3:
22420 // op: p
22421 return 28;
22422 case 2:
22423 // op: lane
22424 return 5;
22425 }
22426 break;
22427 }
22428 case ARM::VGETLNs16:
22429 case ARM::VGETLNu16: {
22430 switch (OpNum) {
22431 case 1:
22432 // op: V
22433 return 7;
22434 case 0:
22435 // op: R
22436 return 12;
22437 case 3:
22438 // op: p
22439 return 28;
22440 case 2:
22441 // op: lane
22442 return 6;
22443 }
22444 break;
22445 }
22446 case ARM::MVE_VST20_8_wb:
22447 case ARM::MVE_VST20_16_wb:
22448 case ARM::MVE_VST20_32_wb:
22449 case ARM::MVE_VST21_8_wb:
22450 case ARM::MVE_VST21_16_wb:
22451 case ARM::MVE_VST21_32_wb:
22452 case ARM::MVE_VST40_8_wb:
22453 case ARM::MVE_VST40_16_wb:
22454 case ARM::MVE_VST40_32_wb:
22455 case ARM::MVE_VST41_8_wb:
22456 case ARM::MVE_VST41_16_wb:
22457 case ARM::MVE_VST41_32_wb:
22458 case ARM::MVE_VST42_8_wb:
22459 case ARM::MVE_VST42_16_wb:
22460 case ARM::MVE_VST42_32_wb:
22461 case ARM::MVE_VST43_8_wb:
22462 case ARM::MVE_VST43_16_wb:
22463 case ARM::MVE_VST43_32_wb: {
22464 switch (OpNum) {
22465 case 1:
22466 // op: VQd
22467 return 13;
22468 case 2:
22469 // op: Rn
22470 return 16;
22471 }
22472 break;
22473 }
22474 case ARM::VBF16MALBQI:
22475 case ARM::VBF16MALTQI: {
22476 switch (OpNum) {
22477 case 1:
22478 // op: Vd
22479 return 12;
22480 case 2:
22481 // op: Vn
22482 return 7;
22483 case 3:
22484 // op: Vm
22485 return 0;
22486 case 4:
22487 // op: idx
22488 return 3;
22489 }
22490 break;
22491 }
22492 case ARM::BF16VDOTI_VDOTD:
22493 case ARM::BF16VDOTI_VDOTQ:
22494 case ARM::VSDOTDI:
22495 case ARM::VSDOTQI:
22496 case ARM::VSUDOTDI:
22497 case ARM::VSUDOTQI:
22498 case ARM::VUDOTDI:
22499 case ARM::VUDOTQI:
22500 case ARM::VUSDOTDI:
22501 case ARM::VUSDOTQI: {
22502 switch (OpNum) {
22503 case 1:
22504 // op: Vd
22505 return 12;
22506 case 2:
22507 // op: Vn
22508 return 7;
22509 case 3:
22510 // op: Vm
22511 return 0;
22512 case 4:
22513 // op: lane
22514 return 5;
22515 }
22516 break;
22517 }
22518 case ARM::BF16VDOTS_VDOTD:
22519 case ARM::BF16VDOTS_VDOTQ:
22520 case ARM::VBF16MALBQ:
22521 case ARM::VBF16MALTQ:
22522 case ARM::VMMLA:
22523 case ARM::VSDOTD:
22524 case ARM::VSDOTQ:
22525 case ARM::VSMMLA:
22526 case ARM::VUDOTD:
22527 case ARM::VUDOTQ:
22528 case ARM::VUMMLA:
22529 case ARM::VUSDOTD:
22530 case ARM::VUSDOTQ:
22531 case ARM::VUSMMLA: {
22532 switch (OpNum) {
22533 case 1:
22534 // op: Vd
22535 return 12;
22536 case 2:
22537 // op: Vn
22538 return 7;
22539 case 3:
22540 // op: Vm
22541 return 0;
22542 }
22543 break;
22544 }
22545 case ARM::t2LDAEXB:
22546 case ARM::t2LDAEXH:
22547 case ARM::t2LDREXB:
22548 case ARM::t2LDREXH: {
22549 switch (OpNum) {
22550 case 1:
22551 // op: addr
22552 return 16;
22553 case 0:
22554 // op: Rt
22555 return 12;
22556 }
22557 break;
22558 }
22559 case ARM::t2MRSbanked: {
22560 switch (OpNum) {
22561 case 1:
22562 // op: banked
22563 return 4;
22564 case 0:
22565 // op: Rd
22566 return 8;
22567 }
22568 break;
22569 }
22570 case ARM::CDE_VCX1_vec: {
22571 switch (OpNum) {
22572 case 1:
22573 // op: coproc
22574 return 8;
22575 case 2:
22576 // op: imm
22577 return 0;
22578 case 0:
22579 // op: Qd
22580 return 13;
22581 }
22582 break;
22583 }
22584 case ARM::CDE_CX1:
22585 case ARM::CDE_CX1D: {
22586 switch (OpNum) {
22587 case 1:
22588 // op: coproc
22589 return 8;
22590 case 2:
22591 // op: imm
22592 return 0;
22593 case 0:
22594 // op: Rd
22595 return 12;
22596 }
22597 break;
22598 }
22599 case ARM::CDE_VCX1_fpdp:
22600 case ARM::CDE_VCX1_fpsp: {
22601 switch (OpNum) {
22602 case 1:
22603 // op: coproc
22604 return 8;
22605 case 2:
22606 // op: imm
22607 return 0;
22608 case 0:
22609 // op: Vd
22610 return 12;
22611 }
22612 break;
22613 }
22614 case ARM::CDE_VCX1A_vec: {
22615 switch (OpNum) {
22616 case 1:
22617 // op: coproc
22618 return 8;
22619 case 3:
22620 // op: imm
22621 return 0;
22622 case 0:
22623 // op: Qd
22624 return 13;
22625 }
22626 break;
22627 }
22628 case ARM::CDE_CX2:
22629 case ARM::CDE_CX2D: {
22630 switch (OpNum) {
22631 case 1:
22632 // op: coproc
22633 return 8;
22634 case 3:
22635 // op: imm
22636 return 0;
22637 case 0:
22638 // op: Rd
22639 return 12;
22640 case 2:
22641 // op: Rn
22642 return 16;
22643 }
22644 break;
22645 }
22646 case ARM::CDE_CX1A:
22647 case ARM::CDE_CX1DA: {
22648 switch (OpNum) {
22649 case 1:
22650 // op: coproc
22651 return 8;
22652 case 3:
22653 // op: imm
22654 return 0;
22655 case 0:
22656 // op: Rd
22657 return 12;
22658 }
22659 break;
22660 }
22661 case ARM::CDE_VCX1A_fpdp:
22662 case ARM::CDE_VCX1A_fpsp: {
22663 switch (OpNum) {
22664 case 1:
22665 // op: coproc
22666 return 8;
22667 case 3:
22668 // op: imm
22669 return 0;
22670 case 0:
22671 // op: Vd
22672 return 12;
22673 }
22674 break;
22675 }
22676 case ARM::CDE_VCX2_vec: {
22677 switch (OpNum) {
22678 case 1:
22679 // op: coproc
22680 return 8;
22681 case 3:
22682 // op: imm
22683 return 4;
22684 case 0:
22685 // op: Qd
22686 return 13;
22687 case 2:
22688 // op: Qm
22689 return 1;
22690 }
22691 break;
22692 }
22693 case ARM::CDE_VCX2_fpdp:
22694 case ARM::CDE_VCX2_fpsp: {
22695 switch (OpNum) {
22696 case 1:
22697 // op: coproc
22698 return 8;
22699 case 3:
22700 // op: imm
22701 return 4;
22702 case 0:
22703 // op: Vd
22704 return 12;
22705 case 2:
22706 // op: Vm
22707 return 0;
22708 }
22709 break;
22710 }
22711 case ARM::CDE_CX2A:
22712 case ARM::CDE_CX2DA: {
22713 switch (OpNum) {
22714 case 1:
22715 // op: coproc
22716 return 8;
22717 case 4:
22718 // op: imm
22719 return 0;
22720 case 0:
22721 // op: Rd
22722 return 12;
22723 case 3:
22724 // op: Rn
22725 return 16;
22726 }
22727 break;
22728 }
22729 case ARM::CDE_VCX3_vec: {
22730 switch (OpNum) {
22731 case 1:
22732 // op: coproc
22733 return 8;
22734 case 4:
22735 // op: imm
22736 return 4;
22737 case 0:
22738 // op: Qd
22739 return 13;
22740 case 3:
22741 // op: Qm
22742 return 1;
22743 case 2:
22744 // op: Qn
22745 return 17;
22746 }
22747 break;
22748 }
22749 case ARM::CDE_VCX2A_vec: {
22750 switch (OpNum) {
22751 case 1:
22752 // op: coproc
22753 return 8;
22754 case 4:
22755 // op: imm
22756 return 4;
22757 case 0:
22758 // op: Qd
22759 return 13;
22760 case 3:
22761 // op: Qm
22762 return 1;
22763 }
22764 break;
22765 }
22766 case ARM::CDE_CX3:
22767 case ARM::CDE_CX3D: {
22768 switch (OpNum) {
22769 case 1:
22770 // op: coproc
22771 return 8;
22772 case 4:
22773 // op: imm
22774 return 4;
22775 case 0:
22776 // op: Rd
22777 return 0;
22778 case 2:
22779 // op: Rn
22780 return 16;
22781 case 3:
22782 // op: Rm
22783 return 12;
22784 }
22785 break;
22786 }
22787 case ARM::CDE_VCX3_fpdp:
22788 case ARM::CDE_VCX3_fpsp: {
22789 switch (OpNum) {
22790 case 1:
22791 // op: coproc
22792 return 8;
22793 case 4:
22794 // op: imm
22795 return 4;
22796 case 0:
22797 // op: Vd
22798 return 12;
22799 case 3:
22800 // op: Vm
22801 return 0;
22802 case 2:
22803 // op: Vn
22804 return 7;
22805 }
22806 break;
22807 }
22808 case ARM::CDE_VCX2A_fpdp:
22809 case ARM::CDE_VCX2A_fpsp: {
22810 switch (OpNum) {
22811 case 1:
22812 // op: coproc
22813 return 8;
22814 case 4:
22815 // op: imm
22816 return 4;
22817 case 0:
22818 // op: Vd
22819 return 12;
22820 case 3:
22821 // op: Vm
22822 return 0;
22823 }
22824 break;
22825 }
22826 case ARM::CDE_VCX3A_vec: {
22827 switch (OpNum) {
22828 case 1:
22829 // op: coproc
22830 return 8;
22831 case 5:
22832 // op: imm
22833 return 4;
22834 case 0:
22835 // op: Qd
22836 return 13;
22837 case 4:
22838 // op: Qm
22839 return 1;
22840 case 3:
22841 // op: Qn
22842 return 17;
22843 }
22844 break;
22845 }
22846 case ARM::CDE_CX3A:
22847 case ARM::CDE_CX3DA: {
22848 switch (OpNum) {
22849 case 1:
22850 // op: coproc
22851 return 8;
22852 case 5:
22853 // op: imm
22854 return 4;
22855 case 0:
22856 // op: Rd
22857 return 0;
22858 case 3:
22859 // op: Rn
22860 return 16;
22861 case 4:
22862 // op: Rm
22863 return 12;
22864 }
22865 break;
22866 }
22867 case ARM::CDE_VCX3A_fpdp:
22868 case ARM::CDE_VCX3A_fpsp: {
22869 switch (OpNum) {
22870 case 1:
22871 // op: coproc
22872 return 8;
22873 case 5:
22874 // op: imm
22875 return 4;
22876 case 0:
22877 // op: Vd
22878 return 12;
22879 case 4:
22880 // op: Vm
22881 return 0;
22882 case 3:
22883 // op: Vn
22884 return 7;
22885 }
22886 break;
22887 }
22888 case ARM::MVE_VMOVimmf32:
22889 case ARM::MVE_VMOVimmi8:
22890 case ARM::MVE_VMOVimmi16:
22891 case ARM::MVE_VMOVimmi32:
22892 case ARM::MVE_VMOVimmi64:
22893 case ARM::MVE_VMVNimmi16:
22894 case ARM::MVE_VMVNimmi32: {
22895 switch (OpNum) {
22896 case 1:
22897 // op: imm
22898 return 0;
22899 case 0:
22900 // op: Qd
22901 return 13;
22902 }
22903 break;
22904 }
22905 case ARM::CDP2:
22906 case ARM::t2CDP:
22907 case ARM::t2CDP2: {
22908 switch (OpNum) {
22909 case 1:
22910 // op: opc1
22911 return 20;
22912 case 3:
22913 // op: CRn
22914 return 16;
22915 case 2:
22916 // op: CRd
22917 return 12;
22918 case 0:
22919 // op: cop
22920 return 8;
22921 case 5:
22922 // op: opc2
22923 return 5;
22924 case 4:
22925 // op: CRm
22926 return 0;
22927 }
22928 break;
22929 }
22930 case ARM::t2Bcc: {
22931 switch (OpNum) {
22932 case 1:
22933 // op: p
22934 return 22;
22935 case 0:
22936 // op: target
22937 return 0;
22938 }
22939 break;
22940 }
22941 case ARM::VCMPEZD:
22942 case ARM::VCMPZD: {
22943 switch (OpNum) {
22944 case 1:
22945 // op: p
22946 return 28;
22947 case 0:
22948 // op: Dd
22949 return 12;
22950 }
22951 break;
22952 }
22953 case ARM::MRS:
22954 case ARM::MRSsys: {
22955 switch (OpNum) {
22956 case 1:
22957 // op: p
22958 return 28;
22959 case 0:
22960 // op: Rd
22961 return 12;
22962 }
22963 break;
22964 }
22965 case ARM::VLDMSIA:
22966 case ARM::VSTMSIA: {
22967 switch (OpNum) {
22968 case 1:
22969 // op: p
22970 return 28;
22971 case 0:
22972 // op: Rn
22973 return 16;
22974 case 3:
22975 // op: regs
22976 return 0;
22977 }
22978 break;
22979 }
22980 case ARM::FLDMXIA:
22981 case ARM::FSTMXIA:
22982 case ARM::VLDMDIA:
22983 case ARM::VSTMDIA: {
22984 switch (OpNum) {
22985 case 1:
22986 // op: p
22987 return 28;
22988 case 0:
22989 // op: Rn
22990 return 16;
22991 case 3:
22992 // op: regs
22993 return 1;
22994 }
22995 break;
22996 }
22997 case ARM::VMRS:
22998 case ARM::VMRS_FPCXTNS:
22999 case ARM::VMRS_FPCXTS:
23000 case ARM::VMRS_FPEXC:
23001 case ARM::VMRS_FPINST:
23002 case ARM::VMRS_FPINST2:
23003 case ARM::VMRS_FPSID:
23004 case ARM::VMRS_MVFR0:
23005 case ARM::VMRS_MVFR1:
23006 case ARM::VMRS_MVFR2:
23007 case ARM::VMRS_VPR:
23008 case ARM::VMSR:
23009 case ARM::VMSR_FPCXTNS:
23010 case ARM::VMSR_FPCXTS:
23011 case ARM::VMSR_FPEXC:
23012 case ARM::VMSR_FPINST:
23013 case ARM::VMSR_FPINST2:
23014 case ARM::VMSR_FPSID:
23015 case ARM::VMSR_VPR: {
23016 switch (OpNum) {
23017 case 1:
23018 // op: p
23019 return 28;
23020 case 0:
23021 // op: Rt
23022 return 12;
23023 }
23024 break;
23025 }
23026 case ARM::VCMPEZH:
23027 case ARM::VCMPEZS:
23028 case ARM::VCMPZH:
23029 case ARM::VCMPZS: {
23030 switch (OpNum) {
23031 case 1:
23032 // op: p
23033 return 28;
23034 case 0:
23035 // op: Sd
23036 return 12;
23037 }
23038 break;
23039 }
23040 case ARM::BX_pred: {
23041 switch (OpNum) {
23042 case 1:
23043 // op: p
23044 return 28;
23045 case 0:
23046 // op: dst
23047 return 0;
23048 }
23049 break;
23050 }
23051 case ARM::BLX_pred:
23052 case ARM::BL_pred:
23053 case ARM::BXJ: {
23054 switch (OpNum) {
23055 case 1:
23056 // op: p
23057 return 28;
23058 case 0:
23059 // op: func
23060 return 0;
23061 }
23062 break;
23063 }
23064 case ARM::HINT: {
23065 switch (OpNum) {
23066 case 1:
23067 // op: p
23068 return 28;
23069 case 0:
23070 // op: imm
23071 return 0;
23072 }
23073 break;
23074 }
23075 case ARM::DBG:
23076 case ARM::SMC: {
23077 switch (OpNum) {
23078 case 1:
23079 // op: p
23080 return 28;
23081 case 0:
23082 // op: opt
23083 return 0;
23084 }
23085 break;
23086 }
23087 case ARM::SVC: {
23088 switch (OpNum) {
23089 case 1:
23090 // op: p
23091 return 28;
23092 case 0:
23093 // op: svc
23094 return 0;
23095 }
23096 break;
23097 }
23098 case ARM::Bcc: {
23099 switch (OpNum) {
23100 case 1:
23101 // op: p
23102 return 28;
23103 case 0:
23104 // op: target
23105 return 0;
23106 }
23107 break;
23108 }
23109 case ARM::LDMDA:
23110 case ARM::LDMDB:
23111 case ARM::LDMIA:
23112 case ARM::LDMIB:
23113 case ARM::STMDA:
23114 case ARM::STMDB:
23115 case ARM::STMIA:
23116 case ARM::STMIB:
23117 case ARM::sysLDMDA:
23118 case ARM::sysLDMDB:
23119 case ARM::sysLDMIA:
23120 case ARM::sysLDMIB:
23121 case ARM::sysSTMDA:
23122 case ARM::sysSTMDB:
23123 case ARM::sysSTMIA:
23124 case ARM::sysSTMIB: {
23125 switch (OpNum) {
23126 case 1:
23127 // op: p
23128 return 28;
23129 case 3:
23130 // op: regs
23131 return 0;
23132 case 0:
23133 // op: Rn
23134 return 16;
23135 }
23136 break;
23137 }
23138 case ARM::tBcc: {
23139 switch (OpNum) {
23140 case 1:
23141 // op: p
23142 return 8;
23143 case 0:
23144 // op: target
23145 return 0;
23146 }
23147 break;
23148 }
23149 case ARM::tCBNZ:
23150 case ARM::tCBZ: {
23151 switch (OpNum) {
23152 case 1:
23153 // op: target
23154 return 3;
23155 case 0:
23156 // op: Rn
23157 return 0;
23158 }
23159 break;
23160 }
23161 case ARM::MVE_VCADDf16:
23162 case ARM::MVE_VCADDf32: {
23163 switch (OpNum) {
23164 case 2:
23165 // op: Qm
23166 return 1;
23167 case 0:
23168 // op: Qd
23169 return 13;
23170 case 1:
23171 // op: Qn
23172 return 7;
23173 case 3:
23174 // op: rot
23175 return 24;
23176 }
23177 break;
23178 }
23179 case ARM::MVE_VABDf16:
23180 case ARM::MVE_VABDf32:
23181 case ARM::MVE_VADDf16:
23182 case ARM::MVE_VADDf32:
23183 case ARM::MVE_VMULf16:
23184 case ARM::MVE_VMULf32:
23185 case ARM::MVE_VSUBf16:
23186 case ARM::MVE_VSUBf32: {
23187 switch (OpNum) {
23188 case 2:
23189 // op: Qm
23190 return 1;
23191 case 0:
23192 // op: Qd
23193 return 13;
23194 case 1:
23195 // op: Qn
23196 return 7;
23197 }
23198 break;
23199 }
23200 case ARM::MVE_VADDVs8acc:
23201 case ARM::MVE_VADDVs16acc:
23202 case ARM::MVE_VADDVs32acc:
23203 case ARM::MVE_VADDVu8acc:
23204 case ARM::MVE_VADDVu16acc:
23205 case ARM::MVE_VADDVu32acc: {
23206 switch (OpNum) {
23207 case 2:
23208 // op: Qm
23209 return 1;
23210 case 0:
23211 // op: Rda
23212 return 13;
23213 }
23214 break;
23215 }
23216 case ARM::MVE_VMAXAVs8:
23217 case ARM::MVE_VMAXAVs16:
23218 case ARM::MVE_VMAXAVs32:
23219 case ARM::MVE_VMAXNMAVf16:
23220 case ARM::MVE_VMAXNMAVf32:
23221 case ARM::MVE_VMAXNMVf16:
23222 case ARM::MVE_VMAXNMVf32:
23223 case ARM::MVE_VMAXVs8:
23224 case ARM::MVE_VMAXVs16:
23225 case ARM::MVE_VMAXVs32:
23226 case ARM::MVE_VMAXVu8:
23227 case ARM::MVE_VMAXVu16:
23228 case ARM::MVE_VMAXVu32:
23229 case ARM::MVE_VMINAVs8:
23230 case ARM::MVE_VMINAVs16:
23231 case ARM::MVE_VMINAVs32:
23232 case ARM::MVE_VMINNMAVf16:
23233 case ARM::MVE_VMINNMAVf32:
23234 case ARM::MVE_VMINNMVf16:
23235 case ARM::MVE_VMINNMVf32:
23236 case ARM::MVE_VMINVs8:
23237 case ARM::MVE_VMINVs16:
23238 case ARM::MVE_VMINVs32:
23239 case ARM::MVE_VMINVu8:
23240 case ARM::MVE_VMINVu16:
23241 case ARM::MVE_VMINVu32: {
23242 switch (OpNum) {
23243 case 2:
23244 // op: Qm
23245 return 1;
23246 case 0:
23247 // op: RdaDest
23248 return 12;
23249 }
23250 break;
23251 }
23252 case ARM::MVE_VADDLVs32no_acc:
23253 case ARM::MVE_VADDLVu32no_acc: {
23254 switch (OpNum) {
23255 case 2:
23256 // op: Qm
23257 return 1;
23258 case 0:
23259 // op: RdaLo
23260 return 13;
23261 case 1:
23262 // op: RdaHi
23263 return 20;
23264 }
23265 break;
23266 }
23267 case ARM::t2AUTG:
23268 case ARM::t2BXAUT: {
23269 switch (OpNum) {
23270 case 2:
23271 // op: Ra
23272 return 12;
23273 case 3:
23274 // op: Rn
23275 return 16;
23276 case 4:
23277 // op: Rm
23278 return 0;
23279 }
23280 break;
23281 }
23282 case ARM::tADDspr: {
23283 switch (OpNum) {
23284 case 2:
23285 // op: Rm
23286 return 3;
23287 }
23288 break;
23289 }
23290 case ARM::MVE_VMOV_q_rr: {
23291 switch (OpNum) {
23292 case 2:
23293 // op: Rt
23294 return 0;
23295 case 3:
23296 // op: Rt2
23297 return 16;
23298 case 0:
23299 // op: Qd
23300 return 13;
23301 case 5:
23302 // op: idx2
23303 return 4;
23304 }
23305 break;
23306 }
23307 case ARM::MCR2:
23308 case ARM::t2MCR:
23309 case ARM::t2MCR2: {
23310 switch (OpNum) {
23311 case 2:
23312 // op: Rt
23313 return 12;
23314 case 0:
23315 // op: cop
23316 return 8;
23317 case 1:
23318 // op: opc1
23319 return 21;
23320 case 5:
23321 // op: opc2
23322 return 5;
23323 case 4:
23324 // op: CRm
23325 return 0;
23326 case 3:
23327 // op: CRn
23328 return 16;
23329 }
23330 break;
23331 }
23332 case ARM::MCRR2:
23333 case ARM::t2MCRR:
23334 case ARM::t2MCRR2: {
23335 switch (OpNum) {
23336 case 2:
23337 // op: Rt
23338 return 12;
23339 case 3:
23340 // op: Rt2
23341 return 16;
23342 case 0:
23343 // op: cop
23344 return 8;
23345 case 1:
23346 // op: opc1
23347 return 4;
23348 case 4:
23349 // op: CRm
23350 return 0;
23351 }
23352 break;
23353 }
23354 case ARM::VST1LNd8: {
23355 switch (OpNum) {
23356 case 2:
23357 // op: Vd
23358 return 12;
23359 case 0:
23360 // op: Rn
23361 return 16;
23362 case 3:
23363 // op: lane
23364 return 5;
23365 }
23366 break;
23367 }
23368 case ARM::VST3LNd8: {
23369 switch (OpNum) {
23370 case 2:
23371 // op: Vd
23372 return 12;
23373 case 0:
23374 // op: Rn
23375 return 16;
23376 case 5:
23377 // op: lane
23378 return 5;
23379 }
23380 break;
23381 }
23382 case ARM::VST3LNd16:
23383 case ARM::VST3LNq16: {
23384 switch (OpNum) {
23385 case 2:
23386 // op: Vd
23387 return 12;
23388 case 0:
23389 // op: Rn
23390 return 16;
23391 case 5:
23392 // op: lane
23393 return 6;
23394 }
23395 break;
23396 }
23397 case ARM::VST3LNd32:
23398 case ARM::VST3LNq32: {
23399 switch (OpNum) {
23400 case 2:
23401 // op: Vd
23402 return 12;
23403 case 0:
23404 // op: Rn
23405 return 16;
23406 case 5:
23407 // op: lane
23408 return 7;
23409 }
23410 break;
23411 }
23412 case ARM::VST1LNd16: {
23413 switch (OpNum) {
23414 case 2:
23415 // op: Vd
23416 return 12;
23417 case 0:
23418 // op: Rn
23419 return 4;
23420 case 3:
23421 // op: lane
23422 return 6;
23423 }
23424 break;
23425 }
23426 case ARM::VST1LNd32: {
23427 switch (OpNum) {
23428 case 2:
23429 // op: Vd
23430 return 12;
23431 case 0:
23432 // op: Rn
23433 return 4;
23434 case 3:
23435 // op: lane
23436 return 7;
23437 }
23438 break;
23439 }
23440 case ARM::VST2LNd8: {
23441 switch (OpNum) {
23442 case 2:
23443 // op: Vd
23444 return 12;
23445 case 0:
23446 // op: Rn
23447 return 4;
23448 case 4:
23449 // op: lane
23450 return 5;
23451 }
23452 break;
23453 }
23454 case ARM::VST2LNd16:
23455 case ARM::VST2LNq16: {
23456 switch (OpNum) {
23457 case 2:
23458 // op: Vd
23459 return 12;
23460 case 0:
23461 // op: Rn
23462 return 4;
23463 case 4:
23464 // op: lane
23465 return 6;
23466 }
23467 break;
23468 }
23469 case ARM::VST2LNd32:
23470 case ARM::VST2LNq32: {
23471 switch (OpNum) {
23472 case 2:
23473 // op: Vd
23474 return 12;
23475 case 0:
23476 // op: Rn
23477 return 4;
23478 case 4:
23479 // op: lane
23480 return 7;
23481 }
23482 break;
23483 }
23484 case ARM::VST4LNd8: {
23485 switch (OpNum) {
23486 case 2:
23487 // op: Vd
23488 return 12;
23489 case 0:
23490 // op: Rn
23491 return 4;
23492 case 6:
23493 // op: lane
23494 return 5;
23495 }
23496 break;
23497 }
23498 case ARM::VST4LNd16:
23499 case ARM::VST4LNq16: {
23500 switch (OpNum) {
23501 case 2:
23502 // op: Vd
23503 return 12;
23504 case 0:
23505 // op: Rn
23506 return 4;
23507 case 6:
23508 // op: lane
23509 return 6;
23510 }
23511 break;
23512 }
23513 case ARM::VST4LNd32:
23514 case ARM::VST4LNq32: {
23515 switch (OpNum) {
23516 case 2:
23517 // op: Vd
23518 return 12;
23519 case 0:
23520 // op: Rn
23521 return 4;
23522 case 6:
23523 // op: lane
23524 return 7;
23525 }
23526 break;
23527 }
23528 case ARM::VST1d8:
23529 case ARM::VST1d8Q:
23530 case ARM::VST1d8T:
23531 case ARM::VST1d16:
23532 case ARM::VST1d16Q:
23533 case ARM::VST1d16T:
23534 case ARM::VST1d32:
23535 case ARM::VST1d32Q:
23536 case ARM::VST1d32T:
23537 case ARM::VST1d64:
23538 case ARM::VST1d64Q:
23539 case ARM::VST1d64T:
23540 case ARM::VST1q8:
23541 case ARM::VST1q16:
23542 case ARM::VST1q32:
23543 case ARM::VST1q64:
23544 case ARM::VST2b8:
23545 case ARM::VST2b16:
23546 case ARM::VST2b32:
23547 case ARM::VST2d8:
23548 case ARM::VST2d16:
23549 case ARM::VST2d32:
23550 case ARM::VST2q8:
23551 case ARM::VST2q16:
23552 case ARM::VST2q32:
23553 case ARM::VST3d8:
23554 case ARM::VST3d16:
23555 case ARM::VST3d32:
23556 case ARM::VST3q8:
23557 case ARM::VST3q16:
23558 case ARM::VST3q32:
23559 case ARM::VST4d8:
23560 case ARM::VST4d16:
23561 case ARM::VST4d32:
23562 case ARM::VST4q8:
23563 case ARM::VST4q16:
23564 case ARM::VST4q32: {
23565 switch (OpNum) {
23566 case 2:
23567 // op: Vd
23568 return 12;
23569 case 0:
23570 // op: Rn
23571 return 4;
23572 }
23573 break;
23574 }
23575 case ARM::LDC2L_OFFSET:
23576 case ARM::LDC2L_PRE:
23577 case ARM::LDC2_OFFSET:
23578 case ARM::LDC2_PRE:
23579 case ARM::STC2L_OFFSET:
23580 case ARM::STC2L_PRE:
23581 case ARM::STC2_OFFSET:
23582 case ARM::STC2_PRE:
23583 case ARM::t2LDC2L_OFFSET:
23584 case ARM::t2LDC2L_PRE:
23585 case ARM::t2LDC2_OFFSET:
23586 case ARM::t2LDC2_PRE:
23587 case ARM::t2LDCL_OFFSET:
23588 case ARM::t2LDCL_PRE:
23589 case ARM::t2LDC_OFFSET:
23590 case ARM::t2LDC_PRE:
23591 case ARM::t2STC2L_OFFSET:
23592 case ARM::t2STC2L_PRE:
23593 case ARM::t2STC2_OFFSET:
23594 case ARM::t2STC2_PRE:
23595 case ARM::t2STCL_OFFSET:
23596 case ARM::t2STCL_PRE:
23597 case ARM::t2STC_OFFSET:
23598 case ARM::t2STC_PRE: {
23599 switch (OpNum) {
23600 case 2:
23601 // op: addr
23602 return 0;
23603 case 0:
23604 // op: cop
23605 return 8;
23606 case 1:
23607 // op: CRd
23608 return 12;
23609 }
23610 break;
23611 }
23612 case ARM::t2LDAEXD:
23613 case ARM::t2LDREXD: {
23614 switch (OpNum) {
23615 case 2:
23616 // op: addr
23617 return 16;
23618 case 0:
23619 // op: Rt
23620 return 12;
23621 case 1:
23622 // op: Rt2
23623 return 8;
23624 }
23625 break;
23626 }
23627 case ARM::tBL: {
23628 switch (OpNum) {
23629 case 2:
23630 // op: func
23631 return 0;
23632 }
23633 break;
23634 }
23635 case ARM::tBLXi: {
23636 switch (OpNum) {
23637 case 2:
23638 // op: func
23639 return 1;
23640 }
23641 break;
23642 }
23643 case ARM::tBLXNSr:
23644 case ARM::tBLXr: {
23645 switch (OpNum) {
23646 case 2:
23647 // op: func
23648 return 3;
23649 }
23650 break;
23651 }
23652 case ARM::MVE_VBICimmi16:
23653 case ARM::MVE_VBICimmi32:
23654 case ARM::MVE_VORRimmi16:
23655 case ARM::MVE_VORRimmi32: {
23656 switch (OpNum) {
23657 case 2:
23658 // op: imm
23659 return 0;
23660 case 0:
23661 // op: Qd
23662 return 13;
23663 }
23664 break;
23665 }
23666 case ARM::t2ADDspImm12:
23667 case ARM::t2SUBspImm12:
23668 case ARM::tADDspi:
23669 case ARM::tSUBspi: {
23670 switch (OpNum) {
23671 case 2:
23672 // op: imm
23673 return 0;
23674 }
23675 break;
23676 }
23677 case ARM::MVE_LETP:
23678 case ARM::t2LEUpdate: {
23679 switch (OpNum) {
23680 case 2:
23681 // op: label
23682 return 1;
23683 }
23684 break;
23685 }
23686 case ARM::VABSD:
23687 case ARM::VCMPD:
23688 case ARM::VCMPED:
23689 case ARM::VMOVD:
23690 case ARM::VNEGD:
23691 case ARM::VRINTRD:
23692 case ARM::VRINTXD:
23693 case ARM::VRINTZD:
23694 case ARM::VSQRTD: {
23695 switch (OpNum) {
23696 case 2:
23697 // op: p
23698 return 28;
23699 case 0:
23700 // op: Dd
23701 return 12;
23702 case 1:
23703 // op: Dm
23704 return 0;
23705 }
23706 break;
23707 }
23708 case ARM::VCVTBHD:
23709 case ARM::VCVTTHD:
23710 case ARM::VSITOD:
23711 case ARM::VUITOD: {
23712 switch (OpNum) {
23713 case 2:
23714 // op: p
23715 return 28;
23716 case 0:
23717 // op: Dd
23718 return 12;
23719 case 1:
23720 // op: Sm
23721 return 0;
23722 }
23723 break;
23724 }
23725 case ARM::FCONSTD: {
23726 switch (OpNum) {
23727 case 2:
23728 // op: p
23729 return 28;
23730 case 0:
23731 // op: Dd
23732 return 12;
23733 case 1:
23734 // op: imm
23735 return 0;
23736 }
23737 break;
23738 }
23739 case ARM::CLZ:
23740 case ARM::RBIT:
23741 case ARM::REV:
23742 case ARM::REV16:
23743 case ARM::REVSH: {
23744 switch (OpNum) {
23745 case 2:
23746 // op: p
23747 return 28;
23748 case 0:
23749 // op: Rd
23750 return 12;
23751 case 1:
23752 // op: Rm
23753 return 0;
23754 }
23755 break;
23756 }
23757 case ARM::MOVi16: {
23758 switch (OpNum) {
23759 case 2:
23760 // op: p
23761 return 28;
23762 case 0:
23763 // op: Rd
23764 return 12;
23765 case 1:
23766 // op: imm
23767 return 0;
23768 }
23769 break;
23770 }
23771 case ARM::ADR: {
23772 switch (OpNum) {
23773 case 2:
23774 // op: p
23775 return 28;
23776 case 0:
23777 // op: Rd
23778 return 12;
23779 case 1:
23780 // op: label
23781 return 0;
23782 }
23783 break;
23784 }
23785 case ARM::CMNzrr:
23786 case ARM::CMPrr:
23787 case ARM::TEQrr:
23788 case ARM::TSTrr: {
23789 switch (OpNum) {
23790 case 2:
23791 // op: p
23792 return 28;
23793 case 0:
23794 // op: Rn
23795 return 16;
23796 case 1:
23797 // op: Rm
23798 return 0;
23799 }
23800 break;
23801 }
23802 case ARM::CMNri:
23803 case ARM::CMPri:
23804 case ARM::TEQri:
23805 case ARM::TSTri: {
23806 switch (OpNum) {
23807 case 2:
23808 // op: p
23809 return 28;
23810 case 0:
23811 // op: Rn
23812 return 16;
23813 case 1:
23814 // op: imm
23815 return 0;
23816 }
23817 break;
23818 }
23819 case ARM::STL:
23820 case ARM::STLB:
23821 case ARM::STLH: {
23822 switch (OpNum) {
23823 case 2:
23824 // op: p
23825 return 28;
23826 case 0:
23827 // op: Rt
23828 return 0;
23829 case 1:
23830 // op: addr
23831 return 16;
23832 }
23833 break;
23834 }
23835 case ARM::VMOVRH:
23836 case ARM::VMOVRS: {
23837 switch (OpNum) {
23838 case 2:
23839 // op: p
23840 return 28;
23841 case 0:
23842 // op: Rt
23843 return 12;
23844 case 1:
23845 // op: Sn
23846 return 7;
23847 }
23848 break;
23849 }
23850 case ARM::LDA:
23851 case ARM::LDAB:
23852 case ARM::LDAEX:
23853 case ARM::LDAEXB:
23854 case ARM::LDAEXD:
23855 case ARM::LDAEXH:
23856 case ARM::LDAH:
23857 case ARM::LDREX:
23858 case ARM::LDREXB:
23859 case ARM::LDREXD:
23860 case ARM::LDREXH: {
23861 switch (OpNum) {
23862 case 2:
23863 // op: p
23864 return 28;
23865 case 0:
23866 // op: Rt
23867 return 12;
23868 case 1:
23869 // op: addr
23870 return 16;
23871 }
23872 break;
23873 }
23874 case ARM::VMRS_FPSCR_NZCVQC:
23875 case ARM::VMRS_P0: {
23876 switch (OpNum) {
23877 case 2:
23878 // op: p
23879 return 28;
23880 case 0:
23881 // op: Rt
23882 return 12;
23883 }
23884 break;
23885 }
23886 case ARM::VCVTSD:
23887 case ARM::VJCVT:
23888 case ARM::VTOSIRD:
23889 case ARM::VTOSIZD:
23890 case ARM::VTOUIRD:
23891 case ARM::VTOUIZD: {
23892 switch (OpNum) {
23893 case 2:
23894 // op: p
23895 return 28;
23896 case 0:
23897 // op: Sd
23898 return 12;
23899 case 1:
23900 // op: Dm
23901 return 0;
23902 }
23903 break;
23904 }
23905 case ARM::VABSH:
23906 case ARM::VABSS:
23907 case ARM::VCMPEH:
23908 case ARM::VCMPES:
23909 case ARM::VCMPH:
23910 case ARM::VCMPS:
23911 case ARM::VCVTBHS:
23912 case ARM::VCVTTHS:
23913 case ARM::VMOVS:
23914 case ARM::VNEGH:
23915 case ARM::VNEGS:
23916 case ARM::VRINTRH:
23917 case ARM::VRINTRS:
23918 case ARM::VRINTXH:
23919 case ARM::VRINTXS:
23920 case ARM::VRINTZH:
23921 case ARM::VRINTZS:
23922 case ARM::VSITOH:
23923 case ARM::VSITOS:
23924 case ARM::VSQRTH:
23925 case ARM::VSQRTS:
23926 case ARM::VTOSIRH:
23927 case ARM::VTOSIRS:
23928 case ARM::VTOSIZH:
23929 case ARM::VTOSIZS:
23930 case ARM::VTOUIRH:
23931 case ARM::VTOUIRS:
23932 case ARM::VTOUIZH:
23933 case ARM::VTOUIZS:
23934 case ARM::VUITOH:
23935 case ARM::VUITOS: {
23936 switch (OpNum) {
23937 case 2:
23938 // op: p
23939 return 28;
23940 case 0:
23941 // op: Sd
23942 return 12;
23943 case 1:
23944 // op: Sm
23945 return 0;
23946 }
23947 break;
23948 }
23949 case ARM::FCONSTH:
23950 case ARM::FCONSTS: {
23951 switch (OpNum) {
23952 case 2:
23953 // op: p
23954 return 28;
23955 case 0:
23956 // op: Sd
23957 return 12;
23958 case 1:
23959 // op: imm
23960 return 0;
23961 }
23962 break;
23963 }
23964 case ARM::VMOVHR:
23965 case ARM::VMOVSR: {
23966 switch (OpNum) {
23967 case 2:
23968 // op: p
23969 return 28;
23970 case 0:
23971 // op: Sn
23972 return 7;
23973 case 1:
23974 // op: Rt
23975 return 12;
23976 }
23977 break;
23978 }
23979 case ARM::VLDR_FPCXTNS_off:
23980 case ARM::VLDR_FPCXTS_off:
23981 case ARM::VLDR_FPSCR_off:
23982 case ARM::VLDR_VPR_off:
23983 case ARM::VSTR_FPCXTNS_off:
23984 case ARM::VSTR_FPCXTS_off:
23985 case ARM::VSTR_FPSCR_off:
23986 case ARM::VSTR_VPR_off: {
23987 switch (OpNum) {
23988 case 2:
23989 // op: p
23990 return 28;
23991 case 0:
23992 // op: addr
23993 return 0;
23994 }
23995 break;
23996 }
23997 case ARM::MSRbanked: {
23998 switch (OpNum) {
23999 case 2:
24000 // op: p
24001 return 28;
24002 case 0:
24003 // op: banked
24004 return 8;
24005 case 1:
24006 // op: Rn
24007 return 0;
24008 }
24009 break;
24010 }
24011 case ARM::MSR: {
24012 switch (OpNum) {
24013 case 2:
24014 // op: p
24015 return 28;
24016 case 0:
24017 // op: mask
24018 return 16;
24019 case 1:
24020 // op: Rn
24021 return 0;
24022 }
24023 break;
24024 }
24025 case ARM::MSRi: {
24026 switch (OpNum) {
24027 case 2:
24028 // op: p
24029 return 28;
24030 case 0:
24031 // op: mask
24032 return 16;
24033 case 1:
24034 // op: imm
24035 return 0;
24036 }
24037 break;
24038 }
24039 case ARM::VLDMSDB_UPD:
24040 case ARM::VLDMSIA_UPD:
24041 case ARM::VSTMSDB_UPD:
24042 case ARM::VSTMSIA_UPD: {
24043 switch (OpNum) {
24044 case 2:
24045 // op: p
24046 return 28;
24047 case 1:
24048 // op: Rn
24049 return 16;
24050 case 4:
24051 // op: regs
24052 return 0;
24053 }
24054 break;
24055 }
24056 case ARM::FLDMXDB_UPD:
24057 case ARM::FLDMXIA_UPD:
24058 case ARM::FSTMXDB_UPD:
24059 case ARM::FSTMXIA_UPD:
24060 case ARM::VLDMDDB_UPD:
24061 case ARM::VLDMDIA_UPD:
24062 case ARM::VSTMDDB_UPD:
24063 case ARM::VSTMDIA_UPD: {
24064 switch (OpNum) {
24065 case 2:
24066 // op: p
24067 return 28;
24068 case 1:
24069 // op: Rn
24070 return 16;
24071 case 4:
24072 // op: regs
24073 return 1;
24074 }
24075 break;
24076 }
24077 case ARM::VMSR_FPSCR_NZCVQC:
24078 case ARM::VMSR_P0: {
24079 switch (OpNum) {
24080 case 2:
24081 // op: p
24082 return 28;
24083 case 1:
24084 // op: Rt
24085 return 12;
24086 }
24087 break;
24088 }
24089 case ARM::VCVTDS: {
24090 switch (OpNum) {
24091 case 2:
24092 // op: p
24093 return 28;
24094 case 1:
24095 // op: Sm
24096 return 0;
24097 case 0:
24098 // op: Dd
24099 return 12;
24100 }
24101 break;
24102 }
24103 case ARM::MRSbanked: {
24104 switch (OpNum) {
24105 case 2:
24106 // op: p
24107 return 28;
24108 case 1:
24109 // op: banked
24110 return 8;
24111 case 0:
24112 // op: Rd
24113 return 12;
24114 }
24115 break;
24116 }
24117 case ARM::LDMDA_UPD:
24118 case ARM::LDMDB_UPD:
24119 case ARM::LDMIA_UPD:
24120 case ARM::LDMIB_UPD:
24121 case ARM::STMDA_UPD:
24122 case ARM::STMDB_UPD:
24123 case ARM::STMIA_UPD:
24124 case ARM::STMIB_UPD:
24125 case ARM::sysLDMDA_UPD:
24126 case ARM::sysLDMDB_UPD:
24127 case ARM::sysLDMIA_UPD:
24128 case ARM::sysLDMIB_UPD:
24129 case ARM::sysSTMDA_UPD:
24130 case ARM::sysSTMDB_UPD:
24131 case ARM::sysSTMIA_UPD:
24132 case ARM::sysSTMIB_UPD: {
24133 switch (OpNum) {
24134 case 2:
24135 // op: p
24136 return 28;
24137 case 4:
24138 // op: regs
24139 return 0;
24140 case 1:
24141 // op: Rn
24142 return 16;
24143 }
24144 break;
24145 }
24146 case ARM::MOVr:
24147 case ARM::MOVr_TC:
24148 case ARM::MVNr: {
24149 switch (OpNum) {
24150 case 2:
24151 // op: p
24152 return 28;
24153 case 4:
24154 // op: s
24155 return 20;
24156 case 0:
24157 // op: Rd
24158 return 12;
24159 case 1:
24160 // op: Rm
24161 return 0;
24162 }
24163 break;
24164 }
24165 case ARM::MOVi:
24166 case ARM::MVNi: {
24167 switch (OpNum) {
24168 case 2:
24169 // op: p
24170 return 28;
24171 case 4:
24172 // op: s
24173 return 20;
24174 case 0:
24175 // op: Rd
24176 return 12;
24177 case 1:
24178 // op: imm
24179 return 0;
24180 }
24181 break;
24182 }
24183 case ARM::VSCCLRMS:
24184 case ARM::t2CLRM:
24185 case ARM::tPOP:
24186 case ARM::tPUSH: {
24187 switch (OpNum) {
24188 case 2:
24189 // op: regs
24190 return 0;
24191 }
24192 break;
24193 }
24194 case ARM::VSCCLRMD: {
24195 switch (OpNum) {
24196 case 2:
24197 // op: regs
24198 return 1;
24199 }
24200 break;
24201 }
24202 case ARM::MVE_VCMLAf16:
24203 case ARM::MVE_VCMLAf32: {
24204 switch (OpNum) {
24205 case 3:
24206 // op: Qm
24207 return 1;
24208 case 0:
24209 // op: Qd
24210 return 13;
24211 case 2:
24212 // op: Qn
24213 return 7;
24214 case 4:
24215 // op: rot
24216 return 23;
24217 }
24218 break;
24219 }
24220 case ARM::MVE_VFMAf16:
24221 case ARM::MVE_VFMAf32:
24222 case ARM::MVE_VFMSf16:
24223 case ARM::MVE_VFMSf32: {
24224 switch (OpNum) {
24225 case 3:
24226 // op: Qm
24227 return 1;
24228 case 0:
24229 // op: Qd
24230 return 13;
24231 case 2:
24232 // op: Qn
24233 return 7;
24234 }
24235 break;
24236 }
24237 case ARM::MVE_VABAVs8:
24238 case ARM::MVE_VABAVs16:
24239 case ARM::MVE_VABAVs32:
24240 case ARM::MVE_VABAVu8:
24241 case ARM::MVE_VABAVu16:
24242 case ARM::MVE_VABAVu32: {
24243 switch (OpNum) {
24244 case 3:
24245 // op: Qm
24246 return 1;
24247 case 2:
24248 // op: Qn
24249 return 7;
24250 case 0:
24251 // op: Rda
24252 return 12;
24253 }
24254 break;
24255 }
24256 case ARM::tADDrr:
24257 case ARM::tSUBrr: {
24258 switch (OpNum) {
24259 case 3:
24260 // op: Rm
24261 return 6;
24262 case 2:
24263 // op: Rn
24264 return 3;
24265 case 0:
24266 // op: Rd
24267 return 0;
24268 }
24269 break;
24270 }
24271 case ARM::VST1d8Qwb_fixed:
24272 case ARM::VST1d8Twb_fixed:
24273 case ARM::VST1d8wb_fixed:
24274 case ARM::VST1d16Qwb_fixed:
24275 case ARM::VST1d16Twb_fixed:
24276 case ARM::VST1d16wb_fixed:
24277 case ARM::VST1d32Qwb_fixed:
24278 case ARM::VST1d32Twb_fixed:
24279 case ARM::VST1d32wb_fixed:
24280 case ARM::VST1d64Qwb_fixed:
24281 case ARM::VST1d64Twb_fixed:
24282 case ARM::VST1d64wb_fixed:
24283 case ARM::VST1q8wb_fixed:
24284 case ARM::VST1q16wb_fixed:
24285 case ARM::VST1q32wb_fixed:
24286 case ARM::VST1q64wb_fixed:
24287 case ARM::VST2b8wb_fixed:
24288 case ARM::VST2b16wb_fixed:
24289 case ARM::VST2b32wb_fixed:
24290 case ARM::VST2d8wb_fixed:
24291 case ARM::VST2d16wb_fixed:
24292 case ARM::VST2d32wb_fixed:
24293 case ARM::VST2q8wb_fixed:
24294 case ARM::VST2q16wb_fixed:
24295 case ARM::VST2q32wb_fixed: {
24296 switch (OpNum) {
24297 case 3:
24298 // op: Vd
24299 return 12;
24300 case 1:
24301 // op: Rn
24302 return 4;
24303 }
24304 break;
24305 }
24306 case ARM::t2BFic: {
24307 switch (OpNum) {
24308 case 3:
24309 // op: bcond
24310 return 18;
24311 case 1:
24312 // op: label
24313 return 1;
24314 case 2:
24315 // op: ba_label
24316 return 17;
24317 case 0:
24318 // op: b_label
24319 return 23;
24320 }
24321 break;
24322 }
24323 case ARM::MVE_VPTv4f32:
24324 case ARM::MVE_VPTv4s32:
24325 case ARM::MVE_VPTv8f16:
24326 case ARM::MVE_VPTv8s16:
24327 case ARM::MVE_VPTv16s8: {
24328 switch (OpNum) {
24329 case 3:
24330 // op: fc
24331 return 0;
24332 case 0:
24333 // op: Mk
24334 return 13;
24335 case 1:
24336 // op: Qn
24337 return 17;
24338 case 2:
24339 // op: Qm
24340 return 1;
24341 }
24342 break;
24343 }
24344 case ARM::MVE_VCMPf16:
24345 case ARM::MVE_VCMPf32:
24346 case ARM::MVE_VCMPs8:
24347 case ARM::MVE_VCMPs16:
24348 case ARM::MVE_VCMPs32: {
24349 switch (OpNum) {
24350 case 3:
24351 // op: fc
24352 return 0;
24353 case 1:
24354 // op: Qn
24355 return 17;
24356 case 2:
24357 // op: Qm
24358 return 1;
24359 }
24360 break;
24361 }
24362 case ARM::MVE_VPTv4f32r:
24363 case ARM::MVE_VPTv4s32r:
24364 case ARM::MVE_VPTv8f16r:
24365 case ARM::MVE_VPTv8s16r:
24366 case ARM::MVE_VPTv16s8r: {
24367 switch (OpNum) {
24368 case 3:
24369 // op: fc
24370 return 5;
24371 case 0:
24372 // op: Mk
24373 return 13;
24374 case 1:
24375 // op: Qn
24376 return 17;
24377 case 2:
24378 // op: Rm
24379 return 0;
24380 }
24381 break;
24382 }
24383 case ARM::MVE_VCMPf16r:
24384 case ARM::MVE_VCMPf32r:
24385 case ARM::MVE_VCMPs8r:
24386 case ARM::MVE_VCMPs16r:
24387 case ARM::MVE_VCMPs32r: {
24388 switch (OpNum) {
24389 case 3:
24390 // op: fc
24391 return 5;
24392 case 1:
24393 // op: Qn
24394 return 17;
24395 case 2:
24396 // op: Rm
24397 return 0;
24398 }
24399 break;
24400 }
24401 case ARM::MVE_VPTv4i32:
24402 case ARM::MVE_VPTv4u32:
24403 case ARM::MVE_VPTv8i16:
24404 case ARM::MVE_VPTv8u16:
24405 case ARM::MVE_VPTv16i8:
24406 case ARM::MVE_VPTv16u8: {
24407 switch (OpNum) {
24408 case 3:
24409 // op: fc
24410 return 7;
24411 case 0:
24412 // op: Mk
24413 return 13;
24414 case 1:
24415 // op: Qn
24416 return 17;
24417 case 2:
24418 // op: Qm
24419 return 1;
24420 }
24421 break;
24422 }
24423 case ARM::MVE_VPTv4i32r:
24424 case ARM::MVE_VPTv4u32r:
24425 case ARM::MVE_VPTv8i16r:
24426 case ARM::MVE_VPTv8u16r:
24427 case ARM::MVE_VPTv16i8r:
24428 case ARM::MVE_VPTv16u8r: {
24429 switch (OpNum) {
24430 case 3:
24431 // op: fc
24432 return 7;
24433 case 0:
24434 // op: Mk
24435 return 13;
24436 case 1:
24437 // op: Qn
24438 return 17;
24439 case 2:
24440 // op: Rm
24441 return 0;
24442 }
24443 break;
24444 }
24445 case ARM::MVE_VCMPi8:
24446 case ARM::MVE_VCMPi16:
24447 case ARM::MVE_VCMPi32:
24448 case ARM::MVE_VCMPu8:
24449 case ARM::MVE_VCMPu16:
24450 case ARM::MVE_VCMPu32: {
24451 switch (OpNum) {
24452 case 3:
24453 // op: fc
24454 return 7;
24455 case 1:
24456 // op: Qn
24457 return 17;
24458 case 2:
24459 // op: Qm
24460 return 1;
24461 }
24462 break;
24463 }
24464 case ARM::MVE_VCMPi8r:
24465 case ARM::MVE_VCMPi16r:
24466 case ARM::MVE_VCMPi32r:
24467 case ARM::MVE_VCMPu8r:
24468 case ARM::MVE_VCMPu16r:
24469 case ARM::MVE_VCMPu32r: {
24470 switch (OpNum) {
24471 case 3:
24472 // op: fc
24473 return 7;
24474 case 1:
24475 // op: Qn
24476 return 17;
24477 case 2:
24478 // op: Rm
24479 return 0;
24480 }
24481 break;
24482 }
24483 case ARM::LDC2L_POST:
24484 case ARM::LDC2_POST:
24485 case ARM::STC2L_POST:
24486 case ARM::STC2_POST:
24487 case ARM::t2LDC2L_POST:
24488 case ARM::t2LDC2_POST:
24489 case ARM::t2LDCL_POST:
24490 case ARM::t2LDC_POST:
24491 case ARM::t2STC2L_POST:
24492 case ARM::t2STC2_POST:
24493 case ARM::t2STCL_POST:
24494 case ARM::t2STC_POST: {
24495 switch (OpNum) {
24496 case 3:
24497 // op: offset
24498 return 0;
24499 case 2:
24500 // op: addr
24501 return 16;
24502 case 0:
24503 // op: cop
24504 return 8;
24505 case 1:
24506 // op: CRd
24507 return 12;
24508 }
24509 break;
24510 }
24511 case ARM::LDC2L_OPTION:
24512 case ARM::LDC2_OPTION:
24513 case ARM::STC2L_OPTION:
24514 case ARM::STC2_OPTION:
24515 case ARM::t2LDC2L_OPTION:
24516 case ARM::t2LDC2_OPTION:
24517 case ARM::t2LDCL_OPTION:
24518 case ARM::t2LDC_OPTION:
24519 case ARM::t2STC2L_OPTION:
24520 case ARM::t2STC2_OPTION:
24521 case ARM::t2STCL_OPTION:
24522 case ARM::t2STC_OPTION: {
24523 switch (OpNum) {
24524 case 3:
24525 // op: option
24526 return 0;
24527 case 2:
24528 // op: addr
24529 return 16;
24530 case 0:
24531 // op: cop
24532 return 8;
24533 case 1:
24534 // op: CRd
24535 return 12;
24536 }
24537 break;
24538 }
24539 case ARM::VADDD:
24540 case ARM::VDIVD:
24541 case ARM::VMULD:
24542 case ARM::VNMULD:
24543 case ARM::VSUBD: {
24544 switch (OpNum) {
24545 case 3:
24546 // op: p
24547 return 28;
24548 case 0:
24549 // op: Dd
24550 return 12;
24551 case 1:
24552 // op: Dn
24553 return 7;
24554 case 2:
24555 // op: Dm
24556 return 0;
24557 }
24558 break;
24559 }
24560 case ARM::VLDRD:
24561 case ARM::VSTRD: {
24562 switch (OpNum) {
24563 case 3:
24564 // op: p
24565 return 28;
24566 case 0:
24567 // op: Dd
24568 return 12;
24569 case 1:
24570 // op: addr
24571 return 0;
24572 }
24573 break;
24574 }
24575 case ARM::VMOVDRR: {
24576 switch (OpNum) {
24577 case 3:
24578 // op: p
24579 return 28;
24580 case 0:
24581 // op: Dm
24582 return 0;
24583 case 1:
24584 // op: Rt
24585 return 12;
24586 case 2:
24587 // op: Rt2
24588 return 16;
24589 }
24590 break;
24591 }
24592 case ARM::SXTB:
24593 case ARM::SXTB16:
24594 case ARM::SXTH:
24595 case ARM::UXTB:
24596 case ARM::UXTB16:
24597 case ARM::UXTH: {
24598 switch (OpNum) {
24599 case 3:
24600 // op: p
24601 return 28;
24602 case 0:
24603 // op: Rd
24604 return 12;
24605 case 1:
24606 // op: Rm
24607 return 0;
24608 case 2:
24609 // op: rot
24610 return 10;
24611 }
24612 break;
24613 }
24614 case ARM::SEL: {
24615 switch (OpNum) {
24616 case 3:
24617 // op: p
24618 return 28;
24619 case 0:
24620 // op: Rd
24621 return 12;
24622 case 1:
24623 // op: Rn
24624 return 16;
24625 case 2:
24626 // op: Rm
24627 return 0;
24628 }
24629 break;
24630 }
24631 case ARM::SSAT16:
24632 case ARM::USAT16: {
24633 switch (OpNum) {
24634 case 3:
24635 // op: p
24636 return 28;
24637 case 0:
24638 // op: Rd
24639 return 12;
24640 case 1:
24641 // op: sat_imm
24642 return 16;
24643 case 2:
24644 // op: Rn
24645 return 0;
24646 }
24647 break;
24648 }
24649 case ARM::MOVTi16: {
24650 switch (OpNum) {
24651 case 3:
24652 // op: p
24653 return 28;
24654 case 0:
24655 // op: Rd
24656 return 12;
24657 case 2:
24658 // op: imm
24659 return 0;
24660 }
24661 break;
24662 }
24663 case ARM::BFC: {
24664 switch (OpNum) {
24665 case 3:
24666 // op: p
24667 return 28;
24668 case 0:
24669 // op: Rd
24670 return 12;
24671 case 2:
24672 // op: imm
24673 return 7;
24674 }
24675 break;
24676 }
24677 case ARM::SDIV:
24678 case ARM::SMMUL:
24679 case ARM::SMMULR:
24680 case ARM::UDIV:
24681 case ARM::USAD8: {
24682 switch (OpNum) {
24683 case 3:
24684 // op: p
24685 return 28;
24686 case 0:
24687 // op: Rd
24688 return 16;
24689 case 1:
24690 // op: Rn
24691 return 0;
24692 case 2:
24693 // op: Rm
24694 return 8;
24695 }
24696 break;
24697 }
24698 case ARM::CMNzrsi:
24699 case ARM::CMPrsi:
24700 case ARM::TEQrsi:
24701 case ARM::TSTrsi: {
24702 switch (OpNum) {
24703 case 3:
24704 // op: p
24705 return 28;
24706 case 0:
24707 // op: Rn
24708 return 16;
24709 case 1:
24710 // op: shift
24711 return 0;
24712 }
24713 break;
24714 }
24715 case ARM::SWP:
24716 case ARM::SWPB: {
24717 switch (OpNum) {
24718 case 3:
24719 // op: p
24720 return 28;
24721 case 0:
24722 // op: Rt
24723 return 12;
24724 case 1:
24725 // op: Rt2
24726 return 0;
24727 case 2:
24728 // op: addr
24729 return 16;
24730 }
24731 break;
24732 }
24733 case ARM::LDRBi12:
24734 case ARM::LDRcp:
24735 case ARM::LDRi12:
24736 case ARM::STRBi12:
24737 case ARM::STRi12: {
24738 switch (OpNum) {
24739 case 3:
24740 // op: p
24741 return 28;
24742 case 0:
24743 // op: Rt
24744 return 12;
24745 case 1:
24746 // op: addr
24747 return 0;
24748 }
24749 break;
24750 }
24751 case ARM::VADDH:
24752 case ARM::VADDS:
24753 case ARM::VDIVH:
24754 case ARM::VDIVS:
24755 case ARM::VMULH:
24756 case ARM::VMULS:
24757 case ARM::VNMULH:
24758 case ARM::VNMULS:
24759 case ARM::VSUBH:
24760 case ARM::VSUBS: {
24761 switch (OpNum) {
24762 case 3:
24763 // op: p
24764 return 28;
24765 case 0:
24766 // op: Sd
24767 return 12;
24768 case 1:
24769 // op: Sn
24770 return 7;
24771 case 2:
24772 // op: Sm
24773 return 0;
24774 }
24775 break;
24776 }
24777 case ARM::VLDRH:
24778 case ARM::VLDRS:
24779 case ARM::VSTRH:
24780 case ARM::VSTRS: {
24781 switch (OpNum) {
24782 case 3:
24783 // op: p
24784 return 28;
24785 case 0:
24786 // op: Sd
24787 return 12;
24788 case 1:
24789 // op: addr
24790 return 0;
24791 }
24792 break;
24793 }
24794 case ARM::BF16_VCVTB:
24795 case ARM::BF16_VCVTT:
24796 case ARM::VCVTBSH:
24797 case ARM::VCVTTSH: {
24798 switch (OpNum) {
24799 case 3:
24800 // op: p
24801 return 28;
24802 case 0:
24803 // op: Sd
24804 return 12;
24805 case 2:
24806 // op: Sm
24807 return 0;
24808 }
24809 break;
24810 }
24811 case ARM::SMUAD:
24812 case ARM::SMUADX:
24813 case ARM::SMULBB:
24814 case ARM::SMULBT:
24815 case ARM::SMULTB:
24816 case ARM::SMULTT:
24817 case ARM::SMULWB:
24818 case ARM::SMULWT:
24819 case ARM::SMUSD:
24820 case ARM::SMUSDX: {
24821 switch (OpNum) {
24822 case 3:
24823 // op: p
24824 return 28;
24825 case 1:
24826 // op: Rn
24827 return 0;
24828 case 2:
24829 // op: Rm
24830 return 8;
24831 case 0:
24832 // op: Rd
24833 return 16;
24834 }
24835 break;
24836 }
24837 case ARM::QADD8:
24838 case ARM::QADD16:
24839 case ARM::QASX:
24840 case ARM::QSAX:
24841 case ARM::QSUB8:
24842 case ARM::QSUB16:
24843 case ARM::SADD8:
24844 case ARM::SADD16:
24845 case ARM::SASX:
24846 case ARM::SHADD8:
24847 case ARM::SHADD16:
24848 case ARM::SHASX:
24849 case ARM::SHSAX:
24850 case ARM::SHSUB8:
24851 case ARM::SHSUB16:
24852 case ARM::SSAX:
24853 case ARM::SSUB8:
24854 case ARM::SSUB16:
24855 case ARM::UADD8:
24856 case ARM::UADD16:
24857 case ARM::UASX:
24858 case ARM::UHADD8:
24859 case ARM::UHADD16:
24860 case ARM::UHASX:
24861 case ARM::UHSAX:
24862 case ARM::UHSUB8:
24863 case ARM::UHSUB16:
24864 case ARM::UQADD8:
24865 case ARM::UQADD16:
24866 case ARM::UQASX:
24867 case ARM::UQSAX:
24868 case ARM::UQSUB8:
24869 case ARM::UQSUB16:
24870 case ARM::USAX:
24871 case ARM::USUB8:
24872 case ARM::USUB16: {
24873 switch (OpNum) {
24874 case 3:
24875 // op: p
24876 return 28;
24877 case 1:
24878 // op: Rn
24879 return 16;
24880 case 0:
24881 // op: Rd
24882 return 12;
24883 case 2:
24884 // op: Rm
24885 return 0;
24886 }
24887 break;
24888 }
24889 case ARM::STLEX:
24890 case ARM::STLEXB:
24891 case ARM::STLEXD:
24892 case ARM::STLEXH:
24893 case ARM::STREX:
24894 case ARM::STREXB:
24895 case ARM::STREXD:
24896 case ARM::STREXH: {
24897 switch (OpNum) {
24898 case 3:
24899 // op: p
24900 return 28;
24901 case 1:
24902 // op: Rt
24903 return 0;
24904 case 2:
24905 // op: addr
24906 return 16;
24907 case 0:
24908 // op: Rd
24909 return 12;
24910 }
24911 break;
24912 }
24913 case ARM::VLDR_FPCXTNS_pre:
24914 case ARM::VLDR_FPCXTS_pre:
24915 case ARM::VLDR_FPSCR_NZCVQC_off:
24916 case ARM::VLDR_FPSCR_pre:
24917 case ARM::VLDR_P0_off:
24918 case ARM::VLDR_VPR_pre:
24919 case ARM::VSTR_FPCXTNS_pre:
24920 case ARM::VSTR_FPCXTS_pre:
24921 case ARM::VSTR_FPSCR_NZCVQC_off:
24922 case ARM::VSTR_FPSCR_pre:
24923 case ARM::VSTR_P0_off:
24924 case ARM::VSTR_VPR_pre: {
24925 switch (OpNum) {
24926 case 3:
24927 // op: p
24928 return 28;
24929 case 1:
24930 // op: addr
24931 return 0;
24932 }
24933 break;
24934 }
24935 case ARM::VMOVRRD: {
24936 switch (OpNum) {
24937 case 3:
24938 // op: p
24939 return 28;
24940 case 2:
24941 // op: Dm
24942 return 0;
24943 case 0:
24944 // op: Rt
24945 return 12;
24946 case 1:
24947 // op: Rt2
24948 return 16;
24949 }
24950 break;
24951 }
24952 case ARM::VCVTBDH:
24953 case ARM::VCVTTDH: {
24954 switch (OpNum) {
24955 case 3:
24956 // op: p
24957 return 28;
24958 case 2:
24959 // op: Dm
24960 return 0;
24961 case 0:
24962 // op: Sd
24963 return 12;
24964 }
24965 break;
24966 }
24967 case ARM::QADD:
24968 case ARM::QDADD:
24969 case ARM::QDSUB:
24970 case ARM::QSUB: {
24971 switch (OpNum) {
24972 case 3:
24973 // op: p
24974 return 28;
24975 case 2:
24976 // op: Rn
24977 return 16;
24978 case 0:
24979 // op: Rd
24980 return 12;
24981 case 1:
24982 // op: Rm
24983 return 0;
24984 }
24985 break;
24986 }
24987 case ARM::VLDR_FPCXTNS_post:
24988 case ARM::VLDR_FPCXTS_post:
24989 case ARM::VLDR_FPSCR_post:
24990 case ARM::VLDR_VPR_post:
24991 case ARM::VSTR_FPCXTNS_post:
24992 case ARM::VSTR_FPCXTS_post:
24993 case ARM::VSTR_FPSCR_post:
24994 case ARM::VSTR_VPR_post: {
24995 switch (OpNum) {
24996 case 3:
24997 // op: p
24998 return 28;
24999 case 2:
25000 // op: addr
25001 return 0;
25002 case 1:
25003 // op: Rn
25004 return 16;
25005 }
25006 break;
25007 }
25008 case ARM::VSHTOD:
25009 case ARM::VSHTOH:
25010 case ARM::VSHTOS:
25011 case ARM::VSLTOD:
25012 case ARM::VSLTOH:
25013 case ARM::VSLTOS:
25014 case ARM::VTOSHD:
25015 case ARM::VTOSHH:
25016 case ARM::VTOSHS:
25017 case ARM::VTOSLD:
25018 case ARM::VTOSLH:
25019 case ARM::VTOSLS:
25020 case ARM::VTOUHD:
25021 case ARM::VTOUHH:
25022 case ARM::VTOUHS:
25023 case ARM::VTOULD:
25024 case ARM::VTOULH:
25025 case ARM::VTOULS:
25026 case ARM::VUHTOD:
25027 case ARM::VUHTOH:
25028 case ARM::VUHTOS:
25029 case ARM::VULTOD:
25030 case ARM::VULTOH:
25031 case ARM::VULTOS: {
25032 switch (OpNum) {
25033 case 3:
25034 // op: p
25035 return 28;
25036 case 2:
25037 // op: fbits
25038 return 0;
25039 case 0:
25040 // op: dst
25041 return 12;
25042 }
25043 break;
25044 }
25045 case ARM::ADCrr:
25046 case ARM::ADDrr:
25047 case ARM::ANDrr:
25048 case ARM::BICrr:
25049 case ARM::EORrr:
25050 case ARM::ORRrr:
25051 case ARM::RSBrr:
25052 case ARM::RSCrr:
25053 case ARM::SBCrr:
25054 case ARM::SUBrr: {
25055 switch (OpNum) {
25056 case 3:
25057 // op: p
25058 return 28;
25059 case 5:
25060 // op: s
25061 return 20;
25062 case 0:
25063 // op: Rd
25064 return 12;
25065 case 1:
25066 // op: Rn
25067 return 16;
25068 case 2:
25069 // op: Rm
25070 return 0;
25071 }
25072 break;
25073 }
25074 case ARM::ADCri:
25075 case ARM::ADDri:
25076 case ARM::ANDri:
25077 case ARM::BICri:
25078 case ARM::EORri:
25079 case ARM::ORRri:
25080 case ARM::RSBri:
25081 case ARM::RSCri:
25082 case ARM::SBCri:
25083 case ARM::SUBri: {
25084 switch (OpNum) {
25085 case 3:
25086 // op: p
25087 return 28;
25088 case 5:
25089 // op: s
25090 return 20;
25091 case 0:
25092 // op: Rd
25093 return 12;
25094 case 1:
25095 // op: Rn
25096 return 16;
25097 case 2:
25098 // op: imm
25099 return 0;
25100 }
25101 break;
25102 }
25103 case ARM::MVNsi: {
25104 switch (OpNum) {
25105 case 3:
25106 // op: p
25107 return 28;
25108 case 5:
25109 // op: s
25110 return 20;
25111 case 0:
25112 // op: Rd
25113 return 12;
25114 case 1:
25115 // op: shift
25116 return 0;
25117 }
25118 break;
25119 }
25120 case ARM::MOVsi: {
25121 switch (OpNum) {
25122 case 3:
25123 // op: p
25124 return 28;
25125 case 5:
25126 // op: s
25127 return 20;
25128 case 0:
25129 // op: Rd
25130 return 12;
25131 case 1:
25132 // op: src
25133 return 0;
25134 }
25135 break;
25136 }
25137 case ARM::MUL: {
25138 switch (OpNum) {
25139 case 3:
25140 // op: p
25141 return 28;
25142 case 5:
25143 // op: s
25144 return 20;
25145 case 0:
25146 // op: Rd
25147 return 16;
25148 case 2:
25149 // op: Rm
25150 return 8;
25151 case 1:
25152 // op: Rn
25153 return 0;
25154 }
25155 break;
25156 }
25157 case ARM::MVE_VADDLVs32acc:
25158 case ARM::MVE_VADDLVu32acc: {
25159 switch (OpNum) {
25160 case 4:
25161 // op: Qm
25162 return 1;
25163 case 0:
25164 // op: RdaLo
25165 return 13;
25166 case 1:
25167 // op: RdaHi
25168 return 20;
25169 }
25170 break;
25171 }
25172 case ARM::VST1LNd8_UPD: {
25173 switch (OpNum) {
25174 case 4:
25175 // op: Vd
25176 return 12;
25177 case 1:
25178 // op: Rn
25179 return 16;
25180 case 3:
25181 // op: Rm
25182 return 0;
25183 case 5:
25184 // op: lane
25185 return 5;
25186 }
25187 break;
25188 }
25189 case ARM::VST3LNd8_UPD: {
25190 switch (OpNum) {
25191 case 4:
25192 // op: Vd
25193 return 12;
25194 case 1:
25195 // op: Rn
25196 return 16;
25197 case 3:
25198 // op: Rm
25199 return 0;
25200 case 7:
25201 // op: lane
25202 return 5;
25203 }
25204 break;
25205 }
25206 case ARM::VST3LNd16_UPD:
25207 case ARM::VST3LNq16_UPD: {
25208 switch (OpNum) {
25209 case 4:
25210 // op: Vd
25211 return 12;
25212 case 1:
25213 // op: Rn
25214 return 16;
25215 case 3:
25216 // op: Rm
25217 return 0;
25218 case 7:
25219 // op: lane
25220 return 6;
25221 }
25222 break;
25223 }
25224 case ARM::VST3LNd32_UPD:
25225 case ARM::VST3LNq32_UPD: {
25226 switch (OpNum) {
25227 case 4:
25228 // op: Vd
25229 return 12;
25230 case 1:
25231 // op: Rn
25232 return 16;
25233 case 3:
25234 // op: Rm
25235 return 0;
25236 case 7:
25237 // op: lane
25238 return 7;
25239 }
25240 break;
25241 }
25242 case ARM::VST1LNd16_UPD: {
25243 switch (OpNum) {
25244 case 4:
25245 // op: Vd
25246 return 12;
25247 case 1:
25248 // op: Rn
25249 return 4;
25250 case 3:
25251 // op: Rm
25252 return 0;
25253 case 5:
25254 // op: lane
25255 return 6;
25256 }
25257 break;
25258 }
25259 case ARM::VST1LNd32_UPD: {
25260 switch (OpNum) {
25261 case 4:
25262 // op: Vd
25263 return 12;
25264 case 1:
25265 // op: Rn
25266 return 4;
25267 case 3:
25268 // op: Rm
25269 return 0;
25270 case 5:
25271 // op: lane
25272 return 7;
25273 }
25274 break;
25275 }
25276 case ARM::VST2LNd8_UPD: {
25277 switch (OpNum) {
25278 case 4:
25279 // op: Vd
25280 return 12;
25281 case 1:
25282 // op: Rn
25283 return 4;
25284 case 3:
25285 // op: Rm
25286 return 0;
25287 case 6:
25288 // op: lane
25289 return 5;
25290 }
25291 break;
25292 }
25293 case ARM::VST2LNd16_UPD:
25294 case ARM::VST2LNq16_UPD: {
25295 switch (OpNum) {
25296 case 4:
25297 // op: Vd
25298 return 12;
25299 case 1:
25300 // op: Rn
25301 return 4;
25302 case 3:
25303 // op: Rm
25304 return 0;
25305 case 6:
25306 // op: lane
25307 return 6;
25308 }
25309 break;
25310 }
25311 case ARM::VST2LNd32_UPD:
25312 case ARM::VST2LNq32_UPD: {
25313 switch (OpNum) {
25314 case 4:
25315 // op: Vd
25316 return 12;
25317 case 1:
25318 // op: Rn
25319 return 4;
25320 case 3:
25321 // op: Rm
25322 return 0;
25323 case 6:
25324 // op: lane
25325 return 7;
25326 }
25327 break;
25328 }
25329 case ARM::VST4LNd8_UPD: {
25330 switch (OpNum) {
25331 case 4:
25332 // op: Vd
25333 return 12;
25334 case 1:
25335 // op: Rn
25336 return 4;
25337 case 3:
25338 // op: Rm
25339 return 0;
25340 case 8:
25341 // op: lane
25342 return 5;
25343 }
25344 break;
25345 }
25346 case ARM::VST4LNd16_UPD:
25347 case ARM::VST4LNq16_UPD: {
25348 switch (OpNum) {
25349 case 4:
25350 // op: Vd
25351 return 12;
25352 case 1:
25353 // op: Rn
25354 return 4;
25355 case 3:
25356 // op: Rm
25357 return 0;
25358 case 8:
25359 // op: lane
25360 return 6;
25361 }
25362 break;
25363 }
25364 case ARM::VST4LNd32_UPD:
25365 case ARM::VST4LNq32_UPD: {
25366 switch (OpNum) {
25367 case 4:
25368 // op: Vd
25369 return 12;
25370 case 1:
25371 // op: Rn
25372 return 4;
25373 case 3:
25374 // op: Rm
25375 return 0;
25376 case 8:
25377 // op: lane
25378 return 7;
25379 }
25380 break;
25381 }
25382 case ARM::VST1d8Qwb_register:
25383 case ARM::VST1d8Twb_register:
25384 case ARM::VST1d8wb_register:
25385 case ARM::VST1d16Qwb_register:
25386 case ARM::VST1d16Twb_register:
25387 case ARM::VST1d16wb_register:
25388 case ARM::VST1d32Qwb_register:
25389 case ARM::VST1d32Twb_register:
25390 case ARM::VST1d32wb_register:
25391 case ARM::VST1d64Qwb_register:
25392 case ARM::VST1d64Twb_register:
25393 case ARM::VST1d64wb_register:
25394 case ARM::VST1q8wb_register:
25395 case ARM::VST1q16wb_register:
25396 case ARM::VST1q32wb_register:
25397 case ARM::VST1q64wb_register:
25398 case ARM::VST2b8wb_register:
25399 case ARM::VST2b16wb_register:
25400 case ARM::VST2b32wb_register:
25401 case ARM::VST2d8wb_register:
25402 case ARM::VST2d16wb_register:
25403 case ARM::VST2d32wb_register:
25404 case ARM::VST2q8wb_register:
25405 case ARM::VST2q16wb_register:
25406 case ARM::VST2q32wb_register:
25407 case ARM::VST3d8_UPD:
25408 case ARM::VST3d16_UPD:
25409 case ARM::VST3d32_UPD:
25410 case ARM::VST3q8_UPD:
25411 case ARM::VST3q16_UPD:
25412 case ARM::VST3q32_UPD:
25413 case ARM::VST4d8_UPD:
25414 case ARM::VST4d16_UPD:
25415 case ARM::VST4d32_UPD:
25416 case ARM::VST4q8_UPD:
25417 case ARM::VST4q16_UPD:
25418 case ARM::VST4q32_UPD: {
25419 switch (OpNum) {
25420 case 4:
25421 // op: Vd
25422 return 12;
25423 case 1:
25424 // op: Rn
25425 return 4;
25426 case 3:
25427 // op: Rm
25428 return 0;
25429 }
25430 break;
25431 }
25432 case ARM::MVE_VSHLC: {
25433 switch (OpNum) {
25434 case 4:
25435 // op: imm
25436 return 16;
25437 case 1:
25438 // op: Qd
25439 return 13;
25440 case 0:
25441 // op: RdmDest
25442 return 0;
25443 }
25444 break;
25445 }
25446 case ARM::VFMAD:
25447 case ARM::VFMSD:
25448 case ARM::VFNMAD:
25449 case ARM::VFNMSD:
25450 case ARM::VMLAD:
25451 case ARM::VMLSD:
25452 case ARM::VNMLAD:
25453 case ARM::VNMLSD: {
25454 switch (OpNum) {
25455 case 4:
25456 // op: p
25457 return 28;
25458 case 0:
25459 // op: Dd
25460 return 12;
25461 case 2:
25462 // op: Dn
25463 return 7;
25464 case 3:
25465 // op: Dm
25466 return 0;
25467 }
25468 break;
25469 }
25470 case ARM::SBFX:
25471 case ARM::UBFX: {
25472 switch (OpNum) {
25473 case 4:
25474 // op: p
25475 return 28;
25476 case 0:
25477 // op: Rd
25478 return 12;
25479 case 1:
25480 // op: Rn
25481 return 0;
25482 case 2:
25483 // op: lsb
25484 return 7;
25485 case 3:
25486 // op: width
25487 return 16;
25488 }
25489 break;
25490 }
25491 case ARM::PKHBT:
25492 case ARM::PKHTB: {
25493 switch (OpNum) {
25494 case 4:
25495 // op: p
25496 return 28;
25497 case 0:
25498 // op: Rd
25499 return 12;
25500 case 1:
25501 // op: Rn
25502 return 16;
25503 case 2:
25504 // op: Rm
25505 return 0;
25506 case 3:
25507 // op: sh
25508 return 7;
25509 }
25510 break;
25511 }
25512 case ARM::SSAT:
25513 case ARM::USAT: {
25514 switch (OpNum) {
25515 case 4:
25516 // op: p
25517 return 28;
25518 case 0:
25519 // op: Rd
25520 return 12;
25521 case 1:
25522 // op: sat_imm
25523 return 16;
25524 case 2:
25525 // op: Rn
25526 return 0;
25527 case 3:
25528 // op: sh
25529 return 6;
25530 }
25531 break;
25532 }
25533 case ARM::SXTAB:
25534 case ARM::SXTAB16:
25535 case ARM::SXTAH:
25536 case ARM::UXTAB:
25537 case ARM::UXTAB16:
25538 case ARM::UXTAH: {
25539 switch (OpNum) {
25540 case 4:
25541 // op: p
25542 return 28;
25543 case 0:
25544 // op: Rd
25545 return 12;
25546 case 2:
25547 // op: Rm
25548 return 0;
25549 case 1:
25550 // op: Rn
25551 return 16;
25552 case 3:
25553 // op: rot
25554 return 10;
25555 }
25556 break;
25557 }
25558 case ARM::BFI: {
25559 switch (OpNum) {
25560 case 4:
25561 // op: p
25562 return 28;
25563 case 0:
25564 // op: Rd
25565 return 12;
25566 case 2:
25567 // op: Rn
25568 return 0;
25569 case 3:
25570 // op: imm
25571 return 7;
25572 }
25573 break;
25574 }
25575 case ARM::SMMLA:
25576 case ARM::SMMLAR:
25577 case ARM::SMMLS:
25578 case ARM::SMMLSR:
25579 case ARM::USADA8: {
25580 switch (OpNum) {
25581 case 4:
25582 // op: p
25583 return 28;
25584 case 0:
25585 // op: Rd
25586 return 16;
25587 case 1:
25588 // op: Rn
25589 return 0;
25590 case 2:
25591 // op: Rm
25592 return 8;
25593 case 3:
25594 // op: Ra
25595 return 12;
25596 }
25597 break;
25598 }
25599 case ARM::MLS: {
25600 switch (OpNum) {
25601 case 4:
25602 // op: p
25603 return 28;
25604 case 0:
25605 // op: Rd
25606 return 16;
25607 case 2:
25608 // op: Rm
25609 return 8;
25610 case 1:
25611 // op: Rn
25612 return 0;
25613 case 3:
25614 // op: Ra
25615 return 12;
25616 }
25617 break;
25618 }
25619 case ARM::CMNzrsr:
25620 case ARM::CMPrsr:
25621 case ARM::TEQrsr:
25622 case ARM::TSTrsr: {
25623 switch (OpNum) {
25624 case 4:
25625 // op: p
25626 return 28;
25627 case 0:
25628 // op: Rn
25629 return 16;
25630 case 1:
25631 // op: shift
25632 return 0;
25633 }
25634 break;
25635 }
25636 case ARM::LDRBrs:
25637 case ARM::LDRrs:
25638 case ARM::STRBrs:
25639 case ARM::STRrs: {
25640 switch (OpNum) {
25641 case 4:
25642 // op: p
25643 return 28;
25644 case 0:
25645 // op: Rt
25646 return 12;
25647 case 1:
25648 // op: shift
25649 return 0;
25650 }
25651 break;
25652 }
25653 case ARM::LDRB_PRE_IMM:
25654 case ARM::LDR_PRE_IMM: {
25655 switch (OpNum) {
25656 case 4:
25657 // op: p
25658 return 28;
25659 case 0:
25660 // op: Rt
25661 return 12;
25662 case 2:
25663 // op: addr
25664 return 0;
25665 }
25666 break;
25667 }
25668 case ARM::VFMAH:
25669 case ARM::VFMAS:
25670 case ARM::VFMSH:
25671 case ARM::VFMSS:
25672 case ARM::VFNMAH:
25673 case ARM::VFNMAS:
25674 case ARM::VFNMSH:
25675 case ARM::VFNMSS:
25676 case ARM::VMLAH:
25677 case ARM::VMLAS:
25678 case ARM::VMLSH:
25679 case ARM::VMLSS:
25680 case ARM::VNMLAH:
25681 case ARM::VNMLAS:
25682 case ARM::VNMLSH:
25683 case ARM::VNMLSS: {
25684 switch (OpNum) {
25685 case 4:
25686 // op: p
25687 return 28;
25688 case 0:
25689 // op: Sd
25690 return 12;
25691 case 2:
25692 // op: Sn
25693 return 7;
25694 case 3:
25695 // op: Sm
25696 return 0;
25697 }
25698 break;
25699 }
25700 case ARM::VMOVSRR: {
25701 switch (OpNum) {
25702 case 4:
25703 // op: p
25704 return 28;
25705 case 0:
25706 // op: dst1
25707 return 0;
25708 case 2:
25709 // op: src1
25710 return 12;
25711 case 3:
25712 // op: src2
25713 return 16;
25714 }
25715 break;
25716 }
25717 case ARM::SMLABB:
25718 case ARM::SMLABT:
25719 case ARM::SMLATB:
25720 case ARM::SMLATT:
25721 case ARM::SMLAWB:
25722 case ARM::SMLAWT: {
25723 switch (OpNum) {
25724 case 4:
25725 // op: p
25726 return 28;
25727 case 1:
25728 // op: Rn
25729 return 0;
25730 case 2:
25731 // op: Rm
25732 return 8;
25733 case 0:
25734 // op: Rd
25735 return 16;
25736 case 3:
25737 // op: Ra
25738 return 12;
25739 }
25740 break;
25741 }
25742 case ARM::SMLAD:
25743 case ARM::SMLADX:
25744 case ARM::SMLSD:
25745 case ARM::SMLSDX: {
25746 switch (OpNum) {
25747 case 4:
25748 // op: p
25749 return 28;
25750 case 1:
25751 // op: Rn
25752 return 0;
25753 case 2:
25754 // op: Rm
25755 return 8;
25756 case 3:
25757 // op: Ra
25758 return 12;
25759 case 0:
25760 // op: Rd
25761 return 16;
25762 }
25763 break;
25764 }
25765 case ARM::STRB_PRE_IMM:
25766 case ARM::STR_PRE_IMM: {
25767 switch (OpNum) {
25768 case 4:
25769 // op: p
25770 return 28;
25771 case 1:
25772 // op: Rt
25773 return 12;
25774 case 2:
25775 // op: addr
25776 return 0;
25777 }
25778 break;
25779 }
25780 case ARM::LDRH:
25781 case ARM::LDRSB:
25782 case ARM::LDRSH:
25783 case ARM::STRH: {
25784 switch (OpNum) {
25785 case 4:
25786 // op: p
25787 return 28;
25788 case 1:
25789 // op: addr
25790 return 0;
25791 case 0:
25792 // op: Rt
25793 return 12;
25794 }
25795 break;
25796 }
25797 case ARM::LDCL_OFFSET:
25798 case ARM::LDCL_PRE:
25799 case ARM::LDC_OFFSET:
25800 case ARM::LDC_PRE:
25801 case ARM::STCL_OFFSET:
25802 case ARM::STCL_PRE:
25803 case ARM::STC_OFFSET:
25804 case ARM::STC_PRE: {
25805 switch (OpNum) {
25806 case 4:
25807 // op: p
25808 return 28;
25809 case 2:
25810 // op: addr
25811 return 0;
25812 case 0:
25813 // op: cop
25814 return 8;
25815 case 1:
25816 // op: CRd
25817 return 12;
25818 }
25819 break;
25820 }
25821 case ARM::VLDR_FPSCR_NZCVQC_pre:
25822 case ARM::VLDR_P0_pre:
25823 case ARM::VSTR_FPSCR_NZCVQC_pre:
25824 case ARM::VSTR_P0_pre: {
25825 switch (OpNum) {
25826 case 4:
25827 // op: p
25828 return 28;
25829 case 2:
25830 // op: addr
25831 return 0;
25832 }
25833 break;
25834 }
25835 case ARM::LDRHTi:
25836 case ARM::LDRSBTi:
25837 case ARM::LDRSHTi: {
25838 switch (OpNum) {
25839 case 4:
25840 // op: p
25841 return 28;
25842 case 2:
25843 // op: addr
25844 return 16;
25845 case 0:
25846 // op: Rt
25847 return 12;
25848 case 3:
25849 // op: offset
25850 return 0;
25851 }
25852 break;
25853 }
25854 case ARM::STRHTi: {
25855 switch (OpNum) {
25856 case 4:
25857 // op: p
25858 return 28;
25859 case 2:
25860 // op: addr
25861 return 16;
25862 case 1:
25863 // op: Rt
25864 return 12;
25865 case 3:
25866 // op: offset
25867 return 0;
25868 }
25869 break;
25870 }
25871 case ARM::VMOVRRS: {
25872 switch (OpNum) {
25873 case 4:
25874 // op: p
25875 return 28;
25876 case 2:
25877 // op: src1
25878 return 0;
25879 case 0:
25880 // op: Rt
25881 return 12;
25882 case 1:
25883 // op: Rt2
25884 return 16;
25885 }
25886 break;
25887 }
25888 case ARM::VLDR_FPSCR_NZCVQC_post:
25889 case ARM::VLDR_P0_post:
25890 case ARM::VSTR_FPSCR_NZCVQC_post:
25891 case ARM::VSTR_P0_post: {
25892 switch (OpNum) {
25893 case 4:
25894 // op: p
25895 return 28;
25896 case 3:
25897 // op: addr
25898 return 0;
25899 case 2:
25900 // op: Rn
25901 return 16;
25902 }
25903 break;
25904 }
25905 case ARM::LDCL_POST:
25906 case ARM::LDC_POST:
25907 case ARM::STCL_POST:
25908 case ARM::STC_POST: {
25909 switch (OpNum) {
25910 case 4:
25911 // op: p
25912 return 28;
25913 case 3:
25914 // op: offset
25915 return 0;
25916 case 2:
25917 // op: addr
25918 return 16;
25919 case 0:
25920 // op: cop
25921 return 8;
25922 case 1:
25923 // op: CRd
25924 return 12;
25925 }
25926 break;
25927 }
25928 case ARM::LDCL_OPTION:
25929 case ARM::LDC_OPTION:
25930 case ARM::STCL_OPTION:
25931 case ARM::STC_OPTION: {
25932 switch (OpNum) {
25933 case 4:
25934 // op: p
25935 return 28;
25936 case 3:
25937 // op: option
25938 return 0;
25939 case 2:
25940 // op: addr
25941 return 16;
25942 case 0:
25943 // op: cop
25944 return 8;
25945 case 1:
25946 // op: CRd
25947 return 12;
25948 }
25949 break;
25950 }
25951 case ARM::ADCrsi:
25952 case ARM::ADDrsi:
25953 case ARM::ANDrsi:
25954 case ARM::BICrsi:
25955 case ARM::EORrsi:
25956 case ARM::ORRrsi:
25957 case ARM::RSBrsi:
25958 case ARM::RSCrsi:
25959 case ARM::SBCrsi:
25960 case ARM::SUBrsi: {
25961 switch (OpNum) {
25962 case 4:
25963 // op: p
25964 return 28;
25965 case 6:
25966 // op: s
25967 return 20;
25968 case 0:
25969 // op: Rd
25970 return 12;
25971 case 1:
25972 // op: Rn
25973 return 16;
25974 case 2:
25975 // op: shift
25976 return 0;
25977 }
25978 break;
25979 }
25980 case ARM::MVNsr: {
25981 switch (OpNum) {
25982 case 4:
25983 // op: p
25984 return 28;
25985 case 6:
25986 // op: s
25987 return 20;
25988 case 0:
25989 // op: Rd
25990 return 12;
25991 case 1:
25992 // op: shift
25993 return 0;
25994 }
25995 break;
25996 }
25997 case ARM::MOVsr: {
25998 switch (OpNum) {
25999 case 4:
26000 // op: p
26001 return 28;
26002 case 6:
26003 // op: s
26004 return 20;
26005 case 0:
26006 // op: Rd
26007 return 12;
26008 case 1:
26009 // op: src
26010 return 0;
26011 }
26012 break;
26013 }
26014 case ARM::MLA: {
26015 switch (OpNum) {
26016 case 4:
26017 // op: p
26018 return 28;
26019 case 6:
26020 // op: s
26021 return 20;
26022 case 0:
26023 // op: Rd
26024 return 16;
26025 case 2:
26026 // op: Rm
26027 return 8;
26028 case 1:
26029 // op: Rn
26030 return 0;
26031 case 3:
26032 // op: Ra
26033 return 12;
26034 }
26035 break;
26036 }
26037 case ARM::SMULL:
26038 case ARM::UMULL: {
26039 switch (OpNum) {
26040 case 4:
26041 // op: p
26042 return 28;
26043 case 6:
26044 // op: s
26045 return 20;
26046 case 0:
26047 // op: RdLo
26048 return 12;
26049 case 1:
26050 // op: RdHi
26051 return 16;
26052 case 3:
26053 // op: Rm
26054 return 8;
26055 case 2:
26056 // op: Rn
26057 return 0;
26058 }
26059 break;
26060 }
26061 case ARM::t2MOVr:
26062 case ARM::t2MVNr:
26063 case ARM::t2RRX: {
26064 switch (OpNum) {
26065 case 4:
26066 // op: s
26067 return 20;
26068 case 0:
26069 // op: Rd
26070 return 8;
26071 case 1:
26072 // op: Rm
26073 return 0;
26074 }
26075 break;
26076 }
26077 case ARM::t2MOVi:
26078 case ARM::t2MVNi: {
26079 switch (OpNum) {
26080 case 4:
26081 // op: s
26082 return 20;
26083 case 0:
26084 // op: Rd
26085 return 8;
26086 case 1:
26087 // op: imm
26088 return 0;
26089 }
26090 break;
26091 }
26092 case ARM::MRRC: {
26093 switch (OpNum) {
26094 case 5:
26095 // op: p
26096 return 28;
26097 case 0:
26098 // op: Rt
26099 return 12;
26100 case 1:
26101 // op: Rt2
26102 return 16;
26103 case 2:
26104 // op: cop
26105 return 8;
26106 case 3:
26107 // op: opc1
26108 return 4;
26109 case 4:
26110 // op: CRm
26111 return 0;
26112 }
26113 break;
26114 }
26115 case ARM::LDRB_PRE_REG:
26116 case ARM::LDRH_PRE:
26117 case ARM::LDRSB_PRE:
26118 case ARM::LDRSH_PRE:
26119 case ARM::LDR_PRE_REG: {
26120 switch (OpNum) {
26121 case 5:
26122 // op: p
26123 return 28;
26124 case 0:
26125 // op: Rt
26126 return 12;
26127 case 2:
26128 // op: addr
26129 return 0;
26130 }
26131 break;
26132 }
26133 case ARM::LDRBT_POST_IMM:
26134 case ARM::LDRBT_POST_REG:
26135 case ARM::LDRB_POST_IMM:
26136 case ARM::LDRB_POST_REG:
26137 case ARM::LDRH_POST:
26138 case ARM::LDRSB_POST:
26139 case ARM::LDRSH_POST:
26140 case ARM::LDRT_POST_IMM:
26141 case ARM::LDRT_POST_REG:
26142 case ARM::LDR_POST_IMM:
26143 case ARM::LDR_POST_REG: {
26144 switch (OpNum) {
26145 case 5:
26146 // op: p
26147 return 28;
26148 case 0:
26149 // op: Rt
26150 return 12;
26151 case 3:
26152 // op: offset
26153 return 0;
26154 case 2:
26155 // op: addr
26156 return 16;
26157 }
26158 break;
26159 }
26160 case ARM::STRB_PRE_REG:
26161 case ARM::STRH_PRE:
26162 case ARM::STR_PRE_REG: {
26163 switch (OpNum) {
26164 case 5:
26165 // op: p
26166 return 28;
26167 case 1:
26168 // op: Rt
26169 return 12;
26170 case 2:
26171 // op: addr
26172 return 0;
26173 }
26174 break;
26175 }
26176 case ARM::STRBT_POST_IMM:
26177 case ARM::STRBT_POST_REG:
26178 case ARM::STRB_POST_IMM:
26179 case ARM::STRB_POST_REG:
26180 case ARM::STRH_POST:
26181 case ARM::STRT_POST_IMM:
26182 case ARM::STRT_POST_REG:
26183 case ARM::STR_POST_IMM:
26184 case ARM::STR_POST_REG: {
26185 switch (OpNum) {
26186 case 5:
26187 // op: p
26188 return 28;
26189 case 1:
26190 // op: Rt
26191 return 12;
26192 case 3:
26193 // op: offset
26194 return 0;
26195 case 2:
26196 // op: addr
26197 return 16;
26198 }
26199 break;
26200 }
26201 case ARM::MCRR: {
26202 switch (OpNum) {
26203 case 5:
26204 // op: p
26205 return 28;
26206 case 2:
26207 // op: Rt
26208 return 12;
26209 case 3:
26210 // op: Rt2
26211 return 16;
26212 case 0:
26213 // op: cop
26214 return 8;
26215 case 1:
26216 // op: opc1
26217 return 4;
26218 case 4:
26219 // op: CRm
26220 return 0;
26221 }
26222 break;
26223 }
26224 case ARM::LDRD:
26225 case ARM::STRD: {
26226 switch (OpNum) {
26227 case 5:
26228 // op: p
26229 return 28;
26230 case 2:
26231 // op: addr
26232 return 0;
26233 case 0:
26234 // op: Rt
26235 return 12;
26236 }
26237 break;
26238 }
26239 case ARM::LDRHTr:
26240 case ARM::LDRSBTr:
26241 case ARM::LDRSHTr: {
26242 switch (OpNum) {
26243 case 5:
26244 // op: p
26245 return 28;
26246 case 2:
26247 // op: addr
26248 return 16;
26249 case 0:
26250 // op: Rt
26251 return 12;
26252 case 3:
26253 // op: Rm
26254 return 0;
26255 }
26256 break;
26257 }
26258 case ARM::STRHTr: {
26259 switch (OpNum) {
26260 case 5:
26261 // op: p
26262 return 28;
26263 case 2:
26264 // op: addr
26265 return 16;
26266 case 1:
26267 // op: Rt
26268 return 12;
26269 case 3:
26270 // op: Rm
26271 return 0;
26272 }
26273 break;
26274 }
26275 case ARM::ADCrsr:
26276 case ARM::ADDrsr:
26277 case ARM::ANDrsr:
26278 case ARM::BICrsr:
26279 case ARM::EORrsr:
26280 case ARM::ORRrsr:
26281 case ARM::RSBrsr:
26282 case ARM::RSCrsr:
26283 case ARM::SBCrsr:
26284 case ARM::SUBrsr: {
26285 switch (OpNum) {
26286 case 5:
26287 // op: p
26288 return 28;
26289 case 7:
26290 // op: s
26291 return 20;
26292 case 0:
26293 // op: Rd
26294 return 12;
26295 case 1:
26296 // op: Rn
26297 return 16;
26298 case 2:
26299 // op: shift
26300 return 0;
26301 }
26302 break;
26303 }
26304 case ARM::t2ASRri:
26305 case ARM::t2LSLri:
26306 case ARM::t2LSRri:
26307 case ARM::t2RORri: {
26308 switch (OpNum) {
26309 case 5:
26310 // op: s
26311 return 20;
26312 case 0:
26313 // op: Rd
26314 return 8;
26315 case 1:
26316 // op: Rm
26317 return 0;
26318 case 2:
26319 // op: imm
26320 return 6;
26321 }
26322 break;
26323 }
26324 case ARM::t2ADCrr:
26325 case ARM::t2ADDrr:
26326 case ARM::t2ANDrr:
26327 case ARM::t2ASRrr:
26328 case ARM::t2BICrr:
26329 case ARM::t2EORrr:
26330 case ARM::t2LSLrr:
26331 case ARM::t2LSRrr:
26332 case ARM::t2ORNrr:
26333 case ARM::t2ORRrr:
26334 case ARM::t2RORrr:
26335 case ARM::t2RSBrr:
26336 case ARM::t2SBCrr:
26337 case ARM::t2SUBrr: {
26338 switch (OpNum) {
26339 case 5:
26340 // op: s
26341 return 20;
26342 case 0:
26343 // op: Rd
26344 return 8;
26345 case 1:
26346 // op: Rn
26347 return 16;
26348 case 2:
26349 // op: Rm
26350 return 0;
26351 }
26352 break;
26353 }
26354 case ARM::t2ADCri:
26355 case ARM::t2ADDri:
26356 case ARM::t2ANDri:
26357 case ARM::t2BICri:
26358 case ARM::t2EORri:
26359 case ARM::t2ORNri:
26360 case ARM::t2ORRri:
26361 case ARM::t2RSBri:
26362 case ARM::t2SBCri:
26363 case ARM::t2SUBri: {
26364 switch (OpNum) {
26365 case 5:
26366 // op: s
26367 return 20;
26368 case 0:
26369 // op: Rd
26370 return 8;
26371 case 1:
26372 // op: Rn
26373 return 16;
26374 case 2:
26375 // op: imm
26376 return 0;
26377 }
26378 break;
26379 }
26380 case ARM::t2MVNs: {
26381 switch (OpNum) {
26382 case 5:
26383 // op: s
26384 return 20;
26385 case 0:
26386 // op: Rd
26387 return 8;
26388 case 1:
26389 // op: ShiftedRm
26390 return 0;
26391 }
26392 break;
26393 }
26394 case ARM::t2ADDspImm:
26395 case ARM::t2SUBspImm: {
26396 switch (OpNum) {
26397 case 5:
26398 // op: s
26399 return 20;
26400 case 2:
26401 // op: imm
26402 return 0;
26403 }
26404 break;
26405 }
26406 case ARM::UMAAL: {
26407 switch (OpNum) {
26408 case 6:
26409 // op: p
26410 return 28;
26411 case 0:
26412 // op: RdLo
26413 return 12;
26414 case 1:
26415 // op: RdHi
26416 return 16;
26417 case 3:
26418 // op: Rm
26419 return 8;
26420 case 2:
26421 // op: Rn
26422 return 0;
26423 }
26424 break;
26425 }
26426 case ARM::MRC: {
26427 switch (OpNum) {
26428 case 6:
26429 // op: p
26430 return 28;
26431 case 0:
26432 // op: Rt
26433 return 12;
26434 case 1:
26435 // op: cop
26436 return 8;
26437 case 2:
26438 // op: opc1
26439 return 21;
26440 case 5:
26441 // op: opc2
26442 return 5;
26443 case 4:
26444 // op: CRm
26445 return 0;
26446 case 3:
26447 // op: CRn
26448 return 16;
26449 }
26450 break;
26451 }
26452 case ARM::LDRD_PRE: {
26453 switch (OpNum) {
26454 case 6:
26455 // op: p
26456 return 28;
26457 case 0:
26458 // op: Rt
26459 return 12;
26460 case 3:
26461 // op: addr
26462 return 0;
26463 }
26464 break;
26465 }
26466 case ARM::LDRD_POST: {
26467 switch (OpNum) {
26468 case 6:
26469 // op: p
26470 return 28;
26471 case 0:
26472 // op: Rt
26473 return 12;
26474 case 4:
26475 // op: offset
26476 return 0;
26477 case 3:
26478 // op: addr
26479 return 16;
26480 }
26481 break;
26482 }
26483 case ARM::STRD_PRE: {
26484 switch (OpNum) {
26485 case 6:
26486 // op: p
26487 return 28;
26488 case 1:
26489 // op: Rt
26490 return 12;
26491 case 3:
26492 // op: addr
26493 return 0;
26494 }
26495 break;
26496 }
26497 case ARM::STRD_POST: {
26498 switch (OpNum) {
26499 case 6:
26500 // op: p
26501 return 28;
26502 case 1:
26503 // op: Rt
26504 return 12;
26505 case 4:
26506 // op: offset
26507 return 0;
26508 case 3:
26509 // op: addr
26510 return 16;
26511 }
26512 break;
26513 }
26514 case ARM::CDP: {
26515 switch (OpNum) {
26516 case 6:
26517 // op: p
26518 return 28;
26519 case 1:
26520 // op: opc1
26521 return 20;
26522 case 3:
26523 // op: CRn
26524 return 16;
26525 case 2:
26526 // op: CRd
26527 return 12;
26528 case 0:
26529 // op: cop
26530 return 8;
26531 case 5:
26532 // op: opc2
26533 return 5;
26534 case 4:
26535 // op: CRm
26536 return 0;
26537 }
26538 break;
26539 }
26540 case ARM::SMLALBB:
26541 case ARM::SMLALBT:
26542 case ARM::SMLALD:
26543 case ARM::SMLALDX:
26544 case ARM::SMLALTB:
26545 case ARM::SMLALTT:
26546 case ARM::SMLSLD:
26547 case ARM::SMLSLDX: {
26548 switch (OpNum) {
26549 case 6:
26550 // op: p
26551 return 28;
26552 case 2:
26553 // op: Rn
26554 return 0;
26555 case 3:
26556 // op: Rm
26557 return 8;
26558 case 0:
26559 // op: RdLo
26560 return 12;
26561 case 1:
26562 // op: RdHi
26563 return 16;
26564 }
26565 break;
26566 }
26567 case ARM::MCR: {
26568 switch (OpNum) {
26569 case 6:
26570 // op: p
26571 return 28;
26572 case 2:
26573 // op: Rt
26574 return 12;
26575 case 0:
26576 // op: cop
26577 return 8;
26578 case 1:
26579 // op: opc1
26580 return 21;
26581 case 5:
26582 // op: opc2
26583 return 5;
26584 case 4:
26585 // op: CRm
26586 return 0;
26587 case 3:
26588 // op: CRn
26589 return 16;
26590 }
26591 break;
26592 }
26593 case ARM::SMLAL:
26594 case ARM::UMLAL: {
26595 switch (OpNum) {
26596 case 6:
26597 // op: p
26598 return 28;
26599 case 8:
26600 // op: s
26601 return 20;
26602 case 0:
26603 // op: RdLo
26604 return 12;
26605 case 1:
26606 // op: RdHi
26607 return 16;
26608 case 3:
26609 // op: Rm
26610 return 8;
26611 case 2:
26612 // op: Rn
26613 return 0;
26614 }
26615 break;
26616 }
26617 case ARM::t2ADCrs:
26618 case ARM::t2ADDrs:
26619 case ARM::t2ANDrs:
26620 case ARM::t2BICrs:
26621 case ARM::t2EORrs:
26622 case ARM::t2ORNrs:
26623 case ARM::t2ORRrs:
26624 case ARM::t2RSBrs:
26625 case ARM::t2SBCrs:
26626 case ARM::t2SUBrs: {
26627 switch (OpNum) {
26628 case 6:
26629 // op: s
26630 return 20;
26631 case 0:
26632 // op: Rd
26633 return 8;
26634 case 1:
26635 // op: Rn
26636 return 16;
26637 case 2:
26638 // op: ShiftedRm
26639 return 0;
26640 }
26641 break;
26642 }
26643 }
26644 std::string msg;
26645 raw_string_ostream Msg(msg);
26646 Msg << "Not supported instr[opcode]: " << MI << "[" << OpNum << "]";
26647 report_fatal_error(Msg.str().c_str());
26648}
26649
26650#endif // GET_OPERAND_BIT_OFFSET
26651
26652