]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - opcodes/aarch64-dis-2.c
[AArch64] Support for ARMv8.1a Limited Ordering Regions extension
[thirdparty/binutils-gdb.git] / opcodes / aarch64-dis-2.c
1 /* This file is automatically generated by aarch64-gen. Do not edit! */
2 /* Copyright (C) 2012-2015 Free Software Foundation, Inc.
3 Contributed by ARM Ltd.
4
5 This file is part of the GNU opcodes library.
6
7 This library is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
10 any later version.
11
12 It is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15 License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; see the file COPYING3. If not,
19 see <http://www.gnu.org/licenses/>. */
20
21 #include "sysdep.h"
22 #include "aarch64-dis.h"
23
24 /* Called by aarch64_opcode_lookup. */
25
26 static int
27 aarch64_opcode_lookup_1 (uint32_t word)
28 {
29 if (((word >> 26) & 0x1) == 0)
30 {
31 if (((word >> 25) & 0x1) == 0)
32 {
33 if (((word >> 27) & 0x1) == 0)
34 {
35 if (((word >> 24) & 0x1) == 0)
36 {
37 if (((word >> 31) & 0x1) == 0)
38 {
39 /* 33222222222211111111110000000000
40 10987654321098765432109876543210
41 xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0
42 adr. */
43 return 947;
44 }
45 else
46 {
47 /* 33222222222211111111110000000000
48 10987654321098765432109876543210
49 xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
50 adrp. */
51 return 948;
52 }
53 }
54 else
55 {
56 if (((word >> 29) & 0x1) == 0)
57 {
58 if (((word >> 30) & 0x1) == 0)
59 {
60 /* 33222222222211111111110000000000
61 10987654321098765432109876543210
62 xxxxxxxxxxxxxxxxxxxxxxxx1000x00x
63 add. */
64 return 12;
65 }
66 else
67 {
68 /* 33222222222211111111110000000000
69 10987654321098765432109876543210
70 xxxxxxxxxxxxxxxxxxxxxxxx1000x01x
71 sub. */
72 return 16;
73 }
74 }
75 else
76 {
77 if (((word >> 30) & 0x1) == 0)
78 {
79 /* 33222222222211111111110000000000
80 10987654321098765432109876543210
81 xxxxxxxxxxxxxxxxxxxxxxxx1000x10x
82 adds. */
83 return 14;
84 }
85 else
86 {
87 /* 33222222222211111111110000000000
88 10987654321098765432109876543210
89 xxxxxxxxxxxxxxxxxxxxxxxx1000x11x
90 subs. */
91 return 17;
92 }
93 }
94 }
95 }
96 else
97 {
98 if (((word >> 28) & 0x1) == 0)
99 {
100 if (((word >> 22) & 0x1) == 0)
101 {
102 if (((word >> 23) & 0x1) == 0)
103 {
104 if (((word >> 29) & 0x1) == 0)
105 {
106 if (((word >> 15) & 0x1) == 0)
107 {
108 if (((word >> 21) & 0x1) == 0)
109 {
110 if (((word >> 31) & 0x1) == 0)
111 {
112 if (((word >> 30) & 0x1) == 0)
113 {
114 /* 33222222222211111111110000000000
115 10987654321098765432109876543210
116 xxxxxxxxxxxxxxx0xxxxx000x0010000
117 stxrb. */
118 return 705;
119 }
120 else
121 {
122 /* 33222222222211111111110000000000
123 10987654321098765432109876543210
124 xxxxxxxxxxxxxxx0xxxxx000x0010010
125 stxrh. */
126 return 711;
127 }
128 }
129 else
130 {
131 /* 33222222222211111111110000000000
132 10987654321098765432109876543210
133 xxxxxxxxxxxxxxx0xxxxx000x00100x1
134 stxr. */
135 return 717;
136 }
137 }
138 else
139 {
140 if (((word >> 31) & 0x1) == 0)
141 {
142 /* 33222222222211111111110000000000
143 10987654321098765432109876543210
144 xxxxxxxxxxxxxxx0xxxxx100x00100x0
145 casp. */
146 return 782;
147 }
148 else
149 {
150 /* 33222222222211111111110000000000
151 10987654321098765432109876543210
152 xxxxxxxxxxxxxxx0xxxxx100x00100x1
153 stxp. */
154 return 719;
155 }
156 }
157 }
158 else
159 {
160 if (((word >> 21) & 0x1) == 0)
161 {
162 if (((word >> 31) & 0x1) == 0)
163 {
164 if (((word >> 30) & 0x1) == 0)
165 {
166 /* 33222222222211111111110000000000
167 10987654321098765432109876543210
168 xxxxxxxxxxxxxxx1xxxxx000x0010000
169 stlxrb. */
170 return 706;
171 }
172 else
173 {
174 /* 33222222222211111111110000000000
175 10987654321098765432109876543210
176 xxxxxxxxxxxxxxx1xxxxx000x0010010
177 stlxrh. */
178 return 712;
179 }
180 }
181 else
182 {
183 /* 33222222222211111111110000000000
184 10987654321098765432109876543210
185 xxxxxxxxxxxxxxx1xxxxx000x00100x1
186 stlxr. */
187 return 718;
188 }
189 }
190 else
191 {
192 if (((word >> 31) & 0x1) == 0)
193 {
194 /* 33222222222211111111110000000000
195 10987654321098765432109876543210
196 xxxxxxxxxxxxxxx1xxxxx100x00100x0
197 caspl. */
198 return 784;
199 }
200 else
201 {
202 /* 33222222222211111111110000000000
203 10987654321098765432109876543210
204 xxxxxxxxxxxxxxx1xxxxx100x00100x1
205 stlxp. */
206 return 720;
207 }
208 }
209 }
210 }
211 else
212 {
213 /* 33222222222211111111110000000000
214 10987654321098765432109876543210
215 xxxxxxxxxxxxxxxxxxxxxx00x00101xx
216 stnp. */
217 return 733;
218 }
219 }
220 else
221 {
222 if (((word >> 29) & 0x1) == 0)
223 {
224 if (((word >> 15) & 0x1) == 0)
225 {
226 if (((word >> 21) & 0x1) == 0)
227 {
228 if (((word >> 31) & 0x1) == 0)
229 {
230 /* 33222222222211111111110000000000
231 10987654321098765432109876543210
232 xxxxxxxxxxxxxxx0xxxxx001x00100x0
233 stllrb. */
234 return 731;
235 }
236 else
237 {
238 /* 33222222222211111111110000000000
239 10987654321098765432109876543210
240 xxxxxxxxxxxxxxx0xxxxx001x00100x1
241 stllr. */
242 return 730;
243 }
244 }
245 else
246 {
247 if (((word >> 31) & 0x1) == 0)
248 {
249 if (((word >> 30) & 0x1) == 0)
250 {
251 /* 33222222222211111111110000000000
252 10987654321098765432109876543210
253 xxxxxxxxxxxxxxx0xxxxx101x0010000
254 casb. */
255 return 770;
256 }
257 else
258 {
259 /* 33222222222211111111110000000000
260 10987654321098765432109876543210
261 xxxxxxxxxxxxxxx0xxxxx101x0010010
262 cash. */
263 return 771;
264 }
265 }
266 else
267 {
268 /* 33222222222211111111110000000000
269 10987654321098765432109876543210
270 xxxxxxxxxxxxxxx0xxxxx101x00100x1
271 cas. */
272 return 772;
273 }
274 }
275 }
276 else
277 {
278 if (((word >> 21) & 0x1) == 0)
279 {
280 if (((word >> 31) & 0x1) == 0)
281 {
282 if (((word >> 30) & 0x1) == 0)
283 {
284 /* 33222222222211111111110000000000
285 10987654321098765432109876543210
286 xxxxxxxxxxxxxxx1xxxxx001x0010000
287 stlrb. */
288 return 709;
289 }
290 else
291 {
292 /* 33222222222211111111110000000000
293 10987654321098765432109876543210
294 xxxxxxxxxxxxxxx1xxxxx001x0010010
295 stlrh. */
296 return 715;
297 }
298 }
299 else
300 {
301 /* 33222222222211111111110000000000
302 10987654321098765432109876543210
303 xxxxxxxxxxxxxxx1xxxxx001x00100x1
304 stlr. */
305 return 725;
306 }
307 }
308 else
309 {
310 if (((word >> 31) & 0x1) == 0)
311 {
312 if (((word >> 30) & 0x1) == 0)
313 {
314 /* 33222222222211111111110000000000
315 10987654321098765432109876543210
316 xxxxxxxxxxxxxxx1xxxxx101x0010000
317 caslb. */
318 return 774;
319 }
320 else
321 {
322 /* 33222222222211111111110000000000
323 10987654321098765432109876543210
324 xxxxxxxxxxxxxxx1xxxxx101x0010010
325 caslh. */
326 return 777;
327 }
328 }
329 else
330 {
331 /* 33222222222211111111110000000000
332 10987654321098765432109876543210
333 xxxxxxxxxxxxxxx1xxxxx101x00100x1
334 casl. */
335 return 780;
336 }
337 }
338 }
339 }
340 else
341 {
342 /* 33222222222211111111110000000000
343 10987654321098765432109876543210
344 xxxxxxxxxxxxxxxxxxxxxx01x00101xx
345 stp. */
346 return 742;
347 }
348 }
349 }
350 else
351 {
352 if (((word >> 23) & 0x1) == 0)
353 {
354 if (((word >> 29) & 0x1) == 0)
355 {
356 if (((word >> 15) & 0x1) == 0)
357 {
358 if (((word >> 21) & 0x1) == 0)
359 {
360 if (((word >> 31) & 0x1) == 0)
361 {
362 if (((word >> 30) & 0x1) == 0)
363 {
364 /* 33222222222211111111110000000000
365 10987654321098765432109876543210
366 xxxxxxxxxxxxxxx0xxxxx010x0010000
367 ldxrb. */
368 return 707;
369 }
370 else
371 {
372 /* 33222222222211111111110000000000
373 10987654321098765432109876543210
374 xxxxxxxxxxxxxxx0xxxxx010x0010010
375 ldxrh. */
376 return 713;
377 }
378 }
379 else
380 {
381 /* 33222222222211111111110000000000
382 10987654321098765432109876543210
383 xxxxxxxxxxxxxxx0xxxxx010x00100x1
384 ldxr. */
385 return 721;
386 }
387 }
388 else
389 {
390 if (((word >> 31) & 0x1) == 0)
391 {
392 /* 33222222222211111111110000000000
393 10987654321098765432109876543210
394 xxxxxxxxxxxxxxx0xxxxx110x00100x0
395 caspa. */
396 return 783;
397 }
398 else
399 {
400 /* 33222222222211111111110000000000
401 10987654321098765432109876543210
402 xxxxxxxxxxxxxxx0xxxxx110x00100x1
403 ldxp. */
404 return 723;
405 }
406 }
407 }
408 else
409 {
410 if (((word >> 21) & 0x1) == 0)
411 {
412 if (((word >> 31) & 0x1) == 0)
413 {
414 if (((word >> 30) & 0x1) == 0)
415 {
416 /* 33222222222211111111110000000000
417 10987654321098765432109876543210
418 xxxxxxxxxxxxxxx1xxxxx010x0010000
419 ldaxrb. */
420 return 708;
421 }
422 else
423 {
424 /* 33222222222211111111110000000000
425 10987654321098765432109876543210
426 xxxxxxxxxxxxxxx1xxxxx010x0010010
427 ldaxrh. */
428 return 714;
429 }
430 }
431 else
432 {
433 /* 33222222222211111111110000000000
434 10987654321098765432109876543210
435 xxxxxxxxxxxxxxx1xxxxx010x00100x1
436 ldaxr. */
437 return 722;
438 }
439 }
440 else
441 {
442 if (((word >> 31) & 0x1) == 0)
443 {
444 /* 33222222222211111111110000000000
445 10987654321098765432109876543210
446 xxxxxxxxxxxxxxx1xxxxx110x00100x0
447 caspal. */
448 return 785;
449 }
450 else
451 {
452 /* 33222222222211111111110000000000
453 10987654321098765432109876543210
454 xxxxxxxxxxxxxxx1xxxxx110x00100x1
455 ldaxp. */
456 return 724;
457 }
458 }
459 }
460 }
461 else
462 {
463 if (((word >> 30) & 0x1) == 0)
464 {
465 /* 33222222222211111111110000000000
466 10987654321098765432109876543210
467 xxxxxxxxxxxxxxxxxxxxxx10x001010x
468 ldnp. */
469 return 734;
470 }
471 else
472 {
473 /* 33222222222211111111110000000000
474 10987654321098765432109876543210
475 xxxxxxxxxxxxxxxxxxxxxx10x001011x
476 ldpsw. */
477 return 741;
478 }
479 }
480 }
481 else
482 {
483 if (((word >> 29) & 0x1) == 0)
484 {
485 if (((word >> 15) & 0x1) == 0)
486 {
487 if (((word >> 21) & 0x1) == 0)
488 {
489 if (((word >> 31) & 0x1) == 0)
490 {
491 if (((word >> 30) & 0x1) == 0)
492 {
493 /* 33222222222211111111110000000000
494 10987654321098765432109876543210
495 xxxxxxxxxxxxxxx0xxxxx011x0010000
496 ldlarb. */
497 return 728;
498 }
499 else
500 {
501 /* 33222222222211111111110000000000
502 10987654321098765432109876543210
503 xxxxxxxxxxxxxxx0xxxxx011x0010010
504 ldlarh. */
505 return 729;
506 }
507 }
508 else
509 {
510 /* 33222222222211111111110000000000
511 10987654321098765432109876543210
512 xxxxxxxxxxxxxxx0xxxxx011x00100x1
513 ldlar. */
514 return 727;
515 }
516 }
517 else
518 {
519 if (((word >> 31) & 0x1) == 0)
520 {
521 if (((word >> 30) & 0x1) == 0)
522 {
523 /* 33222222222211111111110000000000
524 10987654321098765432109876543210
525 xxxxxxxxxxxxxxx0xxxxx111x0010000
526 casab. */
527 return 773;
528 }
529 else
530 {
531 /* 33222222222211111111110000000000
532 10987654321098765432109876543210
533 xxxxxxxxxxxxxxx0xxxxx111x0010010
534 casah. */
535 return 776;
536 }
537 }
538 else
539 {
540 /* 33222222222211111111110000000000
541 10987654321098765432109876543210
542 xxxxxxxxxxxxxxx0xxxxx111x00100x1
543 casa. */
544 return 779;
545 }
546 }
547 }
548 else
549 {
550 if (((word >> 21) & 0x1) == 0)
551 {
552 if (((word >> 31) & 0x1) == 0)
553 {
554 if (((word >> 30) & 0x1) == 0)
555 {
556 /* 33222222222211111111110000000000
557 10987654321098765432109876543210
558 xxxxxxxxxxxxxxx1xxxxx011x0010000
559 ldarb. */
560 return 710;
561 }
562 else
563 {
564 /* 33222222222211111111110000000000
565 10987654321098765432109876543210
566 xxxxxxxxxxxxxxx1xxxxx011x0010010
567 ldarh. */
568 return 716;
569 }
570 }
571 else
572 {
573 /* 33222222222211111111110000000000
574 10987654321098765432109876543210
575 xxxxxxxxxxxxxxx1xxxxx011x00100x1
576 ldar. */
577 return 726;
578 }
579 }
580 else
581 {
582 if (((word >> 31) & 0x1) == 0)
583 {
584 if (((word >> 30) & 0x1) == 0)
585 {
586 /* 33222222222211111111110000000000
587 10987654321098765432109876543210
588 xxxxxxxxxxxxxxx1xxxxx111x0010000
589 casalb. */
590 return 775;
591 }
592 else
593 {
594 /* 33222222222211111111110000000000
595 10987654321098765432109876543210
596 xxxxxxxxxxxxxxx1xxxxx111x0010010
597 casalh. */
598 return 778;
599 }
600 }
601 else
602 {
603 /* 33222222222211111111110000000000
604 10987654321098765432109876543210
605 xxxxxxxxxxxxxxx1xxxxx111x00100x1
606 casal. */
607 return 781;
608 }
609 }
610 }
611 }
612 else
613 {
614 if (((word >> 30) & 0x1) == 0)
615 {
616 /* 33222222222211111111110000000000
617 10987654321098765432109876543210
618 xxxxxxxxxxxxxxxxxxxxxx11x001010x
619 ldp. */
620 return 743;
621 }
622 else
623 {
624 /* 33222222222211111111110000000000
625 10987654321098765432109876543210
626 xxxxxxxxxxxxxxxxxxxxxx11x001011x
627 ldpsw. */
628 return 746;
629 }
630 }
631 }
632 }
633 }
634 else
635 {
636 if (((word >> 24) & 0x1) == 0)
637 {
638 if (((word >> 29) & 0x1) == 0)
639 {
640 if (((word >> 31) & 0x1) == 0)
641 {
642 /* 33222222222211111111110000000000
643 10987654321098765432109876543210
644 xxxxxxxxxxxxxxxxxxxxxxxx000110x0
645 ldr. */
646 return 747;
647 }
648 else
649 {
650 if (((word >> 30) & 0x1) == 0)
651 {
652 /* 33222222222211111111110000000000
653 10987654321098765432109876543210
654 xxxxxxxxxxxxxxxxxxxxxxxx00011001
655 ldrsw. */
656 return 749;
657 }
658 else
659 {
660 /* 33222222222211111111110000000000
661 10987654321098765432109876543210
662 xxxxxxxxxxxxxxxxxxxxxxxx00011011
663 prfm. */
664 return 750;
665 }
666 }
667 }
668 else
669 {
670 if (((word >> 10) & 0x1) == 0)
671 {
672 if (((word >> 11) & 0x1) == 0)
673 {
674 if (((word >> 21) & 0x1) == 0)
675 {
676 if (((word >> 23) & 0x1) == 0)
677 {
678 if (((word >> 22) & 0x1) == 0)
679 {
680 if (((word >> 31) & 0x1) == 0)
681 {
682 if (((word >> 30) & 0x1) == 0)
683 {
684 /* 33222222222211111111110000000000
685 10987654321098765432109876543210
686 xxxxxxxxxx00xxxxxxxxx00000011100
687 sturb. */
688 return 693;
689 }
690 else
691 {
692 /* 33222222222211111111110000000000
693 10987654321098765432109876543210
694 xxxxxxxxxx00xxxxxxxxx00000011110
695 sturh. */
696 return 698;
697 }
698 }
699 else
700 {
701 /* 33222222222211111111110000000000
702 10987654321098765432109876543210
703 xxxxxxxxxx00xxxxxxxxx000000111x1
704 stur. */
705 return 701;
706 }
707 }
708 else
709 {
710 if (((word >> 31) & 0x1) == 0)
711 {
712 if (((word >> 30) & 0x1) == 0)
713 {
714 /* 33222222222211111111110000000000
715 10987654321098765432109876543210
716 xxxxxxxxxx00xxxxxxxxx01000011100
717 ldurb. */
718 return 694;
719 }
720 else
721 {
722 /* 33222222222211111111110000000000
723 10987654321098765432109876543210
724 xxxxxxxxxx00xxxxxxxxx01000011110
725 ldurh. */
726 return 699;
727 }
728 }
729 else
730 {
731 /* 33222222222211111111110000000000
732 10987654321098765432109876543210
733 xxxxxxxxxx00xxxxxxxxx010000111x1
734 ldur. */
735 return 702;
736 }
737 }
738 }
739 else
740 {
741 if (((word >> 30) & 0x1) == 0)
742 {
743 if (((word >> 31) & 0x1) == 0)
744 {
745 /* 33222222222211111111110000000000
746 10987654321098765432109876543210
747 xxxxxxxxxx00xxxxxxxxx0x100011100
748 ldursb. */
749 return 695;
750 }
751 else
752 {
753 /* 33222222222211111111110000000000
754 10987654321098765432109876543210
755 xxxxxxxxxx00xxxxxxxxx0x100011101
756 ldursw. */
757 return 703;
758 }
759 }
760 else
761 {
762 if (((word >> 31) & 0x1) == 0)
763 {
764 /* 33222222222211111111110000000000
765 10987654321098765432109876543210
766 xxxxxxxxxx00xxxxxxxxx0x100011110
767 ldursh. */
768 return 700;
769 }
770 else
771 {
772 /* 33222222222211111111110000000000
773 10987654321098765432109876543210
774 xxxxxxxxxx00xxxxxxxxx0x100011111
775 prfum. */
776 return 704;
777 }
778 }
779 }
780 }
781 else
782 {
783 if (((word >> 12) & 0x1) == 0)
784 {
785 if (((word >> 13) & 0x1) == 0)
786 {
787 if (((word >> 14) & 0x1) == 0)
788 {
789 if (((word >> 15) & 0x1) == 0)
790 {
791 if (((word >> 22) & 0x1) == 0)
792 {
793 if (((word >> 23) & 0x1) == 0)
794 {
795 if (((word >> 31) & 0x1) == 0)
796 {
797 if (((word >> 30) & 0x1) == 0)
798 {
799 /* 33222222222211111111110000000000
800 10987654321098765432109876543210
801 xxxxxxxxxx000000xxxxx10000011100
802 ldaddb. */
803 return 798;
804 }
805 else
806 {
807 /* 33222222222211111111110000000000
808 10987654321098765432109876543210
809 xxxxxxxxxx000000xxxxx10000011110
810 ldaddh. */
811 return 799;
812 }
813 }
814 else
815 {
816 /* 33222222222211111111110000000000
817 10987654321098765432109876543210
818 xxxxxxxxxx000000xxxxx100000111x1
819 ldadd. */
820 return 800;
821 }
822 }
823 else
824 {
825 if (((word >> 31) & 0x1) == 0)
826 {
827 if (((word >> 30) & 0x1) == 0)
828 {
829 /* 33222222222211111111110000000000
830 10987654321098765432109876543210
831 xxxxxxxxxx000000xxxxx10100011100
832 ldaddab. */
833 return 801;
834 }
835 else
836 {
837 /* 33222222222211111111110000000000
838 10987654321098765432109876543210
839 xxxxxxxxxx000000xxxxx10100011110
840 ldaddah. */
841 return 804;
842 }
843 }
844 else
845 {
846 /* 33222222222211111111110000000000
847 10987654321098765432109876543210
848 xxxxxxxxxx000000xxxxx101000111x1
849 ldadda. */
850 return 807;
851 }
852 }
853 }
854 else
855 {
856 if (((word >> 23) & 0x1) == 0)
857 {
858 if (((word >> 31) & 0x1) == 0)
859 {
860 if (((word >> 30) & 0x1) == 0)
861 {
862 /* 33222222222211111111110000000000
863 10987654321098765432109876543210
864 xxxxxxxxxx000000xxxxx11000011100
865 ldaddlb. */
866 return 802;
867 }
868 else
869 {
870 /* 33222222222211111111110000000000
871 10987654321098765432109876543210
872 xxxxxxxxxx000000xxxxx11000011110
873 ldaddlh. */
874 return 805;
875 }
876 }
877 else
878 {
879 /* 33222222222211111111110000000000
880 10987654321098765432109876543210
881 xxxxxxxxxx000000xxxxx110000111x1
882 ldaddl. */
883 return 808;
884 }
885 }
886 else
887 {
888 if (((word >> 31) & 0x1) == 0)
889 {
890 if (((word >> 30) & 0x1) == 0)
891 {
892 /* 33222222222211111111110000000000
893 10987654321098765432109876543210
894 xxxxxxxxxx000000xxxxx11100011100
895 ldaddalb. */
896 return 803;
897 }
898 else
899 {
900 /* 33222222222211111111110000000000
901 10987654321098765432109876543210
902 xxxxxxxxxx000000xxxxx11100011110
903 ldaddalh. */
904 return 806;
905 }
906 }
907 else
908 {
909 /* 33222222222211111111110000000000
910 10987654321098765432109876543210
911 xxxxxxxxxx000000xxxxx111000111x1
912 ldaddal. */
913 return 809;
914 }
915 }
916 }
917 }
918 else
919 {
920 if (((word >> 22) & 0x1) == 0)
921 {
922 if (((word >> 23) & 0x1) == 0)
923 {
924 if (((word >> 31) & 0x1) == 0)
925 {
926 if (((word >> 30) & 0x1) == 0)
927 {
928 /* 33222222222211111111110000000000
929 10987654321098765432109876543210
930 xxxxxxxxxx000001xxxxx10000011100
931 swpb. */
932 return 786;
933 }
934 else
935 {
936 /* 33222222222211111111110000000000
937 10987654321098765432109876543210
938 xxxxxxxxxx000001xxxxx10000011110
939 swph. */
940 return 787;
941 }
942 }
943 else
944 {
945 /* 33222222222211111111110000000000
946 10987654321098765432109876543210
947 xxxxxxxxxx000001xxxxx100000111x1
948 swp. */
949 return 788;
950 }
951 }
952 else
953 {
954 if (((word >> 31) & 0x1) == 0)
955 {
956 if (((word >> 30) & 0x1) == 0)
957 {
958 /* 33222222222211111111110000000000
959 10987654321098765432109876543210
960 xxxxxxxxxx000001xxxxx10100011100
961 swpab. */
962 return 789;
963 }
964 else
965 {
966 /* 33222222222211111111110000000000
967 10987654321098765432109876543210
968 xxxxxxxxxx000001xxxxx10100011110
969 swpah. */
970 return 792;
971 }
972 }
973 else
974 {
975 /* 33222222222211111111110000000000
976 10987654321098765432109876543210
977 xxxxxxxxxx000001xxxxx101000111x1
978 swpa. */
979 return 795;
980 }
981 }
982 }
983 else
984 {
985 if (((word >> 23) & 0x1) == 0)
986 {
987 if (((word >> 31) & 0x1) == 0)
988 {
989 if (((word >> 30) & 0x1) == 0)
990 {
991 /* 33222222222211111111110000000000
992 10987654321098765432109876543210
993 xxxxxxxxxx000001xxxxx11000011100
994 swplb. */
995 return 790;
996 }
997 else
998 {
999 /* 33222222222211111111110000000000
1000 10987654321098765432109876543210
1001 xxxxxxxxxx000001xxxxx11000011110
1002 swplh. */
1003 return 793;
1004 }
1005 }
1006 else
1007 {
1008 /* 33222222222211111111110000000000
1009 10987654321098765432109876543210
1010 xxxxxxxxxx000001xxxxx110000111x1
1011 swpl. */
1012 return 796;
1013 }
1014 }
1015 else
1016 {
1017 if (((word >> 31) & 0x1) == 0)
1018 {
1019 if (((word >> 30) & 0x1) == 0)
1020 {
1021 /* 33222222222211111111110000000000
1022 10987654321098765432109876543210
1023 xxxxxxxxxx000001xxxxx11100011100
1024 swpalb. */
1025 return 791;
1026 }
1027 else
1028 {
1029 /* 33222222222211111111110000000000
1030 10987654321098765432109876543210
1031 xxxxxxxxxx000001xxxxx11100011110
1032 swpalh. */
1033 return 794;
1034 }
1035 }
1036 else
1037 {
1038 /* 33222222222211111111110000000000
1039 10987654321098765432109876543210
1040 xxxxxxxxxx000001xxxxx111000111x1
1041 swpal. */
1042 return 797;
1043 }
1044 }
1045 }
1046 }
1047 }
1048 else
1049 {
1050 if (((word >> 22) & 0x1) == 0)
1051 {
1052 if (((word >> 23) & 0x1) == 0)
1053 {
1054 if (((word >> 31) & 0x1) == 0)
1055 {
1056 if (((word >> 30) & 0x1) == 0)
1057 {
1058 /* 33222222222211111111110000000000
1059 10987654321098765432109876543210
1060 xxxxxxxxxx00001xxxxxx10000011100
1061 ldsmaxb. */
1062 return 846;
1063 }
1064 else
1065 {
1066 /* 33222222222211111111110000000000
1067 10987654321098765432109876543210
1068 xxxxxxxxxx00001xxxxxx10000011110
1069 ldsmaxh. */
1070 return 847;
1071 }
1072 }
1073 else
1074 {
1075 /* 33222222222211111111110000000000
1076 10987654321098765432109876543210
1077 xxxxxxxxxx00001xxxxxx100000111x1
1078 ldsmax. */
1079 return 848;
1080 }
1081 }
1082 else
1083 {
1084 if (((word >> 31) & 0x1) == 0)
1085 {
1086 if (((word >> 30) & 0x1) == 0)
1087 {
1088 /* 33222222222211111111110000000000
1089 10987654321098765432109876543210
1090 xxxxxxxxxx00001xxxxxx10100011100
1091 ldsmaxab. */
1092 return 849;
1093 }
1094 else
1095 {
1096 /* 33222222222211111111110000000000
1097 10987654321098765432109876543210
1098 xxxxxxxxxx00001xxxxxx10100011110
1099 ldsmaxah. */
1100 return 852;
1101 }
1102 }
1103 else
1104 {
1105 /* 33222222222211111111110000000000
1106 10987654321098765432109876543210
1107 xxxxxxxxxx00001xxxxxx101000111x1
1108 ldsmaxa. */
1109 return 855;
1110 }
1111 }
1112 }
1113 else
1114 {
1115 if (((word >> 23) & 0x1) == 0)
1116 {
1117 if (((word >> 31) & 0x1) == 0)
1118 {
1119 if (((word >> 30) & 0x1) == 0)
1120 {
1121 /* 33222222222211111111110000000000
1122 10987654321098765432109876543210
1123 xxxxxxxxxx00001xxxxxx11000011100
1124 ldsmaxlb. */
1125 return 850;
1126 }
1127 else
1128 {
1129 /* 33222222222211111111110000000000
1130 10987654321098765432109876543210
1131 xxxxxxxxxx00001xxxxxx11000011110
1132 ldsmaxlh. */
1133 return 853;
1134 }
1135 }
1136 else
1137 {
1138 /* 33222222222211111111110000000000
1139 10987654321098765432109876543210
1140 xxxxxxxxxx00001xxxxxx110000111x1
1141 ldsmaxl. */
1142 return 856;
1143 }
1144 }
1145 else
1146 {
1147 if (((word >> 31) & 0x1) == 0)
1148 {
1149 if (((word >> 30) & 0x1) == 0)
1150 {
1151 /* 33222222222211111111110000000000
1152 10987654321098765432109876543210
1153 xxxxxxxxxx00001xxxxxx11100011100
1154 ldsmaxalb. */
1155 return 851;
1156 }
1157 else
1158 {
1159 /* 33222222222211111111110000000000
1160 10987654321098765432109876543210
1161 xxxxxxxxxx00001xxxxxx11100011110
1162 ldsmaxalh. */
1163 return 854;
1164 }
1165 }
1166 else
1167 {
1168 /* 33222222222211111111110000000000
1169 10987654321098765432109876543210
1170 xxxxxxxxxx00001xxxxxx111000111x1
1171 ldsmaxal. */
1172 return 857;
1173 }
1174 }
1175 }
1176 }
1177 }
1178 else
1179 {
1180 if (((word >> 14) & 0x1) == 0)
1181 {
1182 if (((word >> 22) & 0x1) == 0)
1183 {
1184 if (((word >> 23) & 0x1) == 0)
1185 {
1186 if (((word >> 31) & 0x1) == 0)
1187 {
1188 if (((word >> 30) & 0x1) == 0)
1189 {
1190 /* 33222222222211111111110000000000
1191 10987654321098765432109876543210
1192 xxxxxxxxxx00010xxxxxx10000011100
1193 ldeorb. */
1194 return 822;
1195 }
1196 else
1197 {
1198 /* 33222222222211111111110000000000
1199 10987654321098765432109876543210
1200 xxxxxxxxxx00010xxxxxx10000011110
1201 ldeorh. */
1202 return 823;
1203 }
1204 }
1205 else
1206 {
1207 /* 33222222222211111111110000000000
1208 10987654321098765432109876543210
1209 xxxxxxxxxx00010xxxxxx100000111x1
1210 ldeor. */
1211 return 824;
1212 }
1213 }
1214 else
1215 {
1216 if (((word >> 31) & 0x1) == 0)
1217 {
1218 if (((word >> 30) & 0x1) == 0)
1219 {
1220 /* 33222222222211111111110000000000
1221 10987654321098765432109876543210
1222 xxxxxxxxxx00010xxxxxx10100011100
1223 ldeorab. */
1224 return 825;
1225 }
1226 else
1227 {
1228 /* 33222222222211111111110000000000
1229 10987654321098765432109876543210
1230 xxxxxxxxxx00010xxxxxx10100011110
1231 ldeorah. */
1232 return 828;
1233 }
1234 }
1235 else
1236 {
1237 /* 33222222222211111111110000000000
1238 10987654321098765432109876543210
1239 xxxxxxxxxx00010xxxxxx101000111x1
1240 ldeora. */
1241 return 831;
1242 }
1243 }
1244 }
1245 else
1246 {
1247 if (((word >> 23) & 0x1) == 0)
1248 {
1249 if (((word >> 31) & 0x1) == 0)
1250 {
1251 if (((word >> 30) & 0x1) == 0)
1252 {
1253 /* 33222222222211111111110000000000
1254 10987654321098765432109876543210
1255 xxxxxxxxxx00010xxxxxx11000011100
1256 ldeorlb. */
1257 return 826;
1258 }
1259 else
1260 {
1261 /* 33222222222211111111110000000000
1262 10987654321098765432109876543210
1263 xxxxxxxxxx00010xxxxxx11000011110
1264 ldeorlh. */
1265 return 829;
1266 }
1267 }
1268 else
1269 {
1270 /* 33222222222211111111110000000000
1271 10987654321098765432109876543210
1272 xxxxxxxxxx00010xxxxxx110000111x1
1273 ldeorl. */
1274 return 832;
1275 }
1276 }
1277 else
1278 {
1279 if (((word >> 31) & 0x1) == 0)
1280 {
1281 if (((word >> 30) & 0x1) == 0)
1282 {
1283 /* 33222222222211111111110000000000
1284 10987654321098765432109876543210
1285 xxxxxxxxxx00010xxxxxx11100011100
1286 ldeoralb. */
1287 return 827;
1288 }
1289 else
1290 {
1291 /* 33222222222211111111110000000000
1292 10987654321098765432109876543210
1293 xxxxxxxxxx00010xxxxxx11100011110
1294 ldeoralh. */
1295 return 830;
1296 }
1297 }
1298 else
1299 {
1300 /* 33222222222211111111110000000000
1301 10987654321098765432109876543210
1302 xxxxxxxxxx00010xxxxxx111000111x1
1303 ldeoral. */
1304 return 833;
1305 }
1306 }
1307 }
1308 }
1309 else
1310 {
1311 if (((word >> 22) & 0x1) == 0)
1312 {
1313 if (((word >> 23) & 0x1) == 0)
1314 {
1315 if (((word >> 31) & 0x1) == 0)
1316 {
1317 if (((word >> 30) & 0x1) == 0)
1318 {
1319 /* 33222222222211111111110000000000
1320 10987654321098765432109876543210
1321 xxxxxxxxxx00011xxxxxx10000011100
1322 ldumaxb. */
1323 return 870;
1324 }
1325 else
1326 {
1327 /* 33222222222211111111110000000000
1328 10987654321098765432109876543210
1329 xxxxxxxxxx00011xxxxxx10000011110
1330 ldumaxh. */
1331 return 871;
1332 }
1333 }
1334 else
1335 {
1336 /* 33222222222211111111110000000000
1337 10987654321098765432109876543210
1338 xxxxxxxxxx00011xxxxxx100000111x1
1339 ldumax. */
1340 return 872;
1341 }
1342 }
1343 else
1344 {
1345 if (((word >> 31) & 0x1) == 0)
1346 {
1347 if (((word >> 30) & 0x1) == 0)
1348 {
1349 /* 33222222222211111111110000000000
1350 10987654321098765432109876543210
1351 xxxxxxxxxx00011xxxxxx10100011100
1352 ldumaxab. */
1353 return 873;
1354 }
1355 else
1356 {
1357 /* 33222222222211111111110000000000
1358 10987654321098765432109876543210
1359 xxxxxxxxxx00011xxxxxx10100011110
1360 ldumaxah. */
1361 return 876;
1362 }
1363 }
1364 else
1365 {
1366 /* 33222222222211111111110000000000
1367 10987654321098765432109876543210
1368 xxxxxxxxxx00011xxxxxx101000111x1
1369 ldumaxa. */
1370 return 879;
1371 }
1372 }
1373 }
1374 else
1375 {
1376 if (((word >> 23) & 0x1) == 0)
1377 {
1378 if (((word >> 31) & 0x1) == 0)
1379 {
1380 if (((word >> 30) & 0x1) == 0)
1381 {
1382 /* 33222222222211111111110000000000
1383 10987654321098765432109876543210
1384 xxxxxxxxxx00011xxxxxx11000011100
1385 ldumaxlb. */
1386 return 874;
1387 }
1388 else
1389 {
1390 /* 33222222222211111111110000000000
1391 10987654321098765432109876543210
1392 xxxxxxxxxx00011xxxxxx11000011110
1393 ldumaxlh. */
1394 return 877;
1395 }
1396 }
1397 else
1398 {
1399 /* 33222222222211111111110000000000
1400 10987654321098765432109876543210
1401 xxxxxxxxxx00011xxxxxx110000111x1
1402 ldumaxl. */
1403 return 880;
1404 }
1405 }
1406 else
1407 {
1408 if (((word >> 31) & 0x1) == 0)
1409 {
1410 if (((word >> 30) & 0x1) == 0)
1411 {
1412 /* 33222222222211111111110000000000
1413 10987654321098765432109876543210
1414 xxxxxxxxxx00011xxxxxx11100011100
1415 ldumaxalb. */
1416 return 875;
1417 }
1418 else
1419 {
1420 /* 33222222222211111111110000000000
1421 10987654321098765432109876543210
1422 xxxxxxxxxx00011xxxxxx11100011110
1423 ldumaxalh. */
1424 return 878;
1425 }
1426 }
1427 else
1428 {
1429 /* 33222222222211111111110000000000
1430 10987654321098765432109876543210
1431 xxxxxxxxxx00011xxxxxx111000111x1
1432 ldumaxal. */
1433 return 881;
1434 }
1435 }
1436 }
1437 }
1438 }
1439 }
1440 else
1441 {
1442 if (((word >> 13) & 0x1) == 0)
1443 {
1444 if (((word >> 14) & 0x1) == 0)
1445 {
1446 if (((word >> 22) & 0x1) == 0)
1447 {
1448 if (((word >> 23) & 0x1) == 0)
1449 {
1450 if (((word >> 31) & 0x1) == 0)
1451 {
1452 if (((word >> 30) & 0x1) == 0)
1453 {
1454 /* 33222222222211111111110000000000
1455 10987654321098765432109876543210
1456 xxxxxxxxxx00100xxxxxx10000011100
1457 ldclrb. */
1458 return 810;
1459 }
1460 else
1461 {
1462 /* 33222222222211111111110000000000
1463 10987654321098765432109876543210
1464 xxxxxxxxxx00100xxxxxx10000011110
1465 ldclrh. */
1466 return 811;
1467 }
1468 }
1469 else
1470 {
1471 /* 33222222222211111111110000000000
1472 10987654321098765432109876543210
1473 xxxxxxxxxx00100xxxxxx100000111x1
1474 ldclr. */
1475 return 812;
1476 }
1477 }
1478 else
1479 {
1480 if (((word >> 31) & 0x1) == 0)
1481 {
1482 if (((word >> 30) & 0x1) == 0)
1483 {
1484 /* 33222222222211111111110000000000
1485 10987654321098765432109876543210
1486 xxxxxxxxxx00100xxxxxx10100011100
1487 ldclrab. */
1488 return 813;
1489 }
1490 else
1491 {
1492 /* 33222222222211111111110000000000
1493 10987654321098765432109876543210
1494 xxxxxxxxxx00100xxxxxx10100011110
1495 ldclrah. */
1496 return 816;
1497 }
1498 }
1499 else
1500 {
1501 /* 33222222222211111111110000000000
1502 10987654321098765432109876543210
1503 xxxxxxxxxx00100xxxxxx101000111x1
1504 ldclra. */
1505 return 819;
1506 }
1507 }
1508 }
1509 else
1510 {
1511 if (((word >> 23) & 0x1) == 0)
1512 {
1513 if (((word >> 31) & 0x1) == 0)
1514 {
1515 if (((word >> 30) & 0x1) == 0)
1516 {
1517 /* 33222222222211111111110000000000
1518 10987654321098765432109876543210
1519 xxxxxxxxxx00100xxxxxx11000011100
1520 ldclrlb. */
1521 return 814;
1522 }
1523 else
1524 {
1525 /* 33222222222211111111110000000000
1526 10987654321098765432109876543210
1527 xxxxxxxxxx00100xxxxxx11000011110
1528 ldclrlh. */
1529 return 817;
1530 }
1531 }
1532 else
1533 {
1534 /* 33222222222211111111110000000000
1535 10987654321098765432109876543210
1536 xxxxxxxxxx00100xxxxxx110000111x1
1537 ldclrl. */
1538 return 820;
1539 }
1540 }
1541 else
1542 {
1543 if (((word >> 31) & 0x1) == 0)
1544 {
1545 if (((word >> 30) & 0x1) == 0)
1546 {
1547 /* 33222222222211111111110000000000
1548 10987654321098765432109876543210
1549 xxxxxxxxxx00100xxxxxx11100011100
1550 ldclralb. */
1551 return 815;
1552 }
1553 else
1554 {
1555 /* 33222222222211111111110000000000
1556 10987654321098765432109876543210
1557 xxxxxxxxxx00100xxxxxx11100011110
1558 ldclralh. */
1559 return 818;
1560 }
1561 }
1562 else
1563 {
1564 /* 33222222222211111111110000000000
1565 10987654321098765432109876543210
1566 xxxxxxxxxx00100xxxxxx111000111x1
1567 ldclral. */
1568 return 821;
1569 }
1570 }
1571 }
1572 }
1573 else
1574 {
1575 if (((word >> 22) & 0x1) == 0)
1576 {
1577 if (((word >> 23) & 0x1) == 0)
1578 {
1579 if (((word >> 31) & 0x1) == 0)
1580 {
1581 if (((word >> 30) & 0x1) == 0)
1582 {
1583 /* 33222222222211111111110000000000
1584 10987654321098765432109876543210
1585 xxxxxxxxxx00101xxxxxx10000011100
1586 ldsminb. */
1587 return 858;
1588 }
1589 else
1590 {
1591 /* 33222222222211111111110000000000
1592 10987654321098765432109876543210
1593 xxxxxxxxxx00101xxxxxx10000011110
1594 ldsminh. */
1595 return 859;
1596 }
1597 }
1598 else
1599 {
1600 /* 33222222222211111111110000000000
1601 10987654321098765432109876543210
1602 xxxxxxxxxx00101xxxxxx100000111x1
1603 ldsmin. */
1604 return 860;
1605 }
1606 }
1607 else
1608 {
1609 if (((word >> 31) & 0x1) == 0)
1610 {
1611 if (((word >> 30) & 0x1) == 0)
1612 {
1613 /* 33222222222211111111110000000000
1614 10987654321098765432109876543210
1615 xxxxxxxxxx00101xxxxxx10100011100
1616 ldsminab. */
1617 return 861;
1618 }
1619 else
1620 {
1621 /* 33222222222211111111110000000000
1622 10987654321098765432109876543210
1623 xxxxxxxxxx00101xxxxxx10100011110
1624 ldsminah. */
1625 return 864;
1626 }
1627 }
1628 else
1629 {
1630 /* 33222222222211111111110000000000
1631 10987654321098765432109876543210
1632 xxxxxxxxxx00101xxxxxx101000111x1
1633 ldsmina. */
1634 return 867;
1635 }
1636 }
1637 }
1638 else
1639 {
1640 if (((word >> 23) & 0x1) == 0)
1641 {
1642 if (((word >> 31) & 0x1) == 0)
1643 {
1644 if (((word >> 30) & 0x1) == 0)
1645 {
1646 /* 33222222222211111111110000000000
1647 10987654321098765432109876543210
1648 xxxxxxxxxx00101xxxxxx11000011100
1649 ldsminlb. */
1650 return 862;
1651 }
1652 else
1653 {
1654 /* 33222222222211111111110000000000
1655 10987654321098765432109876543210
1656 xxxxxxxxxx00101xxxxxx11000011110
1657 ldsminlh. */
1658 return 865;
1659 }
1660 }
1661 else
1662 {
1663 /* 33222222222211111111110000000000
1664 10987654321098765432109876543210
1665 xxxxxxxxxx00101xxxxxx110000111x1
1666 ldsminl. */
1667 return 868;
1668 }
1669 }
1670 else
1671 {
1672 if (((word >> 31) & 0x1) == 0)
1673 {
1674 if (((word >> 30) & 0x1) == 0)
1675 {
1676 /* 33222222222211111111110000000000
1677 10987654321098765432109876543210
1678 xxxxxxxxxx00101xxxxxx11100011100
1679 ldsminalb. */
1680 return 863;
1681 }
1682 else
1683 {
1684 /* 33222222222211111111110000000000
1685 10987654321098765432109876543210
1686 xxxxxxxxxx00101xxxxxx11100011110
1687 ldsminalh. */
1688 return 866;
1689 }
1690 }
1691 else
1692 {
1693 /* 33222222222211111111110000000000
1694 10987654321098765432109876543210
1695 xxxxxxxxxx00101xxxxxx111000111x1
1696 ldsminal. */
1697 return 869;
1698 }
1699 }
1700 }
1701 }
1702 }
1703 else
1704 {
1705 if (((word >> 14) & 0x1) == 0)
1706 {
1707 if (((word >> 22) & 0x1) == 0)
1708 {
1709 if (((word >> 23) & 0x1) == 0)
1710 {
1711 if (((word >> 31) & 0x1) == 0)
1712 {
1713 if (((word >> 30) & 0x1) == 0)
1714 {
1715 /* 33222222222211111111110000000000
1716 10987654321098765432109876543210
1717 xxxxxxxxxx00110xxxxxx10000011100
1718 ldsetb. */
1719 return 834;
1720 }
1721 else
1722 {
1723 /* 33222222222211111111110000000000
1724 10987654321098765432109876543210
1725 xxxxxxxxxx00110xxxxxx10000011110
1726 ldseth. */
1727 return 835;
1728 }
1729 }
1730 else
1731 {
1732 /* 33222222222211111111110000000000
1733 10987654321098765432109876543210
1734 xxxxxxxxxx00110xxxxxx100000111x1
1735 ldset. */
1736 return 836;
1737 }
1738 }
1739 else
1740 {
1741 if (((word >> 31) & 0x1) == 0)
1742 {
1743 if (((word >> 30) & 0x1) == 0)
1744 {
1745 /* 33222222222211111111110000000000
1746 10987654321098765432109876543210
1747 xxxxxxxxxx00110xxxxxx10100011100
1748 ldsetab. */
1749 return 837;
1750 }
1751 else
1752 {
1753 /* 33222222222211111111110000000000
1754 10987654321098765432109876543210
1755 xxxxxxxxxx00110xxxxxx10100011110
1756 ldsetah. */
1757 return 840;
1758 }
1759 }
1760 else
1761 {
1762 /* 33222222222211111111110000000000
1763 10987654321098765432109876543210
1764 xxxxxxxxxx00110xxxxxx101000111x1
1765 ldseta. */
1766 return 843;
1767 }
1768 }
1769 }
1770 else
1771 {
1772 if (((word >> 23) & 0x1) == 0)
1773 {
1774 if (((word >> 31) & 0x1) == 0)
1775 {
1776 if (((word >> 30) & 0x1) == 0)
1777 {
1778 /* 33222222222211111111110000000000
1779 10987654321098765432109876543210
1780 xxxxxxxxxx00110xxxxxx11000011100
1781 ldsetlb. */
1782 return 838;
1783 }
1784 else
1785 {
1786 /* 33222222222211111111110000000000
1787 10987654321098765432109876543210
1788 xxxxxxxxxx00110xxxxxx11000011110
1789 ldsetlh. */
1790 return 841;
1791 }
1792 }
1793 else
1794 {
1795 /* 33222222222211111111110000000000
1796 10987654321098765432109876543210
1797 xxxxxxxxxx00110xxxxxx110000111x1
1798 ldsetl. */
1799 return 844;
1800 }
1801 }
1802 else
1803 {
1804 if (((word >> 31) & 0x1) == 0)
1805 {
1806 if (((word >> 30) & 0x1) == 0)
1807 {
1808 /* 33222222222211111111110000000000
1809 10987654321098765432109876543210
1810 xxxxxxxxxx00110xxxxxx11100011100
1811 ldsetalb. */
1812 return 839;
1813 }
1814 else
1815 {
1816 /* 33222222222211111111110000000000
1817 10987654321098765432109876543210
1818 xxxxxxxxxx00110xxxxxx11100011110
1819 ldsetalh. */
1820 return 842;
1821 }
1822 }
1823 else
1824 {
1825 /* 33222222222211111111110000000000
1826 10987654321098765432109876543210
1827 xxxxxxxxxx00110xxxxxx111000111x1
1828 ldsetal. */
1829 return 845;
1830 }
1831 }
1832 }
1833 }
1834 else
1835 {
1836 if (((word >> 22) & 0x1) == 0)
1837 {
1838 if (((word >> 23) & 0x1) == 0)
1839 {
1840 if (((word >> 31) & 0x1) == 0)
1841 {
1842 if (((word >> 30) & 0x1) == 0)
1843 {
1844 /* 33222222222211111111110000000000
1845 10987654321098765432109876543210
1846 xxxxxxxxxx00111xxxxxx10000011100
1847 lduminb. */
1848 return 882;
1849 }
1850 else
1851 {
1852 /* 33222222222211111111110000000000
1853 10987654321098765432109876543210
1854 xxxxxxxxxx00111xxxxxx10000011110
1855 lduminh. */
1856 return 883;
1857 }
1858 }
1859 else
1860 {
1861 /* 33222222222211111111110000000000
1862 10987654321098765432109876543210
1863 xxxxxxxxxx00111xxxxxx100000111x1
1864 ldumin. */
1865 return 884;
1866 }
1867 }
1868 else
1869 {
1870 if (((word >> 31) & 0x1) == 0)
1871 {
1872 if (((word >> 30) & 0x1) == 0)
1873 {
1874 /* 33222222222211111111110000000000
1875 10987654321098765432109876543210
1876 xxxxxxxxxx00111xxxxxx10100011100
1877 lduminab. */
1878 return 885;
1879 }
1880 else
1881 {
1882 /* 33222222222211111111110000000000
1883 10987654321098765432109876543210
1884 xxxxxxxxxx00111xxxxxx10100011110
1885 lduminah. */
1886 return 888;
1887 }
1888 }
1889 else
1890 {
1891 /* 33222222222211111111110000000000
1892 10987654321098765432109876543210
1893 xxxxxxxxxx00111xxxxxx101000111x1
1894 ldumina. */
1895 return 891;
1896 }
1897 }
1898 }
1899 else
1900 {
1901 if (((word >> 23) & 0x1) == 0)
1902 {
1903 if (((word >> 31) & 0x1) == 0)
1904 {
1905 if (((word >> 30) & 0x1) == 0)
1906 {
1907 /* 33222222222211111111110000000000
1908 10987654321098765432109876543210
1909 xxxxxxxxxx00111xxxxxx11000011100
1910 lduminlb. */
1911 return 886;
1912 }
1913 else
1914 {
1915 /* 33222222222211111111110000000000
1916 10987654321098765432109876543210
1917 xxxxxxxxxx00111xxxxxx11000011110
1918 lduminlh. */
1919 return 889;
1920 }
1921 }
1922 else
1923 {
1924 /* 33222222222211111111110000000000
1925 10987654321098765432109876543210
1926 xxxxxxxxxx00111xxxxxx110000111x1
1927 lduminl. */
1928 return 892;
1929 }
1930 }
1931 else
1932 {
1933 if (((word >> 31) & 0x1) == 0)
1934 {
1935 if (((word >> 30) & 0x1) == 0)
1936 {
1937 /* 33222222222211111111110000000000
1938 10987654321098765432109876543210
1939 xxxxxxxxxx00111xxxxxx11100011100
1940 lduminalb. */
1941 return 887;
1942 }
1943 else
1944 {
1945 /* 33222222222211111111110000000000
1946 10987654321098765432109876543210
1947 xxxxxxxxxx00111xxxxxx11100011110
1948 lduminalh. */
1949 return 890;
1950 }
1951 }
1952 else
1953 {
1954 /* 33222222222211111111110000000000
1955 10987654321098765432109876543210
1956 xxxxxxxxxx00111xxxxxx111000111x1
1957 lduminal. */
1958 return 893;
1959 }
1960 }
1961 }
1962 }
1963 }
1964 }
1965 }
1966 }
1967 else
1968 {
1969 if (((word >> 21) & 0x1) == 0)
1970 {
1971 if (((word >> 23) & 0x1) == 0)
1972 {
1973 if (((word >> 22) & 0x1) == 0)
1974 {
1975 if (((word >> 31) & 0x1) == 0)
1976 {
1977 if (((word >> 30) & 0x1) == 0)
1978 {
1979 /* 33222222222211111111110000000000
1980 10987654321098765432109876543210
1981 xxxxxxxxxx01xxxxxxxxx00000011100
1982 sttrb. */
1983 return 684;
1984 }
1985 else
1986 {
1987 /* 33222222222211111111110000000000
1988 10987654321098765432109876543210
1989 xxxxxxxxxx01xxxxxxxxx00000011110
1990 sttrh. */
1991 return 687;
1992 }
1993 }
1994 else
1995 {
1996 /* 33222222222211111111110000000000
1997 10987654321098765432109876543210
1998 xxxxxxxxxx01xxxxxxxxx000000111x1
1999 sttr. */
2000 return 690;
2001 }
2002 }
2003 else
2004 {
2005 if (((word >> 31) & 0x1) == 0)
2006 {
2007 if (((word >> 30) & 0x1) == 0)
2008 {
2009 /* 33222222222211111111110000000000
2010 10987654321098765432109876543210
2011 xxxxxxxxxx01xxxxxxxxx01000011100
2012 ldtrb. */
2013 return 685;
2014 }
2015 else
2016 {
2017 /* 33222222222211111111110000000000
2018 10987654321098765432109876543210
2019 xxxxxxxxxx01xxxxxxxxx01000011110
2020 ldtrh. */
2021 return 688;
2022 }
2023 }
2024 else
2025 {
2026 /* 33222222222211111111110000000000
2027 10987654321098765432109876543210
2028 xxxxxxxxxx01xxxxxxxxx010000111x1
2029 ldtr. */
2030 return 691;
2031 }
2032 }
2033 }
2034 else
2035 {
2036 if (((word >> 30) & 0x1) == 0)
2037 {
2038 if (((word >> 31) & 0x1) == 0)
2039 {
2040 /* 33222222222211111111110000000000
2041 10987654321098765432109876543210
2042 xxxxxxxxxx01xxxxxxxxx0x100011100
2043 ldtrsb. */
2044 return 686;
2045 }
2046 else
2047 {
2048 /* 33222222222211111111110000000000
2049 10987654321098765432109876543210
2050 xxxxxxxxxx01xxxxxxxxx0x100011101
2051 ldtrsw. */
2052 return 692;
2053 }
2054 }
2055 else
2056 {
2057 /* 33222222222211111111110000000000
2058 10987654321098765432109876543210
2059 xxxxxxxxxx01xxxxxxxxx0x10001111x
2060 ldtrsh. */
2061 return 689;
2062 }
2063 }
2064 }
2065 else
2066 {
2067 if (((word >> 23) & 0x1) == 0)
2068 {
2069 if (((word >> 22) & 0x1) == 0)
2070 {
2071 if (((word >> 31) & 0x1) == 0)
2072 {
2073 if (((word >> 30) & 0x1) == 0)
2074 {
2075 /* 33222222222211111111110000000000
2076 10987654321098765432109876543210
2077 xxxxxxxxxx01xxxxxxxxx10000011100
2078 strb. */
2079 return 672;
2080 }
2081 else
2082 {
2083 /* 33222222222211111111110000000000
2084 10987654321098765432109876543210
2085 xxxxxxxxxx01xxxxxxxxx10000011110
2086 strh. */
2087 return 677;
2088 }
2089 }
2090 else
2091 {
2092 /* 33222222222211111111110000000000
2093 10987654321098765432109876543210
2094 xxxxxxxxxx01xxxxxxxxx100000111x1
2095 str. */
2096 return 680;
2097 }
2098 }
2099 else
2100 {
2101 if (((word >> 31) & 0x1) == 0)
2102 {
2103 if (((word >> 30) & 0x1) == 0)
2104 {
2105 /* 33222222222211111111110000000000
2106 10987654321098765432109876543210
2107 xxxxxxxxxx01xxxxxxxxx11000011100
2108 ldrb. */
2109 return 673;
2110 }
2111 else
2112 {
2113 /* 33222222222211111111110000000000
2114 10987654321098765432109876543210
2115 xxxxxxxxxx01xxxxxxxxx11000011110
2116 ldrh. */
2117 return 678;
2118 }
2119 }
2120 else
2121 {
2122 /* 33222222222211111111110000000000
2123 10987654321098765432109876543210
2124 xxxxxxxxxx01xxxxxxxxx110000111x1
2125 ldr. */
2126 return 681;
2127 }
2128 }
2129 }
2130 else
2131 {
2132 if (((word >> 30) & 0x1) == 0)
2133 {
2134 if (((word >> 31) & 0x1) == 0)
2135 {
2136 /* 33222222222211111111110000000000
2137 10987654321098765432109876543210
2138 xxxxxxxxxx01xxxxxxxxx1x100011100
2139 ldrsb. */
2140 return 674;
2141 }
2142 else
2143 {
2144 /* 33222222222211111111110000000000
2145 10987654321098765432109876543210
2146 xxxxxxxxxx01xxxxxxxxx1x100011101
2147 ldrsw. */
2148 return 682;
2149 }
2150 }
2151 else
2152 {
2153 if (((word >> 31) & 0x1) == 0)
2154 {
2155 /* 33222222222211111111110000000000
2156 10987654321098765432109876543210
2157 xxxxxxxxxx01xxxxxxxxx1x100011110
2158 ldrsh. */
2159 return 679;
2160 }
2161 else
2162 {
2163 /* 33222222222211111111110000000000
2164 10987654321098765432109876543210
2165 xxxxxxxxxx01xxxxxxxxx1x100011111
2166 prfm. */
2167 return 683;
2168 }
2169 }
2170 }
2171 }
2172 }
2173 }
2174 else
2175 {
2176 if (((word >> 23) & 0x1) == 0)
2177 {
2178 if (((word >> 22) & 0x1) == 0)
2179 {
2180 if (((word >> 31) & 0x1) == 0)
2181 {
2182 if (((word >> 30) & 0x1) == 0)
2183 {
2184 /* 33222222222211111111110000000000
2185 10987654321098765432109876543210
2186 xxxxxxxxxx1xxxxxxxxxxx0000011100
2187 strb. */
2188 return 649;
2189 }
2190 else
2191 {
2192 /* 33222222222211111111110000000000
2193 10987654321098765432109876543210
2194 xxxxxxxxxx1xxxxxxxxxxx0000011110
2195 strh. */
2196 return 654;
2197 }
2198 }
2199 else
2200 {
2201 /* 33222222222211111111110000000000
2202 10987654321098765432109876543210
2203 xxxxxxxxxx1xxxxxxxxxxx00000111x1
2204 str. */
2205 return 657;
2206 }
2207 }
2208 else
2209 {
2210 if (((word >> 31) & 0x1) == 0)
2211 {
2212 if (((word >> 30) & 0x1) == 0)
2213 {
2214 /* 33222222222211111111110000000000
2215 10987654321098765432109876543210
2216 xxxxxxxxxx1xxxxxxxxxxx1000011100
2217 ldrb. */
2218 return 650;
2219 }
2220 else
2221 {
2222 /* 33222222222211111111110000000000
2223 10987654321098765432109876543210
2224 xxxxxxxxxx1xxxxxxxxxxx1000011110
2225 ldrh. */
2226 return 655;
2227 }
2228 }
2229 else
2230 {
2231 /* 33222222222211111111110000000000
2232 10987654321098765432109876543210
2233 xxxxxxxxxx1xxxxxxxxxxx10000111x1
2234 ldr. */
2235 return 658;
2236 }
2237 }
2238 }
2239 else
2240 {
2241 if (((word >> 30) & 0x1) == 0)
2242 {
2243 if (((word >> 31) & 0x1) == 0)
2244 {
2245 /* 33222222222211111111110000000000
2246 10987654321098765432109876543210
2247 xxxxxxxxxx1xxxxxxxxxxxx100011100
2248 ldrsb. */
2249 return 651;
2250 }
2251 else
2252 {
2253 /* 33222222222211111111110000000000
2254 10987654321098765432109876543210
2255 xxxxxxxxxx1xxxxxxxxxxxx100011101
2256 ldrsw. */
2257 return 659;
2258 }
2259 }
2260 else
2261 {
2262 /* 33222222222211111111110000000000
2263 10987654321098765432109876543210
2264 xxxxxxxxxx1xxxxxxxxxxxx10001111x
2265 ldrsh. */
2266 return 656;
2267 }
2268 }
2269 }
2270 }
2271 }
2272 else
2273 {
2274 if (((word >> 23) & 0x1) == 0)
2275 {
2276 if (((word >> 22) & 0x1) == 0)
2277 {
2278 if (((word >> 31) & 0x1) == 0)
2279 {
2280 if (((word >> 30) & 0x1) == 0)
2281 {
2282 /* 33222222222211111111110000000000
2283 10987654321098765432109876543210
2284 xxxxxxxxxxxxxxxxxxxxxx0010011x00
2285 strb. */
2286 return 660;
2287 }
2288 else
2289 {
2290 /* 33222222222211111111110000000000
2291 10987654321098765432109876543210
2292 xxxxxxxxxxxxxxxxxxxxxx0010011x10
2293 strh. */
2294 return 665;
2295 }
2296 }
2297 else
2298 {
2299 /* 33222222222211111111110000000000
2300 10987654321098765432109876543210
2301 xxxxxxxxxxxxxxxxxxxxxx0010011xx1
2302 str. */
2303 return 668;
2304 }
2305 }
2306 else
2307 {
2308 if (((word >> 31) & 0x1) == 0)
2309 {
2310 if (((word >> 30) & 0x1) == 0)
2311 {
2312 /* 33222222222211111111110000000000
2313 10987654321098765432109876543210
2314 xxxxxxxxxxxxxxxxxxxxxx1010011x00
2315 ldrb. */
2316 return 661;
2317 }
2318 else
2319 {
2320 /* 33222222222211111111110000000000
2321 10987654321098765432109876543210
2322 xxxxxxxxxxxxxxxxxxxxxx1010011x10
2323 ldrh. */
2324 return 666;
2325 }
2326 }
2327 else
2328 {
2329 /* 33222222222211111111110000000000
2330 10987654321098765432109876543210
2331 xxxxxxxxxxxxxxxxxxxxxx1010011xx1
2332 ldr. */
2333 return 669;
2334 }
2335 }
2336 }
2337 else
2338 {
2339 if (((word >> 30) & 0x1) == 0)
2340 {
2341 if (((word >> 31) & 0x1) == 0)
2342 {
2343 /* 33222222222211111111110000000000
2344 10987654321098765432109876543210
2345 xxxxxxxxxxxxxxxxxxxxxxx110011x00
2346 ldrsb. */
2347 return 662;
2348 }
2349 else
2350 {
2351 /* 33222222222211111111110000000000
2352 10987654321098765432109876543210
2353 xxxxxxxxxxxxxxxxxxxxxxx110011x01
2354 ldrsw. */
2355 return 670;
2356 }
2357 }
2358 else
2359 {
2360 if (((word >> 31) & 0x1) == 0)
2361 {
2362 /* 33222222222211111111110000000000
2363 10987654321098765432109876543210
2364 xxxxxxxxxxxxxxxxxxxxxxx110011x10
2365 ldrsh. */
2366 return 667;
2367 }
2368 else
2369 {
2370 /* 33222222222211111111110000000000
2371 10987654321098765432109876543210
2372 xxxxxxxxxxxxxxxxxxxxxxx110011x11
2373 prfm. */
2374 return 671;
2375 }
2376 }
2377 }
2378 }
2379 }
2380 }
2381 }
2382 else
2383 {
2384 if (((word >> 24) & 0x1) == 0)
2385 {
2386 if (((word >> 27) & 0x1) == 0)
2387 {
2388 if (((word >> 23) & 0x1) == 0)
2389 {
2390 if (((word >> 29) & 0x1) == 0)
2391 {
2392 if (((word >> 30) & 0x1) == 0)
2393 {
2394 /* 33222222222211111111110000000000
2395 10987654321098765432109876543210
2396 xxxxxxxxxxxxxxxxxxxxxxx00100x00x
2397 and. */
2398 return 751;
2399 }
2400 else
2401 {
2402 /* 33222222222211111111110000000000
2403 10987654321098765432109876543210
2404 xxxxxxxxxxxxxxxxxxxxxxx00100x01x
2405 eor. */
2406 return 755;
2407 }
2408 }
2409 else
2410 {
2411 if (((word >> 30) & 0x1) == 0)
2412 {
2413 /* 33222222222211111111110000000000
2414 10987654321098765432109876543210
2415 xxxxxxxxxxxxxxxxxxxxxxx00100x10x
2416 orr. */
2417 return 753;
2418 }
2419 else
2420 {
2421 /* 33222222222211111111110000000000
2422 10987654321098765432109876543210
2423 xxxxxxxxxxxxxxxxxxxxxxx00100x11x
2424 ands. */
2425 return 756;
2426 }
2427 }
2428 }
2429 else
2430 {
2431 if (((word >> 29) & 0x1) == 0)
2432 {
2433 if (((word >> 30) & 0x1) == 0)
2434 {
2435 /* 33222222222211111111110000000000
2436 10987654321098765432109876543210
2437 xxxxxxxxxxxxxxxxxxxxxxx10100x00x
2438 movn. */
2439 return 942;
2440 }
2441 else
2442 {
2443 /* 33222222222211111111110000000000
2444 10987654321098765432109876543210
2445 xxxxxxxxxxxxxxxxxxxxxxx10100x01x
2446 movz. */
2447 return 944;
2448 }
2449 }
2450 else
2451 {
2452 /* 33222222222211111111110000000000
2453 10987654321098765432109876543210
2454 xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
2455 movk. */
2456 return 946;
2457 }
2458 }
2459 }
2460 else
2461 {
2462 if (((word >> 21) & 0x1) == 0)
2463 {
2464 if (((word >> 28) & 0x1) == 0)
2465 {
2466 if (((word >> 29) & 0x1) == 0)
2467 {
2468 if (((word >> 30) & 0x1) == 0)
2469 {
2470 /* 33222222222211111111110000000000
2471 10987654321098765432109876543210
2472 xxxxxxxxxxxxxxxxxxxxx0xx0101000x
2473 and. */
2474 return 758;
2475 }
2476 else
2477 {
2478 /* 33222222222211111111110000000000
2479 10987654321098765432109876543210
2480 xxxxxxxxxxxxxxxxxxxxx0xx0101001x
2481 eor. */
2482 return 765;
2483 }
2484 }
2485 else
2486 {
2487 if (((word >> 30) & 0x1) == 0)
2488 {
2489 /* 33222222222211111111110000000000
2490 10987654321098765432109876543210
2491 xxxxxxxxxxxxxxxxxxxxx0xx0101010x
2492 orr. */
2493 return 760;
2494 }
2495 else
2496 {
2497 /* 33222222222211111111110000000000
2498 10987654321098765432109876543210
2499 xxxxxxxxxxxxxxxxxxxxx0xx0101011x
2500 ands. */
2501 return 767;
2502 }
2503 }
2504 }
2505 else
2506 {
2507 if (((word >> 10) & 0x1) == 0)
2508 {
2509 if (((word >> 11) & 0x1) == 0)
2510 {
2511 if (((word >> 22) & 0x1) == 0)
2512 {
2513 if (((word >> 23) & 0x1) == 0)
2514 {
2515 if (((word >> 29) & 0x1) == 0)
2516 {
2517 if (((word >> 30) & 0x1) == 0)
2518 {
2519 /* 33222222222211111111110000000000
2520 10987654321098765432109876543210
2521 xxxxxxxxxx00xxxxxxxxx0000101100x
2522 adc. */
2523 return 0;
2524 }
2525 else
2526 {
2527 /* 33222222222211111111110000000000
2528 10987654321098765432109876543210
2529 xxxxxxxxxx00xxxxxxxxx0000101101x
2530 sbc. */
2531 return 2;
2532 }
2533 }
2534 else
2535 {
2536 if (((word >> 30) & 0x1) == 0)
2537 {
2538 /* 33222222222211111111110000000000
2539 10987654321098765432109876543210
2540 xxxxxxxxxx00xxxxxxxxx0000101110x
2541 adcs. */
2542 return 1;
2543 }
2544 else
2545 {
2546 /* 33222222222211111111110000000000
2547 10987654321098765432109876543210
2548 xxxxxxxxxx00xxxxxxxxx0000101111x
2549 sbcs. */
2550 return 4;
2551 }
2552 }
2553 }
2554 else
2555 {
2556 if (((word >> 30) & 0x1) == 0)
2557 {
2558 /* 33222222222211111111110000000000
2559 10987654321098765432109876543210
2560 xxxxxxxxxx00xxxxxxxxx00101011x0x
2561 csel. */
2562 return 524;
2563 }
2564 else
2565 {
2566 /* 33222222222211111111110000000000
2567 10987654321098765432109876543210
2568 xxxxxxxxxx00xxxxxxxxx00101011x1x
2569 csinv. */
2570 return 528;
2571 }
2572 }
2573 }
2574 else
2575 {
2576 if (((word >> 23) & 0x1) == 0)
2577 {
2578 if (((word >> 30) & 0x1) == 0)
2579 {
2580 /* 33222222222211111111110000000000
2581 10987654321098765432109876543210
2582 xxxxxxxxxx00xxxxxxxxx01001011x0x
2583 ccmn. */
2584 return 522;
2585 }
2586 else
2587 {
2588 /* 33222222222211111111110000000000
2589 10987654321098765432109876543210
2590 xxxxxxxxxx00xxxxxxxxx01001011x1x
2591 ccmp. */
2592 return 523;
2593 }
2594 }
2595 else
2596 {
2597 if (((word >> 12) & 0x1) == 0)
2598 {
2599 if (((word >> 13) & 0x1) == 0)
2600 {
2601 if (((word >> 14) & 0x1) == 0)
2602 {
2603 /* 33222222222211111111110000000000
2604 10987654321098765432109876543210
2605 xxxxxxxxxx00000xxxxxx01101011xxx
2606 rbit. */
2607 return 547;
2608 }
2609 else
2610 {
2611 /* 33222222222211111111110000000000
2612 10987654321098765432109876543210
2613 xxxxxxxxxx00001xxxxxx01101011xxx
2614 crc32b. */
2615 return 564;
2616 }
2617 }
2618 else
2619 {
2620 /* 33222222222211111111110000000000
2621 10987654321098765432109876543210
2622 xxxxxxxxxx0001xxxxxxx01101011xxx
2623 lslv. */
2624 return 556;
2625 }
2626 }
2627 else
2628 {
2629 if (((word >> 14) & 0x1) == 0)
2630 {
2631 /* 33222222222211111111110000000000
2632 10987654321098765432109876543210
2633 xxxxxxxxxx001x0xxxxxx01101011xxx
2634 clz. */
2635 return 551;
2636 }
2637 else
2638 {
2639 /* 33222222222211111111110000000000
2640 10987654321098765432109876543210
2641 xxxxxxxxxx001x1xxxxxx01101011xxx
2642 crc32cb. */
2643 return 568;
2644 }
2645 }
2646 }
2647 }
2648 }
2649 else
2650 {
2651 if (((word >> 23) & 0x1) == 0)
2652 {
2653 if (((word >> 30) & 0x1) == 0)
2654 {
2655 /* 33222222222211111111110000000000
2656 10987654321098765432109876543210
2657 xxxxxxxxxx01xxxxxxxxx0x001011x0x
2658 ccmn. */
2659 return 520;
2660 }
2661 else
2662 {
2663 /* 33222222222211111111110000000000
2664 10987654321098765432109876543210
2665 xxxxxxxxxx01xxxxxxxxx0x001011x1x
2666 ccmp. */
2667 return 521;
2668 }
2669 }
2670 else
2671 {
2672 if (((word >> 12) & 0x1) == 0)
2673 {
2674 if (((word >> 13) & 0x1) == 0)
2675 {
2676 if (((word >> 14) & 0x1) == 0)
2677 {
2678 if (((word >> 30) & 0x1) == 0)
2679 {
2680 /* 33222222222211111111110000000000
2681 10987654321098765432109876543210
2682 xxxxxxxxxx01000xxxxxx0x101011x0x
2683 udiv. */
2684 return 554;
2685 }
2686 else
2687 {
2688 if (((word >> 31) & 0x1) == 0)
2689 {
2690 /* 33222222222211111111110000000000
2691 10987654321098765432109876543210
2692 xxxxxxxxxx01000xxxxxx0x101011x10
2693 rev. */
2694 return 549;
2695 }
2696 else
2697 {
2698 /* 33222222222211111111110000000000
2699 10987654321098765432109876543210
2700 xxxxxxxxxx01000xxxxxx0x101011x11
2701 rev32. */
2702 return 553;
2703 }
2704 }
2705 }
2706 else
2707 {
2708 /* 33222222222211111111110000000000
2709 10987654321098765432109876543210
2710 xxxxxxxxxx01001xxxxxx0x101011xxx
2711 crc32w. */
2712 return 566;
2713 }
2714 }
2715 else
2716 {
2717 /* 33222222222211111111110000000000
2718 10987654321098765432109876543210
2719 xxxxxxxxxx0101xxxxxxx0x101011xxx
2720 asrv. */
2721 return 560;
2722 }
2723 }
2724 else
2725 {
2726 /* 33222222222211111111110000000000
2727 10987654321098765432109876543210
2728 xxxxxxxxxx011xxxxxxxx0x101011xxx
2729 crc32cw. */
2730 return 570;
2731 }
2732 }
2733 }
2734 }
2735 else
2736 {
2737 if (((word >> 11) & 0x1) == 0)
2738 {
2739 if (((word >> 22) & 0x1) == 0)
2740 {
2741 if (((word >> 30) & 0x1) == 0)
2742 {
2743 /* 33222222222211111111110000000000
2744 10987654321098765432109876543210
2745 xxxxxxxxxx10xxxxxxxxx00x01011x0x
2746 csinc. */
2747 return 525;
2748 }
2749 else
2750 {
2751 /* 33222222222211111111110000000000
2752 10987654321098765432109876543210
2753 xxxxxxxxxx10xxxxxxxxx00x01011x1x
2754 csneg. */
2755 return 531;
2756 }
2757 }
2758 else
2759 {
2760 if (((word >> 12) & 0x1) == 0)
2761 {
2762 if (((word >> 13) & 0x1) == 0)
2763 {
2764 if (((word >> 14) & 0x1) == 0)
2765 {
2766 /* 33222222222211111111110000000000
2767 10987654321098765432109876543210
2768 xxxxxxxxxx10000xxxxxx01x01011xxx
2769 rev16. */
2770 return 548;
2771 }
2772 else
2773 {
2774 /* 33222222222211111111110000000000
2775 10987654321098765432109876543210
2776 xxxxxxxxxx10001xxxxxx01x01011xxx
2777 crc32h. */
2778 return 565;
2779 }
2780 }
2781 else
2782 {
2783 /* 33222222222211111111110000000000
2784 10987654321098765432109876543210
2785 xxxxxxxxxx1001xxxxxxx01x01011xxx
2786 lsrv. */
2787 return 558;
2788 }
2789 }
2790 else
2791 {
2792 if (((word >> 14) & 0x1) == 0)
2793 {
2794 /* 33222222222211111111110000000000
2795 10987654321098765432109876543210
2796 xxxxxxxxxx101x0xxxxxx01x01011xxx
2797 cls. */
2798 return 552;
2799 }
2800 else
2801 {
2802 /* 33222222222211111111110000000000
2803 10987654321098765432109876543210
2804 xxxxxxxxxx101x1xxxxxx01x01011xxx
2805 crc32ch. */
2806 return 569;
2807 }
2808 }
2809 }
2810 }
2811 else
2812 {
2813 if (((word >> 12) & 0x1) == 0)
2814 {
2815 if (((word >> 13) & 0x1) == 0)
2816 {
2817 if (((word >> 14) & 0x1) == 0)
2818 {
2819 if (((word >> 30) & 0x1) == 0)
2820 {
2821 /* 33222222222211111111110000000000
2822 10987654321098765432109876543210
2823 xxxxxxxxxx11000xxxxxx0xx01011x0x
2824 sdiv. */
2825 return 555;
2826 }
2827 else
2828 {
2829 /* 33222222222211111111110000000000
2830 10987654321098765432109876543210
2831 xxxxxxxxxx11000xxxxxx0xx01011x1x
2832 rev. */
2833 return 550;
2834 }
2835 }
2836 else
2837 {
2838 /* 33222222222211111111110000000000
2839 10987654321098765432109876543210
2840 xxxxxxxxxx11001xxxxxx0xx01011xxx
2841 crc32x. */
2842 return 567;
2843 }
2844 }
2845 else
2846 {
2847 /* 33222222222211111111110000000000
2848 10987654321098765432109876543210
2849 xxxxxxxxxx1101xxxxxxx0xx01011xxx
2850 rorv. */
2851 return 562;
2852 }
2853 }
2854 else
2855 {
2856 /* 33222222222211111111110000000000
2857 10987654321098765432109876543210
2858 xxxxxxxxxx111xxxxxxxx0xx01011xxx
2859 crc32cx. */
2860 return 571;
2861 }
2862 }
2863 }
2864 }
2865 }
2866 else
2867 {
2868 if (((word >> 29) & 0x1) == 0)
2869 {
2870 if (((word >> 30) & 0x1) == 0)
2871 {
2872 /* 33222222222211111111110000000000
2873 10987654321098765432109876543210
2874 xxxxxxxxxxxxxxxxxxxxx1xx0101x00x
2875 bic. */
2876 return 759;
2877 }
2878 else
2879 {
2880 /* 33222222222211111111110000000000
2881 10987654321098765432109876543210
2882 xxxxxxxxxxxxxxxxxxxxx1xx0101x01x
2883 eon. */
2884 return 766;
2885 }
2886 }
2887 else
2888 {
2889 if (((word >> 30) & 0x1) == 0)
2890 {
2891 /* 33222222222211111111110000000000
2892 10987654321098765432109876543210
2893 xxxxxxxxxxxxxxxxxxxxx1xx0101x10x
2894 orn. */
2895 return 763;
2896 }
2897 else
2898 {
2899 /* 33222222222211111111110000000000
2900 10987654321098765432109876543210
2901 xxxxxxxxxxxxxxxxxxxxx1xx0101x11x
2902 bics. */
2903 return 769;
2904 }
2905 }
2906 }
2907 }
2908 }
2909 else
2910 {
2911 if (((word >> 27) & 0x1) == 0)
2912 {
2913 if (((word >> 23) & 0x1) == 0)
2914 {
2915 if (((word >> 29) & 0x1) == 0)
2916 {
2917 if (((word >> 30) & 0x1) == 0)
2918 {
2919 /* 33222222222211111111110000000000
2920 10987654321098765432109876543210
2921 xxxxxxxxxxxxxxxxxxxxxxx01100x00x
2922 sbfm. */
2923 return 493;
2924 }
2925 else
2926 {
2927 /* 33222222222211111111110000000000
2928 10987654321098765432109876543210
2929 xxxxxxxxxxxxxxxxxxxxxxx01100x01x
2930 ubfm. */
2931 return 503;
2932 }
2933 }
2934 else
2935 {
2936 /* 33222222222211111111110000000000
2937 10987654321098765432109876543210
2938 xxxxxxxxxxxxxxxxxxxxxxx01100x1xx
2939 bfm. */
2940 return 500;
2941 }
2942 }
2943 else
2944 {
2945 /* 33222222222211111111110000000000
2946 10987654321098765432109876543210
2947 xxxxxxxxxxxxxxxxxxxxxxx11100xxxx
2948 extr. */
2949 return 594;
2950 }
2951 }
2952 else
2953 {
2954 if (((word >> 21) & 0x1) == 0)
2955 {
2956 if (((word >> 28) & 0x1) == 0)
2957 {
2958 if (((word >> 29) & 0x1) == 0)
2959 {
2960 if (((word >> 30) & 0x1) == 0)
2961 {
2962 /* 33222222222211111111110000000000
2963 10987654321098765432109876543210
2964 xxxxxxxxxxxxxxxxxxxxx0xx1101000x
2965 add. */
2966 return 19;
2967 }
2968 else
2969 {
2970 /* 33222222222211111111110000000000
2971 10987654321098765432109876543210
2972 xxxxxxxxxxxxxxxxxxxxx0xx1101001x
2973 sub. */
2974 return 22;
2975 }
2976 }
2977 else
2978 {
2979 if (((word >> 30) & 0x1) == 0)
2980 {
2981 /* 33222222222211111111110000000000
2982 10987654321098765432109876543210
2983 xxxxxxxxxxxxxxxxxxxxx0xx1101010x
2984 adds. */
2985 return 20;
2986 }
2987 else
2988 {
2989 /* 33222222222211111111110000000000
2990 10987654321098765432109876543210
2991 xxxxxxxxxxxxxxxxxxxxx0xx1101011x
2992 subs. */
2993 return 24;
2994 }
2995 }
2996 }
2997 else
2998 {
2999 if (((word >> 15) & 0x1) == 0)
3000 {
3001 if (((word >> 22) & 0x1) == 0)
3002 {
3003 /* 33222222222211111111110000000000
3004 10987654321098765432109876543210
3005 xxxxxxxxxxxxxxx0xxxxx00x11011xxx
3006 madd. */
3007 return 572;
3008 }
3009 else
3010 {
3011 if (((word >> 23) & 0x1) == 0)
3012 {
3013 /* 33222222222211111111110000000000
3014 10987654321098765432109876543210
3015 xxxxxxxxxxxxxxx0xxxxx01011011xxx
3016 smulh. */
3017 return 580;
3018 }
3019 else
3020 {
3021 /* 33222222222211111111110000000000
3022 10987654321098765432109876543210
3023 xxxxxxxxxxxxxxx0xxxxx01111011xxx
3024 umulh. */
3025 return 585;
3026 }
3027 }
3028 }
3029 else
3030 {
3031 /* 33222222222211111111110000000000
3032 10987654321098765432109876543210
3033 xxxxxxxxxxxxxxx1xxxxx0xx11011xxx
3034 msub. */
3035 return 574;
3036 }
3037 }
3038 }
3039 else
3040 {
3041 if (((word >> 23) & 0x1) == 0)
3042 {
3043 if (((word >> 28) & 0x1) == 0)
3044 {
3045 if (((word >> 29) & 0x1) == 0)
3046 {
3047 if (((word >> 30) & 0x1) == 0)
3048 {
3049 /* 33222222222211111111110000000000
3050 10987654321098765432109876543210
3051 xxxxxxxxxxxxxxxxxxxxx1x01101000x
3052 add. */
3053 return 6;
3054 }
3055 else
3056 {
3057 /* 33222222222211111111110000000000
3058 10987654321098765432109876543210
3059 xxxxxxxxxxxxxxxxxxxxx1x01101001x
3060 sub. */
3061 return 9;
3062 }
3063 }
3064 else
3065 {
3066 if (((word >> 30) & 0x1) == 0)
3067 {
3068 /* 33222222222211111111110000000000
3069 10987654321098765432109876543210
3070 xxxxxxxxxxxxxxxxxxxxx1x01101010x
3071 adds. */
3072 return 7;
3073 }
3074 else
3075 {
3076 /* 33222222222211111111110000000000
3077 10987654321098765432109876543210
3078 xxxxxxxxxxxxxxxxxxxxx1x01101011x
3079 subs. */
3080 return 10;
3081 }
3082 }
3083 }
3084 else
3085 {
3086 if (((word >> 15) & 0x1) == 0)
3087 {
3088 /* 33222222222211111111110000000000
3089 10987654321098765432109876543210
3090 xxxxxxxxxxxxxxx0xxxxx1x011011xxx
3091 smaddl. */
3092 return 576;
3093 }
3094 else
3095 {
3096 /* 33222222222211111111110000000000
3097 10987654321098765432109876543210
3098 xxxxxxxxxxxxxxx1xxxxx1x011011xxx
3099 smsubl. */
3100 return 578;
3101 }
3102 }
3103 }
3104 else
3105 {
3106 if (((word >> 15) & 0x1) == 0)
3107 {
3108 /* 33222222222211111111110000000000
3109 10987654321098765432109876543210
3110 xxxxxxxxxxxxxxx0xxxxx1x11101xxxx
3111 umaddl. */
3112 return 581;
3113 }
3114 else
3115 {
3116 /* 33222222222211111111110000000000
3117 10987654321098765432109876543210
3118 xxxxxxxxxxxxxxx1xxxxx1x11101xxxx
3119 umsubl. */
3120 return 583;
3121 }
3122 }
3123 }
3124 }
3125 }
3126 }
3127 }
3128 else
3129 {
3130 if (((word >> 27) & 0x1) == 0)
3131 {
3132 if (((word >> 29) & 0x1) == 0)
3133 {
3134 if (((word >> 30) & 0x1) == 0)
3135 {
3136 if (((word >> 31) & 0x1) == 0)
3137 {
3138 /* 33222222222211111111110000000000
3139 10987654321098765432109876543210
3140 xxxxxxxxxxxxxxxxxxxxxxxxxx10x000
3141 b. */
3142 return 510;
3143 }
3144 else
3145 {
3146 /* 33222222222211111111110000000000
3147 10987654321098765432109876543210
3148 xxxxxxxxxxxxxxxxxxxxxxxxxx10x001
3149 bl. */
3150 return 511;
3151 }
3152 }
3153 else
3154 {
3155 if (((word >> 24) & 0x1) == 0)
3156 {
3157 if (((word >> 25) & 0x1) == 0)
3158 {
3159 if (((word >> 31) & 0x1) == 0)
3160 {
3161 /* 33222222222211111111110000000000
3162 10987654321098765432109876543210
3163 xxxxxxxxxxxxxxxxxxxxxxxx0010x010
3164 b.c. */
3165 return 519;
3166 }
3167 else
3168 {
3169 if (((word >> 0) & 0x1) == 0)
3170 {
3171 if (((word >> 1) & 0x1) == 0)
3172 {
3173 if (((word >> 21) & 0x1) == 0)
3174 {
3175 /* 33222222222211111111110000000000
3176 10987654321098765432109876543210
3177 00xxxxxxxxxxxxxxxxxxx0xx0010x011
3178 hlt. */
3179 return 590;
3180 }
3181 else
3182 {
3183 /* 33222222222211111111110000000000
3184 10987654321098765432109876543210
3185 00xxxxxxxxxxxxxxxxxxx1xx0010x011
3186 brk. */
3187 return 589;
3188 }
3189 }
3190 else
3191 {
3192 if (((word >> 21) & 0x1) == 0)
3193 {
3194 /* 33222222222211111111110000000000
3195 10987654321098765432109876543210
3196 01xxxxxxxxxxxxxxxxxxx0xx0010x011
3197 hvc. */
3198 return 587;
3199 }
3200 else
3201 {
3202 /* 33222222222211111111110000000000
3203 10987654321098765432109876543210
3204 01xxxxxxxxxxxxxxxxxxx1xx0010x011
3205 dcps2. */
3206 return 592;
3207 }
3208 }
3209 }
3210 else
3211 {
3212 if (((word >> 1) & 0x1) == 0)
3213 {
3214 if (((word >> 21) & 0x1) == 0)
3215 {
3216 /* 33222222222211111111110000000000
3217 10987654321098765432109876543210
3218 10xxxxxxxxxxxxxxxxxxx0xx0010x011
3219 svc. */
3220 return 586;
3221 }
3222 else
3223 {
3224 /* 33222222222211111111110000000000
3225 10987654321098765432109876543210
3226 10xxxxxxxxxxxxxxxxxxx1xx0010x011
3227 dcps1. */
3228 return 591;
3229 }
3230 }
3231 else
3232 {
3233 if (((word >> 21) & 0x1) == 0)
3234 {
3235 /* 33222222222211111111110000000000
3236 10987654321098765432109876543210
3237 11xxxxxxxxxxxxxxxxxxx0xx0010x011
3238 smc. */
3239 return 588;
3240 }
3241 else
3242 {
3243 /* 33222222222211111111110000000000
3244 10987654321098765432109876543210
3245 11xxxxxxxxxxxxxxxxxxx1xx0010x011
3246 dcps3. */
3247 return 593;
3248 }
3249 }
3250 }
3251 }
3252 }
3253 else
3254 {
3255 if (((word >> 21) & 0x1) == 0)
3256 {
3257 if (((word >> 22) & 0x1) == 0)
3258 {
3259 if (((word >> 23) & 0x1) == 0)
3260 {
3261 /* 33222222222211111111110000000000
3262 10987654321098765432109876543210
3263 xxxxxxxxxxxxxxxxxxxxx0000110x01x
3264 br. */
3265 return 512;
3266 }
3267 else
3268 {
3269 /* 33222222222211111111110000000000
3270 10987654321098765432109876543210
3271 xxxxxxxxxxxxxxxxxxxxx0010110x01x
3272 eret. */
3273 return 515;
3274 }
3275 }
3276 else
3277 {
3278 /* 33222222222211111111110000000000
3279 10987654321098765432109876543210
3280 xxxxxxxxxxxxxxxxxxxxx01x0110x01x
3281 ret. */
3282 return 514;
3283 }
3284 }
3285 else
3286 {
3287 if (((word >> 23) & 0x1) == 0)
3288 {
3289 /* 33222222222211111111110000000000
3290 10987654321098765432109876543210
3291 xxxxxxxxxxxxxxxxxxxxx1x00110x01x
3292 blr. */
3293 return 513;
3294 }
3295 else
3296 {
3297 /* 33222222222211111111110000000000
3298 10987654321098765432109876543210
3299 xxxxxxxxxxxxxxxxxxxxx1x10110x01x
3300 drps. */
3301 return 516;
3302 }
3303 }
3304 }
3305 }
3306 else
3307 {
3308 if (((word >> 21) & 0x1) == 0)
3309 {
3310 /* 33222222222211111111110000000000
3311 10987654321098765432109876543210
3312 xxxxxxxxxxxxxxxxxxxxx0xx1x10x01x
3313 msr. */
3314 return 949;
3315 }
3316 else
3317 {
3318 /* 33222222222211111111110000000000
3319 10987654321098765432109876543210
3320 xxxxxxxxxxxxxxxxxxxxx1xx1x10x01x
3321 sysl. */
3322 return 967;
3323 }
3324 }
3325 }
3326 }
3327 else
3328 {
3329 if (((word >> 24) & 0x1) == 0)
3330 {
3331 if (((word >> 25) & 0x1) == 0)
3332 {
3333 /* 33222222222211111111110000000000
3334 10987654321098765432109876543210
3335 xxxxxxxxxxxxxxxxxxxxxxxx0010x1xx
3336 cbz. */
3337 return 517;
3338 }
3339 else
3340 {
3341 /* 33222222222211111111110000000000
3342 10987654321098765432109876543210
3343 xxxxxxxxxxxxxxxxxxxxxxxx0110x1xx
3344 tbz. */
3345 return 969;
3346 }
3347 }
3348 else
3349 {
3350 if (((word >> 25) & 0x1) == 0)
3351 {
3352 /* 33222222222211111111110000000000
3353 10987654321098765432109876543210
3354 xxxxxxxxxxxxxxxxxxxxxxxx1010x1xx
3355 cbnz. */
3356 return 518;
3357 }
3358 else
3359 {
3360 /* 33222222222211111111110000000000
3361 10987654321098765432109876543210
3362 xxxxxxxxxxxxxxxxxxxxxxxx1110x1xx
3363 tbnz. */
3364 return 970;
3365 }
3366 }
3367 }
3368 }
3369 else
3370 {
3371 if (((word >> 25) & 0x1) == 0)
3372 {
3373 if (((word >> 28) & 0x1) == 0)
3374 {
3375 if (((word >> 22) & 0x1) == 0)
3376 {
3377 if (((word >> 23) & 0x1) == 0)
3378 {
3379 if (((word >> 24) & 0x1) == 0)
3380 {
3381 if (((word >> 29) & 0x1) == 0)
3382 {
3383 /* 33222222222211111111110000000000
3384 10987654321098765432109876543210
3385 xxxxxxxxxxxxxxxxxxxxxx00001100xx
3386 st4. */
3387 return 355;
3388 }
3389 else
3390 {
3391 /* 33222222222211111111110000000000
3392 10987654321098765432109876543210
3393 xxxxxxxxxxxxxxxxxxxxxx00001101xx
3394 stnp. */
3395 return 735;
3396 }
3397 }
3398 else
3399 {
3400 if (((word >> 29) & 0x1) == 0)
3401 {
3402 if (((word >> 13) & 0x1) == 0)
3403 {
3404 if (((word >> 21) & 0x1) == 0)
3405 {
3406 /* 33222222222211111111110000000000
3407 10987654321098765432109876543210
3408 xxxxxxxxxxxxx0xxxxxxx000101100xx
3409 st1. */
3410 return 371;
3411 }
3412 else
3413 {
3414 /* 33222222222211111111110000000000
3415 10987654321098765432109876543210
3416 xxxxxxxxxxxxx0xxxxxxx100101100xx
3417 st2. */
3418 return 373;
3419 }
3420 }
3421 else
3422 {
3423 if (((word >> 21) & 0x1) == 0)
3424 {
3425 /* 33222222222211111111110000000000
3426 10987654321098765432109876543210
3427 xxxxxxxxxxxxx1xxxxxxx000101100xx
3428 st3. */
3429 return 372;
3430 }
3431 else
3432 {
3433 /* 33222222222211111111110000000000
3434 10987654321098765432109876543210
3435 xxxxxxxxxxxxx1xxxxxxx100101100xx
3436 st4. */
3437 return 374;
3438 }
3439 }
3440 }
3441 else
3442 {
3443 /* 33222222222211111111110000000000
3444 10987654321098765432109876543210
3445 xxxxxxxxxxxxxxxxxxxxxx00101101xx
3446 stp. */
3447 return 739;
3448 }
3449 }
3450 }
3451 else
3452 {
3453 if (((word >> 29) & 0x1) == 0)
3454 {
3455 if (((word >> 21) & 0x1) == 0)
3456 {
3457 if (((word >> 24) & 0x1) == 0)
3458 {
3459 /* 33222222222211111111110000000000
3460 10987654321098765432109876543210
3461 xxxxxxxxxxxxxxxxxxxxx001001100xx
3462 st4. */
3463 return 363;
3464 }
3465 else
3466 {
3467 if (((word >> 13) & 0x1) == 0)
3468 {
3469 /* 33222222222211111111110000000000
3470 10987654321098765432109876543210
3471 xxxxxxxxxxxxx0xxxxxxx001101100xx
3472 st1. */
3473 return 383;
3474 }
3475 else
3476 {
3477 /* 33222222222211111111110000000000
3478 10987654321098765432109876543210
3479 xxxxxxxxxxxxx1xxxxxxx001101100xx
3480 st3. */
3481 return 384;
3482 }
3483 }
3484 }
3485 else
3486 {
3487 if (((word >> 13) & 0x1) == 0)
3488 {
3489 /* 33222222222211111111110000000000
3490 10987654321098765432109876543210
3491 xxxxxxxxxxxxx0xxxxxxx101x01100xx
3492 st2. */
3493 return 385;
3494 }
3495 else
3496 {
3497 /* 33222222222211111111110000000000
3498 10987654321098765432109876543210
3499 xxxxxxxxxxxxx1xxxxxxx101x01100xx
3500 st4. */
3501 return 386;
3502 }
3503 }
3504 }
3505 else
3506 {
3507 /* 33222222222211111111110000000000
3508 10987654321098765432109876543210
3509 xxxxxxxxxxxxxxxxxxxxxx01x01101xx
3510 stp. */
3511 return 744;
3512 }
3513 }
3514 }
3515 else
3516 {
3517 if (((word >> 23) & 0x1) == 0)
3518 {
3519 if (((word >> 24) & 0x1) == 0)
3520 {
3521 if (((word >> 29) & 0x1) == 0)
3522 {
3523 /* 33222222222211111111110000000000
3524 10987654321098765432109876543210
3525 xxxxxxxxxxxxxxxxxxxxxx10001100xx
3526 ld4. */
3527 return 359;
3528 }
3529 else
3530 {
3531 /* 33222222222211111111110000000000
3532 10987654321098765432109876543210
3533 xxxxxxxxxxxxxxxxxxxxxx10001101xx
3534 ldnp. */
3535 return 736;
3536 }
3537 }
3538 else
3539 {
3540 if (((word >> 29) & 0x1) == 0)
3541 {
3542 if (((word >> 13) & 0x1) == 0)
3543 {
3544 if (((word >> 21) & 0x1) == 0)
3545 {
3546 /* 33222222222211111111110000000000
3547 10987654321098765432109876543210
3548 xxxxxxxxxxxxx0xxxxxxx010101100xx
3549 ld1. */
3550 return 375;
3551 }
3552 else
3553 {
3554 /* 33222222222211111111110000000000
3555 10987654321098765432109876543210
3556 xxxxxxxxxxxxx0xxxxxxx110101100xx
3557 ld2. */
3558 return 379;
3559 }
3560 }
3561 else
3562 {
3563 if (((word >> 21) & 0x1) == 0)
3564 {
3565 /* 33222222222211111111110000000000
3566 10987654321098765432109876543210
3567 xxxxxxxxxxxxx1xxxxxxx010101100xx
3568 ld3. */
3569 return 376;
3570 }
3571 else
3572 {
3573 /* 33222222222211111111110000000000
3574 10987654321098765432109876543210
3575 xxxxxxxxxxxxx1xxxxxxx110101100xx
3576 ld4. */
3577 return 380;
3578 }
3579 }
3580 }
3581 else
3582 {
3583 /* 33222222222211111111110000000000
3584 10987654321098765432109876543210
3585 xxxxxxxxxxxxxxxxxxxxxx10101101xx
3586 ldp. */
3587 return 740;
3588 }
3589 }
3590 }
3591 else
3592 {
3593 if (((word >> 29) & 0x1) == 0)
3594 {
3595 if (((word >> 21) & 0x1) == 0)
3596 {
3597 if (((word >> 24) & 0x1) == 0)
3598 {
3599 /* 33222222222211111111110000000000
3600 10987654321098765432109876543210
3601 xxxxxxxxxxxxxxxxxxxxx011001100xx
3602 ld4. */
3603 return 367;
3604 }
3605 else
3606 {
3607 if (((word >> 13) & 0x1) == 0)
3608 {
3609 /* 33222222222211111111110000000000
3610 10987654321098765432109876543210
3611 xxxxxxxxxxxxx0xxxxxxx011101100xx
3612 ld1. */
3613 return 387;
3614 }
3615 else
3616 {
3617 /* 33222222222211111111110000000000
3618 10987654321098765432109876543210
3619 xxxxxxxxxxxxx1xxxxxxx011101100xx
3620 ld3. */
3621 return 388;
3622 }
3623 }
3624 }
3625 else
3626 {
3627 if (((word >> 13) & 0x1) == 0)
3628 {
3629 /* 33222222222211111111110000000000
3630 10987654321098765432109876543210
3631 xxxxxxxxxxxxx0xxxxxxx111x01100xx
3632 ld2. */
3633 return 391;
3634 }
3635 else
3636 {
3637 /* 33222222222211111111110000000000
3638 10987654321098765432109876543210
3639 xxxxxxxxxxxxx1xxxxxxx111x01100xx
3640 ld4. */
3641 return 392;
3642 }
3643 }
3644 }
3645 else
3646 {
3647 /* 33222222222211111111110000000000
3648 10987654321098765432109876543210
3649 xxxxxxxxxxxxxxxxxxxxxx11x01101xx
3650 ldp. */
3651 return 745;
3652 }
3653 }
3654 }
3655 }
3656 else
3657 {
3658 if (((word >> 24) & 0x1) == 0)
3659 {
3660 if (((word >> 29) & 0x1) == 0)
3661 {
3662 /* 33222222222211111111110000000000
3663 10987654321098765432109876543210
3664 xxxxxxxxxxxxxxxxxxxxxxxx001110xx
3665 ldr. */
3666 return 748;
3667 }
3668 else
3669 {
3670 if (((word >> 10) & 0x1) == 0)
3671 {
3672 if (((word >> 11) & 0x1) == 0)
3673 {
3674 if (((word >> 22) & 0x1) == 0)
3675 {
3676 /* 33222222222211111111110000000000
3677 10987654321098765432109876543210
3678 xxxxxxxxxx00xxxxxxxxxx0x001111xx
3679 stur. */
3680 return 696;
3681 }
3682 else
3683 {
3684 /* 33222222222211111111110000000000
3685 10987654321098765432109876543210
3686 xxxxxxxxxx00xxxxxxxxxx1x001111xx
3687 ldur. */
3688 return 697;
3689 }
3690 }
3691 else
3692 {
3693 if (((word >> 22) & 0x1) == 0)
3694 {
3695 /* 33222222222211111111110000000000
3696 10987654321098765432109876543210
3697 xxxxxxxxxx01xxxxxxxxxx0x001111xx
3698 str. */
3699 return 675;
3700 }
3701 else
3702 {
3703 /* 33222222222211111111110000000000
3704 10987654321098765432109876543210
3705 xxxxxxxxxx01xxxxxxxxxx1x001111xx
3706 ldr. */
3707 return 676;
3708 }
3709 }
3710 }
3711 else
3712 {
3713 if (((word >> 22) & 0x1) == 0)
3714 {
3715 /* 33222222222211111111110000000000
3716 10987654321098765432109876543210
3717 xxxxxxxxxx1xxxxxxxxxxx0x001111xx
3718 str. */
3719 return 652;
3720 }
3721 else
3722 {
3723 /* 33222222222211111111110000000000
3724 10987654321098765432109876543210
3725 xxxxxxxxxx1xxxxxxxxxxx1x001111xx
3726 ldr. */
3727 return 653;
3728 }
3729 }
3730 }
3731 }
3732 else
3733 {
3734 if (((word >> 22) & 0x1) == 0)
3735 {
3736 /* 33222222222211111111110000000000
3737 10987654321098765432109876543210
3738 xxxxxxxxxxxxxxxxxxxxxx0x10111xxx
3739 str. */
3740 return 663;
3741 }
3742 else
3743 {
3744 /* 33222222222211111111110000000000
3745 10987654321098765432109876543210
3746 xxxxxxxxxxxxxxxxxxxxxx1x10111xxx
3747 ldr. */
3748 return 664;
3749 }
3750 }
3751 }
3752 }
3753 else
3754 {
3755 if (((word >> 24) & 0x1) == 0)
3756 {
3757 if (((word >> 21) & 0x1) == 0)
3758 {
3759 if (((word >> 28) & 0x1) == 0)
3760 {
3761 if (((word >> 10) & 0x1) == 0)
3762 {
3763 if (((word >> 29) & 0x1) == 0)
3764 {
3765 if (((word >> 11) & 0x1) == 0)
3766 {
3767 if (((word >> 12) & 0x1) == 0)
3768 {
3769 /* 33222222222211111111110000000000
3770 10987654321098765432109876543210
3771 xxxxxxxxxx000xxxxxxxx0xx011100xx
3772 tbl. */
3773 return 341;
3774 }
3775 else
3776 {
3777 /* 33222222222211111111110000000000
3778 10987654321098765432109876543210
3779 xxxxxxxxxx001xxxxxxxx0xx011100xx
3780 tbx. */
3781 return 342;
3782 }
3783 }
3784 else
3785 {
3786 if (((word >> 12) & 0x1) == 0)
3787 {
3788 if (((word >> 14) & 0x1) == 0)
3789 {
3790 /* 33222222222211111111110000000000
3791 10987654321098765432109876543210
3792 xxxxxxxxxx010x0xxxxxx0xx011100xx
3793 trn1. */
3794 return 216;
3795 }
3796 else
3797 {
3798 /* 33222222222211111111110000000000
3799 10987654321098765432109876543210
3800 xxxxxxxxxx010x1xxxxxx0xx011100xx
3801 trn2. */
3802 return 219;
3803 }
3804 }
3805 else
3806 {
3807 if (((word >> 13) & 0x1) == 0)
3808 {
3809 if (((word >> 14) & 0x1) == 0)
3810 {
3811 /* 33222222222211111111110000000000
3812 10987654321098765432109876543210
3813 xxxxxxxxxx01100xxxxxx0xx011100xx
3814 uzp1. */
3815 return 215;
3816 }
3817 else
3818 {
3819 /* 33222222222211111111110000000000
3820 10987654321098765432109876543210
3821 xxxxxxxxxx01101xxxxxx0xx011100xx
3822 uzp2. */
3823 return 218;
3824 }
3825 }
3826 else
3827 {
3828 if (((word >> 14) & 0x1) == 0)
3829 {
3830 /* 33222222222211111111110000000000
3831 10987654321098765432109876543210
3832 xxxxxxxxxx01110xxxxxx0xx011100xx
3833 zip1. */
3834 return 217;
3835 }
3836 else
3837 {
3838 /* 33222222222211111111110000000000
3839 10987654321098765432109876543210
3840 xxxxxxxxxx01111xxxxxx0xx011100xx
3841 zip2. */
3842 return 220;
3843 }
3844 }
3845 }
3846 }
3847 }
3848 else
3849 {
3850 /* 33222222222211111111110000000000
3851 10987654321098765432109876543210
3852 xxxxxxxxxx0xxxxxxxxxx0xx011101xx
3853 ext. */
3854 return 119;
3855 }
3856 }
3857 else
3858 {
3859 if (((word >> 29) & 0x1) == 0)
3860 {
3861 if (((word >> 11) & 0x1) == 0)
3862 {
3863 /* 33222222222211111111110000000000
3864 10987654321098765432109876543210
3865 xxxxxxxxxx10xxxxxxxxx0xx011100xx
3866 dup. */
3867 return 135;
3868 }
3869 else
3870 {
3871 if (((word >> 12) & 0x1) == 0)
3872 {
3873 if (((word >> 13) & 0x1) == 0)
3874 {
3875 /* 33222222222211111111110000000000
3876 10987654321098765432109876543210
3877 xxxxxxxxxx1100xxxxxxx0xx011100xx
3878 dup. */
3879 return 136;
3880 }
3881 else
3882 {
3883 /* 33222222222211111111110000000000
3884 10987654321098765432109876543210
3885 xxxxxxxxxx1101xxxxxxx0xx011100xx
3886 smov. */
3887 return 137;
3888 }
3889 }
3890 else
3891 {
3892 if (((word >> 13) & 0x1) == 0)
3893 {
3894 /* 33222222222211111111110000000000
3895 10987654321098765432109876543210
3896 xxxxxxxxxx1110xxxxxxx0xx011100xx
3897 ins. */
3898 return 140;
3899 }
3900 else
3901 {
3902 /* 33222222222211111111110000000000
3903 10987654321098765432109876543210
3904 xxxxxxxxxx1111xxxxxxx0xx011100xx
3905 umov. */
3906 return 138;
3907 }
3908 }
3909 }
3910 }
3911 else
3912 {
3913 /* 33222222222211111111110000000000
3914 10987654321098765432109876543210
3915 xxxxxxxxxx1xxxxxxxxxx0xx011101xx
3916 ins. */
3917 return 142;
3918 }
3919 }
3920 }
3921 else
3922 {
3923 if (((word >> 30) & 0x1) == 0)
3924 {
3925 if (((word >> 16) & 0x1) == 0)
3926 {
3927 if (((word >> 17) & 0x1) == 0)
3928 {
3929 /* 33222222222211111111110000000000
3930 10987654321098765432109876543210
3931 xxxxxxxxxxxxxxxx00xxx0xx01111x0x
3932 fcvtzs. */
3933 return 598;
3934 }
3935 else
3936 {
3937 /* 33222222222211111111110000000000
3938 10987654321098765432109876543210
3939 xxxxxxxxxxxxxxxx01xxx0xx01111x0x
3940 scvtf. */
3941 return 596;
3942 }
3943 }
3944 else
3945 {
3946 if (((word >> 17) & 0x1) == 0)
3947 {
3948 /* 33222222222211111111110000000000
3949 10987654321098765432109876543210
3950 xxxxxxxxxxxxxxxx10xxx0xx01111x0x
3951 fcvtzu. */
3952 return 599;
3953 }
3954 else
3955 {
3956 /* 33222222222211111111110000000000
3957 10987654321098765432109876543210
3958 xxxxxxxxxxxxxxxx11xxx0xx01111x0x
3959 ucvtf. */
3960 return 597;
3961 }
3962 }
3963 }
3964 else
3965 {
3966 if (((word >> 10) & 0x1) == 0)
3967 {
3968 if (((word >> 12) & 0x1) == 0)
3969 {
3970 if (((word >> 13) & 0x1) == 0)
3971 {
3972 if (((word >> 14) & 0x1) == 0)
3973 {
3974 /* 33222222222211111111110000000000
3975 10987654321098765432109876543210
3976 xxxxxxxxxx0x000xxxxxx0xx01111x1x
3977 sha1c. */
3978 return 540;
3979 }
3980 else
3981 {
3982 /* 33222222222211111111110000000000
3983 10987654321098765432109876543210
3984 xxxxxxxxxx0x001xxxxxx0xx01111x1x
3985 sha256h. */
3986 return 544;
3987 }
3988 }
3989 else
3990 {
3991 if (((word >> 14) & 0x1) == 0)
3992 {
3993 /* 33222222222211111111110000000000
3994 10987654321098765432109876543210
3995 xxxxxxxxxx0x010xxxxxx0xx01111x1x
3996 sha1m. */
3997 return 542;
3998 }
3999 else
4000 {
4001 /* 33222222222211111111110000000000
4002 10987654321098765432109876543210
4003 xxxxxxxxxx0x011xxxxxx0xx01111x1x
4004 sha256su1. */
4005 return 546;
4006 }
4007 }
4008 }
4009 else
4010 {
4011 if (((word >> 13) & 0x1) == 0)
4012 {
4013 if (((word >> 14) & 0x1) == 0)
4014 {
4015 /* 33222222222211111111110000000000
4016 10987654321098765432109876543210
4017 xxxxxxxxxx0x100xxxxxx0xx01111x1x
4018 sha1p. */
4019 return 541;
4020 }
4021 else
4022 {
4023 /* 33222222222211111111110000000000
4024 10987654321098765432109876543210
4025 xxxxxxxxxx0x101xxxxxx0xx01111x1x
4026 sha256h2. */
4027 return 545;
4028 }
4029 }
4030 else
4031 {
4032 /* 33222222222211111111110000000000
4033 10987654321098765432109876543210
4034 xxxxxxxxxx0x11xxxxxxx0xx01111x1x
4035 sha1su0. */
4036 return 543;
4037 }
4038 }
4039 }
4040 else
4041 {
4042 /* 33222222222211111111110000000000
4043 10987654321098765432109876543210
4044 xxxxxxxxxx1xxxxxxxxxx0xx01111x1x
4045 dup. */
4046 return 430;
4047 }
4048 }
4049 }
4050 }
4051 else
4052 {
4053 if (((word >> 10) & 0x1) == 0)
4054 {
4055 if (((word >> 11) & 0x1) == 0)
4056 {
4057 if (((word >> 12) & 0x1) == 0)
4058 {
4059 if (((word >> 13) & 0x1) == 0)
4060 {
4061 if (((word >> 14) & 0x1) == 0)
4062 {
4063 if (((word >> 15) & 0x1) == 0)
4064 {
4065 if (((word >> 28) & 0x1) == 0)
4066 {
4067 if (((word >> 29) & 0x1) == 0)
4068 {
4069 if (((word >> 30) & 0x1) == 0)
4070 {
4071 /* 33222222222211111111110000000000
4072 10987654321098765432109876543210
4073 xxxxxxxxxx000000xxxxx1xx0111000x
4074 saddl. */
4075 return 38;
4076 }
4077 else
4078 {
4079 /* 33222222222211111111110000000000
4080 10987654321098765432109876543210
4081 xxxxxxxxxx000000xxxxx1xx0111001x
4082 saddl2. */
4083 return 39;
4084 }
4085 }
4086 else
4087 {
4088 if (((word >> 30) & 0x1) == 0)
4089 {
4090 /* 33222222222211111111110000000000
4091 10987654321098765432109876543210
4092 xxxxxxxxxx000000xxxxx1xx0111010x
4093 uaddl. */
4094 return 70;
4095 }
4096 else
4097 {
4098 /* 33222222222211111111110000000000
4099 10987654321098765432109876543210
4100 xxxxxxxxxx000000xxxxx1xx0111011x
4101 uaddl2. */
4102 return 71;
4103 }
4104 }
4105 }
4106 else
4107 {
4108 if (((word >> 16) & 0x1) == 0)
4109 {
4110 if (((word >> 17) & 0x1) == 0)
4111 {
4112 if (((word >> 18) & 0x1) == 0)
4113 {
4114 if (((word >> 19) & 0x1) == 0)
4115 {
4116 if (((word >> 20) & 0x1) == 0)
4117 {
4118 /* 33222222222211111111110000000000
4119 10987654321098765432109876543210
4120 xxxxxxxxxx000000000001xx01111xxx
4121 fcvtns. */
4122 return 600;
4123 }
4124 else
4125 {
4126 /* 33222222222211111111110000000000
4127 10987654321098765432109876543210
4128 xxxxxxxxxx000000000011xx01111xxx
4129 fcvtms. */
4130 return 610;
4131 }
4132 }
4133 else
4134 {
4135 if (((word >> 20) & 0x1) == 0)
4136 {
4137 /* 33222222222211111111110000000000
4138 10987654321098765432109876543210
4139 xxxxxxxxxx000000000101xx01111xxx
4140 fcvtps. */
4141 return 608;
4142 }
4143 else
4144 {
4145 /* 33222222222211111111110000000000
4146 10987654321098765432109876543210
4147 xxxxxxxxxx000000000111xx01111xxx
4148 fcvtzs. */
4149 return 612;
4150 }
4151 }
4152 }
4153 else
4154 {
4155 /* 33222222222211111111110000000000
4156 10987654321098765432109876543210
4157 xxxxxxxxxx000000001xx1xx01111xxx
4158 fcvtas. */
4159 return 604;
4160 }
4161 }
4162 else
4163 {
4164 if (((word >> 18) & 0x1) == 0)
4165 {
4166 /* 33222222222211111111110000000000
4167 10987654321098765432109876543210
4168 xxxxxxxxxx000000010xx1xx01111xxx
4169 scvtf. */
4170 return 602;
4171 }
4172 else
4173 {
4174 if (((word >> 19) & 0x1) == 0)
4175 {
4176 /* 33222222222211111111110000000000
4177 10987654321098765432109876543210
4178 xxxxxxxxxx0000000110x1xx01111xxx
4179 fmov. */
4180 return 606;
4181 }
4182 else
4183 {
4184 /* 33222222222211111111110000000000
4185 10987654321098765432109876543210
4186 xxxxxxxxxx0000000111x1xx01111xxx
4187 fmov. */
4188 return 614;
4189 }
4190 }
4191 }
4192 }
4193 else
4194 {
4195 if (((word >> 17) & 0x1) == 0)
4196 {
4197 if (((word >> 18) & 0x1) == 0)
4198 {
4199 if (((word >> 19) & 0x1) == 0)
4200 {
4201 if (((word >> 20) & 0x1) == 0)
4202 {
4203 /* 33222222222211111111110000000000
4204 10987654321098765432109876543210
4205 xxxxxxxxxx000000100001xx01111xxx
4206 fcvtnu. */
4207 return 601;
4208 }
4209 else
4210 {
4211 /* 33222222222211111111110000000000
4212 10987654321098765432109876543210
4213 xxxxxxxxxx000000100011xx01111xxx
4214 fcvtmu. */
4215 return 611;
4216 }
4217 }
4218 else
4219 {
4220 if (((word >> 20) & 0x1) == 0)
4221 {
4222 /* 33222222222211111111110000000000
4223 10987654321098765432109876543210
4224 xxxxxxxxxx000000100101xx01111xxx
4225 fcvtpu. */
4226 return 609;
4227 }
4228 else
4229 {
4230 /* 33222222222211111111110000000000
4231 10987654321098765432109876543210
4232 xxxxxxxxxx000000100111xx01111xxx
4233 fcvtzu. */
4234 return 613;
4235 }
4236 }
4237 }
4238 else
4239 {
4240 /* 33222222222211111111110000000000
4241 10987654321098765432109876543210
4242 xxxxxxxxxx000000101xx1xx01111xxx
4243 fcvtau. */
4244 return 605;
4245 }
4246 }
4247 else
4248 {
4249 if (((word >> 18) & 0x1) == 0)
4250 {
4251 /* 33222222222211111111110000000000
4252 10987654321098765432109876543210
4253 xxxxxxxxxx000000110xx1xx01111xxx
4254 ucvtf. */
4255 return 603;
4256 }
4257 else
4258 {
4259 if (((word >> 19) & 0x1) == 0)
4260 {
4261 /* 33222222222211111111110000000000
4262 10987654321098765432109876543210
4263 xxxxxxxxxx0000001110x1xx01111xxx
4264 fmov. */
4265 return 607;
4266 }
4267 else
4268 {
4269 /* 33222222222211111111110000000000
4270 10987654321098765432109876543210
4271 xxxxxxxxxx0000001111x1xx01111xxx
4272 fmov. */
4273 return 615;
4274 }
4275 }
4276 }
4277 }
4278 }
4279 }
4280 else
4281 {
4282 if (((word >> 29) & 0x1) == 0)
4283 {
4284 if (((word >> 30) & 0x1) == 0)
4285 {
4286 /* 33222222222211111111110000000000
4287 10987654321098765432109876543210
4288 xxxxxxxxxx000001xxxxx1xx0111x00x
4289 smlal. */
4290 return 54;
4291 }
4292 else
4293 {
4294 /* 33222222222211111111110000000000
4295 10987654321098765432109876543210
4296 xxxxxxxxxx000001xxxxx1xx0111x01x
4297 smlal2. */
4298 return 55;
4299 }
4300 }
4301 else
4302 {
4303 if (((word >> 30) & 0x1) == 0)
4304 {
4305 /* 33222222222211111111110000000000
4306 10987654321098765432109876543210
4307 xxxxxxxxxx000001xxxxx1xx0111x10x
4308 umlal. */
4309 return 86;
4310 }
4311 else
4312 {
4313 /* 33222222222211111111110000000000
4314 10987654321098765432109876543210
4315 xxxxxxxxxx000001xxxxx1xx0111x11x
4316 umlal2. */
4317 return 87;
4318 }
4319 }
4320 }
4321 }
4322 else
4323 {
4324 if (((word >> 28) & 0x1) == 0)
4325 {
4326 if (((word >> 15) & 0x1) == 0)
4327 {
4328 if (((word >> 29) & 0x1) == 0)
4329 {
4330 if (((word >> 30) & 0x1) == 0)
4331 {
4332 /* 33222222222211111111110000000000
4333 10987654321098765432109876543210
4334 xxxxxxxxxx000010xxxxx1xx0111000x
4335 addhn. */
4336 return 46;
4337 }
4338 else
4339 {
4340 /* 33222222222211111111110000000000
4341 10987654321098765432109876543210
4342 xxxxxxxxxx000010xxxxx1xx0111001x
4343 addhn2. */
4344 return 47;
4345 }
4346 }
4347 else
4348 {
4349 if (((word >> 30) & 0x1) == 0)
4350 {
4351 /* 33222222222211111111110000000000
4352 10987654321098765432109876543210
4353 xxxxxxxxxx000010xxxxx1xx0111010x
4354 raddhn. */
4355 return 78;
4356 }
4357 else
4358 {
4359 /* 33222222222211111111110000000000
4360 10987654321098765432109876543210
4361 xxxxxxxxxx000010xxxxx1xx0111011x
4362 raddhn2. */
4363 return 79;
4364 }
4365 }
4366 }
4367 else
4368 {
4369 if (((word >> 29) & 0x1) == 0)
4370 {
4371 if (((word >> 30) & 0x1) == 0)
4372 {
4373 /* 33222222222211111111110000000000
4374 10987654321098765432109876543210
4375 xxxxxxxxxx000011xxxxx1xx0111000x
4376 smull. */
4377 return 62;
4378 }
4379 else
4380 {
4381 /* 33222222222211111111110000000000
4382 10987654321098765432109876543210
4383 xxxxxxxxxx000011xxxxx1xx0111001x
4384 smull2. */
4385 return 63;
4386 }
4387 }
4388 else
4389 {
4390 if (((word >> 30) & 0x1) == 0)
4391 {
4392 /* 33222222222211111111110000000000
4393 10987654321098765432109876543210
4394 xxxxxxxxxx000011xxxxx1xx0111010x
4395 umull. */
4396 return 90;
4397 }
4398 else
4399 {
4400 /* 33222222222211111111110000000000
4401 10987654321098765432109876543210
4402 xxxxxxxxxx000011xxxxx1xx0111011x
4403 umull2. */
4404 return 91;
4405 }
4406 }
4407 }
4408 }
4409 else
4410 {
4411 if (((word >> 17) & 0x1) == 0)
4412 {
4413 if (((word >> 15) & 0x1) == 0)
4414 {
4415 if (((word >> 16) & 0x1) == 0)
4416 {
4417 if (((word >> 18) & 0x1) == 0)
4418 {
4419 /* 33222222222211111111110000000000
4420 10987654321098765432109876543210
4421 xxxxxxxxxx000010000xx1xx01111xxx
4422 fmov. */
4423 return 622;
4424 }
4425 else
4426 {
4427 /* 33222222222211111111110000000000
4428 10987654321098765432109876543210
4429 xxxxxxxxxx000010001xx1xx01111xxx
4430 frintn. */
4431 return 627;
4432 }
4433 }
4434 else
4435 {
4436 if (((word >> 18) & 0x1) == 0)
4437 {
4438 /* 33222222222211111111110000000000
4439 10987654321098765432109876543210
4440 xxxxxxxxxx000010100xx1xx01111xxx
4441 fneg. */
4442 return 624;
4443 }
4444 else
4445 {
4446 /* 33222222222211111111110000000000
4447 10987654321098765432109876543210
4448 xxxxxxxxxx000010101xx1xx01111xxx
4449 frintm. */
4450 return 629;
4451 }
4452 }
4453 }
4454 else
4455 {
4456 if (((word >> 16) & 0x1) == 0)
4457 {
4458 if (((word >> 18) & 0x1) == 0)
4459 {
4460 /* 33222222222211111111110000000000
4461 10987654321098765432109876543210
4462 xxxxxxxxxx000011000xx1xx01111xxx
4463 fabs. */
4464 return 623;
4465 }
4466 else
4467 {
4468 /* 33222222222211111111110000000000
4469 10987654321098765432109876543210
4470 xxxxxxxxxx000011001xx1xx01111xxx
4471 frintp. */
4472 return 628;
4473 }
4474 }
4475 else
4476 {
4477 if (((word >> 18) & 0x1) == 0)
4478 {
4479 /* 33222222222211111111110000000000
4480 10987654321098765432109876543210
4481 xxxxxxxxxx000011100xx1xx01111xxx
4482 fsqrt. */
4483 return 625;
4484 }
4485 else
4486 {
4487 /* 33222222222211111111110000000000
4488 10987654321098765432109876543210
4489 xxxxxxxxxx000011101xx1xx01111xxx
4490 frintz. */
4491 return 630;
4492 }
4493 }
4494 }
4495 }
4496 else
4497 {
4498 if (((word >> 18) & 0x1) == 0)
4499 {
4500 /* 33222222222211111111110000000000
4501 10987654321098765432109876543210
4502 xxxxxxxxxx00001xx10xx1xx01111xxx
4503 fcvt. */
4504 return 626;
4505 }
4506 else
4507 {
4508 if (((word >> 15) & 0x1) == 0)
4509 {
4510 if (((word >> 16) & 0x1) == 0)
4511 {
4512 /* 33222222222211111111110000000000
4513 10987654321098765432109876543210
4514 xxxxxxxxxx000010011xx1xx01111xxx
4515 frinta. */
4516 return 631;
4517 }
4518 else
4519 {
4520 /* 33222222222211111111110000000000
4521 10987654321098765432109876543210
4522 xxxxxxxxxx000010111xx1xx01111xxx
4523 frintx. */
4524 return 632;
4525 }
4526 }
4527 else
4528 {
4529 /* 33222222222211111111110000000000
4530 10987654321098765432109876543210
4531 xxxxxxxxxx000011x11xx1xx01111xxx
4532 frinti. */
4533 return 633;
4534 }
4535 }
4536 }
4537 }
4538 }
4539 }
4540 else
4541 {
4542 if (((word >> 14) & 0x1) == 0)
4543 {
4544 if (((word >> 15) & 0x1) == 0)
4545 {
4546 if (((word >> 28) & 0x1) == 0)
4547 {
4548 if (((word >> 29) & 0x1) == 0)
4549 {
4550 if (((word >> 30) & 0x1) == 0)
4551 {
4552 /* 33222222222211111111110000000000
4553 10987654321098765432109876543210
4554 xxxxxxxxxx000100xxxxx1xx0111000x
4555 ssubl. */
4556 return 42;
4557 }
4558 else
4559 {
4560 /* 33222222222211111111110000000000
4561 10987654321098765432109876543210
4562 xxxxxxxxxx000100xxxxx1xx0111001x
4563 ssubl2. */
4564 return 43;
4565 }
4566 }
4567 else
4568 {
4569 if (((word >> 30) & 0x1) == 0)
4570 {
4571 /* 33222222222211111111110000000000
4572 10987654321098765432109876543210
4573 xxxxxxxxxx000100xxxxx1xx0111010x
4574 usubl. */
4575 return 74;
4576 }
4577 else
4578 {
4579 /* 33222222222211111111110000000000
4580 10987654321098765432109876543210
4581 xxxxxxxxxx000100xxxxx1xx0111011x
4582 usubl2. */
4583 return 75;
4584 }
4585 }
4586 }
4587 else
4588 {
4589 if (((word >> 3) & 0x1) == 0)
4590 {
4591 if (((word >> 4) & 0x1) == 0)
4592 {
4593 /* 33222222222211111111110000000000
4594 10987654321098765432109876543210
4595 xxx00xxxxx000100xxxxx1xx01111xxx
4596 fcmp. */
4597 return 618;
4598 }
4599 else
4600 {
4601 /* 33222222222211111111110000000000
4602 10987654321098765432109876543210
4603 xxx01xxxxx000100xxxxx1xx01111xxx
4604 fcmpe. */
4605 return 619;
4606 }
4607 }
4608 else
4609 {
4610 if (((word >> 4) & 0x1) == 0)
4611 {
4612 /* 33222222222211111111110000000000
4613 10987654321098765432109876543210
4614 xxx10xxxxx000100xxxxx1xx01111xxx
4615 fcmp. */
4616 return 620;
4617 }
4618 else
4619 {
4620 /* 33222222222211111111110000000000
4621 10987654321098765432109876543210
4622 xxx11xxxxx000100xxxxx1xx01111xxx
4623 fcmpe. */
4624 return 621;
4625 }
4626 }
4627 }
4628 }
4629 else
4630 {
4631 if (((word >> 29) & 0x1) == 0)
4632 {
4633 if (((word >> 30) & 0x1) == 0)
4634 {
4635 /* 33222222222211111111110000000000
4636 10987654321098765432109876543210
4637 xxxxxxxxxx000101xxxxx1xx0111x00x
4638 smlsl. */
4639 return 58;
4640 }
4641 else
4642 {
4643 /* 33222222222211111111110000000000
4644 10987654321098765432109876543210
4645 xxxxxxxxxx000101xxxxx1xx0111x01x
4646 smlsl2. */
4647 return 59;
4648 }
4649 }
4650 else
4651 {
4652 if (((word >> 30) & 0x1) == 0)
4653 {
4654 /* 33222222222211111111110000000000
4655 10987654321098765432109876543210
4656 xxxxxxxxxx000101xxxxx1xx0111x10x
4657 umlsl. */
4658 return 88;
4659 }
4660 else
4661 {
4662 /* 33222222222211111111110000000000
4663 10987654321098765432109876543210
4664 xxxxxxxxxx000101xxxxx1xx0111x11x
4665 umlsl2. */
4666 return 89;
4667 }
4668 }
4669 }
4670 }
4671 else
4672 {
4673 if (((word >> 15) & 0x1) == 0)
4674 {
4675 if (((word >> 29) & 0x1) == 0)
4676 {
4677 if (((word >> 30) & 0x1) == 0)
4678 {
4679 /* 33222222222211111111110000000000
4680 10987654321098765432109876543210
4681 xxxxxxxxxx000110xxxxx1xx0111x00x
4682 subhn. */
4683 return 50;
4684 }
4685 else
4686 {
4687 /* 33222222222211111111110000000000
4688 10987654321098765432109876543210
4689 xxxxxxxxxx000110xxxxx1xx0111x01x
4690 subhn2. */
4691 return 51;
4692 }
4693 }
4694 else
4695 {
4696 if (((word >> 30) & 0x1) == 0)
4697 {
4698 /* 33222222222211111111110000000000
4699 10987654321098765432109876543210
4700 xxxxxxxxxx000110xxxxx1xx0111x10x
4701 rsubhn. */
4702 return 82;
4703 }
4704 else
4705 {
4706 /* 33222222222211111111110000000000
4707 10987654321098765432109876543210
4708 xxxxxxxxxx000110xxxxx1xx0111x11x
4709 rsubhn2. */
4710 return 83;
4711 }
4712 }
4713 }
4714 else
4715 {
4716 if (((word >> 22) & 0x1) == 0)
4717 {
4718 if (((word >> 30) & 0x1) == 0)
4719 {
4720 /* 33222222222211111111110000000000
4721 10987654321098765432109876543210
4722 xxxxxxxxxx000111xxxxx10x0111xx0x
4723 pmull. */
4724 return 66;
4725 }
4726 else
4727 {
4728 /* 33222222222211111111110000000000
4729 10987654321098765432109876543210
4730 xxxxxxxxxx000111xxxxx10x0111xx1x
4731 pmull2. */
4732 return 68;
4733 }
4734 }
4735 else
4736 {
4737 if (((word >> 30) & 0x1) == 0)
4738 {
4739 /* 33222222222211111111110000000000
4740 10987654321098765432109876543210
4741 xxxxxxxxxx000111xxxxx11x0111xx0x
4742 pmull. */
4743 return 67;
4744 }
4745 else
4746 {
4747 /* 33222222222211111111110000000000
4748 10987654321098765432109876543210
4749 xxxxxxxxxx000111xxxxx11x0111xx1x
4750 pmull2. */
4751 return 69;
4752 }
4753 }
4754 }
4755 }
4756 }
4757 }
4758 else
4759 {
4760 if (((word >> 28) & 0x1) == 0)
4761 {
4762 if (((word >> 13) & 0x1) == 0)
4763 {
4764 if (((word >> 14) & 0x1) == 0)
4765 {
4766 if (((word >> 15) & 0x1) == 0)
4767 {
4768 if (((word >> 29) & 0x1) == 0)
4769 {
4770 if (((word >> 30) & 0x1) == 0)
4771 {
4772 /* 33222222222211111111110000000000
4773 10987654321098765432109876543210
4774 xxxxxxxxxx001000xxxxx1xx0111000x
4775 saddw. */
4776 return 40;
4777 }
4778 else
4779 {
4780 /* 33222222222211111111110000000000
4781 10987654321098765432109876543210
4782 xxxxxxxxxx001000xxxxx1xx0111001x
4783 saddw2. */
4784 return 41;
4785 }
4786 }
4787 else
4788 {
4789 if (((word >> 30) & 0x1) == 0)
4790 {
4791 /* 33222222222211111111110000000000
4792 10987654321098765432109876543210
4793 xxxxxxxxxx001000xxxxx1xx0111010x
4794 uaddw. */
4795 return 72;
4796 }
4797 else
4798 {
4799 /* 33222222222211111111110000000000
4800 10987654321098765432109876543210
4801 xxxxxxxxxx001000xxxxx1xx0111011x
4802 uaddw2. */
4803 return 73;
4804 }
4805 }
4806 }
4807 else
4808 {
4809 if (((word >> 30) & 0x1) == 0)
4810 {
4811 /* 33222222222211111111110000000000
4812 10987654321098765432109876543210
4813 xxxxxxxxxx001001xxxxx1xx01110x0x
4814 sqdmlal. */
4815 return 56;
4816 }
4817 else
4818 {
4819 /* 33222222222211111111110000000000
4820 10987654321098765432109876543210
4821 xxxxxxxxxx001001xxxxx1xx01110x1x
4822 sqdmlal2. */
4823 return 57;
4824 }
4825 }
4826 }
4827 else
4828 {
4829 if (((word >> 15) & 0x1) == 0)
4830 {
4831 if (((word >> 29) & 0x1) == 0)
4832 {
4833 if (((word >> 30) & 0x1) == 0)
4834 {
4835 /* 33222222222211111111110000000000
4836 10987654321098765432109876543210
4837 xxxxxxxxxx001010xxxxx1xx0111000x
4838 sabal. */
4839 return 48;
4840 }
4841 else
4842 {
4843 /* 33222222222211111111110000000000
4844 10987654321098765432109876543210
4845 xxxxxxxxxx001010xxxxx1xx0111001x
4846 sabal2. */
4847 return 49;
4848 }
4849 }
4850 else
4851 {
4852 if (((word >> 30) & 0x1) == 0)
4853 {
4854 /* 33222222222211111111110000000000
4855 10987654321098765432109876543210
4856 xxxxxxxxxx001010xxxxx1xx0111010x
4857 uabal. */
4858 return 80;
4859 }
4860 else
4861 {
4862 /* 33222222222211111111110000000000
4863 10987654321098765432109876543210
4864 xxxxxxxxxx001010xxxxx1xx0111011x
4865 uabal2. */
4866 return 81;
4867 }
4868 }
4869 }
4870 else
4871 {
4872 if (((word >> 30) & 0x1) == 0)
4873 {
4874 /* 33222222222211111111110000000000
4875 10987654321098765432109876543210
4876 xxxxxxxxxx001011xxxxx1xx01110x0x
4877 sqdmull. */
4878 return 64;
4879 }
4880 else
4881 {
4882 /* 33222222222211111111110000000000
4883 10987654321098765432109876543210
4884 xxxxxxxxxx001011xxxxx1xx01110x1x
4885 sqdmull2. */
4886 return 65;
4887 }
4888 }
4889 }
4890 }
4891 else
4892 {
4893 if (((word >> 14) & 0x1) == 0)
4894 {
4895 if (((word >> 15) & 0x1) == 0)
4896 {
4897 if (((word >> 29) & 0x1) == 0)
4898 {
4899 if (((word >> 30) & 0x1) == 0)
4900 {
4901 /* 33222222222211111111110000000000
4902 10987654321098765432109876543210
4903 xxxxxxxxxx001100xxxxx1xx0111000x
4904 ssubw. */
4905 return 44;
4906 }
4907 else
4908 {
4909 /* 33222222222211111111110000000000
4910 10987654321098765432109876543210
4911 xxxxxxxxxx001100xxxxx1xx0111001x
4912 ssubw2. */
4913 return 45;
4914 }
4915 }
4916 else
4917 {
4918 if (((word >> 30) & 0x1) == 0)
4919 {
4920 /* 33222222222211111111110000000000
4921 10987654321098765432109876543210
4922 xxxxxxxxxx001100xxxxx1xx0111010x
4923 usubw. */
4924 return 76;
4925 }
4926 else
4927 {
4928 /* 33222222222211111111110000000000
4929 10987654321098765432109876543210
4930 xxxxxxxxxx001100xxxxx1xx0111011x
4931 usubw2. */
4932 return 77;
4933 }
4934 }
4935 }
4936 else
4937 {
4938 if (((word >> 30) & 0x1) == 0)
4939 {
4940 /* 33222222222211111111110000000000
4941 10987654321098765432109876543210
4942 xxxxxxxxxx001101xxxxx1xx01110x0x
4943 sqdmlsl. */
4944 return 60;
4945 }
4946 else
4947 {
4948 /* 33222222222211111111110000000000
4949 10987654321098765432109876543210
4950 xxxxxxxxxx001101xxxxx1xx01110x1x
4951 sqdmlsl2. */
4952 return 61;
4953 }
4954 }
4955 }
4956 else
4957 {
4958 if (((word >> 29) & 0x1) == 0)
4959 {
4960 if (((word >> 30) & 0x1) == 0)
4961 {
4962 /* 33222222222211111111110000000000
4963 10987654321098765432109876543210
4964 xxxxxxxxxx00111xxxxxx1xx0111000x
4965 sabdl. */
4966 return 52;
4967 }
4968 else
4969 {
4970 /* 33222222222211111111110000000000
4971 10987654321098765432109876543210
4972 xxxxxxxxxx00111xxxxxx1xx0111001x
4973 sabdl2. */
4974 return 53;
4975 }
4976 }
4977 else
4978 {
4979 if (((word >> 30) & 0x1) == 0)
4980 {
4981 /* 33222222222211111111110000000000
4982 10987654321098765432109876543210
4983 xxxxxxxxxx00111xxxxxx1xx0111010x
4984 uabdl. */
4985 return 84;
4986 }
4987 else
4988 {
4989 /* 33222222222211111111110000000000
4990 10987654321098765432109876543210
4991 xxxxxxxxxx00111xxxxxx1xx0111011x
4992 uabdl2. */
4993 return 85;
4994 }
4995 }
4996 }
4997 }
4998 }
4999 else
5000 {
5001 if (((word >> 30) & 0x1) == 0)
5002 {
5003 /* 33222222222211111111110000000000
5004 10987654321098765432109876543210
5005 xxxxxxxxxx001xxxxxxxx1xx01111x0x
5006 fmov. */
5007 return 647;
5008 }
5009 else
5010 {
5011 if (((word >> 13) & 0x1) == 0)
5012 {
5013 if (((word >> 14) & 0x1) == 0)
5014 {
5015 /* 33222222222211111111110000000000
5016 10987654321098765432109876543210
5017 xxxxxxxxxx00100xxxxxx1xx01111x1x
5018 sqdmlal. */
5019 return 343;
5020 }
5021 else
5022 {
5023 /* 33222222222211111111110000000000
5024 10987654321098765432109876543210
5025 xxxxxxxxxx00101xxxxxx1xx01111x1x
5026 sqdmull. */
5027 return 345;
5028 }
5029 }
5030 else
5031 {
5032 /* 33222222222211111111110000000000
5033 10987654321098765432109876543210
5034 xxxxxxxxxx0011xxxxxxx1xx01111x1x
5035 sqdmlsl. */
5036 return 344;
5037 }
5038 }
5039 }
5040 }
5041 }
5042 else
5043 {
5044 if (((word >> 12) & 0x1) == 0)
5045 {
5046 if (((word >> 13) & 0x1) == 0)
5047 {
5048 if (((word >> 14) & 0x1) == 0)
5049 {
5050 if (((word >> 15) & 0x1) == 0)
5051 {
5052 if (((word >> 28) & 0x1) == 0)
5053 {
5054 if (((word >> 29) & 0x1) == 0)
5055 {
5056 /* 33222222222211111111110000000000
5057 10987654321098765432109876543210
5058 xxxxxxxxxx010000xxxxx1xx011100xx
5059 rev64. */
5060 return 144;
5061 }
5062 else
5063 {
5064 /* 33222222222211111111110000000000
5065 10987654321098765432109876543210
5066 xxxxxxxxxx010000xxxxx1xx011101xx
5067 rev32. */
5068 return 180;
5069 }
5070 }
5071 else
5072 {
5073 if (((word >> 30) & 0x1) == 0)
5074 {
5075 /* 33222222222211111111110000000000
5076 10987654321098765432109876543210
5077 xxxxxxxxxx010000xxxxx1xx01111x0x
5078 fmul. */
5079 return 634;
5080 }
5081 else
5082 {
5083 /* 33222222222211111111110000000000
5084 10987654321098765432109876543210
5085 xxxxxxxxxx010000xxxxx1xx01111x1x
5086 sha1h. */
5087 return 537;
5088 }
5089 }
5090 }
5091 else
5092 {
5093 if (((word >> 28) & 0x1) == 0)
5094 {
5095 if (((word >> 16) & 0x1) == 0)
5096 {
5097 if (((word >> 29) & 0x1) == 0)
5098 {
5099 /* 33222222222211111111110000000000
5100 10987654321098765432109876543210
5101 xxxxxxxxxx0100010xxxx1xx011100xx
5102 cmgt. */
5103 return 152;
5104 }
5105 else
5106 {
5107 /* 33222222222211111111110000000000
5108 10987654321098765432109876543210
5109 xxxxxxxxxx0100010xxxx1xx011101xx
5110 cmge. */
5111 return 186;
5112 }
5113 }
5114 else
5115 {
5116 if (((word >> 23) & 0x1) == 0)
5117 {
5118 if (((word >> 29) & 0x1) == 0)
5119 {
5120 /* 33222222222211111111110000000000
5121 10987654321098765432109876543210
5122 xxxxxxxxxx0100011xxxx1x0011100xx
5123 frintn. */
5124 return 164;
5125 }
5126 else
5127 {
5128 /* 33222222222211111111110000000000
5129 10987654321098765432109876543210
5130 xxxxxxxxxx0100011xxxx1x0011101xx
5131 frinta. */
5132 return 197;
5133 }
5134 }
5135 else
5136 {
5137 /* 33222222222211111111110000000000
5138 10987654321098765432109876543210
5139 xxxxxxxxxx0100011xxxx1x101110xxx
5140 frintp. */
5141 return 174;
5142 }
5143 }
5144 }
5145 else
5146 {
5147 if (((word >> 29) & 0x1) == 0)
5148 {
5149 if (((word >> 30) & 0x1) == 0)
5150 {
5151 /* 33222222222211111111110000000000
5152 10987654321098765432109876543210
5153 xxxxxxxxxx010001xxxxx1xx0111100x
5154 fnmul. */
5155 return 642;
5156 }
5157 else
5158 {
5159 /* 33222222222211111111110000000000
5160 10987654321098765432109876543210
5161 xxxxxxxxxx010001xxxxx1xx0111101x
5162 cmgt. */
5163 return 397;
5164 }
5165 }
5166 else
5167 {
5168 /* 33222222222211111111110000000000
5169 10987654321098765432109876543210
5170 xxxxxxxxxx010001xxxxx1xx011111xx
5171 cmge. */
5172 return 415;
5173 }
5174 }
5175 }
5176 }
5177 else
5178 {
5179 if (((word >> 15) & 0x1) == 0)
5180 {
5181 if (((word >> 28) & 0x1) == 0)
5182 {
5183 if (((word >> 16) & 0x1) == 0)
5184 {
5185 if (((word >> 19) & 0x1) == 0)
5186 {
5187 if (((word >> 29) & 0x1) == 0)
5188 {
5189 /* 33222222222211111111110000000000
5190 10987654321098765432109876543210
5191 xxxxxxxxxx0100100xx0x1xx011100xx
5192 cls. */
5193 return 148;
5194 }
5195 else
5196 {
5197 /* 33222222222211111111110000000000
5198 10987654321098765432109876543210
5199 xxxxxxxxxx0100100xx0x1xx011101xx
5200 clz. */
5201 return 183;
5202 }
5203 }
5204 else
5205 {
5206 /* 33222222222211111111110000000000
5207 10987654321098765432109876543210
5208 xxxxxxxxxx0100100xx1x1xx01110xxx
5209 aese. */
5210 return 533;
5211 }
5212 }
5213 else
5214 {
5215 if (((word >> 29) & 0x1) == 0)
5216 {
5217 if (((word >> 30) & 0x1) == 0)
5218 {
5219 /* 33222222222211111111110000000000
5220 10987654321098765432109876543210
5221 xxxxxxxxxx0100101xxxx1xx0111000x
5222 sqxtn. */
5223 return 158;
5224 }
5225 else
5226 {
5227 /* 33222222222211111111110000000000
5228 10987654321098765432109876543210
5229 xxxxxxxxxx0100101xxxx1xx0111001x
5230 sqxtn2. */
5231 return 159;
5232 }
5233 }
5234 else
5235 {
5236 if (((word >> 30) & 0x1) == 0)
5237 {
5238 /* 33222222222211111111110000000000
5239 10987654321098765432109876543210
5240 xxxxxxxxxx0100101xxxx1xx0111010x
5241 uqxtn. */
5242 return 193;
5243 }
5244 else
5245 {
5246 /* 33222222222211111111110000000000
5247 10987654321098765432109876543210
5248 xxxxxxxxxx0100101xxxx1xx0111011x
5249 uqxtn2. */
5250 return 194;
5251 }
5252 }
5253 }
5254 }
5255 else
5256 {
5257 if (((word >> 29) & 0x1) == 0)
5258 {
5259 if (((word >> 30) & 0x1) == 0)
5260 {
5261 /* 33222222222211111111110000000000
5262 10987654321098765432109876543210
5263 xxxxxxxxxx010010xxxxx1xx0111100x
5264 fmax. */
5265 return 638;
5266 }
5267 else
5268 {
5269 /* 33222222222211111111110000000000
5270 10987654321098765432109876543210
5271 xxxxxxxxxx010010xxxxx1xx0111101x
5272 sqxtn. */
5273 return 401;
5274 }
5275 }
5276 else
5277 {
5278 /* 33222222222211111111110000000000
5279 10987654321098765432109876543210
5280 xxxxxxxxxx010010xxxxx1xx011111xx
5281 uqxtn. */
5282 return 419;
5283 }
5284 }
5285 }
5286 else
5287 {
5288 if (((word >> 16) & 0x1) == 0)
5289 {
5290 if (((word >> 20) & 0x1) == 0)
5291 {
5292 if (((word >> 28) & 0x1) == 0)
5293 {
5294 if (((word >> 29) & 0x1) == 0)
5295 {
5296 /* 33222222222211111111110000000000
5297 10987654321098765432109876543210
5298 xxxxxxxxxx0100110xxx01xx011100xx
5299 fcmgt. */
5300 return 170;
5301 }
5302 else
5303 {
5304 /* 33222222222211111111110000000000
5305 10987654321098765432109876543210
5306 xxxxxxxxxx0100110xxx01xx011101xx
5307 fcmge. */
5308 return 206;
5309 }
5310 }
5311 else
5312 {
5313 if (((word >> 29) & 0x1) == 0)
5314 {
5315 /* 33222222222211111111110000000000
5316 10987654321098765432109876543210
5317 xxxxxxxxxx0100110xxx01xx011110xx
5318 fcmgt. */
5319 return 406;
5320 }
5321 else
5322 {
5323 /* 33222222222211111111110000000000
5324 10987654321098765432109876543210
5325 xxxxxxxxxx0100110xxx01xx011111xx
5326 fcmge. */
5327 return 425;
5328 }
5329 }
5330 }
5331 else
5332 {
5333 if (((word >> 23) & 0x1) == 0)
5334 {
5335 if (((word >> 28) & 0x1) == 0)
5336 {
5337 /* 33222222222211111111110000000000
5338 10987654321098765432109876543210
5339 xxxxxxxxxx0100110xxx11x001110xxx
5340 fmaxnmv. */
5341 return 34;
5342 }
5343 else
5344 {
5345 /* 33222222222211111111110000000000
5346 10987654321098765432109876543210
5347 xxxxxxxxxx0100110xxx11x001111xxx
5348 fmaxnmp. */
5349 return 433;
5350 }
5351 }
5352 else
5353 {
5354 if (((word >> 28) & 0x1) == 0)
5355 {
5356 /* 33222222222211111111110000000000
5357 10987654321098765432109876543210
5358 xxxxxxxxxx0100110xxx11x101110xxx
5359 fminnmv. */
5360 return 36;
5361 }
5362 else
5363 {
5364 /* 33222222222211111111110000000000
5365 10987654321098765432109876543210
5366 xxxxxxxxxx0100110xxx11x101111xxx
5367 fminnmp. */
5368 return 436;
5369 }
5370 }
5371 }
5372 }
5373 else
5374 {
5375 if (((word >> 23) & 0x1) == 0)
5376 {
5377 if (((word >> 28) & 0x1) == 0)
5378 {
5379 if (((word >> 29) & 0x1) == 0)
5380 {
5381 /* 33222222222211111111110000000000
5382 10987654321098765432109876543210
5383 xxxxxxxxxx0100111xxxx1x0011100xx
5384 fcvtas. */
5385 return 168;
5386 }
5387 else
5388 {
5389 /* 33222222222211111111110000000000
5390 10987654321098765432109876543210
5391 xxxxxxxxxx0100111xxxx1x0011101xx
5392 fcvtau. */
5393 return 201;
5394 }
5395 }
5396 else
5397 {
5398 if (((word >> 29) & 0x1) == 0)
5399 {
5400 /* 33222222222211111111110000000000
5401 10987654321098765432109876543210
5402 xxxxxxxxxx0100111xxxx1x0011110xx
5403 fcvtas. */
5404 return 404;
5405 }
5406 else
5407 {
5408 /* 33222222222211111111110000000000
5409 10987654321098765432109876543210
5410 xxxxxxxxxx0100111xxxx1x0011111xx
5411 fcvtau. */
5412 return 423;
5413 }
5414 }
5415 }
5416 else
5417 {
5418 if (((word >> 29) & 0x1) == 0)
5419 {
5420 /* 33222222222211111111110000000000
5421 10987654321098765432109876543210
5422 xxxxxxxxxx0100111xxxx1x10111x0xx
5423 urecpe. */
5424 return 178;
5425 }
5426 else
5427 {
5428 /* 33222222222211111111110000000000
5429 10987654321098765432109876543210
5430 xxxxxxxxxx0100111xxxx1x10111x1xx
5431 ursqrte. */
5432 return 212;
5433 }
5434 }
5435 }
5436 }
5437 }
5438 }
5439 else
5440 {
5441 if (((word >> 14) & 0x1) == 0)
5442 {
5443 if (((word >> 15) & 0x1) == 0)
5444 {
5445 if (((word >> 28) & 0x1) == 0)
5446 {
5447 if (((word >> 16) & 0x1) == 0)
5448 {
5449 if (((word >> 29) & 0x1) == 0)
5450 {
5451 /* 33222222222211111111110000000000
5452 10987654321098765432109876543210
5453 xxxxxxxxxx0101000xxxx1xx011100xx
5454 saddlp. */
5455 return 146;
5456 }
5457 else
5458 {
5459 /* 33222222222211111111110000000000
5460 10987654321098765432109876543210
5461 xxxxxxxxxx0101000xxxx1xx011101xx
5462 uaddlp. */
5463 return 181;
5464 }
5465 }
5466 else
5467 {
5468 if (((word >> 29) & 0x1) == 0)
5469 {
5470 if (((word >> 30) & 0x1) == 0)
5471 {
5472 /* 33222222222211111111110000000000
5473 10987654321098765432109876543210
5474 xxxxxxxxxx0101001xxxx1xx0111000x
5475 xtn. */
5476 return 156;
5477 }
5478 else
5479 {
5480 /* 33222222222211111111110000000000
5481 10987654321098765432109876543210
5482 xxxxxxxxxx0101001xxxx1xx0111001x
5483 xtn2. */
5484 return 157;
5485 }
5486 }
5487 else
5488 {
5489 if (((word >> 30) & 0x1) == 0)
5490 {
5491 /* 33222222222211111111110000000000
5492 10987654321098765432109876543210
5493 xxxxxxxxxx0101001xxxx1xx0111010x
5494 sqxtun. */
5495 return 189;
5496 }
5497 else
5498 {
5499 /* 33222222222211111111110000000000
5500 10987654321098765432109876543210
5501 xxxxxxxxxx0101001xxxx1xx0111011x
5502 sqxtun2. */
5503 return 190;
5504 }
5505 }
5506 }
5507 }
5508 else
5509 {
5510 if (((word >> 29) & 0x1) == 0)
5511 {
5512 if (((word >> 30) & 0x1) == 0)
5513 {
5514 /* 33222222222211111111110000000000
5515 10987654321098765432109876543210
5516 xxxxxxxxxx010100xxxxx1xx0111100x
5517 fadd. */
5518 return 636;
5519 }
5520 else
5521 {
5522 /* 33222222222211111111110000000000
5523 10987654321098765432109876543210
5524 xxxxxxxxxx010100xxxxx1xx0111101x
5525 sha256su0. */
5526 return 539;
5527 }
5528 }
5529 else
5530 {
5531 /* 33222222222211111111110000000000
5532 10987654321098765432109876543210
5533 xxxxxxxxxx010100xxxxx1xx011111xx
5534 sqxtun. */
5535 return 418;
5536 }
5537 }
5538 }
5539 else
5540 {
5541 if (((word >> 16) & 0x1) == 0)
5542 {
5543 if (((word >> 20) & 0x1) == 0)
5544 {
5545 if (((word >> 28) & 0x1) == 0)
5546 {
5547 /* 33222222222211111111110000000000
5548 10987654321098765432109876543210
5549 xxxxxxxxxx0101010xxx01xx01110xxx
5550 cmlt. */
5551 return 154;
5552 }
5553 else
5554 {
5555 /* 33222222222211111111110000000000
5556 10987654321098765432109876543210
5557 xxxxxxxxxx0101010xxx01xx01111xxx
5558 cmlt. */
5559 return 399;
5560 }
5561 }
5562 else
5563 {
5564 if (((word >> 29) & 0x1) == 0)
5565 {
5566 /* 33222222222211111111110000000000
5567 10987654321098765432109876543210
5568 xxxxxxxxxx0101010xxx11xx0111x0xx
5569 smaxv. */
5570 return 28;
5571 }
5572 else
5573 {
5574 /* 33222222222211111111110000000000
5575 10987654321098765432109876543210
5576 xxxxxxxxxx0101010xxx11xx0111x1xx
5577 umaxv. */
5578 return 32;
5579 }
5580 }
5581 }
5582 else
5583 {
5584 if (((word >> 20) & 0x1) == 0)
5585 {
5586 if (((word >> 23) & 0x1) == 0)
5587 {
5588 if (((word >> 28) & 0x1) == 0)
5589 {
5590 if (((word >> 29) & 0x1) == 0)
5591 {
5592 /* 33222222222211111111110000000000
5593 10987654321098765432109876543210
5594 xxxxxxxxxx0101011xxx01x0011100xx
5595 fcvtns. */
5596 return 166;
5597 }
5598 else
5599 {
5600 /* 33222222222211111111110000000000
5601 10987654321098765432109876543210
5602 xxxxxxxxxx0101011xxx01x0011101xx
5603 fcvtnu. */
5604 return 199;
5605 }
5606 }
5607 else
5608 {
5609 if (((word >> 29) & 0x1) == 0)
5610 {
5611 /* 33222222222211111111110000000000
5612 10987654321098765432109876543210
5613 xxxxxxxxxx0101011xxx01x0011110xx
5614 fcvtns. */
5615 return 402;
5616 }
5617 else
5618 {
5619 /* 33222222222211111111110000000000
5620 10987654321098765432109876543210
5621 xxxxxxxxxx0101011xxx01x0011111xx
5622 fcvtnu. */
5623 return 421;
5624 }
5625 }
5626 }
5627 else
5628 {
5629 if (((word >> 28) & 0x1) == 0)
5630 {
5631 if (((word >> 29) & 0x1) == 0)
5632 {
5633 /* 33222222222211111111110000000000
5634 10987654321098765432109876543210
5635 xxxxxxxxxx0101011xxx01x1011100xx
5636 fcvtps. */
5637 return 176;
5638 }
5639 else
5640 {
5641 /* 33222222222211111111110000000000
5642 10987654321098765432109876543210
5643 xxxxxxxxxx0101011xxx01x1011101xx
5644 fcvtpu. */
5645 return 210;
5646 }
5647 }
5648 else
5649 {
5650 if (((word >> 29) & 0x1) == 0)
5651 {
5652 /* 33222222222211111111110000000000
5653 10987654321098765432109876543210
5654 xxxxxxxxxx0101011xxx01x1011110xx
5655 fcvtps. */
5656 return 409;
5657 }
5658 else
5659 {
5660 /* 33222222222211111111110000000000
5661 10987654321098765432109876543210
5662 xxxxxxxxxx0101011xxx01x1011111xx
5663 fcvtpu. */
5664 return 427;
5665 }
5666 }
5667 }
5668 }
5669 else
5670 {
5671 if (((word >> 29) & 0x1) == 0)
5672 {
5673 /* 33222222222211111111110000000000
5674 10987654321098765432109876543210
5675 xxxxxxxxxx0101011xxx11xx0111x0xx
5676 sminv. */
5677 return 29;
5678 }
5679 else
5680 {
5681 /* 33222222222211111111110000000000
5682 10987654321098765432109876543210
5683 xxxxxxxxxx0101011xxx11xx0111x1xx
5684 uminv. */
5685 return 33;
5686 }
5687 }
5688 }
5689 }
5690 }
5691 else
5692 {
5693 if (((word >> 15) & 0x1) == 0)
5694 {
5695 if (((word >> 28) & 0x1) == 0)
5696 {
5697 if (((word >> 16) & 0x1) == 0)
5698 {
5699 if (((word >> 19) & 0x1) == 0)
5700 {
5701 if (((word >> 29) & 0x1) == 0)
5702 {
5703 /* 33222222222211111111110000000000
5704 10987654321098765432109876543210
5705 xxxxxxxxxx0101100xx0x1xx011100xx
5706 sadalp. */
5707 return 150;
5708 }
5709 else
5710 {
5711 /* 33222222222211111111110000000000
5712 10987654321098765432109876543210
5713 xxxxxxxxxx0101100xx0x1xx011101xx
5714 uadalp. */
5715 return 184;
5716 }
5717 }
5718 else
5719 {
5720 /* 33222222222211111111110000000000
5721 10987654321098765432109876543210
5722 xxxxxxxxxx0101100xx1x1xx01110xxx
5723 aesmc. */
5724 return 535;
5725 }
5726 }
5727 else
5728 {
5729 if (((word >> 29) & 0x1) == 0)
5730 {
5731 if (((word >> 30) & 0x1) == 0)
5732 {
5733 /* 33222222222211111111110000000000
5734 10987654321098765432109876543210
5735 xxxxxxxxxx0101101xxxx1xx0111000x
5736 fcvtn. */
5737 return 160;
5738 }
5739 else
5740 {
5741 /* 33222222222211111111110000000000
5742 10987654321098765432109876543210
5743 xxxxxxxxxx0101101xxxx1xx0111001x
5744 fcvtn2. */
5745 return 161;
5746 }
5747 }
5748 else
5749 {
5750 if (((word >> 30) & 0x1) == 0)
5751 {
5752 /* 33222222222211111111110000000000
5753 10987654321098765432109876543210
5754 xxxxxxxxxx0101101xxxx1xx0111010x
5755 fcvtxn. */
5756 return 195;
5757 }
5758 else
5759 {
5760 /* 33222222222211111111110000000000
5761 10987654321098765432109876543210
5762 xxxxxxxxxx0101101xxxx1xx0111011x
5763 fcvtxn2. */
5764 return 196;
5765 }
5766 }
5767 }
5768 }
5769 else
5770 {
5771 if (((word >> 29) & 0x1) == 0)
5772 {
5773 /* 33222222222211111111110000000000
5774 10987654321098765432109876543210
5775 xxxxxxxxxx010110xxxxx1xx011110xx
5776 fmaxnm. */
5777 return 640;
5778 }
5779 else
5780 {
5781 /* 33222222222211111111110000000000
5782 10987654321098765432109876543210
5783 xxxxxxxxxx010110xxxxx1xx011111xx
5784 fcvtxn. */
5785 return 420;
5786 }
5787 }
5788 }
5789 else
5790 {
5791 if (((word >> 28) & 0x1) == 0)
5792 {
5793 /* 33222222222211111111110000000000
5794 10987654321098765432109876543210
5795 xxxxxxxxxx010111xxxxx1xx01110xxx
5796 fcmlt. */
5797 return 172;
5798 }
5799 else
5800 {
5801 /* 33222222222211111111110000000000
5802 10987654321098765432109876543210
5803 xxxxxxxxxx010111xxxxx1xx01111xxx
5804 fcmlt. */
5805 return 408;
5806 }
5807 }
5808 }
5809 }
5810 }
5811 else
5812 {
5813 if (((word >> 13) & 0x1) == 0)
5814 {
5815 if (((word >> 14) & 0x1) == 0)
5816 {
5817 if (((word >> 15) & 0x1) == 0)
5818 {
5819 if (((word >> 28) & 0x1) == 0)
5820 {
5821 /* 33222222222211111111110000000000
5822 10987654321098765432109876543210
5823 xxxxxxxxxx011000xxxxx1xx01110xxx
5824 rev16. */
5825 return 145;
5826 }
5827 else
5828 {
5829 if (((word >> 30) & 0x1) == 0)
5830 {
5831 /* 33222222222211111111110000000000
5832 10987654321098765432109876543210
5833 xxxxxxxxxx011000xxxxx1xx01111x0x
5834 fdiv. */
5835 return 635;
5836 }
5837 else
5838 {
5839 /* 33222222222211111111110000000000
5840 10987654321098765432109876543210
5841 xxxxxxxxxx011000xxxxx1xx01111x1x
5842 sha1su1. */
5843 return 538;
5844 }
5845 }
5846 }
5847 else
5848 {
5849 if (((word >> 16) & 0x1) == 0)
5850 {
5851 if (((word >> 28) & 0x1) == 0)
5852 {
5853 if (((word >> 29) & 0x1) == 0)
5854 {
5855 /* 33222222222211111111110000000000
5856 10987654321098765432109876543210
5857 xxxxxxxxxx0110010xxxx1xx011100xx
5858 cmeq. */
5859 return 153;
5860 }
5861 else
5862 {
5863 /* 33222222222211111111110000000000
5864 10987654321098765432109876543210
5865 xxxxxxxxxx0110010xxxx1xx011101xx
5866 cmle. */
5867 return 187;
5868 }
5869 }
5870 else
5871 {
5872 if (((word >> 29) & 0x1) == 0)
5873 {
5874 /* 33222222222211111111110000000000
5875 10987654321098765432109876543210
5876 xxxxxxxxxx0110010xxxx1xx011110xx
5877 cmeq. */
5878 return 398;
5879 }
5880 else
5881 {
5882 /* 33222222222211111111110000000000
5883 10987654321098765432109876543210
5884 xxxxxxxxxx0110010xxxx1xx011111xx
5885 cmle. */
5886 return 416;
5887 }
5888 }
5889 }
5890 else
5891 {
5892 if (((word >> 23) & 0x1) == 0)
5893 {
5894 if (((word >> 29) & 0x1) == 0)
5895 {
5896 /* 33222222222211111111110000000000
5897 10987654321098765432109876543210
5898 xxxxxxxxxx0110011xxxx1x00111x0xx
5899 frintm. */
5900 return 165;
5901 }
5902 else
5903 {
5904 /* 33222222222211111111110000000000
5905 10987654321098765432109876543210
5906 xxxxxxxxxx0110011xxxx1x00111x1xx
5907 frintx. */
5908 return 198;
5909 }
5910 }
5911 else
5912 {
5913 if (((word >> 29) & 0x1) == 0)
5914 {
5915 /* 33222222222211111111110000000000
5916 10987654321098765432109876543210
5917 xxxxxxxxxx0110011xxxx1x10111x0xx
5918 frintz. */
5919 return 175;
5920 }
5921 else
5922 {
5923 /* 33222222222211111111110000000000
5924 10987654321098765432109876543210
5925 xxxxxxxxxx0110011xxxx1x10111x1xx
5926 frinti. */
5927 return 209;
5928 }
5929 }
5930 }
5931 }
5932 }
5933 else
5934 {
5935 if (((word >> 15) & 0x1) == 0)
5936 {
5937 if (((word >> 28) & 0x1) == 0)
5938 {
5939 if (((word >> 19) & 0x1) == 0)
5940 {
5941 if (((word >> 29) & 0x1) == 0)
5942 {
5943 /* 33222222222211111111110000000000
5944 10987654321098765432109876543210
5945 xxxxxxxxxx011010xxx0x1xx011100xx
5946 cnt. */
5947 return 149;
5948 }
5949 else
5950 {
5951 if (((word >> 22) & 0x1) == 0)
5952 {
5953 /* 33222222222211111111110000000000
5954 10987654321098765432109876543210
5955 xxxxxxxxxx011010xxx0x10x011101xx
5956 not. */
5957 return 203;
5958 }
5959 else
5960 {
5961 /* 33222222222211111111110000000000
5962 10987654321098765432109876543210
5963 xxxxxxxxxx011010xxx0x11x011101xx
5964 rbit. */
5965 return 205;
5966 }
5967 }
5968 }
5969 else
5970 {
5971 /* 33222222222211111111110000000000
5972 10987654321098765432109876543210
5973 xxxxxxxxxx011010xxx1x1xx01110xxx
5974 aesd. */
5975 return 534;
5976 }
5977 }
5978 else
5979 {
5980 /* 33222222222211111111110000000000
5981 10987654321098765432109876543210
5982 xxxxxxxxxx011010xxxxx1xx01111xxx
5983 fmin. */
5984 return 639;
5985 }
5986 }
5987 else
5988 {
5989 if (((word >> 16) & 0x1) == 0)
5990 {
5991 if (((word >> 20) & 0x1) == 0)
5992 {
5993 if (((word >> 28) & 0x1) == 0)
5994 {
5995 if (((word >> 29) & 0x1) == 0)
5996 {
5997 /* 33222222222211111111110000000000
5998 10987654321098765432109876543210
5999 xxxxxxxxxx0110110xxx01xx011100xx
6000 fcmeq. */
6001 return 171;
6002 }
6003 else
6004 {
6005 /* 33222222222211111111110000000000
6006 10987654321098765432109876543210
6007 xxxxxxxxxx0110110xxx01xx011101xx
6008 fcmle. */
6009 return 207;
6010 }
6011 }
6012 else
6013 {
6014 if (((word >> 29) & 0x1) == 0)
6015 {
6016 /* 33222222222211111111110000000000
6017 10987654321098765432109876543210
6018 xxxxxxxxxx0110110xxx01xx011110xx
6019 fcmeq. */
6020 return 407;
6021 }
6022 else
6023 {
6024 /* 33222222222211111111110000000000
6025 10987654321098765432109876543210
6026 xxxxxxxxxx0110110xxx01xx011111xx
6027 fcmle. */
6028 return 426;
6029 }
6030 }
6031 }
6032 else
6033 {
6034 /* 33222222222211111111110000000000
6035 10987654321098765432109876543210
6036 xxxxxxxxxx0110110xxx11xx0111xxxx
6037 faddp. */
6038 return 434;
6039 }
6040 }
6041 else
6042 {
6043 if (((word >> 23) & 0x1) == 0)
6044 {
6045 if (((word >> 28) & 0x1) == 0)
6046 {
6047 if (((word >> 29) & 0x1) == 0)
6048 {
6049 /* 33222222222211111111110000000000
6050 10987654321098765432109876543210
6051 xxxxxxxxxx0110111xxxx1x0011100xx
6052 scvtf. */
6053 return 169;
6054 }
6055 else
6056 {
6057 /* 33222222222211111111110000000000
6058 10987654321098765432109876543210
6059 xxxxxxxxxx0110111xxxx1x0011101xx
6060 ucvtf. */
6061 return 202;
6062 }
6063 }
6064 else
6065 {
6066 if (((word >> 29) & 0x1) == 0)
6067 {
6068 /* 33222222222211111111110000000000
6069 10987654321098765432109876543210
6070 xxxxxxxxxx0110111xxxx1x0011110xx
6071 scvtf. */
6072 return 405;
6073 }
6074 else
6075 {
6076 /* 33222222222211111111110000000000
6077 10987654321098765432109876543210
6078 xxxxxxxxxx0110111xxxx1x0011111xx
6079 ucvtf. */
6080 return 424;
6081 }
6082 }
6083 }
6084 else
6085 {
6086 if (((word >> 28) & 0x1) == 0)
6087 {
6088 if (((word >> 29) & 0x1) == 0)
6089 {
6090 /* 33222222222211111111110000000000
6091 10987654321098765432109876543210
6092 xxxxxxxxxx0110111xxxx1x1011100xx
6093 frecpe. */
6094 return 179;
6095 }
6096 else
6097 {
6098 /* 33222222222211111111110000000000
6099 10987654321098765432109876543210
6100 xxxxxxxxxx0110111xxxx1x1011101xx
6101 frsqrte. */
6102 return 213;
6103 }
6104 }
6105 else
6106 {
6107 if (((word >> 29) & 0x1) == 0)
6108 {
6109 /* 33222222222211111111110000000000
6110 10987654321098765432109876543210
6111 xxxxxxxxxx0110111xxxx1x1011110xx
6112 frecpe. */
6113 return 411;
6114 }
6115 else
6116 {
6117 /* 33222222222211111111110000000000
6118 10987654321098765432109876543210
6119 xxxxxxxxxx0110111xxxx1x1011111xx
6120 frsqrte. */
6121 return 429;
6122 }
6123 }
6124 }
6125 }
6126 }
6127 }
6128 }
6129 else
6130 {
6131 if (((word >> 14) & 0x1) == 0)
6132 {
6133 if (((word >> 15) & 0x1) == 0)
6134 {
6135 if (((word >> 28) & 0x1) == 0)
6136 {
6137 if (((word >> 16) & 0x1) == 0)
6138 {
6139 if (((word >> 20) & 0x1) == 0)
6140 {
6141 if (((word >> 29) & 0x1) == 0)
6142 {
6143 /* 33222222222211111111110000000000
6144 10987654321098765432109876543210
6145 xxxxxxxxxx0111000xxx01xx011100xx
6146 suqadd. */
6147 return 147;
6148 }
6149 else
6150 {
6151 /* 33222222222211111111110000000000
6152 10987654321098765432109876543210
6153 xxxxxxxxxx0111000xxx01xx011101xx
6154 usqadd. */
6155 return 182;
6156 }
6157 }
6158 else
6159 {
6160 if (((word >> 29) & 0x1) == 0)
6161 {
6162 /* 33222222222211111111110000000000
6163 10987654321098765432109876543210
6164 xxxxxxxxxx0111000xxx11xx011100xx
6165 saddlv. */
6166 return 27;
6167 }
6168 else
6169 {
6170 /* 33222222222211111111110000000000
6171 10987654321098765432109876543210
6172 xxxxxxxxxx0111000xxx11xx011101xx
6173 uaddlv. */
6174 return 31;
6175 }
6176 }
6177 }
6178 else
6179 {
6180 if (((word >> 30) & 0x1) == 0)
6181 {
6182 /* 33222222222211111111110000000000
6183 10987654321098765432109876543210
6184 xxxxxxxxxx0111001xxxx1xx01110x0x
6185 shll. */
6186 return 191;
6187 }
6188 else
6189 {
6190 /* 33222222222211111111110000000000
6191 10987654321098765432109876543210
6192 xxxxxxxxxx0111001xxxx1xx01110x1x
6193 shll2. */
6194 return 192;
6195 }
6196 }
6197 }
6198 else
6199 {
6200 if (((word >> 29) & 0x1) == 0)
6201 {
6202 if (((word >> 30) & 0x1) == 0)
6203 {
6204 /* 33222222222211111111110000000000
6205 10987654321098765432109876543210
6206 xxxxxxxxxx011100xxxxx1xx0111100x
6207 fsub. */
6208 return 637;
6209 }
6210 else
6211 {
6212 /* 33222222222211111111110000000000
6213 10987654321098765432109876543210
6214 xxxxxxxxxx011100xxxxx1xx0111101x
6215 suqadd. */
6216 return 395;
6217 }
6218 }
6219 else
6220 {
6221 /* 33222222222211111111110000000000
6222 10987654321098765432109876543210
6223 xxxxxxxxxx011100xxxxx1xx011111xx
6224 usqadd. */
6225 return 413;
6226 }
6227 }
6228 }
6229 else
6230 {
6231 if (((word >> 16) & 0x1) == 0)
6232 {
6233 if (((word >> 28) & 0x1) == 0)
6234 {
6235 if (((word >> 29) & 0x1) == 0)
6236 {
6237 /* 33222222222211111111110000000000
6238 10987654321098765432109876543210
6239 xxxxxxxxxx0111010xxxx1xx011100xx
6240 abs. */
6241 return 155;
6242 }
6243 else
6244 {
6245 /* 33222222222211111111110000000000
6246 10987654321098765432109876543210
6247 xxxxxxxxxx0111010xxxx1xx011101xx
6248 neg. */
6249 return 188;
6250 }
6251 }
6252 else
6253 {
6254 if (((word >> 29) & 0x1) == 0)
6255 {
6256 /* 33222222222211111111110000000000
6257 10987654321098765432109876543210
6258 xxxxxxxxxx0111010xxxx1xx011110xx
6259 abs. */
6260 return 400;
6261 }
6262 else
6263 {
6264 /* 33222222222211111111110000000000
6265 10987654321098765432109876543210
6266 xxxxxxxxxx0111010xxxx1xx011111xx
6267 neg. */
6268 return 417;
6269 }
6270 }
6271 }
6272 else
6273 {
6274 if (((word >> 20) & 0x1) == 0)
6275 {
6276 if (((word >> 23) & 0x1) == 0)
6277 {
6278 if (((word >> 28) & 0x1) == 0)
6279 {
6280 if (((word >> 29) & 0x1) == 0)
6281 {
6282 /* 33222222222211111111110000000000
6283 10987654321098765432109876543210
6284 xxxxxxxxxx0111011xxx01x0011100xx
6285 fcvtms. */
6286 return 167;
6287 }
6288 else
6289 {
6290 /* 33222222222211111111110000000000
6291 10987654321098765432109876543210
6292 xxxxxxxxxx0111011xxx01x0011101xx
6293 fcvtmu. */
6294 return 200;
6295 }
6296 }
6297 else
6298 {
6299 if (((word >> 29) & 0x1) == 0)
6300 {
6301 /* 33222222222211111111110000000000
6302 10987654321098765432109876543210
6303 xxxxxxxxxx0111011xxx01x0011110xx
6304 fcvtms. */
6305 return 403;
6306 }
6307 else
6308 {
6309 /* 33222222222211111111110000000000
6310 10987654321098765432109876543210
6311 xxxxxxxxxx0111011xxx01x0011111xx
6312 fcvtmu. */
6313 return 422;
6314 }
6315 }
6316 }
6317 else
6318 {
6319 if (((word >> 28) & 0x1) == 0)
6320 {
6321 if (((word >> 29) & 0x1) == 0)
6322 {
6323 /* 33222222222211111111110000000000
6324 10987654321098765432109876543210
6325 xxxxxxxxxx0111011xxx01x1011100xx
6326 fcvtzs. */
6327 return 177;
6328 }
6329 else
6330 {
6331 /* 33222222222211111111110000000000
6332 10987654321098765432109876543210
6333 xxxxxxxxxx0111011xxx01x1011101xx
6334 fcvtzu. */
6335 return 211;
6336 }
6337 }
6338 else
6339 {
6340 if (((word >> 29) & 0x1) == 0)
6341 {
6342 /* 33222222222211111111110000000000
6343 10987654321098765432109876543210
6344 xxxxxxxxxx0111011xxx01x1011110xx
6345 fcvtzs. */
6346 return 410;
6347 }
6348 else
6349 {
6350 /* 33222222222211111111110000000000
6351 10987654321098765432109876543210
6352 xxxxxxxxxx0111011xxx01x1011111xx
6353 fcvtzu. */
6354 return 428;
6355 }
6356 }
6357 }
6358 }
6359 else
6360 {
6361 if (((word >> 28) & 0x1) == 0)
6362 {
6363 /* 33222222222211111111110000000000
6364 10987654321098765432109876543210
6365 xxxxxxxxxx0111011xxx11xx01110xxx
6366 addv. */
6367 return 30;
6368 }
6369 else
6370 {
6371 /* 33222222222211111111110000000000
6372 10987654321098765432109876543210
6373 xxxxxxxxxx0111011xxx11xx01111xxx
6374 addp. */
6375 return 432;
6376 }
6377 }
6378 }
6379 }
6380 }
6381 else
6382 {
6383 if (((word >> 15) & 0x1) == 0)
6384 {
6385 if (((word >> 28) & 0x1) == 0)
6386 {
6387 if (((word >> 16) & 0x1) == 0)
6388 {
6389 if (((word >> 19) & 0x1) == 0)
6390 {
6391 if (((word >> 29) & 0x1) == 0)
6392 {
6393 /* 33222222222211111111110000000000
6394 10987654321098765432109876543210
6395 xxxxxxxxxx0111100xx0x1xx011100xx
6396 sqabs. */
6397 return 151;
6398 }
6399 else
6400 {
6401 /* 33222222222211111111110000000000
6402 10987654321098765432109876543210
6403 xxxxxxxxxx0111100xx0x1xx011101xx
6404 sqneg. */
6405 return 185;
6406 }
6407 }
6408 else
6409 {
6410 /* 33222222222211111111110000000000
6411 10987654321098765432109876543210
6412 xxxxxxxxxx0111100xx1x1xx01110xxx
6413 aesimc. */
6414 return 536;
6415 }
6416 }
6417 else
6418 {
6419 if (((word >> 30) & 0x1) == 0)
6420 {
6421 /* 33222222222211111111110000000000
6422 10987654321098765432109876543210
6423 xxxxxxxxxx0111101xxxx1xx01110x0x
6424 fcvtl. */
6425 return 162;
6426 }
6427 else
6428 {
6429 /* 33222222222211111111110000000000
6430 10987654321098765432109876543210
6431 xxxxxxxxxx0111101xxxx1xx01110x1x
6432 fcvtl2. */
6433 return 163;
6434 }
6435 }
6436 }
6437 else
6438 {
6439 if (((word >> 29) & 0x1) == 0)
6440 {
6441 if (((word >> 30) & 0x1) == 0)
6442 {
6443 /* 33222222222211111111110000000000
6444 10987654321098765432109876543210
6445 xxxxxxxxxx011110xxxxx1xx0111100x
6446 fminnm. */
6447 return 641;
6448 }
6449 else
6450 {
6451 /* 33222222222211111111110000000000
6452 10987654321098765432109876543210
6453 xxxxxxxxxx011110xxxxx1xx0111101x
6454 sqabs. */
6455 return 396;
6456 }
6457 }
6458 else
6459 {
6460 /* 33222222222211111111110000000000
6461 10987654321098765432109876543210
6462 xxxxxxxxxx011110xxxxx1xx011111xx
6463 sqneg. */
6464 return 414;
6465 }
6466 }
6467 }
6468 else
6469 {
6470 if (((word >> 16) & 0x1) == 0)
6471 {
6472 if (((word >> 20) & 0x1) == 0)
6473 {
6474 if (((word >> 29) & 0x1) == 0)
6475 {
6476 /* 33222222222211111111110000000000
6477 10987654321098765432109876543210
6478 xxxxxxxxxx0111110xxx01xx0111x0xx
6479 fabs. */
6480 return 173;
6481 }
6482 else
6483 {
6484 /* 33222222222211111111110000000000
6485 10987654321098765432109876543210
6486 xxxxxxxxxx0111110xxx01xx0111x1xx
6487 fneg. */
6488 return 208;
6489 }
6490 }
6491 else
6492 {
6493 if (((word >> 23) & 0x1) == 0)
6494 {
6495 if (((word >> 28) & 0x1) == 0)
6496 {
6497 /* 33222222222211111111110000000000
6498 10987654321098765432109876543210
6499 xxxxxxxxxx0111110xxx11x001110xxx
6500 fmaxv. */
6501 return 35;
6502 }
6503 else
6504 {
6505 /* 33222222222211111111110000000000
6506 10987654321098765432109876543210
6507 xxxxxxxxxx0111110xxx11x001111xxx
6508 fmaxp. */
6509 return 435;
6510 }
6511 }
6512 else
6513 {
6514 if (((word >> 28) & 0x1) == 0)
6515 {
6516 /* 33222222222211111111110000000000
6517 10987654321098765432109876543210
6518 xxxxxxxxxx0111110xxx11x101110xxx
6519 fminv. */
6520 return 37;
6521 }
6522 else
6523 {
6524 /* 33222222222211111111110000000000
6525 10987654321098765432109876543210
6526 xxxxxxxxxx0111110xxx11x101111xxx
6527 fminp. */
6528 return 437;
6529 }
6530 }
6531 }
6532 }
6533 else
6534 {
6535 if (((word >> 28) & 0x1) == 0)
6536 {
6537 /* 33222222222211111111110000000000
6538 10987654321098765432109876543210
6539 xxxxxxxxxx0111111xxxx1xx01110xxx
6540 fsqrt. */
6541 return 214;
6542 }
6543 else
6544 {
6545 /* 33222222222211111111110000000000
6546 10987654321098765432109876543210
6547 xxxxxxxxxx0111111xxxx1xx01111xxx
6548 frecpx. */
6549 return 412;
6550 }
6551 }
6552 }
6553 }
6554 }
6555 }
6556 }
6557 }
6558 else
6559 {
6560 if (((word >> 11) & 0x1) == 0)
6561 {
6562 if (((word >> 28) & 0x1) == 0)
6563 {
6564 if (((word >> 12) & 0x1) == 0)
6565 {
6566 if (((word >> 13) & 0x1) == 0)
6567 {
6568 if (((word >> 14) & 0x1) == 0)
6569 {
6570 if (((word >> 15) & 0x1) == 0)
6571 {
6572 if (((word >> 29) & 0x1) == 0)
6573 {
6574 /* 33222222222211111111110000000000
6575 10987654321098765432109876543210
6576 xxxxxxxxxx100000xxxxx1xx011100xx
6577 shadd. */
6578 return 221;
6579 }
6580 else
6581 {
6582 /* 33222222222211111111110000000000
6583 10987654321098765432109876543210
6584 xxxxxxxxxx100000xxxxx1xx011101xx
6585 uhadd. */
6586 return 261;
6587 }
6588 }
6589 else
6590 {
6591 if (((word >> 29) & 0x1) == 0)
6592 {
6593 /* 33222222222211111111110000000000
6594 10987654321098765432109876543210
6595 xxxxxxxxxx100001xxxxx1xx011100xx
6596 add. */
6597 return 236;
6598 }
6599 else
6600 {
6601 /* 33222222222211111111110000000000
6602 10987654321098765432109876543210
6603 xxxxxxxxxx100001xxxxx1xx011101xx
6604 sub. */
6605 return 276;
6606 }
6607 }
6608 }
6609 else
6610 {
6611 if (((word >> 15) & 0x1) == 0)
6612 {
6613 if (((word >> 29) & 0x1) == 0)
6614 {
6615 /* 33222222222211111111110000000000
6616 10987654321098765432109876543210
6617 xxxxxxxxxx100010xxxxx1xx011100xx
6618 sshl. */
6619 return 228;
6620 }
6621 else
6622 {
6623 /* 33222222222211111111110000000000
6624 10987654321098765432109876543210
6625 xxxxxxxxxx100010xxxxx1xx011101xx
6626 ushl. */
6627 return 268;
6628 }
6629 }
6630 else
6631 {
6632 if (((word >> 23) & 0x1) == 0)
6633 {
6634 if (((word >> 29) & 0x1) == 0)
6635 {
6636 /* 33222222222211111111110000000000
6637 10987654321098765432109876543210
6638 xxxxxxxxxx100011xxxxx1x0011100xx
6639 fmaxnm. */
6640 return 244;
6641 }
6642 else
6643 {
6644 /* 33222222222211111111110000000000
6645 10987654321098765432109876543210
6646 xxxxxxxxxx100011xxxxx1x0011101xx
6647 fmaxnmp. */
6648 return 283;
6649 }
6650 }
6651 else
6652 {
6653 if (((word >> 29) & 0x1) == 0)
6654 {
6655 /* 33222222222211111111110000000000
6656 10987654321098765432109876543210
6657 xxxxxxxxxx100011xxxxx1x1011100xx
6658 fminnm. */
6659 return 253;
6660 }
6661 else
6662 {
6663 /* 33222222222211111111110000000000
6664 10987654321098765432109876543210
6665 xxxxxxxxxx100011xxxxx1x1011101xx
6666 fminnmp. */
6667 return 292;
6668 }
6669 }
6670 }
6671 }
6672 }
6673 else
6674 {
6675 if (((word >> 14) & 0x1) == 0)
6676 {
6677 if (((word >> 15) & 0x1) == 0)
6678 {
6679 if (((word >> 29) & 0x1) == 0)
6680 {
6681 /* 33222222222211111111110000000000
6682 10987654321098765432109876543210
6683 xxxxxxxxxx100100xxxxx1xx011100xx
6684 shsub. */
6685 return 224;
6686 }
6687 else
6688 {
6689 /* 33222222222211111111110000000000
6690 10987654321098765432109876543210
6691 xxxxxxxxxx100100xxxxx1xx011101xx
6692 uhsub. */
6693 return 264;
6694 }
6695 }
6696 else
6697 {
6698 if (((word >> 29) & 0x1) == 0)
6699 {
6700 /* 33222222222211111111110000000000
6701 10987654321098765432109876543210
6702 xxxxxxxxxx100101xxxxx1xx011100xx
6703 smaxp. */
6704 return 240;
6705 }
6706 else
6707 {
6708 /* 33222222222211111111110000000000
6709 10987654321098765432109876543210
6710 xxxxxxxxxx100101xxxxx1xx011101xx
6711 umaxp. */
6712 return 280;
6713 }
6714 }
6715 }
6716 else
6717 {
6718 if (((word >> 15) & 0x1) == 0)
6719 {
6720 if (((word >> 29) & 0x1) == 0)
6721 {
6722 /* 33222222222211111111110000000000
6723 10987654321098765432109876543210
6724 xxxxxxxxxx100110xxxxx1xx011100xx
6725 smax. */
6726 return 232;
6727 }
6728 else
6729 {
6730 /* 33222222222211111111110000000000
6731 10987654321098765432109876543210
6732 xxxxxxxxxx100110xxxxx1xx011101xx
6733 umax. */
6734 return 272;
6735 }
6736 }
6737 else
6738 {
6739 if (((word >> 23) & 0x1) == 0)
6740 {
6741 if (((word >> 29) & 0x1) == 0)
6742 {
6743 /* 33222222222211111111110000000000
6744 10987654321098765432109876543210
6745 xxxxxxxxxx100111xxxxx1x0011100xx
6746 fcmeq. */
6747 return 248;
6748 }
6749 else
6750 {
6751 /* 33222222222211111111110000000000
6752 10987654321098765432109876543210
6753 xxxxxxxxxx100111xxxxx1x0011101xx
6754 fcmge. */
6755 return 286;
6756 }
6757 }
6758 else
6759 {
6760 /* 33222222222211111111110000000000
6761 10987654321098765432109876543210
6762 xxxxxxxxxx100111xxxxx1x101110xxx
6763 fcmgt. */
6764 return 294;
6765 }
6766 }
6767 }
6768 }
6769 }
6770 else
6771 {
6772 if (((word >> 13) & 0x1) == 0)
6773 {
6774 if (((word >> 14) & 0x1) == 0)
6775 {
6776 if (((word >> 15) & 0x1) == 0)
6777 {
6778 if (((word >> 29) & 0x1) == 0)
6779 {
6780 /* 33222222222211111111110000000000
6781 10987654321098765432109876543210
6782 xxxxxxxxxx101000xxxxx1xx011100xx
6783 srhadd. */
6784 return 223;
6785 }
6786 else
6787 {
6788 /* 33222222222211111111110000000000
6789 10987654321098765432109876543210
6790 xxxxxxxxxx101000xxxxx1xx011101xx
6791 urhadd. */
6792 return 263;
6793 }
6794 }
6795 else
6796 {
6797 if (((word >> 29) & 0x1) == 0)
6798 {
6799 /* 33222222222211111111110000000000
6800 10987654321098765432109876543210
6801 xxxxxxxxxx101001xxxxx1xx011100xx
6802 mla. */
6803 return 238;
6804 }
6805 else
6806 {
6807 /* 33222222222211111111110000000000
6808 10987654321098765432109876543210
6809 xxxxxxxxxx101001xxxxx1xx011101xx
6810 mls. */
6811 return 278;
6812 }
6813 }
6814 }
6815 else
6816 {
6817 if (((word >> 15) & 0x1) == 0)
6818 {
6819 if (((word >> 29) & 0x1) == 0)
6820 {
6821 /* 33222222222211111111110000000000
6822 10987654321098765432109876543210
6823 xxxxxxxxxx101010xxxxx1xx011100xx
6824 srshl. */
6825 return 230;
6826 }
6827 else
6828 {
6829 /* 33222222222211111111110000000000
6830 10987654321098765432109876543210
6831 xxxxxxxxxx101010xxxxx1xx011101xx
6832 urshl. */
6833 return 270;
6834 }
6835 }
6836 else
6837 {
6838 if (((word >> 23) & 0x1) == 0)
6839 {
6840 if (((word >> 29) & 0x1) == 0)
6841 {
6842 /* 33222222222211111111110000000000
6843 10987654321098765432109876543210
6844 xxxxxxxxxx101011xxxxx1x0011100xx
6845 fadd. */
6846 return 246;
6847 }
6848 else
6849 {
6850 /* 33222222222211111111110000000000
6851 10987654321098765432109876543210
6852 xxxxxxxxxx101011xxxxx1x0011101xx
6853 faddp. */
6854 return 284;
6855 }
6856 }
6857 else
6858 {
6859 if (((word >> 29) & 0x1) == 0)
6860 {
6861 /* 33222222222211111111110000000000
6862 10987654321098765432109876543210
6863 xxxxxxxxxx101011xxxxx1x1011100xx
6864 fsub. */
6865 return 255;
6866 }
6867 else
6868 {
6869 /* 33222222222211111111110000000000
6870 10987654321098765432109876543210
6871 xxxxxxxxxx101011xxxxx1x1011101xx
6872 fabd. */
6873 return 293;
6874 }
6875 }
6876 }
6877 }
6878 }
6879 else
6880 {
6881 if (((word >> 14) & 0x1) == 0)
6882 {
6883 if (((word >> 15) & 0x1) == 0)
6884 {
6885 if (((word >> 29) & 0x1) == 0)
6886 {
6887 /* 33222222222211111111110000000000
6888 10987654321098765432109876543210
6889 xxxxxxxxxx101100xxxxx1xx011100xx
6890 cmgt. */
6891 return 226;
6892 }
6893 else
6894 {
6895 /* 33222222222211111111110000000000
6896 10987654321098765432109876543210
6897 xxxxxxxxxx101100xxxxx1xx011101xx
6898 cmhi. */
6899 return 266;
6900 }
6901 }
6902 else
6903 {
6904 if (((word >> 29) & 0x1) == 0)
6905 {
6906 /* 33222222222211111111110000000000
6907 10987654321098765432109876543210
6908 xxxxxxxxxx101101xxxxx1xx011100xx
6909 sqdmulh. */
6910 return 242;
6911 }
6912 else
6913 {
6914 /* 33222222222211111111110000000000
6915 10987654321098765432109876543210
6916 xxxxxxxxxx101101xxxxx1xx011101xx
6917 sqrdmulh. */
6918 return 282;
6919 }
6920 }
6921 }
6922 else
6923 {
6924 if (((word >> 15) & 0x1) == 0)
6925 {
6926 if (((word >> 29) & 0x1) == 0)
6927 {
6928 /* 33222222222211111111110000000000
6929 10987654321098765432109876543210
6930 xxxxxxxxxx101110xxxxx1xx011100xx
6931 sabd. */
6932 return 234;
6933 }
6934 else
6935 {
6936 /* 33222222222211111111110000000000
6937 10987654321098765432109876543210
6938 xxxxxxxxxx101110xxxxx1xx011101xx
6939 uabd. */
6940 return 274;
6941 }
6942 }
6943 else
6944 {
6945 if (((word >> 23) & 0x1) == 0)
6946 {
6947 if (((word >> 29) & 0x1) == 0)
6948 {
6949 /* 33222222222211111111110000000000
6950 10987654321098765432109876543210
6951 xxxxxxxxxx101111xxxxx1x0011100xx
6952 fmax. */
6953 return 249;
6954 }
6955 else
6956 {
6957 /* 33222222222211111111110000000000
6958 10987654321098765432109876543210
6959 xxxxxxxxxx101111xxxxx1x0011101xx
6960 fmaxp. */
6961 return 288;
6962 }
6963 }
6964 else
6965 {
6966 if (((word >> 29) & 0x1) == 0)
6967 {
6968 /* 33222222222211111111110000000000
6969 10987654321098765432109876543210
6970 xxxxxxxxxx101111xxxxx1x1011100xx
6971 fmin. */
6972 return 256;
6973 }
6974 else
6975 {
6976 /* 33222222222211111111110000000000
6977 10987654321098765432109876543210
6978 xxxxxxxxxx101111xxxxx1x1011101xx
6979 fminp. */
6980 return 296;
6981 }
6982 }
6983 }
6984 }
6985 }
6986 }
6987 }
6988 else
6989 {
6990 if (((word >> 29) & 0x1) == 0)
6991 {
6992 if (((word >> 30) & 0x1) == 0)
6993 {
6994 if (((word >> 4) & 0x1) == 0)
6995 {
6996 /* 33222222222211111111110000000000
6997 10987654321098765432109876543210
6998 xxxx0xxxxx10xxxxxxxxx1xx0111100x
6999 fccmp. */
7000 return 616;
7001 }
7002 else
7003 {
7004 /* 33222222222211111111110000000000
7005 10987654321098765432109876543210
7006 xxxx1xxxxx10xxxxxxxxx1xx0111100x
7007 fccmpe. */
7008 return 617;
7009 }
7010 }
7011 else
7012 {
7013 if (((word >> 12) & 0x1) == 0)
7014 {
7015 if (((word >> 13) & 0x1) == 0)
7016 {
7017 if (((word >> 14) & 0x1) == 0)
7018 {
7019 /* 33222222222211111111110000000000
7020 10987654321098765432109876543210
7021 xxxxxxxxxx10000xxxxxx1xx0111101x
7022 add. */
7023 return 451;
7024 }
7025 else
7026 {
7027 /* 33222222222211111111110000000000
7028 10987654321098765432109876543210
7029 xxxxxxxxxx10001xxxxxx1xx0111101x
7030 sshl. */
7031 return 449;
7032 }
7033 }
7034 else
7035 {
7036 /* 33222222222211111111110000000000
7037 10987654321098765432109876543210
7038 xxxxxxxxxx1001xxxxxxx1xx0111101x
7039 fcmeq. */
7040 return 444;
7041 }
7042 }
7043 else
7044 {
7045 if (((word >> 13) & 0x1) == 0)
7046 {
7047 /* 33222222222211111111110000000000
7048 10987654321098765432109876543210
7049 xxxxxxxxxx1010xxxxxxx1xx0111101x
7050 srshl. */
7051 return 450;
7052 }
7053 else
7054 {
7055 if (((word >> 15) & 0x1) == 0)
7056 {
7057 /* 33222222222211111111110000000000
7058 10987654321098765432109876543210
7059 xxxxxxxxxx1011x0xxxxx1xx0111101x
7060 cmgt. */
7061 return 447;
7062 }
7063 else
7064 {
7065 /* 33222222222211111111110000000000
7066 10987654321098765432109876543210
7067 xxxxxxxxxx1011x1xxxxx1xx0111101x
7068 sqdmulh. */
7069 return 442;
7070 }
7071 }
7072 }
7073 }
7074 }
7075 else
7076 {
7077 if (((word >> 12) & 0x1) == 0)
7078 {
7079 if (((word >> 13) & 0x1) == 0)
7080 {
7081 if (((word >> 14) & 0x1) == 0)
7082 {
7083 /* 33222222222211111111110000000000
7084 10987654321098765432109876543210
7085 xxxxxxxxxx10000xxxxxx1xx011111xx
7086 sub. */
7087 return 467;
7088 }
7089 else
7090 {
7091 /* 33222222222211111111110000000000
7092 10987654321098765432109876543210
7093 xxxxxxxxxx10001xxxxxx1xx011111xx
7094 ushl. */
7095 return 465;
7096 }
7097 }
7098 else
7099 {
7100 if (((word >> 23) & 0x1) == 0)
7101 {
7102 /* 33222222222211111111110000000000
7103 10987654321098765432109876543210
7104 xxxxxxxxxx1001xxxxxxx1x0011111xx
7105 fcmge. */
7106 return 458;
7107 }
7108 else
7109 {
7110 /* 33222222222211111111110000000000
7111 10987654321098765432109876543210
7112 xxxxxxxxxx1001xxxxxxx1x1011111xx
7113 fcmgt. */
7114 return 461;
7115 }
7116 }
7117 }
7118 else
7119 {
7120 if (((word >> 13) & 0x1) == 0)
7121 {
7122 if (((word >> 15) & 0x1) == 0)
7123 {
7124 /* 33222222222211111111110000000000
7125 10987654321098765432109876543210
7126 xxxxxxxxxx1010x0xxxxx1xx011111xx
7127 urshl. */
7128 return 466;
7129 }
7130 else
7131 {
7132 /* 33222222222211111111110000000000
7133 10987654321098765432109876543210
7134 xxxxxxxxxx1010x1xxxxx1xx011111xx
7135 fabd. */
7136 return 460;
7137 }
7138 }
7139 else
7140 {
7141 if (((word >> 15) & 0x1) == 0)
7142 {
7143 /* 33222222222211111111110000000000
7144 10987654321098765432109876543210
7145 xxxxxxxxxx1011x0xxxxx1xx011111xx
7146 cmhi. */
7147 return 463;
7148 }
7149 else
7150 {
7151 /* 33222222222211111111110000000000
7152 10987654321098765432109876543210
7153 xxxxxxxxxx1011x1xxxxx1xx011111xx
7154 sqrdmulh. */
7155 return 457;
7156 }
7157 }
7158 }
7159 }
7160 }
7161 }
7162 else
7163 {
7164 if (((word >> 28) & 0x1) == 0)
7165 {
7166 if (((word >> 12) & 0x1) == 0)
7167 {
7168 if (((word >> 13) & 0x1) == 0)
7169 {
7170 if (((word >> 14) & 0x1) == 0)
7171 {
7172 if (((word >> 15) & 0x1) == 0)
7173 {
7174 if (((word >> 29) & 0x1) == 0)
7175 {
7176 /* 33222222222211111111110000000000
7177 10987654321098765432109876543210
7178 xxxxxxxxxx110000xxxxx1xx011100xx
7179 sqadd. */
7180 return 222;
7181 }
7182 else
7183 {
7184 /* 33222222222211111111110000000000
7185 10987654321098765432109876543210
7186 xxxxxxxxxx110000xxxxx1xx011101xx
7187 uqadd. */
7188 return 262;
7189 }
7190 }
7191 else
7192 {
7193 if (((word >> 29) & 0x1) == 0)
7194 {
7195 /* 33222222222211111111110000000000
7196 10987654321098765432109876543210
7197 xxxxxxxxxx110001xxxxx1xx011100xx
7198 cmtst. */
7199 return 237;
7200 }
7201 else
7202 {
7203 /* 33222222222211111111110000000000
7204 10987654321098765432109876543210
7205 xxxxxxxxxx110001xxxxx1xx011101xx
7206 cmeq. */
7207 return 277;
7208 }
7209 }
7210 }
7211 else
7212 {
7213 if (((word >> 15) & 0x1) == 0)
7214 {
7215 if (((word >> 29) & 0x1) == 0)
7216 {
7217 /* 33222222222211111111110000000000
7218 10987654321098765432109876543210
7219 xxxxxxxxxx110010xxxxx1xx011100xx
7220 sqshl. */
7221 return 229;
7222 }
7223 else
7224 {
7225 /* 33222222222211111111110000000000
7226 10987654321098765432109876543210
7227 xxxxxxxxxx110010xxxxx1xx011101xx
7228 uqshl. */
7229 return 269;
7230 }
7231 }
7232 else
7233 {
7234 if (((word >> 23) & 0x1) == 0)
7235 {
7236 /* 33222222222211111111110000000000
7237 10987654321098765432109876543210
7238 xxxxxxxxxx110011xxxxx1x001110xxx
7239 fmla. */
7240 return 245;
7241 }
7242 else
7243 {
7244 /* 33222222222211111111110000000000
7245 10987654321098765432109876543210
7246 xxxxxxxxxx110011xxxxx1x101110xxx
7247 fmls. */
7248 return 254;
7249 }
7250 }
7251 }
7252 }
7253 else
7254 {
7255 if (((word >> 14) & 0x1) == 0)
7256 {
7257 if (((word >> 15) & 0x1) == 0)
7258 {
7259 if (((word >> 29) & 0x1) == 0)
7260 {
7261 /* 33222222222211111111110000000000
7262 10987654321098765432109876543210
7263 xxxxxxxxxx110100xxxxx1xx011100xx
7264 sqsub. */
7265 return 225;
7266 }
7267 else
7268 {
7269 /* 33222222222211111111110000000000
7270 10987654321098765432109876543210
7271 xxxxxxxxxx110100xxxxx1xx011101xx
7272 uqsub. */
7273 return 265;
7274 }
7275 }
7276 else
7277 {
7278 if (((word >> 29) & 0x1) == 0)
7279 {
7280 /* 33222222222211111111110000000000
7281 10987654321098765432109876543210
7282 xxxxxxxxxx110101xxxxx1xx011100xx
7283 sminp. */
7284 return 241;
7285 }
7286 else
7287 {
7288 /* 33222222222211111111110000000000
7289 10987654321098765432109876543210
7290 xxxxxxxxxx110101xxxxx1xx011101xx
7291 uminp. */
7292 return 281;
7293 }
7294 }
7295 }
7296 else
7297 {
7298 if (((word >> 15) & 0x1) == 0)
7299 {
7300 if (((word >> 29) & 0x1) == 0)
7301 {
7302 /* 33222222222211111111110000000000
7303 10987654321098765432109876543210
7304 xxxxxxxxxx110110xxxxx1xx011100xx
7305 smin. */
7306 return 233;
7307 }
7308 else
7309 {
7310 /* 33222222222211111111110000000000
7311 10987654321098765432109876543210
7312 xxxxxxxxxx110110xxxxx1xx011101xx
7313 umin. */
7314 return 273;
7315 }
7316 }
7317 else
7318 {
7319 if (((word >> 23) & 0x1) == 0)
7320 {
7321 /* 33222222222211111111110000000000
7322 10987654321098765432109876543210
7323 xxxxxxxxxx110111xxxxx1x001110xxx
7324 facge. */
7325 return 287;
7326 }
7327 else
7328 {
7329 /* 33222222222211111111110000000000
7330 10987654321098765432109876543210
7331 xxxxxxxxxx110111xxxxx1x101110xxx
7332 facgt. */
7333 return 295;
7334 }
7335 }
7336 }
7337 }
7338 }
7339 else
7340 {
7341 if (((word >> 13) & 0x1) == 0)
7342 {
7343 if (((word >> 14) & 0x1) == 0)
7344 {
7345 if (((word >> 15) & 0x1) == 0)
7346 {
7347 if (((word >> 22) & 0x1) == 0)
7348 {
7349 if (((word >> 23) & 0x1) == 0)
7350 {
7351 if (((word >> 29) & 0x1) == 0)
7352 {
7353 /* 33222222222211111111110000000000
7354 10987654321098765432109876543210
7355 xxxxxxxxxx111000xxxxx100011100xx
7356 and. */
7357 return 251;
7358 }
7359 else
7360 {
7361 /* 33222222222211111111110000000000
7362 10987654321098765432109876543210
7363 xxxxxxxxxx111000xxxxx100011101xx
7364 eor. */
7365 return 290;
7366 }
7367 }
7368 else
7369 {
7370 if (((word >> 29) & 0x1) == 0)
7371 {
7372 /* 33222222222211111111110000000000
7373 10987654321098765432109876543210
7374 xxxxxxxxxx111000xxxxx101011100xx
7375 orr. */
7376 return 258;
7377 }
7378 else
7379 {
7380 /* 33222222222211111111110000000000
7381 10987654321098765432109876543210
7382 xxxxxxxxxx111000xxxxx101011101xx
7383 bit. */
7384 return 297;
7385 }
7386 }
7387 }
7388 else
7389 {
7390 if (((word >> 23) & 0x1) == 0)
7391 {
7392 if (((word >> 29) & 0x1) == 0)
7393 {
7394 /* 33222222222211111111110000000000
7395 10987654321098765432109876543210
7396 xxxxxxxxxx111000xxxxx110011100xx
7397 bic. */
7398 return 252;
7399 }
7400 else
7401 {
7402 /* 33222222222211111111110000000000
7403 10987654321098765432109876543210
7404 xxxxxxxxxx111000xxxxx110011101xx
7405 bsl. */
7406 return 291;
7407 }
7408 }
7409 else
7410 {
7411 if (((word >> 29) & 0x1) == 0)
7412 {
7413 /* 33222222222211111111110000000000
7414 10987654321098765432109876543210
7415 xxxxxxxxxx111000xxxxx111011100xx
7416 orn. */
7417 return 260;
7418 }
7419 else
7420 {
7421 /* 33222222222211111111110000000000
7422 10987654321098765432109876543210
7423 xxxxxxxxxx111000xxxxx111011101xx
7424 bif. */
7425 return 298;
7426 }
7427 }
7428 }
7429 }
7430 else
7431 {
7432 if (((word >> 29) & 0x1) == 0)
7433 {
7434 /* 33222222222211111111110000000000
7435 10987654321098765432109876543210
7436 xxxxxxxxxx111001xxxxx1xx011100xx
7437 mul. */
7438 return 239;
7439 }
7440 else
7441 {
7442 /* 33222222222211111111110000000000
7443 10987654321098765432109876543210
7444 xxxxxxxxxx111001xxxxx1xx011101xx
7445 pmul. */
7446 return 279;
7447 }
7448 }
7449 }
7450 else
7451 {
7452 if (((word >> 15) & 0x1) == 0)
7453 {
7454 if (((word >> 29) & 0x1) == 0)
7455 {
7456 /* 33222222222211111111110000000000
7457 10987654321098765432109876543210
7458 xxxxxxxxxx111010xxxxx1xx011100xx
7459 sqrshl. */
7460 return 231;
7461 }
7462 else
7463 {
7464 /* 33222222222211111111110000000000
7465 10987654321098765432109876543210
7466 xxxxxxxxxx111010xxxxx1xx011101xx
7467 uqrshl. */
7468 return 271;
7469 }
7470 }
7471 else
7472 {
7473 if (((word >> 29) & 0x1) == 0)
7474 {
7475 /* 33222222222211111111110000000000
7476 10987654321098765432109876543210
7477 xxxxxxxxxx111011xxxxx1xx011100xx
7478 fmulx. */
7479 return 247;
7480 }
7481 else
7482 {
7483 /* 33222222222211111111110000000000
7484 10987654321098765432109876543210
7485 xxxxxxxxxx111011xxxxx1xx011101xx
7486 fmul. */
7487 return 285;
7488 }
7489 }
7490 }
7491 }
7492 else
7493 {
7494 if (((word >> 14) & 0x1) == 0)
7495 {
7496 if (((word >> 15) & 0x1) == 0)
7497 {
7498 if (((word >> 29) & 0x1) == 0)
7499 {
7500 /* 33222222222211111111110000000000
7501 10987654321098765432109876543210
7502 xxxxxxxxxx111100xxxxx1xx011100xx
7503 cmge. */
7504 return 227;
7505 }
7506 else
7507 {
7508 /* 33222222222211111111110000000000
7509 10987654321098765432109876543210
7510 xxxxxxxxxx111100xxxxx1xx011101xx
7511 cmhs. */
7512 return 267;
7513 }
7514 }
7515 else
7516 {
7517 /* 33222222222211111111110000000000
7518 10987654321098765432109876543210
7519 xxxxxxxxxx111101xxxxx1xx01110xxx
7520 addp. */
7521 return 243;
7522 }
7523 }
7524 else
7525 {
7526 if (((word >> 15) & 0x1) == 0)
7527 {
7528 if (((word >> 29) & 0x1) == 0)
7529 {
7530 /* 33222222222211111111110000000000
7531 10987654321098765432109876543210
7532 xxxxxxxxxx111110xxxxx1xx011100xx
7533 saba. */
7534 return 235;
7535 }
7536 else
7537 {
7538 /* 33222222222211111111110000000000
7539 10987654321098765432109876543210
7540 xxxxxxxxxx111110xxxxx1xx011101xx
7541 uaba. */
7542 return 275;
7543 }
7544 }
7545 else
7546 {
7547 if (((word >> 23) & 0x1) == 0)
7548 {
7549 if (((word >> 29) & 0x1) == 0)
7550 {
7551 /* 33222222222211111111110000000000
7552 10987654321098765432109876543210
7553 xxxxxxxxxx111111xxxxx1x0011100xx
7554 frecps. */
7555 return 250;
7556 }
7557 else
7558 {
7559 /* 33222222222211111111110000000000
7560 10987654321098765432109876543210
7561 xxxxxxxxxx111111xxxxx1x0011101xx
7562 fdiv. */
7563 return 289;
7564 }
7565 }
7566 else
7567 {
7568 /* 33222222222211111111110000000000
7569 10987654321098765432109876543210
7570 xxxxxxxxxx111111xxxxx1x101110xxx
7571 frsqrts. */
7572 return 257;
7573 }
7574 }
7575 }
7576 }
7577 }
7578 }
7579 else
7580 {
7581 if (((word >> 29) & 0x1) == 0)
7582 {
7583 if (((word >> 30) & 0x1) == 0)
7584 {
7585 /* 33222222222211111111110000000000
7586 10987654321098765432109876543210
7587 xxxxxxxxxx11xxxxxxxxx1xx0111100x
7588 fcsel. */
7589 return 648;
7590 }
7591 else
7592 {
7593 if (((word >> 12) & 0x1) == 0)
7594 {
7595 if (((word >> 13) & 0x1) == 0)
7596 {
7597 if (((word >> 14) & 0x1) == 0)
7598 {
7599 if (((word >> 15) & 0x1) == 0)
7600 {
7601 /* 33222222222211111111110000000000
7602 10987654321098765432109876543210
7603 xxxxxxxxxx110000xxxxx1xx0111101x
7604 sqadd. */
7605 return 438;
7606 }
7607 else
7608 {
7609 /* 33222222222211111111110000000000
7610 10987654321098765432109876543210
7611 xxxxxxxxxx110001xxxxx1xx0111101x
7612 cmtst. */
7613 return 452;
7614 }
7615 }
7616 else
7617 {
7618 /* 33222222222211111111110000000000
7619 10987654321098765432109876543210
7620 xxxxxxxxxx11001xxxxxx1xx0111101x
7621 sqshl. */
7622 return 440;
7623 }
7624 }
7625 else
7626 {
7627 /* 33222222222211111111110000000000
7628 10987654321098765432109876543210
7629 xxxxxxxxxx1101xxxxxxx1xx0111101x
7630 sqsub. */
7631 return 439;
7632 }
7633 }
7634 else
7635 {
7636 if (((word >> 13) & 0x1) == 0)
7637 {
7638 if (((word >> 15) & 0x1) == 0)
7639 {
7640 /* 33222222222211111111110000000000
7641 10987654321098765432109876543210
7642 xxxxxxxxxx1110x0xxxxx1xx0111101x
7643 sqrshl. */
7644 return 441;
7645 }
7646 else
7647 {
7648 /* 33222222222211111111110000000000
7649 10987654321098765432109876543210
7650 xxxxxxxxxx1110x1xxxxx1xx0111101x
7651 fmulx. */
7652 return 443;
7653 }
7654 }
7655 else
7656 {
7657 if (((word >> 14) & 0x1) == 0)
7658 {
7659 /* 33222222222211111111110000000000
7660 10987654321098765432109876543210
7661 xxxxxxxxxx11110xxxxxx1xx0111101x
7662 cmge. */
7663 return 448;
7664 }
7665 else
7666 {
7667 if (((word >> 23) & 0x1) == 0)
7668 {
7669 /* 33222222222211111111110000000000
7670 10987654321098765432109876543210
7671 xxxxxxxxxx11111xxxxxx1x00111101x
7672 frecps. */
7673 return 445;
7674 }
7675 else
7676 {
7677 /* 33222222222211111111110000000000
7678 10987654321098765432109876543210
7679 xxxxxxxxxx11111xxxxxx1x10111101x
7680 frsqrts. */
7681 return 446;
7682 }
7683 }
7684 }
7685 }
7686 }
7687 }
7688 else
7689 {
7690 if (((word >> 12) & 0x1) == 0)
7691 {
7692 if (((word >> 13) & 0x1) == 0)
7693 {
7694 if (((word >> 14) & 0x1) == 0)
7695 {
7696 if (((word >> 15) & 0x1) == 0)
7697 {
7698 /* 33222222222211111111110000000000
7699 10987654321098765432109876543210
7700 xxxxxxxxxx110000xxxxx1xx011111xx
7701 uqadd. */
7702 return 453;
7703 }
7704 else
7705 {
7706 /* 33222222222211111111110000000000
7707 10987654321098765432109876543210
7708 xxxxxxxxxx110001xxxxx1xx011111xx
7709 cmeq. */
7710 return 468;
7711 }
7712 }
7713 else
7714 {
7715 /* 33222222222211111111110000000000
7716 10987654321098765432109876543210
7717 xxxxxxxxxx11001xxxxxx1xx011111xx
7718 uqshl. */
7719 return 455;
7720 }
7721 }
7722 else
7723 {
7724 if (((word >> 14) & 0x1) == 0)
7725 {
7726 /* 33222222222211111111110000000000
7727 10987654321098765432109876543210
7728 xxxxxxxxxx11010xxxxxx1xx011111xx
7729 uqsub. */
7730 return 454;
7731 }
7732 else
7733 {
7734 if (((word >> 23) & 0x1) == 0)
7735 {
7736 /* 33222222222211111111110000000000
7737 10987654321098765432109876543210
7738 xxxxxxxxxx11011xxxxxx1x0011111xx
7739 facge. */
7740 return 459;
7741 }
7742 else
7743 {
7744 /* 33222222222211111111110000000000
7745 10987654321098765432109876543210
7746 xxxxxxxxxx11011xxxxxx1x1011111xx
7747 facgt. */
7748 return 462;
7749 }
7750 }
7751 }
7752 }
7753 else
7754 {
7755 if (((word >> 13) & 0x1) == 0)
7756 {
7757 /* 33222222222211111111110000000000
7758 10987654321098765432109876543210
7759 xxxxxxxxxx1110xxxxxxx1xx011111xx
7760 uqrshl. */
7761 return 456;
7762 }
7763 else
7764 {
7765 /* 33222222222211111111110000000000
7766 10987654321098765432109876543210
7767 xxxxxxxxxx1111xxxxxxx1xx011111xx
7768 cmhs. */
7769 return 464;
7770 }
7771 }
7772 }
7773 }
7774 }
7775 }
7776 }
7777 }
7778 else
7779 {
7780 if (((word >> 15) & 0x1) == 0)
7781 {
7782 if (((word >> 28) & 0x1) == 0)
7783 {
7784 if (((word >> 10) & 0x1) == 0)
7785 {
7786 if (((word >> 12) & 0x1) == 0)
7787 {
7788 if (((word >> 13) & 0x1) == 0)
7789 {
7790 if (((word >> 14) & 0x1) == 0)
7791 {
7792 /* 33222222222211111111110000000000
7793 10987654321098765432109876543210
7794 xxxxxxxxxx0x0000xxxxxxxx11110xxx
7795 mla. */
7796 return 110;
7797 }
7798 else
7799 {
7800 /* 33222222222211111111110000000000
7801 10987654321098765432109876543210
7802 xxxxxxxxxx0x0010xxxxxxxx11110xxx
7803 mls. */
7804 return 113;
7805 }
7806 }
7807 else
7808 {
7809 if (((word >> 14) & 0x1) == 0)
7810 {
7811 if (((word >> 29) & 0x1) == 0)
7812 {
7813 if (((word >> 30) & 0x1) == 0)
7814 {
7815 /* 33222222222211111111110000000000
7816 10987654321098765432109876543210
7817 xxxxxxxxxx0x0100xxxxxxxx1111000x
7818 smlal. */
7819 return 92;
7820 }
7821 else
7822 {
7823 /* 33222222222211111111110000000000
7824 10987654321098765432109876543210
7825 xxxxxxxxxx0x0100xxxxxxxx1111001x
7826 smlal2. */
7827 return 93;
7828 }
7829 }
7830 else
7831 {
7832 if (((word >> 30) & 0x1) == 0)
7833 {
7834 /* 33222222222211111111110000000000
7835 10987654321098765432109876543210
7836 xxxxxxxxxx0x0100xxxxxxxx1111010x
7837 umlal. */
7838 return 111;
7839 }
7840 else
7841 {
7842 /* 33222222222211111111110000000000
7843 10987654321098765432109876543210
7844 xxxxxxxxxx0x0100xxxxxxxx1111011x
7845 umlal2. */
7846 return 112;
7847 }
7848 }
7849 }
7850 else
7851 {
7852 if (((word >> 29) & 0x1) == 0)
7853 {
7854 if (((word >> 30) & 0x1) == 0)
7855 {
7856 /* 33222222222211111111110000000000
7857 10987654321098765432109876543210
7858 xxxxxxxxxx0x0110xxxxxxxx1111000x
7859 smlsl. */
7860 return 96;
7861 }
7862 else
7863 {
7864 /* 33222222222211111111110000000000
7865 10987654321098765432109876543210
7866 xxxxxxxxxx0x0110xxxxxxxx1111001x
7867 smlsl2. */
7868 return 97;
7869 }
7870 }
7871 else
7872 {
7873 if (((word >> 30) & 0x1) == 0)
7874 {
7875 /* 33222222222211111111110000000000
7876 10987654321098765432109876543210
7877 xxxxxxxxxx0x0110xxxxxxxx1111010x
7878 umlsl. */
7879 return 114;
7880 }
7881 else
7882 {
7883 /* 33222222222211111111110000000000
7884 10987654321098765432109876543210
7885 xxxxxxxxxx0x0110xxxxxxxx1111011x
7886 umlsl2. */
7887 return 115;
7888 }
7889 }
7890 }
7891 }
7892 }
7893 else
7894 {
7895 if (((word >> 13) & 0x1) == 0)
7896 {
7897 if (((word >> 14) & 0x1) == 0)
7898 {
7899 /* 33222222222211111111110000000000
7900 10987654321098765432109876543210
7901 xxxxxxxxxx0x1000xxxxxxxx11110xxx
7902 fmla. */
7903 return 107;
7904 }
7905 else
7906 {
7907 /* 33222222222211111111110000000000
7908 10987654321098765432109876543210
7909 xxxxxxxxxx0x1010xxxxxxxx11110xxx
7910 fmls. */
7911 return 108;
7912 }
7913 }
7914 else
7915 {
7916 if (((word >> 14) & 0x1) == 0)
7917 {
7918 if (((word >> 30) & 0x1) == 0)
7919 {
7920 /* 33222222222211111111110000000000
7921 10987654321098765432109876543210
7922 xxxxxxxxxx0x1100xxxxxxxx11110x0x
7923 sqdmlal. */
7924 return 94;
7925 }
7926 else
7927 {
7928 /* 33222222222211111111110000000000
7929 10987654321098765432109876543210
7930 xxxxxxxxxx0x1100xxxxxxxx11110x1x
7931 sqdmlal2. */
7932 return 95;
7933 }
7934 }
7935 else
7936 {
7937 if (((word >> 30) & 0x1) == 0)
7938 {
7939 /* 33222222222211111111110000000000
7940 10987654321098765432109876543210
7941 xxxxxxxxxx0x1110xxxxxxxx11110x0x
7942 sqdmlsl. */
7943 return 98;
7944 }
7945 else
7946 {
7947 /* 33222222222211111111110000000000
7948 10987654321098765432109876543210
7949 xxxxxxxxxx0x1110xxxxxxxx11110x1x
7950 sqdmlsl2. */
7951 return 99;
7952 }
7953 }
7954 }
7955 }
7956 }
7957 else
7958 {
7959 if (((word >> 12) & 0x1) == 0)
7960 {
7961 if (((word >> 29) & 0x1) == 0)
7962 {
7963 /* 33222222222211111111110000000000
7964 10987654321098765432109876543210
7965 xxxxxxxxxx1x0xx0xxxxxxxx111100xx
7966 movi. */
7967 return 120;
7968 }
7969 else
7970 {
7971 /* 33222222222211111111110000000000
7972 10987654321098765432109876543210
7973 xxxxxxxxxx1x0xx0xxxxxxxx111101xx
7974 mvni. */
7975 return 127;
7976 }
7977 }
7978 else
7979 {
7980 if (((word >> 29) & 0x1) == 0)
7981 {
7982 /* 33222222222211111111110000000000
7983 10987654321098765432109876543210
7984 xxxxxxxxxx1x1xx0xxxxxxxx111100xx
7985 orr. */
7986 return 121;
7987 }
7988 else
7989 {
7990 /* 33222222222211111111110000000000
7991 10987654321098765432109876543210
7992 xxxxxxxxxx1x1xx0xxxxxxxx111101xx
7993 bic. */
7994 return 128;
7995 }
7996 }
7997 }
7998 }
7999 else
8000 {
8001 if (((word >> 29) & 0x1) == 0)
8002 {
8003 if (((word >> 30) & 0x1) == 0)
8004 {
8005 if (((word >> 21) & 0x1) == 0)
8006 {
8007 /* 33222222222211111111110000000000
8008 10987654321098765432109876543210
8009 xxxxxxxxxxxxxxx0xxxxx0xx1111100x
8010 fmadd. */
8011 return 643;
8012 }
8013 else
8014 {
8015 /* 33222222222211111111110000000000
8016 10987654321098765432109876543210
8017 xxxxxxxxxxxxxxx0xxxxx1xx1111100x
8018 fnmadd. */
8019 return 645;
8020 }
8021 }
8022 else
8023 {
8024 if (((word >> 10) & 0x1) == 0)
8025 {
8026 if (((word >> 13) & 0x1) == 0)
8027 {
8028 if (((word >> 14) & 0x1) == 0)
8029 {
8030 /* 33222222222211111111110000000000
8031 10987654321098765432109876543210
8032 xxxxxxxxxx0xx000xxxxxxxx1111101x
8033 fmla. */
8034 return 351;
8035 }
8036 else
8037 {
8038 /* 33222222222211111111110000000000
8039 10987654321098765432109876543210
8040 xxxxxxxxxx0xx010xxxxxxxx1111101x
8041 fmls. */
8042 return 352;
8043 }
8044 }
8045 else
8046 {
8047 if (((word >> 14) & 0x1) == 0)
8048 {
8049 /* 33222222222211111111110000000000
8050 10987654321098765432109876543210
8051 xxxxxxxxxx0xx100xxxxxxxx1111101x
8052 sqdmlal. */
8053 return 346;
8054 }
8055 else
8056 {
8057 /* 33222222222211111111110000000000
8058 10987654321098765432109876543210
8059 xxxxxxxxxx0xx110xxxxxxxx1111101x
8060 sqdmlsl. */
8061 return 347;
8062 }
8063 }
8064 }
8065 else
8066 {
8067 if (((word >> 12) & 0x1) == 0)
8068 {
8069 if (((word >> 13) & 0x1) == 0)
8070 {
8071 /* 33222222222211111111110000000000
8072 10987654321098765432109876543210
8073 xxxxxxxxxx1x00x0xxxxxxxx1111101x
8074 sshr. */
8075 return 469;
8076 }
8077 else
8078 {
8079 /* 33222222222211111111110000000000
8080 10987654321098765432109876543210
8081 xxxxxxxxxx1x01x0xxxxxxxx1111101x
8082 srshr. */
8083 return 471;
8084 }
8085 }
8086 else
8087 {
8088 if (((word >> 13) & 0x1) == 0)
8089 {
8090 if (((word >> 14) & 0x1) == 0)
8091 {
8092 /* 33222222222211111111110000000000
8093 10987654321098765432109876543210
8094 xxxxxxxxxx1x1000xxxxxxxx1111101x
8095 ssra. */
8096 return 470;
8097 }
8098 else
8099 {
8100 /* 33222222222211111111110000000000
8101 10987654321098765432109876543210
8102 xxxxxxxxxx1x1010xxxxxxxx1111101x
8103 shl. */
8104 return 473;
8105 }
8106 }
8107 else
8108 {
8109 if (((word >> 14) & 0x1) == 0)
8110 {
8111 /* 33222222222211111111110000000000
8112 10987654321098765432109876543210
8113 xxxxxxxxxx1x1100xxxxxxxx1111101x
8114 srsra. */
8115 return 472;
8116 }
8117 else
8118 {
8119 /* 33222222222211111111110000000000
8120 10987654321098765432109876543210
8121 xxxxxxxxxx1x1110xxxxxxxx1111101x
8122 sqshl. */
8123 return 474;
8124 }
8125 }
8126 }
8127 }
8128 }
8129 }
8130 else
8131 {
8132 if (((word >> 12) & 0x1) == 0)
8133 {
8134 if (((word >> 13) & 0x1) == 0)
8135 {
8136 if (((word >> 14) & 0x1) == 0)
8137 {
8138 /* 33222222222211111111110000000000
8139 10987654321098765432109876543210
8140 xxxxxxxxxxxx0000xxxxxxxx111111xx
8141 ushr. */
8142 return 479;
8143 }
8144 else
8145 {
8146 /* 33222222222211111111110000000000
8147 10987654321098765432109876543210
8148 xxxxxxxxxxxx0010xxxxxxxx111111xx
8149 sri. */
8150 return 483;
8151 }
8152 }
8153 else
8154 {
8155 if (((word >> 14) & 0x1) == 0)
8156 {
8157 /* 33222222222211111111110000000000
8158 10987654321098765432109876543210
8159 xxxxxxxxxxxx0100xxxxxxxx111111xx
8160 urshr. */
8161 return 481;
8162 }
8163 else
8164 {
8165 /* 33222222222211111111110000000000
8166 10987654321098765432109876543210
8167 xxxxxxxxxxxx0110xxxxxxxx111111xx
8168 sqshlu. */
8169 return 485;
8170 }
8171 }
8172 }
8173 else
8174 {
8175 if (((word >> 13) & 0x1) == 0)
8176 {
8177 if (((word >> 14) & 0x1) == 0)
8178 {
8179 /* 33222222222211111111110000000000
8180 10987654321098765432109876543210
8181 xxxxxxxxxxxx1000xxxxxxxx111111xx
8182 usra. */
8183 return 480;
8184 }
8185 else
8186 {
8187 /* 33222222222211111111110000000000
8188 10987654321098765432109876543210
8189 xxxxxxxxxxxx1010xxxxxxxx111111xx
8190 sli. */
8191 return 484;
8192 }
8193 }
8194 else
8195 {
8196 if (((word >> 14) & 0x1) == 0)
8197 {
8198 /* 33222222222211111111110000000000
8199 10987654321098765432109876543210
8200 xxxxxxxxxxxx1100xxxxxxxx111111xx
8201 ursra. */
8202 return 482;
8203 }
8204 else
8205 {
8206 /* 33222222222211111111110000000000
8207 10987654321098765432109876543210
8208 xxxxxxxxxxxx1110xxxxxxxx111111xx
8209 uqshl. */
8210 return 486;
8211 }
8212 }
8213 }
8214 }
8215 }
8216 }
8217 else
8218 {
8219 if (((word >> 28) & 0x1) == 0)
8220 {
8221 if (((word >> 10) & 0x1) == 0)
8222 {
8223 if (((word >> 12) & 0x1) == 0)
8224 {
8225 if (((word >> 13) & 0x1) == 0)
8226 {
8227 if (((word >> 14) & 0x1) == 0)
8228 {
8229 /* 33222222222211111111110000000000
8230 10987654321098765432109876543210
8231 xxxxxxxxxx0x0001xxxxxxxx11110xxx
8232 mul. */
8233 return 100;
8234 }
8235 else
8236 {
8237 /* 33222222222211111111110000000000
8238 10987654321098765432109876543210
8239 xxxxxxxxxx0x0011xxxxxxxx11110xxx
8240 sqdmulh. */
8241 return 105;
8242 }
8243 }
8244 else
8245 {
8246 if (((word >> 29) & 0x1) == 0)
8247 {
8248 if (((word >> 30) & 0x1) == 0)
8249 {
8250 /* 33222222222211111111110000000000
8251 10987654321098765432109876543210
8252 xxxxxxxxxx0x01x1xxxxxxxx1111000x
8253 smull. */
8254 return 101;
8255 }
8256 else
8257 {
8258 /* 33222222222211111111110000000000
8259 10987654321098765432109876543210
8260 xxxxxxxxxx0x01x1xxxxxxxx1111001x
8261 smull2. */
8262 return 102;
8263 }
8264 }
8265 else
8266 {
8267 if (((word >> 30) & 0x1) == 0)
8268 {
8269 /* 33222222222211111111110000000000
8270 10987654321098765432109876543210
8271 xxxxxxxxxx0x01x1xxxxxxxx1111010x
8272 umull. */
8273 return 116;
8274 }
8275 else
8276 {
8277 /* 33222222222211111111110000000000
8278 10987654321098765432109876543210
8279 xxxxxxxxxx0x01x1xxxxxxxx1111011x
8280 umull2. */
8281 return 117;
8282 }
8283 }
8284 }
8285 }
8286 else
8287 {
8288 if (((word >> 13) & 0x1) == 0)
8289 {
8290 if (((word >> 14) & 0x1) == 0)
8291 {
8292 if (((word >> 29) & 0x1) == 0)
8293 {
8294 /* 33222222222211111111110000000000
8295 10987654321098765432109876543210
8296 xxxxxxxxxx0x1001xxxxxxxx111100xx
8297 fmul. */
8298 return 109;
8299 }
8300 else
8301 {
8302 /* 33222222222211111111110000000000
8303 10987654321098765432109876543210
8304 xxxxxxxxxx0x1001xxxxxxxx111101xx
8305 fmulx. */
8306 return 118;
8307 }
8308 }
8309 else
8310 {
8311 /* 33222222222211111111110000000000
8312 10987654321098765432109876543210
8313 xxxxxxxxxx0x1011xxxxxxxx11110xxx
8314 sqrdmulh. */
8315 return 106;
8316 }
8317 }
8318 else
8319 {
8320 if (((word >> 30) & 0x1) == 0)
8321 {
8322 /* 33222222222211111111110000000000
8323 10987654321098765432109876543210
8324 xxxxxxxxxx0x11x1xxxxxxxx11110x0x
8325 sqdmull. */
8326 return 103;
8327 }
8328 else
8329 {
8330 /* 33222222222211111111110000000000
8331 10987654321098765432109876543210
8332 xxxxxxxxxx0x11x1xxxxxxxx11110x1x
8333 sqdmull2. */
8334 return 104;
8335 }
8336 }
8337 }
8338 }
8339 else
8340 {
8341 if (((word >> 11) & 0x1) == 0)
8342 {
8343 if (((word >> 14) & 0x1) == 0)
8344 {
8345 if (((word >> 12) & 0x1) == 0)
8346 {
8347 if (((word >> 29) & 0x1) == 0)
8348 {
8349 /* 33222222222211111111110000000000
8350 10987654321098765432109876543210
8351 xxxxxxxxxx100x01xxxxxxxx111100xx
8352 movi. */
8353 return 122;
8354 }
8355 else
8356 {
8357 /* 33222222222211111111110000000000
8358 10987654321098765432109876543210
8359 xxxxxxxxxx100x01xxxxxxxx111101xx
8360 mvni. */
8361 return 129;
8362 }
8363 }
8364 else
8365 {
8366 if (((word >> 29) & 0x1) == 0)
8367 {
8368 /* 33222222222211111111110000000000
8369 10987654321098765432109876543210
8370 xxxxxxxxxx101x01xxxxxxxx111100xx
8371 orr. */
8372 return 123;
8373 }
8374 else
8375 {
8376 /* 33222222222211111111110000000000
8377 10987654321098765432109876543210
8378 xxxxxxxxxx101x01xxxxxxxx111101xx
8379 bic. */
8380 return 130;
8381 }
8382 }
8383 }
8384 else
8385 {
8386 if (((word >> 13) & 0x1) == 0)
8387 {
8388 if (((word >> 29) & 0x1) == 0)
8389 {
8390 /* 33222222222211111111110000000000
8391 10987654321098765432109876543210
8392 xxxxxxxxxx10x011xxxxxxxx111100xx
8393 movi. */
8394 return 124;
8395 }
8396 else
8397 {
8398 /* 33222222222211111111110000000000
8399 10987654321098765432109876543210
8400 xxxxxxxxxx10x011xxxxxxxx111101xx
8401 mvni. */
8402 return 131;
8403 }
8404 }
8405 else
8406 {
8407 if (((word >> 12) & 0x1) == 0)
8408 {
8409 if (((word >> 29) & 0x1) == 0)
8410 {
8411 /* 33222222222211111111110000000000
8412 10987654321098765432109876543210
8413 xxxxxxxxxx100111xxxxxxxx111100xx
8414 movi. */
8415 return 125;
8416 }
8417 else
8418 {
8419 /* 33222222222211111111110000000000
8420 10987654321098765432109876543210
8421 xxxxxxxxxx100111xxxxxxxx111101xx
8422 movi. */
8423 return 132;
8424 }
8425 }
8426 else
8427 {
8428 if (((word >> 29) & 0x1) == 0)
8429 {
8430 /* 33222222222211111111110000000000
8431 10987654321098765432109876543210
8432 xxxxxxxxxx101111xxxxxxxx111100xx
8433 fmov. */
8434 return 126;
8435 }
8436 else
8437 {
8438 /* 33222222222211111111110000000000
8439 10987654321098765432109876543210
8440 xxxxxxxxxx101111xxxxxxxx111101xx
8441 fmov. */
8442 return 134;
8443 }
8444 }
8445 }
8446 }
8447 }
8448 else
8449 {
8450 if (((word >> 12) & 0x1) == 0)
8451 {
8452 if (((word >> 29) & 0x1) == 0)
8453 {
8454 if (((word >> 30) & 0x1) == 0)
8455 {
8456 /* 33222222222211111111110000000000
8457 10987654321098765432109876543210
8458 xxxxxxxxxx110xx1xxxxxxxx1111000x
8459 rshrn. */
8460 return 307;
8461 }
8462 else
8463 {
8464 /* 33222222222211111111110000000000
8465 10987654321098765432109876543210
8466 xxxxxxxxxx110xx1xxxxxxxx1111001x
8467 rshrn2. */
8468 return 308;
8469 }
8470 }
8471 else
8472 {
8473 if (((word >> 30) & 0x1) == 0)
8474 {
8475 /* 33222222222211111111110000000000
8476 10987654321098765432109876543210
8477 xxxxxxxxxx110xx1xxxxxxxx1111010x
8478 sqrshrun. */
8479 return 329;
8480 }
8481 else
8482 {
8483 /* 33222222222211111111110000000000
8484 10987654321098765432109876543210
8485 xxxxxxxxxx110xx1xxxxxxxx1111011x
8486 sqrshrun2. */
8487 return 330;
8488 }
8489 }
8490 }
8491 else
8492 {
8493 if (((word >> 13) & 0x1) == 0)
8494 {
8495 if (((word >> 29) & 0x1) == 0)
8496 {
8497 if (((word >> 30) & 0x1) == 0)
8498 {
8499 /* 33222222222211111111110000000000
8500 10987654321098765432109876543210
8501 xxxxxxxxxx1110x1xxxxxxxx1111000x
8502 sqrshrn. */
8503 return 311;
8504 }
8505 else
8506 {
8507 /* 33222222222211111111110000000000
8508 10987654321098765432109876543210
8509 xxxxxxxxxx1110x1xxxxxxxx1111001x
8510 sqrshrn2. */
8511 return 312;
8512 }
8513 }
8514 else
8515 {
8516 if (((word >> 30) & 0x1) == 0)
8517 {
8518 /* 33222222222211111111110000000000
8519 10987654321098765432109876543210
8520 xxxxxxxxxx1110x1xxxxxxxx1111010x
8521 uqrshrn. */
8522 return 333;
8523 }
8524 else
8525 {
8526 /* 33222222222211111111110000000000
8527 10987654321098765432109876543210
8528 xxxxxxxxxx1110x1xxxxxxxx1111011x
8529 uqrshrn2. */
8530 return 334;
8531 }
8532 }
8533 }
8534 else
8535 {
8536 if (((word >> 29) & 0x1) == 0)
8537 {
8538 /* 33222222222211111111110000000000
8539 10987654321098765432109876543210
8540 xxxxxxxxxx1111x1xxxxxxxx111100xx
8541 fcvtzs. */
8542 return 318;
8543 }
8544 else
8545 {
8546 /* 33222222222211111111110000000000
8547 10987654321098765432109876543210
8548 xxxxxxxxxx1111x1xxxxxxxx111101xx
8549 fcvtzu. */
8550 return 340;
8551 }
8552 }
8553 }
8554 }
8555 }
8556 }
8557 else
8558 {
8559 if (((word >> 29) & 0x1) == 0)
8560 {
8561 if (((word >> 30) & 0x1) == 0)
8562 {
8563 if (((word >> 21) & 0x1) == 0)
8564 {
8565 /* 33222222222211111111110000000000
8566 10987654321098765432109876543210
8567 xxxxxxxxxxxxxxx1xxxxx0xx1111100x
8568 fmsub. */
8569 return 644;
8570 }
8571 else
8572 {
8573 /* 33222222222211111111110000000000
8574 10987654321098765432109876543210
8575 xxxxxxxxxxxxxxx1xxxxx1xx1111100x
8576 fnmsub. */
8577 return 646;
8578 }
8579 }
8580 else
8581 {
8582 if (((word >> 10) & 0x1) == 0)
8583 {
8584 if (((word >> 12) & 0x1) == 0)
8585 {
8586 /* 33222222222211111111110000000000
8587 10987654321098765432109876543210
8588 xxxxxxxxxx0x0xx1xxxxxxxx1111101x
8589 sqdmulh. */
8590 return 349;
8591 }
8592 else
8593 {
8594 if (((word >> 13) & 0x1) == 0)
8595 {
8596 if (((word >> 14) & 0x1) == 0)
8597 {
8598 /* 33222222222211111111110000000000
8599 10987654321098765432109876543210
8600 xxxxxxxxxx0x1001xxxxxxxx1111101x
8601 fmul. */
8602 return 353;
8603 }
8604 else
8605 {
8606 /* 33222222222211111111110000000000
8607 10987654321098765432109876543210
8608 xxxxxxxxxx0x1011xxxxxxxx1111101x
8609 sqrdmulh. */
8610 return 350;
8611 }
8612 }
8613 else
8614 {
8615 /* 33222222222211111111110000000000
8616 10987654321098765432109876543210
8617 xxxxxxxxxx0x11x1xxxxxxxx1111101x
8618 sqdmull. */
8619 return 348;
8620 }
8621 }
8622 }
8623 else
8624 {
8625 if (((word >> 11) & 0x1) == 0)
8626 {
8627 if (((word >> 12) & 0x1) == 0)
8628 {
8629 /* 33222222222211111111110000000000
8630 10987654321098765432109876543210
8631 xxxxxxxxxx100xx1xxxxxxxx1111101x
8632 scvtf. */
8633 return 477;
8634 }
8635 else
8636 {
8637 /* 33222222222211111111110000000000
8638 10987654321098765432109876543210
8639 xxxxxxxxxx101xx1xxxxxxxx1111101x
8640 sqshrn. */
8641 return 475;
8642 }
8643 }
8644 else
8645 {
8646 if (((word >> 13) & 0x1) == 0)
8647 {
8648 /* 33222222222211111111110000000000
8649 10987654321098765432109876543210
8650 xxxxxxxxxx11x0x1xxxxxxxx1111101x
8651 sqrshrn. */
8652 return 476;
8653 }
8654 else
8655 {
8656 /* 33222222222211111111110000000000
8657 10987654321098765432109876543210
8658 xxxxxxxxxx11x1x1xxxxxxxx1111101x
8659 fcvtzs. */
8660 return 478;
8661 }
8662 }
8663 }
8664 }
8665 }
8666 else
8667 {
8668 if (((word >> 10) & 0x1) == 0)
8669 {
8670 /* 33222222222211111111110000000000
8671 10987654321098765432109876543210
8672 xxxxxxxxxx0xxxx1xxxxxxxx111111xx
8673 fmulx. */
8674 return 354;
8675 }
8676 else
8677 {
8678 if (((word >> 11) & 0x1) == 0)
8679 {
8680 if (((word >> 12) & 0x1) == 0)
8681 {
8682 if (((word >> 13) & 0x1) == 0)
8683 {
8684 /* 33222222222211111111110000000000
8685 10987654321098765432109876543210
8686 xxxxxxxxxx1000x1xxxxxxxx111111xx
8687 sqshrun. */
8688 return 487;
8689 }
8690 else
8691 {
8692 /* 33222222222211111111110000000000
8693 10987654321098765432109876543210
8694 xxxxxxxxxx1001x1xxxxxxxx111111xx
8695 ucvtf. */
8696 return 491;
8697 }
8698 }
8699 else
8700 {
8701 /* 33222222222211111111110000000000
8702 10987654321098765432109876543210
8703 xxxxxxxxxx101xx1xxxxxxxx111111xx
8704 uqshrn. */
8705 return 489;
8706 }
8707 }
8708 else
8709 {
8710 if (((word >> 12) & 0x1) == 0)
8711 {
8712 /* 33222222222211111111110000000000
8713 10987654321098765432109876543210
8714 xxxxxxxxxx110xx1xxxxxxxx111111xx
8715 sqrshrun. */
8716 return 488;
8717 }
8718 else
8719 {
8720 if (((word >> 13) & 0x1) == 0)
8721 {
8722 /* 33222222222211111111110000000000
8723 10987654321098765432109876543210
8724 xxxxxxxxxx1110x1xxxxxxxx111111xx
8725 uqrshrn. */
8726 return 490;
8727 }
8728 else
8729 {
8730 /* 33222222222211111111110000000000
8731 10987654321098765432109876543210
8732 xxxxxxxxxx1111x1xxxxxxxx111111xx
8733 fcvtzu. */
8734 return 492;
8735 }
8736 }
8737 }
8738 }
8739 }
8740 }
8741 }
8742 }
8743 }
8744 }
8745 }
8746 }
8747
8748 /* Lookup opcode WORD in the opcode table. N.B. all alias
8749 opcodes are ignored here. */
8750
8751 const aarch64_opcode *
8752 aarch64_opcode_lookup (uint32_t word)
8753 {
8754 return aarch64_opcode_table + aarch64_opcode_lookup_1 (word);
8755 }
8756
8757 const aarch64_opcode *
8758 aarch64_find_next_opcode (const aarch64_opcode *opcode)
8759 {
8760 /* Use the index as the key to locate the next opcode. */
8761 int key = opcode - aarch64_opcode_table;
8762 int value;
8763 switch (key)
8764 {
8765 case 733: value = 737; break; /* stnp --> stp. */
8766 case 737: return NULL; /* stp --> NULL. */
8767 case 731: value = 732; break; /* stllrb --> stllrh. */
8768 case 732: return NULL; /* stllrh --> NULL. */
8769 case 734: value = 738; break; /* ldnp --> ldp. */
8770 case 738: return NULL; /* ldp --> NULL. */
8771 case 949: value = 950; break; /* msr --> hint. */
8772 case 950: value = 957; break; /* hint --> clrex. */
8773 case 957: value = 958; break; /* clrex --> dsb. */
8774 case 958: value = 959; break; /* dsb --> dmb. */
8775 case 959: value = 960; break; /* dmb --> isb. */
8776 case 960: value = 961; break; /* isb --> sys. */
8777 case 961: value = 966; break; /* sys --> msr. */
8778 case 966: return NULL; /* msr --> NULL. */
8779 case 967: value = 968; break; /* sysl --> mrs. */
8780 case 968: return NULL; /* mrs --> NULL. */
8781 case 355: value = 356; break; /* st4 --> st1. */
8782 case 356: value = 357; break; /* st1 --> st2. */
8783 case 357: value = 358; break; /* st2 --> st3. */
8784 case 358: return NULL; /* st3 --> NULL. */
8785 case 363: value = 364; break; /* st4 --> st1. */
8786 case 364: value = 365; break; /* st1 --> st2. */
8787 case 365: value = 366; break; /* st2 --> st3. */
8788 case 366: return NULL; /* st3 --> NULL. */
8789 case 359: value = 360; break; /* ld4 --> ld1. */
8790 case 360: value = 361; break; /* ld1 --> ld2. */
8791 case 361: value = 362; break; /* ld2 --> ld3. */
8792 case 362: return NULL; /* ld3 --> NULL. */
8793 case 375: value = 377; break; /* ld1 --> ld1r. */
8794 case 377: return NULL; /* ld1r --> NULL. */
8795 case 379: value = 381; break; /* ld2 --> ld2r. */
8796 case 381: return NULL; /* ld2r --> NULL. */
8797 case 376: value = 378; break; /* ld3 --> ld3r. */
8798 case 378: return NULL; /* ld3r --> NULL. */
8799 case 380: value = 382; break; /* ld4 --> ld4r. */
8800 case 382: return NULL; /* ld4r --> NULL. */
8801 case 367: value = 368; break; /* ld4 --> ld1. */
8802 case 368: value = 369; break; /* ld1 --> ld2. */
8803 case 369: value = 370; break; /* ld2 --> ld3. */
8804 case 370: return NULL; /* ld3 --> NULL. */
8805 case 387: value = 389; break; /* ld1 --> ld1r. */
8806 case 389: return NULL; /* ld1r --> NULL. */
8807 case 388: value = 390; break; /* ld3 --> ld3r. */
8808 case 390: return NULL; /* ld3r --> NULL. */
8809 case 391: value = 393; break; /* ld2 --> ld2r. */
8810 case 393: return NULL; /* ld2r --> NULL. */
8811 case 392: value = 394; break; /* ld4 --> ld4r. */
8812 case 394: return NULL; /* ld4r --> NULL. */
8813 case 120: value = 299; break; /* movi --> sshr. */
8814 case 299: value = 301; break; /* sshr --> srshr. */
8815 case 301: return NULL; /* srshr --> NULL. */
8816 case 127: value = 319; break; /* mvni --> ushr. */
8817 case 319: value = 321; break; /* ushr --> urshr. */
8818 case 321: value = 323; break; /* urshr --> sri. */
8819 case 323: value = 325; break; /* sri --> sqshlu. */
8820 case 325: return NULL; /* sqshlu --> NULL. */
8821 case 121: value = 300; break; /* orr --> ssra. */
8822 case 300: value = 302; break; /* ssra --> srsra. */
8823 case 302: value = 303; break; /* srsra --> shl. */
8824 case 303: value = 304; break; /* shl --> sqshl. */
8825 case 304: return NULL; /* sqshl --> NULL. */
8826 case 128: value = 320; break; /* bic --> usra. */
8827 case 320: value = 322; break; /* usra --> ursra. */
8828 case 322: value = 324; break; /* ursra --> sli. */
8829 case 324: value = 326; break; /* sli --> uqshl. */
8830 case 326: return NULL; /* uqshl --> NULL. */
8831 case 122: value = 305; break; /* movi --> shrn. */
8832 case 305: value = 306; break; /* shrn --> shrn2. */
8833 case 306: value = 313; break; /* shrn2 --> sshll. */
8834 case 313: value = 315; break; /* sshll --> sshll2. */
8835 case 315: return NULL; /* sshll2 --> NULL. */
8836 case 129: value = 327; break; /* mvni --> sqshrun. */
8837 case 327: value = 328; break; /* sqshrun --> sqshrun2. */
8838 case 328: value = 335; break; /* sqshrun2 --> ushll. */
8839 case 335: value = 337; break; /* ushll --> ushll2. */
8840 case 337: return NULL; /* ushll2 --> NULL. */
8841 case 123: value = 309; break; /* orr --> sqshrn. */
8842 case 309: value = 310; break; /* sqshrn --> sqshrn2. */
8843 case 310: return NULL; /* sqshrn2 --> NULL. */
8844 case 130: value = 331; break; /* bic --> uqshrn. */
8845 case 331: value = 332; break; /* uqshrn --> uqshrn2. */
8846 case 332: return NULL; /* uqshrn2 --> NULL. */
8847 case 125: value = 317; break; /* movi --> scvtf. */
8848 case 317: return NULL; /* scvtf --> NULL. */
8849 case 132: value = 133; break; /* movi --> movi. */
8850 case 133: value = 339; break; /* movi --> ucvtf. */
8851 case 339: return NULL; /* ucvtf --> NULL. */
8852 default: return NULL;
8853 }
8854
8855 return aarch64_opcode_table + value;
8856 }
8857
8858 const aarch64_opcode *
8859 aarch64_find_alias_opcode (const aarch64_opcode *opcode)
8860 {
8861 /* Use the index as the key to locate the alias opcode. */
8862 int key = opcode - aarch64_opcode_table;
8863 int value;
8864 switch (key)
8865 {
8866 case 2: value = 3; break; /* sbc --> ngc. */
8867 case 4: value = 5; break; /* sbcs --> ngcs. */
8868 case 7: value = 8; break; /* adds --> cmn. */
8869 case 10: value = 11; break; /* subs --> cmp. */
8870 case 12: value = 13; break; /* add --> mov. */
8871 case 14: value = 15; break; /* adds --> cmn. */
8872 case 17: value = 18; break; /* subs --> cmp. */
8873 case 20: value = 21; break; /* adds --> cmn. */
8874 case 22: value = 23; break; /* sub --> neg. */
8875 case 24: value = 26; break; /* subs --> negs. */
8876 case 138: value = 139; break; /* umov --> mov. */
8877 case 140: value = 141; break; /* ins --> mov. */
8878 case 142: value = 143; break; /* ins --> mov. */
8879 case 203: value = 204; break; /* not --> mvn. */
8880 case 258: value = 259; break; /* orr --> mov. */
8881 case 313: value = 314; break; /* sshll --> sxtl. */
8882 case 315: value = 316; break; /* sshll2 --> sxtl2. */
8883 case 335: value = 336; break; /* ushll --> uxtl. */
8884 case 337: value = 338; break; /* ushll2 --> uxtl2. */
8885 case 430: value = 431; break; /* dup --> mov. */
8886 case 493: value = 498; break; /* sbfm --> sxtw. */
8887 case 500: value = 502; break; /* bfm --> bfxil. */
8888 case 503: value = 507; break; /* ubfm --> uxth. */
8889 case 525: value = 527; break; /* csinc --> cset. */
8890 case 528: value = 530; break; /* csinv --> csetm. */
8891 case 531: value = 532; break; /* csneg --> cneg. */
8892 case 556: value = 557; break; /* lslv --> lsl. */
8893 case 558: value = 559; break; /* lsrv --> lsr. */
8894 case 560: value = 561; break; /* asrv --> asr. */
8895 case 562: value = 563; break; /* rorv --> ror. */
8896 case 572: value = 573; break; /* madd --> mul. */
8897 case 574: value = 575; break; /* msub --> mneg. */
8898 case 576: value = 577; break; /* smaddl --> smull. */
8899 case 578: value = 579; break; /* smsubl --> smnegl. */
8900 case 581: value = 582; break; /* umaddl --> umull. */
8901 case 583: value = 584; break; /* umsubl --> umnegl. */
8902 case 594: value = 595; break; /* extr --> ror. */
8903 case 751: value = 752; break; /* and --> bic. */
8904 case 753: value = 754; break; /* orr --> mov. */
8905 case 756: value = 757; break; /* ands --> tst. */
8906 case 760: value = 762; break; /* orr --> uxtw. */
8907 case 763: value = 764; break; /* orn --> mvn. */
8908 case 767: value = 768; break; /* ands --> tst. */
8909 case 798: value = 894; break; /* ldaddb --> staddb. */
8910 case 799: value = 895; break; /* ldaddh --> staddh. */
8911 case 800: value = 896; break; /* ldadd --> stadd. */
8912 case 802: value = 897; break; /* ldaddlb --> staddlb. */
8913 case 805: value = 898; break; /* ldaddlh --> staddlh. */
8914 case 808: value = 899; break; /* ldaddl --> staddl. */
8915 case 810: value = 900; break; /* ldclrb --> stclrb. */
8916 case 811: value = 901; break; /* ldclrh --> stclrh. */
8917 case 812: value = 902; break; /* ldclr --> stclr. */
8918 case 814: value = 903; break; /* ldclrlb --> stclrlb. */
8919 case 817: value = 904; break; /* ldclrlh --> stclrlh. */
8920 case 820: value = 905; break; /* ldclrl --> stclrl. */
8921 case 822: value = 906; break; /* ldeorb --> steorb. */
8922 case 823: value = 907; break; /* ldeorh --> steorh. */
8923 case 824: value = 908; break; /* ldeor --> steor. */
8924 case 826: value = 909; break; /* ldeorlb --> steorlb. */
8925 case 829: value = 910; break; /* ldeorlh --> steorlh. */
8926 case 832: value = 911; break; /* ldeorl --> steorl. */
8927 case 834: value = 912; break; /* ldsetb --> stsetb. */
8928 case 835: value = 913; break; /* ldseth --> stseth. */
8929 case 836: value = 914; break; /* ldset --> stset. */
8930 case 838: value = 915; break; /* ldsetlb --> stsetlb. */
8931 case 841: value = 916; break; /* ldsetlh --> stsetlh. */
8932 case 844: value = 917; break; /* ldsetl --> stsetl. */
8933 case 846: value = 918; break; /* ldsmaxb --> stsmaxb. */
8934 case 847: value = 919; break; /* ldsmaxh --> stsmaxh. */
8935 case 848: value = 920; break; /* ldsmax --> stsmax. */
8936 case 850: value = 921; break; /* ldsmaxlb --> stsmaxlb. */
8937 case 853: value = 922; break; /* ldsmaxlh --> stsmaxlh. */
8938 case 856: value = 923; break; /* ldsmaxl --> stsmaxl. */
8939 case 858: value = 924; break; /* ldsminb --> stsminb. */
8940 case 859: value = 925; break; /* ldsminh --> stsminh. */
8941 case 860: value = 926; break; /* ldsmin --> stsmin. */
8942 case 862: value = 927; break; /* ldsminlb --> stsminlb. */
8943 case 865: value = 928; break; /* ldsminlh --> stsminlh. */
8944 case 868: value = 929; break; /* ldsminl --> stsminl. */
8945 case 870: value = 930; break; /* ldumaxb --> stumaxb. */
8946 case 871: value = 931; break; /* ldumaxh --> stumaxh. */
8947 case 872: value = 932; break; /* ldumax --> stumax. */
8948 case 874: value = 933; break; /* ldumaxlb --> stumaxlb. */
8949 case 877: value = 934; break; /* ldumaxlh --> stumaxlh. */
8950 case 880: value = 935; break; /* ldumaxl --> stumaxl. */
8951 case 882: value = 936; break; /* lduminb --> stuminb. */
8952 case 883: value = 937; break; /* lduminh --> stuminh. */
8953 case 884: value = 938; break; /* ldumin --> stumin. */
8954 case 886: value = 939; break; /* lduminlb --> stuminlb. */
8955 case 889: value = 940; break; /* lduminlh --> stuminlh. */
8956 case 892: value = 941; break; /* lduminl --> stuminl. */
8957 case 942: value = 943; break; /* movn --> mov. */
8958 case 944: value = 945; break; /* movz --> mov. */
8959 case 950: value = 956; break; /* hint --> sevl. */
8960 case 961: value = 965; break; /* sys --> tlbi. */
8961 default: return NULL;
8962 }
8963
8964 return aarch64_opcode_table + value;
8965 }
8966
8967 const aarch64_opcode *
8968 aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
8969 {
8970 /* Use the index as the key to locate the next opcode. */
8971 int key = opcode - aarch64_opcode_table;
8972 int value;
8973 switch (key)
8974 {
8975 case 26: value = 25; break; /* negs --> cmp. */
8976 case 498: value = 497; break; /* sxtw --> sxth. */
8977 case 497: value = 496; break; /* sxth --> sxtb. */
8978 case 496: value = 499; break; /* sxtb --> asr. */
8979 case 499: value = 495; break; /* asr --> sbfx. */
8980 case 495: value = 494; break; /* sbfx --> sbfiz. */
8981 case 502: value = 501; break; /* bfxil --> bfi. */
8982 case 507: value = 506; break; /* uxth --> uxtb. */
8983 case 506: value = 509; break; /* uxtb --> lsr. */
8984 case 509: value = 508; break; /* lsr --> lsl. */
8985 case 508: value = 505; break; /* lsl --> ubfx. */
8986 case 505: value = 504; break; /* ubfx --> ubfiz. */
8987 case 527: value = 526; break; /* cset --> cinc. */
8988 case 530: value = 529; break; /* csetm --> cinv. */
8989 case 762: value = 761; break; /* uxtw --> mov. */
8990 case 956: value = 955; break; /* sevl --> sev. */
8991 case 955: value = 954; break; /* sev --> wfi. */
8992 case 954: value = 953; break; /* wfi --> wfe. */
8993 case 953: value = 952; break; /* wfe --> yield. */
8994 case 952: value = 951; break; /* yield --> nop. */
8995 case 965: value = 964; break; /* tlbi --> ic. */
8996 case 964: value = 963; break; /* ic --> dc. */
8997 case 963: value = 962; break; /* dc --> at. */
8998 default: return NULL;
8999 }
9000
9001 return aarch64_opcode_table + value;
9002 }
9003
9004 int
9005 aarch64_extract_operand (const aarch64_operand *self,
9006 aarch64_opnd_info *info,
9007 aarch64_insn code, const aarch64_inst *inst)
9008 {
9009 /* Use the index as the key. */
9010 int key = self - aarch64_operands;
9011 switch (key)
9012 {
9013 case 1:
9014 case 2:
9015 case 3:
9016 case 4:
9017 case 5:
9018 case 6:
9019 case 7:
9020 case 9:
9021 case 10:
9022 case 14:
9023 case 15:
9024 case 16:
9025 case 17:
9026 case 19:
9027 case 20:
9028 case 21:
9029 case 22:
9030 case 23:
9031 case 24:
9032 case 25:
9033 case 26:
9034 case 27:
9035 case 35:
9036 case 36:
9037 return aarch64_ext_regno (self, info, code, inst);
9038 case 8:
9039 return aarch64_ext_regrt_sysins (self, info, code, inst);
9040 case 11:
9041 return aarch64_ext_regno_pair (self, info, code, inst);
9042 case 12:
9043 return aarch64_ext_reg_extended (self, info, code, inst);
9044 case 13:
9045 return aarch64_ext_reg_shifted (self, info, code, inst);
9046 case 18:
9047 return aarch64_ext_ft (self, info, code, inst);
9048 case 28:
9049 case 29:
9050 case 30:
9051 return aarch64_ext_reglane (self, info, code, inst);
9052 case 31:
9053 return aarch64_ext_reglist (self, info, code, inst);
9054 case 32:
9055 return aarch64_ext_ldst_reglist (self, info, code, inst);
9056 case 33:
9057 return aarch64_ext_ldst_reglist_r (self, info, code, inst);
9058 case 34:
9059 return aarch64_ext_ldst_elemlist (self, info, code, inst);
9060 case 37:
9061 case 46:
9062 case 47:
9063 case 48:
9064 case 49:
9065 case 50:
9066 case 51:
9067 case 52:
9068 case 53:
9069 case 54:
9070 case 55:
9071 case 56:
9072 case 57:
9073 case 58:
9074 case 66:
9075 case 67:
9076 case 68:
9077 case 69:
9078 case 70:
9079 return aarch64_ext_imm (self, info, code, inst);
9080 case 38:
9081 case 39:
9082 return aarch64_ext_advsimd_imm_shift (self, info, code, inst);
9083 case 40:
9084 case 41:
9085 case 42:
9086 return aarch64_ext_advsimd_imm_modified (self, info, code, inst);
9087 case 43:
9088 return aarch64_ext_shll_imm (self, info, code, inst);
9089 case 59:
9090 return aarch64_ext_limm (self, info, code, inst);
9091 case 60:
9092 return aarch64_ext_aimm (self, info, code, inst);
9093 case 61:
9094 return aarch64_ext_imm_half (self, info, code, inst);
9095 case 62:
9096 return aarch64_ext_fbits (self, info, code, inst);
9097 case 64:
9098 case 65:
9099 return aarch64_ext_cond (self, info, code, inst);
9100 case 71:
9101 case 77:
9102 return aarch64_ext_addr_simple (self, info, code, inst);
9103 case 72:
9104 return aarch64_ext_addr_regoff (self, info, code, inst);
9105 case 73:
9106 case 74:
9107 case 75:
9108 return aarch64_ext_addr_simm (self, info, code, inst);
9109 case 76:
9110 return aarch64_ext_addr_uimm12 (self, info, code, inst);
9111 case 78:
9112 return aarch64_ext_simd_addr_post (self, info, code, inst);
9113 case 79:
9114 return aarch64_ext_sysreg (self, info, code, inst);
9115 case 80:
9116 return aarch64_ext_pstatefield (self, info, code, inst);
9117 case 81:
9118 case 82:
9119 case 83:
9120 case 84:
9121 return aarch64_ext_sysins_op (self, info, code, inst);
9122 case 85:
9123 case 86:
9124 return aarch64_ext_barrier (self, info, code, inst);
9125 case 87:
9126 return aarch64_ext_prfop (self, info, code, inst);
9127 default: assert (0); abort ();
9128 }
9129 }