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