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