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