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